@tripwire-sh/cli 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/tripwire.js +232 -217
- package/package.json +1 -1
package/dist/tripwire.js
CHANGED
|
@@ -1,179 +1,179 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as
|
|
3
|
-
`)}displayWidth(e){return
|
|
2
|
+
import{createRequire as Vz}from"node:module";var zz=Object.create;var{getPrototypeOf:Nz,defineProperty:Ta,getOwnPropertyNames:Lz}=Object;var dw=Object.prototype.hasOwnProperty;function jz(e){return this[e]}var Dz,Mz,On=(e,t,r)=>{var n=e!=null&&typeof e==="object";if(n){var o=t?Dz??=new WeakMap:Mz??=new WeakMap,s=o.get(e);if(s)return s}r=e!=null?zz(Nz(e)):{};let i=t||!e||!e.__esModule||!dw.call(e,"default")?Ta(r,"default",{value:e,enumerable:!0}):r;if(e&&typeof e==="object"||typeof e==="function"){for(let a of Lz(e))if(!dw.call(i,a))Ta(i,a,{get:jz.bind(e,a),enumerable:!0})}if(n)o.set(e,i);return i};var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var qz=(e)=>e;function Fz(e,t){this[e]=qz.bind(null,t)}var Uz=(e,t)=>{for(var r in t)Ta(e,r,{get:t[r],enumerable:!0,configurable:!0,set:Fz.bind(t,r)})};var Wz=(e,t,r)=>{for(var n in t)Ta(e,n,{get:t[n],set:r[n],enumerable:!0,configurable:!0})},kr=Vz(import.meta.url);var Ss=T(function(Zz){class Dd extends Error{constructor(e,t,r){super(r);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}}class pw extends Dd{constructor(e){super(1,"commander.invalidArgument",e);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}Zz.CommanderError=Dd;Zz.InvalidArgumentError=pw});var Pa=T(function(Jz){var{InvalidArgumentError:Hz}=Ss();class fw{constructor(e,t){switch(this.description=t||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case"<":this.required=!0,this._name=e.slice(1,-1);break;case"[":this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(e,t){if(t===this.defaultValue||!Array.isArray(t))return[e];return t.push(e),t}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(t,r)=>{if(!this.argChoices.includes(t))throw new Hz(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(t,r);return t},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Gz(e){let t=e.name()+(e.variadic===!0?"...":"");return e.required?"<"+t+">":"["+t+"]"}Jz.Argument=fw;Jz.humanReadableArgName=Gz});var Md=T(function(eN){var{humanReadableArgName:Qz}=Pa();class mw{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter((n)=>!n._hidden),r=e._getHelpCommand();if(r&&!r._hidden)t.push(r);if(this.sortSubcommands)t.sort((n,o)=>n.name().localeCompare(o.name()));return t}compareOptions(e,t){let r=(n)=>n.short?n.short.replace(/^-/,""):n.long.replace(/^--/,"");return r(e).localeCompare(r(t))}visibleOptions(e){let t=e.options.filter((n)=>!n.hidden),r=e._getHelpOption();if(r&&!r.hidden){let n=r.short&&e._findOption(r.short),o=r.long&&e._findOption(r.long);if(!n&&!o)t.push(r);else if(r.long&&!o)t.push(e.createOption(r.long,r.description));else if(r.short&&!n)t.push(e.createOption(r.short,r.description))}if(this.sortOptions)t.sort(this.compareOptions);return t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let r=e.parent;r;r=r.parent){let n=r.options.filter((o)=>!o.hidden);t.push(...n)}if(this.sortOptions)t.sort(this.compareOptions);return t}visibleArguments(e){if(e._argsDescription)e.registeredArguments.forEach((t)=>{t.description=t.description||e._argsDescription[t.name()]||""});if(e.registeredArguments.find((t)=>t.description))return e.registeredArguments;return[]}subcommandTerm(e){let t=e.registeredArguments.map((r)=>Qz(r)).join(" ");return e._name+(e._aliases[0]?"|"+e._aliases[0]:"")+(e.options.length?" [options]":"")+(t?" "+t:"")}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((r,n)=>Math.max(r,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((r,n)=>Math.max(r,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((r,n)=>Math.max(r,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((r,n)=>Math.max(r,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;if(e._aliases[0])t=t+"|"+e._aliases[0];let r="";for(let n=e.parent;n;n=n.parent)r=n.name()+" "+r;return r+t+" "+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices)t.push(`choices: ${e.argChoices.map((r)=>JSON.stringify(r)).join(", ")}`);if(e.defaultValue!==void 0){if(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==="boolean")t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`)}if(e.presetArg!==void 0&&e.optional)t.push(`preset: ${JSON.stringify(e.presetArg)}`);if(e.envVar!==void 0)t.push(`env: ${e.envVar}`);if(t.length>0){let r=`(${t.join(", ")})`;if(e.description)return`${e.description} ${r}`;return r}return e.description}argumentDescription(e){let t=[];if(e.argChoices)t.push(`choices: ${e.argChoices.map((r)=>JSON.stringify(r)).join(", ")}`);if(e.defaultValue!==void 0)t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`);if(t.length>0){let r=`(${t.join(", ")})`;if(e.description)return`${e.description} ${r}`;return r}return e.description}formatItemList(e,t,r){if(t.length===0)return[];return[r.styleTitle(e),...t,""]}groupItems(e,t,r){let n=new Map;return e.forEach((o)=>{let s=r(o);if(!n.has(s))n.set(s,[])}),t.forEach((o)=>{let s=r(o);if(!n.has(s))n.set(s,[]);n.get(s).push(o)}),n}formatHelp(e,t){let r=t.padWidth(e,t),n=t.helpWidth??80;function o(l,d){return t.formatItem(l,r,d,t)}let s=[`${t.styleTitle("Usage:")} ${t.styleUsage(t.commandUsage(e))}`,""],i=t.commandDescription(e);if(i.length>0)s=s.concat([t.boxWrap(t.styleCommandDescription(i),n),""]);let a=t.visibleArguments(e).map((l)=>o(t.styleArgumentTerm(t.argumentTerm(l)),t.styleArgumentDescription(t.argumentDescription(l))));if(s=s.concat(this.formatItemList("Arguments:",a,t)),this.groupItems(e.options,t.visibleOptions(e),(l)=>l.helpGroupHeading??"Options:").forEach((l,d)=>{let f=l.map((m)=>o(t.styleOptionTerm(t.optionTerm(m)),t.styleOptionDescription(t.optionDescription(m))));s=s.concat(this.formatItemList(d,f,t))}),t.showGlobalOptions){let l=t.visibleGlobalOptions(e).map((d)=>o(t.styleOptionTerm(t.optionTerm(d)),t.styleOptionDescription(t.optionDescription(d))));s=s.concat(this.formatItemList("Global Options:",l,t))}return this.groupItems(e.commands,t.visibleCommands(e),(l)=>l.helpGroup()||"Commands:").forEach((l,d)=>{let f=l.map((m)=>o(t.styleSubcommandTerm(t.subcommandTerm(m)),t.styleSubcommandDescription(t.subcommandDescription(m))));s=s.concat(this.formatItemList(d,f,t))}),s.join(`
|
|
3
|
+
`)}displayWidth(e){return hw(e).length}styleTitle(e){return e}styleUsage(e){return e.split(" ").map((t)=>{if(t==="[options]")return this.styleOptionText(t);if(t==="[command]")return this.styleSubcommandText(t);if(t[0]==="["||t[0]==="<")return this.styleArgumentText(t);return this.styleCommandText(t)}).join(" ")}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(" ").map((t)=>{if(t==="[options]")return this.styleOptionText(t);if(t[0]==="["||t[0]==="<")return this.styleArgumentText(t);return this.styleSubcommandText(t)}).join(" ")}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,r,n){let s=" ".repeat(2);if(!r)return s+e;let i=e.padEnd(t+e.length-n.displayWidth(e)),a=2,u=(this.helpWidth??80)-t-a-2,l;if(u<this.minWidthToWrap||n.preformatted(r))l=r;else l=n.boxWrap(r,u).replace(/\n/g,`
|
|
4
4
|
`+" ".repeat(t+a));return s+i+" ".repeat(a)+l.replace(/\n/g,`
|
|
5
5
|
${s}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let r=e.split(/\r\n|\n/),n=/[\s]*[^\s]+/g,o=[];return r.forEach((s)=>{let i=s.match(n);if(i===null){o.push("");return}let a=[i.shift()],c=this.displayWidth(a[0]);i.forEach((u)=>{let l=this.displayWidth(u);if(c+l<=t){a.push(u),c+=l;return}o.push(a.join(""));let d=u.trimStart();a=[d],c=this.displayWidth(d)}),o.push(a.join(""))}),o.join(`
|
|
6
|
-
`)}}function
|
|
6
|
+
`)}}function hw(e){let t=/\x1b\[\d*(;\d*)*m/g;return e.replace(t,"")}eN.Help=mw;eN.stripColor=hw});var qd=T(function(sN){var{InvalidArgumentError:nN}=Ss();class yw{constructor(e,t){this.flags=e,this.description=t||"",this.required=e.includes("<"),this.optional=e.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let r=oN(e);if(this.short=r.shortFlag,this.long=r.longFlag,this.negate=!1,this.long)this.negate=this.long.startsWith("--no-");this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;if(typeof e==="string")t={[e]:!0};return this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){if(t===this.defaultValue||!Array.isArray(t))return[e];return t.push(e),t}choices(e){return this.argChoices=e.slice(),this.parseArg=(t,r)=>{if(!this.argChoices.includes(t))throw new nN(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(t,r);return t},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return gw(this.name().replace(/^no-/,""));return gw(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class ww{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach((t)=>{if(t.negate)this.negativeOptions.set(t.attributeName(),t);else this.positiveOptions.set(t.attributeName(),t)}),this.negativeOptions.forEach((t,r)=>{if(this.positiveOptions.has(r))this.dualOptions.add(r)})}valueFromOption(e,t){let r=t.attributeName();if(!this.dualOptions.has(r))return!0;let n=this.negativeOptions.get(r).presetArg,o=n!==void 0?n:!1;return t.negate===(o===e)}}function gw(e){return e.split("-").reduce((t,r)=>t+r[0].toUpperCase()+r.slice(1))}function oN(e){let t,r,n=/^-[^-]$/,o=/^--[^-]/,s=e.split(/[ |,]+/).concat("guard");if(n.test(s[0]))t=s.shift();if(o.test(s[0]))r=s.shift();if(!t&&n.test(s[0]))t=s.shift();if(!t&&o.test(s[0]))t=r,r=s.shift();if(s[0].startsWith("-")){let i=s[0],a=`option creation failed due to '${i}' in option flags '${e}'`;if(/^-[^-][^-]/.test(i))throw Error(`${a}
|
|
7
7
|
- a short flag is a single dash and a single character
|
|
8
8
|
- either use a single dash and a single character (for a short flag)
|
|
9
9
|
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(n.test(i))throw Error(`${a}
|
|
10
10
|
- too many short flags`);if(o.test(i))throw Error(`${a}
|
|
11
11
|
- too many long flags`);throw Error(`${a}
|
|
12
|
-
- unrecognised flag format`)}if(t===void 0&&r===void 0)throw Error(`option creation failed due to no flags found in '${e}'.`);return{shortFlag:t,longFlag:r}}
|
|
12
|
+
- unrecognised flag format`)}if(t===void 0&&r===void 0)throw Error(`option creation failed due to no flags found in '${e}'.`);return{shortFlag:t,longFlag:r}}sN.Option=yw;sN.DualOptions=ww});var bw=T(function(lN){function cN(e,t){if(Math.abs(e.length-t.length)>3)return Math.max(e.length,t.length);let r=[];for(let n=0;n<=e.length;n++)r[n]=[n];for(let n=0;n<=t.length;n++)r[0][n]=n;for(let n=1;n<=t.length;n++)for(let o=1;o<=e.length;o++){let s=1;if(e[o-1]===t[n-1])s=0;else s=1;if(r[o][n]=Math.min(r[o-1][n]+1,r[o][n-1]+1,r[o-1][n-1]+s),o>1&&n>1&&e[o-1]===t[n-2]&&e[o-2]===t[n-1])r[o][n]=Math.min(r[o][n],r[o-2][n-2]+1)}return r[e.length][t.length]}function uN(e,t){if(!t||t.length===0)return"";t=Array.from(new Set(t));let r=e.startsWith("--");if(r)e=e.slice(2),t=t.map((i)=>i.slice(2));let n=[],o=3,s=0.4;if(t.forEach((i)=>{if(i.length<=1)return;let a=cN(e,i),c=Math.max(e.length,i.length);if((c-a)/c>s){if(a<o)o=a,n=[i];else if(a===o)n.push(i)}}),n.sort((i,a)=>i.localeCompare(a)),r)n=n.map((i)=>`--${i}`);if(n.length>1)return`
|
|
13
13
|
(Did you mean one of ${n.join(", ")}?)`;if(n.length===1)return`
|
|
14
|
-
(Did you mean ${n[0]}?)`;return""}
|
|
15
|
-
- specify the name in Command constructor or using .name()`);if(t=t||{},t.isDefault)this._defaultCommandName=e._name;if(t.noHelp||t.hidden)e._hidden=!0;return this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,t){return new
|
|
16
|
-
Expecting one of '${r.join("', '")}'`);if(this._lifeCycleHooks[e])this._lifeCycleHooks[e].push(t);else this._lifeCycleHooks[e]=[t];return this}exitOverride(e){if(e)this._exitCallback=e;else this._exitCallback=(t)=>{if(t.code!=="commander.executeSubCommandAsync")throw t};return this}_exit(e,t,r){if(this._exitCallback)this._exitCallback(new
|
|
17
|
-
- already used by option '${t.flags}'`)}this._initOptionGroup(e),this.options.push(e)}_registerCommand(e){let t=(n)=>[n.name()].concat(n.aliases()),r=t(e).find((n)=>this._findCommand(n));if(r){let n=t(this._findCommand(r)).join("|"),o=t(e).join("|");throw Error(`cannot add command '${o}' as already have command '${n}'`)}this._initCommandGroup(e),this.commands.push(e)}addOption(e){this._registerOption(e);let t=e.name(),r=e.attributeName();if(e.negate){let o=e.long.replace(/^--no-/,"--");if(!this._findOption(o))this.setOptionValueWithSource(r,e.defaultValue===void 0?!0:e.defaultValue,"default")}else if(e.defaultValue!==void 0)this.setOptionValueWithSource(r,e.defaultValue,"default");let n=(o,s,i)=>{if(o==null&&e.presetArg!==void 0)o=e.presetArg;let a=this.getOptionValue(r);if(o!==null&&e.parseArg)o=this._callParseArg(e,o,a,s);else if(o!==null&&e.variadic)o=e._collectValue(o,a);if(o==null)if(e.negate)o=!1;else if(e.isBoolean()||e.optional)o=!0;else o="";this.setOptionValueWithSource(r,o,i)};if(this.on("option:"+t,(o)=>{let s=`error: option '${e.flags}' argument '${o}' is invalid.`;n(o,s,"cli")}),e.envVar)this.on("optionEnv:"+t,(o)=>{let s=`error: option '${e.flags}' value '${o}' from env '${e.envVar}' is invalid.`;n(o,s,"env")});return this}_optionEx(e,t,r,n,o){if(typeof t==="object"&&t instanceof
|
|
18
|
-
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(e,t,r){if(
|
|
14
|
+
(Did you mean ${n[0]}?)`;return""}lN.suggestSimilar=uN});var kw=T(function(wN){var pN=kr("node:events").EventEmitter,io=kr("node:child_process"),We=kr("node:path"),Mr=kr("node:fs"),V=kr("node:process"),{Argument:fN,humanReadableArgName:mN}=Pa(),{CommanderError:Fd}=Ss(),{Help:hN,stripColor:gN}=Md(),{Option:_w,DualOptions:yN}=qd(),{suggestSimilar:vw}=bw();class Wd extends pN{constructor(e){super();this.commands=[],this.options=[],this.parent=null,this._allowUnknownOption=!1,this._allowExcessArguments=!1,this.registeredArguments=[],this._args=this.registeredArguments,this.args=[],this.rawArgs=[],this.processedArgs=[],this._scriptPath=null,this._name=e||"",this._optionValues={},this._optionValueSources={},this._storeOptionsAsProperties=!1,this._actionHandler=null,this._executableHandler=!1,this._executableFile=null,this._executableDir=null,this._defaultCommandName=null,this._exitCallback=null,this._aliases=[],this._combineFlagAndOptionalValue=!0,this._description="",this._summary="",this._argsDescription=void 0,this._enablePositionalOptions=!1,this._passThroughOptions=!1,this._lifeCycleHooks={},this._showHelpAfterError=!1,this._showSuggestionAfterError=!0,this._savedState=null,this._outputConfiguration={writeOut:(t)=>V.stdout.write(t),writeErr:(t)=>V.stderr.write(t),outputError:(t,r)=>r(t),getOutHelpWidth:()=>V.stdout.isTTY?V.stdout.columns:void 0,getErrHelpWidth:()=>V.stderr.isTTY?V.stderr.columns:void 0,getOutHasColors:()=>Ud()??(V.stdout.isTTY&&V.stdout.hasColors?.()),getErrHasColors:()=>Ud()??(V.stderr.isTTY&&V.stderr.hasColors?.()),stripColor:(t)=>gN(t)},this._hidden=!1,this._helpOption=void 0,this._addImplicitHelpCommand=void 0,this._helpCommand=void 0,this._helpConfiguration={},this._helpGroupHeading=void 0,this._defaultCommandGroup=void 0,this._defaultOptionGroup=void 0}copyInheritedSettings(e){return this._outputConfiguration=e._outputConfiguration,this._helpOption=e._helpOption,this._helpCommand=e._helpCommand,this._helpConfiguration=e._helpConfiguration,this._exitCallback=e._exitCallback,this._storeOptionsAsProperties=e._storeOptionsAsProperties,this._combineFlagAndOptionalValue=e._combineFlagAndOptionalValue,this._allowExcessArguments=e._allowExcessArguments,this._enablePositionalOptions=e._enablePositionalOptions,this._showHelpAfterError=e._showHelpAfterError,this._showSuggestionAfterError=e._showSuggestionAfterError,this}_getCommandAndAncestors(){let e=[];for(let t=this;t;t=t.parent)e.push(t);return e}command(e,t,r){let n=t,o=r;if(typeof n==="object"&&n!==null)o=n,n=null;o=o||{};let[,s,i]=e.match(/([^ ]+) *(.*)/),a=this.createCommand(s);if(n)a.description(n),a._executableHandler=!0;if(o.isDefault)this._defaultCommandName=a._name;if(a._hidden=!!(o.noHelp||o.hidden),a._executableFile=o.executableFile||null,i)a.arguments(i);if(this._registerCommand(a),a.parent=this,a.copyInheritedSettings(this),n)return this;return a}createCommand(e){return new Wd(e)}createHelp(){return Object.assign(new hN,this.configureHelp())}configureHelp(e){if(e===void 0)return this._helpConfiguration;return this._helpConfiguration=e,this}configureOutput(e){if(e===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...e},this}showHelpAfterError(e=!0){if(typeof e!=="string")e=!!e;return this._showHelpAfterError=e,this}showSuggestionAfterError(e=!0){return this._showSuggestionAfterError=!!e,this}addCommand(e,t){if(!e._name)throw Error(`Command passed to .addCommand() must have a name
|
|
15
|
+
- specify the name in Command constructor or using .name()`);if(t=t||{},t.isDefault)this._defaultCommandName=e._name;if(t.noHelp||t.hidden)e._hidden=!0;return this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,t){return new fN(e,t)}argument(e,t,r,n){let o=this.createArgument(e,t);if(typeof r==="function")o.default(n).argParser(r);else o.default(r);return this.addArgument(o),this}arguments(e){return e.trim().split(/ +/).forEach((t)=>{this.argument(t)}),this}addArgument(e){let t=this.registeredArguments.slice(-1)[0];if(t?.variadic)throw Error(`only the last argument can be variadic '${t.name()}'`);if(e.required&&e.defaultValue!==void 0&&e.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${e.name()}'`);return this.registeredArguments.push(e),this}helpCommand(e,t){if(typeof e==="boolean"){if(this._addImplicitHelpCommand=e,e&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let r=e??"help [command]",[,n,o]=r.match(/([^ ]+) *(.*)/),s=t??"display help for command",i=this.createCommand(n);if(i.helpOption(!1),o)i.arguments(o);if(s)i.description(s);if(this._addImplicitHelpCommand=!0,this._helpCommand=i,e||t)this._initCommandGroup(i);return this}addHelpCommand(e,t){if(typeof e!=="object")return this.helpCommand(e,t),this;return this._addImplicitHelpCommand=!0,this._helpCommand=e,this._initCommandGroup(e),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook(e,t){let r=["preSubcommand","preAction","postAction"];if(!r.includes(e))throw Error(`Unexpected value for event passed to hook : '${e}'.
|
|
16
|
+
Expecting one of '${r.join("', '")}'`);if(this._lifeCycleHooks[e])this._lifeCycleHooks[e].push(t);else this._lifeCycleHooks[e]=[t];return this}exitOverride(e){if(e)this._exitCallback=e;else this._exitCallback=(t)=>{if(t.code!=="commander.executeSubCommandAsync")throw t};return this}_exit(e,t,r){if(this._exitCallback)this._exitCallback(new Fd(e,t,r));V.exit(e)}action(e){let t=(r)=>{let n=this.registeredArguments.length,o=r.slice(0,n);if(this._storeOptionsAsProperties)o[n]=this;else o[n]=this.opts();return o.push(this),e.apply(this,o)};return this._actionHandler=t,this}createOption(e,t){return new _w(e,t)}_callParseArg(e,t,r,n){try{return e.parseArg(t,r)}catch(o){if(o.code==="commander.invalidArgument"){let s=`${n} ${o.message}`;this.error(s,{exitCode:o.exitCode,code:o.code})}throw o}}_registerOption(e){let t=e.short&&this._findOption(e.short)||e.long&&this._findOption(e.long);if(t){let r=e.long&&this._findOption(e.long)?e.long:e.short;throw Error(`Cannot add option '${e.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${r}'
|
|
17
|
+
- already used by option '${t.flags}'`)}this._initOptionGroup(e),this.options.push(e)}_registerCommand(e){let t=(n)=>[n.name()].concat(n.aliases()),r=t(e).find((n)=>this._findCommand(n));if(r){let n=t(this._findCommand(r)).join("|"),o=t(e).join("|");throw Error(`cannot add command '${o}' as already have command '${n}'`)}this._initCommandGroup(e),this.commands.push(e)}addOption(e){this._registerOption(e);let t=e.name(),r=e.attributeName();if(e.negate){let o=e.long.replace(/^--no-/,"--");if(!this._findOption(o))this.setOptionValueWithSource(r,e.defaultValue===void 0?!0:e.defaultValue,"default")}else if(e.defaultValue!==void 0)this.setOptionValueWithSource(r,e.defaultValue,"default");let n=(o,s,i)=>{if(o==null&&e.presetArg!==void 0)o=e.presetArg;let a=this.getOptionValue(r);if(o!==null&&e.parseArg)o=this._callParseArg(e,o,a,s);else if(o!==null&&e.variadic)o=e._collectValue(o,a);if(o==null)if(e.negate)o=!1;else if(e.isBoolean()||e.optional)o=!0;else o="";this.setOptionValueWithSource(r,o,i)};if(this.on("option:"+t,(o)=>{let s=`error: option '${e.flags}' argument '${o}' is invalid.`;n(o,s,"cli")}),e.envVar)this.on("optionEnv:"+t,(o)=>{let s=`error: option '${e.flags}' value '${o}' from env '${e.envVar}' is invalid.`;n(o,s,"env")});return this}_optionEx(e,t,r,n,o){if(typeof t==="object"&&t instanceof _w)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let s=this.createOption(t,r);if(s.makeOptionMandatory(!!e.mandatory),typeof n==="function")s.default(o).argParser(n);else if(n instanceof RegExp){let i=n;n=(a,c)=>{let u=i.exec(a);return u?u[0]:c},s.default(o).argParser(n)}else s.default(n);return this.addOption(s)}option(e,t,r,n){return this._optionEx({},e,t,r,n)}requiredOption(e,t,r,n){return this._optionEx({mandatory:!0},e,t,r,n)}combineFlagAndOptionalValue(e=!0){return this._combineFlagAndOptionalValue=!!e,this}allowUnknownOption(e=!0){return this._allowUnknownOption=!!e,this}allowExcessArguments(e=!0){return this._allowExcessArguments=!!e,this}enablePositionalOptions(e=!0){return this._enablePositionalOptions=!!e,this}passThroughOptions(e=!0){return this._passThroughOptions=!!e,this._checkForBrokenPassThrough(),this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions)throw Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}storeOptionsAsProperties(e=!0){if(this.options.length)throw Error("call .storeOptionsAsProperties() before adding options");if(Object.keys(this._optionValues).length)throw Error("call .storeOptionsAsProperties() before setting option values");return this._storeOptionsAsProperties=!!e,this}getOptionValue(e){if(this._storeOptionsAsProperties)return this[e];return this._optionValues[e]}setOptionValue(e,t){return this.setOptionValueWithSource(e,t,void 0)}setOptionValueWithSource(e,t,r){if(this._storeOptionsAsProperties)this[e]=t;else this._optionValues[e]=t;return this._optionValueSources[e]=r,this}getOptionValueSource(e){return this._optionValueSources[e]}getOptionValueSourceWithGlobals(e){let t;return this._getCommandAndAncestors().forEach((r)=>{if(r.getOptionValueSource(e)!==void 0)t=r.getOptionValueSource(e)}),t}_prepareUserArgs(e,t){if(e!==void 0&&!Array.isArray(e))throw Error("first parameter to parse must be array or undefined");if(t=t||{},e===void 0&&t.from===void 0){if(V.versions?.electron)t.from="electron";let n=V.execArgv??[];if(n.includes("-e")||n.includes("--eval")||n.includes("-p")||n.includes("--print"))t.from="eval"}if(e===void 0)e=V.argv;this.rawArgs=e.slice();let r;switch(t.from){case void 0:case"node":this._scriptPath=e[1],r=e.slice(2);break;case"electron":if(V.defaultApp)this._scriptPath=e[1],r=e.slice(2);else r=e.slice(1);break;case"user":r=e.slice(0);break;case"eval":r=e.slice(1);break;default:throw Error(`unexpected parse option { from: '${t.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",r}parse(e,t){this._prepareForParse();let r=this._prepareUserArgs(e,t);return this._parseCommand([],r),this}async parseAsync(e,t){this._prepareForParse();let r=this._prepareUserArgs(e,t);return await this._parseCommand([],r),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
|
|
18
|
+
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(e,t,r){if(Mr.existsSync(e))return;let n=t?`searched for local subcommand relative to directory '${t}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",o=`'${e}' does not exist
|
|
19
19
|
- if '${r}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
20
20
|
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
21
|
-
- ${n}`;throw Error(o)}_executeSubCommand(e,t){t=t.slice();let r=!1,n=[".js",".ts",".tsx",".mjs",".cjs"];function o(u,l){let d=
|
|
21
|
+
- ${n}`;throw Error(o)}_executeSubCommand(e,t){t=t.slice();let r=!1,n=[".js",".ts",".tsx",".mjs",".cjs"];function o(u,l){let d=We.resolve(u,l);if(Mr.existsSync(d))return d;if(n.includes(We.extname(l)))return;let f=n.find((m)=>Mr.existsSync(`${d}${m}`));if(f)return`${d}${f}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let s=e._executableFile||`${this._name}-${e._name}`,i=this._executableDir||"";if(this._scriptPath){let u;try{u=Mr.realpathSync(this._scriptPath)}catch{u=this._scriptPath}i=We.resolve(We.dirname(u),i)}if(i){let u=o(i,s);if(!u&&!e._executableFile&&this._scriptPath){let l=We.basename(this._scriptPath,We.extname(this._scriptPath));if(l!==this._name)u=o(i,`${l}-${e._name}`)}s=u||s}r=n.includes(We.extname(s));let a;if(V.platform!=="win32")if(r)t.unshift(s),t=Sw(V.execArgv).concat(t),a=io.spawn(V.argv[0],t,{stdio:"inherit"});else a=io.spawn(s,t,{stdio:"inherit"});else this._checkForMissingExecutable(s,i,e._name),t.unshift(s),t=Sw(V.execArgv).concat(t),a=io.spawn(V.execPath,t,{stdio:"inherit"});if(!a.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((l)=>{V.on(l,()=>{if(a.killed===!1&&a.exitCode===null)a.kill(l)})});let c=this._exitCallback;a.on("close",(u)=>{if(u=u??1,!c)V.exit(u);else c(new Fd(u,"commander.executeSubCommandAsync","(close)"))}),a.on("error",(u)=>{if(u.code==="ENOENT")this._checkForMissingExecutable(s,i,e._name);else if(u.code==="EACCES")throw Error(`'${s}' not executable`);if(!c)V.exit(1);else{let l=new Fd(1,"commander.executeSubCommandAsync","(error)");l.nestedError=u,c(l)}}),this.runningCommand=a}_dispatchSubcommand(e,t,r){let n=this._findCommand(e);if(!n)this.help({error:!0});n._prepareForParse();let o;return o=this._chainOrCallSubCommandHook(o,n,"preSubcommand"),o=this._chainOrCall(o,()=>{if(n._executableHandler)this._executeSubCommand(n,t.concat(r));else return n._parseCommand(t,r)}),o}_dispatchHelpCommand(e){if(!e)this.help();let t=this._findCommand(e);if(t&&!t._executableHandler)t.help();return this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((e,t)=>{if(e.required&&this.args[t]==null)this.missingArgument(e.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let e=(r,n,o)=>{let s=n;if(n!==null&&r.parseArg){let i=`error: command-argument value '${n}' is invalid for argument '${r.name()}'.`;s=this._callParseArg(r,n,o,i)}return s};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((r,n)=>{let o=r.defaultValue;if(r.variadic){if(n<this.args.length){if(o=this.args.slice(n),r.parseArg)o=o.reduce((s,i)=>e(r,i,s),r.defaultValue)}else if(o===void 0)o=[]}else if(n<this.args.length){if(o=this.args[n],r.parseArg)o=e(r,o,r.defaultValue)}t[n]=o}),this.processedArgs=t}_chainOrCall(e,t){if(e?.then&&typeof e.then==="function")return e.then(()=>t());return t()}_chainOrCallHooks(e,t){let r=e,n=[];if(this._getCommandAndAncestors().reverse().filter((o)=>o._lifeCycleHooks[t]!==void 0).forEach((o)=>{o._lifeCycleHooks[t].forEach((s)=>{n.push({hookedCommand:o,callback:s})})}),t==="postAction")n.reverse();return n.forEach((o)=>{r=this._chainOrCall(r,()=>o.callback(o.hookedCommand,this))}),r}_chainOrCallSubCommandHook(e,t,r){let n=e;if(this._lifeCycleHooks[r]!==void 0)this._lifeCycleHooks[r].forEach((o)=>{n=this._chainOrCall(n,()=>o(this,t))});return n}_parseCommand(e,t){let r=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(r.operands),t=r.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(r.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let n=()=>{if(r.unknown.length>0)this.unknownOption(r.unknown[0])},o=`command:${this.name()}`;if(this._actionHandler){n(),this._processArguments();let s;if(s=this._chainOrCallHooks(s,"preAction"),s=this._chainOrCall(s,()=>this._actionHandler(this.processedArgs)),this.parent)s=this._chainOrCall(s,()=>{this.parent.emit(o,e,t)});return s=this._chainOrCallHooks(s,"postAction"),s}if(this.parent?.listenerCount(o))n(),this._processArguments(),this.parent.emit(o,e,t);else if(e.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",e,t);if(this.listenerCount("command:*"))this.emit("command:*",e,t);else if(this.commands.length)this.unknownCommand();else n(),this._processArguments()}else if(this.commands.length)n(),this.help({error:!0});else n(),this._processArguments()}_findCommand(e){if(!e)return;return this.commands.find((t)=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find((t)=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((e)=>{e.options.forEach((t)=>{if(t.mandatory&&e.getOptionValue(t.attributeName())===void 0)e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter((r)=>{let n=r.attributeName();if(this.getOptionValue(n)===void 0)return!1;return this.getOptionValueSource(n)!=="default"});e.filter((r)=>r.conflictsWith.length>0).forEach((r)=>{let n=e.find((o)=>r.conflictsWith.includes(o.attributeName()));if(n)this._conflictingOption(r,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((e)=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],r=[],n=t;function o(u){return u.length>1&&u[0]==="-"}let s=(u)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(u))return!1;return!this._getCommandAndAncestors().some((l)=>l.options.map((d)=>d.short).some((d)=>/^-\d$/.test(d)))},i=null,a=null,c=0;while(c<e.length||a){let u=a??e[c++];if(a=null,u==="--"){if(n===r)n.push(u);n.push(...e.slice(c));break}if(i&&(!o(u)||s(u))){this.emit(`option:${i.name()}`,u);continue}if(i=null,o(u)){let l=this._findOption(u);if(l){if(l.required){let d=e[c++];if(d===void 0)this.optionMissingArgument(l);this.emit(`option:${l.name()}`,d)}else if(l.optional){let d=null;if(c<e.length&&(!o(e[c])||s(e[c])))d=e[c++];this.emit(`option:${l.name()}`,d)}else this.emit(`option:${l.name()}`);i=l.variadic?l:null;continue}}if(u.length>2&&u[0]==="-"&&u[1]!=="-"){let l=this._findOption(`-${u[1]}`);if(l){if(l.required||l.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${l.name()}`,u.slice(2));else this.emit(`option:${l.name()}`),a=`-${u.slice(2)}`;continue}}if(/^--[^=]+=/.test(u)){let l=u.indexOf("="),d=this._findOption(u.slice(0,l));if(d&&(d.required||d.optional)){this.emit(`option:${d.name()}`,u.slice(l+1));continue}}if(n===t&&o(u)&&!(this.commands.length===0&&s(u)))n=r;if((this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&r.length===0){if(this._findCommand(u)){t.push(u),r.push(...e.slice(c));break}else if(this._getHelpCommand()&&u===this._getHelpCommand().name()){t.push(u,...e.slice(c));break}else if(this._defaultCommandName){r.push(u,...e.slice(c));break}}if(this._passThroughOptions){n.push(u,...e.slice(c));break}n.push(u)}return{operands:t,unknown:r}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let r=0;r<t;r++){let n=this.options[r].attributeName();e[n]=n===this._versionOptionName?this._version:this[n]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){if(this._outputConfiguration.outputError(`${e}
|
|
22
22
|
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
23
23
|
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
|
|
24
|
-
`),this.outputHelp({error:!0});let r=t||{},n=r.exitCode||1,o=r.code||"commander.error";this._exit(n,o,e)}_parseOptionsEnv(){this.options.forEach((e)=>{if(e.envVar&&e.envVar in V.env){let t=e.attributeName();if(this.getOptionValue(t)===void 0||["default","config","env"].includes(this.getOptionValueSource(t)))if(e.required||e.optional)this.emit(`optionEnv:${e.name()}`,V.env[e.envVar]);else this.emit(`optionEnv:${e.name()}`)}})}_parseOptionsImplied(){let e=new
|
|
25
|
-
`),this._exit(0,"commander.version",e)}),this}description(e,t){if(e===void 0&&t===void 0)return this._description;if(this._description=e,t)this._argsDescription=t;return this}summary(e){if(e===void 0)return this._summary;return this._summary=e,this}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)t=this.commands[this.commands.length-1];if(e===t._name)throw Error("Command alias can't be the same as its name");let r=this.parent?._findCommand(e);if(r){let n=[r.name()].concat(r.aliases()).join("|");throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${n}'`)}return t._aliases.push(e),this}aliases(e){if(e===void 0)return this._aliases;return e.forEach((t)=>this.alias(t)),this}usage(e){if(e===void 0){if(this._usage)return this._usage;let t=this.registeredArguments.map((r)=>
|
|
24
|
+
`),this.outputHelp({error:!0});let r=t||{},n=r.exitCode||1,o=r.code||"commander.error";this._exit(n,o,e)}_parseOptionsEnv(){this.options.forEach((e)=>{if(e.envVar&&e.envVar in V.env){let t=e.attributeName();if(this.getOptionValue(t)===void 0||["default","config","env"].includes(this.getOptionValueSource(t)))if(e.required||e.optional)this.emit(`optionEnv:${e.name()}`,V.env[e.envVar]);else this.emit(`optionEnv:${e.name()}`)}})}_parseOptionsImplied(){let e=new yN(this.options),t=(r)=>this.getOptionValue(r)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(r));this.options.filter((r)=>r.implied!==void 0&&t(r.attributeName())&&e.valueFromOption(this.getOptionValue(r.attributeName()),r)).forEach((r)=>{Object.keys(r.implied).filter((n)=>!t(n)).forEach((n)=>{this.setOptionValueWithSource(n,r.implied[n],"implied")})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:"commander.missingArgument"})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(e,t){let r=(s)=>{let i=s.attributeName(),a=this.getOptionValue(i),c=this.options.find((l)=>l.negate&&i===l.attributeName()),u=this.options.find((l)=>!l.negate&&i===l.attributeName());if(c&&(c.presetArg===void 0&&a===!1||c.presetArg!==void 0&&a===c.presetArg))return c;return u||s},n=(s)=>{let i=r(s),a=i.attributeName();if(this.getOptionValueSource(a)==="env")return`environment variable '${i.envVar}'`;return`option '${i.flags}'`},o=`error: ${n(e)} cannot be used with ${n(t)}`;this.error(o,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let t="";if(e.startsWith("--")&&this._showSuggestionAfterError){let n=[],o=this;do{let s=o.createHelp().visibleOptions(o).filter((i)=>i.long).map((i)=>i.long);n=n.concat(s),o=o.parent}while(o&&!o._enablePositionalOptions);t=vw(e,n)}let r=`error: unknown option '${e}'${t}`;this.error(r,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,r=t===1?"":"s",o=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${t} argument${r} but got ${e.length}.`;this.error(o,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],t="";if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach((o)=>{if(n.push(o.name()),o.alias())n.push(o.alias())}),t=vw(e,n)}let r=`error: unknown command '${e}'${t}`;this.error(r,{code:"commander.unknownCommand"})}version(e,t,r){if(e===void 0)return this._version;this._version=e,t=t||"-V, --version",r=r||"output the version number";let n=this.createOption(t,r);return this._versionOptionName=n.attributeName(),this._registerOption(n),this.on("option:"+n.name(),()=>{this._outputConfiguration.writeOut(`${e}
|
|
25
|
+
`),this._exit(0,"commander.version",e)}),this}description(e,t){if(e===void 0&&t===void 0)return this._description;if(this._description=e,t)this._argsDescription=t;return this}summary(e){if(e===void 0)return this._summary;return this._summary=e,this}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)t=this.commands[this.commands.length-1];if(e===t._name)throw Error("Command alias can't be the same as its name");let r=this.parent?._findCommand(e);if(r){let n=[r.name()].concat(r.aliases()).join("|");throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${n}'`)}return t._aliases.push(e),this}aliases(e){if(e===void 0)return this._aliases;return e.forEach((t)=>this.alias(t)),this}usage(e){if(e===void 0){if(this._usage)return this._usage;let t=this.registeredArguments.map((r)=>mN(r));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}return this._usage=e,this}name(e){if(e===void 0)return this._name;return this._name=e,this}helpGroup(e){if(e===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=e,this}commandsGroup(e){if(e===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=e,this}optionsGroup(e){if(e===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=e,this}_initOptionGroup(e){if(this._defaultOptionGroup&&!e.helpGroupHeading)e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){if(this._defaultCommandGroup&&!e.helpGroup())e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=We.basename(e,We.extname(e)),this}executableDir(e){if(e===void 0)return this._executableDir;return this._executableDir=e,this}helpInformation(e){let t=this.createHelp(),r=this._getOutputContext(e);t.prepareContext({error:r.error,helpWidth:r.helpWidth,outputHasColors:r.hasColors});let n=t.formatHelp(this,t);if(r.hasColors)return n;return this._outputConfiguration.stripColor(n)}_getOutputContext(e){e=e||{};let t=!!e.error,r,n,o;if(t)r=(i)=>this._outputConfiguration.writeErr(i),n=this._outputConfiguration.getErrHasColors(),o=this._outputConfiguration.getErrHelpWidth();else r=(i)=>this._outputConfiguration.writeOut(i),n=this._outputConfiguration.getOutHasColors(),o=this._outputConfiguration.getOutHelpWidth();return{error:t,write:(i)=>{if(!n)i=this._outputConfiguration.stripColor(i);return r(i)},hasColors:n,helpWidth:o}}outputHelp(e){let t;if(typeof e==="function")t=e,e=void 0;let r=this._getOutputContext(e),n={error:r.error,write:r.write,command:this};this._getCommandAndAncestors().reverse().forEach((s)=>s.emit("beforeAllHelp",n)),this.emit("beforeHelp",n);let o=this.helpInformation({error:r.error});if(t){if(o=t(o),typeof o!=="string"&&!Buffer.isBuffer(o))throw Error("outputHelp callback must return a string or a Buffer")}if(r.write(o),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",n),this._getCommandAndAncestors().forEach((s)=>s.emit("afterAllHelp",n))}helpOption(e,t){if(typeof e==="boolean"){if(e){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(e??"-h, --help",t??"display help for command"),e||t)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(V.exitCode??0);if(t===0&&e&&typeof e!=="function"&&e.error)t=1;this._exit(t,"commander.help","(outputHelp)")}addHelpText(e,t){let r=["beforeAll","before","after","afterAll"];if(!r.includes(e))throw Error(`Unexpected value for position to addHelpText.
|
|
26
26
|
Expecting one of '${r.join("', '")}'`);let n=`${e}Help`;return this.on(n,(o)=>{let s;if(typeof t==="function")s=t({error:o.error,command:o.command});else s=t;if(s)o.write(`${s}
|
|
27
|
-
`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();if(t&&e.find((n)=>t.is(n)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function
|
|
28
|
-
`)}}
|
|
29
|
-
`)?
|
|
27
|
+
`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();if(t&&e.find((n)=>t.is(n)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function Sw(e){return e.map((t)=>{if(!t.startsWith("--inspect"))return t;let r,n="127.0.0.1",o="9229",s;if((s=t.match(/^(--inspect(-brk)?)$/))!==null)r=s[1];else if((s=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(r=s[1],/^\d+$/.test(s[3]))o=s[3];else n=s[3];else if((s=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)r=s[1],n=s[3],o=s[4];if(r&&o!=="0")return`${r}=${n}:${parseInt(o)+1}`;return t})}function Ud(){if(V.env.NO_COLOR||V.env.FORCE_COLOR==="0"||V.env.FORCE_COLOR==="false")return!1;if(V.env.FORCE_COLOR||V.env.CLICOLOR_FORCE!==void 0)return!0;return}wN.Command=Wd;wN.useColor=Ud});var Yc=T(function(upe,fm){var Jc=process||{},A0=Jc.argv||[],Gc=Jc.env||{},kF=!(!!Gc.NO_COLOR||A0.includes("--no-color"))&&(!!Gc.FORCE_COLOR||A0.includes("--color")||Jc.platform==="win32"||(Jc.stdout||{}).isTTY&&Gc.TERM!=="dumb"||!!Gc.CI),xF=(e,t,r=e)=>(n)=>{let o=""+n,s=o.indexOf(t,e.length);return~s?e+$F(o,t,r,s)+t:e+o+t},$F=(e,t,r,n)=>{let o="",s=0;do o+=e.substring(s,n)+r,s=n+t.length,n=e.indexOf(t,s);while(~n);return o+e.substring(s)},C0=(e=kF)=>{let t=e?xF:()=>String;return{isColorSupported:e,reset:t("\x1B[0m","\x1B[0m"),bold:t("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:t("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:t("\x1B[3m","\x1B[23m"),underline:t("\x1B[4m","\x1B[24m"),inverse:t("\x1B[7m","\x1B[27m"),hidden:t("\x1B[8m","\x1B[28m"),strikethrough:t("\x1B[9m","\x1B[29m"),black:t("\x1B[30m","\x1B[39m"),red:t("\x1B[31m","\x1B[39m"),green:t("\x1B[32m","\x1B[39m"),yellow:t("\x1B[33m","\x1B[39m"),blue:t("\x1B[34m","\x1B[39m"),magenta:t("\x1B[35m","\x1B[39m"),cyan:t("\x1B[36m","\x1B[39m"),white:t("\x1B[37m","\x1B[39m"),gray:t("\x1B[90m","\x1B[39m"),bgBlack:t("\x1B[40m","\x1B[49m"),bgRed:t("\x1B[41m","\x1B[49m"),bgGreen:t("\x1B[42m","\x1B[49m"),bgYellow:t("\x1B[43m","\x1B[49m"),bgBlue:t("\x1B[44m","\x1B[49m"),bgMagenta:t("\x1B[45m","\x1B[49m"),bgCyan:t("\x1B[46m","\x1B[49m"),bgWhite:t("\x1B[47m","\x1B[49m"),blackBright:t("\x1B[90m","\x1B[39m"),redBright:t("\x1B[91m","\x1B[39m"),greenBright:t("\x1B[92m","\x1B[39m"),yellowBright:t("\x1B[93m","\x1B[39m"),blueBright:t("\x1B[94m","\x1B[39m"),magentaBright:t("\x1B[95m","\x1B[39m"),cyanBright:t("\x1B[96m","\x1B[39m"),whiteBright:t("\x1B[97m","\x1B[39m"),bgBlackBright:t("\x1B[100m","\x1B[49m"),bgRedBright:t("\x1B[101m","\x1B[49m"),bgGreenBright:t("\x1B[102m","\x1B[49m"),bgYellowBright:t("\x1B[103m","\x1B[49m"),bgBlueBright:t("\x1B[104m","\x1B[49m"),bgMagentaBright:t("\x1B[105m","\x1B[49m"),bgCyanBright:t("\x1B[106m","\x1B[49m"),bgWhiteBright:t("\x1B[107m","\x1B[49m")}};fm.exports=C0();fm.exports.createColors=C0});var bm=T(function(vpe,o$){var wm={to(e,t){if(!t)return`\x1B[${e+1}G`;return`\x1B[${t+1};${e+1}H`},move(e,t){let r="";if(e<0)r+=`\x1B[${-e}D`;else if(e>0)r+=`\x1B[${e}C`;if(t<0)r+=`\x1B[${-t}A`;else if(t>0)r+=`\x1B[${t}B`;return r},up:(e=1)=>`\x1B[${e}A`,down:(e=1)=>`\x1B[${e}B`,forward:(e=1)=>`\x1B[${e}C`,backward:(e=1)=>`\x1B[${e}D`,nextLine:(e=1)=>"\x1B[E".repeat(e),prevLine:(e=1)=>"\x1B[F".repeat(e),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},fU={up:(e=1)=>"\x1B[S".repeat(e),down:(e=1)=>"\x1B[T".repeat(e)},mU={screen:"\x1B[2J",up:(e=1)=>"\x1B[1J".repeat(e),down:(e=1)=>"\x1B[J".repeat(e),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(e){let t="";for(let r=0;r<e;r++)t+=this.line+(r<e-1?wm.up():"");if(e)t+=wm.left;return t}};o$.exports={cursor:wm,scroll:fU,erase:mU,beep:"\x07"}});var ce=T(function(bW){var Zm=Symbol.for("yaml.alias"),tE=Symbol.for("yaml.document"),pu=Symbol.for("yaml.map"),rE=Symbol.for("yaml.pair"),Bm=Symbol.for("yaml.scalar"),fu=Symbol.for("yaml.seq"),Or=Symbol.for("yaml.node.type"),pW=(e)=>!!e&&typeof e==="object"&&e[Or]===Zm,fW=(e)=>!!e&&typeof e==="object"&&e[Or]===tE,mW=(e)=>!!e&&typeof e==="object"&&e[Or]===pu,hW=(e)=>!!e&&typeof e==="object"&&e[Or]===rE,nE=(e)=>!!e&&typeof e==="object"&&e[Or]===Bm,gW=(e)=>!!e&&typeof e==="object"&&e[Or]===fu;function oE(e){if(e&&typeof e==="object")switch(e[Or]){case pu:case fu:return!0}return!1}function yW(e){if(e&&typeof e==="object")switch(e[Or]){case Zm:case pu:case Bm:case fu:return!0}return!1}var wW=(e)=>(nE(e)||oE(e))&&!!e.anchor;bW.ALIAS=Zm;bW.DOC=tE;bW.MAP=pu;bW.NODE_TYPE=Or;bW.PAIR=rE;bW.SCALAR=Bm;bW.SEQ=fu;bW.hasAnchor=wW;bW.isAlias=pW;bW.isCollection=oE;bW.isDocument=fW;bW.isMap=mW;bW.isNode=yW;bW.isPair=hW;bW.isScalar=nE;bW.isSeq=gW});var Ii=T(function(LW){var Fe=ce(),dt=Symbol("break visit"),sE=Symbol("skip children"),ur=Symbol("remove node");function mu(e,t){let r=iE(t);if(Fe.isDocument(e)){if(Lo(null,e.contents,r,Object.freeze([e]))===ur)e.contents=null}else Lo(null,e,r,Object.freeze([]))}mu.BREAK=dt;mu.SKIP=sE;mu.REMOVE=ur;function Lo(e,t,r,n){let o=aE(e,t,r,n);if(Fe.isNode(o)||Fe.isPair(o))return cE(e,n,o),Lo(e,o,r,n);if(typeof o!=="symbol"){if(Fe.isCollection(t)){n=Object.freeze(n.concat(t));for(let s=0;s<t.items.length;++s){let i=Lo(s,t.items[s],r,n);if(typeof i==="number")s=i-1;else if(i===dt)return dt;else if(i===ur)t.items.splice(s,1),s-=1}}else if(Fe.isPair(t)){n=Object.freeze(n.concat(t));let s=Lo("key",t.key,r,n);if(s===dt)return dt;else if(s===ur)t.key=null;let i=Lo("value",t.value,r,n);if(i===dt)return dt;else if(i===ur)t.value=null}}return o}async function hu(e,t){let r=iE(t);if(Fe.isDocument(e)){if(await jo(null,e.contents,r,Object.freeze([e]))===ur)e.contents=null}else await jo(null,e,r,Object.freeze([]))}hu.BREAK=dt;hu.SKIP=sE;hu.REMOVE=ur;async function jo(e,t,r,n){let o=await aE(e,t,r,n);if(Fe.isNode(o)||Fe.isPair(o))return cE(e,n,o),jo(e,o,r,n);if(typeof o!=="symbol"){if(Fe.isCollection(t)){n=Object.freeze(n.concat(t));for(let s=0;s<t.items.length;++s){let i=await jo(s,t.items[s],r,n);if(typeof i==="number")s=i-1;else if(i===dt)return dt;else if(i===ur)t.items.splice(s,1),s-=1}}else if(Fe.isPair(t)){n=Object.freeze(n.concat(t));let s=await jo("key",t.key,r,n);if(s===dt)return dt;else if(s===ur)t.key=null;let i=await jo("value",t.value,r,n);if(i===dt)return dt;else if(i===ur)t.value=null}}return o}function iE(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 aE(e,t,r,n){if(typeof r==="function")return r(e,t,n);if(Fe.isMap(t))return r.Map?.(e,t,n);if(Fe.isSeq(t))return r.Seq?.(e,t,n);if(Fe.isPair(t))return r.Pair?.(e,t,n);if(Fe.isScalar(t))return r.Scalar?.(e,t,n);if(Fe.isAlias(t))return r.Alias?.(e,t,n);return}function cE(e,t,r){let n=t[t.length-1];if(Fe.isCollection(n))n.items[e]=r;else if(Fe.isPair(n))if(e==="key")n.key=r;else n.value=r;else if(Fe.isDocument(n))n.contents=r;else{let o=Fe.isAlias(n)?"alias":"scalar";throw Error(`Cannot replace node with ${o} parent`)}}LW.visit=mu;LW.visitAsync=hu});var Km=T(function(UW){var uE=ce(),MW=Ii(),qW={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},FW=(e)=>e.replace(/[!,[\]{}]/g,(t)=>qW[t]);class zt{constructor(e,t){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},zt.defaultYaml,e),this.tags=Object.assign({},zt.defaultTags,t)}clone(){let e=new zt(this.yaml,this.tags);return e.docStart=this.docStart,e}atDocument(){let e=new zt(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:zt.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},zt.defaultTags);break}return e}add(e,t){if(this.atNextDocument)this.yaml={explicit:zt.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},zt.defaultTags),this.atNextDocument=!1;let r=e.trim().split(/[ \t]+/),n=r.shift();switch(n){case"%TAG":{if(r.length!==2){if(t(0,"%TAG directive should contain exactly two parts"),r.length<2)return!1}let[o,s]=r;return this.tags[o]=s,!0}case"%YAML":{if(this.yaml.explicit=!0,r.length!==1)return t(0,"%YAML directive should contain exactly one part"),!1;let[o]=r;if(o==="1.1"||o==="1.2")return this.yaml.version=o,!0;else{let s=/^\d+\.\d+$/.test(o);return t(6,`Unsupported YAML version ${o}`,s),!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 s=e.slice(2,-1);if(s==="!"||s==="!!")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 s}let[,r,n]=e.match(/^(.*!)([^!]*)$/s);if(!n)t(`The ${e} tag has no suffix`);let o=this.tags[r];if(o)try{return o+decodeURIComponent(n)}catch(s){return t(String(s)),null}if(r==="!")return e;return t(`Could not resolve tag: ${e}`),null}tagString(e){for(let[t,r]of Object.entries(this.tags))if(e.startsWith(r))return t+FW(e.substring(r.length));return e[0]==="!"?e:`!<${e}>`}toString(e){let t=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],r=Object.entries(this.tags),n;if(e&&r.length>0&&uE.isNode(e.contents)){let o={};MW.visit(e.contents,(s,i)=>{if(uE.isNode(i)&&i.tag)o[i.tag]=!0}),n=Object.keys(o)}else n=[];for(let[o,s]of r){if(o==="!!"&&s==="tag:yaml.org,2002:")continue;if(!e||n.some((i)=>i.startsWith(s)))t.push(`%TAG ${o} ${s}`)}return t.join(`
|
|
28
|
+
`)}}zt.defaultYaml={explicit:!1,version:"1.2"};zt.defaultTags={"!!":"tag:yaml.org,2002:"};UW.Directives=zt});var gu=T(function(KW){var lE=ce(),VW=Ii();function ZW(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let r=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw Error(r)}return!0}function dE(e){let t=new Set;return VW.visit(e,{Value(r,n){if(n.anchor)t.add(n.anchor)}}),t}function pE(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function BW(e,t){let r=[],n=new Map,o=null;return{onAnchor:(s)=>{r.push(s),o??(o=dE(e));let i=pE(t,o);return o.add(i),i},setAnchors:()=>{for(let s of r){let i=n.get(s);if(typeof i==="object"&&i.anchor&&(lE.isScalar(i.node)||lE.isCollection(i.node)))i.node.anchor=i.anchor;else{let a=Error("Failed to resolve repeated object (this should not happen)");throw a.source=s,a}}},sourceObjects:n}}KW.anchorIsValid=ZW;KW.anchorNames=dE;KW.createNodeAnchors=BW;KW.findNewAnchor=pE});var Hm=T(function(XW){function Ri(e,t,r,n){if(n&&typeof n==="object")if(Array.isArray(n))for(let o=0,s=n.length;o<s;++o){let i=n[o],a=Ri(e,n,String(o),i);if(a===void 0)delete n[o];else if(a!==i)n[o]=a}else if(n instanceof Map)for(let o of Array.from(n.keys())){let s=n.get(o),i=Ri(e,n,o,s);if(i===void 0)n.delete(o);else if(i!==s)n.set(o,i)}else if(n instanceof Set)for(let o of Array.from(n)){let s=Ri(e,n,o,o);if(s===void 0)n.delete(o);else if(s!==o)n.delete(o),n.add(s)}else for(let[o,s]of Object.entries(n)){let i=Ri(e,n,o,s);if(i===void 0)delete n[o];else if(i!==s)n[o]=i}return e.call(t,r,n)}XW.applyReviver=Ri});var Jr=T(function(tV){var eV=ce();function fE(e,t,r){if(Array.isArray(e))return e.map((n,o)=>fE(n,String(o),r));if(e&&typeof e.toJSON==="function"){if(!r||!eV.hasAnchor(e))return e.toJSON(t,r);let n={aliasCount:0,count:1,res:void 0};r.anchors.set(e,n),r.onCreate=(s)=>{n.res=s,delete r.onCreate};let o=e.toJSON(t,r);if(r.onCreate)r.onCreate(o);return o}if(typeof e==="bigint"&&!r?.keep)return Number(e);return e}tV.toJS=fE});var yu=T(function(sV){var nV=Hm(),mE=ce(),oV=Jr();class hE{constructor(e){Object.defineProperty(this,mE.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:r,onAnchor:n,reviver:o}={}){if(!mE.isDocument(e))throw TypeError("A document argument is required");let s={anchors:new Map,doc:e,keep:!0,mapAsMap:t===!0,mapKeyWarned:!1,maxAliasCount:typeof r==="number"?r:100},i=oV.toJS(this,"",s);if(typeof n==="function")for(let{count:a,res:c}of s.anchors.values())n(c,a);return typeof o==="function"?nV.applyReviver(o,{"":i},"",i):i}}sV.NodeBase=hE});var Ai=T(function(dV){var aV=gu(),cV=Ii(),Do=ce(),uV=yu(),lV=Jr();class gE extends uV.NodeBase{constructor(e){super(Do.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 r;if(t?.aliasResolveCache)r=t.aliasResolveCache;else if(r=[],cV.visit(e,{Node:(o,s)=>{if(Do.isAlias(s)||Do.hasAnchor(s))r.push(s)}}),t)t.aliasResolveCache=r;let n=void 0;for(let o of r){if(o===this)break;if(o.anchor===this.source)n=o}return n}toJSON(e,t){if(!t)return{source:this.source};let{anchors:r,doc:n,maxAliasCount:o}=t,s=this.resolve(n,t);if(!s){let a=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(a)}let i=r.get(s);if(!i)lV.toJS(s,null,t),i=r.get(s);if(i?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(o>=0){if(i.count+=1,i.aliasCount===0)i.aliasCount=wu(n,s,r);if(i.count*i.aliasCount>o)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return i.res}toString(e,t,r){let n=`*${this.source}`;if(e){if(aV.anchorIsValid(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){let o=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(o)}if(e.implicitKey)return`${n} `}return n}}function wu(e,t,r){if(Do.isAlias(t)){let n=t.resolve(e),o=r&&n&&r.get(n);return o?o.count*o.aliasCount:0}else if(Do.isCollection(t)){let n=0;for(let o of t.items){let s=wu(e,o,r);if(s>n)n=s}return n}else if(Do.isPair(t)){let n=wu(e,t.key,r),o=wu(e,t.value,r);return Math.max(n,o)}return 1}dV.Alias=gE});var Le=T(function(yV){var fV=ce(),mV=yu(),hV=Jr(),gV=(e)=>!e||typeof e!=="function"&&typeof e!=="object";class Fn extends mV.NodeBase{constructor(e){super(fV.SCALAR);this.value=e}toJSON(e,t){return t?.keep?this.value:hV.toJS(this.value,e,t)}toString(){return String(this.value)}}Fn.BLOCK_FOLDED="BLOCK_FOLDED";Fn.BLOCK_LITERAL="BLOCK_LITERAL";Fn.PLAIN="PLAIN";Fn.QUOTE_DOUBLE="QUOTE_DOUBLE";Fn.QUOTE_SINGLE="QUOTE_SINGLE";yV.Scalar=Fn;yV.isScalarValue=gV});var Ci=T(function(xV){var _V=Ai(),Un=ce(),yE=Le(),vV="tag:yaml.org,2002:";function SV(e,t,r){if(t){let n=r.filter((s)=>s.tag===t),o=n.find((s)=>!s.format)??n[0];if(!o)throw Error(`Tag ${t} not found`);return o}return r.find((n)=>n.identify?.(e)&&!n.format)}function kV(e,t,r){if(Un.isDocument(e))e=e.contents;if(Un.isNode(e))return e;if(Un.isPair(e)){let d=r.schema[Un.MAP].createNode?.(r.schema,null,r);return d.items.push(e),d}if(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)e=e.valueOf();let{aliasDuplicateObjects:n,onAnchor:o,onTagObj:s,schema:i,sourceObjects:a}=r,c=void 0;if(n&&e&&typeof e==="object")if(c=a.get(e),c)return c.anchor??(c.anchor=o(e)),new _V.Alias(c.anchor);else c={anchor:null,node:null},a.set(e,c);if(t?.startsWith("!!"))t=vV+t.slice(2);let u=SV(e,t,i.tags);if(!u){if(e&&typeof e.toJSON==="function")e=e.toJSON();if(!e||typeof e!=="object"){let d=new yE.Scalar(e);if(c)c.node=d;return d}u=e instanceof Map?i[Un.MAP]:(Symbol.iterator in Object(e))?i[Un.SEQ]:i[Un.MAP]}if(s)s(u),delete r.onTagObj;let l=u?.createNode?u.createNode(r.schema,e,r):typeof u?.nodeClass?.from==="function"?u.nodeClass.from(r.schema,e,r):new yE.Scalar(e);if(t)l.tag=t;else if(!u.default)l.tag=u.tag;if(c)c.node=l;return l}xV.createNode=kV});var bu=T(function(PV){var EV=Ci(),lr=ce(),TV=yu();function Gm(e,t,r){let n=r;for(let o=t.length-1;o>=0;--o){let s=t[o];if(typeof s==="number"&&Number.isInteger(s)&&s>=0){let i=[];i[s]=n,n=i}else n=new Map([[s,n]])}return EV.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 wE=(e)=>e==null||typeof e==="object"&&!!e[Symbol.iterator]().next().done;class bE extends TV.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((r)=>lr.isNode(r)||lr.isPair(r)?r.clone(e):r),this.range)t.range=this.range.slice();return t}addIn(e,t){if(wE(e))this.add(t);else{let[r,...n]=e,o=this.get(r,!0);if(lr.isCollection(o))o.addIn(n,t);else if(o===void 0&&this.schema)this.set(r,Gm(this.schema,n,t));else throw Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}}deleteIn(e){let[t,...r]=e;if(r.length===0)return this.delete(t);let n=this.get(t,!0);if(lr.isCollection(n))return n.deleteIn(r);else throw Error(`Expected YAML collection at ${t}. Remaining path: ${r}`)}getIn(e,t){let[r,...n]=e,o=this.get(r,!0);if(n.length===0)return!t&&lr.isScalar(o)?o.value:o;else return lr.isCollection(o)?o.getIn(n,t):void 0}hasAllNullValues(e){return this.items.every((t)=>{if(!lr.isPair(t))return!1;let r=t.value;return r==null||e&&lr.isScalar(r)&&r.value==null&&!r.commentBefore&&!r.comment&&!r.tag})}hasIn(e){let[t,...r]=e;if(r.length===0)return this.has(t);let n=this.get(t,!0);return lr.isCollection(n)?n.hasIn(r):!1}setIn(e,t){let[r,...n]=e;if(n.length===0)this.set(r,t);else{let o=this.get(r,!0);if(lr.isCollection(o))o.setIn(n,t);else if(o===void 0&&this.schema)this.set(r,Gm(this.schema,n,t));else throw Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}}}PV.Collection=bE;PV.collectionFromPath=Gm;PV.isEmptyPath=wE});var zi=T(function(zV){var AV=(e)=>e.replace(/^(?!$)(?: $)?/gm,"#");function Jm(e,t){if(/^\n+$/.test(e))return e.substring(1);return t?e.replace(/^(?! *$)/gm,t):e}var CV=(e,t,r)=>e.endsWith(`
|
|
29
|
+
`)?Jm(r,t):r.includes(`
|
|
30
30
|
`)?`
|
|
31
|
-
`+
|
|
32
|
-
`){if(r==="block")g=
|
|
31
|
+
`+Jm(r,t):(e.endsWith(" ")?"":" ")+r;zV.indentComment=Jm;zV.lineComment=CV;zV.stringifyComment=AV});var vE=T(function(MV){function DV(e,t,r="flow",{indentAtStart:n,lineWidth:o=80,minContentWidth:s=20,onFold:i,onOverflow:a}={}){if(!o||o<0)return e;if(o<s)s=0;let c=Math.max(1+s,1+o-t.length);if(e.length<=c)return e;let u=[],l={},d=o-t.length;if(typeof n==="number")if(n>o-Math.max(2,s))u.push(0);else d=o-n;let f=void 0,m=void 0,h=!1,g=-1,y=-1,b=-1;if(r==="block"){if(g=_E(e,g,t.length),g!==-1)d=g+c}for(let S;S=e[g+=1];){if(r==="quoted"&&S==="\\"){switch(y=g,e[g+1]){case"x":g+=3;break;case"u":g+=5;break;case"U":g+=9;break;default:g+=1}b=g}if(S===`
|
|
32
|
+
`){if(r==="block")g=_E(e,g,t.length);d=g+t.length+c,f=void 0}else{if(S===" "&&m&&m!==" "&&m!==`
|
|
33
33
|
`&&m!=="\t"){let I=e[g+1];if(I&&I!==" "&&I!==`
|
|
34
|
-
`&&I!=="\t")f=g}if(g>=d)if(f)u.push(f),d=f+c,f=void 0;else if(r==="quoted"){while(m===" "||m==="\t")m=S,S=e[g+=1],h=!0;let I=g>
|
|
35
|
-
${t}${e.slice(0,_)}`;else{if(r==="quoted"&&l[I])
|
|
36
|
-
${t}${e.slice(I+1,_)}`}}return
|
|
37
|
-
`);n=t,o=t+1,s=e[o]}return n}
|
|
38
|
-
`){if(s-i>n)return!0;if(i=s+1,o-i<=n)return!1}return!0}function
|
|
34
|
+
`&&I!=="\t")f=g}if(g>=d)if(f)u.push(f),d=f+c,f=void 0;else if(r==="quoted"){while(m===" "||m==="\t")m=S,S=e[g+=1],h=!0;let I=g>b+1?g-2:y-1;if(l[I])return e;u.push(I),l[I]=!0,d=I+c,f=void 0}else h=!0}m=S}if(h&&a)a();if(u.length===0)return e;if(i)i();let E=e.slice(0,u[0]);for(let S=0;S<u.length;++S){let I=u[S],_=u[S+1]||e.length;if(I===0)E=`
|
|
35
|
+
${t}${e.slice(0,_)}`;else{if(r==="quoted"&&l[I])E+=`${e[I]}\\`;E+=`
|
|
36
|
+
${t}${e.slice(I+1,_)}`}}return E}function _E(e,t,r){let n=t,o=t+1,s=e[o];while(s===" "||s==="\t")if(t<o+r)s=e[++t];else{do s=e[++t];while(s&&s!==`
|
|
37
|
+
`);n=t,o=t+1,s=e[o]}return n}MV.FOLD_BLOCK="block";MV.FOLD_FLOW="flow";MV.FOLD_QUOTED="quoted";MV.foldFlowLines=DV});var Li=T(function(KV){var Kt=Le(),Yr=vE(),vu=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),Su=(e)=>/^(%|---|\.\.\.)/m.test(e);function VV(e,t,r){if(!t||t<0)return!1;let n=t-r,o=e.length;if(o<=n)return!1;for(let s=0,i=0;s<o;++s)if(e[s]===`
|
|
38
|
+
`){if(s-i>n)return!0;if(i=s+1,o-i<=n)return!1}return!0}function Ni(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,o=t.options.doubleQuotedMinMultiLineLength,s=t.indent||(Su(e)?" ":""),i="",a=0;for(let c=0,u=r[c];u;u=r[++c]){if(u===" "&&r[c+1]==="\\"&&r[c+2]==="n")i+=r.slice(a,c)+"\\ ",c+=1,a=c,u="\\";if(u==="\\")switch(r[c+1]){case"u":{i+=r.slice(a,c);let l=r.substr(c+2,4);switch(l){case"0000":i+="\\0";break;case"0007":i+="\\a";break;case"000b":i+="\\v";break;case"001b":i+="\\e";break;case"0085":i+="\\N";break;case"00a0":i+="\\_";break;case"2028":i+="\\L";break;case"2029":i+="\\P";break;default:if(l.substr(0,2)==="00")i+="\\x"+l.substr(2);else i+=r.substr(c,6)}c+=5,a=c+1}break;case"n":if(n||r[c+2]==='"'||r.length<o)c+=1;else{i+=r.slice(a,c)+`
|
|
39
39
|
|
|
40
40
|
`;while(r[c+2]==="\\"&&r[c+3]==="n"&&r[c+4]!=='"')i+=`
|
|
41
|
-
`,c+=2;if(i+=s,r[c+2]===" ")i+="\\";c+=1,a=c+1}break;default:c+=1}}return i=a?i+r.slice(a):r,n?i:
|
|
42
|
-
`)||/[ \t]\n|\n[ \t]/.test(e))return
|
|
43
|
-
${r}`)+"'";return t.implicitKey?n:
|
|
41
|
+
`,c+=2;if(i+=s,r[c+2]===" ")i+="\\";c+=1,a=c+1}break;default:c+=1}}return i=a?i+r.slice(a):r,n?i:Yr.foldFlowLines(i,s,Yr.FOLD_QUOTED,vu(t,!1))}function Ym(e,t){if(t.options.singleQuote===!1||t.implicitKey&&e.includes(`
|
|
42
|
+
`)||/[ \t]\n|\n[ \t]/.test(e))return Ni(e,t);let r=t.indent||(Su(e)?" ":""),n="'"+e.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
43
|
+
${r}`)+"'";return t.implicitKey?n:Yr.foldFlowLines(n,r,Yr.FOLD_FLOW,vu(t,!1))}function Mo(e,t){let{singleQuote:r}=t.options,n;if(r===!1)n=Ni;else{let o=e.includes('"'),s=e.includes("'");if(o&&!s)n=Ym;else if(s&&!o)n=Ni;else n=r?Ym:Ni}return n(e,t)}var Xm;try{Xm=new RegExp(`(^|(?<!
|
|
44
44
|
))
|
|
45
45
|
+(?!
|
|
46
|
-
|$)`,"g")}catch{
|
|
46
|
+
|$)`,"g")}catch{Xm=/\n+(?!\n|$)/g}function _u({comment:e,type:t,value:r},n,o,s){let{blockQuote:i,commentString:a,lineWidth:c}=n.options;if(!i||/\n[\t ]+$/.test(r))return Mo(r,n);let u=n.indent||(n.forceBlockIndent||Su(r)?" ":""),l=i==="literal"?!0:i==="folded"||t===Kt.Scalar.BLOCK_FOLDED?!1:t===Kt.Scalar.BLOCK_LITERAL?!0:!VV(r,c,u.length);if(!r)return l?`|
|
|
47
47
|
`:`>
|
|
48
48
|
`;let d,f;for(f=r.length;f>0;--f){let _=r[f-1];if(_!==`
|
|
49
49
|
`&&_!=="\t"&&_!==" ")break}let m=r.substring(f),h=m.indexOf(`
|
|
50
50
|
`);if(h===-1)d="-";else if(r===m||h!==m.length-1){if(d="+",s)s()}else d="";if(m){if(r=r.slice(0,-m.length),m[m.length-1]===`
|
|
51
|
-
`)m=m.slice(0,-1);m=m.replace(
|
|
52
|
-
`)
|
|
53
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${u}`),v=!1,
|
|
54
|
-
${u}${
|
|
55
|
-
${u}${
|
|
56
|
-
`)||l&&/[[\]{},]/.test(s))return
|
|
57
|
-
`)?
|
|
58
|
-
`))return
|
|
59
|
-
${c}`);if(i){let f=(g)=>g.default&&g.tag!=="tag:yaml.org,2002:str"&&g.test?.test(d),{compat:m,tags:h}=t.doc.schema;if(h.some(f)||m?.some(f))return
|
|
60
|
-
${t.indent}${a}`}
|
|
61
|
-
${a}:`}else if(y=`${y}:`,f)y+=
|
|
62
|
-
`:"",
|
|
63
|
-
${
|
|
51
|
+
`)m=m.slice(0,-1);m=m.replace(Xm,`$&${u}`)}let g=!1,y,b=-1;for(y=0;y<r.length;++y){let _=r[y];if(_===" ")g=!0;else if(_===`
|
|
52
|
+
`)b=y;else break}let E=r.substring(0,b<y?b+1:y);if(E)r=r.substring(E.length),E=E.replace(/\n+/g,`$&${u}`);let I=(g?u?"2":"1":"")+d;if(e){if(I+=" "+a(e.replace(/ ?[\r\n]+/g," ")),o)o()}if(!l){let _=r.replace(/\n+/g,`
|
|
53
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${u}`),v=!1,x=vu(n,!0);if(i!=="folded"&&t!==Kt.Scalar.BLOCK_FOLDED)x.onOverflow=()=>{v=!0};let R=Yr.foldFlowLines(`${E}${_}${m}`,u,Yr.FOLD_BLOCK,x);if(!v)return`>${I}
|
|
54
|
+
${u}${R}`}return r=r.replace(/\n+/g,`$&${u}`),`|${I}
|
|
55
|
+
${u}${E}${r}${m}`}function ZV(e,t,r,n){let{type:o,value:s}=e,{actualString:i,implicitKey:a,indent:c,indentStep:u,inFlow:l}=t;if(a&&s.includes(`
|
|
56
|
+
`)||l&&/[[\]{},]/.test(s))return Mo(s,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return a||l||!s.includes(`
|
|
57
|
+
`)?Mo(s,t):_u(e,t,r,n);if(!a&&!l&&o!==Kt.Scalar.PLAIN&&s.includes(`
|
|
58
|
+
`))return _u(e,t,r,n);if(Su(s)){if(c==="")return t.forceBlockIndent=!0,_u(e,t,r,n);else if(a&&c===u)return Mo(s,t)}let d=s.replace(/\n+/g,`$&
|
|
59
|
+
${c}`);if(i){let f=(g)=>g.default&&g.tag!=="tag:yaml.org,2002:str"&&g.test?.test(d),{compat:m,tags:h}=t.doc.schema;if(h.some(f)||m?.some(f))return Mo(s,t)}return a?d:Yr.foldFlowLines(d,c,Yr.FOLD_FLOW,vu(t,!1))}function BV(e,t,r,n){let{implicitKey:o,inFlow:s}=t,i=typeof e.value==="string"?e:Object.assign({},e,{value:String(e.value)}),{type:a}=e;if(a!==Kt.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(i.value))a=Kt.Scalar.QUOTE_DOUBLE}let c=(l)=>{switch(l){case Kt.Scalar.BLOCK_FOLDED:case Kt.Scalar.BLOCK_LITERAL:return o||s?Mo(i.value,t):_u(i,t,r,n);case Kt.Scalar.QUOTE_DOUBLE:return Ni(i.value,t);case Kt.Scalar.QUOTE_SINGLE:return Ym(i.value,t);case Kt.Scalar.PLAIN:return ZV(i,t,r,n);default:return null}},u=c(a);if(u===null){let{defaultKeyType:l,defaultStringType:d}=t.options,f=o&&l||d;if(u=c(f),u===null)throw Error(`Unsupported default string type ${f}`)}return u}KV.stringifyString=BV});var ji=T(function(rZ){var GV=gu(),Xr=ce(),JV=zi(),YV=Li();function XV(e,t){let r=Object.assign({blockQuote:!0,commentString:JV.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(r.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:e,flowCollectionPadding:r.flowCollectionPadding?" ":"",indent:"",indentStep:typeof r.indent==="number"?" ".repeat(r.indent):" ",inFlow:n,options:r}}function QV(e,t){if(t.tag){let o=e.filter((s)=>s.tag===t.tag);if(o.length>0)return o.find((s)=>s.format===t.format)??o[0]}let r=void 0,n;if(Xr.isScalar(t)){n=t.value;let o=e.filter((s)=>s.identify?.(n));if(o.length>1){let s=o.filter((i)=>i.test);if(s.length>0)o=s}r=o.find((s)=>s.format===t.format)??o.find((s)=>!s.format)}else n=t,r=e.find((o)=>o.nodeClass&&n instanceof o.nodeClass);if(!r){let o=n?.constructor?.name??(n===null?"null":typeof n);throw Error(`Tag not resolved for ${o} value`)}return r}function eZ(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let o=[],s=(Xr.isScalar(e)||Xr.isCollection(e))&&e.anchor;if(s&&GV.anchorIsValid(s))r.add(s),o.push(`&${s}`);let i=e.tag??(t.default?null:t.tag);if(i)o.push(n.directives.tagString(i));return o.join(" ")}function tZ(e,t,r,n){if(Xr.isPair(e))return e.toString(t,r,n);if(Xr.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 o=void 0,s=Xr.isNode(e)?e:t.doc.createNode(e,{onTagObj:(c)=>o=c});o??(o=QV(t.doc.schema.tags,s));let i=eZ(s,o,t);if(i.length>0)t.indentAtStart=(t.indentAtStart??0)+i.length+1;let a=typeof o.stringify==="function"?o.stringify(s,t,r,n):Xr.isScalar(s)?YV.stringifyString(s,t,r,n):s.toString(t,r,n);if(!i)return a;return Xr.isScalar(s)||a[0]==="{"||a[0]==="["?`${i} ${a}`:`${i}
|
|
60
|
+
${t.indent}${a}`}rZ.createStringifyContext=XV;rZ.stringify=tZ});var xE=T(function(iZ){var Ir=ce(),SE=Le(),kE=ji(),Di=zi();function sZ({key:e,value:t},r,n,o){let{allNullValues:s,doc:i,indent:a,indentStep:c,options:{commentString:u,indentSeq:l,simpleKeys:d}}=r,f=Ir.isNode(e)&&e.comment||null;if(d){if(f)throw Error("With simple keys, key nodes cannot have comments");if(Ir.isCollection(e)||!Ir.isNode(e)&&typeof e==="object")throw Error("With simple keys, collection cannot be used as a key value")}let m=!d&&(!e||f&&t==null&&!r.inFlow||Ir.isCollection(e)||(Ir.isScalar(e)?e.type===SE.Scalar.BLOCK_FOLDED||e.type===SE.Scalar.BLOCK_LITERAL:typeof e==="object"));r=Object.assign({},r,{allNullValues:!1,implicitKey:!m&&(d||!s),indent:a+c});let h=!1,g=!1,y=kE.stringify(e,r,()=>h=!0,()=>g=!0);if(!m&&!r.inFlow&&y.length>1024){if(d)throw Error("With simple keys, single line scalar must not span more than 1024 characters");m=!0}if(r.inFlow){if(s||t==null){if(h&&n)n();return y===""?"?":m?`? ${y}`:y}}else if(s&&!d||t==null&&m){if(y=`? ${y}`,f&&!h)y+=Di.lineComment(y,r.indent,u(f));else if(g&&o)o();return y}if(h)f=null;if(m){if(f)y+=Di.lineComment(y,r.indent,u(f));y=`? ${y}
|
|
61
|
+
${a}:`}else if(y=`${y}:`,f)y+=Di.lineComment(y,r.indent,u(f));let b,E,S;if(Ir.isNode(t))b=!!t.spaceBefore,E=t.commentBefore,S=t.comment;else if(b=!1,E=null,S=null,t&&typeof t==="object")t=i.createNode(t);if(r.implicitKey=!1,!m&&!f&&Ir.isScalar(t))r.indentAtStart=y.length+1;if(g=!1,!l&&c.length>=2&&!r.inFlow&&!m&&Ir.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor)r.indent=r.indent.substring(2);let I=!1,_=kE.stringify(t,r,()=>I=!0,()=>g=!0),v=" ";if(f||b||E){if(v=b?`
|
|
62
|
+
`:"",E){let x=u(E);v+=`
|
|
63
|
+
${Di.indentComment(x,r.indent)}`}if(_===""&&!r.inFlow){if(v===`
|
|
64
64
|
`&&S)v=`
|
|
65
65
|
|
|
66
66
|
`}else v+=`
|
|
67
|
-
${r.indent}`}else if(!m&&
|
|
68
|
-
`),
|
|
67
|
+
${r.indent}`}else if(!m&&Ir.isCollection(t)){let x=_[0],R=_.indexOf(`
|
|
68
|
+
`),j=R!==-1,J=r.inFlow??t.flow??t.items.length===0;if(j||!J){let ie=!1;if(j&&(x==="&"||x==="!")){let ae=_.indexOf(" ");if(x==="&"&&ae!==-1&&ae<R&&_[ae+1]==="!")ae=_.indexOf(" ",ae+1);if(ae===-1||R<ae)ie=!0}if(!ie)v=`
|
|
69
69
|
${r.indent}`}}else if(_===""||_[0]===`
|
|
70
|
-
`)v="";if(y+=v+_,r.inFlow){if(I&&n)n()}else if(S&&!I)y+=
|
|
70
|
+
`)v="";if(y+=v+_,r.inFlow){if(I&&n)n()}else if(S&&!I)y+=Di.lineComment(y,r.indent,u(S));else if(g&&o)o();return y}iZ.stringifyPair=sZ});var Qm=T(function(lZ){var $E=kr("process");function cZ(e,...t){if(e==="debug")console.log(...t)}function uZ(e,t){if(e==="debug"||e==="warn")if(typeof $E.emitWarning==="function")$E.emitWarning(t);else console.warn(t)}lZ.debug=cZ;lZ.warn=uZ});var Eu=T(function(mZ){var $u=ce(),EE=Le(),ku="<<",xu={identify:(e)=>e===ku||typeof e==="symbol"&&e.description===ku,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new EE.Scalar(Symbol(ku)),{addToJSMap:TE}),stringify:()=>ku},fZ=(e,t)=>(xu.identify(t)||$u.isScalar(t)&&(!t.type||t.type===EE.Scalar.PLAIN)&&xu.identify(t.value))&&e?.doc.schema.tags.some((r)=>r.tag===xu.tag&&r.default);function TE(e,t,r){let n=PE(e,r);if($u.isSeq(n))for(let o of n.items)eh(e,t,o);else if(Array.isArray(n))for(let o of n)eh(e,t,o);else eh(e,t,n)}function eh(e,t,r){let n=PE(e,r);if(!$u.isMap(n))throw Error("Merge sources must be maps or map aliases");let o=n.toJSON(null,e,Map);for(let[s,i]of o)if(t instanceof Map){if(!t.has(s))t.set(s,i)}else if(t instanceof Set)t.add(s);else if(!Object.prototype.hasOwnProperty.call(t,s))Object.defineProperty(t,s,{value:i,writable:!0,enumerable:!0,configurable:!0});return t}function PE(e,t){return e&&$u.isAlias(t)?t.resolve(e.doc,e):t}mZ.addMergeToJSMap=TE;mZ.isMergeKey=fZ;mZ.merge=xu});var rh=T(function(SZ){var wZ=Qm(),OE=Eu(),bZ=ji(),IE=ce(),th=Jr();function _Z(e,t,{key:r,value:n}){if(IE.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(OE.isMergeKey(e,r))OE.addMergeToJSMap(e,t,n);else{let o=th.toJS(r,"",e);if(t instanceof Map)t.set(o,th.toJS(n,o,e));else if(t instanceof Set)t.add(o);else{let s=vZ(r,o,e),i=th.toJS(n,s,e);if(s in t)Object.defineProperty(t,s,{value:i,writable:!0,enumerable:!0,configurable:!0});else t[s]=i}}return t}function vZ(e,t,r){if(t===null)return"";if(typeof t!=="object")return String(t);if(IE.isNode(e)&&r?.doc){let n=bZ.createStringifyContext(r.doc,{});n.anchors=new Set;for(let s of r.anchors.keys())n.anchors.add(s.anchor);n.inFlow=!0,n.inStringifyKey=!0;let o=e.toString(n);if(!r.mapKeyWarned){let s=JSON.stringify(o);if(s.length>40)s=s.substring(0,36)+'..."';wZ.warn(r.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${s}. Set mapAsMap: true to use object keys.`),r.mapKeyWarned=!0}return o}return JSON.stringify(t)}SZ.addPairToJSMap=_Z});var Qr=T(function(TZ){var RE=Ci(),xZ=xE(),$Z=rh(),Tu=ce();function EZ(e,t,r){let n=RE.createNode(e,void 0,r),o=RE.createNode(t,void 0,r);return new Pu(n,o)}class Pu{constructor(e,t=null){Object.defineProperty(this,Tu.NODE_TYPE,{value:Tu.PAIR}),this.key=e,this.value=t}clone(e){let{key:t,value:r}=this;if(Tu.isNode(t))t=t.clone(e);if(Tu.isNode(r))r=r.clone(e);return new Pu(t,r)}toJSON(e,t){let r=t?.mapAsMap?new Map:{};return $Z.addPairToJSMap(t,r,this)}toString(e,t,r){return e?.doc?xZ.stringifyPair(this,e,t,r):JSON.stringify(this)}}TZ.Pair=Pu;TZ.createPair=EZ});var nh=T(function(CZ){var Wn=ce(),AE=ji(),Ou=zi();function IZ(e,t,r){return(t.inFlow??e.flow?AZ:RZ)(e,t,r)}function RZ({comment:e,items:t},r,{blockItemPrefix:n,flowChars:o,itemIndent:s,onChompKeep:i,onComment:a}){let{indent:c,options:{commentString:u}}=r,l=Object.assign({},r,{indent:s,type:null}),d=!1,f=[];for(let h=0;h<t.length;++h){let g=t[h],y=null;if(Wn.isNode(g)){if(!d&&g.spaceBefore)f.push("");if(Iu(r,f,g.commentBefore,d),g.comment)y=g.comment}else if(Wn.isPair(g)){let E=Wn.isNode(g.key)?g.key:null;if(E){if(!d&&E.spaceBefore)f.push("");Iu(r,f,E.commentBefore,d)}}d=!1;let b=AE.stringify(g,l,()=>y=null,()=>d=!0);if(y)b+=Ou.lineComment(b,s,u(y));if(d&&y)d=!1;f.push(n+b)}let m;if(f.length===0)m=o.start+o.end;else{m=f[0];for(let h=1;h<f.length;++h){let g=f[h];m+=g?`
|
|
71
71
|
${c}${g}`:`
|
|
72
72
|
`}}if(e){if(m+=`
|
|
73
|
-
`+
|
|
74
|
-
`)),h<e.length-1)
|
|
73
|
+
`+Ou.indentComment(u(e),c),a)a()}else if(d&&i)i();return m}function AZ({items:e},t,{flowChars:r,itemIndent:n}){let{indent:o,indentStep:s,flowCollectionPadding:i,options:{commentString:a}}=t;n+=s;let c=Object.assign({},t,{indent:n,inFlow:!0,type:null}),u=!1,l=0,d=[];for(let h=0;h<e.length;++h){let g=e[h],y=null;if(Wn.isNode(g)){if(g.spaceBefore)d.push("");if(Iu(t,d,g.commentBefore,!1),g.comment)y=g.comment}else if(Wn.isPair(g)){let E=Wn.isNode(g.key)?g.key:null;if(E){if(E.spaceBefore)d.push("");if(Iu(t,d,E.commentBefore,!1),E.comment)u=!0}let S=Wn.isNode(g.value)?g.value:null;if(S){if(S.comment)y=S.comment;if(S.commentBefore)u=!0}else if(g.value==null&&E?.comment)y=E.comment}if(y)u=!0;let b=AE.stringify(g,c,()=>y=null);if(u||(u=d.length>l||b.includes(`
|
|
74
|
+
`)),h<e.length-1)b+=",";else if(t.options.trailingComma){if(t.options.lineWidth>0)u||(u=d.reduce((E,S)=>E+S.length+2,2)+(b.length+2)>t.options.lineWidth);if(u)b+=","}if(y)b+=Ou.lineComment(b,n,a(y));d.push(b),l=d.length}let{start:f,end:m}=r;if(d.length===0)return f+m;else{if(!u){let h=d.reduce((g,y)=>g+y.length+2,2);u=t.options.lineWidth>0&&h>t.options.lineWidth}if(u){let h=f;for(let g of d)h+=g?`
|
|
75
75
|
${s}${o}${g}`:`
|
|
76
76
|
`;return`${h}
|
|
77
|
-
${o}${m}`}else return`${f}${i}${d.join(" ")}${i}${m}`}}function
|
|
78
|
-
`:" ")}return
|
|
77
|
+
${o}${m}`}else return`${f}${i}${d.join(" ")}${i}${m}`}}function Iu({indent:e,options:{commentString:t}},r,n,o){if(n&&o)n=n.replace(/^\n+/,"");if(n){let s=Ou.indentComment(t(n),e);r.push(s.trimStart())}}CZ.stringifyCollection=IZ});var tn=T(function(MZ){var NZ=nh(),LZ=rh(),jZ=bu(),en=ce(),Ru=Qr(),DZ=Le();function Mi(e,t){let r=en.isScalar(t)?t.value:t;for(let n of e)if(en.isPair(n)){if(n.key===t||n.key===r)return n;if(en.isScalar(n.key)&&n.key.value===r)return n}return}class CE extends jZ.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(en.MAP,e);this.items=[]}static from(e,t,r){let{keepUndefined:n,replacer:o}=r,s=new this(e),i=(a,c)=>{if(typeof o==="function")c=o.call(t,a,c);else if(Array.isArray(o)&&!o.includes(a))return;if(c!==void 0||n)s.items.push(Ru.createPair(a,c,r))};if(t instanceof Map)for(let[a,c]of t)i(a,c);else if(t&&typeof t==="object")for(let a of Object.keys(t))i(a,t[a]);if(typeof e.sortMapEntries==="function")s.items.sort(e.sortMapEntries);return s}add(e,t){let r;if(en.isPair(e))r=e;else if(!e||typeof e!=="object"||!("key"in e))r=new Ru.Pair(e,e?.value);else r=new Ru.Pair(e.key,e.value);let n=Mi(this.items,r.key),o=this.schema?.sortMapEntries;if(n){if(!t)throw Error(`Key ${r.key} already set`);if(en.isScalar(n.value)&&DZ.isScalarValue(r.value))n.value.value=r.value;else n.value=r.value}else if(o){let s=this.items.findIndex((i)=>o(r,i)<0);if(s===-1)this.items.push(r);else this.items.splice(s,0,r)}else this.items.push(r)}delete(e){let t=Mi(this.items,e);if(!t)return!1;return this.items.splice(this.items.indexOf(t),1).length>0}get(e,t){let n=Mi(this.items,e)?.value;return(!t&&en.isScalar(n)?n.value:n)??void 0}has(e){return!!Mi(this.items,e)}set(e,t){this.add(new Ru.Pair(e,t),!0)}toJSON(e,t,r){let n=r?new r:t?.mapAsMap?new Map:{};if(t?.onCreate)t.onCreate(n);for(let o of this.items)LZ.addPairToJSMap(t,n,o);return n}toString(e,t,r){if(!e)return JSON.stringify(this);for(let n of this.items)if(!en.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 NZ.stringifyCollection(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:r,onComment:t})}}MZ.YAMLMap=CE;MZ.findPair=Mi});var qo=T(function(VZ){var UZ=ce(),zE=tn(),WZ={collection:"map",default:!0,nodeClass:zE.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){if(!UZ.isMap(e))t("Expected a mapping for this tag");return e},createNode:(e,t,r)=>zE.YAMLMap.from(e,t,r)};VZ.map=WZ});var rn=T(function(YZ){var BZ=Ci(),KZ=nh(),HZ=bu(),Cu=ce(),GZ=Le(),JZ=Jr();class NE extends HZ.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(Cu.SEQ,e);this.items=[]}add(e){this.items.push(e)}delete(e){let t=Au(e);if(typeof t!=="number")return!1;return this.items.splice(t,1).length>0}get(e,t){let r=Au(e);if(typeof r!=="number")return;let n=this.items[r];return!t&&Cu.isScalar(n)?n.value:n}has(e){let t=Au(e);return typeof t==="number"&&t<this.items.length}set(e,t){let r=Au(e);if(typeof r!=="number")throw Error(`Expected a valid index, not ${e}.`);let n=this.items[r];if(Cu.isScalar(n)&&GZ.isScalarValue(t))n.value=t;else this.items[r]=t}toJSON(e,t){let r=[];if(t?.onCreate)t.onCreate(r);let n=0;for(let o of this.items)r.push(JZ.toJS(o,String(n++),t));return r}toString(e,t,r){if(!e)return JSON.stringify(this);return KZ.stringifyCollection(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:r,onComment:t})}static from(e,t,r){let{replacer:n}=r,o=new this(e);if(t&&Symbol.iterator in Object(t)){let s=0;for(let i of t){if(typeof n==="function"){let a=t instanceof Set?i:String(s++);i=n.call(t,a,i)}o.items.push(BZ.createNode(i,void 0,r))}}return o}}function Au(e){let t=Cu.isScalar(e)?e.value:e;if(t&&typeof t==="string")t=Number(t);return typeof t==="number"&&Number.isInteger(t)&&t>=0?t:null}YZ.YAMLSeq=NE});var Fo=T(function(t4){var QZ=ce(),LE=rn(),e4={collection:"seq",default:!0,nodeClass:LE.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){if(!QZ.isSeq(e))t("Expected a sequence for this tag");return e},createNode:(e,t,r)=>LE.YAMLSeq.from(e,t,r)};t4.seq=e4});var qi=T(function(s4){var n4=Li(),o4={identify:(e)=>typeof e==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(e)=>e,stringify(e,t,r,n){return t=Object.assign({actualString:!0},t),n4.stringifyString(e,t,r,n)}};s4.string=o4});var zu=T(function(a4){var jE=Le(),DE={identify:(e)=>e==null,createNode:()=>new jE.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new jE.Scalar(null),stringify:({source:e},t)=>typeof e==="string"&&DE.test.test(e)?e:t.options.nullStr};a4.nullTag=DE});var oh=T(function(l4){var u4=Le(),ME={identify:(e)=>typeof e==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(e)=>new u4.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&ME.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};l4.boolTag=ME});var Uo=T(function(f4){function p4({format:e,minFractionDigits:t,tag:r,value:n}){if(typeof n==="bigint")return String(n);let o=typeof n==="number"?n:Number(n);if(!isFinite(o))return isNaN(o)?".nan":o<0?"-.inf":".inf";let s=Object.is(n,-0)?"-0":JSON.stringify(n);if(!e&&t&&(!r||r==="tag:yaml.org,2002:float")&&/^-?\d/.test(s)&&!s.includes("e")){let i=s.indexOf(".");if(i<0)i=s.length,s+=".";let a=t-(s.length-i-1);while(a-- >0)s+="0"}return s}f4.stringifyNumber=p4});var ih=T(function(b4){var h4=Le(),sh=Uo(),g4={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:sh.stringifyNumber},y4={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():sh.stringifyNumber(e)}},w4={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 h4.Scalar(parseFloat(e)),r=e.indexOf(".");if(r!==-1&&e[e.length-1]==="0")t.minFractionDigits=e.length-r-1;return t},stringify:sh.stringifyNumber};b4.float=w4;b4.floatExp=y4;b4.floatNaN=g4});var ch=T(function(E4){var qE=Uo(),Nu=(e)=>typeof e==="bigint"||Number.isInteger(e),ah=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function FE(e,t,r){let{value:n}=e;if(Nu(n)&&n>=0)return r+n.toString(t);return qE.stringifyNumber(e)}var k4={identify:(e)=>Nu(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>ah(e,2,8,r),stringify:(e)=>FE(e,8,"0o")},x4={identify:Nu,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>ah(e,0,10,r),stringify:qE.stringifyNumber},$4={identify:(e)=>Nu(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>ah(e,2,16,r),stringify:(e)=>FE(e,16,"0x")};E4.int=x4;E4.intHex=$4;E4.intOct=k4});var UE=T(function(L4){var I4=qo(),R4=zu(),A4=Fo(),C4=qi(),z4=oh(),uh=ih(),lh=ch(),N4=[I4.map,A4.seq,C4.string,R4.nullTag,z4.boolTag,lh.intOct,lh.int,lh.intHex,uh.floatNaN,uh.floatExp,uh.float];L4.schema=N4});var VE=T(function(V4){var D4=Le(),M4=qo(),q4=Fo();function WE(e){return typeof e==="bigint"||Number.isInteger(e)}var Lu=({value:e})=>JSON.stringify(e),F4=[{identify:(e)=>typeof e==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(e)=>e,stringify:Lu},{identify:(e)=>e==null,createNode:()=>new D4.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:Lu},{identify:(e)=>typeof e==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(e)=>e==="true",stringify:Lu},{identify:WE,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:r})=>r?BigInt(e):parseInt(e,10),stringify:({value:e})=>WE(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:Lu}],U4={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},W4=[M4.map,q4.seq].concat(F4,U4);V4.schema=W4});var ph=T(function(H4){var Fi=kr("buffer"),dh=Le(),B4=Li(),K4={identify:(e)=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Fi.Buffer==="function")return Fi.Buffer.from(e,"base64");else if(typeof atob==="function"){let r=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(r.length);for(let o=0;o<r.length;++o)n[o]=r.charCodeAt(o);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:r},n,o,s){if(!r)return"";let i=r,a;if(typeof Fi.Buffer==="function")a=i instanceof Fi.Buffer?i.toString("base64"):Fi.Buffer.from(i.buffer).toString("base64");else if(typeof btoa==="function"){let c="";for(let u=0;u<i.length;++u)c+=String.fromCharCode(i[u]);a=btoa(c)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=dh.Scalar.BLOCK_LITERAL),t!==dh.Scalar.QUOTE_DOUBLE){let c=Math.max(n.options.lineWidth-n.indent.length,n.options.minContentWidth),u=Math.ceil(a.length/c),l=Array(u);for(let d=0,f=0;d<u;++d,f+=c)l[d]=a.substr(f,c);a=l.join(t===dh.Scalar.BLOCK_LITERAL?`
|
|
78
|
+
`:" ")}return B4.stringifyString({comment:e,type:t,value:a},n,o,s)}};H4.binary=K4});var Du=T(function(Q4){var ju=ce(),fh=Qr(),J4=Le(),Y4=rn();function ZE(e,t){if(ju.isSeq(e))for(let r=0;r<e.items.length;++r){let n=e.items[r];if(ju.isPair(n))continue;else if(ju.isMap(n)){if(n.items.length>1)t("Each pair must have its own sequence indicator");let o=n.items[0]||new fh.Pair(new J4.Scalar(null));if(n.commentBefore)o.key.commentBefore=o.key.commentBefore?`${n.commentBefore}
|
|
79
79
|
${o.key.commentBefore}`:n.commentBefore;if(n.comment){let s=o.value??o.key;s.comment=s.comment?`${n.comment}
|
|
80
|
-
${s.comment}`:n.comment}n=o}e.items[r]=Pu.isPair(n)?n:new Jm.Pair(n)}else t("Expected a sequence for this tag");return e}function hE(e,t,r){let{replacer:n}=r,o=new KZ.YAMLSeq(e);o.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator in Object(t))for(let i of t){if(typeof n==="function")i=n.call(t,String(s++),i);let a,c;if(Array.isArray(i))if(i.length===2)a=i[0],c=i[1];else throw TypeError(`Expected [key, value] tuple: ${i}`);else if(i&&i instanceof Object){let u=Object.keys(i);if(u.length===1)a=u[0],c=i[a];else throw TypeError(`Expected tuple with one key, not ${u.length} keys`)}else a=i;o.items.push(Jm.createPair(a,c,r))}return o}var HZ={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:mE,createNode:hE};GZ.createPairs=hE;GZ.pairs=HZ;GZ.resolvePairs=mE});var Xm=E(function(t4){var gE=ce(),Ym=Zr(),Li=Jr(),QZ=Yr(),yE=Iu();class Mn extends QZ.YAMLSeq{constructor(){super();this.add=Li.YAMLMap.prototype.add.bind(this),this.delete=Li.YAMLMap.prototype.delete.bind(this),this.get=Li.YAMLMap.prototype.get.bind(this),this.has=Li.YAMLMap.prototype.has.bind(this),this.set=Li.YAMLMap.prototype.set.bind(this),this.tag=Mn.tag}toJSON(e,t){if(!t)return super.toJSON(e);let r=new Map;if(t?.onCreate)t.onCreate(r);for(let n of this.items){let o,s;if(gE.isPair(n))o=Ym.toJS(n.key,"",t),s=Ym.toJS(n.value,o,t);else o=Ym.toJS(n,"",t);if(r.has(o))throw Error("Ordered maps must not include duplicate keys");r.set(o,s)}return r}static from(e,t,r){let n=yE.createPairs(e,t,r),o=new this;return o.items=n.items,o}}Mn.tag="tag:yaml.org,2002:omap";var e4={collection:"seq",identify:(e)=>e instanceof Map,nodeClass:Mn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=yE.resolvePairs(e,t),n=[];for(let{key:o}of r.items)if(gE.isScalar(o))if(n.includes(o.value))t(`Ordered maps must not include duplicate keys: ${o.value}`);else n.push(o.value);return Object.assign(new Mn,r)},createNode:(e,t,r)=>Mn.from(e,t,r)};t4.YAMLOMap=Mn;t4.omap=e4});var SE=E(function(o4){var bE=ze();function wE({value:e,source:t},r){if(t&&(e?_E:vE).test.test(t))return t;return e?r.options.trueStr:r.options.falseStr}var _E={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 bE.Scalar(!0),stringify:wE},vE={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 bE.Scalar(!1),stringify:wE};o4.falseTag=vE;o4.trueTag=_E});var kE=E(function(d4){var a4=ze(),Qm=No(),c4={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:Qm.stringifyNumber},u4={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():Qm.stringifyNumber(e)}},l4={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 a4.Scalar(parseFloat(e.replace(/_/g,""))),r=e.indexOf(".");if(r!==-1){let n=e.substring(r+1).replace(/_/g,"");if(n[n.length-1]==="0")t.minFractionDigits=n.length}return t},stringify:Qm.stringifyNumber};d4.float=l4;d4.floatExp=u4;d4.floatNaN=c4});var $E=E(function(w4){var xE=No(),Di=(e)=>typeof e==="bigint"||Number.isInteger(e);function Au(e,t,r,{intAsBigInt:n}){let o=e[0];if(o==="-"||o==="+")t+=1;if(e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let i=BigInt(e);return o==="-"?BigInt(-1)*i:i}let s=parseInt(e,r);return o==="-"?-1*s:s}function eh(e,t,r){let{value:n}=e;if(Di(n)){let o=n.toString(t);return n<0?"-"+r+o.substr(1):r+o}return xE.stringifyNumber(e)}var h4={identify:Di,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>Au(e,2,2,r),stringify:(e)=>eh(e,2,"0b")},g4={identify:Di,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>Au(e,1,8,r),stringify:(e)=>eh(e,8,"0")},y4={identify:Di,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>Au(e,0,10,r),stringify:xE.stringifyNumber},b4={identify:Di,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>Au(e,2,16,r),stringify:(e)=>eh(e,16,"0x")};w4.int=y4;w4.intBin=h4;w4.intHex=b4;w4.intOct=g4});var th=E(function($4){var zu=ce(),Ru=Hr(),Cu=Jr();class qn extends Cu.YAMLMap{constructor(e){super(e);this.tag=qn.tag}add(e){let t;if(zu.isPair(e))t=e;else if(e&&typeof e==="object"&&"key"in e&&"value"in e&&e.value===null)t=new Ru.Pair(e.key,null);else t=new Ru.Pair(e,null);if(!Cu.findPair(this.items,t.key))this.items.push(t)}get(e,t){let r=Cu.findPair(this.items,e);return!t&&zu.isPair(r)?zu.isScalar(r.key)?r.key.value:r.key:r}set(e,t){if(typeof t!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let r=Cu.findPair(this.items,e);if(r&&!t)this.items.splice(this.items.indexOf(r),1);else if(!r&&t)this.items.push(new Ru.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,r){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,r);else throw Error("Set items must all have null values")}static from(e,t,r){let{replacer:n}=r,o=new this(e);if(t&&Symbol.iterator in Object(t))for(let s of t){if(typeof n==="function")s=n.call(t,s,s);o.items.push(Ru.createPair(s,null,r))}return o}}qn.tag="tag:yaml.org,2002:set";var x4={collection:"map",identify:(e)=>e instanceof Set,nodeClass:qn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>qn.from(e,t,r),resolve(e,t){if(zu.isMap(e))if(e.hasAllNullValues(!0))return Object.assign(new qn,e);else t("Set items must all have null values");else t("Expected a mapping for this tag");return e}};$4.YAMLSet=qn;$4.set=x4});var nh=E(function(A4){var O4=No();function rh(e,t){let r=e[0],n=r==="-"||r==="+"?e.substring(1):e,o=(i)=>t?BigInt(i):Number(i),s=n.replace(/_/g,"").split(":").reduce((i,a)=>i*o(60)+o(a),o(0));return r==="-"?o(-1)*s:s}function EE(e){let{value:t}=e,r=(i)=>i;if(typeof t==="bigint")r=(i)=>BigInt(i);else if(isNaN(t)||!isFinite(t))return O4.stringifyNumber(e);let n="";if(t<0)n="-",t*=r(-1);let o=r(60),s=[t%o];if(t<60)s.unshift(0);else if(t=(t-s[0])/o,s.unshift(t%o),t>=60)t=(t-s[0])/o,s.unshift(t);return n+s.map((i)=>String(i).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var P4={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:r})=>rh(e,r),stringify:EE},I4={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)=>rh(e,!1),stringify:EE},TE={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(TE.test);if(!t)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,r,n,o,s,i,a]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0,u=Date.UTC(r,n-1,o,s||0,i||0,a||0,c),l=t[8];if(l&&l!=="Z"){let d=rh(l,!1);if(Math.abs(d)<30)d*=60;u-=60000*d}return new Date(u)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};A4.floatTime=I4;A4.intTime=P4;A4.timestamp=TE});var PE=E(function(Z4){var N4=Co(),L4=Eu(),D4=zo(),j4=zi(),M4=Gm(),OE=SE(),oh=kE(),Nu=$E(),q4=bu(),F4=Xm(),U4=Iu(),W4=th(),sh=nh(),V4=[N4.map,D4.seq,j4.string,L4.nullTag,OE.trueTag,OE.falseTag,Nu.intBin,Nu.intOct,Nu.int,Nu.intHex,oh.floatNaN,oh.floatExp,oh.float,M4.binary,q4.merge,F4.omap,U4.pairs,W4.set,sh.intTime,sh.floatTime,sh.timestamp];Z4.schema=V4});var ME=E(function(e9){var CE=Co(),K4=Eu(),zE=zo(),H4=zi(),G4=Fm(),ih=Wm(),ah=Zm(),J4=dE(),Y4=fE(),NE=Gm(),ji=bu(),LE=Xm(),DE=Iu(),IE=PE(),jE=th(),Lu=nh(),AE=new Map([["core",J4.schema],["failsafe",[CE.map,zE.seq,H4.string]],["json",Y4.schema],["yaml11",IE.schema],["yaml-1.1",IE.schema]]),RE={binary:NE.binary,bool:G4.boolTag,float:ih.float,floatExp:ih.floatExp,floatNaN:ih.floatNaN,floatTime:Lu.floatTime,int:ah.int,intHex:ah.intHex,intOct:ah.intOct,intTime:Lu.intTime,map:CE.map,merge:ji.merge,null:K4.nullTag,omap:LE.omap,pairs:DE.pairs,seq:zE.seq,set:jE.set,timestamp:Lu.timestamp},X4={"tag:yaml.org,2002:binary":NE.binary,"tag:yaml.org,2002:merge":ji.merge,"tag:yaml.org,2002:omap":LE.omap,"tag:yaml.org,2002:pairs":DE.pairs,"tag:yaml.org,2002:set":jE.set,"tag:yaml.org,2002:timestamp":Lu.timestamp};function Q4(e,t,r){let n=AE.get(t);if(n&&!e)return r&&!n.includes(ji.merge)?n.concat(ji.merge):n.slice();let o=n;if(!o)if(Array.isArray(e))o=[];else{let s=Array.from(AE.keys()).filter((i)=>i!=="yaml11").map((i)=>JSON.stringify(i)).join(", ");throw Error(`Unknown schema "${t}"; use one of ${s} or define customTags array`)}if(Array.isArray(e))for(let s of e)o=o.concat(s);else if(typeof e==="function")o=e(o.slice());if(r)o=o.concat(ji.merge);return o.reduce((s,i)=>{let a=typeof i==="string"?RE[i]:i;if(!a){let c=JSON.stringify(i),u=Object.keys(RE).map((l)=>JSON.stringify(l)).join(", ");throw Error(`Unknown custom tag ${c}; use one of ${u}`)}if(!s.includes(a))s.push(a);return s},[])}e9.coreKnownTags=X4;e9.getTags=Q4});var lh=E(function(a9){var ch=ce(),n9=Co(),o9=zo(),s9=zi(),Du=ME(),i9=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0;class uh{constructor({compat:e,customTags:t,merge:r,resolveKnownTags:n,schema:o,sortMapEntries:s,toStringDefaults:i}){this.compat=Array.isArray(e)?Du.getTags(e,"compat"):e?Du.getTags(null,e):null,this.name=typeof o==="string"&&o||"core",this.knownTags=n?Du.coreKnownTags:{},this.tags=Du.getTags(t,this.name,r),this.toStringOptions=i??null,Object.defineProperty(this,ch.MAP,{value:n9.map}),Object.defineProperty(this,ch.SCALAR,{value:s9.string}),Object.defineProperty(this,ch.SEQ,{value:o9.seq}),this.sortMapEntries=typeof s==="function"?s:s===!0?i9:null}clone(){let e=Object.create(uh.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}a9.Schema=uh});var qE=E(function(d9){var u9=ce(),dh=Ai(),Mi=Oi();function l9(e,t){let r=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let c=e.directives.toString(e);if(c)r.push(c),n=!0;else if(e.directives.docStart)n=!0}if(n)r.push("---");let o=dh.createStringifyContext(e,t),{commentString:s}=o.options;if(e.commentBefore){if(r.length!==1)r.unshift("");let c=s(e.commentBefore);r.unshift(Mi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(u9.isNode(e.contents)){if(e.contents.spaceBefore&&n)r.push("");if(e.contents.commentBefore){let l=s(e.contents.commentBefore);r.push(Mi.indentComment(l,""))}o.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,u=dh.stringify(e.contents,o,()=>a=null,c);if(a)u+=Mi.lineComment(u,"",s(a));if((u[0]==="|"||u[0]===">")&&r[r.length-1]==="---")r[r.length-1]=`--- ${u}`;else r.push(u)}else r.push(dh.stringify(e.contents,o));if(e.directives?.docEnd)if(e.comment){let c=s(e.comment);if(c.includes(`
|
|
81
|
-
`))r.push("..."),r.push(
|
|
80
|
+
${s.comment}`:n.comment}n=o}e.items[r]=ju.isPair(n)?n:new fh.Pair(n)}else t("Expected a sequence for this tag");return e}function BE(e,t,r){let{replacer:n}=r,o=new Y4.YAMLSeq(e);o.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator in Object(t))for(let i of t){if(typeof n==="function")i=n.call(t,String(s++),i);let a,c;if(Array.isArray(i))if(i.length===2)a=i[0],c=i[1];else throw TypeError(`Expected [key, value] tuple: ${i}`);else if(i&&i instanceof Object){let u=Object.keys(i);if(u.length===1)a=u[0],c=i[a];else throw TypeError(`Expected tuple with one key, not ${u.length} keys`)}else a=i;o.items.push(fh.createPair(a,c,r))}return o}var X4={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:ZE,createNode:BE};Q4.createPairs=BE;Q4.pairs=X4;Q4.resolvePairs=ZE});var hh=T(function(s9){var KE=ce(),mh=Jr(),Ui=tn(),n9=rn(),HE=Du();class Vn extends n9.YAMLSeq{constructor(){super();this.add=Ui.YAMLMap.prototype.add.bind(this),this.delete=Ui.YAMLMap.prototype.delete.bind(this),this.get=Ui.YAMLMap.prototype.get.bind(this),this.has=Ui.YAMLMap.prototype.has.bind(this),this.set=Ui.YAMLMap.prototype.set.bind(this),this.tag=Vn.tag}toJSON(e,t){if(!t)return super.toJSON(e);let r=new Map;if(t?.onCreate)t.onCreate(r);for(let n of this.items){let o,s;if(KE.isPair(n))o=mh.toJS(n.key,"",t),s=mh.toJS(n.value,o,t);else o=mh.toJS(n,"",t);if(r.has(o))throw Error("Ordered maps must not include duplicate keys");r.set(o,s)}return r}static from(e,t,r){let n=HE.createPairs(e,t,r),o=new this;return o.items=n.items,o}}Vn.tag="tag:yaml.org,2002:omap";var o9={collection:"seq",identify:(e)=>e instanceof Map,nodeClass:Vn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=HE.resolvePairs(e,t),n=[];for(let{key:o}of r.items)if(KE.isScalar(o))if(n.includes(o.value))t(`Ordered maps must not include duplicate keys: ${o.value}`);else n.push(o.value);return Object.assign(new Vn,r)},createNode:(e,t,r)=>Vn.from(e,t,r)};s9.YAMLOMap=Vn;s9.omap=o9});var QE=T(function(c9){var GE=Le();function JE({value:e,source:t},r){if(t&&(e?YE:XE).test.test(t))return t;return e?r.options.trueStr:r.options.falseStr}var YE={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 GE.Scalar(!0),stringify:JE},XE={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 GE.Scalar(!1),stringify:JE};c9.falseTag=XE;c9.trueTag=YE});var eT=T(function(h9){var d9=Le(),gh=Uo(),p9={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:gh.stringifyNumber},f9={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():gh.stringifyNumber(e)}},m9={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 d9.Scalar(parseFloat(e.replace(/_/g,""))),r=e.indexOf(".");if(r!==-1){let n=e.substring(r+1).replace(/_/g,"");if(n[n.length-1]==="0")t.minFractionDigits=n.length}return t},stringify:gh.stringifyNumber};h9.float=m9;h9.floatExp=f9;h9.floatNaN=p9});var rT=T(function(k9){var tT=Uo(),Wi=(e)=>typeof e==="bigint"||Number.isInteger(e);function Mu(e,t,r,{intAsBigInt:n}){let o=e[0];if(o==="-"||o==="+")t+=1;if(e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let i=BigInt(e);return o==="-"?BigInt(-1)*i:i}let s=parseInt(e,r);return o==="-"?-1*s:s}function yh(e,t,r){let{value:n}=e;if(Wi(n)){let o=n.toString(t);return n<0?"-"+r+o.substr(1):r+o}return tT.stringifyNumber(e)}var b9={identify:Wi,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>Mu(e,2,2,r),stringify:(e)=>yh(e,2,"0b")},_9={identify:Wi,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>Mu(e,1,8,r),stringify:(e)=>yh(e,8,"0")},v9={identify:Wi,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>Mu(e,0,10,r),stringify:tT.stringifyNumber},S9={identify:Wi,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>Mu(e,2,16,r),stringify:(e)=>yh(e,16,"0x")};k9.int=v9;k9.intBin=b9;k9.intHex=S9;k9.intOct=_9});var wh=T(function(O9){var Uu=ce(),qu=Qr(),Fu=tn();class Zn extends Fu.YAMLMap{constructor(e){super(e);this.tag=Zn.tag}add(e){let t;if(Uu.isPair(e))t=e;else if(e&&typeof e==="object"&&"key"in e&&"value"in e&&e.value===null)t=new qu.Pair(e.key,null);else t=new qu.Pair(e,null);if(!Fu.findPair(this.items,t.key))this.items.push(t)}get(e,t){let r=Fu.findPair(this.items,e);return!t&&Uu.isPair(r)?Uu.isScalar(r.key)?r.key.value:r.key:r}set(e,t){if(typeof t!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof t}`);let r=Fu.findPair(this.items,e);if(r&&!t)this.items.splice(this.items.indexOf(r),1);else if(!r&&t)this.items.push(new qu.Pair(e))}toJSON(e,t){return super.toJSON(e,t,Set)}toString(e,t,r){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),t,r);else throw Error("Set items must all have null values")}static from(e,t,r){let{replacer:n}=r,o=new this(e);if(t&&Symbol.iterator in Object(t))for(let s of t){if(typeof n==="function")s=n.call(t,s,s);o.items.push(qu.createPair(s,null,r))}return o}}Zn.tag="tag:yaml.org,2002:set";var P9={collection:"map",identify:(e)=>e instanceof Set,nodeClass:Zn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>Zn.from(e,t,r),resolve(e,t){if(Uu.isMap(e))if(e.hasAllNullValues(!0))return Object.assign(new Zn,e);else t("Set items must all have null values");else t("Expected a mapping for this tag");return e}};O9.YAMLSet=Zn;O9.set=P9});var _h=T(function(N9){var A9=Uo();function bh(e,t){let r=e[0],n=r==="-"||r==="+"?e.substring(1):e,o=(i)=>t?BigInt(i):Number(i),s=n.replace(/_/g,"").split(":").reduce((i,a)=>i*o(60)+o(a),o(0));return r==="-"?o(-1)*s:s}function nT(e){let{value:t}=e,r=(i)=>i;if(typeof t==="bigint")r=(i)=>BigInt(i);else if(isNaN(t)||!isFinite(t))return A9.stringifyNumber(e);let n="";if(t<0)n="-",t*=r(-1);let o=r(60),s=[t%o];if(t<60)s.unshift(0);else if(t=(t-s[0])/o,s.unshift(t%o),t>=60)t=(t-s[0])/o,s.unshift(t);return n+s.map((i)=>String(i).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var C9={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:r})=>bh(e,r),stringify:nT},z9={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)=>bh(e,!1),stringify:nT},oT={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(oT.test);if(!t)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,r,n,o,s,i,a]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0,u=Date.UTC(r,n-1,o,s||0,i||0,a||0,c),l=t[8];if(l&&l!=="Z"){let d=bh(l,!1);if(Math.abs(d)<30)d*=60;u-=60000*d}return new Date(u)},stringify:({value:e})=>e?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};N9.floatTime=z9;N9.intTime=C9;N9.timestamp=oT});var iT=T(function(G9){var M9=qo(),q9=zu(),F9=Fo(),U9=qi(),W9=ph(),sT=QE(),vh=eT(),Wu=rT(),V9=Eu(),Z9=hh(),B9=Du(),K9=wh(),Sh=_h(),H9=[M9.map,F9.seq,U9.string,q9.nullTag,sT.trueTag,sT.falseTag,Wu.intBin,Wu.intOct,Wu.int,Wu.intHex,vh.floatNaN,vh.floatExp,vh.float,W9.binary,V9.merge,Z9.omap,B9.pairs,K9.set,Sh.intTime,Sh.floatTime,Sh.timestamp];G9.schema=H9});var gT=T(function(oB){var lT=qo(),Y9=zu(),dT=Fo(),X9=qi(),Q9=oh(),kh=ih(),xh=ch(),eB=UE(),tB=VE(),pT=ph(),Vi=Eu(),fT=hh(),mT=Du(),aT=iT(),hT=wh(),Vu=_h(),cT=new Map([["core",eB.schema],["failsafe",[lT.map,dT.seq,X9.string]],["json",tB.schema],["yaml11",aT.schema],["yaml-1.1",aT.schema]]),uT={binary:pT.binary,bool:Q9.boolTag,float:kh.float,floatExp:kh.floatExp,floatNaN:kh.floatNaN,floatTime:Vu.floatTime,int:xh.int,intHex:xh.intHex,intOct:xh.intOct,intTime:Vu.intTime,map:lT.map,merge:Vi.merge,null:Y9.nullTag,omap:fT.omap,pairs:mT.pairs,seq:dT.seq,set:hT.set,timestamp:Vu.timestamp},rB={"tag:yaml.org,2002:binary":pT.binary,"tag:yaml.org,2002:merge":Vi.merge,"tag:yaml.org,2002:omap":fT.omap,"tag:yaml.org,2002:pairs":mT.pairs,"tag:yaml.org,2002:set":hT.set,"tag:yaml.org,2002:timestamp":Vu.timestamp};function nB(e,t,r){let n=cT.get(t);if(n&&!e)return r&&!n.includes(Vi.merge)?n.concat(Vi.merge):n.slice();let o=n;if(!o)if(Array.isArray(e))o=[];else{let s=Array.from(cT.keys()).filter((i)=>i!=="yaml11").map((i)=>JSON.stringify(i)).join(", ");throw Error(`Unknown schema "${t}"; use one of ${s} or define customTags array`)}if(Array.isArray(e))for(let s of e)o=o.concat(s);else if(typeof e==="function")o=e(o.slice());if(r)o=o.concat(Vi.merge);return o.reduce((s,i)=>{let a=typeof i==="string"?uT[i]:i;if(!a){let c=JSON.stringify(i),u=Object.keys(uT).map((l)=>JSON.stringify(l)).join(", ");throw Error(`Unknown custom tag ${c}; use one of ${u}`)}if(!s.includes(a))s.push(a);return s},[])}oB.coreKnownTags=rB;oB.getTags=nB});var Th=T(function(dB){var $h=ce(),aB=qo(),cB=Fo(),uB=qi(),Zu=gT(),lB=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0;class Eh{constructor({compat:e,customTags:t,merge:r,resolveKnownTags:n,schema:o,sortMapEntries:s,toStringDefaults:i}){this.compat=Array.isArray(e)?Zu.getTags(e,"compat"):e?Zu.getTags(null,e):null,this.name=typeof o==="string"&&o||"core",this.knownTags=n?Zu.coreKnownTags:{},this.tags=Zu.getTags(t,this.name,r),this.toStringOptions=i??null,Object.defineProperty(this,$h.MAP,{value:aB.map}),Object.defineProperty(this,$h.SCALAR,{value:uB.string}),Object.defineProperty(this,$h.SEQ,{value:cB.seq}),this.sortMapEntries=typeof s==="function"?s:s===!0?lB:null}clone(){let e=Object.create(Eh.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}dB.Schema=Eh});var yT=T(function(hB){var fB=ce(),Ph=ji(),Zi=zi();function mB(e,t){let r=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let c=e.directives.toString(e);if(c)r.push(c),n=!0;else if(e.directives.docStart)n=!0}if(n)r.push("---");let o=Ph.createStringifyContext(e,t),{commentString:s}=o.options;if(e.commentBefore){if(r.length!==1)r.unshift("");let c=s(e.commentBefore);r.unshift(Zi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(fB.isNode(e.contents)){if(e.contents.spaceBefore&&n)r.push("");if(e.contents.commentBefore){let l=s(e.contents.commentBefore);r.push(Zi.indentComment(l,""))}o.forceBlockIndent=!!e.comment,a=e.contents.comment}let c=a?void 0:()=>i=!0,u=Ph.stringify(e.contents,o,()=>a=null,c);if(a)u+=Zi.lineComment(u,"",s(a));if((u[0]==="|"||u[0]===">")&&r[r.length-1]==="---")r[r.length-1]=`--- ${u}`;else r.push(u)}else r.push(Ph.stringify(e.contents,o));if(e.directives?.docEnd)if(e.comment){let c=s(e.comment);if(c.includes(`
|
|
81
|
+
`))r.push("..."),r.push(Zi.indentComment(c,""));else r.push(`... ${c}`)}else r.push("...");else{let c=e.comment;if(c&&i)c=c.replace(/^\n+/,"");if(c){if((!i||a)&&r[r.length-1]!=="")r.push("");r.push(Zi.indentComment(s(c),""))}}return r.join(`
|
|
82
82
|
`)+`
|
|
83
|
-
`}
|
|
83
|
+
`}hB.stringifyDocument=mB});var Bi=T(function(xB){var yB=Ai(),Wo=bu(),Nt=ce(),wB=Qr(),bB=Jr(),_B=Th(),vB=yT(),Oh=gu(),SB=Hm(),kB=Ci(),Ih=Km();class Rh{constructor(e,t,r){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Nt.NODE_TYPE,{value:Nt.DOC});let n=null;if(typeof t==="function"||Array.isArray(t))n=t;else if(r===void 0&&t)r=t,t=void 0;let o=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},r);this.options=o;let{version:s}=o;if(r?._directives){if(this.directives=r._directives.atDocument(),this.directives.yaml.explicit)s=this.directives.yaml.version}else this.directives=new Ih.Directives({version:s});this.setSchema(s,r),this.contents=e===void 0?null:this.createNode(e,n,r)}clone(){let e=Object.create(Rh.prototype,{[Nt.NODE_TYPE]:{value:Nt.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=Nt.isNode(this.contents)?this.contents.clone(e.schema):this.contents,this.range)e.range=this.range.slice();return e}add(e){if(Vo(this.contents))this.contents.add(e)}addIn(e,t){if(Vo(this.contents))this.contents.addIn(e,t)}createAlias(e,t){if(!e.anchor){let r=Oh.anchorNames(this);e.anchor=!t||r.has(t)?Oh.findNewAnchor(t||"a",r):t}return new yB.Alias(e.anchor)}createNode(e,t,r){let n=void 0;if(typeof t==="function")e=t.call({"":e},"",e),n=t;else if(Array.isArray(t)){let g=(b)=>typeof b==="number"||b instanceof String||b instanceof Number,y=t.filter(g).map(String);if(y.length>0)t=t.concat(y);n=t}else if(r===void 0&&t)r=t,t=void 0;let{aliasDuplicateObjects:o,anchorPrefix:s,flow:i,keepUndefined:a,onTagObj:c,tag:u}=r??{},{onAnchor:l,setAnchors:d,sourceObjects:f}=Oh.createNodeAnchors(this,s||"a"),m={aliasDuplicateObjects:o??!0,keepUndefined:a??!1,onAnchor:l,onTagObj:c,replacer:n,schema:this.schema,sourceObjects:f},h=kB.createNode(e,u,m);if(i&&Nt.isCollection(h))h.flow=!0;return d(),h}createPair(e,t,r={}){let n=this.createNode(e,null,r),o=this.createNode(t,null,r);return new wB.Pair(n,o)}delete(e){return Vo(this.contents)?this.contents.delete(e):!1}deleteIn(e){if(Wo.isEmptyPath(e)){if(this.contents==null)return!1;return this.contents=null,!0}return Vo(this.contents)?this.contents.deleteIn(e):!1}get(e,t){return Nt.isCollection(this.contents)?this.contents.get(e,t):void 0}getIn(e,t){if(Wo.isEmptyPath(e))return!t&&Nt.isScalar(this.contents)?this.contents.value:this.contents;return Nt.isCollection(this.contents)?this.contents.getIn(e,t):void 0}has(e){return Nt.isCollection(this.contents)?this.contents.has(e):!1}hasIn(e){if(Wo.isEmptyPath(e))return this.contents!==void 0;return Nt.isCollection(this.contents)?this.contents.hasIn(e):!1}set(e,t){if(this.contents==null)this.contents=Wo.collectionFromPath(this.schema,[e],t);else if(Vo(this.contents))this.contents.set(e,t)}setIn(e,t){if(Wo.isEmptyPath(e))this.contents=t;else if(this.contents==null)this.contents=Wo.collectionFromPath(this.schema,Array.from(e),t);else if(Vo(this.contents))this.contents.setIn(e,t)}setSchema(e,t={}){if(typeof e==="number")e=String(e);let r;switch(e){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new Ih.Directives({version:"1.1"});r={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=e;else this.directives=new Ih.Directives({version:e});r={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;r=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(r)this.schema=new _B.Schema(Object.assign(r,t));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:e,jsonArg:t,mapAsMap:r,maxAliasCount:n,onAnchor:o,reviver:s}={}){let i={anchors:new Map,doc:this,keep:!e,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof n==="number"?n:100},a=bB.toJS(this.contents,t??"",i);if(typeof o==="function")for(let{count:c,res:u}of i.anchors.values())o(u,c);return typeof s==="function"?SB.applyReviver(s,{"":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 vB.stringifyDocument(this,e)}}function Vo(e){if(Nt.isCollection(e))return!0;throw Error("Expected a YAML collection as document contents")}xB.Document=Rh});var Ki=T(function(TB){class Bu extends Error{constructor(e,t,r,n){super();this.name=e,this.code=r,this.message=n,this.pos=t}}class wT extends Bu{constructor(e,t,r){super("YAMLParseError",e,t,r)}}class bT extends Bu{constructor(e,t,r){super("YAMLWarning",e,t,r)}}var EB=(e,t)=>(r)=>{if(r.pos[0]===-1)return;r.linePos=r.pos.map((a)=>t.linePos(a));let{line:n,col:o}=r.linePos[0];r.message+=` at line ${n}, column ${o}`;let s=o-1,i=e.substring(t.lineStarts[n-1],t.lineStarts[n]).replace(/[\n\r]+$/,"");if(s>=60&&i.length>80){let a=Math.min(s-39,i.length-79);i="…"+i.substring(a),s-=a-1}if(i.length>80)i=i.substring(0,79)+"…";if(n>1&&/^ *$/.test(i.substring(0,s))){let a=e.substring(t.lineStarts[n-2],t.lineStarts[n-1]);if(a.length>80)a=a.substring(0,79)+`…
|
|
84
84
|
`;i=a+i}if(/[^ ]/.test(i)){let a=1,c=r.linePos[1];if(c?.line===n&&c.col>o)a=Math.max(1,Math.min(c.col-o,80-s));let u=" ".repeat(s)+"^".repeat(a);r.message+=`:
|
|
85
85
|
|
|
86
86
|
${i}
|
|
87
87
|
${u}
|
|
88
|
-
`}};
|
|
89
|
-
`))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 r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if(
|
|
90
|
-
`+g.comment;else a.comment=g.comment;continue}if(g.newlineAfterProp||
|
|
91
|
-
`+S.comment;else
|
|
92
|
-
`+v.comment;else u.comment=v.comment;d=v.end;continue}if(!i&&r.options.strict&&
|
|
93
|
-
`+
|
|
94
|
-
`+
|
|
95
|
-
`+y.comment;else u.comment=y.comment;u.range=[n.offset,g,y.offset]}else u.range=[n.offset,g,g];return u}
|
|
96
|
-
`.repeat(Math.max(1,i.length-1)):"",y=n+o.length;if(t.source)y+=t.source.length;return{value:g,type:s,comment:o.comment,range:[n,y,y]}}let c=t.indent+o.indent,u=t.offset+o.length,l=0;for(let g=0;g<a;++g){let[y,
|
|
97
|
-
`;for(let g=l;g<a;++g){let[y,
|
|
98
|
-
`;else if(y.length>c||
|
|
88
|
+
`}};TB.YAMLError=Bu;TB.YAMLParseError=wT;TB.YAMLWarning=bT;TB.prettifyError=EB});var Hi=T(function(CB){function AB(e,{flow:t,indicator:r,next:n,offset:o,onError:s,parentIndent:i,startOnNewline:a}){let c=!1,u=a,l=a,d="",f="",m=!1,h=!1,g=null,y=null,b=null,E=null,S=null,I=null,_=null;for(let R of e){if(h){if(R.type!=="space"&&R.type!=="newline"&&R.type!=="comma")s(R.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");h=!1}if(g){if(u&&R.type!=="comment"&&R.type!=="newline")s(g,"TAB_AS_INDENT","Tabs are not allowed as indentation");g=null}switch(R.type){case"space":if(!t&&(r!=="doc-start"||n?.type!=="flow-collection")&&R.source.includes("\t"))g=R;l=!0;break;case"comment":{if(!l)s(R,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let j=R.source.substring(1)||" ";if(!d)d=j;else d+=f+j;f="",u=!1;break}case"newline":if(u){if(d)d+=R.source;else if(!I||r!=="seq-item-ind")c=!0}else f+=R.source;if(u=!0,m=!0,y||b)E=R;l=!0;break;case"anchor":if(y)s(R,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(R.source.endsWith(":"))s(R.offset+R.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);y=R,_??(_=R.offset),u=!1,l=!1,h=!0;break;case"tag":{if(b)s(R,"MULTIPLE_TAGS","A node can have at most one tag");b=R,_??(_=R.offset),u=!1,l=!1,h=!0;break}case r:if(y||b)s(R,"BAD_PROP_ORDER",`Anchors and tags must be after the ${R.source} indicator`);if(I)s(R,"UNEXPECTED_TOKEN",`Unexpected ${R.source} in ${t??"collection"}`);I=R,u=r==="seq-item-ind"||r==="explicit-key-ind",l=!1;break;case"comma":if(t){if(S)s(R,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`);S=R,u=!1,l=!1;break}default:s(R,"UNEXPECTED_TOKEN",`Unexpected ${R.type} token`),u=!1,l=!1}}let v=e[e.length-1],x=v?v.offset+v.source.length:o;if(h&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!==""))s(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(g&&(u&&g.indent<=i||n?.type==="block-map"||n?.type==="block-seq"))s(g,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:S,found:I,spaceBefore:c,comment:d,hasNewline:m,anchor:y,tag:b,newlineAfterProp:E,end:x,start:_??x}}CB.resolveProps=AB});var Ku=T(function(NB){function Ah(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
|
|
89
|
+
`))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 r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if(Ah(t.key)||Ah(t.value))return!0}return!1;default:return!0}}NB.containsNewline=Ah});var Ch=T(function(MB){var jB=Ku();function DB(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];if(n.indent===e&&(n.source==="]"||n.source==="}")&&jB.containsNewline(t))r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}MB.flowIndentCheck=DB});var zh=T(function(UB){var _T=ce();function FB(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let o=typeof n==="function"?n:(s,i)=>s===i||_T.isScalar(s)&&_T.isScalar(i)&&s.value===i.value;return t.some((s)=>o(s.key,r))}UB.mapIncludes=FB});var $T=T(function(HB){var vT=Qr(),VB=tn(),ST=Hi(),ZB=Ku(),kT=Ch(),BB=zh(),xT="All mapping items must start at the same column";function KB({composeNode:e,composeEmptyNode:t},r,n,o,s){let a=new(s?.nodeClass??VB.YAMLMap)(r.schema);if(r.atRoot)r.atRoot=!1;let c=n.offset,u=null;for(let l of n.items){let{start:d,key:f,sep:m,value:h}=l,g=ST.resolveProps(d,{indicator:"explicit-key-ind",next:f??m?.[0],offset:c,onError:o,parentIndent:n.indent,startOnNewline:!0}),y=!g.found;if(y){if(f){if(f.type==="block-seq")o(c,"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)o(c,"BAD_INDENT",xT)}if(!g.anchor&&!g.tag&&!m){if(u=g.end,g.comment)if(a.comment)a.comment+=`
|
|
90
|
+
`+g.comment;else a.comment=g.comment;continue}if(g.newlineAfterProp||ZB.containsNewline(f))o(f??d[d.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(g.found?.indent!==n.indent)o(c,"BAD_INDENT",xT);r.atKey=!0;let b=g.end,E=f?e(r,f,g,o):t(r,b,d,null,g,o);if(r.schema.compat)kT.flowIndentCheck(n.indent,f,o);if(r.atKey=!1,BB.mapIncludes(r,a.items,E))o(b,"DUPLICATE_KEY","Map keys must be unique");let S=ST.resolveProps(m??[],{indicator:"map-value-ind",next:h,offset:E.range[2],onError:o,parentIndent:n.indent,startOnNewline:!f||f.type==="block-scalar"});if(c=S.end,S.found){if(y){if(h?.type==="block-map"&&!S.hasNewline)o(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(r.options.strict&&g.start<S.found.offset-1024)o(E.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let I=h?e(r,h,S,o):t(r,c,m,null,S,o);if(r.schema.compat)kT.flowIndentCheck(n.indent,h,o);c=I.range[2];let _=new vT.Pair(E,I);if(r.options.keepSourceTokens)_.srcToken=l;a.items.push(_)}else{if(y)o(E.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(S.comment)if(E.comment)E.comment+=`
|
|
91
|
+
`+S.comment;else E.comment=S.comment;let I=new vT.Pair(E);if(r.options.keepSourceTokens)I.srcToken=l;a.items.push(I)}}if(u&&u<c)o(u,"IMPOSSIBLE","Map comment with trailing content");return a.range=[n.offset,c,u??c],a}HB.resolveBlockMap=KB});var ET=T(function(eK){var JB=rn(),YB=Hi(),XB=Ch();function QB({composeNode:e,composeEmptyNode:t},r,n,o,s){let a=new(s?.nodeClass??JB.YAMLSeq)(r.schema);if(r.atRoot)r.atRoot=!1;if(r.atKey)r.atKey=!1;let c=n.offset,u=null;for(let{start:l,value:d}of n.items){let f=YB.resolveProps(l,{indicator:"seq-item-ind",next:d,offset:c,onError:o,parentIndent:n.indent,startOnNewline:!0});if(!f.found)if(f.anchor||f.tag||d)if(d?.type==="block-seq")o(f.end,"BAD_INDENT","All sequence items must start at the same column");else o(c,"MISSING_CHAR","Sequence item without - indicator");else{if(u=f.end,f.comment)a.comment=f.comment;continue}let m=d?e(r,d,f,o):t(r,f.end,l,null,f,o);if(r.schema.compat)XB.flowIndentCheck(n.indent,d,o);c=m.range[2],a.items.push(m)}return a.range=[n.offset,c,u??c],a}eK.resolveBlockSeq=QB});var Zo=T(function(nK){function rK(e,t,r,n){let o="";if(e){let s=!1,i="";for(let a of e){let{source:c,type:u}=a;switch(u){case"space":s=!0;break;case"comment":{if(r&&!s)n(a,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let l=c.substring(1)||" ";if(!o)o=l;else o+=i+l;i="";break}case"newline":if(o)i+=c;s=!0;break;default:n(a,"UNEXPECTED_TOKEN",`Unexpected ${u} at node end`)}t+=c.length}}return{comment:o,offset:t}}nK.resolveEnd=rK});var OT=T(function(pK){var sK=ce(),iK=Qr(),TT=tn(),aK=rn(),cK=Zo(),PT=Hi(),uK=Ku(),lK=zh(),Nh="Block collections are not allowed within flow collections",Lh=(e)=>e&&(e.type==="block-map"||e.type==="block-seq");function dK({composeNode:e,composeEmptyNode:t},r,n,o,s){let i=n.start.source==="{",a=i?"flow map":"flow sequence",u=new(s?.nodeClass??(i?TT.YAMLMap:aK.YAMLSeq))(r.schema);u.flow=!0;let l=r.atRoot;if(l)r.atRoot=!1;if(r.atKey)r.atKey=!1;let d=n.offset+n.start.source.length;for(let y=0;y<n.items.length;++y){let b=n.items[y],{start:E,key:S,sep:I,value:_}=b,v=PT.resolveProps(E,{flow:a,indicator:"explicit-key-ind",next:S??I?.[0],offset:d,onError:o,parentIndent:n.indent,startOnNewline:!1});if(!v.found){if(!v.anchor&&!v.tag&&!I&&!_){if(y===0&&v.comma)o(v.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`);else if(y<n.items.length-1)o(v.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${a}`);if(v.comment)if(u.comment)u.comment+=`
|
|
92
|
+
`+v.comment;else u.comment=v.comment;d=v.end;continue}if(!i&&r.options.strict&&uK.containsNewline(S))o(S,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(y===0){if(v.comma)o(v.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${a}`)}else{if(!v.comma)o(v.start,"MISSING_CHAR",`Missing , between ${a} items`);if(v.comment){let x="";e:for(let R of E)switch(R.type){case"comma":case"space":break;case"comment":x=R.source.substring(1);break e;default:break e}if(x){let R=u.items[u.items.length-1];if(sK.isPair(R))R=R.value??R.key;if(R.comment)R.comment+=`
|
|
93
|
+
`+x;else R.comment=x;v.comment=v.comment.substring(x.length+1)}}}if(!i&&!I&&!v.found){let x=_?e(r,_,v,o):t(r,v.end,I,null,v,o);if(u.items.push(x),d=x.range[2],Lh(_))o(x.range,"BLOCK_IN_FLOW",Nh)}else{r.atKey=!0;let x=v.end,R=S?e(r,S,v,o):t(r,x,E,null,v,o);if(Lh(S))o(R.range,"BLOCK_IN_FLOW",Nh);r.atKey=!1;let j=PT.resolveProps(I??[],{flow:a,indicator:"map-value-ind",next:_,offset:R.range[2],onError:o,parentIndent:n.indent,startOnNewline:!1});if(j.found){if(!i&&!v.found&&r.options.strict){if(I)for(let ae of I){if(ae===j.found)break;if(ae.type==="newline"){o(ae,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(v.start<j.found.offset-1024)o(j.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(_)if("source"in _&&_.source?.[0]===":")o(_,"MISSING_CHAR",`Missing space after : in ${a}`);else o(j.start,"MISSING_CHAR",`Missing , or : between ${a} items`);let J=_?e(r,_,j,o):j.found?t(r,j.end,I,null,j,o):null;if(J){if(Lh(_))o(J.range,"BLOCK_IN_FLOW",Nh)}else if(j.comment)if(R.comment)R.comment+=`
|
|
94
|
+
`+j.comment;else R.comment=j.comment;let ie=new iK.Pair(R,J);if(r.options.keepSourceTokens)ie.srcToken=b;if(i){let ae=u;if(lK.mapIncludes(r,ae.items,R))o(x,"DUPLICATE_KEY","Map keys must be unique");ae.items.push(ie)}else{let ae=new TT.YAMLMap(r.schema);ae.flow=!0,ae.items.push(ie);let Me=(J??R).range;ae.range=[R.range[0],Me[1],Me[2]],u.items.push(ae)}d=J?J.range[2]:j.end}}let f=i?"}":"]",[m,...h]=n.end,g=d;if(m?.source===f)g=m.offset+m.source.length;else{let y=a[0].toUpperCase()+a.substring(1),b=l?`${y} must end with a ${f}`:`${y} in block collection must be sufficiently indented and end with a ${f}`;if(o(d,l?"MISSING_CHAR":"BAD_INDENT",b),m&&m.source.length!==1)h.unshift(m)}if(h.length>0){let y=cK.resolveEnd(h,g,r.options.strict,o);if(y.comment)if(u.comment)u.comment+=`
|
|
95
|
+
`+y.comment;else u.comment=y.comment;u.range=[n.offset,g,y.offset]}else u.range=[n.offset,g,g];return u}pK.resolveFlowCollection=dK});var IT=T(function(SK){var mK=ce(),hK=Le(),gK=tn(),yK=rn(),wK=$T(),bK=ET(),_K=OT();function jh(e,t,r,n,o,s){let i=r.type==="block-map"?wK.resolveBlockMap(e,t,r,n,s):r.type==="block-seq"?bK.resolveBlockSeq(e,t,r,n,s):_K.resolveFlowCollection(e,t,r,n,s),a=i.constructor;if(o==="!"||o===a.tagName)return i.tag=a.tagName,i;if(o)i.tag=o;return i}function vK(e,t,r,n,o){let s=n.tag,i=!s?null:t.directives.tagName(s.source,(f)=>o(s,"TAG_RESOLVE_FAILED",f));if(r.type==="block-seq"){let{anchor:f,newlineAfterProp:m}=n,h=f&&s?f.offset>s.offset?f:s:f??s;if(h&&(!m||m.offset<h.offset))o(h,"MISSING_CHAR","Missing newline after block sequence props")}let a=r.type==="block-map"?"map":r.type==="block-seq"?"seq":r.start.source==="{"?"map":"seq";if(!s||!i||i==="!"||i===gK.YAMLMap.tagName&&a==="map"||i===yK.YAMLSeq.tagName&&a==="seq")return jh(e,t,r,o,i);let c=t.schema.tags.find((f)=>f.tag===i&&f.collection===a);if(!c){let f=t.schema.knownTags[i];if(f?.collection===a)t.schema.tags.push(Object.assign({},f,{default:!1})),c=f;else{if(f)o(s,"BAD_COLLECTION_TYPE",`${f.tag} used for ${a} collection, but expects ${f.collection??"scalar"}`,!0);else o(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${i}`,!0);return jh(e,t,r,o,i)}}let u=jh(e,t,r,o,i,c),l=c.resolve?.(u,(f)=>o(s,"TAG_RESOLVE_FAILED",f),t.options)??u,d=mK.isNode(l)?l:new hK.Scalar(l);if(d.range=u.range,d.tag=i,c?.format)d.format=c.format;return d}SK.composeCollection=vK});var Mh=T(function(TK){var Dh=Le();function xK(e,t,r){let n=t.offset,o=$K(t,e.options.strict,r);if(!o)return{value:"",type:null,comment:"",range:[n,n,n]};let s=o.mode===">"?Dh.Scalar.BLOCK_FOLDED:Dh.Scalar.BLOCK_LITERAL,i=t.source?EK(t.source):[],a=i.length;for(let g=i.length-1;g>=0;--g){let y=i[g][1];if(y===""||y==="\r")a=g;else break}if(a===0){let g=o.chomp==="+"&&i.length>0?`
|
|
96
|
+
`.repeat(Math.max(1,i.length-1)):"",y=n+o.length;if(t.source)y+=t.source.length;return{value:g,type:s,comment:o.comment,range:[n,y,y]}}let c=t.indent+o.indent,u=t.offset+o.length,l=0;for(let g=0;g<a;++g){let[y,b]=i[g];if(b===""||b==="\r"){if(o.indent===0&&y.length>c)c=y.length}else{if(y.length<c)r(u+y.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(o.indent===0)c=y.length;if(l=g,c===0&&!e.atRoot)r(u,"BAD_INDENT","Block scalar values in collections must be indented");break}u+=y.length+b.length+1}for(let g=i.length-1;g>=a;--g)if(i[g][0].length>c)a=g+1;let d="",f="",m=!1;for(let g=0;g<l;++g)d+=i[g][0].slice(c)+`
|
|
97
|
+
`;for(let g=l;g<a;++g){let[y,b]=i[g];u+=y.length+b.length+1;let E=b[b.length-1]==="\r";if(E)b=b.slice(0,-1);if(b&&y.length<c){let I=`Block scalar lines must not be less indented than their ${o.indent?"explicit indentation indicator":"first line"}`;r(u-b.length-(E?2:1),"BAD_INDENT",I),y=""}if(s===Dh.Scalar.BLOCK_LITERAL)d+=f+y.slice(c)+b,f=`
|
|
98
|
+
`;else if(y.length>c||b[0]==="\t"){if(f===" ")f=`
|
|
99
99
|
`;else if(!m&&f===`
|
|
100
100
|
`)f=`
|
|
101
101
|
|
|
102
|
-
`;d+=f+y.slice(c)+
|
|
103
|
-
`,m=!0}else if(
|
|
102
|
+
`;d+=f+y.slice(c)+b,f=`
|
|
103
|
+
`,m=!0}else if(b==="")if(f===`
|
|
104
104
|
`)d+=`
|
|
105
105
|
`;else f=`
|
|
106
|
-
`;else d+=f+
|
|
106
|
+
`;else d+=f+b,f=" ",m=!1}switch(o.chomp){case"-":break;case"+":for(let g=a;g<i.length;++g)d+=`
|
|
107
107
|
`+i[g][0].slice(c);if(d[d.length-1]!==`
|
|
108
108
|
`)d+=`
|
|
109
109
|
`;break;default:d+=`
|
|
110
|
-
`}let h=n+o.length+t.source.length;return{value:d,type:s,comment:o.comment,range:[n,h,h]}}function
|
|
110
|
+
`}let h=n+o.length+t.source.length;return{value:d,type:s,comment:o.comment,range:[n,h,h]}}function $K({offset:e,props:t},r,n){if(t[0].type!=="block-scalar-header")return n(t[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:o}=t[0],s=o[0],i=0,a="",c=-1;for(let f=1;f<o.length;++f){let m=o[f];if(!a&&(m==="-"||m==="+"))a=m;else{let h=Number(m);if(!i&&h)i=h;else if(c===-1)c=e+f}}if(c!==-1)n(c,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${o}`);let u=!1,l="",d=o.length;for(let f=1;f<t.length;++f){let m=t[f];switch(m.type){case"space":u=!0;case"newline":d+=m.source.length;break;case"comment":if(r&&!u)n(m,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");d+=m.source.length,l=m.source.substring(1);break;case"error":n(m,"UNEXPECTED_TOKEN",m.message),d+=m.source.length;break;default:{let h=`Unexpected token in block scalar header: ${m.type}`;n(m,"UNEXPECTED_TOKEN",h);let g=m.source;if(g&&typeof g==="string")d+=g.length}}}return{mode:s,indent:i,chomp:a,comment:l,length:d}}function EK(e){let t=e.split(/\n( *)/),r=t[0],n=r.match(/^( *)/),s=[n?.[1]?[n[1],r.slice(n[1].length)]:["",r]];for(let i=1;i<t.length;i+=2)s.push([t[i],t[i+1]]);return s}TK.resolveBlockScalar=xK});var Fh=T(function(jK){var qh=Le(),OK=Zo();function IK(e,t,r){let{offset:n,type:o,source:s,end:i}=e,a,c,u=(f,m,h)=>r(n+f,m,h);switch(o){case"scalar":a=qh.Scalar.PLAIN,c=RK(s,u);break;case"single-quoted-scalar":a=qh.Scalar.QUOTE_SINGLE,c=AK(s,u);break;case"double-quoted-scalar":a=qh.Scalar.QUOTE_DOUBLE,c=CK(s,u);break;default:return r(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${o}`),{value:"",type:null,comment:"",range:[n,n+s.length,n+s.length]}}let l=n+s.length,d=OK.resolveEnd(i,l,t,r);return{value:c,type:a,comment:d.comment,range:[n,l,d.offset]}}function RK(e,t){let r="";switch(e[0]){case"\t":r="a tab character";break;case",":r="flow indicator character ,";break;case"%":r="directive indicator character %";break;case"|":case">":{r=`block scalar indicator ${e[0]}`;break}case"@":case"`":{r=`reserved character ${e[0]}`;break}}if(r)t(0,"BAD_SCALAR_START",`Plain value cannot start with ${r}`);return RT(e)}function AK(e,t){if(e[e.length-1]!=="'"||e.length===1)t(e.length,"MISSING_CHAR","Missing closing 'quote");return RT(e.slice(1,-1)).replace(/''/g,"'")}function RT(e){let t,r;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
111
111
|
`,"sy"),r=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
112
112
|
`,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,r=/[ \t]*(.*?)[ \t]*\r?\n/sy}let n=t.exec(e);if(!n)return e;let o=n[1],s=" ",i=t.lastIndex;r.lastIndex=i;while(n=r.exec(e)){if(n[1]==="")if(s===`
|
|
113
113
|
`)o+=s;else s=`
|
|
114
|
-
`;else o+=s+n[1],s=" ";i=r.lastIndex}let a=/[ \t]*(.*)/sy;return a.lastIndex=i,n=a.exec(e),o+s+(n?.[1]??"")}function
|
|
114
|
+
`;else o+=s+n[1],s=" ";i=r.lastIndex}let a=/[ \t]*(.*)/sy;return a.lastIndex=i,n=a.exec(e),o+s+(n?.[1]??"")}function CK(e,t){let r="";for(let n=1;n<e.length-1;++n){let o=e[n];if(o==="\r"&&e[n+1]===`
|
|
115
115
|
`)continue;if(o===`
|
|
116
|
-
`){let{fold:s,offset:i}=
|
|
116
|
+
`){let{fold:s,offset:i}=zK(e,n);r+=s,n=i}else if(o==="\\"){let s=e[++n],i=NK[s];if(i)r+=i;else if(s===`
|
|
117
117
|
`){s=e[n+1];while(s===" "||s==="\t")s=e[++n+1]}else if(s==="\r"&&e[n+1]===`
|
|
118
|
-
`){s=e[++n+1];while(s===" "||s==="\t")s=e[++n+1]}else if(s==="x"||s==="u"||s==="U"){let a=s==="x"?2:s==="u"?4:8;r+=
|
|
118
|
+
`){s=e[++n+1];while(s===" "||s==="\t")s=e[++n+1]}else if(s==="x"||s==="u"||s==="U"){let a=s==="x"?2:s==="u"?4:8;r+=LK(e,n+1,a,t),n+=a}else{let a=e.substr(n-1,2);t(n-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),r+=a}}else if(o===" "||o==="\t"){let s=n,i=e[n+1];while(i===" "||i==="\t")i=e[++n+1];if(i!==`
|
|
119
119
|
`&&!(i==="\r"&&e[n+2]===`
|
|
120
|
-
`))r+=n>s?e.slice(s,n+1):o}else r+=o}if(e[e.length-1]!=='"'||e.length===1)t(e.length,"MISSING_CHAR",'Missing closing "quote');return r}function
|
|
120
|
+
`))r+=n>s?e.slice(s,n+1):o}else r+=o}if(e[e.length-1]!=='"'||e.length===1)t(e.length,"MISSING_CHAR",'Missing closing "quote');return r}function zK(e,t){let r="",n=e[t+1];while(n===" "||n==="\t"||n===`
|
|
121
121
|
`||n==="\r"){if(n==="\r"&&e[t+2]!==`
|
|
122
122
|
`)break;if(n===`
|
|
123
123
|
`)r+=`
|
|
124
|
-
`;t+=1,n=e[t+1]}if(!r)r=" ";return{fold:r,offset:t}}var
|
|
125
|
-
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function
|
|
124
|
+
`;t+=1,n=e[t+1]}if(!r)r=" ";return{fold:r,offset:t}}var NK={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
125
|
+
`,r:"\r",t:"\t",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function LK(e,t,r,n){let o=e.substr(t,r),i=o.length===r&&/^[0-9a-fA-F]+$/.test(o)?parseInt(o,16):NaN;try{return String.fromCodePoint(i)}catch{let a=e.substr(t-2,r+2);return n(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${a}`),a}}jK.resolveFlowScalar=IK});var CT=T(function(VK){var Bn=ce(),AT=Le(),MK=Mh(),qK=Fh();function FK(e,t,r,n){let{value:o,type:s,comment:i,range:a}=t.type==="block-scalar"?MK.resolveBlockScalar(e,t,n):qK.resolveFlowScalar(t,e.options.strict,n),c=r?e.directives.tagName(r.source,(d)=>n(r,"TAG_RESOLVE_FAILED",d)):null,u;if(e.options.stringKeys&&e.atKey)u=e.schema[Bn.SCALAR];else if(c)u=UK(e.schema,o,c,r,n);else if(t.type==="scalar")u=WK(e,o,t,n);else u=e.schema[Bn.SCALAR];let l;try{let d=u.resolve(o,(f)=>n(r??t,"TAG_RESOLVE_FAILED",f),e.options);l=Bn.isScalar(d)?d:new AT.Scalar(d)}catch(d){let f=d instanceof Error?d.message:String(d);n(r??t,"TAG_RESOLVE_FAILED",f),l=new AT.Scalar(o)}if(l.range=a,l.source=o,s)l.type=s;if(c)l.tag=c;if(u.format)l.format=u.format;if(i)l.comment=i;return l}function UK(e,t,r,n,o){if(r==="!")return e[Bn.SCALAR];let s=[];for(let a of e.tags)if(!a.collection&&a.tag===r)if(a.default&&a.test)s.push(a);else return a;for(let a of s)if(a.test?.test(t))return a;let i=e.knownTags[r];if(i&&!i.collection)return e.tags.push(Object.assign({},i,{default:!1,test:void 0})),i;return o(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${r}`,r!=="tag:yaml.org,2002:str"),e[Bn.SCALAR]}function WK({atKey:e,directives:t,schema:r},n,o,s){let i=r.tags.find((a)=>(a.default===!0||e&&a.default==="key")&&a.test?.test(n))||r[Bn.SCALAR];if(r.compat){let a=r.compat.find((c)=>c.default&&c.test?.test(n))??r[Bn.SCALAR];if(i.tag!==a.tag){let c=t.tagString(i.tag),u=t.tagString(a.tag),l=`Value may be parsed as either ${c} or ${u}`;s(o,"TAG_RESOLVE_FAILED",l,!0)}}return i}VK.composeScalar=FK});var zT=T(function(KK){function BK(e,t,r){if(t){r??(r=t.length);for(let n=r-1;n>=0;--n){let o=t[n];switch(o.type){case"space":case"comment":case"newline":e-=o.source.length;continue}o=t[++n];while(o?.type==="space")e+=o.source.length,o=t[++n];break}}return e}KK.emptyScalarPosition=BK});var jT=T(function(rH){var GK=Ai(),JK=ce(),YK=IT(),NT=CT(),XK=Zo(),QK=zT(),eH={composeNode:LT,composeEmptyNode:Uh};function LT(e,t,r,n){let o=e.atKey,{spaceBefore:s,comment:i,anchor:a,tag:c}=r,u,l=!0;switch(t.type){case"alias":if(u=tH(e,t,n),a||c)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(u=NT.composeScalar(e,t,c,n),a)u.anchor=a.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":try{if(u=YK.composeCollection(eH,e,t,r,n),a)u.anchor=a.source.substring(1)}catch(d){let f=d instanceof Error?d.message:String(d);n(t,"RESOURCE_EXHAUSTION",f)}break;default:{let d=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;n(t,"UNEXPECTED_TOKEN",d),l=!1}}if(u??(u=Uh(e,t.offset,void 0,null,r,n)),a&&u.anchor==="")n(a,"BAD_ALIAS","Anchor cannot be an empty string");if(o&&e.options.stringKeys&&(!JK.isScalar(u)||typeof u.value!=="string"||u.tag&&u.tag!=="tag:yaml.org,2002:str"))n(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(s)u.spaceBefore=!0;if(i)if(t.type==="scalar"&&t.source==="")u.comment=i;else u.commentBefore=i;if(e.options.keepSourceTokens&&l)u.srcToken=t;return u}function Uh(e,t,r,n,{spaceBefore:o,comment:s,anchor:i,tag:a,end:c},u){let l={type:"scalar",offset:QK.emptyScalarPosition(t,r,n),indent:-1,source:""},d=NT.composeScalar(e,l,a,u);if(i){if(d.anchor=i.source.substring(1),d.anchor==="")u(i,"BAD_ALIAS","Anchor cannot be an empty string")}if(o)d.spaceBefore=!0;if(s)d.comment=s,d.range[2]=c;return d}function tH({options:e},{offset:t,source:r,end:n},o){let s=new GK.Alias(r.substring(1));if(s.source==="")o(t,"BAD_ALIAS","Alias cannot be an empty string");if(s.source.endsWith(":"))o(t+r.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let i=t+r.length,a=XK.resolveEnd(n,i,e.strict,o);if(s.range=[t,i,a.offset],a.comment)s.comment=a.comment;return s}rH.composeEmptyNode=Uh;rH.composeNode=LT});var MT=T(function(uH){var sH=Bi(),DT=jT(),iH=Zo(),aH=Hi();function cH(e,t,{offset:r,start:n,value:o,end:s},i){let a=Object.assign({_directives:t},e),c=new sH.Document(void 0,a),u={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},l=aH.resolveProps(n,{indicator:"doc-start",next:o??s?.[0],offset:r,onError:i,parentIndent:0,startOnNewline:!0});if(l.found){if(c.directives.docStart=!0,o&&(o.type==="block-map"||o.type==="block-seq")&&!l.hasNewline)i(l.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}c.contents=o?DT.composeNode(u,o,l,i):DT.composeEmptyNode(u,l.end,n,null,l,i);let d=c.contents.range[2],f=iH.resolveEnd(s,d,!1,i);if(f.comment)c.comment=f.comment;return c.range=[r,d,f.offset],c}uH.composeDoc=cH});var Wh=T(function(gH){var dH=kr("process"),pH=Km(),fH=Bi(),Gi=Ki(),qT=ce(),mH=MT(),hH=Zo();function Ji(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:r}=e;return[t,t+(typeof r==="string"?r.length:1)]}function FT(e){let t="",r=!1,n=!1;for(let o=0;o<e.length;++o){let s=e[o];switch(s[0]){case"#":t+=(t===""?"":n?`
|
|
126
126
|
|
|
127
127
|
`:`
|
|
128
|
-
`)+(s.substring(1)||" "),r=!0,n=!1;break;case"%":if(e[o+1]?.[0]!=="#")o+=1;r=!1;break;default:if(!r)n=!0;r=!1}}return{comment:t,afterEmptyLine:n}}class
|
|
129
|
-
${r}`:r;else if(n||e.directives.docStart||!o)e.commentBefore=r;else if(
|
|
128
|
+
`)+(s.substring(1)||" "),r=!0,n=!1;break;case"%":if(e[o+1]?.[0]!=="#")o+=1;r=!1;break;default:if(!r)n=!0;r=!1}}return{comment:t,afterEmptyLine:n}}class UT{constructor(e={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(t,r,n,o)=>{let s=Ji(t);if(o)this.warnings.push(new Gi.YAMLWarning(s,r,n));else this.errors.push(new Gi.YAMLParseError(s,r,n))},this.directives=new pH.Directives({version:e.version||"1.2"}),this.options=e}decorate(e,t){let{comment:r,afterEmptyLine:n}=FT(this.prelude);if(r){let o=e.contents;if(t)e.comment=e.comment?`${e.comment}
|
|
129
|
+
${r}`:r;else if(n||e.directives.docStart||!o)e.commentBefore=r;else if(qT.isCollection(o)&&!o.flow&&o.items.length>0){let s=o.items[0];if(qT.isPair(s))s=s.key;let i=s.commentBefore;s.commentBefore=i?`${r}
|
|
130
130
|
${i}`:r}else{let s=o.commentBefore;o.commentBefore=s?`${r}
|
|
131
|
-
${s}`:r}}if(t){for(let o=0;o<this.errors.length;++o)e.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)e.warnings.push(this.warnings[o])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:
|
|
132
|
-
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new
|
|
131
|
+
${s}`:r}}if(t){for(let o=0;o<this.errors.length;++o)e.errors.push(this.errors[o]);for(let o=0;o<this.warnings.length;++o)e.warnings.push(this.warnings[o])}else e.errors=this.errors,e.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:FT(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(e,t=!1,r=-1){for(let n of e)yield*this.next(n);yield*this.end(t,r)}*next(e){if(dH.env.LOG_STREAM)console.dir(e,{depth:null});switch(e.type){case"directive":this.directives.add(e.source,(t,r,n)=>{let o=Ji(e);o[0]+=t,this.onError(o,"BAD_DIRECTIVE",r,n)}),this.prelude.push(e.source),this.atDirectives=!0;break;case"document":{let t=mH.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,r=new Gi.YAMLParseError(Ji(e),"UNEXPECTED_TOKEN",t);if(this.atDirectives||!this.doc)this.errors.push(r);else this.doc.errors.push(r);break}case"doc-end":{if(!this.doc){this.errors.push(new Gi.YAMLParseError(Ji(e),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let t=hH.resolveEnd(e.end,e.offset+e.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),t.comment){let r=this.doc.comment;this.doc.comment=r?`${r}
|
|
132
|
+
${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.push(new Gi.YAMLParseError(Ji(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 r=Object.assign({_directives:this.directives},this.options),n=new fH.Document(void 0,r);if(this.atDirectives)this.onError(t,"MISSING_CHAR","Missing directives-end indicator line");n.range=[0,t,t],this.decorate(n,!1),yield n}}}gH.Composer=UT});var ZT=T(function($H){var wH=Mh(),bH=Fh(),_H=Ki(),WT=Li();function vH(e,t=!0,r){if(e){let n=(o,s,i)=>{let a=typeof o==="number"?o:Array.isArray(o)?o[0]:o.offset;if(r)r(a,s,i);else throw new _H.YAMLParseError([a,a+1],s,i)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return bH.resolveFlowScalar(e,t,n);case"block-scalar":return wH.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function SH(e,t){let{implicitKey:r=!1,indent:n,inFlow:o=!1,offset:s=-1,type:i="PLAIN"}=t,a=WT.stringifyString({type:i,value:e},{implicitKey:r,indent:n>0?" ".repeat(n):"",inFlow:o,options:{blockQuote:!0,lineWidth:-1}}),c=t.end??[{type:"newline",offset:-1,indent:n,source:`
|
|
133
133
|
`}];switch(a[0]){case"|":case">":{let u=a.indexOf(`
|
|
134
134
|
`),l=a.substring(0,u),d=a.substring(u+1)+`
|
|
135
|
-
`,f=[{type:"block-scalar-header",offset:s,indent:n,source:l}];if(!
|
|
136
|
-
`});return{type:"block-scalar",offset:s,indent:n,props:f,source:d}}case'"':return{type:"double-quoted-scalar",offset:s,indent:n,source:a,end:c};case"'":return{type:"single-quoted-scalar",offset:s,indent:n,source:a,end:c};default:return{type:"scalar",offset:s,indent:n,source:a,end:c}}}function
|
|
135
|
+
`,f=[{type:"block-scalar-header",offset:s,indent:n,source:l}];if(!VT(f,c))f.push({type:"newline",offset:-1,indent:n,source:`
|
|
136
|
+
`});return{type:"block-scalar",offset:s,indent:n,props:f,source:d}}case'"':return{type:"double-quoted-scalar",offset:s,indent:n,source:a,end:c};case"'":return{type:"single-quoted-scalar",offset:s,indent:n,source:a,end:c};default:return{type:"scalar",offset:s,indent:n,source:a,end:c}}}function kH(e,t,r={}){let{afterKey:n=!1,implicitKey:o=!1,inFlow:s=!1,type:i}=r,a="indent"in e?e.indent:null;if(n&&typeof a==="number")a+=2;if(!i)switch(e.type){case"single-quoted-scalar":i="QUOTE_SINGLE";break;case"double-quoted-scalar":i="QUOTE_DOUBLE";break;case"block-scalar":{let u=e.props[0];if(u.type!=="block-scalar-header")throw Error("Invalid block scalar header");i=u.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:i="PLAIN"}let c=WT.stringifyString({type:i,value:t},{implicitKey:o||a===null,indent:a!==null&&a>0?" ".repeat(a):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}});switch(c[0]){case"|":case">":xH(e,c);break;case'"':Vh(e,c,"double-quoted-scalar");break;case"'":Vh(e,c,"single-quoted-scalar");break;default:Vh(e,c,"scalar")}}function xH(e,t){let r=t.indexOf(`
|
|
137
137
|
`),n=t.substring(0,r),o=t.substring(r+1)+`
|
|
138
|
-
`;if(e.type==="block-scalar"){let s=e.props[0];if(s.type!=="block-scalar-header")throw Error("Invalid block scalar header");s.source=n,e.source=o}else{let{offset:s}=e,i="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:s,indent:i,source:n}];if(!
|
|
139
|
-
`});for(let c of Object.keys(e))if(c!=="type"&&c!=="offset")delete e[c];Object.assign(e,{type:"block-scalar",indent:i,props:a,source:o})}}function
|
|
140
|
-
`};delete e.items,Object.assign(e,{type:r,source:t,end:[o]});break}default:{let n="indent"in e?e.indent:-1,o="end"in e&&Array.isArray(e.end)?e.end.filter((s)=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.keys(e))if(s!=="type"&&s!=="offset")delete e[s];Object.assign(e,{type:r,indent:n,source:t,end:o})}}}
|
|
138
|
+
`;if(e.type==="block-scalar"){let s=e.props[0];if(s.type!=="block-scalar-header")throw Error("Invalid block scalar header");s.source=n,e.source=o}else{let{offset:s}=e,i="indent"in e?e.indent:-1,a=[{type:"block-scalar-header",offset:s,indent:i,source:n}];if(!VT(a,"end"in e?e.end:void 0))a.push({type:"newline",offset:-1,indent:i,source:`
|
|
139
|
+
`});for(let c of Object.keys(e))if(c!=="type"&&c!=="offset")delete e[c];Object.assign(e,{type:"block-scalar",indent:i,props:a,source:o})}}function VT(e,t){if(t)for(let r of t)switch(r.type){case"space":case"comment":e.push(r);break;case"newline":return e.push(r),!0}return!1}function Vh(e,t,r){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=r,e.source=t;break;case"block-scalar":{let n=e.props.slice(1),o=t.length;if(e.props[0].type==="block-scalar-header")o-=e.props[0].source.length;for(let s of n)s.offset+=o;delete e.props,Object.assign(e,{type:r,source:t,end:n});break}case"block-map":case"block-seq":{let o={type:"newline",offset:e.offset+t.length,indent:e.indent,source:`
|
|
140
|
+
`};delete e.items,Object.assign(e,{type:r,source:t,end:[o]});break}default:{let n="indent"in e?e.indent:-1,o="end"in e&&Array.isArray(e.end)?e.end.filter((s)=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.keys(e))if(s!=="type"&&s!=="offset")delete e[s];Object.assign(e,{type:r,indent:n,source:t,end:o})}}}$H.createScalarToken=SH;$H.resolveAsScalar=vH;$H.setScalarValue=kH});var BT=T(function(IH){var OH=(e)=>("type"in e)?Gu(e):Hu(e);function Gu(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=Gu(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=Hu(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=Hu(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=Hu(e);if(e.end)for(let r of e.end)t+=r.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let r of e.end)t+=r.source;return t}}}function Hu({start:e,key:t,sep:r,value:n}){let o="";for(let s of e)o+=s.source;if(t)o+=Gu(t);if(r)for(let s of r)o+=s.source;if(n)o+=Gu(n);return o}IH.stringify=OH});var GT=T(function(CH){var Zh=Symbol("break visit"),AH=Symbol("skip children"),KT=Symbol("remove item");function Kn(e,t){if("type"in e&&e.type==="document")e={start:e.start,value:e.value};HT(Object.freeze([]),e,t)}Kn.BREAK=Zh;Kn.SKIP=AH;Kn.REMOVE=KT;Kn.itemAtPath=(e,t)=>{let r=e;for(let[n,o]of t){let s=r?.[n];if(s&&"items"in s)r=s.items[o];else return}return r};Kn.parentCollection=(e,t)=>{let r=Kn.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],o=r?.[n];if(o&&"items"in o)return o;throw Error("Parent collection not found")};function HT(e,t,r){let n=r(t,e);if(typeof n==="symbol")return n;for(let o of["key","value"]){let s=t[o];if(s&&"items"in s){for(let i=0;i<s.items.length;++i){let a=HT(Object.freeze(e.concat([[o,i]])),s.items[i],r);if(typeof a==="number")i=a-1;else if(a===Zh)return Zh;else if(a===KT)s.items.splice(i,1),i-=1}if(typeof n==="function"&&o==="key")n=n(t,e)}}return typeof n==="function"?n(t,e):n}CH.visit=Kn});var Ju=T(function(FH){var Bh=ZT(),NH=BT(),LH=GT(),Kh="\uFEFF",Hh="\x02",Gh="\x18",Jh="\x1F",jH=(e)=>!!e&&("items"in e),DH=(e)=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function MH(e){switch(e){case Kh:return"<BOM>";case Hh:return"<DOC>";case Gh:return"<FLOW_END>";case Jh:return"<SCALAR>";default:return JSON.stringify(e)}}function qH(e){switch(e){case Kh:return"byte-order-mark";case Hh:return"doc-mode";case Gh:return"flow-error-end";case Jh:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
141
141
|
`:case`\r
|
|
142
|
-
`: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}
|
|
143
|
-
`:case"\r":case"\t":return!0;default:return!1}}var
|
|
144
|
-
\r `),
|
|
142
|
+
`: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}FH.createScalarToken=Bh.createScalarToken;FH.resolveAsScalar=Bh.resolveAsScalar;FH.setScalarValue=Bh.setScalarValue;FH.stringify=NH.stringify;FH.visit=LH.visit;FH.BOM=Kh;FH.DOCUMENT=Hh;FH.FLOW_END=Gh;FH.SCALAR=Jh;FH.isCollection=jH;FH.isScalar=DH;FH.prettyToken=MH;FH.tokenType=qH});var Xh=T(function(nG){var Yi=Ju();function Ht(e){switch(e){case void 0:case" ":case`
|
|
143
|
+
`:case"\r":case"\t":return!0;default:return!1}}var JT=new Set("0123456789ABCDEFabcdef"),tG=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),Yu=new Set(",[]{}"),rG=new Set(` ,[]{}
|
|
144
|
+
\r `),Yh=(e)=>!e||rG.has(e);class YT{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 r=this.next??"stream";while(r&&(t||this.hasChars(1)))r=yield*this.parseNext(r)}atLineEnd(){let e=this.pos,t=this.buffer[e];while(t===" "||t==="\t")t=this.buffer[++e];if(!t||t==="#"||t===`
|
|
145
145
|
`)return!0;if(t==="\r")return this.buffer[e+1]===`
|
|
146
146
|
`;return!1}charAt(e){return this.buffer[this.pos+e]}continueScalar(e){let t=this.buffer[e];if(this.indentNext>0){let r=0;while(t===" ")t=this.buffer[++r+e];if(t==="\r"){let n=this.buffer[r+e+1];if(n===`
|
|
147
147
|
`||!n&&!this.atEnd)return e+r+1}return t===`
|
|
148
|
-
`||r>=this.indentNext||!t&&!this.atEnd?e+r:-1}if(t==="-"||t==="."){let r=this.buffer.substr(e,3);if((r==="---"||r==="...")&&
|
|
149
|
-
`,this.pos),this.lineEndPos=e;if(e===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[e-1]==="\r")e-=1;return this.buffer.substring(this.pos,e)}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===
|
|
148
|
+
`||r>=this.indentNext||!t&&!this.atEnd?e+r:-1}if(t==="-"||t==="."){let r=this.buffer.substr(e,3);if((r==="---"||r==="...")&&Ht(this.buffer[e+3]))return-1}return e}getLine(){let e=this.lineEndPos;if(typeof e!=="number"||e!==-1&&e<this.pos)e=this.buffer.indexOf(`
|
|
149
|
+
`,this.pos),this.lineEndPos=e;if(e===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[e-1]==="\r")e-=1;return this.buffer.substring(this.pos,e)}hasChars(e){return this.pos+e<=this.buffer.length}setNext(e){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=e,null}peek(e){return this.buffer.substr(this.pos,e)}*parseNext(e){switch(e){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let e=this.getLine();if(e===null)return this.setNext("stream");if(e[0]===Yi.BOM)yield*this.pushCount(1),e=e.substring(1);if(e[0]==="%"){let t=e.length,r=e.indexOf("#");while(r!==-1){let o=e[r-1];if(o===" "||o==="\t"){t=r-1;break}else r=e.indexOf("#",r+1)}while(!0){let o=e[t-1];if(o===" "||o==="\t")t-=1;else break}let n=(yield*this.pushCount(t))+(yield*this.pushSpaces(!0));return yield*this.pushCount(e.length-n),this.pushNewline(),"stream"}if(this.atLineEnd()){let t=yield*this.pushSpaces(!0);return yield*this.pushCount(e.length-t),yield*this.pushNewline(),"stream"}return yield Yi.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let e=this.charAt(0);if(!e&&!this.atEnd)return this.setNext("line-start");if(e==="-"||e==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let t=this.peek(3);if((t==="---"||t==="...")&&Ht(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,t==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!Ht(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[e,t]=this.peek(2);if(!t&&!this.atEnd)return this.setNext("block-start");if((e==="-"||e==="?"||e===":")&&Ht(t)){let r=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=r,"block-start"}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let e=this.getLine();if(e===null)return this.setNext("doc");let t=yield*this.pushIndicators();switch(e[t]){case"#":yield*this.pushCount(e.length-t);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Yh),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return t+=yield*this.parseBlockScalarHeader(),t+=yield*this.pushSpaces(!0),yield*this.pushCount(e.length-t),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let e,t,r=-1;do{if(e=yield*this.pushNewline(),e>0)t=yield*this.pushSpaces(!1),this.indentValue=r=t;else t=0;t+=yield*this.pushSpaces(!0)}while(e+t>0);let n=this.getLine();if(n===null)return this.setNext("flow");if(r!==-1&&r<this.indentNext&&n[0]!=="#"||r===0&&(n.startsWith("---")||n.startsWith("..."))&&Ht(n[3])){if(!(r===this.indentNext-1&&this.flowLevel===1&&(n[0]==="]"||n[0]==="}")))return this.flowLevel=0,yield Yi.FLOW_END,yield*this.parseLineStart()}let o=0;while(n[o]===",")o+=yield*this.pushCount(1),o+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(o+=yield*this.pushIndicators(),n[o]){case void 0:return"flow";case"#":return yield*this.pushCount(n.length-o),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(Yh),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let s=this.charAt(1);if(this.flowKey||Ht(s)||s===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let e=this.charAt(0),t=this.buffer.indexOf(e,this.pos+1);if(e==="'")while(t!==-1&&this.buffer[t+1]==="'")t=this.buffer.indexOf("'",t+2);else while(t!==-1){let o=0;while(this.buffer[t-1-o]==="\\")o+=1;if(o%2===0)break;t=this.buffer.indexOf('"',t+1)}let r=this.buffer.substring(0,t),n=r.indexOf(`
|
|
150
150
|
`,this.pos);if(n!==-1){while(n!==-1){let o=this.continueScalar(n+1);if(o===-1)break;n=r.indexOf(`
|
|
151
|
-
`,o)}if(n!==-1)t=n-(r[n-1]==="\r"?2:1)}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;while(!0){let t=this.buffer[++e];if(t==="+")this.blockScalarKeep=!0;else if(t>"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if(t!=="-")break}return yield*this.pushUntil((t)=>
|
|
151
|
+
`,o)}if(n!==-1)t=n-(r[n-1]==="\r"?2:1)}if(t===-1){if(!this.atEnd)return this.setNext("quoted-scalar");t=this.buffer.length}return yield*this.pushToIndex(t+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let e=this.pos;while(!0){let t=this.buffer[++e];if(t==="+")this.blockScalarKeep=!0;else if(t>"0"&&t<="9")this.blockScalarIndent=Number(t)-1;else if(t!=="-")break}return yield*this.pushUntil((t)=>Ht(t)||t==="#")}*parseBlockScalar(){let e=this.pos-1,t=0,r;e:for(let o=this.pos;r=this.buffer[o];++o)switch(r){case" ":t+=1;break;case`
|
|
152
152
|
`:e=o,t=0;break;case"\r":{let s=this.buffer[o+1];if(!s&&!this.atEnd)return this.setNext("block-scalar");if(s===`
|
|
153
153
|
`)break}default:break e}if(!r&&!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 o=this.continueScalar(e+1);if(o===-1)break;e=this.buffer.indexOf(`
|
|
154
154
|
`,o)}while(e!==-1);if(e===-1){if(!this.atEnd)return this.setNext("block-scalar");e=this.buffer.length}}let n=e+1;r=this.buffer[n];while(r===" ")r=this.buffer[++n];if(r==="\t"){while(r==="\t"||r===" "||r==="\r"||r===`
|
|
155
155
|
`)r=this.buffer[++n];e=n-1}else if(!this.blockScalarKeep)do{let o=e-1,s=this.buffer[o];if(s==="\r")s=this.buffer[--o];let i=o;while(s===" ")s=this.buffer[--o];if(s===`
|
|
156
|
-
`&&o>=this.pos&&o+1+t>i)e=o;else break}while(!0);return yield
|
|
156
|
+
`&&o>=this.pos&&o+1+t>i)e=o;else break}while(!0);return yield Yi.SCALAR,yield*this.pushToIndex(e+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let e=this.flowLevel>0,t=this.pos-1,r=this.pos-1,n;while(n=this.buffer[++r])if(n===":"){let o=this.buffer[r+1];if(Ht(o)||e&&Yu.has(o))break;t=r}else if(Ht(n)){let o=this.buffer[r+1];if(n==="\r")if(o===`
|
|
157
157
|
`)r+=1,n=`
|
|
158
|
-
`,o=this.buffer[r+1];else t=r;if(o==="#"||e&&
|
|
159
|
-
`){let s=this.continueScalar(r+1);if(s===-1)break;r=Math.max(r,s-2)}}else{if(e&&
|
|
158
|
+
`,o=this.buffer[r+1];else t=r;if(o==="#"||e&&Yu.has(o))break;if(n===`
|
|
159
|
+
`){let s=this.continueScalar(r+1);if(s===-1)break;r=Math.max(r,s-2)}}else{if(e&&Yu.has(n))break;t=r}if(!n&&!this.atEnd)return this.setNext("plain-scalar");return yield Yi.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 r=this.buffer.slice(this.pos,e);if(r)return yield r,this.pos+=r.length,r.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(Yh),e+=yield*this.pushSpaces(!0);continue e;case"-":case"?":case":":{let t=this.flowLevel>0,r=this.charAt(1);if(Ht(r)||t&&Yu.has(r)){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(!Ht(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(tG.has(t))t=this.buffer[++e];else if(t==="%"&&JT.has(this.buffer[e+1])&&JT.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===`
|
|
160
160
|
`)return yield*this.pushCount(1);else if(e==="\r"&&this.charAt(1)===`
|
|
161
|
-
`)return yield*this.pushCount(2);else return 0}*pushSpaces(e){let t=this.pos-1,r;do r=this.buffer[++t];while(r===" "||e&&r==="\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,r=this.buffer[t];while(!e(r))r=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}
|
|
161
|
+
`)return yield*this.pushCount(2);else return 0}*pushSpaces(e){let t=this.pos-1,r;do r=this.buffer[++t];while(r===" "||e&&r==="\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,r=this.buffer[t];while(!e(r))r=this.buffer[++t];return yield*this.pushToIndex(t,!1)}}nG.Lexer=YT});var Qh=T(function(sG){class XT{constructor(){this.lineStarts=[],this.addNewLine=(e)=>this.lineStarts.push(e),this.linePos=(e)=>{let t=0,r=this.lineStarts.length;while(t<r){let o=t+r>>1;if(this.lineStarts[o]<e)t=o+1;else r=o}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}}}}sG.LineCounter=XT});var eg=T(function(uG){var aG=kr("process"),QT=Ju(),cG=Xh();function nn(e,t){for(let r=0;r<e.length;++r)if(e[r].type===t)return!0;return!1}function eP(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 rP(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 Xu(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 Bo(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 Qu(e,t){if(t.length<1e5)Array.prototype.push.apply(e,t);else for(let r=0;r<t.length;++r)e.push(t[r])}function tP(e){if(e.start.type==="flow-seq-start"){for(let t of e.items)if(t.sep&&!t.value&&!nn(t.start,"explicit-key-ind")&&!nn(t.sep,"map-value-ind")){if(t.key)t.value=t.key;if(delete t.key,rP(t.value))if(t.value.end)Qu(t.value.end,t.sep);else t.value.end=t.sep;else Qu(t.start,t.sep);delete t.sep}}}class nP{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 cG.Lexer,this.onNewLine=e}*parse(e,t=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let r of this.lexer.lex(e,t))yield*this.next(r);if(!t)yield*this.end()}*next(e){if(this.source=e,aG.env.LOG_TOKENS)console.log("|",QT.prettyToken(e));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=e.length;return}let t=QT.tokenType(e);if(!t){let r=`Not a YAML token: ${e}`;yield*this.pop({type:"error",offset:this.offset,message:r,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 r=this.peek(1);if(t.type==="block-scalar")t.indent="indent"in r?r.indent:0;else if(t.type==="flow-collection"&&r.type==="document")t.indent=0;if(t.type==="flow-collection")tP(t);switch(r.type){case"document":r.value=t;break;case"block-scalar":r.props.push(t);break;case"block-map":{let n=r.items[r.items.length-1];if(n.value){r.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=r.items[r.items.length-1];if(n.value)r.items.push({start:[],value:t});else n.value=t;break}case"flow-collection":{let n=r.items[r.items.length-1];if(!n||n.value)r.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((r.type==="document"||r.type==="block-map"||r.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&&eP(n.start)===-1&&(t.indent===0||n.start.every((o)=>o.type!=="comment"||o.indent<t.indent))){if(r.type==="document")r.end=n.start;else r.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(eP(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=Xu(this.peek(2)),r=Bo(t),n;if(e.end)n=e.end,n.push(this.sourceToken),delete e.end;else n=[this.sourceToken];let o={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:r,key:e,sep:n}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=o}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(`
|
|
162
162
|
`)+1;while(t!==0)this.onNewLine(this.offset+t),t=this.source.indexOf(`
|
|
163
|
-
`,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 r="end"in t.value?t.value.end:void 0;if((Array.isArray(r)?r[r.length-1]:void 0)?.type==="comment")r?.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)){
|
|
163
|
+
`,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 r="end"in t.value?t.value.end:void 0;if((Array.isArray(r)?r[r.length-1]:void 0)?.type==="comment")r?.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)){Qu(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let r=!this.onKeyLine&&this.indent===e.indent,n=r&&(t.sep||t.explicitKey)&&this.type!=="seq-item-ind",o=[];if(n&&t.sep&&!t.value){let s=[];for(let i=0;i<t.sep.length;++i){let a=t.sep[i];switch(a.type){case"newline":s.push(i);break;case"space":break;case"comment":if(a.indent>e.indent)s.length=0;break;default:s.length=0}}if(s.length>=2)o=t.sep.splice(s[1])}switch(this.type){case"anchor":case"tag":if(n||t.value)o.push(this.sourceToken),e.items.push({start:o}),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)o.push(this.sourceToken),e.items.push({start:o,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(nn(t.start,"newline"))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let s=Bo(t.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]})}else if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(nn(t.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]});else if(rP(t.key)&&!nn(t.sep,"newline")){let s=Bo(t.start),{key:i,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:s,key:i,sep:a}]})}else if(o.length>0)t.sep=t.sep.concat(o,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:o,key:null,sep:[this.sourceToken]});else if(nn(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 s=this.flowScalar(this.type);if(n||t.value)e.items.push({start:o,key:s,sep:[]}),this.onKeyLine=!0;else if(t.sep)this.stack.push(s);else Object.assign(t,{key:s,sep:[]}),this.onKeyLine=!0;return}default:{let s=this.startBlockValue(e);if(s){if(s.type==="block-seq"){if(!t.explicitKey&&t.sep&&!nn(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(r)e.items.push({start:o});this.stack.push(s);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 r="end"in t.value?t.value.end:void 0;if((Array.isArray(r)?r[r.length-1]:void 0)?.type==="comment")r?.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)){Qu(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||nn(t.start,"seq-item-ind"))e.items.push({start:[this.sourceToken]});else t.start.push(this.sourceToken);return}if(this.indent>e.indent){let r=this.startBlockValue(e);if(r){this.stack.push(r);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type==="flow-error-end"){let r;do yield*this.pop(),r=this.peek(1);while(r?.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 r=this.startBlockValue(e);if(r)this.stack.push(r);else yield*this.pop(),yield*this.step()}else{let r=this.peek(2);if(r.type==="block-map"&&(this.type==="map-value-ind"&&r.indent===e.indent||this.type==="newline"&&!r.items[r.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&r.type!=="flow-collection"){let n=Xu(r),o=Bo(n);tP(e);let s=e.end.splice(1,e.end.length);s.push(this.sourceToken);let i={type:"block-map",offset:e.offset,indent:e.indent,items:[{start:o,key:e,sep:s}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let t=this.source.indexOf(`
|
|
164
164
|
`)+1;while(t!==0)this.onNewLine(this.offset+t),t=this.source.indexOf(`
|
|
165
|
-
`,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=Vu(e),r=Mo(t);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=Vu(e),r=Mo(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,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((r)=>r.type==="newline"||r.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()}}}sH.Parser=ET});var AT=E(function(mH){var TT=Eh(),aH=qi(),Bi=Fi(),cH=Lm(),uH=ce(),lH=Lh(),OT=Dh();function PT(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new lH.LineCounter||null,prettyErrors:t}}function dH(e,t={}){let{lineCounter:r,prettyErrors:n}=PT(t),o=new OT.Parser(r?.addNewLine),s=new TT.Composer(t),i=Array.from(s.compose(o.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Bi.prettifyError(e,r)),a.warnings.forEach(Bi.prettifyError(e,r));if(i.length>0)return i;return Object.assign([],{empty:!0},s.streamInfo())}function IT(e,t={}){let{lineCounter:r,prettyErrors:n}=PT(t),o=new OT.Parser(r?.addNewLine),s=new TT.Composer(t),i=null;for(let a of s.compose(o.parse(e),!0,e.length))if(!i)i=a;else if(i.options.logLevel!=="silent"){i.errors.push(new Bi.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(n&&r)i.errors.forEach(Bi.prettifyError(e,r)),i.warnings.forEach(Bi.prettifyError(e,r));return i}function pH(e,t,r){let n=void 0;if(typeof t==="function")n=t;else if(r===void 0&&t&&typeof t==="object")r=t;let o=IT(e,r);if(!o)return null;if(o.warnings.forEach((s)=>cH.warn(o.options.logLevel,s)),o.errors.length>0)if(o.options.logLevel!=="silent")throw o.errors[0];else o.errors=[];return o.toJS(Object.assign({reviver:n},r))}function fH(e,t,r){let n=null;if(typeof t==="function"||Array.isArray(t))n=t;else if(r===void 0&&t)r=t;if(typeof r==="string")r=r.length;if(typeof r==="number"){let o=Math.round(r);r=o<1?void 0:o>8?{indent:8}:{indent:o}}if(e===void 0){let{keepUndefined:o}=r??t??{};if(!o)return}if(uH.isDocument(e)&&!n)return e.toString(r);return new aH.Document(e,n,r).toString(r)}mH.parse=pH;mH.parseAllDocuments=dH;mH.parseDocument=IT;mH.stringify=fH});var oa=E(function(DO){Object.defineProperty(DO,"__esModule",{value:!0});DO.regexpCode=DO.getEsmExportName=DO.getProperty=DO.safeStringify=DO.stringify=DO.strConcat=DO.addCodeArg=DO.str=DO._=DO.nil=DO._Code=DO.Name=DO.IDENTIFIER=DO._CodeOrName=void 0;class hl{}DO._CodeOrName=hl;DO.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class Vo extends hl{constructor(e){super();if(!DO.IDENTIFIER.test(e))throw Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}DO.Name=Vo;class Kt extends hl{constructor(e){super();this._items=typeof e==="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((t,r)=>`${t}${r}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((t,r)=>{if(r instanceof Vo)t[r.str]=(t[r.str]||0)+1;return t},{})}}DO._Code=Kt;DO.nil=new Kt("");function NO(e,...t){let r=[e[0]],n=0;while(n<t.length)$g(r,t[n]),r.push(e[++n]);return new Kt(r)}DO._=NO;var xg=new Kt("+");function LO(e,...t){let r=[na(e[0])],n=0;while(n<t.length)r.push(xg),$g(r,t[n]),r.push(xg,na(e[++n]));return SJ(r),new Kt(r)}DO.str=LO;function $g(e,t){if(t instanceof Kt)e.push(...t._items);else if(t instanceof Vo)e.push(t);else e.push($J(t))}DO.addCodeArg=$g;function SJ(e){let t=1;while(t<e.length-1){if(e[t]===xg){let r=kJ(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function kJ(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string"){if(t instanceof Vo||e[e.length-1]!=='"')return;if(typeof t!="string")return`${e.slice(0,-1)}${t}"`;if(t[0]==='"')return e.slice(0,-1)+t.slice(1);return}if(typeof t=="string"&&t[0]==='"'&&!(e instanceof Vo))return`"${e}${t.slice(1)}`;return}function xJ(e,t){return t.emptyStr()?e:e.emptyStr()?t:LO`${e}${t}`}DO.strConcat=xJ;function $J(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:na(Array.isArray(e)?e.join(","):e)}function EJ(e){return new Kt(na(e))}DO.stringify=EJ;function na(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}DO.safeStringify=na;function TJ(e){return typeof e=="string"&&DO.IDENTIFIER.test(e)?new Kt(`.${e}`):NO`[${e}]`}DO.getProperty=TJ;function OJ(e){if(typeof e=="string"&&DO.IDENTIFIER.test(e))return new Kt(`${e}`);throw Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}DO.getEsmExportName=OJ;function PJ(e){return new Kt(e.toString())}DO.regexpCode=PJ});var Pg=E(function(FO){Object.defineProperty(FO,"__esModule",{value:!0});FO.ValueScope=FO.ValueScopeName=FO.Scope=FO.varKinds=FO.UsedValueState=void 0;var ye=oa();class MO extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`);this.value=e.value}}var yl;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})(yl||(FO.UsedValueState=yl={}));FO.varKinds={const:new ye.Name("const"),let:new ye.Name("let"),var:new ye.Name("var")};class Tg{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof ye.Name?e:this.name(e)}name(e){return new ye.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){var t,r;if(((r=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||r===void 0?void 0:r.has(e))||this._prefixes&&!this._prefixes.has(e))throw Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}FO.Scope=Tg;class Og extends ye.Name{constructor(e,t){super(t);this.prefix=e}setValue(e,{property:t,itemIndex:r}){this.value=e,this.scopePath=ye._`.${new ye.Name(t)}[${r}]`}}FO.ValueScopeName=Og;var UJ=ye._`\n`;class qO extends Tg{constructor(e){super(e);this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?UJ:ye.nil}}get(){return this._scope}name(e){return new Og(e,this._newName(e))}value(e,t){var r;if(t.ref===void 0)throw Error("CodeGen: ref must be passed in value");let n=this.toName(e),{prefix:o}=n,s=(r=t.key)!==null&&r!==void 0?r:t.ref,i=this._values[o];if(i){let u=i.get(s);if(u)return u}else i=this._values[o]=new Map;i.set(s,n);let a=this._scope[o]||(this._scope[o]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:o,itemIndex:c}),n}getValue(e,t){let r=this._values[e];if(!r)return;return r.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,(r)=>{if(r.scopePath===void 0)throw Error(`CodeGen: name "${r}" has no value`);return ye._`${e}${r.scopePath}`})}scopeCode(e=this._values,t,r){return this._reduceValues(e,(n)=>{if(n.value===void 0)throw Error(`CodeGen: name "${n}" has no value`);return n.value.code},t,r)}_reduceValues(e,t,r={},n){let o=ye.nil;for(let s in e){let i=e[s];if(!i)continue;let a=r[s]=r[s]||new Map;i.forEach((c)=>{if(a.has(c))return;a.set(c,yl.Started);let u=t(c);if(u){let l=this.opts.es5?FO.varKinds.var:FO.varKinds.const;o=ye._`${o}${l} ${c} = ${u};${this.opts._n}`}else if(u=n===null||n===void 0?void 0:n(c))o=ye._`${o}${u}${this.opts._n}`;else throw new MO(c);a.set(c,yl.Completed)})}return o}}FO.ValueScope=qO});var ee=E(function(pt){Object.defineProperty(pt,"__esModule",{value:!0});pt.or=pt.and=pt.not=pt.CodeGen=pt.operators=pt.varKinds=pt.ValueScopeName=pt.ValueScope=pt.Scope=pt.Name=pt.regexpCode=pt.stringify=pt.getProperty=pt.nil=pt.strConcat=pt.str=pt._=void 0;var M=oa(),Oe=Pg(),rn=oa();Object.defineProperty(pt,"_",{enumerable:!0,get:function(){return rn._}});Object.defineProperty(pt,"str",{enumerable:!0,get:function(){return rn.str}});Object.defineProperty(pt,"strConcat",{enumerable:!0,get:function(){return rn.strConcat}});Object.defineProperty(pt,"nil",{enumerable:!0,get:function(){return rn.nil}});Object.defineProperty(pt,"getProperty",{enumerable:!0,get:function(){return rn.getProperty}});Object.defineProperty(pt,"stringify",{enumerable:!0,get:function(){return rn.stringify}});Object.defineProperty(pt,"regexpCode",{enumerable:!0,get:function(){return rn.regexpCode}});Object.defineProperty(pt,"Name",{enumerable:!0,get:function(){return rn.Name}});var kl=Pg();Object.defineProperty(pt,"Scope",{enumerable:!0,get:function(){return kl.Scope}});Object.defineProperty(pt,"ValueScope",{enumerable:!0,get:function(){return kl.ValueScope}});Object.defineProperty(pt,"ValueScopeName",{enumerable:!0,get:function(){return kl.ValueScopeName}});Object.defineProperty(pt,"varKinds",{enumerable:!0,get:function(){return kl.varKinds}});pt.operators={GT:new M._Code(">"),GTE:new M._Code(">="),LT:new M._Code("<"),LTE:new M._Code("<="),EQ:new M._Code("==="),NEQ:new M._Code("!=="),NOT:new M._Code("!"),OR:new M._Code("||"),AND:new M._Code("&&"),ADD:new M._Code("+")};class nn{optimizeNodes(){return this}optimizeNames(e,t){return this}}class WO extends nn{constructor(e,t,r){super();this.varKind=e,this.name=t,this.rhs=r}render({es5:e,_n:t}){let r=e?Oe.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${r} ${this.name}${n};`+t}optimizeNames(e,t){if(!e[this.name.str])return;if(this.rhs)this.rhs=Bo(this.rhs,e,t);return this}get names(){return this.rhs instanceof M._CodeOrName?this.rhs.names:{}}}class Rg extends nn{constructor(e,t,r){super();this.lhs=e,this.rhs=t,this.sideEffects=r}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(this.lhs instanceof M.Name&&!e[this.lhs.str]&&!this.sideEffects)return;return this.rhs=Bo(this.rhs,e,t),this}get names(){let e=this.lhs instanceof M.Name?{}:{...this.lhs.names};return Sl(e,this.rhs)}}class VO extends Rg{constructor(e,t,r,n){super(e,r,n);this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class ZO extends nn{constructor(e){super();this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class BO extends nn{constructor(e){super();this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class KO extends nn{constructor(e){super();this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class HO extends nn{constructor(e){super();this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=Bo(this.code,e,t),this}get names(){return this.code instanceof M._CodeOrName?this.code.names:{}}}class xl extends nn{constructor(e=[]){super();this.nodes=e}render(e){return this.nodes.reduce((t,r)=>t+r.render(e),"")}optimizeNodes(){let{nodes:e}=this,t=e.length;while(t--){let r=e[t].optimizeNodes();if(Array.isArray(r))e.splice(t,1,...r);else if(r)e[t]=r;else e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:r}=this,n=r.length;while(n--){let o=r[n];if(o.optimizeNames(e,t))continue;BJ(e,o.names),r.splice(n,1)}return r.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>Bn(e,t.names),{})}}class on extends xl{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class GO extends xl{}class sa extends on{}sa.kind="else";class Ir extends on{constructor(e,t){super(t);this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);if(this.else)t+="else "+this.else.render(e);return t}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let t=this.else;if(t){let r=t.optimizeNodes();t=this.else=Array.isArray(r)?new sa(r):r}if(t){if(e===!1)return t instanceof Ir?t:t.nodes;if(this.nodes.length)return this;return new Ir(eP(e),t instanceof Ir?[t]:t.nodes)}if(e===!1||!this.nodes.length)return;return this}optimizeNames(e,t){var r;if(this.else=(r=this.else)===null||r===void 0?void 0:r.optimizeNames(e,t),!(super.optimizeNames(e,t)||this.else))return;return this.condition=Bo(this.condition,e,t),this}get names(){let e=super.names;if(Sl(e,this.condition),this.else)Bn(e,this.else.names);return e}}Ir.kind="if";class Zo extends on{}Zo.kind="for";class JO extends Zo{constructor(e){super();this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(!super.optimizeNames(e,t))return;return this.iteration=Bo(this.iteration,e,t),this}get names(){return Bn(super.names,this.iteration.names)}}class YO extends Zo{constructor(e,t,r,n){super();this.varKind=e,this.name=t,this.from=r,this.to=n}render(e){let t=e.es5?Oe.varKinds.var:this.varKind,{name:r,from:n,to:o}=this;return`for(${t} ${r}=${n}; ${r}<${o}; ${r}++)`+super.render(e)}get names(){let e=Sl(super.names,this.from);return Sl(e,this.to)}}class Ig extends Zo{constructor(e,t,r,n){super();this.loop=e,this.varKind=t,this.name=r,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(!super.optimizeNames(e,t))return;return this.iterable=Bo(this.iterable,e,t),this}get names(){return Bn(super.names,this.iterable.names)}}class bl extends on{constructor(e,t,r){super();this.name=e,this.args=t,this.async=r}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}bl.kind="func";class wl extends xl{render(e){return"return "+super.render(e)}}wl.kind="return";class XO extends on{render(e){let t="try"+super.render(e);if(this.catch)t+=this.catch.render(e);if(this.finally)t+=this.finally.render(e);return t}optimizeNodes(){var e,t;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(e,t){var r,n;return super.optimizeNames(e,t),(r=this.catch)===null||r===void 0||r.optimizeNames(e,t),(n=this.finally)===null||n===void 0||n.optimizeNames(e,t),this}get names(){let e=super.names;if(this.catch)Bn(e,this.catch.names);if(this.finally)Bn(e,this.finally.names);return e}}class _l extends on{constructor(e){super();this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}_l.kind="catch";class vl extends on{render(e){return"finally"+super.render(e)}}vl.kind="finally";class QO{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
|
|
166
|
-
`:""},this._extScope=e,this._scope=new Oe.Scope({parent:e}),this._nodes=[new GO]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let r=this._extScope.value(e,t);return(this._values[r.prefix]||(this._values[r.prefix]=new Set)).add(r),r}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,r,n){let o=this._scope.toName(t);if(r!==void 0&&n)this._constants[o.str]=r;return this._leafNode(new WO(e,o,r)),o}const(e,t,r){return this._def(Oe.varKinds.const,e,t,r)}let(e,t,r){return this._def(Oe.varKinds.let,e,t,r)}var(e,t,r){return this._def(Oe.varKinds.var,e,t,r)}assign(e,t,r){return this._leafNode(new Rg(e,t,r))}add(e,t){return this._leafNode(new VO(e,pt.operators.ADD,t))}code(e){if(typeof e=="function")e();else if(e!==M.nil)this._leafNode(new HO(e));return this}object(...e){let t=["{"];for(let[r,n]of e){if(t.length>1)t.push(",");if(t.push(r),r!==n||this.opts.es5)t.push(":"),M.addCodeArg(t,n)}return t.push("}"),new M._Code(t)}if(e,t,r){if(this._blockNode(new Ir(e)),t&&r)this.code(t).else().code(r).endIf();else if(t)this.code(t).endIf();else if(r)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Ir(e))}else(){return this._elseNode(new sa)}endIf(){return this._endBlockNode(Ir,sa)}_for(e,t){if(this._blockNode(e),t)this.code(t).endFor();return this}for(e,t){return this._for(new JO(e),t)}forRange(e,t,r,n,o=this.opts.es5?Oe.varKinds.var:Oe.varKinds.let){let s=this._scope.toName(e);return this._for(new YO(o,s,t,r),()=>n(s))}forOf(e,t,r,n=Oe.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let s=t instanceof M.Name?t:this.var("_arr",t);return this.forRange("_i",0,M._`${s}.length`,(i)=>{this.var(o,M._`${s}[${i}]`),r(o)})}return this._for(new Ig("of",n,o,t),()=>r(o))}forIn(e,t,r,n=this.opts.es5?Oe.varKinds.var:Oe.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,M._`Object.keys(${t})`,r);let o=this._scope.toName(e);return this._for(new Ig("in",n,o,t),()=>r(o))}endFor(){return this._endBlockNode(Zo)}label(e){return this._leafNode(new ZO(e))}break(e){return this._leafNode(new BO(e))}return(e){let t=new wl;if(this._blockNode(t),this.code(e),t.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(wl)}try(e,t,r){if(!t&&!r)throw Error('CodeGen: "try" without "catch" and "finally"');let n=new XO;if(this._blockNode(n),this.code(e),t){let o=this.name("e");this._currNode=n.catch=new _l(o),t(o)}if(r)this._currNode=n.finally=new vl,this.code(r);return this._endBlockNode(_l,vl)}throw(e){return this._leafNode(new KO(e))}block(e,t){if(this._blockStarts.push(this._nodes.length),e)this.code(e).endBlock(t);return this}endBlock(e){let t=this._blockStarts.pop();if(t===void 0)throw Error("CodeGen: not in self-balancing block");let r=this._nodes.length-t;if(r<0||e!==void 0&&r!==e)throw Error(`CodeGen: wrong number of nodes: ${r} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=M.nil,r,n){if(this._blockNode(new bl(e,t,r)),n)this.code(n).endFunc();return this}endFunc(){return this._endBlockNode(bl)}optimize(e=1){while(e-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){let r=this._currNode;if(r instanceof e||t&&r instanceof t)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){let t=this._currNode;if(!(t instanceof Ir))throw Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let t=this._nodes;t[t.length-1]=e}}pt.CodeGen=QO;function Bn(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Sl(e,t){return t instanceof M._CodeOrName?Bn(e,t.names):e}function Bo(e,t,r){if(e instanceof M.Name)return n(e);if(!o(e))return e;return new M._Code(e._items.reduce((s,i)=>{if(i instanceof M.Name)i=n(i);if(i instanceof M._Code)s.push(...i._items);else s.push(i);return s},[]));function n(s){let i=r[s.str];if(i===void 0||t[s.str]!==1)return s;return delete t[s.str],i}function o(s){return s instanceof M._Code&&s._items.some((i)=>i instanceof M.Name&&t[i.str]===1&&r[i.str]!==void 0)}}function BJ(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function eP(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:M._`!${Ag(e)}`}pt.not=eP;var KJ=tP(pt.operators.AND);function HJ(...e){return e.reduce(KJ)}pt.and=HJ;var GJ=tP(pt.operators.OR);function JJ(...e){return e.reduce(GJ)}pt.or=JJ;function tP(e){return(t,r)=>t===M.nil?r:r===M.nil?t:M._`${Ag(t)} ${e} ${Ag(r)}`}function Ag(e){return e instanceof M.Name?e:M._`(${e})`}});var ue=E(function(dP){Object.defineProperty(dP,"__esModule",{value:!0});dP.checkStrictMode=dP.getErrorPath=dP.Type=dP.useFunc=dP.setEvaluated=dP.evaluatedPropsToName=dP.mergeEvaluated=dP.eachItem=dP.unescapeJsonPointer=dP.escapeJsonPointer=dP.escapeFragment=dP.unescapeFragment=dP.schemaRefOrVal=dP.schemaHasRulesButRef=dP.schemaHasRules=dP.checkUnknownRules=dP.alwaysValidSchema=dP.toHash=void 0;var B=ee(),sP=oa();function e6(e){let t={};for(let r of e)t[r]=!0;return t}dP.toHash=e6;function t6(e,t){if(typeof t=="boolean")return t;if(Object.keys(t).length===0)return!0;return iP(e,t),!aP(t,e.self.RULES.all)}dP.alwaysValidSchema=t6;function iP(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema)return;if(typeof t==="boolean")return;let o=n.RULES.keywords;for(let s in t)if(!o[s])lP(e,`unknown keyword: "${s}"`)}dP.checkUnknownRules=iP;function aP(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}dP.schemaHasRules=aP;function r6(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}dP.schemaHasRulesButRef=r6;function n6({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return B._`${r}`}return B._`${e}${t}${B.getProperty(n)}`}dP.schemaRefOrVal=n6;function o6(e){return cP(decodeURIComponent(e))}dP.unescapeFragment=o6;function s6(e){return encodeURIComponent(zg(e))}dP.escapeFragment=s6;function zg(e){if(typeof e=="number")return`${e}`;return e.replace(/~/g,"~0").replace(/\//g,"~1")}dP.escapeJsonPointer=zg;function cP(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}dP.unescapeJsonPointer=cP;function i6(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}dP.eachItem=i6;function nP({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof B.Name?(s instanceof B.Name?e(o,s,i):t(o,s,i),i):s instanceof B.Name?(t(o,i,s),s):r(s,i);return a===B.Name&&!(c instanceof B.Name)?n(o,c):c}}dP.mergeEvaluated={props:nP({mergeNames:(e,t,r)=>e.if(B._`${r} !== true && ${t} !== undefined`,()=>{e.if(B._`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,B._`${r} || {}`).code(B._`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if(B._`${r} !== true`,()=>{if(t===!0)e.assign(r,!0);else e.assign(r,B._`${r} || {}`),Ng(e,r,t)}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:uP}),items:nP({mergeNames:(e,t,r)=>e.if(B._`${r} !== true && ${t} !== undefined`,()=>e.assign(r,B._`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if(B._`${r} !== true`,()=>e.assign(r,t===!0?!0:B._`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function uP(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",B._`{}`);if(t!==void 0)Ng(e,r,t);return r}dP.evaluatedPropsToName=uP;function Ng(e,t,r){Object.keys(r).forEach((n)=>e.assign(B._`${t}${B.getProperty(n)}`,!0))}dP.setEvaluated=Ng;var oP={};function a6(e,t){return e.scopeValue("func",{ref:t,code:oP[t.code]||(oP[t.code]=new sP._Code(t.code))})}dP.useFunc=a6;var Cg;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Cg||(dP.Type=Cg={}));function c6(e,t,r){if(e instanceof B.Name){let n=t===Cg.Num;return r?n?B._`"[" + ${e} + "]"`:B._`"['" + ${e} + "']"`:n?B._`"/" + ${e}`:B._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?B.getProperty(e).toString():"/"+zg(e)}dP.getErrorPath=c6;function lP(e,t,r=e.opts.strictSchema){if(!r)return;if(t=`strict mode: ${t}`,r===!0)throw Error(t);e.self.logger.warn(t)}dP.checkStrictMode=lP});var Ar=E(function(fP){Object.defineProperty(fP,"__esModule",{value:!0});var de=ee(),E6={data:new de.Name("data"),valCxt:new de.Name("valCxt"),instancePath:new de.Name("instancePath"),parentData:new de.Name("parentData"),parentDataProperty:new de.Name("parentDataProperty"),rootData:new de.Name("rootData"),dynamicAnchors:new de.Name("dynamicAnchors"),vErrors:new de.Name("vErrors"),errors:new de.Name("errors"),this:new de.Name("this"),self:new de.Name("self"),scope:new de.Name("scope"),json:new de.Name("json"),jsonPos:new de.Name("jsonPos"),jsonLen:new de.Name("jsonLen"),jsonPart:new de.Name("jsonPart")};fP.default=E6});var ia=E(function(yP){Object.defineProperty(yP,"__esModule",{value:!0});yP.extendErrors=yP.resetErrorsCount=yP.reportExtraError=yP.reportError=yP.keyword$DataError=yP.keywordError=void 0;var F=ee(),sn=ue(),ot=Ar();yP.keywordError={message:({keyword:e})=>F.str`must pass "${e}" keyword validation`};yP.keyword$DataError={message:({keyword:e,schemaType:t})=>t?F.str`"${e}" keyword must be ${t} ($data)`:F.str`"${e}" keyword is invalid ($data)`};function O6(e,t=yP.keywordError,r,n){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=gP(e,t,r);if(n!==null&&n!==void 0?n:i||a)mP(s,c);else hP(o,F._`[${c}]`)}yP.reportError=O6;function P6(e,t=yP.keywordError,r){let{it:n}=e,{gen:o,compositeRule:s,allErrors:i}=n,a=gP(e,t,r);if(mP(o,a),!(s||i))hP(n,ot.default.vErrors)}yP.reportExtraError=P6;function I6(e,t){e.assign(ot.default.errors,t),e.if(F._`${ot.default.vErrors} !== null`,()=>e.if(t,()=>e.assign(F._`${ot.default.vErrors}.length`,t),()=>e.assign(ot.default.vErrors,null)))}yP.resetErrorsCount=I6;function A6({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,ot.default.errors,(a)=>{if(e.const(i,F._`${ot.default.vErrors}[${a}]`),e.if(F._`${i}.instancePath === undefined`,()=>e.assign(F._`${i}.instancePath`,F.strConcat(ot.default.instancePath,s.errorPath))),e.assign(F._`${i}.schemaPath`,F.str`${s.errSchemaPath}/${t}`),s.opts.verbose)e.assign(F._`${i}.schema`,r),e.assign(F._`${i}.data`,n)})}yP.extendErrors=A6;function mP(e,t){let r=e.const("err",t);e.if(F._`${ot.default.vErrors} === null`,()=>e.assign(ot.default.vErrors,F._`[${r}]`),F._`${ot.default.vErrors}.push(${r})`),e.code(F._`${ot.default.errors}++`)}function hP(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;if(o.$async)r.throw(F._`new ${e.ValidationError}(${t})`);else r.assign(F._`${n}.errors`,t),r.return(!1)}var Kn={keyword:new F.Name("keyword"),schemaPath:new F.Name("schemaPath"),params:new F.Name("params"),propertyName:new F.Name("propertyName"),message:new F.Name("message"),schema:new F.Name("schema"),parentSchema:new F.Name("parentSchema")};function gP(e,t,r){let{createErrors:n}=e.it;if(n===!1)return F._`{}`;return R6(e,t,r)}function R6(e,t,r={}){let{gen:n,it:o}=e,s=[C6(o,r),z6(e,r)];return N6(e,t,s),n.object(...s)}function C6({errorPath:e},{instancePath:t}){let r=t?F.str`${e}${sn.getErrorPath(t,sn.Type.Str)}`:e;return[ot.default.instancePath,F.strConcat(ot.default.instancePath,r)]}function z6({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:F.str`${t}/${e}`;if(r)o=F.str`${o}${sn.getErrorPath(r,sn.Type.Str)}`;return[Kn.schemaPath,o]}function N6(e,{params:t,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;if(n.push([Kn.keyword,o],[Kn.params,typeof t=="function"?t(e):t||F._`{}`]),c.messages)n.push([Kn.message,typeof r=="function"?r(e):r]);if(c.verbose)n.push([Kn.schema,i],[Kn.parentSchema,F._`${l}${d}`],[ot.default.data,s]);if(u)n.push([Kn.propertyName,u])}});var xP=E(function(SP){Object.defineProperty(SP,"__esModule",{value:!0});SP.boolOrEmptySchema=SP.topBoolOrEmptySchema=void 0;var wP=ia(),_P=ee(),q6=Ar(),F6={message:"boolean schema is false"};function U6(e){let{gen:t,schema:r,validateName:n}=e;if(r===!1)vP(e,!1);else if(typeof r=="object"&&r.$async===!0)t.return(q6.default.data);else t.assign(_P._`${n}.errors`,null),t.return(!0)}SP.topBoolOrEmptySchema=U6;function W6(e,t){let{gen:r,schema:n}=e;if(n===!1)r.var(t,!1),vP(e);else r.var(t,!0)}SP.boolOrEmptySchema=W6;function vP(e,t){let{gen:r,data:n}=e;wP.reportError({gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e},F6,void 0,t)}});var Dg=E(function($P){Object.defineProperty($P,"__esModule",{value:!0});$P.getRules=$P.isJSONType=void 0;var Z6=["string","number","integer","boolean","null","object","array"],B6=new Set(Z6);function K6(e){return typeof e=="string"&&B6.has(e)}$P.isJSONType=K6;function H6(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}$P.getRules=H6});var jg=E(function(PP){Object.defineProperty(PP,"__esModule",{value:!0});PP.shouldUseRule=PP.shouldUseGroup=PP.schemaHasRulesForType=void 0;function J6({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&TP(e,n)}PP.schemaHasRulesForType=J6;function TP(e,t){return t.rules.some((r)=>OP(e,r))}PP.shouldUseGroup=TP;function OP(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some((n)=>e[n]!==void 0))}PP.shouldUseRule=OP});var aa=E(function(LP){Object.defineProperty(LP,"__esModule",{value:!0});LP.reportTypeError=LP.checkDataTypes=LP.checkDataType=LP.coerceAndCheckDataType=LP.getJSONTypes=LP.getSchemaTypes=LP.DataType=void 0;var AP=Dg(),RP=jg(),CP=ia(),L=ee(),El=ue(),Ko;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(Ko||(LP.DataType=Ko={}));function Q6(e){let t=zP(e.type);if(t.includes("null")){if(e.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(e.nullable===!0)t.push("null")}return t}LP.getSchemaTypes=Q6;function zP(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(AP.isJSONType))return t;throw Error("type must be JSONType or JSONType[]: "+t.join(","))}LP.getJSONTypes=zP;function e5(e,t){let{gen:r,data:n,opts:o}=e,s=t5(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&RP.schemaHasRulesForType(e,t[0]));if(i){let a=qg(t,n,o.strictNumbers,Ko.Wrong);r.if(a,()=>{if(s.length)r5(e,t,s);else Fg(e)})}return i}LP.coerceAndCheckDataType=e5;var NP=new Set(["string","number","integer","boolean","null"]);function t5(e,t){return t?e.filter((r)=>NP.has(r)||t==="array"&&r==="array"):[]}function r5(e,t,r){let{gen:n,data:o,opts:s}=e,i=n.let("dataType",L._`typeof ${o}`),a=n.let("coerced",L._`undefined`);if(s.coerceTypes==="array")n.if(L._`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,L._`${o}[0]`).assign(i,L._`typeof ${o}`).if(qg(t,o,s.strictNumbers),()=>n.assign(a,o)));n.if(L._`${a} !== undefined`);for(let u of r)if(NP.has(u)||u==="array"&&s.coerceTypes==="array")c(u);n.else(),Fg(e),n.endIf(),n.if(L._`${a} !== undefined`,()=>{n.assign(o,a),n5(e,a)});function c(u){switch(u){case"string":n.elseIf(L._`${i} == "number" || ${i} == "boolean"`).assign(a,L._`"" + ${o}`).elseIf(L._`${o} === null`).assign(a,L._`""`);return;case"number":n.elseIf(L._`${i} == "boolean" || ${o} === null
|
|
165
|
+
`,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=Xu(e),r=Bo(t);return r.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let t=Xu(e),r=Bo(t);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:r,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((r)=>r.type==="newline"||r.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()}}}uG.Parser=nP});var cP=T(function(wG){var oP=Wh(),dG=Bi(),Xi=Ki(),pG=Qm(),fG=ce(),mG=Qh(),sP=eg();function iP(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new mG.LineCounter||null,prettyErrors:t}}function hG(e,t={}){let{lineCounter:r,prettyErrors:n}=iP(t),o=new sP.Parser(r?.addNewLine),s=new oP.Composer(t),i=Array.from(s.compose(o.parse(e)));if(n&&r)for(let a of i)a.errors.forEach(Xi.prettifyError(e,r)),a.warnings.forEach(Xi.prettifyError(e,r));if(i.length>0)return i;return Object.assign([],{empty:!0},s.streamInfo())}function aP(e,t={}){let{lineCounter:r,prettyErrors:n}=iP(t),o=new sP.Parser(r?.addNewLine),s=new oP.Composer(t),i=null;for(let a of s.compose(o.parse(e),!0,e.length))if(!i)i=a;else if(i.options.logLevel!=="silent"){i.errors.push(new Xi.YAMLParseError(a.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(n&&r)i.errors.forEach(Xi.prettifyError(e,r)),i.warnings.forEach(Xi.prettifyError(e,r));return i}function gG(e,t,r){let n=void 0;if(typeof t==="function")n=t;else if(r===void 0&&t&&typeof t==="object")r=t;let o=aP(e,r);if(!o)return null;if(o.warnings.forEach((s)=>pG.warn(o.options.logLevel,s)),o.errors.length>0)if(o.options.logLevel!=="silent")throw o.errors[0];else o.errors=[];return o.toJS(Object.assign({reviver:n},r))}function yG(e,t,r){let n=null;if(typeof t==="function"||Array.isArray(t))n=t;else if(r===void 0&&t)r=t;if(typeof r==="string")r=r.length;if(typeof r==="number"){let o=Math.round(r);r=o<1?void 0:o>8?{indent:8}:{indent:o}}if(e===void 0){let{keepUndefined:o}=r??t??{};if(!o)return}if(fG.isDocument(e)&&!n)return e.toString(r);return new dG.Document(e,n,r).toString(r)}wG.parse=gG;wG.parseAllDocuments=hG;wG.parseDocument=aP;wG.stringify=yG});var la=T(function(mO){Object.defineProperty(mO,"__esModule",{value:!0});mO.regexpCode=mO.getEsmExportName=mO.getProperty=mO.safeStringify=mO.stringify=mO.strConcat=mO.addCodeArg=mO.str=mO._=mO.nil=mO._Code=mO.Name=mO.IDENTIFIER=mO._CodeOrName=void 0;class kl{}mO._CodeOrName=kl;mO.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class Yo extends kl{constructor(e){super();if(!mO.IDENTIFIER.test(e))throw Error("CodeGen: name must be a valid identifier");this.str=e}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}mO.Name=Yo;class Jt extends kl{constructor(e){super();this._items=typeof e==="string"?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===""||e==='""'}get str(){var e;return(e=this._str)!==null&&e!==void 0?e:this._str=this._items.reduce((t,r)=>`${t}${r}`,"")}get names(){var e;return(e=this._names)!==null&&e!==void 0?e:this._names=this._items.reduce((t,r)=>{if(r instanceof Yo)t[r.str]=(t[r.str]||0)+1;return t},{})}}mO._Code=Jt;mO.nil=new Jt("");function pO(e,...t){let r=[e[0]],n=0;while(n<t.length)Ug(r,t[n]),r.push(e[++n]);return new Jt(r)}mO._=pO;var Fg=new Jt("+");function fO(e,...t){let r=[ua(e[0])],n=0;while(n<t.length)r.push(Fg),Ug(r,t[n]),r.push(Fg,ua(e[++n]));return E6(r),new Jt(r)}mO.str=fO;function Ug(e,t){if(t instanceof Jt)e.push(...t._items);else if(t instanceof Yo)e.push(t);else e.push(O6(t))}mO.addCodeArg=Ug;function E6(e){let t=1;while(t<e.length-1){if(e[t]===Fg){let r=T6(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function T6(e,t){if(t==='""')return e;if(e==='""')return t;if(typeof e=="string"){if(t instanceof Yo||e[e.length-1]!=='"')return;if(typeof t!="string")return`${e.slice(0,-1)}${t}"`;if(t[0]==='"')return e.slice(0,-1)+t.slice(1);return}if(typeof t=="string"&&t[0]==='"'&&!(e instanceof Yo))return`"${e}${t.slice(1)}`;return}function P6(e,t){return t.emptyStr()?e:e.emptyStr()?t:fO`${e}${t}`}mO.strConcat=P6;function O6(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:ua(Array.isArray(e)?e.join(","):e)}function I6(e){return new Jt(ua(e))}mO.stringify=I6;function ua(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}mO.safeStringify=ua;function R6(e){return typeof e=="string"&&mO.IDENTIFIER.test(e)?new Jt(`.${e}`):pO`[${e}]`}mO.getProperty=R6;function A6(e){if(typeof e=="string"&&mO.IDENTIFIER.test(e))return new Jt(`${e}`);throw Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}mO.getEsmExportName=A6;function C6(e){return new Jt(e.toString())}mO.regexpCode=C6});var Bg=T(function(wO){Object.defineProperty(wO,"__esModule",{value:!0});wO.ValueScope=wO.ValueScopeName=wO.Scope=wO.varKinds=wO.UsedValueState=void 0;var ye=la();class gO extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`);this.value=e.value}}var $l;(function(e){e[e.Started=0]="Started",e[e.Completed=1]="Completed"})($l||(wO.UsedValueState=$l={}));wO.varKinds={const:new ye.Name("const"),let:new ye.Name("let"),var:new ye.Name("var")};class Vg{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof ye.Name?e:this.name(e)}name(e){return new ye.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){var t,r;if(((r=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||r===void 0?void 0:r.has(e))||this._prefixes&&!this._prefixes.has(e))throw Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}}wO.Scope=Vg;class Zg extends ye.Name{constructor(e,t){super(t);this.prefix=e}setValue(e,{property:t,itemIndex:r}){this.value=e,this.scopePath=ye._`.${new ye.Name(t)}[${r}]`}}wO.ValueScopeName=Zg;var B6=ye._`\n`;class yO extends Vg{constructor(e){super(e);this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?B6:ye.nil}}get(){return this._scope}name(e){return new Zg(e,this._newName(e))}value(e,t){var r;if(t.ref===void 0)throw Error("CodeGen: ref must be passed in value");let n=this.toName(e),{prefix:o}=n,s=(r=t.key)!==null&&r!==void 0?r:t.ref,i=this._values[o];if(i){let u=i.get(s);if(u)return u}else i=this._values[o]=new Map;i.set(s,n);let a=this._scope[o]||(this._scope[o]=[]),c=a.length;return a[c]=t.ref,n.setValue(t,{property:o,itemIndex:c}),n}getValue(e,t){let r=this._values[e];if(!r)return;return r.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,(r)=>{if(r.scopePath===void 0)throw Error(`CodeGen: name "${r}" has no value`);return ye._`${e}${r.scopePath}`})}scopeCode(e=this._values,t,r){return this._reduceValues(e,(n)=>{if(n.value===void 0)throw Error(`CodeGen: name "${n}" has no value`);return n.value.code},t,r)}_reduceValues(e,t,r={},n){let o=ye.nil;for(let s in e){let i=e[s];if(!i)continue;let a=r[s]=r[s]||new Map;i.forEach((c)=>{if(a.has(c))return;a.set(c,$l.Started);let u=t(c);if(u){let l=this.opts.es5?wO.varKinds.var:wO.varKinds.const;o=ye._`${o}${l} ${c} = ${u};${this.opts._n}`}else if(u=n===null||n===void 0?void 0:n(c))o=ye._`${o}${u}${this.opts._n}`;else throw new gO(c);a.set(c,$l.Completed)})}return o}}wO.ValueScope=yO});var ee=T(function(pt){Object.defineProperty(pt,"__esModule",{value:!0});pt.or=pt.and=pt.not=pt.CodeGen=pt.operators=pt.varKinds=pt.ValueScopeName=pt.ValueScope=pt.Scope=pt.Name=pt.regexpCode=pt.stringify=pt.getProperty=pt.nil=pt.strConcat=pt.str=pt._=void 0;var M=la(),Ie=Bg(),cn=la();Object.defineProperty(pt,"_",{enumerable:!0,get:function(){return cn._}});Object.defineProperty(pt,"str",{enumerable:!0,get:function(){return cn.str}});Object.defineProperty(pt,"strConcat",{enumerable:!0,get:function(){return cn.strConcat}});Object.defineProperty(pt,"nil",{enumerable:!0,get:function(){return cn.nil}});Object.defineProperty(pt,"getProperty",{enumerable:!0,get:function(){return cn.getProperty}});Object.defineProperty(pt,"stringify",{enumerable:!0,get:function(){return cn.stringify}});Object.defineProperty(pt,"regexpCode",{enumerable:!0,get:function(){return cn.regexpCode}});Object.defineProperty(pt,"Name",{enumerable:!0,get:function(){return cn.Name}});var Rl=Bg();Object.defineProperty(pt,"Scope",{enumerable:!0,get:function(){return Rl.Scope}});Object.defineProperty(pt,"ValueScope",{enumerable:!0,get:function(){return Rl.ValueScope}});Object.defineProperty(pt,"ValueScopeName",{enumerable:!0,get:function(){return Rl.ValueScopeName}});Object.defineProperty(pt,"varKinds",{enumerable:!0,get:function(){return Rl.varKinds}});pt.operators={GT:new M._Code(">"),GTE:new M._Code(">="),LT:new M._Code("<"),LTE:new M._Code("<="),EQ:new M._Code("==="),NEQ:new M._Code("!=="),NOT:new M._Code("!"),OR:new M._Code("||"),AND:new M._Code("&&"),ADD:new M._Code("+")};class un{optimizeNodes(){return this}optimizeNames(e,t){return this}}class _O extends un{constructor(e,t,r){super();this.varKind=e,this.name=t,this.rhs=r}render({es5:e,_n:t}){let r=e?Ie.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${r} ${this.name}${n};`+t}optimizeNames(e,t){if(!e[this.name.str])return;if(this.rhs)this.rhs=Qo(this.rhs,e,t);return this}get names(){return this.rhs instanceof M._CodeOrName?this.rhs.names:{}}}class Gg extends un{constructor(e,t,r){super();this.lhs=e,this.rhs=t,this.sideEffects=r}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(this.lhs instanceof M.Name&&!e[this.lhs.str]&&!this.sideEffects)return;return this.rhs=Qo(this.rhs,e,t),this}get names(){let e=this.lhs instanceof M.Name?{}:{...this.lhs.names};return Il(e,this.rhs)}}class vO extends Gg{constructor(e,t,r,n){super(e,r,n);this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class SO extends un{constructor(e){super();this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class kO extends un{constructor(e){super();this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class xO extends un{constructor(e){super();this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class $O extends un{constructor(e){super();this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=Qo(this.code,e,t),this}get names(){return this.code instanceof M._CodeOrName?this.code.names:{}}}class Al extends un{constructor(e=[]){super();this.nodes=e}render(e){return this.nodes.reduce((t,r)=>t+r.render(e),"")}optimizeNodes(){let{nodes:e}=this,t=e.length;while(t--){let r=e[t].optimizeNodes();if(Array.isArray(r))e.splice(t,1,...r);else if(r)e[t]=r;else e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:r}=this,n=r.length;while(n--){let o=r[n];if(o.optimizeNames(e,t))continue;J6(e,o.names),r.splice(n,1)}return r.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>Yn(e,t.names),{})}}class ln extends Al{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class EO extends Al{}class da extends ln{}da.kind="else";class Cr extends ln{constructor(e,t){super(t);this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);if(this.else)t+="else "+this.else.render(e);return t}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let t=this.else;if(t){let r=t.optimizeNodes();t=this.else=Array.isArray(r)?new da(r):r}if(t){if(e===!1)return t instanceof Cr?t:t.nodes;if(this.nodes.length)return this;return new Cr(RO(e),t instanceof Cr?[t]:t.nodes)}if(e===!1||!this.nodes.length)return;return this}optimizeNames(e,t){var r;if(this.else=(r=this.else)===null||r===void 0?void 0:r.optimizeNames(e,t),!(super.optimizeNames(e,t)||this.else))return;return this.condition=Qo(this.condition,e,t),this}get names(){let e=super.names;if(Il(e,this.condition),this.else)Yn(e,this.else.names);return e}}Cr.kind="if";class Xo extends ln{}Xo.kind="for";class TO extends Xo{constructor(e){super();this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(!super.optimizeNames(e,t))return;return this.iteration=Qo(this.iteration,e,t),this}get names(){return Yn(super.names,this.iteration.names)}}class PO extends Xo{constructor(e,t,r,n){super();this.varKind=e,this.name=t,this.from=r,this.to=n}render(e){let t=e.es5?Ie.varKinds.var:this.varKind,{name:r,from:n,to:o}=this;return`for(${t} ${r}=${n}; ${r}<${o}; ${r}++)`+super.render(e)}get names(){let e=Il(super.names,this.from);return Il(e,this.to)}}class Kg extends Xo{constructor(e,t,r,n){super();this.loop=e,this.varKind=t,this.name=r,this.iterable=n}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(!super.optimizeNames(e,t))return;return this.iterable=Qo(this.iterable,e,t),this}get names(){return Yn(super.names,this.iterable.names)}}class El extends ln{constructor(e,t,r){super();this.name=e,this.args=t,this.async=r}render(e){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(e)}}El.kind="func";class Tl extends Al{render(e){return"return "+super.render(e)}}Tl.kind="return";class OO extends ln{render(e){let t="try"+super.render(e);if(this.catch)t+=this.catch.render(e);if(this.finally)t+=this.finally.render(e);return t}optimizeNodes(){var e,t;return super.optimizeNodes(),(e=this.catch)===null||e===void 0||e.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(e,t){var r,n;return super.optimizeNames(e,t),(r=this.catch)===null||r===void 0||r.optimizeNames(e,t),(n=this.finally)===null||n===void 0||n.optimizeNames(e,t),this}get names(){let e=super.names;if(this.catch)Yn(e,this.catch.names);if(this.finally)Yn(e,this.finally.names);return e}}class Pl extends ln{constructor(e){super();this.error=e}render(e){return`catch(${this.error})`+super.render(e)}}Pl.kind="catch";class Ol extends ln{render(e){return"finally"+super.render(e)}}Ol.kind="finally";class IO{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
|
|
166
|
+
`:""},this._extScope=e,this._scope=new Ie.Scope({parent:e}),this._nodes=[new EO]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let r=this._extScope.value(e,t);return(this._values[r.prefix]||(this._values[r.prefix]=new Set)).add(r),r}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,r,n){let o=this._scope.toName(t);if(r!==void 0&&n)this._constants[o.str]=r;return this._leafNode(new _O(e,o,r)),o}const(e,t,r){return this._def(Ie.varKinds.const,e,t,r)}let(e,t,r){return this._def(Ie.varKinds.let,e,t,r)}var(e,t,r){return this._def(Ie.varKinds.var,e,t,r)}assign(e,t,r){return this._leafNode(new Gg(e,t,r))}add(e,t){return this._leafNode(new vO(e,pt.operators.ADD,t))}code(e){if(typeof e=="function")e();else if(e!==M.nil)this._leafNode(new $O(e));return this}object(...e){let t=["{"];for(let[r,n]of e){if(t.length>1)t.push(",");if(t.push(r),r!==n||this.opts.es5)t.push(":"),M.addCodeArg(t,n)}return t.push("}"),new M._Code(t)}if(e,t,r){if(this._blockNode(new Cr(e)),t&&r)this.code(t).else().code(r).endIf();else if(t)this.code(t).endIf();else if(r)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(e){return this._elseNode(new Cr(e))}else(){return this._elseNode(new da)}endIf(){return this._endBlockNode(Cr,da)}_for(e,t){if(this._blockNode(e),t)this.code(t).endFor();return this}for(e,t){return this._for(new TO(e),t)}forRange(e,t,r,n,o=this.opts.es5?Ie.varKinds.var:Ie.varKinds.let){let s=this._scope.toName(e);return this._for(new PO(o,s,t,r),()=>n(s))}forOf(e,t,r,n=Ie.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let s=t instanceof M.Name?t:this.var("_arr",t);return this.forRange("_i",0,M._`${s}.length`,(i)=>{this.var(o,M._`${s}[${i}]`),r(o)})}return this._for(new Kg("of",n,o,t),()=>r(o))}forIn(e,t,r,n=this.opts.es5?Ie.varKinds.var:Ie.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,M._`Object.keys(${t})`,r);let o=this._scope.toName(e);return this._for(new Kg("in",n,o,t),()=>r(o))}endFor(){return this._endBlockNode(Xo)}label(e){return this._leafNode(new SO(e))}break(e){return this._leafNode(new kO(e))}return(e){let t=new Tl;if(this._blockNode(t),this.code(e),t.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(Tl)}try(e,t,r){if(!t&&!r)throw Error('CodeGen: "try" without "catch" and "finally"');let n=new OO;if(this._blockNode(n),this.code(e),t){let o=this.name("e");this._currNode=n.catch=new Pl(o),t(o)}if(r)this._currNode=n.finally=new Ol,this.code(r);return this._endBlockNode(Pl,Ol)}throw(e){return this._leafNode(new xO(e))}block(e,t){if(this._blockStarts.push(this._nodes.length),e)this.code(e).endBlock(t);return this}endBlock(e){let t=this._blockStarts.pop();if(t===void 0)throw Error("CodeGen: not in self-balancing block");let r=this._nodes.length-t;if(r<0||e!==void 0&&r!==e)throw Error(`CodeGen: wrong number of nodes: ${r} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=M.nil,r,n){if(this._blockNode(new El(e,t,r)),n)this.code(n).endFunc();return this}endFunc(){return this._endBlockNode(El)}optimize(e=1){while(e-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){let r=this._currNode;if(r instanceof e||t&&r instanceof t)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){let t=this._currNode;if(!(t instanceof Cr))throw Error('CodeGen: "else" without "if"');return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let t=this._nodes;t[t.length-1]=e}}pt.CodeGen=IO;function Yn(e,t){for(let r in t)e[r]=(e[r]||0)+(t[r]||0);return e}function Il(e,t){return t instanceof M._CodeOrName?Yn(e,t.names):e}function Qo(e,t,r){if(e instanceof M.Name)return n(e);if(!o(e))return e;return new M._Code(e._items.reduce((s,i)=>{if(i instanceof M.Name)i=n(i);if(i instanceof M._Code)s.push(...i._items);else s.push(i);return s},[]));function n(s){let i=r[s.str];if(i===void 0||t[s.str]!==1)return s;return delete t[s.str],i}function o(s){return s instanceof M._Code&&s._items.some((i)=>i instanceof M.Name&&t[i.str]===1&&r[i.str]!==void 0)}}function J6(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function RO(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:M._`!${Hg(e)}`}pt.not=RO;var Y6=AO(pt.operators.AND);function X6(...e){return e.reduce(Y6)}pt.and=X6;var Q6=AO(pt.operators.OR);function e5(...e){return e.reduce(Q6)}pt.or=e5;function AO(e){return(t,r)=>t===M.nil?r:r===M.nil?t:M._`${Hg(t)} ${e} ${Hg(r)}`}function Hg(e){return e instanceof M.Name?e:M._`(${e})`}});var ue=T(function(UO){Object.defineProperty(UO,"__esModule",{value:!0});UO.checkStrictMode=UO.getErrorPath=UO.Type=UO.useFunc=UO.setEvaluated=UO.evaluatedPropsToName=UO.mergeEvaluated=UO.eachItem=UO.unescapeJsonPointer=UO.escapeJsonPointer=UO.escapeFragment=UO.unescapeFragment=UO.schemaRefOrVal=UO.schemaHasRulesButRef=UO.schemaHasRules=UO.checkUnknownRules=UO.alwaysValidSchema=UO.toHash=void 0;var B=ee(),LO=la();function o5(e){let t={};for(let r of e)t[r]=!0;return t}UO.toHash=o5;function s5(e,t){if(typeof t=="boolean")return t;if(Object.keys(t).length===0)return!0;return jO(e,t),!DO(t,e.self.RULES.all)}UO.alwaysValidSchema=s5;function jO(e,t=e.schema){let{opts:r,self:n}=e;if(!r.strictSchema)return;if(typeof t==="boolean")return;let o=n.RULES.keywords;for(let s in t)if(!o[s])FO(e,`unknown keyword: "${s}"`)}UO.checkUnknownRules=jO;function DO(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}UO.schemaHasRules=DO;function i5(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}UO.schemaHasRulesButRef=i5;function a5({topSchemaRef:e,schemaPath:t},r,n,o){if(!o){if(typeof r=="number"||typeof r=="boolean")return r;if(typeof r=="string")return B._`${r}`}return B._`${e}${t}${B.getProperty(n)}`}UO.schemaRefOrVal=a5;function c5(e){return MO(decodeURIComponent(e))}UO.unescapeFragment=c5;function u5(e){return encodeURIComponent(Yg(e))}UO.escapeFragment=u5;function Yg(e){if(typeof e=="number")return`${e}`;return e.replace(/~/g,"~0").replace(/\//g,"~1")}UO.escapeJsonPointer=Yg;function MO(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}UO.unescapeJsonPointer=MO;function l5(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}UO.eachItem=l5;function zO({mergeNames:e,mergeToName:t,mergeValues:r,resultToName:n}){return(o,s,i,a)=>{let c=i===void 0?s:i instanceof B.Name?(s instanceof B.Name?e(o,s,i):t(o,s,i),i):s instanceof B.Name?(t(o,i,s),s):r(s,i);return a===B.Name&&!(c instanceof B.Name)?n(o,c):c}}UO.mergeEvaluated={props:zO({mergeNames:(e,t,r)=>e.if(B._`${r} !== true && ${t} !== undefined`,()=>{e.if(B._`${t} === true`,()=>e.assign(r,!0),()=>e.assign(r,B._`${r} || {}`).code(B._`Object.assign(${r}, ${t})`))}),mergeToName:(e,t,r)=>e.if(B._`${r} !== true`,()=>{if(t===!0)e.assign(r,!0);else e.assign(r,B._`${r} || {}`),Xg(e,r,t)}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:qO}),items:zO({mergeNames:(e,t,r)=>e.if(B._`${r} !== true && ${t} !== undefined`,()=>e.assign(r,B._`${t} === true ? true : ${r} > ${t} ? ${r} : ${t}`)),mergeToName:(e,t,r)=>e.if(B._`${r} !== true`,()=>e.assign(r,t===!0?!0:B._`${r} > ${t} ? ${r} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var("items",t)})};function qO(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",B._`{}`);if(t!==void 0)Xg(e,r,t);return r}UO.evaluatedPropsToName=qO;function Xg(e,t,r){Object.keys(r).forEach((n)=>e.assign(B._`${t}${B.getProperty(n)}`,!0))}UO.setEvaluated=Xg;var NO={};function d5(e,t){return e.scopeValue("func",{ref:t,code:NO[t.code]||(NO[t.code]=new LO._Code(t.code))})}UO.useFunc=d5;var Jg;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(Jg||(UO.Type=Jg={}));function p5(e,t,r){if(e instanceof B.Name){let n=t===Jg.Num;return r?n?B._`"[" + ${e} + "]"`:B._`"['" + ${e} + "']"`:n?B._`"/" + ${e}`:B._`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?B.getProperty(e).toString():"/"+Yg(e)}UO.getErrorPath=p5;function FO(e,t,r=e.opts.strictSchema){if(!r)return;if(t=`strict mode: ${t}`,r===!0)throw Error(t);e.self.logger.warn(t)}UO.checkStrictMode=FO});var zr=T(function(VO){Object.defineProperty(VO,"__esModule",{value:!0});var de=ee(),I5={data:new de.Name("data"),valCxt:new de.Name("valCxt"),instancePath:new de.Name("instancePath"),parentData:new de.Name("parentData"),parentDataProperty:new de.Name("parentDataProperty"),rootData:new de.Name("rootData"),dynamicAnchors:new de.Name("dynamicAnchors"),vErrors:new de.Name("vErrors"),errors:new de.Name("errors"),this:new de.Name("this"),self:new de.Name("self"),scope:new de.Name("scope"),json:new de.Name("json"),jsonPos:new de.Name("jsonPos"),jsonLen:new de.Name("jsonLen"),jsonPart:new de.Name("jsonPart")};VO.default=I5});var pa=T(function(HO){Object.defineProperty(HO,"__esModule",{value:!0});HO.extendErrors=HO.resetErrorsCount=HO.reportExtraError=HO.reportError=HO.keyword$DataError=HO.keywordError=void 0;var F=ee(),dn=ue(),st=zr();HO.keywordError={message:({keyword:e})=>F.str`must pass "${e}" keyword validation`};HO.keyword$DataError={message:({keyword:e,schemaType:t})=>t?F.str`"${e}" keyword must be ${t} ($data)`:F.str`"${e}" keyword is invalid ($data)`};function A5(e,t=HO.keywordError,r,n){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=KO(e,t,r);if(n!==null&&n!==void 0?n:i||a)ZO(s,c);else BO(o,F._`[${c}]`)}HO.reportError=A5;function C5(e,t=HO.keywordError,r){let{it:n}=e,{gen:o,compositeRule:s,allErrors:i}=n,a=KO(e,t,r);if(ZO(o,a),!(s||i))BO(n,st.default.vErrors)}HO.reportExtraError=C5;function z5(e,t){e.assign(st.default.errors,t),e.if(F._`${st.default.vErrors} !== null`,()=>e.if(t,()=>e.assign(F._`${st.default.vErrors}.length`,t),()=>e.assign(st.default.vErrors,null)))}HO.resetErrorsCount=z5;function N5({gen:e,keyword:t,schemaValue:r,data:n,errsCount:o,it:s}){if(o===void 0)throw Error("ajv implementation error");let i=e.name("err");e.forRange("i",o,st.default.errors,(a)=>{if(e.const(i,F._`${st.default.vErrors}[${a}]`),e.if(F._`${i}.instancePath === undefined`,()=>e.assign(F._`${i}.instancePath`,F.strConcat(st.default.instancePath,s.errorPath))),e.assign(F._`${i}.schemaPath`,F.str`${s.errSchemaPath}/${t}`),s.opts.verbose)e.assign(F._`${i}.schema`,r),e.assign(F._`${i}.data`,n)})}HO.extendErrors=N5;function ZO(e,t){let r=e.const("err",t);e.if(F._`${st.default.vErrors} === null`,()=>e.assign(st.default.vErrors,F._`[${r}]`),F._`${st.default.vErrors}.push(${r})`),e.code(F._`${st.default.errors}++`)}function BO(e,t){let{gen:r,validateName:n,schemaEnv:o}=e;if(o.$async)r.throw(F._`new ${e.ValidationError}(${t})`);else r.assign(F._`${n}.errors`,t),r.return(!1)}var Xn={keyword:new F.Name("keyword"),schemaPath:new F.Name("schemaPath"),params:new F.Name("params"),propertyName:new F.Name("propertyName"),message:new F.Name("message"),schema:new F.Name("schema"),parentSchema:new F.Name("parentSchema")};function KO(e,t,r){let{createErrors:n}=e.it;if(n===!1)return F._`{}`;return L5(e,t,r)}function L5(e,t,r={}){let{gen:n,it:o}=e,s=[j5(o,r),D5(e,r)];return M5(e,t,s),n.object(...s)}function j5({errorPath:e},{instancePath:t}){let r=t?F.str`${e}${dn.getErrorPath(t,dn.Type.Str)}`:e;return[st.default.instancePath,F.strConcat(st.default.instancePath,r)]}function D5({keyword:e,it:{errSchemaPath:t}},{schemaPath:r,parentSchema:n}){let o=n?t:F.str`${t}/${e}`;if(r)o=F.str`${o}${dn.getErrorPath(r,dn.Type.Str)}`;return[Xn.schemaPath,o]}function M5(e,{params:t,message:r},n){let{keyword:o,data:s,schemaValue:i,it:a}=e,{opts:c,propertyName:u,topSchemaRef:l,schemaPath:d}=a;if(n.push([Xn.keyword,o],[Xn.params,typeof t=="function"?t(e):t||F._`{}`]),c.messages)n.push([Xn.message,typeof r=="function"?r(e):r]);if(c.verbose)n.push([Xn.schema,i],[Xn.parentSchema,F._`${l}${d}`],[st.default.data,s]);if(u)n.push([Xn.propertyName,u])}});var tI=T(function(QO){Object.defineProperty(QO,"__esModule",{value:!0});QO.boolOrEmptySchema=QO.topBoolOrEmptySchema=void 0;var JO=pa(),YO=ee(),V5=zr(),Z5={message:"boolean schema is false"};function B5(e){let{gen:t,schema:r,validateName:n}=e;if(r===!1)XO(e,!1);else if(typeof r=="object"&&r.$async===!0)t.return(V5.default.data);else t.assign(YO._`${n}.errors`,null),t.return(!0)}QO.topBoolOrEmptySchema=B5;function K5(e,t){let{gen:r,schema:n}=e;if(n===!1)r.var(t,!1),XO(e);else r.var(t,!0)}QO.boolOrEmptySchema=K5;function XO(e,t){let{gen:r,data:n}=e;JO.reportError({gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e},Z5,void 0,t)}});var ey=T(function(rI){Object.defineProperty(rI,"__esModule",{value:!0});rI.getRules=rI.isJSONType=void 0;var G5=["string","number","integer","boolean","null","object","array"],J5=new Set(G5);function Y5(e){return typeof e=="string"&&J5.has(e)}rI.isJSONType=Y5;function X5(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}rI.getRules=X5});var ty=T(function(iI){Object.defineProperty(iI,"__esModule",{value:!0});iI.shouldUseRule=iI.shouldUseGroup=iI.schemaHasRulesForType=void 0;function eY({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&oI(e,n)}iI.schemaHasRulesForType=eY;function oI(e,t){return t.rules.some((r)=>sI(e,r))}iI.shouldUseGroup=oI;function sI(e,t){var r;return e[t.keyword]!==void 0||((r=t.definition.implements)===null||r===void 0?void 0:r.some((n)=>e[n]!==void 0))}iI.shouldUseRule=sI});var fa=T(function(fI){Object.defineProperty(fI,"__esModule",{value:!0});fI.reportTypeError=fI.checkDataTypes=fI.checkDataType=fI.coerceAndCheckDataType=fI.getJSONTypes=fI.getSchemaTypes=fI.DataType=void 0;var cI=ey(),uI=ty(),lI=pa(),L=ee(),zl=ue(),es;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(es||(fI.DataType=es={}));function nY(e){let t=dI(e.type);if(t.includes("null")){if(e.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!t.length&&e.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(e.nullable===!0)t.push("null")}return t}fI.getSchemaTypes=nY;function dI(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(cI.isJSONType))return t;throw Error("type must be JSONType or JSONType[]: "+t.join(","))}fI.getJSONTypes=dI;function oY(e,t){let{gen:r,data:n,opts:o}=e,s=sY(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&uI.schemaHasRulesForType(e,t[0]));if(i){let a=ny(t,n,o.strictNumbers,es.Wrong);r.if(a,()=>{if(s.length)iY(e,t,s);else oy(e)})}return i}fI.coerceAndCheckDataType=oY;var pI=new Set(["string","number","integer","boolean","null"]);function sY(e,t){return t?e.filter((r)=>pI.has(r)||t==="array"&&r==="array"):[]}function iY(e,t,r){let{gen:n,data:o,opts:s}=e,i=n.let("dataType",L._`typeof ${o}`),a=n.let("coerced",L._`undefined`);if(s.coerceTypes==="array")n.if(L._`${i} == 'object' && Array.isArray(${o}) && ${o}.length == 1`,()=>n.assign(o,L._`${o}[0]`).assign(i,L._`typeof ${o}`).if(ny(t,o,s.strictNumbers),()=>n.assign(a,o)));n.if(L._`${a} !== undefined`);for(let u of r)if(pI.has(u)||u==="array"&&s.coerceTypes==="array")c(u);n.else(),oy(e),n.endIf(),n.if(L._`${a} !== undefined`,()=>{n.assign(o,a),aY(e,a)});function c(u){switch(u){case"string":n.elseIf(L._`${i} == "number" || ${i} == "boolean"`).assign(a,L._`"" + ${o}`).elseIf(L._`${o} === null`).assign(a,L._`""`);return;case"number":n.elseIf(L._`${i} == "boolean" || ${o} === null
|
|
167
167
|
|| (${i} == "string" && ${o} && ${o} == +${o})`).assign(a,L._`+${o}`);return;case"integer":n.elseIf(L._`${i} === "boolean" || ${o} === null
|
|
168
168
|
|| (${i} === "string" && ${o} && ${o} == +${o} && !(${o} % 1))`).assign(a,L._`+${o}`);return;case"boolean":n.elseIf(L._`${o} === "false" || ${o} === 0 || ${o} === null`).assign(a,!1).elseIf(L._`${o} === "true" || ${o} === 1`).assign(a,!0);return;case"null":n.elseIf(L._`${o} === "" || ${o} === 0 || ${o} === false`),n.assign(a,null);return;case"array":n.elseIf(L._`${i} === "string" || ${i} === "number"
|
|
169
|
-
|| ${i} === "boolean" || ${o} === null`).assign(a,L._`[${o}]`)}}}function n5({gen:e,parentData:t,parentDataProperty:r},n){e.if(L._`${t} !== undefined`,()=>e.assign(L._`${t}[${r}]`,n))}function Mg(e,t,r,n=Ko.Correct){let o=n===Ko.Correct?L.operators.EQ:L.operators.NEQ,s;switch(e){case"null":return L._`${t} ${o} null`;case"array":s=L._`Array.isArray(${t})`;break;case"object":s=L._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=i(L._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=i();break;default:return L._`typeof ${t} ${o} ${e}`}return n===Ko.Correct?s:L.not(s);function i(a=L.nil){return L.and(L._`typeof ${t} == "number"`,a,r?L._`isFinite(${t})`:L.nil)}}LP.checkDataType=Mg;function qg(e,t,r,n){if(e.length===1)return Mg(e[0],t,r,n);let o,s=El.toHash(e);if(s.array&&s.object){let i=L._`typeof ${t} != "object"`;o=s.null?i:L._`!${t} || ${i}`,delete s.null,delete s.array,delete s.object}else o=L.nil;if(s.number)delete s.integer;for(let i in s)o=L.and(o,Mg(i,t,r,n));return o}LP.checkDataTypes=qg;var o5={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?L._`{type: ${e}}`:L._`{type: ${t}}`};function Fg(e){let t=s5(e);CP.reportError(t,o5)}LP.reportTypeError=Fg;function s5(e){let{gen:t,data:r,schema:n}=e,o=El.schemaRefOrVal(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var UP=E(function(qP){Object.defineProperty(qP,"__esModule",{value:!0});qP.assignDefaults=void 0;var Lt=ee(),MP=ue();function p5(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)jP(e,o,r[o].default);else if(t==="array"&&Array.isArray(n))n.forEach((o,s)=>jP(e,s,o.default))}qP.assignDefaults=p5;function jP(e,t,r){let{gen:n,compositeRule:o,data:s,opts:i}=e;if(r===void 0)return;let a=Lt._`${s}${Lt.getProperty(t)}`;if(o){MP.checkStrictMode(e,`default is ignored for: ${a}`);return}let c=Lt._`${a} === undefined`;if(i.useDefaults==="empty")c=Lt._`${c} || ${a} === null || ${a} === ""`;n.if(c,Lt._`${a} = ${Lt.stringify(r)}`)}});var Dt=E(function(BP){Object.defineProperty(BP,"__esModule",{value:!0});BP.validateUnion=BP.validateArray=BP.usePattern=BP.callValidateCode=BP.schemaProperties=BP.allSchemaProperties=BP.noPropertyInData=BP.propertyInData=BP.isOwnProperty=BP.hasPropFunc=BP.reportMissingProp=BP.checkMissingProp=BP.checkReportMissingProp=void 0;var H=ee(),Ho=ue(),an=Ar(),WP=ue();function f5(e,t){let{gen:r,data:n,it:o}=e;r.if(Wg(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:H._`${t}`},!0),e.error()})}BP.checkReportMissingProp=f5;function m5({gen:e,data:t,it:{opts:r}},n,o){return H.or(...n.map((s)=>H.and(Wg(e,t,s,r.ownProperties),H._`${o} = ${s}`)))}BP.checkMissingProp=m5;function h5(e,t){e.setParams({missingProperty:t},!0),e.error()}BP.reportMissingProp=h5;function VP(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:H._`Object.prototype.hasOwnProperty`})}BP.hasPropFunc=VP;function Ug(e,t,r){return H._`${VP(e)}.call(${t}, ${r})`}BP.isOwnProperty=Ug;function g5(e,t,r,n){let o=H._`${t}${H.getProperty(r)} !== undefined`;return n?H._`${o} && ${Ug(e,t,r)}`:o}BP.propertyInData=g5;function Wg(e,t,r,n){let o=H._`${t}${H.getProperty(r)} === undefined`;return n?H.or(o,H.not(Ug(e,t,r))):o}BP.noPropertyInData=Wg;function ZP(e){return e?Object.keys(e).filter((t)=>t!=="__proto__"):[]}BP.allSchemaProperties=ZP;function y5(e,t){return ZP(t).filter((r)=>!Ho.alwaysValidSchema(e,t[r]))}BP.schemaProperties=y5;function b5({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?H._`${e}, ${t}, ${n}${o}`:t,d=[[an.default.instancePath,H.strConcat(an.default.instancePath,s)],[an.default.parentData,i.parentData],[an.default.parentDataProperty,i.parentDataProperty],[an.default.rootData,an.default.rootData]];if(i.opts.dynamicRef)d.push([an.default.dynamicAnchors,an.default.dynamicAnchors]);let f=H._`${l}, ${r.object(...d)}`;return c!==H.nil?H._`${a}.call(${c}, ${f})`:H._`${a}(${f})`}BP.callValidateCode=b5;var w5=H._`new RegExp`;function _5({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:H._`${o.code==="new RegExp"?w5:WP.useFunc(e,o)}(${r}, ${n})`})}BP.usePattern=_5;function v5(e){let{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return i(()=>t.assign(a,!1)),a}return t.var(s,!0),i(()=>t.break()),s;function i(a){let c=t.const("len",H._`${r}.length`);t.forRange("i",0,c,(u)=>{e.subschema({keyword:n,dataProp:u,dataPropType:Ho.Type.Num},s),t.if(H.not(s),a)})}}BP.validateArray=v5;function S5(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw Error("ajv implementation error");if(r.some((c)=>Ho.alwaysValidSchema(o,c))&&!o.opts.unevaluated)return;let i=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let l=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);if(t.assign(i,H._`${i} || ${a}`),!e.mergeValidEvaluated(l,a))t.if(H.not(i))})),e.result(i,()=>e.reset(),()=>e.error(!0))}BP.validateUnion=S5});var eI=E(function(XP){Object.defineProperty(XP,"__esModule",{value:!0});XP.validateKeywordUsage=XP.validSchemaType=XP.funcKeywordCode=XP.macroKeywordCode=void 0;var me=ee(),Hn=Ar(),GP=Dt(),JP=ia();function N5(e,t){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=YP(r,n,a);if(i.opts.validateSchema!==!1)i.self.validateSchema(a,!0);let u=r.name("valid");e.subschema({schema:a,schemaPath:me.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}XP.macroKeywordCode=N5;function L5(e,t){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;j5(c,t);let u=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,l=YP(n,o,u),d=n.let("valid");e.block$data(d,f),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function f(){if(t.errors===!1){if(g(),t.modifying)HP(e);y(()=>e.error())}else{let w=t.async?m():h();if(t.modifying)HP(e);y(()=>D5(e,w))}}function m(){let w=n.let("ruleErrs",null);return n.try(()=>g(me._`await `),(T)=>n.assign(d,!1).if(me._`${T} instanceof ${c.ValidationError}`,()=>n.assign(w,me._`${T}.errors`),()=>n.throw(T))),w}function h(){let w=me._`${l}.errors`;return n.assign(w,null),g(me.nil),w}function g(w=t.async?me._`await `:me.nil){let T=c.opts.passContext?Hn.default.this:Hn.default.self,S=!(("compile"in t)&&!a||t.schema===!1);n.assign(d,me._`${w}${GP.callValidateCode(e,l,T,S)}`,t.modifying)}function y(w){var T;n.if(me.not((T=t.valid)!==null&&T!==void 0?T:d),w)}}XP.funcKeywordCode=L5;function HP(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,me._`${n.parentData}[${n.parentDataProperty}]`))}function D5(e,t){let{gen:r}=e;r.if(me._`Array.isArray(${t})`,()=>{r.assign(Hn.default.vErrors,me._`${Hn.default.vErrors} === null ? ${t} : ${Hn.default.vErrors}.concat(${t})`).assign(Hn.default.errors,me._`${Hn.default.vErrors}.length`),JP.extendErrors(e)},()=>e.error())}function j5({schemaEnv:e},t){if(t.async&&!e.$async)throw Error("async keyword in sync schema")}function YP(e,t,r){if(r===void 0)throw Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:me.stringify(r)})}function M5(e,t,r=!1){return!t.length||t.some((n)=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}XP.validSchemaType=M5;function q5({schema:e,opts:t,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw Error("ajv implementation error");let i=o.dependencies;if(i===null||i===void 0?void 0:i.some((a)=>!Object.prototype.hasOwnProperty.call(e,a)))throw Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema){if(!o.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw Error(c)}}}XP.validateKeywordUsage=q5});var nI=E(function(tI){Object.defineProperty(tI,"__esModule",{value:!0});tI.extendSubschemaMode=tI.extendSubschemaData=tI.getSubschema=void 0;var Ne=ee(),Tl=ue();function V5(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&n!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:Ne._`${e.schemaPath}${Ne.getProperty(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:Ne._`${e.schemaPath}${Ne.getProperty(t)}${Ne.getProperty(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${Tl.escapeFragment(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw Error('either "keyword" or "schema" must be passed')}tI.getSubschema=V5;function Z5(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=t,f=a.let("data",Ne._`${t.data}${Ne.getProperty(r)}`,!0);c(f),e.errorPath=Ne.str`${u}${Tl.getErrorPath(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=Ne._`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(o!==void 0){let u=o instanceof Ne.Name?o:a.let("data",o,!0);if(c(u),i!==void 0)e.propertyName=i}if(s)e.dataTypes=s;function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}tI.extendSubschemaData=Z5;function B5(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){if(n!==void 0)e.compositeRule=n;if(o!==void 0)e.createErrors=o;if(s!==void 0)e.allErrors=s;e.jtdDiscriminator=t,e.jtdMetadata=r}tI.extendSubschemaMode=B5});var Vg=E(function(a_e,oI){oI.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}});var iI=E(function(c_e,sI){var cn=sI.exports=function(e,t,r){if(typeof t=="function")r=t,t={};r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Ol(t,n,o,e,"",e)};cn.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};cn.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};cn.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};cn.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Ol(e,t,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in cn.arrayKeywords)for(var f=0;f<d.length;f++)Ol(e,t,r,d[f],o+"/"+l+"/"+f,s,o,l,n,f)}else if(l in cn.propsKeywords){if(d&&typeof d=="object")for(var m in d)Ol(e,t,r,d[m],o+"/"+l+"/"+G5(m),s,o,l,n,m)}else if(l in cn.keywords||e.allKeys&&!(l in cn.skipKeywords))Ol(e,t,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function G5(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var ca=E(function(dI){Object.defineProperty(dI,"__esModule",{value:!0});dI.getSchemaRefs=dI.resolveUrl=dI.normalizeId=dI._getFullPath=dI.getFullPath=dI.inlineRef=void 0;var aI=ue(),J5=Vg(),Y5=iI(),X5=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function Q5(e,t=!0){if(typeof e=="boolean")return!0;if(t===!0)return!Zg(e);if(!t)return!1;return cI(e)<=t}dI.inlineRef=Q5;var e7=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Zg(e){for(let t in e){if(e7.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Zg))return!0;if(typeof r=="object"&&Zg(r))return!0}return!1}function cI(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,X5.has(r))continue;if(typeof e[r]=="object")aI.eachItem(e[r],(n)=>t+=cI(n));if(t===1/0)return 1/0}return t}function uI(e,t="",r){if(r!==!1)t=Go(t);let n=e.parse(t);return lI(e,n)}dI.getFullPath=uI;function lI(e,t){return e.serialize(t).split("#")[0]+"#"}dI._getFullPath=lI;var t7=/#\/?$/;function Go(e){return e?e.replace(t7,""):""}dI.normalizeId=Go;function r7(e,t,r){return r=Go(r),e.resolve(t,r)}dI.resolveUrl=r7;var n7=/^[a-z_][-a-z0-9._]*$/i;function o7(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Go(e[r]||t),s={"":o},i=uI(n,o,!1),a={},c=new Set;return Y5(e,{allKeys:!0},(d,f,m,h)=>{if(h===void 0)return;let g=i+f,y=s[h];if(typeof d[r]=="string")y=w.call(this,d[r]);T.call(this,d.$anchor),T.call(this,d.$dynamicAnchor),s[f]=y;function w(S){let I=this.opts.uriResolver.resolve;if(S=Go(y?I(y,S):S),c.has(S))throw l(S);c.add(S);let _=this.refs[S];if(typeof _=="string")_=this.refs[_];if(typeof _=="object")u(d,_.schema,S);else if(S!==Go(g))if(S[0]==="#")u(d,a[S],S),a[S]=d;else this.refs[S]=g;return S}function T(S){if(typeof S=="string"){if(!n7.test(S))throw Error(`invalid anchor "${S}"`);w.call(this,`#${S}`)}}}),a;function u(d,f,m){if(f!==void 0&&!J5(d,f))throw l(m)}function l(d){return Error(`reference "${d}" resolves to more than one schema`)}}dI.getSchemaRefs=o7});var ua=E(function(TI){Object.defineProperty(TI,"__esModule",{value:!0});TI.getData=TI.KeywordCxt=TI.validateFunctionCode=void 0;var Il=xP(),Pl=aa(),Yo=jg(),un=aa(),gI=UP(),ir=eI(),Jo=nI(),R=ee(),X=Ar(),yI=ca(),Be=ue(),sr=ia();function l7(e){if(_I(e)){if(vI(e),wI(e)){f7(e);return}}bI(e,()=>Il.topBoolOrEmptySchema(e))}TI.validateFunctionCode=l7;function bI({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){if(o.code.es5)e.func(t,R._`${X.default.data}, ${X.default.valCxt}`,n.$async,()=>{e.code(R._`"use strict"; ${fI(r,o)}`),p7(e,o),e.code(s)});else e.func(t,R._`${X.default.data}, ${d7(o)}`,n.$async,()=>e.code(fI(r,o)).code(s))}function d7(e){return R._`{${X.default.instancePath}="", ${X.default.parentData}, ${X.default.parentDataProperty}, ${X.default.rootData}=${X.default.data}${e.dynamicRef?R._`, ${X.default.dynamicAnchors}={}`:R.nil}}={}`}function p7(e,t){e.if(X.default.valCxt,()=>{if(e.var(X.default.instancePath,R._`${X.default.valCxt}.${X.default.instancePath}`),e.var(X.default.parentData,R._`${X.default.valCxt}.${X.default.parentData}`),e.var(X.default.parentDataProperty,R._`${X.default.valCxt}.${X.default.parentDataProperty}`),e.var(X.default.rootData,R._`${X.default.valCxt}.${X.default.rootData}`),t.dynamicRef)e.var(X.default.dynamicAnchors,R._`${X.default.valCxt}.${X.default.dynamicAnchors}`)},()=>{if(e.var(X.default.instancePath,R._`""`),e.var(X.default.parentData,R._`undefined`),e.var(X.default.parentDataProperty,R._`undefined`),e.var(X.default.rootData,X.default.data),t.dynamicRef)e.var(X.default.dynamicAnchors,R._`{}`)})}function f7(e){let{schema:t,opts:r,gen:n}=e;bI(e,()=>{if(r.$comment&&t.$comment)kI(e);if(b7(e),n.let(X.default.vErrors,null),n.let(X.default.errors,0),r.unevaluated)m7(e);SI(e),v7(e)});return}function m7(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",R._`${r}.evaluated`),t.if(R._`${e.evaluated}.dynamicProps`,()=>t.assign(R._`${e.evaluated}.props`,R._`undefined`)),t.if(R._`${e.evaluated}.dynamicItems`,()=>t.assign(R._`${e.evaluated}.items`,R._`undefined`))}function fI(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?R._`/*# sourceURL=${r} */`:R.nil}function h7(e,t){if(_I(e)){if(vI(e),wI(e)){g7(e,t);return}}Il.boolOrEmptySchema(e,t)}function wI({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function _I(e){return typeof e.schema!="boolean"}function g7(e,t){let{schema:r,gen:n,opts:o}=e;if(o.$comment&&r.$comment)kI(e);w7(e),_7(e);let s=n.const("_errs",X.default.errors);SI(e,s),n.var(t,R._`${s} === ${X.default.errors}`)}function vI(e){Be.checkUnknownRules(e),y7(e)}function SI(e,t){if(e.opts.jtd)return mI(e,[],!1,t);let r=Pl.getSchemaTypes(e.schema),n=Pl.coerceAndCheckDataType(e,r);mI(e,r,!n,t)}function y7(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;if(t.$ref&&n.ignoreKeywordsWithRef&&Be.schemaHasRulesButRef(t,o.RULES))o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function b7(e){let{schema:t,opts:r}=e;if(t.default!==void 0&&r.useDefaults&&r.strictSchema)Be.checkStrictMode(e,"default is ignored in the schema root")}function w7(e){let t=e.schema[e.opts.schemaId];if(t)e.baseId=yI.resolveUrl(e.opts.uriResolver,e.baseId,t)}function _7(e){if(e.schema.$async&&!e.schemaEnv.$async)throw Error("async schema in sync schema")}function kI({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)e.code(R._`${X.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=R.str`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code(R._`${X.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function v7(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;if(r.$async)t.if(R._`${X.default.errors} === 0`,()=>t.return(X.default.data),()=>t.throw(R._`new ${o}(${X.default.vErrors})`));else{if(t.assign(R._`${n}.errors`,X.default.vErrors),s.unevaluated)S7(e);t.return(R._`${X.default.errors} === 0`)}}function S7({gen:e,evaluated:t,props:r,items:n}){if(r instanceof R.Name)e.assign(R._`${t}.props`,r);if(n instanceof R.Name)e.assign(R._`${t}.items`,n)}function mI(e,t,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=e,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!Be.schemaHasRulesButRef(s,l))){o.block(()=>$I(e,"$ref",l.all.$ref.definition));return}if(!c.jtd)k7(e,t);o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){if(!Yo.shouldUseGroup(s,f))return;if(f.type){if(o.if(un.checkDataType(f.type,i,c.strictNumbers)),hI(e,f),t.length===1&&t[0]===f.type&&r)o.else(),un.reportTypeError(e);o.endIf()}else hI(e,f);if(!a)o.if(R._`${X.default.errors} === ${n||0}`)}}function hI(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;if(o)gI.assignDefaults(e,t.type);r.block(()=>{for(let s of t.rules)if(Yo.shouldUseRule(n,s))$I(e,s.keyword,s.definition,t.type)})}function k7(e,t){if(e.schemaEnv.meta||!e.opts.strictTypes)return;if(x7(e,t),!e.opts.allowUnionTypes)$7(e,t);E7(e,e.dataTypes)}function x7(e,t){if(!t.length)return;if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach((r)=>{if(!xI(e.dataTypes,r))Bg(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),O7(e,t)}function $7(e,t){if(t.length>1&&!(t.length===2&&t.includes("null")))Bg(e,"use allowUnionTypes to allow union type keyword")}function E7(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&Yo.shouldUseRule(e.schema,o)){let{type:s}=o.definition;if(s.length&&!s.some((i)=>T7(t,i)))Bg(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function T7(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function xI(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function O7(e,t){let r=[];for(let n of e.dataTypes)if(xI(t,n))r.push(n);else if(t.includes("integer")&&n==="number")r.push("integer");e.dataTypes=r}function Bg(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,Be.checkStrictMode(e,t,e.opts.strictTypes)}class Kg{constructor(e,t,r){if(ir.validateKeywordUsage(e,t,r),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=r,this.data=e.data,this.schema=e.schema[r],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=Be.schemaRefOrVal(e,this.schema,r,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",EI(this.$data,e));else if(this.schemaCode=this.schemaValue,!ir.validSchemaType(this.schema,t.schemaType,t.allowUndefined))throw Error(`${r} value must be ${JSON.stringify(t.schemaType)}`);if("code"in t?t.trackErrors:t.errors!==!1)this.errsCount=e.gen.const("_errs",X.default.errors)}result(e,t,r){this.failResult(R.not(e),t,r)}failResult(e,t,r){if(this.gen.if(e),r)r();else this.error();if(t){if(this.gen.else(),t(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(e,t){this.failResult(R.not(e),void 0,t)}fail(e){if(e===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(e),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:t}=this;this.fail(R._`${t} !== undefined && (${R.or(this.invalid$data(),e)})`)}error(e,t,r){if(t){this.setParams(t),this._error(e,r),this.setParams({});return}this._error(e,r)}_error(e,t){(e?sr.reportExtraError:sr.reportError)(this,this.def.error,t)}$dataError(){sr.reportError(this,this.def.$dataError||sr.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');sr.resetErrorsCount(this.gen,this.errsCount)}ok(e){if(!this.allErrors)this.gen.if(e)}setParams(e,t){if(t)Object.assign(this.params,e);else this.params=e}block$data(e,t,r=R.nil){this.gen.block(()=>{this.check$data(e,r),t()})}check$data(e=R.nil,t=R.nil){if(!this.$data)return;let{gen:r,schemaCode:n,schemaType:o,def:s}=this;if(r.if(R.or(R._`${n} === undefined`,t)),e!==R.nil)r.assign(e,!0);if(o.length||s.validateSchema){if(r.elseIf(this.invalid$data()),this.$dataError(),e!==R.nil)r.assign(e,!1)}r.else()}invalid$data(){let{gen:e,schemaCode:t,schemaType:r,def:n,it:o}=this;return R.or(s(),i());function s(){if(r.length){if(!(t instanceof R.Name))throw Error("ajv implementation error");let a=Array.isArray(r)?r:[r];return R._`${un.checkDataTypes(a,t,o.opts.strictNumbers,un.DataType.Wrong)}`}return R.nil}function i(){if(n.validateSchema){let a=e.scopeValue("validate$data",{ref:n.validateSchema});return R._`!${a}(${t})`}return R.nil}}subschema(e,t){let r=Jo.getSubschema(this.it,e);Jo.extendSubschemaData(r,this.it,e),Jo.extendSubschemaMode(r,e);let n={...this.it,...r,items:void 0,props:void 0};return h7(n,t),n}mergeEvaluated(e,t){let{it:r,gen:n}=this;if(!r.opts.unevaluated)return;if(r.props!==!0&&e.props!==void 0)r.props=Be.mergeEvaluated.props(n,e.props,r.props,t);if(r.items!==!0&&e.items!==void 0)r.items=Be.mergeEvaluated.items(n,e.items,r.items,t)}mergeValidEvaluated(e,t){let{it:r,gen:n}=this;if(r.opts.unevaluated&&(r.props!==!0||r.items!==!0))return n.if(t,()=>this.mergeEvaluated(e,R.Name)),!0}}TI.KeywordCxt=Kg;function $I(e,t,r,n){let o=new Kg(e,r,t);if("code"in r)r.code(o,n);else if(o.$data&&r.validate)ir.funcKeywordCode(o,r);else if("macro"in r)ir.macroKeywordCode(o,r);else if(r.compile||r.validate)ir.funcKeywordCode(o,r)}var P7=/^\/(?:[^~]|~0|~1)*$/,I7=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function EI(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(e==="")return X.default.rootData;if(e[0]==="/"){if(!P7.test(e))throw Error(`Invalid JSON-pointer: ${e}`);o=e,s=X.default.rootData}else{let u=I7.exec(e);if(!u)throw Error(`Invalid JSON-pointer: ${e}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=t)throw Error(c("property/index",l));return n[t-l]}if(l>t)throw Error(c("data",l));if(s=r[t-l],!o)return s}let i=s,a=o.split("/");for(let u of a)if(u)s=R._`${s}${R.getProperty(Be.unescapeJsonPointer(u))}`,i=R._`${i} && ${s}`;return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${t}`}}TI.getData=EI});var Al=E(function(II){Object.defineProperty(II,"__esModule",{value:!0});class PI extends Error{constructor(e){super("validation failed");this.errors=e,this.ajv=this.validation=!0}}II.default=PI});var la=E(function(RI){Object.defineProperty(RI,"__esModule",{value:!0});var Xo=ca();class AI extends Error{constructor(e,t,r,n){super(n||`can't resolve reference ${r} from id ${t}`);this.missingRef=Xo.resolveUrl(e,t,r),this.missingSchema=Xo.normalizeId(Xo.getFullPath(e,this.missingRef))}}RI.default=AI});var zl=E(function(NI){Object.defineProperty(NI,"__esModule",{value:!0});NI.resolveSchema=NI.getCompilingSchema=NI.resolveRef=NI.compileSchema=NI.SchemaEnv=void 0;var Pe=ee(),N7=Al(),Gn=Ar(),Ie=ca(),Rl=ue(),CI=ua();class da{constructor(e){var t;this.refs={},this.dynamicAnchors={};let r;if(typeof e.schema=="object")r=e.schema;this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:Ie.normalizeId(r===null||r===void 0?void 0:r[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=r===null||r===void 0?void 0:r.$async,this.refs={}}}NI.SchemaEnv=da;function Gg(e){let t=zI.call(this,e);if(t)return t;let r=Ie.getFullPath(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Pe.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;if(e.$async)a=i.scopeValue("Error",{ref:N7.default,code:Pe._`require("ajv/dist/runtime/validation_error").default`});let c=i.scopeName("validate");e.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:Gn.default.data,parentData:Gn.default.parentData,parentDataProperty:Gn.default.parentDataProperty,dataNames:[Gn.default.data],dataPathArr:[Pe.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:Pe.stringify(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Pe.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:Pe._`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),CI.validateFunctionCode(u),i.optimize(this.opts.code.optimize);let d=i.toString();if(l=`${i.scopeRefs(Gn.default.scope)}return ${d}`,this.opts.code.process)l=this.opts.code.process(l,e);let m=Function(`${Gn.default.self}`,`${Gn.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=e.schema,m.schemaEnv=e,e.$async)m.$async=!0;if(this.opts.code.source===!0)m.source={validateName:c,validateCode:d,scopeValues:i._values};if(this.opts.unevaluated){let{props:h,items:g}=u;if(m.evaluated={props:h instanceof Pe.Name?void 0:h,items:g instanceof Pe.Name?void 0:g,dynamicProps:h instanceof Pe.Name,dynamicItems:g instanceof Pe.Name},m.source)m.source.evaluated=Pe.stringify(m.evaluated)}return e.validate=m,e}catch(d){if(delete e.validate,delete e.validateName,l)this.logger.error("Error compiling schema, function code:",l);throw d}finally{this._compilations.delete(e)}}NI.compileSchema=Gg;function L7(e,t,r){var n;r=Ie.resolveUrl(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let s=M7.call(this,e,r);if(s===void 0){let i=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;if(i)s=new da({schema:i,schemaId:a,root:e,baseId:t})}if(s===void 0)return;return e.refs[r]=D7.call(this,s)}NI.resolveRef=L7;function D7(e){if(Ie.inlineRef(e.schema,this.opts.inlineRefs))return e.schema;return e.validate?e:Gg.call(this,e)}function zI(e){for(let t of this._compilations)if(j7(t,e))return t}NI.getCompilingSchema=zI;function j7(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function M7(e,t){let r;while(typeof(r=this.refs[t])=="string")t=r;return r||this.schemas[t]||Cl.call(this,e,t)}function Cl(e,t){let r=this.opts.uriResolver.parse(t),n=Ie._getFullPath(this.opts.uriResolver,r),o=Ie.getFullPath(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return Hg.call(this,r,e);let s=Ie.normalizeId(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Cl.call(this,e,i);if(typeof(a===null||a===void 0?void 0:a.schema)!=="object")return;return Hg.call(this,r,a)}if(typeof(i===null||i===void 0?void 0:i.schema)!=="object")return;if(!i.validate)Gg.call(this,i);if(s===Ie.normalizeId(t)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];if(u)o=Ie.resolveUrl(this.opts.uriResolver,o,u);return new da({schema:a,schemaId:c,root:e,baseId:o})}return Hg.call(this,r,i)}NI.resolveSchema=Cl;var q7=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Hg(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r==="boolean")return;let c=r[Rl.unescapeFragment(a)];if(c===void 0)return;r=c;let u=typeof r==="object"&&r[this.opts.schemaId];if(!q7.has(a)&&u)t=Ie.resolveUrl(this.opts.uriResolver,t,u)}let s;if(typeof r!="boolean"&&r.$ref&&!Rl.schemaHasRulesButRef(r,this.RULES)){let a=Ie.resolveUrl(this.opts.uriResolver,t,r.$ref);s=Cl.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new da({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema)return s;return}});var DI=E(function(m_e,Z7){Z7.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var Xg=E(function(h_e,WI){var B7=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),MI=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u),Jg=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),qI=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),K7=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Yg(e){let t="",r=0,n=0;for(n=0;n<e.length;n++){if(r=e[n].charCodeAt(0),r===48)continue;if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var H7=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function jI(e){return e.length=0,!0}function G7(e,t,r){if(e.length){let n=Yg(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function J7(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=G7;for(let c=0;c<e.length;c++){let u=e[c];if(u==="["||u==="]")continue;if(u===":"){if(s===!0)i=!0;if(!a(o,n,r))break;if(++t>7){r.error=!0;break}if(c>0&&e[c-1]===":")s=!0;n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=jI}else{o.push(u);continue}}if(o.length)if(a===jI)r.zone=o.join("");else if(i)n.push(o.join(""));else n.push(Yg(o));return r.address=n.join(""),r}function FI(e){if(Y7(e,":")<2)return{host:e,isIPV6:!1};let t=J7(e);if(!t.error){let{address:r,address:n}=t;if(t.zone)r+="%"+t.zone,n+="%25"+t.zone;return{host:r,isIPV6:!0,escapedHost:n}}else return{host:e,isIPV6:!1}}function Y7(e,t){let r=0;for(let n=0;n<e.length;n++)if(e[n]===t)r++;return r}function X7(e){let t=e,r=[],n=-1,o=0;while(o=t.length){if(o===1)if(t===".")break;else if(t==="/"){r.push("/");break}else{r.push(t);break}else if(o===2){if(t[0]==="."){if(t[1]===".")break;else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"){if(t[1]==="."||t[1]==="/"){r.push("/");break}}}else if(o===3){if(t==="/.."){if(r.length!==0)r.pop();r.push("/");break}}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"){if(t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."){if(t[3]==="/"){if(t=t.slice(3),r.length!==0)r.pop();continue}}}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}var Q7={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},eY=/[@/?#:]/g,tY=/[@/?#]/g;function UI(e,t){let r=t?tY:eY;return r.lastIndex=0,e.replace(r,(n)=>Q7[n])}function rY(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){let o=e.slice(n+1,n+3);if(Jg(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));if(t&&qI(i))r+=i;else r+="%"+s;n+=2;continue}}r+=e[n]}return r}function nY(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(Jg(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));if(s!=="."&&qI(s))t+=s;else t+="%"+o;r+=2;continue}}if(K7(e[r]))t+=e[r];else t+=escape(e[r])}return t}function oY(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(Jg(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function sY(e){let t=[];if(e.userinfo!==void 0)t.push(e.userinfo),t.push("@");if(e.host!==void 0){let r=unescape(e.host);if(!MI(r)){let n=FI(r);if(n.isIPV6===!0)r=`[${n.escapedHost}]`;else r=UI(r,!1)}t.push(r)}if(typeof e.port==="number"||typeof e.port==="string")t.push(":"),t.push(String(e.port));return t.length?t.join(""):void 0}WI.exports={nonSimpleDomain:H7,recomposeAuthority:sY,reescapeHostDelimiters:UI,normalizePercentEncoding:rY,normalizePathEncoding:nY,escapePreservingEscapes:oY,removeDotSegments:X7,isIPv4:MI,isUUID:B7,normalizeIPv6:FI,stringArrayToHexStripped:Yg}});var HI=E(function(g_e,KI){var{isUUID:iY}=Xg(),aY=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,cY=["http","https","ws","wss","urn","urn:uuid"];function uY(e){return cY.indexOf(e)!==-1}function Qg(e){if(e.secure===!0)return!0;else if(e.secure===!1)return!1;else if(e.scheme)return e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S");else return!1}function VI(e){if(!e.host)e.error=e.error||"HTTP URIs must have a host.";return e}function ZI(e){let t=String(e.scheme).toLowerCase()==="https";if(e.port===(t?443:80)||e.port==="")e.port=void 0;if(!e.path)e.path="/";return e}function lY(e){return e.secure=Qg(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function dY(e){if(e.port===(Qg(e)?443:80)||e.port==="")e.port=void 0;if(typeof e.secure==="boolean")e.scheme=e.secure?"wss":"ws",e.secure=void 0;if(e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function pY(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(aY);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,s=ey(o);if(e.path=void 0,s)e=s.parse(e,t)}else e.error=e.error||"URN can not be parsed.";return e}function fY(e,t){if(e.nid===void 0)throw Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,s=ey(o);if(s)e=s.serialize(e,t);let i=e,a=e.nss;return i.path=`${n||t.nid}:${a}`,t.skipEscape=!0,i}function mY(e,t){let r=e;if(r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!iY(r.uuid)))r.error=r.error||"UUID is not valid.";return r}function hY(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var BI={scheme:"http",domainHost:!0,parse:VI,serialize:ZI},gY={scheme:"https",domainHost:BI.domainHost,parse:VI,serialize:ZI},Nl={scheme:"ws",domainHost:!0,parse:lY,serialize:dY},yY={scheme:"wss",domainHost:Nl.domainHost,parse:Nl.parse,serialize:Nl.serialize},bY={scheme:"urn",parse:pY,serialize:fY,skipNormalize:!0},wY={scheme:"urn:uuid",parse:mY,serialize:hY,skipNormalize:!0},Ll={http:BI,https:gY,ws:Nl,wss:yY,urn:bY,"urn:uuid":wY};Object.setPrototypeOf(Ll,null);function ey(e){return e&&(Ll[e]||Ll[e.toLowerCase()])||void 0}KI.exports={wsIsSecure:Qg,SCHEMES:Ll,isValidSchemeName:uY,getSchemeHandler:ey}});var eA=E(function(y_e,Dl){var{normalizeIPv6:_Y,removeDotSegments:pa,recomposeAuthority:vY,normalizePercentEncoding:SY,normalizePathEncoding:kY,escapePreservingEscapes:xY,reescapeHostDelimiters:$Y,isIPv4:EY,nonSimpleDomain:TY}=Xg(),{SCHEMES:OY,getSchemeHandler:JI}=HI();function PY(e,t){if(typeof e==="string")e=NY(e,t);else if(typeof e==="object")e=Qo(Jn(e,t),t);return e}function IY(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=YI(Qo(e,n),Qo(t,n),n,!0);return n.skipEscape=!0,Jn(o,n)}function YI(e,t,r,n){let o={};if(!n)e=Qo(Jn(e,r),r),t=Qo(Jn(t,r),r);if(r=r||{},!r.tolerant&&t.scheme)o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=pa(t.path||""),o.query=t.query;else{if(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=pa(t.path||""),o.query=t.query;else{if(!t.path)if(o.path=e.path,t.query!==void 0)o.query=t.query;else o.query=e.query;else{if(t.path[0]==="/")o.path=pa(t.path);else{if((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path)o.path="/"+t.path;else if(!e.path)o.path=t.path;else o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path;o.path=pa(o.path)}o.query=t.query}o.userinfo=e.userinfo,o.host=e.host,o.port=e.port}o.scheme=e.scheme}return o.fragment=t.fragment,o}function AY(e,t,r){let n=GI(e,r),o=GI(t,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function Jn(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],s=JI(n.scheme||r.scheme);if(s&&s.serialize)s.serialize(r,n);if(r.path!==void 0)if(!n.skipEscape){if(r.path=xY(r.path),r.scheme!==void 0)r.path=r.path.split("%3A").join(":")}else r.path=SY(r.path);if(n.reference!=="suffix"&&r.scheme)o.push(r.scheme,":");let i=vY(r);if(i!==void 0){if(n.reference!=="suffix")o.push("//");if(o.push(i),r.path&&r.path[0]!=="/")o.push("/")}if(r.path!==void 0){let a=r.path;if(!n.absolutePath&&(!s||!s.absolutePath))a=pa(a);if(i===void 0&&a[0]==="/"&&a[1]==="/")a="/%2F"+a.slice(2);o.push(a)}if(r.query!==void 0)o.push("?",r.query);if(r.fragment!==void 0)o.push("#",r.fragment);return o.join("")}var RY=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,CY=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function zY(e,t){if(t[2]!==void 0&&e.path&&e.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof e.port==="number"&&(e.port<0||e.port>65535))return"URI port is malformed.";return}function XI(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1,s=!1;if(r.reference==="suffix")if(r.scheme)e=r.scheme+":"+e;else e="//"+e;let i=e.match(CY);if(i!==null&&i[1].indexOf("\\")!==-1)n.error="URI authority must not contain a literal backslash.",o=!0;let a=e.match(RY);if(a){if(n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port))n.port=a[5];let c=zY(n,a);if(c!==void 0)n.error=n.error||c,o=!0;if(n.host)if(EY(n.host)===!1){let d=_Y(n.host);n.host=d.host.toLowerCase(),s=d.isIPV6}else s=!0;if(n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path)n.reference="same-document";else if(n.scheme===void 0)n.reference="relative";else if(n.fragment===void 0)n.reference="absolute";else n.reference="uri";if(r.reference&&r.reference!=="suffix"&&r.reference!==n.reference)n.error=n.error||"URI is not a "+r.reference+" reference.";let u=JI(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)){if(n.host&&(r.domainHost||u&&u.domainHost)&&s===!1&&TY(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}}if(!u||u&&!u.skipNormalize){if(e.indexOf("%")!==-1){if(n.scheme!==void 0)n.scheme=unescape(n.scheme);if(n.host!==void 0)n.host=$Y(unescape(n.host),s)}if(n.path)n.path=kY(n.path);if(n.fragment)try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}}if(u&&u.parse)u.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function Qo(e,t){return XI(e,t).parsed}function NY(e,t){return QI(e,t).normalized}function QI(e,t){let{parsed:r,malformedAuthorityOrPort:n}=XI(e,t);return{normalized:n?e:Jn(r,t),malformedAuthorityOrPort:n}}function GI(e,t){if(typeof e==="string"){let{normalized:r,malformedAuthorityOrPort:n}=QI(e,t);return n?void 0:r}if(typeof e==="object")return Jn(e,t)}var ty={SCHEMES:OY,normalize:PY,resolve:IY,resolveComponent:YI,equal:AY,serialize:Jn,parse:Qo};Dl.exports=ty;Dl.exports.default=ty;Dl.exports.fastUri=ty});var nA=E(function(rA){Object.defineProperty(rA,"__esModule",{value:!0});var tA=eA();tA.code='require("ajv/dist/runtime/uri").default';rA.default=tA});var fA=E(function(Rr){Object.defineProperty(Rr,"__esModule",{value:!0});Rr.CodeGen=Rr.Name=Rr.nil=Rr.stringify=Rr.str=Rr._=Rr.KeywordCxt=void 0;var DY=ua();Object.defineProperty(Rr,"KeywordCxt",{enumerable:!0,get:function(){return DY.KeywordCxt}});var ts=ee();Object.defineProperty(Rr,"_",{enumerable:!0,get:function(){return ts._}});Object.defineProperty(Rr,"str",{enumerable:!0,get:function(){return ts.str}});Object.defineProperty(Rr,"stringify",{enumerable:!0,get:function(){return ts.stringify}});Object.defineProperty(Rr,"nil",{enumerable:!0,get:function(){return ts.nil}});Object.defineProperty(Rr,"Name",{enumerable:!0,get:function(){return ts.Name}});Object.defineProperty(Rr,"CodeGen",{enumerable:!0,get:function(){return ts.CodeGen}});var jY=Al(),cA=la(),uA=Dg(),ar=zl(),lA=ee(),cr=ca(),ln=aa(),es=ue(),oA=DI(),MY=nA(),dA=(e,t)=>new RegExp(e,t);dA.code="new RegExp";var qY=["removeAdditional","useDefaults","coerceTypes"],FY=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),UY={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},WY={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},sA=200;function VY(e){var t,r,n,o,s,i,a,c,u,l,d,f,m,h,g,y,w,T,S,I,_,v,k,A,D;let G=e.strict,ie=(t=e.code)===null||t===void 0?void 0:t.optimize,ae=ie===!0||ie===void 0?1:ie||0,De=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:dA,W=(o=e.uriResolver)!==null&&o!==void 0?o:MY.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:G)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:G)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=e.strictTypes)!==null&&u!==void 0?u:G)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=e.strictTuples)!==null&&d!==void 0?d:G)!==null&&f!==void 0?f:"log",strictRequired:(h=(m=e.strictRequired)!==null&&m!==void 0?m:G)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:ae,regExp:De}:{optimize:ae,regExp:De},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:sA,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:sA,meta:(w=e.meta)!==null&&w!==void 0?w:!0,messages:(T=e.messages)!==null&&T!==void 0?T:!0,inlineRefs:(S=e.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(I=e.schemaId)!==null&&I!==void 0?I:"$id",addUsedSchema:(_=e.addUsedSchema)!==null&&_!==void 0?_:!0,validateSchema:(v=e.validateSchema)!==null&&v!==void 0?v:!0,validateFormats:(k=e.validateFormats)!==null&&k!==void 0?k:!0,unicodeRegExp:(A=e.unicodeRegExp)!==null&&A!==void 0?A:!0,int32range:(D=e.int32range)!==null&&D!==void 0?D:!0,uriResolver:W}}class jl{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...VY(e)};let{es5:t,lines:r}=this.opts.code;this.scope=new lA.ValueScope({scope:{},prefixes:FY,es5:t,lines:r}),this.logger=JY(e.logger);let n=e.validateFormats;if(e.validateFormats=!1,this.RULES=uA.getRules(),iA.call(this,UY,e,"NOT SUPPORTED"),iA.call(this,WY,e,"DEPRECATED","warn"),this._metaOpts=HY.call(this),e.formats)BY.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords)KY.call(this,e.keywords);if(typeof e.meta=="object")this.addMetaSchema(e.meta);ZY.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:t,schemaId:r}=this.opts,n=oA;if(r==="id")n={...oA},n.id=n.$id,delete n.$id;if(t&&e)this.addMetaSchema(n,n[r],!1)}defaultMeta(){let{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[t]||e:void 0}validate(e,t){let r;if(typeof e=="string"){if(r=this.getSchema(e),!r)throw Error(`no schema with key or ref "${e}"`)}else r=this.compile(e);let n=r(t);if(!("$async"in r))this.errors=r.errors;return n}compile(e,t){let r=this._addSchema(e,t);return r.validate||this._compileSchemaEnv(r)}compileAsync(e,t){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:r}=this.opts;return n.call(this,e,t);async function n(u,l){await o.call(this,u.$schema);let d=this._addSchema(u,l);return d.validate||s.call(this,d)}async function o(u){if(u&&!this.getSchema(u))await n.call(this,{$ref:u},!0)}async function s(u){try{return this._compileSchemaEnv(u)}catch(l){if(!(l instanceof cA.default))throw l;return i.call(this,l),await a.call(this,l.missingSchema),s.call(this,u)}}function i({missingSchema:u,missingRef:l}){if(this.refs[u])throw Error(`AnySchema ${u} is loaded but ${l} cannot be resolved`)}async function a(u){let l=await c.call(this,u);if(!this.refs[u])await o.call(this,l.$schema);if(!this.refs[u])this.addSchema(l,u,t)}async function c(u){let l=this._loading[u];if(l)return l;try{return await(this._loading[u]=r(u))}finally{delete this._loading[u]}}}addSchema(e,t,r,n=this.opts.validateSchema){if(Array.isArray(e)){for(let s of e)this.addSchema(s,void 0,r,n);return this}let o;if(typeof e==="object"){let{schemaId:s}=this.opts;if(o=e[s],o!==void 0&&typeof o!="string")throw Error(`schema ${s} must be string`)}return t=cr.normalizeId(t||o),this._checkUnique(t),this.schemas[t]=this._addSchema(e,r,t,n,!0),this}addMetaSchema(e,t,r=this.opts.validateSchema){return this.addSchema(e,t,!0,r),this}validateSchema(e,t){if(typeof e=="boolean")return!0;let r;if(r=e.$schema,r!==void 0&&typeof r!="string")throw Error("$schema must be a string");if(r=r||this.opts.defaultMeta||this.defaultMeta(),!r)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let n=this.validate(r,e);if(!n&&t){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw Error(o)}return n}getSchema(e){let t;while(typeof(t=aA.call(this,e))=="string")e=t;if(t===void 0){let{schemaId:r}=this.opts,n=new ar.SchemaEnv({schema:{},schemaId:r});if(t=ar.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let t=aA.call(this,e);if(typeof t=="object")this._cache.delete(t.schema);return delete this.schemas[e],delete this.refs[e],this}case"object":{let t=e;this._cache.delete(t);let r=e[this.opts.schemaId];if(r)r=cr.normalizeId(r),delete this.schemas[r],delete this.refs[r];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let t of e)this.addKeyword(t);return this}addKeyword(e,t){let r;if(typeof e=="string"){if(r=e,typeof t=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=r}else if(typeof e=="object"&&t===void 0){if(t=e,r=t.keyword,Array.isArray(r)&&!r.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(XY.call(this,r,t),!t)return es.eachItem(r,(o)=>ry.call(this,o)),this;e8.call(this,t);let n={...t,type:ln.getJSONTypes(t.type),schemaType:ln.getJSONTypes(t.schemaType)};return es.eachItem(r,n.type.length===0?(o)=>ry.call(this,o,n):(o)=>n.type.forEach((s)=>ry.call(this,o,n,s))),this}getKeyword(e){let t=this.RULES.all[e];return typeof t=="object"?t.definition:!!t}removeKeyword(e){let{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(let r of t.rules){let n=r.rules.findIndex((o)=>o.keyword===e);if(n>=0)r.rules.splice(n,1)}return this}addFormat(e,t){if(typeof t=="string")t=new RegExp(t);return this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:r="data"}={}){if(!e||e.length===0)return"No errors";return e.map((n)=>`${r}${n.instancePath} ${n.message}`).reduce((n,o)=>n+t+o)}$dataMetaSchema(e,t){let r=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let n of t){let o=n.split("/").slice(1),s=e;for(let i of o)s=s[i];for(let i in r){let a=r[i];if(typeof a!="object")continue;let{$data:c}=a.definition,u=s[i];if(c&&u)s[i]=pA(u)}}return e}_removeAllSchemas(e,t){for(let r in e){let n=e[r];if(!t||t.test(r)){if(typeof n=="string")delete e[r];else if(n&&!n.meta)this._cache.delete(n.schema),delete e[r]}}}_addSchema(e,t,r,n=this.opts.validateSchema,o=this.opts.addUsedSchema){let s,{schemaId:i}=this.opts;if(typeof e=="object")s=e[i];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof e!="boolean")throw Error("schema must be object or boolean");let a=this._cache.get(e);if(a!==void 0)return a;r=cr.normalizeId(s||r);let c=cr.getSchemaRefs.call(this,e,r);if(a=new ar.SchemaEnv({schema:e,schemaId:i,meta:t,baseId:r,localRefs:c}),this._cache.set(a.schema,a),o&&!r.startsWith("#")){if(r)this._checkUnique(r);this.refs[r]=a}if(n)this.validateSchema(e,!0);return a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta)this._compileMetaSchema(e);else ar.compileSchema.call(this,e);if(!e.validate)throw Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let t=this.opts;this.opts=this._metaOpts;try{ar.compileSchema.call(this,e)}finally{this.opts=t}}}jl.ValidationError=jY.default;jl.MissingRefError=cA.default;Rr.default=jl;function iA(e,t,r,n="error"){for(let o in e){let s=o;if(s in t)this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function aA(e){return e=cr.normalizeId(e),this.schemas[e]||this.refs[e]}function ZY(){let e=this.opts.schemas;if(!e)return;if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function BY(){for(let e in this.opts.formats){let t=this.opts.formats[e];if(t)this.addFormat(e,t)}}function KY(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];if(!r.keyword)r.keyword=t;this.addKeyword(r)}}function HY(){let e={...this.opts};for(let t of qY)delete e[t];return e}var GY={log(){},warn(){},error(){}};function JY(e){if(e===!1)return GY;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw Error("logger must implement log, warn and error methods")}var YY=/^[a-z_$][a-z0-9_$:-]*$/i;function XY(e,t){let{RULES:r}=this;if(es.eachItem(e,(n)=>{if(r.keywords[n])throw Error(`Keyword ${n} is already defined`);if(!YY.test(n))throw Error(`Keyword ${n} has invalid name`)}),!t)return;if(t.$data&&!(("code"in t)||("validate"in t)))throw Error('$data keyword must have "code" or "validate" function')}function ry(e,t,r){var n;let o=t===null||t===void 0?void 0:t.post;if(r&&o)throw Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(!i)i={type:r,rules:[]},s.rules.push(i);if(s.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:ln.getJSONTypes(t.type),schemaType:ln.getJSONTypes(t.schemaType)}};if(t.before)QY.call(this,i,a,t.before);else i.rules.push(a);s.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach((c)=>this.addKeyword(c))}function QY(e,t,r){let n=e.rules.findIndex((o)=>o.keyword===r);if(n>=0)e.rules.splice(n,0,t);else e.rules.push(t),this.logger.warn(`rule ${r} is not defined`)}function e8(e){let{metaSchema:t}=e;if(t===void 0)return;if(e.$data&&this.opts.$data)t=pA(t);e.validateSchema=this.compile(t,!0)}var t8={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function pA(e){return{anyOf:[e,t8]}}});var hA=E(function(mA){Object.defineProperty(mA,"__esModule",{value:!0});var o8={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};mA.default=o8});var wA=E(function(yA){Object.defineProperty(yA,"__esModule",{value:!0});yA.callRef=yA.getValidate=void 0;var i8=la(),ql=Dt(),be=ee(),rs=Ar(),Fl=zl(),dn=ue(),a8={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=Fl.resolveRef.call(c,u,o,r);if(l===void 0)throw new i8.default(n.opts.uriResolver,o,r);if(l instanceof Fl.SchemaEnv)return f(l);return m(l);function d(){if(s===u)return Ml(e,i,s,s.$async);let h=t.scopeValue("root",{ref:u});return Ml(e,be._`${h}.validate`,u,u.$async)}function f(h){let g=gA(e,h);Ml(e,g,h,h.$async)}function m(h){let g=t.scopeValue("schema",a.code.source===!0?{ref:h,code:be.stringify(h)}:{ref:h}),y=t.name("valid"),w=e.subschema({schema:h,dataTypes:[],schemaPath:be.nil,topSchemaRef:g,errSchemaPath:r},y);e.mergeEvaluated(w),e.ok(y)}}};function gA(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):be._`${r.scopeValue("wrapper",{ref:t})}.validate`}yA.getValidate=gA;function Ml(e,t,r,n){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?rs.default.this:be.nil;if(n)l();else d();function l(){if(!a.$async)throw Error("async schema referenced by sync schema");let h=o.let("valid");o.try(()=>{if(o.code(be._`await ${ql.callValidateCode(e,t,u)}`),m(t),!i)o.assign(h,!0)},(g)=>{if(o.if(be._`!(${g} instanceof ${s.ValidationError})`,()=>o.throw(g)),f(g),!i)o.assign(h,!1)}),e.ok(h)}function d(){e.result(ql.callValidateCode(e,t,u),()=>m(t),()=>f(t))}function f(h){let g=be._`${h}.errors`;o.assign(rs.default.vErrors,be._`${rs.default.vErrors} === null ? ${g} : ${rs.default.vErrors}.concat(${g})`),o.assign(rs.default.errors,be._`${rs.default.vErrors}.length`)}function m(h){var g;if(!s.opts.unevaluated)return;let y=(g=r===null||r===void 0?void 0:r.validate)===null||g===void 0?void 0:g.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps){if(y.props!==void 0)s.props=dn.mergeEvaluated.props(o,y.props,s.props)}else{let w=o.var("props",be._`${h}.evaluated.props`);s.props=dn.mergeEvaluated.props(o,w,s.props,be.Name)}if(s.items!==!0)if(y&&!y.dynamicItems){if(y.items!==void 0)s.items=dn.mergeEvaluated.items(o,y.items,s.items)}else{let w=o.var("items",be._`${h}.evaluated.items`);s.items=dn.mergeEvaluated.items(o,w,s.items,be.Name)}}}yA.callRef=Ml;yA.default=a8});var vA=E(function(_A){Object.defineProperty(_A,"__esModule",{value:!0});var l8=hA(),d8=wA(),p8=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",l8.default,d8.default];_A.default=p8});var kA=E(function(SA){Object.defineProperty(SA,"__esModule",{value:!0});var fn=ee(),pn=fn.operators,Ul={maximum:{okStr:"<=",ok:pn.LTE,fail:pn.GT},minimum:{okStr:">=",ok:pn.GTE,fail:pn.LT},exclusiveMaximum:{okStr:"<",ok:pn.LT,fail:pn.GTE},exclusiveMinimum:{okStr:">",ok:pn.GT,fail:pn.LTE}},m8={message:({keyword:e,schemaCode:t})=>fn.str`must be ${Ul[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>fn._`{comparison: ${Ul[e].okStr}, limit: ${t}}`},h8={keyword:Object.keys(Ul),type:"number",schemaType:"number",$data:!0,error:m8,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data(fn._`${r} ${Ul[t].fail} ${n} || isNaN(${r})`)}};SA.default=h8});var $A=E(function(xA){Object.defineProperty(xA,"__esModule",{value:!0});var ur=ee(),y8={message:({schemaCode:e})=>ur.str`must be multiple of ${e}`,params:({schemaCode:e})=>ur._`{multipleOf: ${e}}`},b8={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:y8,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?ur._`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:ur._`${i} !== parseInt(${i})`;e.fail$data(ur._`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};xA.default=b8});var OA=E(function(TA){Object.defineProperty(TA,"__esModule",{value:!0});function EA(e){let t=e.length,r=0,n=0,o;while(n<t)if(r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t){if(o=e.charCodeAt(n),(o&64512)===56320)n++}return r}TA.default=EA;EA.code='require("ajv/dist/runtime/ucs2length").default'});var AA=E(function(IA){Object.defineProperty(IA,"__esModule",{value:!0});var ft=ee(),PA=ue(),v8=OA(),S8={message({keyword:e,schemaCode:t}){return ft.str`must NOT have ${e==="maxLength"?"more":"fewer"} than ${t} characters`},params:({schemaCode:e})=>ft._`{limit: ${e}}`},k8={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:S8,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,s=t==="maxLength"?ft.operators.GT:ft.operators.LT,i=o.opts.unicode===!1?ft._`${r}.length`:ft._`${PA.useFunc(e.gen,v8.default)}(${r})`;e.fail$data(ft._`${i} ${s} ${n}`)}};IA.default=k8});var NA=E(function(zA){Object.defineProperty(zA,"__esModule",{value:!0});var RA=Dt(),CA=ue(),jt=ee(),$8={message:({schemaCode:e})=>jt.str`must match pattern "${e}"`,params:({schemaCode:e})=>jt._`{pattern: ${e}}`},E8={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:$8,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?jt._`new RegExp`:CA.useFunc(t,c),l=t.let("valid");t.try(()=>t.assign(l,jt._`${u}(${s}, ${a}).test(${r})`),()=>t.assign(l,!1)),e.fail$data(jt._`!${l}`)}else{let c=RA.usePattern(e,o);e.fail$data(jt._`!${c}.test(${r})`)}}};zA.default=E8});var DA=E(function(LA){Object.defineProperty(LA,"__esModule",{value:!0});var lr=ee(),O8={message({keyword:e,schemaCode:t}){return lr.str`must NOT have ${e==="maxProperties"?"more":"fewer"} than ${t} properties`},params:({schemaCode:e})=>lr._`{limit: ${e}}`},P8={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:O8,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?lr.operators.GT:lr.operators.LT;e.fail$data(lr._`Object.keys(${r}).length ${o} ${n}`)}};LA.default=P8});var qA=E(function(MA){Object.defineProperty(MA,"__esModule",{value:!0});var dr=Dt(),pr=ee(),jA=ue(),A8={message:({params:{missingProperty:e}})=>pr.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>pr._`{missingProperty: ${e}}`},R8={keyword:"required",type:"object",schemaType:"array",$data:!0,error:A8,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors)u();else l();if(a.strictRequired){let m=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)if((m===null||m===void 0?void 0:m[g])===void 0&&!h.has(g)){let y=i.schemaEnv.baseId+i.errSchemaPath,w=`required property "${g}" is not defined at "${y}" (strictRequired)`;jA.checkStrictMode(i,w,i.opts.strictRequired)}}function u(){if(c||s)e.block$data(pr.nil,d);else for(let m of r)dr.checkReportMissingProp(e,m)}function l(){let m=t.let("missing");if(c||s){let h=t.let("valid",!0);e.block$data(h,()=>f(m,h)),e.ok(h)}else t.if(dr.checkMissingProp(e,r,m)),dr.reportMissingProp(e,m),t.else()}function d(){t.forOf("prop",n,(m)=>{e.setParams({missingProperty:m}),t.if(dr.noPropertyInData(t,o,m,a.ownProperties),()=>e.error())})}function f(m,h){e.setParams({missingProperty:m}),t.forOf(m,n,()=>{t.assign(h,dr.propertyInData(t,o,m,a.ownProperties)),t.if(pr.not(h),()=>{e.error(),t.break()})},pr.nil)}}};MA.default=R8});var UA=E(function(FA){Object.defineProperty(FA,"__esModule",{value:!0});var fr=ee(),z8={message({keyword:e,schemaCode:t}){return fr.str`must NOT have ${e==="maxItems"?"more":"fewer"} than ${t} items`},params:({schemaCode:e})=>fr._`{limit: ${e}}`},N8={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:z8,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?fr.operators.GT:fr.operators.LT;e.fail$data(fr._`${r}.length ${o} ${n}`)}};FA.default=N8});var Wl=E(function(VA){Object.defineProperty(VA,"__esModule",{value:!0});var WA=Vg();WA.code='require("ajv/dist/runtime/equal").default';VA.default=WA});var KA=E(function(BA){Object.defineProperty(BA,"__esModule",{value:!0});var ns=aa(),le=ee(),ZA=ue(),j8=Wl(),M8={message:({params:{i:e,j:t}})=>le.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>le._`{i: ${e}, j: ${t}}`},q8={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:M8,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),u=s.items?ns.getSchemaTypes(s.items):[];e.block$data(c,l,le._`${i} === false`),e.ok(c);function l(){let h=t.let("i",le._`${r}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(c,!0),t.if(le._`${h} > 1`,()=>(d()?f:m)(h,g))}function d(){return u.length>0&&!u.some((h)=>h==="object"||h==="array")}function f(h,g){let y=t.name("item"),w=ns.checkDataTypes(u,y,a.opts.strictNumbers,ns.DataType.Wrong),T=t.const("indices",le._`{}`);t.for(le._`;${h}--;`,()=>{if(t.let(y,le._`${r}[${h}]`),t.if(w,le._`continue`),u.length>1)t.if(le._`typeof ${y} == "string"`,le._`${y} += "_"`);t.if(le._`typeof ${T}[${y}] == "number"`,()=>{t.assign(g,le._`${T}[${y}]`),e.error(),t.assign(c,!1).break()}).code(le._`${T}[${y}] = ${h}`)})}function m(h,g){let y=ZA.useFunc(t,j8.default),w=t.name("outer");t.label(w).for(le._`;${h}--;`,()=>t.for(le._`${g} = ${h}; ${g}--;`,()=>t.if(le._`${y}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(w)})))}}};BA.default=q8});var JA=E(function(GA){Object.defineProperty(GA,"__esModule",{value:!0});var os=ee(),HA=ue(),U8=Wl(),W8={message:"must be equal to constant",params:({schemaCode:e})=>os._`{allowedValue: ${e}}`},V8={keyword:"const",$data:!0,error:W8,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;if(n||s&&typeof s=="object")e.fail$data(os._`!${HA.useFunc(t,U8.default)}(${r}, ${o})`);else e.fail(os._`${s} !== ${r}`)}};GA.default=V8});var QA=E(function(XA){Object.defineProperty(XA,"__esModule",{value:!0});var mr=ee(),YA=ue(),B8=Wl(),K8={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>mr._`{allowedValues: ${e}}`},H8={keyword:"enum",schemaType:"array",$data:!0,error:K8,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;if(!n&&o.length===0)throw Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c!==null&&c!==void 0?c:c=YA.useFunc(t,B8.default),l;if(a||n)l=t.let("valid"),e.block$data(l,d);else{if(!Array.isArray(o))throw Error("ajv implementation error");let m=t.const("vSchema",s);l=mr.or(...o.map((h,g)=>f(m,g)))}e.pass(l);function d(){t.assign(l,!1),t.forOf("v",s,(m)=>t.if(mr._`${u()}(${r}, ${m})`,()=>t.assign(l,!0).break()))}function f(m,h){let g=o[h];return typeof g==="object"&&g!==null?mr._`${u()}(${r}, ${m}[${h}])`:mr._`${r} === ${g}`}}};XA.default=H8});var tR=E(function(eR){Object.defineProperty(eR,"__esModule",{value:!0});var J8=kA(),Y8=$A(),X8=AA(),Q8=NA(),eX=DA(),tX=qA(),rX=UA(),nX=KA(),oX=JA(),sX=QA(),iX=[J8.default,Y8.default,X8.default,Q8.default,eX.default,tX.default,rX.default,nX.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},oX.default,sX.default];eR.default=iX});var ny=E(function(nR){Object.defineProperty(nR,"__esModule",{value:!0});nR.validateAdditionalItems=void 0;var mt=ee(),ss=ue(),cX={message:({params:{len:e}})=>mt.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>mt._`{limit: ${e}}`},uX={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:cX,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){ss.checkStrictMode(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}rR(e,n)}};function rR(e,t){let{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;let a=r.const("len",mt._`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass(mt._`${a} <= ${t.length}`);else if(typeof n=="object"&&!ss.alwaysValidSchema(i,n)){let u=r.var("valid",mt._`${a} <= ${t.length}`);r.if(mt.not(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,a,(l)=>{if(e.subschema({keyword:s,dataProp:l,dataPropType:ss.Type.Num},u),!i.allErrors)r.if(mt.not(u),()=>r.break())})}}nR.validateAdditionalItems=rR;nR.default=uX});var oy=E(function(aR){Object.defineProperty(aR,"__esModule",{value:!0});aR.validateTuple=void 0;var Vl=ee(),mn=ue(),sR=Dt(),dX={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return iR(e,"additionalItems",t);if(r.items=!0,mn.alwaysValidSchema(r,t))return;e.ok(sR.validateArray(e))}};function iR(e,t,r=e.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;if(l(o),a.opts.unevaluated&&r.length&&a.items!==!0)a.items=mn.mergeEvaluated.items(n,r.length,a.items);let c=n.name("valid"),u=n.const("len",Vl._`${s}.length`);r.forEach((d,f)=>{if(mn.alwaysValidSchema(a,d))return;n.if(Vl._`${u} > ${f}`,()=>e.subschema({keyword:i,schemaProp:f,dataProp:f},c)),e.ok(c)});function l(d){let{opts:f,errSchemaPath:m}=a,h=r.length,g=h===d.minItems&&(h===d.maxItems||d[t]===!1);if(f.strictTuples&&!g){let y=`"${i}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${m}"`;mn.checkStrictMode(a,y,f.strictTuples)}}}aR.validateTuple=iR;aR.default=dX});var dR=E(function(lR){Object.defineProperty(lR,"__esModule",{value:!0});var uR=oy(),fX={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(e)=>uR.validateTuple(e,"items")};lR.default=fX});var gR=E(function(hR){Object.defineProperty(hR,"__esModule",{value:!0});var Zl=ee(),pR=ue(),fR=Dt(),mR=ny(),hX={message:({params:{len:e}})=>Zl.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>Zl._`{limit: ${e}}`},gX={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:hX,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;if(n.items=!0,pR.alwaysValidSchema(n,t))return;if(o)mR.validateAdditionalItems(e,o);else e.ok(fR.validateArray(e))}};hR.default=gX});var bR=E(function(yR){Object.defineProperty(yR,"__esModule",{value:!0});var Ee=ee(),hn=ue(),bX={message:({params:{min:e,max:t}})=>t===void 0?Ee.str`must contain at least ${e} valid item(s)`:Ee.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?Ee._`{minContains: ${e}}`:Ee._`{minContains: ${e}, maxContains: ${t}}`},wX={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:bX,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e,i,a,{minContains:c,maxContains:u}=n;if(s.opts.next)i=c===void 0?1:c,a=u;else i=1;let l=t.const("len",Ee._`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){hn.checkStrictMode(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){hn.checkStrictMode(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if(hn.alwaysValidSchema(s,r)){let g=Ee._`${l} >= ${i}`;if(a!==void 0)g=Ee._`${g} && ${l} <= ${a}`;e.pass(g);return}s.items=!0;let d=t.name("valid");if(a===void 0&&i===1)m(d,()=>t.if(d,()=>t.break()));else if(i===0){if(t.let(d,!0),a!==void 0)t.if(Ee._`${o}.length > 0`,f)}else t.let(d,!1),f();e.result(d,()=>e.reset());function f(){let g=t.name("_valid"),y=t.let("count",0);m(g,()=>t.if(g,()=>h(y)))}function m(g,y){t.forRange("i",0,l,(w)=>{e.subschema({keyword:"contains",dataProp:w,dataPropType:hn.Type.Num,compositeRule:!0},g),y()})}function h(g){if(t.code(Ee._`${g}++`),a===void 0)t.if(Ee._`${g} >= ${i}`,()=>t.assign(d,!0).break());else if(t.if(Ee._`${g} > ${a}`,()=>t.assign(d,!1).break()),i===1)t.assign(d,!0);else t.if(Ee._`${g} >= ${i}`,()=>t.assign(d,!0))}}};yR.default=wX});var $R=E(function(SR){Object.defineProperty(SR,"__esModule",{value:!0});SR.validateSchemaDeps=SR.validatePropertyDeps=SR.error=void 0;var is=ee(),wR=ue(),hr=Dt();SR.error={message:({params:{property:e,depsCount:t,deps:r}})=>is.str`must have ${t===1?"property":"properties"} ${r} when property ${e} is present`,params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>is._`{property: ${e},
|
|
169
|
+
|| ${i} === "boolean" || ${o} === null`).assign(a,L._`[${o}]`)}}}function aY({gen:e,parentData:t,parentDataProperty:r},n){e.if(L._`${t} !== undefined`,()=>e.assign(L._`${t}[${r}]`,n))}function ry(e,t,r,n=es.Correct){let o=n===es.Correct?L.operators.EQ:L.operators.NEQ,s;switch(e){case"null":return L._`${t} ${o} null`;case"array":s=L._`Array.isArray(${t})`;break;case"object":s=L._`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case"integer":s=i(L._`!(${t} % 1) && !isNaN(${t})`);break;case"number":s=i();break;default:return L._`typeof ${t} ${o} ${e}`}return n===es.Correct?s:L.not(s);function i(a=L.nil){return L.and(L._`typeof ${t} == "number"`,a,r?L._`isFinite(${t})`:L.nil)}}fI.checkDataType=ry;function ny(e,t,r,n){if(e.length===1)return ry(e[0],t,r,n);let o,s=zl.toHash(e);if(s.array&&s.object){let i=L._`typeof ${t} != "object"`;o=s.null?i:L._`!${t} || ${i}`,delete s.null,delete s.array,delete s.object}else o=L.nil;if(s.number)delete s.integer;for(let i in s)o=L.and(o,ry(i,t,r,n));return o}fI.checkDataTypes=ny;var cY={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?L._`{type: ${e}}`:L._`{type: ${t}}`};function oy(e){let t=uY(e);lI.reportError(t,cY)}fI.reportTypeError=oy;function uY(e){let{gen:t,data:r,schema:n}=e,o=zl.schemaRefOrVal(e,n,"type");return{gen:t,keyword:"type",data:r,schema:n.type,schemaCode:o,schemaValue:o,parentSchema:n,params:{},it:e}}});var bI=T(function(yI){Object.defineProperty(yI,"__esModule",{value:!0});yI.assignDefaults=void 0;var Mt=ee(),gI=ue();function gY(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)hI(e,o,r[o].default);else if(t==="array"&&Array.isArray(n))n.forEach((o,s)=>hI(e,s,o.default))}yI.assignDefaults=gY;function hI(e,t,r){let{gen:n,compositeRule:o,data:s,opts:i}=e;if(r===void 0)return;let a=Mt._`${s}${Mt.getProperty(t)}`;if(o){gI.checkStrictMode(e,`default is ignored for: ${a}`);return}let c=Mt._`${a} === undefined`;if(i.useDefaults==="empty")c=Mt._`${c} || ${a} === null || ${a} === ""`;n.if(c,Mt._`${a} = ${Mt.stringify(r)}`)}});var qt=T(function(kI){Object.defineProperty(kI,"__esModule",{value:!0});kI.validateUnion=kI.validateArray=kI.usePattern=kI.callValidateCode=kI.schemaProperties=kI.allSchemaProperties=kI.noPropertyInData=kI.propertyInData=kI.isOwnProperty=kI.hasPropFunc=kI.reportMissingProp=kI.checkMissingProp=kI.checkReportMissingProp=void 0;var G=ee(),ts=ue(),pn=zr(),_I=ue();function yY(e,t){let{gen:r,data:n,it:o}=e;r.if(iy(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:G._`${t}`},!0),e.error()})}kI.checkReportMissingProp=yY;function wY({gen:e,data:t,it:{opts:r}},n,o){return G.or(...n.map((s)=>G.and(iy(e,t,s,r.ownProperties),G._`${o} = ${s}`)))}kI.checkMissingProp=wY;function bY(e,t){e.setParams({missingProperty:t},!0),e.error()}kI.reportMissingProp=bY;function vI(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:G._`Object.prototype.hasOwnProperty`})}kI.hasPropFunc=vI;function sy(e,t,r){return G._`${vI(e)}.call(${t}, ${r})`}kI.isOwnProperty=sy;function _Y(e,t,r,n){let o=G._`${t}${G.getProperty(r)} !== undefined`;return n?G._`${o} && ${sy(e,t,r)}`:o}kI.propertyInData=_Y;function iy(e,t,r,n){let o=G._`${t}${G.getProperty(r)} === undefined`;return n?G.or(o,G.not(sy(e,t,r))):o}kI.noPropertyInData=iy;function SI(e){return e?Object.keys(e).filter((t)=>t!=="__proto__"):[]}kI.allSchemaProperties=SI;function vY(e,t){return SI(t).filter((r)=>!ts.alwaysValidSchema(e,t[r]))}kI.schemaProperties=vY;function SY({schemaCode:e,data:t,it:{gen:r,topSchemaRef:n,schemaPath:o,errorPath:s},it:i},a,c,u){let l=u?G._`${e}, ${t}, ${n}${o}`:t,d=[[pn.default.instancePath,G.strConcat(pn.default.instancePath,s)],[pn.default.parentData,i.parentData],[pn.default.parentDataProperty,i.parentDataProperty],[pn.default.rootData,pn.default.rootData]];if(i.opts.dynamicRef)d.push([pn.default.dynamicAnchors,pn.default.dynamicAnchors]);let f=G._`${l}, ${r.object(...d)}`;return c!==G.nil?G._`${a}.call(${c}, ${f})`:G._`${a}(${f})`}kI.callValidateCode=SY;var kY=G._`new RegExp`;function xY({gen:e,it:{opts:t}},r){let n=t.unicodeRegExp?"u":"",{regExp:o}=t.code,s=o(r,n);return e.scopeValue("pattern",{key:s.toString(),ref:s,code:G._`${o.code==="new RegExp"?kY:_I.useFunc(e,o)}(${r}, ${n})`})}kI.usePattern=xY;function $Y(e){let{gen:t,data:r,keyword:n,it:o}=e,s=t.name("valid");if(o.allErrors){let a=t.let("valid",!0);return i(()=>t.assign(a,!1)),a}return t.var(s,!0),i(()=>t.break()),s;function i(a){let c=t.const("len",G._`${r}.length`);t.forRange("i",0,c,(u)=>{e.subschema({keyword:n,dataProp:u,dataPropType:ts.Type.Num},s),t.if(G.not(s),a)})}}kI.validateArray=$Y;function EY(e){let{gen:t,schema:r,keyword:n,it:o}=e;if(!Array.isArray(r))throw Error("ajv implementation error");if(r.some((c)=>ts.alwaysValidSchema(o,c))&&!o.opts.unevaluated)return;let i=t.let("valid",!1),a=t.name("_valid");t.block(()=>r.forEach((c,u)=>{let l=e.subschema({keyword:n,schemaProp:u,compositeRule:!0},a);if(t.assign(i,G._`${i} || ${a}`),!e.mergeValidEvaluated(l,a))t.if(G.not(i))})),e.result(i,()=>e.reset(),()=>e.error(!0))}kI.validateUnion=EY});var RI=T(function(OI){Object.defineProperty(OI,"__esModule",{value:!0});OI.validateKeywordUsage=OI.validSchemaType=OI.funcKeywordCode=OI.macroKeywordCode=void 0;var me=ee(),Qn=zr(),EI=qt(),TI=pa();function MY(e,t){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=PI(r,n,a);if(i.opts.validateSchema!==!1)i.self.validateSchema(a,!0);let u=r.name("valid");e.subschema({schema:a,schemaPath:me.nil,errSchemaPath:`${i.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},u),e.pass(u,()=>e.error(!0))}OI.macroKeywordCode=MY;function qY(e,t){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;UY(c,t);let u=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,l=PI(n,o,u),d=n.let("valid");e.block$data(d,f),e.ok((r=t.valid)!==null&&r!==void 0?r:d);function f(){if(t.errors===!1){if(g(),t.modifying)$I(e);y(()=>e.error())}else{let b=t.async?m():h();if(t.modifying)$I(e);y(()=>FY(e,b))}}function m(){let b=n.let("ruleErrs",null);return n.try(()=>g(me._`await `),(E)=>n.assign(d,!1).if(me._`${E} instanceof ${c.ValidationError}`,()=>n.assign(b,me._`${E}.errors`),()=>n.throw(E))),b}function h(){let b=me._`${l}.errors`;return n.assign(b,null),g(me.nil),b}function g(b=t.async?me._`await `:me.nil){let E=c.opts.passContext?Qn.default.this:Qn.default.self,S=!(("compile"in t)&&!a||t.schema===!1);n.assign(d,me._`${b}${EI.callValidateCode(e,l,E,S)}`,t.modifying)}function y(b){var E;n.if(me.not((E=t.valid)!==null&&E!==void 0?E:d),b)}}OI.funcKeywordCode=qY;function $I(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,me._`${n.parentData}[${n.parentDataProperty}]`))}function FY(e,t){let{gen:r}=e;r.if(me._`Array.isArray(${t})`,()=>{r.assign(Qn.default.vErrors,me._`${Qn.default.vErrors} === null ? ${t} : ${Qn.default.vErrors}.concat(${t})`).assign(Qn.default.errors,me._`${Qn.default.vErrors}.length`),TI.extendErrors(e)},()=>e.error())}function UY({schemaEnv:e},t){if(t.async&&!e.$async)throw Error("async keyword in sync schema")}function PI(e,t,r){if(r===void 0)throw Error(`keyword "${t}" failed to compile`);return e.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:me.stringify(r)})}function WY(e,t,r=!1){return!t.length||t.some((n)=>n==="array"?Array.isArray(e):n==="object"?e&&typeof e=="object"&&!Array.isArray(e):typeof e==n||r&&typeof e>"u")}OI.validSchemaType=WY;function VY({schema:e,opts:t,self:r,errSchemaPath:n},o,s){if(Array.isArray(o.keyword)?!o.keyword.includes(s):o.keyword!==s)throw Error("ajv implementation error");let i=o.dependencies;if(i===null||i===void 0?void 0:i.some((a)=>!Object.prototype.hasOwnProperty.call(e,a)))throw Error(`parent schema must have dependencies of ${s}: ${i.join(",")}`);if(o.validateSchema){if(!o.validateSchema(e[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(o.validateSchema.errors);if(t.validateSchema==="log")r.logger.error(c);else throw Error(c)}}}OI.validateKeywordUsage=VY});var zI=T(function(AI){Object.defineProperty(AI,"__esModule",{value:!0});AI.extendSubschemaMode=AI.extendSubschemaData=AI.getSubschema=void 0;var je=ee(),Nl=ue();function HY(e,{keyword:t,schemaProp:r,schema:n,schemaPath:o,errSchemaPath:s,topSchemaRef:i}){if(t!==void 0&&n!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(t!==void 0){let a=e.schema[t];return r===void 0?{schema:a,schemaPath:je._`${e.schemaPath}${je.getProperty(t)}`,errSchemaPath:`${e.errSchemaPath}/${t}`}:{schema:a[r],schemaPath:je._`${e.schemaPath}${je.getProperty(t)}${je.getProperty(r)}`,errSchemaPath:`${e.errSchemaPath}/${t}/${Nl.escapeFragment(r)}`}}if(n!==void 0){if(o===void 0||s===void 0||i===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:o,topSchemaRef:i,errSchemaPath:s}}throw Error('either "keyword" or "schema" must be passed')}AI.getSubschema=HY;function GY(e,t,{dataProp:r,dataPropType:n,data:o,dataTypes:s,propertyName:i}){if(o!==void 0&&r!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=t;if(r!==void 0){let{errorPath:u,dataPathArr:l,opts:d}=t,f=a.let("data",je._`${t.data}${je.getProperty(r)}`,!0);c(f),e.errorPath=je.str`${u}${Nl.getErrorPath(r,n,d.jsPropertySyntax)}`,e.parentDataProperty=je._`${r}`,e.dataPathArr=[...l,e.parentDataProperty]}if(o!==void 0){let u=o instanceof je.Name?o:a.let("data",o,!0);if(c(u),i!==void 0)e.propertyName=i}if(s)e.dataTypes=s;function c(u){e.data=u,e.dataLevel=t.dataLevel+1,e.dataTypes=[],t.definedProperties=new Set,e.parentData=t.data,e.dataNames=[...t.dataNames,u]}}AI.extendSubschemaData=GY;function JY(e,{jtdDiscriminator:t,jtdMetadata:r,compositeRule:n,createErrors:o,allErrors:s}){if(n!==void 0)e.compositeRule=n;if(o!==void 0)e.createErrors=o;if(s!==void 0)e.allErrors=s;e.jtdDiscriminator=t,e.jtdMetadata=r}AI.extendSubschemaMode=JY});var ay=T(function(Wve,NI){NI.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),n=s.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;o--!==0;){var i=s[o];if(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}});var jI=T(function(Vve,LI){var fn=LI.exports=function(e,t,r){if(typeof t=="function")r=t,t={};r=t.cb||r;var n=typeof r=="function"?r:r.pre||function(){},o=r.post||function(){};Ll(t,n,o,e,"",e)};fn.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};fn.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};fn.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};fn.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function Ll(e,t,r,n,o,s,i,a,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){t(n,o,s,i,a,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in fn.arrayKeywords)for(var f=0;f<d.length;f++)Ll(e,t,r,d[f],o+"/"+l+"/"+f,s,o,l,n,f)}else if(l in fn.propsKeywords){if(d&&typeof d=="object")for(var m in d)Ll(e,t,r,d[m],o+"/"+l+"/"+QY(m),s,o,l,n,m)}else if(l in fn.keywords||e.allKeys&&!(l in fn.skipKeywords))Ll(e,t,r,d,o+"/"+l,s,o,l,n)}r(n,o,s,i,a,c,u)}}function QY(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var ma=T(function(UI){Object.defineProperty(UI,"__esModule",{value:!0});UI.getSchemaRefs=UI.resolveUrl=UI.normalizeId=UI._getFullPath=UI.getFullPath=UI.inlineRef=void 0;var DI=ue(),e7=ay(),t7=jI(),r7=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function n7(e,t=!0){if(typeof e=="boolean")return!0;if(t===!0)return!cy(e);if(!t)return!1;return MI(e)<=t}UI.inlineRef=n7;var o7=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function cy(e){for(let t in e){if(o7.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(cy))return!0;if(typeof r=="object"&&cy(r))return!0}return!1}function MI(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,r7.has(r))continue;if(typeof e[r]=="object")DI.eachItem(e[r],(n)=>t+=MI(n));if(t===1/0)return 1/0}return t}function qI(e,t="",r){if(r!==!1)t=rs(t);let n=e.parse(t);return FI(e,n)}UI.getFullPath=qI;function FI(e,t){return e.serialize(t).split("#")[0]+"#"}UI._getFullPath=FI;var s7=/#\/?$/;function rs(e){return e?e.replace(s7,""):""}UI.normalizeId=rs;function i7(e,t,r){return r=rs(r),e.resolve(t,r)}UI.resolveUrl=i7;var a7=/^[a-z_][-a-z0-9._]*$/i;function c7(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=rs(e[r]||t),s={"":o},i=qI(n,o,!1),a={},c=new Set;return t7(e,{allKeys:!0},(d,f,m,h)=>{if(h===void 0)return;let g=i+f,y=s[h];if(typeof d[r]=="string")y=b.call(this,d[r]);E.call(this,d.$anchor),E.call(this,d.$dynamicAnchor),s[f]=y;function b(S){let I=this.opts.uriResolver.resolve;if(S=rs(y?I(y,S):S),c.has(S))throw l(S);c.add(S);let _=this.refs[S];if(typeof _=="string")_=this.refs[_];if(typeof _=="object")u(d,_.schema,S);else if(S!==rs(g))if(S[0]==="#")u(d,a[S],S),a[S]=d;else this.refs[S]=g;return S}function E(S){if(typeof S=="string"){if(!a7.test(S))throw Error(`invalid anchor "${S}"`);b.call(this,`#${S}`)}}}),a;function u(d,f,m){if(f!==void 0&&!e7(d,f))throw l(m)}function l(d){return Error(`reference "${d}" resolves to more than one schema`)}}UI.getSchemaRefs=c7});var ha=T(function(oR){Object.defineProperty(oR,"__esModule",{value:!0});oR.getData=oR.KeywordCxt=oR.validateFunctionCode=void 0;var Dl=tI(),jl=fa(),os=ty(),mn=fa(),KI=bI(),pr=RI(),ns=zI(),A=ee(),X=zr(),HI=ma(),Ke=ue(),dr=pa();function m7(e){if(YI(e)){if(XI(e),JI(e)){y7(e);return}}GI(e,()=>Dl.topBoolOrEmptySchema(e))}oR.validateFunctionCode=m7;function GI({gen:e,validateName:t,schema:r,schemaEnv:n,opts:o},s){if(o.code.es5)e.func(t,A._`${X.default.data}, ${X.default.valCxt}`,n.$async,()=>{e.code(A._`"use strict"; ${VI(r,o)}`),g7(e,o),e.code(s)});else e.func(t,A._`${X.default.data}, ${h7(o)}`,n.$async,()=>e.code(VI(r,o)).code(s))}function h7(e){return A._`{${X.default.instancePath}="", ${X.default.parentData}, ${X.default.parentDataProperty}, ${X.default.rootData}=${X.default.data}${e.dynamicRef?A._`, ${X.default.dynamicAnchors}={}`:A.nil}}={}`}function g7(e,t){e.if(X.default.valCxt,()=>{if(e.var(X.default.instancePath,A._`${X.default.valCxt}.${X.default.instancePath}`),e.var(X.default.parentData,A._`${X.default.valCxt}.${X.default.parentData}`),e.var(X.default.parentDataProperty,A._`${X.default.valCxt}.${X.default.parentDataProperty}`),e.var(X.default.rootData,A._`${X.default.valCxt}.${X.default.rootData}`),t.dynamicRef)e.var(X.default.dynamicAnchors,A._`${X.default.valCxt}.${X.default.dynamicAnchors}`)},()=>{if(e.var(X.default.instancePath,A._`""`),e.var(X.default.parentData,A._`undefined`),e.var(X.default.parentDataProperty,A._`undefined`),e.var(X.default.rootData,X.default.data),t.dynamicRef)e.var(X.default.dynamicAnchors,A._`{}`)})}function y7(e){let{schema:t,opts:r,gen:n}=e;GI(e,()=>{if(r.$comment&&t.$comment)eR(e);if(S7(e),n.let(X.default.vErrors,null),n.let(X.default.errors,0),r.unevaluated)w7(e);QI(e),$7(e)});return}function w7(e){let{gen:t,validateName:r}=e;e.evaluated=t.const("evaluated",A._`${r}.evaluated`),t.if(A._`${e.evaluated}.dynamicProps`,()=>t.assign(A._`${e.evaluated}.props`,A._`undefined`)),t.if(A._`${e.evaluated}.dynamicItems`,()=>t.assign(A._`${e.evaluated}.items`,A._`undefined`))}function VI(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?A._`/*# sourceURL=${r} */`:A.nil}function b7(e,t){if(YI(e)){if(XI(e),JI(e)){_7(e,t);return}}Dl.boolOrEmptySchema(e,t)}function JI({schema:e,self:t}){if(typeof e=="boolean")return!e;for(let r in e)if(t.RULES.all[r])return!0;return!1}function YI(e){return typeof e.schema!="boolean"}function _7(e,t){let{schema:r,gen:n,opts:o}=e;if(o.$comment&&r.$comment)eR(e);k7(e),x7(e);let s=n.const("_errs",X.default.errors);QI(e,s),n.var(t,A._`${s} === ${X.default.errors}`)}function XI(e){Ke.checkUnknownRules(e),v7(e)}function QI(e,t){if(e.opts.jtd)return ZI(e,[],!1,t);let r=jl.getSchemaTypes(e.schema),n=jl.coerceAndCheckDataType(e,r);ZI(e,r,!n,t)}function v7(e){let{schema:t,errSchemaPath:r,opts:n,self:o}=e;if(t.$ref&&n.ignoreKeywordsWithRef&&Ke.schemaHasRulesButRef(t,o.RULES))o.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function S7(e){let{schema:t,opts:r}=e;if(t.default!==void 0&&r.useDefaults&&r.strictSchema)Ke.checkStrictMode(e,"default is ignored in the schema root")}function k7(e){let t=e.schema[e.opts.schemaId];if(t)e.baseId=HI.resolveUrl(e.opts.uriResolver,e.baseId,t)}function x7(e){if(e.schema.$async&&!e.schemaEnv.$async)throw Error("async schema in sync schema")}function eR({gen:e,schemaEnv:t,schema:r,errSchemaPath:n,opts:o}){let s=r.$comment;if(o.$comment===!0)e.code(A._`${X.default.self}.logger.log(${s})`);else if(typeof o.$comment=="function"){let i=A.str`${n}/$comment`,a=e.scopeValue("root",{ref:t.root});e.code(A._`${X.default.self}.opts.$comment(${s}, ${i}, ${a}.schema)`)}}function $7(e){let{gen:t,schemaEnv:r,validateName:n,ValidationError:o,opts:s}=e;if(r.$async)t.if(A._`${X.default.errors} === 0`,()=>t.return(X.default.data),()=>t.throw(A._`new ${o}(${X.default.vErrors})`));else{if(t.assign(A._`${n}.errors`,X.default.vErrors),s.unevaluated)E7(e);t.return(A._`${X.default.errors} === 0`)}}function E7({gen:e,evaluated:t,props:r,items:n}){if(r instanceof A.Name)e.assign(A._`${t}.props`,r);if(n instanceof A.Name)e.assign(A._`${t}.items`,n)}function ZI(e,t,r,n){let{gen:o,schema:s,data:i,allErrors:a,opts:c,self:u}=e,{RULES:l}=u;if(s.$ref&&(c.ignoreKeywordsWithRef||!Ke.schemaHasRulesButRef(s,l))){o.block(()=>rR(e,"$ref",l.all.$ref.definition));return}if(!c.jtd)T7(e,t);o.block(()=>{for(let f of l.rules)d(f);d(l.post)});function d(f){if(!os.shouldUseGroup(s,f))return;if(f.type){if(o.if(mn.checkDataType(f.type,i,c.strictNumbers)),BI(e,f),t.length===1&&t[0]===f.type&&r)o.else(),mn.reportTypeError(e);o.endIf()}else BI(e,f);if(!a)o.if(A._`${X.default.errors} === ${n||0}`)}}function BI(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;if(o)KI.assignDefaults(e,t.type);r.block(()=>{for(let s of t.rules)if(os.shouldUseRule(n,s))rR(e,s.keyword,s.definition,t.type)})}function T7(e,t){if(e.schemaEnv.meta||!e.opts.strictTypes)return;if(P7(e,t),!e.opts.allowUnionTypes)O7(e,t);I7(e,e.dataTypes)}function P7(e,t){if(!t.length)return;if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach((r)=>{if(!tR(e.dataTypes,r))uy(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),A7(e,t)}function O7(e,t){if(t.length>1&&!(t.length===2&&t.includes("null")))uy(e,"use allowUnionTypes to allow union type keyword")}function I7(e,t){let r=e.self.RULES.all;for(let n in r){let o=r[n];if(typeof o=="object"&&os.shouldUseRule(e.schema,o)){let{type:s}=o.definition;if(s.length&&!s.some((i)=>R7(t,i)))uy(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function R7(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function tR(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function A7(e,t){let r=[];for(let n of e.dataTypes)if(tR(t,n))r.push(n);else if(t.includes("integer")&&n==="number")r.push("integer");e.dataTypes=r}function uy(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,Ke.checkStrictMode(e,t,e.opts.strictTypes)}class ly{constructor(e,t,r){if(pr.validateKeywordUsage(e,t,r),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=r,this.data=e.data,this.schema=e.schema[r],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=Ke.schemaRefOrVal(e,this.schema,r,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",nR(this.$data,e));else if(this.schemaCode=this.schemaValue,!pr.validSchemaType(this.schema,t.schemaType,t.allowUndefined))throw Error(`${r} value must be ${JSON.stringify(t.schemaType)}`);if("code"in t?t.trackErrors:t.errors!==!1)this.errsCount=e.gen.const("_errs",X.default.errors)}result(e,t,r){this.failResult(A.not(e),t,r)}failResult(e,t,r){if(this.gen.if(e),r)r();else this.error();if(t){if(this.gen.else(),t(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(e,t){this.failResult(A.not(e),void 0,t)}fail(e){if(e===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(e),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:t}=this;this.fail(A._`${t} !== undefined && (${A.or(this.invalid$data(),e)})`)}error(e,t,r){if(t){this.setParams(t),this._error(e,r),this.setParams({});return}this._error(e,r)}_error(e,t){(e?dr.reportExtraError:dr.reportError)(this,this.def.error,t)}$dataError(){dr.reportError(this,this.def.$dataError||dr.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');dr.resetErrorsCount(this.gen,this.errsCount)}ok(e){if(!this.allErrors)this.gen.if(e)}setParams(e,t){if(t)Object.assign(this.params,e);else this.params=e}block$data(e,t,r=A.nil){this.gen.block(()=>{this.check$data(e,r),t()})}check$data(e=A.nil,t=A.nil){if(!this.$data)return;let{gen:r,schemaCode:n,schemaType:o,def:s}=this;if(r.if(A.or(A._`${n} === undefined`,t)),e!==A.nil)r.assign(e,!0);if(o.length||s.validateSchema){if(r.elseIf(this.invalid$data()),this.$dataError(),e!==A.nil)r.assign(e,!1)}r.else()}invalid$data(){let{gen:e,schemaCode:t,schemaType:r,def:n,it:o}=this;return A.or(s(),i());function s(){if(r.length){if(!(t instanceof A.Name))throw Error("ajv implementation error");let a=Array.isArray(r)?r:[r];return A._`${mn.checkDataTypes(a,t,o.opts.strictNumbers,mn.DataType.Wrong)}`}return A.nil}function i(){if(n.validateSchema){let a=e.scopeValue("validate$data",{ref:n.validateSchema});return A._`!${a}(${t})`}return A.nil}}subschema(e,t){let r=ns.getSubschema(this.it,e);ns.extendSubschemaData(r,this.it,e),ns.extendSubschemaMode(r,e);let n={...this.it,...r,items:void 0,props:void 0};return b7(n,t),n}mergeEvaluated(e,t){let{it:r,gen:n}=this;if(!r.opts.unevaluated)return;if(r.props!==!0&&e.props!==void 0)r.props=Ke.mergeEvaluated.props(n,e.props,r.props,t);if(r.items!==!0&&e.items!==void 0)r.items=Ke.mergeEvaluated.items(n,e.items,r.items,t)}mergeValidEvaluated(e,t){let{it:r,gen:n}=this;if(r.opts.unevaluated&&(r.props!==!0||r.items!==!0))return n.if(t,()=>this.mergeEvaluated(e,A.Name)),!0}}oR.KeywordCxt=ly;function rR(e,t,r,n){let o=new ly(e,r,t);if("code"in r)r.code(o,n);else if(o.$data&&r.validate)pr.funcKeywordCode(o,r);else if("macro"in r)pr.macroKeywordCode(o,r);else if(r.compile||r.validate)pr.funcKeywordCode(o,r)}var C7=/^\/(?:[^~]|~0|~1)*$/,z7=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function nR(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(e==="")return X.default.rootData;if(e[0]==="/"){if(!C7.test(e))throw Error(`Invalid JSON-pointer: ${e}`);o=e,s=X.default.rootData}else{let u=z7.exec(e);if(!u)throw Error(`Invalid JSON-pointer: ${e}`);let l=+u[1];if(o=u[2],o==="#"){if(l>=t)throw Error(c("property/index",l));return n[t-l]}if(l>t)throw Error(c("data",l));if(s=r[t-l],!o)return s}let i=s,a=o.split("/");for(let u of a)if(u)s=A._`${s}${A.getProperty(Ke.unescapeJsonPointer(u))}`,i=A._`${i} && ${s}`;return i;function c(u,l){return`Cannot access ${u} ${l} levels up, current level is ${t}`}}oR.getData=nR});var Ml=T(function(aR){Object.defineProperty(aR,"__esModule",{value:!0});class iR extends Error{constructor(e){super("validation failed");this.errors=e,this.ajv=this.validation=!0}}aR.default=iR});var ga=T(function(uR){Object.defineProperty(uR,"__esModule",{value:!0});var ss=ma();class cR extends Error{constructor(e,t,r,n){super(n||`can't resolve reference ${r} from id ${t}`);this.missingRef=ss.resolveUrl(e,t,r),this.missingSchema=ss.normalizeId(ss.getFullPath(e,this.missingRef))}}uR.default=cR});var Ul=T(function(pR){Object.defineProperty(pR,"__esModule",{value:!0});pR.resolveSchema=pR.getCompilingSchema=pR.resolveRef=pR.compileSchema=pR.SchemaEnv=void 0;var Re=ee(),M7=Ml(),eo=zr(),Ae=ma(),ql=ue(),lR=ha();class ya{constructor(e){var t;this.refs={},this.dynamicAnchors={};let r;if(typeof e.schema=="object")r=e.schema;this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:Ae.normalizeId(r===null||r===void 0?void 0:r[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=r===null||r===void 0?void 0:r.$async,this.refs={}}}pR.SchemaEnv=ya;function py(e){let t=dR.call(this,e);if(t)return t;let r=Ae.getFullPath(this.opts.uriResolver,e.root.baseId),{es5:n,lines:o}=this.opts.code,{ownProperties:s}=this.opts,i=new Re.CodeGen(this.scope,{es5:n,lines:o,ownProperties:s}),a;if(e.$async)a=i.scopeValue("Error",{ref:M7.default,code:Re._`require("ajv/dist/runtime/validation_error").default`});let c=i.scopeName("validate");e.validateName=c;let u={gen:i,allErrors:this.opts.allErrors,data:eo.default.data,parentData:eo.default.parentData,parentDataProperty:eo.default.parentDataProperty,dataNames:[eo.default.data],dataPathArr:[Re.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:i.scopeValue("schema",this.opts.code.source===!0?{ref:e.schema,code:Re.stringify(e.schema)}:{ref:e.schema}),validateName:c,ValidationError:a,schema:e.schema,schemaEnv:e,rootId:r,baseId:e.baseId||r,schemaPath:Re.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?"":"#"),errorPath:Re._`""`,opts:this.opts,self:this},l;try{this._compilations.add(e),lR.validateFunctionCode(u),i.optimize(this.opts.code.optimize);let d=i.toString();if(l=`${i.scopeRefs(eo.default.scope)}return ${d}`,this.opts.code.process)l=this.opts.code.process(l,e);let m=Function(`${eo.default.self}`,`${eo.default.scope}`,l)(this,this.scope.get());if(this.scope.value(c,{ref:m}),m.errors=null,m.schema=e.schema,m.schemaEnv=e,e.$async)m.$async=!0;if(this.opts.code.source===!0)m.source={validateName:c,validateCode:d,scopeValues:i._values};if(this.opts.unevaluated){let{props:h,items:g}=u;if(m.evaluated={props:h instanceof Re.Name?void 0:h,items:g instanceof Re.Name?void 0:g,dynamicProps:h instanceof Re.Name,dynamicItems:g instanceof Re.Name},m.source)m.source.evaluated=Re.stringify(m.evaluated)}return e.validate=m,e}catch(d){if(delete e.validate,delete e.validateName,l)this.logger.error("Error compiling schema, function code:",l);throw d}finally{this._compilations.delete(e)}}pR.compileSchema=py;function q7(e,t,r){var n;r=Ae.resolveUrl(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let s=W7.call(this,e,r);if(s===void 0){let i=(n=e.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;if(i)s=new ya({schema:i,schemaId:a,root:e,baseId:t})}if(s===void 0)return;return e.refs[r]=F7.call(this,s)}pR.resolveRef=q7;function F7(e){if(Ae.inlineRef(e.schema,this.opts.inlineRefs))return e.schema;return e.validate?e:py.call(this,e)}function dR(e){for(let t of this._compilations)if(U7(t,e))return t}pR.getCompilingSchema=dR;function U7(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function W7(e,t){let r;while(typeof(r=this.refs[t])=="string")t=r;return r||this.schemas[t]||Fl.call(this,e,t)}function Fl(e,t){let r=this.opts.uriResolver.parse(t),n=Ae._getFullPath(this.opts.uriResolver,r),o=Ae.getFullPath(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&n===o)return dy.call(this,r,e);let s=Ae.normalizeId(n),i=this.refs[s]||this.schemas[s];if(typeof i=="string"){let a=Fl.call(this,e,i);if(typeof(a===null||a===void 0?void 0:a.schema)!=="object")return;return dy.call(this,r,a)}if(typeof(i===null||i===void 0?void 0:i.schema)!=="object")return;if(!i.validate)py.call(this,i);if(s===Ae.normalizeId(t)){let{schema:a}=i,{schemaId:c}=this.opts,u=a[c];if(u)o=Ae.resolveUrl(this.opts.uriResolver,o,u);return new ya({schema:a,schemaId:c,root:e,baseId:o})}return dy.call(this,r,i)}pR.resolveSchema=Fl;var V7=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function dy(e,{baseId:t,schema:r,root:n}){var o;if(((o=e.fragment)===null||o===void 0?void 0:o[0])!=="/")return;for(let a of e.fragment.slice(1).split("/")){if(typeof r==="boolean")return;let c=r[ql.unescapeFragment(a)];if(c===void 0)return;r=c;let u=typeof r==="object"&&r[this.opts.schemaId];if(!V7.has(a)&&u)t=Ae.resolveUrl(this.opts.uriResolver,t,u)}let s;if(typeof r!="boolean"&&r.$ref&&!ql.schemaHasRulesButRef(r,this.RULES)){let a=Ae.resolveUrl(this.opts.uriResolver,t,r.$ref);s=Fl.call(this,n,a)}let{schemaId:i}=this.opts;if(s=s||new ya({schema:r,schemaId:i,root:n,baseId:t}),s.schema!==s.root.schema)return s;return}});var mR=T(function(Jve,G7){G7.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var hy=T(function(Yve,_R){var J7=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),gR=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u),fy=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),yR=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),Y7=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function my(e){let t="",r=0,n=0;for(n=0;n<e.length;n++){if(r=e[n].charCodeAt(0),r===48)continue;if(!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n];break}for(n+=1;n<e.length;n++){if(r=e[n].charCodeAt(0),!(r>=48&&r<=57||r>=65&&r<=70||r>=97&&r<=102))return"";t+=e[n]}return t}var X7=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function hR(e){return e.length=0,!0}function Q7(e,t,r){if(e.length){let n=my(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function e8(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=Q7;for(let c=0;c<e.length;c++){let u=e[c];if(u==="["||u==="]")continue;if(u===":"){if(s===!0)i=!0;if(!a(o,n,r))break;if(++t>7){r.error=!0;break}if(c>0&&e[c-1]===":")s=!0;n.push(":");continue}else if(u==="%"){if(!a(o,n,r))break;a=hR}else{o.push(u);continue}}if(o.length)if(a===hR)r.zone=o.join("");else if(i)n.push(o.join(""));else n.push(my(o));return r.address=n.join(""),r}function wR(e){if(t8(e,":")<2)return{host:e,isIPV6:!1};let t=e8(e);if(!t.error){let{address:r,address:n}=t;if(t.zone)r+="%"+t.zone,n+="%25"+t.zone;return{host:r,isIPV6:!0,escapedHost:n}}else return{host:e,isIPV6:!1}}function t8(e,t){let r=0;for(let n=0;n<e.length;n++)if(e[n]===t)r++;return r}function r8(e){let t=e,r=[],n=-1,o=0;while(o=t.length){if(o===1)if(t===".")break;else if(t==="/"){r.push("/");break}else{r.push(t);break}else if(o===2){if(t[0]==="."){if(t[1]===".")break;else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"){if(t[1]==="."||t[1]==="/"){r.push("/");break}}}else if(o===3){if(t==="/.."){if(r.length!==0)r.pop();r.push("/");break}}if(t[0]==="."){if(t[1]==="."){if(t[2]==="/"){t=t.slice(3);continue}}else if(t[1]==="/"){t=t.slice(2);continue}}else if(t[0]==="/"){if(t[1]==="."){if(t[2]==="/"){t=t.slice(2);continue}else if(t[2]==="."){if(t[3]==="/"){if(t=t.slice(3),r.length!==0)r.pop();continue}}}}if((n=t.indexOf("/",1))===-1){r.push(t);break}else r.push(t.slice(0,n)),t=t.slice(n)}return r.join("")}var n8={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},o8=/[@/?#:]/g,s8=/[@/?#]/g;function bR(e,t){let r=t?s8:o8;return r.lastIndex=0,e.replace(r,(n)=>n8[n])}function i8(e,t=!1){if(e.indexOf("%")===-1)return e;let r="";for(let n=0;n<e.length;n++){if(e[n]==="%"&&n+2<e.length){let o=e.slice(n+1,n+3);if(fy(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));if(t&&yR(i))r+=i;else r+="%"+s;n+=2;continue}}r+=e[n]}return r}function a8(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(fy(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));if(s!=="."&&yR(s))t+=s;else t+="%"+o;r+=2;continue}}if(Y7(e[r]))t+=e[r];else t+=escape(e[r])}return t}function c8(e){let t="";for(let r=0;r<e.length;r++){if(e[r]==="%"&&r+2<e.length){let n=e.slice(r+1,r+3);if(fy(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function u8(e){let t=[];if(e.userinfo!==void 0)t.push(e.userinfo),t.push("@");if(e.host!==void 0){let r=unescape(e.host);if(!gR(r)){let n=wR(r);if(n.isIPV6===!0)r=`[${n.escapedHost}]`;else r=bR(r,!1)}t.push(r)}if(typeof e.port==="number"||typeof e.port==="string")t.push(":"),t.push(String(e.port));return t.length?t.join(""):void 0}_R.exports={nonSimpleDomain:X7,recomposeAuthority:u8,reescapeHostDelimiters:bR,normalizePercentEncoding:i8,normalizePathEncoding:a8,escapePreservingEscapes:c8,removeDotSegments:r8,isIPv4:gR,isUUID:J7,normalizeIPv6:wR,stringArrayToHexStripped:my}});var $R=T(function(Xve,xR){var{isUUID:l8}=hy(),d8=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,p8=["http","https","ws","wss","urn","urn:uuid"];function f8(e){return p8.indexOf(e)!==-1}function gy(e){if(e.secure===!0)return!0;else if(e.secure===!1)return!1;else if(e.scheme)return e.scheme.length===3&&(e.scheme[0]==="w"||e.scheme[0]==="W")&&(e.scheme[1]==="s"||e.scheme[1]==="S")&&(e.scheme[2]==="s"||e.scheme[2]==="S");else return!1}function vR(e){if(!e.host)e.error=e.error||"HTTP URIs must have a host.";return e}function SR(e){let t=String(e.scheme).toLowerCase()==="https";if(e.port===(t?443:80)||e.port==="")e.port=void 0;if(!e.path)e.path="/";return e}function m8(e){return e.secure=gy(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function h8(e){if(e.port===(gy(e)?443:80)||e.port==="")e.port=void 0;if(typeof e.secure==="boolean")e.scheme=e.secure?"wss":"ws",e.secure=void 0;if(e.resourceName){let[t,r]=e.resourceName.split("?");e.path=t&&t!=="/"?t:void 0,e.query=r,e.resourceName=void 0}return e.fragment=void 0,e}function g8(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(d8);if(r){let n=t.scheme||e.scheme||"urn";e.nid=r[1].toLowerCase(),e.nss=r[2];let o=`${n}:${t.nid||e.nid}`,s=yy(o);if(e.path=void 0,s)e=s.parse(e,t)}else e.error=e.error||"URN can not be parsed.";return e}function y8(e,t){if(e.nid===void 0)throw Error("URN without nid cannot be serialized");let r=t.scheme||e.scheme||"urn",n=e.nid.toLowerCase(),o=`${r}:${t.nid||n}`,s=yy(o);if(s)e=s.serialize(e,t);let i=e,a=e.nss;return i.path=`${n||t.nid}:${a}`,t.skipEscape=!0,i}function w8(e,t){let r=e;if(r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!l8(r.uuid)))r.error=r.error||"UUID is not valid.";return r}function b8(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var kR={scheme:"http",domainHost:!0,parse:vR,serialize:SR},_8={scheme:"https",domainHost:kR.domainHost,parse:vR,serialize:SR},Wl={scheme:"ws",domainHost:!0,parse:m8,serialize:h8},v8={scheme:"wss",domainHost:Wl.domainHost,parse:Wl.parse,serialize:Wl.serialize},S8={scheme:"urn",parse:g8,serialize:y8,skipNormalize:!0},k8={scheme:"urn:uuid",parse:w8,serialize:b8,skipNormalize:!0},Vl={http:kR,https:_8,ws:Wl,wss:v8,urn:S8,"urn:uuid":k8};Object.setPrototypeOf(Vl,null);function yy(e){return e&&(Vl[e]||Vl[e.toLowerCase()])||void 0}xR.exports={wsIsSecure:gy,SCHEMES:Vl,isValidSchemeName:f8,getSchemeHandler:yy}});var RR=T(function(Qve,Zl){var{normalizeIPv6:x8,removeDotSegments:wa,recomposeAuthority:$8,normalizePercentEncoding:E8,normalizePathEncoding:T8,escapePreservingEscapes:P8,reescapeHostDelimiters:O8,isIPv4:I8,nonSimpleDomain:R8}=hy(),{SCHEMES:A8,getSchemeHandler:TR}=$R();function C8(e,t){if(typeof e==="string")e=M8(e,t);else if(typeof e==="object")e=is(to(e,t),t);return e}function z8(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=PR(is(e,n),is(t,n),n,!0);return n.skipEscape=!0,to(o,n)}function PR(e,t,r,n){let o={};if(!n)e=is(to(e,r),r),t=is(to(t,r),r);if(r=r||{},!r.tolerant&&t.scheme)o.scheme=t.scheme,o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=wa(t.path||""),o.query=t.query;else{if(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)o.userinfo=t.userinfo,o.host=t.host,o.port=t.port,o.path=wa(t.path||""),o.query=t.query;else{if(!t.path)if(o.path=e.path,t.query!==void 0)o.query=t.query;else o.query=e.query;else{if(t.path[0]==="/")o.path=wa(t.path);else{if((e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path)o.path="/"+t.path;else if(!e.path)o.path=t.path;else o.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path;o.path=wa(o.path)}o.query=t.query}o.userinfo=e.userinfo,o.host=e.host,o.port=e.port}o.scheme=e.scheme}return o.fragment=t.fragment,o}function N8(e,t,r){let n=ER(e,r),o=ER(t,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function to(e,t){let r={host:e.host,scheme:e.scheme,userinfo:e.userinfo,port:e.port,path:e.path,query:e.query,nid:e.nid,nss:e.nss,uuid:e.uuid,fragment:e.fragment,reference:e.reference,resourceName:e.resourceName,secure:e.secure,error:""},n=Object.assign({},t),o=[],s=TR(n.scheme||r.scheme);if(s&&s.serialize)s.serialize(r,n);if(r.path!==void 0)if(!n.skipEscape){if(r.path=P8(r.path),r.scheme!==void 0)r.path=r.path.split("%3A").join(":")}else r.path=E8(r.path);if(n.reference!=="suffix"&&r.scheme)o.push(r.scheme,":");let i=$8(r);if(i!==void 0){if(n.reference!=="suffix")o.push("//");if(o.push(i),r.path&&r.path[0]!=="/")o.push("/")}if(r.path!==void 0){let a=r.path;if(!n.absolutePath&&(!s||!s.absolutePath))a=wa(a);if(i===void 0&&a[0]==="/"&&a[1]==="/")a="/%2F"+a.slice(2);o.push(a)}if(r.query!==void 0)o.push("?",r.query);if(r.fragment!==void 0)o.push("#",r.fragment);return o.join("")}var L8=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,j8=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;function D8(e,t){if(t[2]!==void 0&&e.path&&e.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof e.port==="number"&&(e.port<0||e.port>65535))return"URI port is malformed.";return}function OR(e,t){let r=Object.assign({},t),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},o=!1,s=!1;if(r.reference==="suffix")if(r.scheme)e=r.scheme+":"+e;else e="//"+e;let i=e.match(j8);if(i!==null&&i[1].indexOf("\\")!==-1)n.error="URI authority must not contain a literal backslash.",o=!0;let a=e.match(L8);if(a){if(n.scheme=a[1],n.userinfo=a[3],n.host=a[4],n.port=parseInt(a[5],10),n.path=a[6]||"",n.query=a[7],n.fragment=a[8],isNaN(n.port))n.port=a[5];let c=D8(n,a);if(c!==void 0)n.error=n.error||c,o=!0;if(n.host)if(I8(n.host)===!1){let d=x8(n.host);n.host=d.host.toLowerCase(),s=d.isIPV6}else s=!0;if(n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path)n.reference="same-document";else if(n.scheme===void 0)n.reference="relative";else if(n.fragment===void 0)n.reference="absolute";else n.reference="uri";if(r.reference&&r.reference!=="suffix"&&r.reference!==n.reference)n.error=n.error||"URI is not a "+r.reference+" reference.";let u=TR(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)){if(n.host&&(r.domainHost||u&&u.domainHost)&&s===!1&&R8(n.host))try{n.host=new URL("http://"+n.host).hostname}catch(l){n.error=n.error||"Host's domain name can not be converted to ASCII: "+l}}if(!u||u&&!u.skipNormalize){if(e.indexOf("%")!==-1){if(n.scheme!==void 0)n.scheme=unescape(n.scheme);if(n.host!==void 0)n.host=O8(unescape(n.host),s)}if(n.path)n.path=T8(n.path);if(n.fragment)try{n.fragment=encodeURI(decodeURIComponent(n.fragment))}catch{n.error=n.error||"URI malformed"}}if(u&&u.parse)u.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return{parsed:n,malformedAuthorityOrPort:o}}function is(e,t){return OR(e,t).parsed}function M8(e,t){return IR(e,t).normalized}function IR(e,t){let{parsed:r,malformedAuthorityOrPort:n}=OR(e,t);return{normalized:n?e:to(r,t),malformedAuthorityOrPort:n}}function ER(e,t){if(typeof e==="string"){let{normalized:r,malformedAuthorityOrPort:n}=IR(e,t);return n?void 0:r}if(typeof e==="object")return to(e,t)}var wy={SCHEMES:A8,normalize:C8,resolve:z8,resolveComponent:PR,equal:N8,serialize:to,parse:is};Zl.exports=wy;Zl.exports.default=wy;Zl.exports.fastUri=wy});var zR=T(function(CR){Object.defineProperty(CR,"__esModule",{value:!0});var AR=RR();AR.code='require("ajv/dist/runtime/uri").default';CR.default=AR});var VR=T(function(Nr){Object.defineProperty(Nr,"__esModule",{value:!0});Nr.CodeGen=Nr.Name=Nr.nil=Nr.stringify=Nr.str=Nr._=Nr.KeywordCxt=void 0;var F8=ha();Object.defineProperty(Nr,"KeywordCxt",{enumerable:!0,get:function(){return F8.KeywordCxt}});var cs=ee();Object.defineProperty(Nr,"_",{enumerable:!0,get:function(){return cs._}});Object.defineProperty(Nr,"str",{enumerable:!0,get:function(){return cs.str}});Object.defineProperty(Nr,"stringify",{enumerable:!0,get:function(){return cs.stringify}});Object.defineProperty(Nr,"nil",{enumerable:!0,get:function(){return cs.nil}});Object.defineProperty(Nr,"Name",{enumerable:!0,get:function(){return cs.Name}});Object.defineProperty(Nr,"CodeGen",{enumerable:!0,get:function(){return cs.CodeGen}});var U8=Ml(),MR=ga(),qR=ey(),fr=Ul(),FR=ee(),mr=ma(),hn=fa(),as=ue(),NR=mR(),W8=zR(),UR=(e,t)=>new RegExp(e,t);UR.code="new RegExp";var V8=["removeAdditional","useDefaults","coerceTypes"],Z8=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),B8={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},K8={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},LR=200;function H8(e){var t,r,n,o,s,i,a,c,u,l,d,f,m,h,g,y,b,E,S,I,_,v,x,R,j;let J=e.strict,ie=(t=e.code)===null||t===void 0?void 0:t.optimize,ae=ie===!0||ie===void 0?1:ie||0,Me=(n=(r=e.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:UR,W=(o=e.uriResolver)!==null&&o!==void 0?o:W8.default;return{strictSchema:(i=(s=e.strictSchema)!==null&&s!==void 0?s:J)!==null&&i!==void 0?i:!0,strictNumbers:(c=(a=e.strictNumbers)!==null&&a!==void 0?a:J)!==null&&c!==void 0?c:!0,strictTypes:(l=(u=e.strictTypes)!==null&&u!==void 0?u:J)!==null&&l!==void 0?l:"log",strictTuples:(f=(d=e.strictTuples)!==null&&d!==void 0?d:J)!==null&&f!==void 0?f:"log",strictRequired:(h=(m=e.strictRequired)!==null&&m!==void 0?m:J)!==null&&h!==void 0?h:!1,code:e.code?{...e.code,optimize:ae,regExp:Me}:{optimize:ae,regExp:Me},loopRequired:(g=e.loopRequired)!==null&&g!==void 0?g:LR,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:LR,meta:(b=e.meta)!==null&&b!==void 0?b:!0,messages:(E=e.messages)!==null&&E!==void 0?E:!0,inlineRefs:(S=e.inlineRefs)!==null&&S!==void 0?S:!0,schemaId:(I=e.schemaId)!==null&&I!==void 0?I:"$id",addUsedSchema:(_=e.addUsedSchema)!==null&&_!==void 0?_:!0,validateSchema:(v=e.validateSchema)!==null&&v!==void 0?v:!0,validateFormats:(x=e.validateFormats)!==null&&x!==void 0?x:!0,unicodeRegExp:(R=e.unicodeRegExp)!==null&&R!==void 0?R:!0,int32range:(j=e.int32range)!==null&&j!==void 0?j:!0,uriResolver:W}}class Bl{constructor(e={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...H8(e)};let{es5:t,lines:r}=this.opts.code;this.scope=new FR.ValueScope({scope:{},prefixes:Z8,es5:t,lines:r}),this.logger=eX(e.logger);let n=e.validateFormats;if(e.validateFormats=!1,this.RULES=qR.getRules(),jR.call(this,B8,e,"NOT SUPPORTED"),jR.call(this,K8,e,"DEPRECATED","warn"),this._metaOpts=X8.call(this),e.formats)J8.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords)Y8.call(this,e.keywords);if(typeof e.meta=="object")this.addMetaSchema(e.meta);G8.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:t,schemaId:r}=this.opts,n=NR;if(r==="id")n={...NR},n.id=n.$id,delete n.$id;if(t&&e)this.addMetaSchema(n,n[r],!1)}defaultMeta(){let{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[t]||e:void 0}validate(e,t){let r;if(typeof e=="string"){if(r=this.getSchema(e),!r)throw Error(`no schema with key or ref "${e}"`)}else r=this.compile(e);let n=r(t);if(!("$async"in r))this.errors=r.errors;return n}compile(e,t){let r=this._addSchema(e,t);return r.validate||this._compileSchemaEnv(r)}compileAsync(e,t){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:r}=this.opts;return n.call(this,e,t);async function n(u,l){await o.call(this,u.$schema);let d=this._addSchema(u,l);return d.validate||s.call(this,d)}async function o(u){if(u&&!this.getSchema(u))await n.call(this,{$ref:u},!0)}async function s(u){try{return this._compileSchemaEnv(u)}catch(l){if(!(l instanceof MR.default))throw l;return i.call(this,l),await a.call(this,l.missingSchema),s.call(this,u)}}function i({missingSchema:u,missingRef:l}){if(this.refs[u])throw Error(`AnySchema ${u} is loaded but ${l} cannot be resolved`)}async function a(u){let l=await c.call(this,u);if(!this.refs[u])await o.call(this,l.$schema);if(!this.refs[u])this.addSchema(l,u,t)}async function c(u){let l=this._loading[u];if(l)return l;try{return await(this._loading[u]=r(u))}finally{delete this._loading[u]}}}addSchema(e,t,r,n=this.opts.validateSchema){if(Array.isArray(e)){for(let s of e)this.addSchema(s,void 0,r,n);return this}let o;if(typeof e==="object"){let{schemaId:s}=this.opts;if(o=e[s],o!==void 0&&typeof o!="string")throw Error(`schema ${s} must be string`)}return t=mr.normalizeId(t||o),this._checkUnique(t),this.schemas[t]=this._addSchema(e,r,t,n,!0),this}addMetaSchema(e,t,r=this.opts.validateSchema){return this.addSchema(e,t,!0,r),this}validateSchema(e,t){if(typeof e=="boolean")return!0;let r;if(r=e.$schema,r!==void 0&&typeof r!="string")throw Error("$schema must be a string");if(r=r||this.opts.defaultMeta||this.defaultMeta(),!r)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let n=this.validate(r,e);if(!n&&t){let o="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(o);else throw Error(o)}return n}getSchema(e){let t;while(typeof(t=DR.call(this,e))=="string")e=t;if(t===void 0){let{schemaId:r}=this.opts,n=new fr.SchemaEnv({schema:{},schemaId:r});if(t=fr.resolveSchema.call(this,n,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let t=DR.call(this,e);if(typeof t=="object")this._cache.delete(t.schema);return delete this.schemas[e],delete this.refs[e],this}case"object":{let t=e;this._cache.delete(t);let r=e[this.opts.schemaId];if(r)r=mr.normalizeId(r),delete this.schemas[r],delete this.refs[r];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let t of e)this.addKeyword(t);return this}addKeyword(e,t){let r;if(typeof e=="string"){if(r=e,typeof t=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=r}else if(typeof e=="object"&&t===void 0){if(t=e,r=t.keyword,Array.isArray(r)&&!r.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(rX.call(this,r,t),!t)return as.eachItem(r,(o)=>by.call(this,o)),this;oX.call(this,t);let n={...t,type:hn.getJSONTypes(t.type),schemaType:hn.getJSONTypes(t.schemaType)};return as.eachItem(r,n.type.length===0?(o)=>by.call(this,o,n):(o)=>n.type.forEach((s)=>by.call(this,o,n,s))),this}getKeyword(e){let t=this.RULES.all[e];return typeof t=="object"?t.definition:!!t}removeKeyword(e){let{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(let r of t.rules){let n=r.rules.findIndex((o)=>o.keyword===e);if(n>=0)r.rules.splice(n,1)}return this}addFormat(e,t){if(typeof t=="string")t=new RegExp(t);return this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:r="data"}={}){if(!e||e.length===0)return"No errors";return e.map((n)=>`${r}${n.instancePath} ${n.message}`).reduce((n,o)=>n+t+o)}$dataMetaSchema(e,t){let r=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let n of t){let o=n.split("/").slice(1),s=e;for(let i of o)s=s[i];for(let i in r){let a=r[i];if(typeof a!="object")continue;let{$data:c}=a.definition,u=s[i];if(c&&u)s[i]=WR(u)}}return e}_removeAllSchemas(e,t){for(let r in e){let n=e[r];if(!t||t.test(r)){if(typeof n=="string")delete e[r];else if(n&&!n.meta)this._cache.delete(n.schema),delete e[r]}}}_addSchema(e,t,r,n=this.opts.validateSchema,o=this.opts.addUsedSchema){let s,{schemaId:i}=this.opts;if(typeof e=="object")s=e[i];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof e!="boolean")throw Error("schema must be object or boolean");let a=this._cache.get(e);if(a!==void 0)return a;r=mr.normalizeId(s||r);let c=mr.getSchemaRefs.call(this,e,r);if(a=new fr.SchemaEnv({schema:e,schemaId:i,meta:t,baseId:r,localRefs:c}),this._cache.set(a.schema,a),o&&!r.startsWith("#")){if(r)this._checkUnique(r);this.refs[r]=a}if(n)this.validateSchema(e,!0);return a}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta)this._compileMetaSchema(e);else fr.compileSchema.call(this,e);if(!e.validate)throw Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let t=this.opts;this.opts=this._metaOpts;try{fr.compileSchema.call(this,e)}finally{this.opts=t}}}Bl.ValidationError=U8.default;Bl.MissingRefError=MR.default;Nr.default=Bl;function jR(e,t,r,n="error"){for(let o in e){let s=o;if(s in t)this.logger[n](`${r}: option ${o}. ${e[s]}`)}}function DR(e){return e=mr.normalizeId(e),this.schemas[e]||this.refs[e]}function G8(){let e=this.opts.schemas;if(!e)return;if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}function J8(){for(let e in this.opts.formats){let t=this.opts.formats[e];if(t)this.addFormat(e,t)}}function Y8(e){if(Array.isArray(e)){this.addVocabulary(e);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let t in e){let r=e[t];if(!r.keyword)r.keyword=t;this.addKeyword(r)}}function X8(){let e={...this.opts};for(let t of V8)delete e[t];return e}var Q8={log(){},warn(){},error(){}};function eX(e){if(e===!1)return Q8;if(e===void 0)return console;if(e.log&&e.warn&&e.error)return e;throw Error("logger must implement log, warn and error methods")}var tX=/^[a-z_$][a-z0-9_$:-]*$/i;function rX(e,t){let{RULES:r}=this;if(as.eachItem(e,(n)=>{if(r.keywords[n])throw Error(`Keyword ${n} is already defined`);if(!tX.test(n))throw Error(`Keyword ${n} has invalid name`)}),!t)return;if(t.$data&&!(("code"in t)||("validate"in t)))throw Error('$data keyword must have "code" or "validate" function')}function by(e,t,r){var n;let o=t===null||t===void 0?void 0:t.post;if(r&&o)throw Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,i=o?s.post:s.rules.find(({type:c})=>c===r);if(!i)i={type:r,rules:[]},s.rules.push(i);if(s.keywords[e]=!0,!t)return;let a={keyword:e,definition:{...t,type:hn.getJSONTypes(t.type),schemaType:hn.getJSONTypes(t.schemaType)}};if(t.before)nX.call(this,i,a,t.before);else i.rules.push(a);s.all[e]=a,(n=t.implements)===null||n===void 0||n.forEach((c)=>this.addKeyword(c))}function nX(e,t,r){let n=e.rules.findIndex((o)=>o.keyword===r);if(n>=0)e.rules.splice(n,0,t);else e.rules.push(t),this.logger.warn(`rule ${r} is not defined`)}function oX(e){let{metaSchema:t}=e;if(t===void 0)return;if(e.$data&&this.opts.$data)t=WR(t);e.validateSchema=this.compile(t,!0)}var sX={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function WR(e){return{anyOf:[e,sX]}}});var BR=T(function(ZR){Object.defineProperty(ZR,"__esModule",{value:!0});var cX={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};ZR.default=cX});var JR=T(function(HR){Object.defineProperty(HR,"__esModule",{value:!0});HR.callRef=HR.getValidate=void 0;var lX=ga(),Hl=qt(),we=ee(),us=zr(),Gl=Ul(),gn=ue(),dX={keyword:"$ref",schemaType:"string",code(e){let{gen:t,schema:r,it:n}=e,{baseId:o,schemaEnv:s,validateName:i,opts:a,self:c}=n,{root:u}=s;if((r==="#"||r==="#/")&&o===u.baseId)return d();let l=Gl.resolveRef.call(c,u,o,r);if(l===void 0)throw new lX.default(n.opts.uriResolver,o,r);if(l instanceof Gl.SchemaEnv)return f(l);return m(l);function d(){if(s===u)return Kl(e,i,s,s.$async);let h=t.scopeValue("root",{ref:u});return Kl(e,we._`${h}.validate`,u,u.$async)}function f(h){let g=KR(e,h);Kl(e,g,h,h.$async)}function m(h){let g=t.scopeValue("schema",a.code.source===!0?{ref:h,code:we.stringify(h)}:{ref:h}),y=t.name("valid"),b=e.subschema({schema:h,dataTypes:[],schemaPath:we.nil,topSchemaRef:g,errSchemaPath:r},y);e.mergeEvaluated(b),e.ok(y)}}};function KR(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):we._`${r.scopeValue("wrapper",{ref:t})}.validate`}HR.getValidate=KR;function Kl(e,t,r,n){let{gen:o,it:s}=e,{allErrors:i,schemaEnv:a,opts:c}=s,u=c.passContext?us.default.this:we.nil;if(n)l();else d();function l(){if(!a.$async)throw Error("async schema referenced by sync schema");let h=o.let("valid");o.try(()=>{if(o.code(we._`await ${Hl.callValidateCode(e,t,u)}`),m(t),!i)o.assign(h,!0)},(g)=>{if(o.if(we._`!(${g} instanceof ${s.ValidationError})`,()=>o.throw(g)),f(g),!i)o.assign(h,!1)}),e.ok(h)}function d(){e.result(Hl.callValidateCode(e,t,u),()=>m(t),()=>f(t))}function f(h){let g=we._`${h}.errors`;o.assign(us.default.vErrors,we._`${us.default.vErrors} === null ? ${g} : ${us.default.vErrors}.concat(${g})`),o.assign(us.default.errors,we._`${us.default.vErrors}.length`)}function m(h){var g;if(!s.opts.unevaluated)return;let y=(g=r===null||r===void 0?void 0:r.validate)===null||g===void 0?void 0:g.evaluated;if(s.props!==!0)if(y&&!y.dynamicProps){if(y.props!==void 0)s.props=gn.mergeEvaluated.props(o,y.props,s.props)}else{let b=o.var("props",we._`${h}.evaluated.props`);s.props=gn.mergeEvaluated.props(o,b,s.props,we.Name)}if(s.items!==!0)if(y&&!y.dynamicItems){if(y.items!==void 0)s.items=gn.mergeEvaluated.items(o,y.items,s.items)}else{let b=o.var("items",we._`${h}.evaluated.items`);s.items=gn.mergeEvaluated.items(o,b,s.items,we.Name)}}}HR.callRef=Kl;HR.default=dX});var XR=T(function(YR){Object.defineProperty(YR,"__esModule",{value:!0});var mX=BR(),hX=JR(),gX=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",mX.default,hX.default];YR.default=gX});var eA=T(function(QR){Object.defineProperty(QR,"__esModule",{value:!0});var wn=ee(),yn=wn.operators,Jl={maximum:{okStr:"<=",ok:yn.LTE,fail:yn.GT},minimum:{okStr:">=",ok:yn.GTE,fail:yn.LT},exclusiveMaximum:{okStr:"<",ok:yn.LT,fail:yn.GTE},exclusiveMinimum:{okStr:">",ok:yn.GT,fail:yn.LTE}},wX={message:({keyword:e,schemaCode:t})=>wn.str`must be ${Jl[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>wn._`{comparison: ${Jl[e].okStr}, limit: ${t}}`},bX={keyword:Object.keys(Jl),type:"number",schemaType:"number",$data:!0,error:wX,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data(wn._`${r} ${Jl[t].fail} ${n} || isNaN(${r})`)}};QR.default=bX});var rA=T(function(tA){Object.defineProperty(tA,"__esModule",{value:!0});var hr=ee(),vX={message:({schemaCode:e})=>hr.str`must be multiple of ${e}`,params:({schemaCode:e})=>hr._`{multipleOf: ${e}}`},SX={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:vX,code(e){let{gen:t,data:r,schemaCode:n,it:o}=e,s=o.opts.multipleOfPrecision,i=t.let("res"),a=s?hr._`Math.abs(Math.round(${i}) - ${i}) > 1e-${s}`:hr._`${i} !== parseInt(${i})`;e.fail$data(hr._`(${n} === 0 || (${i} = ${r}/${n}, ${a}))`)}};tA.default=SX});var sA=T(function(oA){Object.defineProperty(oA,"__esModule",{value:!0});function nA(e){let t=e.length,r=0,n=0,o;while(n<t)if(r++,o=e.charCodeAt(n++),o>=55296&&o<=56319&&n<t){if(o=e.charCodeAt(n),(o&64512)===56320)n++}return r}oA.default=nA;nA.code='require("ajv/dist/runtime/ucs2length").default'});var cA=T(function(aA){Object.defineProperty(aA,"__esModule",{value:!0});var ft=ee(),iA=ue(),$X=sA(),EX={message({keyword:e,schemaCode:t}){return ft.str`must NOT have ${e==="maxLength"?"more":"fewer"} than ${t} characters`},params:({schemaCode:e})=>ft._`{limit: ${e}}`},TX={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:EX,code(e){let{keyword:t,data:r,schemaCode:n,it:o}=e,s=t==="maxLength"?ft.operators.GT:ft.operators.LT,i=o.opts.unicode===!1?ft._`${r}.length`:ft._`${iA.useFunc(e.gen,$X.default)}(${r})`;e.fail$data(ft._`${i} ${s} ${n}`)}};aA.default=TX});var pA=T(function(dA){Object.defineProperty(dA,"__esModule",{value:!0});var uA=qt(),lA=ue(),Ft=ee(),OX={message:({schemaCode:e})=>Ft.str`must match pattern "${e}"`,params:({schemaCode:e})=>Ft._`{pattern: ${e}}`},IX={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:OX,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e,a=i.opts.unicodeRegExp?"u":"";if(n){let{regExp:c}=i.opts.code,u=c.code==="new RegExp"?Ft._`new RegExp`:lA.useFunc(t,c),l=t.let("valid");t.try(()=>t.assign(l,Ft._`${u}(${s}, ${a}).test(${r})`),()=>t.assign(l,!1)),e.fail$data(Ft._`!${l}`)}else{let c=uA.usePattern(e,o);e.fail$data(Ft._`!${c}.test(${r})`)}}};dA.default=IX});var mA=T(function(fA){Object.defineProperty(fA,"__esModule",{value:!0});var gr=ee(),AX={message({keyword:e,schemaCode:t}){return gr.str`must NOT have ${e==="maxProperties"?"more":"fewer"} than ${t} properties`},params:({schemaCode:e})=>gr._`{limit: ${e}}`},CX={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:AX,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxProperties"?gr.operators.GT:gr.operators.LT;e.fail$data(gr._`Object.keys(${r}).length ${o} ${n}`)}};fA.default=CX});var yA=T(function(gA){Object.defineProperty(gA,"__esModule",{value:!0});var yr=qt(),wr=ee(),hA=ue(),NX={message:({params:{missingProperty:e}})=>wr.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>wr._`{missingProperty: ${e}}`},LX={keyword:"required",type:"object",schemaType:"array",$data:!0,error:NX,code(e){let{gen:t,schema:r,schemaCode:n,data:o,$data:s,it:i}=e,{opts:a}=i;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(i.allErrors)u();else l();if(a.strictRequired){let m=e.parentSchema.properties,{definedProperties:h}=e.it;for(let g of r)if((m===null||m===void 0?void 0:m[g])===void 0&&!h.has(g)){let y=i.schemaEnv.baseId+i.errSchemaPath,b=`required property "${g}" is not defined at "${y}" (strictRequired)`;hA.checkStrictMode(i,b,i.opts.strictRequired)}}function u(){if(c||s)e.block$data(wr.nil,d);else for(let m of r)yr.checkReportMissingProp(e,m)}function l(){let m=t.let("missing");if(c||s){let h=t.let("valid",!0);e.block$data(h,()=>f(m,h)),e.ok(h)}else t.if(yr.checkMissingProp(e,r,m)),yr.reportMissingProp(e,m),t.else()}function d(){t.forOf("prop",n,(m)=>{e.setParams({missingProperty:m}),t.if(yr.noPropertyInData(t,o,m,a.ownProperties),()=>e.error())})}function f(m,h){e.setParams({missingProperty:m}),t.forOf(m,n,()=>{t.assign(h,yr.propertyInData(t,o,m,a.ownProperties)),t.if(wr.not(h),()=>{e.error(),t.break()})},wr.nil)}}};gA.default=LX});var bA=T(function(wA){Object.defineProperty(wA,"__esModule",{value:!0});var br=ee(),DX={message({keyword:e,schemaCode:t}){return br.str`must NOT have ${e==="maxItems"?"more":"fewer"} than ${t} items`},params:({schemaCode:e})=>br._`{limit: ${e}}`},MX={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:DX,code(e){let{keyword:t,data:r,schemaCode:n}=e,o=t==="maxItems"?br.operators.GT:br.operators.LT;e.fail$data(br._`${r}.length ${o} ${n}`)}};wA.default=MX});var Yl=T(function(vA){Object.defineProperty(vA,"__esModule",{value:!0});var _A=ay();_A.code='require("ajv/dist/runtime/equal").default';vA.default=_A});var xA=T(function(kA){Object.defineProperty(kA,"__esModule",{value:!0});var ls=fa(),le=ee(),SA=ue(),UX=Yl(),WX={message:({params:{i:e,j:t}})=>le.str`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>le._`{i: ${e}, j: ${t}}`},VX={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:WX,code(e){let{gen:t,data:r,$data:n,schema:o,parentSchema:s,schemaCode:i,it:a}=e;if(!n&&!o)return;let c=t.let("valid"),u=s.items?ls.getSchemaTypes(s.items):[];e.block$data(c,l,le._`${i} === false`),e.ok(c);function l(){let h=t.let("i",le._`${r}.length`),g=t.let("j");e.setParams({i:h,j:g}),t.assign(c,!0),t.if(le._`${h} > 1`,()=>(d()?f:m)(h,g))}function d(){return u.length>0&&!u.some((h)=>h==="object"||h==="array")}function f(h,g){let y=t.name("item"),b=ls.checkDataTypes(u,y,a.opts.strictNumbers,ls.DataType.Wrong),E=t.const("indices",le._`{}`);t.for(le._`;${h}--;`,()=>{if(t.let(y,le._`${r}[${h}]`),t.if(b,le._`continue`),u.length>1)t.if(le._`typeof ${y} == "string"`,le._`${y} += "_"`);t.if(le._`typeof ${E}[${y}] == "number"`,()=>{t.assign(g,le._`${E}[${y}]`),e.error(),t.assign(c,!1).break()}).code(le._`${E}[${y}] = ${h}`)})}function m(h,g){let y=SA.useFunc(t,UX.default),b=t.name("outer");t.label(b).for(le._`;${h}--;`,()=>t.for(le._`${g} = ${h}; ${g}--;`,()=>t.if(le._`${y}(${r}[${h}], ${r}[${g}])`,()=>{e.error(),t.assign(c,!1).break(b)})))}}};kA.default=VX});var TA=T(function(EA){Object.defineProperty(EA,"__esModule",{value:!0});var ds=ee(),$A=ue(),BX=Yl(),KX={message:"must be equal to constant",params:({schemaCode:e})=>ds._`{allowedValue: ${e}}`},HX={keyword:"const",$data:!0,error:KX,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;if(n||s&&typeof s=="object")e.fail$data(ds._`!${$A.useFunc(t,BX.default)}(${r}, ${o})`);else e.fail(ds._`${s} !== ${r}`)}};EA.default=HX});var IA=T(function(OA){Object.defineProperty(OA,"__esModule",{value:!0});var _r=ee(),PA=ue(),JX=Yl(),YX={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>_r._`{allowedValues: ${e}}`},XX={keyword:"enum",schemaType:"array",$data:!0,error:YX,code(e){let{gen:t,data:r,$data:n,schema:o,schemaCode:s,it:i}=e;if(!n&&o.length===0)throw Error("enum must have non-empty array");let a=o.length>=i.opts.loopEnum,c,u=()=>c!==null&&c!==void 0?c:c=PA.useFunc(t,JX.default),l;if(a||n)l=t.let("valid"),e.block$data(l,d);else{if(!Array.isArray(o))throw Error("ajv implementation error");let m=t.const("vSchema",s);l=_r.or(...o.map((h,g)=>f(m,g)))}e.pass(l);function d(){t.assign(l,!1),t.forOf("v",s,(m)=>t.if(_r._`${u()}(${r}, ${m})`,()=>t.assign(l,!0).break()))}function f(m,h){let g=o[h];return typeof g==="object"&&g!==null?_r._`${u()}(${r}, ${m}[${h}])`:_r._`${r} === ${g}`}}};OA.default=XX});var AA=T(function(RA){Object.defineProperty(RA,"__esModule",{value:!0});var eQ=eA(),tQ=rA(),rQ=cA(),nQ=pA(),oQ=mA(),sQ=yA(),iQ=bA(),aQ=xA(),cQ=TA(),uQ=IA(),lQ=[eQ.default,tQ.default,rQ.default,nQ.default,oQ.default,sQ.default,iQ.default,aQ.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},cQ.default,uQ.default];RA.default=lQ});var _y=T(function(zA){Object.defineProperty(zA,"__esModule",{value:!0});zA.validateAdditionalItems=void 0;var mt=ee(),ps=ue(),pQ={message:({params:{len:e}})=>mt.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>mt._`{limit: ${e}}`},fQ={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:pQ,code(e){let{parentSchema:t,it:r}=e,{items:n}=t;if(!Array.isArray(n)){ps.checkStrictMode(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}CA(e,n)}};function CA(e,t){let{gen:r,schema:n,data:o,keyword:s,it:i}=e;i.items=!0;let a=r.const("len",mt._`${o}.length`);if(n===!1)e.setParams({len:t.length}),e.pass(mt._`${a} <= ${t.length}`);else if(typeof n=="object"&&!ps.alwaysValidSchema(i,n)){let u=r.var("valid",mt._`${a} <= ${t.length}`);r.if(mt.not(u),()=>c(u)),e.ok(u)}function c(u){r.forRange("i",t.length,a,(l)=>{if(e.subschema({keyword:s,dataProp:l,dataPropType:ps.Type.Num},u),!i.allErrors)r.if(mt.not(u),()=>r.break())})}}zA.validateAdditionalItems=CA;zA.default=fQ});var vy=T(function(DA){Object.defineProperty(DA,"__esModule",{value:!0});DA.validateTuple=void 0;var Xl=ee(),bn=ue(),LA=qt(),hQ={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return jA(e,"additionalItems",t);if(r.items=!0,bn.alwaysValidSchema(r,t))return;e.ok(LA.validateArray(e))}};function jA(e,t,r=e.schema){let{gen:n,parentSchema:o,data:s,keyword:i,it:a}=e;if(l(o),a.opts.unevaluated&&r.length&&a.items!==!0)a.items=bn.mergeEvaluated.items(n,r.length,a.items);let c=n.name("valid"),u=n.const("len",Xl._`${s}.length`);r.forEach((d,f)=>{if(bn.alwaysValidSchema(a,d))return;n.if(Xl._`${u} > ${f}`,()=>e.subschema({keyword:i,schemaProp:f,dataProp:f},c)),e.ok(c)});function l(d){let{opts:f,errSchemaPath:m}=a,h=r.length,g=h===d.minItems&&(h===d.maxItems||d[t]===!1);if(f.strictTuples&&!g){let y=`"${i}" is ${h}-tuple, but minItems or maxItems/${t} are not specified or different at path "${m}"`;bn.checkStrictMode(a,y,f.strictTuples)}}}DA.validateTuple=jA;DA.default=hQ});var UA=T(function(FA){Object.defineProperty(FA,"__esModule",{value:!0});var qA=vy(),yQ={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(e)=>qA.validateTuple(e,"items")};FA.default=yQ});var KA=T(function(BA){Object.defineProperty(BA,"__esModule",{value:!0});var Ql=ee(),WA=ue(),VA=qt(),ZA=_y(),bQ={message:({params:{len:e}})=>Ql.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>Ql._`{limit: ${e}}`},_Q={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:bQ,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;if(n.items=!0,WA.alwaysValidSchema(n,t))return;if(o)ZA.validateAdditionalItems(e,o);else e.ok(VA.validateArray(e))}};BA.default=_Q});var GA=T(function(HA){Object.defineProperty(HA,"__esModule",{value:!0});var Pe=ee(),_n=ue(),SQ={message:({params:{min:e,max:t}})=>t===void 0?Pe.str`must contain at least ${e} valid item(s)`:Pe.str`must contain at least ${e} and no more than ${t} valid item(s)`,params:({params:{min:e,max:t}})=>t===void 0?Pe._`{minContains: ${e}}`:Pe._`{minContains: ${e}, maxContains: ${t}}`},kQ={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:SQ,code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e,i,a,{minContains:c,maxContains:u}=n;if(s.opts.next)i=c===void 0?1:c,a=u;else i=1;let l=t.const("len",Pe._`${o}.length`);if(e.setParams({min:i,max:a}),a===void 0&&i===0){_n.checkStrictMode(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&i>a){_n.checkStrictMode(s,'"minContains" > "maxContains" is always invalid'),e.fail();return}if(_n.alwaysValidSchema(s,r)){let g=Pe._`${l} >= ${i}`;if(a!==void 0)g=Pe._`${g} && ${l} <= ${a}`;e.pass(g);return}s.items=!0;let d=t.name("valid");if(a===void 0&&i===1)m(d,()=>t.if(d,()=>t.break()));else if(i===0){if(t.let(d,!0),a!==void 0)t.if(Pe._`${o}.length > 0`,f)}else t.let(d,!1),f();e.result(d,()=>e.reset());function f(){let g=t.name("_valid"),y=t.let("count",0);m(g,()=>t.if(g,()=>h(y)))}function m(g,y){t.forRange("i",0,l,(b)=>{e.subschema({keyword:"contains",dataProp:b,dataPropType:_n.Type.Num,compositeRule:!0},g),y()})}function h(g){if(t.code(Pe._`${g}++`),a===void 0)t.if(Pe._`${g} >= ${i}`,()=>t.assign(d,!0).break());else if(t.if(Pe._`${g} > ${a}`,()=>t.assign(d,!1).break()),i===1)t.assign(d,!0);else t.if(Pe._`${g} >= ${i}`,()=>t.assign(d,!0))}}};HA.default=kQ});var rC=T(function(QA){Object.defineProperty(QA,"__esModule",{value:!0});QA.validateSchemaDeps=QA.validatePropertyDeps=QA.error=void 0;var fs=ee(),JA=ue(),vr=qt();QA.error={message:({params:{property:e,depsCount:t,deps:r}})=>fs.str`must have ${t===1?"property":"properties"} ${r} when property ${e} is present`,params:({params:{property:e,depsCount:t,deps:r,missingProperty:n}})=>fs._`{property: ${e},
|
|
170
170
|
missingProperty: ${n},
|
|
171
171
|
depsCount: ${t},
|
|
172
|
-
deps: ${r}}`};var vX={keyword:"dependencies",type:"object",schemaType:"object",error:SR.error,code(e){let[t,r]=SX(e);_R(e,t),vR(e,r)}};function SX({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function _R(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=hr.propertyInData(r,n,i,o.opts.ownProperties);if(e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors)r.if(c,()=>{for(let u of a)hr.checkReportMissingProp(e,u)});else r.if(is._`${c} && (${hr.checkMissingProp(e,a,s)})`),hr.reportMissingProp(e,s),r.else()}}SR.validatePropertyDeps=_R;function vR(e,t=e.schema){let{gen:r,data:n,keyword:o,it:s}=e,i=r.name("valid");for(let a in t){if(wR.alwaysValidSchema(s,t[a]))continue;r.if(hr.propertyInData(r,n,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),e.ok(i)}}SR.validateSchemaDeps=vR;SR.default=vX});var OR=E(function(TR){Object.defineProperty(TR,"__esModule",{value:!0});var Bl=ee(),ER=ue(),$X={message:"property name must be valid",params:({params:e})=>Bl._`{propertyName: ${e.propertyName}}`},EX={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:$X,code(e){let{gen:t,schema:r,data:n,it:o}=e;if(ER.alwaysValidSchema(o,r))return;let s=t.name("valid");t.forIn("key",n,(i)=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if(Bl.not(s),()=>{if(e.error(!0),!o.allErrors)t.break()})}),e.ok(s)}};TR.default=EX});var sy=E(function(PR){Object.defineProperty(PR,"__esModule",{value:!0});var gn=Dt(),Ae=ee(),OX=Ar(),yn=ue(),PX={message:"must NOT have additional properties",params:({params:e})=>Ae._`{additionalProperty: ${e.additionalProperty}}`},IX={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:PX,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&yn.alwaysValidSchema(i,r))return;let u=gn.allSchemaProperties(n.properties),l=gn.allSchemaProperties(n.patternProperties);d(),e.ok(Ae._`${s} === ${OX.default.errors}`);function d(){t.forIn("key",o,(y)=>{if(!u.length&&!l.length)h(y);else t.if(f(y),()=>h(y))})}function f(y){let w;if(u.length>8){let T=yn.schemaRefOrVal(i,n.properties,"properties");w=gn.isOwnProperty(t,T,y)}else if(u.length)w=Ae.or(...u.map((T)=>Ae._`${y} === ${T}`));else w=Ae.nil;if(l.length)w=Ae.or(w,...l.map((T)=>Ae._`${gn.usePattern(e,T)}.test(${y})`));return Ae.not(w)}function m(y){t.code(Ae._`delete ${o}[${y}]`)}function h(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(y);return}if(r===!1){if(e.setParams({additionalProperty:y}),e.error(),!a)t.break();return}if(typeof r=="object"&&!yn.alwaysValidSchema(i,r)){let w=t.name("valid");if(c.removeAdditional==="failing")g(y,w,!1),t.if(Ae.not(w),()=>{e.reset(),m(y)});else if(g(y,w),!a)t.if(Ae.not(w),()=>t.break())}}function g(y,w,T){let S={keyword:"additionalProperties",dataProp:y,dataPropType:yn.Type.Str};if(T===!1)Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1});e.subschema(S,w)}}};PR.default=IX});var CR=E(function(RR){Object.defineProperty(RR,"__esModule",{value:!0});var AR=ua(),Kl=Dt(),as=ue(),IR=sy(),RX={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;if(s.opts.removeAdditional==="all"&&n.additionalProperties===void 0)IR.default.code(new AR.KeywordCxt(s,IR.default,"additionalProperties"));let i=Kl.allSchemaProperties(r);for(let d of i)s.definedProperties.add(d);if(s.opts.unevaluated&&i.length&&s.props!==!0)s.props=as.mergeEvaluated.props(t,as.toHash(i),s.props);let a=i.filter((d)=>!as.alwaysValidSchema(s,r[d]));if(a.length===0)return;let c=t.name("valid");for(let d of a){if(u(d))l(d);else{if(t.if(Kl.propertyInData(t,o,d,s.opts.ownProperties)),l(d),!s.allErrors)t.else().var(c,!0);t.endIf()}e.it.definedProperties.add(d),e.ok(c)}function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};RR.default=RX});var NR=E(function(zR){Object.defineProperty(zR,"__esModule",{value:!0});var Hl=Dt(),bn=ee(),Gl=ue(),Jl=ue(),zX={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=Hl.allSchemaProperties(r),c=a.filter((g)=>Gl.alwaysValidSchema(s,r[g]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=t.name("valid");if(s.props!==!0&&!(s.props instanceof bn.Name))s.props=Jl.evaluatedPropsToName(t,s.props);let{props:d}=s;f();function f(){for(let g of a){if(u)m(g);if(s.allErrors)h(g);else t.var(l,!0),h(g),t.if(l)}}function m(g){for(let y in u)if(new RegExp(g).test(y))Gl.checkStrictMode(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,(y)=>{t.if(bn._`${Hl.usePattern(e,g)}.test(${y})`,()=>{let w=c.includes(g);if(!w)e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:Jl.Type.Str},l);if(s.opts.unevaluated&&d!==!0)t.assign(bn._`${d}[${y}]`,!0);else if(!w&&!s.allErrors)t.if(bn.not(l),()=>t.break())})})}}};zR.default=zX});var jR=E(function(DR){Object.defineProperty(DR,"__esModule",{value:!0});var LR=ue(),LX={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if(LR.alwaysValidSchema(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};DR.default=LX});var FR=E(function(qR){Object.defineProperty(qR,"__esModule",{value:!0});var MR=Dt(),jX={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:MR.validateUnion,error:{message:"must match a schema in anyOf"}};qR.default=jX});var VR=E(function(WR){Object.defineProperty(WR,"__esModule",{value:!0});var wn=ee(),UR=ue(),qX={message:"must match exactly one schema in oneOf",params:({params:e})=>wn._`{passingSchemas: ${e.passing}}`},FX={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:qX,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(u),e.result(i,()=>e.reset(),()=>e.error(!0));function u(){s.forEach((l,d)=>{let f;if(UR.alwaysValidSchema(o,l))t.var(c,!0);else f=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c);if(d>0)t.if(wn._`${c} && ${i}`).assign(i,!1).assign(a,wn._`[${a}, ${d}]`).else();t.if(c,()=>{if(t.assign(i,!0),t.assign(a,d),f)e.mergeEvaluated(f,wn.Name)})})}}};WR.default=FX});var KR=E(function(BR){Object.defineProperty(BR,"__esModule",{value:!0});var ZR=ue(),WX={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw Error("ajv implementation error");let o=t.name("valid");r.forEach((s,i)=>{if(ZR.alwaysValidSchema(n,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};BR.default=WX});var JR=E(function(GR){Object.defineProperty(GR,"__esModule",{value:!0});var _n=ee(),Yl=ue(),ZX={message:({params:e})=>_n.str`must match "${e.ifClause}" schema`,params:({params:e})=>_n._`{failingKeyword: ${e.ifClause}}`},BX={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:ZX,code(e){let{gen:t,parentSchema:r,it:n}=e;if(r.then===void 0&&r.else===void 0)Yl.checkStrictMode(n,'"if" without "then" and "else" is ignored');let o=HR(n,"then"),s=HR(n,"else");if(!o&&!s)return;let i=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&s){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(a,u("then",l),u("else",l))}else if(o)t.if(a,u("then"));else t.if(_n.not(a),u("else"));e.pass(i,()=>e.error(!0));function c(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(l)}function u(l,d){return()=>{let f=e.subschema({keyword:l},a);if(t.assign(i,a),e.mergeValidEvaluated(f,i),d)t.assign(d,_n._`${l}`);else e.setParams({ifClause:l})}}}};function HR(e,t){let r=e.schema[t];return r!==void 0&&!Yl.alwaysValidSchema(e,r)}GR.default=BX});var QR=E(function(XR){Object.defineProperty(XR,"__esModule",{value:!0});var YR=ue(),HX={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){if(t.if===void 0)YR.checkStrictMode(r,`"${e}" without "if" is ignored`)}};XR.default=HX});var tC=E(function(eC){Object.defineProperty(eC,"__esModule",{value:!0});var JX=ny(),YX=dR(),XX=oy(),QX=gR(),eQ=bR(),tQ=$R(),rQ=OR(),nQ=sy(),oQ=CR(),sQ=NR(),iQ=jR(),aQ=FR(),cQ=VR(),uQ=KR(),lQ=JR(),dQ=QR();function pQ(e=!1){let t=[iQ.default,aQ.default,cQ.default,uQ.default,lQ.default,dQ.default,rQ.default,nQ.default,tQ.default,oQ.default,sQ.default];if(e)t.push(YX.default,QX.default);else t.push(JX.default,XX.default);return t.push(eQ.default),t}eC.default=pQ});var nC=E(function(rC){Object.defineProperty(rC,"__esModule",{value:!0});var Q=ee(),mQ={message:({schemaCode:e})=>Q.str`must match format "${e}"`,params:({schemaCode:e})=>Q._`{format: ${e}}`},hQ={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:mQ,code(e,t){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;if(o)f();else m();function f(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),g=r.const("fDef",Q._`${h}[${i}]`),y=r.let("fType"),w=r.let("format");r.if(Q._`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,Q._`${g}.type || "string"`).assign(w,Q._`${g}.validate`),()=>r.assign(y,Q._`"string"`).assign(w,g)),e.fail$data(Q.or(T(),S()));function T(){if(c.strictSchema===!1)return Q.nil;return Q._`${i} && !${w}`}function S(){let I=l.$async?Q._`(${g}.async ? await ${w}(${n}) : ${w}(${n}))`:Q._`${w}(${n})`,_=Q._`(typeof ${w} == "function" ? ${I} : ${w}.test(${n}))`;return Q._`${w} && ${w} !== true && ${y} === ${t} && !${_}`}}function m(){let h=d.formats[s];if(!h){T();return}if(h===!0)return;let[g,y,w]=S(h);if(g===t)e.pass(I());function T(){if(c.strictSchema===!1){d.logger.warn(_());return}throw Error(_());function _(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function S(_){let v=_ instanceof RegExp?Q.regexpCode(_):c.code.formats?Q._`${c.code.formats}${Q.getProperty(s)}`:void 0,k=r.scopeValue("formats",{key:s,ref:_,code:v});if(typeof _=="object"&&!(_ instanceof RegExp))return[_.type||"string",_.validate,Q._`${k}.validate`];return["string",_,k]}function I(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw Error("async format in sync schema");return Q._`await ${w}(${n})`}return typeof y=="function"?Q._`${w}(${n})`:Q._`${w}.test(${n})`}}}};rC.default=hQ});var sC=E(function(oC){Object.defineProperty(oC,"__esModule",{value:!0});var yQ=nC(),bQ=[yQ.default];oC.default=bQ});var cC=E(function(iC){Object.defineProperty(iC,"__esModule",{value:!0});iC.contentVocabulary=iC.metadataVocabulary=void 0;iC.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];iC.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var lC=E(function(uC){Object.defineProperty(uC,"__esModule",{value:!0});var vQ=vA(),SQ=tR(),kQ=tC(),xQ=sC(),Xl=cC(),$Q=[vQ.default,SQ.default,(0,kQ.default)(),xQ.default,Xl.metadataVocabulary,Xl.contentVocabulary];uC.default=$Q});var mC=E(function(pC){Object.defineProperty(pC,"__esModule",{value:!0});pC.DiscrError=void 0;var dC;(function(e){e.Tag="tag",e.Mapping="mapping"})(dC||(pC.DiscrError=dC={}))});var yC=E(function(gC){Object.defineProperty(gC,"__esModule",{value:!0});var Mt=ee(),cs=mC(),Ql=zl(),TQ=la(),hC=ue(),OQ={message:({params:{discrError:e,tagName:t}})=>e===cs.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>Mt._`{error: ${e}, tag: ${r}, tagValue: ${t}}`},PQ={keyword:"discriminator",type:"object",schemaType:"object",error:OQ,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw Error("discriminator: requires propertyName");if(n.mapping)throw Error("discriminator: mapping is not supported");if(!i)throw Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",Mt._`${r}${Mt.getProperty(a)}`);t.if(Mt._`typeof ${u} == "string"`,()=>l(),()=>e.error(!1,{discrError:cs.DiscrError.Tag,tag:u,tagName:a})),e.ok(c);function l(){let m=f();t.if(!1);for(let h in m)t.elseIf(Mt._`${u} === ${h}`),t.assign(c,d(m[h]));t.else(),e.error(!1,{discrError:cs.DiscrError.Mapping,tag:u,tagName:a}),t.endIf()}function d(m){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:m},h);return e.mergeEvaluated(g,Mt.Name),h}function f(){var m;let h={},g=w(o),y=!0;for(let I=0;I<i.length;I++){let _=i[I];if((_===null||_===void 0?void 0:_.$ref)&&!hC.schemaHasRulesButRef(_,s.self.RULES)){let k=_.$ref;if(_=Ql.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,k),_ instanceof Ql.SchemaEnv)_=_.schema;if(_===void 0)throw new TQ.default(s.opts.uriResolver,s.baseId,k)}let v=(m=_===null||_===void 0?void 0:_.properties)===null||m===void 0?void 0:m[a];if(typeof v!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||w(_)),T(v,I)}if(!y)throw Error(`discriminator: "${a}" must be required`);return h;function w({required:I}){return Array.isArray(I)&&I.includes(a)}function T(I,_){if(I.const)S(I.const,_);else if(I.enum)for(let v of I.enum)S(v,_);else throw Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function S(I,_){if(typeof I!="string"||I in h)throw Error(`discriminator: "${a}" values must be unique strings`);h[I]=_}}}};gC.default=PQ});var bC=E(function(dve,AQ){AQ.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var ay=E(function(ht,iy){Object.defineProperty(ht,"__esModule",{value:!0});ht.MissingRefError=ht.ValidationError=ht.CodeGen=ht.Name=ht.nil=ht.stringify=ht.str=ht._=ht.KeywordCxt=ht.Ajv=void 0;var RQ=fA(),CQ=lC(),zQ=yC(),wC=bC(),NQ=["/properties"],ed="http://json-schema.org/draft-07/schema";class fa extends RQ.default{_addVocabularies(){if(super._addVocabularies(),CQ.default.forEach((e)=>this.addVocabulary(e)),this.opts.discriminator)this.addKeyword(zQ.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(wC,NQ):wC;this.addMetaSchema(e,ed,!1),this.refs["http://json-schema.org/schema"]=ed}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(ed)?ed:void 0)}}ht.Ajv=fa;iy.exports=ht=fa;iy.exports.Ajv=fa;Object.defineProperty(ht,"__esModule",{value:!0});ht.default=fa;var LQ=ua();Object.defineProperty(ht,"KeywordCxt",{enumerable:!0,get:function(){return LQ.KeywordCxt}});var us=ee();Object.defineProperty(ht,"_",{enumerable:!0,get:function(){return us._}});Object.defineProperty(ht,"str",{enumerable:!0,get:function(){return us.str}});Object.defineProperty(ht,"stringify",{enumerable:!0,get:function(){return us.stringify}});Object.defineProperty(ht,"nil",{enumerable:!0,get:function(){return us.nil}});Object.defineProperty(ht,"Name",{enumerable:!0,get:function(){return us.Name}});Object.defineProperty(ht,"CodeGen",{enumerable:!0,get:function(){return us.CodeGen}});var DQ=Al();Object.defineProperty(ht,"ValidationError",{enumerable:!0,get:function(){return DQ.default}});var jQ=la();Object.defineProperty(ht,"MissingRefError",{enumerable:!0,get:function(){return jQ.default}})});var PC=E(function(TC){Object.defineProperty(TC,"__esModule",{value:!0});TC.formatNames=TC.fastFormats=TC.fullFormats=void 0;function gr(e,t){return{validate:e,compare:t}}TC.fullFormats={date:gr(kC,dy),time:gr(uy(!0),py),"date-time":gr(_C(!0),$C),"iso-time":gr(uy(),xC),"iso-date-time":gr(_C(),EC),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:BQ,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:QQ,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:KQ,int32:{type:"number",validate:JQ},int64:{type:"number",validate:YQ},float:{type:"number",validate:SC},double:{type:"number",validate:SC},password:!0,binary:!0};TC.fastFormats={...TC.fullFormats,date:gr(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,dy),time:gr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,py),"date-time":gr(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,$C),"iso-time":gr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,xC),"iso-date-time":gr(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,EC),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};TC.formatNames=Object.keys(TC.fullFormats);function FQ(e){return e%4===0&&(e%100!==0||e%400===0)}var UQ=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,WQ=[0,31,28,31,30,31,30,31,31,30,31,30,31];function kC(e){let t=UQ.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&FQ(r)?29:WQ[n])}function dy(e,t){if(!(e&&t))return;if(e>t)return 1;if(e<t)return-1;return 0}var cy=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function uy(e){return function(r){let n=cy.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||e&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function py(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(!(r&&n))return;return r-n}function xC(e,t){if(!(e&&t))return;let r=cy.exec(e),n=cy.exec(t);if(!(r&&n))return;if(e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t)return 1;if(e<t)return-1;return 0}var ly=/t|\s/i;function _C(e){let t=uy(e);return function(n){let o=n.split(ly);return o.length===2&&kC(o[0])&&t(o[1])}}function $C(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(!(r&&n))return;return r-n}function EC(e,t){if(!(e&&t))return;let[r,n]=e.split(ly),[o,s]=t.split(ly),i=dy(r,o);if(i===void 0)return;return i||py(n,s)}var VQ=/\/|:/,ZQ=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function BQ(e){return VQ.test(e)&&ZQ.test(e)}var vC=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function KQ(e){return vC.lastIndex=0,vC.test(e)}var HQ=-2147483648,GQ=2147483647;function JQ(e){return Number.isInteger(e)&&e<=GQ&&e>=HQ}function YQ(e){return Number.isInteger(e)}function SC(){return!0}var XQ=/[^\\]\\Z/;function QQ(e){if(XQ.test(e))return!1;try{return new RegExp(e),!0}catch(t){return!1}}});var RC=E(function(AC){Object.defineProperty(AC,"__esModule",{value:!0});AC.formatLimitDefinition=void 0;var IC=ay(),Re=ee(),vn=Re.operators,td={formatMaximum:{okStr:"<=",ok:vn.LTE,fail:vn.GT},formatMinimum:{okStr:">=",ok:vn.GTE,fail:vn.LT},formatExclusiveMaximum:{okStr:"<",ok:vn.LT,fail:vn.GTE},formatExclusiveMinimum:{okStr:">",ok:vn.GT,fail:vn.LTE}},tee={message:({keyword:e,schemaCode:t})=>Re.str`should be ${td[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>Re._`{comparison: ${td[e].okStr}, limit: ${t}}`};AC.formatLimitDefinition={keyword:Object.keys(td),type:"string",schemaType:"string",$data:!0,error:tee,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new IC.KeywordCxt(s,a.RULES.all.format.definition,"format");if(c.$data)u();else l();function u(){let f=t.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=t.const("fmt",Re._`${f}[${c.schemaCode}]`);e.fail$data(Re.or(Re._`typeof ${m} != "object"`,Re._`${m} instanceof RegExp`,Re._`typeof ${m}.compare != "function"`,d(m)))}function l(){let f=c.schema,m=a.formats[f];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw Error(`"${o}": format "${f}" does not define "compare" function`);let h=t.scopeValue("formats",{key:f,ref:m,code:i.code.formats?Re._`${i.code.formats}${Re.getProperty(f)}`:void 0});e.fail$data(d(h))}function d(f){return Re._`${f}.compare(${r}, ${n}) ${td[o].fail} 0`}},dependencies:["format"]};var ree=(e)=>(e.addKeyword(AC.formatLimitDefinition),e);AC.default=ree});var LC=E(function(ma,NC){Object.defineProperty(ma,"__esModule",{value:!0});var qt=PC(),oee=RC(),ls=ee(),CC=new ls.Name("fullFormats"),see=new ls.Name("fastFormats"),hy=(e,t={keywords:!0})=>{if(Array.isArray(t))return zC(e,t,qt.fullFormats,CC),e;let[r,n]=t.mode==="fast"?[qt.fastFormats,see]:[qt.fullFormats,CC],o=t.formats||qt.formatNames;if(zC(e,o,r,n),t.keywords)(0,oee.default)(e);return e};hy.get=(e,t="full")=>{let n=(t==="fast"?qt.fastFormats:qt.fullFormats)[e];if(!n)throw Error(`Unknown format "${e}"`);return n};function zC(e,t,r,n){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=ls._`require("ajv-formats/dist/formats").${n}`);for(let i of t)e.addFormat(i,r[i])}NC.exports=ma=hy;Object.defineProperty(ma,"__esModule",{value:!0});ma.default=hy});var Id={};Q1(Id,{program:()=>rb,createCommand:()=>nb,createOption:()=>ob,createArgument:()=>sb,Command:()=>ib,Option:()=>ab,Argument:()=>cb,Help:()=>ub,CommanderError:()=>lb,InvalidArgumentError:()=>db,InvalidOptionArgumentError:()=>pb},{program:(are)=>rb=are,createCommand:(are)=>nb=are,createOption:(are)=>ob=are,createArgument:(are)=>sb=are,Command:(are)=>ib=are,Option:(are)=>ab=are,Argument:(are)=>cb=are,Help:(are)=>ub=are,CommanderError:(are)=>lb=are,InvalidArgumentError:(are)=>db=are,InvalidOptionArgumentError:(are)=>pb=are});var ve={};X1(ve,{ZodISODate:()=>Ds,ZodISODateTime:()=>Ls,ZodISODuration:()=>Ms,ZodISOTime:()=>js,date:()=>NL,datetime:()=>ZS,duration:()=>DL,time:()=>LL});var{Argument:Qy}=Sa(),{Command:Pd}=Xy(),{CommanderError:Az,InvalidArgumentError:eb}=gs(),{Help:Rz}=xd(),{Option:tb}=$d();var rb=new Pd,nb=(e)=>new Pd(e),ob=(e,t)=>new tb(e,t),sb=(e,t)=>new Qy(e,t),ib=Pd,ab=tb,cb=Qy,ub=Rz,lb=Az,db=eb,pb=eb;var{program:ure,createCommand:lre,createArgument:dre,createOption:pre,CommanderError:fre,InvalidArgumentError:mre,InvalidOptionArgumentError:hre,Command:fb,Argument:gre,Option:yre,Help:bre}=Id;function bs(e){let t=Object.values(e).filter((n)=>typeof n==="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function Rd(e,t="|"){return e.map((r)=>Nd(r)).join(t)}function ws(e,t){if(typeof t==="bigint")return t.toString();return t}class hb{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;if(e!==void 0)this._value=e(),this._getter=void 0;return this._value}}function _s(e){return new hb(e)}function gb(e){return e===null||e===void 0}function Lr(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function yb(e,t){let r=e/t,n=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);if(Math.abs(r-n)<o)return 0;return r-n}var mb=Symbol("evaluating");function bb(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===mb)return;if(n===void 0)n=mb,n=r();return n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function yt(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function vs(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function br(e){return vs(e._zod.def)??e._zod.def.shape}function wb(e,t,r){Object.defineProperty(e,t,{get(){let n=r();return yt(this,t,n),n},enumerable:!0,configurable:!0})}function _b(e,t,r){if(t in e)yt(e,t,r);else e[t]=r}function En(e,t,r,n){let o=br(t);for(let s of r){let i=Object.getOwnPropertyDescriptor(o,s);if(!i.enumerable)continue;if(i.get)wb(e,s,()=>{let a=t._zod.def.shape[s];return n?n(a,s):a});else _b(e,s,n?n(i.value,s):i.value)}}function Cz(e,t){for(let r of Reflect.ownKeys(t)){let n=Object.getOwnPropertyDescriptor(t,r);if(!n.enumerable)continue;if(n.get)wb(e,r,()=>t[r]);else _b(e,r,n.value)}}function bt(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function vb(e){return JSON.stringify(e)}function Sb(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Cd="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function eo(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var kb=_s(()=>{if(tt.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Tn(e){if(eo(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let r=t.prototype;if(eo(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function zd(e){if(Tn(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}var xb=new Set(["string","number","symbol"]),$b=new Set(["string","number","bigint","boolean","symbol","undefined"]);function _r(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ft(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function U(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function Nd(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Eb(e){return Object.keys(e).filter((t)=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}var ka=(()=>({safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]}))(),Ld={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function zz(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let s={};return En(s,e,xa(e,t)),Ft(e,bt(r,{shape:s,checks:[]}))}function xa(e,t){let r=br(e),n=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(r,o)?.enumerable)throw Error(`Unrecognized key: "${String(o)}"`);if(t[o])n.push(o)}return n}function Nz(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let s=new Set(xa(e,t)),i={};return En(i,e,Reflect.ownKeys(br(e)).filter((a)=>!s.has(a))),Ft(e,bt(r,{shape:i,checks:[]}))}function Lz(e,t){if(!Tn(t))throw Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=br(e);for(let s of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Ft(e,bt(e._zod.def,{shape:Tb(e,t)}))}function Tb(e,t){let r={};return En(r,e,Reflect.ownKeys(br(e))),Cz(r,t),r}function Dz(e,t){if(!Tn(t))throw Error("Invalid input to safeExtend: expected a plain object");return Ft(e,bt(e._zod.def,{shape:Tb(e,t)}))}function jz(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r={};En(r,e,Reflect.ownKeys(br(e))),En(r,t,Reflect.ownKeys(br(t)));let n=bt(e._zod.def,{shape:r,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Ft(e,n)}function Ob(e,t,r,n="partial"){let s=t._zod.def.checks;if(s&&s.length>0)throw Error(`.${n}() cannot be used on object schemas containing refinements`);let a=r?new Set(xa(t,r)):void 0,c={};return En(c,t,Reflect.ownKeys(br(t)),e&&((u,l)=>a&&!a.has(l)?u:new e({type:"optional",innerType:u}))),Ft(t,bt(t._zod.def,{shape:c,checks:[]}))}function Mz(e,t,r){let n=r?new Set(xa(t,r)):void 0,o={};return En(o,t,Reflect.ownKeys(br(t)),(s,i)=>n&&!n.has(i)?s:new e({type:"nonoptional",innerType:s})),Ft(t,bt(t._zod.def,{shape:o}))}function Et(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Pb(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function Ht(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function ys(e){return typeof e==="string"?e:e?.message}function Dd(e){let t=[];for(let r of e??[]){let n=r._zod.def;if(!/_(length|size)$|_equals$/.test(n.check))break;let o=n.maximum??n.length??n.size;if(o>=0)t.push([o,r])}return t}function $a(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function Gt(e,t,r){var n;let o=e.inst?._zod?.traits;if(o?.has("$ZodType"))if(o.has("$ZodCheck"))(n=e).schema??(n.schema=e.inst);else e.schema=e.inst;let s=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,i=e.message?e.message:ys(e.inst?._zod.def?.error?.(e))??ys(s?.(e))??ys(t?.error?.(e))??ys(r.customError?.(e))??ys(r.localeError?.(e))??"Invalid input",a={};for(let c of Object.keys(e)){if(c==="inst"||c==="schema"||c==="continue"||c==="input"||c==="__proto__")continue;a[c]=e[c]}if(a.path??(a.path=[]),a.message=i,t?.reportInput)a.input=e.input;return a}var qz=/[\uD800-\uDBFF]/;function Ea(e){let t=e.length;if(!qz.test(e))return t;let r=t;for(let n=0;n<t-1;n++)if((e.charCodeAt(n)&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320)r--,n++;return r}function Ta(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function Ib(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function On(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}function Ab(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);if(n.get)Object.defineProperty(e,r,{...n,enumerable:!1});else Fz(e,r,n.value)}}function wr(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function Oa(e,t,r){return wr(e,t,r,!1)}function Rb(e,t){for(let r in e){let n=e[r];Object.defineProperty(t,r,{configurable:!0,enumerable:!0,get(){return wr(this,r,n(this))},set(o){wr(this,r,o)}})}return t}function Fz(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:wr(this,t,r.bind(this))},set(n){wr(this,t,n)}})}function Uz(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}var Ad,Nr=!1,Wz={configurable:!0,get(){Nr=!0;return}};function te(e,t,r){let n=Object.getPrototypeOf(e._zod);if(t in n&&Ad!==e._zod){Ad=void 0;return}Ad=e._zod,Object.defineProperty(n,t,{configurable:!0,get(){Object.defineProperty(this,t,Wz);let o=Nr;Nr=!1;try{let s=r(this);if(Nr)delete this[t];else Object.defineProperty(this,t,{configurable:!0,writable:!0,value:s});return Nr=Nr||o,s}catch(s){throw delete this[t],Nr=Nr||o,s}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function Vz(e,t,r,n){let o=Uz(e,t);if(!o)return;Object.defineProperty(o,t,{configurable:!0,get(){let s={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,s),s.value=r(this),Object.defineProperty(this,t,s),s.value},set(s){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:s})}})}var Zz="~constantCatch";function Cb(e){let t=()=>e;return t[Zz]=!0,t}var zb,Md=Object.freeze({status:"aborted"}),jd={value:void 0,enumerable:!1},Nb="captureStackTrace"in Error?Error:null;function Bz(e){let t=Nb;if(t){let r=t.stackTraceLimit;if(typeof r==="number"){try{t.stackTraceLimit=0}catch{return Nb=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function O(e,t,r,n){let o={};function s(f){this.def=f,this.constr=d,this.traits=new Set}s.prototype=o;let i=r,a=i&&new WeakSet;function c(f,m){if(!f._zod){jd.value=new s(m);try{Object.defineProperty(f,"_zod",jd)}finally{jd.value=void 0}}else if(f._zod.traits.has(e))return;if(f._zod.traits.add(e),t(f,m),a){let g=Object.getPrototypeOf(f),y=f._zod.constr.prototype,w=g;while(w&&w!==y)w=Object.getPrototypeOf(w);let T=w??g;if(!a.has(T))a.add(T),Ab(T,i)}let h=d.prototype;for(let g in h){if(!Object.prototype.hasOwnProperty.call(h,g))continue;if(!(g in f))f[g]=h[g].bind(f)}}let u=n?.Parent??Object;class l extends u{}Object.defineProperty(l,"name",{value:e});function d(f){let m=n?.Parent?Bz(l):this;c(m,f);let h=m._zod.deferred;if(h){for(let y of h)y();m._zod.deferred=void 0}let g=globalThis.__zod_globalConfig?.postProcessor;if(g)g(m);return m}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:(f)=>{if(n?.Parent&&f instanceof n.Parent)return!0;return f?._zod?.traits?.has(e)}}),Object.defineProperty(d,"name",{value:e}),d}class Jt extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ss extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}(zb=globalThis).__zod_globalConfig??(zb.__zod_globalConfig={});var tt=globalThis.__zod_globalConfig;function at(e){if(e)Object.assign(tt,e);return tt}function Kz(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,ws,2)),e.message}function Hz(e){this._zod.message=e}var Gz={get:Kz,set:Hz,enumerable:!0,configurable:!0},Fd={value:void 0,enumerable:!1},Lb=new WeakSet([Object.prototype,Error.prototype]),Db=(e,t)=>{e.name="$ZodError",Fd.value=t,Object.defineProperty(e,"issues",Fd),Fd.value=void 0,Object.defineProperty(e,"message",Gz);let r=Object.getPrototypeOf(e);if(!Lb.has(r))Lb.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let n=()=>this.message;return Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0})}})},jb=O("$ZodError",Db),Mb=O("$ZodError",Db,void 0,{Parent:Error});function Jz(e,t,r){if(!Object.prototype.hasOwnProperty.call(e,t))if(t==="__proto__")Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0});else e[t]=r();return e[t]}function Ud(e,t=(r)=>r.message){let r={},n=[];for(let o of e.issues)if(o.path.length>0)Jz(r,o.path[0],()=>[]).push(t(o));else n.push(t(o));return{formErrors:n,fieldErrors:r}}function Wd(e,t=(r)=>r.message){let r={_errors:[]},n=(o,s=[])=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map((a)=>n({issues:a},[...s,...i.path]));else if(i.code==="invalid_key")n({issues:i.issues},[...s,...i.path]);else if(i.code==="invalid_element")n({issues:i.issues},[...s,...i.path]);else{let a=[...s,...i.path];if(a.length===0)r._errors.push(t(i));else{let c=r,u=0;while(u<a.length){let l=a[u],d=u===a.length-1;if(l==="_errors"){if(d)c._errors.push(t(i));u++;continue}if(!Object.prototype.hasOwnProperty.call(c,l))Object.defineProperty(c,l,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let f=c[l];if(d)f._errors.push(t(i));c=f,u++}}}};return n(e),r}function Pa(e,t){return{callee:t?.callee??e,Err:t?.Err}}var Ia=(e)=>{let t=(r,n,o,s)=>{let i=o?{...o,async:!1}:{async:!1},a=r._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Jt;if(a.issues.length){let c=new(s?.Err??e)(a.issues.map((u)=>Gt(u,i,at())));throw Cd(c,s?.callee??t),c}return a.value};return t};var Aa=(e)=>{let t=async(r,n,o,s)=>{let i=o?{...o,async:!0}:{async:!0},a=r._zod.run({value:n,issues:[]},i);if(a instanceof Promise)a=await a;if(a.issues.length){let c=new(s?.Err??e)(a.issues.map((u)=>Gt(u,i,at())));throw Cd(c,s?.callee??t),c}return a.value};return t};var ks=(e)=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Jt;return s.issues.length?qb(e,s.issues,o):{success:!0,data:s.value}},Vd=ks(Mb);function qb(e,t,r){let n;return{success:!1,get error(){if(!n)n=new e(t.map((o)=>Gt(o,r,at()))),t=void 0,r=void 0;return n},set error(o){n=o,t=void 0,r=void 0}}}var Ra=(e)=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)s=await s;return s.issues.length?qb(e,s.issues,o):{success:!0,data:s.value}};var Xz=Symbol.for("zod.compile.invalid"),Qz=Symbol.for("zod.compile.fallback"),Ca=(e,t,r)=>{let n=e._zod.bag.validator;if(n!==void 0){if(n(t)!==Xz)return!0;if(n.definite===!0&&r===void 0)return!1}return eN(e,t,r)};function eN(e,t,r){let n=r?{...r,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun,s;if(o)n[Qz]=!0,s=o({value:t,issues:[]},n);else s=e._zod.run({value:t,issues:[]},n);if(s instanceof Promise)throw new Jt;return s.issues.length===0}var za=async(e,t,r)=>{let n=r?{...r,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},o=e._zod.run({value:t,issues:[]},n);if(o instanceof Promise)o=await o;return o.issues.length===0},Fb=(e)=>{let t=Ia(e),r=(n,o,s,i)=>{let a=s?{...s,direction:"backward"}:{direction:"backward"};return t(n,o,a,Pa(r,i))};return r};var Ub=(e)=>{let t=Ia(e),r=(n,o,s,i)=>t(n,o,s,Pa(r,i));return r};var Wb=(e)=>{let t=Aa(e),r=async(n,o,s,i)=>{let a=s?{...s,direction:"backward"}:{direction:"backward"};return await t(n,o,a,Pa(r,i))};return r};var Vb=(e)=>{let t=Aa(e),r=async(n,o,s,i)=>await t(n,o,s,Pa(r,i));return r};var Zb=(e)=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return ks(e)(t,r,o)};var Bb=(e)=>(t,r,n)=>ks(e)(t,r,n);var Kb=(e)=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Ra(e)(t,r,o)};var Hb=(e)=>async(t,r,n)=>Ra(e)(t,r,n);var Gb=/^[cC][0-9a-z]{6,}$/,Jb=/^[0-9a-z]+$/,Yb=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Xb=/^[0-9a-vA-V]{20}$/,Qb=/^[A-Za-z0-9]{27}$/,ew=/^[a-zA-Z0-9_-]{21}$/;function tw(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var rw=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var nw=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Bd=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var ow=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var tN="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function sw(){return new RegExp(tN,"u")}var iw=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,aw=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;var cw=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,uw=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,lw=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,dw=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/;var pw=/^https?$/,fw=/^\+[1-9]\d{6,14}$/;var mw="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function rN(e){return new RegExp(`^${e}$`)}var hw=rN(mw);function Zd(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?":"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function gw(e){return new RegExp(`^${Zd(e)}$`)}function yw(e){let t=["Z"];if(e.offset)t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${Zd({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,n=e.local?`${r}|${Zd({precision:e.precision})}`:r;return new RegExp(`^${mw}T(?:${n})$`)}var bw=/^[\s\S]{0,}$/,ww=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Na=/^-?\d+$/,to=/^-?\d+(?:\.\d+)?$/,_w=/^(?:true|false)$/i,vw=/^null$/i;var Sw=/^[^A-Z]*$/,kw=/^[^a-z]*$/;var Ke=O("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var Kd=(e)=>{let t=e.value;return!gb(t)&&t.length!==void 0},La={number:"number",bigint:"bigint",object:"date"},Hd=O("$ZodCheckLessThan",(e,t)=>{Ke.init(e,t);let r=La[typeof t.value];e._zod.check=(n)=>{if(t.inclusive?n.value<=t.value:n.value<t.value)return;n.issues.push({origin:La[typeof n.value]??r,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Gd=O("$ZodCheckGreaterThan",(e,t)=>{Ke.init(e,t);let r=La[typeof t.value];e._zod.check=(n)=>{if(t.inclusive?n.value>=t.value:n.value>t.value)return;n.issues.push({origin:La[typeof n.value]??r,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),xw=O("$ZodCheckMultipleOf",(e,t)=>{Ke.init(e,t),e._zod.check=(r)=>{if(typeof r.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof r.value==="bigint"?t.value!==BigInt(0)&&r.value%t.value===BigInt(0):yb(r.value,t.value)===0)return;r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),$w=O("$ZodCheckNumberFormat",(e,t)=>{Ke.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=ka[t.format];e._zod.check=(i)=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){if(a>0)i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});else i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}if(a<o)i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(a>s)i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}});var Ew=O("$ZodCheckMaxLength",(e,t)=>{var r;Ke.init(e,t),(r=e._zod.def).when??(r.when=Kd),e._zod.check=(n)=>{let o=n.value,s=o.length;if((typeof o==="string"&&s>t.maximum?Ea(o):s)<=t.maximum)return;let a=Ta(o);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Tw=O("$ZodCheckMinLength",(e,t)=>{var r;Ke.init(e,t),(r=e._zod.def).when??(r.when=Kd),e._zod.check=(n)=>{let o=n.value,s=o.length;if((typeof o==="string"&&s>=t.minimum&&s<t.minimum*2?Ea(o):s)>=t.minimum)return;let a=Ta(o);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Ow=O("$ZodCheckLengthEquals",(e,t)=>{var r;Ke.init(e,t),(r=e._zod.def).when??(r.when=Kd),e._zod.check=(n)=>{let o=n.value,s=o.length,i=typeof o==="string"&&s>=t.length&&s<=t.length*2?Ea(o):s;if(i===t.length)return;let a=Ta(o),c=i>t.length;n.issues.push({origin:a,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),xs=O("$ZodCheckStringFormat",(e,t)=>{var r,n;if(Ke.init(e,t),t.pattern)(r=e._zod).check??(r.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(n=e._zod).check??(n.check=()=>{})}),Pw=O("$ZodCheckRegex",(e,t)=>{xs.init(e,t),e._zod.check=(r)=>{if(t.pattern.lastIndex=0,t.pattern.test(r.value))return;r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Iw=O("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Sw),xs.init(e,t)}),Aw=O("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=kw),xs.init(e,t)}),Rw=O("$ZodCheckIncludes",(e,t)=>{Ke.init(e,t);let r=_r(t.includes),n=new RegExp(typeof t.position==="number"?`^.{${t.position},}${r}`:r);t.pattern=n,e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Cw=O("$ZodCheckStartsWith",(e,t)=>{Ke.init(e,t);let r=new RegExp(`^${_r(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.check=(n)=>{if(n.value.startsWith(t.prefix))return;n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),zw=O("$ZodCheckEndsWith",(e,t)=>{Ke.init(e,t);let r=new RegExp(`.*${_r(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.check=(n)=>{if(n.value.endsWith(t.suffix))return;n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var Nw=O("$ZodCheckOverwrite",(e,t)=>{Ke.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}});class Jd{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{this.indent-=1}}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let r=e.split(`
|
|
172
|
+
deps: ${r}}`};var $Q={keyword:"dependencies",type:"object",schemaType:"object",error:QA.error,code(e){let[t,r]=EQ(e);YA(e,t),XA(e,r)}};function EQ({schema:e}){let t={},r={};for(let n in e){if(n==="__proto__")continue;let o=Array.isArray(e[n])?t:r;o[n]=e[n]}return[t,r]}function YA(e,t=e.schema){let{gen:r,data:n,it:o}=e;if(Object.keys(t).length===0)return;let s=r.let("missing");for(let i in t){let a=t[i];if(a.length===0)continue;let c=vr.propertyInData(r,n,i,o.opts.ownProperties);if(e.setParams({property:i,depsCount:a.length,deps:a.join(", ")}),o.allErrors)r.if(c,()=>{for(let u of a)vr.checkReportMissingProp(e,u)});else r.if(fs._`${c} && (${vr.checkMissingProp(e,a,s)})`),vr.reportMissingProp(e,s),r.else()}}QA.validatePropertyDeps=YA;function XA(e,t=e.schema){let{gen:r,data:n,keyword:o,it:s}=e,i=r.name("valid");for(let a in t){if(JA.alwaysValidSchema(s,t[a]))continue;r.if(vr.propertyInData(r,n,a,s.opts.ownProperties),()=>{let c=e.subschema({keyword:o,schemaProp:a},i);e.mergeValidEvaluated(c,i)},()=>r.var(i,!0)),e.ok(i)}}QA.validateSchemaDeps=XA;QA.default=$Q});var sC=T(function(oC){Object.defineProperty(oC,"__esModule",{value:!0});var ed=ee(),nC=ue(),OQ={message:"property name must be valid",params:({params:e})=>ed._`{propertyName: ${e.propertyName}}`},IQ={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:OQ,code(e){let{gen:t,schema:r,data:n,it:o}=e;if(nC.alwaysValidSchema(o,r))return;let s=t.name("valid");t.forIn("key",n,(i)=>{e.setParams({propertyName:i}),e.subschema({keyword:"propertyNames",data:i,dataTypes:["string"],propertyName:i,compositeRule:!0},s),t.if(ed.not(s),()=>{if(e.error(!0),!o.allErrors)t.break()})}),e.ok(s)}};oC.default=IQ});var Sy=T(function(iC){Object.defineProperty(iC,"__esModule",{value:!0});var vn=qt(),Ce=ee(),AQ=zr(),Sn=ue(),CQ={message:"must NOT have additional properties",params:({params:e})=>Ce._`{additionalProperty: ${e.additionalProperty}}`},zQ={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:CQ,code(e){let{gen:t,schema:r,parentSchema:n,data:o,errsCount:s,it:i}=e;if(!s)throw Error("ajv implementation error");let{allErrors:a,opts:c}=i;if(i.props=!0,c.removeAdditional!=="all"&&Sn.alwaysValidSchema(i,r))return;let u=vn.allSchemaProperties(n.properties),l=vn.allSchemaProperties(n.patternProperties);d(),e.ok(Ce._`${s} === ${AQ.default.errors}`);function d(){t.forIn("key",o,(y)=>{if(!u.length&&!l.length)h(y);else t.if(f(y),()=>h(y))})}function f(y){let b;if(u.length>8){let E=Sn.schemaRefOrVal(i,n.properties,"properties");b=vn.isOwnProperty(t,E,y)}else if(u.length)b=Ce.or(...u.map((E)=>Ce._`${y} === ${E}`));else b=Ce.nil;if(l.length)b=Ce.or(b,...l.map((E)=>Ce._`${vn.usePattern(e,E)}.test(${y})`));return Ce.not(b)}function m(y){t.code(Ce._`delete ${o}[${y}]`)}function h(y){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){m(y);return}if(r===!1){if(e.setParams({additionalProperty:y}),e.error(),!a)t.break();return}if(typeof r=="object"&&!Sn.alwaysValidSchema(i,r)){let b=t.name("valid");if(c.removeAdditional==="failing")g(y,b,!1),t.if(Ce.not(b),()=>{e.reset(),m(y)});else if(g(y,b),!a)t.if(Ce.not(b),()=>t.break())}}function g(y,b,E){let S={keyword:"additionalProperties",dataProp:y,dataPropType:Sn.Type.Str};if(E===!1)Object.assign(S,{compositeRule:!0,createErrors:!1,allErrors:!1});e.subschema(S,b)}}};iC.default=zQ});var lC=T(function(uC){Object.defineProperty(uC,"__esModule",{value:!0});var cC=ha(),td=qt(),ms=ue(),aC=Sy(),LQ={keyword:"properties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,parentSchema:n,data:o,it:s}=e;if(s.opts.removeAdditional==="all"&&n.additionalProperties===void 0)aC.default.code(new cC.KeywordCxt(s,aC.default,"additionalProperties"));let i=td.allSchemaProperties(r);for(let d of i)s.definedProperties.add(d);if(s.opts.unevaluated&&i.length&&s.props!==!0)s.props=ms.mergeEvaluated.props(t,ms.toHash(i),s.props);let a=i.filter((d)=>!ms.alwaysValidSchema(s,r[d]));if(a.length===0)return;let c=t.name("valid");for(let d of a){if(u(d))l(d);else{if(t.if(td.propertyInData(t,o,d,s.opts.ownProperties)),l(d),!s.allErrors)t.else().var(c,!0);t.endIf()}e.it.definedProperties.add(d),e.ok(c)}function u(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function l(d){e.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};uC.default=LQ});var pC=T(function(dC){Object.defineProperty(dC,"__esModule",{value:!0});var rd=qt(),kn=ee(),nd=ue(),od=ue(),DQ={keyword:"patternProperties",type:"object",schemaType:"object",code(e){let{gen:t,schema:r,data:n,parentSchema:o,it:s}=e,{opts:i}=s,a=rd.allSchemaProperties(r),c=a.filter((g)=>nd.alwaysValidSchema(s,r[g]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let u=i.strictSchema&&!i.allowMatchingProperties&&o.properties,l=t.name("valid");if(s.props!==!0&&!(s.props instanceof kn.Name))s.props=od.evaluatedPropsToName(t,s.props);let{props:d}=s;f();function f(){for(let g of a){if(u)m(g);if(s.allErrors)h(g);else t.var(l,!0),h(g),t.if(l)}}function m(g){for(let y in u)if(new RegExp(g).test(y))nd.checkStrictMode(s,`property ${y} matches pattern ${g} (use allowMatchingProperties)`)}function h(g){t.forIn("key",n,(y)=>{t.if(kn._`${rd.usePattern(e,g)}.test(${y})`,()=>{let b=c.includes(g);if(!b)e.subschema({keyword:"patternProperties",schemaProp:g,dataProp:y,dataPropType:od.Type.Str},l);if(s.opts.unevaluated&&d!==!0)t.assign(kn._`${d}[${y}]`,!0);else if(!b&&!s.allErrors)t.if(kn.not(l),()=>t.break())})})}}};dC.default=DQ});var hC=T(function(mC){Object.defineProperty(mC,"__esModule",{value:!0});var fC=ue(),qQ={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if(fC.alwaysValidSchema(n,r)){e.fail();return}let o=t.name("valid");e.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},o),e.failResult(o,()=>e.reset(),()=>e.error())},error:{message:"must NOT be valid"}};mC.default=qQ});var wC=T(function(yC){Object.defineProperty(yC,"__esModule",{value:!0});var gC=qt(),UQ={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:gC.validateUnion,error:{message:"must match a schema in anyOf"}};yC.default=UQ});var vC=T(function(_C){Object.defineProperty(_C,"__esModule",{value:!0});var xn=ee(),bC=ue(),VQ={message:"must match exactly one schema in oneOf",params:({params:e})=>xn._`{passingSchemas: ${e.passing}}`},ZQ={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:VQ,code(e){let{gen:t,schema:r,parentSchema:n,it:o}=e;if(!Array.isArray(r))throw Error("ajv implementation error");if(o.opts.discriminator&&n.discriminator)return;let s=r,i=t.let("valid",!1),a=t.let("passing",null),c=t.name("_valid");e.setParams({passing:a}),t.block(u),e.result(i,()=>e.reset(),()=>e.error(!0));function u(){s.forEach((l,d)=>{let f;if(bC.alwaysValidSchema(o,l))t.var(c,!0);else f=e.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c);if(d>0)t.if(xn._`${c} && ${i}`).assign(i,!1).assign(a,xn._`[${a}, ${d}]`).else();t.if(c,()=>{if(t.assign(i,!0),t.assign(a,d),f)e.mergeEvaluated(f,xn.Name)})})}}};_C.default=ZQ});var xC=T(function(kC){Object.defineProperty(kC,"__esModule",{value:!0});var SC=ue(),KQ={keyword:"allOf",schemaType:"array",code(e){let{gen:t,schema:r,it:n}=e;if(!Array.isArray(r))throw Error("ajv implementation error");let o=t.name("valid");r.forEach((s,i)=>{if(SC.alwaysValidSchema(n,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};kC.default=KQ});var TC=T(function(EC){Object.defineProperty(EC,"__esModule",{value:!0});var $n=ee(),sd=ue(),GQ={message:({params:e})=>$n.str`must match "${e.ifClause}" schema`,params:({params:e})=>$n._`{failingKeyword: ${e.ifClause}}`},JQ={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:GQ,code(e){let{gen:t,parentSchema:r,it:n}=e;if(r.then===void 0&&r.else===void 0)sd.checkStrictMode(n,'"if" without "then" and "else" is ignored');let o=$C(n,"then"),s=$C(n,"else");if(!o&&!s)return;let i=t.let("valid",!0),a=t.name("_valid");if(c(),e.reset(),o&&s){let l=t.let("ifClause");e.setParams({ifClause:l}),t.if(a,u("then",l),u("else",l))}else if(o)t.if(a,u("then"));else t.if($n.not(a),u("else"));e.pass(i,()=>e.error(!0));function c(){let l=e.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);e.mergeEvaluated(l)}function u(l,d){return()=>{let f=e.subschema({keyword:l},a);if(t.assign(i,a),e.mergeValidEvaluated(f,i),d)t.assign(d,$n._`${l}`);else e.setParams({ifClause:l})}}}};function $C(e,t){let r=e.schema[t];return r!==void 0&&!sd.alwaysValidSchema(e,r)}EC.default=JQ});var IC=T(function(OC){Object.defineProperty(OC,"__esModule",{value:!0});var PC=ue(),XQ={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){if(t.if===void 0)PC.checkStrictMode(r,`"${e}" without "if" is ignored`)}};OC.default=XQ});var AC=T(function(RC){Object.defineProperty(RC,"__esModule",{value:!0});var eee=_y(),tee=UA(),ree=vy(),nee=KA(),oee=GA(),see=rC(),iee=sC(),aee=Sy(),cee=lC(),uee=pC(),lee=hC(),dee=wC(),pee=vC(),fee=xC(),mee=TC(),hee=IC();function gee(e=!1){let t=[lee.default,dee.default,pee.default,fee.default,mee.default,hee.default,iee.default,aee.default,see.default,cee.default,uee.default];if(e)t.push(tee.default,nee.default);else t.push(eee.default,ree.default);return t.push(oee.default),t}RC.default=gee});var zC=T(function(CC){Object.defineProperty(CC,"__esModule",{value:!0});var Q=ee(),wee={message:({schemaCode:e})=>Q.str`must match format "${e}"`,params:({schemaCode:e})=>Q._`{format: ${e}}`},bee={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:wee,code(e,t){let{gen:r,data:n,$data:o,schema:s,schemaCode:i,it:a}=e,{opts:c,errSchemaPath:u,schemaEnv:l,self:d}=a;if(!c.validateFormats)return;if(o)f();else m();function f(){let h=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),g=r.const("fDef",Q._`${h}[${i}]`),y=r.let("fType"),b=r.let("format");r.if(Q._`typeof ${g} == "object" && !(${g} instanceof RegExp)`,()=>r.assign(y,Q._`${g}.type || "string"`).assign(b,Q._`${g}.validate`),()=>r.assign(y,Q._`"string"`).assign(b,g)),e.fail$data(Q.or(E(),S()));function E(){if(c.strictSchema===!1)return Q.nil;return Q._`${i} && !${b}`}function S(){let I=l.$async?Q._`(${g}.async ? await ${b}(${n}) : ${b}(${n}))`:Q._`${b}(${n})`,_=Q._`(typeof ${b} == "function" ? ${I} : ${b}.test(${n}))`;return Q._`${b} && ${b} !== true && ${y} === ${t} && !${_}`}}function m(){let h=d.formats[s];if(!h){E();return}if(h===!0)return;let[g,y,b]=S(h);if(g===t)e.pass(I());function E(){if(c.strictSchema===!1){d.logger.warn(_());return}throw Error(_());function _(){return`unknown format "${s}" ignored in schema at path "${u}"`}}function S(_){let v=_ instanceof RegExp?Q.regexpCode(_):c.code.formats?Q._`${c.code.formats}${Q.getProperty(s)}`:void 0,x=r.scopeValue("formats",{key:s,ref:_,code:v});if(typeof _=="object"&&!(_ instanceof RegExp))return[_.type||"string",_.validate,Q._`${x}.validate`];return["string",_,x]}function I(){if(typeof h=="object"&&!(h instanceof RegExp)&&h.async){if(!l.$async)throw Error("async format in sync schema");return Q._`await ${b}(${n})`}return typeof y=="function"?Q._`${b}(${n})`:Q._`${b}.test(${n})`}}}};CC.default=bee});var LC=T(function(NC){Object.defineProperty(NC,"__esModule",{value:!0});var vee=zC(),See=[vee.default];NC.default=See});var MC=T(function(jC){Object.defineProperty(jC,"__esModule",{value:!0});jC.contentVocabulary=jC.metadataVocabulary=void 0;jC.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];jC.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var FC=T(function(qC){Object.defineProperty(qC,"__esModule",{value:!0});var $ee=XR(),Eee=AA(),Tee=AC(),Pee=LC(),id=MC(),Oee=[$ee.default,Eee.default,(0,Tee.default)(),Pee.default,id.metadataVocabulary,id.contentVocabulary];qC.default=Oee});var ZC=T(function(WC){Object.defineProperty(WC,"__esModule",{value:!0});WC.DiscrError=void 0;var UC;(function(e){e.Tag="tag",e.Mapping="mapping"})(UC||(WC.DiscrError=UC={}))});var HC=T(function(KC){Object.defineProperty(KC,"__esModule",{value:!0});var Ut=ee(),hs=ZC(),ad=Ul(),Ree=ga(),BC=ue(),Aee={message:({params:{discrError:e,tagName:t}})=>e===hs.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:t,tagName:r}})=>Ut._`{error: ${e}, tag: ${r}, tagValue: ${t}}`},Cee={keyword:"discriminator",type:"object",schemaType:"object",error:Aee,code(e){let{gen:t,data:r,schema:n,parentSchema:o,it:s}=e,{oneOf:i}=o;if(!s.opts.discriminator)throw Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw Error("discriminator: requires propertyName");if(n.mapping)throw Error("discriminator: mapping is not supported");if(!i)throw Error("discriminator: requires oneOf keyword");let c=t.let("valid",!1),u=t.const("tag",Ut._`${r}${Ut.getProperty(a)}`);t.if(Ut._`typeof ${u} == "string"`,()=>l(),()=>e.error(!1,{discrError:hs.DiscrError.Tag,tag:u,tagName:a})),e.ok(c);function l(){let m=f();t.if(!1);for(let h in m)t.elseIf(Ut._`${u} === ${h}`),t.assign(c,d(m[h]));t.else(),e.error(!1,{discrError:hs.DiscrError.Mapping,tag:u,tagName:a}),t.endIf()}function d(m){let h=t.name("valid"),g=e.subschema({keyword:"oneOf",schemaProp:m},h);return e.mergeEvaluated(g,Ut.Name),h}function f(){var m;let h={},g=b(o),y=!0;for(let I=0;I<i.length;I++){let _=i[I];if((_===null||_===void 0?void 0:_.$ref)&&!BC.schemaHasRulesButRef(_,s.self.RULES)){let x=_.$ref;if(_=ad.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,x),_ instanceof ad.SchemaEnv)_=_.schema;if(_===void 0)throw new Ree.default(s.opts.uriResolver,s.baseId,x)}let v=(m=_===null||_===void 0?void 0:_.properties)===null||m===void 0?void 0:m[a];if(typeof v!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);y=y&&(g||b(_)),E(v,I)}if(!y)throw Error(`discriminator: "${a}" must be required`);return h;function b({required:I}){return Array.isArray(I)&&I.includes(a)}function E(I,_){if(I.const)S(I.const,_);else if(I.enum)for(let v of I.enum)S(v,_);else throw Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function S(I,_){if(typeof I!="string"||I in h)throw Error(`discriminator: "${a}" values must be unique strings`);h[I]=_}}}};KC.default=Cee});var GC=T(function(KSe,Nee){Nee.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var xy=T(function(ht,ky){Object.defineProperty(ht,"__esModule",{value:!0});ht.MissingRefError=ht.ValidationError=ht.CodeGen=ht.Name=ht.nil=ht.stringify=ht.str=ht._=ht.KeywordCxt=ht.Ajv=void 0;var Lee=VR(),jee=FC(),Dee=HC(),JC=GC(),Mee=["/properties"],cd="http://json-schema.org/draft-07/schema";class ba extends Lee.default{_addVocabularies(){if(super._addVocabularies(),jee.default.forEach((e)=>this.addVocabulary(e)),this.opts.discriminator)this.addKeyword(Dee.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(JC,Mee):JC;this.addMetaSchema(e,cd,!1),this.refs["http://json-schema.org/schema"]=cd}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(cd)?cd:void 0)}}ht.Ajv=ba;ky.exports=ht=ba;ky.exports.Ajv=ba;Object.defineProperty(ht,"__esModule",{value:!0});ht.default=ba;var qee=ha();Object.defineProperty(ht,"KeywordCxt",{enumerable:!0,get:function(){return qee.KeywordCxt}});var gs=ee();Object.defineProperty(ht,"_",{enumerable:!0,get:function(){return gs._}});Object.defineProperty(ht,"str",{enumerable:!0,get:function(){return gs.str}});Object.defineProperty(ht,"stringify",{enumerable:!0,get:function(){return gs.stringify}});Object.defineProperty(ht,"nil",{enumerable:!0,get:function(){return gs.nil}});Object.defineProperty(ht,"Name",{enumerable:!0,get:function(){return gs.Name}});Object.defineProperty(ht,"CodeGen",{enumerable:!0,get:function(){return gs.CodeGen}});var Fee=Ml();Object.defineProperty(ht,"ValidationError",{enumerable:!0,get:function(){return Fee.default}});var Uee=ga();Object.defineProperty(ht,"MissingRefError",{enumerable:!0,get:function(){return Uee.default}})});var i1=T(function(o1){Object.defineProperty(o1,"__esModule",{value:!0});o1.formatNames=o1.fastFormats=o1.fullFormats=void 0;function Sr(e,t){return{validate:e,compare:t}}o1.fullFormats={date:Sr(e1,Py),time:Sr(Ey(!0),Oy),"date-time":Sr(YC(!0),r1),"iso-time":Sr(Ey(),t1),"iso-date-time":Sr(YC(),n1),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:Jee,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:nte,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:Yee,int32:{type:"number",validate:ete},int64:{type:"number",validate:tte},float:{type:"number",validate:QC},double:{type:"number",validate:QC},password:!0,binary:!0};o1.fastFormats={...o1.fullFormats,date:Sr(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Py),time:Sr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Oy),"date-time":Sr(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,r1),"iso-time":Sr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,t1),"iso-date-time":Sr(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,n1),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};o1.formatNames=Object.keys(o1.fullFormats);function Zee(e){return e%4===0&&(e%100!==0||e%400===0)}var Bee=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Kee=[0,31,28,31,30,31,30,31,31,30,31,30,31];function e1(e){let t=Bee.exec(e);if(!t)return!1;let r=+t[1],n=+t[2],o=+t[3];return n>=1&&n<=12&&o>=1&&o<=(n===2&&Zee(r)?29:Kee[n])}function Py(e,t){if(!(e&&t))return;if(e>t)return 1;if(e<t)return-1;return 0}var $y=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function Ey(e){return function(r){let n=$y.exec(r);if(!n)return!1;let o=+n[1],s=+n[2],i=+n[3],a=n[4],c=n[5]==="-"?-1:1,u=+(n[6]||0),l=+(n[7]||0);if(u>23||l>59||e&&!a)return!1;if(o<=23&&s<=59&&i<60)return!0;let d=s-l*c,f=o-u*c-(d<0?1:0);return(f===23||f===-1)&&(d===59||d===-1)&&i<61}}function Oy(e,t){if(!(e&&t))return;let r=new Date("2020-01-01T"+e).valueOf(),n=new Date("2020-01-01T"+t).valueOf();if(!(r&&n))return;return r-n}function t1(e,t){if(!(e&&t))return;let r=$y.exec(e),n=$y.exec(t);if(!(r&&n))return;if(e=r[1]+r[2]+r[3],t=n[1]+n[2]+n[3],e>t)return 1;if(e<t)return-1;return 0}var Ty=/t|\s/i;function YC(e){let t=Ey(e);return function(n){let o=n.split(Ty);return o.length===2&&e1(o[0])&&t(o[1])}}function r1(e,t){if(!(e&&t))return;let r=new Date(e).valueOf(),n=new Date(t).valueOf();if(!(r&&n))return;return r-n}function n1(e,t){if(!(e&&t))return;let[r,n]=e.split(Ty),[o,s]=t.split(Ty),i=Py(r,o);if(i===void 0)return;return i||Oy(n,s)}var Hee=/\/|:/,Gee=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function Jee(e){return Hee.test(e)&&Gee.test(e)}var XC=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function Yee(e){return XC.lastIndex=0,XC.test(e)}var Xee=-2147483648,Qee=2147483647;function ete(e){return Number.isInteger(e)&&e<=Qee&&e>=Xee}function tte(e){return Number.isInteger(e)}function QC(){return!0}var rte=/[^\\]\\Z/;function nte(e){if(rte.test(e))return!1;try{return new RegExp(e),!0}catch(t){return!1}}});var u1=T(function(c1){Object.defineProperty(c1,"__esModule",{value:!0});c1.formatLimitDefinition=void 0;var a1=xy(),ze=ee(),En=ze.operators,ud={formatMaximum:{okStr:"<=",ok:En.LTE,fail:En.GT},formatMinimum:{okStr:">=",ok:En.GTE,fail:En.LT},formatExclusiveMaximum:{okStr:"<",ok:En.LT,fail:En.GTE},formatExclusiveMinimum:{okStr:">",ok:En.GT,fail:En.LTE}},ste={message:({keyword:e,schemaCode:t})=>ze.str`should be ${ud[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>ze._`{comparison: ${ud[e].okStr}, limit: ${t}}`};c1.formatLimitDefinition={keyword:Object.keys(ud),type:"string",schemaType:"string",$data:!0,error:ste,code(e){let{gen:t,data:r,schemaCode:n,keyword:o,it:s}=e,{opts:i,self:a}=s;if(!i.validateFormats)return;let c=new a1.KeywordCxt(s,a.RULES.all.format.definition,"format");if(c.$data)u();else l();function u(){let f=t.scopeValue("formats",{ref:a.formats,code:i.code.formats}),m=t.const("fmt",ze._`${f}[${c.schemaCode}]`);e.fail$data(ze.or(ze._`typeof ${m} != "object"`,ze._`${m} instanceof RegExp`,ze._`typeof ${m}.compare != "function"`,d(m)))}function l(){let f=c.schema,m=a.formats[f];if(!m||m===!0)return;if(typeof m!="object"||m instanceof RegExp||typeof m.compare!="function")throw Error(`"${o}": format "${f}" does not define "compare" function`);let h=t.scopeValue("formats",{key:f,ref:m,code:i.code.formats?ze._`${i.code.formats}${ze.getProperty(f)}`:void 0});e.fail$data(d(h))}function d(f){return ze._`${f}.compare(${r}, ${n}) ${ud[o].fail} 0`}},dependencies:["format"]};var ite=(e)=>(e.addKeyword(c1.formatLimitDefinition),e);c1.default=ite});var f1=T(function(_a,p1){Object.defineProperty(_a,"__esModule",{value:!0});var Wt=i1(),cte=u1(),ys=ee(),l1=new ys.Name("fullFormats"),ute=new ys.Name("fastFormats"),Ay=(e,t={keywords:!0})=>{if(Array.isArray(t))return d1(e,t,Wt.fullFormats,l1),e;let[r,n]=t.mode==="fast"?[Wt.fastFormats,ute]:[Wt.fullFormats,l1],o=t.formats||Wt.formatNames;if(d1(e,o,r,n),t.keywords)(0,cte.default)(e);return e};Ay.get=(e,t="full")=>{let n=(t==="fast"?Wt.fastFormats:Wt.fullFormats)[e];if(!n)throw Error(`Unknown format "${e}"`);return n};function d1(e,t,r,n){var o,s;(o=(s=e.opts.code).formats)!==null&&o!==void 0||(s.formats=ys._`require("ajv-formats/dist/formats").${n}`);for(let i of t)e.addFormat(i,r[i])}p1.exports=_a=Ay;Object.defineProperty(_a,"__esModule",{value:!0});_a.default=Ay});var Zd={};Wz(Zd,{program:()=>Tw,createCommand:()=>Pw,createOption:()=>Ow,createArgument:()=>Iw,Command:()=>Rw,Option:()=>Aw,Argument:()=>Cw,Help:()=>zw,CommanderError:()=>Nw,InvalidArgumentError:()=>Lw,InvalidOptionArgumentError:()=>jw},{program:(Rne)=>Tw=Rne,createCommand:(Rne)=>Pw=Rne,createOption:(Rne)=>Ow=Rne,createArgument:(Rne)=>Iw=Rne,Command:(Rne)=>Rw=Rne,Option:(Rne)=>Aw=Rne,Argument:(Rne)=>Cw=Rne,Help:(Rne)=>zw=Rne,CommanderError:(Rne)=>Nw=Rne,InvalidArgumentError:(Rne)=>Lw=Rne,InvalidOptionArgumentError:(Rne)=>jw=Rne});var xe={};Uz(xe,{ZodISODate:()=>Ws,ZodISODateTime:()=>Us,ZodISODuration:()=>Zs,ZodISOTime:()=>Vs,date:()=>$j,datetime:()=>gk,duration:()=>Tj,time:()=>Ej});var{Argument:xw}=Pa(),{Command:Vd}=kw(),{CommanderError:vN,InvalidArgumentError:$w}=Ss(),{Help:SN}=Md(),{Option:Ew}=qd();var Tw=new Vd,Pw=(e)=>new Vd(e),Ow=(e,t)=>new Ew(e,t),Iw=(e,t)=>new xw(e,t),Rw=Vd,Aw=Ew,Cw=xw,zw=SN,Nw=vN,Lw=$w,jw=$w;var{program:Cne,createCommand:zne,createArgument:Nne,createOption:Lne,CommanderError:jne,InvalidArgumentError:Dne,InvalidOptionArgumentError:Mne,Command:Dw,Argument:qne,Option:Fne,Help:Une}=Zd;function xs(e){let t=Object.values(e).filter((n)=>typeof n==="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function Kd(e,t="|"){return e.map((r)=>Jd(r)).join(t)}function $s(e,t){if(typeof t==="bigint")return t.toString();return t}class qw{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;if(e!==void 0)this._value=e(),this._getter=void 0;return this._value}}function Es(e){return new qw(e)}function Fw(e){return e===null||e===void 0}function Fr(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Uw(e,t){let r=e/t,n=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);if(Math.abs(r-n)<o)return 0;return r-n}var Mw=Symbol("evaluating");function Ww(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===Mw)return;if(n===void 0)n=Mw,n=r();return n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function wt(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Ts(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function xr(e){return Ts(e._zod.def)??e._zod.def.shape}function Vw(e,t,r){Object.defineProperty(e,t,{get(){let n=r();return wt(this,t,n),n},enumerable:!0,configurable:!0})}function Zw(e,t,r){if(t in e)wt(e,t,r);else e[t]=r}function In(e,t,r,n){let o=xr(t);for(let s of r){let i=Object.getOwnPropertyDescriptor(o,s);if(!i.enumerable)continue;if(i.get)Vw(e,s,()=>{let a=t._zod.def.shape[s];return n?n(a,s):a});else Zw(e,s,n?n(i.value,s):i.value)}}function kN(e,t){for(let r of Reflect.ownKeys(t)){let n=Object.getOwnPropertyDescriptor(t,r);if(!n.enumerable)continue;if(n.get)Vw(e,r,()=>t[r]);else Zw(e,r,n.value)}}function bt(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function Bw(e){return JSON.stringify(e)}function Kw(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Hd="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ao(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var Hw=Es(()=>{if(rt.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});function Rn(e){if(ao(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let r=t.prototype;if(ao(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function Gd(e){if(Rn(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}var Gw=new Set(["string","number","symbol"]),Jw=new Set(["string","number","bigint","boolean","symbol","undefined"]);function Er(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Vt(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function U(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function Jd(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Yw(e){return Object.keys(e).filter((t)=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}var Oa=(()=>({safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]}))(),Yd={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function xN(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let s={};return In(s,e,Ia(e,t)),Vt(e,bt(r,{shape:s,checks:[]}))}function Ia(e,t){let r=xr(e),n=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(r,o)?.enumerable)throw Error(`Unrecognized key: "${String(o)}"`);if(t[o])n.push(o)}return n}function $N(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let s=new Set(Ia(e,t)),i={};return In(i,e,Reflect.ownKeys(xr(e)).filter((a)=>!s.has(a))),Vt(e,bt(r,{shape:i,checks:[]}))}function EN(e,t){if(!Rn(t))throw Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=xr(e);for(let s of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Vt(e,bt(e._zod.def,{shape:Xw(e,t)}))}function Xw(e,t){let r={};return In(r,e,Reflect.ownKeys(xr(e))),kN(r,t),r}function TN(e,t){if(!Rn(t))throw Error("Invalid input to safeExtend: expected a plain object");return Vt(e,bt(e._zod.def,{shape:Xw(e,t)}))}function PN(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r={};In(r,e,Reflect.ownKeys(xr(e))),In(r,t,Reflect.ownKeys(xr(t)));let n=bt(e._zod.def,{shape:r,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Vt(e,n)}function Qw(e,t,r,n="partial"){let s=t._zod.def.checks;if(s&&s.length>0)throw Error(`.${n}() cannot be used on object schemas containing refinements`);let a=r?new Set(Ia(t,r)):void 0,c={};return In(c,t,Reflect.ownKeys(xr(t)),e&&((u,l)=>a&&!a.has(l)?u:new e({type:"optional",innerType:u}))),Vt(t,bt(t._zod.def,{shape:c,checks:[]}))}function ON(e,t,r){let n=r?new Set(Ia(t,r)):void 0,o={};return In(o,t,Reflect.ownKeys(xr(t)),(s,i)=>n&&!n.has(i)?s:new e({type:"nonoptional",innerType:s})),Vt(t,bt(t._zod.def,{shape:o}))}function Tt(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function eb(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function Xt(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function ks(e){return typeof e==="string"?e:e?.message}function Xd(e){let t=[];for(let r of e??[]){let n=r._zod.def;if(!/_(length|size)$|_equals$/.test(n.check))break;let o=n.maximum??n.length??n.size;if(o>=0)t.push([o,r])}return t}function Ra(e,t,r){var n;for(let o=t;o<e.length;o++)(n=e[o]).schema??(n.schema=r)}function Qt(e,t,r){var n;let o=e.inst?._zod?.traits;if(o?.has("$ZodType"))if(o.has("$ZodCheck"))(n=e).schema??(n.schema=e.inst);else e.schema=e.inst;let s=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,i=e.message?e.message:ks(e.inst?._zod.def?.error?.(e))??ks(s?.(e))??ks(t?.error?.(e))??ks(r.customError?.(e))??ks(r.localeError?.(e))??"Invalid input",a={};for(let c of Object.keys(e)){if(c==="inst"||c==="schema"||c==="continue"||c==="input"||c==="__proto__")continue;a[c]=e[c]}if(a.path??(a.path=[]),a.message=i,t?.reportInput)a.input=e.input;return a}var IN=/[\uD800-\uDBFF]/;function Aa(e){let t=e.length;if(!IN.test(e))return t;let r=t;for(let n=0;n<t-1;n++)if((e.charCodeAt(n)&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320)r--,n++;return r}function Ca(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function tb(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function An(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}function rb(e,t){for(let r in t){let n=Object.getOwnPropertyDescriptor(t,r);if(n.get)Object.defineProperty(e,r,{...n,enumerable:!1});else RN(e,r,n.value)}}function $r(e,t,r,n=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function za(e,t,r){return $r(e,t,r,!1)}function nb(e,t){for(let r in e){let n=e[r];Object.defineProperty(t,r,{configurable:!0,enumerable:!0,get(){return $r(this,r,n(this))},set(o){$r(this,r,o)}})}return t}function RN(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:$r(this,t,r.bind(this))},set(n){$r(this,t,n)}})}function AN(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}var Bd,qr=!1,CN={configurable:!0,get(){qr=!0;return}};function re(e,t,r){let n=Object.getPrototypeOf(e._zod);if(t in n&&Bd!==e._zod){Bd=void 0;return}Bd=e._zod,Object.defineProperty(n,t,{configurable:!0,get(){Object.defineProperty(this,t,CN);let o=qr;qr=!1;try{let s=r(this);if(qr)delete this[t];else Object.defineProperty(this,t,{configurable:!0,writable:!0,value:s});return qr=qr||o,s}catch(s){throw delete this[t],qr=qr||o,s}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function zN(e,t,r,n){let o=AN(e,t);if(!o)return;Object.defineProperty(o,t,{configurable:!0,get(){let s={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,t,s),s.value=r(this),Object.defineProperty(this,t,s),s.value},set(s){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:n,value:s})}})}var NN="~constantCatch";function ob(e){let t=()=>e;return t[NN]=!0,t}var sb,ep=Object.freeze({status:"aborted"}),Qd={value:void 0,enumerable:!1},ib="captureStackTrace"in Error?Error:null;function LN(e){let t=ib;if(t){let r=t.stackTraceLimit;if(typeof r==="number"){try{t.stackTraceLimit=0}catch{return ib=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function P(e,t,r,n){let o={};function s(f){this.def=f,this.constr=d,this.traits=new Set}s.prototype=o;let i=r,a=i&&new WeakSet;function c(f,m){if(!f._zod){Qd.value=new s(m);try{Object.defineProperty(f,"_zod",Qd)}finally{Qd.value=void 0}}else if(f._zod.traits.has(e))return;if(f._zod.traits.add(e),t(f,m),a){let g=Object.getPrototypeOf(f),y=f._zod.constr.prototype,b=g;while(b&&b!==y)b=Object.getPrototypeOf(b);let E=b??g;if(!a.has(E))a.add(E),rb(E,i)}let h=d.prototype;for(let g in h){if(!Object.prototype.hasOwnProperty.call(h,g))continue;if(!(g in f))f[g]=h[g].bind(f)}}let u=n?.Parent??Object;class l extends u{}Object.defineProperty(l,"name",{value:e});function d(f){let m=n?.Parent?LN(l):this;c(m,f);let h=m._zod.deferred;if(h){for(let y of h)y();m._zod.deferred=void 0}let g=globalThis.__zod_globalConfig?.postProcessor;if(g)g(m);return m}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:(f)=>{if(n?.Parent&&f instanceof n.Parent)return!0;return f?._zod?.traits?.has(e)}}),Object.defineProperty(d,"name",{value:e}),d}class er extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class Ps extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}}(sb=globalThis).__zod_globalConfig??(sb.__zod_globalConfig={});var rt=globalThis.__zod_globalConfig;function at(e){if(e)Object.assign(rt,e);return rt}function jN(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,$s,2)),e.message}function DN(e){this._zod.message=e}var MN={get:jN,set:DN,enumerable:!0,configurable:!0},rp={value:void 0,enumerable:!1},ab=new WeakSet([Object.prototype,Error.prototype]),cb=(e,t)=>{e.name="$ZodError",rp.value=t,Object.defineProperty(e,"issues",rp),rp.value=void 0,Object.defineProperty(e,"message",MN);let r=Object.getPrototypeOf(e);if(!ab.has(r))ab.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let n=()=>this.message;return Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0})}})},ub=P("$ZodError",cb),lb=P("$ZodError",cb,void 0,{Parent:Error});function qN(e,t,r){if(!Object.prototype.hasOwnProperty.call(e,t))if(t==="__proto__")Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0});else e[t]=r();return e[t]}function np(e,t=(r)=>r.message){let r={},n=[];for(let o of e.issues)if(o.path.length>0)qN(r,o.path[0],()=>[]).push(t(o));else n.push(t(o));return{formErrors:n,fieldErrors:r}}function op(e,t=(r)=>r.message){let r={_errors:[]},n=(o,s=[])=>{for(let i of o.issues)if(i.code==="invalid_union"&&i.errors.length)i.errors.map((a)=>n({issues:a},[...s,...i.path]));else if(i.code==="invalid_key")n({issues:i.issues},[...s,...i.path]);else if(i.code==="invalid_element")n({issues:i.issues},[...s,...i.path]);else{let a=[...s,...i.path];if(a.length===0)r._errors.push(t(i));else{let c=r,u=0;while(u<a.length){let l=a[u],d=u===a.length-1;if(l==="_errors"){if(d)c._errors.push(t(i));u++;continue}if(!Object.prototype.hasOwnProperty.call(c,l))Object.defineProperty(c,l,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let f=c[l];if(d)f._errors.push(t(i));c=f,u++}}}};return n(e),r}function Na(e,t){return{callee:t?.callee??e,Err:t?.Err}}var La=(e)=>{let t=(r,n,o,s)=>{let i=o?{...o,async:!1}:{async:!1},a=r._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new er;if(a.issues.length){let c=new(s?.Err??e)(a.issues.map((u)=>Qt(u,i,at())));throw Hd(c,s?.callee??t),c}return a.value};return t};var ja=(e)=>{let t=async(r,n,o,s)=>{let i=o?{...o,async:!0}:{async:!0},a=r._zod.run({value:n,issues:[]},i);if(a instanceof Promise)a=await a;if(a.issues.length){let c=new(s?.Err??e)(a.issues.map((u)=>Qt(u,i,at())));throw Hd(c,s?.callee??t),c}return a.value};return t};var Os=(e)=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new er;return s.issues.length?db(e,s.issues,o):{success:!0,data:s.value}},sp=Os(lb);function db(e,t,r){let n;return{success:!1,get error(){if(!n)n=new e(t.map((o)=>Qt(o,r,at()))),t=void 0,r=void 0;return n},set error(o){n=o,t=void 0,r=void 0}}}var Da=(e)=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)s=await s;return s.issues.length?db(e,s.issues,o):{success:!0,data:s.value}};var UN=Symbol.for("zod.compile.invalid"),WN=Symbol.for("zod.compile.fallback"),Ma=(e,t,r)=>{let n=e._zod.bag.validator;if(n!==void 0){if(n(t)!==UN)return!0;if(n.definite===!0&&r===void 0)return!1}return VN(e,t,r)};function VN(e,t,r){let n=r?{...r,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun,s;if(o)n[WN]=!0,s=o({value:t,issues:[]},n);else s=e._zod.run({value:t,issues:[]},n);if(s instanceof Promise)throw new er;return s.issues.length===0}var qa=async(e,t,r)=>{let n=r?{...r,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},o=e._zod.run({value:t,issues:[]},n);if(o instanceof Promise)o=await o;return o.issues.length===0},pb=(e)=>{let t=La(e),r=(n,o,s,i)=>{let a=s?{...s,direction:"backward"}:{direction:"backward"};return t(n,o,a,Na(r,i))};return r};var fb=(e)=>{let t=La(e),r=(n,o,s,i)=>t(n,o,s,Na(r,i));return r};var mb=(e)=>{let t=ja(e),r=async(n,o,s,i)=>{let a=s?{...s,direction:"backward"}:{direction:"backward"};return await t(n,o,a,Na(r,i))};return r};var hb=(e)=>{let t=ja(e),r=async(n,o,s,i)=>await t(n,o,s,Na(r,i));return r};var gb=(e)=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Os(e)(t,r,o)};var yb=(e)=>(t,r,n)=>Os(e)(t,r,n);var wb=(e)=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Da(e)(t,r,o)};var bb=(e)=>async(t,r,n)=>Da(e)(t,r,n);var _b=/^[cC][0-9a-z]{6,}$/,vb=/^[0-9a-z]+$/,Sb=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,kb=/^[0-9a-vA-V]{20}$/,xb=/^[A-Za-z0-9]{27}$/,$b=/^[a-zA-Z0-9_-]{21}$/;function Eb(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var Tb=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var Pb=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,ap=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var Ob=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;var ZN="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function Ib(){return new RegExp(ZN,"u")}var Rb=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ab=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;var Cb=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,zb=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Nb=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Lb=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/;var jb=/^https?$/,Db=/^\+[1-9]\d{6,14}$/;var Mb="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function BN(e){return new RegExp(`^${e}$`)}var qb=BN(Mb);function ip(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?":"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function Fb(e){return new RegExp(`^${ip(e)}$`)}function Ub(e){let t=["Z"];if(e.offset)t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${ip({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,n=e.local?`${r}|${ip({precision:e.precision})}`:r;return new RegExp(`^${Mb}T(?:${n})$`)}var Wb=/^[\s\S]{0,}$/,Vb=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Fa=/^-?\d+$/,co=/^-?\d+(?:\.\d+)?$/,Zb=/^(?:true|false)$/i,Bb=/^null$/i;var Kb=/^[^A-Z]*$/,Hb=/^[^a-z]*$/;var He=P("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var cp=(e)=>{let t=e.value;return!Fw(t)&&t.length!==void 0},Ua={number:"number",bigint:"bigint",object:"date"},up=P("$ZodCheckLessThan",(e,t)=>{He.init(e,t);let r=Ua[typeof t.value];e._zod.check=(n)=>{if(t.inclusive?n.value<=t.value:n.value<t.value)return;n.issues.push({origin:Ua[typeof n.value]??r,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),lp=P("$ZodCheckGreaterThan",(e,t)=>{He.init(e,t);let r=Ua[typeof t.value];e._zod.check=(n)=>{if(t.inclusive?n.value>=t.value:n.value>t.value)return;n.issues.push({origin:Ua[typeof n.value]??r,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Gb=P("$ZodCheckMultipleOf",(e,t)=>{He.init(e,t),e._zod.check=(r)=>{if(typeof r.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof r.value==="bigint"?t.value!==BigInt(0)&&r.value%t.value===BigInt(0):Uw(r.value,t.value)===0)return;r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),Jb=P("$ZodCheckNumberFormat",(e,t)=>{He.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=Oa[t.format];e._zod.check=(i)=>{let a=i.value;if(r){if(!Number.isInteger(a)){i.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){if(a>0)i.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});else i.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}if(a<o)i.issues.push({origin:"number",input:a,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(a>s)i.issues.push({origin:"number",input:a,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}});var Yb=P("$ZodCheckMaxLength",(e,t)=>{var r;He.init(e,t),(r=e._zod.def).when??(r.when=cp),e._zod.check=(n)=>{let o=n.value,s=o.length;if((typeof o==="string"&&s>t.maximum?Aa(o):s)<=t.maximum)return;let a=Ca(o);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Xb=P("$ZodCheckMinLength",(e,t)=>{var r;He.init(e,t),(r=e._zod.def).when??(r.when=cp),e._zod.check=(n)=>{let o=n.value,s=o.length;if((typeof o==="string"&&s>=t.minimum&&s<t.minimum*2?Aa(o):s)>=t.minimum)return;let a=Ca(o);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Qb=P("$ZodCheckLengthEquals",(e,t)=>{var r;He.init(e,t),(r=e._zod.def).when??(r.when=cp),e._zod.check=(n)=>{let o=n.value,s=o.length,i=typeof o==="string"&&s>=t.length&&s<=t.length*2?Aa(o):s;if(i===t.length)return;let a=Ca(o),c=i>t.length;n.issues.push({origin:a,...c?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Is=P("$ZodCheckStringFormat",(e,t)=>{var r,n;if(He.init(e,t),t.pattern)(r=e._zod).check??(r.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(n=e._zod).check??(n.check=()=>{})}),e_=P("$ZodCheckRegex",(e,t)=>{Is.init(e,t),e._zod.check=(r)=>{if(t.pattern.lastIndex=0,t.pattern.test(r.value))return;r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),t_=P("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Kb),Is.init(e,t)}),r_=P("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Hb),Is.init(e,t)}),n_=P("$ZodCheckIncludes",(e,t)=>{He.init(e,t);let r=Er(t.includes),n=new RegExp(typeof t.position==="number"?`^.{${t.position},}${r}`:r);t.pattern=n,e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),o_=P("$ZodCheckStartsWith",(e,t)=>{He.init(e,t);let r=new RegExp(`^${Er(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.check=(n)=>{if(n.value.startsWith(t.prefix))return;n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),s_=P("$ZodCheckEndsWith",(e,t)=>{He.init(e,t);let r=new RegExp(`.*${Er(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.check=(n)=>{if(n.value.endsWith(t.suffix))return;n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}});var i_=P("$ZodCheckOverwrite",(e,t)=>{He.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}});class dp{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{this.indent-=1}}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let r=e.split(`
|
|
173
173
|
`).filter((s)=>s),n=Math.min(...r.map((s)=>s.length-s.trimStart().length)),o=r.map((s)=>s.slice(n)).map((s)=>" ".repeat(this.indent*2)+s);for(let s of o)this.content.push(s)}compile(){let e=Function,t=this?.content??[""];return new e(...Object.keys(this.closed),`return function (${this.args.join(", ")}) {
|
|
174
174
|
${t.join(`
|
|
175
175
|
`)}
|
|
176
|
-
};`)(...Object.values(this.closed))}}var Dw={major:4,minor:6,patch:7};var pe=O("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Dw;let n=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...n??[]]:n?.length?[...n]:[];for(let s of o)for(let i of s._zod.onattach)i(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(a,c,u)=>{if(a.memo)return a;let l=Et(a),d;for(let f of c){if(f._zod.def.when){if(Pb(a))continue;if(!f._zod.def.when(a))continue}else if(l)continue;let m=a.issues.length,h=f._zod.check(a);if(h instanceof Promise&&u?.async===!1)throw new Jt;if(d||h instanceof Promise)d=(d??Promise.resolve()).then(async()=>{if(await h,a.issues.length===m)return;if($a(a.issues,m,e),!l)l=Et(a,m)});else{if(a.issues.length===m)continue;if($a(a.issues,m,e),!l)l=Et(a,m)}}if(d)return d.then(()=>a);return a},i=(a,c,u)=>{if(Et(a))return a.aborted=!0,a;let l=s(c,o,u);if(l instanceof Promise){if(u.async===!1)throw new Jt;return l.then((d)=>e._zod.parse(d,u))}return e._zod.parse(l,u)};e._zod.run=(a,c)=>{if(c.skipChecks)return e._zod.parse(a,c);if(c.direction==="backward"){let l=e._zod.parse({value:a.value,issues:[]},{...c,skipChecks:!0});if(l instanceof Promise)return l.then((d)=>i(d,a,c));return i(l,a,c)}let u=e._zod.parse(a,c);if(u instanceof Promise){if(c.async===!1)throw new Jt;return u.then((l)=>s(l,o,c))}return s(u,o,c)}}},{get "~standard"(){return Oa(this,"~standard",Qd(this))},set "~standard"(e){wr(this,"~standard",e)}}),Yw=(e,t)=>e.issues.length?{issues:e.issues.map((r)=>Gt(r,t,at()))}:{value:e.value};async function nN(e,t){let r={async:!0};return Yw(await e._zod.run({value:t,issues:[]},r),r)}function Qd(e){return{validate:(t)=>{let r={async:!1};try{let n=e._zod.run({value:t,issues:[]},r);if(!(n instanceof Promise))return Yw(n,r)}catch(n){}return nN(e,t)},vendor:"zod",version:1}}var qa=O("$ZodString",(e,t)=>{pe.init(e,t),e._zod.pattern=t.pattern??bw,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch(o){}if(typeof r.value==="string")return r;return r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),_e=O("$ZodStringFormat",(e,t)=>{xs.init(e,t),qa.init(e,t)}),Xw=O("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=nw),_e.init(e,t)}),Qw=O("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Bd(n))}else t.pattern??(t.pattern=Bd());_e.init(e,t)}),e_=O("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=ow),_e.init(e,t)}),t_=1,ja=2;function r_(e){try{if(typeof URL<"u"&&typeof URL.canParse==="function")return URL.canParse(e);return new URL(e),!0}catch{return!1}}function oN(e,t){if(!("normalize"in t)&&!("hostname"in t)&&!("protocol"in t))return r_(e)||ja;return sN(e,t)}function sN(e,t){if(!t.normalize&&t.protocol?.source===pw.source&&!/^https?:\/\//i.test(e))return t_;try{if(typeof URL<"u"){let r=URL;if(typeof r.parse==="function")return r.parse(e)??ja}return new URL(e)}catch{return ja}}var iN=/[\t\n\r]/g;function jw(e){return e.replace(iN,"")}function aN(e,t){return t.lastIndex=0,t.test(e.hostname)}function cN(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}var n_=O("$ZodURL",(e,t)=>{_e.init(e,t),e._zod.check=(r)=>{try{let n=r.value.trim(),o=oN(n,t);if(o===t_){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!t.abort});return}if(o===ja){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort});return}if(o===!0){r.value=jw(n);return}if(t.hostname&&!aN(o,t.hostname))r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort});if(t.protocol&&!cN(o,t.protocol))r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort});r.value=t.normalize?o.href:jw(n);return}catch(n){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),o_=O("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=sw()),_e.init(e,t)}),s_=O("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?ew:tw(t.length)),_e.init(e,t)}),i_=O("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Gb),_e.init(e,t)}),a_=O("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Jb),_e.init(e,t)}),c_=O("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Yb),_e.init(e,t)}),u_=O("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Xb),_e.init(e,t)}),l_=O("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Qb),_e.init(e,t)}),d_=O("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=yw(t)),_e.init(e,t)}),p_=O("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=hw),_e.init(e,t)}),f_=O("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=gw(t)),_e.init(e,t)}),m_=O("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=rw),_e.init(e,t)}),h_=O("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=iw),_e.init(e,t)}),uN=/^[0-9a-fA-F:.]+$/;function g_(e){if(!uN.test(e))return!1;return r_(`http://[${e}]`)}var y_=O("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=aw),_e.init(e,t),e._zod.check=(r)=>{if(!g_(r.value))r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}});var b_=O("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=cw),_e.init(e,t)});function lN(e){let t=e.split("/");if(t.length!==2)return!1;let[r,n]=t;if(!n)return!1;let o=Number(n);if(`${o}`!==n)return!1;if(o<0||o>128)return!1;return g_(r)}var w_=O("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=uw),_e.init(e,t),e._zod.check=(r)=>{if(!lN(r.value))r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}});function __(e){if(e==="")return!0;if(/\s/.test(e))return!1;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var ep=/^[0-9a-zA-Z+/]*={0,2}$/,v_=O("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=ep),_e.init(e,t),e._zod.check=(r)=>{if(__(r.value))return;r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}}),Fa=/^[A-Za-z0-9_-]*$/;function dN(e){if(!Fa.test(e))return!1;let t=e.replace(/[-_]/g,(n)=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return __(r)}var S_=O("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Fa),_e.init(e,t),e._zod.check=(r)=>{if(dN(r.value))return;r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),k_=O("$ZodE164",(e,t)=>{t.pattern??(t.pattern=fw),_e.init(e,t)});function pN(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}var x_=O("$ZodJWT",(e,t)=>{_e.init(e,t),e._zod.check=(r)=>{if(pN(r.value,t.alg))return;r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var tp=O("$ZodNumber",(e,t)=>{pe.init(e,t),e._zod.pattern=to,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch(i){}let o=r.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?String(o):void 0:void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),r}}),$_=O("$ZodNumberFormat",(e,t)=>{$w.init(e,t),tp.init(e,t)}),E_=O("$ZodBoolean",(e,t)=>{pe.init(e,t),e._zod.pattern=_w,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Boolean(r.value)}catch(s){}let o=r.value;if(typeof o==="boolean")return r;return r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var T_=O("$ZodNull",(e,t)=>{pe.init(e,t),e._zod.pattern=vw,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;if(o===null)return r;return r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}}),O_=O("$ZodAny",(e,t)=>{pe.init(e,t),e._zod.parse=(r)=>r}),P_=O("$ZodUnknown",(e,t)=>{pe.init(e,t),e._zod.parse=(r)=>r}),I_=O("$ZodNever",(e,t)=>{pe.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function fN(e,t){let r=Dd(e._zod.def.checks);if(!r.length)return;let n=Math.min(...r.map((s)=>s[0])),o=e._zod.parse;e._zod.parse=(s,i)=>{let a=t(s.value);if(a>n&&!i?.skipChecks&&i?.direction!=="backward"){for(let[c,u]of Dd(e._zod.def.checks))if(a>c&&u._zod.def.when(s)){let l=s.issues.length;return u._zod.check(s),s.issues[l].continue=!1,$a(s.issues,l,e),s}}return o(s,i)}}var mN=(e)=>Array.isArray(e)?e.length:-1;function Mw(e,t,r){if(e.issues.length)t.issues.push(...Ht(r,e.issues));t.value[r]=e.value}var A_=O("$ZodArray",(e,t)=>{pe.init(e,t);let r=tt.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=r?r.alloc(e,n,Array(s.length),o):Array(s.length);let i=[],a=o?.abortEarly;for(let c=0;c<s.length;c++){let u=s[c],l=t.element._zod.run({value:u,issues:[]},o);if(l instanceof Promise)i.push(l.then((d)=>Mw(d,n,c)));else if(Mw(l,n,c),a&&l.issues.length!==0&&Et(l))break}if(i.length)return Promise.all(i).then(()=>n);return n},fN(e,mN)});function Ma(e,t,r,n,o,s){let i=r in n,a=s==="optional";if(!i&&a&&o==="optional")return;if(e.issues.length){if(o!==void 0&&a&&!i)return;t.issues.push(...Ht(r,e.issues))}if(!i&&o===void 0){if(!e.issues.length)t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}if(e.value===void 0){if(i||o==="defaulted"&&!a)t.value[r]=void 0}else t.value[r]=e.value}var hN=[];function R_(e){let t=Object.keys(e.shape),r=Object.getOwnPropertySymbols(e.shape),n=r.length?r:hN,o=n.length?[...t,...n]:t;for(let i of o)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${String(i)}": expected a Zod schema`);let s=Eb(e.shape);return{...e,allKeys:o,symbolKeys:n,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(s)}}function C_(e,t,r,n,o,s,i){let a=[],c=o.keySet,u=o.catchall._zod,l=u.def.type,{optin:d,optout:f}=u,m=0;for(let h in t){if(i&&r.issues.length!==m){if(Et(r,m))break;m=r.issues.length}if(c.has(h))continue;if(h==="__proto__"){if(l==="never")a.push(h);continue}if(l==="never"){a.push(h);continue}let g=u.run({value:t[h],issues:[]},n);if(g instanceof Promise)e.push(g.then((y)=>Ma(y,r,h,t,d,f)));else Ma(g,r,h,t,d,f)}if(a.length)r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:s,continue:!0});if(!e.length)return r;return Promise.all(e).then(()=>r)}var gN=O("$ZodObject",(e,t)=>{pe.init(e,t);let r=Object.getOwnPropertyDescriptor(t,"shape"),n=r?.get?r.get.raw:t.shape??{};if(n){let u=()=>{let l={...n};return Object.defineProperty(t,"shape",{value:l}),u.raw=l,l};u.raw=n,Object.defineProperty(t,"shape",{get:u})}let o=_s(()=>R_(t));te(e,"propValues",(u)=>{let l=u.def.shape,d={};for(let f in l){let m=l[f]._zod;if(m.values){if(!Object.prototype.hasOwnProperty.call(d,f))yt(d,f,new Set);for(let h of m.values)d[f].add(h);if(m.optin!==void 0)d[f].add(void 0)}}return d});let s=eo,i=t.catchall,a,c=tt.memoizer;c?.attach(e),e._zod.parse=(u,l)=>{a??(a=o.value);let d=u.value;if(!s(d))return u.issues.push({expected:"object",code:"invalid_type",input:d,inst:e}),u;u.value=c?c.alloc(e,u,{},l):{};let f=[],m=a.shape,h=l?.abortEarly,g=u.issues.length;for(let y of a.allKeys){if(h&&u.issues.length!==g){if(Et(u,g))break;g=u.issues.length}if(y==="__proto__")continue;let w=m[y],T=w._zod.optin,S=w._zod.optout,I=w._zod.run({value:d[y],issues:[]},l);if(I instanceof Promise)f.push(I.then((_)=>Ma(_,u,y,d,T,S)));else Ma(I,u,y,d,T,S)}if(!i)return f.length?Promise.all(f).then(()=>u):u;return C_(f,d,u,l,o.value,e,h===!0)}}),z_=O("$ZodObjectJIT",(e,t)=>{gN.init(e,t);let r=e._zod.parse,n=_s(()=>R_(t)),o=tt.memoizer,s=(m)=>{let h=n.value,g=h.symbolKeys,y=new Jd(["payload","ctx"],{shape:m,inst:e,memo:o,syms:g}),w=(_)=>`shape[${_}]._zod.run({ value: input[${_}], issues: [] }, ctx)`,T=(_,v)=>`
|
|
176
|
+
};`)(...Object.values(this.closed))}}var c_={major:4,minor:6,patch:7};var pe=P("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=c_;let n=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...n??[]]:n?.length?[...n]:[];for(let s of o)for(let i of s._zod.onattach)i(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let s=(a,c,u)=>{if(a.memo)return a;let l=Tt(a),d;for(let f of c){if(f._zod.def.when){if(eb(a))continue;if(!f._zod.def.when(a))continue}else if(l)continue;let m=a.issues.length,h=f._zod.check(a);if(h instanceof Promise&&u?.async===!1)throw new er;if(d||h instanceof Promise)d=(d??Promise.resolve()).then(async()=>{if(await h,a.issues.length===m)return;if(Ra(a.issues,m,e),!l)l=Tt(a,m)});else{if(a.issues.length===m)continue;if(Ra(a.issues,m,e),!l)l=Tt(a,m)}}if(d)return d.then(()=>a);return a},i=(a,c,u)=>{if(Tt(a))return a.aborted=!0,a;let l=s(c,o,u);if(l instanceof Promise){if(u.async===!1)throw new er;return l.then((d)=>e._zod.parse(d,u))}return e._zod.parse(l,u)};e._zod.run=(a,c)=>{if(c.skipChecks)return e._zod.parse(a,c);if(c.direction==="backward"){let l=e._zod.parse({value:a.value,issues:[]},{...c,skipChecks:!0});if(l instanceof Promise)return l.then((d)=>i(d,a,c));return i(l,a,c)}let u=e._zod.parse(a,c);if(u instanceof Promise){if(c.async===!1)throw new er;return u.then((l)=>s(l,o,c))}return s(u,o,c)}}},{get "~standard"(){return za(this,"~standard",mp(this))},set "~standard"(e){$r(this,"~standard",e)}}),S_=(e,t)=>e.issues.length?{issues:e.issues.map((r)=>Qt(r,t,at()))}:{value:e.value};async function KN(e,t){let r={async:!0};return S_(await e._zod.run({value:t,issues:[]},r),r)}function mp(e){return{validate:(t)=>{let r={async:!1};try{let n=e._zod.run({value:t,issues:[]},r);if(!(n instanceof Promise))return S_(n,r)}catch(n){}return KN(e,t)},vendor:"zod",version:1}}var Ba=P("$ZodString",(e,t)=>{pe.init(e,t),e._zod.pattern=t.pattern??Wb,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch(o){}if(typeof r.value==="string")return r;return r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),ke=P("$ZodStringFormat",(e,t)=>{Is.init(e,t),Ba.init(e,t)}),k_=P("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Pb),ke.init(e,t)}),x_=P("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=ap(n))}else t.pattern??(t.pattern=ap());ke.init(e,t)}),$_=P("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Ob),ke.init(e,t)}),E_=1,Va=2;function T_(e){try{if(typeof URL<"u"&&typeof URL.canParse==="function")return URL.canParse(e);return new URL(e),!0}catch{return!1}}function HN(e,t){if(!("normalize"in t)&&!("hostname"in t)&&!("protocol"in t))return T_(e)||Va;return GN(e,t)}function GN(e,t){if(!t.normalize&&t.protocol?.source===jb.source&&!/^https?:\/\//i.test(e))return E_;try{if(typeof URL<"u"){let r=URL;if(typeof r.parse==="function")return r.parse(e)??Va}return new URL(e)}catch{return Va}}var JN=/[\t\n\r]/g;function u_(e){return e.replace(JN,"")}function YN(e,t){return t.lastIndex=0,t.test(e.hostname)}function XN(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}var P_=P("$ZodURL",(e,t)=>{ke.init(e,t),e._zod.check=(r)=>{try{let n=r.value.trim(),o=HN(n,t);if(o===E_){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!t.abort});return}if(o===Va){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort});return}if(o===!0){r.value=u_(n);return}if(t.hostname&&!YN(o,t.hostname))r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort});if(t.protocol&&!XN(o,t.protocol))r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort});r.value=t.normalize?o.href:u_(n);return}catch(n){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),O_=P("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Ib()),ke.init(e,t)}),I_=P("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?$b:Eb(t.length)),ke.init(e,t)}),R_=P("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=_b),ke.init(e,t)}),A_=P("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=vb),ke.init(e,t)}),C_=P("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Sb),ke.init(e,t)}),z_=P("$ZodXID",(e,t)=>{t.pattern??(t.pattern=kb),ke.init(e,t)}),N_=P("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=xb),ke.init(e,t)}),L_=P("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Ub(t)),ke.init(e,t)}),j_=P("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=qb),ke.init(e,t)}),D_=P("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Fb(t)),ke.init(e,t)}),M_=P("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Tb),ke.init(e,t)}),q_=P("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Rb),ke.init(e,t)}),QN=/^[0-9a-fA-F:.]+$/;function F_(e){if(!QN.test(e))return!1;return T_(`http://[${e}]`)}var U_=P("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Ab),ke.init(e,t),e._zod.check=(r)=>{if(!F_(r.value))r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}});var W_=P("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Cb),ke.init(e,t)});function eL(e){let t=e.split("/");if(t.length!==2)return!1;let[r,n]=t;if(!n)return!1;let o=Number(n);if(`${o}`!==n)return!1;if(o<0||o>128)return!1;return F_(r)}var V_=P("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=zb),ke.init(e,t),e._zod.check=(r)=>{if(!eL(r.value))r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}});function Z_(e){if(e==="")return!0;if(/\s/.test(e))return!1;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}var hp=/^[0-9a-zA-Z+/]*={0,2}$/,B_=P("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=hp),ke.init(e,t),e._zod.check=(r)=>{if(Z_(r.value))return;r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}}),Ka=/^[A-Za-z0-9_-]*$/;function tL(e){if(!Ka.test(e))return!1;let t=e.replace(/[-_]/g,(n)=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Z_(r)}var K_=P("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Ka),ke.init(e,t),e._zod.check=(r)=>{if(tL(r.value))return;r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),H_=P("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Db),ke.init(e,t)});function rL(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}var G_=P("$ZodJWT",(e,t)=>{ke.init(e,t),e._zod.check=(r)=>{if(rL(r.value,t.alg))return;r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}});var gp=P("$ZodNumber",(e,t)=>{pe.init(e,t),e._zod.pattern=co,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch(i){}let o=r.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?String(o):void 0:void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),r}}),J_=P("$ZodNumberFormat",(e,t)=>{Jb.init(e,t),gp.init(e,t)}),Y_=P("$ZodBoolean",(e,t)=>{pe.init(e,t),e._zod.pattern=Zb,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Boolean(r.value)}catch(s){}let o=r.value;if(typeof o==="boolean")return r;return r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});var X_=P("$ZodNull",(e,t)=>{pe.init(e,t),e._zod.pattern=Bb,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let o=r.value;if(o===null)return r;return r.issues.push({expected:"null",code:"invalid_type",input:o,inst:e}),r}}),Q_=P("$ZodAny",(e,t)=>{pe.init(e,t),e._zod.parse=(r)=>r}),ev=P("$ZodUnknown",(e,t)=>{pe.init(e,t),e._zod.parse=(r)=>r}),tv=P("$ZodNever",(e,t)=>{pe.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});function nL(e,t){let r=Xd(e._zod.def.checks);if(!r.length)return;let n=Math.min(...r.map((s)=>s[0])),o=e._zod.parse;e._zod.parse=(s,i)=>{let a=t(s.value);if(a>n&&!i?.skipChecks&&i?.direction!=="backward"){for(let[c,u]of Xd(e._zod.def.checks))if(a>c&&u._zod.def.when(s)){let l=s.issues.length;return u._zod.check(s),s.issues[l].continue=!1,Ra(s.issues,l,e),s}}return o(s,i)}}var oL=(e)=>Array.isArray(e)?e.length:-1;function l_(e,t,r){if(e.issues.length)t.issues.push(...Xt(r,e.issues));t.value[r]=e.value}var rv=P("$ZodArray",(e,t)=>{pe.init(e,t);let r=rt.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let s=n.value;if(!Array.isArray(s))return n.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),n;n.value=r?r.alloc(e,n,Array(s.length),o):Array(s.length);let i=[],a=o?.abortEarly;for(let c=0;c<s.length;c++){let u=s[c],l=t.element._zod.run({value:u,issues:[]},o);if(l instanceof Promise)i.push(l.then((d)=>l_(d,n,c)));else if(l_(l,n,c),a&&l.issues.length!==0&&Tt(l))break}if(i.length)return Promise.all(i).then(()=>n);return n},nL(e,oL)});function Za(e,t,r,n,o,s){let i=r in n,a=s==="optional";if(!i&&a&&o==="optional")return;if(e.issues.length){if(o!==void 0&&a&&!i)return;t.issues.push(...Xt(r,e.issues))}if(!i&&o===void 0){if(!e.issues.length)t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}if(e.value===void 0){if(i||o==="defaulted"&&!a)t.value[r]=void 0}else t.value[r]=e.value}var sL=[];function nv(e){let t=Object.keys(e.shape),r=Object.getOwnPropertySymbols(e.shape),n=r.length?r:sL,o=n.length?[...t,...n]:t;for(let i of o)if(!e.shape?.[i]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${String(i)}": expected a Zod schema`);let s=Yw(e.shape);return{...e,allKeys:o,symbolKeys:n,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(s)}}function ov(e,t,r,n,o,s,i){let a=[],c=o.keySet,u=o.catchall._zod,l=u.def.type,{optin:d,optout:f}=u,m=0;for(let h in t){if(i&&r.issues.length!==m){if(Tt(r,m))break;m=r.issues.length}if(c.has(h))continue;if(h==="__proto__"){if(l==="never")a.push(h);continue}if(l==="never"){a.push(h);continue}let g=u.run({value:t[h],issues:[]},n);if(g instanceof Promise)e.push(g.then((y)=>Za(y,r,h,t,d,f)));else Za(g,r,h,t,d,f)}if(a.length)r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:s,continue:!0});if(!e.length)return r;return Promise.all(e).then(()=>r)}var iL=P("$ZodObject",(e,t)=>{pe.init(e,t);let r=Object.getOwnPropertyDescriptor(t,"shape"),n=r?.get?r.get.raw:t.shape??{};if(n){let u=()=>{let l={...n};return Object.defineProperty(t,"shape",{value:l}),u.raw=l,l};u.raw=n,Object.defineProperty(t,"shape",{get:u})}let o=Es(()=>nv(t));re(e,"propValues",(u)=>{let l=u.def.shape,d={};for(let f in l){let m=l[f]._zod;if(m.values){if(!Object.prototype.hasOwnProperty.call(d,f))wt(d,f,new Set);for(let h of m.values)d[f].add(h);if(m.optin!==void 0)d[f].add(void 0)}}return d});let s=ao,i=t.catchall,a,c=rt.memoizer;c?.attach(e),e._zod.parse=(u,l)=>{a??(a=o.value);let d=u.value;if(!s(d))return u.issues.push({expected:"object",code:"invalid_type",input:d,inst:e}),u;u.value=c?c.alloc(e,u,{},l):{};let f=[],m=a.shape,h=l?.abortEarly,g=u.issues.length;for(let y of a.allKeys){if(h&&u.issues.length!==g){if(Tt(u,g))break;g=u.issues.length}if(y==="__proto__")continue;let b=m[y],E=b._zod.optin,S=b._zod.optout,I=b._zod.run({value:d[y],issues:[]},l);if(I instanceof Promise)f.push(I.then((_)=>Za(_,u,y,d,E,S)));else Za(I,u,y,d,E,S)}if(!i)return f.length?Promise.all(f).then(()=>u):u;return ov(f,d,u,l,o.value,e,h===!0)}}),sv=P("$ZodObjectJIT",(e,t)=>{iL.init(e,t);let r=e._zod.parse,n=Es(()=>nv(t)),o=rt.memoizer,s=(m)=>{let h=n.value,g=h.symbolKeys,y=new dp(["payload","ctx"],{shape:m,inst:e,memo:o,syms:g}),b=(_)=>`shape[${_}]._zod.run({ value: input[${_}], issues: [] }, ctx)`,E=(_,v)=>`
|
|
177
177
|
let ${_}_ab = false;
|
|
178
178
|
for (let i = 0; i < ${_}.issues.length; i++) {
|
|
179
179
|
const iss = ${_}.issues[i];
|
|
@@ -184,27 +184,27 @@ ${t.join(`
|
|
|
184
184
|
if (${_}_ab && ctx && ctx.abortEarly) {
|
|
185
185
|
payload.value = newResult;
|
|
186
186
|
return payload;
|
|
187
|
-
}`;y.write("const input = payload.value;");let S=Object.create(null),I=0;for(let _ of h.allKeys)S[_]=`key_${I++}`;y.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(let _ of h.allKeys){if(_==="__proto__")continue;let v=S[_],
|
|
188
|
-
const ${v}_present = ${
|
|
187
|
+
}`;y.write("const input = payload.value;");let S=Object.create(null),I=0;for(let _ of h.allKeys)S[_]=`key_${I++}`;y.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(let _ of h.allKeys){if(_==="__proto__")continue;let v=S[_],x=typeof _==="symbol"?`syms[${g.indexOf(_)}]`:Bw(_),R=`${x} in input`,j=m[_],J=j?._zod?.optin,ie=J!==void 0,ae=j?._zod?.optout==="optional";if(y.write(`const ${v} = ${b(x)};`),ie&&ae){let Me=J==="optional"?`${v}_present`:`${v}.value !== undefined || ${v}_present`;y.write(`
|
|
188
|
+
const ${v}_present = ${R};
|
|
189
189
|
if (!${v}.issues.length || ${v}_present) {
|
|
190
|
-
if (${v}.issues.length) {${
|
|
190
|
+
if (${v}.issues.length) {${E(v,x)}
|
|
191
191
|
}
|
|
192
192
|
|
|
193
|
-
if (${
|
|
194
|
-
newResult[${
|
|
193
|
+
if (${Me}) {
|
|
194
|
+
newResult[${x}] = ${v}.value;
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
`)}else if(!ie)y.write(`
|
|
199
|
-
const ${v}_present = ${
|
|
200
|
-
if (${v}.issues.length) {${
|
|
199
|
+
const ${v}_present = ${R};
|
|
200
|
+
if (${v}.issues.length) {${E(v,x)}
|
|
201
201
|
}
|
|
202
202
|
if (!${v}_present && !${v}.issues.length) {
|
|
203
203
|
payload.issues.push({
|
|
204
204
|
code: "invalid_type",
|
|
205
205
|
expected: "nonoptional",
|
|
206
206
|
input: undefined,
|
|
207
|
-
path: [${
|
|
207
|
+
path: [${x}]
|
|
208
208
|
});
|
|
209
209
|
if (ctx && ctx.abortEarly) {
|
|
210
210
|
payload.value = newResult;
|
|
@@ -213,134 +213,134 @@ ${t.join(`
|
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
if (${v}_present) {
|
|
216
|
-
newResult[${
|
|
216
|
+
newResult[${x}] = ${v}.value;
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
`);else if(y.write(`
|
|
220
|
-
if (${v}.issues.length) {${
|
|
220
|
+
if (${v}.issues.length) {${E(v,x)}
|
|
221
221
|
}
|
|
222
|
-
`),
|
|
223
|
-
if (${v}.value !== undefined || ${
|
|
224
|
-
newResult[${
|
|
222
|
+
`),J==="defaulted")y.write(`newResult[${x}] = ${v}.value;`);else y.write(`
|
|
223
|
+
if (${v}.value !== undefined || ${R}) {
|
|
224
|
+
newResult[${x}] = ${v}.value;
|
|
225
225
|
}
|
|
226
|
-
`)}return y.write("payload.value = newResult;"),y.write("return payload;"),y.compile()},i,a=eo,c=!tt.jitless,l=c&&kb.value,d=t.catchall,f;e._zod.parse=(m,h)=>{f??(f=n.value);let g=m.value;if(!a(g))return m.issues.push({expected:"object",code:"invalid_type",input:g,inst:e}),m;if(c&&l&&h?.async===!1&&h.jitless!==!0){if(!i)i=s(t.shape);if(m=i(m,h),!d)return m;return C_([],g,m,h,f,e,h?.abortEarly===!0)}return r(m,h)}});function qw(e,t,r,n){for(let s of e)if(s.issues.length===0)return t.value=s.value,t;let o=e.filter((s)=>!Et(s));if(o.length===1)return t.value=o[0].value,o[0];return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map((s)=>s.issues.map((i)=>Gt(i,n,at())))}),t}var rp=O("$ZodUnion",(e,t)=>{pe.init(e,t),te(e,"optin",(n)=>n.def.options.some((o)=>o._zod.optin==="defaulted")?"defaulted":n.def.options.some((o)=>o._zod.optin!==void 0)?"optional":void 0),te(e,"optout",(n)=>n.def.options.some((o)=>o._zod.optout==="optional")?"optional":void 0),te(e,"values",(n)=>{if(n.def.options.every((o)=>o._zod.values))return new Set(n.def.options.flatMap((o)=>Array.from(o._zod.values)));return}),te(e,"pattern",(n)=>{if(n.def.options.every((o)=>o._zod.pattern)){let o=n.def.options.map((s)=>s._zod.pattern);return new RegExp(`^(${o.map((s)=>Lr(s.source)).join("|")})$`)}return});let r=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(n,o)=>{if(r)return r(n,o);let s=!1,i=[];for(let a of t.options){let c=a._zod.run({value:n.value,issues:[]},o);if(c instanceof Promise)i.push(c),s=!0;else{if(c.issues.length===0)return c;i.push(c)}}if(!s)return qw(i,n,e,o);return Promise.all(i).then((a)=>qw(a,n,e,o))}});function yN(e){let t=new Map;for(let r of e.options){let n=r._zod.propValues?.[e.discriminator];if(!n||n.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(let o of n)if(t.has(o)){if(o!==void 0)throw Error(`Duplicate discriminator value "${String(o)}"`);t.set(o,null)}else t.set(o,r)}return t}var N_=O("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,rp.init(e,t);let r=e._zod.parse;te(e,"propValues",(o)=>{let s={},i=0;for(let a of o.def.options){let c=a._zod.propValues;if(!c||Object.keys(c).length===0)throw Error(`Invalid discriminated union option at index "${o.def.options.indexOf(a)}"`);if(c[o.def.discriminator]?.has(void 0))i++;for(let[u,l]of Object.entries(c)){if(!Object.prototype.hasOwnProperty.call(s,u))yt(s,u,new Set);for(let d of l)s[u].add(d)}}if(!o.def.unionFallback&&i>1)s[o.def.discriminator]?.delete(void 0);return s}),t.options.forEach((o,s)=>{let i=vs(o._zod.def);if(i&&!Object.prototype.hasOwnProperty.call(i,t.discriminator))throw Error(`Invalid discriminated union option at index "${s}"`)});let n=_s(()=>yN(t));e._zod.parse=(o,s)=>{let i=o.value;if(!eo(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=i?.[t.discriminator],c=n.value.get(a);if(c&&(a!==void 0||s.direction!=="backward"))return c._zod.run(o,s);if(t.unionFallback||s.direction==="backward")return r(o,s);return o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(n.value.keys()).filter((u)=>n.value.get(u)!==null),input:i,path:[t.discriminator],inst:e}),o}}),L_=O("$ZodIntersection",(e,t)=>{pe.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);if(s instanceof Promise||i instanceof Promise)return Promise.all([s,i]).then(([c,u])=>Fw(r,c,u));return Fw(r,s,i)}});function Yd(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Tn(e)&&Tn(t)){let r=Object.keys(t),n=Object.keys(e).filter((s)=>r.indexOf(s)!==-1),o={...e,...t};if(Object.prototype.hasOwnProperty.call(o,"__proto__"))delete o.__proto__;for(let s of n){if(s==="__proto__")continue;let i=Yd(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],i=Yd(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Fw(e,t,r){let n=new Map,o,s=new Map,i=(u,l)=>{let d;if(u.code==="unrecognized_keys"&&!u.path?.length)o??(o=u),d=u.keys;else if(u.code==="invalid_key"&&u.origin==="record"&&u.path?.length===1){let f=String(u.path[0]);if(!s.has(f))s.set(f,u);d=[f]}else return!1;for(let f of d){if(!n.has(f))n.set(f,{});n.get(f)[l]=!0}return!0};for(let u of t.issues)if(!i(u,"l"))e.issues.push(u);for(let u of r.issues)if(!i(u,"r"))e.issues.push(u);let a=[...n].filter(([,u])=>u.l&&u.r).map(([u])=>u);if(a.length){let u=o?a.filter((l)=>o.keys.includes(l)):[];if(u.length)e.issues.push({...o,keys:u});for(let l of a)if(!u.includes(l)&&s.has(l))e.issues.push(s.get(l))}let c=Yd(t.value,r.value);if(!c.valid){if(Et(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var D_=O("$ZodTuple",(e,t)=>{pe.init(e,t);let r=t.items,n=tt.memoizer;n?.attach(e),e._zod.parse=(o,s)=>{let i=o.value;if(!Array.isArray(i))return o.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=n?n.alloc(e,o,[],s):[];let a=[],c=Uw(r,"optin"),u=Uw(r,"optout");if(!t.rest){if(i.length<c)return o.issues.push({code:"too_small",minimum:c,inclusive:!0,input:i,inst:e,origin:"array"}),o;if(i.length>r.length)o.issues.push({code:"too_big",maximum:r.length,inclusive:!0,input:i,inst:e,origin:"array"})}let l=Array(r.length),d=t.rest?s?.abortEarly:void 0,f=!1;for(let m=0;m<r.length;m++){let h=r[m]._zod.run({value:i[m],issues:[]},s);if(h instanceof Promise)a.push(h.then((g)=>{l[m]=g}));else if(l[m]=h,d&&!f&&h.issues.length)f=Et(h)}if(t.rest&&!f){let m=r.length-1,h=i.slice(r.length),g=o.issues.length;for(let y of h){if(d&&o.issues.length!==g){if(Et(o,g))break;g=o.issues.length}m++;let w=t.rest._zod.run({value:y,issues:[]},s);if(w instanceof Promise)a.push(w.then((T)=>Ww(T,o,m)));else Ww(w,o,m)}}if(a.length)return Promise.all(a).then(()=>Vw(l,o,r,i,u));return Vw(l,o,r,i,u)}});function Uw(e,t){for(let r=e.length-1;r>=0;r--)if(!(t==="optin"?e[r]._zod.optin!==void 0:e[r]._zod.optout==="optional"))return r+1;return 0}function Ww(e,t,r){if(e.issues.length)t.issues.push(...Ht(r,e.issues));t.value[r]=e.value}function Vw(e,t,r,n,o){for(let s=0;s<r.length;s++){let i=e[s],a=s<n.length;if(!a&&s>=o&&r[s]._zod.optin==="optional"){t.value.length=s;break}if(i.issues.length){if(!a&&s>=o){t.value.length=s;break}t.issues.push(...Ht(s,i.issues))}t.value[s]=i.value}for(let s=t.value.length-1;s>=n.length;s--)if(r[s]._zod.optout==="optional"&&t.value[s]===void 0)t.value.length=s;else break;return t}var j_=O("$ZodRecord",(e,t)=>{pe.init(e,t);let r=tt.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let s=n.value;if(!Tn(s))return n.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),n;let i=[],a=t.keyType._zod.values;if(a&&!t.partial){n.value=r?r.alloc(e,n,{},o):{};let c=new Set;for(let l of a)if(typeof l==="string"||typeof l==="number"||typeof l==="symbol"){if(c.add(typeof l==="number"?l.toString():l),l==="__proto__")continue;let d=t.keyType._zod.run({value:l,issues:[]},o);if(d instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(d.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map((h)=>Gt(h,o,at())),input:l,path:[l],inst:e});continue}let f=d.value;if(f==="__proto__")continue;let m=t.valueType._zod.run({value:s[l],issues:[]},o);if(m instanceof Promise)i.push(m.then((h)=>{if(h.issues.length)n.issues.push(...Ht(l,h.issues));n.value[f]=h.value}));else{if(m.issues.length)n.issues.push(...Ht(l,m.issues));n.value[f]=m.value}}let u;for(let l in s)if(!c.has(l))if(t.mode==="loose"){if(l==="__proto__")continue;n.value[l]=s[l]}else u=u??[],u.push(l);if(u&&u.length>0)n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:u,continue:!0})}else{n.value=r?r.alloc(e,n,{},o):{};let c;for(let u of Reflect.ownKeys(s)){if(u==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(s,u))continue;let l=t.keyType._zod.run({value:u,issues:[]},o);if(l instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof u==="string"&&to.test(u)&&l.issues.length){let h=t.keyType._zod.run({value:Number(u),issues:[]},o);if(h instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(h.issues.length===0)l=h}if(l.issues.length){if(t.mode==="loose")n.value[u]=s[u];else if(a)c=c??[],c.push(u);else n.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map((h)=>Gt(h,o,at())),input:u,path:[u],inst:e});continue}let f=l.value;if(f==="__proto__")continue;let m=t.valueType._zod.run({value:s[u],issues:[]},o);if(m instanceof Promise)i.push(m.then((h)=>{if(h.issues.length)n.issues.push(...Ht(u,h.issues));n.value[f]=h.value}));else{if(m.issues.length)n.issues.push(...Ht(u,m.issues));n.value[f]=m.value}}if(c&&c.length>0)n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c,continue:!0})}if(i.length)return Promise.all(i).then(()=>n);return n}});var M_=O("$ZodEnum",(e,t)=>{pe.init(e,t);let r=bs(t.entries),n=new Set(r);e._zod.values=n,te(e,"pattern",(o)=>{let s=bs(o.def.entries).filter((i)=>xb.has(typeof i));return new RegExp(s.length?`^(${s.map((i)=>_r(i.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,s)=>{let i=o.value;if(n.has(i))return o;return o.issues.push({code:"invalid_value",values:r,input:i,inst:e}),o}}),q_=O("$ZodLiteral",(e,t)=>{pe.init(e,t);let r=new Set(t.values);e._zod.values=r,te(e,"pattern",(n)=>{let o=n.def.values;return new RegExp(o.length?`^(${o.map((s)=>typeof s==="string"?_r(s):s?_r(s.toString()):String(s)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(n,o)=>{let s=n.value;if(r.has(s))return n;return n.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),n}});var F_=O("$ZodTransform",(e,t)=>{pe.init(e,t),e._zod.optin="optional",tt.memoizer?.guard(e),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ss(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then((i)=>(r.value=i,r));if(o instanceof Promise)throw new Jt;return r.value=o,r}});function Zw(e,t){return e.value=t.issues.length?void 0:t.value,e}var np=O("$ZodOptional",(e,t)=>{pe.init(e,t),te(e,"optin",(r)=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",te(e,"values",(r)=>{let n=r.def.innerType._zod.values;return n?new Set([...n,void 0]):void 0}),te(e,"pattern",(r)=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Lr(n.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(r.value===void 0){if(t.innerType._zod.optin!=="defaulted")return r;let o=t.innerType._zod.run({value:r.value,issues:[]},n);if(o instanceof Promise)return o.then((s)=>Zw(r,s));return Zw(r,o)}return t.innerType._zod.run(r,n)}}),U_=O("$ZodExactOptional",(e,t)=>{np.init(e,t),te(e,"values",(r)=>r.def.innerType._zod.values),te(e,"pattern",(r)=>r.def.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),W_=O("$ZodNullable",(e,t)=>{pe.init(e,t),te(e,"optin",(r)=>r.def.innerType._zod.optin),te(e,"optout",(r)=>r.def.innerType._zod.optout),te(e,"pattern",(r)=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Lr(n.source)}|null)$`):void 0}),te(e,"values",(r)=>r.def.innerType._zod.values?new Set([...r.def.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>{if(r.value===null)return r;return t.innerType._zod.run(r,n)}}),V_=O("$ZodDefault",(e,t)=>{pe.init(e,t),e._zod.optin="defaulted",te(e,"values",(r)=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>Bw(s,t));return Bw(o,t)}});function Bw(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var Z_=O("$ZodPrefault",(e,t)=>{pe.init(e,t),e._zod.optin="defaulted",te(e,"values",(r)=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)r.value=t.defaultValue;return t.innerType._zod.run(r,n)}}),B_=O("$ZodNonOptional",(e,t)=>{pe.init(e,t),te(e,"values",(r)=>{let n=r.def.innerType._zod.values;return n?new Set([...n].filter((o)=>o!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>Kw(s,e));return Kw(o,e)}});function Kw(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}function Hw(e,t,r,n){if(!t.issues.length){if(e.value=t.value,t.memo)e.memo=!0;return e}return e.value=r.catchValue({...t,value:e.value,error:{issues:t.issues.map((o)=>Gt(o,n,at()))},input:e.value}),e}var K_=O("$ZodCatch",(e,t)=>{pe.init(e,t),te(e,"optin",(r)=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),te(e,"optout",(r)=>r.def.innerType._zod.optout),te(e,"values",(r)=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run({value:r.value,issues:[]},n);if(o instanceof Promise)return o.then((s)=>Hw(r,s,t,n));return Hw(r,o,t,n)}});var op=O("$ZodPipe",(e,t)=>{pe.init(e,t),te(e,"values",(r)=>r.def.in._zod.values),te(e,"optin",(r)=>r.def.in._zod.optin),te(e,"optout",(r)=>r.def.out._zod.optout),te(e,"propValues",(r)=>r.def.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let s=t.out._zod.run(r,n);if(s instanceof Promise)return s.then((i)=>Da(i,t.in,n));return Da(s,t.in,n)}let o=t.in._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>Da(s,t.out,n));return Da(o,t.out,n)}});function Da(e,t,r){if(e.issues.some((n)=>n.code!=="unrecognized_keys"))return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},r)}var H_=O("$ZodPreprocess",(e,t)=>{op.init(e,t)}),G_=O("$ZodReadonly",(e,t)=>{pe.init(e,t),te(e,"propValues",(r)=>r.def.innerType._zod.propValues),te(e,"values",(r)=>r.def.innerType._zod.values),te(e,"optin",(r)=>r.def.innerType?._zod?.optin),te(e,"optout",(r)=>r.def.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then(Gw);return Gw(o)}});function Gw(e){if(!e.memo)e.value=Object.freeze(e.value);return e}function bN(e){let t=e._zod.def,r=t.pattern,n=!!t.format?.includes("int"),o,s;for(let a of t.checks??[]){let c=a._zod.def;if(c.pattern)r=c.pattern;n||(n=!!c.format?.includes("int"));let u=c.minimum??c.length,l=c.maximum??c.length;if(u!==void 0&&(o===void 0||u>o))o=u;if(l!==void 0&&(s===void 0||l<s))s=l}if(r)return r.source;if(o!==void 0&&s!==void 0&&o>s)return"(?!)";if(o!==void 0||s!==void 0)return ww({minimum:o,maximum:s}).source;let i=e._zod.pattern;return(n&&i===to?Na:i)?.source}function Xd(e){let t=e._zod.def,r=e._zod.pattern?.source,n=t.innerType??e._zod.innerType;if(n){let o=n._zod.pattern?.source,s=Xd(n);if(r&&o&&s&&s!==o)return r.replace(Lr(o),()=>Lr(s));return r}if(t.options){let o=t.options.map(Xd);if(o.every(Boolean))return`^(${o.map((s)=>Lr(s)).join("|")})$`}return bN(e)}var J_=O("$ZodTemplateLiteral",(e,t)=>{pe.init(e,t);let r=[];for(let n of t.parts)if(typeof n==="object"&&n!==null){let o=Xd(n);if(!o)throw Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);r.push(Lr(o))}else if(n===null||$b.has(typeof n))r.push(_r(`${n}`));else throw Error(`Invalid template literal part: ${n}`);e._zod.pattern=new RegExp(`^${r.join("")}$`),e._zod.parse=(n,o)=>{if(typeof n.value!=="string")return n.issues.push({input:n.value,inst:e,expected:"string",code:"invalid_type"}),n;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(n.value))return n.issues.push({input:n.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),n;return n}});var Y_=O("$ZodLazy",(e,t)=>{pe.init(e,t),bb(e._zod,"innerType",()=>{let r=t;if(!r._cachedInner)r._cachedInner=t.getter();return r._cachedInner}),te(e,"pattern",(r)=>r.innerType?._zod?.pattern),te(e,"propValues",(r)=>r.innerType?._zod?.propValues),te(e,"optin",(r)=>r.innerType?._zod?.optin??void 0),te(e,"optout",(r)=>r.innerType?._zod?.optout??void 0),e._zod.parse=(r,n)=>e._zod.innerType._zod.run(r,n)}),X_=O("$ZodCustom",(e,t)=>{Ke.init(e,t),pe.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=(r)=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then((s)=>Jw(s,r,n,e));Jw(o,r,n,e);return}});function Jw(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};if(n._zod.def.params)o.params=n._zod.def.params;t.issues.push(On(o))}}class ev extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform");this.name="ZodCyclicError"}}var ip="~memo",Q_=[];function tv(e){return e!==null&&typeof e==="object"}function sp(e){return e.map((t)=>t.path?{...t,path:t.path.slice()}:{...t})}var rv=new WeakMap,$s=0,Va=1,Es=2;function Za(e,t,r){let n=rv.get(e);if(n!==void 0)return n?Es:$s;if(t.has(e))return Es;t.add(e);let o=$s,s=(l)=>{if(o!==Es&&l?._zod){let d=Za(l,t,r);if(d>o)o=d}},i=(l,d)=>{let f=$s;for(let m of Reflect.ownKeys(l)){let h=Object.getOwnPropertyDescriptor(l,m);if(d&&!h.enumerable)continue;let g=h.get?Va:h.value?._zod?Za(h.value,t,r):$s;if(g>f)f=g}return f},a=(l)=>{if(l>o)o=l},c=e._zod.def,u=c.type;switch(u){case"object":{let l=vs(c);a(l?i(l,!0):Va),s(c.catchall);break}case"array":s(c.element);break;case"tuple":for(let l of c.items)s(l);s(c.rest);break;case"record":case"map":s(c.keyType),s(c.valueType);break;case"set":s(c.valueType);break;case"union":for(let l of c.options)s(l);break;case"intersection":s(c.left),s(c.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":s(c.innerType);break;case"pipe":s(c.in),s(c.out);break;case"function":s(c.input),s(c.output);break;case"lazy":{let l=c._cachedInner??(r?e._zod.innerType:void 0);a(l?Za(l,t,!1):Va);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(let l in c){let d=Object.getOwnPropertyDescriptor(c,l);if(!d||d.get)continue;let f=d.value;if(!f||typeof f!=="object")continue;if(f._zod)s(f);else if(Array.isArray(f))for(let m of f)s(m)}}return t.delete(e),wN(e,o)}function wN(e,t){if(t!==Va)rv.set(e,t===Es);return t}function _N(e,t){let r=e.buckets.get(t);if(!r)r=new WeakMap,e.buckets.set(t,r);return r}var Ua,Wa=[],vN={alloc(e,t,r){let n=Ua;if(!n)return r;Ua=void 0;let o={value:r,issues:null};return n.set(t.value,o),Wa.push(o),r},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let r=e._zod.parse,n=(o,s)=>{if(s.direction!=="backward"&&SN(s,o.value))throw new ev;return r(o,s)};if(e._zod.parse=n,e._zod.run===r)e._zod.run=n})},attach(e){var t;let r,n=!1,o,s;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let i=e._zod.parse,a=(c,u)=>{if(r===void 0){let w=Za(e,new Set,!1);if(w===$s){if(e._zod.parse=i,e._zod.run===a)e._zod.run=i;return i(c,u)}if(w===Es||n)r=!0;else n=!0}let l=c.value;if(!tv(l))return i(c,u);let d=u[ip];if(!d)d={buckets:new WeakMap,backEdges:void 0},u[ip]=d;let f;if(o===u)f=s;else f=_N(d,e),o=u,s=f;let m=f.get(l);if(m){if(c.value=m.value,m.issues){if(m.issues.length)c.issues.push(...sp(m.issues))}else c.memo=!0,d.backEdges??(d.backEdges=new WeakSet),d.backEdges.add(m.value);return c}Ua=f;let h=Wa.length,g=i(c,u);Ua=void 0;let y=Wa.length>h?Wa.pop():void 0;if(g instanceof Promise)return g.then((w)=>{if(y)y.issues=w.issues.length?sp(w.issues):Q_;return w});if(y)y.issues=g.issues.length?sp(g.issues):Q_;return g};if(e._zod.parse=a,e._zod.run===i)e._zod.run=a})}};function ap(){return vN}function SN(e,t){let r=e[ip]?.backEdges;return r!==void 0&&tv(t)&&r.has(t)}var kN=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(s){return e[s]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};function o(s,i){if(s==="number"&&typeof i==="number"&&!Number.isFinite(i))return String(i);return n[s]??s}return(s)=>{switch(s.code){case"invalid_type":{let i=o(s.expected),a=Ib(s.input),c=o(a,s.input);return`Invalid input: expected ${i}, received ${c}`}case"invalid_value":if(s.values.length===1)return`Invalid input: expected ${Nd(s.values[0])}`;return`Invalid option: expected one of ${Rd(s.values,"|")}`;case"too_big":{let i=s.exact?"exactly ":s.inclusive?"<=":"<",a=t(s.origin);if(a)return`Too big: expected ${s.origin??"value"} to have ${i}${s.maximum.toString()} ${a.unit??"elements"}`;return`Too big: expected ${s.origin??"value"} to be ${i}${s.maximum.toString()}`}case"too_small":{let i=s.exact?"exactly ":s.inclusive?">=":">",a=t(s.origin);if(a)return`Too small: expected ${s.origin} to have ${i}${s.minimum.toString()} ${a.unit}`;return`Too small: expected ${s.origin} to be ${i}${s.minimum.toString()}`}case"invalid_format":{let i=s;if(i.format==="starts_with")return`Invalid string: must start with "${i.prefix}"`;if(i.format==="ends_with")return`Invalid string: must end with "${i.suffix}"`;if(i.format==="includes")return`Invalid string: must include "${i.includes}"`;if(i.format==="regex")return`Invalid string: must match pattern ${i.pattern}`;return`Invalid ${r[i.format]??s.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${s.divisor}`;case"unrecognized_keys":return`Unrecognized key${s.keys.length>1?"s":""}: ${Rd(s.keys,", ")}`;case"invalid_key":return`Invalid key in ${s.origin}`;case"invalid_union":if(s.options&&Array.isArray(s.options)&&s.options.length>0)return`Invalid discriminator value. Expected ${s.options.map((a)=>`'${a}'`).join(" | ")}`;if(s.inclusive===!1)return"Invalid input: more than one option matched";return"Invalid input";case"invalid_element":return`Invalid value in ${s.origin}`;default:return"Invalid input"}}};function cp(){return{localeError:kN()}}var nv;class ov{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let r=t[0];if(this._map.set(e,r),r&&typeof r==="object"&&"id"in r)this._idmap.set(r.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let r={...this.get(t)??{}};delete r.id;let n={...r,...this._map.get(e)};return Object.keys(n).length?n:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function sv(){return new ov}(nv=globalThis).__zod_globalRegistry??(nv.__zod_globalRegistry=sv());var Dr=globalThis.__zod_globalRegistry;function up(e){if(e.checks)e.checks=[...e.checks];return e}function iv(e,t){return new e(up({type:"string",...U(t)}))}function av(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...U(t)})}function cv(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...U(t)})}function uv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...U(t)})}function lv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...U(t)})}function dv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...U(t)})}function pv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...U(t)})}function lp(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...U(t)})}function fv(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...U(t)})}function mv(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...U(t)})}function hv(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...U(t)})}function gv(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...U(t)})}function yv(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...U(t)})}function bv(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...U(t)})}function wv(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...U(t)})}function _v(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...U(t)})}function vv(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...U(t)})}function Sv(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...U(t)})}function kv(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...U(t)})}function xv(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...U(t)})}function $v(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...U(t)})}function Ev(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...U(t)})}function Tv(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...U(t)})}function Ba(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...U(t)})}function Ka(e,t){return new e({type:"string",format:"date",check:"string_format",...U(t)})}function Ha(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...U(t)})}function Ga(e,t){return new e({type:"string",format:"duration",check:"string_format",...U(t)})}function Ov(e,t){return new e(up({type:"number",checks:[],...U(t)}))}function Pv(e,t){return new e(up({type:"number",coerce:!0,checks:[],...U(t)}))}function Iv(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...U(t)})}function Av(e,t){return new e({type:"boolean",...U(t)})}function Rv(e,t){return new e({type:"null",...U(t)})}function Cv(e){return new e({type:"any"})}function zv(e){return new e({type:"unknown"})}function Nv(e,t){return new e({type:"never",...U(t)})}function Ja(e,t){return new Hd({check:"less_than",...U(t),value:e,inclusive:!1})}function Ts(e,t){return new Hd({check:"less_than",...U(t),value:e,inclusive:!0})}function Ya(e,t){return new Gd({check:"greater_than",...U(t),value:e,inclusive:!1})}function Os(e,t){return new Gd({check:"greater_than",...U(t),value:e,inclusive:!0})}function Xa(e,t){return new xw({check:"multiple_of",...U(t),value:e})}function Qa(e,t){return new Ew({check:"max_length",...U(t),maximum:e})}function no(e,t){return new Tw({check:"min_length",...U(t),minimum:e})}function ec(e,t){return new Ow({check:"length_equals",...U(t),length:e})}function dp(e,t){return new Pw({check:"string_format",format:"regex",...U(t),pattern:e})}function pp(e){return new Iw({check:"string_format",format:"lowercase",...U(e)})}function fp(e){return new Aw({check:"string_format",format:"uppercase",...U(e)})}function mp(e,t){return new Rw({check:"string_format",format:"includes",...U(t),includes:e})}function hp(e,t){return new Cw({check:"string_format",format:"starts_with",...U(t),prefix:e})}function gp(e,t){return new zw({check:"string_format",format:"ends_with",...U(t),suffix:e})}function jr(e){return new Nw({check:"overwrite",tx:e})}function yp(e){return jr((t)=>t.normalize(e))}function bp(){return jr((e)=>e.trim())}function wp(){return jr((e)=>e.toLowerCase())}function _p(){return jr((e)=>e.toUpperCase())}function vp(){return jr((e)=>Sb(e))}function Lv(e,t,r){return new e({type:"array",element:t,...U(r)})}function Dv(e,t,r){let n=U(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function jv(e,t,r){return new e({type:"custom",check:"custom",fn:t,...U(r)})}function Mv(e,t){let r=xN((n)=>(n.addIssue=(o)=>{if(typeof o==="string")n.issues.push(On(o,n.value,r._zod.def));else{let s=o;if(s.fatal)s.continue=!1;if(s.code??(s.code="custom"),!("input"in s))s.input=n.value;s.inst??(s.inst=r),s.continue??(s.continue=!r._zod.def.abort),n.issues.push(On(s))}},e(n.value,n)),t);return r}function xN(e,t){let r=new Ke({check:"custom",...U(t)});return r._zod.check=e,r}function Ps(e,...t){for(let r of t)for(let n of Reflect.ownKeys(r))if(Object.prototype.propertyIsEnumerable.call(r,n))yt(e,n,r[n]);return e}function As(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";return{processors:e.processors??{},metadataRegistry:e?.metadata??Dr,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??"ref",reused:e?.reused??"inline",intersections:[],deferred:[],external:e?.external??void 0}}function Ue(e,t,r,n,o){let s=typeof t.unrepresentable==="function"?t.unrepresentable({zodSchema:e,path:n.path,message:o}):t.unrepresentable;if(s==="any")return!1;if(s===void 0||s==="throw")throw Error(o);return Object.assign(r,s),!0}function we(e,t,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s=t.seen.get(e);if(s){if(s.count++,r.schemaPath.includes(e))s.cycle=r.path;return s.schema}let i={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,i),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let a=e._zod.toJSONSchema?.();if(a)i.schema=a;else{let l={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,l);else{let f=i.schema,m=t.processors[o.type];if(!m)throw Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);m(e,t,f,l)}let d=e._zod.parent;if(d){if(!i.ref)i.ref=d;we(d,t,l),t.seen.get(d).isParent=!0}}let c=t.metadataRegistry.get(e);if(c)Ps(i.schema,c);if(t.io==="input"&&rt(e))delete i.schema.examples,delete i.schema.default;if(t.io==="input"&&"_prefault"in i.schema)(n=i.schema).default??(n.default=i.schema._prefault);return delete i.schema._prefault,t.seen.get(e).schema}function qv(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Rs(e,t){let r=e.seen.get(t);if(!r)throw Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;let n=new Map;for(let i of e.seen.entries()){let a=e.metadataRegistry.get(i[0])?.id;if(a){let c=n.get(a);if(c&&c!==i[0])throw Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(a,i[0])}}let o=(i)=>{let a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let d=e.external.registry.get(i[0])?.id,f=e.external.uri??((h)=>h);if(d)return{ref:f(d)};let m=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=m,{defId:m,ref:`${f("__shared")}#/${a}/${qv(m)}`}}let c="#",u=`${c}/${a}/`;if(i[1]===r&&!i[1].schema.id)return{ref:c};let l=i[1].schema.id??`__schema${e.counter++}`;return{defId:l,ref:u+qv(l)}},s=(i)=>{if(i[1].schema.$ref)return;let a=i[1],{ref:c,defId:u}=o(i);if(a.def={...a.schema},u)a.defId=u;let l=a.schema;for(let d in l)delete l[d];l.$ref=c};if(e.cycles==="throw")for(let i of e.seen.entries()){let a=i[1];if(a.cycle)throw Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
|
|
226
|
+
`)}return y.write("payload.value = newResult;"),y.write("return payload;"),y.compile()},i,a=ao,c=!rt.jitless,l=c&&Hw.value,d=t.catchall,f;e._zod.parse=(m,h)=>{f??(f=n.value);let g=m.value;if(!a(g))return m.issues.push({expected:"object",code:"invalid_type",input:g,inst:e}),m;if(c&&l&&h?.async===!1&&h.jitless!==!0){if(!i)i=s(t.shape);if(m=i(m,h),!d)return m;return ov([],g,m,h,f,e,h?.abortEarly===!0)}return r(m,h)}});function d_(e,t,r,n){for(let s of e)if(s.issues.length===0)return t.value=s.value,t;let o=e.filter((s)=>!Tt(s));if(o.length===1)return t.value=o[0].value,o[0];return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map((s)=>s.issues.map((i)=>Qt(i,n,at())))}),t}var yp=P("$ZodUnion",(e,t)=>{pe.init(e,t),re(e,"optin",(n)=>n.def.options.some((o)=>o._zod.optin==="defaulted")?"defaulted":n.def.options.some((o)=>o._zod.optin!==void 0)?"optional":void 0),re(e,"optout",(n)=>n.def.options.some((o)=>o._zod.optout==="optional")?"optional":void 0),re(e,"values",(n)=>{if(n.def.options.every((o)=>o._zod.values))return new Set(n.def.options.flatMap((o)=>Array.from(o._zod.values)));return}),re(e,"pattern",(n)=>{if(n.def.options.every((o)=>o._zod.pattern)){let o=n.def.options.map((s)=>s._zod.pattern);return new RegExp(`^(${o.map((s)=>Fr(s.source)).join("|")})$`)}return});let r=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(n,o)=>{if(r)return r(n,o);let s=!1,i=[];for(let a of t.options){let c=a._zod.run({value:n.value,issues:[]},o);if(c instanceof Promise)i.push(c),s=!0;else{if(c.issues.length===0)return c;i.push(c)}}if(!s)return d_(i,n,e,o);return Promise.all(i).then((a)=>d_(a,n,e,o))}});function aL(e){let t=new Map;for(let r of e.options){let n=r._zod.propValues?.[e.discriminator];if(!n||n.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(r)}"`);for(let o of n)if(t.has(o)){if(o!==void 0)throw Error(`Duplicate discriminator value "${String(o)}"`);t.set(o,null)}else t.set(o,r)}return t}var iv=P("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,yp.init(e,t);let r=e._zod.parse;re(e,"propValues",(o)=>{let s={},i=0;for(let a of o.def.options){let c=a._zod.propValues;if(!c||Object.keys(c).length===0)throw Error(`Invalid discriminated union option at index "${o.def.options.indexOf(a)}"`);if(c[o.def.discriminator]?.has(void 0))i++;for(let[u,l]of Object.entries(c)){if(!Object.prototype.hasOwnProperty.call(s,u))wt(s,u,new Set);for(let d of l)s[u].add(d)}}if(!o.def.unionFallback&&i>1)s[o.def.discriminator]?.delete(void 0);return s}),t.options.forEach((o,s)=>{let i=Ts(o._zod.def);if(i&&!Object.prototype.hasOwnProperty.call(i,t.discriminator))throw Error(`Invalid discriminated union option at index "${s}"`)});let n=Es(()=>aL(t));e._zod.parse=(o,s)=>{let i=o.value;if(!ao(i))return o.issues.push({code:"invalid_type",expected:"object",input:i,inst:e}),o;let a=i?.[t.discriminator],c=n.value.get(a);if(c&&(a!==void 0||s.direction!=="backward"))return c._zod.run(o,s);if(t.unionFallback||s.direction==="backward")return r(o,s);return o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(n.value.keys()).filter((u)=>n.value.get(u)!==null),input:i,path:[t.discriminator],inst:e}),o}}),av=P("$ZodIntersection",(e,t)=>{pe.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),i=t.right._zod.run({value:o,issues:[]},n);if(s instanceof Promise||i instanceof Promise)return Promise.all([s,i]).then(([c,u])=>p_(r,c,u));return p_(r,s,i)}});function pp(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Rn(e)&&Rn(t)){let r=Object.keys(t),n=Object.keys(e).filter((s)=>r.indexOf(s)!==-1),o={...e,...t};if(Object.prototype.hasOwnProperty.call(o,"__proto__"))delete o.__proto__;for(let s of n){if(s==="__proto__")continue;let i=pp(e[s],t[s]);if(!i.valid)return{valid:!1,mergeErrorPath:[s,...i.mergeErrorPath]};o[s]=i.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],i=pp(o,s);if(!i.valid)return{valid:!1,mergeErrorPath:[n,...i.mergeErrorPath]};r.push(i.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function p_(e,t,r){let n=new Map,o,s=new Map,i=(u,l)=>{let d;if(u.code==="unrecognized_keys"&&!u.path?.length)o??(o=u),d=u.keys;else if(u.code==="invalid_key"&&u.origin==="record"&&u.path?.length===1){let f=String(u.path[0]);if(!s.has(f))s.set(f,u);d=[f]}else return!1;for(let f of d){if(!n.has(f))n.set(f,{});n.get(f)[l]=!0}return!0};for(let u of t.issues)if(!i(u,"l"))e.issues.push(u);for(let u of r.issues)if(!i(u,"r"))e.issues.push(u);let a=[...n].filter(([,u])=>u.l&&u.r).map(([u])=>u);if(a.length){let u=o?a.filter((l)=>o.keys.includes(l)):[];if(u.length)e.issues.push({...o,keys:u});for(let l of a)if(!u.includes(l)&&s.has(l))e.issues.push(s.get(l))}let c=pp(t.value,r.value);if(!c.valid){if(Tt(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var cv=P("$ZodTuple",(e,t)=>{pe.init(e,t);let r=t.items,n=rt.memoizer;n?.attach(e),e._zod.parse=(o,s)=>{let i=o.value;if(!Array.isArray(i))return o.issues.push({input:i,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=n?n.alloc(e,o,[],s):[];let a=[],c=f_(r,"optin"),u=f_(r,"optout");if(!t.rest){if(i.length<c)return o.issues.push({code:"too_small",minimum:c,inclusive:!0,input:i,inst:e,origin:"array"}),o;if(i.length>r.length)o.issues.push({code:"too_big",maximum:r.length,inclusive:!0,input:i,inst:e,origin:"array"})}let l=Array(r.length),d=t.rest?s?.abortEarly:void 0,f=!1;for(let m=0;m<r.length;m++){let h=r[m]._zod.run({value:i[m],issues:[]},s);if(h instanceof Promise)a.push(h.then((g)=>{l[m]=g}));else if(l[m]=h,d&&!f&&h.issues.length)f=Tt(h)}if(t.rest&&!f){let m=r.length-1,h=i.slice(r.length),g=o.issues.length;for(let y of h){if(d&&o.issues.length!==g){if(Tt(o,g))break;g=o.issues.length}m++;let b=t.rest._zod.run({value:y,issues:[]},s);if(b instanceof Promise)a.push(b.then((E)=>m_(E,o,m)));else m_(b,o,m)}}if(a.length)return Promise.all(a).then(()=>h_(l,o,r,i,u));return h_(l,o,r,i,u)}});function f_(e,t){for(let r=e.length-1;r>=0;r--)if(!(t==="optin"?e[r]._zod.optin!==void 0:e[r]._zod.optout==="optional"))return r+1;return 0}function m_(e,t,r){if(e.issues.length)t.issues.push(...Xt(r,e.issues));t.value[r]=e.value}function h_(e,t,r,n,o){for(let s=0;s<r.length;s++){let i=e[s],a=s<n.length;if(!a&&s>=o&&r[s]._zod.optin==="optional"){t.value.length=s;break}if(i.issues.length){if(!a&&s>=o){t.value.length=s;break}t.issues.push(...Xt(s,i.issues))}t.value[s]=i.value}for(let s=t.value.length-1;s>=n.length;s--)if(r[s]._zod.optout==="optional"&&t.value[s]===void 0)t.value.length=s;else break;return t}var uv=P("$ZodRecord",(e,t)=>{pe.init(e,t);let r=rt.memoizer;r?.attach(e),e._zod.parse=(n,o)=>{let s=n.value;if(!Rn(s))return n.issues.push({expected:"record",code:"invalid_type",input:s,inst:e}),n;let i=[],a=t.keyType._zod.values;if(a&&!t.partial){n.value=r?r.alloc(e,n,{},o):{};let c=new Set;for(let l of a)if(typeof l==="string"||typeof l==="number"||typeof l==="symbol"){if(c.add(typeof l==="number"?l.toString():l),l==="__proto__")continue;let d=t.keyType._zod.run({value:l,issues:[]},o);if(d instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(d.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map((h)=>Qt(h,o,at())),input:l,path:[l],inst:e});continue}let f=d.value;if(f==="__proto__")continue;let m=t.valueType._zod.run({value:s[l],issues:[]},o);if(m instanceof Promise)i.push(m.then((h)=>{if(h.issues.length)n.issues.push(...Xt(l,h.issues));n.value[f]=h.value}));else{if(m.issues.length)n.issues.push(...Xt(l,m.issues));n.value[f]=m.value}}let u;for(let l in s)if(!c.has(l))if(t.mode==="loose"){if(l==="__proto__")continue;n.value[l]=s[l]}else u=u??[],u.push(l);if(u&&u.length>0)n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:u,continue:!0})}else{n.value=r?r.alloc(e,n,{},o):{};let c;for(let u of Reflect.ownKeys(s)){if(u==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(s,u))continue;let l=t.keyType._zod.run({value:u,issues:[]},o);if(l instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof u==="string"&&co.test(u)&&l.issues.length){let h=t.keyType._zod.run({value:Number(u),issues:[]},o);if(h instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(h.issues.length===0)l=h}if(l.issues.length){if(t.mode==="loose")n.value[u]=s[u];else if(a)c=c??[],c.push(u);else n.issues.push({code:"invalid_key",origin:"record",issues:l.issues.map((h)=>Qt(h,o,at())),input:u,path:[u],inst:e});continue}let f=l.value;if(f==="__proto__")continue;let m=t.valueType._zod.run({value:s[u],issues:[]},o);if(m instanceof Promise)i.push(m.then((h)=>{if(h.issues.length)n.issues.push(...Xt(u,h.issues));n.value[f]=h.value}));else{if(m.issues.length)n.issues.push(...Xt(u,m.issues));n.value[f]=m.value}}if(c&&c.length>0)n.issues.push({code:"unrecognized_keys",input:s,inst:e,keys:c,continue:!0})}if(i.length)return Promise.all(i).then(()=>n);return n}});var lv=P("$ZodEnum",(e,t)=>{pe.init(e,t);let r=xs(t.entries),n=new Set(r);e._zod.values=n,re(e,"pattern",(o)=>{let s=xs(o.def.entries).filter((i)=>Gw.has(typeof i));return new RegExp(s.length?`^(${s.map((i)=>Er(i.toString())).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(o,s)=>{let i=o.value;if(n.has(i))return o;return o.issues.push({code:"invalid_value",values:r,input:i,inst:e}),o}}),dv=P("$ZodLiteral",(e,t)=>{pe.init(e,t);let r=new Set(t.values);e._zod.values=r,re(e,"pattern",(n)=>{let o=n.def.values;return new RegExp(o.length?`^(${o.map((s)=>typeof s==="string"?Er(s):s?Er(s.toString()):String(s)).join("|")})$`:"^[^\\s\\S]$")}),e._zod.parse=(n,o)=>{let s=n.value;if(r.has(s))return n;return n.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),n}});var pv=P("$ZodTransform",(e,t)=>{pe.init(e,t),e._zod.optin="optional",rt.memoizer?.guard(e),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ps(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then((i)=>(r.value=i,r));if(o instanceof Promise)throw new er;return r.value=o,r}});function g_(e,t){return e.value=t.issues.length?void 0:t.value,e}var wp=P("$ZodOptional",(e,t)=>{pe.init(e,t),re(e,"optin",(r)=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",re(e,"values",(r)=>{let n=r.def.innerType._zod.values;return n?new Set([...n,void 0]):void 0}),re(e,"pattern",(r)=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Fr(n.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(r.value===void 0){if(t.innerType._zod.optin!=="defaulted")return r;let o=t.innerType._zod.run({value:r.value,issues:[]},n);if(o instanceof Promise)return o.then((s)=>g_(r,s));return g_(r,o)}return t.innerType._zod.run(r,n)}}),fv=P("$ZodExactOptional",(e,t)=>{wp.init(e,t),re(e,"values",(r)=>r.def.innerType._zod.values),re(e,"pattern",(r)=>r.def.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),mv=P("$ZodNullable",(e,t)=>{pe.init(e,t),re(e,"optin",(r)=>r.def.innerType._zod.optin),re(e,"optout",(r)=>r.def.innerType._zod.optout),re(e,"pattern",(r)=>{let n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Fr(n.source)}|null)$`):void 0}),re(e,"values",(r)=>r.def.innerType._zod.values?new Set([...r.def.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>{if(r.value===null)return r;return t.innerType._zod.run(r,n)}}),hv=P("$ZodDefault",(e,t)=>{pe.init(e,t),e._zod.optin="defaulted",re(e,"values",(r)=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>y_(s,t));return y_(o,t)}});function y_(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var gv=P("$ZodPrefault",(e,t)=>{pe.init(e,t),e._zod.optin="defaulted",re(e,"values",(r)=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)r.value=t.defaultValue;return t.innerType._zod.run(r,n)}}),yv=P("$ZodNonOptional",(e,t)=>{pe.init(e,t),re(e,"values",(r)=>{let n=r.def.innerType._zod.values;return n?new Set([...n].filter((o)=>o!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>w_(s,e));return w_(o,e)}});function w_(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}function b_(e,t,r,n){if(!t.issues.length){if(e.value=t.value,t.memo)e.memo=!0;return e}return e.value=r.catchValue({...t,value:e.value,error:{issues:t.issues.map((o)=>Qt(o,n,at()))},input:e.value}),e}var wv=P("$ZodCatch",(e,t)=>{pe.init(e,t),re(e,"optin",(r)=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),re(e,"optout",(r)=>r.def.innerType._zod.optout),re(e,"values",(r)=>r.def.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run({value:r.value,issues:[]},n);if(o instanceof Promise)return o.then((s)=>b_(r,s,t,n));return b_(r,o,t,n)}});var bp=P("$ZodPipe",(e,t)=>{pe.init(e,t),re(e,"values",(r)=>r.def.in._zod.values),re(e,"optin",(r)=>r.def.in._zod.optin),re(e,"optout",(r)=>r.def.out._zod.optout),re(e,"propValues",(r)=>r.def.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let s=t.out._zod.run(r,n);if(s instanceof Promise)return s.then((i)=>Wa(i,t.in,n));return Wa(s,t.in,n)}let o=t.in._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>Wa(s,t.out,n));return Wa(o,t.out,n)}});function Wa(e,t,r){if(e.issues.some((n)=>n.code!=="unrecognized_keys"))return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues},r)}var bv=P("$ZodPreprocess",(e,t)=>{bp.init(e,t)}),_v=P("$ZodReadonly",(e,t)=>{pe.init(e,t),re(e,"propValues",(r)=>r.def.innerType._zod.propValues),re(e,"values",(r)=>r.def.innerType._zod.values),re(e,"optin",(r)=>r.def.innerType?._zod?.optin),re(e,"optout",(r)=>r.def.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then(__);return __(o)}});function __(e){if(!e.memo)e.value=Object.freeze(e.value);return e}function cL(e){let t=e._zod.def,r=t.pattern,n=!!t.format?.includes("int"),o,s;for(let a of t.checks??[]){let c=a._zod.def;if(c.pattern)r=c.pattern;n||(n=!!c.format?.includes("int"));let u=c.minimum??c.length,l=c.maximum??c.length;if(u!==void 0&&(o===void 0||u>o))o=u;if(l!==void 0&&(s===void 0||l<s))s=l}if(r)return r.source;if(o!==void 0&&s!==void 0&&o>s)return"(?!)";if(o!==void 0||s!==void 0)return Vb({minimum:o,maximum:s}).source;let i=e._zod.pattern;return(n&&i===co?Fa:i)?.source}function fp(e){let t=e._zod.def,r=e._zod.pattern?.source,n=t.innerType??e._zod.innerType;if(n){let o=n._zod.pattern?.source,s=fp(n);if(r&&o&&s&&s!==o)return r.replace(Fr(o),()=>Fr(s));return r}if(t.options){let o=t.options.map(fp);if(o.every(Boolean))return`^(${o.map((s)=>Fr(s)).join("|")})$`}return cL(e)}var vv=P("$ZodTemplateLiteral",(e,t)=>{pe.init(e,t);let r=[];for(let n of t.parts)if(typeof n==="object"&&n!==null){let o=fp(n);if(!o)throw Error(`Invalid template literal part, no pattern found: ${[...n._zod.traits].shift()}`);r.push(Fr(o))}else if(n===null||Jw.has(typeof n))r.push(Er(`${n}`));else throw Error(`Invalid template literal part: ${n}`);e._zod.pattern=new RegExp(`^${r.join("")}$`),e._zod.parse=(n,o)=>{if(typeof n.value!=="string")return n.issues.push({input:n.value,inst:e,expected:"string",code:"invalid_type"}),n;if(e._zod.pattern.lastIndex=0,!e._zod.pattern.test(n.value))return n.issues.push({input:n.value,inst:e,code:"invalid_format",format:t.format??"template_literal",pattern:e._zod.pattern.source}),n;return n}});var Sv=P("$ZodLazy",(e,t)=>{pe.init(e,t),Ww(e._zod,"innerType",()=>{let r=t;if(!r._cachedInner)r._cachedInner=t.getter();return r._cachedInner}),re(e,"pattern",(r)=>r.innerType?._zod?.pattern),re(e,"propValues",(r)=>r.innerType?._zod?.propValues),re(e,"optin",(r)=>r.innerType?._zod?.optin??void 0),re(e,"optout",(r)=>r.innerType?._zod?.optout??void 0),e._zod.parse=(r,n)=>e._zod.innerType._zod.run(r,n)}),kv=P("$ZodCustom",(e,t)=>{He.init(e,t),pe.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=(r)=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then((s)=>v_(s,r,n,e));v_(o,r,n,e);return}});function v_(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};if(n._zod.def.params)o.params=n._zod.def.params;t.issues.push(An(o))}}class $v extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform");this.name="ZodCyclicError"}}var vp="~memo",xv=[];function Ev(e){return e!==null&&typeof e==="object"}function _p(e){return e.map((t)=>t.path?{...t,path:t.path.slice()}:{...t})}var Tv=new WeakMap,Rs=0,Ja=1,As=2;function Ya(e,t,r){let n=Tv.get(e);if(n!==void 0)return n?As:Rs;if(t.has(e))return As;t.add(e);let o=Rs,s=(l)=>{if(o!==As&&l?._zod){let d=Ya(l,t,r);if(d>o)o=d}},i=(l,d)=>{let f=Rs;for(let m of Reflect.ownKeys(l)){let h=Object.getOwnPropertyDescriptor(l,m);if(d&&!h.enumerable)continue;let g=h.get?Ja:h.value?._zod?Ya(h.value,t,r):Rs;if(g>f)f=g}return f},a=(l)=>{if(l>o)o=l},c=e._zod.def,u=c.type;switch(u){case"object":{let l=Ts(c);a(l?i(l,!0):Ja),s(c.catchall);break}case"array":s(c.element);break;case"tuple":for(let l of c.items)s(l);s(c.rest);break;case"record":case"map":s(c.keyType),s(c.valueType);break;case"set":s(c.valueType);break;case"union":for(let l of c.options)s(l);break;case"intersection":s(c.left),s(c.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":s(c.innerType);break;case"pipe":s(c.in),s(c.out);break;case"function":s(c.input),s(c.output);break;case"lazy":{let l=c._cachedInner??(r?e._zod.innerType:void 0);a(l?Ya(l,t,!1):Ja);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(let l in c){let d=Object.getOwnPropertyDescriptor(c,l);if(!d||d.get)continue;let f=d.value;if(!f||typeof f!=="object")continue;if(f._zod)s(f);else if(Array.isArray(f))for(let m of f)s(m)}}return t.delete(e),uL(e,o)}function uL(e,t){if(t!==Ja)Tv.set(e,t===As);return t}function lL(e,t){let r=e.buckets.get(t);if(!r)r=new WeakMap,e.buckets.set(t,r);return r}var Ha,Ga=[],dL={alloc(e,t,r){let n=Ha;if(!n)return r;Ha=void 0;let o={value:r,issues:null};return n.set(t.value,o),Ga.push(o),r},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let r=e._zod.parse,n=(o,s)=>{if(s.direction!=="backward"&&pL(s,o.value))throw new $v;return r(o,s)};if(e._zod.parse=n,e._zod.run===r)e._zod.run=n})},attach(e){var t;let r,n=!1,o,s;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let i=e._zod.parse,a=(c,u)=>{if(r===void 0){let b=Ya(e,new Set,!1);if(b===Rs){if(e._zod.parse=i,e._zod.run===a)e._zod.run=i;return i(c,u)}if(b===As||n)r=!0;else n=!0}let l=c.value;if(!Ev(l))return i(c,u);let d=u[vp];if(!d)d={buckets:new WeakMap,backEdges:void 0},u[vp]=d;let f;if(o===u)f=s;else f=lL(d,e),o=u,s=f;let m=f.get(l);if(m){if(c.value=m.value,m.issues){if(m.issues.length)c.issues.push(..._p(m.issues))}else c.memo=!0,d.backEdges??(d.backEdges=new WeakSet),d.backEdges.add(m.value);return c}Ha=f;let h=Ga.length,g=i(c,u);Ha=void 0;let y=Ga.length>h?Ga.pop():void 0;if(g instanceof Promise)return g.then((b)=>{if(y)y.issues=b.issues.length?_p(b.issues):xv;return b});if(y)y.issues=g.issues.length?_p(g.issues):xv;return g};if(e._zod.parse=a,e._zod.run===i)e._zod.run=a})}};function Sp(){return dL}function pL(e,t){let r=e[vp]?.backEdges;return r!==void 0&&Ev(t)&&r.has(t)}var fL=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(s){return e[s]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};function o(s,i){if(s==="number"&&typeof i==="number"&&!Number.isFinite(i))return String(i);return n[s]??s}return(s)=>{switch(s.code){case"invalid_type":{let i=o(s.expected),a=tb(s.input),c=o(a,s.input);return`Invalid input: expected ${i}, received ${c}`}case"invalid_value":if(s.values.length===1)return`Invalid input: expected ${Jd(s.values[0])}`;return`Invalid option: expected one of ${Kd(s.values,"|")}`;case"too_big":{let i=s.exact?"exactly ":s.inclusive?"<=":"<",a=t(s.origin);if(a)return`Too big: expected ${s.origin??"value"} to have ${i}${s.maximum.toString()} ${a.unit??"elements"}`;return`Too big: expected ${s.origin??"value"} to be ${i}${s.maximum.toString()}`}case"too_small":{let i=s.exact?"exactly ":s.inclusive?">=":">",a=t(s.origin);if(a)return`Too small: expected ${s.origin} to have ${i}${s.minimum.toString()} ${a.unit}`;return`Too small: expected ${s.origin} to be ${i}${s.minimum.toString()}`}case"invalid_format":{let i=s;if(i.format==="starts_with")return`Invalid string: must start with "${i.prefix}"`;if(i.format==="ends_with")return`Invalid string: must end with "${i.suffix}"`;if(i.format==="includes")return`Invalid string: must include "${i.includes}"`;if(i.format==="regex")return`Invalid string: must match pattern ${i.pattern}`;return`Invalid ${r[i.format]??s.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${s.divisor}`;case"unrecognized_keys":return`Unrecognized key${s.keys.length>1?"s":""}: ${Kd(s.keys,", ")}`;case"invalid_key":return`Invalid key in ${s.origin}`;case"invalid_union":if(s.options&&Array.isArray(s.options)&&s.options.length>0)return`Invalid discriminator value. Expected ${s.options.map((a)=>`'${a}'`).join(" | ")}`;if(s.inclusive===!1)return"Invalid input: more than one option matched";return"Invalid input";case"invalid_element":return`Invalid value in ${s.origin}`;default:return"Invalid input"}}};function kp(){return{localeError:fL()}}var Pv;class Ov{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let r=t[0];if(this._map.set(e,r),r&&typeof r==="object"&&"id"in r)this._idmap.set(r.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let r={...this.get(t)??{}};delete r.id;let n={...r,...this._map.get(e)};return Object.keys(n).length?n:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function Iv(){return new Ov}(Pv=globalThis).__zod_globalRegistry??(Pv.__zod_globalRegistry=Iv());var Ur=globalThis.__zod_globalRegistry;function xp(e){if(e.checks)e.checks=[...e.checks];return e}function Rv(e,t){return new e(xp({type:"string",...U(t)}))}function Av(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...U(t)})}function Cv(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...U(t)})}function zv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...U(t)})}function Nv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...U(t)})}function Lv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...U(t)})}function jv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...U(t)})}function $p(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...U(t)})}function Dv(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...U(t)})}function Mv(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...U(t)})}function qv(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...U(t)})}function Fv(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...U(t)})}function Uv(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...U(t)})}function Wv(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...U(t)})}function Vv(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...U(t)})}function Zv(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...U(t)})}function Bv(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...U(t)})}function Kv(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...U(t)})}function Hv(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...U(t)})}function Gv(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...U(t)})}function Jv(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...U(t)})}function Yv(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...U(t)})}function Xv(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...U(t)})}function Xa(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...U(t)})}function Qa(e,t){return new e({type:"string",format:"date",check:"string_format",...U(t)})}function ec(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...U(t)})}function tc(e,t){return new e({type:"string",format:"duration",check:"string_format",...U(t)})}function Qv(e,t){return new e(xp({type:"number",checks:[],...U(t)}))}function eS(e,t){return new e(xp({type:"number",coerce:!0,checks:[],...U(t)}))}function tS(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...U(t)})}function rS(e,t){return new e({type:"boolean",...U(t)})}function nS(e,t){return new e({type:"null",...U(t)})}function oS(e){return new e({type:"any"})}function sS(e){return new e({type:"unknown"})}function iS(e,t){return new e({type:"never",...U(t)})}function rc(e,t){return new up({check:"less_than",...U(t),value:e,inclusive:!1})}function Cs(e,t){return new up({check:"less_than",...U(t),value:e,inclusive:!0})}function nc(e,t){return new lp({check:"greater_than",...U(t),value:e,inclusive:!1})}function zs(e,t){return new lp({check:"greater_than",...U(t),value:e,inclusive:!0})}function oc(e,t){return new Gb({check:"multiple_of",...U(t),value:e})}function sc(e,t){return new Yb({check:"max_length",...U(t),maximum:e})}function lo(e,t){return new Xb({check:"min_length",...U(t),minimum:e})}function ic(e,t){return new Qb({check:"length_equals",...U(t),length:e})}function Ep(e,t){return new e_({check:"string_format",format:"regex",...U(t),pattern:e})}function Tp(e){return new t_({check:"string_format",format:"lowercase",...U(e)})}function Pp(e){return new r_({check:"string_format",format:"uppercase",...U(e)})}function Op(e,t){return new n_({check:"string_format",format:"includes",...U(t),includes:e})}function Ip(e,t){return new o_({check:"string_format",format:"starts_with",...U(t),prefix:e})}function Rp(e,t){return new s_({check:"string_format",format:"ends_with",...U(t),suffix:e})}function Wr(e){return new i_({check:"overwrite",tx:e})}function Ap(e){return Wr((t)=>t.normalize(e))}function Cp(){return Wr((e)=>e.trim())}function zp(){return Wr((e)=>e.toLowerCase())}function Np(){return Wr((e)=>e.toUpperCase())}function Lp(){return Wr((e)=>Kw(e))}function aS(e,t,r){return new e({type:"array",element:t,...U(r)})}function cS(e,t,r){let n=U(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function uS(e,t,r){return new e({type:"custom",check:"custom",fn:t,...U(r)})}function lS(e,t){let r=mL((n)=>(n.addIssue=(o)=>{if(typeof o==="string")n.issues.push(An(o,n.value,r._zod.def));else{let s=o;if(s.fatal)s.continue=!1;if(s.code??(s.code="custom"),!("input"in s))s.input=n.value;s.inst??(s.inst=r),s.continue??(s.continue=!r._zod.def.abort),n.issues.push(An(s))}},e(n.value,n)),t);return r}function mL(e,t){let r=new He({check:"custom",...U(t)});return r._zod.check=e,r}function Ns(e,...t){for(let r of t)for(let n of Reflect.ownKeys(r))if(Object.prototype.propertyIsEnumerable.call(r,n))wt(e,n,r[n]);return e}function js(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";return{processors:e.processors??{},metadataRegistry:e?.metadata??Ur,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??"ref",reused:e?.reused??"inline",intersections:[],deferred:[],external:e?.external??void 0}}function Ve(e,t,r,n,o){let s=typeof t.unrepresentable==="function"?t.unrepresentable({zodSchema:e,path:n.path,message:o}):t.unrepresentable;if(s==="any")return!1;if(s===void 0||s==="throw")throw Error(o);return Object.assign(r,s),!0}function be(e,t,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s=t.seen.get(e);if(s){if(s.count++,r.schemaPath.includes(e))s.cycle=r.path;return s.schema}let i={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,i),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let a=e._zod.toJSONSchema?.();if(a)i.schema=a;else{let l={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,i.schema,l);else{let f=i.schema,m=t.processors[o.type];if(!m)throw Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);m(e,t,f,l)}let d=e._zod.parent;if(d){if(!i.ref)i.ref=d;be(d,t,l),t.seen.get(d).isParent=!0}}let c=t.metadataRegistry.get(e);if(c)Ns(i.schema,c);if(t.io==="input"&&nt(e))delete i.schema.examples,delete i.schema.default;if(t.io==="input"&&"_prefault"in i.schema)(n=i.schema).default??(n.default=i.schema._prefault);return delete i.schema._prefault,t.seen.get(e).schema}function dS(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function Ds(e,t){let r=e.seen.get(t);if(!r)throw Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;let n=new Map;for(let i of e.seen.entries()){let a=e.metadataRegistry.get(i[0])?.id;if(a){let c=n.get(a);if(c&&c!==i[0])throw Error(`Duplicate schema id "${a}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(a,i[0])}}let o=(i)=>{let a=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let d=e.external.registry.get(i[0])?.id,f=e.external.uri??((h)=>h);if(d)return{ref:f(d)};let m=i[1].defId??i[1].schema.id??`schema${e.counter++}`;return i[1].defId=m,{defId:m,ref:`${f("__shared")}#/${a}/${dS(m)}`}}let c="#",u=`${c}/${a}/`;if(i[1]===r&&!i[1].schema.id)return{ref:c};let l=i[1].schema.id??`__schema${e.counter++}`;return{defId:l,ref:u+dS(l)}},s=(i)=>{if(i[1].schema.$ref)return;let a=i[1],{ref:c,defId:u}=o(i);if(a.def={...a.schema},u)a.defId=u;let l=a.schema;for(let d in l)delete l[d];l.$ref=c};if(e.cycles==="throw")for(let i of e.seen.entries()){let a=i[1];if(a.cycle)throw Error(`Cycle detected: #/${a.cycle?.join("/")}/<root>
|
|
227
227
|
|
|
228
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let a=i[1];if(t===i[0]){s(i);continue}if(e.external){let u=e.external.registry.get(i[0])?.id;if(t!==i[0]&&u){s(i);continue}}if(e.metadataRegistry.get(i[0])?.id){s(i);continue}if(a.cycle){s(i);continue}if(a.count>1){if(e.reused==="ref")s(i)}}if(e.external)e.sharedDefsExtractedFor=e.external}function Wv(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let r=[];for(let n of t){if(!n||typeof n!=="object")return;Wv(n);let o=Object.keys(n);if(o.length!==1||o[0]!=="type")return;let s=n.type;for(let i of Array.isArray(s)?s:[s]){if(typeof i!=="string")return;if(!r.includes(i))r.push(i)}}delete e.anyOf,e.type=r.length===1?r[0]:r}var Vv=new Set(["type","properties","required","additionalProperties"]),Fv=["oneOf","anyOf"];function Uv(e){let t=e.additionalProperties;if(t===void 0||t===!1||typeof t!=="object"||t===null)return null;return Object.keys(t).length?t:null}function Sp(e){let t=[];for(let s of e){if(typeof s!=="object"||s.type!=="object")return null;for(let i in s)if(!Vv.has(i))return null;t.push(s)}let r={},n=new Set;for(let s of t){for(let i in s.properties){if(Object.prototype.hasOwnProperty.call(r,i))continue;let a=[];for(let u of t){let l=u.properties?.[i]??Uv(u);if(l===null||l===void 0)continue;if(!a.some((d)=>JSON.stringify(d)===JSON.stringify(l)))a.push(l)}let c=a.length===1?a[0]:Sp(a)??{allOf:a};yt(r,i,c)}for(let i of s.required??[])n.add(i)}let o={type:"object",properties:r};if(n.size)o.required=[...n];if(t.every((s)=>s.additionalProperties===!1))o.additionalProperties=!1;else{let s=[];for(let i of t){let a=Uv(i);if(a&&!s.some((c)=>JSON.stringify(c)===JSON.stringify(a)))s.push(a)}if(s.length===1)o.additionalProperties=s[0];else if(s.length>1)o.additionalProperties={allOf:s}}return o}function $N(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let o of Vv)if(o in e)return;let r=t.filter((o)=>Fv.some((s)=>Array.isArray(o[s]))),n=null;if(!r.length)n=Sp(t);else{let o=r[0],s=Fv.find((c)=>Array.isArray(o[c]));if(Object.keys(o).length!==1)return;let i=t.filter((c)=>c!==o),a=o[s].map((c)=>Sp([...i,c]));if(a.some((c)=>!c))return;n={[s]:a}}if(!n)return;delete e.allOf,Ps(e,n)}function Cs(e,t){let r=e.seen.get(t);if(!r)throw Error("Unprocessed schema. This is a bug in Zod.");let n=(a)=>{let c=e.seen.get(a);if(c.ref===null)return;let u=c.def??c.schema,l={...u},d=c.ref;if(c.ref=null,d){n(d);let m=e.seen.get(d),h=m.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"))u.allOf=u.allOf??[],u.allOf.push(h);else Ps(u,h);if(Ps(u,l),a._zod.parent===d)for(let y in u){if(y==="$ref"||y==="allOf")continue;if(!(y in l))delete u[y]}if(h.$ref&&m.def)for(let y in u){if(y==="$ref"||y==="allOf")continue;if(y in m.def&&JSON.stringify(u[y])===JSON.stringify(m.def[y]))delete u[y]}}let f=a._zod.parent;if(f&&f!==d){n(f);let m=e.seen.get(f);if(m?.schema.$ref){if(u.$ref=m.schema.$ref,m.def)for(let h in u){if(h==="$ref"||h==="allOf")continue;if(h in m.def&&JSON.stringify(u[h])===JSON.stringify(m.def[h]))delete u[h]}}}e.override({zodSchema:a,jsonSchema:u,path:c.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let a of[...e.seen.entries()].reverse())n(a[0]);if(e.target!=="openapi-3.0")for(let a of e.seen.entries())Wv(a[1].def??a[1].schema);for(let a of e.deferred)a();if(e.intersections.length){let a=new Map;for(let c of e.seen.values())for(let u of[c.schema,c.def]){let l=u?.allOf;if(!Array.isArray(l))continue;let d=a.get(l);if(d)d.push(u);else a.set(l,[u])}for(let c of e.intersections)for(let u of a.get(c)??[])$N(u)}}let o={};if(e.target==="draft-2020-12")o.$schema="https://json-schema.org/draft/2020-12/schema";else if(e.target==="draft-07")o.$schema="http://json-schema.org/draft-07/schema#";else if(e.target==="draft-04")o.$schema="http://json-schema.org/draft-04/schema#";else if(e.target==="openapi-3.0");if(e.external?.uri){let a=e.external.registry.get(t)?.id;if(!a)throw Error("Schema is missing an `id` property");o.$id=e.external.uri(a)}Ps(o,r.defId?r.schema:r.def??r.schema);let s=e.metadataRegistry.get(t)?.id;if(s!==void 0&&o.id===s)delete o.id;let i=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let a of e.seen.entries()){let c=a[1];if(c.def&&c.defId){if(c.def.id===c.defId)delete c.def.id;yt(i,c.defId,c.def)}}if(e.external)e.sharedEmitDoneFor=e.external;if(e.external);else if(Object.keys(i).length>0)if(e.target==="draft-2020-12")o.$defs=i;else o.definitions=i;try{let a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:Is(t,"input",e.processors),output:Is(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch(a){throw Error("Error converting schema to JSON.")}}function rt(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return rt(n.element,r);if(n.type==="set")return rt(n.valueType,r);if(n.type==="lazy")return rt(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault"||n.type==="catch")return rt(n.innerType,r);if(n.type==="intersection")return rt(n.left,r)||rt(n.right,r);if(n.type==="record"||n.type==="map")return rt(n.keyType,r)||rt(n.valueType,r);if(n.type==="pipe"){if(e._zod.traits.has("$ZodCodec"))return!0;return rt(n.in,r)||rt(n.out,r)}if(n.type==="object"){for(let o in n.shape)if(rt(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(rt(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(rt(o,r))return!0;if(n.rest&&rt(n.rest,r))return!0;return!1}return!1}var Zv=(e,t={})=>(r)=>{let n=As({...r,processors:t});return we(e,n),Rs(n,e),Cs(n,e)},Is=(e,t,r={})=>(n)=>{let{libraryOptions:o,target:s}=n??{},i=As({...o??{},target:s,io:t,processors:r});return we(e,i),Rs(i,e),Cs(i,e)};var oo=(e,t,r)=>{if(e[t]===void 0||r>e[t])e[t]=r},so=(e,t,r)=>{if(e[t]===void 0||r<e[t])e[t]=r},Bv=(e,t)=>{oo(e,"minimum",t),so(e,"maximum",t)},Yv=(e,t)=>{if(e.multipleOf??(e.multipleOf=[]),!e.multipleOf.includes(t))e.multipleOf.push(t)},Xv=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},Qv=(e,t)=>{e.mime=e.mime?e.mime.filter((r)=>t.includes(r)):[...t]},eS=(e,t)=>{if(e.format=t,t.includes("int"))e.isInt=!0},Kv=(e,t)=>oo(e,"minimum",t.minimum),Hv=(e,t)=>so(e,"maximum",t.maximum),Gv=(e)=>(t,r)=>{eS(t,r.format);let[n,o]=e[r.format];oo(t,"minimum",n),so(t,"maximum",o)},EN={greater_than:(e,t)=>oo(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>so(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>Yv(e,t.value),number_format:Gv(ka),bigint_format:Gv(Ld),min_length:Kv,max_length:Hv,length_equals:(e,t)=>Bv(e,t.length),min_size:Kv,max_size:Hv,size_equals:(e,t)=>Bv(e,t.size),string_format:(e,t)=>{if(eS(e,t.format),t.pattern)Xv(e,t.pattern);if(t.format==="base64"||t.format==="base64url")e.contentEncoding=t.format;if(t.local||t.precision===-1)e.laxFormat=!0},mime_type:(e,t)=>Qv(e,t.mime)};function ct(e){let t={},r=e._zod.def,n=e._zod.traits.has("$ZodCheck")?[e,...r.checks??[]]:r.checks??[];for(let s of n)EN[s._zod.def.check]?.(t,s._zod.def);let o=e._zod.bag;if(o.minimum!==void 0)oo(t,"minimum",o.minimum);if(o.exclusiveMinimum!==void 0)oo(t,"exclusiveMinimum",o.exclusiveMinimum);if(o.maximum!==void 0)so(t,"maximum",o.maximum);if(o.exclusiveMaximum!==void 0)so(t,"exclusiveMaximum",o.exclusiveMaximum);if(o.multipleOf!==void 0)Yv(t,o.multipleOf);if(o.format!==void 0){if(t.format??(t.format=o.format),o.format.includes("int"))t.isInt=!0}if(o.mime)Qv(t,o.mime);for(let s of o.patterns??[])Xv(t,s);return t}var TN={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},ON=new Map([[ep,lw],[Fa,dw]]),tS=(e)=>ON.get(e)??e,$p=(e,t,r,n)=>{let o=r;o.type="string";let{minimum:s,maximum:i,format:a,patterns:c,contentEncoding:u,laxFormat:l}=ct(e);if(typeof s==="number")o.minLength=s;if(typeof i==="number")o.maxLength=i;if(a){if(o.format=TN[a]??a,o.format==="")delete o.format;if(a==="time"||l)delete o.format}if(u)o.contentEncoding=u;if(c&&c.size>0){let d=[...c].map(tS);if(d.length===1)o.pattern=d[0].source;else if(d.length>1)o.allOf=[...d.map((f)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:f.source}))]}},Ep=(e,t,r,n)=>{let o=r,{minimum:s,maximum:i,multipleOf:a,exclusiveMaximum:c,exclusiveMinimum:u,isInt:l}=ct(e);o.type=l?"integer":"number";let d=typeof u==="number"&&u>=(s??Number.NEGATIVE_INFINITY),f=typeof c==="number"&&c<=(i??Number.POSITIVE_INFINITY),m=t.target==="draft-04"||t.target==="openapi-3.0";if(d)if(m)o.minimum=u,o.exclusiveMinimum=!0;else o.exclusiveMinimum=u;else if(typeof s==="number")o.minimum=s;if(f)if(m)o.maximum=c,o.exclusiveMaximum=!0;else o.exclusiveMaximum=c;else if(typeof i==="number")o.maximum=i;if(a){let h=new Set;for(let w of a)if(Number.isFinite(w)&&w!==0)h.add(Math.abs(w));else Ue(e,t,o,n,`A multipleOf divisor of ${w} cannot be represented in JSON Schema`);let[g,...y]=h;if(g!==void 0)o.multipleOf=g;if(y.length)o.allOf=[...o.allOf??[],...y.map((w)=>({multipleOf:w}))]}},Tp=(e,t,r,n)=>{r.type="boolean"},rS=(e,t,r,n)=>{Ue(e,t,r,n,"BigInt cannot be represented in JSON Schema")},nS=(e,t,r,n)=>{Ue(e,t,r,n,"Symbols cannot be represented in JSON Schema")},Op=(e,t,r,n)=>{if(t.target==="openapi-3.0")r.type="string",r.nullable=!0,r.enum=[null];else r.type="null"},oS=(e,t,r,n)=>{Ue(e,t,r,n,"Undefined cannot be represented in JSON Schema")},sS=(e,t,r,n)=>{Ue(e,t,r,n,"Void cannot be represented in JSON Schema")},Pp=(e,t,r,n)=>{r.not={}},Ip=(e,t,r,n)=>{},Ap=(e,t,r,n)=>{},iS=(e,t,r,n)=>{Ue(e,t,r,n,"Date cannot be represented in JSON Schema")},Rp=(e,t,r,n)=>{let o=e._zod.def,s=bs(o.entries);if(s.length===0){r.not={};return}if(s.every((i)=>typeof i==="number"))r.type="number";if(s.every((i)=>typeof i==="string"))r.type="string";r.enum=s},Cp=(e,t,r,n)=>{let o=e._zod.def;if(o.values.length===0){r.not={};return}let s=[];for(let i of o.values)if(i===void 0){if(Ue(e,t,r,n,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof i==="bigint"){if(Ue(e,t,r,n,"BigInt literals cannot be represented in JSON Schema"))return;s.push(Number(i))}else s.push(i);if(s.length===0);else if(s.length===1){let i=s[0];if(r.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0")r.enum=[i];else r.const=i}else{if(s.every((i)=>typeof i==="number"))r.type="number";if(s.every((i)=>typeof i==="string"))r.type="string";if(s.every((i)=>typeof i==="boolean"))r.type="boolean";if(s.every((i)=>i===null))r.type="null";r.enum=s}},aS=(e,t,r,n)=>{Ue(e,t,r,n,"NaN cannot be represented in JSON Schema")},zp=(e,t,r,n)=>{let o=r,s=e._zod.pattern;if(!s)throw Error("Pattern not found in template literal");o.type="string",o.pattern=s.source},cS=(e,t,r,n)=>{let o=r;o.type="string",o.format="binary",o.contentEncoding="binary";let{minimum:s,maximum:i,mime:a}=ct(e);if(s!==void 0)o.minLength=s;if(i!==void 0)o.maxLength=i;if(!a)return;if(a.length===0)o.not={};else if(a.length===1)o.contentMediaType=a[0];else o.anyOf=a.map((c)=>({contentMediaType:c}))},uS=(e,t,r,n)=>{r.type="boolean"},Np=(e,t,r,n)=>{Ue(e,t,r,n,"Custom types cannot be represented in JSON Schema")},lS=(e,t,r,n)=>{Ue(e,t,r,n,"Function types cannot be represented in JSON Schema")},Lp=(e,t,r,n)=>{Ue(e,t,r,n,"Transforms cannot be represented in JSON Schema")},dS=(e,t,r,n)=>{Ue(e,t,r,n,"Map cannot be represented in JSON Schema")},pS=(e,t,r,n)=>{Ue(e,t,r,n,"Set cannot be represented in JSON Schema")},Dp=(e,t,r,n)=>{let o=r,s=e._zod.def,{minimum:i,maximum:a}=ct(e);if(typeof i==="number")o.minItems=i;if(typeof a==="number")o.maxItems=a;o.type="array",o.items=we(s.element,t,{...n,path:[...n.path,"items"]})};function zs(e){let t=e._zod.def;if(t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform"))return zs(t.out);if(t.type==="catch")return zs(t.innerType);return e._zod.optin}var jp=(e,t,r,n)=>{let o=r,s=e._zod.def,i=s.shape;if(Object.getOwnPropertySymbols(i).length&&Ue(e,t,o,n,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(let u in i)yt(o.properties,u,we(i[u],t,{...n,path:[...n.path,"properties",u]}));let c=[];for(let u of Object.keys(i)){let l=s.shape[u];if(t.io==="input"?zs(l)===void 0:l._zod.optout===void 0)c.push(u)}if(c.length>0)o.required=c;if(s.catchall?._zod.def.type==="never")o.additionalProperties=!1;else if(!s.catchall){if(t.io==="output")o.additionalProperties=!1}else if(s.catchall)o.additionalProperties=we(s.catchall,t,{...n,path:[...n.path,"additionalProperties"]})},Mp=(e,t,r,n)=>{let o=e._zod.def,s=o.inclusive===!1,i=o.options.map((a,c)=>we(a,t,{...n,path:[...n.path,s?"oneOf":"anyOf",c]}));if(s)r.oneOf=i;else r.anyOf=i},qp=(e,t,r,n)=>{let o=e._zod.def,s=we(o.left,t,{...n,path:[...n.path,"allOf",0]}),i=we(o.right,t,{...n,path:[...n.path,"allOf",1]}),a=(u)=>("allOf"in u)&&Object.keys(u).length===1,c=[...a(s)?s.allOf:[s],...a(i)?i.allOf:[i]];r.allOf=c,t.intersections.push(c)},Fp=(e,t,r,n)=>{let o=r,s=e._zod.def;o.type="array";let i=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",c=s.items.map((g,y)=>we(g,t,{...n,path:[...n.path,i,y]})),u=s.rest?we(s.rest,t,{...n,path:[...n.path,a,...t.target==="openapi-3.0"?[s.items.length]:[]]}):null,l=s.items.length;while(l>0){let g=s.items[l-1];if(!(t.io==="input"?zs(g)!==void 0:g._zod.optout==="optional"))break;l--}let d=s.items.length,f=!s.rest;if(t.target==="draft-2020-12"){if(o.prefixItems=c,f)o.items=!1;else if(u)o.items=u;if(l>0)o.minItems=l;if(f)o.maxItems=d}else if(t.target==="openapi-3.0"){if(o.items={anyOf:c},u)o.items.anyOf.push(u);if(l>0)o.minItems=l;if(f)o.maxItems=d}else{if(o.items=c,f)o.additionalItems=!1;else if(u)o.additionalItems=u;if(l>0)o.minItems=l;if(f)o.maxItems=d}let{minimum:m,maximum:h}=ct(e);if(typeof m==="number")o.minItems=m;if(typeof h==="number")o.maxItems=h};function kp(e,t,r){if(t.$ref){if(r.has(t))return t;r.add(t);let h=e.get(t)?.def;if(!h)return t;let g=kp(e,h,r);return g===h?t:g}for(let h of["anyOf","oneOf"]){let g=t[h];if(!Array.isArray(g))continue;let y=g.map((w)=>kp(e,w,r));if(y.some((w,T)=>w!==g[T]))t={...t,[h]:y}}let n=Array.isArray(t.type)?t.type:[t.type],o=!n.includes("string")&&n.some((h)=>h==="number"||h==="integer"),s=t.enum??(t.const!==void 0?[t.const]:void 0);if(!o&&!s?.some((h)=>typeof h==="number"))return t;let{minimum:i,maximum:a,exclusiveMinimum:c,exclusiveMaximum:u,multipleOf:l,format:d,id:f,...m}=t;if(m.enum)m.enum=m.enum.map((h)=>typeof h==="number"?String(h):h);else if(typeof m.const==="number")m.const=String(m.const);if(!o)return m;if(m.type="string",!s)m.pattern=(n.includes("number")?to:Na).source;return m}var xp=new WeakMap;function PN(e){let t=new Map;for(let n of e.seen.values())if(n.def&&!t.has(n.schema))t.set(n.schema,n);let r=new Map;for(let n of xp.get(e)??[]){let o=e.seen.get(n),s=(o?.def??o?.schema)?.propertyNames;if(!s||s===!0||r.has(s))continue;let i=kp(t,s,new Set);if(i!==s)r.set(s,i)}if(!r.size)return;for(let n of e.seen.values())for(let o of[n.schema,n.def]){let s=o&&r.get(o.propertyNames);if(s)o.propertyNames=s}}var Up=(e,t,r,n)=>{let o=r,s=e._zod.def;o.type="object";let i=s.keyType,a=ct(i).patterns;if(s.mode==="loose"&&a&&a.size>0){let l=we(s.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let d of a)yt(o.patternProperties,tS(d).source,l)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){o.propertyNames=we(s.keyType,t,{...n,path:[...n.path,"propertyNames"]});let l=xp.get(t);if(!l)l=[],xp.set(t,l),t.deferred.push(()=>PN(t));l.push(e)}o.additionalProperties=we(s.valueType,t,{...n,path:[...n.path,"additionalProperties"]})}let c=i._zod.values,u=t.io==="input"&&zs(s.valueType)!==void 0;if(c&&!s.partial&&!u){let l=[...c].filter((d)=>typeof d==="string"||typeof d==="number");if(l.length>0)o.required=l.map(String)}},Wp=(e,t,r,n)=>{let o=e._zod.def,s=we(o.innerType,t,n),i=t.seen.get(e);if(t.target==="openapi-3.0")i.ref=o.innerType,r.nullable=!0;else r.anyOf=[s,{type:"null"}]},Vp=(e,t,r,n)=>{let o=e._zod.def;we(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType},Zp=Symbol();function fS(e,t,r,n,o){let s=!1,i=JSON.stringify(e,(a,c)=>{if(typeof c!=="bigint")return c;return s=!0,null});if(!s)return JSON.parse(i);return Ue(t,r,n,o,"BigInt defaults cannot be represented in JSON Schema"),Zp}var Bp=(e,t,r,n)=>{let o=e._zod.def;we(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType;let i=fS(o.defaultValue,e,t,r,n);if(i!==Zp)r.default=i},Kp=(e,t,r,n)=>{let o=e._zod.def;we(o.innerType,t,n);let s=t.seen.get(e);if(s.ref=o.innerType,t.io!=="input")return;let i=fS(o.defaultValue,e,t,r,n);if(i!==Zp)r._prefault=i},Hp=(e,t,r,n)=>{let o=e._zod.def;we(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType;let i;try{i=o.catchValue(void 0)}catch{Ue(e,t,r,n,"Dynamic catch values are not supported in JSON Schema");return}r.default=i},Gp=(e,t,r,n)=>{let o=e._zod.def,s=o.in._zod.traits.has("$ZodTransform"),i=t.io==="input"?s?o.out:o.in:o.out;we(i,t,n);let a=t.seen.get(e);a.ref=i},Jp=(e,t,r,n)=>{let o=e._zod.def;we(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType,r.readOnly=!0},mS=(e,t,r,n)=>{let o=e._zod.def;we(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType},tc=(e,t,r,n)=>{let o=e._zod.def;we(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType},Yp=(e,t,r,n)=>{let o=e._zod.innerType;we(o,t,n);let s=t.seen.get(e);s.ref=o},Jv={string:$p,number:Ep,boolean:Tp,bigint:rS,symbol:nS,null:Op,undefined:oS,void:sS,never:Pp,any:Ip,unknown:Ap,date:iS,enum:Rp,literal:Cp,nan:aS,template_literal:zp,file:cS,success:uS,custom:Np,function:lS,transform:Lp,map:dS,set:pS,array:Dp,object:jp,union:Mp,intersection:qp,tuple:Fp,record:Up,nullable:Wp,nonoptional:Vp,default:Bp,prefault:Kp,catch:Hp,pipe:Gp,readonly:Jp,promise:mS,optional:tc,lazy:Yp};function hS(e,t){if("_idmap"in e){let n=e,o=As({...t,processors:Jv}),s={};for(let c of n._idmap.entries()){let[u,l]=c;we(l,o)}let i={},a={registry:n,uri:t?.uri,defs:s};o.external=a;for(let c of n._idmap.entries()){let[u,l]=c;Rs(o,l),yt(i,u,Cs(o,l))}if(Object.keys(s).length>0){let c=o.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[c]:s}}return{schemas:i}}let r=As({...t,processors:Jv});return we(e,r),Rs(r,e),Cs(r,e)}var gS=new WeakSet([Object.prototype,Error.prototype]);function rc(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let n=r(this);return Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0})}})}var jN=(e,t)=>{jb.init(e,t),e.name="ZodError";let r=Object.getPrototypeOf(e);if(gS.has(r))return;gS.add(r),rc(r,"format",(n)=>(o)=>Wd(n,o)),rc(r,"flatten",(n)=>(o)=>Ud(n,o)),rc(r,"addIssue",(n)=>(o)=>{n.issues.push(o),n.message=JSON.stringify(n.issues,ws,2)}),rc(r,"addIssues",(n)=>(o)=>{n.issues.push(...o),n.message=JSON.stringify(n.issues,ws,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}})};var wt=O("ZodError",jN,void 0,{Parent:Error});var yS=Ia(wt),bS=Aa(wt),wS=ks(wt),_S=Ra(wt),vS=Fb(wt),SS=Ub(wt),kS=Wb(wt),xS=Vb(wt),$S=Zb(wt),ES=Bb(wt),TS=Kb(wt),OS=Hb(wt);function qN(){if(!tt.localeError)at(cp())}function Ns(){if(!tt.memoizer)at({memoizer:ap()})}var he=O("ZodType",(e,t)=>(qN(),pe.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(bt(t,{checks:[...t.checks??[],...e.map((r)=>typeof r==="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Ft(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(RL(e,t))},superRefine(e,t){return this.check(CL(e,t))},overwrite(e){return this.check(jr(e))},optional(){return ke(this)},exactOptional(){return yL(this)},nullable(){return IS(this)},nullish(){return ke(IS(this))},nonoptional(e){return kL(this,e)},array(){return x(this)},or(e){return ne([this,e])},and(e){return ic(this,e)},transform(e){return AS(this,jS(e))},default(e){return _L(this,e)},prefault(e){return SL(this,e)},catch(e){return $L(this,e)},pipe(e){return AS(this,e)},readonly(){return OL(this)},describe(e){let t=this.clone();return Dr.add(t,{description:e}),t},meta(...e){if(e.length===0)return Dr.get(this);let t=this.clone();return Dr.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get "~standard"(){return Oa(this,"~standard",{...Qd(this),jsonSchema:{input:Is(this,"input"),output:Is(this,"output")}})},set "~standard"(e){wr(this,"~standard",e)},parse:function e(t,r){return yS(this,t,r,{callee:e})},parseAsync:async function e(t,r){return await bS(this,t,r,{callee:e})},safeParse(e,t){return wS(this,e,t)},async safeParseAsync(e,t){return _S(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){wr(this,"spa",e)},validate(e,t){return Ca(this,e,t)},validateAsync(e,t){return za(this,e,t)},encode:function e(t,r){return vS(this,t,r,{callee:e})},decode:function e(t,r){return SS(this,t,r,{callee:e})},encodeAsync:async function e(t,r){return await kS(this,t,r,{callee:e})},decodeAsync:async function e(t,r){return await xS(this,t,r,{callee:e})},safeEncode(e,t){return $S(this,e,t)},safeDecode(e,t){return ES(this,e,t)},async safeEncodeAsync(e,t){return TS(this,e,t)},async safeDecodeAsync(e,t){return OS(this,e,t)},toJSONSchema(e){return Zv(this,{})(e)},get description(){return Dr.get(this)?.description},get _def(){return this._zod.def}}),RS=O("_ZodString",(e,t)=>{qa.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>$p(e,r,n,o)},Rb({format:(e)=>ct(e).format??null,minLength:(e)=>ct(e).minimum??null,maxLength:(e)=>ct(e).maximum??null},{regex(...e){return this.check(dp(...e))},includes(...e){return this.check(mp(...e))},startsWith(...e){return this.check(hp(...e))},endsWith(...e){return this.check(gp(...e))},min(...e){return this.check(no(...e))},max(...e){return this.check(Qa(...e))},length(...e){return this.check(ec(...e))},nonempty(...e){return this.check(no(1,...e))},lowercase(e){return this.check(pp(e))},uppercase(e){return this.check(fp(e))},trim(){return this.check(bp())},normalize(...e){return this.check(yp(...e))},toLowerCase(){return this.check(wp())},toUpperCase(){return this.check(_p())},slugify(){return this.check(vp())}})),CS=O("ZodString",(e,t)=>{qa.init(e,t),RS.init(e,t)},{email(e){return this.check(av(FN,e))},url(e){return this.check(lp(zS,e))},jwt(e){return this.check(Tv(nL,e))},emoji(e){return this.check(fv(WN,e))},guid(e){return this.check(cv(UN,e))},uuid(e){return this.check(uv(nc,e))},uuidv4(e){return this.check(lv(nc,e))},uuidv6(e){return this.check(dv(nc,e))},uuidv7(e){return this.check(pv(nc,e))},nanoid(e){return this.check(mv(VN,e))},cuid(e){return this.check(hv(ZN,e))},cuid2(e){return this.check(gv(BN,e))},ulid(e){return this.check(yv(KN,e))},base64(e){return this.check(xv(eL,e))},base64url(e){return this.check($v(tL,e))},xid(e){return this.check(bv(HN,e))},ksuid(e){return this.check(wv(GN,e))},ipv4(e){return this.check(_v(JN,e))},ipv6(e){return this.check(vv(YN,e))},cidrv4(e){return this.check(Sv(XN,e))},cidrv6(e){return this.check(kv(QN,e))},e164(e){return this.check(Ev(rL,e))},datetime(e){return this.check(Ba(Ls,e))},date(e){return this.check(Ka(Ds,e))},time(e){return this.check(Ha(js,e))},duration(e){return this.check(Ga(Ms,e))}});function p(e){return iv(CS,e)}var Te=O("ZodStringFormat",(e,t)=>{_e.init(e,t),RS.init(e,t)}),Ls=O("ZodISODateTime",(e,t)=>{d_.init(e,t),Te.init(e,t)}),Ds=O("ZodISODate",(e,t)=>{p_.init(e,t),Te.init(e,t)}),js=O("ZodISOTime",(e,t)=>{f_.init(e,t),Te.init(e,t)}),Ms=O("ZodISODuration",(e,t)=>{m_.init(e,t),Te.init(e,t)}),FN=O("ZodEmail",(e,t)=>{e_.init(e,t),Te.init(e,t)});var UN=O("ZodGUID",(e,t)=>{Xw.init(e,t),Te.init(e,t)});var nc=O("ZodUUID",(e,t)=>{Qw.init(e,t),Te.init(e,t)});var zS=O("ZodURL",(e,t)=>{n_.init(e,t),Te.init(e,t)});function qs(e){return lp(zS,e)}var WN=O("ZodEmoji",(e,t)=>{o_.init(e,t),Te.init(e,t)});var VN=O("ZodNanoID",(e,t)=>{s_.init(e,t),Te.init(e,t)});var ZN=O("ZodCUID",(e,t)=>{i_.init(e,t),Te.init(e,t)});var BN=O("ZodCUID2",(e,t)=>{a_.init(e,t),Te.init(e,t)});var KN=O("ZodULID",(e,t)=>{c_.init(e,t),Te.init(e,t)});var HN=O("ZodXID",(e,t)=>{u_.init(e,t),Te.init(e,t)});var GN=O("ZodKSUID",(e,t)=>{l_.init(e,t),Te.init(e,t)});var JN=O("ZodIPv4",(e,t)=>{h_.init(e,t),Te.init(e,t)});var YN=O("ZodIPv6",(e,t)=>{y_.init(e,t),Te.init(e,t)});var XN=O("ZodCIDRv4",(e,t)=>{b_.init(e,t),Te.init(e,t)});var QN=O("ZodCIDRv6",(e,t)=>{w_.init(e,t),Te.init(e,t)});var eL=O("ZodBase64",(e,t)=>{v_.init(e,t),Te.init(e,t)});var tL=O("ZodBase64URL",(e,t)=>{S_.init(e,t),Te.init(e,t)});var rL=O("ZodE164",(e,t)=>{k_.init(e,t),Te.init(e,t)});var nL=O("ZodJWT",(e,t)=>{x_.init(e,t),Te.init(e,t)});var oc=O("ZodNumber",(e,t)=>{tp.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ep(e,r,n,o),e.isFinite=!0},Rb({minValue:(e)=>{let{minimum:t,exclusiveMinimum:r}=ct(e);return Math.max(t??Number.NEGATIVE_INFINITY,r??Number.NEGATIVE_INFINITY)},maxValue:(e)=>{let{maximum:t,exclusiveMaximum:r}=ct(e);return Math.min(t??Number.POSITIVE_INFINITY,r??Number.POSITIVE_INFINITY)},isInt:(e)=>{let{isInt:t,multipleOf:r}=ct(e);return!!t||!!r?.some(Number.isSafeInteger)},format:(e)=>ct(e).format??null},{gt(e,t){return this.check(Ya(e,t))},gte(e,t){return this.check(Os(e,t))},min(e,t){return this.check(Os(e,t))},lt(e,t){return this.check(Ja(e,t))},lte(e,t){return this.check(Ts(e,t))},max(e,t){return this.check(Ts(e,t))},int(e){return this.check(PS(e))},safe(e){return this.check(PS(e))},positive(e){return this.check(Ya(0,e))},nonnegative(e){return this.check(Os(0,e))},negative(e){return this.check(Ja(0,e))},nonpositive(e){return this.check(Ts(0,e))},multipleOf(e,t){return this.check(Xa(e,t))},step(e,t){return this.check(Xa(e,t))},finite(){return this}}));function P(e){return Ov(oc,e)}var oL=O("ZodNumberFormat",(e,t)=>{$_.init(e,t),oc.init(e,t)});function PS(e){return Iv(oL,e)}var NS=O("ZodBoolean",(e,t)=>{E_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Tp(e,r,n,o)});function j(e){return Av(NS,e)}var sL=O("ZodNull",(e,t)=>{T_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Op(e,r,n,o)});function sc(e){return Rv(sL,e)}var iL=O("ZodAny",(e,t)=>{O_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ip(e,r,n,o)});function LS(){return Cv(iL)}var aL=O("ZodUnknown",(e,t)=>{P_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ap(e,r,n,o)});function re(){return zv(aL)}var cL=O("ZodNever",(e,t)=>{I_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Pp(e,r,n,o)});function uL(e){return Nv(cL,e)}var lL=O("ZodArray",(e,t)=>{Ns(),A_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Dp(e,r,n,o),e.element=t.element},{min(e,t){return this.check(no(e,t))},nonempty(e){return this.check(no(1,e))},max(e,t){return this.check(Qa(e,t))},length(e,t){return this.check(ec(e,t))},unwrap(){return this.element}});function x(e,t){return Lv(lL,e,t)}var ef=O("ZodObject",(e,t)=>{Ns(),z_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>jp(e,r,n,o),Vz(e,"shape",(r)=>r._zod.def.shape,!1)},{keyof(){return z(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(bt(this._zod.def,{catchall:e}))},passthrough(){return this.clone(bt(this._zod.def,{catchall:re()}))},loose(){return this.clone(bt(this._zod.def,{catchall:re()}))},strict(){return this.clone(bt(this._zod.def,{catchall:uL()}))},strip(){return this.clone(bt(this._zod.def,{catchall:void 0}))},extend(e){return Lz(this,e)},safeExtend(e){return Dz(this,e)},merge(e){return jz(this,e)},pick(e){return zz(this,e)},omit(e){return Nz(this,e)},partial(...e){return Ob(rf,this,e[0])},exactPartial(...e){return Ob(MS,this,e[0],"exactPartial")},required(...e){return Mz(qS,this,e[0])}});function b(e,t){let r={type:"object",shape:e??{},...U(t)};return new ef(r)}function xe(e,t){return new ef({type:"object",shape:e,catchall:re(),...U(t)})}var DS=O("ZodUnion",(e,t)=>{rp.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Mp(e,r,n,o),e.options=t.options});function ne(e,t){return new DS({type:"union",options:e,...U(t)})}var dL=O("ZodDiscriminatedUnion",(e,t)=>{DS.init(e,t),N_.init(e,t)});function vr(e,t,r){return new dL({type:"union",options:t,discriminator:e,...U(r)})}var pL=O("ZodIntersection",(e,t)=>{L_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>qp(e,r,n,o)});function ic(e,t){return new pL({type:"intersection",left:e,right:t})}var fL=O("ZodTuple",(e,t)=>{Ns(),D_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Fp(e,r,n,o)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw Error(".partial() cannot be used on tuple schemas containing refinements");return this.clone({...e,items:e.items.map((t)=>new rf({type:"optional",innerType:t}))})}});function mL(e,t,r){let n=t instanceof pe,o=n?r:t;return new fL({type:"tuple",items:e,rest:n?t:null,...U(o)})}var Xp=O("ZodRecord",(e,t)=>{Ns(),j_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Up(e,r,n,o),e.keyType=t.keyType,e.valueType=t.valueType});function J(e,t,r){if(!t||!t._zod)return new Xp({type:"record",keyType:p(),valueType:e,...U(t)});return new Xp({type:"record",keyType:e,valueType:t,...U(r)})}function tf(e,t,r){return new Xp({type:"record",keyType:e,valueType:t,...U(r),partial:!0})}var Qp=O("ZodEnum",(e,t)=>{M_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Rp(e,n,o,s),e.enum=t.entries,e.options=[...e._zod.values];let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw Error(`Key ${i} not found in enum`);return new Qp({...t,checks:[],...U(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let i of n)if(r.has(i))delete s[i];else throw Error(`Key ${i} not found in enum`);return new Qp({...t,checks:[],...U(o),entries:s})}});function z(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map((n)=>[n,n])):e;return new Qp({type:"enum",entries:r,...U(t)})}var hL=O("ZodLiteral",(e,t)=>{q_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Cp(e,r,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function C(e,t){return new hL({type:"literal",values:Array.isArray(e)?e:[e],...U(t)})}var gL=O("ZodTransform",(e,t)=>{Ns(),F_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Lp(e,r,n,o),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ss(e.constructor.name);r.addIssue=(s)=>{if(typeof s==="string")r.issues.push(On(s,r.value,t));else{let i=s;if(i.fatal)i.continue=!1;if(i.code??(i.code="custom"),!("input"in i))i.input=r.value;i.inst??(i.inst=e),r.issues.push(On(i))}};let o=t.transform(r.value,r);if(o instanceof Promise)return o.then((s)=>(r.value=s,r));return r.value=o,r}});function jS(e){return new gL({type:"transform",transform:e})}var rf=O("ZodOptional",(e,t)=>{np.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>tc(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function ke(e){return new rf({type:"optional",innerType:e})}var MS=O("ZodExactOptional",(e,t)=>{U_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>tc(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function yL(e){return new MS({type:"optional",innerType:e})}var bL=O("ZodNullable",(e,t)=>{W_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Wp(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function IS(e){return new bL({type:"nullable",innerType:e})}var wL=O("ZodDefault",(e,t)=>{V_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Bp(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function _L(e,t){return new wL({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():zd(t)}})}var vL=O("ZodPrefault",(e,t)=>{Z_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Kp(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function SL(e,t){return new vL({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():zd(t)}})}var qS=O("ZodNonOptional",(e,t)=>{B_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Vp(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function kL(e,t){return new qS({type:"nonoptional",innerType:e,...U(t)})}var xL=O("ZodCatch",(e,t)=>{K_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Hp(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function $L(e,t){return new xL({type:"catch",innerType:e,catchValue:typeof t==="function"?t:Cb(t)})}var FS=O("ZodPipe",(e,t)=>{op.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Gp(e,r,n,o),e.in=t.in,e.out=t.out});function AS(e,t){return new FS({type:"pipe",in:e,out:t})}var EL=O("ZodPreprocess",(e,t)=>{FS.init(e,t),H_.init(e,t)}),TL=O("ZodReadonly",(e,t)=>{G_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Jp(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function OL(e){return new TL({type:"readonly",innerType:e})}var PL=O("ZodTemplateLiteral",(e,t)=>{J_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>zp(e,r,n,o)});function IL(e,t){return new PL({type:"template_literal",parts:e,...U(t)})}var AL=O("ZodLazy",(e,t)=>{Y_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Yp(e,r,n,o),e.unwrap=()=>e._zod.def.getter()});function nf(e){return new AL({type:"lazy",getter:e})}var US=O("ZodCustom",(e,t)=>{X_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Np(e,r,n,o)});function ac(e,t){return Dv(US,e??(()=>!0),t)}function RL(e,t={}){return jv(US,e,t)}function CL(e,t){return Mv(e,t)}function Sr(e){let t=nf(()=>ne([p(e),P(),j(),sc(),x(t),J(p(),t)]));return t}function cc(e,t){return new EL({type:"pipe",in:jS(e),out:t})}var VS={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var WS;(function(e){})(WS||(WS={}));function ZS(e){return Ba(Ls,e)}function NL(e){return Ka(Ds,e)}function LL(e){return Ha(js,e)}function DL(e){return Ga(Ms,e)}function jL(e){return Pv(oc,e)}var KS={name:"@tripwire-sh/cli",version:"0.1.4",description:"Set up Tripwire in your coding agents and manage it from the terminal",type:"module",imports:{"#/*":"./src/*"},license:"MIT",repository:{type:"git",url:"git+https://github.com/Boring-Software-Inc/v2.git",directory:"apps/cli"},homepage:"https://tripwire.sh",bin:{tripwire:"dist/tripwire.js"},files:["dist"],engines:{node:">=20.12"},publishConfig:{access:"public"},scripts:{build:"bun build src/index.ts --target node --format esm --minify --outfile dist/tripwire.js",typecheck:"tsc --noEmit"},devDependencies:{"@clack/prompts":"^1.7.0","@modelcontextprotocol/sdk":"^1.32.1","@tripwire/contracts":"workspace:*",commander:"^14.0.3","jsonc-parser":"^3.3.1",picocolors:"^1.1.1",yaml:"^2.9.0",zod:"^4.0.0"}};var uc=KS.version,q="tripwire",Fs="tripwire-get-started",HS="tripwire-workflows",Us="tripwire-cli",qL="https://mcp.tripwire.sh/mcp",FL="https://app.tripwire.sh/api/auth",GS="offline_access tripwire:read tripwire:configure tripwire:moderate tripwire:admin";function ao(e){return e.TRIPWIRE_MCP_URL||qL}function JS(e){return(e.TRIPWIRE_AUTH_URL||FL).replace(/\/+$/,"")}var UL="urn:ietf:params:oauth:grant-type:device_code",WL=b({device_code:p(),user_code:p(),verification_uri:p(),verification_uri_complete:p().optional(),expires_in:P(),interval:P().optional()}),XS=b({access_token:p().min(1),refresh_token:p().min(1).optional(),expires_in:P().optional(),token_type:p().optional()}),sf=b({error:p(),error_description:p().optional()});class of extends Error{constructor(){super("Session expired. Run tripwire login.");this.name="SessionExpiredError"}}class Ws extends Error{constructor(){super("Tripwire is not reachable right now. Try again in a minute.");this.name="AuthUnreachableError"}}var QS={fetch:(e,t)=>fetch(e,t),sleep:(e)=>new Promise((t)=>setTimeout(t,e)),now:()=>Date.now()};async function lc(e,t,r){let n=await e.fetch(t,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded",accept:"application/json"},body:new URLSearchParams(r).toString()}),o=await n.text(),s={error:"invalid_response",error_description:o.slice(0,200)};try{let i=Sr().safeParse(JSON.parse(o));return{status:n.status,body:i.success?i.data:s,headers:n.headers}}catch{return{status:n.status,body:s,headers:n.headers}}}function ek(e,t){let r=sf.safeParse(e);if(!r.success)return Error(t);return Error(r.data.error_description?`${r.data.error}: ${r.data.error_description}`:r.data.error)}async function tk(e,t,r){let{status:n,body:o}=await lc(e,`${t}/device/code`,{client_id:Us,scope:GS,resource:r}),s=WL.safeParse(o);if(n>=400||!s.success)throw ek(o,`Device authorization failed (HTTP ${n})`);return s.data}function rk(e,t,r,n,o){let s=t.refresh_token??o;return{accessToken:t.access_token,refreshToken:s,expiresAt:t.expires_in?e.now()+t.expires_in*1000:void 0,mcpUrl:n,authUrl:r}}var YS=5000;function VL(e,t){let r=(e.get("retry-after")??e.get("x-retry-after"))?.trim();if(!r)return null;if(/^\d+$/.test(r))return Number(r)*1000;let n=Date.parse(r);return Number.isNaN(n)?null:Math.max(0,n-t)}async function nk(e,t,r,n){let o=(n.interval??5)*1000,s=null,i=e.now()+n.expires_in*1000;while(e.now()<i){await e.sleep(Math.min(Math.max(o,s??0),i-e.now())),s=null;let{status:a,body:c,headers:u}=await lc(e,`${t}/oauth2/token`,{grant_type:UL,device_code:n.device_code,client_id:Us,resource:r}),l=XS.safeParse(c);if(a<400&&l.success)return rk(e,l.data,t,r);if(a===429){if(s=VL(u,e.now()),s===null)o+=YS;continue}let d=sf.safeParse(c),f=d.success?d.data.error:"";if(f==="authorization_pending")continue;if(f==="slow_down"){o+=YS;continue}if(f==="access_denied")throw Error("Sign-in was denied in the browser");if(f==="expired_token")throw Error("The code expired. Run tripwire login again.");throw ek(c,`Token request failed (HTTP ${a})`)}throw Error("The code expired. Run tripwire login again.")}async function ok(e,t){if(!t.refreshToken)throw new of;let{status:r,body:n}=await lc(e,`${t.authUrl}/oauth2/token`,{grant_type:"refresh_token",refresh_token:t.refreshToken,client_id:Us,resource:t.mcpUrl}).catch(()=>{throw new Ws}),o=XS.safeParse(n);if(r>=400||!o.success){let s=sf.safeParse(n);throw(r===400||r===401)&&s.success&&s.data.error!=="invalid_response"?new of:new Ws}return rk(e,o.data,t.authUrl,t.mcpUrl,t.refreshToken)}async function sk(e,t){let r=t.refreshToken??t.accessToken;await lc(e,`${t.authUrl}/oauth2/revoke`,{token:r,client_id:Us}).catch(()=>{return})}import{stripVTControlCharacters as S2}from"node:util";var ZL=z(["pending","approved","rejected"]),Hoe=ZL.options;var Vs=[{id:"github",label:"GitHub",status:"live",signIn:"social",reviews:!0},{id:"opengit",label:"OpenGit",status:"live",paused:!0},{id:"gitlab",label:"GitLab",status:"planned"},{id:"origin",label:"ORIGIN",status:"planned"}];function ik(e){return e.status==="live"}var Zs=z(Vs.filter(ik).map((e)=>e.id)),Yoe=Vs.filter((e)=>ik(e)&&!("paused"in e)).map((e)=>e.label),Xoe=Vs.filter((e)=>e.status==="planned").map((e)=>e.label),Qoe=Vs.filter((e)=>("signIn"in e)).map((e)=>e.id);var BL=Object.fromEntries(Vs.map((e)=>[e.id,e]));var dc=b({owner:p(),name:p(),fullName:p()}),KL=b({id:p(),login:p(),name:p(),type:z(["Organization","User"]),avatarUrl:p(),repoAccess:z(["all","selected"]),repoCount:P(),installedAt:ve.datetime()}),HL=b({id:p(),owner:p(),name:p(),fullName:p(),private:j(),pushedAt:ve.datetime(),openFlags:P(),stars:P()}),rse=b({accounts:x(KL),repos:x(HL)});var Bs=z(["change-request.opened","change-request.updated","change-request.closed","comment.created","push","schedule.matched","installation.created","installation.deleted","installation-repositories.added","installation-repositories.removed"]),ak=b({login:p(),externalId:p(),avatarUrl:p().optional()}),af=b({number:P().int(),title:p(),headSha:p(),baseRef:p().optional(),headRef:p().optional(),draft:j().optional(),url:p()}),GL=b({externalId:p(),body:p(),url:p(),subjectNumber:P().int(),byTripwire:j().optional()}),JL=b({ref:p(),headSha:p(),commitCount:P().int(),url:p().optional()}),fc=z(["issue","change-request"]),YL=b({kind:fc,number:P().int(),title:p(),url:p(),state:z(["open","closed"]),author:p(),labels:x(p()),locked:j(),updatedAt:ve.datetime()}),XL=b({workflowId:p(),nodeId:p(),tickId:p()}),co={id:p(),forge:Zs,deliveryId:p(),repo:dc,repoExternalId:p().optional(),installationExternalId:p().optional(),actor:ak,occurredAt:ve.datetime(),receivedAt:ve.datetime()},pc={id:p(),forge:Zs,deliveryId:p(),actor:ak,occurredAt:ve.datetime(),receivedAt:ve.datetime(),installation:b({externalId:p(),account:p(),accountType:z(["User","Organization"]).optional()}),repositories:x(b({externalId:p(),owner:p(),name:p(),fullName:p(),private:j()}))},ck=vr("kind",[b({...co,kind:C("change-request.opened"),changeRequest:af}),b({...co,kind:C("change-request.updated"),changeRequest:af}),b({...co,kind:C("change-request.closed"),changeRequest:af}),b({...co,kind:C("comment.created"),comment:GL}),b({...co,kind:C("push"),push:JL}),b({...co,kind:C("schedule.matched"),schedule:XL,thread:YL}),b({...pc,kind:C("installation.created")}),b({...pc,kind:C("installation.deleted")}),b({...pc,kind:C("installation-repositories.added")}),b({...pc,kind:C("installation-repositories.removed")})]),QL=Bs.extract(["change-request.opened","change-request.updated","change-request.closed"]),ase=QL.options;var eD=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],tD=["sun","mon","tue","wed","thu","fri","sat"],rD=[{name:"minute",range:"0 to 59",min:0,max:59},{name:"hour",range:"0 to 23",min:0,max:23},{name:"day of month",range:"1 to 31",min:1,max:31},{name:"month",range:"1 to 12 or jan to dec",min:1,max:12,names:eD,nameBase:1},{name:"day of week",range:"0 to 7 or sun to sat",min:0,max:7,names:tD,nameBase:0}];function cf(e,t){let r=e.toLowerCase(),n=t.names?.indexOf(r)??-1;if(n>=0)return n+(t.nameBase??0);if(!/^\d+$/.test(e))return null;let o=Number(e);return o>=t.min&&o<=t.max?o:null}function nD(e,t){let r=new Set;for(let n of e.split(",")){let o=n.split("/"),[s="",i]=o;if(o.length>2||s.split("-").length>2)return{ok:!1,error:`${t.name} must be a number, a range like 1-5 or a step like */15`};let a=i===void 0?1:Number(i);if(!(Number.isInteger(a)&&a>=1))return{ok:!1,error:`${t.name} step must be a whole number of 1 or more, like */15`};let c,u;if(s==="*")c=t.min,u=t.max;else if(s.includes("-")){let[l="",d=""]=s.split("-");c=cf(l,t),u=cf(d,t)}else c=cf(s,t),u=i===void 0?c:t.max;if(c===null||u===null)return{ok:!1,error:`${t.name} must be ${t.range}`};if(c>u)return{ok:!1,error:`${t.name} range must go from low to high, like 1-5`};for(let l=c;l<=u;l+=a)r.add(l)}return{ok:!0,values:[...r].sort((n,o)=>n-o)}}function Pn(e){let t=e.trim().split(/\s+/);if(t.length!==5)return{ok:!1,error:"use five fields: minute hour day month weekday"};let r=[];for(let[u,l]of rD.entries()){let d=nD(t[u]??"",l);if(!d.ok)return d;r.push(d.values)}let[n=[],o=[],s=[],i=[],a=[]]=r,c=[...new Set(a.map((u)=>u===7?0:u))].sort((u,l)=>u-l);return{ok:!0,spec:{minutes:n,hours:o,days:s,months:i,weekdays:c,daysRestricted:!(t[2]??"*").startsWith("*"),weekdaysRestricted:!(t[4]??"*").startsWith("*")}}}function Ks(e){try{return new Intl.DateTimeFormat("en-US",{timeZone:e}),!0}catch{return!1}}var uk=new Map;function oD(e){let t=uk.get(e);if(t)return t;let r=new Intl.DateTimeFormat("en-US",{timeZone:e,hourCycle:"h23",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"});return uk.set(e,r),r}function df(e,t){let r=oD(t).formatToParts(e),n=(o)=>Number(r.find((s)=>s.type===o)?.value??"0");return{year:n("year"),month:n("month"),day:n("day"),hour:n("hour"),minute:n("minute")}}function uf(e,t){let r=df(new Date(e),t),n=Date.UTC(r.year,r.month-1,r.day,r.hour,r.minute),o=e-(e%60000+60000)%60000;return n-o}function lk(e,t){let r=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute),n=[r-uf(r-129600000,t),r-uf(r+129600000,t),r-uf(r,t)].sort((o,s)=>o-s);for(let o of n){let s=df(new Date(o),t);if(s.year===e.year&&s.month===e.month&&s.day===e.day&&s.hour===e.hour&&s.minute===e.minute)return new Date(o)}return null}function mc(e,t,r){let n=e.days.includes(t),o=e.weekdays.includes(r);if(e.daysRestricted&&e.weekdaysRestricted)return n||o;return n&&o}function sD(e,t){return mc(e,t.getUTCDate(),t.getUTCDay())}var iD=Array.from({length:217},(e,t)=>({day:t%31+1,weekday:Math.floor(t/31)}));function lf(e){let t=iD.map(({day:r,weekday:n})=>mc(e,r,n)?"1":"0").join("");return[e.minutes,e.hours,e.months].map((r)=>r.join(",")).concat(t).join(" ")}function dk(e,t){let r=Pn(e),n=Pn(t);return r.ok&&n.ok&&lf(r.spec)===lf(n.spec)}var aD=1830,cD=180;function uD(e,t){let r=lk(e,t);if(r)return r;let n=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute);for(let o=1;o<=cD;o++){let s=new Date(n+o*60000),i=lk({year:s.getUTCFullYear(),month:s.getUTCMonth()+1,day:s.getUTCDate(),hour:s.getUTCHours(),minute:s.getUTCMinutes()},t);if(i)return i}return null}function pk(e){let{minutes:t,hours:r}=e,n=t.slice(1).map((s,i)=>s-(t[i]??0));if(r.some((s)=>r.includes((s+1)%24)))n.push(60-(t.at(-1)??0)+(t[0]??0));return n.length>0?Math.min(...n):1440}function pf(e,t,r){let n=df(r,t),o=new Date(Date.UTC(n.year,n.month-1,n.day));for(let s=0;s<=aD;s++){if(e.months.includes(o.getUTCMonth()+1)&&sD(e,o))for(let i of e.hours)for(let a of e.minutes){let c=uD({year:o.getUTCFullYear(),month:o.getUTCMonth()+1,day:o.getUTCDate(),hour:i,minute:a},t);if(c&&c.getTime()>r.getTime())return c}o.setUTCDate(o.getUTCDate()+1)}return null}var Ot=5,je=nf(()=>ne([p(),P(),j(),sc(),x(je),J(p(),je)])),yc=b({x:P(),y:P()}),lD=z(["all-of","any-of","not"]),dD=z(["block","comment","label","request-review","send-to-moderation","webhook","discord","lock","close","remove-label","post-comment"]),pD=["comment"];function mk(e){return pD.includes(e)}var fse=b({url:qs().meta({secret:!0}).describe("webhook url"),signingSecret:p().min(1).optional().meta({secret:!0}).describe("signing secret")}),mse=b({url:qs().meta({secret:!0}).describe("discord webhook url")}),uo=15,bc=p().regex(/^[A-Za-z0-9](?:[A-Za-z0-9]|-(?=[A-Za-z0-9])){0,38}$/,{error:(e)=>`${String(e.input)} is not a GitHub username`}),ff=p().regex(/^[A-Za-z0-9][A-Za-z0-9_-]{0,99}$/,{error:(e)=>`${String(e.input)} is not a team slug`}),mf=b({id:P().int().positive().optional(),login:bc}),hse=b({id:P().int().positive(),login:bc,avatarUrl:p(),permission:p().min(1)}),gse=b({name:p().min(1),color:p().regex(/^[0-9a-fA-F]{6}$/),description:p().nullable()}),fD=cc((e)=>p().safeParse(e).success?{login:e}:e,mf);function hk(e,t){return e.id!==void 0&&t.id!==void 0?e.id===t.id:e.login.toLowerCase()===t.login.toLowerCase()}var Hs=b({reviewers:x(fD).max(uo,`ask at most ${uo} people`).default([]),teamReviewers:x(ff).max(uo,`ask at most ${uo} teams`).default([])}),gk=Hs.superRefine((e,t)=>{let r=e.reviewers.length+e.teamReviewers.length;if(r===0)t.addIssue({code:"custom",message:"add at least one person or team to ask"});if(r>uo)t.addIssue({code:"custom",message:`ask at most ${uo} people and teams`})}),Mr=b({labels:x(p().trim().min(1)).min(1,"choose at least one label")}),fk=5000,wc=b({message:p().trim().min(1,"write a message").max(fk,`keep it under ${fk} characters`)}),mD=z(["resolved","off-topic","too heated","spam"]),yk=b({reason:mD.optional()}),Gs={hours:3600000,days:86400000,weeks:604800000,months:2592000000};function hf(e){return e.n*Gs[e.unit]}var _c=52*Gs.weeks,hD=3650*Gs.days,gD=z(["hours","days","weeks"]),yD=z(["hours","days","weeks","months"]),bD=b({n:P().int().min(1),unit:gD}).refine((e)=>hf(e)<=_c,{message:"runs at least once a year"}),Yt="UTC",bk=p().min(1).refine(Ks,{error:(e)=>`${String(e.input)} is not an IANA timezone, like Europe/Berlin`}),hc=p().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"use 24-hour HH:MM, like 07:30"),gf=z(["sunday","monday","tuesday","wednesday","thursday","friday","saturday"]),wD=vr("preset",[b({preset:C("hourly"),minute:P().int().min(0).max(59)}),b({preset:C("daily"),at:hc}),b({preset:C("weekdays"),at:hc}),b({preset:C("weekly"),on:gf,at:hc}),b({preset:C("monthly"),day:P().int().min(1).max(28),at:hc})]),vc=b({cron:p().trim().superRefine((e,t)=>{let r=Pn(e);if(!r.ok){t.addIssue({code:"custom",message:r.error});return}if(pf(r.spec,"UTC",new Date(Date.UTC(2026,0,1)))===null)t.addIssue({code:"custom",message:"this cron never runs. Pick a day the month has"});if(pk(r.spec)<Ot)t.addIssue({code:"custom",message:`runs must be at least ${Ot} minutes apart`})})}),wk=ne([bD,wD,vc]),_k=b({n:P().int().min(1),unit:yD}).refine((e)=>hf(e)<=hD,{message:"10 years at most"}),vk=z(["open","closed","any"]),gc=x(p().min(1)),_D=b({subjects:x(fc).min(1),state:vk,inactiveFor:_k,labels:gc.optional(),excludeLabels:gc.optional(),skipLocked:j().default(!0)}),lo=b({every:wk,timezone:bk.optional(),match:_D}),vD=b({every:wk.optional(),timezone:bk.optional(),match:b({subjects:x(fc).optional(),state:vk.optional(),inactiveFor:_k.optional(),labels:gc.optional(),excludeLabels:gc.optional(),skipLocked:j().optional()}).default({})});var SD=["every","subjects","state","inactiveFor"];function Sk(e){return SD.filter((t)=>{if(!e)return!0;if(t==="every")return e.every===void 0;let r=e.match[t];return Array.isArray(r)?r.length===0:r===void 0})}var kD=b({id:p(),type:C("trigger"),kinds:x(Bs).min(1),schedule:vD.optional(),position:yc.optional()});function Sc(e){return e.type==="trigger"&&(e.kinds??[]).includes("schedule.matched")}var xD=b({id:p(),type:C("rule"),ref:p().regex(/^[a-z][a-z0-9-]*@\d+$/),config:je,position:yc.optional()}),$D=b({id:p(),type:C("gate"),mode:lD,position:yc.optional()}),ED=b({id:p(),type:C("action"),action:dD,params:J(p(),je).optional(),position:yc.optional()}),yf=vr("type",[kD,xD,$D,ED]),kk=z(["pass","fail","approve","deny"]),TD=b({id:p(),from:p(),to:p(),when:kk.optional()}),kr=b({id:p(),name:p(),version:P().int().min(1),nodes:x(yf).min(1),edges:x(TD)}),xk={id:"default@1",name:"default gate",version:1,nodes:[{id:"trigger",type:"trigger",kinds:["change-request.opened","change-request.updated"]},{id:"account-age",type:"rule",ref:"account-age@1",config:{minDays:7}},{id:"crypto",type:"rule",ref:"crypto-address@1",config:{}},{id:"honeypot",type:"rule",ref:"honeypot@1",config:{paths:[".github/workflows/**"]}},{id:"max-files",type:"rule",ref:"max-files-changed@1",config:{max:200}},{id:"english",type:"rule",ref:"english-only@1",config:{maxNonLatinRatio:0.5}},{id:"gate",type:"gate",mode:"all-of"},{id:"block",type:"action",action:"block"}],edges:[{id:"e1",from:"trigger",to:"account-age"},{id:"e2",from:"trigger",to:"crypto"},{id:"e3",from:"trigger",to:"honeypot"},{id:"e4",from:"trigger",to:"max-files"},{id:"e5",from:"trigger",to:"english"},{id:"e6",from:"account-age",to:"gate"},{id:"e7",from:"crypto",to:"gate"},{id:"e8",from:"honeypot",to:"gate"},{id:"e9",from:"max-files",to:"gate"},{id:"e10",from:"english",to:"gate"},{id:"e11",from:"gate",to:"block",when:"fail"}]};var $k=[{kind:"change-request.opened",name:"Change request opened",description:"Runs when someone opens a change request.",toolbox:!0},{kind:"change-request.updated",name:"Change request updated",description:"Runs when a change request gets new commits or edits.",toolbox:!0},{kind:"change-request.closed",name:"Change request closed",description:"Runs when a change request is closed.",toolbox:!0},{kind:"comment.created",name:"Comment created",description:"Runs when someone comments on a change request or issue.",toolbox:!0},{kind:"push",name:"Push",description:"Runs when commits are pushed to the repo.",toolbox:!0},{kind:"schedule.matched",name:"On a schedule",description:"Runs on a timer for issues and change requests that match.",toolbox:!0},{kind:"installation.created",name:"Installation created",description:"Internal event. Installations sync outside workflows.",toolbox:!1},{kind:"installation.deleted",name:"Installation deleted",description:"Internal event. Installations sync outside workflows.",toolbox:!1},{kind:"installation-repositories.added",name:"Repos added",description:"Internal event. Installations sync outside workflows.",toolbox:!1},{kind:"installation-repositories.removed",name:"Repos removed",description:"Internal event. Installations sync outside workflows.",toolbox:!1}],Ek=[{mode:"all-of",name:"All of",description:"Passes only when every connected check passes. A check that was never reached does not pass."},{mode:"any-of",name:"Any of",description:"Passes when at least one connected check passes. A check that was never reached does not pass."},{mode:"not",name:"Not",description:"Flips its input: pass becomes fail, and fail becomes pass."}],Tk=[{action:"block",name:"Block",description:"Fails the Tripwire check and requests changes. The change request stays open."},{action:"label",name:"Label",description:"Adds labels you choose to the change request."},{action:"request-review",name:"Request GitHub review",description:"Asks the people you choose to review on GitHub."},{action:"send-to-moderation",name:"Human review",description:"Waits for a maintainer to approve or block it in Tripwire."},{action:"webhook",name:"Webhook",description:"Posts the verdict as JSON to a URL you set."},{action:"lock",name:"Lock",description:"Locks the conversation so only maintainers can comment."},{action:"close",name:"Close",description:"Closes the issue or change request."},{action:"remove-label",name:"Remove label",description:"Removes labels you choose, if they are there."},{action:"post-comment",name:"Comment",description:"Posts a comment you write. It is separate from the verdict comment."},{action:"discord",name:"Discord",description:"Posts the verdict to a Discord channel you set."}];var _se=J(p(),je).catch({});function kc(e){if(e.length<=1)return e[0]??"";return`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`}function Ok(e){let t=Mr.safeParse(e);return t.success?t.data.labels:[]}function Pk(e){return`${e.length===1?"the label":"the labels"} ${kc(e)}`}function OD(e){let t=Hs.safeParse(e);if(!t.success)return[];return[...t.data.reviewers.map((r)=>r.login),...t.data.teamReviewers]}function Ik(e,t){switch(e){case"block":return"blocks it";case"label":{let r=Ok(t);return r.length>0?`adds ${Pk(r)}`:"adds labels"}case"remove-label":{let r=Ok(t);return r.length>0?`removes ${Pk(r)}`:"removes labels"}case"request-review":{let r=OD(t);return r.length>0?`requests GitHub review from ${kc(r)}`:"requests GitHub review"}case"send-to-moderation":return"sends it to human review";case"webhook":return"posts the verdict to a webhook";case"discord":return"posts the verdict to Discord";case"lock":return"locks the conversation";case"close":return"closes it";case"post-comment":return"posts your comment";default:return e}}var PD=b({runId:p(),verdict:p().nullable(),status:p(),reason:p().nullable()}),Ak=b({event:ck,run:PD.nullable(),pending:j().optional()}),ID=b({repoFullName:p(),subjectNumber:P().int(),title:p(),url:p().nullable(),actor:b({login:p(),avatarUrl:p().nullable()}),currentVerdict:p().nullable(),currentRunId:p().nullable(),latestActivityAt:ve.datetime(),eventCount:P().int(),timeline:x(Ak)}),AD=vr("type",[b({type:C("group"),group:ID}),b({type:C("event"),entry:Ak})]),xse=b({items:x(AD)});var RD=["tripwire:read","tripwire:configure","tripwire:moderate","tripwire:admin"],Tse=z(RD);var CD="https://tripwire.sh/orgs";var Ose=b({sub:p().min(1),azp:p().min(1).optional(),client_id:p().min(1).optional(),scope:p().optional(),[CD]:x(p()).optional()});var Ase=z(["ready","out"]),Rk=z(["ai-out-of-credits"]);var Rse=xe({statusCode:P().optional().catch(void 0),status:P().optional().catch(void 0),message:p().optional().catch(void 0),responseBody:p().optional().catch(void 0),lastError:re().optional(),cause:re().optional(),data:re().optional(),error:re().optional(),errors:x(re()).optional().catch(void 0)});var Cse=b({data:b({total_credits:P(),total_usage:P()})}),zse=b({data:b({limit:P().nullable().optional(),limit_remaining:P().nullable().optional(),usage:P().optional()})});var zD=z(["success","failure","neutral","pending"]),Dse=b({sha:p(),conclusion:zD,summary:p(),detailsUrl:p()});var ND=["matched-values","file-paths","ai-trace","ai-summary","reasons","rule-names","passed-count","failed-count"],LD=ND.length;var DD=P().int().min(0).max(LD),Ck=z(["run-page","check","comment","review","webhook"]),qse=Ck.options,jD=["run-page","check","comment","review"],xc=b({level:DD.default(0),surfaces:x(Ck).default(()=>[...jD]),showHelp:j().default(!0)}),zk=xc.extend({inherit:j().default(!0)}),MD=xc.parse({});var qD=z(["green","blue","purple","pink","orange","red","grey"]),xr=z(["issue","pull"]),Js=z(["open","closed","merged"]),Nk=b({key:p(),label:p(),value:P(),delta:P().optional(),invertDelta:j().optional(),sub:p().optional(),series:x(P()),color:qD,suffix:p().optional()}),FD=b({rule:p(),count:P()}),UD=b({kind:xr,number:P(),title:p(),comments:P(),blocked:P(),status:Js}),WD=b({login:p(),count:P(),flagged:j().optional()}),VD=b({login:p(),reason:p(),caughtBy:p(),status:z(["Hidden","Removed"]),commentId:p().optional()}),ZD=b({kind:z(["review","check"]),title:p(),detail:p(),status:z(["Approved","Changes","Passed","Failed"]),actor:p().optional()}),BD=b({kind:xr,number:P(),title:p(),status:Js,meta:p(),metrics:x(Nk),series:x(P()),byParticipant:x(WD),flagged:x(VD).optional(),checks:x(ZD).optional()}),Wse=b({metrics:x(Nk),blockedByRule:x(FD),activeThreads:x(UD),threads:J(p(),BD)});var fo=z(["issue","pull","comment"]),bf=z(["spam","harassment","off-topic","automod","nsfw"]),wf=z(["low","medium","high","critical"]),KD=z(["pending","resolved"]),po=b({login:p(),avatarUrl:p()}),Kse=b({id:p(),type:fo,repository:dc,number:P(),title:p(),bodyPreview:p(),author:po,reason:bf,severity:wf,reporter:po.nullable(),automodRule:p().optional(),reportedAt:ve.datetime(),status:KD,comments:P(),reactions:P()}).superRefine((e,t)=>{if(e.reporter===null&&e.automodRule===void 0)t.addIssue({code:"custom",path:["automodRule"],message:"automod-sourced items (reporter: null) must name the automodRule that fired"});if(e.reporter!==null&&e.automodRule!==void 0)t.addIssue({code:"custom",path:["automodRule"],message:"human-reported items (reporter set) must not carry an automodRule"})}),qr=b({value:P(),delta:P(),series:x(P())}),Hse=b({sentToReview:qr,blocked:qr,passed:qr}),Gse=z(["approve","remove","ban"]);var HD=z(["info","warn","critical"]),GD=b({severity:HD,file:p(),line:P().int().min(1).optional(),note:p().max(240)}),Xse=b({verdict:z(["pass","block","needs_review"]),confidence:P().min(0).max(1),summary:p().max(200),findings:x(GD).max(5)}),Lk=b({model:p().optional(),maxSteps:P().int().min(1).max(15).default(12)});var JD=b({type:z(["reasoning","tool_call"]),toolName:p().optional(),excerpt:p(),truncated:j()}),Qse=b({model:p(),stepsUsed:P().int().min(0),maxSteps:P().int().min(0),trimmed:j(),costUsd:P().nullable().optional(),usage:b({input:P().int().min(0),output:P().int().min(0),cached:P().int().min(0).nullable()}),steps:x(JD)});var YD=z(["blocklist","heuristic","classifier","regex"]),XD=z(["flag","hide","close","require-review"]),QD=z(["pending","confirmed","false-positive"]),ej=b({id:p(),type:fo,repoFullName:p(),number:P(),author:b({login:p(),avatarUrl:p()}),snippet:p(),matchedAt:ve.datetime(),verdict:QD,threadKind:xr,commentId:p()}),cie=b({id:p(),name:p(),description:p(),category:YD,pattern:p(),scope:x(fo),action:XD,enabled:j(),matches24h:P(),matches30d:P(),falsePositiveRate:P().min(0).max(100),lastFiredAt:ve.datetime(),trend:x(P()),recentMatches:x(ej)}),uie=b({activeRules:qr,matches24h:qr,falsePositiveRate:qr,autoActioned24h:qr}),tj=b({ruleId:p(),version:P().int().min(1),status:z(["evaluated","skipped"]),passed:j(),evidence:re(),reason:p().optional(),cause:Rk.optional(),evaluatedAt:ve.datetime()}),lie=tj.pick({ruleId:!0});var rj=b({minDays:P().int().min(0)}),die=b({min:P().int().min(0)}),nj=b({min:P().int().min(0).default(1).describe("minimum merged change requests in other people's repos"),trustedAfter:P().int().min(1).default(1).describe("merges in this repo that exempt a proven local contributor")}),oj=b({maxPerWindow:P().int().min(1),windowHours:P().min(0.1).default(24)}),sj=b({max:P().int().min(1)}),ij=b({maxNonLatinRatio:P().min(0).max(1).default(0.5)}),aj=b({}),cj=b({paths:x(p()).min(1)}),uj=b({minLength:P().int().min(1).default(32)}),He=[{ruleId:"account-age",forges:["github"],version:1,name:"Account age",blurb:"the contributor's forge account must be at least N days old.",configSchema:rj,defaultConfig:{minDays:7},optIn:!1,description:"Flags change requests from accounts younger than a threshold you set.",contributorLabel:"your account is too new for this repository."},{ruleId:"min-merged-prs",forges:["github"],version:2,name:"Merged change requests",blurb:"requires N merged change requests in OTHER people's repos, as proof that someone else accepted their work.",configSchema:nj,defaultConfig:{min:1,trustedAfter:1},optIn:!1,changeNote:"counts merges globally, not per-repo",description:"Requires N merged change requests in other people's repos, as proof that someone else accepted their work.",contributorLabel:"you need merged change requests in other people's repositories first."},{ruleId:"pr-rate-limit",forges:["github"],version:1,name:"Rate limit",blurb:"caps change requests per window; spray patterns surface in evidence.",configSchema:oj,defaultConfig:{maxPerWindow:5,windowHours:24},optIn:!1,description:"Caps how many change requests one person can open in a time window.",contributorLabel:"you opened too many change requests in a short time."},{ruleId:"max-files-changed",forges:["github"],version:1,name:"Max files changed",blurb:"caps the number of files a change request may touch.",configSchema:sj,defaultConfig:{max:200},optIn:!1,description:"Flags change requests that touch more files than you allow.",contributorLabel:"this change request changes too many files. Split it into smaller ones."},{ruleId:"english-only",version:1,name:"English only",blurb:"title/comment must be predominantly latin-script.",configSchema:ij,defaultConfig:{maxNonLatinRatio:0.5},optIn:!1,description:"Flags titles and comments that aren't mostly latin script.",contributorLabel:"write the title and comments in English.",evidenceRedaction:{"matched-values":["sample"]}},{ruleId:"crypto-address",forges:["github"],version:1,name:"Crypto address",blurb:"blocks cryptocurrency addresses in titles, comments, and diffs.",configSchema:aj,defaultConfig:{},optIn:!1,description:"Catches cryptocurrency addresses in titles, comments, and diffs.",contributorLabel:"this change request adds crypto wallet addresses. Remove them.",summaryReveals:["file-paths"],evidenceRedaction:{"matched-values":["matches.*.value"],"file-paths":["matches.*.location"]}},{ruleId:"honeypot",forges:["github"],version:1,name:"Honeypot paths",blurb:"no legitimate change request touches these paths.",configSchema:cj,defaultConfig:{paths:[".github/workflows/**"]},optIn:!1,description:"Catches change requests that touch paths no legitimate change would.",contributorLabel:"this change request changes protected files. Undo those changes.",evidenceRedaction:{"file-paths":["touched"]}},{ruleId:"profile-readme",forges:["github"],version:1,name:"Profile README",blurb:"requires a minimum of profile text, which shows identity investment.",configSchema:uj,defaultConfig:{minLength:32},optIn:!1,description:"Requires a minimum of profile text. Throwaway accounts rarely add one.",contributorLabel:"add a short bio to your profile."},{ruleId:"ai-review",forges:["github"],version:2,name:"AI review",blurb:"reads the change like a reviewer and flags slop.",configSchema:Lk,defaultConfig:{maxSteps:12},optIn:!0,changeNote:"findings must quote code",description:"Reads the change like a reviewer and flags slop.",contributorLabel:"this change request has problems a reviewer would flag.",summaryReveals:["ai-summary"],evidenceRedaction:{"matched-values":["output.findings.*.note"],"file-paths":["output.findings.*.file","output.findings.*.line"]}}];var wie=J(p(),je);var pj=z(["silent","ci-check","comment"]),Dk=z(["comment","silent"]),fj=z(["full","one-liner-link","custom"]),_f=b({customText:p().max(4000).default(""),showDetailsButton:j().default(!0)}),mj=_f.extend({mode:fj.default("full"),template:p().max(4000).default("")}),hj=b({onSuccess:pj.default("ci-check"),passComment:_f.prefault({}),onBlock:Dk.default("comment"),blockComment:mj.prefault({}),moderationQueued:Dk.default("comment"),reviewComment:_f.prefault({}),failClosedFallback:j().default(!0),redaction:zk.prefault({})}),gj=b({redaction:xc.prefault({})}),kie=gj.parse({});var yj=hj.parse({});var jk="If you think this is wrong, say so in a comment. A maintainer will decide.",Mk="If you think it should merge anyway, say so in a comment. A maintainer will decide.",Lie=`Push a commit that fixes the problems. Tripwire checks every push.
|
|
228
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let i of e.seen.entries()){let a=i[1];if(t===i[0]){s(i);continue}if(e.external){let u=e.external.registry.get(i[0])?.id;if(t!==i[0]&&u){s(i);continue}}if(e.metadataRegistry.get(i[0])?.id){s(i);continue}if(a.cycle){s(i);continue}if(a.count>1){if(e.reused==="ref")s(i)}}if(e.external)e.sharedDefsExtractedFor=e.external}function mS(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let r=[];for(let n of t){if(!n||typeof n!=="object")return;mS(n);let o=Object.keys(n);if(o.length!==1||o[0]!=="type")return;let s=n.type;for(let i of Array.isArray(s)?s:[s]){if(typeof i!=="string")return;if(!r.includes(i))r.push(i)}}delete e.anyOf,e.type=r.length===1?r[0]:r}var hS=new Set(["type","properties","required","additionalProperties"]),pS=["oneOf","anyOf"];function fS(e){let t=e.additionalProperties;if(t===void 0||t===!1||typeof t!=="object"||t===null)return null;return Object.keys(t).length?t:null}function jp(e){let t=[];for(let s of e){if(typeof s!=="object"||s.type!=="object")return null;for(let i in s)if(!hS.has(i))return null;t.push(s)}let r={},n=new Set;for(let s of t){for(let i in s.properties){if(Object.prototype.hasOwnProperty.call(r,i))continue;let a=[];for(let u of t){let l=u.properties?.[i]??fS(u);if(l===null||l===void 0)continue;if(!a.some((d)=>JSON.stringify(d)===JSON.stringify(l)))a.push(l)}let c=a.length===1?a[0]:jp(a)??{allOf:a};wt(r,i,c)}for(let i of s.required??[])n.add(i)}let o={type:"object",properties:r};if(n.size)o.required=[...n];if(t.every((s)=>s.additionalProperties===!1))o.additionalProperties=!1;else{let s=[];for(let i of t){let a=fS(i);if(a&&!s.some((c)=>JSON.stringify(c)===JSON.stringify(a)))s.push(a)}if(s.length===1)o.additionalProperties=s[0];else if(s.length>1)o.additionalProperties={allOf:s}}return o}function hL(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let o of hS)if(o in e)return;let r=t.filter((o)=>pS.some((s)=>Array.isArray(o[s]))),n=null;if(!r.length)n=jp(t);else{let o=r[0],s=pS.find((c)=>Array.isArray(o[c]));if(Object.keys(o).length!==1)return;let i=t.filter((c)=>c!==o),a=o[s].map((c)=>jp([...i,c]));if(a.some((c)=>!c))return;n={[s]:a}}if(!n)return;delete e.allOf,Ns(e,n)}function Ms(e,t){let r=e.seen.get(t);if(!r)throw Error("Unprocessed schema. This is a bug in Zod.");let n=(a)=>{let c=e.seen.get(a);if(c.ref===null)return;let u=c.def??c.schema,l={...u},d=c.ref;if(c.ref=null,d){n(d);let m=e.seen.get(d),h=m.schema;if(h.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"))u.allOf=u.allOf??[],u.allOf.push(h);else Ns(u,h);if(Ns(u,l),a._zod.parent===d)for(let y in u){if(y==="$ref"||y==="allOf")continue;if(!(y in l))delete u[y]}if(h.$ref&&m.def)for(let y in u){if(y==="$ref"||y==="allOf")continue;if(y in m.def&&JSON.stringify(u[y])===JSON.stringify(m.def[y]))delete u[y]}}let f=a._zod.parent;if(f&&f!==d){n(f);let m=e.seen.get(f);if(m?.schema.$ref){if(u.$ref=m.schema.$ref,m.def)for(let h in u){if(h==="$ref"||h==="allOf")continue;if(h in m.def&&JSON.stringify(u[h])===JSON.stringify(m.def[h]))delete u[h]}}}e.override({zodSchema:a,jsonSchema:u,path:c.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let a of[...e.seen.entries()].reverse())n(a[0]);if(e.target!=="openapi-3.0")for(let a of e.seen.entries())mS(a[1].def??a[1].schema);for(let a of e.deferred)a();if(e.intersections.length){let a=new Map;for(let c of e.seen.values())for(let u of[c.schema,c.def]){let l=u?.allOf;if(!Array.isArray(l))continue;let d=a.get(l);if(d)d.push(u);else a.set(l,[u])}for(let c of e.intersections)for(let u of a.get(c)??[])hL(u)}}let o={};if(e.target==="draft-2020-12")o.$schema="https://json-schema.org/draft/2020-12/schema";else if(e.target==="draft-07")o.$schema="http://json-schema.org/draft-07/schema#";else if(e.target==="draft-04")o.$schema="http://json-schema.org/draft-04/schema#";else if(e.target==="openapi-3.0");if(e.external?.uri){let a=e.external.registry.get(t)?.id;if(!a)throw Error("Schema is missing an `id` property");o.$id=e.external.uri(a)}Ns(o,r.defId?r.schema:r.def??r.schema);let s=e.metadataRegistry.get(t)?.id;if(s!==void 0&&o.id===s)delete o.id;let i=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let a of e.seen.entries()){let c=a[1];if(c.def&&c.defId){if(c.def.id===c.defId)delete c.def.id;wt(i,c.defId,c.def)}}if(e.external)e.sharedEmitDoneFor=e.external;if(e.external);else if(Object.keys(i).length>0)if(e.target==="draft-2020-12")o.$defs=i;else o.definitions=i;try{let a=JSON.parse(JSON.stringify(o));return Object.defineProperty(a,"~standard",{value:{...t["~standard"],jsonSchema:{input:Ls(t,"input",e.processors),output:Ls(t,"output",e.processors)}},enumerable:!1,writable:!1}),a}catch(a){throw Error("Error converting schema to JSON.")}}function nt(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return nt(n.element,r);if(n.type==="set")return nt(n.valueType,r);if(n.type==="lazy")return nt(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault"||n.type==="catch")return nt(n.innerType,r);if(n.type==="intersection")return nt(n.left,r)||nt(n.right,r);if(n.type==="record"||n.type==="map")return nt(n.keyType,r)||nt(n.valueType,r);if(n.type==="pipe"){if(e._zod.traits.has("$ZodCodec"))return!0;return nt(n.in,r)||nt(n.out,r)}if(n.type==="object"){for(let o in n.shape)if(nt(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(nt(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(nt(o,r))return!0;if(n.rest&&nt(n.rest,r))return!0;return!1}return!1}var gS=(e,t={})=>(r)=>{let n=js({...r,processors:t});return be(e,n),Ds(n,e),Ms(n,e)},Ls=(e,t,r={})=>(n)=>{let{libraryOptions:o,target:s}=n??{},i=js({...o??{},target:s,io:t,processors:r});return be(e,i),Ds(i,e),Ms(i,e)};var po=(e,t,r)=>{if(e[t]===void 0||r>e[t])e[t]=r},fo=(e,t,r)=>{if(e[t]===void 0||r<e[t])e[t]=r},yS=(e,t)=>{po(e,"minimum",t),fo(e,"maximum",t)},SS=(e,t)=>{if(e.multipleOf??(e.multipleOf=[]),!e.multipleOf.includes(t))e.multipleOf.push(t)},kS=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},xS=(e,t)=>{e.mime=e.mime?e.mime.filter((r)=>t.includes(r)):[...t]},$S=(e,t)=>{if(e.format=t,t.includes("int"))e.isInt=!0},wS=(e,t)=>po(e,"minimum",t.minimum),bS=(e,t)=>fo(e,"maximum",t.maximum),_S=(e)=>(t,r)=>{$S(t,r.format);let[n,o]=e[r.format];po(t,"minimum",n),fo(t,"maximum",o)},gL={greater_than:(e,t)=>po(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>fo(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>SS(e,t.value),number_format:_S(Oa),bigint_format:_S(Yd),min_length:wS,max_length:bS,length_equals:(e,t)=>yS(e,t.length),min_size:wS,max_size:bS,size_equals:(e,t)=>yS(e,t.size),string_format:(e,t)=>{if($S(e,t.format),t.pattern)kS(e,t.pattern);if(t.format==="base64"||t.format==="base64url")e.contentEncoding=t.format;if(t.local||t.precision===-1)e.laxFormat=!0},mime_type:(e,t)=>xS(e,t.mime)};function ct(e){let t={},r=e._zod.def,n=e._zod.traits.has("$ZodCheck")?[e,...r.checks??[]]:r.checks??[];for(let s of n)gL[s._zod.def.check]?.(t,s._zod.def);let o=e._zod.bag;if(o.minimum!==void 0)po(t,"minimum",o.minimum);if(o.exclusiveMinimum!==void 0)po(t,"exclusiveMinimum",o.exclusiveMinimum);if(o.maximum!==void 0)fo(t,"maximum",o.maximum);if(o.exclusiveMaximum!==void 0)fo(t,"exclusiveMaximum",o.exclusiveMaximum);if(o.multipleOf!==void 0)SS(t,o.multipleOf);if(o.format!==void 0){if(t.format??(t.format=o.format),o.format.includes("int"))t.isInt=!0}if(o.mime)xS(t,o.mime);for(let s of o.patterns??[])kS(t,s);return t}var yL={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},wL=new Map([[hp,Nb],[Ka,Lb]]),ES=(e)=>wL.get(e)??e,qp=(e,t,r,n)=>{let o=r;o.type="string";let{minimum:s,maximum:i,format:a,patterns:c,contentEncoding:u,laxFormat:l}=ct(e);if(typeof s==="number")o.minLength=s;if(typeof i==="number")o.maxLength=i;if(a){if(o.format=yL[a]??a,o.format==="")delete o.format;if(a==="time"||l)delete o.format}if(u)o.contentEncoding=u;if(c&&c.size>0){let d=[...c].map(ES);if(d.length===1)o.pattern=d[0].source;else if(d.length>1)o.allOf=[...d.map((f)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:f.source}))]}},Fp=(e,t,r,n)=>{let o=r,{minimum:s,maximum:i,multipleOf:a,exclusiveMaximum:c,exclusiveMinimum:u,isInt:l}=ct(e);o.type=l?"integer":"number";let d=typeof u==="number"&&u>=(s??Number.NEGATIVE_INFINITY),f=typeof c==="number"&&c<=(i??Number.POSITIVE_INFINITY),m=t.target==="draft-04"||t.target==="openapi-3.0";if(d)if(m)o.minimum=u,o.exclusiveMinimum=!0;else o.exclusiveMinimum=u;else if(typeof s==="number")o.minimum=s;if(f)if(m)o.maximum=c,o.exclusiveMaximum=!0;else o.exclusiveMaximum=c;else if(typeof i==="number")o.maximum=i;if(a){let h=new Set;for(let b of a)if(Number.isFinite(b)&&b!==0)h.add(Math.abs(b));else Ve(e,t,o,n,`A multipleOf divisor of ${b} cannot be represented in JSON Schema`);let[g,...y]=h;if(g!==void 0)o.multipleOf=g;if(y.length)o.allOf=[...o.allOf??[],...y.map((b)=>({multipleOf:b}))]}},Up=(e,t,r,n)=>{r.type="boolean"},TS=(e,t,r,n)=>{Ve(e,t,r,n,"BigInt cannot be represented in JSON Schema")},PS=(e,t,r,n)=>{Ve(e,t,r,n,"Symbols cannot be represented in JSON Schema")},Wp=(e,t,r,n)=>{if(t.target==="openapi-3.0")r.type="string",r.nullable=!0,r.enum=[null];else r.type="null"},OS=(e,t,r,n)=>{Ve(e,t,r,n,"Undefined cannot be represented in JSON Schema")},IS=(e,t,r,n)=>{Ve(e,t,r,n,"Void cannot be represented in JSON Schema")},Vp=(e,t,r,n)=>{r.not={}},Zp=(e,t,r,n)=>{},Bp=(e,t,r,n)=>{},RS=(e,t,r,n)=>{Ve(e,t,r,n,"Date cannot be represented in JSON Schema")},Kp=(e,t,r,n)=>{let o=e._zod.def,s=xs(o.entries);if(s.length===0){r.not={};return}if(s.every((i)=>typeof i==="number"))r.type="number";if(s.every((i)=>typeof i==="string"))r.type="string";r.enum=s},Hp=(e,t,r,n)=>{let o=e._zod.def;if(o.values.length===0){r.not={};return}let s=[];for(let i of o.values)if(i===void 0){if(Ve(e,t,r,n,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof i==="bigint"){if(Ve(e,t,r,n,"BigInt literals cannot be represented in JSON Schema"))return;s.push(Number(i))}else s.push(i);if(s.length===0);else if(s.length===1){let i=s[0];if(r.type=i===null?"null":typeof i,t.target==="draft-04"||t.target==="openapi-3.0")r.enum=[i];else r.const=i}else{if(s.every((i)=>typeof i==="number"))r.type="number";if(s.every((i)=>typeof i==="string"))r.type="string";if(s.every((i)=>typeof i==="boolean"))r.type="boolean";if(s.every((i)=>i===null))r.type="null";r.enum=s}},AS=(e,t,r,n)=>{Ve(e,t,r,n,"NaN cannot be represented in JSON Schema")},Gp=(e,t,r,n)=>{let o=r,s=e._zod.pattern;if(!s)throw Error("Pattern not found in template literal");o.type="string",o.pattern=s.source},CS=(e,t,r,n)=>{let o=r;o.type="string",o.format="binary",o.contentEncoding="binary";let{minimum:s,maximum:i,mime:a}=ct(e);if(s!==void 0)o.minLength=s;if(i!==void 0)o.maxLength=i;if(!a)return;if(a.length===0)o.not={};else if(a.length===1)o.contentMediaType=a[0];else o.anyOf=a.map((c)=>({contentMediaType:c}))},zS=(e,t,r,n)=>{r.type="boolean"},Jp=(e,t,r,n)=>{Ve(e,t,r,n,"Custom types cannot be represented in JSON Schema")},NS=(e,t,r,n)=>{Ve(e,t,r,n,"Function types cannot be represented in JSON Schema")},Yp=(e,t,r,n)=>{Ve(e,t,r,n,"Transforms cannot be represented in JSON Schema")},LS=(e,t,r,n)=>{Ve(e,t,r,n,"Map cannot be represented in JSON Schema")},jS=(e,t,r,n)=>{Ve(e,t,r,n,"Set cannot be represented in JSON Schema")},Xp=(e,t,r,n)=>{let o=r,s=e._zod.def,{minimum:i,maximum:a}=ct(e);if(typeof i==="number")o.minItems=i;if(typeof a==="number")o.maxItems=a;o.type="array",o.items=be(s.element,t,{...n,path:[...n.path,"items"]})};function qs(e){let t=e._zod.def;if(t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform"))return qs(t.out);if(t.type==="catch")return qs(t.innerType);return e._zod.optin}var Qp=(e,t,r,n)=>{let o=r,s=e._zod.def,i=s.shape;if(Object.getOwnPropertySymbols(i).length&&Ve(e,t,o,n,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(let u in i)wt(o.properties,u,be(i[u],t,{...n,path:[...n.path,"properties",u]}));let c=[];for(let u of Object.keys(i)){let l=s.shape[u];if(t.io==="input"?qs(l)===void 0:l._zod.optout===void 0)c.push(u)}if(c.length>0)o.required=c;if(s.catchall?._zod.def.type==="never")o.additionalProperties=!1;else if(!s.catchall){if(t.io==="output")o.additionalProperties=!1}else if(s.catchall)o.additionalProperties=be(s.catchall,t,{...n,path:[...n.path,"additionalProperties"]})},ef=(e,t,r,n)=>{let o=e._zod.def,s=o.inclusive===!1,i=o.options.map((a,c)=>be(a,t,{...n,path:[...n.path,s?"oneOf":"anyOf",c]}));if(s)r.oneOf=i;else r.anyOf=i},tf=(e,t,r,n)=>{let o=e._zod.def,s=be(o.left,t,{...n,path:[...n.path,"allOf",0]}),i=be(o.right,t,{...n,path:[...n.path,"allOf",1]}),a=(u)=>("allOf"in u)&&Object.keys(u).length===1,c=[...a(s)?s.allOf:[s],...a(i)?i.allOf:[i]];r.allOf=c,t.intersections.push(c)},rf=(e,t,r,n)=>{let o=r,s=e._zod.def;o.type="array";let i=t.target==="draft-2020-12"?"prefixItems":"items",a=t.target==="draft-2020-12"?"items":t.target==="openapi-3.0"?"items":"additionalItems",c=s.items.map((g,y)=>be(g,t,{...n,path:[...n.path,i,y]})),u=s.rest?be(s.rest,t,{...n,path:[...n.path,a,...t.target==="openapi-3.0"?[s.items.length]:[]]}):null,l=s.items.length;while(l>0){let g=s.items[l-1];if(!(t.io==="input"?qs(g)!==void 0:g._zod.optout==="optional"))break;l--}let d=s.items.length,f=!s.rest;if(t.target==="draft-2020-12"){if(o.prefixItems=c,f)o.items=!1;else if(u)o.items=u;if(l>0)o.minItems=l;if(f)o.maxItems=d}else if(t.target==="openapi-3.0"){if(o.items={anyOf:c},u)o.items.anyOf.push(u);if(l>0)o.minItems=l;if(f)o.maxItems=d}else{if(o.items=c,f)o.additionalItems=!1;else if(u)o.additionalItems=u;if(l>0)o.minItems=l;if(f)o.maxItems=d}let{minimum:m,maximum:h}=ct(e);if(typeof m==="number")o.minItems=m;if(typeof h==="number")o.maxItems=h};function Dp(e,t,r){if(t.$ref){if(r.has(t))return t;r.add(t);let h=e.get(t)?.def;if(!h)return t;let g=Dp(e,h,r);return g===h?t:g}for(let h of["anyOf","oneOf"]){let g=t[h];if(!Array.isArray(g))continue;let y=g.map((b)=>Dp(e,b,r));if(y.some((b,E)=>b!==g[E]))t={...t,[h]:y}}let n=Array.isArray(t.type)?t.type:[t.type],o=!n.includes("string")&&n.some((h)=>h==="number"||h==="integer"),s=t.enum??(t.const!==void 0?[t.const]:void 0);if(!o&&!s?.some((h)=>typeof h==="number"))return t;let{minimum:i,maximum:a,exclusiveMinimum:c,exclusiveMaximum:u,multipleOf:l,format:d,id:f,...m}=t;if(m.enum)m.enum=m.enum.map((h)=>typeof h==="number"?String(h):h);else if(typeof m.const==="number")m.const=String(m.const);if(!o)return m;if(m.type="string",!s)m.pattern=(n.includes("number")?co:Fa).source;return m}var Mp=new WeakMap;function bL(e){let t=new Map;for(let n of e.seen.values())if(n.def&&!t.has(n.schema))t.set(n.schema,n);let r=new Map;for(let n of Mp.get(e)??[]){let o=e.seen.get(n),s=(o?.def??o?.schema)?.propertyNames;if(!s||s===!0||r.has(s))continue;let i=Dp(t,s,new Set);if(i!==s)r.set(s,i)}if(!r.size)return;for(let n of e.seen.values())for(let o of[n.schema,n.def]){let s=o&&r.get(o.propertyNames);if(s)o.propertyNames=s}}var nf=(e,t,r,n)=>{let o=r,s=e._zod.def;o.type="object";let i=s.keyType,a=ct(i).patterns;if(s.mode==="loose"&&a&&a.size>0){let l=be(s.valueType,t,{...n,path:[...n.path,"patternProperties","*"]});o.patternProperties={};for(let d of a)wt(o.patternProperties,ES(d).source,l)}else{if(t.target==="draft-07"||t.target==="draft-2020-12"){o.propertyNames=be(s.keyType,t,{...n,path:[...n.path,"propertyNames"]});let l=Mp.get(t);if(!l)l=[],Mp.set(t,l),t.deferred.push(()=>bL(t));l.push(e)}o.additionalProperties=be(s.valueType,t,{...n,path:[...n.path,"additionalProperties"]})}let c=i._zod.values,u=t.io==="input"&&qs(s.valueType)!==void 0;if(c&&!s.partial&&!u){let l=[...c].filter((d)=>typeof d==="string"||typeof d==="number");if(l.length>0)o.required=l.map(String)}},of=(e,t,r,n)=>{let o=e._zod.def,s=be(o.innerType,t,n),i=t.seen.get(e);if(t.target==="openapi-3.0")i.ref=o.innerType,r.nullable=!0;else r.anyOf=[s,{type:"null"}]},sf=(e,t,r,n)=>{let o=e._zod.def;be(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType},af=Symbol();function DS(e,t,r,n,o){let s=!1,i=JSON.stringify(e,(a,c)=>{if(typeof c!=="bigint")return c;return s=!0,null});if(!s)return JSON.parse(i);return Ve(t,r,n,o,"BigInt defaults cannot be represented in JSON Schema"),af}var cf=(e,t,r,n)=>{let o=e._zod.def;be(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType;let i=DS(o.defaultValue,e,t,r,n);if(i!==af)r.default=i},uf=(e,t,r,n)=>{let o=e._zod.def;be(o.innerType,t,n);let s=t.seen.get(e);if(s.ref=o.innerType,t.io!=="input")return;let i=DS(o.defaultValue,e,t,r,n);if(i!==af)r._prefault=i},lf=(e,t,r,n)=>{let o=e._zod.def;be(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType;let i;try{i=o.catchValue(void 0)}catch{Ve(e,t,r,n,"Dynamic catch values are not supported in JSON Schema");return}r.default=i},df=(e,t,r,n)=>{let o=e._zod.def,s=o.in._zod.traits.has("$ZodTransform"),i=t.io==="input"?s?o.out:o.in:o.out;be(i,t,n);let a=t.seen.get(e);a.ref=i},pf=(e,t,r,n)=>{let o=e._zod.def;be(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType,r.readOnly=!0},MS=(e,t,r,n)=>{let o=e._zod.def;be(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType},ac=(e,t,r,n)=>{let o=e._zod.def;be(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType},ff=(e,t,r,n)=>{let o=e._zod.innerType;be(o,t,n);let s=t.seen.get(e);s.ref=o},vS={string:qp,number:Fp,boolean:Up,bigint:TS,symbol:PS,null:Wp,undefined:OS,void:IS,never:Vp,any:Zp,unknown:Bp,date:RS,enum:Kp,literal:Hp,nan:AS,template_literal:Gp,file:CS,success:zS,custom:Jp,function:NS,transform:Yp,map:LS,set:jS,array:Xp,object:Qp,union:ef,intersection:tf,tuple:rf,record:nf,nullable:of,nonoptional:sf,default:cf,prefault:uf,catch:lf,pipe:df,readonly:pf,promise:MS,optional:ac,lazy:ff};function qS(e,t){if("_idmap"in e){let n=e,o=js({...t,processors:vS}),s={};for(let c of n._idmap.entries()){let[u,l]=c;be(l,o)}let i={},a={registry:n,uri:t?.uri,defs:s};o.external=a;for(let c of n._idmap.entries()){let[u,l]=c;Ds(o,l),wt(i,u,Ms(o,l))}if(Object.keys(s).length>0){let c=o.target==="draft-2020-12"?"$defs":"definitions";i.__shared={[c]:s}}return{schemas:i}}let r=js({...t,processors:vS});return be(e,r),Ds(r,e),Ms(r,e)}var FS=new WeakSet([Object.prototype,Error.prototype]);function cc(e,t,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let n=r(this);return Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,t,{value:n,configurable:!0,writable:!0})}})}var PL=(e,t)=>{ub.init(e,t),e.name="ZodError";let r=Object.getPrototypeOf(e);if(FS.has(r))return;FS.add(r),cc(r,"format",(n)=>(o)=>op(n,o)),cc(r,"flatten",(n)=>(o)=>np(n,o)),cc(r,"addIssue",(n)=>(o)=>{n.issues.push(o),n.message=JSON.stringify(n.issues,$s,2)}),cc(r,"addIssues",(n)=>(o)=>{n.issues.push(...o),n.message=JSON.stringify(n.issues,$s,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}})};var _t=P("ZodError",PL,void 0,{Parent:Error});var US=La(_t),WS=ja(_t),VS=Os(_t),ZS=Da(_t),BS=pb(_t),KS=fb(_t),HS=mb(_t),GS=hb(_t),JS=gb(_t),YS=yb(_t),XS=wb(_t),QS=bb(_t);function IL(){if(!rt.localeError)at(kp())}function Fs(){if(!rt.memoizer)at({memoizer:Sp()})}var he=P("ZodType",(e,t)=>(IL(),pe.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(bt(t,{checks:[...t.checks??[],...e.map((r)=>typeof r==="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Vt(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Sj(e,t))},superRefine(e,t){return this.check(kj(e,t))},overwrite(e){return this.check(Wr(e))},optional(){return Ee(this)},exactOptional(){return aj(this)},nullable(){return tk(this)},nullish(){return Ee(tk(this))},nonoptional(e){return fj(this,e)},array(){return k(this)},or(e){return te([this,e])},and(e){return dc(this,e)},transform(e){return rk(this,uk(e))},default(e){return lj(this,e)},prefault(e){return pj(this,e)},catch(e){return hj(this,e)},pipe(e){return rk(this,e)},readonly(){return wj(this)},describe(e){let t=this.clone();return Ur.add(t,{description:e}),t},meta(...e){if(e.length===0)return Ur.get(this);let t=this.clone();return Ur.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get "~standard"(){return za(this,"~standard",{...mp(this),jsonSchema:{input:Ls(this,"input"),output:Ls(this,"output")}})},set "~standard"(e){$r(this,"~standard",e)},parse:function e(t,r){return US(this,t,r,{callee:e})},parseAsync:async function e(t,r){return await WS(this,t,r,{callee:e})},safeParse(e,t){return VS(this,e,t)},async safeParseAsync(e,t){return ZS(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){$r(this,"spa",e)},validate(e,t){return Ma(this,e,t)},validateAsync(e,t){return qa(this,e,t)},encode:function e(t,r){return BS(this,t,r,{callee:e})},decode:function e(t,r){return KS(this,t,r,{callee:e})},encodeAsync:async function e(t,r){return await HS(this,t,r,{callee:e})},decodeAsync:async function e(t,r){return await GS(this,t,r,{callee:e})},safeEncode(e,t){return JS(this,e,t)},safeDecode(e,t){return YS(this,e,t)},async safeEncodeAsync(e,t){return XS(this,e,t)},async safeDecodeAsync(e,t){return QS(this,e,t)},toJSONSchema(e){return gS(this,{})(e)},get description(){return Ur.get(this)?.description},get _def(){return this._zod.def}}),nk=P("_ZodString",(e,t)=>{Ba.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>qp(e,r,n,o)},nb({format:(e)=>ct(e).format??null,minLength:(e)=>ct(e).minimum??null,maxLength:(e)=>ct(e).maximum??null},{regex(...e){return this.check(Ep(...e))},includes(...e){return this.check(Op(...e))},startsWith(...e){return this.check(Ip(...e))},endsWith(...e){return this.check(Rp(...e))},min(...e){return this.check(lo(...e))},max(...e){return this.check(sc(...e))},length(...e){return this.check(ic(...e))},nonempty(...e){return this.check(lo(1,...e))},lowercase(e){return this.check(Tp(e))},uppercase(e){return this.check(Pp(e))},trim(){return this.check(Cp())},normalize(...e){return this.check(Ap(...e))},toLowerCase(){return this.check(zp())},toUpperCase(){return this.check(Np())},slugify(){return this.check(Lp())}})),ok=P("ZodString",(e,t)=>{Ba.init(e,t),nk.init(e,t)},{email(e){return this.check(Av(RL,e))},url(e){return this.check($p(sk,e))},jwt(e){return this.check(Xv(KL,e))},emoji(e){return this.check(Dv(CL,e))},guid(e){return this.check(Cv(AL,e))},uuid(e){return this.check(zv(uc,e))},uuidv4(e){return this.check(Nv(uc,e))},uuidv6(e){return this.check(Lv(uc,e))},uuidv7(e){return this.check(jv(uc,e))},nanoid(e){return this.check(Mv(zL,e))},cuid(e){return this.check(qv(NL,e))},cuid2(e){return this.check(Fv(LL,e))},ulid(e){return this.check(Uv(jL,e))},base64(e){return this.check(Gv(VL,e))},base64url(e){return this.check(Jv(ZL,e))},xid(e){return this.check(Wv(DL,e))},ksuid(e){return this.check(Vv(ML,e))},ipv4(e){return this.check(Zv(qL,e))},ipv6(e){return this.check(Bv(FL,e))},cidrv4(e){return this.check(Kv(UL,e))},cidrv6(e){return this.check(Hv(WL,e))},e164(e){return this.check(Yv(BL,e))},datetime(e){return this.check(Xa(Us,e))},date(e){return this.check(Qa(Ws,e))},time(e){return this.check(ec(Vs,e))},duration(e){return this.check(tc(Zs,e))}});function p(e){return Rv(ok,e)}var Oe=P("ZodStringFormat",(e,t)=>{ke.init(e,t),nk.init(e,t)}),Us=P("ZodISODateTime",(e,t)=>{L_.init(e,t),Oe.init(e,t)}),Ws=P("ZodISODate",(e,t)=>{j_.init(e,t),Oe.init(e,t)}),Vs=P("ZodISOTime",(e,t)=>{D_.init(e,t),Oe.init(e,t)}),Zs=P("ZodISODuration",(e,t)=>{M_.init(e,t),Oe.init(e,t)}),RL=P("ZodEmail",(e,t)=>{$_.init(e,t),Oe.init(e,t)});var AL=P("ZodGUID",(e,t)=>{k_.init(e,t),Oe.init(e,t)});var uc=P("ZodUUID",(e,t)=>{x_.init(e,t),Oe.init(e,t)});var sk=P("ZodURL",(e,t)=>{P_.init(e,t),Oe.init(e,t)});function Bs(e){return $p(sk,e)}var CL=P("ZodEmoji",(e,t)=>{O_.init(e,t),Oe.init(e,t)});var zL=P("ZodNanoID",(e,t)=>{I_.init(e,t),Oe.init(e,t)});var NL=P("ZodCUID",(e,t)=>{R_.init(e,t),Oe.init(e,t)});var LL=P("ZodCUID2",(e,t)=>{A_.init(e,t),Oe.init(e,t)});var jL=P("ZodULID",(e,t)=>{C_.init(e,t),Oe.init(e,t)});var DL=P("ZodXID",(e,t)=>{z_.init(e,t),Oe.init(e,t)});var ML=P("ZodKSUID",(e,t)=>{N_.init(e,t),Oe.init(e,t)});var qL=P("ZodIPv4",(e,t)=>{q_.init(e,t),Oe.init(e,t)});var FL=P("ZodIPv6",(e,t)=>{U_.init(e,t),Oe.init(e,t)});var UL=P("ZodCIDRv4",(e,t)=>{W_.init(e,t),Oe.init(e,t)});var WL=P("ZodCIDRv6",(e,t)=>{V_.init(e,t),Oe.init(e,t)});var VL=P("ZodBase64",(e,t)=>{B_.init(e,t),Oe.init(e,t)});var ZL=P("ZodBase64URL",(e,t)=>{K_.init(e,t),Oe.init(e,t)});var BL=P("ZodE164",(e,t)=>{H_.init(e,t),Oe.init(e,t)});var KL=P("ZodJWT",(e,t)=>{G_.init(e,t),Oe.init(e,t)});var lc=P("ZodNumber",(e,t)=>{gp.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Fp(e,r,n,o),e.isFinite=!0},nb({minValue:(e)=>{let{minimum:t,exclusiveMinimum:r}=ct(e);return Math.max(t??Number.NEGATIVE_INFINITY,r??Number.NEGATIVE_INFINITY)},maxValue:(e)=>{let{maximum:t,exclusiveMaximum:r}=ct(e);return Math.min(t??Number.POSITIVE_INFINITY,r??Number.POSITIVE_INFINITY)},isInt:(e)=>{let{isInt:t,multipleOf:r}=ct(e);return!!t||!!r?.some(Number.isSafeInteger)},format:(e)=>ct(e).format??null},{gt(e,t){return this.check(nc(e,t))},gte(e,t){return this.check(zs(e,t))},min(e,t){return this.check(zs(e,t))},lt(e,t){return this.check(rc(e,t))},lte(e,t){return this.check(Cs(e,t))},max(e,t){return this.check(Cs(e,t))},int(e){return this.check(ek(e))},safe(e){return this.check(ek(e))},positive(e){return this.check(nc(0,e))},nonnegative(e){return this.check(zs(0,e))},negative(e){return this.check(rc(0,e))},nonpositive(e){return this.check(Cs(0,e))},multipleOf(e,t){return this.check(oc(e,t))},step(e,t){return this.check(oc(e,t))},finite(){return this}}));function O(e){return Qv(lc,e)}var HL=P("ZodNumberFormat",(e,t)=>{J_.init(e,t),lc.init(e,t)});function ek(e){return tS(HL,e)}var ik=P("ZodBoolean",(e,t)=>{Y_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Up(e,r,n,o)});function D(e){return rS(ik,e)}var GL=P("ZodNull",(e,t)=>{X_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Wp(e,r,n,o)});function Ks(e){return nS(GL,e)}var JL=P("ZodAny",(e,t)=>{Q_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Zp(e,r,n,o)});function ak(){return oS(JL)}var YL=P("ZodUnknown",(e,t)=>{ev.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Bp(e,r,n,o)});function ne(){return sS(YL)}var XL=P("ZodNever",(e,t)=>{tv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Vp(e,r,n,o)});function QL(e){return iS(XL,e)}var ej=P("ZodArray",(e,t)=>{Fs(),rv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Xp(e,r,n,o),e.element=t.element},{min(e,t){return this.check(lo(e,t))},nonempty(e){return this.check(lo(1,e))},max(e,t){return this.check(sc(e,t))},length(e,t){return this.check(ic(e,t))},unwrap(){return this.element}});function k(e,t){return aS(ej,e,t)}var gf=P("ZodObject",(e,t)=>{Fs(),sv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Qp(e,r,n,o),zN(e,"shape",(r)=>r._zod.def.shape,!1)},{keyof(){return z(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(bt(this._zod.def,{catchall:e}))},passthrough(){return this.clone(bt(this._zod.def,{catchall:ne()}))},loose(){return this.clone(bt(this._zod.def,{catchall:ne()}))},strict(){return this.clone(bt(this._zod.def,{catchall:QL()}))},strip(){return this.clone(bt(this._zod.def,{catchall:void 0}))},extend(e){return EN(this,e)},safeExtend(e){return TN(this,e)},merge(e){return PN(this,e)},pick(e){return xN(this,e)},omit(e){return $N(this,e)},partial(...e){return Qw(wf,this,e[0])},exactPartial(...e){return Qw(lk,this,e[0],"exactPartial")},required(...e){return ON(dk,this,e[0])}});function w(e,t){let r={type:"object",shape:e??{},...U(t)};return new gf(r)}function _e(e,t){return new gf({type:"object",shape:e,catchall:ne(),...U(t)})}var ck=P("ZodUnion",(e,t)=>{yp.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ef(e,r,n,o),e.options=t.options});function te(e,t){return new ck({type:"union",options:e,...U(t)})}var tj=P("ZodDiscriminatedUnion",(e,t)=>{ck.init(e,t),iv.init(e,t)});function tr(e,t,r){return new tj({type:"union",options:t,discriminator:e,...U(r)})}var rj=P("ZodIntersection",(e,t)=>{av.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>tf(e,r,n,o)});function dc(e,t){return new rj({type:"intersection",left:e,right:t})}var nj=P("ZodTuple",(e,t)=>{Fs(),cv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>rf(e,r,n,o)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw Error(".partial() cannot be used on tuple schemas containing refinements");return this.clone({...e,items:e.items.map((t)=>new wf({type:"optional",innerType:t}))})}});function oj(e,t,r){let n=t instanceof pe,o=n?r:t;return new nj({type:"tuple",items:e,rest:n?t:null,...U(o)})}var mf=P("ZodRecord",(e,t)=>{Fs(),uv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>nf(e,r,n,o),e.keyType=t.keyType,e.valueType=t.valueType});function K(e,t,r){if(!t||!t._zod)return new mf({type:"record",keyType:p(),valueType:e,...U(t)});return new mf({type:"record",keyType:e,valueType:t,...U(r)})}function yf(e,t,r){return new mf({type:"record",keyType:e,valueType:t,...U(r),partial:!0})}var hf=P("ZodEnum",(e,t)=>{lv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Kp(e,n,o,s),e.enum=t.entries,e.options=[...e._zod.values];let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let i of n)if(r.has(i))s[i]=t.entries[i];else throw Error(`Key ${i} not found in enum`);return new hf({...t,checks:[],...U(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let i of n)if(r.has(i))delete s[i];else throw Error(`Key ${i} not found in enum`);return new hf({...t,checks:[],...U(o),entries:s})}});function z(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map((n)=>[n,n])):e;return new hf({type:"enum",entries:r,...U(t)})}var sj=P("ZodLiteral",(e,t)=>{dv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Hp(e,r,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function C(e,t){return new sj({type:"literal",values:Array.isArray(e)?e:[e],...U(t)})}var ij=P("ZodTransform",(e,t)=>{Fs(),pv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Yp(e,r,n,o),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Ps(e.constructor.name);r.addIssue=(s)=>{if(typeof s==="string")r.issues.push(An(s,r.value,t));else{let i=s;if(i.fatal)i.continue=!1;if(i.code??(i.code="custom"),!("input"in i))i.input=r.value;i.inst??(i.inst=e),r.issues.push(An(i))}};let o=t.transform(r.value,r);if(o instanceof Promise)return o.then((s)=>(r.value=s,r));return r.value=o,r}});function uk(e){return new ij({type:"transform",transform:e})}var wf=P("ZodOptional",(e,t)=>{wp.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ac(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function Ee(e){return new wf({type:"optional",innerType:e})}var lk=P("ZodExactOptional",(e,t)=>{fv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ac(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function aj(e){return new lk({type:"optional",innerType:e})}var cj=P("ZodNullable",(e,t)=>{mv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>of(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function tk(e){return new cj({type:"nullable",innerType:e})}var uj=P("ZodDefault",(e,t)=>{hv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>cf(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function lj(e,t){return new uj({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():Gd(t)}})}var dj=P("ZodPrefault",(e,t)=>{gv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>uf(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function pj(e,t){return new dj({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():Gd(t)}})}var dk=P("ZodNonOptional",(e,t)=>{yv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>sf(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function fj(e,t){return new dk({type:"nonoptional",innerType:e,...U(t)})}var mj=P("ZodCatch",(e,t)=>{wv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>lf(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function hj(e,t){return new mj({type:"catch",innerType:e,catchValue:typeof t==="function"?t:ob(t)})}var pk=P("ZodPipe",(e,t)=>{bp.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>df(e,r,n,o),e.in=t.in,e.out=t.out});function rk(e,t){return new pk({type:"pipe",in:e,out:t})}var gj=P("ZodPreprocess",(e,t)=>{pk.init(e,t),bv.init(e,t)}),yj=P("ZodReadonly",(e,t)=>{_v.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>pf(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});function wj(e){return new yj({type:"readonly",innerType:e})}var bj=P("ZodTemplateLiteral",(e,t)=>{vv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Gp(e,r,n,o)});function _j(e,t){return new bj({type:"template_literal",parts:e,...U(t)})}var vj=P("ZodLazy",(e,t)=>{Sv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ff(e,r,n,o),e.unwrap=()=>e._zod.def.getter()});function bf(e){return new vj({type:"lazy",getter:e})}var fk=P("ZodCustom",(e,t)=>{kv.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Jp(e,r,n,o)});function pc(e,t){return cS(fk,e??(()=>!0),t)}function Sj(e,t={}){return uS(fk,e,t)}function kj(e,t){return lS(e,t)}function Ot(e){let t=bf(()=>te([p(e),O(),D(),Ks(),k(t),K(p(),t)]));return t}function fc(e,t){return new gj({type:"pipe",in:uk(e),out:t})}var hk={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var mk;(function(e){})(mk||(mk={}));function gk(e){return Xa(Us,e)}function $j(e){return Qa(Ws,e)}function Ej(e){return ec(Vs,e)}function Tj(e){return tc(Zs,e)}function Pj(e){return eS(lc,e)}var wk={name:"@tripwire-sh/cli",version:"0.1.6",description:"Set up Tripwire in your coding agents and manage it from the terminal",type:"module",imports:{"#/*":"./src/*"},license:"MIT",repository:{type:"git",url:"git+https://github.com/Boring-Software-Inc/v2.git",directory:"apps/cli"},homepage:"https://tripwire.sh",bin:{tripwire:"dist/tripwire.js"},files:["dist"],engines:{node:">=20.12"},publishConfig:{access:"public"},scripts:{build:"bun build src/index.ts --target node --format esm --minify --outfile dist/tripwire.js",typecheck:"tsc --noEmit"},devDependencies:{"@clack/prompts":"^1.7.0","@modelcontextprotocol/sdk":"^1.32.1","@tripwire/contracts":"workspace:*",commander:"^14.0.3","jsonc-parser":"^3.3.1",picocolors:"^1.1.1",yaml:"^2.9.0",zod:"^4.0.0"}};var mc=wk.version,q="tripwire",Hs="tripwire-get-started",bk="tripwire-workflows",Gs="tripwire-cli",Ij="https://mcp.tripwire.sh/mcp",Rj="https://app.tripwire.sh/api/auth",_k="offline_access tripwire:read tripwire:configure tripwire:moderate tripwire:admin";function ho(e){return e.TRIPWIRE_MCP_URL||Ij}function vk(e){return(e.TRIPWIRE_AUTH_URL||Rj).replace(/\/+$/,"")}var Aj="urn:ietf:params:oauth:grant-type:device_code",Cj=w({device_code:p(),user_code:p(),verification_uri:p(),verification_uri_complete:p().optional(),expires_in:O(),interval:O().optional()}),kk=w({access_token:p().min(1),refresh_token:p().min(1).optional(),expires_in:O().optional(),token_type:p().optional()}),vf=w({error:p(),error_description:p().optional()});class _f extends Error{constructor(){super("Session expired. Run tripwire login.");this.name="SessionExpiredError"}}class Js extends Error{constructor(){super("Tripwire is not reachable right now. Try again in a minute.");this.name="AuthUnreachableError"}}var xk={fetch:(e,t)=>fetch(e,t),sleep:(e)=>new Promise((t)=>setTimeout(t,e)),now:()=>Date.now()};async function hc(e,t,r){let n=await e.fetch(t,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded",accept:"application/json"},body:new URLSearchParams(r).toString()}),o=await n.text(),s={error:"invalid_response",error_description:o.slice(0,200)};try{let i=Ot().safeParse(JSON.parse(o));return{status:n.status,body:i.success?i.data:s,headers:n.headers}}catch{return{status:n.status,body:s,headers:n.headers}}}function $k(e,t){let r=vf.safeParse(e);if(!r.success)return Error(t);return Error(r.data.error_description?`${r.data.error}: ${r.data.error_description}`:r.data.error)}async function Ek(e,t,r){let{status:n,body:o}=await hc(e,`${t}/device/code`,{client_id:Gs,scope:_k,resource:r}),s=Cj.safeParse(o);if(n>=400||!s.success)throw $k(o,`Device authorization failed (HTTP ${n})`);return s.data}function Tk(e,t,r,n,o){let s=t.refresh_token??o;return{accessToken:t.access_token,refreshToken:s,expiresAt:t.expires_in?e.now()+t.expires_in*1000:void 0,mcpUrl:n,authUrl:r}}var Sk=5000;function zj(e,t){let r=(e.get("retry-after")??e.get("x-retry-after"))?.trim();if(!r)return null;if(/^\d+$/.test(r))return Number(r)*1000;let n=Date.parse(r);return Number.isNaN(n)?null:Math.max(0,n-t)}async function Pk(e,t,r,n){let o=(n.interval??5)*1000,s=null,i=e.now()+n.expires_in*1000;while(e.now()<i){await e.sleep(Math.min(Math.max(o,s??0),i-e.now())),s=null;let{status:a,body:c,headers:u}=await hc(e,`${t}/oauth2/token`,{grant_type:Aj,device_code:n.device_code,client_id:Gs,resource:r}),l=kk.safeParse(c);if(a<400&&l.success)return Tk(e,l.data,t,r);if(a===429){if(s=zj(u,e.now()),s===null)o+=Sk;continue}let d=vf.safeParse(c),f=d.success?d.data.error:"";if(f==="authorization_pending")continue;if(f==="slow_down"){o+=Sk;continue}if(f==="access_denied")throw Error("Sign-in was denied in the browser");if(f==="expired_token")throw Error("The code expired. Run tripwire login again.");throw $k(c,`Token request failed (HTTP ${a})`)}throw Error("The code expired. Run tripwire login again.")}async function Ok(e,t){if(!t.refreshToken)throw new _f;let{status:r,body:n}=await hc(e,`${t.authUrl}/oauth2/token`,{grant_type:"refresh_token",refresh_token:t.refreshToken,client_id:Gs,resource:t.mcpUrl}).catch(()=>{throw new Js}),o=kk.safeParse(n);if(r>=400||!o.success){let s=vf.safeParse(n);throw(r===400||r===401)&&s.success&&s.data.error!=="invalid_response"?new _f:new Js}return Tk(e,o.data,t.authUrl,t.mcpUrl,t.refreshToken)}async function Ik(e,t){let r=t.refreshToken??t.accessToken;await hc(e,`${t.authUrl}/oauth2/revoke`,{token:r,client_id:Gs}).catch(()=>{return})}import{stripVTControlCharacters as EF}from"node:util";var Nj=z(["pending","approved","rejected"]),wie=Nj.options;var Ys=[{id:"github",label:"GitHub",status:"live",signIn:"social",reviews:!0},{id:"opengit",label:"OpenGit",status:"live",paused:!0},{id:"gitlab",label:"GitLab",status:"planned"},{id:"origin",label:"ORIGIN",status:"planned"}];function Rk(e){return e.status==="live"}var Xs=z(Ys.filter(Rk).map((e)=>e.id)),vie=Ys.filter((e)=>Rk(e)&&!("paused"in e)).map((e)=>e.label),Sie=Ys.filter((e)=>e.status==="planned").map((e)=>e.label),kie=Ys.filter((e)=>("signIn"in e)).map((e)=>e.id);var Lj=Object.fromEntries(Ys.map((e)=>[e.id,e]));var gc=w({owner:p(),name:p(),fullName:p()}),jj=w({id:p(),login:p(),name:p(),type:z(["Organization","User"]),avatarUrl:p(),repoAccess:z(["all","selected"]),repoCount:O(),installedAt:xe.datetime()}),Dj=w({id:p(),owner:p(),name:p(),fullName:p(),private:D(),pushedAt:xe.datetime(),openFlags:O(),stars:O()}),Eie=w({accounts:k(jj),repos:k(Dj)});var Qs=z(["change-request.opened","change-request.updated","change-request.closed","comment.created","push","schedule.matched","installation.created","installation.deleted","installation-repositories.added","installation-repositories.removed"]),Ak=w({login:p(),externalId:p(),avatarUrl:p().optional()}),Sf=w({number:O().int(),title:p(),headSha:p(),baseRef:p().optional(),headRef:p().optional(),draft:D().optional(),url:p()}),Mj=w({externalId:p(),body:p(),url:p(),subjectNumber:O().int(),byTripwire:D().optional()}),qj=w({ref:p(),headSha:p(),commitCount:O().int(),url:p().optional()}),wc=z(["issue","change-request"]),Fj=w({kind:wc,number:O().int(),title:p(),url:p(),state:z(["open","closed"]),author:p(),labels:k(p()),locked:D(),updatedAt:xe.datetime()}),Uj=w({workflowId:p(),nodeId:p(),tickId:p()}),go={id:p(),forge:Xs,deliveryId:p(),repo:gc,repoExternalId:p().optional(),installationExternalId:p().optional(),actor:Ak,occurredAt:xe.datetime(),receivedAt:xe.datetime()},yc={id:p(),forge:Xs,deliveryId:p(),actor:Ak,occurredAt:xe.datetime(),receivedAt:xe.datetime(),installation:w({externalId:p(),account:p(),accountType:z(["User","Organization"]).optional()}),repositories:k(w({externalId:p(),owner:p(),name:p(),fullName:p(),private:D()}))},Ck=tr("kind",[w({...go,kind:C("change-request.opened"),changeRequest:Sf}),w({...go,kind:C("change-request.updated"),changeRequest:Sf}),w({...go,kind:C("change-request.closed"),changeRequest:Sf}),w({...go,kind:C("comment.created"),comment:Mj}),w({...go,kind:C("push"),push:qj}),w({...go,kind:C("schedule.matched"),schedule:Uj,thread:Fj}),w({...yc,kind:C("installation.created")}),w({...yc,kind:C("installation.deleted")}),w({...yc,kind:C("installation-repositories.added")}),w({...yc,kind:C("installation-repositories.removed")})]),Wj=Qs.extract(["change-request.opened","change-request.updated","change-request.closed"]),Rie=Wj.options;var Vj=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],Zj=["sun","mon","tue","wed","thu","fri","sat"],Bj=[{name:"minute",range:"0 to 59",min:0,max:59},{name:"hour",range:"0 to 23",min:0,max:23},{name:"day of month",range:"1 to 31",min:1,max:31},{name:"month",range:"1 to 12 or jan to dec",min:1,max:12,names:Vj,nameBase:1},{name:"day of week",range:"0 to 7 or sun to sat",min:0,max:7,names:Zj,nameBase:0}];function kf(e,t){let r=e.toLowerCase(),n=t.names?.indexOf(r)??-1;if(n>=0)return n+(t.nameBase??0);if(!/^\d+$/.test(e))return null;let o=Number(e);return o>=t.min&&o<=t.max?o:null}function Kj(e,t){let r=new Set;for(let n of e.split(",")){let o=n.split("/"),[s="",i]=o;if(o.length>2||s.split("-").length>2)return{ok:!1,error:`${t.name} must be a number, a range like 1-5 or a step like */15`};let a=i===void 0?1:Number(i);if(!(Number.isInteger(a)&&a>=1))return{ok:!1,error:`${t.name} step must be a whole number of 1 or more, like */15`};let c,u;if(s==="*")c=t.min,u=t.max;else if(s.includes("-")){let[l="",d=""]=s.split("-");c=kf(l,t),u=kf(d,t)}else c=kf(s,t),u=i===void 0?c:t.max;if(c===null||u===null)return{ok:!1,error:`${t.name} must be ${t.range}`};if(c>u)return{ok:!1,error:`${t.name} range must go from low to high, like 1-5`};for(let l=c;l<=u;l+=a)r.add(l)}return{ok:!0,values:[...r].sort((n,o)=>n-o)}}function Cn(e){let t=e.trim().split(/\s+/);if(t.length!==5)return{ok:!1,error:"use five fields: minute hour day month weekday"};let r=[];for(let[u,l]of Bj.entries()){let d=Kj(t[u]??"",l);if(!d.ok)return d;r.push(d.values)}let[n=[],o=[],s=[],i=[],a=[]]=r,c=[...new Set(a.map((u)=>u===7?0:u))].sort((u,l)=>u-l);return{ok:!0,spec:{minutes:n,hours:o,days:s,months:i,weekdays:c,daysRestricted:!(t[2]??"*").startsWith("*"),weekdaysRestricted:!(t[4]??"*").startsWith("*")}}}function ei(e){try{return new Intl.DateTimeFormat("en-US",{timeZone:e}),!0}catch{return!1}}var zk=new Map;function Hj(e){let t=zk.get(e);if(t)return t;let r=new Intl.DateTimeFormat("en-US",{timeZone:e,hourCycle:"h23",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"});return zk.set(e,r),r}function Ef(e,t){let r=Hj(t).formatToParts(e),n=(o)=>Number(r.find((s)=>s.type===o)?.value??"0");return{year:n("year"),month:n("month"),day:n("day"),hour:n("hour"),minute:n("minute")}}function xf(e,t){let r=Ef(new Date(e),t),n=Date.UTC(r.year,r.month-1,r.day,r.hour,r.minute),o=e-(e%60000+60000)%60000;return n-o}function Nk(e,t){let r=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute),n=[r-xf(r-129600000,t),r-xf(r+129600000,t),r-xf(r,t)].sort((o,s)=>o-s);for(let o of n){let s=Ef(new Date(o),t);if(s.year===e.year&&s.month===e.month&&s.day===e.day&&s.hour===e.hour&&s.minute===e.minute)return new Date(o)}return null}function bc(e,t,r){let n=e.days.includes(t),o=e.weekdays.includes(r);if(e.daysRestricted&&e.weekdaysRestricted)return n||o;return n&&o}function Gj(e,t){return bc(e,t.getUTCDate(),t.getUTCDay())}var Jj=Array.from({length:217},(e,t)=>({day:t%31+1,weekday:Math.floor(t/31)}));function $f(e){let t=Jj.map(({day:r,weekday:n})=>bc(e,r,n)?"1":"0").join("");return[e.minutes,e.hours,e.months].map((r)=>r.join(",")).concat(t).join(" ")}function Lk(e,t){let r=Cn(e),n=Cn(t);return r.ok&&n.ok&&$f(r.spec)===$f(n.spec)}var Yj=1830,Xj=180;function Qj(e,t){let r=Nk(e,t);if(r)return r;let n=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute);for(let o=1;o<=Xj;o++){let s=new Date(n+o*60000),i=Nk({year:s.getUTCFullYear(),month:s.getUTCMonth()+1,day:s.getUTCDate(),hour:s.getUTCHours(),minute:s.getUTCMinutes()},t);if(i)return i}return null}function jk(e){let{minutes:t,hours:r}=e,n=t.slice(1).map((s,i)=>s-(t[i]??0));if(r.some((s)=>r.includes((s+1)%24)))n.push(60-(t.at(-1)??0)+(t[0]??0));return n.length>0?Math.min(...n):1440}function Tf(e,t,r){let n=Ef(r,t),o=new Date(Date.UTC(n.year,n.month-1,n.day));for(let s=0;s<=Yj;s++){if(e.months.includes(o.getUTCMonth()+1)&&Gj(e,o))for(let i of e.hours)for(let a of e.minutes){let c=Qj({year:o.getUTCFullYear(),month:o.getUTCMonth()+1,day:o.getUTCDate(),hour:i,minute:a},t);if(c&&c.getTime()>r.getTime())return c}o.setUTCDate(o.getUTCDate()+1)}return null}var It=5,qe=bf(()=>te([p(),O(),D(),Ks(),k(qe),K(p(),qe)])),Sc=w({x:O(),y:O()}),eD=z(["all-of","any-of","not"]),tD=z(["block","comment","label","request-review","send-to-moderation","webhook","discord","lock","close","remove-label","post-comment"]),rD=["comment"];function Mk(e){return rD.includes(e)}var jie=w({url:Bs().meta({secret:!0}).describe("webhook url"),signingSecret:p().min(1).optional().meta({secret:!0}).describe("signing secret")}),Die=w({url:Bs().meta({secret:!0}).describe("discord webhook url")}),yo=15,kc=p().regex(/^[A-Za-z0-9](?:[A-Za-z0-9]|-(?=[A-Za-z0-9])){0,38}$/,{error:(e)=>`${String(e.input)} is not a GitHub username`}),Pf=p().regex(/^[A-Za-z0-9][A-Za-z0-9_-]{0,99}$/,{error:(e)=>`${String(e.input)} is not a team slug`}),Of=w({id:O().int().positive().optional(),login:kc}),Mie=w({id:O().int().positive(),login:kc,avatarUrl:p(),permission:p().min(1)}),qie=w({name:p().min(1),color:p().regex(/^[0-9a-fA-F]{6}$/),description:p().nullable()}),nD=fc((e)=>p().safeParse(e).success?{login:e}:e,Of);function qk(e,t){return e.id!==void 0&&t.id!==void 0?e.id===t.id:e.login.toLowerCase()===t.login.toLowerCase()}var ti=w({reviewers:k(nD).max(yo,`ask at most ${yo} people`).default([]),teamReviewers:k(Pf).max(yo,`ask at most ${yo} teams`).default([])}),Fk=ti.superRefine((e,t)=>{let r=e.reviewers.length+e.teamReviewers.length;if(r===0)t.addIssue({code:"custom",message:"add at least one person or team to ask"});if(r>yo)t.addIssue({code:"custom",message:`ask at most ${yo} people and teams`})}),Vr=w({labels:k(p().trim().min(1)).min(1,"choose at least one label")}),Dk=5000,xc=w({message:p().trim().min(1,"write a message").max(Dk,`keep it under ${Dk} characters`)}),oD=z(["resolved","off-topic","too heated","spam"]),Uk=w({reason:oD.optional()}),ri={hours:3600000,days:86400000,weeks:604800000,months:2592000000};function If(e){return e.n*ri[e.unit]}var $c=52*ri.weeks,sD=3650*ri.days,iD=z(["hours","days","weeks"]),aD=z(["hours","days","weeks","months"]),cD=w({n:O().int().min(1),unit:iD}).refine((e)=>If(e)<=$c,{message:"runs at least once a year"}),rr="UTC",Wk=p().min(1).refine(ei,{error:(e)=>`${String(e.input)} is not an IANA timezone, like Europe/Berlin`}),_c=p().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"use 24-hour HH:MM, like 07:30"),Rf=z(["sunday","monday","tuesday","wednesday","thursday","friday","saturday"]),uD=tr("preset",[w({preset:C("hourly"),minute:O().int().min(0).max(59)}),w({preset:C("daily"),at:_c}),w({preset:C("weekdays"),at:_c}),w({preset:C("weekly"),on:Rf,at:_c}),w({preset:C("monthly"),day:O().int().min(1).max(28),at:_c})]),Ec=w({cron:p().trim().superRefine((e,t)=>{let r=Cn(e);if(!r.ok){t.addIssue({code:"custom",message:r.error});return}if(Tf(r.spec,"UTC",new Date(Date.UTC(2026,0,1)))===null)t.addIssue({code:"custom",message:"this cron never runs. Pick a day the month has"});if(jk(r.spec)<It)t.addIssue({code:"custom",message:`runs must be at least ${It} minutes apart`})})}),Vk=te([cD,uD,Ec]),Zk=w({n:O().int().min(1),unit:aD}).refine((e)=>If(e)<=sD,{message:"10 years at most"}),Bk=z(["open","closed","any"]),vc=k(p().min(1)),lD=w({subjects:k(wc).min(1),state:Bk,inactiveFor:Zk,labels:vc.optional(),excludeLabels:vc.optional(),skipLocked:D().default(!0)}),wo=w({every:Vk,timezone:Wk.optional(),match:lD}),dD=w({every:Vk.optional(),timezone:Wk.optional(),match:w({subjects:k(wc).optional(),state:Bk.optional(),inactiveFor:Zk.optional(),labels:vc.optional(),excludeLabels:vc.optional(),skipLocked:D().optional()}).default({})});var pD=["every","subjects","state","inactiveFor"];function Kk(e){return pD.filter((t)=>{if(!e)return!0;if(t==="every")return e.every===void 0;let r=e.match[t];return Array.isArray(r)?r.length===0:r===void 0})}var fD=w({id:p(),type:C("trigger"),kinds:k(Qs).min(1),schedule:dD.optional(),position:Sc.optional()});function Tc(e){return e.type==="trigger"&&(e.kinds??[]).includes("schedule.matched")}var mD=w({id:p(),type:C("rule"),ref:p().regex(/^[a-z][a-z0-9-]*@\d+$/),config:qe,position:Sc.optional()}),hD=w({id:p(),type:C("gate"),mode:eD,position:Sc.optional()}),gD=w({id:p(),type:C("action"),action:tD,params:K(p(),qe).optional(),position:Sc.optional()}),Af=tr("type",[fD,mD,hD,gD]),Hk=z(["pass","fail","approve","deny"]),yD=w({id:p(),from:p(),to:p(),when:Hk.optional()}),Rt=w({id:p(),name:p(),version:O().int().min(1),nodes:k(Af).min(1),edges:k(yD)}),Gk={id:"default@1",name:"default gate",version:1,nodes:[{id:"trigger",type:"trigger",kinds:["change-request.opened","change-request.updated"]},{id:"account-age",type:"rule",ref:"account-age@1",config:{minDays:7}},{id:"crypto",type:"rule",ref:"crypto-address@1",config:{}},{id:"honeypot",type:"rule",ref:"honeypot@1",config:{paths:[".github/workflows/**"]}},{id:"max-files",type:"rule",ref:"max-files-changed@1",config:{max:200}},{id:"english",type:"rule",ref:"english-only@1",config:{maxNonLatinRatio:0.5}},{id:"gate",type:"gate",mode:"all-of"},{id:"block",type:"action",action:"block"}],edges:[{id:"e1",from:"trigger",to:"account-age"},{id:"e2",from:"trigger",to:"crypto"},{id:"e3",from:"trigger",to:"honeypot"},{id:"e4",from:"trigger",to:"max-files"},{id:"e5",from:"trigger",to:"english"},{id:"e6",from:"account-age",to:"gate"},{id:"e7",from:"crypto",to:"gate"},{id:"e8",from:"honeypot",to:"gate"},{id:"e9",from:"max-files",to:"gate"},{id:"e10",from:"english",to:"gate"},{id:"e11",from:"gate",to:"block",when:"fail"}]};var Jk=[{kind:"change-request.opened",name:"Change request opened",description:"Runs when someone opens a change request.",toolbox:!0},{kind:"change-request.updated",name:"Change request updated",description:"Runs when a change request gets new commits or edits.",toolbox:!0},{kind:"change-request.closed",name:"Change request closed",description:"Runs when a change request is closed.",toolbox:!0},{kind:"comment.created",name:"Comment created",description:"Runs when someone comments on a change request or issue.",toolbox:!0},{kind:"push",name:"Push",description:"Runs when commits are pushed to the repo.",toolbox:!0},{kind:"schedule.matched",name:"On a schedule",description:"Runs on a timer for issues and change requests that match.",toolbox:!0},{kind:"installation.created",name:"Installation created",description:"Internal event. Installations sync outside workflows.",toolbox:!1},{kind:"installation.deleted",name:"Installation deleted",description:"Internal event. Installations sync outside workflows.",toolbox:!1},{kind:"installation-repositories.added",name:"Repos added",description:"Internal event. Installations sync outside workflows.",toolbox:!1},{kind:"installation-repositories.removed",name:"Repos removed",description:"Internal event. Installations sync outside workflows.",toolbox:!1}],Yk=[{mode:"all-of",name:"All of",description:"Passes only when every connected check passes. A check that was never reached does not pass."},{mode:"any-of",name:"Any of",description:"Passes when at least one connected check passes. A check that was never reached does not pass."},{mode:"not",name:"Not",description:"Flips its input: pass becomes fail, and fail becomes pass."}],Xk=[{action:"block",name:"Block",description:"Fails the Tripwire check and requests changes. The change request stays open."},{action:"label",name:"Label",description:"Adds labels you choose to the change request."},{action:"request-review",name:"Request GitHub review",description:"Asks the people you choose to review on GitHub."},{action:"send-to-moderation",name:"Human review",description:"Waits for a maintainer to approve or block it in Tripwire."},{action:"webhook",name:"Webhook",description:"Posts the verdict as JSON to a URL you set."},{action:"lock",name:"Lock",description:"Locks the conversation so only maintainers can comment."},{action:"close",name:"Close",description:"Closes the issue or change request."},{action:"remove-label",name:"Remove label",description:"Removes labels you choose, if they are there."},{action:"post-comment",name:"Comment",description:"Posts a comment you write. It is separate from the verdict comment."},{action:"discord",name:"Discord",description:"Posts the verdict to a Discord channel you set."}];var Vie=K(p(),qe).catch({});function Pc(e){if(e.length<=1)return e[0]??"";return`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`}function Qk(e){let t=Vr.safeParse(e);return t.success?t.data.labels:[]}function ex(e){return`${e.length===1?"the label":"the labels"} ${Pc(e)}`}function wD(e){let t=ti.safeParse(e);if(!t.success)return[];return[...t.data.reviewers.map((r)=>r.login),...t.data.teamReviewers]}function tx(e,t){switch(e){case"block":return"blocks it";case"label":{let r=Qk(t);return r.length>0?`adds ${ex(r)}`:"adds labels"}case"remove-label":{let r=Qk(t);return r.length>0?`removes ${ex(r)}`:"removes labels"}case"request-review":{let r=wD(t);return r.length>0?`requests GitHub review from ${Pc(r)}`:"requests GitHub review"}case"send-to-moderation":return"sends it to human review";case"webhook":return"posts the verdict to a webhook";case"discord":return"posts the verdict to Discord";case"lock":return"locks the conversation";case"close":return"closes it";case"post-comment":return"posts your comment";default:return e}}var bD=w({runId:p(),verdict:p().nullable(),status:p(),reason:p().nullable()}),rx=w({event:Ck,run:bD.nullable(),pending:D().optional()}),_D=w({repoFullName:p(),subjectNumber:O().int(),title:p(),url:p().nullable(),actor:w({login:p(),avatarUrl:p().nullable()}),currentVerdict:p().nullable(),currentRunId:p().nullable(),latestActivityAt:xe.datetime(),eventCount:O().int(),timeline:k(rx)}),vD=tr("type",[w({type:C("group"),group:_D}),w({type:C("event"),entry:rx})]),Hie=w({items:k(vD)});var SD=["tripwire:read","tripwire:configure","tripwire:moderate","tripwire:admin"],Yie=z(SD);var kD="https://tripwire.sh/orgs";var Xie=w({sub:p().min(1),azp:p().min(1).optional(),client_id:p().min(1).optional(),scope:p().optional(),[kD]:k(p()).optional()});var tae=z(["ready","out"]),nx=z(["ai-out-of-credits"]);var rae=_e({statusCode:O().optional().catch(void 0),status:O().optional().catch(void 0),message:p().optional().catch(void 0),responseBody:p().optional().catch(void 0),lastError:ne().optional(),cause:ne().optional(),data:ne().optional(),error:ne().optional(),errors:k(ne()).optional().catch(void 0)});var nae=w({data:w({total_credits:O(),total_usage:O()})}),oae=w({data:w({limit:O().nullable().optional(),limit_remaining:O().nullable().optional(),usage:O().optional()})});var xD=z(["success","failure","neutral","pending"]),aae=w({sha:p(),conclusion:xD,summary:p(),detailsUrl:p()});var $D=["matched-values","file-paths","ai-trace","ai-summary","reasons","rule-names","passed-count","failed-count"],ED=$D.length;var TD=O().int().min(0).max(ED),ox=z(["run-page","check","comment","review","webhook"]),lae=ox.options,PD=["run-page","check","comment","review"],Oc=w({level:TD.default(0),surfaces:k(ox).default(()=>[...PD]),showHelp:D().default(!0)}),sx=Oc.extend({inherit:D().default(!0)}),OD=Oc.parse({});var ID=z(["green","blue","purple","pink","orange","red","grey"]),Tr=z(["issue","pull"]),ni=z(["open","closed","merged"]),ix=w({key:p(),label:p(),value:O(),delta:O().optional(),invertDelta:D().optional(),sub:p().optional(),series:k(O()),color:ID,suffix:p().optional()}),RD=w({rule:p(),count:O()}),AD=w({kind:Tr,number:O(),title:p(),comments:O(),blocked:O(),status:ni}),CD=w({login:p(),count:O(),flagged:D().optional()}),zD=w({login:p(),reason:p(),caughtBy:p(),status:z(["Hidden","Removed"]),commentId:p().optional()}),ND=w({kind:z(["review","check"]),title:p(),detail:p(),status:z(["Approved","Changes","Passed","Failed"]),actor:p().optional()}),LD=w({kind:Tr,number:O(),title:p(),status:ni,meta:p(),metrics:k(ix),series:k(O()),byParticipant:k(CD),flagged:k(zD).optional(),checks:k(ND).optional()}),fae=w({metrics:k(ix),blockedByRule:k(RD),activeThreads:k(AD),threads:K(p(),LD)});var _o=z(["issue","pull","comment"]),Cf=z(["spam","harassment","off-topic","automod","nsfw"]),zf=z(["low","medium","high","critical"]),jD=z(["pending","resolved"]),bo=w({login:p(),avatarUrl:p()}),yae=w({id:p(),type:_o,repository:gc,number:O(),title:p(),bodyPreview:p(),author:bo,reason:Cf,severity:zf,reporter:bo.nullable(),automodRule:p().optional(),reportedAt:xe.datetime(),status:jD,comments:O(),reactions:O()}).superRefine((e,t)=>{if(e.reporter===null&&e.automodRule===void 0)t.addIssue({code:"custom",path:["automodRule"],message:"automod-sourced items (reporter: null) must name the automodRule that fired"});if(e.reporter!==null&&e.automodRule!==void 0)t.addIssue({code:"custom",path:["automodRule"],message:"human-reported items (reporter set) must not carry an automodRule"})}),Zr=w({value:O(),delta:O(),series:k(O())}),wae=w({sentToReview:Zr,blocked:Zr,passed:Zr}),bae=z(["approve","remove","ban"]);var DD=z(["info","warn","critical"]),MD=w({severity:DD,file:p(),line:O().int().min(1).optional(),note:p().max(240)}),Sae=w({verdict:z(["pass","block","needs_review"]),confidence:O().min(0).max(1),summary:p().max(200),findings:k(MD).max(5)}),ax=w({model:p().optional(),maxSteps:O().int().min(1).max(15).default(12)});var qD=w({type:z(["reasoning","tool_call"]),toolName:p().optional(),excerpt:p(),truncated:D()}),kae=w({model:p(),stepsUsed:O().int().min(0),maxSteps:O().int().min(0),trimmed:D(),costUsd:O().nullable().optional(),usage:w({input:O().int().min(0),output:O().int().min(0),cached:O().int().min(0).nullable()}),steps:k(qD)});var FD=z(["blocklist","heuristic","classifier","regex"]),UD=z(["flag","hide","close","require-review"]),WD=z(["pending","confirmed","false-positive"]),VD=w({id:p(),type:_o,repoFullName:p(),number:O(),author:w({login:p(),avatarUrl:p()}),snippet:p(),matchedAt:xe.datetime(),verdict:WD,threadKind:Tr,commentId:p()}),Aae=w({id:p(),name:p(),description:p(),category:FD,pattern:p(),scope:k(_o),action:UD,enabled:D(),matches24h:O(),matches30d:O(),falsePositiveRate:O().min(0).max(100),lastFiredAt:xe.datetime(),trend:k(O()),recentMatches:k(VD)}),Cae=w({activeRules:Zr,matches24h:Zr,falsePositiveRate:Zr,autoActioned24h:Zr}),ZD=w({ruleId:p(),version:O().int().min(1),status:z(["evaluated","skipped"]),passed:D(),evidence:ne(),reason:p().optional(),cause:nx.optional(),evaluatedAt:xe.datetime()}),zae=ZD.pick({ruleId:!0});var BD=w({minDays:O().int().min(0)}),Nae=w({min:O().int().min(0)}),KD=w({min:O().int().min(0).default(1).describe("minimum merged change requests in other people's repos"),trustedAfter:O().int().min(1).default(1).describe("merges in this repo that exempt a proven local contributor")}),HD=w({maxPerWindow:O().int().min(1),windowHours:O().min(0.1).default(24)}),GD=w({max:O().int().min(1)}),JD=w({maxNonLatinRatio:O().min(0).max(1).default(0.5)}),YD=w({}),XD=w({paths:k(p()).min(1)}),QD=w({minLength:O().int().min(1).default(32)}),Ge=[{ruleId:"account-age",forges:["github"],version:1,name:"Account age",blurb:"the contributor's forge account must be at least N days old.",configSchema:BD,defaultConfig:{minDays:7},optIn:!1,description:"Flags change requests from accounts younger than a threshold you set.",contributorLabel:"your account is too new for this repository."},{ruleId:"min-merged-prs",forges:["github"],version:2,name:"Merged change requests",blurb:"requires N merged change requests in OTHER people's repos, as proof that someone else accepted their work.",configSchema:KD,defaultConfig:{min:1,trustedAfter:1},optIn:!1,changeNote:"counts merges globally, not per-repo",description:"Requires N merged change requests in other people's repos, as proof that someone else accepted their work.",contributorLabel:"you need merged change requests in other people's repositories first."},{ruleId:"pr-rate-limit",forges:["github"],version:1,name:"Rate limit",blurb:"caps change requests per window; spray patterns surface in evidence.",configSchema:HD,defaultConfig:{maxPerWindow:5,windowHours:24},optIn:!1,description:"Caps how many change requests one person can open in a time window.",contributorLabel:"you opened too many change requests in a short time."},{ruleId:"max-files-changed",forges:["github"],version:1,name:"Max files changed",blurb:"caps the number of files a change request may touch.",configSchema:GD,defaultConfig:{max:200},optIn:!1,description:"Flags change requests that touch more files than you allow.",contributorLabel:"this change request changes too many files. Split it into smaller ones."},{ruleId:"english-only",version:1,name:"English only",blurb:"title/comment must be predominantly latin-script.",configSchema:JD,defaultConfig:{maxNonLatinRatio:0.5},optIn:!1,description:"Flags titles and comments that aren't mostly latin script.",contributorLabel:"write the title and comments in English.",evidenceRedaction:{"matched-values":["sample"]}},{ruleId:"crypto-address",forges:["github"],version:1,name:"Crypto address",blurb:"blocks cryptocurrency addresses in titles, comments, and diffs.",configSchema:YD,defaultConfig:{},optIn:!1,description:"Catches cryptocurrency addresses in titles, comments, and diffs.",contributorLabel:"this change request adds crypto wallet addresses. Remove them.",summaryReveals:["file-paths"],evidenceRedaction:{"matched-values":["matches.*.value"],"file-paths":["matches.*.location"]}},{ruleId:"honeypot",forges:["github"],version:1,name:"Honeypot paths",blurb:"no legitimate change request touches these paths.",configSchema:XD,defaultConfig:{paths:[".github/workflows/**"]},optIn:!1,description:"Catches change requests that touch paths no legitimate change would.",contributorLabel:"this change request changes protected files. Undo those changes.",evidenceRedaction:{"file-paths":["touched"]}},{ruleId:"profile-readme",forges:["github"],version:1,name:"Profile README",blurb:"requires a minimum of profile text, which shows identity investment.",configSchema:QD,defaultConfig:{minLength:32},optIn:!1,description:"Requires a minimum of profile text. Throwaway accounts rarely add one.",contributorLabel:"add a short bio to your profile."},{ruleId:"ai-review",forges:["github"],version:2,name:"AI review",blurb:"reads the change like a reviewer and flags slop.",configSchema:ax,defaultConfig:{maxSteps:12},optIn:!0,changeNote:"findings must quote code",description:"Reads the change like a reviewer and flags slop.",contributorLabel:"this change request has problems a reviewer would flag.",summaryReveals:["ai-summary"],evidenceRedaction:{"matched-values":["output.findings.*.note"],"file-paths":["output.findings.*.file","output.findings.*.line"]}}];var Wae=K(p(),qe);var rM=z(["silent","ci-check","comment"]),cx=z(["comment","silent"]),nM=z(["full","one-liner-link","custom"]),Nf=w({customText:p().max(4000).default(""),showDetailsButton:D().default(!0)}),oM=Nf.extend({mode:nM.default("full"),template:p().max(4000).default("")}),sM=w({onSuccess:rM.default("ci-check"),passComment:Nf.prefault({}),onBlock:cx.default("comment"),blockComment:oM.prefault({}),moderationQueued:cx.default("comment"),reviewComment:Nf.prefault({}),failClosedFallback:D().default(!0),redaction:sx.prefault({})}),iM=w({redaction:Oc.prefault({})}),Kae=iM.parse({});var aM=sM.parse({});var ux="If you think this is wrong, say so in a comment. A maintainer will decide.",lx="If you think it should merge anyway, say so in a comment. A maintainer will decide.",ice=`Push a commit that fixes the problems. Tripwire checks every push.
|
|
229
229
|
|
|
230
|
-
${
|
|
230
|
+
${ux}`,ace=`A new commit will not fix this.
|
|
231
231
|
|
|
232
|
-
${
|
|
232
|
+
${lx}`,cce=`Fix what you can and push. Some problems will not clear with a new commit.
|
|
233
233
|
|
|
234
|
-
${
|
|
234
|
+
${lx}`,uce=`Push a new commit to run the checks again.
|
|
235
235
|
|
|
236
|
-
${jk}`;var bj=b({total:P(),weeks:x(x(P().min(0).max(4)))}),wj=b({accountAgeDays:P(),location:p().nullable(),emailVerified:j(),twoFactor:j()}),_j=b({mergedPrs:P(),openPrs:P(),comments:P(),hiddenByAutomod:P()}),vj=z(["automod-hidden","pull-opened","comment-removed","issue-comment","flagged","account-created"]),Sj=b({id:p(),kind:vj,title:p(),detail:p(),at:ve.datetime()}),Uie=b({handle:p(),initial:p(),joinedDaysAgo:P(),publicRepos:P(),followers:P(),watchlisted:j(),contributions:bj,details:wj,repoStats:_j,activity:x(Sj)});var kj=["under","over","atLeast","atMost","between","equals","not","oneOf","noneOf","has","containsAny","noneMatch","anyIn"],qk=p().regex(/^\d+(h|d)$/,"window must be a count and a unit, like 24h or 7d"),xj=vr("kind",[b({kind:C("last"),window:qk}),b({kind:C("lastCount"),window:qk}),b({kind:C("trimmedLength")}),b({kind:C("nonLatinRatio")}),b({kind:C("letterCount")})]),$j=ne([P(),p(),j()]),Ej=ne([$j,x(ne([P(),p()]))]),Fk=b({kind:z(kj),args:x(Ej)}),Tj=ne([Fk.refine((e)=>e.kind!=="not",{message:"not takes an inner comparison"}),b({kind:C("not"),args:mL([Fk])})]),Oj=b({when:b({id:p().min(1),transform:xj.optional()}),comparison:Tj,severity:z(["low","medium","high"])});var Kie=b({id:p().regex(/^custom-[a-z0-9][a-z0-9-]*$/,"id must be custom-<kebab-slug>"),name:p().min(1).max(80),enabled:j(),definition:Oj}),Hie=b({});var Xie=z(["prod","eval","dev"]),Qie=z(["railway","openrouter","planetscale"]);var nae=z(["pending","granted-admin","denied","not-admin","not-for-tripwire","token-expired","failed"]);var Xt={installationId:p(),forge:Zs},oae=vr("status",[b({...Xt,status:C("claimable"),account:p().nullable(),repoCount:P(),stateOrg:b({id:p(),slug:p(),name:p()}).nullable()}),b({...Xt,status:C("claimed-by-your-org"),orgSlug:p()}),b({...Xt,status:C("processing")}),b({...Xt,status:C("recovering")}),b({...Xt,status:C("unreadable")}),b({...Xt,status:C("missing"),recoverable:j()}),b({...Xt,status:C("not-for-tripwire")}),b({...Xt,status:C("not-yours"),recoverable:j()}),b({...Xt,status:C("token-expired")}),b({...Xt,status:C("not-admin"),account:p().nullable()})]);var Pj=/^(Too (small|big)|Invalid (input|option|string|number|key|element|value)|Unrecognized key)/,Ij=new Map([["number","a number"],["int","a whole number"],["string","text"],["boolean","true or false"],["array","a list"],["object","a group of settings"]]);function $c(e,t){return`${e} ${t}${e===1?"":"s"}`}function Aj(e){return e.map(String).join(".")}function Rj(e,t){switch(e.code){case"too_small":{if(e.origin==="array"||e.origin==="set")return`${t} needs at least ${$c(e.minimum,"item")}`;if(e.origin==="string")return e.minimum===1?`${t} cannot be empty`:`${t} needs at least ${$c(e.minimum,"character")}`;return e.inclusive===!1?`${t} must be more than ${e.minimum}`:`${t} must be ${e.minimum} or more`}case"too_big":{if(e.origin==="array"||e.origin==="set")return`${t} can have at most ${$c(e.maximum,"item")}`;if(e.origin==="string")return`${t} can be at most ${$c(e.maximum,"character")}`;return e.inclusive===!1?`${t} must be less than ${e.maximum}`:`${t} must be ${e.maximum} or less`}case"invalid_type":return/received undefined/.test(e.message)?`${t} is missing`:`${t} must be ${Ij.get(e.expected)??e.expected}`;case"invalid_value":return e.values.length===1?`${t} must be ${String(e.values[0])}`:`${t} must be one of ${e.values.map(String).join(", ")}`;case"invalid_format":return`${t} is not a valid ${e.format}`;case"invalid_union":return`${t} is not in a form Tripwire can read`;case"unrecognized_keys":return`${e.keys.join(", ")} ${e.keys.length===1?"is not a setting":"are not settings"}`;default:return null}}function mo(e,t){let r=t?.(e.path)??null,n=r??Aj(e.path);if(Pj.test(e.message)){let o=Rj(e,n||"This setting");if(o)return o}if(r)return`${r} is not valid: ${e.message}`;return n?`${n}: ${e.message}`:e.message}var vf=z(["admin","member"]),Cj=new Set(["activity","analytics","api","dev","dither-kit","invite","login","moderation","oauth","onboarding","queue","rules","runs","workflows","admin","app","auth","blog","brand","changelog","dashboard","docs","help","home","legal","new","pricing","privacy","settings","signup","status","support","terms","www","tripwire","boring","boringsoftware"]),zj=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,cae=p().min(3,"slug must be at least 3 characters").max(32,"slug must be at most 32 characters").regex(zj,"lowercase letters, numbers, and hyphens only, with no leading or trailing hyphen").refine((e)=>!Cj.has(e),{message:"this name is reserved"});var uae=z(["User","Organization"]),lae=b({role:vf,maxUses:P().int().min(1).max(1000).default(1),expiresInDays:P().int().min(1).max(90).default(7)});var Sf=["moderation","activity","rules","workflows","responses","analytics","connections","members","settings"],kf=z(Sf),Uk=["read","manage"],Qt=z(Uk),mae=IL([kf,":",Qt]),hae=Sf.flatMap((e)=>Uk.map((t)=>`${e}:${t}`));var Wk=b({moderation:Qt.optional(),activity:Qt.optional(),rules:Qt.optional(),workflows:Qt.optional(),responses:Qt.optional(),analytics:Qt.optional(),connections:Qt.optional(),members:C("read").optional(),settings:C("read").optional()}).strict().refine((e)=>Object.values(e).some(Boolean),{message:"pick at least one area"}),Nj=tf(kf,x(Qt).min(1));var gae=tf(kf,Qt);function Lj(e){let t={};for(let r of Sf){let n=e[r];if(n?.includes("manage"))t[r]="manage";else if(n?.includes("read"))t[r]="read"}return t}var Dj=new Set(["admin","member","owner"]),xf=p().trim().toLowerCase().min(2,"use at least 2 characters").max(32,"use at most 32 characters").regex(/^[a-z][a-z0-9-]*[a-z0-9]$/,"use lowercase letters, numbers and hyphens, starting with a letter").refine((e)=>!Dj.has(e),{message:"this name is taken by a built-in role"}),yae=b({name:xf,scopes:Wk}),Vk=Nj.refine((e)=>Wk.safeParse(Lj(e)).success,{message:"this role grants access a custom role cannot hold"}),bae=b({organizationId:p().min(1),role:xf,permission:Vk}).strict(),wae=b({organizationId:p().min(1),roleName:p().min(1).optional(),roleId:p().min(1).optional(),data:b({permission:Vk}).strict()}).strict(),_ae=ne([vf,xf]);var jj=z(["public","private"]),Kk=b({name:p(),className:p()}),Mj=b({name:p(),description:p(),visibility:jj,openIssues:P(),openPulls:P(),flagged:P(),updatedAt:ve.datetime()}),Zk=b({kind:xr,number:P(),title:p(),status:Js,author:p(),openedAt:ve.datetime(),comments:P(),flagged:P(),labels:x(Kk)}),qj=b({state:z(["Hidden","Removed"]),rule:p()}),Fj=b({id:p(),author:p(),body:p(),createdAt:ve.datetime(),flag:qj.optional()}),Bk=b({kind:xr,number:P(),title:p(),status:Js,author:p(),openedAt:ve.datetime(),labels:x(Kk),body:p(),comments:x(Fj),branch:p().optional(),baseBranch:p().optional()}),xae=b({repos:x(Mj),issues:x(Zk),pulls:x(Zk),issueDetails:J(p(),Bk),pullDetails:J(p(),Bk)});var Tae=new Set(xk.nodes.filter((e)=>e.type==="rule").map((e)=>e.ref));var Uj=z(["removed","hidden","banned","dismissed","required-review"]),Wj=z(["actioned","dismissed","appealed","reversed"]),Vj=z(["automod","report","manual"]),Zj=b({kind:Vj,detail:p(),reporter:po.optional()}),Bj=b({at:ve.datetime(),label:p(),by:p()}),Kj=b({id:p(),type:fo,repoFullName:p(),number:P(),content:p(),threadKind:xr,commentId:p()}),Rae=b({id:p(),label:p(),reason:bf,severity:wf,action:Uj,status:Wj,author:po,moderator:po.nullable(),caughtBy:Zj,at:ve.datetime(),snapshot:j(),items:x(Kj),history:x(Bj)}),Cae=z(["what","reason","caught"]),ho=z(["pass","block","needs_review"]);var Hk=z(["queued","running","paused","completed","failed","closed"]),Dae=Hk.options,jae=z(["checking","did-not-finish","pass","block","needs_review","closed-before-review","ran"]),Ec={checking:"Checking","did-not-finish":"Did not finish",pass:"Passed",block:"Blocked",needs_review:"Waiting for human review","closed-before-review":"Closed before review",ran:"Ran"},Mae=Hk.nullable().catch(null),qae=ho.nullable().catch(null);var Gk=z(["event","pass","fail","approve","deny"]),Wae=z(["event","result","decision"]),Vae=z(["identity","not"]),ut={event:{type:"event",fn:"identity",label:"Event"},pass:{type:"result",fn:"identity",label:"Passes"},fail:{type:"result",fn:"not",label:"Doesn't pass"},approve:{type:"decision",fn:"identity",label:"Approved"},deny:{type:"decision",fn:"not",label:"Blocked"}},Hj={identity:{event:"event",result:"result",decision:"decision"},not:{result:"result",decision:"decision"}};function Gj(e,t){return Hj[e][t]??null}function Jj(e){let t=ut[e];return Gj(t.fn,t.type)}var Xs={event:ut.event.label,pass:ut.pass.label,fail:ut.fail.label,approve:ut.approve.label,deny:ut.deny.label},$f={event:ut.event.type,pass:ut.pass.type,fail:ut.fail.type,approve:ut.approve.type,deny:ut.deny.type};function go(e){let t=ut[e];if(t.type==="event")return"neutral";return t.fn==="not"?"fail":"ok"}var Zae={event:go("event"),pass:go("pass"),fail:go("fail"),approve:go("approve"),deny:go("deny")},Yj={trigger:[],rule:["event","result","decision"],gate:["result"],action:["event","result","decision"]},Xj={"send-to-moderation":["approve","deny"]},Qj=Gk.options;function Jk(e){return Yj[e]}function Tc(e,t){let r=Jj(t);return r!==null&&Jk(e).includes(r)}function Ys(e){return Qj.filter((t)=>Tc(e,t))}var Bae={trigger:{accepts:Ys("trigger")},rule:{accepts:Ys("rule")},gate:{accepts:Ys("gate")},action:{accepts:Ys("action")}};function Qs(e){switch(e.type){case"trigger":return["event"];case"rule":case"gate":return["pass","fail"];case"action":return e.action==="send-to-moderation"?Xj[e.action]:[];default:return[]}}function In(e,t){if(e.type==="trigger"&&(t===void 0||t==="pass"))return"event";return t??"pass"}var tx={schema:{severity:"error",stage:"structure"},"no-trigger-events":{severity:"error",stage:"structure"},"duplicate-id":{severity:"error",stage:"structure"},"missing-step":{severity:"error",stage:"structure"},"no-trigger":{severity:"error",stage:"structure"},"trigger-input":{severity:"error",stage:"structure"},"gate-input":{severity:"error",stage:"structure"},"no-outputs":{severity:"error",stage:"structure"},"wrong-output":{severity:"error",stage:"structure"},"not-input":{severity:"error",stage:"structure"},"orphan-step":{severity:"error",stage:"structure"},cycle:{severity:"error",stage:"structure"},"no-action":{severity:"error",stage:"enable"},"schedule-config":{severity:"error",stage:"enable"},"action-params":{severity:"error",stage:"enable"},"schedule-mixed":{severity:"error",stage:"enable"},"schedule-needs-change-request":{severity:"error",stage:"enable"},"unknown-rule":{severity:"error",stage:"enable"},"rule-unavailable":{severity:"warning",stage:"enable"},"rule-config":{severity:"error",stage:"enable"},"removed-step":{severity:"error",stage:"enable"},"review-targets":{severity:"error",stage:"enable"},"stale-reviewer":{severity:"warning",stage:"enable"},"dead-end":{severity:"warning",stage:"enable"}},An=(e)=>({label:"Remove connection",edit:{type:"remove-edge",edgeId:e}}),ei=(e)=>({label:"Delete",edit:{type:"delete-node",nodeId:e}});function Tf(e){let t=e.trim();return/[.?]$/.test(t)?t:`${t}.`}function eM(e){let t=e.trim();return Tf(`${t.charAt(0).toUpperCase()}${t.slice(1)}`)}function rx(e){if(e.length<=1)return e.join("");return`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`}function Oc(e,t=He){switch(e.type){case"trigger":return"Trigger";case"rule":{let[r]=e.ref.split("@");return He.find((n)=>n.ruleId===r)?.name??t.find((n)=>n.ruleId===r)?.name??e.ref}case"gate":return Ek.find((r)=>r.mode===e.mode)?.name??e.mode;case"action":return Tk.find((r)=>r.action===e.action)?.name??`${e.action.charAt(0).toUpperCase()}${e.action.slice(1)}`;default:return"Step"}}function nx(e,t,r,n){if(Tc(e.type,t))return null;if(e.type==="trigger")return{rule:"trigger-input",message:n?`${r} takes no inputs, but ${n} connects to it`:`${r} takes no inputs`};let o=n?` from ${n}`:"",s=$f[t];return{rule:"gate-input",message:`${r} takes rule results, not ${s==="event"?"events":"decisions"}${o}`}}function ox(e,t,r){let n=Qs(e);if(n.length===0)return{rule:"no-outputs",message:`${r} has no outputs`};if(!n.includes(t))return{rule:"wrong-output",message:`${r} has no ${Xs[t]} output`};return null}function tM(e){return $f[e]==="event"?"It takes rule results, not events.":"It takes rule results, not decisions."}function Of(e,t=He){let r=new Map,n=new Map;for(let o of e.nodes){let s=Oc(o,t),i=(r.get(s)??0)+1;r.set(s,i),n.set(o.id,i===1?s:`${s} ${i}`)}return n}function rM(e,t){if(t==="event")return[{label:"Insert a rule",intent:{type:"insert-step",edgeId:e.id}},An(e.id)];return[An(e.id)]}function nM(e){let t=[],r=new Set;for(let o of e.def.nodes){if(r.has(o.id))t.push({nodeId:o.id,message:"Another step uses the same id. Rename one.",fixes:[]});r.add(o.id)}let n=new Set;for(let o of e.def.edges){if(n.has(o.id))t.push({edgeId:o.id,message:"Another connection uses the same id. Rename one.",fixes:[]});n.add(o.id)}return t}function oM(e){return e.def.edges.flatMap((t)=>[t.from,t.to].filter((r)=>!e.byId.has(r)).map(()=>({edgeId:t.id,message:"A connection points to a step that is gone.",fixes:[An(t.id)]})))}function sM(e){return e.def.nodes.some((t)=>t.type==="trigger")?[]:[{message:"Add a trigger to start it.",fixes:[{label:"Add trigger",edit:{type:"add-trigger"}}]}]}function sx(e,t){let r=e.byId.get(t.from),n=e.byId.get(t.to);return r&&n?{source:r,target:n}:null}function Yk(e){return(t)=>t.def.edges.flatMap((r)=>{let n=sx(t,r);if(!n||ox(n.source,In(n.source,r.when),""))return[];let o=In(n.source,r.when);if(nx(n.target,o,t.name(n.target),t.name(n.source))?.rule!==e)return[];return[{edgeId:r.id,nodeId:n.target.id,message:e==="gate-input"?tM(o):"It takes no inputs.",fixes:e==="gate-input"?rM(r,o):[An(r.id)]}]})}function Xk(e){return(t)=>t.def.edges.flatMap((r)=>{let n=sx(t,r);if(!n)return[];if(ox(n.source,In(n.source,r.when),t.name(n.source))?.rule!==e)return[];let s=Qs(n.source).includes("pass");return[{edgeId:r.id,nodeId:n.source.id,message:e==="no-outputs"?"It has no outputs.":`It has no ${Xs[In(n.source,r.when)]} output.`,fixes:e==="wrong-output"&&s?[{label:"Use Passes",edit:{type:"use-passes",edgeId:r.id}},An(r.id)]:[An(r.id)]}]})}function iM(e){return e.def.nodes.flatMap((t)=>{let r=e.incoming.get(t.id)??[],[n]=r;if(t.type!=="gate"||t.mode!=="not"||r.length<2||!n)return[];return[{nodeId:t.id,message:"It takes one input. Keep one.",fixes:[{label:"Keep first input",edit:{type:"keep-one-input",nodeId:t.id,edgeId:n.id}}]}]})}function aM(e){let t=e.def.nodes.filter((n)=>n.type==="trigger"),[r]=t;return e.def.nodes.flatMap((n)=>{if(n.type==="trigger"||(e.incoming.get(n.id)??[]).length>0)return[];let o=t.length===1&&r&&Tc(n.type,"event")?[{label:"Connect",edit:{type:"connect",from:r.id,to:n.id}}]:[];return[{nodeId:n.id,message:"Nothing runs it. Connect it or delete it.",fixes:[...o,ei(n.id)]}]})}function cM(e){let t=new Map,r=[],n=[],o=(s)=>{t.set(s,"visiting"),r.push(s);for(let i of e.outgoing.get(s)??[]){let a=t.get(i.to);if(a==="visiting"){let u=r.slice(r.indexOf(i.to)).flatMap((l)=>{let d=e.byId.get(l);return d?[e.name(d)]:[]});n.push({edgeId:i.id,nodeId:i.to,message:u.length===1?"It connects to itself.":`It loops back through ${rx(u.slice(1))}.`,fixes:[An(i.id)]})}else if(a===void 0&&e.byId.has(i.to))o(i.to)}r.pop(),t.set(s,"done")};for(let s of e.def.nodes)if(!t.has(s.id))o(s.id);return n}function uM(e){return ix(e,e.def.nodes.filter((t)=>t.type==="trigger").map((t)=>t.id))}function lM(e){let t=uM(e),r=e.def.nodes.find((n)=>n.type==="trigger");return e.def.nodes.some((n)=>n.type==="action"&&t.has(n.id))?[]:[{message:"Add an action after the trigger.",fixes:r?[{label:"Add action",intent:{type:"add-next-step",nodeId:r.id,port:"event"}}]:[]}]}var dM={every:"how often it runs",subjects:"what it looks at",state:"a status",inactiveFor:"how long without activity"};function pM(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="trigger"||!Sc(t))return[];let r=Sk(t.schedule);if(r.length===0)return[];let[n]=r;return[{nodeId:t.id,message:`Set ${rx(r.map((o)=>dM[o]))}.`,fixes:[{label:"Set schedule",intent:{type:"focus-field",nodeId:t.id,field:n??"schedule"}}]}]})}var fM={"remove-label":{schema:Mr,field:"labels",message:"Pick the labels to remove.",label:"Pick labels"},"post-comment":{schema:wc,field:"message",message:"Write the message.",label:"Write message"}},mM=new Set(["discord.com","discordapp.com","ptb.discord.com","canary.discord.com"]),hM=b({url:p().optional(),urlSet:j().optional()});function gM(e,t){let r=hM.safeParse(t??{});if(!r.success)return!1;let{url:n,urlSet:o}=r.data;if(n===void 0||n==="")return o===!0;let s=qs({protocol:/^https$/}).safeParse(n);if(!s.success)return!1;if(e==="webhook")return!0;let i=new URL(s.data);return mM.has(i.hostname)&&i.pathname.startsWith("/api/webhooks/")}var yM={webhook:{message:"Set the webhook URL. It must use HTTPS.",label:"Set URL"},discord:{message:"Set the Discord webhook URL.",label:"Set URL"}};function Ef(e,t,r,n){return{nodeId:e,message:t,fixes:[{label:r,intent:{type:"focus-field",nodeId:e,field:n}}]}}function bM(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="action")return[];if(t.action==="webhook"||t.action==="discord"){let o=yM[t.action];return gM(t.action,t.params)?[]:[Ef(t.id,o.message,o.label,"url")]}if(t.action==="label")return Mr.safeParse(t.params??{}).success?[]:[Ef(t.id,"Pick the labels to add.","Pick labels","labels")];let r=t.action==="remove-label"||t.action==="post-comment"?fM[t.action]:null,n=r?.schema.safeParse(t.params??{});if(!(r&&n)||n.success)return[];return[Ef(t.id,r.message,r.label,r.field)]})}function wM(e){return e.def.nodes.flatMap((t)=>t.type==="trigger"&&Sc(t)&&t.kinds.length>1?[{nodeId:t.id,message:"It cannot run on a schedule and on events. Pick one.",fixes:[{label:"Pick one",intent:{type:"focus-field",nodeId:t.id,field:"kinds"}}]}]:[])}var _M=new Set(["block","send-to-moderation"]);function ix(e,t){let r=new Set,n=[...t];for(let o=n.pop();o!==void 0;o=n.pop()){if(r.has(o))continue;r.add(o),n.push(...(e.outgoing.get(o)??[]).map((s)=>s.to))}return r}function vM(e){let t=ix(e,e.def.nodes.filter(Sc).map((r)=>r.id));return e.def.nodes.flatMap((r)=>r.type==="action"&&t.has(r.id)&&_M.has(r.action)?[{nodeId:r.id,message:"It needs a change request event. A schedule cannot run it.",fixes:[ei(r.id)]}]:[])}function Pf(e,t){let[r,n]=t.split("@");return e.catalog.find((o)=>o.ruleId===r&&o.version===Number(n))}function SM(e){return e.def.nodes.flatMap((t)=>t.type==="rule"&&!Pf(e,t.ref)?[{nodeId:t.id,message:"This rule is not in this repo.",fixes:[ei(t.id)]}]:[])}function kM(e){return e.def.nodes.flatMap((t)=>{let r=t.type==="rule"?Pf(e,t.ref)?.unavailable:null;return r?[{nodeId:t.id,message:r,fixes:[]}]:[]})}function xM(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="rule")return[];let r=Pf(e,t.ref),n=r?.configSchema.safeParse(t.config);if(!(r&&n)||n.success)return[];let o=n.error.issues[0],s=o?.path[0];return[{nodeId:t.id,message:o?`Fix this setting: ${Tf(mo(o))}`:"A setting is not valid.",fixes:s===void 0?[]:[{label:"Edit setting",intent:{type:"focus-field",nodeId:t.id,field:String(s)}}]}]})}var $M={comment:"Customize sets the verdict comment now"};function EM(e){return e.def.nodes.flatMap((t)=>t.type==="action"&&mk(t.action)?[{nodeId:t.id,message:`This step was removed. ${eM($M[t.action])}`,fixes:[ei(t.id)]}]:[])}function TM(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="action"||t.action!=="request-review")return[];let r=gk.safeParse(t.params??{});if(r.success)return[];let n=r.error.issues[0],o=n?.code==="custom"&&n.path.length===0&&n.message.startsWith("add"),s=n?.path[0]==="teamReviewers"?"teamReviewers":"reviewers";return[{nodeId:t.id,message:o?"Pick people or teams to ask.":n?.message?`Fix the reviewers: ${Tf(n.message)}`:"A reviewer is not valid.",fixes:[{label:o?"Add reviewers":"Edit reviewers",intent:{type:"focus-field",nodeId:t.id,field:s}}]}]})}function OM(e){let t=e.reviewers;if(!t)return[];return e.def.nodes.flatMap((r)=>{if(r.type!=="action"||r.action!=="request-review")return[];let n=Hs.safeParse(r.params??{});if(!n.success)return[];return n.data.reviewers.filter((o)=>!t.some((s)=>hk(s,o))).map((o)=>({nodeId:r.id,message:`Remove ${o.login}. They can no longer review this repo.`,fixes:[{label:"Remove",edit:{type:"remove-reviewer",nodeId:r.id,reviewer:o}}]}))})}function PM(e){return e.def.nodes.flatMap((t)=>{let[r]=Qs(t);if(t.type==="action"||!r||(e.outgoing.get(t.id)??[]).length>0||t.type!=="trigger"&&(e.incoming.get(t.id)??[]).length===0)return[];return[{nodeId:t.id,message:"Nothing runs after it.",fixes:[{label:"Add step",intent:{type:"add-next-step",nodeId:t.id,port:r}},ei(t.id)]}]})}var IM=[{rule:"duplicate-id",check:nM},{rule:"missing-step",check:oM},{rule:"no-trigger",check:sM},{rule:"trigger-input",check:Yk("trigger-input")},{rule:"gate-input",check:Yk("gate-input")},{rule:"no-outputs",check:Xk("no-outputs")},{rule:"wrong-output",check:Xk("wrong-output")},{rule:"not-input",check:iM},{rule:"orphan-step",check:aM},{rule:"cycle",check:cM},{rule:"no-action",check:lM},{rule:"schedule-config",check:pM},{rule:"action-params",check:bM},{rule:"schedule-mixed",check:wM},{rule:"schedule-needs-change-request",check:vM},{rule:"unknown-rule",check:SM},{rule:"rule-unavailable",check:kM},{rule:"rule-config",check:xM},{rule:"removed-step",check:EM},{rule:"review-targets",check:TM},{rule:"stale-reviewer",check:OM},{rule:"dead-end",check:PM}];function Qk(e,t){let r=new Map;for(let n of e)r.set(n[t],[...r.get(n[t])??[],n]);return r}function If(e,t,r=new Map){return{rule:e,severity:tx[e].severity,step:t.nodeId?r.get(t.nodeId)??"Step":"Workflow",...t}}function ex(e,t,r,n){let o=Of(e,t),s={def:e,byId:new Map(e.nodes.map((c)=>[c.id,c])),incoming:Qk(e.edges,"to"),outgoing:Qk(e.edges,"from"),name:(c)=>o.get(c.id)??Oc(c,t),catalog:t,reviewers:n},i=IM.flatMap(({rule:c,check:u})=>r==="structure"&&tx[c].stage!=="structure"?[]:u(s).map((l)=>If(c,l,o)));return i.some((c)=>c.rule==="no-action")?i.filter((c)=>c.rule!=="dead-end"||s.byId.get(c.nodeId??"")?.type!=="trigger"):i}var AM=b({nodes:x(xe({id:p().catch(""),type:p().catch(""),kinds:x(p()).optional().catch(void 0)}))});function RM(e,t){let r=new Map,n=new Map;for(let o of e){let s=yf.safeParse(o),i=s.success?Oc(s.data,t):o.type?`${o.type.charAt(0).toUpperCase()}${o.type.slice(1)}`:"Step",a=(r.get(i)??0)+1;r.set(i,a),n.set(o.id,a===1?i:`${i} ${a}`)}return n}function CM(e,t,r){return e.issues.map((n)=>{let[o,s]=n.path,i=o==="nodes"&&Number.isInteger(s)?t[Number(s)]:void 0;return If("schema",{nodeId:i||void 0,message:"A setting is not valid.",fixes:[]},r)})}function Af(e,t={}){let r=t.catalog??He,n=t.stage??"enable",o=(f)=>[...f].sort((m,h)=>Number(m.severity==="warning")-Number(h.severity==="warning")),s=kr.safeParse(e);if(s.success)return{definition:s.data,results:o(ex(s.data,r,n,t.reviewers))};let i=AM.safeParse(e),a=i.success?i.data.nodes:[],c=a.filter((f)=>f.type==="trigger"&&f.kinds?.length===0),u=kr.safeParse({...e,nodes:a.map((f)=>c.includes(f)?{...f,kinds:["push"]}:f)});if(c.length===0||!u.success)return{definition:null,results:CM(s.error,a.map((f)=>f.id),RM(a,r))};let l=Of(u.data,r),d=c.map((f)=>If("no-trigger-events",{nodeId:f.id,message:"Pick when it runs.",fixes:[{label:"Pick events",intent:{type:"focus-field",nodeId:f.id,field:"kinds"}}]},l));return{definition:null,results:o([...d,...ex(u.data,r,n,t.reviewers)])}}function ax(e,t={}){return Af(e,t).results}var zM={pass:Ec.pass,block:Ec.block,needs_review:Ec.needs_review},NM=ho.nullable().catch(null);function cx(e){let t=NM.parse(e??null);return t?zM[t]:null}var cce=x(kr).catch([]),uce=b({workflows:x(b({id:p(),name:p()})),issues:x(b({workflowId:p(),messages:x(p())})).optional()}).catch({workflows:[]}),lce=b({decision:z(["approve","deny"])}).nullable().catch(null);var dce=b({pausedNodeId:p()}).nullable().catch(null);var LM=["connect_mcp","install_app","sync_repos","pick_rules","turn_on_gate","verify_check"],ux=z(LM),lx=z(["active","waiting","completed","skipped","failed"]);var DM=p().regex(/^[A-Za-z0-9]{10}$/,"A run code is 10 letters or digits."),jM=/^([a-z0-9_-]+)#([A-Za-z0-9]{10})$/;function dx(e){let t=jM.exec(e.trim());if(!(t?.[1]&&t[2]))return null;return{org:t[1],code:t[2]}}var MM=b({status:lx,detail:p().max(256).nullable(),updatedAt:ve.datetime()}),qM=tf(ux,MM),mce=b({runCode:p().trim().min(1).max(200),stage:ux,status:lx,detail:p().trim().max(256).optional()}),hce=b({code:DM,stages:qM,completedAt:ve.datetime().nullable(),lastReportAt:ve.datetime().nullable()});function px(e){return e?`Please help me set up Tripwire.
|
|
236
|
+
${ux}`;var cM=w({total:O(),weeks:k(k(O().min(0).max(4)))}),uM=w({accountAgeDays:O(),location:p().nullable(),emailVerified:D(),twoFactor:D()}),lM=w({mergedPrs:O(),openPrs:O(),comments:O(),hiddenByAutomod:O()}),dM=z(["automod-hidden","pull-opened","comment-removed","issue-comment","flagged","account-created"]),pM=w({id:p(),kind:dM,title:p(),detail:p(),at:xe.datetime()}),pce=w({handle:p(),initial:p(),joinedDaysAgo:O(),publicRepos:O(),followers:O(),watchlisted:D(),contributions:cM,details:uM,repoStats:lM,activity:k(pM)});var fM=["under","over","atLeast","atMost","between","equals","not","oneOf","noneOf","has","containsAny","noneMatch","anyIn"],dx=p().regex(/^\d+(h|d)$/,"window must be a count and a unit, like 24h or 7d"),mM=tr("kind",[w({kind:C("last"),window:dx}),w({kind:C("lastCount"),window:dx}),w({kind:C("trimmedLength")}),w({kind:C("nonLatinRatio")}),w({kind:C("letterCount")})]),hM=te([O(),p(),D()]),gM=te([hM,k(te([O(),p()]))]),px=w({kind:z(fM),args:k(gM)}),yM=te([px.refine((e)=>e.kind!=="not",{message:"not takes an inner comparison"}),w({kind:C("not"),args:oj([px])})]),wM=w({when:w({id:p().min(1),transform:mM.optional()}),comparison:yM,severity:z(["low","medium","high"])});var yce=w({id:p().regex(/^custom-[a-z0-9][a-z0-9-]*$/,"id must be custom-<kebab-slug>"),name:p().min(1).max(80),enabled:D(),definition:wM}),wce=w({});var Sce=z(["prod","eval","dev"]),kce=z(["railway","openrouter","planetscale"]);var Tce=z(["pending","granted-admin","denied","not-admin","not-for-tripwire","token-expired","failed"]);var nr={installationId:p(),forge:Xs},Pce=tr("status",[w({...nr,status:C("claimable"),account:p().nullable(),repoCount:O(),stateOrg:w({id:p(),slug:p(),name:p()}).nullable()}),w({...nr,status:C("claimed-by-your-org"),orgSlug:p()}),w({...nr,status:C("processing")}),w({...nr,status:C("recovering")}),w({...nr,status:C("unreadable")}),w({...nr,status:C("missing"),recoverable:D()}),w({...nr,status:C("not-for-tripwire")}),w({...nr,status:C("not-yours"),recoverable:D()}),w({...nr,status:C("token-expired")}),w({...nr,status:C("not-admin"),account:p().nullable()})]);var bM=/^(Too (small|big)|Invalid (input|option|string|number|key|element|value)|Unrecognized key)/,_M=new Map([["number","a number"],["int","a whole number"],["string","text"],["boolean","true or false"],["array","a list"],["object","a group of settings"]]);function Ic(e,t){return`${e} ${t}${e===1?"":"s"}`}function vM(e){return e.map(String).join(".")}function SM(e,t){switch(e.code){case"too_small":{if(e.origin==="array"||e.origin==="set")return`${t} needs at least ${Ic(e.minimum,"item")}`;if(e.origin==="string")return e.minimum===1?`${t} cannot be empty`:`${t} needs at least ${Ic(e.minimum,"character")}`;return e.inclusive===!1?`${t} must be more than ${e.minimum}`:`${t} must be ${e.minimum} or more`}case"too_big":{if(e.origin==="array"||e.origin==="set")return`${t} can have at most ${Ic(e.maximum,"item")}`;if(e.origin==="string")return`${t} can be at most ${Ic(e.maximum,"character")}`;return e.inclusive===!1?`${t} must be less than ${e.maximum}`:`${t} must be ${e.maximum} or less`}case"invalid_type":return/received undefined/.test(e.message)?`${t} is missing`:`${t} must be ${_M.get(e.expected)??e.expected}`;case"invalid_value":return e.values.length===1?`${t} must be ${String(e.values[0])}`:`${t} must be one of ${e.values.map(String).join(", ")}`;case"invalid_format":return`${t} is not a valid ${e.format}`;case"invalid_union":return`${t} is not in a form Tripwire can read`;case"unrecognized_keys":return`${e.keys.join(", ")} ${e.keys.length===1?"is not a setting":"are not settings"}`;default:return null}}function vo(e,t){let r=t?.(e.path)??null,n=r??vM(e.path);if(bM.test(e.message)){let o=SM(e,n||"This setting");if(o)return o}if(r)return`${r} is not valid: ${e.message}`;return n?`${n}: ${e.message}`:e.message}var Lf=z(["admin","member"]),kM=new Set(["activity","analytics","api","dev","dither-kit","invite","login","moderation","oauth","onboarding","queue","rules","runs","workflows","admin","app","auth","blog","brand","changelog","dashboard","docs","help","home","legal","new","pricing","privacy","settings","signup","status","support","terms","www","tripwire","boring","boringsoftware"]),xM=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,Ace=p().min(3,"slug must be at least 3 characters").max(32,"slug must be at most 32 characters").regex(xM,"lowercase letters, numbers, and hyphens only, with no leading or trailing hyphen").refine((e)=>!kM.has(e),{message:"this name is reserved"});var Cce=z(["User","Organization"]),zce=w({role:Lf,maxUses:O().int().min(1).max(1000).default(1),expiresInDays:O().int().min(1).max(90).default(7)});var jf=["moderation","activity","rules","workflows","responses","analytics","connections","members","settings"],Df=z(jf),fx=["read","manage"],or=z(fx),Dce=_j([Df,":",or]),Mce=jf.flatMap((e)=>fx.map((t)=>`${e}:${t}`));var mx=w({moderation:or.optional(),activity:or.optional(),rules:or.optional(),workflows:or.optional(),responses:or.optional(),analytics:or.optional(),connections:or.optional(),members:C("read").optional(),settings:C("read").optional()}).strict().refine((e)=>Object.values(e).some(Boolean),{message:"pick at least one area"}),$M=yf(Df,k(or).min(1));var qce=yf(Df,or);function EM(e){let t={};for(let r of jf){let n=e[r];if(n?.includes("manage"))t[r]="manage";else if(n?.includes("read"))t[r]="read"}return t}var TM=new Set(["admin","member","owner"]),Mf=p().trim().toLowerCase().min(2,"use at least 2 characters").max(32,"use at most 32 characters").regex(/^[a-z][a-z0-9-]*[a-z0-9]$/,"use lowercase letters, numbers and hyphens, starting with a letter").refine((e)=>!TM.has(e),{message:"this name is taken by a built-in role"}),Fce=w({name:Mf,scopes:mx}),hx=$M.refine((e)=>mx.safeParse(EM(e)).success,{message:"this role grants access a custom role cannot hold"}),Uce=w({organizationId:p().min(1),role:Mf,permission:hx}).strict(),Wce=w({organizationId:p().min(1),roleName:p().min(1).optional(),roleId:p().min(1).optional(),data:w({permission:hx}).strict()}).strict(),Vce=te([Lf,Mf]);var PM=z(["public","private"]),wx=w({name:p(),className:p()}),OM=w({name:p(),description:p(),visibility:PM,openIssues:O(),openPulls:O(),flagged:O(),updatedAt:xe.datetime()}),gx=w({kind:Tr,number:O(),title:p(),status:ni,author:p(),openedAt:xe.datetime(),comments:O(),flagged:O(),labels:k(wx)}),IM=w({state:z(["Hidden","Removed"]),rule:p()}),RM=w({id:p(),author:p(),body:p(),createdAt:xe.datetime(),flag:IM.optional()}),yx=w({kind:Tr,number:O(),title:p(),status:ni,author:p(),openedAt:xe.datetime(),labels:k(wx),body:p(),comments:k(RM),branch:p().optional(),baseBranch:p().optional()}),Hce=w({repos:k(OM),issues:k(gx),pulls:k(gx),issueDetails:K(p(),yx),pullDetails:K(p(),yx)});var Yce=new Set(Gk.nodes.filter((e)=>e.type==="rule").map((e)=>e.ref));var AM=z(["removed","hidden","banned","dismissed","required-review"]),CM=z(["actioned","dismissed","appealed","reversed"]),zM=z(["automod","report","manual"]),NM=w({kind:zM,detail:p(),reporter:bo.optional()}),LM=w({at:xe.datetime(),label:p(),by:p()}),jM=w({id:p(),type:_o,repoFullName:p(),number:O(),content:p(),threadKind:Tr,commentId:p()}),rue=w({id:p(),label:p(),reason:Cf,severity:zf,action:AM,status:CM,author:bo,moderator:bo.nullable(),caughtBy:NM,at:xe.datetime(),snapshot:D(),items:k(jM),history:k(LM)}),nue=z(["what","reason","caught"]),So=z(["pass","block","needs_review"]);var bx=z(["queued","running","paused","completed","failed","closed"]),aue=bx.options,cue=z(["checking","did-not-finish","pass","block","needs_review","closed-before-review","ran"]),Rc={checking:"Checking","did-not-finish":"Did not finish",pass:"Passed",block:"Blocked",needs_review:"Waiting for human review","closed-before-review":"Closed before review",ran:"Ran"},uue=bx.nullable().catch(null),lue=So.nullable().catch(null);var _x=z(["event","pass","fail","approve","deny"]),fue=z(["event","result","decision"]),mue=z(["identity","not"]),ut={event:{type:"event",fn:"identity",label:"Event"},pass:{type:"result",fn:"identity",label:"Passes"},fail:{type:"result",fn:"not",label:"Doesn't pass"},approve:{type:"decision",fn:"identity",label:"Approved"},deny:{type:"decision",fn:"not",label:"Blocked"}},DM={identity:{event:"event",result:"result",decision:"decision"},not:{result:"result",decision:"decision"}};function MM(e,t){return DM[e][t]??null}function qM(e){let t=ut[e];return MM(t.fn,t.type)}var si={event:ut.event.label,pass:ut.pass.label,fail:ut.fail.label,approve:ut.approve.label,deny:ut.deny.label},qf={event:ut.event.type,pass:ut.pass.type,fail:ut.fail.type,approve:ut.approve.type,deny:ut.deny.type};function ko(e){let t=ut[e];if(t.type==="event")return"neutral";return t.fn==="not"?"fail":"ok"}var hue={event:ko("event"),pass:ko("pass"),fail:ko("fail"),approve:ko("approve"),deny:ko("deny")},FM={trigger:[],rule:["event","result","decision"],gate:["result"],action:["event","result","decision"]},UM={"send-to-moderation":["approve","deny"]},WM=_x.options;function vx(e){return FM[e]}function Ac(e,t){let r=qM(t);return r!==null&&vx(e).includes(r)}function oi(e){return WM.filter((t)=>Ac(e,t))}var gue={trigger:{accepts:oi("trigger")},rule:{accepts:oi("rule")},gate:{accepts:oi("gate")},action:{accepts:oi("action")}};function ii(e){switch(e.type){case"trigger":return["event"];case"rule":case"gate":return["pass","fail"];case"action":return e.action==="send-to-moderation"?UM[e.action]:[];default:return[]}}function zn(e,t){if(e.type==="trigger"&&(t===void 0||t==="pass"))return"event";return t??"pass"}var Ex={schema:{severity:"error",stage:"structure"},"no-trigger-events":{severity:"error",stage:"structure"},"duplicate-id":{severity:"error",stage:"structure"},"missing-step":{severity:"error",stage:"structure"},"no-trigger":{severity:"error",stage:"structure"},"trigger-input":{severity:"error",stage:"structure"},"gate-input":{severity:"error",stage:"structure"},"no-outputs":{severity:"error",stage:"structure"},"wrong-output":{severity:"error",stage:"structure"},"not-input":{severity:"error",stage:"structure"},"orphan-step":{severity:"error",stage:"structure"},cycle:{severity:"error",stage:"structure"},"no-action":{severity:"error",stage:"enable"},"schedule-config":{severity:"error",stage:"enable"},"action-params":{severity:"error",stage:"enable"},"schedule-mixed":{severity:"error",stage:"enable"},"schedule-needs-change-request":{severity:"error",stage:"enable"},"unknown-rule":{severity:"error",stage:"enable"},"rule-unavailable":{severity:"warning",stage:"enable"},"rule-config":{severity:"error",stage:"enable"},"removed-step":{severity:"error",stage:"enable"},"review-targets":{severity:"error",stage:"enable"},"stale-reviewer":{severity:"warning",stage:"enable"},"dead-end":{severity:"warning",stage:"enable"}},Nn=(e)=>({label:"Remove connection",edit:{type:"remove-edge",edgeId:e}}),ai=(e)=>({label:"Delete",edit:{type:"delete-node",nodeId:e}});function Uf(e){let t=e.trim();return/[.?]$/.test(t)?t:`${t}.`}function VM(e){let t=e.trim();return Uf(`${t.charAt(0).toUpperCase()}${t.slice(1)}`)}function Tx(e){if(e.length<=1)return e.join("");return`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`}function Cc(e,t=Ge){switch(e.type){case"trigger":return"Trigger";case"rule":{let[r]=e.ref.split("@");return Ge.find((n)=>n.ruleId===r)?.name??t.find((n)=>n.ruleId===r)?.name??e.ref}case"gate":return Yk.find((r)=>r.mode===e.mode)?.name??e.mode;case"action":return Xk.find((r)=>r.action===e.action)?.name??`${e.action.charAt(0).toUpperCase()}${e.action.slice(1)}`;default:return"Step"}}function Px(e,t,r,n){if(Ac(e.type,t))return null;if(e.type==="trigger")return{rule:"trigger-input",message:n?`${r} takes no inputs, but ${n} connects to it`:`${r} takes no inputs`};let o=n?` from ${n}`:"",s=qf[t];return{rule:"gate-input",message:`${r} takes rule results, not ${s==="event"?"events":"decisions"}${o}`}}function Ox(e,t,r){let n=ii(e);if(n.length===0)return{rule:"no-outputs",message:`${r} has no outputs`};if(!n.includes(t))return{rule:"wrong-output",message:`${r} has no ${si[t]} output`};return null}function ZM(e){return qf[e]==="event"?"It takes rule results, not events.":"It takes rule results, not decisions."}function Wf(e,t=Ge){let r=new Map,n=new Map;for(let o of e.nodes){let s=Cc(o,t),i=(r.get(s)??0)+1;r.set(s,i),n.set(o.id,i===1?s:`${s} ${i}`)}return n}function BM(e,t){if(t==="event")return[{label:"Insert a rule",intent:{type:"insert-step",edgeId:e.id}},Nn(e.id)];return[Nn(e.id)]}function KM(e){let t=[],r=new Set;for(let o of e.def.nodes){if(r.has(o.id))t.push({nodeId:o.id,message:"Another step uses the same id. Rename one.",fixes:[]});r.add(o.id)}let n=new Set;for(let o of e.def.edges){if(n.has(o.id))t.push({edgeId:o.id,message:"Another connection uses the same id. Rename one.",fixes:[]});n.add(o.id)}return t}function HM(e){return e.def.edges.flatMap((t)=>[t.from,t.to].filter((r)=>!e.byId.has(r)).map(()=>({edgeId:t.id,message:"A connection points to a step that is gone.",fixes:[Nn(t.id)]})))}function GM(e){return e.def.nodes.some((t)=>t.type==="trigger")?[]:[{message:"Add a trigger to start it.",fixes:[{label:"Add trigger",edit:{type:"add-trigger"}}]}]}function Ix(e,t){let r=e.byId.get(t.from),n=e.byId.get(t.to);return r&&n?{source:r,target:n}:null}function Sx(e){return(t)=>t.def.edges.flatMap((r)=>{let n=Ix(t,r);if(!n||Ox(n.source,zn(n.source,r.when),""))return[];let o=zn(n.source,r.when);if(Px(n.target,o,t.name(n.target),t.name(n.source))?.rule!==e)return[];return[{edgeId:r.id,nodeId:n.target.id,message:e==="gate-input"?ZM(o):"It takes no inputs.",fixes:e==="gate-input"?BM(r,o):[Nn(r.id)]}]})}function kx(e){return(t)=>t.def.edges.flatMap((r)=>{let n=Ix(t,r);if(!n)return[];if(Ox(n.source,zn(n.source,r.when),t.name(n.source))?.rule!==e)return[];let s=ii(n.source).includes("pass");return[{edgeId:r.id,nodeId:n.source.id,message:e==="no-outputs"?"It has no outputs.":`It has no ${si[zn(n.source,r.when)]} output.`,fixes:e==="wrong-output"&&s?[{label:"Use Passes",edit:{type:"use-passes",edgeId:r.id}},Nn(r.id)]:[Nn(r.id)]}]})}function JM(e){return e.def.nodes.flatMap((t)=>{let r=e.incoming.get(t.id)??[],[n]=r;if(t.type!=="gate"||t.mode!=="not"||r.length<2||!n)return[];return[{nodeId:t.id,message:"It takes one input. Keep one.",fixes:[{label:"Keep first input",edit:{type:"keep-one-input",nodeId:t.id,edgeId:n.id}}]}]})}function YM(e){let t=e.def.nodes.filter((n)=>n.type==="trigger"),[r]=t;return e.def.nodes.flatMap((n)=>{if(n.type==="trigger"||(e.incoming.get(n.id)??[]).length>0)return[];let o=t.length===1&&r&&Ac(n.type,"event")?[{label:"Connect",edit:{type:"connect",from:r.id,to:n.id}}]:[];return[{nodeId:n.id,message:"Nothing runs it. Connect it or delete it.",fixes:[...o,ai(n.id)]}]})}function XM(e){let t=new Map,r=[],n=[],o=(s)=>{t.set(s,"visiting"),r.push(s);for(let i of e.outgoing.get(s)??[]){let a=t.get(i.to);if(a==="visiting"){let u=r.slice(r.indexOf(i.to)).flatMap((l)=>{let d=e.byId.get(l);return d?[e.name(d)]:[]});n.push({edgeId:i.id,nodeId:i.to,message:u.length===1?"It connects to itself.":`It loops back through ${Tx(u.slice(1))}.`,fixes:[Nn(i.id)]})}else if(a===void 0&&e.byId.has(i.to))o(i.to)}r.pop(),t.set(s,"done")};for(let s of e.def.nodes)if(!t.has(s.id))o(s.id);return n}function QM(e){return Rx(e,e.def.nodes.filter((t)=>t.type==="trigger").map((t)=>t.id))}function eq(e){let t=QM(e),r=e.def.nodes.find((n)=>n.type==="trigger");return e.def.nodes.some((n)=>n.type==="action"&&t.has(n.id))?[]:[{message:"Add an action after the trigger.",fixes:r?[{label:"Add action",intent:{type:"add-next-step",nodeId:r.id,port:"event"}}]:[]}]}var tq={every:"how often it runs",subjects:"what it looks at",state:"a status",inactiveFor:"how long without activity"};function rq(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="trigger"||!Tc(t))return[];let r=Kk(t.schedule);if(r.length===0)return[];let[n]=r;return[{nodeId:t.id,message:`Set ${Tx(r.map((o)=>tq[o]))}.`,fixes:[{label:"Set schedule",intent:{type:"focus-field",nodeId:t.id,field:n??"schedule"}}]}]})}var nq={"remove-label":{schema:Vr,field:"labels",message:"Pick the labels to remove.",label:"Pick labels"},"post-comment":{schema:xc,field:"message",message:"Write the message.",label:"Write message"}},oq=new Set(["discord.com","discordapp.com","ptb.discord.com","canary.discord.com"]),sq=w({url:p().optional(),urlSet:D().optional()});function iq(e,t){let r=sq.safeParse(t??{});if(!r.success)return!1;let{url:n,urlSet:o}=r.data;if(n===void 0||n==="")return o===!0;let s=Bs({protocol:/^https$/}).safeParse(n);if(!s.success)return!1;if(e==="webhook")return!0;let i=new URL(s.data);return oq.has(i.hostname)&&i.pathname.startsWith("/api/webhooks/")}var aq={webhook:{message:"Set the webhook URL. It must use HTTPS.",label:"Set URL"},discord:{message:"Set the Discord webhook URL.",label:"Set URL"}};function Ff(e,t,r,n){return{nodeId:e,message:t,fixes:[{label:r,intent:{type:"focus-field",nodeId:e,field:n}}]}}function cq(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="action")return[];if(t.action==="webhook"||t.action==="discord"){let o=aq[t.action];return iq(t.action,t.params)?[]:[Ff(t.id,o.message,o.label,"url")]}if(t.action==="label")return Vr.safeParse(t.params??{}).success?[]:[Ff(t.id,"Pick the labels to add.","Pick labels","labels")];let r=t.action==="remove-label"||t.action==="post-comment"?nq[t.action]:null,n=r?.schema.safeParse(t.params??{});if(!(r&&n)||n.success)return[];return[Ff(t.id,r.message,r.label,r.field)]})}function uq(e){return e.def.nodes.flatMap((t)=>t.type==="trigger"&&Tc(t)&&t.kinds.length>1?[{nodeId:t.id,message:"It cannot run on a schedule and on events. Pick one.",fixes:[{label:"Pick one",intent:{type:"focus-field",nodeId:t.id,field:"kinds"}}]}]:[])}var lq=new Set(["block","send-to-moderation"]);function Rx(e,t){let r=new Set,n=[...t];for(let o=n.pop();o!==void 0;o=n.pop()){if(r.has(o))continue;r.add(o),n.push(...(e.outgoing.get(o)??[]).map((s)=>s.to))}return r}function dq(e){let t=Rx(e,e.def.nodes.filter(Tc).map((r)=>r.id));return e.def.nodes.flatMap((r)=>r.type==="action"&&t.has(r.id)&&lq.has(r.action)?[{nodeId:r.id,message:"It needs a change request event. A schedule cannot run it.",fixes:[ai(r.id)]}]:[])}function Vf(e,t){let[r,n]=t.split("@");return e.catalog.find((o)=>o.ruleId===r&&o.version===Number(n))}function pq(e){return e.def.nodes.flatMap((t)=>t.type==="rule"&&!Vf(e,t.ref)?[{nodeId:t.id,message:"This rule is not in this repo.",fixes:[ai(t.id)]}]:[])}function fq(e){return e.def.nodes.flatMap((t)=>{let r=t.type==="rule"?Vf(e,t.ref)?.unavailable:null;return r?[{nodeId:t.id,message:r,fixes:[]}]:[]})}function mq(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="rule")return[];let r=Vf(e,t.ref),n=r?.configSchema.safeParse(t.config);if(!(r&&n)||n.success)return[];let o=n.error.issues[0],s=o?.path[0];return[{nodeId:t.id,message:o?`Fix this setting: ${Uf(vo(o))}`:"A setting is not valid.",fixes:s===void 0?[]:[{label:"Edit setting",intent:{type:"focus-field",nodeId:t.id,field:String(s)}}]}]})}var hq={comment:"Customize sets the verdict comment now"};function gq(e){return e.def.nodes.flatMap((t)=>t.type==="action"&&Mk(t.action)?[{nodeId:t.id,message:`This step was removed. ${VM(hq[t.action])}`,fixes:[ai(t.id)]}]:[])}function yq(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="action"||t.action!=="request-review")return[];let r=Fk.safeParse(t.params??{});if(r.success)return[];let n=r.error.issues[0],o=n?.code==="custom"&&n.path.length===0&&n.message.startsWith("add"),s=n?.path[0]==="teamReviewers"?"teamReviewers":"reviewers";return[{nodeId:t.id,message:o?"Pick people or teams to ask.":n?.message?`Fix the reviewers: ${Uf(n.message)}`:"A reviewer is not valid.",fixes:[{label:o?"Add reviewers":"Edit reviewers",intent:{type:"focus-field",nodeId:t.id,field:s}}]}]})}function wq(e){let t=e.reviewers;if(!t)return[];return e.def.nodes.flatMap((r)=>{if(r.type!=="action"||r.action!=="request-review")return[];let n=ti.safeParse(r.params??{});if(!n.success)return[];return n.data.reviewers.filter((o)=>!t.some((s)=>qk(s,o))).map((o)=>({nodeId:r.id,message:`Remove ${o.login}. They can no longer review this repo.`,fixes:[{label:"Remove",edit:{type:"remove-reviewer",nodeId:r.id,reviewer:o}}]}))})}function bq(e){return e.def.nodes.flatMap((t)=>{let[r]=ii(t);if(t.type==="action"||!r||(e.outgoing.get(t.id)??[]).length>0||t.type!=="trigger"&&(e.incoming.get(t.id)??[]).length===0)return[];return[{nodeId:t.id,message:"Nothing runs after it.",fixes:[{label:"Add step",intent:{type:"add-next-step",nodeId:t.id,port:r}},ai(t.id)]}]})}var _q=[{rule:"duplicate-id",check:KM},{rule:"missing-step",check:HM},{rule:"no-trigger",check:GM},{rule:"trigger-input",check:Sx("trigger-input")},{rule:"gate-input",check:Sx("gate-input")},{rule:"no-outputs",check:kx("no-outputs")},{rule:"wrong-output",check:kx("wrong-output")},{rule:"not-input",check:JM},{rule:"orphan-step",check:YM},{rule:"cycle",check:XM},{rule:"no-action",check:eq},{rule:"schedule-config",check:rq},{rule:"action-params",check:cq},{rule:"schedule-mixed",check:uq},{rule:"schedule-needs-change-request",check:dq},{rule:"unknown-rule",check:pq},{rule:"rule-unavailable",check:fq},{rule:"rule-config",check:mq},{rule:"removed-step",check:gq},{rule:"review-targets",check:yq},{rule:"stale-reviewer",check:wq},{rule:"dead-end",check:bq}];function xx(e,t){let r=new Map;for(let n of e)r.set(n[t],[...r.get(n[t])??[],n]);return r}function Zf(e,t,r=new Map){return{rule:e,severity:Ex[e].severity,step:t.nodeId?r.get(t.nodeId)??"Step":"Workflow",...t}}function $x(e,t,r,n){let o=Wf(e,t),s={def:e,byId:new Map(e.nodes.map((c)=>[c.id,c])),incoming:xx(e.edges,"to"),outgoing:xx(e.edges,"from"),name:(c)=>o.get(c.id)??Cc(c,t),catalog:t,reviewers:n},i=_q.flatMap(({rule:c,check:u})=>r==="structure"&&Ex[c].stage!=="structure"?[]:u(s).map((l)=>Zf(c,l,o)));return i.some((c)=>c.rule==="no-action")?i.filter((c)=>c.rule!=="dead-end"||s.byId.get(c.nodeId??"")?.type!=="trigger"):i}var vq=w({nodes:k(_e({id:p().catch(""),type:p().catch(""),kinds:k(p()).optional().catch(void 0)}))});function Sq(e,t){let r=new Map,n=new Map;for(let o of e){let s=Af.safeParse(o),i=s.success?Cc(s.data,t):o.type?`${o.type.charAt(0).toUpperCase()}${o.type.slice(1)}`:"Step",a=(r.get(i)??0)+1;r.set(i,a),n.set(o.id,a===1?i:`${i} ${a}`)}return n}function kq(e,t,r){return e.issues.map((n)=>{let[o,s]=n.path,i=o==="nodes"&&Number.isInteger(s)?t[Number(s)]:void 0;return Zf("schema",{nodeId:i||void 0,message:"A setting is not valid.",fixes:[]},r)})}function Bf(e,t={}){let r=t.catalog??Ge,n=t.stage??"enable",o=(f)=>[...f].sort((m,h)=>Number(m.severity==="warning")-Number(h.severity==="warning")),s=Rt.safeParse(e);if(s.success)return{definition:s.data,results:o($x(s.data,r,n,t.reviewers))};let i=vq.safeParse(e),a=i.success?i.data.nodes:[],c=a.filter((f)=>f.type==="trigger"&&f.kinds?.length===0),u=Rt.safeParse({...e,nodes:a.map((f)=>c.includes(f)?{...f,kinds:["push"]}:f)});if(c.length===0||!u.success)return{definition:null,results:kq(s.error,a.map((f)=>f.id),Sq(a,r))};let l=Wf(u.data,r),d=c.map((f)=>Zf("no-trigger-events",{nodeId:f.id,message:"Pick when it runs.",fixes:[{label:"Pick events",intent:{type:"focus-field",nodeId:f.id,field:"kinds"}}]},l));return{definition:null,results:o([...d,...$x(u.data,r,n,t.reviewers)])}}function Ax(e,t={}){return Bf(e,t).results}var xq={pass:Rc.pass,block:Rc.block,needs_review:Rc.needs_review},$q=So.nullable().catch(null);function Cx(e){let t=$q.parse(e??null);return t?xq[t]:null}var Aue=k(Rt).catch([]),Cue=w({workflows:k(w({id:p(),name:p()})),issues:k(w({workflowId:p(),messages:k(p())})).optional()}).catch({workflows:[]}),zue=w({decision:z(["approve","deny"])}).nullable().catch(null);var Nue=w({pausedNodeId:p()}).nullable().catch(null);var Eq=["connect_mcp","install_app","sync_repos","pick_rules","turn_on_gate","verify_check"],zx=z(Eq),Nx=z(["active","waiting","completed","skipped","failed"]);var Tq=p().regex(/^[A-Za-z0-9]{10}$/,"A run code is 10 letters or digits."),Pq=/^([a-z0-9_-]+)#([A-Za-z0-9]{10})$/;function Lx(e){let t=Pq.exec(e.trim());if(!(t?.[1]&&t[2]))return null;return{org:t[1],code:t[2]}}var Oq=w({status:Nx,detail:p().max(256).nullable(),updatedAt:xe.datetime()}),Iq=yf(zx,Oq),Due=w({runCode:p().trim().min(1).max(200),stage:zx,status:Nx,detail:p().trim().max(256).optional()}),Mue=w({code:Tq,stages:Iq,completedAt:xe.datetime().nullable(),lastReportAt:xe.datetime().nullable()});function jx(e){return e?`Please help me set up Tripwire.
|
|
237
237
|
|
|
238
238
|
org slug: ${e.org}
|
|
239
|
-
run code: ${e.code}`:"Please help me set up Tripwire."}var FM=b({ruleId:p(),summary:p()}),wce=b({version:C(1),verdict:ho,org:p(),repo:p(),changeRequest:b({number:P().int(),title:p(),author:p()}),firedRules:x(FM),runUrl:p(),timestamp:p()});var _ce=b({content:p(),embeds:x(b({title:p(),url:p(),description:p(),color:P().int()}))});function yo(e,t){return{kind:"output",step:e,port:t}}function Cf(e,t,r,n){let o={kind:"check",rule:e,config:t??{},version:r?.version,inputs:n,get passes(){return yo(o,"pass")},get fails(){return yo(o,"fail")},after:(...s)=>Cf(e,t,r,s)};return o}function Rf(e,t){let r={kind:"gate",mode:e,inputs:t,get passes(){return yo(r,"pass")},get fails(){return yo(r,"fail")}};return r}function er(e,t,r=[]){return{kind:"action",action:e,params:t,inputs:r,after:(...n)=>er(e,t,n)}}function fx(e,t){let r={kind:"action",action:"send-to-moderation",params:void 0,approve:e.approve??[],deny:e.deny??[],inputs:t,get approved(){return yo(r,"approve")},get denied(){return yo(r,"deny")},after:(...n)=>fx(e,n)};return r}function mx(){return{check(e,...t){let[r,n]=t;return Cf(e,r,n,[])},customCheck(e,t){return Cf(e,t,void 0,[])},allOf(...e){return Rf("all-of",e)},anyOf(...e){return Rf("any-of",e)},not(e){return Rf("not",[e])},trigger(...e){return{kind:"trigger",on:e,inputs:[]}},schedule(e){return{kind:"trigger",on:["schedule.matched"],schedule:e,inputs:[]}},block(){return er("block",void 0)},label(e){return er("label",e)},removeLabel(e){return er("remove-label",e)},requestReview(e){return er("request-review",e)},postComment(e){return er("post-comment",e)},lock(e){return er("lock",e)},close(){return er("close",void 0)},webhook(){return er("webhook",void 0)},discord(){return er("discord",void 0)},humanReview(e={}){return fx(e,[])},workflow(e){return{kind:"workflow",spec:e}},workflows(e){return e}}}var bo=["change-request.opened","change-request.updated","change-request.closed","comment.created","push"],ti=b({}),Fr={block:ti,label:Mr,"remove-label":Mr,"request-review":b({reviewers:x(ne([bc,mf])).optional(),teamReviewers:x(ff).optional()}),"post-comment":wc,lock:yk,close:ti,webhook:ti,discord:ti,"send-to-moderation":ti};var hx=mx();var Lce=Ot*60000;function ri(e){return"n"in e}function UM(e){return"preset"in e}var WM={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6};function VM(e){let[t="0",r="0"]=e.split(":");return{hour:Number(t),minute:Number(r)}}function gx(e){if(ri(e))return null;if(!UM(e))return e.cron.trim();if(e.preset==="hourly")return`${e.minute} * * * *`;let{hour:t,minute:r}=VM(e.at);switch(e.preset){case"daily":return`${r} ${t} * * *`;case"weekdays":return`${r} ${t} * * 1-5`;case"weekly":return`${r} ${t} * * ${WM[e.on]}`;case"monthly":return`${r} ${t} ${e.day} * *`;default:return null}}function yx(e){return e?{zone:e,defaulted:!1}:{zone:Yt,defaulted:!0}}var ZM={hours:["hour","hours"],days:["day","days"],weeks:["week","weeks"],months:["month","months"]};function bx(e){let[t,r]=ZM[e.unit];return`${e.n} ${e.n===1?t:r}`}var Rn="09:00",Lc=gf.options,Pc=new Map([...Lc.flatMap((e,t)=>[e,`${e}s`,e.slice(0,3)].map((r)=>[r,t])),["tues",2],["thur",4],["thurs",4]]),BM=new Map(Object.entries({one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12})),KM=new Map(Object.entries({m:"minutes",h:"hours",d:"days",w:"weeks"})),wx=new Map(Object.entries({min:"minutes",mins:"minutes",minute:"minutes",minutes:"minutes",hr:"hours",hrs:"hours",hour:"hours",hours:"hours",day:"days",days:"days",wk:"weeks",wks:"weeks",week:"weeks",weeks:"weeks",month:"months",months:"months"})),_x=new Map(Object.entries({minute:"minute",hour:"hourly",day:"daily",week:"week",month:"monthly"})),zf=new Map(Object.entries({hourly:"hourly",daily:"daily",weekly:"weekly",monthly:"monthly",weekday:"weekdays",weekdays:"weekdays","mon-fri":"weekdays","monday-friday":"weekdays",weekend:"weekends",weekends:"weekends"})),HM=new Map(Object.entries({utc:Yt,gmt:Yt,z:Yt})),GM=["Asia/Kolkata","Europe/Kyiv","Asia/Ho_Chi_Minh","America/Argentina/Buenos_Aires"],JM=["Berlin","London","New York","Los Angeles","Chicago","Denver","Toronto","Paris","Amsterdam","Madrid","Stockholm","Tokyo","Singapore","Sydney","Kolkata","Sao Paulo"],Ic=null;function Lf(e){return(e.split("/").at(-1)??e).replaceAll("_"," ")}function Tx(){if(Ic)return Ic;let e=Intl.supportedValuesOf("timeZone"),t=new Map,r=new Map,n=GM.filter(Ks);for(let i of[...n,...e])if(r.set(i.toLowerCase(),i),i.includes("/")&&!i.startsWith("Etc/")){let a=Lf(i).toLowerCase();if(!t.has(a))t.set(a,i)}let o=JM.filter((i)=>t.has(i.toLowerCase())),s=[...t.values()].map(Lf).filter((i)=>!o.includes(i)).sort((i,a)=>i.localeCompare(a));return Ic={byCity:t,byId:r,cities:[...o,...s]},Ic}function YM(e){return e.split("/").map((t)=>t.split("_").map((r)=>`${r.charAt(0).toUpperCase()}${r.slice(1)}`).join("_")).join("/")}function XM(e){let t=e.toLowerCase(),r=HM.get(t);if(r)return r;if(!t.includes("/"))return null;let n=Tx().byId.get(t);if(n)return n;let o=YM(t);return Ks(o)?o:null}function Df(e){return Tx().byCity.get(e.join(" ").toLowerCase())??null}function Ox(e){if(e===Yt)return e;let t=Lf(e);return Df([t])===e?t:e}function QM(e,t){return`UTC${(new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"shortOffset"}).formatToParts(t).find((o)=>o.type==="timeZoneName")?.value??"GMT").replace(/^GMT/,"")||"+0"}`}function Px(e,t=new Date){return e===Yt?e:`${e}, ${QM(e,t)}`}function vx(e,t){return[...e.matchAll(t)].map((r)=>({text:r[0],lower:r[0].toLowerCase(),from:r.index,to:r.index+r[0].length}))}function _o(e){return String(e).padStart(2,"0")}function jf(e,t){return`${_o(e)}:${_o(t)}`}function Mf(e){let r=e%100>=11&&e%100<=13?"th":["th","st","nd","rd"][e%10]??"th";return`${e}${r}`}function oi(e){return`${e.charAt(0).toUpperCase()}${e.slice(1)}`}function vo(e){if(e.length<=1)return e[0]??"";return`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`}function Ac(e){if(e===void 0)return null;if(/^\d{1,4}$/.test(e))return Number(e);return BM.get(e)??null}function eq(e,t){let r=e[t]?.lower;if(r===void 0)return null;if(r==="noon")return{hour:12,minute:0,valid:!0,used:1};if(r==="midnight")return{hour:0,minute:0,valid:!0,used:1};let n=/^(\d{1,2})(?:[:.](\d{2}))?(am|pm|a\.m\.|p\.m\.)?$/.exec(r);if(!n)return null;let o=1,s=n[3]?.charAt(0),i=e[t+1]?.lower;if(!s&&i&&/^(am|pm|a\.m\.|p\.m\.)$/.test(i))s=i.charAt(0),o=2;let a=Number(n[1]),c=Number(n[2]??"0"),u=c<=59;if(s)u=u&&a>=1&&a<=12,a=a%12+(s==="p"?12:0);else u=u&&a<=23;return{hour:a,minute:c,valid:u,used:o}}function Sx(e){let t=e?/^(\d{1,2})(st|nd|rd|th)?$/.exec(e):null;return t?Number(t[1]):null}var tq=new Set(["shorter","short","those","the","months","month"]);function wo(e,t){return{from:e.from,to:t.to}}class qf{words;read={};at=0;everyAt=-1;constructor(e){this.words=e}word(e=0){return this.words[this.at+e]}lower(e=0){return this.word(e)?.lower}take(e){let t=this.word(),r=this.word(e-1);return this.at+=e,t&&r?wo(t,r):{from:0,to:0}}run(){while(this.at<this.words.length&&!this.read.unknown)if(!this.step()){let e=this.lower()==="in"&&this.word(1)?this.word(1):this.word();if(e)this.read.unknown={from:e.from,to:e.to}}return this.read}step(){let e=this.lower()??"",t=this.at===this.everyAt+1&&this.everyAt>=0;if((e==="every"||e==="each")&&!this.read.every){if(this.everyAt=this.at,this.read.every=this.take(1),this.at>=this.words.length)this.read.everyDangling=this.read.every;return this.everyFollowerOk()}if(e==="and"||e==="&")return this.at+=1,!0;if(e==="skip"||e==="skipping")return this.skip();if(e==="at")return this.atPhrase();if(this.count(t))return!0;if(this.unit())return!0;if(this.keyword(t))return!0;if(this.weekdays())return!0;if(this.monthDay())return!0;if(this.monthOf())return!0;if(this.minute())return!0;if(this.time())return!0;return this.zone()}everyFollowerOk(){let e=this.lower();if(e===void 0)return!0;let t=/^\d+[a-z]+$/.test(e);if(!(Ac(e)!==null||t||_x.has(e)||Pc.has(e)||e==="weekday"||e==="weekend"||e==="weekdays"||e==="weekends")){let n=this.word();if(n)this.read.unknown={from:n.from,to:n.to}}return!0}skip(){let e=1;while(tq.has(this.lower(e)??""))e+=1;if(this.read.skip)return!1;return this.read.skip=this.take(e),!0}atPhrase(){let e=this.lower(1);if(e===void 0)return this.read.atDangling=this.take(1),!0;if(e==="minute"||/^:\d{1,2}$/.test(e))return this.minute(1);return this.time(1)}count(e){let t=this.lower();if(t===void 0||this.read.interval)return!1;let r=/^(\d{1,4})([a-z]+)$/.exec(t);if(r){let a=r[2]??"",c=KM.get(a)??wx.get(a);if(!c)return!1;let u=this.word();return this.setInterval(Number(r[1]),c,this.take(1),{from:u?.from??0,to:(u?.from??0)+(r[1]?.length??0)},r[2]??""),!0}let n=Ac(t);if(n===null)return!1;let o=this.lower(1)??"",s=wx.get(o),i=this.word();if(s&&i)return this.setInterval(n,s,this.take(2),wo(i,i),o),!0;if(e&&i)return this.read.interval={...this.take(1),n,unit:null,count:wo(i,i),unitWord:""},!0;return!1}setInterval(e,t,r,n,o){this.read.interval={...r,n:e,unit:t,count:n,unitWord:o}}unit(){let e=this.lower()??"",t=_x.get(e);if(!t)return!1;if(t==="minute"){if(this.read.interval)return!1;return this.setInterval(1,"minutes",this.take(1),null,e),!0}return this.setBase(t,[],this.take(1))}setBase(e,t,r){if(this.read.base)return!1;return this.read.base={...r,kind:e,days:t},!0}keyword(e){let t=0,r,s=(this.lower()??"")==="on"&&zf.get(this.lower(1)??"")?1:0,i=this.lower(s)??"";if((i==="monday"||i==="mon")&&(this.lower(s+1)==="to"||this.lower(s+1)==="through")&&(this.lower(s+2)==="friday"||this.lower(s+2)==="fri"))r="weekdays",t=s+3;else if(zf.has(i))r=zf.get(i),t=s+1;if(!r)return!1;if(e&&!(r==="weekdays"||r==="weekends"))return!1;return this.setBase(r,[],this.take(t))}weekdays(){let e=this.lower()==="on"?1:0;if(Pc.get(this.lower(e)??"")===void 0)return!1;let t=[],r=e;while(!0){let s=Pc.get(this.lower(r)??"");if(s!==void 0){t.push(s),r+=1;continue}let i=this.lower(r);if((i==="and"||i==="&")&&Pc.get(this.lower(r+1)??"")!==void 0){r+=1;continue}break}let n=[...new Set(t)].sort((s,i)=>s-i),o=this.read.base;if(o&&(o.kind==="weekly"||o.kind==="week")&&o.days.length===0)return o.kind="weekly",o.days=n,this.read.weekdaySpan=this.take(r),!0;return this.setBase("weekly",n,this.take(r))}monthDay(){let e=0;if(this.lower(e)==="on")e+=1;let t=null;if(this.lower(e)==="the")t=Sx(this.lower(e+1)),e+=2;else if(this.lower(e)==="day")t=Ac(this.lower(e+1)),e+=2;else if(/(st|nd|rd|th)$/.test(this.lower(e)??""))t=Sx(this.lower(e)),e+=1;if(t===null)return!1;let r=this.take(e),n=this.read.day;if(n)return n.to=r.to,n.values.push(t),n.value=Math.max(n.value,t),!0;return this.read.day={...r,value:t,values:[t]},!0}monthOf(){let e=this.lower()==="of",t=this.lower(1),r=this.lower(2);if(!e||!(t==="the"||t==="every"||t==="each")||r!=="month")return!1;if(this.read.base)return!1;return this.read.monthOf=this.take(3),this.read.base={...this.read.monthOf,kind:"monthly",days:[]},!0}minute(e=0){let t=this.lower(e)??"",r=null,n=e,o=/^:(\d{1,2})$/.exec(t);if(o)r=Number(o[1]),n+=1;else if(t==="minute")r=Ac(this.lower(e+1)),n+=2;if(r===null||r>59||this.read.minute)return!1;return this.read.minute={...this.take(n),value:r},!0}time(e=0){let t=eq(this.words,this.at+e);if(!t)return!1;let r=this.take(e+t.used),n={hour:t.hour,minute:t.minute,valid:t.valid},o=this.read.time;if(o)return o.to=r.to,o.times.push(n),o.valid=o.valid&&n.valid,!0;return this.read.time={...r,...n,times:[n]},!0}zone(){if(this.read.zone)return!1;let e=this.lower()==="in"?1:0;for(let t=3;t>=1;t--){let r=this.words.slice(this.at+e,this.at+e+t).map((o)=>o.lower);if(r.length<t)continue;let n=t===1?XM(r[0]??"")??Df(r):Df(r);if(n){let o=e+t+(this.lower(e+t)==="time"?1:0);return this.read.zone={...this.take(o),id:n},!0}}return!1}}function ni(e){return e.replace(/\s+,/g,",").replace(/,(\s*,)+/g,",").replace(/\s{2,}/g," ").replace(/^[\s,]+|[\s,]+$/g,"")}function Ut(e,t,r){return ni(`${e.slice(0,t.from)}${r}${e.slice(t.to)}`)}function Rc(e,t){return t.time?e:`${e} at ${Rn}`}var rq={minutes:["minute","minutes"],hours:["hour","hours"],days:["day","days"],weeks:["week","weeks"],months:["month","months"]};function Nc(e,t){let[r,n]=rq[t];return`${e} ${e===1?r:n}`}function Ix(e){return oi(Lc[e]??"")}function kx(e){switch(e.kind){case"hourly":return"Every hour";case"daily":return"Every day";case"weekdays":return"Monday to Friday";case"weekends":return"Saturday and Sunday";case"week":return"Every week";case"monthly":return"Every month";default:return e.days.length>0?`Every ${vo(e.days.map(Ix))}`:"Every week"}}function nq(e,t,r,n){let o=[],s=(l,d,f,m)=>{if(!d)return;o.push({from:d.from,to:d.to,text:e.slice(d.from,d.to),kind:f,label:m,tone:r[l]??"ok"})},{every:i,base:a,interval:c}=t,u=i&&a&&!c&&a.from>i.to&&e.slice(i.to,a.from).trim()==="";if(i&&!u)s("every",i,"cadence","Repeats");if(c)s("interval",c,"interval",c.unit?`Every ${Nc(c.n,c.unit)}`:"Repeats");if(a)s("base",u&&i?{from:i.from,to:a.to}:a,"cadence",kx(a));if(s("weekdays",t.weekdaySpan,"cadence",kx(a??{from:0,to:0,kind:"weekly",days:[]})),t.day)s("day",t.day,"day",`The ${vo(Ax(t.day).map(Mf))} of the month`);if(t.time)s("time",t.time,"time",t.time.valid?vo(Rx(t.time).map((l)=>jf(l.hour,l.minute))):"Not a time");if(s("at",t.atDangling,"time","At"),t.minute)s("minute",t.minute,"minute",`At :${_o(t.minute.value)}`);if(t.zone)s("zone",t.zone,"zone",Px(t.zone.id,n));if(t.skip)s("skip",t.skip,"skip","Skips months without that day");if(t.unknown)s("unknown",t.unknown,"unknown","Not understood");return o.sort((l,d)=>l.from-d.from)}function Se(e,t,r=[],n={}){return{ok:!1,reason:e,message:t,fixes:r,tones:n}}var oq=[5,6,10,12,15,20,30];function sq(e){return oq.reduce((t,r)=>Math.abs(r-e)<Math.abs(t-e)?r:t)}function iq(e,t){let n=t.unitWord==="minute"||t.unitWord==="min"?`${t.unitWord}s`:t.unitWord,o=`${Ot} ${n}`;return{label:`Use ${Ot} minutes`,text:Ut(e,t,o)}}function aq(e,t){let r=t.interval;if(!r)return null;let n={interval:"fail"};if(t.base||t.day)return Se("invalid","Use an interval or a day, not both.",[],n);if(r.unit===null)return Se("incomplete","Add a unit, like every 5 days.",[{label:"Use days",text:Ut(e,r,`${r.n} days`)}]);if(r.unit==="months"){if(r.n===1)return null;let c=Math.round(r.n*30/7);return Se("unstorable","An interval counts hours, days or weeks.",[{label:`Use ${c} weeks`,text:Ut(e,r,`${c} weeks`)}],n)}let{n:o,unit:s}=r;if(s==="minutes"){if(o<Ot)return Se("floor",`Runs must be at least ${Ot} minutes apart.`,[iq(e,r)],n);if(o<60||o%60!==0){if(t.time||t.minute)return xx(e,t,[]);if(o>60||60%o!==0){let c=sq(o);return Se("unstorable","Minutes must divide the hour evenly, like 10, 15 or 30.",[{label:`Use ${c} minutes`,text:Ut(e,r,`${c} minutes`)}],n)}return{ok:!0,every:{cron:`*/${o} * * * *`},timezone:t.zone?.id}}o/=60,s="hours"}let i={n:o,unit:s};if(s==="hours"&&t.minute&&!t.time&&!t.skip&&o>1&&o<24&&24%o===0)return{ok:!0,every:{cron:`${t.minute.value} */${o} * * *`},timezone:t.zone?.id};if(t.time||t.minute)return xx(e,t,[]);if(t.zone)return Se("unstorable","An interval counts from the last run, so it has no timezone.",[{label:"Drop the timezone",text:Ut(e,t.zone,"")}],{zone:"fail"});if(t.skip)return Se("invalid","Only a day after the 28th skips months.",[],{skip:"fail"});let a=Gs[s];if(o<1||o*a>_c){let c=Math.floor(_c/a);return Se("invalid","Runs must be at most 52 weeks apart.",[{label:`Use ${Nc(c,s)}`,text:Ut(e,r,Nc(c,s))}],n)}return{ok:!0,every:i,timezone:void 0}}function xx(e,t,r){let n=t.time??t.minute;return Se("unstorable","An interval counts from the last run, so it has no time of day.",[...r,...n?[{label:"Drop the time",text:Ut(e,n,"")}]:[]],{time:"fail",minute:"fail"})}var cq=new Map([[29,"February has no 29th most years."],[30,"February has no 30th."],[31,"Five months have no 31st."]]);function uq(e,t){let r=t.zone?.id,n=t.base;if(!n&&(t.day||t.interval?.unit==="months"))n={from:0,to:0,kind:"monthly",days:[]};if(!n)return Se("incomplete","Add how often, like every day.",t.time?[{label:"Every day",text:`every day ${e.trim()}`}]:[]);if(t.time&&!t.time.valid)return Se("invalid","Use a time from 00:00 to 23:59.",[],{time:"fail"});if(n.kind==="hourly"){if(t.time)return Se("unstorable","An hourly schedule takes a minute, like at :15.",[{label:"Use :00",text:Ut(e,t.time,"at :00")}],{time:"fail"});if(t.day)return Se("invalid","An hourly schedule runs every day.",[],{day:"fail"});return{ok:!0,every:{preset:"hourly",minute:t.minute?.value??0},timezone:r}}if(t.minute)return Se("invalid","A minute only fits an hourly schedule.",[],{minute:"fail"});if(n.kind==="week"||n.kind==="weekly"&&n.days.length===0){let f=t.every?{from:Math.min(t.every.from,n.from),to:n.to}:n;return Se("incomplete","Add a day, like every monday.",[{label:"Every Monday",text:Rc(Ut(e,f,"every monday"),t)}])}if(n.kind==="monthly"){if(!t.day)return Se("incomplete","Add a day, like on the 1st.",[{label:"On the 1st",text:Rc(`${ni(e)} on the 1st`,t)}])}else if(t.day)return Se("invalid","Pick a weekday or a day of the month, not both.",[],{day:"fail"});let o=t.day,s=o?Ax(o):[];if(s.some((f)=>f<1||f>31))return Se("invalid","A month has at most 31 days.",[],{day:"fail"});if(o&&o.value>28&&!t.skip)return Se("ambiguous",cq.get(o.value)??"",[{label:"Skip those months",text:`${Rc(ni(e),t)}, skipping shorter months`},{label:"Run on the 28th instead",text:Rc(Ut(e,o,"on the 28th"),t)}],{day:"warn"});if(t.skip&&!(o&&o.value>28))return Se("invalid","Only a day after the 28th skips months.",[],{skip:"fail"});if(!t.time)return Se("incomplete",t.atDangling?"Add a time, like 09:00.":"Add a time, like at 09:00.",[{label:`At ${Rn}`,text:t.atDangling?`${ni(e)} ${Rn}`:`${ni(e)} at ${Rn}`}]);let i=Rx(t.time),[a]=i;if(i.length===1&&s.length<=1&&a){let f=lq(n,s[0],a);if(f)return{ok:!0,every:f,timezone:r}}let c=[...new Set(i.map((f)=>f.minute))],u=[...new Set(i.map((f)=>f.hour))];if(c.length*u.length!==i.length)return Se("unstorable","Times in one schedule share their minutes, like 09:00 and 17:00.",[],{time:"fail"});let l=`${c.join(",")} ${u.join(",")} ${dq(n,s)}`,d=vc.safeParse({cron:l});if(!d.success)return Se("invalid",Cx(d.error.issues[0]?.message??"this cron does not parse"),[],{time:"fail"});return{ok:!0,every:{cron:d.data.cron},timezone:r}}function Ax(e){return[...new Set(e.values)].sort((t,r)=>t-r)}function Rx(e){let t=new Map;for(let r of e.times)t.set(r.hour*60+r.minute,r);return[...t.entries()].sort(([r],[n])=>r-n).map(([,r])=>r)}function lq(e,t,r){let n=jf(r.hour,r.minute);switch(e.kind){case"daily":return{preset:"daily",at:n};case"weekdays":return{preset:"weekdays",at:n};case"monthly":{let o=t??1;return o>28?null:{preset:"monthly",day:o,at:n}}case"weekly":{let[o]=e.days,s=o===void 0?void 0:Lc[o];return e.days.length===1&&s?{preset:"weekly",on:s,at:n}:null}default:return null}}function dq(e,t){switch(e.kind){case"weekdays":return"* * 1-5";case"weekends":return"* * 0,6";case"monthly":return`${t.length>0?t.join(","):"1"} * *`;case"weekly":return`* * ${e.days.join(",")}`;default:return"* * *"}}var Nf=/^[\d*][\d*,\-/]*$/,pq=/^[\da-z*][\da-z*,\-/]*$/i;function fq(e){let[t,r]=e;if(!(t&&r&&Nf.test(t.text)&&Nf.test(r.text)))return 0;let n=0;while(n<5){let o=e[n],s=n<3?Nf:pq;if(!(o&&s.test(o.text))||n>=3&&!/[\d*]/.test(o.text)&&!/^[a-z]{3}(-[a-z]{3})?(,[a-z]{3})*$/i.test(o.text))break;n+=1}return n}function Cx(e){return`${oi(e)}.`}function mq(e,t,r,n){let o=t.slice(0,r),s=o[0],i=o.at(-1),a=o.map((y)=>y.text).join(" "),c=s&&i?wo(s,i):{from:0,to:0},u=t.slice(r),l,d;if(u.length>0){let w=new qf(u).run(),T=w.every||w.base||w.interval||w.time||w.day||w.minute||w.skip;if(w.unknown||T||!w.zone){let S=u[0];d=w.unknown??(S?wo(S,S):void 0)}else l=w.zone}let f=zx(a),m=f?oi(f):"Cron",h=(y)=>{let w=[{...c,text:e.slice(c.from,c.to),kind:"cron",label:m,tone:y}];if(l)w.push({from:l.from,to:l.to,text:e.slice(l.from,l.to),kind:"zone",label:Px(l.id,n),tone:"ok"});if(d)w.push({...d,text:e.slice(d.from,d.to),kind:"unknown",label:"Not understood",tone:"fail"});return w};if(d)return{ok:!1,reason:"unknown",message:`Could not read "${e.slice(d.from,d.to)}".`,fixes:[],tokens:h("ok")};let g=vc.safeParse({cron:a});if(!g.success){let y=g.error.issues[0]?.message??"this cron does not parse",w=y.includes(`at least ${Ot} minutes`),T=o[0]?.text??"",S=/^\*(\/(\d+))?$/.exec(T),I=w&&S&&s?[{label:`Use ${Ot} minutes`,text:Ut(e,wo(s,s),`*/${Ot}`)}]:[];return{ok:!1,reason:w?"floor":"invalid",message:Cx(y),fixes:I,tokens:h("fail")}}return{ok:!0,every:{cron:g.data.cron},timezone:l?.id,tokens:h("ok")}}function hq(e,t){if(e.trim()==="")return{ok:!1,reason:"empty",message:"",fixes:[],tokens:[]};let r=vx(e,/\S+/g),n=fq(r);if(n>0)return mq(e,r,n,t);let o=new qf(vx(e,/[^\s,]+/g)).run(),s=gq(e,o),i=nq(e,o,s.ok?{}:s.tones??{},t);if(s.ok)return{ok:!0,every:s.every,timezone:s.timezone,tokens:i};return{ok:!1,reason:s.reason,message:s.message,fixes:s.fixes,tokens:i}}function gq(e,t){if(t.unknown)return Se("unknown",`Could not read "${e.slice(t.unknown.from,t.unknown.to)}".`,[],{unknown:"fail"});if(t.everyDangling&&!t.base&&!t.interval)return Se("incomplete","Add how often, like every day.");return aq(e,bq(t))??uq(e,t)}var yq={hours:"hourly",days:"daily",weeks:"week",months:"monthly"};function bq(e){let t=e.interval;if(!t||t.n!==1||t.unit===null)return e;let r=e.base?.kind;if(t.unit==="weeks"&&r==="weekly"||t.unit==="months"&&r==="monthly"){if(e.base&&r==="weekly"&&!e.weekdaySpan)e.weekdaySpan={from:e.base.from,to:e.base.to},e.base.from=t.from,e.base.to=t.to;return e.interval=void 0,e}if(e.base)return e;if(t.unit==="minutes")return e;return e.base={from:t.from,to:t.to,kind:yq[t.unit],days:[]},e.interval=void 0,e}var wq={hours:"every 60 minutes",days:"every 24 hours",weeks:"every 7 days"},Cc=Array.from({length:31},(e,t)=>t+1),zc=[0,1,2,3,4,5,6];function _q(e){let t=(i,a)=>mc(e,i,a),r=zc.filter((i)=>Cc.every((a)=>t(a,i)));if(zc.every((i)=>Cc.every((a)=>t(a,i)===r.includes(i))))return r.length===7?{kind:"daily"}:{kind:"weekly",days:r};let o=Cc.filter((i)=>zc.every((a)=>t(i,a)));return Cc.every((i)=>zc.every((a)=>t(i,a)===o.includes(i)))?{kind:"monthly",days:o}:null}function $x(e,t){let[r,n]=e;if(r!==0||n===void 0)return null;let o=n-r;return e.every((i,a)=>i===a*o)&&t%o===0&&e.length===t/o?o:null}var vq=4;function Ex(e){return(e+6)%7}function Sq(e){if(e.kind==="daily")return"every day";if(e.kind==="monthly")return e.days.length===0?null:`monthly on the ${vo(e.days.map(Mf))}`;let t=e.days.join(",");if(t==="1,2,3,4,5")return"weekdays";if(t==="0,6")return"weekends";let r=[...e.days].sort((n,o)=>Ex(n)-Ex(o)).map(Ix);return r.length===0?null:`every ${vo(r)}`}function kq(e){let t=Pn(e);if(!t.ok||t.spec.months.length!==12)return null;let{minutes:r,hours:n}=t.spec,o=_q(t.spec);if(!o)return null;let s=o.kind==="daily",[i]=r;if(n.length===24){if(!s)return null;if(r.length===1&&i!==void 0)return i===0?"every hour":`every hour at :${_o(i)}`;let d=$x(r,60);return d?`every ${d} minutes`:null}let a=$x(n,24);if(r.length===1&&i!==void 0&&a&&n.length>2)return s?`every ${a} hours at :${_o(i)}`:null;if(r.length*n.length>vq)return null;let c=Sq(o);if(!c)return null;let u=n.flatMap((d)=>r.map((f)=>jf(d,f))),l=`${c} at ${vo(u)}`;if(o.kind!=="monthly"||o.days.every((d)=>d<=28))return l;return o.days.length===1?`${l}, skipping shorter months`:null}function zx(e){let t=kq(e);if(!t)return null;let r=hq(t,new Date(0)),n=r.ok?gx(r.every):null;return n!==null&&dk(n,e)?t:null}function xq(e){if(ri(e)){if(e.n===1)return wq[e.unit];return`every ${Nc(e.n,e.unit)}`}if("preset"in e)switch(e.preset){case"hourly":return e.minute===0?"every hour":`every hour at :${_o(e.minute)}`;case"daily":return`every day at ${e.at}`;case"weekdays":return`weekdays at ${e.at}`;case"weekly":return`every ${oi(e.on)} at ${e.at}`;default:return`monthly on the ${Mf(e.day)} at ${e.at}`}let t=e.cron.trim();return zx(t)??t}function $q(e){let t=xq(e.every);if(ri(e.every)||!e.timezone)return t;return`${t} in ${Ox(e.timezone)}`}function Eq(e){return $q({every:e.every,timezone:ri(e.every)?void 0:e.timezone??Yt})}function si(e){return oi(Eq(e))}var Uce=["every",...Lc,"weekdays","weekends","minutes","hours","days","weeks","month","monthly","daily","hourly","weekly","noon","midnight"],Wce=["",` at ${Rn}`,` ${Rn}`,":00"," days"," minutes",` on the 1st at ${Rn}`," 5 days"];var Tq={issue:"issues","change-request":"change requests"},Oq={open:"open",closed:"closed",any:"open and closed"};function Ff(e,t){if(e.length<=1)return e[0]??"";return`${e.slice(0,-1).join(", ")} ${t} ${e.at(-1)}`}function Pq(e){let t=e?.match??{},r=["issue","change-request"].filter((o)=>t.subjects?.includes(o)),n=e?.every?[{key:"every",text:si({every:e.every,timezone:e.timezone})}]:[{key:"every-lead",text:"Every "},{key:"every",text:"so often",placeholder:!0}];if(n.push({key:"finds",text:", finds "},t.state?{key:"state",text:Oq[t.state]}:{key:"state",text:"open or closed",placeholder:!0},{key:"gap",text:" "},r.length>0?{key:"subjects",text:Ff(r.map((o)=>Tq[o]),"and")}:{key:"subjects",text:"issues or change requests",placeholder:!0},{key:"inactive-lead",text:" with no activity for "},t.inactiveFor?{key:"inactiveFor",text:bx(t.inactiveFor)}:{key:"inactiveFor",text:"some time",placeholder:!0}),t.labels?.length)n.push({key:"labels",text:`, labeled ${Ff(t.labels,"and")}`});if(t.excludeLabels?.length)n.push({key:"excludeLabels",text:`, not labeled ${Ff(t.excludeLabels,"or")}`});if(t.skipLocked!==!1)n.push({key:"skipLocked",text:", skipping locked ones"});return n.push({key:"end",text:"."}),n}function Nx(e){return Pq(e).map((t)=>t.placeholder?`[${t.text}]`:t.text).join("")}var Iq=new Map([["every","The schedule"],["every.n","The interval"],["every.unit","The interval unit"],["every.minute","The minute"],["every.at","The time"],["every.at.hour","The hour"],["every.at.minute","The minute"],["every.on","The weekday"],["every.day","The day of the month"],["every.cron","The cron"],["every.preset","The preset"],["timezone","The timezone"],["match","What it looks for"],["match.subjects","What it looks at"],["match.state","The state"],["match.inactiveFor","The inactive time"],["match.inactiveFor.n","The inactive time"],["match.inactiveFor.unit","The inactive time unit"],["match.labels","The labels"],["match.excludeLabels","The labels to skip"],["match.skipLocked","Skip locked"]]);function Lx(e){let t=e.map(String).filter((r)=>!/^\d+$/.test(r)).join(".");return Iq.get(t)??null}function Aq(e){return/[.?]$/.test(e)?e:`${e}.`}function Mx(e){let{workflow:t,step:r,message:n}=e,o=r!==void 0&&(n.startsWith(`${r} `)||n.startsWith(`${r}:`)),s=[t,o?void 0:r].filter(Boolean).join(" > ");if(!s)return n;return o?`${s} > ${n}`:`${s}: ${n}`}function Rq(e,t){let r=Array.from({length:t.length+1},(n,o)=>o);for(let n=1;n<=e.length;n++){let o=r[0]??0;r[0]=n;for(let s=1;s<=t.length;s++){let i=r[s]??0;r[s]=Math.min(i+1,(r[s-1]??0)+1,o+(e[n-1]===t[s-1]?0:1)),o=i}}return r[t.length]??0}function Dx(e,t){let r=0;for(let n of t)if(n===e[r])r++;return r===e.length}function jx(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function Cq(e,t){let r=jx(e),n=null;for(let s of t){let i=jx(s),c=Dx(r,i)||Dx(i,r)?Math.abs(i.length-r.length)/4:Rq(r,i);if(n===null||c<n.score)n={id:s,score:c}}if(!n)return null;let o=Math.max(2,Math.ceil(r.length/3));return n.score<=o?n.id:null}function Dc(e,t,r){let n=Cq(t,r);return n?`${t} is not ${e}. Did you mean ${n}?`:`${t} is not ${e}. Use one of: ${r.join(", ")}`}var qx=J(p(),re());function ii(e,t,r){let n=qx.safeParse(e??{});if(!n.success)return[`${r} takes an object of settings`];let o=t instanceof ef?Object.keys(t.shape):null,s=o?Object.keys(n.data).filter((a)=>!o.includes(a)):[];if(s.length>0&&o)return s.map((a)=>Dc(`a setting of ${r}`,a,o));let i=t.safeParse(n.data);return i.success?[]:i.error.issues.map((a)=>`${r}: ${mo(a)}`)}var zq=b({kind:z(["trigger","check","gate","action","output"])}),Fx=b({kind:z(["trigger","check","gate","action"])}),Nq=b({kind:C("output"),port:z(["pass","fail","approve","deny"])}),Lq=b({}).loose(),Dq=ac((e)=>Fx.safeParse(e).success),jq=J(p(),b({kind:C("workflow"),spec:ac((e)=>Lq.safeParse(e).success,{error:"each entry must be workflow({ ... })"})}),{error:"the default export must be workflows({ ... })"});function Mq(e){return Object.hasOwn(Fr,e)}function Uf(e){return e.kind==="output"}function qq(e){return e.kind==="action"&&e.action==="send-to-moderation"}function Fq(e,t){if(e==="pass")return;return t.kind==="trigger"?void 0:e}function Uq(e){switch(e){case"pass":return"fail";case"fail":return"pass";case"approve":return"deny";default:return"approve"}}function Wq(e){switch(e.kind){case"trigger":return e.on.includes("schedule.matched")?"schedule":"trigger";case"check":return e.rule.split("@")[0]??"check";case"gate":return e.mode;default:return e.action}}var Vq=/^[^\p{Cc}]+$/u;class Ux{key;spec;issues=[];ids=new Map;taken=new Set;nodes=[];edges=[];edgeKeys=new Set;built=new Set;triggers=[];constructor(e,t){this.key=e;this.spec=t}issue(e,t){let r=t?this.ids.get(t):void 0;this.issues.push({workflow:this.key,step:r,message:e})}idFor(e){let t=this.ids.get(e);if(t)return t;let r=Wq(e),n=r;for(let o=2;this.taken.has(n);o++)n=`${r}-${o}`;return this.ids.set(e,n),this.taken.add(n),n}connect(e,t,r){if(e.kind==="trigger"&&t!=="pass"){this.issue("a trigger has only its event output; put a check or gate between it and this step",r);return}let n=this.visit(e),o=this.idFor(r),s=Fq(t,e),i=`${n}>${o}>${s??"pass"}`;if(this.edgeKeys.has(i))return;this.edgeKeys.add(i);let a=`${n}-${o}`;for(let c=2;this.edges.some((u)=>u.id===a);c++)a=`${n}-${o}-${c}`;this.edges.push(s?{id:a,from:n,to:o,when:s}:{id:a,from:n,to:o})}wireInputs(e,t){for(let r of t){if(!zq.safeParse(r).success){this.issue("an input is not a step or a step output",e);continue}if(Uf(r)){if(!Nq.safeParse(r).success){this.issue("an input is not a step or a step output",e);continue}this.connect(r.step,r.port,e)}else this.connect(r,"pass",e)}}wireFromTriggers(e){for(let t of this.triggers)this.connect(t,"pass",e)}visit(e){if(!Fx.safeParse(e).success)return this.issue("a step was not built with the workflow helpers"),"invalid";let t=this.idFor(e);if(this.built.has(e))return t;switch(this.built.add(e),e.kind){case"trigger":this.buildTrigger(e,t);break;case"check":this.buildCheck(e,t);break;case"gate":this.buildGate(e,t);break;default:this.buildAction(e,t)}return t}buildTrigger(e,t){let r=[];for(let n of e.on){let o=Bs.safeParse(n);if(o.success&&(o.data==="schedule.matched"||bo.some((s)=>s===o.data)))r.push(o.data);else this.issue(Dc("an event a workflow can start on",n,bo),e)}if(r.length===0){if(e.on.length===0)this.issue("a trigger needs at least one event",e);return}if(e.schedule!==void 0){let n=lo.safeParse(e.schedule);if(!n.success){for(let o of n.error.issues)this.issue(Aq(mo(o,Lx)),e);return}this.nodes.push({id:t,type:"trigger",kinds:r,schedule:lo.parse(e.schedule)});return}this.nodes.push({id:t,type:"trigger",kinds:r})}buildCheck(e,t){let r=e.rule.startsWith("custom-"),n=e.rule;if(r)n=e.rule.includes("@")?e.rule:`${e.rule}@1`;else{let s=He.find((a)=>a.ruleId===e.rule);if(!s){this.issue(Dc("a rule",e.rule,He.map((a)=>a.ruleId)),e);return}let i=e.version??s.version;if(n=`${s.ruleId}@${i}`,i===s.version)for(let a of ii(e.config,s.configSchema,s.ruleId))this.issue(a,e)}let o=je.safeParse(e.config??{});if(!o.success){this.issue(`${e.rule} settings must be plain JSON`,e);return}if(this.nodes.push({id:t,type:"rule",ref:n,config:o.data}),e.inputs.length===0)this.wireFromTriggers(e);else this.wireInputs(e,e.inputs)}buildGate(e,t){if(e.inputs.length===0)this.issue(`${e.mode} needs at least one input`,e);if(e.mode==="not"&&e.inputs.length>1)this.issue("not takes exactly one input",e);this.nodes.push({id:t,type:"gate",mode:e.mode}),this.wireInputs(e,e.inputs)}buildAction(e,t){let r=e.action;if(!Mq(r)){this.issue(Dc("an action",r,Object.keys(Fr)),e);return}let n=Fr[r];for(let a of ii(e.params,n,r))this.issue(a,e);let o=qx.safeParse(e.params??{}),s=J(p(),je).safeParse(o.success?o.data:{}),i={id:t,type:"action",action:r};if(s.success&&Object.keys(s.data).length>0)i.params=s.data;if(this.nodes.push(i),e.inputs.length>0)this.wireInputs(e,e.inputs);if(qq(e)){for(let a of e.approve)this.visit(a),this.connect(e,"approve",a);for(let a of e.deny)this.visit(a),this.connect(e,"deny",a)}}hasIncoming(e){let t=this.ids.get(e);return this.edges.some((r)=>r.to===t)}compile(){let e=this.spec;for(let[i,a]of Object.entries(e.steps??{})){if(!Vq.test(i)){this.issue(`${i} is not a usable step id`);continue}if(this.taken.has(i)){this.issue(`two steps share the id ${i}`);continue}this.ids.set(a,i),this.taken.add(i)}let t=e.on===void 0?[]:Array.isArray(e.on)?e.on:[e.on],r=[],n=[];for(let i of t){let a=p().safeParse(i),c=Dq.safeParse(i);if(a.success)r.push(a.data);else if(c.success)n.push(c.data)}if(r.length>0)this.triggers.push({kind:"trigger",on:r,inputs:[]});this.triggers.push(...n);for(let i of Object.values(e.steps??{}))if(i.kind==="trigger"&&!this.triggers.includes(i))this.triggers.push(i);if(this.triggers.length===0)this.issue("add `on`, the events or schedule that start it");for(let i of this.triggers)this.visit(i);if(e.check!==void 0){let i=Uf(e.check)?{step:e.check.step,port:e.check.port}:{step:e.check,port:"pass"};if(!Uf(e.check)&&(i.step.kind==="trigger"||i.step.kind==="action"))this.issue("`check` takes a check, a gate or one of their outputs; a trigger or action has no Passes and Doesn't pass");this.visit(i.step);for(let a of e.pass??[])this.visit(a),this.connect(i.step,i.port,a);for(let a of e.fail??[])this.visit(a),this.connect(i.step,Uq(i.port),a)}else if((e.pass??[]).length>0||(e.fail??[]).length>0)this.issue("`pass` and `fail` need a `check`; use `run` for actions with no check");for(let i of e.run??[]){this.visit(i);for(let a of this.triggers)this.connect(a,"pass",i)}let o=Object.values(e.steps??{});for(let i of o)this.visit(i);for(let i of o)if(i.kind==="action"&&!this.hasIncoming(i))this.wireFromTriggers(i);if(this.issues.length>0)return null;let s=kr.safeParse({id:this.key,name:e.name??this.key,version:1,nodes:this.nodes,edges:this.edges});if(!s.success){for(let i of s.error.issues)this.issue(mo(i));return null}return s.data}}function Wf(e){let t=[],r=[];for(let[n,o]of Object.entries(e)){let s=new Ux(n,o.spec),i=s.compile();if(t.push(...s.issues),i&&s.issues.length===0)r.push(i)}return t.length>0?{ok:!1,issues:t,definitions:r}:{ok:!0,definitions:r}}function Wx(e){let t=jq.safeParse(e.default);if(!t.success)return{ok:!1,issues:t.error.issues.map((r)=>({workflow:String(r.path[0]??""),message:r.message})),definitions:[]};return Wf(t.data)}function Zq(e,t){let r=new Map(e.nodes.map((i)=>[i.id,i])),n=new Set([t]),o=[t],s=[];for(let i=o.shift();i!==void 0;i=o.shift())for(let a of e.edges){if(a.from!==i||n.has(a.to))continue;n.add(a.to),o.push(a.to);let c=r.get(a.to);if(c?.type==="action")s.push(Ik(c.action,c.params??{}))}return s}function Bq(e){return e.nodes.flatMap((t)=>{if(t.type!=="trigger"||!t.schedule?.every)return[];let r=yx(t.schedule.timezone),n=Zq(e,t.id),o=Nx(t.schedule);return[{nodeId:t.id,summary:si({every:t.schedule.every,timezone:t.schedule.timezone}),timezone:r.zone,defaulted:r.defaulted,description:n.length>0?`${o} Then Tripwire ${kc(n)}.`:`${o} No action runs after it.`}]})}function Vx(e,t){return e.map((r)=>{let n=ax(r,t?{catalog:t}:{});return{id:r.id,name:r.name,valid:!n.some((o)=>o.severity==="error"),issues:n,schedules:Bq(r)}})}var Vf=new Set(["url","signingSecret","urlSet","signingSecretSet"]);var lue=x(je),due=J(p(),je);var pue=p(),fue=J(p(),je);var mue=b({}).strict();var Zx=new Set(["cycle","gate-input","not-input","trigger-input","wrong-output","no-outputs","missing-step","duplicate-id"]);function Bx(e){return Kq(e).issues.filter((t)=>Zx.has(t.rule))}function Kq(e,t=He){let r=Af(e,{catalog:t,stage:"enable"}),n=r.results.filter((o)=>o.severity==="error");if(!r.definition)return{runnable:!1,canTurnOn:!1,issues:n};return{runnable:!n.some((o)=>Zx.has(o.rule)),canTurnOn:n.length===0,issues:n}}var jc={on:"Live",off:"Off","cant-run":"Can't run","needs-fixes":"Needs fixes","cant-turn-on":"Can't turn on"};function Kx(e){if(e.enabled){if(!e.runnable)return"cant-run";return e.canTurnOn?"on":"needs-fixes"}return e.canTurnOn?"off":"cant-turn-on"}var ai=nf(()=>b({type:p().optional(),const:re().optional(),enum:x(re()).optional(),items:ai.optional(),properties:J(p(),ai).optional(),required:x(p()).optional(),anyOf:x(ai).optional(),oneOf:x(ai).optional()})),Bf=J(p(),je),Hq=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function So(e){return Hq.test(e)?e:JSON.stringify(e)}function Mc(e,t){let r=e.anyOf??e.oneOf;if(r)return r.map((n)=>Mc(n,t)).join(" | ");if(e.const!==void 0)return JSON.stringify(e.const);if(e.enum)return e.enum.map((n)=>JSON.stringify(n)).join(" | ");switch(e.type){case"string":return"string";case"integer":case"number":return"number";case"boolean":return"boolean";case"array":return`readonly (${e.items?Mc(e.items,t):"unknown"})[]`;case"object":{let n=Object.entries(e.properties??{});if(n.length===0)return"Record<never, never>";let o=`${t} `;return`{
|
|
240
|
-
${n.map(([i,a])=>`${o}readonly ${
|
|
239
|
+
run code: ${e.code}`:"Please help me set up Tripwire."}var Rq=w({ruleId:p(),summary:p()}),Wue=w({version:C(1),verdict:So,org:p(),repo:p(),changeRequest:w({number:O().int(),title:p(),author:p()}),firedRules:k(Rq),runUrl:p(),timestamp:p()});var Vue=w({content:p(),embeds:k(w({title:p(),url:p(),description:p(),color:O().int()}))});function xo(e,t){return{kind:"output",step:e,port:t}}function Hf(e,t,r,n){let o={kind:"check",rule:e,config:t??{},version:r?.version,inputs:n,get passes(){return xo(o,"pass")},get fails(){return xo(o,"fail")},after:(...s)=>Hf(e,t,r,s)};return o}function Kf(e,t){let r={kind:"gate",mode:e,inputs:t,get passes(){return xo(r,"pass")},get fails(){return xo(r,"fail")}};return r}function sr(e,t,r=[]){return{kind:"action",action:e,params:t,inputs:r,after:(...n)=>sr(e,t,n)}}function Dx(e,t){let r={kind:"action",action:"send-to-moderation",params:void 0,approve:e.approve??[],deny:e.deny??[],inputs:t,get approved(){return xo(r,"approve")},get denied(){return xo(r,"deny")},after:(...n)=>Dx(e,n)};return r}function Mx(){return{check(e,...t){let[r,n]=t;return Hf(e,r,n,[])},customCheck(e,t){return Hf(e,t,void 0,[])},allOf(...e){return Kf("all-of",e)},anyOf(...e){return Kf("any-of",e)},not(e){return Kf("not",[e])},trigger(...e){return{kind:"trigger",on:e,inputs:[]}},schedule(e){return{kind:"trigger",on:["schedule.matched"],schedule:e,inputs:[]}},block(){return sr("block",void 0)},label(e){return sr("label",e)},removeLabel(e){return sr("remove-label",e)},requestReview(e){return sr("request-review",e)},postComment(e){return sr("post-comment",e)},lock(e){return sr("lock",e)},close(){return sr("close",void 0)},webhook(){return sr("webhook",void 0)},discord(){return sr("discord",void 0)},humanReview(e={}){return Dx(e,[])},workflow(e){return{kind:"workflow",spec:e}},workflows(e){return e}}}var $o=["change-request.opened","change-request.updated","change-request.closed","comment.created","push"],ci=w({}),Br={block:ci,label:Vr,"remove-label":Vr,"request-review":w({reviewers:k(te([kc,Of])).optional(),teamReviewers:k(Pf).optional()}),"post-comment":xc,lock:Uk,close:ci,webhook:ci,discord:ci,"send-to-moderation":ci};var qx=Mx();var ile=It*60000;function ui(e){return"n"in e}function Aq(e){return"preset"in e}var Cq={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6};function zq(e){let[t="0",r="0"]=e.split(":");return{hour:Number(t),minute:Number(r)}}function Fx(e){if(ui(e))return null;if(!Aq(e))return e.cron.trim();if(e.preset==="hourly")return`${e.minute} * * * *`;let{hour:t,minute:r}=zq(e.at);switch(e.preset){case"daily":return`${r} ${t} * * *`;case"weekdays":return`${r} ${t} * * 1-5`;case"weekly":return`${r} ${t} * * ${Cq[e.on]}`;case"monthly":return`${r} ${t} ${e.day} * *`;default:return null}}function Ux(e){return e?{zone:e,defaulted:!1}:{zone:rr,defaulted:!0}}var Nq={hours:["hour","hours"],days:["day","days"],weeks:["week","weeks"],months:["month","months"]};function Wx(e){let[t,r]=Nq[e.unit];return`${e.n} ${e.n===1?t:r}`}var Ln="09:00",Fc=Rf.options,zc=new Map([...Fc.flatMap((e,t)=>[e,`${e}s`,e.slice(0,3)].map((r)=>[r,t])),["tues",2],["thur",4],["thurs",4]]),Lq=new Map(Object.entries({one:1,two:2,three:3,four:4,five:5,six:6,seven:7,eight:8,nine:9,ten:10,eleven:11,twelve:12})),jq=new Map(Object.entries({m:"minutes",h:"hours",d:"days",w:"weeks"})),Vx=new Map(Object.entries({min:"minutes",mins:"minutes",minute:"minutes",minutes:"minutes",hr:"hours",hrs:"hours",hour:"hours",hours:"hours",day:"days",days:"days",wk:"weeks",wks:"weeks",week:"weeks",weeks:"weeks",month:"months",months:"months"})),Zx=new Map(Object.entries({minute:"minute",hour:"hourly",day:"daily",week:"week",month:"monthly"})),Gf=new Map(Object.entries({hourly:"hourly",daily:"daily",weekly:"weekly",monthly:"monthly",weekday:"weekdays",weekdays:"weekdays","mon-fri":"weekdays","monday-friday":"weekdays",weekend:"weekends",weekends:"weekends"})),Dq=new Map(Object.entries({utc:rr,gmt:rr,z:rr})),Mq=["Asia/Kolkata","Europe/Kyiv","Asia/Ho_Chi_Minh","America/Argentina/Buenos_Aires"],qq=["Berlin","London","New York","Los Angeles","Chicago","Denver","Toronto","Paris","Amsterdam","Madrid","Stockholm","Tokyo","Singapore","Sydney","Kolkata","Sao Paulo"],Nc=null;function Yf(e){return(e.split("/").at(-1)??e).replaceAll("_"," ")}function Xx(){if(Nc)return Nc;let e=Intl.supportedValuesOf("timeZone"),t=new Map,r=new Map,n=Mq.filter(ei);for(let i of[...n,...e])if(r.set(i.toLowerCase(),i),i.includes("/")&&!i.startsWith("Etc/")){let a=Yf(i).toLowerCase();if(!t.has(a))t.set(a,i)}let o=qq.filter((i)=>t.has(i.toLowerCase())),s=[...t.values()].map(Yf).filter((i)=>!o.includes(i)).sort((i,a)=>i.localeCompare(a));return Nc={byCity:t,byId:r,cities:[...o,...s]},Nc}function Fq(e){return e.split("/").map((t)=>t.split("_").map((r)=>`${r.charAt(0).toUpperCase()}${r.slice(1)}`).join("_")).join("/")}function Uq(e){let t=e.toLowerCase(),r=Dq.get(t);if(r)return r;if(!t.includes("/"))return null;let n=Xx().byId.get(t);if(n)return n;let o=Fq(t);return ei(o)?o:null}function Xf(e){return Xx().byCity.get(e.join(" ").toLowerCase())??null}function Qx(e){if(e===rr)return e;let t=Yf(e);return Xf([t])===e?t:e}function Wq(e,t){return`UTC${(new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"shortOffset"}).formatToParts(t).find((o)=>o.type==="timeZoneName")?.value??"GMT").replace(/^GMT/,"")||"+0"}`}function e0(e,t=new Date){return e===rr?e:`${e}, ${Wq(e,t)}`}function Bx(e,t){return[...e.matchAll(t)].map((r)=>({text:r[0],lower:r[0].toLowerCase(),from:r.index,to:r.index+r[0].length}))}function To(e){return String(e).padStart(2,"0")}function Qf(e,t){return`${To(e)}:${To(t)}`}function em(e){let r=e%100>=11&&e%100<=13?"th":["th","st","nd","rd"][e%10]??"th";return`${e}${r}`}function di(e){return`${e.charAt(0).toUpperCase()}${e.slice(1)}`}function Po(e){if(e.length<=1)return e[0]??"";return`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`}function Lc(e){if(e===void 0)return null;if(/^\d{1,4}$/.test(e))return Number(e);return Lq.get(e)??null}function Vq(e,t){let r=e[t]?.lower;if(r===void 0)return null;if(r==="noon")return{hour:12,minute:0,valid:!0,used:1};if(r==="midnight")return{hour:0,minute:0,valid:!0,used:1};let n=/^(\d{1,2})(?:[:.](\d{2}))?(am|pm|a\.m\.|p\.m\.)?$/.exec(r);if(!n)return null;let o=1,s=n[3]?.charAt(0),i=e[t+1]?.lower;if(!s&&i&&/^(am|pm|a\.m\.|p\.m\.)$/.test(i))s=i.charAt(0),o=2;let a=Number(n[1]),c=Number(n[2]??"0"),u=c<=59;if(s)u=u&&a>=1&&a<=12,a=a%12+(s==="p"?12:0);else u=u&&a<=23;return{hour:a,minute:c,valid:u,used:o}}function Kx(e){let t=e?/^(\d{1,2})(st|nd|rd|th)?$/.exec(e):null;return t?Number(t[1]):null}var Zq=new Set(["shorter","short","those","the","months","month"]);function Eo(e,t){return{from:e.from,to:t.to}}class tm{words;read={};at=0;everyAt=-1;constructor(e){this.words=e}word(e=0){return this.words[this.at+e]}lower(e=0){return this.word(e)?.lower}take(e){let t=this.word(),r=this.word(e-1);return this.at+=e,t&&r?Eo(t,r):{from:0,to:0}}run(){while(this.at<this.words.length&&!this.read.unknown)if(!this.step()){let e=this.lower()==="in"&&this.word(1)?this.word(1):this.word();if(e)this.read.unknown={from:e.from,to:e.to}}return this.read}step(){let e=this.lower()??"",t=this.at===this.everyAt+1&&this.everyAt>=0;if((e==="every"||e==="each")&&!this.read.every){if(this.everyAt=this.at,this.read.every=this.take(1),this.at>=this.words.length)this.read.everyDangling=this.read.every;return this.everyFollowerOk()}if(e==="and"||e==="&")return this.at+=1,!0;if(e==="skip"||e==="skipping")return this.skip();if(e==="at")return this.atPhrase();if(this.count(t))return!0;if(this.unit())return!0;if(this.keyword(t))return!0;if(this.weekdays())return!0;if(this.monthDay())return!0;if(this.monthOf())return!0;if(this.minute())return!0;if(this.time())return!0;return this.zone()}everyFollowerOk(){let e=this.lower();if(e===void 0)return!0;let t=/^\d+[a-z]+$/.test(e);if(!(Lc(e)!==null||t||Zx.has(e)||zc.has(e)||e==="weekday"||e==="weekend"||e==="weekdays"||e==="weekends")){let n=this.word();if(n)this.read.unknown={from:n.from,to:n.to}}return!0}skip(){let e=1;while(Zq.has(this.lower(e)??""))e+=1;if(this.read.skip)return!1;return this.read.skip=this.take(e),!0}atPhrase(){let e=this.lower(1);if(e===void 0)return this.read.atDangling=this.take(1),!0;if(e==="minute"||/^:\d{1,2}$/.test(e))return this.minute(1);return this.time(1)}count(e){let t=this.lower();if(t===void 0||this.read.interval)return!1;let r=/^(\d{1,4})([a-z]+)$/.exec(t);if(r){let a=r[2]??"",c=jq.get(a)??Vx.get(a);if(!c)return!1;let u=this.word();return this.setInterval(Number(r[1]),c,this.take(1),{from:u?.from??0,to:(u?.from??0)+(r[1]?.length??0)},r[2]??""),!0}let n=Lc(t);if(n===null)return!1;let o=this.lower(1)??"",s=Vx.get(o),i=this.word();if(s&&i)return this.setInterval(n,s,this.take(2),Eo(i,i),o),!0;if(e&&i)return this.read.interval={...this.take(1),n,unit:null,count:Eo(i,i),unitWord:""},!0;return!1}setInterval(e,t,r,n,o){this.read.interval={...r,n:e,unit:t,count:n,unitWord:o}}unit(){let e=this.lower()??"",t=Zx.get(e);if(!t)return!1;if(t==="minute"){if(this.read.interval)return!1;return this.setInterval(1,"minutes",this.take(1),null,e),!0}return this.setBase(t,[],this.take(1))}setBase(e,t,r){if(this.read.base)return!1;return this.read.base={...r,kind:e,days:t},!0}keyword(e){let t=0,r,s=(this.lower()??"")==="on"&&Gf.get(this.lower(1)??"")?1:0,i=this.lower(s)??"";if((i==="monday"||i==="mon")&&(this.lower(s+1)==="to"||this.lower(s+1)==="through")&&(this.lower(s+2)==="friday"||this.lower(s+2)==="fri"))r="weekdays",t=s+3;else if(Gf.has(i))r=Gf.get(i),t=s+1;if(!r)return!1;if(e&&!(r==="weekdays"||r==="weekends"))return!1;return this.setBase(r,[],this.take(t))}weekdays(){let e=this.lower()==="on"?1:0;if(zc.get(this.lower(e)??"")===void 0)return!1;let t=[],r=e;while(!0){let s=zc.get(this.lower(r)??"");if(s!==void 0){t.push(s),r+=1;continue}let i=this.lower(r);if((i==="and"||i==="&")&&zc.get(this.lower(r+1)??"")!==void 0){r+=1;continue}break}let n=[...new Set(t)].sort((s,i)=>s-i),o=this.read.base;if(o&&(o.kind==="weekly"||o.kind==="week")&&o.days.length===0)return o.kind="weekly",o.days=n,this.read.weekdaySpan=this.take(r),!0;return this.setBase("weekly",n,this.take(r))}monthDay(){let e=0;if(this.lower(e)==="on")e+=1;let t=null;if(this.lower(e)==="the")t=Kx(this.lower(e+1)),e+=2;else if(this.lower(e)==="day")t=Lc(this.lower(e+1)),e+=2;else if(/(st|nd|rd|th)$/.test(this.lower(e)??""))t=Kx(this.lower(e)),e+=1;if(t===null)return!1;let r=this.take(e),n=this.read.day;if(n)return n.to=r.to,n.values.push(t),n.value=Math.max(n.value,t),!0;return this.read.day={...r,value:t,values:[t]},!0}monthOf(){let e=this.lower()==="of",t=this.lower(1),r=this.lower(2);if(!e||!(t==="the"||t==="every"||t==="each")||r!=="month")return!1;if(this.read.base)return!1;return this.read.monthOf=this.take(3),this.read.base={...this.read.monthOf,kind:"monthly",days:[]},!0}minute(e=0){let t=this.lower(e)??"",r=null,n=e,o=/^:(\d{1,2})$/.exec(t);if(o)r=Number(o[1]),n+=1;else if(t==="minute")r=Lc(this.lower(e+1)),n+=2;if(r===null||r>59||this.read.minute)return!1;return this.read.minute={...this.take(n),value:r},!0}time(e=0){let t=Vq(this.words,this.at+e);if(!t)return!1;let r=this.take(e+t.used),n={hour:t.hour,minute:t.minute,valid:t.valid},o=this.read.time;if(o)return o.to=r.to,o.times.push(n),o.valid=o.valid&&n.valid,!0;return this.read.time={...r,...n,times:[n]},!0}zone(){if(this.read.zone)return!1;let e=this.lower()==="in"?1:0;for(let t=3;t>=1;t--){let r=this.words.slice(this.at+e,this.at+e+t).map((o)=>o.lower);if(r.length<t)continue;let n=t===1?Uq(r[0]??"")??Xf(r):Xf(r);if(n){let o=e+t+(this.lower(e+t)==="time"?1:0);return this.read.zone={...this.take(o),id:n},!0}}return!1}}function li(e){return e.replace(/\s+,/g,",").replace(/,(\s*,)+/g,",").replace(/\s{2,}/g," ").replace(/^[\s,]+|[\s,]+$/g,"")}function Zt(e,t,r){return li(`${e.slice(0,t.from)}${r}${e.slice(t.to)}`)}function jc(e,t){return t.time?e:`${e} at ${Ln}`}var Bq={minutes:["minute","minutes"],hours:["hour","hours"],days:["day","days"],weeks:["week","weeks"],months:["month","months"]};function qc(e,t){let[r,n]=Bq[t];return`${e} ${e===1?r:n}`}function t0(e){return di(Fc[e]??"")}function Hx(e){switch(e.kind){case"hourly":return"Every hour";case"daily":return"Every day";case"weekdays":return"Monday to Friday";case"weekends":return"Saturday and Sunday";case"week":return"Every week";case"monthly":return"Every month";default:return e.days.length>0?`Every ${Po(e.days.map(t0))}`:"Every week"}}function Kq(e,t,r,n){let o=[],s=(l,d,f,m)=>{if(!d)return;o.push({from:d.from,to:d.to,text:e.slice(d.from,d.to),kind:f,label:m,tone:r[l]??"ok"})},{every:i,base:a,interval:c}=t,u=i&&a&&!c&&a.from>i.to&&e.slice(i.to,a.from).trim()==="";if(i&&!u)s("every",i,"cadence","Repeats");if(c)s("interval",c,"interval",c.unit?`Every ${qc(c.n,c.unit)}`:"Repeats");if(a)s("base",u&&i?{from:i.from,to:a.to}:a,"cadence",Hx(a));if(s("weekdays",t.weekdaySpan,"cadence",Hx(a??{from:0,to:0,kind:"weekly",days:[]})),t.day)s("day",t.day,"day",`The ${Po(r0(t.day).map(em))} of the month`);if(t.time)s("time",t.time,"time",t.time.valid?Po(n0(t.time).map((l)=>Qf(l.hour,l.minute))):"Not a time");if(s("at",t.atDangling,"time","At"),t.minute)s("minute",t.minute,"minute",`At :${To(t.minute.value)}`);if(t.zone)s("zone",t.zone,"zone",e0(t.zone.id,n));if(t.skip)s("skip",t.skip,"skip","Skips months without that day");if(t.unknown)s("unknown",t.unknown,"unknown","Not understood");return o.sort((l,d)=>l.from-d.from)}function $e(e,t,r=[],n={}){return{ok:!1,reason:e,message:t,fixes:r,tones:n}}var Hq=[5,6,10,12,15,20,30];function Gq(e){return Hq.reduce((t,r)=>Math.abs(r-e)<Math.abs(t-e)?r:t)}function Jq(e,t){let n=t.unitWord==="minute"||t.unitWord==="min"?`${t.unitWord}s`:t.unitWord,o=`${It} ${n}`;return{label:`Use ${It} minutes`,text:Zt(e,t,o)}}function Yq(e,t){let r=t.interval;if(!r)return null;let n={interval:"fail"};if(t.base||t.day)return $e("invalid","Use an interval or a day, not both.",[],n);if(r.unit===null)return $e("incomplete","Add a unit, like every 5 days.",[{label:"Use days",text:Zt(e,r,`${r.n} days`)}]);if(r.unit==="months"){if(r.n===1)return null;let c=Math.round(r.n*30/7);return $e("unstorable","An interval counts hours, days or weeks.",[{label:`Use ${c} weeks`,text:Zt(e,r,`${c} weeks`)}],n)}let{n:o,unit:s}=r;if(s==="minutes"){if(o<It)return $e("floor",`Runs must be at least ${It} minutes apart.`,[Jq(e,r)],n);if(o<60||o%60!==0){if(t.time||t.minute)return Gx(e,t,[]);if(o>60||60%o!==0){let c=Gq(o);return $e("unstorable","Minutes must divide the hour evenly, like 10, 15 or 30.",[{label:`Use ${c} minutes`,text:Zt(e,r,`${c} minutes`)}],n)}return{ok:!0,every:{cron:`*/${o} * * * *`},timezone:t.zone?.id}}o/=60,s="hours"}let i={n:o,unit:s};if(s==="hours"&&t.minute&&!t.time&&!t.skip&&o>1&&o<24&&24%o===0)return{ok:!0,every:{cron:`${t.minute.value} */${o} * * *`},timezone:t.zone?.id};if(t.time||t.minute)return Gx(e,t,[]);if(t.zone)return $e("unstorable","An interval counts from the last run, so it has no timezone.",[{label:"Drop the timezone",text:Zt(e,t.zone,"")}],{zone:"fail"});if(t.skip)return $e("invalid","Only a day after the 28th skips months.",[],{skip:"fail"});let a=ri[s];if(o<1||o*a>$c){let c=Math.floor($c/a);return $e("invalid","Runs must be at most 52 weeks apart.",[{label:`Use ${qc(c,s)}`,text:Zt(e,r,qc(c,s))}],n)}return{ok:!0,every:i,timezone:void 0}}function Gx(e,t,r){let n=t.time??t.minute;return $e("unstorable","An interval counts from the last run, so it has no time of day.",[...r,...n?[{label:"Drop the time",text:Zt(e,n,"")}]:[]],{time:"fail",minute:"fail"})}var Xq=new Map([[29,"February has no 29th most years."],[30,"February has no 30th."],[31,"Five months have no 31st."]]);function Qq(e,t){let r=t.zone?.id,n=t.base;if(!n&&(t.day||t.interval?.unit==="months"))n={from:0,to:0,kind:"monthly",days:[]};if(!n)return $e("incomplete","Add how often, like every day.",t.time?[{label:"Every day",text:`every day ${e.trim()}`}]:[]);if(t.time&&!t.time.valid)return $e("invalid","Use a time from 00:00 to 23:59.",[],{time:"fail"});if(n.kind==="hourly"){if(t.time)return $e("unstorable","An hourly schedule takes a minute, like at :15.",[{label:"Use :00",text:Zt(e,t.time,"at :00")}],{time:"fail"});if(t.day)return $e("invalid","An hourly schedule runs every day.",[],{day:"fail"});return{ok:!0,every:{preset:"hourly",minute:t.minute?.value??0},timezone:r}}if(t.minute)return $e("invalid","A minute only fits an hourly schedule.",[],{minute:"fail"});if(n.kind==="week"||n.kind==="weekly"&&n.days.length===0){let f=t.every?{from:Math.min(t.every.from,n.from),to:n.to}:n;return $e("incomplete","Add a day, like every monday.",[{label:"Every Monday",text:jc(Zt(e,f,"every monday"),t)}])}if(n.kind==="monthly"){if(!t.day)return $e("incomplete","Add a day, like on the 1st.",[{label:"On the 1st",text:jc(`${li(e)} on the 1st`,t)}])}else if(t.day)return $e("invalid","Pick a weekday or a day of the month, not both.",[],{day:"fail"});let o=t.day,s=o?r0(o):[];if(s.some((f)=>f<1||f>31))return $e("invalid","A month has at most 31 days.",[],{day:"fail"});if(o&&o.value>28&&!t.skip)return $e("ambiguous",Xq.get(o.value)??"",[{label:"Skip those months",text:`${jc(li(e),t)}, skipping shorter months`},{label:"Run on the 28th instead",text:jc(Zt(e,o,"on the 28th"),t)}],{day:"warn"});if(t.skip&&!(o&&o.value>28))return $e("invalid","Only a day after the 28th skips months.",[],{skip:"fail"});if(!t.time)return $e("incomplete",t.atDangling?"Add a time, like 09:00.":"Add a time, like at 09:00.",[{label:`At ${Ln}`,text:t.atDangling?`${li(e)} ${Ln}`:`${li(e)} at ${Ln}`}]);let i=n0(t.time),[a]=i;if(i.length===1&&s.length<=1&&a){let f=e2(n,s[0],a);if(f)return{ok:!0,every:f,timezone:r}}let c=[...new Set(i.map((f)=>f.minute))],u=[...new Set(i.map((f)=>f.hour))];if(c.length*u.length!==i.length)return $e("unstorable","Times in one schedule share their minutes, like 09:00 and 17:00.",[],{time:"fail"});let l=`${c.join(",")} ${u.join(",")} ${t2(n,s)}`,d=Ec.safeParse({cron:l});if(!d.success)return $e("invalid",o0(d.error.issues[0]?.message??"this cron does not parse"),[],{time:"fail"});return{ok:!0,every:{cron:d.data.cron},timezone:r}}function r0(e){return[...new Set(e.values)].sort((t,r)=>t-r)}function n0(e){let t=new Map;for(let r of e.times)t.set(r.hour*60+r.minute,r);return[...t.entries()].sort(([r],[n])=>r-n).map(([,r])=>r)}function e2(e,t,r){let n=Qf(r.hour,r.minute);switch(e.kind){case"daily":return{preset:"daily",at:n};case"weekdays":return{preset:"weekdays",at:n};case"monthly":{let o=t??1;return o>28?null:{preset:"monthly",day:o,at:n}}case"weekly":{let[o]=e.days,s=o===void 0?void 0:Fc[o];return e.days.length===1&&s?{preset:"weekly",on:s,at:n}:null}default:return null}}function t2(e,t){switch(e.kind){case"weekdays":return"* * 1-5";case"weekends":return"* * 0,6";case"monthly":return`${t.length>0?t.join(","):"1"} * *`;case"weekly":return`* * ${e.days.join(",")}`;default:return"* * *"}}var Jf=/^[\d*][\d*,\-/]*$/,r2=/^[\da-z*][\da-z*,\-/]*$/i;function n2(e){let[t,r]=e;if(!(t&&r&&Jf.test(t.text)&&Jf.test(r.text)))return 0;let n=0;while(n<5){let o=e[n],s=n<3?Jf:r2;if(!(o&&s.test(o.text))||n>=3&&!/[\d*]/.test(o.text)&&!/^[a-z]{3}(-[a-z]{3})?(,[a-z]{3})*$/i.test(o.text))break;n+=1}return n}function o0(e){return`${di(e)}.`}function o2(e,t,r,n){let o=t.slice(0,r),s=o[0],i=o.at(-1),a=o.map((y)=>y.text).join(" "),c=s&&i?Eo(s,i):{from:0,to:0},u=t.slice(r),l,d;if(u.length>0){let b=new tm(u).run(),E=b.every||b.base||b.interval||b.time||b.day||b.minute||b.skip;if(b.unknown||E||!b.zone){let S=u[0];d=b.unknown??(S?Eo(S,S):void 0)}else l=b.zone}let f=s0(a),m=f?di(f):"Cron",h=(y)=>{let b=[{...c,text:e.slice(c.from,c.to),kind:"cron",label:m,tone:y}];if(l)b.push({from:l.from,to:l.to,text:e.slice(l.from,l.to),kind:"zone",label:e0(l.id,n),tone:"ok"});if(d)b.push({...d,text:e.slice(d.from,d.to),kind:"unknown",label:"Not understood",tone:"fail"});return b};if(d)return{ok:!1,reason:"unknown",message:`Could not read "${e.slice(d.from,d.to)}".`,fixes:[],tokens:h("ok")};let g=Ec.safeParse({cron:a});if(!g.success){let y=g.error.issues[0]?.message??"this cron does not parse",b=y.includes(`at least ${It} minutes`),E=o[0]?.text??"",S=/^\*(\/(\d+))?$/.exec(E),I=b&&S&&s?[{label:`Use ${It} minutes`,text:Zt(e,Eo(s,s),`*/${It}`)}]:[];return{ok:!1,reason:b?"floor":"invalid",message:o0(y),fixes:I,tokens:h("fail")}}return{ok:!0,every:{cron:g.data.cron},timezone:l?.id,tokens:h("ok")}}function s2(e,t){if(e.trim()==="")return{ok:!1,reason:"empty",message:"",fixes:[],tokens:[]};let r=Bx(e,/\S+/g),n=n2(r);if(n>0)return o2(e,r,n,t);let o=new tm(Bx(e,/[^\s,]+/g)).run(),s=i2(e,o),i=Kq(e,o,s.ok?{}:s.tones??{},t);if(s.ok)return{ok:!0,every:s.every,timezone:s.timezone,tokens:i};return{ok:!1,reason:s.reason,message:s.message,fixes:s.fixes,tokens:i}}function i2(e,t){if(t.unknown)return $e("unknown",`Could not read "${e.slice(t.unknown.from,t.unknown.to)}".`,[],{unknown:"fail"});if(t.everyDangling&&!t.base&&!t.interval)return $e("incomplete","Add how often, like every day.");return Yq(e,c2(t))??Qq(e,t)}var a2={hours:"hourly",days:"daily",weeks:"week",months:"monthly"};function c2(e){let t=e.interval;if(!t||t.n!==1||t.unit===null)return e;let r=e.base?.kind;if(t.unit==="weeks"&&r==="weekly"||t.unit==="months"&&r==="monthly"){if(e.base&&r==="weekly"&&!e.weekdaySpan)e.weekdaySpan={from:e.base.from,to:e.base.to},e.base.from=t.from,e.base.to=t.to;return e.interval=void 0,e}if(e.base)return e;if(t.unit==="minutes")return e;return e.base={from:t.from,to:t.to,kind:a2[t.unit],days:[]},e.interval=void 0,e}var u2={hours:"every 60 minutes",days:"every 24 hours",weeks:"every 7 days"},Dc=Array.from({length:31},(e,t)=>t+1),Mc=[0,1,2,3,4,5,6];function l2(e){let t=(i,a)=>bc(e,i,a),r=Mc.filter((i)=>Dc.every((a)=>t(a,i)));if(Mc.every((i)=>Dc.every((a)=>t(a,i)===r.includes(i))))return r.length===7?{kind:"daily"}:{kind:"weekly",days:r};let o=Dc.filter((i)=>Mc.every((a)=>t(i,a)));return Dc.every((i)=>Mc.every((a)=>t(i,a)===o.includes(i)))?{kind:"monthly",days:o}:null}function Jx(e,t){let[r,n]=e;if(r!==0||n===void 0)return null;let o=n-r;return e.every((i,a)=>i===a*o)&&t%o===0&&e.length===t/o?o:null}var d2=4;function Yx(e){return(e+6)%7}function p2(e){if(e.kind==="daily")return"every day";if(e.kind==="monthly")return e.days.length===0?null:`monthly on the ${Po(e.days.map(em))}`;let t=e.days.join(",");if(t==="1,2,3,4,5")return"weekdays";if(t==="0,6")return"weekends";let r=[...e.days].sort((n,o)=>Yx(n)-Yx(o)).map(t0);return r.length===0?null:`every ${Po(r)}`}function f2(e){let t=Cn(e);if(!t.ok||t.spec.months.length!==12)return null;let{minutes:r,hours:n}=t.spec,o=l2(t.spec);if(!o)return null;let s=o.kind==="daily",[i]=r;if(n.length===24){if(!s)return null;if(r.length===1&&i!==void 0)return i===0?"every hour":`every hour at :${To(i)}`;let d=Jx(r,60);return d?`every ${d} minutes`:null}let a=Jx(n,24);if(r.length===1&&i!==void 0&&a&&n.length>2)return s?`every ${a} hours at :${To(i)}`:null;if(r.length*n.length>d2)return null;let c=p2(o);if(!c)return null;let u=n.flatMap((d)=>r.map((f)=>Qf(d,f))),l=`${c} at ${Po(u)}`;if(o.kind!=="monthly"||o.days.every((d)=>d<=28))return l;return o.days.length===1?`${l}, skipping shorter months`:null}function s0(e){let t=f2(e);if(!t)return null;let r=s2(t,new Date(0)),n=r.ok?Fx(r.every):null;return n!==null&&Lk(n,e)?t:null}function m2(e){if(ui(e)){if(e.n===1)return u2[e.unit];return`every ${qc(e.n,e.unit)}`}if("preset"in e)switch(e.preset){case"hourly":return e.minute===0?"every hour":`every hour at :${To(e.minute)}`;case"daily":return`every day at ${e.at}`;case"weekdays":return`weekdays at ${e.at}`;case"weekly":return`every ${di(e.on)} at ${e.at}`;default:return`monthly on the ${em(e.day)} at ${e.at}`}let t=e.cron.trim();return s0(t)??t}function h2(e){let t=m2(e.every);if(ui(e.every)||!e.timezone)return t;return`${t} in ${Qx(e.timezone)}`}function g2(e){return h2({every:e.every,timezone:ui(e.every)?void 0:e.timezone??rr})}function pi(e){return di(g2(e))}var ple=["every",...Fc,"weekdays","weekends","minutes","hours","days","weeks","month","monthly","daily","hourly","weekly","noon","midnight"],fle=["",` at ${Ln}`,` ${Ln}`,":00"," days"," minutes",` on the 1st at ${Ln}`," 5 days"];var y2={issue:"issues","change-request":"change requests"},w2={open:"open",closed:"closed",any:"open and closed"};function rm(e,t){if(e.length<=1)return e[0]??"";return`${e.slice(0,-1).join(", ")} ${t} ${e.at(-1)}`}function b2(e){let t=e?.match??{},r=["issue","change-request"].filter((o)=>t.subjects?.includes(o)),n=e?.every?[{key:"every",text:pi({every:e.every,timezone:e.timezone})}]:[{key:"every-lead",text:"Every "},{key:"every",text:"so often",placeholder:!0}];if(n.push({key:"finds",text:", finds "},t.state?{key:"state",text:w2[t.state]}:{key:"state",text:"open or closed",placeholder:!0},{key:"gap",text:" "},r.length>0?{key:"subjects",text:rm(r.map((o)=>y2[o]),"and")}:{key:"subjects",text:"issues or change requests",placeholder:!0},{key:"inactive-lead",text:" with no activity for "},t.inactiveFor?{key:"inactiveFor",text:Wx(t.inactiveFor)}:{key:"inactiveFor",text:"some time",placeholder:!0}),t.labels?.length)n.push({key:"labels",text:`, labeled ${rm(t.labels,"and")}`});if(t.excludeLabels?.length)n.push({key:"excludeLabels",text:`, not labeled ${rm(t.excludeLabels,"or")}`});if(t.skipLocked!==!1)n.push({key:"skipLocked",text:", skipping locked ones"});return n.push({key:"end",text:"."}),n}function i0(e){return b2(e).map((t)=>t.placeholder?`[${t.text}]`:t.text).join("")}var _2=new Map([["every","The schedule"],["every.n","The interval"],["every.unit","The interval unit"],["every.minute","The minute"],["every.at","The time"],["every.at.hour","The hour"],["every.at.minute","The minute"],["every.on","The weekday"],["every.day","The day of the month"],["every.cron","The cron"],["every.preset","The preset"],["timezone","The timezone"],["match","What it looks for"],["match.subjects","What it looks at"],["match.state","The state"],["match.inactiveFor","The inactive time"],["match.inactiveFor.n","The inactive time"],["match.inactiveFor.unit","The inactive time unit"],["match.labels","The labels"],["match.excludeLabels","The labels to skip"],["match.skipLocked","Skip locked"]]);function a0(e){let t=e.map(String).filter((r)=>!/^\d+$/.test(r)).join(".");return _2.get(t)??null}function v2(e){return/[.?]$/.test(e)?e:`${e}.`}function l0(e){let{workflow:t,step:r,message:n}=e,o=r!==void 0&&(n.startsWith(`${r} `)||n.startsWith(`${r}:`)),s=[t,o?void 0:r].filter(Boolean).join(" > ");if(!s)return n;return o?`${s} > ${n}`:`${s}: ${n}`}function S2(e,t){let r=Array.from({length:t.length+1},(n,o)=>o);for(let n=1;n<=e.length;n++){let o=r[0]??0;r[0]=n;for(let s=1;s<=t.length;s++){let i=r[s]??0;r[s]=Math.min(i+1,(r[s-1]??0)+1,o+(e[n-1]===t[s-1]?0:1)),o=i}}return r[t.length]??0}function c0(e,t){let r=0;for(let n of t)if(n===e[r])r++;return r===e.length}function u0(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function k2(e,t){let r=u0(e),n=null;for(let s of t){let i=u0(s),c=c0(r,i)||c0(i,r)?Math.abs(i.length-r.length)/4:S2(r,i);if(n===null||c<n.score)n={id:s,score:c}}if(!n)return null;let o=Math.max(2,Math.ceil(r.length/3));return n.score<=o?n.id:null}function Uc(e,t,r){let n=k2(t,r);return n?`${t} is not ${e}. Did you mean ${n}?`:`${t} is not ${e}. Use one of: ${r.join(", ")}`}var d0=K(p(),ne());function fi(e,t,r){let n=d0.safeParse(e??{});if(!n.success)return[`${r} takes an object of settings`];let o=t instanceof gf?Object.keys(t.shape):null,s=o?Object.keys(n.data).filter((a)=>!o.includes(a)):[];if(s.length>0&&o)return s.map((a)=>Uc(`a setting of ${r}`,a,o));let i=t.safeParse(n.data);return i.success?[]:i.error.issues.map((a)=>`${r}: ${vo(a)}`)}var x2=w({kind:z(["trigger","check","gate","action","output"])}),p0=w({kind:z(["trigger","check","gate","action"])}),$2=w({kind:C("output"),port:z(["pass","fail","approve","deny"])}),E2=w({}).loose(),T2=pc((e)=>p0.safeParse(e).success),P2=K(p(),w({kind:C("workflow"),spec:pc((e)=>E2.safeParse(e).success,{error:"each entry must be workflow({ ... })"})}),{error:"the default export must be workflows({ ... })"});function O2(e){return Object.hasOwn(Br,e)}function nm(e){return e.kind==="output"}function I2(e){return e.kind==="action"&&e.action==="send-to-moderation"}function R2(e,t){if(e==="pass")return;return t.kind==="trigger"?void 0:e}function A2(e){switch(e){case"pass":return"fail";case"fail":return"pass";case"approve":return"deny";default:return"approve"}}function C2(e){switch(e.kind){case"trigger":return e.on.includes("schedule.matched")?"schedule":"trigger";case"check":return e.rule.split("@")[0]??"check";case"gate":return e.mode;default:return e.action}}var z2=/^[^\p{Cc}]+$/u;class f0{key;spec;issues=[];ids=new Map;taken=new Set;nodes=[];edges=[];edgeKeys=new Set;built=new Set;triggers=[];constructor(e,t){this.key=e;this.spec=t}issue(e,t){let r=t?this.ids.get(t):void 0;this.issues.push({workflow:this.key,step:r,message:e})}idFor(e){let t=this.ids.get(e);if(t)return t;let r=C2(e),n=r;for(let o=2;this.taken.has(n);o++)n=`${r}-${o}`;return this.ids.set(e,n),this.taken.add(n),n}connect(e,t,r){if(e.kind==="trigger"&&t!=="pass"){this.issue("a trigger has only its event output; put a check or gate between it and this step",r);return}let n=this.visit(e),o=this.idFor(r),s=R2(t,e),i=`${n}>${o}>${s??"pass"}`;if(this.edgeKeys.has(i))return;this.edgeKeys.add(i);let a=`${n}-${o}`;for(let c=2;this.edges.some((u)=>u.id===a);c++)a=`${n}-${o}-${c}`;this.edges.push(s?{id:a,from:n,to:o,when:s}:{id:a,from:n,to:o})}wireInputs(e,t){for(let r of t){if(!x2.safeParse(r).success){this.issue("an input is not a step or a step output",e);continue}if(nm(r)){if(!$2.safeParse(r).success){this.issue("an input is not a step or a step output",e);continue}this.connect(r.step,r.port,e)}else this.connect(r,"pass",e)}}wireFromTriggers(e){for(let t of this.triggers)this.connect(t,"pass",e)}visit(e){if(!p0.safeParse(e).success)return this.issue("a step was not built with the workflow helpers"),"invalid";let t=this.idFor(e);if(this.built.has(e))return t;switch(this.built.add(e),e.kind){case"trigger":this.buildTrigger(e,t);break;case"check":this.buildCheck(e,t);break;case"gate":this.buildGate(e,t);break;default:this.buildAction(e,t)}return t}buildTrigger(e,t){let r=[];for(let n of e.on){let o=Qs.safeParse(n);if(o.success&&(o.data==="schedule.matched"||$o.some((s)=>s===o.data)))r.push(o.data);else this.issue(Uc("an event a workflow can start on",n,$o),e)}if(r.length===0){if(e.on.length===0)this.issue("a trigger needs at least one event",e);return}if(e.schedule!==void 0){let n=wo.safeParse(e.schedule);if(!n.success){for(let o of n.error.issues)this.issue(v2(vo(o,a0)),e);return}this.nodes.push({id:t,type:"trigger",kinds:r,schedule:wo.parse(e.schedule)});return}this.nodes.push({id:t,type:"trigger",kinds:r})}buildCheck(e,t){let r=e.rule.startsWith("custom-"),n=e.rule;if(r)n=e.rule.includes("@")?e.rule:`${e.rule}@1`;else{let s=Ge.find((a)=>a.ruleId===e.rule);if(!s){this.issue(Uc("a rule",e.rule,Ge.map((a)=>a.ruleId)),e);return}let i=e.version??s.version;if(n=`${s.ruleId}@${i}`,i===s.version)for(let a of fi(e.config,s.configSchema,s.ruleId))this.issue(a,e)}let o=qe.safeParse(e.config??{});if(!o.success){this.issue(`${e.rule} settings must be plain JSON`,e);return}if(this.nodes.push({id:t,type:"rule",ref:n,config:o.data}),e.inputs.length===0)this.wireFromTriggers(e);else this.wireInputs(e,e.inputs)}buildGate(e,t){if(e.inputs.length===0)this.issue(`${e.mode} needs at least one input`,e);if(e.mode==="not"&&e.inputs.length>1)this.issue("not takes exactly one input",e);this.nodes.push({id:t,type:"gate",mode:e.mode}),this.wireInputs(e,e.inputs)}buildAction(e,t){let r=e.action;if(!O2(r)){this.issue(Uc("an action",r,Object.keys(Br)),e);return}let n=Br[r];for(let a of fi(e.params,n,r))this.issue(a,e);let o=d0.safeParse(e.params??{}),s=K(p(),qe).safeParse(o.success?o.data:{}),i={id:t,type:"action",action:r};if(s.success&&Object.keys(s.data).length>0)i.params=s.data;if(this.nodes.push(i),e.inputs.length>0)this.wireInputs(e,e.inputs);if(I2(e)){for(let a of e.approve)this.visit(a),this.connect(e,"approve",a);for(let a of e.deny)this.visit(a),this.connect(e,"deny",a)}}hasIncoming(e){let t=this.ids.get(e);return this.edges.some((r)=>r.to===t)}compile(){let e=this.spec;for(let[i,a]of Object.entries(e.steps??{})){if(!z2.test(i)){this.issue(`${i} is not a usable step id`);continue}if(this.taken.has(i)){this.issue(`two steps share the id ${i}`);continue}this.ids.set(a,i),this.taken.add(i)}let t=e.on===void 0?[]:Array.isArray(e.on)?e.on:[e.on],r=[],n=[];for(let i of t){let a=p().safeParse(i),c=T2.safeParse(i);if(a.success)r.push(a.data);else if(c.success)n.push(c.data)}if(r.length>0)this.triggers.push({kind:"trigger",on:r,inputs:[]});this.triggers.push(...n);for(let i of Object.values(e.steps??{}))if(i.kind==="trigger"&&!this.triggers.includes(i))this.triggers.push(i);if(this.triggers.length===0)this.issue("add `on`, the events or schedule that start it");for(let i of this.triggers)this.visit(i);if(e.check!==void 0){let i=nm(e.check)?{step:e.check.step,port:e.check.port}:{step:e.check,port:"pass"};if(!nm(e.check)&&(i.step.kind==="trigger"||i.step.kind==="action"))this.issue("`check` takes a check, a gate or one of their outputs; a trigger or action has no Passes and Doesn't pass");this.visit(i.step);for(let a of e.pass??[])this.visit(a),this.connect(i.step,i.port,a);for(let a of e.fail??[])this.visit(a),this.connect(i.step,A2(i.port),a)}else if((e.pass??[]).length>0||(e.fail??[]).length>0)this.issue("`pass` and `fail` need a `check`; use `run` for actions with no check");for(let i of e.run??[]){this.visit(i);for(let a of this.triggers)this.connect(a,"pass",i)}let o=Object.values(e.steps??{});for(let i of o)this.visit(i);for(let i of o)if(i.kind==="action"&&!this.hasIncoming(i))this.wireFromTriggers(i);if(this.issues.length>0)return null;let s=Rt.safeParse({id:this.key,name:e.name??this.key,version:1,nodes:this.nodes,edges:this.edges});if(!s.success){for(let i of s.error.issues)this.issue(vo(i));return null}return s.data}}function om(e){let t=[],r=[];for(let[n,o]of Object.entries(e)){let s=new f0(n,o.spec),i=s.compile();if(t.push(...s.issues),i&&s.issues.length===0)r.push(i)}return t.length>0?{ok:!1,issues:t,definitions:r}:{ok:!0,definitions:r}}function m0(e){let t=P2.safeParse(e.default);if(!t.success)return{ok:!1,issues:t.error.issues.map((r)=>({workflow:String(r.path[0]??""),message:r.message})),definitions:[]};return om(t.data)}function N2(e,t){let r=new Map(e.nodes.map((i)=>[i.id,i])),n=new Set([t]),o=[t],s=[];for(let i=o.shift();i!==void 0;i=o.shift())for(let a of e.edges){if(a.from!==i||n.has(a.to))continue;n.add(a.to),o.push(a.to);let c=r.get(a.to);if(c?.type==="action")s.push(tx(c.action,c.params??{}))}return s}function L2(e){return e.nodes.flatMap((t)=>{if(t.type!=="trigger"||!t.schedule?.every)return[];let r=Ux(t.schedule.timezone),n=N2(e,t.id),o=i0(t.schedule);return[{nodeId:t.id,summary:pi({every:t.schedule.every,timezone:t.schedule.timezone}),timezone:r.zone,defaulted:r.defaulted,description:n.length>0?`${o} Then Tripwire ${Pc(n)}.`:`${o} No action runs after it.`}]})}function h0(e,t){return e.map((r)=>{let n=Ax(r,t?{catalog:t}:{});return{id:r.id,name:r.name,valid:!n.some((o)=>o.severity==="error"),issues:n,schedules:L2(r)}})}var sm=new Set(["url","signingSecret","urlSet","signingSecretSet"]);function j2(e){return e.type==="action"&&(e.action==="webhook"||e.action==="discord")}function g0(e){return{...e,nodes:e.nodes.map((t)=>{if(!j2(t))return t;let r={...t.params??{}};for(let n of["url","signingSecret"]){let o=r[n];if(o!==void 0&&o!==""&&o!==null)r[n]="",r[`${n}Set`]=!0}return{...t,params:r}})}}var zle=k(qe),Nle=K(p(),qe);var Lle=p(),jle=K(p(),qe);var Dle=w({}).strict();function D2(e){let t=e.normalize("NFKD").replace(/[̀-ͯ]/g,"").toLowerCase().split(/[^a-z0-9]+/).filter(Boolean),r="";for(let n of t){let o=r?`${r}-${n}`:n;if(o.length>48)break;r=o}return r||t[0]?.slice(0,48)||"workflow"}function jn(e,t=new Map){let r=new Set,n=new Map;for(let o of e){let s=t.get(o.id);if(s&&!r.has(s))r.add(s),n.set(o.id,s)}for(let o of e){if(n.has(o.id))continue;let s=D2(o.name||o.id),i=s;for(let a=2;r.has(i);a++)i=`${s}-${a}`;r.add(i),n.set(o.id,i)}return n}function Wc(e,t,r={}){let n=new Set(t.map((c)=>c.id)),o=new Set,s=new Map;for(let c of e){let u=r[c.id];if(u&&!o.has(u))o.add(u),s.set(c.id,{key:c.id,id:u,by:"mapping"})}for(let c of e)if(!s.has(c.id)&&n.has(c.id)&&!o.has(c.id))o.add(c.id),s.set(c.id,{key:c.id,id:c.id,by:"id"});let i=new Map([...jn(t)].map(([c,u])=>[u,c]));for(let c of e){let u=i.get(c.id);if(!s.has(c.id)&&u&&!o.has(u))o.add(u),s.set(c.id,{key:c.id,id:u,by:"name"})}let a=e.map((c)=>s.get(c.id)??{key:c.id,id:c.id,by:"new"});return{definitions:e.map((c,u)=>({...c,id:a[u]?.id??c.id})),matches:a}}var y0=new Set(["cycle","gate-input","not-input","trigger-input","wrong-output","no-outputs","missing-step","duplicate-id"]);function w0(e){return M2(e).issues.filter((t)=>y0.has(t.rule))}function M2(e,t=Ge){let r=Bf(e,{catalog:t,stage:"enable"}),n=r.results.filter((o)=>o.severity==="error");if(!r.definition)return{runnable:!1,canTurnOn:!1,issues:n};return{runnable:!n.some((o)=>y0.has(o.rule)),canTurnOn:n.length===0,issues:n}}var Vc={on:"Live",off:"Off","cant-run":"Can't run","needs-fixes":"Needs fixes","cant-turn-on":"Can't turn on"};function b0(e){if(e.enabled){if(!e.runnable)return"cant-run";return e.canTurnOn?"on":"needs-fixes"}return e.canTurnOn?"off":"cant-turn-on"}var mi=bf(()=>w({type:p().optional(),const:ne().optional(),enum:k(ne()).optional(),items:mi.optional(),properties:K(p(),mi).optional(),required:k(p()).optional(),anyOf:k(mi).optional(),oneOf:k(mi).optional()})),Bc=K(p(),qe),q2=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Dn(e){return q2.test(e)?e:JSON.stringify(e)}function Zc(e,t){let r=e.anyOf??e.oneOf;if(r)return r.map((n)=>Zc(n,t)).join(" | ");if(e.const!==void 0)return JSON.stringify(e.const);if(e.enum)return e.enum.map((n)=>JSON.stringify(n)).join(" | ");switch(e.type){case"string":return"string";case"integer":case"number":return"number";case"boolean":return"boolean";case"array":return`readonly (${e.items?Zc(e.items,t):"unknown"})[]`;case"object":{let n=Object.entries(e.properties??{});if(n.length===0)return"Record<never, never>";let o=`${t} `;return`{
|
|
240
|
+
${n.map(([i,a])=>`${o}readonly ${Dn(i)}${e.required?.includes(i)?"":"?"}: ${Zc(a,o)};`).join(`
|
|
241
241
|
`)}
|
|
242
|
-
${t}}`}default:return"unknown"}}function
|
|
243
|
-
`)}var
|
|
244
|
-
${
|
|
242
|
+
${t}}`}default:return"unknown"}}function im(e,t=""){let r=mi.safeParse(qS(e,{io:"input",unrepresentable:"any"}));return r.success?Zc(r.data,t):"unknown"}function F2(){let e=Ge.map((n)=>` readonly ${Dn(n.ruleId)}: ${im(n.configSchema,"\t\t")};`),t=Object.entries(Br).map(([n,o])=>` readonly ${Dn(n)}: ${im(o,"\t\t")};`),r=$o.map((n)=>JSON.stringify(n)).join(" | ");return["export interface TripwireCatalog {","\treadonly rules: {",...e,"\t};","\treadonly actions: {",...t,"\t};",` readonly events: ${r};`,` readonly schedule: ${im(wo,"\t")};`,"}"].join(`
|
|
243
|
+
`)}var um=["allOf","anyOf","block","check","close","customCheck","discord","humanReview","label","lock","not","postComment","removeLabel","requestReview","schedule","trigger","webhook","workflow","workflows"],U2=new Set([...um,"break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","let","new","null","return","static","super","switch","this","throw","true","try","typeof","var","void","while","with","yield","await","arguments","eval","package","public","private","protected","interface","implements","undefined","NaN","Infinity"]);function W2(e){return/^[A-Z0-9]+$/.test(e)?e.toLowerCase():e}function _0(e){let r=e.split(/[^A-Za-z0-9]+/).filter(Boolean).map(W2).map((o,s)=>s===0?o.charAt(0).toLowerCase()+o.slice(1):o.charAt(0).toUpperCase()+o.slice(1)).join(""),n=/^[0-9]/.test(r)?`step${r}`:r||"step";return U2.has(n)?`${n}Step`:n}var V2={block:"block",label:"label","remove-label":"removeLabel","request-review":"requestReview","post-comment":"postComment",lock:"lock",close:"close",webhook:"webhook",discord:"discord","send-to-moderation":"humanReview"},v0=new Set(["block","close","send-to-moderation","webhook","discord"]),Z2=k(qe),lm=te([p(),O(),D(),Ks()]),B2=k(lm),K2=80,H2=2;function S0(e){let t=B2.safeParse(e);return t.success?`[${t.data.map((r)=>JSON.stringify(r)).join(", ")}]`:null}function G2(e){let t=Bc.safeParse(e);if(!t.success)return null;let r=Object.entries(t.data);if(r.length===0)return"{}";let n=[];for(let[o,s]of r){let i=lm.safeParse(s),a=i.success?JSON.stringify(i.data):S0(s);if(a===null)return null;n.push(`${Dn(o)}: ${a}`)}return`{ ${n.join(", ")} }`}function am(e,t,r="",n=","){let o=lm.safeParse(e);if(o.success)return JSON.stringify(o.data);let s=S0(e)??G2(e),i=t.length*H2+r.length+(s?.length??0)+n.length;if(s!==null&&i<=K2)return s;let a=`${t} `,c=Z2.safeParse(e);if(c.success)return c.data.length===0?"[]":`[
|
|
244
|
+
${c.data.map((l)=>`${a}${am(l,a)},`).join(`
|
|
245
245
|
`)}
|
|
246
|
-
${t}]`;let
|
|
247
|
-
${
|
|
246
|
+
${t}]`;let u=Bc.safeParse(e);if(u.success){let l=Object.entries(u.data);return l.length===0?"{}":`{
|
|
247
|
+
${l.map(([d,f])=>{let m=`${Dn(d)}: `;return`${a}${m}${am(f,a,m)},`}).join(`
|
|
248
248
|
`)}
|
|
249
|
-
${t}}`}return JSON.stringify(e)}function
|
|
250
|
-
`)}function
|
|
249
|
+
${t}}`}return JSON.stringify(e)}function J2(e,t,r){let n=t.get(e.from)??"missing",o=r.get(e.from);switch(e.when){case"fail":return`${n}.fails`;case"approve":return`${n}.approved`;case"deny":return`${n}.denied`;default:return o?.type==="trigger"||o?.type==="rule"||o?.type==="gate"?n:`${n}.passes`}}function Y2(e){let t=new Map(e.nodes.map((o)=>[o.id,e.edges.filter((s)=>s.to===o.id).length])),r=[],n=[...e.nodes];while(n.length>0){let o=n.findIndex((i)=>t.get(i.id)===0),[s]=n.splice(o===-1?0:o,1);if(!s)break;r.push(s);for(let i of e.edges.filter((a)=>a.from===s.id))t.set(i.to,(t.get(i.to)??1)-1)}return r}function X2(e,t,r,n,o){let s=t.length>0?`.after(${t.join(", ")})`:"",i=(a,c,u)=>am(a,n,`${o}${c}`,`${u};`);switch(e.type){case"trigger":{if(e.schedule){let a=qe.parse(JSON.parse(JSON.stringify(e.schedule)));return`schedule(${i(a,"schedule(",")")})`}return`trigger(${e.kinds.map((a)=>JSON.stringify(a)).join(", ")})`}case"rule":{let[a=e.ref,c]=e.ref.split("@"),u=Number(c),l=Ge.find((E)=>E.ruleId===a),d=Bc.safeParse(e.config),f=d.success&&Object.keys(d.data).length===0,m=l?"check":"customCheck",h=`${m}(${JSON.stringify(a)}, `,g=!l||u===l.version?"":`, { version: ${u} }`,b=(f?null:i(e.config,h,`${g})${s}`))??(g?"{}":"");return`${m}(${JSON.stringify(a)}${b?`, ${b}`:""}${g})${s}`}case"gate":{if(t.length===0)return r.push(`${e.id}: a gate with no inputs is left out`),null;if(e.mode==="not"){if(t.length>1)r.push(`${e.id}: a Not gate keeps only its first input`);return`not(${t[0]})`}return`${e.mode==="all-of"?"allOf":"anyOf"}(${t.join(", ")})`}case"action":{if(e.action==="comment")return r.push(`${e.id}: the Comment step was removed and is left out`),null;let a=V2[e.action],c=Object.fromEntries(Object.entries(e.params??{}).filter(([l])=>!sm.has(l))),u=v0.has(e.action)||Object.keys(c).length===0?"":i(c,`${a}(`,`)${s}`);return`${a}(${u})${s}`}default:return null}}function Q2(e){return Object.hasOwn(Br,e)}function eF(e){switch(e.type){case"trigger":{if(e.schedule===void 0)return e.kinds.filter((t)=>!$o.some((r)=>r===t)).map((t)=>`${e.id} starts on ${t}, which code cannot say`);if(e.kinds.some((t)=>t!=="schedule.matched"))return[`${e.id} starts on a schedule and on events`];return wo.safeParse(e.schedule).success?[]:[`${e.id} has an unfinished schedule`]}case"rule":{let[t=e.ref,r]=e.ref.split("@");if(t.startsWith("custom-"))return[];let n=Ge.find((s)=>s.ruleId===t);if(!n)return[`${t} is no longer a rule`];if(Number(r)!==n.version)return[];let o=Bc.safeParse(e.config??{});return o.success?fi(o.data,n.configSchema,t):[`${t} settings are not an object`]}case"action":{if(e.action==="comment"||v0.has(e.action))return[];if(!Q2(e.action))return[`${e.action} is no longer an action`];let t=Object.fromEntries(Object.entries(e.params??{}).filter(([r])=>!sm.has(r)));return fi(t,Br[e.action],e.action)}default:return[]}}var tF={trigger:"trigger",rule:"step",gate:"gate",action:"step"};function rF(e,t){if(!e.message.startsWith("It "))return e.message;let r=e.message.slice(3),n=t.nodes.find((s)=>s.id===e.nodeId),o=tF[n?.type??"action"];return new RegExp(`\\b${o}\\b`,"i").test(e.step)?`${e.step} ${r}`:`The ${e.step} ${o} ${r}`}function cm(e){return[...w0(e).map((t)=>rF(t,e)),...e.nodes.flatMap(eF)]}function nF(e,t,r){let n=new Map(e.nodes.map((l)=>[l.id,l])),o=new Map,s=new Set;for(let l of e.nodes){let d=_0(l.id),f=d;for(let m=2;s.has(f);m++)f=`${d}${m}`;s.add(f),o.set(l.id,f)}let i=[],a=[],c=new Set;for(let l of Y2(e)){let d=e.edges.filter((m)=>m.to===l.id&&!c.has(m.from)).map((m)=>J2(m,o,n)),f=X2(l,d,r,"\t",`const ${o.get(l.id)} = `);if(f===null){c.add(l.id);continue}if(l.type!=="trigger"&&d.length===0){r.push(`${l.id}: nothing leads into it, so it is left out`),c.add(l.id);continue}i.push(` const ${o.get(l.id)} = ${f};`),a.push(l.id)}let u=a.map((l)=>{let d=o.get(l)??l;return l===d?` ${d},`:` ${Dn(l)}: ${d},`});return[`function ${t}() {`,...i,"\treturn workflow({",` name: ${JSON.stringify(e.name)},`,"\t\tsteps: {",...u,"\t\t},","\t});","}"].join(`
|
|
250
|
+
`)}function Kc(e,t){let r=[],n=new Set,o=[],s=[],i=new Set,a=[],c=new Set,u=e.filter((h)=>{let g=!c.has(h.id);return c.add(h.id),g&&cm(h).length===0}),l=jn(u,t.keys);for(let h of e){if(i.has(h.id)){r.push(`${h.name}: another workflow already uses the id ${h.id}, so it is left out`);continue}i.add(h.id);let[g]=cm(h);if(g){r.push(`${h.name}: left out, it cannot be written as code. ${g}`);continue}let y=_0(h.name||h.id),b=y;for(let E=2;n.has(b);E++)b=`${y}${E}`;n.add(b),a.push(h.id),o.push(nF(h,b,r)),s.push(` ${Dn(l.get(h.id)??h.id)}: ${b}(),`)}let d=[...o,`export default workflows({
|
|
251
251
|
${s.join(`
|
|
252
252
|
`)}
|
|
253
253
|
});`].join(`
|
|
254
254
|
|
|
255
255
|
`);return{code:`${[`import {
|
|
256
|
-
${
|
|
256
|
+
${um.filter((h)=>new RegExp(`\\b${h}\\(`).test(d)).map((h)=>` ${h},`).join(`
|
|
257
257
|
`)}
|
|
258
|
-
} from ${JSON.stringify(t.importFrom)};`,
|
|
258
|
+
} from ${JSON.stringify(t.importFrom)};`,d].join(`
|
|
259
259
|
|
|
260
260
|
`)}
|
|
261
|
-
`,warnings:r,written:a}}function
|
|
262
|
-
${
|
|
261
|
+
`,warnings:r,written:a,keys:l}}function k0(e,t={}){let[r]=cm(e);if(r)return{ok:!1,reason:r};let{code:n,warnings:o}=Kc([g0(e)],{importFrom:Oo,keys:t.key?new Map([[e.id,t.key]]):void 0});return{ok:!0,code:n,warnings:o}}function x0(e){return[e.trimEnd(),F2(),`export const {
|
|
262
|
+
${um.map((t)=>` ${t},`).join(`
|
|
263
263
|
`)}
|
|
264
264
|
} = authoring<TripwireCatalog>();`].join(`
|
|
265
265
|
|
|
266
266
|
`).concat(`
|
|
267
|
-
`)}var
|
|
268
|
-
`)}function
|
|
269
|
-
`)}function
|
|
270
|
-
|
|
271
|
-
${o}`}),list_moderation_queue:
|
|
272
|
-
`)){let o=/^(.*) at ([\w.[\]]+)$/.exec(n.trim());if(!o)continue;let[,s="",i=""]=o;if(/received undefined/.test(s))t.push(i);else r.push(
|
|
273
|
-
`),l=!1;for(let d=0;d<u.length;d++){let f=u[d];if(n+=f,!l){if(l=f>="\uD800"&&f<="\uDBFF",l)continue}else l=!1;if(f===
|
|
274
|
-
`){if(s)n+=
|
|
275
|
-
`){if(o&&
|
|
276
|
-
`)}var
|
|
267
|
+
`)}var Oo="./.tripwire/workflow.ts";var oF=["pending","accepted","rejected","expired","stale"],sF=z(oF);var $0=25,iF=["accept","reject"],ode=z(iF),aF=w({definition:Rt,baseWorkflowId:p().nullable(),baseHash:p().nullable(),baseDefinition:Rt.nullable()}),sde=k(aF).min(1),cF=w({id:p(),name:p(),outcome:z(["created","updated"]),workflowId:p()}),ide=k(cF),uF=z(["new","changed"]),dm=w({id:p(),org:p(),repo:p(),status:sF,url:p(),expiresAt:p(),workflows:k(w({id:p(),name:p(),change:uF,outcome:z(["created","updated"]).optional(),url:p().optional()}))}),E0={pending:"Waiting for review",accepted:"Accepted",rejected:"Declined",expired:"Expired",stale:"Out of date"};function T0(e){return e==="accepted"?0:1}var lF=w({id:p(),name:p(),issues:k(p())}),P0=tr("result",[w({result:C("proposed"),push:dm}),w({result:C("unchanged")}),w({result:C("blocked"),workflows:k(lF)})]);var{block:dF,check:pF,close:fF,label:mF,lock:hF,postComment:O0,removeLabel:gF,schedule:pm,trigger:yF,workflow:Hc,workflows:wF}=qx;function I0(e){let t=pm({every:e.every,match:{subjects:[e.subject],state:"open",inactiveFor:{n:e.warnAfterDays,unit:"days"},excludeLabels:["stale","no-auto-close"],skipLocked:!0}}),r=pm({every:e.every,match:{subjects:[e.subject],state:"open",inactiveFor:{n:e.closeAfterDays,unit:"days"},labels:["stale"],excludeLabels:["no-auto-close"],skipLocked:!0}}),n=yF(...e.resetOn);return{warn:t,"mark-stale":mF({labels:["stale"]}).after(t),"warn-comment":O0({message:e.warning}).after(t),close:r,"close-comment":O0({message:e.closing}).after(r),"close-it":fF().after(r),reset:n,"unmark-stale":gF({labels:["stale"]}).after(n)}}var R0=pm({every:{n:12,unit:"hours"},match:{subjects:["issue","change-request"],state:"closed",inactiveFor:{n:15,unit:"days"},skipLocked:!0}}),bF=wF({"block-new-accounts":Hc({name:"Block new accounts",on:"change-request.opened",check:pF("account-age",{minDays:7}),fail:[dF()]}),"lock-inactive-threads":Hc({name:"Lock inactive threads",steps:{trigger:R0,lock:hF({reason:"resolved"}).after(R0)}}),"close-stale-issues":Hc({name:"Close stale issues",steps:I0({subject:"issue",every:{n:12,unit:"hours"},warnAfterDays:15,closeAfterDays:7,warning:"This issue has had no activity for 15 days. It will close in 7 days unless someone comments.",closing:"Closing after 22 days with no activity. Reopen it if it still matters.",resetOn:["comment.created"]})}),"close-stale-change-requests":Hc({name:"Close stale change requests",steps:I0({subject:"change-request",every:{n:1,unit:"days"},warnAfterDays:21,closeAfterDays:7,warning:"This change request has had no activity for 3 weeks. It will close in 7 days unless someone updates it.",closing:"Closing after 4 weeks with no activity. Reopen it when you pick it back up.",resetOn:["change-request.updated","comment.created"]})})}),_F={"block-new-accounts":"Blocks change requests from accounts less than a week old.","lock-inactive-threads":"Every 12 hours, locks closed issues and change requests with no activity for 15 days.","close-stale-issues":"Every 12 hours, warns on issues with no activity for 15 days and closes them 7 days later. A comment clears the warning.","close-stale-change-requests":"Warns after 3 weeks with no activity, closes a week later, and clears the warning on any update."},vF=new Map(Object.entries(_F));function SF(){let e=om(bF);if(!e.ok)throw Error(`workflow templates do not compile: ${e.issues.map((t)=>t.message).join("; ")}`);return e.definitions.map((t)=>({id:t.id,name:t.name,description:vF.get(t.id)??"",definition:t}))}var lde=SF();var M0=On(Yc(),1);var hi={label:(e)=>e,good:(e)=>e,next:(e)=>e,bad:(e)=>e};function gi(e,t){if(!e||t.NO_COLOR)return hi;let r=M0.default.createColors(!0);return{label:r.dim,good:r.green,next:r.yellow,bad:r.red}}var z0=10;function ve(e,t=hi){return e.map(([r,n])=>{let o=" ".repeat(Math.max(1,z0-r.length));return`${r===""?" ".repeat(z0):`${t.label(r)}${o}`}${n}`.trimEnd()}).join(`
|
|
268
|
+
`)}function q0(e){return EF(e).length}function TF(e,t){return e+" ".repeat(Math.max(0,t-q0(e)))}function Mn(e,t,r=30){let n=e.map((s,i)=>{let c=Math.max(s.length,...t.map((u)=>q0(u[i]??"")))+5;return i===0?Math.max(r,c):c}),o=(s)=>s.map((i,a)=>a===s.length-1?i:TF(i,n[a]??0)).join("").trimEnd();return[o(e),...t.map(o)].join(`
|
|
269
|
+
`)}function ir(e,t=hi){return ve([["error",e]],{...t,label:t.bad})}function Qc(e,t=hi){return ve([["warn",e]],t)}function F0(e){let t=e.replace(/[\s-]/g,"").toUpperCase();return t.length===8?`${t.slice(0,4)}-${t.slice(4)}`:e}function N0(e){return e.map((t)=>Jk.find((r)=>r.kind===t)?.name.toLowerCase()??t)}function Xc(e,t){return e?t.good("on"):"off"}function L0(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return e;return`${t.toISOString().slice(0,16).replace("T"," ")} UTC`}function j0(e){return e.slice(e.lastIndexOf("/")+1)}var PF=w({user:w({name:p().nullish(),email:p().nullish()}).nullish(),access:w({approved:D(),requestAccessUrl:p().optional()}),orgs:k(w({slug:p(),role:p(),agentAllowed:D().optional()}))}),OF={install_app:"Install the GitHub App",sync_repos:"Wait for repos to sync, then run tripwire status again",turn_on_gate:"Turn on the gate. Run tripwire gate on <repo>"},IF=w({org:p(),role:p().optional(),nextStep:p(),installUrl:p().optional(),home:p().optional()}),RF=k(w({name:p(),gateOn:D(),toReview:O(),blocked24h:O()})),AF=k(w({ruleId:p(),name:p(),optIn:D().optional()})),CF=k(w({ruleId:p(),enabled:D(),management:p().nullish(),cannotRun:p().nullish(),matches24h:O().nullish()})),zF=k(w({id:p(),name:p(),enabled:D(),runnable:D().optional(),canTurnOn:D().optional(),triggerKinds:k(p()).optional(),schedules:k(p()).optional()}));function mm(e,t){if(t.length===0)return N0(e);return[...N0(e.filter((r)=>r!=="schedule.matched")),...t]}function NF(e,t){let r=b0({enabled:e.enabled,runnable:e.runnable??!0,canTurnOn:e.canTurnOn??!0}),n=Vc[r].toLowerCase();if(r==="on")return t.good(n);if(r==="cant-run"||r==="needs-fixes")return t.bad(n);return n}var LF=w({enabled:D(),url:p().optional(),warnings:k(w({message:p()})).optional()}),jF=k(w({id:p(),repo:p().optional(),number:O().nullish(),status:p(),verdict:p().nullish(),result:p().nullish(),verdictLabel:p().nullish(),createdAt:p()})),DF=w({id:p(),repo:p(),number:O().nullish(),status:p(),verdict:p().nullish(),result:p().nullish(),verdictLabel:p().nullish(),createdAt:p(),steps:k(w({kind:p(),rule:p().nullish(),status:p(),summary:p().nullish(),workflow:p().nullish(),stepId:p().nullish(),step:p().optional(),outcome:p().optional()})),url:p().optional()}),MF=w({items:k(w({itemId:p(),repo:p().optional(),number:O().nullish(),actor:p().nullish(),title:p().nullish()})),url:p().optional()}),qF=w({done:D(),alreadyDecided:D().optional(),confirmUrl:p().optional(),forUser:p().optional(),decision:z(["approve","remove","ban"]).optional(),itemId:p().optional(),repo:p().optional(),number:O().nullish()}),FF=[["approve","let the change request through"],["remove","block it"],["ban","get a link where a person bans the contributor"]];function U0(e){let t=FF.map(([r,n])=>`${r} to ${n}`);return`${e} is not a choice. Use ${t.slice(0,-1).join(", ")}, or ${t.at(-1)}.`}var UF={approve:"Approved",remove:"Blocked"};function WF(e){let t=e.number?`#${e.number}`:e.itemId;if(!t)return"";return e.repo?` ${t} on ${e.repo}`:` ${t}`}function VF(e){if(!e.step)return e.rule??e.kind;return e.stepId?`${e.step} (${e.stepId})`:e.step}var ZF=w({ruleId:p(),enabled:D()}),BF=w({repo:p(),url:p().optional()});function D0(e,t){let r=e.result??e.verdict,n=e.verdictLabel??Cx(e.verdict);if(!(r&&n))return e.verdict??"-";if(r==="pass")return t.good(n);if(r==="block")return t.bad(n);if(r==="needs_review")return t.next(n);return n}function vt(e,t){return(r,n)=>{let o=e.safeParse(r);return o.success?t(o.data,n):null}}var KF={whoami:vt(PF,(e,t)=>{let r=[e.user?.name,e.user?.email].filter(Boolean).join(" "),n=e.orgs.map((s)=>s.agentAllowed===!1?`${s.slug} (${s.role}, not granted)`:`${s.slug} (${s.role})`),o=[["user",r||"-"],["access",e.access.approved?t.good("approved"):t.next("not approved")]];if(!e.access.approved&&e.access.requestAccessUrl)o.push(["open",e.access.requestAccessUrl]);o.push(["orgs",n[0]??"none"]);for(let s of n.slice(1))o.push(["",s]);return ve(o,t)}),setup_status:vt(IF,(e,t)=>{let r=[["org",e.org]];if(e.nextStep==="done")r.push(["done",t.good("Tripwire checks pull requests")]);else if(e.nextStep==="install_app"&&!e.installUrl)r.push(["next",t.next(`Ask an admin of ${e.org} to install the GitHub App`)]);else r.push(["next",t.next(OF[e.nextStep]??e.nextStep)]);if(e.installUrl)r.push(["open",e.installUrl]);return ve(r,t)}),list_repos:vt(RF,(e,t)=>{if(e.length===0)return"No repos yet. Run tripwire status to see the next step.";return Mn(["REPO","GATE","TO REVIEW","BLOCKED 24H"],e.map((r)=>[r.name,Xc(r.gateOn,t),String(r.toReview),String(r.blocked24h)]))}),list_rule_catalog:vt(AF,(e)=>Mn(["RULE","NAME","OPT-IN"],e.map((t)=>[t.ruleId,t.name,t.optIn?"yes":"no"]))),get_repo_rules:vt(CF,(e,t)=>{if(e.length===0)return"No rules on this repo.";return Mn(["RULE","STATE","MATCHES 24H","NOTE"],e.map((r)=>[r.ruleId,Xc(r.enabled,t),String(r.matches24h??0),r.cannotRun??(r.management==="managed"?"set by a workflow":"")]))}),set_rule:vt(ZF,(e,t)=>ve([["done",`${e.ruleId} is ${Xc(e.enabled,t)}`]],t)),turn_on_gate:vt(BF,(e,t)=>{let r=[["done",`Gate is ${t.good("on")} for ${e.repo}`]];if(e.url)r.push(["open",e.url]);return ve(r,t)}),list_workflows:vt(zF,(e,t)=>{if(e.length===0)return"No workflows on this repo.";return Mn(["WORKFLOW","ID","STATE","TRIGGERS"],e.map((r)=>[r.name,r.id,NF(r,t),mm(r.triggerKinds??[],r.schedules??[]).join(", ")]))}),set_workflow_enabled:vt(LF,(e,t)=>{let r=[["done",`Workflow is ${Xc(e.enabled,t)}`]];for(let n of e.warnings??[])r.push(["warning",n.message]);if(e.url)r.push(["open",e.url]);return ve(r,t)}),list_runs:vt(jF,(e,t)=>{if(e.length===0)return"No runs yet.";return Mn(["RUN","REPO","PR","STATUS","VERDICT","CREATED"],e.map((r)=>[r.id,r.repo?j0(r.repo):"-",r.number?`#${r.number}`:"-",r.status,D0(r,t),L0(r.createdAt)]))}),get_run:vt(DF,(e,t)=>{let r=[["run",e.id],["repo",e.number?`${e.repo} #${e.number}`:e.repo],["status",e.status],["verdict",D0(e,t)],["created",L0(e.createdAt)]];if(e.url)r.push(["open",e.url]);let n=ve(r,t);if(e.steps.length===0)return n;let o=Mn(["WORKFLOW","STEP","OUTCOME","SUMMARY"],e.steps.map((s)=>{let i=s.outcome??s.status;return[s.workflow??"-",VF(s),s.status==="fail"?t.bad(i):i,s.summary??""]}),0);return`${n}
|
|
270
|
+
|
|
271
|
+
${o}`}),list_moderation_queue:vt(MF,(e)=>{if(e.items.length===0)return"Nothing to review.";return Mn(["ITEM","REPO","PR","AUTHOR","TITLE"],e.items.map((t)=>[t.itemId,t.repo?j0(t.repo):"-",t.number?`#${t.number}`:"-",t.actor??"-",t.title??""]))}),decide_moderation:vt(qF,(e,t)=>{if(e.confirmUrl)return ve([["open",e.confirmUrl],["",e.forUser??"Open this link to confirm."]],t);let r=WF(e);if(!e.done)return ve([["done",`${r.trim()||"This item"} was already decided`]],t);let n=e.decision==="approve"||e.decision==="remove"?UF[e.decision]:"Decided";return ve([["done",t.good(`${n}${r}`)]],t)})};function W0(e,t,r=hi){let n=KF[e];if(!(n&&t!==null))return null;return n(t,r)}var HF={list_orgs:"Run tripwire whoami to see your orgs.",pick_org:"Pass --org <slug>, or run tripwire whoami to see them.",list_repos:"Run tripwire repos to see them.",list_runs:"Run tripwire runs list to see recent runs.",list_queue:"Run tripwire queue list to see the items.",list_rules:"Run tripwire rules list to see the rules.",list_workflows:"Run tripwire workflows list <repo> to see them."},GF=w({error:p(),hint:p().optional(),org:p().optional()});function JF(e,t){if(e==="list_repos"&&t)return`Run tripwire repos --org ${t} to see them.`;return e?HF[e]:void 0}var YF=new Map([["number","a number"],["int","a whole number"],["string","text"],["boolean","true or false"],["array","a list"],["object","an object"]]);function XF(e,t){let r=/^Too (big|small): expected (number|string|array) to (?:be|have) ([<>]=?)(\S+)(?: (characters|items))?$/.exec(t);if(r){let[,s="",i="",a="",c="",u=""]=r;if(i==="number"){let l=a==="<="?"or less":a===">="?"or more":"exactly";return a.length===1?`${e} must be ${a==="<"?"less":"more"} than ${c}`:`${e} must be ${c} ${l}`}return s==="big"?`${e} can have at most ${c} ${u}`:`${e} needs at least ${c} ${u}`}let n=/^Invalid input: expected (\w+), received \w+$/.exec(t);if(n){let s=n[1]??"";return`${e} must be ${YF.get(s)??s}`}let o=/^Invalid option: expected one of (.*)$/.exec(t);if(o)return`${e} must be one of ${(o[1]??"").replaceAll('"',"").split("|").join(", ")}`;return`${e} is not valid`}function QF(e){let t=[],r=[];for(let n of e.split(`
|
|
272
|
+
`)){let o=/^(.*) at ([\w.[\]]+)$/.exec(n.trim());if(!o)continue;let[,s="",i=""]=o;if(/received undefined/.test(s))t.push(i);else r.push(XF(i,s))}if(t.length>0)return`Missing argument${t.length>1?"s":""}: ${t.join(", ")}.`;if(r.length>0)return`${r.join(". ")}.`;return"Invalid arguments."}function Io(e,t=null){let r=GF.safeParse(t);if(r.success){let i=JF(r.data.hint,r.data.org);return i?`${r.data.error} ${i}`:r.data.error}let n=e.replace(/^MCP error -?\d+:\s*/,"").trim(),o=/^Input validation error: Invalid arguments for tool [\w-]+: ([\s\S]*)$/.exec(n);if(o)return QF(o[1]??"");if(/^Tool [\w-]+ (not found|disabled)$/.test(n))return"This Tripwire server does not support this command, or your sign-in does not allow it.";return n.replace(/\s*Call [a-z_]+\b[^.]*\./g,"").trim()||"The Tripwire server returned an error."}import{stdout as vm,stdin as i$}from"node:process";import*as Hr from"node:readline";import hU from"node:readline";var V0=(()=>{let e=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return(t)=>{let r=0;e.lastIndex=0;while(e.test(t))r+=1;return t.length-r}})(),Z0=(e)=>e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510,B0=(e)=>e===8987||e===9001||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e>=131072&&e<=196605||e>=196608&&e<=262141;var eU=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,tU=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,K0=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,rU=/\t{1,1000}/y,H0=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,nU=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,oU=/\p{M}+/gu,sU={limit:1/0,ellipsis:""},G0=(e,t={},r={})=>{let n=t.limit??1/0,o=t.ellipsis??"",s=t?.ellipsisWidth??(o?G0(o,sU,r).width:0),i=0,a=r.controlWidth??0,c=r.tabWidth??8,u=r.emojiWidth??2,l=2,d=r.regularWidth??1,f=r.wideWidth??2,m=[[nU,d],[eU,0],[tU,a],[rU,c],[H0,u],[K0,f]],h=0,g=0,y=e.length,b=0,E=!1,S=y,I=Math.max(0,n-s),_=0,v=0,x=0,R=0;e:while(!0){if(v>_||g>=y&&g>h){let j=e.slice(_,v)||e.slice(h,g);b=0;for(let J of j.replaceAll(oU,"")){let ie=J.codePointAt(0)||0;if(Z0(ie))R=2;else if(B0(ie))R=f;else R=d;if(x+R>I)S=Math.min(S,Math.max(_,h)+b);if(x+R>n){E=!0;break e}b+=J.length,x+=R}_=v=0}if(g>=y)break e;for(let j=0,J=m.length;j<J;j++){let[ie,ae]=m[j];if(ie.lastIndex=g,ie.test(e)){if(b=ie===K0?V0(e.slice(g,ie.lastIndex)):ie===H0?1:ie.lastIndex-g,R=b*ae,x+R>I)S=Math.min(S,g+Math.floor((I-x)/ae));if(x+R>n){E=!0;break e}x+=R,_=h,v=g,g=h=ie.lastIndex;continue e}}g+=1}return{width:E?I:x,index:E?S:y,truncated:E,ellipsed:E&&n>=s}},J0=G0;var iU={limit:1/0,ellipsis:"",ellipsisWidth:0},aU=(e,t={})=>J0(e,iU,t).width,ar=aU;var eu="\x1B",t$="",cU=39,gm="\x07",r$="[",uU="]",n$="m",ym=`${uU}8;;`,Y0=new RegExp(`(?:\\${r$}(?<code>\\d+)m|\\${ym}(?<uri>.*)${gm})`,"y"),X0=(e)=>{if(e>=30&&e<=37)return 39;if(e>=90&&e<=97)return 39;if(e>=40&&e<=47)return 49;if(e>=100&&e<=107)return 49;if(e===1||e===2)return 22;if(e===3)return 23;if(e===4)return 24;if(e===7)return 27;if(e===8)return 28;if(e===9)return 29;if(e===0)return 0;return},Q0=(e)=>`${eu}${r$}${e}${n$}`,e$=(e)=>`${eu}${ym}${e}${gm}`,hm=(e,t,r)=>{let n=t[Symbol.iterator](),o=!1,s=!1,i=e.at(-1),a=i===void 0?0:ar(i),c=n.next(),u=n.next(),l=0;while(!c.done){let d=c.value,f=ar(d);if(a+f<=r)e[e.length-1]+=d;else e.push(d),a=0;if(d===eu||d===t$)o=!0,s=t.startsWith(ym,l+1);if(o){if(s){if(d===gm)o=!1,s=!1}else if(d===n$)o=!1}else if(a+=f,a===r&&!u.done)e.push(""),a=0;c=u,u=n.next(),l+=d.length}if(i=e.at(-1),!a&&i!==void 0&&i.length&&e.length>1)e[e.length-2]+=e.pop()},lU=(e)=>{let t=e.split(" "),r=t.length;while(r){if(ar(t[r-1]))break;r--}if(r===t.length)return e;return t.slice(0,r).join(" ")+t.slice(r).join("")},dU=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let n="",o,s,i=e.split(" "),a=[""],c=0;for(let d=0;d<i.length;d++){let f=i[d];if(r.trim!==!1){let h=a.at(-1)??"",g=h.trimStart();if(h.length!==g.length)a[a.length-1]=g,c=ar(g)}if(d!==0){if(c>=t&&(r.wordWrap===!1||r.trim===!1))a.push(""),c=0;if(c||r.trim===!1)a[a.length-1]+=" ",c++}let m=ar(f);if(r.hard&&m>t){let h=t-c,g=1+Math.floor((m-h-1)/t);if(Math.floor((m-1)/t)<g)a.push("");hm(a,f,t),c=ar(a.at(-1)??"");continue}if(c+m>t&&c&&m){if(r.wordWrap===!1&&c<t){hm(a,f,t),c=ar(a.at(-1)??"");continue}a.push(""),c=0}if(c+m>t&&r.wordWrap===!1){hm(a,f,t),c=ar(a.at(-1)??"");continue}a[a.length-1]+=f,c+=m}if(r.trim!==!1)a=a.map((d)=>lU(d));let u=a.join(`
|
|
273
|
+
`),l=!1;for(let d=0;d<u.length;d++){let f=u[d];if(n+=f,!l){if(l=f>="\uD800"&&f<="\uDBFF",l)continue}else l=!1;if(f===eu||f===t$){Y0.lastIndex=d+1;let h=Y0.exec(u)?.groups;if(h?.code!==void 0){let g=Number.parseFloat(h.code);o=g===cU?void 0:g}else if(h?.uri!==void 0)s=h.uri.length===0?void 0:h.uri}if(u[d+1]===`
|
|
274
|
+
`){if(s)n+=e$("");let m=o?X0(o):void 0;if(o&&m)n+=Q0(m)}else if(f===`
|
|
275
|
+
`){if(o&&X0(o))n+=Q0(o);if(s)n+=e$(s)}}return n},pU=/\r?\n/;function Kr(e,t,r){return String(e).normalize().split(pU).map((n)=>dU(n,t,r)).join(`
|
|
276
|
+
`)}var tt=On(bm(),1);import{ReadStream as s$}from"node:tty";function ru(e,t,r){if(!r.some((i)=>!i.disabled))return e;let n=e+t,o=Math.max(r.length-1,0),s=n<0?o:n>o?0:n;return r[s]?.disabled?ru(s,t<0?-1:1,r):s}var gU=["up","down","left","right","space","enter","cancel"],yU=["January","February","March","April","May","June","July","August","September","October","November","December"],ot={actions:new Set(gU),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0,date:{monthNames:[...yU],messages:{required:"Please enter a valid date",invalidMonth:"There are only 12 months in a year",invalidDay:(e,t)=>`There are only ${e} days in ${t}`,afterMin:(e)=>`Date must be on or after ${e.toISOString().slice(0,10)}`,beforeMax:(e)=>`Date must be on or before ${e.toISOString().slice(0,10)}`}}};function Sm(e,t){if(typeof e=="string")return ot.aliases.get(e)===t;for(let r of e)if(r!==void 0&&Sm(r,t))return!0;return!1}function wU(e,t){if(e===t)return;let r=e.split(`
|
|
277
277
|
`),n=t.split(`
|
|
278
|
-
`),o=Math.max(r.length,n.length),s=[];for(let i=0;i<o;i++)r[i]!==n[i]&&s.push(i);return{lines:s,numLinesBefore:r.length,numLinesAfter:n.length,numLines:o}}var
|
|
278
|
+
`),o=Math.max(r.length,n.length),s=[];for(let i=0;i<o;i++)r[i]!==n[i]&&s.push(i);return{lines:s,numLinesBefore:r.length,numLinesAfter:n.length,numLines:o}}var bU=globalThis.process.platform.startsWith("win"),_m=Symbol("clack:cancel");function yi(e){return e===_m}function tu(e,t){let r=e;r.isTTY&&r.setRawMode(t)}function a$({input:e=i$,output:t=vm,overwrite:r=!0,hideCursor:n=!0}={}){let o=Hr.createInterface({input:e,output:t,prompt:"",tabSize:1});Hr.emitKeypressEvents(e,o),e instanceof s$&&e.isTTY&&e.setRawMode(!0);let s=(i,{name:a,sequence:c})=>{let u=String(i);if(Sm([u,a,c],"cancel")){n&&t.write(tt.cursor.show),process.exit(0);return}if(!r)return;Hr.moveCursor(t,a==="return"?0:-1,a==="return"?-1:0,()=>{Hr.clearLine(t,1,()=>{e.once("keypress",s)})})};return n&&t.write(tt.cursor.hide),e.once("keypress",s),()=>{e.off("keypress",s),n&&t.write(tt.cursor.show),e instanceof s$&&e.isTTY&&!bU&&e.setRawMode(!1),o.terminal=!1,o.close()}}var nu=(e)=>("columns"in e)&&typeof e.columns=="number"?e.columns:80,km=(e)=>("rows"in e)&&typeof e.rows=="number"?e.rows:20;function wi(e,t,r,n=r,o=r,s){let i=nu(e??vm);return Kr(t,i-r.length,{hard:!0,trim:!1}).split(`
|
|
279
279
|
`).map((a,c,u)=>{let l=s?s(a,c):a;return c===0?`${n}${l}`:c===u.length-1?`${o}${l}`:`${r}${l}`}).join(`
|
|
280
|
-
`)}function
|
|
281
|
-
`),
|
|
282
|
-
`).length-1;this.output.write(
|
|
283
|
-
`);this.output.write(i[s]),this._prevFrame=e,this.output.write(
|
|
280
|
+
`)}function c$(e,t){if("~standard"in e){let r=e["~standard"].validate(t);if(r instanceof Promise)throw TypeError("Schema validation must be synchronous. Update `validate()` and remove any asynchronous logic.");return r.issues?.at(0)?.message}return e(t)}class xm{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(e,t=!0){let{input:r=i$,output:n=vm,render:o,signal:s,...i}=e;this.opts=i,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=o.bind(this),this._track=t,this._abortSignal=s,this.input=r,this.output=n}unsubscribe(){this._subscribers.clear()}setSubscriber(e,t){let r=this._subscribers.get(e)??[];r.push(t),this._subscribers.set(e,r)}on(e,t){this.setSubscriber(e,{cb:t})}once(e,t){this.setSubscriber(e,{cb:t,once:!0})}emit(e,...t){let r=this._subscribers.get(e)??[],n=[];for(let o of r)o.cb(...t),o.once&&n.push(()=>r.splice(r.indexOf(o),1));for(let o of n)o()}prompt(){return new Promise((e)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),e(_m);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=hU.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),tu(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(tt.cursor.show),this.output.off("resize",this.render),tu(this.input,!1),e(this.value)}),this.once("cancel",()=>{this.output.write(tt.cursor.show),this.output.off("resize",this.render),tu(this.input,!1),e(_m)})})}_isActionKey(e,t){return e==="\t"}_shouldSubmit(e,t){return!0}_setValue(e){this.value=e,this.emit("value",this.value)}_setUserInput(e,t){this.userInput=e??"",this.emit("userInput",this.userInput),t&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(e,t){if(this._track&&t.name!=="return"&&(t.name&&this._isActionKey(e,t)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),t?.name&&(!this._track&&ot.aliases.has(t.name)&&this.emit("cursor",ot.aliases.get(t.name)),ot.actions.has(t.name)&&this.emit("cursor",t.name)),e&&(e.toLowerCase()==="y"||e.toLowerCase()==="n")&&this.emit("confirm",e.toLowerCase()==="y"),this.emit("key",e,t),t?.name==="return"&&this._shouldSubmit(e,t)){if(this.opts.validate){let r=c$(this.opts.validate,this.value);r&&(this.error=r instanceof Error?r.message:r,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}Sm([e,t?.name,t?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
281
|
+
`),tu(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let e=Kr(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(`
|
|
282
|
+
`).length-1;this.output.write(tt.cursor.move(-999,e*-1))}render(){let e=Kr(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(e!==this._prevFrame){if(this.state==="initial")this.output.write(tt.cursor.hide);else{let t=wU(this._prevFrame,e),r=km(this.output);if(this.restoreCursor(),t){let n=Math.max(0,t.numLinesAfter-r),o=Math.max(0,t.numLinesBefore-r),s=t.lines.find((i)=>i>=n);if(s===void 0){this._prevFrame=e;return}if(t.lines.length===1){this.output.write(tt.cursor.move(0,s-o)),this.output.write(tt.erase.lines(1));let i=e.split(`
|
|
283
|
+
`);this.output.write(i[s]),this._prevFrame=e,this.output.write(tt.cursor.move(0,i.length-s-1));return}else if(t.lines.length>1){if(n<o)s=n;else{let a=s-o;a>0&&this.output.write(tt.cursor.move(0,a))}this.output.write(tt.erase.down());let i=e.split(`
|
|
284
284
|
`).slice(s);this.output.write(i.join(`
|
|
285
|
-
`)),this._prevFrame=e;return}}this.output.write(
|
|
286
|
-
`);y.push(
|
|
285
|
+
`)),this._prevFrame=e;return}}this.output.write(tt.erase.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}}class $m extends xm{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",(t)=>{this.output.write(tt.cursor.move(0,-1)),this.value=t,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}class Em extends xm{options;cursor=0;get _value(){return this.options[this.cursor]?.value}get _enabledOptions(){return this.options.filter((e)=>e.disabled!==!0)}toggleAll(){let e=this._enabledOptions,t=this.value!==void 0&&this.value.length===e.length;this.value=t?[]:e.map((r)=>r.value)}toggleInvert(){let e=this.value;if(!e)return;let t=this._enabledOptions.filter((r)=>!e.includes(r.value));this.value=t.map((r)=>r.value)}toggleValue(){this.value===void 0&&(this.value=[]);let e=this.value.includes(this._value);this.value=e?this.value.filter((t)=>t!==this._value):[...this.value,this._value]}constructor(e){super(e,!1),this.options=e.options,this.value=[...e.initialValues??[]];let t=Math.max(this.options.findIndex(({value:r})=>r===e.cursorAt),0);this.cursor=this.options[t]?.disabled?ru(t,1,this.options):t,this.on("key",(r,n)=>{n.name==="a"&&this.toggleAll(),n.name==="i"&&this.toggleInvert()}),this.on("cursor",(r)=>{switch(r){case"left":case"up":this.cursor=ru(this.cursor,-1,this.options);break;case"down":case"right":this.cursor=ru(this.cursor,1,this.options);break;case"space":this.toggleValue();break}})}}import{styleText as N,stripVTControlCharacters as Dpe}from"node:util";import Bt from"node:process";var _i=On(bm(),1);function _U(){if(Bt.platform!=="win32")return Bt.env.TERM!=="linux";return Boolean(Bt.env.CI)||Boolean(Bt.env.WT_SESSION)||Boolean(Bt.env.TERMINUS_SUBLIME)||Bt.env.ConEmuTask==="{cmd::Cmder}"||Bt.env.TERM_PROGRAM==="Terminus-Sublime"||Bt.env.TERM_PROGRAM==="vscode"||Bt.env.TERM==="xterm-256color"||Bt.env.TERM==="alacritty"||Bt.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Tm=_U(),vU=()=>process.env.CI==="true";var ge=(e,t)=>Tm?e:t,SU=ge("◆","*"),h$=ge("■","x"),g$=ge("▲","x"),Pm=ge("◇","o"),kU=ge("┌","T"),Te=ge("│","|"),Ro=ge("└","—"),Upe=ge("┐","T"),Wpe=ge("┘","—"),u$=ge("●",">"),l$=ge("○"," "),xU=ge("◻","[•]"),d$=ge("◼","[+]"),p$=ge("◻","[ ]"),Vpe=ge("▪","•"),Zpe=ge("─","-"),Bpe=ge("╮","+"),Kpe=ge("├","+"),Hpe=ge("╯","+"),Gpe=ge("╰","+"),Jpe=ge("╭","+"),$U=ge("●","•"),EU=ge("◆","*"),TU=ge("▲","!"),PU=ge("■","x"),y$=(e)=>{switch(e){case"initial":case"active":return N("cyan",SU);case"cancel":return N("red",h$);case"error":return N("yellow",g$);case"submit":return N("green",Pm)}},OU=(e)=>{switch(e){case"initial":case"active":return N("cyan",Te);case"cancel":return N("red",Te);case"error":return N("yellow",Te);case"submit":return N("green",Te)}};function IU(e,t){let r=[`${t?`${N("cyan",Te)} `:""}${e.join(" • ")}`];return t&&r.push(N("cyan",Ro)),r}var f$=(e,t,r,n,o,s=!1)=>{let i=t,a=0;if(s)for(let c=n-1;c>=r;c--){let u=e[c];if(u&&(i-=u.length),a++,i<=o)break}else for(let c=r;c<n;c++){let u=e[c];if(u&&(i-=u.length),a++,i<=o)break}return{lineCount:i,removals:a}},m$=({cursor:e,options:t,style:r,output:n=process.stdout,maxItems:o=Number.POSITIVE_INFINITY,columnPadding:s=0,rowPadding:i=4})=>{let a=nu(n)-s,c=km(n),u=N("dim","..."),l=Math.max(c-i,0),d=Math.max(Math.min(o,l),5),f=0;e>=d-3&&(f=Math.max(Math.min(e-d+3,t.length-d),0));let m=d<t.length&&f>0,h=d<t.length&&f+d<t.length,g=Math.min(f+d,t.length),y=[],b=0;m&&b++,h&&b++;let E=f+(m?1:0),S=g-(h?1:0);for(let _=E;_<S;_++){let v=t[_],x=v?r(v,_===e):"",R=Kr(x,a,{hard:!0,trim:!1}).split(`
|
|
286
|
+
`);y.push(R),b+=R.length}if(b>l){let _=0,v=0,x=b,R=e-E,j=l,J=()=>f$(y,x,0,R,j),ie=()=>f$(y,x,R+1,y.length,j,!0);m?({lineCount:x,removals:_}=J(),x>j&&(h||(j-=1),{lineCount:x,removals:v}=ie())):(h||(j-=1),{lineCount:x,removals:v}=ie(),x>j&&(j-=1,{lineCount:x,removals:_}=J())),_>0&&(m=!0,y.splice(0,_)),v>0&&(h=!0,y.splice(y.length-v,v))}let I=[];m&&I.push(u);for(let _ of y)for(let v of _)I.push(v);return h&&I.push(u),I};var w$=(e)=>{let t=e.active??"Yes",r=e.inactive??"No";return new $m({active:t,inactive:r,signal:e.signal,input:e.input,output:e.output,initialValue:e.initialValue??!0,render(){let n=e.withGuide??ot.withGuide,o=`${y$(this.state)} `,s=n?`${N("gray",Te)} `:"",i=wi(e.output,e.message,s,o),a=`${n?`${N("gray",Te)}
|
|
287
287
|
`:""}${i}
|
|
288
|
-
`,c=this.value?t:r;switch(this.state){case"submit":{let u=n?`${N("gray"
|
|
289
|
-
${N("gray"
|
|
290
|
-
${N("cyan"
|
|
291
|
-
`:` ${N("dim","/")} `}${this.value?`${N("dim",
|
|
288
|
+
`,c=this.value?t:r;switch(this.state){case"submit":{let u=n?`${N("gray",Te)} `:"";return`${a}${u}${N("dim",c)}`}case"cancel":{let u=n?`${N("gray",Te)} `:"";return`${a}${u}${N(["strikethrough","dim"],c)}${n?`
|
|
289
|
+
${N("gray",Te)}`:""}`}default:{let u=n?`${N("cyan",Te)} `:"",l=n?N("cyan",Ro):"";return`${a}${u}${this.value?`${N("green",u$)} ${t}`:`${N("dim",l$)} ${N("dim",t)}`}${e.vertical?n?`
|
|
290
|
+
${N("cyan",Te)} `:`
|
|
291
|
+
`:` ${N("dim","/")} `}${this.value?`${N("dim",l$)} ${N("dim",r)}`:`${N("green",u$)} ${r}`}
|
|
292
292
|
${l}
|
|
293
|
-
`}}}}).prompt()};var
|
|
293
|
+
`}}}}).prompt()};var RU=[`${N("dim","↑/↓")} to navigate`,`${N("dim","Space:")} select`,`${N("dim","Enter:")} confirm`],bi=(e,t)=>e.split(`
|
|
294
294
|
`).map((r)=>t(r)).join(`
|
|
295
|
-
`),
|
|
296
|
-
${N("reset",N("dim",`Press ${N(["gray","bgWhite","inverse"]," space ")} to select, ${N("gray",N("bgWhite",N("inverse"," enter ")))} to submit`))}`},render(){let o=e.withGuide??
|
|
295
|
+
`),b$=(e)=>{let t=(o,s)=>{let i=o.label??String(o.value);return s==="disabled"?`${N("gray",p$)} ${bi(i,(a)=>N(["strikethrough","gray"],a))}${o.hint?` ${N("dim",`(${o.hint??"disabled"})`)}`:""}`:s==="active"?`${N("cyan",xU)} ${i}${o.hint?` ${N("dim",`(${o.hint})`)}`:""}`:s==="selected"?`${N("green",d$)} ${bi(i,(a)=>N("dim",a))}${o.hint?` ${N("dim",`(${o.hint})`)}`:""}`:s==="cancelled"?`${bi(i,(a)=>N(["strikethrough","dim"],a))}`:s==="active-selected"?`${N("green",d$)} ${i}${o.hint?` ${N("dim",`(${o.hint})`)}`:""}`:s==="submitted"?`${bi(i,(a)=>N("dim",a))}`:`${N("dim",p$)} ${bi(i,(a)=>N("dim",a))}`},r=e.required??!0,n=e.showInstructions??!0;return new Em({options:e.options,signal:e.signal,input:e.input,output:e.output,initialValues:e.initialValues,required:r,cursorAt:e.cursorAt,validate(o){if(r&&(o===void 0||o.length===0))return`Please select at least one option.
|
|
296
|
+
${N("reset",N("dim",`Press ${N(["gray","bgWhite","inverse"]," space ")} to select, ${N("gray",N("bgWhite",N("inverse"," enter ")))} to submit`))}`},render(){let o=e.withGuide??ot.withGuide,s=wi(e.output,e.message,o?`${OU(this.state)} `:"",`${y$(this.state)} `),i=`${o?`${N("gray",Te)}
|
|
297
297
|
`:""}${s}
|
|
298
|
-
`,a=this.value??[],c=(u,l)=>{if(u.disabled)return t(u,"disabled");let d=a.includes(u.value);return l&&d?t(u,"active-selected"):d?t(u,"selected"):t(u,l?"active":"inactive")};switch(this.state){case"submit":{let u=this.options.filter(({value:d})=>a.includes(d)).map((d)=>t(d,"submitted")).join(N("dim",", "))||N("dim","none"),l=
|
|
299
|
-
${N("gray"
|
|
300
|
-
`).map((m,h)=>h===0?`${o?`${N("yellow",
|
|
298
|
+
`,a=this.value??[],c=(u,l)=>{if(u.disabled)return t(u,"disabled");let d=a.includes(u.value);return l&&d?t(u,"active-selected"):d?t(u,"selected"):t(u,l?"active":"inactive")};switch(this.state){case"submit":{let u=this.options.filter(({value:d})=>a.includes(d)).map((d)=>t(d,"submitted")).join(N("dim",", "))||N("dim","none"),l=wi(e.output,u,o?`${N("gray",Te)} `:"");return`${i}${l}`}case"cancel":{let u=this.options.filter(({value:d})=>a.includes(d)).map((d)=>t(d,"cancelled")).join(N("dim",", "));if(u.trim()==="")return`${i}${N("gray",Te)}`;let l=wi(e.output,u,o?`${N("gray",Te)} `:"");return`${i}${l}${o?`
|
|
299
|
+
${N("gray",Te)}`:""}`}case"error":{let u=o?`${N("yellow",Te)} `:"",l=this.error.split(`
|
|
300
|
+
`).map((m,h)=>h===0?`${o?`${N("yellow",Ro)} `:""}${N("yellow",m)}`:` ${m}`).join(`
|
|
301
301
|
`),d=i.split(`
|
|
302
302
|
`).length,f=l.split(`
|
|
303
|
-
`).length+1;return`${i}${u}${
|
|
303
|
+
`).length+1;return`${i}${u}${m$({output:e.output,options:this.options,cursor:this.cursor,maxItems:e.maxItems,columnPadding:u.length,rowPadding:d+f,style:c}).join(`
|
|
304
304
|
${u}`)}
|
|
305
305
|
${l}
|
|
306
|
-
`}default:{let u=o?`${N("cyan"
|
|
307
|
-
`).length,d=n?
|
|
308
|
-
`),m=d.length+1;return`${i}${u}${
|
|
306
|
+
`}default:{let u=o?`${N("cyan",Te)} `:"",l=i.split(`
|
|
307
|
+
`).length,d=n?IU(RU,o):o?[N("cyan",Ro)]:[],f=d.join(`
|
|
308
|
+
`),m=d.length+1;return`${i}${u}${m$({output:e.output,options:this.options,cursor:this.cursor,maxItems:e.maxItems,columnPadding:u.length,rowPadding:l+m,style:c}).join(`
|
|
309
309
|
${u}`)}
|
|
310
310
|
${f}
|
|
311
|
-
`}}}}).prompt()};var
|
|
311
|
+
`}}}}).prompt()};var Ne={message:(e=[],{symbol:t=N("gray",Te),secondarySymbol:r=N("gray",Te),output:n=process.stdout,spacing:o=1,withGuide:s}={})=>{let i=[],a=s??ot.withGuide,c=a?r:"",u=a?`${t} `:"",l=a?`${r} `:"";for(let f=0;f<o;f++)i.push(c);let d=Array.isArray(e)?e:e.split(`
|
|
312
312
|
`);if(d.length>0){let[f,...m]=d;f.length>0?i.push(`${u}${f}`):i.push(a?t:"");for(let h of m)h.length>0?i.push(`${l}${h}`):i.push(a?r:"")}n.write(`${i.join(`
|
|
313
313
|
`)}
|
|
314
|
-
`)},info:(e,t)=>{
|
|
314
|
+
`)},info:(e,t)=>{Ne.message(e,{...t,symbol:N("blue",$U)})},success:(e,t)=>{Ne.message(e,{...t,symbol:N("green",EU)})},step:(e,t)=>{Ne.message(e,{...t,symbol:N("green",Pm)})},warn:(e,t)=>{Ne.message(e,{...t,symbol:N("yellow",TU)})},warning:(e,t)=>{Ne.warn(e,t)},error:(e,t)=>{Ne.message(e,{...t,symbol:N("red",PU)})}},ou=(e="",t)=>{let r=t?.output??process.stdout,n=t?.withGuide??ot.withGuide?`${N("gray",Ro)} `:"";r.write(`${n}${N("red",e)}
|
|
315
315
|
|
|
316
|
-
`)},
|
|
317
|
-
`)},
|
|
318
|
-
${N("gray",
|
|
316
|
+
`)},_$=(e="",t)=>{let r=t?.output??process.stdout,n=t?.withGuide??ot.withGuide?`${N("gray",kU)} `:"";r.write(`${n}${e}
|
|
317
|
+
`)},vi=(e="",t)=>{let r=t?.output??process.stdout,n=t?.withGuide??ot.withGuide?`${N("gray",Te)}
|
|
318
|
+
${N("gray",Ro)} `:"";r.write(`${n}${e}
|
|
319
319
|
|
|
320
|
-
`)};var
|
|
321
|
-
`);let W=
|
|
322
|
-
`);W.length>1&&r.write(
|
|
323
|
-
`);let oe=0
|
|
320
|
+
`)};var AU=(e)=>N("magenta",e),Si=({indicator:e="dots",onCancel:t,output:r=process.stdout,cancelMessage:n,errorMessage:o,frames:s=Tm?["◒","◐","◓","◑"]:["•","o","O","0"],delay:i=Tm?80:120,signal:a,...c}={})=>{let u=vU(),l,d,f=!1,m=!1,h="",g,y=performance.now(),b=nu(r),E=c?.styleFrame??AU,S=(W)=>{let oe=W>1?o??ot.messages.error:n??ot.messages.cancel;m=W===1,f&&(Me(oe,W),m&&typeof t=="function"&&t())},I=()=>S(2),_=()=>S(1),v=()=>{process.on("uncaughtExceptionMonitor",I),process.on("unhandledRejection",I),process.on("SIGINT",_),process.on("SIGTERM",_),process.on("exit",S),a&&a.addEventListener("abort",_)},x=()=>{process.removeListener("uncaughtExceptionMonitor",I),process.removeListener("unhandledRejection",I),process.removeListener("SIGINT",_),process.removeListener("SIGTERM",_),process.removeListener("exit",S),a&&a.removeEventListener("abort",_)},R=()=>{if(g===void 0)return;u&&r.write(`
|
|
321
|
+
`);let W=Kr(g,b,{hard:!0,trim:!1}).split(`
|
|
322
|
+
`);W.length>1&&r.write(_i.cursor.up(W.length-1)),r.write(_i.cursor.to(0)),r.write(_i.erase.down())},j=(W)=>W.replace(/\.+$/,""),J=(W)=>{let oe=(performance.now()-W)/1000,Et=Math.floor(oe/60),it=Math.floor(oe%60);return Et>0?`[${Et}m ${it}s]`:`[${it}s]`},ie=c.withGuide??ot.withGuide,ae=(W="")=>{f=!0,l=a$({output:r}),h=j(W),y=performance.now(),ie&&r.write(`${N("gray",Te)}
|
|
323
|
+
`);let oe=0,Et=0;v(),d=setInterval(()=>{if(u&&h===g)return;R(),g=h;let it=E(s[oe]),Ea;if(u)Ea=`${it} ${h}...`;else if(e==="timer")Ea=`${it} ${h} ${J(y)}`;else{let Cz=".".repeat(Math.floor(Et)).slice(0,3);Ea=`${it} ${h}${Cz}`}let Az=Kr(Ea,b,{hard:!0,trim:!1});r.write(Az),oe=oe+1<s.length?oe+1:0,Et=Et<4?Et+0.125:0},i)},Me=(W="",oe=0,Et=!1)=>{if(!f)return;f=!1,clearInterval(d),R();let it=oe===0?N("green",Pm):oe===1?N("red",h$):N("red",g$);h=W??h,Et||(e==="timer"?r.write(`${it} ${h} ${J(y)}
|
|
324
324
|
`):r.write(`${it} ${h}
|
|
325
|
-
`)),
|
|
326
|
-
`;break;case 114:S+="\r";break;case 116:S+="\t";break;case 117:let
|
|
327
|
-
`;return a++,u=n,i=14}switch(S){case 123:return n++,i=1;case 125:return n++,i=2;case 91:return n++,i=3;case 93:return n++,i=4;case 58:return n++,i=6;case 44:return n++,i=5;case 34:return n++,o=g(),i=10;case 47:let I=n-1;if(e.charCodeAt(n+1)===47){n+=2;while(n<r){if(
|
|
325
|
+
`)),x(),l()};return{start:ae,stop:(W="")=>Me(W,0),message:(W="")=>{h=j(W??h)},cancel:(W="")=>Me(W,1),error:(W="")=>Me(W,2),clear:()=>Me("",0,!0),get isCancelled(){return m}}},Ype={light:ge("─","-"),heavy:ge("━","="),block:ge("█","#")};var Xpe=[`${N("dim","↑/↓")} to navigate`,`${N("dim","Enter:")} confirm`];var Qpe=`${N("gray",Te)} `;var kt=On(Yc(),1);import{join as JU}from"node:path";import{readFileSync as HU}from"node:fs";import{join as zo}from"node:path";import{mkdirSync as qU,readFileSync as FU,renameSync as UU,writeFileSync as WU}from"node:fs";import{dirname as VU}from"node:path";function xi(e,t=!1){let r=e.length,n=0,o="",s=0,i=16,a=0,c=0,u=0,l=0,d=0;function f(S,I){let _=0,v=0;while(_<S||!I){let x=e.charCodeAt(n);if(x>=48&&x<=57)v=v*16+x-48;else if(x>=65&&x<=70)v=v*16+x-65+10;else if(x>=97&&x<=102)v=v*16+x-97+10;else break;n++,_++}if(_<S)v=-1;return v}function m(S){n=S,o="",s=0,i=16,d=0}function h(){let S=n;if(e.charCodeAt(n)===48)n++;else{n++;while(n<e.length&&Ao(e.charCodeAt(n)))n++}if(n<e.length&&e.charCodeAt(n)===46)if(n++,n<e.length&&Ao(e.charCodeAt(n))){n++;while(n<e.length&&Ao(e.charCodeAt(n)))n++}else return d=3,e.substring(S,n);let I=n;if(n<e.length&&(e.charCodeAt(n)===69||e.charCodeAt(n)===101)){if(n++,n<e.length&&e.charCodeAt(n)===43||e.charCodeAt(n)===45)n++;if(n<e.length&&Ao(e.charCodeAt(n))){n++;while(n<e.length&&Ao(e.charCodeAt(n)))n++;I=n}else d=3}return e.substring(S,I)}function g(){let S="",I=n;while(!0){if(n>=r){S+=e.substring(I,n),d=2;break}let _=e.charCodeAt(n);if(_===34){S+=e.substring(I,n),n++;break}if(_===92){if(S+=e.substring(I,n),n++,n>=r){d=2;break}switch(e.charCodeAt(n++)){case 34:S+='"';break;case 92:S+="\\";break;case 47:S+="/";break;case 98:S+="\b";break;case 102:S+="\f";break;case 110:S+=`
|
|
326
|
+
`;break;case 114:S+="\r";break;case 116:S+="\t";break;case 117:let x=f(4,!0);if(x>=0)S+=String.fromCharCode(x);else d=4;break;default:d=5}I=n;continue}if(_>=0&&_<=31)if(ki(_)){S+=e.substring(I,n),d=2;break}else d=6;n++}return S}function y(){if(o="",d=0,s=n,c=a,l=u,n>=r)return s=r,i=17;let S=e.charCodeAt(n);if(Om(S)){do n++,o+=String.fromCharCode(S),S=e.charCodeAt(n);while(Om(S));return i=15}if(ki(S)){if(n++,o+=String.fromCharCode(S),S===13&&e.charCodeAt(n)===10)n++,o+=`
|
|
327
|
+
`;return a++,u=n,i=14}switch(S){case 123:return n++,i=1;case 125:return n++,i=2;case 91:return n++,i=3;case 93:return n++,i=4;case 58:return n++,i=6;case 44:return n++,i=5;case 34:return n++,o=g(),i=10;case 47:let I=n-1;if(e.charCodeAt(n+1)===47){n+=2;while(n<r){if(ki(e.charCodeAt(n)))break;n++}return o=e.substring(I,n),i=12}if(e.charCodeAt(n+1)===42){n+=2;let _=r-1,v=!1;while(n<_){let x=e.charCodeAt(n);if(x===42&&e.charCodeAt(n+1)===47){n+=2,v=!0;break}if(n++,ki(x)){if(x===13&&e.charCodeAt(n)===10)n++;a++,u=n}}if(!v)n++,d=1;return o=e.substring(I,n),i=13}return o+=String.fromCharCode(S),n++,i=16;case 45:if(o+=String.fromCharCode(S),n++,n===r||!Ao(e.charCodeAt(n)))return i=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=h(),i=11;default:while(n<r&&b(S))n++,S=e.charCodeAt(n);if(s!==n){switch(o=e.substring(s,n),o){case"true":return i=8;case"false":return i=9;case"null":return i=7}return i=16}return o+=String.fromCharCode(S),n++,i=16}}function b(S){if(Om(S)||ki(S))return!1;switch(S){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function E(){let S;do S=y();while(S>=12&&S<=15);return S}return{setPosition:m,getPosition:()=>n,scan:t?E:y,getToken:()=>i,getTokenValue:()=>o,getTokenOffset:()=>s,getTokenLength:()=>n-s,getTokenStartLine:()=>c,getTokenStartCharacter:()=>s-l,getTokenError:()=>d}}function Om(e){return e===32||e===9}function ki(e){return e===10||e===13}function Ao(e){return e>=48&&e<=57}var S$;(function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"})(S$||(S$={}));var St=Array(20).fill(0).map((e,t)=>" ".repeat(t));var Im={" ":{"\n":Array(200).fill(0).map((e,t)=>`
|
|
328
328
|
`+" ".repeat(t)),"\r":Array(200).fill(0).map((e,t)=>"\r"+" ".repeat(t)),"\r\n":Array(200).fill(0).map((e,t)=>`\r
|
|
329
329
|
`+" ".repeat(t))},"\t":{"\n":Array(200).fill(0).map((e,t)=>`
|
|
330
330
|
`+"\t".repeat(t)),"\r":Array(200).fill(0).map((e,t)=>"\r"+"\t".repeat(t)),"\r\n":Array(200).fill(0).map((e,t)=>`\r
|
|
331
|
-
`+"\t".repeat(t))}},
|
|
331
|
+
`+"\t".repeat(t))}},k$=[`
|
|
332
332
|
`,"\r",`\r
|
|
333
|
-
`];function
|
|
333
|
+
`];function Rm(e,t,r){let n,o,s,i,a;if(t){i=t.offset,a=i+t.length,s=i;while(s>0&&!$i(e,s-1))s--;let _=a;while(_<e.length&&!$i(e,_))_++;o=e.substring(s,_),n=zU(o,r)}else o=e,n=0,s=0,i=0,a=e.length;let c=NU(r,e),u=k$.includes(c),l=0,d=0,f;if(r.insertSpaces)f=St[r.tabSize||4]??Co(St[1],r.tabSize||4);else f="\t";let m=f==="\t"?"\t":" ",h=xi(o,!1),g=!1;function y(){if(l>1)return Co(c,l)+Co(f,n+d);let _=f.length*(n+d);if(!u||_>Im[m][c].length)return c+Co(f,n+d);if(_<=0)return c;return Im[m][c][_]}function b(){let _=h.scan();l=0;while(_===15||_===14){if(_===14&&r.keepLines)l+=1;else if(_===14)l=1;_=h.scan()}return g=_===16||h.getTokenError()!==0,_}let E=[];function S(_,v,x){if(!g&&(!t||v<a&&x>i)&&e.substring(v,x)!==_)E.push({offset:v,length:x-v,content:_})}let I=b();if(r.keepLines&&l>0)S(Co(c,l),0,0);if(I!==17){let _=h.getTokenOffset()+s,v=f.length*n<20&&r.insertSpaces?St[f.length*n]:Co(f,n);S(v,s,_)}while(I!==17){let _=h.getTokenOffset()+h.getTokenLength()+s,v=b(),x="",R=!1;while(l===0&&(v===12||v===13)){let J=h.getTokenOffset()+s;S(St[1],_,J),_=h.getTokenOffset()+h.getTokenLength()+s,R=v===12,x=R?y():"",v=b()}if(v===2){if(I!==1)d--;if(r.keepLines&&l>0||!r.keepLines&&I!==1)x=y();else if(r.keepLines)x=St[1]}else if(v===4){if(I!==3)d--;if(r.keepLines&&l>0||!r.keepLines&&I!==3)x=y();else if(r.keepLines)x=St[1]}else{switch(I){case 3:case 1:if(d++,r.keepLines&&l>0||!r.keepLines)x=y();else x=St[1];break;case 5:if(r.keepLines&&l>0||!r.keepLines)x=y();else x=St[1];break;case 12:x=y();break;case 13:if(l>0)x=y();else if(!R)x=St[1];break;case 6:if(r.keepLines&&l>0)x=y();else if(!R)x=St[1];break;case 10:if(r.keepLines&&l>0)x=y();else if(v===6&&!R)x="";break;case 7:case 8:case 9:case 11:case 2:case 4:if(r.keepLines&&l>0)x=y();else if((v===12||v===13)&&!R)x=St[1];else if(v!==5&&v!==17)g=!0;break;case 16:g=!0;break}if(l>0&&(v===12||v===13))x=y()}if(v===17)if(r.keepLines&&l>0)x=y();else x=r.insertFinalNewline?c:"";let j=h.getTokenOffset()+s;S(x,_,j),I=v}return E}function Co(e,t){let r="";for(let n=0;n<t;n++)r+=e;return r}function zU(e,t){let r=0,n=0,o=t.tabSize||4;while(r<e.length){let s=e.charAt(r);if(s===St[1])n++;else if(s==="\t")n+=o;else break;r++}return Math.floor(n/o)}function NU(e,t){for(let r=0;r<t.length;r++){let n=t.charAt(r);if(n==="\r"){if(r+1<t.length&&t.charAt(r+1)===`
|
|
334
334
|
`)return`\r
|
|
335
335
|
`;return"\r"}else if(n===`
|
|
336
336
|
`)return`
|
|
337
337
|
`}return e&&e.eol||`
|
|
338
|
-
`}function
|
|
339
|
-
`.indexOf(e.charAt(t))!==-1}var _i;(function(e){e.DEFAULT={allowTrailingComma:!1}})(_i||(_i={}));function K0(e,t=[],r=_i.DEFAULT){let n=null,o=[],s=[];function i(c){if(Array.isArray(o))o.push(c);else if(n!==null)o[n]=c}return gm(e,{onObjectBegin:()=>{let c={};i(c),s.push(o),o=c,n=null},onObjectProperty:(c)=>{n=c},onObjectEnd:()=>{o=s.pop()},onArrayBegin:()=>{let c=[];i(c),s.push(o),o=c,n=null},onArrayEnd:()=>{o=s.pop()},onLiteralValue:i,onError:(c,u,l)=>{t.push({error:c,offset:u,length:l})}},r),o[0]}function hm(e,t=[],r=_i.DEFAULT){let n={type:"array",offset:-1,length:-1,children:[],parent:void 0};function o(c){if(n.type==="property")n.length=c-n.offset,n=n.parent}function s(c){return n.children.push(c),c}gm(e,{onObjectBegin:(c)=>{n=s({type:"object",offset:c,length:-1,parent:n,children:[]})},onObjectProperty:(c,u,l)=>{n=s({type:"property",offset:u,length:-1,parent:n,children:[]}),n.children.push({type:"string",value:c,offset:u,length:l,parent:n})},onObjectEnd:(c,u)=>{o(c+u),n.length=c+u-n.offset,n=n.parent,o(c+u)},onArrayBegin:(c,u)=>{n=s({type:"array",offset:c,length:-1,parent:n,children:[]})},onArrayEnd:(c,u)=>{n.length=c+u-n.offset,n=n.parent,o(c+u)},onLiteralValue:(c,u,l)=>{s({type:CF(c),offset:u,length:l,parent:n,value:c}),o(u+l)},onSeparator:(c,u,l)=>{if(n.type==="property"){if(c===":")n.colonOffset=u;else if(c===",")o(u)}},onError:(c,u,l)=>{t.push({error:c,offset:u,length:l})}},r);let a=n.children[0];if(a)delete a.parent;return a}function Yc(e,t){if(!e)return;let r=e;for(let n of t)if(typeof n==="string"){if(r.type!=="object"||!Array.isArray(r.children))return;let o=!1;for(let s of r.children)if(Array.isArray(s.children)&&s.children[0].value===n&&s.children.length===2){r=s.children[1],o=!0;break}if(!o)return}else{let o=n;if(r.type!=="array"||o<0||!Array.isArray(r.children)||o>=r.children.length)return;r=r.children[o]}return r}function gm(e,t,r=_i.DEFAULT){let n=bi(e,!1),o=[],s=0;function i(W){return W?()=>s===0&&W(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function a(W){return W?(oe)=>s===0&&W(oe,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function c(W){return W?(oe)=>s===0&&W(oe,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice()):()=>!0}function u(W){return W?()=>{if(s>0)s++;else if(W(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice())===!1)s=1}:()=>!0}function l(W){return W?()=>{if(s>0)s--;if(s===0)W(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter())}:()=>!0}let d=u(t.onObjectBegin),f=c(t.onObjectProperty),m=l(t.onObjectEnd),h=u(t.onArrayBegin),g=l(t.onArrayEnd),y=c(t.onLiteralValue),w=a(t.onSeparator),T=i(t.onComment),S=a(t.onError),I=r&&r.disallowComments,_=r&&r.allowTrailingComma;function v(){while(!0){let W=n.scan();switch(n.getTokenError()){case 4:k(14);break;case 5:k(15);break;case 3:k(13);break;case 1:if(!I)k(11);break;case 2:k(12);break;case 6:k(16);break}switch(W){case 12:case 13:if(I)k(10);else T();break;case 16:k(1);break;case 15:case 14:break;default:return W}}}function k(W,oe=[],$t=[]){if(S(W),oe.length+$t.length>0){let it=n.getToken();while(it!==17){if(oe.indexOf(it)!==-1){v();break}else if($t.indexOf(it)!==-1)break;it=v()}}}function A(W){let oe=n.getTokenValue();if(W)y(oe);else f(oe),o.push(oe);return v(),!0}function D(){switch(n.getToken()){case 11:let W=n.getTokenValue(),oe=Number(W);if(isNaN(oe))k(2),oe=0;y(oe);break;case 7:y(null);break;case 8:y(!0);break;case 9:y(!1);break;default:return!1}return v(),!0}function G(){if(n.getToken()!==10)return k(3,[],[2,5]),!1;if(A(!1),n.getToken()===6){if(w(":"),v(),!De())k(4,[],[2,5])}else k(5,[],[2,5]);return o.pop(),!0}function ie(){d(),v();let W=!1;while(n.getToken()!==2&&n.getToken()!==17){if(n.getToken()===5){if(!W)k(4,[],[]);if(w(","),v(),n.getToken()===2&&_)break}else if(W)k(6,[],[]);if(!G())k(4,[],[2,5]);W=!0}if(m(),n.getToken()!==2)k(7,[2],[]);else v();return!0}function ae(){h(),v();let W=!0,oe=!1;while(n.getToken()!==4&&n.getToken()!==17){if(n.getToken()===5){if(!oe)k(4,[],[]);if(w(","),v(),n.getToken()===4&&_)break}else if(oe)k(6,[],[]);if(W)o.push(0),W=!1;else o[o.length-1]++;if(!De())k(4,[],[4,5]);oe=!0}if(g(),!W)o.pop();if(n.getToken()!==4)k(8,[4],[]);else v();return!0}function De(){switch(n.getToken()){case 3:return ae();case 1:return ie();case 10:return A(!0);default:return D()}}if(v(),n.getToken()===17){if(r.allowEmptyContent)return!0;return k(4,[],[]),!1}if(!De())return k(4,[],[]),!1;if(n.getToken()!==17)k(9,[],[]);return!0}function CF(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(!e)return"null";else if(Array.isArray(e))return"array";return"object"}default:return"null"}}function H0(e,t,r,n){let o=t.slice(),i=hm(e,[]),a=void 0,c=void 0;while(o.length>0)if(c=o.pop(),a=Yc(i,o),a===void 0&&r!==void 0)if(typeof c==="string")r={[c]:r};else r=[r];else break;if(!a){if(r===void 0)throw Error("Can not delete in empty document");return Nn(e,{offset:i?i.offset:0,length:i?i.length:0,content:JSON.stringify(r)},n)}else if(a.type==="object"&&typeof c==="string"&&Array.isArray(a.children)){let u=Yc(a,[c]);if(u!==void 0)if(r===void 0){if(!u.parent)throw Error("Malformed AST");let l=a.children.indexOf(u.parent),d,f=u.parent.offset+u.parent.length;if(l>0){let m=a.children[l-1];d=m.offset+m.length}else if(d=a.offset+1,a.children.length>1)f=a.children[1].offset;return Nn(e,{offset:d,length:f-d,content:""},n)}else return Nn(e,{offset:u.offset,length:u.length,content:JSON.stringify(r)},n);else{if(r===void 0)return[];let l=`${JSON.stringify(c)}: ${JSON.stringify(r)}`,d=n.getInsertionIndex?n.getInsertionIndex(a.children.map((m)=>m.children[0].value)):a.children.length,f;if(d>0){let m=a.children[d-1];f={offset:m.offset+m.length,length:0,content:","+l}}else if(a.children.length===0)f={offset:a.offset+1,length:0,content:l};else f={offset:a.offset+1,length:0,content:l+","};return Nn(e,f,n)}}else if(a.type==="array"&&typeof c==="number"&&Array.isArray(a.children)){let u=c;if(u===-1){let l=`${JSON.stringify(r)}`,d;if(a.children.length===0)d={offset:a.offset+1,length:0,content:l};else{let f=a.children[a.children.length-1];d={offset:f.offset+f.length,length:0,content:","+l}}return Nn(e,d,n)}else if(r===void 0&&a.children.length>=0){let l=c,d=a.children[l],f;if(a.children.length===1)f={offset:a.offset+1,length:a.length-2,content:""};else if(a.children.length-1===l){let m=a.children[l-1],h=m.offset+m.length,g=a.offset+a.length;f={offset:h,length:g-2-h,content:""}}else f={offset:d.offset,length:a.children[l+1].offset-d.offset,content:""};return Nn(e,f,n)}else if(r!==void 0){let l,d=`${JSON.stringify(r)}`;if(!n.isArrayInsertion&&a.children.length>c){let f=a.children[c];l={offset:f.offset,length:f.length,content:d}}else if(a.children.length===0||c===0)l={offset:a.offset+1,length:0,content:a.children.length===0?d:d+","};else{let f=c>a.children.length?a.children.length:c,m=a.children[f-1];l={offset:m.offset+m.length,length:0,content:","+d}}return Nn(e,l,n)}else throw Error(`Can not ${r===void 0?"remove":n.isArrayInsertion?"insert":"modify"} Array index ${u} as length is not sufficient`)}else throw Error(`Can not add ${typeof c!=="number"?"index":"property"} to parent of type ${a.type}`)}function Nn(e,t,r){if(!r.formattingOptions)return[t];let n=Xc(e,t),o=t.offset,s=t.offset+t.content.length;if(t.length===0||t.content.length===0){while(o>0&&!wi(n,o-1))o--;while(s<n.length&&!wi(n,s))s++}let i=mm(n,{offset:o,length:s-o},{...r.formattingOptions,keepLines:!1});for(let c=i.length-1;c>=0;c--){let u=i[c];n=Xc(n,u),o=Math.min(o,u.offset),s=Math.max(s,u.offset+u.length),s+=u.content.length-u.length}let a=e.length-(n.length-s)-o;return[{offset:o,length:a,content:n.substring(o,s)}]}function Xc(e,t){return e.substring(0,t.offset)+t.content+e.substring(t.offset+t.length)}var G0;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(G0||(G0={}));var J0;(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(J0||(J0={}));var X0=K0;var Y0;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(Y0||(Y0={}));function ym(e,t,r,n){return H0(e,t,r,n)}function bm(e,t){let r=t.slice(0).sort((o,s)=>{let i=o.offset-s.offset;if(i===0)return o.length-s.length;return i}),n=e.length;for(let o=r.length-1;o>=0;o--){let s=r[o];if(s.offset+s.length<=n)e=Xc(e,s);else throw Error("Overlapping edit");n=s.offset}return e}var Q0=J(p(),Sr()),FF=J(p(),Sr()),e$={insertSpaces:!0,tabSize:2,eol:`
|
|
340
|
-
`};function
|
|
341
|
-
`;for(let[y,
|
|
338
|
+
`}function $i(e,t){return`\r
|
|
339
|
+
`.indexOf(e.charAt(t))!==-1}var Ei;(function(e){e.DEFAULT={allowTrailingComma:!1}})(Ei||(Ei={}));function x$(e,t=[],r=Ei.DEFAULT){let n=null,o=[],s=[];function i(c){if(Array.isArray(o))o.push(c);else if(n!==null)o[n]=c}return Cm(e,{onObjectBegin:()=>{let c={};i(c),s.push(o),o=c,n=null},onObjectProperty:(c)=>{n=c},onObjectEnd:()=>{o=s.pop()},onArrayBegin:()=>{let c=[];i(c),s.push(o),o=c,n=null},onArrayEnd:()=>{o=s.pop()},onLiteralValue:i,onError:(c,u,l)=>{t.push({error:c,offset:u,length:l})}},r),o[0]}function Am(e,t=[],r=Ei.DEFAULT){let n={type:"array",offset:-1,length:-1,children:[],parent:void 0};function o(c){if(n.type==="property")n.length=c-n.offset,n=n.parent}function s(c){return n.children.push(c),c}Cm(e,{onObjectBegin:(c)=>{n=s({type:"object",offset:c,length:-1,parent:n,children:[]})},onObjectProperty:(c,u,l)=>{n=s({type:"property",offset:u,length:-1,parent:n,children:[]}),n.children.push({type:"string",value:c,offset:u,length:l,parent:n})},onObjectEnd:(c,u)=>{o(c+u),n.length=c+u-n.offset,n=n.parent,o(c+u)},onArrayBegin:(c,u)=>{n=s({type:"array",offset:c,length:-1,parent:n,children:[]})},onArrayEnd:(c,u)=>{n.length=c+u-n.offset,n=n.parent,o(c+u)},onLiteralValue:(c,u,l)=>{s({type:jU(c),offset:u,length:l,parent:n,value:c}),o(u+l)},onSeparator:(c,u,l)=>{if(n.type==="property"){if(c===":")n.colonOffset=u;else if(c===",")o(u)}},onError:(c,u,l)=>{t.push({error:c,offset:u,length:l})}},r);let a=n.children[0];if(a)delete a.parent;return a}function su(e,t){if(!e)return;let r=e;for(let n of t)if(typeof n==="string"){if(r.type!=="object"||!Array.isArray(r.children))return;let o=!1;for(let s of r.children)if(Array.isArray(s.children)&&s.children[0].value===n&&s.children.length===2){r=s.children[1],o=!0;break}if(!o)return}else{let o=n;if(r.type!=="array"||o<0||!Array.isArray(r.children)||o>=r.children.length)return;r=r.children[o]}return r}function Cm(e,t,r=Ei.DEFAULT){let n=xi(e,!1),o=[],s=0;function i(W){return W?()=>s===0&&W(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function a(W){return W?(oe)=>s===0&&W(oe,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter()):()=>!0}function c(W){return W?(oe)=>s===0&&W(oe,n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice()):()=>!0}function u(W){return W?()=>{if(s>0)s++;else if(W(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter(),()=>o.slice())===!1)s=1}:()=>!0}function l(W){return W?()=>{if(s>0)s--;if(s===0)W(n.getTokenOffset(),n.getTokenLength(),n.getTokenStartLine(),n.getTokenStartCharacter())}:()=>!0}let d=u(t.onObjectBegin),f=c(t.onObjectProperty),m=l(t.onObjectEnd),h=u(t.onArrayBegin),g=l(t.onArrayEnd),y=c(t.onLiteralValue),b=a(t.onSeparator),E=i(t.onComment),S=a(t.onError),I=r&&r.disallowComments,_=r&&r.allowTrailingComma;function v(){while(!0){let W=n.scan();switch(n.getTokenError()){case 4:x(14);break;case 5:x(15);break;case 3:x(13);break;case 1:if(!I)x(11);break;case 2:x(12);break;case 6:x(16);break}switch(W){case 12:case 13:if(I)x(10);else E();break;case 16:x(1);break;case 15:case 14:break;default:return W}}}function x(W,oe=[],Et=[]){if(S(W),oe.length+Et.length>0){let it=n.getToken();while(it!==17){if(oe.indexOf(it)!==-1){v();break}else if(Et.indexOf(it)!==-1)break;it=v()}}}function R(W){let oe=n.getTokenValue();if(W)y(oe);else f(oe),o.push(oe);return v(),!0}function j(){switch(n.getToken()){case 11:let W=n.getTokenValue(),oe=Number(W);if(isNaN(oe))x(2),oe=0;y(oe);break;case 7:y(null);break;case 8:y(!0);break;case 9:y(!1);break;default:return!1}return v(),!0}function J(){if(n.getToken()!==10)return x(3,[],[2,5]),!1;if(R(!1),n.getToken()===6){if(b(":"),v(),!Me())x(4,[],[2,5])}else x(5,[],[2,5]);return o.pop(),!0}function ie(){d(),v();let W=!1;while(n.getToken()!==2&&n.getToken()!==17){if(n.getToken()===5){if(!W)x(4,[],[]);if(b(","),v(),n.getToken()===2&&_)break}else if(W)x(6,[],[]);if(!J())x(4,[],[2,5]);W=!0}if(m(),n.getToken()!==2)x(7,[2],[]);else v();return!0}function ae(){h(),v();let W=!0,oe=!1;while(n.getToken()!==4&&n.getToken()!==17){if(n.getToken()===5){if(!oe)x(4,[],[]);if(b(","),v(),n.getToken()===4&&_)break}else if(oe)x(6,[],[]);if(W)o.push(0),W=!1;else o[o.length-1]++;if(!Me())x(4,[],[4,5]);oe=!0}if(g(),!W)o.pop();if(n.getToken()!==4)x(8,[4],[]);else v();return!0}function Me(){switch(n.getToken()){case 3:return ae();case 1:return ie();case 10:return R(!0);default:return j()}}if(v(),n.getToken()===17){if(r.allowEmptyContent)return!0;return x(4,[],[]),!1}if(!Me())return x(4,[],[]),!1;if(n.getToken()!==17)x(9,[],[]);return!0}function jU(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(!e)return"null";else if(Array.isArray(e))return"array";return"object"}default:return"null"}}function $$(e,t,r,n){let o=t.slice(),i=Am(e,[]),a=void 0,c=void 0;while(o.length>0)if(c=o.pop(),a=su(i,o),a===void 0&&r!==void 0)if(typeof c==="string")r={[c]:r};else r=[r];else break;if(!a){if(r===void 0)throw Error("Can not delete in empty document");return qn(e,{offset:i?i.offset:0,length:i?i.length:0,content:JSON.stringify(r)},n)}else if(a.type==="object"&&typeof c==="string"&&Array.isArray(a.children)){let u=su(a,[c]);if(u!==void 0)if(r===void 0){if(!u.parent)throw Error("Malformed AST");let l=a.children.indexOf(u.parent),d,f=u.parent.offset+u.parent.length;if(l>0){let m=a.children[l-1];d=m.offset+m.length}else if(d=a.offset+1,a.children.length>1)f=a.children[1].offset;return qn(e,{offset:d,length:f-d,content:""},n)}else return qn(e,{offset:u.offset,length:u.length,content:JSON.stringify(r)},n);else{if(r===void 0)return[];let l=`${JSON.stringify(c)}: ${JSON.stringify(r)}`,d=n.getInsertionIndex?n.getInsertionIndex(a.children.map((m)=>m.children[0].value)):a.children.length,f;if(d>0){let m=a.children[d-1];f={offset:m.offset+m.length,length:0,content:","+l}}else if(a.children.length===0)f={offset:a.offset+1,length:0,content:l};else f={offset:a.offset+1,length:0,content:l+","};return qn(e,f,n)}}else if(a.type==="array"&&typeof c==="number"&&Array.isArray(a.children)){let u=c;if(u===-1){let l=`${JSON.stringify(r)}`,d;if(a.children.length===0)d={offset:a.offset+1,length:0,content:l};else{let f=a.children[a.children.length-1];d={offset:f.offset+f.length,length:0,content:","+l}}return qn(e,d,n)}else if(r===void 0&&a.children.length>=0){let l=c,d=a.children[l],f;if(a.children.length===1)f={offset:a.offset+1,length:a.length-2,content:""};else if(a.children.length-1===l){let m=a.children[l-1],h=m.offset+m.length,g=a.offset+a.length;f={offset:h,length:g-2-h,content:""}}else f={offset:d.offset,length:a.children[l+1].offset-d.offset,content:""};return qn(e,f,n)}else if(r!==void 0){let l,d=`${JSON.stringify(r)}`;if(!n.isArrayInsertion&&a.children.length>c){let f=a.children[c];l={offset:f.offset,length:f.length,content:d}}else if(a.children.length===0||c===0)l={offset:a.offset+1,length:0,content:a.children.length===0?d:d+","};else{let f=c>a.children.length?a.children.length:c,m=a.children[f-1];l={offset:m.offset+m.length,length:0,content:","+d}}return qn(e,l,n)}else throw Error(`Can not ${r===void 0?"remove":n.isArrayInsertion?"insert":"modify"} Array index ${u} as length is not sufficient`)}else throw Error(`Can not add ${typeof c!=="number"?"index":"property"} to parent of type ${a.type}`)}function qn(e,t,r){if(!r.formattingOptions)return[t];let n=iu(e,t),o=t.offset,s=t.offset+t.content.length;if(t.length===0||t.content.length===0){while(o>0&&!$i(n,o-1))o--;while(s<n.length&&!$i(n,s))s++}let i=Rm(n,{offset:o,length:s-o},{...r.formattingOptions,keepLines:!1});for(let c=i.length-1;c>=0;c--){let u=i[c];n=iu(n,u),o=Math.min(o,u.offset),s=Math.max(s,u.offset+u.length),s+=u.content.length-u.length}let a=e.length-(n.length-s)-o;return[{offset:o,length:a,content:n.substring(o,s)}]}function iu(e,t){return e.substring(0,t.offset)+t.content+e.substring(t.offset+t.length)}var E$;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(E$||(E$={}));var T$;(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(T$||(T$={}));var O$=x$;var P$;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(P$||(P$={}));function zm(e,t,r,n){return $$(e,t,r,n)}function Nm(e,t){let r=t.slice(0).sort((o,s)=>{let i=o.offset-s.offset;if(i===0)return o.length-s.length;return i}),n=e.length;for(let o=r.length-1;o>=0;o--){let s=r[o];if(s.offset+s.length<=n)e=iu(e,s);else throw Error("Overlapping edit");n=s.offset}return e}var I$=K(p(),Ot()),ZU=K(p(),Ot()),R$={insertSpaces:!0,tabSize:2,eol:`
|
|
340
|
+
`};function Lm(e){let t=[],r=O$(e,t,{allowTrailingComma:!0,disallowComments:!1});if(t.length>0)throw Error("invalid JSON");return r}function BU(e,t){if(e===null||e.trim()==="")return{};try{return ZU.parse(Lm(e))}catch{throw Error(`${t} is not a JSON object. Left it unchanged.`)}}function KU(e,t,r,n,o,s={}){let i=BU(e,t),a=I$.optional().safeParse(i[r]);if(!a.success)throw Error(`${t} has a "${r}" value that is not an object. Left it unchanged.`);let c=a.data??{},u=I$.optional().safeParse(c[n]),l=u.success?u.data:void 0,d={...l??{},...o},f=Object.entries(s.defaults??{}).filter(([y])=>!(y in i));if(l&&f.length===0&&JSON.stringify(l)===JSON.stringify(d))return{outcome:"unchanged",text:e??""};let m=e&&e.trim()!==""?e:`{}
|
|
341
|
+
`;for(let[y,b]of f)m=Nm(m,zm(m,[y],b,{formattingOptions:R$}));let h=a.data?[r,n]:[r],g=a.data?d:{[n]:d};return m=Nm(m,zm(m,h,g,{formattingOptions:R$})),{outcome:l?"updated":"added",text:m.endsWith(`
|
|
342
342
|
`)?m:`${m}
|
|
343
|
-
`}}function vi(e){try{return DF(e,"utf8")}catch{return null}}function _m(e,t){LF(qF(e),{recursive:!0});let r=`${e}.tripwire-${process.pid}.tmp`;MF(r,t),jF(r,e)}function Ve(e,t,r,n,o={}){let s=WF(vi(e),e,t,r,n,o);if(s.outcome!=="unchanged")_m(e,s.text);return s.outcome}var vm=J(p(),re());function fe(e,t,r,n=["url"]){try{let o=vm.parse(wm(VF(e,"utf8"))),s=vm.safeParse(o[t]);if(!s.success||!(r in s.data))return null;let i=vm.safeParse(s.data[r]);if(!i.success)return"";for(let a of n){let c=i.data[a];if(typeof c==="string")return c}return""}catch{return null}}function lt(e,t){let r=t.map((n)=>/^[\w@%+=:,./-]+$/.test(n)?n:`'${n.replaceAll("'","'\\''")}'`);return[e,...r].join(" ")}async function Pt(e,t,r){let n=await e.run(t,r);if(!n.ok)throw Error(n.stderr||n.stdout||`${lt(t,r)} failed`)}async function Oo(e,t,r,n){let o=await e.run(t,r);return n(o.stdout)}function Ge(e,t){return t.some((r)=>e.exists(r))}function rr(e,t){if(e.platform!=="darwin")return[];return e.macAppDirs.flatMap((r)=>t.map((n)=>To(r,`${n}.app`)))}function Qc(e,t){for(let r of t){let n=e.which(r);if(n)return n}return null}var ZF=[".vscode",".vscode-insiders",".cursor",".windsurf"];function eu(e,t){let r=`${t.toLowerCase()}-`;return ZF.some((n)=>e.list(To(e.home,n,"extensions")).some((o)=>o.toLowerCase().startsWith(r)))}function Si(e,t,r,n){let o=r.find((s)=>e.exists(To(t,s)));return To(t,o??n)}function $r(e){return e.env.XDG_CONFIG_HOME||To(e.home,".config")}function Ze(e){return To(e.home,".agents","skills")}async function Vr(e,t){let r=lt(t.display,t.addArgs);if(t.current===t.url)return{target:r,outcome:"unchanged"};if(t.current!==null&&t.removeArgs)await Pt(e,t.binary,t.removeArgs);return await Pt(e,t.binary,t.addArgs),{target:r,outcome:t.current===null?"added":"updated"}}function KF(e){return Si(e,BF(e.home,".config","amp"),["settings.json","settings.jsonc"],"settings.json")}function t$(e){return fe(KF(e),"amp.mcpServers",q)}function r$(e){return{id:"amp",name:"Amp",signInHint:"the browser sign-in Amp opens when it starts",detect:()=>e.which("amp")!==null,hasServer:async()=>t$(e)!==null,addServer:(t)=>Vr(e,{binary:e.which("amp")??"amp",display:"amp",addArgs:["mcp","add",q,t],removeArgs:["mcp","remove",q],current:t$(e),url:t}),skillsDirs:()=>[Ze(e)],login:()=>null}}import{join as km}from"node:path";function Sm(e){return km(e.home,".gemini","config","mcp_config.json")}function n$(e){return Ge(e,rr(e,["Antigravity"]))}function o$(e){return{id:"antigravity",name:"Google Antigravity",signInHint:"/mcp inside agy, or Settings > Customizations in Antigravity",detect:()=>e.which("agy")!==null||n$(e),hasServer:async()=>fe(Sm(e),"mcpServers",q,["serverUrl","url"])!==null,addServer:async(t)=>({target:Sm(e),outcome:Ve(Sm(e),"mcpServers",q,{serverUrl:t})}),skillsDirs:()=>{let t=[];if(e.which("agy")!==null)t.push(km(e.home,".gemini","antigravity-cli","skills"));if(n$(e))t.push(km(e.home,".gemini","config","skills"));return t},login:()=>null}}import{join as tu}from"node:path";function HF(e){return e.env.CLAUDE_CONFIG_DIR||tu(e.home,".claude")}function s$(e){return e.env.CLAUDE_CONFIG_DIR?tu(e.env.CLAUDE_CONFIG_DIR,".claude.json"):tu(e.home,".claude.json")}function GF(e){let t=/^\s*Status:\s*(.*)$/m.exec(e)?.[1]??"";if(/\bConnected\b/.test(t))return"signed-in";if(/needs authentication/i.test(t))return"signed-out";return"unknown"}function i$(e){let t=()=>e.which("claude")??"claude",r=(n)=>["mcp","add","--transport","http",q,n,"--scope","user"];return{id:"claude",name:"Claude Code",signInHint:"claude mcp login tripwire, or /mcp inside Claude Code",detect:()=>e.which("claude")!==null,hasServer:async()=>fe(s$(e),"mcpServers",q)!==null,addServer:async(n)=>{let o=lt("claude",r(n)),s=fe(s$(e),"mcpServers",q);if(s===n)return{target:o,outcome:"unchanged"};if(s!==null)await Pt(e,t(),["mcp","remove",q,"--scope","user"]);return await Pt(e,t(),r(n)),{target:o,outcome:s===null?"added":"updated"}},skillsDirs:()=>[tu(HF(e),"skills")],login:()=>({command:t(),args:["mcp","login",q],status:()=>Oo(e,t(),["mcp","get",q],GF)})}}import{join as xm}from"node:path";function JF(e){return e.env.CLINE_DIR||xm(e.home,".cline")}function ru(e){return e.env.CLINE_MCP_SETTINGS_PATH||xm(JF(e),"data","settings","cline_mcp_settings.json")}function a$(e){let t=()=>fe(ru(e),"mcpServers",q);return{id:"cline",name:"Cline",signInHint:"Authorize OAuth in cline mcp, or the MCP Servers panel in Cline",detect:()=>e.which("cline")!==null||eu(e,"saoudrizwan.claude-dev"),hasServer:async()=>t()!==null,addServer:async(r)=>{let n=t();if(n===r)return{target:ru(e),outcome:"unchanged"};let o=e.which("cline");if(o&&n===null){let s=["mcp","add",q,r,"--transport","http","--yes"];return await Pt(e,o,s),{target:lt("cline",s),outcome:"added"}}return{target:ru(e),outcome:Ve(ru(e),"mcpServers",q,{type:"streamableHttp",url:r,disabled:!1})}},skillsDirs:()=>[xm(e.home,".cline","skills")],login:()=>null}}import{readFileSync as YF}from"node:fs";import{join as $m}from"node:path";function XF(e){return e.env.CODEX_HOME||$m(e.home,".codex")}function QF(e,t){let r=e.split(/\r?\n/),n=new RegExp(`^\\s*\\[\\s*mcp_servers\\.(?:"${t}"|${t})\\s*\\]\\s*$`),o=r.findIndex((s)=>n.test(s));if(o===-1)return null;for(let s of r.slice(o+1)){if(/^\s*\[/.test(s))break;let i=s.match(/^\s*url\s*=\s*"([^"]*)"/);if(i?.[1]!==void 0)return i[1]}return""}var eU=x(b({name:p(),auth_status:p().nullish()}));function tU(e){try{let t=eU.safeParse(JSON.parse(e)),r=t.success?t.data.find((n)=>n.name===q)?.auth_status:void 0;if(r==="o_auth"||r==="bearer_token")return"signed-in";return r==="not_logged_in"?"signed-out":"unknown"}catch{return"unknown"}}function c$(e){try{return QF(YF($m(XF(e),"config.toml"),"utf8"),q)}catch{return null}}function u$(e){let t=()=>e.which("codex")??"codex",r=(n)=>["mcp","add",q,"--url",n];return{id:"codex",name:"Codex",signInHint:"codex mcp login tripwire",detect:()=>e.which("codex")!==null,hasServer:async()=>c$(e)!==null,addServer:async(n)=>{let o=lt("codex",r(n)),s=c$(e);if(s===n)return{target:o,outcome:"unchanged"};if(s!==null)await Pt(e,t(),["mcp","remove",q]);return await Pt(e,t(),r(n)),{target:o,outcome:s===null?"added":"updated"}},skillsDirs:()=>[$m(e.home,".agents","skills")],login:()=>({command:t(),args:["mcp","login",q],status:()=>Oo(e,t(),["mcp","list","--json"],tU)})}}import{join as l$}from"node:path";function rU(e){return l$(e.env.COPILOT_HOME||l$(e.home,".copilot"),"mcp-config.json")}function d$(e){return fe(rU(e),"mcpServers",q)}function p$(e){return{id:"copilot",name:"GitHub Copilot CLI",signInHint:"/mcp auth tripwire inside Copilot CLI",detect:()=>e.which("copilot")!==null,hasServer:async()=>d$(e)!==null,addServer:(t)=>Vr(e,{binary:e.which("copilot")??"copilot",display:"copilot",addArgs:["mcp","add","--transport","http",q,t],removeArgs:["mcp","remove",q],current:d$(e),url:t}),skillsDirs:()=>[Ze(e)],login:()=>null}}import{join as nu}from"node:path";function nU(e){if(e.platform==="darwin")return e.macAppDirs.map((t)=>nu(t,"Cursor.app"));if(e.platform==="win32")return[nu(e.home,"AppData","Local","Programs","cursor","Cursor.exe")];return[]}function Em(e){return nu(e.home,".cursor","mcp.json")}function f$(e){return{id:"cursor",name:"Cursor",signInHint:"the MCP settings in Cursor",detect:()=>e.which("cursor")!==null||Ge(e,nU(e)),hasServer:async()=>fe(Em(e),"mcpServers",q)!==null,addServer:async(t)=>({target:Em(e),outcome:Ve(Em(e),"mcpServers",q,{url:t})}),skillsDirs:()=>[nu(e.home,".agents","skills")],login:()=>null}}import{join as It}from"node:path";var m$="mcp_config.json";function oU(e){if(e.platform==="win32")return It(e.env.APPDATA||It(e.home,"AppData","Roaming"),"devin");return It(e.env.XDG_CONFIG_HOME||It(e.home,".config"),"devin")}function y$(e){return It(e.home,".codeium","windsurf")}function b$(e,t){if(e.platform==="darwin")return e.macAppDirs.map((r)=>It(r,`${t}.app`));if(e.platform==="win32")return[It(e.env.LOCALAPPDATA||It(e.home,"AppData","Local"),"Programs",t,`${t}.exe`)];return[]}function Tm(e){return e.which("devin")!==null||Ge(e,b$(e,"Devin"))}function ki(e){return e.which("windsurf")!==null||Ge(e,b$(e,"Windsurf"))}function h$(e){let t=[];if(Tm(e)||!ki(e))t.push(It(oU(e),m$));if(ki(e))t.push(It(y$(e),m$));return t}var g$={unchanged:0,updated:1,added:2};function w$(e){return{id:"devin",name:"Devin Desktop (Windsurf)",signInHint:"the MCP settings in Devin Desktop",detect:()=>Tm(e)||ki(e),hasServer:async()=>h$(e).some((t)=>fe(t,"mcpServers",q)!==null),addServer:async(t)=>{let r=h$(e),o=r.map((s)=>Ve(s,"mcpServers",q,{serverUrl:t})).reduce((s,i)=>g$[i]>g$[s]?i:s,"unchanged");return{target:r.join(", "),outcome:o}},skillsDirs:()=>{let t=[];if(Tm(e)||!ki(e))t.push(It(e.home,".agents","skills"));if(ki(e))t.push(It(y$(e),"skills"));return t},login:()=>null}}import{join as sU}from"node:path";function _$(e){return fe(sU(e.home,".factory","mcp.json"),"mcpServers",q)}function v$(e){return{id:"droid",name:"Factory Droid",signInHint:"/mcp inside Droid",detect:()=>e.which("droid")!==null,hasServer:async()=>_$(e)!==null,addServer:(t)=>Vr(e,{binary:e.which("droid")??"droid",display:"droid",addArgs:["mcp","add",q,t,"--type","http"],removeArgs:["mcp","remove",q],current:_$(e),url:t}),skillsDirs:()=>[Ze(e)],login:()=>null}}import{join as iU}from"node:path";function aU(e){return iU(e.env.GEMINI_CLI_HOME||e.home,".gemini","settings.json")}function S$(e){return fe(aU(e),"mcpServers",q,["httpUrl","url"])}function k$(e){return{id:"gemini",name:"Gemini CLI",signInHint:"/mcp auth tripwire inside Gemini CLI",detect:()=>e.which("gemini")!==null,hasServer:async()=>S$(e)!==null,addServer:(t)=>Vr(e,{binary:e.which("gemini")??"gemini",display:"gemini",addArgs:["mcp","add","--transport","http","--scope","user",q,t],removeArgs:["mcp","remove","--scope","user",q],current:S$(e),url:t}),skillsDirs:()=>[Ze(e)],login:()=>null}}import{join as Gu}from"node:path";var wH=Eh(),_H=qi(),vH=lh(),jh=Fi(),SH=Ei(),Qr=ce(),kH=Hr(),xH=ze(),$H=Jr(),EH=Yr(),Jfe=Uu(),TH=Nh(),OH=Lh(),PH=Dh(),Bu=AT(),RT=xi();var IH=wH.Composer,AH=_H.Document,RH=vH.Schema,{YAMLError:CH,YAMLParseError:zH,YAMLWarning:NH}=jh,LH=SH.Alias,{isAlias:DH,isCollection:jH,isDocument:MH,isMap:Ku,isNode:qH,isPair:FH,isScalar:UH,isSeq:WH}=Qr,VH=kH.Pair,ZH=xH.Scalar,BH=$H.YAMLMap,KH=EH.YAMLSeq;var HH=TH.Lexer,GH=OH.LineCounter,JH=PH.Parser,{parse:YH,parseAllDocuments:XH,parseDocument:Hu,stringify:QH}=Bu,{visit:eG,visitAsync:tG}=RT;var rG=J(p(),Sr());function Mh(e,t,r){if(e===null)return null;let n=Hu(e);if(n.errors.length>0)return null;let o=J(p(),re()).nullable().safeParse(n.toJS()),s=J(p(),re()).safeParse(o.success?o.data?.[t]:void 0);if(!(s.success&&(r in s.data)))return null;let i=rG.safeParse(s.data[r]);return i.success?i.data:{}}function nG(e,t,r,n,o){let s=Hu(e??"");if(s.errors.length>0||!(s.contents===null||Ku(s.contents)))throw Error(`${t} is not a YAML mapping. Left it unchanged.`);let i=s.get(r);if(i!==void 0&&i!==null&&!Ku(i))throw Error(`${t} has a "${r}" value that is not a mapping. Left it unchanged.`);let a=Mh(e,r,n),c={...a??{},...o};if(a&&JSON.stringify(a)===JSON.stringify(c))return{outcome:"unchanged",text:e??""};if(i===void 0||i===null)s.set(r,s.createNode({[n]:c}));else s.setIn([r,n],s.createNode(c));return{outcome:a?"updated":"added",text:s.toString()}}function CT(e,t,r,n){let o=nG(vi(e),e,t,r,n);if(o.outcome!=="unchanged")_m(e,o.text);return o.outcome}var zT="extensions";function qh(e){let t=e.env.GOOSE_PATH_ROOT;if(t)return Gu(t,"config","config.yaml");if(e.platform==="win32")return Gu(e.env.APPDATA||Gu(e.home,"AppData","Roaming"),"Block","goose","config","config.yaml");return Gu($r(e),"goose","config.yaml")}function NT(e){return{id:"goose",name:"Goose",signInHint:"the browser sign-in Goose opens on first use",detect:()=>e.which("goose")!==null||Ge(e,rr(e,["Goose"])),hasServer:async()=>Mh(vi(qh(e)),zT,q)!==null,addServer:async(t)=>({target:qh(e),outcome:CT(qh(e),zT,q,{type:"streamable_http",name:q,enabled:!0,uri:t,headers:{},env_keys:[],envs:{},timeout:300})}),skillsDirs:()=>[Ze(e)],login:()=>null}}function LT(e){let t=()=>e.which("grok")??"grok",r=(o)=>["mcp","add","--transport","http",q,o],n=async()=>{let o=await e.run(t(),["mcp","list"]);return o.ok&&new RegExp(`\\b${q}\\b`).test(o.stdout)};return{id:"grok",name:"Grok",signInHint:"/mcps inside Grok",detect:()=>e.which("grok")!==null,hasServer:n,addServer:async(o)=>{let s=lt("grok",r(o));if(await n())return{target:s,outcome:"unchanged"};let i=await e.run(t(),r(o));if(i.ok)return{target:s,outcome:"added"};if(/already exists/i.test(`${i.stderr} ${i.stdout}`))return{target:s,outcome:"unchanged"};throw Error(i.stderr||i.stdout||`${s} failed`)},skillsDirs:()=>[Ze(e)],login:()=>null}}import{join as DT}from"node:path";function Fh(e){return DT(e.home,".kiro","settings","mcp.json")}function jT(e){return{id:"kiro",name:"Kiro",signInHint:"the browser sign-in Kiro opens on first use, or /mcp auth",detect:()=>Qc(e,["kiro-cli","kiro"])!==null||Ge(e,rr(e,["Kiro"])),hasServer:async()=>fe(Fh(e),"mcpServers",q)!==null,addServer:async(t)=>({target:Fh(e),outcome:Ve(Fh(e),"mcpServers",q,{url:t})}),skillsDirs:()=>[DT(e.home,".kiro","skills")],login:()=>null}}import{join as oG}from"node:path";function Uh(e){return oG($r(e),"muse","settings.json")}function MT(e){return{id:"muse",name:"Muse Code",signInHint:"muse mcp login tripwire",detect:()=>e.which("muse")!==null,hasServer:async()=>fe(Uh(e),"mcp_servers",q)!==null,addServer:async(t)=>({target:Uh(e),outcome:Ve(Uh(e),"mcp_servers",q,{transport:"streamable_http",url:t,enabled:!0,mode:"optional"},{defaults:{schema_version:1}})}),skillsDirs:()=>[Ze(e)],login:()=>({command:e.which("muse")??"muse",args:["mcp","login",q],status:async()=>"unknown"})}}import{join as qT}from"node:path";var sG=new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`,"g");function iG(e){let t=e.replace(sG,"").split(/\r?\n/).find((r)=>new RegExp(`(^|\\s)${q}\\s`).test(r));if(t===void 0)return"unknown";if(/✓/.test(t)&&/\bconnected\b/.test(t))return"signed-in";return/needs authentication/.test(t)?"signed-out":"unknown"}function FT(e,t){let r=()=>Qc(e,t.binaries),n=()=>fe(t.configPath(e),"mcp",q);return{id:t.id,name:t.name,signInHint:`${t.binaries[0]} mcp auth tripwire`,detect:()=>r()!==null||Ge(e,rr(e,t.apps))||t.extensionId!==null&&eu(e,t.extensionId),hasServer:async()=>n()!==null,addServer:async(o)=>{let s=t.configPath(e);return{target:s,outcome:Ve(s,"mcp",q,{type:"remote",url:o,enabled:!0})}},skillsDirs:()=>[Ze(e)],login:()=>{let o=r();return o?{command:o,args:["mcp","auth",q],status:()=>Oo(e,o,["mcp","list"],iG)}:null}}}function UT(e){return FT(e,{id:"opencode",name:"OpenCode",binaries:["opencode"],apps:["OpenCode"],extensionId:null,configPath:(t)=>Si(t,qT($r(t),"opencode"),["opencode.json","opencode.jsonc"],"opencode.json")})}function WT(e){return FT(e,{id:"kilo",name:"Kilo Code",binaries:["kilo","kilocode"],apps:[],extensionId:"kilocode.kilo-code",configPath:(t)=>Si(t,t.env.KILO_CONFIG_DIR||qT($r(t),"kilo"),["kilo.jsonc","kilo.json","opencode.jsonc","opencode.json"],"kilo.json")})}import{join as Ct}from"node:path";var aG="Visual Studio Code.app";function BT(e){return Ct(e.env.LOCALAPPDATA||Ct(e.home,"AppData","Local"),"Programs","Microsoft VS Code")}function KT(e){if(e.platform==="darwin")return e.macAppDirs.map((t)=>Ct(t,aG));if(e.platform==="win32")return[Ct(BT(e),"Code.exe")];return[]}function cG(e){if(e.platform==="darwin")return KT(e).map((t)=>Ct(t,"Contents","Resources","app","bin","code"));if(e.platform==="win32")return[Ct(BT(e),"bin","code.cmd")];return[]}function VT(e){let t=e.which("code");if(t)return t;return cG(e).find((r)=>e.exists(r))??null}function ZT(e){if(e.platform==="darwin")return Ct(e.home,"Library","Application Support","Code","User","mcp.json");if(e.platform==="win32")return Ct(e.env.APPDATA||Ct(e.home,"AppData","Roaming"),"Code","User","mcp.json");return Ct(e.env.XDG_CONFIG_HOME||Ct(e.home,".config"),"Code","User","mcp.json")}function HT(e){return{id:"vscode",name:"VS Code",signInHint:"the MCP server list in VS Code",detect:()=>VT(e)!==null||Ge(e,KT(e)),hasServer:async()=>fe(ZT(e),"servers",q)!==null,addServer:async(t)=>{let r=ZT(e),n=fe(r,"servers",q),s=["--add-mcp",JSON.stringify({name:q,type:"http",url:t})],i=VT(e);if(!i)return{target:r,outcome:Ve(r,"servers",q,{type:"http",url:t})};let a=lt("code",s);if(n===t)return{target:a,outcome:"unchanged"};return await Pt(e,i,s),{target:a,outcome:n===null?"added":"updated"}},skillsDirs:()=>[Ct(e.home,".agents","skills")],login:()=>null}}import{join as Ju}from"node:path";function Wh(e){if(e.platform==="win32")return Ju(e.env.APPDATA||Ju(e.home,"AppData","Roaming"),"Zed","settings.json");if(e.platform==="darwin")return Ju(e.home,".config","zed","settings.json");return Ju($r(e),"zed","settings.json")}function GT(e){return{id:"zed",name:"Zed",signInHint:"the sign-in prompt in the Zed Agent Panel",detect:()=>e.which("zed")!==null||Ge(e,rr(e,["Zed","Zed Preview"])),hasServer:async()=>fe(Wh(e),"context_servers",q)!==null,addServer:async(t)=>({target:Wh(e),outcome:Ve(Wh(e),"context_servers",q,{url:t})}),skillsDirs:()=>[Ze(e)],login:()=>null}}function JT(e){return[i$(e),u$(e),f$(e),HT(e),w$(e),LT(e),UT(e),k$(e),o$(e),p$(e),r$(e),v$(e),a$(e),WT(e),jT(e),GT(e),NT(e),MT(e)]}var uG=[["claude","claude"],["codex","codex"],["cursor","cursor"],["copilot-cli","copilot"],["github-copilot-cli","copilot"],["copilot","vscode"],["vscode","vscode"],["devin","devin"],["windsurf","devin"],["cascade","devin"],["grok","grok"],["opencode","opencode"],["gemini","gemini"],["antigravity","antigravity"],["agy","antigravity"],["amp","amp"],["droid","droid"],["factory","droid"],["cline","cline"],["kilo","kilo"],["kiro","kiro"],["zed","zed"],["goose","goose"],["muse","muse"]];function YT(e){let t=e.AI_AGENT?.toLowerCase();if(t){let r=uG.find(([n])=>t.startsWith(n));if(r)return r[1]}if(e.CLAUDECODE==="1")return"claude";if(e.CODEX_SANDBOX||e.CODEX_THREAD_ID)return"codex";if(e.GEMINI_CLI==="1")return"gemini";if(e.CURSOR_AGENT)return"cursor";return t?"unknown":null}import{spawn as lG}from"node:child_process";function dG(e){if(e==="darwin")return[["pbcopy"]];if(e==="win32")return[["clip"]];return[["wl-copy"],["xclip","-selection","clipboard"],["xsel","--clipboard","--input"]]}function pG(e,t,r,n){return new Promise((o)=>{let s=lG(e,t,{env:n,stdio:["pipe","ignore","ignore"]});s.on("error",()=>o(!1)),s.on("exit",(i)=>o(i===0)),s.stdin.on("error",()=>{return}),s.stdin.end(r)})}async function XT(e,t){for(let[r,...n]of dG(e.platform)){let o=r?e.which(r):null;if(o&&await pG(o,n,t,e.env))return!0}return!1}var fG=`Use the \`${Fs}\` skill for this project.`;function QT(e){let t=e?.trim();if(!t)return fG;let r=dx(t);if(r)return px(r);return`Tripwire was just installed. ${t}`}import{mkdirSync as gG,readFileSync as yG,renameSync as bG,writeFileSync as wG}from"node:fs";import{join as rO}from"node:path";var eO=`---
|
|
343
|
+
`}}function Ti(e){try{return FU(e,"utf8")}catch{return null}}function jm(e,t){qU(VU(e),{recursive:!0});let r=`${e}.tripwire-${process.pid}.tmp`;WU(r,t),UU(r,e)}function Ze(e,t,r,n,o={}){let s=KU(Ti(e),e,t,r,n,o);if(s.outcome!=="unchanged")jm(e,s.text);return s.outcome}var Dm=K(p(),ne());function fe(e,t,r,n=["url"]){try{let o=Dm.parse(Lm(HU(e,"utf8"))),s=Dm.safeParse(o[t]);if(!s.success||!(r in s.data))return null;let i=Dm.safeParse(s.data[r]);if(!i.success)return"";for(let a of n){let c=i.data[a];if(typeof c==="string")return c}return""}catch{return null}}function lt(e,t){let r=t.map((n)=>/^[\w@%+=:,./-]+$/.test(n)?n:`'${n.replaceAll("'","'\\''")}'`);return[e,...r].join(" ")}async function At(e,t,r){let n=await e.run(t,r);if(!n.ok)throw Error(n.stderr||n.stdout||`${lt(t,r)} failed`)}async function No(e,t,r,n){let o=await e.run(t,r);return n(o.stdout)}function Je(e,t){return t.some((r)=>e.exists(r))}function cr(e,t){if(e.platform!=="darwin")return[];return e.macAppDirs.flatMap((r)=>t.map((n)=>zo(r,`${n}.app`)))}function au(e,t){for(let r of t){let n=e.which(r);if(n)return n}return null}var GU=[".vscode",".vscode-insiders",".cursor",".windsurf"];function cu(e,t){let r=`${t.toLowerCase()}-`;return GU.some((n)=>e.list(zo(e.home,n,"extensions")).some((o)=>o.toLowerCase().startsWith(r)))}function Pi(e,t,r,n){let o=r.find((s)=>e.exists(zo(t,s)));return zo(t,o??n)}function Pr(e){return e.env.XDG_CONFIG_HOME||zo(e.home,".config")}function Be(e){return zo(e.home,".agents","skills")}async function Gr(e,t){let r=lt(t.display,t.addArgs);if(t.current===t.url)return{target:r,outcome:"unchanged"};if(t.current!==null&&t.removeArgs)await At(e,t.binary,t.removeArgs);return await At(e,t.binary,t.addArgs),{target:r,outcome:t.current===null?"added":"updated"}}function YU(e){return Pi(e,JU(e.home,".config","amp"),["settings.json","settings.jsonc"],"settings.json")}function A$(e){return fe(YU(e),"amp.mcpServers",q)}function C$(e){return{id:"amp",name:"Amp",signInHint:"the browser sign-in Amp opens when it starts",detect:()=>e.which("amp")!==null,hasServer:async()=>A$(e)!==null,addServer:(t)=>Gr(e,{binary:e.which("amp")??"amp",display:"amp",addArgs:["mcp","add",q,t],removeArgs:["mcp","remove",q],current:A$(e),url:t}),skillsDirs:()=>[Be(e)],login:()=>null}}import{join as qm}from"node:path";function Mm(e){return qm(e.home,".gemini","config","mcp_config.json")}function z$(e){return Je(e,cr(e,["Antigravity"]))}function N$(e){return{id:"antigravity",name:"Google Antigravity",signInHint:"/mcp inside agy, or Settings > Customizations in Antigravity",detect:()=>e.which("agy")!==null||z$(e),hasServer:async()=>fe(Mm(e),"mcpServers",q,["serverUrl","url"])!==null,addServer:async(t)=>({target:Mm(e),outcome:Ze(Mm(e),"mcpServers",q,{serverUrl:t})}),skillsDirs:()=>{let t=[];if(e.which("agy")!==null)t.push(qm(e.home,".gemini","antigravity-cli","skills"));if(z$(e))t.push(qm(e.home,".gemini","config","skills"));return t},login:()=>null}}import{join as uu}from"node:path";function XU(e){return e.env.CLAUDE_CONFIG_DIR||uu(e.home,".claude")}function L$(e){return e.env.CLAUDE_CONFIG_DIR?uu(e.env.CLAUDE_CONFIG_DIR,".claude.json"):uu(e.home,".claude.json")}function QU(e){let t=/^\s*Status:\s*(.*)$/m.exec(e)?.[1]??"";if(/\bConnected\b/.test(t))return"signed-in";if(/needs authentication/i.test(t))return"signed-out";return"unknown"}function j$(e){let t=()=>e.which("claude")??"claude",r=(n)=>["mcp","add","--transport","http",q,n,"--scope","user"];return{id:"claude",name:"Claude Code",signInHint:"claude mcp login tripwire, or /mcp inside Claude Code",detect:()=>e.which("claude")!==null,hasServer:async()=>fe(L$(e),"mcpServers",q)!==null,addServer:async(n)=>{let o=lt("claude",r(n)),s=fe(L$(e),"mcpServers",q);if(s===n)return{target:o,outcome:"unchanged"};if(s!==null)await At(e,t(),["mcp","remove",q,"--scope","user"]);return await At(e,t(),r(n)),{target:o,outcome:s===null?"added":"updated"}},skillsDirs:()=>[uu(XU(e),"skills")],login:()=>({command:t(),args:["mcp","login",q],status:()=>No(e,t(),["mcp","get",q],QU)})}}import{join as Fm}from"node:path";function eW(e){return e.env.CLINE_DIR||Fm(e.home,".cline")}function lu(e){return e.env.CLINE_MCP_SETTINGS_PATH||Fm(eW(e),"data","settings","cline_mcp_settings.json")}function D$(e){let t=()=>fe(lu(e),"mcpServers",q);return{id:"cline",name:"Cline",signInHint:"Authorize OAuth in cline mcp, or the MCP Servers panel in Cline",detect:()=>e.which("cline")!==null||cu(e,"saoudrizwan.claude-dev"),hasServer:async()=>t()!==null,addServer:async(r)=>{let n=t();if(n===r)return{target:lu(e),outcome:"unchanged"};let o=e.which("cline");if(o&&n===null){let s=["mcp","add",q,r,"--transport","http","--yes"];return await At(e,o,s),{target:lt("cline",s),outcome:"added"}}return{target:lu(e),outcome:Ze(lu(e),"mcpServers",q,{type:"streamableHttp",url:r,disabled:!1})}},skillsDirs:()=>[Fm(e.home,".cline","skills")],login:()=>null}}import{readFileSync as tW}from"node:fs";import{join as Um}from"node:path";function rW(e){return e.env.CODEX_HOME||Um(e.home,".codex")}function nW(e,t){let r=e.split(/\r?\n/),n=new RegExp(`^\\s*\\[\\s*mcp_servers\\.(?:"${t}"|${t})\\s*\\]\\s*$`),o=r.findIndex((s)=>n.test(s));if(o===-1)return null;for(let s of r.slice(o+1)){if(/^\s*\[/.test(s))break;let i=s.match(/^\s*url\s*=\s*"([^"]*)"/);if(i?.[1]!==void 0)return i[1]}return""}var oW=k(w({name:p(),auth_status:p().nullish()}));function sW(e){try{let t=oW.safeParse(JSON.parse(e)),r=t.success?t.data.find((n)=>n.name===q)?.auth_status:void 0;if(r==="o_auth"||r==="bearer_token")return"signed-in";return r==="not_logged_in"?"signed-out":"unknown"}catch{return"unknown"}}function M$(e){try{return nW(tW(Um(rW(e),"config.toml"),"utf8"),q)}catch{return null}}function q$(e){let t=()=>e.which("codex")??"codex",r=(n)=>["mcp","add",q,"--url",n];return{id:"codex",name:"Codex",signInHint:"codex mcp login tripwire",detect:()=>e.which("codex")!==null,hasServer:async()=>M$(e)!==null,addServer:async(n)=>{let o=lt("codex",r(n)),s=M$(e);if(s===n)return{target:o,outcome:"unchanged"};if(s!==null)await At(e,t(),["mcp","remove",q]);return await At(e,t(),r(n)),{target:o,outcome:s===null?"added":"updated"}},skillsDirs:()=>[Um(e.home,".agents","skills")],login:()=>({command:t(),args:["mcp","login",q],status:()=>No(e,t(),["mcp","list","--json"],sW)})}}import{join as F$}from"node:path";function iW(e){return F$(e.env.COPILOT_HOME||F$(e.home,".copilot"),"mcp-config.json")}function U$(e){return fe(iW(e),"mcpServers",q)}function W$(e){return{id:"copilot",name:"GitHub Copilot CLI",signInHint:"/mcp auth tripwire inside Copilot CLI",detect:()=>e.which("copilot")!==null,hasServer:async()=>U$(e)!==null,addServer:(t)=>Gr(e,{binary:e.which("copilot")??"copilot",display:"copilot",addArgs:["mcp","add","--transport","http",q,t],removeArgs:["mcp","remove",q],current:U$(e),url:t}),skillsDirs:()=>[Be(e)],login:()=>null}}import{join as du}from"node:path";function aW(e){if(e.platform==="darwin")return e.macAppDirs.map((t)=>du(t,"Cursor.app"));if(e.platform==="win32")return[du(e.home,"AppData","Local","Programs","cursor","Cursor.exe")];return[]}function Wm(e){return du(e.home,".cursor","mcp.json")}function V$(e){return{id:"cursor",name:"Cursor",signInHint:"the MCP settings in Cursor",detect:()=>e.which("cursor")!==null||Je(e,aW(e)),hasServer:async()=>fe(Wm(e),"mcpServers",q)!==null,addServer:async(t)=>({target:Wm(e),outcome:Ze(Wm(e),"mcpServers",q,{url:t})}),skillsDirs:()=>[du(e.home,".agents","skills")],login:()=>null}}import{join as Ct}from"node:path";var Z$="mcp_config.json";function cW(e){if(e.platform==="win32")return Ct(e.env.APPDATA||Ct(e.home,"AppData","Roaming"),"devin");return Ct(e.env.XDG_CONFIG_HOME||Ct(e.home,".config"),"devin")}function H$(e){return Ct(e.home,".codeium","windsurf")}function G$(e,t){if(e.platform==="darwin")return e.macAppDirs.map((r)=>Ct(r,`${t}.app`));if(e.platform==="win32")return[Ct(e.env.LOCALAPPDATA||Ct(e.home,"AppData","Local"),"Programs",t,`${t}.exe`)];return[]}function Vm(e){return e.which("devin")!==null||Je(e,G$(e,"Devin"))}function Oi(e){return e.which("windsurf")!==null||Je(e,G$(e,"Windsurf"))}function B$(e){let t=[];if(Vm(e)||!Oi(e))t.push(Ct(cW(e),Z$));if(Oi(e))t.push(Ct(H$(e),Z$));return t}var K$={unchanged:0,updated:1,added:2};function J$(e){return{id:"devin",name:"Devin Desktop (Windsurf)",signInHint:"the MCP settings in Devin Desktop",detect:()=>Vm(e)||Oi(e),hasServer:async()=>B$(e).some((t)=>fe(t,"mcpServers",q)!==null),addServer:async(t)=>{let r=B$(e),o=r.map((s)=>Ze(s,"mcpServers",q,{serverUrl:t})).reduce((s,i)=>K$[i]>K$[s]?i:s,"unchanged");return{target:r.join(", "),outcome:o}},skillsDirs:()=>{let t=[];if(Vm(e)||!Oi(e))t.push(Ct(e.home,".agents","skills"));if(Oi(e))t.push(Ct(H$(e),"skills"));return t},login:()=>null}}import{join as uW}from"node:path";function Y$(e){return fe(uW(e.home,".factory","mcp.json"),"mcpServers",q)}function X$(e){return{id:"droid",name:"Factory Droid",signInHint:"/mcp inside Droid",detect:()=>e.which("droid")!==null,hasServer:async()=>Y$(e)!==null,addServer:(t)=>Gr(e,{binary:e.which("droid")??"droid",display:"droid",addArgs:["mcp","add",q,t,"--type","http"],removeArgs:["mcp","remove",q],current:Y$(e),url:t}),skillsDirs:()=>[Be(e)],login:()=>null}}import{join as lW}from"node:path";function dW(e){return lW(e.env.GEMINI_CLI_HOME||e.home,".gemini","settings.json")}function Q$(e){return fe(dW(e),"mcpServers",q,["httpUrl","url"])}function eE(e){return{id:"gemini",name:"Gemini CLI",signInHint:"/mcp auth tripwire inside Gemini CLI",detect:()=>e.which("gemini")!==null,hasServer:async()=>Q$(e)!==null,addServer:(t)=>Gr(e,{binary:e.which("gemini")??"gemini",display:"gemini",addArgs:["mcp","add","--transport","http","--scope","user",q,t],removeArgs:["mcp","remove","--scope","user",q],current:Q$(e),url:t}),skillsDirs:()=>[Be(e)],login:()=>null}}import{join as nl}from"node:path";var kG=Wh(),xG=Bi(),$G=Th(),tg=Ki(),EG=Ai(),on=ce(),TG=Qr(),PG=Le(),OG=tn(),IG=rn(),Ahe=Ju(),RG=Xh(),AG=Qh(),CG=eg(),el=cP(),uP=Ii();var zG=kG.Composer,NG=xG.Document,LG=$G.Schema,{YAMLError:jG,YAMLParseError:DG,YAMLWarning:MG}=tg,qG=EG.Alias,{isAlias:FG,isCollection:UG,isDocument:WG,isMap:tl,isNode:VG,isPair:ZG,isScalar:BG,isSeq:KG}=on,HG=TG.Pair,GG=PG.Scalar,JG=OG.YAMLMap,YG=IG.YAMLSeq;var XG=RG.Lexer,QG=AG.LineCounter,e3=CG.Parser,{parse:t3,parseAllDocuments:r3,parseDocument:rl,stringify:n3}=el,{visit:o3,visitAsync:s3}=uP;var i3=K(p(),Ot());function rg(e,t,r){if(e===null)return null;let n=rl(e);if(n.errors.length>0)return null;let o=K(p(),ne()).nullable().safeParse(n.toJS()),s=K(p(),ne()).safeParse(o.success?o.data?.[t]:void 0);if(!(s.success&&(r in s.data)))return null;let i=i3.safeParse(s.data[r]);return i.success?i.data:{}}function a3(e,t,r,n,o){let s=rl(e??"");if(s.errors.length>0||!(s.contents===null||tl(s.contents)))throw Error(`${t} is not a YAML mapping. Left it unchanged.`);let i=s.get(r);if(i!==void 0&&i!==null&&!tl(i))throw Error(`${t} has a "${r}" value that is not a mapping. Left it unchanged.`);let a=rg(e,r,n),c={...a??{},...o};if(a&&JSON.stringify(a)===JSON.stringify(c))return{outcome:"unchanged",text:e??""};if(i===void 0||i===null)s.set(r,s.createNode({[n]:c}));else s.setIn([r,n],s.createNode(c));return{outcome:a?"updated":"added",text:s.toString()}}function lP(e,t,r,n){let o=a3(Ti(e),e,t,r,n);if(o.outcome!=="unchanged")jm(e,o.text);return o.outcome}var dP="extensions";function ng(e){let t=e.env.GOOSE_PATH_ROOT;if(t)return nl(t,"config","config.yaml");if(e.platform==="win32")return nl(e.env.APPDATA||nl(e.home,"AppData","Roaming"),"Block","goose","config","config.yaml");return nl(Pr(e),"goose","config.yaml")}function pP(e){return{id:"goose",name:"Goose",signInHint:"the browser sign-in Goose opens on first use",detect:()=>e.which("goose")!==null||Je(e,cr(e,["Goose"])),hasServer:async()=>rg(Ti(ng(e)),dP,q)!==null,addServer:async(t)=>({target:ng(e),outcome:lP(ng(e),dP,q,{type:"streamable_http",name:q,enabled:!0,uri:t,headers:{},env_keys:[],envs:{},timeout:300})}),skillsDirs:()=>[Be(e)],login:()=>null}}function fP(e){let t=()=>e.which("grok")??"grok",r=(o)=>["mcp","add","--transport","http",q,o],n=async()=>{let o=await e.run(t(),["mcp","list"]);return o.ok&&new RegExp(`\\b${q}\\b`).test(o.stdout)};return{id:"grok",name:"Grok",signInHint:"/mcps inside Grok",detect:()=>e.which("grok")!==null,hasServer:n,addServer:async(o)=>{let s=lt("grok",r(o));if(await n())return{target:s,outcome:"unchanged"};let i=await e.run(t(),r(o));if(i.ok)return{target:s,outcome:"added"};if(/already exists/i.test(`${i.stderr} ${i.stdout}`))return{target:s,outcome:"unchanged"};throw Error(i.stderr||i.stdout||`${s} failed`)},skillsDirs:()=>[Be(e)],login:()=>null}}import{join as mP}from"node:path";function og(e){return mP(e.home,".kiro","settings","mcp.json")}function hP(e){return{id:"kiro",name:"Kiro",signInHint:"the browser sign-in Kiro opens on first use, or /mcp auth",detect:()=>au(e,["kiro-cli","kiro"])!==null||Je(e,cr(e,["Kiro"])),hasServer:async()=>fe(og(e),"mcpServers",q)!==null,addServer:async(t)=>({target:og(e),outcome:Ze(og(e),"mcpServers",q,{url:t})}),skillsDirs:()=>[mP(e.home,".kiro","skills")],login:()=>null}}import{join as c3}from"node:path";function sg(e){return c3(Pr(e),"muse","settings.json")}function gP(e){return{id:"muse",name:"Muse Code",signInHint:"muse mcp login tripwire",detect:()=>e.which("muse")!==null,hasServer:async()=>fe(sg(e),"mcp_servers",q)!==null,addServer:async(t)=>({target:sg(e),outcome:Ze(sg(e),"mcp_servers",q,{transport:"streamable_http",url:t,enabled:!0,mode:"optional"},{defaults:{schema_version:1}})}),skillsDirs:()=>[Be(e)],login:()=>({command:e.which("muse")??"muse",args:["mcp","login",q],status:async()=>"unknown"})}}import{join as yP}from"node:path";var u3=new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`,"g");function l3(e){let t=e.replace(u3,"").split(/\r?\n/).find((r)=>new RegExp(`(^|\\s)${q}\\s`).test(r));if(t===void 0)return"unknown";if(/✓/.test(t)&&/\bconnected\b/.test(t))return"signed-in";return/needs authentication/.test(t)?"signed-out":"unknown"}function wP(e,t){let r=()=>au(e,t.binaries),n=()=>fe(t.configPath(e),"mcp",q);return{id:t.id,name:t.name,signInHint:`${t.binaries[0]} mcp auth tripwire`,detect:()=>r()!==null||Je(e,cr(e,t.apps))||t.extensionId!==null&&cu(e,t.extensionId),hasServer:async()=>n()!==null,addServer:async(o)=>{let s=t.configPath(e);return{target:s,outcome:Ze(s,"mcp",q,{type:"remote",url:o,enabled:!0})}},skillsDirs:()=>[Be(e)],login:()=>{let o=r();return o?{command:o,args:["mcp","auth",q],status:()=>No(e,o,["mcp","list"],l3)}:null}}}function bP(e){return wP(e,{id:"opencode",name:"OpenCode",binaries:["opencode"],apps:["OpenCode"],extensionId:null,configPath:(t)=>Pi(t,yP(Pr(t),"opencode"),["opencode.json","opencode.jsonc"],"opencode.json")})}function _P(e){return wP(e,{id:"kilo",name:"Kilo Code",binaries:["kilo","kilocode"],apps:[],extensionId:"kilocode.kilo-code",configPath:(t)=>Pi(t,t.env.KILO_CONFIG_DIR||yP(Pr(t),"kilo"),["kilo.jsonc","kilo.json","opencode.jsonc","opencode.json"],"kilo.json")})}import{join as Lt}from"node:path";var d3="Visual Studio Code.app";function kP(e){return Lt(e.env.LOCALAPPDATA||Lt(e.home,"AppData","Local"),"Programs","Microsoft VS Code")}function xP(e){if(e.platform==="darwin")return e.macAppDirs.map((t)=>Lt(t,d3));if(e.platform==="win32")return[Lt(kP(e),"Code.exe")];return[]}function p3(e){if(e.platform==="darwin")return xP(e).map((t)=>Lt(t,"Contents","Resources","app","bin","code"));if(e.platform==="win32")return[Lt(kP(e),"bin","code.cmd")];return[]}function vP(e){let t=e.which("code");if(t)return t;return p3(e).find((r)=>e.exists(r))??null}function SP(e){if(e.platform==="darwin")return Lt(e.home,"Library","Application Support","Code","User","mcp.json");if(e.platform==="win32")return Lt(e.env.APPDATA||Lt(e.home,"AppData","Roaming"),"Code","User","mcp.json");return Lt(e.env.XDG_CONFIG_HOME||Lt(e.home,".config"),"Code","User","mcp.json")}function $P(e){return{id:"vscode",name:"VS Code",signInHint:"the MCP server list in VS Code",detect:()=>vP(e)!==null||Je(e,xP(e)),hasServer:async()=>fe(SP(e),"servers",q)!==null,addServer:async(t)=>{let r=SP(e),n=fe(r,"servers",q),s=["--add-mcp",JSON.stringify({name:q,type:"http",url:t})],i=vP(e);if(!i)return{target:r,outcome:Ze(r,"servers",q,{type:"http",url:t})};let a=lt("code",s);if(n===t)return{target:a,outcome:"unchanged"};return await At(e,i,s),{target:a,outcome:n===null?"added":"updated"}},skillsDirs:()=>[Lt(e.home,".agents","skills")],login:()=>null}}import{join as ol}from"node:path";function ig(e){if(e.platform==="win32")return ol(e.env.APPDATA||ol(e.home,"AppData","Roaming"),"Zed","settings.json");if(e.platform==="darwin")return ol(e.home,".config","zed","settings.json");return ol(Pr(e),"zed","settings.json")}function EP(e){return{id:"zed",name:"Zed",signInHint:"the sign-in prompt in the Zed Agent Panel",detect:()=>e.which("zed")!==null||Je(e,cr(e,["Zed","Zed Preview"])),hasServer:async()=>fe(ig(e),"context_servers",q)!==null,addServer:async(t)=>({target:ig(e),outcome:Ze(ig(e),"context_servers",q,{url:t})}),skillsDirs:()=>[Be(e)],login:()=>null}}function TP(e){return[j$(e),q$(e),V$(e),$P(e),J$(e),fP(e),bP(e),eE(e),N$(e),W$(e),C$(e),X$(e),D$(e),_P(e),hP(e),EP(e),pP(e),gP(e)]}var f3=[["claude","claude"],["codex","codex"],["cursor","cursor"],["copilot-cli","copilot"],["github-copilot-cli","copilot"],["copilot","vscode"],["vscode","vscode"],["devin","devin"],["windsurf","devin"],["cascade","devin"],["grok","grok"],["opencode","opencode"],["gemini","gemini"],["antigravity","antigravity"],["agy","antigravity"],["amp","amp"],["droid","droid"],["factory","droid"],["cline","cline"],["kilo","kilo"],["kiro","kiro"],["zed","zed"],["goose","goose"],["muse","muse"]];function PP(e){let t=e.AI_AGENT?.toLowerCase();if(t){let r=f3.find(([n])=>t.startsWith(n));if(r)return r[1]}if(e.CLAUDECODE==="1")return"claude";if(e.CODEX_SANDBOX||e.CODEX_THREAD_ID)return"codex";if(e.GEMINI_CLI==="1")return"gemini";if(e.CURSOR_AGENT)return"cursor";return t?"unknown":null}import{spawn as m3}from"node:child_process";function h3(e){if(e==="darwin")return[["pbcopy"]];if(e==="win32")return[["clip"]];return[["wl-copy"],["xclip","-selection","clipboard"],["xsel","--clipboard","--input"]]}function g3(e,t,r,n){return new Promise((o)=>{let s=m3(e,t,{env:n,stdio:["pipe","ignore","ignore"]});s.on("error",()=>o(!1)),s.on("exit",(i)=>o(i===0)),s.stdin.on("error",()=>{return}),s.stdin.end(r)})}async function OP(e,t){for(let[r,...n]of h3(e.platform)){let o=r?e.which(r):null;if(o&&await g3(o,n,t,e.env))return!0}return!1}var y3=`Use the \`${Hs}\` skill for this project.`;function IP(e){let t=e?.trim();if(!t)return y3;let r=Lx(t);if(r)return jx(r);return`Tripwire was just installed. ${t}`}import{mkdirSync as _3,readFileSync as v3,renameSync as S3,writeFileSync as k3}from"node:fs";import{join as CP}from"node:path";var RP=`---
|
|
344
344
|
name: tripwire-get-started
|
|
345
345
|
description: Set up Tripwire, the contribution gatekeeper for GitHub repos, through the Tripwire MCP server. Use when the user asks to set up or get started with Tripwire, or pastes a prompt with a Tripwire org slug and run code.
|
|
346
346
|
---
|
|
@@ -420,7 +420,7 @@ you can manage Tripwire later with the \`tripwire\` CLI (\`npx @tripwire-sh/cli
|
|
|
420
420
|
--help\`): \`login\`, \`status\`, \`repos\`, \`rules\`, \`gate\`, \`workflows\`, \`runs\` and
|
|
421
421
|
\`queue\`, each with \`--json\`.
|
|
422
422
|
To write or change workflows as code, use the \`tripwire-workflows\` skill.
|
|
423
|
-
`;var
|
|
423
|
+
`;var AP=`---
|
|
424
424
|
name: tripwire-workflows
|
|
425
425
|
description: Write and change Tripwire workflows as tripwire.ts code. Use when the user wants a workflow, a gate, a schedule or an automation added, changed or explained, or mentions tripwire.ts.
|
|
426
426
|
---
|
|
@@ -434,26 +434,39 @@ the compiler checks it before anything runs.
|
|
|
434
434
|
## Steps
|
|
435
435
|
|
|
436
436
|
1. **Pull.** \`npx @tripwire-sh/cli workflows pull <repo>\`. This writes
|
|
437
|
-
\`tripwire.ts
|
|
438
|
-
|
|
439
|
-
other people edit the same workflows.
|
|
440
|
-
\`workflows pull <repo> <
|
|
441
|
-
did not name stay as they are.
|
|
442
|
-
|
|
443
|
-
|
|
437
|
+
\`tripwire.ts\`, the typed helpers in \`.tripwire/workflow.ts\` and the link in
|
|
438
|
+
\`.tripwire/project.json\`. Done when the files exist. Read \`tripwire.ts\`
|
|
439
|
+
before you change it: the canvas and other people edit the same workflows.
|
|
440
|
+
To pull only some, name them: \`workflows pull <repo> <key> <key>\`. Workflows
|
|
441
|
+
already in the file that you did not name stay as they are.
|
|
442
|
+
|
|
443
|
+
The link holds the repo, the org and each workflow's id, no secrets, so
|
|
444
|
+
commit it.
|
|
445
|
+
Anywhere under that folder, \`diff\`, \`push\`, \`list\`, \`enable\` and the other
|
|
446
|
+
commands can leave out \`<repo>\` and \`--org\`. An explicit \`<repo>\`, \`--org\`
|
|
447
|
+
or \`TRIPWIRE_ORG\` wins over the link. \`tripwire link <repo>\` and
|
|
448
|
+
\`tripwire unlink\` set and clear it; \`tripwire status\` shows it.
|
|
449
|
+
2. **Write.** Edit \`tripwire.ts\` with the reference below. Each workflow's key
|
|
450
|
+
is its name as a slug, and \`.tripwire/project.json\` maps it to the
|
|
451
|
+
workflow's id. Keep the key when you rename a workflow. A new key makes a
|
|
452
|
+
new workflow.
|
|
444
453
|
3. **Validate until clean.** \`npx @tripwire-sh/cli workflows validate --repo
|
|
445
454
|
<repo>\`. Every message names the step and, for a wrong id, the right one.
|
|
446
455
|
Fix and rerun. Done when every workflow says \`can be turned on\` and each
|
|
447
456
|
\`runs\` line reads back the schedule the user asked for, timezone included.
|
|
448
457
|
4. **Diff.** \`npx @tripwire-sh/cli workflows diff <repo>\`. Show the user the
|
|
449
458
|
lines and ask before you push.
|
|
450
|
-
5. **Push.** \`npx @tripwire-sh/cli workflows push <repo>\`.
|
|
451
|
-
|
|
459
|
+
5. **Push.** \`npx @tripwire-sh/cli workflows push <repo>\`. It opens a review
|
|
460
|
+
page in the user's browser and waits until they accept or reject it. Give
|
|
461
|
+
the user the \`review\` link it prints. Exit 0 means accepted; on exit 1 tell
|
|
462
|
+
the user why and stop. \`--force\` saves without review: use it only when the
|
|
463
|
+
user asks. New workflows start off. Turn one on only when the user says so:
|
|
452
464
|
\`npx @tripwire-sh/cli workflows enable <repo> <id>\`.
|
|
453
465
|
|
|
454
466
|
Loading \`tripwire.ts\` needs Bun or Node 22.18+. On older Node, use
|
|
455
467
|
\`bunx @tripwire-sh/cli\`. Without the CLI, the MCP tools \`get_workflow\`,
|
|
456
|
-
\`validate_workflow\` and \`apply_workflow\` do the same
|
|
468
|
+
\`validate_workflow\`, \`propose_workflow_push\` and \`apply_workflow\` do the same
|
|
469
|
+
with compiled JSON.
|
|
457
470
|
|
|
458
471
|
## Reference
|
|
459
472
|
|
|
@@ -461,7 +474,7 @@ Loading \`tripwire.ts\` needs Bun or Node 22.18+. On older Node, use
|
|
|
461
474
|
import { anyOf, block, check, requestReview, workflow, workflows } from "./.tripwire/workflow.ts";
|
|
462
475
|
|
|
463
476
|
export default workflows({
|
|
464
|
-
"
|
|
477
|
+
"new-contributors": workflow({
|
|
465
478
|
name: "New contributors",
|
|
466
479
|
on: "change-request.opened",
|
|
467
480
|
check: anyOf(
|
|
@@ -518,35 +531,37 @@ workflow({ steps: { opened, age, stop: block().after(age.fails) } });
|
|
|
518
531
|
- \`match\`: \`{ subjects: ["issue"], state: "open", inactiveFor: { n: 15,
|
|
519
532
|
unit: "days" }, labels, excludeLabels }\`.
|
|
520
533
|
- Use \`run: [...]\` for actions straight after the trigger.
|
|
521
|
-
`;var
|
|
522
|
-
`)}function
|
|
534
|
+
`;var x3=[{name:Hs,body:RP},{name:bk,body:AP}];function ag(e,t=Hs){return CP(e,t,"SKILL.md")}function $3(e,t,r){let n=ag(e,t),o=null;try{o=v3(n,"utf8")}catch{o=null}if(o===r)return"unchanged";_3(CP(e,t),{recursive:!0});let s=`${n}.tripwire-${process.pid}.tmp`;return k3(s,r),S3(s,n),o===null?"added":"updated"}function zP(e){let t=x3.map((r)=>$3(e,r.name,r.body));if(t.includes("added"))return"added";return t.includes("updated")?"updated":"unchanged"}async function NP(e){let t=e.filter((r)=>r.detect());return Promise.all(t.map(async(r)=>({agent:r,installed:await r.hasServer().catch(()=>!1)})))}async function cg(e,t,r=new Map){try{let n=await e.addServer(t),o=e.skillsDirs().map((s)=>{let i=r.get(s)??zP(s);return r.set(s,i),{path:ag(s),outcome:i}});return{kind:"done",mcp:n,skills:o}}catch(n){return{kind:"failed",message:n instanceof Error?n.message:String(n)}}}function LP(e){return e.status().catch(()=>"unknown")}function jP(e){return Promise.all(e.map(async(t)=>{let r=t.login();if(r===null)return{kind:"manual",agent:t};return await LP(r)==="signed-in"?{kind:"signed-in",agent:t}:{kind:"run",agent:t,login:r}}))}async function E3(e,t){let r=await t(e).catch(()=>({ok:!1,stdout:"",stderr:""})),n=await LP(e.login);if(n==="unknown")return r.ok?"signed-in":"failed";return n==="signed-in"?"signed-in":"failed"}async function DP(e,t){let r=[];for(let n of e)if(n.kind==="run")r.push({agent:n.agent,outcome:await E3(n,t),login:n.login});else r.push({agent:n.agent,outcome:n.kind==="signed-in"?"already":"manual",login:null});return r}var MP=new Intl.ListFormat("en",{style:"long",type:"conjunction"});function qP(e,t){return t.split(e.home).join("~")}function T3(e,t){let{result:r}=t;if(r.kind==="failed")return kt.default.red(r.message);let n=[`${kt.default.dim("mcp ")} ${qP(e,r.mcp.target)} ${kt.default.dim(`(${r.mcp.outcome})`)}`];if(r.skills.length===0)n.push(`${kt.default.dim("skill")} ${kt.default.dim("not supported, MCP only")}`);for(let o of r.skills)n.push(`${kt.default.dim("skill")} ${qP(e,o.path)} ${kt.default.dim(`(${o.outcome})`)}`);return n.join(`
|
|
535
|
+
`)}function P3(){return kt.default.bgRed(kt.default.black(kt.default.bold(" tripwire ")))}async function O3(e){let t=await b$({message:"Select the agents to set up Tripwire for",options:e.map((r)=>({value:r.agent.id,label:r.installed?`${r.agent.name} (reinstall)`:r.agent.name})),initialValues:e.map((r)=>r.agent.id),required:!1,showInstructions:!1});if(yi(t))return null;return e.filter((r)=>t.includes(r.agent.id))}function FP(e){return lt(e.command.split(/[\\/]/).pop()??e.command,e.args)}function I3(e){switch(e.outcome){case"signed-in":return"signed in";case"already":return"already signed in";case"failed":return e.login?`not signed in, run ${FP(e.login)}`:"not signed in";case"manual":return`sign in with ${e.agent.signInHint}`}}function R3(e){let t=Math.max(...e.map(({agent:o})=>o.name.length)),r=e.map((o)=>`${o.agent.name.padEnd(t)} ${I3(o)}`);(e.some(({outcome:o})=>o==="failed")?Ne.warn:Ne.info)(`Tripwire sign-in
|
|
523
536
|
${r.join(`
|
|
524
|
-
`)}`)}async function
|
|
537
|
+
`)}`)}async function A3(e,t){let r=t.filter((a)=>a.result.kind==="done").map(({agent:a})=>a);if(r.length===0)return!0;let o=r.some((a)=>a.login()!==null)?Si():null;o?.start("Checking Tripwire sign-in");let s=await jP(r);o?.stop("Checked Tripwire sign-in");let i=await DP(s,async({agent:a,login:c})=>(Ne.step(`${a.name}: ${FP(c)}`),e.runInteractive(c.command,c.args)));return R3(i),i.every(({outcome:a})=>a!=="failed")}function C3(e,t,r){let n=e.filter(({result:s})=>s.kind==="done");if(n.length===0)return;let o=n.map(({agent:s})=>s.id===t?`${s.name}, this session: do not run the login here. Ask the user to sign in with ${s.signInHint}. Restart ${s.name} first if tripwire is not listed.`:`${s.name}: ${s.signInHint}`);Ne.info(`Sign in to the Tripwire MCP
|
|
525
538
|
${o.join(`
|
|
526
|
-
`)}`),
|
|
527
|
-
${r}`)}async function
|
|
539
|
+
`)}`),Ne.info(`Then send this prompt
|
|
540
|
+
${r}`)}async function z3(e,t){let r=await w$({message:"Copy a prompt to get started with Tripwire?",initialValue:!0});if(yi(r)||!r){Ne.step("Maybe next time");return}let n=await OP(e,t);Ne.success(n?"Copied a get-started prompt to your clipboard":"Copy this prompt to get started"),Ne.message(kt.default.gray(t))}async function UP(e,t){let r=ho(e.env),n=IP(t.instruction),o=PP(e.env),s=t.interactive&&!t.json&&o===null,i=await NP(TP(e)),a=new Map;if(t.json){let h=await Promise.all(i.map(async({agent:y})=>({agent:y,result:await cg(y,r,a)}))),g=h.map(({agent:y,result:b})=>({id:y.id,name:y.name,thisSession:y.id===o,signIn:y.signInHint,...b}));return process.stdout.write(`${JSON.stringify({mcpUrl:r,agents:g,prompt:n},null,2)}
|
|
528
541
|
`),h.every(({result:y})=>y.kind==="done")?0:1}if(process.stdout.write(`
|
|
529
|
-
${
|
|
542
|
+
${P3()}
|
|
530
543
|
|
|
531
|
-
`),
|
|
532
|
-
${
|
|
533
|
-
`;if(!(await e.run(t,["-i"],n)).ok)throw Error("Could not save the token to the macOS keychain")},clear:async()=>{await e.run(t,["delete-generic-password","-a",Xu,"-s",Yu])}}}function FG(e,t){let r=["service",Yu,"account",Xu];return{kind:"secret-service",location:"Secret Service keyring",read:async()=>{let n=await e.run(t,["lookup",...r]);return n.ok?Hh(n.stdout):null},write:async(n)=>{if(!(await e.run(t,["store","--label=Tripwire",...r],JSON.stringify(n))).ok)throw Error("Could not save the token to the keyring")},clear:async()=>{await e.run(t,["clear",...r])}}}function pO(e,t){let r=Kh(t);return{kind:e.kind,location:e.location,read:async()=>await e.read()??await r.read(),write:(n)=>e.write(n),clear:async()=>{await e.clear(),await r.clear()}}}function qo(e){if(e.env.TRIPWIRE_CREDENTIAL_STORE==="file")return Kh(e);if(e.platform==="darwin"){let t=e.which("security");if(t)return pO(qG(e,t),e)}if(e.platform==="linux"){let t=e.which("secret-tool");if(t)return pO(FG(e,t),e)}return Kh(e)}class Ki extends Error{constructor(e="Not signed in. Run tripwire login."){super(e);this.name="NotSignedInError"}}var UG=30000;async function Gh(e,t){let r=ao(e.env),n=e.env.TRIPWIRE_TOKEN;if(n)return{token:n,mcpUrl:r,source:"env"};let o=qo(e),s=await o.read();if(!s)throw new Ki;if(s.expiresAt&&s.expiresAt-UG<t.now()){let i=await ok(t,s).catch((a)=>{if(a instanceof Ws)throw a;throw new Ki("Session expired. Run tripwire login.")});return await o.write(i),{token:i.accessToken,mcpUrl:e.env.TRIPWIRE_MCP_URL||i.mcpUrl,source:o.kind}}return{token:s.accessToken,mcpUrl:e.env.TRIPWIRE_MCP_URL||s.mcpUrl,source:o.kind}}function Qu(e){return!!e._zod}function Bt(e,t){if(Qu(e))return Vd(e,t);return e.safeParse(t)}function el(e){if(!e)return;let t;if(Qu(e))t=e._zod?.def?.shape;else t=e.shape;if(!t)return;if(typeof t==="function")try{return t()}catch{return}return t}function tl(e){if(Qu(e)){let s=e._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n;return}var Uo="2025-11-25";var fO=[Uo,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],en="io.modelcontextprotocol/related-task",nl="2.0",qe=ac((e)=>e!==null&&(typeof e==="object"||typeof e==="function")),mO=ne([p(),P().int()]),hO=p(),Ghe=xe({ttl:P().optional(),pollInterval:P().optional()}),ZG=b({ttl:P().optional()}),BG=b({taskId:p()}),Jh=xe({progressToken:mO.optional(),[en]:BG.optional()}),kt=b({_meta:Jh.optional()}),Hi=kt.extend({task:ZG.optional()}),gO=(e)=>Hi.safeParse(e).success,Je=b({method:p(),params:kt.loose().optional()}),zt=b({_meta:Jh.optional()}),Nt=b({method:p(),params:zt.loose().optional()}),Ye=xe({_meta:Jh.optional()}),ol=ne([p(),P().int()]),yO=b({jsonrpc:C(nl),id:ol,...Je.shape}).strict(),Gi=(e)=>yO.safeParse(e).success,bO=b({jsonrpc:C(nl),...Nt.shape}).strict(),wO=(e)=>bO.safeParse(e).success,Yh=b({jsonrpc:C(nl),id:ol,result:Ye}).strict(),Wn=(e)=>Yh.safeParse(e).success;var K;(function(e){e[e.ConnectionClosed=-32000]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(K||(K={}));var Xh=b({jsonrpc:C(nl),id:ol.optional(),error:b({code:P().int(),message:p(),data:re().optional()})}).strict();var _O=(e)=>Xh.safeParse(e).success;var sl=ne([yO,bO,Yh,Xh]),Jhe=ne([Yh,Xh]),Vn=Ye.strict(),KG=zt.extend({requestId:ol.optional(),reason:p().optional()}),il=Nt.extend({method:C("notifications/cancelled"),params:KG}),HG=b({src:p(),mimeType:p().optional(),sizes:x(p()).optional(),theme:z(["light","dark"]).optional()}),Ji=b({icons:x(HG).optional()}),Fo=b({name:p(),title:p().optional()}),vO=Fo.extend({...Fo.shape,...Ji.shape,version:p(),websiteUrl:p().optional(),description:p().optional()}),GG=ic(b({applyDefaults:j().optional()}),J(p(),re())),JG=cc((e)=>{if(e&&typeof e==="object"&&!Array.isArray(e)){if(Object.keys(e).length===0)return{form:{}}}return e},ic(b({form:GG.optional(),url:qe.optional()}),J(p(),re()).optional())),YG=xe({list:qe.optional(),cancel:qe.optional(),requests:xe({sampling:xe({createMessage:qe.optional()}).optional(),elicitation:xe({create:qe.optional()}).optional()}).optional()}),XG=xe({list:qe.optional(),cancel:qe.optional(),requests:xe({tools:xe({call:qe.optional()}).optional()}).optional()}),QG=b({experimental:J(p(),qe).optional(),sampling:b({context:qe.optional(),tools:qe.optional()}).optional(),elicitation:JG.optional(),roots:b({listChanged:j().optional()}).optional(),tasks:YG.optional(),extensions:J(p(),qe).optional()}),e3=kt.extend({protocolVersion:p(),capabilities:QG,clientInfo:vO}),t3=Je.extend({method:C("initialize"),params:e3});var r3=b({experimental:J(p(),qe).optional(),logging:qe.optional(),completions:qe.optional(),prompts:b({listChanged:j().optional()}).optional(),resources:b({subscribe:j().optional(),listChanged:j().optional()}).optional(),tools:b({listChanged:j().optional()}).optional(),tasks:XG.optional(),extensions:J(p(),qe).optional()}),Qh=Ye.extend({protocolVersion:p(),capabilities:r3,serverInfo:vO,instructions:p().optional()}),SO=Nt.extend({method:C("notifications/initialized"),params:zt.optional()}),kO=(e)=>SO.safeParse(e).success,al=Je.extend({method:C("ping"),params:kt.optional()}),n3=b({progress:P(),total:ke(P()),message:ke(p())}),o3=b({...zt.shape,...n3.shape,progressToken:mO}),cl=Nt.extend({method:C("notifications/progress"),params:o3}),s3=kt.extend({cursor:hO.optional()}),Yi=Je.extend({params:s3.optional()}),Xi=Ye.extend({nextCursor:hO.optional()}),i3=z(["working","input_required","completed","failed","cancelled"]),Qi=b({taskId:p(),status:i3,ttl:ne([P(),sc()]),createdAt:p(),lastUpdatedAt:p(),pollInterval:ke(P()),statusMessage:ke(p())}),Zn=Ye.extend({task:Qi}),a3=zt.merge(Qi),ea=Nt.extend({method:C("notifications/tasks/status"),params:a3}),ul=Je.extend({method:C("tasks/get"),params:kt.extend({taskId:p()})}),ll=Ye.merge(Qi),dl=Je.extend({method:C("tasks/result"),params:kt.extend({taskId:p()})}),Yhe=Ye.loose(),pl=Yi.extend({method:C("tasks/list")}),fl=Xi.extend({tasks:x(Qi)}),ml=Je.extend({method:C("tasks/cancel"),params:kt.extend({taskId:p()})}),xO=Ye.merge(Qi),$O=b({uri:p(),mimeType:ke(p()),_meta:J(p(),re()).optional()}),EO=$O.extend({text:p()}),eg=p().refine((e)=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),TO=$O.extend({blob:eg}),ta=z(["user","assistant"]),Wo=b({audience:x(ta).optional(),priority:P().min(0).max(1).optional(),lastModified:ZS({offset:!0}).optional()}),OO=b({...Fo.shape,...Ji.shape,uri:p(),description:ke(p()),mimeType:ke(p()),size:ke(P()),annotations:Wo.optional(),_meta:ke(xe({}))}),c3=b({...Fo.shape,...Ji.shape,uriTemplate:p(),description:ke(p()),mimeType:ke(p()),annotations:Wo.optional(),_meta:ke(xe({}))}),u3=Yi.extend({method:C("resources/list")}),tg=Xi.extend({resources:x(OO)}),l3=Yi.extend({method:C("resources/templates/list")}),rg=Xi.extend({resourceTemplates:x(c3)}),ng=kt.extend({uri:p()}),d3=ng,p3=Je.extend({method:C("resources/read"),params:d3}),og=Ye.extend({contents:x(ne([EO,TO]))}),sg=Nt.extend({method:C("notifications/resources/list_changed"),params:zt.optional()}),f3=ng,m3=Je.extend({method:C("resources/subscribe"),params:f3}),h3=ng,g3=Je.extend({method:C("resources/unsubscribe"),params:h3}),y3=zt.extend({uri:p()}),b3=Nt.extend({method:C("notifications/resources/updated"),params:y3}),w3=b({name:p(),description:ke(p()),required:ke(j())}),_3=b({...Fo.shape,...Ji.shape,description:ke(p()),arguments:ke(x(w3)),_meta:ke(xe({}))}),v3=Yi.extend({method:C("prompts/list")}),ig=Xi.extend({prompts:x(_3)}),S3=kt.extend({name:p(),arguments:J(p(),p()).optional()}),k3=Je.extend({method:C("prompts/get"),params:S3}),ag=b({type:C("text"),text:p(),annotations:Wo.optional(),_meta:J(p(),re()).optional()}),cg=b({type:C("image"),data:eg,mimeType:p(),annotations:Wo.optional(),_meta:J(p(),re()).optional()}),ug=b({type:C("audio"),data:eg,mimeType:p(),annotations:Wo.optional(),_meta:J(p(),re()).optional()}),x3=b({type:C("tool_use"),name:p(),id:p(),input:J(p(),re()),_meta:J(p(),re()).optional()}),$3=b({type:C("resource"),resource:ne([EO,TO]),annotations:Wo.optional(),_meta:J(p(),re()).optional()}),E3=OO.extend({type:C("resource_link")}),lg=ne([ag,cg,ug,E3,$3]),T3=b({role:ta,content:lg}),dg=Ye.extend({description:p().optional(),messages:x(T3)}),pg=Nt.extend({method:C("notifications/prompts/list_changed"),params:zt.optional()}),O3=b({title:p().optional(),readOnlyHint:j().optional(),destructiveHint:j().optional(),idempotentHint:j().optional(),openWorldHint:j().optional()}),P3=b({taskSupport:z(["required","optional","forbidden"]).optional()}),PO=b({...Fo.shape,...Ji.shape,description:p().optional(),inputSchema:b({type:C("object"),properties:J(p(),qe).optional(),required:x(p()).optional()}).catchall(re()),outputSchema:b({type:C("object"),properties:J(p(),qe).optional(),required:x(p()).optional()}).catchall(re()).optional(),annotations:O3.optional(),execution:P3.optional(),_meta:J(p(),re()).optional()}),I3=Yi.extend({method:C("tools/list")}),fg=Xi.extend({tools:x(PO)}),Or=Ye.extend({content:x(lg).default([]),structuredContent:J(p(),re()).optional(),isError:j().optional()}),Xhe=Or.or(Ye.extend({toolResult:re()})),A3=Hi.extend({name:p(),arguments:J(p(),re()).optional()}),R3=Je.extend({method:C("tools/call"),params:A3}),mg=Nt.extend({method:C("notifications/tools/list_changed"),params:zt.optional()}),IO=b({autoRefresh:j().default(!0),debounceMs:P().int().nonnegative().default(300)}),AO=z(["debug","info","notice","warning","error","critical","alert","emergency"]),C3=kt.extend({level:AO}),z3=Je.extend({method:C("logging/setLevel"),params:C3}),N3=zt.extend({level:AO,logger:p().optional(),data:re()}),L3=Nt.extend({method:C("notifications/message"),params:N3}),D3=b({name:p().optional()}),j3=b({hints:x(D3).optional(),costPriority:P().min(0).max(1).optional(),speedPriority:P().min(0).max(1).optional(),intelligencePriority:P().min(0).max(1).optional()}),M3=b({mode:z(["auto","required","none"]).optional()}),q3=b({type:C("tool_result"),toolUseId:p().describe("The unique identifier for the corresponding tool call."),content:x(lg).default([]),structuredContent:b({}).loose().optional(),isError:j().optional(),_meta:J(p(),re()).optional()}),F3=vr("type",[ag,cg,ug]),rl=vr("type",[ag,cg,ug,x3,q3]),U3=b({role:ta,content:ne([rl,x(rl)]),_meta:J(p(),re()).optional()}),W3=Hi.extend({messages:x(U3),modelPreferences:j3.optional(),systemPrompt:p().optional(),includeContext:z(["none","thisServer","allServers"]).optional(),temperature:P().optional(),maxTokens:P().int(),stopSequences:x(p()).optional(),metadata:qe.optional(),tools:x(PO).optional(),toolChoice:M3.optional()}),hg=Je.extend({method:C("sampling/createMessage"),params:W3}),gg=Ye.extend({model:p(),stopReason:ke(z(["endTurn","stopSequence","maxTokens"]).or(p())),role:ta,content:F3}),yg=Ye.extend({model:p(),stopReason:ke(z(["endTurn","stopSequence","maxTokens","toolUse"]).or(p())),role:ta,content:ne([rl,x(rl)])}),V3=b({type:C("boolean"),title:p().optional(),description:p().optional(),default:j().optional()}),Z3=b({type:C("string"),title:p().optional(),description:p().optional(),minLength:P().optional(),maxLength:P().optional(),format:z(["email","uri","date","date-time"]).optional(),default:p().optional()}),B3=b({type:z(["number","integer"]),title:p().optional(),description:p().optional(),minimum:P().optional(),maximum:P().optional(),default:P().optional()}),K3=b({type:C("string"),title:p().optional(),description:p().optional(),enum:x(p()),default:p().optional()}),H3=b({type:C("string"),title:p().optional(),description:p().optional(),oneOf:x(b({const:p(),title:p()})),default:p().optional()}),G3=b({type:C("string"),title:p().optional(),description:p().optional(),enum:x(p()),enumNames:x(p()).optional(),default:p().optional()}),J3=ne([K3,H3]),Y3=b({type:C("array"),title:p().optional(),description:p().optional(),minItems:P().optional(),maxItems:P().optional(),items:b({type:C("string"),enum:x(p())}),default:x(p()).optional()}),X3=b({type:C("array"),title:p().optional(),description:p().optional(),minItems:P().optional(),maxItems:P().optional(),items:b({anyOf:x(b({const:p(),title:p()}))}),default:x(p()).optional()}),Q3=ne([Y3,X3]),eJ=ne([G3,J3,Q3]),tJ=ne([eJ,V3,Z3,B3]),rJ=Hi.extend({mode:C("form").optional(),message:p(),requestedSchema:b({type:C("object"),properties:J(p(),tJ),required:x(p()).optional()})}),nJ=Hi.extend({mode:C("url"),message:p(),elicitationId:p(),url:p().url()}),oJ=ne([rJ,nJ]),bg=Je.extend({method:C("elicitation/create"),params:oJ}),sJ=zt.extend({elicitationId:p()}),iJ=Nt.extend({method:C("notifications/elicitation/complete"),params:sJ}),wg=Ye.extend({action:z(["accept","decline","cancel"]),content:cc((e)=>e===null?void 0:e,J(p(),ne([p(),P(),j(),x(p())])).optional())}),aJ=b({type:C("ref/resource"),uri:p()});var cJ=b({type:C("ref/prompt"),name:p()}),uJ=kt.extend({ref:ne([cJ,aJ]),argument:b({name:p(),value:p()}),context:b({arguments:J(p(),p()).optional()}).optional()}),lJ=Je.extend({method:C("completion/complete"),params:uJ});var _g=Ye.extend({completion:xe({values:x(p()).max(100),total:ke(P().int()),hasMore:ke(j())})}),dJ=b({uri:p().startsWith("file://"),name:p().optional(),_meta:J(p(),re()).optional()}),pJ=Je.extend({method:C("roots/list"),params:kt.optional()}),fJ=Ye.extend({roots:x(dJ)}),mJ=Nt.extend({method:C("notifications/roots/list_changed"),params:zt.optional()}),Qhe=ne([al,t3,lJ,z3,k3,v3,u3,l3,p3,m3,g3,R3,I3,ul,dl,pl,ml]),ege=ne([il,cl,SO,mJ,ea]),tge=ne([Vn,gg,yg,wg,fJ,ll,fl,Zn]),rge=ne([al,hg,bg,pJ,ul,dl,pl,ml]),nge=ne([il,cl,L3,b3,sg,mg,pg,ea,iJ]),oge=ne([Vn,Qh,_g,dg,ig,tg,rg,og,Or,fg,ll,fl,Zn]);class Z extends Error{constructor(e,t,r){super(`MCP error ${e}: ${t}`);this.code=e,this.data=r,this.name="McpError"}static fromError(e,t,r){if(e===K.UrlElicitationRequired&&r){let n=r;if(n.elicitations)return new RO(n.elicitations,t)}return new Z(e,t,r)}}class RO extends Z{constructor(e,t=`URL elicitation${e.length>1?"s":""} required`){super(K.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}}function tn(e){return e==="completed"||e==="failed"||e==="cancelled"}var hJ=Symbol("Let zodToJsonSchema decide on which parser to use");var Dge=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function vg(e){let r=el(e)?.method;if(!r)throw Error("Schema is missing a method literal");let n=tl(r);if(typeof n!=="string")throw Error("Schema method literal must be a string");return n}function Sg(e,t){let r=Bt(e,t);if(!r.success)throw r.error;return r.data}var vJ=60000;class kg{constructor(e){if(this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(il,(t)=>{this._oncancel(t)}),this.setNotificationHandler(cl,(t)=>{this._onprogress(t)}),this.setRequestHandler(al,(t)=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore)this.setRequestHandler(ul,async(t,r)=>{let n=await this._taskStore.getTask(t.params.taskId,r.sessionId);if(!n)throw new Z(K.InvalidParams,"Failed to retrieve task: Task not found");return{...n}}),this.setRequestHandler(dl,async(t,r)=>{let n=async()=>{let o=t.params.taskId;if(!await this._taskStore.getTask(o,r.sessionId))throw new Z(K.InvalidParams,`Task not found: ${o}`);if(this._taskMessageQueue){let i;while(i=await this._taskMessageQueue.dequeue(o,r.sessionId)){if(i.type==="response"||i.type==="error"){let a=i.message,c=a.id,u=this._requestResolvers.get(c);if(u)if(this._requestResolvers.delete(c),i.type==="response")u(a);else{let l=a,d=new Z(l.error.code,l.error.message,l.error.data);u(d)}else{let l=i.type==="response"?"Response":"Error";this._onerror(Error(`${l} handler missing for request ${c}`))}continue}await this._transport?.send(i.message,{relatedRequestId:r.requestId})}}let s=await this._taskStore.getTask(o,r.sessionId);if(!s)throw new Z(K.InvalidParams,`Task not found: ${o}`);if(!tn(s.status))return await this._waitForTaskUpdate(o,r.signal,r.sessionId),await n();if(tn(s.status)){let i=await this._taskStore.getTaskResult(o,r.sessionId);return this._clearTaskQueue(o,r.sessionId),{...i,_meta:{...i._meta,[en]:{taskId:o}}}}return await n()};return await n()}),this.setRequestHandler(pl,async(t,r)=>{try{let{tasks:n,nextCursor:o}=await this._taskStore.listTasks(t.params?.cursor,r.sessionId);return{tasks:n,nextCursor:o,_meta:{}}}catch(n){throw new Z(K.InvalidParams,`Failed to list tasks: ${n instanceof Error?n.message:String(n)}`)}}),this.setRequestHandler(ml,async(t,r)=>{try{let n=await this._taskStore.getTask(t.params.taskId,r.sessionId);if(!n)throw new Z(K.InvalidParams,`Task not found: ${t.params.taskId}`);if(tn(n.status))throw new Z(K.InvalidParams,`Cannot cancel task in terminal status: ${n.status}`);await this._taskStore.updateTaskStatus(t.params.taskId,"cancelled","Client cancelled task execution.",r.sessionId),this._clearTaskQueue(t.params.taskId,r.sessionId);let o=await this._taskStore.getTask(t.params.taskId,r.sessionId);if(!o)throw new Z(K.InvalidParams,`Task not found after cancellation: ${t.params.taskId}`);return{_meta:{},...o}}catch(n){if(n instanceof Z)throw n;throw new Z(K.InvalidRequest,`Failed to cancel task: ${n instanceof Error?n.message:String(n)}`)}})}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,r,n,o=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(n,t),startTime:Date.now(),timeout:t,maxTotalTimeout:r,resetTimeoutOnProgress:o,onTimeout:n})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let r=Date.now()-t.startTime;if(t.maxTotalTimeout&&r>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),Z.fromError(K.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:r});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);if(t)clearTimeout(t.timeoutId),this._timeoutInfo.delete(e)}async connect(e){if(this._transport)throw Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let t=this.transport?.onclose;this._transport.onclose=()=>{t?.(),this._onclose()};let r=this.transport?.onerror;this._transport.onerror=(o)=>{r?.(o),this._onerror(o)};let n=this._transport?.onmessage;this._transport.onmessage=(o,s)=>{if(n?.(o,s),Wn(o)||_O(o))this._onresponse(o);else if(Gi(o))this._onrequest(o,s);else if(wO(o))this._onnotification(o);else this._onerror(Error(`Unknown message type: ${JSON.stringify(o)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let r of this._timeoutInfo.values())clearTimeout(r.timeoutId);this._timeoutInfo.clear();for(let r of this._requestHandlerAbortControllers.values())r.abort();this._requestHandlerAbortControllers.clear();let t=Z.fromError(K.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let r of e.values())r(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){let t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;if(t===void 0)return;Promise.resolve().then(()=>t(e)).catch((r)=>this._onerror(Error(`Uncaught error in notification handler: ${r}`)))}_onrequest(e,t){let r=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,n=this._transport,o=e.params?._meta?.[en]?.taskId,s=n?.sessionId,i=this._taskStore,a=!0,c;if(o&&i&&this._taskMessageQueue&&s!==void 0)a=!1,c=(async()=>{if(!await i.getTask(o,s))throw new Z(K.InvalidParams,`Task not found: ${o}`);a=!0})();if(r===void 0){let m={jsonrpc:"2.0",id:e.id,error:{code:K.MethodNotFound,message:"Method not found"}};if(o&&c){let h={type:"error",message:m,timestamp:Date.now()};c.then(()=>this._enqueueTaskMessage(o,h,s),()=>n?.send(m)).catch((g)=>this._onerror(Error(`Failed to send an error response: ${g}`)))}else if(o&&this._taskMessageQueue)this._enqueueTaskMessage(o,{type:"error",message:m,timestamp:Date.now()},n?.sessionId).catch((h)=>this._onerror(Error(`Failed to enqueue error response: ${h}`)));else n?.send(m).catch((h)=>this._onerror(Error(`Failed to send an error response: ${h}`)));return}let u=new AbortController;this._requestHandlerAbortControllers.set(e.id,u);let l=gO(e.params)?e.params.task:void 0,d=this._taskStore?this.requestTaskStore(e,n?.sessionId):void 0,f={signal:u.signal,sessionId:n?.sessionId,_meta:e.params?._meta,sendNotification:async(m)=>{if(u.signal.aborted)return;let h={relatedRequestId:e.id};if(o)h.relatedTask={taskId:o};await this.notification(m,h)},sendRequest:async(m,h,g)=>{if(u.signal.aborted)throw new Z(K.ConnectionClosed,"Request was cancelled");let y={...g,relatedRequestId:e.id};if(o&&!y.relatedTask)y.relatedTask={taskId:o};let w=y.relatedTask?.taskId??o;if(w&&d)await d.updateTaskStatus(w,"input_required");return await this.request(m,h,y)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:o,taskStore:d,taskRequestedTtl:l?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};(c??Promise.resolve()).then(()=>{if(c&&u.signal.aborted)throw new Z(K.ConnectionClosed,"Request was cancelled");if(l)this.assertTaskHandlerCapability(e.method)}).then(()=>r(e,f)).then(async(m)=>{if(u.signal.aborted)return;let h={result:m,jsonrpc:"2.0",id:e.id};if(o&&this._taskMessageQueue)await this._enqueueTaskMessage(o,{type:"response",message:h,timestamp:Date.now()},n?.sessionId);else await n?.send(h)},async(m)=>{if(u.signal.aborted)return;let h={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(m.code)?m.code:K.InternalError,message:m.message??"Internal error",...m.data!==void 0&&{data:m.data}}};if(o&&this._taskMessageQueue&&a)await this._enqueueTaskMessage(o,{type:"error",message:h,timestamp:Date.now()},n?.sessionId);else await n?.send(h)}).catch((m)=>this._onerror(Error(`Failed to send response: ${m}`))).finally(()=>{if(this._requestHandlerAbortControllers.get(e.id)===u)this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:t,...r}=e.params,n=Number(t),o=this._progressHandlers.get(n);if(!o){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let s=this._responseHandlers.get(n),i=this._timeoutInfo.get(n);if(i&&s&&i.resetTimeoutOnProgress)try{this._resetTimeout(n)}catch(a){this._responseHandlers.delete(n),this._progressHandlers.delete(n),this._cleanupTimeout(n),s(a);return}o(r)}_onresponse(e){let t=Number(e.id),r=this._requestResolvers.get(t);if(r){if(this._requestResolvers.delete(t),Wn(e))r(e);else{let s=new Z(e.error.code,e.error.message,e.error.data);r(s)}return}let n=this._responseHandlers.get(t);if(n===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let o=!1;if(Wn(e)&&e.result&&typeof e.result==="object"){let s=e.result;if(s.task&&typeof s.task==="object"){let i=s.task;if(typeof i.taskId==="string")o=!0,this._taskProgressTokens.set(i.taskId,t)}}if(!o)this._progressHandlers.delete(t);if(Wn(e))n(e);else{let s=Z.fromError(e.error.code,e.error.message,e.error.data);n(s)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,t,r){let{task:n}=r??{};if(!n){try{yield{type:"result",result:await this.request(e,t,r)}}catch(s){yield{type:"error",error:s instanceof Z?s:new Z(K.InternalError,String(s))}}return}let o;try{let s=await this.request(e,Zn,r);if(s.task)o=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new Z(K.InternalError,"Task creation did not return a task");while(!0){let i=await this.getTask({taskId:o},r);if(yield{type:"taskStatus",task:i},tn(i.status)){if(i.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:o},t,r)};else if(i.status==="failed")yield{type:"error",error:new Z(K.InternalError,`Task ${o} failed`)};else if(i.status==="cancelled")yield{type:"error",error:new Z(K.InternalError,`Task ${o} was cancelled`)};return}if(i.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:o},t,r)};return}let a=i.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((c)=>setTimeout(c,a)),r?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof Z?s:new Z(K.InternalError,String(s))}}}request(e,t,r){let{relatedRequestId:n,resumptionToken:o,onresumptiontoken:s,task:i,relatedTask:a}=r??{};return new Promise((c,u)=>{let l=(w)=>{u(w)};if(!this._transport){l(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(e.method),i)this.assertTaskCapability(e.method)}catch(w){l(w);return}r?.signal?.throwIfAborted();let d=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:d};if(r?.onprogress)this._progressHandlers.set(d,r.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:d}};if(i)f.params={...f.params,task:i};if(a)f.params={...f.params,_meta:{...f.params?._meta||{},[en]:a}};let m=(w)=>{this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:d,reason:String(w)}},{relatedRequestId:n,resumptionToken:o,onresumptiontoken:s}).catch((S)=>this._onerror(Error(`Failed to send cancellation: ${S}`)));let T=w instanceof Z?w:new Z(K.RequestTimeout,String(w));u(T)};this._responseHandlers.set(d,(w)=>{if(r?.signal?.aborted)return;if(w instanceof Error)return u(w);try{let T=Bt(t,w.result);if(!T.success)u(T.error);else c(T.data)}catch(T){u(T)}}),r?.signal?.addEventListener("abort",()=>{m(r?.signal?.reason)});let h=r?.timeout??vJ,g=()=>m(Z.fromError(K.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(d,h,r?.maxTotalTimeout,g,r?.resetTimeoutOnProgress??!1);let y=a?.taskId;if(y){let w=(T)=>{let S=this._responseHandlers.get(d);if(S)S(T);else this._onerror(Error(`Response handler missing for side-channeled request ${d}`))};this._requestResolvers.set(d,w),this._enqueueTaskMessage(y,{type:"request",message:f,timestamp:Date.now()}).catch((T)=>{this._cleanupTimeout(d),u(T)})}else this._transport.send(f,{relatedRequestId:n,resumptionToken:o,onresumptiontoken:s}).catch((w)=>{this._cleanupTimeout(d),u(w)})})}async getTask(e,t){return this.request({method:"tasks/get",params:e},ll,t)}async getTaskResult(e,t,r){return this.request({method:"tasks/result",params:e},t,r)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},fl,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},xO,t)}async notification(e,t){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(e.method);let r=t?.relatedTask?.taskId;if(r){let i={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[en]:t.relatedTask}}};await this._enqueueTaskMessage(r,{type:"notification",message:i,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!t?.relatedRequestId&&!t?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let i={...e,jsonrpc:"2.0"};if(t?.relatedTask)i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[en]:t.relatedTask}}};this._transport?.send(i,t).catch((a)=>this._onerror(a))});return}let s={...e,jsonrpc:"2.0"};if(t?.relatedTask)s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[en]:t.relatedTask}}};await this._transport.send(s,t)}setRequestHandler(e,t){let r=vg(e);this.assertRequestHandlerCapability(r),this._requestHandlers.set(r,(n,o)=>{let s=Sg(e,n);return Promise.resolve(t(s,o))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){let r=vg(e);this._notificationHandlers.set(r,(n)=>{let o=Sg(e,n);return Promise.resolve(t(o))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let t=this._taskProgressTokens.get(e);if(t!==void 0)this._progressHandlers.delete(t),this._taskProgressTokens.delete(e)}async _enqueueTaskMessage(e,t,r){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let n=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,r??this._transport?.sessionId,n)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){let r=await this._taskMessageQueue.dequeueAll(e,t);for(let n of r)if(n.type==="request"&&Gi(n.message)){let o=n.message.id,s=this._requestResolvers.get(o);if(s)s(new Z(K.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(o);else this._onerror(Error(`Resolver missing for request ${o} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t,r){let n=this._options?.defaultTaskPollInterval??1000;try{let o=await this._taskStore?.getTask(e,r);if(o?.pollInterval)n=o.pollInterval}catch{}return new Promise((o,s)=>{if(t.aborted){s(new Z(K.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);t.addEventListener("abort",()=>{clearTimeout(i),s(new Z(K.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,t){let r=this._taskStore;if(!r)throw Error("No task store configured");return{createTask:async(n)=>{if(!e)throw Error("No request provided");return await r.createTask(n,e.id,{method:e.method,params:e.params},t)},getTask:async(n)=>{let o=await r.getTask(n,t);if(!o)throw new Z(K.InvalidParams,"Failed to retrieve task: Task not found");return o},storeTaskResult:async(n,o,s)=>{await r.storeTaskResult(n,o,s,t);let i=await r.getTask(n,t);if(i){let a=ea.parse({method:"notifications/tasks/status",params:i});if(await this.notification(a),tn(i.status))this._cleanupTaskProgressHandler(n)}},getTaskResult:(n)=>r.getTaskResult(n,t),updateTaskStatus:async(n,o,s)=>{let i=await r.getTask(n,t);if(!i)throw new Z(K.InvalidParams,`Task "${n}" not found - it may have been cleaned up`);if(tn(i.status))throw new Z(K.InvalidParams,`Cannot update task "${n}" from terminal status "${i.status}" to "${o}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await r.updateTaskStatus(n,o,s,t);let a=await r.getTask(n,t);if(a){let c=ea.parse({method:"notifications/tasks/status",params:a});if(await this.notification(c),tn(a.status))this._cleanupTaskProgressHandler(n)}},listTasks:(n)=>r.listTasks(n,t)}}}function CO(e){return e!==null&&typeof e==="object"&&!Array.isArray(e)}function zO(e,t){let r={...e};for(let n in t){let o=n,s=t[o];if(s===void 0)continue;let i=r[o];if(CO(i)&&CO(s))r[o]={...i,...s};else r[o]=s}return r}var DC=$n(ay(),1),jC=$n(LC(),1);function iee(){let e=new DC.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return jC.default(e),e}class gy{constructor(e){this._ajv=e??iee()}getValidator(e){let t="$id"in e&&typeof e.$id==="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return(r)=>{if(t(r))return{valid:!0,data:r,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}}}class yy{constructor(e){this._client=e}async*callToolStream(e,t=Or,r){let n=this._client,o={...r,task:r?.task??(n.isToolTask(e.name)?{}:void 0)},s=n.requestStream({method:"tools/call",params:e},t,o),i=n.getToolOutputValidator(e.name);for await(let a of s){if(a.type==="result"&&i){let c=a.result;if(!c.structuredContent&&!c.isError){yield{type:"error",error:new Z(K.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(c.structuredContent)try{let u=i(c.structuredContent);if(!u.valid){yield{type:"error",error:new Z(K.InvalidParams,`Structured content does not match the tool's output schema: ${u.errorMessage}`)};return}}catch(u){if(u instanceof Z){yield{type:"error",error:u};return}yield{type:"error",error:new Z(K.InvalidParams,`Failed to validate structured content: ${u instanceof Error?u.message:String(u)}`)};return}}yield a}}async getTask(e,t){return this._client.getTask({taskId:e},t)}async getTaskResult(e,t,r){return this._client.getTaskResult({taskId:e},t,r)}async listTasks(e,t){return this._client.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._client.cancelTask({taskId:e},t)}requestStream(e,t,r){return this._client.requestStream(e,t,r)}}function MC(e,t,r){if(!e)throw Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function qC(e,t,r){if(!e)throw Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}function rd(e,t){if(!e||t===null||typeof t!=="object")return;if(e.type==="object"&&e.properties&&typeof e.properties==="object"){let r=t,n=e.properties;for(let o of Object.keys(n)){let s=n[o];if(r[o]===void 0&&Object.prototype.hasOwnProperty.call(s,"default"))r[o]=s.default;if(r[o]!==void 0)rd(s,r[o])}}if(Array.isArray(e.anyOf)){for(let r of e.anyOf)if(typeof r!=="boolean")rd(r,t)}if(Array.isArray(e.oneOf)){for(let r of e.oneOf)if(typeof r!=="boolean")rd(r,t)}}function aee(e){if(!e)return{supportsFormMode:!1,supportsUrlMode:!1};let t=e.form!==void 0,r=e.url!==void 0;return{supportsFormMode:t||!t&&!r,supportsUrlMode:r}}class by extends kg{constructor(e,t){super(t);if(this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=t?.capabilities??{},this._jsonSchemaValidator=t?.jsonSchemaValidator??new gy,t?.listChanged)this._pendingListChangedConfig=t.listChanged}_setupListChangedHandlers(e){if(e.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",mg,e.tools,async()=>(await this.listTools()).tools);if(e.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",pg,e.prompts,async()=>(await this.listPrompts()).prompts);if(e.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",sg,e.resources,async()=>(await this.listResources()).resources)}get experimental(){if(!this._experimental)this._experimental={tasks:new yy(this)};return this._experimental}registerCapabilities(e){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=zO(this._capabilities,e)}setRequestHandler(e,t){let n=el(e)?.method;if(!n)throw Error("Schema is missing a method literal");let o=tl(n);if(typeof o!=="string")throw Error("Schema method literal must be a string");let s=o;if(s==="elicitation/create"){let i=async(a,c)=>{let u=Bt(bg,a);if(!u.success){let w=u.error instanceof Error?u.error.message:String(u.error);throw new Z(K.InvalidParams,`Invalid elicitation request: ${w}`)}let{params:l}=u.data;l.mode=l.mode??"form";let{supportsFormMode:d,supportsUrlMode:f}=aee(this._capabilities.elicitation);if(l.mode==="form"&&!d)throw new Z(K.InvalidParams,"Client does not support form-mode elicitation requests");if(l.mode==="url"&&!f)throw new Z(K.InvalidParams,"Client does not support URL-mode elicitation requests");let m=await Promise.resolve(t(a,c));if(l.task){let w=Bt(Zn,m);if(!w.success){let T=w.error instanceof Error?w.error.message:String(w.error);throw new Z(K.InvalidParams,`Invalid task creation result: ${T}`)}return w.data}let h=Bt(wg,m);if(!h.success){let w=h.error instanceof Error?h.error.message:String(h.error);throw new Z(K.InvalidParams,`Invalid elicitation result: ${w}`)}let g=h.data,y=l.mode==="form"?l.requestedSchema:void 0;if(l.mode==="form"&&g.action==="accept"&&g.content&&y){if(this._capabilities.elicitation?.form?.applyDefaults)try{rd(y,g.content)}catch{}}return g};return super.setRequestHandler(e,i)}if(s==="sampling/createMessage"){let i=async(a,c)=>{let u=Bt(hg,a);if(!u.success){let g=u.error instanceof Error?u.error.message:String(u.error);throw new Z(K.InvalidParams,`Invalid sampling request: ${g}`)}let{params:l}=u.data,d=await Promise.resolve(t(a,c));if(l.task){let g=Bt(Zn,d);if(!g.success){let y=g.error instanceof Error?g.error.message:String(g.error);throw new Z(K.InvalidParams,`Invalid task creation result: ${y}`)}return g.data}let m=l.tools||l.toolChoice?yg:gg,h=Bt(m,d);if(!h.success){let g=h.error instanceof Error?h.error.message:String(h.error);throw new Z(K.InvalidParams,`Invalid sampling result: ${g}`)}return h.data};return super.setRequestHandler(e,i)}return super.setRequestHandler(e,t)}assertCapability(e,t){if(!this._serverCapabilities?.[e])throw Error(`Server does not support ${e} (required for ${t})`)}async connect(e,t){if(await super.connect(e),e.sessionId!==void 0)return;try{let r=await this.request({method:"initialize",params:{protocolVersion:Uo,capabilities:this._capabilities,clientInfo:this._clientInfo}},Qh,t);if(r===void 0)throw Error(`Server sent invalid initialize result: ${r}`);if(!fO.includes(r.protocolVersion))throw Error(`Server's protocol version is not supported: ${r.protocolVersion}`);if(this._serverCapabilities=r.capabilities,this._serverVersion=r.serverInfo,e.setProtocolVersion)e.setProtocolVersion(r.protocolVersion);if(this._instructions=r.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(r){throw this.close(),r}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){switch(e){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${e})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${e})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(!this._capabilities)return;switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${e})`);break;case"ping":break}}assertTaskCapability(e){MC(this._serverCapabilities?.tasks?.requests,e,"Server")}assertTaskHandlerCapability(e){if(!this._capabilities)return;qC(this._capabilities.tasks?.requests,e,"Client")}async ping(e){return this.request({method:"ping"},Vn,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},_g,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},Vn,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},dg,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},ig,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},tg,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},rg,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},og,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},Vn,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},Vn,t)}async callTool(e,t=Or,r){if(this.isToolTaskRequired(e.name))throw new Z(K.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let n=await this.request({method:"tools/call",params:e},t,r),o=this.getToolOutputValidator(e.name);if(o){if(!n.structuredContent&&!n.isError)throw new Z(K.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(n.structuredContent)try{let s=o(n.structuredContent);if(!s.valid)throw new Z(K.InvalidParams,`Structured content does not match the tool's output schema: ${s.errorMessage}`)}catch(s){if(s instanceof Z)throw s;throw new Z(K.InvalidParams,`Failed to validate structured content: ${s instanceof Error?s.message:String(s)}`)}}return n}isToolTask(e){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(e)}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let t of e){if(t.outputSchema){let n=this._jsonSchemaValidator.getValidator(t.outputSchema);this._cachedToolOutputValidators.set(t.name,n)}let r=t.execution?.taskSupport;if(r==="required"||r==="optional")this._cachedKnownTaskTools.add(t.name);if(r==="required")this._cachedRequiredTaskTools.add(t.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){let r=await this.request({method:"tools/list",params:e},fg,t);return this.cacheToolMetadata(r.tools),r}_setupListChangedHandler(e,t,r,n){let o=IO.safeParse(r);if(!o.success)throw Error(`Invalid ${e} listChanged options: ${o.error.message}`);if(typeof r.onChanged!=="function")throw Error(`Invalid ${e} listChanged options: onChanged must be a function`);let{autoRefresh:s,debounceMs:i}=o.data,{onChanged:a}=r,c=async()=>{if(!s){a(null,null);return}try{let l=await n();a(null,l)}catch(l){let d=l instanceof Error?l:Error(String(l));a(d,null)}},u=()=>{if(i){let l=this._listChangedDebounceTimers.get(e);if(l)clearTimeout(l);let d=setTimeout(c,i);this._listChangedDebounceTimers.set(e,d)}else c()};this.setNotificationHandler(t,u)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}/*!
|
|
544
|
+
`),_$(kt.default.dim("Setting up Tripwire in your coding agents")),i.length===0)return Ne.warn("No AI coding tools found"),vi("Install a supported coding agent, then run this again."),1;Ne.step(`Detected ${MP.format(i.map(({agent:h})=>h.name))}`);let c=i;if(s){let h=await O3(i);if(h===null)return ou("Cancelled"),1;c=h}if(c.length===0)return vi("No agents selected"),0;let u=s?Si():null;u?.start("Installing the Tripwire MCP and skill");let l=await Promise.all(c.map(async({agent:h})=>({agent:h,result:await cg(h,r,a)})));if(u?.stop("Installed the Tripwire MCP and skill"),!u)Ne.step("Installed the Tripwire MCP and skill");for(let h of l)(h.result.kind==="done"?Ne.success:Ne.error)(`${h.agent.name}
|
|
545
|
+
${T3(e,h)}`);let d=!0;if(s){if(d=await A3(e,l),l.some(({result:h})=>h.kind==="done"))await z3(e,n)}else C3(l,o,n);let f=l.filter(({result:h})=>h.kind==="done").map(({agent:h})=>h.name);if(f.length>0)vi(`Done. Restart ${MP.format(f)}.`);else vi("Nothing was installed");return l.every(({result:h})=>h.kind==="done")&&d?0:1}import{dirname as Nd,resolve as bz}from"node:path";import{chmodSync as N3,mkdirSync as L3,readFileSync as j3,renameSync as D3,rmSync as M3,writeFileSync as q3}from"node:fs";import{join as ug}from"node:path";var F3=w({accessToken:p().min(1),refreshToken:p().min(1).optional(),expiresAt:O().optional(),mcpUrl:p(),authUrl:p()}),sl="tripwire-cli",il="default";function dg(e){if(!e)return null;try{let t=F3.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}function U3(e){return ug(e.env.XDG_CONFIG_HOME||ug(e.home,".config"),"tripwire","credentials.json")}function lg(e){let t=U3(e);return{kind:"file",location:t,read:async()=>{try{return dg(j3(t,"utf8"))}catch{return null}},write:async(r)=>{let n=ug(t,"..");L3(n,{recursive:!0,mode:448});let o=`${t}.${process.pid}.tmp`;q3(o,JSON.stringify(r),{mode:384}),N3(o,384),D3(o,t)},clear:async()=>{M3(t,{force:!0})}}}function W3(e){return Buffer.from(e,"utf8").toString("hex")}function V3(e,t){return{kind:"keychain",location:"macOS keychain",read:async()=>{let r=await e.run(t,["find-generic-password","-a",il,"-s",sl,"-w"]);return r.ok?dg(r.stdout):null},write:async(r)=>{let n=`add-generic-password -U -a ${il} -s ${sl} -l Tripwire -X ${W3(JSON.stringify(r))}
|
|
546
|
+
`;if(!(await e.run(t,["-i"],n)).ok)throw Error("Could not save the token to the macOS keychain")},clear:async()=>{await e.run(t,["delete-generic-password","-a",il,"-s",sl])}}}function Z3(e,t){let r=["service",sl,"account",il];return{kind:"secret-service",location:"Secret Service keyring",read:async()=>{let n=await e.run(t,["lookup",...r]);return n.ok?dg(n.stdout):null},write:async(n)=>{if(!(await e.run(t,["store","--label=Tripwire",...r],JSON.stringify(n))).ok)throw Error("Could not save the token to the keyring")},clear:async()=>{await e.run(t,["clear",...r])}}}function WP(e,t){let r=lg(t);return{kind:e.kind,location:e.location,read:async()=>await e.read()??await r.read(),write:(n)=>e.write(n),clear:async()=>{await e.clear(),await r.clear()}}}function Ko(e){if(e.env.TRIPWIRE_CREDENTIAL_STORE==="file")return lg(e);if(e.platform==="darwin"){let t=e.which("security");if(t)return WP(V3(e,t),e)}if(e.platform==="linux"){let t=e.which("secret-tool");if(t)return WP(Z3(e,t),e)}return lg(e)}class Qi extends Error{constructor(e="Not signed in. Run tripwire login."){super(e);this.name="NotSignedInError"}}var B3=30000;async function pg(e,t){let r=ho(e.env),n=e.env.TRIPWIRE_TOKEN;if(n)return{token:n,mcpUrl:r,source:"env"};let o=Ko(e),s=await o.read();if(!s)throw new Qi;if(s.expiresAt&&s.expiresAt-B3<t.now()){let i=await Ok(t,s).catch((a)=>{if(a instanceof Js)throw a;throw new Qi("Session expired. Run tripwire login.")});return await o.write(i),{token:i.accessToken,mcpUrl:e.env.TRIPWIRE_MCP_URL||i.mcpUrl,source:o.kind}}return{token:s.accessToken,mcpUrl:e.env.TRIPWIRE_MCP_URL||s.mcpUrl,source:o.kind}}function al(e){return!!e._zod}function Gt(e,t){if(al(e))return sp(e,t);return e.safeParse(t)}function cl(e){if(!e)return;let t;if(al(e))t=e._zod?.def?.shape;else t=e.shape;if(!t)return;if(typeof t==="function")try{return t()}catch{return}return t}function ul(e){if(al(e)){let s=e._zod?.def;if(s){if(s.value!==void 0)return s.value;if(Array.isArray(s.values)&&s.values.length>0)return s.values[0]}}let r=e._def;if(r){if(r.value!==void 0)return r.value;if(Array.isArray(r.values)&&r.values.length>0)return r.values[0]}let n=e.value;if(n!==void 0)return n;return}var Go="2025-11-25";var VP=[Go,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],sn="io.modelcontextprotocol/related-task",dl="2.0",Ue=pc((e)=>e!==null&&(typeof e==="object"||typeof e==="function")),ZP=te([p(),O().int()]),BP=p(),Rye=_e({ttl:O().optional(),pollInterval:O().optional()}),G3=w({ttl:O().optional()}),J3=w({taskId:p()}),fg=_e({progressToken:ZP.optional(),[sn]:J3.optional()}),xt=w({_meta:fg.optional()}),ea=xt.extend({task:G3.optional()}),KP=(e)=>ea.safeParse(e).success,Ye=w({method:p(),params:xt.loose().optional()}),jt=w({_meta:fg.optional()}),Dt=w({method:p(),params:jt.loose().optional()}),Xe=_e({_meta:fg.optional()}),pl=te([p(),O().int()]),HP=w({jsonrpc:C(dl),id:pl,...Ye.shape}).strict(),ta=(e)=>HP.safeParse(e).success,GP=w({jsonrpc:C(dl),...Dt.shape}).strict(),JP=(e)=>GP.safeParse(e).success,mg=w({jsonrpc:C(dl),id:pl,result:Xe}).strict(),Hn=(e)=>mg.safeParse(e).success;var H;(function(e){e[e.ConnectionClosed=-32000]="ConnectionClosed",e[e.RequestTimeout=-32001]="RequestTimeout",e[e.ParseError=-32700]="ParseError",e[e.InvalidRequest=-32600]="InvalidRequest",e[e.MethodNotFound=-32601]="MethodNotFound",e[e.InvalidParams=-32602]="InvalidParams",e[e.InternalError=-32603]="InternalError",e[e.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(H||(H={}));var hg=w({jsonrpc:C(dl),id:pl.optional(),error:w({code:O().int(),message:p(),data:ne().optional()})}).strict();var YP=(e)=>hg.safeParse(e).success;var fl=te([HP,GP,mg,hg]),Aye=te([mg,hg]),Gn=Xe.strict(),Y3=jt.extend({requestId:pl.optional(),reason:p().optional()}),ml=Dt.extend({method:C("notifications/cancelled"),params:Y3}),X3=w({src:p(),mimeType:p().optional(),sizes:k(p()).optional(),theme:z(["light","dark"]).optional()}),ra=w({icons:k(X3).optional()}),Ho=w({name:p(),title:p().optional()}),XP=Ho.extend({...Ho.shape,...ra.shape,version:p(),websiteUrl:p().optional(),description:p().optional()}),Q3=dc(w({applyDefaults:D().optional()}),K(p(),ne())),eJ=fc((e)=>{if(e&&typeof e==="object"&&!Array.isArray(e)){if(Object.keys(e).length===0)return{form:{}}}return e},dc(w({form:Q3.optional(),url:Ue.optional()}),K(p(),ne()).optional())),tJ=_e({list:Ue.optional(),cancel:Ue.optional(),requests:_e({sampling:_e({createMessage:Ue.optional()}).optional(),elicitation:_e({create:Ue.optional()}).optional()}).optional()}),rJ=_e({list:Ue.optional(),cancel:Ue.optional(),requests:_e({tools:_e({call:Ue.optional()}).optional()}).optional()}),nJ=w({experimental:K(p(),Ue).optional(),sampling:w({context:Ue.optional(),tools:Ue.optional()}).optional(),elicitation:eJ.optional(),roots:w({listChanged:D().optional()}).optional(),tasks:tJ.optional(),extensions:K(p(),Ue).optional()}),oJ=xt.extend({protocolVersion:p(),capabilities:nJ,clientInfo:XP}),sJ=Ye.extend({method:C("initialize"),params:oJ});var iJ=w({experimental:K(p(),Ue).optional(),logging:Ue.optional(),completions:Ue.optional(),prompts:w({listChanged:D().optional()}).optional(),resources:w({subscribe:D().optional(),listChanged:D().optional()}).optional(),tools:w({listChanged:D().optional()}).optional(),tasks:rJ.optional(),extensions:K(p(),Ue).optional()}),gg=Xe.extend({protocolVersion:p(),capabilities:iJ,serverInfo:XP,instructions:p().optional()}),QP=Dt.extend({method:C("notifications/initialized"),params:jt.optional()}),eO=(e)=>QP.safeParse(e).success,hl=Ye.extend({method:C("ping"),params:xt.optional()}),aJ=w({progress:O(),total:Ee(O()),message:Ee(p())}),cJ=w({...jt.shape,...aJ.shape,progressToken:ZP}),gl=Dt.extend({method:C("notifications/progress"),params:cJ}),uJ=xt.extend({cursor:BP.optional()}),na=Ye.extend({params:uJ.optional()}),oa=Xe.extend({nextCursor:BP.optional()}),lJ=z(["working","input_required","completed","failed","cancelled"]),sa=w({taskId:p(),status:lJ,ttl:te([O(),Ks()]),createdAt:p(),lastUpdatedAt:p(),pollInterval:Ee(O()),statusMessage:Ee(p())}),Jn=Xe.extend({task:sa}),dJ=jt.merge(sa),ia=Dt.extend({method:C("notifications/tasks/status"),params:dJ}),yl=Ye.extend({method:C("tasks/get"),params:xt.extend({taskId:p()})}),wl=Xe.merge(sa),bl=Ye.extend({method:C("tasks/result"),params:xt.extend({taskId:p()})}),Cye=Xe.loose(),_l=na.extend({method:C("tasks/list")}),vl=oa.extend({tasks:k(sa)}),Sl=Ye.extend({method:C("tasks/cancel"),params:xt.extend({taskId:p()})}),tO=Xe.merge(sa),rO=w({uri:p(),mimeType:Ee(p()),_meta:K(p(),ne()).optional()}),nO=rO.extend({text:p()}),yg=p().refine((e)=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),oO=rO.extend({blob:yg}),aa=z(["user","assistant"]),Jo=w({audience:k(aa).optional(),priority:O().min(0).max(1).optional(),lastModified:gk({offset:!0}).optional()}),sO=w({...Ho.shape,...ra.shape,uri:p(),description:Ee(p()),mimeType:Ee(p()),size:Ee(O()),annotations:Jo.optional(),_meta:Ee(_e({}))}),pJ=w({...Ho.shape,...ra.shape,uriTemplate:p(),description:Ee(p()),mimeType:Ee(p()),annotations:Jo.optional(),_meta:Ee(_e({}))}),fJ=na.extend({method:C("resources/list")}),wg=oa.extend({resources:k(sO)}),mJ=na.extend({method:C("resources/templates/list")}),bg=oa.extend({resourceTemplates:k(pJ)}),_g=xt.extend({uri:p()}),hJ=_g,gJ=Ye.extend({method:C("resources/read"),params:hJ}),vg=Xe.extend({contents:k(te([nO,oO]))}),Sg=Dt.extend({method:C("notifications/resources/list_changed"),params:jt.optional()}),yJ=_g,wJ=Ye.extend({method:C("resources/subscribe"),params:yJ}),bJ=_g,_J=Ye.extend({method:C("resources/unsubscribe"),params:bJ}),vJ=jt.extend({uri:p()}),SJ=Dt.extend({method:C("notifications/resources/updated"),params:vJ}),kJ=w({name:p(),description:Ee(p()),required:Ee(D())}),xJ=w({...Ho.shape,...ra.shape,description:Ee(p()),arguments:Ee(k(kJ)),_meta:Ee(_e({}))}),$J=na.extend({method:C("prompts/list")}),kg=oa.extend({prompts:k(xJ)}),EJ=xt.extend({name:p(),arguments:K(p(),p()).optional()}),TJ=Ye.extend({method:C("prompts/get"),params:EJ}),xg=w({type:C("text"),text:p(),annotations:Jo.optional(),_meta:K(p(),ne()).optional()}),$g=w({type:C("image"),data:yg,mimeType:p(),annotations:Jo.optional(),_meta:K(p(),ne()).optional()}),Eg=w({type:C("audio"),data:yg,mimeType:p(),annotations:Jo.optional(),_meta:K(p(),ne()).optional()}),PJ=w({type:C("tool_use"),name:p(),id:p(),input:K(p(),ne()),_meta:K(p(),ne()).optional()}),OJ=w({type:C("resource"),resource:te([nO,oO]),annotations:Jo.optional(),_meta:K(p(),ne()).optional()}),IJ=sO.extend({type:C("resource_link")}),Tg=te([xg,$g,Eg,IJ,OJ]),RJ=w({role:aa,content:Tg}),Pg=Xe.extend({description:p().optional(),messages:k(RJ)}),Og=Dt.extend({method:C("notifications/prompts/list_changed"),params:jt.optional()}),AJ=w({title:p().optional(),readOnlyHint:D().optional(),destructiveHint:D().optional(),idempotentHint:D().optional(),openWorldHint:D().optional()}),CJ=w({taskSupport:z(["required","optional","forbidden"]).optional()}),iO=w({...Ho.shape,...ra.shape,description:p().optional(),inputSchema:w({type:C("object"),properties:K(p(),Ue).optional(),required:k(p()).optional()}).catchall(ne()),outputSchema:w({type:C("object"),properties:K(p(),Ue).optional(),required:k(p()).optional()}).catchall(ne()).optional(),annotations:AJ.optional(),execution:CJ.optional(),_meta:K(p(),ne()).optional()}),zJ=na.extend({method:C("tools/list")}),Ig=oa.extend({tools:k(iO)}),Rr=Xe.extend({content:k(Tg).default([]),structuredContent:K(p(),ne()).optional(),isError:D().optional()}),zye=Rr.or(Xe.extend({toolResult:ne()})),NJ=ea.extend({name:p(),arguments:K(p(),ne()).optional()}),LJ=Ye.extend({method:C("tools/call"),params:NJ}),Rg=Dt.extend({method:C("notifications/tools/list_changed"),params:jt.optional()}),aO=w({autoRefresh:D().default(!0),debounceMs:O().int().nonnegative().default(300)}),cO=z(["debug","info","notice","warning","error","critical","alert","emergency"]),jJ=xt.extend({level:cO}),DJ=Ye.extend({method:C("logging/setLevel"),params:jJ}),MJ=jt.extend({level:cO,logger:p().optional(),data:ne()}),qJ=Dt.extend({method:C("notifications/message"),params:MJ}),FJ=w({name:p().optional()}),UJ=w({hints:k(FJ).optional(),costPriority:O().min(0).max(1).optional(),speedPriority:O().min(0).max(1).optional(),intelligencePriority:O().min(0).max(1).optional()}),WJ=w({mode:z(["auto","required","none"]).optional()}),VJ=w({type:C("tool_result"),toolUseId:p().describe("The unique identifier for the corresponding tool call."),content:k(Tg).default([]),structuredContent:w({}).loose().optional(),isError:D().optional(),_meta:K(p(),ne()).optional()}),ZJ=tr("type",[xg,$g,Eg]),ll=tr("type",[xg,$g,Eg,PJ,VJ]),BJ=w({role:aa,content:te([ll,k(ll)]),_meta:K(p(),ne()).optional()}),KJ=ea.extend({messages:k(BJ),modelPreferences:UJ.optional(),systemPrompt:p().optional(),includeContext:z(["none","thisServer","allServers"]).optional(),temperature:O().optional(),maxTokens:O().int(),stopSequences:k(p()).optional(),metadata:Ue.optional(),tools:k(iO).optional(),toolChoice:WJ.optional()}),Ag=Ye.extend({method:C("sampling/createMessage"),params:KJ}),Cg=Xe.extend({model:p(),stopReason:Ee(z(["endTurn","stopSequence","maxTokens"]).or(p())),role:aa,content:ZJ}),zg=Xe.extend({model:p(),stopReason:Ee(z(["endTurn","stopSequence","maxTokens","toolUse"]).or(p())),role:aa,content:te([ll,k(ll)])}),HJ=w({type:C("boolean"),title:p().optional(),description:p().optional(),default:D().optional()}),GJ=w({type:C("string"),title:p().optional(),description:p().optional(),minLength:O().optional(),maxLength:O().optional(),format:z(["email","uri","date","date-time"]).optional(),default:p().optional()}),JJ=w({type:z(["number","integer"]),title:p().optional(),description:p().optional(),minimum:O().optional(),maximum:O().optional(),default:O().optional()}),YJ=w({type:C("string"),title:p().optional(),description:p().optional(),enum:k(p()),default:p().optional()}),XJ=w({type:C("string"),title:p().optional(),description:p().optional(),oneOf:k(w({const:p(),title:p()})),default:p().optional()}),QJ=w({type:C("string"),title:p().optional(),description:p().optional(),enum:k(p()),enumNames:k(p()).optional(),default:p().optional()}),e6=te([YJ,XJ]),t6=w({type:C("array"),title:p().optional(),description:p().optional(),minItems:O().optional(),maxItems:O().optional(),items:w({type:C("string"),enum:k(p())}),default:k(p()).optional()}),r6=w({type:C("array"),title:p().optional(),description:p().optional(),minItems:O().optional(),maxItems:O().optional(),items:w({anyOf:k(w({const:p(),title:p()}))}),default:k(p()).optional()}),n6=te([t6,r6]),o6=te([QJ,e6,n6]),s6=te([o6,HJ,GJ,JJ]),i6=ea.extend({mode:C("form").optional(),message:p(),requestedSchema:w({type:C("object"),properties:K(p(),s6),required:k(p()).optional()})}),a6=ea.extend({mode:C("url"),message:p(),elicitationId:p(),url:p().url()}),c6=te([i6,a6]),Ng=Ye.extend({method:C("elicitation/create"),params:c6}),u6=jt.extend({elicitationId:p()}),l6=Dt.extend({method:C("notifications/elicitation/complete"),params:u6}),Lg=Xe.extend({action:z(["accept","decline","cancel"]),content:fc((e)=>e===null?void 0:e,K(p(),te([p(),O(),D(),k(p())])).optional())}),d6=w({type:C("ref/resource"),uri:p()});var p6=w({type:C("ref/prompt"),name:p()}),f6=xt.extend({ref:te([p6,d6]),argument:w({name:p(),value:p()}),context:w({arguments:K(p(),p()).optional()}).optional()}),m6=Ye.extend({method:C("completion/complete"),params:f6});var jg=Xe.extend({completion:_e({values:k(p()).max(100),total:Ee(O().int()),hasMore:Ee(D())})}),h6=w({uri:p().startsWith("file://"),name:p().optional(),_meta:K(p(),ne()).optional()}),g6=Ye.extend({method:C("roots/list"),params:xt.optional()}),y6=Xe.extend({roots:k(h6)}),w6=Dt.extend({method:C("notifications/roots/list_changed"),params:jt.optional()}),Nye=te([hl,sJ,m6,DJ,TJ,$J,fJ,mJ,gJ,wJ,_J,LJ,zJ,yl,bl,_l,Sl]),Lye=te([ml,gl,QP,w6,ia]),jye=te([Gn,Cg,zg,Lg,y6,wl,vl,Jn]),Dye=te([hl,Ag,Ng,g6,yl,bl,_l,Sl]),Mye=te([ml,gl,qJ,SJ,Sg,Rg,Og,ia,l6]),qye=te([Gn,gg,jg,Pg,kg,wg,bg,vg,Rr,Ig,wl,vl,Jn]);class Z extends Error{constructor(e,t,r){super(`MCP error ${e}: ${t}`);this.code=e,this.data=r,this.name="McpError"}static fromError(e,t,r){if(e===H.UrlElicitationRequired&&r){let n=r;if(n.elicitations)return new uO(n.elicitations,t)}return new Z(e,t,r)}}class uO extends Z{constructor(e,t=`URL elicitation${e.length>1?"s":""} required`){super(H.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}}function an(e){return e==="completed"||e==="failed"||e==="cancelled"}var b6=Symbol("Let zodToJsonSchema decide on which parser to use");var bwe=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Dg(e){let r=cl(e)?.method;if(!r)throw Error("Schema is missing a method literal");let n=ul(r);if(typeof n!=="string")throw Error("Schema method literal must be a string");return n}function Mg(e,t){let r=Gt(e,t);if(!r.success)throw r.error;return r.data}var $6=60000;class qg{constructor(e){if(this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(ml,(t)=>{this._oncancel(t)}),this.setNotificationHandler(gl,(t)=>{this._onprogress(t)}),this.setRequestHandler(hl,(t)=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore)this.setRequestHandler(yl,async(t,r)=>{let n=await this._taskStore.getTask(t.params.taskId,r.sessionId);if(!n)throw new Z(H.InvalidParams,"Failed to retrieve task: Task not found");return{...n}}),this.setRequestHandler(bl,async(t,r)=>{let n=async()=>{let o=t.params.taskId;if(!await this._taskStore.getTask(o,r.sessionId))throw new Z(H.InvalidParams,`Task not found: ${o}`);if(this._taskMessageQueue){let i;while(i=await this._taskMessageQueue.dequeue(o,r.sessionId)){if(i.type==="response"||i.type==="error"){let a=i.message,c=a.id,u=this._requestResolvers.get(c);if(u)if(this._requestResolvers.delete(c),i.type==="response")u(a);else{let l=a,d=new Z(l.error.code,l.error.message,l.error.data);u(d)}else{let l=i.type==="response"?"Response":"Error";this._onerror(Error(`${l} handler missing for request ${c}`))}continue}await this._transport?.send(i.message,{relatedRequestId:r.requestId})}}let s=await this._taskStore.getTask(o,r.sessionId);if(!s)throw new Z(H.InvalidParams,`Task not found: ${o}`);if(!an(s.status))return await this._waitForTaskUpdate(o,r.signal,r.sessionId),await n();if(an(s.status)){let i=await this._taskStore.getTaskResult(o,r.sessionId);return this._clearTaskQueue(o,r.sessionId),{...i,_meta:{...i._meta,[sn]:{taskId:o}}}}return await n()};return await n()}),this.setRequestHandler(_l,async(t,r)=>{try{let{tasks:n,nextCursor:o}=await this._taskStore.listTasks(t.params?.cursor,r.sessionId);return{tasks:n,nextCursor:o,_meta:{}}}catch(n){throw new Z(H.InvalidParams,`Failed to list tasks: ${n instanceof Error?n.message:String(n)}`)}}),this.setRequestHandler(Sl,async(t,r)=>{try{let n=await this._taskStore.getTask(t.params.taskId,r.sessionId);if(!n)throw new Z(H.InvalidParams,`Task not found: ${t.params.taskId}`);if(an(n.status))throw new Z(H.InvalidParams,`Cannot cancel task in terminal status: ${n.status}`);await this._taskStore.updateTaskStatus(t.params.taskId,"cancelled","Client cancelled task execution.",r.sessionId),this._clearTaskQueue(t.params.taskId,r.sessionId);let o=await this._taskStore.getTask(t.params.taskId,r.sessionId);if(!o)throw new Z(H.InvalidParams,`Task not found after cancellation: ${t.params.taskId}`);return{_meta:{},...o}}catch(n){if(n instanceof Z)throw n;throw new Z(H.InvalidRequest,`Failed to cancel task: ${n instanceof Error?n.message:String(n)}`)}})}async _oncancel(e){if(!e.params.requestId)return;this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,r,n,o=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(n,t),startTime:Date.now(),timeout:t,maxTotalTimeout:r,resetTimeoutOnProgress:o,onTimeout:n})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let r=Date.now()-t.startTime;if(t.maxTotalTimeout&&r>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),Z.fromError(H.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:r});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);if(t)clearTimeout(t.timeoutId),this._timeoutInfo.delete(e)}async connect(e){if(this._transport)throw Error("Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.");this._transport=e;let t=this.transport?.onclose;this._transport.onclose=()=>{t?.(),this._onclose()};let r=this.transport?.onerror;this._transport.onerror=(o)=>{r?.(o),this._onerror(o)};let n=this._transport?.onmessage;this._transport.onmessage=(o,s)=>{if(n?.(o,s),Hn(o)||YP(o))this._onresponse(o);else if(ta(o))this._onrequest(o,s);else if(JP(o))this._onnotification(o);else this._onerror(Error(`Unknown message type: ${JSON.stringify(o)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let r of this._timeoutInfo.values())clearTimeout(r.timeoutId);this._timeoutInfo.clear();for(let r of this._requestHandlerAbortControllers.values())r.abort();this._requestHandlerAbortControllers.clear();let t=Z.fromError(H.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let r of e.values())r(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){let t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;if(t===void 0)return;Promise.resolve().then(()=>t(e)).catch((r)=>this._onerror(Error(`Uncaught error in notification handler: ${r}`)))}_onrequest(e,t){let r=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,n=this._transport,o=e.params?._meta?.[sn]?.taskId,s=n?.sessionId,i=this._taskStore,a=!0,c;if(o&&i&&this._taskMessageQueue&&s!==void 0)a=!1,c=(async()=>{if(!await i.getTask(o,s))throw new Z(H.InvalidParams,`Task not found: ${o}`);a=!0})();if(r===void 0){let m={jsonrpc:"2.0",id:e.id,error:{code:H.MethodNotFound,message:"Method not found"}};if(o&&c){let h={type:"error",message:m,timestamp:Date.now()};c.then(()=>this._enqueueTaskMessage(o,h,s),()=>n?.send(m)).catch((g)=>this._onerror(Error(`Failed to send an error response: ${g}`)))}else if(o&&this._taskMessageQueue)this._enqueueTaskMessage(o,{type:"error",message:m,timestamp:Date.now()},n?.sessionId).catch((h)=>this._onerror(Error(`Failed to enqueue error response: ${h}`)));else n?.send(m).catch((h)=>this._onerror(Error(`Failed to send an error response: ${h}`)));return}let u=new AbortController;this._requestHandlerAbortControllers.set(e.id,u);let l=KP(e.params)?e.params.task:void 0,d=this._taskStore?this.requestTaskStore(e,n?.sessionId):void 0,f={signal:u.signal,sessionId:n?.sessionId,_meta:e.params?._meta,sendNotification:async(m)=>{if(u.signal.aborted)return;let h={relatedRequestId:e.id};if(o)h.relatedTask={taskId:o};await this.notification(m,h)},sendRequest:async(m,h,g)=>{if(u.signal.aborted)throw new Z(H.ConnectionClosed,"Request was cancelled");let y={...g,relatedRequestId:e.id};if(o&&!y.relatedTask)y.relatedTask={taskId:o};let b=y.relatedTask?.taskId??o;if(b&&d)await d.updateTaskStatus(b,"input_required");return await this.request(m,h,y)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:o,taskStore:d,taskRequestedTtl:l?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};(c??Promise.resolve()).then(()=>{if(c&&u.signal.aborted)throw new Z(H.ConnectionClosed,"Request was cancelled");if(l)this.assertTaskHandlerCapability(e.method)}).then(()=>r(e,f)).then(async(m)=>{if(u.signal.aborted)return;let h={result:m,jsonrpc:"2.0",id:e.id};if(o&&this._taskMessageQueue)await this._enqueueTaskMessage(o,{type:"response",message:h,timestamp:Date.now()},n?.sessionId);else await n?.send(h)},async(m)=>{if(u.signal.aborted)return;let h={jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(m.code)?m.code:H.InternalError,message:m.message??"Internal error",...m.data!==void 0&&{data:m.data}}};if(o&&this._taskMessageQueue&&a)await this._enqueueTaskMessage(o,{type:"error",message:h,timestamp:Date.now()},n?.sessionId);else await n?.send(h)}).catch((m)=>this._onerror(Error(`Failed to send response: ${m}`))).finally(()=>{if(this._requestHandlerAbortControllers.get(e.id)===u)this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:t,...r}=e.params,n=Number(t),o=this._progressHandlers.get(n);if(!o){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let s=this._responseHandlers.get(n),i=this._timeoutInfo.get(n);if(i&&s&&i.resetTimeoutOnProgress)try{this._resetTimeout(n)}catch(a){this._responseHandlers.delete(n),this._progressHandlers.delete(n),this._cleanupTimeout(n),s(a);return}o(r)}_onresponse(e){let t=Number(e.id),r=this._requestResolvers.get(t);if(r){if(this._requestResolvers.delete(t),Hn(e))r(e);else{let s=new Z(e.error.code,e.error.message,e.error.data);r(s)}return}let n=this._responseHandlers.get(t);if(n===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let o=!1;if(Hn(e)&&e.result&&typeof e.result==="object"){let s=e.result;if(s.task&&typeof s.task==="object"){let i=s.task;if(typeof i.taskId==="string")o=!0,this._taskProgressTokens.set(i.taskId,t)}}if(!o)this._progressHandlers.delete(t);if(Hn(e))n(e);else{let s=Z.fromError(e.error.code,e.error.message,e.error.data);n(s)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,t,r){let{task:n}=r??{};if(!n){try{yield{type:"result",result:await this.request(e,t,r)}}catch(s){yield{type:"error",error:s instanceof Z?s:new Z(H.InternalError,String(s))}}return}let o;try{let s=await this.request(e,Jn,r);if(s.task)o=s.task.taskId,yield{type:"taskCreated",task:s.task};else throw new Z(H.InternalError,"Task creation did not return a task");while(!0){let i=await this.getTask({taskId:o},r);if(yield{type:"taskStatus",task:i},an(i.status)){if(i.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:o},t,r)};else if(i.status==="failed")yield{type:"error",error:new Z(H.InternalError,`Task ${o} failed`)};else if(i.status==="cancelled")yield{type:"error",error:new Z(H.InternalError,`Task ${o} was cancelled`)};return}if(i.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:o},t,r)};return}let a=i.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((c)=>setTimeout(c,a)),r?.signal?.throwIfAborted()}}catch(s){yield{type:"error",error:s instanceof Z?s:new Z(H.InternalError,String(s))}}}request(e,t,r){let{relatedRequestId:n,resumptionToken:o,onresumptiontoken:s,task:i,relatedTask:a}=r??{};return new Promise((c,u)=>{let l=(b)=>{u(b)};if(!this._transport){l(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(e.method),i)this.assertTaskCapability(e.method)}catch(b){l(b);return}r?.signal?.throwIfAborted();let d=this._requestMessageId++,f={...e,jsonrpc:"2.0",id:d};if(r?.onprogress)this._progressHandlers.set(d,r.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:d}};if(i)f.params={...f.params,task:i};if(a)f.params={...f.params,_meta:{...f.params?._meta||{},[sn]:a}};let m=(b)=>{this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:d,reason:String(b)}},{relatedRequestId:n,resumptionToken:o,onresumptiontoken:s}).catch((S)=>this._onerror(Error(`Failed to send cancellation: ${S}`)));let E=b instanceof Z?b:new Z(H.RequestTimeout,String(b));u(E)};this._responseHandlers.set(d,(b)=>{if(r?.signal?.aborted)return;if(b instanceof Error)return u(b);try{let E=Gt(t,b.result);if(!E.success)u(E.error);else c(E.data)}catch(E){u(E)}}),r?.signal?.addEventListener("abort",()=>{m(r?.signal?.reason)});let h=r?.timeout??$6,g=()=>m(Z.fromError(H.RequestTimeout,"Request timed out",{timeout:h}));this._setupTimeout(d,h,r?.maxTotalTimeout,g,r?.resetTimeoutOnProgress??!1);let y=a?.taskId;if(y){let b=(E)=>{let S=this._responseHandlers.get(d);if(S)S(E);else this._onerror(Error(`Response handler missing for side-channeled request ${d}`))};this._requestResolvers.set(d,b),this._enqueueTaskMessage(y,{type:"request",message:f,timestamp:Date.now()}).catch((E)=>{this._cleanupTimeout(d),u(E)})}else this._transport.send(f,{relatedRequestId:n,resumptionToken:o,onresumptiontoken:s}).catch((b)=>{this._cleanupTimeout(d),u(b)})})}async getTask(e,t){return this.request({method:"tasks/get",params:e},wl,t)}async getTaskResult(e,t,r){return this.request({method:"tasks/result",params:e},t,r)}async listTasks(e,t){return this.request({method:"tasks/list",params:e},vl,t)}async cancelTask(e,t){return this.request({method:"tasks/cancel",params:e},tO,t)}async notification(e,t){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(e.method);let r=t?.relatedTask?.taskId;if(r){let i={...e,jsonrpc:"2.0",params:{...e.params,_meta:{...e.params?._meta||{},[sn]:t.relatedTask}}};await this._enqueueTaskMessage(r,{type:"notification",message:i,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!t?.relatedRequestId&&!t?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let i={...e,jsonrpc:"2.0"};if(t?.relatedTask)i={...i,params:{...i.params,_meta:{...i.params?._meta||{},[sn]:t.relatedTask}}};this._transport?.send(i,t).catch((a)=>this._onerror(a))});return}let s={...e,jsonrpc:"2.0"};if(t?.relatedTask)s={...s,params:{...s.params,_meta:{...s.params?._meta||{},[sn]:t.relatedTask}}};await this._transport.send(s,t)}setRequestHandler(e,t){let r=Dg(e);this.assertRequestHandlerCapability(r),this._requestHandlers.set(r,(n,o)=>{let s=Mg(e,n);return Promise.resolve(t(s,o))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){let r=Dg(e);this._notificationHandlers.set(r,(n)=>{let o=Mg(e,n);return Promise.resolve(t(o))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let t=this._taskProgressTokens.get(e);if(t!==void 0)this._progressHandlers.delete(t),this._taskProgressTokens.delete(e)}async _enqueueTaskMessage(e,t,r){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let n=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,r??this._transport?.sessionId,n)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){let r=await this._taskMessageQueue.dequeueAll(e,t);for(let n of r)if(n.type==="request"&&ta(n.message)){let o=n.message.id,s=this._requestResolvers.get(o);if(s)s(new Z(H.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(o);else this._onerror(Error(`Resolver missing for request ${o} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t,r){let n=this._options?.defaultTaskPollInterval??1000;try{let o=await this._taskStore?.getTask(e,r);if(o?.pollInterval)n=o.pollInterval}catch{}return new Promise((o,s)=>{if(t.aborted){s(new Z(H.InvalidRequest,"Request cancelled"));return}let i=setTimeout(o,n);t.addEventListener("abort",()=>{clearTimeout(i),s(new Z(H.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(e,t){let r=this._taskStore;if(!r)throw Error("No task store configured");return{createTask:async(n)=>{if(!e)throw Error("No request provided");return await r.createTask(n,e.id,{method:e.method,params:e.params},t)},getTask:async(n)=>{let o=await r.getTask(n,t);if(!o)throw new Z(H.InvalidParams,"Failed to retrieve task: Task not found");return o},storeTaskResult:async(n,o,s)=>{await r.storeTaskResult(n,o,s,t);let i=await r.getTask(n,t);if(i){let a=ia.parse({method:"notifications/tasks/status",params:i});if(await this.notification(a),an(i.status))this._cleanupTaskProgressHandler(n)}},getTaskResult:(n)=>r.getTaskResult(n,t),updateTaskStatus:async(n,o,s)=>{let i=await r.getTask(n,t);if(!i)throw new Z(H.InvalidParams,`Task "${n}" not found - it may have been cleaned up`);if(an(i.status))throw new Z(H.InvalidParams,`Cannot update task "${n}" from terminal status "${i.status}" to "${o}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await r.updateTaskStatus(n,o,s,t);let a=await r.getTask(n,t);if(a){let c=ia.parse({method:"notifications/tasks/status",params:a});if(await this.notification(c),an(a.status))this._cleanupTaskProgressHandler(n)}},listTasks:(n)=>r.listTasks(n,t)}}}function lO(e){return e!==null&&typeof e==="object"&&!Array.isArray(e)}function dO(e,t){let r={...e};for(let n in t){let o=n,s=t[o];if(s===void 0)continue;let i=r[o];if(lO(i)&&lO(s))r[o]={...i,...s};else r[o]=s}return r}var m1=On(xy(),1),h1=On(f1(),1);function lte(){let e=new m1.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return h1.default(e),e}class Cy{constructor(e){this._ajv=e??lte()}getValidator(e){let t="$id"in e&&typeof e.$id==="string"?this._ajv.getSchema(e.$id)??this._ajv.compile(e):this._ajv.compile(e);return(r)=>{if(t(r))return{valid:!0,data:r,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}}}class zy{constructor(e){this._client=e}async*callToolStream(e,t=Rr,r){let n=this._client,o={...r,task:r?.task??(n.isToolTask(e.name)?{}:void 0)},s=n.requestStream({method:"tools/call",params:e},t,o),i=n.getToolOutputValidator(e.name);for await(let a of s){if(a.type==="result"&&i){let c=a.result;if(!c.structuredContent&&!c.isError){yield{type:"error",error:new Z(H.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(c.structuredContent)try{let u=i(c.structuredContent);if(!u.valid){yield{type:"error",error:new Z(H.InvalidParams,`Structured content does not match the tool's output schema: ${u.errorMessage}`)};return}}catch(u){if(u instanceof Z){yield{type:"error",error:u};return}yield{type:"error",error:new Z(H.InvalidParams,`Failed to validate structured content: ${u instanceof Error?u.message:String(u)}`)};return}}yield a}}async getTask(e,t){return this._client.getTask({taskId:e},t)}async getTaskResult(e,t,r){return this._client.getTaskResult({taskId:e},t,r)}async listTasks(e,t){return this._client.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._client.cancelTask({taskId:e},t)}requestStream(e,t,r){return this._client.requestStream(e,t,r)}}function g1(e,t,r){if(!e)throw Error(`${r} does not support task creation (required for ${t})`);switch(t){case"tools/call":if(!e.tools?.call)throw Error(`${r} does not support task creation for tools/call (required for ${t})`);break;default:break}}function y1(e,t,r){if(!e)throw Error(`${r} does not support task creation (required for ${t})`);switch(t){case"sampling/createMessage":if(!e.sampling?.createMessage)throw Error(`${r} does not support task creation for sampling/createMessage (required for ${t})`);break;case"elicitation/create":if(!e.elicitation?.create)throw Error(`${r} does not support task creation for elicitation/create (required for ${t})`);break;default:break}}function ld(e,t){if(!e||t===null||typeof t!=="object")return;if(e.type==="object"&&e.properties&&typeof e.properties==="object"){let r=t,n=e.properties;for(let o of Object.keys(n)){let s=n[o];if(r[o]===void 0&&Object.prototype.hasOwnProperty.call(s,"default"))r[o]=s.default;if(r[o]!==void 0)ld(s,r[o])}}if(Array.isArray(e.anyOf)){for(let r of e.anyOf)if(typeof r!=="boolean")ld(r,t)}if(Array.isArray(e.oneOf)){for(let r of e.oneOf)if(typeof r!=="boolean")ld(r,t)}}function dte(e){if(!e)return{supportsFormMode:!1,supportsUrlMode:!1};let t=e.form!==void 0,r=e.url!==void 0;return{supportsFormMode:t||!t&&!r,supportsUrlMode:r}}class Ny extends qg{constructor(e,t){super(t);if(this._clientInfo=e,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=t?.capabilities??{},this._jsonSchemaValidator=t?.jsonSchemaValidator??new Cy,t?.listChanged)this._pendingListChangedConfig=t.listChanged}_setupListChangedHandlers(e){if(e.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",Rg,e.tools,async()=>(await this.listTools()).tools);if(e.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",Og,e.prompts,async()=>(await this.listPrompts()).prompts);if(e.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",Sg,e.resources,async()=>(await this.listResources()).resources)}get experimental(){if(!this._experimental)this._experimental={tasks:new zy(this)};return this._experimental}registerCapabilities(e){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=dO(this._capabilities,e)}setRequestHandler(e,t){let n=cl(e)?.method;if(!n)throw Error("Schema is missing a method literal");let o=ul(n);if(typeof o!=="string")throw Error("Schema method literal must be a string");let s=o;if(s==="elicitation/create"){let i=async(a,c)=>{let u=Gt(Ng,a);if(!u.success){let b=u.error instanceof Error?u.error.message:String(u.error);throw new Z(H.InvalidParams,`Invalid elicitation request: ${b}`)}let{params:l}=u.data;l.mode=l.mode??"form";let{supportsFormMode:d,supportsUrlMode:f}=dte(this._capabilities.elicitation);if(l.mode==="form"&&!d)throw new Z(H.InvalidParams,"Client does not support form-mode elicitation requests");if(l.mode==="url"&&!f)throw new Z(H.InvalidParams,"Client does not support URL-mode elicitation requests");let m=await Promise.resolve(t(a,c));if(l.task){let b=Gt(Jn,m);if(!b.success){let E=b.error instanceof Error?b.error.message:String(b.error);throw new Z(H.InvalidParams,`Invalid task creation result: ${E}`)}return b.data}let h=Gt(Lg,m);if(!h.success){let b=h.error instanceof Error?h.error.message:String(h.error);throw new Z(H.InvalidParams,`Invalid elicitation result: ${b}`)}let g=h.data,y=l.mode==="form"?l.requestedSchema:void 0;if(l.mode==="form"&&g.action==="accept"&&g.content&&y){if(this._capabilities.elicitation?.form?.applyDefaults)try{ld(y,g.content)}catch{}}return g};return super.setRequestHandler(e,i)}if(s==="sampling/createMessage"){let i=async(a,c)=>{let u=Gt(Ag,a);if(!u.success){let g=u.error instanceof Error?u.error.message:String(u.error);throw new Z(H.InvalidParams,`Invalid sampling request: ${g}`)}let{params:l}=u.data,d=await Promise.resolve(t(a,c));if(l.task){let g=Gt(Jn,d);if(!g.success){let y=g.error instanceof Error?g.error.message:String(g.error);throw new Z(H.InvalidParams,`Invalid task creation result: ${y}`)}return g.data}let m=l.tools||l.toolChoice?zg:Cg,h=Gt(m,d);if(!h.success){let g=h.error instanceof Error?h.error.message:String(h.error);throw new Z(H.InvalidParams,`Invalid sampling result: ${g}`)}return h.data};return super.setRequestHandler(e,i)}return super.setRequestHandler(e,t)}assertCapability(e,t){if(!this._serverCapabilities?.[e])throw Error(`Server does not support ${e} (required for ${t})`)}async connect(e,t){if(await super.connect(e),e.sessionId!==void 0)return;try{let r=await this.request({method:"initialize",params:{protocolVersion:Go,capabilities:this._capabilities,clientInfo:this._clientInfo}},gg,t);if(r===void 0)throw Error(`Server sent invalid initialize result: ${r}`);if(!VP.includes(r.protocolVersion))throw Error(`Server's protocol version is not supported: ${r.protocolVersion}`);if(this._serverCapabilities=r.capabilities,this._serverVersion=r.serverInfo,e.setProtocolVersion)e.setProtocolVersion(r.protocolVersion);if(this._instructions=r.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(r){throw this.close(),r}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(e){switch(e){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${e})`);if(e==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${e})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${e})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${e})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){if(!this._capabilities)return;switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${e})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${e})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${e})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${e})`);break;case"ping":break}}assertTaskCapability(e){g1(this._serverCapabilities?.tasks?.requests,e,"Server")}assertTaskHandlerCapability(e){if(!this._capabilities)return;y1(this._capabilities.tasks?.requests,e,"Client")}async ping(e){return this.request({method:"ping"},Gn,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},jg,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},Gn,t)}async getPrompt(e,t){return this.request({method:"prompts/get",params:e},Pg,t)}async listPrompts(e,t){return this.request({method:"prompts/list",params:e},kg,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},wg,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},bg,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},vg,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},Gn,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},Gn,t)}async callTool(e,t=Rr,r){if(this.isToolTaskRequired(e.name))throw new Z(H.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let n=await this.request({method:"tools/call",params:e},t,r),o=this.getToolOutputValidator(e.name);if(o){if(!n.structuredContent&&!n.isError)throw new Z(H.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(n.structuredContent)try{let s=o(n.structuredContent);if(!s.valid)throw new Z(H.InvalidParams,`Structured content does not match the tool's output schema: ${s.errorMessage}`)}catch(s){if(s instanceof Z)throw s;throw new Z(H.InvalidParams,`Failed to validate structured content: ${s instanceof Error?s.message:String(s)}`)}}return n}isToolTask(e){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(e)}isToolTaskRequired(e){return this._cachedRequiredTaskTools.has(e)}cacheToolMetadata(e){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let t of e){if(t.outputSchema){let n=this._jsonSchemaValidator.getValidator(t.outputSchema);this._cachedToolOutputValidators.set(t.name,n)}let r=t.execution?.taskSupport;if(r==="required"||r==="optional")this._cachedKnownTaskTools.add(t.name);if(r==="required")this._cachedRequiredTaskTools.add(t.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){let r=await this.request({method:"tools/list",params:e},Ig,t);return this.cacheToolMetadata(r.tools),r}_setupListChangedHandler(e,t,r,n){let o=aO.safeParse(r);if(!o.success)throw Error(`Invalid ${e} listChanged options: ${o.error.message}`);if(typeof r.onChanged!=="function")throw Error(`Invalid ${e} listChanged options: onChanged must be a function`);let{autoRefresh:s,debounceMs:i}=o.data,{onChanged:a}=r,c=async()=>{if(!s){a(null,null);return}try{let l=await n();a(null,l)}catch(l){let d=l instanceof Error?l:Error(String(l));a(d,null)}},u=()=>{if(i){let l=this._listChangedDebounceTimers.get(e);if(l)clearTimeout(l);let d=setTimeout(c,i);this._listChangedDebounceTimers.set(e,d)}else c()};this.setNotificationHandler(t,u)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}/*!
|
|
534
547
|
* content-type
|
|
535
548
|
* Copyright(c) 2015 Douglas Christopher Wilson
|
|
536
549
|
* MIT Licensed
|
|
537
|
-
*/var FC=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g;var cee=/\\([\u000b\u0020-\u00ff])/g;var uee=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;var UC=lee;function lee(e){if(!e)throw TypeError("argument string is required");var t=typeof e==="object"?dee(e):e;if(typeof t!=="string")throw TypeError("argument string is required to be a string");var r=t.indexOf(";"),n=r!==-1?t.slice(0,r).trim():t.trim();if(!uee.test(n))throw TypeError("invalid media type");var o=new pee(n.toLowerCase());if(r!==-1){var s,i,a;FC.lastIndex=r;while(i=FC.exec(t)){if(i.index!==r)throw TypeError("invalid parameter format");if(r+=i[0].length,s=i[1].toLowerCase(),a=i[2],a.charCodeAt(0)===34){if(a=a.slice(1,-1),a.indexOf("\\")!==-1)a=a.replace(cee,"$1")}o.parameters[s]=a}if(r!==t.length)throw TypeError("invalid parameter format")}return o}function dee(e){var t;if(typeof e.getHeader==="function")t=e.getHeader("content-type");else if(typeof e.headers==="object")t=e.headers&&e.headers["content-type"];if(typeof t!=="string")throw TypeError("content-type header is missing from object");return t}function pee(e){this.parameters=Object.create(null),this.type=e}function WC(e){if(!e)return;try{return UC(e).type}catch{let t=(e.split(";",1)[0]??"").trim().toLowerCase();if(t===""||e.slice(t.length).includes(","))return;return t}}function nd(e){if(!e)return{};if(e instanceof Headers)return Object.fromEntries(e.entries());if(Array.isArray(e))return Object.fromEntries(e);return{...e}}function VC(e=fetch,t){if(!t)return e;return async(r,n)=>{let o={...t,...n,headers:n?.headers?{...nd(t.headers),...nd(n.headers)}:t.headers};return e(r,o)}}var mee=5,hee=[301,302,303,307,308];function gee(e,t){if(e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port)return!0;return e.hostname===t.hostname&&e.protocol==="http:"&&e.port===""&&t.protocol==="https:"&&t.port===""}function ZC(e,t){let r=hee.includes(e.status)?e.headers.get("location"):null;try{return r?new URL(r,t):void 0}catch{return}}function od(e,t,r,n,o=0){let s=ZC(n,t),i=n.status===307||n.status===308||(r?.method??"GET").toUpperCase()==="GET";if(!s||o===mee||!i)return;let a=new URL(t);if((s.username||s.password)&&(s.username!==a.username||s.password!==a.password)||!gee(a,s))return;return Promise.resolve(n.body?.cancel()).then(()=>e(s,{...r,redirect:"manual"})).then((u)=>od(e,s,r,u,o+1)??u)}var BC=new WeakSet;function wy(e){let t=(r,n)=>(e??fetch)(r,n);return BC.add(t),t}function Yn(e=fetch){if(BC.has(e))return e;return(t,r)=>{if(r?.redirect==="error"||r?.redirect==="manual")return e(t,r);return Promise.resolve(e(t,{...r,redirect:"manual"})).then((n)=>od(e,t,r,n)??n)}}function sd(e,t){if(e.type==="opaqueredirect")return"Redirect not followed: this runtime does not expose the redirect target";let r=e.url||t,n=ZC(e,r);if(!n)return;if(n.username=n.password=n.search=n.hash="",n.protocol==="http:"&&new URL(r).protocol==="https:")return n.protocol="https:",`Redirect to plain http not followed; try ${n.href} instead`;return`Redirect to ${n.href} not followed`}var _y;_y=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((e)=>e.webcrypto);async function yee(e){return(await _y).getRandomValues(new Uint8Array(e))}async function bee(e){let r=Math.pow(2,8)-Math.pow(2,8)%66,n="";while(n.length<e){let o=await yee(e-n.length);for(let s of o)if(s<r)n+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[s%66]}return n}async function wee(e){return await bee(e)}async function _ee(e){let t=await(await _y).subtle.digest("SHA-256",new TextEncoder().encode(e));return btoa(String.fromCharCode(...new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function vy(e){if(!e)e=43;if(e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;let t=await wee(e),r=await _ee(t);return{code_verifier:t,code_challenge:r}}var Qe=qs().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:VS.custom,message:"URL must be parseable",fatal:!0}),Md}).refine((e)=>{let t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),HC=xe({resource:p().url(),authorization_servers:x(Qe).optional(),jwks_uri:p().url().optional(),scopes_supported:x(p()).optional(),bearer_methods_supported:x(p()).optional(),resource_signing_alg_values_supported:x(p()).optional(),resource_name:p().optional(),resource_documentation:p().optional(),resource_policy_uri:p().url().optional(),resource_tos_uri:p().url().optional(),tls_client_certificate_bound_access_tokens:j().optional(),authorization_details_types_supported:x(p()).optional(),dpop_signing_alg_values_supported:x(p()).optional(),dpop_bound_access_tokens_required:j().optional()}),Sy=xe({issuer:p(),authorization_endpoint:Qe,token_endpoint:Qe,registration_endpoint:Qe.optional(),scopes_supported:x(p()).optional(),response_types_supported:x(p()),response_modes_supported:x(p()).optional(),grant_types_supported:x(p()).optional(),token_endpoint_auth_methods_supported:x(p()).optional(),token_endpoint_auth_signing_alg_values_supported:x(p()).optional(),service_documentation:Qe.optional(),revocation_endpoint:Qe.optional(),revocation_endpoint_auth_methods_supported:x(p()).optional(),revocation_endpoint_auth_signing_alg_values_supported:x(p()).optional(),introspection_endpoint:p().optional(),introspection_endpoint_auth_methods_supported:x(p()).optional(),introspection_endpoint_auth_signing_alg_values_supported:x(p()).optional(),code_challenge_methods_supported:x(p()).optional(),client_id_metadata_document_supported:j().optional()}),vee=xe({issuer:p(),authorization_endpoint:Qe,token_endpoint:Qe,userinfo_endpoint:Qe.optional(),jwks_uri:Qe,registration_endpoint:Qe.optional(),scopes_supported:x(p()).optional(),response_types_supported:x(p()),response_modes_supported:x(p()).optional(),grant_types_supported:x(p()).optional(),acr_values_supported:x(p()).optional(),subject_types_supported:x(p()),id_token_signing_alg_values_supported:x(p()),id_token_encryption_alg_values_supported:x(p()).optional(),id_token_encryption_enc_values_supported:x(p()).optional(),userinfo_signing_alg_values_supported:x(p()).optional(),userinfo_encryption_alg_values_supported:x(p()).optional(),userinfo_encryption_enc_values_supported:x(p()).optional(),request_object_signing_alg_values_supported:x(p()).optional(),request_object_encryption_alg_values_supported:x(p()).optional(),request_object_encryption_enc_values_supported:x(p()).optional(),token_endpoint_auth_methods_supported:x(p()).optional(),token_endpoint_auth_signing_alg_values_supported:x(p()).optional(),display_values_supported:x(p()).optional(),claim_types_supported:x(p()).optional(),claims_supported:x(p()).optional(),service_documentation:p().optional(),claims_locales_supported:x(p()).optional(),ui_locales_supported:x(p()).optional(),claims_parameter_supported:j().optional(),request_parameter_supported:j().optional(),request_uri_parameter_supported:j().optional(),require_request_uri_registration:j().optional(),op_policy_uri:Qe.optional(),op_tos_uri:Qe.optional(),client_id_metadata_document_supported:j().optional()}),GC=b({...vee.shape,...Sy.pick({code_challenge_methods_supported:!0}).shape}),JC=b({access_token:p(),id_token:p().optional(),token_type:p(),expires_in:jL().optional(),scope:p().optional(),refresh_token:p().optional(),issuer:p().optional().catch(void 0)}).strip(),YC=b({error:p(),error_description:p().optional(),error_uri:p().optional()}),KC=Qe.optional().or(C("").transform(()=>{return})),See=b({redirect_uris:x(Qe),token_endpoint_auth_method:p().optional(),grant_types:x(p()).optional(),response_types:x(p()).optional(),client_name:p().optional(),client_uri:Qe.optional(),logo_uri:KC,scope:p().optional(),contacts:x(p()).optional(),tos_uri:KC,policy_uri:p().optional(),jwks_uri:Qe.optional(),jwks:LS().optional(),software_id:p().optional(),software_version:p().optional(),software_statement:p().optional()}).strip(),kee=b({client_id:p(),client_secret:p().optional(),client_id_issued_at:P().optional(),client_secret_expires_at:P().optional(),issuer:p().optional().catch(void 0)}).strip(),XC=See.merge(kee),Dve=b({error:p(),error_description:p().optional()}).strip(),jve=b({token:p(),token_type_hint:p().optional()}).strip();function QC(e){let t=typeof e==="string"?new URL(e):new URL(e.href);return t.hash="",t}function e1({requestedResource:e,configuredResource:t}){let r=typeof e==="string"?new URL(e):new URL(e.href),n=typeof t==="string"?new URL(t):new URL(t.href);if(r.origin!==n.origin)return!1;if(r.pathname.length<n.pathname.length)return!1;let o=r.pathname.endsWith("/")?r.pathname:r.pathname+"/",s=n.pathname.endsWith("/")?n.pathname:n.pathname+"/";return o.startsWith(s)}class Le extends Error{constructor(e,t){super(e);this.errorUri=t,this.name=this.constructor.name}toResponseObject(){let e={error:this.errorCode,error_description:this.message};if(this.errorUri)e.error_uri=this.errorUri;return e}get errorCode(){return this.constructor.errorCode}}class id extends Le{}id.errorCode="invalid_request";class ds extends Le{}ds.errorCode="invalid_client";class ps extends Le{}ps.errorCode="invalid_grant";class fs extends Le{}fs.errorCode="unauthorized_client";class ad extends Le{}ad.errorCode="unsupported_grant_type";class cd extends Le{}cd.errorCode="invalid_scope";class ud extends Le{}ud.errorCode="access_denied";class Sn extends Le{}Sn.errorCode="server_error";class ld extends Le{}ld.errorCode="temporarily_unavailable";class dd extends Le{}dd.errorCode="unsupported_response_type";class pd extends Le{}pd.errorCode="unsupported_token_type";class fd extends Le{}fd.errorCode="invalid_token";class md extends Le{}md.errorCode="method_not_allowed";class hd extends Le{}hd.errorCode="too_many_requests";class ms extends Le{}ms.errorCode="invalid_client_metadata";class gd extends Le{}gd.errorCode="insufficient_scope";class yd extends Le{}yd.errorCode="invalid_target";var t1={[id.errorCode]:id,[ds.errorCode]:ds,[ps.errorCode]:ps,[fs.errorCode]:fs,[ad.errorCode]:ad,[cd.errorCode]:cd,[ud.errorCode]:ud,[Sn.errorCode]:Sn,[ld.errorCode]:ld,[dd.errorCode]:dd,[pd.errorCode]:pd,[fd.errorCode]:fd,[md.errorCode]:md,[hd.errorCode]:hd,[ms.errorCode]:ms,[gd.errorCode]:gd,[yd.errorCode]:yd};class kn extends Error{constructor(e){super(e??"Unauthorized")}}function xee(e){return["client_secret_basic","client_secret_post","none"].includes(e)}var ky="code",xy="S256";function $ee(e,t){let r=e.client_secret!==void 0;if("token_endpoint_auth_method"in e&&e.token_endpoint_auth_method&&xee(e.token_endpoint_auth_method)&&(t.length===0||t.includes(e.token_endpoint_auth_method)))return e.token_endpoint_auth_method;if(t.length===0)return r?"client_secret_basic":"none";if(r&&t.includes("client_secret_basic"))return"client_secret_basic";if(r&&t.includes("client_secret_post"))return"client_secret_post";if(t.includes("none"))return"none";return r?"client_secret_post":"none"}function Eee(e,t,r,n){let{client_id:o,client_secret:s}=t;switch(e){case"client_secret_basic":Tee(o,s,r);return;case"client_secret_post":Oee(o,s,n);return;case"none":Pee(o,n);return;default:throw Error(`Unsupported client authentication method: ${e}`)}}function Tee(e,t,r){if(!t)throw Error("client_secret_basic authentication requires a client_secret");let n=btoa(`${e}:${t}`);r.set("Authorization",`Basic ${n}`)}function Oee(e,t,r){if(r.set("client_id",e),t)r.set("client_secret",t)}function Pee(e,t){t.set("client_id",e)}async function n1(e){let t=e instanceof Response?e.status:void 0,r=e instanceof Response?await e.text():e;try{let n=YC.parse(JSON.parse(r)),{error:o,error_description:s,error_uri:i}=n;return new(t1[o]||Sn)(s||"",i)}catch(n){let o=e instanceof Response?sd(e,e.url):void 0,s=`${t?`HTTP ${t}: `:""}${o??`Invalid OAuth error response: ${n}. Raw body: ${r}`}`;return new Sn(s)}}function Iee(e,t){let[r,n]=[e,t];try{[r,n]=[new URL(e).href,new URL(t).href]}catch{}return r===n||r.endsWith("/")&&r.slice(0,-1)===n||n.endsWith("/")&&n.slice(0,-1)===r}function Ty(e,t){if(!e)return;if(typeof e.issuer!=="string")return e.issuer==null?e:{...e,issuer:void 0};return Iee(e.issuer,t)?e:void 0}var Aee=JC.omit({issuer:!0}),Ree=XC.omit({issuer:!0});function o1(e,t){return Error(`OAuth client information is bound to authorization server ${e.issuer} and is not presented to ${t}. Clear the stored client information, or correct \`expectedIssuer\`, if the authorization server has moved.`)}async function ha(e,t){try{return await $y(e,t)}catch(r){if(r instanceof ds||r instanceof fs)return await e.invalidateCredentials?.("all"),await $y(e,t);else if(r instanceof ps)return await e.invalidateCredentials?.("tokens"),await $y(e,t);throw r}}async function $y(e,{serverUrl:t,authorizationCode:r,scope:n,resourceMetadataUrl:o,fetchFn:s}){let i=await e.discoveryState?.(),a,c,u,l=o;if(!l&&i?.resourceMetadataUrl)l=new URL(i.resourceMetadataUrl);if(i?.authorizationServerUrl){if(c=i.authorizationServerUrl,a=i.resourceMetadata,u=i.authorizationServerMetadata??await i1(c,{fetchFn:s}),!a)try{a=await s1(t,{resourceMetadataUrl:l},s)}catch{}if(u!==i.authorizationServerMetadata||a!==i.resourceMetadata)await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:l?.toString(),resourceMetadata:a,authorizationServerMetadata:u})}else{let D=await Mee(t,{resourceMetadataUrl:l,fetchFn:s});c=D.authorizationServerUrl,u=D.authorizationServerMetadata,a=D.resourceMetadata,await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:l?.toString(),resourceMetadata:a,authorizationServerMetadata:u})}let d=String(c),f=await zee(t,e,a),m=f&&a&&!e.validateResourceURL?a.resource:f,h=n||a?.scopes_supported?.join(" ")||e.clientMetadata.scope,g=await Promise.resolve(e.clientInformation()),y=Ty(g,d),w=e.saveClientInformation!==void 0&&!!e.redirectUrl;if(g&&!y&&!w)throw o1(g,d);let T=y?.issuer==null?y:void 0,S=async()=>{try{if(T)await e.saveClientInformation?.({...T,issuer:d})}catch{}};if(!y){if(r!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let D=u?.client_id_metadata_document_supported===!0,G=e.clientMetadataUrl;if(G&&!Cee(G))throw new ms(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${G}`);if(D&&G)y={client_id:G,issuer:d},await e.saveClientInformation?.(y);else{if(!e.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");y={...await Vee(c,{metadata:u,clientMetadata:e.clientMetadata,scope:h,fetchFn:s}),issuer:d},await e.saveClientInformation(y)}}let I=!e.redirectUrl;if(r!==void 0||I){let D=await Wee(e,c,{metadata:u,resource:m,authorizationCode:r,fetchFn:s});return await S(),await e.saveTokens({...D,issuer:d}),"AUTHORIZED"}let _=Ty(await e.tokens(),d);if(_?.refresh_token&&_.issuer==null)console.warn("[mcp-sdk] stored OAuth tokens have no 'issuer' property (saved by an earlier version, or by a provider that does not keep it) and are used as-is; make sure your OAuthClientProvider stores what saveTokens() and saveClientInformation() receive unchanged.");if(_?.refresh_token)try{let D=await Uee(c,{metadata:u,clientInformation:y,refreshToken:_.refresh_token,resource:m,addClientAuthentication:e.addClientAuthentication,fetchFn:s});return await S(),await e.saveTokens({...D,issuer:d}),"AUTHORIZED"}catch(D){if(!(D instanceof Le)||D instanceof Sn);else throw D}let v=e.state?await e.state():void 0,{authorizationUrl:k,codeVerifier:A}=await qee(c,{metadata:u,clientInformation:y,state:v,redirectUrl:e.redirectUrl,scope:h,resource:m});return await e.saveCodeVerifier(A),await e.redirectToAuthorization(k),"REDIRECT"}function Cee(e){if(!e)return!1;try{let t=new URL(e);return t.protocol==="https:"&&t.pathname!=="/"}catch{return!1}}async function zee(e,t,r){let n=QC(e);if(t.validateResourceURL)return await t.validateResourceURL(n,r?.resource);if(!r)return;if(!e1({requestedResource:n,configuredResource:r.resource}))throw Error(`Protected resource ${r.resource} does not match expected ${n} (or origin)`);return new URL(r.resource)}function Oy(e){let t=e.headers.get("WWW-Authenticate");if(!t)return{};let[r,n]=t.split(" ");if(r.toLowerCase()!=="bearer"||!n)return{};let o=Ey(e,"resource_metadata")||void 0,s;if(o)try{s=new URL(o)}catch{}let i=Ey(e,"scope")||void 0,a=Ey(e,"error")||void 0;return{resourceMetadataUrl:s,scope:i,error:a}}function Ey(e,t){let r=e.headers.get("WWW-Authenticate");if(!r)return null;let n=new RegExp(`${t}=(?:"([^"]+)"|([^\\s,]+))`),o=r.match(n);if(o)return o[1]||o[2];return null}async function s1(e,t,r=fetch){let n=await Dee(e,"oauth-protected-resource",r,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl});if(!n||n.status===404)throw await n?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!n.ok)throw await n.body?.cancel(),Error(`HTTP ${n.status} trying to load well-known OAuth protected resource metadata.`);return HC.parse(await n.json())}async function Py(e,t,r=fetch){try{return await Yn(r)(e,{headers:t})}catch(n){if(n instanceof TypeError)if(t)return Py(e,void 0,r);else return;throw n}}function Nee(e,t="",r={}){if(t.endsWith("/"))t=t.slice(0,-1);return r.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function r1(e,t,r=fetch){return await Py(e,{"MCP-Protocol-Version":t},r)}function Lee(e,t){return!e||!e.ok&&e.status<500&&t!=="/"}async function Dee(e,t,r,n){let o=new URL(e),s=n?.protocolVersion??Uo,i;if(n?.metadataUrl)i=new URL(n.metadataUrl);else{let c=Nee(t,o.pathname);i=new URL(c,n?.metadataServerUrl??o),i.search=o.search}let a=await r1(i,s,r);if(!n?.metadataUrl&&Lee(a,o.pathname)){let c=new URL(`/.well-known/${t}`,o);a=await r1(c,s,r)}return a}function jee(e){let t=typeof e==="string"?new URL(e):e,r=t.pathname!=="/",n=[];if(!r)return n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),n.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),n;let o=t.pathname;if(o.endsWith("/"))o=o.slice(0,-1);return n.push({url:new URL(`/.well-known/oauth-authorization-server${o}`,t.origin),type:"oauth"}),n.push({url:new URL(`/.well-known/openid-configuration${o}`,t.origin),type:"oidc"}),n.push({url:new URL(`${o}/.well-known/openid-configuration`,t.origin),type:"oidc"}),n}async function i1(e,{fetchFn:t=fetch,protocolVersion:r=Uo}={}){let n={"MCP-Protocol-Version":r,Accept:"application/json"},o=jee(e);for(let{url:s,type:i}of o){let a=await Py(s,n,t);if(!a)continue;if(!a.ok){if(await a.body?.cancel(),a.status<500)continue;throw Error(`HTTP ${a.status} trying to load ${i==="oauth"?"OAuth":"OpenID provider"} metadata from ${s}`)}if(i==="oauth")return Sy.parse(await a.json());else return GC.parse(await a.json())}return}async function Mee(e,t){let r,n;try{if(r=await s1(e,{resourceMetadataUrl:t?.resourceMetadataUrl},t?.fetchFn),r.authorization_servers&&r.authorization_servers.length>0)n=r.authorization_servers[0]}catch{}if(!n)n=String(new URL("/",e));let o=await i1(n,{fetchFn:t?.fetchFn});return{authorizationServerUrl:n,authorizationServerMetadata:o,resourceMetadata:r}}function a1(e){return typeof e==="string"?e:e.href}async function qee(e,{metadata:t,clientInformation:r,redirectUrl:n,scope:o,state:s,resource:i}){let a;if(t){if(a=new URL(t.authorization_endpoint),!t.response_types_supported.includes(ky))throw Error(`Incompatible auth server: does not support response type ${ky}`);if(t.code_challenge_methods_supported&&!t.code_challenge_methods_supported.includes(xy))throw Error(`Incompatible auth server: does not support code challenge method ${xy}`)}else a=new URL("/authorize",e);let c=await vy(),{code_verifier:u,code_challenge:l}=c;if(a.searchParams.set("response_type",ky),a.searchParams.set("client_id",r.client_id),a.searchParams.set("code_challenge",l),a.searchParams.set("code_challenge_method",xy),a.searchParams.set("redirect_uri",String(n)),s)a.searchParams.set("state",s);if(o)a.searchParams.set("scope",o);if(o?.includes("offline_access"))a.searchParams.append("prompt","consent");if(i)a.searchParams.set("resource",a1(i));return{authorizationUrl:a,codeVerifier:u}}function Fee(e,t,r){return new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:t,redirect_uri:String(r)})}async function c1(e,{metadata:t,tokenRequestParams:r,clientInformation:n,addClientAuthentication:o,resource:s,fetchFn:i}){let a=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e),c=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(s)r.set("resource",a1(s));if(o)await o(c,r,a,t);else if(n){let l=t?.token_endpoint_auth_methods_supported??[],d=$ee(n,l);Eee(d,n,c,r)}let u=await Yn(i??fetch)(a,{method:"POST",headers:c,body:r});if(!u.ok)throw await n1(u);return Aee.parse(await u.json())}async function Uee(e,{metadata:t,clientInformation:r,refreshToken:n,resource:o,addClientAuthentication:s,fetchFn:i}){let a=new URLSearchParams({grant_type:"refresh_token",refresh_token:n}),c=await c1(e,{metadata:t,tokenRequestParams:a,clientInformation:r,addClientAuthentication:s,resource:o,fetchFn:i});return{refresh_token:n,...c}}async function Wee(e,t,{metadata:r,resource:n,authorizationCode:o,fetchFn:s}={}){let i=async()=>{let l=await e.clientInformation(),d=Ty(l,String(t));if(l&&!d)throw o1(l,String(t));return d},a=await i(),c=e.clientMetadata.scope,u;if(e.prepareTokenRequest)u=await e.prepareTokenRequest(c);if(!u){if(!o)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!e.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let l=await e.codeVerifier();u=Fee(o,l,e.redirectUrl)}return a??(a=await i()),c1(t,{metadata:r,tokenRequestParams:u,clientInformation:a,addClientAuthentication:e.addClientAuthentication,resource:n,fetchFn:s})}async function Vee(e,{metadata:t,clientMetadata:r,scope:n,fetchFn:o}){let s;if(t){if(!t.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");s=new URL(t.registration_endpoint)}else s=new URL("/register",e);let i=await Yn(o??fetch)(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...r,...n!==void 0?{scope:n}:{}})});if(!i.ok)throw await n1(i);return Ree.parse(await i.json())}class bd extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}var u1=10,Zee=13,Xn=32;function Iy(e){}function p1(e){if(typeof e=="function")throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=Iy,onError:r=Iy,onRetry:n=Iy,onComment:o,maxBufferSize:s}=e,i=[],a=0,c=!0,u,l="",d=0,f,m=!1;function h(_){if(m)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,_.charCodeAt(0)===239&&_.charCodeAt(1)===187&&_.charCodeAt(2)===191&&(_=_.slice(3))),i.length===0){let A=y(_);A!==""&&(i.push(A),a=A.length),g();return}if(_.indexOf(`
|
|
538
|
-
`)===-1&&_.indexOf("\r")===-1){i.push(_),a+=_.length,g();return}i.push(_);let v=i.join("");i.length=0,a=0;let
|
|
539
|
-
`,v);for(;
|
|
540
|
-
`,v);continue}let
|
|
541
|
-
`,v);continue}l=d===0?
|
|
542
|
-
${
|
|
543
|
-
`,v)}return _.slice(v)}for(;v<_.length;){let
|
|
544
|
-
`,v),
|
|
545
|
-
${oe}`,d++;return}if(
|
|
546
|
-
${v}`,d++;break;case"id":u=v.includes("\x00")?void 0:v;break;case"retry":/^\d+$/.test(v)?n(parseInt(v,10)):r(new
|
|
547
|
-
`),u=a.structuredContent?
|
|
550
|
+
*/var w1=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g;var pte=/\\([\u000b\u0020-\u00ff])/g;var fte=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;var b1=mte;function mte(e){if(!e)throw TypeError("argument string is required");var t=typeof e==="object"?hte(e):e;if(typeof t!=="string")throw TypeError("argument string is required to be a string");var r=t.indexOf(";"),n=r!==-1?t.slice(0,r).trim():t.trim();if(!fte.test(n))throw TypeError("invalid media type");var o=new gte(n.toLowerCase());if(r!==-1){var s,i,a;w1.lastIndex=r;while(i=w1.exec(t)){if(i.index!==r)throw TypeError("invalid parameter format");if(r+=i[0].length,s=i[1].toLowerCase(),a=i[2],a.charCodeAt(0)===34){if(a=a.slice(1,-1),a.indexOf("\\")!==-1)a=a.replace(pte,"$1")}o.parameters[s]=a}if(r!==t.length)throw TypeError("invalid parameter format")}return o}function hte(e){var t;if(typeof e.getHeader==="function")t=e.getHeader("content-type");else if(typeof e.headers==="object")t=e.headers&&e.headers["content-type"];if(typeof t!=="string")throw TypeError("content-type header is missing from object");return t}function gte(e){this.parameters=Object.create(null),this.type=e}function _1(e){if(!e)return;try{return b1(e).type}catch{let t=(e.split(";",1)[0]??"").trim().toLowerCase();if(t===""||e.slice(t.length).includes(","))return;return t}}function dd(e){if(!e)return{};if(e instanceof Headers)return Object.fromEntries(e.entries());if(Array.isArray(e))return Object.fromEntries(e);return{...e}}function v1(e=fetch,t){if(!t)return e;return async(r,n)=>{let o={...t,...n,headers:n?.headers?{...dd(t.headers),...dd(n.headers)}:t.headers};return e(r,o)}}var wte=5,bte=[301,302,303,307,308];function _te(e,t){if(e.protocol===t.protocol&&e.hostname===t.hostname&&e.port===t.port)return!0;return e.hostname===t.hostname&&e.protocol==="http:"&&e.port===""&&t.protocol==="https:"&&t.port===""}function S1(e,t){let r=bte.includes(e.status)?e.headers.get("location"):null;try{return r?new URL(r,t):void 0}catch{return}}function pd(e,t,r,n,o=0){let s=S1(n,t),i=n.status===307||n.status===308||(r?.method??"GET").toUpperCase()==="GET";if(!s||o===wte||!i)return;let a=new URL(t);if((s.username||s.password)&&(s.username!==a.username||s.password!==a.password)||!_te(a,s))return;return Promise.resolve(n.body?.cancel()).then(()=>e(s,{...r,redirect:"manual"})).then((u)=>pd(e,s,r,u,o+1)??u)}var k1=new WeakSet;function Ly(e){let t=(r,n)=>(e??fetch)(r,n);return k1.add(t),t}function ro(e=fetch){if(k1.has(e))return e;return(t,r)=>{if(r?.redirect==="error"||r?.redirect==="manual")return e(t,r);return Promise.resolve(e(t,{...r,redirect:"manual"})).then((n)=>pd(e,t,r,n)??n)}}function fd(e,t){if(e.type==="opaqueredirect")return"Redirect not followed: this runtime does not expose the redirect target";let r=e.url||t,n=S1(e,r);if(!n)return;if(n.username=n.password=n.search=n.hash="",n.protocol==="http:"&&new URL(r).protocol==="https:")return n.protocol="https:",`Redirect to plain http not followed; try ${n.href} instead`;return`Redirect to ${n.href} not followed`}var jy;jy=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((e)=>e.webcrypto);async function vte(e){return(await jy).getRandomValues(new Uint8Array(e))}async function Ste(e){let r=Math.pow(2,8)-Math.pow(2,8)%66,n="";while(n.length<e){let o=await vte(e-n.length);for(let s of o)if(s<r)n+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[s%66]}return n}async function kte(e){return await Ste(e)}async function xte(e){let t=await(await jy).subtle.digest("SHA-256",new TextEncoder().encode(e));return btoa(String.fromCharCode(...new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function Dy(e){if(!e)e=43;if(e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;let t=await kte(e),r=await xte(t);return{code_verifier:t,code_challenge:r}}var et=Bs().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:hk.custom,message:"URL must be parseable",fatal:!0}),ep}).refine((e)=>{let t=new URL(e);return t.protocol!=="javascript:"&&t.protocol!=="data:"&&t.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),$1=_e({resource:p().url(),authorization_servers:k(et).optional(),jwks_uri:p().url().optional(),scopes_supported:k(p()).optional(),bearer_methods_supported:k(p()).optional(),resource_signing_alg_values_supported:k(p()).optional(),resource_name:p().optional(),resource_documentation:p().optional(),resource_policy_uri:p().url().optional(),resource_tos_uri:p().url().optional(),tls_client_certificate_bound_access_tokens:D().optional(),authorization_details_types_supported:k(p()).optional(),dpop_signing_alg_values_supported:k(p()).optional(),dpop_bound_access_tokens_required:D().optional()}),My=_e({issuer:p(),authorization_endpoint:et,token_endpoint:et,registration_endpoint:et.optional(),scopes_supported:k(p()).optional(),response_types_supported:k(p()),response_modes_supported:k(p()).optional(),grant_types_supported:k(p()).optional(),token_endpoint_auth_methods_supported:k(p()).optional(),token_endpoint_auth_signing_alg_values_supported:k(p()).optional(),service_documentation:et.optional(),revocation_endpoint:et.optional(),revocation_endpoint_auth_methods_supported:k(p()).optional(),revocation_endpoint_auth_signing_alg_values_supported:k(p()).optional(),introspection_endpoint:p().optional(),introspection_endpoint_auth_methods_supported:k(p()).optional(),introspection_endpoint_auth_signing_alg_values_supported:k(p()).optional(),code_challenge_methods_supported:k(p()).optional(),client_id_metadata_document_supported:D().optional()}),$te=_e({issuer:p(),authorization_endpoint:et,token_endpoint:et,userinfo_endpoint:et.optional(),jwks_uri:et,registration_endpoint:et.optional(),scopes_supported:k(p()).optional(),response_types_supported:k(p()),response_modes_supported:k(p()).optional(),grant_types_supported:k(p()).optional(),acr_values_supported:k(p()).optional(),subject_types_supported:k(p()),id_token_signing_alg_values_supported:k(p()),id_token_encryption_alg_values_supported:k(p()).optional(),id_token_encryption_enc_values_supported:k(p()).optional(),userinfo_signing_alg_values_supported:k(p()).optional(),userinfo_encryption_alg_values_supported:k(p()).optional(),userinfo_encryption_enc_values_supported:k(p()).optional(),request_object_signing_alg_values_supported:k(p()).optional(),request_object_encryption_alg_values_supported:k(p()).optional(),request_object_encryption_enc_values_supported:k(p()).optional(),token_endpoint_auth_methods_supported:k(p()).optional(),token_endpoint_auth_signing_alg_values_supported:k(p()).optional(),display_values_supported:k(p()).optional(),claim_types_supported:k(p()).optional(),claims_supported:k(p()).optional(),service_documentation:p().optional(),claims_locales_supported:k(p()).optional(),ui_locales_supported:k(p()).optional(),claims_parameter_supported:D().optional(),request_parameter_supported:D().optional(),request_uri_parameter_supported:D().optional(),require_request_uri_registration:D().optional(),op_policy_uri:et.optional(),op_tos_uri:et.optional(),client_id_metadata_document_supported:D().optional()}),E1=w({...$te.shape,...My.pick({code_challenge_methods_supported:!0}).shape}),T1=w({access_token:p(),id_token:p().optional(),token_type:p(),expires_in:Pj().optional(),scope:p().optional(),refresh_token:p().optional(),issuer:p().optional().catch(void 0)}).strip(),P1=w({error:p(),error_description:p().optional(),error_uri:p().optional()}),x1=et.optional().or(C("").transform(()=>{return})),Ete=w({redirect_uris:k(et),token_endpoint_auth_method:p().optional(),grant_types:k(p()).optional(),response_types:k(p()).optional(),client_name:p().optional(),client_uri:et.optional(),logo_uri:x1,scope:p().optional(),contacts:k(p()).optional(),tos_uri:x1,policy_uri:p().optional(),jwks_uri:et.optional(),jwks:ak().optional(),software_id:p().optional(),software_version:p().optional(),software_statement:p().optional()}).strip(),Tte=w({client_id:p(),client_secret:p().optional(),client_id_issued_at:O().optional(),client_secret_expires_at:O().optional(),issuer:p().optional().catch(void 0)}).strip(),O1=Ete.merge(Tte),bke=w({error:p(),error_description:p().optional()}).strip(),_ke=w({token:p(),token_type_hint:p().optional()}).strip();function I1(e){let t=typeof e==="string"?new URL(e):new URL(e.href);return t.hash="",t}function R1({requestedResource:e,configuredResource:t}){let r=typeof e==="string"?new URL(e):new URL(e.href),n=typeof t==="string"?new URL(t):new URL(t.href);if(r.origin!==n.origin)return!1;if(r.pathname.length<n.pathname.length)return!1;let o=r.pathname.endsWith("/")?r.pathname:r.pathname+"/",s=n.pathname.endsWith("/")?n.pathname:n.pathname+"/";return o.startsWith(s)}class De extends Error{constructor(e,t){super(e);this.errorUri=t,this.name=this.constructor.name}toResponseObject(){let e={error:this.errorCode,error_description:this.message};if(this.errorUri)e.error_uri=this.errorUri;return e}get errorCode(){return this.constructor.errorCode}}class md extends De{}md.errorCode="invalid_request";class ws extends De{}ws.errorCode="invalid_client";class bs extends De{}bs.errorCode="invalid_grant";class _s extends De{}_s.errorCode="unauthorized_client";class hd extends De{}hd.errorCode="unsupported_grant_type";class gd extends De{}gd.errorCode="invalid_scope";class yd extends De{}yd.errorCode="access_denied";class Tn extends De{}Tn.errorCode="server_error";class wd extends De{}wd.errorCode="temporarily_unavailable";class bd extends De{}bd.errorCode="unsupported_response_type";class _d extends De{}_d.errorCode="unsupported_token_type";class vd extends De{}vd.errorCode="invalid_token";class Sd extends De{}Sd.errorCode="method_not_allowed";class kd extends De{}kd.errorCode="too_many_requests";class vs extends De{}vs.errorCode="invalid_client_metadata";class xd extends De{}xd.errorCode="insufficient_scope";class $d extends De{}$d.errorCode="invalid_target";var A1={[md.errorCode]:md,[ws.errorCode]:ws,[bs.errorCode]:bs,[_s.errorCode]:_s,[hd.errorCode]:hd,[gd.errorCode]:gd,[yd.errorCode]:yd,[Tn.errorCode]:Tn,[wd.errorCode]:wd,[bd.errorCode]:bd,[_d.errorCode]:_d,[vd.errorCode]:vd,[Sd.errorCode]:Sd,[kd.errorCode]:kd,[vs.errorCode]:vs,[xd.errorCode]:xd,[$d.errorCode]:$d};class Pn extends Error{constructor(e){super(e??"Unauthorized")}}function Pte(e){return["client_secret_basic","client_secret_post","none"].includes(e)}var qy="code",Fy="S256";function Ote(e,t){let r=e.client_secret!==void 0;if("token_endpoint_auth_method"in e&&e.token_endpoint_auth_method&&Pte(e.token_endpoint_auth_method)&&(t.length===0||t.includes(e.token_endpoint_auth_method)))return e.token_endpoint_auth_method;if(t.length===0)return r?"client_secret_basic":"none";if(r&&t.includes("client_secret_basic"))return"client_secret_basic";if(r&&t.includes("client_secret_post"))return"client_secret_post";if(t.includes("none"))return"none";return r?"client_secret_post":"none"}function Ite(e,t,r,n){let{client_id:o,client_secret:s}=t;switch(e){case"client_secret_basic":Rte(o,s,r);return;case"client_secret_post":Ate(o,s,n);return;case"none":Cte(o,n);return;default:throw Error(`Unsupported client authentication method: ${e}`)}}function Rte(e,t,r){if(!t)throw Error("client_secret_basic authentication requires a client_secret");let n=btoa(`${e}:${t}`);r.set("Authorization",`Basic ${n}`)}function Ate(e,t,r){if(r.set("client_id",e),t)r.set("client_secret",t)}function Cte(e,t){t.set("client_id",e)}async function z1(e){let t=e instanceof Response?e.status:void 0,r=e instanceof Response?await e.text():e;try{let n=P1.parse(JSON.parse(r)),{error:o,error_description:s,error_uri:i}=n;return new(A1[o]||Tn)(s||"",i)}catch(n){let o=e instanceof Response?fd(e,e.url):void 0,s=`${t?`HTTP ${t}: `:""}${o??`Invalid OAuth error response: ${n}. Raw body: ${r}`}`;return new Tn(s)}}function zte(e,t){let[r,n]=[e,t];try{[r,n]=[new URL(e).href,new URL(t).href]}catch{}return r===n||r.endsWith("/")&&r.slice(0,-1)===n||n.endsWith("/")&&n.slice(0,-1)===r}function Vy(e,t){if(!e)return;if(typeof e.issuer!=="string")return e.issuer==null?e:{...e,issuer:void 0};return zte(e.issuer,t)?e:void 0}var Nte=T1.omit({issuer:!0}),Lte=O1.omit({issuer:!0});function N1(e,t){return Error(`OAuth client information is bound to authorization server ${e.issuer} and is not presented to ${t}. Clear the stored client information, or correct \`expectedIssuer\`, if the authorization server has moved.`)}async function va(e,t){try{return await Uy(e,t)}catch(r){if(r instanceof ws||r instanceof _s)return await e.invalidateCredentials?.("all"),await Uy(e,t);else if(r instanceof bs)return await e.invalidateCredentials?.("tokens"),await Uy(e,t);throw r}}async function Uy(e,{serverUrl:t,authorizationCode:r,scope:n,resourceMetadataUrl:o,fetchFn:s}){let i=await e.discoveryState?.(),a,c,u,l=o;if(!l&&i?.resourceMetadataUrl)l=new URL(i.resourceMetadataUrl);if(i?.authorizationServerUrl){if(c=i.authorizationServerUrl,a=i.resourceMetadata,u=i.authorizationServerMetadata??await j1(c,{fetchFn:s}),!a)try{a=await L1(t,{resourceMetadataUrl:l},s)}catch{}if(u!==i.authorizationServerMetadata||a!==i.resourceMetadata)await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:l?.toString(),resourceMetadata:a,authorizationServerMetadata:u})}else{let j=await Wte(t,{resourceMetadataUrl:l,fetchFn:s});c=j.authorizationServerUrl,u=j.authorizationServerMetadata,a=j.resourceMetadata,await e.saveDiscoveryState?.({authorizationServerUrl:String(c),resourceMetadataUrl:l?.toString(),resourceMetadata:a,authorizationServerMetadata:u})}let d=String(c),f=await Dte(t,e,a),m=f&&a&&!e.validateResourceURL?a.resource:f,h=n||a?.scopes_supported?.join(" ")||e.clientMetadata.scope,g=await Promise.resolve(e.clientInformation()),y=Vy(g,d),b=e.saveClientInformation!==void 0&&!!e.redirectUrl;if(g&&!y&&!b)throw N1(g,d);let E=y?.issuer==null?y:void 0,S=async()=>{try{if(E)await e.saveClientInformation?.({...E,issuer:d})}catch{}};if(!y){if(r!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let j=u?.client_id_metadata_document_supported===!0,J=e.clientMetadataUrl;if(J&&!jte(J))throw new vs(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${J}`);if(j&&J)y={client_id:J,issuer:d},await e.saveClientInformation?.(y);else{if(!e.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");y={...await Hte(c,{metadata:u,clientMetadata:e.clientMetadata,scope:h,fetchFn:s}),issuer:d},await e.saveClientInformation(y)}}let I=!e.redirectUrl;if(r!==void 0||I){let j=await Kte(e,c,{metadata:u,resource:m,authorizationCode:r,fetchFn:s});return await S(),await e.saveTokens({...j,issuer:d}),"AUTHORIZED"}let _=Vy(await e.tokens(),d);if(_?.refresh_token&&_.issuer==null)console.warn("[mcp-sdk] stored OAuth tokens have no 'issuer' property (saved by an earlier version, or by a provider that does not keep it) and are used as-is; make sure your OAuthClientProvider stores what saveTokens() and saveClientInformation() receive unchanged.");if(_?.refresh_token)try{let j=await Bte(c,{metadata:u,clientInformation:y,refreshToken:_.refresh_token,resource:m,addClientAuthentication:e.addClientAuthentication,fetchFn:s});return await S(),await e.saveTokens({...j,issuer:d}),"AUTHORIZED"}catch(j){if(!(j instanceof De)||j instanceof Tn);else throw j}let v=e.state?await e.state():void 0,{authorizationUrl:x,codeVerifier:R}=await Vte(c,{metadata:u,clientInformation:y,state:v,redirectUrl:e.redirectUrl,scope:h,resource:m});return await e.saveCodeVerifier(R),await e.redirectToAuthorization(x),"REDIRECT"}function jte(e){if(!e)return!1;try{let t=new URL(e);return t.protocol==="https:"&&t.pathname!=="/"}catch{return!1}}async function Dte(e,t,r){let n=I1(e);if(t.validateResourceURL)return await t.validateResourceURL(n,r?.resource);if(!r)return;if(!R1({requestedResource:n,configuredResource:r.resource}))throw Error(`Protected resource ${r.resource} does not match expected ${n} (or origin)`);return new URL(r.resource)}function Zy(e){let t=e.headers.get("WWW-Authenticate");if(!t)return{};let[r,n]=t.split(" ");if(r.toLowerCase()!=="bearer"||!n)return{};let o=Wy(e,"resource_metadata")||void 0,s;if(o)try{s=new URL(o)}catch{}let i=Wy(e,"scope")||void 0,a=Wy(e,"error")||void 0;return{resourceMetadataUrl:s,scope:i,error:a}}function Wy(e,t){let r=e.headers.get("WWW-Authenticate");if(!r)return null;let n=new RegExp(`${t}=(?:"([^"]+)"|([^\\s,]+))`),o=r.match(n);if(o)return o[1]||o[2];return null}async function L1(e,t,r=fetch){let n=await Fte(e,"oauth-protected-resource",r,{protocolVersion:t?.protocolVersion,metadataUrl:t?.resourceMetadataUrl});if(!n||n.status===404)throw await n?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!n.ok)throw await n.body?.cancel(),Error(`HTTP ${n.status} trying to load well-known OAuth protected resource metadata.`);return $1.parse(await n.json())}async function By(e,t,r=fetch){try{return await ro(r)(e,{headers:t})}catch(n){if(n instanceof TypeError)if(t)return By(e,void 0,r);else return;throw n}}function Mte(e,t="",r={}){if(t.endsWith("/"))t=t.slice(0,-1);return r.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function C1(e,t,r=fetch){return await By(e,{"MCP-Protocol-Version":t},r)}function qte(e,t){return!e||!e.ok&&e.status<500&&t!=="/"}async function Fte(e,t,r,n){let o=new URL(e),s=n?.protocolVersion??Go,i;if(n?.metadataUrl)i=new URL(n.metadataUrl);else{let c=Mte(t,o.pathname);i=new URL(c,n?.metadataServerUrl??o),i.search=o.search}let a=await C1(i,s,r);if(!n?.metadataUrl&&qte(a,o.pathname)){let c=new URL(`/.well-known/${t}`,o);a=await C1(c,s,r)}return a}function Ute(e){let t=typeof e==="string"?new URL(e):e,r=t.pathname!=="/",n=[];if(!r)return n.push({url:new URL("/.well-known/oauth-authorization-server",t.origin),type:"oauth"}),n.push({url:new URL("/.well-known/openid-configuration",t.origin),type:"oidc"}),n;let o=t.pathname;if(o.endsWith("/"))o=o.slice(0,-1);return n.push({url:new URL(`/.well-known/oauth-authorization-server${o}`,t.origin),type:"oauth"}),n.push({url:new URL(`/.well-known/openid-configuration${o}`,t.origin),type:"oidc"}),n.push({url:new URL(`${o}/.well-known/openid-configuration`,t.origin),type:"oidc"}),n}async function j1(e,{fetchFn:t=fetch,protocolVersion:r=Go}={}){let n={"MCP-Protocol-Version":r,Accept:"application/json"},o=Ute(e);for(let{url:s,type:i}of o){let a=await By(s,n,t);if(!a)continue;if(!a.ok){if(await a.body?.cancel(),a.status<500)continue;throw Error(`HTTP ${a.status} trying to load ${i==="oauth"?"OAuth":"OpenID provider"} metadata from ${s}`)}if(i==="oauth")return My.parse(await a.json());else return E1.parse(await a.json())}return}async function Wte(e,t){let r,n;try{if(r=await L1(e,{resourceMetadataUrl:t?.resourceMetadataUrl},t?.fetchFn),r.authorization_servers&&r.authorization_servers.length>0)n=r.authorization_servers[0]}catch{}if(!n)n=String(new URL("/",e));let o=await j1(n,{fetchFn:t?.fetchFn});return{authorizationServerUrl:n,authorizationServerMetadata:o,resourceMetadata:r}}function D1(e){return typeof e==="string"?e:e.href}async function Vte(e,{metadata:t,clientInformation:r,redirectUrl:n,scope:o,state:s,resource:i}){let a;if(t){if(a=new URL(t.authorization_endpoint),!t.response_types_supported.includes(qy))throw Error(`Incompatible auth server: does not support response type ${qy}`);if(t.code_challenge_methods_supported&&!t.code_challenge_methods_supported.includes(Fy))throw Error(`Incompatible auth server: does not support code challenge method ${Fy}`)}else a=new URL("/authorize",e);let c=await Dy(),{code_verifier:u,code_challenge:l}=c;if(a.searchParams.set("response_type",qy),a.searchParams.set("client_id",r.client_id),a.searchParams.set("code_challenge",l),a.searchParams.set("code_challenge_method",Fy),a.searchParams.set("redirect_uri",String(n)),s)a.searchParams.set("state",s);if(o)a.searchParams.set("scope",o);if(o?.includes("offline_access"))a.searchParams.append("prompt","consent");if(i)a.searchParams.set("resource",D1(i));return{authorizationUrl:a,codeVerifier:u}}function Zte(e,t,r){return new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:t,redirect_uri:String(r)})}async function M1(e,{metadata:t,tokenRequestParams:r,clientInformation:n,addClientAuthentication:o,resource:s,fetchFn:i}){let a=t?.token_endpoint?new URL(t.token_endpoint):new URL("/token",e),c=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(s)r.set("resource",D1(s));if(o)await o(c,r,a,t);else if(n){let l=t?.token_endpoint_auth_methods_supported??[],d=Ote(n,l);Ite(d,n,c,r)}let u=await ro(i??fetch)(a,{method:"POST",headers:c,body:r});if(!u.ok)throw await z1(u);return Nte.parse(await u.json())}async function Bte(e,{metadata:t,clientInformation:r,refreshToken:n,resource:o,addClientAuthentication:s,fetchFn:i}){let a=new URLSearchParams({grant_type:"refresh_token",refresh_token:n}),c=await M1(e,{metadata:t,tokenRequestParams:a,clientInformation:r,addClientAuthentication:s,resource:o,fetchFn:i});return{refresh_token:n,...c}}async function Kte(e,t,{metadata:r,resource:n,authorizationCode:o,fetchFn:s}={}){let i=async()=>{let l=await e.clientInformation(),d=Vy(l,String(t));if(l&&!d)throw N1(l,String(t));return d},a=await i(),c=e.clientMetadata.scope,u;if(e.prepareTokenRequest)u=await e.prepareTokenRequest(c);if(!u){if(!o)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!e.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let l=await e.codeVerifier();u=Zte(o,l,e.redirectUrl)}return a??(a=await i()),M1(t,{metadata:r,tokenRequestParams:u,clientInformation:a,addClientAuthentication:e.addClientAuthentication,resource:n,fetchFn:s})}async function Hte(e,{metadata:t,clientMetadata:r,scope:n,fetchFn:o}){let s;if(t){if(!t.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");s=new URL(t.registration_endpoint)}else s=new URL("/register",e);let i=await ro(o??fetch)(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...r,...n!==void 0?{scope:n}:{}})});if(!i.ok)throw await z1(i);return Lte.parse(await i.json())}class Ed extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}var q1=10,Gte=13,no=32;function Ky(e){}function W1(e){if(typeof e=="function")throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=Ky,onError:r=Ky,onRetry:n=Ky,onComment:o,maxBufferSize:s}=e,i=[],a=0,c=!0,u,l="",d=0,f,m=!1;function h(_){if(m)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,_.charCodeAt(0)===239&&_.charCodeAt(1)===187&&_.charCodeAt(2)===191&&(_=_.slice(3))),i.length===0){let R=y(_);R!==""&&(i.push(R),a=R.length),g();return}if(_.indexOf(`
|
|
551
|
+
`)===-1&&_.indexOf("\r")===-1){i.push(_),a+=_.length,g();return}i.push(_);let v=i.join("");i.length=0,a=0;let x=y(v);x!==""&&(i.push(x),a=x.length),g()}function g(){s!==void 0&&(a+l.length<=s||(m=!0,i.length=0,a=0,u=void 0,l="",d=0,f=void 0,r(new Ed(`Buffered data exceeded max buffer size of ${s} characters`,{type:"max-buffer-size-exceeded"}))))}function y(_){let v=0;if(_.indexOf("\r")===-1){let x=_.indexOf(`
|
|
552
|
+
`,v);for(;x!==-1;){if(v===x){d>0&&t({id:u,event:f,data:l}),u=void 0,l="",d=0,f=void 0,v=x+1,x=_.indexOf(`
|
|
553
|
+
`,v);continue}let R=_.charCodeAt(v);if(F1(_,v,R)){let j=_.charCodeAt(v+5)===no?v+6:v+5,J=_.slice(j,x);if(d===0&&_.charCodeAt(x+1)===q1){t({id:u,event:f,data:J}),u=void 0,l="",f=void 0,v=x+2,x=_.indexOf(`
|
|
554
|
+
`,v);continue}l=d===0?J:`${l}
|
|
555
|
+
${J}`,d++}else U1(_,v,R)?f=_.slice(_.charCodeAt(v+6)===no?v+7:v+6,x)||void 0:b(_,v,x);v=x+1,x=_.indexOf(`
|
|
556
|
+
`,v)}return _.slice(v)}for(;v<_.length;){let x=_.indexOf("\r",v),R=_.indexOf(`
|
|
557
|
+
`,v),j=-1;if(x!==-1&&R!==-1?j=x<R?x:R:x!==-1?x===_.length-1?j=-1:j=x:R!==-1&&(j=R),j===-1)break;b(_,v,j),v=j+1,_.charCodeAt(v-1)===Gte&&_.charCodeAt(v)===q1&&v++}return _.slice(v)}function b(_,v,x){if(v===x){S();return}let R=_.charCodeAt(v);if(F1(_,v,R)){let W=_.charCodeAt(v+5)===no?v+6:v+5,oe=_.slice(W,x);l=d===0?oe:`${l}
|
|
558
|
+
${oe}`,d++;return}if(U1(_,v,R)){f=_.slice(_.charCodeAt(v+6)===no?v+7:v+6,x)||void 0;return}if(R===105&&_.charCodeAt(v+1)===100&&_.charCodeAt(v+2)===58){let W=_.slice(_.charCodeAt(v+3)===no?v+4:v+3,x);u=W.includes("\x00")?void 0:W;return}if(R===58){if(o){let W=_.slice(v,x);o(W.slice(_.charCodeAt(v+1)===no?2:1))}return}let j=_.slice(v,x),J=j.indexOf(":");if(J===-1){E(j,"",j);return}let ie=j.slice(0,J),ae=j.charCodeAt(J+1)===no?2:1,Me=j.slice(J+ae);E(ie,Me,j)}function E(_,v,x){switch(_){case"event":f=v||void 0;break;case"data":l=d===0?v:`${l}
|
|
559
|
+
${v}`,d++;break;case"id":u=v.includes("\x00")?void 0:v;break;case"retry":/^\d+$/.test(v)?n(parseInt(v,10)):r(new Ed(`Invalid \`retry\` value: "${v}"`,{type:"invalid-retry",value:v,line:x}));break;default:r(new Ed(`Unknown field "${_.length>20?`${_.slice(0,20)}…`:_}"`,{type:"unknown-field",field:_,value:v,line:x}));break}}function S(){d>0&&t({id:u,event:f,data:l}),u=void 0,l="",d=0,f=void 0}function I(_={}){if(_.consume&&i.length>0){let v=i.join("");b(v,0,v.length)}c=!0,u=void 0,l="",d=0,f=void 0,i.length=0,a=0,m=!1}return{feed:h,reset:I}}function F1(e,t,r){return r===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function U1(e,t,r){return r===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}class Hy extends TransformStream{constructor({onError:e,onRetry:t,onComment:r,maxBufferSize:n}={}){let o;super({start(s){o=W1({onEvent:(i)=>{s.enqueue(i)},onError(i){typeof e=="function"&&e(i),(e==="terminate"||i.type==="max-buffer-size-exceeded")&&s.error(i)},onRetry:t,onComment:r,maxBufferSize:n})},transform(s){o.feed(s)}})}}var Jte={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class Lr extends Error{constructor(e,t){super(`Streamable HTTP error: ${t}`);this.code=e}}class Gy{constructor(e,t){if(this._hasCompletedAuthFlow=!1,this._url=e,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=t?.requestInit,this._authProvider=t?.authProvider,this._fetch=t?.fetch,this._fetchWithInit=v1(t?.fetch,t?.requestInit),this._followRedirects=t?.redirectPolicy==="follow",this._followRedirects)this._fetch=Ly(this._fetch),this._fetchWithInit=Ly(this._fetchWithInit);this._sessionId=t?.sessionId,this._reconnectionOptions=t?.reconnectionOptions??Jte}_unfollowedRedirect(e,t){let r=fd(e,t);return r&&!this._followRedirects?`${r} (redirectPolicy: 'same-origin')`:r}async _authThenStart(){if(!this._authProvider)throw new Pn("No auth provider");let e;try{e=await va(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(t){throw this.onerror?.(t),t}if(e!=="AUTHORIZED")throw new Pn;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let e={};if(this._authProvider){let r=await this._authProvider.tokens();if(r)e.Authorization=`Bearer ${r.access_token}`}if(this._sessionId)e["mcp-session-id"]=this._sessionId;if(this._protocolVersion)e["mcp-protocol-version"]=this._protocolVersion;let t=dd(this._requestInit?.headers);return new Headers({...e,...t})}async _startOrAuthSse(e){let{resumptionToken:t}=e;try{let r=await this._commonHeaders();if(r.set("Accept","text/event-stream"),t)r.set("last-event-id",t);let n=this._fetch??fetch,o={method:"GET",headers:r,signal:this._abortController?.signal},s=await n(this._url,this._followRedirects?o:{...o,redirect:"manual"}),i=this._followRedirects?void 0:pd(n,this._url,o,s);if(i)s=await i;if(!s.ok){if(await s.body?.cancel(),s.status===401&&this._authProvider)return await this._authThenStart();if(s.status===405)return;throw new Lr(s.status,`Failed to open SSE stream: ${this._unfollowedRedirect(s,this._url)??s.statusText}`)}this._handleSseStream(s.body,e,!0)}catch(r){throw this.onerror?.(r),r}}_getNextReconnectionDelay(e){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let t=this._reconnectionOptions.initialReconnectionDelay,r=this._reconnectionOptions.reconnectionDelayGrowFactor,n=this._reconnectionOptions.maxReconnectionDelay;return Math.min(t*Math.pow(r,e),n)}_scheduleReconnection(e,t=0){let r=this._reconnectionOptions.maxRetries;if(t>=r){this.onerror?.(Error(`Maximum reconnection attempts (${r}) exceeded.`));return}let n=this._getNextReconnectionDelay(t);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(e).catch((o)=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${o instanceof Error?o.message:String(o)}`)),this._scheduleReconnection(e,t+1)})},n)}_handleSseStream(e,t,r){if(!e)return;let{onresumptiontoken:n,replayMessageId:o}=t,s,i=!1,a=!1;(async()=>{try{let u=e.pipeThrough(new TextDecoderStream).pipeThrough(new Hy({onRetry:(f)=>{this._serverRetryMs=f}})).getReader();while(!0){let{value:f,done:m}=await u.read();if(m)break;if(f.id)s=f.id,i=!0,n?.(f.id);if(!f.data)continue;if(!f.event||f.event==="message")try{let h=fl.parse(JSON.parse(f.data));if(Hn(h)){if(a=!0,o!==void 0)h.id=o}this.onmessage?.(h)}catch(h){this.onerror?.(h)}}if((r||i)&&!a&&this._abortController&&!this._abortController.signal.aborted)this._scheduleReconnection({resumptionToken:s,onresumptiontoken:n,replayMessageId:o},0)}catch(u){if(this.onerror?.(Error(`SSE stream disconnected: ${u}`)),(r||i)&&!a&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:s,onresumptiontoken:n,replayMessageId:o},0)}catch(f){this.onerror?.(Error(`Failed to reconnect: ${f instanceof Error?f.message:String(f)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(e){if(!this._authProvider)throw new Pn("No auth provider");if(await va(this._authProvider,{serverUrl:this._url,authorizationCode:e,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new Pn("Failed to authorize")}async close(){if(this._reconnectionTimeout)clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0;this._abortController?.abort(),this.onclose?.()}async send(e,t){try{let{resumptionToken:r,onresumptiontoken:n}=t||{};if(r){this._startOrAuthSse({resumptionToken:r,replayMessageId:ta(e)?e.id:void 0}).catch((f)=>this.onerror?.(f));return}let o=await this._commonHeaders();o.set("content-type","application/json"),o.set("accept","application/json, text/event-stream");let s={...this._requestInit,method:"POST",headers:o,body:JSON.stringify(e),signal:this._abortController?.signal},i=await ro(this._fetch??fetch)(this._url,s),a=i.headers.get("mcp-session-id");if(a)this._sessionId=a;if(!i.ok){let f=await i.text().catch(()=>null);if(i.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new Lr(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:m,scope:h}=Zy(i);if(this._resourceMetadataUrl=m,this._scope=h,await va(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new Pn;return this._hasCompletedAuthFlow=!0,this.send(e)}if(i.status===403&&this._authProvider){let{resourceMetadataUrl:m,scope:h,error:g}=Zy(i);if(g==="insufficient_scope"){let y=i.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===y)throw new Lr(403,"Server returned 403 after trying upscoping");if(h)this._scope=h;if(m)this._resourceMetadataUrl=m;if(this._lastUpscopingHeader=y??void 0,await va(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new Pn;return this.send(e)}}throw new Lr(i.status,`Error POSTing to endpoint: ${this._unfollowedRedirect(i,this._url)??f}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,i.status===202){if(await i.body?.cancel(),eO(e))this._startOrAuthSse({resumptionToken:void 0}).catch((f)=>this.onerror?.(f));return}let u=(Array.isArray(e)?e:[e]).filter((f)=>("method"in f)&&("id"in f)&&f.id!==void 0).length>0,l=i.headers.get("content-type"),d=_1(l);if(u)if(d==="text/event-stream")this._handleSseStream(i.body,{onresumptiontoken:n},!1);else if(d==="application/json"){let f=await i.json(),m=Array.isArray(f)?f.map((h)=>fl.parse(h)):[fl.parse(f)];for(let h of m)this.onmessage?.(h)}else throw await i.body?.cancel(),new Lr(-1,`Unexpected content type: ${l}`);else await i.body?.cancel()}catch(r){throw this.onerror?.(r),r}}get sessionId(){return this._sessionId}async terminateSession(){if(!this._sessionId)return;try{let e=await this._commonHeaders(),t={...this._requestInit,method:"DELETE",headers:e,signal:this._abortController?.signal},r=await ro(this._fetch??fetch)(this._url,t);if(await r.body?.cancel(),!r.ok&&r.status!==405)throw new Lr(r.status,`Failed to terminate session: ${this._unfollowedRedirect(r,this._url)??r.statusText}`);this._sessionId=void 0}catch(e){throw this.onerror?.(e),e}}setProtocolVersion(e){this._protocolVersion=e}get protocolVersion(){return this._protocolVersion}async resumeStream(e,t){await this._startOrAuthSse({resumptionToken:e,onresumptiontoken:t?.onresumptiontoken})}}function Yte(e){try{let t=Ot().safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}function Xte(e){if(e instanceof Lr&&e.code===401)return!0;return/\b401\b|unauthorized/i.test(e.message)}async function Td(e,t,r,n){let o=new Gy(new URL(e.mcpUrl),{requestInit:{headers:{Authorization:`Bearer ${e.token}`}},fetch:n}),s=new Ny({name:"tripwire-cli",version:mc});try{await s.connect(o);let i=await s.callTool({name:t,arguments:r},Rr),a=Rr.parse(i),c=a.content.flatMap((l)=>l.type==="text"?[l.text]:[]).join(`
|
|
560
|
+
`),u=a.structuredContent?Ot().safeParse(a.structuredContent):null;return{isError:a.isError===!0,text:c,data:u?.success?u.data:Yte(c)}}catch(i){if(i instanceof Error&&Xte(i))throw new Qi("The Tripwire server rejected the token. Run tripwire login.");throw i}finally{await s.close().catch(()=>{return})}}var se=On(Yc(),1);import{emitKeypressEvents as Qte}from"node:readline";import{stripVTControlCharacters as ere}from"node:util";var gt=se.default.dim("│"),tre=se.default.dim("─");function Jy(e){return e.filter((t)=>t.disabled===void 0)}function rre(e,t){let r=t.toLowerCase();return e.label.toLowerCase().includes(r)||e.value.toLowerCase().includes(r)}function Z1(e,t){return t?e.filter((r)=>rre(r,t)):[...e]}function B1(e,t){let r=Jy(e),n=r.filter((o)=>t.has(o.value)).length;if(n===0)return"none";return n===r.length?"all":"partial"}function nre(e,t,r){let n=Z1(e,t.query);if(r.name==="return")return t.selected.size>0?{state:t,done:"submit"}:{state:t};if(r.name==="escape"||r.ctrl&&r.name==="c")return{state:t,done:"cancel"};if(r.name==="up")return{state:{...t,cursor:Math.max(0,t.cursor-1)}};if(r.name==="down")return{state:{...t,cursor:Math.min(n.length,t.cursor+1)}};if(r.name==="space"){let o=new Set(t.selected);if(t.cursor===0){let s=B1(e,o)==="all";for(let i of Jy(e))if(s)o.delete(i.value);else o.add(i.value)}else{let s=n[t.cursor-1];if(s&&s.disabled===void 0)if(o.has(s.value))o.delete(s.value);else o.add(s.value)}return{state:{...t,selected:o}}}if(r.name==="backspace")return{state:{...t,query:t.query.slice(0,-1),cursor:0}};if(r.sequence&&r.sequence.length===1&&!r.ctrl&&!r.meta)return{state:{...t,query:t.query+r.sequence,cursor:0}};return{state:t}}function ore(e,t,r){let n=t?se.default.cyan("❯"):" ";if(e.disabled!==void 0){let a=t?se.default.underline(e.label):e.label;return`${gt} ${n} ${se.default.dim(`- ${a} (${e.disabled})`)}`}let o=r.has(e.value)?se.default.green("●"):se.default.dim("○"),s=t?se.default.underline(e.label):e.label,i=e.hint?se.default.dim(` (${e.hint})`):"";return`${gt} ${n} ${o} ${s}${i}`}function V1(e,t){return e.filter((r)=>t.has(r.value)).map((r)=>r.label)}function sre(e,t,r){let{message:n,items:o,maxVisible:s=8}=e;if(r==="submit")return[`${se.default.green("◇")} ${se.default.bold(n)}`,`${gt} ${se.default.dim(V1(o,t.selected).join(", "))}`];if(r==="cancel")return[`${se.default.red("■")} ${se.default.bold(n)}`,`${gt} ${se.default.strikethrough(se.default.dim("Cancelled"))}`];let i=Z1(o,t.query),a=[`${se.default.green("◆")} ${se.default.bold(n)}`,`${gt} ${se.default.dim("Search:")} ${t.query}${se.default.inverse(" ")}`,`${gt} ${se.default.dim("↑↓ move, space select, enter confirm")}`,gt],c=Jy(o),u=c.filter((h)=>t.selected.has(h.value)).length,l=B1(o,t.selected),d=l==="all"?se.default.green("●"):l==="partial"?se.default.yellow("◐"):se.default.dim("○"),f=t.cursor===0;if(a.push(`${gt} ${f?se.default.cyan("❯"):" "} ${d} ${f?se.default.underline(se.default.bold("Select All")):se.default.bold("Select All")} ${se.default.dim(`(${u}/${c.length})`)}`,`${gt} ${tre.repeat(36)}`),i.length===0)a.push(`${gt} ${se.default.dim("No matches found")}`);else{let h=t.cursor-1,g=Math.max(0,Math.min(h-Math.floor(s/2),i.length-s)),y=Math.min(i.length,g+s);i.slice(g,y).forEach((E,S)=>{a.push(ore(E,g+S===h,t.selected))});let b=[g>0?`↑ ${g} more`:"",y<i.length?`↓ ${i.length-y} more`:""].filter(Boolean);if(b.length>0)a.push(`${gt} ${se.default.dim(b.join(" "))}`)}let m=V1(o,t.selected);if(a.push(gt),m.length===0)a.push(`${gt} ${se.default.dim("Selected: (none)")}`);else{let h=m.length<=3?m.join(", "):`${m.slice(0,3).join(", ")} +${m.length-3} more`;a.push(`${gt} ${se.default.green("Selected:")} ${h}`)}return a.push(se.default.dim("└")),a}function ire(e,t){let r=Math.max(1,t);return e.reduce((n,o)=>n+Math.max(1,Math.ceil(ere(o).length/r)),0)}function K1(e,t,r){return new Promise((n)=>{let o={query:"",cursor:0,selected:new Set(t)},s=0,i=(l)=>{let d=sre(e,o,l),f=s>0?`\x1B[${s}A\x1B[J`:"";r.write(`${f}${d.join(`
|
|
548
561
|
`)}
|
|
549
|
-
`),s=
|
|
562
|
+
`),s=ire(d,r.columns())},a=(l)=>{if(i(l),r.input.off("keypress",c),r.input.off("end",u),r.input.isTTY)r.input.setRawMode?.(!1);r.input.pause(),n(l==="submit"?[...o.selected]:null)},c=(l,d)=>{if(!d)return;let f=nre(e.items,o,d);if(o=f.state,f.done){a(f.done);return}i()},u=()=>a("cancel");if(Qte(r.input),r.input.isTTY)r.input.setRawMode?.(!0);r.input.on("keypress",c),r.input.on("end",u),r.input.resume(),i()})}import{existsSync as H1,mkdirSync as are,readFileSync as cre,rmSync as ure,writeFileSync as lre}from"node:fs";import{dirname as Pd,join as Sa,resolve as Yy}from"node:path";var G1=Sa(".tripwire","project.json"),Od=w({org:p().min(1).optional(),repo:p().min(1),workflows:K(p().min(1),p().min(1)).optional()});class Id extends Error{path;constructor(e){super(`${e} is not a valid Tripwire link. Run tripwire link <repo> to rewrite it.`);this.path=e}}function dre(e){let t=new Id(e),r;try{r=Ot().parse(JSON.parse(cre(e,"utf8")))}catch{throw t}let n=Od.safeParse(r);if(!n.success)throw t;return n.data}function ka(e,t){let r=t===void 0?void 0:Yy(t),n=Yy(e);while(!0){let o=Sa(n,G1);if(H1(o))return{path:o,link:dre(o)};let s=Pd(n);if(n===r||s===n)return null;n=s}}function Rd(e,t){let r=Sa(Yy(e),G1);are(Pd(r),{recursive:!0});let n=Od.parse(t);return lre(r,`${JSON.stringify(n,null,"\t")}
|
|
563
|
+
`),r}function J1(e){ure(e,{force:!0})}function Y1(e,t){let r=e||t?.link.repo;if(!r)throw Error("No repo given. Pass one, or run tripwire link <repo> in this project.");return r}function X1(e,t,r){return e||t||r?.link.org}function Xy(e,t){return JSON.stringify(Od.parse(e))===JSON.stringify(Od.parse(t))}function Qy(e){return Object.fromEntries([...e].map(([t,r])=>[r,t]).sort(([t],[r])=>t.localeCompare(r)))}function Q1(e,t,r,n){if(!t||!n||H1(Sa(r,e)))return e;return Sa(Pd(Pd(n.path)),e)}var pre=new Set(["1","true","yes"]);function ez(e){return e!==void 0&&pre.has(e.trim().toLowerCase())}function tz(e,t){if(ez(e.TRIPWIRE_NO_BROWSER)||e.BROWSER==="none")return!1;if(ez(e.CI))return!1;let r=Boolean(e.DISPLAY||e.WAYLAND_DISPLAY);if((e.SSH_CONNECTION||e.SSH_TTY)&&!r)return!1;if(t==="darwin"||t==="win32")return!0;return r}var fre=2000,mre=5;async function rz(e,t){let r=e,n=0;while(r.status==="pending")try{r=await t.read($0),n=0}catch(o){if(n+=1,n>=mre)throw o;await t.sleep(fre)}return r}function hre(e){return`${e} ${e===1?"workflow":"workflows"}`}function ew(e){return`Waiting for someone to accept ${hre(e.workflows.length)} on ${e.repo}`}function nz(e,t){return ve(e.workflows.map((r)=>[r.outcome??"skipped",[r.name,r.url].filter(Boolean).join(" ")]),t)}function oz(e,t){switch(e.status){case"rejected":return"The push was declined. Nothing was saved.";case"expired":return"The review link expired. Nothing was saved. Push again.";case"stale":return`These workflows changed on the server after the push. Nothing was saved. Run tripwire workflows diff ${t}, then push again.`;default:return"The push was not accepted. Nothing was saved."}}function sz(e,t){return e.map((r)=>ir(`${r.name} was not sent for review. ${r.issues.join(" ")}`,t)).join(`
|
|
564
|
+
`)}import{existsSync as rw,mkdirSync as gre,readFileSync as yre,writeFileSync as az}from"node:fs";import{basename as wre,dirname as nw,join as cz,resolve as Ad}from"node:path";import{pathToFileURL as bre}from"node:url";var xa="tripwire.ts",_re=w({typescript:te([p(),D()]).optional()});function vre(){if(process.versions.bun)return!0;let e=_re.safeParse(process.features);return e.success&&Boolean(e.data.typescript)}function uz(e){let t=cz(nw(Ad(e)),Oo);return gre(nw(t),{recursive:!0}),az(t,x0(`/**
|
|
550
565
|
* The \`tripwire.ts\` authoring API. A workflow file default-exports
|
|
551
566
|
* \`workflows({ ... })\`; each entry compiles to one stored WorkflowDefinition.
|
|
552
567
|
*
|
|
@@ -950,15 +965,15 @@ export function authoring<C extends AuthoringCatalog>() {
|
|
|
950
965
|
},
|
|
951
966
|
};
|
|
952
967
|
}
|
|
953
|
-
`)),t}async function
|
|
968
|
+
`)),t}async function Cd(e){let t=Ad(e);if(!rw(t))throw Error(`No ${e} here. Run tripwire workflows pull <repo> to start one.`);if(!vre())throw Error("Loading tripwire.ts needs Node 22.18 or later, or Bun. Run it with bunx @tripwire-sh/cli instead.");let r=cz(nw(t),Oo);if(!rw(r))uz(t);let n=`${bre(t).href}?at=${Date.now()}`;return m0(await import(n))}var Sre=w({workflows:k(w({id:p(),appId:p().optional(),name:p().optional(),enabled:D().optional(),definition:Rt}))});function ow(e){return Sre.parse(e).workflows.map((t)=>({id:t.id,appId:t.appId,name:t.name??t.definition.name,enabled:t.enabled??!1,definition:t.definition}))}function kre(e){return[...new Set(e.nodes.flatMap((t)=>t.type==="trigger"?t.kinds:[]))]}function xre(e){let t=k0(e);return t.ok?void 0:`cannot be written as code. ${t.reason}`}function lz(e,t){return e.map((r)=>{let n=xre(r.definition);if(n)return{value:r.id,label:r.name,disabled:n};let o=r.appId?t.get(r.appId):void 0,s=o?.state??(r.enabled?"on":"off"),i=mm(kre(r.definition),o?.schedules??[]),a=i.length>2?`${i.slice(0,2).join(", ")} +${i.length-2} more`:i.join(", "),c=[Vc[s].toLowerCase(),a].filter(Boolean).join(", ");return{value:r.id,label:r.name,hint:c}})}function dz(e,t){return e.filter((r)=>r.disabled===void 0).filter((r)=>t===null||t.includes(r.value)).map((r)=>r.value)}function pz(e,t,r=new Map){let n=jn(e.map((s)=>s.definition),r),o=(s,i)=>s.id===i||s.appId===i||s.name===i||n.get(s.id)===i;return{picked:e.filter((s)=>t.some((i)=>o(s,i))),unknown:t.filter((s)=>!e.some((i)=>o(i,s)))}}function $re(e,t){let r=new Map(t.map((s)=>[s.id,s])),n=e.map((s)=>r.get(s.id)??s),o=new Set(e.map((s)=>s.id));return{definitions:[...n,...t.filter((s)=>!o.has(s.id))],kept:e.filter((s)=>!r.has(s.id)).map((s)=>s.name)}}var Ere=K(p(),Ot());function fz(e){let t=new Set(e.flatMap((r)=>r.nodes.flatMap((n)=>n.type==="rule"&&n.ref.startsWith("custom-")?[n.ref]:[])));return[...Ge,...[...t].map((r)=>{let[n=r,o="1"]=r.split("@");return{ruleId:n,version:Number(o),name:n,configSchema:Ere}})]}function iz(e){return`${e} ${e===1?"workflow":"workflows"}`}function mz(e){let t=e.pulled-e.count;return t>0?`${iz(e.count)}, ${t} left out`:iz(e.count)}async function hz(e){let t=Ad(e);if(!rw(t))return{kind:"none"};try{let r=await Cd(e);return r.ok?{kind:"code",text:yre(t,"utf8"),definitions:r.definitions}:{kind:"unreadable"}}catch{return{kind:"unreadable"}}}function tw(e,t){return Kc(e,{importFrom:Oo,keys:t}).code}function Tre(e){return e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`}function Pre(e,t,r,n){if(t.kind==="unreadable")return`${e} does not compile, so a pull cannot keep its other workflows. Fix it, or pass --force to replace it.`;if(t.kind!=="code")return null;let o=r.filter((i)=>{let a=t.definitions.find((c)=>c.id===i.id);return a!==void 0&&tw([a])!==tw([i])}).map((i)=>i.name),s=wre(e);if(o.length>0)return`${Tre(o)} in ${s} ${o.length===1?"differs":"differ"} from the server. Run tripwire workflows diff <repo> to compare, or pass --force to take the server's version.`;if(tw(t.definitions,n)!==t.text)return`${s} has edits a pull would rewrite. Pass --force to rewrite it, or diff it first.`;return null}function gz(e,t,r,n={kind:"none"},o=new Map){let s=Ad(e),i=$re(n.kind==="code"?n.definitions:[],t),{code:a,warnings:c,written:u,keys:l}=Kc(i.definitions,{importFrom:Oo,keys:o}),d=n.kind==="code"&&n.text===a,f=r||d?null:Pre(e,n,t,o);if(f)throw Error(f);let m=uz(s);az(s,a);let h=new Set(t.map((g)=>g.id));return{file:s,module:m,count:u.filter((g)=>h.has(g)).length,pulled:t.length,kept:i.kept,warnings:c,keys:l}}function yz(e,t){return e.map((r)=>{let n=[[r.valid?"ok":"error",r.valid?t.good(`${r.id} can be turned on`):t.bad(`${r.id} cannot be turned on yet`)]];for(let o of r.issues)n.push([o.severity==="error"?"fix":"warn",`${o.step}: ${o.message}`]);for(let o of r.schedules)n.push(["runs",`${o.nodeId}: ${o.description??o.summary}`]);return ve(n,t)}).join(`
|
|
954
969
|
|
|
955
|
-
`)}var
|
|
970
|
+
`)}var Ore=w({json:D().optional(),org:p().optional()}),Ire=_e({user:_e({name:p().nullish(),email:p().nullish()})}),Rre=1000;function Are(){try{return{link:ka(process.cwd())}}catch(e){return{link:null,linkError:e instanceof Error?e:Error(String(e))}}}function Yt(e,t){let r=Ore.parse(e.optsWithGlobals()),{link:n,linkError:o}=Are();return{json:r.json===!0,org:X1(r.org,t.env.TRIPWIRE_ORG,n),link:n,linkError:o,style:gi(process.stdout.isTTY===!0,t.env),errStyle:gi(process.stderr.isTTY===!0,t.env)}}function Se(e){process.stdout.write(e.endsWith(`
|
|
956
971
|
`)?e:`${e}
|
|
957
|
-
`)}function
|
|
972
|
+
`)}function yt(e){process.stderr.write(e.endsWith(`
|
|
958
973
|
`)?e:`${e}
|
|
959
|
-
`)}function
|
|
974
|
+
`)}function Cre(e){let t=e.indexOf("=");if(t<=0)throw Error(`Expected key=value, got ${e}`);let r=e.slice(0,t),n=e.slice(t+1);try{let o=Ot().safeParse(JSON.parse(n));return[r,o.success?o.data:n]}catch{return[r,n]}}function so(e,t,r){if(r.json){let n=t.isError?{error:Io(t.text,t.data)}:t.data??{text:t.text};return Se(JSON.stringify(n,null,2)),t.isError?1:0}if(t.isError)return yt(ir(Io(t.text,t.data),r.errStyle)),1;return Se(W0(e,t.data,r.style)??(t.text||JSON.stringify(t.data,null,2))),0}function oo(e,t){if(t.json)Se(JSON.stringify({error:Io(e.message)},null,2));else yt(ir(Io(e.message),t.errStyle));return 1}function _z(e,t){return e.org?{org:e.org,...t}:t}function zre(e,t){if(!t&&e.linkError)throw e.linkError;return Y1(t,e.link)}function jr(e,t,r,n){let o=Yt(t,e.system);try{return n(zre(o,r))}catch(s){process.exitCode=oo(s instanceof Error?s:Error(String(s)),o);return}}function vz(e){let{org:t,repo:r}=e.link;return[["linked",t?`${r} in org ${t}`:r],["file",e.path]]}function zd(e,t,r){return Q1(r,t.getOptionValueSource("file")==="default",process.cwd(),Yt(t,e.system).link)}function Nre(e,t,r){if(!r||!t.link||e.isError)return e;let n=K(p(),Ot()).safeParse(e.data);return n.success?{...e,data:{...n.data,link:{...t.link.link,path:t.link.path}}}:e}async function $t(e,t,r,n,o=!1){let s=Yt(t,e.system);try{let i=await pg(e.system,e.auth),a=await Td(i,r,_z(s,n),e.fetch);if(process.exitCode=so(r,s.json?Nre(a,s,o):a,s),o&&s.link&&!s.json&&!a.isError)Se(ve(vz(s.link),s.style))}catch(i){process.exitCode=oo(i instanceof Error?i:Error(String(i)),s)}}async function Lre(e,t){let r=Yt(t,e.system),n=t.opts().browser,o=vk(e.system.env),s=ho(e.system.env);try{let i=await Ek(e.auth,o,s),a=i.verification_uri_complete??i.verification_uri;if(yt(ve([["code",F0(i.user_code)],["open",a],["","Waiting for you to allow it in the browser"]],r.errStyle)),n&&e.openUrl)await e.openUrl(a).catch(()=>{return});let c=await Pk(e.auth,o,s,i),u=await Dre(e.system,c);if(r.json)Se(JSON.stringify({signedIn:!0,store:u},null,2));else{let l=await jre(e,c);Se(ve([["done",l?`Signed in as ${l}`:"Signed in"]],r.style))}}catch(i){process.exitCode=oo(i instanceof Error?i:Error(String(i)),r)}}async function wz(e,t){try{let r=await Td({token:t.accessToken,mcpUrl:e.system.env.TRIPWIRE_MCP_URL||t.mcpUrl,source:"file"},"whoami",{},e.fetch),n=Ire.safeParse(r.data);if(!n.success)return null;let{name:o,email:s}=n.data.user;return o?.trim()||s?.trim()||null}catch{return null}}async function jre(e,t){let r=await wz(e,t);if(r)return r;return await e.auth.sleep(Rre),await wz(e,t)}async function Dre(e,t){let r=Ko(e);try{return await r.write(t),r.location}catch{let n=Ko({...e,env:{...e.env,TRIPWIRE_CREDENTIAL_STORE:"file"}});return await n.write(t),n.location}}async function Mre(e,t){let r=Yt(t,e.system),n=Ko(e.system),o=await n.read();if(o)await Ik(e.auth,o);if(await n.clear(),r.json)Se(JSON.stringify({signedIn:!1},null,2));else Se(ve([["done",o?"Signed out":"Not signed in"]],r.style))}var aw=w({workflows:k(w({id:p(),valid:D().optional(),outcome:p().optional(),reason:p().optional(),url:p().optional(),enabled:D().optional(),issues:k(te([p(),w({step:p(),message:p(),severity:p().optional()}).transform((e)=>e.severity==="warning"?"":`${e.step}: ${e.message}`)])).optional(),changes:k(w({change:z(["added","removed","changed"]),subject:p(),text:p()})).optional()}))}),qre={added:"+",removed:"-",changed:"~"};function Sz(e){return(e.issues??[]).filter(Boolean).join(" ")}function Fre(e,t){let r=Sz(e)||`Run tripwire workflows validate --repo ${t} to see why.`;return e.reason==="live-cannot-run"?`${e.id} is on, so this version was not saved. ${r}`:`${e.id} was not saved. ${r}`}function kz(e,t,r){let n=aw.safeParse(e);if(!n.success)return JSON.stringify(e,null,2);return n.data.workflows.map((o)=>{let i=(o.changes??[]).map((a)=>` ${qre[a.change]} ${a.subject} ${a.text}`);return[t.label(r(o)),...i].join(`
|
|
960
975
|
`)}).join(`
|
|
961
976
|
|
|
962
|
-
`)}function
|
|
963
|
-
`)}async function z1(e,t){let r=await vd(e);if(r.ok)return r.definitions;if(t.json)st(JSON.stringify({valid:!1,issues:r.issues},null,2));else xn(Dy(r.issues,t));return null}async function wa(e,t,r,n){let o=await Gh(e.system,e.auth);return await wd(o,r,A1(t,n),e.fetch)}async function Sd(e,t,r){let n=hs(e,t.system);try{process.exitCode=await r(n)}catch(o){process.exitCode=ya(o instanceof Error?o:Error(String(o)),n)}}var Ete=["on","off","cant-run","needs-fixes","cant-turn-on"],Tte=x(xe({id:p(),state:z(Ete).optional(),schedules:x(p()).optional()}));async function Ote(e,t,r){let n=await wa(e,t,"list_workflows",{repo:r}),o=Tte.safeParse(n.data);return new Map((o.success?o.data:[]).map((s)=>[s.id,{state:s.state,schedules:s.schedules}]))}function Pte(e){return e.kind==="code"?e.definitions.map((t)=>t.id):null}async function Ite(e,t,r,n,o){let s=S1(n,await Ote(e,t,r));if(s.filter((a)=>!a.disabled).length<2)return n;let i=await g1({message:"Pick workflows to pull",items:s,maxVisible:12},k1(s,Pte(o)),{input:process.stdin,write:(a)=>process.stdout.write(a),columns:()=>process.stdout.columns||80});return i?n.filter((a)=>i.includes(a.id)):null}function Ate(e){let t=e.length===1?e[0]??"":`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`;return e.length===1?`${t}, not pulled and left as it was`:`${t}, not pulled and left as they were`}function Rte(e,t,r,n,o){return Sd(t,e,async(s)=>{let i=await wa(e,s,"get_workflow",{repo:r});if(i.isError)return ba("get_workflow",i,s);let a=v1(i.data),c=await T1(o.file),u=a;if(n.length>0){let f=x1(a,n);if(f.unknown.length>0)throw Error(`No workflow ${f.unknown.join(", ")} on ${r}. Run tripwire workflows list <repo> to see them.`);u=f.picked}else if(process.stdin.isTTY&&process.stdout.isTTY&&!(s.json||o.all||o.yes)){let f=await Ite(e,s,r,a,c);if(!f)return Jc("Pull cancelled"),0;u=f}let l=O1(o.file,u.map((f)=>f.definition),o.force===!0,c);if(s.json)return st(JSON.stringify(l,null,2)),0;let d=[["wrote",`${l.file} (${E1(l)})`]];if(l.kept.length>0)d.push(["kept",Ate(l.kept)]);return d.push(["helpers",l.module],...l.warnings.map((f)=>["note",f])),st(We(d,s.style)),0})}function Cte(e,t,r){return Sd(t,e,async(n)=>{let o=await vd(r.file),s=o.ok?[]:o.issues,{definitions:i}=o,a=[],c=null;if(i.length>0&&r.repo){let l=await wa(e,n,"validate_workflow",{repo:r.repo,definitions:My(i)});if(l.isError){if(s.length>0)xn(Dy(s,n));return ba("validate_workflow",l,n)}c=l.data,a=Lte.parse(l.data).workflows}else if(i.length>0)a=Vx(i,$1(i));let u=s.length===0&&a.every((l)=>l.valid);if(n.json)return st(JSON.stringify(c!==null&&s.length===0?c:{valid:u,issues:s,workflows:a,definitions:r.repo?void 0:i},null,2)),u?0:1;if(s.length>0)xn(Dy(s,n));if(a.length>0)st(P1(a,n.style));return u?0:1})}function zte(e,t,r,n){return Sd(t,e,async(o)=>{let s=await z1(n.file,o);if(!s)return 1;let i=await wa(e,o,"validate_workflow",{repo:r,definitions:My(s)});if(o.json||i.isError)return ba("validate_workflow",i,o);st(C1(i.data,o.style,(u)=>(u.changes??[]).length===0?`${u.id}: no changes`:u.id));let a=jy.safeParse(i.data),c=a.success?a.data.workflows.filter((u)=>u.valid===!1):[];for(let u of c){let l=R1(u);xn(u0(u.enabled?`${u.id} is on, so a push will be refused. ${l}`:`${u.id} could not be turned on after a push. ${l}`,o.errStyle))}return 0})}function Nte(e,t,r,n){return Sd(t,e,async(o)=>{let s=await z1(n.file,o);if(!s)return 1;let i=await wa(e,o,"apply_workflow",{repo:r,definitions:My(s)});if(i.isError)return ba("apply_workflow",i,o);let a=jy.safeParse(i.data),c=a.success?a.data.workflows.filter((u)=>u.outcome==="refused"):[];if(o.json)return st(JSON.stringify(i.data??{text:i.text},null,2)),c.length>0?1:0;st(C1(i.data,o.style,(u)=>[u.id,u.outcome,u.url].filter(Boolean).join(" ")));for(let u of c)xn(zn($te(u,r),o.errStyle));return c.length>0?1:0})}var Lte=b({workflows:x(b({id:p(),name:p(),valid:j(),issues:x(b({rule:p(),severity:z(["error","warning"]),step:p(),message:p()})),schedules:x(b({nodeId:p(),summary:p(),timezone:p(),defaulted:j(),description:p().optional()}))}))});function My(e){return Sr().parse(JSON.parse(JSON.stringify(e)))}function N1(e,t){e.command("login").description("Sign in with the OAuth device flow and store the token").option("--no-browser","Print the link without opening a browser").action((i,a)=>_te(t,a)),e.command("logout").description("Revoke and remove the stored token").action((i,a)=>kte(t,a)),e.command("whoami").description("Show the signed-in account, access status and orgs").action((i,a)=>xt(t,a,"whoami",{})),e.command("status").description("Show setup status and the next step").action((i,a)=>xt(t,a,"setup_status",{})),e.command("repos").description("List repos and their gate state").action((i,a)=>xt(t,a,"list_repos",{}));let r=e.command("rules").description("Read and change rules");r.command("list [repo]").description("List a repo's rules, or the rule catalog when no repo is given").action((i,a,c)=>i?xt(t,c,"get_repo_rules",{repo:i}):xt(t,c,"list_rule_catalog",{})),r.command("set <repo> <ruleId>").description("Turn a rule on or off and set its params").option("--enable","Turn the rule on").option("--disable","Turn the rule off").option("--param <key=value>","Set a param, repeatable. Values parse as JSON when they can",(i,a)=>[...a,i],[]).action((i,a,c,u)=>{let l={repo:i,ruleId:a};if(c.enable||c.disable)l.enabled=c.enable===!0;try{if(c.param.length>0)l.config=Object.fromEntries(c.param.map(wte));if(l.enabled===void 0&&l.config===void 0)throw Error("Pass --enable, --disable or --param.")}catch(d){process.exitCode=ya(d instanceof Error?d:Error(String(d)),hs(u,t.system));return}return xt(t,u,"set_rule",l)}),e.command("gate").description("Control the Tripwire gate on a repo").command("on <repo>").description("Turn the gate on for a repo").action((i,a,c)=>xt(t,c,"turn_on_gate",{repo:i}));let n=e.command("workflows").description("Manage workflows as tripwire.ts code: pull, validate, diff and push");n.command("pull <repo> [workflows...]").description("Write a repo's workflows to tripwire.ts, with the typed helpers in .tripwire/").option("--file <path>","Where to write the code",ga).option("--all","Pull every workflow without asking").option("-y, --yes","Skip the picker").option("--force","Overwrite workflows that differ from the server").action((i,a,c,u)=>Rte(t,u,i,a,c)),n.command("validate").description("Compile tripwire.ts and check it; with --repo, against that repo's rules").option("--file <path>","The workflow file",ga).option("--repo <repo>","Also check against this repo, custom rules included").action((i,a)=>Cte(t,a,i)),n.command("diff <repo>").description("Show what a push of tripwire.ts would change on the repo").option("--file <path>","The workflow file",ga).action((i,a,c)=>zte(t,c,i,a)),n.command("push <repo>").description("Save tripwire.ts to the repo. New workflows start off; enable them when ready").option("--file <path>","The workflow file",ga).action((i,a,c)=>Nte(t,c,i,a)),n.command("list <repo>").description("List a repo's workflows").action((i,a,c)=>xt(t,c,"list_workflows",{repo:i}));for(let i of["enable","disable"])n.command(`${i} <repo> <workflowId>`).description(`${i==="enable"?"Enable":"Disable"} a workflow`).action((a,c,u,l)=>xt(t,l,"set_workflow_enabled",{repo:a,workflowId:c,enabled:i==="enable"}));let o=e.command("runs").description("Inspect runs");o.command("list").description("List recent runs").option("--repo <repo>","Only runs for this repo").option("--limit <n>","How many runs to show",(i)=>Number.parseInt(i,10)).action((i,a)=>{let c={};if(i.repo)c.repo=i.repo;if(i.limit)c.limit=i.limit;return xt(t,a,"list_runs",c)}),o.command("show <runId>").description("Show one run with its rule results").action((i,a,c)=>xt(t,c,"get_run",{runId:i}));let s=e.command("queue").description("Work the human review queue");s.command("list").description("List items waiting for human review").option("--repo <repo>","Only items for this repo").action((i,a)=>xt(t,a,"list_moderation_queue",i.repo?{repo:i.repo}:{})),s.command("decide <repo> <itemId> <action>").description("Decide an item: approve, remove or ban. A ban returns a link a human must open").action((i,a,c,u,l)=>{if(!["approve","remove","ban"].includes(c)){process.exitCode=ya(Error(d0(c)),hs(l,t.system));return}return xt(t,l,"decide_moderation",{repo:i,itemId:a,decision:c})})}var Dte=new Set(["install","login","logout","whoami","status","repos","rules","gate","workflows","runs","queue","help"]),jte=new Set(["--help","-h","--version","-V"]),Mte=new Set(["--org"]);function qte(e){if(e.some((n)=>jte.has(n)))return{kind:"run",argv:e};let t=0;while(t<e.length){let n=e[t]??"";if(!n.startsWith("-"))break;t+=Mte.has(n)?2:1}let r=e[t];if(r===void 0)return{kind:"help"};if(Dte.has(r))return{kind:"run",argv:e};return{kind:"unknown",command:r}}async function L1(e,t){let r=qte(t),n=Ute(e);if(r.kind==="unknown"){process.stderr.write(`${zn(`Unknown command ${r.command}. Run tripwire --help.`,li(process.stderr.isTTY===!0,e.env))}
|
|
964
|
-
`),process.exitCode=1;return}if(r.kind==="help"){n.outputHelp();return}await n.parseAsync(r.argv,{from:"user"})}async function
|
|
977
|
+
`)}function sw(e,t){return e.map((r)=>ir(l0(r),t.errStyle)).join(`
|
|
978
|
+
`)}async function xz(e,t){let r=await Cd(e);if(r.ok)return r.definitions;if(t.json)Se(JSON.stringify({valid:!1,issues:r.issues},null,2));else yt(sw(r.issues,t));return null}async function Dr(e,t,r,n){let o=await pg(e.system,e.auth);return await Td(o,r,_z(t,n),e.fetch)}async function Ld(e,t,r){let n=Yt(e,t.system);try{process.exitCode=await r(n)}catch(o){process.exitCode=oo(o instanceof Error?o:Error(String(o)),n)}}function Ure(e,t){let r=Nd(bz(e)),n=ka(r,r),o=!n||n.link.repo!==t.repo||n.link.org!==t.org;if(n&&Xy(n.link,t))return{path:n.path,linked:o};return{path:Rd(r,t),linked:o}}function cw(e,t){let r=ka(Nd(bz(e)));return{found:r,mapping:r&&r.link.repo===t?r.link.workflows??{}:{}}}function $a(e){return new Map(e.matches.map((t)=>[t.id,t.key]))}async function Wre(e,t,r){let n=await Dr(e,t,"get_workflow",{repo:r});return n.isError?[]:ow(n.data).map((o)=>o.definition)}async function uw(e,t,r,n,o){let{mapping:s}=cw(n,r),i=o.some((u)=>!s[u.id]),a=i?await Wre(e,t,r):[],c=Wc(o,a,s);for(let u of c.matches){if(u.by==="new"&&i)yt(Qc(`${u.key} matches no workflow on the server, so a push adds it as a new one.`,t.errStyle));if(u.by==="name"){let l=a.find((d)=>d.id===u.id)?.name;yt(Qc(`${u.key} has no saved id in .tripwire/project.json, so it matches ${l??u.id} on the server by its name.`,t.errStyle))}}return c}function iw(e,t,r){let{found:n}=cw(e,t);if(!n||n.link.repo!==t)return;let o=new Set(r.matches.map((c)=>c.id)),s=Object.entries(n.link.workflows??{}).filter(([,c])=>!o.has(c)),i=Qy(new Map([...s.map(([c,u])=>[u,c]),...$a(r)])),a={...n.link,workflows:i};if(!Xy(n.link,a))Rd(Nd(Nd(n.path)),a)}var Vre=_e({workflows:k(_e({id:p()}))});function lw(e,t){let r=Vre.safeParse(e);if(!r.success)return e;return Ot().parse({...r.data,workflows:r.data.workflows.map((n)=>({...n,id:t.get(n.id)??n.id}))})}var Zre=["on","off","cant-run","needs-fixes","cant-turn-on"],Bre=k(_e({id:p(),state:z(Zre).optional(),schedules:k(p()).optional()}));async function Kre(e,t,r){let n=await Dr(e,t,"list_workflows",{repo:r}),o=Bre.safeParse(n.data);return new Map((o.success?o.data:[]).map((s)=>[s.id,{state:s.state,schedules:s.schedules}]))}function Hre(e){return e.kind==="code"?e.definitions.map((t)=>t.id):null}async function Gre(e,t,r,n,o){let s=lz(n,await Kre(e,t,r));if(s.filter((a)=>!a.disabled).length<2)return n;let i=await K1({message:"Pick workflows to pull",items:s,maxVisible:12},dz(s,Hre(o)),{input:process.stdin,write:(a)=>process.stdout.write(a),columns:()=>process.stdout.columns||80});return i?n.filter((a)=>i.includes(a.id)):null}function Jre(e){let t=e.length===1?e[0]??"":`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`;return e.length===1?`${t}, not pulled and left as it was`:`${t}, not pulled and left as they were`}function Yre(e,t,r,n,o){return Ld(t,e,async(s)=>{let i=await Dr(e,s,"get_workflow",{repo:r});if(i.isError)return so("get_workflow",i,s);let a=ow(i.data),c=await hz(o.file),{mapping:u}=cw(o.file,r),l=c.kind==="code"?Wc(c.definitions,a.map((E)=>E.definition),u):null,d=c.kind==="code"&&l?{...c,definitions:l.definitions}:c,f=new Map([...Object.entries(u).map(([E,S])=>[S,E]),...l?$a(l):[]]),m=new Map([...f,...jn(a.map((E)=>E.definition),f)]),h=a;if(n.length>0){let E=pz(a,n,m);if(E.unknown.length>0)throw Error(`No workflow ${E.unknown.join(", ")} on ${r}. Run tripwire workflows list <repo> to see them.`);h=E.picked}else if(process.stdin.isTTY&&process.stdout.isTTY&&!(s.json||o.all||o.yes)){let E=await Gre(e,s,r,a,d);if(!E)return ou("Pull cancelled"),0;h=E}let g=gz(o.file,h.map((E)=>E.definition),o.force===!0,d,m),y=o.link?Ure(o.file,{org:s.org,repo:r,workflows:Qy(g.keys)}):null;if(s.json)return Se(JSON.stringify({...g,keys:Object.fromEntries(g.keys),link:y?.path??null},null,2)),0;let b=[["wrote",`${g.file} (${mz(g)})`]];if(g.kept.length>0)b.push(["kept",Jre(g.kept)]);if(b.push(["helpers",g.module]),y?.linked)b.push(["linked",`${r} in ${y.path}`]);return b.push(...g.warnings.map((E)=>["note",E])),Se(ve(b,s.style)),0})}function Xre(e,t,r){return Ld(t,e,async(n)=>{let o=await Cd(r.file),s=o.ok?[]:o.issues,{definitions:i}=o,a=[],c=null;if(i.length>0&&r.repo){let l=await uw(e,n,r.repo,r.file,i),d=await Dr(e,n,"validate_workflow",{repo:r.repo,definitions:jd(l.definitions)});if(d.isError){if(s.length>0)yt(sw(s,n));return so("validate_workflow",d,n)}c=d.data,a=one.parse(lw(d.data,$a(l))).workflows}else if(i.length>0){a=h0(i,fz(i));let l=n.link?.link;i=Wc(i,[],l?l.workflows??{}:{}).definitions}let u=s.length===0&&a.every((l)=>l.valid);if(n.json)return Se(JSON.stringify(c!==null&&s.length===0?c:{valid:u,issues:s,workflows:a,definitions:r.repo?void 0:i},null,2)),u?0:1;if(s.length>0)yt(sw(s,n));if(a.length>0)Se(yz(a,n.style));return u?0:1})}function Qre(e,t,r,n){return Ld(t,e,async(o)=>{let s=await xz(n.file,o);if(!s)return 1;let i=await uw(e,o,r,n.file,s),a=await Dr(e,o,"validate_workflow",{repo:r,definitions:jd(i.definitions)});if(o.json||a.isError)return so("validate_workflow",a,o);let c={...a,data:lw(a.data,$a(i))};Se(kz(c.data,o.style,(d)=>(d.changes??[]).length===0?`${d.id}: no changes`:d.id));let u=aw.safeParse(c.data),l=u.success?u.data.workflows.filter((d)=>d.valid===!1):[];for(let d of l){let f=Sz(d);yt(Qc(d.enabled?`${d.id} is on, so a push will be refused. ${f}`:`${d.id} could not be turned on after a push. ${f}`,o.errStyle))}return 0})}async function ene(e,t,r,n,o){let s=await Dr(e,t,"apply_workflow",{repo:r,definitions:jd(o.definitions)});if(s.isError)return so("apply_workflow",s,t);iw(n,r,o);let i=t.json?s:{...s,data:lw(s.data,$a(o))},a=aw.safeParse(i.data),c=a.success?a.data.workflows.filter((u)=>u.outcome==="refused"):[];if(t.json)return Se(JSON.stringify(i.data??{text:i.text},null,2)),c.length>0?1:0;Se(kz(i.data,t.style,(u)=>[u.id,u.outcome,u.url].filter(Boolean).join(" ")));for(let u of c)yt(ir(Fre(u,r),t.errStyle));return c.length>0?1:0}async function tne(e,t,r,n){let o=await Dr(e,{...t,org:r.org},"get_workflow_push",{push:r.id,waitSeconds:n});if(o.isError)throw Error(Io(o.text,o.data));return dm.parse(o.data)}async function rne(e,t,r){let n=process.stderr.isTTY&&!t.json?Si({output:process.stderr}):null;if(n?.start(ew(r)),!n&&!t.json)yt(ve([["",ew(r)]],t.errStyle));try{let o=await rz(r,{read:(s)=>tne(e,t,r,s),sleep:e.auth.sleep});return n?.stop(E0[o.status]),o}catch(o){throw n?.error("Lost track of the review"),o}}function nne(e,t,r,n){return Ld(t,e,async(o)=>{let s=await xz(n.file,o);if(!s)return 1;let i=await uw(e,o,r,n.file,s);if(n.force)return await ene(e,o,r,n.file,i);let a=await Dr(e,o,"propose_workflow_push",{repo:r,definitions:jd(i.definitions)});if(a.isError)return so("propose_workflow_push",a,o);let c=P0.parse(a.data);if(c.result==="unchanged"){if(iw(n.file,r,i),o.json)Se(JSON.stringify(c,null,2));else Se(ve([["done","No changes to push"]],o.style));return 0}if(c.result==="blocked"){if(o.json)Se(JSON.stringify(c,null,2));else yt(sz(c.workflows,o.errStyle));return 1}let{push:u}=c;if(o.json&&!n.wait)return Se(JSON.stringify(u,null,2)),0;if(!o.json)yt(ve([["review",u.url]],o.errStyle));if(n.browser&&e.openUrl&&tz(e.system.env,e.system.platform))await e.openUrl(u.url).catch(()=>{return});let l=await rne(e,o,u);if(l.status==="accepted")iw(n.file,r,i);if(o.json)Se(JSON.stringify(l,null,2));else if(l.status==="accepted")Se(nz(l,o.style));else yt(ir(oz(l,r),o.errStyle));return T0(l.status)})}var one=w({workflows:k(w({id:p(),name:p(),valid:D(),issues:k(w({rule:p(),severity:z(["error","warning"]),step:p(),message:p()})),schedules:k(w({nodeId:p(),summary:p(),timezone:p(),defaulted:D(),description:p().optional()}))}))});function jd(e){return Ot().parse(JSON.parse(JSON.stringify(e)))}async function sne(e,t,r){let n=Yt(t,e.system);try{let o=await Dr(e,n,"list_workflows",{repo:r});if(o.isError){process.exitCode=so("list_workflows",o,n);return}let s=ka(process.cwd(),process.cwd()),i={org:n.org,repo:r,workflows:s?.link.repo===r?s.link.workflows:void 0},a=Rd(process.cwd(),i),c={path:a,link:{...i}};if(n.json){Se(JSON.stringify({...c.link,path:a},null,2));return}Se(ve(vz(c),n.style))}catch(o){process.exitCode=oo(o instanceof Error?o:Error(String(o)),n)}}function ine(e,t){let r=Yt(t,e.system),n=r.link?.path??(r.linkError instanceof Id?r.linkError.path:null);if(n)J1(n);if(r.json){Se(JSON.stringify({unlinked:n},null,2));return}Se(ve([["done",n?`Unlinked, removed ${n}`:"Not linked"]],r.style))}function $z(e,t){e.command("login").description("Sign in with the OAuth device flow and store the token").option("--no-browser","Print the link without opening a browser").action((i,a)=>Lre(t,a)),e.command("logout").description("Revoke and remove the stored token").action((i,a)=>Mre(t,a)),e.command("whoami").description("Show the signed-in account, access status and orgs").action((i,a)=>$t(t,a,"whoami",{},!0)),e.command("status").description("Show setup status and the next step").action((i,a)=>$t(t,a,"setup_status",{},!0)),e.command("link <repo>").description("Save the repo (and --org) to .tripwire/project.json here, so later commands can leave them out").action((i,a,c)=>sne(t,c,i)),e.command("unlink").description("Remove the nearest .tripwire/project.json").action((i,a)=>ine(t,a)),e.command("repos").description("List repos and their gate state").action((i,a)=>$t(t,a,"list_repos",{}));let r=e.command("rules").description("Read and change rules");r.command("list [repo]").description("List a repo's rules (default: the linked repo), or the rule catalog when there is no repo").option("--catalog","List the rule catalog").action((i,a,c)=>{let u=Yt(c,t.system).link;return i||u&&!a.catalog?jr(t,c,i,(l)=>$t(t,c,"get_repo_rules",{repo:l})):$t(t,c,"list_rule_catalog",{})}),r.command("set <repoOrRule> [ruleId]").usage("[options] [repo] <ruleId>").description("Turn a rule on or off and set its params").option("--enable","Turn the rule on").option("--disable","Turn the rule off").option("--param <key=value>","Set a param, repeatable. Values parse as JSON when they can",(i,a)=>[...a,i],[]).action((i,a,c,u)=>{let[l,d]=a===void 0?[void 0,i]:[i,a],f={ruleId:d};if(c.enable||c.disable)f.enabled=c.enable===!0;try{if(c.param.length>0)f.config=Object.fromEntries(c.param.map(Cre));if(f.enabled===void 0&&f.config===void 0)throw Error("Pass --enable, --disable or --param.")}catch(m){process.exitCode=oo(m instanceof Error?m:Error(String(m)),Yt(u,t.system));return}return jr(t,u,l,(m)=>$t(t,u,"set_rule",{repo:m,...f}))}),e.command("gate").description("Control the Tripwire gate on a repo").command("on [repo]").description("Turn the gate on for a repo").action((i,a,c)=>jr(t,c,i,(u)=>$t(t,c,"turn_on_gate",{repo:u})));let n=e.command("workflows").description("Manage workflows as tripwire.ts code: pull, validate, diff and push");n.command("pull [repo] [workflows...]").description("Write a repo's workflows to tripwire.ts, with the typed helpers and the repo link in .tripwire/").option("--file <path>","Where to write the code",xa).option("--all","Pull every workflow without asking").option("-y, --yes","Skip the picker").option("--force","Overwrite workflows that differ from the server").option("--no-link","Do not save the repo to .tripwire/project.json").action((i,a,c,u)=>jr(t,u,i,(l)=>Yre(t,u,l,a,{...c,file:zd(t,u,c.file)}))),n.command("validate").description("Compile tripwire.ts and check it; with --repo, against that repo's rules").option("--file <path>","The workflow file",xa).option("--repo <repo>","Also check against this repo, custom rules included").action((i,a)=>Xre(t,a,{...i,file:zd(t,a,i.file)})),n.command("diff [repo]").description("Show what a push of tripwire.ts would change on the repo").option("--file <path>","The workflow file",xa).action((i,a,c)=>jr(t,c,i,(u)=>Qre(t,c,u,{...a,file:zd(t,c,a.file)}))),n.command("push [repo]").description("Send tripwire.ts for review in the browser, then save it once accepted. New workflows start off").option("--file <path>","The workflow file",xa).option("--force","Save without review").option("--no-browser","Print the review link without opening a browser").option("--wait","With --json, wait for the review").action((i,a,c)=>jr(t,c,i,(u)=>nne(t,c,u,{...a,file:zd(t,c,a.file)}))),n.command("list [repo]").description("List a repo's workflows").action((i,a,c)=>jr(t,c,i,(u)=>$t(t,c,"list_workflows",{repo:u})));for(let i of["enable","disable"])n.command(`${i} <repoOrWorkflow> [workflowId]`).usage("[options] [repo] <workflowId>").description(`${i==="enable"?"Enable":"Disable"} a workflow`).action((a,c,u,l)=>{let[d,f]=c===void 0?[void 0,a]:[a,c];return jr(t,l,d,(m)=>$t(t,l,"set_workflow_enabled",{repo:m,workflowId:f,enabled:i==="enable"}))});let o=e.command("runs").description("Inspect runs");o.command("list").description("List recent runs").option("--repo <repo>","Only runs for this repo").option("--limit <n>","How many runs to show",(i)=>Number.parseInt(i,10)).action((i,a)=>{let c={};if(i.repo)c.repo=i.repo;if(i.limit)c.limit=i.limit;return $t(t,a,"list_runs",c)}),o.command("show <runId>").description("Show one run with its rule results").action((i,a,c)=>$t(t,c,"get_run",{runId:i}));let s=e.command("queue").description("Work the human review queue");s.command("list").description("List items waiting for human review").option("--repo <repo>","Only items for this repo").action((i,a)=>$t(t,a,"list_moderation_queue",i.repo?{repo:i.repo}:{})),s.command("decide <first> <second> [third]").usage("[options] [repo] <itemId> <action>").description("Decide an item: approve, remove or ban. A ban returns a link a human must open").action((i,a,c,u,l)=>{let[d,f,m]=c===void 0?[void 0,i,a]:[i,a,c];if(!["approve","remove","ban"].includes(m)){process.exitCode=oo(Error(U0(m)),Yt(l,t.system));return}return jr(t,l,d,(h)=>$t(t,l,"decide_moderation",{repo:h,itemId:f,decision:m}))})}var ane=new Set(["install","login","logout","whoami","status","link","unlink","repos","rules","gate","workflows","runs","queue","help"]),cne=new Set(["--help","-h","--version","-V"]),une=new Set(["--org"]);function lne(e){if(e.some((n)=>cne.has(n)))return{kind:"run",argv:e};let t=0;while(t<e.length){let n=e[t]??"";if(!n.startsWith("-"))break;t+=une.has(n)?2:1}let r=e[t];if(r===void 0)return{kind:"help"};if(ane.has(r))return{kind:"run",argv:e};return{kind:"unknown",command:r}}async function Ez(e,t){let r=lne(t),n=pne(e);if(r.kind==="unknown"){process.stderr.write(`${ir(`Unknown command ${r.command}. Run tripwire --help.`,gi(process.stderr.isTTY===!0,e.env))}
|
|
979
|
+
`),process.exitCode=1;return}if(r.kind==="help"){n.outputHelp();return}await n.parseAsync(r.argv,{from:"user"})}async function dne(e,t){let r=e.platform==="darwin"?["open",t]:e.platform==="win32"?["cmd","/c","start","",t]:["xdg-open",t],[n,...o]=r,s=n?e.which(n):null;if(s)await e.run(s,o)}function pne(e,t={}){let r=new Dw().name("tripwire").description("Set up Tripwire in your coding agents and manage it from the terminal").version(mc).option("--json","Print machine-readable JSON").option("--org <slug>","Org to act on (default: TRIPWIRE_ORG, the linked project, or your only org)").showHelpAfterError();return r.command("install [instruction]").description("Add the Tripwire MCP server and get-started skill to your coding agents. instruction is org-slug#run-code or text for the copied prompt").option("--no-interactive","Install into every detected agent without prompts").option("-y, --yes","Alias for --no-interactive").action(async(n,o,s)=>{let i=s.optsWithGlobals().json===!0,a=process.stdin.isTTY===!0&&process.stdout.isTTY===!0;process.exitCode=await UP(e,{interactive:o.interactive&&!o.yes&&a,json:i,instruction:n})}),$z(r,{system:e,auth:xk,openUrl:(n)=>dne(e,n),...t}),r}import{spawn as Tz}from"node:child_process";import{accessSync as fne,constants as mne,existsSync as Pz,readdirSync as hne}from"node:fs";import{homedir as gne}from"node:os";import{delimiter as Oz,join as Iz}from"node:path";function yne(e){try{return fne(e,mne.X_OK),!0}catch{return!1}}function wne(e,t,r){let n=(t.PATH??"").split(Oz).filter(Boolean),o=r==="win32"?(t.PATHEXT??".EXE;.CMD;.BAT").split(";").filter(Boolean):[""];for(let s of n)for(let i of o){let a=Iz(s,`${e}${i}`);if(Pz(a)&&yne(a))return a}return null}function bne(e,t,r,n){return new Promise((o)=>{let s=Tz(e,t,{env:r,stdio:[n===void 0?"ignore":"pipe","pipe","pipe"]});if(n!==void 0&&s.stdin)s.stdin.on("error",()=>{return}),s.stdin.end(n);let i="",a="";s.stdout?.setEncoding("utf8"),s.stderr?.setEncoding("utf8"),s.stdout?.on("data",(c)=>{i+=c}),s.stderr?.on("data",(c)=>{a+=c}),s.on("error",(c)=>o({ok:!1,stdout:i,stderr:c.message})),s.on("close",(c)=>o({ok:c===0,stdout:i.trim(),stderr:a.trim()}))})}function _ne(e,t,r){return new Promise((n)=>{let o=Tz(e,t,{env:r,stdio:"inherit"});o.on("error",(s)=>n({ok:!1,stdout:"",stderr:s.message})),o.on("close",(s)=>n({ok:s===0,stdout:"",stderr:""}))})}function vne(e){try{return hne(e)}catch{return[]}}function Sne(e,t){if(e.TRIPWIRE_APP_DIRS!==void 0)return e.TRIPWIRE_APP_DIRS.split(Oz).filter(Boolean);return["/Applications",Iz(t,"Applications")]}function Rz(e=process.env,t=process.platform){let r=e.HOME??e.USERPROFILE??gne();return{platform:t,home:r,env:e,macAppDirs:Sne(e,r),run:(n,o,s)=>bne(n,o,e,s),runInteractive:(n,o)=>_ne(n,o,e),which:(n)=>wne(n,e,t),exists:Pz,list:vne}}await Ez(Rz(),process.argv.slice(2));
|