typebulb 0.14.0 → 0.14.1

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/index.js CHANGED
@@ -1,80 +1,80 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __cr } from 'module'; const require = __cr(import.meta.url);
3
- var _d=Object.create;var En=Object.defineProperty;var Ld=Object.getOwnPropertyDescriptor;var $d=Object.getOwnPropertyNames;var Md=Object.getPrototypeOf,Dd=Object.prototype.hasOwnProperty;var Cr=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var N=(r,e)=>()=>(r&&(e=r(r=0)),e);var v=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Bd=(r,e)=>{for(var t in e)En(r,t,{get:e[t],enumerable:!0})},qd=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of $d(e))!Dd.call(r,n)&&n!==t&&En(r,n,{get:()=>e[n],enumerable:!(s=Ld(e,n))||s.enumerable});return r};var Fd=(r,e,t)=>(t=r!=null?_d(Md(r)):{},qd(e||!r||!r.__esModule?En(t,"default",{value:r,enumerable:!0}):t,r));function ka(r){return!!r?.startsWith("typebulb")}var On,Nn,Rr=N(()=>{On={code:{path:"code.tsx",language:"typescript"},css:{path:"styles.css",language:"css"},html:{path:"index.html",language:"html"},config:{path:"config.json",language:"json"},notes:{path:"notes.md",language:"markdown"},data:{path:"data.txt",language:"text"},infer:{path:"infer.md",language:"markdown"},insight:{path:"insight.json",language:"json"}},Nn=["code","css","html","data","infer","insight","config","notes"]});function Cn(r){return r.startsWith('"')&&r.endsWith('"')?r.slice(1,-1).replace(/\\"/g,'"'):r.startsWith("'")&&r.endsWith("'")?r.slice(1,-1):r}var Ir=N(()=>{});function _r(r){try{let e=r.split(`
4
- `),t=0;if(e[t]?.trim()!=="---")return null;t++;let s=[];for(;t<e.length&&e[t]?.trim()!=="---";)s.push(e[t]),t++;if(e[t]?.trim()!=="---")return null;t++;let n=Hd(s);if(!n)return null;let i=new Map;for(;t<e.length;){let a=e[t]?.trim()?.match(/^\*\*(.+)\*\*$/);if(a){let c=a[1].trim();for(t++;t<e.length&&e[t]?.trim()==="";)t++;let l=e[t]?.match(/^(`{3,})(\w*)\s*$/);if(!l){t++;continue}let f=l[1];t++;let u=[];for(;t<e.length&&!e[t]?.match(new RegExp(`^${f}\\s*$`));)u.push(e[t]),t++;t++,i.set(c,u.join(`
5
- `))}else t++}return{frontmatter:n,files:i}}catch{return null}}function Hd(r){let e={};for(let t of r){let s=t.indexOf(":");if(s===-1)continue;let n=t.slice(0,s).trim(),i=t.slice(s+1).trim();switch(n){case"format":e.format=i;break;case"name":e.name=Cn(i);break}}return!ka(e.format)||!e.name?null:e}function xa(r){let e=Object.fromEntries(Nn.map(t=>[t,r.files.get(On[t].path)||""]));return{name:r.frontmatter.name,...e}}var Ea=N(()=>{Rr();Ir()});var Aa=N(()=>{Rr();Ir()});function Ta(r){if(!r.trim())return{};try{return JSON.parse(r)}catch{return{}}}var Pa=N(()=>{});var Oa=N(()=>{});function Rn(r,e,t){let n=new RegExp(e).exec(r.slice(t));return n?t+n.index:-1}var Na=N(()=>{});function At(r,e,t){let n=new RegExp(e).exec(r.slice(t));return n?t+n.index+n[0].length-1:-1}var Ca=N(()=>{});function Lr(r,e){let t=new RegExp(e,"g"),s=r.match(t);return s?s.length:0}var Ra=N(()=>{});function Tt(r,e,t){let s=t&&t.debug||!1,n=!(t&&typeof t.nested===!1),i=t&&t.startIndex||0;s&&console.log("[xml-utils] starting findTagByName with",e," and ",t);let o=Rn(r,`<${e}[
6
- >/]`,i);if(s&&console.log("[xml-utils] start:",o),o===-1)return;let a=r.slice(o+e.length),c=At(a,"^[^<]*[ /]>",0),l=c!==-1&&a[c-1]==="/";if(s&&console.log("[xml-utils] selfClosing:",l),l===!1)if(n){let p=0,g=1,h=0;for(;(c=At(a,"[ /]"+e+">",p))!==-1;){let y=a.substring(p,c+1);if(g+=Lr(y,"<"+e+`[
7
- >]`),h+=Lr(y,"</"+e+">"),h>=g)break;p=c}}else c=At(a,"[ /]"+e+">",0);let f=o+e.length+c+1;if(s&&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 In=N(()=>{Na();Ca();Ra()});var _n=N(()=>{In()});var Ln=N(()=>{_n()});var Ia=N(()=>{Ln()});var _a=N(()=>{});var La=N(()=>{Oa();In();_n();Ia();Ln();_a()});var P=v(M=>{"use strict";var $n=Symbol.for("yaml.alias"),$a=Symbol.for("yaml.document"),$r=Symbol.for("yaml.map"),Ma=Symbol.for("yaml.pair"),Mn=Symbol.for("yaml.scalar"),Mr=Symbol.for("yaml.seq"),fe=Symbol.for("yaml.node.type"),Xd=r=>!!r&&typeof r=="object"&&r[fe]===$n,Zd=r=>!!r&&typeof r=="object"&&r[fe]===$a,ep=r=>!!r&&typeof r=="object"&&r[fe]===$r,tp=r=>!!r&&typeof r=="object"&&r[fe]===Ma,Da=r=>!!r&&typeof r=="object"&&r[fe]===Mn,rp=r=>!!r&&typeof r=="object"&&r[fe]===Mr;function Ba(r){if(r&&typeof r=="object")switch(r[fe]){case $r:case Mr:return!0}return!1}function sp(r){if(r&&typeof r=="object")switch(r[fe]){case $n:case $r:case Mn:case Mr:return!0}return!1}var np=r=>(Da(r)||Ba(r))&&!!r.anchor;M.ALIAS=$n;M.DOC=$a;M.MAP=$r;M.NODE_TYPE=fe;M.PAIR=Ma;M.SCALAR=Mn;M.SEQ=Mr;M.hasAnchor=np;M.isAlias=Xd;M.isCollection=Ba;M.isDocument=Zd;M.isMap=ep;M.isNode=sp;M.isPair=tp;M.isScalar=Da;M.isSeq=rp});var Pt=v(Dn=>{"use strict";var $=P(),K=Symbol("break visit"),qa=Symbol("skip children"),ae=Symbol("remove node");function Dr(r,e){let t=Fa(e);$.isDocument(r)?et(null,r.contents,t,Object.freeze([r]))===ae&&(r.contents=null):et(null,r,t,Object.freeze([]))}Dr.BREAK=K;Dr.SKIP=qa;Dr.REMOVE=ae;function et(r,e,t,s){let n=ja(r,e,t,s);if($.isNode(n)||$.isPair(n))return Ua(r,s,n),et(r,n,t,s);if(typeof n!="symbol"){if($.isCollection(e)){s=Object.freeze(s.concat(e));for(let i=0;i<e.items.length;++i){let o=et(i,e.items[i],t,s);if(typeof o=="number")i=o-1;else{if(o===K)return K;o===ae&&(e.items.splice(i,1),i-=1)}}}else if($.isPair(e)){s=Object.freeze(s.concat(e));let i=et("key",e.key,t,s);if(i===K)return K;i===ae&&(e.key=null);let o=et("value",e.value,t,s);if(o===K)return K;o===ae&&(e.value=null)}}return n}async function Br(r,e){let t=Fa(e);$.isDocument(r)?await tt(null,r.contents,t,Object.freeze([r]))===ae&&(r.contents=null):await tt(null,r,t,Object.freeze([]))}Br.BREAK=K;Br.SKIP=qa;Br.REMOVE=ae;async function tt(r,e,t,s){let n=await ja(r,e,t,s);if($.isNode(n)||$.isPair(n))return Ua(r,s,n),tt(r,n,t,s);if(typeof n!="symbol"){if($.isCollection(e)){s=Object.freeze(s.concat(e));for(let i=0;i<e.items.length;++i){let o=await tt(i,e.items[i],t,s);if(typeof o=="number")i=o-1;else{if(o===K)return K;o===ae&&(e.items.splice(i,1),i-=1)}}}else if($.isPair(e)){s=Object.freeze(s.concat(e));let i=await tt("key",e.key,t,s);if(i===K)return K;i===ae&&(e.key=null);let o=await tt("value",e.value,t,s);if(o===K)return K;o===ae&&(e.value=null)}}return n}function Fa(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 ja(r,e,t,s){if(typeof t=="function")return t(r,e,s);if($.isMap(e))return t.Map?.(r,e,s);if($.isSeq(e))return t.Seq?.(r,e,s);if($.isPair(e))return t.Pair?.(r,e,s);if($.isScalar(e))return t.Scalar?.(r,e,s);if($.isAlias(e))return t.Alias?.(r,e,s)}function Ua(r,e,t){let s=e[e.length-1];if($.isCollection(s))s.items[r]=t;else if($.isPair(s))r==="key"?s.key=t:s.value=t;else if($.isDocument(s))s.contents=t;else{let n=$.isAlias(s)?"alias":"scalar";throw new Error(`Cannot replace node with ${n} parent`)}}Dn.visit=Dr;Dn.visitAsync=Br});var Bn=v(Ka=>{"use strict";var Ja=P(),ip=Pt(),op={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},ap=r=>r.replace(/[!,[\]{}]/g,e=>op[e]),Ot=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 s=e.trim().split(/[ \t]+/),n=s.shift();switch(n){case"%TAG":{if(s.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;let[i,o]=s;return this.tags[i]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,s.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;let[i]=s;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 ${n}`,!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[,s,n]=e.match(/^(.*!)([^!]*)$/s);n||t(`The ${e} tag has no suffix`);let i=this.tags[s];if(i)try{return i+decodeURIComponent(n)}catch(o){return t(String(o)),null}return s==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,s]of Object.entries(this.tags))if(e.startsWith(s))return t+ap(e.substring(s.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],s=Object.entries(this.tags),n;if(e&&s.length>0&&Ja.isNode(e.contents)){let i={};ip.visit(e.contents,(o,a)=>{Ja.isNode(a)&&a.tag&&(i[a.tag]=!0)}),n=Object.keys(i)}else n=[];for(let[i,o]of s)i==="!!"&&o==="tag:yaml.org,2002:"||(!e||n.some(a=>a.startsWith(o)))&&t.push(`%TAG ${i} ${o}`);return t.join(`
8
- `)}};Ot.defaultYaml={explicit:!1,version:"1.2"};Ot.defaultTags={"!!":"tag:yaml.org,2002:"};Ka.Directives=Ot});var qr=v(Nt=>{"use strict";var Va=P(),cp=Pt();function lp(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 Wa(r){let e=new Set;return cp.visit(r,{Value(t,s){s.anchor&&e.add(s.anchor)}}),e}function Ya(r,e){for(let t=1;;++t){let s=`${r}${t}`;if(!e.has(s))return s}}function up(r,e){let t=[],s=new Map,n=null;return{onAnchor:i=>{t.push(i),n??(n=Wa(r));let o=Ya(e,n);return n.add(o),o},setAnchors:()=>{for(let i of t){let o=s.get(i);if(typeof o=="object"&&o.anchor&&(Va.isScalar(o.node)||Va.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:s}}Nt.anchorIsValid=lp;Nt.anchorNames=Wa;Nt.createNodeAnchors=up;Nt.findNewAnchor=Ya});var qn=v(Ha=>{"use strict";function Ct(r,e,t,s){if(s&&typeof s=="object")if(Array.isArray(s))for(let n=0,i=s.length;n<i;++n){let o=s[n],a=Ct(r,s,String(n),o);a===void 0?delete s[n]:a!==o&&(s[n]=a)}else if(s instanceof Map)for(let n of Array.from(s.keys())){let i=s.get(n),o=Ct(r,s,n,i);o===void 0?s.delete(n):o!==i&&s.set(n,o)}else if(s instanceof Set)for(let n of Array.from(s)){let i=Ct(r,s,n,n);i===void 0?s.delete(n):i!==n&&(s.delete(n),s.add(i))}else for(let[n,i]of Object.entries(s)){let o=Ct(r,s,n,i);o===void 0?delete s[n]:o!==i&&(s[n]=o)}return r.call(e,t,s)}Ha.applyReviver=Ct});var ye=v(za=>{"use strict";var fp=P();function Ga(r,e,t){if(Array.isArray(r))return r.map((s,n)=>Ga(s,String(n),t));if(r&&typeof r.toJSON=="function"){if(!t||!fp.hasAnchor(r))return r.toJSON(e,t);let s={aliasCount:0,count:1,res:void 0};t.anchors.set(r,s),t.onCreate=i=>{s.res=i,delete t.onCreate};let n=r.toJSON(e,t);return t.onCreate&&t.onCreate(n),n}return typeof r=="bigint"&&!t?.keep?Number(r):r}za.toJS=Ga});var Fr=v(Xa=>{"use strict";var dp=qn(),Qa=P(),pp=ye(),Fn=class{constructor(e){Object.defineProperty(this,Qa.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:s,onAnchor:n,reviver:i}={}){if(!Qa.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 s=="number"?s:100},a=pp.toJS(this,"",o);if(typeof n=="function")for(let{count:c,res:l}of o.anchors.values())n(l,c);return typeof i=="function"?dp.applyReviver(i,{"":a},"",a):a}};Xa.NodeBase=Fn});var Rt=v(Za=>{"use strict";var hp=qr(),mp=Pt(),rt=P(),gp=Fr(),yp=ye(),jn=class extends gp.NodeBase{constructor(e){super(rt.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,t){let s;t?.aliasResolveCache?s=t.aliasResolveCache:(s=[],mp.visit(e,{Node:(i,o)=>{(rt.isAlias(o)||rt.hasAnchor(o))&&s.push(o)}}),t&&(t.aliasResolveCache=s));let n;for(let i of s){if(i===this)break;i.anchor===this.source&&(n=i)}return n}toJSON(e,t){if(!t)return{source:this.source};let{anchors:s,doc:n,maxAliasCount:i}=t,o=this.resolve(n,t);if(!o){let c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let a=s.get(o);if(a||(yp.toJS(o,null,t),a=s.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=jr(n,o,s)),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,s){let n=`*${this.source}`;if(e){if(hp.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`${n} `}return n}};function jr(r,e,t){if(rt.isAlias(e)){let s=e.resolve(r),n=t&&s&&t.get(s);return n?n.count*n.aliasCount:0}else if(rt.isCollection(e)){let s=0;for(let n of e.items){let i=jr(r,n,t);i>s&&(s=i)}return s}else if(rt.isPair(e)){let s=jr(r,e.key,t),n=jr(r,e.value,t);return Math.max(s,n)}return 1}Za.Alias=jn});var _=v(Un=>{"use strict";var bp=P(),wp=Fr(),vp=ye(),Sp=r=>!r||typeof r!="function"&&typeof r!="object",be=class extends wp.NodeBase{constructor(e){super(bp.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:vp.toJS(this.value,e,t)}toString(){return String(this.value)}};be.BLOCK_FOLDED="BLOCK_FOLDED";be.BLOCK_LITERAL="BLOCK_LITERAL";be.PLAIN="PLAIN";be.QUOTE_DOUBLE="QUOTE_DOUBLE";be.QUOTE_SINGLE="QUOTE_SINGLE";Un.Scalar=be;Un.isScalarValue=Sp});var It=v(tc=>{"use strict";var kp=Rt(),$e=P(),ec=_(),xp="tag:yaml.org,2002:";function Ep(r,e,t){if(e){let s=t.filter(i=>i.tag===e),n=s.find(i=>!i.format)??s[0];if(!n)throw new Error(`Tag ${e} not found`);return n}return t.find(s=>s.identify?.(r)&&!s.format)}function Ap(r,e,t){if($e.isDocument(r)&&(r=r.contents),$e.isNode(r))return r;if($e.isPair(r)){let u=t.schema[$e.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:s,onAnchor:n,onTagObj:i,schema:o,sourceObjects:a}=t,c;if(s&&r&&typeof r=="object"){if(c=a.get(r),c)return c.anchor??(c.anchor=n(r)),new kp.Alias(c.anchor);c={anchor:null,node:null},a.set(r,c)}e?.startsWith("!!")&&(e=xp+e.slice(2));let l=Ep(r,e,o.tags);if(!l){if(r&&typeof r.toJSON=="function"&&(r=r.toJSON()),!r||typeof r!="object"){let u=new ec.Scalar(r);return c&&(c.node=u),u}l=r instanceof Map?o[$e.MAP]:Symbol.iterator in Object(r)?o[$e.SEQ]:o[$e.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 ec.Scalar(r);return e?f.tag=e:l.default||(f.tag=l.tag),c&&(c.node=f),f}tc.createNode=Ap});var Jr=v(Ur=>{"use strict";var Tp=It(),ce=P(),Pp=Fr();function Jn(r,e,t){let s=t;for(let n=e.length-1;n>=0;--n){let i=e[n];if(typeof i=="number"&&Number.isInteger(i)&&i>=0){let o=[];o[i]=s,s=o}else s=new Map([[i,s]])}return Tp.createNode(s,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:r,sourceObjects:new Map})}var rc=r=>r==null||typeof r=="object"&&!!r[Symbol.iterator]().next().done,Kn=class extends Pp.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(s=>ce.isNode(s)||ce.isPair(s)?s.clone(e):s),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(rc(e))this.add(t);else{let[s,...n]=e,i=this.get(s,!0);if(ce.isCollection(i))i.addIn(n,t);else if(i===void 0&&this.schema)this.set(s,Jn(this.schema,n,t));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}deleteIn(e){let[t,...s]=e;if(s.length===0)return this.delete(t);let n=this.get(t,!0);if(ce.isCollection(n))return n.deleteIn(s);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${s}`)}getIn(e,t){let[s,...n]=e,i=this.get(s,!0);return n.length===0?!t&&ce.isScalar(i)?i.value:i:ce.isCollection(i)?i.getIn(n,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!ce.isPair(t))return!1;let s=t.value;return s==null||e&&ce.isScalar(s)&&s.value==null&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(e){let[t,...s]=e;if(s.length===0)return this.has(t);let n=this.get(t,!0);return ce.isCollection(n)?n.hasIn(s):!1}setIn(e,t){let[s,...n]=e;if(n.length===0)this.set(s,t);else{let i=this.get(s,!0);if(ce.isCollection(i))i.setIn(n,t);else if(i===void 0&&this.schema)this.set(s,Jn(this.schema,n,t));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}};Ur.Collection=Kn;Ur.collectionFromPath=Jn;Ur.isEmptyPath=rc});var _t=v(Kr=>{"use strict";var Op=r=>r.replace(/^(?!$)(?: $)?/gm,"#");function Vn(r,e){return/^\n+$/.test(r)?r.substring(1):e?r.replace(/^(?! *$)/gm,e):r}var Np=(r,e,t)=>r.endsWith(`
9
- `)?Vn(t,e):t.includes(`
3
+ var Bd=Object.create;var Tn=Object.defineProperty;var qd=Object.getOwnPropertyDescriptor;var Fd=Object.getOwnPropertyNames;var jd=Object.getPrototypeOf,Ud=Object.prototype.hasOwnProperty;var Cr=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var N=(r,e)=>()=>(r&&(e=r(r=0)),e);var v=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Jd=(r,e)=>{for(var t in e)Tn(r,t,{get:e[t],enumerable:!0})},Kd=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Fd(e))!Ud.call(r,n)&&n!==t&&Tn(r,n,{get:()=>e[n],enumerable:!(s=qd(e,n))||s.enumerable});return r};var Wd=(r,e,t)=>(t=r!=null?Bd(jd(r)):{},Kd(e||!r||!r.__esModule?Tn(t,"default",{value:r,enumerable:!0}):t,r));function Ta(r){return!!r?.startsWith("typebulb")}var Cn,Rn,Rr=N(()=>{Cn={code:{path:"code.tsx",language:"typescript"},css:{path:"styles.css",language:"css"},html:{path:"index.html",language:"html"},config:{path:"config.json",language:"json"},notes:{path:"notes.md",language:"markdown"},data:{path:"data.txt",language:"text"},infer:{path:"infer.md",language:"markdown"},insight:{path:"insight.json",language:"json"}},Rn=["code","css","html","data","infer","insight","config","notes"]});function In(r){return r.startsWith('"')&&r.endsWith('"')?r.slice(1,-1).replace(/\\"/g,'"'):r.startsWith("'")&&r.endsWith("'")?r.slice(1,-1):r}var Ir=N(()=>{});function _r(r){try{let e=r.split(`
4
+ `),t=0;if(e[t]?.trim()!=="---")return null;t++;let s=[];for(;t<e.length&&e[t]?.trim()!=="---";)s.push(e[t]),t++;if(e[t]?.trim()!=="---")return null;t++;let n=Zd(s);if(!n)return null;let i=new Map;for(;t<e.length;){let a=e[t]?.trim()?.match(/^\*\*(.+)\*\*$/);if(a){let c=a[1].trim();for(t++;t<e.length&&e[t]?.trim()==="";)t++;let l=e[t]?.match(/^(`{3,})(\w*)\s*$/);if(!l){t++;continue}let f=l[1];t++;let u=[];for(;t<e.length&&!e[t]?.match(new RegExp(`^${f}\\s*$`));)u.push(e[t]),t++;t++,i.set(c,u.join(`
5
+ `))}else t++}return{frontmatter:n,files:i}}catch{return null}}function Zd(r){let e={};for(let t of r){let s=t.indexOf(":");if(s===-1)continue;let n=t.slice(0,s).trim(),i=t.slice(s+1).trim();switch(n){case"format":e.format=i;break;case"name":e.name=In(i);break}}return!Ta(e.format)||!e.name?null:e}function Pa(r){let e=Object.fromEntries(Rn.map(t=>[t,r.files.get(Cn[t].path)||""]));return{name:r.frontmatter.name,...e}}var Oa=N(()=>{Rr();Ir()});var Na=N(()=>{Rr();Ir()});function Ca(r){if(!r.trim())return{};try{return JSON.parse(r)}catch{return{}}}var Ra=N(()=>{});var Ia=N(()=>{});function _n(r,e,t){let n=new RegExp(e).exec(r.slice(t));return n?t+n.index:-1}var _a=N(()=>{});function Tt(r,e,t){let n=new RegExp(e).exec(r.slice(t));return n?t+n.index+n[0].length-1:-1}var La=N(()=>{});function Lr(r,e){let t=new RegExp(e,"g"),s=r.match(t);return s?s.length:0}var $a=N(()=>{});function Pt(r,e,t){let s=t&&t.debug||!1,n=!(t&&typeof t.nested===!1),i=t&&t.startIndex||0;s&&console.log("[xml-utils] starting findTagByName with",e," and ",t);let o=_n(r,`<${e}[
6
+ >/]`,i);if(s&&console.log("[xml-utils] start:",o),o===-1)return;let a=r.slice(o+e.length),c=Tt(a,"^[^<]*[ /]>",0),l=c!==-1&&a[c-1]==="/";if(s&&console.log("[xml-utils] selfClosing:",l),l===!1)if(n){let p=0,g=1,h=0;for(;(c=Tt(a,"[ /]"+e+">",p))!==-1;){let y=a.substring(p,c+1);if(g+=Lr(y,"<"+e+`[
7
+ >]`),h+=Lr(y,"</"+e+">"),h>=g)break;p=c}}else c=Tt(a,"[ /]"+e+">",0);let f=o+e.length+c+1;if(s&&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 Ln=N(()=>{_a();La();$a()});var $n=N(()=>{Ln()});var Mn=N(()=>{$n()});var Ma=N(()=>{Mn()});var Da=N(()=>{});var Ba=N(()=>{Ia();Ln();$n();Ma();Mn();Da()});var P=v(D=>{"use strict";var Dn=Symbol.for("yaml.alias"),qa=Symbol.for("yaml.document"),$r=Symbol.for("yaml.map"),Fa=Symbol.for("yaml.pair"),Bn=Symbol.for("yaml.scalar"),Mr=Symbol.for("yaml.seq"),de=Symbol.for("yaml.node.type"),sp=r=>!!r&&typeof r=="object"&&r[de]===Dn,np=r=>!!r&&typeof r=="object"&&r[de]===qa,ip=r=>!!r&&typeof r=="object"&&r[de]===$r,op=r=>!!r&&typeof r=="object"&&r[de]===Fa,ja=r=>!!r&&typeof r=="object"&&r[de]===Bn,ap=r=>!!r&&typeof r=="object"&&r[de]===Mr;function Ua(r){if(r&&typeof r=="object")switch(r[de]){case $r:case Mr:return!0}return!1}function cp(r){if(r&&typeof r=="object")switch(r[de]){case Dn:case $r:case Bn:case Mr:return!0}return!1}var lp=r=>(ja(r)||Ua(r))&&!!r.anchor;D.ALIAS=Dn;D.DOC=qa;D.MAP=$r;D.NODE_TYPE=de;D.PAIR=Fa;D.SCALAR=Bn;D.SEQ=Mr;D.hasAnchor=lp;D.isAlias=sp;D.isCollection=Ua;D.isDocument=np;D.isMap=ip;D.isNode=cp;D.isPair=op;D.isScalar=ja;D.isSeq=ap});var Ot=v(qn=>{"use strict";var $=P(),K=Symbol("break visit"),Ja=Symbol("skip children"),ae=Symbol("remove node");function Dr(r,e){let t=Ka(e);$.isDocument(r)?tt(null,r.contents,t,Object.freeze([r]))===ae&&(r.contents=null):tt(null,r,t,Object.freeze([]))}Dr.BREAK=K;Dr.SKIP=Ja;Dr.REMOVE=ae;function tt(r,e,t,s){let n=Wa(r,e,t,s);if($.isNode(n)||$.isPair(n))return Va(r,s,n),tt(r,n,t,s);if(typeof n!="symbol"){if($.isCollection(e)){s=Object.freeze(s.concat(e));for(let i=0;i<e.items.length;++i){let o=tt(i,e.items[i],t,s);if(typeof o=="number")i=o-1;else{if(o===K)return K;o===ae&&(e.items.splice(i,1),i-=1)}}}else if($.isPair(e)){s=Object.freeze(s.concat(e));let i=tt("key",e.key,t,s);if(i===K)return K;i===ae&&(e.key=null);let o=tt("value",e.value,t,s);if(o===K)return K;o===ae&&(e.value=null)}}return n}async function Br(r,e){let t=Ka(e);$.isDocument(r)?await rt(null,r.contents,t,Object.freeze([r]))===ae&&(r.contents=null):await rt(null,r,t,Object.freeze([]))}Br.BREAK=K;Br.SKIP=Ja;Br.REMOVE=ae;async function rt(r,e,t,s){let n=await Wa(r,e,t,s);if($.isNode(n)||$.isPair(n))return Va(r,s,n),rt(r,n,t,s);if(typeof n!="symbol"){if($.isCollection(e)){s=Object.freeze(s.concat(e));for(let i=0;i<e.items.length;++i){let o=await rt(i,e.items[i],t,s);if(typeof o=="number")i=o-1;else{if(o===K)return K;o===ae&&(e.items.splice(i,1),i-=1)}}}else if($.isPair(e)){s=Object.freeze(s.concat(e));let i=await rt("key",e.key,t,s);if(i===K)return K;i===ae&&(e.key=null);let o=await rt("value",e.value,t,s);if(o===K)return K;o===ae&&(e.value=null)}}return n}function Ka(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 Wa(r,e,t,s){if(typeof t=="function")return t(r,e,s);if($.isMap(e))return t.Map?.(r,e,s);if($.isSeq(e))return t.Seq?.(r,e,s);if($.isPair(e))return t.Pair?.(r,e,s);if($.isScalar(e))return t.Scalar?.(r,e,s);if($.isAlias(e))return t.Alias?.(r,e,s)}function Va(r,e,t){let s=e[e.length-1];if($.isCollection(s))s.items[r]=t;else if($.isPair(s))r==="key"?s.key=t:s.value=t;else if($.isDocument(s))s.contents=t;else{let n=$.isAlias(s)?"alias":"scalar";throw new Error(`Cannot replace node with ${n} parent`)}}qn.visit=Dr;qn.visitAsync=Br});var Fn=v(Ha=>{"use strict";var Ya=P(),up=Ot(),fp={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},dp=r=>r.replace(/[!,[\]{}]/g,e=>fp[e]),Nt=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 s=e.trim().split(/[ \t]+/),n=s.shift();switch(n){case"%TAG":{if(s.length!==2&&(t(0,"%TAG directive should contain exactly two parts"),s.length<2))return!1;let[i,o]=s;return this.tags[i]=o,!0}case"%YAML":{if(this.yaml.explicit=!0,s.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;let[i]=s;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 ${n}`,!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[,s,n]=e.match(/^(.*!)([^!]*)$/s);n||t(`The ${e} tag has no suffix`);let i=this.tags[s];if(i)try{return i+decodeURIComponent(n)}catch(o){return t(String(o)),null}return s==="!"?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,s]of Object.entries(this.tags))if(e.startsWith(s))return t+dp(e.substring(s.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],s=Object.entries(this.tags),n;if(e&&s.length>0&&Ya.isNode(e.contents)){let i={};up.visit(e.contents,(o,a)=>{Ya.isNode(a)&&a.tag&&(i[a.tag]=!0)}),n=Object.keys(i)}else n=[];for(let[i,o]of s)i==="!!"&&o==="tag:yaml.org,2002:"||(!e||n.some(a=>a.startsWith(o)))&&t.push(`%TAG ${i} ${o}`);return t.join(`
8
+ `)}};Nt.defaultYaml={explicit:!1,version:"1.2"};Nt.defaultTags={"!!":"tag:yaml.org,2002:"};Ha.Directives=Nt});var qr=v(Ct=>{"use strict";var Ga=P(),pp=Ot();function hp(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 za(r){let e=new Set;return pp.visit(r,{Value(t,s){s.anchor&&e.add(s.anchor)}}),e}function Qa(r,e){for(let t=1;;++t){let s=`${r}${t}`;if(!e.has(s))return s}}function mp(r,e){let t=[],s=new Map,n=null;return{onAnchor:i=>{t.push(i),n??(n=za(r));let o=Qa(e,n);return n.add(o),o},setAnchors:()=>{for(let i of t){let o=s.get(i);if(typeof o=="object"&&o.anchor&&(Ga.isScalar(o.node)||Ga.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:s}}Ct.anchorIsValid=hp;Ct.anchorNames=za;Ct.createNodeAnchors=mp;Ct.findNewAnchor=Qa});var jn=v(Xa=>{"use strict";function Rt(r,e,t,s){if(s&&typeof s=="object")if(Array.isArray(s))for(let n=0,i=s.length;n<i;++n){let o=s[n],a=Rt(r,s,String(n),o);a===void 0?delete s[n]:a!==o&&(s[n]=a)}else if(s instanceof Map)for(let n of Array.from(s.keys())){let i=s.get(n),o=Rt(r,s,n,i);o===void 0?s.delete(n):o!==i&&s.set(n,o)}else if(s instanceof Set)for(let n of Array.from(s)){let i=Rt(r,s,n,n);i===void 0?s.delete(n):i!==n&&(s.delete(n),s.add(i))}else for(let[n,i]of Object.entries(s)){let o=Rt(r,s,n,i);o===void 0?delete s[n]:o!==i&&(s[n]=o)}return r.call(e,t,s)}Xa.applyReviver=Rt});var ve=v(ec=>{"use strict";var gp=P();function Za(r,e,t){if(Array.isArray(r))return r.map((s,n)=>Za(s,String(n),t));if(r&&typeof r.toJSON=="function"){if(!t||!gp.hasAnchor(r))return r.toJSON(e,t);let s={aliasCount:0,count:1,res:void 0};t.anchors.set(r,s),t.onCreate=i=>{s.res=i,delete t.onCreate};let n=r.toJSON(e,t);return t.onCreate&&t.onCreate(n),n}return typeof r=="bigint"&&!t?.keep?Number(r):r}ec.toJS=Za});var Fr=v(rc=>{"use strict";var yp=jn(),tc=P(),bp=ve(),Un=class{constructor(e){Object.defineProperty(this,tc.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:s,onAnchor:n,reviver:i}={}){if(!tc.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 s=="number"?s:100},a=bp.toJS(this,"",o);if(typeof n=="function")for(let{count:c,res:l}of o.anchors.values())n(l,c);return typeof i=="function"?yp.applyReviver(i,{"":a},"",a):a}};rc.NodeBase=Un});var It=v(sc=>{"use strict";var wp=qr(),vp=Ot(),st=P(),Sp=Fr(),kp=ve(),Jn=class extends Sp.NodeBase{constructor(e){super(st.ALIAS),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,t){let s;t?.aliasResolveCache?s=t.aliasResolveCache:(s=[],vp.visit(e,{Node:(i,o)=>{(st.isAlias(o)||st.hasAnchor(o))&&s.push(o)}}),t&&(t.aliasResolveCache=s));let n;for(let i of s){if(i===this)break;i.anchor===this.source&&(n=i)}return n}toJSON(e,t){if(!t)return{source:this.source};let{anchors:s,doc:n,maxAliasCount:i}=t,o=this.resolve(n,t);if(!o){let c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let a=s.get(o);if(a||(kp.toJS(o,null,t),a=s.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=jr(n,o,s)),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,s){let n=`*${this.source}`;if(e){if(wp.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`${n} `}return n}};function jr(r,e,t){if(st.isAlias(e)){let s=e.resolve(r),n=t&&s&&t.get(s);return n?n.count*n.aliasCount:0}else if(st.isCollection(e)){let s=0;for(let n of e.items){let i=jr(r,n,t);i>s&&(s=i)}return s}else if(st.isPair(e)){let s=jr(r,e.key,t),n=jr(r,e.value,t);return Math.max(s,n)}return 1}sc.Alias=Jn});var _=v(Kn=>{"use strict";var xp=P(),Ep=Fr(),Ap=ve(),Tp=r=>!r||typeof r!="function"&&typeof r!="object",Se=class extends Ep.NodeBase{constructor(e){super(xp.SCALAR),this.value=e}toJSON(e,t){return t?.keep?this.value:Ap.toJS(this.value,e,t)}toString(){return String(this.value)}};Se.BLOCK_FOLDED="BLOCK_FOLDED";Se.BLOCK_LITERAL="BLOCK_LITERAL";Se.PLAIN="PLAIN";Se.QUOTE_DOUBLE="QUOTE_DOUBLE";Se.QUOTE_SINGLE="QUOTE_SINGLE";Kn.Scalar=Se;Kn.isScalarValue=Tp});var _t=v(ic=>{"use strict";var Pp=It(),Me=P(),nc=_(),Op="tag:yaml.org,2002:";function Np(r,e,t){if(e){let s=t.filter(i=>i.tag===e),n=s.find(i=>!i.format)??s[0];if(!n)throw new Error(`Tag ${e} not found`);return n}return t.find(s=>s.identify?.(r)&&!s.format)}function Cp(r,e,t){if(Me.isDocument(r)&&(r=r.contents),Me.isNode(r))return r;if(Me.isPair(r)){let u=t.schema[Me.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:s,onAnchor:n,onTagObj:i,schema:o,sourceObjects:a}=t,c;if(s&&r&&typeof r=="object"){if(c=a.get(r),c)return c.anchor??(c.anchor=n(r)),new Pp.Alias(c.anchor);c={anchor:null,node:null},a.set(r,c)}e?.startsWith("!!")&&(e=Op+e.slice(2));let l=Np(r,e,o.tags);if(!l){if(r&&typeof r.toJSON=="function"&&(r=r.toJSON()),!r||typeof r!="object"){let u=new nc.Scalar(r);return c&&(c.node=u),u}l=r instanceof Map?o[Me.MAP]:Symbol.iterator in Object(r)?o[Me.SEQ]:o[Me.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 nc.Scalar(r);return e?f.tag=e:l.default||(f.tag=l.tag),c&&(c.node=f),f}ic.createNode=Cp});var Jr=v(Ur=>{"use strict";var Rp=_t(),ce=P(),Ip=Fr();function Wn(r,e,t){let s=t;for(let n=e.length-1;n>=0;--n){let i=e[n];if(typeof i=="number"&&Number.isInteger(i)&&i>=0){let o=[];o[i]=s,s=o}else s=new Map([[i,s]])}return Rp.createNode(s,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:r,sourceObjects:new Map})}var oc=r=>r==null||typeof r=="object"&&!!r[Symbol.iterator]().next().done,Vn=class extends Ip.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(s=>ce.isNode(s)||ce.isPair(s)?s.clone(e):s),this.range&&(t.range=this.range.slice()),t}addIn(e,t){if(oc(e))this.add(t);else{let[s,...n]=e,i=this.get(s,!0);if(ce.isCollection(i))i.addIn(n,t);else if(i===void 0&&this.schema)this.set(s,Wn(this.schema,n,t));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}deleteIn(e){let[t,...s]=e;if(s.length===0)return this.delete(t);let n=this.get(t,!0);if(ce.isCollection(n))return n.deleteIn(s);throw new Error(`Expected YAML collection at ${t}. Remaining path: ${s}`)}getIn(e,t){let[s,...n]=e,i=this.get(s,!0);return n.length===0?!t&&ce.isScalar(i)?i.value:i:ce.isCollection(i)?i.getIn(n,t):void 0}hasAllNullValues(e){return this.items.every(t=>{if(!ce.isPair(t))return!1;let s=t.value;return s==null||e&&ce.isScalar(s)&&s.value==null&&!s.commentBefore&&!s.comment&&!s.tag})}hasIn(e){let[t,...s]=e;if(s.length===0)return this.has(t);let n=this.get(t,!0);return ce.isCollection(n)?n.hasIn(s):!1}setIn(e,t){let[s,...n]=e;if(n.length===0)this.set(s,t);else{let i=this.get(s,!0);if(ce.isCollection(i))i.setIn(n,t);else if(i===void 0&&this.schema)this.set(s,Wn(this.schema,n,t));else throw new Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}};Ur.Collection=Vn;Ur.collectionFromPath=Wn;Ur.isEmptyPath=oc});var Lt=v(Kr=>{"use strict";var _p=r=>r.replace(/^(?!$)(?: $)?/gm,"#");function Yn(r,e){return/^\n+$/.test(r)?r.substring(1):e?r.replace(/^(?! *$)/gm,e):r}var Lp=(r,e,t)=>r.endsWith(`
9
+ `)?Yn(t,e):t.includes(`
10
10
  `)?`
11
- `+Vn(t,e):(r.endsWith(" ")?"":" ")+t;Kr.indentComment=Vn;Kr.lineComment=Np;Kr.stringifyComment=Op});var nc=v(Lt=>{"use strict";var Cp="flow",Wn="block",Vr="quoted";function Rp(r,e,t="flow",{indentAtStart:s,lineWidth:n=80,minContentWidth:i=20,onFold:o,onOverflow:a}={}){if(!n||n<0)return r;n<i&&(i=0);let c=Math.max(1+i,1+n-e.length);if(r.length<=c)return r;let l=[],f={},u=n-e.length;typeof s=="number"&&(s>n-Math.max(2,i)?l.push(0):u=n-s);let d,p,g=!1,h=-1,y=-1,k=-1;t===Wn&&(h=sc(r,h,e.length),h!==-1&&(u=h+c));for(let b;b=r[h+=1];){if(t===Vr&&b==="\\"){switch(y=h,r[h+1]){case"x":h+=3;break;case"u":h+=5;break;case"U":h+=9;break;default:h+=1}k=h}if(b===`
12
- `)t===Wn&&(h=sc(r,h,e.length)),u=h+e.length+c,d=void 0;else{if(b===" "&&p&&p!==" "&&p!==`
11
+ `+Yn(t,e):(r.endsWith(" ")?"":" ")+t;Kr.indentComment=Yn;Kr.lineComment=Lp;Kr.stringifyComment=_p});var cc=v($t=>{"use strict";var $p="flow",Hn="block",Wr="quoted";function Mp(r,e,t="flow",{indentAtStart:s,lineWidth:n=80,minContentWidth:i=20,onFold:o,onOverflow:a}={}){if(!n||n<0)return r;n<i&&(i=0);let c=Math.max(1+i,1+n-e.length);if(r.length<=c)return r;let l=[],f={},u=n-e.length;typeof s=="number"&&(s>n-Math.max(2,i)?l.push(0):u=n-s);let d,p,g=!1,h=-1,y=-1,k=-1;t===Hn&&(h=ac(r,h,e.length),h!==-1&&(u=h+c));for(let b;b=r[h+=1];){if(t===Wr&&b==="\\"){switch(y=h,r[h+1]){case"x":h+=3;break;case"u":h+=5;break;case"U":h+=9;break;default:h+=1}k=h}if(b===`
12
+ `)t===Hn&&(h=ac(r,h,e.length)),u=h+e.length+c,d=void 0;else{if(b===" "&&p&&p!==" "&&p!==`
13
13
  `&&p!==" "){let w=r[h+1];w&&w!==" "&&w!==`
14
- `&&w!==" "&&(d=h)}if(h>=u)if(d)l.push(d),u=d+c,d=void 0;else if(t===Vr){for(;p===" "||p===" ";)p=b,b=r[h+=1],g=!0;let w=h>k+1?h-2:y-1;if(f[w])return r;l.push(w),f[w]=!0,u=w+c,d=void 0}else g=!0}p=b}if(g&&a&&a(),l.length===0)return r;o&&o();let m=r.slice(0,l[0]);for(let b=0;b<l.length;++b){let w=l[b],x=l[b+1]||r.length;w===0?m=`
15
- ${e}${r.slice(0,x)}`:(t===Vr&&f[w]&&(m+=`${r[w]}\\`),m+=`
16
- ${e}${r.slice(w+1,x)}`)}return m}function sc(r,e,t){let s=e,n=e+1,i=r[n];for(;i===" "||i===" ";)if(e<n+t)i=r[++e];else{do i=r[++e];while(i&&i!==`
17
- `);s=e,n=e+1,i=r[n]}return s}Lt.FOLD_BLOCK=Wn;Lt.FOLD_FLOW=Cp;Lt.FOLD_QUOTED=Vr;Lt.foldFlowLines=Rp});var Mt=v(ic=>{"use strict";var Z=_(),we=nc(),Yr=(r,e)=>({indentAtStart:e?r.indent.length:r.indentAtStart,lineWidth:r.options.lineWidth,minContentWidth:r.options.minContentWidth}),Hr=r=>/^(%|---|\.\.\.)/m.test(r);function Ip(r,e,t){if(!e||e<0)return!1;let s=e-t,n=r.length;if(n<=s)return!1;for(let i=0,o=0;i<n;++i)if(r[i]===`
18
- `){if(i-o>s)return!0;if(o=i+1,n-o<=s)return!1}return!0}function $t(r,e){let t=JSON.stringify(r);if(e.options.doubleQuotedAsJSON)return t;let{implicitKey:s}=e,n=e.options.doubleQuotedMinMultiLineLength,i=e.indent||(Hr(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(s||t[c+2]==='"'||t.length<n)c+=1;else{for(o+=t.slice(a,c)+`
14
+ `&&w!==" "&&(d=h)}if(h>=u)if(d)l.push(d),u=d+c,d=void 0;else if(t===Wr){for(;p===" "||p===" ";)p=b,b=r[h+=1],g=!0;let w=h>k+1?h-2:y-1;if(f[w])return r;l.push(w),f[w]=!0,u=w+c,d=void 0}else g=!0}p=b}if(g&&a&&a(),l.length===0)return r;o&&o();let m=r.slice(0,l[0]);for(let b=0;b<l.length;++b){let w=l[b],x=l[b+1]||r.length;w===0?m=`
15
+ ${e}${r.slice(0,x)}`:(t===Wr&&f[w]&&(m+=`${r[w]}\\`),m+=`
16
+ ${e}${r.slice(w+1,x)}`)}return m}function ac(r,e,t){let s=e,n=e+1,i=r[n];for(;i===" "||i===" ";)if(e<n+t)i=r[++e];else{do i=r[++e];while(i&&i!==`
17
+ `);s=e,n=e+1,i=r[n]}return s}$t.FOLD_BLOCK=Hn;$t.FOLD_FLOW=$p;$t.FOLD_QUOTED=Wr;$t.foldFlowLines=Mp});var Dt=v(lc=>{"use strict";var ee=_(),ke=cc(),Yr=(r,e)=>({indentAtStart:e?r.indent.length:r.indentAtStart,lineWidth:r.options.lineWidth,minContentWidth:r.options.minContentWidth}),Hr=r=>/^(%|---|\.\.\.)/m.test(r);function Dp(r,e,t){if(!e||e<0)return!1;let s=e-t,n=r.length;if(n<=s)return!1;for(let i=0,o=0;i<n;++i)if(r[i]===`
18
+ `){if(i-o>s)return!0;if(o=i+1,n-o<=s)return!1}return!0}function Mt(r,e){let t=JSON.stringify(r);if(e.options.doubleQuotedAsJSON)return t;let{implicitKey:s}=e,n=e.options.doubleQuotedMinMultiLineLength,i=e.indent||(Hr(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(s||t[c+2]==='"'||t.length<n)c+=1;else{for(o+=t.slice(a,c)+`
19
19
 
20
20
  `;t[c+2]==="\\"&&t[c+3]==="n"&&t[c+4]!=='"';)o+=`
21
- `,c+=2;o+=i,t[c+2]===" "&&(o+="\\"),c+=1,a=c+1}break;default:c+=1}return o=a?o+t.slice(a):t,s?o:we.foldFlowLines(o,i,we.FOLD_QUOTED,Yr(e,!1))}function Yn(r,e){if(e.options.singleQuote===!1||e.implicitKey&&r.includes(`
22
- `)||/[ \t]\n|\n[ \t]/.test(r))return $t(r,e);let t=e.indent||(Hr(r)?" ":""),s="'"+r.replace(/'/g,"''").replace(/\n+/g,`$&
23
- ${t}`)+"'";return e.implicitKey?s:we.foldFlowLines(s,t,we.FOLD_FLOW,Yr(e,!1))}function st(r,e){let{singleQuote:t}=e.options,s;if(t===!1)s=$t;else{let n=r.includes('"'),i=r.includes("'");n&&!i?s=Yn:i&&!n?s=$t:s=t?Yn:$t}return s(r,e)}var Hn;try{Hn=new RegExp(`(^|(?<!
21
+ `,c+=2;o+=i,t[c+2]===" "&&(o+="\\"),c+=1,a=c+1}break;default:c+=1}return o=a?o+t.slice(a):t,s?o:ke.foldFlowLines(o,i,ke.FOLD_QUOTED,Yr(e,!1))}function Gn(r,e){if(e.options.singleQuote===!1||e.implicitKey&&r.includes(`
22
+ `)||/[ \t]\n|\n[ \t]/.test(r))return Mt(r,e);let t=e.indent||(Hr(r)?" ":""),s="'"+r.replace(/'/g,"''").replace(/\n+/g,`$&
23
+ ${t}`)+"'";return e.implicitKey?s:ke.foldFlowLines(s,t,ke.FOLD_FLOW,Yr(e,!1))}function nt(r,e){let{singleQuote:t}=e.options,s;if(t===!1)s=Mt;else{let n=r.includes('"'),i=r.includes("'");n&&!i?s=Gn:i&&!n?s=Mt:s=t?Gn:Mt}return s(r,e)}var zn;try{zn=new RegExp(`(^|(?<!
24
24
  ))
25
25
  +(?!
26
- |$)`,"g")}catch{Hn=/\n+(?!\n|$)/g}function Wr({comment:r,type:e,value:t},s,n,i){let{blockQuote:o,commentString:a,lineWidth:c}=s.options;if(!o||/\n[\t ]+$/.test(t))return st(t,s);let l=s.indent||(s.forceBlockIndent||Hr(t)?" ":""),f=o==="literal"?!0:o==="folded"||e===Z.Scalar.BLOCK_FOLDED?!1:e===Z.Scalar.BLOCK_LITERAL?!0:!Ip(t,c,l.length);if(!t)return f?`|
26
+ |$)`,"g")}catch{zn=/\n+(?!\n|$)/g}function Vr({comment:r,type:e,value:t},s,n,i){let{blockQuote:o,commentString:a,lineWidth:c}=s.options;if(!o||/\n[\t ]+$/.test(t))return nt(t,s);let l=s.indent||(s.forceBlockIndent||Hr(t)?" ":""),f=o==="literal"?!0:o==="folded"||e===ee.Scalar.BLOCK_FOLDED?!1:e===ee.Scalar.BLOCK_LITERAL?!0:!Dp(t,c,l.length);if(!t)return f?`|
27
27
  `:`>
28
28
  `;let u,d;for(d=t.length;d>0;--d){let x=t[d-1];if(x!==`
29
29
  `&&x!==" "&&x!==" ")break}let p=t.substring(d),g=p.indexOf(`
30
30
  `);g===-1?u="-":t===p||g!==p.length-1?(u="+",i&&i()):u="",p&&(t=t.slice(0,-p.length),p[p.length-1]===`
31
- `&&(p=p.slice(0,-1)),p=p.replace(Hn,`$&${l}`));let h=!1,y,k=-1;for(y=0;y<t.length;++y){let x=t[y];if(x===" ")h=!0;else if(x===`
31
+ `&&(p=p.slice(0,-1)),p=p.replace(zn,`$&${l}`));let h=!1,y,k=-1;for(y=0;y<t.length;++y){let x=t[y];if(x===" ")h=!0;else if(x===`
32
32
  `)k=y;else break}let m=t.substring(0,k<y?k+1:y);m&&(t=t.substring(m.length),m=m.replace(/\n+/g,`$&${l}`));let w=(h?l?"2":"1":"")+u;if(r&&(w+=" "+a(r.replace(/ ?[\r\n]+/g," ")),n&&n()),!f){let x=t.replace(/\n+/g,`
33
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),E=!1,T=Yr(s,!0);o!=="folded"&&e!==Z.Scalar.BLOCK_FOLDED&&(T.onOverflow=()=>{E=!0});let S=we.foldFlowLines(`${m}${x}${p}`,l,we.FOLD_BLOCK,T);if(!E)return`>${w}
33
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${l}`),E=!1,T=Yr(s,!0);o!=="folded"&&e!==ee.Scalar.BLOCK_FOLDED&&(T.onOverflow=()=>{E=!0});let S=ke.foldFlowLines(`${m}${x}${p}`,l,ke.FOLD_BLOCK,T);if(!E)return`>${w}
34
34
  ${l}${S}`}return t=t.replace(/\n+/g,`$&${l}`),`|${w}
35
- ${l}${m}${t}${p}`}function _p(r,e,t,s){let{type:n,value:i}=r,{actualString:o,implicitKey:a,indent:c,indentStep:l,inFlow:f}=e;if(a&&i.includes(`
36
- `)||f&&/[[\]{},]/.test(i))return st(i,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(i))return a||f||!i.includes(`
37
- `)?st(i,e):Wr(r,e,t,s);if(!a&&!f&&n!==Z.Scalar.PLAIN&&i.includes(`
38
- `))return Wr(r,e,t,s);if(Hr(i)){if(c==="")return e.forceBlockIndent=!0,Wr(r,e,t,s);if(a&&c===l)return st(i,e)}let u=i.replace(/\n+/g,`$&
39
- ${c}`);if(o){let d=h=>h.default&&h.tag!=="tag:yaml.org,2002:str"&&h.test?.test(u),{compat:p,tags:g}=e.doc.schema;if(g.some(d)||p?.some(d))return st(i,e)}return a?u:we.foldFlowLines(u,c,we.FOLD_FLOW,Yr(e,!1))}function Lp(r,e,t,s){let{implicitKey:n,inFlow:i}=e,o=typeof r.value=="string"?r:Object.assign({},r,{value:String(r.value)}),{type:a}=r;a!==Z.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=Z.Scalar.QUOTE_DOUBLE);let c=f=>{switch(f){case Z.Scalar.BLOCK_FOLDED:case Z.Scalar.BLOCK_LITERAL:return n||i?st(o.value,e):Wr(o,e,t,s);case Z.Scalar.QUOTE_DOUBLE:return $t(o.value,e);case Z.Scalar.QUOTE_SINGLE:return Yn(o.value,e);case Z.Scalar.PLAIN:return _p(o,e,t,s);default:return null}},l=c(a);if(l===null){let{defaultKeyType:f,defaultStringType:u}=e.options,d=n&&f||u;if(l=c(d),l===null)throw new Error(`Unsupported default string type ${d}`)}return l}ic.stringifyString=Lp});var Dt=v(Gn=>{"use strict";var $p=qr(),ve=P(),Mp=_t(),Dp=Mt();function Bp(r,e){let t=Object.assign({blockQuote:!0,commentString:Mp.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),s;switch(t.collectionStyle){case"block":s=!1;break;case"flow":s=!0;break;default:s=null}return{anchors:new Set,doc:r,flowCollectionPadding:t.flowCollectionPadding?" ":"",indent:"",indentStep:typeof t.indent=="number"?" ".repeat(t.indent):" ",inFlow:s,options:t}}function qp(r,e){if(e.tag){let n=r.filter(i=>i.tag===e.tag);if(n.length>0)return n.find(i=>i.format===e.format)??n[0]}let t,s;if(ve.isScalar(e)){s=e.value;let n=r.filter(i=>i.identify?.(s));if(n.length>1){let i=n.filter(o=>o.test);i.length>0&&(n=i)}t=n.find(i=>i.format===e.format)??n.find(i=>!i.format)}else s=e,t=r.find(n=>n.nodeClass&&s instanceof n.nodeClass);if(!t){let n=s?.constructor?.name??(s===null?"null":typeof s);throw new Error(`Tag not resolved for ${n} value`)}return t}function Fp(r,e,{anchors:t,doc:s}){if(!s.directives)return"";let n=[],i=(ve.isScalar(r)||ve.isCollection(r))&&r.anchor;i&&$p.anchorIsValid(i)&&(t.add(i),n.push(`&${i}`));let o=r.tag??(e.default?null:e.tag);return o&&n.push(s.directives.tagString(o)),n.join(" ")}function jp(r,e,t,s){if(ve.isPair(r))return r.toString(e,t,s);if(ve.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 n,i=ve.isNode(r)?r:e.doc.createNode(r,{onTagObj:c=>n=c});n??(n=qp(e.doc.schema.tags,i));let o=Fp(i,n,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let a=typeof n.stringify=="function"?n.stringify(i,e,t,s):ve.isScalar(i)?Dp.stringifyString(i,e,t,s):i.toString(e,t,s);return o?ve.isScalar(i)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
40
- ${e.indent}${a}`:a}Gn.createStringifyContext=Bp;Gn.stringify=jp});var lc=v(cc=>{"use strict";var de=P(),oc=_(),ac=Dt(),Bt=_t();function Up({key:r,value:e},t,s,n){let{allNullValues:i,doc:o,indent:a,indentStep:c,options:{commentString:l,indentSeq:f,simpleKeys:u}}=t,d=de.isNode(r)&&r.comment||null;if(u){if(d)throw new Error("With simple keys, key nodes cannot have comments");if(de.isCollection(r)||!de.isNode(r)&&typeof r=="object"){let T="With simple keys, collection cannot be used as a key value";throw new Error(T)}}let p=!u&&(!r||d&&e==null&&!t.inFlow||de.isCollection(r)||(de.isScalar(r)?r.type===oc.Scalar.BLOCK_FOLDED||r.type===oc.Scalar.BLOCK_LITERAL:typeof r=="object"));t=Object.assign({},t,{allNullValues:!1,implicitKey:!p&&(u||!i),indent:a+c});let g=!1,h=!1,y=ac.stringify(r,t,()=>g=!0,()=>h=!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 g&&s&&s(),y===""?"?":p?`? ${y}`:y}else if(i&&!u||e==null&&p)return y=`? ${y}`,d&&!g?y+=Bt.lineComment(y,t.indent,l(d)):h&&n&&n(),y;g&&(d=null),p?(d&&(y+=Bt.lineComment(y,t.indent,l(d))),y=`? ${y}
41
- ${a}:`):(y=`${y}:`,d&&(y+=Bt.lineComment(y,t.indent,l(d))));let k,m,b;de.isNode(e)?(k=!!e.spaceBefore,m=e.commentBefore,b=e.comment):(k=!1,m=null,b=null,e&&typeof e=="object"&&(e=o.createNode(e))),t.implicitKey=!1,!p&&!d&&de.isScalar(e)&&(t.indentAtStart=y.length+1),h=!1,!f&&c.length>=2&&!t.inFlow&&!p&&de.isSeq(e)&&!e.flow&&!e.tag&&!e.anchor&&(t.indent=t.indent.substring(2));let w=!1,x=ac.stringify(e,t,()=>w=!0,()=>h=!0),E=" ";if(d||k||m){if(E=k?`
35
+ ${l}${m}${t}${p}`}function Bp(r,e,t,s){let{type:n,value:i}=r,{actualString:o,implicitKey:a,indent:c,indentStep:l,inFlow:f}=e;if(a&&i.includes(`
36
+ `)||f&&/[[\]{},]/.test(i))return nt(i,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(i))return a||f||!i.includes(`
37
+ `)?nt(i,e):Vr(r,e,t,s);if(!a&&!f&&n!==ee.Scalar.PLAIN&&i.includes(`
38
+ `))return Vr(r,e,t,s);if(Hr(i)){if(c==="")return e.forceBlockIndent=!0,Vr(r,e,t,s);if(a&&c===l)return nt(i,e)}let u=i.replace(/\n+/g,`$&
39
+ ${c}`);if(o){let d=h=>h.default&&h.tag!=="tag:yaml.org,2002:str"&&h.test?.test(u),{compat:p,tags:g}=e.doc.schema;if(g.some(d)||p?.some(d))return nt(i,e)}return a?u:ke.foldFlowLines(u,c,ke.FOLD_FLOW,Yr(e,!1))}function qp(r,e,t,s){let{implicitKey:n,inFlow:i}=e,o=typeof r.value=="string"?r:Object.assign({},r,{value:String(r.value)}),{type:a}=r;a!==ee.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value)&&(a=ee.Scalar.QUOTE_DOUBLE);let c=f=>{switch(f){case ee.Scalar.BLOCK_FOLDED:case ee.Scalar.BLOCK_LITERAL:return n||i?nt(o.value,e):Vr(o,e,t,s);case ee.Scalar.QUOTE_DOUBLE:return Mt(o.value,e);case ee.Scalar.QUOTE_SINGLE:return Gn(o.value,e);case ee.Scalar.PLAIN:return Bp(o,e,t,s);default:return null}},l=c(a);if(l===null){let{defaultKeyType:f,defaultStringType:u}=e.options,d=n&&f||u;if(l=c(d),l===null)throw new Error(`Unsupported default string type ${d}`)}return l}lc.stringifyString=qp});var Bt=v(Qn=>{"use strict";var Fp=qr(),xe=P(),jp=Lt(),Up=Dt();function Jp(r,e){let t=Object.assign({blockQuote:!0,commentString:jp.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),s;switch(t.collectionStyle){case"block":s=!1;break;case"flow":s=!0;break;default:s=null}return{anchors:new Set,doc:r,flowCollectionPadding:t.flowCollectionPadding?" ":"",indent:"",indentStep:typeof t.indent=="number"?" ".repeat(t.indent):" ",inFlow:s,options:t}}function Kp(r,e){if(e.tag){let n=r.filter(i=>i.tag===e.tag);if(n.length>0)return n.find(i=>i.format===e.format)??n[0]}let t,s;if(xe.isScalar(e)){s=e.value;let n=r.filter(i=>i.identify?.(s));if(n.length>1){let i=n.filter(o=>o.test);i.length>0&&(n=i)}t=n.find(i=>i.format===e.format)??n.find(i=>!i.format)}else s=e,t=r.find(n=>n.nodeClass&&s instanceof n.nodeClass);if(!t){let n=s?.constructor?.name??(s===null?"null":typeof s);throw new Error(`Tag not resolved for ${n} value`)}return t}function Wp(r,e,{anchors:t,doc:s}){if(!s.directives)return"";let n=[],i=(xe.isScalar(r)||xe.isCollection(r))&&r.anchor;i&&Fp.anchorIsValid(i)&&(t.add(i),n.push(`&${i}`));let o=r.tag??(e.default?null:e.tag);return o&&n.push(s.directives.tagString(o)),n.join(" ")}function Vp(r,e,t,s){if(xe.isPair(r))return r.toString(e,t,s);if(xe.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 n,i=xe.isNode(r)?r:e.doc.createNode(r,{onTagObj:c=>n=c});n??(n=Kp(e.doc.schema.tags,i));let o=Wp(i,n,e);o.length>0&&(e.indentAtStart=(e.indentAtStart??0)+o.length+1);let a=typeof n.stringify=="function"?n.stringify(i,e,t,s):xe.isScalar(i)?Up.stringifyString(i,e,t,s):i.toString(e,t,s);return o?xe.isScalar(i)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
40
+ ${e.indent}${a}`:a}Qn.createStringifyContext=Jp;Qn.stringify=Vp});var pc=v(dc=>{"use strict";var pe=P(),uc=_(),fc=Bt(),qt=Lt();function Yp({key:r,value:e},t,s,n){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 T="With simple keys, collection cannot be used as a key value";throw new Error(T)}}let p=!u&&(!r||d&&e==null&&!t.inFlow||pe.isCollection(r)||(pe.isScalar(r)?r.type===uc.Scalar.BLOCK_FOLDED||r.type===uc.Scalar.BLOCK_LITERAL:typeof r=="object"));t=Object.assign({},t,{allNullValues:!1,implicitKey:!p&&(u||!i),indent:a+c});let g=!1,h=!1,y=fc.stringify(r,t,()=>g=!0,()=>h=!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 g&&s&&s(),y===""?"?":p?`? ${y}`:y}else if(i&&!u||e==null&&p)return y=`? ${y}`,d&&!g?y+=qt.lineComment(y,t.indent,l(d)):h&&n&&n(),y;g&&(d=null),p?(d&&(y+=qt.lineComment(y,t.indent,l(d))),y=`? ${y}
41
+ ${a}:`):(y=`${y}:`,d&&(y+=qt.lineComment(y,t.indent,l(d))));let k,m,b;pe.isNode(e)?(k=!!e.spaceBefore,m=e.commentBefore,b=e.comment):(k=!1,m=null,b=null,e&&typeof e=="object"&&(e=o.createNode(e))),t.implicitKey=!1,!p&&!d&&pe.isScalar(e)&&(t.indentAtStart=y.length+1),h=!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,x=fc.stringify(e,t,()=>w=!0,()=>h=!0),E=" ";if(d||k||m){if(E=k?`
42
42
  `:"",m){let T=l(m);E+=`
43
- ${Bt.indentComment(T,t.indent)}`}x===""&&!t.inFlow?E===`
43
+ ${qt.indentComment(T,t.indent)}`}x===""&&!t.inFlow?E===`
44
44
  `&&b&&(E=`
45
45
 
46
46
  `):E+=`
47
- ${t.indent}`}else if(!p&&de.isCollection(e)){let T=x[0],S=x.indexOf(`
47
+ ${t.indent}`}else if(!p&&pe.isCollection(e)){let T=x[0],S=x.indexOf(`
48
48
  `),O=S!==-1,J=t.inFlow??e.flow??e.items.length===0;if(O||!J){let H=!1;if(O&&(T==="&"||T==="!")){let R=x.indexOf(" ");T==="&"&&R!==-1&&R<S&&x[R+1]==="!"&&(R=x.indexOf(" ",R+1)),(R===-1||S<R)&&(H=!0)}H||(E=`
49
49
  ${t.indent}`)}}else(x===""||x[0]===`
50
- `)&&(E="");return y+=E+x,t.inFlow?w&&s&&s():b&&!w?y+=Bt.lineComment(y,t.indent,l(b)):h&&n&&n(),y}cc.stringifyPair=Up});var Qn=v(zn=>{"use strict";var uc=Cr("process");function Jp(r,...e){r==="debug"&&console.log(...e)}function Kp(r,e){(r==="debug"||r==="warn")&&(typeof uc.emitWarning=="function"?uc.emitWarning(e):console.warn(e))}zn.debug=Jp;zn.warn=Kp});var Xr=v(Qr=>{"use strict";var qt=P(),fc=_(),Gr="<<",zr={identify:r=>r===Gr||typeof r=="symbol"&&r.description===Gr,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new fc.Scalar(Symbol(Gr)),{addToJSMap:dc}),stringify:()=>Gr},Vp=(r,e)=>(zr.identify(e)||qt.isScalar(e)&&(!e.type||e.type===fc.Scalar.PLAIN)&&zr.identify(e.value))&&r?.doc.schema.tags.some(t=>t.tag===zr.tag&&t.default);function dc(r,e,t){if(t=r&&qt.isAlias(t)?t.resolve(r.doc):t,qt.isSeq(t))for(let s of t.items)Xn(r,e,s);else if(Array.isArray(t))for(let s of t)Xn(r,e,s);else Xn(r,e,t)}function Xn(r,e,t){let s=r&&qt.isAlias(t)?t.resolve(r.doc):t;if(!qt.isMap(s))throw new Error("Merge sources must be maps or map aliases");let n=s.toJSON(null,r,Map);for(let[i,o]of n)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}Qr.addMergeToJSMap=dc;Qr.isMergeKey=Vp;Qr.merge=zr});var ei=v(mc=>{"use strict";var Wp=Qn(),pc=Xr(),Yp=Dt(),hc=P(),Zn=ye();function Hp(r,e,{key:t,value:s}){if(hc.isNode(t)&&t.addToJSMap)t.addToJSMap(r,e,s);else if(pc.isMergeKey(r,t))pc.addMergeToJSMap(r,e,s);else{let n=Zn.toJS(t,"",r);if(e instanceof Map)e.set(n,Zn.toJS(s,n,r));else if(e instanceof Set)e.add(n);else{let i=Gp(t,n,r),o=Zn.toJS(s,i,r);i in e?Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[i]=o}}return e}function Gp(r,e,t){if(e===null)return"";if(typeof e!="object")return String(e);if(hc.isNode(r)&&t?.doc){let s=Yp.createStringifyContext(t.doc,{});s.anchors=new Set;for(let i of t.anchors.keys())s.anchors.add(i.anchor);s.inFlow=!0,s.inStringifyKey=!0;let n=r.toString(s);if(!t.mapKeyWarned){let i=JSON.stringify(n);i.length>40&&(i=i.substring(0,36)+'..."'),Wp.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 n}return JSON.stringify(e)}mc.addPairToJSMap=Hp});var Se=v(ti=>{"use strict";var gc=It(),zp=lc(),Qp=ei(),Zr=P();function Xp(r,e,t){let s=gc.createNode(r,void 0,t),n=gc.createNode(e,void 0,t);return new es(s,n)}var es=class r{constructor(e,t=null){Object.defineProperty(this,Zr.NODE_TYPE,{value:Zr.PAIR}),this.key=e,this.value=t}clone(e){let{key:t,value:s}=this;return Zr.isNode(t)&&(t=t.clone(e)),Zr.isNode(s)&&(s=s.clone(e)),new r(t,s)}toJSON(e,t){let s=t?.mapAsMap?new Map:{};return Qp.addPairToJSMap(t,s,this)}toString(e,t,s){return e?.doc?zp.stringifyPair(this,e,t,s):JSON.stringify(this)}};ti.Pair=es;ti.createPair=Xp});var ri=v(bc=>{"use strict";var Me=P(),yc=Dt(),ts=_t();function Zp(r,e,t){return(e.inFlow??r.flow?th:eh)(r,e,t)}function eh({comment:r,items:e},t,{blockItemPrefix:s,flowChars:n,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 g=0;g<e.length;++g){let h=e[g],y=null;if(Me.isNode(h))!u&&h.spaceBefore&&d.push(""),rs(t,d,h.commentBefore,u),h.comment&&(y=h.comment);else if(Me.isPair(h)){let m=Me.isNode(h.key)?h.key:null;m&&(!u&&m.spaceBefore&&d.push(""),rs(t,d,m.commentBefore,u))}u=!1;let k=yc.stringify(h,f,()=>y=null,()=>u=!0);y&&(k+=ts.lineComment(k,i,l(y))),u&&y&&(u=!1),d.push(s+k)}let p;if(d.length===0)p=n.start+n.end;else{p=d[0];for(let g=1;g<d.length;++g){let h=d[g];p+=h?`
50
+ `)&&(E="");return y+=E+x,t.inFlow?w&&s&&s():b&&!w?y+=qt.lineComment(y,t.indent,l(b)):h&&n&&n(),y}dc.stringifyPair=Yp});var Zn=v(Xn=>{"use strict";var hc=Cr("process");function Hp(r,...e){r==="debug"&&console.log(...e)}function Gp(r,e){(r==="debug"||r==="warn")&&(typeof hc.emitWarning=="function"?hc.emitWarning(e):console.warn(e))}Xn.debug=Hp;Xn.warn=Gp});var Xr=v(Qr=>{"use strict";var Ft=P(),mc=_(),Gr="<<",zr={identify:r=>r===Gr||typeof r=="symbol"&&r.description===Gr,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new mc.Scalar(Symbol(Gr)),{addToJSMap:gc}),stringify:()=>Gr},zp=(r,e)=>(zr.identify(e)||Ft.isScalar(e)&&(!e.type||e.type===mc.Scalar.PLAIN)&&zr.identify(e.value))&&r?.doc.schema.tags.some(t=>t.tag===zr.tag&&t.default);function gc(r,e,t){if(t=r&&Ft.isAlias(t)?t.resolve(r.doc):t,Ft.isSeq(t))for(let s of t.items)ei(r,e,s);else if(Array.isArray(t))for(let s of t)ei(r,e,s);else ei(r,e,t)}function ei(r,e,t){let s=r&&Ft.isAlias(t)?t.resolve(r.doc):t;if(!Ft.isMap(s))throw new Error("Merge sources must be maps or map aliases");let n=s.toJSON(null,r,Map);for(let[i,o]of n)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}Qr.addMergeToJSMap=gc;Qr.isMergeKey=zp;Qr.merge=zr});var ri=v(wc=>{"use strict";var Qp=Zn(),yc=Xr(),Xp=Bt(),bc=P(),ti=ve();function Zp(r,e,{key:t,value:s}){if(bc.isNode(t)&&t.addToJSMap)t.addToJSMap(r,e,s);else if(yc.isMergeKey(r,t))yc.addMergeToJSMap(r,e,s);else{let n=ti.toJS(t,"",r);if(e instanceof Map)e.set(n,ti.toJS(s,n,r));else if(e instanceof Set)e.add(n);else{let i=eh(t,n,r),o=ti.toJS(s,i,r);i in e?Object.defineProperty(e,i,{value:o,writable:!0,enumerable:!0,configurable:!0}):e[i]=o}}return e}function eh(r,e,t){if(e===null)return"";if(typeof e!="object")return String(e);if(bc.isNode(r)&&t?.doc){let s=Xp.createStringifyContext(t.doc,{});s.anchors=new Set;for(let i of t.anchors.keys())s.anchors.add(i.anchor);s.inFlow=!0,s.inStringifyKey=!0;let n=r.toString(s);if(!t.mapKeyWarned){let i=JSON.stringify(n);i.length>40&&(i=i.substring(0,36)+'..."'),Qp.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 n}return JSON.stringify(e)}wc.addPairToJSMap=Zp});var Ee=v(si=>{"use strict";var vc=_t(),th=pc(),rh=ri(),Zr=P();function sh(r,e,t){let s=vc.createNode(r,void 0,t),n=vc.createNode(e,void 0,t);return new es(s,n)}var es=class r{constructor(e,t=null){Object.defineProperty(this,Zr.NODE_TYPE,{value:Zr.PAIR}),this.key=e,this.value=t}clone(e){let{key:t,value:s}=this;return Zr.isNode(t)&&(t=t.clone(e)),Zr.isNode(s)&&(s=s.clone(e)),new r(t,s)}toJSON(e,t){let s=t?.mapAsMap?new Map:{};return rh.addPairToJSMap(t,s,this)}toString(e,t,s){return e?.doc?th.stringifyPair(this,e,t,s):JSON.stringify(this)}};si.Pair=es;si.createPair=sh});var ni=v(kc=>{"use strict";var De=P(),Sc=Bt(),ts=Lt();function nh(r,e,t){return(e.inFlow??r.flow?oh:ih)(r,e,t)}function ih({comment:r,items:e},t,{blockItemPrefix:s,flowChars:n,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 g=0;g<e.length;++g){let h=e[g],y=null;if(De.isNode(h))!u&&h.spaceBefore&&d.push(""),rs(t,d,h.commentBefore,u),h.comment&&(y=h.comment);else if(De.isPair(h)){let m=De.isNode(h.key)?h.key:null;m&&(!u&&m.spaceBefore&&d.push(""),rs(t,d,m.commentBefore,u))}u=!1;let k=Sc.stringify(h,f,()=>y=null,()=>u=!0);y&&(k+=ts.lineComment(k,i,l(y))),u&&y&&(u=!1),d.push(s+k)}let p;if(d.length===0)p=n.start+n.end;else{p=d[0];for(let g=1;g<d.length;++g){let h=d[g];p+=h?`
51
51
  ${c}${h}`:`
52
52
  `}}return r?(p+=`
53
- `+ts.indentComment(l(r),c),a&&a()):u&&o&&o(),p}function th({items:r},e,{flowChars:t,itemIndent:s}){let{indent:n,indentStep:i,flowCollectionPadding:o,options:{commentString:a}}=e;s+=i;let c=Object.assign({},e,{indent:s,inFlow:!0,type:null}),l=!1,f=0,u=[];for(let g=0;g<r.length;++g){let h=r[g],y=null;if(Me.isNode(h))h.spaceBefore&&u.push(""),rs(e,u,h.commentBefore,!1),h.comment&&(y=h.comment);else if(Me.isPair(h)){let m=Me.isNode(h.key)?h.key:null;m&&(m.spaceBefore&&u.push(""),rs(e,u,m.commentBefore,!1),m.comment&&(l=!0));let b=Me.isNode(h.value)?h.value:null;b?(b.comment&&(y=b.comment),b.commentBefore&&(l=!0)):h.value==null&&m?.comment&&(y=m.comment)}y&&(l=!0);let k=yc.stringify(h,c,()=>y=null);g<r.length-1&&(k+=","),y&&(k+=ts.lineComment(k,s,a(y))),!l&&(u.length>f||k.includes(`
53
+ `+ts.indentComment(l(r),c),a&&a()):u&&o&&o(),p}function oh({items:r},e,{flowChars:t,itemIndent:s}){let{indent:n,indentStep:i,flowCollectionPadding:o,options:{commentString:a}}=e;s+=i;let c=Object.assign({},e,{indent:s,inFlow:!0,type:null}),l=!1,f=0,u=[];for(let g=0;g<r.length;++g){let h=r[g],y=null;if(De.isNode(h))h.spaceBefore&&u.push(""),rs(e,u,h.commentBefore,!1),h.comment&&(y=h.comment);else if(De.isPair(h)){let m=De.isNode(h.key)?h.key:null;m&&(m.spaceBefore&&u.push(""),rs(e,u,m.commentBefore,!1),m.comment&&(l=!0));let b=De.isNode(h.value)?h.value:null;b?(b.comment&&(y=b.comment),b.commentBefore&&(l=!0)):h.value==null&&m?.comment&&(y=m.comment)}y&&(l=!0);let k=Sc.stringify(h,c,()=>y=null);g<r.length-1&&(k+=","),y&&(k+=ts.lineComment(k,s,a(y))),!l&&(u.length>f||k.includes(`
54
54
  `))&&(l=!0),u.push(k),f=u.length}let{start:d,end:p}=t;if(u.length===0)return d+p;if(!l){let g=u.reduce((h,y)=>h+y.length+2,2);l=e.options.lineWidth>0&&g>e.options.lineWidth}if(l){let g=d;for(let h of u)g+=h?`
55
55
  ${i}${n}${h}`:`
56
56
  `;return`${g}
57
- ${n}${p}`}else return`${d}${o}${u.join(" ")}${o}${p}`}function rs({indent:r,options:{commentString:e}},t,s,n){if(s&&n&&(s=s.replace(/^\n+/,"")),s){let i=ts.indentComment(e(s),r);t.push(i.trimStart())}}bc.stringifyCollection=Zp});var xe=v(ni=>{"use strict";var rh=ri(),sh=ei(),nh=Jr(),ke=P(),ss=Se(),ih=_();function Ft(r,e){let t=ke.isScalar(e)?e.value:e;for(let s of r)if(ke.isPair(s)&&(s.key===e||s.key===t||ke.isScalar(s.key)&&s.key.value===t))return s}var si=class extends nh.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(ke.MAP,e),this.items=[]}static from(e,t,s){let{keepUndefined:n,replacer:i}=s,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||n)&&o.items.push(ss.createPair(c,l,s))};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 s;ke.isPair(e)?s=e:!e||typeof e!="object"||!("key"in e)?s=new ss.Pair(e,e?.value):s=new ss.Pair(e.key,e.value);let n=Ft(this.items,s.key),i=this.schema?.sortMapEntries;if(n){if(!t)throw new Error(`Key ${s.key} already set`);ke.isScalar(n.value)&&ih.isScalarValue(s.value)?n.value.value=s.value:n.value=s.value}else if(i){let o=this.items.findIndex(a=>i(s,a)<0);o===-1?this.items.push(s):this.items.splice(o,0,s)}else this.items.push(s)}delete(e){let t=Ft(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){let n=Ft(this.items,e)?.value;return(!t&&ke.isScalar(n)?n.value:n)??void 0}has(e){return!!Ft(this.items,e)}set(e,t){this.add(new ss.Pair(e,t),!0)}toJSON(e,t,s){let n=s?new s:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(n);for(let i of this.items)sh.addPairToJSMap(t,n,i);return n}toString(e,t,s){if(!e)return JSON.stringify(this);for(let n of this.items)if(!ke.isPair(n))throw new Error(`Map items must all be pairs; found ${JSON.stringify(n)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),rh.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:s,onComment:t})}};ni.YAMLMap=si;ni.findPair=Ft});var nt=v(vc=>{"use strict";var oh=P(),wc=xe(),ah={collection:"map",default:!0,nodeClass:wc.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(r,e){return oh.isMap(r)||e("Expected a mapping for this tag"),r},createNode:(r,e,t)=>wc.YAMLMap.from(r,e,t)};vc.map=ah});var Ee=v(Sc=>{"use strict";var ch=It(),lh=ri(),uh=Jr(),is=P(),fh=_(),dh=ye(),ii=class extends uh.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(is.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=ns(e);return typeof t!="number"?!1:this.items.splice(t,1).length>0}get(e,t){let s=ns(e);if(typeof s!="number")return;let n=this.items[s];return!t&&is.isScalar(n)?n.value:n}has(e){let t=ns(e);return typeof t=="number"&&t<this.items.length}set(e,t){let s=ns(e);if(typeof s!="number")throw new Error(`Expected a valid index, not ${e}.`);let n=this.items[s];is.isScalar(n)&&fh.isScalarValue(t)?n.value=t:this.items[s]=t}toJSON(e,t){let s=[];t?.onCreate&&t.onCreate(s);let n=0;for(let i of this.items)s.push(dh.toJS(i,String(n++),t));return s}toString(e,t,s){return e?lh.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:s,onComment:t}):JSON.stringify(this)}static from(e,t,s){let{replacer:n}=s,i=new this(e);if(t&&Symbol.iterator in Object(t)){let o=0;for(let a of t){if(typeof n=="function"){let c=t instanceof Set?a:String(o++);a=n.call(t,c,a)}i.items.push(ch.createNode(a,void 0,s))}}return i}};function ns(r){let e=is.isScalar(r)?r.value:r;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}Sc.YAMLSeq=ii});var it=v(xc=>{"use strict";var ph=P(),kc=Ee(),hh={collection:"seq",default:!0,nodeClass:kc.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(r,e){return ph.isSeq(r)||e("Expected a sequence for this tag"),r},createNode:(r,e,t)=>kc.YAMLSeq.from(r,e,t)};xc.seq=hh});var jt=v(Ec=>{"use strict";var mh=Mt(),gh={identify:r=>typeof r=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r=>r,stringify(r,e,t,s){return e=Object.assign({actualString:!0},e),mh.stringifyString(r,e,t,s)}};Ec.string=gh});var os=v(Pc=>{"use strict";var Ac=_(),Tc={identify:r=>r==null,createNode:()=>new Ac.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Ac.Scalar(null),stringify:({source:r},e)=>typeof r=="string"&&Tc.test.test(r)?r:e.options.nullStr};Pc.nullTag=Tc});var oi=v(Nc=>{"use strict";var yh=_(),Oc={identify:r=>typeof r=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:r=>new yh.Scalar(r[0]==="t"||r[0]==="T"),stringify({source:r,value:e},t){if(r&&Oc.test.test(r)){let s=r[0]==="t"||r[0]==="T";if(e===s)return r}return e?t.options.trueStr:t.options.falseStr}};Nc.boolTag=Oc});var ot=v(Cc=>{"use strict";function bh({format:r,minFractionDigits:e,tag:t,value:s}){if(typeof s=="bigint")return String(s);let n=typeof s=="number"?s:Number(s);if(!isFinite(n))return isNaN(n)?".nan":n<0?"-.inf":".inf";let i=Object.is(s,-0)?"-0":JSON.stringify(s);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}Cc.stringifyNumber=bh});var ci=v(as=>{"use strict";var wh=_(),ai=ot(),vh={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:ai.stringifyNumber},Sh={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():ai.stringifyNumber(r)}},kh={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 wh.Scalar(parseFloat(r)),t=r.indexOf(".");return t!==-1&&r[r.length-1]==="0"&&(e.minFractionDigits=r.length-t-1),e},stringify:ai.stringifyNumber};as.float=kh;as.floatExp=Sh;as.floatNaN=vh});var ui=v(ls=>{"use strict";var Rc=ot(),cs=r=>typeof r=="bigint"||Number.isInteger(r),li=(r,e,t,{intAsBigInt:s})=>s?BigInt(r):parseInt(r.substring(e),t);function Ic(r,e,t){let{value:s}=r;return cs(s)&&s>=0?t+s.toString(e):Rc.stringifyNumber(r)}var xh={identify:r=>cs(r)&&r>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(r,e,t)=>li(r,2,8,t),stringify:r=>Ic(r,8,"0o")},Eh={identify:cs,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(r,e,t)=>li(r,0,10,t),stringify:Rc.stringifyNumber},Ah={identify:r=>cs(r)&&r>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(r,e,t)=>li(r,2,16,t),stringify:r=>Ic(r,16,"0x")};ls.int=Eh;ls.intHex=Ah;ls.intOct=xh});var Lc=v(_c=>{"use strict";var Th=nt(),Ph=os(),Oh=it(),Nh=jt(),Ch=oi(),fi=ci(),di=ui(),Rh=[Th.map,Oh.seq,Nh.string,Ph.nullTag,Ch.boolTag,di.intOct,di.int,di.intHex,fi.floatNaN,fi.floatExp,fi.float];_c.schema=Rh});var Dc=v(Mc=>{"use strict";var Ih=_(),_h=nt(),Lh=it();function $c(r){return typeof r=="bigint"||Number.isInteger(r)}var us=({value:r})=>JSON.stringify(r),$h=[{identify:r=>typeof r=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r=>r,stringify:us},{identify:r=>r==null,createNode:()=>new Ih.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:us},{identify:r=>typeof r=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:r=>r==="true",stringify:us},{identify:$c,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})=>$c(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:us}],Mh={default:!0,tag:"",test:/^/,resolve(r,e){return e(`Unresolved plain scalar ${JSON.stringify(r)}`),r}},Dh=[_h.map,Lh.seq].concat($h,Mh);Mc.schema=Dh});var hi=v(Bc=>{"use strict";var Ut=Cr("buffer"),pi=_(),Bh=Mt(),qh={identify:r=>r instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(r,e){if(typeof Ut.Buffer=="function")return Ut.Buffer.from(r,"base64");if(typeof atob=="function"){let t=atob(r.replace(/[\n\r]/g,"")),s=new Uint8Array(t.length);for(let n=0;n<t.length;++n)s[n]=t.charCodeAt(n);return s}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},s,n,i){if(!t)return"";let o=t,a;if(typeof Ut.Buffer=="function")a=o instanceof Ut.Buffer?o.toString("base64"):Ut.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=pi.Scalar.BLOCK_LITERAL),e!==pi.Scalar.QUOTE_DOUBLE){let c=Math.max(s.options.lineWidth-s.indent.length,s.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===pi.Scalar.BLOCK_LITERAL?`
58
- `:" ")}return Bh.stringifyString({comment:r,type:e,value:a},s,n,i)}};Bc.binary=qh});var ps=v(ds=>{"use strict";var fs=P(),mi=Se(),Fh=_(),jh=Ee();function qc(r,e){if(fs.isSeq(r))for(let t=0;t<r.items.length;++t){let s=r.items[t];if(!fs.isPair(s)){if(fs.isMap(s)){s.items.length>1&&e("Each pair must have its own sequence indicator");let n=s.items[0]||new mi.Pair(new Fh.Scalar(null));if(s.commentBefore&&(n.key.commentBefore=n.key.commentBefore?`${s.commentBefore}
57
+ ${n}${p}`}else return`${d}${o}${u.join(" ")}${o}${p}`}function rs({indent:r,options:{commentString:e}},t,s,n){if(s&&n&&(s=s.replace(/^\n+/,"")),s){let i=ts.indentComment(e(s),r);t.push(i.trimStart())}}kc.stringifyCollection=nh});var Te=v(oi=>{"use strict";var ah=ni(),ch=ri(),lh=Jr(),Ae=P(),ss=Ee(),uh=_();function jt(r,e){let t=Ae.isScalar(e)?e.value:e;for(let s of r)if(Ae.isPair(s)&&(s.key===e||s.key===t||Ae.isScalar(s.key)&&s.key.value===t))return s}var ii=class extends lh.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(Ae.MAP,e),this.items=[]}static from(e,t,s){let{keepUndefined:n,replacer:i}=s,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||n)&&o.items.push(ss.createPair(c,l,s))};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 s;Ae.isPair(e)?s=e:!e||typeof e!="object"||!("key"in e)?s=new ss.Pair(e,e?.value):s=new ss.Pair(e.key,e.value);let n=jt(this.items,s.key),i=this.schema?.sortMapEntries;if(n){if(!t)throw new Error(`Key ${s.key} already set`);Ae.isScalar(n.value)&&uh.isScalarValue(s.value)?n.value.value=s.value:n.value=s.value}else if(i){let o=this.items.findIndex(a=>i(s,a)<0);o===-1?this.items.push(s):this.items.splice(o,0,s)}else this.items.push(s)}delete(e){let t=jt(this.items,e);return t?this.items.splice(this.items.indexOf(t),1).length>0:!1}get(e,t){let n=jt(this.items,e)?.value;return(!t&&Ae.isScalar(n)?n.value:n)??void 0}has(e){return!!jt(this.items,e)}set(e,t){this.add(new ss.Pair(e,t),!0)}toJSON(e,t,s){let n=s?new s:t?.mapAsMap?new Map:{};t?.onCreate&&t.onCreate(n);for(let i of this.items)ch.addPairToJSMap(t,n,i);return n}toString(e,t,s){if(!e)return JSON.stringify(this);for(let n of this.items)if(!Ae.isPair(n))throw new Error(`Map items must all be pairs; found ${JSON.stringify(n)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),ah.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:s,onComment:t})}};oi.YAMLMap=ii;oi.findPair=jt});var it=v(Ec=>{"use strict";var fh=P(),xc=Te(),dh={collection:"map",default:!0,nodeClass:xc.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(r,e){return fh.isMap(r)||e("Expected a mapping for this tag"),r},createNode:(r,e,t)=>xc.YAMLMap.from(r,e,t)};Ec.map=dh});var Pe=v(Ac=>{"use strict";var ph=_t(),hh=ni(),mh=Jr(),is=P(),gh=_(),yh=ve(),ai=class extends mh.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(is.SEQ,e),this.items=[]}add(e){this.items.push(e)}delete(e){let t=ns(e);return typeof t!="number"?!1:this.items.splice(t,1).length>0}get(e,t){let s=ns(e);if(typeof s!="number")return;let n=this.items[s];return!t&&is.isScalar(n)?n.value:n}has(e){let t=ns(e);return typeof t=="number"&&t<this.items.length}set(e,t){let s=ns(e);if(typeof s!="number")throw new Error(`Expected a valid index, not ${e}.`);let n=this.items[s];is.isScalar(n)&&gh.isScalarValue(t)?n.value=t:this.items[s]=t}toJSON(e,t){let s=[];t?.onCreate&&t.onCreate(s);let n=0;for(let i of this.items)s.push(yh.toJS(i,String(n++),t));return s}toString(e,t,s){return e?hh.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:s,onComment:t}):JSON.stringify(this)}static from(e,t,s){let{replacer:n}=s,i=new this(e);if(t&&Symbol.iterator in Object(t)){let o=0;for(let a of t){if(typeof n=="function"){let c=t instanceof Set?a:String(o++);a=n.call(t,c,a)}i.items.push(ph.createNode(a,void 0,s))}}return i}};function ns(r){let e=is.isScalar(r)?r.value:r;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}Ac.YAMLSeq=ai});var ot=v(Pc=>{"use strict";var bh=P(),Tc=Pe(),wh={collection:"seq",default:!0,nodeClass:Tc.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(r,e){return bh.isSeq(r)||e("Expected a sequence for this tag"),r},createNode:(r,e,t)=>Tc.YAMLSeq.from(r,e,t)};Pc.seq=wh});var Ut=v(Oc=>{"use strict";var vh=Dt(),Sh={identify:r=>typeof r=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r=>r,stringify(r,e,t,s){return e=Object.assign({actualString:!0},e),vh.stringifyString(r,e,t,s)}};Oc.string=Sh});var os=v(Rc=>{"use strict";var Nc=_(),Cc={identify:r=>r==null,createNode:()=>new Nc.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Nc.Scalar(null),stringify:({source:r},e)=>typeof r=="string"&&Cc.test.test(r)?r:e.options.nullStr};Rc.nullTag=Cc});var ci=v(_c=>{"use strict";var kh=_(),Ic={identify:r=>typeof r=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:r=>new kh.Scalar(r[0]==="t"||r[0]==="T"),stringify({source:r,value:e},t){if(r&&Ic.test.test(r)){let s=r[0]==="t"||r[0]==="T";if(e===s)return r}return e?t.options.trueStr:t.options.falseStr}};_c.boolTag=Ic});var at=v(Lc=>{"use strict";function xh({format:r,minFractionDigits:e,tag:t,value:s}){if(typeof s=="bigint")return String(s);let n=typeof s=="number"?s:Number(s);if(!isFinite(n))return isNaN(n)?".nan":n<0?"-.inf":".inf";let i=Object.is(s,-0)?"-0":JSON.stringify(s);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}Lc.stringifyNumber=xh});var ui=v(as=>{"use strict";var Eh=_(),li=at(),Ah={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:li.stringifyNumber},Th={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():li.stringifyNumber(r)}},Ph={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 Eh.Scalar(parseFloat(r)),t=r.indexOf(".");return t!==-1&&r[r.length-1]==="0"&&(e.minFractionDigits=r.length-t-1),e},stringify:li.stringifyNumber};as.float=Ph;as.floatExp=Th;as.floatNaN=Ah});var di=v(ls=>{"use strict";var $c=at(),cs=r=>typeof r=="bigint"||Number.isInteger(r),fi=(r,e,t,{intAsBigInt:s})=>s?BigInt(r):parseInt(r.substring(e),t);function Mc(r,e,t){let{value:s}=r;return cs(s)&&s>=0?t+s.toString(e):$c.stringifyNumber(r)}var Oh={identify:r=>cs(r)&&r>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(r,e,t)=>fi(r,2,8,t),stringify:r=>Mc(r,8,"0o")},Nh={identify:cs,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(r,e,t)=>fi(r,0,10,t),stringify:$c.stringifyNumber},Ch={identify:r=>cs(r)&&r>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(r,e,t)=>fi(r,2,16,t),stringify:r=>Mc(r,16,"0x")};ls.int=Nh;ls.intHex=Ch;ls.intOct=Oh});var Bc=v(Dc=>{"use strict";var Rh=it(),Ih=os(),_h=ot(),Lh=Ut(),$h=ci(),pi=ui(),hi=di(),Mh=[Rh.map,_h.seq,Lh.string,Ih.nullTag,$h.boolTag,hi.intOct,hi.int,hi.intHex,pi.floatNaN,pi.floatExp,pi.float];Dc.schema=Mh});var jc=v(Fc=>{"use strict";var Dh=_(),Bh=it(),qh=ot();function qc(r){return typeof r=="bigint"||Number.isInteger(r)}var us=({value:r})=>JSON.stringify(r),Fh=[{identify:r=>typeof r=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r=>r,stringify:us},{identify:r=>r==null,createNode:()=>new Dh.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:us},{identify:r=>typeof r=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:r=>r==="true",stringify:us},{identify:qc,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})=>qc(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:us}],jh={default:!0,tag:"",test:/^/,resolve(r,e){return e(`Unresolved plain scalar ${JSON.stringify(r)}`),r}},Uh=[Bh.map,qh.seq].concat(Fh,jh);Fc.schema=Uh});var gi=v(Uc=>{"use strict";var Jt=Cr("buffer"),mi=_(),Jh=Dt(),Kh={identify:r=>r instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(r,e){if(typeof Jt.Buffer=="function")return Jt.Buffer.from(r,"base64");if(typeof atob=="function"){let t=atob(r.replace(/[\n\r]/g,"")),s=new Uint8Array(t.length);for(let n=0;n<t.length;++n)s[n]=t.charCodeAt(n);return s}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},s,n,i){if(!t)return"";let o=t,a;if(typeof Jt.Buffer=="function")a=o instanceof Jt.Buffer?o.toString("base64"):Jt.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=mi.Scalar.BLOCK_LITERAL),e!==mi.Scalar.QUOTE_DOUBLE){let c=Math.max(s.options.lineWidth-s.indent.length,s.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===mi.Scalar.BLOCK_LITERAL?`
58
+ `:" ")}return Jh.stringifyString({comment:r,type:e,value:a},s,n,i)}};Uc.binary=Kh});var ps=v(ds=>{"use strict";var fs=P(),yi=Ee(),Wh=_(),Vh=Pe();function Jc(r,e){if(fs.isSeq(r))for(let t=0;t<r.items.length;++t){let s=r.items[t];if(!fs.isPair(s)){if(fs.isMap(s)){s.items.length>1&&e("Each pair must have its own sequence indicator");let n=s.items[0]||new yi.Pair(new Wh.Scalar(null));if(s.commentBefore&&(n.key.commentBefore=n.key.commentBefore?`${s.commentBefore}
59
59
  ${n.key.commentBefore}`:s.commentBefore),s.comment){let i=n.value??n.key;i.comment=i.comment?`${s.comment}
60
- ${i.comment}`:s.comment}s=n}r.items[t]=fs.isPair(s)?s:new mi.Pair(s)}}else e("Expected a sequence for this tag");return r}function Fc(r,e,t){let{replacer:s}=t,n=new jh.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let i=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof s=="function"&&(o=s.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;n.items.push(mi.createPair(a,c,t))}return n}var Uh={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:qc,createNode:Fc};ds.createPairs=Fc;ds.pairs=Uh;ds.resolvePairs=qc});var bi=v(yi=>{"use strict";var jc=P(),gi=ye(),Jt=xe(),Jh=Ee(),Uc=ps(),De=class r extends Jh.YAMLSeq{constructor(){super(),this.add=Jt.YAMLMap.prototype.add.bind(this),this.delete=Jt.YAMLMap.prototype.delete.bind(this),this.get=Jt.YAMLMap.prototype.get.bind(this),this.has=Jt.YAMLMap.prototype.has.bind(this),this.set=Jt.YAMLMap.prototype.set.bind(this),this.tag=r.tag}toJSON(e,t){if(!t)return super.toJSON(e);let s=new Map;t?.onCreate&&t.onCreate(s);for(let n of this.items){let i,o;if(jc.isPair(n)?(i=gi.toJS(n.key,"",t),o=gi.toJS(n.value,i,t)):i=gi.toJS(n,"",t),s.has(i))throw new Error("Ordered maps must not include duplicate keys");s.set(i,o)}return s}static from(e,t,s){let n=Uc.createPairs(e,t,s),i=new this;return i.items=n.items,i}};De.tag="tag:yaml.org,2002:omap";var Kh={collection:"seq",identify:r=>r instanceof Map,nodeClass:De,default:!1,tag:"tag:yaml.org,2002:omap",resolve(r,e){let t=Uc.resolvePairs(r,e),s=[];for(let{key:n}of t.items)jc.isScalar(n)&&(s.includes(n.value)?e(`Ordered maps must not include duplicate keys: ${n.value}`):s.push(n.value));return Object.assign(new De,t)},createNode:(r,e,t)=>De.from(r,e,t)};yi.YAMLOMap=De;yi.omap=Kh});var Yc=v(wi=>{"use strict";var Jc=_();function Kc({value:r,source:e},t){return e&&(r?Vc:Wc).test.test(e)?e:r?t.options.trueStr:t.options.falseStr}var Vc={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 Jc.Scalar(!0),stringify:Kc},Wc={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 Jc.Scalar(!1),stringify:Kc};wi.falseTag=Wc;wi.trueTag=Vc});var Hc=v(hs=>{"use strict";var Vh=_(),vi=ot(),Wh={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:vi.stringifyNumber},Yh={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():vi.stringifyNumber(r)}},Hh={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 Vh.Scalar(parseFloat(r.replace(/_/g,""))),t=r.indexOf(".");if(t!==-1){let s=r.substring(t+1).replace(/_/g,"");s[s.length-1]==="0"&&(e.minFractionDigits=s.length)}return e},stringify:vi.stringifyNumber};hs.float=Hh;hs.floatExp=Yh;hs.floatNaN=Wh});var zc=v(Vt=>{"use strict";var Gc=ot(),Kt=r=>typeof r=="bigint"||Number.isInteger(r);function ms(r,e,t,{intAsBigInt:s}){let n=r[0];if((n==="-"||n==="+")&&(e+=1),r=r.substring(e).replace(/_/g,""),s){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 n==="-"?BigInt(-1)*o:o}let i=parseInt(r,t);return n==="-"?-1*i:i}function Si(r,e,t){let{value:s}=r;if(Kt(s)){let n=s.toString(e);return s<0?"-"+t+n.substr(1):t+n}return Gc.stringifyNumber(r)}var Gh={identify:Kt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(r,e,t)=>ms(r,2,2,t),stringify:r=>Si(r,2,"0b")},zh={identify:Kt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(r,e,t)=>ms(r,1,8,t),stringify:r=>Si(r,8,"0")},Qh={identify:Kt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(r,e,t)=>ms(r,0,10,t),stringify:Gc.stringifyNumber},Xh={identify:Kt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(r,e,t)=>ms(r,2,16,t),stringify:r=>Si(r,16,"0x")};Vt.int=Qh;Vt.intBin=Gh;Vt.intHex=Xh;Vt.intOct=zh});var xi=v(ki=>{"use strict";var bs=P(),gs=Se(),ys=xe(),Be=class r extends ys.YAMLMap{constructor(e){super(e),this.tag=r.tag}add(e){let t;bs.isPair(e)?t=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?t=new gs.Pair(e.key,null):t=new gs.Pair(e,null),ys.findPair(this.items,t.key)||this.items.push(t)}get(e,t){let s=ys.findPair(this.items,e);return!t&&bs.isPair(s)?bs.isScalar(s.key)?s.key.value:s.key:s}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 s=ys.findPair(this.items,e);s&&!t?this.items.splice(this.items.indexOf(s),1):!s&&t&&this.items.push(new gs.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,s){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,s);throw new Error("Set items must all have null values")}static from(e,t,s){let{replacer:n}=s,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let o of t)typeof n=="function"&&(o=n.call(t,o,o)),i.items.push(gs.createPair(o,null,s));return i}};Be.tag="tag:yaml.org,2002:set";var Zh={collection:"map",identify:r=>r instanceof Set,nodeClass:Be,default:!1,tag:"tag:yaml.org,2002:set",createNode:(r,e,t)=>Be.from(r,e,t),resolve(r,e){if(bs.isMap(r)){if(r.hasAllNullValues(!0))return Object.assign(new Be,r);e("Set items must all have null values")}else e("Expected a mapping for this tag");return r}};ki.YAMLSet=Be;ki.set=Zh});var Ai=v(ws=>{"use strict";var em=ot();function Ei(r,e){let t=r[0],s=t==="-"||t==="+"?r.substring(1):r,n=o=>e?BigInt(o):Number(o),i=s.replace(/_/g,"").split(":").reduce((o,a)=>o*n(60)+n(a),n(0));return t==="-"?n(-1)*i:i}function Qc(r){let{value:e}=r,t=o=>o;if(typeof e=="bigint")t=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return em.stringifyNumber(r);let s="";e<0&&(s="-",e*=t(-1));let n=t(60),i=[e%n];return e<60?i.unshift(0):(e=(e-i[0])/n,i.unshift(e%n),e>=60&&(e=(e-i[0])/n,i.unshift(e))),s+i.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var tm={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})=>Ei(r,t),stringify:Qc},rm={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=>Ei(r,!1),stringify:Qc},Xc={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(Xc.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,t,s,n,i,o,a]=e.map(Number),c=e[7]?Number((e[7]+"00").substr(1,3)):0,l=Date.UTC(t,s-1,n,i||0,o||0,a||0,c),f=e[8];if(f&&f!=="Z"){let u=Ei(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$/,"")??""};ws.floatTime=rm;ws.intTime=tm;ws.timestamp=Xc});var tl=v(el=>{"use strict";var sm=nt(),nm=os(),im=it(),om=jt(),am=hi(),Zc=Yc(),Ti=Hc(),vs=zc(),cm=Xr(),lm=bi(),um=ps(),fm=xi(),Pi=Ai(),dm=[sm.map,im.seq,om.string,nm.nullTag,Zc.trueTag,Zc.falseTag,vs.intBin,vs.intOct,vs.int,vs.intHex,Ti.floatNaN,Ti.floatExp,Ti.float,am.binary,cm.merge,lm.omap,um.pairs,fm.set,Pi.intTime,Pi.floatTime,Pi.timestamp];el.schema=dm});var fl=v(Ci=>{"use strict";var il=nt(),pm=os(),ol=it(),hm=jt(),mm=oi(),Oi=ci(),Ni=ui(),gm=Lc(),ym=Dc(),al=hi(),Wt=Xr(),cl=bi(),ll=ps(),rl=tl(),ul=xi(),Ss=Ai(),sl=new Map([["core",gm.schema],["failsafe",[il.map,ol.seq,hm.string]],["json",ym.schema],["yaml11",rl.schema],["yaml-1.1",rl.schema]]),nl={binary:al.binary,bool:mm.boolTag,float:Oi.float,floatExp:Oi.floatExp,floatNaN:Oi.floatNaN,floatTime:Ss.floatTime,int:Ni.int,intHex:Ni.intHex,intOct:Ni.intOct,intTime:Ss.intTime,map:il.map,merge:Wt.merge,null:pm.nullTag,omap:cl.omap,pairs:ll.pairs,seq:ol.seq,set:ul.set,timestamp:Ss.timestamp},bm={"tag:yaml.org,2002:binary":al.binary,"tag:yaml.org,2002:merge":Wt.merge,"tag:yaml.org,2002:omap":cl.omap,"tag:yaml.org,2002:pairs":ll.pairs,"tag:yaml.org,2002:set":ul.set,"tag:yaml.org,2002:timestamp":Ss.timestamp};function wm(r,e,t){let s=sl.get(e);if(s&&!r)return t&&!s.includes(Wt.merge)?s.concat(Wt.merge):s.slice();let n=s;if(!n)if(Array.isArray(r))n=[];else{let i=Array.from(sl.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)n=n.concat(i);else typeof r=="function"&&(n=r(n.slice()));return t&&(n=n.concat(Wt.merge)),n.reduce((i,o)=>{let a=typeof o=="string"?nl[o]:o;if(!a){let c=JSON.stringify(o),l=Object.keys(nl).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},[])}Ci.coreKnownTags=bm;Ci.getTags=wm});var _i=v(dl=>{"use strict";var Ri=P(),vm=nt(),Sm=it(),km=jt(),ks=fl(),xm=(r,e)=>r.key<e.key?-1:r.key>e.key?1:0,Ii=class r{constructor({compat:e,customTags:t,merge:s,resolveKnownTags:n,schema:i,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?ks.getTags(e,"compat"):e?ks.getTags(null,e):null,this.name=typeof i=="string"&&i||"core",this.knownTags=n?ks.coreKnownTags:{},this.tags=ks.getTags(t,this.name,s),this.toStringOptions=a??null,Object.defineProperty(this,Ri.MAP,{value:vm.map}),Object.defineProperty(this,Ri.SCALAR,{value:km.string}),Object.defineProperty(this,Ri.SEQ,{value:Sm.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?xm:null}clone(){let e=Object.create(r.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};dl.Schema=Ii});var hl=v(pl=>{"use strict";var Em=P(),Li=Dt(),Yt=_t();function Am(r,e){let t=[],s=e.directives===!0;if(e.directives!==!1&&r.directives){let c=r.directives.toString(r);c?(t.push(c),s=!0):r.directives.docStart&&(s=!0)}s&&t.push("---");let n=Li.createStringifyContext(r,e),{commentString:i}=n.options;if(r.commentBefore){t.length!==1&&t.unshift("");let c=i(r.commentBefore);t.unshift(Yt.indentComment(c,""))}let o=!1,a=null;if(r.contents){if(Em.isNode(r.contents)){if(r.contents.spaceBefore&&s&&t.push(""),r.contents.commentBefore){let f=i(r.contents.commentBefore);t.push(Yt.indentComment(f,""))}n.forceBlockIndent=!!r.comment,a=r.contents.comment}let c=a?void 0:()=>o=!0,l=Li.stringify(r.contents,n,()=>a=null,c);a&&(l+=Yt.lineComment(l,"",i(a))),(l[0]==="|"||l[0]===">")&&t[t.length-1]==="---"?t[t.length-1]=`--- ${l}`:t.push(l)}else t.push(Li.stringify(r.contents,n));if(r.directives?.docEnd)if(r.comment){let c=i(r.comment);c.includes(`
61
- `)?(t.push("..."),t.push(Yt.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(Yt.indentComment(i(c),"")))}return t.join(`
60
+ ${i.comment}`:s.comment}s=n}r.items[t]=fs.isPair(s)?s:new yi.Pair(s)}}else e("Expected a sequence for this tag");return r}function Kc(r,e,t){let{replacer:s}=t,n=new Vh.YAMLSeq(r);n.tag="tag:yaml.org,2002:pairs";let i=0;if(e&&Symbol.iterator in Object(e))for(let o of e){typeof s=="function"&&(o=s.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;n.items.push(yi.createPair(a,c,t))}return n}var Yh={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Jc,createNode:Kc};ds.createPairs=Kc;ds.pairs=Yh;ds.resolvePairs=Jc});var vi=v(wi=>{"use strict";var Wc=P(),bi=ve(),Kt=Te(),Hh=Pe(),Vc=ps(),Be=class r extends Hh.YAMLSeq{constructor(){super(),this.add=Kt.YAMLMap.prototype.add.bind(this),this.delete=Kt.YAMLMap.prototype.delete.bind(this),this.get=Kt.YAMLMap.prototype.get.bind(this),this.has=Kt.YAMLMap.prototype.has.bind(this),this.set=Kt.YAMLMap.prototype.set.bind(this),this.tag=r.tag}toJSON(e,t){if(!t)return super.toJSON(e);let s=new Map;t?.onCreate&&t.onCreate(s);for(let n of this.items){let i,o;if(Wc.isPair(n)?(i=bi.toJS(n.key,"",t),o=bi.toJS(n.value,i,t)):i=bi.toJS(n,"",t),s.has(i))throw new Error("Ordered maps must not include duplicate keys");s.set(i,o)}return s}static from(e,t,s){let n=Vc.createPairs(e,t,s),i=new this;return i.items=n.items,i}};Be.tag="tag:yaml.org,2002:omap";var Gh={collection:"seq",identify:r=>r instanceof Map,nodeClass:Be,default:!1,tag:"tag:yaml.org,2002:omap",resolve(r,e){let t=Vc.resolvePairs(r,e),s=[];for(let{key:n}of t.items)Wc.isScalar(n)&&(s.includes(n.value)?e(`Ordered maps must not include duplicate keys: ${n.value}`):s.push(n.value));return Object.assign(new Be,t)},createNode:(r,e,t)=>Be.from(r,e,t)};wi.YAMLOMap=Be;wi.omap=Gh});var Qc=v(Si=>{"use strict";var Yc=_();function Hc({value:r,source:e},t){return e&&(r?Gc:zc).test.test(e)?e:r?t.options.trueStr:t.options.falseStr}var Gc={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 Yc.Scalar(!0),stringify:Hc},zc={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 Yc.Scalar(!1),stringify:Hc};Si.falseTag=zc;Si.trueTag=Gc});var Xc=v(hs=>{"use strict";var zh=_(),ki=at(),Qh={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:ki.stringifyNumber},Xh={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():ki.stringifyNumber(r)}},Zh={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 zh.Scalar(parseFloat(r.replace(/_/g,""))),t=r.indexOf(".");if(t!==-1){let s=r.substring(t+1).replace(/_/g,"");s[s.length-1]==="0"&&(e.minFractionDigits=s.length)}return e},stringify:ki.stringifyNumber};hs.float=Zh;hs.floatExp=Xh;hs.floatNaN=Qh});var el=v(Vt=>{"use strict";var Zc=at(),Wt=r=>typeof r=="bigint"||Number.isInteger(r);function ms(r,e,t,{intAsBigInt:s}){let n=r[0];if((n==="-"||n==="+")&&(e+=1),r=r.substring(e).replace(/_/g,""),s){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 n==="-"?BigInt(-1)*o:o}let i=parseInt(r,t);return n==="-"?-1*i:i}function xi(r,e,t){let{value:s}=r;if(Wt(s)){let n=s.toString(e);return s<0?"-"+t+n.substr(1):t+n}return Zc.stringifyNumber(r)}var em={identify:Wt,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(r,e,t)=>ms(r,2,2,t),stringify:r=>xi(r,2,"0b")},tm={identify:Wt,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(r,e,t)=>ms(r,1,8,t),stringify:r=>xi(r,8,"0")},rm={identify:Wt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(r,e,t)=>ms(r,0,10,t),stringify:Zc.stringifyNumber},sm={identify:Wt,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(r,e,t)=>ms(r,2,16,t),stringify:r=>xi(r,16,"0x")};Vt.int=rm;Vt.intBin=em;Vt.intHex=sm;Vt.intOct=tm});var Ai=v(Ei=>{"use strict";var bs=P(),gs=Ee(),ys=Te(),qe=class r extends ys.YAMLMap{constructor(e){super(e),this.tag=r.tag}add(e){let t;bs.isPair(e)?t=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?t=new gs.Pair(e.key,null):t=new gs.Pair(e,null),ys.findPair(this.items,t.key)||this.items.push(t)}get(e,t){let s=ys.findPair(this.items,e);return!t&&bs.isPair(s)?bs.isScalar(s.key)?s.key.value:s.key:s}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 s=ys.findPair(this.items,e);s&&!t?this.items.splice(this.items.indexOf(s),1):!s&&t&&this.items.push(new gs.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,s){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,s);throw new Error("Set items must all have null values")}static from(e,t,s){let{replacer:n}=s,i=new this(e);if(t&&Symbol.iterator in Object(t))for(let o of t)typeof n=="function"&&(o=n.call(t,o,o)),i.items.push(gs.createPair(o,null,s));return i}};qe.tag="tag:yaml.org,2002:set";var nm={collection:"map",identify:r=>r instanceof Set,nodeClass:qe,default:!1,tag:"tag:yaml.org,2002:set",createNode:(r,e,t)=>qe.from(r,e,t),resolve(r,e){if(bs.isMap(r)){if(r.hasAllNullValues(!0))return Object.assign(new qe,r);e("Set items must all have null values")}else e("Expected a mapping for this tag");return r}};Ei.YAMLSet=qe;Ei.set=nm});var Pi=v(ws=>{"use strict";var im=at();function Ti(r,e){let t=r[0],s=t==="-"||t==="+"?r.substring(1):r,n=o=>e?BigInt(o):Number(o),i=s.replace(/_/g,"").split(":").reduce((o,a)=>o*n(60)+n(a),n(0));return t==="-"?n(-1)*i:i}function tl(r){let{value:e}=r,t=o=>o;if(typeof e=="bigint")t=o=>BigInt(o);else if(isNaN(e)||!isFinite(e))return im.stringifyNumber(r);let s="";e<0&&(s="-",e*=t(-1));let n=t(60),i=[e%n];return e<60?i.unshift(0):(e=(e-i[0])/n,i.unshift(e%n),e>=60&&(e=(e-i[0])/n,i.unshift(e))),s+i.map(o=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var om={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})=>Ti(r,t),stringify:tl},am={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=>Ti(r,!1),stringify:tl},rl={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(rl.test);if(!e)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,t,s,n,i,o,a]=e.map(Number),c=e[7]?Number((e[7]+"00").substr(1,3)):0,l=Date.UTC(t,s-1,n,i||0,o||0,a||0,c),f=e[8];if(f&&f!=="Z"){let u=Ti(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$/,"")??""};ws.floatTime=am;ws.intTime=om;ws.timestamp=rl});var il=v(nl=>{"use strict";var cm=it(),lm=os(),um=ot(),fm=Ut(),dm=gi(),sl=Qc(),Oi=Xc(),vs=el(),pm=Xr(),hm=vi(),mm=ps(),gm=Ai(),Ni=Pi(),ym=[cm.map,um.seq,fm.string,lm.nullTag,sl.trueTag,sl.falseTag,vs.intBin,vs.intOct,vs.int,vs.intHex,Oi.floatNaN,Oi.floatExp,Oi.float,dm.binary,pm.merge,hm.omap,mm.pairs,gm.set,Ni.intTime,Ni.floatTime,Ni.timestamp];nl.schema=ym});var ml=v(Ii=>{"use strict";var ll=it(),bm=os(),ul=ot(),wm=Ut(),vm=ci(),Ci=ui(),Ri=di(),Sm=Bc(),km=jc(),fl=gi(),Yt=Xr(),dl=vi(),pl=ps(),ol=il(),hl=Ai(),Ss=Pi(),al=new Map([["core",Sm.schema],["failsafe",[ll.map,ul.seq,wm.string]],["json",km.schema],["yaml11",ol.schema],["yaml-1.1",ol.schema]]),cl={binary:fl.binary,bool:vm.boolTag,float:Ci.float,floatExp:Ci.floatExp,floatNaN:Ci.floatNaN,floatTime:Ss.floatTime,int:Ri.int,intHex:Ri.intHex,intOct:Ri.intOct,intTime:Ss.intTime,map:ll.map,merge:Yt.merge,null:bm.nullTag,omap:dl.omap,pairs:pl.pairs,seq:ul.seq,set:hl.set,timestamp:Ss.timestamp},xm={"tag:yaml.org,2002:binary":fl.binary,"tag:yaml.org,2002:merge":Yt.merge,"tag:yaml.org,2002:omap":dl.omap,"tag:yaml.org,2002:pairs":pl.pairs,"tag:yaml.org,2002:set":hl.set,"tag:yaml.org,2002:timestamp":Ss.timestamp};function Em(r,e,t){let s=al.get(e);if(s&&!r)return t&&!s.includes(Yt.merge)?s.concat(Yt.merge):s.slice();let n=s;if(!n)if(Array.isArray(r))n=[];else{let i=Array.from(al.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)n=n.concat(i);else typeof r=="function"&&(n=r(n.slice()));return t&&(n=n.concat(Yt.merge)),n.reduce((i,o)=>{let a=typeof o=="string"?cl[o]:o;if(!a){let c=JSON.stringify(o),l=Object.keys(cl).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},[])}Ii.coreKnownTags=xm;Ii.getTags=Em});var $i=v(gl=>{"use strict";var _i=P(),Am=it(),Tm=ot(),Pm=Ut(),ks=ml(),Om=(r,e)=>r.key<e.key?-1:r.key>e.key?1:0,Li=class r{constructor({compat:e,customTags:t,merge:s,resolveKnownTags:n,schema:i,sortMapEntries:o,toStringDefaults:a}){this.compat=Array.isArray(e)?ks.getTags(e,"compat"):e?ks.getTags(null,e):null,this.name=typeof i=="string"&&i||"core",this.knownTags=n?ks.coreKnownTags:{},this.tags=ks.getTags(t,this.name,s),this.toStringOptions=a??null,Object.defineProperty(this,_i.MAP,{value:Am.map}),Object.defineProperty(this,_i.SCALAR,{value:Pm.string}),Object.defineProperty(this,_i.SEQ,{value:Tm.seq}),this.sortMapEntries=typeof o=="function"?o:o===!0?Om:null}clone(){let e=Object.create(r.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}};gl.Schema=Li});var bl=v(yl=>{"use strict";var Nm=P(),Mi=Bt(),Ht=Lt();function Cm(r,e){let t=[],s=e.directives===!0;if(e.directives!==!1&&r.directives){let c=r.directives.toString(r);c?(t.push(c),s=!0):r.directives.docStart&&(s=!0)}s&&t.push("---");let n=Mi.createStringifyContext(r,e),{commentString:i}=n.options;if(r.commentBefore){t.length!==1&&t.unshift("");let c=i(r.commentBefore);t.unshift(Ht.indentComment(c,""))}let o=!1,a=null;if(r.contents){if(Nm.isNode(r.contents)){if(r.contents.spaceBefore&&s&&t.push(""),r.contents.commentBefore){let f=i(r.contents.commentBefore);t.push(Ht.indentComment(f,""))}n.forceBlockIndent=!!r.comment,a=r.contents.comment}let c=a?void 0:()=>o=!0,l=Mi.stringify(r.contents,n,()=>a=null,c);a&&(l+=Ht.lineComment(l,"",i(a))),(l[0]==="|"||l[0]===">")&&t[t.length-1]==="---"?t[t.length-1]=`--- ${l}`:t.push(l)}else t.push(Mi.stringify(r.contents,n));if(r.directives?.docEnd)if(r.comment){let c=i(r.comment);c.includes(`
61
+ `)?(t.push("..."),t.push(Ht.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(Ht.indentComment(i(c),"")))}return t.join(`
62
62
  `)+`
63
- `}pl.stringifyDocument=Am});var Ht=v(ml=>{"use strict";var Tm=Rt(),at=Jr(),G=P(),Pm=Se(),Om=ye(),Nm=_i(),Cm=hl(),$i=qr(),Rm=qn(),Im=It(),Mi=Bn(),Di=class r{constructor(e,t,s){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,G.NODE_TYPE,{value:G.DOC});let n=null;typeof t=="function"||Array.isArray(t)?n=t:s===void 0&&t&&(s=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"},s);this.options=i;let{version:o}=i;s?._directives?(this.directives=s._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new Mi.Directives({version:o}),this.setSchema(o,s),this.contents=e===void 0?null:this.createNode(e,n,s)}clone(){let e=Object.create(r.prototype,{[G.NODE_TYPE]:{value:G.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=G.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){ct(this.contents)&&this.contents.add(e)}addIn(e,t){ct(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let s=$i.anchorNames(this);e.anchor=!t||s.has(t)?$i.findNewAnchor(t||"a",s):t}return new Tm.Alias(e.anchor)}createNode(e,t,s){let n;if(typeof t=="function")e=t.call({"":e},"",e),n=t;else if(Array.isArray(t)){let y=m=>typeof m=="number"||m instanceof String||m instanceof Number,k=t.filter(y).map(String);k.length>0&&(t=t.concat(k)),n=t}else s===void 0&&t&&(s=t,t=void 0);let{aliasDuplicateObjects:i,anchorPrefix:o,flow:a,keepUndefined:c,onTagObj:l,tag:f}=s??{},{onAnchor:u,setAnchors:d,sourceObjects:p}=$i.createNodeAnchors(this,o||"a"),g={aliasDuplicateObjects:i??!0,keepUndefined:c??!1,onAnchor:u,onTagObj:l,replacer:n,schema:this.schema,sourceObjects:p},h=Im.createNode(e,f,g);return a&&G.isCollection(h)&&(h.flow=!0),d(),h}createPair(e,t,s={}){let n=this.createNode(e,null,s),i=this.createNode(t,null,s);return new Pm.Pair(n,i)}delete(e){return ct(this.contents)?this.contents.delete(e):!1}deleteIn(e){return at.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):ct(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return G.isCollection(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return at.isEmptyPath(e)?!t&&G.isScalar(this.contents)?this.contents.value:this.contents:G.isCollection(this.contents)?this.contents.getIn(e,t):void 0}has(e){return G.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return at.isEmptyPath(e)?this.contents!==void 0:G.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=at.collectionFromPath(this.schema,[e],t):ct(this.contents)&&this.contents.set(e,t)}setIn(e,t){at.isEmptyPath(e)?this.contents=t:this.contents==null?this.contents=at.collectionFromPath(this.schema,Array.from(e),t):ct(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e=="number"&&(e=String(e));let s;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Mi.Directives({version:"1.1"}),s={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new Mi.Directives({version:e}),s={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,s=null;break;default:{let n=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${n}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(s)this.schema=new Nm.Schema(Object.assign(s,t));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:s,maxAliasCount:n,onAnchor:i,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},c=Om.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"?Rm.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 Cm.stringifyDocument(this,e)}};function ct(r){if(G.isCollection(r))return!0;throw new Error("Expected a YAML collection as document contents")}ml.Document=Di});var Qt=v(zt=>{"use strict";var Gt=class extends Error{constructor(e,t,s,n){super(),this.name=e,this.code=s,this.message=n,this.pos=t}},Bi=class extends Gt{constructor(e,t,s){super("YAMLParseError",e,t,s)}},qi=class extends Gt{constructor(e,t,s){super("YAMLWarning",e,t,s)}},_m=(r,e)=>t=>{if(t.pos[0]===-1)return;t.linePos=t.pos.map(a=>e.linePos(a));let{line:s,col:n}=t.linePos[0];t.message+=` at line ${s}, column ${n}`;let i=n-1,o=r.substring(e.lineStarts[s-1],e.lineStarts[s]).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"),s>1&&/^ *$/.test(o.substring(0,i))){let a=r.substring(e.lineStarts[s-2],e.lineStarts[s-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
63
+ `}yl.stringifyDocument=Cm});var Gt=v(wl=>{"use strict";var Rm=It(),ct=Jr(),G=P(),Im=Ee(),_m=ve(),Lm=$i(),$m=bl(),Di=qr(),Mm=jn(),Dm=_t(),Bi=Fn(),qi=class r{constructor(e,t,s){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,G.NODE_TYPE,{value:G.DOC});let n=null;typeof t=="function"||Array.isArray(t)?n=t:s===void 0&&t&&(s=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"},s);this.options=i;let{version:o}=i;s?._directives?(this.directives=s._directives.atDocument(),this.directives.yaml.explicit&&(o=this.directives.yaml.version)):this.directives=new Bi.Directives({version:o}),this.setSchema(o,s),this.contents=e===void 0?null:this.createNode(e,n,s)}clone(){let e=Object.create(r.prototype,{[G.NODE_TYPE]:{value:G.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=G.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range&&(e.range=this.range.slice()),e}add(e){lt(this.contents)&&this.contents.add(e)}addIn(e,t){lt(this.contents)&&this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let s=Di.anchorNames(this);e.anchor=!t||s.has(t)?Di.findNewAnchor(t||"a",s):t}return new Rm.Alias(e.anchor)}createNode(e,t,s){let n;if(typeof t=="function")e=t.call({"":e},"",e),n=t;else if(Array.isArray(t)){let y=m=>typeof m=="number"||m instanceof String||m instanceof Number,k=t.filter(y).map(String);k.length>0&&(t=t.concat(k)),n=t}else s===void 0&&t&&(s=t,t=void 0);let{aliasDuplicateObjects:i,anchorPrefix:o,flow:a,keepUndefined:c,onTagObj:l,tag:f}=s??{},{onAnchor:u,setAnchors:d,sourceObjects:p}=Di.createNodeAnchors(this,o||"a"),g={aliasDuplicateObjects:i??!0,keepUndefined:c??!1,onAnchor:u,onTagObj:l,replacer:n,schema:this.schema,sourceObjects:p},h=Dm.createNode(e,f,g);return a&&G.isCollection(h)&&(h.flow=!0),d(),h}createPair(e,t,s={}){let n=this.createNode(e,null,s),i=this.createNode(t,null,s);return new Im.Pair(n,i)}delete(e){return lt(this.contents)?this.contents.delete(e):!1}deleteIn(e){return ct.isEmptyPath(e)?this.contents==null?!1:(this.contents=null,!0):lt(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return G.isCollection(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){return ct.isEmptyPath(e)?!t&&G.isScalar(this.contents)?this.contents.value:this.contents:G.isCollection(this.contents)?this.contents.getIn(e,t):void 0}has(e){return G.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){return ct.isEmptyPath(e)?this.contents!==void 0:G.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,t){this.contents==null?this.contents=ct.collectionFromPath(this.schema,[e],t):lt(this.contents)&&this.contents.set(e,t)}setIn(e,t){ct.isEmptyPath(e)?this.contents=t:this.contents==null?this.contents=ct.collectionFromPath(this.schema,Array.from(e),t):lt(this.contents)&&this.contents.setIn(e,t)}setSchema(e,t={}){typeof e=="number"&&(e=String(e));let s;switch(e){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new Bi.Directives({version:"1.1"}),s={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=e:this.directives=new Bi.Directives({version:e}),s={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,s=null;break;default:{let n=JSON.stringify(e);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${n}`)}}if(t.schema instanceof Object)this.schema=t.schema;else if(s)this.schema=new Lm.Schema(Object.assign(s,t));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:s,maxAliasCount:n,onAnchor:i,reviver:o}={}){let a={anchors:new Map,doc:this,keep:!e,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},c=_m.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"?Mm.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 $m.stringifyDocument(this,e)}};function lt(r){if(G.isCollection(r))return!0;throw new Error("Expected a YAML collection as document contents")}wl.Document=qi});var Xt=v(Qt=>{"use strict";var zt=class extends Error{constructor(e,t,s,n){super(),this.name=e,this.code=s,this.message=n,this.pos=t}},Fi=class extends zt{constructor(e,t,s){super("YAMLParseError",e,t,s)}},ji=class extends zt{constructor(e,t,s){super("YAMLWarning",e,t,s)}},Bm=(r,e)=>t=>{if(t.pos[0]===-1)return;t.linePos=t.pos.map(a=>e.linePos(a));let{line:s,col:n}=t.linePos[0];t.message+=` at line ${s}, column ${n}`;let i=n-1,o=r.substring(e.lineStarts[s-1],e.lineStarts[s]).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"),s>1&&/^ *$/.test(o.substring(0,i))){let a=r.substring(e.lineStarts[s-2],e.lineStarts[s-1]);a.length>80&&(a=a.substring(0,79)+`\u2026
64
64
  `),o=a+o}if(/[^ ]/.test(o)){let a=1,c=t.linePos[1];c?.line===s&&c.col>n&&(a=Math.max(1,Math.min(c.col-n,80-i)));let l=" ".repeat(i)+"^".repeat(a);t.message+=`:
65
65
 
66
66
  ${o}
67
67
  ${l}
68
- `}};zt.YAMLError=Gt;zt.YAMLParseError=Bi;zt.YAMLWarning=qi;zt.prettifyError=_m});var Xt=v(gl=>{"use strict";function Lm(r,{flow:e,indicator:t,next:s,offset:n,onError:i,parentIndent:o,startOnNewline:a}){let c=!1,l=a,f=a,u="",d="",p=!1,g=!1,h=null,y=null,k=null,m=null,b=null,w=null,x=null;for(let S of r)switch(g&&(S.type!=="space"&&S.type!=="newline"&&S.type!=="comma"&&i(S.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g=!1),h&&(l&&S.type!=="comment"&&S.type!=="newline"&&i(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),h=null),S.type){case"space":!e&&(t!=="doc-start"||s?.type!=="flow-collection")&&S.source.includes(" ")&&(h=S),f=!0;break;case"comment":{f||i(S,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let O=S.source.substring(1)||" ";u?u+=d+O:u=O,d="",l=!1;break}case"newline":l?u?u+=S.source:(!w||t!=="seq-item-ind")&&(c=!0):d+=S.source,l=!0,p=!0,(y||k)&&(m=S),f=!0;break;case"anchor":y&&i(S,"MULTIPLE_ANCHORS","A node can have at most one anchor"),S.source.endsWith(":")&&i(S.offset+S.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),y=S,x??(x=S.offset),l=!1,f=!1,g=!0;break;case"tag":{k&&i(S,"MULTIPLE_TAGS","A node can have at most one tag"),k=S,x??(x=S.offset),l=!1,f=!1,g=!0;break}case t:(y||k)&&i(S,"BAD_PROP_ORDER",`Anchors and tags must be after the ${S.source} indicator`),w&&i(S,"UNEXPECTED_TOKEN",`Unexpected ${S.source} in ${e??"collection"}`),w=S,l=t==="seq-item-ind"||t==="explicit-key-ind",f=!1;break;case"comma":if(e){b&&i(S,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),b=S,l=!1,f=!1;break}default:i(S,"UNEXPECTED_TOKEN",`Unexpected ${S.type} token`),l=!1,f=!1}let E=r[r.length-1],T=E?E.offset+E.source.length:n;return g&&s&&s.type!=="space"&&s.type!=="newline"&&s.type!=="comma"&&(s.type!=="scalar"||s.source!=="")&&i(s.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),h&&(l&&h.indent<=o||s?.type==="block-map"||s?.type==="block-seq")&&i(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:b,found:w,spaceBefore:c,comment:u,hasNewline:p,anchor:y,tag:k,newlineAfterProp:m,end:T,start:x??T}}gl.resolveProps=Lm});var xs=v(yl=>{"use strict";function Fi(r){if(!r)return null;switch(r.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(r.source.includes(`
69
- `))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(Fi(e.key)||Fi(e.value))return!0}return!1;default:return!0}}yl.containsNewline=Fi});var ji=v(bl=>{"use strict";var $m=xs();function Mm(r,e,t){if(e?.type==="flow-collection"){let s=e.end[0];s.indent===r&&(s.source==="]"||s.source==="}")&&$m.containsNewline(e)&&t(s,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}bl.flowIndentCheck=Mm});var Ui=v(vl=>{"use strict";var wl=P();function Dm(r,e,t){let{uniqueKeys:s}=r.options;if(s===!1)return!1;let n=typeof s=="function"?s:(i,o)=>i===o||wl.isScalar(i)&&wl.isScalar(o)&&i.value===o.value;return e.some(i=>n(i.key,t))}vl.mapIncludes=Dm});var Tl=v(Al=>{"use strict";var Sl=Se(),Bm=xe(),kl=Xt(),qm=xs(),xl=ji(),Fm=Ui(),El="All mapping items must start at the same column";function jm({composeNode:r,composeEmptyNode:e},t,s,n,i){let o=i?.nodeClass??Bm.YAMLMap,a=new o(t.schema);t.atRoot&&(t.atRoot=!1);let c=s.offset,l=null;for(let f of s.items){let{start:u,key:d,sep:p,value:g}=f,h=kl.resolveProps(u,{indicator:"explicit-key-ind",next:d??p?.[0],offset:c,onError:n,parentIndent:s.indent,startOnNewline:!0}),y=!h.found;if(y){if(d&&(d.type==="block-seq"?n(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in d&&d.indent!==s.indent&&n(c,"BAD_INDENT",El)),!h.anchor&&!h.tag&&!p){l=h.end,h.comment&&(a.comment?a.comment+=`
70
- `+h.comment:a.comment=h.comment);continue}(h.newlineAfterProp||qm.containsNewline(d))&&n(d??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else h.found?.indent!==s.indent&&n(c,"BAD_INDENT",El);t.atKey=!0;let k=h.end,m=d?r(t,d,h,n):e(t,k,u,null,h,n);t.schema.compat&&xl.flowIndentCheck(s.indent,d,n),t.atKey=!1,Fm.mapIncludes(t,a.items,m)&&n(k,"DUPLICATE_KEY","Map keys must be unique");let b=kl.resolveProps(p??[],{indicator:"map-value-ind",next:g,offset:m.range[2],onError:n,parentIndent:s.indent,startOnNewline:!d||d.type==="block-scalar"});if(c=b.end,b.found){y&&(g?.type==="block-map"&&!b.hasNewline&&n(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),t.options.strict&&h.start<b.found.offset-1024&&n(m.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let w=g?r(t,g,b,n):e(t,c,p,null,b,n);t.schema.compat&&xl.flowIndentCheck(s.indent,g,n),c=w.range[2];let x=new Sl.Pair(m,w);t.options.keepSourceTokens&&(x.srcToken=f),a.items.push(x)}else{y&&n(m.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),b.comment&&(m.comment?m.comment+=`
71
- `+b.comment:m.comment=b.comment);let w=new Sl.Pair(m);t.options.keepSourceTokens&&(w.srcToken=f),a.items.push(w)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[s.offset,c,l??c],a}Al.resolveBlockMap=jm});var Ol=v(Pl=>{"use strict";var Um=Ee(),Jm=Xt(),Km=ji();function Vm({composeNode:r,composeEmptyNode:e},t,s,n,i){let o=i?.nodeClass??Um.YAMLSeq,a=new o(t.schema);t.atRoot&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let c=s.offset,l=null;for(let{start:f,value:u}of s.items){let d=Jm.resolveProps(f,{indicator:"seq-item-ind",next:u,offset:c,onError:n,parentIndent:s.indent,startOnNewline:!0});if(!d.found)if(d.anchor||d.tag||u)u?.type==="block-seq"?n(d.end,"BAD_INDENT","All sequence items must start at the same column"):n(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,n):e(t,d.end,f,null,d,n);t.schema.compat&&Km.flowIndentCheck(s.indent,u,n),c=p.range[2],a.items.push(p)}return a.range=[s.offset,c,l??c],a}Pl.resolveBlockSeq=Vm});var lt=v(Nl=>{"use strict";function Wm(r,e,t,s){let n="";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&&s(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let f=c.substring(1)||" ";n?n+=o+f:n=f,o="";break}case"newline":n&&(o+=c),i=!0;break;default:s(a,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}e+=c.length}}return{comment:n,offset:e}}Nl.resolveEnd=Wm});var _l=v(Il=>{"use strict";var Ym=P(),Hm=Se(),Cl=xe(),Gm=Ee(),zm=lt(),Rl=Xt(),Qm=xs(),Xm=Ui(),Ji="Block collections are not allowed within flow collections",Ki=r=>r&&(r.type==="block-map"||r.type==="block-seq");function Zm({composeNode:r,composeEmptyNode:e},t,s,n,i){let o=s.start.source==="{",a=o?"flow map":"flow sequence",c=i?.nodeClass??(o?Cl.YAMLMap:Gm.YAMLSeq),l=new c(t.schema);l.flow=!0;let f=t.atRoot;f&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let u=s.offset+s.start.source.length;for(let y=0;y<s.items.length;++y){let k=s.items[y],{start:m,key:b,sep:w,value:x}=k,E=Rl.resolveProps(m,{flow:a,indicator:"explicit-key-ind",next:b??w?.[0],offset:u,onError:n,parentIndent:s.indent,startOnNewline:!1});if(!E.found){if(!E.anchor&&!E.tag&&!w&&!x){y===0&&E.comma?n(E.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):y<s.items.length-1&&n(E.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),E.comment&&(l.comment?l.comment+=`
72
- `+E.comment:l.comment=E.comment),u=E.end;continue}!o&&t.options.strict&&Qm.containsNewline(b)&&n(b,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(y===0)E.comma&&n(E.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(E.comma||n(E.start,"MISSING_CHAR",`Missing , between ${a} items`),E.comment){let T="";e:for(let S of m)switch(S.type){case"comma":case"space":break;case"comment":T=S.source.substring(1);break e;default:break e}if(T){let S=l.items[l.items.length-1];Ym.isPair(S)&&(S=S.value??S.key),S.comment?S.comment+=`
73
- `+T:S.comment=T,E.comment=E.comment.substring(T.length+1)}}if(!o&&!w&&!E.found){let T=x?r(t,x,E,n):e(t,E.end,w,null,E,n);l.items.push(T),u=T.range[2],Ki(x)&&n(T.range,"BLOCK_IN_FLOW",Ji)}else{t.atKey=!0;let T=E.end,S=b?r(t,b,E,n):e(t,T,m,null,E,n);Ki(b)&&n(S.range,"BLOCK_IN_FLOW",Ji),t.atKey=!1;let O=Rl.resolveProps(w??[],{flow:a,indicator:"map-value-ind",next:x,offset:S.range[2],onError:n,parentIndent:s.indent,startOnNewline:!1});if(O.found){if(!o&&!E.found&&t.options.strict){if(w)for(let R of w){if(R===O.found)break;if(R.type==="newline"){n(R,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}E.start<O.found.offset-1024&&n(O.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else x&&("source"in x&&x.source?.[0]===":"?n(x,"MISSING_CHAR",`Missing space after : in ${a}`):n(O.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let J=x?r(t,x,O,n):O.found?e(t,O.end,w,null,O,n):null;J?Ki(x)&&n(J.range,"BLOCK_IN_FLOW",Ji):O.comment&&(S.comment?S.comment+=`
74
- `+O.comment:S.comment=O.comment);let H=new Hm.Pair(S,J);if(t.options.keepSourceTokens&&(H.srcToken=k),o){let R=l;Xm.mapIncludes(t,R.items,S)&&n(T,"DUPLICATE_KEY","Map keys must be unique"),R.items.push(H)}else{let R=new Cl.YAMLMap(t.schema);R.flow=!0,R.items.push(H);let Le=(J??S).range;R.range=[S.range[0],Le[1],Le[2]],l.items.push(R)}u=J?J.range[2]:O.end}}let d=o?"}":"]",[p,...g]=s.end,h=u;if(p?.source===d)h=p.offset+p.source.length;else{let y=a[0].toUpperCase()+a.substring(1),k=f?`${y} must end with a ${d}`:`${y} in block collection must be sufficiently indented and end with a ${d}`;n(u,f?"MISSING_CHAR":"BAD_INDENT",k),p&&p.source.length!==1&&g.unshift(p)}if(g.length>0){let y=zm.resolveEnd(g,h,t.options.strict,n);y.comment&&(l.comment?l.comment+=`
75
- `+y.comment:l.comment=y.comment),l.range=[s.offset,h,y.offset]}else l.range=[s.offset,h,h];return l}Il.resolveFlowCollection=Zm});var $l=v(Ll=>{"use strict";var eg=P(),tg=_(),rg=xe(),sg=Ee(),ng=Tl(),ig=Ol(),og=_l();function Vi(r,e,t,s,n,i){let o=t.type==="block-map"?ng.resolveBlockMap(r,e,t,s,i):t.type==="block-seq"?ig.resolveBlockSeq(r,e,t,s,i):og.resolveFlowCollection(r,e,t,s,i),a=o.constructor;return n==="!"||n===a.tagName?(o.tag=a.tagName,o):(n&&(o.tag=n),o)}function ag(r,e,t,s,n){let i=s.tag,o=i?e.directives.tagName(i.source,d=>n(i,"TAG_RESOLVE_FAILED",d)):null;if(t.type==="block-seq"){let{anchor:d,newlineAfterProp:p}=s,g=d&&i?d.offset>i.offset?d:i:d??i;g&&(!p||p.offset<g.offset)&&n(g,"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===rg.YAMLMap.tagName&&a==="map"||o===sg.YAMLSeq.tagName&&a==="seq")return Vi(r,e,t,n,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?n(i,"BAD_COLLECTION_TYPE",`${d.tag} used for ${a} collection, but expects ${d.collection??"scalar"}`,!0):n(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),Vi(r,e,t,n,o)}let l=Vi(r,e,t,n,o,c),f=c.resolve?.(l,d=>n(i,"TAG_RESOLVE_FAILED",d),e.options)??l,u=eg.isNode(f)?f:new tg.Scalar(f);return u.range=l.range,u.tag=o,c?.format&&(u.format=c.format),u}Ll.composeCollection=ag});var Yi=v(Ml=>{"use strict";var Wi=_();function cg(r,e,t){let s=e.offset,n=lg(e,r.options.strict,t);if(!n)return{value:"",type:null,comment:"",range:[s,s,s]};let i=n.mode===">"?Wi.Scalar.BLOCK_FOLDED:Wi.Scalar.BLOCK_LITERAL,o=e.source?ug(e.source):[],a=o.length;for(let h=o.length-1;h>=0;--h){let y=o[h][1];if(y===""||y==="\r")a=h;else break}if(a===0){let h=n.chomp==="+"&&o.length>0?`
68
+ `}};Qt.YAMLError=zt;Qt.YAMLParseError=Fi;Qt.YAMLWarning=ji;Qt.prettifyError=Bm});var Zt=v(vl=>{"use strict";function qm(r,{flow:e,indicator:t,next:s,offset:n,onError:i,parentIndent:o,startOnNewline:a}){let c=!1,l=a,f=a,u="",d="",p=!1,g=!1,h=null,y=null,k=null,m=null,b=null,w=null,x=null;for(let S of r)switch(g&&(S.type!=="space"&&S.type!=="newline"&&S.type!=="comma"&&i(S.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),g=!1),h&&(l&&S.type!=="comment"&&S.type!=="newline"&&i(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),h=null),S.type){case"space":!e&&(t!=="doc-start"||s?.type!=="flow-collection")&&S.source.includes(" ")&&(h=S),f=!0;break;case"comment":{f||i(S,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let O=S.source.substring(1)||" ";u?u+=d+O:u=O,d="",l=!1;break}case"newline":l?u?u+=S.source:(!w||t!=="seq-item-ind")&&(c=!0):d+=S.source,l=!0,p=!0,(y||k)&&(m=S),f=!0;break;case"anchor":y&&i(S,"MULTIPLE_ANCHORS","A node can have at most one anchor"),S.source.endsWith(":")&&i(S.offset+S.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),y=S,x??(x=S.offset),l=!1,f=!1,g=!0;break;case"tag":{k&&i(S,"MULTIPLE_TAGS","A node can have at most one tag"),k=S,x??(x=S.offset),l=!1,f=!1,g=!0;break}case t:(y||k)&&i(S,"BAD_PROP_ORDER",`Anchors and tags must be after the ${S.source} indicator`),w&&i(S,"UNEXPECTED_TOKEN",`Unexpected ${S.source} in ${e??"collection"}`),w=S,l=t==="seq-item-ind"||t==="explicit-key-ind",f=!1;break;case"comma":if(e){b&&i(S,"UNEXPECTED_TOKEN",`Unexpected , in ${e}`),b=S,l=!1,f=!1;break}default:i(S,"UNEXPECTED_TOKEN",`Unexpected ${S.type} token`),l=!1,f=!1}let E=r[r.length-1],T=E?E.offset+E.source.length:n;return g&&s&&s.type!=="space"&&s.type!=="newline"&&s.type!=="comma"&&(s.type!=="scalar"||s.source!=="")&&i(s.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),h&&(l&&h.indent<=o||s?.type==="block-map"||s?.type==="block-seq")&&i(h,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:b,found:w,spaceBefore:c,comment:u,hasNewline:p,anchor:y,tag:k,newlineAfterProp:m,end:T,start:x??T}}vl.resolveProps=qm});var xs=v(Sl=>{"use strict";function Ui(r){if(!r)return null;switch(r.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(r.source.includes(`
69
+ `))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(Ui(e.key)||Ui(e.value))return!0}return!1;default:return!0}}Sl.containsNewline=Ui});var Ji=v(kl=>{"use strict";var Fm=xs();function jm(r,e,t){if(e?.type==="flow-collection"){let s=e.end[0];s.indent===r&&(s.source==="]"||s.source==="}")&&Fm.containsNewline(e)&&t(s,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}kl.flowIndentCheck=jm});var Ki=v(El=>{"use strict";var xl=P();function Um(r,e,t){let{uniqueKeys:s}=r.options;if(s===!1)return!1;let n=typeof s=="function"?s:(i,o)=>i===o||xl.isScalar(i)&&xl.isScalar(o)&&i.value===o.value;return e.some(i=>n(i.key,t))}El.mapIncludes=Um});var Cl=v(Nl=>{"use strict";var Al=Ee(),Jm=Te(),Tl=Zt(),Km=xs(),Pl=Ji(),Wm=Ki(),Ol="All mapping items must start at the same column";function Vm({composeNode:r,composeEmptyNode:e},t,s,n,i){let o=i?.nodeClass??Jm.YAMLMap,a=new o(t.schema);t.atRoot&&(t.atRoot=!1);let c=s.offset,l=null;for(let f of s.items){let{start:u,key:d,sep:p,value:g}=f,h=Tl.resolveProps(u,{indicator:"explicit-key-ind",next:d??p?.[0],offset:c,onError:n,parentIndent:s.indent,startOnNewline:!0}),y=!h.found;if(y){if(d&&(d.type==="block-seq"?n(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in d&&d.indent!==s.indent&&n(c,"BAD_INDENT",Ol)),!h.anchor&&!h.tag&&!p){l=h.end,h.comment&&(a.comment?a.comment+=`
70
+ `+h.comment:a.comment=h.comment);continue}(h.newlineAfterProp||Km.containsNewline(d))&&n(d??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else h.found?.indent!==s.indent&&n(c,"BAD_INDENT",Ol);t.atKey=!0;let k=h.end,m=d?r(t,d,h,n):e(t,k,u,null,h,n);t.schema.compat&&Pl.flowIndentCheck(s.indent,d,n),t.atKey=!1,Wm.mapIncludes(t,a.items,m)&&n(k,"DUPLICATE_KEY","Map keys must be unique");let b=Tl.resolveProps(p??[],{indicator:"map-value-ind",next:g,offset:m.range[2],onError:n,parentIndent:s.indent,startOnNewline:!d||d.type==="block-scalar"});if(c=b.end,b.found){y&&(g?.type==="block-map"&&!b.hasNewline&&n(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),t.options.strict&&h.start<b.found.offset-1024&&n(m.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));let w=g?r(t,g,b,n):e(t,c,p,null,b,n);t.schema.compat&&Pl.flowIndentCheck(s.indent,g,n),c=w.range[2];let x=new Al.Pair(m,w);t.options.keepSourceTokens&&(x.srcToken=f),a.items.push(x)}else{y&&n(m.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),b.comment&&(m.comment?m.comment+=`
71
+ `+b.comment:m.comment=b.comment);let w=new Al.Pair(m);t.options.keepSourceTokens&&(w.srcToken=f),a.items.push(w)}}return l&&l<c&&n(l,"IMPOSSIBLE","Map comment with trailing content"),a.range=[s.offset,c,l??c],a}Nl.resolveBlockMap=Vm});var Il=v(Rl=>{"use strict";var Ym=Pe(),Hm=Zt(),Gm=Ji();function zm({composeNode:r,composeEmptyNode:e},t,s,n,i){let o=i?.nodeClass??Ym.YAMLSeq,a=new o(t.schema);t.atRoot&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let c=s.offset,l=null;for(let{start:f,value:u}of s.items){let d=Hm.resolveProps(f,{indicator:"seq-item-ind",next:u,offset:c,onError:n,parentIndent:s.indent,startOnNewline:!0});if(!d.found)if(d.anchor||d.tag||u)u?.type==="block-seq"?n(d.end,"BAD_INDENT","All sequence items must start at the same column"):n(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,n):e(t,d.end,f,null,d,n);t.schema.compat&&Gm.flowIndentCheck(s.indent,u,n),c=p.range[2],a.items.push(p)}return a.range=[s.offset,c,l??c],a}Rl.resolveBlockSeq=zm});var ut=v(_l=>{"use strict";function Qm(r,e,t,s){let n="";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&&s(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let f=c.substring(1)||" ";n?n+=o+f:n=f,o="";break}case"newline":n&&(o+=c),i=!0;break;default:s(a,"UNEXPECTED_TOKEN",`Unexpected ${l} at node end`)}e+=c.length}}return{comment:n,offset:e}}_l.resolveEnd=Qm});var Dl=v(Ml=>{"use strict";var Xm=P(),Zm=Ee(),Ll=Te(),eg=Pe(),tg=ut(),$l=Zt(),rg=xs(),sg=Ki(),Wi="Block collections are not allowed within flow collections",Vi=r=>r&&(r.type==="block-map"||r.type==="block-seq");function ng({composeNode:r,composeEmptyNode:e},t,s,n,i){let o=s.start.source==="{",a=o?"flow map":"flow sequence",c=i?.nodeClass??(o?Ll.YAMLMap:eg.YAMLSeq),l=new c(t.schema);l.flow=!0;let f=t.atRoot;f&&(t.atRoot=!1),t.atKey&&(t.atKey=!1);let u=s.offset+s.start.source.length;for(let y=0;y<s.items.length;++y){let k=s.items[y],{start:m,key:b,sep:w,value:x}=k,E=$l.resolveProps(m,{flow:a,indicator:"explicit-key-ind",next:b??w?.[0],offset:u,onError:n,parentIndent:s.indent,startOnNewline:!1});if(!E.found){if(!E.anchor&&!E.tag&&!w&&!x){y===0&&E.comma?n(E.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`):y<s.items.length-1&&n(E.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`),E.comment&&(l.comment?l.comment+=`
72
+ `+E.comment:l.comment=E.comment),u=E.end;continue}!o&&t.options.strict&&rg.containsNewline(b)&&n(b,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(y===0)E.comma&&n(E.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(E.comma||n(E.start,"MISSING_CHAR",`Missing , between ${a} items`),E.comment){let T="";e:for(let S of m)switch(S.type){case"comma":case"space":break;case"comment":T=S.source.substring(1);break e;default:break e}if(T){let S=l.items[l.items.length-1];Xm.isPair(S)&&(S=S.value??S.key),S.comment?S.comment+=`
73
+ `+T:S.comment=T,E.comment=E.comment.substring(T.length+1)}}if(!o&&!w&&!E.found){let T=x?r(t,x,E,n):e(t,E.end,w,null,E,n);l.items.push(T),u=T.range[2],Vi(x)&&n(T.range,"BLOCK_IN_FLOW",Wi)}else{t.atKey=!0;let T=E.end,S=b?r(t,b,E,n):e(t,T,m,null,E,n);Vi(b)&&n(S.range,"BLOCK_IN_FLOW",Wi),t.atKey=!1;let O=$l.resolveProps(w??[],{flow:a,indicator:"map-value-ind",next:x,offset:S.range[2],onError:n,parentIndent:s.indent,startOnNewline:!1});if(O.found){if(!o&&!E.found&&t.options.strict){if(w)for(let R of w){if(R===O.found)break;if(R.type==="newline"){n(R,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}E.start<O.found.offset-1024&&n(O.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else x&&("source"in x&&x.source?.[0]===":"?n(x,"MISSING_CHAR",`Missing space after : in ${a}`):n(O.start,"MISSING_CHAR",`Missing , or : between ${a} items`));let J=x?r(t,x,O,n):O.found?e(t,O.end,w,null,O,n):null;J?Vi(x)&&n(J.range,"BLOCK_IN_FLOW",Wi):O.comment&&(S.comment?S.comment+=`
74
+ `+O.comment:S.comment=O.comment);let H=new Zm.Pair(S,J);if(t.options.keepSourceTokens&&(H.srcToken=k),o){let R=l;sg.mapIncludes(t,R.items,S)&&n(T,"DUPLICATE_KEY","Map keys must be unique"),R.items.push(H)}else{let R=new Ll.YAMLMap(t.schema);R.flow=!0,R.items.push(H);let $e=(J??S).range;R.range=[S.range[0],$e[1],$e[2]],l.items.push(R)}u=J?J.range[2]:O.end}}let d=o?"}":"]",[p,...g]=s.end,h=u;if(p?.source===d)h=p.offset+p.source.length;else{let y=a[0].toUpperCase()+a.substring(1),k=f?`${y} must end with a ${d}`:`${y} in block collection must be sufficiently indented and end with a ${d}`;n(u,f?"MISSING_CHAR":"BAD_INDENT",k),p&&p.source.length!==1&&g.unshift(p)}if(g.length>0){let y=tg.resolveEnd(g,h,t.options.strict,n);y.comment&&(l.comment?l.comment+=`
75
+ `+y.comment:l.comment=y.comment),l.range=[s.offset,h,y.offset]}else l.range=[s.offset,h,h];return l}Ml.resolveFlowCollection=ng});var ql=v(Bl=>{"use strict";var ig=P(),og=_(),ag=Te(),cg=Pe(),lg=Cl(),ug=Il(),fg=Dl();function Yi(r,e,t,s,n,i){let o=t.type==="block-map"?lg.resolveBlockMap(r,e,t,s,i):t.type==="block-seq"?ug.resolveBlockSeq(r,e,t,s,i):fg.resolveFlowCollection(r,e,t,s,i),a=o.constructor;return n==="!"||n===a.tagName?(o.tag=a.tagName,o):(n&&(o.tag=n),o)}function dg(r,e,t,s,n){let i=s.tag,o=i?e.directives.tagName(i.source,d=>n(i,"TAG_RESOLVE_FAILED",d)):null;if(t.type==="block-seq"){let{anchor:d,newlineAfterProp:p}=s,g=d&&i?d.offset>i.offset?d:i:d??i;g&&(!p||p.offset<g.offset)&&n(g,"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===ag.YAMLMap.tagName&&a==="map"||o===cg.YAMLSeq.tagName&&a==="seq")return Yi(r,e,t,n,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?n(i,"BAD_COLLECTION_TYPE",`${d.tag} used for ${a} collection, but expects ${d.collection??"scalar"}`,!0):n(i,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0),Yi(r,e,t,n,o)}let l=Yi(r,e,t,n,o,c),f=c.resolve?.(l,d=>n(i,"TAG_RESOLVE_FAILED",d),e.options)??l,u=ig.isNode(f)?f:new og.Scalar(f);return u.range=l.range,u.tag=o,c?.format&&(u.format=c.format),u}Bl.composeCollection=dg});var Gi=v(Fl=>{"use strict";var Hi=_();function pg(r,e,t){let s=e.offset,n=hg(e,r.options.strict,t);if(!n)return{value:"",type:null,comment:"",range:[s,s,s]};let i=n.mode===">"?Hi.Scalar.BLOCK_FOLDED:Hi.Scalar.BLOCK_LITERAL,o=e.source?mg(e.source):[],a=o.length;for(let h=o.length-1;h>=0;--h){let y=o[h][1];if(y===""||y==="\r")a=h;else break}if(a===0){let h=n.chomp==="+"&&o.length>0?`
76
76
  `.repeat(Math.max(1,o.length-1)):"",y=s+n.length;return e.source&&(y+=e.source.length),{value:h,type:i,comment:n.comment,range:[s,y,y]}}let c=e.indent+n.indent,l=e.offset+n.length,f=0;for(let h=0;h<a;++h){let[y,k]=o[h];if(k===""||k==="\r")n.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"),n.indent===0&&(c=y.length),f=h,c===0&&!r.atRoot&&t(l,"BAD_INDENT","Block scalar values in collections must be indented");break}l+=y.length+k.length+1}for(let h=o.length-1;h>=a;--h)o[h][0].length>c&&(a=h+1);let u="",d="",p=!1;for(let h=0;h<f;++h)u+=o[h][0].slice(c)+`
77
- `;for(let h=f;h<a;++h){let[y,k]=o[h];l+=y.length+k.length+1;let m=k[k.length-1]==="\r";if(m&&(k=k.slice(0,-1)),k&&y.length<c){let w=`Block scalar lines must not be less indented than their ${n.indent?"explicit indentation indicator":"first line"}`;t(l-k.length-(m?2:1),"BAD_INDENT",w),y=""}i===Wi.Scalar.BLOCK_LITERAL?(u+=d+y.slice(c)+k,d=`
77
+ `;for(let h=f;h<a;++h){let[y,k]=o[h];l+=y.length+k.length+1;let m=k[k.length-1]==="\r";if(m&&(k=k.slice(0,-1)),k&&y.length<c){let w=`Block scalar lines must not be less indented than their ${n.indent?"explicit indentation indicator":"first line"}`;t(l-k.length-(m?2:1),"BAD_INDENT",w),y=""}i===Hi.Scalar.BLOCK_LITERAL?(u+=d+y.slice(c)+k,d=`
78
78
  `):y.length>c||k[0]===" "?(d===" "?d=`
79
79
  `:!p&&d===`
80
80
  `&&(d=`
@@ -87,72 +87,72 @@ ${l}
87
87
  `+o[h][0].slice(c);u[u.length-1]!==`
88
88
  `&&(u+=`
89
89
  `);break;default:u+=`
90
- `}let g=s+n.length+e.source.length;return{value:u,type:i,comment:n.comment,range:[s,g,g]}}function lg({offset:r,props:e},t,s){if(e[0].type!=="block-scalar-header")return s(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n}=e[0],i=n[0],o=0,a="",c=-1;for(let d=1;d<n.length;++d){let p=n[d];if(!a&&(p==="-"||p==="+"))a=p;else{let g=Number(p);!o&&g?o=g:c===-1&&(c=r+d)}}c!==-1&&s(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${n}`);let l=!1,f="",u=n.length;for(let d=1;d<e.length;++d){let p=e[d];switch(p.type){case"space":l=!0;case"newline":u+=p.source.length;break;case"comment":t&&!l&&s(p,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),u+=p.source.length,f=p.source.substring(1);break;case"error":s(p,"UNEXPECTED_TOKEN",p.message),u+=p.source.length;break;default:{let g=`Unexpected token in block scalar header: ${p.type}`;s(p,"UNEXPECTED_TOKEN",g);let h=p.source;h&&typeof h=="string"&&(u+=h.length)}}}return{mode:i,indent:o,chomp:a,comment:f,length:u}}function ug(r){let e=r.split(/\n( *)/),t=e[0],s=t.match(/^( *)/),i=[s?.[1]?[s[1],t.slice(s[1].length)]:["",t]];for(let o=1;o<e.length;o+=2)i.push([e[o],e[o+1]]);return i}Ml.resolveBlockScalar=cg});var Gi=v(Bl=>{"use strict";var Hi=_(),fg=lt();function dg(r,e,t){let{offset:s,type:n,source:i,end:o}=r,a,c,l=(d,p,g)=>t(s+d,p,g);switch(n){case"scalar":a=Hi.Scalar.PLAIN,c=pg(i,l);break;case"single-quoted-scalar":a=Hi.Scalar.QUOTE_SINGLE,c=hg(i,l);break;case"double-quoted-scalar":a=Hi.Scalar.QUOTE_DOUBLE,c=mg(i,l);break;default:return t(r,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${n}`),{value:"",type:null,comment:"",range:[s,s+i.length,s+i.length]}}let f=s+i.length,u=fg.resolveEnd(o,f,e,t);return{value:c,type:a,comment:u.comment,range:[s,f,u.offset]}}function pg(r,e){let t="";switch(r[0]){case" ":t="a tab character";break;case",":t="flow indicator character ,";break;case"%":t="directive indicator character %";break;case"|":case">":{t=`block scalar indicator ${r[0]}`;break}case"@":case"`":{t=`reserved character ${r[0]}`;break}}return t&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${t}`),Dl(r)}function hg(r,e){return(r[r.length-1]!=="'"||r.length===1)&&e(r.length,"MISSING_CHAR","Missing closing 'quote"),Dl(r.slice(1,-1)).replace(/''/g,"'")}function Dl(r){let e,t;try{e=new RegExp(`(.*?)(?<![ ])[ ]*\r?
90
+ `}let g=s+n.length+e.source.length;return{value:u,type:i,comment:n.comment,range:[s,g,g]}}function hg({offset:r,props:e},t,s){if(e[0].type!=="block-scalar-header")return s(e[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:n}=e[0],i=n[0],o=0,a="",c=-1;for(let d=1;d<n.length;++d){let p=n[d];if(!a&&(p==="-"||p==="+"))a=p;else{let g=Number(p);!o&&g?o=g:c===-1&&(c=r+d)}}c!==-1&&s(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${n}`);let l=!1,f="",u=n.length;for(let d=1;d<e.length;++d){let p=e[d];switch(p.type){case"space":l=!0;case"newline":u+=p.source.length;break;case"comment":t&&!l&&s(p,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),u+=p.source.length,f=p.source.substring(1);break;case"error":s(p,"UNEXPECTED_TOKEN",p.message),u+=p.source.length;break;default:{let g=`Unexpected token in block scalar header: ${p.type}`;s(p,"UNEXPECTED_TOKEN",g);let h=p.source;h&&typeof h=="string"&&(u+=h.length)}}}return{mode:i,indent:o,chomp:a,comment:f,length:u}}function mg(r){let e=r.split(/\n( *)/),t=e[0],s=t.match(/^( *)/),i=[s?.[1]?[s[1],t.slice(s[1].length)]:["",t]];for(let o=1;o<e.length;o+=2)i.push([e[o],e[o+1]]);return i}Fl.resolveBlockScalar=pg});var Qi=v(Ul=>{"use strict";var zi=_(),gg=ut();function yg(r,e,t){let{offset:s,type:n,source:i,end:o}=r,a,c,l=(d,p,g)=>t(s+d,p,g);switch(n){case"scalar":a=zi.Scalar.PLAIN,c=bg(i,l);break;case"single-quoted-scalar":a=zi.Scalar.QUOTE_SINGLE,c=wg(i,l);break;case"double-quoted-scalar":a=zi.Scalar.QUOTE_DOUBLE,c=vg(i,l);break;default:return t(r,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${n}`),{value:"",type:null,comment:"",range:[s,s+i.length,s+i.length]}}let f=s+i.length,u=gg.resolveEnd(o,f,e,t);return{value:c,type:a,comment:u.comment,range:[s,f,u.offset]}}function bg(r,e){let t="";switch(r[0]){case" ":t="a tab character";break;case",":t="flow indicator character ,";break;case"%":t="directive indicator character %";break;case"|":case">":{t=`block scalar indicator ${r[0]}`;break}case"@":case"`":{t=`reserved character ${r[0]}`;break}}return t&&e(0,"BAD_SCALAR_START",`Plain value cannot start with ${t}`),jl(r)}function wg(r,e){return(r[r.length-1]!=="'"||r.length===1)&&e(r.length,"MISSING_CHAR","Missing closing 'quote"),jl(r.slice(1,-1)).replace(/''/g,"'")}function jl(r){let e,t;try{e=new RegExp(`(.*?)(?<![ ])[ ]*\r?
91
91
  `,"sy"),t=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
92
92
  `,"sy")}catch{e=/(.*?)[ \t]*\r?\n/sy,t=/[ \t]*(.*?)[ \t]*\r?\n/sy}let s=e.exec(r);if(!s)return r;let n=s[1],i=" ",o=e.lastIndex;for(t.lastIndex=o;s=t.exec(r);)s[1]===""?i===`
93
93
  `?n+=i:i=`
94
- `:(n+=i+s[1],i=" "),o=t.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=o,s=a.exec(r),n+i+(s?.[1]??"")}function mg(r,e){let t="";for(let s=1;s<r.length-1;++s){let n=r[s];if(!(n==="\r"&&r[s+1]===`
94
+ `:(n+=i+s[1],i=" "),o=t.lastIndex;let a=/[ \t]*(.*)/sy;return a.lastIndex=o,s=a.exec(r),n+i+(s?.[1]??"")}function vg(r,e){let t="";for(let s=1;s<r.length-1;++s){let n=r[s];if(!(n==="\r"&&r[s+1]===`
95
95
  `))if(n===`
96
- `){let{fold:i,offset:o}=gg(r,s);t+=i,s=o}else if(n==="\\"){let i=r[++s],o=yg[i];if(o)t+=o;else if(i===`
96
+ `){let{fold:i,offset:o}=Sg(r,s);t+=i,s=o}else if(n==="\\"){let i=r[++s],o=kg[i];if(o)t+=o;else if(i===`
97
97
  `)for(i=r[s+1];i===" "||i===" ";)i=r[++s+1];else if(i==="\r"&&r[s+1]===`
98
- `)for(i=r[++s+1];i===" "||i===" ";)i=r[++s+1];else if(i==="x"||i==="u"||i==="U"){let a={x:2,u:4,U:8}[i];t+=bg(r,s+1,a,e),s+=a}else{let a=r.substr(s-1,2);e(s-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),t+=a}}else if(n===" "||n===" "){let i=s,o=r[s+1];for(;o===" "||o===" ";)o=r[++s+1];o!==`
98
+ `)for(i=r[++s+1];i===" "||i===" ";)i=r[++s+1];else if(i==="x"||i==="u"||i==="U"){let a={x:2,u:4,U:8}[i];t+=xg(r,s+1,a,e),s+=a}else{let a=r.substr(s-1,2);e(s-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),t+=a}}else if(n===" "||n===" "){let i=s,o=r[s+1];for(;o===" "||o===" ";)o=r[++s+1];o!==`
99
99
  `&&!(o==="\r"&&r[s+2]===`
100
- `)&&(t+=s>i?r.slice(i,s+1):n)}else t+=n}return(r[r.length-1]!=='"'||r.length===1)&&e(r.length,"MISSING_CHAR",'Missing closing "quote'),t}function gg(r,e){let t="",s=r[e+1];for(;(s===" "||s===" "||s===`
100
+ `)&&(t+=s>i?r.slice(i,s+1):n)}else t+=n}return(r[r.length-1]!=='"'||r.length===1)&&e(r.length,"MISSING_CHAR",'Missing closing "quote'),t}function Sg(r,e){let t="",s=r[e+1];for(;(s===" "||s===" "||s===`
101
101
  `||s==="\r")&&!(s==="\r"&&r[e+2]!==`
102
102
  `);)s===`
103
103
  `&&(t+=`
104
- `),e+=1,s=r[e+1];return t||(t=" "),{fold:t,offset:e}}var yg={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
105
- `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function bg(r,e,t,s){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;if(isNaN(o)){let a=r.substr(e-2,t+2);return s(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}return String.fromCodePoint(o)}Bl.resolveFlowScalar=dg});var jl=v(Fl=>{"use strict";var qe=P(),ql=_(),wg=Yi(),vg=Gi();function Sg(r,e,t,s){let{value:n,type:i,comment:o,range:a}=e.type==="block-scalar"?wg.resolveBlockScalar(r,e,s):vg.resolveFlowScalar(e,r.options.strict,s),c=t?r.directives.tagName(t.source,u=>s(t,"TAG_RESOLVE_FAILED",u)):null,l;r.options.stringKeys&&r.atKey?l=r.schema[qe.SCALAR]:c?l=kg(r.schema,n,c,t,s):e.type==="scalar"?l=xg(r,n,e,s):l=r.schema[qe.SCALAR];let f;try{let u=l.resolve(n,d=>s(t??e,"TAG_RESOLVE_FAILED",d),r.options);f=qe.isScalar(u)?u:new ql.Scalar(u)}catch(u){let d=u instanceof Error?u.message:String(u);s(t??e,"TAG_RESOLVE_FAILED",d),f=new ql.Scalar(n)}return f.range=a,f.source=n,i&&(f.type=i),c&&(f.tag=c),l.format&&(f.format=l.format),o&&(f.comment=o),f}function kg(r,e,t,s,n){if(t==="!")return r[qe.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):(n(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${t}`,t!=="tag:yaml.org,2002:str"),r[qe.SCALAR])}function xg({atKey:r,directives:e,schema:t},s,n,i){let o=t.tags.find(a=>(a.default===!0||r&&a.default==="key")&&a.test?.test(s))||t[qe.SCALAR];if(t.compat){let a=t.compat.find(c=>c.default&&c.test?.test(s))??t[qe.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(n,"TAG_RESOLVE_FAILED",f,!0)}}return o}Fl.composeScalar=Sg});var Jl=v(Ul=>{"use strict";function Eg(r,e,t){if(e){t??(t=e.length);for(let s=t-1;s>=0;--s){let n=e[s];switch(n.type){case"space":case"comment":case"newline":r-=n.source.length;continue}for(n=e[++s];n?.type==="space";)r+=n.source.length,n=e[++s];break}}return r}Ul.emptyScalarPosition=Eg});var Wl=v(Qi=>{"use strict";var Ag=Rt(),Tg=P(),Pg=$l(),Kl=jl(),Og=lt(),Ng=Jl(),Cg={composeNode:Vl,composeEmptyNode:zi};function Vl(r,e,t,s){let n=r.atKey,{spaceBefore:i,comment:o,anchor:a,tag:c}=t,l,f=!0;switch(e.type){case"alias":l=Rg(r,e,s),(a||c)&&s(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=Kl.composeScalar(r,e,c,s),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":l=Pg.composeCollection(Cg,r,e,t,s),a&&(l.anchor=a.source.substring(1));break;default:{let u=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;s(e,"UNEXPECTED_TOKEN",u),l=zi(r,e.offset,void 0,null,t,s),f=!1}}return a&&l.anchor===""&&s(a,"BAD_ALIAS","Anchor cannot be an empty string"),n&&r.options.stringKeys&&(!Tg.isScalar(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&s(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 zi(r,e,t,s,{spaceBefore:n,comment:i,anchor:o,tag:a,end:c},l){let f={type:"scalar",offset:Ng.emptyScalarPosition(e,t,s),indent:-1,source:""},u=Kl.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")),n&&(u.spaceBefore=!0),i&&(u.comment=i,u.range[2]=c),u}function Rg({options:r},{offset:e,source:t,end:s},n){let i=new Ag.Alias(t.substring(1));i.source===""&&n(e,"BAD_ALIAS","Alias cannot be an empty string"),i.source.endsWith(":")&&n(e+t.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+t.length,a=Og.resolveEnd(s,o,r.strict,n);return i.range=[e,o,a.offset],a.comment&&(i.comment=a.comment),i}Qi.composeEmptyNode=zi;Qi.composeNode=Vl});var Gl=v(Hl=>{"use strict";var Ig=Ht(),Yl=Wl(),_g=lt(),Lg=Xt();function $g(r,e,{offset:t,start:s,value:n,end:i},o){let a=Object.assign({_directives:e},r),c=new Ig.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},f=Lg.resolveProps(s,{indicator:"doc-start",next:n??i?.[0],offset:t,onError:o,parentIndent:0,startOnNewline:!0});f.found&&(c.directives.docStart=!0,n&&(n.type==="block-map"||n.type==="block-seq")&&!f.hasNewline&&o(f.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=n?Yl.composeNode(l,n,f,o):Yl.composeEmptyNode(l,f.end,s,null,f,o);let u=c.contents.range[2],d=_g.resolveEnd(i,u,!1,o);return d.comment&&(c.comment=d.comment),c.range=[t,u,d.offset],c}Hl.composeDoc=$g});var Zi=v(Xl=>{"use strict";var Mg=Cr("process"),Dg=Bn(),Bg=Ht(),Zt=Qt(),zl=P(),qg=Gl(),Fg=lt();function er(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 Ql(r){let e="",t=!1,s=!1;for(let n=0;n<r.length;++n){let i=r[n];switch(i[0]){case"#":e+=(e===""?"":s?`
104
+ `),e+=1,s=r[e+1];return t||(t=" "),{fold:t,offset:e}}var kg={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
105
+ `,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function xg(r,e,t,s){let n=r.substr(e,t),o=n.length===t&&/^[0-9a-fA-F]+$/.test(n)?parseInt(n,16):NaN;if(isNaN(o)){let a=r.substr(e-2,t+2);return s(e-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}return String.fromCodePoint(o)}Ul.resolveFlowScalar=yg});var Wl=v(Kl=>{"use strict";var Fe=P(),Jl=_(),Eg=Gi(),Ag=Qi();function Tg(r,e,t,s){let{value:n,type:i,comment:o,range:a}=e.type==="block-scalar"?Eg.resolveBlockScalar(r,e,s):Ag.resolveFlowScalar(e,r.options.strict,s),c=t?r.directives.tagName(t.source,u=>s(t,"TAG_RESOLVE_FAILED",u)):null,l;r.options.stringKeys&&r.atKey?l=r.schema[Fe.SCALAR]:c?l=Pg(r.schema,n,c,t,s):e.type==="scalar"?l=Og(r,n,e,s):l=r.schema[Fe.SCALAR];let f;try{let u=l.resolve(n,d=>s(t??e,"TAG_RESOLVE_FAILED",d),r.options);f=Fe.isScalar(u)?u:new Jl.Scalar(u)}catch(u){let d=u instanceof Error?u.message:String(u);s(t??e,"TAG_RESOLVE_FAILED",d),f=new Jl.Scalar(n)}return f.range=a,f.source=n,i&&(f.type=i),c&&(f.tag=c),l.format&&(f.format=l.format),o&&(f.comment=o),f}function Pg(r,e,t,s,n){if(t==="!")return r[Fe.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):(n(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${t}`,t!=="tag:yaml.org,2002:str"),r[Fe.SCALAR])}function Og({atKey:r,directives:e,schema:t},s,n,i){let o=t.tags.find(a=>(a.default===!0||r&&a.default==="key")&&a.test?.test(s))||t[Fe.SCALAR];if(t.compat){let a=t.compat.find(c=>c.default&&c.test?.test(s))??t[Fe.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(n,"TAG_RESOLVE_FAILED",f,!0)}}return o}Kl.composeScalar=Tg});var Yl=v(Vl=>{"use strict";function Ng(r,e,t){if(e){t??(t=e.length);for(let s=t-1;s>=0;--s){let n=e[s];switch(n.type){case"space":case"comment":case"newline":r-=n.source.length;continue}for(n=e[++s];n?.type==="space";)r+=n.source.length,n=e[++s];break}}return r}Vl.emptyScalarPosition=Ng});var zl=v(Zi=>{"use strict";var Cg=It(),Rg=P(),Ig=ql(),Hl=Wl(),_g=ut(),Lg=Yl(),$g={composeNode:Gl,composeEmptyNode:Xi};function Gl(r,e,t,s){let n=r.atKey,{spaceBefore:i,comment:o,anchor:a,tag:c}=t,l,f=!0;switch(e.type){case"alias":l=Mg(r,e,s),(a||c)&&s(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=Hl.composeScalar(r,e,c,s),a&&(l.anchor=a.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":l=Ig.composeCollection($g,r,e,t,s),a&&(l.anchor=a.source.substring(1));break;default:{let u=e.type==="error"?e.message:`Unsupported token (type: ${e.type})`;s(e,"UNEXPECTED_TOKEN",u),l=Xi(r,e.offset,void 0,null,t,s),f=!1}}return a&&l.anchor===""&&s(a,"BAD_ALIAS","Anchor cannot be an empty string"),n&&r.options.stringKeys&&(!Rg.isScalar(l)||typeof l.value!="string"||l.tag&&l.tag!=="tag:yaml.org,2002:str")&&s(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 Xi(r,e,t,s,{spaceBefore:n,comment:i,anchor:o,tag:a,end:c},l){let f={type:"scalar",offset:Lg.emptyScalarPosition(e,t,s),indent:-1,source:""},u=Hl.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")),n&&(u.spaceBefore=!0),i&&(u.comment=i,u.range[2]=c),u}function Mg({options:r},{offset:e,source:t,end:s},n){let i=new Cg.Alias(t.substring(1));i.source===""&&n(e,"BAD_ALIAS","Alias cannot be an empty string"),i.source.endsWith(":")&&n(e+t.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=e+t.length,a=_g.resolveEnd(s,o,r.strict,n);return i.range=[e,o,a.offset],a.comment&&(i.comment=a.comment),i}Zi.composeEmptyNode=Xi;Zi.composeNode=Gl});var Zl=v(Xl=>{"use strict";var Dg=Gt(),Ql=zl(),Bg=ut(),qg=Zt();function Fg(r,e,{offset:t,start:s,value:n,end:i},o){let a=Object.assign({_directives:e},r),c=new Dg.Document(void 0,a),l={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},f=qg.resolveProps(s,{indicator:"doc-start",next:n??i?.[0],offset:t,onError:o,parentIndent:0,startOnNewline:!0});f.found&&(c.directives.docStart=!0,n&&(n.type==="block-map"||n.type==="block-seq")&&!f.hasNewline&&o(f.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=n?Ql.composeNode(l,n,f,o):Ql.composeEmptyNode(l,f.end,s,null,f,o);let u=c.contents.range[2],d=Bg.resolveEnd(i,u,!1,o);return d.comment&&(c.comment=d.comment),c.range=[t,u,d.offset],c}Xl.composeDoc=Fg});var to=v(ru=>{"use strict";var jg=Cr("process"),Ug=Fn(),Jg=Gt(),er=Xt(),eu=P(),Kg=Zl(),Wg=ut();function tr(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 tu(r){let e="",t=!1,s=!1;for(let n=0;n<r.length;++n){let i=r[n];switch(i[0]){case"#":e+=(e===""?"":s?`
106
106
 
107
107
  `:`
108
- `)+(i.substring(1)||" "),t=!0,s=!1;break;case"%":r[n+1]?.[0]!=="#"&&(n+=1),t=!1;break;default:t||(s=!0),t=!1}}return{comment:e,afterEmptyLine:s}}var Xi=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(t,s,n,i)=>{let o=er(t);i?this.warnings.push(new Zt.YAMLWarning(o,s,n)):this.errors.push(new Zt.YAMLParseError(o,s,n))},this.directives=new Dg.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:s,afterEmptyLine:n}=Ql(this.prelude);if(s){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}
109
- ${s}`:s;else if(n||e.directives.docStart||!i)e.commentBefore=s;else if(zl.isCollection(i)&&!i.flow&&i.items.length>0){let o=i.items[0];zl.isPair(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${s}
108
+ `)+(i.substring(1)||" "),t=!0,s=!1;break;case"%":r[n+1]?.[0]!=="#"&&(n+=1),t=!1;break;default:t||(s=!0),t=!1}}return{comment:e,afterEmptyLine:s}}var eo=class{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(t,s,n,i)=>{let o=tr(t);i?this.warnings.push(new er.YAMLWarning(o,s,n)):this.errors.push(new er.YAMLParseError(o,s,n))},this.directives=new Ug.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:s,afterEmptyLine:n}=tu(this.prelude);if(s){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}
109
+ ${s}`:s;else if(n||e.directives.docStart||!i)e.commentBefore=s;else if(eu.isCollection(i)&&!i.flow&&i.items.length>0){let o=i.items[0];eu.isPair(o)&&(o=o.key);let a=o.commentBefore;o.commentBefore=a?`${s}
110
110
  ${a}`:s}else{let o=i.commentBefore;i.commentBefore=o?`${s}
111
- ${o}`:s}}t?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Ql(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,s=-1){for(let n of e)yield*this.next(n);yield*this.end(t,s)}*next(e){switch(Mg.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(t,s,n)=>{let i=er(e);i[0]+=t,this.onError(i,"BAD_DIRECTIVE",s,n)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=qg.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,s=new Zt.YAMLParseError(er(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(s):this.doc.errors.push(s);break}case"doc-end":{if(!this.doc){let s="Unexpected doc-end without preceding document";this.errors.push(new Zt.YAMLParseError(er(e),"UNEXPECTED_TOKEN",s));break}this.doc.directives.docEnd=!0;let t=Fg.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let s=this.doc.comment;this.doc.comment=s?`${s}
112
- ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Zt.YAMLParseError(er(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let s=Object.assign({_directives:this.directives},this.options),n=new Bg.Document(void 0,s);this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),n.range=[0,t,t],this.decorate(n,!1),yield n}}};Xl.Composer=Xi});var tu=v(Es=>{"use strict";var jg=Yi(),Ug=Gi(),Jg=Qt(),Zl=Mt();function Kg(r,e=!0,t){if(r){let s=(n,i,o)=>{let a=typeof n=="number"?n:Array.isArray(n)?n[0]:n.offset;if(t)t(a,i,o);else throw new Jg.YAMLParseError([a,a+1],i,o)};switch(r.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return Ug.resolveFlowScalar(r,e,s);case"block-scalar":return jg.resolveBlockScalar({options:{strict:e}},r,s)}}return null}function Vg(r,e){let{implicitKey:t=!1,indent:s,inFlow:n=!1,offset:i=-1,type:o="PLAIN"}=e,a=Zl.stringifyString({type:o,value:r},{implicitKey:t,indent:s>0?" ".repeat(s):"",inFlow:n,options:{blockQuote:!0,lineWidth:-1}}),c=e.end??[{type:"newline",offset:-1,indent:s,source:`
111
+ ${o}`:s}}t?(Array.prototype.push.apply(e.errors,this.errors),Array.prototype.push.apply(e.warnings,this.warnings)):(e.errors=this.errors,e.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:tu(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,s=-1){for(let n of e)yield*this.next(n);yield*this.end(t,s)}*next(e){switch(jg.env.LOG_STREAM&&console.dir(e,{depth:null}),e.type){case"directive":this.directives.add(e.source,(t,s,n)=>{let i=tr(e);i[0]+=t,this.onError(i,"BAD_DIRECTIVE",s,n)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=Kg.composeDoc(this.options,this.directives,e,this.onError);this.atDirectives&&!t.directives.docStart&&this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(t,!1),this.doc&&(yield this.doc),this.doc=t,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(e.source);break;case"error":{let t=e.source?`${e.message}: ${JSON.stringify(e.source)}`:e.message,s=new er.YAMLParseError(tr(e),"UNEXPECTED_TOKEN",t);this.atDirectives||!this.doc?this.errors.push(s):this.doc.errors.push(s);break}case"doc-end":{if(!this.doc){let s="Unexpected doc-end without preceding document";this.errors.push(new er.YAMLParseError(tr(e),"UNEXPECTED_TOKEN",s));break}this.doc.directives.docEnd=!0;let t=Wg.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let s=this.doc.comment;this.doc.comment=s?`${s}
112
+ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new er.YAMLParseError(tr(e),"UNEXPECTED_TOKEN",`Unsupported token ${e.type}`))}}*end(e=!1,t=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(e){let s=Object.assign({_directives:this.directives},this.options),n=new Jg.Document(void 0,s);this.atDirectives&&this.onError(t,"MISSING_CHAR","Missing directives-end indicator line"),n.range=[0,t,t],this.decorate(n,!1),yield n}}};ru.Composer=eo});var iu=v(Es=>{"use strict";var Vg=Gi(),Yg=Qi(),Hg=Xt(),su=Dt();function Gg(r,e=!0,t){if(r){let s=(n,i,o)=>{let a=typeof n=="number"?n:Array.isArray(n)?n[0]:n.offset;if(t)t(a,i,o);else throw new Hg.YAMLParseError([a,a+1],i,o)};switch(r.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return Yg.resolveFlowScalar(r,e,s);case"block-scalar":return Vg.resolveBlockScalar({options:{strict:e}},r,s)}}return null}function zg(r,e){let{implicitKey:t=!1,indent:s,inFlow:n=!1,offset:i=-1,type:o="PLAIN"}=e,a=su.stringifyString({type:o,value:r},{implicitKey:t,indent:s>0?" ".repeat(s):"",inFlow:n,options:{blockQuote:!0,lineWidth:-1}}),c=e.end??[{type:"newline",offset:-1,indent:s,source:`
113
113
  `}];switch(a[0]){case"|":case">":{let l=a.indexOf(`
114
114
  `),f=a.substring(0,l),u=a.substring(l+1)+`
115
- `,d=[{type:"block-scalar-header",offset:i,indent:s,source:f}];return eu(d,c)||d.push({type:"newline",offset:-1,indent:s,source:`
116
- `}),{type:"block-scalar",offset:i,indent:s,props:d,source:u}}case'"':return{type:"double-quoted-scalar",offset:i,indent:s,source:a,end:c};case"'":return{type:"single-quoted-scalar",offset:i,indent:s,source:a,end:c};default:return{type:"scalar",offset:i,indent:s,source:a,end:c}}}function Wg(r,e,t={}){let{afterKey:s=!1,implicitKey:n=!1,inFlow:i=!1,type:o}=t,a="indent"in r?r.indent:null;if(s&&typeof a=="number"&&(a+=2),!o)switch(r.type){case"single-quoted-scalar":o="QUOTE_SINGLE";break;case"double-quoted-scalar":o="QUOTE_DOUBLE";break;case"block-scalar":{let l=r.props[0];if(l.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o=l.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:o="PLAIN"}let c=Zl.stringifyString({type:o,value:e},{implicitKey:n||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}});switch(c[0]){case"|":case">":Yg(r,c);break;case'"':eo(r,c,"double-quoted-scalar");break;case"'":eo(r,c,"single-quoted-scalar");break;default:eo(r,c,"scalar")}}function Yg(r,e){let t=e.indexOf(`
115
+ `,d=[{type:"block-scalar-header",offset:i,indent:s,source:f}];return nu(d,c)||d.push({type:"newline",offset:-1,indent:s,source:`
116
+ `}),{type:"block-scalar",offset:i,indent:s,props:d,source:u}}case'"':return{type:"double-quoted-scalar",offset:i,indent:s,source:a,end:c};case"'":return{type:"single-quoted-scalar",offset:i,indent:s,source:a,end:c};default:return{type:"scalar",offset:i,indent:s,source:a,end:c}}}function Qg(r,e,t={}){let{afterKey:s=!1,implicitKey:n=!1,inFlow:i=!1,type:o}=t,a="indent"in r?r.indent:null;if(s&&typeof a=="number"&&(a+=2),!o)switch(r.type){case"single-quoted-scalar":o="QUOTE_SINGLE";break;case"double-quoted-scalar":o="QUOTE_DOUBLE";break;case"block-scalar":{let l=r.props[0];if(l.type!=="block-scalar-header")throw new Error("Invalid block scalar header");o=l.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:o="PLAIN"}let c=su.stringifyString({type:o,value:e},{implicitKey:n||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}});switch(c[0]){case"|":case">":Xg(r,c);break;case'"':ro(r,c,"double-quoted-scalar");break;case"'":ro(r,c,"single-quoted-scalar");break;default:ro(r,c,"scalar")}}function Xg(r,e){let t=e.indexOf(`
117
117
  `),s=e.substring(0,t),n=e.substring(t+1)+`
118
- `;if(r.type==="block-scalar"){let i=r.props[0];if(i.type!=="block-scalar-header")throw new Error("Invalid block scalar header");i.source=s,r.source=n}else{let{offset:i}=r,o="indent"in r?r.indent:-1,a=[{type:"block-scalar-header",offset:i,indent:o,source:s}];eu(a,"end"in r?r.end:void 0)||a.push({type:"newline",offset:-1,indent:o,source:`
119
- `});for(let c of Object.keys(r))c!=="type"&&c!=="offset"&&delete r[c];Object.assign(r,{type:"block-scalar",indent:o,props:a,source:n})}}function eu(r,e){if(e)for(let t of e)switch(t.type){case"space":case"comment":r.push(t);break;case"newline":return r.push(t),!0}return!1}function eo(r,e,t){switch(r.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":r.type=t,r.source=e;break;case"block-scalar":{let s=r.props.slice(1),n=e.length;r.props[0].type==="block-scalar-header"&&(n-=r.props[0].source.length);for(let i of s)i.offset+=n;delete r.props,Object.assign(r,{type:t,source:e,end:s});break}case"block-map":case"block-seq":{let n={type:"newline",offset:r.offset+e.length,indent:r.indent,source:`
120
- `};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let s="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(i=>i.type==="space"||i.type==="comment"||i.type==="newline"):[];for(let i of Object.keys(r))i!=="type"&&i!=="offset"&&delete r[i];Object.assign(r,{type:t,indent:s,source:e,end:n})}}}Es.createScalarToken=Vg;Es.resolveAsScalar=Kg;Es.setScalarValue=Wg});var su=v(ru=>{"use strict";var Hg=r=>"type"in r?Ts(r):As(r);function Ts(r){switch(r.type){case"block-scalar":{let e="";for(let t of r.props)e+=Ts(t);return e+r.source}case"block-map":case"block-seq":{let e="";for(let t of r.items)e+=As(t);return e}case"flow-collection":{let e=r.start.source;for(let t of r.items)e+=As(t);for(let t of r.end)e+=t.source;return e}case"document":{let e=As(r);if(r.end)for(let t of r.end)e+=t.source;return e}default:{let e=r.source;if("end"in r&&r.end)for(let t of r.end)e+=t.source;return e}}}function As({start:r,key:e,sep:t,value:s}){let n="";for(let i of r)n+=i.source;if(e&&(n+=Ts(e)),t)for(let i of t)n+=i.source;return s&&(n+=Ts(s)),n}ru.stringify=Hg});var au=v(ou=>{"use strict";var to=Symbol("break visit"),Gg=Symbol("skip children"),nu=Symbol("remove item");function Fe(r,e){"type"in r&&r.type==="document"&&(r={start:r.start,value:r.value}),iu(Object.freeze([]),r,e)}Fe.BREAK=to;Fe.SKIP=Gg;Fe.REMOVE=nu;Fe.itemAtPath=(r,e)=>{let t=r;for(let[s,n]of e){let i=t?.[s];if(i&&"items"in i)t=i.items[n];else return}return t};Fe.parentCollection=(r,e)=>{let t=Fe.itemAtPath(r,e.slice(0,-1)),s=e[e.length-1][0],n=t?.[s];if(n&&"items"in n)return n;throw new Error("Parent collection not found")};function iu(r,e,t){let s=t(e,r);if(typeof s=="symbol")return s;for(let n of["key","value"]){let i=e[n];if(i&&"items"in i){for(let o=0;o<i.items.length;++o){let a=iu(Object.freeze(r.concat([[n,o]])),i.items[o],t);if(typeof a=="number")o=a-1;else{if(a===to)return to;a===nu&&(i.items.splice(o,1),o-=1)}}typeof s=="function"&&n==="key"&&(s=s(e,r))}}return typeof s=="function"?s(e,r):s}ou.visit=Fe});var Ps=v(V=>{"use strict";var ro=tu(),zg=su(),Qg=au(),so="\uFEFF",no="",io="",oo="",Xg=r=>!!r&&"items"in r,Zg=r=>!!r&&(r.type==="scalar"||r.type==="single-quoted-scalar"||r.type==="double-quoted-scalar"||r.type==="block-scalar");function ey(r){switch(r){case so:return"<BOM>";case no:return"<DOC>";case io:return"<FLOW_END>";case oo:return"<SCALAR>";default:return JSON.stringify(r)}}function ty(r){switch(r){case so:return"byte-order-mark";case no:return"doc-mode";case io:return"flow-error-end";case oo:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
118
+ `;if(r.type==="block-scalar"){let i=r.props[0];if(i.type!=="block-scalar-header")throw new Error("Invalid block scalar header");i.source=s,r.source=n}else{let{offset:i}=r,o="indent"in r?r.indent:-1,a=[{type:"block-scalar-header",offset:i,indent:o,source:s}];nu(a,"end"in r?r.end:void 0)||a.push({type:"newline",offset:-1,indent:o,source:`
119
+ `});for(let c of Object.keys(r))c!=="type"&&c!=="offset"&&delete r[c];Object.assign(r,{type:"block-scalar",indent:o,props:a,source:n})}}function nu(r,e){if(e)for(let t of e)switch(t.type){case"space":case"comment":r.push(t);break;case"newline":return r.push(t),!0}return!1}function ro(r,e,t){switch(r.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":r.type=t,r.source=e;break;case"block-scalar":{let s=r.props.slice(1),n=e.length;r.props[0].type==="block-scalar-header"&&(n-=r.props[0].source.length);for(let i of s)i.offset+=n;delete r.props,Object.assign(r,{type:t,source:e,end:s});break}case"block-map":case"block-seq":{let n={type:"newline",offset:r.offset+e.length,indent:r.indent,source:`
120
+ `};delete r.items,Object.assign(r,{type:t,source:e,end:[n]});break}default:{let s="indent"in r?r.indent:-1,n="end"in r&&Array.isArray(r.end)?r.end.filter(i=>i.type==="space"||i.type==="comment"||i.type==="newline"):[];for(let i of Object.keys(r))i!=="type"&&i!=="offset"&&delete r[i];Object.assign(r,{type:t,indent:s,source:e,end:n})}}}Es.createScalarToken=zg;Es.resolveAsScalar=Gg;Es.setScalarValue=Qg});var au=v(ou=>{"use strict";var Zg=r=>"type"in r?Ts(r):As(r);function Ts(r){switch(r.type){case"block-scalar":{let e="";for(let t of r.props)e+=Ts(t);return e+r.source}case"block-map":case"block-seq":{let e="";for(let t of r.items)e+=As(t);return e}case"flow-collection":{let e=r.start.source;for(let t of r.items)e+=As(t);for(let t of r.end)e+=t.source;return e}case"document":{let e=As(r);if(r.end)for(let t of r.end)e+=t.source;return e}default:{let e=r.source;if("end"in r&&r.end)for(let t of r.end)e+=t.source;return e}}}function As({start:r,key:e,sep:t,value:s}){let n="";for(let i of r)n+=i.source;if(e&&(n+=Ts(e)),t)for(let i of t)n+=i.source;return s&&(n+=Ts(s)),n}ou.stringify=Zg});var fu=v(uu=>{"use strict";var so=Symbol("break visit"),ey=Symbol("skip children"),cu=Symbol("remove item");function je(r,e){"type"in r&&r.type==="document"&&(r={start:r.start,value:r.value}),lu(Object.freeze([]),r,e)}je.BREAK=so;je.SKIP=ey;je.REMOVE=cu;je.itemAtPath=(r,e)=>{let t=r;for(let[s,n]of e){let i=t?.[s];if(i&&"items"in i)t=i.items[n];else return}return t};je.parentCollection=(r,e)=>{let t=je.itemAtPath(r,e.slice(0,-1)),s=e[e.length-1][0],n=t?.[s];if(n&&"items"in n)return n;throw new Error("Parent collection not found")};function lu(r,e,t){let s=t(e,r);if(typeof s=="symbol")return s;for(let n of["key","value"]){let i=e[n];if(i&&"items"in i){for(let o=0;o<i.items.length;++o){let a=lu(Object.freeze(r.concat([[n,o]])),i.items[o],t);if(typeof a=="number")o=a-1;else{if(a===so)return so;a===cu&&(i.items.splice(o,1),o-=1)}}typeof s=="function"&&n==="key"&&(s=s(e,r))}}return typeof s=="function"?s(e,r):s}uu.visit=je});var Ps=v(W=>{"use strict";var no=iu(),ty=au(),ry=fu(),io="\uFEFF",oo="",ao="",co="",sy=r=>!!r&&"items"in r,ny=r=>!!r&&(r.type==="scalar"||r.type==="single-quoted-scalar"||r.type==="double-quoted-scalar"||r.type==="block-scalar");function iy(r){switch(r){case io:return"<BOM>";case oo:return"<DOC>";case ao:return"<FLOW_END>";case co:return"<SCALAR>";default:return JSON.stringify(r)}}function oy(r){switch(r){case io:return"byte-order-mark";case oo:return"doc-mode";case ao:return"flow-error-end";case co:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
121
121
  `:case`\r
122
- `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(r[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}V.createScalarToken=ro.createScalarToken;V.resolveAsScalar=ro.resolveAsScalar;V.setScalarValue=ro.setScalarValue;V.stringify=zg.stringify;V.visit=Qg.visit;V.BOM=so;V.DOCUMENT=no;V.FLOW_END=io;V.SCALAR=oo;V.isCollection=Xg;V.isScalar=Zg;V.prettyToken=ey;V.tokenType=ty});var lo=v(lu=>{"use strict";var tr=Ps();function ee(r){switch(r){case void 0:case" ":case`
123
- `:case"\r":case" ":return!0;default:return!1}}var cu=new Set("0123456789ABCDEFabcdef"),ry=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Os=new Set(",[]{}"),sy=new Set(` ,[]{}
124
- \r `),ao=r=>!r||sy.has(r),co=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let s=this.next??"stream";for(;s&&(t||this.hasChars(1));)s=yield*this.parseNext(s)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;t===" "||t===" ";)t=this.buffer[++e];return!t||t==="#"||t===`
122
+ `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(r[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}W.createScalarToken=no.createScalarToken;W.resolveAsScalar=no.resolveAsScalar;W.setScalarValue=no.setScalarValue;W.stringify=ty.stringify;W.visit=ry.visit;W.BOM=io;W.DOCUMENT=oo;W.FLOW_END=ao;W.SCALAR=co;W.isCollection=sy;W.isScalar=ny;W.prettyToken=iy;W.tokenType=oy});var fo=v(pu=>{"use strict";var rr=Ps();function te(r){switch(r){case void 0:case" ":case`
123
+ `:case"\r":case" ":return!0;default:return!1}}var du=new Set("0123456789ABCDEFabcdef"),ay=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Os=new Set(",[]{}"),cy=new Set(` ,[]{}
124
+ \r `),lo=r=>!r||cy.has(r),uo=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(e,t=!1){if(e){if(typeof e!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+e:e,this.lineEndPos=null}this.atEnd=!t;let s=this.next??"stream";for(;s&&(t||this.hasChars(1));)s=yield*this.parseNext(s)}atLineEnd(){let e=this.pos,t=this.buffer[e];for(;t===" "||t===" ";)t=this.buffer[++e];return!t||t==="#"||t===`
125
125
  `?!0:t==="\r"?this.buffer[e+1]===`
126
126
  `:!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let s=0;for(;t===" ";)t=this.buffer[++s+e];if(t==="\r"){let n=this.buffer[s+e+1];if(n===`
127
127
  `||!n&&!this.atEnd)return e+s+1}return t===`
128
- `||s>=this.indentNext||!t&&!this.atEnd?e+s:-1}if(t==="-"||t==="."){let s=this.buffer.substr(e,3);if((s==="---"||s==="...")&&ee(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
129
- `,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===tr.BOM&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let t=e.length,s=e.indexOf("#");for(;s!==-1;){let i=e[s-1];if(i===" "||i===" "){t=s-1;break}else s=e.indexOf("#",s+1)}for(;;){let i=e[t-1];if(i===" "||i===" ")t-=1;else break}let n=(yield*this.pushCount(t))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-n),this.pushNewline(),"stream"}if(this.atLineEnd()){let t=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-t),yield*this.pushNewline(),"stream"}return yield tr.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let t=this.peek(3);if((t==="---"||t==="...")&&ee(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,t==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!ee(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&ee(t)){let s=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=s,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let t=yield*this.pushIndicators();switch(e[t]){case"#":yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(ao),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,s=-1;do e=yield*this.pushNewline(),e>0?(t=yield*this.pushSpaces(!1),this.indentValue=s=t):t=0,t+=yield*this.pushSpaces(!0);while(e+t>0);let n=this.getLine();if(n===null)return this.setNext("flow");if((s!==-1&&s<this.indentNext&&n[0]!=="#"||s===0&&(n.startsWith("---")||n.startsWith("..."))&&ee(n[3]))&&!(s===this.indentNext-1&&this.flowLevel===1&&(n[0]==="]"||n[0]==="}")))return this.flowLevel=0,yield tr.FLOW_END,yield*this.parseLineStart();let i=0;for(;n[i]===",";)i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(i+=yield*this.pushIndicators(),n[i]){case void 0:return"flow";case"#":return yield*this.pushCount(n.length-i),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(ao),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||ee(o)||o===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),t=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;t!==-1&&this.buffer[t+1]==="'";)t=this.buffer.indexOf("'",t+2);else for(;t!==-1;){let i=0;for(;this.buffer[t-1-i]==="\\";)i+=1;if(i%2===0)break;t=this.buffer.indexOf('"',t+1)}let s=this.buffer.substring(0,t),n=s.indexOf(`
128
+ `||s>=this.indentNext||!t&&!this.atEnd?e+s:-1}if(t==="-"||t==="."){let s=this.buffer.substr(e,3);if((s==="---"||s==="...")&&te(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;return(typeof e!="number"||e!==-1&&e<this.pos)&&(e=this.buffer.indexOf(`
129
+ `,this.pos),this.lineEndPos=e),e===-1?this.atEnd?this.buffer.substring(this.pos):null:(this.buffer[e-1]==="\r"&&(e-=1),this.buffer.substring(this.pos,e))}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===rr.BOM&&(yield*this.pushCount(1),e=e.substring(1)),e[0]==="%"){let t=e.length,s=e.indexOf("#");for(;s!==-1;){let i=e[s-1];if(i===" "||i===" "){t=s-1;break}else s=e.indexOf("#",s+1)}for(;;){let i=e[t-1];if(i===" "||i===" ")t-=1;else break}let n=(yield*this.pushCount(t))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-n),this.pushNewline(),"stream"}if(this.atLineEnd()){let t=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-t),yield*this.pushNewline(),"stream"}return yield rr.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let t=this.peek(3);if((t==="---"||t==="...")&&te(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,t==="---"?"doc":"stream"}return this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!te(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&te(t)){let s=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=s,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let t=yield*this.pushIndicators();switch(e[t]){case"#":yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(lo),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,s=-1;do e=yield*this.pushNewline(),e>0?(t=yield*this.pushSpaces(!1),this.indentValue=s=t):t=0,t+=yield*this.pushSpaces(!0);while(e+t>0);let n=this.getLine();if(n===null)return this.setNext("flow");if((s!==-1&&s<this.indentNext&&n[0]!=="#"||s===0&&(n.startsWith("---")||n.startsWith("..."))&&te(n[3]))&&!(s===this.indentNext-1&&this.flowLevel===1&&(n[0]==="]"||n[0]==="}")))return this.flowLevel=0,yield rr.FLOW_END,yield*this.parseLineStart();let i=0;for(;n[i]===",";)i+=yield*this.pushCount(1),i+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(i+=yield*this.pushIndicators(),n[i]){case void 0:return"flow";case"#":return yield*this.pushCount(n.length-i),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(lo),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let o=this.charAt(1);if(this.flowKey||te(o)||o===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),t=this.buffer.indexOf(e,this.pos+1);if(e==="'")for(;t!==-1&&this.buffer[t+1]==="'";)t=this.buffer.indexOf("'",t+2);else for(;t!==-1;){let i=0;for(;this.buffer[t-1-i]==="\\";)i+=1;if(i%2===0)break;t=this.buffer.indexOf('"',t+1)}let s=this.buffer.substring(0,t),n=s.indexOf(`
130
130
  `,this.pos);if(n!==-1){for(;n!==-1;){let i=this.continueScalar(n+1);if(i===-1)break;n=s.indexOf(`
131
- `,i)}n!==-1&&(t=n-(s[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let t=this.buffer[++e];if(t==="+")this.blockScalarKeep=!0;else if(t>"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if(t!=="-")break}return yield*this.pushUntil(t=>ee(t)||t==="#")}*parseBlockScalar(){let e=this.pos-1,t=0,s;e:for(let i=this.pos;s=this.buffer[i];++i)switch(s){case" ":t+=1;break;case`
131
+ `,i)}n!==-1&&(t=n-(s[n-1]==="\r"?2:1))}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;for(;;){let t=this.buffer[++e];if(t==="+")this.blockScalarKeep=!0;else if(t>"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if(t!=="-")break}return yield*this.pushUntil(t=>te(t)||t==="#")}*parseBlockScalar(){let e=this.pos-1,t=0,s;e:for(let i=this.pos;s=this.buffer[i];++i)switch(s){case" ":t+=1;break;case`
132
132
  `:e=i,t=0;break;case"\r":{let o=this.buffer[i+1];if(!o&&!this.atEnd)return this.setNext("block-scalar");if(o===`
133
133
  `)break}default:break e}if(!s&&!this.atEnd)return this.setNext("block-scalar");if(t>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=t:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let i=this.continueScalar(e+1);if(i===-1)break;e=this.buffer.indexOf(`
134
134
  `,i)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let n=e+1;for(s=this.buffer[n];s===" ";)s=this.buffer[++n];if(s===" "){for(;s===" "||s===" "||s==="\r"||s===`
135
135
  `;)s=this.buffer[++n];e=n-1}else if(!this.blockScalarKeep)do{let i=e-1,o=this.buffer[i];o==="\r"&&(o=this.buffer[--i]);let a=i;for(;o===" ";)o=this.buffer[--i];if(o===`
136
- `&&i>=this.pos&&i+1+t>a)e=i;else break}while(!0);return yield tr.SCALAR,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,t=this.pos-1,s=this.pos-1,n;for(;n=this.buffer[++s];)if(n===":"){let i=this.buffer[s+1];if(ee(i)||e&&Os.has(i))break;t=s}else if(ee(n)){let i=this.buffer[s+1];if(n==="\r"&&(i===`
136
+ `&&i>=this.pos&&i+1+t>a)e=i;else break}while(!0);return yield rr.SCALAR,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,t=this.pos-1,s=this.pos-1,n;for(;n=this.buffer[++s];)if(n===":"){let i=this.buffer[s+1];if(te(i)||e&&Os.has(i))break;t=s}else if(te(n)){let i=this.buffer[s+1];if(n==="\r"&&(i===`
137
137
  `?(s+=1,n=`
138
138
  `,i=this.buffer[s+1]):t=s),i==="#"||e&&Os.has(i))break;if(n===`
139
- `){let o=this.continueScalar(s+1);if(o===-1)break;s=Math.max(s,o-2)}}else{if(e&&Os.has(n))break;t=s}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield tr.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let s=this.buffer.slice(this.pos,e);return s?(yield s,this.pos+=s.length,s.length):(t&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(ao))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let e=this.flowLevel>0,t=this.charAt(1);if(ee(t)||e&&Os.has(t))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,t=this.buffer[e];for(;!ee(t)&&t!==">";)t=this.buffer[++e];return yield*this.pushToIndex(t===">"?e+1:e,!1)}else{let e=this.pos+1,t=this.buffer[e];for(;t;)if(ry.has(t))t=this.buffer[++e];else if(t==="%"&&cu.has(this.buffer[e+1])&&cu.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
139
+ `){let o=this.continueScalar(s+1);if(o===-1)break;s=Math.max(s,o-2)}}else{if(e&&Os.has(n))break;t=s}return!n&&!this.atEnd?this.setNext("plain-scalar"):(yield rr.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc")}*pushCount(e){return e>0?(yield this.buffer.substr(this.pos,e),this.pos+=e,e):0}*pushToIndex(e,t){let s=this.buffer.slice(this.pos,e);return s?(yield s,this.pos+=s.length,s.length):(t&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(lo))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let e=this.flowLevel>0,t=this.charAt(1);if(te(t)||e&&Os.has(t))return e?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,t=this.buffer[e];for(;!te(t)&&t!==">";)t=this.buffer[++e];return yield*this.pushToIndex(t===">"?e+1:e,!1)}else{let e=this.pos+1,t=this.buffer[e];for(;t;)if(ay.has(t))t=this.buffer[++e];else if(t==="%"&&du.has(this.buffer[e+1])&&du.has(this.buffer[e+2]))t=this.buffer[e+=3];else break;return yield*this.pushToIndex(e,!1)}}*pushNewline(){let e=this.buffer[this.pos];return e===`
140
140
  `?yield*this.pushCount(1):e==="\r"&&this.charAt(1)===`
141
- `?yield*this.pushCount(2):0}*pushSpaces(e){let t=this.pos-1,s;do s=this.buffer[++t];while(s===" "||e&&s===" ");let n=t-this.pos;return n>0&&(yield this.buffer.substr(this.pos,n),this.pos=t),n}*pushUntil(e){let t=this.pos,s=this.buffer[t];for(;!e(s);)s=this.buffer[++t];return yield*this.pushToIndex(t,!1)}};lu.Lexer=co});var fo=v(uu=>{"use strict";var uo=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,s=this.lineStarts.length;for(;t<s;){let i=t+s>>1;this.lineStarts[i]<e?t=i+1:s=i}if(this.lineStarts[t]===e)return{line:t+1,col:1};if(t===0)return{line:0,col:e};let n=this.lineStarts[t-1];return{line:t,col:e-n+1}}}};uu.LineCounter=uo});var ho=v(mu=>{"use strict";var ny=Cr("process"),fu=Ps(),iy=lo();function Ae(r,e){for(let t=0;t<r.length;++t)if(r[t].type===e)return!0;return!1}function du(r){for(let e=0;e<r.length;++e)switch(r[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function hu(r){switch(r?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function Ns(r){switch(r.type){case"document":return r.start;case"block-map":{let e=r.items[r.items.length-1];return e.sep??e.start}case"block-seq":return r.items[r.items.length-1].start;default:return[]}}function ut(r){if(r.length===0)return[];let e=r.length;e:for(;--e>=0;)switch(r[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;r[++e]?.type==="space";);return r.splice(e,r.length)}function pu(r){if(r.start.type==="flow-seq-start")for(let e of r.items)e.sep&&!e.value&&!Ae(e.start,"explicit-key-ind")&&!Ae(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,hu(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}var po=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new iy.Lexer,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let s of this.lexer.lex(e,t))yield*this.next(s);t||(yield*this.end())}*next(e){if(this.source=e,ny.env.LOG_TOKENS&&console.log("|",fu.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=fu.tokenType(e);if(t)if(t==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*this.step(),t){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let s=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:s,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e??this.stack.pop();if(!t)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield t;else{let s=this.peek(1);switch(t.type==="block-scalar"?t.indent="indent"in s?s.indent:0:t.type==="flow-collection"&&s.type==="document"&&(t.indent=0),t.type==="flow-collection"&&pu(t),s.type){case"document":s.value=t;break;case"block-scalar":s.props.push(t);break;case"block-map":{let n=s.items[s.items.length-1];if(n.value){s.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}else if(n.sep)n.value=t;else{Object.assign(n,{key:t,sep:[]}),this.onKeyLine=!n.explicitKey;return}break}case"block-seq":{let n=s.items[s.items.length-1];n.value?s.items.push({start:[],value:t}):n.value=t;break}case"flow-collection":{let n=s.items[s.items.length-1];!n||n.value?s.items.push({start:[],key:t,sep:[]}):n.sep?n.value=t:Object.assign(n,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if((s.type==="document"||s.type==="block-map"||s.type==="block-seq")&&(t.type==="block-map"||t.type==="block-seq")){let n=t.items[t.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&du(n.start)===-1&&(t.indent===0||n.start.every(i=>i.type!=="comment"||i.indent<t.indent))&&(s.type==="document"?s.end=n.start:s.items.push({start:n.start}),t.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":{du(e.start)!==-1?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let t=this.startBlockValue(e);t?this.stack.push(t):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type==="map-value-ind"){let t=Ns(this.peek(2)),s=ut(t),n;e.end?(n=e.end,n.push(this.sourceToken),delete e.end):n=[this.sourceToken];let i={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:s,key:e,sep:n}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let t=this.source.indexOf(`
141
+ `?yield*this.pushCount(2):0}*pushSpaces(e){let t=this.pos-1,s;do s=this.buffer[++t];while(s===" "||e&&s===" ");let n=t-this.pos;return n>0&&(yield this.buffer.substr(this.pos,n),this.pos=t),n}*pushUntil(e){let t=this.pos,s=this.buffer[t];for(;!e(s);)s=this.buffer[++t];return yield*this.pushToIndex(t,!1)}};pu.Lexer=uo});var ho=v(hu=>{"use strict";var po=class{constructor(){this.lineStarts=[],this.addNewLine=e=>this.lineStarts.push(e),this.linePos=e=>{let t=0,s=this.lineStarts.length;for(;t<s;){let i=t+s>>1;this.lineStarts[i]<e?t=i+1:s=i}if(this.lineStarts[t]===e)return{line:t+1,col:1};if(t===0)return{line:0,col:e};let n=this.lineStarts[t-1];return{line:t,col:e-n+1}}}};hu.LineCounter=po});var go=v(wu=>{"use strict";var ly=Cr("process"),mu=Ps(),uy=fo();function Oe(r,e){for(let t=0;t<r.length;++t)if(r[t].type===e)return!0;return!1}function gu(r){for(let e=0;e<r.length;++e)switch(r[e].type){case"space":case"comment":case"newline":break;default:return e}return-1}function bu(r){switch(r?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function Ns(r){switch(r.type){case"document":return r.start;case"block-map":{let e=r.items[r.items.length-1];return e.sep??e.start}case"block-seq":return r.items[r.items.length-1].start;default:return[]}}function ft(r){if(r.length===0)return[];let e=r.length;e:for(;--e>=0;)switch(r[e].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;r[++e]?.type==="space";);return r.splice(e,r.length)}function yu(r){if(r.start.type==="flow-seq-start")for(let e of r.items)e.sep&&!e.value&&!Oe(e.start,"explicit-key-ind")&&!Oe(e.sep,"map-value-ind")&&(e.key&&(e.value=e.key),delete e.key,bu(e.value)?e.value.end?Array.prototype.push.apply(e.value.end,e.sep):e.value.end=e.sep:Array.prototype.push.apply(e.start,e.sep),delete e.sep)}var mo=class{constructor(e){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new uy.Lexer,this.onNewLine=e}*parse(e,t=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let s of this.lexer.lex(e,t))yield*this.next(s);t||(yield*this.end())}*next(e){if(this.source=e,ly.env.LOG_TOKENS&&console.log("|",mu.prettyToken(e)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=mu.tokenType(e);if(t)if(t==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*this.step(),t){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+e.length);break;case"space":this.atNewLine&&e[0]===" "&&(this.indent+=e.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=e.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}else{let s=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:s,source:e}),this.offset+=e.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let e=this.peek(1);if(this.type==="doc-end"&&e?.type!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!e)return yield*this.stream();switch(e.type){case"document":return yield*this.document(e);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(e);case"block-scalar":return yield*this.blockScalar(e);case"block-map":return yield*this.blockMap(e);case"block-seq":return yield*this.blockSequence(e);case"flow-collection":return yield*this.flowCollection(e);case"doc-end":return yield*this.documentEnd(e)}yield*this.pop()}peek(e){return this.stack[this.stack.length-e]}*pop(e){let t=e??this.stack.pop();if(!t)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield t;else{let s=this.peek(1);switch(t.type==="block-scalar"?t.indent="indent"in s?s.indent:0:t.type==="flow-collection"&&s.type==="document"&&(t.indent=0),t.type==="flow-collection"&&yu(t),s.type){case"document":s.value=t;break;case"block-scalar":s.props.push(t);break;case"block-map":{let n=s.items[s.items.length-1];if(n.value){s.items.push({start:[],key:t,sep:[]}),this.onKeyLine=!0;return}else if(n.sep)n.value=t;else{Object.assign(n,{key:t,sep:[]}),this.onKeyLine=!n.explicitKey;return}break}case"block-seq":{let n=s.items[s.items.length-1];n.value?s.items.push({start:[],value:t}):n.value=t;break}case"flow-collection":{let n=s.items[s.items.length-1];!n||n.value?s.items.push({start:[],key:t,sep:[]}):n.sep?n.value=t:Object.assign(n,{key:t,sep:[]});return}default:yield*this.pop(),yield*this.pop(t)}if((s.type==="document"||s.type==="block-map"||s.type==="block-seq")&&(t.type==="block-map"||t.type==="block-seq")){let n=t.items[t.items.length-1];n&&!n.sep&&!n.value&&n.start.length>0&&gu(n.start)===-1&&(t.indent===0||n.start.every(i=>i.type!=="comment"||i.indent<t.indent))&&(s.type==="document"?s.end=n.start:s.items.push({start:n.start}),t.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let e={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&e.start.push(this.sourceToken),this.stack.push(e);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(e){if(e.value)return yield*this.lineEnd(e);switch(this.type){case"doc-start":{gu(e.start)!==-1?(yield*this.pop(),yield*this.step()):e.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":e.start.push(this.sourceToken);return}let t=this.startBlockValue(e);t?this.stack.push(t):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(e){if(this.type==="map-value-ind"){let t=Ns(this.peek(2)),s=ft(t),n;e.end?(n=e.end,n.push(this.sourceToken),delete e.end):n=[this.sourceToken];let i={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:s,key:e,sep:n}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e)}*blockScalar(e){switch(this.type){case"space":case"comment":case"newline":e.props.push(this.sourceToken);return;case"scalar":if(e.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let t=this.source.indexOf(`
142
142
  `)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(`
143
- `,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 s="end"in t.value?t.value.end:void 0;(Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment"?s?.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 n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){Array.prototype.push.apply(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let s=!this.onKeyLine&&this.indent===e.indent,n=s&&(t.sep||t.explicitKey)&&this.type!=="seq-item-ind",i=[];if(n&&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":n||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):n||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(Ae(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(hu(t.key)&&!Ae(t.sep,"newline")){let o=ut(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(Ae(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let o=ut(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||n?e.items.push({start:i,key:null,sep:[this.sourceToken]}):Ae(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);n||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&&!Ae(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 s&&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 s="end"in t.value?t.value.end:void 0;(Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment"?s?.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 n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){Array.prototype.push.apply(n,t.start),n.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||Ae(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let s=this.startBlockValue(e);if(s){this.stack.push(s);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type==="flow-error-end"){let s;do yield*this.pop(),s=this.peek(1);while(s?.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 n=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:n,sep:[]}):t.sep?this.stack.push(n):Object.assign(t,{key:n,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let s=this.startBlockValue(e);s?this.stack.push(s):(yield*this.pop(),yield*this.step())}else{let s=this.peek(2);if(s.type==="block-map"&&(this.type==="map-value-ind"&&s.indent===e.indent||this.type==="newline"&&!s.items[s.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&s.type!=="flow-collection"){let n=Ns(s),i=ut(n);pu(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(`
143
+ `,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 s="end"in t.value?t.value.end:void 0;(Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment"?s?.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 n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){Array.prototype.push.apply(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let s=!this.onKeyLine&&this.indent===e.indent,n=s&&(t.sep||t.explicitKey)&&this.type!=="seq-item-ind",i=[];if(n&&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":n||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):n||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(Oe(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(bu(t.key)&&!Oe(t.sep,"newline")){let o=ft(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(Oe(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let o=ft(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||n?e.items.push({start:i,key:null,sep:[this.sourceToken]}):Oe(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);n||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&&!Oe(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 s&&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 s="end"in t.value?t.value.end:void 0;(Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment"?s?.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 n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){Array.prototype.push.apply(n,t.start),n.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||Oe(t.start,"seq-item-ind")?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let s=this.startBlockValue(e);if(s){this.stack.push(s);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type==="flow-error-end"){let s;do yield*this.pop(),s=this.peek(1);while(s?.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 n=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:n,sep:[]}):t.sep?this.stack.push(n):Object.assign(t,{key:n,sep:[]});return}case"flow-map-end":case"flow-seq-end":e.end.push(this.sourceToken);return}let s=this.startBlockValue(e);s?this.stack.push(s):(yield*this.pop(),yield*this.step())}else{let s=this.peek(2);if(s.type==="block-map"&&(this.type==="map-value-ind"&&s.indent===e.indent||this.type==="newline"&&!s.items[s.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&s.type!=="flow-collection"){let n=Ns(s),i=ft(n);yu(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(`
144
144
  `)+1;for(;t!==0;)this.onNewLine(this.offset+t),t=this.source.indexOf(`
145
- `,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=Ns(e),s=ut(t);return s.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=Ns(e),s=ut(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!=="comment"||this.indent<=t?!1:e.every(s=>s.type==="newline"||s.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())}}};mu.Parser=po});var vu=v(sr=>{"use strict";var gu=Zi(),oy=Ht(),rr=Qt(),ay=Qn(),cy=P(),ly=fo(),yu=ho();function bu(r){let e=r.prettyErrors!==!1;return{lineCounter:r.lineCounter||e&&new ly.LineCounter||null,prettyErrors:e}}function uy(r,e={}){let{lineCounter:t,prettyErrors:s}=bu(e),n=new yu.Parser(t?.addNewLine),i=new gu.Composer(e),o=Array.from(i.compose(n.parse(r)));if(s&&t)for(let a of o)a.errors.forEach(rr.prettifyError(r,t)),a.warnings.forEach(rr.prettifyError(r,t));return o.length>0?o:Object.assign([],{empty:!0},i.streamInfo())}function wu(r,e={}){let{lineCounter:t,prettyErrors:s}=bu(e),n=new yu.Parser(t?.addNewLine),i=new gu.Composer(e),o=null;for(let a of i.compose(n.parse(r),!0,r.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new rr.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return s&&t&&(o.errors.forEach(rr.prettifyError(r,t)),o.warnings.forEach(rr.prettifyError(r,t))),o}function fy(r,e,t){let s;typeof e=="function"?s=e:t===void 0&&e&&typeof e=="object"&&(t=e);let n=wu(r,t);if(!n)return null;if(n.warnings.forEach(i=>ay.warn(n.options.logLevel,i)),n.errors.length>0){if(n.options.logLevel!=="silent")throw n.errors[0];n.errors=[]}return n.toJS(Object.assign({reviver:s},t))}function dy(r,e,t){let s=null;if(typeof e=="function"||Array.isArray(e)?s=e:t===void 0&&e&&(t=e),typeof t=="string"&&(t=t.length),typeof t=="number"){let n=Math.round(t);t=n<1?void 0:n>8?{indent:8}:{indent:n}}if(r===void 0){let{keepUndefined:n}=t??e??{};if(!n)return}return cy.isDocument(r)&&!s?r.toString(t):new oy.Document(r,s,t).toString(t)}sr.parse=fy;sr.parseAllDocuments=uy;sr.parseDocument=wu;sr.stringify=dy});var ku=v(C=>{"use strict";var py=Zi(),hy=Ht(),my=_i(),mo=Qt(),gy=Rt(),Te=P(),yy=Se(),by=_(),wy=xe(),vy=Ee(),Sy=Ps(),ky=lo(),xy=fo(),Ey=ho(),Cs=vu(),Su=Pt();C.Composer=py.Composer;C.Document=hy.Document;C.Schema=my.Schema;C.YAMLError=mo.YAMLError;C.YAMLParseError=mo.YAMLParseError;C.YAMLWarning=mo.YAMLWarning;C.Alias=gy.Alias;C.isAlias=Te.isAlias;C.isCollection=Te.isCollection;C.isDocument=Te.isDocument;C.isMap=Te.isMap;C.isNode=Te.isNode;C.isPair=Te.isPair;C.isScalar=Te.isScalar;C.isSeq=Te.isSeq;C.Pair=yy.Pair;C.Scalar=by.Scalar;C.YAMLMap=wy.YAMLMap;C.YAMLSeq=vy.YAMLSeq;C.CST=Sy;C.Lexer=ky.Lexer;C.LineCounter=xy.LineCounter;C.Parser=Ey.Parser;C.parse=Cs.parse;C.parseAllDocuments=Cs.parseAllDocuments;C.parseDocument=Cs.parseDocument;C.stringify=Cs.stringify;C.visit=Su.visit;C.visitAsync=Su.visitAsync});function Ty(r){try{return JSON.parse(r.trim()),!0}catch{return!1}}function Py(r){let e=r.trim();if(!e.startsWith("<"))return!1;let t=e.match(Ay);return t?Tt(e,t[1])!==null:!1}function Oy(r){let e=r.trim();if(!e.match(/^(---|#|\w+:|-)/)||"[{<".includes(e[0]))return!1;try{let t=xu.parse(e);return t!==null&&typeof t=="object"}catch{return!1}}function Eu(r){return Ty(r)||Py(r)||Oy(r)}var xu,Ay,go=N(()=>{La();xu=Fd(ku(),1),Ay=/<([a-zA-Z_][\w.-]*)/});function Ny(r){if(!r?.trim())return[];let e=r.replace(/\r\n/g,`
146
- `),t=e.trim();if(Eu(t))return[{text:t,startLine:1,endLine:e.split(`
145
+ `,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=Ns(e),s=ft(t);return s.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=Ns(e),s=ft(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!=="comment"||this.indent<=t?!1:e.every(s=>s.type==="newline"||s.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())}}};wu.Parser=mo});var Eu=v(nr=>{"use strict";var vu=to(),fy=Gt(),sr=Xt(),dy=Zn(),py=P(),hy=ho(),Su=go();function ku(r){let e=r.prettyErrors!==!1;return{lineCounter:r.lineCounter||e&&new hy.LineCounter||null,prettyErrors:e}}function my(r,e={}){let{lineCounter:t,prettyErrors:s}=ku(e),n=new Su.Parser(t?.addNewLine),i=new vu.Composer(e),o=Array.from(i.compose(n.parse(r)));if(s&&t)for(let a of o)a.errors.forEach(sr.prettifyError(r,t)),a.warnings.forEach(sr.prettifyError(r,t));return o.length>0?o:Object.assign([],{empty:!0},i.streamInfo())}function xu(r,e={}){let{lineCounter:t,prettyErrors:s}=ku(e),n=new Su.Parser(t?.addNewLine),i=new vu.Composer(e),o=null;for(let a of i.compose(n.parse(r),!0,r.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new sr.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return s&&t&&(o.errors.forEach(sr.prettifyError(r,t)),o.warnings.forEach(sr.prettifyError(r,t))),o}function gy(r,e,t){let s;typeof e=="function"?s=e:t===void 0&&e&&typeof e=="object"&&(t=e);let n=xu(r,t);if(!n)return null;if(n.warnings.forEach(i=>dy.warn(n.options.logLevel,i)),n.errors.length>0){if(n.options.logLevel!=="silent")throw n.errors[0];n.errors=[]}return n.toJS(Object.assign({reviver:s},t))}function yy(r,e,t){let s=null;if(typeof e=="function"||Array.isArray(e)?s=e:t===void 0&&e&&(t=e),typeof t=="string"&&(t=t.length),typeof t=="number"){let n=Math.round(t);t=n<1?void 0:n>8?{indent:8}:{indent:n}}if(r===void 0){let{keepUndefined:n}=t??e??{};if(!n)return}return py.isDocument(r)&&!s?r.toString(t):new fy.Document(r,s,t).toString(t)}nr.parse=gy;nr.parseAllDocuments=my;nr.parseDocument=xu;nr.stringify=yy});var Tu=v(C=>{"use strict";var by=to(),wy=Gt(),vy=$i(),yo=Xt(),Sy=It(),Ne=P(),ky=Ee(),xy=_(),Ey=Te(),Ay=Pe(),Ty=Ps(),Py=fo(),Oy=ho(),Ny=go(),Cs=Eu(),Au=Ot();C.Composer=by.Composer;C.Document=wy.Document;C.Schema=vy.Schema;C.YAMLError=yo.YAMLError;C.YAMLParseError=yo.YAMLParseError;C.YAMLWarning=yo.YAMLWarning;C.Alias=Sy.Alias;C.isAlias=Ne.isAlias;C.isCollection=Ne.isCollection;C.isDocument=Ne.isDocument;C.isMap=Ne.isMap;C.isNode=Ne.isNode;C.isPair=Ne.isPair;C.isScalar=Ne.isScalar;C.isSeq=Ne.isSeq;C.Pair=ky.Pair;C.Scalar=xy.Scalar;C.YAMLMap=Ey.YAMLMap;C.YAMLSeq=Ay.YAMLSeq;C.CST=Ty;C.Lexer=Py.Lexer;C.LineCounter=Oy.LineCounter;C.Parser=Ny.Parser;C.parse=Cs.parse;C.parseAllDocuments=Cs.parseAllDocuments;C.parseDocument=Cs.parseDocument;C.stringify=Cs.stringify;C.visit=Au.visit;C.visitAsync=Au.visitAsync});function Ry(r){try{return JSON.parse(r.trim()),!0}catch{return!1}}function Iy(r){let e=r.trim();if(!e.startsWith("<"))return!1;let t=e.match(Cy);return t?Pt(e,t[1])!==null:!1}function _y(r){let e=r.trim();if(!e.match(/^(---|#|\w+:|-)/)||"[{<".includes(e[0]))return!1;try{let t=Pu.parse(e);return t!==null&&typeof t=="object"}catch{return!1}}function Ou(r){return Ry(r)||Iy(r)||_y(r)}var Pu,Cy,bo=N(()=>{Ba();Pu=Wd(Tu(),1),Cy=/<([a-zA-Z_][\w.-]*)/});function Ly(r){if(!r?.trim())return[];let e=r.replace(/\r\n/g,`
146
+ `),t=e.trim();if(Ou(t))return[{text:t,startLine:1,endLine:e.split(`
147
147
  `).length}];let s=e.split(`
148
148
  `),n=[],i=0,o=-1,a=0,c=()=>{if(o>=i){let l=s.slice(i,o+1).join(`
149
- `).trim();l&&n.push({text:l,startLine:i+1,endLine:o+1})}};for(let l=0;l<s.length;l++)s[l].trim()?(a>=2&&o>=i&&(c(),i=l),a=0,o=l):a++;return c(),n}function yo(r){return Ny(r).map(e=>e.text)}var Au=N(()=>{go()});var Rs=N(()=>{Rr();Ea();Aa();Pa();go();Au();Ir()});function Is(r){return{...xa(r),server:r.files.get("server.ts")??""}}var bo=N(()=>{Rs();Rs();Rs()});import{realpathSync as db}from"fs";import{join as Lo,resolve as pb}from"path";import{homedir as hb}from"os";function Qs(){let r=process.env.TYPEBULB_SERVERS_DIR;return r?Lo(r,".."):Lo(hb(),".typebulb")}function Ke(){return process.env.TYPEBULB_SERVERS_DIR||Lo(Qs(),"servers")}function q(r){let e=pb(r),t=e;try{t=db.native(e)}catch{}return(process.platform==="win32"?t.toLowerCase():t).replace(/\\/g,"/")}function tf(r,e){let t=q(r),s=q(e);return t.startsWith(s.endsWith("/")?s:s+"/")?!t.includes("/node_modules/"):!1}var Xs=N(()=>{});import{readFileSync as mb,writeFileSync as gb,mkdirSync as yb}from"fs";import{join as bb}from"path";function rf(){return bb(Qs(),"trust.json")}function $o(){try{let r=JSON.parse(mb(rf(),"utf8"));return new Set(Array.isArray(r)?r:[])}catch{return new Set}}function wb(r){yb(Qs(),{recursive:!0}),gb(rf(),JSON.stringify([...r]))}function Ve(r){return $o().has(q(r))}function yt(r,e){let t=$o(),s=q(r);(e?t.has(s):!t.has(s))||(e?t.add(s):t.delete(s),wb(t))}function Mo(){return[...$o()]}var vr=N(()=>{Xs()});function vt(r){if(r.server.trim())return"server-side code (server.ts)";let e=r.code;if(/\btb\s*\.\s*fs\b/.test(e)||e.includes("/__fs"))return"the filesystem";if(/\btb\s*\.\s*ai\b/.test(e)||e.includes("/__ai"))return"AI (your API keys)";if(/\btb\s*\.\s*server\s*\.\s*(?!log\b)\w/.test(e)||e.includes("/__api"))return"server-side code (server.ts)"}var rn=N(()=>{});import{spawn as gf}from"child_process";import{readdir as qb,readFile as wf,writeFile as vf,unlink as xr,mkdir as Fb}from"fs/promises";import{mkdirSync as jb,writeFileSync as yf,appendFileSync as Ub,readFileSync as Sf}from"fs";import*as ne from"path";import{fileURLToPath as Jb}from"url";function qo(r){return ne.join(Ke(),`${r}.json`)}function Er(r){return ne.join(Ke(),`${r}.log`)}function sn(r){let e=Er(r);try{jb(Ke(),{recursive:!0}),yf(e,"")}catch{return()=>{}}let t=process.stdout.write.bind(process.stdout),s=process.stderr.write.bind(process.stderr),n=0,i=!1,o=a=>{if(!i)try{let c=typeof a=="string"?Buffer.from(a,"utf8"):Buffer.from(a);if(Ub(e,c),n+=c.length,n>2*bf){let l=Sf(e),f=l.subarray(Math.max(0,l.length-bf));yf(e,f),n=f.length}}catch{i=!0}};return process.stdout.write=((a,...c)=>(o(a),t(a,...c))),process.stderr.write=((a,...c)=>(o(a),s(a,...c))),()=>{process.stdout.write=t,process.stderr.write=s}}function Re(r,e=0){try{let t=Sf(Er(r)),s=e>=0&&e<=t.length?e:0;return{text:t.subarray(s).toString("utf8"),offset:t.length}}catch{return{text:"",offset:0}}}function Fo(r){try{return process.kill(r,0),!0}catch(e){return e.code==="EPERM"}}async function nn(r){await Fb(Ke(),{recursive:!0}),await vf(qo(r.pid),JSON.stringify(r))}async function kf(r,e){let t=qo(r);try{let s=JSON.parse(await wf(t,"utf8"));if(s.denied===e)return;s.denied=e,await vf(t,JSON.stringify(s))}catch{}}async function Ar(r){await xr(qo(r)).catch(()=>{}),await xr(Er(r)).catch(()=>{})}async function j(r){let e;try{e=await qb(Ke())}catch{return[]}let t=[];return await Promise.all(e.map(async n=>{if(!n.endsWith(".json"))return;let i=ne.join(Ke(),n),o;try{o=JSON.parse(await wf(i,"utf8"))}catch{await xr(i).catch(()=>{});return}o&&typeof o.pid=="number"&&Fo(o.pid)?t.push(o):(await xr(i).catch(()=>{}),o?.pid&&await xr(Er(o.pid)).catch(()=>{}))})),(r?t.filter(n=>n.agent==null&&tf(n.file,r)):t).sort((n,i)=>n.startedAt-i.startedAt)}async function jo(r,e){let t=q(r);return(await j()).find(s=>s.cwd!=null&&q(s.cwd)===t&&(e?s.agent===e:s.agent!=null))}async function St(r){try{process.kill(r,"SIGTERM")}catch{}await Ar(r)}function Vb(r,e,t){(process.platform==="win32"?gf("cmd",["/c","start","","/b",r,...e],{cwd:t,stdio:"ignore",windowsHide:!0}):gf(r,e,{cwd:t,detached:!0,stdio:"ignore"})).unref()}function xf(){return ne.join(ne.dirname(Jb(import.meta.url)),"index.js")}function Wb(r,e={}){return{command:process.execPath,args:[xf(),...e.trust?["--trust"]:[],r,...e.open===!1?["--no-open"]:[]]}}function Yb(r){return{command:process.execPath,args:[xf(),`agent:${r}`,"--no-open"]}}async function Ef(r,e,t,s){let n=await r();if(n)return n;Vb(e.command,e.args,t);let i=Date.now()+2e4;for(;Date.now()<i;){await Kb(150);let o=await r();if(o)return o}throw new Error(`Launched ${s} but it did not register within 20s.`)}async function on(r,e={}){let t=e.cwd??process.cwd(),s=ne.resolve(t,r);return Ef(async()=>(await j()).find(i=>i.file===s),Wb(r,e),t,ne.basename(r))}async function Af(r,e=process.cwd()){return Ef(()=>jo(e,r),Yb(r),e,`the ${r} mirror`)}var bf,Kb,Ie=N(()=>{Xs();bf=1e6;Kb=r=>new Promise(e=>setTimeout(e,r))});function wn(r){let e=/^---[^\n]*\n([\s\S]*?)\n---/.exec(r),t=e?/^\s*name:\s*(.+?)\s*$/m.exec(e[1]):null;return t?t[1].replace(/^["']|["']$/g,""):void 0}function ea(r){return(wn(r)??"bulb").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"bulb"}var ta=N(()=>{});import{readdirSync as kw,readFileSync as xw,statSync as Ew}from"fs";import{join as Qf,basename as Aw}from"path";function Xf(r,e,t){if(e>8)return t;let s;try{s=kw(r,{withFileTypes:!0})}catch{return t}for(let n of s)if(n.isDirectory()){if(n.name.startsWith(".")||n.name==="node_modules")continue;Xf(Qf(r,n.name),e+1,t)}else n.isFile()&&n.name.endsWith(".bulb.md")&&t.push(Qf(r,n.name));return t}function ra(r){return Xf(r,0,[]).map(e=>{let t=0;try{t=Ew(e).mtimeMs}catch{}let s;try{s=wn(xw(e,"utf8").slice(0,1024))}catch{}return{path:e,name:s??Aw(e).replace(/\.bulb\.md$/,""),mtime:t}})}var Zf=N(()=>{ta()});import{readFile as Tw}from"fs/promises";async function sa(r){try{let e=_r(await Tw(r,"utf-8"));return e?vt(Is(e)):void 0}catch{return}}var ed=N(()=>{bo();rn()});import{spawn as td}from"child_process";import{basename as Pw}from"path";function Ow(){return process.env.TYPEBULB_EDITOR||"code"}function Cw(r,e,t){return t==null?[e]:Nw.test(Pw(r))?["-g",`${e}:${t}`]:[`+${t}`,e]}function Rw(r,e){let t=Ow();return{command:t,args:Cw(t,r,e)}}function na(r,e){let{command:t,args:s}=Rw(r,e),n=process.platform==="win32"?td("cmd.exe",["/d","/s","/c",t,...s],{detached:!0,stdio:"ignore",windowsHide:!0}):td(t,s,{detached:!0,stdio:"ignore"});n.on("error",i=>console.error("[typebulb] editor launch failed:",i?.message??i)),n.unref()}var Nw,rd=N(()=>{Nw=/^(code|code-insiders|codium|vscodium|cursor|windsurf)(\.cmd|\.exe)?$/i});var sd=N(()=>{Ie();Zf();ed();ta();rd();vr()});var vn,nd=N(()=>{vn=class{#e=new Map;accept(e,t){return this.#e.get(e)===t?!1:(this.#e.set(e,t),!0)}}});var xd={};Bd(xd,{attach:()=>iv,blockToMarkdown:()=>ua,breakout:()=>av,capText:()=>Nr,info:()=>Xw,isHiddenTurn:()=>fa,launchBulb:()=>fv,listBreakouts:()=>cv,listBulbFiles:()=>uv,listSessions:()=>nv,logEmbedStatus:()=>tv,openFile:()=>ov,poll:()=>Zw,predictTrustOf:()=>dv,readBulbLog:()=>hv,setBulbTrust:()=>pv,stopBreakout:()=>lv});import{existsSync as Qe,openSync as cd,readSync as ld,closeSync as ud,statSync as Xe,readdirSync as aa,watchFile as Iw,unwatchFile as id,mkdirSync as fd,writeFileSync as dd,readFileSync as ca,unlinkSync as _w,rmSync as Lw}from"fs";import{join as D,isAbsolute as $w}from"path";import{homedir as Mw}from"os";function pd(r){return r?.message??String(r)}function Dw(r){return r.replace(/[^a-zA-Z0-9]/g,"-")}function hd(r){let e=la(r);if(!Qe(e))return[];let t;try{t=aa(e)}catch{return[]}let s=[];for(let n of t){if(!n.endsWith(".jsonl"))continue;let i=D(e,n);try{let o=Xe(i);o.isFile()&&s.push({sessionId:n.slice(0,-6),file:i,mtime:o.mtimeMs})}catch{}}return s}function kn(r){return D(r,Fw)}function gd(r,e){return D(kn(r),`${e}.lock`)}function Uw(r,e){try{let t=gd(r,e);if(Date.now()-Xe(t).mtimeMs>=md)return!1;try{if(parseInt(ca(t,"utf8").trim(),10)===process.pid)return!1}catch{}return!0}catch{return!1}}function yd(r,e){if(e)try{fd(kn(r),{recursive:!0}),dd(gd(r,e),String(process.pid))}catch(t){console.error("[lock] claim failed:",pd(t))}}function Jw(r){try{Lw(D(r,".claude-bulb"),{recursive:!0,force:!0})}catch{}}function Kw(r){let e=kn(r);if(!Qe(e))return;let t;try{t=aa(e)}catch{return}let s=Date.now();for(let n of t){if(!n.endsWith(".lock"))continue;let i=D(e,n);try{let o=Xe(i);s-o.mtimeMs>jw&&_w(i)}catch{}}}function ua(r){let e=r?.type==="image"?r.source:void 0;return e?.type==="base64"&&e.data?`![pasted image](data:${e.media_type||"image/png"};base64,${e.data})`:""}function Nr(r){return r.length>ia?r.slice(0,ia)+`
150
- \u2026[${r.length-ia} more characters truncated]`:r}function oa(r){return typeof r=="string"?Nr(r):Array.isArray(r)?r.map(e=>{if(typeof e=="string")return Nr(e);let t=e;return typeof t?.text=="string"?Nr(t.text):t?.content!=null?oa(t.content):ua(t)}).join(`
151
- `):r==null?"":Nr(JSON.stringify(r))}function bd(r){try{return Xe(r),!1}catch(e){return e.code==="ENOENT"}}function wd(){let r=U;if(r.file&&!bd(r.file)){yd(r.cwd,r.sessionId);return}let e=Vw(r);e&&vd(e)}function Vw(r){if(!r.everAttached)return Ww(r.cwd)??Yw(r.cwd,()=>!0)}function Ww(r){let e=kn(r);if(!Qe(e))return;let t;try{t=aa(e)}catch{return}let s;for(let i of t)if(i.endsWith(".lock"))try{let o=Xe(D(e,i));if(Date.now()-o.mtimeMs>=md||parseInt(ca(D(e,i),"utf8").trim(),10)!==process.pid)continue;(!s||o.mtimeMs>s.mtime)&&(s={sessionId:i.slice(0,-5),mtime:o.mtimeMs})}catch{}if(!s)return;let n=D(la(r),`${s.sessionId}.jsonl`);if(!bd(n))return{sessionId:s.sessionId,file:n,mtime:s.mtime}}function Yw(r,e){return hd(r).sort((t,s)=>s.mtime-t.mtime).find(t=>!Uw(r,t.sessionId)&&e(t))}function vd(r){let e=U;if(e.file)try{id(e.file)}catch{}e.file=r.file,e.sessionId=r.sessionId,e.everAttached=!0,e.partial="",e.offset=0,e.latest={in:0,out:0,cached:0,cacheCreate:0},e.entries=new Map,e.chainLastUuid=void 0,e.buffer.push({type:"cleared"}),e.buffer.push({type:"session",sessionId:r.sessionId}),yd(e.cwd,r.sessionId),od();try{id(r.file)}catch{}Iw(r.file,{interval:200},()=>od())}function od(){let r=U;if(!r.file)return;let e;try{e=Xe(r.file).size}catch{return}if(e<=r.offset)return;let t;try{t=cd(r.file,"r")}catch{return}try{let c=e-r.offset,l=Buffer.alloc(c),f=0;for(;f<c;){let u=ld(t,l,f,c-f,r.offset+f);if(!u)break;f+=u}r.offset+=f,r.partial+=l.subarray(0,f).toString("utf8")}finally{ud(t)}let s,n;for(;(n=r.partial.indexOf(`
152
- `))>=0;){let c=r.partial.slice(0,n);if(r.partial=r.partial.slice(n+1),!c.trim())continue;let l;try{l=JSON.parse(c)}catch{continue}l&&l.uuid&&(r.entries.set(l.uuid,l),l.isSidechain||(s=l.uuid))}if(!s)return;let i=[],o=r.entries.get(s),a=!1;for(;o;){if(i.push(o),o.uuid===r.chainLastUuid){a=!0;break}o=o.parentUuid?r.entries.get(o.parentUuid):void 0}if(a)for(let c=i.length-2;c>=0;c--)ad(i[c]);else{r.chainLastUuid!==void 0&&(r.buffer.push({type:"cleared"}),r.buffer.push({type:"session",sessionId:r.sessionId}),r.latest={in:0,out:0,cached:0,cacheCreate:0});for(let c=i.length-1;c>=0;c--)ad(i[c])}r.chainLastUuid=s}function Sd(r){let e=r.trim();return!!e&&Hw.some(t=>t.test(e))}function zw(r){return r.replace(Gw,"")}function Sn(r){let e=zw(r).trim();return e&&!Sd(e)?e:""}function kd(r){return r?.type==="text"&&typeof r.text=="string"?Sn(r.text):""}function fa(r){return!!r.isSidechain||!!r.isMeta}function ad(r){try{Qw(r)}catch(e){console.error("[mirror] skipped malformed entry:",pd(e))}}function Qw(r){if(fa(r))return;let e=U;if(r.type==="user"){let t=r.message?.content;if(typeof t=="string"){let s=Sn(t);s&&e.buffer.push({type:"user",text:s})}else if(Array.isArray(t))for(let s of t)if(s?.type==="tool_result")e.buffer.push({type:"tool_result",id:s.tool_use_id??"",content:oa(s.content),isError:!!s.is_error});else{let n=kd(s)||ua(s);n&&e.buffer.push({type:"user",text:n})}}else if(r.type==="attachment"&&r.attachment?.type==="queued_command"){let t=Sn(oa(r.attachment.prompt));t&&e.buffer.push({type:"user",text:t})}else if(r.type==="assistant"){let t=r.message?.content,s=Array.isArray(t)?t:[],n=s.filter(c=>c.type==="text").map(c=>c.text??"").filter(c=>!Sd(c)).join(""),i=s.filter(c=>c.type==="thinking").map(c=>c.thinking??"").join(`
153
- `),o=s.filter(c=>c.type==="tool_use").map(c=>({id:c.id??"",name:c.name??"",input:c.input??{}}));if(n||i||o.length){let c=Date.parse(r.timestamp??""),l=!isNaN(c)&&c>=e.sessionStartMs;e.buffer.push({type:"assistant",text:n,thinking:i,tools:o,live:l})}let a=r.message?.usage??r.usage;a&&(e.latest={in:a.input_tokens??0,out:a.output_tokens??0,cached:a.cache_read_input_tokens??0,cacheCreate:a.cache_creation_input_tokens??0},e.buffer.push({type:"usage",...e.latest}))}}async function Xw(){return{cwd:U.cwd,pid:process.pid}}async function Zw(r){let e=U;return wd(),{events:e.buffer.slice(r),cursor:e.buffer.length,working:rv(e)}}async function tv(r,e){ev.accept(r,e)&&console.log(e)}function rv(r){let e;for(let i of r.entries.values())(i.type==="user"||i.type==="assistant")&&(e=i);if(!e)return!1;if(e.type==="user")return!0;let s=(Array.isArray(e.message?.content)?e.message.content:[]).filter(i=>i.type==="tool_use").map(i=>i.id);if(s.length===0)return!1;let n=new Set;for(let i of r.entries.values()){let o=i.message?.content;if(Array.isArray(o))for(let a of o)a.type==="tool_result"&&a.tool_use_id&&n.add(a.tool_use_id)}return s.some(i=>i&&!n.has(i))}function sv(r){let e;try{e=cd(r,"r")}catch{return""}try{let s=65536;try{s=Xe(r).size}catch{}let n=(l,f)=>{if(f<=0)return"";let u=Buffer.alloc(f),d=ld(e,u,0,f,l);return u.subarray(0,d).toString("utf8")},i=(l,f,u)=>{let d="";for(let p of l.split(`
149
+ `).trim();l&&n.push({text:l,startLine:i+1,endLine:o+1})}};for(let l=0;l<s.length;l++)s[l].trim()?(a>=2&&o>=i&&(c(),i=l),a=0,o=l):a++;return c(),n}function wo(r){return Ly(r).map(e=>e.text)}var Nu=N(()=>{bo()});var Rs=N(()=>{Rr();Oa();Na();Ra();bo();Nu();Ir()});function Is(r){return{...Pa(r),server:r.files.get("server.ts")??""}}var vo=N(()=>{Rs();Rs();Rs()});import{realpathSync as yb}from"fs";import{join as Mo,resolve as bb}from"path";import{homedir as wb}from"os";function Qs(){let r=process.env.TYPEBULB_SERVERS_DIR;return r?Mo(r,".."):Mo(wb(),".typebulb")}function me(){return process.env.TYPEBULB_SERVERS_DIR||Mo(Qs(),"servers")}function M(r){let e=bb(r),t=e;try{t=yb.native(e)}catch{}return(process.platform==="win32"?t.toLowerCase():t).replace(/\\/g,"/")}function of(r,e){let t=M(r),s=M(e);return t.startsWith(s.endsWith("/")?s:s+"/")?!t.includes("/node_modules/"):!1}var Sr=N(()=>{});import{readFileSync as vb,writeFileSync as Sb,mkdirSync as kb}from"fs";import{join as xb}from"path";function af(){return xb(Qs(),"trust.json")}function Do(){try{let r=JSON.parse(vb(af(),"utf8"));return new Set(Array.isArray(r)?r:[])}catch{return new Set}}function Eb(r){kb(Qs(),{recursive:!0}),Sb(af(),JSON.stringify([...r]))}function We(r){return Do().has(M(r))}function bt(r,e){let t=Do(),s=M(r);(e?t.has(s):!t.has(s))||(e?t.add(s):t.delete(s),Eb(t))}function Bo(){return[...Do()]}var kr=N(()=>{Sr()});function St(r){if(r.server.trim())return"server-side code (server.ts)";let e=r.code;if(/\btb\s*\.\s*fs\b/.test(e)||e.includes("/__fs"))return"the filesystem";if(/\btb\s*\.\s*ai\b/.test(e)||e.includes("/__ai"))return"AI (your API keys)";if(/\btb\s*\.\s*server\s*\.\s*(?!log\b)\w/.test(e)||e.includes("/__api"))return"server-side code (server.ts)"}var tn=N(()=>{});import{spawn as vf}from"child_process";import{readdir as Kb,readFile as kf,writeFile as xf,unlink as He,mkdir as Wb}from"fs/promises";import{mkdirSync as Ef,writeFileSync as jo,appendFileSync as Vb,readFileSync as Uo}from"fs";import*as X from"path";import{fileURLToPath as Yb}from"url";function Jo(r){return X.join(me(),`${r}.json`)}function Ar(r){return X.join(me(),`${r}.log`)}function rn(r){return X.join(me(),`${r}.wait.json`)}function Af(r){try{let e=JSON.parse(Uo(rn(r),"utf8"));return typeof e.offset=="number"&&Number.isFinite(e.offset)&&e.offset>=0?e.offset:void 0}catch{return}}function sn(r,e){try{Ef(me(),{recursive:!0}),jo(rn(r),JSON.stringify({offset:e}))}catch{}}function nn(r){let e=Ar(r);try{Ef(me(),{recursive:!0}),jo(e,"")}catch{return()=>{}}let t=process.stdout.write.bind(process.stdout),s=process.stderr.write.bind(process.stderr),n=0,i=!1,o=a=>{if(!i)try{let c=typeof a=="string"?Buffer.from(a,"utf8"):Buffer.from(a);if(Vb(e,c),n+=c.length,n>2*Sf){let l=Uo(e),f=l.subarray(Math.max(0,l.length-Sf));jo(e,f),n=f.length}}catch{i=!0}};return process.stdout.write=((a,...c)=>(o(a),t(a,...c))),process.stderr.write=((a,...c)=>(o(a),s(a,...c))),()=>{process.stdout.write=t,process.stderr.write=s}}function ue(r,e=0){try{let t=Uo(Ar(r)),s=e>=0&&e<=t.length?e:0;return{text:t.subarray(s).toString("utf8"),offset:t.length}}catch{return{text:"",offset:0}}}function Ko(r){try{return process.kill(r,0),!0}catch(e){return e.code==="EPERM"}}async function on(r){await Wb(me(),{recursive:!0}),await xf(Jo(r.pid),JSON.stringify(r))}async function Tf(r,e){let t=Jo(r);try{let s=JSON.parse(await kf(t,"utf8"));if(s.denied===e)return;s.denied=e,await xf(t,JSON.stringify(s))}catch{}}async function Tr(r){await He(Jo(r)).catch(()=>{}),await He(Ar(r)).catch(()=>{}),await He(rn(r)).catch(()=>{})}async function B(r){let e;try{e=await Kb(me())}catch{return[]}let t=[];return await Promise.all(e.map(async n=>{if(!/^\d+\.json$/.test(n))return;let i=X.join(me(),n),o;try{o=JSON.parse(await kf(i,"utf8"))}catch{await He(i).catch(()=>{});return}o&&typeof o.pid=="number"&&Ko(o.pid)?t.push(o):(await He(i).catch(()=>{}),o?.pid&&(await He(Ar(o.pid)).catch(()=>{}),await He(rn(o.pid)).catch(()=>{})))})),(r?t.filter(n=>n.agent==null&&of(n.file,r)):t).sort((n,i)=>n.startedAt-i.startedAt)}async function Wo(r,e){let t=M(r);return(await B()).find(s=>s.cwd!=null&&M(s.cwd)===t&&(e?s.agent===e:s.agent!=null))}async function kt(r){try{process.kill(r,"SIGTERM")}catch{}await Tr(r)}function Gb(r,e,t){(process.platform==="win32"?vf("cmd",["/c","start","","/b",r,...e],{cwd:t,stdio:"ignore",windowsHide:!0}):vf(r,e,{cwd:t,detached:!0,stdio:"ignore"})).unref()}function Pf(){return X.join(X.dirname(Yb(import.meta.url)),"index.js")}function zb(r,e={}){return{command:process.execPath,args:[Pf(),...e.trust?["--trust"]:[],r,...e.open===!1?["--no-open"]:[]]}}function Qb(r){return{command:process.execPath,args:[Pf(),`agent:${r}`,"--no-open"]}}async function Of(r,e,t,s){let n=await r();if(n)return n;Gb(e.command,e.args,t);let i=Date.now()+2e4;for(;Date.now()<i;){await Hb(150);let o=await r();if(o)return o}throw new Error(`Launched ${s} but it did not register within 20s.`)}async function an(r,e={}){let t=e.cwd??process.cwd(),s=X.resolve(t,r);return Of(async()=>(await B()).find(i=>i.file===s),zb(r,e),t,X.basename(r))}async function Nf(r,e=process.cwd()){return Of(()=>Wo(e,r),Qb(r),e,`the ${r} mirror`)}var Sf,Hb,ye=N(()=>{Sr();Sf=1e6;Hb=r=>new Promise(e=>setTimeout(e,r))});function Sn(r){let e=/^---[^\n]*\n([\s\S]*?)\n---/.exec(r),t=e?/^\s*name:\s*(.+?)\s*$/m.exec(e[1]):null;return t?t[1].replace(/^["']|["']$/g,""):void 0}function na(r){return(Sn(r)??"bulb").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"bulb"}var ia=N(()=>{});import{readdirSync as Tw,readFileSync as Pw,statSync as Ow}from"fs";import{join as rd,basename as Nw}from"path";function sd(r,e,t){if(e>8)return t;let s;try{s=Tw(r,{withFileTypes:!0})}catch{return t}for(let n of s)if(n.isDirectory()){if(n.name.startsWith(".")||n.name==="node_modules")continue;sd(rd(r,n.name),e+1,t)}else n.isFile()&&n.name.endsWith(".bulb.md")&&t.push(rd(r,n.name));return t}function oa(r){return sd(r,0,[]).map(e=>{let t=0;try{t=Ow(e).mtimeMs}catch{}let s;try{s=Sn(Pw(e,"utf8").slice(0,1024))}catch{}return{path:e,name:s??Nw(e).replace(/\.bulb\.md$/,""),mtime:t}})}var nd=N(()=>{ia()});import{readFile as Cw}from"fs/promises";async function aa(r){try{let e=_r(await Cw(r,"utf-8"));return e?St(Is(e)):void 0}catch{return}}var id=N(()=>{vo();tn()});import{spawn as od}from"child_process";import{basename as Rw}from"path";function Iw(){return process.env.TYPEBULB_EDITOR||"code"}function Lw(r,e,t){return t==null?[e]:_w.test(Rw(r))?["-g",`${e}:${t}`]:[`+${t}`,e]}function $w(r,e){let t=Iw();return{command:t,args:Lw(t,r,e)}}function ca(r,e){let{command:t,args:s}=$w(r,e),n=process.platform==="win32"?od("cmd.exe",["/d","/s","/c",t,...s],{detached:!0,stdio:"ignore",windowsHide:!0}):od(t,s,{detached:!0,stdio:"ignore"});n.on("error",i=>console.error("[typebulb] editor launch failed:",i?.message??i)),n.unref()}var _w,ad=N(()=>{_w=/^(code|code-insiders|codium|vscodium|cursor|windsurf)(\.cmd|\.exe)?$/i});var cd=N(()=>{ye();nd();id();ia();ad();kr()});var kn,ld=N(()=>{kn=class{#e=new Map;accept(e,t){return this.#e.get(e)===t?!1:(this.#e.set(e,t),!0)}}});var Od={};Jd(Od,{attach:()=>lv,blockToMarkdown:()=>ha,breakout:()=>fv,capText:()=>Nr,info:()=>rv,isHiddenTurn:()=>ma,launchBulb:()=>mv,listBreakouts:()=>dv,listBulbFiles:()=>hv,listSessions:()=>cv,logEmbedStatus:()=>iv,openFile:()=>uv,poll:()=>sv,predictTrustOf:()=>gv,readBulbLog:()=>bv,setBulbTrust:()=>yv,stopBreakout:()=>pv});import{existsSync as Xe,openSync as pd,readSync as hd,closeSync as md,statSync as Ze,readdirSync as fa,watchFile as Mw,unwatchFile as ud,mkdirSync as gd,writeFileSync as yd,readFileSync as da,unlinkSync as Dw,rmSync as Bw}from"fs";import{join as q,isAbsolute as qw}from"path";import{homedir as Fw}from"os";function bd(r){return r?.message??String(r)}function jw(r){return r.replace(/[^a-zA-Z0-9]/g,"-")}function wd(r){let e=pa(r);if(!Xe(e))return[];let t;try{t=fa(e)}catch{return[]}let s=[];for(let n of t){if(!n.endsWith(".jsonl"))continue;let i=q(e,n);try{let o=Ze(i);o.isFile()&&s.push({sessionId:n.slice(0,-6),file:i,mtime:o.mtimeMs})}catch{}}return s}function En(r){return q(r,Kw)}function Sd(r,e){return q(En(r),`${e}.lock`)}function Vw(r,e){try{let t=Sd(r,e);if(Date.now()-Ze(t).mtimeMs>=vd)return!1;try{if(parseInt(da(t,"utf8").trim(),10)===process.pid)return!1}catch{}return!0}catch{return!1}}function kd(r,e){if(e)try{gd(En(r),{recursive:!0}),yd(Sd(r,e),String(process.pid))}catch(t){console.error("[lock] claim failed:",bd(t))}}function Yw(r){try{Bw(q(r,".claude-bulb"),{recursive:!0,force:!0})}catch{}}function Hw(r){let e=En(r);if(!Xe(e))return;let t;try{t=fa(e)}catch{return}let s=Date.now();for(let n of t){if(!n.endsWith(".lock"))continue;let i=q(e,n);try{let o=Ze(i);s-o.mtimeMs>Ww&&Dw(i)}catch{}}}function ha(r){let e=r?.type==="image"?r.source:void 0;return e?.type==="base64"&&e.data?`![pasted image](data:${e.media_type||"image/png"};base64,${e.data})`:""}function Nr(r){return r.length>la?r.slice(0,la)+`
150
+ \u2026[${r.length-la} more characters truncated]`:r}function ua(r){return typeof r=="string"?Nr(r):Array.isArray(r)?r.map(e=>{if(typeof e=="string")return Nr(e);let t=e;return typeof t?.text=="string"?Nr(t.text):t?.content!=null?ua(t.content):ha(t)}).join(`
151
+ `):r==null?"":Nr(JSON.stringify(r))}function xd(r){try{return Ze(r),!1}catch(e){return e.code==="ENOENT"}}function Ed(){let r=U;if(r.file&&!xd(r.file)){kd(r.cwd,r.sessionId);return}let e=Gw(r);e&&Ad(e)}function Gw(r){if(!r.everAttached)return zw(r.cwd)??Qw(r.cwd,()=>!0)}function zw(r){let e=En(r);if(!Xe(e))return;let t;try{t=fa(e)}catch{return}let s;for(let i of t)if(i.endsWith(".lock"))try{let o=Ze(q(e,i));if(Date.now()-o.mtimeMs>=vd||parseInt(da(q(e,i),"utf8").trim(),10)!==process.pid)continue;(!s||o.mtimeMs>s.mtime)&&(s={sessionId:i.slice(0,-5),mtime:o.mtimeMs})}catch{}if(!s)return;let n=q(pa(r),`${s.sessionId}.jsonl`);if(!xd(n))return{sessionId:s.sessionId,file:n,mtime:s.mtime}}function Qw(r,e){return wd(r).sort((t,s)=>s.mtime-t.mtime).find(t=>!Vw(r,t.sessionId)&&e(t))}function Ad(r){let e=U;if(e.file)try{ud(e.file)}catch{}e.file=r.file,e.sessionId=r.sessionId,e.everAttached=!0,e.partial="",e.offset=0,e.latest={in:0,out:0,cached:0,cacheCreate:0},e.entries=new Map,e.chainLastUuid=void 0,e.buffer.push({type:"cleared"}),e.buffer.push({type:"session",sessionId:r.sessionId}),kd(e.cwd,r.sessionId),fd();try{ud(r.file)}catch{}Mw(r.file,{interval:200},()=>fd())}function fd(){let r=U;if(!r.file)return;let e;try{e=Ze(r.file).size}catch{return}if(e<=r.offset)return;let t;try{t=pd(r.file,"r")}catch{return}try{let c=e-r.offset,l=Buffer.alloc(c),f=0;for(;f<c;){let u=hd(t,l,f,c-f,r.offset+f);if(!u)break;f+=u}r.offset+=f,r.partial+=l.subarray(0,f).toString("utf8")}finally{md(t)}let s,n;for(;(n=r.partial.indexOf(`
152
+ `))>=0;){let c=r.partial.slice(0,n);if(r.partial=r.partial.slice(n+1),!c.trim())continue;let l;try{l=JSON.parse(c)}catch{continue}l&&l.uuid&&(r.entries.set(l.uuid,l),l.isSidechain||(s=l.uuid))}if(!s)return;let i=[],o=r.entries.get(s),a=!1;for(;o;){if(i.push(o),o.uuid===r.chainLastUuid){a=!0;break}o=o.parentUuid?r.entries.get(o.parentUuid):void 0}if(a)for(let c=i.length-2;c>=0;c--)dd(i[c]);else{r.chainLastUuid!==void 0&&(r.buffer.push({type:"cleared"}),r.buffer.push({type:"session",sessionId:r.sessionId}),r.latest={in:0,out:0,cached:0,cacheCreate:0});for(let c=i.length-1;c>=0;c--)dd(i[c])}r.chainLastUuid=s}function Td(r){let e=r.trim();return!!e&&Xw.some(t=>t.test(e))}function ev(r){return r.replace(Zw,"")}function xn(r){let e=ev(r).trim();return e&&!Td(e)?e:""}function Pd(r){return r?.type==="text"&&typeof r.text=="string"?xn(r.text):""}function ma(r){return!!r.isSidechain||!!r.isMeta}function dd(r){try{tv(r)}catch(e){console.error("[mirror] skipped malformed entry:",bd(e))}}function tv(r){if(ma(r))return;let e=U;if(r.type==="user"){let t=r.message?.content;if(typeof t=="string"){let s=xn(t);s&&e.buffer.push({type:"user",text:s})}else if(Array.isArray(t))for(let s of t)if(s?.type==="tool_result")e.buffer.push({type:"tool_result",id:s.tool_use_id??"",content:ua(s.content),isError:!!s.is_error});else{let n=Pd(s)||ha(s);n&&e.buffer.push({type:"user",text:n})}}else if(r.type==="attachment"&&r.attachment?.type==="queued_command"){let t=xn(ua(r.attachment.prompt));t&&e.buffer.push({type:"user",text:t})}else if(r.type==="assistant"){let t=r.message?.content,s=Array.isArray(t)?t:[],n=s.filter(c=>c.type==="text").map(c=>c.text??"").filter(c=>!Td(c)).join(""),i=s.filter(c=>c.type==="thinking").map(c=>c.thinking??"").join(`
153
+ `),o=s.filter(c=>c.type==="tool_use").map(c=>({id:c.id??"",name:c.name??"",input:c.input??{}}));if(n||i||o.length){let c=Date.parse(r.timestamp??""),l=!isNaN(c)&&c>=e.sessionStartMs;e.buffer.push({type:"assistant",text:n,thinking:i,tools:o,live:l})}let a=r.message?.usage??r.usage;a&&(e.latest={in:a.input_tokens??0,out:a.output_tokens??0,cached:a.cache_read_input_tokens??0,cacheCreate:a.cache_creation_input_tokens??0},e.buffer.push({type:"usage",...e.latest}))}}async function rv(){return{cwd:U.cwd,pid:process.pid}}async function sv(r){let e=U;return Ed(),{events:e.buffer.slice(r),cursor:e.buffer.length,working:ov(e)}}async function iv(r,e){nv.accept(r,e)&&console.log(e)}function ov(r){let e;for(let i of r.entries.values())(i.type==="user"||i.type==="assistant")&&(e=i);if(!e)return!1;if(e.type==="user")return!0;let s=(Array.isArray(e.message?.content)?e.message.content:[]).filter(i=>i.type==="tool_use").map(i=>i.id);if(s.length===0)return!1;let n=new Set;for(let i of r.entries.values()){let o=i.message?.content;if(Array.isArray(o))for(let a of o)a.type==="tool_result"&&a.tool_use_id&&n.add(a.tool_use_id)}return s.some(i=>i&&!n.has(i))}function av(r){let e;try{e=pd(r,"r")}catch{return""}try{let s=65536;try{s=Ze(r).size}catch{}let n=(l,f)=>{if(f<=0)return"";let u=Buffer.alloc(f),d=hd(e,u,0,f,l);return u.subarray(0,d).toString("utf8")},i=(l,f,u)=>{let d="";for(let p of l.split(`
154
154
  `)){if(!p.includes(`"${f}"`))continue;let g;try{g=JSON.parse(p)}catch{continue}let h=g?.[u];g?.type===f&&typeof h=="string"&&h&&(d=h)}return d},o=n(0,Math.min(65536,s)),a=s>65536?n(s-65536,65536):"",c=i(a,"custom-title","customTitle")||i(o,"custom-title","customTitle")||i(a,"ai-title","aiTitle")||i(o,"ai-title","aiTitle");if(c)return c.replace(/\s+/g," ").trim().slice(0,200);for(let l of o.split(`
155
- `)){if(!l.trim())continue;let f;try{f=JSON.parse(l)}catch{continue}if(!f||fa(f)||f.type!=="user")continue;let u=f.message?.content,d="";typeof u=="string"?d=Sn(u):Array.isArray(u)&&(d=u.map(kd).filter(Boolean).join(" "));let p=d.replace(/\s+/g," ").trim();if(p)return(p.replace(/^Continuing from a prior session\. Here is the summary of our work so far:\s*/i,"").trim()||p).slice(0,200)}return""}finally{ud(e)}}async function nv(){return hd(U.cwd).sort((r,e)=>e.mtime-r.mtime).map(({sessionId:r,file:e,mtime:t})=>({sessionId:r,mtime:t,preview:sv(e)}))}async function iv(r){let e=U,t=D(la(e.cwd),`${r}.jsonl`);return Qe(t)?t===e.file?{ok:!0}:(vd({sessionId:r,file:t}),{ok:!0}):{ok:!1,error:"session not found"}}async function ov(r,e){let t=$w(r)?r:D(U.cwd,r);return Qe(t)?(na(t,e),{ok:!0}):{ok:!1,error:"file not found"}}async function av(r){let e=U.cwd,t=D(e,"typebulbs");fd(t,{recursive:!0});let s=ea(r),n=`${s}.bulb.md`;for(let c=2;Qe(D(t,n))&&ca(D(t,n),"utf8")!==r;c++)n=`${s}-${c}.bulb.md`;let i=D(t,n);Qe(i)||dd(i,r);let o=D("typebulbs",n),a=await on(o,{cwd:e,open:!0});return{ok:!0,file:o,pid:a.pid,url:a.url}}async function cv(){return j(U.cwd)}async function lv(r){return await St(r),{ok:!0}}async function uv(){return ra(U.cwd).map(r=>({...r,trusted:Ve(r.path)}))}async function fv(r,e){let t=U.cwd;e!=null&&yt(r,e);let s=await on(r,{cwd:t,open:!0,trust:e});return{ok:!0,file:s.file,pid:s.pid,url:s.url,trust:!!s.trust}}async function dv(r){return{cap:await sa(r)}}async function pv(r,e){return yt(r,e),{ok:!0}}async function hv(r,e){return Re(r,e)}var Bw,qw,la,Fw,md,jw,ia,U,Hw,Gw,ev,Ed=N(()=>{sd();nd();Bw=".typebulb",qw=D(Mw(),".claude","projects"),la=r=>D(qw,Dw(r));Fw=`${Bw}/locks`,md=5e3,jw=6e4;ia=5e4;U={cwd:process.cwd(),sessionId:"",sessionStartMs:Date.now(),buffer:[],partial:"",offset:0,latest:{in:0,out:0,cached:0,cacheCreate:0},everAttached:!1,entries:new Map};Hw=[/\[Request interrupted by user\b/i,/\[Tool use was interrupted\]/i,/Claude Code returned an error/i,/\[ede_diagnostic\]/i,/^No response requested\.?$/i,/^<task-notification\b/i,/^<system-reminder\b/i];Gw=/<ide_[a-z_]+>[\s\S]*?<\/ide_[a-z_]+>/gi;ev=new vn;Jw(U.cwd);Kw(U.cwd);wd()});import*as Id from"fs/promises";import*as ge from"path";import*as pa from"fs/promises";import{existsSync as Ze,readFileSync as jd}from"fs";import*as L from"path";import{pathToFileURL as Ud}from"url";import{resolve as Tn}from"resolve.exports";import{init as ha,parse as ma}from"es-module-lexer";function ga(r,e){let t=L.join(r,"package.json");try{return JSON.parse(jd(t,"utf8"))}catch{throw new Error(`--replace package '${e}' has no readable package.json at ${t}`)}}var An=["browser","import","default"],da=["node","import","default"];function ya(r){let e=r.indexOf("=");if(e===-1)throw new Error(`--replace must be <name>=<path> (got '${r}')`);let t=r.slice(0,e).trim(),s=r.slice(e+1).trim();if(!t)throw new Error(`--replace missing package name (got '${r}')`);if(!s)throw new Error(`--replace missing path for '${t}'`);if(t.startsWith("@"))throw new Error(`--replace does not support scoped names yet; '${t}' is scoped`);return{name:t,dir:L.resolve(s)}}async function ba(r){let{name:e,dir:t}=r;if(!Ze(t))throw new Error(`--replace path for '${e}' does not exist: ${t}`);let s=ga(t,e),n=Jd(s,e),i=L.resolve(t,n);if(!Ze(i))throw new Error(`--replace package '${e}' entry not found on disk: ${i} \u2014 did you build it (e.g. \`pnpm run build\`)?`);let o=L.dirname(i),a=`/local/${e}/${L.basename(i)}`,c=Kd(s,t);return await Vd(e,i,o),{name:e,dir:t,entryAbs:i,serveDir:o,entryUrl:a,typesAbs:c}}function Jd(r,e){if(r.exports!==void 0){let s;try{s=Tn(r,".",{browser:!0,conditions:An})}catch(i){throw new Error(`--replace package '${e}' "exports" does not resolve a browser entry (conditions: ${An.join(", ")}): ${i instanceof Error?i.message:i}`)}let n=Pn(s);if(!n)throw new Error(`--replace package '${e}' "exports" did not resolve "." to a single file (conditions: ${An.join(", ")}); too complex to override.`);return n}let t=r.module??r.main;if(!t)throw new Error(`--replace package '${e}' has no "exports", "module", or "main" entry to resolve.`);return t}function Kd(r,e){if(r.exports!==void 0)try{let s=Tn(r,".",{conditions:["types"]}),n=Pn(s);if(n){let i=L.resolve(e,n);if(Ze(i))return i}}catch{}let t=r.types??r.typings;if(t){let s=L.resolve(e,t);if(Ze(s))return s}}function Pn(r){if(typeof r=="string")return r;if(Array.isArray(r))return r.find(e=>typeof e=="string")}async function Vd(r,e,t){await ha;let s=L.normalize(t),n=new Set,i=[e];for(;i.length;){let o=i.shift();if(n.has(o))continue;n.add(o);let a;try{a=await pa.readFile(o,"utf8")}catch{continue}let c,l;try{[c,,,l]=ma(a,o)}catch{continue}if(o===e&&!l)throw new Error(`override package '${r}' entry is not an ES module (no import/export syntax); CommonJS or non-module entries aren't supported (esm.sh would have to transform it).`);for(let f of c){if(f.d===-2)continue;let u=f.n;if(u&&!u.startsWith("node:")){if(u.startsWith("./")||u.startsWith("../")||u.startsWith("/")){let d=Wd(o,u,s);d&&!n.has(d)&&i.push(d);continue}throw new Error(`override package must ship self-contained (bundle its dependencies); ${r} externalizes '${u}'`)}}}}function Wd(r,e,t){let s=e.replace(/[?#].*$/,""),n=L.resolve(L.dirname(r),s),i=[n,n+".js",n+".mjs",L.join(n,"index.js"),L.join(n,"index.mjs")];for(let o of i)if(L.normalize(o).startsWith(t)&&Ze(o))return o}function Yd(r,e,t){let s=ga(r,e),n;if(s.exports!==void 0)try{n=Pn(Tn(s,t,{conditions:da}))}catch(o){throw new Error(`--replace package '${e}' "exports" does not resolve a node entry for '${t}' (conditions: ${da.join(", ")}): ${o instanceof Error?o.message:o}`)}else t==="."&&(n=s.main??s.module);if(!n)throw new Error(`--replace package '${e}' has no node export for '${t}'.`);let i=L.resolve(r,n);if(!Ze(i))throw new Error(`--replace package '${e}' built file not found: ${i} \u2014 did you build it (e.g. \`pnpm run build\`)?`);return Ud(i).href}async function wa(r,e){await ha;let t;try{[t]=ma(r)}catch{return r}let s="",n=0;for(let i of t){if(i.d!==-1)continue;let o=i.n;if(!o||o!==e.name&&!o.startsWith(e.name+"/"))continue;let a=o===e.name?".":"."+o.slice(e.name.length),c=Yd(e.dir,e.name,a);s+=r.slice(n,i.s)+c,n=i.e}return s+r.slice(n)}function va(r){let e={subcommand:"run",file:"",port:3e3,watch:!0,open:!0,server:!1,trust:!1,noTrust:!1,follow:!1,help:!1,version:!1,callArgs:[],hasArgsFlag:!1},t=["call","check","predict","logs","wait","stop","trust","untrust","skill","models"],s=r[0];if(s==="agent"||s?.startsWith("agent:")){e.subcommand="agent";let i=s.indexOf(":");if(i!==-1){let o=s.slice(i+1);o&&(e.agentTarget=o)}r=r.slice(1)}else s&&t.includes(s)&&(e.subcommand=s,r=r.slice(1));let n=[];for(let i=0;i<r.length;i++){let o=r[i];if(o==="--help"||o==="-h")e.help=!0;else if(o==="--version"||o==="-V")e.version=!0;else if(o==="--no-watch")e.watch=!1;else if(o==="--no-open")e.open=!1;else if(o==="--server")e.server=!0;else if(o==="--trust")e.trust=!0;else if(o==="--no-trust")e.noTrust=!0;else if(o==="--mode"){let a=r[++i];(!a||a.startsWith("-"))&&(console.error("Missing value for --mode (e.g. --mode staging)"),process.exit(1)),e.mode=a}else if(o==="--follow"||o==="-f")e.follow=!0;else if(o==="--bulbs")e.stopScope="bulbs";else if(o==="--agent")e.stopScope="agent";else if(o==="--global")e.stopScope="global";else if(o==="--match"){let a=r[++i];a===void 0&&(console.error("Missing value for --match (a substring new log lines must contain)"),process.exit(1)),e.match=a}else if(o==="--timeout"){let a=parseInt(r[++i],10);(isNaN(a)||a<=0)&&(console.error(`Invalid --timeout value: ${r[i]} (seconds)`),process.exit(1)),e.timeoutSec=a}else if(o==="--lines"||o==="-n"){let a=parseInt(r[++i],10);(isNaN(a)||a<0)&&(console.error(`Invalid --lines value: ${r[i]}`),process.exit(1)),e.lines=a}else if(o==="--port"||o==="-p"){let a=r[++i],c=parseInt(a,10);isNaN(c)&&(console.error(`Invalid port: ${a}`),process.exit(1)),e.port=c}else if(o==="--replace"||o.startsWith("--replace=")){let a=o.startsWith("--replace=")?o.slice(10):r[++i]??"";try{let c=ya(a);if(e.local)throw new Error(`--replace can only be used once (got '${e.local.name}' and '${c.name}')`);e.local=c}catch(c){console.error(c instanceof Error?c.message:String(c)),process.exit(1)}}else if(o==="--args"||o.startsWith("--args=")){e.hasArgsFlag=!0;let a=o.startsWith("--args=")?o.slice(7):r[++i];a===void 0&&(console.error("Missing value for --args (a JSON array, or - to read it from stdin)"),process.exit(1)),e.argsJson=a}else o.startsWith("-")||(e.subcommand==="call"?n.push(o):e.file=o)}return e.subcommand==="call"&&(n.length<2&&(console.error("Usage: typebulb call <file> <fn> [arg\u2026]"),process.exit(1)),e.file=n[0],e.fn=n[1],e.callArgs=n.slice(2)),e}function Sa(){console.log(`
155
+ `)){if(!l.trim())continue;let f;try{f=JSON.parse(l)}catch{continue}if(!f||ma(f)||f.type!=="user")continue;let u=f.message?.content,d="";typeof u=="string"?d=xn(u):Array.isArray(u)&&(d=u.map(Pd).filter(Boolean).join(" "));let p=d.replace(/\s+/g," ").trim();if(p)return(p.replace(/^Continuing from a prior session\. Here is the summary of our work so far:\s*/i,"").trim()||p).slice(0,200)}return""}finally{md(e)}}async function cv(){return wd(U.cwd).sort((r,e)=>e.mtime-r.mtime).map(({sessionId:r,file:e,mtime:t})=>({sessionId:r,mtime:t,preview:av(e)}))}async function lv(r){let e=U,t=q(pa(e.cwd),`${r}.jsonl`);return Xe(t)?t===e.file?{ok:!0}:(Ad({sessionId:r,file:t}),{ok:!0}):{ok:!1,error:"session not found"}}async function uv(r,e){let t=qw(r)?r:q(U.cwd,r);return Xe(t)?(ca(t,e),{ok:!0}):{ok:!1,error:"file not found"}}async function fv(r){let e=U.cwd,t=q(e,"typebulbs");gd(t,{recursive:!0});let s=na(r),n=`${s}.bulb.md`;for(let c=2;Xe(q(t,n))&&da(q(t,n),"utf8")!==r;c++)n=`${s}-${c}.bulb.md`;let i=q(t,n);Xe(i)||yd(i,r);let o=q("typebulbs",n),a=await an(o,{cwd:e,open:!0});return{ok:!0,file:o,pid:a.pid,url:a.url}}async function dv(){return B(U.cwd)}async function pv(r){return await kt(r),{ok:!0}}async function hv(){return oa(U.cwd).map(r=>({...r,trusted:We(r.path)}))}async function mv(r,e){let t=U.cwd;e!=null&&bt(r,e);let s=await an(r,{cwd:t,open:!0,trust:e});return{ok:!0,file:s.file,pid:s.pid,url:s.url,trust:!!s.trust}}async function gv(r){return{cap:await aa(r)}}async function yv(r,e){return bt(r,e),{ok:!0}}async function bv(r,e){return ue(r,e)}var Uw,Jw,pa,Kw,vd,Ww,la,U,Xw,Zw,nv,Nd=N(()=>{cd();ld();Uw=".typebulb",Jw=q(Fw(),".claude","projects"),pa=r=>q(Jw,jw(r));Kw=`${Uw}/locks`,vd=5e3,Ww=6e4;la=5e4;U={cwd:process.cwd(),sessionId:"",sessionStartMs:Date.now(),buffer:[],partial:"",offset:0,latest:{in:0,out:0,cached:0,cacheCreate:0},everAttached:!1,entries:new Map};Xw=[/\[Request interrupted by user\b/i,/\[Tool use was interrupted\]/i,/Claude Code returned an error/i,/\[ede_diagnostic\]/i,/^No response requested\.?$/i,/^<task-notification\b/i,/^<system-reminder\b/i];Zw=/<ide_[a-z_]+>[\s\S]*?<\/ide_[a-z_]+>/gi;nv=new kn;Yw(U.cwd);Hw(U.cwd);Ed()});import*as Dd from"fs/promises";import*as we from"path";import*as ya from"fs/promises";import{existsSync as et,readFileSync as Vd}from"fs";import*as L from"path";import{pathToFileURL as Yd}from"url";import{resolve as On}from"resolve.exports";import{init as ba,parse as wa}from"es-module-lexer";function va(r,e){let t=L.join(r,"package.json");try{return JSON.parse(Vd(t,"utf8"))}catch{throw new Error(`--replace package '${e}' has no readable package.json at ${t}`)}}var Pn=["browser","import","default"],ga=["node","import","default"];function Sa(r){let e=r.indexOf("=");if(e===-1)throw new Error(`--replace must be <name>=<path> (got '${r}')`);let t=r.slice(0,e).trim(),s=r.slice(e+1).trim();if(!t)throw new Error(`--replace missing package name (got '${r}')`);if(!s)throw new Error(`--replace missing path for '${t}'`);if(t.startsWith("@"))throw new Error(`--replace does not support scoped names yet; '${t}' is scoped`);return{name:t,dir:L.resolve(s)}}async function ka(r){let{name:e,dir:t}=r;if(!et(t))throw new Error(`--replace path for '${e}' does not exist: ${t}`);let s=va(t,e),n=Hd(s,e),i=L.resolve(t,n);if(!et(i))throw new Error(`--replace package '${e}' entry not found on disk: ${i} \u2014 did you build it (e.g. \`pnpm run build\`)?`);let o=L.dirname(i),a=`/local/${e}/${L.basename(i)}`,c=Gd(s,t);return await zd(e,i,o),{name:e,dir:t,entryAbs:i,serveDir:o,entryUrl:a,typesAbs:c}}function Hd(r,e){if(r.exports!==void 0){let s;try{s=On(r,".",{browser:!0,conditions:Pn})}catch(i){throw new Error(`--replace package '${e}' "exports" does not resolve a browser entry (conditions: ${Pn.join(", ")}): ${i instanceof Error?i.message:i}`)}let n=Nn(s);if(!n)throw new Error(`--replace package '${e}' "exports" did not resolve "." to a single file (conditions: ${Pn.join(", ")}); too complex to override.`);return n}let t=r.module??r.main;if(!t)throw new Error(`--replace package '${e}' has no "exports", "module", or "main" entry to resolve.`);return t}function Gd(r,e){if(r.exports!==void 0)try{let s=On(r,".",{conditions:["types"]}),n=Nn(s);if(n){let i=L.resolve(e,n);if(et(i))return i}}catch{}let t=r.types??r.typings;if(t){let s=L.resolve(e,t);if(et(s))return s}}function Nn(r){if(typeof r=="string")return r;if(Array.isArray(r))return r.find(e=>typeof e=="string")}async function zd(r,e,t){await ba;let s=L.normalize(t),n=new Set,i=[e];for(;i.length;){let o=i.shift();if(n.has(o))continue;n.add(o);let a;try{a=await ya.readFile(o,"utf8")}catch{continue}let c,l;try{[c,,,l]=wa(a,o)}catch{continue}if(o===e&&!l)throw new Error(`override package '${r}' entry is not an ES module (no import/export syntax); CommonJS or non-module entries aren't supported (esm.sh would have to transform it).`);for(let f of c){if(f.d===-2)continue;let u=f.n;if(u&&!u.startsWith("node:")){if(u.startsWith("./")||u.startsWith("../")||u.startsWith("/")){let d=Qd(o,u,s);d&&!n.has(d)&&i.push(d);continue}throw new Error(`override package must ship self-contained (bundle its dependencies); ${r} externalizes '${u}'`)}}}}function Qd(r,e,t){let s=e.replace(/[?#].*$/,""),n=L.resolve(L.dirname(r),s),i=[n,n+".js",n+".mjs",L.join(n,"index.js"),L.join(n,"index.mjs")];for(let o of i)if(L.normalize(o).startsWith(t)&&et(o))return o}function Xd(r,e,t){let s=va(r,e),n;if(s.exports!==void 0)try{n=Nn(On(s,t,{conditions:ga}))}catch(o){throw new Error(`--replace package '${e}' "exports" does not resolve a node entry for '${t}' (conditions: ${ga.join(", ")}): ${o instanceof Error?o.message:o}`)}else t==="."&&(n=s.main??s.module);if(!n)throw new Error(`--replace package '${e}' has no node export for '${t}'.`);let i=L.resolve(r,n);if(!et(i))throw new Error(`--replace package '${e}' built file not found: ${i} \u2014 did you build it (e.g. \`pnpm run build\`)?`);return Yd(i).href}async function xa(r,e){await ba;let t;try{[t]=wa(r)}catch{return r}let s="",n=0;for(let i of t){if(i.d!==-1)continue;let o=i.n;if(!o||o!==e.name&&!o.startsWith(e.name+"/"))continue;let a=o===e.name?".":"."+o.slice(e.name.length),c=Xd(e.dir,e.name,a);s+=r.slice(n,i.s)+c,n=i.e}return s+r.slice(n)}function Ea(r){let e={subcommand:"run",file:"",port:3e3,watch:!0,open:!0,server:!1,trust:!1,noTrust:!1,follow:!1,help:!1,version:!1,callArgs:[],hasArgsFlag:!1},t=["call","check","predict","logs","wait","stop","trust","untrust","skill","models"],s=r[0];if(s==="agent"||s?.startsWith("agent:")){e.subcommand="agent";let i=s.indexOf(":");if(i!==-1){let o=s.slice(i+1);o&&(e.agentTarget=o)}r=r.slice(1)}else s&&t.includes(s)&&(e.subcommand=s,r=r.slice(1));let n=[];for(let i=0;i<r.length;i++){let o=r[i];if(o==="--help"||o==="-h")e.help=!0;else if(o==="--version"||o==="-V")e.version=!0;else if(o==="--no-watch")e.watch=!1;else if(o==="--no-open")e.open=!1;else if(o==="--server")e.server=!0;else if(o==="--trust")e.trust=!0;else if(o==="--no-trust")e.noTrust=!0;else if(o==="--mode"){let a=r[++i];(!a||a.startsWith("-"))&&(console.error("Missing value for --mode (e.g. --mode staging)"),process.exit(1)),e.mode=a}else if(o==="--follow"||o==="-f")e.follow=!0;else if(o==="--bulbs")e.stopScope="bulbs";else if(o==="--agent")e.stopScope="agent";else if(o==="--global")e.stopScope="global";else if(o==="--match"){let a=r[++i];a===void 0&&(console.error("Missing value for --match (a substring new log lines must contain)"),process.exit(1)),e.match=a}else if(o==="--timeout"){let a=parseInt(r[++i],10);(isNaN(a)||a<=0)&&(console.error(`Invalid --timeout value: ${r[i]} (seconds)`),process.exit(1)),e.timeoutSec=a}else if(o==="--lines"||o==="-n"){let a=parseInt(r[++i],10);(isNaN(a)||a<0)&&(console.error(`Invalid --lines value: ${r[i]}`),process.exit(1)),e.lines=a}else if(o==="--port"||o==="-p"){let a=r[++i],c=parseInt(a,10);isNaN(c)&&(console.error(`Invalid port: ${a}`),process.exit(1)),e.port=c}else if(o==="--replace"||o.startsWith("--replace=")){let a=o.startsWith("--replace=")?o.slice(10):r[++i]??"";try{let c=Sa(a);if(e.local)throw new Error(`--replace can only be used once (got '${e.local.name}' and '${c.name}')`);e.local=c}catch(c){console.error(c instanceof Error?c.message:String(c)),process.exit(1)}}else if(o==="--args"||o.startsWith("--args=")){e.hasArgsFlag=!0;let a=o.startsWith("--args=")?o.slice(7):r[++i];a===void 0&&(console.error("Missing value for --args (a JSON array, or - to read it from stdin)"),process.exit(1)),e.argsJson=a}else o.startsWith("-")||(e.subcommand==="call"?n.push(o):e.file=o)}return e.subcommand==="call"&&(n.length<2&&(console.error("Usage: typebulb call <file> <fn> [arg\u2026]"),process.exit(1)),e.file=n[0],e.fn=n[1],e.callArgs=n.slice(2)),e}function Aa(){console.log(`
156
156
  typebulb - Local bulb runner for Typebulb
157
157
 
158
158
  Usage:
@@ -183,6 +183,8 @@ Usage:
183
183
  For agents: run it in the background \u2014 the exit
184
184
  is your wake-up ('wait claude': embed outcomes;
185
185
  'wait <file>': the bulb's own console.log).
186
+ Resumes where your last wait/call left off, so
187
+ an event that beats the wait still fires it.
186
188
  typebulb stop [file|pid] Stop a running bulb server (no arg: list this
187
189
  project's running servers; a pid/path stops any).
188
190
  Batch flags: --bulbs (this project's bulbs, the
@@ -259,7 +261,7 @@ Examples:
259
261
  typebulb my-editor.bulb.md
260
262
  typebulb --no-watch --port 8080 my-editor.bulb.md
261
263
  typebulb .
262
- `)}bo();import*as Ce from"fs/promises";import*as zs from"path";import{pathToFileURL as fb}from"url";import{transform as Cy}from"sucrase";function wo(r,e={}){let t=e.serverOnly?["typescript"]:["typescript","jsx"];try{let{code:s}=Cy(r,{transforms:t,jsxRuntime:"automatic",jsxImportSource:e.jsxImportSource||"react",production:!0});return{code:s}}catch(s){return{code:"",error:String(s)}}}var nr="https://esm.sh",ir="https://cdn.jsdelivr.net/npm/",vo="https://data.jsdelivr.com/v1/package/npm/";function Tu(r){let e=(r||"").replace(/^\/+/,"").replace(/\/+$/,"");return e?e.split("/"):[]}var A=class r{constructor(e,t,s){let n=typeof e=="string"?r.parse(e):e;this.name=n.name,this.version=ft(t??n.version),this.subpath=ft(s??n.subpath)}static parse(e){let t=Tu(e||"");if(!t.length)return new r({name:""});if(t[0].startsWith("@")){let n=t[0],[i,o]=Pu(t[1]??""),a=ft(t.slice(2).join("/"));return new r({name:`${n}/${i}`,version:o,subpath:a})}else{let[n,i]=Pu(t[0]),o=ft(t.slice(1).join("/"));return new r({name:n,version:i,subpath:o})}}static fromUrl(e){try{let t=new URL(e),s=new URL(nr).host,n=new URL(ir).host;if(t.host===s){let i=Tu(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===n){let i=t.pathname.split("/npm/")[1];if(!i)return;let o=i.split("/")[0]||"";return r.parse(o)}return}catch{return}}static versionFromUrl(e){return r.fromUrl(e)?.version}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:ft(e),subpath:this.subpath})}withPreferredVersion(e,t){let s=e||t;return s?this.withVersion(s):this}static isBare(e){if(!e||e.startsWith(".")||e.startsWith("/"))return!1;let t=e.toLowerCase();return!t.startsWith("http://")&&!t.startsWith("https://")}},ft=r=>r&&r.length?r:void 0,Pu=r=>{let e=r.indexOf("@");return e<0?[r,void 0]:[r.slice(0,e),ft(r.slice(e+1))]};async function W(r){try{return await r()}catch{return}}var or=class{constructor(e,t){this.cache=e,this.http=t,this.esmHost=nr,this.jsDelivrBase=ir,this.jsDelivrMeta=vo,this.pinMs=1e4,this.versionsIndexMs=1440*60*1e3,this.metaTtlMs=10080*60*1e3,this.pinCache=new Map}normalizeRelative(e){let t=e||"";return t.startsWith("./")?t.slice(2):t.replace(/^\/+/,"")}ensureLeadingDotSlash(e){return e.startsWith("./")?e:`./${e}`}baseDir(e){let t=typeof e=="string"?new A(e):e;return`${this.jsDelivrBase}${t.name}${t.version?`@${t.version}`:""}/`}file(e,t){return new URL(this.normalizeRelative(t),this.baseDir(e)).toString()}packageJson(e){return this.file(e,"package.json")}buildEsmUrl(e,t={}){let{target:s="es2022",bundle:n=!1,external:i}=t,o=new URLSearchParams({target:s});return n&&o.append("bundle",""),i?.length&&o.append("external",i.join(",")),`${this.esmHost}/${e}?${o.toString()}`}async pinEsmUrl(e,t="es2022"){let s=this.buildEsmUrl(e,{target:t}),n=await W(()=>this.http.head(s));return n?.ok?n.url||s:void 0}async resolveExactVersion(e){let t=Date.now(),s=this.pinCache.get(e);if(s&&t-s.ts<this.pinMs)return s.value;let n=await this.tryResolveFromUrls([this.buildEsmUrl(e),`${this.esmHost}/${e}`]);return this.pinCache.set(e,{value:n,ts:t}),n}async tryResolveFromUrls(e){for(let t of e){let s=await W(()=>this.http.head(t)),n=this.parseVersionFromUrl(s?.url||t);if(n)return n}}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 s=await W(()=>this.http.getJson(`${this.jsDelivrMeta}${encodeURIComponent(e)}`));if(!s?.versions?.length){await this.cache.recordNegative(e);return}await this.cache.clearNegative(e);let n=s.distTags&&Object.keys(s.distTags).length?s.distTags:void 0;return await this.cache.setIndex(e,s.versions,n),s}parseVersionFromUrl(e){let t=A.fromUrl(e)?.version;return t&&/\d+\.\d+\.\d+/.test(t)?t:void 0}async fetchPackageMeta(e,t){let s=await this.cache.getMeta(e,t);if(s&&Date.now()-s.updatedAt<this.metaTtlMs){let{dependencies:f,peerDependencies:u,peerDependenciesMeta:d}=s;return{name:e,version:t,dependencies:f,peerDependencies:u,peerDependenciesMeta:d}}let n=this.packageJson(new A(`${e}@${t}`)),i=await W(()=>this.http.getJson(n));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 Ou=r=>r.startsWith("@types/"),ar=r=>Object.keys(r?.peerDependencies||{}).filter(e=>!Ou(e)),So=r=>Object.keys(r?.dependencies||{}).filter(e=>!Ou(e)),Ry=r=>ar(r).filter(e=>!r?.peerDependenciesMeta?.[e]?.optional),cr=class{constructor(e){this.cdn=e}async resolve(e,t){let s=await this.fetchMeta(e),{allRoots:n,autoAddedPeers:i}=await this.expandWithPeers(s,t),o=this.computeFlags(n);return{allRoots:n,flags:o,autoAddedPeers:i}}async fetchMeta(e){return Promise.all(e.map(async({name:t,version:s})=>({name:t,version:s,meta:await this.cdn.fetchPackageMeta(t,s)})))}async expandWithPeers(e,t){let s=new Map(e.map(i=>[i.name,i])),n=[];for(let i of e)for(let o of Ry(i.meta))!s.has(o)&&!n.some(a=>a.name===o)&&n.push({name:o,requiredBy:i.name});for(let{name:i,requiredBy:o}of n)try{let a=await t(i),c=await this.cdn.fetchPackageMeta(i,a);s.set(i,{name:i,version:a,meta:c})}catch(a){console.warn(`[typebulb] Failed to resolve peer "${i}" for "${o}":`,a)}return{allRoots:[...s.values()],autoAddedPeers:n.filter(i=>s.has(i.name))}}computeFlags(e){let t=new Set(e.flatMap(i=>ar(i.meta))),s=new Map;for(let i of e)for(let o of So(i.meta))s.set(o,(s.get(o)||0)+1);let n=new Set([...s.entries()].filter(([,i])=>i>=2).map(([i])=>i));return new Map(e.map(i=>[i.name,{isPeerRoot:t.has(i.name),hasPeers:ar(i.meta).length>0,isSharedDep:n.has(i.name)}]))}};var lr=class{constructor(e,t,s){this.cache=e,this.cdn=t,this.semver=s}selectVersionFromIndex(e,t,s){return this.semver.selectBestVersion(e,{range:t,distTags:s})}async learnExactVersion(e){let t=await W(()=>this.cdn.fetchVersionsIndex(e));if(t?.versions?.length){let s=this.semver.selectBestVersion(t.versions,{distTags:t.distTags});if(s)return s}return this.cdn.resolveExactVersion(e)}async resolveExactForRoot(e,t){if(!t)return this.learnExactVersion(e);let s=await this.cache.getPinnedExact(e,t);if(s){if(this.semver.isExactVersion(s))return s;console.debug("[typebulb] cached version for",e,"is not exact (",s,"); re-resolving from registry")}let n=await W(()=>this.cdn.fetchVersionsIndex(e));if(n?.versions?.length){let o=this.selectVersionFromIndex(n.versions,t,n.distTags);if(o){if(this.semver.isExactVersion(o))return await this.cache.setPinnedExact(e,t,o),o}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 W(()=>this.cdn.fetchVersionsIndex(e));if(a?.versions?.length){let c=this.selectVersionFromIndex(a.versions,t,a.distTags);if(c&&this.semver.isExactVersion(c))return await this.cache.setPinnedExact(e,t,c),c}}}let i=await this.cdn.resolveExactVersion(`${e}@${t}`);if(i&&this.semver.isExactVersion(i))return await this.cache.setPinnedExact(e,t,i),i}async effectivePackage(e,t){let s=new A(e),n=s.root(),i=t[n],o=i?await W(()=>this.cache.getPinnedExact(n,i))??await W(()=>this.resolveExactForRoot(n,i)):void 0;return{effectivePackage:o?s.withVersion(o).format():e,root:n,range:i,pinned:o}}};import{init as Iy,parse as _y}from"es-module-lexer";var dt=class r{constructor(e,t,s,n){this.version=e,this.cdn=t,this.peer=s,this.cache=n}extractImportsSync(e){let t=new Set;for(let s of r.importPatterns){s.lastIndex=0;for(let n of e.matchAll(s))A.isBare(n[1])&&t.add(n[1])}return Array.from(t)}async extractImports(e){let t=new Set,s=n=>{A.isBare(n)&&t.add(n)};try{await Iy;let[n]=_y(e);n.forEach(i=>s(e.slice(i.s,i.e).trim()))}catch{return this.extractImportsSync(e)}return Array.from(t)}async buildImportMap(e,t,s){let n=(await this.extractImports(e)).filter(u=>!s?.has(A.rootOf(u))),i=[...new Set(n.map(A.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([...n,...l.map(u=>u.name)],a,c,t);return{importMap:{imports:Object.fromEntries(f)},prefetchUrls:f.map(([,u])=>u)}}async resolveVersion(e,t){let s=t[e],n=s?`${e}@${s}`:e,i=await this.version.resolveExactForRoot(e,s);if(!i){let o=await W(()=>this.cdn.pinEsmUrl(n));if(!o)throw new Error(`Cannot resolve ${n}: no matching version is published (the package or version may not exist, or the registry was unreachable).`);i=A.versionFromUrl(o),i&&s&&await W(()=>this.cache.setPinnedExact(e,s,i))}if(!i)throw new Error(`Cannot resolve ${n}: no concrete version found.`);return i}buildEntries(e,t,s,n){let i=new Map(t.map(g=>[g.name,g])),o=g=>{let h=i.get(A.rootOf(g));return new A(g).withPreferredVersion(h.version,n[h.name]).format()},a=new Set([...s.entries()].filter(([,g])=>g.isPeerRoot||g.isSharedDep).map(([g])=>g)),c=new Set(e.filter(g=>g!==A.rootOf(g)).map(A.rootOf)),l=[],f=new Set,u=new Set(e.filter(g=>g===A.rootOf(g))),d=new Set;for(let g of e){let h=A.rootOf(g),y=i.get(h),{isPeerRoot:k,hasPeers:m,isSharedDep:b}=s.get(h),w=c.has(h),x=g!==h,T=!(k||b)&&(w||!m),S=this.singletonDepsOf(y,a),O=x&&u.has(h);O&&d.add(h);let J=O?[...S,h]:S.length?S:void 0;l.push([g,this.cdn.buildEsmUrl(o(g),{bundle:T,external:J})]),f.add(g)}let p=new Set([...a,...d]);for(let g of p)i.has(g)&&(f.has(g)||l.push([g,this.cdn.buildEsmUrl(o(g),{})]),l.push([`${g}/`,`${this.cdn.esmHost}/${o(g)}/`]));return l}singletonDepsOf(e,t){return[...new Set([...ar(e.meta),...So(e.meta)])].filter(s=>t.has(s))}};dt.importPatterns=[/\bimport\s+(?:[^'";]*?from\s*)?['"]([^'"]+)['"]/g,/\bexport\s+[^'";]*?from\s*['"]([^'"]+)['"]/g];import{gt as Nu,satisfies as Ly,maxSatisfying as ko,major as $y,prerelease as My,rsort as Dy,valid as By}from"semver";var _s=class{cmp(e,t){return e===t?0:Nu(e,t)?1:Nu(t,e)?-1:0}satisfies(e,t){return!e||!e.trim()?!0:!!Ly(t,e,{includePrerelease:!0})}pickMaxSatisfying(e,t){if(!e?.length)return;let s=ko(e,t,{includePrerelease:!0});return s===null?void 0:s}pickLatest(e){return e?.length?Dy(e)[0]:void 0}selectBestVersion(e,t){if(!e?.length)return;let s=t?.range?.trim()||"*",n=t?.preferStable??!0,i=t?.distTags?.latest;if(i&&e.includes(i)&&this.satisfies(s,i))return i;if(n){let a=ko(e,s,{includePrerelease:!1});if(a)return a}return ko(e,s,{includePrerelease:!0})??void 0}majorOf(e){return $y(e)}isPrerelease(e){return My(e)!==null}isExactVersion(e){return By(e)!==null}},je=new _s;function Cu(r,e){let t=new or(r,e),s=new cr(t),n=new lr(r,t,je);return{packageService:new dt(n,t,s,r),versionResolver:n,cdnClient:t,peerResolver:s}}import*as Vu from"fs/promises";import*as re from"path";var xo=[{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"}],Eo=[{name:"dom"},{name:"dom.iterable"},{name:"dom.asynciterable"}];var Ru=`
264
+ `)}vo();import*as _e from"fs/promises";import*as zs from"path";import{pathToFileURL as gb}from"url";import{transform as $y}from"sucrase";function So(r,e={}){let t=e.serverOnly?["typescript"]:["typescript","jsx"];try{let{code:s}=$y(r,{transforms:t,jsxRuntime:"automatic",jsxImportSource:e.jsxImportSource||"react",production:!0});return{code:s}}catch(s){return{code:"",error:String(s)}}}var ir="https://esm.sh",or="https://cdn.jsdelivr.net/npm/",ko="https://data.jsdelivr.com/v1/package/npm/";function Cu(r){let e=(r||"").replace(/^\/+/,"").replace(/\/+$/,"");return e?e.split("/"):[]}var A=class r{constructor(e,t,s){let n=typeof e=="string"?r.parse(e):e;this.name=n.name,this.version=dt(t??n.version),this.subpath=dt(s??n.subpath)}static parse(e){let t=Cu(e||"");if(!t.length)return new r({name:""});if(t[0].startsWith("@")){let n=t[0],[i,o]=Ru(t[1]??""),a=dt(t.slice(2).join("/"));return new r({name:`${n}/${i}`,version:o,subpath:a})}else{let[n,i]=Ru(t[0]),o=dt(t.slice(1).join("/"));return new r({name:n,version:i,subpath:o})}}static fromUrl(e){try{let t=new URL(e),s=new URL(ir).host,n=new URL(or).host;if(t.host===s){let i=Cu(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===n){let i=t.pathname.split("/npm/")[1];if(!i)return;let o=i.split("/")[0]||"";return r.parse(o)}return}catch{return}}static versionFromUrl(e){return r.fromUrl(e)?.version}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:dt(e),subpath:this.subpath})}withPreferredVersion(e,t){let s=e||t;return s?this.withVersion(s):this}static isBare(e){if(!e||e.startsWith(".")||e.startsWith("/"))return!1;let t=e.toLowerCase();return!t.startsWith("http://")&&!t.startsWith("https://")}},dt=r=>r&&r.length?r:void 0,Ru=r=>{let e=r.indexOf("@");return e<0?[r,void 0]:[r.slice(0,e),dt(r.slice(e+1))]};async function V(r){try{return await r()}catch{return}}var ar=class{constructor(e,t){this.cache=e,this.http=t,this.esmHost=ir,this.jsDelivrBase=or,this.jsDelivrMeta=ko,this.pinMs=1e4,this.versionsIndexMs=1440*60*1e3,this.metaTtlMs=10080*60*1e3,this.pinCache=new Map}normalizeRelative(e){let t=e||"";return t.startsWith("./")?t.slice(2):t.replace(/^\/+/,"")}ensureLeadingDotSlash(e){return e.startsWith("./")?e:`./${e}`}baseDir(e){let t=typeof e=="string"?new A(e):e;return`${this.jsDelivrBase}${t.name}${t.version?`@${t.version}`:""}/`}file(e,t){return new URL(this.normalizeRelative(t),this.baseDir(e)).toString()}packageJson(e){return this.file(e,"package.json")}buildEsmUrl(e,t={}){let{target:s="es2022",bundle:n=!1,external:i}=t,o=new URLSearchParams({target:s});return n&&o.append("bundle",""),i?.length&&o.append("external",i.join(",")),`${this.esmHost}/${e}?${o.toString()}`}async pinEsmUrl(e,t="es2022"){let s=this.buildEsmUrl(e,{target:t}),n=await V(()=>this.http.head(s));return n?.ok?n.url||s:void 0}async resolveExactVersion(e){let t=Date.now(),s=this.pinCache.get(e);if(s&&t-s.ts<this.pinMs)return s.value;let n=await this.tryResolveFromUrls([this.buildEsmUrl(e),`${this.esmHost}/${e}`]);return this.pinCache.set(e,{value:n,ts:t}),n}async tryResolveFromUrls(e){for(let t of e){let s=await V(()=>this.http.head(t)),n=this.parseVersionFromUrl(s?.url||t);if(n)return n}}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 s=await V(()=>this.http.getJson(`${this.jsDelivrMeta}${encodeURIComponent(e)}`));if(!s?.versions?.length){await this.cache.recordNegative(e);return}await this.cache.clearNegative(e);let n=s.distTags&&Object.keys(s.distTags).length?s.distTags:void 0;return await this.cache.setIndex(e,s.versions,n),s}parseVersionFromUrl(e){let t=A.fromUrl(e)?.version;return t&&/\d+\.\d+\.\d+/.test(t)?t:void 0}async fetchPackageMeta(e,t){let s=await this.cache.getMeta(e,t);if(s&&Date.now()-s.updatedAt<this.metaTtlMs){let{dependencies:f,peerDependencies:u,peerDependenciesMeta:d}=s;return{name:e,version:t,dependencies:f,peerDependencies:u,peerDependenciesMeta:d}}let n=this.packageJson(new A(`${e}@${t}`)),i=await V(()=>this.http.getJson(n));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 Iu=r=>r.startsWith("@types/"),cr=r=>Object.keys(r?.peerDependencies||{}).filter(e=>!Iu(e)),xo=r=>Object.keys(r?.dependencies||{}).filter(e=>!Iu(e)),My=r=>cr(r).filter(e=>!r?.peerDependenciesMeta?.[e]?.optional),lr=class{constructor(e){this.cdn=e}async resolve(e,t){let s=await this.fetchMeta(e),{allRoots:n,autoAddedPeers:i}=await this.expandWithPeers(s,t),o=this.computeFlags(n);return{allRoots:n,flags:o,autoAddedPeers:i}}async fetchMeta(e){return Promise.all(e.map(async({name:t,version:s})=>({name:t,version:s,meta:await this.cdn.fetchPackageMeta(t,s)})))}async expandWithPeers(e,t){let s=new Map(e.map(i=>[i.name,i])),n=[];for(let i of e)for(let o of My(i.meta))!s.has(o)&&!n.some(a=>a.name===o)&&n.push({name:o,requiredBy:i.name});for(let{name:i,requiredBy:o}of n)try{let a=await t(i),c=await this.cdn.fetchPackageMeta(i,a);s.set(i,{name:i,version:a,meta:c})}catch(a){console.warn(`[typebulb] Failed to resolve peer "${i}" for "${o}":`,a)}return{allRoots:[...s.values()],autoAddedPeers:n.filter(i=>s.has(i.name))}}computeFlags(e){let t=new Set(e.flatMap(i=>cr(i.meta))),s=new Map;for(let i of e)for(let o of xo(i.meta))s.set(o,(s.get(o)||0)+1);let n=new Set([...s.entries()].filter(([,i])=>i>=2).map(([i])=>i));return new Map(e.map(i=>[i.name,{isPeerRoot:t.has(i.name),hasPeers:cr(i.meta).length>0,isSharedDep:n.has(i.name)}]))}};var ur=class{constructor(e,t,s){this.cache=e,this.cdn=t,this.semver=s}selectVersionFromIndex(e,t,s){return this.semver.selectBestVersion(e,{range:t,distTags:s})}async learnExactVersion(e){let t=await V(()=>this.cdn.fetchVersionsIndex(e));if(t?.versions?.length){let s=this.semver.selectBestVersion(t.versions,{distTags:t.distTags});if(s)return s}return this.cdn.resolveExactVersion(e)}async resolveExactForRoot(e,t){if(!t)return this.learnExactVersion(e);let s=await this.cache.getPinnedExact(e,t);if(s){if(this.semver.isExactVersion(s))return s;console.debug("[typebulb] cached version for",e,"is not exact (",s,"); re-resolving from registry")}let n=await V(()=>this.cdn.fetchVersionsIndex(e));if(n?.versions?.length){let o=this.selectVersionFromIndex(n.versions,t,n.distTags);if(o){if(this.semver.isExactVersion(o))return await this.cache.setPinnedExact(e,t,o),o}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 V(()=>this.cdn.fetchVersionsIndex(e));if(a?.versions?.length){let c=this.selectVersionFromIndex(a.versions,t,a.distTags);if(c&&this.semver.isExactVersion(c))return await this.cache.setPinnedExact(e,t,c),c}}}let i=await this.cdn.resolveExactVersion(`${e}@${t}`);if(i&&this.semver.isExactVersion(i))return await this.cache.setPinnedExact(e,t,i),i}async effectivePackage(e,t){let s=new A(e),n=s.root(),i=t[n],o=i?await V(()=>this.cache.getPinnedExact(n,i))??await V(()=>this.resolveExactForRoot(n,i)):void 0;return{effectivePackage:o?s.withVersion(o).format():e,root:n,range:i,pinned:o}}};import{init as Dy,parse as By}from"es-module-lexer";var pt=class r{constructor(e,t,s,n){this.version=e,this.cdn=t,this.peer=s,this.cache=n}extractImportsSync(e){let t=new Set;for(let s of r.importPatterns){s.lastIndex=0;for(let n of e.matchAll(s))A.isBare(n[1])&&t.add(n[1])}return Array.from(t)}async extractImports(e){let t=new Set,s=n=>{A.isBare(n)&&t.add(n)};try{await Dy;let[n]=By(e);n.forEach(i=>s(e.slice(i.s,i.e).trim()))}catch{return this.extractImportsSync(e)}return Array.from(t)}async buildImportMap(e,t,s){let n=(await this.extractImports(e)).filter(u=>!s?.has(A.rootOf(u))),i=[...new Set(n.map(A.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([...n,...l.map(u=>u.name)],a,c,t);return{importMap:{imports:Object.fromEntries(f)},prefetchUrls:f.map(([,u])=>u)}}async resolveVersion(e,t){let s=t[e],n=s?`${e}@${s}`:e,i=await this.version.resolveExactForRoot(e,s);if(!i){let o=await V(()=>this.cdn.pinEsmUrl(n));if(!o)throw new Error(`Cannot resolve ${n}: no matching version is published (the package or version may not exist, or the registry was unreachable).`);i=A.versionFromUrl(o),i&&s&&await V(()=>this.cache.setPinnedExact(e,s,i))}if(!i)throw new Error(`Cannot resolve ${n}: no concrete version found.`);return i}buildEntries(e,t,s,n){let i=new Map(t.map(g=>[g.name,g])),o=g=>{let h=i.get(A.rootOf(g));return new A(g).withPreferredVersion(h.version,n[h.name]).format()},a=new Set([...s.entries()].filter(([,g])=>g.isPeerRoot||g.isSharedDep).map(([g])=>g)),c=new Set(e.filter(g=>g!==A.rootOf(g)).map(A.rootOf)),l=[],f=new Set,u=new Set(e.filter(g=>g===A.rootOf(g))),d=new Set;for(let g of e){let h=A.rootOf(g),y=i.get(h),{isPeerRoot:k,hasPeers:m,isSharedDep:b}=s.get(h),w=c.has(h),x=g!==h,T=!(k||b)&&(w||!m),S=this.singletonDepsOf(y,a),O=x&&u.has(h);O&&d.add(h);let J=O?[...S,h]:S.length?S:void 0;l.push([g,this.cdn.buildEsmUrl(o(g),{bundle:T,external:J})]),f.add(g)}let p=new Set([...a,...d]);for(let g of p)i.has(g)&&(f.has(g)||l.push([g,this.cdn.buildEsmUrl(o(g),{})]),l.push([`${g}/`,`${this.cdn.esmHost}/${o(g)}/`]));return l}singletonDepsOf(e,t){return[...new Set([...cr(e.meta),...xo(e.meta)])].filter(s=>t.has(s))}};pt.importPatterns=[/\bimport\s+(?:[^'";]*?from\s*)?['"]([^'"]+)['"]/g,/\bexport\s+[^'";]*?from\s*['"]([^'"]+)['"]/g];import{gt as _u,satisfies as qy,maxSatisfying as Eo,major as Fy,prerelease as jy,rsort as Uy,valid as Jy}from"semver";var _s=class{cmp(e,t){return e===t?0:_u(e,t)?1:_u(t,e)?-1:0}satisfies(e,t){return!e||!e.trim()?!0:!!qy(t,e,{includePrerelease:!0})}pickMaxSatisfying(e,t){if(!e?.length)return;let s=Eo(e,t,{includePrerelease:!0});return s===null?void 0:s}pickLatest(e){return e?.length?Uy(e)[0]:void 0}selectBestVersion(e,t){if(!e?.length)return;let s=t?.range?.trim()||"*",n=t?.preferStable??!0,i=t?.distTags?.latest;if(i&&e.includes(i)&&this.satisfies(s,i))return i;if(n){let a=Eo(e,s,{includePrerelease:!1});if(a)return a}return Eo(e,s,{includePrerelease:!0})??void 0}majorOf(e){return Fy(e)}isPrerelease(e){return jy(e)!==null}isExactVersion(e){return Jy(e)!==null}},Ue=new _s;function Lu(r,e){let t=new ar(r,e),s=new lr(t),n=new ur(r,t,Ue);return{packageService:new pt(n,t,s,r),versionResolver:n,cdnClient:t,peerResolver:s}}import*as Gu from"fs/promises";import*as se from"path";var Ao=[{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"}],To=[{name:"dom"},{name:"dom.iterable"},{name:"dom.asynciterable"}];var $u=`
263
265
  /**
264
266
  * Get raw data chunk from the Data tab.
265
267
  * @param index - Chunk index (0-based). Separate chunks with 2 blank lines.
@@ -270,7 +272,7 @@ Examples:
270
272
  * @param index - Chunk index (0-based)
271
273
  * @throws If chunk is not valid JSON/JSON-ish
272
274
  */
273
- json<T = unknown>(index: number): T;`,Iu=`
275
+ json<T = unknown>(index: number): T;`,Mu=`
274
276
  /**
275
277
  * Get the insight data produced by the inference layer.
276
278
  *
@@ -279,7 +281,7 @@ Examples:
279
281
  *
280
282
  * @returns The parsed insight JSON, or undefined if no insight is available
281
283
  */
282
- insight<T = unknown>(): T | undefined;`,_u=`
284
+ insight<T = unknown>(): T | undefined;`,Du=`
283
285
  /**
284
286
  * General-purpose AI call.
285
287
  *
@@ -296,7 +298,7 @@ Examples:
296
298
  model?: string;
297
299
  /** Enable/disable web search. Default: on for BYOK, always off for free model. */
298
300
  webSearch?: boolean;
299
- }): Promise<{ text: string }>;`,Lu=`
301
+ }): Promise<{ text: string }>;`,Bu=`
300
302
  /**
301
303
  * Returns AI models available to the current user.
302
304
  * Models are filtered by the user's configured API keys.
@@ -311,7 +313,7 @@ Examples:
311
313
  friendlyName: string;
312
314
  /** Provider display name, e.g. "Anthropic" */
313
315
  providerName: string;
314
- }>>;`,qy="\n /**\n * The bulb's theme override (`<html data-theme>`).\n *\n * - Get: the current override \u2014 `'dark'` | `'light'`, or `undefined` when\n * following the OS preference.\n * - Set `'dark'`/`'light'` to force and persist it (per-bulb); set\n * `undefined` to clear the override and follow the OS again.\n *\n * Drives `<html data-theme>`, so render off `html[data-theme=\"\u2026\"]` selectors\n * (or observe the attribute) rather than reading `tb.theme`.\n */\n theme: 'light' | 'dark' | undefined;",$u=`
316
+ }>>;`,Ky="\n /**\n * The bulb's theme override (`<html data-theme>`).\n *\n * - Get: the current override \u2014 `'dark'` | `'light'`, or `undefined` when\n * following the OS preference.\n * - Set `'dark'`/`'light'` to force and persist it (per-bulb); set\n * `undefined` to clear the override and follow the OS again.\n *\n * Drives `<html data-theme>`, so render off `html[data-theme=\"\u2026\"]` selectors\n * (or observe the attribute) rather than reading `tb.theme`.\n */\n theme: 'light' | 'dark' | undefined;",qu=`
315
317
  /**
316
318
  * The mode this bulb is running in.
317
319
  *
@@ -321,7 +323,7 @@ Examples:
321
323
  * - \`'embedded'\` \u2014 Running as a bulb embedded inside another bulb (sandboxed,
322
324
  * client-only: AI, filesystem, and server RPC are unavailable)
323
325
  */
324
- mode: 'local' | 'editor' | 'published' | 'embedded';`,Mu=`
326
+ mode: 'local' | 'editor' | 'published' | 'embedded';`,Fu=`
325
327
  /**
326
328
  * Local filesystem access (CLI only).
327
329
  *
@@ -335,7 +337,7 @@ Examples:
335
337
  readBytes(path: string): Promise<Uint8Array>;
336
338
  /** Write text or raw bytes to a file. Creates parent directories if needed. */
337
339
  write(path: string, content: string | Uint8Array): Promise<boolean>;
338
- };`,Fy=`
340
+ };`,Wy=`
339
341
  /**
340
342
  * Server-side function proxy. The built-in \`log\` prints to CLI stdout
341
343
  * (falls back to console.log on web). On the server side, this object only
@@ -343,7 +345,7 @@ Examples:
343
345
  */
344
346
  server: {
345
347
  log(...args: any[]): Promise<void>;
346
- };`,jy=`
348
+ };`,Vy=`
347
349
  /**
348
350
  * Async value inspector for tensor-like objects.
349
351
  *
@@ -410,7 +412,7 @@ Examples:
410
412
  *
411
413
  * @returns The full canonical URL
412
414
  */
413
- url(): Promise<string>;`,Uy=`
415
+ url(): Promise<string>;`,Yy=`
414
416
  /**
415
417
  * Server-side function proxy.
416
418
  *
@@ -418,23 +420,23 @@ Examples:
418
420
  * \`tb.server.log(...)\` is a built-in that prints to CLI stdout (falls back to console.log on web).
419
421
  * User exports override built-ins of the same name.
420
422
  */
421
- server: Record<string, (...args: any[]) => Promise<any>>;`,Ao=`
423
+ server: Record<string, (...args: any[]) => Promise<any>>;`,Po=`
422
424
  /**
423
425
  * Typebulb utilities namespace.
424
426
  * Type \`tb.\` to discover available helpers.
425
427
  */
426
- declare const tb: {${Ru}${jy}${Iu}${Uy}${_u}${Mu}${Lu}${qy}${$u}
428
+ declare const tb: {${$u}${Vy}${Mu}${Yy}${Du}${Fu}${Bu}${Ky}${qu}
427
429
  };
428
- `,To=`
430
+ `,Oo=`
429
431
  /**
430
432
  * Typebulb utilities namespace (server-side).
431
433
  * Type \`tb.\` to discover available helpers.
432
434
  */
433
- declare const tb: {${Ru}${Iu}${_u}${Mu}${Fy}${Lu}${$u}
435
+ declare const tb: {${$u}${Mu}${Du}${Fu}${Wy}${Bu}${qu}
434
436
  };
435
- `;var Ue=class{constructor(e){this.store=e}async isNegative(e){let t=await Ls(()=>this.store.get(e));return!!t&&t.until>Date.now()}async recordNegative(e){let s=((await Ls(()=>this.store.get(e)))?.attempts||0)+1;await Ls(()=>this.store.set(e,{until:Date.now()+Jy(s),attempts:s}))}async clearNegative(e){await Ls(()=>this.store.delete(e))}};function Jy(r){return Math.min(9e5*Math.pow(2,Math.max(0,r-1)),864e5)}async function Ls(r){try{return await r()}catch{return}}import Gy from"p-limit";import{resolve as Du}from"resolve.exports";var pt=class{constructor(e){this.fetchDts=e}fetchDtsText(e){return this.tryUrls([e])}async tryUrls(e){for(let t of e){let s=await this.fetchDts(t);if(s&&(this.looksLikeDts(s.dts)||/\.(d\.ts|d\.mts)(?:[?#].*)?$/i.test(s.url)||/[?&]dts(?:[&#]|$)/i.test(s.url)))return s}}looksLikeDts(e){return/^\s*export\s*\{\s*\}\s*;?\s*$/m.test(e)?!0:/declare\s+(module|namespace|class|interface|function|const|var|let)/.test(e)||/interface\s+\w+/.test(e)||/type\s+\w+\s*=/.test(e)}};var Pe={maxRelativeTypeRefs:500,maxBareDeps:8,maxBareDepth:3,prefetchConcurrency:4,negativeTtlMs:1e4},ur=["index.d.ts","index.d.mts"],fr=/\.d\.(ts|mts)$/i;function Po(r){if(fr.test(r))return!0;try{return new URL(r,"file://").search.includes("dts")}catch{return r.includes("?")&&r.includes("dts")}}function $s(r){return[`${r}.d.ts`,`${r}.d.mts`]}async function dr(r,{retries:e=2,timeoutMs:t=15e3,init:s}={}){for(let n=0;n<=e;n++){let i=new AbortController,o=setTimeout(()=>i.abort(),t);try{let a=await fetch(r,{...s,signal:i.signal});if(Ky(a.status)&&n<e)continue;return a}catch{if(n<e)continue;return}finally{clearTimeout(o)}}}function Ky(r){return r===408||r===429||r>=500&&r<600}var pr=class extends pt{constructor(e,t){super(e),this.cdnClient=t}async loadPackageAtVersionedRoot(e,t){let s=this.cdnClient.packageJson(new A({name:e,version:t})),n=await dr(s);if(!n?.ok)return;let i;try{i=await n.json()}catch{return}if(i)return{pkg:i,baseDir:this.cdnClient.baseDir(new A({name:e,version:t??i.version})),version:t}}extractPathFromResult(e){if(typeof e=="string")return e;if(Array.isArray(e))return e.find(t=>typeof t=="string")}async tryUntilSuccess(e,t){for(let s of e){let n=await t(s);if(n)return n}}async resolveFromSelected(e,t){if(e.kind==="types"){let n=this.cdnClient.normalizeRelative(e.path);if(!n||n==="/"||n===".")return this.tryUntilSuccess([...ur],t);if(!fr.test(n)){let i=await this.tryUntilSuccess(this.declarationCandidatesFor(n),t);if(i)return i}return t(n)}let s=this.declarationCandidatesFor(e.path);return this.tryUntilSuccess([...ur,...s],t)}toResolutionResult(e){return{kind:fr.test(e)?"types":"probe",path:e}}resolveExportsPath(e,t){let s=t||".",n=e;try{let i=this.extractPathFromResult(Du(n,s,{conditions:["types"]}));if(i)return i}catch{}try{return this.extractPathFromResult(Du(n,s,{browser:!0,conditions:["import","default","module","browser","node"]}))}catch{return}}async resolve(e){try{let t=A.parse(e),{pkg:s,baseDir:n}=await this.loadPackageAtVersionedRoot(t.name,t.version)||{};if(!s||!n)return;let i={name:t.name,version:t.version},o=new A(i).format(),a=new A({...i,subpath:t.subpath}).format(),c=u=>this.fetchCandidateFrom(n,t.name,u);if(t.subpath){let u=this.cdnClient.ensureLeadingDotSlash(t.subpath),d=this.resolveExportsPath(s,u);if(d){let g=await this.resolveFromSelected(this.toResolutionResult(d),c);if(g)return{...g,resolvedPkg:a}}let p=await this.tryUntilSuccess(this.declarationCandidatesFor(u),c);if(p)return{...p,resolvedPkg:a}}let l=s.types??s.typings;if(l){let u=await this.resolveFromSelected({kind:"types",path:l},c);if(u)return{...u,resolvedPkg:o}}let f=this.resolveExportsPath(s,".");if(f){let u=await this.resolveFromSelected(this.toResolutionResult(f),c);if(u)return{...u,resolvedPkg:o}}return}catch{return}}async fetchCandidateFrom(e,t,s){let n=this.cdnClient.normalizeRelative(s),i=new URL(n,e).toString(),o=await this.fetchDtsText(i);return o?{dts:o.dts,url:o.url,resolvedPkg:t}:void 0}declarationCandidatesFor(e){if(!e||e==="./"||e==="/")return[...ur];let t=e.replace(/\.(mjs|cjs|js|mts|cts|ts)$/i,""),s=$s(t),n=t.endsWith("/")?t:`${t}/`;return s.push(...$s(`${n}index`)),s}};import{gunzipSync as Vy}from"fflate";var ht=class{async fetchAndExtract(e,t){let s=this.getTarballUrl(e,t),n=await dr(s,{timeoutMs:3e4});if(!n?.ok)return new Map;let i=new Uint8Array(await n.arrayBuffer());return this.extractDtsFiles(i)}getTarballUrl(e,t){return`https://registry.npmjs.org/${e.replace("/","%2F")}/-/${e.split("/").pop()}-${t}.tgz`}normalizeTarPath(e){let t=e.replace(/^package\//,""),s=t.indexOf("/");return s>0?t.substring(s+1):t}extractDtsFiles(e){let t=new Map;try{let s=Vy(e),n=new TextDecoder("utf-8"),i=0;for(;i<s.length-512;){let o=s.slice(i,i+512);if(o[0]===0)break;let a=o.slice(0,100),c=a.indexOf(0),l=n.decode(a.slice(0,c>0?c:100)).trim(),f=o.slice(124,136),u=n.decode(f).trim().replace(/\0/g,""),d=parseInt(u,8)||0,p=String.fromCharCode(o[156]);if(i+=512,(p==="0"||p==="\0")&&(l.endsWith(".d.ts")||l.endsWith(".d.mts"))){let g=s.slice(i,i+d);t.set(this.normalizeTarPath(l),n.decode(g))}i+=Math.ceil(d/512)*512}}catch{}return t}},Wy=new ht;var hr=class extends pt{constructor(e,t,s,n=new ht){super(e),this.cdnClient=t,this.cache=s,this.tarballFetcher=n}typesNameCandidates(e){let t=e.startsWith("@")?e.slice(1).replace("/","__"):e;return t.includes(".")?[t,t.split(".").join("-"),t.split(".").join("")]:[t]}selectTypesVersion(e,t,s){try{if(s){let i=je.majorOf(s),o=e.filter(a=>je.majorOf(a)===i);if(o.length)return o.sort((a,c)=>je.cmp(c,a))[0]}let n=t?.latest;return n&&e.includes(n)?n:e[0]}catch{return e[0]}}async fetchFromVersionedRoot(e,t){let s=new A(e),n=s.version;if(!n)return;let i;try{i=await this.tarballFetcher.fetchAndExtract(s.name,n)}catch{return}if(!i||i.size===0)return;for(let[a,c]of i.entries()){let l=this.cdnClient.file(e,a);try{await this.cache.setCachedFile(l,c)}catch{}}let o=t.subpath?[t.subpath+".d.ts",t.subpath+"/index.d.ts"]:["index.d.ts"];for(let a of o){let c=i.get(a);if(c)return{dts:c,url:this.cdnClient.file(e,a),resolvedPkg:t.subpath?new A(t).format():t.name}}}async resolve(e){let t=A.parse(e);if(t.name)for(let s of this.typesNameCandidates(t.name)){let n=`@types/${s}`,i;try{i=await this.cdnClient.fetchVersionsIndex(n)}catch{continue}if(!i?.versions?.length)continue;let o=this.selectTypesVersion(i.versions,i.distTags,t.version),a=await this.fetchFromVersionedRoot(`${n}@${o}`,t);if(a)return a}}};var mr=class{collectRelativeTypeRefs(e){return this.collectRefs(e).filter(t=>t.startsWith("./")||t.startsWith("../"))}collectBareModuleRefs(e){return this.collectRefs(e).filter(t=>this.isBare(t))}collectRefs(e){let t=new Set,s=(n,i)=>(t.add(n[i]),null);return this.matchAll(e,/(import|export)\s+[^'"\n]*from\s*['"]([^'"\n]+)['"]/,n=>s(n,2)),this.matchAll(e,/export\s*\*\s*from\s*['"]([^'"\n]+)['"]/,n=>s(n,1)),Array.from(t)}matchAll(e,t,s){let n=[];try{let i=new RegExp(t.source,"g"),o;for(;o=i.exec(e);){let a=s(o);a!==null&&n.push(a)}}catch{}return n}isBare(e){return!(e.startsWith("./")||e.startsWith("../")||e.startsWith("file:")||e.startsWith("http://")||e.startsWith("https://"))}};var Bu="file:///node_modules",gr=class{constructor(){this.epoch=0,this.listeners=new Set}getEpoch(){return this.epoch}bumpEpoch(){this.epoch+=1;for(let e of this.listeners)try{e(this.epoch)}catch{}return this.epoch}onEpochChange(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}epochDir(){return`__tsepoch_${this.epoch}`}pathForMain(e){return`${Bu}/${this.epochDir()}/${e}/index.d.ts`}pathFor(e,t){let s=Yy(t);return`${Bu}/${this.epochDir()}/${e}/${s}`}};function Yy(r){let e=r||"";return e.startsWith("./")?e.slice(2):e.replace(/^\/+/,"")}import{LRUCache as Hy}from"lru-cache";function Oo(r){let e=new Hy({ttl:1e4,max:500}),t=new Map;return async function(n){try{if(await r.isNegative(n))return;let i=e.get(n);if(i&&Date.now()-i<1e4)return;let o=await r.getCachedFile(n);if(o)return{dts:o,url:n};let a=t.get(n);if(a)return a;let c=(async()=>{let l=await fetch(n,{cache:"no-store"});if(!l.ok){l.status===404&&(e.set(n,Date.now()),await r.recordNegative(n));return}let f=await l.text(),u=l.url||n;return await r.clearNegative(n),await r.setCachedFile(u,f),{dts:f,url:u}})();return t.set(n,c),await c.finally(()=>t.delete(n))}catch{return}}}var Ms=class{constructor(e){this.inFlight=new Map,this.scanner=new mr,this.cache=e.cache,this.cdnClient=e.cdnClient,this.versionResolver=e.versionResolver,this.packageService=e.packageService,this.fetchDts=Oo(e.cache),this.typescriptProvider=new pr(this.fetchDts,e.cdnClient),this.definitelyTypedProvider=new hr(this.fetchDts,e.cdnClient,e.cache),this.virtualFs=new gr}withInFlight(e,t){let s=this.inFlight.get(e);if(s)return s;let n=t().finally(()=>this.inFlight.delete(e));return this.inFlight.set(e,n),n}invalidate(){this.virtualFs.bumpEpoch(),this.inFlight.clear()}capArray(e,t){return e.length<=t?e:e.slice(0,t)}pushFileIfNew(e,t,s){e.some(n=>n.path===t)||e.push({path:t,content:s})}createStubDef(e){let t=this.virtualFs.pathForMain(e);return{pkg:e,mainPath:t,files:[{path:t,content:"export const _shim: any; export default _shim;"}],shims:[{module:e,path:t}]}}async trySubpathWithRootFallback(e,t){let s=new A(e);return s.subpath?this.fetchRootDts(s.name,t):void 0}async fetchViaProviders(e){for(let t of[this.typescriptProvider,this.definitelyTypedProvider])try{let s=await t.resolve(e);if(s?.dts)return s}catch{}}subpathsMatch(e,t){return new A(e).subpath===new A(t).subpath}async fetchRootDts(e,t){let{effectivePackage:s,root:n,pinned:i}=await this.versionResolver.effectivePackage(e,t),o=await this.cache.getCachedDts(s);if(o?.content){let c=o.url??this.cdnClient.file(i?`${n}@${i}`:n,"index.d.ts");return{dts:o.content,url:c,resolvedPkg:s}}let a;try{a=await this.fetchViaProviders(s)}catch{return}if(!(!a?.dts||!a.url)){try{await this.cache.setCachedFile(a.url,a.dts)}catch{}if(this.subpathsMatch(s,a.resolvedPkg||s)){try{await this.cache.setCachedDts(s,a.dts,a.url)}catch{}return a}}}extractPackageRootUrl(e){let t=e.pathname.match(/^(.+@[^/]+\/)/);return t?new URL(t[1],e.origin):new URL("./",e)}toVirtualPath(e,t,s){let n=t.pathname.startsWith(e.pathname)?t.pathname.slice(e.pathname.length):`__deps__/${encodeURIComponent(t.toString()).replace(/%/g,"_")}.d.ts`;return this.virtualFs.pathFor(s,n)}computeEntryPath(e,t){if(!e)return{mainPath:this.virtualFs.pathForMain(t),packageRootUrl:void 0};let s=new URL(e),n=this.extractPackageRootUrl(s);return{mainPath:this.toVirtualPath(n,s,t),packageRootUrl:n}}async expandRelativeRefs(e,t,s,n,i=new Set,o){if(!i.has(t)&&(i.add(t),!(i.size>Pe.maxRelativeTypeRefs)))try{let a=new URL(t),c=new URL("./",a);o??(o=this.extractPackageRootUrl(a));let l=this.capArray(this.scanner.collectRelativeTypeRefs(e),Pe.maxRelativeTypeRefs);for(let f of l)await this.tryRelativeRef(f,c,o,s,n,i)}catch{}}async tryRelativeRef(e,t,s,n,i,o){try{let a=new URL(e,t),c=a.pathname+a.search,l=Po(c)?[c]:this.typescriptProvider.declarationCandidatesFor(c);for(let f of l){let d=new URL(f,a).toString();if(o.has(d))return;let p=await this.fetchDts(d);if(p?.dts){let g=this.toVirtualPath(s,new URL(p.url),n);this.pushFileIfNew(i,g,p.dts),await this.expandRelativeRefs(p.dts,p.url,n,i,o,s);return}}}catch{}}isDifferentPackage(e,t){return e===t?!1:new A(e).name!==new A(t).name}ambientlyDeclares(e,t){for(let s of e.matchAll(/declare\s+module\s+['"]([^'"]+)['"]/g)){let n=s[1];if(n===t||n.endsWith("/*")&&t.startsWith(n.slice(0,-1)))return!0}return!1}markFileAmbient(e,t){let s=e.find(n=>n.path===t);s&&(s.ambient=!0)}async prefetchBareDeps(e,t,s,n,i){try{let o=this.capArray(this.scanner.collectBareModuleRefs(e),Pe.maxBareDeps).filter(l=>this.isDifferentPackage(l,t));if(!o.length)return;let a=new Set([t]),c=Gy(Pe.prefetchConcurrency);await Promise.all(o.map(l=>c(()=>this.prefetchBareDepsRecursive(l,s,n,Pe.maxBareDepth,a,i).catch(()=>{}))))}catch{}}async prefetchBareDepsRecursive(e,t,s,n,i,o){if(n<=0||i.has(e))return;i.add(e);let a=await this.fetchRootDts(e,o);if(!a?.dts)return;let c=a.resolvedPkg||e,l=this.virtualFs.pathForMain(c);this.pushFileIfNew(t,l,a.dts),this.ambientlyDeclares(a.dts,e)?this.markFileAmbient(t,l):s.push({module:e,path:l}),a.url&&await this.expandRelativeRefs(a.dts,a.url,c,t);let f=this.capArray(this.scanner.collectBareModuleRefs(a.dts),Pe.maxBareDeps).filter(u=>!i.has(u));for(let u of f)await this.prefetchBareDepsRecursive(u,t,s,n-1,i,o)}async resolve(e,t,s){let n=await this.packageService.extractImports(e),i=s?[...n,...s]:n;return(await Promise.all(i.map(a=>this.resolveOne(a,t)))).filter(a=>!!a)}async resolveOne(e,t){let{effectivePackage:s}=await this.versionResolver.effectivePackage(e,t);return this.withInFlight(s,async()=>{let n=await this.fetchRootDts(e,t)??await this.trySubpathWithRootFallback(e,t);return n?this.buildDefFromContent(e,n,n.resolvedPkg||e,t):this.createStubDef(e)})}async buildDefFromContent(e,t,s,n){let{dts:i,url:o,resolvedPkg:a}=t,c=new A(a||s),l=c.version?`${c.name}@${c.version}`:c.name,{mainPath:f,packageRootUrl:u}=this.computeEntryPath(o,l),d=[{path:f,content:i}],p=[];o&&await this.expandRelativeRefs(i,o,l,d,void 0,u);let g=d.map(m=>m.content).join(`
436
- `);await this.prefetchBareDeps(g,l,d,p,n);let h=c.format(),y=e===h?[e]:[e,h],k=y.some(m=>this.ambientlyDeclares(i,m));return k?this.markFileAmbient(d,f):p.push(...y.map(m=>({module:m,path:f}))),{pkg:e,mainPath:f,files:d,shims:p,ambient:k}}};function No(r){return new Ms(r)}import*as le from"fs/promises";import*as pe from"path";import*as ju from"os";import*as Co from"fs/promises";import*as qu from"crypto";function te(r){return qu.createHash("sha1").update(r).digest("hex")}async function Je(r){try{return JSON.parse(await Co.readFile(r,"utf8"))}catch{return}}async function Ds(r){try{return await Co.readFile(r,"utf8")}catch{return}}var Fu=1,Oe=pe.join(ju.homedir(),".typebulb","cache"),yr=pe.join(Oe,"packages"),br=pe.join(Oe,"proxy"),Bs=pe.join(Oe,"dts"),zy=pe.join(Oe,"emit"),Ro;function I(){return Ro||(Ro=Qy()),Ro}function qs(r,e){return pe.join(zy,te(r),e)}async function Qy(){await le.mkdir(Oe,{recursive:!0});let r=pe.join(Oe,"version.json");if((await Xy(r))?.version===Fu)return;let t=await le.readdir(Oe).catch(()=>[]);await Promise.all(t.map(s=>le.rm(pe.join(Oe,s),{recursive:!0,force:!0}))),await le.writeFile(r,JSON.stringify({version:Fu})+`
437
- `,"utf8")}async function Xy(r){try{let e=await le.readFile(r,"utf8");return JSON.parse(e)}catch{return}}import*as Ne from"fs/promises";import*as Uu from"path";async function z(r,e){await Ne.mkdir(Uu.dirname(r),{recursive:!0});let t=`${r}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;await Ne.writeFile(t,e,"utf8"),await Ne.rename(t,r).catch(async s=>{throw await Ne.rm(t,{force:!0}).catch(()=>{}),s})}var mt=class{constructor(e){this.filePath=e}mem;loadPromise;load(){return this.mem?Promise.resolve(this.mem):(this.loadPromise||(this.loadPromise=Je(this.filePath).then(e=>(this.mem=new Map(Object.entries(e??{})),this.mem))),this.loadPromise)}async get(e){return(await this.load()).get(e)}async set(e,t){let s=await this.load();s.set(e,t),await this.persist(s)}async delete(e){let t=await this.load();t.delete(e)&&await this.persist(t)}async persist(e){await z(this.filePath,JSON.stringify(Object.fromEntries(e)))}};var Io=re.join(yr,"indexes"),Ju=re.join(yr,"pinned"),Zy=re.join(yr,"meta"),eb=re.join(yr,"negative.json"),gt=Symbol("missing"),js=class{pinnedMem=new Map;indexMem=new Map;metaMem=new Map;negativeCache=new Ue(new mt(eb));async getPinnedExact(e,t){let s=`${e}@${t}`,n=this.pinnedMem.get(s);if(n!==void 0)return n===gt?void 0:n;await I();let i=await Ds(re.join(Ju,te(s)+".txt"));return this.pinnedMem.set(s,i??gt),i}async setPinnedExact(e,t,s){let n=`${e}@${t}`;this.pinnedMem.set(n,s),await I(),await z(re.join(Ju,te(n)+".txt"),s)}async getIndex(e){let t=this.indexMem.get(e);if(t!==void 0)return t===gt?void 0:t;await I();let s=await Je(re.join(Io,Fs(e)+".json"));return this.indexMem.set(e,s??gt),s}async setIndex(e,t,s){let n={versions:t,distTags:s,updatedAt:Date.now()};this.indexMem.set(e,n),await I(),await z(re.join(Io,Fs(e)+".json"),JSON.stringify(n))}async invalidateVersionsCache(e){this.indexMem.delete(e),await Vu.rm(re.join(Io,Fs(e)+".json"),{force:!0})}async isNegative(e){return await I(),this.negativeCache.isNegative(e)}async recordNegative(e){await I(),await this.negativeCache.recordNegative(e)}async clearNegative(e){await this.negativeCache.clearNegative(e)}async getMeta(e,t){let s=`${e}@${t}`,n=this.metaMem.get(s);if(n!==void 0)return n===gt?void 0:n;await I();let i=await Je(Ku(e,t));return this.metaMem.set(s,i??gt),i}async setMeta(e,t,s,n,i){let o={dependencies:s,peerDependencies:n,peerDependenciesMeta:i,updatedAt:Date.now()};this.metaMem.set(`${e}@${t}`,o),await I(),await z(Ku(e,t),JSON.stringify(o))}};function Ku(r,e){return re.join(Zy,Fs(r),encodeURIComponent(e)+".json")}function Fs(r){return r.replace(/\//g,"__")}var Wu={async getJson(r){try{let e=await fetch(r,{redirect:"follow"});return e.ok?await e.json():void 0}catch{return}},async head(r){try{let e=await fetch(r,{method:"HEAD",redirect:"follow"});return{ok:e.ok,url:e.url}}catch{return}}};var tb=new js,{packageService:Us,versionResolver:Yu,cdnClient:Hu,peerResolver:Jx}=Cu(tb,Wu);var Gu=`
437
+ `;var Je=class{constructor(e){this.store=e}async isNegative(e){let t=await Ls(()=>this.store.get(e));return!!t&&t.until>Date.now()}async recordNegative(e){let s=((await Ls(()=>this.store.get(e)))?.attempts||0)+1;await Ls(()=>this.store.set(e,{until:Date.now()+Hy(s),attempts:s}))}async clearNegative(e){await Ls(()=>this.store.delete(e))}};function Hy(r){return Math.min(9e5*Math.pow(2,Math.max(0,r-1)),864e5)}async function Ls(r){try{return await r()}catch{return}}import eb from"p-limit";import{resolve as ju}from"resolve.exports";var ht=class{constructor(e){this.fetchDts=e}fetchDtsText(e){return this.tryUrls([e])}async tryUrls(e){for(let t of e){let s=await this.fetchDts(t);if(s&&(this.looksLikeDts(s.dts)||/\.(d\.ts|d\.mts)(?:[?#].*)?$/i.test(s.url)||/[?&]dts(?:[&#]|$)/i.test(s.url)))return s}}looksLikeDts(e){return/^\s*export\s*\{\s*\}\s*;?\s*$/m.test(e)?!0:/declare\s+(module|namespace|class|interface|function|const|var|let)/.test(e)||/interface\s+\w+/.test(e)||/type\s+\w+\s*=/.test(e)}};var Ce={maxRelativeTypeRefs:500,maxBareDeps:8,maxBareDepth:3,prefetchConcurrency:4,negativeTtlMs:1e4},fr=["index.d.ts","index.d.mts"],dr=/\.d\.(ts|mts)$/i;function No(r){if(dr.test(r))return!0;try{return new URL(r,"file://").search.includes("dts")}catch{return r.includes("?")&&r.includes("dts")}}function $s(r){return[`${r}.d.ts`,`${r}.d.mts`]}async function pr(r,{retries:e=2,timeoutMs:t=15e3,init:s}={}){for(let n=0;n<=e;n++){let i=new AbortController,o=setTimeout(()=>i.abort(),t);try{let a=await fetch(r,{...s,signal:i.signal});if(Gy(a.status)&&n<e)continue;return a}catch{if(n<e)continue;return}finally{clearTimeout(o)}}}function Gy(r){return r===408||r===429||r>=500&&r<600}var hr=class extends ht{constructor(e,t){super(e),this.cdnClient=t}async loadPackageAtVersionedRoot(e,t){let s=this.cdnClient.packageJson(new A({name:e,version:t})),n=await pr(s);if(!n?.ok)return;let i;try{i=await n.json()}catch{return}if(i)return{pkg:i,baseDir:this.cdnClient.baseDir(new A({name:e,version:t??i.version})),version:t}}extractPathFromResult(e){if(typeof e=="string")return e;if(Array.isArray(e))return e.find(t=>typeof t=="string")}async tryUntilSuccess(e,t){for(let s of e){let n=await t(s);if(n)return n}}async resolveFromSelected(e,t){if(e.kind==="types"){let n=this.cdnClient.normalizeRelative(e.path);if(!n||n==="/"||n===".")return this.tryUntilSuccess([...fr],t);if(!dr.test(n)){let i=await this.tryUntilSuccess(this.declarationCandidatesFor(n),t);if(i)return i}return t(n)}let s=this.declarationCandidatesFor(e.path);return this.tryUntilSuccess([...fr,...s],t)}toResolutionResult(e){return{kind:dr.test(e)?"types":"probe",path:e}}resolveExportsPath(e,t){let s=t||".",n=e;try{let i=this.extractPathFromResult(ju(n,s,{conditions:["types"]}));if(i)return i}catch{}try{return this.extractPathFromResult(ju(n,s,{browser:!0,conditions:["import","default","module","browser","node"]}))}catch{return}}async resolve(e){try{let t=A.parse(e),{pkg:s,baseDir:n}=await this.loadPackageAtVersionedRoot(t.name,t.version)||{};if(!s||!n)return;let i={name:t.name,version:t.version},o=new A(i).format(),a=new A({...i,subpath:t.subpath}).format(),c=u=>this.fetchCandidateFrom(n,t.name,u);if(t.subpath){let u=this.cdnClient.ensureLeadingDotSlash(t.subpath),d=this.resolveExportsPath(s,u);if(d){let g=await this.resolveFromSelected(this.toResolutionResult(d),c);if(g)return{...g,resolvedPkg:a}}let p=await this.tryUntilSuccess(this.declarationCandidatesFor(u),c);if(p)return{...p,resolvedPkg:a}}let l=s.types??s.typings;if(l){let u=await this.resolveFromSelected({kind:"types",path:l},c);if(u)return{...u,resolvedPkg:o}}let f=this.resolveExportsPath(s,".");if(f){let u=await this.resolveFromSelected(this.toResolutionResult(f),c);if(u)return{...u,resolvedPkg:o}}return}catch{return}}async fetchCandidateFrom(e,t,s){let n=this.cdnClient.normalizeRelative(s),i=new URL(n,e).toString(),o=await this.fetchDtsText(i);return o?{dts:o.dts,url:o.url,resolvedPkg:t}:void 0}declarationCandidatesFor(e){if(!e||e==="./"||e==="/")return[...fr];let t=e.replace(/\.(mjs|cjs|js|mts|cts|ts)$/i,""),s=$s(t),n=t.endsWith("/")?t:`${t}/`;return s.push(...$s(`${n}index`)),s}};import{gunzipSync as zy}from"fflate";var mt=class{async fetchAndExtract(e,t){let s=this.getTarballUrl(e,t),n=await pr(s,{timeoutMs:3e4});if(!n?.ok)return new Map;let i=new Uint8Array(await n.arrayBuffer());return this.extractDtsFiles(i)}getTarballUrl(e,t){return`https://registry.npmjs.org/${e.replace("/","%2F")}/-/${e.split("/").pop()}-${t}.tgz`}normalizeTarPath(e){let t=e.replace(/^package\//,""),s=t.indexOf("/");return s>0?t.substring(s+1):t}extractDtsFiles(e){let t=new Map;try{let s=zy(e),n=new TextDecoder("utf-8"),i=0;for(;i<s.length-512;){let o=s.slice(i,i+512);if(o[0]===0)break;let a=o.slice(0,100),c=a.indexOf(0),l=n.decode(a.slice(0,c>0?c:100)).trim(),f=o.slice(124,136),u=n.decode(f).trim().replace(/\0/g,""),d=parseInt(u,8)||0,p=String.fromCharCode(o[156]);if(i+=512,(p==="0"||p==="\0")&&(l.endsWith(".d.ts")||l.endsWith(".d.mts"))){let g=s.slice(i,i+d);t.set(this.normalizeTarPath(l),n.decode(g))}i+=Math.ceil(d/512)*512}}catch{}return t}},Qy=new mt;var mr=class extends ht{constructor(e,t,s,n=new mt){super(e),this.cdnClient=t,this.cache=s,this.tarballFetcher=n}typesNameCandidates(e){let t=e.startsWith("@")?e.slice(1).replace("/","__"):e;return t.includes(".")?[t,t.split(".").join("-"),t.split(".").join("")]:[t]}selectTypesVersion(e,t,s){try{if(s){let i=Ue.majorOf(s),o=e.filter(a=>Ue.majorOf(a)===i);if(o.length)return o.sort((a,c)=>Ue.cmp(c,a))[0]}let n=t?.latest;return n&&e.includes(n)?n:e[0]}catch{return e[0]}}async fetchFromVersionedRoot(e,t){let s=new A(e),n=s.version;if(!n)return;let i;try{i=await this.tarballFetcher.fetchAndExtract(s.name,n)}catch{return}if(!i||i.size===0)return;for(let[a,c]of i.entries()){let l=this.cdnClient.file(e,a);try{await this.cache.setCachedFile(l,c)}catch{}}let o=t.subpath?[t.subpath+".d.ts",t.subpath+"/index.d.ts"]:["index.d.ts"];for(let a of o){let c=i.get(a);if(c)return{dts:c,url:this.cdnClient.file(e,a),resolvedPkg:t.subpath?new A(t).format():t.name}}}async resolve(e){let t=A.parse(e);if(t.name)for(let s of this.typesNameCandidates(t.name)){let n=`@types/${s}`,i;try{i=await this.cdnClient.fetchVersionsIndex(n)}catch{continue}if(!i?.versions?.length)continue;let o=this.selectTypesVersion(i.versions,i.distTags,t.version),a=await this.fetchFromVersionedRoot(`${n}@${o}`,t);if(a)return a}}};var gr=class{collectRelativeTypeRefs(e){return this.collectRefs(e).filter(t=>t.startsWith("./")||t.startsWith("../"))}collectBareModuleRefs(e){return this.collectRefs(e).filter(t=>this.isBare(t))}collectRefs(e){let t=new Set,s=(n,i)=>(t.add(n[i]),null);return this.matchAll(e,/(import|export)\s+[^'"\n]*from\s*['"]([^'"\n]+)['"]/,n=>s(n,2)),this.matchAll(e,/export\s*\*\s*from\s*['"]([^'"\n]+)['"]/,n=>s(n,1)),Array.from(t)}matchAll(e,t,s){let n=[];try{let i=new RegExp(t.source,"g"),o;for(;o=i.exec(e);){let a=s(o);a!==null&&n.push(a)}}catch{}return n}isBare(e){return!(e.startsWith("./")||e.startsWith("../")||e.startsWith("file:")||e.startsWith("http://")||e.startsWith("https://"))}};var Uu="file:///node_modules",yr=class{constructor(){this.epoch=0,this.listeners=new Set}getEpoch(){return this.epoch}bumpEpoch(){this.epoch+=1;for(let e of this.listeners)try{e(this.epoch)}catch{}return this.epoch}onEpochChange(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}epochDir(){return`__tsepoch_${this.epoch}`}pathForMain(e){return`${Uu}/${this.epochDir()}/${e}/index.d.ts`}pathFor(e,t){let s=Xy(t);return`${Uu}/${this.epochDir()}/${e}/${s}`}};function Xy(r){let e=r||"";return e.startsWith("./")?e.slice(2):e.replace(/^\/+/,"")}import{LRUCache as Zy}from"lru-cache";function Co(r){let e=new Zy({ttl:1e4,max:500}),t=new Map;return async function(n){try{if(await r.isNegative(n))return;let i=e.get(n);if(i&&Date.now()-i<1e4)return;let o=await r.getCachedFile(n);if(o)return{dts:o,url:n};let a=t.get(n);if(a)return a;let c=(async()=>{let l=await fetch(n,{cache:"no-store"});if(!l.ok){l.status===404&&(e.set(n,Date.now()),await r.recordNegative(n));return}let f=await l.text(),u=l.url||n;return await r.clearNegative(n),await r.setCachedFile(u,f),{dts:f,url:u}})();return t.set(n,c),await c.finally(()=>t.delete(n))}catch{return}}}var Ms=class{constructor(e){this.inFlight=new Map,this.scanner=new gr,this.cache=e.cache,this.cdnClient=e.cdnClient,this.versionResolver=e.versionResolver,this.packageService=e.packageService,this.fetchDts=Co(e.cache),this.typescriptProvider=new hr(this.fetchDts,e.cdnClient),this.definitelyTypedProvider=new mr(this.fetchDts,e.cdnClient,e.cache),this.virtualFs=new yr}withInFlight(e,t){let s=this.inFlight.get(e);if(s)return s;let n=t().finally(()=>this.inFlight.delete(e));return this.inFlight.set(e,n),n}invalidate(){this.virtualFs.bumpEpoch(),this.inFlight.clear()}capArray(e,t){return e.length<=t?e:e.slice(0,t)}pushFileIfNew(e,t,s){e.some(n=>n.path===t)||e.push({path:t,content:s})}createStubDef(e){let t=this.virtualFs.pathForMain(e);return{pkg:e,mainPath:t,files:[{path:t,content:"export const _shim: any; export default _shim;"}],shims:[{module:e,path:t}]}}async trySubpathWithRootFallback(e,t){let s=new A(e);return s.subpath?this.fetchRootDts(s.name,t):void 0}async fetchViaProviders(e){for(let t of[this.typescriptProvider,this.definitelyTypedProvider])try{let s=await t.resolve(e);if(s?.dts)return s}catch{}}subpathsMatch(e,t){return new A(e).subpath===new A(t).subpath}async fetchRootDts(e,t){let{effectivePackage:s,root:n,pinned:i}=await this.versionResolver.effectivePackage(e,t),o=await this.cache.getCachedDts(s);if(o?.content){let c=o.url??this.cdnClient.file(i?`${n}@${i}`:n,"index.d.ts");return{dts:o.content,url:c,resolvedPkg:s}}let a;try{a=await this.fetchViaProviders(s)}catch{return}if(!(!a?.dts||!a.url)){try{await this.cache.setCachedFile(a.url,a.dts)}catch{}if(this.subpathsMatch(s,a.resolvedPkg||s)){try{await this.cache.setCachedDts(s,a.dts,a.url)}catch{}return a}}}extractPackageRootUrl(e){let t=e.pathname.match(/^(.+@[^/]+\/)/);return t?new URL(t[1],e.origin):new URL("./",e)}toVirtualPath(e,t,s){let n=t.pathname.startsWith(e.pathname)?t.pathname.slice(e.pathname.length):`__deps__/${encodeURIComponent(t.toString()).replace(/%/g,"_")}.d.ts`;return this.virtualFs.pathFor(s,n)}computeEntryPath(e,t){if(!e)return{mainPath:this.virtualFs.pathForMain(t),packageRootUrl:void 0};let s=new URL(e),n=this.extractPackageRootUrl(s);return{mainPath:this.toVirtualPath(n,s,t),packageRootUrl:n}}async expandRelativeRefs(e,t,s,n,i=new Set,o){if(!i.has(t)&&(i.add(t),!(i.size>Ce.maxRelativeTypeRefs)))try{let a=new URL(t),c=new URL("./",a);o??(o=this.extractPackageRootUrl(a));let l=this.capArray(this.scanner.collectRelativeTypeRefs(e),Ce.maxRelativeTypeRefs);for(let f of l)await this.tryRelativeRef(f,c,o,s,n,i)}catch{}}async tryRelativeRef(e,t,s,n,i,o){try{let a=new URL(e,t),c=a.pathname+a.search,l=No(c)?[c]:this.typescriptProvider.declarationCandidatesFor(c);for(let f of l){let d=new URL(f,a).toString();if(o.has(d))return;let p=await this.fetchDts(d);if(p?.dts){let g=this.toVirtualPath(s,new URL(p.url),n);this.pushFileIfNew(i,g,p.dts),await this.expandRelativeRefs(p.dts,p.url,n,i,o,s);return}}}catch{}}isDifferentPackage(e,t){return e===t?!1:new A(e).name!==new A(t).name}ambientlyDeclares(e,t){for(let s of e.matchAll(/declare\s+module\s+['"]([^'"]+)['"]/g)){let n=s[1];if(n===t||n.endsWith("/*")&&t.startsWith(n.slice(0,-1)))return!0}return!1}markFileAmbient(e,t){let s=e.find(n=>n.path===t);s&&(s.ambient=!0)}async prefetchBareDeps(e,t,s,n,i){try{let o=this.capArray(this.scanner.collectBareModuleRefs(e),Ce.maxBareDeps).filter(l=>this.isDifferentPackage(l,t));if(!o.length)return;let a=new Set([t]),c=eb(Ce.prefetchConcurrency);await Promise.all(o.map(l=>c(()=>this.prefetchBareDepsRecursive(l,s,n,Ce.maxBareDepth,a,i).catch(()=>{}))))}catch{}}async prefetchBareDepsRecursive(e,t,s,n,i,o){if(n<=0||i.has(e))return;i.add(e);let a=await this.fetchRootDts(e,o);if(!a?.dts)return;let c=a.resolvedPkg||e,l=this.virtualFs.pathForMain(c);this.pushFileIfNew(t,l,a.dts),this.ambientlyDeclares(a.dts,e)?this.markFileAmbient(t,l):s.push({module:e,path:l}),a.url&&await this.expandRelativeRefs(a.dts,a.url,c,t);let f=this.capArray(this.scanner.collectBareModuleRefs(a.dts),Ce.maxBareDeps).filter(u=>!i.has(u));for(let u of f)await this.prefetchBareDepsRecursive(u,t,s,n-1,i,o)}async resolve(e,t,s){let n=await this.packageService.extractImports(e),i=s?[...n,...s]:n;return(await Promise.all(i.map(a=>this.resolveOne(a,t)))).filter(a=>!!a)}async resolveOne(e,t){let{effectivePackage:s}=await this.versionResolver.effectivePackage(e,t);return this.withInFlight(s,async()=>{let n=await this.fetchRootDts(e,t)??await this.trySubpathWithRootFallback(e,t);return n?this.buildDefFromContent(e,n,n.resolvedPkg||e,t):this.createStubDef(e)})}async buildDefFromContent(e,t,s,n){let{dts:i,url:o,resolvedPkg:a}=t,c=new A(a||s),l=c.version?`${c.name}@${c.version}`:c.name,{mainPath:f,packageRootUrl:u}=this.computeEntryPath(o,l),d=[{path:f,content:i}],p=[];o&&await this.expandRelativeRefs(i,o,l,d,void 0,u);let g=d.map(m=>m.content).join(`
438
+ `);await this.prefetchBareDeps(g,l,d,p,n);let h=c.format(),y=e===h?[e]:[e,h],k=y.some(m=>this.ambientlyDeclares(i,m));return k?this.markFileAmbient(d,f):p.push(...y.map(m=>({module:m,path:f}))),{pkg:e,mainPath:f,files:d,shims:p,ambient:k}}};function Ro(r){return new Ms(r)}import*as le from"fs/promises";import*as he from"path";import*as Wu from"os";import*as Io from"fs/promises";import*as Ju from"crypto";function re(r){return Ju.createHash("sha1").update(r).digest("hex")}async function Ke(r){try{return JSON.parse(await Io.readFile(r,"utf8"))}catch{return}}async function Ds(r){try{return await Io.readFile(r,"utf8")}catch{return}}var Ku=1,Re=he.join(Wu.homedir(),".typebulb","cache"),br=he.join(Re,"packages"),wr=he.join(Re,"proxy"),Bs=he.join(Re,"dts"),tb=he.join(Re,"emit"),_o;function I(){return _o||(_o=rb()),_o}function qs(r,e){return he.join(tb,re(r),e)}async function rb(){await le.mkdir(Re,{recursive:!0});let r=he.join(Re,"version.json");if((await sb(r))?.version===Ku)return;let t=await le.readdir(Re).catch(()=>[]);await Promise.all(t.map(s=>le.rm(he.join(Re,s),{recursive:!0,force:!0}))),await le.writeFile(r,JSON.stringify({version:Ku})+`
439
+ `,"utf8")}async function sb(r){try{let e=await le.readFile(r,"utf8");return JSON.parse(e)}catch{return}}import*as Ie from"fs/promises";import*as Vu from"path";async function z(r,e){await Ie.mkdir(Vu.dirname(r),{recursive:!0});let t=`${r}.tmp-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;await Ie.writeFile(t,e,"utf8"),await Ie.rename(t,r).catch(async s=>{throw await Ie.rm(t,{force:!0}).catch(()=>{}),s})}var gt=class{constructor(e){this.filePath=e}mem;loadPromise;load(){return this.mem?Promise.resolve(this.mem):(this.loadPromise||(this.loadPromise=Ke(this.filePath).then(e=>(this.mem=new Map(Object.entries(e??{})),this.mem))),this.loadPromise)}async get(e){return(await this.load()).get(e)}async set(e,t){let s=await this.load();s.set(e,t),await this.persist(s)}async delete(e){let t=await this.load();t.delete(e)&&await this.persist(t)}async persist(e){await z(this.filePath,JSON.stringify(Object.fromEntries(e)))}};var Lo=se.join(br,"indexes"),Yu=se.join(br,"pinned"),nb=se.join(br,"meta"),ib=se.join(br,"negative.json"),yt=Symbol("missing"),js=class{pinnedMem=new Map;indexMem=new Map;metaMem=new Map;negativeCache=new Je(new gt(ib));async getPinnedExact(e,t){let s=`${e}@${t}`,n=this.pinnedMem.get(s);if(n!==void 0)return n===yt?void 0:n;await I();let i=await Ds(se.join(Yu,re(s)+".txt"));return this.pinnedMem.set(s,i??yt),i}async setPinnedExact(e,t,s){let n=`${e}@${t}`;this.pinnedMem.set(n,s),await I(),await z(se.join(Yu,re(n)+".txt"),s)}async getIndex(e){let t=this.indexMem.get(e);if(t!==void 0)return t===yt?void 0:t;await I();let s=await Ke(se.join(Lo,Fs(e)+".json"));return this.indexMem.set(e,s??yt),s}async setIndex(e,t,s){let n={versions:t,distTags:s,updatedAt:Date.now()};this.indexMem.set(e,n),await I(),await z(se.join(Lo,Fs(e)+".json"),JSON.stringify(n))}async invalidateVersionsCache(e){this.indexMem.delete(e),await Gu.rm(se.join(Lo,Fs(e)+".json"),{force:!0})}async isNegative(e){return await I(),this.negativeCache.isNegative(e)}async recordNegative(e){await I(),await this.negativeCache.recordNegative(e)}async clearNegative(e){await this.negativeCache.clearNegative(e)}async getMeta(e,t){let s=`${e}@${t}`,n=this.metaMem.get(s);if(n!==void 0)return n===yt?void 0:n;await I();let i=await Ke(Hu(e,t));return this.metaMem.set(s,i??yt),i}async setMeta(e,t,s,n,i){let o={dependencies:s,peerDependencies:n,peerDependenciesMeta:i,updatedAt:Date.now()};this.metaMem.set(`${e}@${t}`,o),await I(),await z(Hu(e,t),JSON.stringify(o))}};function Hu(r,e){return se.join(nb,Fs(r),encodeURIComponent(e)+".json")}function Fs(r){return r.replace(/\//g,"__")}var zu={async getJson(r){try{let e=await fetch(r,{redirect:"follow"});return e.ok?await e.json():void 0}catch{return}},async head(r){try{let e=await fetch(r,{method:"HEAD",redirect:"follow"});return{ok:e.ok,url:e.url}}catch{return}}};var ob=new js,{packageService:Us,versionResolver:Qu,cdnClient:Xu,peerResolver:Yx}=Lu(ob,zu);var Zu=`
438
440
  (() => {
439
441
  // Embedded (bulb-in-a-bulb): runs inside a sandboxed iframe with no parent
440
442
  // bridge, so privileged tb.* (AI, fs, server RPC) can't reach a host and would
@@ -648,7 +650,7 @@ declare const tb: {${Ru}${Iu}${_u}${Mu}${Fy}${Lu}${$u}
648
650
  canvas { max-width: 100%; }
649
651
  body { margin: 0; display: flow-root; font-family: system-ui, -apple-system, sans-serif; }
650
652
  html[data-theme="dark"] { color-scheme: dark; }
651
- html[data-theme="light"] { color-scheme: light; }`;function Vs(r,e){let t=s=>s.replace(/<\/script/gi,"<\\/script");return` <script>
653
+ html[data-theme="light"] { color-scheme: light; }`;function Ws(r,e){let t=s=>s.replace(/<\/script/gi,"<\\/script");return` <script>
652
654
  (function() {
653
655
  try {
654
656
  var KEY = ${t(JSON.stringify("tb-theme:"+r))};
@@ -683,14 +685,14 @@ declare const tb: {${Ru}${Iu}${_u}${Mu}${Fy}${Lu}${$u}
683
685
  });
684
686
  } catch (e) {}
685
687
  })();
686
- </script>`}function zu(r){let{name:e,code:t,css:s,html:n,data:i,insight:o,importMap:a,watch:c,theme:l,embedded:f}=r,u=n.trim()||'<div id="app"></div>',d=f?"":`
687
- html, body { height: 100%; }`,p=h=>h.replace(/<\/script/gi,"<\\/script"),g={imports:sb(a.imports)};return`<!DOCTYPE html>
688
+ </script>`}function ef(r){let{name:e,code:t,css:s,html:n,data:i,insight:o,importMap:a,watch:c,theme:l,embedded:f}=r,u=n.trim()||'<div id="app"></div>',d=f?"":`
689
+ html, body { height: 100%; }`,p=h=>h.replace(/<\/script/gi,"<\\/script"),g={imports:cb(a.imports)};return`<!DOCTYPE html>
688
690
  <html>
689
691
  <head>
690
692
  <meta charset="utf-8">
691
693
  <meta name="viewport" content="width=device-width, initial-scale=1">
692
694
  <title>${Js(e)} - typebulb</title>
693
- ${Vs(e,l)}
695
+ ${Ws(e,l)}
694
696
  <script type="importmap">
695
697
  ${JSON.stringify(g,null,2)}
696
698
  </script>
@@ -709,17 +711,17 @@ ${o?`<script>window.__TB_INSIGHT__ = ${p(JSON.stringify(o))};</script>`:""}
709
711
  ${c?"<script>window.__TYPEBULB_WATCH__ = true;</script>":""}
710
712
 
711
713
  <script>
712
- ${Gu}
714
+ ${Zu}
713
715
  </script>
714
716
 
715
- ${rb}
717
+ ${ab}
716
718
 
717
719
  <script type="module">
718
720
  ${p(t)}
719
721
  globalThis.__tbEntryRan = true; /* load-failure backstop \u2014 see embedProtocol */
720
722
  </script>
721
723
  </body>
722
- </html>`}var rb=`<script>
724
+ </html>`}var ab=`<script>
723
725
  (function () {
724
726
  var framed = window.parent !== window;
725
727
  var post = function (m) { try { parent.postMessage(m, '*'); } catch (e) {} }; /* framed only */
@@ -815,10 +817,10 @@ globalThis.__tbEntryRan = true; /* load-failure backstop \u2014 see embedProtoco
815
817
  }
816
818
  });
817
819
  })();
818
- </script>`;function sb(r){let e={};for(let[t,s]of Object.entries(r))e[t]=s.startsWith("https://")?"/proxy/"+s:s;return e}import*as Ys from"fs/promises";import*as Ws from"path";import{existsSync as Qu,readFileSync as nb}from"fs";import{execFile as ib}from"child_process";import{promisify as ob}from"util";import{satisfies as ab}from"semver";var cb=ob(ib);async function Hs(r,e,t){let n=r.map(o=>lb(o,t)).filter(o=>!ub(o,e));if(n.length===0)return;await Ys.mkdir(e,{recursive:!0});let i=Ws.join(e,"package.json");Qu(i)||await Ys.writeFile(i,JSON.stringify({name:"typebulb-server",private:!0})),console.log(` Installing: ${n.join(", ")}`),await cb("npm",["install","--no-audit","--no-fund",...n],{cwd:e,shell:!0})}function lb(r,e){if(!e||Zu(r))return r;let t=e[r];return t?`${r}@${t}`:r}function ub(r,e){let t=Ws.join(e,"node_modules",Xu(r));if(!Qu(t))return!1;let s=Zu(r);if(!s)return!0;try{let n=JSON.parse(nb(Ws.join(t,"package.json"),"utf-8")).version;return ab(n,s)}catch{return!1}}function Gs(r){let e=new Set,t=/\bimport\s+(?:[\s\S]*?\s+from\s+)?['"]([^./][^'"]*)['"]/g,s;for(;s=t.exec(r);){let n=s[1];if(n.includes(":"))continue;let i=n.startsWith("@")?n.split("/").slice(0,2).join("/"):n.split("/")[0];e.add(i)}return[...e]}function Xu(r){if(r.startsWith("@")){let t=r.indexOf("/");if(t<0)return r;let s=r.indexOf("@",t+1);return s<0?r:r.slice(0,s)}let e=r.indexOf("@");return e<0?r:r.slice(0,e)}function Zu(r){let e=Xu(r);return r.length>e.length?r.slice(e.length+1):""}async function ef(r){let t=(await Ce.readdir(r)).find(s=>s.endsWith(".bulb.md"));return t?zs.join(r,t):null}async function se(r){let e=await Ce.readFile(r,"utf-8"),t=_r(e);if(!t)throw new Error("Invalid .bulb.md file format");let s=Is(t);return{bulb:s,config:Ta(s.config)}}async function wr(r,e,t,s){let n=wo(r,{serverOnly:!0});if(n.error)throw new Error(`Server compilation error: ${n.error}`);let i=n.code;t&&(i=await wa(i,t));let o=zs.join(e,".typebulb");await Ce.mkdir(o,{recursive:!0});let a=Gs(i);a.length>0&&await Hs(a,o,s);let c=zs.join(o,"server.mjs");return await Ce.writeFile(c,i,"utf-8"),await import(`${fb(c).href}?t=${Date.now()}`)}async function _o(r,e,t,s,n){let{bulb:i,config:o}=await se(r),a=yo(i.data),c=wo(i.code,{jsxImportSource:o.ts?.jsxImportSource});c.error&&console.error("Compilation error:",c.error);let{importMap:l}=await Us.buildImportMap(c.code,o.dependencies??{},s?new Set([s.name]):void 0);s&&(l.imports[s.name]=s.entryUrl);let f=zu({name:i.name,code:c.code,css:i.css,html:i.html,data:a,insight:i.insight,importMap:l,watch:e}),u=null;return i.server&&t&&(u=await wr(i.server,n,s,o.dependencies)),{html:f,bulb:i,serverExports:u}}vr();import vb from"open";async function bt(r){await vb(r)}var sf=new Set(["claude"]);function nf(r){return sf.has(r)}function Sr(){return[...sf]}import*as df from"path";import{spawn as Db}from"child_process";import*as F from"fs/promises";import*as B from"path";import*as wt from"path";var Sb=wt.join(Bs,"pkg"),kb=wt.join(Bs,"files"),xb=wt.join(Bs,"negative.json"),en=class{pkgMem=new Map;fileMem=new Map;negativeCache=new Ue(new mt(xb));async getCachedDts(e){if(this.pkgMem.has(e))return this.pkgMem.get(e);await I();let t=await Je(of(e));return this.pkgMem.set(e,t),t}async setCachedDts(e,t,s){let n={content:t,url:s};this.pkgMem.set(e,n),await Zs(async()=>{await I(),await z(of(e),JSON.stringify(n))})}async getCachedFile(e){if(this.fileMem.has(e))return this.fileMem.get(e);await I();let t=await Ds(af(e));return this.fileMem.set(e,t),t}async setCachedFile(e,t){this.fileMem.set(e,t),await Zs(async()=>{await I(),await z(af(e),t)})}isNegative(e){return this.negativeCache.isNegative(e)}async recordNegative(e){await Zs(async()=>{await I(),await this.negativeCache.recordNegative(e)})}clearNegative(e){return Zs(()=>this.negativeCache.clearNegative(e))}};async function Zs(r){try{await r()}catch{}}function of(r){return wt.join(Sb,te(r)+".json")}function af(r){return wt.join(kb,te(r)+".txt")}var Do;function Eb(){return Do||(Do=No({cache:new en,cdnClient:Hu,packageService:Us,versionResolver:Yu})),Do}var cf="file:///node_modules/";async function lf(r){let e=qs(r.emitKey,"typecheck");await I(),await F.rm(e,{recursive:!0,force:!0}),await F.mkdir(e,{recursive:!0});let t=Ob(r.jsxImportSource,r.dependencies),s=await Eb().resolve(r.code,r.dependencies,t),n=r.local?.name,i=n?s.filter(f=>f.pkg!==n):s,o=new Set;for(let f of i)for(let u of f.files){let d=tn(u.path);if(!d||o.has(d))continue;o.add(d);let p=B.join(e,"node_modules",d);await F.mkdir(B.dirname(p),{recursive:!0}),await F.writeFile(p,u.content,"utf8")}let a={};for(let f of i)for(let u of f.shims){let d=tn(u.path);d&&(a[u.module]=[`./node_modules/${d}`])}for(let f of i){if(f.ambient)continue;let u=tn(f.mainPath);u&&(a[f.pkg]=[`./node_modules/${u}`])}let c=new Set;for(let f of i)for(let u of f.files){if(!u.ambient)continue;let d=tn(u.path);d&&c.add(`node_modules/${d}`)}if(r.local){delete a[r.local.name];let f=await Nb(r.local,e);f?a[r.local.name]=[`./node_modules/${r.local.name}/${f}`]:console.warn(` local: '${r.local.name}' ships no type defs; check cannot type against it.`)}let l=Ab(r.jsxImportSource,a,[...c]);return await F.writeFile(B.join(e,"tsconfig.json"),JSON.stringify(l,null,2)+`
819
- `,"utf8"),await F.writeFile(B.join(e,"code.tsx"),r.code,"utf8"),await F.writeFile(B.join(e,"tb.d.ts"),Ao,"utf8"),{dir:e}}function Ab(r,e,t=[]){return{compilerOptions:{target:"es2023",module:"esnext",moduleResolution:"bundler",lib:Tb([...xo,...Eo]),jsx:"react-jsx",jsxImportSource:r??"react",strict:!0,noEmit:!0,skipLibCheck:!0,esModuleInterop:!0,allowSyntheticDefaultImports:!0,forceConsistentCasingInFileNames:!0,baseUrl:".",paths:e},include:["code.tsx","tb.d.ts",...t]}}function Tb(r){return r.filter(e=>!e.since).map(e=>Pb(e.name))}function Pb(r){return r.split(".").map(e=>/^es\d+$/i.test(e)?e.toUpperCase():e==="dom"?"DOM":e==="esnext"?"ESNext":e.charAt(0).toUpperCase()+e.slice(1)).join(".")}function Ob(r,e){let t=r??("react"in e?"react":void 0);return t?[`${t}/jsx-runtime`,`${t}/jsx-dev-runtime`]:[]}function tn(r){if(!r.startsWith(cf))return;let e=r.slice(cf.length),t=e.indexOf("/");if(!(t<0))return e.slice(t+1)}async function Nb(r,e){if(!r.typesAbs)return;let t=B.dirname(r.typesAbs),s=B.join(e,"node_modules",r.name);for(let n of await Cb(t)){let i=B.join(s,B.relative(t,n));await F.mkdir(B.dirname(i),{recursive:!0}),await F.copyFile(n,i)}return B.basename(r.typesAbs)}async function Cb(r){let e=[];async function t(s){let n=await F.readdir(s,{withFileTypes:!0});for(let i of n){let o=B.join(s,i.name);i.isDirectory()?await t(o):/\.d\.ts(\.map)?$/.test(i.name)&&e.push(o)}}return await t(r),e}import*as Q from"fs/promises";import*as he from"path";import{existsSync as Rb}from"fs";var Ib="^22";async function uf(r){let e=qs(r.emitKey,"typecheck-server");await I(),await Q.rm(e,{recursive:!0,force:!0}),await Q.mkdir(e,{recursive:!0});let t=he.join(r.bulbDir,".typebulb"),s=Gs(r.server).filter(o=>o!==r.local?.name);await Hs([`@types/node@${Ib}`,...s],t,r.dependencies);let n=he.join(t,"node_modules"),i=he.join(e,"node_modules");return await Lb(n,i),await Q.writeFile(he.join(e,"server.ts"),r.server,"utf8"),await Q.writeFile(he.join(e,"tb.d.ts"),To,"utf8"),await Q.writeFile(he.join(e,"tsconfig.json"),JSON.stringify(_b(r.local),null,2)+`
820
- `,"utf8"),{dir:e}}function _b(r){let e={target:"es2023",module:"esnext",moduleResolution:"bundler",lib:["ES2023"],types:["node"],strict:!0,noEmit:!0,skipLibCheck:!0,esModuleInterop:!0,allowSyntheticDefaultImports:!0,forceConsistentCasingInFileNames:!0};if(r?.typesAbs){let t=i=>i.replace(/\\/g,"/"),s=t(he.dirname(r.typesAbs)),n=t(r.typesAbs).replace(/\.d\.ts$/,"");e.baseUrl=".",e.paths={[r.name]:[n],[`${r.name}/*`]:[`${s}/*`]}}return{compilerOptions:e,include:["server.ts","tb.d.ts"]}}async function Lb(r,e){if(!Rb(r)){await Q.mkdir(e,{recursive:!0});return}await Q.rm(e,{recursive:!0,force:!0});let t=process.platform==="win32"?"junction":"dir";await Q.symlink(r,e,t)}var We=["client"],Ye=["client","server"],$b=[{type:"DYNAMIC_IMPORT",pattern:/\bimport\s*\(\s*['"`]/,targets:We},{type:"COMMONJS_REQUIRE",pattern:/\brequire\s*\(\s*['"`]/,targets:Ye},{type:"JS_EXTENSION_IMPORT",pattern:/from\s+['"][^'"]*\/[^'"]*\.js['"]/,targets:We},{type:"URL_IMPORT",pattern:/from\s+['"]https?:\/\//,targets:We},{type:"VERSION_SPECIFIER_IMPORT",pattern:/from\s+['"][^'"]*@[\d^~]/,targets:We},{type:"REDUNDANT_TB_DECLARATION",pattern:/declare\s+(const|var|let)\s+tb\b/,targets:Ye},{type:"CONST_ENUM",pattern:/\bconst\s+enum\b/,targets:Ye},{type:"NAMESPACE_DECLARATION",pattern:/\bnamespace\s+\w+/,targets:Ye},{type:"COMMONJS_EXPORT_EQUALS",pattern:/\bexport\s*=/,targets:Ye},{type:"COMMONJS_IMPORT_EQUALS",pattern:/\bimport\s+\w+\s*=/,targets:Ye},{type:"MODULE_DECLARATION",pattern:/\bmodule\s+\w+\s*\{/,targets:Ye},{type:"CSS_FILE_IMPORT",pattern:/(?:from|import)\s+['"][^'"]*\.css['"]/,targets:We},{type:"NAVIGATION",pattern:/window\.(location\.(reload|assign|replace)\s*\(|open\s*\()/,targets:We},{type:"NAVIGATION",pattern:/window\.location(\.href)?\s*=[^=]/,targets:We}];function Bo(r,e){if(!r)return[];let{target:t}=e,s=[],n=r.split(`
821
- `);for(let i=0;i<n.length;i++){let o=n[i],a=i+1;for(let c of $b)c.targets.includes(t)&&c.pattern.test(o)&&s.push({type:c.type,severity:"error",message:Mb(c.type,a),lineNumber:a,lineContent:o})}return s}function Mb(r,e){return r==="URL_IMPORT"?`Direct URL imports are not supported! Found on line ${e}.
820
+ </script>`;function cb(r){let e={};for(let[t,s]of Object.entries(r))e[t]=s.startsWith("https://")?"/proxy/"+s:s;return e}import*as Ys from"fs/promises";import*as Vs from"path";import{existsSync as tf,readFileSync as lb}from"fs";import{execFile as ub}from"child_process";import{promisify as fb}from"util";import{satisfies as db}from"semver";var pb=fb(ub);async function Hs(r,e,t){let n=r.map(o=>hb(o,t)).filter(o=>!mb(o,e));if(n.length===0)return;await Ys.mkdir(e,{recursive:!0});let i=Vs.join(e,"package.json");tf(i)||await Ys.writeFile(i,JSON.stringify({name:"typebulb-server",private:!0})),console.log(` Installing: ${n.join(", ")}`),await pb("npm",["install","--no-audit","--no-fund",...n],{cwd:e,shell:!0})}function hb(r,e){if(!e||sf(r))return r;let t=e[r];return t?`${r}@${t}`:r}function mb(r,e){let t=Vs.join(e,"node_modules",rf(r));if(!tf(t))return!1;let s=sf(r);if(!s)return!0;try{let n=JSON.parse(lb(Vs.join(t,"package.json"),"utf-8")).version;return db(n,s)}catch{return!1}}function Gs(r){let e=new Set,t=/\bimport\s+(?:[\s\S]*?\s+from\s+)?['"]([^./][^'"]*)['"]/g,s;for(;s=t.exec(r);){let n=s[1];if(n.includes(":"))continue;let i=n.startsWith("@")?n.split("/").slice(0,2).join("/"):n.split("/")[0];e.add(i)}return[...e]}function rf(r){if(r.startsWith("@")){let t=r.indexOf("/");if(t<0)return r;let s=r.indexOf("@",t+1);return s<0?r:r.slice(0,s)}let e=r.indexOf("@");return e<0?r:r.slice(0,e)}function sf(r){let e=rf(r);return r.length>e.length?r.slice(e.length+1):""}async function nf(r){let t=(await _e.readdir(r)).find(s=>s.endsWith(".bulb.md"));return t?zs.join(r,t):null}async function ne(r){let e=await _e.readFile(r,"utf-8"),t=_r(e);if(!t)throw new Error("Invalid .bulb.md file format");let s=Is(t);return{bulb:s,config:Ca(s.config)}}async function vr(r,e,t,s){let n=So(r,{serverOnly:!0});if(n.error)throw new Error(`Server compilation error: ${n.error}`);let i=n.code;t&&(i=await xa(i,t));let o=zs.join(e,".typebulb");await _e.mkdir(o,{recursive:!0});let a=Gs(i);a.length>0&&await Hs(a,o,s);let c=zs.join(o,"server.mjs");return await _e.writeFile(c,i,"utf-8"),await import(`${gb(c).href}?t=${Date.now()}`)}async function $o(r,e,t,s,n){let{bulb:i,config:o}=await ne(r),a=wo(i.data),c=So(i.code,{jsxImportSource:o.ts?.jsxImportSource});c.error&&console.error("Compilation error:",c.error);let{importMap:l}=await Us.buildImportMap(c.code,o.dependencies??{},s?new Set([s.name]):void 0);s&&(l.imports[s.name]=s.entryUrl);let f=ef({name:i.name,code:c.code,css:i.css,html:i.html,data:a,insight:i.insight,importMap:l,watch:e}),u=null;return i.server&&t&&(u=await vr(i.server,n,s,o.dependencies)),{html:f,bulb:i,serverExports:u}}kr();import Ab from"open";async function wt(r){await Ab(r)}var cf=new Set(["claude"]);function lf(r){return cf.has(r)}function xr(){return[...cf]}import*as gf from"path";import{spawn as Ub}from"child_process";import*as j from"fs/promises";import*as F from"path";import*as vt from"path";var Tb=vt.join(Bs,"pkg"),Pb=vt.join(Bs,"files"),Ob=vt.join(Bs,"negative.json"),Zs=class{pkgMem=new Map;fileMem=new Map;negativeCache=new Je(new gt(Ob));async getCachedDts(e){if(this.pkgMem.has(e))return this.pkgMem.get(e);await I();let t=await Ke(uf(e));return this.pkgMem.set(e,t),t}async setCachedDts(e,t,s){let n={content:t,url:s};this.pkgMem.set(e,n),await Xs(async()=>{await I(),await z(uf(e),JSON.stringify(n))})}async getCachedFile(e){if(this.fileMem.has(e))return this.fileMem.get(e);await I();let t=await Ds(ff(e));return this.fileMem.set(e,t),t}async setCachedFile(e,t){this.fileMem.set(e,t),await Xs(async()=>{await I(),await z(ff(e),t)})}isNegative(e){return this.negativeCache.isNegative(e)}async recordNegative(e){await Xs(async()=>{await I(),await this.negativeCache.recordNegative(e)})}clearNegative(e){return Xs(()=>this.negativeCache.clearNegative(e))}};async function Xs(r){try{await r()}catch{}}function uf(r){return vt.join(Tb,re(r)+".json")}function ff(r){return vt.join(Pb,re(r)+".txt")}var qo;function Nb(){return qo||(qo=Ro({cache:new Zs,cdnClient:Xu,packageService:Us,versionResolver:Qu})),qo}var df="file:///node_modules/";async function pf(r){let e=qs(r.emitKey,"typecheck");await I(),await j.rm(e,{recursive:!0,force:!0}),await j.mkdir(e,{recursive:!0});let t=_b(r.jsxImportSource,r.dependencies),s=await Nb().resolve(r.code,r.dependencies,t),n=r.local?.name,i=n?s.filter(f=>f.pkg!==n):s,o=new Set;for(let f of i)for(let u of f.files){let d=en(u.path);if(!d||o.has(d))continue;o.add(d);let p=F.join(e,"node_modules",d);await j.mkdir(F.dirname(p),{recursive:!0}),await j.writeFile(p,u.content,"utf8")}let a={};for(let f of i)for(let u of f.shims){let d=en(u.path);d&&(a[u.module]=[`./node_modules/${d}`])}for(let f of i){if(f.ambient)continue;let u=en(f.mainPath);u&&(a[f.pkg]=[`./node_modules/${u}`])}let c=new Set;for(let f of i)for(let u of f.files){if(!u.ambient)continue;let d=en(u.path);d&&c.add(`node_modules/${d}`)}if(r.local){delete a[r.local.name];let f=await Lb(r.local,e);f?a[r.local.name]=[`./node_modules/${r.local.name}/${f}`]:console.warn(` local: '${r.local.name}' ships no type defs; check cannot type against it.`)}let l=Cb(r.jsxImportSource,a,[...c]);return await j.writeFile(F.join(e,"tsconfig.json"),JSON.stringify(l,null,2)+`
821
+ `,"utf8"),await j.writeFile(F.join(e,"code.tsx"),r.code,"utf8"),await j.writeFile(F.join(e,"tb.d.ts"),Po,"utf8"),{dir:e}}function Cb(r,e,t=[]){return{compilerOptions:{target:"es2023",module:"esnext",moduleResolution:"bundler",lib:Rb([...Ao,...To]),jsx:"react-jsx",jsxImportSource:r??"react",strict:!0,noEmit:!0,skipLibCheck:!0,esModuleInterop:!0,allowSyntheticDefaultImports:!0,forceConsistentCasingInFileNames:!0,baseUrl:".",paths:e},include:["code.tsx","tb.d.ts",...t]}}function Rb(r){return r.filter(e=>!e.since).map(e=>Ib(e.name))}function Ib(r){return r.split(".").map(e=>/^es\d+$/i.test(e)?e.toUpperCase():e==="dom"?"DOM":e==="esnext"?"ESNext":e.charAt(0).toUpperCase()+e.slice(1)).join(".")}function _b(r,e){let t=r??("react"in e?"react":void 0);return t?[`${t}/jsx-runtime`,`${t}/jsx-dev-runtime`]:[]}function en(r){if(!r.startsWith(df))return;let e=r.slice(df.length),t=e.indexOf("/");if(!(t<0))return e.slice(t+1)}async function Lb(r,e){if(!r.typesAbs)return;let t=F.dirname(r.typesAbs),s=F.join(e,"node_modules",r.name);for(let n of await $b(t)){let i=F.join(s,F.relative(t,n));await j.mkdir(F.dirname(i),{recursive:!0}),await j.copyFile(n,i)}return F.basename(r.typesAbs)}async function $b(r){let e=[];async function t(s){let n=await j.readdir(s,{withFileTypes:!0});for(let i of n){let o=F.join(s,i.name);i.isDirectory()?await t(o):/\.d\.ts(\.map)?$/.test(i.name)&&e.push(o)}}return await t(r),e}import*as Q from"fs/promises";import*as ge from"path";import{existsSync as Mb}from"fs";var Db="^22";async function hf(r){let e=qs(r.emitKey,"typecheck-server");await I(),await Q.rm(e,{recursive:!0,force:!0}),await Q.mkdir(e,{recursive:!0});let t=ge.join(r.bulbDir,".typebulb"),s=Gs(r.server).filter(o=>o!==r.local?.name);await Hs([`@types/node@${Db}`,...s],t,r.dependencies);let n=ge.join(t,"node_modules"),i=ge.join(e,"node_modules");return await qb(n,i),await Q.writeFile(ge.join(e,"server.ts"),r.server,"utf8"),await Q.writeFile(ge.join(e,"tb.d.ts"),Oo,"utf8"),await Q.writeFile(ge.join(e,"tsconfig.json"),JSON.stringify(Bb(r.local),null,2)+`
822
+ `,"utf8"),{dir:e}}function Bb(r){let e={target:"es2023",module:"esnext",moduleResolution:"bundler",lib:["ES2023"],types:["node"],strict:!0,noEmit:!0,skipLibCheck:!0,esModuleInterop:!0,allowSyntheticDefaultImports:!0,forceConsistentCasingInFileNames:!0};if(r?.typesAbs){let t=i=>i.replace(/\\/g,"/"),s=t(ge.dirname(r.typesAbs)),n=t(r.typesAbs).replace(/\.d\.ts$/,"");e.baseUrl=".",e.paths={[r.name]:[n],[`${r.name}/*`]:[`${s}/*`]}}return{compilerOptions:e,include:["server.ts","tb.d.ts"]}}async function qb(r,e){if(!Mb(r)){await Q.mkdir(e,{recursive:!0});return}await Q.rm(e,{recursive:!0,force:!0});let t=process.platform==="win32"?"junction":"dir";await Q.symlink(r,e,t)}var Ve=["client"],Ye=["client","server"],Fb=[{type:"DYNAMIC_IMPORT",pattern:/\bimport\s*\(\s*['"`]/,targets:Ve},{type:"COMMONJS_REQUIRE",pattern:/\brequire\s*\(\s*['"`]/,targets:Ye},{type:"JS_EXTENSION_IMPORT",pattern:/from\s+['"][^'"]*\/[^'"]*\.js['"]/,targets:Ve},{type:"URL_IMPORT",pattern:/from\s+['"]https?:\/\//,targets:Ve},{type:"VERSION_SPECIFIER_IMPORT",pattern:/from\s+['"][^'"]*@[\d^~]/,targets:Ve},{type:"REDUNDANT_TB_DECLARATION",pattern:/declare\s+(const|var|let)\s+tb\b/,targets:Ye},{type:"CONST_ENUM",pattern:/\bconst\s+enum\b/,targets:Ye},{type:"NAMESPACE_DECLARATION",pattern:/\bnamespace\s+\w+/,targets:Ye},{type:"COMMONJS_EXPORT_EQUALS",pattern:/\bexport\s*=/,targets:Ye},{type:"COMMONJS_IMPORT_EQUALS",pattern:/\bimport\s+\w+\s*=/,targets:Ye},{type:"MODULE_DECLARATION",pattern:/\bmodule\s+\w+\s*\{/,targets:Ye},{type:"CSS_FILE_IMPORT",pattern:/(?:from|import)\s+['"][^'"]*\.css['"]/,targets:Ve},{type:"NAVIGATION",pattern:/window\.(location\.(reload|assign|replace)\s*\(|open\s*\()/,targets:Ve},{type:"NAVIGATION",pattern:/window\.location(\.href)?\s*=[^=]/,targets:Ve}];function Fo(r,e){if(!r)return[];let{target:t}=e,s=[],n=r.split(`
823
+ `);for(let i=0;i<n.length;i++){let o=n[i],a=i+1;for(let c of Fb)c.targets.includes(t)&&c.pattern.test(o)&&s.push({type:c.type,severity:"error",message:jb(c.type,a),lineNumber:a,lineContent:o})}return s}function jb(r,e){return r==="URL_IMPORT"?`Direct URL imports are not supported! Found on line ${e}.
822
824
 
823
825
  **CRITICAL**: Import packages by name only. Do NOT use CDN URLs:
824
826
 
@@ -972,50 +974,50 @@ import { something } from 'module-name'
972
974
  const something = require('module-name') // NOT SUPPORTED!
973
975
  \`\`\`
974
976
 
975
- **Fix:** Replace all \`require()\` calls with ES6 \`import\` statements at the top of the file.`}async function pf(r,e){let{bulb:t,config:s}=await se(r);!t.code&&!t.server&&(console.error("Bulb has neither **code.tsx** nor **server.ts**; nothing to check."),process.exit(1));let n=!1;t.code&&(n=ff(Bo(t.code,{target:"client"}),"client")||n),t.server&&(n=ff(Bo(t.server,{target:"server"}),"server")||n);let i=[];if(t.code){let{dir:a}=await lf({code:t.code,dependencies:s.dependencies??{},jsxImportSource:s.ts?.jsxImportSource,emitKey:r,local:e});i.push({role:"client",dir:a})}if(t.server){let{dir:a}=await uf({server:t.server,bulbDir:df.dirname(r),emitKey:r,local:e?{name:e.name,typesAbs:e.typesAbs}:void 0,dependencies:s.dependencies});i.push({role:"server",dir:a})}for(let{role:a,dir:c}of i){let{stdout:l,exitCode:f}=await Bb(c);for(let u of l.split(/\r?\n/))u.trim()&&console.log(`${a} ${u}`);f!==0&&(n=!0)}n&&process.exit(1);let o=[t.code&&"code.tsx",t.server&&"server.ts"].filter(Boolean).join(", ");console.error(`\u2713 no issues (${o})`)}function ff(r,e){for(let t of r)for(let s of t.message.split(`
976
- `))console.log(`${e} ${s}`);return r.length>0}function Bb(r){return new Promise(e=>{let t=Db("npx",["tsc","--noEmit"],{cwd:r,shell:!0}),s="";t.stdout?.on("data",n=>{s+=n.toString()}),t.stderr?.on("data",n=>{s+=n.toString()}),t.on("close",n=>e({stdout:s,exitCode:n??1}))})}rn();vr();async function hf(r,e){let{bulb:t}=await se(r),s=vt(t);if(Ve(r)){console.log("remembered-trusted \u2014 runs with filesystem / AI / server.ts automatically (`typebulb untrust` to revoke)."),s&&console.log(` (it uses ${s})`);return}s?(console.log(`This bulb appears to use ${s}; it runs Restricted unless you grant trust:`),console.log(` ${e}`)):console.log("No privileged capability detected \u2014 runs Restricted by default. (A clean scan is a hint, not a guarantee.)")}vr();import*as kr from"path";async function mf(r,e){if(!r){e||(console.error("Usage: typebulb untrust <file.bulb.md>"),process.exit(1));let s=Mo();if(!s.length){console.log("No bulbs are remembered as trusted.");return}console.log("Trusted bulbs (run with fs/AI/server.ts without --trust):");for(let n of s)console.log(` ${n}`);return}let t=kr.resolve(r);t.endsWith(".bulb.md")||(console.error("File must have .bulb.md extension"),process.exit(1)),yt(t,e),console.log(e?`Trusted ${kr.basename(t)} \u2014 runs with fs / AI / server.ts (no --trust needed).`:`Untrusted ${kr.basename(t)} \u2014 runs Restricted.`),console.log(` ${t}`)}Ie();import{readFileSync as Hb,existsSync as Gb}from"fs";import*as He from"path";import{fileURLToPath as zb}from"url";function Tf(){let r=He.dirname(zb(import.meta.url));for(;!Gb(He.join(r,"package.json"));){let e=He.dirname(r);if(e===r)break;r=e}return r}function an(){return He.join(Tf(),"README.md")}function Uo(){return He.join(Tf(),"description.md")}function Qb(r){return`---
977
+ **Fix:** Replace all \`require()\` calls with ES6 \`import\` statements at the top of the file.`}async function yf(r,e){let{bulb:t,config:s}=await ne(r);!t.code&&!t.server&&(console.error("Bulb has neither **code.tsx** nor **server.ts**; nothing to check."),process.exit(1));let n=!1;t.code&&(n=mf(Fo(t.code,{target:"client"}),"client")||n),t.server&&(n=mf(Fo(t.server,{target:"server"}),"server")||n);let i=[];if(t.code){let{dir:a}=await pf({code:t.code,dependencies:s.dependencies??{},jsxImportSource:s.ts?.jsxImportSource,emitKey:r,local:e});i.push({role:"client",dir:a})}if(t.server){let{dir:a}=await hf({server:t.server,bulbDir:gf.dirname(r),emitKey:r,local:e?{name:e.name,typesAbs:e.typesAbs}:void 0,dependencies:s.dependencies});i.push({role:"server",dir:a})}for(let{role:a,dir:c}of i){let{stdout:l,exitCode:f}=await Jb(c);for(let u of l.split(/\r?\n/))u.trim()&&console.log(`${a} ${u}`);f!==0&&(n=!0)}n&&process.exit(1);let o=[t.code&&"code.tsx",t.server&&"server.ts"].filter(Boolean).join(", ");console.error(`\u2713 no issues (${o})`)}function mf(r,e){for(let t of r)for(let s of t.message.split(`
978
+ `))console.log(`${e} ${s}`);return r.length>0}function Jb(r){return new Promise(e=>{let t=Ub("npx",["tsc","--noEmit"],{cwd:r,shell:!0}),s="";t.stdout?.on("data",n=>{s+=n.toString()}),t.stderr?.on("data",n=>{s+=n.toString()}),t.on("close",n=>e({stdout:s,exitCode:n??1}))})}tn();kr();async function bf(r,e){let{bulb:t}=await ne(r),s=St(t);if(We(r)){console.log("remembered-trusted \u2014 runs with filesystem / AI / server.ts automatically (`typebulb untrust` to revoke)."),s&&console.log(` (it uses ${s})`);return}s?(console.log(`This bulb appears to use ${s}; it runs Restricted unless you grant trust:`),console.log(` ${e}`)):console.log("No privileged capability detected \u2014 runs Restricted by default. (A clean scan is a hint, not a guarantee.)")}kr();import*as Er from"path";async function wf(r,e){if(!r){e||(console.error("Usage: typebulb untrust <file.bulb.md>"),process.exit(1));let s=Bo();if(!s.length){console.log("No bulbs are remembered as trusted.");return}console.log("Trusted bulbs (run with fs/AI/server.ts without --trust):");for(let n of s)console.log(` ${n}`);return}let t=Er.resolve(r);t.endsWith(".bulb.md")||(console.error("File must have .bulb.md extension"),process.exit(1)),bt(t,e),console.log(e?`Trusted ${Er.basename(t)} \u2014 runs with fs / AI / server.ts (no --trust needed).`:`Untrusted ${Er.basename(t)} \u2014 runs Restricted.`),console.log(` ${t}`)}ye();import{readFileSync as Xb,existsSync as Zb}from"fs";import*as Ge from"path";import{fileURLToPath as ew}from"url";function Cf(){let r=Ge.dirname(ew(import.meta.url));for(;!Zb(Ge.join(r,"package.json"));){let e=Ge.dirname(r);if(e===r)break;r=e}return r}function cn(){return Ge.join(Cf(),"README.md")}function Vo(){return Ge.join(Cf(),"description.md")}function tw(r){return`---
977
979
  name: typebulb
978
- description: ${Hb(Uo(),"utf8").trim().replace(/\s+/g," ")}
980
+ description: ${Xb(Vo(),"utf8").trim().replace(/\s+/g," ")}
979
981
  version: ${r}
980
- ---`}function Xb(r){return`> Generated from typebulb v${r}. If \`npx typebulb --version\` reports a newer version, re-run \`npx typebulb skill\` to refresh this file.`}function Pf(r,e){return`${Qb(e)}
982
+ ---`}function rw(r){return`> Generated from typebulb v${r}. If \`npx typebulb --version\` reports a newer version, re-run \`npx typebulb skill\` to refresh this file.`}function Rf(r,e){return`${tw(e)}
981
983
 
982
- ${Xb(e)}
984
+ ${rw(e)}
983
985
 
984
986
  ${r.trim()}
985
- `}async function Of(){let[r]=Sr(),e,t;try{e=await Af(r)}catch(i){t=i instanceof Error?i.message:String(i)}let n=[e?`Mirror '${r}' is up at ${e.url} \u2014 the embedded bulbs render live there.`:`The mirror did not start (${t}) \u2014 start it manually with \`npx typebulb agent:${r}\`.`,"","Agents: Read the bulb-authoring skill before writing a bulb \u2014 get it assembled as one SKILL.md with `npx typebulb skill`, or read its parts directly:",` - description: ${Uo()}`,` - skill body (the README is the skill): ${an()}`,"Agents: End your reply with the mirror link \u2014 it is the user's next click, and a link buried mid-message gets missed."];process.stdout.write(n.join(`
987
+ `}async function If(){let[r]=xr(),e,t;try{e=await Nf(r)}catch(i){t=i instanceof Error?i.message:String(i)}let n=[e?`Mirror '${r}' is up at ${e.url} \u2014 the embedded bulbs render live there.`:`The mirror did not start (${t}) \u2014 start it manually with \`npx typebulb agent:${r}\`.`,"","Agents: Read the bulb-authoring skill before writing a bulb \u2014 get it assembled as one SKILL.md with `npx typebulb skill`, or read its parts directly:",` - description: ${Vo()}`,` - skill body (the README is the skill): ${cn()}`,"Agents: End your reply with the mirror link \u2014 it is the user's next click, and a link buried mid-message gets missed."];process.stdout.write(n.join(`
986
988
  `)+`
987
- `)}import{readFileSync as Zb,existsSync as ew}from"fs";import*as me from"path";function tw(r){return[...r?[`.env.${r}.local`,`.env.${r}`]:[],".env.local",".env"]}function ue(r,e=process.cwd()){let t={},s=[];for(let n of tw(r)){let i;try{i=Zb(me.resolve(e,n),"utf-8")}catch{continue}s.push(n);for(let[o,a]of rw(i))process.env[o]===void 0&&(process.env[o]=a,t[o]=n)}return{mode:r,sources:t,loaded:s}}function*rw(r){for(let e of r.split(`
988
- `)){let t=e.trim();if(!t||t.startsWith("#"))continue;let s=t.indexOf("=");if(s===-1)continue;let n=t.slice(0,s).trim(),i=t.slice(s+1).trim();(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1)),yield[n,i]}}function sw(r){let e=new Set,t=/process\.env\.([A-Za-z_$][\w$]*)|process\.env\[\s*['"]([^'"]+)['"]\s*\]/g;for(let s;s=t.exec(r);)e.add(s[1]??s[2]);return[...e]}function _e(r,e,t){let{sources:s,mode:n,loaded:i}=r,o=process.cwd(),a=me.dirname(e),c=`(mode: ${n??"none"})`,l=t?sw(t):[],f=l.filter(p=>s[p]).map(p=>`${p} \u2190 ${s[p]}`);f.length?console.log(`env: ${f.join(", ")} ${c}`):i.length&&console.log(`env: loaded ${i.join(", ")} ${c}`),n&&!i.some(p=>p===`.env.${n}`||p===`.env.${n}.local`)&&console.log(`env: mode=${n} \u2014 no .env.${n} found; using .env`);let u=me.resolve(a)!==me.resolve(o);if(u)for(let p of[".env.local",".env"])ew(me.join(a,p))&&console.log(`env: ${me.join(a,p)} present but not loaded (cwd is ${o})`);let d=l.filter(p=>process.env[p]===void 0);if(d.length){let p=u?` \u2014 try running from ${a}`:"";console.log(`env: server.ts reads ${d.join(", ")} but ${d.length>1?"they are":"it's"} unset${p}`)}}var xt={anthropic:"ANTHROPIC_API_KEY",openai:"OPENAI_API_KEY",gemini:"GOOGLE_API_KEY",openrouter:"OPENROUTER_API_KEY"},nw="https://api.typebulb.com/api/models",iw=1440*60*1e3,kt=null;async function cn(){if(!kt||Date.now()-kt.fetchedAt>iw){let r=await fetch(nw);if(!r.ok)return kt?Nf(kt.models):[];kt={models:await r.json(),fetchedAt:Date.now()}}return Nf(kt.models)}function Nf(r){let e=new Set(Object.entries(xt).filter(([,t])=>!!process.env[t]).map(([t])=>t));return r.filter(t=>e.has(t.provider))}function Cf(){return Object.values(xt).some(r=>!!process.env[r])}function Rf(r,e,t){let s=Math.max(...r.map(o=>o.name.length)),n=Math.max(...r.map(o=>o.friendlyName.length)),i=["Models available to tb.ai (filtered by your .env keys):",""];for(let o of r)i.push(` ${o.name.padEnd(s)} ${o.friendlyName.padEnd(n)} (${o.provider})`);return i.push("","Pass an id as the `model` in tb.ai({ provider, model })."),e&&t&&i.push(`Default (from .env): ${e} / ${t}`),i.join(`
989
- `)}async function If(r){if(ue(r),!Cf()){console.log("No AI provider keys found in this directory's .env. Set one of these to use tb.ai:");for(let[t,s]of Object.entries(xt))console.log(` ${s.padEnd(20)} (${t})`);console.log("Then re-run `typebulb models`.");return}let e=await cn();if(e.length===0){console.log("Couldn't fetch the model catalog (offline?). tb.ai still works with any valid provider/model id for your keys.");return}console.log(Rf(e,process.env.TB_AI_PROVIDER,process.env.TB_AI_MODEL))}import*as _f from"fs/promises";async function Lf(r){let e=an(),t;try{t=await _f.readFile(e,"utf8")}catch{console.error(`Could not read the bundled README (expected at ${e}).`),process.exit(1)}process.stdout.write(Pf(t,r))}Xs();Ie();import*as Tr from"path";function ow(r,e,t){if(/^\d+$/.test(e))return r.find(n=>n.pid===parseInt(e,10));let s=r.filter(n=>n.agent===e);return s.length?(t?s.find(i=>i.cwd&&q(i.cwd)===q(t)):void 0)??s[0]:r.find(n=>q(n.file)===q(e))}function $f(r,e){for(let t of r)e(` ${t.url} pid ${t.pid} ${t.trust?"trusted":"restricted"} ${t.file}`)}function Jo(r,e){if(!r.length){console.log("No running bulb servers.");return}console.log("Running bulb servers:"),$f(r,t=>console.log(t)),console.log(`
990
- `+e)}function Ko(r,e,t,s){let n=ow(r,e,s);if(n)return n;console.error(`No running server for '${e}'.`),r.length?(console.error(`Running servers (try \`typebulb ${t} <file|pid>\`):`),$f(r,i=>console.error(i))):console.error("No bulb servers are running."),process.exit(1)}async function Mf(r,e){if(!r){Jo(await j(process.cwd()),"Run `typebulb logs <file|pid>` to print one server's console.");return}let t=Ko(await j(),r,"logs",process.cwd()),s=Re(t.pid),n=s.text;if(e.lines&&e.lines>0){let i=n.split(`
989
+ `)}import{readFileSync as sw,existsSync as nw}from"fs";import*as be from"path";function iw(r){return[...r?[`.env.${r}.local`,`.env.${r}`]:[],".env.local",".env"]}function fe(r,e=process.cwd()){let t={},s=[];for(let n of iw(r)){let i;try{i=sw(be.resolve(e,n),"utf-8")}catch{continue}s.push(n);for(let[o,a]of ow(i))process.env[o]===void 0&&(process.env[o]=a,t[o]=n)}return{mode:r,sources:t,loaded:s}}function*ow(r){for(let e of r.split(`
990
+ `)){let t=e.trim();if(!t||t.startsWith("#"))continue;let s=t.indexOf("=");if(s===-1)continue;let n=t.slice(0,s).trim(),i=t.slice(s+1).trim();(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1)),yield[n,i]}}function aw(r){let e=new Set,t=/process\.env\.([A-Za-z_$][\w$]*)|process\.env\[\s*['"]([^'"]+)['"]\s*\]/g;for(let s;s=t.exec(r);)e.add(s[1]??s[2]);return[...e]}function Le(r,e,t){let{sources:s,mode:n,loaded:i}=r,o=process.cwd(),a=be.dirname(e),c=`(mode: ${n??"none"})`,l=t?aw(t):[],f=l.filter(p=>s[p]).map(p=>`${p} \u2190 ${s[p]}`);f.length?console.log(`env: ${f.join(", ")} ${c}`):i.length&&console.log(`env: loaded ${i.join(", ")} ${c}`),n&&!i.some(p=>p===`.env.${n}`||p===`.env.${n}.local`)&&console.log(`env: mode=${n} \u2014 no .env.${n} found; using .env`);let u=be.resolve(a)!==be.resolve(o);if(u)for(let p of[".env.local",".env"])nw(be.join(a,p))&&console.log(`env: ${be.join(a,p)} present but not loaded (cwd is ${o})`);let d=l.filter(p=>process.env[p]===void 0);if(d.length){let p=u?` \u2014 try running from ${a}`:"";console.log(`env: server.ts reads ${d.join(", ")} but ${d.length>1?"they are":"it's"} unset${p}`)}}var Et={anthropic:"ANTHROPIC_API_KEY",openai:"OPENAI_API_KEY",gemini:"GOOGLE_API_KEY",openrouter:"OPENROUTER_API_KEY"},cw="https://api.typebulb.com/api/models",lw=1440*60*1e3,xt=null;async function ln(){if(!xt||Date.now()-xt.fetchedAt>lw){let r=await fetch(cw);if(!r.ok)return xt?_f(xt.models):[];xt={models:await r.json(),fetchedAt:Date.now()}}return _f(xt.models)}function _f(r){let e=new Set(Object.entries(Et).filter(([,t])=>!!process.env[t]).map(([t])=>t));return r.filter(t=>e.has(t.provider))}function Lf(){return Object.values(Et).some(r=>!!process.env[r])}function $f(r,e,t){let s=Math.max(...r.map(o=>o.name.length)),n=Math.max(...r.map(o=>o.friendlyName.length)),i=["Models available to tb.ai (filtered by your .env keys):",""];for(let o of r)i.push(` ${o.name.padEnd(s)} ${o.friendlyName.padEnd(n)} (${o.provider})`);return i.push("","Pass an id as the `model` in tb.ai({ provider, model })."),e&&t&&i.push(`Default (from .env): ${e} / ${t}`),i.join(`
991
+ `)}async function Mf(r){if(fe(r),!Lf()){console.log("No AI provider keys found in this directory's .env. Set one of these to use tb.ai:");for(let[t,s]of Object.entries(Et))console.log(` ${s.padEnd(20)} (${t})`);console.log("Then re-run `typebulb models`.");return}let e=await ln();if(e.length===0){console.log("Couldn't fetch the model catalog (offline?). tb.ai still works with any valid provider/model id for your keys.");return}console.log($f(e,process.env.TB_AI_PROVIDER,process.env.TB_AI_MODEL))}import*as Df from"fs/promises";async function Bf(r){let e=cn(),t;try{t=await Df.readFile(e,"utf8")}catch{console.error(`Could not read the bundled README (expected at ${e}).`),process.exit(1)}process.stdout.write(Rf(t,r))}Sr();ye();import*as qf from"path";function uw(r,e,t){if(/^\d+$/.test(e))return r.find(n=>n.pid===parseInt(e,10));let s=r.filter(n=>n.agent===e);return s.length?(t?s.find(i=>i.cwd&&M(i.cwd)===M(t)):void 0)??s[0]:r.find(n=>M(n.file)===M(e))}var un=r=>r.agent??qf.basename(r.file);function Ff(r,e){for(let t of r)e(` ${t.url} pid ${t.pid} ${t.trust?"trusted":"restricted"} ${t.file}`)}function Yo(r,e){if(!r.length){console.log("No running bulb servers.");return}console.log("Running bulb servers:"),Ff(r,t=>console.log(t)),console.log(`
992
+ `+e)}function Ho(r,e,t,s){let n=uw(r,e,s);if(n)return n;console.error(`No running server for '${e}'.`),r.length?(console.error(`Running servers (try \`typebulb ${t} <file|pid>\`):`),Ff(r,i=>console.error(i))):console.error("No bulb servers are running."),process.exit(1)}async function jf(r,e){if(!r){Yo(await B(process.cwd()),"Run `typebulb logs <file|pid>` to print one server's console.");return}let t=Ho(await B(),r,"logs",process.cwd()),s=ue(t.pid),n=s.text;if(e.lines&&e.lines>0){let i=n.split(`
991
993
  `);i.length&&i[i.length-1]===""&&i.pop(),n=i.slice(-e.lines).join(`
992
994
  `)}if(process.stdout.write(n),n&&!n.endsWith(`
993
995
  `)&&process.stdout.write(`
994
- `),e.follow){let i=s.offset,o=setInterval(()=>{let c=Re(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 aw=r=>new Promise(e=>setTimeout(e,r));async function Df(r,e){if(!r){Jo(await j(process.cwd()),"Run `typebulb wait <file|pid>` to block until one logs a new line.");return}let t=Ko(await j(),r,"wait",process.cwd()),s=Re(t.pid).offset,n=Date.now()+e.timeoutSec*1e3,i=1e3,o,a="";for(;;){let c=Re(t.pid,s);if(s=c.offset,c.text){a+=c.text;let l=a.split(`
995
- `);a=l.pop()??"";for(let f of l)f.trim()&&(e.match&&!f.includes(e.match)||(console.log(f),o??=Date.now()+i))}if(o&&Date.now()>=o)break;if(!o&&Date.now()>=n&&(console.error(`timeout: no ${e.match?`line matching '${e.match}'`:"new output"} from ${t.agent??Tr.basename(t.file)} within ${e.timeoutSec}s`),process.exit(2)),!Fo(t.pid)){o||(console.error(`server ${t.agent??Tr.basename(t.file)} (pid ${t.pid}) exited while waiting`),process.exit(3));break}await aw(400)}process.exit(0)}async function Bf(r){if(!r){Jo(await j(process.cwd()),"Run `typebulb stop <file|pid>` to stop one.");return}let e=Ko(await j(),r,"stop",process.cwd());await St(e.pid),console.log(`Stopped ${e.agent??Tr.basename(e.file)} (pid ${e.pid}, ${e.url}).`)}async function qf(r){let e=process.cwd(),t=r==="global"?await j():r==="bulbs"?await j(e):(await j()).filter(n=>n.agent!=null&&n.cwd!=null&&q(n.cwd)===q(e)),s=r==="global"?"server":r==="agent"?"mirror":"bulb";if(!t.length){console.log(r==="global"?"No running bulb servers.":`No running ${s}s for this project.`);return}await Promise.all(t.map(n=>St(n.pid))),console.log(`Stopped ${t.length} ${s}${t.length===1?"":"s"}:`);for(let n of t)console.log(` ${n.url} pid ${n.pid} ${n.agent??Tr.basename(n.file)}`)}Ie();import*as Hf from"fs/promises";import*as Et from"path";import{EventEmitter as Yf}from"events";rn();import{Hono as dw}from"hono";import{serve as pw}from"@hono/node-server";import{streamSSE as hw}from"hono/streaming";import*as ze from"fs/promises";import*as oe from"path";var X=class extends Error{constructor(e,t="unknown",s=!1){super(e),this.code=t,this.retryable=s}},ie=class{getPath(e,t){return this.path}parseStreamChunk(e){return this.checkAndThrowError(e),this.parseProviderStreamChunk(e)}isReasoningEnabled(e){return e?.reasoning!==void 0&&e.reasoning>0}extractSystemMessages(e,t=`
996
+ `),e.follow){let i=s.offset,o=setInterval(()=>{let c=ue(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 fw=r=>new Promise(e=>setTimeout(e,r));async function Uf(r,e){if(!r){Yo(await B(process.cwd()),"Run `typebulb wait <file|pid>` to block until one logs a new line.");return}let t=Ho(await B(),r,"wait",process.cwd()),s=ue(t.pid).offset,n=Af(t.pid),i=n!==void 0&&n<=s?n:s,o=Date.now()+e.timeoutSec*1e3,a=1e3,c,l="",f=0;for(;;){let u=ue(t.pid,i);if(i=u.offset,u.text){l+=u.text;let d=l.split(`
997
+ `);l=d.pop()??"";for(let p of d)p.trim()&&(e.match&&!p.includes(e.match)||(console.log(p),c??=Date.now()+a))}if(c&&Date.now()>=c)break;if(!c&&Date.now()>=o){console.error(`timeout: no ${e.match?`line matching '${e.match}'`:"new output"} from ${un(t)} within ${e.timeoutSec}s`),f=2;break}if(!Ko(t.pid)){c||(console.error(`server ${un(t)} (pid ${t.pid}) exited while waiting`),process.exit(3));break}await fw(400)}sn(t.pid,i),process.exit(f)}async function Jf(r){if(!r){Yo(await B(process.cwd()),"Run `typebulb stop <file|pid>` to stop one.");return}let e=Ho(await B(),r,"stop",process.cwd());await kt(e.pid),console.log(`Stopped ${un(e)} (pid ${e.pid}, ${e.url}).`)}async function Kf(r){let e=process.cwd(),t=r==="global"?await B():r==="bulbs"?await B(e):(await B()).filter(n=>n.agent!=null&&n.cwd!=null&&M(n.cwd)===M(e)),s=r==="global"?"server":r==="agent"?"mirror":"bulb";if(!t.length){console.log(r==="global"?"No running bulb servers.":`No running ${s}s for this project.`);return}await Promise.all(t.map(n=>kt(n.pid))),console.log(`Stopped ${t.length} ${s}${t.length===1?"":"s"}:`);for(let n of t)console.log(` ${n.url} pid ${n.pid} ${un(n)}`)}ye();import*as Zf from"fs/promises";import*as At from"path";import{EventEmitter as Xf}from"events";tn();import{Hono as gw}from"hono";import{serve as yw}from"@hono/node-server";import{streamSSE as bw}from"hono/streaming";import*as Qe from"fs/promises";import*as oe from"path";var Z=class extends Error{constructor(e,t="unknown",s=!1){super(e),this.code=t,this.retryable=s}},ie=class{getPath(e,t){return this.path}parseStreamChunk(e){return this.checkAndThrowError(e),this.parseProviderStreamChunk(e)}isReasoningEnabled(e){return e?.reasoning!==void 0&&e.reasoning>0}extractSystemMessages(e,t=`
996
998
 
997
- `){let s=e.filter(n=>n.role==="system").map(n=>n.content);return{system:s.length?s.join(t):void 0,conversationMessages:e.filter(n=>n.role!=="system")}}parseJsonError(e,t,s=!1){if(!e)return{message:`HTTP ${t}`};try{let n=JSON.parse(e);if(n.error&&typeof n.error=="object"){let i={message:n.error.message||`HTTP ${t}`,type:n.error.type};return s&&(i.code=n.error.code),i}return n.message?{message:n.message}:{message:e}}catch{return{message:e}}}checkAndThrowError(e){if(typeof e!="object"||e===null)return;let t=e;if(t.type==="error"&&"message"in t){let s=t.code||"unknown";throw new X(t.message,s,!!t.retryable)}if(t.error)throw new X(this.extractErrorMessage(t.error))}extractErrorMessage(e){if(typeof e=="string")try{let t=JSON.parse(e);return t.error?.message||t.message||e}catch{return e}return typeof e=="object"&&e!==null?e.message||JSON.stringify(e):`${this.providerName} returned an error`}};var ln=class extends ie{constructor(){super(...arguments),this.providerName="OpenAI",this.defaultBaseUrl="https://api.openai.com",this.path="/v1/responses",this.effortMap={0:"minimal",1:"low",2:"medium",3:"high"}}buildHeaders(e){return{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"}}buildPayload(e,t,s,n){let i=this.convertMessagesToInput(e),o={model:t,input:i,stream:n};return s?.webSearch!==!1&&(o.tools=[{type:"web_search"}]),this.isReasoningEnabled(s)&&(o.reasoning={effort:this.effortMap[s.reasoning],summary:"auto"}),o}parseError(e,t){return this.parseJsonError(e,t,!0)}parseNonStreamingResponse(e){if(!this.isResponsesApiResponse(e))return{text:""};let t=e.output_text||"",s;if(e.output&&Array.isArray(e.output))for(let n of e.output)n.type==="reasoning"&&n.summary&&(s=n.summary.map(i=>i.text).join(`
998
- `)),!t&&n.type==="message"&&n.content&&(t=n.content.filter(i=>i.type==="output_text").map(i=>i.text).join(""));return{text:t,reasoning:s}}parseProviderStreamChunk(e){if(!this.isResponsesApiEvent(e))return null;switch(e.type){case"error":return null;case"response.failed":{let n=e.response?.error,i=n?.message||"Response failed",o=n?.code==="insufficient_quota"||n?.code==="rate_limit_exceeded";throw new X(i,o?"rate_limit":"unknown",o)}case"response.output_text.delta":return{text:e.delta};case"response.reasoning_summary_text.delta":return{reasoning:e.delta};case"response.created":case"response.in_progress":case"response.output_item.added":case"response.output_item.done":case"response.content_part.added":case"response.content_part.done":case"response.output_text.done":case"response.output_text.annotation.added":case"response.reasoning_summary_text.done":case"response.completed":case"response.web_search_call.in_progress":case"response.web_search_call.searching":case"response.web_search_call.completed":return null;default:return null}}convertMessagesToInput(e){return e.map(t=>t.role==="system"?`System: ${t.content}`:t.role==="user"?`User: ${t.content}`:t.role==="assistant"?`Assistant: ${t.content}`:t.content).join(`
999
+ `){let s=e.filter(n=>n.role==="system").map(n=>n.content);return{system:s.length?s.join(t):void 0,conversationMessages:e.filter(n=>n.role!=="system")}}parseJsonError(e,t,s=!1){if(!e)return{message:`HTTP ${t}`};try{let n=JSON.parse(e);if(n.error&&typeof n.error=="object"){let i={message:n.error.message||`HTTP ${t}`,type:n.error.type};return s&&(i.code=n.error.code),i}return n.message?{message:n.message}:{message:e}}catch{return{message:e}}}checkAndThrowError(e){if(typeof e!="object"||e===null)return;let t=e;if(t.type==="error"&&"message"in t){let s=t.code||"unknown";throw new Z(t.message,s,!!t.retryable)}if(t.error)throw new Z(this.extractErrorMessage(t.error))}extractErrorMessage(e){if(typeof e=="string")try{let t=JSON.parse(e);return t.error?.message||t.message||e}catch{return e}return typeof e=="object"&&e!==null?e.message||JSON.stringify(e):`${this.providerName} returned an error`}};var fn=class extends ie{constructor(){super(...arguments),this.providerName="OpenAI",this.defaultBaseUrl="https://api.openai.com",this.path="/v1/responses",this.effortMap={0:"minimal",1:"low",2:"medium",3:"high"}}buildHeaders(e){return{Authorization:`Bearer ${e}`,"Content-Type":"application/json",Accept:"application/json"}}buildPayload(e,t,s,n){let i=this.convertMessagesToInput(e),o={model:t,input:i,stream:n};return s?.webSearch!==!1&&(o.tools=[{type:"web_search"}]),this.isReasoningEnabled(s)&&(o.reasoning={effort:this.effortMap[s.reasoning],summary:"auto"}),o}parseError(e,t){return this.parseJsonError(e,t,!0)}parseNonStreamingResponse(e){if(!this.isResponsesApiResponse(e))return{text:""};let t=e.output_text||"",s;if(e.output&&Array.isArray(e.output))for(let n of e.output)n.type==="reasoning"&&n.summary&&(s=n.summary.map(i=>i.text).join(`
1000
+ `)),!t&&n.type==="message"&&n.content&&(t=n.content.filter(i=>i.type==="output_text").map(i=>i.text).join(""));return{text:t,reasoning:s}}parseProviderStreamChunk(e){if(!this.isResponsesApiEvent(e))return null;switch(e.type){case"error":return null;case"response.failed":{let n=e.response?.error,i=n?.message||"Response failed",o=n?.code==="insufficient_quota"||n?.code==="rate_limit_exceeded";throw new Z(i,o?"rate_limit":"unknown",o)}case"response.output_text.delta":return{text:e.delta};case"response.reasoning_summary_text.delta":return{reasoning:e.delta};case"response.created":case"response.in_progress":case"response.output_item.added":case"response.output_item.done":case"response.content_part.added":case"response.content_part.done":case"response.output_text.done":case"response.output_text.annotation.added":case"response.reasoning_summary_text.done":case"response.completed":case"response.web_search_call.in_progress":case"response.web_search_call.searching":case"response.web_search_call.completed":return null;default:return null}}convertMessagesToInput(e){return e.map(t=>t.role==="system"?`System: ${t.content}`:t.role==="user"?`User: ${t.content}`:t.role==="assistant"?`Assistant: ${t.content}`:t.content).join(`
999
1001
 
1000
- `)}isResponsesApiEvent(e){return typeof e=="object"&&e!==null&&"type"in e&&typeof e.type=="string"}isResponsesApiResponse(e){return typeof e=="object"&&e!==null&&e.object==="response"}};var un=class extends ie{constructor(){super(...arguments),this.providerName="OpenRouter",this.defaultBaseUrl="https://openrouter.ai/api",this.path="/api/v1/chat/completions",this.effortMap={0:"low",1:"low",2:"medium",3:"high"}}buildHeaders(e,t){let s={Authorization:`Bearer ${e}`,"x-api-key":e,"Content-Type":"application/json",Accept:"application/json","X-Title":"Typebulb"};return t&&(s["HTTP-Referer"]=t,s.Referer=t,s.Origin=t),s}buildPayload(e,t,s,n){let i={model:t,messages:e,stream:n};return s?.webSearch===!0&&(i.plugins=[{id:"web"}]),this.isReasoningEnabled(s)&&(i.reasoning={effort:this.effortMap[s.reasoning]}),i}parseError(e,t){return this.parseJsonError(e,t,!0)}parseNonStreamingResponse(e){if(!this.hasChoices(e))return{text:""};let t=e,s=t.choices[0],n=s?.message?.content??s?.text??"",i=s?.message?.reasoning??t.reasoning;return{text:n,reasoning:i}}parseProviderStreamChunk(e){if(!this.hasChoices(e))return null;let t=e.choices[0];if(!t)return null;let s=t.delta||t.message;if(!s)return null;let n=s.content||void 0,i=s.reasoning||void 0;return!n&&!i?null:{text:n,reasoning:i}}hasChoices(e){return typeof e=="object"&&e!==null&&"choices"in e&&Array.isArray(e.choices)}};var fn=class extends ie{constructor(){super(...arguments),this.providerName="Anthropic",this.defaultBaseUrl="https://api.anthropic.com",this.path="/v1/messages"}buildHeaders(e){return{"x-api-key":e,"anthropic-version":"2023-06-01","Content-Type":"application/json",Accept:"application/json"}}buildPayload(e,t,s,n){let{system:i,conversationMessages:o}=this.extractSystemMessages(e),a={model:t,max_tokens:this.getMaxTokens(t),messages:this.withLastMessageCached(o),stream:n};if(s?.webSearch!==!1&&(a.tools=[{type:"web_search_20250305",name:"web_search"}]),i&&(a.system=[{type:"text",text:i,cache_control:{type:"ephemeral"}}]),this.isReasoningEnabled(s)){let c=s.reasoning;if(this.isModernModel(t)){let l={0:"low",1:"low",2:"medium",3:"high"};a.thinking={type:"adaptive"},a.output_config={effort:l[c]}}else{let l={0:0,1:2048,2:4096,3:8192};a.thinking={type:"enabled",budget_tokens:l[c]}}}return a}parseError(e,t){return this.parseJsonError(e,t)}parseNonStreamingResponse(e){if(!this.isAnthropicResponse(e))return{text:""};let t=e.content.filter(n=>n.type==="text").map(n=>n.text).join(""),s=e.content.filter(n=>n.type==="thinking").map(n=>n.thinking).join(`
1002
+ `)}isResponsesApiEvent(e){return typeof e=="object"&&e!==null&&"type"in e&&typeof e.type=="string"}isResponsesApiResponse(e){return typeof e=="object"&&e!==null&&e.object==="response"}};var dn=class extends ie{constructor(){super(...arguments),this.providerName="OpenRouter",this.defaultBaseUrl="https://openrouter.ai/api",this.path="/api/v1/chat/completions",this.effortMap={0:"low",1:"low",2:"medium",3:"high"}}buildHeaders(e,t){let s={Authorization:`Bearer ${e}`,"x-api-key":e,"Content-Type":"application/json",Accept:"application/json","X-Title":"Typebulb"};return t&&(s["HTTP-Referer"]=t,s.Referer=t,s.Origin=t),s}buildPayload(e,t,s,n){let i={model:t,messages:e,stream:n};return s?.webSearch===!0&&(i.plugins=[{id:"web"}]),this.isReasoningEnabled(s)&&(i.reasoning={effort:this.effortMap[s.reasoning]}),i}parseError(e,t){return this.parseJsonError(e,t,!0)}parseNonStreamingResponse(e){if(!this.hasChoices(e))return{text:""};let t=e,s=t.choices[0],n=s?.message?.content??s?.text??"",i=s?.message?.reasoning??t.reasoning;return{text:n,reasoning:i}}parseProviderStreamChunk(e){if(!this.hasChoices(e))return null;let t=e.choices[0];if(!t)return null;let s=t.delta||t.message;if(!s)return null;let n=s.content||void 0,i=s.reasoning||void 0;return!n&&!i?null:{text:n,reasoning:i}}hasChoices(e){return typeof e=="object"&&e!==null&&"choices"in e&&Array.isArray(e.choices)}};var pn=class extends ie{constructor(){super(...arguments),this.providerName="Anthropic",this.defaultBaseUrl="https://api.anthropic.com",this.path="/v1/messages"}buildHeaders(e){return{"x-api-key":e,"anthropic-version":"2023-06-01","Content-Type":"application/json",Accept:"application/json"}}buildPayload(e,t,s,n){let{system:i,conversationMessages:o}=this.extractSystemMessages(e),a={model:t,max_tokens:this.getMaxTokens(t),messages:this.withLastMessageCached(o),stream:n};if(s?.webSearch!==!1&&(a.tools=[{type:"web_search_20250305",name:"web_search"}]),i&&(a.system=[{type:"text",text:i,cache_control:{type:"ephemeral"}}]),this.isReasoningEnabled(s)){let c=s.reasoning;if(this.isModernModel(t)){let l={0:"low",1:"low",2:"medium",3:"high"};a.thinking={type:"adaptive"},a.output_config={effort:l[c]}}else{let l={0:0,1:2048,2:4096,3:8192};a.thinking={type:"enabled",budget_tokens:l[c]}}}return a}parseError(e,t){return this.parseJsonError(e,t)}parseNonStreamingResponse(e){if(!this.isAnthropicResponse(e))return{text:""};let t=e.content.filter(n=>n.type==="text").map(n=>n.text).join(""),s=e.content.filter(n=>n.type==="thinking").map(n=>n.thinking).join(`
1001
1003
 
1002
- `);return{text:t,reasoning:s||void 0}}parseProviderStreamChunk(e){if(!this.isAnthropicEvent(e))return null;switch(e.type){case"content_block_delta":return e.delta.type==="text_delta"?{text:e.delta.text||""}:e.delta.type==="thinking_delta"?{reasoning:e.delta.thinking||""}:null;case"message_start":case"content_block_start":case"content_block_stop":case"message_delta":case"message_stop":case"ping":return null;default:return null}}withLastMessageCached(e){let t=e.length-1;return e.map((s,n)=>n===t?{role:s.role,content:[{type:"text",text:s.content,cache_control:{type:"ephemeral"}}]}:s)}isAnthropicResponse(e){return typeof e=="object"&&e!==null&&e.type==="message"&&Array.isArray(e.content)}isAnthropicEvent(e){return typeof e=="object"&&e!==null&&"type"in e}isModernModel(e){let t=e.match(/^claude-\w+-(\d+)-(\d+)/);return!!t&&(+t[1]>4||+t[1]==4&&+t[2]>=6)}getMaxTokens(e){return this.isModernModel(e)?64e3:32e3}};var dn=class extends ie{constructor(){super(...arguments),this.providerName="Gemini",this.defaultBaseUrl="https://generativelanguage.googleapis.com",this.path="/v1beta/models"}getPath(e,t){return`/v1beta/models/${e}:${t?"streamGenerateContent":"generateContent"}${t?"?alt=sse":""}`}buildHeaders(e){return{"Content-Type":"application/json","x-goog-api-key":e}}buildPayload(e,t,s,n){let{system:i,conversationMessages:o}=this.extractSystemMessages(e,`
1004
+ `);return{text:t,reasoning:s||void 0}}parseProviderStreamChunk(e){if(!this.isAnthropicEvent(e))return null;switch(e.type){case"content_block_delta":return e.delta.type==="text_delta"?{text:e.delta.text||""}:e.delta.type==="thinking_delta"?{reasoning:e.delta.thinking||""}:null;case"message_start":case"content_block_start":case"content_block_stop":case"message_delta":case"message_stop":case"ping":return null;default:return null}}withLastMessageCached(e){let t=e.length-1;return e.map((s,n)=>n===t?{role:s.role,content:[{type:"text",text:s.content,cache_control:{type:"ephemeral"}}]}:s)}isAnthropicResponse(e){return typeof e=="object"&&e!==null&&e.type==="message"&&Array.isArray(e.content)}isAnthropicEvent(e){return typeof e=="object"&&e!==null&&"type"in e}isModernModel(e){let t=e.match(/^claude-\w+-(\d+)-(\d+)/);return!!t&&(+t[1]>4||+t[1]==4&&+t[2]>=6)}getMaxTokens(e){return this.isModernModel(e)?64e3:32e3}};var hn=class extends ie{constructor(){super(...arguments),this.providerName="Gemini",this.defaultBaseUrl="https://generativelanguage.googleapis.com",this.path="/v1beta/models"}getPath(e,t){return`/v1beta/models/${e}:${t?"streamGenerateContent":"generateContent"}${t?"?alt=sse":""}`}buildHeaders(e){return{"Content-Type":"application/json","x-goog-api-key":e}}buildPayload(e,t,s,n){let{system:i,conversationMessages:o}=this.extractSystemMessages(e,`
1003
1005
  `),c={contents:o.map(l=>({role:l.role==="assistant"?"model":"user",parts:[{text:l.content}]}))};return s?.webSearch!==!1&&(c.tools=[{google_search:{}}]),i&&(c.systemInstruction={role:"system",parts:[{text:i}]}),this.isReasoningEnabled(s)&&(c.generationConfig={temperature:.7+s.reasoning*.1}),c}parseError(e,t){if(!e)return{message:`HTTP ${t}`};try{let s=JSON.parse(e),n=Array.isArray(s)?s[0]?.error:s?.error;return n&&typeof n=="object"?{message:(n.message||`HTTP ${t}`).split(`
1004
- `)[0],type:n.status,code:n.code?.toString()}:s.message?{message:s.message}:{message:e}}catch{return{message:e}}}parseNonStreamingResponse(e){if(this.checkGeminiError(e),!this.isGeminiResponse(e))return{text:"",status:"failed",error:"Invalid response format"};let t=this.extractText(e)||"",s=e.candidates?.[0]?.finishReason,n="complete";return s==="MAX_TOKENS"?n="interrupted":(s==="SAFETY"||s==="RECITATION")&&(n="failed"),{text:t,status:n}}parseProviderStreamChunk(e){if(this.checkGeminiError(e),!this.isGeminiResponse(e))return null;let t=this.extractText(e);return t?{text:t}:null}isGeminiResponse(e){return typeof e=="object"&&e!==null&&"candidates"in e&&Array.isArray(e.candidates)}extractText(e){let t=e.candidates?.[0];if(t?.content?.parts)return t.content.parts.map(s=>s.text).filter(Boolean).join("")}checkGeminiError(e){if(typeof e=="object"&&e!==null&&"error"in e){let t=e.error,s;if(typeof t=="string")s=t;else if(typeof t=="object"&&t!==null){let n=t;s=n.message||n.status||"Gemini returned an error"}else s="Gemini returned an error";throw new X(s)}if(this.isGeminiResponse(e)&&e.promptFeedback?.blockReason){let t=e.promptFeedback.blockReason;throw new X(`Prompt blocked: ${t}`)}}};var cw=new Map([["openai",new ln],["openrouter",new un],["anthropic",new fn],["gemini",new dn]]);function Ge(r){let e=cw.get(r);if(!e)throw new Error(`Unsupported protocol: ${r}`);return e}async function Vo(r,e){let t=Ge(r.protocol),s=t.getPath(e.model,e.stream),n=new URL(s,r.baseUrl).toString(),i=t.buildHeaders(r.apiKey,e.origin),o=t.buildPayload(e.messages,e.model,{reasoning:e.reasoning,webSearch:e.webSearch},e.stream);return e.modifyPayload?.(o),fetch(n,{method:"POST",headers:i,body:JSON.stringify(o),signal:e.signal})}async function Wo(r,e){let t=Ge(e),s=await r.text().catch(()=>""),{message:n}=t.parseError(s,r.status),i=r.status,o="unknown";return i===429?o="rate_limit":i===413&&(o="context_exceeded"),{code:o,message:n,retryable:i===429}}function Ff(r){let e=r.indexOf(`\r
1006
+ `)[0],type:n.status,code:n.code?.toString()}:s.message?{message:s.message}:{message:e}}catch{return{message:e}}}parseNonStreamingResponse(e){if(this.checkGeminiError(e),!this.isGeminiResponse(e))return{text:"",status:"failed",error:"Invalid response format"};let t=this.extractText(e)||"",s=e.candidates?.[0]?.finishReason,n="complete";return s==="MAX_TOKENS"?n="interrupted":(s==="SAFETY"||s==="RECITATION")&&(n="failed"),{text:t,status:n}}parseProviderStreamChunk(e){if(this.checkGeminiError(e),!this.isGeminiResponse(e))return null;let t=this.extractText(e);return t?{text:t}:null}isGeminiResponse(e){return typeof e=="object"&&e!==null&&"candidates"in e&&Array.isArray(e.candidates)}extractText(e){let t=e.candidates?.[0];if(t?.content?.parts)return t.content.parts.map(s=>s.text).filter(Boolean).join("")}checkGeminiError(e){if(typeof e=="object"&&e!==null&&"error"in e){let t=e.error,s;if(typeof t=="string")s=t;else if(typeof t=="object"&&t!==null){let n=t;s=n.message||n.status||"Gemini returned an error"}else s="Gemini returned an error";throw new Z(s)}if(this.isGeminiResponse(e)&&e.promptFeedback?.blockReason){let t=e.promptFeedback.blockReason;throw new Z(`Prompt blocked: ${t}`)}}};var dw=new Map([["openai",new fn],["openrouter",new dn],["anthropic",new pn],["gemini",new hn]]);function ze(r){let e=dw.get(r);if(!e)throw new Error(`Unsupported protocol: ${r}`);return e}async function Go(r,e){let t=ze(r.protocol),s=t.getPath(e.model,e.stream),n=new URL(s,r.baseUrl).toString(),i=t.buildHeaders(r.apiKey,e.origin),o=t.buildPayload(e.messages,e.model,{reasoning:e.reasoning,webSearch:e.webSearch},e.stream);return e.modifyPayload?.(o),fetch(n,{method:"POST",headers:i,body:JSON.stringify(o),signal:e.signal})}async function zo(r,e){let t=ze(e),s=await r.text().catch(()=>""),{message:n}=t.parseError(s,r.status),i=r.status,o="unknown";return i===429?o="rate_limit":i===413&&(o="context_exceeded"),{code:o,message:n,retryable:i===429}}function Wf(r){let e=r.indexOf(`\r
1005
1007
  \r
1006
1008
  `),t=r.indexOf(`
1007
1009
 
1008
- `);return e!==-1&&(t===-1||e<t)?{pos:e,len:4}:t!==-1?{pos:t,len:2}:{pos:-1,len:0}}function Yo(r){let t=r.split(/\r?\n/).filter(n=>n.startsWith("data:"));if(!t.length)return null;let s=t.map(n=>n.replace(/^data:\s?/,"")).join(`
1009
- `).trim();if(!s)return null;if(s==="[DONE]")return"done";try{return JSON.parse(s)}catch{return null}}async function jf(r,e,t){let s=new TextDecoder,n="",i=!1,o=t?new Promise((a,c)=>{t.aborted&&c(new Error("Aborted")),t.addEventListener("abort",()=>c(new Error("Aborted")),{once:!0})}):null;for(;;){let a=o?await Promise.race([r.read(),o]):await r.read(),{done:c,value:l}=a;if(c){if(n.trim()){let d=Yo(n);d!==null&&d!=="done"&&e(d)}break}i=!0,n+=s.decode(l,{stream:!0});let{pos:f,len:u}=Ff(n);for(;f!==-1;){let d=n.slice(0,f);n=n.slice(f+u);let p=Yo(d);if(p==="done"){n="";break}p!==null&&e(p),{pos:f,len:u}=Ff(n)}}return{receivedAnyData:i}}async function Ho(r,e){let t=e??(r.headers.get("X-Provider-Protocol")||"openai"),s=Ge(t);if(!r.body)throw new Error("Response body is missing");let n=r.body.getReader(),i="";return await jf(n,o=>{let a=s.parseStreamChunk(o);a?.text&&(i+=a.text)}),i}import*as Go from"fs/promises";import*as Pr from"path";var pn=class{async get(e){let t=te(e),s=Pr.join(br,t+".bin"),n=Pr.join(br,t+".json");try{let[i,o]=await Promise.all([Go.readFile(s),Go.readFile(n,"utf8")]),a=JSON.parse(o);return{body:i,contentType:a.contentType,cacheControl:a.cacheControl}}catch{return}}async set(e,t){await I();let s=te(e),n=Pr.join(br,s+".bin"),i=Pr.join(br,s+".json"),o={url:e,contentType:t.contentType,cacheControl:t.cacheControl};await Promise.all([z(n,t.body),z(i,JSON.stringify(o))])}};Ie();var zo={log:(...r)=>console.log(...r)};function hn(r,e){let t=r?.[e]??zo[e];return typeof t=="function"?t:void 0}var lw=/^\/(v\d+\/|stable\/|node\/|gh\/|@[^/]+\/[^@/]+@|[^@/]+@)/,uw=/[?&]target=/,fw=/^\/(?:@[^/]+\/)?[^/@]+\/[^/]+/;function Uf(r,e=""){return lw.test(r)?!0:fw.test(r)&&uw.test(e)}var Kf="127.0.0.1",mw=new Set(["localhost","127.0.0.1","::1"]);function gw(r){if(r)try{return new URL(r.includes("://")?r:`http://${r}`).hostname}catch{return}}function yw(r){let e=gw(r);return!!e&&mw.has(e)}function bw(r,e){if(!e)return!1;try{return new URL(r).host===e}catch{return!1}}function mn(r){return r instanceof Error?r.message:"Unknown error"}async function gn(r){let{getHtml:e,basePath:t,port:s,reloadEmitter:n,getServerExports:i,localOverride:o,trusted:a=!1,trustHint:c,staticAssets:l}=r,f=new dw;f.use("*",async(m,b)=>{if(!yw(m.req.header("host")))return m.text("Forbidden: untrusted Host",403);await b()}),f.use("*",async(m,b)=>{await b(),m.res.headers.set("Cross-Origin-Opener-Policy","same-origin"),m.res.headers.set("Cross-Origin-Embedder-Policy","credentialless")});let u=["/__fs/*","/__api/*","/__ai"],d=async(m,b)=>{if(!a){let w=new URL(m.req.url).pathname,x=w.startsWith("/__fs")?"the filesystem":w==="/__ai"?"AI (your API keys)":"server-side code (server.ts)";kf(process.pid,x);let E=c?`
1010
- ${c}`:"";return m.text(`Forbidden: this capability requires --trust.${E}`,403)}await b()},p=async(m,b)=>{let w=m.req.header("sec-fetch-site");if(w){if(w!=="same-origin")return m.text(`Forbidden: ${w} request`,403)}else{let x=m.req.header("origin");if(x&&!bw(x,m.req.header("host")))return m.text("Forbidden: cross-origin request",403)}await b()};for(let m of u)f.use(m,d),f.use(m,p);f.use("/__log",p),f.post("/__log",async m=>{try{let{args:b}=await m.req.json();console.log(...b||[])}catch{}return m.json({ok:!0})}),f.get("/",m=>m.html(e())),f.post("/__fs/read",async m=>{try{let{path:b}=await m.req.json(),w=Xo(b,t),x=await ze.readFile(w);return new Response(new Uint8Array(x),{headers:{"Content-Type":"application/octet-stream"}})}catch(b){let w=mn(b);return m.json({error:w},400)}}),f.post("/__fs/write",async m=>{try{let b=m.req.query("path");if(!b)return m.json({error:"Missing path"},400);let w=Xo(b,t);return await ze.mkdir(oe.dirname(w),{recursive:!0}),await ze.writeFile(w,Buffer.from(await m.req.arrayBuffer())),m.json({success:!0})}catch(b){let w=mn(b);return m.json({error:w},400)}}),f.post("/__api/:name",async m=>{try{let b=m.req.param("name"),w=hn(i?.(),b);if(!w)return m.json({error:`API function '${b}' not found`},404);let{args:x}=await m.req.json(),E=await w(...x||[]);return m.json({result:E})}catch(b){let w=mn(b);return m.json({error:w},500)}}),f.post("/__ai",async m=>{try{let{messages:b,system:w,reasoning:x,provider:E,model:T,webSearch:S}=await m.req.json();if(!b||!Array.isArray(b)||b.length===0)return m.json({message:"messages array is required",code:"unknown",retryable:!1},400);let O=ww(E,T);if(typeof O=="string")return m.json({message:O,code:"unknown",retryable:!1},400);let J=[...w?[{role:"system",content:w}]:[],...b.map(Le=>({role:Le.role,content:Le.content}))],H=await Vo(O,{model:O.model,messages:J,stream:!0,reasoning:x??0,webSearch:S??!0});if(!H.ok){let Le=await Wo(H,O.protocol);return m.json(Le,H.status)}let R=await Ho(H,O.protocol);return R||console.warn("[tb.ai] Empty response from provider"),m.json({text:R})}catch(b){if(b instanceof X)return m.json({message:b.message,code:b.code,retryable:b.retryable},500);let w=mn(b);return m.json({message:w,code:"unknown",retryable:!1},500)}}),f.get("/__models",async m=>{try{let b=await cn();return m.json(b)}catch{return m.json([],200)}});let g=["esm.sh","unpkg.com","cdn.jsdelivr.net","cdnjs.cloudflare.com"],h=new pn;f.get("/proxy/*",async m=>{let b=new URL(m.req.url),x=(b.pathname+b.search).slice(7),E=x.lastIndexOf("https://");return E===-1?m.text("Invalid proxy URL",400):y(m,x.slice(E))}),o&&Jf(f,`/local/${o.name}/`,o.serveDir),l&&Jf(f,l.mount,l.dir);async function y(m,b){let w;try{w=new URL(b)}catch{return m.text("Invalid URL",400)}if(w.protocol!=="https:")return m.text("HTTPS only",400);if(!g.includes(w.hostname))return m.text("Host not allowed",403);let x=await h.get(b);if(x)return new Response(x.body,{status:200,headers:Qo(x.contentType,x.cacheControl)});try{let E=await fetch(b,{headers:{Accept:m.req.header("Accept")||"*/*"},redirect:"follow"});if(!E.ok)return m.text(`Upstream ${E.status}`,E.status);let T=E.headers.get("Content-Type")||void 0,S=E.headers.get("Cache-Control")||void 0;if(E.body){let[O,J]=E.body.tee();return(async()=>{try{let H=await new Response(J).arrayBuffer();await h.set(b,{body:Buffer.from(H),contentType:T,cacheControl:S})}catch{}})(),new Response(O,{status:E.status,headers:Qo(T,S)})}return new Response(null,{status:E.status,headers:Qo(T,S)})}catch(E){return m.text(`Proxy fetch failed: ${E instanceof Error?E.message:E}`,502)}}n&&f.get("/__reload",m=>hw(m,async b=>{let w=()=>{b.writeSSE({event:"reload",data:""})};for(n.on("reload",w),b.onAbort(()=>{n.removeListener("reload",w)});;)await b.sleep(3e4)})),f.notFound(async m=>{if(m.req.method!=="GET")return m.text("Not Found",404);let b=new URL(m.req.url);return Uf(b.pathname,b.search)?y(m,"https://esm.sh"+b.pathname+b.search):m.text("Not Found",404)});let k=pw({fetch:f.fetch,port:s,hostname:Kf});return{port:s,close:()=>k.close()}}function ww(r,e){let t=r??process.env.TB_AI_PROVIDER,s=e??process.env.TB_AI_MODEL;if(!t)return"No provider specified. Set TB_AI_PROVIDER in your .env file or pass provider in the tb.ai() call.";if(!s)return"No model specified. Set TB_AI_MODEL in your .env file or pass model in the tb.ai() call.";let n;try{n=Ge(t)}catch{return`Unknown provider '${t}'.`}let i=xt[t],o=process.env[i];return o?{apiKey:o,baseUrl:n.defaultBaseUrl,protocol:t,model:s,isFreeModel:!1}:`No API key for '${t}'. Set ${i} in your .env file.`}function Qo(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 Jf(r,e,t){r.get(`${e}*`,async s=>{let{pathname:n}=new URL(s.req.url);if(!n.startsWith(e))return s.text("Not Found",404);let i=decodeURIComponent(n.slice(e.length));try{let o=Xo(i,t),a=await ze.readFile(o);return new Response(a,{headers:{"Content-Type":vw(o)}})}catch{return s.text("Not Found",404)}})}function vw(r){switch(oe.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 Xo(r,e){let t=oe.resolve(e,r),s=oe.normalize(e),n=oe.normalize(t);if(n!==s&&!n.startsWith(s+oe.sep))throw new Error("Path traversal detected - access denied");return t}async function Or(r){let e=await import("net");return new Promise(t=>{let s=e.createServer();s.listen(r,Kf,()=>{let n=s.address(),i=typeof n=="object"&&n?n.port:r;s.close(()=>t(i))}),s.on("error",()=>{t(Or(r+1))})})}import Vf from"chokidar";var Wf={persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:100,pollInterval:50}};function yn(r){let{bulbPath:e,emitter:t}=r,s=Vf.watch(e,Wf);return s.on("change",()=>{t.emit("reload")}),()=>s.close()}function bn(r){let{dir:e,onChange:t,debounceMs:s=150}=r,n,i=Vf.watch(e,Wf);return i.on("all",()=>{n&&clearTimeout(n),n=setTimeout(t,s)}),()=>{n&&clearTimeout(n),i.close()}}Ie();async function Gf(r,e,t,s,n){let i=process.cwd(),o=sn(process.pid),a=e.watch?new Yf:void 0,c=ue(e.mode);console.log(`Loading ${Et.basename(r)}...`);let{html:l,bulb:f,serverExports:u}=await _o(r,e.watch,e.trust,s,n);_e(c,r,f.server);let d=await Or(e.port),p=await gn({getHtml:()=>l,basePath:i,port:d,reloadEmitter:a,getServerExports:()=>u,localOverride:s?{name:s.name,serveDir:s.serveDir}:void 0,trusted:e.trust,trustHint:t}),g=`http://localhost:${d}`,h=e.trust?void 0:vt(f);await nn({pid:process.pid,port:d,url:g,file:r,cwd:process.cwd(),startedAt:Date.now(),trust:e.trust,predicted:h}),console.log(`
1010
+ `);return e!==-1&&(t===-1||e<t)?{pos:e,len:4}:t!==-1?{pos:t,len:2}:{pos:-1,len:0}}function Qo(r){let t=r.split(/\r?\n/).filter(n=>n.startsWith("data:"));if(!t.length)return null;let s=t.map(n=>n.replace(/^data:\s?/,"")).join(`
1011
+ `).trim();if(!s)return null;if(s==="[DONE]")return"done";try{return JSON.parse(s)}catch{return null}}async function Vf(r,e,t){let s=new TextDecoder,n="",i=!1,o=t?new Promise((a,c)=>{t.aborted&&c(new Error("Aborted")),t.addEventListener("abort",()=>c(new Error("Aborted")),{once:!0})}):null;for(;;){let a=o?await Promise.race([r.read(),o]):await r.read(),{done:c,value:l}=a;if(c){if(n.trim()){let d=Qo(n);d!==null&&d!=="done"&&e(d)}break}i=!0,n+=s.decode(l,{stream:!0});let{pos:f,len:u}=Wf(n);for(;f!==-1;){let d=n.slice(0,f);n=n.slice(f+u);let p=Qo(d);if(p==="done"){n="";break}p!==null&&e(p),{pos:f,len:u}=Wf(n)}}return{receivedAnyData:i}}async function Xo(r,e){let t=e??(r.headers.get("X-Provider-Protocol")||"openai"),s=ze(t);if(!r.body)throw new Error("Response body is missing");let n=r.body.getReader(),i="";return await Vf(n,o=>{let a=s.parseStreamChunk(o);a?.text&&(i+=a.text)}),i}import*as Zo from"fs/promises";import*as Pr from"path";var mn=class{async get(e){let t=re(e),s=Pr.join(wr,t+".bin"),n=Pr.join(wr,t+".json");try{let[i,o]=await Promise.all([Zo.readFile(s),Zo.readFile(n,"utf8")]),a=JSON.parse(o);return{body:i,contentType:a.contentType,cacheControl:a.cacheControl}}catch{return}}async set(e,t){await I();let s=re(e),n=Pr.join(wr,s+".bin"),i=Pr.join(wr,s+".json"),o={url:e,contentType:t.contentType,cacheControl:t.cacheControl};await Promise.all([z(n,t.body),z(i,JSON.stringify(o))])}};ye();var ea={log:(...r)=>console.log(...r)};function gn(r,e){let t=r?.[e]??ea[e];return typeof t=="function"?t:void 0}var pw=/^\/(v\d+\/|stable\/|node\/|gh\/|@[^/]+\/[^@/]+@|[^@/]+@)/,hw=/[?&]target=/,mw=/^\/(?:@[^/]+\/)?[^/@]+\/[^/]+/;function Yf(r,e=""){return pw.test(r)?!0:mw.test(r)&&hw.test(e)}var Gf="127.0.0.1",ww=new Set(["localhost","127.0.0.1","::1"]);function vw(r){if(r)try{return new URL(r.includes("://")?r:`http://${r}`).hostname}catch{return}}function Sw(r){let e=vw(r);return!!e&&ww.has(e)}function kw(r,e){if(!e)return!1;try{return new URL(r).host===e}catch{return!1}}function yn(r){return r instanceof Error?r.message:"Unknown error"}async function bn(r){let{getHtml:e,basePath:t,port:s,reloadEmitter:n,getServerExports:i,localOverride:o,trusted:a=!1,trustHint:c,staticAssets:l}=r,f=new gw;f.use("*",async(m,b)=>{if(!Sw(m.req.header("host")))return m.text("Forbidden: untrusted Host",403);await b()}),f.use("*",async(m,b)=>{await b(),m.res.headers.set("Cross-Origin-Opener-Policy","same-origin"),m.res.headers.set("Cross-Origin-Embedder-Policy","credentialless")});let u=["/__fs/*","/__api/*","/__ai"],d=async(m,b)=>{if(!a){let w=new URL(m.req.url).pathname,x=w.startsWith("/__fs")?"the filesystem":w==="/__ai"?"AI (your API keys)":"server-side code (server.ts)";Tf(process.pid,x);let E=c?`
1012
+ ${c}`:"";return m.text(`Forbidden: this capability requires --trust.${E}`,403)}await b()},p=async(m,b)=>{let w=m.req.header("sec-fetch-site");if(w){if(w!=="same-origin")return m.text(`Forbidden: ${w} request`,403)}else{let x=m.req.header("origin");if(x&&!kw(x,m.req.header("host")))return m.text("Forbidden: cross-origin request",403)}await b()};for(let m of u)f.use(m,d),f.use(m,p);f.use("/__log",p),f.post("/__log",async m=>{try{let{args:b}=await m.req.json();console.log(...b||[])}catch{}return m.json({ok:!0})}),f.get("/",m=>m.html(e())),f.post("/__fs/read",async m=>{try{let{path:b}=await m.req.json(),w=ra(b,t),x=await Qe.readFile(w);return new Response(new Uint8Array(x),{headers:{"Content-Type":"application/octet-stream"}})}catch(b){let w=yn(b);return m.json({error:w},400)}}),f.post("/__fs/write",async m=>{try{let b=m.req.query("path");if(!b)return m.json({error:"Missing path"},400);let w=ra(b,t);return await Qe.mkdir(oe.dirname(w),{recursive:!0}),await Qe.writeFile(w,Buffer.from(await m.req.arrayBuffer())),m.json({success:!0})}catch(b){let w=yn(b);return m.json({error:w},400)}}),f.post("/__api/:name",async m=>{try{let b=m.req.param("name"),w=gn(i?.(),b);if(!w)return m.json({error:`API function '${b}' not found`},404);let{args:x}=await m.req.json(),E=await w(...x||[]);return m.json({result:E})}catch(b){let w=yn(b);return m.json({error:w},500)}}),f.post("/__ai",async m=>{try{let{messages:b,system:w,reasoning:x,provider:E,model:T,webSearch:S}=await m.req.json();if(!b||!Array.isArray(b)||b.length===0)return m.json({message:"messages array is required",code:"unknown",retryable:!1},400);let O=xw(E,T);if(typeof O=="string")return m.json({message:O,code:"unknown",retryable:!1},400);let J=[...w?[{role:"system",content:w}]:[],...b.map($e=>({role:$e.role,content:$e.content}))],H=await Go(O,{model:O.model,messages:J,stream:!0,reasoning:x??0,webSearch:S??!0});if(!H.ok){let $e=await zo(H,O.protocol);return m.json($e,H.status)}let R=await Xo(H,O.protocol);return R||console.warn("[tb.ai] Empty response from provider"),m.json({text:R})}catch(b){if(b instanceof Z)return m.json({message:b.message,code:b.code,retryable:b.retryable},500);let w=yn(b);return m.json({message:w,code:"unknown",retryable:!1},500)}}),f.get("/__models",async m=>{try{let b=await ln();return m.json(b)}catch{return m.json([],200)}});let g=["esm.sh","unpkg.com","cdn.jsdelivr.net","cdnjs.cloudflare.com"],h=new mn;f.get("/proxy/*",async m=>{let b=new URL(m.req.url),x=(b.pathname+b.search).slice(7),E=x.lastIndexOf("https://");return E===-1?m.text("Invalid proxy URL",400):y(m,x.slice(E))}),o&&Hf(f,`/local/${o.name}/`,o.serveDir),l&&Hf(f,l.mount,l.dir);async function y(m,b){let w;try{w=new URL(b)}catch{return m.text("Invalid URL",400)}if(w.protocol!=="https:")return m.text("HTTPS only",400);if(!g.includes(w.hostname))return m.text("Host not allowed",403);let x=await h.get(b);if(x)return new Response(x.body,{status:200,headers:ta(x.contentType,x.cacheControl)});try{let E=await fetch(b,{headers:{Accept:m.req.header("Accept")||"*/*"},redirect:"follow"});if(!E.ok)return m.text(`Upstream ${E.status}`,E.status);let T=E.headers.get("Content-Type")||void 0,S=E.headers.get("Cache-Control")||void 0;if(E.body){let[O,J]=E.body.tee();return(async()=>{try{let H=await new Response(J).arrayBuffer();await h.set(b,{body:Buffer.from(H),contentType:T,cacheControl:S})}catch{}})(),new Response(O,{status:E.status,headers:ta(T,S)})}return new Response(null,{status:E.status,headers:ta(T,S)})}catch(E){return m.text(`Proxy fetch failed: ${E instanceof Error?E.message:E}`,502)}}n&&f.get("/__reload",m=>bw(m,async b=>{let w=()=>{b.writeSSE({event:"reload",data:""})};for(n.on("reload",w),b.onAbort(()=>{n.removeListener("reload",w)});;)await b.sleep(3e4)})),f.notFound(async m=>{if(m.req.method!=="GET")return m.text("Not Found",404);let b=new URL(m.req.url);return Yf(b.pathname,b.search)?y(m,"https://esm.sh"+b.pathname+b.search):m.text("Not Found",404)});let k=yw({fetch:f.fetch,port:s,hostname:Gf});return{port:s,close:()=>k.close()}}function xw(r,e){let t=r??process.env.TB_AI_PROVIDER,s=e??process.env.TB_AI_MODEL;if(!t)return"No provider specified. Set TB_AI_PROVIDER in your .env file or pass provider in the tb.ai() call.";if(!s)return"No model specified. Set TB_AI_MODEL in your .env file or pass model in the tb.ai() call.";let n;try{n=ze(t)}catch{return`Unknown provider '${t}'.`}let i=Et[t],o=process.env[i];return o?{apiKey:o,baseUrl:n.defaultBaseUrl,protocol:t,model:s,isFreeModel:!1}:`No API key for '${t}'. Set ${i} in your .env file.`}function ta(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 Hf(r,e,t){r.get(`${e}*`,async s=>{let{pathname:n}=new URL(s.req.url);if(!n.startsWith(e))return s.text("Not Found",404);let i=decodeURIComponent(n.slice(e.length));try{let o=ra(i,t),a=await Qe.readFile(o);return new Response(a,{headers:{"Content-Type":Ew(o)}})}catch{return s.text("Not Found",404)}})}function Ew(r){switch(oe.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 ra(r,e){let t=oe.resolve(e,r),s=oe.normalize(e),n=oe.normalize(t);if(n!==s&&!n.startsWith(s+oe.sep))throw new Error("Path traversal detected - access denied");return t}async function Or(r){let e=await import("net");return new Promise(t=>{let s=e.createServer();s.listen(r,Gf,()=>{let n=s.address(),i=typeof n=="object"&&n?n.port:r;s.close(()=>t(i))}),s.on("error",()=>{t(Or(r+1))})})}import zf from"chokidar";var Qf={persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:100,pollInterval:50}};function wn(r){let{bulbPath:e,emitter:t}=r,s=zf.watch(e,Qf);return s.on("change",()=>{t.emit("reload")}),()=>s.close()}function vn(r){let{dir:e,onChange:t,debounceMs:s=150}=r,n,i=zf.watch(e,Qf);return i.on("all",()=>{n&&clearTimeout(n),n=setTimeout(t,s)}),()=>{n&&clearTimeout(n),i.close()}}ye();async function ed(r,e,t,s,n){let i=process.cwd(),o=nn(process.pid),a=e.watch?new Xf:void 0,c=fe(e.mode);console.log(`Loading ${At.basename(r)}...`);let{html:l,bulb:f,serverExports:u}=await $o(r,e.watch,e.trust,s,n);Le(c,r,f.server);let d=await Or(e.port),p=await bn({getHtml:()=>l,basePath:i,port:d,reloadEmitter:a,getServerExports:()=>u,localOverride:s?{name:s.name,serveDir:s.serveDir}:void 0,trusted:e.trust,trustHint:t}),g=`http://localhost:${d}`,h=e.trust?void 0:St(f);await on({pid:process.pid,port:d,url:g,file:r,cwd:process.cwd(),startedAt:Date.now(),trust:e.trust,predicted:h}),console.log(`
1011
1013
  ${f.name}`),console.log(` ${g}`),d!==e.port&&console.log(` (port ${e.port} was busy)`),e.trust?console.log(" trust: granted (filesystem, AI, server.ts enabled)"):console.log(h?` trust: restricted \u2014 this bulb appears to use ${h}; re-run with --trust to enable it:
1012
1014
  ${t}
1013
1015
  `:` trust: restricted \u2014 re-run with --trust to enable filesystem / AI / server.ts
1014
1016
  `),e.watch&&console.log(` Watching for changes...
1015
- `);let y,k;if(e.watch&&a){let b=new Yf;if(b.on("reload",async()=>{try{console.log("Recompiling...");let w=await _o(r,!0,e.trust,s,n);l=w.html,u=w.serverExports,a.emit("reload"),console.log(`Done. Browser reloading...
1016
- `)}catch(w){console.error("Compile error:",w)}}),y=yn({bulbPath:r,emitter:b}),s){let{name:w,serveDir:x}=s;k=bn({dir:x,onChange:()=>{console.log(`Local package '${w}' changed. Browser reloading...
1017
- `),a.emit("reload")}})}}e.open&&await bt(g);let m=async()=>{console.log(`
1018
- Shutting down...`),p.close(),y?.(),k?.(),o(),await Ar(process.pid);let b=Et.join(Et.dirname(r),".typebulb","server.mjs");await Hf.rm(b,{force:!0}).catch(()=>{}),process.exit(0)};process.on("SIGINT",m),process.on("SIGTERM",m)}import{readFileSync as Ad,copyFileSync as mv,existsSync as gv}from"fs";import*as Y from"path";import{fileURLToPath as yv}from"url";import{EventEmitter as bv}from"events";Ie();var Zo="/agents/claude/client.js",Sw=`
1017
+ `);let y,k;if(e.watch&&a){let b=new Xf;if(b.on("reload",async()=>{try{console.log("Recompiling...");let w=await $o(r,!0,e.trust,s,n);l=w.html,u=w.serverExports,a.emit("reload"),console.log(`Done. Browser reloading...
1018
+ `)}catch(w){console.error("Compile error:",w)}}),y=wn({bulbPath:r,emitter:b}),s){let{name:w,serveDir:x}=s;k=vn({dir:x,onChange:()=>{console.log(`Local package '${w}' changed. Browser reloading...
1019
+ `),a.emit("reload")}})}}e.open&&await wt(g);let m=async()=>{console.log(`
1020
+ Shutting down...`),p.close(),y?.(),k?.(),o(),await Tr(process.pid);let b=At.join(At.dirname(r),".typebulb","server.mjs");await Zf.rm(b,{force:!0}).catch(()=>{}),process.exit(0)};process.on("SIGINT",m),process.on("SIGTERM",m)}import{readFileSync as Cd,copyFileSync as wv,existsSync as vv}from"fs";import*as Y from"path";import{fileURLToPath as Sv}from"url";import{EventEmitter as kv}from"events";ye();var sa="/agents/claude/client.js",Aw=`
1019
1021
  (() => {
1020
1022
  const api = async (name, ...args) => {
1021
1023
  const resp = await fetch('/__api/' + name, {
@@ -1050,13 +1052,13 @@ Shutting down...`),p.close(),y?.(),k?.(),o(),await Ar(process.pid);let b=Et.join
1050
1052
  es.onerror = () => { es.close(); };
1051
1053
  }
1052
1054
  })();
1053
- `;function zf(r){let{name:e,styles:t,mountHtml:s,watch:n,theme:i}=r;return`<!DOCTYPE html>
1055
+ `;function td(r){let{name:e,styles:t,mountHtml:s,watch:n,theme:i}=r;return`<!DOCTYPE html>
1054
1056
  <html>
1055
1057
  <head>
1056
1058
  <meta charset="utf-8">
1057
1059
  <meta name="viewport" content="width=device-width, initial-scale=1">
1058
1060
  <title>${Js(e)} - typebulb</title>
1059
- ${Vs(e,i)}
1061
+ ${Ws(e,i)}
1060
1062
  <style>
1061
1063
  ${Ks}
1062
1064
  </style>
@@ -1070,18 +1072,18 @@ ${s}
1070
1072
  ${n?"<script>window.__TYPEBULB_WATCH__ = true;</script>":""}
1071
1073
 
1072
1074
  <script>
1073
- ${Sw}
1075
+ ${Aw}
1074
1076
  </script>
1075
1077
 
1076
- <script type="module" src="${Zo}"></script>
1078
+ <script type="module" src="${sa}"></script>
1077
1079
  </body>
1078
- </html>`}async function Td(r){let e=process.cwd(),t=sn(process.pid),s=r.watch?new bv:void 0,n=ue(r.mode),i=await Promise.resolve().then(()=>(Ed(),xd));_e(n,Y.join(e,"mirror"));let o=Y.dirname(yv(import.meta.url)),a=Y.join(o,"agents","claude"),c=Y.join(o,"..","agents","claude"),l=Y.join(a,"styles.css"),f=Y.join(a,"index.html"),u=()=>zf({name:"Claude Mirror",styles:Ad(l,"utf8"),mountHtml:Ad(f,"utf8"),watch:r.watch}),d=await Or(r.port),p=await gn({getHtml:u,basePath:e,port:d,reloadEmitter:s,getServerExports:()=>i,trusted:!0,staticAssets:{mount:`${Y.posix.dirname(Zo)}/`,dir:a}}),g=`http://localhost:${d}`;await nn({pid:process.pid,port:d,url:g,file:"agent:claude",cwd:e,startedAt:Date.now(),trust:!0,agent:"claude"}),console.log(`
1080
+ </html>`}async function Rd(r){let e=process.cwd(),t=nn(process.pid),s=r.watch?new kv:void 0,n=fe(r.mode),i=await Promise.resolve().then(()=>(Nd(),Od));Le(n,Y.join(e,"mirror"));let o=Y.dirname(Sv(import.meta.url)),a=Y.join(o,"agents","claude"),c=Y.join(o,"..","agents","claude"),l=Y.join(a,"styles.css"),f=Y.join(a,"index.html"),u=()=>td({name:"Claude Mirror",styles:Cd(l,"utf8"),mountHtml:Cd(f,"utf8"),watch:r.watch}),d=await Or(r.port),p=await bn({getHtml:u,basePath:e,port:d,reloadEmitter:s,getServerExports:()=>i,trusted:!0,staticAssets:{mount:`${Y.posix.dirname(sa)}/`,dir:a}}),g=`http://localhost:${d}`;await on({pid:process.pid,port:d,url:g,file:"agent:claude",cwd:e,startedAt:Date.now(),trust:!0,agent:"claude"}),console.log(`
1079
1081
  Claude Mirror`),console.log(` ${g}`),d!==r.port&&console.log(` (port ${r.port} was busy)`),r.watch&&console.log(` Watching for changes...
1080
- `);async function h(){await(await import("esbuild")).build({entryPoints:[Y.join(c,"client","index.ts")],bundle:!0,platform:"browser",format:"esm",outfile:Y.join(a,"client.js")});for(let b of["styles.css","index.html"])mv(Y.join(c,b),Y.join(a,b))}let y;if(r.watch&&s){let m=gv(c),b=!1;y=bn({dir:m?c:a,onChange:async()=>{if(!b){b=!0;try{m&&await h(),console.log(`Mirror rebuilt. Browser reloading...
1081
- `),s.emit("reload")}catch(w){console.error("Mirror rebuild failed:",w instanceof Error?w.message:w)}finally{b=!1}}}})}r.open&&await bt(g);let k=async()=>{console.log(`
1082
- Shutting down...`),p.close(),y?.(),t(),await Ar(process.pid),process.exit(0)};process.on("SIGINT",k),process.on("SIGTERM",k)}import*as Pd from"path";import{EventEmitter as wv}from"events";async function Od(r,e,t,s,n){let i=ue(t),o=!1,a=async()=>{let{bulb:c,config:l}=await se(r);o||(_e(i,r,c.server),o=!0),await wr(c.server,n,s,l.dependencies)};if(console.log(`Running ${Pd.basename(r)}...`),await a(),e){console.log(`Watching for changes...
1083
- `);let c=new wv;c.on("reload",async()=>{try{console.log("Re-running..."),await a()}catch(l){console.error("Error:",l)}}),yn({bulbPath:r,emitter:c})}}import{Console as vv}from"node:console";async function Nd(r,e,t,s,n){Tv();let i=ue(t),{bulb:o,config:a}=await se(r);o.server||xn("This bulb has no **server.ts** block; nothing to call."),_e(i,r,o.server);let c;try{c=await wr(o.server,n,s,a.dependencies)}catch(p){xn(p instanceof Error?p.message:String(p))}let l=hn(c,e.fn);if(!l){let p=[...Object.keys(c).filter(g=>typeof c[g]=="function"),...Object.keys(zo)];xn(`Function '${e.fn}' not found. Available: ${p.length?p.join(", "):"(none)"}.`)}let f=await Sv(e),u;try{u=await l(...f)}catch(p){xn(p instanceof Error?p.stack??p.message:String(p))}let d=Ev(u);d!==void 0&&await Pv(d+`
1084
- `),process.exit(0)}async function Sv(r){if(r.hasArgsFlag){let e=r.argsJson??"";return e==="-"&&(e=await Ov()),xv(e)}return kv(r.positional)}function kv(r){return r.map(e=>{try{return JSON.parse(e)}catch{return e}})}function xv(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 Ev(r){if(r!==void 0)return JSON.stringify(r,Av,2)}function Av(r,e){return typeof e=="bigint"?e.toString():e}function xn(r){process.stderr.write(r+`
1085
- `),process.exit(1)}function Tv(){let r=new vv(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 Pv(r){return new Promise((e,t)=>{process.stdout.write(r,s=>s?t(s):e())})}async function Ov(){let r=[];for await(let e of process.stdin)r.push(e);return Buffer.concat(r).toString("utf-8")}var Cd="0.14.0";function Rd(r,e){r||(console.error(`This bulb runs server-side Node code (server.ts), which --trust must authorize:
1086
- ${e}`),process.exit(1))}async function Nv(){let r=va(process.argv.slice(2));if(r.version&&(console.log(`typebulb ${Cd}`),process.exit(0)),r.help&&(Sa(),process.exit(0)),r.subcommand==="logs"){await Mf(r.file||void 0,{follow:r.follow,lines:r.lines});return}if(r.subcommand==="wait"){await Df(r.file||void 0,{match:r.match,timeoutSec:r.timeoutSec??1800});return}if(r.subcommand==="stop"){r.stopScope?await qf(r.stopScope):await Bf(r.file||void 0);return}if(r.subcommand==="skill"){await Lf(Cd);return}if(r.subcommand==="models"){await If(r.mode);return}if(r.subcommand==="agent"){if(!r.agentTarget){await Of();return}nf(r.agentTarget)||(console.error(`Unknown agent '${r.agentTarget}'. Known: ${Sr().join(", ")}.`),process.exit(1));let l=await jo(process.cwd(),r.agentTarget);if(l){console.log(`Mirror '${r.agentTarget}' is already running for this project:
1087
- ${l.url}`),r.open&&await bt(l.url);return}await Td(r);return}if(r.subcommand==="trust"||r.subcommand==="untrust"){await mf(r.file||void 0,r.subcommand==="trust");return}let e;if(!r.file||r.file==="."){let l=await ef(process.cwd());l||(console.error("No .bulb.md file found in current directory"),process.exit(1)),e=l}else e=ge.resolve(r.file);await Id.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 s=r.file&&r.file!=="."?r.file:ge.relative(process.cwd(),e)||ge.basename(e),n=`npx typebulb --trust ${s.includes(" ")?`"${s}"`:s}`;if(r.subcommand==="predict"){await hf(e,n);return}let i=!r.noTrust&&Ve(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 se(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 ba(r.local)}catch(l){console.error(l instanceof Error?l.message:String(l)),process.exit(1)}console.log(`replace: ${a.name} \u2192 ${ge.relative(process.cwd(),a.dir)||"."}`)}if(r.subcommand==="check"){await pf(e,a);return}let c=ge.dirname(e);if(r.subcommand==="call"){Rd(r.trust,n),await Nd(e,{fn:r.fn,positional:r.callArgs,argsJson:r.argsJson,hasArgsFlag:r.hasArgsFlag},r.mode,a,c);return}if(o&&o.bulb.server&&(!o.bulb.code||r.server)){Rd(r.trust,n),await Od(e,r.watch,r.mode,a,c);return}await Gf(e,r,n,a,c)}Nv().catch(r=>{console.error("Error:",r.message),process.exit(1)});
1082
+ `);async function h(){await(await import("esbuild")).build({entryPoints:[Y.join(c,"client","index.ts")],bundle:!0,platform:"browser",format:"esm",outfile:Y.join(a,"client.js")});for(let b of["styles.css","index.html"])wv(Y.join(c,b),Y.join(a,b))}let y;if(r.watch&&s){let m=vv(c),b=!1;y=vn({dir:m?c:a,onChange:async()=>{if(!b){b=!0;try{m&&await h(),console.log(`Mirror rebuilt. Browser reloading...
1083
+ `),s.emit("reload")}catch(w){console.error("Mirror rebuild failed:",w instanceof Error?w.message:w)}finally{b=!1}}}})}r.open&&await wt(g);let k=async()=>{console.log(`
1084
+ Shutting down...`),p.close(),y?.(),t(),await Tr(process.pid),process.exit(0)};process.on("SIGINT",k),process.on("SIGTERM",k)}import*as Id from"path";import{EventEmitter as xv}from"events";async function _d(r,e,t,s,n){let i=fe(t),o=!1,a=async()=>{let{bulb:c,config:l}=await ne(r);o||(Le(i,r,c.server),o=!0),await vr(c.server,n,s,l.dependencies)};if(console.log(`Running ${Id.basename(r)}...`),await a(),e){console.log(`Watching for changes...
1085
+ `);let c=new xv;c.on("reload",async()=>{try{console.log("Re-running..."),await a()}catch(l){console.error("Error:",l)}}),wn({bulbPath:r,emitter:c})}}import{Console as Ev}from"node:console";ye();Sr();async function Ld(r,e,t,s,n){Cv();try{let p=M(r),g=(await B()).find(h=>M(h.file)===p);g&&sn(g.pid,ue(g.pid).offset)}catch{}let i=fe(t),{bulb:o,config:a}=await ne(r);o.server||An("This bulb has no **server.ts** block; nothing to call."),Le(i,r,o.server);let c;try{c=await vr(o.server,n,s,a.dependencies)}catch(p){An(p instanceof Error?p.message:String(p))}let l=gn(c,e.fn);if(!l){let p=[...Object.keys(c).filter(g=>typeof c[g]=="function"),...Object.keys(ea)];An(`Function '${e.fn}' not found. Available: ${p.length?p.join(", "):"(none)"}.`)}let f=await Av(e),u;try{u=await l(...f)}catch(p){An(p instanceof Error?p.stack??p.message:String(p))}let d=Ov(u);d!==void 0&&await Rv(d+`
1086
+ `),process.exit(0)}async function Av(r){if(r.hasArgsFlag){let e=r.argsJson??"";return e==="-"&&(e=await Iv()),Pv(e)}return Tv(r.positional)}function Tv(r){return r.map(e=>{try{return JSON.parse(e)}catch{return e}})}function Pv(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 Ov(r){if(r!==void 0)return JSON.stringify(r,Nv,2)}function Nv(r,e){return typeof e=="bigint"?e.toString():e}function An(r){process.stderr.write(r+`
1087
+ `),process.exit(1)}function Cv(){let r=new Ev(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 Rv(r){return new Promise((e,t)=>{process.stdout.write(r,s=>s?t(s):e())})}async function Iv(){let r=[];for await(let e of process.stdin)r.push(e);return Buffer.concat(r).toString("utf-8")}var $d="0.14.1";function Md(r,e){r||(console.error(`This bulb runs server-side Node code (server.ts), which --trust must authorize:
1088
+ ${e}`),process.exit(1))}async function _v(){let r=Ea(process.argv.slice(2));if(r.version&&(console.log(`typebulb ${$d}`),process.exit(0)),r.help&&(Aa(),process.exit(0)),r.subcommand==="logs"){await jf(r.file||void 0,{follow:r.follow,lines:r.lines});return}if(r.subcommand==="wait"){await Uf(r.file||void 0,{match:r.match,timeoutSec:r.timeoutSec??1800});return}if(r.subcommand==="stop"){r.stopScope?await Kf(r.stopScope):await Jf(r.file||void 0);return}if(r.subcommand==="skill"){await Bf($d);return}if(r.subcommand==="models"){await Mf(r.mode);return}if(r.subcommand==="agent"){if(!r.agentTarget){await If();return}lf(r.agentTarget)||(console.error(`Unknown agent '${r.agentTarget}'. Known: ${xr().join(", ")}.`),process.exit(1));let l=await Wo(process.cwd(),r.agentTarget);if(l){console.log(`Mirror '${r.agentTarget}' is already running for this project:
1089
+ ${l.url}`),r.open&&await wt(l.url);return}await Rd(r);return}if(r.subcommand==="trust"||r.subcommand==="untrust"){await wf(r.file||void 0,r.subcommand==="trust");return}let e;if(!r.file||r.file==="."){let l=await nf(process.cwd());l||(console.error("No .bulb.md file found in current directory"),process.exit(1)),e=l}else e=we.resolve(r.file);await Dd.access(e).then(()=>!0,()=>!1)||(xr().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 s=r.file&&r.file!=="."?r.file:we.relative(process.cwd(),e)||we.basename(e),n=`npx typebulb --trust ${s.includes(" ")?`"${s}"`:s}`;if(r.subcommand==="predict"){await bf(e,n);return}let i=!r.noTrust&&We(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 ne(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 ka(r.local)}catch(l){console.error(l instanceof Error?l.message:String(l)),process.exit(1)}console.log(`replace: ${a.name} \u2192 ${we.relative(process.cwd(),a.dir)||"."}`)}if(r.subcommand==="check"){await yf(e,a);return}let c=we.dirname(e);if(r.subcommand==="call"){Md(r.trust,n),await Ld(e,{fn:r.fn,positional:r.callArgs,argsJson:r.argsJson,hasArgsFlag:r.hasArgsFlag},r.mode,a,c);return}if(o&&o.bulb.server&&(!o.bulb.code||r.server)){Md(r.trust,n),await _d(e,r.watch,r.mode,a,c);return}await ed(e,r,n,a,c)}_v().catch(r=>{console.error("Error:",r.message),process.exit(1)});