@tripwire-sh/cli 0.1.5 → 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 Ym.Pair(n)}else t("Expected a sequence for this tag");return e}function _E(e,t,r){let{replacer:n}=r,o=new o4.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(Ym.createPair(a,c,r))}return o}var s4={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:wE,createNode:_E};i4.createPairs=_E;i4.pairs=s4;i4.resolvePairs=wE});var Qm=E(function(p4){var vE=ce(),Xm=Zr(),Li=Jr(),l4=Yr(),SE=Iu();class qn extends l4.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=qn.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(vE.isPair(n))o=Xm.toJS(n.key,"",t),s=Xm.toJS(n.value,o,t);else o=Xm.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=SE.createPairs(e,t,r),o=new this;return o.items=n.items,o}}qn.tag="tag:yaml.org,2002:omap";var d4={collection:"seq",identify:(e)=>e instanceof Map,nodeClass:qn,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=SE.resolvePairs(e,t),n=[];for(let{key:o}of r.items)if(vE.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 qn,r)},createNode:(e,t,r)=>qn.from(e,t,r)};p4.YAMLOMap=qn;p4.omap=d4});var TE=E(function(h4){var kE=ze();function xE({value:e,source:t},r){if(t&&(e?$E:EE).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 kE.Scalar(!0),stringify:xE},EE={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 kE.Scalar(!1),stringify:xE};h4.falseTag=EE;h4.trueTag=$E});var OE=E(function(S4){var b4=ze(),eh=No(),w4={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:eh.stringifyNumber},_4={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():eh.stringifyNumber(e)}},v4={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 b4.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:eh.stringifyNumber};S4.float=v4;S4.floatExp=_4;S4.floatNaN=w4});var IE=E(function(I4){var PE=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 th(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 PE.stringifyNumber(e)}var E4={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)=>th(e,2,"0b")},T4={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)=>th(e,8,"0")},O4={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:PE.stringifyNumber},P4={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)=>th(e,16,"0x")};I4.int=O4;I4.intBin=E4;I4.intHex=P4;I4.intOct=T4});var rh=E(function(L4){var zu=ce(),Ru=Hr(),Cu=Jr();class Fn extends Cu.YAMLMap{constructor(e){super(e);this.tag=Fn.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}}Fn.tag="tag:yaml.org,2002:set";var N4={collection:"map",identify:(e)=>e instanceof Set,nodeClass:Fn,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>Fn.from(e,t,r),resolve(e,t){if(zu.isMap(e))if(e.hasAllNullValues(!0))return Object.assign(new Fn,e);else t("Set items must all have null values");else t("Expected a mapping for this tag");return e}};L4.YAMLSet=Fn;L4.set=N4});var oh=E(function(U4){var M4=No();function nh(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 AE(e){let{value:t}=e,r=(i)=>i;if(typeof t==="bigint")r=(i)=>BigInt(i);else if(isNaN(t)||!isFinite(t))return M4.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 q4={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})=>nh(e,r),stringify:AE},F4={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)=>nh(e,!1),stringify:AE},RE={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(RE.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=nh(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$/,"")??""};U4.floatTime=F4;U4.intTime=q4;U4.timestamp=RE});var zE=E(function(r9){var B4=Co(),K4=Eu(),H4=zo(),G4=zi(),J4=Jm(),CE=TE(),sh=OE(),Nu=IE(),Y4=bu(),X4=Qm(),Q4=Iu(),e9=rh(),ih=oh(),t9=[B4.map,H4.seq,G4.string,K4.nullTag,CE.trueTag,CE.falseTag,Nu.intBin,Nu.intOct,Nu.int,Nu.intHex,sh.floatNaN,sh.floatExp,sh.float,J4.binary,Y4.merge,X4.omap,Q4.pairs,e9.set,ih.intTime,ih.floatTime,ih.timestamp];r9.schema=t9});var VE=E(function(d9){var jE=Co(),o9=Eu(),ME=zo(),s9=zi(),i9=Um(),ah=Vm(),ch=Bm(),a9=gE(),c9=bE(),qE=Jm(),ji=bu(),FE=Qm(),UE=Iu(),NE=zE(),WE=rh(),Lu=oh(),LE=new Map([["core",a9.schema],["failsafe",[jE.map,ME.seq,s9.string]],["json",c9.schema],["yaml11",NE.schema],["yaml-1.1",NE.schema]]),DE={binary:qE.binary,bool:i9.boolTag,float:ah.float,floatExp:ah.floatExp,floatNaN:ah.floatNaN,floatTime:Lu.floatTime,int:ch.int,intHex:ch.intHex,intOct:ch.intOct,intTime:Lu.intTime,map:jE.map,merge:ji.merge,null:o9.nullTag,omap:FE.omap,pairs:UE.pairs,seq:ME.seq,set:WE.set,timestamp:Lu.timestamp},u9={"tag:yaml.org,2002:binary":qE.binary,"tag:yaml.org,2002:merge":ji.merge,"tag:yaml.org,2002:omap":FE.omap,"tag:yaml.org,2002:pairs":UE.pairs,"tag:yaml.org,2002:set":WE.set,"tag:yaml.org,2002:timestamp":Lu.timestamp};function l9(e,t,r){let n=LE.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(LE.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"?DE[i]:i;if(!a){let c=JSON.stringify(i),u=Object.keys(DE).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},[])}d9.coreKnownTags=u9;d9.getTags=l9});var dh=E(function(b9){var uh=ce(),m9=Co(),h9=zo(),g9=zi(),Du=VE(),y9=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0;class lh{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,uh.MAP,{value:m9.map}),Object.defineProperty(this,uh.SCALAR,{value:g9.string}),Object.defineProperty(this,uh.SEQ,{value:h9.seq}),this.sortMapEntries=typeof s==="function"?s:s===!0?y9:null}clone(){let e=Object.create(lh.prototype,Object.getOwnPropertyDescriptors(this));return e.tags=this.tags.slice(),e}}b9.Schema=lh});var ZE=E(function(S9){var _9=ce(),ph=Ai(),Mi=Oi();function v9(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(Mi.indentComment(c,""))}let i=!1,a=null;if(e.contents){if(_9.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=ph.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(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(
|
|
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()}}}gH.Parser=AT});var LT=E(function($H){var RT=Th(),bH=qi(),Bi=Fi(),wH=Dm(),_H=ce(),vH=Dh(),CT=jh();function zT(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new vH.LineCounter||null,prettyErrors:t}}function SH(e,t={}){let{lineCounter:r,prettyErrors:n}=zT(t),o=new CT.Parser(r?.addNewLine),s=new RT.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 NT(e,t={}){let{lineCounter:r,prettyErrors:n}=zT(t),o=new CT.Parser(r?.addNewLine),s=new RT.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 kH(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=NT(e,r);if(!o)return null;if(o.warnings.forEach((s)=>wH.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 xH(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(_H.isDocument(e)&&!n)return e.toString(r);return new bH.Document(e,n,r).toString(r)}$H.parse=kH;$H.parseAllDocuments=SH;$H.parseDocument=NT;$H.stringify=xH});var oa=E(function(UO){Object.defineProperty(UO,"__esModule",{value:!0});UO.regexpCode=UO.getEsmExportName=UO.getProperty=UO.safeStringify=UO.stringify=UO.strConcat=UO.addCodeArg=UO.str=UO._=UO.nil=UO._Code=UO.Name=UO.IDENTIFIER=UO._CodeOrName=void 0;class hl{}UO._CodeOrName=hl;UO.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class Vo extends hl{constructor(e){super();if(!UO.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}}}UO.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},{})}}UO._Code=Kt;UO.nil=new Kt("");function qO(e,...t){let r=[e[0]],n=0;while(n<t.length)Eg(r,t[n]),r.push(e[++n]);return new Kt(r)}UO._=qO;var $g=new Kt("+");function FO(e,...t){let r=[na(e[0])],n=0;while(n<t.length)r.push($g),Eg(r,t[n]),r.push($g,na(e[++n]));return CJ(r),new Kt(r)}UO.str=FO;function Eg(e,t){if(t instanceof Kt)e.push(...t._items);else if(t instanceof Vo)e.push(t);else e.push(LJ(t))}UO.addCodeArg=Eg;function CJ(e){let t=1;while(t<e.length-1){if(e[t]===$g){let r=zJ(e[t-1],e[t+1]);if(r!==void 0){e.splice(t-1,3,r);continue}e[t++]="+"}t++}}function zJ(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 NJ(e,t){return t.emptyStr()?e:e.emptyStr()?t:FO`${e}${t}`}UO.strConcat=NJ;function LJ(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:na(Array.isArray(e)?e.join(","):e)}function DJ(e){return new Kt(na(e))}UO.stringify=DJ;function na(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}UO.safeStringify=na;function jJ(e){return typeof e=="string"&&UO.IDENTIFIER.test(e)?new Kt(`.${e}`):qO`[${e}]`}UO.getProperty=jJ;function MJ(e){if(typeof e=="string"&&UO.IDENTIFIER.test(e))return new Kt(`${e}`);throw Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}UO.getEsmExportName=MJ;function qJ(e){return new Kt(e.toString())}UO.regexpCode=qJ});var Ig=E(function(BO){Object.defineProperty(BO,"__esModule",{value:!0});BO.ValueScope=BO.ValueScopeName=BO.Scope=BO.varKinds=BO.UsedValueState=void 0;var ye=oa();class VO 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||(BO.UsedValueState=yl={}));BO.varKinds={const:new ye.Name("const"),let:new ye.Name("let"),var:new ye.Name("var")};class Og{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}}}BO.Scope=Og;class Pg 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}]`}}BO.ValueScopeName=Pg;var QJ=ye._`\n`;class ZO extends Og{constructor(e){super(e);this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?QJ:ye.nil}}get(){return this._scope}name(e){return new Pg(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?BO.varKinds.var:BO.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 VO(c);a.set(c,yl.Completed)})}return o}}BO.ValueScope=ZO});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=Ig(),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=Ig();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 HO 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 Cg 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 GO extends Cg{constructor(e,t,r,n){super(e,r,n);this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}}class JO extends nn{constructor(e){super();this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}}class YO extends nn{constructor(e){super();this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:""};`+e}}class XO extends nn{constructor(e){super();this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}}class QO 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;n6(e,o.names),r.splice(n,1)}return r.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>Kn(e,t.names),{})}}class on extends xl{render(e){return"{"+e._n+super.render(e)+"}"+e._n}}class eP 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(sP(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)Kn(e,this.else.names);return e}}Ir.kind="if";class Zo extends on{}Zo.kind="for";class tP 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 Kn(super.names,this.iteration.names)}}class rP 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 Ag 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 Kn(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 nP 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)Kn(e,this.catch.names);if(this.finally)Kn(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 oP{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 eP]}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 HO(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 Cg(e,t,r))}add(e,t){return this._leafNode(new GO(e,pt.operators.ADD,t))}code(e){if(typeof e=="function")e();else if(e!==M.nil)this._leafNode(new QO(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 tP(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 rP(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 Ag("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 Ag("in",n,o,t),()=>r(o))}endFor(){return this._endBlockNode(Zo)}label(e){return this._leafNode(new JO(e))}break(e){return this._leafNode(new YO(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 nP;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 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 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=oP;function Kn(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?Kn(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 n6(e,t){for(let r in t)e[r]=(e[r]||0)-(t[r]||0)}function sP(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:M._`!${Rg(e)}`}pt.not=sP;var o6=iP(pt.operators.AND);function s6(...e){return e.reduce(o6)}pt.and=s6;var i6=iP(pt.operators.OR);function a6(...e){return e.reduce(i6)}pt.or=a6;function iP(e){return(t,r)=>t===M.nil?r:r===M.nil?t:M._`${Rg(t)} ${e} ${Rg(r)}`}function Rg(e){return e instanceof M.Name?e:M._`(${e})`}});var ue=E(function(gP){Object.defineProperty(gP,"__esModule",{value:!0});gP.checkStrictMode=gP.getErrorPath=gP.Type=gP.useFunc=gP.setEvaluated=gP.evaluatedPropsToName=gP.mergeEvaluated=gP.eachItem=gP.unescapeJsonPointer=gP.escapeJsonPointer=gP.escapeFragment=gP.unescapeFragment=gP.schemaRefOrVal=gP.schemaHasRulesButRef=gP.schemaHasRules=gP.checkUnknownRules=gP.alwaysValidSchema=gP.toHash=void 0;var B=ee(),lP=oa();function d6(e){let t={};for(let r of e)t[r]=!0;return t}gP.toHash=d6;function p6(e,t){if(typeof t=="boolean")return t;if(Object.keys(t).length===0)return!0;return dP(e,t),!pP(t,e.self.RULES.all)}gP.alwaysValidSchema=p6;function dP(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])hP(e,`unknown keyword: "${s}"`)}gP.checkUnknownRules=dP;function pP(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(t[r])return!0;return!1}gP.schemaHasRules=pP;function f6(e,t){if(typeof e=="boolean")return!e;for(let r in e)if(r!=="$ref"&&t.all[r])return!0;return!1}gP.schemaHasRulesButRef=f6;function m6({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)}`}gP.schemaRefOrVal=m6;function h6(e){return fP(decodeURIComponent(e))}gP.unescapeFragment=h6;function g6(e){return encodeURIComponent(Ng(e))}gP.escapeFragment=g6;function Ng(e){if(typeof e=="number")return`${e}`;return e.replace(/~/g,"~0").replace(/\//g,"~1")}gP.escapeJsonPointer=Ng;function fP(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}gP.unescapeJsonPointer=fP;function y6(e,t){if(Array.isArray(e))for(let r of e)t(r);else t(e)}gP.eachItem=y6;function cP({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}}gP.mergeEvaluated={props:cP({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} || {}`),Lg(e,r,t)}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:mP}),items:cP({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 mP(e,t){if(t===!0)return e.var("props",!0);let r=e.var("props",B._`{}`);if(t!==void 0)Lg(e,r,t);return r}gP.evaluatedPropsToName=mP;function Lg(e,t,r){Object.keys(r).forEach((n)=>e.assign(B._`${t}${B.getProperty(n)}`,!0))}gP.setEvaluated=Lg;var uP={};function b6(e,t){return e.scopeValue("func",{ref:t,code:uP[t.code]||(uP[t.code]=new lP._Code(t.code))})}gP.useFunc=b6;var zg;(function(e){e[e.Num=0]="Num",e[e.Str=1]="Str"})(zg||(gP.Type=zg={}));function w6(e,t,r){if(e instanceof B.Name){let n=t===zg.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():"/"+Ng(e)}gP.getErrorPath=w6;function hP(e,t,r=e.opts.strictSchema){if(!r)return;if(t=`strict mode: ${t}`,r===!0)throw Error(t);e.self.logger.warn(t)}gP.checkStrictMode=hP});var Ar=E(function(bP){Object.defineProperty(bP,"__esModule",{value:!0});var de=ee(),D6={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")};bP.default=D6});var ia=E(function(SP){Object.defineProperty(SP,"__esModule",{value:!0});SP.extendErrors=SP.resetErrorsCount=SP.reportExtraError=SP.reportError=SP.keyword$DataError=SP.keywordError=void 0;var F=ee(),sn=ue(),ot=Ar();SP.keywordError={message:({keyword:e})=>F.str`must pass "${e}" keyword validation`};SP.keyword$DataError={message:({keyword:e,schemaType:t})=>t?F.str`"${e}" keyword must be ${t} ($data)`:F.str`"${e}" keyword is invalid ($data)`};function M6(e,t=SP.keywordError,r,n){let{it:o}=e,{gen:s,compositeRule:i,allErrors:a}=o,c=vP(e,t,r);if(n!==null&&n!==void 0?n:i||a)wP(s,c);else _P(o,F._`[${c}]`)}SP.reportError=M6;function q6(e,t=SP.keywordError,r){let{it:n}=e,{gen:o,compositeRule:s,allErrors:i}=n,a=vP(e,t,r);if(wP(o,a),!(s||i))_P(n,ot.default.vErrors)}SP.reportExtraError=q6;function F6(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)))}SP.resetErrorsCount=F6;function U6({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)})}SP.extendErrors=U6;function wP(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 _P(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 Hn={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 vP(e,t,r){let{createErrors:n}=e.it;if(n===!1)return F._`{}`;return W6(e,t,r)}function W6(e,t,r={}){let{gen:n,it:o}=e,s=[V6(o,r),Z6(e,r)];return B6(e,t,s),n.object(...s)}function V6({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[Hn.schemaPath,o]}function B6(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([Hn.keyword,o],[Hn.params,typeof t=="function"?t(e):t||F._`{}`]),c.messages)n.push([Hn.message,typeof r=="function"?r(e):r]);if(c.verbose)n.push([Hn.schema,i],[Hn.parentSchema,F._`${l}${d}`],[ot.default.data,s]);if(u)n.push([Hn.propertyName,u])}});var PP=E(function(TP){Object.defineProperty(TP,"__esModule",{value:!0});TP.boolOrEmptySchema=TP.topBoolOrEmptySchema=void 0;var xP=ia(),$P=ee(),Y6=Ar(),X6={message:"boolean schema is false"};function Q6(e){let{gen:t,schema:r,validateName:n}=e;if(r===!1)EP(e,!1);else if(typeof r=="object"&&r.$async===!0)t.return(Y6.default.data);else t.assign($P._`${n}.errors`,null),t.return(!0)}TP.topBoolOrEmptySchema=Q6;function e5(e,t){let{gen:r,schema:n}=e;if(n===!1)r.var(t,!1),EP(e);else r.var(t,!0)}TP.boolOrEmptySchema=e5;function EP(e,t){let{gen:r,data:n}=e;xP.reportError({gen:r,keyword:"false schema",data:n,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e},X6,void 0,t)}});var jg=E(function(IP){Object.defineProperty(IP,"__esModule",{value:!0});IP.getRules=IP.isJSONType=void 0;var r5=["string","number","integer","boolean","null","object","array"],n5=new Set(r5);function o5(e){return typeof e=="string"&&n5.has(e)}IP.isJSONType=o5;function s5(){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:{}}}IP.getRules=s5});var Mg=E(function(zP){Object.defineProperty(zP,"__esModule",{value:!0});zP.shouldUseRule=zP.shouldUseGroup=zP.schemaHasRulesForType=void 0;function a5({schema:e,self:t},r){let n=t.RULES.types[r];return n&&n!==!0&&RP(e,n)}zP.schemaHasRulesForType=a5;function RP(e,t){return t.rules.some((r)=>CP(e,r))}zP.shouldUseGroup=RP;function CP(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))}zP.shouldUseRule=CP});var aa=E(function(FP){Object.defineProperty(FP,"__esModule",{value:!0});FP.reportTypeError=FP.checkDataTypes=FP.checkDataType=FP.coerceAndCheckDataType=FP.getJSONTypes=FP.getSchemaTypes=FP.DataType=void 0;var LP=jg(),DP=Mg(),jP=ia(),L=ee(),El=ue(),Ko;(function(e){e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong"})(Ko||(FP.DataType=Ko={}));function l5(e){let t=MP(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}FP.getSchemaTypes=l5;function MP(e){let t=Array.isArray(e)?e:e?[e]:[];if(t.every(LP.isJSONType))return t;throw Error("type must be JSONType or JSONType[]: "+t.join(","))}FP.getJSONTypes=MP;function d5(e,t){let{gen:r,data:n,opts:o}=e,s=p5(t,o.coerceTypes),i=t.length>0&&!(s.length===0&&t.length===1&&DP.schemaHasRulesForType(e,t[0]));if(i){let a=Fg(t,n,o.strictNumbers,Ko.Wrong);r.if(a,()=>{if(s.length)f5(e,t,s);else Ug(e)})}return i}FP.coerceAndCheckDataType=d5;var qP=new Set(["string","number","integer","boolean","null"]);function p5(e,t){return t?e.filter((r)=>qP.has(r)||t==="array"&&r==="array"):[]}function f5(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(Fg(t,o,s.strictNumbers),()=>n.assign(a,o)));n.if(L._`${a} !== undefined`);for(let u of r)if(qP.has(u)||u==="array"&&s.coerceTypes==="array")c(u);n.else(),Ug(e),n.endIf(),n.if(L._`${a} !== undefined`,()=>{n.assign(o,a),m5(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 m5({gen:e,parentData:t,parentDataProperty:r},n){e.if(L._`${t} !== undefined`,()=>e.assign(L._`${t}[${r}]`,n))}function qg(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)}}FP.checkDataType=qg;function Fg(e,t,r,n){if(e.length===1)return qg(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,qg(i,t,r,n));return o}FP.checkDataTypes=Fg;var h5={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e=="string"?L._`{type: ${e}}`:L._`{type: ${t}}`};function Ug(e){let t=g5(e);jP.reportError(t,h5)}FP.reportTypeError=Ug;function g5(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 KP=E(function(ZP){Object.defineProperty(ZP,"__esModule",{value:!0});ZP.assignDefaults=void 0;var Lt=ee(),VP=ue();function k5(e,t){let{properties:r,items:n}=e.schema;if(t==="object"&&r)for(let o in r)WP(e,o,r[o].default);else if(t==="array"&&Array.isArray(n))n.forEach((o,s)=>WP(e,s,o.default))}ZP.assignDefaults=k5;function WP(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){VP.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(YP){Object.defineProperty(YP,"__esModule",{value:!0});YP.validateUnion=YP.validateArray=YP.usePattern=YP.callValidateCode=YP.schemaProperties=YP.allSchemaProperties=YP.noPropertyInData=YP.propertyInData=YP.isOwnProperty=YP.hasPropFunc=YP.reportMissingProp=YP.checkMissingProp=YP.checkReportMissingProp=void 0;var H=ee(),Ho=ue(),an=Ar(),HP=ue();function x5(e,t){let{gen:r,data:n,it:o}=e;r.if(Vg(r,n,t,o.opts.ownProperties),()=>{e.setParams({missingProperty:H._`${t}`},!0),e.error()})}YP.checkReportMissingProp=x5;function $5({gen:e,data:t,it:{opts:r}},n,o){return H.or(...n.map((s)=>H.and(Vg(e,t,s,r.ownProperties),H._`${o} = ${s}`)))}YP.checkMissingProp=$5;function E5(e,t){e.setParams({missingProperty:t},!0),e.error()}YP.reportMissingProp=E5;function GP(e){return e.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:H._`Object.prototype.hasOwnProperty`})}YP.hasPropFunc=GP;function Wg(e,t,r){return H._`${GP(e)}.call(${t}, ${r})`}YP.isOwnProperty=Wg;function T5(e,t,r,n){let o=H._`${t}${H.getProperty(r)} !== undefined`;return n?H._`${o} && ${Wg(e,t,r)}`:o}YP.propertyInData=T5;function Vg(e,t,r,n){let o=H._`${t}${H.getProperty(r)} === undefined`;return n?H.or(o,H.not(Wg(e,t,r))):o}YP.noPropertyInData=Vg;function JP(e){return e?Object.keys(e).filter((t)=>t!=="__proto__"):[]}YP.allSchemaProperties=JP;function O5(e,t){return JP(t).filter((r)=>!Ho.alwaysValidSchema(e,t[r]))}YP.schemaProperties=O5;function P5({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})`}YP.callValidateCode=P5;var I5=H._`new RegExp`;function A5({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"?I5:HP.useFunc(e,o)}(${r}, ${n})`})}YP.usePattern=A5;function R5(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)})}}YP.validateArray=R5;function C5(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))}YP.validateUnion=C5});var sI=E(function(nI){Object.defineProperty(nI,"__esModule",{value:!0});nI.validateKeywordUsage=nI.validSchemaType=nI.funcKeywordCode=nI.macroKeywordCode=void 0;var me=ee(),Gn=Ar(),eI=Dt(),tI=ia();function B5(e,t){let{gen:r,keyword:n,schema:o,parentSchema:s,it:i}=e,a=t.macro.call(i.self,o,s,i),c=rI(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))}nI.macroKeywordCode=B5;function K5(e,t){var r;let{gen:n,keyword:o,schema:s,parentSchema:i,$data:a,it:c}=e;G5(c,t);let u=!a&&t.compile?t.compile.call(c.self,s,i,c):t.validate,l=rI(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)QP(e);y(()=>e.error())}else{let w=t.async?m():h();if(t.modifying)QP(e);y(()=>H5(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?Gn.default.this:Gn.default.self,S=!(("compile"in t)&&!a||t.schema===!1);n.assign(d,me._`${w}${eI.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)}}nI.funcKeywordCode=K5;function QP(e){let{gen:t,data:r,it:n}=e;t.if(n.parentData,()=>t.assign(r,me._`${n.parentData}[${n.parentDataProperty}]`))}function H5(e,t){let{gen:r}=e;r.if(me._`Array.isArray(${t})`,()=>{r.assign(Gn.default.vErrors,me._`${Gn.default.vErrors} === null ? ${t} : ${Gn.default.vErrors}.concat(${t})`).assign(Gn.default.errors,me._`${Gn.default.vErrors}.length`),tI.extendErrors(e)},()=>e.error())}function G5({schemaEnv:e},t){if(t.async&&!e.$async)throw Error("async keyword in sync schema")}function rI(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 J5(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")}nI.validSchemaType=J5;function Y5({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)}}}nI.validateKeywordUsage=Y5});var cI=E(function(iI){Object.defineProperty(iI,"__esModule",{value:!0});iI.extendSubschemaMode=iI.extendSubschemaData=iI.getSubschema=void 0;var Ne=ee(),Tl=ue();function t7(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')}iI.getSubschema=t7;function r7(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]}}iI.extendSubschemaData=r7;function n7(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}iI.extendSubschemaMode=n7});var Zg=E(function(b_e,uI){uI.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 dI=E(function(w_e,lI){var cn=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(){};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+"/"+i7(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 i7(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}});var ca=E(function(gI){Object.defineProperty(gI,"__esModule",{value:!0});gI.getSchemaRefs=gI.resolveUrl=gI.normalizeId=gI._getFullPath=gI.getFullPath=gI.inlineRef=void 0;var pI=ue(),a7=Zg(),c7=dI(),u7=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function l7(e,t=!0){if(typeof e=="boolean")return!0;if(t===!0)return!Bg(e);if(!t)return!1;return fI(e)<=t}gI.inlineRef=l7;var d7=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Bg(e){for(let t in e){if(d7.has(t))return!0;let r=e[t];if(Array.isArray(r)&&r.some(Bg))return!0;if(typeof r=="object"&&Bg(r))return!0}return!1}function fI(e){let t=0;for(let r in e){if(r==="$ref")return 1/0;if(t++,u7.has(r))continue;if(typeof e[r]=="object")pI.eachItem(e[r],(n)=>t+=fI(n));if(t===1/0)return 1/0}return t}function mI(e,t="",r){if(r!==!1)t=Go(t);let n=e.parse(t);return hI(e,n)}gI.getFullPath=mI;function hI(e,t){return e.serialize(t).split("#")[0]+"#"}gI._getFullPath=hI;var p7=/#\/?$/;function Go(e){return e?e.replace(p7,""):""}gI.normalizeId=Go;function f7(e,t,r){return r=Go(r),e.resolve(t,r)}gI.resolveUrl=f7;var m7=/^[a-z_][-a-z0-9._]*$/i;function h7(e,t){if(typeof e=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,o=Go(e[r]||t),s={"":o},i=mI(n,o,!1),a={},c=new Set;return c7(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(!m7.test(S))throw Error(`invalid anchor "${S}"`);w.call(this,`#${S}`)}}}),a;function u(d,f,m){if(f!==void 0&&!a7(d,f))throw l(m)}function l(d){return Error(`reference "${d}" resolves to more than one schema`)}}gI.getSchemaRefs=h7});var ua=E(function(RI){Object.defineProperty(RI,"__esModule",{value:!0});RI.getData=RI.KeywordCxt=RI.validateFunctionCode=void 0;var Il=PP(),Pl=aa(),Yo=Mg(),un=aa(),vI=KP(),ir=sI(),Jo=cI(),R=ee(),X=Ar(),SI=ca(),Be=ue(),sr=ia();function v7(e){if($I(e)){if(EI(e),xI(e)){x7(e);return}}kI(e,()=>Il.topBoolOrEmptySchema(e))}RI.validateFunctionCode=v7;function kI({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"; ${bI(r,o)}`),k7(e,o),e.code(s)});else e.func(t,R._`${X.default.data}, ${S7(o)}`,n.$async,()=>e.code(bI(r,o)).code(s))}function S7(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 k7(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 x7(e){let{schema:t,opts:r,gen:n}=e;kI(e,()=>{if(r.$comment&&t.$comment)OI(e);if(P7(e),n.let(X.default.vErrors,null),n.let(X.default.errors,0),r.unevaluated)$7(e);TI(e),R7(e)});return}function $7(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 bI(e,t){let r=typeof e=="object"&&e[t.schemaId];return r&&(t.code.source||t.code.process)?R._`/*# sourceURL=${r} */`:R.nil}function E7(e,t){if($I(e)){if(EI(e),xI(e)){T7(e,t);return}}Il.boolOrEmptySchema(e,t)}function xI({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 T7(e,t){let{schema:r,gen:n,opts:o}=e;if(o.$comment&&r.$comment)OI(e);I7(e),A7(e);let s=n.const("_errs",X.default.errors);TI(e,s),n.var(t,R._`${s} === ${X.default.errors}`)}function EI(e){Be.checkUnknownRules(e),O7(e)}function TI(e,t){if(e.opts.jtd)return wI(e,[],!1,t);let r=Pl.getSchemaTypes(e.schema),n=Pl.coerceAndCheckDataType(e,r);wI(e,r,!n,t)}function O7(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 P7(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 I7(e){let t=e.schema[e.opts.schemaId];if(t)e.baseId=SI.resolveUrl(e.opts.uriResolver,e.baseId,t)}function A7(e){if(e.schema.$async&&!e.schemaEnv.$async)throw Error("async schema in sync schema")}function OI({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 R7(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)C7(e);t.return(R._`${X.default.errors} === 0`)}}function C7({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 wI(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(()=>II(e,"$ref",l.all.$ref.definition));return}if(!c.jtd)z7(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)),_I(e,f),t.length===1&&t[0]===f.type&&r)o.else(),un.reportTypeError(e);o.endIf()}else _I(e,f);if(!a)o.if(R._`${X.default.errors} === ${n||0}`)}}function _I(e,t){let{gen:r,schema:n,opts:{useDefaults:o}}=e;if(o)vI.assignDefaults(e,t.type);r.block(()=>{for(let s of t.rules)if(Yo.shouldUseRule(n,s))II(e,s.keyword,s.definition,t.type)})}function z7(e,t){if(e.schemaEnv.meta||!e.opts.strictTypes)return;if(N7(e,t),!e.opts.allowUnionTypes)L7(e,t);D7(e,e.dataTypes)}function N7(e,t){if(!t.length)return;if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach((r)=>{if(!PI(e.dataTypes,r))Kg(e,`type "${r}" not allowed by context "${e.dataTypes.join(",")}"`)}),M7(e,t)}function L7(e,t){if(t.length>1&&!(t.length===2&&t.includes("null")))Kg(e,"use allowUnionTypes to allow union type keyword")}function D7(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)=>j7(t,i)))Kg(e,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function j7(e,t){return e.includes(t)||t==="number"&&e.includes("integer")}function PI(e,t){return e.includes(t)||t==="integer"&&e.includes("number")}function M7(e,t){let r=[];for(let n of e.dataTypes)if(PI(t,n))r.push(n);else if(t.includes("integer")&&n==="number")r.push("integer");e.dataTypes=r}function Kg(e,t){let r=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${r}" (strictTypes)`,Be.checkStrictMode(e,t,e.opts.strictTypes)}class Hg{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",AI(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 E7(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}}RI.KeywordCxt=Hg;function II(e,t,r,n){let o=new Hg(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 q7=/^\/(?:[^~]|~0|~1)*$/,F7=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function AI(e,{dataLevel:t,dataNames:r,dataPathArr:n}){let o,s;if(e==="")return X.default.rootData;if(e[0]==="/"){if(!q7.test(e))throw Error(`Invalid JSON-pointer: ${e}`);o=e,s=X.default.rootData}else{let u=F7.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}`}}RI.getData=AI});var Al=E(function(NI){Object.defineProperty(NI,"__esModule",{value:!0});class zI extends Error{constructor(e){super("validation failed");this.errors=e,this.ajv=this.validation=!0}}NI.default=zI});var la=E(function(DI){Object.defineProperty(DI,"__esModule",{value:!0});var Xo=ca();class LI 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))}}DI.default=LI});var zl=E(function(qI){Object.defineProperty(qI,"__esModule",{value:!0});qI.resolveSchema=qI.getCompilingSchema=qI.resolveRef=qI.compileSchema=qI.SchemaEnv=void 0;var Pe=ee(),B7=Al(),Jn=Ar(),Ie=ca(),Rl=ue(),jI=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={}}}qI.SchemaEnv=da;function Jg(e){let t=MI.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:B7.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:Jn.default.data,parentData:Jn.default.parentData,parentDataProperty:Jn.default.parentDataProperty,dataNames:[Jn.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),jI.validateFunctionCode(u),i.optimize(this.opts.code.optimize);let d=i.toString();if(l=`${i.scopeRefs(Jn.default.scope)}return ${d}`,this.opts.code.process)l=this.opts.code.process(l,e);let m=Function(`${Jn.default.self}`,`${Jn.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)}}qI.compileSchema=Jg;function K7(e,t,r){var n;r=Ie.resolveUrl(this.opts.uriResolver,t,r);let o=e.refs[r];if(o)return o;let s=J7.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]=H7.call(this,s)}qI.resolveRef=K7;function H7(e){if(Ie.inlineRef(e.schema,this.opts.inlineRefs))return e.schema;return e.validate?e:Jg.call(this,e)}function MI(e){for(let t of this._compilations)if(G7(t,e))return t}qI.getCompilingSchema=MI;function G7(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function J7(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 Gg.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 Gg.call(this,r,a)}if(typeof(i===null||i===void 0?void 0:i.schema)!=="object")return;if(!i.validate)Jg.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 Gg.call(this,r,i)}qI.resolveSchema=Cl;var Y7=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Gg(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(!Y7.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 UI=E(function($_e,rY){rY.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 Qg=E(function(E_e,HI){var nY=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),VI=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),Yg=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),ZI=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),oY=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function Xg(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 sY=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function WI(e){return e.length=0,!0}function iY(e,t,r){if(e.length){let n=Xg(e);if(n!=="")t.push(n);else return r.error=!0,!1;e.length=0}return!0}function aY(e){let t=0,r={error:!1,address:"",zone:""},n=[],o=[],s=!1,i=!1,a=iY;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=WI}else{o.push(u);continue}}if(o.length)if(a===WI)r.zone=o.join("");else if(i)n.push(o.join(""));else n.push(Xg(o));return r.address=n.join(""),r}function BI(e){if(cY(e,":")<2)return{host:e,isIPV6:!1};let t=aY(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 cY(e,t){let r=0;for(let n=0;n<e.length;n++)if(e[n]===t)r++;return r}function uY(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 lY={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},dY=/[@/?#:]/g,pY=/[@/?#]/g;function KI(e,t){let r=t?pY:dY;return r.lastIndex=0,e.replace(r,(n)=>lY[n])}function fY(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(Yg(o)){let s=o.toUpperCase(),i=String.fromCharCode(parseInt(s,16));if(t&&ZI(i))r+=i;else r+="%"+s;n+=2;continue}}r+=e[n]}return r}function mY(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(Yg(n)){let o=n.toUpperCase(),s=String.fromCharCode(parseInt(o,16));if(s!=="."&&ZI(s))t+=s;else t+="%"+o;r+=2;continue}}if(oY(e[r]))t+=e[r];else t+=escape(e[r])}return t}function hY(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(Yg(n)){t+="%"+n.toUpperCase(),r+=2;continue}}t+=escape(e[r])}return t}function gY(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(!VI(r)){let n=BI(r);if(n.isIPV6===!0)r=`[${n.escapedHost}]`;else r=KI(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}HI.exports={nonSimpleDomain:sY,recomposeAuthority:gY,reescapeHostDelimiters:KI,normalizePercentEncoding:fY,normalizePathEncoding:mY,escapePreservingEscapes:hY,removeDotSegments:uY,isIPv4:VI,isUUID:nY,normalizeIPv6:BI,stringArrayToHexStripped:Xg}});var QI=E(function(T_e,XI){var{isUUID:yY}=Qg(),bY=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,wY=["http","https","ws","wss","urn","urn:uuid"];function _Y(e){return wY.indexOf(e)!==-1}function ey(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 GI(e){if(!e.host)e.error=e.error||"HTTP URIs must have a host.";return e}function JI(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 vY(e){return e.secure=ey(e),e.resourceName=(e.path||"/")+(e.query?"?"+e.query:""),e.path=void 0,e.query=void 0,e}function SY(e){if(e.port===(ey(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 kY(e,t){if(!e.path)return e.error="URN can not be parsed",e;let r=e.path.match(bY);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=ty(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 xY(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=ty(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 $Y(e,t){let r=e;if(r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!yY(r.uuid)))r.error=r.error||"UUID is not valid.";return r}function EY(e){let t=e;return t.nss=(e.uuid||"").toLowerCase(),t}var YI={scheme:"http",domainHost:!0,parse:GI,serialize:JI},TY={scheme:"https",domainHost:YI.domainHost,parse:GI,serialize:JI},Nl={scheme:"ws",domainHost:!0,parse:vY,serialize:SY},OY={scheme:"wss",domainHost:Nl.domainHost,parse:Nl.parse,serialize:Nl.serialize},PY={scheme:"urn",parse:kY,serialize:xY,skipNormalize:!0},IY={scheme:"urn:uuid",parse:$Y,serialize:EY,skipNormalize:!0},Ll={http:YI,https:TY,ws:Nl,wss:OY,urn:PY,"urn:uuid":IY};Object.setPrototypeOf(Ll,null);function ty(e){return e&&(Ll[e]||Ll[e.toLowerCase()])||void 0}XI.exports={wsIsSecure:ey,SCHEMES:Ll,isValidSchemeName:_Y,getSchemeHandler:ty}});var sA=E(function(O_e,Dl){var{normalizeIPv6:AY,removeDotSegments:pa,recomposeAuthority:RY,normalizePercentEncoding:CY,normalizePathEncoding:zY,escapePreservingEscapes:NY,reescapeHostDelimiters:LY,isIPv4:DY,nonSimpleDomain:jY}=Qg(),{SCHEMES:MY,getSchemeHandler:tA}=QI();function qY(e,t){if(typeof e==="string")e=BY(e,t);else if(typeof e==="object")e=Qo(Yn(e,t),t);return e}function FY(e,t,r){let n=r?Object.assign({scheme:"null"},r):{scheme:"null"},o=rA(Qo(e,n),Qo(t,n),n,!0);return n.skipEscape=!0,Yn(o,n)}function rA(e,t,r,n){let o={};if(!n)e=Qo(Yn(e,r),r),t=Qo(Yn(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 UY(e,t,r){let n=eA(e,r),o=eA(t,r);return n!==void 0&&o!==void 0&&n.toLowerCase()===o.toLowerCase()}function Yn(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=tA(n.scheme||r.scheme);if(s&&s.serialize)s.serialize(r,n);if(r.path!==void 0)if(!n.skipEscape){if(r.path=NY(r.path),r.scheme!==void 0)r.path=r.path.split("%3A").join(":")}else r.path=CY(r.path);if(n.reference!=="suffix"&&r.scheme)o.push(r.scheme,":");let i=RY(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 WY=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,VY=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/;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 nA(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(VY);if(i!==null&&i[1].indexOf("\\")!==-1)n.error="URI authority must not contain a literal backslash.",o=!0;let a=e.match(WY);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(DY(n.host)===!1){let d=AY(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=tA(r.scheme||n.scheme);if(!r.unicodeSupport&&(!u||!u.unicodeSupport)){if(n.host&&(r.domainHost||u&&u.domainHost)&&s===!1&&jY(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=LY(unescape(n.host),s)}if(n.path)n.path=zY(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 nA(e,t).parsed}function BY(e,t){return oA(e,t).normalized}function oA(e,t){let{parsed:r,malformedAuthorityOrPort:n}=nA(e,t);return{normalized:n?e:Yn(r,t),malformedAuthorityOrPort:n}}function eA(e,t){if(typeof e==="string"){let{normalized:r,malformedAuthorityOrPort:n}=oA(e,t);return n?void 0:r}if(typeof e==="object")return Yn(e,t)}var ry={SCHEMES:MY,normalize:qY,resolve:FY,resolveComponent:rA,equal:UY,serialize:Yn,parse:Qo};Dl.exports=ry;Dl.exports.default=ry;Dl.exports.fastUri=ry});var cA=E(function(aA){Object.defineProperty(aA,"__esModule",{value:!0});var iA=sA();iA.code='require("ajv/dist/runtime/uri").default';aA.default=iA});var bA=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 HY=ua();Object.defineProperty(Rr,"KeywordCxt",{enumerable:!0,get:function(){return HY.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 GY=Al(),fA=la(),mA=jg(),ar=zl(),hA=ee(),cr=ca(),ln=aa(),es=ue(),uA=UI(),JY=cA(),gA=(e,t)=>new RegExp(e,t);gA.code="new RegExp";var YY=["removeAdditional","useDefaults","coerceTypes"],XY=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),QY={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."},e8={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},lA=200;function t8(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:gA,W=(o=e.uriResolver)!==null&&o!==void 0?o:JY.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:lA,loopEnum:(y=e.loopEnum)!==null&&y!==void 0?y:lA,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,...t8(e)};let{es5:t,lines:r}=this.opts.code;this.scope=new hA.ValueScope({scope:{},prefixes:XY,es5:t,lines:r}),this.logger=a8(e.logger);let n=e.validateFormats;if(e.validateFormats=!1,this.RULES=mA.getRules(),dA.call(this,QY,e,"NOT SUPPORTED"),dA.call(this,e8,e,"DEPRECATED","warn"),this._metaOpts=s8.call(this),e.formats)n8.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords)o8.call(this,e.keywords);if(typeof e.meta=="object")this.addMetaSchema(e.meta);r8.call(this),e.validateFormats=n}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:t,schemaId:r}=this.opts,n=uA;if(r==="id")n={...uA},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 fA.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=pA.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=pA.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(u8.call(this,r,t),!t)return es.eachItem(r,(o)=>ny.call(this,o)),this;d8.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)=>ny.call(this,o,n):(o)=>n.type.forEach((s)=>ny.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]=yA(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=GY.default;jl.MissingRefError=fA.default;Rr.default=jl;function dA(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 pA(e){return e=cr.normalizeId(e),this.schemas[e]||this.refs[e]}function r8(){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 n8(){for(let e in this.opts.formats){let t=this.opts.formats[e];if(t)this.addFormat(e,t)}}function o8(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 s8(){let e={...this.opts};for(let t of YY)delete e[t];return e}var i8={log(){},warn(){},error(){}};function a8(e){if(e===!1)return i8;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 c8=/^[a-z_$][a-z0-9_$:-]*$/i;function u8(e,t){let{RULES:r}=this;if(es.eachItem(e,(n)=>{if(r.keywords[n])throw Error(`Keyword ${n} is already defined`);if(!c8.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 ny(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)l8.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 l8(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 d8(e){let{metaSchema:t}=e;if(t===void 0)return;if(e.$data&&this.opts.$data)t=yA(t);e.validateSchema=this.compile(t,!0)}var p8={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function yA(e){return{anyOf:[e,p8]}}});var _A=E(function(wA){Object.defineProperty(wA,"__esModule",{value:!0});var h8={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};wA.default=h8});var xA=E(function(SA){Object.defineProperty(SA,"__esModule",{value:!0});SA.callRef=SA.getValidate=void 0;var y8=la(),ql=Dt(),be=ee(),rs=Ar(),Fl=zl(),dn=ue(),b8={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 y8.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=vA(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 vA(e,t){let{gen:r}=e;return t.validate?r.scopeValue("validate",{ref:t.validate}):be._`${r.scopeValue("wrapper",{ref:t})}.validate`}SA.getValidate=vA;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)}}}SA.callRef=Ml;SA.default=b8});var EA=E(function($A){Object.defineProperty($A,"__esModule",{value:!0});var v8=_A(),S8=xA(),k8=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",v8.default,S8.default];$A.default=k8});var OA=E(function(TA){Object.defineProperty(TA,"__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}},$8={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}}`},E8={keyword:Object.keys(Ul),type:"number",schemaType:"number",$data:!0,error:$8,code(e){let{keyword:t,data:r,schemaCode:n}=e;e.fail$data(fn._`${r} ${Ul[t].fail} ${n} || isNaN(${r})`)}};TA.default=E8});var IA=E(function(PA){Object.defineProperty(PA,"__esModule",{value:!0});var ur=ee(),O8={message:({schemaCode:e})=>ur.str`must be multiple of ${e}`,params:({schemaCode:e})=>ur._`{multipleOf: ${e}}`},P8={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:O8,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}))`)}};PA.default=P8});var CA=E(function(RA){Object.defineProperty(RA,"__esModule",{value:!0});function AA(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}RA.default=AA;AA.code='require("ajv/dist/runtime/ucs2length").default'});var LA=E(function(NA){Object.defineProperty(NA,"__esModule",{value:!0});var ft=ee(),zA=ue(),R8=CA(),C8={message({keyword:e,schemaCode:t}){return ft.str`must NOT have ${e==="maxLength"?"more":"fewer"} than ${t} characters`},params:({schemaCode:e})=>ft._`{limit: ${e}}`},z8={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:C8,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._`${zA.useFunc(e.gen,R8.default)}(${r})`;e.fail$data(ft._`${i} ${s} ${n}`)}};NA.default=z8});var qA=E(function(MA){Object.defineProperty(MA,"__esModule",{value:!0});var DA=Dt(),jA=ue(),jt=ee(),L8={message:({schemaCode:e})=>jt.str`must match pattern "${e}"`,params:({schemaCode:e})=>jt._`{pattern: ${e}}`},D8={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:L8,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`:jA.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=DA.usePattern(e,o);e.fail$data(jt._`!${c}.test(${r})`)}}};MA.default=D8});var UA=E(function(FA){Object.defineProperty(FA,"__esModule",{value:!0});var lr=ee(),M8={message({keyword:e,schemaCode:t}){return lr.str`must NOT have ${e==="maxProperties"?"more":"fewer"} than ${t} properties`},params:({schemaCode:e})=>lr._`{limit: ${e}}`},q8={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:M8,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}`)}};FA.default=q8});var ZA=E(function(VA){Object.defineProperty(VA,"__esModule",{value:!0});var dr=Dt(),pr=ee(),WA=ue(),U8={message:({params:{missingProperty:e}})=>pr.str`must have required property '${e}'`,params:({params:{missingProperty:e}})=>pr._`{missingProperty: ${e}}`},W8={keyword:"required",type:"object",schemaType:"array",$data:!0,error:U8,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)`;WA.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)}}};VA.default=W8});var KA=E(function(BA){Object.defineProperty(BA,"__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}}`},B8={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}`)}};BA.default=B8});var Wl=E(function(GA){Object.defineProperty(GA,"__esModule",{value:!0});var HA=Zg();HA.code='require("ajv/dist/runtime/equal").default';GA.default=HA});var XA=E(function(YA){Object.defineProperty(YA,"__esModule",{value:!0});var ns=aa(),le=ee(),JA=ue(),G8=Wl(),J8={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}}`},Y8={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:J8,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=JA.useFunc(t,G8.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)})))}}};YA.default=Y8});var tR=E(function(eR){Object.defineProperty(eR,"__esModule",{value:!0});var os=ee(),QA=ue(),Q8=Wl(),eX={message:"must be equal to constant",params:({schemaCode:e})=>os._`{allowedValue: ${e}}`},tX={keyword:"const",$data:!0,error:eX,code(e){let{gen:t,data:r,$data:n,schemaCode:o,schema:s}=e;if(n||s&&typeof s=="object")e.fail$data(os._`!${QA.useFunc(t,Q8.default)}(${r}, ${o})`);else e.fail(os._`${s} !== ${r}`)}};eR.default=tX});var oR=E(function(nR){Object.defineProperty(nR,"__esModule",{value:!0});var mr=ee(),rR=ue(),nX=Wl(),oX={message:"must be equal to one of the allowed values",params:({schemaCode:e})=>mr._`{allowedValues: ${e}}`},sX={keyword:"enum",schemaType:"array",$data:!0,error:oX,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=rR.useFunc(t,nX.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}`}}};nR.default=sX});var iR=E(function(sR){Object.defineProperty(sR,"__esModule",{value:!0});var aX=OA(),cX=IA(),uX=LA(),lX=qA(),dX=UA(),pX=ZA(),fX=KA(),mX=XA(),hX=tR(),gX=oR(),yX=[aX.default,cX.default,uX.default,lX.default,dX.default,pX.default,fX.default,mX.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},hX.default,gX.default];sR.default=yX});var oy=E(function(cR){Object.defineProperty(cR,"__esModule",{value:!0});cR.validateAdditionalItems=void 0;var mt=ee(),ss=ue(),wX={message:({params:{len:e}})=>mt.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>mt._`{limit: ${e}}`},_X={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:wX,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}aR(e,n)}};function aR(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())})}}cR.validateAdditionalItems=aR;cR.default=_X});var sy=E(function(pR){Object.defineProperty(pR,"__esModule",{value:!0});pR.validateTuple=void 0;var Vl=ee(),mn=ue(),lR=Dt(),SX={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(e){let{schema:t,it:r}=e;if(Array.isArray(t))return dR(e,"additionalItems",t);if(r.items=!0,mn.alwaysValidSchema(r,t))return;e.ok(lR.validateArray(e))}};function dR(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)}}}pR.validateTuple=dR;pR.default=SX});var gR=E(function(hR){Object.defineProperty(hR,"__esModule",{value:!0});var mR=sy(),xX={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(e)=>mR.validateTuple(e,"items")};hR.default=xX});var vR=E(function(_R){Object.defineProperty(_R,"__esModule",{value:!0});var Zl=ee(),yR=ue(),bR=Dt(),wR=oy(),EX={message:({params:{len:e}})=>Zl.str`must NOT have more than ${e} items`,params:({params:{len:e}})=>Zl._`{limit: ${e}}`},TX={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:EX,code(e){let{schema:t,parentSchema:r,it:n}=e,{prefixItems:o}=r;if(n.items=!0,yR.alwaysValidSchema(n,t))return;if(o)wR.validateAdditionalItems(e,o);else e.ok(bR.validateArray(e))}};_R.default=TX});var kR=E(function(SR){Object.defineProperty(SR,"__esModule",{value:!0});var Ee=ee(),hn=ue(),PX={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}}`},IX={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:PX,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))}}};SR.default=IX});var IR=E(function(TR){Object.defineProperty(TR,"__esModule",{value:!0});TR.validateSchemaDeps=TR.validatePropertyDeps=TR.error=void 0;var is=ee(),xR=ue(),hr=Dt();TR.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 RX={keyword:"dependencies",type:"object",schemaType:"object",error:TR.error,code(e){let[t,r]=CX(e);$R(e,t),ER(e,r)}};function CX({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()}}TR.validatePropertyDeps=$R;function ER(e,t=e.schema){let{gen:r,data:n,keyword:o,it:s}=e,i=r.name("valid");for(let a in t){if(xR.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)}}TR.validateSchemaDeps=ER;TR.default=RX});var CR=E(function(RR){Object.defineProperty(RR,"__esModule",{value:!0});var Bl=ee(),AR=ue(),LX={message:"property name must be valid",params:({params:e})=>Bl._`{propertyName: ${e.propertyName}}`},DX={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:LX,code(e){let{gen:t,schema:r,data:n,it:o}=e;if(AR.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)}};RR.default=DX});var iy=E(function(zR){Object.defineProperty(zR,"__esModule",{value:!0});var gn=Dt(),Ae=ee(),MX=Ar(),yn=ue(),qX={message:"must NOT have additional properties",params:({params:e})=>Ae._`{additionalProperty: ${e.additionalProperty}}`},FX={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:qX,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} === ${MX.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)}}};zR.default=FX});var jR=E(function(DR){Object.defineProperty(DR,"__esModule",{value:!0});var LR=ua(),Kl=Dt(),as=ue(),NR=iy(),WX={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)NR.default.code(new LR.KeywordCxt(s,NR.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)}}};DR.default=WX});var qR=E(function(MR){Object.defineProperty(MR,"__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())})})}}};MR.default=ZX});var WR=E(function(UR){Object.defineProperty(UR,"__esModule",{value:!0});var FR=ue(),KX={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(e){let{gen:t,schema:r,it:n}=e;if(FR.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"}};UR.default=KX});var BR=E(function(ZR){Object.defineProperty(ZR,"__esModule",{value:!0});var VR=Dt(),GX={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:VR.validateUnion,error:{message:"must match a schema in anyOf"}};ZR.default=GX});var GR=E(function(HR){Object.defineProperty(HR,"__esModule",{value:!0});var wn=ee(),KR=ue(),YX={message:"must match exactly one schema in oneOf",params:({params:e})=>wn._`{passingSchemas: ${e.passing}}`},XX={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:YX,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(KR.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)})})}}};HR.default=XX});var XR=E(function(YR){Object.defineProperty(YR,"__esModule",{value:!0});var JR=ue(),eQ={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(JR.alwaysValidSchema(n,s))return;let a=e.subschema({keyword:"allOf",schemaProp:i},o);e.ok(o),e.mergeEvaluated(a)})}};YR.default=eQ});var tC=E(function(eC){Object.defineProperty(eC,"__esModule",{value:!0});var _n=ee(),Yl=ue(),rQ={message:({params:e})=>_n.str`must match "${e.ifClause}" schema`,params:({params:e})=>_n._`{failingKeyword: ${e.ifClause}}`},nQ={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:rQ,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=QR(n,"then"),s=QR(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 QR(e,t){let r=e.schema[t];return r!==void 0&&!Yl.alwaysValidSchema(e,r)}eC.default=nQ});var oC=E(function(nC){Object.defineProperty(nC,"__esModule",{value:!0});var rC=ue(),sQ={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:e,parentSchema:t,it:r}){if(t.if===void 0)rC.checkStrictMode(r,`"${e}" without "if" is ignored`)}};nC.default=sQ});var iC=E(function(sC){Object.defineProperty(sC,"__esModule",{value:!0});var aQ=oy(),cQ=gR(),uQ=sy(),lQ=vR(),dQ=kR(),pQ=IR(),fQ=CR(),mQ=iy(),hQ=jR(),gQ=qR(),yQ=WR(),bQ=BR(),wQ=GR(),_Q=XR(),vQ=tC(),SQ=oC();function kQ(e=!1){let t=[yQ.default,bQ.default,wQ.default,_Q.default,vQ.default,SQ.default,fQ.default,mQ.default,pQ.default,hQ.default,gQ.default];if(e)t.push(cQ.default,lQ.default);else t.push(aQ.default,uQ.default);return t.push(dQ.default),t}sC.default=kQ});var cC=E(function(aC){Object.defineProperty(aC,"__esModule",{value:!0});var Q=ee(),$Q={message:({schemaCode:e})=>Q.str`must match format "${e}"`,params:({schemaCode:e})=>Q._`{format: ${e}}`},EQ={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:$Q,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})`}}}};aC.default=EQ});var lC=E(function(uC){Object.defineProperty(uC,"__esModule",{value:!0});var OQ=cC(),PQ=[OQ.default];uC.default=PQ});var fC=E(function(dC){Object.defineProperty(dC,"__esModule",{value:!0});dC.contentVocabulary=dC.metadataVocabulary=void 0;dC.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];dC.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var hC=E(function(mC){Object.defineProperty(mC,"__esModule",{value:!0});var RQ=EA(),CQ=iR(),zQ=iC(),NQ=lC(),Xl=fC(),LQ=[RQ.default,CQ.default,(0,zQ.default)(),NQ.default,Xl.metadataVocabulary,Xl.contentVocabulary];mC.default=LQ});var wC=E(function(yC){Object.defineProperty(yC,"__esModule",{value:!0});yC.DiscrError=void 0;var gC;(function(e){e.Tag="tag",e.Mapping="mapping"})(gC||(yC.DiscrError=gC={}))});var SC=E(function(vC){Object.defineProperty(vC,"__esModule",{value:!0});var Mt=ee(),cs=wC(),Ql=zl(),jQ=la(),_C=ue(),MQ={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}}`},qQ={keyword:"discriminator",type:"object",schemaType:"object",error:MQ,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)&&!_C.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 jQ.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]=_}}}};vC.default=qQ});var kC=E(function(Sve,UQ){UQ.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 cy=E(function(ht,ay){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 WQ=bA(),VQ=hC(),ZQ=SC(),xC=kC(),BQ=["/properties"],ed="http://json-schema.org/draft-07/schema";class fa extends WQ.default{_addVocabularies(){if(super._addVocabularies(),VQ.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(xC,BQ):xC;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;ay.exports=ht=fa;ay.exports.Ajv=fa;Object.defineProperty(ht,"__esModule",{value:!0});ht.default=fa;var KQ=ua();Object.defineProperty(ht,"KeywordCxt",{enumerable:!0,get:function(){return KQ.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 HQ=Al();Object.defineProperty(ht,"ValidationError",{enumerable:!0,get:function(){return HQ.default}});var GQ=la();Object.defineProperty(ht,"MissingRefError",{enumerable:!0,get:function(){return GQ.default}})});var zC=E(function(RC){Object.defineProperty(RC,"__esModule",{value:!0});RC.formatNames=RC.fastFormats=RC.fullFormats=void 0;function gr(e,t){return{validate:e,compare:t}}RC.fullFormats={date:gr(OC,py),time:gr(ly(!0),fy),"date-time":gr($C(!0),IC),"iso-time":gr(ly(),PC),"iso-date-time":gr($C(),AC),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:nee,"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:lee,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:oee,int32:{type:"number",validate:aee},int64:{type:"number",validate:cee},float:{type:"number",validate:TC},double:{type:"number",validate:TC},password:!0,binary:!0};RC.fastFormats={...RC.fullFormats,date:gr(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,py),time:gr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,fy),"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,IC),"iso-time":gr(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,PC),"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,AC),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};RC.formatNames=Object.keys(RC.fullFormats);function XQ(e){return e%4===0&&(e%100!==0||e%400===0)}var QQ=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,eee=[0,31,28,31,30,31,30,31,31,30,31,30,31];function OC(e){let t=QQ.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&&XQ(r)?29:eee[n])}function py(e,t){if(!(e&&t))return;if(e>t)return 1;if(e<t)return-1;return 0}var uy=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function ly(e){return function(r){let n=uy.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 fy(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 PC(e,t){if(!(e&&t))return;let r=uy.exec(e),n=uy.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 dy=/t|\s/i;function $C(e){let t=ly(e);return function(n){let o=n.split(dy);return o.length===2&&OC(o[0])&&t(o[1])}}function IC(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 AC(e,t){if(!(e&&t))return;let[r,n]=e.split(dy),[o,s]=t.split(dy),i=py(r,o);if(i===void 0)return;return i||fy(n,s)}var tee=/\/|:/,ree=/^(?:[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 nee(e){return tee.test(e)&&ree.test(e)}var EC=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function oee(e){return EC.lastIndex=0,EC.test(e)}var see=-2147483648,iee=2147483647;function aee(e){return Number.isInteger(e)&&e<=iee&&e>=see}function cee(e){return Number.isInteger(e)}function TC(){return!0}var uee=/[^\\]\\Z/;function lee(e){if(uee.test(e))return!1;try{return new RegExp(e),!0}catch(t){return!1}}});var DC=E(function(LC){Object.defineProperty(LC,"__esModule",{value:!0});LC.formatLimitDefinition=void 0;var NC=cy(),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}},pee={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}}`};LC.formatLimitDefinition={keyword:Object.keys(td),type:"string",schemaType:"string",$data:!0,error:pee,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 NC.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 fee=(e)=>(e.addKeyword(LC.formatLimitDefinition),e);LC.default=fee});var FC=E(function(ma,qC){Object.defineProperty(ma,"__esModule",{value:!0});var qt=zC(),hee=DC(),ls=ee(),jC=new ls.Name("fullFormats"),gee=new ls.Name("fastFormats"),gy=(e,t={keywords:!0})=>{if(Array.isArray(t))return MC(e,t,qt.fullFormats,jC),e;let[r,n]=t.mode==="fast"?[qt.fastFormats,gee]:[qt.fullFormats,jC],o=t.formats||qt.formatNames;if(MC(e,o,r,n),t.keywords)(0,hee.default)(e);return e};gy.get=(e,t="full")=>{let n=(t==="fast"?qt.fastFormats:qt.fullFormats)[e];if(!n)throw Error(`Unknown format "${e}"`);return n};function MC(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])}qC.exports=ma=gy;Object.defineProperty(ma,"__esModule",{value:!0});ma.default=gy});var Id={};oz(Id,{program:()=>nb,createCommand:()=>ob,createOption:()=>sb,createArgument:()=>ib,Command:()=>ab,Option:()=>cb,Argument:()=>ub,Help:()=>lb,CommanderError:()=>db,InvalidArgumentError:()=>pb,InvalidOptionArgumentError:()=>fb},{program:(bre)=>nb=bre,createCommand:(bre)=>ob=bre,createOption:(bre)=>sb=bre,createArgument:(bre)=>ib=bre,Command:(bre)=>ab=bre,Option:(bre)=>cb=bre,Argument:(bre)=>ub=bre,Help:(bre)=>lb=bre,CommanderError:(bre)=>db=bre,InvalidArgumentError:(bre)=>pb=bre,InvalidOptionArgumentError:(bre)=>fb=bre});var ve={};nz(ve,{ZodISODate:()=>Ds,ZodISODateTime:()=>Ls,ZodISODuration:()=>Ms,ZodISOTime:()=>js,date:()=>qL,datetime:()=>BS,duration:()=>UL,time:()=>FL});var{Argument:eb}=Sa(),{Command:Pd}=Qy(),{CommanderError:Lz,InvalidArgumentError:tb}=gs(),{Help:Dz}=xd(),{Option:rb}=$d();var nb=new Pd,ob=(e)=>new Pd(e),sb=(e,t)=>new rb(e,t),ib=(e,t)=>new eb(e,t),ab=Pd,cb=rb,ub=eb,lb=Dz,db=Lz,pb=tb,fb=tb;var{program:_re,createCommand:vre,createArgument:Sre,createOption:kre,CommanderError:xre,InvalidArgumentError:$re,InvalidOptionArgumentError:Ere,Command:mb,Argument:Tre,Option:Ore,Help:Pre}=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 gb{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 gb(e)}function yb(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 bb(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 hb=Symbol("evaluating");function wb(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===hb)return;if(n===void 0)n=hb,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 _b(e,t,r){Object.defineProperty(e,t,{get(){let n=r();return yt(this,t,n),n},enumerable:!0,configurable:!0})}function vb(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)_b(e,s,()=>{let a=t._zod.def.shape[s];return n?n(a,s):a});else vb(e,s,n?n(i.value,s):i.value)}}function jz(e,t){for(let r of Reflect.ownKeys(t)){let n=Object.getOwnPropertyDescriptor(t,r);if(!n.enumerable)continue;if(n.get)_b(e,r,()=>t[r]);else vb(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 Sb(e){return JSON.stringify(e)}function kb(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}var Cd="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function to(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var xb=_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(to(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(to(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 $b=new Set(["string","number","symbol"]),Eb=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 Tb(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 Mz(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 qz(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 Fz(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:Ob(e,t)}))}function Ob(e,t){let r={};return En(r,e,Reflect.ownKeys(br(e))),jz(r,t),r}function Uz(e,t){if(!Tn(t))throw Error("Invalid input to safeExtend: expected a plain object");return Ft(e,bt(e._zod.def,{shape:Ob(e,t)}))}function Wz(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 Pb(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 Vz(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 Ib(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 Zz=/[\uD800-\uDBFF]/;function Ea(e){let t=e.length;if(!Zz.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 Ab(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 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 Bz(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 Cb(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 Bz(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 Kz(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}var Ad,Nr=!1,Hz={configurable:!0,get(){Nr=!0;return}};function re(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,Hz);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 Gz(e,t,r,n){let o=Kz(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 Jz="~constantCatch";function zb(e){let t=()=>e;return t[Jz]=!0,t}var Nb,Md=Object.freeze({status:"aborted"}),jd={value:void 0,enumerable:!1},Lb="captureStackTrace"in Error?Error:null;function Yz(e){let t=Lb;if(t){let r=t.stackTraceLimit;if(typeof r==="number"){try{t.stackTraceLimit=0}catch{return Lb=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),Rb(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?Yz(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"}}(Nb=globalThis).__zod_globalConfig??(Nb.__zod_globalConfig={});var tt=globalThis.__zod_globalConfig;function at(e){if(e)Object.assign(tt,e);return tt}function Xz(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,ws,2)),e.message}function Qz(e){this._zod.message=e}var eN={get:Xz,set:Qz,enumerable:!0,configurable:!0},Fd={value:void 0,enumerable:!1},Db=new WeakSet([Object.prototype,Error.prototype]),jb=(e,t)=>{e.name="$ZodError",Fd.value=t,Object.defineProperty(e,"issues",Fd),Fd.value=void 0,Object.defineProperty(e,"message",eN);let r=Object.getPrototypeOf(e);if(!Db.has(r))Db.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})}})},Mb=O("$ZodError",jb),qb=O("$ZodError",jb,void 0,{Parent:Error});function tN(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)tN(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?Fb(e,s.issues,o):{success:!0,data:s.value}},Vd=ks(qb);function Fb(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?Fb(e,s.issues,o):{success:!0,data:s.value}};var nN=Symbol.for("zod.compile.invalid"),oN=Symbol.for("zod.compile.fallback"),Ca=(e,t,r)=>{let n=e._zod.bag.validator;if(n!==void 0){if(n(t)!==nN)return!0;if(n.definite===!0&&r===void 0)return!1}return sN(e,t,r)};function sN(e,t,r){let n=r?{...r,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun,s;if(o)n[oN]=!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},Ub=(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 Wb=(e)=>{let t=Ia(e),r=(n,o,s,i)=>t(n,o,s,Pa(r,i));return r};var Vb=(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 Zb=(e)=>{let t=Aa(e),r=async(n,o,s,i)=>await t(n,o,s,Pa(r,i));return r};var Bb=(e)=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return ks(e)(t,r,o)};var Kb=(e)=>(t,r,n)=>ks(e)(t,r,n);var Hb=(e)=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Ra(e)(t,r,o)};var Gb=(e)=>async(t,r,n)=>Ra(e)(t,r,n);var Jb=/^[cC][0-9a-z]{6,}$/,Yb=/^[0-9a-z]+$/,Xb=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Qb=/^[0-9a-vA-V]{20}$/,ew=/^[A-Za-z0-9]{27}$/,tw=/^[a-zA-Z0-9_-]{21}$/;function rw(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var nw=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var ow=/^([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 sw=/^(?:[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 iN="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function iw(){return new RegExp(iN,"u")}var aw=/^(?:(?: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])$/,cw=/^(([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 uw=/^((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])$/,lw=/^(([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])$/,dw=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,pw=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/;var fw=/^https?$/,mw=/^\+[1-9]\d{6,14}$/;var hw="(?:(?:\\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 aN(e){return new RegExp(`^${e}$`)}var gw=aN(hw);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 yw(e){return new RegExp(`^${Zd(e)}$`)}function bw(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(`^${hw}T(?:${n})$`)}var ww=/^[\s\S]{0,}$/,_w=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Na=/^-?\d+$/,ro=/^-?\d+(?:\.\d+)?$/,vw=/^(?:true|false)$/i,Sw=/^null$/i;var kw=/^[^A-Z]*$/,xw=/^[^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!yb(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})}}),$w=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):bb(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})}}),Ew=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 Tw=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})}}),Ow=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})}}),Pw=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=()=>{})}),Iw=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})}}),Aw=O("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=kw),xs.init(e,t)}),Rw=O("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=xw),xs.init(e,t)}),Cw=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})}}),zw=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})}}),Nw=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 Lw=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 jw={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=jw;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(Ib(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)}}),Xw=(e,t)=>e.issues.length?{issues:e.issues.map((r)=>Gt(r,t,at()))}:{value:e.value};async function cN(e,t){let r={async:!0};return Xw(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 Xw(n,r)}catch(n){}return cN(e,t)},vendor:"zod",version:1}}var qa=O("$ZodString",(e,t)=>{pe.init(e,t),e._zod.pattern=t.pattern??ww,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)}),Qw=O("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=ow),_e.init(e,t)}),e_=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)}),t_=O("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=sw),_e.init(e,t)}),r_=1,ja=2;function n_(e){try{if(typeof URL<"u"&&typeof URL.canParse==="function")return URL.canParse(e);return new URL(e),!0}catch{return!1}}function uN(e,t){if(!("normalize"in t)&&!("hostname"in t)&&!("protocol"in t))return n_(e)||ja;return lN(e,t)}function lN(e,t){if(!t.normalize&&t.protocol?.source===fw.source&&!/^https?:\/\//i.test(e))return r_;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 dN=/[\t\n\r]/g;function Mw(e){return e.replace(dN,"")}function pN(e,t){return t.lastIndex=0,t.test(e.hostname)}function fN(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}var o_=O("$ZodURL",(e,t)=>{_e.init(e,t),e._zod.check=(r)=>{try{let n=r.value.trim(),o=uN(n,t);if(o===r_){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=Mw(n);return}if(t.hostname&&!pN(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&&!fN(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:Mw(n);return}catch(n){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),s_=O("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=iw()),_e.init(e,t)}),i_=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?tw:rw(t.length)),_e.init(e,t)}),a_=O("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Jb),_e.init(e,t)}),c_=O("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Yb),_e.init(e,t)}),u_=O("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Xb),_e.init(e,t)}),l_=O("$ZodXID",(e,t)=>{t.pattern??(t.pattern=Qb),_e.init(e,t)}),d_=O("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=ew),_e.init(e,t)}),p_=O("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=bw(t)),_e.init(e,t)}),f_=O("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=gw),_e.init(e,t)}),m_=O("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=yw(t)),_e.init(e,t)}),h_=O("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=nw),_e.init(e,t)}),g_=O("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=aw),_e.init(e,t)}),mN=/^[0-9a-fA-F:.]+$/;function y_(e){if(!mN.test(e))return!1;return n_(`http://[${e}]`)}var b_=O("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=cw),_e.init(e,t),e._zod.check=(r)=>{if(!y_(r.value))r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}});var w_=O("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=uw),_e.init(e,t)});function hN(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 y_(r)}var __=O("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=lw),_e.init(e,t),e._zod.check=(r)=>{if(!hN(r.value))r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}});function v_(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}$/,S_=O("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=ep),_e.init(e,t),e._zod.check=(r)=>{if(v_(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 gN(e){if(!Fa.test(e))return!1;let t=e.replace(/[-_]/g,(n)=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return v_(r)}var k_=O("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Fa),_e.init(e,t),e._zod.check=(r)=>{if(gN(r.value))return;r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),x_=O("$ZodE164",(e,t)=>{t.pattern??(t.pattern=mw),_e.init(e,t)});function yN(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 $_=O("$ZodJWT",(e,t)=>{_e.init(e,t),e._zod.check=(r)=>{if(yN(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=ro,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}}),E_=O("$ZodNumberFormat",(e,t)=>{Ew.init(e,t),tp.init(e,t)}),T_=O("$ZodBoolean",(e,t)=>{pe.init(e,t),e._zod.pattern=vw,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 O_=O("$ZodNull",(e,t)=>{pe.init(e,t),e._zod.pattern=Sw,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}}),P_=O("$ZodAny",(e,t)=>{pe.init(e,t),e._zod.parse=(r)=>r}),I_=O("$ZodUnknown",(e,t)=>{pe.init(e,t),e._zod.parse=(r)=>r}),A_=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 bN(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 wN=(e)=>Array.isArray(e)?e.length:-1;function qw(e,t,r){if(e.issues.length)t.issues.push(...Ht(r,e.issues));t.value[r]=e.value}var R_=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)=>qw(d,n,c)));else if(qw(l,n,c),a&&l.issues.length!==0&&Et(l))break}if(i.length)return Promise.all(i).then(()=>n);return n},bN(e,wN)});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 _N=[];function C_(e){let t=Object.keys(e.shape),r=Object.getOwnPropertySymbols(e.shape),n=r.length?r:_N,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=Tb(e.shape);return{...e,allKeys:o,symbolKeys:n,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(s)}}function z_(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 vN=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(()=>C_(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))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=to,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 z_(f,d,u,l,o.value,e,h===!0)}}),N_=O("$ZodObjectJIT",(e,t)=>{vN.init(e,t);let r=e._zod.parse,n=_s(()=>C_(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=to,c=!tt.jitless,l=c&&xb.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 z_([],g,m,h,f,e,h?.abortEarly===!0)}return r(m,h)}});function Fw(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),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)=>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 Fw(i,n,e,o);return Promise.all(i).then((a)=>Fw(a,n,e,o))}});function SN(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 L_=O("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,rp.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))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(()=>SN(t));e._zod.parse=(o,s)=>{let i=o.value;if(!to(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}}),D_=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])=>Uw(r,c,u));return Uw(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 Uw(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 j_=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=Ww(r,"optin"),u=Ww(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)=>Vw(T,o,m)));else Vw(w,o,m)}}if(a.length)return Promise.all(a).then(()=>Zw(l,o,r,i,u));return Zw(l,o,r,i,u)}});function Ww(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 Vw(e,t,r){if(e.issues.length)t.issues.push(...Ht(r,e.issues));t.value[r]=e.value}function Zw(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 M_=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"&&ro.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 q_=O("$ZodEnum",(e,t)=>{pe.init(e,t);let r=bs(t.entries),n=new Set(r);e._zod.values=n,re(e,"pattern",(o)=>{let s=bs(o.def.entries).filter((i)=>$b.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}}),F_=O("$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"?_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 U_=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 Bw(e,t){return e.value=t.issues.length?void 0:t.value,e}var np=O("$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(`^(${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)=>Bw(r,s));return Bw(r,o)}return t.innerType._zod.run(r,n)}}),W_=O("$ZodExactOptional",(e,t)=>{np.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)}),V_=O("$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(`^(${Lr(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)}}),Z_=O("$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)=>Kw(s,t));return Kw(o,t)}});function Kw(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}var B_=O("$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)}}),K_=O("$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)=>Hw(s,e));return Hw(o,e)}});function Hw(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 Gw(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 H_=O("$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)=>Gw(r,s,t,n));return Gw(r,o,t,n)}});var op=O("$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)=>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 G_=O("$ZodPreprocess",(e,t)=>{op.init(e,t)}),J_=O("$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(Jw);return Jw(o)}});function Jw(e){if(!e.memo)e.value=Object.freeze(e.value);return e}function kN(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 _w({minimum:o,maximum:s}).source;let i=e._zod.pattern;return(n&&i===ro?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 kN(e)}var Y_=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||Eb.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 X_=O("$ZodLazy",(e,t)=>{pe.init(e,t),wb(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)}),Q_=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)=>Yw(s,r,n,e));Yw(o,r,n,e);return}});function Yw(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 tv extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform");this.name="ZodCyclicError"}}var ip="~memo",ev=[];function rv(e){return e!==null&&typeof e==="object"}function sp(e){return e.map((t)=>t.path?{...t,path:t.path.slice()}:{...t})}var nv=new WeakMap,$s=0,Va=1,Es=2;function Za(e,t,r){let n=nv.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),xN(e,o)}function xN(e,t){if(t!==Va)nv.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=[],EN={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"&&TN(s,o.value))throw new tv;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(!rv(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):ev;return w});if(y)y.issues=g.issues.length?sp(g.issues):ev;return g};if(e._zod.parse=a,e._zod.run===i)e._zod.run=a})}};function ap(){return EN}function TN(e,t){let r=e[ip]?.backEdges;return r!==void 0&&rv(t)&&r.has(t)}var ON=()=>{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=Ab(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:ON()}}var ov;class sv{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 sv}(ov=globalThis).__zod_globalRegistry??(ov.__zod_globalRegistry=iv());var Dr=globalThis.__zod_globalRegistry;function up(e){if(e.checks)e.checks=[...e.checks];return e}function av(e,t){return new e(up({type:"string",...U(t)}))}function cv(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...U(t)})}function uv(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...U(t)})}function lv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...U(t)})}function dv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...U(t)})}function pv(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...U(t)})}function fv(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 mv(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...U(t)})}function hv(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...U(t)})}function gv(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...U(t)})}function yv(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...U(t)})}function bv(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 _v(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...U(t)})}function vv(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...U(t)})}function Sv(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 xv(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...U(t)})}function $v(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...U(t)})}function Ev(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...U(t)})}function Tv(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...U(t)})}function Ov(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 Pv(e,t){return new e(up({type:"number",checks:[],...U(t)}))}function Iv(e,t){return new e(up({type:"number",coerce:!0,checks:[],...U(t)}))}function Av(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...U(t)})}function Rv(e,t){return new e({type:"boolean",...U(t)})}function Cv(e,t){return new e({type:"null",...U(t)})}function zv(e){return new e({type:"any"})}function Nv(e){return new e({type:"unknown"})}function Lv(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 $w({check:"multiple_of",...U(t),value:e})}function Qa(e,t){return new Tw({check:"max_length",...U(t),maximum:e})}function oo(e,t){return new Ow({check:"min_length",...U(t),minimum:e})}function ec(e,t){return new Pw({check:"length_equals",...U(t),length:e})}function dp(e,t){return new Iw({check:"string_format",format:"regex",...U(t),pattern:e})}function pp(e){return new Aw({check:"string_format",format:"lowercase",...U(e)})}function fp(e){return new Rw({check:"string_format",format:"uppercase",...U(e)})}function mp(e,t){return new Cw({check:"string_format",format:"includes",...U(t),includes:e})}function hp(e,t){return new zw({check:"string_format",format:"starts_with",...U(t),prefix:e})}function gp(e,t){return new Nw({check:"string_format",format:"ends_with",...U(t),suffix:e})}function jr(e){return new Lw({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)=>kb(e))}function Dv(e,t,r){return new e({type:"array",element:t,...U(r)})}function jv(e,t,r){let n=U(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}function Mv(e,t,r){return new e({type:"custom",check:"custom",fn:t,...U(r)})}function qv(e,t){let r=PN((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 PN(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 Fv(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}/${Fv(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+Fv(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 Vv(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;Vv(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 Zv=new Set(["type","properties","required","additionalProperties"]),Uv=["oneOf","anyOf"];function Wv(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(!Zv.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]??Wv(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=Wv(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 IN(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let o of Zv)if(o in e)return;let r=t.filter((o)=>Uv.some((s)=>Array.isArray(o[s]))),n=null;if(!r.length)n=Sp(t);else{let o=r[0],s=Uv.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())Vv(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)??[])IN(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 Bv=(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 so=(e,t,r)=>{if(e[t]===void 0||r>e[t])e[t]=r},io=(e,t,r)=>{if(e[t]===void 0||r<e[t])e[t]=r},Kv=(e,t)=>{so(e,"minimum",t),io(e,"maximum",t)},Xv=(e,t)=>{if(e.multipleOf??(e.multipleOf=[]),!e.multipleOf.includes(t))e.multipleOf.push(t)},Qv=(e,t)=>{e.patterns??(e.patterns=new Set),e.patterns.add(t)},eS=(e,t)=>{e.mime=e.mime?e.mime.filter((r)=>t.includes(r)):[...t]},tS=(e,t)=>{if(e.format=t,t.includes("int"))e.isInt=!0},Hv=(e,t)=>so(e,"minimum",t.minimum),Gv=(e,t)=>io(e,"maximum",t.maximum),Jv=(e)=>(t,r)=>{tS(t,r.format);let[n,o]=e[r.format];so(t,"minimum",n),io(t,"maximum",o)},AN={greater_than:(e,t)=>so(e,t.inclusive?"minimum":"exclusiveMinimum",t.value),less_than:(e,t)=>io(e,t.inclusive?"maximum":"exclusiveMaximum",t.value),multiple_of:(e,t)=>Xv(e,t.value),number_format:Jv(ka),bigint_format:Jv(Ld),min_length:Hv,max_length:Gv,length_equals:(e,t)=>Kv(e,t.length),min_size:Hv,max_size:Gv,size_equals:(e,t)=>Kv(e,t.size),string_format:(e,t)=>{if(tS(e,t.format),t.pattern)Qv(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)=>eS(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)AN[s._zod.def.check]?.(t,s._zod.def);let o=e._zod.bag;if(o.minimum!==void 0)so(t,"minimum",o.minimum);if(o.exclusiveMinimum!==void 0)so(t,"exclusiveMinimum",o.exclusiveMinimum);if(o.maximum!==void 0)io(t,"maximum",o.maximum);if(o.exclusiveMaximum!==void 0)io(t,"exclusiveMaximum",o.exclusiveMaximum);if(o.multipleOf!==void 0)Xv(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)eS(t,o.mime);for(let s of o.patterns??[])Qv(t,s);return t}var RN={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},CN=new Map([[ep,dw],[Fa,pw]]),rS=(e)=>CN.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=RN[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(rS);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"},nS=(e,t,r,n)=>{Ue(e,t,r,n,"BigInt cannot be represented in JSON Schema")},oS=(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"},sS=(e,t,r,n)=>{Ue(e,t,r,n,"Undefined cannot be represented in JSON Schema")},iS=(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)=>{},aS=(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}},cS=(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},uS=(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}))},lS=(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")},dS=(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")},pS=(e,t,r,n)=>{Ue(e,t,r,n,"Map cannot be represented in JSON Schema")},fS=(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")?ro:Na).source;return m}var xp=new WeakMap;function zN(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,rS(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(()=>zN(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 mS(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=mS(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=mS(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},hS=(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},Yv={string:$p,number:Ep,boolean:Tp,bigint:nS,symbol:oS,null:Op,undefined:sS,void:iS,never:Pp,any:Ip,unknown:Ap,date:aS,enum:Rp,literal:Cp,nan:cS,template_literal:zp,file:uS,success:lS,custom:Np,function:dS,transform:Lp,map:pS,set:fS,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:hS,optional:tc,lazy:Yp};function gS(e,t){if("_idmap"in e){let n=e,o=As({...t,processors:Yv}),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:Yv});return we(e,r),Rs(r,e),Cs(r,e)}var yS=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 WN=(e,t)=>{Mb.init(e,t),e.name="ZodError";let r=Object.getPrototypeOf(e);if(yS.has(r))return;yS.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",WN,void 0,{Parent:Error});var bS=Ia(wt),wS=Aa(wt),_S=ks(wt),vS=Ra(wt),SS=Ub(wt),kS=Wb(wt),xS=Vb(wt),$S=Zb(wt),ES=Bb(wt),TS=Kb(wt),OS=Hb(wt),PS=Gb(wt);function ZN(){if(!tt.localeError)at(cp())}function Ns(){if(!tt.memoizer)at({memoizer:ap()})}var he=O("ZodType",(e,t)=>(ZN(),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(DL(e,t))},superRefine(e,t){return this.check(jL(e,t))},overwrite(e){return this.check(jr(e))},optional(){return ke(this)},exactOptional(){return SL(this)},nullable(){return AS(this)},nullish(){return ke(AS(this))},nonoptional(e){return OL(this,e)},array(){return x(this)},or(e){return te([this,e])},and(e){return sc(this,e)},transform(e){return RS(this,MS(e))},default(e){return $L(this,e)},prefault(e){return TL(this,e)},catch(e){return IL(this,e)},pipe(e){return RS(this,e)},readonly(){return CL(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 bS(this,t,r,{callee:e})},parseAsync:async function e(t,r){return await wS(this,t,r,{callee:e})},safeParse(e,t){return _S(this,e,t)},async safeParseAsync(e,t){return vS(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 SS(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 xS(this,t,r,{callee:e})},decodeAsync:async function e(t,r){return await $S(this,t,r,{callee:e})},safeEncode(e,t){return ES(this,e,t)},safeDecode(e,t){return TS(this,e,t)},async safeEncodeAsync(e,t){return OS(this,e,t)},async safeDecodeAsync(e,t){return PS(this,e,t)},toJSONSchema(e){return Bv(this,{})(e)},get description(){return Dr.get(this)?.description},get _def(){return this._zod.def}}),CS=O("_ZodString",(e,t)=>{qa.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>$p(e,r,n,o)},Cb({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(oo(...e))},max(...e){return this.check(Qa(...e))},length(...e){return this.check(ec(...e))},nonempty(...e){return this.check(oo(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())}})),zS=O("ZodString",(e,t)=>{qa.init(e,t),CS.init(e,t)},{email(e){return this.check(cv(BN,e))},url(e){return this.check(lp(NS,e))},jwt(e){return this.check(Ov(cL,e))},emoji(e){return this.check(mv(HN,e))},guid(e){return this.check(uv(KN,e))},uuid(e){return this.check(lv(nc,e))},uuidv4(e){return this.check(dv(nc,e))},uuidv6(e){return this.check(pv(nc,e))},uuidv7(e){return this.check(fv(nc,e))},nanoid(e){return this.check(hv(GN,e))},cuid(e){return this.check(gv(JN,e))},cuid2(e){return this.check(yv(YN,e))},ulid(e){return this.check(bv(XN,e))},base64(e){return this.check($v(sL,e))},base64url(e){return this.check(Ev(iL,e))},xid(e){return this.check(wv(QN,e))},ksuid(e){return this.check(_v(eL,e))},ipv4(e){return this.check(vv(tL,e))},ipv6(e){return this.check(Sv(rL,e))},cidrv4(e){return this.check(kv(nL,e))},cidrv6(e){return this.check(xv(oL,e))},e164(e){return this.check(Tv(aL,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 av(zS,e)}var Te=O("ZodStringFormat",(e,t)=>{_e.init(e,t),CS.init(e,t)}),Ls=O("ZodISODateTime",(e,t)=>{p_.init(e,t),Te.init(e,t)}),Ds=O("ZodISODate",(e,t)=>{f_.init(e,t),Te.init(e,t)}),js=O("ZodISOTime",(e,t)=>{m_.init(e,t),Te.init(e,t)}),Ms=O("ZodISODuration",(e,t)=>{h_.init(e,t),Te.init(e,t)}),BN=O("ZodEmail",(e,t)=>{t_.init(e,t),Te.init(e,t)});var KN=O("ZodGUID",(e,t)=>{Qw.init(e,t),Te.init(e,t)});var nc=O("ZodUUID",(e,t)=>{e_.init(e,t),Te.init(e,t)});var NS=O("ZodURL",(e,t)=>{o_.init(e,t),Te.init(e,t)});function qs(e){return lp(NS,e)}var HN=O("ZodEmoji",(e,t)=>{s_.init(e,t),Te.init(e,t)});var GN=O("ZodNanoID",(e,t)=>{i_.init(e,t),Te.init(e,t)});var JN=O("ZodCUID",(e,t)=>{a_.init(e,t),Te.init(e,t)});var YN=O("ZodCUID2",(e,t)=>{c_.init(e,t),Te.init(e,t)});var XN=O("ZodULID",(e,t)=>{u_.init(e,t),Te.init(e,t)});var QN=O("ZodXID",(e,t)=>{l_.init(e,t),Te.init(e,t)});var eL=O("ZodKSUID",(e,t)=>{d_.init(e,t),Te.init(e,t)});var tL=O("ZodIPv4",(e,t)=>{g_.init(e,t),Te.init(e,t)});var rL=O("ZodIPv6",(e,t)=>{b_.init(e,t),Te.init(e,t)});var nL=O("ZodCIDRv4",(e,t)=>{w_.init(e,t),Te.init(e,t)});var oL=O("ZodCIDRv6",(e,t)=>{__.init(e,t),Te.init(e,t)});var sL=O("ZodBase64",(e,t)=>{S_.init(e,t),Te.init(e,t)});var iL=O("ZodBase64URL",(e,t)=>{k_.init(e,t),Te.init(e,t)});var aL=O("ZodE164",(e,t)=>{x_.init(e,t),Te.init(e,t)});var cL=O("ZodJWT",(e,t)=>{$_.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},Cb({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(IS(e))},safe(e){return this.check(IS(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 Pv(oc,e)}var uL=O("ZodNumberFormat",(e,t)=>{E_.init(e,t),oc.init(e,t)});function IS(e){return Av(uL,e)}var LS=O("ZodBoolean",(e,t)=>{T_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Tp(e,r,n,o)});function j(e){return Rv(LS,e)}var lL=O("ZodNull",(e,t)=>{O_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Op(e,r,n,o)});function Fs(e){return Cv(lL,e)}var dL=O("ZodAny",(e,t)=>{P_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ip(e,r,n,o)});function DS(){return zv(dL)}var pL=O("ZodUnknown",(e,t)=>{I_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Ap(e,r,n,o)});function ne(){return Nv(pL)}var fL=O("ZodNever",(e,t)=>{A_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Pp(e,r,n,o)});function mL(e){return Lv(fL,e)}var hL=O("ZodArray",(e,t)=>{Ns(),R_.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(oo(e,t))},nonempty(e){return this.check(oo(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 Dv(hL,e,t)}var ef=O("ZodObject",(e,t)=>{Ns(),N_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>jp(e,r,n,o),Gz(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:mL()}))},strip(){return this.clone(bt(this._zod.def,{catchall:void 0}))},extend(e){return Fz(this,e)},safeExtend(e){return Uz(this,e)},merge(e){return Wz(this,e)},pick(e){return Mz(this,e)},omit(e){return qz(this,e)},partial(...e){return Pb(rf,this,e[0])},exactPartial(...e){return Pb(qS,this,e[0],"exactPartial")},required(...e){return Vz(FS,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:ne(),...U(t)})}var jS=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 te(e,t){return new jS({type:"union",options:e,...U(t)})}var gL=O("ZodDiscriminatedUnion",(e,t)=>{jS.init(e,t),L_.init(e,t)});function vr(e,t,r){return new gL({type:"union",options:t,discriminator:e,...U(r)})}var yL=O("ZodIntersection",(e,t)=>{D_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>qp(e,r,n,o)});function sc(e,t){return new yL({type:"intersection",left:e,right:t})}var bL=O("ZodTuple",(e,t)=>{Ns(),j_.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 wL(e,t,r){let n=t instanceof pe,o=n?r:t;return new bL({type:"tuple",items:e,rest:n?t:null,...U(o)})}var Xp=O("ZodRecord",(e,t)=>{Ns(),M_.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)=>{q_.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 _L=O("ZodLiteral",(e,t)=>{F_.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 _L({type:"literal",values:Array.isArray(e)?e:[e],...U(t)})}var vL=O("ZodTransform",(e,t)=>{Ns(),U_.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 MS(e){return new vL({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 qS=O("ZodExactOptional",(e,t)=>{W_.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 SL(e){return new qS({type:"optional",innerType:e})}var kL=O("ZodNullable",(e,t)=>{V_.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 AS(e){return new kL({type:"nullable",innerType:e})}var xL=O("ZodDefault",(e,t)=>{Z_.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 xL({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():zd(t)}})}var EL=O("ZodPrefault",(e,t)=>{B_.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 TL(e,t){return new EL({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():zd(t)}})}var FS=O("ZodNonOptional",(e,t)=>{K_.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 OL(e,t){return new FS({type:"nonoptional",innerType:e,...U(t)})}var PL=O("ZodCatch",(e,t)=>{H_.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 IL(e,t){return new PL({type:"catch",innerType:e,catchValue:typeof t==="function"?t:zb(t)})}var US=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 RS(e,t){return new US({type:"pipe",in:e,out:t})}var AL=O("ZodPreprocess",(e,t)=>{US.init(e,t),G_.init(e,t)}),RL=O("ZodReadonly",(e,t)=>{J_.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 CL(e){return new RL({type:"readonly",innerType:e})}var zL=O("ZodTemplateLiteral",(e,t)=>{Y_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>zp(e,r,n,o)});function NL(e,t){return new zL({type:"template_literal",parts:e,...U(t)})}var LL=O("ZodLazy",(e,t)=>{X_.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 LL({type:"lazy",getter:e})}var WS=O("ZodCustom",(e,t)=>{Q_.init(e,t),he.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Np(e,r,n,o)});function ic(e,t){return jv(WS,e??(()=>!0),t)}function DL(e,t={}){return Mv(WS,e,t)}function jL(e,t){return qv(e,t)}function Sr(e){let t=nf(()=>te([p(e),P(),j(),Fs(),x(t),J(p(),t)]));return t}function ac(e,t){return new AL({type:"pipe",in:MS(e),out:t})}var ZS={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 VS;(function(e){})(VS||(VS={}));function BS(e){return Ba(Ls,e)}function qL(e){return Ka(Ds,e)}function FL(e){return Ha(js,e)}function UL(e){return Ga(Ms,e)}function WL(e){return Iv(oc,e)}var HS={name:"@tripwire-sh/cli",version:"0.1.5",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 cc=HS.version,q="tripwire",Us="tripwire-get-started",GS="tripwire-workflows",Ws="tripwire-cli",ZL="https://mcp.tripwire.sh/mcp",BL="https://app.tripwire.sh/api/auth",JS="offline_access tripwire:read tripwire:configure tripwire:moderate tripwire:admin";function co(e){return e.TRIPWIRE_MCP_URL||ZL}function YS(e){return(e.TRIPWIRE_AUTH_URL||BL).replace(/\/+$/,"")}var KL="urn:ietf:params:oauth:grant-type:device_code",HL=b({device_code:p(),user_code:p(),verification_uri:p(),verification_uri_complete:p().optional(),expires_in:P(),interval:P().optional()}),QS=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 Vs extends Error{constructor(){super("Tripwire is not reachable right now. Try again in a minute.");this.name="AuthUnreachableError"}}var ek={fetch:(e,t)=>fetch(e,t),sleep:(e)=>new Promise((t)=>setTimeout(t,e)),now:()=>Date.now()};async function uc(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 tk(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 rk(e,t,r){let{status:n,body:o}=await uc(e,`${t}/device/code`,{client_id:Ws,scope:JS,resource:r}),s=HL.safeParse(o);if(n>=400||!s.success)throw tk(o,`Device authorization failed (HTTP ${n})`);return s.data}function nk(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 XS=5000;function GL(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 ok(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 uc(e,`${t}/oauth2/token`,{grant_type:KL,device_code:n.device_code,client_id:Ws,resource:r}),l=QS.safeParse(c);if(a<400&&l.success)return nk(e,l.data,t,r);if(a===429){if(s=GL(u,e.now()),s===null)o+=XS;continue}let d=sf.safeParse(c),f=d.success?d.data.error:"";if(f==="authorization_pending")continue;if(f==="slow_down"){o+=XS;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 tk(c,`Token request failed (HTTP ${a})`)}throw Error("The code expired. Run tripwire login again.")}async function sk(e,t){if(!t.refreshToken)throw new of;let{status:r,body:n}=await uc(e,`${t.authUrl}/oauth2/token`,{grant_type:"refresh_token",refresh_token:t.refreshToken,client_id:Ws,resource:t.mcpUrl}).catch(()=>{throw new Vs}),o=QS.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 Vs}return nk(e,o.data,t.authUrl,t.mcpUrl,t.refreshToken)}async function ik(e,t){let r=t.refreshToken??t.accessToken;await uc(e,`${t.authUrl}/oauth2/revoke`,{token:r,client_id:Ws}).catch(()=>{return})}import{stripVTControlCharacters as C2}from"node:util";var JL=z(["pending","approved","rejected"]),sse=JL.options;var Zs=[{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 ak(e){return e.status==="live"}var Bs=z(Zs.filter(ak).map((e)=>e.id)),cse=Zs.filter((e)=>ak(e)&&!("paused"in e)).map((e)=>e.label),use=Zs.filter((e)=>e.status==="planned").map((e)=>e.label),lse=Zs.filter((e)=>("signIn"in e)).map((e)=>e.id);var YL=Object.fromEntries(Zs.map((e)=>[e.id,e]));var lc=b({owner:p(),name:p(),fullName:p()}),XL=b({id:p(),login:p(),name:p(),type:z(["Organization","User"]),avatarUrl:p(),repoAccess:z(["all","selected"]),repoCount:P(),installedAt:ve.datetime()}),QL=b({id:p(),owner:p(),name:p(),fullName:p(),private:j(),pushedAt:ve.datetime(),openFlags:P(),stars:P()}),fse=b({accounts:x(XL),repos:x(QL)});var Ks=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"]),ck=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()}),eD=b({externalId:p(),body:p(),url:p(),subjectNumber:P().int(),byTripwire:j().optional()}),tD=b({ref:p(),headSha:p(),commitCount:P().int(),url:p().optional()}),pc=z(["issue","change-request"]),rD=b({kind:pc,number:P().int(),title:p(),url:p(),state:z(["open","closed"]),author:p(),labels:x(p()),locked:j(),updatedAt:ve.datetime()}),nD=b({workflowId:p(),nodeId:p(),tickId:p()}),uo={id:p(),forge:Bs,deliveryId:p(),repo:lc,repoExternalId:p().optional(),installationExternalId:p().optional(),actor:ck,occurredAt:ve.datetime(),receivedAt:ve.datetime()},dc={id:p(),forge:Bs,deliveryId:p(),actor:ck,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()}))},uk=vr("kind",[b({...uo,kind:C("change-request.opened"),changeRequest:af}),b({...uo,kind:C("change-request.updated"),changeRequest:af}),b({...uo,kind:C("change-request.closed"),changeRequest:af}),b({...uo,kind:C("comment.created"),comment:eD}),b({...uo,kind:C("push"),push:tD}),b({...uo,kind:C("schedule.matched"),schedule:nD,thread:rD}),b({...dc,kind:C("installation.created")}),b({...dc,kind:C("installation.deleted")}),b({...dc,kind:C("installation-repositories.added")}),b({...dc,kind:C("installation-repositories.removed")})]),oD=Ks.extract(["change-request.opened","change-request.updated","change-request.closed"]),bse=oD.options;var sD=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"],iD=["sun","mon","tue","wed","thu","fri","sat"],aD=[{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:sD,nameBase:1},{name:"day of week",range:"0 to 7 or sun to sat",min:0,max:7,names:iD,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 cD(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 aD.entries()){let d=cD(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 Hs(e){try{return new Intl.DateTimeFormat("en-US",{timeZone:e}),!0}catch{return!1}}var lk=new Map;function uD(e){let t=lk.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 lk.set(e,r),r}function df(e,t){let r=uD(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 dk(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 fc(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 lD(e,t){return fc(e,t.getUTCDate(),t.getUTCDay())}var dD=Array.from({length:217},(e,t)=>({day:t%31+1,weekday:Math.floor(t/31)}));function lf(e){let t=dD.map(({day:r,weekday:n})=>fc(e,r,n)?"1":"0").join("");return[e.minutes,e.hours,e.months].map((r)=>r.join(",")).concat(t).join(" ")}function pk(e,t){let r=Pn(e),n=Pn(t);return r.ok&&n.ok&&lf(r.spec)===lf(n.spec)}var pD=1830,fD=180;function mD(e,t){let r=dk(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<=fD;o++){let s=new Date(n+o*60000),i=dk({year:s.getUTCFullYear(),month:s.getUTCMonth()+1,day:s.getUTCDate(),hour:s.getUTCHours(),minute:s.getUTCMinutes()},t);if(i)return i}return null}function fk(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<=pD;s++){if(e.months.includes(o.getUTCMonth()+1)&&lD(e,o))for(let i of e.hours)for(let a of e.minutes){let c=mD({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(()=>te([p(),P(),j(),Fs(),x(je),J(p(),je)])),gc=b({x:P(),y:P()}),hD=z(["all-of","any-of","not"]),gD=z(["block","comment","label","request-review","send-to-moderation","webhook","discord","lock","close","remove-label","post-comment"]),yD=["comment"];function hk(e){return yD.includes(e)}var xse=b({url:qs().meta({secret:!0}).describe("webhook url"),signingSecret:p().min(1).optional().meta({secret:!0}).describe("signing secret")}),$se=b({url:qs().meta({secret:!0}).describe("discord webhook url")}),lo=15,yc=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:yc}),Ese=b({id:P().int().positive(),login:yc,avatarUrl:p(),permission:p().min(1)}),Tse=b({name:p().min(1),color:p().regex(/^[0-9a-fA-F]{6}$/),description:p().nullable()}),bD=ac((e)=>p().safeParse(e).success?{login:e}:e,mf);function gk(e,t){return e.id!==void 0&&t.id!==void 0?e.id===t.id:e.login.toLowerCase()===t.login.toLowerCase()}var Gs=b({reviewers:x(bD).max(lo,`ask at most ${lo} people`).default([]),teamReviewers:x(ff).max(lo,`ask at most ${lo} teams`).default([])}),yk=Gs.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>lo)t.addIssue({code:"custom",message:`ask at most ${lo} people and teams`})}),Mr=b({labels:x(p().trim().min(1)).min(1,"choose at least one label")}),mk=5000,bc=b({message:p().trim().min(1,"write a message").max(mk,`keep it under ${mk} characters`)}),wD=z(["resolved","off-topic","too heated","spam"]),bk=b({reason:wD.optional()}),Js={hours:3600000,days:86400000,weeks:604800000,months:2592000000};function hf(e){return e.n*Js[e.unit]}var wc=52*Js.weeks,_D=3650*Js.days,vD=z(["hours","days","weeks"]),SD=z(["hours","days","weeks","months"]),kD=b({n:P().int().min(1),unit:vD}).refine((e)=>hf(e)<=wc,{message:"runs at least once a year"}),Yt="UTC",wk=p().min(1).refine(Hs,{error:(e)=>`${String(e.input)} is not an IANA timezone, like Europe/Berlin`}),mc=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"]),xD=vr("preset",[b({preset:C("hourly"),minute:P().int().min(0).max(59)}),b({preset:C("daily"),at:mc}),b({preset:C("weekdays"),at:mc}),b({preset:C("weekly"),on:gf,at:mc}),b({preset:C("monthly"),day:P().int().min(1).max(28),at:mc})]),_c=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(fk(r.spec)<Ot)t.addIssue({code:"custom",message:`runs must be at least ${Ot} minutes apart`})})}),_k=te([kD,xD,_c]),vk=b({n:P().int().min(1),unit:SD}).refine((e)=>hf(e)<=_D,{message:"10 years at most"}),Sk=z(["open","closed","any"]),hc=x(p().min(1)),$D=b({subjects:x(pc).min(1),state:Sk,inactiveFor:vk,labels:hc.optional(),excludeLabels:hc.optional(),skipLocked:j().default(!0)}),po=b({every:_k,timezone:wk.optional(),match:$D}),ED=b({every:_k.optional(),timezone:wk.optional(),match:b({subjects:x(pc).optional(),state:Sk.optional(),inactiveFor:vk.optional(),labels:hc.optional(),excludeLabels:hc.optional(),skipLocked:j().optional()}).default({})});var TD=["every","subjects","state","inactiveFor"];function kk(e){return TD.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 OD=b({id:p(),type:C("trigger"),kinds:x(Ks).min(1),schedule:ED.optional(),position:gc.optional()});function vc(e){return e.type==="trigger"&&(e.kinds??[]).includes("schedule.matched")}var PD=b({id:p(),type:C("rule"),ref:p().regex(/^[a-z][a-z0-9-]*@\d+$/),config:je,position:gc.optional()}),ID=b({id:p(),type:C("gate"),mode:hD,position:gc.optional()}),AD=b({id:p(),type:C("action"),action:gD,params:J(p(),je).optional(),position:gc.optional()}),yf=vr("type",[OD,PD,ID,AD]),xk=z(["pass","fail","approve","deny"]),RD=b({id:p(),from:p(),to:p(),when:xk.optional()}),kr=b({id:p(),name:p(),version:P().int().min(1),nodes:x(yf).min(1),edges:x(RD)}),$k={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 Ek=[{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}],Tk=[{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."}],Ok=[{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 Ase=J(p(),je).catch({});function Sc(e){if(e.length<=1)return e[0]??"";return`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`}function Pk(e){let t=Mr.safeParse(e);return t.success?t.data.labels:[]}function Ik(e){return`${e.length===1?"the label":"the labels"} ${Sc(e)}`}function CD(e){let t=Gs.safeParse(e);if(!t.success)return[];return[...t.data.reviewers.map((r)=>r.login),...t.data.teamReviewers]}function Ak(e,t){switch(e){case"block":return"blocks it";case"label":{let r=Pk(t);return r.length>0?`adds ${Ik(r)}`:"adds labels"}case"remove-label":{let r=Pk(t);return r.length>0?`removes ${Ik(r)}`:"removes labels"}case"request-review":{let r=CD(t);return r.length>0?`requests GitHub review from ${Sc(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 zD=b({runId:p(),verdict:p().nullable(),status:p(),reason:p().nullable()}),Rk=b({event:uk,run:zD.nullable(),pending:j().optional()}),ND=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(Rk)}),LD=vr("type",[b({type:C("group"),group:ND}),b({type:C("event"),entry:Rk})]),Nse=b({items:x(LD)});var DD=["tripwire:read","tripwire:configure","tripwire:moderate","tripwire:admin"],jse=z(DD);var jD="https://tripwire.sh/orgs";var Mse=b({sub:p().min(1),azp:p().min(1).optional(),client_id:p().min(1).optional(),scope:p().optional(),[jD]:x(p()).optional()});var Use=z(["ready","out"]),Ck=z(["ai-out-of-credits"]);var Wse=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:ne().optional(),cause:ne().optional(),data:ne().optional(),error:ne().optional(),errors:x(ne()).optional().catch(void 0)});var Vse=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 MD=z(["success","failure","neutral","pending"]),Hse=b({sha:p(),conclusion:MD,summary:p(),detailsUrl:p()});var qD=["matched-values","file-paths","ai-trace","ai-summary","reasons","rule-names","passed-count","failed-count"],FD=qD.length;var UD=P().int().min(0).max(FD),zk=z(["run-page","check","comment","review","webhook"]),Yse=zk.options,WD=["run-page","check","comment","review"],kc=b({level:UD.default(0),surfaces:x(zk).default(()=>[...WD]),showHelp:j().default(!0)}),Nk=kc.extend({inherit:j().default(!0)}),VD=kc.parse({});var ZD=z(["green","blue","purple","pink","orange","red","grey"]),xr=z(["issue","pull"]),Ys=z(["open","closed","merged"]),Lk=b({key:p(),label:p(),value:P(),delta:P().optional(),invertDelta:j().optional(),sub:p().optional(),series:x(P()),color:ZD,suffix:p().optional()}),BD=b({rule:p(),count:P()}),KD=b({kind:xr,number:P(),title:p(),comments:P(),blocked:P(),status:Ys}),HD=b({login:p(),count:P(),flagged:j().optional()}),GD=b({login:p(),reason:p(),caughtBy:p(),status:z(["Hidden","Removed"]),commentId:p().optional()}),JD=b({kind:z(["review","check"]),title:p(),detail:p(),status:z(["Approved","Changes","Passed","Failed"]),actor:p().optional()}),YD=b({kind:xr,number:P(),title:p(),status:Ys,meta:p(),metrics:x(Lk),series:x(P()),byParticipant:x(HD),flagged:x(GD).optional(),checks:x(JD).optional()}),eie=b({metrics:x(Lk),blockedByRule:x(BD),activeThreads:x(KD),threads:J(p(),YD)});var mo=z(["issue","pull","comment"]),bf=z(["spam","harassment","off-topic","automod","nsfw"]),wf=z(["low","medium","high","critical"]),XD=z(["pending","resolved"]),fo=b({login:p(),avatarUrl:p()}),oie=b({id:p(),type:mo,repository:lc,number:P(),title:p(),bodyPreview:p(),author:fo,reason:bf,severity:wf,reporter:fo.nullable(),automodRule:p().optional(),reportedAt:ve.datetime(),status:XD,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())}),sie=b({sentToReview:qr,blocked:qr,passed:qr}),iie=z(["approve","remove","ban"]);var QD=z(["info","warn","critical"]),ej=b({severity:QD,file:p(),line:P().int().min(1).optional(),note:p().max(240)}),uie=b({verdict:z(["pass","block","needs_review"]),confidence:P().min(0).max(1),summary:p().max(200),findings:x(ej).max(5)}),Dk=b({model:p().optional(),maxSteps:P().int().min(1).max(15).default(12)});var tj=b({type:z(["reasoning","tool_call"]),toolName:p().optional(),excerpt:p(),truncated:j()}),lie=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(tj)});var rj=z(["blocklist","heuristic","classifier","regex"]),nj=z(["flag","hide","close","require-review"]),oj=z(["pending","confirmed","false-positive"]),sj=b({id:p(),type:mo,repoFullName:p(),number:P(),author:b({login:p(),avatarUrl:p()}),snippet:p(),matchedAt:ve.datetime(),verdict:oj,threadKind:xr,commentId:p()}),wie=b({id:p(),name:p(),description:p(),category:rj,pattern:p(),scope:x(mo),action:nj,enabled:j(),matches24h:P(),matches30d:P(),falsePositiveRate:P().min(0).max(100),lastFiredAt:ve.datetime(),trend:x(P()),recentMatches:x(sj)}),_ie=b({activeRules:qr,matches24h:qr,falsePositiveRate:qr,autoActioned24h:qr}),ij=b({ruleId:p(),version:P().int().min(1),status:z(["evaluated","skipped"]),passed:j(),evidence:ne(),reason:p().optional(),cause:Ck.optional(),evaluatedAt:ve.datetime()}),vie=ij.pick({ruleId:!0});var aj=b({minDays:P().int().min(0)}),Sie=b({min:P().int().min(0)}),cj=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")}),uj=b({maxPerWindow:P().int().min(1),windowHours:P().min(0.1).default(24)}),lj=b({max:P().int().min(1)}),dj=b({maxNonLatinRatio:P().min(0).max(1).default(0.5)}),pj=b({}),fj=b({paths:x(p()).min(1)}),mj=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:aj,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:cj,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:uj,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:lj,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:dj,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:pj,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:fj,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:mj,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:Dk,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 Iie=J(p(),je);var yj=z(["silent","ci-check","comment"]),jk=z(["comment","silent"]),bj=z(["full","one-liner-link","custom"]),_f=b({customText:p().max(4000).default(""),showDetailsButton:j().default(!0)}),wj=_f.extend({mode:bj.default("full"),template:p().max(4000).default("")}),_j=b({onSuccess:yj.default("ci-check"),passComment:_f.prefault({}),onBlock:jk.default("comment"),blockComment:wj.prefault({}),moderationQueued:jk.default("comment"),reviewComment:_f.prefault({}),failClosedFallback:j().default(!0),redaction:Nk.prefault({})}),vj=b({redaction:kc.prefault({})}),zie=vj.parse({});var Sj=_j.parse({});var Mk="If you think this is wrong, say so in a comment. A maintainer will decide.",qk="If you think it should merge anyway, say so in a comment. A maintainer will decide.",Kie=`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
|
-
${Mk}`;var kj=b({total:P(),weeks:x(x(P().min(0).max(4)))}),xj=b({accountAgeDays:P(),location:p().nullable(),emailVerified:j(),twoFactor:j()}),$j=b({mergedPrs:P(),openPrs:P(),comments:P(),hiddenByAutomod:P()}),Ej=z(["automod-hidden","pull-opened","comment-removed","issue-comment","flagged","account-created"]),Tj=b({id:p(),kind:Ej,title:p(),detail:p(),at:ve.datetime()}),Qie=b({handle:p(),initial:p(),joinedDaysAgo:P(),publicRepos:P(),followers:P(),watchlisted:j(),contributions:kj,details:xj,repoStats:$j,activity:x(Tj)});var Oj=["under","over","atLeast","atMost","between","equals","not","oneOf","noneOf","has","containsAny","noneMatch","anyIn"],Fk=p().regex(/^\d+(h|d)$/,"window must be a count and a unit, like 24h or 7d"),Pj=vr("kind",[b({kind:C("last"),window:Fk}),b({kind:C("lastCount"),window:Fk}),b({kind:C("trimmedLength")}),b({kind:C("nonLatinRatio")}),b({kind:C("letterCount")})]),Ij=te([P(),p(),j()]),Aj=te([Ij,x(te([P(),p()]))]),Uk=b({kind:z(Oj),args:x(Aj)}),Rj=te([Uk.refine((e)=>e.kind!=="not",{message:"not takes an inner comparison"}),b({kind:C("not"),args:wL([Uk])})]),Cj=b({when:b({id:p().min(1),transform:Pj.optional()}),comparison:Rj,severity:z(["low","medium","high"])});var oae=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:Cj}),sae=b({});var uae=z(["prod","eval","dev"]),lae=z(["railway","openrouter","planetscale"]);var mae=z(["pending","granted-admin","denied","not-admin","not-for-tripwire","token-expired","failed"]);var Xt={installationId:p(),forge:Bs},hae=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 zj=/^(Too (small|big)|Invalid (input|option|string|number|key|element|value)|Unrecognized key)/,Nj=new Map([["number","a number"],["int","a whole number"],["string","text"],["boolean","true or false"],["array","a list"],["object","a group of settings"]]);function xc(e,t){return`${e} ${t}${e===1?"":"s"}`}function Lj(e){return e.map(String).join(".")}function Dj(e,t){switch(e.code){case"too_small":{if(e.origin==="array"||e.origin==="set")return`${t} needs at least ${xc(e.minimum,"item")}`;if(e.origin==="string")return e.minimum===1?`${t} cannot be empty`:`${t} needs at least ${xc(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 ${xc(e.maximum,"item")}`;if(e.origin==="string")return`${t} can be at most ${xc(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 ${Nj.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 ho(e,t){let r=t?.(e.path)??null,n=r??Lj(e.path);if(zj.test(e.message)){let o=Dj(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"]),jj=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"]),Mj=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/,wae=p().min(3,"slug must be at least 3 characters").max(32,"slug must be at most 32 characters").regex(Mj,"lowercase letters, numbers, and hyphens only, with no leading or trailing hyphen").refine((e)=>!jj.has(e),{message:"this name is reserved"});var _ae=z(["User","Organization"]),vae=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),Wk=["read","manage"],Qt=z(Wk),$ae=NL([kf,":",Qt]),Eae=Sf.flatMap((e)=>Wk.map((t)=>`${e}:${t}`));var Vk=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"}),qj=tf(kf,x(Qt).min(1));var Tae=tf(kf,Qt);function Fj(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 Uj=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)=>!Uj.has(e),{message:"this name is taken by a built-in role"}),Oae=b({name:xf,scopes:Vk}),Zk=qj.refine((e)=>Vk.safeParse(Fj(e)).success,{message:"this role grants access a custom role cannot hold"}),Pae=b({organizationId:p().min(1),role:xf,permission:Zk}).strict(),Iae=b({organizationId:p().min(1),roleName:p().min(1).optional(),roleId:p().min(1).optional(),data:b({permission:Zk}).strict()}).strict(),Aae=te([vf,xf]);var Wj=z(["public","private"]),Hk=b({name:p(),className:p()}),Vj=b({name:p(),description:p(),visibility:Wj,openIssues:P(),openPulls:P(),flagged:P(),updatedAt:ve.datetime()}),Bk=b({kind:xr,number:P(),title:p(),status:Ys,author:p(),openedAt:ve.datetime(),comments:P(),flagged:P(),labels:x(Hk)}),Zj=b({state:z(["Hidden","Removed"]),rule:p()}),Bj=b({id:p(),author:p(),body:p(),createdAt:ve.datetime(),flag:Zj.optional()}),Kk=b({kind:xr,number:P(),title:p(),status:Ys,author:p(),openedAt:ve.datetime(),labels:x(Hk),body:p(),comments:x(Bj),branch:p().optional(),baseBranch:p().optional()}),Nae=b({repos:x(Vj),issues:x(Bk),pulls:x(Bk),issueDetails:J(p(),Kk),pullDetails:J(p(),Kk)});var jae=new Set($k.nodes.filter((e)=>e.type==="rule").map((e)=>e.ref));var Kj=z(["removed","hidden","banned","dismissed","required-review"]),Hj=z(["actioned","dismissed","appealed","reversed"]),Gj=z(["automod","report","manual"]),Jj=b({kind:Gj,detail:p(),reporter:fo.optional()}),Yj=b({at:ve.datetime(),label:p(),by:p()}),Xj=b({id:p(),type:mo,repoFullName:p(),number:P(),content:p(),threadKind:xr,commentId:p()}),Wae=b({id:p(),label:p(),reason:bf,severity:wf,action:Kj,status:Hj,author:fo,moderator:fo.nullable(),caughtBy:Jj,at:ve.datetime(),snapshot:j(),items:x(Xj),history:x(Yj)}),Vae=z(["what","reason","caught"]),go=z(["pass","block","needs_review"]);var Gk=z(["queued","running","paused","completed","failed","closed"]),Hae=Gk.options,Gae=z(["checking","did-not-finish","pass","block","needs_review","closed-before-review","ran"]),$c={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"},Jae=Gk.nullable().catch(null),Yae=go.nullable().catch(null);var Jk=z(["event","pass","fail","approve","deny"]),ece=z(["event","result","decision"]),tce=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"}},Qj={identity:{event:"event",result:"result",decision:"decision"},not:{result:"result",decision:"decision"}};function eM(e,t){return Qj[e][t]??null}function tM(e){let t=ut[e];return eM(t.fn,t.type)}var Qs={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 yo(e){let t=ut[e];if(t.type==="event")return"neutral";return t.fn==="not"?"fail":"ok"}var rce={event:yo("event"),pass:yo("pass"),fail:yo("fail"),approve:yo("approve"),deny:yo("deny")},rM={trigger:[],rule:["event","result","decision"],gate:["result"],action:["event","result","decision"]},nM={"send-to-moderation":["approve","deny"]},oM=Jk.options;function Yk(e){return rM[e]}function Ec(e,t){let r=tM(t);return r!==null&&Yk(e).includes(r)}function Xs(e){return oM.filter((t)=>Ec(e,t))}var nce={trigger:{accepts:Xs("trigger")},rule:{accepts:Xs("rule")},gate:{accepts:Xs("gate")},action:{accepts:Xs("action")}};function ei(e){switch(e.type){case"trigger":return["event"];case"rule":case"gate":return["pass","fail"];case"action":return e.action==="send-to-moderation"?nM[e.action]:[];default:return[]}}function In(e,t){if(e.type==="trigger"&&(t===void 0||t==="pass"))return"event";return t??"pass"}var rx={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}}),ti=(e)=>({label:"Delete",edit:{type:"delete-node",nodeId:e}});function Tf(e){let t=e.trim();return/[.?]$/.test(t)?t:`${t}.`}function sM(e){let t=e.trim();return Tf(`${t.charAt(0).toUpperCase()}${t.slice(1)}`)}function nx(e){if(e.length<=1)return e.join("");return`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`}function Tc(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 Tk.find((r)=>r.mode===e.mode)?.name??e.mode;case"action":return Ok.find((r)=>r.action===e.action)?.name??`${e.action.charAt(0).toUpperCase()}${e.action.slice(1)}`;default:return"Step"}}function ox(e,t,r,n){if(Ec(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 sx(e,t,r){let n=ei(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 ${Qs[t]} output`};return null}function iM(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=Tc(o,t),i=(r.get(s)??0)+1;r.set(s,i),n.set(o.id,i===1?s:`${s} ${i}`)}return n}function aM(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 cM(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 uM(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 lM(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 Xk(e){return(t)=>t.def.edges.flatMap((r)=>{let n=ix(t,r);if(!n||sx(n.source,In(n.source,r.when),""))return[];let o=In(n.source,r.when);if(ox(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"?iM(o):"It takes no inputs.",fixes:e==="gate-input"?aM(r,o):[An(r.id)]}]})}function Qk(e){return(t)=>t.def.edges.flatMap((r)=>{let n=ix(t,r);if(!n)return[];if(sx(n.source,In(n.source,r.when),t.name(n.source))?.rule!==e)return[];let s=ei(n.source).includes("pass");return[{edgeId:r.id,nodeId:n.source.id,message:e==="no-outputs"?"It has no outputs.":`It has no ${Qs[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 dM(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 pM(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&&Ec(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,ti(n.id)]}]})}function fM(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 ${nx(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 mM(e){return ax(e,e.def.nodes.filter((t)=>t.type==="trigger").map((t)=>t.id))}function hM(e){let t=mM(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 gM={every:"how often it runs",subjects:"what it looks at",state:"a status",inactiveFor:"how long without activity"};function yM(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="trigger"||!vc(t))return[];let r=kk(t.schedule);if(r.length===0)return[];let[n]=r;return[{nodeId:t.id,message:`Set ${nx(r.map((o)=>gM[o]))}.`,fixes:[{label:"Set schedule",intent:{type:"focus-field",nodeId:t.id,field:n??"schedule"}}]}]})}var bM={"remove-label":{schema:Mr,field:"labels",message:"Pick the labels to remove.",label:"Pick labels"},"post-comment":{schema:bc,field:"message",message:"Write the message.",label:"Write message"}},wM=new Set(["discord.com","discordapp.com","ptb.discord.com","canary.discord.com"]),_M=b({url:p().optional(),urlSet:j().optional()});function vM(e,t){let r=_M.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 wM.has(i.hostname)&&i.pathname.startsWith("/api/webhooks/")}var SM={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 kM(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="action")return[];if(t.action==="webhook"||t.action==="discord"){let o=SM[t.action];return vM(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"?bM[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 xM(e){return e.def.nodes.flatMap((t)=>t.type==="trigger"&&vc(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 ax(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 EM(e){let t=ax(e,e.def.nodes.filter(vc).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:[ti(r.id)]}]:[])}function Pf(e,t){let[r,n]=t.split("@");return e.catalog.find((o)=>o.ruleId===r&&o.version===Number(n))}function TM(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:[ti(t.id)]}]:[])}function OM(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 PM(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(ho(o))}`:"A setting is not valid.",fixes:s===void 0?[]:[{label:"Edit setting",intent:{type:"focus-field",nodeId:t.id,field:String(s)}}]}]})}var IM={comment:"Customize sets the verdict comment now"};function AM(e){return e.def.nodes.flatMap((t)=>t.type==="action"&&hk(t.action)?[{nodeId:t.id,message:`This step was removed. ${sM(IM[t.action])}`,fixes:[ti(t.id)]}]:[])}function RM(e){return e.def.nodes.flatMap((t)=>{if(t.type!=="action"||t.action!=="request-review")return[];let r=yk.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 CM(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=Gs.safeParse(r.params??{});if(!n.success)return[];return n.data.reviewers.filter((o)=>!t.some((s)=>gk(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 zM(e){return e.def.nodes.flatMap((t)=>{let[r]=ei(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}},ti(t.id)]}]})}var NM=[{rule:"duplicate-id",check:cM},{rule:"missing-step",check:uM},{rule:"no-trigger",check:lM},{rule:"trigger-input",check:Xk("trigger-input")},{rule:"gate-input",check:Xk("gate-input")},{rule:"no-outputs",check:Qk("no-outputs")},{rule:"wrong-output",check:Qk("wrong-output")},{rule:"not-input",check:dM},{rule:"orphan-step",check:pM},{rule:"cycle",check:fM},{rule:"no-action",check:hM},{rule:"schedule-config",check:yM},{rule:"action-params",check:kM},{rule:"schedule-mixed",check:xM},{rule:"schedule-needs-change-request",check:EM},{rule:"unknown-rule",check:TM},{rule:"rule-unavailable",check:OM},{rule:"rule-config",check:PM},{rule:"removed-step",check:AM},{rule:"review-targets",check:RM},{rule:"stale-reviewer",check:CM},{rule:"dead-end",check:zM}];function ex(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:rx[e].severity,step:t.nodeId?r.get(t.nodeId)??"Step":"Workflow",...t}}function tx(e,t,r,n){let o=Of(e,t),s={def:e,byId:new Map(e.nodes.map((c)=>[c.id,c])),incoming:ex(e.edges,"to"),outgoing:ex(e.edges,"from"),name:(c)=>o.get(c.id)??Tc(c,t),catalog:t,reviewers:n},i=NM.flatMap(({rule:c,check:u})=>r==="structure"&&rx[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 LM=b({nodes:x(xe({id:p().catch(""),type:p().catch(""),kinds:x(p()).optional().catch(void 0)}))});function DM(e,t){let r=new Map,n=new Map;for(let o of e){let s=yf.safeParse(o),i=s.success?Tc(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 jM(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(tx(s.data,r,n,t.reviewers))};let i=LM.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:jM(s.error,a.map((f)=>f.id),DM(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,...tx(u.data,r,n,t.reviewers)])}}function cx(e,t={}){return Af(e,t).results}var MM={pass:$c.pass,block:$c.block,needs_review:$c.needs_review},qM=go.nullable().catch(null);function ux(e){let t=qM.parse(e??null);return t?MM[t]:null}var wce=x(kr).catch([]),_ce=b({workflows:x(b({id:p(),name:p()})),issues:x(b({workflowId:p(),messages:x(p())})).optional()}).catch({workflows:[]}),vce=b({decision:z(["approve","deny"])}).nullable().catch(null);var Sce=b({pausedNodeId:p()}).nullable().catch(null);var FM=["connect_mcp","install_app","sync_repos","pick_rules","turn_on_gate","verify_check"],lx=z(FM),dx=z(["active","waiting","completed","skipped","failed"]);var UM=p().regex(/^[A-Za-z0-9]{10}$/,"A run code is 10 letters or digits."),WM=/^([a-z0-9_-]+)#([A-Za-z0-9]{10})$/;function px(e){let t=WM.exec(e.trim());if(!(t?.[1]&&t[2]))return null;return{org:t[1],code:t[2]}}var VM=b({status:dx,detail:p().max(256).nullable(),updatedAt:ve.datetime()}),ZM=tf(lx,VM),$ce=b({runCode:p().trim().min(1).max(200),stage:lx,status:dx,detail:p().trim().max(256).optional()}),Ece=b({code:UM,stages:ZM,completedAt:ve.datetime().nullable(),lastReportAt:ve.datetime().nullable()});function fx(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 BM=b({ruleId:p(),summary:p()}),Ice=b({version:C(1),verdict:go,org:p(),repo:p(),changeRequest:b({number:P().int(),title:p(),author:p()}),firedRules:x(BM),runUrl:p(),timestamp:p()});var Ace=b({content:p(),embeds:x(b({title:p(),url:p(),description:p(),color:P().int()}))});function bo(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 bo(o,"pass")},get fails(){return bo(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 bo(r,"pass")},get fails(){return bo(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 mx(e,t){let r={kind:"action",action:"send-to-moderation",params:void 0,approve:e.approve??[],deny:e.deny??[],inputs:t,get approved(){return bo(r,"approve")},get denied(){return bo(r,"deny")},after:(...n)=>mx(e,n)};return r}function hx(){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 mx(e,[])},workflow(e){return{kind:"workflow",spec:e}},workflows(e){return e}}}var wo=["change-request.opened","change-request.updated","change-request.closed","comment.created","push"],ri=b({}),Fr={block:ri,label:Mr,"remove-label":Mr,"request-review":b({reviewers:x(te([yc,mf])).optional(),teamReviewers:x(ff).optional()}),"post-comment":bc,lock:bk,close:ri,webhook:ri,discord:ri,"send-to-moderation":ri};var gx=hx();var Kce=Ot*60000;function ni(e){return"n"in e}function KM(e){return"preset"in e}var HM={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6};function GM(e){let[t="0",r="0"]=e.split(":");return{hour:Number(t),minute:Number(r)}}function yx(e){if(ni(e))return null;if(!KM(e))return e.cron.trim();if(e.preset==="hourly")return`${e.minute} * * * *`;let{hour:t,minute:r}=GM(e.at);switch(e.preset){case"daily":return`${r} ${t} * * *`;case"weekdays":return`${r} ${t} * * 1-5`;case"weekly":return`${r} ${t} * * ${HM[e.on]}`;case"monthly":return`${r} ${t} ${e.day} * *`;default:return null}}function bx(e){return e?{zone:e,defaulted:!1}:{zone:Yt,defaulted:!0}}var JM={hours:["hour","hours"],days:["day","days"],weeks:["week","weeks"],months:["month","months"]};function wx(e){let[t,r]=JM[e.unit];return`${e.n} ${e.n===1?t:r}`}var Rn="09:00",Nc=gf.options,Oc=new Map([...Nc.flatMap((e,t)=>[e,`${e}s`,e.slice(0,3)].map((r)=>[r,t])),["tues",2],["thur",4],["thurs",4]]),YM=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})),XM=new Map(Object.entries({m:"minutes",h:"hours",d:"days",w:"weeks"})),_x=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"})),vx=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"})),QM=new Map(Object.entries({utc:Yt,gmt:Yt,z:Yt})),eq=["Asia/Kolkata","Europe/Kyiv","Asia/Ho_Chi_Minh","America/Argentina/Buenos_Aires"],tq=["Berlin","London","New York","Los Angeles","Chicago","Denver","Toronto","Paris","Amsterdam","Madrid","Stockholm","Tokyo","Singapore","Sydney","Kolkata","Sao Paulo"],Pc=null;function Lf(e){return(e.split("/").at(-1)??e).replaceAll("_"," ")}function Ox(){if(Pc)return Pc;let e=Intl.supportedValuesOf("timeZone"),t=new Map,r=new Map,n=eq.filter(Hs);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=tq.filter((i)=>t.has(i.toLowerCase())),s=[...t.values()].map(Lf).filter((i)=>!o.includes(i)).sort((i,a)=>i.localeCompare(a));return Pc={byCity:t,byId:r,cities:[...o,...s]},Pc}function rq(e){return e.split("/").map((t)=>t.split("_").map((r)=>`${r.charAt(0).toUpperCase()}${r.slice(1)}`).join("_")).join("/")}function nq(e){let t=e.toLowerCase(),r=QM.get(t);if(r)return r;if(!t.includes("/"))return null;let n=Ox().byId.get(t);if(n)return n;let o=rq(t);return Hs(o)?o:null}function Df(e){return Ox().byCity.get(e.join(" ").toLowerCase())??null}function Px(e){if(e===Yt)return e;let t=Lf(e);return Df([t])===e?t:e}function oq(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 Ix(e,t=new Date){return e===Yt?e:`${e}, ${oq(e,t)}`}function Sx(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 vo(e){return String(e).padStart(2,"0")}function jf(e,t){return`${vo(e)}:${vo(t)}`}function Mf(e){let r=e%100>=11&&e%100<=13?"th":["th","st","nd","rd"][e%10]??"th";return`${e}${r}`}function si(e){return`${e.charAt(0).toUpperCase()}${e.slice(1)}`}function So(e){if(e.length<=1)return e[0]??"";return`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`}function Ic(e){if(e===void 0)return null;if(/^\d{1,4}$/.test(e))return Number(e);return YM.get(e)??null}function sq(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 iq=new Set(["shorter","short","those","the","months","month"]);function _o(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?_o(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(!(Ic(e)!==null||t||vx.has(e)||Oc.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(iq.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=XM.get(a)??_x.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=Ic(t);if(n===null)return!1;let o=this.lower(1)??"",s=_x.get(o),i=this.word();if(s&&i)return this.setInterval(n,s,this.take(2),_o(i,i),o),!0;if(e&&i)return this.read.interval={...this.take(1),n,unit:null,count:_o(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=vx.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(Oc.get(this.lower(e)??"")===void 0)return!1;let t=[],r=e;while(!0){let s=Oc.get(this.lower(r)??"");if(s!==void 0){t.push(s),r+=1;continue}let i=this.lower(r);if((i==="and"||i==="&")&&Oc.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=Ic(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=Ic(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=sq(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?nq(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 oi(e){return e.replace(/\s+,/g,",").replace(/,(\s*,)+/g,",").replace(/\s{2,}/g," ").replace(/^[\s,]+|[\s,]+$/g,"")}function Ut(e,t,r){return oi(`${e.slice(0,t.from)}${r}${e.slice(t.to)}`)}function Ac(e,t){return t.time?e:`${e} at ${Rn}`}var aq={minutes:["minute","minutes"],hours:["hour","hours"],days:["day","days"],weeks:["week","weeks"],months:["month","months"]};function zc(e,t){let[r,n]=aq[t];return`${e} ${e===1?r:n}`}function Ax(e){return si(Nc[e]??"")}function xx(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 ${So(e.days.map(Ax))}`:"Every week"}}function cq(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 ${zc(c.n,c.unit)}`:"Repeats");if(a)s("base",u&&i?{from:i.from,to:a.to}:a,"cadence",xx(a));if(s("weekdays",t.weekdaySpan,"cadence",xx(a??{from:0,to:0,kind:"weekly",days:[]})),t.day)s("day",t.day,"day",`The ${So(Rx(t.day).map(Mf))} of the month`);if(t.time)s("time",t.time,"time",t.time.valid?So(Cx(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 :${vo(t.minute.value)}`);if(t.zone)s("zone",t.zone,"zone",Ix(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 uq=[5,6,10,12,15,20,30];function lq(e){return uq.reduce((t,r)=>Math.abs(r-e)<Math.abs(t-e)?r:t)}function dq(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 pq(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.`,[dq(e,r)],n);if(o<60||o%60!==0){if(t.time||t.minute)return $x(e,t,[]);if(o>60||60%o!==0){let c=lq(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 $x(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=Js[s];if(o<1||o*a>wc){let c=Math.floor(wc/a);return Se("invalid","Runs must be at most 52 weeks apart.",[{label:`Use ${zc(c,s)}`,text:Ut(e,r,zc(c,s))}],n)}return{ok:!0,every:i,timezone:void 0}}function $x(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 fq=new Map([[29,"February has no 29th most years."],[30,"February has no 30th."],[31,"Five months have no 31st."]]);function mq(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:Ac(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:Ac(`${oi(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?Rx(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",fq.get(o.value)??"",[{label:"Skip those months",text:`${Ac(oi(e),t)}, skipping shorter months`},{label:"Run on the 28th instead",text:Ac(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?`${oi(e)} ${Rn}`:`${oi(e)} at ${Rn}`}]);let i=Cx(t.time),[a]=i;if(i.length===1&&s.length<=1&&a){let f=hq(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(",")} ${gq(n,s)}`,d=_c.safeParse({cron:l});if(!d.success)return Se("invalid",zx(d.error.issues[0]?.message??"this cron does not parse"),[],{time:"fail"});return{ok:!0,every:{cron:d.data.cron},timezone:r}}function Rx(e){return[...new Set(e.values)].sort((t,r)=>t-r)}function Cx(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 hq(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:Nc[o];return e.days.length===1&&s?{preset:"weekly",on:s,at:n}:null}default:return null}}function gq(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*,\-/]*$/,yq=/^[\da-z*][\da-z*,\-/]*$/i;function bq(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:yq;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 zx(e){return`${si(e)}.`}function wq(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?_o(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?_o(S,S):void 0)}else l=w.zone}let f=Nx(a),m=f?si(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:Ix(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=_c.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,_o(s,s),`*/${Ot}`)}]:[];return{ok:!1,reason:w?"floor":"invalid",message:zx(y),fixes:I,tokens:h("fail")}}return{ok:!0,every:{cron:g.data.cron},timezone:l?.id,tokens:h("ok")}}function _q(e,t){if(e.trim()==="")return{ok:!1,reason:"empty",message:"",fixes:[],tokens:[]};let r=Sx(e,/\S+/g),n=bq(r);if(n>0)return wq(e,r,n,t);let o=new qf(Sx(e,/[^\s,]+/g)).run(),s=vq(e,o),i=cq(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 vq(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 pq(e,kq(t))??mq(e,t)}var Sq={hours:"hourly",days:"daily",weeks:"week",months:"monthly"};function kq(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:Sq[t.unit],days:[]},e.interval=void 0,e}var xq={hours:"every 60 minutes",days:"every 24 hours",weeks:"every 7 days"},Rc=Array.from({length:31},(e,t)=>t+1),Cc=[0,1,2,3,4,5,6];function $q(e){let t=(i,a)=>fc(e,i,a),r=Cc.filter((i)=>Rc.every((a)=>t(a,i)));if(Cc.every((i)=>Rc.every((a)=>t(a,i)===r.includes(i))))return r.length===7?{kind:"daily"}:{kind:"weekly",days:r};let o=Rc.filter((i)=>Cc.every((a)=>t(i,a)));return Rc.every((i)=>Cc.every((a)=>t(i,a)===o.includes(i)))?{kind:"monthly",days:o}:null}function Ex(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 Eq=4;function Tx(e){return(e+6)%7}function Tq(e){if(e.kind==="daily")return"every day";if(e.kind==="monthly")return e.days.length===0?null:`monthly on the ${So(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)=>Tx(n)-Tx(o)).map(Ax);return r.length===0?null:`every ${So(r)}`}function Oq(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 :${vo(i)}`;let d=Ex(r,60);return d?`every ${d} minutes`:null}let a=Ex(n,24);if(r.length===1&&i!==void 0&&a&&n.length>2)return s?`every ${a} hours at :${vo(i)}`:null;if(r.length*n.length>Eq)return null;let c=Tq(o);if(!c)return null;let u=n.flatMap((d)=>r.map((f)=>jf(d,f))),l=`${c} at ${So(u)}`;if(o.kind!=="monthly"||o.days.every((d)=>d<=28))return l;return o.days.length===1?`${l}, skipping shorter months`:null}function Nx(e){let t=Oq(e);if(!t)return null;let r=_q(t,new Date(0)),n=r.ok?yx(r.every):null;return n!==null&&pk(n,e)?t:null}function Pq(e){if(ni(e)){if(e.n===1)return xq[e.unit];return`every ${zc(e.n,e.unit)}`}if("preset"in e)switch(e.preset){case"hourly":return e.minute===0?"every hour":`every hour at :${vo(e.minute)}`;case"daily":return`every day at ${e.at}`;case"weekdays":return`weekdays at ${e.at}`;case"weekly":return`every ${si(e.on)} at ${e.at}`;default:return`monthly on the ${Mf(e.day)} at ${e.at}`}let t=e.cron.trim();return Nx(t)??t}function Iq(e){let t=Pq(e.every);if(ni(e.every)||!e.timezone)return t;return`${t} in ${Px(e.timezone)}`}function Aq(e){return Iq({every:e.every,timezone:ni(e.every)?void 0:e.timezone??Yt})}function ii(e){return si(Aq(e))}var Qce=["every",...Nc,"weekdays","weekends","minutes","hours","days","weeks","month","monthly","daily","hourly","weekly","noon","midnight"],eue=["",` at ${Rn}`,` ${Rn}`,":00"," days"," minutes",` on the 1st at ${Rn}`," 5 days"];var Rq={issue:"issues","change-request":"change requests"},Cq={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 zq(e){let t=e?.match??{},r=["issue","change-request"].filter((o)=>t.subjects?.includes(o)),n=e?.every?[{key:"every",text:ii({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:Cq[t.state]}:{key:"state",text:"open or closed",placeholder:!0},{key:"gap",text:" "},r.length>0?{key:"subjects",text:Ff(r.map((o)=>Rq[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 ${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 Lx(e){return zq(e).map((t)=>t.placeholder?`[${t.text}]`:t.text).join("")}var Nq=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 Dx(e){let t=e.map(String).filter((r)=>!/^\d+$/.test(r)).join(".");return Nq.get(t)??null}function Lq(e){return/[.?]$/.test(e)?e:`${e}.`}function qx(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 Dq(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 jx(e,t){let r=0;for(let n of t)if(n===e[r])r++;return r===e.length}function Mx(e){return e.toLowerCase().replace(/[^a-z0-9]/g,"")}function jq(e,t){let r=Mx(e),n=null;for(let s of t){let i=Mx(s),c=jx(r,i)||jx(i,r)?Math.abs(i.length-r.length)/4:Dq(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 Lc(e,t,r){let n=jq(t,r);return n?`${t} is not ${e}. Did you mean ${n}?`:`${t} is not ${e}. Use one of: ${r.join(", ")}`}var Fx=J(p(),ne());function ai(e,t,r){let n=Fx.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)=>Lc(`a setting of ${r}`,a,o));let i=t.safeParse(n.data);return i.success?[]:i.error.issues.map((a)=>`${r}: ${ho(a)}`)}var Mq=b({kind:z(["trigger","check","gate","action","output"])}),Ux=b({kind:z(["trigger","check","gate","action"])}),qq=b({kind:C("output"),port:z(["pass","fail","approve","deny"])}),Fq=b({}).loose(),Uq=ic((e)=>Ux.safeParse(e).success),Wq=J(p(),b({kind:C("workflow"),spec:ic((e)=>Fq.safeParse(e).success,{error:"each entry must be workflow({ ... })"})}),{error:"the default export must be workflows({ ... })"});function Vq(e){return Object.hasOwn(Fr,e)}function Uf(e){return e.kind==="output"}function Zq(e){return e.kind==="action"&&e.action==="send-to-moderation"}function Bq(e,t){if(e==="pass")return;return t.kind==="trigger"?void 0:e}function Kq(e){switch(e){case"pass":return"fail";case"fail":return"pass";case"approve":return"deny";default:return"approve"}}function Hq(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 Gq=/^[^\p{Cc}]+$/u;class Wx{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=Hq(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=Bq(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(!Mq.safeParse(r).success){this.issue("an input is not a step or a step output",e);continue}if(Uf(r)){if(!qq.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(!Ux.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=Ks.safeParse(n);if(o.success&&(o.data==="schedule.matched"||wo.some((s)=>s===o.data)))r.push(o.data);else this.issue(Lc("an event a workflow can start on",n,wo),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=po.safeParse(e.schedule);if(!n.success){for(let o of n.error.issues)this.issue(Lq(ho(o,Dx)),e);return}this.nodes.push({id:t,type:"trigger",kinds:r,schedule:po.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(Lc("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 ai(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(!Vq(r)){this.issue(Lc("an action",r,Object.keys(Fr)),e);return}let n=Fr[r];for(let a of ai(e.params,n,r))this.issue(a,e);let o=Fx.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(Zq(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(!Gq.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=Uq.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,Kq(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(ho(i));return null}return s.data}}function Wf(e){let t=[],r=[];for(let[n,o]of Object.entries(e)){let s=new Wx(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 Vx(e){let t=Wq.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 Jq(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(Ak(c.action,c.params??{}))}return s}function Yq(e){return e.nodes.flatMap((t)=>{if(t.type!=="trigger"||!t.schedule?.every)return[];let r=bx(t.schedule.timezone),n=Jq(e,t.id),o=Lx(t.schedule);return[{nodeId:t.id,summary:ii({every:t.schedule.every,timezone:t.schedule.timezone}),timezone:r.zone,defaulted:r.defaulted,description:n.length>0?`${o} Then Tripwire ${Sc(n)}.`:`${o} No action runs after it.`}]})}function Zx(e,t){return e.map((r)=>{let n=cx(r,t?{catalog:t}:{});return{id:r.id,name:r.name,valid:!n.some((o)=>o.severity==="error"),issues:n,schedules:Yq(r)}})}var Vf=new Set(["url","signingSecret","urlSet","signingSecretSet"]);function Xq(e){return e.type==="action"&&(e.action==="webhook"||e.action==="discord")}function Bx(e){return{...e,nodes:e.nodes.map((t)=>{if(!Xq(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 vue=x(je),Sue=J(p(),je);var kue=p(),xue=J(p(),je);var $ue=b({}).strict();var Kx=new Set(["cycle","gate-input","not-input","trigger-input","wrong-output","no-outputs","missing-step","duplicate-id"]);function Hx(e){return Qq(e).issues.filter((t)=>Kx.has(t.rule))}function Qq(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)=>Kx.has(o.rule)),canTurnOn:n.length===0,issues:n}}var Dc={on:"Live",off:"Off","cant-run":"Can't run","needs-fixes":"Needs fixes","cant-turn-on":"Can't turn on"};function Gx(e){if(e.enabled){if(!e.runnable)return"cant-run";return e.canTurnOn?"on":"needs-fixes"}return e.canTurnOn?"off":"cant-turn-on"}var ci=nf(()=>b({type:p().optional(),const:ne().optional(),enum:x(ne()).optional(),items:ci.optional(),properties:J(p(),ci).optional(),required:x(p()).optional(),anyOf:x(ci).optional(),oneOf:x(ci).optional()})),Mc=J(p(),je),e2=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Cn(e){return e2.test(e)?e:JSON.stringify(e)}function jc(e,t){let r=e.anyOf??e.oneOf;if(r)return r.map((n)=>jc(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?jc(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
|
-
${c.data.map((l)=>`${a}${
|
|
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 u=
|
|
247
|
-
${l.map(([d,f])=>{let m=`${
|
|
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 X0(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 ym(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 gm(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}ym(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:VF(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 ym(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 VF(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 Q0(e,t,r,n){let o=t.slice(),i=gm(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 Ln(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 Ln(e,{offset:d,length:f-d,content:""},n)}else return Ln(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 Ln(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 Ln(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 Ln(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 Ln(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 Ln(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=hm(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 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 n$=X0;var r$;(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"})(r$||(r$={}));function bm(e,t,r,n){return Q0(e,t,r,n)}function wm(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 o$=J(p(),Sr()),XF=J(p(),Sr()),s$={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 HF(e,"utf8")}catch{return null}}function vm(e,t){KF(YF(e),{recursive:!0});let r=`${e}.tripwire-${process.pid}.tmp`;JF(r,t),GF(r,e)}function Ve(e,t,r,n,o={}){let s=eU(vi(e),e,t,r,n,o);if(s.outcome!=="unchanged")vm(e,s.text);return s.outcome}var Sm=J(p(),ne());function fe(e,t,r,n=["url"]){try{let o=Sm.parse(_m(tU(e,"utf8"))),s=Sm.safeParse(o[t]);if(!s.success||!(r in s.data))return null;let i=Sm.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 rU=[".vscode",".vscode-insiders",".cursor",".windsurf"];function eu(e,t){let r=`${t.toLowerCase()}-`;return rU.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 oU(e){return Si(e,nU(e.home,".config","amp"),["settings.json","settings.jsonc"],"settings.json")}function i$(e){return fe(oU(e),"amp.mcpServers",q)}function a$(e){return{id:"amp",name:"Amp",signInHint:"the browser sign-in Amp opens when it starts",detect:()=>e.which("amp")!==null,hasServer:async()=>i$(e)!==null,addServer:(t)=>Vr(e,{binary:e.which("amp")??"amp",display:"amp",addArgs:["mcp","add",q,t],removeArgs:["mcp","remove",q],current:i$(e),url:t}),skillsDirs:()=>[Ze(e)],login:()=>null}}import{join as xm}from"node:path";function km(e){return xm(e.home,".gemini","config","mcp_config.json")}function c$(e){return Ge(e,rr(e,["Antigravity"]))}function u$(e){return{id:"antigravity",name:"Google Antigravity",signInHint:"/mcp inside agy, or Settings > Customizations in Antigravity",detect:()=>e.which("agy")!==null||c$(e),hasServer:async()=>fe(km(e),"mcpServers",q,["serverUrl","url"])!==null,addServer:async(t)=>({target:km(e),outcome:Ve(km(e),"mcpServers",q,{serverUrl:t})}),skillsDirs:()=>{let t=[];if(e.which("agy")!==null)t.push(xm(e.home,".gemini","antigravity-cli","skills"));if(c$(e))t.push(xm(e.home,".gemini","config","skills"));return t},login:()=>null}}import{join as tu}from"node:path";function sU(e){return e.env.CLAUDE_CONFIG_DIR||tu(e.home,".claude")}function l$(e){return e.env.CLAUDE_CONFIG_DIR?tu(e.env.CLAUDE_CONFIG_DIR,".claude.json"):tu(e.home,".claude.json")}function iU(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 d$(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 Pt(e,t(),["mcp","remove",q,"--scope","user"]);return await Pt(e,t(),r(n)),{target:o,outcome:s===null?"added":"updated"}},skillsDirs:()=>[tu(sU(e),"skills")],login:()=>({command:t(),args:["mcp","login",q],status:()=>Oo(e,t(),["mcp","get",q],iU)})}}import{join as $m}from"node:path";function aU(e){return e.env.CLINE_DIR||$m(e.home,".cline")}function ru(e){return e.env.CLINE_MCP_SETTINGS_PATH||$m(aU(e),"data","settings","cline_mcp_settings.json")}function p$(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:()=>[$m(e.home,".cline","skills")],login:()=>null}}import{readFileSync as cU}from"node:fs";import{join as Em}from"node:path";function uU(e){return e.env.CODEX_HOME||Em(e.home,".codex")}function lU(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 dU=x(b({name:p(),auth_status:p().nullish()}));function pU(e){try{let t=dU.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 f$(e){try{return lU(cU(Em(uU(e),"config.toml"),"utf8"),q)}catch{return null}}function m$(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()=>f$(e)!==null,addServer:async(n)=>{let o=lt("codex",r(n)),s=f$(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:()=>[Em(e.home,".agents","skills")],login:()=>({command:t(),args:["mcp","login",q],status:()=>Oo(e,t(),["mcp","list","--json"],pU)})}}import{join as h$}from"node:path";function fU(e){return h$(e.env.COPILOT_HOME||h$(e.home,".copilot"),"mcp-config.json")}function g$(e){return fe(fU(e),"mcpServers",q)}function y$(e){return{id:"copilot",name:"GitHub Copilot CLI",signInHint:"/mcp auth tripwire inside Copilot CLI",detect:()=>e.which("copilot")!==null,hasServer:async()=>g$(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:g$(e),url:t}),skillsDirs:()=>[Ze(e)],login:()=>null}}import{join as nu}from"node:path";function mU(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 Tm(e){return nu(e.home,".cursor","mcp.json")}function b$(e){return{id:"cursor",name:"Cursor",signInHint:"the MCP settings in Cursor",detect:()=>e.which("cursor")!==null||Ge(e,mU(e)),hasServer:async()=>fe(Tm(e),"mcpServers",q)!==null,addServer:async(t)=>({target:Tm(e),outcome:Ve(Tm(e),"mcpServers",q,{url:t})}),skillsDirs:()=>[nu(e.home,".agents","skills")],login:()=>null}}import{join as It}from"node:path";var w$="mcp_config.json";function hU(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 S$(e){return It(e.home,".codeium","windsurf")}function k$(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 Om(e){return e.which("devin")!==null||Ge(e,k$(e,"Devin"))}function ki(e){return e.which("windsurf")!==null||Ge(e,k$(e,"Windsurf"))}function _$(e){let t=[];if(Om(e)||!ki(e))t.push(It(hU(e),w$));if(ki(e))t.push(It(S$(e),w$));return t}var v$={unchanged:0,updated:1,added:2};function x$(e){return{id:"devin",name:"Devin Desktop (Windsurf)",signInHint:"the MCP settings in Devin Desktop",detect:()=>Om(e)||ki(e),hasServer:async()=>_$(e).some((t)=>fe(t,"mcpServers",q)!==null),addServer:async(t)=>{let r=_$(e),o=r.map((s)=>Ve(s,"mcpServers",q,{serverUrl:t})).reduce((s,i)=>v$[i]>v$[s]?i:s,"unchanged");return{target:r.join(", "),outcome:o}},skillsDirs:()=>{let t=[];if(Om(e)||!ki(e))t.push(It(e.home,".agents","skills"));if(ki(e))t.push(It(S$(e),"skills"));return t},login:()=>null}}import{join as gU}from"node:path";function $$(e){return fe(gU(e.home,".factory","mcp.json"),"mcpServers",q)}function E$(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 yU}from"node:path";function bU(e){return yU(e.env.GEMINI_CLI_HOME||e.home,".gemini","settings.json")}function T$(e){return fe(bU(e),"mcpServers",q,["httpUrl","url"])}function O$(e){return{id:"gemini",name:"Gemini CLI",signInHint:"/mcp auth tripwire inside Gemini CLI",detect:()=>e.which("gemini")!==null,hasServer:async()=>T$(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:T$(e),url:t}),skillsDirs:()=>[Ze(e)],login:()=>null}}import{join as Gu}from"node:path";var IH=Th(),AH=qi(),RH=dh(),Mh=Fi(),CH=Ei(),Qr=ce(),zH=Hr(),NH=ze(),LH=Jr(),DH=Yr(),ame=Uu(),jH=Lh(),MH=Dh(),qH=jh(),Bu=LT(),DT=xi();var FH=IH.Composer,UH=AH.Document,WH=RH.Schema,{YAMLError:VH,YAMLParseError:ZH,YAMLWarning:BH}=Mh,KH=CH.Alias,{isAlias:HH,isCollection:GH,isDocument:JH,isMap:Ku,isNode:YH,isPair:XH,isScalar:QH,isSeq:eG}=Qr,tG=zH.Pair,rG=NH.Scalar,nG=LH.YAMLMap,oG=DH.YAMLSeq;var sG=jH.Lexer,iG=MH.LineCounter,aG=qH.Parser,{parse:cG,parseAllDocuments:uG,parseDocument:Hu,stringify:lG}=Bu,{visit:dG,visitAsync:pG}=DT;var fG=J(p(),Sr());function qh(e,t,r){if(e===null)return null;let n=Hu(e);if(n.errors.length>0)return null;let o=J(p(),ne()).nullable().safeParse(n.toJS()),s=J(p(),ne()).safeParse(o.success?o.data?.[t]:void 0);if(!(s.success&&(r in s.data)))return null;let i=fG.safeParse(s.data[r]);return i.success?i.data:{}}function mG(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=qh(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 jT(e,t,r,n){let o=mG(vi(e),e,t,r,n);if(o.outcome!=="unchanged")vm(e,o.text);return o.outcome}var MT="extensions";function Fh(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 qT(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()=>qh(vi(Fh(e)),MT,q)!==null,addServer:async(t)=>({target:Fh(e),outcome:jT(Fh(e),MT,q,{type:"streamable_http",name:q,enabled:!0,uri:t,headers:{},env_keys:[],envs:{},timeout:300})}),skillsDirs:()=>[Ze(e)],login:()=>null}}function FT(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 UT}from"node:path";function Uh(e){return UT(e.home,".kiro","settings","mcp.json")}function WT(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(Uh(e),"mcpServers",q)!==null,addServer:async(t)=>({target:Uh(e),outcome:Ve(Uh(e),"mcpServers",q,{url:t})}),skillsDirs:()=>[UT(e.home,".kiro","skills")],login:()=>null}}import{join as hG}from"node:path";function Wh(e){return hG($r(e),"muse","settings.json")}function VT(e){return{id:"muse",name:"Muse Code",signInHint:"muse mcp login tripwire",detect:()=>e.which("muse")!==null,hasServer:async()=>fe(Wh(e),"mcp_servers",q)!==null,addServer:async(t)=>({target:Wh(e),outcome:Ve(Wh(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 ZT}from"node:path";var gG=new RegExp(`${String.fromCharCode(27)}\\[[0-9;]*m`,"g");function yG(e){let t=e.replace(gG,"").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 BT(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"],yG)}:null}}}function KT(e){return BT(e,{id:"opencode",name:"OpenCode",binaries:["opencode"],apps:["OpenCode"],extensionId:null,configPath:(t)=>Si(t,ZT($r(t),"opencode"),["opencode.json","opencode.jsonc"],"opencode.json")})}function HT(e){return BT(e,{id:"kilo",name:"Kilo Code",binaries:["kilo","kilocode"],apps:[],extensionId:"kilocode.kilo-code",configPath:(t)=>Si(t,t.env.KILO_CONFIG_DIR||ZT($r(t),"kilo"),["kilo.jsonc","kilo.json","opencode.jsonc","opencode.json"],"kilo.json")})}import{join as Ct}from"node:path";var bG="Visual Studio Code.app";function YT(e){return Ct(e.env.LOCALAPPDATA||Ct(e.home,"AppData","Local"),"Programs","Microsoft VS Code")}function XT(e){if(e.platform==="darwin")return e.macAppDirs.map((t)=>Ct(t,bG));if(e.platform==="win32")return[Ct(YT(e),"Code.exe")];return[]}function wG(e){if(e.platform==="darwin")return XT(e).map((t)=>Ct(t,"Contents","Resources","app","bin","code"));if(e.platform==="win32")return[Ct(YT(e),"bin","code.cmd")];return[]}function GT(e){let t=e.which("code");if(t)return t;return wG(e).find((r)=>e.exists(r))??null}function JT(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 QT(e){return{id:"vscode",name:"VS Code",signInHint:"the MCP server list in VS Code",detect:()=>GT(e)!==null||Ge(e,XT(e)),hasServer:async()=>fe(JT(e),"servers",q)!==null,addServer:async(t)=>{let r=JT(e),n=fe(r,"servers",q),s=["--add-mcp",JSON.stringify({name:q,type:"http",url:t})],i=GT(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 Vh(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 eO(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(Vh(e),"context_servers",q)!==null,addServer:async(t)=>({target:Vh(e),outcome:Ve(Vh(e),"context_servers",q,{url:t})}),skillsDirs:()=>[Ze(e)],login:()=>null}}function tO(e){return[d$(e),m$(e),b$(e),QT(e),x$(e),FT(e),KT(e),O$(e),u$(e),y$(e),a$(e),E$(e),p$(e),HT(e),WT(e),eO(e),qT(e),VT(e)]}var _G=[["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 rO(e){let t=e.AI_AGENT?.toLowerCase();if(t){let r=_G.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 vG}from"node:child_process";function SG(e){if(e==="darwin")return[["pbcopy"]];if(e==="win32")return[["clip"]];return[["wl-copy"],["xclip","-selection","clipboard"],["xsel","--clipboard","--input"]]}function kG(e,t,r,n){return new Promise((o)=>{let s=vG(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 nO(e,t){for(let[r,...n]of SG(e.platform)){let o=r?e.which(r):null;if(o&&await kG(o,n,t,e.env))return!0}return!1}var xG=`Use the \`${Us}\` skill for this project.`;function oO(e){let t=e?.trim();if(!t)return xG;let r=px(t);if(r)return fx(r);return`Tripwire was just installed. ${t}`}import{mkdirSync as TG,readFileSync as OG,renameSync as PG,writeFileSync as IG}from"node:fs";import{join as aO}from"node:path";var sO=`---
|
|
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 XG(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?Gh(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 yO(e,t){let r=Hh(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 Hh(e);if(e.platform==="darwin"){let t=e.which("security");if(t)return yO(YG(e,t),e)}if(e.platform==="linux"){let t=e.which("secret-tool");if(t)return yO(XG(e,t),e)}return Hh(e)}class Ki extends Error{constructor(e="Not signed in. Run tripwire login."){super(e);this.name="NotSignedInError"}}var QG=30000;async function Jh(e,t){let r=co(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-QG<t.now()){let i=await sk(t,s).catch((a)=>{if(a instanceof Vs)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 bO=[Uo,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],en="io.modelcontextprotocol/related-task",nl="2.0",qe=ic((e)=>e!==null&&(typeof e==="object"||typeof e==="function")),wO=te([p(),P().int()]),_O=p(),ige=xe({ttl:P().optional(),pollInterval:P().optional()}),r3=b({ttl:P().optional()}),n3=b({taskId:p()}),Yh=xe({progressToken:wO.optional(),[en]:n3.optional()}),kt=b({_meta:Yh.optional()}),Hi=kt.extend({task:r3.optional()}),vO=(e)=>Hi.safeParse(e).success,Je=b({method:p(),params:kt.loose().optional()}),zt=b({_meta:Yh.optional()}),Nt=b({method:p(),params:zt.loose().optional()}),Ye=xe({_meta:Yh.optional()}),ol=te([p(),P().int()]),SO=b({jsonrpc:C(nl),id:ol,...Je.shape}).strict(),Gi=(e)=>SO.safeParse(e).success,kO=b({jsonrpc:C(nl),...Nt.shape}).strict(),xO=(e)=>kO.safeParse(e).success,Xh=b({jsonrpc:C(nl),id:ol,result:Ye}).strict(),Vn=(e)=>Xh.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 Qh=b({jsonrpc:C(nl),id:ol.optional(),error:b({code:P().int(),message:p(),data:ne().optional()})}).strict();var $O=(e)=>Qh.safeParse(e).success;var sl=te([SO,kO,Xh,Qh]),age=te([Xh,Qh]),Zn=Ye.strict(),o3=zt.extend({requestId:ol.optional(),reason:p().optional()}),il=Nt.extend({method:C("notifications/cancelled"),params:o3}),s3=b({src:p(),mimeType:p().optional(),sizes:x(p()).optional(),theme:z(["light","dark"]).optional()}),Ji=b({icons:x(s3).optional()}),Fo=b({name:p(),title:p().optional()}),EO=Fo.extend({...Fo.shape,...Ji.shape,version:p(),websiteUrl:p().optional(),description:p().optional()}),i3=sc(b({applyDefaults:j().optional()}),J(p(),ne())),a3=ac((e)=>{if(e&&typeof e==="object"&&!Array.isArray(e)){if(Object.keys(e).length===0)return{form:{}}}return e},sc(b({form:i3.optional(),url:qe.optional()}),J(p(),ne()).optional())),c3=xe({list:qe.optional(),cancel:qe.optional(),requests:xe({sampling:xe({createMessage:qe.optional()}).optional(),elicitation:xe({create:qe.optional()}).optional()}).optional()}),u3=xe({list:qe.optional(),cancel:qe.optional(),requests:xe({tools:xe({call:qe.optional()}).optional()}).optional()}),l3=b({experimental:J(p(),qe).optional(),sampling:b({context:qe.optional(),tools:qe.optional()}).optional(),elicitation:a3.optional(),roots:b({listChanged:j().optional()}).optional(),tasks:c3.optional(),extensions:J(p(),qe).optional()}),d3=kt.extend({protocolVersion:p(),capabilities:l3,clientInfo:EO}),p3=Je.extend({method:C("initialize"),params:d3});var f3=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:u3.optional(),extensions:J(p(),qe).optional()}),eg=Ye.extend({protocolVersion:p(),capabilities:f3,serverInfo:EO,instructions:p().optional()}),TO=Nt.extend({method:C("notifications/initialized"),params:zt.optional()}),OO=(e)=>TO.safeParse(e).success,al=Je.extend({method:C("ping"),params:kt.optional()}),m3=b({progress:P(),total:ke(P()),message:ke(p())}),h3=b({...zt.shape,...m3.shape,progressToken:wO}),cl=Nt.extend({method:C("notifications/progress"),params:h3}),g3=kt.extend({cursor:_O.optional()}),Yi=Je.extend({params:g3.optional()}),Xi=Ye.extend({nextCursor:_O.optional()}),y3=z(["working","input_required","completed","failed","cancelled"]),Qi=b({taskId:p(),status:y3,ttl:te([P(),Fs()]),createdAt:p(),lastUpdatedAt:p(),pollInterval:ke(P()),statusMessage:ke(p())}),Bn=Ye.extend({task:Qi}),b3=zt.merge(Qi),ea=Nt.extend({method:C("notifications/tasks/status"),params:b3}),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()})}),cge=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()})}),PO=Ye.merge(Qi),IO=b({uri:p(),mimeType:ke(p()),_meta:J(p(),ne()).optional()}),AO=IO.extend({text:p()}),tg=p().refine((e)=>{try{return atob(e),!0}catch{return!1}},{message:"Invalid Base64 string"}),RO=IO.extend({blob:tg}),ta=z(["user","assistant"]),Wo=b({audience:x(ta).optional(),priority:P().min(0).max(1).optional(),lastModified:BS({offset:!0}).optional()}),CO=b({...Fo.shape,...Ji.shape,uri:p(),description:ke(p()),mimeType:ke(p()),size:ke(P()),annotations:Wo.optional(),_meta:ke(xe({}))}),w3=b({...Fo.shape,...Ji.shape,uriTemplate:p(),description:ke(p()),mimeType:ke(p()),annotations:Wo.optional(),_meta:ke(xe({}))}),_3=Yi.extend({method:C("resources/list")}),rg=Xi.extend({resources:x(CO)}),v3=Yi.extend({method:C("resources/templates/list")}),ng=Xi.extend({resourceTemplates:x(w3)}),og=kt.extend({uri:p()}),S3=og,k3=Je.extend({method:C("resources/read"),params:S3}),sg=Ye.extend({contents:x(te([AO,RO]))}),ig=Nt.extend({method:C("notifications/resources/list_changed"),params:zt.optional()}),x3=og,$3=Je.extend({method:C("resources/subscribe"),params:x3}),E3=og,T3=Je.extend({method:C("resources/unsubscribe"),params:E3}),O3=zt.extend({uri:p()}),P3=Nt.extend({method:C("notifications/resources/updated"),params:O3}),I3=b({name:p(),description:ke(p()),required:ke(j())}),A3=b({...Fo.shape,...Ji.shape,description:ke(p()),arguments:ke(x(I3)),_meta:ke(xe({}))}),R3=Yi.extend({method:C("prompts/list")}),ag=Xi.extend({prompts:x(A3)}),C3=kt.extend({name:p(),arguments:J(p(),p()).optional()}),z3=Je.extend({method:C("prompts/get"),params:C3}),cg=b({type:C("text"),text:p(),annotations:Wo.optional(),_meta:J(p(),ne()).optional()}),ug=b({type:C("image"),data:tg,mimeType:p(),annotations:Wo.optional(),_meta:J(p(),ne()).optional()}),lg=b({type:C("audio"),data:tg,mimeType:p(),annotations:Wo.optional(),_meta:J(p(),ne()).optional()}),N3=b({type:C("tool_use"),name:p(),id:p(),input:J(p(),ne()),_meta:J(p(),ne()).optional()}),L3=b({type:C("resource"),resource:te([AO,RO]),annotations:Wo.optional(),_meta:J(p(),ne()).optional()}),D3=CO.extend({type:C("resource_link")}),dg=te([cg,ug,lg,D3,L3]),j3=b({role:ta,content:dg}),pg=Ye.extend({description:p().optional(),messages:x(j3)}),fg=Nt.extend({method:C("notifications/prompts/list_changed"),params:zt.optional()}),M3=b({title:p().optional(),readOnlyHint:j().optional(),destructiveHint:j().optional(),idempotentHint:j().optional(),openWorldHint:j().optional()}),q3=b({taskSupport:z(["required","optional","forbidden"]).optional()}),zO=b({...Fo.shape,...Ji.shape,description:p().optional(),inputSchema:b({type:C("object"),properties:J(p(),qe).optional(),required:x(p()).optional()}).catchall(ne()),outputSchema:b({type:C("object"),properties:J(p(),qe).optional(),required:x(p()).optional()}).catchall(ne()).optional(),annotations:M3.optional(),execution:q3.optional(),_meta:J(p(),ne()).optional()}),F3=Yi.extend({method:C("tools/list")}),mg=Xi.extend({tools:x(zO)}),Or=Ye.extend({content:x(dg).default([]),structuredContent:J(p(),ne()).optional(),isError:j().optional()}),uge=Or.or(Ye.extend({toolResult:ne()})),U3=Hi.extend({name:p(),arguments:J(p(),ne()).optional()}),W3=Je.extend({method:C("tools/call"),params:U3}),hg=Nt.extend({method:C("notifications/tools/list_changed"),params:zt.optional()}),NO=b({autoRefresh:j().default(!0),debounceMs:P().int().nonnegative().default(300)}),LO=z(["debug","info","notice","warning","error","critical","alert","emergency"]),V3=kt.extend({level:LO}),Z3=Je.extend({method:C("logging/setLevel"),params:V3}),B3=zt.extend({level:LO,logger:p().optional(),data:ne()}),K3=Nt.extend({method:C("notifications/message"),params:B3}),H3=b({name:p().optional()}),G3=b({hints:x(H3).optional(),costPriority:P().min(0).max(1).optional(),speedPriority:P().min(0).max(1).optional(),intelligencePriority:P().min(0).max(1).optional()}),J3=b({mode:z(["auto","required","none"]).optional()}),Y3=b({type:C("tool_result"),toolUseId:p().describe("The unique identifier for the corresponding tool call."),content:x(dg).default([]),structuredContent:b({}).loose().optional(),isError:j().optional(),_meta:J(p(),ne()).optional()}),X3=vr("type",[cg,ug,lg]),rl=vr("type",[cg,ug,lg,N3,Y3]),Q3=b({role:ta,content:te([rl,x(rl)]),_meta:J(p(),ne()).optional()}),eJ=Hi.extend({messages:x(Q3),modelPreferences:G3.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(zO).optional(),toolChoice:J3.optional()}),gg=Je.extend({method:C("sampling/createMessage"),params:eJ}),yg=Ye.extend({model:p(),stopReason:ke(z(["endTurn","stopSequence","maxTokens"]).or(p())),role:ta,content:X3}),bg=Ye.extend({model:p(),stopReason:ke(z(["endTurn","stopSequence","maxTokens","toolUse"]).or(p())),role:ta,content:te([rl,x(rl)])}),tJ=b({type:C("boolean"),title:p().optional(),description:p().optional(),default:j().optional()}),rJ=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()}),nJ=b({type:z(["number","integer"]),title:p().optional(),description:p().optional(),minimum:P().optional(),maximum:P().optional(),default:P().optional()}),oJ=b({type:C("string"),title:p().optional(),description:p().optional(),enum:x(p()),default:p().optional()}),sJ=b({type:C("string"),title:p().optional(),description:p().optional(),oneOf:x(b({const:p(),title:p()})),default:p().optional()}),iJ=b({type:C("string"),title:p().optional(),description:p().optional(),enum:x(p()),enumNames:x(p()).optional(),default:p().optional()}),aJ=te([oJ,sJ]),cJ=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()}),uJ=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()}),lJ=te([cJ,uJ]),dJ=te([iJ,aJ,lJ]),pJ=te([dJ,tJ,rJ,nJ]),fJ=Hi.extend({mode:C("form").optional(),message:p(),requestedSchema:b({type:C("object"),properties:J(p(),pJ),required:x(p()).optional()})}),mJ=Hi.extend({mode:C("url"),message:p(),elicitationId:p(),url:p().url()}),hJ=te([fJ,mJ]),wg=Je.extend({method:C("elicitation/create"),params:hJ}),gJ=zt.extend({elicitationId:p()}),yJ=Nt.extend({method:C("notifications/elicitation/complete"),params:gJ}),_g=Ye.extend({action:z(["accept","decline","cancel"]),content:ac((e)=>e===null?void 0:e,J(p(),te([p(),P(),j(),x(p())])).optional())}),bJ=b({type:C("ref/resource"),uri:p()});var wJ=b({type:C("ref/prompt"),name:p()}),_J=kt.extend({ref:te([wJ,bJ]),argument:b({name:p(),value:p()}),context:b({arguments:J(p(),p()).optional()}).optional()}),vJ=Je.extend({method:C("completion/complete"),params:_J});var vg=Ye.extend({completion:xe({values:x(p()).max(100),total:ke(P().int()),hasMore:ke(j())})}),SJ=b({uri:p().startsWith("file://"),name:p().optional(),_meta:J(p(),ne()).optional()}),kJ=Je.extend({method:C("roots/list"),params:kt.optional()}),xJ=Ye.extend({roots:x(SJ)}),$J=Nt.extend({method:C("notifications/roots/list_changed"),params:zt.optional()}),lge=te([al,p3,vJ,Z3,z3,R3,_3,v3,k3,$3,T3,W3,F3,ul,dl,pl,ml]),dge=te([il,cl,TO,$J,ea]),pge=te([Zn,yg,bg,_g,xJ,ll,fl,Bn]),fge=te([al,gg,wg,kJ,ul,dl,pl,ml]),mge=te([il,cl,K3,P3,ig,hg,fg,ea,yJ]),hge=te([Zn,eg,vg,pg,ag,rg,ng,sg,Or,mg,ll,fl,Bn]);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 DO(n.elicitations,t)}return new Z(e,t,r)}}class DO 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 EJ=Symbol("Let zodToJsonSchema decide on which parser to use");var Hge=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function Sg(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 kg(e,t){let r=Bt(e,t);if(!r.success)throw r.error;return r.data}var RJ=60000;class xg{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),Vn(o)||$O(o))this._onresponse(o);else if(Gi(o))this._onrequest(o,s);else if(xO(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=vO(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),Vn(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(Vn(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(Vn(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,Bn,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??RJ,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},PO,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=Sg(e);this.assertRequestHandlerCapability(r),this._requestHandlers.set(r,(n,o)=>{let s=kg(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=Sg(e);this._notificationHandlers.set(r,(n)=>{let o=kg(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 jO(e){return e!==null&&typeof e==="object"&&!Array.isArray(e)}function MO(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(jO(i)&&jO(s))r[o]={...i,...s};else r[o]=s}return r}var UC=$n(cy(),1),WC=$n(FC(),1);function yee(){let e=new UC.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return WC.default(e),e}class yy{constructor(e){this._ajv=e??yee()}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 by{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 VC(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 ZC(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 bee(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 wy extends xg{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 yy,t?.listChanged)this._pendingListChangedConfig=t.listChanged}_setupListChangedHandlers(e){if(e.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",hg,e.tools,async()=>(await this.listTools()).tools);if(e.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",fg,e.prompts,async()=>(await this.listPrompts()).prompts);if(e.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",ig,e.resources,async()=>(await this.listResources()).resources)}get experimental(){if(!this._experimental)this._experimental={tasks:new by(this)};return this._experimental}registerCapabilities(e){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=MO(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(wg,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}=bee(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(Bn,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(_g,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(gg,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(Bn,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?bg:yg,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}},eg,t);if(r===void 0)throw Error(`Server sent invalid initialize result: ${r}`);if(!bO.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){VC(this._serverCapabilities?.tasks?.requests,e,"Server")}assertTaskHandlerCapability(e){if(!this._capabilities)return;ZC(this._capabilities.tasks?.requests,e,"Client")}async ping(e){return this.request({method:"ping"},Zn,e)}async complete(e,t){return this.request({method:"completion/complete",params:e},vg,t)}async setLoggingLevel(e,t){return this.request({method:"logging/setLevel",params:{level:e}},Zn,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},ag,t)}async listResources(e,t){return this.request({method:"resources/list",params:e},rg,t)}async listResourceTemplates(e,t){return this.request({method:"resources/templates/list",params:e},ng,t)}async readResource(e,t){return this.request({method:"resources/read",params:e},sg,t)}async subscribeResource(e,t){return this.request({method:"resources/subscribe",params:e},Zn,t)}async unsubscribeResource(e,t){return this.request({method:"resources/unsubscribe",params:e},Zn,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},mg,t);return this.cacheToolMetadata(r.tools),r}_setupListChangedHandler(e,t,r,n){let o=NO.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 BC=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g;var wee=/\\([\u000b\u0020-\u00ff])/g;var _ee=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;var KC=vee;function vee(e){if(!e)throw TypeError("argument string is required");var t=typeof e==="object"?See(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(!_ee.test(n))throw TypeError("invalid media type");var o=new kee(n.toLowerCase());if(r!==-1){var s,i,a;BC.lastIndex=r;while(i=BC.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(wee,"$1")}o.parameters[s]=a}if(r!==t.length)throw TypeError("invalid parameter format")}return o}function See(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 kee(e){this.parameters=Object.create(null),this.type=e}function HC(e){if(!e)return;try{return KC(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 GC(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 $ee=5,Eee=[301,302,303,307,308];function Tee(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 JC(e,t){let r=Eee.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=JC(n,t),i=n.status===307||n.status===308||(r?.method??"GET").toUpperCase()==="GET";if(!s||o===$ee||!i)return;let a=new URL(t);if((s.username||s.password)&&(s.username!==a.username||s.password!==a.password)||!Tee(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 YC=new WeakSet;function _y(e){let t=(r,n)=>(e??fetch)(r,n);return YC.add(t),t}function Xn(e=fetch){if(YC.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=JC(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 vy;vy=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((e)=>e.webcrypto);async function Oee(e){return(await vy).getRandomValues(new Uint8Array(e))}async function Pee(e){let r=Math.pow(2,8)-Math.pow(2,8)%66,n="";while(n.length<e){let o=await Oee(e-n.length);for(let s of o)if(s<r)n+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[s%66]}return n}async function Iee(e){return await Pee(e)}async function Aee(e){let t=await(await vy).subtle.digest("SHA-256",new TextEncoder().encode(e));return btoa(String.fromCharCode(...new Uint8Array(t))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function Sy(e){if(!e)e=43;if(e<43||e>128)throw`Expected a length between 43 and 128. Received ${e}.`;let t=await Iee(e),r=await Aee(t);return{code_verifier:t,code_challenge:r}}var Qe=qs().superRefine((e,t)=>{if(!URL.canParse(e))return t.addIssue({code:ZS.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"}),QC=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()}),ky=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()}),Ree=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()}),e1=b({...Ree.shape,...ky.pick({code_challenge_methods_supported:!0}).shape}),t1=b({access_token:p(),id_token:p().optional(),token_type:p(),expires_in:WL().optional(),scope:p().optional(),refresh_token:p().optional(),issuer:p().optional().catch(void 0)}).strip(),r1=b({error:p(),error_description:p().optional(),error_uri:p().optional()}),XC=Qe.optional().or(C("").transform(()=>{return})),Cee=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:XC,scope:p().optional(),contacts:x(p()).optional(),tos_uri:XC,policy_uri:p().optional(),jwks_uri:Qe.optional(),jwks:DS().optional(),software_id:p().optional(),software_version:p().optional(),software_statement:p().optional()}).strip(),zee=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(),n1=Cee.merge(zee),Hve=b({error:p(),error_description:p().optional()}).strip(),Gve=b({token:p(),token_type_hint:p().optional()}).strip();function o1(e){let t=typeof e==="string"?new URL(e):new URL(e.href);return t.hash="",t}function s1({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 i1={[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 Nee(e){return["client_secret_basic","client_secret_post","none"].includes(e)}var xy="code",$y="S256";function Lee(e,t){let r=e.client_secret!==void 0;if("token_endpoint_auth_method"in e&&e.token_endpoint_auth_method&&Nee(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 Dee(e,t,r,n){let{client_id:o,client_secret:s}=t;switch(e){case"client_secret_basic":jee(o,s,r);return;case"client_secret_post":Mee(o,s,n);return;case"none":qee(o,n);return;default:throw Error(`Unsupported client authentication method: ${e}`)}}function jee(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 Mee(e,t,r){if(r.set("client_id",e),t)r.set("client_secret",t)}function qee(e,t){t.set("client_id",e)}async function c1(e){let t=e instanceof Response?e.status:void 0,r=e instanceof Response?await e.text():e;try{let n=r1.parse(JSON.parse(r)),{error:o,error_description:s,error_uri:i}=n;return new(i1[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 Fee(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 Oy(e,t){if(!e)return;if(typeof e.issuer!=="string")return e.issuer==null?e:{...e,issuer:void 0};return Fee(e.issuer,t)?e:void 0}var Uee=t1.omit({issuer:!0}),Wee=n1.omit({issuer:!0});function u1(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 Ey(e,t)}catch(r){if(r instanceof ds||r instanceof fs)return await e.invalidateCredentials?.("all"),await Ey(e,t);else if(r instanceof ps)return await e.invalidateCredentials?.("tokens"),await Ey(e,t);throw r}}async function Ey(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 d1(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 D=await Jee(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=Oy(g,d),w=e.saveClientInformation!==void 0&&!!e.redirectUrl;if(g&&!y&&!w)throw u1(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&&!Vee(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 tte(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 ete(e,c,{metadata:u,resource:m,authorizationCode:r,fetchFn:s});return await S(),await e.saveTokens({...D,issuer:d}),"AUTHORIZED"}let _=Oy(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 Qee(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 Yee(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 Vee(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=o1(e);if(t.validateResourceURL)return await t.validateResourceURL(n,r?.resource);if(!r)return;if(!s1({requestedResource:n,configuredResource:r.resource}))throw Error(`Protected resource ${r.resource} does not match expected ${n} (or origin)`);return new URL(r.resource)}function Py(e){let t=e.headers.get("WWW-Authenticate");if(!t)return{};let[r,n]=t.split(" ");if(r.toLowerCase()!=="bearer"||!n)return{};let o=Ty(e,"resource_metadata")||void 0,s;if(o)try{s=new URL(o)}catch{}let i=Ty(e,"scope")||void 0,a=Ty(e,"error")||void 0;return{resourceMetadataUrl:s,scope:i,error:a}}function Ty(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 Hee(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 QC.parse(await n.json())}async function Iy(e,t,r=fetch){try{return await Xn(r)(e,{headers:t})}catch(n){if(n instanceof TypeError)if(t)return Iy(e,void 0,r);else return;throw n}}function Bee(e,t="",r={}){if(t.endsWith("/"))t=t.slice(0,-1);return r.prependPathname?`${t}/.well-known/${e}`:`/.well-known/${e}${t}`}async function a1(e,t,r=fetch){return await Iy(e,{"MCP-Protocol-Version":t},r)}function Kee(e,t){return!e||!e.ok&&e.status<500&&t!=="/"}async function Hee(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=Bee(t,o.pathname);i=new URL(c,n?.metadataServerUrl??o),i.search=o.search}let a=await a1(i,s,r);if(!n?.metadataUrl&&Kee(a,o.pathname)){let c=new URL(`/.well-known/${t}`,o);a=await a1(c,s,r)}return a}function Gee(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 d1(e,{fetchFn:t=fetch,protocolVersion:r=Uo}={}){let n={"MCP-Protocol-Version":r,Accept:"application/json"},o=Gee(e);for(let{url:s,type:i}of o){let a=await Iy(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 ky.parse(await a.json());else return e1.parse(await a.json())}return}async function Jee(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 d1(n,{fetchFn:t?.fetchFn});return{authorizationServerUrl:n,authorizationServerMetadata:o,resourceMetadata:r}}function p1(e){return typeof e==="string"?e:e.href}async function Yee(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(xy))throw Error(`Incompatible auth server: does not support response type ${xy}`);if(t.code_challenge_methods_supported&&!t.code_challenge_methods_supported.includes($y))throw Error(`Incompatible auth server: does not support code challenge method ${$y}`)}else a=new URL("/authorize",e);let c=await Sy(),{code_verifier:u,code_challenge:l}=c;if(a.searchParams.set("response_type",xy),a.searchParams.set("client_id",r.client_id),a.searchParams.set("code_challenge",l),a.searchParams.set("code_challenge_method",$y),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",p1(i));return{authorizationUrl:a,codeVerifier:u}}function Xee(e,t,r){return new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:t,redirect_uri:String(r)})}async function f1(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",p1(s));if(o)await o(c,r,a,t);else if(n){let l=t?.token_endpoint_auth_methods_supported??[],d=Lee(n,l);Dee(d,n,c,r)}let u=await Xn(i??fetch)(a,{method:"POST",headers:c,body:r});if(!u.ok)throw await c1(u);return Uee.parse(await u.json())}async function Qee(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 f1(e,{metadata:t,tokenRequestParams:a,clientInformation:r,addClientAuthentication:s,resource:o,fetchFn:i});return{refresh_token:n,...c}}async function ete(e,t,{metadata:r,resource:n,authorizationCode:o,fetchFn:s}={}){let i=async()=>{let l=await e.clientInformation(),d=Oy(l,String(t));if(l&&!d)throw u1(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=Xee(o,l,e.redirectUrl)}return a??(a=await i()),f1(t,{metadata:r,tokenRequestParams:u,clientInformation:a,addClientAuthentication:e.addClientAuthentication,resource:n,fetchFn:s})}async function tte(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 Xn(o??fetch)(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...r,...n!==void 0?{scope:n}:{}})});if(!i.ok)throw await c1(i);return Wee.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 m1=10,rte=13,Qn=32;function Ay(e){}function y1(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=Ay,onError:r=Ay,onRetry:n=Ay,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 M1(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(jy(r.issues,t));return null}async function wa(e,t,r,n){let o=await Jh(e.system,e.auth);return await wd(o,r,L1(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 Dte=["on","off","cant-run","needs-fixes","cant-turn-on"],jte=x(xe({id:p(),state:z(Dte).optional(),schedules:x(p()).optional()}));async function Mte(e,t,r){let n=await wa(e,t,"list_workflows",{repo:r}),o=jte.safeParse(n.data);return new Map((o.success?o.data:[]).map((s)=>[s.id,{state:s.state,schedules:s.schedules}]))}function qte(e){return e.kind==="code"?e.definitions.map((t)=>t.id):null}async function Fte(e,t,r,n,o){let s=T1(n,await Mte(e,t,r));if(s.filter((a)=>!a.disabled).length<2)return n;let i=await v1({message:"Pick workflows to pull",items:s,maxVisible:12},O1(s,qte(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 Ute(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 Wte(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=E1(i.data),c=await R1(o.file),u=a;if(n.length>0){let f=P1(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 Fte(e,s,r,a,c);if(!f)return Jc("Pull cancelled"),0;u=f}let l=C1(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} (${A1(l)})`]];if(l.kept.length>0)d.push(["kept",Ute(l.kept)]);return d.push(["helpers",l.module],...l.warnings.map((f)=>["note",f])),st(We(d,s.style)),0})}function Vte(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:qy(i)});if(l.isError){if(s.length>0)xn(jy(s,n));return ba("validate_workflow",l,n)}c=l.data,a=Kte.parse(l.data).workflows}else if(i.length>0)a=Zx(i,I1(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(jy(s,n));if(a.length>0)st(z1(a,n.style));return u?0:1})}function Zte(e,t,r,n){return Sd(t,e,async(o)=>{let s=await M1(n.file,o);if(!s)return 1;let i=await wa(e,o,"validate_workflow",{repo:r,definitions:qy(s)});if(o.json||i.isError)return ba("validate_workflow",i,o);st(j1(i.data,o.style,(u)=>(u.changes??[]).length===0?`${u.id}: no changes`:u.id));let a=My.safeParse(i.data),c=a.success?a.data.workflows.filter((u)=>u.valid===!1):[];for(let u of c){let l=D1(u);xn(m0(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 Bte(e,t,r,n){return Sd(t,e,async(o)=>{let s=await M1(n.file,o);if(!s)return 1;let i=await wa(e,o,"apply_workflow",{repo:r,definitions:qy(s)});if(i.isError)return ba("apply_workflow",i,o);let a=My.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(j1(i.data,o.style,(u)=>[u.id,u.outcome,u.url].filter(Boolean).join(" ")));for(let u of c)xn(Nn(Lte(u,r),o.errStyle));return c.length>0?1:0})}var Kte=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 qy(e){return Sr().parse(JSON.parse(JSON.stringify(e)))}function q1(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)=>Ate(t,a)),e.command("logout").description("Revoke and remove the stored token").action((i,a)=>zte(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(Ite));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)=>Wte(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)=>Vte(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)=>Bte(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(g0(c)),hs(l,t.system));return}return xt(t,l,"decide_moderation",{repo:i,itemId:a,decision:c})})}var Hte=new Set(["install","login","logout","whoami","status","repos","rules","gate","workflows","runs","queue","help"]),Gte=new Set(["--help","-h","--version","-V"]),Jte=new Set(["--org"]);function Yte(e){if(e.some((n)=>Gte.has(n)))return{kind:"run",argv:e};let t=0;while(t<e.length){let n=e[t]??"";if(!n.startsWith("-"))break;t+=Jte.has(n)?2:1}let r=e[t];if(r===void 0)return{kind:"help"};if(Hte.has(r))return{kind:"run",argv:e};return{kind:"unknown",command:r}}async function F1(e,t){let r=Yte(t),n=Qte(e);if(r.kind==="unknown"){process.stderr.write(`${Nn(`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));
|