@mcp-com-ai/hapi 1.2.0 → 1.3.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/README.md +6 -0
- package/dist/bin.js +8 -8
- package/dist/core/document-source.d.ts +4 -0
- package/dist/core/index.js +34 -34
- package/dist/index.js +8 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -59,6 +59,12 @@ hapi init --specs ./my-api.yaml
|
|
|
59
59
|
hapi serve --specs ./my-api.yaml --mcp --port 3000
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
+
On Windows, `--specs` accepts drive-absolute paths such as
|
|
63
|
+
`C:\\Users\\x-user\\contracts\\my-api.yaml`, paths relative to the current
|
|
64
|
+
directory such as `.\\contracts\\my-api.yaml`, UNC paths, and Windows `file:`
|
|
65
|
+
or `path:` URLs. Quote paths containing spaces. Drive-relative forms such as
|
|
66
|
+
`C:my-api.yaml` are rejected because their resolution is process-dependent.
|
|
67
|
+
|
|
62
68
|
The MCP endpoint is `http://localhost:3000/mcp`.
|
|
63
69
|
|
|
64
70
|
```sh
|
package/dist/bin.js
CHANGED
|
@@ -138,9 +138,9 @@ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.pus
|
|
|
138
138
|
`)+1;while(t!==0)this.onNewLine(this.offset+t),t=this.source.indexOf(`
|
|
139
139
|
`,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;if((Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment")s?.push(this.sourceToken);else e.items.push({start:[this.sourceToken]})}else if(t.sep)t.sep.push(this.sourceToken);else 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)){xt(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 r=[];for(let o=0;o<t.sep.length;++o){let a=t.sep[o];switch(a.type){case"newline":r.push(o);break;case"space":break;case"comment":if(a.indent>e.indent)r.length=0;break;default:r.length=0}}if(r.length>=2)i=t.sep.splice(r[1])}switch(this.type){case"anchor":case"tag":if(n||t.value)i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0;else if(t.sep)t.sep.push(this.sourceToken);else t.start.push(this.sourceToken);return;case"explicit-key-ind":if(!t.sep&&!t.explicitKey)t.start.push(this.sourceToken),t.explicitKey=!0;else if(n||t.value)i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0});else 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(G(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let r=ye(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]})}else if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(G(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(Pr(t.key)&&!G(t.sep,"newline")){let r=ye(t.start),{key:o,sep:a}=t;a.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:o,sep:a}]})}else if(i.length>0)t.sep=t.sep.concat(i,this.sourceToken);else t.sep.push(this.sourceToken);else if(!t.sep)Object.assign(t,{key:null,sep:[this.sourceToken]});else if(t.value||n)e.items.push({start:i,key:null,sep:[this.sourceToken]});else if(G(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else t.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let r=this.flowScalar(this.type);if(n||t.value)e.items.push({start:i,key:r,sep:[]}),this.onKeyLine=!0;else if(t.sep)this.stack.push(r);else Object.assign(t,{key:r,sep:[]}),this.onKeyLine=!0;return}default:{let r=this.startBlockValue(e);if(r){if(r.type==="block-seq"){if(!t.explicitKey&&t.sep&&!G(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 if(s)e.items.push({start:i});this.stack.push(r);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;if((Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment")s?.push(this.sourceToken);else 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)){xt(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;if(t.value||G(t.start,"seq-item-ind"))e.items.push({start:[this.sourceToken]});else 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":if(!t||t.sep)e.items.push({start:[this.sourceToken]});else t.start.push(this.sourceToken);return;case"map-value-ind":if(!t||t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!t||t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let n=this.flowScalar(this.type);if(!t||t.value)e.items.push({start:[],key:n,sep:[]});else if(t.sep)this.stack.push(n);else 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);if(s)this.stack.push(s);else 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=Mt(s),i=ye(n);Or(e);let r=e.end.splice(1,e.end.length);r.push(this.sourceToken);let o={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:i,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let t=this.source.indexOf(`
|
|
140
140
|
`)+1;while(t!==0)this.onNewLine(this.offset+t),t=this.source.indexOf(`
|
|
141
|
-
`,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=Mt(e),s=ye(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=Mt(e),s=ye(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){if(this.type!=="comment")return!1;if(this.indent<=t)return!1;return e.every((s)=>s.type==="newline"||s.type==="space")}*documentEnd(e){if(this.type!=="doc-mode"){if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(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;case"space":case"comment":default:if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}hh.Parser=Lr});var Tr=b(function(Ch){var Er=Bs(),gh=_e(),Fe=De(),yh=zt(),bh=A(),wh=zs(),qr=Gs();function Ir(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new wh.LineCounter||null,prettyErrors:t}}function Sh(e,t={}){let{lineCounter:s,prettyErrors:n}=Ir(t),i=new qr.Parser(s?.addNewLine),r=new Er.Composer(t),o=Array.from(r.compose(i.parse(e)));if(n&&s)for(let a of o)a.errors.forEach(Fe.prettifyError(e,s)),a.warnings.forEach(Fe.prettifyError(e,s));if(o.length>0)return o;return Object.assign([],{empty:!0},r.streamInfo())}function $r(e,t={}){let{lineCounter:s,prettyErrors:n}=Ir(t),i=new qr.Parser(s?.addNewLine),r=new Er.Composer(t),o=null;for(let a of r.compose(i.parse(e),!0,e.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Fe.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(n&&s)o.errors.forEach(Fe.prettifyError(e,s)),o.warnings.forEach(Fe.prettifyError(e,s));return o}function vh(e,t,s){let n=void 0;if(typeof t==="function")n=t;else if(s===void 0&&t&&typeof t==="object")s=t;let i=$r(e,s);if(!i)return null;if(i.warnings.forEach((r)=>yh.warn(i.options.logLevel,r)),i.errors.length>0)if(i.options.logLevel!=="silent")throw i.errors[0];else i.errors=[];return i.toJS(Object.assign({reviver:n},s))}function kh(e,t,s){let n=null;if(typeof t==="function"||Array.isArray(t))n=t;else if(s===void 0&&t)s=t;if(typeof s==="string")s=s.length;if(typeof s==="number"){let i=Math.round(s);s=i<1?void 0:i>8?{indent:8}:{indent:i}}if(e===void 0){let{keepUndefined:i}=s??t??{};if(!i)return}if(bh.isDocument(e)&&!n)return e.toString(s);return new gh.Document(e,n,s).toString(s)}Ch.parse=vh;Ch.parseAllDocuments=Sh;Ch.parseDocument=$r;Ch.stringify=kh});import{satisfiesVersionRange as
|
|
141
|
+
`,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=Mt(e),s=ye(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=Mt(e),s=ye(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){if(this.type!=="comment")return!1;if(this.indent<=t)return!1;return e.every((s)=>s.type==="newline"||s.type==="space")}*documentEnd(e){if(this.type!=="doc-mode"){if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(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;case"space":case"comment":default:if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}hh.Parser=Lr});var Tr=b(function(Ch){var Er=Bs(),gh=_e(),Fe=De(),yh=zt(),bh=A(),wh=zs(),qr=Gs();function Ir(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new wh.LineCounter||null,prettyErrors:t}}function Sh(e,t={}){let{lineCounter:s,prettyErrors:n}=Ir(t),i=new qr.Parser(s?.addNewLine),r=new Er.Composer(t),o=Array.from(r.compose(i.parse(e)));if(n&&s)for(let a of o)a.errors.forEach(Fe.prettifyError(e,s)),a.warnings.forEach(Fe.prettifyError(e,s));if(o.length>0)return o;return Object.assign([],{empty:!0},r.streamInfo())}function $r(e,t={}){let{lineCounter:s,prettyErrors:n}=Ir(t),i=new qr.Parser(s?.addNewLine),r=new Er.Composer(t),o=null;for(let a of r.compose(i.parse(e),!0,e.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Fe.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(n&&s)o.errors.forEach(Fe.prettifyError(e,s)),o.warnings.forEach(Fe.prettifyError(e,s));return o}function vh(e,t,s){let n=void 0;if(typeof t==="function")n=t;else if(s===void 0&&t&&typeof t==="object")s=t;let i=$r(e,s);if(!i)return null;if(i.warnings.forEach((r)=>yh.warn(i.options.logLevel,r)),i.errors.length>0)if(i.options.logLevel!=="silent")throw i.errors[0];else i.errors=[];return i.toJS(Object.assign({reviver:n},s))}function kh(e,t,s){let n=null;if(typeof t==="function"||Array.isArray(t))n=t;else if(s===void 0&&t)s=t;if(typeof s==="string")s=s.length;if(typeof s==="number"){let i=Math.round(s);s=i<1?void 0:i>8?{indent:8}:{indent:i}}if(e===void 0){let{keepUndefined:i}=s??t??{};if(!i)return}if(bh.isDocument(e)&&!n)return e.toString(s);return new gh.Document(e,n,s).toString(s)}Ch.parse=vh;Ch.parseAllDocuments=Sh;Ch.parseDocument=$r;Ch.stringify=kh});import{satisfiesVersionRange as $m}from"@mcp-com-ai/plugin-sdk";import{hapiHome as Tm,loadGlobalConfig as Mm,parseWorkspaceBootstrap as xm,resolveHapiWorkspace as _m,runtimeConsole as Dm}from"@mcp-com-ai/shared-utils";function tn(e,t,s={}){let n=s.warn??(()=>{}),i=new Map,r=(o,a,l,c)=>{for(let f of[o.name,...o.aliases??[]]){if(i.has(f)){let u=i.get(f);n(`Command '${f}' already provided by ${u.source==="core"?"core":u.pluginName}; ignoring declaration from ${l??"core"}`);continue}i.set(f,{...o,source:a,pluginName:l,packageName:c})}};for(let o of e)r(o,"core");for(let{plugin:o,packageName:a}of t)for(let l of o.commands)r(l,"plugin",o.name,a);return i}function Km(e){let t=new Set;for(let[s,n]of e.entries())if(s===n.name)t.add(n);return Array.from(t).filter((s)=>!s.hidden).sort((s,n)=>s.name.localeCompare(n.name))}import{HAPI_CLI_API_VERSION as fn,satisfiesVersionRange as to}from"@mcp-com-ai/plugin-sdk";import{mkdir as Vr,realpath as Rt,readFile as Ve,stat as Hr,writeFile as rn}from"fs/promises";import I from"path";import{pathToFileURL as Jr}from"url";import{hasFileSystemAccess as on,resolveHapiPaths as Wr}from"@mcp-com-ai/shared-utils";function we(){let e=I.join(Wr().home,"plugins");return{root:e,nodeModules:I.join(e,"node_modules"),manifest:I.join(e,"package.json")}}function be(e){return/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/i.test(e)}async function an(e,t=we()){if(!on||!be(e))return;let s=I.join(t.nodeModules,...e.split("/"));try{let n=await Rt(s),i=await Rt(t.nodeModules);if(!nn(n,i))return;let r=JSON.parse(await Ve(I.join(n,"package.json"),"utf8"));if(r.name!==e)return;let o=Zr(r);if(!o||!eo(o))return;let a=I.resolve(n,o),l=await Rt(a);if(!nn(l,n))return;return Jr(l).href}catch{return}}async function ln(e,t={}){if(!on)throw Error("Managed plugins are not available without filesystem access.");let s=t.store??we(),n=await Qr(e),i=await Gr(e);if(i.length===0&&n.size===0)throw Error("Provide at least one plugin package, tarball, or release directory.");await Vr(s.root,{recursive:!0}),await zr(s);let r=await sn(s.manifest),o=t.execute??un;if(n.size>0)await Xr(s.manifest,n),await o(process.execPath,["install","--production"],s.root);if(i.length>0)await o(process.execPath,["add","--production",...i],s.root);return{packageNames:(await sn(s.manifest)).filter((l)=>!r.includes(l)),store:s}}async function cn(e,t={}){if(!be(e))throw Error(`Invalid plugin package name: ${e}`);let s=t.store??we();await(t.execute??un)(process.execPath,["remove",e],s.root)}async function zr(e){try{await Ve(e.manifest,"utf8")}catch{await rn(e.manifest,JSON.stringify({name:"hapi-managed-plugins",private:!0,type:"module"},null,2)+`
|
|
142
142
|
`)}}async function un(e,t,s){if(await Bun.spawn([e,...t],{cwd:s,stdout:"inherit",stderr:"inherit",env:{...process.env,BUN_BE_BUN:"1"}}).exited)throw Error(`Plugin package operation failed: ${t.join(" ")}`)}async function Gr(e){let t=[];for(let s of e){let n=I.resolve(s);try{if(!(await Hr(n)).isDirectory()){t.push(s);continue}let r=I.join(n,"manifest.json");if(await Bun.file(r).exists())continue;else t.push(n)}catch(i){if(i instanceof Error&&i.message.includes("Release manifest"))throw i;t.push(s)}}return t}async function Qr(e){let t=new Map,s=new Set;for(let r of e){let o=I.resolve(r),a=I.join(o,"manifest.json");if(!await Bun.file(a).exists())continue;let l=await Bun.file(a).json();for(let c of l.packages??[]){if(!c.name||!c.file||!be(c.name))continue;t.set(c.name,{file:I.join(o,c.file),internalDependencies:c.internalDependencies??{}})}for(let c of l.managedPlugins??[])if(be(c))s.add(c);if(s.size===0)throw Error(`Release manifest does not declare managed plugins: ${o}`)}let n=new Map,i=[...s];while(i.length>0){let r=i.pop();if(!r||n.has(r))continue;let o=t.get(r);if(!o)throw Error(`Release manifest is missing required package ${r}.`);n.set(r,`file:${o.file}`),i.push(...Object.keys(o.internalDependencies))}return n}async function Xr(e,t){let s=JSON.parse(await Ve(e,"utf8")),n=Object.fromEntries(t);await rn(e,`${JSON.stringify({...s,dependencies:{...s.dependencies??{},...n},overrides:{...s.overrides??{},...n}},null,2)}
|
|
143
|
-
`)}async function sn(e){let t=JSON.parse(await Ve(e,"utf8"));return Object.keys(t.dependencies??{}).filter(be)}function Zr(e){let t=e.exports&&typeof e.exports==="object"&&!Array.isArray(e.exports)?e.exports["."]??e.exports:e.exports;return Ye(t)??e.module??e.main}function Ye(e){if(typeof e==="string")return e;if(!e||typeof e!=="object"||Array.isArray(e))return;let t=e;return Ye(t.bun)??Ye(t.import)??Ye(t.default)}function eo(e){return/\.(?:c?m?js)$/i.test(e)&&!/(?:^|\/)src(?:\/|$)/.test(e)}function nn(e,t){let s=I.relative(t,e);return s===""||!s.startsWith(`..${I.sep}`)&&s!==".."&&!I.isAbsolute(s)}var so=["@mcp-com-ai/plugin-openapi","@mcp-com-ai/plugin-arazzo","@mcp-com-ai/plugin-cloudflare","@mcp-com-ai/plugin-capability-graph","@mcp-com-ai/enterprise-plugin-auth","@mcp-com-ai/enterprise-plugin-licensing","@mcp-com-ai/plugin-otel"];async function dn(e={}){let t=e.warn??(()=>{}),s=new Set(e.blocklist??[]),n=[],i=new Set,r=[];for(let o of e.bundledPlugins??[])r.push({packageName:o.name,source:"bundled",plugin:o});for(let o of e.workspacePackages??[])r.push({packageName:o,source:"workspace"});for(let o of so)r.push({packageName:o,source:"installed"});for(let o of e.configuredPackages??[])r.push({packageName:o,source:"installed"});for(let o of e.workspaceRequirements??[])r.push({packageName:o,source:"installed"});for(let{packageName:o,source:a,plugin:l}of r){if(i.has(o))continue;if(i.add(o),s.has(o))continue;let c=!1;try{let f=a,u;if(!l)try{u=await import(o)}catch(y){if(!pn(y))throw y;let d=await(e.resolveManagedEntrypoint??an)(o);if(!d)throw y;c=!0,u=await import(d),f="managed"}let p=l??(u?.plugin??u?.default);if(!p){t(`Plugin '${o}' loaded but did not export a plugin definition`);continue}if(p.compatibility?.cliApiVersion!==fn){t(`Plugin '${o}' declares cliApiVersion=${p.compatibility?.cliApiVersion}; CLI expects ${fn}. Skipping.`);continue}let m=p.compatibility.core;if(m&&!to(m.version,m.range)){t(`Plugin '${o}' resolved core ${m.version}, which does not satisfy its declared range ${m.range}. Skipping.`);continue}n.push({plugin:p,packageName:o,source:f})}catch(f){let u=f instanceof Error?f.message:String(f);if(c||!pn(f))t(`Plugin '${o}' failed to load: ${u}`)}}return n}function pn(e){if(!e||typeof e!=="object")return!1;let t=e.code;if(t==="ERR_MODULE_NOT_FOUND"||t==="MODULE_NOT_FOUND")return!0;let s=e.message??"";return/Cannot find (module|package)/i.test(s)}import{parseArgs as no,renderCommandHelp as Bt}from"@mcp-com-ai/plugin-sdk";var He=[{command:"graph",packageName:"@mcp-com-ai/plugin-capability-graph",description:"Compile, inspect, search, and evaluate OpenAPI capability graphs.",installHint:"bun add -g @mcp-com-ai/plugin-capability-graph"},{command:"cloudflare",packageName:"@mcp-com-ai/plugin-cloudflare",description:"Deploy HAPI MCP servers to Cloudflare Workers (deploy, login, status).",installHint:"bun add -g @mcp-com-ai/plugin-cloudflare"},{command:"openapi",packageName:"@mcp-com-ai/plugin-openapi",description:"OpenAPI-driven tooling (init, lint, list, serve).",installHint:"bun add -g @mcp-com-ai/plugin-openapi",documentRootField:"openapi"},{command:"arazzo",packageName:"@mcp-com-ai/plugin-arazzo",description:"Arazzo workflow validation, serving, and execution.",installHint:"bun add -g @mcp-com-ai/plugin-arazzo",documentRootField:"arazzo"},{command:"workflows",packageName:"@mcp-com-ai/plugin-arazzo",description:"Alias for the Arazzo workflow command group.",installHint:"bun add -g @mcp-com-ai/plugin-arazzo",documentRootField:"arazzo"},{command:"auth",packageName:"@mcp-com-ai/enterprise-plugin-auth",description:"OAuth/Security handler configuration for `hapi serve` (enterprise tier).",installHint:"Contact La Rebelion Labs for enterprise access."},{command:"otel",packageName:"@mcp-com-ai/plugin-otel",description:"OpenTelemetry / PostHog telemetry collection for HAPI commands.",installHint:"bun add -g @mcp-com-ai/plugin-otel"},{command:"license",packageName:"@mcp-com-ai/enterprise-plugin-licensing",description:"Enterprise licensing (activation, status, import). Part of the enterprise tier.",installHint:"Contact La Rebelion Labs for enterprise access, then run `hapi plugins install <private-release-or-package>`."}];function hn(e){return He.find((t)=>t.command===e)}function mn(e){return He.find((t)=>t.documentRootField===e)}var io=new Set(["--help","-h","help"]);async function yn(e,t,s){if(t.length===0){let o=e.get("help");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}return s.stdout.write(`Usage: hapi <command> [subcommand] [options]
|
|
143
|
+
`)}async function sn(e){let t=JSON.parse(await Ve(e,"utf8"));return Object.keys(t.dependencies??{}).filter(be)}function Zr(e){let t=e.exports&&typeof e.exports==="object"&&!Array.isArray(e.exports)?e.exports["."]??e.exports:e.exports;return Ye(t)??e.module??e.main}function Ye(e){if(typeof e==="string")return e;if(!e||typeof e!=="object"||Array.isArray(e))return;let t=e;return Ye(t.bun)??Ye(t.import)??Ye(t.default)}function eo(e){return/\.(?:c?m?js)$/i.test(e)&&!/(?:^|\/)src(?:\/|$)/.test(e)}function nn(e,t){let s=I.relative(t,e);return s===""||!s.startsWith(`..${I.sep}`)&&s!==".."&&!I.isAbsolute(s)}var so=["@mcp-com-ai/plugin-openapi","@mcp-com-ai/plugin-arazzo","@mcp-com-ai/plugin-cloudflare","@mcp-com-ai/plugin-capability-graph","@mcp-com-ai/enterprise-plugin-auth","@mcp-com-ai/enterprise-plugin-licensing","@mcp-com-ai/enterprise-plugin-a2a","@mcp-com-ai/plugin-otel"];async function dn(e={}){let t=e.warn??(()=>{}),s=new Set(e.blocklist??[]),n=[],i=new Set,r=[];for(let o of e.bundledPlugins??[])r.push({packageName:o.name,source:"bundled",plugin:o});for(let o of e.workspacePackages??[])r.push({packageName:o,source:"workspace"});for(let o of so)r.push({packageName:o,source:"installed"});for(let o of e.configuredPackages??[])r.push({packageName:o,source:"installed"});for(let o of e.workspaceRequirements??[])r.push({packageName:o,source:"installed"});for(let{packageName:o,source:a,plugin:l}of r){if(i.has(o))continue;if(i.add(o),s.has(o))continue;let c=!1;try{let f=a,u;if(!l)try{u=await import(o)}catch(y){if(!pn(y))throw y;let d=await(e.resolveManagedEntrypoint??an)(o);if(!d)throw y;c=!0,u=await import(d),f="managed"}let p=l??(u?.plugin??u?.default);if(!p){t(`Plugin '${o}' loaded but did not export a plugin definition`);continue}if(p.compatibility?.cliApiVersion!==fn){t(`Plugin '${o}' declares cliApiVersion=${p.compatibility?.cliApiVersion}; CLI expects ${fn}. Skipping.`);continue}let m=p.compatibility.core;if(m&&!to(m.version,m.range)){t(`Plugin '${o}' resolved core ${m.version}, which does not satisfy its declared range ${m.range}. Skipping.`);continue}n.push({plugin:p,packageName:o,source:f})}catch(f){let u=f instanceof Error?f.message:String(f);if(c||!pn(f))t(`Plugin '${o}' failed to load: ${u}`)}}return n}function pn(e){if(!e||typeof e!=="object")return!1;let t=e.code;if(t==="ERR_MODULE_NOT_FOUND"||t==="MODULE_NOT_FOUND")return!0;let s=e.message??"";return/Cannot find (module|package)/i.test(s)}import{parseArgs as no,renderCommandHelp as Bt}from"@mcp-com-ai/plugin-sdk";var He=[{command:"graph",packageName:"@mcp-com-ai/plugin-capability-graph",description:"Compile, inspect, search, and evaluate OpenAPI capability graphs.",installHint:"bun add -g @mcp-com-ai/plugin-capability-graph"},{command:"cloudflare",packageName:"@mcp-com-ai/plugin-cloudflare",description:"Deploy HAPI MCP servers to Cloudflare Workers (deploy, login, status).",installHint:"bun add -g @mcp-com-ai/plugin-cloudflare"},{command:"openapi",packageName:"@mcp-com-ai/plugin-openapi",description:"OpenAPI-driven tooling (init, lint, list, serve).",installHint:"bun add -g @mcp-com-ai/plugin-openapi",documentRootField:"openapi"},{command:"arazzo",packageName:"@mcp-com-ai/plugin-arazzo",description:"Arazzo workflow validation, serving, and execution.",installHint:"bun add -g @mcp-com-ai/plugin-arazzo",documentRootField:"arazzo"},{command:"workflows",packageName:"@mcp-com-ai/plugin-arazzo",description:"Alias for the Arazzo workflow command group.",installHint:"bun add -g @mcp-com-ai/plugin-arazzo",documentRootField:"arazzo"},{command:"auth",packageName:"@mcp-com-ai/enterprise-plugin-auth",description:"OAuth/Security handler configuration for `hapi serve` (enterprise tier).",installHint:"Contact La Rebelion Labs for enterprise access."},{command:"otel",packageName:"@mcp-com-ai/plugin-otel",description:"OpenTelemetry / PostHog telemetry collection for HAPI commands.",installHint:"bun add -g @mcp-com-ai/plugin-otel"},{command:"license",packageName:"@mcp-com-ai/enterprise-plugin-licensing",description:"Enterprise licensing (activation, status, import). Part of the enterprise tier.",installHint:"Contact La Rebelion Labs for enterprise access, then run `hapi plugins install <private-release-or-package>`."}];function hn(e){return He.find((t)=>t.command===e)}function mn(e){return He.find((t)=>t.documentRootField===e)}var io=new Set(["--help","-h","help"]);async function yn(e,t,s){if(t.length===0){let o=e.get("help");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}return s.stdout.write(`Usage: hapi <command> [subcommand] [options]
|
|
144
144
|
`),0}let[n,...i]=t;if(!n)return 0;if(n==="--help"||n==="-h"){let o=e.get("help");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}}if(n==="--version"||n==="-v"){let o=e.get("version");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}}let r=e.get(n);if(!r)return ro(n,s);return jt(e,r,i,s,[r.name])}async function jt(e,t,s,n,i){if(s.length>0&&io.has(s[0]))return Bt(t,n,i.slice(0,-1)),0;let r=s[0];if(t.subcommands&&t.subcommands.length>0&&r&&!r.startsWith("-")){let c=t.subcommands.find((f)=>f.name===r||f.aliases?.includes(r));if(c)return jt(e,c,s.slice(1),n,[...i,c.name]);if(!t.run)return n.stderr.write(`Unknown subcommand: ${i.join(" ")} ${r}
|
|
145
145
|
`),Bt(t,n,i.slice(0,-1)),1}if(!t.run)return Bt(t,n,i.slice(0,-1)),0;if(t.name==="serve"&&i.length>1){let c=e.get("serve");if(c?.source==="core")return jt(e,c,s,n,[c.name])}let o=n.workspace,a=o?.profileSettings?.spec&&i[0]==="graph"&&!gn(s,"specs")&&!s.some((c)=>!c.startsWith("-"))?[String(o.profileSettings.spec),...s]:s,l=no(a,t.options??[]);if(t.name==="serve"&&o?.profileSettings){let c=o.profileSettings,f={specs:c.spec,mcp:c.mcp,"capability-graph":c.capabilityGraph,"capability-planning":c.capabilityPlanning,"capability-classifier":c.capabilityClassifier,"runtime-authority":c.runtimeAuthority};for(let[u,p]of Object.entries(f))if(p!==void 0&&!gn(s,u))l.options[u]=p}if(l.unknownOptions?.length)n.stderr.write(`\u26A0\uFE0F Unrecognized option(s): ${l.unknownOptions.map((c)=>`--${c}`).join(", ")} \u2014 not applied. Check for a typo (see --help for valid options).
|
|
146
146
|
`);try{let c=await t.run(l,n);return typeof c==="number"?c:Number(process.exitCode??0)}catch(c){let{printCliError:f}=await import("@mcp-com-ai/shared-utils");return f(`\u274C ${i.join(" ")} failed`,c),1}}function gn(e,t){let s=t.replace(/-([a-z])/g,(n,i)=>i.toUpperCase());return e.some((n)=>n===`--${t}`||n===`--no-${t}`||n.startsWith(`--${t}=`)||n===`--${s}`||n.startsWith(`--${s}=`))}function ro(e,t){let s=hn(e);if(s)return t.stderr.write(`
|
|
@@ -176,7 +176,7 @@ Examples:
|
|
|
176
176
|
`),r(`Is the HAPI CLI helpful?
|
|
177
177
|
Don't forget to star the project on GitHub: https://github.com/mcp-com-ai/hapimcp
|
|
178
178
|
|
|
179
|
-
`),0}}}import{HAPI_CLI_API_VERSION as ao}from"@mcp-com-ai/plugin-sdk";var wn="1.
|
|
179
|
+
`),0}}}import{HAPI_CLI_API_VERSION as ao}from"@mcp-com-ai/plugin-sdk";var wn="1.3.1";var Je=wn;var Sn={name:"version",aliases:["--version","-v"],description:"Show the installed CLI version",run:async(e,t)=>(t.stdout.write(`hapi ${Je}
|
|
180
180
|
`),t.stdout.write(`plugin-contract v${ao}
|
|
181
181
|
`),0)};import{hasFileSystemAccess as lo,loadGlobalConfig as vn,saveGlobalConfig as kn}from"@mcp-com-ai/shared-utils";function Cn(e){return{name:"plugins",description:"List loaded plugins and discover installable ones",subcommands:[{name:"list",description:"List the plugins currently loaded by the CLI",async run(t,s){let n=e();if(n.length===0)return s.stdout.write("No plugins loaded. Run `hapi plugins available` to see what you can install.\n"),0;s.stdout.write(`
|
|
182
182
|
Loaded plugins:
|
|
@@ -226,15 +226,15 @@ Loaded plugins: ${l.length}
|
|
|
226
226
|
`);let f=c.plugin.compatibility.core;if(f){let u=fo(f.version,f.range);if(n(` core: ${f.version} ${u?"satisfies":"does not satisfy"} ${f.range}
|
|
227
227
|
`),!u)r++}}if(l.length===0)n(` \u2022 no plugins loaded
|
|
228
228
|
`);return n(`
|
|
229
|
-
`),r===0?0:1}}}import{existsSync as
|
|
230
|
-
`),1;let r=n??i??t.positionals[0]??"",o=await
|
|
229
|
+
`),r===0?0:1}}}import{existsSync as pm}from"fs";import{posix as dm,win32 as hm}from"path";import{fileURLToPath as mm,pathToFileURL as gm}from"url";var Lh=Bs(),Eh=_e(),qh=Cs(),Qs=De(),Ih=ke(),Q=A(),$h=H(),Th=P(),Mh=W(),xh=z(),Ty=$t(),_h=Ws(),Dh=zs(),Rh=Gs(),_t=Tr(),Mr=Se();var Bh=Lh.Composer,jh=Eh.Document,Kh=qh.Schema,{YAMLError:Fh,YAMLParseError:Uh,YAMLWarning:Yh}=Qs,Vh=Ih.Alias,{isAlias:Hh,isCollection:Jh,isDocument:Wh,isMap:zh,isNode:Gh,isPair:Qh,isScalar:Xh,isSeq:Zh}=Q,em=$h.Pair,tm=Th.Scalar,sm=Mh.YAMLMap,nm=xh.YAMLSeq;var im=_h.Lexer,rm=Dh.LineCounter,om=Rh.Parser,{parse:Xs,parseAllDocuments:am,parseDocument:lm,stringify:cm}=_t,{visit:um,visitAsync:fm}=Mr;import{DEFAULT_DOCUMENT_SOURCE_POLICY as Dt,assertRemoteDocumentUrl as ym,redactDocumentUrl as bm}from"@mcp-com-ai/plugin-sdk";async function xr(e,t){let s=e.trim();if(!s)return;Br(s);let n=Cm(s);if(n?.protocol==="http:"||n?.protocol==="https:")return vm(s,n,t);if(n&&n.protocol!=="file:"&&n.protocol!=="path:")throw Error(`Unsupported document source scheme: ${n.protocol}`);let i=n?.protocol==="file:"?Am(n):wm(n?.protocol==="path:"?Nm(n):s,t);if(!i)return;return Sm(s,i,t.maxBytes??Dt.maxBytes)}function wm(e,t){return Pm(e,t.cwd,t.hapiHome,pm)}async function Sm(e,t,s){let n=Bun.file(t);if(n.size>s)throw Error(`Document source exceeds ${s} bytes: ${t}`);let i=await n.text();Dr(i,s,t);let r=Om(t);return Rr({identifier:e,canonicalUri:r,baseUri:new URL(".",r).href,raw:i,document:_r(i,t),remote:!1})}async function vm(e,t,s){let n=s.fetchImpl??fetch,i=s.maxBytes??Dt.maxBytes,r=new AbortController,o=setTimeout(()=>r.abort(),s.timeoutMs??Dt.timeoutMs),a=t;try{for(let l=0;l<=Dt.maxRedirects;l++){ym(a);let c=await n(a,{redirect:"manual",signal:r.signal});if(km(c.status)){let p=c.headers.get("location");if(!p)throw Error(`Redirect from ${re(a)} has no Location header`);a=new URL(p,a);continue}if(!c.ok)throw Error(`Unable to load ${re(a)}: HTTP ${c.status}`);let f=Number(c.headers.get("content-length"));if(Number.isFinite(f)&&f>i)throw Error(`Document source exceeds ${i} bytes: ${re(a)}`);let u=await c.text();return Dr(u,i,re(a)),Rr({identifier:e,canonicalUri:a.href,baseUri:new URL(".",a).href,raw:u,document:_r(u,re(a)),remote:!0})}throw Error(`Too many redirects while loading ${re(t)}`)}catch(l){if(r.signal.aborted)throw Error(`Timed out loading ${re(a)}`);throw l}finally{clearTimeout(o)}}function _r(e,t){try{let s=Xs(e);if(!s||typeof s!=="object"||Array.isArray(s))throw Error("document root must be an object");return s}catch(s){throw Error(`Unable to parse ${t}: ${s instanceof Error?s.message:String(s)}`)}}function Dr(e,t,s){if(new TextEncoder().encode(e).byteLength>t)throw Error(`Document source exceeds ${t} bytes: ${s}`)}function Rr(e){return Object.freeze(e)}function km(e){return[301,302,303,307,308].includes(e)}function Cm(e){if(Zs(e))return;try{return new URL(e)}catch{return}}function Nm(e){let t=decodeURIComponent(e.pathname);if(/^\/[A-Za-z]:\//.test(t))return t.slice(1).replaceAll("/","\\");if(/^[A-Za-z]$/.test(e.hostname))return`${e.hostname.toUpperCase()}:${t}`.replaceAll("/","\\");if(e.hostname)return`\\\\${e.hostname}${t.replaceAll("/","\\")}`;return t}function Am(e){return mm(e,{windows:Em(e)})}function Om(e){return gm(e,{windows:Zs(e)}).href}function Pm(e,t,s,n){Br(e);let i=Lm(e,t,s),r=i.resolve(t,e);if(n(r))return r;let o=i.resolve(s,"specs");for(let a of["",".json",".yaml",".yml"]){let l=i.resolve(o,`${e}${a}`);if(n(l))return l}return}function Lm(...e){return e.some((t)=>Zs(t))?hm:dm}function Zs(e){return/^[A-Za-z]:[\\/]/.test(e)||/^\\\\/.test(e)}function Em(e){return e.hostname.length>0||/^\/[A-Za-z]:\//.test(e.pathname)}function Br(e){if(/^[A-Za-z]:[^\\/]/.test(e))throw Error(`Windows drive-relative document sources are ambiguous: ${e}. Use an absolute drive path or a path relative to the current directory.`)}function re(e){return bm(e)}function Kr(e){let t=()=>e().flatMap((s)=>s.plugin.serveProviders??[]);return{name:"serve",description:"Serve an OpenAPI or Arazzo document with the matching installed plugin",arguments:[{name:"source",description:"Project name, local JSON/YAML file, or remote document URL",required:!1}],get options(){return Im(t())},get longHelp(){return t().find((s)=>s.longHelp)?.longHelp},async run(s,n){return qm(t(),s,n)}}}async function qm(e,t,s){let n=typeof t.options.specs==="string"?t.options.specs:void 0,i=typeof t.options.openapi==="string"?t.options.openapi:void 0;if(n&&i)return s.stderr.write(`Use either --specs or --openapi, not both.
|
|
230
|
+
`),1;let r=n??i??t.positionals[0]??"",o=await xr(r,{cwd:s.cwd,hapiHome:s.hapiHome});if(!o){let f=e.filter((u)=>u.legacyFallback);if(f.length!==1)return s.stderr.write(`Unable to resolve document source: ${r||"(missing)"}
|
|
231
231
|
`),1;return jr(await f[0].serve({source:o,invocation:t},s))}let a=o.document,l=e.filter((f)=>typeof a[f.rootField]==="string");if(l.length>1)return s.stderr.write(`Ambiguous document ${o.identifier}: multiple root fields matched (${l.map((f)=>f.rootField).join(", ")})
|
|
232
232
|
`),1;if(l.length===0){let f=Object.keys(a).map((u)=>mn(u)).find(Boolean);if(f)return s.stderr.write(`Document type requires ${f.packageName}, which is not installed.
|
|
233
233
|
`),s.stderr.write(`Install it with:
|
|
234
234
|
${f.installHint??`bun add -g ${f.packageName}`}
|
|
235
235
|
`),127;return s.stderr.write(`Unknown document type: expected one root version field such as "openapi" or "arazzo".
|
|
236
236
|
`),1}let c=l[0];if(i&&c.kind!=="openapi")return s.stderr.write(`Expected an OpenAPI document from --openapi, received ${c.kind}.
|
|
237
|
-
`),1;return jr(await c.serve({source:o,invocation:t},s))}function
|
|
237
|
+
`),1;return jr(await c.serve({source:o,invocation:t},s))}function Im(e){let t=new Map;for(let s of e)for(let n of s.options??[]){let i=t.get(n.name);if(i&&(i.type!==n.type||i.alias!==n.alias))throw Error(`Incompatible --${n.name} declarations from serve providers`);if(!i)t.set(n.name,n)}return[...t.values()]}function jr(e){return typeof e==="number"?e:Number(process.exitCode??0)}function Fr(e){return[bn(e.getRegistry),Sn,Kr(e.getLoaded),Cn(e.getLoaded),An(e.getLoaded)]}async function Ur(e){let t=e.stdout??process.stdout,s=e.stderr??process.stderr,n=e.stdin??process.stdin,i=e.env??process.env,r=e.cwd??process.cwd(),o=e.silent??!1,a,l;try{a=xm(e.argv,i),l=await _m(a.selector,a.profile,r)}catch(g){return s.write(`\u274C ${g instanceof Error?g.message:String(g)}
|
|
238
238
|
`),1}let c=(g)=>{if(!o)s.write(`warn: ${g}
|
|
239
|
-
`)},f=await
|
|
240
|
-
`),1}let p=new Map,d=Fr({getRegistry:()=>p,getLoaded:()=>u});p=tn(d,u,{warn:c});let h={cwd:r,env:i,stdout:t,stderr:s,stdin:n,rawArgv:a.argv,hapiHome:
|
|
239
|
+
`)},f=await Mm().catch(()=>({plugins:void 0,pluginsDisabled:void 0})),u=await dn({bundledPlugins:e.bundledPlugins,workspacePackages:e.workspacePackages,configuredPackages:Array.isArray(f.plugins)?f.plugins:void 0,workspaceRequirements:[...l?.plugins.required.map((g)=>g.name)??[],...l?.plugins.optional.map((g)=>g.name)??[]],blocklist:[...Array.isArray(f.pluginsDisabled)?f.pluginsDisabled:[],...e.pluginsDisabled??[]],warn:c});if(l){let g=[...l.plugins.required];if(l.profileSettings?.capabilityClassifier==="typesafe"){let v=l.plugins.optional.find((k)=>k.name==="@mcp-com-ai/enterprise-plugin-capability-classifier");g.push(v??{name:"@mcp-com-ai/enterprise-plugin-capability-classifier",version:"(declare a compatible version in plugins.optional)"})}let w=g.find((v)=>{let k=u.find((C)=>C.packageName===v.name);return!k||!$m(k.plugin.version,v.version)});if(w)return s.write(`\u274C Workspace ${l.descriptor} profile ${l.profile??"(default)"} requires ${w.name} ${w.version}, but a compatible global managed plugin is not available. Install it with: hapi plugins install <release-or-package>
|
|
240
|
+
`),1}let p=new Map,d=Fr({getRegistry:()=>p,getLoaded:()=>u});p=tn(d,u,{warn:c});let h={cwd:r,env:i,stdout:t,stderr:s,stdin:n,rawArgv:a.argv,hapiHome:Tm,workspace:l,services:new Map};for(let{plugin:g}of u)if(typeof g.onLoad==="function")try{await g.onLoad(h)}catch(w){c(`Plugin '${g.name}' onLoad failed: ${w instanceof Error?w.message:String(w)}`)}try{return await yn(p,a.argv,h)}catch(g){return Dm.error(g),1}}var Yr=["@mcp-com-ai/plugin-openapi","@mcp-com-ai/plugin-arazzo","@mcp-com-ai/plugin-cloudflare","@mcp-com-ai/plugin-otel","@mcp-com-ai/plugin-capability-graph"];import{printCliError as Rm}from"@mcp-com-ai/shared-utils";async function Bm(){let e=process.argv.slice(2),t=await Ur({argv:e,workspacePackages:Yr});process.exit(t)}Bm().catch((e)=>{Rm("HAPI could not complete the command",e),process.exit(1)});
|
|
@@ -7,4 +7,8 @@ export interface ResolveDocumentSourceOptions {
|
|
|
7
7
|
timeoutMs?: number;
|
|
8
8
|
}
|
|
9
9
|
export declare function resolveDocumentSource(identifier: string, options: ResolveDocumentSourceOptions): Promise<DocumentSourceEnvelope | undefined>;
|
|
10
|
+
export declare function pathUrlToPath(url: URL): string;
|
|
11
|
+
export declare function fileUrlToLocalPath(url: URL): string;
|
|
12
|
+
export declare function localPathToFileUrl(path: string): string;
|
|
13
|
+
export declare function resolveLocalPath(identifier: string, cwd: string, hapiHome: string, exists: (candidate: string) => boolean): string | undefined;
|
|
10
14
|
export declare function redactUrl(value: URL | string): string;
|
package/dist/core/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Fe=import.meta.require;var O=g(function(Tr){var _t=Symbol.for("yaml.alias"),Zs=Symbol.for("yaml.document"),Ue=Symbol.for("yaml.map"),en=Symbol.for("yaml.pair"),xt=Symbol.for("yaml.scalar"),Ye=Symbol.for("yaml.seq"),K=Symbol.for("yaml.node.type"),Ar=(e)=>!!e&&typeof e==="object"&&e[K]===_t,Or=(e)=>!!e&&typeof e==="object"&&e[K]===Zs,Cr=(e)=>!!e&&typeof e==="object"&&e[K]===Ue,
|
|
3
|
-
`)}}M.defaultYaml={explicit:!1,version:"1.2"};M.defaultTags={"!!":"tag:yaml.org,2002:"};eo.Directives=M});var He=g(function(ro){var cn=O(),so=be();function no(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let s=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw Error(s)}return!0}function un(e){let t=new Set;return so.visit(e,{Value(s,n){if(n.anchor)t.add(n.anchor)}}),t}function fn(e,t){for(let s=1;;++s){let n=`${e}${s}`;if(!t.has(n))return n}}function io(e,t){let s=[],n=new Map,i=null;return{onAnchor:(r)=>{s.push(r),i??(i=un(e));let o=fn(t,i);return i.add(o),o},setAnchors:()=>{for(let r of s){let o=n.get(r);if(typeof o==="object"&&o.anchor&&(cn.isScalar(o.node)||cn.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=Error("Failed to resolve repeated object (this should not happen)");throw a.source=r,a}}},sourceObjects:n}}ro.anchorIsValid=no;ro.anchorNames=un;ro.createNodeAnchors=io;ro.findNewAnchor=fn});var Bt=g(function(uo){function we(e,t,s,n){if(n&&typeof n==="object")if(Array.isArray(n))for(let i=0,r=n.length;i<r;++i){let o=n[i],a=we(e,n,String(i),o);if(a===void 0)delete n[i];else if(a!==o)n[i]=a}else if(n instanceof Map)for(let i of Array.from(n.keys())){let r=n.get(i),o=we(e,n,i,r);if(o===void 0)n.delete(i);else if(o!==r)n.set(i,o)}else if(n instanceof Set)for(let i of Array.from(n)){let r=we(e,n,i,i);if(r===void 0)n.delete(i);else if(r!==i)n.delete(i),n.add(r)}else for(let[i,r]of Object.entries(n)){let o=we(e,n,i,r);if(o===void 0)delete n[i];else if(o!==r)n[i]=o}return e.call(t,s,n)}uo.applyReviver=we});var U=g(function(ho){var po=O();function pn(e,t,s){if(Array.isArray(e))return e.map((n,i)=>pn(n,String(i),s));if(e&&typeof e.toJSON==="function"){if(!s||!po.hasAnchor(e))return e.toJSON(t,s);let n={aliasCount:0,count:1,res:void 0};s.anchors.set(e,n),s.onCreate=(r)=>{n.res=r,delete s.onCreate};let i=e.toJSON(t,s);if(s.onCreate)s.onCreate(i);return i}if(typeof e==="bigint"&&!s?.keep)return Number(e);return e}ho.toJS=pn});var We=g(function(bo){var go=Bt(),dn=O(),yo=U();class hn{constructor(e){Object.defineProperty(this,dn.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)e.range=this.range.slice();return e}toJS(e,{mapAsMap:t,maxAliasCount:s,onAnchor:n,reviver:i}={}){if(!dn.isDocument(e))throw TypeError("A document argument is required");let r={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof s==="number"?s:100},o=yo.toJS(this,"",r);if(typeof n==="function")for(let{count:a,res:l}of r.anchors.values())n(l,a);return typeof i==="function"?go.applyReviver(i,{"":o},"",o):o}}bo.NodeBase=hn});var Se=g(function(Ao){var So=He(),vo=be(),ce=O(),ko=We(),No=U();class mn extends ko.NodeBase{constructor(e){super(ce.ALIAS);this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){if(t?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");let s;if(t?.aliasResolveCache)s=t.aliasResolveCache;else if(s=[],vo.visit(e,{Node:(i,r)=>{if(ce.isAlias(r)||ce.hasAnchor(r))s.push(r)}}),t)t.aliasResolveCache=s;let n=void 0;for(let i of s){if(i===this)break;if(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,r=this.resolve(n,t);if(!r){let a=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(a)}let o=s.get(r);if(!o)No.toJS(r,null,t),o=s.get(r);if(o?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0){if(o.count+=1,o.aliasCount===0)o.aliasCount=ze(n,r,s);if(o.count*o.aliasCount>i)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return o.res}toString(e,t,s){let n=`*${this.source}`;if(e){if(So.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 Error(i)}if(e.implicitKey)return`${n} `}return n}}function ze(e,t,s){if(ce.isAlias(t)){let n=t.resolve(e),i=s&&n&&s.get(n);return i?i.count*i.aliasCount:0}else if(ce.isCollection(t)){let n=0;for(let i of t.items){let r=ze(e,i,s);if(r>n)n=r}return n}else if(ce.isPair(t)){let n=ze(e,t.key,s),i=ze(e,t.value,s);return Math.max(n,i)}return 1}Ao.Alias=mn});var
|
|
2
|
+
var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Fe=import.meta.require;var O=g(function(Tr){var _t=Symbol.for("yaml.alias"),Zs=Symbol.for("yaml.document"),Ue=Symbol.for("yaml.map"),en=Symbol.for("yaml.pair"),xt=Symbol.for("yaml.scalar"),Ye=Symbol.for("yaml.seq"),K=Symbol.for("yaml.node.type"),Ar=(e)=>!!e&&typeof e==="object"&&e[K]===_t,Or=(e)=>!!e&&typeof e==="object"&&e[K]===Zs,Cr=(e)=>!!e&&typeof e==="object"&&e[K]===Ue,Er=(e)=>!!e&&typeof e==="object"&&e[K]===en,tn=(e)=>!!e&&typeof e==="object"&&e[K]===xt,qr=(e)=>!!e&&typeof e==="object"&&e[K]===Ye;function sn(e){if(e&&typeof e==="object")switch(e[K]){case Ue:case Ye:return!0}return!1}function Lr(e){if(e&&typeof e==="object")switch(e[K]){case _t:case Ue:case xt:case Ye:return!0}return!1}var Pr=(e)=>(tn(e)||sn(e))&&!!e.anchor;Tr.ALIAS=_t;Tr.DOC=Zs;Tr.MAP=Ue;Tr.NODE_TYPE=K;Tr.PAIR=en;Tr.SCALAR=xt;Tr.SEQ=Ye;Tr.hasAnchor=Pr;Tr.isAlias=Ar;Tr.isCollection=sn;Tr.isDocument=Or;Tr.isMap=Cr;Tr.isNode=Lr;Tr.isPair=Er;Tr.isScalar=tn;Tr.isSeq=qr});var be=g(function(Wr){var P=O(),T=Symbol("break visit"),nn=Symbol("skip children"),B=Symbol("remove node");function Ve(e,t){let s=rn(t);if(P.isDocument(e)){if(ae(null,e.contents,s,Object.freeze([e]))===B)e.contents=null}else ae(null,e,s,Object.freeze([]))}Ve.BREAK=T;Ve.SKIP=nn;Ve.REMOVE=B;function ae(e,t,s,n){let i=on(e,t,s,n);if(P.isNode(i)||P.isPair(i))return an(e,n,i),ae(e,i,s,n);if(typeof i!=="symbol"){if(P.isCollection(t)){n=Object.freeze(n.concat(t));for(let r=0;r<t.items.length;++r){let o=ae(r,t.items[r],s,n);if(typeof o==="number")r=o-1;else if(o===T)return T;else if(o===B)t.items.splice(r,1),r-=1}}else if(P.isPair(t)){n=Object.freeze(n.concat(t));let r=ae("key",t.key,s,n);if(r===T)return T;else if(r===B)t.key=null;let o=ae("value",t.value,s,n);if(o===T)return T;else if(o===B)t.value=null}}return i}async function Je(e,t){let s=rn(t);if(P.isDocument(e)){if(await le(null,e.contents,s,Object.freeze([e]))===B)e.contents=null}else await le(null,e,s,Object.freeze([]))}Je.BREAK=T;Je.SKIP=nn;Je.REMOVE=B;async function le(e,t,s,n){let i=await on(e,t,s,n);if(P.isNode(i)||P.isPair(i))return an(e,n,i),le(e,i,s,n);if(typeof i!=="symbol"){if(P.isCollection(t)){n=Object.freeze(n.concat(t));for(let r=0;r<t.items.length;++r){let o=await le(r,t.items[r],s,n);if(typeof o==="number")r=o-1;else if(o===T)return T;else if(o===B)t.items.splice(r,1),r-=1}}else if(P.isPair(t)){n=Object.freeze(n.concat(t));let r=await le("key",t.key,s,n);if(r===T)return T;else if(r===B)t.key=null;let o=await le("value",t.value,s,n);if(o===T)return T;else if(o===B)t.value=null}}return i}function rn(e){if(typeof e==="object"&&(e.Collection||e.Node||e.Value))return Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e);return e}function on(e,t,s,n){if(typeof s==="function")return s(e,t,n);if(P.isMap(t))return s.Map?.(e,t,n);if(P.isSeq(t))return s.Seq?.(e,t,n);if(P.isPair(t))return s.Pair?.(e,t,n);if(P.isScalar(t))return s.Scalar?.(e,t,n);if(P.isAlias(t))return s.Alias?.(e,t,n);return}function an(e,t,s){let n=t[t.length-1];if(P.isCollection(n))n.items[e]=s;else if(P.isPair(n))if(e==="key")n.key=s;else n.value=s;else if(P.isDocument(n))n.contents=s;else{let i=P.isAlias(n)?"alias":"scalar";throw Error(`Cannot replace node with ${i} parent`)}}Wr.visit=Ve;Wr.visitAsync=Je});var Dt=g(function(eo){var ln=O(),Gr=be(),Xr={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},Zr=(e)=>e.replace(/[!,[\]{}]/g,(t)=>Xr[t]);class M{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},M.defaultYaml,e),this.tags=Object.assign({},M.defaultTags,t)}clone(){let e=new M(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new M(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:M.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},M.defaultTags);break}return e}add(e,t){if(this.atNextDocument)this.yaml={explicit:M.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},M.defaultTags),this.atNextDocument=!1;let s=e.trim().split(/[ \t]+/),n=s.shift();switch(n){case"%TAG":{if(s.length!==2){if(t(0,"%TAG directive should contain exactly two parts"),s.length<2)return!1}let[i,r]=s;return this.tags[i]=r,!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;else{let r=/^\d+\.\d+$/.test(i);return t(6,`Unsupported YAML version ${i}`,r),!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 r=e.slice(2,-1);if(r==="!"||r==="!!")return t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null;if(e[e.length-1]!==">")t("Verbatim tags must end with a >");return r}let[,s,n]=e.match(/^(.*!)([^!]*)$/s);if(!n)t(`The ${e} tag has no suffix`);let i=this.tags[s];if(i)try{return i+decodeURIComponent(n)}catch(r){return t(String(r)),null}if(s==="!")return e;return t(`Could not resolve tag: ${e}`),null}tagString(e){for(let[t,s]of Object.entries(this.tags))if(e.startsWith(s))return t+Zr(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&&ln.isNode(e.contents)){let i={};Gr.visit(e.contents,(r,o)=>{if(ln.isNode(o)&&o.tag)i[o.tag]=!0}),n=Object.keys(i)}else n=[];for(let[i,r]of s){if(i==="!!"&&r==="tag:yaml.org,2002:")continue;if(!e||n.some((o)=>o.startsWith(r)))t.push(`%TAG ${i} ${r}`)}return t.join(`
|
|
3
|
+
`)}}M.defaultYaml={explicit:!1,version:"1.2"};M.defaultTags={"!!":"tag:yaml.org,2002:"};eo.Directives=M});var He=g(function(ro){var cn=O(),so=be();function no(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let s=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw Error(s)}return!0}function un(e){let t=new Set;return so.visit(e,{Value(s,n){if(n.anchor)t.add(n.anchor)}}),t}function fn(e,t){for(let s=1;;++s){let n=`${e}${s}`;if(!t.has(n))return n}}function io(e,t){let s=[],n=new Map,i=null;return{onAnchor:(r)=>{s.push(r),i??(i=un(e));let o=fn(t,i);return i.add(o),o},setAnchors:()=>{for(let r of s){let o=n.get(r);if(typeof o==="object"&&o.anchor&&(cn.isScalar(o.node)||cn.isCollection(o.node)))o.node.anchor=o.anchor;else{let a=Error("Failed to resolve repeated object (this should not happen)");throw a.source=r,a}}},sourceObjects:n}}ro.anchorIsValid=no;ro.anchorNames=un;ro.createNodeAnchors=io;ro.findNewAnchor=fn});var Bt=g(function(uo){function we(e,t,s,n){if(n&&typeof n==="object")if(Array.isArray(n))for(let i=0,r=n.length;i<r;++i){let o=n[i],a=we(e,n,String(i),o);if(a===void 0)delete n[i];else if(a!==o)n[i]=a}else if(n instanceof Map)for(let i of Array.from(n.keys())){let r=n.get(i),o=we(e,n,i,r);if(o===void 0)n.delete(i);else if(o!==r)n.set(i,o)}else if(n instanceof Set)for(let i of Array.from(n)){let r=we(e,n,i,i);if(r===void 0)n.delete(i);else if(r!==i)n.delete(i),n.add(r)}else for(let[i,r]of Object.entries(n)){let o=we(e,n,i,r);if(o===void 0)delete n[i];else if(o!==r)n[i]=o}return e.call(t,s,n)}uo.applyReviver=we});var U=g(function(ho){var po=O();function pn(e,t,s){if(Array.isArray(e))return e.map((n,i)=>pn(n,String(i),s));if(e&&typeof e.toJSON==="function"){if(!s||!po.hasAnchor(e))return e.toJSON(t,s);let n={aliasCount:0,count:1,res:void 0};s.anchors.set(e,n),s.onCreate=(r)=>{n.res=r,delete s.onCreate};let i=e.toJSON(t,s);if(s.onCreate)s.onCreate(i);return i}if(typeof e==="bigint"&&!s?.keep)return Number(e);return e}ho.toJS=pn});var We=g(function(bo){var go=Bt(),dn=O(),yo=U();class hn{constructor(e){Object.defineProperty(this,dn.NODE_TYPE,{value:e})}clone(){let e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)e.range=this.range.slice();return e}toJS(e,{mapAsMap:t,maxAliasCount:s,onAnchor:n,reviver:i}={}){if(!dn.isDocument(e))throw TypeError("A document argument is required");let r={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof s==="number"?s:100},o=yo.toJS(this,"",r);if(typeof n==="function")for(let{count:a,res:l}of r.anchors.values())n(l,a);return typeof i==="function"?go.applyReviver(i,{"":o},"",o):o}}bo.NodeBase=hn});var Se=g(function(Ao){var So=He(),vo=be(),ce=O(),ko=We(),No=U();class mn extends ko.NodeBase{constructor(e){super(ce.ALIAS);this.source=e,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(e,t){if(t?.maxAliasCount===0)throw ReferenceError("Alias resolution is disabled");let s;if(t?.aliasResolveCache)s=t.aliasResolveCache;else if(s=[],vo.visit(e,{Node:(i,r)=>{if(ce.isAlias(r)||ce.hasAnchor(r))s.push(r)}}),t)t.aliasResolveCache=s;let n=void 0;for(let i of s){if(i===this)break;if(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,r=this.resolve(n,t);if(!r){let a=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(a)}let o=s.get(r);if(!o)No.toJS(r,null,t),o=s.get(r);if(o?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(i>=0){if(o.count+=1,o.aliasCount===0)o.aliasCount=ze(n,r,s);if(o.count*o.aliasCount>i)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return o.res}toString(e,t,s){let n=`*${this.source}`;if(e){if(So.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 Error(i)}if(e.implicitKey)return`${n} `}return n}}function ze(e,t,s){if(ce.isAlias(t)){let n=t.resolve(e),i=s&&n&&s.get(n);return i?i.count*i.aliasCount:0}else if(ce.isCollection(t)){let n=0;for(let i of t.items){let r=ze(e,i,s);if(r>n)n=r}return n}else if(ce.isPair(t)){let n=ze(e,t.key,s),i=ze(e,t.value,s);return Math.max(n,i)}return 1}Ao.Alias=mn});var E=g(function(Po){var Co=O(),Eo=We(),qo=U(),Lo=(e)=>!e||typeof e!=="function"&&typeof e!=="object";class X extends Eo.NodeBase{constructor(e){super(Co.SCALAR);this.value=e}toJSON(e,t){return t?.keep?this.value:qo.toJS(this.value,e,t)}toString(){return String(this.value)}}X.BLOCK_FOLDED="BLOCK_FOLDED";X.BLOCK_LITERAL="BLOCK_LITERAL";X.PLAIN="PLAIN";X.QUOTE_DOUBLE="QUOTE_DOUBLE";X.QUOTE_SINGLE="QUOTE_SINGLE";Po.Scalar=X;Po.isScalarValue=Lo});var ve=g(function(Do){var Mo=Se(),Z=O(),gn=E(),$o="tag:yaml.org,2002:";function _o(e,t,s){if(t){let n=s.filter((r)=>r.tag===t),i=n.find((r)=>!r.format)??n[0];if(!i)throw Error(`Tag ${t} not found`);return i}return s.find((n)=>n.identify?.(e)&&!n.format)}function xo(e,t,s){if(Z.isDocument(e))e=e.contents;if(Z.isNode(e))return e;if(Z.isPair(e)){let u=s.schema[Z.MAP].createNode?.(s.schema,null,s);return u.items.push(e),u}if(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)e=e.valueOf();let{aliasDuplicateObjects:n,onAnchor:i,onTagObj:r,schema:o,sourceObjects:a}=s,l=void 0;if(n&&e&&typeof e==="object")if(l=a.get(e),l)return l.anchor??(l.anchor=i(e)),new Mo.Alias(l.anchor);else l={anchor:null,node:null},a.set(e,l);if(t?.startsWith("!!"))t=$o+t.slice(2);let c=_o(e,t,o.tags);if(!c){if(e&&typeof e.toJSON==="function")e=e.toJSON();if(!e||typeof e!=="object"){let u=new gn.Scalar(e);if(l)l.node=u;return u}c=e instanceof Map?o[Z.MAP]:(Symbol.iterator in Object(e))?o[Z.SEQ]:o[Z.MAP]}if(r)r(c),delete s.onTagObj;let d=c?.createNode?c.createNode(s.schema,e,s):typeof c?.nodeClass?.from==="function"?c.nodeClass.from(s.schema,e,s):new gn.Scalar(e);if(t)d.tag=t;else if(!c.default)d.tag=c.tag;if(l)l.node=d;return d}Do.createNode=xo});var Qe=g(function(jo){var Ro=ve(),R=O(),Ko=We();function Rt(e,t,s){let n=s;for(let i=t.length-1;i>=0;--i){let r=t[i];if(typeof r==="number"&&Number.isInteger(r)&&r>=0){let o=[];o[r]=n,n=o}else n=new Map([[r,n]])}return Ro.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}var yn=(e)=>e==null||typeof e==="object"&&!!e[Symbol.iterator]().next().done;class bn extends Ko.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));if(e)t.schema=e;if(t.items=t.items.map((s)=>R.isNode(s)||R.isPair(s)?s.clone(e):s),this.range)t.range=this.range.slice();return t}addIn(e,t){if(yn(e))this.add(t);else{let[s,...n]=e,i=this.get(s,!0);if(R.isCollection(i))i.addIn(n,t);else if(i===void 0&&this.schema)this.set(s,Rt(this.schema,n,t));else throw 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(R.isCollection(n))return n.deleteIn(s);else throw Error(`Expected YAML collection at ${t}. Remaining path: ${s}`)}getIn(e,t){let[s,...n]=e,i=this.get(s,!0);if(n.length===0)return!t&&R.isScalar(i)?i.value:i;else return R.isCollection(i)?i.getIn(n,t):void 0}hasAllNullValues(e){return this.items.every((t)=>{if(!R.isPair(t))return!1;let s=t.value;return s==null||e&&R.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 R.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(R.isCollection(i))i.setIn(n,t);else if(i===void 0&&this.schema)this.set(s,Rt(this.schema,n,t));else throw Error(`Expected YAML collection at ${s}. Remaining path: ${n}`)}}}jo.Collection=bn;jo.collectionFromPath=Rt;jo.isEmptyPath=yn});var ke=g(function(Ho){var Vo=(e)=>e.replace(/^(?!$)(?: $)?/gm,"#");function Kt(e,t){if(/^\n+$/.test(e))return e.substring(1);return t?e.replace(/^(?! *$)/gm,t):e}var Jo=(e,t,s)=>e.endsWith(`
|
|
4
4
|
`)?Kt(s,t):s.includes(`
|
|
5
5
|
`)?`
|
|
6
6
|
`+Kt(s,t):(e.endsWith(" ")?"":" ")+s;Ho.indentComment=Kt;Ho.lineComment=Jo;Ho.stringifyComment=Vo});var Sn=g(function(Xo){function Go(e,t,s="flow",{indentAtStart:n,lineWidth:i=80,minContentWidth:r=20,onFold:o,onOverflow:a}={}){if(!i||i<0)return e;if(i<r)r=0;let l=Math.max(1+r,1+i-t.length);if(e.length<=l)return e;let c=[],d={},u=i-t.length;if(typeof n==="number")if(n>i-Math.max(2,r))c.push(0);else u=i-n;let f=void 0,m=void 0,y=!1,p=-1,h=-1,w=-1;if(s==="block"){if(p=wn(e,p,t.length),p!==-1)u=p+l}for(let v;v=e[p+=1];){if(s==="quoted"&&v==="\\"){switch(h=p,e[p+1]){case"x":p+=3;break;case"u":p+=5;break;case"U":p+=9;break;default:p+=1}w=p}if(v===`
|
|
@@ -9,7 +9,7 @@ var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Fe=import.meta
|
|
|
9
9
|
`&&k!=="\t")f=p}if(p>=u)if(f)c.push(f),u=f+l,f=void 0;else if(s==="quoted"){while(m===" "||m==="\t")m=v,v=e[p+=1],y=!0;let k=p>w+1?p-2:h-1;if(d[k])return e;c.push(k),d[k]=!0,u=k+l,f=void 0}else y=!0}m=v}if(y&&a)a();if(c.length===0)return e;if(o)o();let S=e.slice(0,c[0]);for(let v=0;v<c.length;++v){let k=c[v],N=c[v+1]||e.length;if(k===0)S=`
|
|
10
10
|
${t}${e.slice(0,N)}`;else{if(s==="quoted"&&d[k])S+=`${e[k]}\\`;S+=`
|
|
11
11
|
${t}${e.slice(k+1,N)}`}}return S}function wn(e,t,s){let n=t,i=t+1,r=e[i];while(r===" "||r==="\t")if(t<i+s)r=e[++t];else{do r=e[++t];while(r&&r!==`
|
|
12
|
-
`);n=t,i=t+1,r=e[i]}return n}Xo.FOLD_BLOCK="block";Xo.FOLD_FLOW="flow";Xo.FOLD_QUOTED="quoted";Xo.foldFlowLines=Go});var Ae=g(function(oa){var x=
|
|
12
|
+
`);n=t,i=t+1,r=e[i]}return n}Xo.FOLD_BLOCK="block";Xo.FOLD_FLOW="flow";Xo.FOLD_QUOTED="quoted";Xo.foldFlowLines=Go});var Ae=g(function(oa){var x=E(),Y=Sn(),Xe=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),Ze=(e)=>/^(%|---|\.\.\.)/m.test(e);function na(e,t,s){if(!t||t<0)return!1;let n=t-s,i=e.length;if(i<=n)return!1;for(let r=0,o=0;r<i;++r)if(e[r]===`
|
|
13
13
|
`){if(r-o>n)return!0;if(o=r+1,i-o<=n)return!1}return!0}function Ne(e,t){let s=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return s;let{implicitKey:n}=t,i=t.options.doubleQuotedMinMultiLineLength,r=t.indent||(Ze(e)?" ":""),o="",a=0;for(let l=0,c=s[l];c;c=s[++l]){if(c===" "&&s[l+1]==="\\"&&s[l+2]==="n")o+=s.slice(a,l)+"\\ ",l+=1,a=l,c="\\";if(c==="\\")switch(s[l+1]){case"u":{o+=s.slice(a,l);let d=s.substr(l+2,4);switch(d){case"0000":o+="\\0";break;case"0007":o+="\\a";break;case"000b":o+="\\v";break;case"001b":o+="\\e";break;case"0085":o+="\\N";break;case"00a0":o+="\\_";break;case"2028":o+="\\L";break;case"2029":o+="\\P";break;default:if(d.substr(0,2)==="00")o+="\\x"+d.substr(2);else o+=s.substr(l,6)}l+=5,a=l+1}break;case"n":if(n||s[l+2]==='"'||s.length<i)l+=1;else{o+=s.slice(a,l)+`
|
|
14
14
|
|
|
15
15
|
`;while(s[l+2]==="\\"&&s[l+3]==="n"&&s[l+4]!=='"')o+=`
|
|
@@ -32,7 +32,7 @@ ${c}${S}${s}${m}`}function ia(e,t,s,n){let{type:i,value:r}=e,{actualString:o,imp
|
|
|
32
32
|
`)?ue(r,t):Ge(e,t,s,n);if(!a&&!d&&i!==x.Scalar.PLAIN&&r.includes(`
|
|
33
33
|
`))return Ge(e,t,s,n);if(Ze(r)){if(l==="")return t.forceBlockIndent=!0,Ge(e,t,s,n);else if(a&&l===c)return ue(r,t)}let u=r.replace(/\n+/g,`$&
|
|
34
34
|
${l}`);if(o){let f=(p)=>p.default&&p.tag!=="tag:yaml.org,2002:str"&&p.test?.test(u),{compat:m,tags:y}=t.doc.schema;if(y.some(f)||m?.some(f))return ue(r,t)}return a?u:Y.foldFlowLines(u,l,Y.FOLD_FLOW,Xe(t,!1))}function ra(e,t,s,n){let{implicitKey:i,inFlow:r}=t,o=typeof e.value==="string"?e:Object.assign({},e,{value:String(e.value)}),{type:a}=e;if(a!==x.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(o.value))a=x.Scalar.QUOTE_DOUBLE}let l=(d)=>{switch(d){case x.Scalar.BLOCK_FOLDED:case x.Scalar.BLOCK_LITERAL:return i||r?ue(o.value,t):Ge(o,t,s,n);case x.Scalar.QUOTE_DOUBLE:return Ne(o.value,t);case x.Scalar.QUOTE_SINGLE:return jt(o.value,t);case x.Scalar.PLAIN:return ia(o,t,s,n);default:return null}},c=l(a);if(c===null){let{defaultKeyType:d,defaultStringType:u}=t.options,f=i&&d||u;if(c=l(f),c===null)throw Error(`Unsupported default string type ${f}`)}return c}oa.stringifyString=ra});var Oe=g(function(ma){var la=He(),V=O(),ca=ke(),ua=Ae();function fa(e,t){let s=Object.assign({blockQuote:!0,commentString:ca.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t),n;switch(s.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:e,flowCollectionPadding:s.flowCollectionPadding?" ":"",indent:"",indentStep:typeof s.indent==="number"?" ".repeat(s.indent):" ",inFlow:n,options:s}}function pa(e,t){if(t.tag){let i=e.filter((r)=>r.tag===t.tag);if(i.length>0)return i.find((r)=>r.format===t.format)??i[0]}let s=void 0,n;if(V.isScalar(t)){n=t.value;let i=e.filter((r)=>r.identify?.(n));if(i.length>1){let r=i.filter((o)=>o.test);if(r.length>0)i=r}s=i.find((r)=>r.format===t.format)??i.find((r)=>!r.format)}else n=t,s=e.find((i)=>i.nodeClass&&n instanceof i.nodeClass);if(!s){let i=n?.constructor?.name??(n===null?"null":typeof n);throw Error(`Tag not resolved for ${i} value`)}return s}function da(e,t,{anchors:s,doc:n}){if(!n.directives)return"";let i=[],r=(V.isScalar(e)||V.isCollection(e))&&e.anchor;if(r&&la.anchorIsValid(r))s.add(r),i.push(`&${r}`);let o=e.tag??(t.default?null:t.tag);if(o)i.push(n.directives.tagString(o));return i.join(" ")}function ha(e,t,s,n){if(V.isPair(e))return e.toString(t,s,n);if(V.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(t.resolvedAliases)t.resolvedAliases.add(e);else t.resolvedAliases=new Set([e]);e=e.resolve(t.doc)}}let i=void 0,r=V.isNode(e)?e:t.doc.createNode(e,{onTagObj:(l)=>i=l});i??(i=pa(t.doc.schema.tags,r));let o=da(r,i,t);if(o.length>0)t.indentAtStart=(t.indentAtStart??0)+o.length+1;let a=typeof i.stringify==="function"?i.stringify(r,t,s,n):V.isScalar(r)?ua.stringifyString(r,t,s,n):r.toString(t,s,n);if(!o)return a;return V.isScalar(r)||a[0]==="{"||a[0]==="["?`${o} ${a}`:`${o}
|
|
35
|
-
${t.indent}${a}`}ma.createStringifyContext=fa;ma.stringify=ha});var Nn=g(function(wa){var j=O(),vn=
|
|
35
|
+
${t.indent}${a}`}ma.createStringifyContext=fa;ma.stringify=ha});var Nn=g(function(wa){var j=O(),vn=E(),kn=Oe(),Ce=ke();function ba({key:e,value:t},s,n,i){let{allNullValues:r,doc:o,indent:a,indentStep:l,options:{commentString:c,indentSeq:d,simpleKeys:u}}=s,f=j.isNode(e)&&e.comment||null;if(u){if(f)throw Error("With simple keys, key nodes cannot have comments");if(j.isCollection(e)||!j.isNode(e)&&typeof e==="object")throw Error("With simple keys, collection cannot be used as a key value")}let m=!u&&(!e||f&&t==null&&!s.inFlow||j.isCollection(e)||(j.isScalar(e)?e.type===vn.Scalar.BLOCK_FOLDED||e.type===vn.Scalar.BLOCK_LITERAL:typeof e==="object"));s=Object.assign({},s,{allNullValues:!1,implicitKey:!m&&(u||!r),indent:a+l});let y=!1,p=!1,h=kn.stringify(e,s,()=>y=!0,()=>p=!0);if(!m&&!s.inFlow&&h.length>1024){if(u)throw Error("With simple keys, single line scalar must not span more than 1024 characters");m=!0}if(s.inFlow){if(r||t==null){if(y&&n)n();return h===""?"?":m?`? ${h}`:h}}else if(r&&!u||t==null&&m){if(h=`? ${h}`,f&&!y)h+=Ce.lineComment(h,s.indent,c(f));else if(p&&i)i();return h}if(y)f=null;if(m){if(f)h+=Ce.lineComment(h,s.indent,c(f));h=`? ${h}
|
|
36
36
|
${a}:`}else if(h=`${h}:`,f)h+=Ce.lineComment(h,s.indent,c(f));let w,S,v;if(j.isNode(t))w=!!t.spaceBefore,S=t.commentBefore,v=t.comment;else if(w=!1,S=null,v=null,t&&typeof t==="object")t=o.createNode(t);if(s.implicitKey=!1,!m&&!f&&j.isScalar(t))s.indentAtStart=h.length+1;if(p=!1,!d&&l.length>=2&&!s.inFlow&&!m&&j.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor)s.indent=s.indent.substring(2);let k=!1,N=kn.stringify(t,s,()=>k=!0,()=>p=!0),A=" ";if(f||w||S){if(A=w?`
|
|
37
37
|
`:"",S){let C=c(S);A+=`
|
|
38
38
|
${Ce.indentComment(C,s.indent)}`}if(N===""&&!s.inFlow){if(A===`
|
|
@@ -40,36 +40,36 @@ ${Ce.indentComment(C,s.indent)}`}if(N===""&&!s.inFlow){if(A===`
|
|
|
40
40
|
|
|
41
41
|
`}else A+=`
|
|
42
42
|
${s.indent}`}else if(!m&&j.isCollection(t)){let C=N[0],b=N.indexOf(`
|
|
43
|
-
`),
|
|
43
|
+
`),q=b!==-1,F=s.inFlow??t.flow??t.items.length===0;if(q||!F){let oe=!1;if(q&&(C==="&"||C==="!")){let L=N.indexOf(" ");if(C==="&"&&L!==-1&&L<b&&N[L+1]==="!")L=N.indexOf(" ",L+1);if(L===-1||b<L)oe=!0}if(!oe)A=`
|
|
44
44
|
${s.indent}`}}else if(N===""||N[0]===`
|
|
45
|
-
`)A="";if(h+=A+N,s.inFlow){if(k&&n)n()}else if(v&&!k)h+=Ce.lineComment(h,s.indent,c(v));else if(p&&i)i();return h}wa.stringifyPair=ba});var Ut=g(function(Na){var An=Fe("process");function va(e,...t){if(e==="debug")console.log(...t)}function ka(e,t){if(e==="debug"||e==="warn")if(typeof An.emitWarning==="function")An.emitWarning(t);else console.warn(t)}Na.debug=va;Na.warn=ka});var nt=g(function(
|
|
45
|
+
`)A="";if(h+=A+N,s.inFlow){if(k&&n)n()}else if(v&&!k)h+=Ce.lineComment(h,s.indent,c(v));else if(p&&i)i();return h}wa.stringifyPair=ba});var Ut=g(function(Na){var An=Fe("process");function va(e,...t){if(e==="debug")console.log(...t)}function ka(e,t){if(e==="debug"||e==="warn")if(typeof An.emitWarning==="function")An.emitWarning(t);else console.warn(t)}Na.debug=va;Na.warn=ka});var nt=g(function(Ea){var st=O(),On=E(),et="<<",tt={identify:(e)=>e===et||typeof e==="symbol"&&e.description===et,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new On.Scalar(Symbol(et)),{addToJSMap:Cn}),stringify:()=>et},Ca=(e,t)=>(tt.identify(t)||st.isScalar(t)&&(!t.type||t.type===On.Scalar.PLAIN)&&tt.identify(t.value))&&e?.doc.schema.tags.some((s)=>s.tag===tt.tag&&s.default);function Cn(e,t,s){let n=En(e,s);if(st.isSeq(n))for(let i of n.items)Yt(e,t,i);else if(Array.isArray(n))for(let i of n)Yt(e,t,i);else Yt(e,t,n)}function Yt(e,t,s){let n=En(e,s);if(!st.isMap(n))throw Error("Merge sources must be maps or map aliases");let i=n.toJSON(null,e,Map);for(let[r,o]of i)if(t instanceof Map){if(!t.has(r))t.set(r,o)}else if(t instanceof Set)t.add(r);else if(!Object.prototype.hasOwnProperty.call(t,r))Object.defineProperty(t,r,{value:o,writable:!0,enumerable:!0,configurable:!0});return t}function En(e,t){return e&&st.isAlias(t)?t.resolve(e.doc,e):t}Ea.addMergeToJSMap=Cn;Ea.isMergeKey=Ca;Ea.merge=tt});var Jt=g(function(_a){var Ta=Ut(),qn=nt(),Ia=Oe(),Ln=O(),Vt=U();function Ma(e,t,{key:s,value:n}){if(Ln.isNode(s)&&s.addToJSMap)s.addToJSMap(e,t,n);else if(qn.isMergeKey(e,s))qn.addMergeToJSMap(e,t,n);else{let i=Vt.toJS(s,"",e);if(t instanceof Map)t.set(i,Vt.toJS(n,i,e));else if(t instanceof Set)t.add(i);else{let r=$a(s,i,e),o=Vt.toJS(n,r,e);if(r in t)Object.defineProperty(t,r,{value:o,writable:!0,enumerable:!0,configurable:!0});else t[r]=o}}return t}function $a(e,t,s){if(t===null)return"";if(typeof t!=="object")return String(t);if(Ln.isNode(e)&&s?.doc){let n=Ia.createStringifyContext(s.doc,{});n.anchors=new Set;for(let r of s.anchors.keys())n.anchors.add(r.anchor);n.inFlow=!0,n.inStringifyKey=!0;let i=e.toString(n);if(!s.mapKeyWarned){let r=JSON.stringify(i);if(r.length>40)r=r.substring(0,36)+'..."';Ta.warn(s.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${r}. Set mapAsMap: true to use object keys.`),s.mapKeyWarned=!0}return i}return JSON.stringify(t)}_a.addPairToJSMap=Ma});var J=g(function(Ka){var Pn=ve(),Da=Nn(),Ba=Jt(),it=O();function Ra(e,t,s){let n=Pn.createNode(e,void 0,s),i=Pn.createNode(t,void 0,s);return new rt(n,i)}class rt{constructor(e,t=null){Object.defineProperty(this,it.NODE_TYPE,{value:it.PAIR}),this.key=e,this.value=t}clone(e){let{key:t,value:s}=this;if(it.isNode(t))t=t.clone(e);if(it.isNode(s))s=s.clone(e);return new rt(t,s)}toJSON(e,t){let s=t?.mapAsMap?new Map:{};return Ba.addPairToJSMap(t,s,this)}toString(e,t,s){return e?.doc?Da.stringifyPair(this,e,t,s):JSON.stringify(this)}}Ka.Pair=rt;Ka.createPair=Ra});var Ht=g(function(Ja){var ee=O(),Tn=Oe(),ot=ke();function Ua(e,t,s){return(t.inFlow??e.flow?Va:Ya)(e,t,s)}function Ya({comment:e,items:t},s,{blockItemPrefix:n,flowChars:i,itemIndent:r,onChompKeep:o,onComment:a}){let{indent:l,options:{commentString:c}}=s,d=Object.assign({},s,{indent:r,type:null}),u=!1,f=[];for(let y=0;y<t.length;++y){let p=t[y],h=null;if(ee.isNode(p)){if(!u&&p.spaceBefore)f.push("");if(at(s,f,p.commentBefore,u),p.comment)h=p.comment}else if(ee.isPair(p)){let S=ee.isNode(p.key)?p.key:null;if(S){if(!u&&S.spaceBefore)f.push("");at(s,f,S.commentBefore,u)}}u=!1;let w=Tn.stringify(p,d,()=>h=null,()=>u=!0);if(h)w+=ot.lineComment(w,r,c(h));if(u&&h)u=!1;f.push(n+w)}let m;if(f.length===0)m=i.start+i.end;else{m=f[0];for(let y=1;y<f.length;++y){let p=f[y];m+=p?`
|
|
46
46
|
${l}${p}`:`
|
|
47
47
|
`}}if(e){if(m+=`
|
|
48
48
|
`+ot.indentComment(c(e),l),a)a()}else if(u&&o)o();return m}function Va({items:e},t,{flowChars:s,itemIndent:n}){let{indent:i,indentStep:r,flowCollectionPadding:o,options:{commentString:a}}=t;n+=r;let l=Object.assign({},t,{indent:n,inFlow:!0,type:null}),c=!1,d=0,u=[];for(let y=0;y<e.length;++y){let p=e[y],h=null;if(ee.isNode(p)){if(p.spaceBefore)u.push("");if(at(t,u,p.commentBefore,!1),p.comment)h=p.comment}else if(ee.isPair(p)){let S=ee.isNode(p.key)?p.key:null;if(S){if(S.spaceBefore)u.push("");if(at(t,u,S.commentBefore,!1),S.comment)c=!0}let v=ee.isNode(p.value)?p.value:null;if(v){if(v.comment)h=v.comment;if(v.commentBefore)c=!0}else if(p.value==null&&S?.comment)h=S.comment}if(h)c=!0;let w=Tn.stringify(p,l,()=>h=null);if(c||(c=u.length>d||w.includes(`
|
|
49
49
|
`)),y<e.length-1)w+=",";else if(t.options.trailingComma){if(t.options.lineWidth>0)c||(c=u.reduce((S,v)=>S+v.length+2,2)+(w.length+2)>t.options.lineWidth);if(c)w+=","}if(h)w+=ot.lineComment(w,n,a(h));u.push(w),d=u.length}let{start:f,end:m}=s;if(u.length===0)return f+m;else{if(!c){let y=u.reduce((p,h)=>p+h.length+2,2);c=t.options.lineWidth>0&&y>t.options.lineWidth}if(c){let y=f;for(let p of u)y+=p?`
|
|
50
50
|
${r}${i}${p}`:`
|
|
51
51
|
`;return`${y}
|
|
52
|
-
${i}${m}`}else return`${f}${o}${u.join(" ")}${o}${m}`}}function at({indent:e,options:{commentString:t}},s,n,i){if(n&&i)n=n.replace(/^\n+/,"");if(n){let r=ot.indentComment(t(n),e);s.push(r.trimStart())}}Ja.stringifyCollection=Ua});var W=g(function(Xa){var Wa=Ht(),za=Jt(),Qa=Qe(),H=O(),lt=J(),Ga=
|
|
53
|
-
`:" ")}return rc.stringifyString({comment:e,type:t,value:a},n,i,r)}};ac.binary=oc});var mt=g(function(pc){var ht=O(),ns=J(),cc=
|
|
52
|
+
${i}${m}`}else return`${f}${o}${u.join(" ")}${o}${m}`}}function at({indent:e,options:{commentString:t}},s,n,i){if(n&&i)n=n.replace(/^\n+/,"");if(n){let r=ot.indentComment(t(n),e);s.push(r.trimStart())}}Ja.stringifyCollection=Ua});var W=g(function(Xa){var Wa=Ht(),za=Jt(),Qa=Qe(),H=O(),lt=J(),Ga=E();function Ee(e,t){let s=H.isScalar(t)?t.value:t;for(let n of e)if(H.isPair(n)){if(n.key===t||n.key===s)return n;if(H.isScalar(n.key)&&n.key.value===s)return n}return}class In extends Qa.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(H.MAP,e);this.items=[]}static from(e,t,s){let{keepUndefined:n,replacer:i}=s,r=new this(e),o=(a,l)=>{if(typeof i==="function")l=i.call(t,a,l);else if(Array.isArray(i)&&!i.includes(a))return;if(l!==void 0||n)r.items.push(lt.createPair(a,l,s))};if(t instanceof Map)for(let[a,l]of t)o(a,l);else if(t&&typeof t==="object")for(let a of Object.keys(t))o(a,t[a]);if(typeof e.sortMapEntries==="function")r.items.sort(e.sortMapEntries);return r}add(e,t){let s;if(H.isPair(e))s=e;else if(!e||typeof e!=="object"||!("key"in e))s=new lt.Pair(e,e?.value);else s=new lt.Pair(e.key,e.value);let n=Ee(this.items,s.key),i=this.schema?.sortMapEntries;if(n){if(!t)throw Error(`Key ${s.key} already set`);if(H.isScalar(n.value)&&Ga.isScalarValue(s.value))n.value.value=s.value;else n.value=s.value}else if(i){let r=this.items.findIndex((o)=>i(s,o)<0);if(r===-1)this.items.push(s);else this.items.splice(r,0,s)}else this.items.push(s)}delete(e){let t=Ee(this.items,e);if(!t)return!1;return this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){let n=Ee(this.items,e)?.value;return(!t&&H.isScalar(n)?n.value:n)??void 0}has(e){return!!Ee(this.items,e)}set(e,t){this.add(new lt.Pair(e,t),!0)}toJSON(e,t,s){let n=s?new s:t?.mapAsMap?new Map:{};if(t?.onCreate)t.onCreate(n);for(let i of this.items)za.addPairToJSMap(t,n,i);return n}toString(e,t,s){if(!e)return JSON.stringify(this);for(let n of this.items)if(!H.isPair(n))throw Error(`Map items must all be pairs; found ${JSON.stringify(n)} instead`);if(!e.allNullValues&&this.hasAllNullValues(!1))e=Object.assign({},e,{allNullValues:!0});return Wa.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:s,onComment:t})}}Xa.YAMLMap=In;Xa.findPair=Ee});var fe=g(function(nl){var tl=O(),Mn=W(),sl={collection:"map",default:!0,nodeClass:Mn.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){if(!tl.isMap(e))t("Expected a mapping for this tag");return e},createNode:(e,t,s)=>Mn.YAMLMap.from(e,t,s)};nl.map=sl});var z=g(function(ul){var rl=ve(),ol=Ht(),al=Qe(),ut=O(),ll=E(),cl=U();class $n extends al.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(ut.SEQ,e);this.items=[]}add(e){this.items.push(e)}delete(e){let t=ct(e);if(typeof t!=="number")return!1;return this.items.splice(t,1).length>0}get(e,t){let s=ct(e);if(typeof s!=="number")return;let n=this.items[s];return!t&&ut.isScalar(n)?n.value:n}has(e){let t=ct(e);return typeof t==="number"&&t<this.items.length}set(e,t){let s=ct(e);if(typeof s!=="number")throw Error(`Expected a valid index, not ${e}.`);let n=this.items[s];if(ut.isScalar(n)&&ll.isScalarValue(t))n.value=t;else this.items[s]=t}toJSON(e,t){let s=[];if(t?.onCreate)t.onCreate(s);let n=0;for(let i of this.items)s.push(cl.toJS(i,String(n++),t));return s}toString(e,t,s){if(!e)return JSON.stringify(this);return ol.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:s,onComment:t})}static from(e,t,s){let{replacer:n}=s,i=new this(e);if(t&&Symbol.iterator in Object(t)){let r=0;for(let o of t){if(typeof n==="function"){let a=t instanceof Set?o:String(r++);o=n.call(t,a,o)}i.items.push(rl.createNode(o,void 0,s))}}return i}}function ct(e){let t=ut.isScalar(e)?e.value:e;if(t&&typeof t==="string")t=Number(t);return typeof t==="number"&&Number.isInteger(t)&&t>=0?t:null}ul.YAMLSeq=$n});var pe=g(function(hl){var pl=O(),_n=z(),dl={collection:"seq",default:!0,nodeClass:_n.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){if(!pl.isSeq(e))t("Expected a sequence for this tag");return e},createNode:(e,t,s)=>_n.YAMLSeq.from(e,t,s)};hl.seq=dl});var qe=g(function(bl){var gl=Ae(),yl={identify:(e)=>typeof e==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(e)=>e,stringify(e,t,s,n){return t=Object.assign({actualString:!0},t),gl.stringifyString(e,t,s,n)}};bl.string=yl});var ft=g(function(Sl){var xn=E(),Dn={identify:(e)=>e==null,createNode:()=>new xn.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new xn.Scalar(null),stringify:({source:e},t)=>typeof e==="string"&&Dn.test.test(e)?e:t.options.nullStr};Sl.nullTag=Dn});var Wt=g(function(Nl){var kl=E(),Bn={identify:(e)=>typeof e==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(e)=>new kl.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},s){if(e&&Bn.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?s.options.trueStr:s.options.falseStr}};Nl.boolTag=Bn});var de=g(function(Cl){function Ol({format:e,minFractionDigits:t,tag:s,value:n}){if(typeof n==="bigint")return String(n);let i=typeof n==="number"?n:Number(n);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let r=Object.is(n,-0)?"-0":JSON.stringify(n);if(!e&&t&&(!s||s==="tag:yaml.org,2002:float")&&/^-?\d/.test(r)&&!r.includes("e")){let o=r.indexOf(".");if(o<0)o=r.length,r+=".";let a=t-(r.length-o-1);while(a-- >0)r+="0"}return r}Cl.stringifyNumber=Ol});var Qt=g(function(Il){var ql=E(),zt=de(),Ll={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(e)=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:zt.stringifyNumber},Pl={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(e)=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():zt.stringifyNumber(e)}},Tl={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new ql.Scalar(parseFloat(e)),s=e.indexOf(".");if(s!==-1&&e[e.length-1]==="0")t.minFractionDigits=e.length-s-1;return t},stringify:zt.stringifyNumber};Il.float=Tl;Il.floatExp=Pl;Il.floatNaN=Ll});var Xt=g(function(Rl){var Rn=de(),pt=(e)=>typeof e==="bigint"||Number.isInteger(e),Gt=(e,t,s,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),s);function Kn(e,t,s){let{value:n}=e;if(pt(n)&&n>=0)return s+n.toString(t);return Rn.stringifyNumber(e)}var xl={identify:(e)=>pt(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,s)=>Gt(e,2,8,s),stringify:(e)=>Kn(e,8,"0o")},Dl={identify:pt,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,s)=>Gt(e,0,10,s),stringify:Rn.stringifyNumber},Bl={identify:(e)=>pt(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,s)=>Gt(e,2,16,s),stringify:(e)=>Kn(e,16,"0x")};Rl.int=Dl;Rl.intHex=Bl;Rl.intOct=xl});var jn=g(function(zl){var Ul=fe(),Yl=ft(),Vl=pe(),Jl=qe(),Hl=Wt(),Zt=Qt(),es=Xt(),Wl=[Ul.map,Vl.seq,Jl.string,Yl.nullTag,Hl.boolTag,es.intOct,es.int,es.intHex,Zt.floatNaN,Zt.floatExp,Zt.float];zl.schema=Wl});var Un=g(function(nc){var Gl=E(),Xl=fe(),Zl=pe();function Fn(e){return typeof e==="bigint"||Number.isInteger(e)}var dt=({value:e})=>JSON.stringify(e),ec=[{identify:(e)=>typeof e==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(e)=>e,stringify:dt},{identify:(e)=>e==null,createNode:()=>new Gl.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:dt},{identify:(e)=>typeof e==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(e)=>e==="true",stringify:dt},{identify:Fn,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:s})=>s?BigInt(e):parseInt(e,10),stringify:({value:e})=>Fn(e)?e.toString():JSON.stringify(e)},{identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(e)=>parseFloat(e),stringify:dt}],tc={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},sc=[Xl.map,Zl.seq].concat(ec,tc);nc.schema=sc});var ss=g(function(ac){var Le=Fe("buffer"),ts=E(),rc=Ae(),oc={identify:(e)=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Le.Buffer==="function")return Le.Buffer.from(e,"base64");else if(typeof atob==="function"){let s=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(s.length);for(let i=0;i<s.length;++i)n[i]=s.charCodeAt(i);return n}else return t("This environment does not support reading binary tags; either Buffer or atob is required"),e},stringify({comment:e,type:t,value:s},n,i,r){if(!s)return"";let o=s,a;if(typeof Le.Buffer==="function")a=o instanceof Le.Buffer?o.toString("base64"):Le.Buffer.from(o.buffer).toString("base64");else if(typeof btoa==="function"){let l="";for(let c=0;c<o.length;++c)l+=String.fromCharCode(o[c]);a=btoa(l)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=ts.Scalar.BLOCK_LITERAL),t!==ts.Scalar.QUOTE_DOUBLE){let l=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),c=Math.ceil(a.length/l),d=Array(c);for(let u=0,f=0;u<c;++u,f+=l)d[u]=a.substr(f,l);a=d.join(t===ts.Scalar.BLOCK_LITERAL?`
|
|
53
|
+
`:" ")}return rc.stringifyString({comment:e,type:t,value:a},n,i,r)}};ac.binary=oc});var mt=g(function(pc){var ht=O(),ns=J(),cc=E(),uc=z();function Yn(e,t){if(ht.isSeq(e))for(let s=0;s<e.items.length;++s){let n=e.items[s];if(ht.isPair(n))continue;else if(ht.isMap(n)){if(n.items.length>1)t("Each pair must have its own sequence indicator");let i=n.items[0]||new ns.Pair(new cc.Scalar(null));if(n.commentBefore)i.key.commentBefore=i.key.commentBefore?`${n.commentBefore}
|
|
54
54
|
${i.key.commentBefore}`:n.commentBefore;if(n.comment){let r=i.value??i.key;r.comment=r.comment?`${n.comment}
|
|
55
|
-
${r.comment}`:n.comment}n=i}e.items[s]=ht.isPair(n)?n:new ns.Pair(n)}else t("Expected a sequence for this tag");return e}function Vn(e,t,s){let{replacer:n}=s,i=new uc.YAMLSeq(e);i.tag="tag:yaml.org,2002:pairs";let r=0;if(t&&Symbol.iterator in Object(t))for(let o of t){if(typeof n==="function")o=n.call(t,String(r++),o);let a,l;if(Array.isArray(o))if(o.length===2)a=o[0],l=o[1];else throw TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let c=Object.keys(o);if(c.length===1)a=c[0],l=o[a];else throw TypeError(`Expected tuple with one key, not ${c.length} keys`)}else a=o;i.items.push(ns.createPair(a,l,s))}return i}var fc={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Yn,createNode:Vn};pc.createPairs=Vn;pc.pairs=fc;pc.resolvePairs=Yn});var rs=g(function(bc){var Jn=O(),is=U(),Pe=W(),gc=z(),Hn=mt();class te extends gc.YAMLSeq{constructor(){super();this.add=Pe.YAMLMap.prototype.add.bind(this),this.delete=Pe.YAMLMap.prototype.delete.bind(this),this.get=Pe.YAMLMap.prototype.get.bind(this),this.has=Pe.YAMLMap.prototype.has.bind(this),this.set=Pe.YAMLMap.prototype.set.bind(this),this.tag=te.tag}toJSON(e,t){if(!t)return super.toJSON(e);let s=new Map;if(t?.onCreate)t.onCreate(s);for(let n of this.items){let i,r;if(Jn.isPair(n))i=is.toJS(n.key,"",t),r=is.toJS(n.value,i,t);else i=is.toJS(n,"",t);if(s.has(i))throw Error("Ordered maps must not include duplicate keys");s.set(i,r)}return s}static from(e,t,s){let n=Hn.createPairs(e,t,s),i=new this;return i.items=n.items,i}}te.tag="tag:yaml.org,2002:omap";var yc={collection:"seq",identify:(e)=>e instanceof Map,nodeClass:te,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let s=Hn.resolvePairs(e,t),n=[];for(let{key:i}of s.items)if(Jn.isScalar(i))if(n.includes(i.value))t(`Ordered maps must not include duplicate keys: ${i.value}`);else n.push(i.value);return Object.assign(new te,s)},createNode:(e,t,s)=>te.from(e,t,s)};bc.YAMLOMap=te;bc.omap=yc});var Xn=g(function(vc){var Wn=q();function zn({value:e,source:t},s){if(t&&(e?Qn:Gn).test.test(t))return t;return e?s.options.trueStr:s.options.falseStr}var Qn={identify:(e)=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Wn.Scalar(!0),stringify:zn},Gn={identify:(e)=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Wn.Scalar(!1),stringify:zn};vc.falseTag=Gn;vc.trueTag=Qn});var Zn=g(function(Ec){var Ac=q(),os=de(),Oc={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(e)=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:os.stringifyNumber},Cc={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(e)=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():os.stringifyNumber(e)}},qc={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new Ac.Scalar(parseFloat(e.replace(/_/g,""))),s=e.indexOf(".");if(s!==-1){let n=e.substring(s+1).replace(/_/g,"");if(n[n.length-1]==="0")t.minFractionDigits=n.length}return t},stringify:os.stringifyNumber};Ec.float=qc;Ec.floatExp=Cc;Ec.floatNaN=Oc});var ti=g(function(xc){var ei=de(),Te=(e)=>typeof e==="bigint"||Number.isInteger(e);function gt(e,t,s,{intAsBigInt:n}){let i=e[0];if(i==="-"||i==="+")t+=1;if(e=e.substring(t).replace(/_/g,""),n){switch(s){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let o=BigInt(e);return i==="-"?BigInt(-1)*o:o}let r=parseInt(e,s);return i==="-"?-1*r:r}function as(e,t,s){let{value:n}=e;if(Te(n)){let i=n.toString(t);return n<0?"-"+s+i.substr(1):s+i}return ei.stringifyNumber(e)}var Ic={identify:Te,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,s)=>gt(e,2,2,s),stringify:(e)=>as(e,2,"0b")},Mc={identify:Te,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,s)=>gt(e,1,8,s),stringify:(e)=>as(e,8,"0")},$c={identify:Te,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,s)=>gt(e,0,10,s),stringify:ei.stringifyNumber},_c={identify:Te,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,s)=>gt(e,2,16,s),stringify:(e)=>as(e,16,"0x")};xc.int=$c;xc.intBin=Ic;xc.intHex=_c;xc.intOct=Mc});var ls=g(function(Fc){var wt=O(),yt=J(),bt=W();class se extends bt.YAMLMap{constructor(e){super(e);this.tag=se.tag}add(e){let t;if(wt.isPair(e))t=e;else if(e&&typeof e==="object"&&"key"in e&&"value"in e&&e.value===null)t=new yt.Pair(e.key,null);else t=new yt.Pair(e,null);if(!bt.findPair(this.items,t.key))this.items.push(t)}get(e,t){let s=bt.findPair(this.items,e);return!t&&wt.isPair(s)?wt.isScalar(s.key)?s.key.value:s.key:s}set(e,t){if(typeof t!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let s=bt.findPair(this.items,e);if(s&&!t)this.items.splice(this.items.indexOf(s),1);else if(!s&&t)this.items.push(new yt.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);else throw 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 r of t){if(typeof n==="function")r=n.call(t,r,r);i.items.push(yt.createPair(r,null,s))}return i}}se.tag="tag:yaml.org,2002:set";var jc={collection:"map",identify:(e)=>e instanceof Set,nodeClass:se,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,s)=>se.from(e,t,s),resolve(e,t){if(wt.isMap(e))if(e.hasAllNullValues(!0))return Object.assign(new se,e);else t("Set items must all have null values");else t("Expected a mapping for this tag");return e}};Fc.YAMLSet=se;Fc.set=jc});var us=g(function(Wc){var Vc=de();function cs(e,t){let s=e[0],n=s==="-"||s==="+"?e.substring(1):e,i=(o)=>t?BigInt(o):Number(o),r=n.replace(/_/g,"").split(":").reduce((o,a)=>o*i(60)+i(a),i(0));return s==="-"?i(-1)*r:r}function si(e){let{value:t}=e,s=(o)=>o;if(typeof t==="bigint")s=(o)=>BigInt(o);else if(isNaN(t)||!isFinite(t))return Vc.stringifyNumber(e);let n="";if(t<0)n="-",t*=s(-1);let i=s(60),r=[t%i];if(t<60)r.unshift(0);else if(t=(t-r[0])/i,r.unshift(t%i),t>=60)t=(t-r[0])/i,r.unshift(t);return n+r.map((o)=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Jc={identify:(e)=>typeof e==="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:s})=>cs(e,s),stringify:si},Hc={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(e)=>cs(e,!1),stringify:si},ni={identify:(e)=>e 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(e){let t=e.match(ni.test);if(!t)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,s,n,i,r,o,a]=t.map(Number),l=t[7]?Number((t[7]+"00").substr(1,3)):0,c=Date.UTC(s,n-1,i,r||0,o||0,a||0,l),d=t[8];if(d&&d!=="Z"){let u=cs(d,!1);if(Math.abs(u)<30)u*=60;c-=60000*u}return new Date(c)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Wc.floatTime=Hc;Wc.intTime=Jc;Wc.timestamp=ni});var ri=g(function(lu){var Xc=fe(),Zc=ft(),eu=pe(),tu=Ee(),su=ss(),ii=Xn(),fs=Zn(),St=ti(),nu=nt(),iu=rs(),ru=mt(),ou=ls(),ps=us(),au=[Xc.map,eu.seq,tu.string,Zc.nullTag,ii.trueTag,ii.falseTag,St.intBin,St.intOct,St.int,St.intHex,fs.floatNaN,fs.floatExp,fs.float,su.binary,nu.merge,iu.omap,ru.pairs,ou.set,ps.intTime,ps.floatTime,ps.timestamp];lu.schema=au});var mi=g(function(yu){var ci=fe(),uu=ft(),ui=pe(),fu=Ee(),pu=Wt(),ds=Qt(),hs=Xt(),du=jn(),hu=Un(),fi=ss(),Ie=nt(),pi=rs(),di=mt(),oi=ri(),hi=ls(),vt=us(),ai=new Map([["core",du.schema],["failsafe",[ci.map,ui.seq,fu.string]],["json",hu.schema],["yaml11",oi.schema],["yaml-1.1",oi.schema]]),li={binary:fi.binary,bool:pu.boolTag,float:ds.float,floatExp:ds.floatExp,floatNaN:ds.floatNaN,floatTime:vt.floatTime,int:hs.int,intHex:hs.intHex,intOct:hs.intOct,intTime:vt.intTime,map:ci.map,merge:Ie.merge,null:uu.nullTag,omap:pi.omap,pairs:di.pairs,seq:ui.seq,set:hi.set,timestamp:vt.timestamp},mu={"tag:yaml.org,2002:binary":fi.binary,"tag:yaml.org,2002:merge":Ie.merge,"tag:yaml.org,2002:omap":pi.omap,"tag:yaml.org,2002:pairs":di.pairs,"tag:yaml.org,2002:set":hi.set,"tag:yaml.org,2002:timestamp":vt.timestamp};function gu(e,t,s){let n=ai.get(t);if(n&&!e)return s&&!n.includes(Ie.merge)?n.concat(Ie.merge):n.slice();let i=n;if(!i)if(Array.isArray(e))i=[];else{let r=Array.from(ai.keys()).filter((o)=>o!=="yaml11").map((o)=>JSON.stringify(o)).join(", ");throw Error(`Unknown schema "${t}"; use one of ${r} or define customTags array`)}if(Array.isArray(e))for(let r of e)i=i.concat(r);else if(typeof e==="function")i=e(i.slice());if(s)i=i.concat(Ie.merge);return i.reduce((r,o)=>{let a=typeof o==="string"?li[o]:o;if(!a){let l=JSON.stringify(o),c=Object.keys(li).map((d)=>JSON.stringify(d)).join(", ");throw Error(`Unknown custom tag ${l}; use one of ${c}`)}if(!r.includes(a))r.push(a);return r},[])}yu.coreKnownTags=mu;yu.getTags=gu});var ys=g(function(Au){var ms=O(),Su=fe(),vu=pe(),ku=Ee(),kt=mi(),Nu=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0;class gs{constructor({compat:e,customTags:t,merge:s,resolveKnownTags:n,schema:i,sortMapEntries:r,toStringDefaults:o}){this.compat=Array.isArray(e)?kt.getTags(e,"compat"):e?kt.getTags(null,e):null,this.name=typeof i==="string"&&i||"core",this.knownTags=n?kt.coreKnownTags:{},this.tags=kt.getTags(t,this.name,s),this.toStringOptions=o??null,Object.defineProperty(this,ms.MAP,{value:Su.map}),Object.defineProperty(this,ms.SCALAR,{value:ku.string}),Object.defineProperty(this,ms.SEQ,{value:vu.seq}),this.sortMapEntries=typeof r==="function"?r:r===!0?Nu:null}clone(){let e=Object.create(gs.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}Au.Schema=gs});var gi=g(function(Eu){var Cu=O(),bs=Oe(),Me=ke();function qu(e,t){let s=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let l=e.directives.toString(e);if(l)s.push(l),n=!0;else if(e.directives.docStart)n=!0}if(n)s.push("---");let i=bs.createStringifyContext(e,t),{commentString:r}=i.options;if(e.commentBefore){if(s.length!==1)s.unshift("");let l=r(e.commentBefore);s.unshift(Me.indentComment(l,""))}let o=!1,a=null;if(e.contents){if(Cu.isNode(e.contents)){if(e.contents.spaceBefore&&n)s.push("");if(e.contents.commentBefore){let d=r(e.contents.commentBefore);s.push(Me.indentComment(d,""))}i.forceBlockIndent=!!e.comment,a=e.contents.comment}let l=a?void 0:()=>o=!0,c=bs.stringify(e.contents,i,()=>a=null,l);if(a)c+=Me.lineComment(c,"",r(a));if((c[0]==="|"||c[0]===">")&&s[s.length-1]==="---")s[s.length-1]=`--- ${c}`;else s.push(c)}else s.push(bs.stringify(e.contents,i));if(e.directives?.docEnd)if(e.comment){let l=r(e.comment);if(l.includes(`
|
|
55
|
+
${r.comment}`:n.comment}n=i}e.items[s]=ht.isPair(n)?n:new ns.Pair(n)}else t("Expected a sequence for this tag");return e}function Vn(e,t,s){let{replacer:n}=s,i=new uc.YAMLSeq(e);i.tag="tag:yaml.org,2002:pairs";let r=0;if(t&&Symbol.iterator in Object(t))for(let o of t){if(typeof n==="function")o=n.call(t,String(r++),o);let a,l;if(Array.isArray(o))if(o.length===2)a=o[0],l=o[1];else throw TypeError(`Expected [key, value] tuple: ${o}`);else if(o&&o instanceof Object){let c=Object.keys(o);if(c.length===1)a=c[0],l=o[a];else throw TypeError(`Expected tuple with one key, not ${c.length} keys`)}else a=o;i.items.push(ns.createPair(a,l,s))}return i}var fc={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:Yn,createNode:Vn};pc.createPairs=Vn;pc.pairs=fc;pc.resolvePairs=Yn});var rs=g(function(bc){var Jn=O(),is=U(),Pe=W(),gc=z(),Hn=mt();class te extends gc.YAMLSeq{constructor(){super();this.add=Pe.YAMLMap.prototype.add.bind(this),this.delete=Pe.YAMLMap.prototype.delete.bind(this),this.get=Pe.YAMLMap.prototype.get.bind(this),this.has=Pe.YAMLMap.prototype.has.bind(this),this.set=Pe.YAMLMap.prototype.set.bind(this),this.tag=te.tag}toJSON(e,t){if(!t)return super.toJSON(e);let s=new Map;if(t?.onCreate)t.onCreate(s);for(let n of this.items){let i,r;if(Jn.isPair(n))i=is.toJS(n.key,"",t),r=is.toJS(n.value,i,t);else i=is.toJS(n,"",t);if(s.has(i))throw Error("Ordered maps must not include duplicate keys");s.set(i,r)}return s}static from(e,t,s){let n=Hn.createPairs(e,t,s),i=new this;return i.items=n.items,i}}te.tag="tag:yaml.org,2002:omap";var yc={collection:"seq",identify:(e)=>e instanceof Map,nodeClass:te,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let s=Hn.resolvePairs(e,t),n=[];for(let{key:i}of s.items)if(Jn.isScalar(i))if(n.includes(i.value))t(`Ordered maps must not include duplicate keys: ${i.value}`);else n.push(i.value);return Object.assign(new te,s)},createNode:(e,t,s)=>te.from(e,t,s)};bc.YAMLOMap=te;bc.omap=yc});var Xn=g(function(vc){var Wn=E();function zn({value:e,source:t},s){if(t&&(e?Qn:Gn).test.test(t))return t;return e?s.options.trueStr:s.options.falseStr}var Qn={identify:(e)=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Wn.Scalar(!0),stringify:zn},Gn={identify:(e)=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Wn.Scalar(!1),stringify:zn};vc.falseTag=Gn;vc.trueTag=Qn});var Zn=g(function(qc){var Ac=E(),os=de(),Oc={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(e)=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:os.stringifyNumber},Cc={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(e)=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():os.stringifyNumber(e)}},Ec={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new Ac.Scalar(parseFloat(e.replace(/_/g,""))),s=e.indexOf(".");if(s!==-1){let n=e.substring(s+1).replace(/_/g,"");if(n[n.length-1]==="0")t.minFractionDigits=n.length}return t},stringify:os.stringifyNumber};qc.float=Ec;qc.floatExp=Cc;qc.floatNaN=Oc});var ti=g(function(xc){var ei=de(),Te=(e)=>typeof e==="bigint"||Number.isInteger(e);function gt(e,t,s,{intAsBigInt:n}){let i=e[0];if(i==="-"||i==="+")t+=1;if(e=e.substring(t).replace(/_/g,""),n){switch(s){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let o=BigInt(e);return i==="-"?BigInt(-1)*o:o}let r=parseInt(e,s);return i==="-"?-1*r:r}function as(e,t,s){let{value:n}=e;if(Te(n)){let i=n.toString(t);return n<0?"-"+s+i.substr(1):s+i}return ei.stringifyNumber(e)}var Ic={identify:Te,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,s)=>gt(e,2,2,s),stringify:(e)=>as(e,2,"0b")},Mc={identify:Te,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,s)=>gt(e,1,8,s),stringify:(e)=>as(e,8,"0")},$c={identify:Te,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,s)=>gt(e,0,10,s),stringify:ei.stringifyNumber},_c={identify:Te,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,s)=>gt(e,2,16,s),stringify:(e)=>as(e,16,"0x")};xc.int=$c;xc.intBin=Ic;xc.intHex=_c;xc.intOct=Mc});var ls=g(function(Fc){var wt=O(),yt=J(),bt=W();class se extends bt.YAMLMap{constructor(e){super(e);this.tag=se.tag}add(e){let t;if(wt.isPair(e))t=e;else if(e&&typeof e==="object"&&"key"in e&&"value"in e&&e.value===null)t=new yt.Pair(e.key,null);else t=new yt.Pair(e,null);if(!bt.findPair(this.items,t.key))this.items.push(t)}get(e,t){let s=bt.findPair(this.items,e);return!t&&wt.isPair(s)?wt.isScalar(s.key)?s.key.value:s.key:s}set(e,t){if(typeof t!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let s=bt.findPair(this.items,e);if(s&&!t)this.items.splice(this.items.indexOf(s),1);else if(!s&&t)this.items.push(new yt.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);else throw 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 r of t){if(typeof n==="function")r=n.call(t,r,r);i.items.push(yt.createPair(r,null,s))}return i}}se.tag="tag:yaml.org,2002:set";var jc={collection:"map",identify:(e)=>e instanceof Set,nodeClass:se,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,s)=>se.from(e,t,s),resolve(e,t){if(wt.isMap(e))if(e.hasAllNullValues(!0))return Object.assign(new se,e);else t("Set items must all have null values");else t("Expected a mapping for this tag");return e}};Fc.YAMLSet=se;Fc.set=jc});var us=g(function(Wc){var Vc=de();function cs(e,t){let s=e[0],n=s==="-"||s==="+"?e.substring(1):e,i=(o)=>t?BigInt(o):Number(o),r=n.replace(/_/g,"").split(":").reduce((o,a)=>o*i(60)+i(a),i(0));return s==="-"?i(-1)*r:r}function si(e){let{value:t}=e,s=(o)=>o;if(typeof t==="bigint")s=(o)=>BigInt(o);else if(isNaN(t)||!isFinite(t))return Vc.stringifyNumber(e);let n="";if(t<0)n="-",t*=s(-1);let i=s(60),r=[t%i];if(t<60)r.unshift(0);else if(t=(t-r[0])/i,r.unshift(t%i),t>=60)t=(t-r[0])/i,r.unshift(t);return n+r.map((o)=>String(o).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var Jc={identify:(e)=>typeof e==="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:s})=>cs(e,s),stringify:si},Hc={identify:(e)=>typeof e==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(e)=>cs(e,!1),stringify:si},ni={identify:(e)=>e 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(e){let t=e.match(ni.test);if(!t)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,s,n,i,r,o,a]=t.map(Number),l=t[7]?Number((t[7]+"00").substr(1,3)):0,c=Date.UTC(s,n-1,i,r||0,o||0,a||0,l),d=t[8];if(d&&d!=="Z"){let u=cs(d,!1);if(Math.abs(u)<30)u*=60;c-=60000*u}return new Date(c)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};Wc.floatTime=Hc;Wc.intTime=Jc;Wc.timestamp=ni});var ri=g(function(lu){var Xc=fe(),Zc=ft(),eu=pe(),tu=qe(),su=ss(),ii=Xn(),fs=Zn(),St=ti(),nu=nt(),iu=rs(),ru=mt(),ou=ls(),ps=us(),au=[Xc.map,eu.seq,tu.string,Zc.nullTag,ii.trueTag,ii.falseTag,St.intBin,St.intOct,St.int,St.intHex,fs.floatNaN,fs.floatExp,fs.float,su.binary,nu.merge,iu.omap,ru.pairs,ou.set,ps.intTime,ps.floatTime,ps.timestamp];lu.schema=au});var mi=g(function(yu){var ci=fe(),uu=ft(),ui=pe(),fu=qe(),pu=Wt(),ds=Qt(),hs=Xt(),du=jn(),hu=Un(),fi=ss(),Ie=nt(),pi=rs(),di=mt(),oi=ri(),hi=ls(),vt=us(),ai=new Map([["core",du.schema],["failsafe",[ci.map,ui.seq,fu.string]],["json",hu.schema],["yaml11",oi.schema],["yaml-1.1",oi.schema]]),li={binary:fi.binary,bool:pu.boolTag,float:ds.float,floatExp:ds.floatExp,floatNaN:ds.floatNaN,floatTime:vt.floatTime,int:hs.int,intHex:hs.intHex,intOct:hs.intOct,intTime:vt.intTime,map:ci.map,merge:Ie.merge,null:uu.nullTag,omap:pi.omap,pairs:di.pairs,seq:ui.seq,set:hi.set,timestamp:vt.timestamp},mu={"tag:yaml.org,2002:binary":fi.binary,"tag:yaml.org,2002:merge":Ie.merge,"tag:yaml.org,2002:omap":pi.omap,"tag:yaml.org,2002:pairs":di.pairs,"tag:yaml.org,2002:set":hi.set,"tag:yaml.org,2002:timestamp":vt.timestamp};function gu(e,t,s){let n=ai.get(t);if(n&&!e)return s&&!n.includes(Ie.merge)?n.concat(Ie.merge):n.slice();let i=n;if(!i)if(Array.isArray(e))i=[];else{let r=Array.from(ai.keys()).filter((o)=>o!=="yaml11").map((o)=>JSON.stringify(o)).join(", ");throw Error(`Unknown schema "${t}"; use one of ${r} or define customTags array`)}if(Array.isArray(e))for(let r of e)i=i.concat(r);else if(typeof e==="function")i=e(i.slice());if(s)i=i.concat(Ie.merge);return i.reduce((r,o)=>{let a=typeof o==="string"?li[o]:o;if(!a){let l=JSON.stringify(o),c=Object.keys(li).map((d)=>JSON.stringify(d)).join(", ");throw Error(`Unknown custom tag ${l}; use one of ${c}`)}if(!r.includes(a))r.push(a);return r},[])}yu.coreKnownTags=mu;yu.getTags=gu});var ys=g(function(Au){var ms=O(),Su=fe(),vu=pe(),ku=qe(),kt=mi(),Nu=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0;class gs{constructor({compat:e,customTags:t,merge:s,resolveKnownTags:n,schema:i,sortMapEntries:r,toStringDefaults:o}){this.compat=Array.isArray(e)?kt.getTags(e,"compat"):e?kt.getTags(null,e):null,this.name=typeof i==="string"&&i||"core",this.knownTags=n?kt.coreKnownTags:{},this.tags=kt.getTags(t,this.name,s),this.toStringOptions=o??null,Object.defineProperty(this,ms.MAP,{value:Su.map}),Object.defineProperty(this,ms.SCALAR,{value:ku.string}),Object.defineProperty(this,ms.SEQ,{value:vu.seq}),this.sortMapEntries=typeof r==="function"?r:r===!0?Nu:null}clone(){let e=Object.create(gs.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}Au.Schema=gs});var gi=g(function(qu){var Cu=O(),bs=Oe(),Me=ke();function Eu(e,t){let s=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let l=e.directives.toString(e);if(l)s.push(l),n=!0;else if(e.directives.docStart)n=!0}if(n)s.push("---");let i=bs.createStringifyContext(e,t),{commentString:r}=i.options;if(e.commentBefore){if(s.length!==1)s.unshift("");let l=r(e.commentBefore);s.unshift(Me.indentComment(l,""))}let o=!1,a=null;if(e.contents){if(Cu.isNode(e.contents)){if(e.contents.spaceBefore&&n)s.push("");if(e.contents.commentBefore){let d=r(e.contents.commentBefore);s.push(Me.indentComment(d,""))}i.forceBlockIndent=!!e.comment,a=e.contents.comment}let l=a?void 0:()=>o=!0,c=bs.stringify(e.contents,i,()=>a=null,l);if(a)c+=Me.lineComment(c,"",r(a));if((c[0]==="|"||c[0]===">")&&s[s.length-1]==="---")s[s.length-1]=`--- ${c}`;else s.push(c)}else s.push(bs.stringify(e.contents,i));if(e.directives?.docEnd)if(e.comment){let l=r(e.comment);if(l.includes(`
|
|
56
56
|
`))s.push("..."),s.push(Me.indentComment(l,""));else s.push(`... ${l}`)}else s.push("...");else{let l=e.comment;if(l&&o)l=l.replace(/^\n+/,"");if(l){if((!o||a)&&s[s.length-1]!=="")s.push("");s.push(Me.indentComment(r(l),""))}}return s.join(`
|
|
57
57
|
`)+`
|
|
58
|
-
`}
|
|
58
|
+
`}qu.stringifyDocument=Eu});var $e=g(function(Du){var Pu=Se(),he=Qe(),_=O(),Tu=J(),Iu=U(),Mu=ys(),$u=gi(),ws=He(),_u=Bt(),xu=ve(),Ss=Dt();class vs{constructor(e,t,s){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,_.NODE_TYPE,{value:_.DOC});let n=null;if(typeof t==="function"||Array.isArray(t))n=t;else if(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:r}=i;if(s?._directives){if(this.directives=s._directives.atDocument(),this.directives.yaml.explicit)r=this.directives.yaml.version}else this.directives=new Ss.Directives({version:r});this.setSchema(r,s),this.contents=e===void 0?null:this.createNode(e,n,s)}clone(){let e=Object.create(vs.prototype,{[_.NODE_TYPE]:{value:_.DOC}});if(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();if(e.schema=this.schema.clone(),e.contents=_.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range)e.range=this.range.slice();return e}add(e){if(me(this.contents))this.contents.add(e)}addIn(e,t){if(me(this.contents))this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let s=ws.anchorNames(this);e.anchor=!t||s.has(t)?ws.findNewAnchor(t||"a",s):t}return new Pu.Alias(e.anchor)}createNode(e,t,s){let n=void 0;if(typeof t==="function")e=t.call({"":e},"",e),n=t;else if(Array.isArray(t)){let p=(w)=>typeof w==="number"||w instanceof String||w instanceof Number,h=t.filter(p).map(String);if(h.length>0)t=t.concat(h);n=t}else if(s===void 0&&t)s=t,t=void 0;let{aliasDuplicateObjects:i,anchorPrefix:r,flow:o,keepUndefined:a,onTagObj:l,tag:c}=s??{},{onAnchor:d,setAnchors:u,sourceObjects:f}=ws.createNodeAnchors(this,r||"a"),m={aliasDuplicateObjects:i??!0,keepUndefined:a??!1,onAnchor:d,onTagObj:l,replacer:n,schema:this.schema,sourceObjects:f},y=xu.createNode(e,c,m);if(o&&_.isCollection(y))y.flow=!0;return u(),y}createPair(e,t,s={}){let n=this.createNode(e,null,s),i=this.createNode(t,null,s);return new Tu.Pair(n,i)}delete(e){return me(this.contents)?this.contents.delete(e):!1}deleteIn(e){if(he.isEmptyPath(e)){if(this.contents==null)return!1;return this.contents=null,!0}return me(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return _.isCollection(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){if(he.isEmptyPath(e))return!t&&_.isScalar(this.contents)?this.contents.value:this.contents;return _.isCollection(this.contents)?this.contents.getIn(e,t):void 0}has(e){return _.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){if(he.isEmptyPath(e))return this.contents!==void 0;return _.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,t){if(this.contents==null)this.contents=he.collectionFromPath(this.schema,[e],t);else if(me(this.contents))this.contents.set(e,t)}setIn(e,t){if(he.isEmptyPath(e))this.contents=t;else if(this.contents==null)this.contents=he.collectionFromPath(this.schema,Array.from(e),t);else if(me(this.contents))this.contents.setIn(e,t)}setSchema(e,t={}){if(typeof e==="number")e=String(e);let s;switch(e){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new Ss.Directives({version:"1.1"});s={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=e;else this.directives=new Ss.Directives({version:e});s={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;s=null;break;default:{let n=JSON.stringify(e);throw 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 Mu.Schema(Object.assign(s,t));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:s,maxAliasCount:n,onAnchor:i,reviver:r}={}){let o={anchors:new Map,doc:this,keep:!e,mapAsMap:s===!0,mapKeyWarned:!1,maxAliasCount:typeof n==="number"?n:100},a=Iu.toJS(this.contents,t??"",o);if(typeof i==="function")for(let{count:l,res:c}of o.anchors.values())i(c,l);return typeof r==="function"?_u.applyReviver(r,{"":a},"",a):a}toJSON(e,t){return this.toJS({json:!0,jsonArg:e,mapAsMap:!1,onAnchor:t})}toString(e={}){if(this.errors.length>0)throw 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 Error(`"indent" option must be a positive integer, not ${t}`)}return $u.stringifyDocument(this,e)}}function me(e){if(_.isCollection(e))return!0;throw Error("Expected a YAML collection as document contents")}Du.Document=vs});var _e=g(function(Ku){class Nt extends Error{constructor(e,t,s,n){super();this.name=e,this.code=s,this.message=n,this.pos=t}}class yi extends Nt{constructor(e,t,s){super("YAMLParseError",e,t,s)}}class bi extends Nt{constructor(e,t,s){super("YAMLWarning",e,t,s)}}var Ru=(e,t)=>(s)=>{if(s.pos[0]===-1)return;s.linePos=s.pos.map((a)=>t.linePos(a));let{line:n,col:i}=s.linePos[0];s.message+=` at line ${n}, column ${i}`;let r=i-1,o=e.substring(t.lineStarts[n-1],t.lineStarts[n]).replace(/[\n\r]+$/,"");if(r>=60&&o.length>80){let a=Math.min(r-39,o.length-79);o="\u2026"+o.substring(a),r-=a-1}if(o.length>80)o=o.substring(0,79)+"\u2026";if(n>1&&/^ *$/.test(o.substring(0,r))){let a=e.substring(t.lineStarts[n-2],t.lineStarts[n-1]);if(a.length>80)a=a.substring(0,79)+`\u2026
|
|
59
59
|
`;o=a+o}if(/[^ ]/.test(o)){let a=1,l=s.linePos[1];if(l?.line===n&&l.col>i)a=Math.max(1,Math.min(l.col-i,80-r));let c=" ".repeat(r)+"^".repeat(a);s.message+=`:
|
|
60
60
|
|
|
61
61
|
${o}
|
|
62
62
|
${c}
|
|
63
|
-
`}};Ku.YAMLError=Nt;Ku.YAMLParseError=yi;Ku.YAMLWarning=bi;Ku.prettifyError=Ru});var xe=g(function(Ju){function Vu(e,{flow:t,indicator:s,next:n,offset:i,onError:r,parentIndent:o,startOnNewline:a}){let l=!1,c=a,d=a,u="",f="",m=!1,y=!1,p=null,h=null,w=null,S=null,v=null,k=null,N=null;for(let b of e){if(y){if(b.type!=="space"&&b.type!=="newline"&&b.type!=="comma")r(b.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");y=!1}if(p){if(c&&b.type!=="comment"&&b.type!=="newline")r(p,"TAB_AS_INDENT","Tabs are not allowed as indentation");p=null}switch(b.type){case"space":if(!t&&(s!=="doc-start"||n?.type!=="flow-collection")&&b.source.includes("\t"))p=b;d=!0;break;case"comment":{if(!d)r(b,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let
|
|
63
|
+
`}};Ku.YAMLError=Nt;Ku.YAMLParseError=yi;Ku.YAMLWarning=bi;Ku.prettifyError=Ru});var xe=g(function(Ju){function Vu(e,{flow:t,indicator:s,next:n,offset:i,onError:r,parentIndent:o,startOnNewline:a}){let l=!1,c=a,d=a,u="",f="",m=!1,y=!1,p=null,h=null,w=null,S=null,v=null,k=null,N=null;for(let b of e){if(y){if(b.type!=="space"&&b.type!=="newline"&&b.type!=="comma")r(b.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");y=!1}if(p){if(c&&b.type!=="comment"&&b.type!=="newline")r(p,"TAB_AS_INDENT","Tabs are not allowed as indentation");p=null}switch(b.type){case"space":if(!t&&(s!=="doc-start"||n?.type!=="flow-collection")&&b.source.includes("\t"))p=b;d=!0;break;case"comment":{if(!d)r(b,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let q=b.source.substring(1)||" ";if(!u)u=q;else u+=f+q;f="",c=!1;break}case"newline":if(c){if(u)u+=b.source;else if(!k||s!=="seq-item-ind")l=!0}else f+=b.source;if(c=!0,m=!0,h||w)S=b;d=!0;break;case"anchor":if(h)r(b,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(b.source.endsWith(":"))r(b.offset+b.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);h=b,N??(N=b.offset),c=!1,d=!1,y=!0;break;case"tag":{if(w)r(b,"MULTIPLE_TAGS","A node can have at most one tag");w=b,N??(N=b.offset),c=!1,d=!1,y=!0;break}case s:if(h||w)r(b,"BAD_PROP_ORDER",`Anchors and tags must be after the ${b.source} indicator`);if(k)r(b,"UNEXPECTED_TOKEN",`Unexpected ${b.source} in ${t??"collection"}`);k=b,c=s==="seq-item-ind"||s==="explicit-key-ind",d=!1;break;case"comma":if(t){if(v)r(b,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`);v=b,c=!1,d=!1;break}default:r(b,"UNEXPECTED_TOKEN",`Unexpected ${b.type} token`),c=!1,d=!1}}let A=e[e.length-1],C=A?A.offset+A.source.length:i;if(y&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!==""))r(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(p&&(c&&p.indent<=o||n?.type==="block-map"||n?.type==="block-seq"))r(p,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:v,found:k,spaceBefore:l,comment:u,hasNewline:m,anchor:h,tag:w,newlineAfterProp:S,end:C,start:N??C}}Ju.resolveProps=Vu});var At=g(function(Wu){function ks(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
|
|
64
64
|
`))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let s of t.start)if(s.type==="newline")return!0;if(t.sep){for(let s of t.sep)if(s.type==="newline")return!0}if(ks(t.key)||ks(t.value))return!0}return!1;default:return!0}}Wu.containsNewline=ks});var Ns=g(function(Xu){var Qu=At();function Gu(e,t,s){if(t?.type==="flow-collection"){let n=t.end[0];if(n.indent===e&&(n.source==="]"||n.source==="}")&&Qu.containsNewline(t))s(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}Xu.flowIndentCheck=Gu});var As=g(function(tf){var wi=O();function ef(e,t,s){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let i=typeof n==="function"?n:(r,o)=>r===o||wi.isScalar(r)&&wi.isScalar(o)&&r.value===o.value;return t.some((r)=>i(r.key,s))}tf.mapIncludes=ef});var Ai=g(function(lf){var Si=J(),nf=W(),vi=xe(),rf=At(),ki=Ns(),of=As(),Ni="All mapping items must start at the same column";function af({composeNode:e,composeEmptyNode:t},s,n,i,r){let a=new(r?.nodeClass??nf.YAMLMap)(s.schema);if(s.atRoot)s.atRoot=!1;let l=n.offset,c=null;for(let d of n.items){let{start:u,key:f,sep:m,value:y}=d,p=vi.resolveProps(u,{indicator:"explicit-key-ind",next:f??m?.[0],offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0}),h=!p.found;if(h){if(f){if(f.type==="block-seq")i(l,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in f&&f.indent!==n.indent)i(l,"BAD_INDENT",Ni)}if(!p.anchor&&!p.tag&&!m){if(c=p.end,p.comment)if(a.comment)a.comment+=`
|
|
65
65
|
`+p.comment;else a.comment=p.comment;continue}if(p.newlineAfterProp||rf.containsNewline(f))i(f??u[u.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(p.found?.indent!==n.indent)i(l,"BAD_INDENT",Ni);s.atKey=!0;let w=p.end,S=f?e(s,f,p,i):t(s,w,u,null,p,i);if(s.schema.compat)ki.flowIndentCheck(n.indent,f,i);if(s.atKey=!1,of.mapIncludes(s,a.items,S))i(w,"DUPLICATE_KEY","Map keys must be unique");let v=vi.resolveProps(m??[],{indicator:"map-value-ind",next:y,offset:S.range[2],onError:i,parentIndent:n.indent,startOnNewline:!f||f.type==="block-scalar"});if(l=v.end,v.found){if(h){if(y?.type==="block-map"&&!v.hasNewline)i(l,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(s.options.strict&&p.start<v.found.offset-1024)i(S.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let k=y?e(s,y,v,i):t(s,l,m,null,v,i);if(s.schema.compat)ki.flowIndentCheck(n.indent,y,i);l=k.range[2];let N=new Si.Pair(S,k);if(s.options.keepSourceTokens)N.srcToken=d;a.items.push(N)}else{if(h)i(S.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(v.comment)if(S.comment)S.comment+=`
|
|
66
|
-
`+v.comment;else S.comment=v.comment;let k=new Si.Pair(S);if(s.options.keepSourceTokens)k.srcToken=d;a.items.push(k)}}if(c&&c<l)i(c,"IMPOSSIBLE","Map comment with trailing content");return a.range=[n.offset,l,c??l],a}lf.resolveBlockMap=af});var Oi=g(function(hf){var uf=z(),ff=xe(),pf=Ns();function df({composeNode:e,composeEmptyNode:t},s,n,i,r){let a=new(r?.nodeClass??uf.YAMLSeq)(s.schema);if(s.atRoot)s.atRoot=!1;if(s.atKey)s.atKey=!1;let l=n.offset,c=null;for(let{start:d,value:u}of n.items){let f=ff.resolveProps(d,{indicator:"seq-item-ind",next:u,offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0});if(!f.found)if(f.anchor||f.tag||u)if(u?.type==="block-seq")i(f.end,"BAD_INDENT","All sequence items must start at the same column");else i(l,"MISSING_CHAR","Sequence item without - indicator");else{if(c=f.end,f.comment)a.comment=f.comment;continue}let m=u?e(s,u,f,i):t(s,f.end,d,null,f,i);if(s.schema.compat)pf.flowIndentCheck(n.indent,u,i);l=m.range[2],a.items.push(m)}return a.range=[n.offset,l,c??l],a}hf.resolveBlockSeq=df});var ge=g(function(yf){function gf(e,t,s,n){let i="";if(e){let r=!1,o="";for(let a of e){let{source:l,type:c}=a;switch(c){case"space":r=!0;break;case"comment":{if(s&&!r)n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let d=l.substring(1)||" ";if(!i)i=d;else i+=o+d;o="";break}case"newline":if(i)o+=l;r=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${c} at node end`)}t+=l.length}}return{comment:i,offset:t}}yf.resolveEnd=gf});var
|
|
66
|
+
`+v.comment;else S.comment=v.comment;let k=new Si.Pair(S);if(s.options.keepSourceTokens)k.srcToken=d;a.items.push(k)}}if(c&&c<l)i(c,"IMPOSSIBLE","Map comment with trailing content");return a.range=[n.offset,l,c??l],a}lf.resolveBlockMap=af});var Oi=g(function(hf){var uf=z(),ff=xe(),pf=Ns();function df({composeNode:e,composeEmptyNode:t},s,n,i,r){let a=new(r?.nodeClass??uf.YAMLSeq)(s.schema);if(s.atRoot)s.atRoot=!1;if(s.atKey)s.atKey=!1;let l=n.offset,c=null;for(let{start:d,value:u}of n.items){let f=ff.resolveProps(d,{indicator:"seq-item-ind",next:u,offset:l,onError:i,parentIndent:n.indent,startOnNewline:!0});if(!f.found)if(f.anchor||f.tag||u)if(u?.type==="block-seq")i(f.end,"BAD_INDENT","All sequence items must start at the same column");else i(l,"MISSING_CHAR","Sequence item without - indicator");else{if(c=f.end,f.comment)a.comment=f.comment;continue}let m=u?e(s,u,f,i):t(s,f.end,d,null,f,i);if(s.schema.compat)pf.flowIndentCheck(n.indent,u,i);l=m.range[2],a.items.push(m)}return a.range=[n.offset,l,c??l],a}hf.resolveBlockSeq=df});var ge=g(function(yf){function gf(e,t,s,n){let i="";if(e){let r=!1,o="";for(let a of e){let{source:l,type:c}=a;switch(c){case"space":r=!0;break;case"comment":{if(s&&!r)n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let d=l.substring(1)||" ";if(!i)i=d;else i+=o+d;o="";break}case"newline":if(i)o+=l;r=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${c} at node end`)}t+=l.length}}return{comment:i,offset:t}}yf.resolveEnd=gf});var qi=g(function(Cf){var wf=O(),Sf=J(),Ci=W(),vf=z(),kf=ge(),Ei=xe(),Nf=At(),Af=As(),Os="Block collections are not allowed within flow collections",Cs=(e)=>e&&(e.type==="block-map"||e.type==="block-seq");function Of({composeNode:e,composeEmptyNode:t},s,n,i,r){let o=n.start.source==="{",a=o?"flow map":"flow sequence",c=new(r?.nodeClass??(o?Ci.YAMLMap:vf.YAMLSeq))(s.schema);c.flow=!0;let d=s.atRoot;if(d)s.atRoot=!1;if(s.atKey)s.atKey=!1;let u=n.offset+n.start.source.length;for(let h=0;h<n.items.length;++h){let w=n.items[h],{start:S,key:v,sep:k,value:N}=w,A=Ei.resolveProps(S,{flow:a,indicator:"explicit-key-ind",next:v??k?.[0],offset:u,onError:i,parentIndent:n.indent,startOnNewline:!1});if(!A.found){if(!A.anchor&&!A.tag&&!k&&!N){if(h===0&&A.comma)i(A.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(h<n.items.length-1)i(A.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`);if(A.comment)if(c.comment)c.comment+=`
|
|
67
67
|
`+A.comment;else c.comment=A.comment;u=A.end;continue}if(!o&&s.options.strict&&Nf.containsNewline(v))i(v,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(h===0){if(A.comma)i(A.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`)}else{if(!A.comma)i(A.start,"MISSING_CHAR",`Missing , between ${a} items`);if(A.comment){let C="";e:for(let b of S)switch(b.type){case"comma":case"space":break;case"comment":C=b.source.substring(1);break e;default:break e}if(C){let b=c.items[c.items.length-1];if(wf.isPair(b))b=b.value??b.key;if(b.comment)b.comment+=`
|
|
68
|
-
`+C;else b.comment=C;A.comment=A.comment.substring(C.length+1)}}}if(!o&&!k&&!A.found){let C=N?e(s,N,A,i):t(s,A.end,k,null,A,i);if(c.items.push(C),u=C.range[2],Cs(N))i(C.range,"BLOCK_IN_FLOW",Os)}else{s.atKey=!0;let C=A.end,b=v?e(s,v,A,i):t(s,C,S,null,A,i);if(Cs(v))i(b.range,"BLOCK_IN_FLOW",Os);s.atKey=!1;let
|
|
69
|
-
`+
|
|
70
|
-
`+h.comment;else c.comment=h.comment;c.range=[n.offset,p,h.offset]}else c.range=[n.offset,p,p];return c}Cf.resolveFlowCollection=Of});var Li=g(function(xf){var
|
|
68
|
+
`+C;else b.comment=C;A.comment=A.comment.substring(C.length+1)}}}if(!o&&!k&&!A.found){let C=N?e(s,N,A,i):t(s,A.end,k,null,A,i);if(c.items.push(C),u=C.range[2],Cs(N))i(C.range,"BLOCK_IN_FLOW",Os)}else{s.atKey=!0;let C=A.end,b=v?e(s,v,A,i):t(s,C,S,null,A,i);if(Cs(v))i(b.range,"BLOCK_IN_FLOW",Os);s.atKey=!1;let q=Ei.resolveProps(k??[],{flow:a,indicator:"map-value-ind",next:N,offset:b.range[2],onError:i,parentIndent:n.indent,startOnNewline:!1});if(q.found){if(!o&&!A.found&&s.options.strict){if(k)for(let L of k){if(L===q.found)break;if(L.type==="newline"){i(L,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(A.start<q.found.offset-1024)i(q.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(N)if("source"in N&&N.source?.[0]===":")i(N,"MISSING_CHAR",`Missing space after : in ${a}`);else i(q.start,"MISSING_CHAR",`Missing , or : between ${a} items`);let F=N?e(s,N,q,i):q.found?t(s,q.end,k,null,q,i):null;if(F){if(Cs(N))i(F.range,"BLOCK_IN_FLOW",Os)}else if(q.comment)if(b.comment)b.comment+=`
|
|
69
|
+
`+q.comment;else b.comment=q.comment;let oe=new Sf.Pair(b,F);if(s.options.keepSourceTokens)oe.srcToken=w;if(o){let L=c;if(Af.mapIncludes(s,L.items,b))i(C,"DUPLICATE_KEY","Map keys must be unique");L.items.push(oe)}else{let L=new Ci.YAMLMap(s.schema);L.flow=!0,L.items.push(oe);let Xs=(F??b).range;L.range=[b.range[0],Xs[1],Xs[2]],c.items.push(L)}u=F?F.range[2]:q.end}}let f=o?"}":"]",[m,...y]=n.end,p=u;if(m?.source===f)p=m.offset+m.source.length;else{let h=a[0].toUpperCase()+a.substring(1),w=d?`${h} must end with a ${f}`:`${h} in block collection must be sufficiently indented and end with a ${f}`;if(i(u,d?"MISSING_CHAR":"BAD_INDENT",w),m&&m.source.length!==1)y.unshift(m)}if(y.length>0){let h=kf.resolveEnd(y,p,s.options.strict,i);if(h.comment)if(c.comment)c.comment+=`
|
|
70
|
+
`+h.comment;else c.comment=h.comment;c.range=[n.offset,p,h.offset]}else c.range=[n.offset,p,p];return c}Cf.resolveFlowCollection=Of});var Li=g(function(xf){var qf=O(),Lf=E(),Pf=W(),Tf=z(),If=Ai(),Mf=Oi(),$f=qi();function Es(e,t,s,n,i,r){let o=s.type==="block-map"?If.resolveBlockMap(e,t,s,n,r):s.type==="block-seq"?Mf.resolveBlockSeq(e,t,s,n,r):$f.resolveFlowCollection(e,t,s,n,r),a=o.constructor;if(i==="!"||i===a.tagName)return o.tag=a.tagName,o;if(i)o.tag=i;return o}function _f(e,t,s,n,i){let r=n.tag,o=!r?null:t.directives.tagName(r.source,(f)=>i(r,"TAG_RESOLVE_FAILED",f));if(s.type==="block-seq"){let{anchor:f,newlineAfterProp:m}=n,y=f&&r?f.offset>r.offset?f:r:f??r;if(y&&(!m||m.offset<y.offset))i(y,"MISSING_CHAR","Missing newline after block sequence props")}let a=s.type==="block-map"?"map":s.type==="block-seq"?"seq":s.start.source==="{"?"map":"seq";if(!r||!o||o==="!"||o===Pf.YAMLMap.tagName&&a==="map"||o===Tf.YAMLSeq.tagName&&a==="seq")return Es(e,t,s,i,o);let l=t.schema.tags.find((f)=>f.tag===o&&f.collection===a);if(!l){let f=t.schema.knownTags[o];if(f?.collection===a)t.schema.tags.push(Object.assign({},f,{default:!1})),l=f;else{if(f)i(r,"BAD_COLLECTION_TYPE",`${f.tag} used for ${a} collection, but expects ${f.collection??"scalar"}`,!0);else i(r,"TAG_RESOLVE_FAILED",`Unresolved tag: ${o}`,!0);return Es(e,t,s,i,o)}}let c=Es(e,t,s,i,o,l),d=l.resolve?.(c,(f)=>i(r,"TAG_RESOLVE_FAILED",f),t.options)??c,u=qf.isNode(d)?d:new Lf.Scalar(d);if(u.range=c.range,u.tag=o,l?.format)u.format=l.format;return u}xf.composeCollection=_f});var Ls=g(function(jf){var qs=E();function Bf(e,t,s){let n=t.offset,i=Rf(t,e.options.strict,s);if(!i)return{value:"",type:null,comment:"",range:[n,n,n]};let r=i.mode===">"?qs.Scalar.BLOCK_FOLDED:qs.Scalar.BLOCK_LITERAL,o=t.source?Kf(t.source):[],a=o.length;for(let p=o.length-1;p>=0;--p){let h=o[p][1];if(h===""||h==="\r")a=p;else break}if(a===0){let p=i.chomp==="+"&&o.length>0?`
|
|
71
71
|
`.repeat(Math.max(1,o.length-1)):"",h=n+i.length;if(t.source)h+=t.source.length;return{value:p,type:r,comment:i.comment,range:[n,h,h]}}let l=t.indent+i.indent,c=t.offset+i.length,d=0;for(let p=0;p<a;++p){let[h,w]=o[p];if(w===""||w==="\r"){if(i.indent===0&&h.length>l)l=h.length}else{if(h.length<l)s(c+h.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(i.indent===0)l=h.length;if(d=p,l===0&&!e.atRoot)s(c,"BAD_INDENT","Block scalar values in collections must be indented");break}c+=h.length+w.length+1}for(let p=o.length-1;p>=a;--p)if(o[p][0].length>l)a=p+1;let u="",f="",m=!1;for(let p=0;p<d;++p)u+=o[p][0].slice(l)+`
|
|
72
|
-
`;for(let p=d;p<a;++p){let[h,w]=o[p];c+=h.length+w.length+1;let S=w[w.length-1]==="\r";if(S)w=w.slice(0,-1);if(w&&h.length<l){let k=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;s(c-w.length-(S?2:1),"BAD_INDENT",k),h=""}if(r===
|
|
72
|
+
`;for(let p=d;p<a;++p){let[h,w]=o[p];c+=h.length+w.length+1;let S=w[w.length-1]==="\r";if(S)w=w.slice(0,-1);if(w&&h.length<l){let k=`Block scalar lines must not be less indented than their ${i.indent?"explicit indentation indicator":"first line"}`;s(c-w.length-(S?2:1),"BAD_INDENT",k),h=""}if(r===qs.Scalar.BLOCK_LITERAL)u+=f+h.slice(l)+w,f=`
|
|
73
73
|
`;else if(h.length>l||w[0]==="\t"){if(f===" ")f=`
|
|
74
74
|
`;else if(!m&&f===`
|
|
75
75
|
`)f=`
|
|
@@ -82,7 +82,7 @@ ${c}
|
|
|
82
82
|
`+o[p][0].slice(l);if(u[u.length-1]!==`
|
|
83
83
|
`)u+=`
|
|
84
84
|
`;break;default:u+=`
|
|
85
|
-
`}let y=n+i.length+t.source.length;return{value:u,type:r,comment:i.comment,range:[n,y,y]}}function Rf({offset:e,props:t},s,n){if(t[0].type!=="block-scalar-header")return n(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=t[0],r=i[0],o=0,a="",l=-1;for(let f=1;f<i.length;++f){let m=i[f];if(!a&&(m==="-"||m==="+"))a=m;else{let y=Number(m);if(!o&&y)o=y;else if(l===-1)l=e+f}}if(l!==-1)n(l,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let c=!1,d="",u=i.length;for(let f=1;f<t.length;++f){let m=t[f];switch(m.type){case"space":c=!0;case"newline":u+=m.source.length;break;case"comment":if(s&&!c)n(m,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");u+=m.source.length,d=m.source.substring(1);break;case"error":n(m,"UNEXPECTED_TOKEN",m.message),u+=m.source.length;break;default:{let y=`Unexpected token in block scalar header: ${m.type}`;n(m,"UNEXPECTED_TOKEN",y);let p=m.source;if(p&&typeof p==="string")u+=p.length}}}return{mode:r,indent:o,chomp:a,comment:d,length:u}}function Kf(e){let t=e.split(/\n( *)/),s=t[0],n=s.match(/^( *)/),r=[n?.[1]?[n[1],s.slice(n[1].length)]:["",s]];for(let o=1;o<t.length;o+=2)r.push([t[o],t[o+1]]);return r}jf.resolveBlockScalar=Bf});var Ts=g(function(Gf){var Ps=
|
|
85
|
+
`}let y=n+i.length+t.source.length;return{value:u,type:r,comment:i.comment,range:[n,y,y]}}function Rf({offset:e,props:t},s,n){if(t[0].type!=="block-scalar-header")return n(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:i}=t[0],r=i[0],o=0,a="",l=-1;for(let f=1;f<i.length;++f){let m=i[f];if(!a&&(m==="-"||m==="+"))a=m;else{let y=Number(m);if(!o&&y)o=y;else if(l===-1)l=e+f}}if(l!==-1)n(l,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${i}`);let c=!1,d="",u=i.length;for(let f=1;f<t.length;++f){let m=t[f];switch(m.type){case"space":c=!0;case"newline":u+=m.source.length;break;case"comment":if(s&&!c)n(m,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");u+=m.source.length,d=m.source.substring(1);break;case"error":n(m,"UNEXPECTED_TOKEN",m.message),u+=m.source.length;break;default:{let y=`Unexpected token in block scalar header: ${m.type}`;n(m,"UNEXPECTED_TOKEN",y);let p=m.source;if(p&&typeof p==="string")u+=p.length}}}return{mode:r,indent:o,chomp:a,comment:d,length:u}}function Kf(e){let t=e.split(/\n( *)/),s=t[0],n=s.match(/^( *)/),r=[n?.[1]?[n[1],s.slice(n[1].length)]:["",s]];for(let o=1;o<t.length;o+=2)r.push([t[o],t[o+1]]);return r}jf.resolveBlockScalar=Bf});var Ts=g(function(Gf){var Ps=E(),Uf=ge();function Yf(e,t,s){let{offset:n,type:i,source:r,end:o}=e,a,l,c=(f,m,y)=>s(n+f,m,y);switch(i){case"scalar":a=Ps.Scalar.PLAIN,l=Vf(r,c);break;case"single-quoted-scalar":a=Ps.Scalar.QUOTE_SINGLE,l=Jf(r,c);break;case"double-quoted-scalar":a=Ps.Scalar.QUOTE_DOUBLE,l=Hf(r,c);break;default:return s(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[n,n+r.length,n+r.length]}}let d=n+r.length,u=Uf.resolveEnd(o,d,t,s);return{value:l,type:a,comment:u.comment,range:[n,d,u.offset]}}function Vf(e,t){let s="";switch(e[0]){case"\t":s="a tab character";break;case",":s="flow indicator character ,";break;case"%":s="directive indicator character %";break;case"|":case">":{s=`block scalar indicator ${e[0]}`;break}case"@":case"`":{s=`reserved character ${e[0]}`;break}}if(s)t(0,"BAD_SCALAR_START",`Plain value cannot start with ${s}`);return Pi(e)}function Jf(e,t){if(e[e.length-1]!=="'"||e.length===1)t(e.length,"MISSING_CHAR","Missing closing 'quote");return Pi(e.slice(1,-1)).replace(/''/g,"'")}function Pi(e){let t,s;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
86
86
|
`,"sy"),s=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
87
87
|
`,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,s=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=t.exec(e);if(!n)return e;let i=n[1],r=" ",o=t.lastIndex;s.lastIndex=o;while(n=s.exec(e)){if(n[1]==="")if(r===`
|
|
88
88
|
`)i+=r;else r=`
|
|
@@ -97,14 +97,14 @@ ${c}
|
|
|
97
97
|
`)break;if(n===`
|
|
98
98
|
`)s+=`
|
|
99
99
|
`;t+=1,n=e[t+1]}if(!s)s=" ";return{fold:s,offset:t}}var zf={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
100
|
-
`,r:"\r",t:"\t",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function Qf(e,t,s,n){let i=e.substr(t,s),o=i.length===s&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(o)}catch{let a=e.substr(t-2,s+2);return n(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}Gf.resolveFlowScalar=Yf});var Ii=g(function(ip){var ne=O(),Ti=
|
|
100
|
+
`,r:"\r",t:"\t",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function Qf(e,t,s,n){let i=e.substr(t,s),o=i.length===s&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;try{return String.fromCodePoint(o)}catch{let a=e.substr(t-2,s+2);return n(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}Gf.resolveFlowScalar=Yf});var Ii=g(function(ip){var ne=O(),Ti=E(),Zf=Ls(),ep=Ts();function tp(e,t,s,n){let{value:i,type:r,comment:o,range:a}=t.type==="block-scalar"?Zf.resolveBlockScalar(e,t,n):ep.resolveFlowScalar(t,e.options.strict,n),l=s?e.directives.tagName(s.source,(u)=>n(s,"TAG_RESOLVE_FAILED",u)):null,c;if(e.options.stringKeys&&e.atKey)c=e.schema[ne.SCALAR];else if(l)c=sp(e.schema,i,l,s,n);else if(t.type==="scalar")c=np(e,i,t,n);else c=e.schema[ne.SCALAR];let d;try{let u=c.resolve(i,(f)=>n(s??t,"TAG_RESOLVE_FAILED",f),e.options);d=ne.isScalar(u)?u:new Ti.Scalar(u)}catch(u){let f=u instanceof Error?u.message:String(u);n(s??t,"TAG_RESOLVE_FAILED",f),d=new Ti.Scalar(i)}if(d.range=a,d.source=i,r)d.type=r;if(l)d.tag=l;if(c.format)d.format=c.format;if(o)d.comment=o;return d}function sp(e,t,s,n,i){if(s==="!")return e[ne.SCALAR];let r=[];for(let a of e.tags)if(!a.collection&&a.tag===s)if(a.default&&a.test)r.push(a);else return a;for(let a of r)if(a.test?.test(t))return a;let o=e.knownTags[s];if(o&&!o.collection)return e.tags.push(Object.assign({},o,{default:!1,test:void 0})),o;return i(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${s}`,s!=="tag:yaml.org,2002:str"),e[ne.SCALAR]}function np({atKey:e,directives:t,schema:s},n,i,r){let o=s.tags.find((a)=>(a.default===!0||e&&a.default==="key")&&a.test?.test(n))||s[ne.SCALAR];if(s.compat){let a=s.compat.find((l)=>l.default&&l.test?.test(n))??s[ne.SCALAR];if(o.tag!==a.tag){let l=t.tagString(o.tag),c=t.tagString(a.tag),d=`Value may be parsed as either ${l} or ${c}`;r(i,"TAG_RESOLVE_FAILED",d,!0)}}return o}ip.composeScalar=tp});var Mi=g(function(ap){function op(e,t,s){if(t){s??(s=t.length);for(let n=s-1;n>=0;--n){let i=t[n];switch(i.type){case"space":case"comment":case"newline":e-=i.source.length;continue}i=t[++n];while(i?.type==="space")e+=i.source.length,i=t[++n];break}}return e}ap.emptyScalarPosition=op});var xi=g(function(gp){var cp=Se(),up=O(),fp=Li(),$i=Ii(),pp=ge(),dp=Mi(),hp={composeNode:_i,composeEmptyNode:Is};function _i(e,t,s,n){let i=e.atKey,{spaceBefore:r,comment:o,anchor:a,tag:l}=s,c,d=!0;switch(t.type){case"alias":if(c=mp(e,t,n),a||l)n(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(c=$i.composeScalar(e,t,l,n),a)c.anchor=a.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":try{if(c=fp.composeCollection(hp,e,t,s,n),a)c.anchor=a.source.substring(1)}catch(u){let f=u instanceof Error?u.message:String(u);n(t,"RESOURCE_EXHAUSTION",f)}break;default:{let u=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;n(t,"UNEXPECTED_TOKEN",u),d=!1}}if(c??(c=Is(e,t.offset,void 0,null,s,n)),a&&c.anchor==="")n(a,"BAD_ALIAS","Anchor cannot be an empty string");if(i&&e.options.stringKeys&&(!up.isScalar(c)||typeof c.value!=="string"||c.tag&&c.tag!=="tag:yaml.org,2002:str"))n(l??t,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(r)c.spaceBefore=!0;if(o)if(t.type==="scalar"&&t.source==="")c.comment=o;else c.commentBefore=o;if(e.options.keepSourceTokens&&d)c.srcToken=t;return c}function Is(e,t,s,n,{spaceBefore:i,comment:r,anchor:o,tag:a,end:l},c){let d={type:"scalar",offset:dp.emptyScalarPosition(t,s,n),indent:-1,source:""},u=$i.composeScalar(e,d,a,c);if(o){if(u.anchor=o.source.substring(1),u.anchor==="")c(o,"BAD_ALIAS","Anchor cannot be an empty string")}if(i)u.spaceBefore=!0;if(r)u.comment=r,u.range[2]=l;return u}function mp({options:e},{offset:t,source:s,end:n},i){let r=new cp.Alias(s.substring(1));if(r.source==="")i(t,"BAD_ALIAS","Alias cannot be an empty string");if(r.source.endsWith(":"))i(t+s.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let o=t+s.length,a=pp.resolveEnd(n,o,e.strict,i);if(r.range=[t,o,a.offset],a.comment)r.comment=a.comment;return r}gp.composeEmptyNode=Is;gp.composeNode=_i});var Bi=g(function(Np){var wp=$e(),Di=xi(),Sp=ge(),vp=xe();function kp(e,t,{offset:s,start:n,value:i,end:r},o){let a=Object.assign({_directives:t},e),l=new wp.Document(void 0,a),c={atKey:!1,atRoot:!0,directives:l.directives,options:l.options,schema:l.schema},d=vp.resolveProps(n,{indicator:"doc-start",next:i??r?.[0],offset:s,onError:o,parentIndent:0,startOnNewline:!0});if(d.found){if(l.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!d.hasNewline)o(d.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}l.contents=i?Di.composeNode(c,i,d,o):Di.composeEmptyNode(c,d.end,n,null,d,o);let u=l.contents.range[2],f=Sp.resolveEnd(r,u,!1,o);if(f.comment)l.comment=f.comment;return l.range=[s,u,f.offset],l}Np.composeDoc=kp});var Ms=g(function(Pp){var Op=Fe("process"),Cp=Dt(),Ep=$e(),De=_e(),Ri=O(),qp=Bi(),Lp=ge();function Be(e){if(typeof e==="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:s}=e;return[t,t+(typeof s==="string"?s.length:1)]}function Ki(e){let t="",s=!1,n=!1;for(let i=0;i<e.length;++i){let r=e[i];switch(r[0]){case"#":t+=(t===""?"":n?`
|
|
101
101
|
|
|
102
102
|
`:`
|
|
103
103
|
`)+(r.substring(1)||" "),s=!0,n=!1;break;case"%":if(e[i+1]?.[0]!=="#")i+=1;s=!1;break;default:if(!s)n=!0;s=!1}}return{comment:t,afterEmptyLine:n}}class ji{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(t,s,n,i)=>{let r=Be(t);if(i)this.warnings.push(new De.YAMLWarning(r,s,n));else this.errors.push(new De.YAMLParseError(r,s,n))},this.directives=new Cp.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:s,afterEmptyLine:n}=Ki(this.prelude);if(s){let i=e.contents;if(t)e.comment=e.comment?`${e.comment}
|
|
104
104
|
${s}`:s;else if(n||e.directives.docStart||!i)e.commentBefore=s;else if(Ri.isCollection(i)&&!i.flow&&i.items.length>0){let r=i.items[0];if(Ri.isPair(r))r=r.key;let o=r.commentBefore;r.commentBefore=o?`${s}
|
|
105
105
|
${o}`:s}else{let r=i.commentBefore;i.commentBefore=r?`${s}
|
|
106
|
-
${r}`:s}}if(t){for(let i=0;i<this.errors.length;++i)e.errors.push(this.errors[i]);for(let i=0;i<this.warnings.length;++i)e.warnings.push(this.warnings[i])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Ki(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){if(Op.env.LOG_STREAM)console.dir(e,{depth:null});switch(e.type){case"directive":this.directives.add(e.source,(t,s,n)=>{let i=Be(e);i[0]+=t,this.onError(i,"BAD_DIRECTIVE",s,n)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=
|
|
107
|
-
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new De.YAMLParseError(Be(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
|
|
106
|
+
${r}`:s}}if(t){for(let i=0;i<this.errors.length;++i)e.errors.push(this.errors[i]);for(let i=0;i<this.warnings.length;++i)e.warnings.push(this.warnings[i])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:Ki(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){if(Op.env.LOG_STREAM)console.dir(e,{depth:null});switch(e.type){case"directive":this.directives.add(e.source,(t,s,n)=>{let i=Be(e);i[0]+=t,this.onError(i,"BAD_DIRECTIVE",s,n)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=qp.composeDoc(this.options,this.directives,e,this.onError);if(this.atDirectives&&!t.directives.docStart)this.onError(e,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(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 De.YAMLParseError(Be(e),"UNEXPECTED_TOKEN",t);if(this.atDirectives||!this.doc)this.errors.push(s);else this.doc.errors.push(s);break}case"doc-end":{if(!this.doc){this.errors.push(new De.YAMLParseError(Be(e),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let t=Lp.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}
|
|
107
|
+
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new De.YAMLParseError(Be(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 Ep.Document(void 0,s);if(this.atDirectives)this.onError(t,"MISSING_CHAR","Missing directives-end indicator line");n.range=[0,t,t],this.decorate(n,!1),yield n}}}Pp.Composer=ji});var Yi=g(function(Rp){var Ip=Ls(),Mp=Ts(),$p=_e(),Fi=Ae();function _p(e,t=!0,s){if(e){let n=(i,r,o)=>{let a=typeof i==="number"?i:Array.isArray(i)?i[0]:i.offset;if(s)s(a,r,o);else throw new $p.YAMLParseError([a,a+1],r,o)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return Mp.resolveFlowScalar(e,t,n);case"block-scalar":return Ip.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function xp(e,t){let{implicitKey:s=!1,indent:n,inFlow:i=!1,offset:r=-1,type:o="PLAIN"}=t,a=Fi.stringifyString({type:o,value:e},{implicitKey:s,indent:n>0?" ".repeat(n):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),l=t.end??[{type:"newline",offset:-1,indent:n,source:`
|
|
108
108
|
`}];switch(a[0]){case"|":case">":{let c=a.indexOf(`
|
|
109
109
|
`),d=a.substring(0,c),u=a.substring(c+1)+`
|
|
110
110
|
`,f=[{type:"block-scalar-header",offset:r,indent:n,source:d}];if(!Ui(f,l))f.push({type:"newline",offset:-1,indent:n,source:`
|
|
@@ -112,10 +112,10 @@ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.pus
|
|
|
112
112
|
`),n=t.substring(0,s),i=t.substring(s+1)+`
|
|
113
113
|
`;if(e.type==="block-scalar"){let r=e.props[0];if(r.type!=="block-scalar-header")throw Error("Invalid block scalar header");r.source=n,e.source=i}else{let{offset:r}=e,o="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:r,indent:o,source:n}];if(!Ui(a,"end"in e?e.end:void 0))a.push({type:"newline",offset:-1,indent:o,source:`
|
|
114
114
|
`});for(let l of Object.keys(e))if(l!=="type"&&l!=="offset")delete e[l];Object.assign(e,{type:"block-scalar",indent:o,props:a,source:i})}}function Ui(e,t){if(t)for(let s of t)switch(s.type){case"space":case"comment":e.push(s);break;case"newline":return e.push(s),!0}return!1}function $s(e,t,s){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=s,e.source=t;break;case"block-scalar":{let n=e.props.slice(1),i=t.length;if(e.props[0].type==="block-scalar-header")i-=e.props[0].source.length;for(let r of n)r.offset+=i;delete e.props,Object.assign(e,{type:s,source:t,end:n});break}case"block-map":case"block-seq":{let i={type:"newline",offset:e.offset+t.length,indent:e.indent,source:`
|
|
115
|
-
`};delete e.items,Object.assign(e,{type:s,source:t,end:[i]});break}default:{let n="indent"in e?e.indent:-1,i="end"in e&&Array.isArray(e.end)?e.end.filter((r)=>r.type==="space"||r.type==="comment"||r.type==="newline"):[];for(let r of Object.keys(e))if(r!=="type"&&r!=="offset")delete e[r];Object.assign(e,{type:s,indent:n,source:t,end:i})}}}Rp.createScalarToken=xp;Rp.resolveAsScalar=_p;Rp.setScalarValue=Dp});var Vi=g(function(Yp){var Up=(e)=>("type"in e)?Ct(e):Ot(e);function Ct(e){switch(e.type){case"block-scalar":{let t="";for(let s of e.props)t+=Ct(s);return t+e.source}case"block-map":case"block-seq":{let t="";for(let s of e.items)t+=Ot(s);return t}case"flow-collection":{let t=e.start.source;for(let s of e.items)t+=Ot(s);for(let s of e.end)t+=s.source;return t}case"document":{let t=Ot(e);if(e.end)for(let s of e.end)t+=s.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let s of e.end)t+=s.source;return t}}}function Ot({start:e,key:t,sep:s,value:n}){let i="";for(let r of e)i+=r.source;if(t)i+=Ct(t);if(s)for(let r of s)i+=r.source;if(n)i+=Ct(n);return i}Yp.stringify=Up});var Wi=g(function(Hp){var _s=Symbol("break visit"),Jp=Symbol("skip children"),Ji=Symbol("remove item");function ie(e,t){if("type"in e&&e.type==="document")e={start:e.start,value:e.value};Hi(Object.freeze([]),e,t)}ie.BREAK=_s;ie.SKIP=Jp;ie.REMOVE=Ji;ie.itemAtPath=(e,t)=>{let s=e;for(let[n,i]of t){let r=s?.[n];if(r&&"items"in r)s=r.items[i];else return}return s};ie.parentCollection=(e,t)=>{let s=ie.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],i=s?.[n];if(i&&"items"in i)return i;throw Error("Parent collection not found")};function Hi(e,t,s){let n=s(t,e);if(typeof n==="symbol")return n;for(let i of["key","value"]){let r=t[i];if(r&&"items"in r){for(let o=0;o<r.items.length;++o){let a=Hi(Object.freeze(e.concat([[i,o]])),r.items[o],s);if(typeof a==="number")o=a-1;else if(a===_s)return _s;else if(a===Ji)r.items.splice(o,1),o-=1}if(typeof n==="function"&&i==="key")n=n(t,e)}}return typeof n==="function"?n(t,e):n}Hp.visit=ie});var
|
|
115
|
+
`};delete e.items,Object.assign(e,{type:s,source:t,end:[i]});break}default:{let n="indent"in e?e.indent:-1,i="end"in e&&Array.isArray(e.end)?e.end.filter((r)=>r.type==="space"||r.type==="comment"||r.type==="newline"):[];for(let r of Object.keys(e))if(r!=="type"&&r!=="offset")delete e[r];Object.assign(e,{type:s,indent:n,source:t,end:i})}}}Rp.createScalarToken=xp;Rp.resolveAsScalar=_p;Rp.setScalarValue=Dp});var Vi=g(function(Yp){var Up=(e)=>("type"in e)?Ct(e):Ot(e);function Ct(e){switch(e.type){case"block-scalar":{let t="";for(let s of e.props)t+=Ct(s);return t+e.source}case"block-map":case"block-seq":{let t="";for(let s of e.items)t+=Ot(s);return t}case"flow-collection":{let t=e.start.source;for(let s of e.items)t+=Ot(s);for(let s of e.end)t+=s.source;return t}case"document":{let t=Ot(e);if(e.end)for(let s of e.end)t+=s.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let s of e.end)t+=s.source;return t}}}function Ot({start:e,key:t,sep:s,value:n}){let i="";for(let r of e)i+=r.source;if(t)i+=Ct(t);if(s)for(let r of s)i+=r.source;if(n)i+=Ct(n);return i}Yp.stringify=Up});var Wi=g(function(Hp){var _s=Symbol("break visit"),Jp=Symbol("skip children"),Ji=Symbol("remove item");function ie(e,t){if("type"in e&&e.type==="document")e={start:e.start,value:e.value};Hi(Object.freeze([]),e,t)}ie.BREAK=_s;ie.SKIP=Jp;ie.REMOVE=Ji;ie.itemAtPath=(e,t)=>{let s=e;for(let[n,i]of t){let r=s?.[n];if(r&&"items"in r)s=r.items[i];else return}return s};ie.parentCollection=(e,t)=>{let s=ie.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],i=s?.[n];if(i&&"items"in i)return i;throw Error("Parent collection not found")};function Hi(e,t,s){let n=s(t,e);if(typeof n==="symbol")return n;for(let i of["key","value"]){let r=t[i];if(r&&"items"in r){for(let o=0;o<r.items.length;++o){let a=Hi(Object.freeze(e.concat([[i,o]])),r.items[o],s);if(typeof a==="number")o=a-1;else if(a===_s)return _s;else if(a===Ji)r.items.splice(o,1),o-=1}if(typeof n==="function"&&i==="key")n=n(t,e)}}return typeof n==="function"?n(t,e):n}Hp.visit=ie});var Et=g(function(td){var xs=Yi(),zp=Vi(),Qp=Wi(),Ds="\uFEFF",Bs="\x02",Rs="\x18",Ks="\x1F",Gp=(e)=>!!e&&("items"in e),Xp=(e)=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function Zp(e){switch(e){case Ds:return"<BOM>";case Bs:return"<DOC>";case Rs:return"<FLOW_END>";case Ks:return"<SCALAR>";default:return JSON.stringify(e)}}function ed(e){switch(e){case Ds:return"byte-order-mark";case Bs:return"doc-mode";case Rs:return"flow-error-end";case Ks:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
116
116
|
`:case`\r
|
|
117
|
-
`: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(e[0]){case" ":case"\t":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}td.createScalarToken=xs.createScalarToken;td.resolveAsScalar=xs.resolveAsScalar;td.setScalarValue=xs.setScalarValue;td.stringify=zp.stringify;td.visit=Qp.visit;td.BOM=Ds;td.DOCUMENT=Bs;td.FLOW_END=Rs;td.SCALAR=Ks;td.isCollection=Gp;td.isScalar=Xp;td.prettyToken=Zp;td.tokenType=ed});var Fs=g(function(yd){var Re=
|
|
118
|
-
`:case"\r":case"\t":return!0;default:return!1}}var zi=new Set("0123456789ABCDEFabcdef"),md=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),
|
|
117
|
+
`: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(e[0]){case" ":case"\t":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}td.createScalarToken=xs.createScalarToken;td.resolveAsScalar=xs.resolveAsScalar;td.setScalarValue=xs.setScalarValue;td.stringify=zp.stringify;td.visit=Qp.visit;td.BOM=Ds;td.DOCUMENT=Bs;td.FLOW_END=Rs;td.SCALAR=Ks;td.isCollection=Gp;td.isScalar=Xp;td.prettyToken=Zp;td.tokenType=ed});var Fs=g(function(yd){var Re=Et();function D(e){switch(e){case void 0:case" ":case`
|
|
118
|
+
`:case"\r":case"\t":return!0;default:return!1}}var zi=new Set("0123456789ABCDEFabcdef"),md=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),qt=new Set(",[]{}"),gd=new Set(` ,[]{}
|
|
119
119
|
\r `),js=(e)=>!e||gd.has(e);class Qi{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";while(s&&(t||this.hasChars(1)))s=yield*this.parseNext(s)}atLineEnd(){let e=this.pos,t=this.buffer[e];while(t===" "||t==="\t")t=this.buffer[++e];if(!t||t==="#"||t===`
|
|
120
120
|
`)return!0;if(t==="\r")return this.buffer[e+1]===`
|
|
121
121
|
`;return!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let s=0;while(t===" ")t=this.buffer[++s+e];if(t==="\r"){let n=this.buffer[s+e+1];if(n===`
|
|
@@ -128,21 +128,21 @@ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.pus
|
|
|
128
128
|
`)break}default:break e}if(!s&&!this.atEnd)return this.setNext("block-scalar");if(t>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=t;else 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(`
|
|
129
129
|
`,i)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let n=e+1;s=this.buffer[n];while(s===" ")s=this.buffer[++n];if(s==="\t"){while(s==="\t"||s===" "||s==="\r"||s===`
|
|
130
130
|
`)s=this.buffer[++n];e=n-1}else if(!this.blockScalarKeep)do{let i=e-1,r=this.buffer[i];if(r==="\r")r=this.buffer[--i];let o=i;while(r===" ")r=this.buffer[--i];if(r===`
|
|
131
|
-
`&&i>=this.pos&&i+1+t>o)e=i;else break}while(!0);return yield Re.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;while(n=this.buffer[++s])if(n===":"){let i=this.buffer[s+1];if(D(i)||e&&
|
|
131
|
+
`&&i>=this.pos&&i+1+t>o)e=i;else break}while(!0);return yield Re.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;while(n=this.buffer[++s])if(n===":"){let i=this.buffer[s+1];if(D(i)||e&&qt.has(i))break;t=s}else if(D(n)){let i=this.buffer[s+1];if(n==="\r")if(i===`
|
|
132
132
|
`)s+=1,n=`
|
|
133
|
-
`,i=this.buffer[s+1];else t=s;if(i==="#"||e&&
|
|
134
|
-
`){let r=this.continueScalar(s+1);if(r===-1)break;s=Math.max(s,r-2)}}else{if(e&&
|
|
133
|
+
`,i=this.buffer[s+1];else t=s;if(i==="#"||e&&qt.has(i))break;if(n===`
|
|
134
|
+
`){let r=this.continueScalar(s+1);if(r===-1)break;s=Math.max(s,r-2)}}else{if(e&&qt.has(n))break;t=s}if(!n&&!this.atEnd)return this.setNext("plain-scalar");return yield Re.SCALAR,yield*this.pushToIndex(t+1,!0),e?"flow":"doc"}*pushCount(e){if(e>0)return yield this.buffer.substr(this.pos,e),this.pos+=e,e;return 0}*pushToIndex(e,t){let s=this.buffer.slice(this.pos,e);if(s)return yield s,this.pos+=s.length,s.length;else if(t)yield"";return 0}*pushIndicators(){let e=0;e:while(!0){switch(this.charAt(0)){case"!":e+=yield*this.pushTag(),e+=yield*this.pushSpaces(!0);continue e;case"&":e+=yield*this.pushUntil(js),e+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let t=this.flowLevel>0,s=this.charAt(1);if(D(s)||t&&qt.has(s)){if(!t)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;e+=yield*this.pushCount(1),e+=yield*this.pushSpaces(!0);continue e}}}break e}return e}*pushTag(){if(this.charAt(1)==="<"){let e=this.pos+2,t=this.buffer[e];while(!D(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];while(t)if(md.has(t))t=this.buffer[++e];else if(t==="%"&&zi.has(this.buffer[e+1])&&zi.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];if(e===`
|
|
135
135
|
`)return yield*this.pushCount(1);else if(e==="\r"&&this.charAt(1)===`
|
|
136
|
-
`)return yield*this.pushCount(2);else return 0}*pushSpaces(e){let t=this.pos-1,s;do s=this.buffer[++t];while(s===" "||e&&s==="\t");let n=t-this.pos;if(n>0)yield this.buffer.substr(this.pos,n),this.pos=t;return n}*pushUntil(e){let t=this.pos,s=this.buffer[t];while(!e(s))s=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}yd.Lexer=Qi});var Us=g(function(wd){class Gi{constructor(){this.lineStarts=[],this.addNewLine=(e)=>this.lineStarts.push(e),this.linePos=(e)=>{let t=0,s=this.lineStarts.length;while(t<s){let i=t+s>>1;if(this.lineStarts[i]<e)t=i+1;else 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}}}}wd.LineCounter=Gi});var Ys=g(function(Nd){var vd=Fe("process"),Xi=
|
|
136
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces(e){let t=this.pos-1,s;do s=this.buffer[++t];while(s===" "||e&&s==="\t");let n=t-this.pos;if(n>0)yield this.buffer.substr(this.pos,n),this.pos=t;return n}*pushUntil(e){let t=this.pos,s=this.buffer[t];while(!e(s))s=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}yd.Lexer=Qi});var Us=g(function(wd){class Gi{constructor(){this.lineStarts=[],this.addNewLine=(e)=>this.lineStarts.push(e),this.linePos=(e)=>{let t=0,s=this.lineStarts.length;while(t<s){let i=t+s>>1;if(this.lineStarts[i]<e)t=i+1;else 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}}}}wd.LineCounter=Gi});var Ys=g(function(Nd){var vd=Fe("process"),Xi=Et(),kd=Fs();function Q(e,t){for(let s=0;s<e.length;++s)if(e[s].type===t)return!0;return!1}function Zi(e){for(let t=0;t<e.length;++t)switch(e[t].type){case"space":case"comment":case"newline":break;default:return t}return-1}function tr(e){switch(e?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function Lt(e){switch(e.type){case"document":return e.start;case"block-map":{let t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function ye(e){if(e.length===0)return[];let t=e.length;e:while(--t>=0)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}while(e[++t]?.type==="space");return e.splice(t,e.length)}function Pt(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let s=0;s<t.length;++s)e.push(t[s])}function er(e){if(e.start.type==="flow-seq-start"){for(let t of e.items)if(t.sep&&!t.value&&!Q(t.start,"explicit-key-ind")&&!Q(t.sep,"map-value-ind")){if(t.key)t.value=t.key;if(delete t.key,tr(t.value))if(t.value.end)Pt(t.value.end,t.sep);else t.value.end=t.sep;else Pt(t.start,t.sep);delete t.sep}}}class sr{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 kd.Lexer,this.onNewLine=e}*parse(e,t=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let s of this.lexer.lex(e,t))yield*this.next(s);if(!t)yield*this.end()}*next(e){if(this.source=e,vd.env.LOG_TOKENS)console.log("|",Xi.prettyToken(e));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=Xi.tokenType(e);if(!t){let s=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:s,source:e}),this.offset+=e.length}else if(t==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=t,yield*this.step(),t){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+e.length);break;case"space":if(this.atNewLine&&e[0]===" ")this.indent+=e.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=e.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=e.length}}*end(){while(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"){while(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);if(t.type==="block-scalar")t.indent="indent"in s?s.indent:0;else if(t.type==="flow-collection"&&s.type==="document")t.indent=0;if(t.type==="flow-collection")er(t);switch(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];if(n.value)s.items.push({start:[],value:t});else n.value=t;break}case"flow-collection":{let n=s.items[s.items.length-1];if(!n||n.value)s.items.push({start:[],key:t,sep:[]});else if(n.sep)n.value=t;else 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];if(n&&!n.sep&&!n.value&&n.start.length>0&&Zi(n.start)===-1&&(t.indent===0||n.start.every((i)=>i.type!=="comment"||i.indent<t.indent))){if(s.type==="document")s.end=n.start;else 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:[]};if(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":{if(Zi(e.start)!==-1)yield*this.pop(),yield*this.step();else 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);if(t)this.stack.push(t);else 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=Lt(this.peek(2)),s=ye(t),n;if(e.end)n=e.end,n.push(this.sourceToken),delete e.end;else 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(`
|
|
137
137
|
`)+1;while(t!==0)this.onNewLine(this.offset+t),t=this.source.indexOf(`
|
|
138
138
|
`,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;if((Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment")s?.push(this.sourceToken);else e.items.push({start:[this.sourceToken]})}else if(t.sep)t.sep.push(this.sourceToken);else 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)){Pt(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 r=[];for(let o=0;o<t.sep.length;++o){let a=t.sep[o];switch(a.type){case"newline":r.push(o);break;case"space":break;case"comment":if(a.indent>e.indent)r.length=0;break;default:r.length=0}}if(r.length>=2)i=t.sep.splice(r[1])}switch(this.type){case"anchor":case"tag":if(n||t.value)i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0;else if(t.sep)t.sep.push(this.sourceToken);else t.start.push(this.sourceToken);return;case"explicit-key-ind":if(!t.sep&&!t.explicitKey)t.start.push(this.sourceToken),t.explicitKey=!0;else if(n||t.value)i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0});else 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(Q(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let r=ye(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]})}else if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Q(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(tr(t.key)&&!Q(t.sep,"newline")){let r=ye(t.start),{key:o,sep:a}=t;a.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:o,sep:a}]})}else if(i.length>0)t.sep=t.sep.concat(i,this.sourceToken);else t.sep.push(this.sourceToken);else if(!t.sep)Object.assign(t,{key:null,sep:[this.sourceToken]});else if(t.value||n)e.items.push({start:i,key:null,sep:[this.sourceToken]});else if(Q(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else t.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let r=this.flowScalar(this.type);if(n||t.value)e.items.push({start:i,key:r,sep:[]}),this.onKeyLine=!0;else if(t.sep)this.stack.push(r);else Object.assign(t,{key:r,sep:[]}),this.onKeyLine=!0;return}default:{let r=this.startBlockValue(e);if(r){if(r.type==="block-seq"){if(!t.explicitKey&&t.sep&&!Q(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 if(s)e.items.push({start:i});this.stack.push(r);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;if((Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment")s?.push(this.sourceToken);else 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)){Pt(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;if(t.value||Q(t.start,"seq-item-ind"))e.items.push({start:[this.sourceToken]});else 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":if(!t||t.sep)e.items.push({start:[this.sourceToken]});else t.start.push(this.sourceToken);return;case"map-value-ind":if(!t||t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!t||t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let n=this.flowScalar(this.type);if(!t||t.value)e.items.push({start:[],key:n,sep:[]});else if(t.sep)this.stack.push(n);else 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);if(s)this.stack.push(s);else 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=Lt(s),i=ye(n);er(e);let r=e.end.splice(1,e.end.length);r.push(this.sourceToken);let o={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:i,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let t=this.source.indexOf(`
|
|
139
139
|
`)+1;while(t!==0)this.onNewLine(this.offset+t),t=this.source.indexOf(`
|
|
140
|
-
`,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=Lt(e),s=ye(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=Lt(e),s=ye(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){if(this.type!=="comment")return!1;if(this.indent<=t)return!1;return e.every((s)=>s.type==="newline"||s.type==="space")}*documentEnd(e){if(this.type!=="doc-mode"){if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(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;case"space":case"comment":default:if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}Nd.Parser=sr});var ar=g(function(Id){var nr=Ms(),Od=$e(),Ke=_e(),Cd=Ut(),
|
|
141
|
-
`)}}async function br(e,t,s){if(await Bun.spawn([e,...t],{cwd:s,stdout:"inherit",stderr:"inherit",env:{...process.env,BUN_BE_BUN:"1"}}).exited)throw Error(`Plugin package operation failed: ${t.join(" ")}`)}async function
|
|
142
|
-
`)}async function dr(e){let t=JSON.parse(await $t(e,"utf8"));return Object.keys(t.dependencies??{}).filter(je)}function
|
|
143
|
-
`),0}let[n,...i]=t;if(!n)return 0;if(n==="--help"||n==="-h"){let o=e.get("help");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}}if(n==="--version"||n==="-v"){let o=e.get("version");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}}let r=e.get(n);if(!r)return
|
|
144
|
-
`),Qs(t,n,i.slice(0,-1)),1}if(!t.run)return Qs(t,n,i.slice(0,-1)),0;if(t.name==="serve"&&i.length>1){let c=e.get("serve");if(c?.source==="core")return Gs(e,c,s,n,[c.name])}let o=n.workspace,a=o?.profileSettings?.spec&&i[0]==="graph"&&!Nr(s,"specs")&&!s.some((c)=>!c.startsWith("-"))?[String(o.profileSettings.spec),...s]:s,l=
|
|
145
|
-
`);try{let c=await t.run(l,n);return typeof c==="number"?c:Number(process.exitCode??0)}catch(c){let{printCliError:d}=await import("@mcp-com-ai/shared-utils");return d(`\u274C ${i.join(" ")} failed`,c),1}}function Nr(e,t){let s=t.replace(/-([a-z])/g,(n,i)=>i.toUpperCase());return e.some((n)=>n===`--${t}`||n===`--no-${t}`||n.startsWith(`--${t}=`)||n===`--${s}`||n.startsWith(`--${s}=`))}function
|
|
140
|
+
`,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=Lt(e),s=ye(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=Lt(e),s=ye(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){if(this.type!=="comment")return!1;if(this.indent<=t)return!1;return e.every((s)=>s.type==="newline"||s.type==="space")}*documentEnd(e){if(this.type!=="doc-mode"){if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(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;case"space":case"comment":default:if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}Nd.Parser=sr});var ar=g(function(Id){var nr=Ms(),Od=$e(),Ke=_e(),Cd=Ut(),Ed=O(),qd=Us(),ir=Ys();function rr(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new qd.LineCounter||null,prettyErrors:t}}function Ld(e,t={}){let{lineCounter:s,prettyErrors:n}=rr(t),i=new ir.Parser(s?.addNewLine),r=new nr.Composer(t),o=Array.from(r.compose(i.parse(e)));if(n&&s)for(let a of o)a.errors.forEach(Ke.prettifyError(e,s)),a.warnings.forEach(Ke.prettifyError(e,s));if(o.length>0)return o;return Object.assign([],{empty:!0},r.streamInfo())}function or(e,t={}){let{lineCounter:s,prettyErrors:n}=rr(t),i=new ir.Parser(s?.addNewLine),r=new nr.Composer(t),o=null;for(let a of r.compose(i.parse(e),!0,e.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Ke.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(n&&s)o.errors.forEach(Ke.prettifyError(e,s)),o.warnings.forEach(Ke.prettifyError(e,s));return o}function Pd(e,t,s){let n=void 0;if(typeof t==="function")n=t;else if(s===void 0&&t&&typeof t==="object")s=t;let i=or(e,s);if(!i)return null;if(i.warnings.forEach((r)=>Cd.warn(i.options.logLevel,r)),i.errors.length>0)if(i.options.logLevel!=="silent")throw i.errors[0];else i.errors=[];return i.toJS(Object.assign({reviver:n},s))}function Td(e,t,s){let n=null;if(typeof t==="function"||Array.isArray(t))n=t;else if(s===void 0&&t)s=t;if(typeof s==="string")s=s.length;if(typeof s==="number"){let i=Math.round(s);s=i<1?void 0:i>8?{indent:8}:{indent:i}}if(e===void 0){let{keepUndefined:i}=s??t??{};if(!i)return}if(Ed.isDocument(e)&&!n)return e.toString(s);return new Od.Document(e,n,s).toString(s)}Id.parse=Pd;Id.parseAllDocuments=Ld;Id.parseDocument=or;Id.stringify=Td});import{existsSync as vh}from"fs";import{posix as kh,win32 as Nh}from"path";import{fileURLToPath as Ah,pathToFileURL as Oh}from"url";var Dd=Ms(),Bd=$e(),Rd=ys(),Vs=_e(),Kd=Se(),G=O(),jd=J(),Fd=E(),Ud=W(),Yd=z(),bg=Et(),Vd=Fs(),Jd=Us(),Hd=Ys(),Tt=ar(),lr=be();var Wd=Dd.Composer,zd=Bd.Document,Qd=Rd.Schema,{YAMLError:Gd,YAMLParseError:Xd,YAMLWarning:Zd}=Vs,eh=Kd.Alias,{isAlias:th,isCollection:sh,isDocument:nh,isMap:ih,isNode:rh,isPair:oh,isScalar:ah,isSeq:lh}=G,ch=jd.Pair,uh=Fd.Scalar,fh=Ud.YAMLMap,ph=Yd.YAMLSeq;var dh=Vd.Lexer,hh=Jd.LineCounter,mh=Hd.Parser,{parse:Js,parseAllDocuments:gh,parseDocument:yh,stringify:bh}=Tt,{visit:wh,visitAsync:Sh}=lr;import{DEFAULT_DOCUMENT_SOURCE_POLICY as It,assertRemoteDocumentUrl as Ch,redactDocumentUrl as Eh}from"@mcp-com-ai/plugin-sdk";async function Og(e,t){let s=e.trim();if(!s)return;pr(s);let n=Ih(s);if(n?.protocol==="http:"||n?.protocol==="https:")return Ph(s,n,t);if(n&&n.protocol!=="file:"&&n.protocol!=="path:")throw Error(`Unsupported document source scheme: ${n.protocol}`);let i=n?.protocol==="file:"?$h(n):qh(n?.protocol==="path:"?Mh(n):s,t);if(!i)return;return Lh(s,i,t.maxBytes??It.maxBytes)}function qh(e,t){return xh(e,t.cwd,t.hapiHome,vh)}async function Lh(e,t,s){let n=Bun.file(t);if(n.size>s)throw Error(`Document source exceeds ${s} bytes: ${t}`);let i=await n.text();ur(i,s,t);let r=_h(t);return fr({identifier:e,canonicalUri:r,baseUri:new URL(".",r).href,raw:i,document:cr(i,t),remote:!1})}async function Ph(e,t,s){let n=s.fetchImpl??fetch,i=s.maxBytes??It.maxBytes,r=new AbortController,o=setTimeout(()=>r.abort(),s.timeoutMs??It.timeoutMs),a=t;try{for(let l=0;l<=It.maxRedirects;l++){Ch(a);let c=await n(a,{redirect:"manual",signal:r.signal});if(Th(c.status)){let f=c.headers.get("location");if(!f)throw Error(`Redirect from ${re(a)} has no Location header`);a=new URL(f,a);continue}if(!c.ok)throw Error(`Unable to load ${re(a)}: HTTP ${c.status}`);let d=Number(c.headers.get("content-length"));if(Number.isFinite(d)&&d>i)throw Error(`Document source exceeds ${i} bytes: ${re(a)}`);let u=await c.text();return ur(u,i,re(a)),fr({identifier:e,canonicalUri:a.href,baseUri:new URL(".",a).href,raw:u,document:cr(u,re(a)),remote:!0})}throw Error(`Too many redirects while loading ${re(t)}`)}catch(l){if(r.signal.aborted)throw Error(`Timed out loading ${re(a)}`);throw l}finally{clearTimeout(o)}}function cr(e,t){try{let s=Js(e);if(!s||typeof s!=="object"||Array.isArray(s))throw Error("document root must be an object");return s}catch(s){throw Error(`Unable to parse ${t}: ${s instanceof Error?s.message:String(s)}`)}}function ur(e,t,s){if(new TextEncoder().encode(e).byteLength>t)throw Error(`Document source exceeds ${t} bytes: ${s}`)}function fr(e){return Object.freeze(e)}function Th(e){return[301,302,303,307,308].includes(e)}function Ih(e){if(Hs(e))return;try{return new URL(e)}catch{return}}function Mh(e){let t=decodeURIComponent(e.pathname);if(/^\/[A-Za-z]:\//.test(t))return t.slice(1).replaceAll("/","\\");if(/^[A-Za-z]$/.test(e.hostname))return`${e.hostname.toUpperCase()}:${t}`.replaceAll("/","\\");if(e.hostname)return`\\\\${e.hostname}${t.replaceAll("/","\\")}`;return t}function $h(e){return Ah(e,{windows:Bh(e)})}function _h(e){return Oh(e,{windows:Hs(e)}).href}function xh(e,t,s,n){pr(e);let i=Dh(e,t,s),r=i.resolve(t,e);if(n(r))return r;let o=i.resolve(s,"specs");for(let a of["",".json",".yaml",".yml"]){let l=i.resolve(o,`${e}${a}`);if(n(l))return l}return}function Dh(...e){return e.some((t)=>Hs(t))?Nh:kh}function Hs(e){return/^[A-Za-z]:[\\/]/.test(e)||/^\\\\/.test(e)}function Bh(e){return e.hostname.length>0||/^\/[A-Za-z]:\//.test(e.pathname)}function pr(e){if(/^[A-Za-z]:[^\\/]/.test(e))throw Error(`Windows drive-relative document sources are ambiguous: ${e}. Use an absolute drive path or a path relative to the current directory.`)}function re(e){return Eh(e)}function Eg(e,t,s={}){let n=s.warn??(()=>{}),i=new Map,r=(o,a,l,c)=>{for(let d of[o.name,...o.aliases??[]]){if(i.has(d)){let u=i.get(d);n(`Command '${d}' already provided by ${u.source==="core"?"core":u.pluginName}; ignoring declaration from ${l??"core"}`);continue}i.set(d,{...o,source:a,pluginName:l,packageName:c})}};for(let o of e)r(o,"core");for(let{plugin:o,packageName:a}of t)for(let l of o.commands)r(l,"plugin",o.name,a);return i}function qg(e){let t=new Set;for(let[s,n]of e.entries())if(s===n.name)t.add(n);return Array.from(t).filter((s)=>!s.hidden).sort((s,n)=>s.name.localeCompare(n.name))}import{HAPI_CLI_API_VERSION as wr,satisfiesVersionRange as zh}from"@mcp-com-ai/plugin-sdk";import{mkdir as Rh,realpath as Ws,readFile as $t,stat as Kh,writeFile as mr}from"fs/promises";import I from"path";import{pathToFileURL as jh}from"url";import{hasFileSystemAccess as gr,resolveHapiPaths as Fh}from"@mcp-com-ai/shared-utils";function zs(){let e=I.join(Fh().home,"plugins");return{root:e,nodeModules:I.join(e,"node_modules"),manifest:I.join(e,"package.json")}}function je(e){return/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/i.test(e)}async function yr(e,t=zs()){if(!gr||!je(e))return;let s=I.join(t.nodeModules,...e.split("/"));try{let n=await Ws(s),i=await Ws(t.nodeModules);if(!hr(n,i))return;let r=JSON.parse(await $t(I.join(n,"package.json"),"utf8"));if(r.name!==e)return;let o=Hh(r);if(!o||!Wh(o))return;let a=I.resolve(n,o),l=await Ws(a);if(!hr(l,n))return;return jh(l).href}catch{return}}async function $g(e,t={}){if(!gr)throw Error("Managed plugins are not available without filesystem access.");let s=t.store??zs(),n=await Vh(e),i=await Yh(e);if(i.length===0&&n.size===0)throw Error("Provide at least one plugin package, tarball, or release directory.");await Rh(s.root,{recursive:!0}),await Uh(s);let r=await dr(s.manifest),o=t.execute??br;if(n.size>0)await Jh(s.manifest,n),await o(process.execPath,["install","--production"],s.root);if(i.length>0)await o(process.execPath,["add","--production",...i],s.root);return{packageNames:(await dr(s.manifest)).filter((l)=>!r.includes(l)),store:s}}async function _g(e,t={}){if(!je(e))throw Error(`Invalid plugin package name: ${e}`);let s=t.store??zs();await(t.execute??br)(process.execPath,["remove",e],s.root)}async function Uh(e){try{await $t(e.manifest,"utf8")}catch{await mr(e.manifest,JSON.stringify({name:"hapi-managed-plugins",private:!0,type:"module"},null,2)+`
|
|
141
|
+
`)}}async function br(e,t,s){if(await Bun.spawn([e,...t],{cwd:s,stdout:"inherit",stderr:"inherit",env:{...process.env,BUN_BE_BUN:"1"}}).exited)throw Error(`Plugin package operation failed: ${t.join(" ")}`)}async function Yh(e){let t=[];for(let s of e){let n=I.resolve(s);try{if(!(await Kh(n)).isDirectory()){t.push(s);continue}let r=I.join(n,"manifest.json");if(await Bun.file(r).exists())continue;else t.push(n)}catch(i){if(i instanceof Error&&i.message.includes("Release manifest"))throw i;t.push(s)}}return t}async function Vh(e){let t=new Map,s=new Set;for(let r of e){let o=I.resolve(r),a=I.join(o,"manifest.json");if(!await Bun.file(a).exists())continue;let l=await Bun.file(a).json();for(let c of l.packages??[]){if(!c.name||!c.file||!je(c.name))continue;t.set(c.name,{file:I.join(o,c.file),internalDependencies:c.internalDependencies??{}})}for(let c of l.managedPlugins??[])if(je(c))s.add(c);if(s.size===0)throw Error(`Release manifest does not declare managed plugins: ${o}`)}let n=new Map,i=[...s];while(i.length>0){let r=i.pop();if(!r||n.has(r))continue;let o=t.get(r);if(!o)throw Error(`Release manifest is missing required package ${r}.`);n.set(r,`file:${o.file}`),i.push(...Object.keys(o.internalDependencies))}return n}async function Jh(e,t){let s=JSON.parse(await $t(e,"utf8")),n=Object.fromEntries(t);await mr(e,`${JSON.stringify({...s,dependencies:{...s.dependencies??{},...n},overrides:{...s.overrides??{},...n}},null,2)}
|
|
142
|
+
`)}async function dr(e){let t=JSON.parse(await $t(e,"utf8"));return Object.keys(t.dependencies??{}).filter(je)}function Hh(e){let t=e.exports&&typeof e.exports==="object"&&!Array.isArray(e.exports)?e.exports["."]??e.exports:e.exports;return Mt(t)??e.module??e.main}function Mt(e){if(typeof e==="string")return e;if(!e||typeof e!=="object"||Array.isArray(e))return;let t=e;return Mt(t.bun)??Mt(t.import)??Mt(t.default)}function Wh(e){return/\.(?:c?m?js)$/i.test(e)&&!/(?:^|\/)src(?:\/|$)/.test(e)}function hr(e,t){let s=I.relative(t,e);return s===""||!s.startsWith(`..${I.sep}`)&&s!==".."&&!I.isAbsolute(s)}var Qh=["@mcp-com-ai/plugin-openapi","@mcp-com-ai/plugin-arazzo","@mcp-com-ai/plugin-cloudflare","@mcp-com-ai/plugin-capability-graph","@mcp-com-ai/enterprise-plugin-auth","@mcp-com-ai/enterprise-plugin-licensing","@mcp-com-ai/enterprise-plugin-a2a","@mcp-com-ai/plugin-otel"];async function Rg(e={}){let t=e.warn??(()=>{}),s=new Set(e.blocklist??[]),n=[],i=new Set,r=[];for(let o of e.bundledPlugins??[])r.push({packageName:o.name,source:"bundled",plugin:o});for(let o of e.workspacePackages??[])r.push({packageName:o,source:"workspace"});for(let o of Qh)r.push({packageName:o,source:"installed"});for(let o of e.configuredPackages??[])r.push({packageName:o,source:"installed"});for(let o of e.workspaceRequirements??[])r.push({packageName:o,source:"installed"});for(let{packageName:o,source:a,plugin:l}of r){if(i.has(o))continue;if(i.add(o),s.has(o))continue;let c=!1;try{let d=a,u;if(!l)try{u=await import(o)}catch(y){if(!Sr(y))throw y;let p=await(e.resolveManagedEntrypoint??yr)(o);if(!p)throw y;c=!0,u=await import(p),d="managed"}let f=l??(u?.plugin??u?.default);if(!f){t(`Plugin '${o}' loaded but did not export a plugin definition`);continue}if(f.compatibility?.cliApiVersion!==wr){t(`Plugin '${o}' declares cliApiVersion=${f.compatibility?.cliApiVersion}; CLI expects ${wr}. Skipping.`);continue}let m=f.compatibility.core;if(m&&!zh(m.version,m.range)){t(`Plugin '${o}' resolved core ${m.version}, which does not satisfy its declared range ${m.range}. Skipping.`);continue}n.push({plugin:f,packageName:o,source:d})}catch(d){let u=d instanceof Error?d.message:String(d);if(c||!Sr(d))t(`Plugin '${o}' failed to load: ${u}`)}}return n}function Sr(e){if(!e||typeof e!=="object")return!1;let t=e.code;if(t==="ERR_MODULE_NOT_FOUND"||t==="MODULE_NOT_FOUND")return!0;let s=e.message??"";return/Cannot find (module|package)/i.test(s)}import{parseArgs as Gh,renderCommandHelp as Qs}from"@mcp-com-ai/plugin-sdk";var vr=[{command:"graph",packageName:"@mcp-com-ai/plugin-capability-graph",description:"Compile, inspect, search, and evaluate OpenAPI capability graphs.",installHint:"bun add -g @mcp-com-ai/plugin-capability-graph"},{command:"cloudflare",packageName:"@mcp-com-ai/plugin-cloudflare",description:"Deploy HAPI MCP servers to Cloudflare Workers (deploy, login, status).",installHint:"bun add -g @mcp-com-ai/plugin-cloudflare"},{command:"openapi",packageName:"@mcp-com-ai/plugin-openapi",description:"OpenAPI-driven tooling (init, lint, list, serve).",installHint:"bun add -g @mcp-com-ai/plugin-openapi",documentRootField:"openapi"},{command:"arazzo",packageName:"@mcp-com-ai/plugin-arazzo",description:"Arazzo workflow validation, serving, and execution.",installHint:"bun add -g @mcp-com-ai/plugin-arazzo",documentRootField:"arazzo"},{command:"workflows",packageName:"@mcp-com-ai/plugin-arazzo",description:"Alias for the Arazzo workflow command group.",installHint:"bun add -g @mcp-com-ai/plugin-arazzo",documentRootField:"arazzo"},{command:"auth",packageName:"@mcp-com-ai/enterprise-plugin-auth",description:"OAuth/Security handler configuration for `hapi serve` (enterprise tier).",installHint:"Contact La Rebelion Labs for enterprise access."},{command:"otel",packageName:"@mcp-com-ai/plugin-otel",description:"OpenTelemetry / PostHog telemetry collection for HAPI commands.",installHint:"bun add -g @mcp-com-ai/plugin-otel"},{command:"license",packageName:"@mcp-com-ai/enterprise-plugin-licensing",description:"Enterprise licensing (activation, status, import). Part of the enterprise tier.",installHint:"Contact La Rebelion Labs for enterprise access, then run `hapi plugins install <private-release-or-package>`."}];function kr(e){return vr.find((t)=>t.command===e)}function jg(e){return vr.find((t)=>t.documentRootField===e)}var Xh=new Set(["--help","-h","help"]);async function Vg(e,t,s){if(t.length===0){let o=e.get("help");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}return s.stdout.write(`Usage: hapi <command> [subcommand] [options]
|
|
143
|
+
`),0}let[n,...i]=t;if(!n)return 0;if(n==="--help"||n==="-h"){let o=e.get("help");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}}if(n==="--version"||n==="-v"){let o=e.get("version");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}}let r=e.get(n);if(!r)return Zh(n,s);return Gs(e,r,i,s,[r.name])}async function Gs(e,t,s,n,i){if(s.length>0&&Xh.has(s[0]))return Qs(t,n,i.slice(0,-1)),0;let r=s[0];if(t.subcommands&&t.subcommands.length>0&&r&&!r.startsWith("-")){let c=t.subcommands.find((d)=>d.name===r||d.aliases?.includes(r));if(c)return Gs(e,c,s.slice(1),n,[...i,c.name]);if(!t.run)return n.stderr.write(`Unknown subcommand: ${i.join(" ")} ${r}
|
|
144
|
+
`),Qs(t,n,i.slice(0,-1)),1}if(!t.run)return Qs(t,n,i.slice(0,-1)),0;if(t.name==="serve"&&i.length>1){let c=e.get("serve");if(c?.source==="core")return Gs(e,c,s,n,[c.name])}let o=n.workspace,a=o?.profileSettings?.spec&&i[0]==="graph"&&!Nr(s,"specs")&&!s.some((c)=>!c.startsWith("-"))?[String(o.profileSettings.spec),...s]:s,l=Gh(a,t.options??[]);if(t.name==="serve"&&o?.profileSettings){let c=o.profileSettings,d={specs:c.spec,mcp:c.mcp,"capability-graph":c.capabilityGraph,"capability-planning":c.capabilityPlanning,"capability-classifier":c.capabilityClassifier,"runtime-authority":c.runtimeAuthority};for(let[u,f]of Object.entries(d))if(f!==void 0&&!Nr(s,u))l.options[u]=f}if(l.unknownOptions?.length)n.stderr.write(`\u26A0\uFE0F Unrecognized option(s): ${l.unknownOptions.map((c)=>`--${c}`).join(", ")} \u2014 not applied. Check for a typo (see --help for valid options).
|
|
145
|
+
`);try{let c=await t.run(l,n);return typeof c==="number"?c:Number(process.exitCode??0)}catch(c){let{printCliError:d}=await import("@mcp-com-ai/shared-utils");return d(`\u274C ${i.join(" ")} failed`,c),1}}function Nr(e,t){let s=t.replace(/-([a-z])/g,(n,i)=>i.toUpperCase());return e.some((n)=>n===`--${t}`||n===`--no-${t}`||n.startsWith(`--${t}=`)||n===`--${s}`||n.startsWith(`--${s}=`))}function Zh(e,t){let s=kr(e);if(s)return t.stderr.write(`
|
|
146
146
|
Command "${e}" is provided by ${s.packageName}, which is not installed.
|
|
147
147
|
`),t.stderr.write(`
|
|
148
148
|
${s.description}
|
|
@@ -152,4 +152,4 @@ Command "${e}" is provided by ${s.packageName}, which is not installed.
|
|
|
152
152
|
|
|
153
153
|
`),127;return t.stderr.write(`Unknown command: ${e}
|
|
154
154
|
`),t.stderr.write(`Run "hapi help" to see available commands.
|
|
155
|
-
`),127}export{vr as KNOWN_OPTIONAL_PLUGINS,
|
|
155
|
+
`),127}export{vr as KNOWN_OPTIONAL_PLUGINS,Eg as buildCommandRegistry,$h as fileUrlToLocalPath,kr as findKnownPluginByCommand,jg as findKnownPluginByRootField,qg as listCommands,Rg as loadInstalledPlugins,_h as localPathToFileUrl,Mh as pathUrlToPath,re as redactUrl,Og as resolveDocumentSource,xh as resolveLocalPath,Vg as runCommand};
|
package/dist/index.js
CHANGED
|
@@ -137,9 +137,9 @@ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.pus
|
|
|
137
137
|
`)+1;while(t!==0)this.onNewLine(this.offset+t),t=this.source.indexOf(`
|
|
138
138
|
`,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;if((Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment")s?.push(this.sourceToken);else e.items.push({start:[this.sourceToken]})}else if(t.sep)t.sep.push(this.sourceToken);else 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)){xt(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 r=[];for(let o=0;o<t.sep.length;++o){let a=t.sep[o];switch(a.type){case"newline":r.push(o);break;case"space":break;case"comment":if(a.indent>e.indent)r.length=0;break;default:r.length=0}}if(r.length>=2)i=t.sep.splice(r[1])}switch(this.type){case"anchor":case"tag":if(n||t.value)i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0;else if(t.sep)t.sep.push(this.sourceToken);else t.start.push(this.sourceToken);return;case"explicit-key-ind":if(!t.sep&&!t.explicitKey)t.start.push(this.sourceToken),t.explicitKey=!0;else if(n||t.value)i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0});else 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(G(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let r=ye(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:null,sep:[this.sourceToken]}]})}else if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(G(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(Pr(t.key)&&!G(t.sep,"newline")){let r=ye(t.start),{key:o,sep:a}=t;a.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,key:o,sep:a}]})}else if(i.length>0)t.sep=t.sep.concat(i,this.sourceToken);else t.sep.push(this.sourceToken);else if(!t.sep)Object.assign(t,{key:null,sep:[this.sourceToken]});else if(t.value||n)e.items.push({start:i,key:null,sep:[this.sourceToken]});else if(G(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else t.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let r=this.flowScalar(this.type);if(n||t.value)e.items.push({start:i,key:r,sep:[]}),this.onKeyLine=!0;else if(t.sep)this.stack.push(r);else Object.assign(t,{key:r,sep:[]}),this.onKeyLine=!0;return}default:{let r=this.startBlockValue(e);if(r){if(r.type==="block-seq"){if(!t.explicitKey&&t.sep&&!G(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 if(s)e.items.push({start:i});this.stack.push(r);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;if((Array.isArray(s)?s[s.length-1]:void 0)?.type==="comment")s?.push(this.sourceToken);else 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)){xt(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;if(t.value||G(t.start,"seq-item-ind"))e.items.push({start:[this.sourceToken]});else 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":if(!t||t.sep)e.items.push({start:[this.sourceToken]});else t.start.push(this.sourceToken);return;case"map-value-ind":if(!t||t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else Object.assign(t,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!t||t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else t.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let n=this.flowScalar(this.type);if(!t||t.value)e.items.push({start:[],key:n,sep:[]});else if(t.sep)this.stack.push(n);else 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);if(s)this.stack.push(s);else 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=Mt(s),i=ye(n);Or(e);let r=e.end.splice(1,e.end.length);r.push(this.sourceToken);let o={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:i,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let t=this.source.indexOf(`
|
|
139
139
|
`)+1;while(t!==0)this.onNewLine(this.offset+t),t=this.source.indexOf(`
|
|
140
|
-
`,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=Mt(e),s=ye(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=Mt(e),s=ye(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){if(this.type!=="comment")return!1;if(this.indent<=t)return!1;return e.every((s)=>s.type==="newline"||s.type==="space")}*documentEnd(e){if(this.type!=="doc-mode"){if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(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;case"space":case"comment":default:if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}ph.Parser=Lr});var Tr=b(function(vh){var Er=Bs(),hh=_e(),Fe=De(),mh=zt(),gh=A(),yh=zs(),qr=Gs();function Ir(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new yh.LineCounter||null,prettyErrors:t}}function bh(e,t={}){let{lineCounter:s,prettyErrors:n}=Ir(t),i=new qr.Parser(s?.addNewLine),r=new Er.Composer(t),o=Array.from(r.compose(i.parse(e)));if(n&&s)for(let a of o)a.errors.forEach(Fe.prettifyError(e,s)),a.warnings.forEach(Fe.prettifyError(e,s));if(o.length>0)return o;return Object.assign([],{empty:!0},r.streamInfo())}function $r(e,t={}){let{lineCounter:s,prettyErrors:n}=Ir(t),i=new qr.Parser(s?.addNewLine),r=new Er.Composer(t),o=null;for(let a of r.compose(i.parse(e),!0,e.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Fe.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(n&&s)o.errors.forEach(Fe.prettifyError(e,s)),o.warnings.forEach(Fe.prettifyError(e,s));return o}function wh(e,t,s){let n=void 0;if(typeof t==="function")n=t;else if(s===void 0&&t&&typeof t==="object")s=t;let i=$r(e,s);if(!i)return null;if(i.warnings.forEach((r)=>mh.warn(i.options.logLevel,r)),i.errors.length>0)if(i.options.logLevel!=="silent")throw i.errors[0];else i.errors=[];return i.toJS(Object.assign({reviver:n},s))}function Sh(e,t,s){let n=null;if(typeof t==="function"||Array.isArray(t))n=t;else if(s===void 0&&t)s=t;if(typeof s==="string")s=s.length;if(typeof s==="number"){let i=Math.round(s);s=i<1?void 0:i>8?{indent:8}:{indent:i}}if(e===void 0){let{keepUndefined:i}=s??t??{};if(!i)return}if(gh.isDocument(e)&&!n)return e.toString(s);return new hh.Document(e,n,s).toString(s)}vh.parse=wh;vh.parseAllDocuments=bh;vh.parseDocument=$r;vh.stringify=Sh});import{satisfiesVersionRange as
|
|
140
|
+
`,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=Mt(e),s=ye(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=Mt(e),s=ye(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){if(this.type!=="comment")return!1;if(this.indent<=t)return!1;return e.every((s)=>s.type==="newline"||s.type==="space")}*documentEnd(e){if(this.type!=="doc-mode"){if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(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;case"space":case"comment":default:if(e.end)e.end.push(this.sourceToken);else e.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}ph.Parser=Lr});var Tr=b(function(vh){var Er=Bs(),hh=_e(),Fe=De(),mh=zt(),gh=A(),yh=zs(),qr=Gs();function Ir(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new yh.LineCounter||null,prettyErrors:t}}function bh(e,t={}){let{lineCounter:s,prettyErrors:n}=Ir(t),i=new qr.Parser(s?.addNewLine),r=new Er.Composer(t),o=Array.from(r.compose(i.parse(e)));if(n&&s)for(let a of o)a.errors.forEach(Fe.prettifyError(e,s)),a.warnings.forEach(Fe.prettifyError(e,s));if(o.length>0)return o;return Object.assign([],{empty:!0},r.streamInfo())}function $r(e,t={}){let{lineCounter:s,prettyErrors:n}=Ir(t),i=new qr.Parser(s?.addNewLine),r=new Er.Composer(t),o=null;for(let a of r.compose(i.parse(e),!0,e.length))if(!o)o=a;else if(o.options.logLevel!=="silent"){o.errors.push(new Fe.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(n&&s)o.errors.forEach(Fe.prettifyError(e,s)),o.warnings.forEach(Fe.prettifyError(e,s));return o}function wh(e,t,s){let n=void 0;if(typeof t==="function")n=t;else if(s===void 0&&t&&typeof t==="object")s=t;let i=$r(e,s);if(!i)return null;if(i.warnings.forEach((r)=>mh.warn(i.options.logLevel,r)),i.errors.length>0)if(i.options.logLevel!=="silent")throw i.errors[0];else i.errors=[];return i.toJS(Object.assign({reviver:n},s))}function Sh(e,t,s){let n=null;if(typeof t==="function"||Array.isArray(t))n=t;else if(s===void 0&&t)s=t;if(typeof s==="string")s=s.length;if(typeof s==="number"){let i=Math.round(s);s=i<1?void 0:i>8?{indent:8}:{indent:i}}if(e===void 0){let{keepUndefined:i}=s??t??{};if(!i)return}if(gh.isDocument(e)&&!n)return e.toString(s);return new hh.Document(e,n,s).toString(s)}vh.parse=wh;vh.parseAllDocuments=bh;vh.parseDocument=$r;vh.stringify=Sh});import{satisfiesVersionRange as qm}from"@mcp-com-ai/plugin-sdk";import{hapiHome as Im,loadGlobalConfig as $m,parseWorkspaceBootstrap as Tm,resolveHapiWorkspace as Mm,runtimeConsole as xm}from"@mcp-com-ai/shared-utils";function tn(e,t,s={}){let n=s.warn??(()=>{}),i=new Map,r=(o,a,l,c)=>{for(let f of[o.name,...o.aliases??[]]){if(i.has(f)){let u=i.get(f);n(`Command '${f}' already provided by ${u.source==="core"?"core":u.pluginName}; ignoring declaration from ${l??"core"}`);continue}i.set(f,{...o,source:a,pluginName:l,packageName:c})}};for(let o of e)r(o,"core");for(let{plugin:o,packageName:a}of t)for(let l of o.commands)r(l,"plugin",o.name,a);return i}function Dm(e){let t=new Set;for(let[s,n]of e.entries())if(s===n.name)t.add(n);return Array.from(t).filter((s)=>!s.hidden).sort((s,n)=>s.name.localeCompare(n.name))}import{HAPI_CLI_API_VERSION as fn,satisfiesVersionRange as Zr}from"@mcp-com-ai/plugin-sdk";import{mkdir as Ur,realpath as Rt,readFile as Ve,stat as Yr,writeFile as rn}from"fs/promises";import I from"path";import{pathToFileURL as Vr}from"url";import{hasFileSystemAccess as on,resolveHapiPaths as Hr}from"@mcp-com-ai/shared-utils";function we(){let e=I.join(Hr().home,"plugins");return{root:e,nodeModules:I.join(e,"node_modules"),manifest:I.join(e,"package.json")}}function be(e){return/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/i.test(e)}async function an(e,t=we()){if(!on||!be(e))return;let s=I.join(t.nodeModules,...e.split("/"));try{let n=await Rt(s),i=await Rt(t.nodeModules);if(!nn(n,i))return;let r=JSON.parse(await Ve(I.join(n,"package.json"),"utf8"));if(r.name!==e)return;let o=Qr(r);if(!o||!Xr(o))return;let a=I.resolve(n,o),l=await Rt(a);if(!nn(l,n))return;return Vr(l).href}catch{return}}async function ln(e,t={}){if(!on)throw Error("Managed plugins are not available without filesystem access.");let s=t.store??we(),n=await zr(e),i=await Wr(e);if(i.length===0&&n.size===0)throw Error("Provide at least one plugin package, tarball, or release directory.");await Ur(s.root,{recursive:!0}),await Jr(s);let r=await sn(s.manifest),o=t.execute??un;if(n.size>0)await Gr(s.manifest,n),await o(process.execPath,["install","--production"],s.root);if(i.length>0)await o(process.execPath,["add","--production",...i],s.root);return{packageNames:(await sn(s.manifest)).filter((l)=>!r.includes(l)),store:s}}async function cn(e,t={}){if(!be(e))throw Error(`Invalid plugin package name: ${e}`);let s=t.store??we();await(t.execute??un)(process.execPath,["remove",e],s.root)}async function Jr(e){try{await Ve(e.manifest,"utf8")}catch{await rn(e.manifest,JSON.stringify({name:"hapi-managed-plugins",private:!0,type:"module"},null,2)+`
|
|
141
141
|
`)}}async function un(e,t,s){if(await Bun.spawn([e,...t],{cwd:s,stdout:"inherit",stderr:"inherit",env:{...process.env,BUN_BE_BUN:"1"}}).exited)throw Error(`Plugin package operation failed: ${t.join(" ")}`)}async function Wr(e){let t=[];for(let s of e){let n=I.resolve(s);try{if(!(await Yr(n)).isDirectory()){t.push(s);continue}let r=I.join(n,"manifest.json");if(await Bun.file(r).exists())continue;else t.push(n)}catch(i){if(i instanceof Error&&i.message.includes("Release manifest"))throw i;t.push(s)}}return t}async function zr(e){let t=new Map,s=new Set;for(let r of e){let o=I.resolve(r),a=I.join(o,"manifest.json");if(!await Bun.file(a).exists())continue;let l=await Bun.file(a).json();for(let c of l.packages??[]){if(!c.name||!c.file||!be(c.name))continue;t.set(c.name,{file:I.join(o,c.file),internalDependencies:c.internalDependencies??{}})}for(let c of l.managedPlugins??[])if(be(c))s.add(c);if(s.size===0)throw Error(`Release manifest does not declare managed plugins: ${o}`)}let n=new Map,i=[...s];while(i.length>0){let r=i.pop();if(!r||n.has(r))continue;let o=t.get(r);if(!o)throw Error(`Release manifest is missing required package ${r}.`);n.set(r,`file:${o.file}`),i.push(...Object.keys(o.internalDependencies))}return n}async function Gr(e,t){let s=JSON.parse(await Ve(e,"utf8")),n=Object.fromEntries(t);await rn(e,`${JSON.stringify({...s,dependencies:{...s.dependencies??{},...n},overrides:{...s.overrides??{},...n}},null,2)}
|
|
142
|
-
`)}async function sn(e){let t=JSON.parse(await Ve(e,"utf8"));return Object.keys(t.dependencies??{}).filter(be)}function Qr(e){let t=e.exports&&typeof e.exports==="object"&&!Array.isArray(e.exports)?e.exports["."]??e.exports:e.exports;return Ye(t)??e.module??e.main}function Ye(e){if(typeof e==="string")return e;if(!e||typeof e!=="object"||Array.isArray(e))return;let t=e;return Ye(t.bun)??Ye(t.import)??Ye(t.default)}function Xr(e){return/\.(?:c?m?js)$/i.test(e)&&!/(?:^|\/)src(?:\/|$)/.test(e)}function nn(e,t){let s=I.relative(t,e);return s===""||!s.startsWith(`..${I.sep}`)&&s!==".."&&!I.isAbsolute(s)}var eo=["@mcp-com-ai/plugin-openapi","@mcp-com-ai/plugin-arazzo","@mcp-com-ai/plugin-cloudflare","@mcp-com-ai/plugin-capability-graph","@mcp-com-ai/enterprise-plugin-auth","@mcp-com-ai/enterprise-plugin-licensing","@mcp-com-ai/plugin-otel"];async function dn(e={}){let t=e.warn??(()=>{}),s=new Set(e.blocklist??[]),n=[],i=new Set,r=[];for(let o of e.bundledPlugins??[])r.push({packageName:o.name,source:"bundled",plugin:o});for(let o of e.workspacePackages??[])r.push({packageName:o,source:"workspace"});for(let o of eo)r.push({packageName:o,source:"installed"});for(let o of e.configuredPackages??[])r.push({packageName:o,source:"installed"});for(let o of e.workspaceRequirements??[])r.push({packageName:o,source:"installed"});for(let{packageName:o,source:a,plugin:l}of r){if(i.has(o))continue;if(i.add(o),s.has(o))continue;let c=!1;try{let f=a,u;if(!l)try{u=await import(o)}catch(y){if(!pn(y))throw y;let d=await(e.resolveManagedEntrypoint??an)(o);if(!d)throw y;c=!0,u=await import(d),f="managed"}let p=l??(u?.plugin??u?.default);if(!p){t(`Plugin '${o}' loaded but did not export a plugin definition`);continue}if(p.compatibility?.cliApiVersion!==fn){t(`Plugin '${o}' declares cliApiVersion=${p.compatibility?.cliApiVersion}; CLI expects ${fn}. Skipping.`);continue}let m=p.compatibility.core;if(m&&!Zr(m.version,m.range)){t(`Plugin '${o}' resolved core ${m.version}, which does not satisfy its declared range ${m.range}. Skipping.`);continue}n.push({plugin:p,packageName:o,source:f})}catch(f){let u=f instanceof Error?f.message:String(f);if(c||!pn(f))t(`Plugin '${o}' failed to load: ${u}`)}}return n}function pn(e){if(!e||typeof e!=="object")return!1;let t=e.code;if(t==="ERR_MODULE_NOT_FOUND"||t==="MODULE_NOT_FOUND")return!0;let s=e.message??"";return/Cannot find (module|package)/i.test(s)}import{parseArgs as to,renderCommandHelp as Bt}from"@mcp-com-ai/plugin-sdk";var He=[{command:"graph",packageName:"@mcp-com-ai/plugin-capability-graph",description:"Compile, inspect, search, and evaluate OpenAPI capability graphs.",installHint:"bun add -g @mcp-com-ai/plugin-capability-graph"},{command:"cloudflare",packageName:"@mcp-com-ai/plugin-cloudflare",description:"Deploy HAPI MCP servers to Cloudflare Workers (deploy, login, status).",installHint:"bun add -g @mcp-com-ai/plugin-cloudflare"},{command:"openapi",packageName:"@mcp-com-ai/plugin-openapi",description:"OpenAPI-driven tooling (init, lint, list, serve).",installHint:"bun add -g @mcp-com-ai/plugin-openapi",documentRootField:"openapi"},{command:"arazzo",packageName:"@mcp-com-ai/plugin-arazzo",description:"Arazzo workflow validation, serving, and execution.",installHint:"bun add -g @mcp-com-ai/plugin-arazzo",documentRootField:"arazzo"},{command:"workflows",packageName:"@mcp-com-ai/plugin-arazzo",description:"Alias for the Arazzo workflow command group.",installHint:"bun add -g @mcp-com-ai/plugin-arazzo",documentRootField:"arazzo"},{command:"auth",packageName:"@mcp-com-ai/enterprise-plugin-auth",description:"OAuth/Security handler configuration for `hapi serve` (enterprise tier).",installHint:"Contact La Rebelion Labs for enterprise access."},{command:"otel",packageName:"@mcp-com-ai/plugin-otel",description:"OpenTelemetry / PostHog telemetry collection for HAPI commands.",installHint:"bun add -g @mcp-com-ai/plugin-otel"},{command:"license",packageName:"@mcp-com-ai/enterprise-plugin-licensing",description:"Enterprise licensing (activation, status, import). Part of the enterprise tier.",installHint:"Contact La Rebelion Labs for enterprise access, then run `hapi plugins install <private-release-or-package>`."}];function hn(e){return He.find((t)=>t.command===e)}function mn(e){return He.find((t)=>t.documentRootField===e)}var so=new Set(["--help","-h","help"]);async function yn(e,t,s){if(t.length===0){let o=e.get("help");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}return s.stdout.write(`Usage: hapi <command> [subcommand] [options]
|
|
142
|
+
`)}async function sn(e){let t=JSON.parse(await Ve(e,"utf8"));return Object.keys(t.dependencies??{}).filter(be)}function Qr(e){let t=e.exports&&typeof e.exports==="object"&&!Array.isArray(e.exports)?e.exports["."]??e.exports:e.exports;return Ye(t)??e.module??e.main}function Ye(e){if(typeof e==="string")return e;if(!e||typeof e!=="object"||Array.isArray(e))return;let t=e;return Ye(t.bun)??Ye(t.import)??Ye(t.default)}function Xr(e){return/\.(?:c?m?js)$/i.test(e)&&!/(?:^|\/)src(?:\/|$)/.test(e)}function nn(e,t){let s=I.relative(t,e);return s===""||!s.startsWith(`..${I.sep}`)&&s!==".."&&!I.isAbsolute(s)}var eo=["@mcp-com-ai/plugin-openapi","@mcp-com-ai/plugin-arazzo","@mcp-com-ai/plugin-cloudflare","@mcp-com-ai/plugin-capability-graph","@mcp-com-ai/enterprise-plugin-auth","@mcp-com-ai/enterprise-plugin-licensing","@mcp-com-ai/enterprise-plugin-a2a","@mcp-com-ai/plugin-otel"];async function dn(e={}){let t=e.warn??(()=>{}),s=new Set(e.blocklist??[]),n=[],i=new Set,r=[];for(let o of e.bundledPlugins??[])r.push({packageName:o.name,source:"bundled",plugin:o});for(let o of e.workspacePackages??[])r.push({packageName:o,source:"workspace"});for(let o of eo)r.push({packageName:o,source:"installed"});for(let o of e.configuredPackages??[])r.push({packageName:o,source:"installed"});for(let o of e.workspaceRequirements??[])r.push({packageName:o,source:"installed"});for(let{packageName:o,source:a,plugin:l}of r){if(i.has(o))continue;if(i.add(o),s.has(o))continue;let c=!1;try{let f=a,u;if(!l)try{u=await import(o)}catch(y){if(!pn(y))throw y;let d=await(e.resolveManagedEntrypoint??an)(o);if(!d)throw y;c=!0,u=await import(d),f="managed"}let p=l??(u?.plugin??u?.default);if(!p){t(`Plugin '${o}' loaded but did not export a plugin definition`);continue}if(p.compatibility?.cliApiVersion!==fn){t(`Plugin '${o}' declares cliApiVersion=${p.compatibility?.cliApiVersion}; CLI expects ${fn}. Skipping.`);continue}let m=p.compatibility.core;if(m&&!Zr(m.version,m.range)){t(`Plugin '${o}' resolved core ${m.version}, which does not satisfy its declared range ${m.range}. Skipping.`);continue}n.push({plugin:p,packageName:o,source:f})}catch(f){let u=f instanceof Error?f.message:String(f);if(c||!pn(f))t(`Plugin '${o}' failed to load: ${u}`)}}return n}function pn(e){if(!e||typeof e!=="object")return!1;let t=e.code;if(t==="ERR_MODULE_NOT_FOUND"||t==="MODULE_NOT_FOUND")return!0;let s=e.message??"";return/Cannot find (module|package)/i.test(s)}import{parseArgs as to,renderCommandHelp as Bt}from"@mcp-com-ai/plugin-sdk";var He=[{command:"graph",packageName:"@mcp-com-ai/plugin-capability-graph",description:"Compile, inspect, search, and evaluate OpenAPI capability graphs.",installHint:"bun add -g @mcp-com-ai/plugin-capability-graph"},{command:"cloudflare",packageName:"@mcp-com-ai/plugin-cloudflare",description:"Deploy HAPI MCP servers to Cloudflare Workers (deploy, login, status).",installHint:"bun add -g @mcp-com-ai/plugin-cloudflare"},{command:"openapi",packageName:"@mcp-com-ai/plugin-openapi",description:"OpenAPI-driven tooling (init, lint, list, serve).",installHint:"bun add -g @mcp-com-ai/plugin-openapi",documentRootField:"openapi"},{command:"arazzo",packageName:"@mcp-com-ai/plugin-arazzo",description:"Arazzo workflow validation, serving, and execution.",installHint:"bun add -g @mcp-com-ai/plugin-arazzo",documentRootField:"arazzo"},{command:"workflows",packageName:"@mcp-com-ai/plugin-arazzo",description:"Alias for the Arazzo workflow command group.",installHint:"bun add -g @mcp-com-ai/plugin-arazzo",documentRootField:"arazzo"},{command:"auth",packageName:"@mcp-com-ai/enterprise-plugin-auth",description:"OAuth/Security handler configuration for `hapi serve` (enterprise tier).",installHint:"Contact La Rebelion Labs for enterprise access."},{command:"otel",packageName:"@mcp-com-ai/plugin-otel",description:"OpenTelemetry / PostHog telemetry collection for HAPI commands.",installHint:"bun add -g @mcp-com-ai/plugin-otel"},{command:"license",packageName:"@mcp-com-ai/enterprise-plugin-licensing",description:"Enterprise licensing (activation, status, import). Part of the enterprise tier.",installHint:"Contact La Rebelion Labs for enterprise access, then run `hapi plugins install <private-release-or-package>`."}];function hn(e){return He.find((t)=>t.command===e)}function mn(e){return He.find((t)=>t.documentRootField===e)}var so=new Set(["--help","-h","help"]);async function yn(e,t,s){if(t.length===0){let o=e.get("help");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}return s.stdout.write(`Usage: hapi <command> [subcommand] [options]
|
|
143
143
|
`),0}let[n,...i]=t;if(!n)return 0;if(n==="--help"||n==="-h"){let o=e.get("help");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}}if(n==="--version"||n==="-v"){let o=e.get("version");if(o?.run){let a=await o.run({positionals:[],options:{},rest:[]},s);return typeof a==="number"?a:0}}let r=e.get(n);if(!r)return no(n,s);return jt(e,r,i,s,[r.name])}async function jt(e,t,s,n,i){if(s.length>0&&so.has(s[0]))return Bt(t,n,i.slice(0,-1)),0;let r=s[0];if(t.subcommands&&t.subcommands.length>0&&r&&!r.startsWith("-")){let c=t.subcommands.find((f)=>f.name===r||f.aliases?.includes(r));if(c)return jt(e,c,s.slice(1),n,[...i,c.name]);if(!t.run)return n.stderr.write(`Unknown subcommand: ${i.join(" ")} ${r}
|
|
144
144
|
`),Bt(t,n,i.slice(0,-1)),1}if(!t.run)return Bt(t,n,i.slice(0,-1)),0;if(t.name==="serve"&&i.length>1){let c=e.get("serve");if(c?.source==="core")return jt(e,c,s,n,[c.name])}let o=n.workspace,a=o?.profileSettings?.spec&&i[0]==="graph"&&!gn(s,"specs")&&!s.some((c)=>!c.startsWith("-"))?[String(o.profileSettings.spec),...s]:s,l=to(a,t.options??[]);if(t.name==="serve"&&o?.profileSettings){let c=o.profileSettings,f={specs:c.spec,mcp:c.mcp,"capability-graph":c.capabilityGraph,"capability-planning":c.capabilityPlanning,"capability-classifier":c.capabilityClassifier,"runtime-authority":c.runtimeAuthority};for(let[u,p]of Object.entries(f))if(p!==void 0&&!gn(s,u))l.options[u]=p}if(l.unknownOptions?.length)n.stderr.write(`\u26A0\uFE0F Unrecognized option(s): ${l.unknownOptions.map((c)=>`--${c}`).join(", ")} \u2014 not applied. Check for a typo (see --help for valid options).
|
|
145
145
|
`);try{let c=await t.run(l,n);return typeof c==="number"?c:Number(process.exitCode??0)}catch(c){let{printCliError:f}=await import("@mcp-com-ai/shared-utils");return f(`\u274C ${i.join(" ")} failed`,c),1}}function gn(e,t){let s=t.replace(/-([a-z])/g,(n,i)=>i.toUpperCase());return e.some((n)=>n===`--${t}`||n===`--no-${t}`||n.startsWith(`--${t}=`)||n===`--${s}`||n.startsWith(`--${s}=`))}function no(e,t){let s=hn(e);if(s)return t.stderr.write(`
|
|
@@ -175,7 +175,7 @@ Examples:
|
|
|
175
175
|
`),r(`Is the HAPI CLI helpful?
|
|
176
176
|
Don't forget to star the project on GitHub: https://github.com/mcp-com-ai/hapimcp
|
|
177
177
|
|
|
178
|
-
`),0}}}import{HAPI_CLI_API_VERSION as ro}from"@mcp-com-ai/plugin-sdk";var wn="1.
|
|
178
|
+
`),0}}}import{HAPI_CLI_API_VERSION as ro}from"@mcp-com-ai/plugin-sdk";var wn="1.3.1";var Je=wn;var Sn={name:"version",aliases:["--version","-v"],description:"Show the installed CLI version",run:async(e,t)=>(t.stdout.write(`hapi ${Je}
|
|
179
179
|
`),t.stdout.write(`plugin-contract v${ro}
|
|
180
180
|
`),0)};import{hasFileSystemAccess as oo,loadGlobalConfig as vn,saveGlobalConfig as kn}from"@mcp-com-ai/shared-utils";function Cn(e){return{name:"plugins",description:"List loaded plugins and discover installable ones",subcommands:[{name:"list",description:"List the plugins currently loaded by the CLI",async run(t,s){let n=e();if(n.length===0)return s.stdout.write("No plugins loaded. Run `hapi plugins available` to see what you can install.\n"),0;s.stdout.write(`
|
|
181
181
|
Loaded plugins:
|
|
@@ -225,15 +225,15 @@ Loaded plugins: ${l.length}
|
|
|
225
225
|
`);let f=c.plugin.compatibility.core;if(f){let u=co(f.version,f.range);if(n(` core: ${f.version} ${u?"satisfies":"does not satisfy"} ${f.range}
|
|
226
226
|
`),!u)r++}}if(l.length===0)n(` \u2022 no plugins loaded
|
|
227
227
|
`);return n(`
|
|
228
|
-
`),r===0?0:1}}}import{existsSync as
|
|
229
|
-
`),1;let r=n??i??t.positionals[0]??"",o=await
|
|
228
|
+
`),r===0?0:1}}}import{existsSync as um}from"fs";import{posix as fm,win32 as pm}from"path";import{fileURLToPath as dm,pathToFileURL as hm}from"url";var Oh=Bs(),Ph=_e(),Lh=Cs(),Qs=De(),Eh=ke(),Q=A(),qh=H(),Ih=P(),$h=W(),Th=z(),Ey=$t(),Mh=Ws(),xh=zs(),_h=Gs(),_t=Tr(),Mr=Se();var Dh=Oh.Composer,Rh=Ph.Document,Bh=Lh.Schema,{YAMLError:jh,YAMLParseError:Kh,YAMLWarning:Fh}=Qs,Uh=Eh.Alias,{isAlias:Yh,isCollection:Vh,isDocument:Hh,isMap:Jh,isNode:Wh,isPair:zh,isScalar:Gh,isSeq:Qh}=Q,Xh=qh.Pair,Zh=Ih.Scalar,em=$h.YAMLMap,tm=Th.YAMLSeq;var sm=Mh.Lexer,nm=xh.LineCounter,im=_h.Parser,{parse:Xs,parseAllDocuments:rm,parseDocument:om,stringify:am}=_t,{visit:lm,visitAsync:cm}=Mr;import{DEFAULT_DOCUMENT_SOURCE_POLICY as Dt,assertRemoteDocumentUrl as mm,redactDocumentUrl as gm}from"@mcp-com-ai/plugin-sdk";async function xr(e,t){let s=e.trim();if(!s)return;Br(s);let n=vm(s);if(n?.protocol==="http:"||n?.protocol==="https:")return wm(s,n,t);if(n&&n.protocol!=="file:"&&n.protocol!=="path:")throw Error(`Unsupported document source scheme: ${n.protocol}`);let i=n?.protocol==="file:"?Cm(n):ym(n?.protocol==="path:"?km(n):s,t);if(!i)return;return bm(s,i,t.maxBytes??Dt.maxBytes)}function ym(e,t){return Am(e,t.cwd,t.hapiHome,um)}async function bm(e,t,s){let n=Bun.file(t);if(n.size>s)throw Error(`Document source exceeds ${s} bytes: ${t}`);let i=await n.text();Dr(i,s,t);let r=Nm(t);return Rr({identifier:e,canonicalUri:r,baseUri:new URL(".",r).href,raw:i,document:_r(i,t),remote:!1})}async function wm(e,t,s){let n=s.fetchImpl??fetch,i=s.maxBytes??Dt.maxBytes,r=new AbortController,o=setTimeout(()=>r.abort(),s.timeoutMs??Dt.timeoutMs),a=t;try{for(let l=0;l<=Dt.maxRedirects;l++){mm(a);let c=await n(a,{redirect:"manual",signal:r.signal});if(Sm(c.status)){let p=c.headers.get("location");if(!p)throw Error(`Redirect from ${re(a)} has no Location header`);a=new URL(p,a);continue}if(!c.ok)throw Error(`Unable to load ${re(a)}: HTTP ${c.status}`);let f=Number(c.headers.get("content-length"));if(Number.isFinite(f)&&f>i)throw Error(`Document source exceeds ${i} bytes: ${re(a)}`);let u=await c.text();return Dr(u,i,re(a)),Rr({identifier:e,canonicalUri:a.href,baseUri:new URL(".",a).href,raw:u,document:_r(u,re(a)),remote:!0})}throw Error(`Too many redirects while loading ${re(t)}`)}catch(l){if(r.signal.aborted)throw Error(`Timed out loading ${re(a)}`);throw l}finally{clearTimeout(o)}}function _r(e,t){try{let s=Xs(e);if(!s||typeof s!=="object"||Array.isArray(s))throw Error("document root must be an object");return s}catch(s){throw Error(`Unable to parse ${t}: ${s instanceof Error?s.message:String(s)}`)}}function Dr(e,t,s){if(new TextEncoder().encode(e).byteLength>t)throw Error(`Document source exceeds ${t} bytes: ${s}`)}function Rr(e){return Object.freeze(e)}function Sm(e){return[301,302,303,307,308].includes(e)}function vm(e){if(Zs(e))return;try{return new URL(e)}catch{return}}function km(e){let t=decodeURIComponent(e.pathname);if(/^\/[A-Za-z]:\//.test(t))return t.slice(1).replaceAll("/","\\");if(/^[A-Za-z]$/.test(e.hostname))return`${e.hostname.toUpperCase()}:${t}`.replaceAll("/","\\");if(e.hostname)return`\\\\${e.hostname}${t.replaceAll("/","\\")}`;return t}function Cm(e){return dm(e,{windows:Pm(e)})}function Nm(e){return hm(e,{windows:Zs(e)}).href}function Am(e,t,s,n){Br(e);let i=Om(e,t,s),r=i.resolve(t,e);if(n(r))return r;let o=i.resolve(s,"specs");for(let a of["",".json",".yaml",".yml"]){let l=i.resolve(o,`${e}${a}`);if(n(l))return l}return}function Om(...e){return e.some((t)=>Zs(t))?pm:fm}function Zs(e){return/^[A-Za-z]:[\\/]/.test(e)||/^\\\\/.test(e)}function Pm(e){return e.hostname.length>0||/^\/[A-Za-z]:\//.test(e.pathname)}function Br(e){if(/^[A-Za-z]:[^\\/]/.test(e))throw Error(`Windows drive-relative document sources are ambiguous: ${e}. Use an absolute drive path or a path relative to the current directory.`)}function re(e){return gm(e)}function Kr(e){let t=()=>e().flatMap((s)=>s.plugin.serveProviders??[]);return{name:"serve",description:"Serve an OpenAPI or Arazzo document with the matching installed plugin",arguments:[{name:"source",description:"Project name, local JSON/YAML file, or remote document URL",required:!1}],get options(){return Em(t())},get longHelp(){return t().find((s)=>s.longHelp)?.longHelp},async run(s,n){return Lm(t(),s,n)}}}async function Lm(e,t,s){let n=typeof t.options.specs==="string"?t.options.specs:void 0,i=typeof t.options.openapi==="string"?t.options.openapi:void 0;if(n&&i)return s.stderr.write(`Use either --specs or --openapi, not both.
|
|
229
|
+
`),1;let r=n??i??t.positionals[0]??"",o=await xr(r,{cwd:s.cwd,hapiHome:s.hapiHome});if(!o){let f=e.filter((u)=>u.legacyFallback);if(f.length!==1)return s.stderr.write(`Unable to resolve document source: ${r||"(missing)"}
|
|
230
230
|
`),1;return jr(await f[0].serve({source:o,invocation:t},s))}let a=o.document,l=e.filter((f)=>typeof a[f.rootField]==="string");if(l.length>1)return s.stderr.write(`Ambiguous document ${o.identifier}: multiple root fields matched (${l.map((f)=>f.rootField).join(", ")})
|
|
231
231
|
`),1;if(l.length===0){let f=Object.keys(a).map((u)=>mn(u)).find(Boolean);if(f)return s.stderr.write(`Document type requires ${f.packageName}, which is not installed.
|
|
232
232
|
`),s.stderr.write(`Install it with:
|
|
233
233
|
${f.installHint??`bun add -g ${f.packageName}`}
|
|
234
234
|
`),127;return s.stderr.write(`Unknown document type: expected one root version field such as "openapi" or "arazzo".
|
|
235
235
|
`),1}let c=l[0];if(i&&c.kind!=="openapi")return s.stderr.write(`Expected an OpenAPI document from --openapi, received ${c.kind}.
|
|
236
|
-
`),1;return jr(await c.serve({source:o,invocation:t},s))}function
|
|
236
|
+
`),1;return jr(await c.serve({source:o,invocation:t},s))}function Em(e){let t=new Map;for(let s of e)for(let n of s.options??[]){let i=t.get(n.name);if(i&&(i.type!==n.type||i.alias!==n.alias))throw Error(`Incompatible --${n.name} declarations from serve providers`);if(!i)t.set(n.name,n)}return[...t.values()]}function jr(e){return typeof e==="number"?e:Number(process.exitCode??0)}function Fr(e){return[bn(e.getRegistry),Sn,Kr(e.getLoaded),Cn(e.getLoaded),An(e.getLoaded)]}async function Xy(e){let t=e.stdout??process.stdout,s=e.stderr??process.stderr,n=e.stdin??process.stdin,i=e.env??process.env,r=e.cwd??process.cwd(),o=e.silent??!1,a,l;try{a=Tm(e.argv,i),l=await Mm(a.selector,a.profile,r)}catch(g){return s.write(`\u274C ${g instanceof Error?g.message:String(g)}
|
|
237
237
|
`),1}let c=(g)=>{if(!o)s.write(`warn: ${g}
|
|
238
|
-
`)},f=await
|
|
239
|
-
`),1}let p=new Map,d=Fr({getRegistry:()=>p,getLoaded:()=>u});p=tn(d,u,{warn:c});let h={cwd:r,env:i,stdout:t,stderr:s,stdin:n,rawArgv:a.argv,hapiHome:
|
|
238
|
+
`)},f=await $m().catch(()=>({plugins:void 0,pluginsDisabled:void 0})),u=await dn({bundledPlugins:e.bundledPlugins,workspacePackages:e.workspacePackages,configuredPackages:Array.isArray(f.plugins)?f.plugins:void 0,workspaceRequirements:[...l?.plugins.required.map((g)=>g.name)??[],...l?.plugins.optional.map((g)=>g.name)??[]],blocklist:[...Array.isArray(f.pluginsDisabled)?f.pluginsDisabled:[],...e.pluginsDisabled??[]],warn:c});if(l){let g=[...l.plugins.required];if(l.profileSettings?.capabilityClassifier==="typesafe"){let v=l.plugins.optional.find((k)=>k.name==="@mcp-com-ai/enterprise-plugin-capability-classifier");g.push(v??{name:"@mcp-com-ai/enterprise-plugin-capability-classifier",version:"(declare a compatible version in plugins.optional)"})}let w=g.find((v)=>{let k=u.find((C)=>C.packageName===v.name);return!k||!qm(k.plugin.version,v.version)});if(w)return s.write(`\u274C Workspace ${l.descriptor} profile ${l.profile??"(default)"} requires ${w.name} ${w.version}, but a compatible global managed plugin is not available. Install it with: hapi plugins install <release-or-package>
|
|
239
|
+
`),1}let p=new Map,d=Fr({getRegistry:()=>p,getLoaded:()=>u});p=tn(d,u,{warn:c});let h={cwd:r,env:i,stdout:t,stderr:s,stdin:n,rawArgv:a.argv,hapiHome:Im,workspace:l,services:new Map};for(let{plugin:g}of u)if(typeof g.onLoad==="function")try{await g.onLoad(h)}catch(w){c(`Plugin '${g.name}' onLoad failed: ${w instanceof Error?w.message:String(w)}`)}try{return await yn(p,a.argv,h)}catch(g){return xm.error(g),1}}export{tn as buildCommandRegistry,dn as loadInstalledPlugins,Xy as runCli,yn as runCommand};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-com-ai/hapi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "HAPI CLI — the core executable. Thin shell that discovers first-party and third-party plugins, routes commands, and provides a consistent UX across the HAPI stack.",
|
|
5
5
|
"license": "LRL-CL",
|
|
6
6
|
"repository": {
|