@aviaratech/ai-delivery 0.3.22 → 0.3.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -6
- package/dist/cli.js +47 -0
- package/dist/cli.js.map +1 -1
- package/dist/delivery/common.d.ts +4 -1
- package/dist/delivery/common.js +49 -6
- package/dist/delivery/common.js.map +1 -1
- package/dist/delivery/stage.d.ts +6 -0
- package/dist/delivery/stage.js +11 -2
- package/dist/delivery/stage.js.map +1 -1
- package/dist/mcp/index.js +2 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/tools.d.ts +1 -0
- package/dist/mcp/tools.js +1 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/pluginInstaller.d.ts +51 -0
- package/dist/pluginInstaller.js +774 -0
- package/dist/pluginInstaller.js.map +1 -0
- package/dist/pluginInstaller.test.d.ts +1 -0
- package/dist/pluginInstaller.test.js +543 -0
- package/dist/pluginInstaller.test.js.map +1 -0
- package/dist/pluginPackaging.test.d.ts +1 -0
- package/dist/pluginPackaging.test.js +116 -0
- package/dist/pluginPackaging.test.js.map +1 -0
- package/dist/setup.d.ts +1 -0
- package/dist/setup.js +71 -10
- package/dist/setup.js.map +1 -1
- package/dist/setup.test.js +584 -199
- package/dist/setup.test.js.map +1 -1
- package/dist/verification.d.ts +61 -0
- package/dist/verification.js +168 -6
- package/dist/verification.js.map +1 -1
- package/package.json +4 -4
- package/plugins/ai-delivery/.claude-plugin/plugin.json +6 -1
- package/plugins/ai-delivery/LICENSE +21 -0
- package/plugins/ai-delivery/README.md +4 -2
- package/plugins/ai-delivery/dist/mcp-launcher.js +19 -8
- package/plugins/ai-delivery/mcp.json +10 -0
- package/plugins/ai-delivery/plugin.json +10 -0
- package/plugins/ai-delivery/runtime/dist/THIRD-PARTY-NOTICES.md +1010 -0
- package/plugins/ai-delivery/runtime/dist/cli.js +285 -0
- package/plugins/ai-delivery/runtime/package.json +13 -0
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire as e}from"node:module";import{closeSync as t,existsSync as n,fstatSync as r,fsyncSync as i,linkSync as a,lstatSync as o,mkdirSync as s,mkdtempSync as c,openSync as l,readFileSync as u,readSync as d,readdirSync as f,readlinkSync as p,realpathSync as m,renameSync as h,rmSync as g,rmdirSync as _,statfsSync as v,unlinkSync as y,writeFileSync as b}from"node:fs";import{execFileSync as x,spawn as ee,spawnSync as S}from"node:child_process";import{basename as te,dirname as C,isAbsolute as ne,join as w,normalize as re,relative as ie,resolve as T,sep as ae}from"node:path";import oe from"node:process";import{createHash as se,createPrivateKey as ce,randomUUID as le,subtle as ue}from"node:crypto";import{fileURLToPath as de,pathToFileURL as fe}from"node:url";import pe,{homedir as me,tmpdir as he}from"node:os";import ge from"node:tty";import{isIP as _e}from"node:net";import{gunzipSync as ve}from"node:zlib";import{PassThrough as ye}from"node:stream";var be=Object.create,xe=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,Ce=Object.getOwnPropertyNames,we=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty,Ee=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},E=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),De=(e,t)=>{let n={};for(var r in e)xe(n,r,{get:e[r],enumerable:!0});return t||xe(n,Symbol.toStringTag,{value:`Module`}),n},Oe=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=Ce(t),a=0,o=i.length,s;a<o;a++)s=i[a],!Te.call(e,s)&&s!==n&&xe(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=Se(t,s))||r.enumerable});return e},ke=(e,t,n)=>(n=e==null?{}:be(we(e)),Oe(t||!e||!e.__esModule||!Te.call(e,`default`)?xe(n,`default`,{value:e,enumerable:!0}):n,e)),Ae=e=>Te.call(e,`module.exports`)?e[`module.exports`]:Oe(xe({},`__esModule`,{value:!0}),e),je=e(import.meta.url),Me=E((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),Ne=E((e=>{var{InvalidArgumentError:t}=Me(),n=class{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}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(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=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),Pe=E((e=>{var{humanReadableArgName:t}=Ne(),n=class{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(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+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(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
|
|
3
|
+
`)}displayWidth(e){return r(e).length}styleTitle(e){return e}styleUsage(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e===`[command]`?this.styleSubcommandText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleCommandText(e)).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(e=>e===`[options]`?this.styleOptionText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleSubcommandText(e)).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,n,r){let i=` `.repeat(2);if(!n)return i+e;let a=e.padEnd(t+e.length-r.displayWidth(e)),o=(this.helpWidth??80)-t-2-2,s;return s=o<this.minWidthToWrap||r.preformatted(n)?n:r.boxWrap(n,o).replace(/\n/g,`
|
|
4
|
+
`+` `.repeat(t+2)),i+a+` `.repeat(2)+s.replace(/\n/g,`\n${i}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let n=e.split(/\r\n|\n/),r=/[\s]*[^\s]+/g,i=[];return n.forEach(e=>{let n=e.match(r);if(n===null){i.push(``);return}let a=[n.shift()],o=this.displayWidth(a[0]);n.forEach(e=>{let n=this.displayWidth(e);if(o+n<=t){a.push(e),o+=n;return}i.push(a.join(``));let r=e.trimStart();a=[r],o=this.displayWidth(r)}),i.push(a.join(``))}),i.join(`
|
|
5
|
+
`)}};function r(e){return e.replace(/\x1b\[\d*(;\d*)*m/g,``)}e.Help=n,e.stripColor=r})),Fe=E((e=>{var{InvalidArgumentError:t}=Me(),n=class{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 n=a(e);this.short=n.shortFlag,this.long=n.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;return typeof e==`string`&&(t={[e]:!0}),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){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?i(this.name().replace(/^no-/,``)):i(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}},r=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,i=r!==void 0&&r;return t.negate===(i===e)}};function i(e){return e.split(`-`).reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function a(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,a=e.split(/[ |,]+/).concat(`guard`);if(r.test(a[0])&&(t=a.shift()),i.test(a[0])&&(n=a.shift()),!t&&r.test(a[0])&&(t=a.shift()),!t&&i.test(a[0])&&(t=n,n=a.shift()),a[0].startsWith(`-`)){let t=a[0],n=`option creation failed due to '${t}' in option flags '${e}'`;throw/^-[^-][^-]/.test(t)?Error(`${n}
|
|
6
|
+
- a short flag is a single dash and a single character
|
|
7
|
+
- either use a single dash and a single character (for a short flag)
|
|
8
|
+
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`):r.test(t)?Error(`${n}
|
|
9
|
+
- too many short flags`):i.test(t)?Error(`${n}
|
|
10
|
+
- too many long flags`):Error(`${n}
|
|
11
|
+
- unrecognised flag format`)}if(t===void 0&&n===void 0)throw Error(`option creation failed due to no flags found in '${e}'.`);return{shortFlag:t,longFlag:n}}e.Option=n,e.DualOptions=r})),Ie=E((e=>{function t(e,t){if(Math.abs(e.length-t.length)>3)return Math.max(e.length,t.length);let n=[];for(let t=0;t<=e.length;t++)n[t]=[t];for(let e=0;e<=t.length;e++)n[0][e]=e;for(let r=1;r<=t.length;r++)for(let i=1;i<=e.length;i++){let a=1;a=e[i-1]===t[r-1]?0:1,n[i][r]=Math.min(n[i-1][r]+1,n[i][r-1]+1,n[i-1][r-1]+a),i>1&&r>1&&e[i-1]===t[r-2]&&e[i-2]===t[r-1]&&(n[i][r]=Math.min(n[i][r],n[i-2][r-2]+1))}return n[e.length][t.length]}function n(e,n){if(!n||n.length===0)return``;n=Array.from(new Set(n));let r=e.startsWith(`--`);r&&(e=e.slice(2),n=n.map(e=>e.slice(2)));let i=[],a=3;return n.forEach(n=>{if(n.length<=1)return;let r=t(e,n),o=Math.max(e.length,n.length);(o-r)/o>.4&&(r<a?(a=r,i=[n]):r===a&&i.push(n))}),i.sort((e,t)=>e.localeCompare(t)),r&&(i=i.map(e=>`--${e}`)),i.length>1?`\n(Did you mean one of ${i.join(`, `)}?)`:i.length===1?`\n(Did you mean ${i[0]}?)`:``}e.suggestSimilar=n})),Le=E((e=>{var t=je(`node:events`).EventEmitter,n=je(`node:child_process`),r=je(`node:path`),i=je(`node:fs`),a=je(`node:process`),{Argument:o,humanReadableArgName:s}=Ne(),{CommanderError:c}=Me(),{Help:l,stripColor:u}=Pe(),{Option:d,DualOptions:f}=Fe(),{suggestSimilar:p}=Ie(),m=class e extends t{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:e=>a.stdout.write(e),writeErr:e=>a.stderr.write(e),outputError:(e,t)=>t(e),getOutHelpWidth:()=>a.stdout.isTTY?a.stdout.columns:void 0,getErrHelpWidth:()=>a.stderr.isTTY?a.stderr.columns:void 0,getOutHasColors:()=>g()??(a.stdout.isTTY&&a.stdout.hasColors?.()),getErrHasColors:()=>g()??(a.stderr.isTTY&&a.stderr.hasColors?.()),stripColor:e=>u(e)},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,n){let r=t,i=n;typeof r==`object`&&r&&(i=r,r=null),i||={};let[,a,o]=e.match(/([^ ]+) *(.*)/),s=this.createCommand(a);return r&&(s.description(r),s._executableHandler=!0),i.isDefault&&(this._defaultCommandName=s._name),s._hidden=!!(i.noHelp||i.hidden),s._executableFile=i.executableFile||null,o&&s.arguments(o),this._registerCommand(s),s.parent=this,s.copyInheritedSettings(this),r?this:s}createCommand(t){return new e(t)}createHelp(){return Object.assign(new l,this.configureHelp())}configureHelp(e){return e===void 0?this._helpConfiguration:(this._helpConfiguration=e,this)}configureOutput(e){return e===void 0?this._outputConfiguration:(this._outputConfiguration={...this._outputConfiguration,...e},this)}showHelpAfterError(e=!0){return typeof e!=`string`&&(e=!!e),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
|
|
12
|
+
- specify the name in Command constructor or using .name()`);return t||={},t.isDefault&&(this._defaultCommandName=e._name),(t.noHelp||t.hidden)&&(e._hidden=!0),this._registerCommand(e),e.parent=this,e._checkForBrokenPassThrough(),this}createArgument(e,t){return new o(e,t)}argument(e,t,n,r){let i=this.createArgument(e,t);return typeof n==`function`?i.default(r).argParser(n):i.default(n),this.addArgument(i),this}arguments(e){return e.trim().split(/ +/).forEach(e=>{this.argument(e)}),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`)return this._addImplicitHelpCommand=e,e&&this._defaultCommandGroup&&this._initCommandGroup(this._getHelpCommand()),this;let[,n,r]=(e??`help [command]`).match(/([^ ]+) *(.*)/),i=t??`display help for command`,a=this.createCommand(n);return a.helpOption(!1),r&&a.arguments(r),i&&a.description(i),this._addImplicitHelpCommand=!0,this._helpCommand=a,(e||t)&&this._initCommandGroup(a),this}addHelpCommand(e,t){return typeof e==`object`?(this._addImplicitHelpCommand=!0,this._helpCommand=e,this._initCommandGroup(e),this):(this.helpCommand(e,t),this)}_getHelpCommand(){return this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand(`help`))?(this._helpCommand===void 0&&this.helpCommand(void 0,void 0),this._helpCommand):null}hook(e,t){let n=[`preSubcommand`,`preAction`,`postAction`];if(!n.includes(e))throw Error(`Unexpected value for event passed to hook : '${e}'.
|
|
13
|
+
Expecting one of '${n.join(`', '`)}'`);return this._lifeCycleHooks[e]?this._lifeCycleHooks[e].push(t):this._lifeCycleHooks[e]=[t],this}exitOverride(e){return this._exitCallback=e||(e=>{if(e.code!==`commander.executeSubCommandAsync`)throw e}),this}_exit(e,t,n){this._exitCallback&&this._exitCallback(new c(e,t,n)),a.exit(e)}action(e){let t=t=>{let n=this.registeredArguments.length,r=t.slice(0,n);return r[n]=this._storeOptionsAsProperties?this:this.opts(),r.push(this),e.apply(this,r)};return this._actionHandler=t,this}createOption(e,t){return new d(e,t)}_callParseArg(e,t,n,r){try{return e.parseArg(t,n)}catch(e){if(e.code===`commander.invalidArgument`){let t=`${r} ${e.message}`;this.error(t,{exitCode:e.exitCode,code:e.code})}throw e}}_registerOption(e){let t=e.short&&this._findOption(e.short)||e.long&&this._findOption(e.long);if(t){let n=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 '${n}'
|
|
14
|
+
- already used by option '${t.flags}'`)}this._initOptionGroup(e),this.options.push(e)}_registerCommand(e){let t=e=>[e.name()].concat(e.aliases()),n=t(e).find(e=>this._findCommand(e));if(n){let r=t(this._findCommand(n)).join(`|`),i=t(e).join(`|`);throw Error(`cannot add command '${i}' as already have command '${r}'`)}this._initCommandGroup(e),this.commands.push(e)}addOption(e){this._registerOption(e);let t=e.name(),n=e.attributeName();if(e.negate){let t=e.long.replace(/^--no-/,`--`);this._findOption(t)||this.setOptionValueWithSource(n,e.defaultValue===void 0||e.defaultValue,`default`)}else e.defaultValue!==void 0&&this.setOptionValueWithSource(n,e.defaultValue,`default`);let r=(t,r,i)=>{t==null&&e.presetArg!==void 0&&(t=e.presetArg);let a=this.getOptionValue(n);t!==null&&e.parseArg?t=this._callParseArg(e,t,a,r):t!==null&&e.variadic&&(t=e._collectValue(t,a)),t??=e.negate?!1:e.isBoolean()||e.optional?!0:``,this.setOptionValueWithSource(n,t,i)};return this.on(`option:`+t,t=>{let n=`error: option '${e.flags}' argument '${t}' is invalid.`;r(t,n,`cli`)}),e.envVar&&this.on(`optionEnv:`+t,t=>{let n=`error: option '${e.flags}' value '${t}' from env '${e.envVar}' is invalid.`;r(t,n,`env`)}),this}_optionEx(e,t,n,r,i){if(typeof t==`object`&&t instanceof d)throw Error(`To add an Option object use addOption() instead of option() or requiredOption()`);let a=this.createOption(t,n);if(a.makeOptionMandatory(!!e.mandatory),typeof r==`function`)a.default(i).argParser(r);else if(r instanceof RegExp){let e=r;r=(t,n)=>{let r=e.exec(t);return r?r[0]:n},a.default(i).argParser(r)}else a.default(r);return this.addOption(a)}option(e,t,n,r){return this._optionEx({},e,t,n,r)}requiredOption(e,t,n,r){return this._optionEx({mandatory:!0},e,t,n,r)}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){return this._storeOptionsAsProperties?this[e]:this._optionValues[e]}setOptionValue(e,t){return this.setOptionValueWithSource(e,t,void 0)}setOptionValueWithSource(e,t,n){return this._storeOptionsAsProperties?this[e]=t:this._optionValues[e]=t,this._optionValueSources[e]=n,this}getOptionValueSource(e){return this._optionValueSources[e]}getOptionValueSourceWithGlobals(e){let t;return this._getCommandAndAncestors().forEach(n=>{n.getOptionValueSource(e)!==void 0&&(t=n.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||={},e===void 0&&t.from===void 0){a.versions?.electron&&(t.from=`electron`);let e=a.execArgv??[];(e.includes(`-e`)||e.includes(`--eval`)||e.includes(`-p`)||e.includes(`--print`))&&(t.from=`eval`)}e===void 0&&(e=a.argv),this.rawArgs=e.slice();let n;switch(t.from){case void 0:case`node`:this._scriptPath=e[1],n=e.slice(2);break;case`electron`:a.defaultApp?(this._scriptPath=e[1],n=e.slice(2)):n=e.slice(1);break;case`user`:n=e.slice(0);break;case`eval`:n=e.slice(1);break;default:throw Error(`unexpected parse option { from: '${t.from}' }`)}return!this._name&&this._scriptPath&&this.nameFromFilename(this._scriptPath),this._name=this._name||`program`,n}parse(e,t){this._prepareForParse();let n=this._prepareUserArgs(e,t);return this._parseCommand([],n),this}async parseAsync(e,t){this._prepareForParse();let n=this._prepareUserArgs(e,t);return await this._parseCommand([],n),this}_prepareForParse(){this._savedState===null?this.saveStateBeforeParse():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.
|
|
15
|
+
- 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,n){if(i.existsSync(e))return;let r=`'${e}' does not exist
|
|
16
|
+
- if '${n}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
17
|
+
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
18
|
+
- ${t?`searched for local subcommand relative to directory '${t}'`:`no directory for search for local subcommand, use .executableDir() to supply a custom directory`}`;throw Error(r)}_executeSubCommand(e,t){t=t.slice();let o=!1,s=[`.js`,`.ts`,`.tsx`,`.mjs`,`.cjs`];function l(e,t){let n=r.resolve(e,t);if(i.existsSync(n))return n;if(s.includes(r.extname(t)))return;let a=s.find(e=>i.existsSync(`${n}${e}`));if(a)return`${n}${a}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let u=e._executableFile||`${this._name}-${e._name}`,d=this._executableDir||``;if(this._scriptPath){let e;try{e=i.realpathSync(this._scriptPath)}catch{e=this._scriptPath}d=r.resolve(r.dirname(e),d)}if(d){let t=l(d,u);if(!t&&!e._executableFile&&this._scriptPath){let n=r.basename(this._scriptPath,r.extname(this._scriptPath));n!==this._name&&(t=l(d,`${n}-${e._name}`))}u=t||u}o=s.includes(r.extname(u));let f;a.platform===`win32`?(this._checkForMissingExecutable(u,d,e._name),t.unshift(u),t=h(a.execArgv).concat(t),f=n.spawn(a.execPath,t,{stdio:`inherit`})):o?(t.unshift(u),t=h(a.execArgv).concat(t),f=n.spawn(a.argv[0],t,{stdio:`inherit`})):f=n.spawn(u,t,{stdio:`inherit`}),f.killed||[`SIGUSR1`,`SIGUSR2`,`SIGTERM`,`SIGINT`,`SIGHUP`].forEach(e=>{a.on(e,()=>{f.killed===!1&&f.exitCode===null&&f.kill(e)})});let p=this._exitCallback;f.on(`close`,e=>{e??=1,p?p(new c(e,`commander.executeSubCommandAsync`,`(close)`)):a.exit(e)}),f.on(`error`,t=>{if(t.code===`ENOENT`)this._checkForMissingExecutable(u,d,e._name);else if(t.code===`EACCES`)throw Error(`'${u}' not executable`);if(!p)a.exit(1);else{let e=new c(1,`commander.executeSubCommandAsync`,`(error)`);e.nestedError=t,p(e)}}),this.runningCommand=f}_dispatchSubcommand(e,t,n){let r=this._findCommand(e);r||this.help({error:!0}),r._prepareForParse();let i;return i=this._chainOrCallSubCommandHook(i,r,`preSubcommand`),i=this._chainOrCall(i,()=>{if(r._executableHandler)this._executeSubCommand(r,t.concat(n));else return r._parseCommand(t,n)}),i}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??`--help`])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(e,t,n)=>{let r=t;if(t!==null&&e.parseArg){let i=`error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;r=this._callParseArg(e,t,n,i)}return r};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,r)=>{let i=n.defaultValue;n.variadic?r<this.args.length?(i=this.args.slice(r),n.parseArg&&(i=i.reduce((t,r)=>e(n,r,t),n.defaultValue))):i===void 0&&(i=[]):r<this.args.length&&(i=this.args[r],n.parseArg&&(i=e(n,i,n.defaultValue))),t[r]=i}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&typeof e.then==`function`?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,r=[];return this._getCommandAndAncestors().reverse().filter(e=>e._lifeCycleHooks[t]!==void 0).forEach(e=>{e._lifeCycleHooks[t].forEach(t=>{r.push({hookedCommand:e,callback:t})})}),t===`postAction`&&r.reverse(),r.forEach(e=>{n=this._chainOrCall(n,()=>e.callback(e.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let r=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(e=>{r=this._chainOrCall(r,()=>e(this,t))}),r}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.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);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},i=`command:${this.name()}`;if(this._actionHandler){r(),this._processArguments();let n;return n=this._chainOrCallHooks(n,`preAction`),n=this._chainOrCall(n,()=>this._actionHandler(this.processedArgs)),this.parent&&(n=this._chainOrCall(n,()=>{this.parent.emit(i,e,t)})),n=this._chainOrCallHooks(n,`postAction`),n}if(this.parent?.listenerCount(i))r(),this._processArguments(),this.parent.emit(i,e,t);else if(e.length){if(this._findCommand(`*`))return this._dispatchSubcommand(`*`,e,t);this.listenerCount(`command:*`)?this.emit(`command:*`,e,t):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(e){if(e)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=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(e=>{let t=e.attributeName();return this.getOptionValue(t)!==void 0&&this.getOptionValueSource(t)!=="default"});e.filter(e=>e.conflictsWith.length>0).forEach(t=>{let n=e.find(e=>t.conflictsWith.includes(e.attributeName()));n&&this._conflictingOption(t,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],r=t;function i(e){return e.length>1&&e[0]===`-`}let a=e=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e)?!this._getCommandAndAncestors().some(e=>e.options.map(e=>e.short).some(e=>/^-\d$/.test(e))):!1,o=null,s=null,c=0;for(;c<e.length||s;){let l=s??e[c++];if(s=null,l===`--`){r===n&&r.push(l),r.push(...e.slice(c));break}if(o&&(!i(l)||a(l))){this.emit(`option:${o.name()}`,l);continue}if(o=null,i(l)){let t=this._findOption(l);if(t){if(t.required){let n=e[c++];n===void 0&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,n)}else if(t.optional){let n=null;c<e.length&&(!i(e[c])||a(e[c]))&&(n=e[c++]),this.emit(`option:${t.name()}`,n)}else this.emit(`option:${t.name()}`);o=t.variadic?t:null;continue}}if(l.length>2&&l[0]===`-`&&l[1]!==`-`){let e=this._findOption(`-${l[1]}`);if(e){e.required||e.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${e.name()}`,l.slice(2)):(this.emit(`option:${e.name()}`),s=`-${l.slice(2)}`);continue}}if(/^--[^=]+=/.test(l)){let e=l.indexOf(`=`),t=this._findOption(l.slice(0,e));if(t&&(t.required||t.optional)){this.emit(`option:${t.name()}`,l.slice(e+1));continue}}if(r===t&&i(l)&&!(this.commands.length===0&&a(l))&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(l)){t.push(l),n.push(...e.slice(c));break}if(this._getHelpCommand()&&l===this._getHelpCommand().name()){t.push(l,...e.slice(c));break}if(this._defaultCommandName){n.push(l,...e.slice(c));break}}if(this._passThroughOptions){r.push(l,...e.slice(c));break}r.push(l)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let t=this.options[n].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}\n`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==`string`?this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
|
|
19
|
+
`),this.outputHelp({error:!0}));let n=t||{},r=n.exitCode||1,i=n.code||`commander.error`;this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in a.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||[`default`,`config`,`env`].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,a.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new f(this.options),t=e=>this.getOptionValue(e)!==void 0&&![`default`,`implied`].includes(this.getOptionValueSource(e));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(e=>{Object.keys(e.implied).filter(e=>!t(e)).forEach(t=>{this.setOptionValueWithSource(t,e.implied[t],`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 n=e=>{let t=e.attributeName(),n=this.getOptionValue(t),r=this.options.find(e=>e.negate&&t===e.attributeName()),i=this.options.find(e=>!e.negate&&t===e.attributeName());return r&&(r.presetArg===void 0&&n===!1||r.presetArg!==void 0&&n===r.presetArg)?r:i||e},r=e=>{let t=n(e),r=t.attributeName();return this.getOptionValueSource(r)===`env`?`environment variable '${t.envVar}'`:`option '${t.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:`commander.conflictingOption`})}unknownOption(e){if(this._allowUnknownOption)return;let t=``;if(e.startsWith(`--`)&&this._showSuggestionAfterError){let n=[],r=this;do{let e=r.createHelp().visibleOptions(r).filter(e=>e.long).map(e=>e.long);n=n.concat(e),r=r.parent}while(r&&!r._enablePositionalOptions);t=p(e,n)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:`commander.unknownOption`})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?``:`s`,r=`error: too many arguments${this.parent?` for '${this.name()}'`:``}. Expected ${t} argument${n} but got ${e.length}.`;this.error(r,{code:`commander.excessArguments`})}unknownCommand(){let e=this.args[0],t=``;if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach(e=>{n.push(e.name()),e.alias()&&n.push(e.alias())}),t=p(e,n)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:`commander.unknownCommand`})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t||=`-V, --version`,n||=`output the version number`;let r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on(`option:`+r.name(),()=>{this._outputConfiguration.writeOut(`${e}\n`),this._exit(0,`commander.version`,e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(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]),e===t._name)throw Error(`Command alias can't be the same as its name`);let n=this.parent?._findCommand(e);if(n){let t=[n.name()].concat(n.aliases()).join(`|`);throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(e=>this.alias(e)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let e=this.registeredArguments.map(e=>s(e));return[].concat(this.options.length||this._helpOption!==null?`[options]`:[],this.commands.length?`[command]`:[],this.registeredArguments.length?e:[]).join(` `)}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??``:(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??``:(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??``:(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=r.basename(e,r.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let r=t.formatHelp(this,t);return n.hasColors?r:this._outputConfiguration.stripColor(r)}_getOutputContext(e){e||={};let t=!!e.error,n,r,i;return t?(n=e=>this._outputConfiguration.writeErr(e),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth()):(n=e=>this._outputConfiguration.writeOut(e),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth()),{error:t,write:e=>(r||(e=this._outputConfiguration.stripColor(e)),n(e)),hasColors:r,helpWidth:i}}outputHelp(e){let t;typeof e==`function`&&(t=e,e=void 0);let n=this._getOutputContext(e),r={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach(e=>e.emit(`beforeAllHelp`,r)),this.emit(`beforeHelp`,r);let i=this.helpInformation({error:n.error});if(t&&(i=t(i),typeof i!=`string`&&!Buffer.isBuffer(i)))throw Error(`outputHelp callback must return a string or a Buffer`);n.write(i),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit(`afterHelp`,r),this._getCommandAndAncestors().forEach(e=>e.emit(`afterAllHelp`,r))}helpOption(e,t){return typeof e==`boolean`?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??`-h, --help`,t??`display help for command`),(e||t)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(a.exitCode??0);t===0&&e&&typeof e!=`function`&&e.error&&(t=1),this._exit(t,`commander.help`,`(outputHelp)`)}addHelpText(e,t){let n=[`beforeAll`,`before`,`after`,`afterAll`];if(!n.includes(e))throw Error(`Unexpected value for position to addHelpText.
|
|
20
|
+
Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function h(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function g(){if(a.env.NO_COLOR||a.env.FORCE_COLOR===`0`||a.env.FORCE_COLOR===`false`)return!1;if(a.env.FORCE_COLOR||a.env.CLICOLOR_FORCE!==void 0)return!0}e.Command=m,e.useColor=g})),{program:Re,createCommand:ze,createArgument:Be,createOption:Ve,CommanderError:He,InvalidArgumentError:Ue,InvalidOptionArgumentError:We,Command:Ge,Argument:Ke,Option:qe,Help:Je}=ke(E((e=>{var{Argument:t}=Ne(),{Command:n}=Le(),{CommanderError:r,InvalidArgumentError:i}=Me(),{Help:a}=Pe(),{Option:o}=Fe();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i}))(),1).default;function Ye(e,t){process.stdout.write(`${JSON.stringify(t,null,2)}\n`),e===`issue_start`&&typeof t==`object`&&t&&`status`in t&&t.status===`created-not-started`&&(process.exitCode=1)}function Xe(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Ze(e,t=`|`){return e.map(e=>St(e)).join(t)}function Qe(e,t){return typeof t==`bigint`?t.toString():t}var $e=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function et(e){return new $e(e)}function tt(e){return e==null}function nt(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function rt(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function it(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function at(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function ot(e){return at(e._zod.def)??e._zod.def.shape}function st(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return it(this,t,e),e},enumerable:!0,configurable:!0})}function ct(e,t,n){t in e?it(e,t,n):e[t]=n}function lt(e,t,n,r){let i=ot(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?st(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):ct(e,a,r?r(n.value,a):n.value))}}function ut(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?st(e,n,()=>t[n]):ct(e,n,r.value))}}function dt(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function ft(e){return JSON.stringify(e)}function pt(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var mt=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function ht(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var gt=et(()=>{if(fn.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function _t(e){if(ht(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return ht(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function vt(e){return _t(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var yt=new Set([`string`,`number`,`symbol`]);function bt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function xt(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function D(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}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function St(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Ct(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var wt={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Tt={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function Et(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return lt(i,e,Dt(e,t)),xt(e,dt(n,{shape:i,checks:[]}))}function Dt(e,t){let n=ot(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function Ot(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(Dt(e,t)),a={};return lt(a,e,Reflect.ownKeys(ot(e)).filter(e=>!i.has(e))),xt(e,dt(n,{shape:a,checks:[]}))}function kt(e,t){if(!_t(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=ot(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return xt(e,dt(e._zod.def,{shape:At(e,t)}))}function At(e,t){let n={};return lt(n,e,Reflect.ownKeys(ot(e))),ut(n,t),n}function jt(e,t){if(!_t(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return xt(e,dt(e._zod.def,{shape:At(e,t)}))}function Mt(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 n={};return lt(n,e,Reflect.ownKeys(ot(e))),lt(n,t,Reflect.ownKeys(ot(t))),xt(e,dt(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Nt(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(Dt(t,n)):void 0,o={};return lt(o,t,Reflect.ownKeys(ot(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),xt(t,dt(t._zod.def,{shape:o,checks:[]}))}function Pt(e,t,n){let r=n?new Set(Dt(t,n)):void 0,i={};return lt(i,t,Reflect.ownKeys(ot(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),xt(t,dt(t._zod.def,{shape:i}))}function Ft(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function It(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Lt(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Rt(e){return typeof e==`string`?e:e?.message}function zt(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function Bt(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:Rt(e.inst?._zod.def?.error?.(e))??Rt(a?.(e))??Rt(t?.error?.(e))??Rt(n.customError?.(e))??Rt(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}var Vt=/[\uD800-\uDBFF]/;function Ht(e){let t=e.length;if(!Vt.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function Ut(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Wt(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 t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function Gt(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function Kt(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Xt(e,n,r.value)}}function qt(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Jt(e,t,n){return qt(e,t,n,!1)}function Yt(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return qt(this,n,r(this))},set(e){qt(this,n,e)}})}return t}function Xt(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:qt(this,t,n.bind(this))},set(e){qt(this,t,e)}})}function Zt(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var Qt,$t=!1,en={configurable:!0,get(){$t=!0}};function tn(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&Qt!==e._zod){Qt=void 0;return}Qt=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,en);let e=$t;$t=!1;try{let r=n(this);return $t?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),$t||=e,r}catch(n){throw delete this[t],$t||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function nn(e,t,n,r){let i=Zt(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}var rn=`~constantCatch`;function an(e){let t=()=>e;return t[rn]=!0,t}var on,sn={value:void 0,enumerable:!1},cn=`captureStackTrace`in Error?Error:null;function ln(e){let t=cn;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return cn=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function O(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){sn.value=new a(r);try{Object.defineProperty(n,"_zod",sn)}finally{sn.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),Kt(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?ln(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var un=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},dn=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(on=globalThis).__zod_globalConfig??(on.__zod_globalConfig={});var fn=globalThis.__zod_globalConfig;function pn(e){return e&&Object.assign(fn,e),fn}function mn(){let e=this._zod;return e.message??=JSON.stringify(e.def,Qe,2),e.message}function hn(e){this._zod.message=e}var gn={get:mn,set:hn,enumerable:!0,configurable:!0},_n={value:void 0,enumerable:!1},vn=new WeakSet([Object.prototype,Error.prototype]),yn=(e,t)=>{e.name=`$ZodError`,_n.value=t,Object.defineProperty(e,"issues",_n),_n.value=void 0,Object.defineProperty(e,"message",gn);let n=Object.getPrototypeOf(e);vn.has(n)||(vn.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},bn=O(`$ZodError`,yn),xn=O(`$ZodError`,yn,void 0,{Parent:Error});function Sn(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function Cn(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?Sn(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function wn(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function Tn(e,t){return{callee:t?.callee??e,Err:t?.Err}}var En=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new un;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>Bt(e,o,pn())));throw mt(n,a?.callee??t),n}return s.value};return t},Dn=En(xn),On=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>Bt(e,o,pn())));throw mt(n,a?.callee??t),n}return s.value};return t},kn=On(xn),An=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new un;return a.issues.length?Mn(e,a.issues,i):{success:!0,data:a.value}},jn=An(xn);function Mn(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>Bt(e,n,pn()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var Nn=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?Mn(e,a.issues,i):{success:!0,data:a.value}},Pn=Nn(xn),Fn=Symbol.for(`zod.compile.invalid`),In=Symbol.for(`zod.compile.fallback`),Ln=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==Fn)return!0;if(r.definite===!0&&n===void 0)return!1}return Rn(e,t,n)});function Rn(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[In]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new un;return a.issues.length===0}var zn=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},Bn=e=>{let t=En(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,Tn(n,a))};return n},Vn=e=>{let t=En(e),n=(e,r,i,a)=>t(e,r,i,Tn(n,a));return n},Hn=e=>{let t=On(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,Tn(n,a))};return n},Un=e=>{let t=On(e),n=async(e,r,i,a)=>await t(e,r,i,Tn(n,a));return n},Wn=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return An(e)(t,n,i)},Gn=e=>(t,n,r)=>An(e)(t,n,r),Kn=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Nn(e)(t,n,i)},qn=e=>async(t,n,r)=>Nn(e)(t,n,r),Jn=/^[cC][0-9a-z]{6,}$/,Yn=/^[0-9a-z]+$/,Xn=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Zn=/^[0-9a-vA-V]{20}$/,Qn=/^[A-Za-z0-9]{27}$/,$n=/^[a-zA-Z0-9_-]{21}$/;function er(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var tr=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,nr=/^([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})$/,rr=e=>e?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})$`):/^([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)$/,ir=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ar=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function or(){return new RegExp(ar,`u`)}var sr=/^(?:(?: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])$/,cr=/^(([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}|:))$/,lr=/^((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])$/,ur=/^(([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])$/,dr=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,fr=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,pr=/^https?$/,mr=/^\+[1-9]\d{6,14}$/,hr=`(?:(?:\\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 gr(e){return RegExp(`^${e}$`)}var _r=gr(hr);function vr(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function yr(e){return RegExp(`^${vr(e)}$`)}function br(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${vr({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${vr({precision:e.precision})}`:n;return RegExp(`^${hr}T(?:${r})$`)}var xr=/^[\s\S]{0,}$/,Sr=/^-?\d+$/,Cr=/^-?\d+(?:\.\d+)?$/,wr=/^(?:true|false)$/i,Tr=/^null$/i,Er=/^[^A-Z]*$/,Dr=/^[^a-z]*$/,Or=O(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),kr=e=>{let t=e.value;return!tt(t)&&t.length!==void 0},Ar={number:`number`,bigint:`bigint`,object:`date`},jr=O(`$ZodCheckLessThan`,(e,t)=>{Or.init(e,t);let n=Ar[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:Ar[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Mr=O(`$ZodCheckGreaterThan`,(e,t)=>{Or.init(e,t);let n=Ar[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Ar[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Nr=O(`$ZodCheckMultipleOf`,(e,t)=>{Or.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):rt(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Pr=O(`$ZodCheckNumberFormat`,(e,t)=>{Or.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=wt[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Fr=O(`$ZodCheckMaxLength`,(e,t)=>{var n;Or.init(e,t),(n=e._zod.def).when??(n.when=kr),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?Ht(r):i)<=t.maximum)return;let a=Ut(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ir=O(`$ZodCheckMinLength`,(e,t)=>{var n;Or.init(e,t),(n=e._zod.def).when??(n.when=kr),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?Ht(r):i)>=t.minimum)return;let a=Ut(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Lr=O(`$ZodCheckLengthEquals`,(e,t)=>{var n;Or.init(e,t),(n=e._zod.def).when??(n.when=kr),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?Ht(r):i;if(a===t.length)return;let o=Ut(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Rr=O(`$ZodCheckStringFormat`,(e,t)=>{var n,r;Or.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),zr=O(`$ZodCheckRegex`,(e,t)=>{Rr.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Br=O(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Er,Rr.init(e,t)}),Vr=O(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Dr,Rr.init(e,t)}),Hr=O(`$ZodCheckIncludes`,(e,t)=>{Or.init(e,t);let n=bt(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Ur=O(`$ZodCheckStartsWith`,(e,t)=>{Or.init(e,t);let n=RegExp(`^${bt(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Wr=O(`$ZodCheckEndsWith`,(e,t)=>{Or.init(e,t);let n=RegExp(`.*${bt(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Gr=O(`$ZodCheckOverwrite`,(e,t)=>{Or.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),Kr=class{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}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
21
|
+
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
|
|
22
|
+
`)}\n};`)(...Object.values(this.closed))}},qr={major:4,minor:6,patch:5},Jr=O(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=qr;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=Ft(t),a;for(let o of n){if(o._zod.def.when){if(It(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new un;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(zt(t.issues,n,e),i||=Ft(t,n))});else{if(t.issues.length===n)continue;zt(t.issues,n,e),i||=Ft(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(Ft(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new un;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new un;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return Jt(this,`~standard`,Zr(this))},set"~standard"(e){qt(this,`~standard`,e)}}),Yr=(e,t)=>e.issues.length?{issues:e.issues.map(e=>Bt(e,t,pn()))}:{value:e.value};async function Xr(e,t){let n={async:!0};return Yr(await e._zod.run({value:t,issues:[]},n),n)}function Zr(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return Yr(r,n)}catch{}return Xr(e,t)},vendor:`zod`,version:1}}var Qr=O(`$ZodString`,(e,t)=>{Jr.init(e,t),e._zod.pattern=t.pattern??xr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),$r=O(`$ZodStringFormat`,(e,t)=>{Rr.init(e,t),Qr.init(e,t)}),ei=O(`$ZodGUID`,(e,t)=>{t.pattern??=nr,$r.init(e,t)}),ti=O(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=rr(e)}else t.pattern??=rr();$r.init(e,t)}),ni=O(`$ZodEmail`,(e,t)=>{t.pattern??=ir,$r.init(e,t)});function ri(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function ii(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?ri(e)||2:ai(e,t)}function ai(e,t){if(!t.normalize&&t.protocol?.source===pr.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}var oi=/[\t\n\r]/g;function si(e){return e.replace(oi,``)}function ci(e,t){return t.lastIndex=0,t.test(e.hostname)}function li(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var ui=O(`$ZodURL`,(e,t)=>{$r.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=ii(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=si(r);return}t.hostname&&!ci(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!li(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:si(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),di=O(`$ZodEmoji`,(e,t)=>{t.pattern??=or(),$r.init(e,t)}),fi=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.length===void 0?$n:er(t.length),$r.init(e,t)}),pi=O(`$ZodCUID`,(e,t)=>{t.pattern??=Jn,$r.init(e,t)}),mi=O(`$ZodCUID2`,(e,t)=>{t.pattern??=Yn,$r.init(e,t)}),hi=O(`$ZodULID`,(e,t)=>{t.pattern??=Xn,$r.init(e,t)}),gi=O(`$ZodXID`,(e,t)=>{t.pattern??=Zn,$r.init(e,t)}),_i=O(`$ZodKSUID`,(e,t)=>{t.pattern??=Qn,$r.init(e,t)}),vi=O(`$ZodISODateTime`,(e,t)=>{t.pattern??=br(t),$r.init(e,t)}),yi=O(`$ZodISODate`,(e,t)=>{t.pattern??=_r,$r.init(e,t)}),bi=O(`$ZodISOTime`,(e,t)=>{t.pattern??=yr(t),$r.init(e,t)}),xi=O(`$ZodISODuration`,(e,t)=>{t.pattern??=tr,$r.init(e,t)}),Si=O(`$ZodIPv4`,(e,t)=>{t.pattern??=sr,$r.init(e,t)}),Ci=/^[0-9a-fA-F:.]+$/;function wi(e){return Ci.test(e)?ri(`http://[${e}]`):!1}var Ti=O(`$ZodIPv6`,(e,t)=>{t.pattern??=cr,$r.init(e,t),e._zod.check=n=>{wi(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Ei=O(`$ZodCIDRv4`,(e,t)=>{t.pattern??=lr,$r.init(e,t)});function Di(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:wi(n)}var Oi=O(`$ZodCIDRv6`,(e,t)=>{t.pattern??=ur,$r.init(e,t),e._zod.check=n=>{Di(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function ki(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Ai=/^[0-9a-zA-Z+/]*={0,2}$/,ji=O(`$ZodBase64`,(e,t)=>{t.pattern??=Ai,$r.init(e,t),e._zod.check=n=>{ki(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),Mi=/^[A-Za-z0-9_-]*$/;function Ni(e){if(!Mi.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return ki(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var Pi=O(`$ZodBase64URL`,(e,t)=>{t.pattern??=Mi,$r.init(e,t),e._zod.check=n=>{Ni(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Fi=O(`$ZodE164`,(e,t)=>{t.pattern??=mr,$r.init(e,t)});function Ii(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Li=O(`$ZodJWT`,(e,t)=>{$r.init(e,t),e._zod.check=n=>{Ii(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Ri=O(`$ZodNumber`,(e,t)=>{Jr.init(e,t),e._zod.pattern=Cr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),zi=O(`$ZodNumberFormat`,(e,t)=>{Pr.init(e,t),Ri.init(e,t)}),Bi=O(`$ZodBoolean`,(e,t)=>{Jr.init(e,t),e._zod.pattern=wr,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Vi=O(`$ZodNull`,(e,t)=>{Jr.init(e,t),e._zod.pattern=Tr,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),Hi=O(`$ZodUnknown`,(e,t)=>{Jr.init(e,t),e._zod.parse=e=>e}),Ui=O(`$ZodNever`,(e,t)=>{Jr.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Wi(e,t,n){e.issues.length&&t.issues.push(...Lt(n,e.issues)),t.value[n]=e.value}var Gi=O(`$ZodArray`,(e,t)=>{Jr.init(e,t);let n=fn.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>Wi(t,r,e)));else if(Wi(c,r,e),s&&c.issues.length!==0&&Ft(c))break}return o.length?Promise.all(o).then(()=>r):r}});function Ki(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...Lt(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}var qi=[];function Ji(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:qi,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=Ct(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function Yi(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(Ft(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Ki(e,n,i,t,d,f))):Ki(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var Xi=O(`$ZodObject`,(e,t)=>{Jr.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=et(()=>Ji(t));tn(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||it(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let a=ht,o=t.catchall,s,c=fn.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(Ft(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>Ki(n,t,e,r,a,o))):Ki(s,t,e,r,a,o)}return o?Yi(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),Zi=O(`$ZodObjectJIT`,(e,t)=>{Xi.init(e,t);let n=e._zod.parse,r=et(()=>Ji(t)),i=fn.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new Kr([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:a}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
|
|
23
|
+
let ${e}_ab = false;
|
|
24
|
+
for (let i = 0; i < ${e}.issues.length; i++) {
|
|
25
|
+
const iss = ${e}.issues[i];
|
|
26
|
+
iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
|
|
27
|
+
payload.issues.push(iss);
|
|
28
|
+
if (iss.continue !== true) ${e}_ab = true;
|
|
29
|
+
}
|
|
30
|
+
if (${e}_ab && ctx && ctx.abortEarly) {
|
|
31
|
+
payload.value = newResult;
|
|
32
|
+
return payload;
|
|
33
|
+
}`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(i?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${a.indexOf(e)}]`:ft(e),i=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
|
|
34
|
+
const ${n}_present = ${i};
|
|
35
|
+
if (!${n}.issues.length || ${n}_present) {
|
|
36
|
+
if (${n}.issues.length) {${c(n,r)}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (${e}) {
|
|
40
|
+
newResult[${r}] = ${n}.value;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
`)}else f?(o.write(`
|
|
45
|
+
if (${n}.issues.length) {${c(n,r)}
|
|
46
|
+
}
|
|
47
|
+
`),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(`
|
|
48
|
+
if (${n}.value !== undefined || ${i}) {
|
|
49
|
+
newResult[${r}] = ${n}.value;
|
|
50
|
+
}
|
|
51
|
+
`)):o.write(`
|
|
52
|
+
const ${n}_present = ${i};
|
|
53
|
+
if (${n}.issues.length) {${c(n,r)}
|
|
54
|
+
}
|
|
55
|
+
if (!${n}_present && !${n}.issues.length) {
|
|
56
|
+
payload.issues.push({
|
|
57
|
+
code: "invalid_type",
|
|
58
|
+
expected: "nonoptional",
|
|
59
|
+
input: undefined,
|
|
60
|
+
path: [${r}]
|
|
61
|
+
});
|
|
62
|
+
if (ctx && ctx.abortEarly) {
|
|
63
|
+
payload.value = newResult;
|
|
64
|
+
return payload;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if (${n}_present) {
|
|
69
|
+
newResult[${r}] = ${n}.value;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
`)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=ht,c=!fn.jitless,l=c&>.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?Yi([],p,i,f,d,e,f?.abortEarly===!0):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function Qi(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Ft(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>Bt(e,r,pn())))}),t)}var $i=O(`$ZodUnion`,(e,t)=>{Jr.init(e,t),tn(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),tn(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),tn(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),tn(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>nt(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Qi(t,r,e,i)):Qi(o,r,e,i)}});function ea(e){let t=new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value "${String(e)}"`);t.set(e,null)}else t.set(e,n)}return t}var ta=O(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,$i.init(e,t);let n=e._zod.parse;tn(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(r)}"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||it(t,e,new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=at(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=et(()=>ea(t));e._zod.parse=(i,a)=>{let o=i.value;if(!ht(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),na=O(`$ZodIntersection`,(e,t)=>{Jr.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>ia(e,t,n)):ia(e,i,a)}});function ra(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(_t(e)&&_t(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=ra(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=ra(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function ia(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=ra(t.value,n.value);if(!c.valid){if(Ft(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var aa=O(`$ZodTuple`,(e,t)=>{Jr.init(e,t);let n=t.items,r=fn.memoizer;r?.attach(e),e._zod.parse=(i,a)=>{let o=i.value;if(!Array.isArray(o))return i.issues.push({input:o,inst:e,expected:`tuple`,code:`invalid_type`}),i;i.value=r?r.alloc(e,i,[],a):[];let s=[],c=oa(n,`optin`),l=oa(n,`optout`);if(!t.rest){if(o.length<c)return i.issues.push({code:`too_small`,minimum:c,inclusive:!0,input:o,inst:e,origin:`array`}),i;o.length>n.length&&i.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:o,inst:e,origin:`array`})}let u=Array(n.length),d=t.rest?a?.abortEarly:void 0,f=!1;for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:o[e],issues:[]},a);t instanceof Promise?s.push(t.then(t=>{u[e]=t})):(u[e]=t,d&&!f&&t.issues.length&&(f=Ft(t)))}if(t.rest&&!f){let e=n.length-1,r=o.slice(n.length),c=i.issues.length;for(let n of r){if(d&&i.issues.length!==c){if(Ft(i,c))break;c=i.issues.length}e++;let r=t.rest._zod.run({value:n,issues:[]},a);r instanceof Promise?s.push(r.then(t=>sa(t,i,e))):sa(r,i,e)}}return s.length?Promise.all(s).then(()=>ca(u,i,n,o,l)):ca(u,i,n,o,l)}});function oa(e,t){for(let n=e.length-1;n>=0;n--)if(!(t===`optin`?e[n]._zod.optin!==void 0:e[n]._zod.optout===`optional`))return n+1;return 0}function sa(e,t,n){e.issues.length&&t.issues.push(...Lt(n,e.issues)),t.value[n]=e.value}function ca(e,t,n,r,i){for(let a=0;a<n.length;a++){let o=e[a],s=a<r.length;if(!s&&a>=i&&n[a]._zod.optin===`optional`){t.value.length=a;break}if(o.issues.length){if(!s&&a>=i){t.value.length=a;break}t.issues.push(...Lt(a,o.issues))}t.value[a]=o.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}var la=O(`$ZodRecord`,(e,t)=>{Jr.init(e,t);let n=fn.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!_t(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>Bt(e,i,pn())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...Lt(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Lt(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&Cr.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>Bt(e,i,pn())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...Lt(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Lt(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),ua=O(`$ZodEnum`,(e,t)=>{Jr.init(e,t);let n=Xe(t.entries),r=new Set(n);e._zod.values=r,tn(e,`pattern`,e=>{let t=Xe(e.def.entries).filter(e=>yt.has(typeof e));return RegExp(t.length?`^(${t.map(e=>bt(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),da=O(`$ZodLiteral`,(e,t)=>{Jr.init(e,t);let n=new Set(t.values);e._zod.values=n,tn(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?bt(e):e?bt(e.toString()):String(e)).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),fa=O(`$ZodTransform`,(e,t)=>{Jr.init(e,t),e._zod.optin=`optional`,fn.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new dn(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new un;return n.value=i,n}});function pa(e,t){return e.value=t.issues.length?void 0:t.value,e}var ma=O(`$ZodOptional`,(e,t)=>{Jr.init(e,t),tn(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,tn(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),tn(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${nt(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>pa(e,t)):pa(e,r)}return t.innerType._zod.run(e,n)}}),ha=O(`$ZodExactOptional`,(e,t)=>{ma.init(e,t),tn(e,`values`,e=>e.def.innerType._zod.values),tn(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ga=O(`$ZodNullable`,(e,t)=>{Jr.init(e,t),tn(e,`optin`,e=>e.def.innerType._zod.optin),tn(e,`optout`,e=>e.def.innerType._zod.optout),tn(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${nt(t.source)}|null)$`):void 0}),tn(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),_a=O(`$ZodDefault`,(e,t)=>{Jr.init(e,t),e._zod.optin=`defaulted`,tn(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>va(e,t)):va(r,t)}});function va(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var ya=O(`$ZodPrefault`,(e,t)=>{Jr.init(e,t),e._zod.optin=`defaulted`,tn(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),ba=O(`$ZodNonOptional`,(e,t)=>{Jr.init(e,t),tn(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>xa(t,e)):xa(i,e)}});function xa(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function Sa(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>Bt(e,r,pn()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var Ca=O(`$ZodCatch`,(e,t)=>{Jr.init(e,t),tn(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),tn(e,`optout`,e=>e.def.innerType._zod.optout),tn(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>Sa(e,r,t,n)):Sa(e,r,t,n)}}),wa=O(`$ZodPipe`,(e,t)=>{Jr.init(e,t),tn(e,`values`,e=>e.def.in._zod.values),tn(e,`optin`,e=>e.def.in._zod.optin),tn(e,`optout`,e=>e.def.out._zod.optout),tn(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Ta(e,t.in,n)):Ta(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Ta(e,t.out,n)):Ta(r,t.out,n)}});function Ta(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var Ea=O(`$ZodPreprocess`,(e,t)=>{wa.init(e,t)}),Da=O(`$ZodReadonly`,(e,t)=>{Jr.init(e,t),tn(e,`propValues`,e=>e.def.innerType._zod.propValues),tn(e,`values`,e=>e.def.innerType._zod.values),tn(e,`optin`,e=>e.def.innerType?._zod?.optin),tn(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Oa):Oa(r)}});function Oa(e){return e.memo||(e.value=Object.freeze(e.value)),e}var ka=O(`$ZodCustom`,(e,t)=>{Or.init(e,t),Jr.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Aa(t,n,r,e));Aa(i,n,r,e)}});function Aa(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(Gt(e))}}var ja=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},Ma=`~memo`,Na=[];function Pa(e){return typeof e==`object`&&!!e}function Fa(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var Ia=new WeakMap,La=0,Ra=1,za=2;function Ba(e,t,n){let r=Ia.get(e);if(r!==void 0)return r?za:La;if(t.has(e))return za;t.add(e);let i=La,a=e=>{if(i!==za&&e?._zod){let r=Ba(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=La;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?Ra:o.value?._zod?Ba(o.value,t,n):La;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=at(c);s(e?o(e,!0):Ra),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?Ba(r,t,!1):Ra);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 e in c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(n&&typeof n==`object`){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),Va(e,i)}function Va(e,t){return t!==Ra&&Ia.set(e,t===za),t}function Ha(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}var Ua,Wa=[],Ga={alloc(e,t,n){let r=Ua;if(!r)return n;Ua=void 0;let i={value:n,issues:null};return r.set(t.value,i),Wa.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&qa(n,e.value))throw new ja;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=Ba(e,new Set,!1);if(i===La)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===za||r?n=!0:r=!0}let l=s.value;if(!Pa(l))return t(s,c);let u=c[Ma];u||(u={buckets:new WeakMap,backEdges:void 0},c[Ma]=u);let d;i===c?d=a:(d=Ha(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...Fa(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;Ua=d;let p=Wa.length,m=t(s,c);Ua=void 0;let h=Wa.length>p?Wa.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?Fa(e.issues):Na),e)):(h&&(h.issues=m.issues.length?Fa(m.issues):Na),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function Ka(){return Ga}function qa(e,t){let n=e[Ma]?.backEdges;return n!==void 0&&Pa(t)&&n.has(t)}var Ja=()=>{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(t){return e[t]??null}let n={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`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(Wt(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${St(e.values[0])}`:`Invalid option: expected one of ${Ze(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${Ze(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function Ya(){return{localeError:Ja()}}var Xa,Za=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Qa(){return new Za}(Xa=globalThis).__zod_globalRegistry??(Xa.__zod_globalRegistry=Qa());var $a=globalThis.__zod_globalRegistry;function eo(e){return e.checks&&=[...e.checks],e}function to(e,t){return new e(eo({type:`string`,...D(t)}))}function no(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...D(t)})}function ro(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...D(t)})}function io(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...D(t)})}function ao(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...D(t)})}function oo(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...D(t)})}function so(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...D(t)})}function co(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...D(t)})}function lo(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...D(t)})}function uo(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...D(t)})}function fo(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...D(t)})}function po(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...D(t)})}function mo(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...D(t)})}function ho(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...D(t)})}function go(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...D(t)})}function _o(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...D(t)})}function vo(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...D(t)})}function yo(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...D(t)})}function bo(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...D(t)})}function xo(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...D(t)})}function So(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...D(t)})}function Co(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...D(t)})}function wo(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...D(t)})}function To(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...D(t)})}function Eo(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...D(t)})}function Do(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...D(t)})}function Oo(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...D(t)})}function ko(e,t){return new e(eo({type:`number`,checks:[],...D(t)}))}function Ao(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...D(t)})}function jo(e,t){return new e({type:`boolean`,...D(t)})}function Mo(e,t){return new e({type:`null`,...D(t)})}function No(e){return new e({type:`unknown`})}function Po(e,t){return new e({type:`never`,...D(t)})}function Fo(e,t){return new jr({check:`less_than`,...D(t),value:e,inclusive:!1})}function Io(e,t){return new jr({check:`less_than`,...D(t),value:e,inclusive:!0})}function Lo(e,t){return new Mr({check:`greater_than`,...D(t),value:e,inclusive:!1})}function Ro(e,t){return new Mr({check:`greater_than`,...D(t),value:e,inclusive:!0})}function zo(e,t){return new Nr({check:`multiple_of`,...D(t),value:e})}function Bo(e,t){return new Fr({check:`max_length`,...D(t),maximum:e})}function Vo(e,t){return new Ir({check:`min_length`,...D(t),minimum:e})}function Ho(e,t){return new Lr({check:`length_equals`,...D(t),length:e})}function Uo(e,t){return new zr({check:`string_format`,format:`regex`,...D(t),pattern:e})}function Wo(e){return new Br({check:`string_format`,format:`lowercase`,...D(e)})}function Go(e){return new Vr({check:`string_format`,format:`uppercase`,...D(e)})}function Ko(e,t){return new Hr({check:`string_format`,format:`includes`,...D(t),includes:e})}function qo(e,t){return new Ur({check:`string_format`,format:`starts_with`,...D(t),prefix:e})}function Jo(e,t){return new Wr({check:`string_format`,format:`ends_with`,...D(t),suffix:e})}function Yo(e){return new Gr({check:`overwrite`,tx:e})}function Xo(e){return Yo(t=>t.normalize(e))}function Zo(){return Yo(e=>e.trim())}function Qo(){return Yo(e=>e.toLowerCase())}function $o(){return Yo(e=>e.toUpperCase())}function es(){return Yo(e=>pt(e))}function ts(e,t,n){return new e({type:`array`,element:t,...D(n)})}function ns(e,t,n){let r=D(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function rs(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...D(n)})}function is(e,t){let n=as(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(Gt(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(Gt(r))}},e(t.value,t)),t);return n}function as(e,t){let n=new Or({check:`custom`,...D(t)});return n._zod.check=e,n}function os(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&it(e,t,n[t]);return e}function ss(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??$a,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 cs(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function ls(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,ls(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&os(o.schema,c),t.io===`input`&&ys(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function us(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function ds(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${us(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+us(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
73
|
+
|
|
74
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function fs(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;fs(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}var ps=new Set([`type`,`properties`,`required`,`additionalProperties`]),ms=[`oneOf`,`anyOf`];function hs(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function gs(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!ps.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??hs(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}it(n,r,e.length===1?e[0]:gs(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=hs(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function _s(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of ps)if(t in e)return;let n=t.filter(e=>ms.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=gs(t);else{let e=n[0],i=ms.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>gs([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,os(e,r))}function vs(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):os(i,s),os(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())fs(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])_s(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}os(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,it(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:xs(t,`input`,e.processors),output:xs(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function ys(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return ys(r.element,n);if(r.type===`set`)return ys(r.valueType,n);if(r.type===`lazy`)return ys(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return ys(r.innerType,n);if(r.type===`intersection`)return ys(r.left,n)||ys(r.right,n);if(r.type===`record`||r.type===`map`)return ys(r.keyType,n)||ys(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:ys(r.in,n)||ys(r.out,n);if(r.type===`object`){for(let e in r.shape)if(ys(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(ys(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(ys(e,n))return!0;return!!(r.rest&&ys(r.rest,n))}return!1}var bs=(e,t={})=>n=>{let r=ss({...n,processors:t});return ls(e,r),ds(r,e),vs(r,e)},xs=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=ss({...i??{},target:a,io:t,processors:n});return ls(e,o),ds(o,e),vs(o,e)},Ss=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},Cs=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},ws=(e,t)=>{Ss(e,`minimum`,t),Cs(e,`maximum`,t)},Ts=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Es=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Ds=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Os=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},ks=(e,t)=>Ss(e,`minimum`,t.minimum),As=(e,t)=>Cs(e,`maximum`,t.maximum),js=e=>(t,n)=>{Os(t,n.format);let[r,i]=e[n.format];Ss(t,`minimum`,r),Cs(t,`maximum`,i)},Ms={greater_than:(e,t)=>Ss(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>Cs(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>Ts(e,t.value),number_format:js(wt),bigint_format:js(Tt),min_length:ks,max_length:As,length_equals:(e,t)=>ws(e,t.length),min_size:ks,max_size:As,size_equals:(e,t)=>ws(e,t.size),string_format:(e,t)=>{Os(e,t.format),t.pattern&&Es(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Ds(e,t.mime)};function Ns(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Ms[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&Ss(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&Ss(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&Cs(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&Cs(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&Ts(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Ds(t,i.mime);for(let e of i.patterns??[])Es(t,e);return t}var Ps={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Fs=new Map([[Ai,dr],[Mi,fr]]),Is=e=>Fs.get(e)??e,Ls=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=Ns(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Ps[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(Is);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Rs=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=Ns(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):cs(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},zs=(e,t,n,r)=>{n.type=`boolean`},Bs=(e,t,n,r)=>{cs(e,t,n,r,`BigInt cannot be represented in JSON Schema`)},Vs=(e,t,n,r)=>{cs(e,t,n,r,`Symbols cannot be represented in JSON Schema`)},Hs=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},Us=(e,t,n,r)=>{cs(e,t,n,r,`Undefined cannot be represented in JSON Schema`)},Ws=(e,t,n,r)=>{cs(e,t,n,r,`Void cannot be represented in JSON Schema`)},Gs=(e,t,n,r)=>{n.not={}},Ks=(e,t,n,r)=>{},qs=(e,t,n,r)=>{},Js=(e,t,n,r)=>{cs(e,t,n,r,`Date cannot be represented in JSON Schema`)},Ys=(e,t,n,r)=>{let i=e._zod.def,a=Xe(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Xs=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(cs(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(cs(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},Zs=(e,t,n,r)=>{cs(e,t,n,r,`NaN cannot be represented in JSON Schema`)},Qs=(e,t,n,r)=>{let i=n,a=e._zod.pattern;if(!a)throw Error(`Pattern not found in template literal`);i.type=`string`,i.pattern=a.source},$s=(e,t,n,r)=>{let i=n;i.type=`string`,i.format=`binary`,i.contentEncoding=`binary`;let{minimum:a,maximum:o,mime:s}=Ns(e);a!==void 0&&(i.minLength=a),o!==void 0&&(i.maxLength=o),s&&(s.length===0?i.not={}:s.length===1?i.contentMediaType=s[0]:i.anyOf=s.map(e=>({contentMediaType:e})))},ec=(e,t,n,r)=>{n.type=`boolean`},tc=(e,t,n,r)=>{cs(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},nc=(e,t,n,r)=>{cs(e,t,n,r,`Function types cannot be represented in JSON Schema`)},rc=(e,t,n,r)=>{cs(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},ic=(e,t,n,r)=>{cs(e,t,n,r,`Map cannot be represented in JSON Schema`)},ac=(e,t,n,r)=>{cs(e,t,n,r,`Set cannot be represented in JSON Schema`)},oc=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=Ns(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=ls(a.element,t,{...r,path:[...r.path,`items`]})};function sc(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?sc(t.out):t.type===`catch`?sc(t.innerType):e._zod.optin}var cc=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&cs(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)it(i.properties,e,ls(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?sc(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=ls(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},lc=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>ls(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},uc=(e,t,n,r)=>{let i=e._zod.def,a=ls(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=ls(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)},dc=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`array`;let o=t.target===`draft-2020-12`?`prefixItems`:`items`,s=t.target===`draft-2020-12`||t.target===`openapi-3.0`?`items`:`additionalItems`,c=a.items.map((e,n)=>ls(e,t,{...r,path:[...r.path,o,n]})),l=a.rest?ls(a.rest,t,{...r,path:[...r.path,s,...t.target===`openapi-3.0`?[a.items.length]:[]]}):null,u=a.items.length;for(;u>0;){let e=a.items[u-1];if(!(t.io===`input`?sc(e)!==void 0:e._zod.optout===`optional`))break;u--}let d=a.items.length,f=!a.rest;t.target===`draft-2020-12`?(i.prefixItems=c,f?i.items=!1:l&&(i.items=l),u>0&&(i.minItems=u),f&&(i.maxItems=d)):t.target===`openapi-3.0`?(i.items={anyOf:c},l&&i.items.anyOf.push(l),u>0&&(i.minItems=u),f&&(i.maxItems=d)):(i.items=c,f?i.additionalItems=!1:l&&(i.additionalItems=l),u>0&&(i.minItems=u),f&&(i.maxItems=d));let{minimum:p,maximum:m}=Ns(e);typeof p==`number`&&(i.minItems=p),typeof m==`number`&&(i.maxItems=m)};function fc(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=fc(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>fc(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?Cr:Sr).source),p):p}var pc=new WeakMap;function mc(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of pc.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=fc(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}var hc=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=Ns(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=ls(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)it(i.patternProperties,Is(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=ls(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=pc.get(t);n||(n=[],pc.set(t,n),t.deferred.push(()=>mc(t))),n.push(e)}i.additionalProperties=ls(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&sc(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},gc=(e,t,n,r)=>{let i=e._zod.def,a=ls(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},_c=(e,t,n,r)=>{let i=e._zod.def;ls(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},vc=Symbol();function yc(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(cs(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),vc):JSON.parse(o)}var bc=(e,t,n,r)=>{let i=e._zod.def;ls(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=yc(i.defaultValue,e,t,n,r);o!==vc&&(n.default=o)},xc=(e,t,n,r)=>{let i=e._zod.def;ls(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=yc(i.defaultValue,e,t,n,r);o!==vc&&(n._prefault=o)},Sc=(e,t,n,r)=>{let i=e._zod.def;ls(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{cs(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Cc=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;ls(o,t,r);let s=t.seen.get(e);s.ref=o},wc=(e,t,n,r)=>{let i=e._zod.def;ls(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Tc=(e,t,n,r)=>{let i=e._zod.def;ls(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ec=(e,t,n,r)=>{let i=e._zod.def;ls(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Dc={string:Ls,number:Rs,boolean:zs,bigint:Bs,symbol:Vs,null:Hs,undefined:Us,void:Ws,never:Gs,any:Ks,unknown:qs,date:Js,enum:Ys,literal:Xs,nan:Zs,template_literal:Qs,file:$s,success:ec,custom:tc,function:nc,transform:rc,map:ic,set:ac,array:oc,object:cc,union:lc,intersection:uc,tuple:dc,record:hc,nullable:gc,nonoptional:_c,default:bc,prefault:xc,catch:Sc,pipe:Cc,readonly:wc,promise:Tc,optional:Ec,lazy:(e,t,n,r)=>{let i=e._zod.innerType;ls(i,t,r);let a=t.seen.get(e);a.ref=i}};function Oc(e,t){if(`_idmap`in e){let n=e,r=ss({...t,processors:Dc}),i={};for(let e of n._idmap.entries()){let[t,n]=e;ls(n,r)}let a={};r.external={registry:n,uri:t?.uri,defs:i};for(let e of n._idmap.entries()){let[t,n]=e;ds(r,n),it(a,t,vs(r,n))}return Object.keys(i).length>0&&(a.__shared={[r.target===`draft-2020-12`?`$defs`:`definitions`]:i}),{schemas:a}}let n=ss({...t,processors:Dc});return ls(e,n),ds(n,e),vs(n,e)}var kc=new WeakSet([Object.prototype,Error.prototype]);function Ac(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}var jc=O(`ZodError`,(e,t)=>{bn.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);kc.has(n)||(kc.add(n),Ac(n,`format`,e=>t=>wn(e,t)),Ac(n,`flatten`,e=>t=>Cn(e,t)),Ac(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Qe,2)}),Ac(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Qe,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Mc=En(jc),Nc=On(jc),Pc=An(jc),Fc=Nn(jc),Ic=Bn(jc),Lc=Vn(jc),Rc=Hn(jc),zc=Un(jc),Bc=Wn(jc),Vc=Gn(jc),Hc=Kn(jc),Uc=qn(jc);function Wc(){fn.localeError||pn(Ya())}function Gc(){fn.memoizer||pn({memoizer:Ka()})}var Kc=O(`ZodType`,(e,t)=>(Wc(),Jr.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(dt(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return xt(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(hu(e,t))},superRefine(e,t){return this.check(gu(e,t))},overwrite(e){return this.check(Yo(e))},optional(){return Yl(this)},exactOptional(){return Zl(this)},nullable(){return $l(this)},nullish(){return Yl($l(this))},nonoptional(e){return au(this,e)},array(){return M(this)},or(e){return Fl([this,e])},and(e){return zl(this,e)},transform(e){return lu(this,ql(e))},default(e){return tu(this,e)},prefault(e){return ru(this,e)},catch(e){return su(this,e)},pipe(e){return lu(this,e)},readonly(){return fu(this)},describe(e){let t=this.clone();return $a.add(t,{description:e}),t},meta(...e){if(e.length===0)return $a.get(this);let t=this.clone();return $a.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 Jt(this,`~standard`,{...Zr(this),jsonSchema:{input:xs(this,`input`),output:xs(this,`output`)}})},set"~standard"(e){qt(this,`~standard`,e)},parse:function e(t,n){return Mc(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Nc(this,t,n,{callee:e})},safeParse(e,t){return Pc(this,e,t)},async safeParseAsync(e,t){return Fc(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){qt(this,`spa`,e)},validate(e,t){return Ln(this,e,t)},validateAsync(e,t){return zn(this,e,t)},encode:function e(t,n){return Ic(this,t,n,{callee:e})},decode:function e(t,n){return Lc(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Rc(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await zc(this,t,n,{callee:e})},safeEncode(e,t){return Bc(this,e,t)},safeDecode(e,t){return Vc(this,e,t)},async safeEncodeAsync(e,t){return Hc(this,e,t)},async safeDecodeAsync(e,t){return Uc(this,e,t)},toJSONSchema(e){return bs(this,{})(e)},get description(){return $a.get(this)?.description},get _def(){return this._zod.def}}),qc=O(`_ZodString`,(e,t)=>{Qr.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ls(e,t,n,r)},Yt({format:e=>Ns(e).format??null,minLength:e=>Ns(e).minimum??null,maxLength:e=>Ns(e).maximum??null},{regex(...e){return this.check(Uo(...e))},includes(...e){return this.check(Ko(...e))},startsWith(...e){return this.check(qo(...e))},endsWith(...e){return this.check(Jo(...e))},min(...e){return this.check(Vo(...e))},max(...e){return this.check(Bo(...e))},length(...e){return this.check(Ho(...e))},nonempty(...e){return this.check(Vo(1,...e))},lowercase(e){return this.check(Wo(e))},uppercase(e){return this.check(Go(e))},trim(){return this.check(Zo())},normalize(...e){return this.check(Xo(...e))},toLowerCase(){return this.check(Qo())},toUpperCase(){return this.check($o())},slugify(){return this.check(es())}})),Jc=O(`ZodString`,(e,t)=>{Qr.init(e,t),qc.init(e,t)},{email(e){return this.check(no(el,e))},url(e){return this.check(co(il,e))},jwt(e){return this.check(wo(bl,e))},emoji(e){return this.check(lo(ol,e))},guid(e){return this.check(ro(tl,e))},uuid(e){return this.check(io(nl,e))},uuidv4(e){return this.check(ao(nl,e))},uuidv6(e){return this.check(oo(nl,e))},uuidv7(e){return this.check(so(nl,e))},nanoid(e){return this.check(uo(sl,e))},cuid(e){return this.check(fo(cl,e))},cuid2(e){return this.check(po(ll,e))},ulid(e){return this.check(mo(ul,e))},base64(e){return this.check(xo(_l,e))},base64url(e){return this.check(So(vl,e))},xid(e){return this.check(ho(dl,e))},ksuid(e){return this.check(go(fl,e))},ipv4(e){return this.check(_o(pl,e))},ipv6(e){return this.check(vo(ml,e))},cidrv4(e){return this.check(yo(hl,e))},cidrv6(e){return this.check(bo(gl,e))},e164(e){return this.check(Co(yl,e))},datetime(e){return this.check(To(Xc,e))},date(e){return this.check(Eo(Zc,e))},time(e){return this.check(Do(Qc,e))},duration(e){return this.check(Oo($c,e))}});function k(e){return to(Jc,e)}var Yc=O(`ZodStringFormat`,(e,t)=>{$r.init(e,t),qc.init(e,t)}),Xc=O(`ZodISODateTime`,(e,t)=>{vi.init(e,t),Yc.init(e,t)}),Zc=O(`ZodISODate`,(e,t)=>{yi.init(e,t),Yc.init(e,t)}),Qc=O(`ZodISOTime`,(e,t)=>{bi.init(e,t),Yc.init(e,t)}),$c=O(`ZodISODuration`,(e,t)=>{xi.init(e,t),Yc.init(e,t)}),el=O(`ZodEmail`,(e,t)=>{ni.init(e,t),Yc.init(e,t)}),tl=O(`ZodGUID`,(e,t)=>{ei.init(e,t),Yc.init(e,t)}),nl=O(`ZodUUID`,(e,t)=>{ti.init(e,t),Yc.init(e,t)});function rl(e){return io(nl,e)}var il=O(`ZodURL`,(e,t)=>{ui.init(e,t),Yc.init(e,t)});function al(e){return co(il,e)}var ol=O(`ZodEmoji`,(e,t)=>{di.init(e,t),Yc.init(e,t)}),sl=O(`ZodNanoID`,(e,t)=>{fi.init(e,t),Yc.init(e,t)}),cl=O(`ZodCUID`,(e,t)=>{pi.init(e,t),Yc.init(e,t)}),ll=O(`ZodCUID2`,(e,t)=>{mi.init(e,t),Yc.init(e,t)}),ul=O(`ZodULID`,(e,t)=>{hi.init(e,t),Yc.init(e,t)}),dl=O(`ZodXID`,(e,t)=>{gi.init(e,t),Yc.init(e,t)}),fl=O(`ZodKSUID`,(e,t)=>{_i.init(e,t),Yc.init(e,t)}),pl=O(`ZodIPv4`,(e,t)=>{Si.init(e,t),Yc.init(e,t)}),ml=O(`ZodIPv6`,(e,t)=>{Ti.init(e,t),Yc.init(e,t)}),hl=O(`ZodCIDRv4`,(e,t)=>{Ei.init(e,t),Yc.init(e,t)}),gl=O(`ZodCIDRv6`,(e,t)=>{Oi.init(e,t),Yc.init(e,t)}),_l=O(`ZodBase64`,(e,t)=>{ji.init(e,t),Yc.init(e,t)}),vl=O(`ZodBase64URL`,(e,t)=>{Pi.init(e,t),Yc.init(e,t)}),yl=O(`ZodE164`,(e,t)=>{Fi.init(e,t),Yc.init(e,t)}),bl=O(`ZodJWT`,(e,t)=>{Li.init(e,t),Yc.init(e,t)}),xl=O(`ZodNumber`,(e,t)=>{Ri.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Rs(e,t,n,r),e.isFinite=!0},Yt({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=Ns(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=Ns(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=Ns(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>Ns(e).format??null},{gt(e,t){return this.check(Lo(e,t))},gte(e,t){return this.check(Ro(e,t))},min(e,t){return this.check(Ro(e,t))},lt(e,t){return this.check(Fo(e,t))},lte(e,t){return this.check(Io(e,t))},max(e,t){return this.check(Io(e,t))},int(e){return this.check(Cl(e))},safe(e){return this.check(Cl(e))},positive(e){return this.check(Lo(0,e))},nonnegative(e){return this.check(Ro(0,e))},negative(e){return this.check(Fo(0,e))},nonpositive(e){return this.check(Io(0,e))},multipleOf(e,t){return this.check(zo(e,t))},step(e,t){return this.check(zo(e,t))},finite(){return this}}));function A(e){return ko(xl,e)}var Sl=O(`ZodNumberFormat`,(e,t)=>{zi.init(e,t),xl.init(e,t)});function Cl(e){return Ao(Sl,e)}var wl=O(`ZodBoolean`,(e,t)=>{Bi.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zs(e,t,n,r)});function j(e){return jo(wl,e)}var Tl=O(`ZodNull`,(e,t)=>{Vi.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hs(e,t,n,r)});function El(e){return Mo(Tl,e)}var Dl=O(`ZodUnknown`,(e,t)=>{Hi.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Ol(){return No(Dl)}var kl=O(`ZodNever`,(e,t)=>{Ui.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gs(e,t,n,r)});function Al(e){return Po(kl,e)}var jl=O(`ZodArray`,(e,t)=>{Gc(),Gi.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oc(e,t,n,r),e.element=t.element},{min(e,t){return this.check(Vo(e,t))},nonempty(e){return this.check(Vo(1,e))},max(e,t){return this.check(Bo(e,t))},length(e,t){return this.check(Ho(e,t))},unwrap(){return this.element}});function M(e,t){return ts(jl,e,t)}var Ml=O(`ZodObject`,(e,t)=>{Gc(),Zi.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cc(e,t,n,r),nn(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return F(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(dt(this._zod.def,{catchall:e}))},passthrough(){return this.clone(dt(this._zod.def,{catchall:Ol()}))},loose(){return this.clone(dt(this._zod.def,{catchall:Ol()}))},strict(){return this.clone(dt(this._zod.def,{catchall:Al()}))},strip(){return this.clone(dt(this._zod.def,{catchall:void 0}))},extend(e){return kt(this,e)},safeExtend(e){return jt(this,e)},merge(e){return Mt(this,e)},pick(e){return Et(this,e)},omit(e){return Ot(this,e)},partial(...e){return Nt(Jl,this,e[0])},exactPartial(...e){return Nt(Xl,this,e[0],`exactPartial`)},required(...e){return Pt(iu,this,e[0])}});function N(e,t){return new Ml({type:`object`,shape:e??{},...D(t)})}function P(e,t){return new Ml({type:`object`,shape:e,catchall:Al(),...D(t)})}function Nl(e,t){return new Ml({type:`object`,shape:e,catchall:Ol(),...D(t)})}var Pl=O(`ZodUnion`,(e,t)=>{$i.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lc(e,t,n,r),e.options=t.options});function Fl(e,t){return new Pl({type:`union`,options:e,...D(t)})}var Il=O(`ZodDiscriminatedUnion`,(e,t)=>{Pl.init(e,t),ta.init(e,t)});function Ll(e,t,n){return new Il({type:`union`,options:t,discriminator:e,...D(n)})}var Rl=O(`ZodIntersection`,(e,t)=>{na.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uc(e,t,n,r)});function zl(e,t){return new Rl({type:`intersection`,left:e,right:t})}var Bl=O(`ZodTuple`,(e,t)=>{Gc(),aa.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>dc(e,t,n,r)},{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(e=>new Jl({type:`optional`,innerType:e}))})}});function Vl(e,t,n){let r=t instanceof Jr;return new Bl({type:`tuple`,items:e,rest:r?t:null,...D(r?n:t)})}var Hl=O(`ZodRecord`,(e,t)=>{Gc(),la.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hc(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Ul(e,t,n){return!t||!t._zod?new Hl({type:`record`,keyType:k(),valueType:e,...D(t)}):new Hl({type:`record`,keyType:e,valueType:t,...D(n)})}var Wl=O(`ZodEnum`,(e,t)=>{ua.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ys(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Wl({...t,checks:[],...D(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Wl({...t,checks:[],...D(r),entries:i})}});function F(e,t){return new Wl({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...D(t)})}var Gl=O(`ZodLiteral`,(e,t)=>{da.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xs(e,t,n,r),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 I(e,t){return new Gl({type:`literal`,values:Array.isArray(e)?e:[e],...D(t)})}var Kl=O(`ZodTransform`,(e,t)=>{Gc(),fa.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>rc(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new dn(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(Gt(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(Gt(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function ql(e){return new Kl({type:`transform`,transform:e})}var Jl=O(`ZodOptional`,(e,t)=>{ma.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ec(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Yl(e){return new Jl({type:`optional`,innerType:e})}var Xl=O(`ZodExactOptional`,(e,t)=>{ha.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ec(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zl(e){return new Xl({type:`optional`,innerType:e})}var Ql=O(`ZodNullable`,(e,t)=>{ga.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $l(e){return new Ql({type:`nullable`,innerType:e})}var eu=O(`ZodDefault`,(e,t)=>{_a.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function tu(e,t){return new eu({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():vt(t)}})}var nu=O(`ZodPrefault`,(e,t)=>{ya.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ru(e,t){return new nu({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():vt(t)}})}var iu=O(`ZodNonOptional`,(e,t)=>{ba.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_c(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function au(e,t){return new iu({type:`nonoptional`,innerType:e,...D(t)})}var ou=O(`ZodCatch`,(e,t)=>{Ca.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function su(e,t){return new ou({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:an(t)})}var cu=O(`ZodPipe`,(e,t)=>{wa.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cc(e,t,n,r),e.in=t.in,e.out=t.out});function lu(e,t){return new cu({type:`pipe`,in:e,out:t})}var uu=O(`ZodPreprocess`,(e,t)=>{cu.init(e,t),Ea.init(e,t)}),du=O(`ZodReadonly`,(e,t)=>{Da.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wc(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function fu(e){return new du({type:`readonly`,innerType:e})}var pu=O(`ZodCustom`,(e,t)=>{ka.init(e,t),Kc.init(e,t),e._zod.processJSONSchema=(t,n,r)=>tc(e,t,n,r)});function mu(e,t){return ns(pu,e??(()=>!0),t)}function hu(e,t={}){return rs(pu,e,t)}function gu(e,t){return is(e,t)}function _u(e,t){return new uu({type:`pipe`,in:ql(e),out:t})}function vu(e){return To(Xc,e)}function yu(e){return Eo(Zc,e)}var L=class extends Error{hint;constructor(e,t){super(e),this.name=`DeliveryError`,this.hint=t}},R=k().regex(/^sha256:[a-f0-9]{64}$/u),bu=k().regex(/^[a-f0-9]{40}$/u),xu=k().regex(/^[^/\s]+\/[^/\s]+$/u),Su=k().regex(/^[a-z][a-z0-9-]*$/u),Cu=N({sha:bu,tree:bu}).strict();function z(e){if(Array.isArray(e))return`[${e.map(z).join(`,`)}]`;if(typeof e==`object`&&e){let t=e;return`{${Object.keys(t).sort().map(e=>`${JSON.stringify(e)}:${z(t[e])}`).join(`,`)}}`}let t=JSON.stringify(e);if(t===void 0)throw Error(`Delivery evidence contains an unsupported value.`);return t}function B(e){return V(Buffer.from(z(e),`utf8`))}function V(e){return`sha256:${se(`sha256`).update(e).digest(`hex`)}`}function wu(e){return e.every((t,n)=>n===0||e[n-1]<t)}function Tu(e,t){return x(`git`,[...t],{cwd:e,encoding:`utf8`,maxBuffer:4194304,stdio:[`ignore`,`pipe`,`pipe`]}).trim()}function Eu(e){let{repoRoot:t,base:n,head:r,changedPaths:i}=e;if(Cu.parse(n),Cu.parse(r),!wu(i)||n.sha!==r.sha&&i.length===0)throw Error(`Exact Git range requires complete sorted changed paths.`);if(Tu(t,[`rev-parse`,`HEAD`])!==r.sha||Tu(t,[`rev-parse`,`${n.sha}^{tree}`])!==n.tree||Tu(t,[`rev-parse`,`${r.sha}^{tree}`])!==r.tree||Tu(t,[`status`,`--porcelain`,`--untracked-files=all`])!==``)throw Error(`Repository delivery requires exact clean Git source coordinates.`);if(z(Tu(t,[`diff`,`--name-only`,`-z`,n.sha,r.sha]).split(`\0`).filter(Boolean).sort())!==z(i))throw Error(`Changed paths do not match the exact Git range.`)}function Du(e,t){let n=m(e);if(ne(t)||t===``||t.includes(`\0`))throw Error(`Repository file path must be relative.`);let r=T(n,t),i=ie(n,r);if(i===`..`||i.startsWith(`..${ae}`)||i===``)throw Error(`Repository file escapes its root.`);let a=o(r);if(!a.isFile()||a.isSymbolicLink()||m(r)!==r)throw Error(`Repository file must be one regular file beneath the root.`);return r}function Ou(e,t){R.parse(t.digest);let n=Du(e,t.path);if(V(u(n))!==t.digest)throw Error(`Repository artifact is corrupt: ${t.path}`)}function H(e,n){let i=o(e);if(!i.isFile()||i.isSymbolicLink()||i.nlink!==1||(i.mode&511)!=384)throw Error(`Delivery evidence must be a private regular file.`);if(n===void 0)return u(e);if(n.maxBytes!==void 0&&i.size>n.maxBytes||n.expectedBytes!==void 0&&i.size!==n.expectedBytes)throw Error(`Delivery evidence size exceeds its bound or differs from retained evidence.`);let a=l(e,`r`);try{let t=r(a);if(t.dev!==i.dev||t.ino!==i.ino||t.size!==i.size||t.mode!==i.mode||t.nlink!==i.nlink||t.uid!==i.uid||t.mtimeMs!==i.mtimeMs||t.ctimeMs!==i.ctimeMs)throw Error(`Delivery evidence identity changed before its bounded read.`);let n=Buffer.alloc(i.size),s=0;for(;s<n.length;){let e=d(a,n,s,n.length-s,s);if(e===0)throw Error(`Delivery evidence was truncated during its bounded read.`);s+=e}let c=r(a),l=o(e);if(c.dev!==t.dev||c.ino!==t.ino||c.size!==t.size||c.mode!==t.mode||c.nlink!==t.nlink||c.uid!==t.uid||c.mtimeMs!==t.mtimeMs||c.ctimeMs!==t.ctimeMs||l.dev!==c.dev||l.ino!==c.ino||l.isSymbolicLink())throw Error(`Delivery evidence bytes are missing, corrupt or changed during its bounded read.`);return n}finally{t(a)}}function ku(e){let n=l(C(e),`r`);try{i(n)}finally{t(n)}}function Au(e,n,r){if(r!==void 0&&(r!==V(n)||te(e)!==`${r.slice(7)}.bin`))throw Error(`Immutable output path does not bind its bytes.`);try{if(!H(e,{expectedBytes:n.length}).equals(n))throw Error(`Content addressed evidence path collision.`);return ku(e),e}catch(e){if(e.code!==`ENOENT`)throw e}s(C(e),{recursive:!0,mode:448});let o=w(C(e),`.${te(e)}.${le()}.tmp`),c=l(o,`wx`,384),u=!1;try{try{b(c,n),i(c)}finally{t(c)}try{r===void 0?a(o,e):(h(o,e),u=!0)}catch(t){if(t.code!==`EEXIST`||!H(e,{expectedBytes:n.length}).equals(n))throw t}}finally{u||y(o)}if(ku(e),!H(e,{expectedBytes:n.length}).equals(n))throw Error(`Content addressed evidence write failed.`);return e}function ju(){return typeof navigator==`object`&&`userAgent`in navigator?navigator.userAgent:typeof process==`object`&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:`<environment undetectable>`}var Mu={method:`GET`,baseUrl:`https://api.github.com`,headers:{accept:`application/vnd.github.v3+json`,"user-agent":`octokit-endpoint.js/0.0.0-development ${ju()}`},mediaType:{format:``}};function Nu(e){return e?Object.keys(e).reduce((t,n)=>(t[n.toLowerCase()]=e[n],t),{}):{}}function Pu(e){if(typeof e!=`object`||!e||Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let n=Object.prototype.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&Function.prototype.call(n)===Function.prototype.call(e)}function Fu(e,t){let n=Object.assign({},e);return Object.keys(t).forEach(r=>{Pu(t[r])&&r in e?n[r]=Fu(e[r],t[r]):Object.assign(n,{[r]:t[r]})}),n}function Iu(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function Lu(e,t,n){if(typeof t==`string`){let[e,r]=t.split(` `);n=Object.assign(r?{method:e,url:r}:{url:e},n)}else n=Object.assign({},t);n.headers=Nu(n.headers),Iu(n),Iu(n.headers);let r=Fu(e||{},n);return n.url===`/graphql`&&(e&&e.mediaType.previews?.length&&(r.mediaType.previews=e.mediaType.previews.filter(e=>!r.mediaType.previews.includes(e)).concat(r.mediaType.previews)),r.mediaType.previews=(r.mediaType.previews||[]).map(e=>e.replace(/-preview/,``))),r}function Ru(e,t){let n=/\?/.test(e)?`&`:`?`,r=Object.keys(t);return r.length===0?e:e+n+r.map(e=>e===`q`?`q=`+t.q.split(`+`).map(encodeURIComponent).join(`+`):`${e}=${encodeURIComponent(t[e])}`).join(`&`)}var zu=/\{[^{}}]+\}/g;function Bu(e){return e.replace(/(?:^\W+)|(?:(?<!\W)\W+$)/g,``).split(/,/)}function Vu(e){let t=e.match(zu);return t?t.map(Bu).reduce((e,t)=>e.concat(t),[]):[]}function Hu(e,t){let n={__proto__:null};for(let r of Object.keys(e))t.indexOf(r)===-1&&(n[r]=e[r]);return n}function Uu(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(e){return/%[0-9A-Fa-f]/.test(e)||(e=encodeURI(e).replace(/%5B/g,`[`).replace(/%5D/g,`]`)),e}).join(``)}function Wu(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return`%`+e.charCodeAt(0).toString(16).toUpperCase()})}function Gu(e,t,n){return t=e===`+`||e===`#`?Uu(t):Wu(t),n?Wu(n)+`=`+t:t}function Ku(e){return e!=null}function qu(e){return e===`;`||e===`&`||e===`?`}function Ju(e,t,n,r){var i=e[n],a=[];if(Ku(i)&&i!==``){if(typeof i==`string`||typeof i==`number`||typeof i==`bigint`||typeof i==`boolean`)i=i.toString(),r&&r!==`*`&&(i=i.substring(0,parseInt(r,10))),a.push(Gu(t,i,qu(t)?n:``));else if(r===`*`)Array.isArray(i)?i.filter(Ku).forEach(function(e){a.push(Gu(t,e,qu(t)?n:``))}):Object.keys(i).forEach(function(e){Ku(i[e])&&a.push(Gu(t,i[e],e))});else{let e=[];Array.isArray(i)?i.filter(Ku).forEach(function(n){e.push(Gu(t,n))}):Object.keys(i).forEach(function(n){Ku(i[n])&&(e.push(Wu(n)),e.push(Gu(t,i[n].toString())))}),qu(t)?a.push(Wu(n)+`=`+e.join(`,`)):e.length!==0&&a.push(e.join(`,`))}}else t===`;`?Ku(i)&&a.push(Wu(n)):i===``&&(t===`&`||t===`?`)?a.push(Wu(n)+`=`):i===``&&a.push(``);return a}function Yu(e){return{expand:Xu.bind(null,e)}}function Xu(e,t){var n=[`+`,`#`,`.`,`/`,`;`,`?`,`&`];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(e,r,i){if(r){let e=``,i=[];if(n.indexOf(r.charAt(0))!==-1&&(e=r.charAt(0),r=r.substr(1)),r.split(/,/g).forEach(function(n){var r=/([^:\*]*)(?::(\d+)|(\*))?/.exec(n);i.push(Ju(t,e,r[1],r[2]||r[3]))}),e&&e!==`+`){var a=`,`;return e===`?`?a=`&`:e!==`#`&&(a=e),(i.length===0?``:e)+i.join(a)}return i.join(`,`)}return Uu(i)}),e===`/`?e:e.replace(/\/$/,``)}function Zu(e){let t=e.method.toUpperCase(),n=(e.url||`/`).replace(/:([a-z]\w+)/g,`{$1}`),r=Object.assign({},e.headers),i,a=Hu(e,[`method`,`baseUrl`,`url`,`headers`,`request`,`mediaType`]),o=Vu(n);n=Yu(n).expand(a),/^http/.test(n)||(n=e.baseUrl+n);let s=Hu(a,Object.keys(e).filter(e=>o.includes(e)).concat(`baseUrl`));return/application\/octet-stream/i.test(r.accept)||(e.mediaType.format&&(r.accept=r.accept.split(/,/).map(t=>t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(`,`)),n.endsWith(`/graphql`)&&e.mediaType.previews?.length&&(r.accept=(r.accept.match(/(?<![\w-])[\w-]+(?=-preview)/g)||[]).concat(e.mediaType.previews).map(t=>`application/vnd.github.${t}-preview${e.mediaType.format?`.${e.mediaType.format}`:`+json`}`).join(`,`))),[`GET`,`HEAD`].includes(t)?n=Ru(n,s):`data`in s?i=s.data:Object.keys(s).length&&(i=s),!r[`content-type`]&&i!==void 0&&(r[`content-type`]=`application/json; charset=utf-8`),[`PATCH`,`PUT`].includes(t)&&i===void 0&&(i=``),Object.assign({method:t,url:n,headers:r},i===void 0?null:{body:i},e.request?{request:e.request}:null)}function Qu(e,t,n){return Zu(Lu(e,t,n))}function $u(e,t){let n=Lu(e,t),r=Qu.bind(null,n);return Object.assign(r,{DEFAULTS:n,defaults:$u.bind(null,n),merge:Lu.bind(null,n),parse:Zu})}var ed=$u(null,Mu),td=32,nd=9,rd=59,id=61,ad=34,od=92,sd=44,cd=1,ld=2,ud=4,dd=8,fd=16,pd=65280,md=65281,hd=new Uint8Array(256);hd[nd]|=ld,hd[td]|=ld,hd[rd]|=ud,hd[sd]|=dd;for(let e=128;e<=255;e++)hd[e]|=cd;for(let e of"!#$%&'*+-.^_`|~")hd[e.charCodeAt(0)]|=fd;for(let e=48;e<=57;e++)hd[e]|=fd;for(let e=65;e<=90;e++)hd[e]|=17;for(let e=97;e<=122;e++)hd[e]|=fd;var gd=(()=>{let e=function(){};return e.prototype=Object.create(null),e})();function _d(e,t){let n=ud|(t?.comma===!0?dd:0),r=e.length,i=t?.start??0;for(;(hd[e.charCodeAt(i)]&ld)!==0;)i++;let a=i,o=0,s=-1,c=t?.parameters===!1?dd:0;for(;a<r;){let t=e.charCodeAt(a),r=hd[t];if((r&n)!==0){c|=rⅆbreak}(r&ld)===0?s=-1:s===-1&&(s=a),o|=t&pd|r,a++}let l=s===-1?a:s,u=e.slice(i,l),d=(o&md)===0?u:u.toLowerCase();return a===r||c!==0?{type:d,index:a,parameters:new gd}:vd(e,d,a,r,n)}function vd(e,t,n,r,i){let a=new gd;parameter:for(;n<r;){for(n++;(hd[e.charCodeAt(n)]&ld)!==0;)n++;let t=n,o=0,s=-1;for(;n<r;){let c=e.charCodeAt(n),l=hd[c];if((l&i)!==0){if((l&dd)!==0)break parameter;continue parameter}if(c===id){let c=s===-1?n:s,l=e.slice(t,c),u=(o&md)===0?l:l.toLowerCase();for(n++;(hd[e.charCodeAt(n)]&ld)!==0;)n++;if(n<r&&e.charCodeAt(n)===ad){let t=++n,o=!1;for(;n<r;){let s=e.charCodeAt(n);if(s===ad){a[u]===void 0&&(a[u]=o?yd(e,t,n):e.slice(t,n)),n++;let s=0;for(;n<r;){let t=hd[e.charCodeAt(n)];if((t&i)!==0){s=tⅆbreak}n++}if(s!==0)break parameter;continue parameter}if(s===od&&n+1<r){o=!0,n+=2;continue}n++}continue parameter}let d=n,f=0,p=-1;for(;n<r;){let t=hd[e.charCodeAt(n)];if((t&i)!==0){f=tⅆbreak}(t&ld)===0?p=-1:p===-1&&(p=n),n++}if(a[u]===void 0){let t=p===-1?n:p;a[u]=e.slice(d,t)}if(f!==0)break parameter;continue parameter}(l&ld)===0?s=-1:s===-1&&(s=n),o|=c&pd|l,n++}}return{type:t,index:n,parameters:a}}function yd(e,t,n){let r=``;for(let i=t;i<n;i++)e.charCodeAt(i)===od&&(r+=e.slice(t,i),t=++i);return r+e.slice(t,n)}var bd=/^-?\d+$/,xd=/^-?\d+n+$/,Sd=JSON.stringify,Cd=JSON.parse,wd=/^-?\d+n$/,Td=/([\[:])?"(-?\d+)n"($|\s*[,\}\]])/g,Ed=/([\[:])?("-?\d+n+)n("$|"\s*[,\}\]])/g,Dd=e=>e===void 0||typeof e==`function`||typeof e==`symbol`,Od=e=>typeof e==`object`&&!!e&&e.constructor&&e.constructor.name===`RawJSON`,kd=(e,t,n)=>{let r=``;typeof n==`number`?r=` `.repeat(Math.min(10,Math.max(0,Math.floor(n)))):typeof n==`string`&&(r=n.slice(0,10));let i=typeof t==`function`,a=Array.isArray(t)?new Set(t.map(String)):null,o=(e,n,r)=>(typeof r==`object`&&r&&typeof r.toJSON==`function`&&(r=r.toJSON(n)),typeof r==`string`&&xd.test(r)?r+`n`:typeof r==`bigint`?`rawJSON`in JSON?JSON.rawJSON(r.toString()):r.toString()+`n`:(i&&(r=t.call(e,n,r)),typeof r==`object`&&r&&(r instanceof Number||r instanceof String||r instanceof Boolean)&&(r=r.valueOf()),r)),s=o({"":e},``,e);if(Dd(s))return;let c=typeof s!=`object`||!s,l=Od(s);if(c||l)return Sd(s);let u=[],d=0,f=[{parent:{"":s},key:``,val:s,isArray:Array.isArray(s),keys:Array.isArray(s)?null:Object.keys(s),index:0,first:!0}],p=new WeakSet([s]);for(;f.length>0;){let e=f[f.length-1];e.index===0&&(u.push(e.isArray?`[`:`{`),d++);let t=!1;if(e.isArray){if(e.index<e.val.length){e.first||u.push(`,`),r&&u.push(`
|
|
75
|
+
`+r.repeat(d));let t=e.val[e.index],n=o(e.val,String(e.index),t);if(Dd(n))u.push(`null`),e.first=!1,e.index++;else{let t=typeof n==`object`&&!!n,r=Od(n);if(t&&!r){if(p.has(n))throw TypeError(`Converting circular structure to JSON`);p.add(n),f.push({parent:e.val,key:String(e.index),val:n,isArray:Array.isArray(n),keys:Array.isArray(n)?null:Object.keys(n),index:0,first:!0}),e.first=!1,e.index++}else u.push(Sd(n)),e.first=!1,e.index++}}else t=!0}else{for(;e.index<e.keys.length;){let t=e.keys[e.index++];if(a&&!a.has(t))continue;let n=e.val[t],i=o(e.val,t,n);if(Dd(i))continue;e.first||u.push(`,`),r?u.push(`
|
|
76
|
+
`+r.repeat(d)+Sd(t)+`: `):u.push(Sd(t)+`:`);let s=typeof i==`object`&&!!i,c=Od(i);if(s&&!c){if(p.has(i))throw TypeError(`Converting circular structure to JSON`);p.add(i),f.push({parent:e.val,key:t,val:i,isArray:Array.isArray(i),keys:Array.isArray(i)?null:Object.keys(i),index:0,first:!0}),e.first=!1;break}u.push(Sd(i)),e.first=!1}e.index>=e.keys.length&&f[f.length-1]===e&&(t=!0)}t&&(d--,!e.first&&r&&u.push(`
|
|
77
|
+
`+r.repeat(d)),u.push(e.isArray?`]`:`}`),p.delete(e.val),f.pop())}return u.join(``)},Ad=(e,t,n)=>{try{return`rawJSON`in JSON?Sd(e,(e,n)=>typeof n==`bigint`?JSON.rawJSON(n.toString()):typeof t==`function`?t(e,n):(Array.isArray(t)&&t.includes(e),n),n):e?Sd(e,(e,n)=>typeof n==`string`&&xd.test(n)||typeof n==`bigint`?n.toString()+`n`:typeof t==`function`?t(e,n):(Array.isArray(t)&&t.includes(e),n),n).replace(Td,`$1$2$3`).replace(Ed,`$1$2$3`):Sd(e,t,n)}catch(r){if(r instanceof RangeError){let r=kd(e,t,n);return r===void 0?void 0:`rawJSON`in JSON?r:r.replace(Td,`$1$2$3`).replace(Ed,`$1$2$3`)}throw r}},jd=new Map,Md=()=>{let e=JSON.parse.toString();if(jd.has(e))return jd.get(e);try{let t=JSON.parse(`1`,(e,t,n)=>!!n?.source&&n.source===`1`);return jd.set(e,t),t}catch{return jd.set(e,!1),!1}},Nd=(e,t,n,r)=>typeof t==`string`&&wd.test(t)?BigInt(t.slice(0,-1)):typeof t==`string`&&xd.test(t)?t.slice(0,-1):typeof r==`function`?r(e,t,n):t,Pd=(e,t)=>JSON.parse(e,(e,n,r)=>{let i=typeof n==`number`&&(n>2**53-1||n<-(2**53-1)),a=r&&bd.test(r.source);return i&&a?BigInt(r.source):typeof t==`function`?t(e,n,r):n}),Fd=(2**53-1).toString(),Id=Fd.length,Ld=/"(?:[^"\\]|\\.)*"|-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][+-]?[0-9]+)?/g,Rd=/^"-?\d+n+"$/,zd=(e,t)=>{let n={"":e},r=[{parent:n,key:``,visited:!1}];for(;r.length>0;){let e=r[r.length-1];if(e.visited){let{parent:n,key:i}=e,a=n[i];typeof a==`string`&&(wd.test(a)?a=BigInt(a.slice(0,-1)):xd.test(a)&&(a=a.slice(0,-1))),typeof t==`function`&&(a=t.call(n,i,a)),a===void 0?delete n[i]:n[i]=a,r.pop()}else{e.visited=!0;let t=e.parent[e.key];if(typeof t==`object`&&t){let e=Object.keys(t);for(let n=e.length-1;n>=0;n--)r.push({parent:t,key:e[n],visited:!1})}}}return n[``]},Bd=e=>e.replace(Ld,(e,t,n,r)=>{let i=e[0]===`"`;if(i&&Rd.test(e))return e.substring(0,e.length-1)+`n"`;let a=n||r,o=t&&(t.length<Id||t.length===Id&&t<=Fd);return i||a||o?e:`"`+e+`n"`}),Vd=(e,t)=>{if(!e)return Cd(e,t);try{return Md()?Pd(e,t):Cd(Bd(e),(e,n,r)=>Nd(e,n,r,t))}catch(n){if(n instanceof RangeError)return zd(Cd(Bd(e)),t);throw n}},Hd=class extends Error{name;status;request;response;constructor(e,t,n){super(e,{cause:n.cause}),this.name=`HttpError`,this.status=Number.parseInt(t),Number.isNaN(this.status)&&(this.status=0),`response`in n&&(this.response=n.response);let r=Object.assign({},n.request);n.request.headers.authorization&&(r.headers=Object.assign({},n.request.headers,{authorization:n.request.headers.authorization.replace(/(?<! ) .*$/,` [REDACTED]`)})),r.url=r.url.replace(/\bclient_secret=\w+/g,`client_secret=[REDACTED]`).replace(/\baccess_token=\w+/g,`access_token=[REDACTED]`),this.request=r}},Ud={headers:{"user-agent":`octokit-request.js/10.0.16 ${ju()}`}};function Wd(e){if(typeof e!=`object`||!e||Object.prototype.toString.call(e)!==`[object Object]`)return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let n=Object.prototype.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n instanceof n&&Function.prototype.call(n)===Function.prototype.call(e)}var Gd=()=>``;async function Kd(e){let t=e.request?.fetch||globalThis.fetch;if(!t)throw Error(`fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing`);let n=e.request?.log||console,r=e.request?.parseSuccessResponseBody!==!1,i=Wd(e.body)||Array.isArray(e.body)?Ad(e.body):e.body,a=Object.fromEntries(Object.entries(e.headers).map(([e,t])=>[e,String(t)])),o;try{o=await t(e.url,{method:e.method,body:i,redirect:e.request?.redirect,headers:a,signal:e.request?.signal,...e.body&&{duplex:`half`}})}catch(t){let n=`Unknown Error`;if(t instanceof Error){if(t.name===`AbortError`)throw t.status=500,t;n=t.message,t.name===`TypeError`&&`cause`in t&&(t.cause instanceof Error?n=t.cause.message:typeof t.cause==`string`&&(n=t.cause))}let r=new Hd(n,500,{request:e});throw r.cause=t,r}let s=o.status,c=o.url,l={};for(let[e,t]of o.headers)l[e]=t;let u={url:c,status:s,headers:l,data:``};if(`deprecation`in l){let t=l.link&&l.link.match(/<([^<>]+)>; rel="deprecation"/),r=t&&t.pop();n.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${l.sunset}${r?`. See ${r}`:``}`)}if(s===204||s===205)return u;if(e.method===`HEAD`){if(s<400)return u;throw new Hd(o.statusText,s,{response:u,request:e})}if(s===304)throw u.data=await qd(o),new Hd(`Not modified`,s,{response:u,request:e});if(s>=400)throw u.data=await qd(o),new Hd(Yd(u.data),s,{response:u,request:e});return u.data=r?await qd(o):o.body,u}async function qd(e){let t=e.headers.get(`content-type`);if(!t)return e.text().catch(Gd);let n=_d(t);if(Jd(n)){let t=``;try{return t=await e.text(),Vd(t)}catch{return t}}return n.type.startsWith(`text/`)||n.parameters.charset?.toLowerCase()===`utf-8`&&n.type!==`application/octet-stream`?e.text().catch(Gd):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function Jd(e){return e.type===`application/json`||e.type===`application/scim+json`}function Yd(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer)return`Unknown error`;if(typeof e==`object`&&e&&`message`in e){let t=e,n=`documentation_url`in t?` - ${t.documentation_url}`:``;return Array.isArray(t.errors)?`${t.message}: ${t.errors.map(e=>JSON.stringify(e)).join(`, `)}${n}`:`${t.message}${n}`}return`Unknown error: ${JSON.stringify(e)}`}function Xd(e,t){let n=e.defaults(t);return Object.assign(function(e,t){let r=n.merge(e,t);if(!r.request||!r.request.hook)return Kd(n.parse(r));let i=(e,t)=>Kd(n.parse(n.merge(e,t)));return Object.assign(i,{endpoint:n,defaults:Xd.bind(null,n)}),r.request.hook(i,r)},{endpoint:n,defaults:Xd.bind(null,n)})}var Zd=Xd(ed,Ud);function Qd(e){let t=e.endpoint.DEFAULTS;return/^https:\/\/(api\.)?github\.com$/.test(t.baseUrl)?`https://github.com`:/^https:\/\/api\..*\.ghe\.com$/.test(t.baseUrl)?t.baseUrl.replace(`api.`,``):t.baseUrl.replace(`/api/v3`,``)}async function $d(e,t,n){let r={baseUrl:Qd(e),headers:{accept:`application/json`},...n},i=await e(t,r);if(`error`in i.data){let n=new Hd(`${i.data.error_description} (${i.data.error}, ${i.data.error_uri})`,400,{request:e.endpoint.merge(t,r)});throw n.response=i,n}return i}async function ef(e){let t=await $d(e.request||Zd,`POST /login/oauth/access_token`,{client_id:e.clientId,client_secret:e.clientSecret,code:e.code,redirect_uri:e.redirectUrl}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:t.data.access_token,scopes:t.data.scope.split(/\s+/).filter(Boolean)};if(e.clientType===`github-app`){if(`refresh_token`in t.data){let e=new Date(t.headers.date).getTime();n.refreshToken=t.data.refresh_token,n.expiresAt=tf(e,t.data.expires_in),n.refreshTokenExpiresAt=tf(e,t.data.refresh_token_expires_in)}delete n.scopes}return{...t,authentication:n}}function tf(e,t){return new Date(e+t*1e3).toISOString()}async function nf(e){let t=e.request||Zd,n={client_id:e.clientId};return`scopes`in e&&Array.isArray(e.scopes)&&(n.scope=e.scopes.join(` `)),$d(t,`POST /login/device/code`,n)}async function rf(e){let t=await $d(e.request||Zd,`POST /login/oauth/access_token`,{client_id:e.clientId,device_code:e.code,grant_type:`urn:ietf:params:oauth:grant-type:device_code`}),n={clientType:e.clientType,clientId:e.clientId,token:t.data.access_token,scopes:t.data.scope.split(/\s+/).filter(Boolean)};if(`clientSecret`in e&&(n.clientSecret=e.clientSecret),e.clientType===`github-app`){if(`refresh_token`in t.data){let e=new Date(t.headers.date).getTime();n.refreshToken=t.data.refresh_token,n.expiresAt=af(e,t.data.expires_in),n.refreshTokenExpiresAt=af(e,t.data.refresh_token_expires_in)}delete n.scopes}return{...t,authentication:n}}function af(e,t){return new Date(e+t*1e3).toISOString()}async function of(e){let t=await(e.request||Zd)(`POST /applications/{client_id}/token`,{headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`},client_id:e.clientId,access_token:e.token}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.token,scopes:t.data.scopes};return t.data.expires_at&&(n.expiresAt=t.data.expires_at),e.clientType===`github-app`&&delete n.scopes,{...t,authentication:n}}async function sf(e){let t=await $d(e.request||Zd,`POST /login/oauth/access_token`,{client_id:e.clientId,client_secret:e.clientSecret,grant_type:`refresh_token`,refresh_token:e.refreshToken}),n=new Date(t.headers.date).getTime(),r={clientType:`github-app`,clientId:e.clientId,clientSecret:e.clientSecret,token:t.data.access_token,refreshToken:t.data.refresh_token,expiresAt:cf(n,t.data.expires_in),refreshTokenExpiresAt:cf(n,t.data.refresh_token_expires_in)};return{...t,authentication:r}}function cf(e,t){return new Date(e+t*1e3).toISOString()}async function lf(e){let t=await(e.request||Zd)(`PATCH /applications/{client_id}/token`,{headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`},client_id:e.clientId,access_token:e.token}),n={clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:t.data.token,scopes:t.data.scopes};return t.data.expires_at&&(n.expiresAt=t.data.expires_at),e.clientType===`github-app`&&delete n.scopes,{...t,authentication:n}}async function uf(e){return(e.request||Zd)(`DELETE /applications/{client_id}/token`,{headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`},client_id:e.clientId,access_token:e.token})}async function df(e){return(e.request||Zd)(`DELETE /applications/{client_id}/grant`,{headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`},client_id:e.clientId,access_token:e.token})}async function ff(e,t){let n=pf(e,t.auth);if(n)return n;let{data:r}=await nf({clientType:e.clientType,clientId:e.clientId,request:t.request||e.request,scopes:t.auth.scopes||e.scopes});await e.onVerification(r);let i=await hf(t.request||e.request,e.clientId,e.clientType,r);return e.authentication=i,i}function pf(e,t){if(t.refresh===!0||!e.authentication)return!1;if(e.clientType===`github-app`)return e.authentication;let n=e.authentication;return(`scopes`in t&&t.scopes||e.scopes).join(` `)===n.scopes.join(` `)&&n}async function mf(e){await new Promise(t=>setTimeout(t,e*1e3))}async function hf(e,t,n,r){try{let i={clientId:t,request:e,code:r.device_code},{authentication:a}=n===`oauth-app`?await rf({...i,clientType:`oauth-app`}):await rf({...i,clientType:`github-app`});return{type:`token`,tokenType:`oauth`,...a}}catch(i){if(!i.response)throw i;let a=i.response.data.error;if(a===`authorization_pending`)return await mf(r.interval),hf(e,t,n,r);if(a===`slow_down`)return await mf(r.interval+7),hf(e,t,n,r);throw i}}async function gf(e,t){return ff(e,{auth:t})}async function _f(e,t,n,r){let i=t.endpoint.merge(n,r);if(/\/login\/(oauth\/access_token|device\/code)$/.test(i.url))return t(i);let{token:a}=await ff(e,{request:t,auth:{type:`oauth`}});return i.headers.authorization=`token ${a}`,t(i)}var vf=`0.0.0-development`;function yf(e){let t=e.request||Zd.defaults({headers:{"user-agent":`octokit-auth-oauth-device.js/${vf} ${ju()}`}}),{request:n=t,...r}=e,i=e.clientType===`github-app`?{...r,clientType:`github-app`,request:n}:{...r,clientType:`oauth-app`,request:n,scopes:e.scopes||[]};if(!e.clientId)throw Error(`[@octokit/auth-oauth-device] "clientId" option must be set (https://github.com/octokit/auth-oauth-device.js#usage)`);if(!e.onVerification)throw Error(`[@octokit/auth-oauth-device] "onVerification" option must be a function (https://github.com/octokit/auth-oauth-device.js#usage)`);return Object.assign(gf.bind(null,i),{hook:_f.bind(null,i)})}var bf=`0.0.0-development`;async function xf(e){if(`code`in e.strategyOptions){let{authentication:t}=await ef({clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,onTokenCreated:e.onTokenCreated,...e.strategyOptions,request:e.request});return{type:`token`,tokenType:`oauth`,...t}}if(`onVerification`in e.strategyOptions){let t=await yf({clientType:e.clientType,clientId:e.clientId,onTokenCreated:e.onTokenCreated,...e.strategyOptions,request:e.request})({type:`oauth`});return{clientSecret:e.clientSecret,...t}}if(`token`in e.strategyOptions)return{type:`token`,tokenType:`oauth`,clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,onTokenCreated:e.onTokenCreated,...e.strategyOptions};throw Error(`[@octokit/auth-oauth-user] Invalid strategy options`)}async function Sf(e,t={}){if(e.authentication||=(e.clientType,await xf(e)),e.authentication.invalid)throw Error(`[@octokit/auth-oauth-user] Token is invalid`);let n=e.authentication;if(`expiresAt`in n&&(t.type===`refresh`||new Date(n.expiresAt)<new Date)){let{authentication:t}=await sf({clientType:`github-app`,clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:n.refreshToken,request:e.request});e.authentication={tokenType:`oauth`,type:`token`,...t}}if(t.type===`refresh`){if(e.clientType===`oauth-app`)throw Error(`[@octokit/auth-oauth-user] OAuth Apps do not support expiring tokens`);if(!n.hasOwnProperty(`expiresAt`))throw Error(`[@octokit/auth-oauth-user] Refresh token missing`);await e.onTokenCreated?.(e.authentication,{type:t.type})}if(t.type===`check`||t.type===`reset`){let n=t.type===`check`?of:lf;try{let{authentication:r}=await n({clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.authentication.token,request:e.request});return e.authentication={tokenType:`oauth`,type:`token`,...r},t.type===`reset`&&await e.onTokenCreated?.(e.authentication,{type:t.type}),e.authentication}catch(t){throw t.status===404&&(t.message=`[@octokit/auth-oauth-user] Token is invalid`,e.authentication.invalid=!0),t}}if(t.type===`delete`||t.type===`deleteAuthorization`){let n=t.type===`delete`?uf:df;try{await n({clientType:e.clientType,clientId:e.clientId,clientSecret:e.clientSecret,token:e.authentication.token,request:e.request})}catch(e){if(e.status!==404)throw e}return e.authentication.invalid=!0,e.authentication}return e.authentication}var Cf=/\/applications\/[^/]+\/(token|grant)s?/;function wf(e){return e&&Cf.test(e)}async function Tf(e,t,n,r={}){let i=t.endpoint.merge(n,r);if(/\/login\/(oauth\/access_token|device\/code)$/.test(i.url))return t(i);if(wf(i.url)){let n=btoa(`${e.clientId}:${e.clientSecret}`);return i.headers.authorization=`basic ${n}`,t(i)}let{token:a}=(e.clientType,await Sf({...e,request:t}));return i.headers.authorization=`token `+a,t(i)}function Ef({clientId:e,clientSecret:t,clientType:n=`oauth-app`,request:r=Zd.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${bf} ${ju()}`}}),onTokenCreated:i,...a}){let o=Object.assign({clientType:n,clientId:e,clientSecret:t,onTokenCreated:i,strategyOptions:a,request:r});return Object.assign(Sf.bind(null,o),{hook:Tf.bind(null,o)})}Ef.VERSION=bf;async function Df(e,t){if(t.type===`oauth-app`)return{type:`oauth-app`,clientId:e.clientId,clientSecret:e.clientSecret,clientType:e.clientType,headers:{authorization:`basic ${btoa(`${e.clientId}:${e.clientSecret}`)}`}};if(`factory`in t){let{type:n,...r}={...t,...e};return t.factory(r)}let n={clientId:e.clientId,clientSecret:e.clientSecret,request:e.request,...t};return(e.clientType,await Ef({...n,clientType:e.clientType}))()}async function Of(e,t,n,r){let i=t.endpoint.merge(n,r);if(/\/login\/(oauth\/access_token|device\/code)$/.test(i.url))return t(i);if(e.clientType===`github-app`&&!wf(i.url))throw Error(`[@octokit/auth-oauth-app] GitHub Apps cannot use their client ID/secret for basic authentication for endpoints other than "/applications/{client_id}/**". "${i.method} ${i.url}" is not supported.`);let a=btoa(`${e.clientId}:${e.clientSecret}`);i.headers.authorization=`basic ${a}`;try{return await t(i)}catch(e){throw e.status===401&&(e.message=`[@octokit/auth-oauth-app] "${i.method} ${i.url}" does not support clientId/clientSecret basic authentication.`),e}}var kf=`0.0.0-development`;function Af(e){let t=Object.assign({request:Zd.defaults({headers:{"user-agent":`octokit-auth-oauth-app.js/${kf} ${ju()}`}}),clientType:`oauth-app`},e);return Object.assign(Df.bind(null,t),{hook:Of.bind(null,t)})}function jf(e){return e.includes(`-----BEGIN RSA PRIVATE KEY-----`)}function Mf(e){return e.includes(`-----BEGIN OPENSSH PRIVATE KEY-----`)}function Nf(e){let t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let t=0,r=e.length;t<r;t++)n[t]=e.charCodeAt(t);return t}function Pf(e){let t=e.trim().split(`
|
|
78
|
+
`).slice(1,-1).join(``);return Nf(atob(t))}function Ff(e,t){return`${Rf(e)}.${Rf(t)}`}function If(e){for(var t=``,n=new Uint8Array(e),r=n.byteLength,i=0;i<r;i++)t+=String.fromCharCode(n[i]);return Lf(btoa(t))}function Lf(e){return e.replace(/=/g,``).replace(/\+/g,`-`).replace(/\//g,`_`)}function Rf(e){return Lf(btoa(JSON.stringify(e)))}function zf(e){return jf(e)?ce(e).export({type:`pkcs8`,format:`pem`}):e}async function Bf({privateKey:e,payload:t}){let n=zf(e);if(jf(n))throw Error(`[universal-github-app-jwt] Private Key is in PKCS#1 format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats`);if(Mf(n))throw Error(`[universal-github-app-jwt] Private Key is in OpenSSH format, but only PKCS#8 is supported. See https://github.com/gr2m/universal-github-app-jwt#private-key-formats`);let r={name:`RSASSA-PKCS1-v1_5`,hash:{name:`SHA-256`}},i={alg:`RS256`,typ:`JWT`},a=Pf(n),o=await ue.importKey(`pkcs8`,a,r,!1,[`sign`]),s=Ff(i,t),c=Nf(s);return`${s}.${If(await ue.sign(r.name,o,c))}`}async function Vf({id:e,privateKey:t,now:n=Math.floor(Date.now()/1e3)}){let r=t.replace(/\\n/g,`
|
|
79
|
+
`),i=n-30,a=i+600;return{appId:e,expiration:a,token:await Bf({privateKey:r,payload:{iat:i,exp:a,iss:e}})}}function Hf(e,t){if(typeof e!=`number`||!Number.isInteger(e)||e<0)throw Error(`Invalid max value`);if(typeof t!=`number`||!Number.isInteger(t)||t<0)throw Error(`Invalid ttl value`)}var Uf=class{constructor(e=1e3,t=0){Hf(e,t),this.first=null,this.items=Object.create(null),this.last=null,this.size=0,this.max=e,this.ttl=t}bumpLru(e){if(this.last===e)return;let t=this.last,n=e.next,r=e.prev;this.first===e&&(this.first=n),e.next=null,e.prev=t,t.next=e,r!==null&&(r.next=n),n!==null&&(n.prev=r),this.last=e}clear(){this.items=Object.create(null),this.first=null,this.last=null,this.size=0}delete(e){let t=this.items[e];t!==void 0&&(delete this.items[e],this.size--,t.prev!==null&&(t.prev.next=t.next),t.next!==null&&(t.next.prev=t.prev),this.first===t&&(this.first=t.next),this.last===t&&(this.last=t.prev))}deleteMany(e){for(var t=0;t<e.length;t++)this.delete(e[t])}evict(){if(this.size>0){let e=this.first;delete this.items[e.key],--this.size===0?(this.first=null,this.last=null):(this.first=e.next,this.first.prev=null)}}expiresAt(e){let t=this.items[e];if(t!==void 0)return t.expiry}get(e){let t=this.items[e];if(t!==void 0){if(this.ttl>0&&t.expiry<=Date.now()){this.delete(e);return}return this.bumpLru(t),t.value}}getMany(e){let t=Array(e.length);for(var n=0;n<e.length;n++)t[n]=this.get(e[n]);return t}keys(){return Object.keys(this.items)}set(e,t){let n=this.items[e];if(n!==void 0){n.value=t,n.expiry=this.ttl>0?Date.now()+this.ttl:this.ttl,this.bumpLru(n);return}this.max>0&&this.size>=this.max&&this.evict();let r={expiry:this.ttl>0?Date.now()+this.ttl:this.ttl,key:e,prev:this.last,next:null,value:t};this.items[e]=r,++this.size===1?this.first=r:this.last.next=r,this.last=r}};async function Wf({appId:e,privateKey:t,timeDifference:n,createJwt:r}){try{if(r){let{jwt:t,expiresAt:i}=await r(e,n);return{type:`app`,token:t,appId:e,expiresAt:i}}let i={id:e,privateKey:t};n&&Object.assign(i,{now:Math.floor(Date.now()/1e3)+n});let a=await Vf(i);return{type:`app`,token:a.token,appId:a.appId,expiresAt:new Date(a.expiration*1e3).toISOString()}}catch(e){throw t===`-----BEGIN RSA PRIVATE KEY-----`?Error("The 'privateKey` option contains only the first line '-----BEGIN RSA PRIVATE KEY-----'. If you are setting it using a `.env` file, make sure it is set on a single line with newlines replaced by '\n'"):e}}function Gf(){return new Uf(15e3,354e4)}async function Kf(e,t){let n=Jf(t),r=await e.get(n);if(!r)return;let[i,a,o,s,c,l]=r.split(`|`);return{token:i,createdAt:a,expiresAt:o,permissions:t.permissions||c.split(/,/).reduce((e,t)=>(/!$/.test(t)?e[t.slice(0,-1)]=`write`:e[t]=`read`,e),{}),repositoryIds:t.repositoryIds,repositoryNames:t.repositoryNames,singleFileName:l,repositorySelection:s}}async function qf(e,t,n){let r=Jf(t),i=t.permissions?``:Object.keys(n.permissions).map(e=>`${e}${n.permissions[e]===`write`?`!`:``}`).join(`,`),a=[n.token,n.createdAt,n.expiresAt,n.repositorySelection,i,n.singleFileName].join(`|`);await e.set(r,a)}function Jf({installationId:e,permissions:t={},repositoryIds:n=[],repositoryNames:r=[]}){let i=Object.keys(t).sort().map(e=>t[e]===`read`?e:`${e}!`).join(`,`);return[e,n.sort().join(`,`),r.join(`,`),i].filter(Boolean).join(`|`)}function Yf({installationId:e,token:t,createdAt:n,expiresAt:r,repositorySelection:i,permissions:a,repositoryIds:o,repositoryNames:s,singleFileName:c}){return Object.assign({type:`token`,tokenType:`installation`,token:t,installationId:e,permissions:a,createdAt:n,expiresAt:r,repositorySelection:i},o?{repositoryIds:o}:null,s?{repositoryNames:s}:null,c?{singleFileName:c}:null)}async function Xf(e,t,n){let r=Number(t.installationId||e.installationId);if(!r)throw Error(`[@octokit/auth-app] installationId option is required for installation authentication.`);if(t.factory){let{type:n,factory:r,oauthApp:i,...a}={...e,...t};return r(a)}let i=n||e.request;return Qf(e,{...t,installationId:r},i)}var Zf=new Map;function Qf(e,t,n){let r=Jf(t);if(Zf.has(r))return Zf.get(r);let i=$f(e,t,n).finally(()=>Zf.delete(r));return Zf.set(r,i),i}async function $f(e,t,n){if(!t.refresh){let n=await Kf(e.cache,t);if(n){let{token:e,createdAt:r,expiresAt:i,permissions:a,repositoryIds:o,repositoryNames:s,singleFileName:c,repositorySelection:l}=n;return Yf({installationId:t.installationId,token:e,createdAt:r,expiresAt:i,permissions:a,repositorySelection:l,repositoryIds:o,repositoryNames:s,singleFileName:c})}}let r=await Wf(e),i={installation_id:t.installationId,mediaType:{previews:[`machine-man`]},headers:{authorization:`bearer ${r.token}`}};t.repositoryIds&&Object.assign(i,{repository_ids:t.repositoryIds}),t.repositoryNames&&Object.assign(i,{repositories:t.repositoryNames}),t.permissions&&Object.assign(i,{permissions:t.permissions});let{data:{token:a,expires_at:o,repositories:s,permissions:c,repository_selection:l,single_file:u}}=await n(`POST /app/installations/{installation_id}/access_tokens`,i),d=c||{},f=l||`all`,p=s?s.map(e=>e.id):void 0,m=s?s.map(e=>e.name):void 0,h=new Date().toISOString(),g={token:a,createdAt:h,expiresAt:o,repositorySelection:f,permissions:d,repositoryIds:p,repositoryNames:m};u&&Object.assign(i,{singleFileName:u}),await qf(e.cache,t,g);let _={installationId:t.installationId,token:a,createdAt:h,expiresAt:o,repositorySelection:f,permissions:d,repositoryIds:p,repositoryNames:m};return u&&Object.assign(_,{singleFileName:u}),Yf(_)}async function ep(e,t){switch(t.type){case`app`:return Wf(e);case`oauth-app`:return e.oauthApp({type:`oauth-app`});case`installation`:return Xf(e,{...t,type:`installation`});case`oauth-user`:return e.oauthApp(t);default:throw Error(`Invalid auth type: ${t.type}`)}}var tp=[`/app`,`/app/hook/config`,`/app/hook/deliveries`,`/app/hook/deliveries/{delivery_id}`,`/app/hook/deliveries/{delivery_id}/attempts`,`/app/installations`,`/app/installations/{installation_id}`,`/app/installations/{installation_id}/access_tokens`,`/app/installations/{installation_id}/suspended`,`/app/installation-requests`,`/marketplace_listing/accounts/{account_id}`,`/marketplace_listing/plan`,`/marketplace_listing/plans`,`/marketplace_listing/plans/{plan_id}/accounts`,`/marketplace_listing/stubbed/accounts/{account_id}`,`/marketplace_listing/stubbed/plan`,`/marketplace_listing/stubbed/plans`,`/marketplace_listing/stubbed/plans/{plan_id}/accounts`,`/orgs/{org}/installation`,`/repos/{owner}/{repo}/installation`,`/users/{username}/installation`,`/enterprises/{enterprise}/installation`];function np(e){let t=`^(?:${e.map(e=>e.split(`/`).map(e=>e.startsWith(`{`)?`(?:.+?)`:e).join(`/`)).map(e=>`(?:${e})`).join(`|`)})$`;return new RegExp(t,`i`)}var rp=np(tp);function ip(e){return!!e&&rp.test(e.split(`?`)[0])}var ap=5e3;function op(e){return!(e.message.match(/'Expiration time' claim \('exp'\) is too far in the future/)||e.message.match(/'Expiration time' claim \('exp'\) must be a numeric value representing the future time at which the assertion expires/)||e.message.match(/'Issued at' claim \('iat'\) must be an Integer representing the time that the assertion was issued/))}async function sp(e,t,n,r){let i=t.endpoint.merge(n,r),a=i.url;if(/\/login\/oauth\/access_token$/.test(a))return t(i);if(ip(a.replace(t.endpoint.DEFAULTS.baseUrl,``))){let{token:n}=await Wf(e);i.headers.authorization=`bearer ${n}`;let r;try{r=await t(i)}catch(n){if(op(n)||n.response.headers.date===void 0)throw n;let r=Math.floor((Date.parse(n.response.headers.date)-Date.parse(new Date().toString()))/1e3);e.log.warn(n.message),e.log.warn(`[@octokit/auth-app] GitHub API time and system time are different by ${r} seconds. Retrying request with the difference accounted for.`);let{token:a}=await Wf({...e,timeDifference:r});return i.headers.authorization=`bearer ${a}`,t(i)}return r}if(wf(a)){let n=await e.oauthApp({type:`oauth-app`});return i.headers.authorization=n.headers.authorization,t(i)}let{token:o,createdAt:s}=await Xf(e,{},t.defaults({baseUrl:i.baseUrl}));return i.headers.authorization=`token ${o}`,cp(e,t,i,s)}async function cp(e,t,n,r,i=0){let a=+new Date-new Date(r);try{return await t(n)}catch(o){if(o.status!==401)throw o;if(a>=ap)throw i>0&&(o.message=`After ${i} retries within ${a/1e3}s of creating the installation access token, the response remains 401. At this point, the cause may be an authentication problem or a system outage. Please check https://www.githubstatus.com for status information`),o;++i;let s=i*1e3;return e.log.warn(`[@octokit/auth-app] Retrying after 401 response to account for token replication delay (retry: ${i}, wait: ${s/1e3}s)`),await new Promise(e=>setTimeout(e,s)),cp(e,t,n,r,i)}}var lp=`8.3.1`;function up(e){if(!e.appId)throw Error(`[@octokit/auth-app] appId option is required`);if(!e.privateKey&&!e.createJwt)throw Error(`[@octokit/auth-app] privateKey option is required`);if(e.privateKey&&e.createJwt)throw Error(`[@octokit/auth-app] privateKey and createJwt options are mutually exclusive`);if(`installationId`in e&&!e.installationId)throw Error(`[@octokit/auth-app] installationId is set to a falsy value`);let t=e.log||{};typeof t.warn!=`function`&&(t.warn=console.warn.bind(console));let n=e.request||Zd.defaults({headers:{"user-agent":`octokit-auth-app.js/${lp} ${ju()}`}}),r=Object.assign({request:n,cache:Gf()},e,e.installationId?{installationId:Number(e.installationId)}:{},{log:t,oauthApp:Af({clientType:`github-app`,clientId:e.clientId||``,clientSecret:e.clientSecret||``,request:n})});return Object.assign(ep.bind(null,r),{hook:sp.bind(null,r)})}var dp=`0.0.0-development`;function fp(e){return`Request failed due to following response errors:
|
|
80
|
+
`+e.errors.map(e=>` - ${e.message}`).join(`
|
|
81
|
+
`)}var pp=class extends Error{constructor(e,t,n){super(fp(n)),this.request=e,this.headers=t,this.response=n,this.errors=n.errors,this.data=n.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}request;headers;response;name=`GraphqlResponseError`;errors;data},mp=[`method`,`baseUrl`,`url`,`headers`,`request`,`query`,`mediaType`,`operationName`],hp=[`query`,`method`,`url`],gp=/\/api\/v3\/?$/;function _p(e,t,n){if(n){if(typeof t==`string`&&`query`in n)return Promise.reject(Error(`[@octokit/graphql] "query" cannot be used as variable name`));for(let e in n)if(hp.includes(e))return Promise.reject(Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}let r=typeof t==`string`?Object.assign({query:t},n):t,i=Object.keys(r).reduce((e,t)=>mp.includes(t)?(e[t]=r[t],e):(e.variables||={},e.variables[t]=r[t],e),{}),a=r.baseUrl||e.endpoint.DEFAULTS.baseUrl;return gp.test(a)&&(i.url=a.replace(gp,`/api/graphql`)),e(i).then(e=>{if(e.data.errors){let t={};for(let n of Object.keys(e.headers))t[n]=e.headers[n];throw new pp(i,t,e.data)}return e.data.data})}function vp(e,t){let n=e.defaults(t);return Object.assign((e,t)=>_p(n,e,t),{defaults:vp.bind(null,n),endpoint:n.endpoint})}var yp=vp(Zd,{headers:{"user-agent":`octokit-graphql.js/${dp} ${ju()}`},method:`POST`,url:`/graphql`});function bp(e){return vp(e,{method:`POST`,url:`/graphql`})}function xp(e,t,n,r){if(typeof n!=`function`)throw Error(`method for before hook must be a function`);return r||={},Array.isArray(t)?t.reverse().reduce((t,n)=>xp.bind(null,e,n,t,r),n)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((e,t)=>t.hook.bind(null,e,r),n)():n(r))}function Sp(e,t,n,r){let i=r;e.registry[n]||(e.registry[n]=[]),t===`before`&&(r=(e,t)=>Promise.resolve().then(i.bind(null,t)).then(e.bind(null,t))),t===`after`&&(r=(e,t)=>{let n;return Promise.resolve().then(e.bind(null,t)).then(e=>(n=e,i(n,t))).then(()=>n)}),t===`error`&&(r=(e,t)=>Promise.resolve().then(e.bind(null,t)).catch(e=>i(e,t))),e.registry[n].push({hook:r,orig:i})}function Cp(e,t,n){if(!e.registry[t])return;let r=e.registry[t].map(e=>e.orig).indexOf(n);r!==-1&&e.registry[t].splice(r,1)}var wp=Function.bind,Tp=wp.bind(wp);function Ep(e,t,n){let r=Tp(Cp,null).apply(null,n?[t,n]:[t]);e.api={remove:r},e.remove=r,[`before`,`error`,`after`,`wrap`].forEach(r=>{let i=n?[t,r,n]:[t,r];e[r]=e.api[r]=Tp(Sp,null).apply(null,i)})}function Dp(){let e=Symbol(`Singular`),t={registry:{}},n=xp.bind(null,t,e);return Ep(n,t,e),n}function Op(){let e={registry:{}},t=xp.bind(null,e);return Ep(t,e),t}var kp={Singular:Dp,Collection:Op},Ap=`(?:[a-zA-Z0-9_-]+)`,jp=`\\.`,Mp=RegExp(`^${Ap}${jp}${Ap}${jp}${Ap}$`),Np=Mp.test.bind(Mp);async function Pp(e){let t=Np(e),n=e.startsWith(`v1.`)||e.startsWith(`ghs_`),r=e.startsWith(`ghu_`);return{type:`token`,token:e,tokenType:t?`app`:n?`installation`:r?`user-to-server`:`oauth`}}function Fp(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function Ip(e,t,n,r){let i=t.endpoint.merge(n,r);return i.headers.authorization=Fp(e),t(i)}var Lp=function(e){if(!e)throw Error(`[@octokit/auth-token] No token passed to createTokenAuth`);if(typeof e!=`string`)throw Error(`[@octokit/auth-token] Token passed to createTokenAuth is not a string`);return e=e.replace(/^(token|bearer) +/i,``),Object.assign(Pp.bind(null,e),{hook:Ip.bind(null,e)})},Rp=`7.0.8`,zp=()=>{},Bp=console.warn.bind(console),Vp=console.error.bind(console);function Hp(e={}){return typeof e.debug!=`function`&&(e.debug=zp),typeof e.info!=`function`&&(e.info=zp),typeof e.warn!=`function`&&(e.warn=Bp),typeof e.error!=`function`&&(e.error=Vp),e}var Up=`octokit-core.js/${Rp} ${ju()}`,Wp=class{static VERSION=Rp;static defaults(e){return class extends this{constructor(...t){let n=t[0]||{};if(typeof e==`function`){super(e(n));return}super(Object.assign({},e,n,n.userAgent&&e.userAgent?{userAgent:`${n.userAgent} ${e.userAgent}`}:null))}}}static plugins=[];static plugin(...e){let t=this.plugins;return class extends this{static plugins=t.concat(e.filter(e=>!t.includes(e)))}}constructor(e={}){let t=new kp.Collection,n={baseUrl:Zd.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:t.bind(null,`request`)}),mediaType:{previews:[],format:``}};if(n.headers[`user-agent`]=e.userAgent?`${e.userAgent} ${Up}`:Up,e.baseUrl&&(n.baseUrl=e.baseUrl),e.previews&&(n.mediaType.previews=e.previews),e.timeZone&&(n.headers[`time-zone`]=e.timeZone),this.request=Zd.defaults(n),this.graphql=bp(this.request).defaults(n),this.log=Hp(e.log),this.hook=t,e.authStrategy){let{authStrategy:n,...r}=e,i=n(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:r},e.auth));t.wrap(`request`,i.hook),this.auth=i}else if(!e.auth)this.auth=async()=>({type:`unauthenticated`});else{let n=Lp(e.auth);t.wrap(`request`,n.hook),this.auth=n}let r=this.constructor;for(let t=0;t<r.plugins.length;++t)Object.assign(this,r.plugins[t](this,e))}request;graphql;log;hook;auth},Gp=`6.0.0`;function Kp(e){e.hook.wrap(`request`,(t,n)=>{e.log.debug(`request`,n);let r=Date.now(),i=e.request.endpoint.parse(n),a=i.url.replace(n.baseUrl,``);return t(n).then(t=>{let n=t.headers[`x-github-request-id`];return e.log.info(`${i.method} ${a} - ${t.status} with id ${n} in ${Date.now()-r}ms`),t}).catch(t=>{let n=t.response?.headers[`x-github-request-id`]||`UNKNOWN`;throw e.log.error(`${i.method} ${a} - ${t.status} with id ${n} in ${Date.now()-r}ms`),t})})}Kp.VERSION=Gp;var qp=`0.0.0-development`;function Jp(e){if(!e.data)return{...e,data:[]};if(!((`total_count`in e.data||`total_commits`in e.data)&&!(`url`in e.data)))return e;let t=e.data.incomplete_results,n=e.data.repository_selection,r=e.data.total_count,i=e.data.total_commits;delete e.data.incomplete_results,delete e.data.repository_selection,delete e.data.total_count,delete e.data.total_commits;let a=Object.keys(e.data)[0];return e.data=e.data[a],t!==void 0&&(e.data.incomplete_results=t),n!==void 0&&(e.data.repository_selection=n),e.data.total_count=r,e.data.total_commits=i,e}function Yp(e,t,n){let r=typeof t==`function`?t.endpoint(n):e.request.endpoint(t,n),i=typeof t==`function`?t:e.request,a=r.method,o=r.headers,s=r.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!s)return{done:!0};try{let e=Jp(await i({method:a,url:s,headers:o}));if(s=((e.headers.link||``).match(/<([^<>]+)>;\s*rel="next"/)||[])[1],!s&&`total_commits`in e.data){let t=new URL(e.url),n=t.searchParams,r=parseInt(n.get(`page`)||`1`,10);r*parseInt(n.get(`per_page`)||`250`,10)<e.data.total_commits&&(n.set(`page`,String(r+1)),s=t.toString())}return{value:e}}catch(e){if(e.status!==409)throw e;return s=``,{value:{status:200,headers:{},data:[]}}}}})}}function Xp(e,t,n,r){return typeof n==`function`&&(r=n,n=void 0),Zp(e,[],Yp(e,t,n)[Symbol.asyncIterator](),r)}function Zp(e,t,n,r){return n.next().then(i=>{if(i.done)return t;let a=!1;function o(){a=!0}return t=t.concat(r?r(i.value,o):i.value.data),a?t:Zp(e,t,n,r)})}Object.assign(Xp,{iterator:Yp});function Qp(e){return{paginate:Object.assign(Xp.bind(null,e),{iterator:Yp.bind(null,e)})}}Qp.VERSION=qp;var $p=`17.0.0`,em={actions:{addCustomLabelsToSelfHostedRunnerForOrg:[`POST /orgs/{org}/actions/runners/{runner_id}/labels`],addCustomLabelsToSelfHostedRunnerForRepo:[`POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`],addRepoAccessToSelfHostedRunnerGroupInOrg:[`PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}`],addSelectedRepoToOrgSecret:[`PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}`],addSelectedRepoToOrgVariable:[`PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}`],approveWorkflowRun:[`POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve`],cancelWorkflowRun:[`POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel`],createEnvironmentVariable:[`POST /repos/{owner}/{repo}/environments/{environment_name}/variables`],createHostedRunnerForOrg:[`POST /orgs/{org}/actions/hosted-runners`],createOrUpdateEnvironmentSecret:[`PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}`],createOrUpdateOrgSecret:[`PUT /orgs/{org}/actions/secrets/{secret_name}`],createOrUpdateRepoSecret:[`PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}`],createOrgVariable:[`POST /orgs/{org}/actions/variables`],createRegistrationTokenForOrg:[`POST /orgs/{org}/actions/runners/registration-token`],createRegistrationTokenForRepo:[`POST /repos/{owner}/{repo}/actions/runners/registration-token`],createRemoveTokenForOrg:[`POST /orgs/{org}/actions/runners/remove-token`],createRemoveTokenForRepo:[`POST /repos/{owner}/{repo}/actions/runners/remove-token`],createRepoVariable:[`POST /repos/{owner}/{repo}/actions/variables`],createWorkflowDispatch:[`POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches`],deleteActionsCacheById:[`DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}`],deleteActionsCacheByKey:[`DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}`],deleteArtifact:[`DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}`],deleteCustomImageFromOrg:[`DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}`],deleteCustomImageVersionFromOrg:[`DELETE /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}`],deleteEnvironmentSecret:[`DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}`],deleteEnvironmentVariable:[`DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}`],deleteHostedRunnerForOrg:[`DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}`],deleteOrgSecret:[`DELETE /orgs/{org}/actions/secrets/{secret_name}`],deleteOrgVariable:[`DELETE /orgs/{org}/actions/variables/{name}`],deleteRepoSecret:[`DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}`],deleteRepoVariable:[`DELETE /repos/{owner}/{repo}/actions/variables/{name}`],deleteSelfHostedRunnerFromOrg:[`DELETE /orgs/{org}/actions/runners/{runner_id}`],deleteSelfHostedRunnerFromRepo:[`DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}`],deleteWorkflowRun:[`DELETE /repos/{owner}/{repo}/actions/runs/{run_id}`],deleteWorkflowRunLogs:[`DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs`],disableSelectedRepositoryGithubActionsOrganization:[`DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}`],disableWorkflow:[`PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable`],downloadArtifact:[`GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}`],downloadJobLogsForWorkflowRun:[`GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs`],downloadWorkflowRunAttemptLogs:[`GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs`],downloadWorkflowRunLogs:[`GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs`],enableSelectedRepositoryGithubActionsOrganization:[`PUT /orgs/{org}/actions/permissions/repositories/{repository_id}`],enableWorkflow:[`PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable`],forceCancelWorkflowRun:[`POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel`],generateRunnerJitconfigForOrg:[`POST /orgs/{org}/actions/runners/generate-jitconfig`],generateRunnerJitconfigForRepo:[`POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig`],getActionsCacheList:[`GET /repos/{owner}/{repo}/actions/caches`],getActionsCacheUsage:[`GET /repos/{owner}/{repo}/actions/cache/usage`],getActionsCacheUsageByRepoForOrg:[`GET /orgs/{org}/actions/cache/usage-by-repository`],getActionsCacheUsageForOrg:[`GET /orgs/{org}/actions/cache/usage`],getAllowedActionsOrganization:[`GET /orgs/{org}/actions/permissions/selected-actions`],getAllowedActionsRepository:[`GET /repos/{owner}/{repo}/actions/permissions/selected-actions`],getArtifact:[`GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}`],getCustomImageForOrg:[`GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}`],getCustomImageVersionForOrg:[`GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions/{version}`],getCustomOidcSubClaimForRepo:[`GET /repos/{owner}/{repo}/actions/oidc/customization/sub`],getEnvironmentPublicKey:[`GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key`],getEnvironmentSecret:[`GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}`],getEnvironmentVariable:[`GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}`],getGithubActionsDefaultWorkflowPermissionsOrganization:[`GET /orgs/{org}/actions/permissions/workflow`],getGithubActionsDefaultWorkflowPermissionsRepository:[`GET /repos/{owner}/{repo}/actions/permissions/workflow`],getGithubActionsPermissionsOrganization:[`GET /orgs/{org}/actions/permissions`],getGithubActionsPermissionsRepository:[`GET /repos/{owner}/{repo}/actions/permissions`],getHostedRunnerForOrg:[`GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}`],getHostedRunnersGithubOwnedImagesForOrg:[`GET /orgs/{org}/actions/hosted-runners/images/github-owned`],getHostedRunnersLimitsForOrg:[`GET /orgs/{org}/actions/hosted-runners/limits`],getHostedRunnersMachineSpecsForOrg:[`GET /orgs/{org}/actions/hosted-runners/machine-sizes`],getHostedRunnersPartnerImagesForOrg:[`GET /orgs/{org}/actions/hosted-runners/images/partner`],getHostedRunnersPlatformsForOrg:[`GET /orgs/{org}/actions/hosted-runners/platforms`],getJobForWorkflowRun:[`GET /repos/{owner}/{repo}/actions/jobs/{job_id}`],getOrgPublicKey:[`GET /orgs/{org}/actions/secrets/public-key`],getOrgSecret:[`GET /orgs/{org}/actions/secrets/{secret_name}`],getOrgVariable:[`GET /orgs/{org}/actions/variables/{name}`],getPendingDeploymentsForRun:[`GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`],getRepoPermissions:[`GET /repos/{owner}/{repo}/actions/permissions`,{},{renamed:[`actions`,`getGithubActionsPermissionsRepository`]}],getRepoPublicKey:[`GET /repos/{owner}/{repo}/actions/secrets/public-key`],getRepoSecret:[`GET /repos/{owner}/{repo}/actions/secrets/{secret_name}`],getRepoVariable:[`GET /repos/{owner}/{repo}/actions/variables/{name}`],getReviewsForRun:[`GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals`],getSelfHostedRunnerForOrg:[`GET /orgs/{org}/actions/runners/{runner_id}`],getSelfHostedRunnerForRepo:[`GET /repos/{owner}/{repo}/actions/runners/{runner_id}`],getWorkflow:[`GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}`],getWorkflowAccessToRepository:[`GET /repos/{owner}/{repo}/actions/permissions/access`],getWorkflowRun:[`GET /repos/{owner}/{repo}/actions/runs/{run_id}`],getWorkflowRunAttempt:[`GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}`],getWorkflowRunUsage:[`GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing`],getWorkflowUsage:[`GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing`],listArtifactsForRepo:[`GET /repos/{owner}/{repo}/actions/artifacts`],listCustomImageVersionsForOrg:[`GET /orgs/{org}/actions/hosted-runners/images/custom/{image_definition_id}/versions`],listCustomImagesForOrg:[`GET /orgs/{org}/actions/hosted-runners/images/custom`],listEnvironmentSecrets:[`GET /repos/{owner}/{repo}/environments/{environment_name}/secrets`],listEnvironmentVariables:[`GET /repos/{owner}/{repo}/environments/{environment_name}/variables`],listGithubHostedRunnersInGroupForOrg:[`GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners`],listHostedRunnersForOrg:[`GET /orgs/{org}/actions/hosted-runners`],listJobsForWorkflowRun:[`GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs`],listJobsForWorkflowRunAttempt:[`GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs`],listLabelsForSelfHostedRunnerForOrg:[`GET /orgs/{org}/actions/runners/{runner_id}/labels`],listLabelsForSelfHostedRunnerForRepo:[`GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`],listOrgSecrets:[`GET /orgs/{org}/actions/secrets`],listOrgVariables:[`GET /orgs/{org}/actions/variables`],listRepoOrganizationSecrets:[`GET /repos/{owner}/{repo}/actions/organization-secrets`],listRepoOrganizationVariables:[`GET /repos/{owner}/{repo}/actions/organization-variables`],listRepoSecrets:[`GET /repos/{owner}/{repo}/actions/secrets`],listRepoVariables:[`GET /repos/{owner}/{repo}/actions/variables`],listRepoWorkflows:[`GET /repos/{owner}/{repo}/actions/workflows`],listRunnerApplicationsForOrg:[`GET /orgs/{org}/actions/runners/downloads`],listRunnerApplicationsForRepo:[`GET /repos/{owner}/{repo}/actions/runners/downloads`],listSelectedReposForOrgSecret:[`GET /orgs/{org}/actions/secrets/{secret_name}/repositories`],listSelectedReposForOrgVariable:[`GET /orgs/{org}/actions/variables/{name}/repositories`],listSelectedRepositoriesEnabledGithubActionsOrganization:[`GET /orgs/{org}/actions/permissions/repositories`],listSelfHostedRunnersForOrg:[`GET /orgs/{org}/actions/runners`],listSelfHostedRunnersForRepo:[`GET /repos/{owner}/{repo}/actions/runners`],listWorkflowRunArtifacts:[`GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts`],listWorkflowRuns:[`GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs`],listWorkflowRunsForRepo:[`GET /repos/{owner}/{repo}/actions/runs`],reRunJobForWorkflowRun:[`POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun`],reRunWorkflow:[`POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun`],reRunWorkflowFailedJobs:[`POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs`],removeAllCustomLabelsFromSelfHostedRunnerForOrg:[`DELETE /orgs/{org}/actions/runners/{runner_id}/labels`],removeAllCustomLabelsFromSelfHostedRunnerForRepo:[`DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`],removeCustomLabelFromSelfHostedRunnerForOrg:[`DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}`],removeCustomLabelFromSelfHostedRunnerForRepo:[`DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}`],removeSelectedRepoFromOrgSecret:[`DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}`],removeSelectedRepoFromOrgVariable:[`DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}`],reviewCustomGatesForRun:[`POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule`],reviewPendingDeploymentsForRun:[`POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments`],setAllowedActionsOrganization:[`PUT /orgs/{org}/actions/permissions/selected-actions`],setAllowedActionsRepository:[`PUT /repos/{owner}/{repo}/actions/permissions/selected-actions`],setCustomLabelsForSelfHostedRunnerForOrg:[`PUT /orgs/{org}/actions/runners/{runner_id}/labels`],setCustomLabelsForSelfHostedRunnerForRepo:[`PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels`],setCustomOidcSubClaimForRepo:[`PUT /repos/{owner}/{repo}/actions/oidc/customization/sub`],setGithubActionsDefaultWorkflowPermissionsOrganization:[`PUT /orgs/{org}/actions/permissions/workflow`],setGithubActionsDefaultWorkflowPermissionsRepository:[`PUT /repos/{owner}/{repo}/actions/permissions/workflow`],setGithubActionsPermissionsOrganization:[`PUT /orgs/{org}/actions/permissions`],setGithubActionsPermissionsRepository:[`PUT /repos/{owner}/{repo}/actions/permissions`],setSelectedReposForOrgSecret:[`PUT /orgs/{org}/actions/secrets/{secret_name}/repositories`],setSelectedReposForOrgVariable:[`PUT /orgs/{org}/actions/variables/{name}/repositories`],setSelectedRepositoriesEnabledGithubActionsOrganization:[`PUT /orgs/{org}/actions/permissions/repositories`],setWorkflowAccessToRepository:[`PUT /repos/{owner}/{repo}/actions/permissions/access`],updateEnvironmentVariable:[`PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}`],updateHostedRunnerForOrg:[`PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}`],updateOrgVariable:[`PATCH /orgs/{org}/actions/variables/{name}`],updateRepoVariable:[`PATCH /repos/{owner}/{repo}/actions/variables/{name}`]},activity:{checkRepoIsStarredByAuthenticatedUser:[`GET /user/starred/{owner}/{repo}`],deleteRepoSubscription:[`DELETE /repos/{owner}/{repo}/subscription`],deleteThreadSubscription:[`DELETE /notifications/threads/{thread_id}/subscription`],getFeeds:[`GET /feeds`],getRepoSubscription:[`GET /repos/{owner}/{repo}/subscription`],getThread:[`GET /notifications/threads/{thread_id}`],getThreadSubscriptionForAuthenticatedUser:[`GET /notifications/threads/{thread_id}/subscription`],listEventsForAuthenticatedUser:[`GET /users/{username}/events`],listNotificationsForAuthenticatedUser:[`GET /notifications`],listOrgEventsForAuthenticatedUser:[`GET /users/{username}/events/orgs/{org}`],listPublicEvents:[`GET /events`],listPublicEventsForRepoNetwork:[`GET /networks/{owner}/{repo}/events`],listPublicEventsForUser:[`GET /users/{username}/events/public`],listPublicOrgEvents:[`GET /orgs/{org}/events`],listReceivedEventsForUser:[`GET /users/{username}/received_events`],listReceivedPublicEventsForUser:[`GET /users/{username}/received_events/public`],listRepoEvents:[`GET /repos/{owner}/{repo}/events`],listRepoNotificationsForAuthenticatedUser:[`GET /repos/{owner}/{repo}/notifications`],listReposStarredByAuthenticatedUser:[`GET /user/starred`],listReposStarredByUser:[`GET /users/{username}/starred`],listReposWatchedByUser:[`GET /users/{username}/subscriptions`],listStargazersForRepo:[`GET /repos/{owner}/{repo}/stargazers`],listWatchedReposForAuthenticatedUser:[`GET /user/subscriptions`],listWatchersForRepo:[`GET /repos/{owner}/{repo}/subscribers`],markNotificationsAsRead:[`PUT /notifications`],markRepoNotificationsAsRead:[`PUT /repos/{owner}/{repo}/notifications`],markThreadAsDone:[`DELETE /notifications/threads/{thread_id}`],markThreadAsRead:[`PATCH /notifications/threads/{thread_id}`],setRepoSubscription:[`PUT /repos/{owner}/{repo}/subscription`],setThreadSubscription:[`PUT /notifications/threads/{thread_id}/subscription`],starRepoForAuthenticatedUser:[`PUT /user/starred/{owner}/{repo}`],unstarRepoForAuthenticatedUser:[`DELETE /user/starred/{owner}/{repo}`]},apps:{addRepoToInstallation:[`PUT /user/installations/{installation_id}/repositories/{repository_id}`,{},{renamed:[`apps`,`addRepoToInstallationForAuthenticatedUser`]}],addRepoToInstallationForAuthenticatedUser:[`PUT /user/installations/{installation_id}/repositories/{repository_id}`],checkToken:[`POST /applications/{client_id}/token`],createFromManifest:[`POST /app-manifests/{code}/conversions`],createInstallationAccessToken:[`POST /app/installations/{installation_id}/access_tokens`],deleteAuthorization:[`DELETE /applications/{client_id}/grant`],deleteInstallation:[`DELETE /app/installations/{installation_id}`],deleteToken:[`DELETE /applications/{client_id}/token`],getAuthenticated:[`GET /app`],getBySlug:[`GET /apps/{app_slug}`],getInstallation:[`GET /app/installations/{installation_id}`],getOrgInstallation:[`GET /orgs/{org}/installation`],getRepoInstallation:[`GET /repos/{owner}/{repo}/installation`],getSubscriptionPlanForAccount:[`GET /marketplace_listing/accounts/{account_id}`],getSubscriptionPlanForAccountStubbed:[`GET /marketplace_listing/stubbed/accounts/{account_id}`],getUserInstallation:[`GET /users/{username}/installation`],getWebhookConfigForApp:[`GET /app/hook/config`],getWebhookDelivery:[`GET /app/hook/deliveries/{delivery_id}`],listAccountsForPlan:[`GET /marketplace_listing/plans/{plan_id}/accounts`],listAccountsForPlanStubbed:[`GET /marketplace_listing/stubbed/plans/{plan_id}/accounts`],listInstallationReposForAuthenticatedUser:[`GET /user/installations/{installation_id}/repositories`],listInstallationRequestsForAuthenticatedApp:[`GET /app/installation-requests`],listInstallations:[`GET /app/installations`],listInstallationsForAuthenticatedUser:[`GET /user/installations`],listPlans:[`GET /marketplace_listing/plans`],listPlansStubbed:[`GET /marketplace_listing/stubbed/plans`],listReposAccessibleToInstallation:[`GET /installation/repositories`],listSubscriptionsForAuthenticatedUser:[`GET /user/marketplace_purchases`],listSubscriptionsForAuthenticatedUserStubbed:[`GET /user/marketplace_purchases/stubbed`],listWebhookDeliveries:[`GET /app/hook/deliveries`],redeliverWebhookDelivery:[`POST /app/hook/deliveries/{delivery_id}/attempts`],removeRepoFromInstallation:[`DELETE /user/installations/{installation_id}/repositories/{repository_id}`,{},{renamed:[`apps`,`removeRepoFromInstallationForAuthenticatedUser`]}],removeRepoFromInstallationForAuthenticatedUser:[`DELETE /user/installations/{installation_id}/repositories/{repository_id}`],resetToken:[`PATCH /applications/{client_id}/token`],revokeInstallationAccessToken:[`DELETE /installation/token`],scopeToken:[`POST /applications/{client_id}/token/scoped`],suspendInstallation:[`PUT /app/installations/{installation_id}/suspended`],unsuspendInstallation:[`DELETE /app/installations/{installation_id}/suspended`],updateWebhookConfigForApp:[`PATCH /app/hook/config`]},billing:{getGithubActionsBillingOrg:[`GET /orgs/{org}/settings/billing/actions`],getGithubActionsBillingUser:[`GET /users/{username}/settings/billing/actions`],getGithubBillingPremiumRequestUsageReportOrg:[`GET /organizations/{org}/settings/billing/premium_request/usage`],getGithubBillingPremiumRequestUsageReportUser:[`GET /users/{username}/settings/billing/premium_request/usage`],getGithubBillingUsageReportOrg:[`GET /organizations/{org}/settings/billing/usage`],getGithubBillingUsageReportUser:[`GET /users/{username}/settings/billing/usage`],getGithubPackagesBillingOrg:[`GET /orgs/{org}/settings/billing/packages`],getGithubPackagesBillingUser:[`GET /users/{username}/settings/billing/packages`],getSharedStorageBillingOrg:[`GET /orgs/{org}/settings/billing/shared-storage`],getSharedStorageBillingUser:[`GET /users/{username}/settings/billing/shared-storage`]},campaigns:{createCampaign:[`POST /orgs/{org}/campaigns`],deleteCampaign:[`DELETE /orgs/{org}/campaigns/{campaign_number}`],getCampaignSummary:[`GET /orgs/{org}/campaigns/{campaign_number}`],listOrgCampaigns:[`GET /orgs/{org}/campaigns`],updateCampaign:[`PATCH /orgs/{org}/campaigns/{campaign_number}`]},checks:{create:[`POST /repos/{owner}/{repo}/check-runs`],createSuite:[`POST /repos/{owner}/{repo}/check-suites`],get:[`GET /repos/{owner}/{repo}/check-runs/{check_run_id}`],getSuite:[`GET /repos/{owner}/{repo}/check-suites/{check_suite_id}`],listAnnotations:[`GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations`],listForRef:[`GET /repos/{owner}/{repo}/commits/{ref}/check-runs`],listForSuite:[`GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs`],listSuitesForRef:[`GET /repos/{owner}/{repo}/commits/{ref}/check-suites`],rerequestRun:[`POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest`],rerequestSuite:[`POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest`],setSuitesPreferences:[`PATCH /repos/{owner}/{repo}/check-suites/preferences`],update:[`PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}`]},codeScanning:{commitAutofix:[`POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix/commits`],createAutofix:[`POST /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix`],createVariantAnalysis:[`POST /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses`],deleteAnalysis:[`DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}`],deleteCodeqlDatabase:[`DELETE /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}`],getAlert:[`GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}`,{},{renamedParameters:{alert_id:`alert_number`}}],getAnalysis:[`GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}`],getAutofix:[`GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/autofix`],getCodeqlDatabase:[`GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}`],getDefaultSetup:[`GET /repos/{owner}/{repo}/code-scanning/default-setup`],getSarif:[`GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}`],getVariantAnalysis:[`GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}`],getVariantAnalysisRepoTask:[`GET /repos/{owner}/{repo}/code-scanning/codeql/variant-analyses/{codeql_variant_analysis_id}/repos/{repo_owner}/{repo_name}`],listAlertInstances:[`GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances`],listAlertsForOrg:[`GET /orgs/{org}/code-scanning/alerts`],listAlertsForRepo:[`GET /repos/{owner}/{repo}/code-scanning/alerts`],listAlertsInstances:[`GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances`,{},{renamed:[`codeScanning`,`listAlertInstances`]}],listCodeqlDatabases:[`GET /repos/{owner}/{repo}/code-scanning/codeql/databases`],listRecentAnalyses:[`GET /repos/{owner}/{repo}/code-scanning/analyses`],updateAlert:[`PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}`],updateDefaultSetup:[`PATCH /repos/{owner}/{repo}/code-scanning/default-setup`],uploadSarif:[`POST /repos/{owner}/{repo}/code-scanning/sarifs`]},codeSecurity:{attachConfiguration:[`POST /orgs/{org}/code-security/configurations/{configuration_id}/attach`],attachEnterpriseConfiguration:[`POST /enterprises/{enterprise}/code-security/configurations/{configuration_id}/attach`],createConfiguration:[`POST /orgs/{org}/code-security/configurations`],createConfigurationForEnterprise:[`POST /enterprises/{enterprise}/code-security/configurations`],deleteConfiguration:[`DELETE /orgs/{org}/code-security/configurations/{configuration_id}`],deleteConfigurationForEnterprise:[`DELETE /enterprises/{enterprise}/code-security/configurations/{configuration_id}`],detachConfiguration:[`DELETE /orgs/{org}/code-security/configurations/detach`],getConfiguration:[`GET /orgs/{org}/code-security/configurations/{configuration_id}`],getConfigurationForRepository:[`GET /repos/{owner}/{repo}/code-security-configuration`],getConfigurationsForEnterprise:[`GET /enterprises/{enterprise}/code-security/configurations`],getConfigurationsForOrg:[`GET /orgs/{org}/code-security/configurations`],getDefaultConfigurations:[`GET /orgs/{org}/code-security/configurations/defaults`],getDefaultConfigurationsForEnterprise:[`GET /enterprises/{enterprise}/code-security/configurations/defaults`],getRepositoriesForConfiguration:[`GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories`],getRepositoriesForEnterpriseConfiguration:[`GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}/repositories`],getSingleConfigurationForEnterprise:[`GET /enterprises/{enterprise}/code-security/configurations/{configuration_id}`],setConfigurationAsDefault:[`PUT /orgs/{org}/code-security/configurations/{configuration_id}/defaults`],setConfigurationAsDefaultForEnterprise:[`PUT /enterprises/{enterprise}/code-security/configurations/{configuration_id}/defaults`],updateConfiguration:[`PATCH /orgs/{org}/code-security/configurations/{configuration_id}`],updateEnterpriseConfiguration:[`PATCH /enterprises/{enterprise}/code-security/configurations/{configuration_id}`]},codesOfConduct:{getAllCodesOfConduct:[`GET /codes_of_conduct`],getConductCode:[`GET /codes_of_conduct/{key}`]},codespaces:{addRepositoryForSecretForAuthenticatedUser:[`PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}`],addSelectedRepoToOrgSecret:[`PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}`],checkPermissionsForDevcontainer:[`GET /repos/{owner}/{repo}/codespaces/permissions_check`],codespaceMachinesForAuthenticatedUser:[`GET /user/codespaces/{codespace_name}/machines`],createForAuthenticatedUser:[`POST /user/codespaces`],createOrUpdateOrgSecret:[`PUT /orgs/{org}/codespaces/secrets/{secret_name}`],createOrUpdateRepoSecret:[`PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`],createOrUpdateSecretForAuthenticatedUser:[`PUT /user/codespaces/secrets/{secret_name}`],createWithPrForAuthenticatedUser:[`POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces`],createWithRepoForAuthenticatedUser:[`POST /repos/{owner}/{repo}/codespaces`],deleteForAuthenticatedUser:[`DELETE /user/codespaces/{codespace_name}`],deleteFromOrganization:[`DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}`],deleteOrgSecret:[`DELETE /orgs/{org}/codespaces/secrets/{secret_name}`],deleteRepoSecret:[`DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`],deleteSecretForAuthenticatedUser:[`DELETE /user/codespaces/secrets/{secret_name}`],exportForAuthenticatedUser:[`POST /user/codespaces/{codespace_name}/exports`],getCodespacesForUserInOrg:[`GET /orgs/{org}/members/{username}/codespaces`],getExportDetailsForAuthenticatedUser:[`GET /user/codespaces/{codespace_name}/exports/{export_id}`],getForAuthenticatedUser:[`GET /user/codespaces/{codespace_name}`],getOrgPublicKey:[`GET /orgs/{org}/codespaces/secrets/public-key`],getOrgSecret:[`GET /orgs/{org}/codespaces/secrets/{secret_name}`],getPublicKeyForAuthenticatedUser:[`GET /user/codespaces/secrets/public-key`],getRepoPublicKey:[`GET /repos/{owner}/{repo}/codespaces/secrets/public-key`],getRepoSecret:[`GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}`],getSecretForAuthenticatedUser:[`GET /user/codespaces/secrets/{secret_name}`],listDevcontainersInRepositoryForAuthenticatedUser:[`GET /repos/{owner}/{repo}/codespaces/devcontainers`],listForAuthenticatedUser:[`GET /user/codespaces`],listInOrganization:[`GET /orgs/{org}/codespaces`,{},{renamedParameters:{org_id:`org`}}],listInRepositoryForAuthenticatedUser:[`GET /repos/{owner}/{repo}/codespaces`],listOrgSecrets:[`GET /orgs/{org}/codespaces/secrets`],listRepoSecrets:[`GET /repos/{owner}/{repo}/codespaces/secrets`],listRepositoriesForSecretForAuthenticatedUser:[`GET /user/codespaces/secrets/{secret_name}/repositories`],listSecretsForAuthenticatedUser:[`GET /user/codespaces/secrets`],listSelectedReposForOrgSecret:[`GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories`],preFlightWithRepoForAuthenticatedUser:[`GET /repos/{owner}/{repo}/codespaces/new`],publishForAuthenticatedUser:[`POST /user/codespaces/{codespace_name}/publish`],removeRepositoryForSecretForAuthenticatedUser:[`DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}`],removeSelectedRepoFromOrgSecret:[`DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}`],repoMachinesForAuthenticatedUser:[`GET /repos/{owner}/{repo}/codespaces/machines`],setRepositoriesForSecretForAuthenticatedUser:[`PUT /user/codespaces/secrets/{secret_name}/repositories`],setSelectedReposForOrgSecret:[`PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories`],startForAuthenticatedUser:[`POST /user/codespaces/{codespace_name}/start`],stopForAuthenticatedUser:[`POST /user/codespaces/{codespace_name}/stop`],stopInOrganization:[`POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop`],updateForAuthenticatedUser:[`PATCH /user/codespaces/{codespace_name}`]},copilot:{addCopilotSeatsForTeams:[`POST /orgs/{org}/copilot/billing/selected_teams`],addCopilotSeatsForUsers:[`POST /orgs/{org}/copilot/billing/selected_users`],cancelCopilotSeatAssignmentForTeams:[`DELETE /orgs/{org}/copilot/billing/selected_teams`],cancelCopilotSeatAssignmentForUsers:[`DELETE /orgs/{org}/copilot/billing/selected_users`],copilotMetricsForOrganization:[`GET /orgs/{org}/copilot/metrics`],copilotMetricsForTeam:[`GET /orgs/{org}/team/{team_slug}/copilot/metrics`],getCopilotOrganizationDetails:[`GET /orgs/{org}/copilot/billing`],getCopilotSeatDetailsForUser:[`GET /orgs/{org}/members/{username}/copilot`],listCopilotSeats:[`GET /orgs/{org}/copilot/billing/seats`]},credentials:{revoke:[`POST /credentials/revoke`]},dependabot:{addSelectedRepoToOrgSecret:[`PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}`],createOrUpdateOrgSecret:[`PUT /orgs/{org}/dependabot/secrets/{secret_name}`],createOrUpdateRepoSecret:[`PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}`],deleteOrgSecret:[`DELETE /orgs/{org}/dependabot/secrets/{secret_name}`],deleteRepoSecret:[`DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}`],getAlert:[`GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}`],getOrgPublicKey:[`GET /orgs/{org}/dependabot/secrets/public-key`],getOrgSecret:[`GET /orgs/{org}/dependabot/secrets/{secret_name}`],getRepoPublicKey:[`GET /repos/{owner}/{repo}/dependabot/secrets/public-key`],getRepoSecret:[`GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}`],listAlertsForEnterprise:[`GET /enterprises/{enterprise}/dependabot/alerts`],listAlertsForOrg:[`GET /orgs/{org}/dependabot/alerts`],listAlertsForRepo:[`GET /repos/{owner}/{repo}/dependabot/alerts`],listOrgSecrets:[`GET /orgs/{org}/dependabot/secrets`],listRepoSecrets:[`GET /repos/{owner}/{repo}/dependabot/secrets`],listSelectedReposForOrgSecret:[`GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories`],removeSelectedRepoFromOrgSecret:[`DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}`],repositoryAccessForOrg:[`GET /organizations/{org}/dependabot/repository-access`],setRepositoryAccessDefaultLevel:[`PUT /organizations/{org}/dependabot/repository-access/default-level`],setSelectedReposForOrgSecret:[`PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories`],updateAlert:[`PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}`],updateRepositoryAccessForOrg:[`PATCH /organizations/{org}/dependabot/repository-access`]},dependencyGraph:{createRepositorySnapshot:[`POST /repos/{owner}/{repo}/dependency-graph/snapshots`],diffRange:[`GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}`],exportSbom:[`GET /repos/{owner}/{repo}/dependency-graph/sbom`]},emojis:{get:[`GET /emojis`]},enterpriseTeamMemberships:{add:[`PUT /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}`],bulkAdd:[`POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/add`],bulkRemove:[`POST /enterprises/{enterprise}/teams/{enterprise-team}/memberships/remove`],get:[`GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}`],list:[`GET /enterprises/{enterprise}/teams/{enterprise-team}/memberships`],remove:[`DELETE /enterprises/{enterprise}/teams/{enterprise-team}/memberships/{username}`]},enterpriseTeamOrganizations:{add:[`PUT /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}`],bulkAdd:[`POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/add`],bulkRemove:[`POST /enterprises/{enterprise}/teams/{enterprise-team}/organizations/remove`],delete:[`DELETE /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}`],getAssignment:[`GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations/{org}`],getAssignments:[`GET /enterprises/{enterprise}/teams/{enterprise-team}/organizations`]},enterpriseTeams:{create:[`POST /enterprises/{enterprise}/teams`],delete:[`DELETE /enterprises/{enterprise}/teams/{team_slug}`],get:[`GET /enterprises/{enterprise}/teams/{team_slug}`],list:[`GET /enterprises/{enterprise}/teams`],update:[`PATCH /enterprises/{enterprise}/teams/{team_slug}`]},gists:{checkIsStarred:[`GET /gists/{gist_id}/star`],create:[`POST /gists`],createComment:[`POST /gists/{gist_id}/comments`],delete:[`DELETE /gists/{gist_id}`],deleteComment:[`DELETE /gists/{gist_id}/comments/{comment_id}`],fork:[`POST /gists/{gist_id}/forks`],get:[`GET /gists/{gist_id}`],getComment:[`GET /gists/{gist_id}/comments/{comment_id}`],getRevision:[`GET /gists/{gist_id}/{sha}`],list:[`GET /gists`],listComments:[`GET /gists/{gist_id}/comments`],listCommits:[`GET /gists/{gist_id}/commits`],listForUser:[`GET /users/{username}/gists`],listForks:[`GET /gists/{gist_id}/forks`],listPublic:[`GET /gists/public`],listStarred:[`GET /gists/starred`],star:[`PUT /gists/{gist_id}/star`],unstar:[`DELETE /gists/{gist_id}/star`],update:[`PATCH /gists/{gist_id}`],updateComment:[`PATCH /gists/{gist_id}/comments/{comment_id}`]},git:{createBlob:[`POST /repos/{owner}/{repo}/git/blobs`],createCommit:[`POST /repos/{owner}/{repo}/git/commits`],createRef:[`POST /repos/{owner}/{repo}/git/refs`],createTag:[`POST /repos/{owner}/{repo}/git/tags`],createTree:[`POST /repos/{owner}/{repo}/git/trees`],deleteRef:[`DELETE /repos/{owner}/{repo}/git/refs/{ref}`],getBlob:[`GET /repos/{owner}/{repo}/git/blobs/{file_sha}`],getCommit:[`GET /repos/{owner}/{repo}/git/commits/{commit_sha}`],getRef:[`GET /repos/{owner}/{repo}/git/ref/{ref}`],getTag:[`GET /repos/{owner}/{repo}/git/tags/{tag_sha}`],getTree:[`GET /repos/{owner}/{repo}/git/trees/{tree_sha}`],listMatchingRefs:[`GET /repos/{owner}/{repo}/git/matching-refs/{ref}`],updateRef:[`PATCH /repos/{owner}/{repo}/git/refs/{ref}`]},gitignore:{getAllTemplates:[`GET /gitignore/templates`],getTemplate:[`GET /gitignore/templates/{name}`]},hostedCompute:{createNetworkConfigurationForOrg:[`POST /orgs/{org}/settings/network-configurations`],deleteNetworkConfigurationFromOrg:[`DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}`],getNetworkConfigurationForOrg:[`GET /orgs/{org}/settings/network-configurations/{network_configuration_id}`],getNetworkSettingsForOrg:[`GET /orgs/{org}/settings/network-settings/{network_settings_id}`],listNetworkConfigurationsForOrg:[`GET /orgs/{org}/settings/network-configurations`],updateNetworkConfigurationForOrg:[`PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}`]},interactions:{getRestrictionsForAuthenticatedUser:[`GET /user/interaction-limits`],getRestrictionsForOrg:[`GET /orgs/{org}/interaction-limits`],getRestrictionsForRepo:[`GET /repos/{owner}/{repo}/interaction-limits`],getRestrictionsForYourPublicRepos:[`GET /user/interaction-limits`,{},{renamed:[`interactions`,`getRestrictionsForAuthenticatedUser`]}],removeRestrictionsForAuthenticatedUser:[`DELETE /user/interaction-limits`],removeRestrictionsForOrg:[`DELETE /orgs/{org}/interaction-limits`],removeRestrictionsForRepo:[`DELETE /repos/{owner}/{repo}/interaction-limits`],removeRestrictionsForYourPublicRepos:[`DELETE /user/interaction-limits`,{},{renamed:[`interactions`,`removeRestrictionsForAuthenticatedUser`]}],setRestrictionsForAuthenticatedUser:[`PUT /user/interaction-limits`],setRestrictionsForOrg:[`PUT /orgs/{org}/interaction-limits`],setRestrictionsForRepo:[`PUT /repos/{owner}/{repo}/interaction-limits`],setRestrictionsForYourPublicRepos:[`PUT /user/interaction-limits`,{},{renamed:[`interactions`,`setRestrictionsForAuthenticatedUser`]}]},issues:{addAssignees:[`POST /repos/{owner}/{repo}/issues/{issue_number}/assignees`],addBlockedByDependency:[`POST /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`],addLabels:[`POST /repos/{owner}/{repo}/issues/{issue_number}/labels`],addSubIssue:[`POST /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`],checkUserCanBeAssigned:[`GET /repos/{owner}/{repo}/assignees/{assignee}`],checkUserCanBeAssignedToIssue:[`GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}`],create:[`POST /repos/{owner}/{repo}/issues`],createComment:[`POST /repos/{owner}/{repo}/issues/{issue_number}/comments`],createLabel:[`POST /repos/{owner}/{repo}/labels`],createMilestone:[`POST /repos/{owner}/{repo}/milestones`],deleteComment:[`DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}`],deleteLabel:[`DELETE /repos/{owner}/{repo}/labels/{name}`],deleteMilestone:[`DELETE /repos/{owner}/{repo}/milestones/{milestone_number}`],get:[`GET /repos/{owner}/{repo}/issues/{issue_number}`],getComment:[`GET /repos/{owner}/{repo}/issues/comments/{comment_id}`],getEvent:[`GET /repos/{owner}/{repo}/issues/events/{event_id}`],getLabel:[`GET /repos/{owner}/{repo}/labels/{name}`],getMilestone:[`GET /repos/{owner}/{repo}/milestones/{milestone_number}`],getParent:[`GET /repos/{owner}/{repo}/issues/{issue_number}/parent`],list:[`GET /issues`],listAssignees:[`GET /repos/{owner}/{repo}/assignees`],listComments:[`GET /repos/{owner}/{repo}/issues/{issue_number}/comments`],listCommentsForRepo:[`GET /repos/{owner}/{repo}/issues/comments`],listDependenciesBlockedBy:[`GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by`],listDependenciesBlocking:[`GET /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocking`],listEvents:[`GET /repos/{owner}/{repo}/issues/{issue_number}/events`],listEventsForRepo:[`GET /repos/{owner}/{repo}/issues/events`],listEventsForTimeline:[`GET /repos/{owner}/{repo}/issues/{issue_number}/timeline`],listForAuthenticatedUser:[`GET /user/issues`],listForOrg:[`GET /orgs/{org}/issues`],listForRepo:[`GET /repos/{owner}/{repo}/issues`],listLabelsForMilestone:[`GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels`],listLabelsForRepo:[`GET /repos/{owner}/{repo}/labels`],listLabelsOnIssue:[`GET /repos/{owner}/{repo}/issues/{issue_number}/labels`],listMilestones:[`GET /repos/{owner}/{repo}/milestones`],listSubIssues:[`GET /repos/{owner}/{repo}/issues/{issue_number}/sub_issues`],lock:[`PUT /repos/{owner}/{repo}/issues/{issue_number}/lock`],removeAllLabels:[`DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels`],removeAssignees:[`DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees`],removeDependencyBlockedBy:[`DELETE /repos/{owner}/{repo}/issues/{issue_number}/dependencies/blocked_by/{issue_id}`],removeLabel:[`DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}`],removeSubIssue:[`DELETE /repos/{owner}/{repo}/issues/{issue_number}/sub_issue`],reprioritizeSubIssue:[`PATCH /repos/{owner}/{repo}/issues/{issue_number}/sub_issues/priority`],setLabels:[`PUT /repos/{owner}/{repo}/issues/{issue_number}/labels`],unlock:[`DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock`],update:[`PATCH /repos/{owner}/{repo}/issues/{issue_number}`],updateComment:[`PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}`],updateLabel:[`PATCH /repos/{owner}/{repo}/labels/{name}`],updateMilestone:[`PATCH /repos/{owner}/{repo}/milestones/{milestone_number}`]},licenses:{get:[`GET /licenses/{license}`],getAllCommonlyUsed:[`GET /licenses`],getForRepo:[`GET /repos/{owner}/{repo}/license`]},markdown:{render:[`POST /markdown`],renderRaw:[`POST /markdown/raw`,{headers:{"content-type":`text/plain; charset=utf-8`}}]},meta:{get:[`GET /meta`],getAllVersions:[`GET /versions`],getOctocat:[`GET /octocat`],getZen:[`GET /zen`],root:[`GET /`]},migrations:{deleteArchiveForAuthenticatedUser:[`DELETE /user/migrations/{migration_id}/archive`],deleteArchiveForOrg:[`DELETE /orgs/{org}/migrations/{migration_id}/archive`],downloadArchiveForOrg:[`GET /orgs/{org}/migrations/{migration_id}/archive`],getArchiveForAuthenticatedUser:[`GET /user/migrations/{migration_id}/archive`],getStatusForAuthenticatedUser:[`GET /user/migrations/{migration_id}`],getStatusForOrg:[`GET /orgs/{org}/migrations/{migration_id}`],listForAuthenticatedUser:[`GET /user/migrations`],listForOrg:[`GET /orgs/{org}/migrations`],listReposForAuthenticatedUser:[`GET /user/migrations/{migration_id}/repositories`],listReposForOrg:[`GET /orgs/{org}/migrations/{migration_id}/repositories`],listReposForUser:[`GET /user/migrations/{migration_id}/repositories`,{},{renamed:[`migrations`,`listReposForAuthenticatedUser`]}],startForAuthenticatedUser:[`POST /user/migrations`],startForOrg:[`POST /orgs/{org}/migrations`],unlockRepoForAuthenticatedUser:[`DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock`],unlockRepoForOrg:[`DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock`]},oidc:{getOidcCustomSubTemplateForOrg:[`GET /orgs/{org}/actions/oidc/customization/sub`],updateOidcCustomSubTemplateForOrg:[`PUT /orgs/{org}/actions/oidc/customization/sub`]},orgs:{addSecurityManagerTeam:[`PUT /orgs/{org}/security-managers/teams/{team_slug}`,{},{deprecated:`octokit.rest.orgs.addSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#add-a-security-manager-team`}],assignTeamToOrgRole:[`PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}`],assignUserToOrgRole:[`PUT /orgs/{org}/organization-roles/users/{username}/{role_id}`],blockUser:[`PUT /orgs/{org}/blocks/{username}`],cancelInvitation:[`DELETE /orgs/{org}/invitations/{invitation_id}`],checkBlockedUser:[`GET /orgs/{org}/blocks/{username}`],checkMembershipForUser:[`GET /orgs/{org}/members/{username}`],checkPublicMembershipForUser:[`GET /orgs/{org}/public_members/{username}`],convertMemberToOutsideCollaborator:[`PUT /orgs/{org}/outside_collaborators/{username}`],createArtifactStorageRecord:[`POST /orgs/{org}/artifacts/metadata/storage-record`],createInvitation:[`POST /orgs/{org}/invitations`],createIssueType:[`POST /orgs/{org}/issue-types`],createWebhook:[`POST /orgs/{org}/hooks`],customPropertiesForOrgsCreateOrUpdateOrganizationValues:[`PATCH /organizations/{org}/org-properties/values`],customPropertiesForOrgsGetOrganizationValues:[`GET /organizations/{org}/org-properties/values`],customPropertiesForReposCreateOrUpdateOrganizationDefinition:[`PUT /orgs/{org}/properties/schema/{custom_property_name}`],customPropertiesForReposCreateOrUpdateOrganizationDefinitions:[`PATCH /orgs/{org}/properties/schema`],customPropertiesForReposCreateOrUpdateOrganizationValues:[`PATCH /orgs/{org}/properties/values`],customPropertiesForReposDeleteOrganizationDefinition:[`DELETE /orgs/{org}/properties/schema/{custom_property_name}`],customPropertiesForReposGetOrganizationDefinition:[`GET /orgs/{org}/properties/schema/{custom_property_name}`],customPropertiesForReposGetOrganizationDefinitions:[`GET /orgs/{org}/properties/schema`],customPropertiesForReposGetOrganizationValues:[`GET /orgs/{org}/properties/values`],delete:[`DELETE /orgs/{org}`],deleteAttestationsBulk:[`POST /orgs/{org}/attestations/delete-request`],deleteAttestationsById:[`DELETE /orgs/{org}/attestations/{attestation_id}`],deleteAttestationsBySubjectDigest:[`DELETE /orgs/{org}/attestations/digest/{subject_digest}`],deleteIssueType:[`DELETE /orgs/{org}/issue-types/{issue_type_id}`],deleteWebhook:[`DELETE /orgs/{org}/hooks/{hook_id}`],disableSelectedRepositoryImmutableReleasesOrganization:[`DELETE /orgs/{org}/settings/immutable-releases/repositories/{repository_id}`],enableSelectedRepositoryImmutableReleasesOrganization:[`PUT /orgs/{org}/settings/immutable-releases/repositories/{repository_id}`],get:[`GET /orgs/{org}`],getImmutableReleasesSettings:[`GET /orgs/{org}/settings/immutable-releases`],getImmutableReleasesSettingsRepositories:[`GET /orgs/{org}/settings/immutable-releases/repositories`],getMembershipForAuthenticatedUser:[`GET /user/memberships/orgs/{org}`],getMembershipForUser:[`GET /orgs/{org}/memberships/{username}`],getOrgRole:[`GET /orgs/{org}/organization-roles/{role_id}`],getOrgRulesetHistory:[`GET /orgs/{org}/rulesets/{ruleset_id}/history`],getOrgRulesetVersion:[`GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}`],getWebhook:[`GET /orgs/{org}/hooks/{hook_id}`],getWebhookConfigForOrg:[`GET /orgs/{org}/hooks/{hook_id}/config`],getWebhookDelivery:[`GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}`],list:[`GET /organizations`],listAppInstallations:[`GET /orgs/{org}/installations`],listArtifactStorageRecords:[`GET /orgs/{org}/artifacts/{subject_digest}/metadata/storage-records`],listAttestationRepositories:[`GET /orgs/{org}/attestations/repositories`],listAttestations:[`GET /orgs/{org}/attestations/{subject_digest}`],listAttestationsBulk:[`POST /orgs/{org}/attestations/bulk-list{?per_page,before,after}`],listBlockedUsers:[`GET /orgs/{org}/blocks`],listFailedInvitations:[`GET /orgs/{org}/failed_invitations`],listForAuthenticatedUser:[`GET /user/orgs`],listForUser:[`GET /users/{username}/orgs`],listInvitationTeams:[`GET /orgs/{org}/invitations/{invitation_id}/teams`],listIssueTypes:[`GET /orgs/{org}/issue-types`],listMembers:[`GET /orgs/{org}/members`],listMembershipsForAuthenticatedUser:[`GET /user/memberships/orgs`],listOrgRoleTeams:[`GET /orgs/{org}/organization-roles/{role_id}/teams`],listOrgRoleUsers:[`GET /orgs/{org}/organization-roles/{role_id}/users`],listOrgRoles:[`GET /orgs/{org}/organization-roles`],listOrganizationFineGrainedPermissions:[`GET /orgs/{org}/organization-fine-grained-permissions`],listOutsideCollaborators:[`GET /orgs/{org}/outside_collaborators`],listPatGrantRepositories:[`GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories`],listPatGrantRequestRepositories:[`GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories`],listPatGrantRequests:[`GET /orgs/{org}/personal-access-token-requests`],listPatGrants:[`GET /orgs/{org}/personal-access-tokens`],listPendingInvitations:[`GET /orgs/{org}/invitations`],listPublicMembers:[`GET /orgs/{org}/public_members`],listSecurityManagerTeams:[`GET /orgs/{org}/security-managers`,{},{deprecated:`octokit.rest.orgs.listSecurityManagerTeams() is deprecated, see https://docs.github.com/rest/orgs/security-managers#list-security-manager-teams`}],listWebhookDeliveries:[`GET /orgs/{org}/hooks/{hook_id}/deliveries`],listWebhooks:[`GET /orgs/{org}/hooks`],pingWebhook:[`POST /orgs/{org}/hooks/{hook_id}/pings`],redeliverWebhookDelivery:[`POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts`],removeMember:[`DELETE /orgs/{org}/members/{username}`],removeMembershipForUser:[`DELETE /orgs/{org}/memberships/{username}`],removeOutsideCollaborator:[`DELETE /orgs/{org}/outside_collaborators/{username}`],removePublicMembershipForAuthenticatedUser:[`DELETE /orgs/{org}/public_members/{username}`],removeSecurityManagerTeam:[`DELETE /orgs/{org}/security-managers/teams/{team_slug}`,{},{deprecated:`octokit.rest.orgs.removeSecurityManagerTeam() is deprecated, see https://docs.github.com/rest/orgs/security-managers#remove-a-security-manager-team`}],reviewPatGrantRequest:[`POST /orgs/{org}/personal-access-token-requests/{pat_request_id}`],reviewPatGrantRequestsInBulk:[`POST /orgs/{org}/personal-access-token-requests`],revokeAllOrgRolesTeam:[`DELETE /orgs/{org}/organization-roles/teams/{team_slug}`],revokeAllOrgRolesUser:[`DELETE /orgs/{org}/organization-roles/users/{username}`],revokeOrgRoleTeam:[`DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}`],revokeOrgRoleUser:[`DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}`],setImmutableReleasesSettings:[`PUT /orgs/{org}/settings/immutable-releases`],setImmutableReleasesSettingsRepositories:[`PUT /orgs/{org}/settings/immutable-releases/repositories`],setMembershipForUser:[`PUT /orgs/{org}/memberships/{username}`],setPublicMembershipForAuthenticatedUser:[`PUT /orgs/{org}/public_members/{username}`],unblockUser:[`DELETE /orgs/{org}/blocks/{username}`],update:[`PATCH /orgs/{org}`],updateIssueType:[`PUT /orgs/{org}/issue-types/{issue_type_id}`],updateMembershipForAuthenticatedUser:[`PATCH /user/memberships/orgs/{org}`],updatePatAccess:[`POST /orgs/{org}/personal-access-tokens/{pat_id}`],updatePatAccesses:[`POST /orgs/{org}/personal-access-tokens`],updateWebhook:[`PATCH /orgs/{org}/hooks/{hook_id}`],updateWebhookConfigForOrg:[`PATCH /orgs/{org}/hooks/{hook_id}/config`]},packages:{deletePackageForAuthenticatedUser:[`DELETE /user/packages/{package_type}/{package_name}`],deletePackageForOrg:[`DELETE /orgs/{org}/packages/{package_type}/{package_name}`],deletePackageForUser:[`DELETE /users/{username}/packages/{package_type}/{package_name}`],deletePackageVersionForAuthenticatedUser:[`DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}`],deletePackageVersionForOrg:[`DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}`],deletePackageVersionForUser:[`DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}`],getAllPackageVersionsForAPackageOwnedByAnOrg:[`GET /orgs/{org}/packages/{package_type}/{package_name}/versions`,{},{renamed:[`packages`,`getAllPackageVersionsForPackageOwnedByOrg`]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:[`GET /user/packages/{package_type}/{package_name}/versions`,{},{renamed:[`packages`,`getAllPackageVersionsForPackageOwnedByAuthenticatedUser`]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:[`GET /user/packages/{package_type}/{package_name}/versions`],getAllPackageVersionsForPackageOwnedByOrg:[`GET /orgs/{org}/packages/{package_type}/{package_name}/versions`],getAllPackageVersionsForPackageOwnedByUser:[`GET /users/{username}/packages/{package_type}/{package_name}/versions`],getPackageForAuthenticatedUser:[`GET /user/packages/{package_type}/{package_name}`],getPackageForOrganization:[`GET /orgs/{org}/packages/{package_type}/{package_name}`],getPackageForUser:[`GET /users/{username}/packages/{package_type}/{package_name}`],getPackageVersionForAuthenticatedUser:[`GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}`],getPackageVersionForOrganization:[`GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}`],getPackageVersionForUser:[`GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}`],listDockerMigrationConflictingPackagesForAuthenticatedUser:[`GET /user/docker/conflicts`],listDockerMigrationConflictingPackagesForOrganization:[`GET /orgs/{org}/docker/conflicts`],listDockerMigrationConflictingPackagesForUser:[`GET /users/{username}/docker/conflicts`],listPackagesForAuthenticatedUser:[`GET /user/packages`],listPackagesForOrganization:[`GET /orgs/{org}/packages`],listPackagesForUser:[`GET /users/{username}/packages`],restorePackageForAuthenticatedUser:[`POST /user/packages/{package_type}/{package_name}/restore{?token}`],restorePackageForOrg:[`POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}`],restorePackageForUser:[`POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}`],restorePackageVersionForAuthenticatedUser:[`POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore`],restorePackageVersionForOrg:[`POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore`],restorePackageVersionForUser:[`POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore`]},privateRegistries:{createOrgPrivateRegistry:[`POST /orgs/{org}/private-registries`],deleteOrgPrivateRegistry:[`DELETE /orgs/{org}/private-registries/{secret_name}`],getOrgPrivateRegistry:[`GET /orgs/{org}/private-registries/{secret_name}`],getOrgPublicKey:[`GET /orgs/{org}/private-registries/public-key`],listOrgPrivateRegistries:[`GET /orgs/{org}/private-registries`],updateOrgPrivateRegistry:[`PATCH /orgs/{org}/private-registries/{secret_name}`]},projects:{addItemForOrg:[`POST /orgs/{org}/projectsV2/{project_number}/items`],addItemForUser:[`POST /users/{username}/projectsV2/{project_number}/items`],deleteItemForOrg:[`DELETE /orgs/{org}/projectsV2/{project_number}/items/{item_id}`],deleteItemForUser:[`DELETE /users/{username}/projectsV2/{project_number}/items/{item_id}`],getFieldForOrg:[`GET /orgs/{org}/projectsV2/{project_number}/fields/{field_id}`],getFieldForUser:[`GET /users/{username}/projectsV2/{project_number}/fields/{field_id}`],getForOrg:[`GET /orgs/{org}/projectsV2/{project_number}`],getForUser:[`GET /users/{username}/projectsV2/{project_number}`],getOrgItem:[`GET /orgs/{org}/projectsV2/{project_number}/items/{item_id}`],getUserItem:[`GET /users/{username}/projectsV2/{project_number}/items/{item_id}`],listFieldsForOrg:[`GET /orgs/{org}/projectsV2/{project_number}/fields`],listFieldsForUser:[`GET /users/{username}/projectsV2/{project_number}/fields`],listForOrg:[`GET /orgs/{org}/projectsV2`],listForUser:[`GET /users/{username}/projectsV2`],listItemsForOrg:[`GET /orgs/{org}/projectsV2/{project_number}/items`],listItemsForUser:[`GET /users/{username}/projectsV2/{project_number}/items`],updateItemForOrg:[`PATCH /orgs/{org}/projectsV2/{project_number}/items/{item_id}`],updateItemForUser:[`PATCH /users/{username}/projectsV2/{project_number}/items/{item_id}`]},pulls:{checkIfMerged:[`GET /repos/{owner}/{repo}/pulls/{pull_number}/merge`],create:[`POST /repos/{owner}/{repo}/pulls`],createReplyForReviewComment:[`POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies`],createReview:[`POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews`],createReviewComment:[`POST /repos/{owner}/{repo}/pulls/{pull_number}/comments`],deletePendingReview:[`DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}`],deleteReviewComment:[`DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}`],dismissReview:[`PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals`],get:[`GET /repos/{owner}/{repo}/pulls/{pull_number}`],getReview:[`GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}`],getReviewComment:[`GET /repos/{owner}/{repo}/pulls/comments/{comment_id}`],list:[`GET /repos/{owner}/{repo}/pulls`],listCommentsForReview:[`GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments`],listCommits:[`GET /repos/{owner}/{repo}/pulls/{pull_number}/commits`],listFiles:[`GET /repos/{owner}/{repo}/pulls/{pull_number}/files`],listRequestedReviewers:[`GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`],listReviewComments:[`GET /repos/{owner}/{repo}/pulls/{pull_number}/comments`],listReviewCommentsForRepo:[`GET /repos/{owner}/{repo}/pulls/comments`],listReviews:[`GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews`],merge:[`PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge`],removeRequestedReviewers:[`DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`],requestReviewers:[`POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers`],submitReview:[`POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events`],update:[`PATCH /repos/{owner}/{repo}/pulls/{pull_number}`],updateBranch:[`PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch`],updateReview:[`PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}`],updateReviewComment:[`PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}`]},rateLimit:{get:[`GET /rate_limit`]},reactions:{createForCommitComment:[`POST /repos/{owner}/{repo}/comments/{comment_id}/reactions`],createForIssue:[`POST /repos/{owner}/{repo}/issues/{issue_number}/reactions`],createForIssueComment:[`POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions`],createForPullRequestReviewComment:[`POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions`],createForRelease:[`POST /repos/{owner}/{repo}/releases/{release_id}/reactions`],createForTeamDiscussionCommentInOrg:[`POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions`],createForTeamDiscussionInOrg:[`POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions`],deleteForCommitComment:[`DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}`],deleteForIssue:[`DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}`],deleteForIssueComment:[`DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}`],deleteForPullRequestComment:[`DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}`],deleteForRelease:[`DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}`],deleteForTeamDiscussion:[`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}`],deleteForTeamDiscussionComment:[`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}`],listForCommitComment:[`GET /repos/{owner}/{repo}/comments/{comment_id}/reactions`],listForIssue:[`GET /repos/{owner}/{repo}/issues/{issue_number}/reactions`],listForIssueComment:[`GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions`],listForPullRequestReviewComment:[`GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions`],listForRelease:[`GET /repos/{owner}/{repo}/releases/{release_id}/reactions`],listForTeamDiscussionCommentInOrg:[`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions`],listForTeamDiscussionInOrg:[`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions`]},repos:{acceptInvitation:[`PATCH /user/repository_invitations/{invitation_id}`,{},{renamed:[`repos`,`acceptInvitationForAuthenticatedUser`]}],acceptInvitationForAuthenticatedUser:[`PATCH /user/repository_invitations/{invitation_id}`],addAppAccessRestrictions:[`POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps`,{},{mapToData:`apps`}],addCollaborator:[`PUT /repos/{owner}/{repo}/collaborators/{username}`],addStatusCheckContexts:[`POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts`,{},{mapToData:`contexts`}],addTeamAccessRestrictions:[`POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams`,{},{mapToData:`teams`}],addUserAccessRestrictions:[`POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users`,{},{mapToData:`users`}],cancelPagesDeployment:[`POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel`],checkAutomatedSecurityFixes:[`GET /repos/{owner}/{repo}/automated-security-fixes`],checkCollaborator:[`GET /repos/{owner}/{repo}/collaborators/{username}`],checkImmutableReleases:[`GET /repos/{owner}/{repo}/immutable-releases`],checkPrivateVulnerabilityReporting:[`GET /repos/{owner}/{repo}/private-vulnerability-reporting`],checkVulnerabilityAlerts:[`GET /repos/{owner}/{repo}/vulnerability-alerts`],codeownersErrors:[`GET /repos/{owner}/{repo}/codeowners/errors`],compareCommits:[`GET /repos/{owner}/{repo}/compare/{base}...{head}`],compareCommitsWithBasehead:[`GET /repos/{owner}/{repo}/compare/{basehead}`],createAttestation:[`POST /repos/{owner}/{repo}/attestations`],createAutolink:[`POST /repos/{owner}/{repo}/autolinks`],createCommitComment:[`POST /repos/{owner}/{repo}/commits/{commit_sha}/comments`],createCommitSignatureProtection:[`POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures`],createCommitStatus:[`POST /repos/{owner}/{repo}/statuses/{sha}`],createDeployKey:[`POST /repos/{owner}/{repo}/keys`],createDeployment:[`POST /repos/{owner}/{repo}/deployments`],createDeploymentBranchPolicy:[`POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies`],createDeploymentProtectionRule:[`POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules`],createDeploymentStatus:[`POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses`],createDispatchEvent:[`POST /repos/{owner}/{repo}/dispatches`],createForAuthenticatedUser:[`POST /user/repos`],createFork:[`POST /repos/{owner}/{repo}/forks`],createInOrg:[`POST /orgs/{org}/repos`],createOrUpdateEnvironment:[`PUT /repos/{owner}/{repo}/environments/{environment_name}`],createOrUpdateFileContents:[`PUT /repos/{owner}/{repo}/contents/{path}`],createOrgRuleset:[`POST /orgs/{org}/rulesets`],createPagesDeployment:[`POST /repos/{owner}/{repo}/pages/deployments`],createPagesSite:[`POST /repos/{owner}/{repo}/pages`],createRelease:[`POST /repos/{owner}/{repo}/releases`],createRepoRuleset:[`POST /repos/{owner}/{repo}/rulesets`],createUsingTemplate:[`POST /repos/{template_owner}/{template_repo}/generate`],createWebhook:[`POST /repos/{owner}/{repo}/hooks`],customPropertiesForReposCreateOrUpdateRepositoryValues:[`PATCH /repos/{owner}/{repo}/properties/values`],customPropertiesForReposGetRepositoryValues:[`GET /repos/{owner}/{repo}/properties/values`],declineInvitation:[`DELETE /user/repository_invitations/{invitation_id}`,{},{renamed:[`repos`,`declineInvitationForAuthenticatedUser`]}],declineInvitationForAuthenticatedUser:[`DELETE /user/repository_invitations/{invitation_id}`],delete:[`DELETE /repos/{owner}/{repo}`],deleteAccessRestrictions:[`DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions`],deleteAdminBranchProtection:[`DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins`],deleteAnEnvironment:[`DELETE /repos/{owner}/{repo}/environments/{environment_name}`],deleteAutolink:[`DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}`],deleteBranchProtection:[`DELETE /repos/{owner}/{repo}/branches/{branch}/protection`],deleteCommitComment:[`DELETE /repos/{owner}/{repo}/comments/{comment_id}`],deleteCommitSignatureProtection:[`DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures`],deleteDeployKey:[`DELETE /repos/{owner}/{repo}/keys/{key_id}`],deleteDeployment:[`DELETE /repos/{owner}/{repo}/deployments/{deployment_id}`],deleteDeploymentBranchPolicy:[`DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}`],deleteFile:[`DELETE /repos/{owner}/{repo}/contents/{path}`],deleteInvitation:[`DELETE /repos/{owner}/{repo}/invitations/{invitation_id}`],deleteOrgRuleset:[`DELETE /orgs/{org}/rulesets/{ruleset_id}`],deletePagesSite:[`DELETE /repos/{owner}/{repo}/pages`],deletePullRequestReviewProtection:[`DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews`],deleteRelease:[`DELETE /repos/{owner}/{repo}/releases/{release_id}`],deleteReleaseAsset:[`DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}`],deleteRepoRuleset:[`DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}`],deleteWebhook:[`DELETE /repos/{owner}/{repo}/hooks/{hook_id}`],disableAutomatedSecurityFixes:[`DELETE /repos/{owner}/{repo}/automated-security-fixes`],disableDeploymentProtectionRule:[`DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}`],disableImmutableReleases:[`DELETE /repos/{owner}/{repo}/immutable-releases`],disablePrivateVulnerabilityReporting:[`DELETE /repos/{owner}/{repo}/private-vulnerability-reporting`],disableVulnerabilityAlerts:[`DELETE /repos/{owner}/{repo}/vulnerability-alerts`],downloadArchive:[`GET /repos/{owner}/{repo}/zipball/{ref}`,{},{renamed:[`repos`,`downloadZipballArchive`]}],downloadTarballArchive:[`GET /repos/{owner}/{repo}/tarball/{ref}`],downloadZipballArchive:[`GET /repos/{owner}/{repo}/zipball/{ref}`],enableAutomatedSecurityFixes:[`PUT /repos/{owner}/{repo}/automated-security-fixes`],enableImmutableReleases:[`PUT /repos/{owner}/{repo}/immutable-releases`],enablePrivateVulnerabilityReporting:[`PUT /repos/{owner}/{repo}/private-vulnerability-reporting`],enableVulnerabilityAlerts:[`PUT /repos/{owner}/{repo}/vulnerability-alerts`],generateReleaseNotes:[`POST /repos/{owner}/{repo}/releases/generate-notes`],get:[`GET /repos/{owner}/{repo}`],getAccessRestrictions:[`GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions`],getAdminBranchProtection:[`GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins`],getAllDeploymentProtectionRules:[`GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules`],getAllEnvironments:[`GET /repos/{owner}/{repo}/environments`],getAllStatusCheckContexts:[`GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts`],getAllTopics:[`GET /repos/{owner}/{repo}/topics`],getAppsWithAccessToProtectedBranch:[`GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps`],getAutolink:[`GET /repos/{owner}/{repo}/autolinks/{autolink_id}`],getBranch:[`GET /repos/{owner}/{repo}/branches/{branch}`],getBranchProtection:[`GET /repos/{owner}/{repo}/branches/{branch}/protection`],getBranchRules:[`GET /repos/{owner}/{repo}/rules/branches/{branch}`],getClones:[`GET /repos/{owner}/{repo}/traffic/clones`],getCodeFrequencyStats:[`GET /repos/{owner}/{repo}/stats/code_frequency`],getCollaboratorPermissionLevel:[`GET /repos/{owner}/{repo}/collaborators/{username}/permission`],getCombinedStatusForRef:[`GET /repos/{owner}/{repo}/commits/{ref}/status`],getCommit:[`GET /repos/{owner}/{repo}/commits/{ref}`],getCommitActivityStats:[`GET /repos/{owner}/{repo}/stats/commit_activity`],getCommitComment:[`GET /repos/{owner}/{repo}/comments/{comment_id}`],getCommitSignatureProtection:[`GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures`],getCommunityProfileMetrics:[`GET /repos/{owner}/{repo}/community/profile`],getContent:[`GET /repos/{owner}/{repo}/contents/{path}`],getContributorsStats:[`GET /repos/{owner}/{repo}/stats/contributors`],getCustomDeploymentProtectionRule:[`GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}`],getDeployKey:[`GET /repos/{owner}/{repo}/keys/{key_id}`],getDeployment:[`GET /repos/{owner}/{repo}/deployments/{deployment_id}`],getDeploymentBranchPolicy:[`GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}`],getDeploymentStatus:[`GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}`],getEnvironment:[`GET /repos/{owner}/{repo}/environments/{environment_name}`],getLatestPagesBuild:[`GET /repos/{owner}/{repo}/pages/builds/latest`],getLatestRelease:[`GET /repos/{owner}/{repo}/releases/latest`],getOrgRuleSuite:[`GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}`],getOrgRuleSuites:[`GET /orgs/{org}/rulesets/rule-suites`],getOrgRuleset:[`GET /orgs/{org}/rulesets/{ruleset_id}`],getOrgRulesets:[`GET /orgs/{org}/rulesets`],getPages:[`GET /repos/{owner}/{repo}/pages`],getPagesBuild:[`GET /repos/{owner}/{repo}/pages/builds/{build_id}`],getPagesDeployment:[`GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}`],getPagesHealthCheck:[`GET /repos/{owner}/{repo}/pages/health`],getParticipationStats:[`GET /repos/{owner}/{repo}/stats/participation`],getPullRequestReviewProtection:[`GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews`],getPunchCardStats:[`GET /repos/{owner}/{repo}/stats/punch_card`],getReadme:[`GET /repos/{owner}/{repo}/readme`],getReadmeInDirectory:[`GET /repos/{owner}/{repo}/readme/{dir}`],getRelease:[`GET /repos/{owner}/{repo}/releases/{release_id}`],getReleaseAsset:[`GET /repos/{owner}/{repo}/releases/assets/{asset_id}`],getReleaseByTag:[`GET /repos/{owner}/{repo}/releases/tags/{tag}`],getRepoRuleSuite:[`GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}`],getRepoRuleSuites:[`GET /repos/{owner}/{repo}/rulesets/rule-suites`],getRepoRuleset:[`GET /repos/{owner}/{repo}/rulesets/{ruleset_id}`],getRepoRulesetHistory:[`GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history`],getRepoRulesetVersion:[`GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}`],getRepoRulesets:[`GET /repos/{owner}/{repo}/rulesets`],getStatusChecksProtection:[`GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks`],getTeamsWithAccessToProtectedBranch:[`GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams`],getTopPaths:[`GET /repos/{owner}/{repo}/traffic/popular/paths`],getTopReferrers:[`GET /repos/{owner}/{repo}/traffic/popular/referrers`],getUsersWithAccessToProtectedBranch:[`GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users`],getViews:[`GET /repos/{owner}/{repo}/traffic/views`],getWebhook:[`GET /repos/{owner}/{repo}/hooks/{hook_id}`],getWebhookConfigForRepo:[`GET /repos/{owner}/{repo}/hooks/{hook_id}/config`],getWebhookDelivery:[`GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}`],listActivities:[`GET /repos/{owner}/{repo}/activity`],listAttestations:[`GET /repos/{owner}/{repo}/attestations/{subject_digest}`],listAutolinks:[`GET /repos/{owner}/{repo}/autolinks`],listBranches:[`GET /repos/{owner}/{repo}/branches`],listBranchesForHeadCommit:[`GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head`],listCollaborators:[`GET /repos/{owner}/{repo}/collaborators`],listCommentsForCommit:[`GET /repos/{owner}/{repo}/commits/{commit_sha}/comments`],listCommitCommentsForRepo:[`GET /repos/{owner}/{repo}/comments`],listCommitStatusesForRef:[`GET /repos/{owner}/{repo}/commits/{ref}/statuses`],listCommits:[`GET /repos/{owner}/{repo}/commits`],listContributors:[`GET /repos/{owner}/{repo}/contributors`],listCustomDeploymentRuleIntegrations:[`GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps`],listDeployKeys:[`GET /repos/{owner}/{repo}/keys`],listDeploymentBranchPolicies:[`GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies`],listDeploymentStatuses:[`GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses`],listDeployments:[`GET /repos/{owner}/{repo}/deployments`],listForAuthenticatedUser:[`GET /user/repos`],listForOrg:[`GET /orgs/{org}/repos`],listForUser:[`GET /users/{username}/repos`],listForks:[`GET /repos/{owner}/{repo}/forks`],listInvitations:[`GET /repos/{owner}/{repo}/invitations`],listInvitationsForAuthenticatedUser:[`GET /user/repository_invitations`],listLanguages:[`GET /repos/{owner}/{repo}/languages`],listPagesBuilds:[`GET /repos/{owner}/{repo}/pages/builds`],listPublic:[`GET /repositories`],listPullRequestsAssociatedWithCommit:[`GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls`],listReleaseAssets:[`GET /repos/{owner}/{repo}/releases/{release_id}/assets`],listReleases:[`GET /repos/{owner}/{repo}/releases`],listTags:[`GET /repos/{owner}/{repo}/tags`],listTeams:[`GET /repos/{owner}/{repo}/teams`],listWebhookDeliveries:[`GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries`],listWebhooks:[`GET /repos/{owner}/{repo}/hooks`],merge:[`POST /repos/{owner}/{repo}/merges`],mergeUpstream:[`POST /repos/{owner}/{repo}/merge-upstream`],pingWebhook:[`POST /repos/{owner}/{repo}/hooks/{hook_id}/pings`],redeliverWebhookDelivery:[`POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts`],removeAppAccessRestrictions:[`DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps`,{},{mapToData:`apps`}],removeCollaborator:[`DELETE /repos/{owner}/{repo}/collaborators/{username}`],removeStatusCheckContexts:[`DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts`,{},{mapToData:`contexts`}],removeStatusCheckProtection:[`DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks`],removeTeamAccessRestrictions:[`DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams`,{},{mapToData:`teams`}],removeUserAccessRestrictions:[`DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users`,{},{mapToData:`users`}],renameBranch:[`POST /repos/{owner}/{repo}/branches/{branch}/rename`],replaceAllTopics:[`PUT /repos/{owner}/{repo}/topics`],requestPagesBuild:[`POST /repos/{owner}/{repo}/pages/builds`],setAdminBranchProtection:[`POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins`],setAppAccessRestrictions:[`PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps`,{},{mapToData:`apps`}],setStatusCheckContexts:[`PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts`,{},{mapToData:`contexts`}],setTeamAccessRestrictions:[`PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams`,{},{mapToData:`teams`}],setUserAccessRestrictions:[`PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users`,{},{mapToData:`users`}],testPushWebhook:[`POST /repos/{owner}/{repo}/hooks/{hook_id}/tests`],transfer:[`POST /repos/{owner}/{repo}/transfer`],update:[`PATCH /repos/{owner}/{repo}`],updateBranchProtection:[`PUT /repos/{owner}/{repo}/branches/{branch}/protection`],updateCommitComment:[`PATCH /repos/{owner}/{repo}/comments/{comment_id}`],updateDeploymentBranchPolicy:[`PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}`],updateInformationAboutPagesSite:[`PUT /repos/{owner}/{repo}/pages`],updateInvitation:[`PATCH /repos/{owner}/{repo}/invitations/{invitation_id}`],updateOrgRuleset:[`PUT /orgs/{org}/rulesets/{ruleset_id}`],updatePullRequestReviewProtection:[`PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews`],updateRelease:[`PATCH /repos/{owner}/{repo}/releases/{release_id}`],updateReleaseAsset:[`PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}`],updateRepoRuleset:[`PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}`],updateStatusCheckPotection:[`PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks`,{},{renamed:[`repos`,`updateStatusCheckProtection`]}],updateStatusCheckProtection:[`PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks`],updateWebhook:[`PATCH /repos/{owner}/{repo}/hooks/{hook_id}`],updateWebhookConfigForRepo:[`PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config`],uploadReleaseAsset:[`POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}`,{baseUrl:`https://uploads.github.com`}]},search:{code:[`GET /search/code`],commits:[`GET /search/commits`],issuesAndPullRequests:[`GET /search/issues`],labels:[`GET /search/labels`],repos:[`GET /search/repositories`],topics:[`GET /search/topics`],users:[`GET /search/users`]},secretScanning:{createPushProtectionBypass:[`POST /repos/{owner}/{repo}/secret-scanning/push-protection-bypasses`],getAlert:[`GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}`],getScanHistory:[`GET /repos/{owner}/{repo}/secret-scanning/scan-history`],listAlertsForOrg:[`GET /orgs/{org}/secret-scanning/alerts`],listAlertsForRepo:[`GET /repos/{owner}/{repo}/secret-scanning/alerts`],listLocationsForAlert:[`GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations`],listOrgPatternConfigs:[`GET /orgs/{org}/secret-scanning/pattern-configurations`],updateAlert:[`PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}`],updateOrgPatternConfigs:[`PATCH /orgs/{org}/secret-scanning/pattern-configurations`]},securityAdvisories:{createFork:[`POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks`],createPrivateVulnerabilityReport:[`POST /repos/{owner}/{repo}/security-advisories/reports`],createRepositoryAdvisory:[`POST /repos/{owner}/{repo}/security-advisories`],createRepositoryAdvisoryCveRequest:[`POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve`],getGlobalAdvisory:[`GET /advisories/{ghsa_id}`],getRepositoryAdvisory:[`GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}`],listGlobalAdvisories:[`GET /advisories`],listOrgRepositoryAdvisories:[`GET /orgs/{org}/security-advisories`],listRepositoryAdvisories:[`GET /repos/{owner}/{repo}/security-advisories`],updateRepositoryAdvisory:[`PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}`]},teams:{addOrUpdateMembershipForUserInOrg:[`PUT /orgs/{org}/teams/{team_slug}/memberships/{username}`],addOrUpdateRepoPermissionsInOrg:[`PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`],checkPermissionsForRepoInOrg:[`GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`],create:[`POST /orgs/{org}/teams`],createDiscussionCommentInOrg:[`POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments`],createDiscussionInOrg:[`POST /orgs/{org}/teams/{team_slug}/discussions`],deleteDiscussionCommentInOrg:[`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}`],deleteDiscussionInOrg:[`DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}`],deleteInOrg:[`DELETE /orgs/{org}/teams/{team_slug}`],getByName:[`GET /orgs/{org}/teams/{team_slug}`],getDiscussionCommentInOrg:[`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}`],getDiscussionInOrg:[`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}`],getMembershipForUserInOrg:[`GET /orgs/{org}/teams/{team_slug}/memberships/{username}`],list:[`GET /orgs/{org}/teams`],listChildInOrg:[`GET /orgs/{org}/teams/{team_slug}/teams`],listDiscussionCommentsInOrg:[`GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments`],listDiscussionsInOrg:[`GET /orgs/{org}/teams/{team_slug}/discussions`],listForAuthenticatedUser:[`GET /user/teams`],listMembersInOrg:[`GET /orgs/{org}/teams/{team_slug}/members`],listPendingInvitationsInOrg:[`GET /orgs/{org}/teams/{team_slug}/invitations`],listReposInOrg:[`GET /orgs/{org}/teams/{team_slug}/repos`],removeMembershipForUserInOrg:[`DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}`],removeRepoInOrg:[`DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}`],updateDiscussionCommentInOrg:[`PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}`],updateDiscussionInOrg:[`PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}`],updateInOrg:[`PATCH /orgs/{org}/teams/{team_slug}`]},users:{addEmailForAuthenticated:[`POST /user/emails`,{},{renamed:[`users`,`addEmailForAuthenticatedUser`]}],addEmailForAuthenticatedUser:[`POST /user/emails`],addSocialAccountForAuthenticatedUser:[`POST /user/social_accounts`],block:[`PUT /user/blocks/{username}`],checkBlocked:[`GET /user/blocks/{username}`],checkFollowingForUser:[`GET /users/{username}/following/{target_user}`],checkPersonIsFollowedByAuthenticated:[`GET /user/following/{username}`],createGpgKeyForAuthenticated:[`POST /user/gpg_keys`,{},{renamed:[`users`,`createGpgKeyForAuthenticatedUser`]}],createGpgKeyForAuthenticatedUser:[`POST /user/gpg_keys`],createPublicSshKeyForAuthenticated:[`POST /user/keys`,{},{renamed:[`users`,`createPublicSshKeyForAuthenticatedUser`]}],createPublicSshKeyForAuthenticatedUser:[`POST /user/keys`],createSshSigningKeyForAuthenticatedUser:[`POST /user/ssh_signing_keys`],deleteAttestationsBulk:[`POST /users/{username}/attestations/delete-request`],deleteAttestationsById:[`DELETE /users/{username}/attestations/{attestation_id}`],deleteAttestationsBySubjectDigest:[`DELETE /users/{username}/attestations/digest/{subject_digest}`],deleteEmailForAuthenticated:[`DELETE /user/emails`,{},{renamed:[`users`,`deleteEmailForAuthenticatedUser`]}],deleteEmailForAuthenticatedUser:[`DELETE /user/emails`],deleteGpgKeyForAuthenticated:[`DELETE /user/gpg_keys/{gpg_key_id}`,{},{renamed:[`users`,`deleteGpgKeyForAuthenticatedUser`]}],deleteGpgKeyForAuthenticatedUser:[`DELETE /user/gpg_keys/{gpg_key_id}`],deletePublicSshKeyForAuthenticated:[`DELETE /user/keys/{key_id}`,{},{renamed:[`users`,`deletePublicSshKeyForAuthenticatedUser`]}],deletePublicSshKeyForAuthenticatedUser:[`DELETE /user/keys/{key_id}`],deleteSocialAccountForAuthenticatedUser:[`DELETE /user/social_accounts`],deleteSshSigningKeyForAuthenticatedUser:[`DELETE /user/ssh_signing_keys/{ssh_signing_key_id}`],follow:[`PUT /user/following/{username}`],getAuthenticated:[`GET /user`],getById:[`GET /user/{account_id}`],getByUsername:[`GET /users/{username}`],getContextForUser:[`GET /users/{username}/hovercard`],getGpgKeyForAuthenticated:[`GET /user/gpg_keys/{gpg_key_id}`,{},{renamed:[`users`,`getGpgKeyForAuthenticatedUser`]}],getGpgKeyForAuthenticatedUser:[`GET /user/gpg_keys/{gpg_key_id}`],getPublicSshKeyForAuthenticated:[`GET /user/keys/{key_id}`,{},{renamed:[`users`,`getPublicSshKeyForAuthenticatedUser`]}],getPublicSshKeyForAuthenticatedUser:[`GET /user/keys/{key_id}`],getSshSigningKeyForAuthenticatedUser:[`GET /user/ssh_signing_keys/{ssh_signing_key_id}`],list:[`GET /users`],listAttestations:[`GET /users/{username}/attestations/{subject_digest}`],listAttestationsBulk:[`POST /users/{username}/attestations/bulk-list{?per_page,before,after}`],listBlockedByAuthenticated:[`GET /user/blocks`,{},{renamed:[`users`,`listBlockedByAuthenticatedUser`]}],listBlockedByAuthenticatedUser:[`GET /user/blocks`],listEmailsForAuthenticated:[`GET /user/emails`,{},{renamed:[`users`,`listEmailsForAuthenticatedUser`]}],listEmailsForAuthenticatedUser:[`GET /user/emails`],listFollowedByAuthenticated:[`GET /user/following`,{},{renamed:[`users`,`listFollowedByAuthenticatedUser`]}],listFollowedByAuthenticatedUser:[`GET /user/following`],listFollowersForAuthenticatedUser:[`GET /user/followers`],listFollowersForUser:[`GET /users/{username}/followers`],listFollowingForUser:[`GET /users/{username}/following`],listGpgKeysForAuthenticated:[`GET /user/gpg_keys`,{},{renamed:[`users`,`listGpgKeysForAuthenticatedUser`]}],listGpgKeysForAuthenticatedUser:[`GET /user/gpg_keys`],listGpgKeysForUser:[`GET /users/{username}/gpg_keys`],listPublicEmailsForAuthenticated:[`GET /user/public_emails`,{},{renamed:[`users`,`listPublicEmailsForAuthenticatedUser`]}],listPublicEmailsForAuthenticatedUser:[`GET /user/public_emails`],listPublicKeysForUser:[`GET /users/{username}/keys`],listPublicSshKeysForAuthenticated:[`GET /user/keys`,{},{renamed:[`users`,`listPublicSshKeysForAuthenticatedUser`]}],listPublicSshKeysForAuthenticatedUser:[`GET /user/keys`],listSocialAccountsForAuthenticatedUser:[`GET /user/social_accounts`],listSocialAccountsForUser:[`GET /users/{username}/social_accounts`],listSshSigningKeysForAuthenticatedUser:[`GET /user/ssh_signing_keys`],listSshSigningKeysForUser:[`GET /users/{username}/ssh_signing_keys`],setPrimaryEmailVisibilityForAuthenticated:[`PATCH /user/email/visibility`,{},{renamed:[`users`,`setPrimaryEmailVisibilityForAuthenticatedUser`]}],setPrimaryEmailVisibilityForAuthenticatedUser:[`PATCH /user/email/visibility`],unblock:[`DELETE /user/blocks/{username}`],unfollow:[`DELETE /user/following/{username}`],updateAuthenticated:[`PATCH /user`]}},tm=new Map;for(let[e,t]of Object.entries(em))for(let[n,r]of Object.entries(t)){let[t,i,a]=r,[o,s]=t.split(/ /),c=Object.assign({method:o,url:s},i);tm.has(e)||tm.set(e,new Map),tm.get(e).set(n,{scope:e,methodName:n,endpointDefaults:c,decorations:a})}var nm={has({scope:e},t){return tm.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:!0,writable:!0,enumerable:!0}},defineProperty(e,t,n){return Object.defineProperty(e.cache,t,n),!0},deleteProperty(e,t){return delete e.cache[t],!0},ownKeys({scope:e}){return[...tm.get(e).keys()]},set(e,t,n){return e.cache[t]=n},get({octokit:e,scope:t,cache:n},r){if(n[r])return n[r];let i=tm.get(t).get(r);if(!i)return;let{endpointDefaults:a,decorations:o}=i;return n[r]=o?im(e,t,r,a,o):e.request.defaults(a),n[r]}};function rm(e){let t={};for(let n of tm.keys())t[n]=new Proxy({octokit:e,scope:n,cache:{}},nm);return t}function im(e,t,n,r,i){let a=e.request.defaults(r);function o(...r){let o=a.endpoint.merge(...r);if(i.mapToData)return o=Object.assign({},o,{data:o[i.mapToData],[i.mapToData]:void 0}),a(o);if(i.renamed){let[r,a]=i.renamed;e.log.warn(`octokit.${t}.${n}() has been renamed to octokit.${r}.${a}()`)}if(i.deprecated&&e.log.warn(i.deprecated),i.renamedParameters){let o=a.endpoint.merge(...r);for(let[r,a]of Object.entries(i.renamedParameters))r in o&&(e.log.warn(`"${r}" parameter is deprecated for "octokit.${t}.${n}()". Use "${a}" instead`),a in o||(o[a]=o[r]),delete o[r]);return a(o)}return a(...r)}return Object.assign(o,a)}function am(e){let t=rm(e);return{...t,rest:t}}am.VERSION=$p;var om=Wp.plugin(Kp,am,Qp).defaults({userAgent:`octokit-rest.js/22.0.1`}),sm=new WeakMap;async function cm(e,t){let n=e.role===`author`?sm.get(e):void 0;if(!n)throw new L(`Git push requires the selected author credential token.`);return t(n)}function lm(e){if(typeof e.permissions!=`object`||e.permissions===null||Array.isArray(e.permissions))throw new L(`GitHub App ${e.role} role did not return installation permissions.`);let t=e.permissions,n=e.role===`author`?{contents:`write`,issues:`write`,organization_projects:`write`,pull_requests:`write`}:{contents:`read`,pull_requests:`write`};for(let[r,i]of[...Object.entries(n),...Object.entries(e.additional??{})]){let n=t[r];if(n!==`admin`&&n!==`write`&&(i===`write`||n!==`read`))throw new L(`GitHub App ${e.role} role lacks required ${r}:${i} permission.`)}}async function um(e){e.signal?.throwIfAborted();let t=e.env??process.env,n=e.config.roles[e.role];if(n.authSource===`personal`){if(e.role!==`author`||e.identity.trim().toLowerCase()!==n.identity.toLowerCase())throw new L(`Personal author operation requires the configured author identity.`);let r=t[n.credentialEnv.token]?.trim();if(!r)throw new L(`Missing personal author token in ${n.credentialEnv.token}.`);return dm(r,`env:${n.credentialEnv.token}`,e.signal)}if(e.personalAuth!==void 0){if(e.personalAuth.enabled!==!0||e.role!==`author`||e.identity.trim().toLowerCase()!==`personal`)throw new L(`Personal-token auth requires the explicit personal author identity.`);let n=e.personalAuth.token?.trim()||t.GH_TOKEN?.trim()||t.GITHUB_TOKEN?.trim();if(!n)throw new L(`Explicit personal-token auth requested but no token was supplied.`);return dm(n,e.personalAuth.token?.trim()?`explicit-personal-token`:t.GH_TOKEN?.trim()?`env:GH_TOKEN`:`env:GITHUB_TOKEN`,e.signal)}if(e.identity.trim().toLowerCase()!==n.identity.toLowerCase())throw new L(`GitHub ${e.role} operation requires the configured ${e.role} identity.`);let r=ch({config:e.config,env:t,role:e.role}),i=e.role===`author`?`reviewer`:`author`;if((e.role!==`reviewer`||e.selectedAuthor?.role!==`author`||e.selectedAuthor.authSource!==`personal`)&&e.config.roles[i].authSource!==`personal`){let n=ch({config:e.config,env:t,role:i});if(r.appId===n.appId||r.installationId===n.installationId||r.privateKeyPath===n.privateKeyPath)throw new L(`Author and reviewer must use distinct GitHub App credentials.`)}let a;try{a=u(r.privateKeyPath,`utf8`)}catch{throw new L(`GitHub App private key for ${e.role} role is unavailable.`)}try{let t=up({appId:r.appId,privateKey:a,...e.signal===void 0?{}:{request:new om({request:{signal:e.signal}}).request}}),n=await t({installationId:r.installationId,type:`installation`});if(typeof n.token!=`string`||!n.token.startsWith(`ghs_`))throw new L(`GitHub ${e.role} role did not receive an App installation token.`);lm({...e.additionalPermissions===void 0?{}:{additional:e.additionalPermissions},permissions:n.permissions,role:e.role});let i=e.role===`reviewer`?async n=>{let i=n??e.signal;try{let e=await new om({auth:(await t({type:`app`})).token,...i===void 0?{}:{request:{signal:i}}}).rest.apps.getAuthenticated();if(!e.data||e.data.id!==Number(r.appId)||!e.data.slug)throw new L(`Reviewer GitHub App identity did not match its configured App ID.`);return`${e.data.slug}[bot]`}catch(e){throw e instanceof L?e:new L(`Reviewer GitHub App actor lookup failed.`)}}:void 0,o=e.role===`author`?async n=>{let i=n??e.signal;try{let e=await new om({auth:(await t({type:`app`})).token,...i===void 0?{}:{request:{signal:i}}}).rest.apps.getAuthenticated();if(!e.data||e.data.id!==Number(r.appId)||!e.data.slug)throw new L(`Author GitHub App identity did not match its configured App ID.`);return{actorLogin:`${e.data.slug}[bot]`,credentialIdentity:`app:${String(e.data.id)}:installation:${r.installationId}`}}catch(e){throw e instanceof L?e:new L(`Author GitHub App actor lookup failed.`)}}:void 0;return fm(n.token,`app`,e.role,`app:${r.appId}:installation:${r.installationId}`,i,o,n.permissions.contents,e.signal)}catch(t){throw t instanceof L?t:new L(`GitHub App authentication failed for ${e.role} role.`)}}function dm(e,t,n){return fm(e,`personal`,`author`,t,void 0,async t=>{let r=t??n;try{let t=(await new om({auth:e,...r===void 0?{}:{request:{signal:r}}}).rest.users.getAuthenticated()).data;if(!Number.isSafeInteger(t.id)||t.id<=0||!t.login)throw new L(`Personal author identity readback is incomplete.`);return{actorLogin:t.login,credentialIdentity:`user:${String(t.id)}`}}catch(e){throw e instanceof L?e:e.status===401?new L(`Configured personal author token is invalid or expired; refresh the selected token.`):new L(`Personal author identity readback failed.`)}},void 0,n)}function fm(e,t,n,r,i,a,o,s){let c={authSource:t,credentialSource:r,...o?{effectiveContentsPermission:o}:{},role:n,...i?{appActorLogin:i}:{},...a?{authenticatedAuthor:a}:{},graphql:yp.defaults({headers:{authorization:`token ${e}`},...s===void 0?{}:{request:{signal:s}}}),rest:new om({auth:e,...s===void 0?{}:{request:{signal:s}}})};return n===`author`&&sm.set(c,e),c}function pm(e,t,n){if(!/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u.test(e.repository))throw new L(`Invalid configured delivery repository.`);let[r,i]=e.repository.split(`/`);if(!r||!i)throw new L(`Invalid configured delivery repository.`);let a=hm(t,n);if(r.toLowerCase()!==a.owner.toLowerCase()||i.toLowerCase()!==a.repo.toLowerCase())throw new L(`Configured delivery repository does not match remote selection.`);return{owner:r,repo:i}}function mm(e,t){let n=S(`git`,[`remote`],{cwd:e,encoding:`utf8`});if(n.status!==0)throw new L(`Unable to list Git remotes.`);let r=n.stdout.trim().split(`
|
|
82
|
+
`).filter(Boolean);if(t!==void 0&&!r.includes(t))throw new L(`Selected Git remote does not exist in this checkout.`);if(t===void 0&&r.length!==1)throw new L(`Select a Git remote explicitly when the checkout has zero or multiple remotes.`);let i=t??r[0];if(!i)throw new L(`Git remote selection is missing.`);return i}function hm(e,t){let n=mm(e,t),r=S(`git`,[`config`,`--get`,`remote.${n}.url`],{cwd:e,encoding:`utf8`});if(r.status!==0)throw new L(`Unable to determine repository identity from the selected Git remote.`);let i=r.stdout.trim(),a=/^(?:git@github\.com:|ssh:\/\/git@github\.com\/|https:\/\/github\.com\/)([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+?)(?:\.git)?\/?$/u.exec(i);if(!a?.[1]||!a[2])throw new L(`The selected Git remote must be a github.com repository URL.`);return{owner:a[1],repo:a[2]}}var gm=[`Todo`,`In Progress`,`Blocked`,`Done`];async function _m(e){let t=e.configuration??await vm({...e,settings:Im(e.settings)}),n=await Em({...e,configuration:t});if(n===null||n.archived||n.status===null&&n.statusOptionId===null)return null;let r=Nm(n,t);return{itemId:n.id,status:r}}async function vm(e){let t=Im(e.settings);return xm(await ym({graphql:e.graphql,org:e.org,number:t.number}),{requireWritable:e.requireWritable===!0,settings:t})}async function ym(e){let t=[],n=null,r=!0,i=new Set,a=new Set,o=null;for(;r;){let s=Pm(await e.graphql(`
|
|
83
|
+
query ProjectDeliveryConfiguration($org: String!, $number: Int!, $cursor: String) {
|
|
84
|
+
organization(login: $org) {
|
|
85
|
+
projectV2(number: $number) {
|
|
86
|
+
id
|
|
87
|
+
number
|
|
88
|
+
title
|
|
89
|
+
closed
|
|
90
|
+
viewerCanUpdate
|
|
91
|
+
fields(first: 100, after: $cursor) {
|
|
92
|
+
nodes {
|
|
93
|
+
__typename
|
|
94
|
+
... on ProjectV2Field {
|
|
95
|
+
id
|
|
96
|
+
name
|
|
97
|
+
dataType
|
|
98
|
+
}
|
|
99
|
+
... on ProjectV2IterationField {
|
|
100
|
+
id
|
|
101
|
+
name
|
|
102
|
+
}
|
|
103
|
+
... on ProjectV2MultiSelectField {
|
|
104
|
+
id
|
|
105
|
+
name
|
|
106
|
+
}
|
|
107
|
+
... on ProjectV2SingleSelectField {
|
|
108
|
+
id
|
|
109
|
+
name
|
|
110
|
+
isIssueField
|
|
111
|
+
options { id name }
|
|
112
|
+
issueField {
|
|
113
|
+
__typename
|
|
114
|
+
... on IssueFieldSingleSelect {
|
|
115
|
+
id
|
|
116
|
+
fullDatabaseId
|
|
117
|
+
name
|
|
118
|
+
options { id name }
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
pageInfo { endCursor hasNextPage }
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
`,{cursor:n,number:e.number,org:e.org}),`GitHub returned invalid delivery Project configuration.`);if(`errors`in s)throw new L(`GitHub returned partial delivery Project evidence.`);let c=Pm(Pm(s.organization,`Organization ${e.org} is unavailable to the selected GitHub identity.`).projectV2,`Expected organization Project #${String(e.number)}.`),l=Pm(c.fields,`GitHub omitted delivery Project fields.`),u=o;if(u!==null&&[`id`,`number`,`title`,`closed`,`viewerCanUpdate`].some(e=>u[e]!==c[e]))throw new L(`Delivery Project identity changed while reading its field pages.`);if(!Array.isArray(l.nodes))throw new L(`GitHub returned invalid delivery Project field nodes.`);for(let e of l.nodes){let n=Pm(e,`GitHub returned an incomplete delivery Project field.`),r=Fm(n.id,`GitHub omitted a delivery Project field ID.`);if(a.has(r))throw new L(`GitHub repeated a delivery Project field.`);if(a.add(r),Fm(n.name,`GitHub omitted a delivery Project field name.`),Fm(n.__typename,`GitHub omitted a delivery Project field type.`),n.__typename===`ProjectV2SingleSelectField`){if(typeof n.isIssueField!=`boolean`)throw new L(`GitHub omitted the Project field binding kind.`);if(Am(n.options,`Project field`),n.isIssueField){let e=Pm(n.issueField,`GitHub omitted the bound organization field.`);if(Fm(e.__typename,`GitHub omitted the bound organization field type.`),e.__typename===`IssueFieldSingleSelect`){if(Fm(e.id,`GitHub omitted the bound organization field ID.`),Fm(e.name,`GitHub omitted the bound organization field name.`),!/^[1-9]\d*$/u.test(String(e.fullDatabaseId)))throw new L(`GitHub omitted the bound organization field database ID.`);Am(e.options,`organization field`)}}}t.push(e)}o={...c,fields:{nodes:t}};let d=Pm(l.pageInfo,`GitHub omitted delivery Project field pagination.`);if(typeof d.hasNextPage!=`boolean`)throw new L(`GitHub omitted delivery Project pagination state.`);r=d.hasNextPage===!0;let f=typeof d.endCursor==`string`?d.endCursor:null;Cm({cursor:n,hasNextPage:r,nextCursor:f,seenCursors:i,surface:`field`}),f!==null&&i.add(f),n=f}if(o===null)throw new L(`Expected organization Project #${String(e.number)}.`);return o}function bm(e){let t=e.native.project;return{number:t.number,points:e.native.points,priority:e.native.priority,statuses:{Blocked:t.statuses.blocked,Done:t.statuses.done,"In Progress":t.statuses.inProgress,Todo:t.statuses.todo},statusField:t.statusField,title:t.title}}function xm(e,t){let n=Im(t.settings),r=Pm(e,`GitHub returned invalid delivery Project configuration.`);if(r.number!==n.number||r.title!==n.title)throw new L(`Expected organization Project #${String(n.number)} titled ${n.title}.`);if(t.requireWritable===!0&&r.viewerCanUpdate!==!0)throw new L(`Organization Project #${String(n.number)} is not writable by this identity.`);let i=Fm(r.id,`GitHub omitted the delivery Project node id.`),a=Pm(r.fields,`GitHub omitted delivery Project fields.`);if(!Array.isArray(a.nodes))throw new L(`GitHub returned invalid delivery Project field nodes.`);let o=Mm(a.nodes,n.statusField),s=jm({expectedDatabaseId:n.points.databaseId,expectedOptions:n.points.values,fields:a.nodes,name:n.points.name}),c=jm({expectedDatabaseId:n.priority.databaseId,expectedOptions:n.priority.values,fields:a.nodes,name:n.priority.name});if(o.__typename!==`ProjectV2SingleSelectField`||o.isIssueField!==!1)throw new L(`Project Status must be the sole Project-owned single-select workflow field.`);let l=Am(o.options,`Project ${n.statusField}`);wm({expected:gm.map(e=>n.statuses[e]),fieldName:`Project ${n.statusField}`,options:l});let u=Object.fromEntries(gm.map(e=>[e,l.find(t=>t.name===n.statuses[e])?.id]));return{pointsFieldId:Fm(s.id,`GitHub omitted the Project Points field id.`),priorityFieldId:Fm(c.id,`GitHub omitted the Project Priority field id.`),projectId:i,projectNumber:n.number,settings:n,statusFieldId:Fm(o.id,`GitHub omitted the Project Status field id.`),statusOptionIds:u,title:n.title,writable:r.viewerCanUpdate===!0}}async function Sm(e){let t=e.configuration??await vm({...e,settings:Im(e.settings),requireWritable:!0});Tm(t);let n=await Em({...e,configuration:t});if(n?.archived===!0)throw new L(`The issue delivery Project item is archived and cannot be updated.`);if(n!==null&&n.status!==null&&n.statusOptionId!==null&&Nm(n,t)===e.status)return{itemId:n.id,status:e.status};if(n===null){let r=Pm(Pm(Pm(await e.graphql(`
|
|
129
|
+
mutation AddProjectDeliveryItem($projectId: ID!, $contentId: ID!) {
|
|
130
|
+
addProjectV2ItemById(input: { projectId: $projectId, contentId: $contentId }) {
|
|
131
|
+
item { id }
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
`,{contentId:e.issueNodeId,projectId:t.projectId}),`GitHub returned invalid Project item creation evidence.`).addProjectV2ItemById,`GitHub omitted Project item creation payload.`).item,`GitHub omitted the created Project item.`);n={archived:!1,contentId:e.issueNodeId,id:Fm(r.id,`GitHub omitted the created Project item id.`),status:null,statusOptionId:null}}let r=t.statusOptionIds[e.status];if(Pm(Pm(Pm(await e.graphql(`
|
|
135
|
+
mutation UpdateProjectDeliveryStatus($projectId: ID!, $itemId: ID!, $fieldId: ID!, $optionId: String!) {
|
|
136
|
+
updateProjectV2ItemFieldValue(
|
|
137
|
+
input: {
|
|
138
|
+
projectId: $projectId
|
|
139
|
+
itemId: $itemId
|
|
140
|
+
fieldId: $fieldId
|
|
141
|
+
value: { singleSelectOptionId: $optionId }
|
|
142
|
+
}
|
|
143
|
+
) {
|
|
144
|
+
projectV2Item { id }
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
`,{fieldId:t.statusFieldId,itemId:n.id,optionId:r,projectId:t.projectId}),`GitHub returned invalid Project Status mutation evidence.`).updateProjectV2ItemFieldValue,`GitHub omitted Project Status mutation payload.`).projectV2Item,`GitHub omitted the updated Project item.`).id!==n.id)throw new L(`Project Status mutation returned a different item identity.`);return await km({configuration:t,graphql:e.graphql,issueNodeId:e.issueNodeId,itemId:n.id,status:e.status})}function Cm(e){if(e.hasNextPage&&e.nextCursor===null)throw new L(`Delivery Project ${e.surface} pagination omitted its next cursor.`);if(e.hasNextPage&&e.nextCursor!==null&&(e.nextCursor===e.cursor||e.seenCursors.has(e.nextCursor)))throw new L(`Delivery Project ${e.surface} pagination repeated a non-advancing cursor.`)}function wm(e){let t=e.options.map(e=>e.name),n=new Set(t),r=new Set(e.expected);if(n.size!==t.length||n.size!==r.size||t.some(e=>!r.has(e)))throw new L(`${e.fieldName} options must be exactly ${e.expected.join(`, `)} (order is provider-owned).`)}function Tm(e){if(!e.writable)throw new L(`Organization Project #${String(e.projectNumber)} is not writable by this identity.`)}async function Em(e){let t=[],n=null,r=!0,i=new Set;for(;r;){let a=Pm(Pm(Pm(Pm(await e.graphql(`
|
|
148
|
+
query ProjectDeliveryItems($org: String!, $number: Int!, $cursor: String, $statusField: String!) {
|
|
149
|
+
organization(login: $org) {
|
|
150
|
+
projectV2(number: $number) {
|
|
151
|
+
items(first: 100, after: $cursor, archivedStates: [ARCHIVED, NOT_ARCHIVED]) {
|
|
152
|
+
nodes {
|
|
153
|
+
id
|
|
154
|
+
isArchived
|
|
155
|
+
content { ... on Issue { id } }
|
|
156
|
+
fieldValueByName(name: $statusField) {
|
|
157
|
+
... on ProjectV2ItemFieldSingleSelectValue { name optionId }
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
pageInfo { endCursor hasNextPage }
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
`,{cursor:n,number:e.configuration.projectNumber,org:e.org,statusField:e.configuration.settings.statusField}),`GitHub returned invalid delivery Project item evidence.`).organization,`GitHub omitted the delivery Project organization.`).projectV2,`GitHub omitted the delivery Project.`).items,`GitHub omitted delivery Project items.`);if(!Array.isArray(a.nodes))throw new L(`GitHub returned invalid delivery Project items.`);for(let n of a.nodes){let r=Om(n,e.configuration);r!==null&&r.contentId===e.issueNodeId&&t.push(r)}let o=Pm(a.pageInfo,`GitHub omitted delivery Project item pagination.`);r=o.hasNextPage===!0;let s=typeof o.endCursor==`string`?o.endCursor:null;Cm({cursor:n,hasNextPage:r,nextCursor:s,seenCursors:i,surface:`item`}),s!==null&&i.add(s),n=s}if(t.length>1)throw new L(`Issue has ${String(t.length)} duplicate Project items in ${e.configuration.title}.`);return t[0]??null}function Dm(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Om(e,t){let n=Pm(e,`GitHub returned an invalid delivery Project item.`),r=n.content;if(r==null)return null;let i=Fm(Pm(r,`GitHub returned an invalid delivery Project item content node.`).id,`GitHub omitted a delivery Project item content id.`),a=n.fieldValueByName,o=null,s=null;if(a!=null){let e=Pm(a,`GitHub returned invalid Project Status readback.`),n=Fm(e.name,`GitHub omitted Project Status name.`),r=Fm(e.optionId,`GitHub omitted Project Status option id.`),i=t.settings.statuses,c=gm.find(e=>i[e]===n);if(c===void 0||t.statusOptionIds[c]!==r)throw new L(`GitHub returned unsupported Project Status ${n}.`);o=c,s=r}return{archived:n.isArchived===!0,contentId:i,id:Fm(n.id,`GitHub omitted the delivery Project item id.`),status:o,statusOptionId:s}}async function km(e){let t=Pm(Pm(await e.graphql(`
|
|
166
|
+
query ProjectDeliveryItemReadback($itemId: ID!, $statusField: String!) {
|
|
167
|
+
node(id: $itemId) {
|
|
168
|
+
... on ProjectV2Item {
|
|
169
|
+
id
|
|
170
|
+
isArchived
|
|
171
|
+
project { id number }
|
|
172
|
+
content { ... on Issue { id } }
|
|
173
|
+
fieldValueByName(name: $statusField) {
|
|
174
|
+
... on ProjectV2ItemFieldSingleSelectValue { name optionId }
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
`,{itemId:e.itemId,statusField:e.configuration.settings.statusField}),`GitHub returned invalid Project item readback.`).node,`GitHub omitted Project item readback.`),n=Pm(t.project,`GitHub omitted Project identity readback.`),r=Pm(t.content,`GitHub omitted Project item content readback.`),i=Pm(t.fieldValueByName,`GitHub omitted Project Status readback.`),a=Fm(i.name,`GitHub omitted Project Status name readback.`),o=Fm(i.optionId,`GitHub omitted Project Status option readback.`);if(t.id!==e.itemId||t.isArchived===!0||n.id!==e.configuration.projectId||n.number!==e.configuration.projectNumber||r.id!==e.issueNodeId||a!==e.configuration.settings.statuses[e.status]||o!==e.configuration.statusOptionIds[e.status])throw new L(`Project Status readback did not report ${e.status} for the exact issue item.`);return{itemId:e.itemId,status:e.status}}function Am(e,t){if(!Array.isArray(e))throw new L(`${t} options are malformed.`);return e.map(e=>{let n=Pm(e,`${t} option is malformed.`);return{id:Fm(n.id,`${t} option id is missing.`),name:Fm(n.name,`${t} option name is missing.`)}})}function jm(e){let t=Mm(e.fields,e.name);if(t.__typename!==`ProjectV2SingleSelectField`||t.isIssueField!==!0)throw new L(`Project ${e.name} must bind the organization issue field.`);if(Array.isArray(t.options)&&t.options.length!==0)throw new L(`Project ${e.name} must not define Project-owned duplicate options.`);let n=Pm(t.issueField,`Project ${e.name} omitted its bound organization issue field.`),r=typeof n.fullDatabaseId==`string`?n.fullDatabaseId:String(n.fullDatabaseId);if(n.__typename!==`IssueFieldSingleSelect`||n.name!==e.name||r!==e.expectedDatabaseId)throw new L(`Project ${e.name} must bind organization issue field ${e.expectedDatabaseId}.`);return wm({expected:e.expectedOptions,fieldName:e.name,options:Am(n.options,`organization ${e.name}`)}),t}function Mm(e,t){let n=e.filter(e=>Dm(e)&&e.name===t);if(n.length!==1)throw new L(`Expected exactly one Project ${t} field, found ${String(n.length)}.`);return n[0]}function Nm(e,t){if(e.status===null||e.statusOptionId===null||t.statusOptionIds[e.status]!==e.statusOptionId)throw new L(`The issue delivery Project item has no canonical Project Status.`);return e.status}function Pm(e,t){if(!Dm(e))throw new L(t);return e}function Fm(e,t){if(typeof e!=`string`||e.length===0)throw new L(t);return e}function Im(e){if(e===void 0)throw new L(`Project delivery settings are required.`);return e}function Lm(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw new L(`Incomplete GitHub ${t} discovery.`);return e}function Rm(e,t){if(typeof e!=`string`||!e.trim())throw new L(`Invalid GitHub ${t}.`);return e}function zm(e,t){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw new L(`Invalid GitHub ${t}.`);return e}function Bm(e){let t=Lm(e,`repository`);if(`errors`in t)throw new L(`Partial GitHub discovery cannot select a delivery destination.`);return Lm(t.repository,`repository`)}async function Vm(e){let t=[],n=new Set,r=new Set,i=null;for(;;){let a=Lm(Bm(await e.clients.graphql(`query DeliveryDiscovery($owner: String!, $repo: String!, $cursor: String) {
|
|
180
|
+
repository(owner: $owner, name: $repo) {
|
|
181
|
+
${e.field}(first: 100, after: $cursor) { nodes { ${e.selection} } pageInfo { hasNextPage endCursor } }
|
|
182
|
+
}
|
|
183
|
+
}`,{owner:e.owner,repo:e.repo,cursor:i}))[e.field],e.field);if(!Array.isArray(a.nodes))throw new L(`Incomplete GitHub ${e.field} nodes.`);for(let r of a.nodes){let i=Lm(r,e.field),a=Rm(i.id,`${e.field} node ID`);if(n.has(a))throw new L(`Repeated ${e.field} node during discovery.`);n.add(a),t.push(i)}let o=Lm(a.pageInfo,`${e.field} pagination`);if(typeof o.hasNextPage!=`boolean`)throw new L(`Incomplete GitHub discovery pagination.`);if(!o.hasNextPage)return t;let s=Rm(o.endCursor,`discovery cursor`);if(s===i||r.has(s))throw new L(`GitHub discovery cursor did not advance.`);r.add(s),i=s}}function Hm(e,t){let n=e.filter(e=>e.name===t);if(n.length!==1)throw new L(`Select an unambiguous native single-select field for ${t}.`);let r=n[0];if(!r||r.__typename!==`IssueFieldSingleSelect`||!Array.isArray(r.options))throw new L(`Native ${t} must be an organization single-select issue field.`);let i=String(r.fullDatabaseId);if(!/^[1-9]\d*$/u.test(i)||!Number.isSafeInteger(Number(i)))throw new L(`Invalid native ${t} field ID.`);let a=r.options.map(e=>Rm(Lm(e,`${t} option`).name,`${t} option name`)).sort();if(!a.length||new Set(a).size!==a.length)throw new L(`Ambiguous native ${t} options.`);return{databaseId:i,name:t,values:a}}async function Um(e){let[t,n]=e.repository.split(`/`);if(!t||!n)throw new L(`Invalid delivery repository.`);let r=Bm(await e.clients.graphql(`query DeliveryRepository($owner: String!, $repo: String!) {
|
|
184
|
+
repository(owner: $owner, name: $repo) { id nameWithOwner isFork owner { __typename login } }
|
|
185
|
+
}`,{owner:t,repo:n})),i=Rm(r.nameWithOwner,`repository name`);if(i.toLowerCase()!==e.repository.toLowerCase())throw new L(`GitHub repository does not match the selected Git remote.`);if(typeof r.isFork!=`boolean`)throw new L(`GitHub omitted repository fork identity.`);if(r.isFork&&e.overrides.remote===void 0)throw new L(`A fork requires an explicit remote selection before delivery.`);let a=Lm(r.owner,`repository owner`);if(a.__typename!==`Organization`||Rm(a.login,`organization`).toLowerCase()!==t.toLowerCase())throw new L(`Native delivery requires a repository owned by its selected GitHub organization.`);let o=await Vm({...e,owner:t,repo:n,field:`issueFields`,selection:`__typename
|
|
186
|
+
... on IssueFieldSingleSelect { id fullDatabaseId name options { id name } }
|
|
187
|
+
... on IssueFieldDate { id }
|
|
188
|
+
... on IssueFieldNumber { id }
|
|
189
|
+
... on IssueFieldText { id }
|
|
190
|
+
`}),s=Hm(o,e.overrides.pointsField??`Points`),c=Hm(o,e.overrides.priorityField??`Priority`),l=(await Vm({...e,owner:t,repo:n,field:`issueTypes`,selection:`id name isEnabled`})).filter(e=>{if(typeof e.isEnabled!=`boolean`)throw new L(`GitHub omitted issue type availability.`);return e.isEnabled}).map(e=>Rm(e.name,`issue type`)).sort();if(!l.length||new Set(l).size!==l.length)throw new L(`No unambiguous enabled native issue types were discovered.`);let u=e.overrides.issueTypes?.slice().sort()??l;if(u.some(e=>!l.includes(e)))throw new L(`Configured issue type is unavailable in the selected repository.`);let d=e.overrides.project===void 0?`linked`:`explicit`,f=e.overrides.project===void 0?await Vm({...e,owner:t,repo:n,field:`projectsV2`,selection:`id number title closed viewerCanUpdate owner { __typename ... on Organization { login } ... on User { login } }`}):[{number:e.overrides.project}],p=[];for(let n of f){if(d===`linked`){if(typeof n.closed!=`boolean`||typeof n.viewerCanUpdate!=`boolean`)throw new L(`Incomplete linked Project metadata.`);let e=Lm(n.owner,`Project owner`);if(e.__typename!==`Organization`||Rm(e.login,`Project owner`).toLowerCase()!==t.toLowerCase())throw new L(`Linked Project owner does not match the selected repository organization.`);if(n.closed)continue}let r=zm(n.number,`Project number`),i=await ym({graphql:e.clients.graphql,org:t,number:r});if(typeof i.viewerCanUpdate!=`boolean`||i.number!==r)throw new L(`Incomplete or drifting Project identity.`);if(typeof i.closed!=`boolean`)throw new L(`GitHub omitted Project closed state.`);if(i.closed){if(d===`explicit`)throw new L(`The explicitly selected Project is closed.`);continue}if(d===`linked`&&(i.id!==n.id||i.title!==n.title))throw new L(`Linked Project changed during discovery.`);let a={number:r,title:Rm(i.title,`Project title`),points:s,priority:c,statusField:e.overrides.statusField??`Status`,statuses:{Todo:e.overrides.statuses?.todo??`Todo`,"In Progress":e.overrides.statuses?.inProgress??`In Progress`,Blocked:e.overrides.statuses?.blocked??`Blocked`,Done:e.overrides.statuses?.done??`Done`}},o;try{o=xm(i,{settings:a,requireWritable:!1})}catch(e){if(d===`explicit`||!(e instanceof L))throw e;continue}if(!o.writable)throw new L(`A compatible delivery Project is not writable; refusing destination fallback.`);p.push(o)}if(p.length!==1)throw new L(`Discovered ${p.length} compatible linked Projects. Select project explicitly in ai-delivery.config.json; no issue was created.`);let m=p[0];if(!m)throw new L(`Delivery Project selection is incomplete.`);return{repository:i,repositoryId:Rm(r.id,`repository ID`),projectId:m.projectId,projectSource:d,statusFieldId:m.statusFieldId,statusOptionIds:m.statusOptionIds,pointsFieldId:m.pointsFieldId,priorityFieldId:m.priorityFieldId,native:{organization:Rm(a.login,`organization`),issueTypes:u,points:s,priority:c,milestones:`repository`,relationships:{blockedBy:`native`,parent:`native`},project:{number:m.projectNumber,title:m.title,statusField:m.settings.statusField,statuses:{todo:m.settings.statuses.Todo,inProgress:m.settings.statuses[`In Progress`],blocked:m.settings.statuses.Blocked,done:m.settings.statuses.Done}}}}}var Wm=`ai-delivery.config.json`,Gm=`RepositoryDeliveryPolicy@1`,Km=k().trim().min(1),qm=k().regex(/^[A-Z][A-Z0-9_]*$/u),Jm=A().int().positive(),Ym=k().regex(/^[1-9]\d*$/u).refine(e=>Number.isSafeInteger(Number(e))),Xm=M(Km).min(1).superRefine((e,t)=>{new Set(e).size!==e.length&&t.addIssue({code:`custom`,message:`Values must be unique.`})}),Zm=N({databaseId:Ym,name:Km,values:Xm}).strict(),Qm=N({authSource:I(`app`).optional(),credentialEnv:N({appId:qm,installationId:qm,privateKeyPath:qm}).strict(),identity:Km}).strict(),$m=Fl([Qm,N({authSource:I(`personal`),credentialEnv:N({token:qm}).strict(),identity:Km}).strict()]),eh=N({commandPolicy:N({checks:N({format:F([`REQUIRED`,`OPTIONAL`,`SKIP`]),gitClean:F([`REQUIRED`,`OPTIONAL`,`SKIP`]),lint:F([`REQUIRED`,`OPTIONAL`,`SKIP`]),test:F([`REQUIRED`,`OPTIONAL`,`SKIP`]),typecheck:F([`REQUIRED`,`OPTIONAL`,`SKIP`])}).strict(),timeoutsMs:N({lint:Jm,test:Jm,typecheck:Jm}).strict()}).strict(),native:N({issueTypes:Xm,milestones:I(`repository`),organization:Km,points:Zm,priority:Zm,project:N({number:Jm,statuses:N({blocked:Km,done:Km,inProgress:Km,todo:Km}).strict(),statusField:Km,title:Km}).strict(),relationships:N({blockedBy:I(`native`),parent:I(`native`)}).strict()}).strict(),policy:N({contract:F([Gm,`RepositoryDeliveryPolicy@2`]),module:k().regex(/^\.\/(?!.*(?:^|\/)\.\.(?:\/|$))[^\s]+\.(?:mjs|js)$/u)}).strict(),repository:k().regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u),roles:N({author:$m,reviewer:Qm}).strict(),schemaVersion:I(`ai-delivery.config@2`)}).strict().superRefine((e,t)=>{e.repository.split(`/`)[0]?.toLowerCase()!==e.native.organization.toLowerCase()&&t.addIssue({code:`custom`,message:`Organization must match repository owner.`,path:[`native`,`organization`]}),e.roles.author.identity.toLowerCase()===e.roles.reviewer.identity.toLowerCase()&&t.addIssue({code:`custom`,message:`Author and reviewer identities must be distinct.`,path:[`roles`]}),[e.roles.author,e.roles.reviewer].some(e=>e.authSource!==`personal`&&/^personal(?:$|[-_])/iu.test(e.identity))&&t.addIssue({code:`custom`,message:`App role identities cannot be personal identities.`,path:[`roles`]});let n=Object.values(e.roles.author.credentialEnv),r=Object.values(e.roles.reviewer.credentialEnv);new Set([...n,...r]).size!==n.length+r.length&&t.addIssue({code:`custom`,message:`Author and reviewer credential environment names must be distinct.`,path:[`roles`]}),new Set(Object.values(e.native.project.statuses)).size!==4&&t.addIssue({code:`custom`,message:`Project statuses must be distinct.`,path:[`native`,`project`,`statuses`]}),e.native.points.values.some(e=>!/^[1-9]\d*$/u.test(e)||!Number.isSafeInteger(Number(e)))&&t.addIssue({code:`custom`,message:`Point values must be positive safe integers.`,path:[`native`,`points`,`values`]}),e.native.points.name===e.native.priority.name&&t.addIssue({code:`custom`,message:`Points and priority fields must be distinct.`,path:[`native`]}),e.native.points.databaseId===e.native.priority.databaseId&&t.addIssue({code:`custom`,message:`Points and priority field IDs must be distinct.`,path:[`native`]})}),th=k().regex(/^\.\/(?!.*(?:^|\/)\.\.(?:\/|$))[^\s]+\.(?:mjs|js)$/u),nh=N({schemaVersion:I(`ai-delivery.config@2`).optional(),repository:k().regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u).optional(),remote:Km.optional(),policy:N({module:th}).strict().optional(),project:Jm.optional(),pointsField:Km.optional(),priorityField:Km.optional(),statusField:Km.optional(),statuses:N({blocked:Km,done:Km,inProgress:Km,todo:Km}).strict().optional(),issueTypes:Xm.optional()}).strict(),rh=N({roles:eh.shape.roles,commandPolicy:eh.shape.commandPolicy}).strict();function ih(e){let t=m(e),n=w(t,Wm);try{o(n)}catch(e){if(e.code===`ENOENT`)return{overrides:{},bytes:Buffer.alloc(0),path:null};throw new L(`Unable to read ${Wm}.`)}if(!uh(t,m(n)))throw new L(`${Wm} must stay within the repository root.`);lh({filePath:n,label:Wm,root:t});let r=u(n);try{let e=JSON.parse(r.toString(`utf8`));return{overrides:nh.parse(e),bytes:r,path:n}}catch{throw new L(`Invalid ${Wm}; expected optional ai-delivery.config@2 routing overrides. Migrate authentication and command settings to the policy module's deliverySettings export.`)}}async function ah(e){let t=m(e),n=ih(t),r=n.overrides.policy?.module??`./ai-delivery.policy.mjs`,i=T(t,r),a;try{a=m(i)}catch{throw new L(`Missing repository delivery policy ${r}. Export explicit deliverySettings and RepositoryDeliveryPolicy@1.`)}if(!uh(t,a))throw new L(`Policy module must stay within the repository root.`);lh({filePath:a,label:`Policy module`,root:t});let o=u(a),s=se(`sha256`).update(o).digest(`hex`),c=await import(`${fe(a).href}?policy=${s}`),l=F([Gm,`RepositoryDeliveryPolicy@2`]).parse(c.default?.schemaVersion??`RepositoryDeliveryPolicy@1`),d=rh.safeParse(c.deliverySettings);if(!d.success)throw new L(`Policy module must export valid explicit deliverySettings with commandPolicy and distinct author/reviewer roles.`);let f=d.data.roles,p=[...Object.values(f.author.credentialEnv),...Object.values(f.reviewer.credentialEnv)];if(f.author.identity.toLowerCase()===f.reviewer.identity.toLowerCase()||new Set(p).size!==p.length||[f.author,f.reviewer].some(e=>e.authSource!==`personal`&&/^personal(?:$|[-_])/iu.test(e.identity)))throw new L(`Policy settings require distinct identities and credential environment names.`);let h=hm(t,n.overrides.remote),g=`${h.owner}/${h.repo}`;if(n.overrides.repository!==void 0&&n.overrides.repository.toLowerCase()!==g.toLowerCase())throw new L(`Repository assertion does not match the selected Git remote.`);return{...d.data,configPath:n.path,overrides:n.overrides,policy:{contract:l,module:r},policyModulePath:a,repository:g,sourceDigest:B({overrides:n.bytes.toString(`utf8`),policy:o.toString(`utf8`),repository:g})}}async function oh(e,t={}){t.signal?.throwIfAborted();let n=await ah(e);t.signal?.throwIfAborted();let r=t.personalAuth===!0&&n.roles.author.authSource!==`personal`,i=t.clients??await um({config:n,identity:r?`personal`:n.roles.author.identity,...r?{personalAuth:{enabled:!0}}:{},role:`author`,...t.signal===void 0?{}:{signal:t.signal}}),a;try{a=await Um({clients:i,repository:n.repository,overrides:n.overrides})}catch(e){throw t.clients===void 0&&n.roles.author.authSource===`personal`&&e.status===401?new L(`Configured personal author token is invalid or expired; refresh the selected token.`):e}let o=sh({schemaVersion:`ai-delivery.config@2`,repository:a.repository,policy:n.policy,roles:n.roles,commandPolicy:n.commandPolicy,native:a.native});return{config:o,configDigest:B({sourceDigest:n.sourceDigest,routing:a,roles:o.roles,commandPolicy:o.commandPolicy}),configPath:n.configPath,policyModulePath:n.policyModulePath,remote:mm(e,n.overrides.remote),routing:a}}function sh(e){let t=eh.safeParse(e);if(!t.success)throw new L(`Invalid ${Wm}: ${t.error.issues.map(e=>`${e.path.join(`.`)||`config`}: ${e.message}`).join(`; `)}`);return t.data}function ch(e){let{config:t,role:n}=e;if(t.roles[n].authSource===`personal`)throw new L(`Personal author credentials use the configured token environment variable.`);let r=e.env??process.env,i=t.roles[n].credentialEnv,a={appId:r[i.appId]?.trim(),installationId:r[i.installationId]?.trim(),privateKeyPath:r[i.privateKeyPath]?.trim()};if(!a.appId||!a.installationId||!a.privateKeyPath)throw new L(`Missing GitHub App credentials for ${n} role. Set ${i.appId}, ${i.installationId} and ${i.privateKeyPath}.`);if(!ne(a.privateKeyPath))throw new L(`GitHub App private-key path for ${n} role (${i.privateKeyPath}) must be absolute.`);let o=Number(a.installationId);if(!Number.isSafeInteger(o)||o<=0)throw new L(`Invalid GitHub App installation ID for ${n} role (${i.installationId}).`);let s=Number(a.appId);if(!Number.isSafeInteger(s)||s<=0)throw new L(`Invalid GitHub App ID for ${n} role (${i.appId}).`);return{appId:a.appId,installationId:o,privateKeyPath:a.privateKeyPath}}function lh(e){let{filePath:t,label:n,root:r}=e;if(S(`git`,[`ls-files`,`--error-unmatch`,`--`,ie(r,t)],{cwd:r,stdio:`ignore`}).status!==0)throw new L(`${n} must be source-controlled.`)}function uh(e,t){let n=ie(e,t);return n!==`..`&&!n.startsWith(`..${process.platform===`win32`?`\\`:`/`}`)&&!ne(n)}var dh=N({digest:R,path:k().min(1),producer:k().min(1)}).strict(),fh=N({attestationKey:k().min(1).optional(),commands:M(N({argv:M(k().min(1)).min(1),label:k().min(1)}).strict()),dependsOn:M(Su),id:Su,resourceClass:F([`source_only`,`focused_node`,`canonical_verify`,`model`,`postgres_docker`]),semanticInputKeys:M(k().min(1)).min(1),semanticInputs:M(N({digest:R,key:k().min(1)}).strict()).min(1).optional()}).strict(),ph=N({artifacts:M(dh).min(1),base:Cu,configDigest:R,evidenceId:R,head:Cu,opaquePayload:k().min(1),policyDigest:R,producer:k().min(1),repository:xu,schemaVersion:I(`ai-delivery.policy-evidence@1`)}).strict().superRefine((e,t)=>{let{evidenceId:n,...r}=e;(n!==B(r)||!wu(e.artifacts.map(e=>e.path)))&&t.addIssue({code:`custom`,message:`Policy evidence identity or artifacts are invalid.`})}),mh=N({policyDigest:R,policyEvidence:ph,requiredStages:M(fh).min(1),risk:F([`standard`,`high`])}).strict().superRefine((e,t)=>{let n=new Set;for(let r of e.requiredStages)(n.has(r.id)||r.dependsOn.some(e=>!n.has(e))||new Set(r.dependsOn).size!==r.dependsOn.length||!wu(r.semanticInputKeys)||r.semanticInputs!==void 0&&(!wu(r.semanticInputs.map(e=>e.key))||z(r.semanticInputs.map(e=>e.key))!==z(r.semanticInputKeys))||r.commands.length===0!=(r.attestationKey!==void 0))&&t.addIssue({code:`custom`,message:`Policy stages must be unique, ordered and proof complete.`}),n.add(r.id)}),hh=N({additionalConstraints:N({exactBaseHeadLease:j(),requiredAttestationIds:M(R)}).strict(),boundaryId:R,classificationReceiptId:R,configDigest:R,currentBase:Cu,currentHead:Cu,phase:F([`verify`,`publish`,`merge`]),policyEvidenceId:R,schemaVersion:I(`ai-delivery.policy-boundary@1`),stageReceiptSetHash:R}).strict().superRefine((e,t)=>{let{boundaryId:n,...r}=e;(n!==B(r)||!wu(e.additionalConstraints.requiredAttestationIds))&&t.addIssue({code:`custom`,message:`Policy boundary identity or attestation inventory is invalid.`})}),gh=N({base:Cu,changedPaths:M(k().min(1)),configDigest:R,head:Cu,policyDigest:R,policyEvidence:ph,receiptId:R,repository:xu,requiredStages:M(fh).min(1),risk:F([`standard`,`high`]),schemaVersion:F([`ai-delivery.classification@1`,`ai-delivery.classification@2`])}).strict().superRefine((e,t)=>{let{receiptId:n,...r}=e;(n!==B(r)||!wu(e.changedPaths)||e.base.sha!==e.head.sha&&e.changedPaths.length===0||e.policyEvidence.repository!==e.repository||z(e.policyEvidence.base)!==z(e.base)||z(e.policyEvidence.head)!==z(e.head)||e.policyEvidence.configDigest!==e.configDigest||e.policyEvidence.policyDigest!==e.policyDigest||e.requiredStages.some(t=>t.semanticInputs!==void 0!=(e.schemaVersion===`ai-delivery.classification@2`))||!mh.safeParse({policyDigest:e.policyDigest,policyEvidence:e.policyEvidence,requiredStages:e.requiredStages,risk:e.risk}).success)&&t.addIssue({code:`custom`,message:`Repository classification is unbound or invalid.`})});async function _h(e){let t=Du(e.repoRoot,e.policySourcePath);Tu(e.repoRoot,[`ls-files`,`--error-unmatch`,`--`,e.policySourcePath]);let n=V(u(t)),r=(await import(`${fe(t).href}?policy=${n.slice(7)}`)).default;if(typeof r!=`object`||!r||![`RepositoryDeliveryPolicy@1`,`RepositoryDeliveryPolicy@2`].includes(r.schemaVersion)||typeof r.classifyExactRange!=`function`||typeof r.validateBoundary!=`function`)throw Error(`Selected repository policy module is missing or invalid.`);return{policy:r,policyDigest:n}}function vh(e,t){let n=Du(e,t);return Tu(e,[`ls-files`,`--error-unmatch`,`--`,t]),V(u(n))}function yh(e){if(![`RepositoryDeliveryPolicy@1`,`RepositoryDeliveryPolicy@2`].includes(e.policy.schemaVersion))throw Error(`Unknown repository policy version.`);let t=Cu.parse(e.base),n=Cu.parse(e.head),r=xu.parse(e.repository),i=R.parse(e.configDigest),a=[...e.changedPaths].sort();Eu({repoRoot:e.repoRoot,base:t,head:n,changedPaths:a});let o=vh(e.repoRoot,e.policySourcePath),s=mh.parse(e.policy.classifyExactRange({repository:r,baseSha:t.sha,baseTree:t.tree,headSha:n.sha,headTree:n.tree,changedPaths:a,configDigest:i}));if(s.policyDigest!==o||s.policyEvidence.policyDigest!==o||s.policyEvidence.repository!==r||z(s.policyEvidence.base)!==z(t)||z(s.policyEvidence.head)!==z(n)||s.policyEvidence.configDigest!==i)throw Error(`Selected policy did not bind the exact repository, config, source and policy bytes.`);for(let t of s.policyEvidence.artifacts)Ou(e.repoRoot,t);let c={base:t,changedPaths:a,configDigest:i,head:n,policyDigest:o,policyEvidence:s.policyEvidence,repository:r,requiredStages:s.requiredStages,risk:s.risk,schemaVersion:e.policy.schemaVersion===`RepositoryDeliveryPolicy@2`?`ai-delivery.classification@2`:`ai-delivery.classification@1`};return gh.parse({...c,receiptId:B(c)})}function bh(e){let t=gh.parse(e.classification);if(e.configDigest!==t.configDigest||vh(e.repoRoot,e.policySourcePath)!==t.policyDigest)throw Error(`Repository classification is stale against config or policy source.`);Eu({repoRoot:e.repoRoot,base:t.base,head:t.head,changedPaths:t.changedPaths});for(let n of t.policyEvidence.artifacts)Ou(e.repoRoot,n)}function xh(e){let t=gh.parse(e.classification),n=Cu.parse(e.currentBase),r=Cu.parse(e.currentHead);if(![`RepositoryDeliveryPolicy@1`,`RepositoryDeliveryPolicy@2`].includes(e.policy.schemaVersion)||(e.policy.schemaVersion===`RepositoryDeliveryPolicy@2`?`ai-delivery.classification@2`:`ai-delivery.classification@1`)!==t.schemaVersion||e.configDigest!==t.configDigest||vh(e.repoRoot,e.policySourcePath)!==t.policyDigest||z(n)!==z(t.base)||z(r)!==z(t.head))throw Error(`Repository policy boundary is stale against source, config or policy.`);if(bh({repoRoot:e.repoRoot,classification:t,configDigest:e.configDigest,policySourcePath:e.policySourcePath}),z(mh.parse(e.policy.classifyExactRange({repository:t.repository,baseSha:n.sha,baseTree:n.tree,headSha:r.sha,headTree:r.tree,changedPaths:t.changedPaths,configDigest:t.configDigest})))!==z({policyDigest:t.policyDigest,policyEvidence:t.policyEvidence,requiredStages:t.requiredStages,risk:t.risk}))throw Error(`Repository policy no longer selects the classified stage plan.`);let i=e.stageReceiptIds.map(e=>({receiptId:R.parse(e.receiptId),stageId:Su.parse(e.stageId)}));if(i.length!==t.requiredStages.length||i.some((e,n)=>e.stageId!==t.requiredStages[n]?.id))throw Error(`Policy boundary lacks complete ordered stage receipts.`);let a=hh.parse(e.policy.validateBoundary({phase:e.phase,classificationReceiptId:t.receiptId,policyEvidence:t.policyEvidence,currentBase:n,currentHead:r,configDigest:t.configDigest,stageReceiptIds:i}));if(a.policyEvidenceId!==t.policyEvidence.evidenceId||a.classificationReceiptId!==t.receiptId||a.configDigest!==t.configDigest||a.phase!==e.phase||z(a.currentBase)!==z(n)||z(a.currentHead)!==z(r)||a.stageReceiptSetHash!==B(i)||a.additionalConstraints.requiredAttestationIds.some(e=>!i.some(t=>t.receiptId===e)))throw Error(`Repository policy boundary returned unbound constraints.`);return a}var Sh=N({digest:R,key:k().min(1)}).strict(),Ch=N({receiptId:R,stageId:Su}).strict(),wh=(e,t)=>e<t?-1:+(e>t),Th={definitionHash:R,environmentDigest:R,inputId:R,policyDigest:R,semanticInputs:M(Sh).min(1),stageId:Su,upstream:M(Ch)},Eh=Fl([P({...Th,classificationReceiptId:R,schemaVersion:I(`ai-delivery.stage-input@1`)}),P({...Th,configDigest:R,policyProducer:k().min(1),policyArtifacts:M(P({digest:R,path:k().min(1)})),schemaVersion:I(`ai-delivery.stage-input@2`)})]).superRefine((e,t)=>{let{inputId:n,...r}=e;(n!==B(r)||!wu(e.semanticInputs.map(e=>e.key))||!wu(e.upstream.map(e=>e.stageId))||e.schemaVersion===`ai-delivery.stage-input@2`&&!wu(e.policyArtifacts.map(e=>e.path)))&&t.addIssue({code:`custom`,message:`Stage input identity or inventory is invalid.`})}),Dh=N({artifacts:M(N({digest:R,path:k().min(1)}).strict()),commands:M(N({exitCode:A().int().nonnegative(),label:k().min(1),outputDigest:R}).strict()),completedAt:vu(),input:Eh,receiptId:R,result:I(`passed`),schemaVersion:F([`ai-delivery.stage-receipt@1`,`ai-delivery.stage-receipt@2`]),startedAt:vu()}).strict().superRefine((e,t)=>{let{receiptId:n,...r}=e;(n!==B(r)||e.schemaVersion===`ai-delivery.stage-receipt@2`!=(e.input.schemaVersion===`ai-delivery.stage-input@2`)||Date.parse(e.completedAt)<Date.parse(e.startedAt)||e.commands.some(e=>e.exitCode!==0)||!wu(e.artifacts.map(e=>e.path)))&&t.addIssue({code:`custom`,message:`Stage receipt has incomplete or corrupt proof.`})}),Oh=N({aggregateId:R,classificationReceiptId:R,policyDigest:R,result:I(`passed`),schemaVersion:F([`ai-delivery.stage-aggregate@1`,`ai-delivery.stage-aggregate@2`]),stages:M(N({inputId:R,receiptId:R,stageId:Su}).strict()).min(1)}).strict().superRefine((e,t)=>{let{aggregateId:n,...r}=e;(n!==B(r)||new Set(e.stages.map(e=>e.stageId)).size!==e.stages.length)&&t.addIssue({code:`custom`,message:`Stage aggregate identity or inventory is invalid.`})});function kh(e){let t=gh.parse(e.classification),n=t.requiredStages.find(t=>t.id===e.stageId);if(n===void 0)throw Error(`Stage is absent from selected policy.`);let r=[...e.semanticInputs].sort((e,t)=>wh(e.key,t.key)).map(e=>Sh.parse(e)),i=[...e.upstream].sort((e,t)=>wh(e.stageId,t.stageId)).map(e=>Ch.parse(e));if(z(r.map(e=>e.key))!==z(n.semanticInputKeys)||t.schemaVersion===`ai-delivery.classification@2`&&z(r)!==z(n.semanticInputs)||z(i.map(e=>e.stageId))!==z([...n.dependsOn].sort()))throw Error(`Stage input lacks required semantic or upstream proof.`);let a={...t.schemaVersion===`ai-delivery.classification@1`?{classificationReceiptId:t.receiptId,schemaVersion:`ai-delivery.stage-input@1`}:{configDigest:t.configDigest,policyProducer:t.policyEvidence.producer,schemaVersion:`ai-delivery.stage-input@2`,policyArtifacts:t.policyEvidence.artifacts.filter(e=>e.path===n.attestationKey).map(({digest:e,path:t})=>({digest:e,path:t}))},definitionHash:B(n),environmentDigest:R.parse(e.environmentDigest),policyDigest:t.policyDigest,semanticInputs:r,stageId:n.id,upstream:i};return Eh.parse({...a,inputId:B(a)})}function Ah(e){let t=gh.parse(e.classification),n=Eh.parse(e.stageInput),r=t.requiredStages.find(e=>e.id===n.stageId);if(r===void 0||kh({classification:t,stageId:n.stageId,environmentDigest:n.environmentDigest,semanticInputs:n.semanticInputs,upstream:n.upstream}).inputId!==n.inputId||n.schemaVersion===`ai-delivery.stage-input@2`&&z(e.artifacts)!==z(n.policyArtifacts)||e.commands.length!==r.commands.length||e.commands.some((e,t)=>e.label!==r.commands[t]?.label||e.exitCode!==0)||r.attestationKey!==void 0&&e.artifacts.length===0)throw Error(`Stage receipt does not prove selected definition.`);let i={artifacts:[...e.artifacts].sort((e,t)=>wh(e.path,t.path)),commands:e.commands.map(e=>({...e})),completedAt:e.completedAt,input:n,result:`passed`,schemaVersion:n.schemaVersion===`ai-delivery.stage-input@2`?`ai-delivery.stage-receipt@2`:`ai-delivery.stage-receipt@1`,startedAt:e.startedAt};return Dh.parse({...i,receiptId:B(i)})}function jh(e){let t=gh.parse(e.classification);if(e.receipts.length!==t.requiredStages.length)throw Error(`Aggregate requires every selected stage.`);let n=e.receipts.map(e=>Dh.parse(e)),r=new Map(n.map(e=>[e.input.stageId,e]));if(r.size!==n.length)throw Error(`Aggregate contains duplicate stages.`);for(let e of t.requiredStages){let n=r.get(e.id);if(n===void 0||z(n.input.upstream)!==z(e.dependsOn.map(e=>({stageId:e,receiptId:r.get(e)?.receiptId})).sort((e,t)=>wh(e.stageId,t.stageId)))||Ah({artifacts:n.artifacts,classification:t,commands:n.commands,completedAt:n.completedAt,stageInput:n.input,startedAt:n.startedAt}).receiptId!==n.receiptId)throw Error(`Aggregate contains missing, foreign or stale stage proof.`)}let i={classificationReceiptId:t.receiptId,policyDigest:t.policyDigest,result:`passed`,schemaVersion:t.schemaVersion===`ai-delivery.classification@2`?`ai-delivery.stage-aggregate@2`:`ai-delivery.stage-aggregate@1`,stages:t.requiredStages.map(e=>{let t=r.get(e.id);return{inputId:t.input.inputId,receiptId:t.receiptId,stageId:e.id}})};return Oh.parse({...i,aggregateId:B(i)})}function Mh(e,t=1){return w(e,`ai-delivery`,`verification@${String(t)}`)}function Nh(e,t){return w(Mh(e),`command-output`,`${R.parse(t).slice(7)}.bin`)}function Ph(e,t){return w(Mh(e,t.schemaVersion===`ai-delivery.stage-input@2`?2:1),`stages`,t.stageId,`${t.inputId.slice(7)}.json`)}function Fh(e){if(e.bytes.length>8388608)throw Error(`Command output exceeds bounded evidence limit.`);let t=V(e.bytes);return Au(Nh(e.gitCommonDir,t),e.bytes,t),t}function Ih(e){let t=H(Nh(e.gitCommonDir,e.digest),{maxBytes:8*1024**2,...e.expectedBytes===void 0?{}:{expectedBytes:e.expectedBytes}});if(V(t)!==e.digest)throw Error(`Command output bytes are corrupt.`);return t}function Lh(e){let t=Dh.parse(e.receipt);for(let n of t.artifacts)Ou(e.repoRoot,n);for(let n of t.commands)Ih({gitCommonDir:e.gitCommonDir,digest:n.outputDigest})}function Rh(e){let t=Dh.parse(e.receipt);return Lh({...e,receipt:t}),Au(Ph(e.gitCommonDir,t.input),Buffer.from(z(t),`utf8`))}function zh(e){let t=Eh.parse(e.stageInput);bh(e);let n;try{n=H(Ph(e.gitCommonDir,t))}catch(e){if(e.code===`ENOENT`)return;throw e}let r=Dh.parse(JSON.parse(n.toString(`utf8`)));if(!n.equals(Buffer.from(z(r),`utf8`))||r.input.inputId!==t.inputId||Ah({artifacts:r.artifacts,classification:e.classification,commands:r.commands,completedAt:r.completedAt,stageInput:t,startedAt:r.startedAt}).receiptId!==r.receiptId)throw Error(`Stage checkpoint is corrupt or belongs to another input.`);return Lh({gitCommonDir:e.gitCommonDir,receipt:r,repoRoot:e.repoRoot}),r}function Bh(e){let t=Oh.parse(e.aggregate);return Au(w(Mh(e.gitCommonDir,t.schemaVersion===`ai-delivery.stage-aggregate@2`?2:1),`aggregates`,`${t.aggregateId.slice(7)}.json`),Buffer.from(z(t),`utf8`))}var Vh=N({authorIdentity:k().min(1),diffScopeHash:R,head:Cu,result:I(`approved`),reviewerIdentity:k().min(1),reviewReceiptId:R}).strict().refine(e=>e.authorIdentity!==e.reviewerIdentity,`Approval requires a distinct reviewer identity.`),Hh=N({blockedBy:M(A().int().positive()),checksPassed:j(),head:Cu,mergeable:j(),observedAt:vu()}).strict(),Uh=N({aggregateId:R,approval:Vh.nullable(),base:Cu,boundaryId:R,classificationReceiptId:R,configDigest:R,evidenceId:R,head:Cu,phase:F([`verify`,`publish`,`merge`]),policyDigest:R,repository:xu,result:I(`passed`),schemaVersion:I(`ai-delivery.delivery-evidence@1`)}).strict().superRefine((e,t)=>{let{evidenceId:n,...r}=e;(n!==B(r)||e.phase===`merge`&&e.approval===null)&&t.addIssue({code:`custom`,message:`Delivery evidence identity or approval is invalid.`})});function Wh(e){let t=gh.parse(e.classification),n=Oh.parse(e.aggregate),r=e.stageReceipts.map(e=>Dh.parse(e)),i=jh({classification:t,receipts:r});if(n.aggregateId!==i.aggregateId)throw Error(`Delivery evidence requires complete GREEN stage aggregate.`);for(let t of r)Lh({gitCommonDir:e.gitCommonDir,receipt:t,repoRoot:e.repoRoot});let a=xh({classification:t,configDigest:e.configDigest,currentBase:e.currentBase,currentHead:e.currentHead,phase:e.phase,policy:e.policy,policySourcePath:e.policySourcePath,repoRoot:e.repoRoot,stageReceiptIds:n.stages.map(e=>({receiptId:e.receiptId,stageId:e.stageId}))}),o=e.approval===void 0?null:Vh.parse(e.approval);if(e.approvalRoles.authorIdentity===e.approvalRoles.reviewerIdentity||!e.approvalRoles.authorIdentity||!e.approvalRoles.reviewerIdentity)throw Error(`Delivery requires distinct configured author and reviewer roles.`);if((t.risk===`high`||e.phase===`merge`)&&o===null)throw Error(`Delivery boundary requires independent exact-head approval.`);if(o!==null&&(z(o.head)!==z(t.head)||o.diffScopeHash!==B(t.changedPaths)||o.authorIdentity!==e.approvalRoles.authorIdentity||o.reviewerIdentity!==e.approvalRoles.reviewerIdentity))throw Error(`Approval does not cover configured roles, exact head and changed paths.`);if(e.phase===`merge`){let n=Hh.parse(e.mergeReadback),r=(e.now??(()=>new Date))().getTime()-Date.parse(n.observedAt);if(z(n.head)!==z(t.head)||!n.mergeable||!n.checksPassed||n.blockedBy.length!==0||r<0||r>3e4)throw Error(`Merge requires current clean native blocker and check readback.`)}let s={aggregateId:n.aggregateId,approval:o,base:t.base,boundaryId:a.boundaryId,classificationReceiptId:t.receiptId,configDigest:t.configDigest,head:t.head,phase:e.phase,policyDigest:t.policyDigest,repository:t.repository,result:`passed`,schemaVersion:`ai-delivery.delivery-evidence@1`};return Uh.parse({...s,evidenceId:B(s)})}function Gh(e,t,n){return w(e,`ai-delivery`,`receipts`,`delivery@1`,t.sha,`${R.parse(n).slice(7)}.json`)}function Kh(e){let t=Uh.parse(e.evidence);return Au(Gh(e.gitCommonDir,t.head,t.evidenceId),Buffer.from(z(t),`utf8`))}function U(e,...t){try{return x(`git`,t,{cwd:e,encoding:`utf8`,maxBuffer:4194304,stdio:[`ignore`,`pipe`,`pipe`]}).trim()}catch(e){let n=String(e.stderr??``).trim();throw new L(`git ${t[0]??``} failed${n?`: ${n}`:``}`)}}function qh(e,...t){let n=S(`git`,t,{cwd:e,encoding:`utf8`,stdio:[`ignore`,`pipe`,`pipe`]});if(n.error)throw n.error;return n.status??1}function Jh(e){return m(T(e,U(e,`rev-parse`,`--show-toplevel`)))}function W(e){return m(T(e,U(e,`rev-parse`,`--git-common-dir`)))}function Yh(e){let t=W(e);if(te(t)!==`.git`)throw new L(`Expected a conventional non-bare Git repository.`);return C(t)}function Xh(e,t=`HEAD`){let n=U(e,`rev-parse`,`--verify`,t),r=U(e,`rev-parse`,`${n}^{tree}`);if(!/^[a-f0-9]{40}$/u.test(n)||!/^[a-f0-9]{40}$/u.test(r))throw new L(`Git coordinate is not a SHA-1 commit and tree.`);return{sha:n,tree:r}}function Zh(e){if(U(e,`status`,`--porcelain`,`--untracked-files=all`)!==``)throw new L(`Delivery requires an exact clean worktree.`)}function Qh(e,t,n){return U(e,`diff`,`--name-only`,`-z`,t,n).split(`\0`).filter(Boolean).sort()}function $h(e,t){let n=mm(e,t),r=`refs/remotes/${n}/`;if(qh(e,`symbolic-ref`,`--quiet`,`${r}HEAD`)===0){let t=U(e,`symbolic-ref`,`--quiet`,`${r}HEAD`);if(!t.startsWith(r))throw new L(`Selected remote HEAD points outside its tracking refs.`);return t}if(qh(e,`show-ref`,`--verify`,`--quiet`,`${r}main`)===0)return`${r}main`;throw new L(`Fetch the selected remote ${n} and set its default branch before delivery.`)}var eg=new Set([`runtime:stage`,`runtime:admit`,`cleanup`,`close`,`comment`,`create`,`develop`,`finish`,`start`,`update`,`pr:create`,`pr:merge`,`worktree`,`worktree:create`,`worktree:transition:apply`,`worktrees:cleanup`,`pr:checkout`]),tg=new Set([`pr:review`]);function ng(e){let t=e.commandName.trim().toLowerCase(),n=tg.has(t)?`reviewer`:eg.has(t)?`author`:null;if(n===null)return{error:null,normalizedCommandName:t,requiredRole:n,requiresExplicitIdentity:!1};let r=e.identity?.trim().toLowerCase()??``,i=null;return r?r===e.deliveryConfig.roles[n].identity.toLowerCase()?e.personalAuth===!0&&e.deliveryConfig.roles[n].authSource!==`personal`&&(i=`Personal-token override requires the explicit personal identity.`):r===`personal`?(n!==`author`||e.personalAuth!==!0)&&(i=`Command "${t}" requires its configured identity; personal-token override requires explicit author opt-in.`):i=e.personalAuth===!0?`Personal-token opt-in requires the explicit personal identity.`:`Command "${t}" requires configured ${n} identity "${e.deliveryConfig.roles[n].identity}".`:i=`Command "${t}" requires an explicit ${n} identity.`,{error:i,normalizedCommandName:t,requiredRole:n,requiresExplicitIdentity:!0}}var rg=10,ig=(e=0)=>t=>`\u001B[${t+e}m`,ag=(e=0)=>t=>`\u001B[${38+e};5;${t}m`,og=(e=0)=>(t,n,r)=>`\u001B[${38+e};2;${t};${n};${r}m`,sg={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(sg.modifier);var cg=Object.keys(sg.color),lg=Object.keys(sg.bgColor);[...cg,...lg];function ug(){let e=new Map;for(let[t,n]of Object.entries(sg)){for(let[t,r]of Object.entries(n))sg[t]={open:`\u001B[${r[0]}m`,close:`\u001B[${r[1]}m`},n[t]=sg[t],e.set(r[0],r[1]);Object.defineProperty(sg,t,{value:n,enumerable:!1})}return Object.defineProperty(sg,"codes",{value:e,enumerable:!1}),sg.color.close=`\x1B[39m`,sg.bgColor.close=`\x1B[49m`,sg.color.ansi=ig(),sg.color.ansi256=ag(),sg.color.ansi16m=og(),sg.bgColor.ansi=ig(rg),sg.bgColor.ansi256=ag(rg),sg.bgColor.ansi16m=og(rg),Object.defineProperties(sg,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(e=>e+e).join(``));let r=Number.parseInt(n,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:e=>sg.rgbToAnsi256(...sg.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,r;if(e>=232)t=((e-232)*10+8)/255,n=t,r=t;else{e-=16;let i=e%36;t=Math.floor(e/36)/5,n=Math.floor(i/6)/5,r=i%6/5}let i=Math.max(t,n,r)*2;if(i===0)return 30;let a=30+(Math.round(r)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>sg.ansi256ToAnsi(sg.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>sg.ansi256ToAnsi(sg.hexToAnsi256(e)),enumerable:!1}}),sg}var dg=ug();function fg(e,t=globalThis.Deno?globalThis.Deno.args:oe.argv){let n=e.startsWith(`-`)?``:e.length===1?`-`:`--`,r=t.indexOf(n+e),i=t.indexOf(`--`);return r!==-1&&(i===-1||r<i)}var{env:pg}=oe,mg;fg(`no-color`)||fg(`no-colors`)||fg(`color=false`)||fg(`color=never`)?mg=0:(fg(`color`)||fg(`colors`)||fg(`color=true`)||fg(`color=always`))&&(mg=1);function hg(){if(`FORCE_COLOR`in pg)return pg.FORCE_COLOR===`true`?1:pg.FORCE_COLOR===`false`?0:pg.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(pg.FORCE_COLOR,10),3)}function gg(e){return e!==0&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function _g(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let r=hg();r!==void 0&&(mg=r);let i=n?mg:r;if(i===0)return 0;if(n){if(fg(`color=16m`)||fg(`color=full`)||fg(`color=truecolor`))return 3;if(fg(`color=256`))return 2}if(`TF_BUILD`in pg&&`AGENT_NAME`in pg)return 1;if(e&&!t&&i===void 0)return 0;let a=i||0;if(pg.TERM===`dumb`)return a;if(oe.platform===`win32`){let e=pe.release().split(`.`);return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if(`CI`in pg)return[`GITHUB_ACTIONS`,`GITEA_ACTIONS`,`CIRCLECI`].some(e=>e in pg)?3:[`TRAVIS`,`APPVEYOR`,`GITLAB_CI`,`BUILDKITE`,`DRONE`].some(e=>e in pg)||pg.CI_NAME===`codeship`?1:a;if(`TEAMCITY_VERSION`in pg)return+!!/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(pg.TEAMCITY_VERSION);if(pg.COLORTERM===`truecolor`||pg.TERM===`xterm-kitty`||pg.TERM===`xterm-ghostty`||pg.TERM===`wezterm`)return 3;if(`TERM_PROGRAM`in pg){let e=Number.parseInt((pg.TERM_PROGRAM_VERSION||``).split(`.`)[0],10);switch(pg.TERM_PROGRAM){case`iTerm.app`:return e>=3?3:2;case`Apple_Terminal`:return 2}}return/-256(color)?$/i.test(pg.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(pg.TERM)||`COLORTERM`in pg?1:a}function vg(e,t={}){return gg(_g(e,{streamIsTTY:e&&e.isTTY,...t}))}var yg={stdout:vg({isTTY:ge.isatty(1)}),stderr:vg({isTTY:ge.isatty(2)})};function bg(e,t,n){let r=e.indexOf(t);if(r===-1)return e;let i=t.length,a=0,o=``;do o+=e.slice(a,r)+t+n,a=r+i,r=e.indexOf(t,a);while(r!==-1);return o+=e.slice(a),o}function xg(e,t,n,r){let i=0,a=``;do{let o=e[r-1]===`\r`;a+=e.slice(i,o?r-1:r)+t+(o?`\r
|
|
191
|
+
`:`
|
|
192
|
+
`)+n,i=r+1,r=e.indexOf(`
|
|
193
|
+
`,i)}while(r!==-1);return a+=e.slice(i),a}var{stdout:Sg,stderr:Cg}=yg,wg=Symbol(`GENERATOR`),Tg=Symbol(`STYLER`),Eg=Symbol(`IS_EMPTY`),Dg=[`ansi`,`ansi`,`ansi256`,`ansi16m`],Og=Object.create(null),kg=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=Sg?Sg.level:0;e.level=t.level===void 0?n:t.level},Ag=e=>{let t=(...e)=>e.join(` `);return kg(t,e),Object.setPrototypeOf(t,jg.prototype),t};function jg(e){return Ag(e)}Object.setPrototypeOf(jg.prototype,Function.prototype);for(let[e,t]of Object.entries(dg))Og[e]={get(){let n=Fg(this,Pg(t.open,t.close,this[Tg]),this[Eg]);return Object.defineProperty(this,e,{value:n}),n}};Og.visible={get(){let e=Fg(this,this[Tg],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Mg=(e,t,n,...r)=>e===`rgb`?t===`ansi16m`?dg[n].ansi16m(...r):t===`ansi256`?dg[n].ansi256(dg.rgbToAnsi256(...r)):dg[n].ansi(dg.rgbToAnsi(...r)):e===`hex`?Mg(`rgb`,t,n,...dg.hexToRgb(...r)):dg[n][e](...r);for(let e of[`rgb`,`hex`,`ansi256`]){Og[e]={get(){let{level:t}=this;return function(...n){let r=Pg(Mg(e,Dg[t],`color`,...n),dg.color.close,this[Tg]);return Fg(this,r,this[Eg])}}};let t=`bg`+e[0].toUpperCase()+e.slice(1);Og[t]={get(){let{level:t}=this;return function(...n){let r=Pg(Mg(e,Dg[t],`bgColor`,...n),dg.bgColor.close,this[Tg]);return Fg(this,r,this[Eg])}}}}var Ng=Object.defineProperties(()=>{},{...Og,level:{enumerable:!0,get(){return this[wg].level},set(e){this[wg].level=e}}}),Pg=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},Fg=(e,t,n)=>{let r=(...e)=>Ig(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,Ng),r[wg]=e,r[Tg]=t,r[Eg]=n,r},Ig=(e,t)=>{if(e.level<=0||!t)return e[Eg]?``:t;let n=e[Tg];if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.includes(`\x1B`))for(;n!==void 0;)t=bg(t,n.close,n.open),n=n.parent;let a=t.indexOf(`
|
|
194
|
+
`);return a!==-1&&(t=xg(t,i,r,a)),r+t+i};Object.defineProperties(jg.prototype,Og);var Lg=jg();jg({level:Cg?Cg.level:0});var Rg={debug:`DEBUG`,error:`ERROR`,info:`INFO`,progress:`PROGRESS`,success:`SUCCESS`,warning:`WARNING`};function zg(e,t){return`${Bg(e)} ${t}`}function Bg(e){return`[${Rg[e]}]`}var Vg=!1,Hg=e=>{Vg=e},Ug=e=>{Vg||(process.env.DEBUG===`true`||process.env.DEBUG===`1`)&&console.log(Lg.gray(zg(`debug`,e)))},Wg=e=>{Vg||console.log(Lg.blue(zg(`info`,e)))},Gg=e=>{Vg||console.warn(Lg.yellow(zg(`warning`,e)))},Kg=class extends Error{code;data;hint;constructor(e,t={}){let n=t.code===void 0?e:`[${t.code}] ${e}`;super(n),this.name=`CLIError`,this.code=t.code,this.data=t.data,this.hint=t.hint}},qg=e=>{if(e instanceof Error)return e.message;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}},Jg=N({repository:N({issue:N({blockedBy:N({nodes:M(N({id:k(),number:A().int().positive(),state:F([`OPEN`,`CLOSED`]),title:k(),repository:N({nameWithOwner:k()}).strict().optional()}).strict()),pageInfo:N({endCursor:k().nullable(),hasNextPage:j()}).strict()}).strict(),parent:N({id:k(),number:A().int().positive().optional(),repository:N({nameWithOwner:k()}).strict().optional()}).strict().nullable()}).strict()}).strict()}).strict();N({repository:N({issue:N({blocking:N({nodes:M(N({id:k(),number:A().int().positive(),state:F([`OPEN`,`CLOSED`]),title:k()}).strict()),pageInfo:N({endCursor:k().nullable(),hasNextPage:j()}).strict()}).strict()}).strict()}).strict()}).strict();async function Yg(e){return(await Xg(e)).blockers.map(e=>e.number)}async function Xg({graphql:e,issueNumber:t,repo:n,requireRepositoryIdentity:r=!1}){let i=new Map,a=null,o=!0,s=null,c=null,l=null,u=new Set;for(;o;){let d=await e(`
|
|
195
|
+
query ($owner: String!, $name: String!, $number: Int!, $cursor: String) {
|
|
196
|
+
repository(owner: $owner, name: $name) {
|
|
197
|
+
issue(number: $number) {
|
|
198
|
+
parent {
|
|
199
|
+
id
|
|
200
|
+
number
|
|
201
|
+
repository {
|
|
202
|
+
nameWithOwner
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
blockedBy(first: 100, after: $cursor) {
|
|
206
|
+
nodes {
|
|
207
|
+
id
|
|
208
|
+
number
|
|
209
|
+
title
|
|
210
|
+
state
|
|
211
|
+
repository {
|
|
212
|
+
nameWithOwner
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
pageInfo {
|
|
216
|
+
endCursor
|
|
217
|
+
hasNextPage
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
`,{cursor:a,name:n.repo,number:t,owner:n.owner}),f=Jg.safeParse(d);if(!f.success)throw new Kg(`GitHub returned invalid blocked-by relationship evidence for issue #${String(t)}.`);let p=f.data.repository.issue;for(let e of p.blockedBy.nodes){if(r&&!e.repository?.nameWithOwner.match(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u))throw new Kg(`Native blocker omitted its repository identity.`);let{repository:t,...n}=e;i.set(e.id,{...n,...r?{repository:t.nameWithOwner}:{}})}if(r&&p.parent&&(!p.parent.number||!p.parent.repository?.nameWithOwner.match(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u)))throw new Kg(`Native parent omitted its repository identity.`);c=p.parent?.repository?.nameWithOwner??null,s=p.parent?.id??null,l=p.parent?.number??null,o=p.blockedBy.pageInfo.hasNextPage;let m=p.blockedBy.pageInfo.endCursor;if(o&&m===null)throw new Kg(`Native blocked-by pagination for issue #${String(t)} omitted its next cursor.`);if(o&&m!==null&&(m===a||u.has(m)))throw new Kg(`Native blocked-by pagination for issue #${String(t)} repeated a non-advancing cursor.`);m!==null&&u.add(m),a=m}return{blockers:[...i.values()].sort((e,t)=>e.number-t.number),parentId:s,parentNumber:l,...r?{parentRepository:c}:{}}}async function Zg({issueNumber:e,repo:t,rest:n}){return(await n.issues.listSubIssues({issue_number:e,owner:t.owner,per_page:1,repo:t.repo})).data.length>0}async function Qg({parentIssueNumber:e,repo:t,rest:n,subIssueId:r,subIssueNumber:i}){if(e===i)throw new Kg(`Issue #${String(i)} cannot be its own parent.`);let a=typeof r==`number`&&Number.isFinite(r)?r:await n_({issueNumber:i,repo:t,rest:n});if(await i_({parentIssueNumber:e,repo:t,rest:n,subIssueNumber:i})){Wg(`Issue #${String(i)} is already a sub-issue of issue #${String(e)}.`);return}if(await n.issues.addSubIssue({issue_number:e,owner:t.owner,repo:t.repo,sub_issue_id:a}),!await i_({parentIssueNumber:e,repo:t,rest:n,subIssueNumber:i}))throw new Kg(`Native sub-issue readback for parent #${String(e)} omitted requested issue #${String(i)}.`);Wg(`Linked issue #${String(i)} as sub-issue of issue #${String(e)}.`)}async function $g({blockers:e,graphql:t,issueNumber:n,repo:r,rest:i}){let a=[...new Set(e)].sort((e,t)=>e-t),o=await Xg({graphql:t,issueNumber:n,repo:r}),s=new Set(a),c=await r_({issueNumber:n,repo:r,rest:i});for(let e of o.blockers.filter(e=>!s.has(e.number)))await t(`
|
|
224
|
+
mutation ($issue: ID!, $blocking: ID!) {
|
|
225
|
+
removeBlockedBy(input: { issueId: $issue, blockingIssueId: $blocking }) {
|
|
226
|
+
issue {
|
|
227
|
+
number
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
`,{blocking:e.id,issue:c});let l=new Set(o.blockers.map(e=>e.number));for(let e of a.filter(e=>!l.has(e)))await t(`
|
|
232
|
+
mutation ($issue: ID!, $blocking: ID!) {
|
|
233
|
+
addBlockedBy(input: { issueId: $issue, blockingIssueId: $blocking }) {
|
|
234
|
+
issue {
|
|
235
|
+
number
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
`,{blocking:await r_({issueNumber:e,repo:r,rest:i}),issue:c});let u=(await Yg({graphql:t,issueNumber:n,repo:r})).sort((e,t)=>e-t);if(u.join(`,`)!==a.join(`,`))throw new Kg(`Native blocked-by replacement readback mismatch for issue #${String(n)}: expected ${a.join(`,`)||`(none)`}, found ${u.join(`,`)||`(none)`}.`)}async function e_({graphql:e,issueNumber:t,parentIssueNumber:n,repo:r,rest:i}){if(n===t)throw new Kg(`Issue #${String(t)} cannot be its own parent.`);let a=await Xg({graphql:e,issueNumber:t,repo:r});if(a.parentNumber===n)return;let o=await n_({issueNumber:t,repo:r,rest:i});a.parentNumber!==null&&await i.issues.removeSubIssue({issue_number:a.parentNumber,owner:r.owner,repo:r.repo,sub_issue_id:o}),n!==null&&await Qg({parentIssueNumber:n,repo:r,rest:i,subIssueId:o,subIssueNumber:t});let s=await Xg({graphql:e,issueNumber:t,repo:r});if(s.parentNumber!==n){let e=n===null?`(none)`:`#${String(n)}`,r=s.parentNumber===null?`(none)`:`#${String(s.parentNumber)}`;throw new Kg(`Native parent replacement readback mismatch for issue #${String(t)}: expected ${e}, found ${r}.`)}}async function t_({blockers:e,parentIssueNumber:t,repo:n,rest:r}){let i=new Map,a=[];for(let t of new Set(e)){let e=await o_({issueNumber:t,repo:n,rest:r});i.set(t,e.nodeId),e.state===`OPEN`&&a.push(t)}return t!==void 0&&await a_({issueNumber:t,relationship:`parent`,repo:n,rest:r}),{blockerNodeIds:i,unresolvedBlockers:a}}async function n_({issueNumber:e,repo:t,rest:n}){try{let r=(await n.issues.get({issue_number:e,owner:t.owner,repo:t.repo})).data.id;if(typeof r!=`number`)throw new Kg(`GitHub omitted the numeric issue id for issue #${String(e)}.`);return r}catch(t){throw t instanceof Kg?t:new Kg(`Unable to resolve sub-issue id for issue #${String(e)}: ${qg(t)}.`)}}async function r_({issueNumber:e,repo:t,rest:n}){try{let r=(await n.issues.get({issue_number:e,owner:t.owner,repo:t.repo})).data.node_id;if(typeof r!=`string`)throw new Kg(`GitHub omitted the node id for issue #${String(e)}.`);return r}catch(t){throw t instanceof Kg?t:new Kg(`Unable to resolve blocker issue #${String(e)}: ${qg(t)}.`)}}async function i_({parentIssueNumber:e,repo:t,rest:n,subIssueNumber:r}){return(await n.paginate(n.issues.listSubIssues,{issue_number:e,owner:t.owner,per_page:100,repo:t.repo})).some(e=>e.number===r)}async function a_({issueNumber:e,relationship:t,repo:n,rest:r}){try{await r.issues.get({issue_number:e,owner:n.owner,repo:n.repo})}catch(n){throw new Kg(`Unable to resolve ${t} issue #${String(e)}: ${qg(n)}.`)}}async function o_({issueNumber:e,repo:t,rest:n}){try{let r=await n.issues.get({issue_number:e,owner:t.owner,repo:t.repo}),i=r.data.node_id,a=r.data.state;if(typeof i!=`string`||a!==`open`&&a!==`closed`)throw new Kg(`GitHub omitted the node id or state for blocker issue #${String(e)}.`);return{nodeId:i,state:a===`open`?`OPEN`:`CLOSED`}}catch(t){throw t instanceof Kg?t:new Kg(`Unable to resolve blocker issue #${String(e)}: ${qg(t)}.`)}}var s_=`2026-03-10`;function c_(e){return{points:{databaseId:e.native.points.databaseId,name:e.native.points.name,values:e.native.points.values.map(e=>Number(e))},priority:{databaseId:e.native.priority.databaseId,name:e.native.priority.name,values:e.native.priority.values}}}var l_={"X-GitHub-Api-Version":s_};async function u_(e){if((await f_(e)).points===void 0)return;let t=e.catalog??await d_(e);g_(t,e.settings),await e.rest.request(`DELETE /repos/{owner}/{repo}/issues/{issue_number}/issue-field-values/{issue_field_id}`,{headers:l_,issue_field_id:t.points.id,issue_number:e.issueNumber,owner:e.owner,repo:e.repo});let n=await f_(e);if(n.points!==void 0)throw new L(`Native issue metadata readback retained Points ${String(n.points)} after clearing issue #${String(e.issueNumber)}.`)}async function d_(e){return m_((await e.rest.request(`GET /orgs/{org}/issue-fields`,{headers:l_,org:e.org})).data,e.settings)}async function f_(e){return p_((await e.rest.request(`GET /repos/{owner}/{repo}/issues/{issue_number}/issue-field-values`,{headers:l_,issue_number:e.issueNumber,owner:e.owner,repo:e.repo})).data,e.settings)}function p_(e,t){if(!Array.isArray(e))throw new L(`GitHub returned an invalid issue-field value payload.`);let n={},r=new Set;for(let i of e){if(typeof i!=`object`||!i)continue;let e=i,a=e.issue_field_name;__({seen:r,settings:t,value:e}),a===t.points.name?n.points=y_(e,t):a===t.priority.name&&(n.priority=b_(e,t))}return n}function m_(e,t){if(!Array.isArray(e))throw new L(`GitHub returned an invalid organization issue-field payload.`);let n=e.filter(e=>typeof e==`object`&&!!e);return{points:S_({expectedId:t.points.databaseId,expectedValues:t.points.values.map(String),fields:n,name:t.points.name}),priority:S_({expectedId:t.priority.databaseId,expectedValues:t.priority.values,fields:n,name:t.priority.name})}}async function h_(e){if(e.metadata.points===void 0&&e.metadata.priority===void 0)return{};let t=e.catalog??await d_(e);g_(t,e.settings);let n=[];if(e.metadata.points!==void 0){if(!e.settings.points.values.includes(e.metadata.points))throw new L(`Unsupported ${e.settings.points.name} value.`);n.push({field_id:t.points.id,value:String(e.metadata.points)})}if(e.metadata.priority!==void 0){if(!e.settings.priority.values.includes(e.metadata.priority))throw new L(`Unsupported ${e.settings.priority.name} value.`);n.push({field_id:t.priority.id,value:e.metadata.priority})}if(n.length===0)return{};let r=p_((await e.rest.request(`POST /repos/{owner}/{repo}/issues/{issue_number}/issue-field-values`,{headers:l_,issue_field_values:n,issue_number:e.issueNumber,owner:e.owner,repo:e.repo})).data,e.settings);return v_(e.metadata,r),r}function g_(e,t){for(let n of[`points`,`priority`]){let r=e[n],i=t[n];if(!Number.isSafeInteger(r.id)||r.id<=0||r.name!==i.name||String(r.id)!==i.databaseId)throw new L(`Native ${i.name} catalog does not match configured issue field.`)}if(e.points.id===e.priority.id)throw new L(`Native Points and Priority catalogs must select distinct issue fields.`)}function __(e){let{seen:t,settings:n,value:r}=e,i=r.issue_field_name;if(i!==n.points.name&&i!==n.priority.name)return;if(t.has(i))throw new L(`GitHub returned duplicate native ${i} field values.`);if(t.add(i),r.data_type!==`single_select`)throw new L(`Native ${i} readback must be a constrained single-select field value.`);let a=i===n.points.name?n.points.databaseId:n.priority.databaseId;if(a!==void 0&&String(r.issue_field_id)!==a)throw new L(`Native ${i} readback does not match configured issue field.`)}function v_(e,t){for(let n of[`points`,`priority`])if(e[n]!==void 0&&t[n]!==e[n])throw new L(`Native issue metadata readback mismatch for ${n}: expected ${String(e[n])}, found ${String(t[n])}.`)}function y_(e,t){let n=x_(e),r=typeof n==`number`?n:Number(n);if(!Number.isSafeInteger(r)||!t.points.values.includes(r)||t.points.databaseId!==void 0&&String(n)!==String(r))throw new L(`GitHub returned unsupported ${t.points.name} value ${String(n)}.`);return r}function b_(e,t){let n=x_(e);if(typeof n!=`string`||!t.priority.values.includes(n))throw new L(`GitHub returned unsupported ${t.priority.name} value ${String(n)}.`);return n}function x_(e){if(typeof e.single_select_option==`object`&&e.single_select_option!==null){let t=e.single_select_option;if(t.name!==void 0)return t.name}return e.value}function S_({expectedId:e,expectedValues:t,fields:n,name:r}){let i=n.filter(e=>e.name===r);if(i.length!==1)throw new L(`Expected exactly one native ${r} issue field, found ${String(i.length)}.`);let[a]=i;if(a===void 0||a.data_type!==`single_select`||!Number.isSafeInteger(a.id))throw new L(`Native ${r} must be a constrained single-select issue field.`);if(e!==void 0&&String(a.id)!==e)throw new L(`Native ${r} does not match configured issue field ${e}.`);if(t!==void 0){let e=Array.isArray(a.options)?a.options.map(e=>typeof e==`object`&&e?e.name:null):[];if(e.length!==t.length||new Set(e).size!==t.length||e.some(e=>typeof e!=`string`||!t.includes(e)))throw new L(`Native ${r} options do not match configured values.`)}return{dataType:`single_select`,id:a.id,name:r}}var C_=k().trim().min(1).max(1e4),w_=C_.max(500).refine(e=>!/[\r\n]/u.test(e),`Summary must be one plain-language line.`),T_=yu(),E_=al({protocol:/^https$/u}).refine(e=>{let t;try{t=new URL(e)}catch{return!1}let n=t.hostname.replace(/^\[|\]$/gu,``).replace(/\.$/u,``);return!t.username&&!t.password&&_e(n)===0&&n.includes(`.`)&&n!==`localhost`&&!n.endsWith(`.localhost`)&&!n.endsWith(`.local`)},`Evidence must be an HTTPS link with a public DNS hostname and no credentials or IP literal.`),D_={issueNumber:A().int().positive(),summary:w_,status:C_,nextStep:C_,nextDate:T_.nullable(),keyNumbers:M(C_),evidence:M(E_),details:C_.optional(),lengthCap:A().int().min(600).max(1e4).optional()},O_=Ll(`kind`,[P({...D_,kind:I(`start`),outcome:C_}),P({...D_,kind:I(`progress`),evidence:M(E_).min(1),done:M(C_).min(1),decisionNeeded:C_}),P({...D_,kind:I(`decision`),decision:C_,rationale:C_}),P({...D_,kind:I(`blocker`),blocker:C_,resolution:C_}),P({...D_,kind:I(`closeout`),acceptance:M(P({criterion:C_,evidence:E_})).min(1),followUps:M(C_)})]),k_=P({...D_,kind:F([`start`,`progress`,`decision`,`blocker`,`closeout`]),outcome:C_.optional(),done:M(C_).min(1).optional(),decisionNeeded:C_.optional(),decision:C_.optional(),rationale:C_.optional(),blocker:C_.optional(),resolution:C_.optional(),acceptance:M(P({criterion:C_,evidence:E_})).min(1).optional(),followUps:M(C_).optional()}).superRefine((e,t)=>{let n=O_.safeParse(e);if(!n.success)for(let e of n.error.issues)t.addIssue({code:`custom`,path:e.path,message:e.message})});function A_(e,t){let n=O_.parse(e),r=[`**Kind:** ${n.kind}. **Status:** ${n.status}`];switch(n.kind){case`start`:r.push(`**Outcome:** ${n.outcome}`);break;case`progress`:r.push(`**Done since last:**\n${n.done.map(e=>`- ${e}`).join(`
|
|
240
|
+
`)}`,`**Decision needed:** ${n.decisionNeeded}`);break;case`decision`:r.push(`**Decision:** ${n.decision}`,`**Rationale:** ${n.rationale}`);break;case`blocker`:r.push(`**Blocker:** ${n.blocker}`,`**Resolution needed:** ${n.resolution}`);break;case`closeout`:r.push(`**Acceptance evidence:**\n${n.acceptance.map(e=>`- ${e.criterion} — ${e.evidence}`).join(`
|
|
241
|
+
`)}`,`**Follow-ups:** ${n.followUps.length?n.followUps.join(`; `):`None.`}`)}r.push(`**Key numbers:** ${n.keyNumbers.length?n.keyNumbers.join(`; `):`None reported.`}`,`**Next:** ${n.nextStep} (${n.nextDate??`date not scheduled`}).`,`**Evidence:** ${n.evidence.length?n.evidence.join(` · `):`None yet.`}`),n.details&&r.push(n.details);let i=n.summary,a=``;for(let e of r)a||i.length+e.length+2>(n.lengthCap??1800)?a+=`\n\n${e}`:i+=`\n\n${e}`;return a&&(i+=`\n\n<details>\n<summary>Additional journal detail</summary>${a}\n\n</details>`),t===void 0?i:`${i}\n\n${t}`}function j_(e){return N_(e,[`acceptance criteria`]).map(e=>e.trimStart().match(/^[-*+]\s*\[[ xX]\][ \t](.*)$/u)?.[1]?.trim()??``).filter(Boolean)}function M_(e){return N_(e,[`follow-ups`,`follow ups`]).map(e=>e.trimStart().match(/^[-*+]\s*(?:\[[ xX]\][ \t])?(.*)$/u)?.[1]?.trim()??``).filter(Boolean)}function N_(e,t){let n=e=>e.match(/^ {0,3}#{1,6}[ \t](.*)$/u)?.[1]?.trim().toLowerCase(),r=e.split(/\r?\n/u),i=r.findIndex(e=>t.includes(n(e)??``));if(i===-1)return[];let a=[];for(let e of r.slice(i+1)){if(n(e)!==void 0)break;a.push(e)}return a}function P_(e){L_(e,448)}function F_(e,t){z_({directoryMode:511,mode:438,path:e,value:t})}function I_(e,t){z_({directoryMode:448,mode:384,path:e,value:t})}function L_(e,t){let r=[],i=e;for(;!n(i);){r.push(i);let e=C(i);if(e===i)break;i=e}for(let e of r.reverse()){try{s(e,{mode:t})}catch(n){if(n.code!==`EEXIST`)throw n;let r=o(e);if(!r.isDirectory()||r.isSymbolicLink()||t===448&&r.mode&63)throw Error(`Concurrent directory creation did not publish a safe directory.`)}R_(C(e))}}function R_(e){let n=l(e,`r`);try{i(n)}finally{t(n)}}function z_({directoryMode:e,mode:n,path:r,value:a}){let o=C(r);L_(o,e);let s=w(o,`.${String(process.pid)}.${le()}.tmp`),c,u,d;try{c=l(s,`wx`,n),t(c),c=void 0,b(s,`${JSON.stringify(a,null,2)}\n`,`utf8`),u=l(s,`r`),i(u),t(u),u=void 0,h(s,r),d=l(o,`r`),i(d),t(d),d=void 0}catch(e){c!==void 0&&t(c),u!==void 0&&t(u),d!==void 0&&t(d);try{y(s)}catch{}throw e}}var B_=k().regex(/^[a-f0-9]{40}$/u),V_=k().regex(/^sha256:[a-f0-9]{64}$/u),H_=N({artifactId:V_,authorIdentity:k().min(1),checks:M(k().min(1)).min(1),diffScopeHash:V_,deliveryMetrics:N({blockerTimeMs:A().int().nonnegative().nullable(),reviewRound:A().int().positive()}).strict().optional(),elapsedMs:A().int().nonnegative(),findings:M(k()),head:N({sha:B_,tree:B_}).strict(),issueNumber:A().int().positive(),prNumber:A().int().positive().nullable(),readOnly:I(!0),requestedEffort:k().min(1),requestedModel:k().min(1),effectiveEffort:k().min(1),effectiveModel:k().min(1),reviewerIdentity:k().min(1),schemaVersion:I(`ai-delivery.review-artifact@1`),summary:k().min(1),verdict:F([`approve`,`request-changes`])}).strict().superRefine((e,t)=>{let{artifactId:n,...r}=e;(n!==B(r)||e.authorIdentity===e.reviewerIdentity)&&t.addIssue({code:`custom`,message:`Review artifact identity or role separation is invalid.`})}),U_=N({artifact:H_,completedAt:vu(),githubReviewId:A().int().positive(),githubReviewUrl:al(),headSha:B_,login:k().min(1),prNumber:A().int().positive(),publicationEvidenceId:V_,receiptId:V_,schemaVersion:I(`ai-delivery.review-receipt@1`),state:I(`APPROVED`)}).strict().superRefine((e,t)=>{let{receiptId:n,...r}=e;(n!==B(r)||e.headSha!==e.artifact.head.sha||e.artifact.prNumber!==null&&e.artifact.prNumber!==e.prNumber)&&t.addIssue({code:`custom`,message:`Submitted review receipt is not bound to its artifact.`})});async function W_(e,t,n,r){let i;try{i=await e.clients.graphql(`query DeliveryReviewDecision($owner: String!, $name: String!, $number: Int!) { repository(owner: $owner, name: $name) { pullRequest(number: $number) { headRefOid reviewDecision } } }`,{owner:e.repo.owner,name:e.repo.repo,number:t})}catch{return{reviewDecision:null,submittedReviewAuthorCanPushToRepository:null,status:`unknown`,nextAction:`Inspect the PR review requirement in GitHub before merge; review decision readback is unavailable.`}}let a=i.repository?.pullRequest;if(!a)return{reviewDecision:null,submittedReviewAuthorCanPushToRepository:null,status:`unknown`,nextAction:`Inspect the PR review requirement in GitHub before merge; PR decision readback is unavailable.`};if(a.headRefOid!==n)throw new L(`GitHub review decision does not match the exact PR head.`);let o=null;if(r)try{let i=await e.clients.graphql(`query DeliveryReviewAccess($owner: String!, $name: String!, $number: Int!) { repository(owner: $owner, name: $name) { pullRequest(number: $number) { reviews(last: 100) { nodes { fullDatabaseId author { login } authorCanPushToRepository commit { oid } state } } } } }`,{owner:e.repo.owner,name:e.repo.repo,number:t}),a=r.login.toLowerCase().replace(/\[bot\]$/u,``),s=i.repository?.pullRequest?.reviews.nodes.find(e=>e!==null&&String(e.fullDatabaseId)===String(r.id)&&e.author?.login.toLowerCase().replace(/\[bot\]$/u,``)===a&&e.commit?.oid===n&&e.state===`APPROVED`);typeof s?.authorCanPushToRepository==`boolean`&&(o=s.authorCanPushToRepository)}catch{}return a.reviewDecision===`APPROVED`?{reviewDecision:`APPROVED`,submittedReviewAuthorCanPushToRepository:o,status:`satisfied`,nextAction:`Continue only after required checks pass.`}:a.reviewDecision===`REVIEW_REQUIRED`?{reviewDecision:`REVIEW_REQUIRED`,submittedReviewAuthorCanPushToRepository:o,status:`still-required`,nextAction:o===!1?`GitHub still requires a qualifying approval; the submitted reviewer App review has no repository write access. Inspect the active rule and the App installation Contents grant, then obtain approval from an eligible independent reviewer.`:`GitHub still requires a qualifying approval. Inspect the active rule and obtain approval from an eligible independent reviewer; do not change actors or protections automatically.`}:a.reviewDecision===`CHANGES_REQUESTED`?{reviewDecision:`CHANGES_REQUESTED`,submittedReviewAuthorCanPushToRepository:o,status:`changes-requested`,nextAction:`Resolve the blocking review and obtain a fresh exact-head independent approval.`}:{reviewDecision:null,submittedReviewAuthorCanPushToRepository:o,status:`unknown`,nextAction:`Inspect the PR review requirement in GitHub before merge; no required-review decision was exposed.`}}function G_(e){let t=typeof e==`string`?JSON.parse(e):e;return H_.parse(t)}function K_(e){let{artifact:t,classification:n,config:r}=e;if(H_.parse(t),t.verdict!==`approve`||t.issueNumber!==e.issueNumber||t.authorIdentity!==r.roles.author.identity||t.reviewerIdentity!==r.roles.reviewer.identity||t.head.sha!==n.head.sha||t.head.tree!==n.head.tree||t.diffScopeHash!==B(n.changedPaths)||e.prNumber!==void 0&&t.prNumber!==null&&t.prNumber!==e.prNumber)throw new L(`Independent review artifact is stale, foreign, rejected, or covers another scope.`);return Vh.parse({authorIdentity:t.authorIdentity,diffScopeHash:t.diffScopeHash,head:t.head,result:`approved`,reviewerIdentity:t.reviewerIdentity,reviewReceiptId:t.artifactId})}function q_(e,t,n){return w(W(e),`ai-delivery`,`reviews`,String(t),`${n}.json`)}function J_(e,t,n){return w(W(e),`ai-delivery`,`reviews`,String(t),`${n}.prepublication.json`)}function Y_(e){if(e.artifact.prNumber!==null)throw new L(`Prepublication review must have a null PR number.`);K_(e),I_(J_(e.repoRoot,e.issueNumber,e.artifact.head.sha),e.artifact)}function X_(e,t,n){let r;try{r=JSON.parse(H(J_(e,t,n)).toString(`utf8`))}catch(e){if(e.code===`ENOENT`)return null;throw new L(`Stored prepublication review is unreadable.`)}return H_.parse(r)}async function Z_(e,t){let n=[];for(let r=1;r<=20;r+=1){let i=await e.clients.rest.pulls.listReviews({...e.repo,pull_number:t,per_page:100,page:r});if(n.push(...i.data),i.data.length<100)return n}throw new L(`Review history exceeds the bounded readback window.`)}async function Q_(e){let{artifact:t,context:n,issueNumber:r,prNumber:i}=e;if(K_({artifact:t,classification:e.classification,config:n.config,issueNumber:r,prNumber:i}),n.clients.authSource!==`app`||n.clients.role!==`reviewer`||!n.clients.appActorLogin)throw new L(`Formal review requires the reviewer GitHub App role.`);let a=(await n.clients.rest.pulls.get({...n.repo,pull_number:i})).data;if(a.head.sha!==t.head.sha||a.state!==`open`)throw new L(`PR head changed before formal review.`);let o=await n.clients.appActorLogin();if(!o||!a.user?.login||o.toLowerCase()===a.user.login.toLowerCase())throw new L(`Reviewer GitHub actor must differ from PR author.`);let s=$_(n.root,r,t.head.sha);if(s){if(s.artifact.artifactId!==t.artifactId||s.prNumber!==i||s.publicationEvidenceId!==e.publicationEvidenceId||s.login.toLowerCase()!==o.toLowerCase())throw new L(`An exact-head review receipt already binds different review evidence.`);return await ev(n,s),s}let c=`<!-- ai-delivery-review-artifact: ${t.artifactId} -->`,l=(await Z_(n,i)).filter(e=>e.body?.includes(c));if(l.length>1)throw new L(`Multiple GitHub reviews claim the same artifact identity.`);let u=l[0];if(u&&(u.state!==`APPROVED`||u.commit_id!==t.head.sha||u.user?.login?.toLowerCase()!==o.toLowerCase()||!u.html_url))throw new L(`Prior GitHub review marker does not match exact approval.`);let d=u??(await n.clients.rest.pulls.createReview({...n.repo,pull_number:i,commit_id:t.head.sha,body:`${t.summary}\n\n${c}`,event:`APPROVE`})).data;if(!d.id||d.state!==`APPROVED`||d.commit_id!==t.head.sha||d.user?.login?.toLowerCase()!==o.toLowerCase()||!d.html_url)throw new L(`GitHub did not return complete exact-head approval readback.`);let f={artifact:t,completedAt:new Date().toISOString(),githubReviewId:d.id,githubReviewUrl:d.html_url,headSha:t.head.sha,login:d.user.login,prNumber:i,publicationEvidenceId:e.publicationEvidenceId,schemaVersion:`ai-delivery.review-receipt@1`,state:`APPROVED`},p=U_.parse({...f,receiptId:B(f)});return await ev(n,p),I_(q_(n.root,r,t.head.sha),p),p}function $_(e,t,n){let r;try{r=JSON.parse(H(q_(e,t,n)).toString(`utf8`))}catch(e){if(e.code===`ENOENT`)return null;throw new L(`Stored review receipt is unreadable.`)}return U_.parse(r)}async function ev(e,t){U_.parse(t);let n=(await Z_(e,t.prNumber)).find(e=>e.id===t.githubReviewId);if(!n||n.state!==`APPROVED`||n.commit_id!==t.headSha||n.user?.login!==t.login||n.html_url!==t.githubReviewUrl||!n.body?.includes(`<!-- ai-delivery-review-artifact: ${t.artifact.artifactId} -->`))throw new L(`GitHub exact-head review no longer matches the stored receipt.`)}var tv=k().regex(/^sha256:[a-f0-9]{64}$/u),nv=2,rv=N({admissionId:tv,capability:N({cli:A().int().positive(),mcp:A().int().positive()}).strict(),cliPath:k().min(1),cliSha256:tv,configDigest:tv,mcpLauncherPath:k().min(1),mcpLauncherSha256:tv,packageDistSha256:tv,packageManifestSha256:tv,packageVersion:k().min(1),pluginManifestPath:k().min(1),pluginManifestSha256:tv,repository:k().min(1),schemaVersion:I(`ai-delivery.runtime-admission@2`),sourceArchiveSha256:tv,sourceCommit:k().regex(/^[a-f0-9]{40}$/u)}).strict().superRefine((e,t)=>{let{admissionId:n,...r}=e;n!==B(r)&&t.addIssue({code:`custom`,message:`Runtime admission identity is invalid.`})});function iv(e){return`sha256:${se(`sha256`).update(u(e)).digest(`hex`)}`}function av(e){let t=[],n=(e,r)=>{for(let i of f(e,{withFileTypes:!0}).sort((e,t)=>e.name<t.name?-1:+(e.name>t.name))){let a=w(e,i.name),o=r?`${r}/${i.name}`:i.name;if(i.isDirectory())n(a,o);else if(i.isFile())t.push({path:o,sha256:iv(a)});else throw new L(`Runtime distribution contains an unsupported link or file type.`)}};if(n(e,``),t.length===0)throw new L(`Runtime distribution is empty.`);return B(t)}function ov(e){let t=JSON.parse(u(e,`utf8`));if(typeof t!=`object`||!t||Array.isArray(t))throw new L(`Runtime package or plugin manifest is invalid.`);return t}async function sv(e){let t=Jh(e.repoRoot),n=e.configuration??await oh(t,e.personalAuth===void 0?{}:{personalAuth:e.personalAuth}),r=w(W(t),`ai-delivery`,`runtime-admission.json`),i;try{i=rv.parse(JSON.parse(H(r).toString(`utf8`)))}catch{throw new L(`Missing or invalid private ai-delivery runtime admission; refresh the installed binding before lifecycle mutation.`)}return cv(i,n,e.runtimeEntryPath)}function cv(e,t,n){let r=n??process.argv[1];if(!r)throw new L(`Running ai-delivery entry path is unavailable.`);try{let n=m(r),i=m(e.mcpLauncherPath),a=m(e.pluginManifestPath),o=C(n),s=w(C(o),`package.json`),c=ov(s),l=ov(a);if(n!==e.cliPath||i!==e.mcpLauncherPath||a!==e.pluginManifestPath||m(w(C(C(i)),`.claude-plugin`,`plugin.json`))!==a||iv(n)!==e.cliSha256||iv(i)!==e.mcpLauncherSha256||iv(a)!==e.pluginManifestSha256||iv(s)!==e.packageManifestSha256||av(o)!==e.packageDistSha256||e.configDigest!==t.configDigest||e.repository!==t.config.repository||e.capability.cli!==nv||e.capability.mcp!==nv||c.name!==`@aviaratech/ai-delivery`||c.version!==e.packageVersion||l.name!==`ai-delivery`||l.packageVersion!==e.packageVersion||l.deliveryCapabilityVersion!==nv)throw new L(`Installed CLI/MCP source, capability or repository admission disagrees with the running delivery contract.`)}catch(e){throw e instanceof L?e:new L(`Installed CLI/MCP source or capability readback is unavailable.`)}return e}function lv(e){for(let t of[e.cliPath,e.mcpLauncherPath,e.pluginManifestPath])if(m(t)!==t)throw new L(`Installed runtime paths must be canonical regular files.`);let t=C(e.cliPath),n=w(C(t),`package.json`),r=ov(n).bin;if(typeof r!=`object`||!r||!(`ai-delivery`in r)||r[`ai-delivery`]!==`./dist/cli.js`)throw new L(`Installed package CLI entry is not the supported ai-delivery executable.`);let i={capability:{cli:nv,mcp:nv},cliPath:e.cliPath,cliSha256:iv(e.cliPath),configDigest:e.configuration.configDigest,mcpLauncherPath:e.mcpLauncherPath,mcpLauncherSha256:iv(e.mcpLauncherPath),packageDistSha256:av(t),packageManifestSha256:iv(n),packageVersion:e.packageVersion,pluginManifestPath:e.pluginManifestPath,pluginManifestSha256:iv(e.pluginManifestPath),repository:e.configuration.config.repository,schemaVersion:`ai-delivery.runtime-admission@2`,sourceArchiveSha256:e.sourceArchiveSha256,sourceCommit:e.sourceCommit};return cv(rv.parse({...i,admissionId:B(i)}),e.configuration,e.cliPath)}var uv=`.issue-cli`;function dv(e){let t=e??process.cwd(),r=T(t,uv);return n(r)||s(r,{recursive:!0}),r}var fv=E(((e,t)=>{var n=je(`constants`),r=process.cwd,i=null,a=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return i||=r.call(process),i};try{process.cwd()}catch{}if(typeof process.chdir==`function`){var o=process.chdir;process.chdir=function(e){i=null,o.call(process,e)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,o)}t.exports=s;function s(e){n.hasOwnProperty(`O_SYMLINK`)&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&t(e),e.lutimes||r(e),e.chown=s(e.chown),e.fchown=s(e.fchown),e.lchown=s(e.lchown),e.chmod=i(e.chmod),e.fchmod=i(e.fchmod),e.lchmod=i(e.lchmod),e.chownSync=c(e.chownSync),e.fchownSync=c(e.fchownSync),e.lchownSync=c(e.lchownSync),e.chmodSync=o(e.chmodSync),e.fchmodSync=o(e.fchmodSync),e.lchmodSync=o(e.lchmodSync),e.stat=l(e.stat),e.fstat=l(e.fstat),e.lstat=l(e.lstat),e.statSync=u(e.statSync),e.fstatSync=u(e.fstatSync),e.lstatSync=u(e.lstatSync),e.chmod&&!e.lchmod&&(e.lchmod=function(e,t,n){n&&process.nextTick(n)},e.lchmodSync=function(){}),e.chown&&!e.lchown&&(e.lchown=function(e,t,n,r){r&&process.nextTick(r)},e.lchownSync=function(){}),a===`win32`&&(e.rename=typeof e.rename==`function`?(function(t){function n(n,r,i){var a=Date.now(),o=0;t(n,r,function s(c){if(c&&(c.code===`EACCES`||c.code===`EPERM`||c.code===`EBUSY`)&&Date.now()-a<6e4){setTimeout(function(){e.stat(r,function(e,a){e&&e.code===`ENOENT`?t(n,r,s):i(c)})},o),o<100&&(o+=10);return}i&&i(c)})}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n})(e.rename):e.rename),e.read=typeof e.read==`function`?(function(t){function n(n,r,i,a,o,s){var c;if(s&&typeof s==`function`){var l=0;c=function(u,d,f){if(u&&u.code===`EAGAIN`&&l<10)return l++,t.call(e,n,r,i,a,o,c);s.apply(this,arguments)}}return t.call(e,n,r,i,a,o,c)}return Object.setPrototypeOf&&Object.setPrototypeOf(n,t),n})(e.read):e.read,e.readSync=typeof e.readSync==`function`?(function(t){return function(n,r,i,a,o){for(var s=0;;)try{return t.call(e,n,r,i,a,o)}catch(e){if(e.code===`EAGAIN`&&s<10){s++;continue}throw e}}})(e.readSync):e.readSync;function t(e){e.lchmod=function(t,r,i){e.open(t,n.O_WRONLY|n.O_SYMLINK,r,function(t,n){if(t){i&&i(t);return}e.fchmod(n,r,function(t){e.close(n,function(e){i&&i(t||e)})})})},e.lchmodSync=function(t,r){var i=e.openSync(t,n.O_WRONLY|n.O_SYMLINK,r),a=!0,o;try{o=e.fchmodSync(i,r),a=!1}finally{if(a)try{e.closeSync(i)}catch{}else e.closeSync(i)}return o}}function r(e){n.hasOwnProperty(`O_SYMLINK`)&&e.futimes?(e.lutimes=function(t,r,i,a){e.open(t,n.O_SYMLINK,function(t,n){if(t){a&&a(t);return}e.futimes(n,r,i,function(t){e.close(n,function(e){a&&a(t||e)})})})},e.lutimesSync=function(t,r,i){var a=e.openSync(t,n.O_SYMLINK),o,s=!0;try{o=e.futimesSync(a,r,i),s=!1}finally{if(s)try{e.closeSync(a)}catch{}else e.closeSync(a)}return o}):e.futimes&&(e.lutimes=function(e,t,n,r){r&&process.nextTick(r)},e.lutimesSync=function(){})}function i(t){return t&&function(n,r,i){return t.call(e,n,r,function(e){d(e)&&(e=null),i&&i.apply(this,arguments)})}}function o(t){return t&&function(n,r){try{return t.call(e,n,r)}catch(e){if(!d(e))throw e}}}function s(t){return t&&function(n,r,i,a){return t.call(e,n,r,i,function(e){d(e)&&(e=null),a&&a.apply(this,arguments)})}}function c(t){return t&&function(n,r,i){try{return t.call(e,n,r,i)}catch(e){if(!d(e))throw e}}}function l(t){return t&&function(n,r,i){typeof r==`function`&&(i=r,r=null);function a(e,t){t&&(t.uid<0&&(t.uid+=4294967296),t.gid<0&&(t.gid+=4294967296)),i&&i.apply(this,arguments)}return r?t.call(e,n,r,a):t.call(e,n,a)}}function u(t){return t&&function(n,r){var i=r?t.call(e,n,r):t.call(e,n);return i&&(i.uid<0&&(i.uid+=4294967296),i.gid<0&&(i.gid+=4294967296)),i}}function d(e){return!(e&&e.code!==`ENOSYS`&&(process.getuid&&process.getuid()===0||e.code!==`EINVAL`&&e.code!==`EPERM`))}}})),pv=E(((e,t)=>{var n=je(`stream`).Stream;t.exports=r;function r(e){return{ReadStream:t,WriteStream:r};function t(r,i){if(!(this instanceof t))return new t(r,i);n.call(this);var a=this;this.path=r,this.fd=null,this.readable=!0,this.paused=!1,this.flags=`r`,this.mode=438,this.bufferSize=65536,i||={};for(var o=Object.keys(i),s=0,c=o.length;s<c;s++){var l=o[s];this[l]=i[l]}if(this.encoding&&this.setEncoding(this.encoding),this.start!==void 0){if(typeof this.start!=`number`)throw TypeError(`start must be a Number`);if(this.end===void 0)this.end=1/0;else if(typeof this.end!=`number`)throw TypeError(`end must be a Number`);if(this.start>this.end)throw Error(`start must be <= end`);this.pos=this.start}if(this.fd!==null){process.nextTick(function(){a._read()});return}e.open(this.path,this.flags,this.mode,function(e,t){if(e){a.emit(`error`,e),a.readable=!1;return}a.fd=t,a.emit(`open`,t),a._read()})}function r(t,i){if(!(this instanceof r))return new r(t,i);n.call(this),this.path=t,this.fd=null,this.writable=!0,this.flags=`w`,this.encoding=`binary`,this.mode=438,this.bytesWritten=0,i||={};for(var a=Object.keys(i),o=0,s=a.length;o<s;o++){var c=a[o];this[c]=i[c]}if(this.start!==void 0){if(typeof this.start!=`number`)throw TypeError(`start must be a Number`);if(this.start<0)throw Error(`start must be >= zero`);this.pos=this.start}this.busy=!1,this._queue=[],this.fd===null&&(this._open=e.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}})),mv=E(((e,t)=>{t.exports=r;var n=Object.getPrototypeOf||function(e){return e.__proto__};function r(e){if(typeof e!=`object`||!e)return e;if(e instanceof Object)var t={__proto__:n(e)};else var t=Object.create(null);return Object.getOwnPropertyNames(e).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}),t}})),hv=E(((e,t)=>{var n=je(`fs`),r=fv(),i=pv(),a=mv(),o=je(`util`),s,c;typeof Symbol==`function`&&typeof Symbol.for==`function`?(s=Symbol.for(`graceful-fs.queue`),c=Symbol.for(`graceful-fs.previous`)):(s=`___graceful-fs.queue`,c=`___graceful-fs.previous`);function l(){}function u(e,t){Object.defineProperty(e,s,{get:function(){return t}})}var d=l;o.debuglog?d=o.debuglog(`gfs4`):/\bgfs4\b/i.test(process.env.NODE_DEBUG||``)&&(d=function(){var e=o.format.apply(o,arguments);e=`GFS4: `+e.split(/\n/).join(`
|
|
242
|
+
GFS4: `),console.error(e)}),n[s]||(u(n,global[s]||[]),n.close=(function(e){function t(t,r){return e.call(n,t,function(e){e||h(),typeof r==`function`&&r.apply(this,arguments)})}return Object.defineProperty(t,c,{value:e}),t})(n.close),n.closeSync=(function(e){function t(t){e.apply(n,arguments),h()}return Object.defineProperty(t,c,{value:e}),t})(n.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||``)&&process.on(`exit`,function(){d(n[s]),je(`assert`).equal(n[s].length,0)})),global[s]||u(global,n[s]),t.exports=f(a(n)),process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!n.__patched&&(t.exports=f(n),n.__patched=!0);function f(e){r(e),e.gracefulify=f,e.createReadStream=C,e.createWriteStream=ne;var t=e.readFile;e.readFile=n;function n(e,n,r){return typeof n==`function`&&(r=n,n=null),i(e,n,r);function i(e,n,r,a){return t(e,n,function(t){t&&(t.code===`EMFILE`||t.code===`ENFILE`)?p([i,[e,n,r],t,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var a=e.writeFile;e.writeFile=o;function o(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,o){return a(e,t,n,function(a){a&&(a.code===`EMFILE`||a.code===`ENFILE`)?p([i,[e,t,n,r],a,o||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var s=e.appendFile;s&&(e.appendFile=c);function c(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,a){return s(e,t,n,function(o){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?p([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var l=e.copyFile;l&&(e.copyFile=u);function u(e,t,n,r){return typeof n==`function`&&(r=n,n=0),i(e,t,n,r);function i(e,t,n,r,a){return l(e,t,n,function(o){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?p([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}var d=e.readdir;e.readdir=h;var m=/^v[0-5]\./;function h(e,t,n){typeof t==`function`&&(n=t,t=null);var r=m.test(process.version)?function(e,t,n,r){return d(e,i(e,t,n,r))}:function(e,t,n,r){return d(e,t,i(e,t,n,r))};return r(e,t,n);function i(e,t,n,i){return function(a,o){a&&(a.code===`EMFILE`||a.code===`ENFILE`)?p([r,[e,t,n],a,i||Date.now(),Date.now()]):(o&&o.sort&&o.sort(),typeof n==`function`&&n.call(this,a,o))}}}if(process.version.substr(0,4)===`v0.8`){var g=i(e);x=g.ReadStream,S=g.WriteStream}var _=e.ReadStream;_&&(x.prototype=Object.create(_.prototype),x.prototype.open=ee);var v=e.WriteStream;v&&(S.prototype=Object.create(v.prototype),S.prototype.open=te),Object.defineProperty(e,"ReadStream",{get:function(){return x},set:function(e){x=e},enumerable:!0,configurable:!0}),Object.defineProperty(e,"WriteStream",{get:function(){return S},set:function(e){S=e},enumerable:!0,configurable:!0});var y=x;Object.defineProperty(e,"FileReadStream",{get:function(){return y},set:function(e){y=e},enumerable:!0,configurable:!0});var b=S;Object.defineProperty(e,"FileWriteStream",{get:function(){return b},set:function(e){b=e},enumerable:!0,configurable:!0});function x(e,t){return this instanceof x?(_.apply(this,arguments),this):x.apply(Object.create(x.prototype),arguments)}function ee(){var e=this;re(e.path,e.flags,e.mode,function(t,n){t?(e.autoClose&&e.destroy(),e.emit(`error`,t)):(e.fd=n,e.emit(`open`,n),e.read())})}function S(e,t){return this instanceof S?(v.apply(this,arguments),this):S.apply(Object.create(S.prototype),arguments)}function te(){var e=this;re(e.path,e.flags,e.mode,function(t,n){t?(e.destroy(),e.emit(`error`,t)):(e.fd=n,e.emit(`open`,n))})}function C(t,n){return new e.ReadStream(t,n)}function ne(t,n){return new e.WriteStream(t,n)}var w=e.open;e.open=re;function re(e,t,n,r){return typeof n==`function`&&(r=n,n=null),i(e,t,n,r);function i(e,t,n,r,a){return w(e,t,n,function(o,s){o&&(o.code===`EMFILE`||o.code===`ENFILE`)?p([i,[e,t,n,r],o,a||Date.now(),Date.now()]):typeof r==`function`&&r.apply(this,arguments)})}}return e}function p(e){d(`ENQUEUE`,e[0].name,e[1]),n[s].push(e),g()}var m;function h(){for(var e=Date.now(),t=0;t<n[s].length;++t)n[s][t].length>2&&(n[s][t][3]=e,n[s][t][4]=e);g()}function g(){if(clearTimeout(m),m=void 0,n[s].length!==0){var e=n[s].shift(),t=e[0],r=e[1],i=e[2],a=e[3],o=e[4];if(a===void 0)d(`RETRY`,t.name,r),t.apply(null,r);else if(Date.now()-a>=6e4){d(`TIMEOUT`,t.name,r);var c=r.pop();typeof c==`function`&&c.call(null,i)}else{var l=Date.now()-o,u=Math.max(o-a,1);l>=Math.min(u*1.2,100)?(d(`RETRY`,t.name,r),t.apply(null,r.concat([a]))):n[s].push(e)}m===void 0&&(m=setTimeout(g,0))}}})),gv=E(((e,t)=>{function n(e,t){typeof t==`boolean`&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}t.exports=n,n.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts},n.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null},n.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error(`RetryOperation timeout occurred`)),!1;this._errors.push(e);var n=this._timeouts.shift();if(n===void 0){if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),n=this._timeouts.shift();else return!1}var r=this,i=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},n);return this._options.unref&&i.unref(),!0},n.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},n.prototype.try=function(e){console.log(`Using RetryOperation.try() is deprecated`),this.attempt(e)},n.prototype.start=function(e){console.log(`Using RetryOperation.start() is deprecated`),this.attempt(e)},n.prototype.start=n.prototype.try,n.prototype.errors=function(){return this._errors},n.prototype.attempts=function(){return this._attempts},n.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,n=0,r=0;r<this._errors.length;r++){var i=this._errors[r],a=i.message,o=(e[a]||0)+1;e[a]=o,o>=n&&(t=i,n=o)}return t}})),_v=E((e=>{var t=gv();e.operation=function(n){return new t(e.timeouts(n),{forever:n&&n.forever,unref:n&&n.unref,maxRetryTime:n&&n.maxRetryTime})},e.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var n in e)t[n]=e[n];if(t.minTimeout>t.maxTimeout)throw Error(`minTimeout is greater than maxTimeout`);for(var r=[],i=0;i<t.retries;i++)r.push(this.createTimeout(i,t));return e&&e.forever&&!r.length&&r.push(this.createTimeout(i,t)),r.sort(function(e,t){return e-t}),r},e.createTimeout=function(e,t){var n=t.randomize?Math.random()+1:1,r=Math.round(n*t.minTimeout*t.factor**+e);return r=Math.min(r,t.maxTimeout),r},e.wrap=function(t,n,r){if(n instanceof Array&&(r=n,n=null),!r)for(var i in r=[],t)typeof t[i]==`function`&&r.push(i);for(var a=0;a<r.length;a++){var o=r[a],s=t[o];t[o]=function(r){var i=e.operation(n),a=Array.prototype.slice.call(arguments,1),o=a.pop();a.push(function(e){i.retry(e)||(e&&(arguments[0]=i.mainError()),o.apply(this,arguments))}),i.attempt(function(){r.apply(t,a)})}.bind(t,s),t[o].options=n}}})),vv=E(((e,t)=>{t.exports=_v()})),yv=E(((e,t)=>{t.exports=[`SIGABRT`,`SIGALRM`,`SIGHUP`,`SIGINT`,`SIGTERM`],process.platform!==`win32`&&t.exports.push(`SIGVTALRM`,`SIGXCPU`,`SIGXFSZ`,`SIGUSR2`,`SIGTRAP`,`SIGSYS`,`SIGQUIT`,`SIGIOT`),process.platform===`linux`&&t.exports.push(`SIGIO`,`SIGPOLL`,`SIGPWR`,`SIGSTKFLT`,`SIGUNUSED`)})),bv=E(((e,t)=>{var n=global.process,r=function(e){return e&&typeof e==`object`&&typeof e.removeListener==`function`&&typeof e.emit==`function`&&typeof e.reallyExit==`function`&&typeof e.listeners==`function`&&typeof e.kill==`function`&&typeof e.pid==`number`&&typeof e.on==`function`};if(!r(n))t.exports=function(){return function(){}};else{var i=je(`assert`),a=yv(),o=/^win/i.test(n.platform),s=je(`events`);typeof s!=`function`&&(s=s.EventEmitter);var c;n.__signal_exit_emitter__?c=n.__signal_exit_emitter__:(c=n.__signal_exit_emitter__=new s,c.count=0,c.emitted={}),c.infinite||(c.setMaxListeners(1/0),c.infinite=!0),t.exports=function(e,t){if(!r(global.process))return function(){};i.equal(typeof e,`function`,`a callback must be provided for exit handler`),f===!1&&p();var n=`exit`;return t&&t.alwaysLast&&(n=`afterexit`),c.on(n,e),function(){c.removeListener(n,e),c.listeners(`exit`).length===0&&c.listeners(`afterexit`).length===0&&l()}};var l=function(){f&&r(global.process)&&(f=!1,a.forEach(function(e){try{n.removeListener(e,d[e])}catch{}}),n.emit=g,n.reallyExit=m,--c.count)};t.exports.unload=l;var u=function(e,t,n){c.emitted[e]||(c.emitted[e]=!0,c.emit(e,t,n))},d={};a.forEach(function(e){d[e]=function(){r(global.process)&&n.listeners(e).length===c.count&&(l(),u(`exit`,null,e),u(`afterexit`,null,e),o&&e===`SIGHUP`&&(e=`SIGINT`),n.kill(n.pid,e))}}),t.exports.signals=function(){return a};var f=!1,p=function(){!f&&r(global.process)&&(f=!0,c.count+=1,a=a.filter(function(e){try{return n.on(e,d[e]),!0}catch{return!1}}),n.emit=_,n.reallyExit=h)};t.exports.load=p;var m=n.reallyExit,h=function(e){r(global.process)&&(n.exitCode=e||0,u(`exit`,n.exitCode,null),u(`afterexit`,n.exitCode,null),m.call(n,n.exitCode))},g=n.emit,_=function(e,t){if(e===`exit`&&r(global.process)){t!==void 0&&(n.exitCode=t);var i=g.apply(this,arguments);return u(`exit`,n.exitCode,null),u(`afterexit`,n.exitCode,null),i}return g.apply(this,arguments)}}})),xv=E(((e,t)=>{var n=Symbol();function r(e,t,r){let i=t[n];if(i)return t.stat(e,(e,t)=>{if(e)return r(e);r(null,t.mtime,i)});let a=new Date(Math.ceil(Date.now()/1e3)*1e3+5);t.utimes(e,a,a,i=>{if(i)return r(i);t.stat(e,(e,i)=>{if(e)return r(e);let a=i.mtime.getTime()%1e3==0?`s`:`ms`;Object.defineProperty(t,n,{value:a}),r(null,i.mtime,a)})})}function i(e){let t=Date.now();return e===`s`&&(t=Math.ceil(t/1e3)*1e3),new Date(t)}t.exports.probe=r,t.exports.getMtime=i})),Sv=E(((e,t)=>{var n=je(`path`),r=hv(),i=vv(),a=bv(),o=xv(),s={};function c(e,t){return t.lockfilePath||`${e}.lock`}function l(e,t,r){if(!t.realpath)return r(null,n.resolve(e));t.fs.realpath(e,r)}function u(e,t,n){let r=c(e,t);t.fs.mkdir(r,i=>{if(!i)return o.probe(r,t.fs,(e,i,a)=>{if(e)return t.fs.rmdir(r,()=>{}),n(e);n(null,i,a)});if(i.code!==`EEXIST`)return n(i);if(t.stale<=0)return n(Object.assign(Error(`Lock file is already being held`),{code:`ELOCKED`,file:e}));t.fs.stat(r,(r,i)=>{if(r)return r.code===`ENOENT`?u(e,{...t,stale:0},n):n(r);if(!d(i,t))return n(Object.assign(Error(`Lock file is already being held`),{code:`ELOCKED`,file:e}));f(e,t,r=>{if(r)return n(r);u(e,{...t,stale:0},n)})})})}function d(e,t){return e.mtime.getTime()<Date.now()-t.stale}function f(e,t,n){t.fs.rmdir(c(e,t),e=>{if(e&&e.code!==`ENOENT`)return n(e);n()})}function p(e,t){let n=s[e];n.updateTimeout||(n.updateDelay=n.updateDelay||t.update,n.updateTimeout=setTimeout(()=>{n.updateTimeout=null,t.fs.stat(n.lockfilePath,(r,i)=>{let a=n.lastUpdate+t.stale<Date.now();if(r)return r.code===`ENOENT`||a?m(e,n,Object.assign(r,{code:`ECOMPROMISED`})):(n.updateDelay=1e3,p(e,t));if(n.mtime.getTime()!==i.mtime.getTime())return m(e,n,Object.assign(Error(`Unable to update lock within the stale threshold`),{code:`ECOMPROMISED`}));let s=o.getMtime(n.mtimePrecision);t.fs.utimes(n.lockfilePath,s,s,r=>{let i=n.lastUpdate+t.stale<Date.now();if(!n.released){if(r)return r.code===`ENOENT`||i?m(e,n,Object.assign(r,{code:`ECOMPROMISED`})):(n.updateDelay=1e3,p(e,t));n.mtime=s,n.lastUpdate=Date.now(),n.updateDelay=null,p(e,t)}})})},n.updateDelay),n.updateTimeout.unref&&n.updateTimeout.unref())}function m(e,t,n){t.released=!0,t.updateTimeout&&clearTimeout(t.updateTimeout),s[e]===t&&delete s[e],t.options.onCompromised(n)}function h(e,t,n){t={stale:1e4,update:null,realpath:!0,retries:0,fs:r,onCompromised:e=>{throw e},...t},t.retries=t.retries||0,t.retries=typeof t.retries==`number`?{retries:t.retries}:t.retries,t.stale=Math.max(t.stale||0,2e3),t.update=t.update==null?t.stale/2:t.update||0,t.update=Math.max(Math.min(t.update,t.stale/2),1e3),l(e,t,(e,r)=>{if(e)return n(e);let a=i.operation(t.retries);a.attempt(()=>{u(r,t,(e,i,o)=>{if(a.retry(e))return;if(e)return n(a.mainError());let l=s[r]={lockfilePath:c(r,t),mtime:i,mtimePrecision:o,options:t,lastUpdate:Date.now()};p(r,t),n(null,e=>{if(l.released)return e&&e(Object.assign(Error(`Lock is already released`),{code:`ERELEASED`}));g(r,{...t,realpath:!1},e)})})})})}function g(e,t,n){t={fs:r,realpath:!0,...t},l(e,t,(e,r)=>{if(e)return n(e);let i=s[r];if(!i)return n(Object.assign(Error(`Lock is not acquired/owned by you`),{code:`ENOTACQUIRED`}));i.updateTimeout&&clearTimeout(i.updateTimeout),i.released=!0,delete s[r],f(r,t,n)})}function _(e,t,n){t={stale:1e4,realpath:!0,fs:r,...t},t.stale=Math.max(t.stale||0,2e3),l(e,t,(e,r)=>{if(e)return n(e);t.fs.stat(c(r,t),(e,r)=>e?e.code===`ENOENT`?n(null,!1):n(e):n(null,!d(r,t)))})}function v(){return s}a(()=>{for(let e in s){let t=s[e].options;try{t.fs.rmdirSync(c(e,t))}catch{}}}),t.exports.lock=h,t.exports.unlock=g,t.exports.check=_,t.exports.getLocks=v})),Cv=E(((e,t)=>{var n=hv();function r(e){let t=[`mkdir`,`realpath`,`stat`,`rmdir`,`utimes`],n={...e};return t.forEach(t=>{n[t]=(...n)=>{let r=n.pop(),i;try{i=e[`${t}Sync`](...n)}catch(e){return r(e)}r(null,i)}}),n}function i(e){return(...t)=>new Promise((n,r)=>{t.push((e,t)=>{e?r(e):n(t)}),e(...t)})}function a(e){return(...t)=>{let n,r;if(t.push((e,t)=>{n=e,r=t}),e(...t),n)throw n;return r}}function o(e){if(e={...e},e.fs=r(e.fs||n),typeof e.retries==`number`&&e.retries>0||e.retries&&typeof e.retries.retries==`number`&&e.retries.retries>0)throw Object.assign(Error(`Cannot use retries with the sync api`),{code:`ESYNC`});return e}t.exports={toPromise:i,toSync:a,toSyncOptions:o}})),wv=ke(E(((e,t)=>{var n=Sv(),{toPromise:r,toSync:i,toSyncOptions:a}=Cv();async function o(e,t){return r(await r(n.lock)(e,t))}function s(e,t){return i(i(n.lock)(e,a(t)))}function c(e,t){return r(n.unlock)(e,t)}function l(e,t){return i(n.unlock)(e,a(t))}function u(e,t){return r(n.check)(e,t)}function d(e,t){return i(n.check)(e,a(t))}t.exports=o,t.exports.lock=o,t.exports.unlock=c,t.exports.lockSync=s,t.exports.unlockSync=l,t.exports.check=u,t.exports.checkSync=d}))(),1),Tv={realpath:!1,retries:0,stale:1e4},Ev=200;async function Dv(e,{onCompromised:t,onReleaseError:n,onTimeout:r,operation:i,projectRoot:a,timeout:o}){let s=a??process.cwd(),c=T(s,e),l=null,u=typeof o==`number`&&o>0?o:null,d=u===null?null:Math.ceil(u/Ev),f=0,p=u===null?null:Date.now()+u,m=!1;try{for(;;){if(d!==null&&f>=d)throw Error(`Lock acquisition timeout after ${u===null?`unknown`:String(u)}ms on ${c}. Another process may be holding the lock.`);f+=1,Ug(`Acquiring lock on ${c}... (attempt ${d===null?String(f):`${String(f)}/${String(d)}`})`);try{l=await wv.lock(c,{...Tv,...t===void 0?{}:{onCompromised:t}}),Ug(`Lock acquired on ${c}`);break}catch(e){if(!kv(e))throw e;m||=(Gg(`Unable to acquire lock on ${c} - another agent is modifying it. Retrying...`),!0),p!==null&&u!==null&&Date.now()>=p&&(r?.(),p=Date.now()+u),await Ov(Ev)}}return await i()}finally{if(l!==null)try{await l(),Ug(`Lock released on ${c}`)}catch(e){n?.(e),Ug(`Failed to release lock on ${c}: ${e instanceof Error?e.message:String(e)}`)}}}function Ov(e){return new Promise(t=>setTimeout(t,e))}function kv(e){return typeof e!=`object`||!e?!1:e.code===`ELOCKED`}var Av=`${uv}/worktrees.json`,jv=`Worktree registry locked by another process. Retrying...`,Mv=P({branch:k().min(1),createdAt:k().min(1),identity:k().min(1),issueNumber:A().int().positive(),path:k().min(1),prNumber:A().int().positive().optional(),status:F([`active`,`error`,`merged`,`pr-published`,`stale`]),type:I(`issue`),updatedAt:k().min(1)}).transform(({prNumber:e,...t})=>({...t,...e===void 0?{}:{prNumber:e}})),Nv=P({schemaVersion:I(`ai-delivery.committed-continuation-plan@1`),planId:R,repository:k().min(1),repoRoot:k().min(1),configDigest:R,currentRuntime:rv,row:Mv,replacement:Mv,head:Cu,terminalHead:Cu,terminalMergeId:R,operator:P({actorLogin:k().min(1),credentialIdentity:k().regex(/^user:[1-9]\d*$/u)}),reviewerActor:k().min(1),preserved:M(P({path:k().min(1),digest:R})).min(1)}).superRefine((e,t)=>{let{planId:n,...r}=e,{prNumber:i,identity:a,status:o,updatedAt:s,...c}=e.row,{identity:l,status:u,updatedAt:d,...f}=e.replacement;(n!==B(r)||e.row.status!==`merged`||!e.row.prNumber||e.replacement.status!==`active`||e.replacement.prNumber!==void 0||z(c)!==z(f)||e.head.sha===e.terminalHead.sha||new Set(e.preserved.map(e=>e.path)).size!==e.preserved.length)&&t.addIssue({code:`custom`,message:`Committed continuation plan identity or disposition is invalid.`})}),Pv=P({schemaVersion:I(`ai-delivery.committed-continuation-intent@1`),intentId:R,plan:Nv,authorityCommentId:A().int().positive(),acceptanceCommentId:A().int().positive()}).superRefine(({intentId:e,...t},n)=>{e!==B(t)&&n.addIssue({code:`custom`,message:`Continuation intent identity is invalid.`})}),Fv=P({schemaVersion:I(`ai-delivery.committed-continuation-completion@1`),completionId:R,intentId:R,planId:R,row:Mv,head:Cu,completed:I(!0)}).superRefine(({completionId:e,...t},n)=>{e!==B(t)&&n.addIssue({code:`custom`,message:`Continuation completion identity is invalid.`})});function Iv(e,t,n){return w(W(e),`ai-delivery`,`continuations`,String(t),`${n}.plan.json`)}function Lv(e){return Iv(e.repoRoot,e.row.issueNumber,e.head.sha).replace(/\.plan\.json$/u,`.intent.json`)}function Rv(e){return Lv(e).replace(/\.intent\.json$/u,`.completion.json`)}function zv(e,t){return w(W(e.repoRoot),`ai-delivery`,`continuations`,`evidence`,`${t.slice(7)}.bin`)}function Bv(e,t=!1){for(let n of e.preserved)if(V(H(n.path))!==n.digest||t&&V(H(zv(e,n.digest)))!==n.digest)throw Error(`Committed continuation original evidence changed.`);if(t){let t=Buffer.from(z(e.row));if(!H(zv(e,V(t))).equals(t))throw Error(`Committed continuation original row beforeimage changed.`)}}function Vv(e,t){let r=w(W(t),`ai-delivery`,`continuations`,String(e));if(!n(r))return;let i;for(let a of f(r).filter(e=>e.endsWith(`.intent.json`)).sort()){let o=Pv.parse(JSON.parse(H(w(r,a)).toString(`utf8`))),s=o.plan;if(s.repoRoot!==T(t)||s.row.issueNumber!==e||w(r,a)!==Lv(s))throw Error(`Committed continuation checkpoint identity disagrees.`);Bv(s,!0);let c=Rv(s);if(n(c)){let e=Fv.parse(JSON.parse(H(c).toString(`utf8`)));if(e.intentId!==o.intentId||e.planId!==s.planId||z(e.row)!==z(s.replacement)||z(e.head)!==z(s.head))throw Error(`Committed continuation completion disagrees with its intent.`);Kv(s.replacement,t),Zv(t,r,!1),Zv(t,C(zv(s,s.preserved[0].digest)),!1),Xv(c)}else{if(i)throw Error(`Issue has multiple incomplete committed continuations.`);i=o}}return i}function Hv(e){if(!e.identity)throw Error(`ai-delivery worktree ownership requires the preparing identity.`);return{branch:e.branch,identity:e.identity,...e.issueNumber===void 0?{}:{issueNumber:e.issueNumber},path:e.path,...e.prNumber===void 0||e.type===`issue`?{}:{prNumber:e.prNumber},schemaVersion:`ai-delivery.worktree-owner@1`,type:e.type}}function Uv(e,t){let n=B(Hv(t)).slice(7);return w(W(e),`ai-delivery`,`worktree-owners`,`${n}.json`)}function Wv(e,t){if(e.type!==`issue`||e.issueNumber===void 0)return;let n=w(W(t),`ai-delivery`,`worktree-owners`,`issue-${String(e.issueNumber)}.transition.json`);try{o(n)}catch(e){if(e.code===`ENOENT`)return;throw Error(`Worktree transition is incomplete or unreadable.`)}try{let r=JSON.parse(H(n).toString(`utf8`)),{intentId:i,...a}=r,{planId:o,...s}=r.plan;if(r.schemaVersion!==`ai-delivery.worktree-transition-intent@1`||i!==B(a)||o!==B(s)||r.plan.repoRoot!==T(t)||r.plan.row.issueNumber!==e.issueNumber)throw Error(`Invalid transition intent.`);if(r.plan.purpose===`merged-cleanup`)throw Error(`Worktree transition is terminal and cannot authorize ordinary source operations.`);let c=w(`${n}.evidence`,`completion.json`),l=JSON.parse(H(c).toString(`utf8`)),{completionId:u,...d}=l;if(l.schemaVersion!==`ai-delivery.worktree-transition-completion@1`||l.planId!==o||l.intentId!==i||l.completed!==!0||u!==B(d)||JSON.stringify(Hv(e))!==JSON.stringify(Hv(r.plan.row)))throw Error(`Invalid transition completion.`);return}catch(e){throw e instanceof Error&&e.message.includes(`transition is terminal`)?e:Error(`Worktree transition is incomplete or unreadable; resume its exact approved plan.`)}}function Gv(e,t){if(Wv(e,t),e.issueNumber!==void 0&&Vv(e.issueNumber,t))throw Error(`Committed continuation is pending or incomplete; resume supported develop.`);Kv(e,t)}function Kv(e,t){let n=Hv(e),r=Uv(t,e),i;try{i=JSON.parse(H(r).toString(`utf8`))}catch{throw Error(`Worktree lacks its exact ai-delivery ownership witness.`)}if(JSON.stringify(i)!==JSON.stringify({...n,ownerId:B(n)}))throw Error(`Worktree ownership witness disagrees with the canonical registry identity.`)}function qv(e,t,n=!1){if(Vv(e,t)&&!n)throw Error(`Committed continuation is pending or incomplete; resume supported develop.`);let r=w(W(t),`ai-delivery`,`worktree-owners`,`issue-${String(e)}.transition.json`);try{o(r)}catch(e){if(e.code===`ENOENT`)return;throw Error(`Worktree transition is incomplete or unreadable.`)}let i;try{if(i=JSON.parse(H(r).toString(`utf8`)).plan.row,i.type!==`issue`||i.issueNumber!==e)throw Error(`Transition embedded issue identity disagrees.`)}catch{throw Error(`Worktree transition is incomplete or unreadable.`)}Wv(i,t)}function Jv(e,t,n=!1){let r=Hv(e);Au(Uv(t,e),Buffer.from(JSON.stringify({...r,ownerId:B(r)}))),n||Gv(e,t)}function Yv(e,t){let n=()=>{if(z(JSON.parse(H(e).toString(`utf8`)))!==z(t))throw Error(`Committed continuation checkpoint changed.`)};try{n()}catch(r){if(r.code!==`ENOENT`)throw r;I_(e,t),n()}Xv(e)}function Xv(e){let n=l(C(e),`r`);try{i(n)}finally{t(n)}}function Zv(e,t,n=!0){let r=w(W(e),`ai-delivery`),i=[r,w(r,`continuations`),t],a=(e,t)=>{let n;try{n=o(e)}catch(e){if(t&&e.code===`ENOENT`)return;throw e}if(!n.isDirectory()||n.isSymbolicLink()||e!==r&&n.mode&63)throw Error(`Committed continuation evidence requires a private directory.`)};for(let e of i)a(e,n&&e!==r);n&&P_(t);for(let e of i)a(e,!1),Xv(e)}async function Qv(e,t,n){return uy(e),Dv(Av,{projectRoot:e,timeout:5e3,operation:async()=>{let r=Vv(t,e),i=r,a,o=()=>{let n=hy(e),r=n.worktrees.filter(e=>e.type===`issue`&&e.issueNumber===t),i=r[0];if(r.length!==1||!i)throw Error(`Committed continuation requires one exact canonical issue row.`);if(n.worktrees.some(e=>e!==i&&by(e,i)))throw Error(`Committed continuation overlaps another canonical owner.`);return Wv(i,e),Kv(i,e),{registry:n,row:i}};if(a=o().row,r&&![r.plan.row,r.plan.replacement].some(e=>z(e)===z(a)))throw Error(`Committed continuation canonical row drifted.`);let s=r?.plan.row??a;Kv(s,e);let c=Uv(e,s),l={path:c,digest:V(H(c))};return n({current:a,pending:r,ownerWitness:l,prepare:()=>Zv(e,w(W(e),`ai-delivery`,`continuations`,String(t))),begin:(n,r)=>{let a=Nv.parse(n);if(a.repoRoot!==T(e)||a.row.issueNumber!==t||z(a.row)!==z(s)||!a.preserved.some(e=>z(e)===z(l)))throw Error(`Committed continuation lacks exact original custody.`);let o={schemaVersion:`ai-delivery.committed-continuation-intent@1`,plan:a,...r},c=Pv.parse({...o,intentId:B(o)});if(i&&z(c)!==z(i))throw Error(`Committed continuation intent drifted.`);Bv(a),Zv(e,C(zv(a,a.preserved[0].digest)));for(let e of a.preserved)Au(zv(a,e.digest),H(e.path),e.digest);let u=Buffer.from(z(a.row));Au(zv(a,V(u)),u,V(u)),Yv(Lv(a),c),i=c},commit:()=>{if(!i)throw Error(`Committed continuation lacks its durable intent.`);let{registry:t,row:n}=o();if(z(n)!==z(a))throw Error(`Committed continuation canonical row changed before commit.`);Bv(i.plan,!0);let r=Hv(i.plan.replacement);Yv(Uv(e,i.plan.replacement),{...r,ownerId:B(r)}),t.worktrees.splice(t.worktrees.indexOf(n),1,i.plan.replacement),Ty(e,t),a=i.plan.replacement},complete:()=>{if(!i||z(o().row)!==z(i.plan.replacement))throw Error(`Committed continuation replacement row is incomplete.`);Bv(i.plan,!0),Kv(i.plan.replacement,e);let t={schemaVersion:`ai-delivery.committed-continuation-completion@1`,intentId:i.intentId,planId:i.plan.planId,row:i.plan.replacement,head:i.plan.head,completed:!0};Yv(Rv(i.plan),{...t,completionId:B(t)})}})}})}async function $v(e,t){let n=e.repoRoot;if(Vv(e.row.issueNumber,n))throw Error(`Committed continuation is pending or incomplete; resume supported develop.`);return uy(n),Dv(Av,{projectRoot:n,timeout:5e3,operation:async()=>{let r=hy(n),i=r.worktrees.filter(t=>t.type===`issue`&&t.issueNumber===e.row.issueNumber);if(i.length>1)throw Error(`Transition has duplicate canonical issue rows.`);if(r.worktrees.some(t=>!i.includes(t)&&by(t,e.row)))throw Error(`Transition conflicts with another canonical registry path, branch or PR identity.`);let a=i[0],o={...e.row,...e.row.prNumber===void 0?{}:{prNumber:e.row.prNumber}},s=e.purpose===`active-resume`?o:{...o,prNumber:e.terminalPrNumber,status:`merged`};if(a!==void 0&&![o,s].some(e=>z(a)===z(e)))throw Error(`Transition canonical row drifted.`);let c=w(W(n),`ai-delivery`,`worktree-owners`,`issue-${String(e.row.issueNumber)}.transition.json`),l=()=>{if(JSON.parse(H(c).toString(`utf8`)).plan?.planId!==e.planId)throw Error(`Transition lacks its exact durable intent.`)};return t({current:a,writeOwner:()=>{l(),Jv(s,n,!0)},commitRow:()=>{if(l(),a===void 0)throw Error(`Transition cannot recreate a removed canonical row.`);return r.worktrees.splice(r.worktrees.indexOf(a),1,s),a=s,Ty(n,r),s},removeRow:()=>{if(l(),e.purpose!==`merged-cleanup`||e.disposition!==`remove`||e.retainedHoldCommentIds.length!==0)throw Error(`Transition lacks explicit unheld terminal source disposition.`);a!==void 0&&(r.worktrees.splice(r.worktrees.indexOf(a),1),Ty(n,r),a=void 0)}})}})}function ey(e){let t=e.row,n=Hv(t);if(z(JSON.parse(H(Uv(e.repoRoot,t)).toString(`utf8`)))!==z({...n,ownerId:B(n)}))throw Error(`Sealed transition owner witness drifted.`)}async function ty(e,t){let n=t??process.cwd(),r={...e,status:e.status,updatedAt:e.updatedAt};uy(n),await Dv(Av,{onTimeout:()=>{Gg(jv)},operation:()=>{Wv(r,n);let e=hy(n),t=e.worktrees.filter(e=>by(e,r)),[i]=t;if(t.length>0){if(t.length===1&&i!==void 0&&dy(i,r)){Gv(i,n),Wg(`Worktree already registered: ${r.path}`);return}if(t.length===1&&i!==void 0&&fy(i,r)){Gv(i,n);let t=e.worktrees.indexOf(i);e.worktrees.splice(t,1,{...r,createdAt:i.createdAt}),Ty(n,e),Wg(`Reactivated merged issue worktree: ${r.path}`);return}throw Error(`New worktree entry conflicts with existing canonical registry identity: ${r.path}.`)}Jv(r,n),e.worktrees.push(r),Wg(`Added to worktree registry: ${r.path}`),Ty(n,e)},projectRoot:n,timeout:5e3})}function ny(e,t){let n=t??process.cwd(),r=hy(n).worktrees.filter(t=>t.type===`issue`&&t.issueNumber===e),i=r[0];if(r.length!==1||i===void 0)throw Error(`Expected exactly one canonical registry row for issue #${String(e)}; found ${String(r.length)}.`);return Gv(i,n),i}function ry(e,t){if(qv(e,t),ay(t).filter(t=>t.type===`issue`&&t.issueNumber===e).length>1)throw Error(`Issue #${String(e)} has duplicate worktree owners.`)}function iy(e,t){return my(t??process.cwd()).worktrees.find(t=>t.type===`issue`&&t.issueNumber===e)??null}function ay(e){return hy(e??process.cwd()).worktrees}async function oy(e,t){let n=t??process.cwd();return uy(n),await Dv(Av,{onTimeout:()=>{Gg(jv)},operation:()=>{let t=hy(n),r=t.worktrees.filter(t=>t.path===e);if(r.length>1)throw Error(`Worktree registry contains duplicate paths.`);return r[0]!==void 0&&(Gv(r[0],n),t.worktrees=t.worktrees.filter(t=>t.path!==e),Ty(n,t),Wg(`Removed from worktree registry: ${e}`),!0)},projectRoot:n,timeout:5e3})}async function sy(e){let{branch:t,issueNumber:n,path:r,status:i}=e,a=e.projectRoot??process.cwd();uy(a),await Dv(Av,{onTimeout:()=>{Gg(jv)},operation:()=>{let o=hy(a),s=xy({branch:t,issueNumber:n,path:r,registry:o}),c=o.worktrees[s];if(c===void 0)throw Error(`Canonical registry row for issue #${String(n)} disappeared during transition.`);Gv(c,a),ly({entry:c,options:e}),o.worktrees.splice(s,1,{...c,...e.status===`pr-published`?{prNumber:e.prNumber}:{},status:i,updatedAt:new Date().toISOString()}),Ty(a,o),cy({options:e,registry:hy(a)})},projectRoot:a,timeout:5e3})}function cy({options:e,registry:t}){let n=t.worktrees.filter(t=>t.type===`issue`&&t.issueNumber===e.issueNumber),r=n[0];if(n.length!==1||r===void 0||r.branch!==e.branch||r.path!==e.path||r.status!==e.status||e.status===`pr-published`&&r.prNumber!==e.prNumber)throw Error(`Canonical registry transition readback failed for issue #${String(e.issueNumber)}.`)}function ly({entry:e,options:t}){if(t.status===`pr-published`){if(!Number.isSafeInteger(t.prNumber)||t.prNumber<=0)throw Error(`Canonical PR number must be a positive integer for issue #${String(t.issueNumber)}.`);if(e.status===`active`&&e.prNumber===void 0||e.status===`pr-published`&&e.prNumber===t.prNumber)return;throw e.status===`pr-published`&&e.prNumber!==void 0?Error(`Issue #${String(t.issueNumber)} cannot replace canonical PR #${String(e.prNumber)} with #${String(t.prNumber)}.`):Error(`Invalid issue delivery transition for #${String(t.issueNumber)}: ${e.status} -> pr-published.`)}if(!((e.status===`pr-published`||e.status===`merged`)&&e.prNumber!==void 0&&Number.isSafeInteger(e.prNumber)&&e.prNumber>0))throw Error(`Invalid issue delivery transition for #${String(t.issueNumber)}: ${e.status} -> merged.`)}function uy(e){dv(e)}function dy(e,t){return e.branch===t.branch&&e.identity===t.identity&&e.issueNumber===t.issueNumber&&e.path===t.path&&e.prNumber===t.prNumber&&e.status===t.status&&e.type===t.type}function fy(e,t){return e.branch===t.branch&&e.identity===t.identity&&e.issueNumber===t.issueNumber&&e.path===t.path&&e.prNumber!==void 0&&e.status===`merged`&&e.type===`issue`&&t.prNumber===void 0&&t.status===`active`&&t.type===`issue`}function py(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function my(e){let t=T(e,Av);if(!n(t))return{worktrees:[]};try{let e=u(t,`utf8`);return{worktrees:JSON.parse(e).worktrees.map(e=>{let t=gy(e.status);return{branch:e.branch,createdAt:e.createdAt,...e.identity===void 0?{}:{identity:e.identity},...e.issueNumber===void 0?{}:{issueNumber:e.issueNumber},path:e.path,...e.prNumber===void 0?{}:{prNumber:e.prNumber},status:t,type:e.type,updatedAt:e.updatedAt??e.createdAt}})}}catch(e){return Gg(`Failed to load worktree registry: ${e instanceof Error?e.message:String(e)}`),{worktrees:[]}}}function hy(e){let t=T(e,Av);if(!n(t))return{worktrees:[]};try{let e=u(t,`utf8`),n=JSON.parse(e);if(!py(n)||Object.keys(n).length!==1||!Array.isArray(n.worktrees))throw Error(`Registry must be an object with a worktrees array.`);return{worktrees:n.worktrees.map((e,t)=>_y(e,t))}}catch(e){throw Error(`Unable to read worktree registry: ${e instanceof Error?e.message:String(e)}`)}}function gy(e){if(e===`merged`||e===`pr-published`||e===`active`||e===`error`||e===`stale`)return e;throw Error(`Worktree registry status is invalid.`)}function _y(e,t){if(!py(e))throw Error(`worktrees[${String(t)}] must be an object.`);let n=new Set([`branch`,`createdAt`,`identity`,`issueNumber`,`path`,`prNumber`,`status`,`type`,`updatedAt`]),r=Object.keys(e).filter(e=>!n.has(e));if(r.length>0)throw Error(`worktrees[${String(t)}] has unsupported fields: ${r.join(`, `)}.`);let i=Sy(e.branch,`worktrees[${String(t)}].branch`),a=Sy(e.createdAt,`worktrees[${String(t)}].createdAt`),o=Sy(e.path,`worktrees[${String(t)}].path`),s=wy(e.type,`worktrees[${String(t)}].type`),c=Cy(e.status,`worktrees[${String(t)}].status`),l=yy(e.identity,`worktrees[${String(t)}].identity`),u=vy(e.issueNumber,`worktrees[${String(t)}].issueNumber`),d=vy(e.prNumber,`worktrees[${String(t)}].prNumber`),f=Sy(e.updatedAt,`worktrees[${String(t)}].updatedAt`);if(s===`issue`&&u===void 0)throw Error(`worktrees[${String(t)}].issueNumber is required for issue worktrees.`);return{branch:i,createdAt:a,...l===void 0?{}:{identity:l},...u===void 0?{}:{issueNumber:u},path:o,...d===void 0?{}:{prNumber:d},status:c,type:s,updatedAt:f}}function vy(e,t){if(e!==void 0){if(typeof e!=`number`||!Number.isSafeInteger(e)||e<=0)throw Error(`${t} must be a positive integer.`);return e}}function yy(e,t){if(e!==void 0)return Sy(e,t)}function by(e,t){return e.path===t.path||e.branch===t.branch||e.issueNumber!==void 0&&t.issueNumber!==void 0&&e.issueNumber===t.issueNumber||e.prNumber!==void 0&&t.prNumber!==void 0&&e.prNumber===t.prNumber}function xy({branch:e,issueNumber:t,path:n,registry:r}){let i=r.worktrees.flatMap((e,n)=>e.type===`issue`&&e.issueNumber===t?[n]:[]);if(i.length!==1)throw Error(`Expected exactly one canonical registry row for issue #${String(t)}; found ${String(i.length)}.`);let a=i[0],o=a===void 0?void 0:r.worktrees[a];if(a===void 0||o===void 0)throw Error(`Canonical registry row for issue #${String(t)} disappeared during transition.`);if(o.branch!==e||o.path!==n)throw Error(`Canonical registry row for issue #${String(t)} does not match branch ${e} and path ${n}.`);return a}function Sy(e,t){if(typeof e!=`string`||e.trim().length===0)throw Error(`${t} must be a non-empty string.`);return e}function Cy(e,t){if(e===`merged`||e===`pr-published`||e===`active`||e===`error`||e===`stale`)return e;throw Error(`${t} is invalid.`)}function wy(e,t){if(e===`issue`||e===`pr`||e===`standalone`)return e;throw Error(`${t} is invalid.`)}function Ty(e,t){uy(e);let n=T(e,Av);try{F_(n,t)}catch(e){throw Error(`Unable to save worktree registry: ${e instanceof Error?e.message:String(e)}`)}}var Ey=e=>w(W(e),`ai-delivery`,`deliveries.json`),Dy=6048e5,Oy=N({blockerTimeMs:A().int().nonnegative().nullable(),cycleTimeMs:A().int().nonnegative(),firstPassApproved:j().nullable(),issueNumber:A().int().positive(),mergedAt:vu(),mergeSha:k().regex(/^[0-9a-f]{40}$/u),points:A().int().positive().max(2**53-1),recordedAt:vu(),repository:k().regex(/^[^/\s]+\/[^/\s]+$/u),reviewRounds:A().int().positive().nullable(),schemaVersion:I(`ai-delivery.delivery-record@1`),terminalCleanupAt:vu()}).strict().superRefine((e,t)=>{Date.parse(e.terminalCleanupAt)<Date.parse(e.mergedAt)&&t.addIssue({code:`custom`,message:`Terminal cleanup cannot precede the merge.`,path:[`terminalCleanupAt`]}),Date.parse(e.recordedAt)<Date.parse(e.terminalCleanupAt)&&t.addIssue({code:`custom`,message:`Delivery recording cannot precede terminal cleanup.`,path:[`recordedAt`]})}),ky=N({records:M(Oy),schemaVersion:I(`ai-delivery.delivery-records@1`)}).strict();function Ay(e,t=new Date,n=[]){if(!Number.isFinite(t.getTime()))throw new L(`Velocity report requires a valid observation time.`);let r=t.getTime(),i=r-4*Dy,a=e.filter(e=>{let t=Date.parse(e.mergedAt);return t>=i&&t<r}),o=Array.from({length:4},(e,t)=>{let n=i+t*Dy,r=n+Dy;return{end:new Date(r).toISOString(),mergedPoints:a.filter(e=>{let t=Date.parse(e.mergedAt);return t>=n&&t<r}).reduce((e,t)=>e+t.points,0),start:new Date(n).toISOString()}}),s=Fy(o.map(e=>e.mergedPoints))??0;return{planningCapacityPoints:Math.floor(s*.8),pointBuckets:[...new Set([...n,...a.map(e=>e.points)])].sort((e,t)=>e-t).map(e=>Iy(e,a)),rollingFourWeekMedianPoints:s,schemaVersion:`ai-delivery.velocity-report@1`,weeks:o}}function jy(e=process.cwd()){let t=Ey(e);if(!n(t))return[];try{return ky.parse(JSON.parse(u(t,`utf8`))).records}catch(e){throw new L(`Delivery record store is invalid: ${e instanceof Error?e.message:String(e)}`)}}async function My(e,t=process.cwd()){if(e.length===0)throw new L(`Delivery recording requires at least one merged delivery.`);let n=e.map(e=>Oy.parse(e));return P_(w(W(t),`ai-delivery`)),await Dv(w(W(t),`ai-delivery`),{operation:()=>{let e=jy(t),r=[];for(let t of n){let n=[...e,...r].find(e=>Ly(e,t));if(n!==void 0&&!Ry(n,t))throw new L(`Delivery facts conflict with the existing immutable delivery record.`);n===void 0&&r.push(t)}r.length>0&&I_(Ey(t),{records:[...e,...r].sort(Py),schemaVersion:`ai-delivery.delivery-records@1`});let i=jy(t);return{records:n.map(e=>{let t=i.find(t=>Ly(t,e));if(t===void 0||!Ry(t,e))throw new L(`Delivery record readback did not match the merged delivery.`);return t}),state:r.length===0?`already-recorded`:`recorded`}},projectRoot:t,timeout:5e3})}async function Ny(e,t=process.cwd()){let n=await My([e],t),[r]=n.records;if(r===void 0)throw new L(`Delivery record batch did not return the merged delivery.`);return{record:r,state:n.state}}function Py(e,t){return e.repository.localeCompare(t.repository)||e.issueNumber-t.issueNumber||e.mergeSha.localeCompare(t.mergeSha)}function Fy(e){if(e.length===0)return null;let t=[...e].sort((e,t)=>e-t),n=Math.floor(t.length/2),r=t[n];if(r===void 0)return null;if(t.length%2==1)return r;let i=t[n-1];return i===void 0?r:(i+r)/2}function Iy(e,t){let n=t.filter(t=>t.points===e),r=n.flatMap(e=>e.blockerTimeMs===null?[]:[e.blockerTimeMs]),i=n.filter(e=>e.firstPassApproved!==null),a=n.flatMap(e=>e.reviewRounds===null?[]:[e.reviewRounds]);return{blockerMeasurementCount:r.length,deliveries:n.length,firstPassRate:i.length===0?null:i.filter(e=>e.firstPassApproved).length/i.length,meanReviewRounds:a.length===0?null:a.reduce((e,t)=>e+t,0)/a.length,medianBlockerTimeMs:Fy(r),medianCycleTimeMs:Fy(n.map(e=>e.cycleTimeMs)),points:e}}function Ly(e,t){return e.repository===t.repository&&e.issueNumber===t.issueNumber&&e.mergeSha===t.mergeSha}function Ry(e,t){return e.blockerTimeMs===t.blockerTimeMs&&e.cycleTimeMs===t.cycleTimeMs&&e.firstPassApproved===t.firstPassApproved&&e.issueNumber===t.issueNumber&&e.mergeSha===t.mergeSha&&e.mergedAt===t.mergedAt&&e.points===t.points&&e.repository===t.repository&&e.reviewRounds===t.reviewRounds}var zy=P({bounds:P({maxAggregateRssBytes:A().int().positive().safe(),maxNewOutputBytes:A().int().positive().safe().optional(),minFreeDiskBytes:A().int().positive().safe(),outputRoots:M(k().min(1)).min(1).optional()}),maxSampledAggregateRssBytes:A().int().nonnegative().safe().nullable(),maxSampledNewOutputBytes:A().int().nonnegative().safe().nullable(),minSampledFreeDiskBytes:A().int().nonnegative().safe().nullable(),observation:I(`sampled`),outputBaselineId:k().regex(/^sha256:[a-f0-9]{64}$/u).optional(),processCoverage:I(`observed-processes-only`),sampleCount:A().int().nonnegative().safe()}).superRefine((e,t)=>{(e.maxSampledAggregateRssBytes!==null&&e.maxSampledAggregateRssBytes>e.bounds.maxAggregateRssBytes||e.maxSampledNewOutputBytes!==null&&e.bounds.maxNewOutputBytes!==void 0&&e.maxSampledNewOutputBytes>e.bounds.maxNewOutputBytes||e.minSampledFreeDiskBytes!==null&&e.minSampledFreeDiskBytes<e.bounds.minFreeDiskBytes||e.sampleCount>0&&(e.maxSampledAggregateRssBytes===null||e.minSampledFreeDiskBytes===null)||e.bounds.maxNewOutputBytes!==void 0&&e.sampleCount>0&&e.maxSampledNewOutputBytes===null||e.bounds.maxNewOutputBytes!==void 0!=(e.outputBaselineId!==void 0))&&t.addIssue({code:`custom`,message:`Resource samples do not satisfy their declared bounds.`})}),By=P({checkpointId:k().regex(/^sha256:[a-f0-9]{64}$/u),receipt:Dh,resources:zy,schemaVersion:I(`ai-delivery.resource-stage@1`)});function Vy(e,t){return w(e,`ai-delivery`,`resource-stages@1`,`${t.inputId.slice(7)}.json`)}function Hy(e,t,n,r,i){let a;try{a=JSON.parse(u(Vy(e,n),`utf8`))}catch(e){if(e.code===`ENOENT`)return;throw new L(`Resource stage checkpoint is corrupt.`)}let o=By.parse(a),{checkpointId:s,...c}=o;if(s!==B(c)||o.receipt.input.inputId!==n.inputId||B(o.resources.bounds)!==B(r)||o.resources.outputBaselineId!==i||o.resources.sampleCount===0)throw new L(`Resource stage checkpoint is corrupt or belongs to another input.`);return Lh({gitCommonDir:e,receipt:o.receipt,repoRoot:t}),o}function Uy(e,t,n){if(n.sampleCount===0)throw new L(`Completed bounded stage lacks resource samples.`);let r={receipt:t,resources:zy.parse(n),schemaVersion:`ai-delivery.resource-stage@1`};I_(Vy(e,t.input),{...r,checkpointId:B(r)})}function Wy(e,t){if(e.sampleCount+=t.sampleCount,!Number.isSafeInteger(e.sampleCount))throw new L(`Resource sample count overflowed.`);t.maxSampledAggregateRssBytes!==null&&(e.maxSampledAggregateRssBytes=Math.max(e.maxSampledAggregateRssBytes??0,t.maxSampledAggregateRssBytes)),t.maxSampledNewOutputBytes!==null&&(e.maxSampledNewOutputBytes=Math.max(e.maxSampledNewOutputBytes??0,t.maxSampledNewOutputBytes)),t.minSampledFreeDiskBytes!==null&&(e.minSampledFreeDiskBytes=Math.min(e.minSampledFreeDiskBytes??t.minSampledFreeDiskBytes,t.minSampledFreeDiskBytes))}function Gy(e){let t=[[`maxAggregateRssBytes`,e.maxAggregateRssBytes],[`minFreeDiskBytes`,e.minFreeDiskBytes]];e.maxNewOutputBytes!==void 0&&t.push([`maxNewOutputBytes`,e.maxNewOutputBytes]);for(let[e,n]of t)if(!Number.isSafeInteger(n)||n<=0)throw new L(`Invalid ${e} resource bound.`);if(e.maxNewOutputBytes===void 0!=(e.outputRoots===void 0))throw new L(`Filesystem output limit and output roots must be supplied together.`);if(e.outputRoots!==void 0&&(e.outputRoots.length===0||e.outputRoots.some(e=>!e)))throw new L(`Filesystem output roots must be nonempty paths.`);if(process.platform===`win32`)throw new L(`Resource observation requires POSIX process support.`)}var Ky=`AI_DELIVERY_OUTPUT_OBSERVATION_GATE`,qy=P({pid:A().int().positive(),identity:k().min(1)}),Jy=P({directory:k().min(1),id:rl(),owner:qy}),Yy=P({gateId:rl(),id:rl(),kind:F([`scan`,`fixture`]),owner:qy});function Xy(){let e=gb().get(process.pid);if(!e)throw new L(`Filesystem observation gate owner is unavailable.`);return{pid:e.pid,identity:e.identity}}function Zy(e){let t=o(e);if(!t.isDirectory()||t.mode&63||m(e)!==e)throw new L(`Filesystem observation gate directory is invalid.`)}function Qy(e){try{let t=Jy.parse(JSON.parse(e));return eb(t),t}catch(e){throw new L(`Filesystem observation gate capability is invalid or stale: `+(e instanceof Error?e.message:String(e)))}}function $y(e,t=gb()){let n=t.get(e.pid);return n?.identity===e.identity&&!n.status.startsWith(`Z`)}function eb(e,t=!1){Zy(e.directory);let n=Jy.parse(JSON.parse(H(w(e.directory,`gate.json`)).toString(`utf8`))),r=gb(),i=r.get(process.pid),a=new Set;for(;i&&i.pid!==e.owner.pid&&!a.has(i.pid);)a.add(i.pid),i=r.get(i.ppid);if(B(n)!==B(e)||(t?$y(e.owner,r):!$y(e.owner,r)||i?.identity!==e.owner.identity))throw new L(`Filesystem observation gate ownership changed, was abandoned or is not an inherited ancestor.`)}function tb(e,t){let n=Yy.parse(JSON.parse(H(t).toString(`utf8`)));if(n.gateId!==e.id)throw new L(`Filesystem observation gate claim belongs to another run.`);return n}function nb(e){let t=w(e.directory,`requests`);Zy(t);let n=f(t);if(n.length>1024||n.some(e=>!/^[a-f0-9-]{36}\.json$/u.test(e)))throw new L(`Filesystem observation gate scan requests are invalid.`);let r=[],i=gb();for(let a of n){let n;try{n=tb(e,w(t,a))}catch(e){if(e.code===`ENOENT`)continue;throw e}if(n.kind!==`scan`||a!==n.id+`.json`||!$y(n.owner,i))throw new L(`Filesystem observation gate scan request was abandoned.`);r.push(a)}return r}function rb(e,t,n){if(B(tb(e,t))!==B(n))throw new L(`Filesystem observation gate claim changed before release.`);y(t)}async function ib(e,t,r,i){if(!e)return r();eb(e);let a={gateId:e.id,id:le(),kind:t,owner:Xy()},c=t===`scan`?w(e.directory,`requests`,a.id+`.json`):void 0,l=w(e.directory,`held`),u=w(l,`owner.json`);if(c){let t=w(e.directory,a.id+`.pending`);I_(t,a),h(t,c)}let d,p,m,g=()=>{if(!d)return;let t=o(l);if(!t.isDirectory()||t.dev!==d.dev||t.ino!==d.ino)throw new L(`Filesystem observation gate lock changed before release.`);if(f(l).join(`,`)!==`owner.json`)throw new L(`Filesystem observation gate lock has unrelated metadata.`);rb(e,u,a),_(l),d=void 0};try{for(;;){if(i?.aborted)throw new L(`Filesystem observation gate wait cancelled.`);eb(e);let c=nb(e);if(t===`scan`||c.length===0){let n=!1;try{s(l,{mode:448}),n=!0}catch(e){if(e.code!==`EEXIST`)throw e}if(n){let n=o(l);if(d={dev:n.dev,ino:n.ino},I_(u,a),t===`scan`||nb(e).length===0)return await r();g()}}if(n(l))try{Zy(l);let n=tb(e,u);if(p=void 0,!$y(n.owner))throw new L(`Filesystem observation gate fixture or scanner was abandoned.`);if(t===`scan`&&n.kind===`fixture`){if(m?.claimId!==n.id&&(m={claimId:n.id,since:Date.now()}),Date.now()-m.since>5e3)throw new L(`Filesystem-negative fixture did not release a waiting output scan within 5 seconds; reader or teardown is stalled.`)}else m=void 0}catch(e){if(e.code!==`ENOENT`)throw e;if(p??=Date.now(),Date.now()-p>2e3)throw new L(`Filesystem observation gate owner publication is incomplete.`)}await new Promise(e=>setTimeout(e,100))}}finally{try{g()}finally{c&&rb(e,c,a)}}}function ab(e,t=!1){eb(e,t);let r=w(e.directory,`requests`),i=w(e.directory,`held`);if(f(e.directory).some(e=>![`gate.json`,`requests`,`held`].includes(e)))throw new L(`Filesystem observation gate has unrelated or incomplete metadata.`);if(n(i)){if(Zy(i),f(i).join(`,`)!==`owner.json`)throw new L(`Filesystem observation gate lock has unrelated metadata.`);let t=tb(e,w(i,`owner.json`));if($y(t.owner))throw new L(`Filesystem observation gate still has a live holder.`);rb(e,w(i,`owner.json`),t),_(i)}for(let t of f(r)){if(!/^[a-f0-9-]{36}\.json$/u.test(t))throw new L(`Filesystem observation gate has unrelated metadata.`);let n=w(r,t),i=tb(e,n);if(i.kind!==`scan`||t!==i.id+`.json`)throw new L(`Filesystem observation gate has unrelated scan metadata.`);if($y(i.owner))throw new L(`Filesystem observation gate still has a live scan request.`);rb(e,n,i)}if(_(r),B(JSON.parse(H(w(e.directory,`gate.json`)).toString(`utf8`)))!==B(e))throw new L(`Filesystem observation gate changed before retirement.`);y(w(e.directory,`gate.json`)),_(e.directory)}async function ob(e,t,n){let r=process.env[Ky];if(r!==void 0)return n(Qy(r));if(!t)return n(void 0);let i=le(),a=w(W(e),`ai-delivery`,`output-observation`,Ab(e).slice(7));P_(a);for(let e of f(a)){rl().parse(e);let t=w(a,e);Zy(t);let n=Jy.parse(JSON.parse(H(w(t,`gate.json`)).toString(`utf8`)));if(n.id!==e||n.directory!==t||$y(n.owner))throw new L(`Prior filesystem observation gate is live or has conflicting ownership.`);ab(n,!0)}let o=w(a,i);P_(w(o,`requests`));let s={directory:o,id:i,owner:Xy()};I_(w(o,`gate.json`),s);try{return await n(s)}finally{ab(s)}}var sb=P({baselineId:k().regex(/^sha256:[a-f0-9]{64}$/u),files:M(Vl([k().min(1),A().int().nonnegative().safe()])),inputId:k().regex(/^sha256:[a-f0-9]{64}$/u),roots:M(k().min(1)).min(1),schemaVersion:I(`ai-delivery.output-baseline@1`)}),cb=P({baselineId:k().regex(/^sha256:[a-f0-9]{64}$/u).optional(),inputId:k().regex(/^sha256:[a-f0-9]{64}$/u),schemaVersion:I(`ai-delivery.output-baseline-state@1`),stateId:k().regex(/^sha256:[a-f0-9]{64}$/u),status:F([`preparing`,`complete`])}),lb=class extends L{cause;code;constructor(e,t,n){let r=n.code;super(`${e} Path ${JSON.stringify(t)} (${r??`unknown errno`}): ${n instanceof Error?n.message:String(n)}`),this.code=r,this.cause=n}};function ub(e,t,r=!1,i){let a=new Map,s=new Map,c=n=>{let l;try{l=o(n)}catch(e){if(e.code===`ENOENT`)return;throw new lb(`Filesystem output lstat failed.`,n,e)}if(l.isSymbolicLink()){let a;try{a=p(n)}catch(e){throw new lb(`Filesystem output readlink failed.`,n,e)}let c=B({device:l.dev,inode:l.ino,changed:l.ctimeMs,modified:l.mtimeMs,link:a}),u,d=!1;try{u=m(n)}catch(e){let s=new lb(`Filesystem output observation encountered a broken or cyclic symbolic link.`,n,e),l=t.get(n);if(l!==void 0&&l.identity!==c)throw new L(`Filesystem output alias identity changed. Path ${JSON.stringify(n)}.`);if(!r||s.code!==`ENOENT`||l?.identity!==c)throw s;let f=T(C(n),a),h=f,g=new Set([n]);for(;;)try{u=w(m(h),f.slice(h.length));break}catch(e){if(e.code!==`ENOENT`||C(h)===h)throw new lb(`Filesystem output ancestor resolution failed.`,h,e);let n;try{n=o(h)}catch(e){if(e.code!==`ENOENT`)throw new lb(`Filesystem output ancestor lstat failed.`,h,e)}if(n?.isSymbolicLink()){let e,r;try{e=p(h),r=o(h)}catch(e){throw new lb(`Filesystem output ancestor alias read failed.`,h,e)}let i=B({device:n.dev,inode:n.ino,changed:n.ctimeMs,modified:n.mtimeMs,link:e}),a=t.get(h);if(a===void 0)throw s;if(g.has(h)||a.identity!==i||!r.isSymbolicLink()||r.dev!==n.dev||r.ino!==n.ino||r.ctimeMs!==n.ctimeMs||r.mtimeMs!==n.mtimeMs)throw new L(`Filesystem output ancestor alias identity changed. Path ${JSON.stringify(h)}.`);g.add(h),f=w(T(C(h),e),f.slice(h.length)),h=f;continue}h=C(h)}if(u!==l.target)throw new L(`Filesystem output alias target identity changed. Path ${JSON.stringify(n)}.`);d=!0,i?.(s.message)}let f=t.get(n);if(f?.missing&&(f.identity!==c||f.target!==u))throw new L(`Filesystem output alias identity changed after target absence. Path ${JSON.stringify(n)}.`);if(!e.some(e=>u===e||u.startsWith(`${e}${ae}`)))throw new L(`Filesystem output observation encountered an escaping symbolic link. Path ${JSON.stringify(n)} resolves to ${JSON.stringify(u)}.`);let h;try{h=o(n)}catch(e){if(r&&e.code===`ENOENT`&&f?.identity===c)return;throw new lb(`Filesystem output alias identity readback failed.`,n,e)}if(!h.isSymbolicLink()||h.dev!==l.dev||h.ino!==l.ino||h.ctimeMs!==l.ctimeMs||h.mtimeMs!==l.mtimeMs)throw new L(`Filesystem output alias identity changed during observation. Path ${JSON.stringify(n)}.`);s.set(n,{identity:c,target:u,missing:d});return}if(l.isDirectory()){let e;try{e=f(n)}catch(e){if(e.code===`ENOENT`)return;throw new lb(`Filesystem output readdir failed.`,n,e)}for(let t of e)c(w(n,t));return}if(!l.isFile()&&!l.isSocket()||!Number.isSafeInteger(l.size))throw new L(`Filesystem output observation encountered an unsupported file. Path ${JSON.stringify(n)}.`);if(a.set(n,l.isSocket()?0:l.size),a.size>1e6)throw new L(`Filesystem output observation exceeded its file limit.`)};for(let t of e){if(n(t)&&m(t)!==t)throw new L(`Filesystem output roots must not be symbolic links.`);c(t)}t.clear();for(let[e,n]of s)t.set(e,n);return a}async function db(e,t,r,i,a,o){if(i.outputRoots===void 0)return;let s=i.outputRoots.map(t=>T(e,t)).sort(),c=new Map;for(let e=1;e<s.length;e++)if(s[e]===s[e-1]||s[e].startsWith(`${s[e-1]}${ae}`))throw new L(`Filesystem output roots must not overlap.`);let l=B({bounds:{...i,outputRoots:s},classificationReceiptId:r,resourceRunner:V(u(de(import.meta.url)))}),d=w(t,`ai-delivery`,`output-baselines@1`,`${l.slice(7)}.json`),f=w(t,`ai-delivery`,`output-baselines@1`,`${l.slice(7)}.state.json`),p=(e,t)=>{let n={inputId:l,schemaVersion:`ai-delivery.output-baseline-state@1`,status:e,...t===void 0?{}:{baselineId:t}};I_(f,{...n,stateId:B(n)})},m;try{m=cb.parse(JSON.parse(u(f,`utf8`)))}catch(e){if(e.code!==`ENOENT`)throw new L(`Filesystem output baseline state is corrupt.`)}if(m===void 0){if(n(d))throw new L(`Filesystem output baseline state is missing.`);p(`preparing`)}else{let{stateId:e,...t}=m;if(e!==B(t)||m.inputId!==l||m.status===`complete`!=(m.baselineId!==void 0))throw new L(`Filesystem output baseline state is corrupt.`)}let h;if(m?.status!==`complete`){let e={files:[...await ib(a,`scan`,()=>ub(s,c),o)].sort(([e],[t])=>e<t?-1:+(e>t)),inputId:l,roots:s,schemaVersion:`ai-delivery.output-baseline@1`};h={...e,baselineId:B(e)},I_(d,h),p(`complete`,h.baselineId)}else try{h=sb.parse(JSON.parse(u(d,`utf8`)))}catch{throw new L(`Filesystem output baseline checkpoint is missing or corrupt.`)}let{baselineId:g,..._}=h;if(g!==B(_)||m?.status===`complete`&&m.baselineId!==g||h.inputId!==l||B(h.roots)!==B(s)||h.files.some(([e],t)=>t>0&&e<=h.files[t-1][0]||!s.some(t=>e===t||e.startsWith(`${t}${ae}`))))throw new L(`Filesystem output baseline checkpoint is corrupt or belongs to another input.`);return{baselineId:g,roots:s,files:new Map(h.files),links:c,...a===void 0?{}:{gate:a}}}async function fb(e,t,n=!1,r){let i,a,o,s,c=()=>{if(s!==void 0&&Date.now()-s>=1e3)throw new L(`Filesystem output observation remained unavailable for 1 second. First observation: ${a.message} Last observation: ${o.message}`)};for(;;){if(t?.aborted)throw new L(`Filesystem output observation cancelled.`);c();try{i=await ib(e.gate,`scan`,()=>ub(e.roots,e.links,n,r),t),c();break}catch(e){if(!n||!(e instanceof lb)||e.code!==`ENOENT`)throw e;o=e,a===void 0&&(s=Date.now(),a=e,r?.(e.message)),c(),await new Promise(e=>setTimeout(e,25))}}let l=0;for(let[t,n]of i)if(l+=Math.max(0,n-(e.files.get(t)??0)),!Number.isSafeInteger(l))throw new L(`Filesystem output observation overflowed.`);return l}function pb(e){let t=e;for(;;)try{let e=v(t,{bigint:!0});return e.bavail*e.bsize}catch(e){if(e.code!==`ENOENT`||C(t)===t)throw e;t=C(t)}}function mb(e,t){let n=(t===void 0?[e]:[e,...t.roots]).reduce((e,t)=>{let n=pb(t);return n<e?n:e},BigInt(2**53-1));if(n>BigInt(2**53-1))throw new L(`Free disk observation overflowed.`);return Number(n)}function hb(e,t,n){if(mb(e,n)<t.minFreeDiskBytes)throw new L(`Free disk fell below limit ${t.minFreeDiskBytes}.`)}function gb(){let e=n(`/usr/bin/ps`)?`/usr/bin/ps`:`/bin/ps`,t=S(e,[`-A`,`-o`,`pid=,ppid=,pgid=,rss=,stat=,lstart=`],{encoding:`utf8`,env:{...process.env,LC_ALL:`C`},maxBuffer:4194304,timeout:1e3});if(t.status!==0||t.error||t.signal||!t.stdout.endsWith(`
|
|
243
|
+
`))throw new L(`Owned process resource observation failed.`);let r=new Map;for(let e of t.stdout.trim().split(`
|
|
244
|
+
`)){let t=/^(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\S+)\s+(.+)$/u.exec(e.trim());if(!t)throw new L(`Owned process resource observation is ambiguous.`);let n={pid:Number(t[1]),ppid:Number(t[2]),pgid:Number(t[3]),rssBytes:Number(t[4])*1024,status:t[5],identity:t[6]};if(!Number.isSafeInteger(n.pid)||n.pid<=0||!Number.isSafeInteger(n.ppid)||!Number.isSafeInteger(n.pgid)||!Number.isSafeInteger(n.rssBytes)||r.has(n.pid))throw new L(`Owned process resource observation is ambiguous.`);r.set(n.pid,n)}return r}function _b(e,t){let n=t.get(e.rootPid);if(e.rootIdentity===void 0){if(n===void 0||n.status.startsWith(`Z`)||n.pgid!==e.rootPid)throw new L(`Owned process identity could not be established before the command exited.`);e.rootIdentity=n.identity,e.tracked.set(n.pid,n)}else if(n!==void 0&&n.identity!==e.rootIdentity)throw new L(`Owned process identity changed during verification.`);let r=new Map;for(let[n,i]of e.tracked){let a=t.get(n);if(a===void 0||a.status.startsWith(`Z`))e.tracked.delete(n);else if(a.identity!==i.identity)throw new L(`Tracked process identity changed during verification.`);else r.set(n,a)}for(let n of t.values())!n.status.startsWith(`Z`)&&n.pgid===e.rootPid&&r.set(n.pid,n);let i=new Map;for(let e of t.values()){let t=i.get(e.ppid)??[];t.push(e),i.set(e.ppid,t)}let a=[...r.values()];for(let e of a)for(let t of i.get(e.pid)??[])!t.status.startsWith(`Z`)&&!r.has(t.pid)&&(r.set(t.pid,t),a.push(t));for(let t of r.values())e.tracked.set(t.pid,t);return e.sampled=!0,[...r.values()]}function vb(e,t,n,r,i,a=0,o=!1){let s=gb(),c=_b(e,s),l=o?yb(s,new Set(c.map(e=>e.pid))):a,u=c.reduce((e,t)=>e+t.rssBytes,l);if(!Number.isSafeInteger(u))throw new L(`Owned aggregate RSS is outside the safe integer range.`);if(u>n.maxAggregateRssBytes)throw new L(`Owned aggregate RSS ${u} exceeded limit ${n.maxAggregateRssBytes}.`);let d=mb(t,r);if(d<n.minFreeDiskBytes)throw new L(`Free disk fell below limit ${n.minFreeDiskBytes}.`);if(i!==void 0&&!Number.isSafeInteger(i))throw new L(`Filesystem output observation overflowed.`);if(r!==void 0&&n.maxNewOutputBytes!==void 0&&i!==void 0&&i>n.maxNewOutputBytes)throw new L(`Positive new filesystem output ${i} exceeded limit ${n.maxNewOutputBytes}.`);return{aggregateRssBytes:u,freeDiskBytes:d,...i===void 0?{}:{newOutputBytes:i},ownedProcessCount:c.length}}function yb(e=gb(),t=new Set){let n=e.get(process.pid);if(n===void 0||n.status.startsWith(`Z`))throw new L(`Runtime setup controller resource observation is unavailable.`);let r=new Set([process.pid]),i=process.memoryUsage().rss;for(let n of r)for(let a of e.values())a.ppid===n&&!a.status.startsWith(`Z`)&&!r.has(a.pid)&&(r.add(a.pid),t.has(a.pid)||(i+=a.rssBytes));if(!Number.isSafeInteger(i))throw new L(`Controller aggregate RSS observation overflowed.`);return i}async function bb(e){if(!e.sampled||e.rootIdentity===void 0)throw new L(`Owned process cleanup cannot be verified without a root identity.`);let t=Date.now()+2e3;for(;;){let n=gb(),r=n.get(e.rootPid);if(r!==void 0&&r.identity!==e.rootIdentity)throw new L(`Owned process group identity changed before cleanup readback.`);let i=[...n.values()].some(t=>t.pgid===e.rootPid&&!t.status.startsWith(`Z`)),a=[...e.tracked.values()].some(e=>{let t=n.get(e.pid);if(t===void 0||t.status.startsWith(`Z`))return!1;if(t.identity!==e.identity)throw new L(`Tracked process identity changed before cleanup readback.`);return!0});if(!i&&!a)return;if(Date.now()>=t)throw new L(`Owned process cleanup did not release every sampled process.`);await new Promise(e=>setTimeout(e,100))}}function xb(e){if(!e.sampled||e.rootIdentity===void 0)throw new L(`Owned process identity is unknown.`);let t=gb(),n=t.get(e.rootPid);if(n!==void 0&&n.identity!==e.rootIdentity)throw new L(`Owned process group identity changed before cleanup.`);let r=[...e.tracked.values()].flatMap(e=>{let n=t.get(e.pid);if(n===void 0||n.status.startsWith(`Z`))return[];if(n.identity!==e.identity)throw new L(`Tracked process identity changed before cleanup.`);return[n]}),i=[...t.values()].filter(t=>t.pgid===e.rootPid&&!t.status.startsWith(`Z`));if(i.length>0&&!r.some(t=>t.pgid===e.rootPid))throw new L(`Owned process group has no surviving recorded identity; cleanup is ambiguous.`);let a=t=>{try{process.kill(t,`SIGKILL`)}catch(n){let r=n.code;if(r===`ESRCH`)return;if(r!==`EPERM`)throw n;let i=gb();if(t<0){let t=i.get(e.rootPid);if(t!==void 0&&t.identity!==e.rootIdentity)throw new L(`Owned process group identity changed during cleanup signal readback.`);if([...i.values()].some(t=>t.pgid===e.rootPid&&!t.status.startsWith(`Z`)))throw n}else{let r=i.get(t);if(r!==void 0&&r.identity!==e.tracked.get(t)?.identity)throw new L(`Tracked process identity changed during cleanup signal readback.`);if(r!==void 0&&!r.status.startsWith(`Z`))throw n}}};i.length>0&&a(-e.rootPid);for(let e of r.reverse())a(e.pid)}var Sb=P({pid:A().int().positive(),identity:k().min(1)}),Cb=P({schemaVersion:I(`ai-delivery.verification-writer@1`),writerId:rl(),worktreeDigest:k().regex(/^sha256:[a-f0-9]{64}$/u),owner:Sb,command:Fl([P({phase:I(`idle`)}),P({phase:I(`starting`)}),P({phase:I(`running`),root:Sb,tracked:M(P({...Sb.shape,pgid:A().int().positive()}))})]),stateId:k().regex(/^sha256:[a-f0-9]{64}$/u)}).superRefine((e,t)=>{let{stateId:n,...r}=e;n!==B(r)&&t.addIssue({code:`custom`,message:`Writer state is corrupt.`})});function wb(e,t){if(t===void 0)return;let n=Cb.parse(JSON.parse(t.toString(`utf8`)));if(n.worktreeDigest!==Ab(e))throw new L(`Verification writer belongs to another worktree.`);let r=gb(),i=r.get(n.owner.pid);if(i?.identity===n.owner.identity&&!i.status.startsWith(`Z`))throw new L(`A live verification writer still owns this worktree.`);if(n.command.phase===`starting`)throw new L(`Interrupted writer has unknown command ownership; reconcile before retrying.`);if(n.command.phase===`running`){let e=[n.command.root,...n.command.tracked],t=new Set([n.command.root.pid,...n.command.tracked.map(e=>e.pgid)]);if(e.some(e=>r.has(e.pid))||[...r.values()].some(e=>t.has(e.pgid)))throw new L(`Transition requires identity-bound command and process-group absence.`)}}async function Tb(e,r,a,s,c=!1){let u=Ab(e),d=w(s??W(e),`ai-delivery`,`writers@1`,`${u.slice(7)}.json`);return P_(C(d)),Dv(d,{projectRoot:e,timeout:200,...a?.onLockReleaseError===void 0?{}:{onReleaseError:a.onLockReleaseError},...a?.onLockCompromised===void 0?{}:{onCompromised:a.onLockCompromised},operation:async()=>{await cx(s??W(e),u,c);let f=gb(),p=f.get(process.pid);if(p===void 0||p.status.startsWith(`Z`))throw new L(`Verification writer identity is unknown.`);let m;if(a)try{o(d),m=H(d)}catch(e){if(e.code!==`ENOENT`)throw e}else n(d)&&(m=H(d));if(a&&wb(e,m),m!==void 0&&!a){let e=Cb.parse(JSON.parse(m.toString(`utf8`)));if(e.worktreeDigest!==u)throw new L(`Verification writer belongs to another worktree.`);let t=f.get(e.owner.pid);if(t?.identity===e.owner.identity&&!t.status.startsWith(`Z`))throw new L(`A live verification writer still owns this worktree.`);if(e.command.phase===`starting`)throw new L(`Interrupted writer has unknown command ownership; reconcile before retrying.`);if(e.command.phase===`running`){let t={rootPid:e.command.root.pid,rootIdentity:e.command.root.identity,sampled:!0,tracked:new Map(e.command.tracked.map(e=>[e.pid,{...e,ppid:0,rssBytes:0,status:``}]))};xb(t),await bb(t),Vb({state:`recovered`,stageId:`writer`,completedStages:0,reusedStages:0,remainingStages:0,elapsedMs:0,reason:`Recorded interrupted command cleanup confirmed; compatible completed stages remain available.`})}}a&&await a.beforeClaim({previousBytes:m===void 0?void 0:Buffer.from(m),owner:{pid:p.pid,identity:p.identity}});let h={schemaVersion:`ai-delivery.verification-writer@1`,writerId:a?.writerId??le(),worktreeDigest:u,owner:{pid:p.pid,identity:p.identity},command:{phase:`idle`}},g=e=>{h={...h,command:e},I_(d,{...h,stateId:B(h)})};if(a){let e=Buffer.from(`${JSON.stringify({...h,stateId:B(h)},null,2)}\n`);await a.recordClaim(Buffer.from(e));let t;try{o(d),t=H(d)}catch(e){if(e.code!==`ENOENT`)throw e}if(t===void 0!=(m===void 0)||t!==void 0&&m!==void 0&&!t.equals(m))throw new L(`Writer changed after transition intent preservation.`)}g({phase:`idle`});let _={starting:()=>g({phase:`starting`}),observed:e=>{if(e.rootIdentity===void 0)throw new L(`Cannot persist an unknown command owner.`);g({phase:`running`,root:{pid:e.rootPid,identity:e.rootIdentity},tracked:[...e.tracked.values()].map(({pid:e,identity:t,pgid:n})=>({pid:e,identity:t,pgid:n}))})},idle:()=>g({phase:`idle`}),assertQuiescent:()=>{let e=Cb.parse(JSON.parse(H(d).toString(`utf8`)));if(e.writerId!==h.writerId||e.command.phase!==`idle`)throw new L(`Verification writer command quiescence is not confirmed.`)}},v=async()=>{let e=H(d),n=Cb.parse(JSON.parse(e.toString(`utf8`)));if(n.writerId!==h.writerId)throw new L(`Verification writer ownership changed.`);if(n.command.phase===`idle`){if(a&&(await a.recordRelease(Buffer.from(e)),!H(d).equals(e)))throw new L(`Writer changed before recorded release.`);if(y(d),a){let e=l(C(d),`r`);try{i(e)}finally{t(e)}try{o(d)}catch(e){if(e.code!==`ENOENT`)throw e;await a.afterRelease?.();return}throw new L(`Writer absence is not confirmed after recorded release.`)}}};try{return await a?.afterClaim?.(Buffer.from(H(d))),await r(_)}finally{await v()}}})}async function Eb(e,t,n){let r=w(W(e),`ai-delivery`,`writers@1`,`${Ab(t).slice(7)}.json`);return Dv(r,{projectRoot:e,timeout:200,operation:async()=>{await cx(W(e),Ab(t));try{o(r)}catch(e){if(e.code!==`ENOENT`)throw e;return n()}throw new L(`Sealed transition writer absence postcondition drifted.`)}})}async function Db(e,t){rl().parse(e.writerId);let n=Jh(e.repoRoot);return Tb(e.worktreePath===void 0?n:T(e.worktreePath),async e=>{e.assertQuiescent();let n=await t();return e.assertQuiescent(),n},e,W(n))}function Ob(e){let t=W(e);if(te(t)!==`.git`)throw new L(`Expected a conventional non-bare Git repository.`);return C(t)}function kb(e,t,n=!1){let r=ny(t,Ob(e));if(r.path!==e||r.branch!==`issue/${t}`||r.status!==`active`&&r.status!==`pr-published`&&!(n&&r.status===`merged`))throw new L(`Verification requires the exact registered issue worktree.`);Zh(e)}function Ab(e){return B(T(e))}function jb(t){let r=[],i=e=>{for(let n of f(e,{withFileTypes:!0}).sort((e,t)=>e.name.localeCompare(t.name))){let a=w(e,n.name);n.isDirectory()?i(a):n.isFile()&&n.name.endsWith(`.js`)&&!n.name.endsWith(`.test.js`)&&r.push({path:a.slice(t.length+1),digest:V(u(a))})}};i(t);let a=new Map,o=t=>{if(a.has(t))return;let r=u(t),i=N({dependencies:Ul(k(),k()).optional()}).parse(JSON.parse(r.toString(`utf8`)));a.set(t,V(r));let s=e(t);for(let e of Object.keys(i.dependencies??{}).sort()){let t;try{t=s.resolve(`${e}/package.json`)}catch{t=s.resolve(e)}let r=C(t);for(;;){let t=w(r,`package.json`);if(n(t)&&N({name:k().optional()}).parse(JSON.parse(u(t,`utf8`))).name===e){o(t);break}let i=C(r);if(i===r)throw new L(`Producer dependency identity is unavailable for ${e}.`);r=i}}};return o(w(C(t),`package.json`)),{code:r,dependencies:[...a].sort(([e],[t])=>e.localeCompare(t))}}function Mb(e=C(de(import.meta.url))){return B(jb(e))}function Nb(e){return Mb(m(e))}function Pb(e){return jb(m(e)).dependencies.map(([e,t])=>({source:e,digest:t}))}function Fb(e){return Lb(JSON.parse(e.toString(`utf8`)))}function Ib(e,t,n){return n===void 0?w(e,`ai-delivery`,`runs`,`${t}.json`):w(e,`ai-delivery`,`runs@2`,Ab(n).slice(7),`${t}.json`)}function Lb(e){if(typeof e!=`object`||!e||Array.isArray(e))throw new L(`Invalid run manifest.`);let t=e,n=gh.parse(t.classification),r=Oh.parse(t.aggregate),i=Dh.array().parse(t.stageReceipts);if(![`ai-delivery.run@1`,`ai-delivery.run@2`,`ai-delivery.run@3`].includes(String(t.schemaVersion)))throw new L(`Run manifest schema version is unsupported.`);if(t.schemaVersion===`ai-delivery.run@1`&&t.resources!==void 0)throw new L(`Historical run manifest has unexpected resource evidence.`);let a=t.resources===void 0?void 0:zy.parse(t.resources);if(t.schemaVersion===`ai-delivery.run@2`&&a===void 0)throw new L(`Historical bounded run lacks resource evidence.`);let o=t.schemaVersion===`ai-delivery.run@3`?P({worktreeDigest:k().regex(/^sha256:[a-f0-9]{64}$/u),producerDigest:k().regex(/^sha256:[a-f0-9]{64}$/u)}).parse(t.writer):void 0,s={aggregate:r,classification:n,completedAt:t.completedAt,...a===void 0?{}:{resources:a},...o===void 0?{}:{writer:o},schemaVersion:t.schemaVersion,stageReceipts:i};if(typeof t.completedAt!=`string`||t.manifestId!==B(s)||jh({classification:n,receipts:i}).aggregateId!==r.aggregateId)throw new L(`Run manifest identity or aggregate is invalid.`);return{...s,completedAt:t.completedAt,manifestId:t.manifestId}}function Rb(e,t,n,r=!1){let i;try{i=JSON.parse(u(Ib(e,t,n),`utf8`))}catch(n){if(!r||n.code!==`ENOENT`)throw new L(`Exact-head worktree verification run is missing or corrupt; verify with the current producer.`);i=JSON.parse(u(Ib(e,t),`utf8`))}let a=Lb(i);if(a.classification.head.sha!==t||a.writer!==void 0&&(a.writer.worktreeDigest!==Ab(n)||!r&&a.writer.producerDigest!==Mb())||!r&&a.writer===void 0)throw new L(`Verification run belongs to another writer or producer.`);let o=r?void 0:Bb(n,a.resources);if(o!==void 0&&a.stageReceipts.some(e=>e.input.environmentDigest!==o))throw new L(`Verification stage environment belongs to a foreign worktree or producer.`);return a}function zb(e,t=Mb()){return B({arch:process.arch,node:process.version,path:process.env.PATH??``,platform:process.platform,worktreeDigest:Ab(e),producerDigest:t})}function Bb(e,t,n=Mb()){let r=zb(e,n);return t===void 0?r:B({environment:r,...t.outputBaselineId===void 0?{}:{outputBaselineId:t.outputBaselineId},resourceBounds:t.bounds,resourceRunner:V(u(de(import.meta.url)))})}function Vb(e){process.stderr.write(`ai-delivery.verify ${JSON.stringify(e)}\n`)}function Hb(e,t,n,r,i,a,o,s,c){let[l,...u]=t;if(!l)throw new L(`Policy selected an empty stage command.`);if(n?.aborted)throw new L(`Selected policy stage command cancelled.`);return s?.starting(),new Promise((t,d)=>{let f=ee(`/bin/sh`,[`-c`,`IFS= read -r ready || exit 125; [ "$ready" = run ] || exit 125; exec "$@" </dev/null`,`ai-delivery-command`,l,...u],{cwd:c?.cwd??e,detached:process.platform!==`win32`,stdio:[`pipe`,`pipe`,`pipe`],...a?.gate===void 0&&c===void 0?{}:{env:{...c?.environment??process.env,...a?.gate===void 0?{}:{[Ky]:JSON.stringify(a.gate)}}}}),p=[],m=[],h=process.platform===`win32`||f.pid===void 0?void 0:{rootPid:f.pid,sampled:!1,tracked:new Map},g=0,_=0,v=c?.maxCapturedOutputBytes??8388608,y=0,b,x,S,te=!1,C=!1,ne=!1,w,re,ie,T=new AbortController,ae=()=>{let t=w===void 0?``:` First filesystem observation: ${w} Last filesystem observation: ${re}`;try{let n=Buffer.concat([...p,...m]);return c?.failedOutput?c.failedOutput(n):` Command output ${Fh({bytes:n,gitCommonDir:W(e)})}.${t}`}catch(e){return` Command output persistence failed (${e instanceof Error?e.message:String(e)}).${t}`}},oe,se,ce,le=()=>{clearInterval(pe),ce!==void 0&&clearInterval(ce),oe!==void 0&&clearTimeout(oe),se!==void 0&&clearTimeout(se),n?.removeEventListener(`abort`,me),process.removeListener(`SIGINT`,he),process.removeListener(`SIGTERM`,ge)},ue=()=>{if(f.pid!==void 0){if(h?.sampled){try{_b(h,gb())}catch(e){x??=e instanceof Error?e.message:String(e)}try{s?.observed(h)}catch(e){S??=e instanceof Error?e.message:String(e)}try{xb(h)}catch(e){x??=e instanceof Error?e.message:String(e)}}else try{f.exitCode===null&&f.signalCode===null&&f.kill(`SIGKILL`),ne&&(x??=`owned process identity was not observed before cleanup`)}catch(e){x??=e instanceof Error?e.message:String(e)}}},de=e=>{b===void 0&&(b=e,T.abort(),ue(),te||(oe=setTimeout(()=>{C||te||(C=!0,le(),f.stdout.destroy(),f.stderr.destroy(),f.unref(),c?.onCleanupFailure?.(`Owned command pipes did not close; descendant cleanup could not be verified.`),d(new L(`Selected policy stage command failed (${b}).${ae()}${S===void 0?``:` Writer state persistence failed (${S}).`} Owned process cleanup failed (owned command pipes did not close; descendant cleanup could not be verified).`)))},2e3)))},fe=(e,t)=>{if(g+=t.length,c?.onCaptured?.(g),c!==void 0&&i?.maxNewOutputBytes!==void 0&&g+y>i.maxNewOutputBytes){de(`source-phase captured output exceeded remaining cumulative allowance`);return}if(g>v){let n=v-_;n>0&&(e.push(Buffer.from(t.subarray(0,n))),_+=Math.min(n,t.length)),de(c?.maxCapturedOutputBytes===void 0?`captured output exceeded 8 MiB`:`captured output exceeded ${v} bytes`);return}e.push(t),_+=t.length};f.stdout.on(`data`,e=>fe(p,e)),f.stderr.on(`data`,e=>fe(m,e)),f.stdout.once(`error`,e=>de(e.message)),f.stderr.once(`error`,e=>de(e.message)),f.stdin.once(`error`,e=>de(e.message)),f.once(`error`,e=>{f.pid===void 0&&s?.idle(),de(e.message)}),f.once(`exit`,(e,t)=>{e!==0||t!==null?de(`exit ${String(e)}${t===null?``:` signal ${t}`}`):te||(se=setTimeout(()=>{te||de(`owned command pipes did not close after direct child exit`)},1e3))}),f.once(`spawn`,()=>{let t=()=>{if(b===void 0&&f.pid!==void 0)try{if(h===void 0)throw new L(`Owned process identity is unavailable on this platform.`);if(_b(h,gb()),s?.observed(h),i!==void 0){let t=vb(h,e,i,a,void 0,c===void 0?0:process.memoryUsage().rss,c?.includeControllerTree);o?.(t),r?.(g,t)}if(te||ie!==void 0)return;ie=(async()=>{if(i!==void 0&&a!==void 0){let t=await fb(a,T.signal,ne,e=>{w??=e,re=e,r?.(g,void 0,e)});if(b!==void 0)return;y=t;let n=vb(h,e,i,a,t+(c===void 0?0:g),c===void 0?0:process.memoryUsage().rss,c?.includeControllerTree);o?.(n),r?.(g,n)}b===void 0&&!ne&&(ne=!0,f.stdin.end(`run
|
|
245
|
+
`))})().catch(e=>de(e instanceof Error?e.message:String(e))).finally(()=>{ie=void 0})}catch(e){de(e instanceof Error?e.message:String(e))}};t(),ce=setInterval(t,1e3),ce.unref()});let pe=setInterval(()=>r?.(g),5e3);pe.unref();let me=()=>de(`cancelled`),he=()=>de(`cancelled by SIGINT`),ge=()=>de(`cancelled by SIGTERM`);n?.addEventListener(`abort`,me,{once:!0}),process.once(`SIGINT`,he),process.once(`SIGTERM`,ge),n?.aborted&&me();let _e=async(n,l)=>{if(te=!0,!C){if(await ie,b===void 0&&h!==void 0)try{if(i!==void 0){let t=vb(h,e,i,a,a===void 0?void 0:await fb(a,T.signal)+(c===void 0?0:g),c===void 0?0:process.memoryUsage().rss,c?.includeControllerTree);o?.(t),r?.(g,t)}if(!h.sampled)throw new L(`Owned process resource observation was unavailable.`);if(_b(h,gb()).length>0)throw new L(`A sampled owned descendant survived command exit.`)}catch(e){de(e instanceof Error?e.message:String(e))}if(b!==void 0||n!==0||l!==null){let e=b??`exit ${String(n)}${l===null?``:` signal ${l}`}`,t=f.pid===void 0||!ne;if(h!==void 0&&h.sampled)try{await bb(h),t=!0}catch(e){x??=e instanceof Error?e.message:String(e)}if(t)try{s?.idle()}catch(e){S??=e instanceof Error?e.message:String(e)}C=!0,x!==void 0&&c?.onCleanupFailure?.(x),d(new L(`Selected policy stage command failed (${e}). Command exit ${String(n)}${l===null?``:` signal ${l}`}.${ae()}${S===void 0?``:` Writer state persistence failed (${S}).`}${x===void 0?``:` Owned process cleanup failed (${x}).`}`));return}s?.idle(),C=!0,t(c?.stdoutOnly?Buffer.concat(p):Buffer.concat([...p,...m],g))}};f.once(`close`,(e,t)=>{_e(e,t).catch(e=>{C=!0,d(e)}).finally(le)})})}async function Ub(e){let t=Jh(e.repoRoot);return Tb(t,n=>ob(t,e.resourceBounds?.outputRoots!==void 0,t=>Wb(e,n,t)))}async function Wb(e,t,r){let i=()=>{if(e.signal?.aborted)throw new L(`Verification cancelled.`)};i();let a=Jh(e.repoRoot);e.resourceBounds!==void 0&&Gy(e.resourceBounds),kb(a,e.issueNumber);let o=W(a);if(n(w(o,`ai-delivery`,`merges`,String(e.issueNumber),`${Xh(a).sha}.json`)))throw new L(`Commit continuation work before verifying an already-merged issue head; retain its receipts.`);let s=await oh(a,e.personalAuth===void 0?{}:{personalAuth:e.personalAuth}),c=await _h({repoRoot:a,policySourcePath:s.config.policy.module}),l=Xh(a,$h(a,s.remote)),u=Xh(a),d=yh({base:l,changedPaths:Qh(a,l.sha,u.sha),configDigest:s.configDigest,head:u,policy:c.policy,policySourcePath:s.config.policy.module,repoRoot:a,repository:s.config.repository}),f=e.resourceBounds===void 0?void 0:await db(a,o,d.receiptId,e.resourceBounds,r,e.signal);e.resourceBounds!==void 0&&hb(a,e.resourceBounds,f);let p=[],m=new Set(e.admittedResourceClasses??[`source_only`]),h=Date.now(),g=0,_=0,v=0,y=h,b=d.requiredStages.reduce((e,t)=>e+t.commands.length,0),x=e=>{let t=Date.now()-h;Vb({...e,completedCommands:_,remainingCommands:b-_,reusedCommands:v,executedCommandsPerSecond:t===0?0:(_-v)*1e3/t,lastCompletedWorkAgeMs:Date.now()-y})},ee=e.resourceBounds===void 0?void 0:{maxAggregateRssBytes:e.resourceBounds.maxAggregateRssBytes,minFreeDiskBytes:e.resourceBounds.minFreeDiskBytes,...e.resourceBounds.maxNewOutputBytes===void 0?{}:{maxNewOutputBytes:e.resourceBounds.maxNewOutputBytes},...f===void 0?{}:{outputRoots:f.roots}},S=()=>({bounds:ee,maxSampledAggregateRssBytes:null,maxSampledNewOutputBytes:null,minSampledFreeDiskBytes:null,observation:`sampled`,...f===void 0?{}:{outputBaselineId:f.baselineId},processCoverage:`observed-processes-only`,sampleCount:0}),te=ee===void 0?void 0:S(),C=Mb(),ne=Bb(a,te,C),re,ie=e=>{if(te===void 0)return;let t={...S(),sampleCount:1,maxSampledAggregateRssBytes:e.aggregateRssBytes,maxSampledNewOutputBytes:e.newOutputBytes??null,minSampledFreeDiskBytes:e.freeDiskBytes};Wy(te,t),re!==void 0&&Wy(re,t)};for(let n of d.requiredStages){i();let r=kh({classification:d,environmentDigest:ne,semanticInputs:n.semanticInputs??n.semanticInputKeys.map(e=>({digest:B({key:e,evidenceId:d.policyEvidence.evidenceId}),key:e})),stageId:n.id,upstream:n.dependsOn.map(e=>{let t=p.find(t=>t.input.stageId===e);if(!t)throw new L(`Missing upstream stage '${e}'.`);return{receiptId:t.receiptId,stageId:e}})}),c=zh({classification:d,configDigest:s.configDigest,gitCommonDir:o,policySourcePath:s.config.policy.module,repoRoot:a,stageInput:r});if(ee!==void 0){let e=Hy(o,a,r,ee,f?.baselineId);if(e!==void 0){if(c===void 0&&(Rh({gitCommonDir:o,receipt:e.receipt,repoRoot:a}),c=zh({classification:d,configDigest:s.configDigest,gitCommonDir:o,policySourcePath:s.config.policy.module,repoRoot:a,stageInput:r})),c?.receiptId!==e.receipt.receiptId)throw new L(`Resource stage checkpoint disagrees with its stage receipt.`);Wy(te,e.resources)}else if(c!==void 0)throw new L(`Bounded stage receipt lacks its resource checkpoint.`)}if(c){p.push(c),g+=1,_+=c.commands.length,v+=c.commands.length,y=Date.now(),x({state:`reused`,stageId:n.id,completedStages:p.length,remainingStages:d.requiredStages.length-p.length,reusedStages:g,elapsedMs:Date.now()-h});continue}if(i(),!m.has(n.resourceClass))throw new L(`Stage '${n.id}' requires explicit ${n.resourceClass} admission.`);re=ee===void 0?void 0:S();let l=new Date().toISOString(),u=[];for(let r of n.commands){let s=Date.now();e.resourceBounds!==void 0&&hb(a,e.resourceBounds,f);let c=(e,t,i)=>x({state:`running`,stageId:n.id,commandLabel:r.label,completedStages:p.length,remainingStages:d.requiredStages.length-p.length,reusedStages:g,elapsedMs:Date.now()-h,capturedOutputBytes:e,...i===void 0?{}:{reason:i},commandElapsedMs:Date.now()-s,...t===void 0?{}:{sampledAggregateRssBytes:t.aggregateRssBytes,sampledFreeDiskBytes:t.freeDiskBytes,...t.newOutputBytes===void 0?{}:{sampledNewOutputBytes:t.newOutputBytes},ownedProcessCount:t.ownedProcessCount,...f!==void 0&&t.newOutputBytes===void 0?{reason:`waiting for strict filesystem output scan`}:{}}});c(0);let l;try{l=await Hb(a,r.argv,e.signal,c,e.resourceBounds,f,ie,t)}catch(e){throw x({state:`failed`,stageId:n.id,commandLabel:r.label,completedStages:p.length,remainingStages:d.requiredStages.length-p.length,reusedStages:g,elapsedMs:Date.now()-h,reason:e instanceof Error?e.message:String(e)}),e}i(),_+=1,y=Date.now(),u.push({exitCode:0,label:r.label,outputDigest:Fh({bytes:l,gitCommonDir:o})})}let b=n.attestationKey===void 0?[]:d.policyEvidence.artifacts.filter(e=>e.path===n.attestationKey).map(e=>({digest:e.digest,path:e.path}));if(n.attestationKey!==void 0&&b.length===0)throw new L(`Selected attestation '${n.attestationKey}' lacks a bound artifact.`);let C=Ah({artifacts:b,classification:d,commands:u,completedAt:new Date().toISOString(),stageInput:r,startedAt:l});i(),re!==void 0&&Uy(o,C,re),Rh({gitCommonDir:o,receipt:C,repoRoot:a}),re=void 0,p.push(C),y=Date.now(),x({state:`completed`,stageId:n.id,completedStages:p.length,remainingStages:d.requiredStages.length-p.length,reusedStages:g,elapsedMs:Date.now()-h})}if(i(),f!==void 0&&e.resourceBounds!==void 0){let t=await fb(f,e.signal);if(t>e.resourceBounds.maxNewOutputBytes)throw new L(`Positive new filesystem output `+t+` exceeded limit `+e.resourceBounds.maxNewOutputBytes+`.`);hb(a,e.resourceBounds,f),ie({aggregateRssBytes:0,freeDiskBytes:mb(a,f),newOutputBytes:t,ownedProcessCount:0})}if(i(),bh({classification:d,configDigest:s.configDigest,policySourcePath:s.config.policy.module,repoRoot:a}),Xh(a).sha!==u.sha||Xh(a,$h(a,s.remote)).sha!==l.sha)throw new L(`Verification source changed during execution; classify and resume the current source.`);if(Mb()!==C)throw new L(`Verification producer changed during execution.`);let T=jh({classification:d,receipts:p});Bh({gitCommonDir:o,aggregate:T});let ae={aggregate:T,classification:d,completedAt:new Date().toISOString(),...te===void 0?{}:{resources:zy.parse(te)},schemaVersion:`ai-delivery.run@3`,writer:{worktreeDigest:Ab(a),producerDigest:C},stageReceipts:p},oe={...ae,manifestId:B(ae)};return I_(Ib(o,u.sha,a),oe),oe}async function Gb(e){let t=Jh(e.repoRoot);kb(t,e.issueNumber);let n=await oh(t,e.personalAuth===void 0?{}:{personalAuth:e.personalAuth}),r=await _h({repoRoot:t,policySourcePath:n.config.policy.module}),i=Rb(W(t),Xh(t).sha,t),a=Wh({aggregate:i.aggregate,...e.approval===void 0?{}:{approval:e.approval},approvalRoles:{authorIdentity:n.config.roles.author.identity,reviewerIdentity:n.config.roles.reviewer.identity},classification:i.classification,configDigest:n.configDigest,currentBase:Xh(t,i.classification.base.sha),currentHead:Xh(t),gitCommonDir:W(t),...e.mergeReadback===void 0?{}:{mergeReadback:e.mergeReadback},phase:e.phase,policy:r.policy,policySourcePath:n.config.policy.module,repoRoot:t,stageReceipts:i.stageReceipts});return Kh({evidence:a,gitCommonDir:W(t)}),a}function Kb(e,t){let n=Jh(e);kb(n,t,!0);let r=ny(t,Ob(n)).status===`merged`;return Rb(W(n),Xh(n).sha,n,r)}function qb(e,t){let r=Jh(e),i=W(r),a=Rb(i,t,r,!0),o=Ib(i,t,r);return{run:a,path:n(o)?o:Ib(i,t)}}function Jb(e,t){let n=Jh(e),r=ny(t,n);if(r.status!==`merged`||r.path!==w(n,`.worktrees`,`issue-${t}`))throw new L(`Removed-run recovery requires the exact registered merged issue.`);let i=U(n,`rev-parse`,`refs/heads/${r.branch}`),a=Rb(W(n),i,r.path,!0);if(a.classification.head.sha!==i)throw new L(`Recovered merged run disagrees with the registered branch.`);return a}var Yb=k().regex(/^sha256:[a-f0-9]{64}$/u),Xb=k().regex(/^[a-f0-9]{40}$/u),Zb=P({path:k().min(1),digest:Yb}),Qb=Zb.extend({device:A().int().nonnegative().safe(),inode:A().int().nonnegative().safe(),uid:A().int().nonnegative().safe(),mode:A().int().nonnegative().safe()}),$b=P({argv:M(k()).min(1),cwd:k().min(1),executable:Qb}),ex=P({head:Xb,indexTree:Xb,branch:k().min(1),configDigest:Yb,dirty:M(P({path:k().min(1),digest:Yb.nullable()}))}),tx=P({maxAggregateRssBytes:A().int().positive().safe(),maxNewOutputBytes:A().int().positive().safe(),minFreeDiskBytes:A().int().positive().safe(),outputRoots:M(k().min(1)).min(1)}),nx=P({phaseId:Yb,recordId:Yb,baselineId:Yb.optional(),authorizationDigest:Yb}),rx=P({repoRoot:k().min(1),issueNumber:A().int().positive().safe(),identity:k().min(1),rowDigest:Yb,controller:P({head:Xb,configDigest:Yb,admissionId:Yb,runtimeEntryPath:k().min(1),packageVersion:k().min(1),archiveDigest:Yb}),source:ex.extend({path:k().min(1),effect:Ll(`kind`,[P({kind:I(`preserve`)}),P({kind:I(`commitOnce`),parent:Xb,tree:Xb,configDigest:Yb.optional()})])}),caller:Zb,authorization:Zb,inputs:M(Zb),commands:M($b).min(1),commandGraphDigest:Yb,environment:P({digest:Yb,overrides:Ul(k(),k().nullable())}),bounds:tx,completionArtifacts:M(k().min(1)),reconciliation:nx.optional()}).omit({environment:!0}).extend({environmentDigest:Yb}),ix=P({roots:M(k().min(1)).min(1),files:M(Vl([k(),A().int().nonnegative().safe()])),links:M(Vl([k(),P({identity:k(),target:k(),missing:j()})])),baselineId:Yb}),ax=P({index:A().int().nonnegative().safe(),outputDigest:Yb.nullable(),outputBytes:A().int().nonnegative().safe(),status:F([`complete`,`failed`])}),ox=P({source:ex,artifacts:M(Qb),newOutputBytes:A().int().nonnegative().safe(),writerReleased:I(!0),lockReleased:I(!0)}),sx=P({schemaVersion:I(`ai-delivery.source-phase@1`),phaseId:Yb,recordId:Yb,worktreeDigest:Yb,bindingDigest:Yb,authorizationDigest:Yb,status:F([`preparing`,`intent`,`complete`,`failed-quiescent`,`rejected-before-work`,`unresolved`]),writerId:rl(),binding:rx.optional(),baseline:ix.optional(),allocation:tx.optional(),owner:P({pid:A().int().positive().safe(),identity:k().min(1)}),bootstrapFiles:M(Vl([k(),A().int().nonnegative().safe()])),bootstrapBytes:A().int().nonnegative().safe(),capturedBytes:A().int().nonnegative().safe(),nextCommandIndex:A().int().nonnegative().safe(),commands:M(ax),claimDigest:Yb.optional(),releaseDigest:Yb.optional(),preparationArtifact:Qb.optional(),writerArtifact:Qb.optional(),producerDigest:Yb.optional(),actor:P({identity:k().min(1),actorLogin:k().min(1),credentialIdentity:k().min(1)}).optional(),retainedArtifacts:M(Qb).optional(),retainedPredecessors:M(P({phaseId:Yb,recordId:Yb})),reconciliation:nx.optional(),result:ox.optional(),failure:P({operation:k().optional(),accounting:k().optional(),cleanup:k().optional(),writerRelease:k().optional(),lockRelease:k().optional()}).optional()}).superRefine((e,t)=>{let{recordId:n,...r}=e;if((n!==B(r)||e.phaseId!==e.bindingDigest)&&t.addIssue({code:`custom`,message:`Source-phase record identity is invalid.`}),e.binding!==void 0&&B(e.binding)!==e.bindingDigest&&t.addIssue({code:`custom`,message:`Source-phase input binding is invalid.`}),e.baseline!==void 0){let{baselineId:n,...r}=e.baseline;n!==B(r)&&t.addIssue({code:`custom`,message:`Source-phase baseline is invalid.`})}e.status===`rejected-before-work`&&(e.commands.length!==0||e.nextCommandIndex!==0||e.capturedBytes!==0)&&t.addIssue({code:`custom`,message:`Rejected source-phase input cannot contain executed work.`}),e.status===`complete`&&(e.result===void 0||e.baseline===void 0||e.binding===void 0||e.failure!==void 0)&&t.addIssue({code:`custom`,message:`Source-phase completion is incomplete.`}),e.status===`complete`&&(e.commands.length!==e.binding?.commands.length||e.nextCommandIndex!==e.commands.length||e.commands.some((e,t)=>e.index!==t||e.status!==`complete`))&&t.addIssue({code:`custom`,message:`Source-phase completion does not contain its exact successful command graph.`})});async function cx(e,t,n=!1){let r=w(e,`ai-delivery`,`receipts`,`source-phase@1`,t.slice(7)),i;try{let e=o(r);if(!e.isDirectory()||e.isSymbolicLink())throw new L(`Source-phase admission metadata is not a canonical directory.`);i=f(r)}catch(e){if(e.code===`ENOENT`)return;throw e}if(i.length>1e5)throw new L(`Source-phase admission exceeded its entry bound.`);for(let e of i){let i=sx.parse(JSON.parse(H(w(r,e)).toString(`utf8`)));if(i.worktreeDigest!==t||e!==`${i.phaseId.slice(7)}.json`)throw new L(`Source-phase admission record belongs to another input or worktree.`);if(i.status===`preparing`||i.status===`intent`)throw new L(`An unsealed source phase still excludes another worktree writer.`);if(n&&i.status===`unresolved`)throw new L(`Unresolved source phase requires owning reconciliation before another attempt.`);await new Promise(e=>setImmediate(e))}}P({status:I(`complete`),phaseId:Yb,recordId:Yb,source:ex,commands:M(ax)});var lx=P({schemaVersion:I(`ai-delivery.runtime-output@1`),stageId:k().regex(/^sha256:[a-f0-9]{64}$/u),worktreeDigest:k().regex(/^sha256:[a-f0-9]{64}$/u),producerDigest:k().regex(/^sha256:[a-f0-9]{64}$/u),limit:A().int().positive().safe().max(8*1024**2),outputs:M(P({digest:k().regex(/^sha256:[a-f0-9]{64}$/u),bytes:A().int().nonnegative().safe().max(8*1024**2),status:F([`reserved`,`complete`])})).max(4096),contentDigest:k().regex(/^sha256:[a-f0-9]{64}$/u)}).superRefine((e,t)=>{let{contentDigest:n,...r}=e;(n!==B(r)||new Set(e.outputs.map(e=>e.digest)).size!==e.outputs.length||e.outputs.reduce((e,t)=>e+t.bytes,0)>e.limit)&&t.addIssue({code:`custom`,message:`Runtime retained-output ledger is corrupt.`})});async function ux(e,t,n){let r=new AbortController,i=n?.signal===void 0?r.signal:AbortSignal.any([n.signal,r.signal]),a,o,s=0,c=Date.now(),l=()=>{if(a!==void 0)throw a;if(i.aborted)throw new L(`Runtime setup cancelled.`);let t=n===void 0?0:yb();if(n!==void 0){if(t>n.bounds.maxAggregateRssBytes)throw new L(`Controller aggregate RSS ${t} exceeded limit ${n.bounds.maxAggregateRssBytes}.`);hb(e,n.bounds,o)}return t};if(n!==void 0){if(Gy(n.bounds),!Number.isSafeInteger(n.maxCapturedOutputBytes)||n.maxCapturedOutputBytes<=0||n.maxCapturedOutputBytes>8*1024**2)throw new L(`Invalid runtime setup captured-output bound; maximum is 8 MiB.`);l()}return e=Jh(e),Tb(e,async u=>ob(e,n!==void 0,async d=>{let f,p,m=W(e),h=()=>{if(f===void 0||p===void 0)throw new L(`Runtime output allowance is unbound.`);let{contentDigest:e,...t}=f;if(f=lx.parse({...t,contentDigest:B(t)}),Buffer.byteLength(JSON.stringify(f,null,2))>1024**2)throw new L(`Runtime retained-output ledger exceeds its evidence bound.`);I_(p,f)},g=e=>{try{if(Ih({gitCommonDir:m,digest:e.digest,expectedBytes:e.bytes}).length!==e.bytes)throw new L(`Runtime retained-output evidence size changed.`);return!0}catch(t){if(e.status===`reserved`&&t.code===`ENOENT`)return!1;throw t}},_=t=>{if(n===void 0)return;if(f!==void 0)throw new L(`Runtime output allowance is already bound.`);let r={stageId:t,worktreeDigest:Ab(e),producerDigest:Mb(),limit:n.maxCapturedOutputBytes};p=w(m,`ai-delivery`,`verification@1`,`runtime-output`,r.worktreeDigest.slice(7),`${t.slice(7)}.json`);let i;try{i=H(p,{maxBytes:1024**2})}catch(e){if(e.code!==`ENOENT`)throw e}if(i!==void 0){if(f=lx.parse(JSON.parse(i.toString(`utf8`))),f.stageId!==r.stageId||f.worktreeDigest!==r.worktreeDigest||f.producerDigest!==r.producerDigest||f.limit!==r.limit)throw new L(`Runtime retained-output ledger belongs to an incompatible stage or controller.`);let e=!1;for(let t of f.outputs)g(t)&&t.status===`reserved`&&(t.status=`complete`,e=!0);e&&h()}else{let e={schemaVersion:`ai-delivery.runtime-output@1`,...r,outputs:[]};f=lx.parse({...e,contentDigest:B(e)}),h()}},v=()=>{if(n===void 0)return 8*1024**2;if(f===void 0)throw new L(`Runtime output allowance is unbound.`);return f.limit-f.outputs.reduce((e,t)=>e+t.bytes,0)},y=e=>{if(f===void 0)throw new L(`Runtime output allowance is unbound.`);let t=V(e),n=f.outputs.find(e=>e.digest===t);if(n!==void 0){if(n.bytes!==e.length||!g(n))throw new L(`Runtime retained-output reservation is unresolved; identical output cannot be rewritten.`);return` Command output ${t}.`}if(e.length>v())throw new L(`Runtime retained-output allowance exceeded.`);let r={digest:t,bytes:e.length,status:`reserved`};if(f.outputs.push(r),h(),Fh({bytes:e,gitCommonDir:m}),!g(r))throw new L(`Runtime retained-output publication is unresolved.`);return f.outputs[f.outputs.length-1].status=`complete`,h(),` Command output ${t}.`};if(n!==void 0){let t=[...n.bounds.outputRoots??[],w(W(e),`ai-delivery`)].map(t=>T(e,t)).sort(),r=t.filter((e,n)=>!t.slice(0,n).some(t=>e===t||e.startsWith(`${t}${ae}`))),a=new Map,s=await ib(d,`scan`,()=>ub(r,a),i);o={roots:r,links:a,files:s,baselineId:B([...s]),...d===void 0?{}:{gate:d}}}let b=async()=>{let t=l();if(n===void 0||o===void 0)return;let r=s+await fb(o,i);if(l(),r>n.bounds.maxNewOutputBytes)throw new L(`Runtime setup output ${r} exceeded limit ${n.bounds.maxNewOutputBytes}.`);Vb({state:`running`,stageId:`runtime-setup`,completedStages:0,reusedStages:0,remainingStages:1,elapsedMs:Date.now()-c,capturedOutputBytes:s,sampledAggregateRssBytes:t,sampledFreeDiskBytes:mb(e,o),sampledNewOutputBytes:r})};await b();let x=n===void 0?void 0:setInterval(()=>{try{l()}catch(e){a??=e instanceof Error?e:new L(String(e)),r.abort()}},1e3);x?.unref();try{let r=await t({assertQuiescent:()=>u.assertQuiescent(),bindCapturedOutput:_,checkResources:b,signal:i,run:async(t,r,a,o,l)=>{await b(),Gy(r);let f=r.outputRoots?.map(t=>T(e,t)).sort();if(f!==void 0){for(let e=1;e<f.length;e++)if(f[e]===f[e-1]||f[e].startsWith(`${f[e-1]}${ae}`))throw new L(`Filesystem output roots must not overlap.`)}let p=async d=>{let p=v();if(p<=0)throw new L(`Runtime retained-output allowance is exhausted; installer was not started.`);let m=new Map,h=f===void 0?void 0:await ib(d,`scan`,()=>ub(f,m),i),g=f===void 0||h===void 0?void 0:{roots:f,files:h,links:m,baselineId:B([...h]),...d===void 0?{}:{gate:d}};hb(e,r,g);let _=0,x=await Hb(e,t,a===void 0?i:AbortSignal.any([i,a]),(e,t,n)=>Vb({state:`running`,stageId:`runtime-setup:install`,completedStages:0,reusedStages:0,remainingStages:1,elapsedMs:Date.now()-c,capturedOutputBytes:e,...n===void 0?{}:{reason:n},...t===void 0?{}:{sampledAggregateRssBytes:t.aggregateRssBytes,sampledFreeDiskBytes:t.freeDiskBytes,sampledNewOutputBytes:t.newOutputBytes}}),r,g,void 0,u,n===void 0&&o===void 0&&l===void 0?void 0:{environment:o??process.env,...l===void 0?{}:{cwd:l},...n===void 0?{}:{maxCapturedOutputBytes:p,includeControllerTree:!0,failedOutput:y},onCaptured:e=>{s+=e-_,_=e}});return await b(),x};return n===void 0?ob(e,f!==void 0,p):p(d)}});return await b(),Vb({state:`completed`,stageId:`runtime-setup`,completedStages:1,reusedStages:0,remainingStages:0,elapsedMs:Date.now()-c}),r}catch(e){throw a===void 0?i.aborted?new L(`Runtime setup cancelled. ${e instanceof Error?e.message:String(e)}`):e:new L(`${a.message} Runtime setup operation failed (${e instanceof Error?e.message:String(e)}).`)}finally{x!==void 0&&clearInterval(x)}}))}function dx(e,t){let n=ie(w(e,`.worktrees`),t);if(n===``||n.startsWith(`..`)||n.startsWith(`/`))throw new L(`Worktree path must be inside the repository .worktrees directory.`)}function fx(e){if(!Number.isSafeInteger(e)||e<=0)throw new L(`Issue number must be positive.`)}function px(e,t){fx(e.issueNumber??0);let r=`issue/${String(e.issueNumber)}`,i=w(t,`.worktrees`,`issue-${String(e.issueNumber)}`);if(e.type!==`issue`||e.path!==i||e.branch!==r||!n(i)||Jh(i)!==m(i)||W(i)!==W(t))throw new L(`Registered worktree disagrees with its exact repository, path or branch.`);if(U(i,`branch`,`--show-current`)!==r)throw new L(`Registered branch drifted.`)}async function mx(e){fx(e.issueNumber);let t=Yh(e.repoRoot);qv(e.issueNumber,t);let r=`issue/${e.issueNumber}`,i=w(t,`.worktrees`,`issue-${e.issueNumber}`);dx(t,i);let a=ay(t).filter(t=>t.type===`issue`&&t.issueNumber===e.issueNumber);if(a.length>1)throw new L(`Issue has duplicate worktree registry rows.`);if(a.length===1){let e=a[0];if(Gv(e,t),e.status!==`active`&&e.status!==`pr-published`)throw new L(`Only an active issue worktree can be resumed.`);return px(e,t),e}if(n(i))throw new L(`An unregistered issue worktree path already exists.`);let o=e.baseRef??$h(t,e.remote);if(!o||qh(t,`rev-parse`,`--verify`,`--quiet`,o)!==0)throw new L(`Default base ref is missing.`);qh(t,`show-ref`,`--verify`,`--quiet`,`refs/heads/${r}`)===0?U(t,`worktree`,`add`,i,r):U(t,`worktree`,`add`,`-b`,r,i,o);let s=new Date().toISOString(),c={branch:r,createdAt:s,identity:e.identity,issueNumber:e.issueNumber,path:i,status:`active`,type:`issue`,updatedAt:s};try{await ty(c,t)}catch(e){throw U(i,`status`,`--porcelain`,`--untracked-files=all`)===``&&U(t,`worktree`,`remove`,i),e}return c}async function hx(e){if(!/^[a-z][a-z0-9-]{0,63}$/u.test(e.name)||!/^[A-Za-z0-9._/-]+$/u.test(e.branch))throw new L(`Invalid standalone worktree name or branch.`);let t=Yh(e.repoRoot),r=T(t,`.worktrees`,e.name);if(dx(t,r),n(r)||ay(t).some(t=>t.path===r||t.branch===e.branch))throw new L(`Standalone worktree name or branch already exists.`);let i=e.baseRef??$h(t,e.remote);U(t,`worktree`,`add`,`-b`,e.branch,r,i);let a=new Date().toISOString(),o={branch:e.branch,createdAt:a,identity:e.identity,path:r,status:`active`,type:`standalone`,updatedAt:a};try{await ty(o,t)}catch(e){throw Zh(r),U(t,`worktree`,`remove`,r),e}return o}async function gx(e){if(fx(e.prNumber),!/^[a-f0-9]{40}$/u.test(e.headSha))throw new L(`PR head SHA is invalid.`);let t=Yh(e.repoRoot),r=`pr/${e.prNumber}`,i=w(t,`.worktrees`,`pr-${e.prNumber}`);if(dx(t,i),qh(t,`cat-file`,`-e`,`${e.headSha}^{commit}`)!==0)throw new L(`Fetched PR head object is unavailable.`);let a=ay(t).filter(t=>t.type===`pr`&&t.prNumber===e.prNumber);if(a.length>1)throw new L(`PR has duplicate worktree registry rows.`);if(a.length===1){let o=a[0];if(Gv(o,t),o.status!==`active`||o.path!==i||o.branch!==r||!n(i)||Jh(i)!==m(i)||U(i,`branch`,`--show-current`)!==r)throw new L(`Registered PR worktree disagrees with its exact path or branch.`);if(U(i,`rev-parse`,`HEAD`)!==e.headSha)throw new L(`Registered PR worktree head differs from the fetched PR head.`);return o}if(n(i))throw new L(`An unregistered PR worktree path already exists.`);let o=qh(t,`show-ref`,`--verify`,`--quiet`,`refs/heads/${r}`)===0;if(o&&U(t,`rev-parse`,`refs/heads/${r}`)!==e.headSha)throw new L(`Retained PR branch differs from the fetched PR head.`);o?U(t,`worktree`,`add`,i,r):U(t,`worktree`,`add`,`-b`,r,i,e.headSha);let s=new Date().toISOString(),c={branch:r,createdAt:s,identity:e.identity,path:i,prNumber:e.prNumber,status:`active`,type:`pr`,updatedAt:s};try{await ty(c,t)}catch(e){throw Zh(i),U(t,`worktree`,`remove`,i),e}return c}async function _x(e){if(e.name===void 0==(e.prNumber===void 0))throw new L(`Select exactly one registered PR number or standalone name.`);if(e.prNumber!==void 0&&fx(e.prNumber),e.name!==void 0&&!/^[a-z0-9][a-z0-9._-]*$/u.test(e.name))throw new L(`Standalone worktree name is invalid.`);let t=Yh(e.repoRoot),r=e.prNumber===void 0?w(t,`.worktrees`,e.name):w(t,`.worktrees`,`pr-${e.prNumber}`);dx(t,r);let i=ay(t).filter(e=>e.path===r);if(i.length!==1||(e.prNumber===void 0?i[0].type!==`standalone`:i[0].type!==`pr`||i[0].prNumber!==e.prNumber))throw new L(`Selected non-issue worktree has no exact registry owner.`);let a=i[0];if(Gv(a,t),!n(r)||Jh(r)!==m(r)||U(r,`branch`,`--show-current`)!==a.branch)throw new L(`Registered non-issue worktree is missing or drifted.`);Zh(r);let o=U(r,`rev-parse`,`HEAD`),s=mm(t,e.remote),c=e.prNumber===void 0?`refs/remotes/${s}/${a.branch}`:`refs/remotes/${s}/ai-delivery-pr-${e.prNumber}`,l=qh(t,`merge-base`,`--is-ancestor`,o,$h(t,e.remote))===0,u=qh(t,`show-ref`,`--verify`,`--quiet`,c)===0&&qh(t,`merge-base`,`--is-ancestor`,o,c)===0;if(!l&&!u)throw new L(`Clean worktree has an unpublished commit; cleanup requires an exact retaining ref.`);U(t,`worktree`,`remove`,r),await oy(r,t)}async function vx(e){fx(e.issueNumber);let t=Yh(e.repoRoot),n=ny(e.issueNumber,t);yx(n,t,e.remote,e.merge,e.afterRemoval!==void 0),await e.afterRemoval?.(),await oy(n.path,t)}function yx(e,t,r,i,a){if(dx(t,e.path),e.status!==`merged`||e.path!==w(t,`.worktrees`,`issue-${String(e.issueNumber)}`))throw new L(`Only the exact registered merged issue worktree can be cleaned.`);let o=n(e.path);if(o&&Jh(e.path)!==m(e.path))throw new L(`Registered worktree points elsewhere.`);if(!o&&!a)throw new L(`Registered worktree is missing.`);o&&Zh(e.path);let s=$h(t,r),c=qh(t,`merge-base`,`--is-ancestor`,e.branch,s)===0;if(i){if(i.headBranch!==e.branch||i.headSha!==U(o?e.path:t,`rev-parse`,o?`HEAD`:e.branch)||i.remoteHeadSha!==null&&i.remoteHeadSha!==i.headSha||i.baseBranch!==s.slice(`refs/remotes/${mm(t,r)}/`.length)||i.remoteBaseSha!==U(t,`rev-parse`,s)||qh(t,`merge-base`,`--is-ancestor`,i.baseSha,i.mergeSha)!==0||qh(t,`merge-base`,`--is-ancestor`,i.mergeSha,s)!==0||U(t,`rev-parse`,`${i.mergeSha}^{tree}`)!==i.mergeTree||!c&&i.strategy===`merge`)throw new L(`Exact merged-result cleanup attestation disagrees with Git or remote readback.`)}else if(!c)throw new L(`Branch is not included in the current base and exact merged-result attestation is absent.`);o&&U(t,`worktree`,`remove`,e.path)}function bx(e,t){if(e.purpose!==`merged-cleanup`||e.disposition!==`remove`||e.retainedHoldCommentIds.length!==0)throw new L(`Transition cannot remove held or nonterminal source.`);let n=e.lineage.find(t=>t.prNumber===e.terminalPrNumber);if(!n?.merged||!n.mergeSha)throw new L(`Transition lacks exact native terminal merge lineage.`);let r=U(e.repoRoot,`rev-parse`,`${n.mergeSha}^{tree}`),i=qh(e.repoRoot,`merge-base`,`--is-ancestor`,e.head.sha,n.mergeSha)===0?`merge`:`squash`;if(i===`squash`&&r!==e.head.tree)throw new L(`Transition lacks exact retained tree proof for non-merge source removal.`);if(!e.remoteRefs||e.remoteRefs.headSha!==null&&e.remoteRefs.headSha!==e.head.sha)throw new L(`Transition lacks exact authenticated remote branch readback.`);yx({...e.row,status:`merged`,prNumber:n.prNumber},e.repoRoot,t,{baseBranch:n.baseBranch,baseSha:n.baseSha,headBranch:e.row.branch,headSha:e.head.sha,mergeSha:n.mergeSha,mergeTree:r,remoteBaseSha:e.remoteRefs.baseSha,remoteHeadSha:e.remoteRefs.headSha,strategy:i},!0)}var xx=P({path:k().min(1),source:k().min(1),digest:R,size:A().int().nonnegative().safe()}),Sx=P({branch:k().min(1),createdAt:k().min(1),identity:k().min(1),issueNumber:A().int().positive(),path:k().min(1),prNumber:A().int().positive().optional(),status:F([`active`,`error`,`merged`,`pr-published`,`stale`]),type:I(`issue`),updatedAt:k().min(1)}),Cx=P({prNumber:A().int().positive(),headSha:bu,headBranch:k().min(1),baseSha:bu,baseBranch:k().min(1),mergeSha:bu.nullable(),merged:j(),authorLogin:k().min(1)}),wx=P({schemaVersion:I(`ai-delivery.worktree-transition-plan@1`),planId:R,repository:k().min(1),repoRoot:k().min(1),row:Sx,purpose:F([`active-resume`,`merged-cleanup`]),disposition:F([`retain`,`remove`]),head:P({sha:bu,tree:bu}),terminalPrNumber:A().int().positive().nullable(),lineage:M(Cx),retainedHoldCommentIds:M(A().int().positive()),remoteRefs:P({headSha:bu.nullable(),baseSha:bu}).nullable(),holdEvidence:M(P({commentId:A().int().positive(),digest:R})),inventory:M(xx),inventoryId:R,historicalProducer:I(`UNKNOWN`),closure:P({family:I(`public-ai-delivery-0.3.5-posix@1`),admissionPath:k().min(1),archivePath:k().min(1),admission:rv,admissionBytesDigest:R,producerDigest:R,runManifestIds:M(R).min(1)}),currentRuntime:rv,policyDigest:R,operator:P({actorLogin:k().min(1),credentialIdentity:k().regex(/^user:[1-9]\d*$/u)}),reviewerActor:k().min(1)}).superRefine((e,t)=>{let{planId:n,...r}=e;(n!==B(r)||e.inventoryId!==B(e.inventory)||e.disposition===`remove`&&(e.purpose!==`merged-cleanup`||e.retainedHoldCommentIds.length!==0)||e.purpose===`active-resume`&&e.terminalPrNumber!==null||e.purpose===`merged-cleanup`&&e.terminalPrNumber===null||e.disposition===`remove`&&e.remoteRefs===null)&&t.addIssue({code:`custom`,message:`Transition plan identity or disposition is invalid.`})}),Tx=`sha256:c561a94b7727ad5dfc520cbdcad803b9eaddfd49d334ccbc9253edeede26994e`;function Ex(e,t,n){if(!e.configuration)throw new L(`Transition requires the current repository configuration.`);let r=H(t),i=rv.parse(JSON.parse(r.toString(`utf8`)));if(i.packageVersion!==`0.3.5`||i.sourceArchiveSha256!==Tx)throw new L(`Retained operational producer is outside the supported public 0.3.5 family.`);cv(i,{...e.configuration,configDigest:i.configDigest},i.cliPath);let a=kx(n);if(V(a)!==Tx)throw new L(`Retained official public archive bytes disagree.`);let o=ve(a,{maxOutputLength:8388608}),s=C(C(i.cliPath)),c=[],l=(e,t)=>{let n=kx(e);c.push({source:e,path:t,digest:V(n),size:n.length})},u=0;for(let e=0;e+512<=o.length;){let t=o.subarray(e,e+512);if(t.every(e=>e===0))break;let n=t.subarray(0,100).toString(`utf8`).replace(/\0.*$/su,``),r=Number.parseInt(t.subarray(124,136).toString(`ascii`).replace(/\0.*$/su,``).trim(),8);if(t[156]!==48||!/^package\/(?!.*(?:^|\/)\.\.\/)[A-Za-z0-9_./-]+$/u.test(n)||!Number.isSafeInteger(r)||r<0)throw new L(`Retained public archive inventory is unsupported.`);let i=o.subarray(e+512,e+512+r),a=T(s,n.slice(8)),c=kx(a);if(i.length!==r||!c.equals(i))throw new L(`Retained producer bytes drifted: ${n}`);u+=1,l(a,`retained/${n}`),e+=512+Math.ceil(r/512)*512}if(u!==155)throw new L(`Retained public producer inventory is incomplete.`);l(t,`retained/admission.json`),l(n,`retained/public-archive.tar.gz`);let d=Pb(C(i.cliPath));for(let e of d)l(e.source,`retained/dependency-manifests/${B(e.source).slice(7)}.json`);return c.sort((e,t)=>e.path.localeCompare(t.path)),{admissionPath:t,archivePath:n,admission:i,admissionBytesDigest:V(r),producerDigest:Nb(C(i.cliPath)),inventory:c}}function Dx(e,t,n,r,i){let a=n.filter(e=>e.path.startsWith(`git/ai-delivery/runs@2/`)).map(e=>Fb(kx(e.source)));if(a.length===0||!a.some(e=>e.classification.head.sha===i.sha&&e.classification.head.tree===i.tree)||a.some(e=>e.schemaVersion!==`ai-delivery.run@3`||e.writer?.worktreeDigest!==B(t.path)||e.writer.producerDigest!==r||e.classification.repository===``||e.classification.requiredStages.some(e=>![`source_only`,`focused_node`,`canonical_verify`].includes(e.resourceClass))||e.classification.requiredStages.some(e=>e.commands.length>0)&&e.resources===void 0))throw new L(`Complete operational run inventory lacks supported producer-bound closure for the exact retained source head/tree.`);for(let t of a)for(let n of t.stageReceipts){let t=n.input.schemaVersion===`ai-delivery.stage-input@2`?2:1,r=w(W(e),`ai-delivery`,`verification@${String(t)}`,`stages`,n.input.stageId,`${n.input.inputId.slice(7)}.json`);if(z(JSON.parse(H(r).toString(`utf8`)))!==z(n))throw new L(`Operational run inventory has a missing or conflicting stage checkpoint.`)}return a.map(e=>e.manifestId).sort()}function Ox(e){try{return o(e),!0}catch(e){if(e.code===`ENOENT`)return!1;throw e}}function kx(e){let t=o(e);if(!t.isFile()||t.isSymbolicLink()||t.nlink!==1||m(e)!==e)throw new L(`Historical evidence requires canonical regular files without links.`);return u(e)}function Ax(e,t,n=!1){let r=W(e),i=new Map,a=new Set;Ox(t.path)?a.add(U(t.path,`rev-parse`,`HEAD`)):n&&a.add(U(e,`rev-parse`,t.branch));let s=(e,c)=>{if(!Ox(e))return;let l=o(e);if(l.isSymbolicLink()||m(e)!==e)throw new L(`Historical evidence inventory contains a noncanonical path.`);if(l.isDirectory()){for(let t of f(e).sort())s(w(e,t),`${c}/${t}`);return}let u=kx(e);if(i.set(c,{path:c,source:e,digest:V(u),size:u.length}),c.endsWith(`.json`)){let i;try{i=JSON.parse(u.toString(`utf8`))}catch{return}if(i&&typeof i.headSha==`string`&&/^[a-f0-9]{40}$/u.test(i.headSha)&&a.add(i.headSha),i?.schemaVersion===`issue-cli.terminal-evidence@1`){if(!Array.isArray(i.files))throw new L(`Historical terminal evidence manifest is incomplete.`);for(let t of i.files){if(typeof t.name!=`string`||!/^[A-Za-z0-9_.-]+$/u.test(t.name)||typeof t.sha256!=`string`)throw new L(`Historical terminal evidence inventory is invalid.`);let n=kx(w(C(e),t.name));if(n.length!==t.size||V(n)!==`sha256:${t.sha256}`)throw new L(`Historical terminal evidence manifest disagrees with original bytes.`)}}if(c.startsWith(`git/ai-delivery/runs@2/`)&&i?.schemaVersion===`ai-delivery.run@3`){let e=Fb(u),i=e.classification.head.sha;a.add(i);for(let i of e.stageReceipts){let e=i.input.schemaVersion===`ai-delivery.stage-input@2`?2:1,a=`ai-delivery/verification@${String(e)}/stages/${i.input.stageId}/${i.input.inputId.slice(7)}.json`;s(w(r,a),`git/${a}`);let o=`ai-delivery/resource-stages@1/${i.input.inputId.slice(7)}.json`;s(w(r,o),`git/${o}`);for(let e of i.commands){let t=`ai-delivery/verification@1/command-output/${e.outputDigest.slice(7)}.bin`;if(V(kx(w(r,t)))!==e.outputDigest)throw new L(`Historical command output is corrupt.`);s(w(r,t),`git/${t}`)}for(let e of i.artifacts){if(n)continue;let r=T(t.path,e.path);if(ie(t.path,r).startsWith(`..`)||V(kx(r))!==e.digest)throw new L(`Historical stage artifact is missing or corrupt.`);s(r,`worktree/${e.path}`)}}if(e.resources?.outputBaselineId){let t=`ai-delivery/output-baselines@1/${e.resources.outputBaselineId.slice(7)}`;s(w(r,`${t}.json`),`git/${t}.json`),s(w(r,`${t}.state.json`),`git/${t}.state.json`)}}}};s(w(e,`.issue-cli`,`issues`,String(t.issueNumber)),`repository/.issue-cli/issues/${String(t.issueNumber)}`),n||s(w(t.path,`.issue-cli`),`worktree/.issue-cli`);let c=B(T(t.path)).slice(7);s(w(r,`ai-delivery`,`runs@2`,c),`git/ai-delivery/runs@2/${c}`),s(w(r,`ai-delivery`,`writers@1`,`${c}.json`),`git/ai-delivery/writers@1/${c}.json`);let l=w(e,`.issue-cli`,`receipts`),u=t=>{if(!Ox(t))return;let n=o(t);if(n.isSymbolicLink())throw new L(`Historical receipt inventory contains a link.`);if(n.isDirectory())for(let e of f(t).sort())u(w(t,e));else[...a].some(e=>t.includes(e))&&s(t,`repository/${ie(e,t)}`)};u(l);for(let e of[`publications`,`reviews`,`merges`,`merge-intents`,`merge-attempts`,`merge-results`])s(w(r,`ai-delivery`,e,String(t.issueNumber)),`git/ai-delivery/${e}/${String(t.issueNumber)}`);for(let e of[...a].sort())s(w(r,`ai-delivery`,`runs`,`${e}.json`),`git/ai-delivery/runs/${e}.json`);return[...i.values()].sort((e,t)=>e.path.localeCompare(t.path))}var jx=P({schemaVersion:I(`ai-delivery.worktree-transition-intent@1`),intentId:R,plan:wx,relinquishmentCommentId:A().int().positive(),acceptanceCommentId:A().int().positive(),originalRegistryDigest:R,originalWriterDigest:R.nullable()}).superRefine((e,t)=>{let{intentId:n,...r}=e;n!==B(r)&&t.addIssue({code:`custom`,message:`Transition intent is corrupt.`})}),Mx=P({schemaVersion:I(`ai-delivery.worktree-transition-step@1`),planId:R,intentId:R,attemptId:rl(),event:F([`authority`,`claim`,`claimed`,`release`,`released`,`row`,`owner`,`removal-intent`,`removed`]),sequence:A().int().positive().safe(),predecessorId:R.nullable(),data:Ul(k(),Ol()),stepId:R}),Nx=P({schemaVersion:I(`ai-delivery.worktree-transition-completion@1`),completionId:R,planId:R,intentId:R,completed:I(!0),writerReleased:I(!0),result:F([`active-resumed`,`retained`,`removed`]),rowAfter:Sx.nullable(),inventoryId:R,attempts:M(R).min(1),completedAt:vu()}).superRefine((e,t)=>{let{completionId:n,...r}=e;n!==B(r)&&t.addIssue({code:`custom`,message:`Transition completion is corrupt.`})});function Px(e){let t=w(W(e.repoRoot),`ai-delivery`,`worktree-owners`,`issue-${String(e.row.issueNumber)}.transition.json`);return{intent:t,directory:`${t}.evidence`,blobs:w(`${t}.evidence`,`bytes`)}}function Fx(e,t){Au(e,Buffer.from(z(t)))}function Ix(e,t){let n=V(t);return Au(w(e,`${n.slice(7)}.bin`),t,n),n}function Lx(e,t){let n=H(w(e,`${R.parse(t).slice(7)}.bin`));if(V(n)!==t)throw new L(`Preserved transition evidence is corrupt.`);return n}function Rx(e){let t=B({planId:e.planId,purpose:`transition-writer`}).slice(7);return`${t.slice(0,8)}-${t.slice(8,12)}-5${t.slice(13,16)}-8${t.slice(17,20)}-${t.slice(20,32)}`}function zx(e,t){if(!Ox(e))return[];let n=null;return f(e).sort((e,t)=>Number(e.split(`.`)[0])-Number(t.split(`.`)[0])).map((r,i)=>{if(!/^[1-9]\d*\.[a-f0-9-]{36}\.(?:authority|claim|claimed|release|released|row|owner|removal-intent|removed)\.json$/u.test(r))throw new L(`Transition attempt inventory contains an unsupported record.`);let a=Mx.parse(JSON.parse(H(w(e,r)).toString(`utf8`))),{stepId:o,...s}=a;if(o!==B(s)||a.intentId!==t.intentId||a.planId!==t.plan.planId||a.sequence!==i+1||a.predecessorId!==n||r!==`${String(a.sequence)}.${a.attemptId}.${a.event}.json`)throw new L(`Transition attempt record is corrupt or belongs to another intent.`);return n=o,a})}function Bx(e,t){let n=[e.originalWriterDigest],r,i;for(let e of t)if(e.event===`claim`){let t=R.parse(e.data.bytesDigest),a=e.data.previousBytesDigest===null?null:R.parse(e.data.previousBytesDigest);if(!n.includes(a))throw new L(`Transition claim predecessor is outside its exact writer lineage.`);n=[a,t],r={attemptId:e.attemptId,bytesDigest:t},i=void 0}else if(e.event===`claimed`||e.event===`release`){if(!r||e.attemptId!==r.attemptId||e.data.bytesDigest!==r.bytesDigest)throw new L(`Transition claim/release acknowledgement belongs to another writer lineage.`);n=e.event===`claimed`?[r.bytesDigest]:[r.bytesDigest,null],e.event===`release`&&(i=e.attemptId)}else if(e.event===`released`){if(i!==e.attemptId||e.data.absent!==!0)throw new L(`Transition absence lacks its exact latest release intent.`);n=[null]}return n}function Vx(e,t,n){t.originalWriterDigest!==null&&Lx(e,t.originalWriterDigest);for(let t of n)[`authority`,`claim`,`claimed`,`release`].includes(t.event)&&Lx(e,R.parse(t.data.bytesDigest))}async function Hx(e,t,n,r,i){if(!e.configuration||e.root!==t.repoRoot||e.config.repository!==t.repository)throw new L(`Transition repository or current configuration drifted.`);if(z(await sv({repoRoot:t.repoRoot,configuration:e.configuration,...i===void 0?{}:{runtimeEntryPath:i}}))!==z(t.currentRuntime)||V(kx(e.configuration.policyModulePath))!==t.policyDigest)throw new L(`Transition current runtime/configuration/policy drifted.`);let{inventory:a,...o}=Ex(e,t.closure.admissionPath,t.closure.archivePath),{family:s,runManifestIds:c,...l}=t.closure;if(z(o)!==z(l))throw new L(`Retained operational producer drifted.`);for(let e of[`v1`,`v2`])if(Ox(w(W(t.repoRoot),`issue-cli`,`verification-stages`,e)))throw new L(`Unsupported operative issue-cli verification-stages/${e}; supported closure is missing.`);let u=!Ox(t.row.path);if(u&&(!r||t.disposition!==`remove`))throw new L(`Transition source disappeared without recorded removal intent.`);if(!u){if(Jh(t.row.path)!==t.row.path||W(t.row.path)!==W(t.repoRoot)||U(t.row.path,`branch`,`--show-current`)!==t.row.branch)throw new L(`Transition worktree ownership or branch drifted.`);Zh(t.row.path)}let d=u?t.repoRoot:t.row.path,f=u?t.row.branch:`HEAD`;if(U(d,`rev-parse`,f)!==t.head.sha||U(d,`rev-parse`,`${f}^{tree}`)!==t.head.tree)throw new L(`Transition exact source coordinates drifted.`);let p=await Zx(e,t.row,t.terminalPrNumber);if(z(p)!==z(t.lineage))throw new L(`Transition authenticated native PR lineage or complete PR set drifted.`);if(t.disposition===`remove`){let n=t.lineage.find(e=>e.prNumber===t.terminalPrNumber);if(!n||z(await $x(e,t.row.branch,n.baseBranch))!==z(t.remoteRefs)||U(t.repoRoot,`rev-parse`,$h(t.repoRoot,e.configuration.remote))!==t.remoteRefs?.baseSha)throw new L(`Transition native remote branch readback or local retaining ref drifted.`);if(a.some(e=>{let n=ie(t.row.path,e.source);return n===``||!n.startsWith(`..`)&&!n.startsWith(`/`)}))throw new L(`Retained operational producer must remain outside the source selected for removal.`)}let m=(await e.clients.rest.issues.get({...e.repo,issue_number:t.row.issueNumber})).data;if(m.state!==(t.purpose===`merged-cleanup`?`closed`:`open`))throw new L(`Transition native issue state drifted.`);for(let n of t.holdEvidence){let t=(await e.clients.rest.issues.getComment({...e.repo,comment_id:n.commentId})).data;if(V(Buffer.from(z(t)))!==n.digest)throw new L(`Retained native hold evidence drifted.`)}let h=[...Ax(t.repoRoot,t.row,u),...a].sort((e,t)=>e.path.localeCompare(t.path));if(Qx(t.repoRoot,t.row,t.purpose,t.terminalPrNumber,t.head,p,m.state,h),z(Dx(t.repoRoot,t.row,h,o.producerDigest,t.head))!==z(t.closure.runManifestIds))throw new L(`Operational run inventory IDs drifted.`);if(h.filter(e=>e.path.startsWith(`git/ai-delivery/runs@2/`)).some(e=>Fb(kx(e.source)).classification.repository!==t.repository))throw new L(`Operational run inventory belongs to another repository.`);let g=e=>e.filter(e=>!e.path.startsWith(`git/ai-delivery/writers@1/`)&&!(u&&e.path.startsWith(`worktree/`)));if(z(g(h))!==z(g(t.inventory)))throw new L(`Transition complete historical writer/run/stage inventory drifted.`);if(n&&h.some(e=>e.path.startsWith(`git/ai-delivery/writers@1/`)&&!t.inventory.some(t=>z(t)===z(e))))throw new L(`Original transition writer evidence drifted.`)}async function Ux(e,t){if(t.authority!==`worktree:transition`)throw new L(`Explicit exact-plan worktree transition authority is required.`);let n=wx.parse(JSON.parse(kx(m(t.planPath)).toString(`utf8`)));if(n.planId!==t.expectedPlanId)throw new L(`Transition expected plan identity disagrees.`);let r=Px(n),i=w(r.directory,`completion.json`),a=w(r.directory,`attempts`),o;if(Ox(r.intent)&&(o=jx.parse(JSON.parse(H(r.intent).toString(`utf8`))),z(o.plan)!==z(n)||o.relinquishmentCommentId!==t.relinquishmentCommentId||o.acceptanceCommentId!==t.acceptanceCommentId))throw new L(`Pending transition requires its original exact plan and native authority IDs.`);let s=n.purpose===`active-resume`?`active-resumed`:n.disposition===`retain`?`retained`:`removed`;if(Ox(i)){if(!o)throw new L(`Transition completion lacks its durable intent.`);let c=Nx.parse(JSON.parse(H(i).toString(`utf8`))),l=zx(a,o);if(c.planId!==n.planId||c.intentId!==o.intentId||c.result!==s||c.inventoryId!==n.inventoryId||z(c.attempts)!==z(l.map(e=>e.stepId))||z(Bx(o,l))!==z([null]))throw new L(`Transition completion is corrupt.`);for(let e of n.inventory)Lx(r.blobs,e.digest);Lx(r.blobs,o.originalRegistryDigest),Vx(r.blobs,o,l);for(let e of n.holdEvidence)Lx(r.blobs,e.digest);return await Hx(e,n,!1,zx(a,o).some(e=>e.event===`removal-intent`),t.runtimeEntryPath),await Jx(e,n,t),await Eb(n.repoRoot,n.row.path,()=>$v(n,async({current:e})=>{if(z(e??null)!==z(c.rowAfter))throw new L(`Sealed transition registry postcondition drifted.`);if(ey(n),s===`removed`){if(Ox(n.row.path)||e!==void 0)throw new L(`Removed transition source was recreated; terminal absence postcondition drifted.`)}else if(!e||!Ox(n.row.path))throw new L(`Sealed transition source or owner witness disappeared.`)})),{planId:n.planId,result:s,replayed:!0,receiptPath:i}}let c=le(),l=o===void 0?[]:zx(a,o),u=(e,t)=>{if(!o)throw new L(`Transition step lacks durable intent.`);let r={schemaVersion:`ai-delivery.worktree-transition-step@1`,planId:n.planId,intentId:o.intentId,attemptId:c,event:e,data:t,sequence:l.length+1,predecessorId:l.at(-1)?.stepId??null},i=Mx.parse({...r,stepId:B(r)});Bx(o,[...l,i]),Fx(w(a,`${String(i.sequence)}.${c}.${e}.json`),i),l.push(i)},d=[...l],f=null,p,h=!1,g=null;return await Db({repoRoot:n.repoRoot,worktreePath:n.row.path,writerId:Rx(n),beforeClaim:async({previousBytes:i})=>{await $v(n,async({current:s})=>{o!==void 0&&(l=zx(a,o));let c=d.some(e=>e.event===`removal-intent`);if(s===void 0&&!c)throw new L(`Transition row disappeared without recorded removal intent.`);await Hx(e,n,o===void 0,c,t.runtimeEntryPath);let p=await Jx(e,n,t);if(o===void 0){let e=n.inventory.find(e=>e.path.startsWith(`git/ai-delivery/writers@1/`));if(i===void 0!=(e===void 0)||i!==void 0&&V(i)!==e?.digest)throw new L(`Original transition writer bytes or absence drifted.`);let a=Ix(r.blobs,kx(w(n.repoRoot,`.issue-cli`,`worktrees.json`))),s={schemaVersion:`ai-delivery.worktree-transition-intent@1`,plan:n,relinquishmentCommentId:t.relinquishmentCommentId,acceptanceCommentId:t.acceptanceCommentId,originalRegistryDigest:a,originalWriterDigest:i===void 0?null:V(i)};o=jx.parse({...s,intentId:B(s)}),Fx(r.intent,o),tS(r.blobs,n.inventory)}else{for(let e of n.inventory){if(!Ox(w(r.blobs,`${e.digest.slice(7)}.bin`))){if(e.path.startsWith(`git/ai-delivery/writers@1/`)){if(i===void 0||V(i)!==e.digest)throw new L(`Original writer was lost before preservation.`);Ix(r.blobs,i)}else tS(r.blobs,[e])}Lx(r.blobs,e.digest)}let e=i===void 0?null:V(i);if(!Bx(o,l).includes(e))throw new L(`Writer bytes/absence are outside the latest exact transition claim/release lineage.`);e!==null&&Lx(r.blobs,e)}f=i===void 0?null:V(i),Lx(r.blobs,o.originalRegistryDigest),Vx(r.blobs,o,l),u(`authority`,{bytesDigest:Ix(r.blobs,Buffer.from(z(p))),relinquishmentCommentId:t.relinquishmentCommentId,acceptanceCommentId:t.acceptanceCommentId});for(let t of n.holdEvidence){let n=(await e.clients.rest.issues.getComment({...e.repo,comment_id:t.commentId})).data;if(Ix(r.blobs,Buffer.from(z(n)))!==t.digest)throw new L(`Retained hold changed during preservation.`)}})},recordClaim:e=>{p=Ix(r.blobs,e),u(`claim`,{bytesDigest:p,previousBytesDigest:f})},afterClaim:e=>{if(V(e)!==p)throw new L(`Actual writer claim bytes disagree with their recorded intent.`);u(`claimed`,{bytesDigest:p})},recordRelease:e=>{if(V(e)!==p)throw new L(`Writer changed before its exact recorded release.`);u(`release`,{bytesDigest:Ix(r.blobs,e)})},afterRelease:async()=>{u(`released`,{absent:!0}),h&&o&&await $v(n,async({current:e})=>{if(z(e??null)!==z(g))throw new L(`Transition row changed before completion sealing.`);for(let e of n.inventory)Lx(r.blobs,e.digest);let t=zx(a,o);Vx(r.blobs,o,t);let c={schemaVersion:`ai-delivery.worktree-transition-completion@1`,planId:n.planId,intentId:o.intentId,completed:!0,writerReleased:!0,result:s,rowAfter:g,inventoryId:n.inventoryId,attempts:t.map(e=>e.stepId),completedAt:new Date().toISOString()};Fx(i,{...c,completionId:B(c)})})}},async()=>{await $v(n,async({current:r,writeOwner:i,commitRow:a,removeRow:o})=>{let s=d.some(e=>e.event===`removal-intent`);if(await Hx(e,n,!1,s,t.runtimeEntryPath),await Jx(e,n,t),r!==void 0&&(i(),u(`owner`,{exactWitness:!0}),g=a(),u(`row`,{rowDigest:B(g)})),n.disposition===`remove`){if(u(`removal-intent`,{head:n.head,path:n.row.path}),bx(n,e.configuration?.remote),Ox(n.row.path))throw new L(`Terminal source removal readback is not absent.`);u(`removed`,{absent:!0}),o(),g=null}h=!0})}),{planId:n.planId,result:s,replayed:d.length>0,receiptPath:i}}async function Wx(e){if(e.clients.authSource!==`personal`||e.clients.role!==`author`||!e.clients.authenticatedAuthor)throw new L(`Worktree relinquishment requires the configured authenticated personal operator.`);let t=await e.clients.authenticatedAuthor();if(!/^user:[1-9]\d*$/u.test(t.credentialIdentity))throw new L(`Operator user identity is unavailable.`);let n=await um({config:e.config,identity:e.config.roles.reviewer.identity,role:`reviewer`,selectedAuthor:e.clients});if(n.authSource!==`app`||!n.appActorLogin)throw new L(`Configured reviewer App identity is unavailable.`);let r=await n.appActorLogin();if(r.toLowerCase()===t.actorLogin.toLowerCase())throw new L(`Transition acceptance requires a distinct configured reviewer App.`);return{operator:t,reviewerActor:r,reviewer:n}}function Gx(e){return z({schemaVersion:`ai-delivery.worktree-relinquishment@1`,plan:qx(e),acceptedScope:`the-complete-content-addressed-plan-and-every-original-in-its-inventory`,authority:`relinquish-only-the-inventoried-public-posix-writers`,operationalClosure:`the-inventory-is-the-complete-remaining-launcher-writer-and-managed-process-set-all-are-quiescent-no-unknown-resources`,maintainedExclusion:`all-old-launchers-and-writers-remain-excluded-through-apply-including-interruption-and-exact-plan-replay`,historicalAuthority:`preservation-only-no-current-verification-review-or-retirement-authority`,sourceDisposition:e.disposition===`remove`?`no-outstanding-holds-remove-only-clean-merged-source`:`retain-source-and-all-outstanding-holds`,exclusions:[`private-adoption`,`hold-release`,`launcher-changes`,`shared-runtime-admission`,`legacy-protocol-retirement`]})}function Kx(e,t){return z({schemaVersion:`ai-delivery.worktree-transition-acceptance@1`,plan:qx(e),acceptedScope:`independent-acceptance-of-the-complete-content-addressed-plan-and-inventory-including-complete-launcher-set-and-maintained-exclusion`,relinquishmentCommentId:t,relinquishmentDigest:V(Buffer.from(Gx(e))),result:`approved`})}function qx(e){let t=wx.parse(e);return{planId:t.planId,inventoryId:t.inventoryId,repository:t.repository,repoRoot:t.repoRoot,row:t.row,head:t.head,purpose:t.purpose,disposition:t.disposition,terminalPrNumber:t.terminalPrNumber,lineage:t.lineage,remoteRefs:t.remoteRefs,holdEvidence:t.holdEvidence,closure:t.closure,currentRuntimeId:t.currentRuntime.admissionId,currentConfigDigest:t.currentRuntime.configDigest,policyDigest:t.policyDigest,operator:t.operator,reviewerActor:t.reviewerActor,historicalProducer:t.historicalProducer}}async function Jx(e,t,n){let r=await Wx(e);if(z(r.operator)!==z(t.operator)||r.reviewerActor!==t.reviewerActor)throw new L(`Configured transition authority identities drifted.`);if(t.lineage.some(e=>e.authorLogin.toLowerCase()===r.reviewerActor.toLowerCase()))throw new L(`Configured transition reviewer App is also the native PR author.`);let i=t.terminalPrNumber??t.row.issueNumber;return Yx(e,{repository:t.repository,subject:i,operator:t.operator,reviewerActor:t.reviewerActor,authorityCommentId:n.relinquishmentCommentId,acceptanceCommentId:n.acceptanceCommentId,operatorBody:Gx(t),reviewerBody:Kx(t,n.relinquishmentCommentId),revokedBody:z({schemaVersion:`ai-delivery.worktree-relinquishment-revocation@1`,planId:t.planId,relinquishmentCommentId:n.relinquishmentCommentId})})}async function Yx(e,t){let n=await Wx(e);if(z(n.operator)!==z(t.operator)||n.reviewerActor!==t.reviewerActor)throw new L(`Configured transition authority identities drifted.`);let r=t.subject,i=`https://api.github.com/repos/${t.repository}/issues/${String(r)}`,a=(await e.clients.rest.issues.getComment({...e.repo,comment_id:t.authorityCommentId})).data,o=(await n.reviewer.rest.issues.getComment({...e.repo,comment_id:t.acceptanceCommentId})).data;if(a?.id!==t.authorityCommentId||a.issue_url?.toLowerCase()!==i.toLowerCase()||a.user?.type!==`User`||a.user?.login.toLowerCase()!==n.operator.actorLogin.toLowerCase()||`user:${String(a.user?.id)}`!==n.operator.credentialIdentity||a.body!==t.operatorBody)throw new L(`Native operator relinquishment is missing, changed or belongs to another subject.`);if(o?.id!==t.acceptanceCommentId||o.issue_url?.toLowerCase()!==i.toLowerCase()||o.user?.type!==`Bot`||o.user.login.toLowerCase()!==n.reviewerActor.toLowerCase()||o.body!==t.reviewerBody)throw new L(`Native configured reviewer-App exact-plan acceptance is missing or changed.`);for(let i=1;;i+=1){let a=(await e.clients.rest.issues.listComments({...e.repo,issue_number:r,per_page:100,page:i})).data;if(a.some(e=>e.body===t.revokedBody&&e.user?.login.toLowerCase()===n.operator.actorLogin.toLowerCase()&&`user:${String(e.user.id)}`===n.operator.credentialIdentity))throw new L(`Native operator relinquishment has been revoked.`);if(a.length<100)break}return{relinquishment:a,acceptance:o}}async function Xx(e,t,n){let r=(await e.clients.rest.pulls.get({...e.repo,pull_number:n})).data,i=(await e.clients.graphql(`query WorktreeTransitionLineage($owner: String!, $repo: String!, $number: Int!) {
|
|
246
|
+
repository(owner: $owner, name: $repo) { pullRequest(number: $number) {
|
|
247
|
+
closingIssuesReferences(first: 100) { nodes { number repository { nameWithOwner } } pageInfo { hasNextPage } }
|
|
248
|
+
} }
|
|
249
|
+
}`,{...e.repo,number:n})).repository.pullRequest?.closingIssuesReferences;if(r.number!==n||r.head.repo?.full_name.toLowerCase()!==e.config.repository.toLowerCase()||r.base.repo.full_name.toLowerCase()!==e.config.repository.toLowerCase()||!i||i.pageInfo.hasNextPage||!i.nodes.some(n=>n.number===t&&n.repository.nameWithOwner.toLowerCase()===e.config.repository.toLowerCase()))throw new L(`Native PR lineage does not establish the exact repository and closing issue.`);return Cx.parse({prNumber:n,headSha:r.head.sha,headBranch:r.head.ref,baseSha:r.base.sha,baseBranch:r.base.ref,mergeSha:r.merge_commit_sha,merged:r.merged,authorLogin:r.user?.login})}async function Zx(e,t,n){let r=[...new Set([t.prNumber,n].filter(e=>e!=null))];return Promise.all(r.map(n=>Xx(e,t.issueNumber,n)))}function Qx(e,t,n,r,i,a,o,s){if(n===`active-resume`){if(![`active`,`pr-published`].includes(t.status)||o!==`open`||a.some(e=>e.merged||e.headSha!==i.sha||e.headBranch!==t.branch))throw new L(`Active resume requires the exact open issue and unmerged source lineage.`);if(s.some(e=>/^git\/ai-delivery\/(?:publications|reviews|merges|merge-intents|merge-attempts|merge-results)\//u.test(e.path)))throw new L(`Existing current publication/review/merge slots require separate authority reconciliation; active resume cannot overwrite them.`)}else{let n=a.find(e=>e.prNumber===r);if(!n||o!==`closed`||!n.merged||n.headSha!==i.sha||n.headBranch!==t.branch||a.some(r=>!r.merged||!r.mergeSha||r.headBranch!==t.branch||r.baseBranch!==n.baseBranch||qh(e,`merge-base`,`--is-ancestor`,r.mergeSha,r.prNumber===n.prNumber?n.mergeSha:i.sha)!==0))throw new L(`Terminal native PR lineage or merged-result ancestry does not bind the retained exact source.`)}}async function $x(e,t,n){let r=async t=>{try{let n=(await e.clients.rest.repos.getBranch({...e.repo,branch:t})).data;if(n.name!==t)throw new L(`Native branch readback belongs to another ref.`);return bu.parse(n.commit.sha)}catch(e){if(e.status===404)return null;throw e}},i=await r(t),a=await r(n);if(a===null)throw new L(`Native retaining base branch is missing.`);return{headSha:i,baseSha:a}}async function eS(e,t){let n=[],r=Yh(e.root),i=ay(r).filter(e=>e.type===`issue`&&e.issueNumber===t.issueNumber);if(i.length!==1)return{ready:!1,blockers:[`Expected one canonical legacy issue row.`],plan:null,inventory:[]};let a=[];try{let o=Sx.parse(i[0]);if(a.push(...Ax(r,o)),!e.configuration||e.config.repository!==`${e.repo.owner}/${e.repo.repo}`)throw new L(`Transition requires exact current repository configuration.`);if(o.path!==w(r,`.worktrees`,`issue-${String(o.issueNumber)}`)||o.branch!==`issue/${String(o.issueNumber)}`||Jh(o.path)!==m(o.path)||W(o.path)!==W(r)||U(o.path,`branch`,`--show-current`)!==o.branch)throw new L(`Legacy row path, branch or Git ownership disagrees.`);Zh(o.path);for(let e of[`v1`,`v2`])Ox(w(W(r),`issue-cli`,`verification-stages`,e))&&n.push(`Unsupported operative issue-cli verification-stages/${e}; no authenticated supported operational closure is available.`);if((!t.retainedAdmissionPath||!t.retainedArchivePath)&&n.push(`Missing retained supported public producer admission/archive and operational closure. Historical UNKNOWN is preservation-only.`),n.length>0)return{ready:!1,blockers:n,plan:null,inventory:a};let s=await sv({repoRoot:r,configuration:e.configuration,...t.runtimeEntryPath===void 0?{}:{runtimeEntryPath:t.runtimeEntryPath}}),{inventory:c,...l}=Ex(e,m(t.retainedAdmissionPath),m(t.retainedArchivePath));a.push(...c);let u={sha:U(o.path,`rev-parse`,`HEAD`),tree:U(o.path,`rev-parse`,`HEAD^{tree}`)},d=Dx(r,o,a,l.producerDigest,u);if(a.filter(e=>e.path.startsWith(`git/ai-delivery/runs@2/`)).some(t=>Fb(kx(t.source)).classification.repository!==e.config.repository))throw new L(`Operational run inventory belongs to another repository.`);if(t.disposition===`remove`&&c.some(e=>{let t=ie(o.path,e.source);return t===``||!t.startsWith(`..`)&&!t.startsWith(`/`)}))throw new L(`Retained operational producer must remain outside the source selected for removal.`);let f=a.find(e=>e.path.startsWith(`git/ai-delivery/writers@1/`));wb(o.path,f===void 0?void 0:kx(f.source));let p=t.purpose===`merged-cleanup`?t.terminalPrNumber??o.prNumber??null:null,h=await Zx(e,o,p),g=(await e.clients.rest.issues.get({...e.repo,issue_number:o.issueNumber})).data;Qx(r,o,t.purpose,p,u,h,g.state,a);let _=await Wx(e);if(h.some(e=>e.authorLogin.toLowerCase()===_.reviewerActor.toLowerCase()))throw new L(`Configured transition reviewer App is also the native PR author.`);let v=t.disposition===`remove`?await $x(e,o.branch,h.find(e=>e.prNumber===p).baseBranch):null;if(v&&(v.headSha!==null&&v.headSha!==u.sha||U(r,`rev-parse`,$h(r,e.configuration.remote))!==v.baseSha))throw new L(`Native remote branch readback disagrees with exact source or local retaining ref.`);let y=[...t.retainedHoldCommentIds??[]].sort((e,t)=>e-t);if(new Set(y).size!==y.length)throw new L(`Retained hold inventory has duplicates.`);let b=[];for(let t of y){let n=(await e.clients.rest.issues.getComment({...e.repo,comment_id:t})).data;if(!n.body||n.issue_url?.toLowerCase()!==`https://api.github.com/repos/${e.config.repository}/issues/${String(p??o.issueNumber)}`.toLowerCase())throw new L(`Retained hold comment belongs to another subject or is unavailable.`);let r=Buffer.from(z(n));b.push({commentId:t,digest:V(r)})}a.sort((e,t)=>e.path.localeCompare(t.path));let x={schemaVersion:`ai-delivery.worktree-transition-plan@1`,repository:e.config.repository,repoRoot:r,row:o,purpose:t.purpose,disposition:t.disposition??`retain`,head:u,terminalPrNumber:p,lineage:h,remoteRefs:v,retainedHoldCommentIds:y,holdEvidence:b,inventory:a,inventoryId:B(a),historicalProducer:`UNKNOWN`,closure:{family:`public-ai-delivery-0.3.5-posix@1`,...l,runManifestIds:d},currentRuntime:s,policyDigest:V(kx(e.configuration.policyModulePath)),operator:_.operator,reviewerActor:_.reviewerActor},ee=wx.parse({...x,planId:B(x)});return{ready:!0,blockers:n,plan:ee,inventory:a,relinquishmentBody:Gx(ee)}}catch(e){return n.push(e instanceof Error?e.message:String(e)),{ready:!1,blockers:n,plan:null,inventory:a}}}function tS(e,t){for(let n of t){let t=kx(n.source);if(t.length!==n.size||V(t)!==n.digest)throw new L(`Historical evidence drifted: ${n.path}`);Au(w(e,`${n.digest.slice(7)}.bin`),t,n.digest)}}var nS=k().regex(/^sha256:[a-f0-9]{64}$/u),rS=k().regex(/^[a-f0-9]{40}$/u),iS=N({baseSha:rS,evidenceId:nS,headSha:rS,issueNumber:A().int().positive(),prNumber:A().int().positive(),publicationId:nS,schemaVersion:I(`ai-delivery.publication@1`)}).strict().superRefine((e,t)=>{let{publicationId:n,...r}=e;n!==B(r)&&t.addIssue({code:`custom`,message:`Publication identity is invalid.`})}),aS=F([`merge`,`squash`,`rebase`]),oS=N({baseBranch:k().regex(/^[A-Za-z0-9._/-]+$/u),baseSha:rS,evidenceId:nS,exactBaseHeadLease:j(),headBranch:k().regex(/^[A-Za-z0-9._/-]+$/u),headSha:rS,headTree:rS,intentId:nS,issueNumber:A().int().positive(),prNumber:A().int().positive(),reviewReceiptId:nS,schemaVersion:I(`ai-delivery.merge-intent@2`),strategy:aS}).strict(),sS=oS.superRefine((e,t)=>{let{intentId:n,...r}=e;n!==B(r)&&t.addIssue({code:`custom`,message:`Merge intent identity is invalid.`})}),cS=N({actor:k().min(1),actorLogin:k().min(1),attemptId:nS,authSource:F([`app`,`personal`]),credentialIdentity:k().min(1),intentId:nS,operation:F([`pulls.merge`,`updateRefs`]),schemaVersion:I(`ai-delivery.merge-attempt@1`)}).strict().superRefine((e,t)=>{let{attemptId:n,...r}=e;n!==B(r)&&t.addIssue({code:`custom`,message:`Merge attempt identity is invalid.`})}),lS=N({attemptId:nS,mergeSha:rS,resultId:nS,schemaVersion:I(`ai-delivery.merge-result@1`)}).strict().superRefine((e,t)=>{let{resultId:n,...r}=e;n!==B(r)&&t.addIssue({code:`custom`,message:`Merge result identity is invalid.`})}),uS=oS.omit({intentId:!0,schemaVersion:!0}).extend({intentId:nS,mergeId:nS,mergeSha:rS,mergeTree:rS,schemaVersion:I(`ai-delivery.merge@3`)}).strict().superRefine((e,t)=>{let{mergeId:n,...r}=e;n!==B(r)&&t.addIssue({code:`custom`,message:`Merge identity is invalid.`})});function dS(e,t,n){return w(W(e),`ai-delivery`,`publications`,String(t),`${n}.json`)}function fS(e,t,n){return w(W(e),`ai-delivery`,`merges`,String(t),`${n}.json`)}function pS(e,t,n){return w(W(e),`ai-delivery`,`merge-intents`,String(t),`${n}.json`)}function mS(e,t,n){return w(W(e),`ai-delivery`,`merge-attempts`,String(t),`${n}.json`)}function hS(e,t,n){return w(W(e),`ai-delivery`,`merge-results`,String(t),`${n}.json`)}function gS(e,t){let n;try{n=JSON.parse(H(e).toString(`utf8`))}catch(e){if(e.code===`ENOENT`)return null;throw new L(`Stored lifecycle receipt is unreadable.`)}try{return t(n)}catch{throw new L(`Stored lifecycle receipt is corrupt.`)}}function _S(e,t){let n;try{n=JSON.parse(H(e).toString(`utf8`))}catch{throw new L(`Required private lifecycle receipt is missing or unreadable.`)}return t(n)}function vS(e,t,n){return _S(dS(e,t,n),e=>iS.parse(e))}function yS(e){if((e.match(/^## Delivery Impact\s*$/gmu)??[]).length!==1||(e.match(/^Roadmap impact:\s*(?:updated|none)\s*$/gmu)??[]).length!==1||(e.match(/^Docs impact:\s*(?:updated|none)\s*$/gmu)??[]).length!==1)throw new L(`PR body requires one Delivery Impact section with Roadmap impact and Docs impact.`)}function bS(e,t){let n=mm(e,t),r=$h(e,n).slice(`refs/remotes/${n}/`.length);if(!/^[A-Za-z0-9._/-]+$/u.test(r))throw new L(`Invalid configured default branch.`);return r}async function xS(e,t,n,r){await cm(e.clients,e=>{let i={PATH:process.env.PATH??``,GIT_CONFIG_GLOBAL:`/dev/null`,GIT_CONFIG_NOSYSTEM:`1`},a=S(`git`,[`config`,`--includes`,`--get-regexp`,`^(url\\..*\\.(insteadof|pushinsteadof)|http(\\..*)?\\.extraheader)$`],{cwd:t,env:i,encoding:`utf8`,stdio:[`ignore`,`pipe`,`pipe`]});if(a.error||a.status!==0&&a.status!==1)throw new L(`Cannot verify effective Git HTTP transport configuration (git exit ${String(a.status)}).`);if(a.status===0)throw new L(`Local Git transport configuration conflicts with selected author authentication.`);let o=c(w(he(),`ai-delivery-git-auth-`)),s=w(o,`askpass.sh`);try{b(s,`#!/bin/sh
|
|
250
|
+
case "$1" in
|
|
251
|
+
*Username*) printf "%s\\n" x-access-token ;;
|
|
252
|
+
*Password*) printf "%s\\n" "$AI_DELIVERY_GIT_TOKEN" ;;
|
|
253
|
+
*) exit 1 ;;
|
|
254
|
+
esac
|
|
255
|
+
`,{mode:448}),x(`git`,[`-c`,`credential.helper=`,...n],{cwd:t,encoding:`utf8`,env:{...i,AI_DELIVERY_GIT_TOKEN:e,GIT_ASKPASS:s,GIT_TERMINAL_PROMPT:`0`},maxBuffer:4194304,stdio:[`ignore`,`pipe`,`pipe`]})}catch(t){let n=String(t.stderr??``).trim().replaceAll(e,`[redacted]`);throw new L(`git ${r} failed${n?`: ${n}`:``}`)}finally{g(o,{recursive:!0,force:!0})}})}async function SS(e,t,n,r){await xS(e,t,[`push`,`https://github.com/${e.repo.owner}/${e.repo.repo}.git`,`${r}:refs/heads/${n}`],`push`)}async function CS(e,t){let n=mm(e.root,e.configuration?.remote),r=`${t}:refs/remotes/${n}/${t}`,i=U(e.root,`remote`,`get-url`,n);if(ne(i)||i.startsWith(`file://`)){U(e.root,`fetch`,n,r);return}await xS(e,e.root,[`fetch`,`https://github.com/${e.repo.owner}/${e.repo.repo}.git`,r],`fetch`)}async function wS(e,t){if(t.prNumber!==void 0){let n=(await e.clients.rest.pulls.get({...e.repo,pull_number:t.prNumber})).data;return{number:n.number,state:n.state,headSha:n.head.sha,baseSha:n.base.sha,draft:n.draft??null,authorLogin:n.user?.login??null,url:n.html_url}}if(t.issueNumber===void 0)throw new L(`Provide an issue or PR number.`);let n=ny(t.issueNumber,e.root),r=(await e.clients.rest.pulls.list({...e.repo,head:`${e.repo.owner}:${n.branch}`,state:`open`,per_page:100})).data;if(r.length>1)throw new L(`Multiple open PRs match the registered branch.`);let i=r[0];return i?{number:i.number,state:i.state,headSha:i.head.sha,baseSha:i.base.sha,draft:i.draft??null,authorLogin:i.user?.login??null,url:i.html_url}:{number:null,state:null,headSha:null,baseSha:null,draft:null,authorLogin:null,url:null}}async function TS(e,t=`open`){return{schemaVersion:`ai-delivery.pr-list@1`,pullRequests:(await e.clients.rest.paginate(e.clients.rest.pulls.list,{...e.repo,state:t,per_page:100})).map(e=>({number:e.number,state:e.state,draft:e.draft??!1,headSha:e.head.sha,baseSha:e.base.sha,url:e.html_url}))}}async function ES(e,t){let n=(await e.clients.rest.pulls.get({...e.repo,pull_number:t})).data,[r,i,a]=await Promise.all([e.clients.rest.checks.listForRef({...e.repo,ref:n.head.sha,per_page:100}),e.clients.rest.repos.getCombinedStatusForRef({...e.repo,ref:n.head.sha}),W_(e,t,n.head.sha)]);return{schemaVersion:`ai-delivery.pr-checks@1`,prNumber:n.number,headSha:n.head.sha,combinedStatus:i.data.state,reviewState:a,checkRuns:r.data.check_runs.map(e=>({name:e.name,status:e.status,conclusion:e.conclusion}))}}async function DS(e,t){if(!Number.isSafeInteger(t)||t<=0)throw new L(`PR number must be positive.`);let n=(await e.clients.rest.pulls.get({...e.repo,pull_number:t})).data,r=`${e.repo.owner}/${e.repo.repo}`.toLowerCase();if(n.state!==`open`||n.head.repo?.full_name.toLowerCase()!==r||n.base.repo?.full_name.toLowerCase()!==r||qh(e.root,`check-ref-format`,`--branch`,n.head.ref)!==0)throw new L(`PR checkout requires an open in-repository branch with a valid ref.`);if((await e.clients.rest.git.getRef({...e.repo,ref:`heads/${n.head.ref}`})).data.object.sha!==n.head.sha)throw new L(`PR branch ref drifted from the observed head.`);let i=`refs/remotes/${mm(e.root,e.configuration?.remote)}/ai-delivery-pr-${t}`;if(await xS(e,e.root,[`fetch`,`https://github.com/${e.repo.owner}/${e.repo.repo}.git`,`refs/heads/${n.head.ref}:${i}`],`fetch`),U(e.root,`rev-parse`,i)!==n.head.sha)throw new L(`Fetched PR branch disagrees with the live head.`);let a=(await e.clients.rest.pulls.get({...e.repo,pull_number:t})).data;if(a.state!==`open`||a.head.sha!==n.head.sha||a.head.ref!==n.head.ref)throw new L(`PR changed during selected-App checkout.`);return gx({headSha:n.head.sha,identity:e.config.roles.author.identity,prNumber:t,repoRoot:e.root})}function OS(e){if(typeof e!=`object`||!e)return null;let t=e.required_approving_review_count;return typeof t==`number`&&Number.isSafeInteger(t)&&t>=0?t:null}async function kS(e,t=bS(e.root,e.configuration?.remote),n,r=`publication`,i){let a=async()=>{await i?.checkResources(),i?.signal.throwIfAborted()};await a();let o=e.config.roles.author.authSource??`app`,s=r===`development`&&o===`app`&&e.clients.authSource===`personal`;if(e.clients.authSource!==o&&!s)throw new L(r===`publication`?`PR publication requires the configured author credential; configure the personal author role for personal publication.`:`Development access preflight requires the configured author credential or the explicit personal author override.`);if(e.clients.role!==`author`||!e.clients.authenticatedAuthor)throw new L(`Delivery access preflight requires authenticated author identity readback.`);let c=await e.clients.authenticatedAuthor(i?.signal);if(await a(),!c.actorLogin||!c.credentialIdentity)throw new L(`Author GitHub identity readback is incomplete.`);let l=n??await um({config:e.config,identity:e.config.roles.reviewer.identity,role:`reviewer`,selectedAuthor:e.clients,...i===void 0?{}:{signal:i.signal}});if(await a(),l.role!==`reviewer`||l.authSource!==`app`||!l.appActorLogin)throw new L(`Configured reviewer GitHub App identity is unavailable.`);let u=await l.appActorLogin(i?.signal);if(await a(),!u)throw new L(`Reviewer GitHub App actor lookup is incomplete.`);if(c.actorLogin.toLowerCase()===u.toLowerCase())throw new L(`Author and reviewer resolve to the same GitHub actor; select distinct configured credentials.`);try{let t=(await l.rest.repos.get({...e.repo,...i===void 0?{}:{request:{signal:i.signal}}})).data;if(await a(),t.full_name.toLowerCase()!==`${e.repo.owner}/${e.repo.repo}`.toLowerCase())throw new L(`Reviewer GitHub App repository readback disagrees with the selected checkout.`)}catch(e){throw e instanceof L?e:new L(`Reviewer GitHub App cannot read the selected repository; verify its installation and repository access.`)}let[d,f]=await Promise.allSettled([e.clients.rest.request(`GET /repos/{owner}/{repo}/rules/branches/{branch}`,{...e.repo,branch:t,...i===void 0?{}:{request:{signal:i.signal}}}),e.clients.rest.request(`GET /repos/{owner}/{repo}/branches/{branch}/protection`,{...e.repo,branch:t,...i===void 0?{}:{request:{signal:i.signal}}})]);await a();let p=[];if(d.status===`fulfilled`&&Array.isArray(d.value.data)){for(let e of d.value.data)if(e.type===`pull_request`){let t=OS(e.parameters);t!==null&&p.push(t)}}if(f.status===`fulfilled`){let e=f.value.data,t=OS(e.required_pull_request_reviews);t!==null&&p.push(t)}let m=Number(d.status===`fulfilled`)+Number(f.status===`fulfilled`),h=m===2?`complete`:m===1?`partial`:`unknown`,g=p.length>0?Math.max(...p):null,_=g!==null&&g>0&&l.effectiveContentsPermission===`read`;return{author:{actorLogin:c.actorLogin,authSource:e.clients.authSource,credentialSource:e.clients.credentialSource??`unreported`,identity:s?`personal`:e.config.roles.author.identity},reviewer:{actorLogin:u,credentialSource:l.credentialSource??`unreported`,effectiveContentsPermission:l.effectiveContentsPermission??`unknown`,identity:e.config.roles.reviewer.identity,repositoryAccess:`readable`},rules:{observedRequiredApprovals:g,visibility:h},approvalEligibility:_?`insufficient-permission`:`unknown`,nextAction:_?`The reviewer App token has Contents: read, but the visible rule requires approval from a reviewer with repository write access. To use the App for required approval, grant Contents: write, accept the installation permission change, and obtain a fresh token before publication.`:h===`complete`&&g===null?`No required approving review was observed in the visible rules. Confirm the live PR review decision after exact-head submission.`:h===`complete`?`Confirm whether the reviewer approval counts after exact-head submission; installation scopes do not prove required-review eligibility.`:`Inspect the active branch review rule with an authorized repository view and confirm whether the reviewer approval counts after exact-head submission.`}}async function AS(e,t){let n=Jh(e.root),r=ny(t.issueNumber,n);if(r.type!==`issue`||r.status===`merged`)throw new L(`PR publication requires an active issue worktree.`);let i=Kb(r.path,t.issueNumber),a=Xh(r.path);if(t.draft===!1){let n=vS(r.path,t.issueNumber,a.sha),i=$_(r.path,t.issueNumber,a.sha);if(!i||i.publicationEvidenceId!==n.evidenceId)throw new L(`Ready promotion requires a submitted review of the exact published head.`);await ev(e,i);let o=(await e.clients.rest.pulls.get({...e.repo,pull_number:n.prNumber})).data;if(o.head.sha!==a.sha)throw new L(`PR head drifted before ready promotion.`);o.draft&&await e.clients.graphql(`mutation Ready($id: ID!) { markPullRequestReadyForReview(input: {pullRequestId: $id}) { pullRequest { id isDraft } } }`,{id:o.node_id});let s=(await e.clients.rest.pulls.get({...e.repo,pull_number:n.prNumber})).data;if(s.draft||s.head.sha!==a.sha)throw new L(`PR ready readback failed.`);return{prNumber:n.prNumber,url:s.html_url,publicationEvidenceId:n.evidenceId,reviewState:await W_(e,n.prNumber,a.sha)}}let o=X_(r.path,t.issueNumber,a.sha),s=o?K_({artifact:o,classification:i.classification,config:e.config,issueNumber:t.issueNumber}):void 0,c=await Gb({personalAuth:e.clients.authSource===`personal`&&e.config.roles.author.authSource!==`personal`,...s===void 0?{}:{approval:s},issueNumber:t.issueNumber,phase:`publish`,repoRoot:r.path}),l=(await e.clients.rest.issues.get({...e.repo,issue_number:t.issueNumber})).data,u=t.title??`${t.issueNumber}: ${l.title}`,d=t.body??`Closes #${t.issueNumber}\n\n## Delivery Impact\n\nRoadmap impact: none\nDocs impact: none\n`;yS(d);let f=(await e.clients.rest.git.getRef({...e.repo,ref:`heads/${bS(n,e.configuration?.remote)}`})).data.object.sha;if(f!==i.classification.base.sha)throw new L(`Remote base changed after exact-head verification.`);let p=await kS(e,bS(n,e.configuration?.remote)),m=(await e.clients.rest.pulls.list({...e.repo,head:`${e.repo.owner}:${r.branch}`,state:`open`,per_page:100})).data;if(m.length>1)throw new L(`Multiple open PRs match the registered branch.`);let h=m[0];if(h?.user?.login&&h.user.login.toLowerCase()!==p.author.actorLogin.toLowerCase())throw new L(`Existing PR author differs from the configured author actor; inspect the PR and resolve the actor mismatch explicitly.`);await SS(e,r.path,r.branch,a.sha);let g=h?(await e.clients.rest.pulls.get({...e.repo,pull_number:h.number})).data:(await e.clients.rest.pulls.create({...e.repo,base:bS(n,e.configuration?.remote),body:d,draft:!0,head:r.branch,title:u})).data;if(g.head.sha!==a.sha||g.base.sha!==f||g.state!==`open`||!g.draft)throw new L(`Draft PR readback does not match the verified head and base.`);if(!g.user?.login||g.user.login.toLowerCase()!==p.author.actorLogin.toLowerCase())throw new L(`Published PR author differs from the selected author credential; inspect the PR before continuing.`);let _={baseSha:f,evidenceId:c.evidenceId,headSha:a.sha,issueNumber:t.issueNumber,prNumber:g.number,schemaVersion:`ai-delivery.publication@1`},v=iS.parse({..._,publicationId:B(_)});return I_(dS(r.path,t.issueNumber,a.sha),v),await sy({branch:r.branch,issueNumber:t.issueNumber,path:r.path,prNumber:g.number,projectRoot:n,status:`pr-published`}),{prNumber:g.number,url:g.html_url,publicationEvidenceId:c.evidenceId,reviewRoute:p}}async function jS(e,t){let n=ny(t.issueNumber,e.root),r=Kb(n.path,t.issueNumber),i=vS(n.path,t.issueNumber,r.classification.head.sha);if(i.prNumber!==t.prNumber)throw new L(`Review PR does not match exact publication.`);let a=await Q_({artifact:G_(t.artifact),classification:r.classification,context:e,issueNumber:t.issueNumber,prNumber:t.prNumber,publicationEvidenceId:i.evidenceId});return{receiptId:a.receiptId,githubReviewId:a.githubReviewId,reviewState:await W_(e,t.prNumber,r.classification.head.sha,{id:a.githubReviewId,login:a.login})}}async function MS(e,t,n){let r=(await e.clients.rest.pulls.get({...e.repo,pull_number:t})).data;if(r.state!==`open`||r.draft||r.head.sha!==n)throw new L(`PR is not clean, ready and mergeable at the exact reviewed head.`);let i=await W_(e,t,n);if(i.status===`still-required`)throw new L(`The submitted APPROVED review is stored, but GitHub still requires a qualifying approval. ${i.nextAction}`);if(i.status===`changes-requested`)throw new L(`GitHub reports changes requested. ${i.nextAction}`);if(r.mergeable!==!0||r.mergeable_state!==`clean`)throw new L(`PR is not clean, ready and mergeable at the exact reviewed head.`);let a=Number(/^issue\/(\d+)$/u.exec(r.head.ref)?.[1]);if(!Number.isSafeInteger(a))throw new L(`PR branch is not a registered issue branch.`);let o=(await Xg({graphql:e.clients.graphql,issueNumber:a,repo:e.repo})).blockers.filter(e=>e.state===`OPEN`).map(e=>e.number),[s,c]=await Promise.all([e.clients.rest.checks.listForRef({...e.repo,ref:n,per_page:100}),e.clients.rest.repos.getCombinedStatusForRef({...e.repo,ref:n})]),l=s.data.total_count===s.data.check_runs.length&&s.data.check_runs.every(e=>e.status===`completed`&&[`success`,`neutral`,`skipped`].includes(e.conclusion??``))&&(c.data.statuses.length===0||c.data.state===`success`);if(!l||o.length>0)throw new L(`PR has failed or pending checks or unresolved native blockers.`);return{baseSha:r.base.sha,baseBranch:r.base.ref,headBranch:r.head.ref,title:r.title,blockedBy:o,checksPassed:l}}async function NS(e,t){if(qh(t.worktreePath,`merge-base`,`--is-ancestor`,t.baseSha,t.headSha)!==0)throw new L(`Exact-lease merge requires the verified base to be an ancestor of the reviewed head.`);let n=(await e.clients.rest.pulls.get({...e.repo,pull_number:t.prNumber})).data;if(n.base.sha!==t.baseSha||n.head.sha!==t.headSha||n.base.ref!==t.baseBranch||n.head.ref!==t.headBranch)throw new L(`Exact base or head drifted before atomic merge.`);let r=await e.clients.graphql(`query RepositoryId($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { id } }`,{owner:e.repo.owner,name:e.repo.repo});if(!r.repository?.id)throw new L(`GitHub omitted repository node identity.`);t.beforeMutation?.();let i=(await e.clients.rest.git.createCommit({...e.repo,message:t.title,parents:[t.baseSha,t.headSha],tree:t.headTree})).data,a=rS.parse(i.sha);t.onPreparedMergeCommit?.(a);let o=`ai-delivery-exact-${a}`;if((await e.clients.graphql(`mutation UpdateExactRefs($input: UpdateRefsInput!) { updateRefs(input: $input) { clientMutationId } }`,{input:{clientMutationId:o,repositoryId:r.repository.id,refUpdates:[{name:`refs/heads/${t.baseBranch}`,beforeOid:t.baseSha,afterOid:a,force:!1},{name:`refs/heads/${t.headBranch}`,beforeOid:t.headSha,afterOid:t.headSha,force:!1}]}})).updateRefs.clientMutationId!==o)throw new L(`Atomic merge mutation identity readback failed.`);let[s,c,l]=await Promise.all([e.clients.rest.git.getRef({...e.repo,ref:`heads/${t.baseBranch}`}),e.clients.rest.git.getRef({...e.repo,ref:`heads/${t.headBranch}`}),e.clients.rest.git.getCommit({...e.repo,commit_sha:a})]);if(s.data.object.sha!==a||c.data.object.sha!==t.headSha||l.data.tree.sha!==t.headTree||l.data.parents[0]?.sha!==t.baseSha||l.data.parents[1]?.sha!==t.headSha)throw new L(`Atomic merge ref or commit readback failed.`);let u=(await e.clients.rest.pulls.get({...e.repo,pull_number:t.prNumber})).data;if(u.state!==`closed`||!u.merged_at||u.merge_commit_sha!==a)throw new L(`GitHub did not report the exact merge commit as the completed PR.`);return a}async function PS(e,t,n){let r=(await e.clients.rest.pulls.get({...e.repo,pull_number:t.prNumber})).data;if(r.state!==`closed`||!r.merged_at||r.head.sha!==t.headSha||r.head.ref!==t.headBranch||r.base.ref!==t.baseBranch)throw new L(`Merged PR does not match the exact prepared merge intent.`);let i=rS.parse(r.merge_commit_sha);if(n!==void 0&&i!==n)throw new L(`Merged PR does not match the exact prepared merge intent.`);let[a,o,s]=await Promise.all([e.clients.rest.git.getRef({...e.repo,ref:`heads/${t.baseBranch}`}),e.clients.rest.git.getRef({...e.repo,ref:`heads/${t.headBranch}`}).catch(e=>{if(e.status===404)return null;throw e}),e.clients.rest.git.getCommit({...e.repo,commit_sha:i})]),c=!t.exactBaseHeadLease&&(t.strategy===`merge`||t.strategy===`squash`)?U(e.root,`merge-tree`,`--write-tree`,t.baseSha,t.headSha):t.headTree;if(!a.data.object.sha||o!==null&&o.data.object.sha!==t.headSha||s.data.sha!==i||t.strategy===`merge`&&(s.data.parents[0]?.sha!==t.baseSha||s.data.parents[1]?.sha!==t.headSha||s.data.tree.sha!==c)||t.strategy===`squash`&&(s.data.parents[0]?.sha!==t.baseSha||s.data.tree.sha!==c))throw new L(`Remote merge ref, branch or commit readback disagrees with the prepared intent.`);if(n===void 0&&t.strategy===`rebase`)throw new L(`Rebase recovery lacks the returned exact merge SHA.`);return{mergeSha:i,mergeTree:rS.parse(s.data.tree.sha)}}async function FS(e,t){if(e.clients.role!==`author`||!e.clients.authenticatedAuthor)throw new L(`Merge recovery requires authenticated author identity readback.`);let n=await e.clients.authenticatedAuthor();if(!n.actorLogin||!n.credentialIdentity)throw new L(`Authenticated author identity readback is incomplete.`);let r={actor:e.config.roles.author.identity,actorLogin:n.actorLogin,authSource:e.clients.authSource,credentialIdentity:n.credentialIdentity,intentId:t.intentId,operation:t.exactBaseHeadLease?`updateRefs`:`pulls.merge`,schemaVersion:`ai-delivery.merge-attempt@1`};return cS.parse({...r,attemptId:B(r)})}function IS(e,t,n,r){let i={attemptId:n.attemptId,mergeSha:rS.parse(r),schemaVersion:`ai-delivery.merge-result@1`};I_(hS(e,t.issueNumber,t.headSha),lS.parse({...i,resultId:B(i)}))}async function LS(e,t){let{mergeSha:n,mergeTree:r}=await PS(e,t.intent,t.expectedSha),{schemaVersion:i,...a}=t.intent,o={...a,mergeSha:n,mergeTree:r,schemaVersion:`ai-delivery.merge@3`},s=uS.parse({...o,mergeId:B(o)});return I_(t.path,s),await sy({branch:t.branch,issueNumber:t.intent.issueNumber,path:t.worktreePath,projectRoot:e.root,status:`merged`}),s}async function RS(e,t,n,r,i){let a=n.classification.head,o=(await e.clients.rest.pulls.get({...e.repo,pull_number:i.prNumber})).data;if(i.prNumber!==t.prNumber||i.issueNumber!==t.issueNumber||i.headSha!==a.sha||r.prNumber!==i.prNumber||r.issueNumber!==i.issueNumber||r.headSha!==a.sha||r.baseSha!==n.classification.base.sha||o.state!==`closed`||!o.merged_at||o.head.sha!==a.sha||o.head.ref!==t.branch||o.merge_commit_sha!==i.mergeSha)throw new L(`Merged PR readback or publication disagrees with terminal receipt.`);let s=gS(pS(t.path,i.issueNumber,a.sha),e=>sS.parse(e));if(!s||s.intentId!==i.intentId||s.baseSha!==n.classification.base.sha||s.headSha!==a.sha||s.headTree!==a.tree)throw new L(`Terminal merge lacks its exact verified intent.`);let c=$_(t.path,i.issueNumber,a.sha);if(!c||c.prNumber!==i.prNumber||c.headSha!==a.sha||c.artifact.issueNumber!==i.issueNumber||c.artifact.head.tree!==a.tree||c.artifact.diffScopeHash!==B(n.classification.changedPaths)||c.artifact.verdict!==`approve`||c.publicationEvidenceId!==r.evidenceId||c.receiptId!==s.reviewReceiptId)throw new L(`Terminal merge publication lacks its exact historical approved review.`);let l=await PS(e,s,i.mergeSha);if(l.mergeTree!==i.mergeTree)throw new L(`Terminal merge tree changed.`);let{schemaVersion:u,...d}=s,f={...d,...l,schemaVersion:`ai-delivery.merge@3`};if(i.mergeId!==B(f))throw new L(`Terminal merge receipt disagrees with its intent.`)}async function zS(e,t,n){if(t.status!==`merged`||t.prNumber===void 0||t.issueNumber===void 0)throw new L(`Committed continuation requires exact merged issue custody.`);let r=(await e.clients.rest.pulls.get({...e.repo,pull_number:t.prNumber})).data,i=qb(t.path,rS.parse(r.head.sha)),a=i.run.classification.head.sha,o=vS(t.path,t.issueNumber,a),s=fS(t.path,t.issueNumber,a),c=gS(s,e=>uS.parse(e));if(!c||!i.run.writer||i.run.classification.repository!==e.config.repository)throw new L(`Committed continuation lacks supported exact historical terminal provenance.`);await RS(e,t,i.run,o,c);let l=await e.clients.graphql(`query CommittedContinuationLineage($owner: String!, $repo: String!, $number: Int!) {
|
|
256
|
+
repository(owner: $owner, name: $repo) { pullRequest(number: $number) {
|
|
257
|
+
closingIssuesReferences(first: 100) { nodes { number repository { nameWithOwner } } pageInfo { hasNextPage } }
|
|
258
|
+
} }
|
|
259
|
+
}`,{...e.repo,number:t.prNumber}),u=N({nodes:M(N({number:A().int().positive(),repository:N({nameWithOwner:k().min(1)})})),pageInfo:N({hasNextPage:I(!1)})}).safeParse(l.repository?.pullRequest?.closingIssuesReferences);if(!u.success||r.head.repo?.full_name.toLowerCase()!==e.config.repository.toLowerCase()||r.base.repo.full_name.toLowerCase()!==e.config.repository.toLowerCase())throw new L(`Native PR lineage does not establish the exact repository and complete closing connection.`);if(u.data.nodes.some(n=>n.number===t.issueNumber&&n.repository.nameWithOwner.toLowerCase()===e.config.repository.toLowerCase()))await Xx(e,t.issueNumber,t.prNumber);else{let i=Date.parse(r.merged_at??``);if(u.data.nodes.length!==0||!RegExp(`^Refs[ \\t]+#${String(t.issueNumber)}(?=$|[ \\t.,;:!?])`,`imu`).test(r.body??``)||!Number.isFinite(i)||!r.merged||r.head.ref!==t.branch||!r.base.ref||!rS.safeParse(r.base.sha).success||r.merge_commit_sha!==c.mergeSha)throw new L(`Native PR lineage lacks the exact unfinished Refs relationship.`);let a=N({event:I(`cross-referenced`),actor:N({login:k(),id:A().int().positive(),type:I(`User`)}),created_at:k(),source:N({type:I(`issue`),issue:N({number:A().int().positive(),user:N({login:k(),id:A().int().positive(),type:I(`User`)}),repository_url:k(),html_url:k(),pull_request:N({url:k()})})})}),o=!1;for(let s=1;;s+=1){let c=await e.clients.rest.issues.listEventsForTimeline({...e.repo,issue_number:t.issueNumber,per_page:100,page:s});if(!Array.isArray(c.data))throw new L(`Native PR lineage timeline is incomplete.`);for(let e of c.data){let s=a.safeParse(e);if(!s.success)continue;let c=s.data,l=Date.parse(c.created_at);o||=Number.isFinite(l)&&l<i&&c.actor.login.toLowerCase()===n.actorLogin.toLowerCase()&&`user:${String(c.actor.id)}`===n.credentialIdentity&&c.source.issue.number===t.prNumber&&c.source.issue.user.login.toLowerCase()===n.actorLogin.toLowerCase()&&`user:${String(c.source.issue.user.id)}`===n.credentialIdentity&&c.source.issue.repository_url===r.base.repo.url&&c.source.issue.html_url===r.html_url&&c.source.issue.pull_request.url===r.url}if(c.data.length<100&&!/;\s*rel="next"/u.test(c.headers.link??``))break}if(!o)throw new L(`Native PR lineage lacks complete authenticated before-merge cross-reference evidence.`)}let d=mS(t.path,t.issueNumber,a),f=hS(t.path,t.issueNumber,a),p=gS(d,e=>cS.parse(e)),m=gS(f,e=>lS.parse(e));if(r.number!==t.prNumber||r.user?.type!==`User`||r.user.login.toLowerCase()!==n.actorLogin.toLowerCase()||`user:${String(r.user.id)}`!==n.credentialIdentity||!p||p.authSource!==`personal`||p.actorLogin.toLowerCase()!==n.actorLogin.toLowerCase()||p.credentialIdentity!==n.credentialIdentity||p.intentId!==c.intentId||!m||m.attemptId!==p.attemptId||m.mergeSha!==c.mergeSha)throw new L(`Committed continuation authenticated host author disagrees with native historical custody.`);return{terminal:c,preserved:[i.path,dS(t.path,t.issueNumber,a),w(W(t.path),`ai-delivery`,`reviews`,String(t.issueNumber),`${a}.json`),pS(t.path,t.issueNumber,a),d,f,s].map(e=>({path:e,digest:V(H(e))}))}}async function BS(e,t){let r=ny(t.issueNumber,e.root),i=n(r.path)?r.path:e.root,a=i===r.path?Kb(r.path,t.issueNumber):Jb(e.root,t.issueNumber),o=a.classification.head,s=vS(i,t.issueNumber,o.sha);if(s.prNumber!==t.prNumber||s.issueNumber!==t.issueNumber||s.headSha!==o.sha||s.baseSha!==a.classification.base.sha)throw new L(`Merge publication does not match its exact issue, PR or verified coordinates.`);let c=fS(i,t.issueNumber,o.sha),l=gS(c,e=>uS.parse(e));if(l)return await RS(e,{...r,path:i,prNumber:t.prNumber},a,s,l),await sy({branch:r.branch,issueNumber:t.issueNumber,path:r.path,projectRoot:e.root,status:`merged`}),l;if(i!==r.path)throw new L(`Removed merged worktree lacks its terminal merge receipt.`);let u=pS(r.path,t.issueNumber,o.sha),d=gS(u,e=>sS.parse(e)),f=mS(r.path,t.issueNumber,o.sha),p=gS(f,e=>cS.parse(e)),m=gS(hS(r.path,t.issueNumber,o.sha),e=>lS.parse(e));if((p!==null||m!==null)&&d===null)throw new L(`Merge operation record lacks its prepared intent.`);let h=$_(r.path,t.issueNumber,o.sha);if(!h||h.prNumber!==t.prNumber||h.publicationEvidenceId!==s.evidenceId)throw new L(`Exact publication lacks its bound submitted independent review.`);if(await ev(e,h),d){if(d.issueNumber!==t.issueNumber||d.prNumber!==t.prNumber||d.headSha!==o.sha||d.headTree!==o.tree||d.reviewReceiptId!==h.receiptId||d.headBranch!==r.branch||d.baseSha!==a.classification.base.sha||t.strategy!==void 0&&t.strategy!==d.strategy)throw new L(`Prepared merge intent disagrees with this retry.`);if(p!==null){let n=await FS(e,d);if(p.attemptId!==n.attemptId||m!==null&&m.attemptId!==p.attemptId)throw new L(`Merge attempt disagrees with its exact source, operation or author.`);let i=(await e.clients.rest.pulls.get({...e.repo,pull_number:t.prNumber})).data;if(i.state!==`closed`||!i.merged_at)throw new L(`Merge mutation was attempted; remote readback is unresolved. Retry readback without another mutation.`);return LS(e,{branch:r.branch,intent:d,path:c,worktreePath:r.path,...m===null?{}:{expectedSha:m.mergeSha}})}if(m!==null)throw new L(`Merge result lacks its bound attempt.`);let n=(await e.clients.rest.pulls.get({...e.repo,pull_number:t.prNumber})).data;if(n.state===`closed`&&n.merged_at)return LS(e,{branch:r.branch,intent:d,path:c,worktreePath:r.path});if(n.state!==`open`||n.head.sha!==o.sha||n.head.ref!==r.branch||n.base.ref!==d.baseBranch||n.base.sha!==d.baseSha)throw new L(`Prepared merge retry disagrees with the remote PR.`)}if((await Gb({personalAuth:e.clients.authSource===`personal`&&e.config.roles.author.authSource!==`personal`,...a.classification.risk===`high`?{approval:K_({artifact:h.artifact,classification:a.classification,config:e.config,issueNumber:t.issueNumber,prNumber:t.prNumber})}:{},issueNumber:t.issueNumber,phase:`publish`,repoRoot:r.path})).evidenceId!==s.evidenceId)throw new L(`Publication evidence changed after formal review.`);let g=await MS(e,t.prNumber,o.sha);if(g.baseSha!==a.classification.base.sha||g.headBranch!==r.branch)throw new L(`PR base or registered head drifted after verification.`);let _={authorIdentity:e.config.roles.author.identity,reviewerIdentity:e.config.roles.reviewer.identity,diffScopeHash:h.artifact.diffScopeHash,head:o,result:`approved`,reviewReceiptId:h.receiptId},v=await Gb({personalAuth:e.clients.authSource===`personal`&&e.config.roles.author.authSource!==`personal`,approval:_,issueNumber:t.issueNumber,mergeReadback:{blockedBy:g.blockedBy,checksPassed:g.checksPassed,head:o,mergeable:!0,observedAt:new Date().toISOString()},phase:`merge`,repoRoot:r.path}),y=await oh(r.path,{personalAuth:e.clients.authSource===`personal`&&e.config.roles.author.authSource!==`personal`}),b=await _h({repoRoot:r.path,policySourcePath:y.config.policy.module}),x=xh({classification:a.classification,configDigest:y.configDigest,currentBase:a.classification.base,currentHead:o,phase:`merge`,policy:b.policy,policySourcePath:y.config.policy.module,repoRoot:r.path,stageReceiptIds:a.aggregate.stages.map(e=>({stageId:e.stageId,receiptId:e.receiptId}))});if(x.additionalConstraints.exactBaseHeadLease&&t.strategy&&t.strategy!==`merge`)throw new L(`Exact base/head lease requires merge-commit strategy.`);let ee=x.additionalConstraints.exactBaseHeadLease?`merge`:t.strategy??d?.strategy??`squash`,S={baseBranch:g.baseBranch,baseSha:g.baseSha,exactBaseHeadLease:x.additionalConstraints.exactBaseHeadLease,evidenceId:d?.evidenceId??v.evidenceId,headBranch:g.headBranch,headSha:o.sha,headTree:o.tree,issueNumber:t.issueNumber,prNumber:t.prNumber,reviewReceiptId:h.receiptId,schemaVersion:`ai-delivery.merge-intent@2`,strategy:ee},te=sS.parse({...S,intentId:B(S)});if(d&&d.intentId!==te.intentId)throw new L(`Prepared merge intent no longer matches reviewed inputs.`);d||I_(u,te);let C=await FS(e,te),ne;return x.additionalConstraints.exactBaseHeadLease?ne=await NS(e,{baseBranch:g.baseBranch,baseSha:g.baseSha,headBranch:g.headBranch,headSha:o.sha,headTree:o.tree,title:g.title,prNumber:t.prNumber,worktreePath:r.path,beforeMutation:()=>I_(f,C),onPreparedMergeCommit:e=>IS(r.path,te,C,e)}):(I_(f,C),ne=(await e.clients.rest.pulls.merge({...e.repo,pull_number:t.prNumber,sha:o.sha,merge_method:ee})).data.sha),IS(r.path,te,C,ne),LS(e,{branch:r.branch,intent:te,path:c,worktreePath:r.path,expectedSha:rS.parse(ne)})}async function VS(e,t){let r=ay(e.root).filter(e=>e.type===`issue`&&e.issueNumber===t.issueNumber);if(r.length===0)return US(e,t);if(r.length!==1)throw new L(`Issue has duplicate worktree registry rows.`);let i=ny(t.issueNumber,e.root),a=await f_({issueNumber:t.issueNumber,owner:e.repo.owner,repo:e.repo.repo,rest:e.clients.rest,settings:c_(e.config)});if(a.points===void 0||!e.config.native.points.values.includes(String(a.points)))throw new L(`Executable issue requires configured native Points before finish.`);let o=a.points,s=await BS(e,t),c=$_(n(i.path)?i.path:e.root,t.issueNumber,s.headSha);if(!c)throw new L(`Terminal delivery requires the submitted review receipt.`);(await e.clients.rest.issues.get({...e.repo,issue_number:t.issueNumber})).data.state!==`closed`&&await e.clients.rest.issues.update({...e.repo,issue_number:t.issueNumber,state:`closed`});let l=(await e.clients.rest.issues.get({...e.repo,issue_number:t.issueNumber})).data;if(l.state!==`closed`)throw new L(`Issue close readback failed.`);await Sm({graphql:e.clients.graphql,issueNodeId:l.node_id,org:e.config.native.organization,...e.projectConfiguration?{configuration:e.projectConfiguration}:{},settings:bm(e.config),status:`Done`});let u=bS(e.root,e.configuration?.remote);await CS(e,u);let d=(await e.clients.rest.pulls.get({...e.repo,pull_number:t.prNumber})).data,[f,p]=await Promise.all([e.clients.rest.git.getRef({...e.repo,ref:`heads/${u}`}),e.clients.rest.git.getRef({...e.repo,ref:`heads/issue/${t.issueNumber}`}).catch(e=>{if(e.status===404)return null;throw e})]);if(d.state!==`closed`||!d.merged_at||d.merge_commit_sha!==s.mergeSha||d.head.sha!==s.headSha||d.head.ref!==`issue/${t.issueNumber}`||d.base.ref!==u)throw new L(`Merged PR drifted before cleanup.`);let m={baseBranch:s.baseBranch,baseSha:s.baseSha,headBranch:s.headBranch,headSha:s.headSha,mergeSha:s.mergeSha,mergeTree:s.mergeTree,remoteBaseSha:f.data.object.sha,remoteHeadSha:p?.data.object.sha??null,strategy:s.strategy},h=d.merged_at;if(typeof h!=`string`||Date.parse(h)<Date.parse(i.createdAt))throw new L(`Terminal delivery timeline is invalid.`);return await vx({...e.configuration?.remote?{remote:e.configuration.remote}:{},issueNumber:t.issueNumber,repoRoot:e.root,merge:m,afterRemoval:async()=>{let n=new Date().toISOString(),r=c.artifact.deliveryMetrics;await Ny({blockerTimeMs:r?.blockerTimeMs??null,cycleTimeMs:Date.parse(h)-Date.parse(i.createdAt),firstPassApproved:r===void 0?null:r.reviewRound===1,issueNumber:t.issueNumber,mergedAt:h,mergeSha:s.mergeSha,points:o,recordedAt:n,repository:`${e.repo.owner}/${e.repo.repo}`,reviewRounds:r?.reviewRound??null,schemaVersion:`ai-delivery.delivery-record@1`,terminalCleanupAt:n},e.root)}}),await HS(e,t,s.mergeSha),{mergeSha:s.mergeSha,issueClosed:!0,cleaned:!0}}async function HS(e,t,n){let r=(await e.clients.rest.issues.get({...e.repo,issue_number:t.issueNumber})).data,i=(await e.clients.rest.pulls.get({...e.repo,pull_number:t.prNumber})).data,a=j_(r.body??``);if(!a.length)throw new L(`Closeout requires acceptance criteria with public delivery evidence.`);await cC(e,{issueNumber:t.issueNumber,kind:`closeout`,summary:`Merged delivery completed for ${r.title}.`,status:`Closed; merged and cleaned`,acceptance:a.map(e=>({criterion:e,evidence:i.html_url})),followUps:M_(r.body??``),keyNumbers:[`${String(a.length)} acceptance criteria`,`PR #${String(t.prNumber)}`],evidence:[i.html_url],nextStep:`No further delivery action; see the merged PR for verification and follow-ups`,nextDate:null},`closeout:${n}`)}async function US(e,t){let n=(await e.clients.rest.pulls.get({...e.repo,pull_number:t.prNumber})).data;if(n.state!==`closed`||!n.merged_at||!n.merge_commit_sha||n.head.ref!==`issue/${t.issueNumber}`)throw new L(`Absent issue worktree lacks an exact completed PR.`);let r=gS(fS(e.root,t.issueNumber,n.head.sha),e=>uS.parse(e)),i=gS(pS(e.root,t.issueNumber,n.head.sha),e=>sS.parse(e));if(!r||!i||r.issueNumber!==t.issueNumber||r.prNumber!==t.prNumber||r.headSha!==n.head.sha||r.mergeSha!==n.merge_commit_sha||r.intentId!==i.intentId)throw new L(`Absent issue worktree lacks exact terminal merge receipts.`);let a=await PS(e,i,r.mergeSha),{schemaVersion:o,...s}=i;if(a.mergeTree!==r.mergeTree||r.mergeId!==B({...s,...a,schemaVersion:`ai-delivery.merge@3`}))throw new L(`Completed merge receipt disagrees with its intent or remote result.`);if(jy(e.root).filter(n=>n.repository===`${e.repo.owner}/${e.repo.repo}`&&n.issueNumber===t.issueNumber&&n.mergeSha===r.mergeSha).length!==1)throw new L(`Completed issue lacks one exact terminal delivery record.`);let c=(await e.clients.rest.issues.get({...e.repo,issue_number:t.issueNumber})).data;if(c.state!==`closed`||`pull_request`in c)throw new L(`Completed issue is not closed.`);if((await _m({graphql:e.clients.graphql,issueNodeId:c.node_id,org:e.config.native.organization,...e.projectConfiguration?{configuration:e.projectConfiguration}:{},settings:bm(e.config)}))?.status!==`Done`)throw new L(`Completed issue Project status is not Done.`);return await HS(e,t,r.mergeSha),{mergeSha:r.mergeSha,issueClosed:!0,cleaned:!0}}function WS(e){let t=[],n=e.body.trim(),r=JS(n);QS(n)||t.push({code:`outcome`,message:`Add a substantive Outcome or Problem section.`});let i=GS(YS(n,`Acceptance Criteria`));return(i.length<2||i.length>5)&&t.push({code:`acceptance-criteria`,message:`Declare two to five checkbox acceptance criteria.`}),XS(n)||t.push({code:`verification`,message:`Include an executable verification command in inline or fenced code.`}),(r.length===0||r.some(t=>!tC(t,e.repoRoot)))&&t.push({code:`scope`,message:`Declare scope paths that exist in the repository.`}),(e.blockedBy?.length??0)>0&&t.push({code:`blocked`,message:`Resolve native blocked-by issue${e.blockedBy?.length===1?``:`s`} before autonomous development.`}),iC({body:n,scope:r})&&!ZS(n,e.repoRoot)&&t.push({code:`evidence`,message:`Add repository-backed current-state evidence for this scope.`}),e.trackingParent===!0?t.push({code:`tracking-parent`,message:`Dispatch an executable sub-issue instead of the tracking parent.`}):e.points===void 0&&t.push({code:`points`,message:`Set configured native Points before autonomous development.`}),$S(n)&&t.push({code:`unresolved`,message:`Resolve TODO, TBD, policy-choice, or architectural-fork markers.`}),{failures:t,ready:t.length===0}}function GS(e){return e.split(/\r?\n/u).map(e=>{let t=e.trimStart();if(![`*`,`+`,`-`].includes(t.charAt(0)))return;let n=t.slice(1).trimStart();if(!(n.length<4||!n.startsWith(`[`)||![` `,`x`,`X`].includes(n.charAt(1))||n.charAt(2)!==`]`||![` `,` `].includes(n.charAt(3))))return n.slice(4).trim()}).filter(e=>e!==void 0&&e.length>0)}function KS(e){let t=[],n=null;for(let r of e.split(/\r?\n/u)){if(n!==null){r.trim()==="```"?(t.push(n.join(`
|
|
260
|
+
`)),n=null):n.push(r);continue}let e=r.trimStart();if(r.length-e.length>3||!e.startsWith("```"))continue;let i=e.slice(3).trim().toLowerCase();[``,`bash`,`console`,`sh`,`shell`,`zsh`].includes(i)&&(n=[])}return t}function qS(e){return Array.from(e.matchAll(/`([^`\r\n]+)`/gu),e=>e[1]?.trim()??``).filter(Boolean)}function JS(e){let t=YS(e,`Scope`);return Array.from(t.matchAll(/`([^`\r\n]+)`/gu),e=>e[1]?.trim()??``).filter(Boolean)}function YS(e,t){let n=e.split(/\r?\n/u),r=n.findIndex(e=>rC(e)?.toLowerCase()===t.toLowerCase());if(r===-1)return``;let i=[];for(let e of n.slice(r+1)){if(rC(e)!==null)break;i.push(e)}return i.join(`
|
|
261
|
+
`).trim()}function XS(e){let t=new Set([`bash`,`cargo`,`git`,`go`,`make`,`node`,`npm`,`npx`,`pnpm`,`python`,`python3`,`sh`,`tsc`,`tsx`,`zsh`]);return[...qS(e),...KS(e)].some(e=>e.split(/\r?\n/u).some(e=>{let n=e.trimStart().split(/\s/u,1)[0];return n!==void 0&&t.has(n)}))}function ZS(e,t){let n=e.replace(YS(e,`Scope`),``);return/\b[0-9a-f]{40}:[^\s`]+/iu.test(n)||/\/blob\/[0-9a-f]{40}\//iu.test(n)?!0:qS(n).some(e=>tC(e,t))}function QS(e){return[YS(e,`Outcome`),YS(e,`Problem`)].some(e=>aC(e).length>=24)}function $S(e){return/\b(?:TODO|TBD|policy choice|architectural fork)\b/iu.test(e)}function eC(e){let t=nC(e);return t===null?!1:t.length===0||[`.`,`apps`,`packages`,`plugins`].includes(t)}function tC(e,t){let r=nC(e);if(r===null)return!1;let i=re(w(t,r)),a=re(t);return(i===a||i.startsWith(`${a}/`))&&n(i)}function nC(e){let t=e.replace(/(?::\d+(?::\d+)?)$/u,``).replace(/\\/gu,`/`);return t.startsWith(`/`)||t.split(`/`).includes(`..`)?null:t.split(`/`).filter(e=>e.length>0&&e!==`.`).join(`/`)}function rC(e){let t=0;for(;e.charAt(t)===` `&&t<4;)t+=1;if(t>3||e.charAt(t)!==`#`)return null;let n=0;for(;e.charAt(t+n)===`#`&&n<7;)n+=1;return n===0||n>6||![` `,` `].includes(e.charAt(t+n))?null:e.slice(t+n).trim()}function iC({body:e,scope:t}){let n=new Set(t.map(e=>nC(e)).filter(e=>e!==null).map(e=>e.split(`/`).filter(Boolean).slice(0,2).join(`/`)).filter(Boolean));return t.some(eC)||n.size>1||/\b(?:migration|production|data|contract-sensitive)\b/iu.test(e)}function aC(e){return e.replace(/[`*_>#-]/gu,``).replace(/\s+/gu,` `).trim()}var oC=65536,sC=P({issueNumber:A().int().positive(),body:k()});async function cC(e,t,n){let r=`body`in t?sC.parse(t):k_.parse(t),i=`body`in r?r.body:void 0;if(i!==void 0&&n!==void 0)throw new L(`Raw issue comments do not accept a lifecycle journal key.`);let a=i===void 0?`<!-- ai-delivery:journal@1:${B({issueNumber:r.issueNumber,key:n??r})} -->`:void 0,o=i??A_(r,a);if(o.length>65536||!o.trim())throw new L(`Issue comment body must contain text and fit ${String(oC)} UTF-16 code units.`);if(e.clients.role!==`author`||!e.clients.authenticatedAuthor)throw new L(`Issue comments require the authenticated author role.`);let s=(await e.clients.authenticatedAuthor()).actorLogin;if(!s)throw new L(`Issue comment author identity is missing.`);let c=w(W(e.root),`ai-delivery`,`journals`);return P_(c),Dv(w(c,String(t.issueNumber)),{operation:async()=>{let r=(await e.clients.rest.issues.get({...e.repo,issue_number:t.issueNumber})).data;if(`pull_request`in r||r.number!==t.issueNumber)throw new L(`Issue comment target is not the requested issue.`);let i=[];for(let n=1;;n+=1){let r=(await e.clients.rest.issues.listComments({...e.repo,issue_number:t.issueNumber,page:n,per_page:100})).data;if(i.push(...r.filter(e=>(a===void 0?e.body===o:e.body?.endsWith(a))&&e.user?.login.toLowerCase()===s.toLowerCase())),r.length<100)break}if(i.length>1)throw new L(`Issue comment has duplicate authored retry matches.`);let c=i[0],l=c??(await e.clients.rest.issues.createComment({...e.repo,issue_number:t.issueNumber,body:o})).data,u=(await e.clients.rest.issues.getComment({...e.repo,comment_id:l.id})).data,d=`/repos/${e.repo.owner}/${e.repo.repo}/issues/${String(t.issueNumber)}`;if(!Number.isSafeInteger(u.id)||u.id<=0||u.id!==l.id||u.html_url!==l.html_url||u.body!==(c?.body??o)||n===void 0&&u.body!==o||u.user?.login.toLowerCase()!==s.toLowerCase()||new URL(u.issue_url).pathname.toLowerCase()!==d.toLowerCase()||!u.html_url.startsWith(`https://`))throw new L(`Issue comment readback disagrees with the authored issue comment.`);return{commentId:u.id,url:u.html_url,body:u.body,reused:c!==void 0}}})}async function lC(e,t){let n=(await e.clients.rest.issues.get({...e.repo,issue_number:t})).data;return cC(e,{issueNumber:t,kind:`start`,summary:`Work started on ${n.title}.`,status:`Started`,outcome:n.title,keyNumbers:[`Issue #${String(t)}`],evidence:[n.html_url],nextStep:`Implement the issue acceptance criteria and run its verification`,nextDate:null},`start:${n.created_at}`)}async function uC(e){let t=Jh(e.repoRoot),n=await oh(t,{...e.personalAuth===void 0?{}:{personalAuth:e.personalAuth},...e.signal===void 0?{}:{signal:e.signal}}),r=n.config,i=pm(r,t,n.remote),a=await um({config:r,identity:e.identity,...e.personalAuth?{personalAuth:{enabled:!0}}:{},role:e.role,...e.signal===void 0?{}:{signal:e.signal}}),o=n.routing;return{clients:a,config:r,configuration:n,projectConfiguration:{projectId:o.projectId,projectNumber:r.native.project.number,title:r.native.project.title,pointsFieldId:o.pointsFieldId,priorityFieldId:o.priorityFieldId,statusFieldId:o.statusFieldId,statusOptionIds:o.statusOptionIds,settings:bm(r),writable:!0},repo:i,root:Yh(t)}}function dC(e){let t=e??[];if(t.some(e=>!/^(?:area|risk):[^\s:]+$/u.test(e))||new Set(t).size!==t.length)throw new L(`Issue labels must be unique area:* or risk:* taxonomy labels.`);return[...t]}var fC=class extends L{created;constructor(e,t){super(`Issue #${e.number} was created but native tracking did not complete: ${String(t)}. Resume this known issue; do not create another.`),this.created=e}};async function pC(e,t){if(!t.title.trim())throw new L(`Issue title is required.`);if(t.issueType!==void 0&&!e.config.native.issueTypes.includes(t.issueType))throw new L(`Unsupported configured Issue Type.`);if(t.points!==void 0&&!e.config.native.points.values.includes(String(t.points)))throw new L(`Unsupported configured Points value.`);if(t.priority!==void 0&&!e.config.native.priority.values.includes(t.priority))throw new L(`Unsupported configured Priority value.`);let{clients:n,config:r,repo:i}=e,a=await t_({blockers:t.blockedBy??[],...t.parentIssueNumber===void 0?{}:{parentIssueNumber:t.parentIssueNumber},repo:i,rest:n.rest});for(let n of new Set([...t.blockedBy??[],t.parentIssueNumber].filter(e=>e!==void 0)))ry(n,e.root);let o=await n.rest.issues.create({body:t.body??``,labels:dC(t.labels),...t.milestone===void 0?{}:{milestone:t.milestone},owner:i.owner,repo:i.repo,title:t.title,...t.issueType===void 0?{}:{type:t.issueType}}),s=o.data.number;try{(t.points!==void 0||t.priority!==void 0)&&await h_({issueNumber:s,metadata:{...t.points===void 0?{}:{points:t.points},...t.priority===void 0?{}:{priority:t.priority}},org:r.native.organization,owner:i.owner,repo:i.repo,rest:n.rest,settings:c_(r)}),t.parentIssueNumber!==void 0&&await e_({graphql:n.graphql,issueNumber:s,parentIssueNumber:t.parentIssueNumber,repo:i,rest:n.rest}),t.parentIssueNumber!==void 0&&await u_({issueNumber:t.parentIssueNumber,org:r.native.organization,owner:i.owner,repo:i.repo,rest:n.rest,settings:c_(r)}),(t.blockedBy?.length??0)>0&&await $g({blockers:t.blockedBy??[],graphql:n.graphql,issueNumber:s,repo:i,rest:n.rest}),await Sm({graphql:n.graphql,issueNodeId:o.data.node_id,org:r.native.organization,...e.projectConfiguration?{configuration:e.projectConfiguration}:{},settings:bm(r),status:a.unresolvedBlockers.length>0?`Blocked`:`Todo`})}catch(e){throw new fC({number:s,title:o.data.title,url:o.data.html_url},e)}return{...e.configuration?{routing:e.configuration.routing}:{},body:o.data.body??t.body??``,created:{number:s,title:o.data.title,url:o.data.html_url}}}var mC=N({id:A().int().positive().safe(),name:k().min(1),data_type:F([`text`,`number`,`date`,`single_select`,`multi_select`])}),hC=N({issue_field_id:A().int().positive().safe(),issue_field_name:k().min(1),data_type:mC.shape.data_type,value:Ol().optional(),single_select_option:N({name:k().min(1)}).nullable().optional(),multi_select_options:M(N({name:k().min(1)})).optional()}),gC=N({number:A().int().positive().safe(),node_id:k().min(1),title:k(),state:F([`open`,`closed`]),labels:M(Fl([k(),N({name:k()})])),type:N({name:k()}).nullable().optional(),html_url:al(),updated_at:vu({offset:!0})});async function _C(e,t,n){let r=[],i=new Set;for(let a=1;;a+=1){let o=await e.clients.rest.request(t,{...n,headers:{"X-GitHub-Api-Version":s_},page:a,per_page:100});if(!Array.isArray(o.data))throw new L(`GitHub returned invalid native issue fields.`);let s=B(o.data);if(o.data.length>0&&i.has(s))throw new L(`Native issue fields repeated a pagination page.`);if(i.add(s),r.push(...o.data),o.data.length<100)return r}}async function vC(e,t){let n=t.page??1,r=t.perPage??30;if(!Number.isSafeInteger(n)||n<=0||!Number.isSafeInteger(r)||r<=0||r>100)throw new L(`Issue pagination must use a positive page and perPage from 1 to 100.`);if(t.query!==void 0&&(!t.query.trim()||t.query.length>256||/["\\\r\n]/u.test(t.query)))throw new L(`Issue search requires literal text without quotes, backslashes or newlines.`);if(t.labels?.some(e=>!e||/["\\\r\n]/u.test(e)))throw new L(`Issue filter labels must be nonempty literal names.`);if(t.updatedSince!==void 0&&!vu({offset:!0}).safeParse(t.updatedSince).success)throw new L(`updatedSince must be an ISO timestamp.`);let i,a;if(t.query!==void 0){let o=[`repo:${e.repo.owner}/${e.repo.repo}`,`is:issue`,JSON.stringify(t.query.trim()),...t.state===void 0||t.state===`all`?[]:[`is:${t.state}`],...(t.labels??[]).map(e=>`label:${JSON.stringify(e)}`),...t.updatedSince===void 0?[]:[`updated:>=${t.updatedSince}`]].join(` `),s=(await e.clients.rest.search.issuesAndPullRequests({q:o,page:n,per_page:r,sort:`updated`,order:`desc`,headers:{"X-GitHub-Api-Version":s_}})).data;if(s.incomplete_results)throw new L(`GitHub issue search returned incomplete results; narrow the query.`);if(s.total_count>1e3)throw new L(`GitHub issue search exceeds its 1000-result window; narrow the query.`);i=s.items,a=n*r<s.total_count?n+1:null}else i=(await e.clients.rest.issues.listForRepo({...e.repo,state:t.state??`open`,...t.labels===void 0?{}:{labels:t.labels.join(`,`)},...t.updatedSince===void 0?{}:{since:t.updatedSince},page:n,per_page:r,sort:`updated`,direction:`desc`,headers:{"X-GitHub-Api-Version":s_}})).data,a=i.length===r?n+1:null;let o=M(mC).parse(await _C(e,`GET /orgs/{org}/issue-fields`,{org:e.config.native.organization}));if(new Set(o.map(e=>e.name)).size!==o.length||new Set(o.map(e=>e.id)).size!==o.length)throw new L(`Native issue field catalog has duplicate identities or names.`);let s=[],c=new Set;for(let n of i){if(typeof n==`object`&&n&&`pull_request`in n)continue;let r=gC.parse(n);if(c.has(r.number))throw new L(`GitHub issue page repeats an issue.`);if(c.add(r.number),new URL(r.html_url).pathname.toLowerCase()!==`/${e.repo.owner}/${e.repo.repo}/issues/${String(r.number)}`.toLowerCase())throw new L(`GitHub issue list returned a foreign repository issue.`);let i=r.labels.map(e=>typeof e==`string`?e:e.name);if(t.state!==void 0&&t.state!==`all`&&r.state!==t.state||(t.labels??[]).some(e=>!i.some(t=>t.toLowerCase()===e.toLowerCase()))||t.issueType!==void 0&&r.type?.name!==t.issueType||t.updatedSince!==void 0&&Date.parse(r.updated_at)<Date.parse(t.updatedSince))continue;let a=await Xg({graphql:e.clients.graphql,issueNumber:r.number,repo:e.repo,requireRepositoryIdentity:!0}),l=a.parentRepository?.toLowerCase()===`${e.repo.owner}/${e.repo.repo}`.toLowerCase()?a.parentNumber:null;if(t.parentIssueNumber!==void 0&&(t.parentIssueNumber===null?a.parentNumber!==null:l!==t.parentIssueNumber))continue;let u=await _m({graphql:e.clients.graphql,issueNodeId:r.node_id,org:e.config.native.organization,...e.projectConfiguration?{configuration:e.projectConfiguration}:{},settings:bm(e.config)});if(t.projectStatus!==void 0&&(u?.status??null)!==t.projectStatus)continue;let d=Object.fromEntries(o.map(e=>[e.name,null])),f=M(hC).parse(await _C(e,`GET /repos/{owner}/{repo}/issues/{issue_number}/issue-field-values`,{...e.repo,issue_number:r.number})),p=new Set;for(let e of f){let t=o.find(t=>t.id===e.issue_field_id);if(!t||t.name!==e.issue_field_name||t.data_type!==e.data_type||p.has(e.issue_field_id))throw new L(`Native issue field readback conflicts with its catalog.`);if(p.add(e.issue_field_id),(e.data_type===`single_select`&&!e.single_select_option||e.data_type===`multi_select`&&e.multi_select_options===void 0)&&e.value!==null&&e.value!==void 0)throw new L(`Native select field omitted its named option readback.`);let n=e.data_type===`single_select`?e.single_select_option?.name??null:e.data_type===`multi_select`?e.multi_select_options?.map(e=>e.name):e.value;if(e.data_type===`date`&&n!=null&&!yu().safeParse(n).success)throw new L(`Native date field has an invalid date value.`);if(n==null)d[t.name]=null;else if(e.data_type===`number`?typeof n==`number`&&Number.isFinite(n):e.data_type===`multi_select`?Array.isArray(n):typeof n==`string`)d[t.name]=n;else throw new L(`Native issue field has an invalid value type.`)}s.push({number:r.number,title:r.title,state:r.state,labels:i,issueType:r.type?.name??null,parentIssueNumber:l,parent:a.parentNumber===null?null:{repository:a.parentRepository,number:a.parentNumber},blockers:a.blockers.map(({number:e,title:t,state:n,repository:r})=>({repository:r,number:e,title:t,state:n})),projectStatus:u?.status??null,fields:d,url:r.html_url,updatedAt:r.updated_at})}return{issues:s,page:n,perPage:r,nextPage:a}}function yC(e,t){let n=e=>e.replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`);return`<details>\n<summary>Previous issue title and body</summary>\n\nTitle:\n<pre>${n(e)}</pre>\n\nBody:\n<pre>${n(t)}</pre>\n\n</details>`}async function bC(e,t){let n=N({nameWithOwner:k().regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u)}),r=await e.clients.graphql(`
|
|
262
|
+
query IssueClosureReadback($owner: String!, $name: String!, $number: Int!) {
|
|
263
|
+
repository(owner: $owner, name: $name) {
|
|
264
|
+
issue(number: $number) {
|
|
265
|
+
number repository { nameWithOwner } state stateReason
|
|
266
|
+
duplicateOf { number repository { nameWithOwner } }
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
`,{owner:e.repo.owner,name:e.repo.repo,number:t}),i=N({repository:N({issue:N({number:A().int().positive().safe(),repository:n,state:F([`OPEN`,`CLOSED`]),stateReason:F([`COMPLETED`,`NOT_PLANNED`,`DUPLICATE`,`REOPENED`]).nullable(),duplicateOf:N({number:A().int().positive().safe(),repository:n}).nullable()})})}).parse(r).repository.issue;if(i.number!==t||i.repository.nameWithOwner.toLowerCase()!==`${e.repo.owner}/${e.repo.repo}`.toLowerCase())throw new L(`Native closure readback returned a foreign issue identity.`);if(i.state===`OPEN`&&i.stateReason!==null&&i.stateReason!==`REOPENED`||i.state===`CLOSED`&&i.stateReason===`REOPENED`||i.duplicateOf!==null&&i.stateReason!==`DUPLICATE`)throw new L(`Native closure readback has contradictory state evidence.`);return{state:i.state===`OPEN`?`open`:`closed`,closeReason:i.stateReason===null||i.stateReason===`REOPENED`?null:i.stateReason.toLowerCase(),duplicateOf:i.duplicateOf===null?null:{number:i.duplicateOf.number,repository:i.duplicateOf.repository.nameWithOwner}}}async function xC(e,t){if(t.closeReason!==void 0&&![`completed`,`not_planned`,`duplicate`].includes(t.closeReason)||(t.closeReason!==void 0||t.supersededBy!==void 0)&&t.state!==`closed`)throw new L(`Closure details require state closed and a supported close reason.`);if(t.supersededBy!==void 0&&(!Number.isSafeInteger(t.supersededBy)||t.supersededBy<=0||t.supersededBy===t.issueNumber))throw new L(`A superseding issue must be a different positive issue number.`);ry(t.issueNumber,e.root);let{clients:n,config:r,repo:i}=e,a=t.labels===void 0?void 0:dC(t.labels);if(t.issueType!==void 0&&!r.native.issueTypes.includes(t.issueType))throw new L(`Unsupported configured Issue Type.`);if(t.points!==void 0&&!r.native.points.values.includes(String(t.points)))throw new L(`Unsupported configured Points value.`);if(t.priority!==void 0&&!r.native.priority.values.includes(t.priority))throw new L(`Unsupported configured Priority value.`);if(t.parentIssueNumber!==void 0||t.blockedBy!==void 0){let e=await Xg({graphql:n.graphql,issueNumber:t.issueNumber,repo:i});await t_({blockers:e.blockers.map(e=>e.number),...e.parentNumber===null?{}:{parentIssueNumber:e.parentNumber},repo:i,rest:n.rest}),await t_({blockers:t.blockedBy??[],...t.parentIssueNumber===void 0||t.parentIssueNumber===null?{}:{parentIssueNumber:t.parentIssueNumber},repo:i,rest:n.rest})}let o=t.closeReason??(t.supersededBy===void 0?void 0:`completed`),s;if(t.supersededBy!==void 0){let e=(await n.rest.issues.get({...i,issue_number:t.supersededBy})).data;if(e.number!==t.supersededBy||`pull_request`in e||!Number.isSafeInteger(e.id)||e.id<=0||new URL(e.html_url).pathname.toLowerCase()!==`/${i.owner}/${i.repo}/issues/${String(t.supersededBy)}`.toLowerCase())throw new L(`Superseding issue readback is not the requested repository issue.`);s=e.id}let c=e=>{if(e.state!==`closed`||e.closeReason!==o||o===`duplicate`&&t.supersededBy!==void 0&&(e.duplicateOf?.number!==t.supersededBy||e.duplicateOf.repository.toLowerCase()!==`${i.owner}/${i.repo}`.toLowerCase()))throw new L(`Native closure readback disagrees with the requested reason or superseding issue.`)};if(o!==void 0){let n=await bC(e,t.issueNumber);if(n.state===`closed`)try{c(n)}catch{throw new L(`Issue is already closed with different closure evidence; reopen it explicitly first.`)}}let l,u;if(t.preserveHistory===!0&&(t.title!==void 0||t.body!==void 0)){let r=(await n.rest.issues.get({...i,issue_number:t.issueNumber})).data;if(r.number!==t.issueNumber||`pull_request`in r)throw new L(`History target is not the requested issue.`);let a={title:r.title,body:r.body??``};if(t.title!==void 0&&t.title!==a.title||t.body!==void 0&&t.body!==a.body){let n=yC(a.title,a.body);if(n.length>65536)throw new L(`Complete issue history exceeds the supported comment body limit; issue was not rewritten.`);u=a,l=await cC(e,{issueNumber:t.issueNumber,body:n})}}let d;if(o!==void 0&&(d=await cC(e,{issueNumber:t.issueNumber,body:`Requested closure reason: ${o}.${t.supersededBy===void 0?``:`\nSuperseded by ${i.owner}/${i.repo}#${String(t.supersededBy)}.`}`})),u!==void 0){let e=(await n.rest.issues.get({...i,issue_number:t.issueNumber})).data;if(e.number!==t.issueNumber||`pull_request`in e||e.title!==u.title||(e.body??``)!==u.body)throw new L(`Issue content changed after history readback; retry against the current title and body.`)}await n.rest.issues.update({issue_number:t.issueNumber,owner:i.owner,repo:i.repo,...t.body===void 0?{}:{body:t.body},...t.issueType===void 0?{}:{type:t.issueType},...a===void 0?{}:{labels:a},...t.milestone===void 0?{}:{milestone:t.milestone},...t.state===void 0?{}:{state:t.state},...o===void 0?{}:{state_reason:o,headers:{"X-GitHub-Api-Version":s_}},...o!==`duplicate`||s===void 0?{}:{duplicate_issue_id:s},...t.title===void 0?{}:{title:t.title}});let f=o===void 0?void 0:await bC(e,t.issueNumber);f!==void 0&&c(f),(t.points!==void 0||t.priority!==void 0)&&await h_({issueNumber:t.issueNumber,metadata:{...t.points===void 0?{}:{points:t.points},...t.priority===void 0?{}:{priority:t.priority}},org:r.native.organization,owner:i.owner,repo:i.repo,rest:n.rest,settings:c_(r)}),t.parentIssueNumber!==void 0&&await e_({graphql:n.graphql,issueNumber:t.issueNumber,parentIssueNumber:t.parentIssueNumber,repo:i,rest:n.rest}),t.parentIssueNumber!==void 0&&t.parentIssueNumber!==null&&await u_({issueNumber:t.parentIssueNumber,org:r.native.organization,owner:i.owner,repo:i.repo,rest:n.rest,settings:c_(r)}),t.blockedBy!==void 0&&await $g({blockers:t.blockedBy,graphql:n.graphql,issueNumber:t.issueNumber,repo:i,rest:n.rest});let p=await TC(e,t.issueNumber),m=p.state===`closed`||p.projectStatus===`Done`?`Done`:p.blockedBy.length>0?`Blocked`:t.park===!0||t.blockedBy!==void 0||p.projectStatus===null?`Todo`:p.projectStatus===`In Progress`||p.projectStatus===`Blocked`&&t.state===void 0?p.projectStatus:`Todo`,h=(await n.rest.issues.get({issue_number:t.issueNumber,...i})).data;await Sm({graphql:n.graphql,issueNodeId:h.node_id,org:r.native.organization,...e.projectConfiguration?{configuration:e.projectConfiguration}:{},settings:bm(r),status:m});let g=await TC(e,t.issueNumber);if((t.preserveHistory===!0||o!==void 0)&&(t.title!==void 0&&g.title!==t.title||t.body!==void 0&&g.body!==t.body||t.state!==void 0&&g.state!==t.state))throw new L(`Issue update readback disagrees with the requested content or state.`);return{...g,...l===void 0?{}:{historyComment:l},...f===void 0||d===void 0?{}:{closure:{...f,supersededBy:t.supersededBy??null,comment:d}}}}async function SC(e,t){return xC(e,t)}function CC(e,t){return w(W(e),`ai-delivery`,`issue-info`,`${t}.json`)}function wC(e,t){if(!Number.isSafeInteger(t)||t<=0)throw new L(`Issue number must be positive.`);let n;try{n=JSON.parse(u(CC(e,t),`utf8`))}catch{throw new L(`No readable cached issue snapshot exists.`)}if(typeof n!=`object`||!n||Array.isArray(n))throw new L(`Cached issue snapshot is invalid.`);let{snapshotId:r,...i}=n;if(i.schemaVersion!==`ai-delivery.issue-info@1`||typeof i.savedAt!=`string`||typeof r!=`string`||r!==B(i)||typeof i.issue!=`object`||i.issue===null||i.issue.issueNumber!==t)throw new L(`Cached issue snapshot is invalid or foreign.`);return i.issue}async function TC(e,t){let{clients:n,config:r,repo:i}=e,a=(await n.rest.issues.get({issue_number:t,owner:i.owner,repo:i.repo})).data;if(`pull_request`in a)throw new L(`Requested issue number is a pull request.`);let[o,s,c]=await Promise.all([f_({issueNumber:t,owner:i.owner,repo:i.repo,rest:n.rest,settings:c_(r)}),Xg({graphql:n.graphql,issueNumber:t,repo:i}),_m({graphql:n.graphql,issueNodeId:a.node_id,org:r.native.organization,...e.projectConfiguration?{configuration:e.projectConfiguration}:{},settings:bm(r)})]),l={...e.configuration?{routing:e.configuration.routing}:{},blockedBy:s.blockers.filter(e=>e.state===`OPEN`).map(e=>e.number),body:a.body??``,issueNumber:t,issueType:a.type?.name??null,parentIssueNumber:s.parentNumber,...o.points===void 0?{}:{points:o.points},...o.priority===void 0?{}:{priority:o.priority},projectStatus:c?.status??null,state:a.state,title:a.title,url:a.html_url,worktree:iy(t,e.root)?.path??null},u={issue:l,savedAt:new Date().toISOString(),schemaVersion:`ai-delivery.issue-info@1`};return I_(CC(e.root,t),{...u,snapshotId:B(u)}),l}async function EC(e,t){if(`pull_request`in(await e.clients.rest.issues.get({...e.repo,issue_number:t})).data)throw new L(`Requested issue number is a pull request.`);return(await e.clients.rest.paginate(e.clients.rest.issues.listSubIssues,{...e.repo,issue_number:t,per_page:100})).map(e=>e.number).sort((e,t)=>e-t)}async function DC(e,t){let n=await TC(e,t),r=await Zg({issueNumber:t,repo:e.repo,rest:e.clients.rest});return WS({blockedBy:n.blockedBy,body:n.body,...n.points===void 0?{}:{points:n.points},repoRoot:e.root,title:n.title,trackingParent:r})}function OC(e){return z({schemaVersion:`ai-delivery.worktree-continuation-authority@1`,plan:e,acceptedScope:`the-complete-content-addressed-committed-descendant-plan-and-every-original`,operationalClosure:`all-other-launchers-and-writers-are-quiescent-no-unknown-writers`,maintainedExclusion:`all-other-launchers-and-writers-remain-excluded-through-apply-and-exact-plan-replay`,historicalAuthority:`preservation-only-no-current-verification-review-retirement-or-hold-release`})}function kC(e,t){return z({schemaVersion:`ai-delivery.worktree-continuation-acceptance@1`,plan:e,authorityCommentId:t,authorityDigest:V(Buffer.from(OC(e))),acceptedScope:`independent-acceptance-of-the-complete-plan-and-maintained-writer-exclusion`,result:`approved`})}async function AC(e,t,r,i){if(e.config.roles.author.authSource!==`personal`)throw new L(`Committed continuation requires configured personal author authentication.`);await Eb(e.root,r.path,()=>Qv(e.root,t,async r=>{let a=r.pending?.plan.row??r.current;px(a,e.root),Zh(a.path);let o=await Wx(e),s=await zS(e,a,o.operator),c={sha:U(a.path,`rev-parse`,`HEAD`),tree:U(a.path,`rev-parse`,`HEAD^{tree}`)};if(c.sha===s.terminal.headSha||qh(a.path,`merge-base`,`--is-ancestor`,s.terminal.headSha,c.sha)!==0)throw new L(`Committed continuation requires a strict committed descendant of its exact terminal head.`);if(!e.configuration)throw new L(`Committed continuation requires discovered current configuration.`);let l=()=>sv({repoRoot:e.root,configuration:e.configuration,...i===void 0?{}:{runtimeEntryPath:i}}),u=await l(),d=Iv(e.root,t,c.sha),f=r.pending?.plan??(n(d)?Nv.parse(JSON.parse(H(d).toString(`utf8`)).plan):void 0),{prNumber:p,...m}=a,h={schemaVersion:`ai-delivery.committed-continuation-plan@1`,repository:e.config.repository,repoRoot:e.root,configDigest:e.configuration.configDigest,currentRuntime:u,row:a,replacement:{...m,type:`issue`,issueNumber:t,identity:e.config.roles.author.identity,status:`active`,updatedAt:f?.replacement.updatedAt??new Date().toISOString()},head:c,terminalHead:{sha:s.terminal.headSha,tree:s.terminal.headTree},terminalMergeId:s.terminal.mergeId,operator:o.operator,reviewerActor:o.reviewerActor,preserved:[...s.preserved,r.ownerWitness]},g=Nv.parse({...h,planId:B(h)});if(f&&z(f)!==z(g))throw new L(`Committed continuation approved source, configuration or custody plan drifted.`);r.prepare(),Yv(d,{plan:g,operatorBody:OC(g),reviewerBody:kC(g,0)});let _=r.pending&&{authorityCommentId:r.pending.authorityCommentId,acceptanceCommentId:r.pending.acceptanceCommentId};if(!_){let n=[];for(let r=1;;r+=1){let i=(await e.clients.rest.issues.listComments({...e.repo,issue_number:t,per_page:100,page:r})).data;if(n.push(...i),i.length<100)break}let r=n.filter(e=>e.body===OC(g)&&e.user?.type===`User`&&e.user.login.toLowerCase()===o.operator.actorLogin.toLowerCase()&&`user:${String(e.user.id)}`===o.operator.credentialIdentity),i=r.length===1?r[0]:void 0,a=i?n.filter(e=>e.body===kC(g,i.id)&&e.user?.type===`Bot`&&e.user.login.toLowerCase()===o.reviewerActor.toLowerCase()):[];if(!i||a.length!==1||!a[0])throw new L(`Committed continuation requires exact native operator and configured reviewer-App acceptance. Saved plan: ${d}`);_={authorityCommentId:i.id,acceptanceCommentId:a[0].id}}let v=()=>Yx(e,{repository:g.repository,subject:t,operator:g.operator,reviewerActor:g.reviewerActor,..._,operatorBody:OC(g),reviewerBody:kC(g,_.authorityCommentId),revokedBody:z({schemaVersion:`ai-delivery.worktree-continuation-revocation@1`,planId:g.planId,authorityCommentId:_.authorityCommentId})}),y=async()=>{if((await e.clients.rest.issues.get({...e.repo,issue_number:t})).data.state!==`open`||!(await DC(e,t)).ready)throw new L(`Committed continuation requires an open, ready unfinished issue.`);if(px(a,e.root),Zh(a.path),U(a.path,`rev-parse`,`HEAD`)!==g.head.sha||U(a.path,`rev-parse`,`HEAD^{tree}`)!==g.head.tree)throw new L(`Committed continuation source changed during exact-plan recovery.`);let n=await zS(e,a,g.operator);if(n.terminal.mergeId!==g.terminalMergeId||z([...n.preserved,r.ownerWitness])!==z(g.preserved))throw new L(`Committed continuation original lineage changed.`);if(await v(),z(await l())!==z(g.currentRuntime))throw new L(`Committed continuation runtime admission changed during exact-plan recovery.`)};await y(),r.begin(g,_),await y(),r.commit(),await y(),r.complete()}))}async function jC(e,t,r){if(await kS(e,void 0,void 0,`development`),(await e.clients.rest.issues.get({issue_number:t,...e.repo})).data.state===`closed`)throw new L(`Issue #${t} is closed. Reopen it before developing.`);let i=await DC(e,t);if(!i.ready)throw new L(`Issue #${t} is not ready: ${i.failures.map(e=>e.message).join(`; `)}`);let a=ay(e.root).filter(e=>e.type===`issue`&&e.issueNumber===t);if(a.length>1)throw new L(`Issue has duplicate worktree registry rows.`);let o=Vv(t,e.root),s=a[0];if(o||s?.status===`merged`&&e.clients.authSource===`personal`&&!n(w(W(s.path),`ai-delivery`,`merges`,String(t),`${U(s.path,`rev-parse`,`HEAD`)}.json`))){if(!s)throw new L(`Committed continuation canonical custody is missing.`);await AC(e,t,s,r)}else if(s?.status===`merged`){let r=ny(t,e.root);if(r.identity!==e.config.roles.author.identity||r.prNumber===void 0)throw new L(`Merged continuation requires the same preparing owner and exact prior PR.`);px(r,e.root),Zh(r.path);let i=U(r.path,`rev-parse`,`HEAD`);if(!n(w(W(r.path),`ai-delivery`,`merges`,String(t),`${i}.json`)))throw new L(`Merged continuation lacks its exact terminal merge receipt.`);await ux(r.path,async n=>{if(n.assertQuiescent(),await BS(e,{issueNumber:t,prNumber:r.prNumber}),(await e.clients.rest.issues.get({issue_number:t,...e.repo})).data.state!==`open`||!(await DC(e,t)).ready)throw new L(`Merged continuation requires an open, ready unfinished issue.`);if(px(r,e.root),Zh(r.path),U(r.path,`rev-parse`,`HEAD`)!==i)throw new L(`Merged continuation source changed during terminal readback.`);let{prNumber:a,...o}=r;await ty({...o,status:`active`,updatedAt:new Date().toISOString()},e.root),n.assertQuiescent()})}let c=await mx({...e.configuration?.remote?{remote:e.configuration.remote}:{},identity:e.config.roles.author.identity,issueNumber:t,repoRoot:e.root}),l=(await e.clients.rest.issues.get({issue_number:t,...e.repo})).data;return await Sm({graphql:e.clients.graphql,issueNodeId:l.node_id,org:e.config.native.organization,...e.projectConfiguration?{configuration:e.projectConfiguration}:{},settings:bm(e.config),status:`In Progress`}),await lC(e,t),{branch:c.branch,path:c.path}}var MC=k().regex(/^sha256:[a-f0-9]{64}$/u),NC=P({maxAggregateRssBytes:A().int().positive().safe(),minFreeDiskBytes:A().int().positive().safe(),maxNewOutputBytes:A().int().positive().safe(),maxCapturedOutputBytes:A().int().positive().safe().max(8*1024**2)}),PC=P({archivePath:k().min(1),archiveSha256:MC,configDigest:MC,packageVersion:k().regex(/^\d+\.\d+\.\d+$/u),repoRoot:k().min(1),repository:k().min(1),reviewRouteDigest:MC,runtimeDirectory:k().min(1),nativePluginRoot:k().min(1).optional(),sourceCommit:k().regex(/^[a-f0-9]{40}$/u),resourceBounds:NC.optional()}),FC=P({schemaVersion:I(`ai-delivery.runtime-stage@1`),stageId:MC,intent:PC,directory:P({device:A().int(),inode:A().int()}),admission:rv.optional(),status:F([`incomplete`,`complete`]),recordId:MC}).superRefine((e,t)=>{let{recordId:n,...r}=e;(n!==B(r)||e.stageId!==B(e.intent)||e.status===`complete`!=(e.admission!==void 0)||e.admission!==void 0&&(e.admission.sourceCommit!==e.intent.sourceCommit||e.admission.sourceArchiveSha256!==e.intent.archiveSha256||e.admission.packageVersion!==e.intent.packageVersion||e.admission.configDigest!==e.intent.configDigest||e.admission.repository!==e.intent.repository||e.admission.cliPath!==LC(e.intent.runtimeDirectory,e.intent.nativePluginRoot).cliPath||e.admission.mcpLauncherPath!==LC(e.intent.runtimeDirectory,e.intent.nativePluginRoot).mcpLauncherPath||e.admission.pluginManifestPath!==LC(e.intent.runtimeDirectory,e.intent.nativePluginRoot).pluginManifestPath))&&t.addIssue({code:`custom`,message:`Runtime stage identity or completion is corrupt.`})});function IC(e){if(!ne(e)||T(e)!==e)throw new L(`Runtime setup paths must be absolute and canonical.`);let t=e.split(ae).filter(Boolean),n=ae;for(let e of t){n=w(n,e);try{if(o(n).isSymbolicLink())throw new L(`Runtime setup path contains a symbolic link.`)}catch(e){if(e.code!==`ENOENT`)throw e}}return e}function LC(e,t){let n=w(e,`node_modules`,`@aviaratech`,`ai-delivery`),r=t??w(n,`plugins`,`ai-delivery`);return{cliPath:t?w(r,`runtime`,`dist`,`cli.js`):w(n,`dist`,`cli.js`),mcpLauncherPath:w(r,`dist`,`mcp-launcher.js`),pluginManifestPath:w(r,`.claude-plugin`,`plugin.json`)}}function RC(e,t){if(t!==void 0&&(IC(t),t===e||t.startsWith(`${e}${ae}`)||e.startsWith(`${t}${ae}`)))throw new L(`Native plugin cache and owned runtime stage paths must not overlap.`)}function zC(e){if(e.nativePluginRoot===void 0)return;RC(e.runtimeDirectory,e.nativePluginRoot);let t=IC(w(e.runtimeDirectory,`node_modules/@aviaratech/ai-delivery/plugins/ai-delivery`)),n=0,r=(e,t,i)=>{if(i>16||++n>4096)throw new L(`Native plugin inventory exceeds the reviewed layout bound.`);let a=o(e),s=o(t);if(a.isDirectory()&&s.isDirectory()){let n=f(e).sort();if(JSON.stringify(n)!==JSON.stringify(f(t).sort()))throw new L(`Selected native plugin inventory disagrees with reviewed archive bytes.`);for(let a of n)r(w(e,a),w(t,a),i+1)}else if(!a.isFile()||!s.isFile()||a.nlink!==1||s.nlink!==1||a.size!==s.size||!u(e).equals(u(t)))throw new L(`Selected native plugin files disagree with reviewed archive bytes.`)};try{r(t,e.nativePluginRoot,0)}catch(e){throw e instanceof L?e:new L(`Selected native plugin cannot be matched to reviewed archive bytes.`)}}function BC(e,t){IC(e),MC.parse(t);let n=o(e);if(!n.isFile()||n.nlink!==1)throw new L(`Reviewed runtime archive bytes do not match the expected digest.`);let r=u(e);if(V(r)!==t)throw new L(`Reviewed runtime archive bytes do not match the expected digest.`);return r}function VC(e){let t=IC(w(e.runtimeDirectory,`reviewed-archive.tgz`));if(V(H(t))!==e.archiveSha256)throw new L(`Runtime stage archive snapshot bytes changed.`);return t}async function HC(e,t,n,r){if(await n?.(),typeof e.identity!=`string`||!e.identity.trim())throw new L(`Runtime setup requires an explicit configured author identity.`);let i=Jh(e.repoRoot);if(i!==Yh(i))throw new L(`Runtime setup requires the primary consumer controller checkout.`);if(Zh(i),Xh(i).sha!==e.expectedSourceCommit)throw new L(`Primary controller source commit changed.`);IC(e.runtimeDirectory);let a=await uC({identity:e.identity,repoRoot:i,role:`author`,...r===void 0?{}:{signal:r},...e.personalAuth===void 0?{}:{personalAuth:e.personalAuth}});await n?.();let o=ng({commandName:t,deliveryConfig:a.config,identity:e.identity,...e.personalAuth===void 0?{}:{personalAuth:e.personalAuth}});if(o.error)throw new L(o.error);if(!a.configuration||a.configuration.configDigest!==e.expectedConfigDigest)throw new L(`Primary controller resolver config digest changed.`);let s=await kS(a,void 0,void 0,`publication`,n===void 0||r===void 0?void 0:{signal:r,checkResources:n});if(await n?.(),Zh(i),Xh(i).sha!==e.expectedSourceCommit)throw new L(`Primary controller source commit changed during preflight.`);return{root:i,configuration:a.configuration,reviewRoute:s}}function UC(e){IC(e);let t=o(e);if(!t.isDirectory()||(t.mode&511)!=448)throw new L(`Runtime stage directory must be private and owned.`);let n;try{n=FC.parse(JSON.parse(H(w(e,`runtime-stage.json`)).toString(`utf8`)))}catch{throw new L(`Runtime stage is unowned, incompatible or corrupt.`)}if(n.intent.runtimeDirectory!==e||t.dev!==n.directory.device||t.ino!==n.directory.inode)throw new L(`Runtime stage directory ownership changed.`);return n.status===`complete`&&(VC(n.intent),zC(n.intent)),n}function WC(e,t){let n=FC.parse({...t,recordId:B(t)});I_(w(e,`runtime-stage.json`),n);let r=UC(e);if(r.recordId!==n.recordId)throw new L(`Runtime stage completion readback changed.`);return r}function GC(e){let n=l(e,`r`);try{i(n)}finally{t(n)}}function KC(e){let n=H(e),r=l(e,`r`);try{i(r)}finally{t(r)}if(GC(C(e)),!H(e).equals(n))throw new L(`Runtime admission third-party replacement conflict.`)}function qC(e,t,n){if(!e.admission)throw new L(`Runtime stage completion is missing.`);return{stageId:e.stageId,admission:e.admission,reused:n,reviewRoute:t,launch:{cli:{command:process.execPath,args:[e.admission.cliPath]},mcp:{command:process.execPath,args:[e.admission.mcpLauncherPath]}}}}function JC(e,t,n){if(e.intent.repoRoot!==t.root||e.intent.repository!==t.configuration.config.repository||e.intent.sourceCommit!==n.expectedSourceCommit||e.intent.configDigest!==n.expectedConfigDigest)throw new L(`Runtime stage primary controller source or configuration changed.`);if(e.intent.reviewRouteDigest!==B(t.reviewRoute))throw new L(`Runtime stage configured actors or review route changed.`)}async function YC(e){if(e.authority!==`runtime:stage`)throw new L(`Explicit runtime:stage authority is required.`);let t=NC.parse({maxAggregateRssBytes:1024**3,minFreeDiskBytes:256*1024**2,maxNewOutputBytes:512*1024**2,maxCapturedOutputBytes:1024**2,...e.resourceBounds});return IC(e.runtimeDirectory),RC(e.runtimeDirectory,e.nativePluginRoot),ux(e.repoRoot,async r=>{let i=await HC(e,`runtime:stage`,r.checkResources,r.signal);BC(e.archivePath,e.expectedArchiveSha256);let a=PC.parse({archivePath:e.archivePath,archiveSha256:e.expectedArchiveSha256,configDigest:e.expectedConfigDigest,sourceCommit:e.expectedSourceCommit,packageVersion:e.packageVersion,repoRoot:i.root,repository:i.configuration.config.repository,reviewRouteDigest:B(i.reviewRoute),runtimeDirectory:e.runtimeDirectory,resourceBounds:t,...e.nativePluginRoot===void 0?{}:{nativePluginRoot:e.nativePluginRoot}}),c=B(a);if(r.bindCapturedOutput(c),n(e.runtimeDirectory)){let t=UC(e.runtimeDirectory);if(t.stageId!==c)throw new L(`Runtime stage belongs to an incompatible setup intent.`);if(t.status===`complete`){let n=await HC(e,`runtime:stage`,r.checkResources,r.signal);return JC(t,n,e),BC(a.archivePath,a.archiveSha256),KC(w(e.runtimeDirectory,`reviewed-archive.tgz`)),VC(a),cv(t.admission,n.configuration,t.admission.cliPath),KC(w(e.runtimeDirectory,`runtime-stage.json`)),GC(C(e.runtimeDirectory)),await r.checkResources(),qC(t,n.reviewRoute,!0)}r.assertQuiescent(),g(e.runtimeDirectory,{recursive:!0})}P_(C(e.runtimeDirectory)),s(e.runtimeDirectory,{mode:448});let l=o(e.runtimeDirectory),u={schemaVersion:`ai-delivery.runtime-stage@1`,stageId:c,intent:a,directory:{device:l.dev,inode:l.ino},status:`incomplete`},d=!1;try{if(GC(C(e.runtimeDirectory)),WC(e.runtimeDirectory,u),d=!0,e.signal?.aborted)throw new L(`Runtime stage cancelled.`);let n=BC(e.archivePath,e.expectedArchiveSha256);if(!Number.isSafeInteger(t.maxNewOutputBytes)||n.length>=t.maxNewOutputBytes)throw new L(`Reviewed archive snapshot exceeds the stage output limit.`);Au(w(e.runtimeDirectory,`reviewed-archive.tgz`),n);let i=VC(a),o=w(e.runtimeDirectory,`.npm`),s=w(o,`cache`),c=w(o,`logs`),l=w(o,`tmp`);for(let e of[s,c,l])P_(e);let f=w(o,`user.npmrc`),p=w(o,`global.npmrc`);Au(f,Buffer.alloc(0)),Au(p,Buffer.alloc(0)),await r.checkResources(),await r.run([`npm`,`install`,`--prefix`,e.runtimeDirectory,`--omit=dev`,`--ignore-scripts`,`--no-audit`,`--no-fund`,`--package-lock=false`,`--cache`,s,`--logs-dir`,c,`--logs-max`,`0`,`--userconfig`,f,`--globalconfig`,p,i],{...t,maxNewOutputBytes:t.maxNewOutputBytes-n.length,outputRoots:[e.runtimeDirectory]},e.signal,{...process.env,TMPDIR:l,TMP:l,TEMP:l},e.runtimeDirectory);let m=await HC(e,`runtime:stage`,r.checkResources,r.signal);JC({...u,recordId:B(u)},m,e),BC(e.archivePath,e.expectedArchiveSha256),VC(a),zC(a);let h=lv({...LC(e.runtimeDirectory,e.nativePluginRoot),packageVersion:e.packageVersion,sourceArchiveSha256:e.expectedArchiveSha256,sourceCommit:e.expectedSourceCommit,configuration:m.configuration});if(zC(a),e.signal?.aborted)throw new L(`Runtime stage cancelled.`);r.assertQuiescent(),cv(h,m.configuration,h.cliPath),await r.checkResources();let g=WC(e.runtimeDirectory,{...u,status:`complete`,admission:h});return cv(g.admission,m.configuration,g.admission.cliPath),qC(g,m.reviewRoute,!1)}catch(t){if(d){r.assertQuiescent();let t=UC(e.runtimeDirectory);if(t.stageId!==c)throw new L(`Runtime stage cleanup ownership changed.`);if(t.status===`incomplete`)g(e.runtimeDirectory,{recursive:!0});else{let n=await HC(e,`runtime:stage`,r.checkResources,r.signal);return JC(t,n,e),BC(a.archivePath,a.archiveSha256),KC(w(e.runtimeDirectory,`reviewed-archive.tgz`)),VC(a),cv(t.admission,n.configuration,t.admission.cliPath),KC(w(e.runtimeDirectory,`runtime-stage.json`)),GC(C(e.runtimeDirectory)),qC(t,n.reviewRoute,!0)}}else{r.assertQuiescent();let t=o(e.runtimeDirectory);if(t.dev!==l.dev||t.ino!==l.ino||t.isSymbolicLink())throw new L(`Runtime stage cleanup ownership changed.`);g(e.runtimeDirectory,{recursive:!0})}throw t}},{bounds:{...t,outputRoots:[e.runtimeDirectory]},maxCapturedOutputBytes:t.maxCapturedOutputBytes,...e.signal===void 0?{}:{signal:e.signal}})}var XC=class extends L{admissionId;stageId;status=`commit-status-unknown`;constructor(e,t){super(`Runtime admission commit-status-unknown for ${e}; retry runtime:admit with the same stage ${t} to reconcile durability.`),this.admissionId=e,this.stageId=t}};async function ZC(e){if(e.authority!==`runtime:admit`)throw new L(`Explicit runtime:admit authority is required.`);MC.parse(e.stageId),e.expectedPriorAdmissionSha256!==null&&MC.parse(e.expectedPriorAdmissionSha256);let t=await HC(e,`runtime:admit`),r=w(W(t.root),`ai-delivery`,`runtime-admission.json`);return IC(r),P_(C(r)),Dv(r,{projectRoot:t.root,timeout:200,operation:async()=>{let t=UC(e.runtimeDirectory);if(t.stageId!==e.stageId||t.status!==`complete`||!t.admission)throw new L(`Exact completed runtime stage identity is required.`);let i=await HC(e,`runtime:admit`);JC(t,i,e),BC(t.intent.archivePath,t.intent.archiveSha256),VC(t.intent),cv(t.admission,i.configuration,t.admission.cliPath);let a=Buffer.from(`${JSON.stringify(t.admission,null,2)}\n`);IC(r);let o=n(r)?H(r):void 0,s=()=>{if(IC(r),VC(t.intent),cv(t.admission,i.configuration,t.admission.cliPath),!n(r)||!H(r).equals(a))throw new L(`Runtime admission third-party replacement conflict; current bytes preserved.`);try{KC(r)}catch{throw!n(r)||!H(r).equals(a)?new L(`Runtime admission third-party replacement conflict; current bytes preserved.`):new XC(t.admission.admissionId,t.stageId)}return{admission:t.admission,reused:!0}};if(o?.equals(a))return s();if((o===void 0?null:V(o))!==e.expectedPriorAdmissionSha256)throw new L(`Runtime admission prior-byte compare-and-swap conflict; current bytes preserved.`);let c=await HC(e,`runtime:admit`);JC(t,c,e),BC(t.intent.archivePath,t.intent.archiveSha256),VC(t.intent),cv(t.admission,c.configuration,t.admission.cliPath),IC(r);let l=n(r)?H(r):void 0;if((l===void 0?null:V(l))!==e.expectedPriorAdmissionSha256)throw new L(`Runtime admission prior-byte compare-and-swap conflict; current bytes preserved.`);try{I_(r,t.admission)}catch(t){let i=n(r)?H(r):void 0;if(i?.equals(a))return s();throw(i===void 0?null:V(i))===e.expectedPriorAdmissionSha256?t:new L(`Runtime admission third-party replacement conflict; current bytes preserved.`)}return s(),{admission:t.admission,reused:!1}}})}var QC=A().int().positive(),$C=M(k().regex(/^(?:area|risk):[^\s:]+$/u)),ew={blockedBy:M(QC).optional(),body:k().optional(),issueType:k().min(1).optional(),labels:$C.optional(),milestone:QC.optional(),parentIssueNumber:QC.optional(),points:QC.optional(),priority:k().min(1).optional(),repo:k().regex(/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+$/u).optional(),title:k().trim().min(1).max(256)},tw={state:F([`open`,`closed`,`all`]).optional(),labels:M(k().min(1).regex(/^[^"\\\r\n]+$/u)).optional(),parentIssueNumber:QC.nullable().optional(),issueType:k().min(1).optional(),projectStatus:F([`Todo`,`In Progress`,`Blocked`,`Done`]).nullable().optional(),updatedSince:vu({offset:!0}).optional(),page:QC.optional(),perPage:QC.max(100).optional()},nw=k().trim().min(1).max(256).regex(/^[^"\\\r\n]+$/u),rw={identity:k().min(1).optional(),expectedSourceCommit:k().regex(/^[a-f0-9]{40}$/u),expectedConfigDigest:k().regex(/^sha256:[a-f0-9]{64}$/u),runtimeDirectory:k().min(1)},iw=[{name:`issue_comment`,commandName:`comment`,description:`Post a typed issue journal with authoritative comment readback`,inputSchema:k_},{name:`runtime_stage`,commandName:`runtime:stage`,description:`Explicitly stage a reviewed local public archive without host activation or admission`,inputSchema:P({...rw,authority:I(`runtime:stage`),archivePath:k().min(1),expectedArchiveSha256:k().regex(/^sha256:[a-f0-9]{64}$/u),packageVersion:k().regex(/^\d+\.\d+\.\d+$/u),nativePluginRoot:k().min(1).optional(),resourceBounds:P({maxAggregateRssBytes:A().int().positive().safe(),minFreeDiskBytes:A().int().positive().safe(),maxNewOutputBytes:A().int().positive().safe(),maxCapturedOutputBytes:A().int().positive().safe().max(8*1024**2).optional()}).optional()})},{name:`runtime_admit`,commandName:`runtime:admit`,description:`Explicitly admit an exact completed stage with prior-byte compare-and-swap and reconciliation`,inputSchema:P({...rw,authority:I(`runtime:admit`),stageId:k().regex(/^sha256:[a-f0-9]{64}$/u),expectedPriorAdmissionSha256:k().regex(/^sha256:[a-f0-9]{64}$/u).nullable()})},{name:`issue_create`,commandName:`create`,description:`Create a native GitHub tracking issue with configured metadata and relationships`,inputSchema:P(ew)},{name:`issue_start`,commandName:`start`,description:`Create or resume a tracked issue and optionally prepare its worktree`,inputSchema:P({...ew,body:ew.body.optional(),issueType:ew.issueType.optional(),points:ew.points.optional(),priority:ew.priority.optional(),title:ew.title.optional(),issueNumber:QC.optional(),request:k().min(1).optional(),develop:j().optional(),resumeCreated:j().optional(),scratch:j().optional(),branch:k().min(1).optional()})},{name:`issue_list`,commandName:`list`,description:`List repository issues with native filters, named organization fields and pagination`,inputSchema:P({...tw,query:nw.optional()})},{name:`issue_search`,commandName:`search`,description:`Search literal issue text in the selected repository with native filters and pagination`,inputSchema:P({...tw,query:nw})},{name:`issue_update`,commandName:`update`,description:`Update native issue fields and exact relationship sets with readback`,inputSchema:P({blockedBy:M(QC).optional(),body:k().optional(),issueNumber:QC,issueType:k().min(1).optional(),labels:$C.optional(),milestone:QC.nullable().optional(),parentIssueNumber:QC.nullable().optional(),park:I(!0).optional(),points:QC.optional(),priority:k().min(1).optional(),state:F([`open`,`closed`]).optional(),preserveHistory:j().optional(),closeReason:F([`completed`,`not_planned`,`duplicate`]).optional(),supersededBy:QC.optional(),title:k().trim().min(1).max(256).optional()}).refine(e=>e.closeReason===void 0&&e.supersededBy===void 0||e.state===`closed`,`Closure details require state closed`)},{name:`issue_info`,commandName:`info`,description:`Read live issue metadata, relationships, Project status and registered worktree`,inputSchema:P({issueNumber:QC,cached:j().optional()})},{name:`issue_ready_check`,commandName:`ready:check`,description:`Evaluate deterministic readiness from live native issue state`,inputSchema:P({issueNumber:QC,repo:ew.repo})},{name:`issue_develop`,commandName:`develop`,description:`Prepare the one registered issue worktree after readiness passes`,inputSchema:P({issueNumber:QC,assignee:k().min(1).optional()})},{name:`issue_verify`,commandName:`verify`,description:`Resume exact-head policy stages and produce versioned delivery evidence`,inputSchema:P({issueNumber:QC,admit:M(k().min(1)).optional(),prepublicationReview:k().min(1).optional(),resourceBounds:P({maxAggregateRssBytes:A().int().positive().safe(),maxNewOutputBytes:A().int().positive().safe().optional(),minFreeDiskBytes:A().int().positive().safe(),outputRoots:M(k().min(1)).min(1).optional()}).optional()})},{name:`issue_pr_create`,commandName:`pr:create`,description:`Publish a verified draft or promote the unchanged reviewed PR`,inputSchema:P({issueNumber:QC,body:k().min(1).optional(),draft:j().optional(),dryRun:j().optional(),title:k().min(1).optional()})},{name:`issue_pr_info`,commandName:`pr:info`,description:`Inspect a PR by PR number or by its registered issue branch`,inputSchema:P({issueNumber:QC.optional(),prNumber:QC.optional()})},{name:`issue_pr_review`,commandName:`pr:review`,description:`Submit one existing exact-head independent review with the reviewer App role`,inputSchema:P({issueNumber:QC,prNumber:QC,artifact:k().min(1),identity:k().min(1).optional(),dryRun:j().optional()})},{name:`issue_pr_merge`,commandName:`pr:merge`,description:`Guarded exact-head merge with live blocker, check and review readback`,inputSchema:P({issueNumber:QC,prNumber:QC,strategy:F([`merge`,`squash`,`rebase`]).optional(),dryRun:j().optional()})},{name:`issue_finish`,commandName:`finish`,description:`Resume merge, issue completion and non-force worktree cleanup`,inputSchema:P({issueNumber:QC,prNumber:QC,strategy:F([`merge`,`squash`,`rebase`]).optional(),dryRun:j().optional()})},{name:`issue_worktree_create`,commandName:`worktree:create`,description:`Prepare one explicit standalone worktree without an issue`,inputSchema:P({name:k().min(1),branch:k().min(1)})},{name:`issue_worktree_transition_inspect`,commandName:`worktree:transition:inspect`,description:`Read a legacy issue row, original evidence and exact closure gaps without changing ownership`,inputSchema:P({issueNumber:QC,purpose:F([`active-resume`,`merged-cleanup`]),disposition:F([`retain`,`remove`]).optional(),terminalPrNumber:QC.optional(),retainedHoldCommentIds:M(QC).optional(),retainedAdmissionPath:k().min(1).optional(),retainedArchivePath:k().min(1).optional()})},{name:`issue_worktree_transition_apply`,commandName:`worktree:transition:apply`,description:`Apply or resume one exact independently accepted transition with immutable preservation and closure proof`,inputSchema:P({authority:I(`worktree:transition`),planPath:k().min(1),expectedPlanId:k().regex(/^sha256:[a-f0-9]{64}$/u),relinquishmentCommentId:QC,acceptanceCommentId:QC})}];function aw(e){return iw.find(t=>t.name===e)??null}var ow=new Set([`issue_comment`,`issue_create`,`issue_start`,`issue_update`,`issue_develop`,`issue_verify`,`issue_pr_create`,`issue_pr_review`,`issue_pr_merge`,`issue_finish`,`issue_worktree_create`,`issue_worktree_transition_apply`]);function sw(e,t){let n=e[t];if(typeof n!=`number`||!Number.isSafeInteger(n)||n<=0)throw new L(`${t} must be positive.`);return n}function cw(e,t){return typeof e[t]==`string`?e[t]:void 0}function lw(e,t){let n=cw(e,t);if(!n?.trim())throw new L(`${t} is required.`);return n}function uw(e){return{issueNumber:sw(e,`issueNumber`),...e.body===void 0?{}:{body:lw(e,`body`)},...e.issueType===void 0?{}:{issueType:lw(e,`issueType`)},...e.points===void 0?{}:{points:Number(e.points)},...e.priority===void 0?{}:{priority:lw(e,`priority`)},...e.title===void 0?{}:{title:lw(e,`title`)},...e.labels===void 0?{}:{labels:e.labels},...e.milestone===void 0?{}:{milestone:Number(e.milestone)},...e.parentIssueNumber===void 0?{}:{parentIssueNumber:Number(e.parentIssueNumber)},...e.blockedBy===void 0?{}:{blockedBy:e.blockedBy}}}async function dw(e,t){let n=await ah(Jh(e.repoRoot)),r=e.identity??``,i=ng({commandName:t,deliveryConfig:n,identity:r,...e.personalAuth===void 0?{}:{personalAuth:e.personalAuth}});if(i.error)throw new L(i.error);return r||n.roles.author.identity}function fw(e,t){let n=e.repo??t.repo;if(n===void 0)return;let r=Jh(t.repoRoot),i=hm(r,ih(r).overrides.remote),a=`${i.owner}/${i.repo}`;if(typeof n!=`string`||n.toLowerCase()!==a.toLowerCase())throw new L(`Repository selector must match the configured repository for this Git checkout.`)}async function pw(e,t,n=`author`){return fw({},e),uC({identity:await dw(e,t),...e.personalAuth===void 0?{}:{personalAuth:e.personalAuth},repoRoot:e.repoRoot,role:n})}function mw(e,t,r){if(e!==`issue_verify`&&e!==`issue_pr_create`&&e!==`issue_pr_review`&&e!==`issue_pr_merge`&&e!==`issue_finish`&&(e!==`issue_pr_info`||t.issueNumber===void 0))return;let i=Yh(r.repoRoot),a=Jh(r.repoRoot),o=sw(t,`issueNumber`);if(e===`issue_finish`&&!ay(i).some(e=>e.type===`issue`&&e.issueNumber===o))return i;let s=ny(o,i);if(a!==i&&a!==s.path)throw new L(`Source-bound operations require the primary or exact registered issue checkout.`);if((e===`issue_finish`||e===`issue_pr_merge`)&&s.status===`merged`&&!n(s.path))return i;if(W(s.path)!==W(i))throw new L(`Registered issue source must belong to the primary Git repository.`);return Zh(s.path),s.path}async function hw(e,t,n){let r=t.issueNumber===void 0?void 0:sw(t,`issueNumber`);if(t.resumeCreated===!0&&(r===void 0||typeof t.develop!=`boolean`))throw new L(`Resume of a known created issue requires issueNumber and an explicit develop boolean.`);if(r!==void 0&&t.resumeCreated!==!0){let t=await jC(e,r,n);return{issueNumber:r,mode:`existing-issue`,title:(await TC(e,r)).title,branch:t.branch,path:t.path,worktreePath:t.path}}let i=cw(t,`request`),a=cw(t,`title`)??lw(t,`request`),o=t.points===void 0?2:sw(t,`points`),s={body:cw(t,`body`)??i??a,title:a,points:o,...t.issueType===void 0?{}:{issueType:lw(t,`issueType`)},...t.priority===void 0?{}:{priority:lw(t,`priority`)},...t.blockedBy===void 0?{}:{blockedBy:t.blockedBy},...t.labels===void 0?{}:{labels:t.labels},...t.milestone===void 0?{}:{milestone:Number(t.milestone)},...t.parentIssueNumber===void 0?{}:{parentIssueNumber:Number(t.parentIssueNumber)}};t.develop===!0&&await gw(e,s);let c=`${e.repo.owner}/${e.repo.repo}`,l=(n,r,i)=>({schemaVersion:`ai-delivery.issue-start-registration@1`,status:`created-not-started`,provider:`github`,repository:c,identity:e.config.roles.author.identity,createdIssue:n,failure:{phase:r,message:i instanceof Error?i.message:String(i)},safeResume:{tool:`issue_start`,arguments:{...s,...t.repo===void 0?{}:{repo:t.repo},issueNumber:n.number,develop:t.develop===!0,resumeCreated:!0}}}),u;if(r!==void 0){let n=(await e.clients.rest.issues.get({...e.repo,issue_number:r})).data;if(n.number!==r||`pull_request`in n)throw new L(`Known-created issue readback disagrees with the requested issue.`);u={number:n.number,title:n.title,url:n.html_url};try{await SC(e,uw(t))}catch(e){return l(u,`tracking`,e)}}else try{u=(await pC(e,s)).created}catch(e){if(t.develop===!0&&e instanceof fC)return l(e.created,`tracking`,e);throw e}if(t.develop===!0)try{let t=await jC(e,u.number,n);return{schemaVersion:`ai-delivery.issue-start-registration@1`,status:`started`,provider:`github`,repository:c,identity:e.config.roles.author.identity,issue:u,branch:t.branch,worktreePath:t.path}}catch(e){return l(u,`development`,e)}try{await lC(e,u.number)}catch(e){return l(u,`journal`,e)}return{issueNumber:u.number,issueUrl:u.url,mode:`created-issue`,title:u.title}}async function gw(e,t){let n=WS({blockedBy:(await t_({blockers:t.blockedBy??[],...t.parentIssueNumber===void 0?{}:{parentIssueNumber:t.parentIssueNumber},repo:e.repo,rest:e.clients.rest})).unresolvedBlockers,body:t.body??``,...t.points===void 0?{}:{points:t.points},repoRoot:e.root,title:t.title});if(!n.ready)throw new L(`New issue is not ready: ${n.failures.map(e=>e.message).join(`; `)}`);if(ay(e.root),qh(e.root,`rev-parse`,`--verify`,$h(e.root,e.configuration?.remote))!==0)throw new L(`Default base ref is missing before tracked issue creation.`);await kS(e,void 0,void 0,`development`)}function _w(e,t,n,r){let i=(cw(e,`title`)??lw(e,`request`)).replace(/\s+/gu,` `).trim().slice(0,90).trim(),a=cw(e,`branch`),o=(a??cw(e,`request`)??i).replace(/\//gu,`-`).trim().toLowerCase().replace(/[^a-z0-9]+/gu,`-`).replace(/^-+|-+$/gu,``).slice(0,56).replace(/-+$/gu,``)||`scratch`;return hx({branch:a??`scratch/${o}`,identity:n,name:`scratch-${o}`,repoRoot:t.repoRoot,...r?{remote:r}:{}}).then(e=>({mode:`scratch`,title:i,branch:e.branch,worktreePath:e.path}))}async function vw(e,t,n){let r=aw(e);if(!r)throw new L(`Unknown ai-delivery tool ${e}.`);let i=r.inputSchema.parse(t);if(fw(i,n),e===`runtime_stage`||e===`runtime_admit`){let t={...i,repoRoot:n.repoRoot,identity:cw(i,`identity`)??n.identity??``,...n.personalAuth===void 0?{}:{personalAuth:n.personalAuth},...n.signal===void 0?{}:{signal:n.signal}};return e===`runtime_stage`?YC(t):ZC(t)}if(e===`issue_info`&&i.cached===!0)return wC(n.repoRoot,sw(i,`issueNumber`));let a={issue_comment:`comment`,runtime_stage:`runtime:stage`,runtime_admit:`runtime:admit`,issue_create:`create`,issue_start:`start`,issue_update:`update`,issue_info:`info`,issue_list:`list`,issue_search:`search`,issue_ready_check:`ready:check`,issue_develop:`develop`,issue_verify:`verify`,issue_pr_create:`pr:create`,issue_pr_info:`pr:info`,issue_pr_review:`pr:review`,issue_pr_merge:`pr:merge`,issue_finish:`finish`,issue_worktree_create:`worktree:create`,issue_worktree_transition_inspect:`worktree:transition:inspect`,issue_worktree_transition_apply:`worktree:transition:apply`},o=e===`issue_pr_review`?cw(i,`identity`):void 0,s=o===void 0?n:{...n,identity:o},c=mw(e,i,n),l=await pw(c===void 0?s:{...s,repoRoot:c},a[e],e===`issue_pr_review`?`reviewer`:`author`),d=l.configuration;if(c!==void 0){let t=Yh(n.repoRoot);if((await ah(t)).repository.toLowerCase()!==l.config.repository.toLowerCase())throw new L(`Registered issue source and primary controller must select the same repository.`);d=await oh(t,{clients:e===`issue_pr_review`?await um({config:l.config,identity:l.config.roles.author.identity,...n.personalAuth?{personalAuth:{enabled:!0}}:{},role:`author`}):l.clients})}if(ow.has(e)&&i.dryRun!==!0&&(e!==`issue_worktree_transition_apply`&&typeof i.issueNumber==`number`&&qv(i.issueNumber,Yh(n.repoRoot),e===`issue_develop`||e===`issue_start`&&i.resumeCreated!==!0),await sv({...n,repoRoot:c===void 0?n.repoRoot:Yh(n.repoRoot),...d===void 0?{}:{configuration:d}})),c!==void 0&&(e===`issue_pr_create`||e===`issue_pr_review`)){if(l.configuration===void 0)throw new L(`Source-bound operation requires discovered candidate configuration.`);bh({classification:Kb(c,sw(i,`issueNumber`)).classification,configDigest:l.configuration.configDigest,policySourcePath:l.config.policy.module,repoRoot:c})}switch(e){case`issue_comment`:return cC(l,i);case`issue_worktree_transition_inspect`:return eS(l,{...i,...n.runtimeEntryPath===void 0?{}:{runtimeEntryPath:n.runtimeEntryPath}});case`issue_worktree_transition_apply`:return Ux(l,{authority:`worktree:transition`,planPath:lw(i,`planPath`),expectedPlanId:lw(i,`expectedPlanId`),relinquishmentCommentId:sw(i,`relinquishmentCommentId`),acceptanceCommentId:sw(i,`acceptanceCommentId`),...n.runtimeEntryPath===void 0?{}:{runtimeEntryPath:n.runtimeEntryPath}});case`issue_create`:return pC(l,i);case`issue_start`:{let e=await dw(n,`start`);if(i.resumeCreated===!0&&(i.issueNumber===void 0||typeof i.develop!=`boolean`))throw new L(`Resume of a known created issue requires issueNumber and an explicit develop boolean.`);if(i.scratch===!0){if(i.issueNumber!==void 0||i.develop===!0||i.resumeCreated===!0)throw new L(`Scratch worktree cannot claim a tracked issue.`);return await kS(l,void 0,void 0,`development`),_w(i,n,e,l.configuration?.remote)}return hw(l,i,n.runtimeEntryPath)}case`issue_update`:return xC(l,i);case`issue_list`:case`issue_search`:return vC(l,i);case`issue_info`:return i.cached===!0?wC(n.repoRoot,sw(i,`issueNumber`)):TC(l,sw(i,`issueNumber`));case`issue_ready_check`:return DC(l,sw(i,`issueNumber`));case`issue_develop`:{let e=sw(i,`issueNumber`),t=await jC(l,e,n.runtimeEntryPath);return i.assignee!==void 0&&await l.clients.rest.issues.addAssignees({...l.repo,issue_number:e,assignees:[lw(i,`assignee`)]}),t}case`issue_verify`:{let e=sw(i,`issueNumber`),t=ny(e,Yh(n.repoRoot)),r=await Ub({personalAuth:l.clients.authSource===`personal`&&l.config.roles.author.authSource!==`personal`,issueNumber:e,repoRoot:t.path,...n.signal===void 0?{}:{signal:n.signal},...i.resourceBounds===void 0?{}:{resourceBounds:i.resourceBounds},...i.admit===void 0?{}:{admittedResourceClasses:[`source_only`,...i.admit]}}),a;if(i.prepublicationReview!==void 0){let o=G_(u(lw(i,`prepublicationReview`),`utf8`)),s=(await oh(t.path,n.personalAuth===void 0?{}:{personalAuth:n.personalAuth})).config;Y_({artifact:o,classification:r.classification,config:s,issueNumber:e,repoRoot:t.path}),a=K_({artifact:o,classification:r.classification,config:s,issueNumber:e})}let o=await Gb({personalAuth:l.clients.authSource===`personal`&&l.config.roles.author.authSource!==`personal`,...a===void 0?{}:{approval:a},issueNumber:e,phase:`verify`,repoRoot:t.path});return{classificationReceiptId:r.classification.receiptId,aggregateId:r.aggregate.aggregateId,evidenceId:o.evidenceId,manifestId:r.manifestId,...r.resources===void 0?{}:{resources:r.resources}}}case`issue_pr_create`:{let e=sw(i,`issueNumber`);if(i.dryRun===!0){let t=Kb(ny(e,l.root).path,e);return{dryRun:!0,headSha:t.classification.head.sha,risk:t.classification.risk,reviewRoute:await kS(l)}}return AS(l,{issueNumber:e,...i.body===void 0?{}:{body:lw(i,`body`)},...i.title===void 0?{}:{title:lw(i,`title`)},draft:i.draft!==!1})}case`issue_pr_info`:return wS(l,{...i.issueNumber===void 0?{}:{issueNumber:Number(i.issueNumber)},...i.prNumber===void 0?{}:{prNumber:Number(i.prNumber)}});case`issue_pr_review`:if(i.dryRun===!0){let e=sw(i,`issueNumber`),t=Kb(ny(e,l.root).path,e),n=G_(lw(i,`artifact`));return K_({artifact:n,classification:t.classification,config:l.config,issueNumber:e,prNumber:sw(i,`prNumber`)}),{dryRun:!0,artifactId:n.artifactId}}return jS(l,{artifact:lw(i,`artifact`),issueNumber:sw(i,`issueNumber`),prNumber:sw(i,`prNumber`)});case`issue_pr_merge`:case`issue_finish`:{let t=sw(i,`issueNumber`),n=sw(i,`prNumber`);if(i.dryRun===!0)return{dryRun:!0,headSha:Kb(ny(t,l.root).path,t).classification.head.sha,prNumber:n};let r=i.strategy;return e===`issue_finish`?VS(l,{issueNumber:t,prNumber:n,...r===void 0?{}:{strategy:r}}):BS(l,{issueNumber:t,prNumber:n,...r===void 0?{}:{strategy:r}})}case`issue_worktree_create`:{let e=await dw(n,`worktree:create`);return await kS(l,void 0,void 0,`development`),hx({...l.configuration?.remote?{remote:l.configuration.remote}:{},branch:lw(i,`branch`),identity:e,name:lw(i,`name`),repoRoot:n.repoRoot})}}}var yw;(function(e){e.assertEqual=e=>{};function t(e){}e.assertIs=t;function n(e){throw Error()}e.assertNever=n,e.arrayToEnum=e=>{let t={};for(let n of e)t[n]=n;return t},e.getValidEnumValues=t=>{let n=e.objectKeys(t).filter(e=>typeof t[t[e]]!=`number`),r={};for(let e of n)r[e]=t[e];return e.objectValues(r)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys=typeof Object.keys==`function`?e=>Object.keys(e):e=>{let t=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t},e.find=(e,t)=>{for(let n of e)if(t(n))return n},e.isInteger=typeof Number.isInteger==`function`?e=>Number.isInteger(e):e=>typeof e==`number`&&Number.isFinite(e)&&Math.floor(e)===e;function r(e,t=` | `){return e.map(e=>typeof e==`string`?`'${e}'`:e).join(t)}e.joinValues=r,e.jsonStringifyReplacer=(e,t)=>typeof t==`bigint`?t.toString():t})(yw||={});var bw;(function(e){e.mergeShapes=(e,t)=>({...e,...t})})(bw||={});var G=yw.arrayToEnum([`string`,`nan`,`number`,`integer`,`float`,`boolean`,`date`,`bigint`,`symbol`,`function`,`undefined`,`null`,`array`,`object`,`unknown`,`promise`,`void`,`never`,`map`,`set`]),xw=e=>{switch(typeof e){case`undefined`:return G.undefined;case`string`:return G.string;case`number`:return Number.isNaN(e)?G.nan:G.number;case`boolean`:return G.boolean;case`function`:return G.function;case`bigint`:return G.bigint;case`symbol`:return G.symbol;case`object`:return Array.isArray(e)?G.array:e===null?G.null:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?G.promise:typeof Map<`u`&&e instanceof Map?G.map:typeof Set<`u`&&e instanceof Set?G.set:typeof Date<`u`&&e instanceof Date?G.date:G.object;default:return G.unknown}},K=yw.arrayToEnum([`invalid_type`,`invalid_literal`,`custom`,`invalid_union`,`invalid_union_discriminator`,`invalid_enum_value`,`unrecognized_keys`,`invalid_arguments`,`invalid_return_type`,`invalid_date`,`invalid_string`,`too_small`,`too_big`,`invalid_intersection_types`,`not_multiple_of`,`not_finite`]),Sw=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name=`ZodError`,this.issues=e}format(e){let t=e||function(e){return e.message},n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`)i.unionErrors.map(r);else if(i.code===`invalid_return_type`)r(i.returnTypeError);else if(i.code===`invalid_arguments`)r(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r],a=r===i.path.length-1;if(n===`_errors`){a&&e._errors.push(t(i)),r++;continue}Object.prototype.hasOwnProperty.call(e,n)||(n===`__proto__`?Object.defineProperty(e,n,{value:{_errors:[]},writable:!0,enumerable:!0,configurable:!0}):e[n]={_errors:[]}),e=e[n],a&&e._errors.push(t(i)),r++}}};return r(this),n}static assert(t){if(!(t instanceof e))throw Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,yw.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=e=>e.message){let t=Object.create(null),n=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}};Sw.create=e=>new Sw(e);var Cw=(e,t)=>{let n;switch(e.code){case K.invalid_type:n=e.received===G.undefined?`Required`:`Expected ${e.expected}, received ${e.received}`;break;case K.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,yw.jsonStringifyReplacer)}`;break;case K.unrecognized_keys:n=`Unrecognized key(s) in object: ${yw.joinValues(e.keys,`, `)}`;break;case K.invalid_union:n=`Invalid input`;break;case K.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${yw.joinValues(e.options)}`;break;case K.invalid_enum_value:n=`Invalid enum value. Expected ${yw.joinValues(e.options)}, received '${e.received}'`;break;case K.invalid_arguments:n=`Invalid function arguments`;break;case K.invalid_return_type:n=`Invalid function return type`;break;case K.invalid_date:n=`Invalid date`;break;case K.invalid_string:typeof e.validation==`object`?`includes`in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==`number`&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):`startsWith`in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:`endsWith`in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:yw.assertNever(e.validation):n=e.validation===`regex`?`Invalid`:`Invalid ${e.validation}`;break;case K.too_small:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at least`:`more than`} ${e.minimum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at least`:`over`} ${e.minimum} character(s)`:e.type===`number`||e.type===`bigint`?`Number must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${e.minimum}`:e.type===`date`?`Date must be ${e.exact?`exactly equal to `:e.inclusive?`greater than or equal to `:`greater than `}${new Date(Number(e.minimum))}`:`Invalid input`;break;case K.too_big:n=e.type===`array`?`Array must contain ${e.exact?`exactly`:e.inclusive?`at most`:`less than`} ${e.maximum} element(s)`:e.type===`string`?`String must contain ${e.exact?`exactly`:e.inclusive?`at most`:`under`} ${e.maximum} character(s)`:e.type===`number`?`Number must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`bigint`?`BigInt must be ${e.exact?`exactly`:e.inclusive?`less than or equal to`:`less than`} ${e.maximum}`:e.type===`date`?`Date must be ${e.exact?`exactly`:e.inclusive?`smaller than or equal to`:`smaller than`} ${new Date(Number(e.maximum))}`:`Invalid input`;break;case K.custom:n=`Invalid input`;break;case K.invalid_intersection_types:n=`Intersection results could not be merged`;break;case K.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case K.not_finite:n=`Number must be finite`;break;default:n=t.defaultError,yw.assertNever(e)}return{message:n}},ww=Cw;function Tw(){return ww}var Ew=e=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let s=``,c=r.filter(e=>!!e).slice().reverse();for(let e of c)s=e(o,{data:t,defaultError:s}).message;return{...i,path:a,message:s}};function q(e,t){let n=Tw(),r=Ew({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Cw?void 0:Cw].filter(e=>!!e)});e.common.issues.push(r)}var Dw=class e{constructor(){this.value=`valid`}dirty(){this.value===`valid`&&(this.value=`dirty`)}abort(){this.value!==`aborted`&&(this.value=`aborted`)}static mergeArray(e,t){let n=[];for(let r of t){if(r.status===`aborted`)return J;r.status===`dirty`&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(t,n){let r=[];for(let e of n){let t=await e.key,n=await e.value;r.push({key:t,value:n})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:t,value:i}=r;if(t.status===`aborted`||i.status===`aborted`)return J;t.status===`dirty`&&e.dirty(),i.status===`dirty`&&e.dirty(),t.value!==`__proto__`&&(i.value!==void 0||r.alwaysSet)&&(n[t.value]=i.value)}return{status:e.value,value:n}}},J=Object.freeze({status:`aborted`}),Ow=e=>({status:`dirty`,value:e}),kw=e=>({status:`valid`,value:e}),Aw=e=>e.status===`aborted`,jw=e=>e.status===`dirty`,Mw=e=>e.status===`valid`,Nw=e=>typeof Promise<`u`&&e instanceof Promise,Y;(function(e){e.errToObj=e=>typeof e==`string`?{message:e}:e||{},e.toString=e=>typeof e==`string`?e:e?.message})(Y||={});var Pw=class{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Fw=(e,t)=>{if(Mw(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error(`Validation failed but no issues detected.`);return{success:!1,get error(){if(this._error)return this._error;let t=new Sw(e.common.issues);return this._error=t,this._error}}};function X(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(t,i)=>{let{message:a}=e;return t.code===`invalid_enum_value`?{message:a??i.defaultError}:i.data===void 0?{message:a??r??i.defaultError}:t.code===`invalid_type`?{message:a??n??i.defaultError}:{message:i.defaultError}},description:i}}var Iw=class{get description(){return this._def.description}_getType(e){return xw(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:xw(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Dw,ctx:{common:e.parent.common,data:e.data,parsedType:xw(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Nw(t))throw Error(`Synchronous parse encountered promise.`);return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xw(e)};return Fw(n,this._parseSync({data:e,path:n.path,parent:n}))}"~validate"(e){let t={common:{issues:[],async:!!this[`~standard`].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xw(e)};if(!this[`~standard`].async)try{let n=this._parseSync({data:e,path:[],parent:t});return Mw(n)?{value:n.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes(`encountered`)&&(this[`~standard`].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>Mw(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:xw(e)},r=this._parse({data:e,path:n.path,parent:n});return Fw(n,await(Nw(r)?r:Promise.resolve(r)))}refine(e,t){let n=e=>typeof t==`string`||t===void 0?{message:t}:typeof t==`function`?t(e):t;return this._refinement((t,r)=>{let i=e(t),a=()=>r.addIssue({code:K.custom,...n(t)});return typeof Promise<`u`&&i instanceof Promise?i.then(e=>e?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(e,t){return this._refinement((n,r)=>e(n)?!0:(r.addIssue(typeof t==`function`?t(n,r):t),!1))}_refinement(e){return new zT({schema:this,typeName:Z.ZodEffects,effect:{type:`refinement`,refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this[`~standard`]={version:1,vendor:`zod`,validate:e=>this[`~validate`](e)}}optional(){return BT.create(this,this._def)}nullable(){return VT.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return bT.create(this)}promise(){return RT.create(this,this._def)}or(e){return CT.create([this,e],this._def)}and(e){return DT.create(this,e,this._def)}transform(e){return new zT({...X(this._def),schema:this,typeName:Z.ZodEffects,effect:{type:`transform`,transform:e}})}default(e){let t=typeof e==`function`?e:()=>e;return new HT({...X(this._def),innerType:this,defaultValue:t,typeName:Z.ZodDefault})}brand(){return new GT({typeName:Z.ZodBranded,type:this,...X(this._def)})}catch(e){let t=typeof e==`function`?e:()=>e;return new UT({...X(this._def),innerType:this,catchValue:t,typeName:Z.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return KT.create(this,e)}readonly(){return qT.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Lw=/^c[^\s-]{8,}$/i,Rw=/^[0-9a-z]+$/,zw=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Bw=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Vw=/^[a-z0-9_-]{21}$/i,Hw=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Uw=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ww=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Gw=`^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`,Kw,qw=/^(?:(?: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])$/,Jw=/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,Yw=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Xw=/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Zw=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Qw=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,$w=`((\\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])))`,eT=RegExp(`^${$w}$`);function tT(e){let t=`[0-5]\\d`;e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision??(t=`${t}(\\.\\d+)?`);let n=e.precision?`+`:`?`;return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function nT(e){return RegExp(`^${tT(e)}$`)}function rT(e){let t=`${$w}T${tT(e)}`,n=[];return n.push(e.local?`Z?`:`Z`),e.offset&&n.push(`([+-]\\d{2}:?\\d{2})`),t=`${t}(${n.join(`|`)})`,RegExp(`^${t}$`)}function iT(e,t){return!((t!==`v4`&&t||!qw.test(e))&&(t!==`v6`&&t||!Yw.test(e)))}function aT(e,t){if(!Hw.test(e))return!1;try{let[n]=e.split(`.`);if(!n)return!1;let r=n.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(n.length+(4-n.length%4)%4,`=`),i=JSON.parse(atob(r));return!(typeof i!=`object`||!i||`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&i.alg!==t)}catch{return!1}}function oT(e,t){return!((t!==`v4`&&t||!Jw.test(e))&&(t!==`v6`&&t||!Xw.test(e)))}var sT=class e extends Iw{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==G.string){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.string,received:t.parsedType}),J}let t=new Dw,n;for(let r of this._def.checks)if(r.kind===`min`)e.data.length<r.value&&(n=this._getOrReturnCtx(e,n),q(n,{code:K.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`max`)e.data.length>r.value&&(n=this._getOrReturnCtx(e,n),q(n,{code:K.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!1,message:r.message}),t.dirty());else if(r.kind===`length`){let i=e.data.length>r.value,a=e.data.length<r.value;(i||a)&&(n=this._getOrReturnCtx(e,n),i?q(n,{code:K.too_big,maximum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}):a&&q(n,{code:K.too_small,minimum:r.value,type:`string`,inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if(r.kind===`email`)Ww.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`email`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`emoji`)Kw||=new RegExp(Gw,`u`),Kw.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`emoji`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`uuid`)Bw.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`uuid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`nanoid`)Vw.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`nanoid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid`)Lw.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`cuid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`cuid2`)Rw.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`cuid2`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`ulid`)zw.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`ulid`,code:K.invalid_string,message:r.message}),t.dirty());else if(r.kind===`url`)try{new URL(e.data)}catch{n=this._getOrReturnCtx(e,n),q(n,{validation:`url`,code:K.invalid_string,message:r.message}),t.dirty()}else r.kind===`regex`?(r.regex.lastIndex=0,r.regex.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`regex`,code:K.invalid_string,message:r.message}),t.dirty())):r.kind===`trim`?e.data=e.data.trim():r.kind===`includes`?e.data.includes(r.value,r.position)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty()):r.kind===`toLowerCase`?e.data=e.data.toLowerCase():r.kind===`toUpperCase`?e.data=e.data.toUpperCase():r.kind===`startsWith`?e.data.startsWith(r.value)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty()):r.kind===`endsWith`?e.data.endsWith(r.value)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty()):r.kind===`datetime`?rT(r).test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:`datetime`,message:r.message}),t.dirty()):r.kind===`date`?eT.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:`date`,message:r.message}),t.dirty()):r.kind===`time`?nT(r).test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{code:K.invalid_string,validation:`time`,message:r.message}),t.dirty()):r.kind===`duration`?Uw.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`duration`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`ip`?iT(e.data,r.version)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`ip`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`jwt`?aT(e.data,r.alg)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`jwt`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`cidr`?oT(e.data,r.version)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`cidr`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`base64`?Zw.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`base64`,code:K.invalid_string,message:r.message}),t.dirty()):r.kind===`base64url`?Qw.test(e.data)||(n=this._getOrReturnCtx(e,n),q(n,{validation:`base64url`,code:K.invalid_string,message:r.message}),t.dirty()):yw.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,n){return this.refinement(t=>e.test(t),{validation:t,code:K.invalid_string,...Y.errToObj(n)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:`email`,...Y.errToObj(e)})}url(e){return this._addCheck({kind:`url`,...Y.errToObj(e)})}emoji(e){return this._addCheck({kind:`emoji`,...Y.errToObj(e)})}uuid(e){return this._addCheck({kind:`uuid`,...Y.errToObj(e)})}nanoid(e){return this._addCheck({kind:`nanoid`,...Y.errToObj(e)})}cuid(e){return this._addCheck({kind:`cuid`,...Y.errToObj(e)})}cuid2(e){return this._addCheck({kind:`cuid2`,...Y.errToObj(e)})}ulid(e){return this._addCheck({kind:`ulid`,...Y.errToObj(e)})}base64(e){return this._addCheck({kind:`base64`,...Y.errToObj(e)})}base64url(e){return this._addCheck({kind:`base64url`,...Y.errToObj(e)})}jwt(e){return this._addCheck({kind:`jwt`,...Y.errToObj(e)})}ip(e){return this._addCheck({kind:`ip`,...Y.errToObj(e)})}cidr(e){return this._addCheck({kind:`cidr`,...Y.errToObj(e)})}datetime(e){return typeof e==`string`?this._addCheck({kind:`datetime`,precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:`datetime`,precision:e?.precision===void 0?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...Y.errToObj(e?.message)})}date(e){return this._addCheck({kind:`date`,message:e})}time(e){return typeof e==`string`?this._addCheck({kind:`time`,precision:null,message:e}):this._addCheck({kind:`time`,precision:e?.precision===void 0?null:e?.precision,...Y.errToObj(e?.message)})}duration(e){return this._addCheck({kind:`duration`,...Y.errToObj(e)})}regex(e,t){return this._addCheck({kind:`regex`,regex:e,...Y.errToObj(t)})}includes(e,t){return this._addCheck({kind:`includes`,value:e,position:t?.position,...Y.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:`startsWith`,value:e,...Y.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:`endsWith`,value:e,...Y.errToObj(t)})}min(e,t){return this._addCheck({kind:`min`,value:e,...Y.errToObj(t)})}max(e,t){return this._addCheck({kind:`max`,value:e,...Y.errToObj(t)})}length(e,t){return this._addCheck({kind:`length`,value:e,...Y.errToObj(t)})}nonempty(e){return this.min(1,Y.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:`trim`}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toLowerCase`}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:`toUpperCase`}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind===`datetime`)}get isDate(){return!!this._def.checks.find(e=>e.kind===`date`)}get isTime(){return!!this._def.checks.find(e=>e.kind===`time`)}get isDuration(){return!!this._def.checks.find(e=>e.kind===`duration`)}get isEmail(){return!!this._def.checks.find(e=>e.kind===`email`)}get isURL(){return!!this._def.checks.find(e=>e.kind===`url`)}get isEmoji(){return!!this._def.checks.find(e=>e.kind===`emoji`)}get isUUID(){return!!this._def.checks.find(e=>e.kind===`uuid`)}get isNANOID(){return!!this._def.checks.find(e=>e.kind===`nanoid`)}get isCUID(){return!!this._def.checks.find(e=>e.kind===`cuid`)}get isCUID2(){return!!this._def.checks.find(e=>e.kind===`cuid2`)}get isULID(){return!!this._def.checks.find(e=>e.kind===`ulid`)}get isIP(){return!!this._def.checks.find(e=>e.kind===`ip`)}get isCIDR(){return!!this._def.checks.find(e=>e.kind===`cidr`)}get isBase64(){return!!this._def.checks.find(e=>e.kind===`base64`)}get isBase64url(){return!!this._def.checks.find(e=>e.kind===`base64url`)}get minLength(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};sT.create=e=>new sT({checks:[],typeName:Z.ZodString,coerce:e?.coerce??!1,...X(e)});function cT(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=(t.toString().split(`.`)[1]||``).length,i=n>r?n:r;return Number.parseInt(e.toFixed(i).replace(`.`,``))%Number.parseInt(t.toFixed(i).replace(`.`,``))/10**i}var lT=class e extends Iw{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==G.number){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.number,received:t.parsedType}),J}let t,n=new Dw;for(let r of this._def.checks)r.kind===`int`?yw.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),q(t,{code:K.invalid_type,expected:`integer`,received:`float`,message:r.message}),n.dirty()):r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.too_small,minimum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.too_big,maximum:r.value,type:`number`,inclusive:r.inclusive,exact:!1,message:r.message}),n.dirty()):r.kind===`multipleOf`?cT(e.data,r.value)!==0&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):r.kind===`finite`?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),q(t,{code:K.not_finite,message:r.message}),n.dirty()):yw.assertNever(r);return{status:n.value,value:e.data}}gte(e,t){return this.setLimit(`min`,e,!0,Y.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,Y.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,Y.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,Y.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Y.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:`int`,message:Y.toString(e)})}positive(e){return this._addCheck({kind:`min`,value:0,inclusive:!1,message:Y.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:0,inclusive:!1,message:Y.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:0,inclusive:!0,message:Y.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:0,inclusive:!0,message:Y.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:Y.toString(t)})}finite(e){return this._addCheck({kind:`finite`,message:Y.toString(e)})}safe(e){return this._addCheck({kind:`min`,inclusive:!0,value:-(2**53-1),message:Y.toString(e)})._addCheck({kind:`max`,inclusive:!0,value:2**53-1,message:Y.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind===`int`||e.kind===`multipleOf`&&yw.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind===`finite`||n.kind===`int`||n.kind===`multipleOf`)return!0;else n.kind===`min`?(t===null||n.value>t)&&(t=n.value):n.kind===`max`&&(e===null||n.value<e)&&(e=n.value);return Number.isFinite(t)&&Number.isFinite(e)}};lT.create=e=>new lT({checks:[],typeName:Z.ZodNumber,coerce:e?.coerce||!1,...X(e)});var uT=class e extends Iw{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==G.bigint)return this._getInvalidInput(e);let t,n=new Dw;for(let r of this._def.checks)r.kind===`min`?(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.too_small,type:`bigint`,minimum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`max`?(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.too_big,type:`bigint`,maximum:r.value,inclusive:r.inclusive,message:r.message}),n.dirty()):r.kind===`multipleOf`?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),q(t,{code:K.not_multiple_of,multipleOf:r.value,message:r.message}),n.dirty()):yw.assertNever(r);return{status:n.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.bigint,received:t.parsedType}),J}gte(e,t){return this.setLimit(`min`,e,!0,Y.toString(t))}gt(e,t){return this.setLimit(`min`,e,!1,Y.toString(t))}lte(e,t){return this.setLimit(`max`,e,!0,Y.toString(t))}lt(e,t){return this.setLimit(`max`,e,!1,Y.toString(t))}setLimit(t,n,r,i){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:Y.toString(i)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!1,message:Y.toString(e)})}negative(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!1,message:Y.toString(e)})}nonpositive(e){return this._addCheck({kind:`max`,value:BigInt(0),inclusive:!0,message:Y.toString(e)})}nonnegative(e){return this._addCheck({kind:`min`,value:BigInt(0),inclusive:!0,message:Y.toString(e)})}multipleOf(e,t){return this._addCheck({kind:`multipleOf`,value:e,message:Y.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e}};uT.create=e=>new uT({checks:[],typeName:Z.ZodBigInt,coerce:e?.coerce??!1,...X(e)});var dT=class extends Iw{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==G.boolean){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.boolean,received:t.parsedType}),J}return kw(e.data)}};dT.create=e=>new dT({typeName:Z.ZodBoolean,coerce:e?.coerce||!1,...X(e)});var fT=class e extends Iw{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==G.date){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.date,received:t.parsedType}),J}if(Number.isNaN(e.data.getTime()))return q(this._getOrReturnCtx(e),{code:K.invalid_date}),J;let t=new Dw,n;for(let r of this._def.checks)r.kind===`min`?e.data.getTime()<r.value&&(n=this._getOrReturnCtx(e,n),q(n,{code:K.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:`date`}),t.dirty()):r.kind===`max`?e.data.getTime()>r.value&&(n=this._getOrReturnCtx(e,n),q(n,{code:K.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:`date`}),t.dirty()):yw.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:`min`,value:e.getTime(),message:Y.toString(t)})}max(e,t){return this._addCheck({kind:`max`,value:e.getTime(),message:Y.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind===`min`&&(e===null||t.value>e)&&(e=t.value);return e==null?null:new Date(e)}get maxDate(){let e=null;for(let t of this._def.checks)t.kind===`max`&&(e===null||t.value<e)&&(e=t.value);return e==null?null:new Date(e)}};fT.create=e=>new fT({checks:[],coerce:e?.coerce||!1,typeName:Z.ZodDate,...X(e)});var pT=class extends Iw{_parse(e){if(this._getType(e)!==G.symbol){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.symbol,received:t.parsedType}),J}return kw(e.data)}};pT.create=e=>new pT({typeName:Z.ZodSymbol,...X(e)});var mT=class extends Iw{_parse(e){if(this._getType(e)!==G.undefined){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.undefined,received:t.parsedType}),J}return kw(e.data)}};mT.create=e=>new mT({typeName:Z.ZodUndefined,...X(e)});var hT=class extends Iw{_parse(e){if(this._getType(e)!==G.null){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.null,received:t.parsedType}),J}return kw(e.data)}};hT.create=e=>new hT({typeName:Z.ZodNull,...X(e)});var gT=class extends Iw{constructor(){super(...arguments),this._any=!0}_parse(e){return kw(e.data)}};gT.create=e=>new gT({typeName:Z.ZodAny,...X(e)});var _T=class extends Iw{constructor(){super(...arguments),this._unknown=!0}_parse(e){return kw(e.data)}};_T.create=e=>new _T({typeName:Z.ZodUnknown,...X(e)});var vT=class extends Iw{_parse(e){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.never,received:t.parsedType}),J}};vT.create=e=>new vT({typeName:Z.ZodNever,...X(e)});var yT=class extends Iw{_parse(e){if(this._getType(e)!==G.undefined){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.void,received:t.parsedType}),J}return kw(e.data)}};yT.create=e=>new yT({typeName:Z.ZodVoid,...X(e)});var bT=class e extends Iw{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==G.array)return q(t,{code:K.invalid_type,expected:G.array,received:t.parsedType}),J;if(r.exactLength!==null){let e=t.data.length>r.exactLength.value,i=t.data.length<r.exactLength.value;(e||i)&&(q(t,{code:e?K.too_big:K.too_small,minimum:i?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:`array`,inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty())}if(r.minLength!==null&&t.data.length<r.minLength.value&&(q(t,{code:K.too_small,minimum:r.minLength.value,type:`array`,inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()),r.maxLength!==null&&t.data.length>r.maxLength.value&&(q(t,{code:K.too_big,maximum:r.maxLength.value,type:`array`,inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((e,n)=>r.type._parseAsync(new Pw(t,e,t.path,n)))).then(e=>Dw.mergeArray(n,e));let i=[...t.data].map((e,n)=>r.type._parseSync(new Pw(t,e,t.path,n)));return Dw.mergeArray(n,i)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:Y.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:Y.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:Y.toString(n)}})}nonempty(e){return this.min(1,e)}};bT.create=(e,t)=>new bT({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Z.ZodArray,...X(t)});function xT(e){if(e instanceof ST){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=BT.create(xT(r))}return new ST({...e._def,shape:()=>t})}return e instanceof bT?new bT({...e._def,type:xT(e.element)}):e instanceof BT?BT.create(xT(e.unwrap())):e instanceof VT?VT.create(xT(e.unwrap())):e instanceof OT?OT.create(e.items.map(e=>xT(e))):e}var ST=class e extends Iw{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=yw.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==G.object){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.object,received:t.parsedType}),J}let{status:t,ctx:n}=this._processInputParams(e),{shape:r,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof vT&&this._def.unknownKeys===`strip`))for(let e in n.data)i.includes(e)||a.push(e);let o=[];for(let e of i){let t=r[e],i=n.data[e];o.push({key:{status:`valid`,value:e},value:t._parse(new Pw(n,i,n.path,e)),alwaysSet:e in n.data})}if(this._def.catchall instanceof vT){let e=this._def.unknownKeys;if(e===`passthrough`)for(let e of a)o.push({key:{status:`valid`,value:e},value:{status:`valid`,value:n.data[e]}});else if(e===`strict`)a.length>0&&(q(n,{code:K.unrecognized_keys,keys:a}),t.dirty());else if(e!==`strip`)throw Error(`Internal ZodObject error: invalid unknownKeys value.`)}else{let e=this._def.catchall;for(let t of a){let r=n.data[t];o.push({key:{status:`valid`,value:t},value:e._parse(new Pw(n,r,n.path,t)),alwaysSet:t in n.data})}}return n.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of o){let n=await t.key,r=await t.value;e.push({key:n,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>Dw.mergeObjectSync(t,e)):Dw.mergeObjectSync(t,o)}get shape(){return this._def.shape()}strict(t){return Y.errToObj,new e({...this._def,unknownKeys:`strict`,...t===void 0?{}:{errorMap:(e,n)=>{let r=this._def.errorMap?.(e,n).message??n.defaultError;return e.code===`unrecognized_keys`?{message:Y.errToObj(t).message??r}:{message:r}}}})}strip(){return new e({...this._def,unknownKeys:`strip`})}passthrough(){return new e({...this._def,unknownKeys:`passthrough`})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Z.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let e of yw.objectKeys(t))t[e]&&this.shape[e]&&(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let e of yw.objectKeys(this.shape))t[e]||(n[e]=this.shape[e]);return new e({...this._def,shape:()=>n})}deepPartial(){return xT(this)}partial(t){let n={};for(let e of yw.objectKeys(this.shape)){let r=this.shape[e];n[e]=t&&!t[e]?r:r.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let e of yw.objectKeys(this.shape))if(t&&!t[e])n[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof BT;)t=t._def.innerType;n[e]=t}return new e({...this._def,shape:()=>n})}keyof(){return FT(yw.objectKeys(this.shape))}};ST.create=(e,t)=>new ST({shape:()=>e,unknownKeys:`strip`,catchall:vT.create(),typeName:Z.ZodObject,...X(t)}),ST.strictCreate=(e,t)=>new ST({shape:()=>e,unknownKeys:`strict`,catchall:vT.create(),typeName:Z.ZodObject,...X(t)}),ST.lazycreate=(e,t)=>new ST({shape:e,unknownKeys:`strip`,catchall:vT.create(),typeName:Z.ZodObject,...X(t)});var CT=class extends Iw{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(e){for(let t of e)if(t.result.status===`valid`)return t.result;for(let n of e)if(n.result.status===`dirty`)return t.common.issues.push(...n.ctx.common.issues),n.result;let n=e.map(e=>new Sw(e.ctx.common.issues));return q(t,{code:K.invalid_union,unionErrors:n}),J}if(t.common.async)return Promise.all(n.map(async e=>{let n={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:n}),ctx:n}})).then(r);{let e,r=[];for(let i of n){let n={...t,common:{...t.common,issues:[]},parent:null},a=i._parseSync({data:t.data,path:t.path,parent:n});if(a.status===`valid`)return a;a.status===`dirty`&&!e&&(e={result:a,ctx:n}),n.common.issues.length&&r.push(n.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let i=r.map(e=>new Sw(e));return q(t,{code:K.invalid_union,unionErrors:i}),J}}get options(){return this._def.options}};CT.create=(e,t)=>new CT({options:e,typeName:Z.ZodUnion,...X(t)});var wT=e=>e instanceof NT?wT(e.schema):e instanceof zT?wT(e.innerType()):e instanceof PT?[e.value]:e instanceof IT?e.options:e instanceof LT?yw.objectValues(e.enum):e instanceof HT?wT(e._def.innerType):e instanceof mT?[void 0]:e instanceof hT?[null]:e instanceof BT?[void 0,...wT(e.unwrap())]:e instanceof VT?[null,...wT(e.unwrap())]:e instanceof GT||e instanceof qT?wT(e.unwrap()):e instanceof UT?wT(e._def.innerType):[],TT=class e extends Iw{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==G.object)return q(t,{code:K.invalid_type,expected:G.object,received:t.parsedType}),J;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(q(t,{code:K.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),J)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let i=new Map;for(let e of n){let n=wT(e.shape[t]);if(!n.length)throw Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let r of n){if(i.has(r))throw Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);i.set(r,e)}}return new e({typeName:Z.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...X(r)})}};function ET(e,t){let n=xw(e),r=xw(t);if(e===t)return{valid:!0,data:e};if(n===G.object&&r===G.object){let n=yw.objectKeys(t),r=yw.objectKeys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=ET(e[n],t[n]);if(!r.valid)return{valid:!1};i[n]=r.data}return{valid:!0,data:i}}if(n===G.array&&r===G.array){if(e.length!==t.length)return{valid:!1};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=ET(i,a);if(!o.valid)return{valid:!1};n.push(o.data)}return{valid:!0,data:n}}return n===G.date&&r===G.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var DT=class extends Iw{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(e,r)=>{if(Aw(e)||Aw(r))return J;let i=ET(e.value,r.value);return i.valid?((jw(e)||jw(r))&&t.dirty(),{status:t.value,value:i.data}):(q(n,{code:K.invalid_intersection_types}),J)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};DT.create=(e,t,n)=>new DT({left:e,right:t,typeName:Z.ZodIntersection,...X(n)});var OT=class e extends Iw{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==G.array)return q(n,{code:K.invalid_type,expected:G.array,received:n.parsedType}),J;if(n.data.length<this._def.items.length)return q(n,{code:K.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),J;!this._def.rest&&n.data.length>this._def.items.length&&(q(n,{code:K.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:`array`}),t.dirty());let r=[...n.data].map((e,t)=>{let r=this._def.items[t]||this._def.rest;return r?r._parse(new Pw(n,e,n.path,t)):null}).filter(e=>!!e);return n.common.async?Promise.all(r).then(e=>Dw.mergeArray(t,e)):Dw.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};OT.create=(e,t)=>{if(!Array.isArray(e))throw Error(`You must pass an array of schemas to z.tuple([ ... ])`);return new OT({items:e,typeName:Z.ZodTuple,rest:null,...X(t)})};var kT=class e extends Iw{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==G.object)return q(n,{code:K.invalid_type,expected:G.object,received:n.parsedType}),J;let r=[],i=this._def.keyType,a=this._def.valueType;for(let e in n.data)r.push({key:i._parse(new Pw(n,e,n.path,e)),value:a._parse(new Pw(n,n.data[e],n.path,e)),alwaysSet:e in n.data});return n.common.async?Dw.mergeObjectAsync(t,r):Dw.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof Iw?new e({keyType:t,valueType:n,typeName:Z.ZodRecord,...X(r)}):new e({keyType:sT.create(),valueType:t,typeName:Z.ZodRecord,...X(n)})}},AT=class extends Iw{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==G.map)return q(n,{code:K.invalid_type,expected:G.map,received:n.parsedType}),J;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([e,t],a)=>({key:r._parse(new Pw(n,e,n.path,[a,`key`])),value:i._parse(new Pw(n,t,n.path,[a,`value`]))}));if(n.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let n of a){let r=await n.key,i=await n.value;if(r.status===`aborted`||i.status===`aborted`)return J;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}})}{let e=new Map;for(let n of a){let r=n.key,i=n.value;if(r.status===`aborted`||i.status===`aborted`)return J;(r.status===`dirty`||i.status===`dirty`)&&t.dirty(),e.set(r.value,i.value)}return{status:t.value,value:e}}}};AT.create=(e,t,n)=>new AT({valueType:t,keyType:e,typeName:Z.ZodMap,...X(n)});var jT=class e extends Iw{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==G.set)return q(n,{code:K.invalid_type,expected:G.set,received:n.parsedType}),J;let r=this._def;r.minSize!==null&&n.data.size<r.minSize.value&&(q(n,{code:K.too_small,minimum:r.minSize.value,type:`set`,inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),r.maxSize!==null&&n.data.size>r.maxSize.value&&(q(n,{code:K.too_big,maximum:r.maxSize.value,type:`set`,inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let i=this._def.valueType;function a(e){let n=new Set;for(let r of e){if(r.status===`aborted`)return J;r.status===`dirty`&&t.dirty(),n.add(r.value)}return{status:t.value,value:n}}let o=[...n.data.values()].map((e,t)=>i._parse(new Pw(n,e,n.path,t)));return n.common.async?Promise.all(o).then(e=>a(e)):a(o)}min(t,n){return new e({...this._def,minSize:{value:t,message:Y.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:Y.toString(n)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};jT.create=(e,t)=>new jT({valueType:e,minSize:null,maxSize:null,typeName:Z.ZodSet,...X(t)});var MT=class e extends Iw{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==G.function)return q(t,{code:K.invalid_type,expected:G.function,received:t.parsedType}),J;function n(e,n){return Ew({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Tw(),Cw].filter(e=>!!e),issueData:{code:K.invalid_arguments,argumentsError:n}})}function r(e,n){return Ew({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Tw(),Cw].filter(e=>!!e),issueData:{code:K.invalid_return_type,returnTypeError:n}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof RT){let e=this;return kw(async function(...t){let o=new Sw([]),s=await e._def.args.parseAsync(t,i).catch(e=>{throw o.addIssue(n(t,e)),o}),c=await Reflect.apply(a,this,s);return await e._def.returns._def.type.parseAsync(c,i).catch(e=>{throw o.addIssue(r(c,e)),o})})}{let e=this;return kw(function(...t){let o=e._def.args.safeParse(t,i);if(!o.success)throw new Sw([n(t,o.error)]);let s=Reflect.apply(a,this,o.data),c=e._def.returns.safeParse(s,i);if(!c.success)throw new Sw([r(s,c.error)]);return c.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:OT.create(t).rest(_T.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,n,r){return new e({args:t||OT.create([]).rest(_T.create()),returns:n||_T.create(),typeName:Z.ZodFunction,...X(r)})}},NT=class extends Iw{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};NT.create=(e,t)=>new NT({getter:e,typeName:Z.ZodLazy,...X(t)});var PT=class extends Iw{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return q(t,{received:t.data,code:K.invalid_literal,expected:this._def.value}),J}return{status:`valid`,value:e.data}}get value(){return this._def.value}};PT.create=(e,t)=>new PT({value:e,typeName:Z.ZodLiteral,...X(t)});function FT(e,t){return new IT({values:e,typeName:Z.ZodEnum,...X(t)})}var IT=class e extends Iw{_parse(e){if(typeof e.data!=`string`){let t=this._getOrReturnCtx(e),n=this._def.values;return q(t,{expected:yw.joinValues(n),received:t.parsedType,code:K.invalid_type}),J}if(this._cache||=new Set(this._def.values),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return q(t,{received:t.data,code:K.invalid_enum_value,options:n}),J}return kw(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...n})}};IT.create=FT;var LT=class extends Iw{_parse(e){let t=yw.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==G.string&&n.parsedType!==G.number){let e=yw.objectValues(t);return q(n,{expected:yw.joinValues(e),received:n.parsedType,code:K.invalid_type}),J}if(this._cache||=new Set(yw.getValidEnumValues(this._def.values)),!this._cache.has(e.data)){let e=yw.objectValues(t);return q(n,{received:n.data,code:K.invalid_enum_value,options:e}),J}return kw(e.data)}get enum(){return this._def.values}};LT.create=(e,t)=>new LT({values:e,typeName:Z.ZodNativeEnum,...X(t)});var RT=class extends Iw{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==G.promise&&t.common.async===!1?(q(t,{code:K.invalid_type,expected:G.promise,received:t.parsedType}),J):kw((t.parsedType===G.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};RT.create=(e,t)=>new RT({type:e,typeName:Z.ZodPromise,...X(t)});var zT=class extends Iw{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Z.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:e=>{q(n,e),e.fatal?t.abort():t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type===`preprocess`){let e=r.transform(n.data,i);if(n.common.async)return Promise.resolve(e).then(async e=>{if(t.value===`aborted`)return J;let r=await this._def.schema._parseAsync({data:e,path:n.path,parent:n});return r.status===`aborted`?J:r.status===`dirty`||t.value===`dirty`?Ow(r.value):r});{if(t.value===`aborted`)return J;let r=this._def.schema._parseSync({data:e,path:n.path,parent:n});return r.status===`aborted`?J:r.status===`dirty`||t.value===`dirty`?Ow(r.value):r}}if(r.type===`refinement`){let e=e=>{let t=r.refinement(e,i);if(n.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error(`Async refinement encountered during synchronous parse operation. Use .parseAsync instead.`);return e};if(n.common.async===!1){let r=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return r.status===`aborted`?J:(r.status===`dirty`&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(n=>n.status===`aborted`?J:(n.status===`dirty`&&t.dirty(),e(n.value).then(()=>({status:t.value,value:n.value}))))}if(r.type===`transform`){if(n.common.async===!1){let e=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Mw(e))return J;let a=r.transform(e.value,i);if(a instanceof Promise)throw Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);return{status:t.value,value:a}}return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(e=>Mw(e)?Promise.resolve(r.transform(e.value,i)).then(e=>({status:t.value,value:e})):J)}yw.assertNever(r)}};zT.create=(e,t,n)=>new zT({schema:e,typeName:Z.ZodEffects,effect:t,...X(n)}),zT.createWithPreprocess=(e,t,n)=>new zT({schema:t,effect:{type:`preprocess`,transform:e},typeName:Z.ZodEffects,...X(n)});var BT=class extends Iw{_parse(e){return this._getType(e)===G.undefined?kw(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};BT.create=(e,t)=>new BT({innerType:e,typeName:Z.ZodOptional,...X(t)});var VT=class extends Iw{_parse(e){return this._getType(e)===G.null?kw(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};VT.create=(e,t)=>new VT({innerType:e,typeName:Z.ZodNullable,...X(t)});var HT=class extends Iw{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return t.parsedType===G.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};HT.create=(e,t)=>new HT({innerType:e,typeName:Z.ZodDefault,defaultValue:typeof t.default==`function`?t.default:()=>t.default,...X(t)});var UT=class extends Iw{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Nw(r)?r.then(e=>({status:`valid`,value:e.status===`valid`?e.value:this._def.catchValue({get error(){return new Sw(n.common.issues)},input:n.data})})):{status:`valid`,value:r.status===`valid`?r.value:this._def.catchValue({get error(){return new Sw(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};UT.create=(e,t)=>new UT({innerType:e,typeName:Z.ZodCatch,catchValue:typeof t.catch==`function`?t.catch:()=>t.catch,...X(t)});var WT=class extends Iw{_parse(e){if(this._getType(e)!==G.nan){let t=this._getOrReturnCtx(e);return q(t,{code:K.invalid_type,expected:G.nan,received:t.parsedType}),J}return{status:`valid`,value:e.data}}};WT.create=e=>new WT({typeName:Z.ZodNaN,...X(e)});var GT=class extends Iw{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}},KT=class e extends Iw{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?J:e.status===`dirty`?(t.dirty(),Ow(e.value)):this._def.out._parseAsync({data:e.value,path:n.path,parent:n})})();{let e=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return e.status===`aborted`?J:e.status===`dirty`?(t.dirty(),{status:`dirty`,value:e.value}):this._def.out._parseSync({data:e.value,path:n.path,parent:n})}}static create(t,n){return new e({in:t,out:n,typeName:Z.ZodPipeline})}},qT=class extends Iw{_parse(e){let t=this._def.innerType._parse(e),n=e=>(Mw(e)&&(e.value=Object.freeze(e.value)),e);return Nw(t)?t.then(e=>n(e)):n(t)}unwrap(){return this._def.innerType}};qT.create=(e,t)=>new qT({innerType:e,typeName:Z.ZodReadonly,...X(t)}),ST.lazycreate;var Z;(function(e){e.ZodString=`ZodString`,e.ZodNumber=`ZodNumber`,e.ZodNaN=`ZodNaN`,e.ZodBigInt=`ZodBigInt`,e.ZodBoolean=`ZodBoolean`,e.ZodDate=`ZodDate`,e.ZodSymbol=`ZodSymbol`,e.ZodUndefined=`ZodUndefined`,e.ZodNull=`ZodNull`,e.ZodAny=`ZodAny`,e.ZodUnknown=`ZodUnknown`,e.ZodNever=`ZodNever`,e.ZodVoid=`ZodVoid`,e.ZodArray=`ZodArray`,e.ZodObject=`ZodObject`,e.ZodUnion=`ZodUnion`,e.ZodDiscriminatedUnion=`ZodDiscriminatedUnion`,e.ZodIntersection=`ZodIntersection`,e.ZodTuple=`ZodTuple`,e.ZodRecord=`ZodRecord`,e.ZodMap=`ZodMap`,e.ZodSet=`ZodSet`,e.ZodFunction=`ZodFunction`,e.ZodLazy=`ZodLazy`,e.ZodLiteral=`ZodLiteral`,e.ZodEnum=`ZodEnum`,e.ZodEffects=`ZodEffects`,e.ZodNativeEnum=`ZodNativeEnum`,e.ZodOptional=`ZodOptional`,e.ZodNullable=`ZodNullable`,e.ZodDefault=`ZodDefault`,e.ZodCatch=`ZodCatch`,e.ZodPromise=`ZodPromise`,e.ZodBranded=`ZodBranded`,e.ZodPipeline=`ZodPipeline`,e.ZodReadonly=`ZodReadonly`})(Z||={}),sT.create,lT.create,WT.create,uT.create,dT.create,fT.create,pT.create,mT.create,hT.create,gT.create,_T.create,vT.create,yT.create,bT.create;var JT=ST.create;ST.strictCreate,CT.create,TT.create,DT.create,OT.create,kT.create,AT.create,jT.create,MT.create,NT.create,PT.create,IT.create,LT.create,RT.create,zT.create,BT.create,VT.create,zT.createWithPreprocess,KT.create;var YT=O(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);Jr.init(e,t),e.def=t,e.type=t.type},{get with(){return this.check},set with(e){qt(this,`with`,e)},parse(e,t){return Dn(this,e,t,{callee:this.parse})},parseAsync(e,t){return kn(this,e,t,{callee:this.parseAsync})},safeParse(e,t){return jn(this,e,t)},safeParseAsync(e,t){return Pn(this,e,t)},check(...e){let t=this.def;return this.clone({...t,checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]},{parent:!0})},clone(e,t){return xt(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},apply(e,...t){return t.length===0?e(this):e(this,...t)}}),XT=O(`ZodMiniObject`,(e,t)=>{Xi.init(e,t),YT.init(e,t),nn(e,`shape`,e=>e._zod.def.shape,!1)});function ZT(e,t){return new XT({type:`object`,shape:e??{},...D(t)})}function QT(e){return!!e._zod}function $T(e){let t=Object.values(e);if(t.length===0)return ZT({});let n=t.every(QT),r=t.every(e=>!QT(e));if(n)return ZT(e);if(r)return JT(e);throw Error(`Mixed Zod versions detected in object shape.`)}function eE(e,t){return QT(e)?jn(e,t):e.safeParse(t)}async function tE(e,t){return QT(e)?await Pn(e,t):await e.safeParseAsync(t)}function nE(e){if(!e)return;let t;if(t=QT(e)?e._zod?.def?.shape:e.shape,t){if(typeof t==`function`)try{return t()}catch{return}return t}}function rE(e){if(e){if(typeof e==`object`){let t=e,n=e;if(!t._def&&!n._zod){let t=Object.values(e);if(t.length>0&&t.every(e=>typeof e==`object`&&!!e&&(e._def!==void 0||e._zod!==void 0||typeof e.parse==`function`)))return $T(e)}}if(QT(e)){let t=e._zod?.def;if(t&&(t.type===`object`||t.shape!==void 0))return e}else if(e.shape!==void 0)return e}}function iE(e){return e.length===0?`object root`:e.reduce((e,t,n)=>n===0?String(t):typeof t==`number`?`${e}[${t}]`:`${e}.${t}`,``)}function aE(e){if(e&&typeof e==`object`){if(`issues`in e&&Array.isArray(e.issues)&&e.issues.length>0)return e.issues.map(e=>e.path?.length?`${e.message} at ${iE(e.path)}`:e.message).join(`
|
|
271
|
+
`);if(`message`in e&&typeof e.message==`string`)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}return String(e)}function oE(e){return e.description}function sE(e){if(QT(e))return e._zod?.def?.type===`optional`;let t=e;return typeof e.isOptional==`function`?e.isOptional():t._def?.typeName===`ZodOptional`}function cE(e){if(QT(e)){let t=e._zod?.def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}}let t=e._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}let n=e.value;if(n!==void 0)return n}var lE=`2025-11-25`,uE=[lE,`2025-06-18`,`2025-03-26`,`2024-11-05`,`2024-10-07`],dE=`io.modelcontextprotocol/related-task`,fE=mu(e=>e!==null&&(typeof e==`object`||typeof e==`function`)),pE=Fl([k(),A().int()]),mE=k();Nl({ttl:A().optional(),pollInterval:A().optional()});var hE=N({ttl:A().optional()}),gE=N({taskId:k()}),_E=Nl({progressToken:pE.optional(),[dE]:gE.optional()}),vE=N({_meta:_E.optional()}),yE=vE.extend({task:hE.optional()}),bE=e=>yE.safeParse(e).success,xE=N({method:k(),params:vE.loose().optional()}),SE=N({_meta:_E.optional()}),CE=N({method:k(),params:SE.loose().optional()}),wE=Nl({_meta:_E.optional()}),TE=Fl([k(),A().int()]),EE=N({jsonrpc:I(`2.0`),id:TE,...xE.shape}).strict(),DE=e=>EE.safeParse(e).success,OE=N({jsonrpc:I(`2.0`),...CE.shape}).strict(),kE=e=>OE.safeParse(e).success,AE=N({jsonrpc:I(`2.0`),id:TE,result:wE}).strict(),jE=e=>AE.safeParse(e).success,Q;(function(e){e[e.ConnectionClosed=-32e3]=`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`})(Q||={});var ME=N({jsonrpc:I(`2.0`),id:TE.optional(),error:N({code:A().int(),message:k(),data:Ol().optional()})}).strict(),NE=e=>ME.safeParse(e).success,PE=Fl([EE,OE,AE,ME]);Fl([AE,ME]);var FE=wE.strict(),IE=SE.extend({requestId:TE.optional(),reason:k().optional()}),LE=CE.extend({method:I(`notifications/cancelled`),params:IE}),RE=N({icons:M(N({src:k(),mimeType:k().optional(),sizes:M(k()).optional(),theme:F([`light`,`dark`]).optional()})).optional()}),zE=N({name:k(),title:k().optional()}),BE=zE.extend({...zE.shape,...RE.shape,version:k(),websiteUrl:k().optional(),description:k().optional()}),VE=_u(e=>e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,zl(N({form:zl(N({applyDefaults:j().optional()}),Ul(k(),Ol())).optional(),url:fE.optional()}),Ul(k(),Ol()).optional())),HE=Nl({list:fE.optional(),cancel:fE.optional(),requests:Nl({sampling:Nl({createMessage:fE.optional()}).optional(),elicitation:Nl({create:fE.optional()}).optional()}).optional()}),UE=Nl({list:fE.optional(),cancel:fE.optional(),requests:Nl({tools:Nl({call:fE.optional()}).optional()}).optional()}),WE=N({experimental:Ul(k(),fE).optional(),sampling:N({context:fE.optional(),tools:fE.optional()}).optional(),elicitation:VE.optional(),roots:N({listChanged:j().optional()}).optional(),tasks:HE.optional(),extensions:Ul(k(),fE).optional()}),GE=vE.extend({protocolVersion:k(),capabilities:WE,clientInfo:BE}),KE=xE.extend({method:I(`initialize`),params:GE}),qE=N({experimental:Ul(k(),fE).optional(),logging:fE.optional(),completions:fE.optional(),prompts:N({listChanged:j().optional()}).optional(),resources:N({subscribe:j().optional(),listChanged:j().optional()}).optional(),tools:N({listChanged:j().optional()}).optional(),tasks:UE.optional(),extensions:Ul(k(),fE).optional()}),JE=wE.extend({protocolVersion:k(),capabilities:qE,serverInfo:BE,instructions:k().optional()}),YE=CE.extend({method:I(`notifications/initialized`),params:SE.optional()}),XE=xE.extend({method:I(`ping`),params:vE.optional()}),ZE=N({progress:A(),total:Yl(A()),message:Yl(k())}),QE=N({...SE.shape,...ZE.shape,progressToken:pE}),$E=CE.extend({method:I(`notifications/progress`),params:QE}),eD=vE.extend({cursor:mE.optional()}),tD=xE.extend({params:eD.optional()}),nD=wE.extend({nextCursor:mE.optional()}),rD=F([`working`,`input_required`,`completed`,`failed`,`cancelled`]),iD=N({taskId:k(),status:rD,ttl:Fl([A(),El()]),createdAt:k(),lastUpdatedAt:k(),pollInterval:Yl(A()),statusMessage:Yl(k())}),aD=wE.extend({task:iD}),oD=SE.merge(iD),sD=CE.extend({method:I(`notifications/tasks/status`),params:oD}),cD=xE.extend({method:I(`tasks/get`),params:vE.extend({taskId:k()})}),lD=wE.merge(iD),uD=xE.extend({method:I(`tasks/result`),params:vE.extend({taskId:k()})});wE.loose();var dD=tD.extend({method:I(`tasks/list`)}),fD=nD.extend({tasks:M(iD)}),pD=xE.extend({method:I(`tasks/cancel`),params:vE.extend({taskId:k()})}),mD=wE.merge(iD),hD=N({uri:k(),mimeType:Yl(k()),_meta:Ul(k(),Ol()).optional()}),gD=hD.extend({text:k()}),_D=k().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:`Invalid Base64 string`}),vD=hD.extend({blob:_D}),yD=F([`user`,`assistant`]),bD=N({audience:M(yD).optional(),priority:A().min(0).max(1).optional(),lastModified:vu({offset:!0}).optional()}),xD=N({...zE.shape,...RE.shape,uri:k(),description:Yl(k()),mimeType:Yl(k()),size:Yl(A()),annotations:bD.optional(),_meta:Yl(Nl({}))}),SD=N({...zE.shape,...RE.shape,uriTemplate:k(),description:Yl(k()),mimeType:Yl(k()),annotations:bD.optional(),_meta:Yl(Nl({}))}),CD=tD.extend({method:I(`resources/list`)}),wD=nD.extend({resources:M(xD)}),TD=tD.extend({method:I(`resources/templates/list`)}),ED=nD.extend({resourceTemplates:M(SD)}),DD=vE.extend({uri:k()}),OD=DD,kD=xE.extend({method:I(`resources/read`),params:OD}),AD=wE.extend({contents:M(Fl([gD,vD]))}),jD=CE.extend({method:I(`notifications/resources/list_changed`),params:SE.optional()}),MD=DD,ND=xE.extend({method:I(`resources/subscribe`),params:MD}),PD=DD,FD=xE.extend({method:I(`resources/unsubscribe`),params:PD}),ID=SE.extend({uri:k()}),LD=CE.extend({method:I(`notifications/resources/updated`),params:ID}),RD=N({name:k(),description:Yl(k()),required:Yl(j())}),zD=N({...zE.shape,...RE.shape,description:Yl(k()),arguments:Yl(M(RD)),_meta:Yl(Nl({}))}),BD=tD.extend({method:I(`prompts/list`)}),VD=nD.extend({prompts:M(zD)}),HD=vE.extend({name:k(),arguments:Ul(k(),k()).optional()}),UD=xE.extend({method:I(`prompts/get`),params:HD}),WD=N({type:I(`text`),text:k(),annotations:bD.optional(),_meta:Ul(k(),Ol()).optional()}),GD=N({type:I(`image`),data:_D,mimeType:k(),annotations:bD.optional(),_meta:Ul(k(),Ol()).optional()}),KD=N({type:I(`audio`),data:_D,mimeType:k(),annotations:bD.optional(),_meta:Ul(k(),Ol()).optional()}),qD=N({type:I(`tool_use`),name:k(),id:k(),input:Ul(k(),Ol()),_meta:Ul(k(),Ol()).optional()}),JD=N({type:I(`resource`),resource:Fl([gD,vD]),annotations:bD.optional(),_meta:Ul(k(),Ol()).optional()}),YD=Fl([WD,GD,KD,xD.extend({type:I(`resource_link`)}),JD]),XD=N({role:yD,content:YD}),ZD=wE.extend({description:k().optional(),messages:M(XD)}),QD=CE.extend({method:I(`notifications/prompts/list_changed`),params:SE.optional()}),$D=N({title:k().optional(),readOnlyHint:j().optional(),destructiveHint:j().optional(),idempotentHint:j().optional(),openWorldHint:j().optional()}),eO=N({taskSupport:F([`required`,`optional`,`forbidden`]).optional()}),tO=N({...zE.shape,...RE.shape,description:k().optional(),inputSchema:N({type:I(`object`),properties:Ul(k(),fE).optional(),required:M(k()).optional()}).catchall(Ol()),outputSchema:N({type:I(`object`),properties:Ul(k(),fE).optional(),required:M(k()).optional()}).catchall(Ol()).optional(),annotations:$D.optional(),execution:eO.optional(),_meta:Ul(k(),Ol()).optional()}),nO=tD.extend({method:I(`tools/list`)}),rO=nD.extend({tools:M(tO)}),iO=wE.extend({content:M(YD).default([]),structuredContent:Ul(k(),Ol()).optional(),isError:j().optional()});iO.or(wE.extend({toolResult:Ol()}));var aO=yE.extend({name:k(),arguments:Ul(k(),Ol()).optional()}),oO=xE.extend({method:I(`tools/call`),params:aO}),sO=CE.extend({method:I(`notifications/tools/list_changed`),params:SE.optional()}),cO=N({autoRefresh:j().default(!0),debounceMs:A().int().nonnegative().default(300)}),lO=F([`debug`,`info`,`notice`,`warning`,`error`,`critical`,`alert`,`emergency`]),uO=vE.extend({level:lO}),dO=xE.extend({method:I(`logging/setLevel`),params:uO}),fO=SE.extend({level:lO,logger:k().optional(),data:Ol()}),pO=CE.extend({method:I(`notifications/message`),params:fO}),mO=N({hints:M(N({name:k().optional()})).optional(),costPriority:A().min(0).max(1).optional(),speedPriority:A().min(0).max(1).optional(),intelligencePriority:A().min(0).max(1).optional()}),hO=N({mode:F([`auto`,`required`,`none`]).optional()}),gO=N({type:I(`tool_result`),toolUseId:k().describe(`The unique identifier for the corresponding tool call.`),content:M(YD).default([]),structuredContent:N({}).loose().optional(),isError:j().optional(),_meta:Ul(k(),Ol()).optional()}),_O=Ll(`type`,[WD,GD,KD]),vO=Ll(`type`,[WD,GD,KD,qD,gO]),yO=N({role:yD,content:Fl([vO,M(vO)]),_meta:Ul(k(),Ol()).optional()}),bO=yE.extend({messages:M(yO),modelPreferences:mO.optional(),systemPrompt:k().optional(),includeContext:F([`none`,`thisServer`,`allServers`]).optional(),temperature:A().optional(),maxTokens:A().int(),stopSequences:M(k()).optional(),metadata:fE.optional(),tools:M(tO).optional(),toolChoice:hO.optional()}),xO=xE.extend({method:I(`sampling/createMessage`),params:bO}),SO=wE.extend({model:k(),stopReason:Yl(F([`endTurn`,`stopSequence`,`maxTokens`]).or(k())),role:yD,content:_O}),CO=wE.extend({model:k(),stopReason:Yl(F([`endTurn`,`stopSequence`,`maxTokens`,`toolUse`]).or(k())),role:yD,content:Fl([vO,M(vO)])}),wO=N({type:I(`boolean`),title:k().optional(),description:k().optional(),default:j().optional()}),TO=N({type:I(`string`),title:k().optional(),description:k().optional(),minLength:A().optional(),maxLength:A().optional(),format:F([`email`,`uri`,`date`,`date-time`]).optional(),default:k().optional()}),EO=N({type:F([`number`,`integer`]),title:k().optional(),description:k().optional(),minimum:A().optional(),maximum:A().optional(),default:A().optional()}),DO=N({type:I(`string`),title:k().optional(),description:k().optional(),enum:M(k()),default:k().optional()}),OO=N({type:I(`string`),title:k().optional(),description:k().optional(),oneOf:M(N({const:k(),title:k()})),default:k().optional()}),kO=Fl([Fl([N({type:I(`string`),title:k().optional(),description:k().optional(),enum:M(k()),enumNames:M(k()).optional(),default:k().optional()}),Fl([DO,OO]),Fl([N({type:I(`array`),title:k().optional(),description:k().optional(),minItems:A().optional(),maxItems:A().optional(),items:N({type:I(`string`),enum:M(k())}),default:M(k()).optional()}),N({type:I(`array`),title:k().optional(),description:k().optional(),minItems:A().optional(),maxItems:A().optional(),items:N({anyOf:M(N({const:k(),title:k()}))}),default:M(k()).optional()})])]),wO,TO,EO]),AO=Fl([yE.extend({mode:I(`form`).optional(),message:k(),requestedSchema:N({type:I(`object`),properties:Ul(k(),kO),required:M(k()).optional()})}),yE.extend({mode:I(`url`),message:k(),elicitationId:k(),url:k().url()})]),jO=xE.extend({method:I(`elicitation/create`),params:AO}),MO=SE.extend({elicitationId:k()}),NO=CE.extend({method:I(`notifications/elicitation/complete`),params:MO}),PO=wE.extend({action:F([`accept`,`decline`,`cancel`]),content:_u(e=>e===null?void 0:e,Ul(k(),Fl([k(),A(),j(),M(k())])).optional())}),FO=N({type:I(`ref/resource`),uri:k()}),IO=N({type:I(`ref/prompt`),name:k()}),LO=vE.extend({ref:Fl([IO,FO]),argument:N({name:k(),value:k()}),context:N({arguments:Ul(k(),k()).optional()}).optional()}),RO=xE.extend({method:I(`completion/complete`),params:LO});function zO(e){if(e.params.ref.type!==`ref/prompt`)throw TypeError(`Expected CompleteRequestPrompt, but got ${e.params.ref.type}`)}function BO(e){if(e.params.ref.type!==`ref/resource`)throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${e.params.ref.type}`)}var VO=wE.extend({completion:Nl({values:M(k()).max(100),total:Yl(A().int()),hasMore:Yl(j())})}),HO=N({uri:k().startsWith(`file://`),name:k().optional(),_meta:Ul(k(),Ol()).optional()}),UO=xE.extend({method:I(`roots/list`),params:vE.optional()}),WO=wE.extend({roots:M(HO)}),GO=CE.extend({method:I(`notifications/roots/list_changed`),params:SE.optional()});Fl([XE,KE,RO,dO,UD,BD,CD,TD,kD,ND,FD,oO,nO,cD,uD,dD,pD]),Fl([LE,$E,YE,GO,sD]),Fl([FE,SO,CO,PO,WO,lD,fD,aD]),Fl([XE,xO,jO,UO,cD,uD,dD,pD]),Fl([LE,$E,pO,LD,jD,sO,QD,sD,NO]),Fl([FE,JE,VO,ZD,VD,wD,ED,AD,iO,rO,lD,fD,aD]);var $=class e extends Error{constructor(e,t,n){super(`MCP error ${e}: ${t}`),this.code=e,this.data=n,this.name=`McpError`}static fromError(t,n,r){if(t===Q.UrlElicitationRequired&&r){let e=r;if(e.elicitations)return new KO(e.elicitations,n)}return new e(t,n,r)}},KO=class extends ${constructor(e,t=`URL elicitation${e.length>1?`s`:``} required`){super(Q.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function qO(e){return e===`completed`||e===`failed`||e===`cancelled`}var JO=Symbol(`Let zodToJsonSchema decide on which parser to use`),YO={name:void 0,$refStrategy:`root`,basePath:[`#`],effectStrategy:`input`,pipeStrategy:`all`,dateStrategy:`format:date-time`,mapStrategy:`entries`,removeAdditionalStrategy:`passthrough`,allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:`definitions`,target:`jsonSchema7`,strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:`escape`,applyRegexFlags:!1,emailStrategy:`format:email`,base64Strategy:`contentEncoding:base64`,nameStrategy:`ref`,openAiAnyTypeName:`OpenAiAnyType`},XO=e=>typeof e==`string`?{...YO,name:e}:{...YO,...e},ZO=e=>{let t=XO(e),n=t.name===void 0?t.basePath:[...t.basePath,t.definitionPath,t.name];return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}};function QO(e,t,n,r){r?.errorMessages&&n&&(e.errorMessage={...e.errorMessage,[t]:n})}function $O(e,t,n,r,i){e[t]=n,QO(e,t,r,i)}var ek=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join(`/`)};function tk(e){if(e.target!==`openAi`)return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy===`relative`?ek(t,e.currentPath):t.join(`/`)}}function nk(e,t){let n={type:`array`};return e.type?._def&&e.type?._def?.typeName!==Z.ZodAny&&(n.items=Kk(e.type._def,{...t,currentPath:[...t.currentPath,`items`]})),e.minLength&&$O(n,`minItems`,e.minLength.value,e.minLength.message,t),e.maxLength&&$O(n,`maxItems`,e.maxLength.value,e.maxLength.message,t),e.exactLength&&($O(n,`minItems`,e.exactLength.value,e.exactLength.message,t),$O(n,`maxItems`,e.exactLength.value,e.exactLength.message,t)),n}function rk(e,t){let n={type:`integer`,format:`int64`};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case`min`:t.target===`jsonSchema7`?r.inclusive?$O(n,`minimum`,r.value,r.message,t):$O(n,`exclusiveMinimum`,r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),$O(n,`minimum`,r.value,r.message,t));break;case`max`:t.target===`jsonSchema7`?r.inclusive?$O(n,`maximum`,r.value,r.message,t):$O(n,`exclusiveMaximum`,r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),$O(n,`maximum`,r.value,r.message,t));break;case`multipleOf`:$O(n,`multipleOf`,r.value,r.message,t)}return n}function ik(){return{type:`boolean`}}function ak(e,t){return Kk(e.type._def,t)}var ok=(e,t)=>Kk(e.innerType._def,t);function sk(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((n,r)=>sk(e,t,n))};switch(r){case`string`:case`format:date-time`:return{type:`string`,format:`date-time`};case`format:date`:return{type:`string`,format:`date`};case`integer`:return ck(e,t)}}var ck=(e,t)=>{let n={type:`integer`,format:`unix-time`};if(t.target===`openApi3`)return n;for(let r of e.checks)switch(r.kind){case`min`:$O(n,`minimum`,r.value,r.message,t);break;case`max`:$O(n,`maximum`,r.value,r.message,t)}return n};function lk(e,t){return{...Kk(e.innerType._def,t),default:e.defaultValue()}}function uk(e,t){return t.effectStrategy===`input`?Kk(e.schema._def,t):tk(t)}function dk(e){return{type:`string`,enum:Array.from(e.values)}}var fk=e=>`type`in e&&e.type===`string`?!1:`allOf`in e;function pk(e,t){let n=[Kk(e.left._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),Kk(e.right._def,{...t,currentPath:[...t.currentPath,`allOf`,`1`]})].filter(e=>!!e),r=t.target===`jsonSchema2019-09`?{unevaluatedProperties:!1}:void 0,i=[];return n.forEach(e=>{if(fk(e))i.push(...e.allOf),e.unevaluatedProperties===void 0&&(r=void 0);else{let t=e;if(`additionalProperties`in e&&e.additionalProperties===!1){let{additionalProperties:n,...r}=e;t=r}else r=void 0;i.push(t)}}),i.length?{allOf:i,...r}:void 0}function mk(e,t){let n=typeof e.value;return n!==`bigint`&&n!==`number`&&n!==`boolean`&&n!==`string`?{type:Array.isArray(e.value)?`array`:`object`}:t.target===`openApi3`?{type:n===`bigint`?`integer`:n,enum:[e.value]}:{type:n===`bigint`?`integer`:n,const:e.value}}var hk=void 0,gk={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(hk===void 0&&(hk=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),hk),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?: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])$/,ipv4Cidr:/^(?:(?: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])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,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}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function _k(e,t){let n={type:`string`};if(e.checks)for(let r of e.checks)switch(r.kind){case`min`:$O(n,`minLength`,typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value,r.message,t);break;case`max`:$O(n,`maxLength`,typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case`email`:switch(t.emailStrategy){case`format:email`:xk(n,`email`,r.message,t);break;case`format:idn-email`:xk(n,`idn-email`,r.message,t);break;case`pattern:zod`:Sk(n,gk.email,r.message,t)}break;case`url`:xk(n,`uri`,r.message,t);break;case`uuid`:xk(n,`uuid`,r.message,t);break;case`regex`:Sk(n,r.regex,r.message,t);break;case`cuid`:Sk(n,gk.cuid,r.message,t);break;case`cuid2`:Sk(n,gk.cuid2,r.message,t);break;case`startsWith`:Sk(n,RegExp(`^${vk(r.value,t)}`),r.message,t);break;case`endsWith`:Sk(n,RegExp(`${vk(r.value,t)}$`),r.message,t);break;case`datetime`:xk(n,`date-time`,r.message,t);break;case`date`:xk(n,`date`,r.message,t);break;case`time`:xk(n,`time`,r.message,t);break;case`duration`:xk(n,`duration`,r.message,t);break;case`length`:$O(n,`minLength`,typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value,r.message,t),$O(n,`maxLength`,typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value,r.message,t);break;case`includes`:Sk(n,RegExp(vk(r.value,t)),r.message,t);break;case`ip`:r.version!==`v6`&&xk(n,`ipv4`,r.message,t),r.version!==`v4`&&xk(n,`ipv6`,r.message,t);break;case`base64url`:Sk(n,gk.base64url,r.message,t);break;case`jwt`:Sk(n,gk.jwt,r.message,t);break;case`cidr`:r.version!==`v6`&&Sk(n,gk.ipv4Cidr,r.message,t),r.version!==`v4`&&Sk(n,gk.ipv6Cidr,r.message,t);break;case`emoji`:Sk(n,gk.emoji(),r.message,t);break;case`ulid`:Sk(n,gk.ulid,r.message,t);break;case`base64`:switch(t.base64Strategy){case`format:binary`:xk(n,`binary`,r.message,t);break;case`contentEncoding:base64`:$O(n,`contentEncoding`,`base64`,r.message,t);break;case`pattern:zod`:Sk(n,gk.base64,r.message,t)}break;case`nanoid`:Sk(n,gk.nanoid,r.message,t)}return n}function vk(e,t){return t.patternStrategy===`escape`?bk(e):e}var yk=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function bk(e){let t=``;for(let n=0;n<e.length;n++)yk.has(e[n])||(t+=`\\`),t+=e[n];return t}function xk(e,t,n,r){e.format||e.anyOf?.some(e=>e.format)?(e.anyOf||=[],e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&r.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):$O(e,`format`,t,n,r)}function Sk(e,t,n,r){e.pattern||e.allOf?.some(e=>e.pattern)?(e.allOf||=[],e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&r.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:Ck(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):$O(e,`pattern`,Ck(t,r),n,r)}function Ck(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes(`i`),m:e.flags.includes(`m`),s:e.flags.includes(`s`)},r=n.i?e.source.toLowerCase():e.source,i=``,a=!1,o=!1,s=!1;for(let e=0;e<r.length;e++){if(a){i+=r[e],a=!1;continue}if(n.i){if(o){if(r[e].match(/[a-z]/)){s?(i+=r[e],i+=`${r[e-2]}-${r[e]}`.toUpperCase(),s=!1):r[e+1]===`-`&&r[e+2]?.match(/[a-z]/)?(i+=r[e],s=!0):i+=`${r[e]}${r[e].toUpperCase()}`;continue}}else if(r[e].match(/[a-z]/)){i+=`[${r[e]}${r[e].toUpperCase()}]`;continue}}if(n.m){if(r[e]===`^`){i+=`(^|(?<=[\r
|
|
272
|
+
]))`;continue}if(r[e]===`$`){i+=`($|(?=[\r
|
|
273
|
+
]))`;continue}}if(n.s&&r[e]===`.`){i+=o?`${r[e]}\r\n`:`[${r[e]}\r\n]`;continue}i+=r[e],r[e]===`\\`?a=!0:o&&r[e]===`]`?o=!1:!o&&r[e]===`[`&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function wk(e,t){if(t.target===`openAi`&&console.warn(`Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.`),t.target===`openApi3`&&e.keyType?._def.typeName===Z.ZodEnum)return{type:`object`,required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,r)=>({...n,[r]:Kk(e.valueType._def,{...t,currentPath:[...t.currentPath,`properties`,r]})??tk(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let n={type:`object`,additionalProperties:Kk(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]})??t.allowedAdditionalProperties};if(t.target===`openApi3`)return n;if(e.keyType?._def.typeName===Z.ZodString&&e.keyType._def.checks?.length){let{type:r,...i}=_k(e.keyType._def,t);return{...n,propertyNames:i}}if(e.keyType?._def.typeName===Z.ZodEnum)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===Z.ZodBranded&&e.keyType._def.type._def.typeName===Z.ZodString&&e.keyType._def.type._def.checks?.length){let{type:r,...i}=ak(e.keyType._def,t);return{...n,propertyNames:i}}return n}function Tk(e,t){return t.mapStrategy===`record`?wk(e,t):{type:`array`,maxItems:125,items:{type:`array`,items:[Kk(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||tk(t),Kk(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||tk(t)],minItems:2,maxItems:2}}}function Ek(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`).map(e=>t[e]),r=Array.from(new Set(n.map(e=>typeof e)));return{type:r.length===1?r[0]===`string`?`string`:`number`:[`string`,`number`],enum:n}}function Dk(e){return e.target===`openAi`?void 0:{not:tk({...e,currentPath:[...e.currentPath,`not`]})}}function Ok(e){return e.target===`openApi3`?{enum:[`null`],nullable:!0}:{type:`null`}}var kk={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function Ak(e,t){if(t.target===`openApi3`)return jk(e,t);let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in kk&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=kk[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}if(n.every(e=>e._def.typeName===`ZodLiteral`&&!e.description)){let e=n.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case`string`:case`number`:case`boolean`:return[...e,n];case`bigint`:return[...e,`integer`];case`object`:if(t._def.value===null)return[...e,`null`];default:return e}},[]);if(e.length===n.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:n.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(n.every(e=>e._def.typeName===`ZodEnum`))return{type:`string`,enum:n.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return jk(e,t)}var jk=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>Kk(e._def,{...t,currentPath:[...t.currentPath,`anyOf`,`${n}`]})).filter(e=>!!e&&(!t.strictUnions||typeof e==`object`&&Object.keys(e).length>0));return n.length?{anyOf:n}:void 0};function Mk(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target===`openApi3`?{type:kk[e.innerType._def.typeName],nullable:!0}:{type:[kk[e.innerType._def.typeName],`null`]};if(t.target===`openApi3`){let n=Kk(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&`$ref`in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let n=Kk(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function Nk(e,t){let n={type:`number`};if(!e.checks)return n;for(let r of e.checks)switch(r.kind){case`int`:n.type=`integer`,QO(n,`type`,r.message,t);break;case`min`:t.target===`jsonSchema7`?r.inclusive?$O(n,`minimum`,r.value,r.message,t):$O(n,`exclusiveMinimum`,r.value,r.message,t):(r.inclusive||(n.exclusiveMinimum=!0),$O(n,`minimum`,r.value,r.message,t));break;case`max`:t.target===`jsonSchema7`?r.inclusive?$O(n,`maximum`,r.value,r.message,t):$O(n,`exclusiveMaximum`,r.value,r.message,t):(r.inclusive||(n.exclusiveMaximum=!0),$O(n,`maximum`,r.value,r.message,t));break;case`multipleOf`:$O(n,`multipleOf`,r.value,r.message,t)}return n}function Pk(e,t){let n=t.target===`openAi`,r={type:`object`,properties:{}},i=[],a=e.shape();for(let e in a){let o=a[e];if(o===void 0||o._def===void 0)continue;let s=Ik(o);s&&n&&(o._def.typeName===`ZodOptional`&&(o=o._def.innerType),o.isNullable()||(o=o.nullable()),s=!1);let c=Kk(o._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});c!==void 0&&(r.properties[e]=c,s||i.push(e))}i.length&&(r.required=i);let o=Fk(e,t);return o!==void 0&&(r.additionalProperties=o),r}function Fk(e,t){if(e.catchall._def.typeName!==`ZodNever`)return Kk(e.catchall._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]});switch(e.unknownKeys){case`passthrough`:return t.allowedAdditionalProperties;case`strict`:return t.rejectedAdditionalProperties;case`strip`:return t.removeAdditionalStrategy===`strict`?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Ik(e){try{return e.isOptional()}catch{return!0}}var Lk=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return Kk(e.innerType._def,t);let n=Kk(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return n?{anyOf:[{not:tk(t)},n]}:tk(t)},Rk=(e,t)=>{if(t.pipeStrategy===`input`)return Kk(e.in._def,t);if(t.pipeStrategy===`output`)return Kk(e.out._def,t);let n=Kk(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]});return{allOf:[n,Kk(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]})].filter(e=>e!==void 0)}};function zk(e,t){return Kk(e.type._def,t)}function Bk(e,t){let n={type:`array`,uniqueItems:!0,items:Kk(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]})};return e.minSize&&$O(n,`minItems`,e.minSize.value,e.minSize.message,t),e.maxSize&&$O(n,`maxItems`,e.maxSize.value,e.maxSize.message,t),n}function Vk(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>Kk(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:Kk(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>Kk(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function Hk(e){return{not:tk(e)}}function Uk(e){return tk(e)}var Wk=(e,t)=>Kk(e.innerType._def,t),Gk=(e,t,n)=>{switch(t){case Z.ZodString:return _k(e,n);case Z.ZodNumber:return Nk(e,n);case Z.ZodObject:return Pk(e,n);case Z.ZodBigInt:return rk(e,n);case Z.ZodBoolean:return ik();case Z.ZodDate:return sk(e,n);case Z.ZodUndefined:return Hk(n);case Z.ZodNull:return Ok(n);case Z.ZodArray:return nk(e,n);case Z.ZodUnion:case Z.ZodDiscriminatedUnion:return Ak(e,n);case Z.ZodIntersection:return pk(e,n);case Z.ZodTuple:return Vk(e,n);case Z.ZodRecord:return wk(e,n);case Z.ZodLiteral:return mk(e,n);case Z.ZodEnum:return dk(e);case Z.ZodNativeEnum:return Ek(e);case Z.ZodNullable:return Mk(e,n);case Z.ZodOptional:return Lk(e,n);case Z.ZodMap:return Tk(e,n);case Z.ZodSet:return Bk(e,n);case Z.ZodLazy:return()=>e.getter()._def;case Z.ZodPromise:return zk(e,n);case Z.ZodNaN:case Z.ZodNever:return Dk(n);case Z.ZodEffects:return uk(e,n);case Z.ZodAny:return tk(n);case Z.ZodUnknown:return Uk(n);case Z.ZodDefault:return lk(e,n);case Z.ZodBranded:return ak(e,n);case Z.ZodReadonly:return Wk(e,n);case Z.ZodCatch:return ok(e,n);case Z.ZodPipeline:return Rk(e,n);case Z.ZodFunction:case Z.ZodVoid:case Z.ZodSymbol:return;default:return(e=>void 0)(t)}};function Kk(e,t,n=!1){let r=t.seen.get(e);if(t.override){let i=t.override?.(e,t,r,n);if(i!==JO)return i}if(r&&!n){let e=qk(r,t);if(e!==void 0)return e}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let a=Gk(e,e.typeName,t),o=typeof a==`function`?Kk(a(),t):a;if(o&&Jk(e,t,o),t.postProcess){let n=t.postProcess(o,e,t);return i.jsonSchema=o,n}return i.jsonSchema=o,o}var qk=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:ek(t.currentPath,e.path)};case`none`:case`seen`:return e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join(`/`)}! Defaulting to any`),tk(t)):t.$refStrategy===`seen`?tk(t):void 0}},Jk=(e,t,n)=>(e.description&&(n.description=e.description,t.markdownDescription&&(n.markdownDescription=e.description)),n),Yk=(e,t)=>{let n=ZO(t),r=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>({...e,[t]:Kk(r._def,{...n,currentPath:[...n.basePath,n.definitionPath,t]},!0)??tk(n)}),{}):void 0,i=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,a=Kk(e._def,i===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,i]},!1)??tk(n),o=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;o!==void 0&&(a.title=o),n.flags.hasReferencedOpenAiAnyType&&(r||={},r[n.openAiAnyTypeName]||(r[n.openAiAnyTypeName]={type:[`string`,`number`,`integer`,`boolean`,`array`,`null`],items:{$ref:n.$refStrategy===`relative`?`1`:[...n.basePath,n.definitionPath,n.openAiAnyTypeName].join(`/`)}}));let s=i===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy===`relative`?[]:n.basePath,n.definitionPath,i].join(`/`),[n.definitionPath]:{...r,[i]:a}};return n.target===`jsonSchema7`?s.$schema=`http://json-schema.org/draft-07/schema#`:(n.target===`jsonSchema2019-09`||n.target===`openAi`)&&(s.$schema=`https://json-schema.org/draft/2019-09/schema#`),n.target===`openAi`&&(`anyOf`in s||`oneOf`in s||`allOf`in s||`type`in s&&Array.isArray(s.type))&&console.warn(`Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.`),s};function Xk(e){return!e||e===`jsonSchema7`||e===`draft-7`?`draft-7`:e===`jsonSchema2019-09`||e===`draft-2020-12`?`draft-2020-12`:`draft-7`}function Zk(e,t){return QT(e)?Oc(e,{target:Xk(t?.target),io:t?.pipeStrategy??`input`}):Yk(e,{strictUnions:t?.strictUnions??!0,pipeStrategy:t?.pipeStrategy??`input`})}function Qk(e){let t=nE(e)?.method;if(!t)throw Error(`Schema is missing a method literal`);let n=cE(t);if(typeof n!=`string`)throw Error(`Schema method literal must be a string`);return n}function $k(e,t){let n=eE(e,t);if(!n.success)throw n.error;return n.data}var eA=class{constructor(e){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(LE,e=>{this._oncancel(e)}),this.setNotificationHandler($E,e=>{this._onprogress(e)}),this.setRequestHandler(XE,e=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(cD,async(e,t)=>{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new $(Q.InvalidParams,`Failed to retrieve task: Task not found`);return{...n}}),this.setRequestHandler(uD,async(e,t)=>{let n=async()=>{let r=e.params.taskId;if(this._taskMessageQueue){let e;for(;e=await this._taskMessageQueue.dequeue(r,t.sessionId);){if(e.type===`response`||e.type===`error`){let t=e.message,n=t.id,r=this._requestResolvers.get(n);if(r){if(this._requestResolvers.delete(n),e.type===`response`)r(t);else{let e=t;r(new $(e.error.code,e.error.message,e.error.data))}}else{let t=e.type===`response`?`Response`:`Error`;this._onerror(Error(`${t} handler missing for request ${n}`))}continue}await this._transport?.send(e.message,{relatedRequestId:t.requestId})}}let i=await this._taskStore.getTask(r,t.sessionId);if(!i)throw new $(Q.InvalidParams,`Task not found: ${r}`);if(!qO(i.status))return await this._waitForTaskUpdate(r,t.signal),await n();if(qO(i.status)){let e=await this._taskStore.getTaskResult(r,t.sessionId);return this._clearTaskQueue(r),{...e,_meta:{...e._meta,[dE]:{taskId:r}}}}return await n()};return await n()}),this.setRequestHandler(dD,async(e,t)=>{try{let{tasks:n,nextCursor:r}=await this._taskStore.listTasks(e.params?.cursor,t.sessionId);return{tasks:n,nextCursor:r,_meta:{}}}catch(e){throw new $(Q.InvalidParams,`Failed to list tasks: ${e instanceof Error?e.message:String(e)}`)}}),this.setRequestHandler(pD,async(e,t)=>{try{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new $(Q.InvalidParams,`Task not found: ${e.params.taskId}`);if(qO(n.status))throw new $(Q.InvalidParams,`Cannot cancel task in terminal status: ${n.status}`);await this._taskStore.updateTaskStatus(e.params.taskId,`cancelled`,`Client cancelled task execution.`,t.sessionId),this._clearTaskQueue(e.params.taskId);let r=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!r)throw new $(Q.InvalidParams,`Task not found after cancellation: ${e.params.taskId}`);return{_meta:{},...r}}catch(e){throw e instanceof $?e:new $(Q.InvalidRequest,`Failed to cancel task: ${e instanceof Error?e.message:String(e)}`)}}))}async _oncancel(e){e.params.requestId&&this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,n,r,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:r})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let n=Date.now()-t.startTime;if(t.maxTotalTimeout&&n>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),$.fromError(Q.RequestTimeout,`Maximum total timeout exceeded`,{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:n});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);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 n=this.transport?.onerror;this._transport.onerror=e=>{n?.(e),this._onerror(e)};let r=this._transport?.onmessage;this._transport.onmessage=(e,t)=>{r?.(e,t),jE(e)||NE(e)?this._onresponse(e):DE(e)?this._onrequest(e,t):kE(e)?this._onnotification(e):this._onerror(Error(`Unknown message type: ${JSON.stringify(e)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let e of this._timeoutInfo.values())clearTimeout(e.timeoutId);this._timeoutInfo.clear();for(let e of this._requestHandlerAbortControllers.values())e.abort();this._requestHandlerAbortControllers.clear();let t=$.fromError(Q.ConnectionClosed,`Connection closed`);this._transport=void 0,this.onclose?.();for(let n of e.values())n(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){let t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(e=>this._onerror(Error(`Uncaught error in notification handler: ${e}`)))}_onrequest(e,t){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,r=this._transport,i=e.params?._meta?.[dE]?.taskId;if(n===void 0){let t={jsonrpc:`2.0`,id:e.id,error:{code:Q.MethodNotFound,message:`Method not found`}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:`error`,message:t,timestamp:Date.now()},r?.sessionId).catch(e=>this._onerror(Error(`Failed to enqueue error response: ${e}`))):r?.send(t).catch(e=>this._onerror(Error(`Failed to send an error response: ${e}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(e.id,a);let o=bE(e.params)?e.params.task:void 0,s=this._taskStore?this.requestTaskStore(e,r?.sessionId):void 0,c={signal:a.signal,sessionId:r?.sessionId,_meta:e.params?._meta,sendNotification:async t=>{if(a.signal.aborted)return;let n={relatedRequestId:e.id};i&&(n.relatedTask={taskId:i}),await this.notification(t,n)},sendRequest:async(t,n,r)=>{if(a.signal.aborted)throw new $(Q.ConnectionClosed,`Request was cancelled`);let o={...r,relatedRequestId:e.id};i&&!o.relatedTask&&(o.relatedTask={taskId:i});let c=o.relatedTask?.taskId??i;return c&&s&&await s.updateTaskStatus(c,`input_required`),await this.request(t,n,o)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:i,taskStore:s,taskRequestedTtl:o?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};Promise.resolve().then(()=>{o&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,c)).then(async t=>{if(a.signal.aborted)return;let n={result:t,jsonrpc:`2.0`,id:e.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:`response`,message:n,timestamp:Date.now()},r?.sessionId):await r?.send(n)},async t=>{if(a.signal.aborted)return;let n={jsonrpc:`2.0`,id:e.id,error:{code:Number.isSafeInteger(t.code)?t.code:Q.InternalError,message:t.message??`Internal error`,...t.data!==void 0&&{data:t.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:`error`,message:n,timestamp:Date.now()},r?.sessionId):await r?.send(n)}).catch(e=>this._onerror(Error(`Failed to send response: ${e}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===a&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:t,...n}=e.params,r=Number(t),i=this._progressHandlers.get(r);if(!i){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let a=this._responseHandlers.get(r),o=this._timeoutInfo.get(r);if(o&&a&&o.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(e){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),a(e);return}i(n)}_onresponse(e){let t=Number(e.id),n=this._requestResolvers.get(t);if(n){this._requestResolvers.delete(t),jE(e)?n(e):n(new $(e.error.code,e.error.message,e.error.data));return}let r=this._responseHandlers.get(t);if(r===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 i=!1;if(jE(e)&&e.result&&typeof e.result==`object`){let n=e.result;if(n.task&&typeof n.task==`object`){let e=n.task;typeof e.taskId==`string`&&(i=!0,this._taskProgressTokens.set(e.taskId,t))}}i||this._progressHandlers.delete(t),jE(e)?r(e):r($.fromError(e.error.code,e.error.message,e.error.data))}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,t,n){let{task:r}=n??{};if(!r){try{yield{type:`result`,result:await this.request(e,t,n)}}catch(e){yield{type:`error`,error:e instanceof $?e:new $(Q.InternalError,String(e))}}return}let i;try{let r=await this.request(e,aD,n);if(r.task)i=r.task.taskId,yield{type:`taskCreated`,task:r.task};else throw new $(Q.InternalError,`Task creation did not return a task`);for(;;){let e=await this.getTask({taskId:i},n);if(yield{type:`taskStatus`,task:e},qO(e.status)){e.status===`completed`?yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)}:e.status===`failed`?yield{type:`error`,error:new $(Q.InternalError,`Task ${i} failed`)}:e.status===`cancelled`&&(yield{type:`error`,error:new $(Q.InternalError,`Task ${i} was cancelled`)});return}if(e.status===`input_required`){yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)};return}let r=e.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(e=>setTimeout(e,r)),n?.signal?.throwIfAborted()}}catch(e){yield{type:`error`,error:e instanceof $?e:new $(Q.InternalError,String(e))}}}request(e,t,n){let{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a,task:o,relatedTask:s}=n??{};return new Promise((c,l)=>{let u=e=>{l(e)};if(!this._transport){u(Error(`Not connected`));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),o&&this.assertTaskCapability(e.method)}catch(e){u(e);return}n?.signal?.throwIfAborted();let d=this._requestMessageId++,f={...e,jsonrpc:`2.0`,id:d};n?.onprogress&&(this._progressHandlers.set(d,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:d}}),o&&(f.params={...f.params,task:o}),s&&(f.params={...f.params,_meta:{...f.params?._meta||{},[dE]:s}});let p=e=>{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(e)}},{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(e=>this._onerror(Error(`Failed to send cancellation: ${e}`))),l(e instanceof $?e:new $(Q.RequestTimeout,String(e)))};this._responseHandlers.set(d,e=>{if(!n?.signal?.aborted){if(e instanceof Error)return l(e);try{let n=eE(t,e.result);n.success?c(n.data):l(n.error)}catch(e){l(e)}}}),n?.signal?.addEventListener(`abort`,()=>{p(n?.signal?.reason)});let m=n?.timeout??6e4;this._setupTimeout(d,m,n?.maxTotalTimeout,()=>p($.fromError(Q.RequestTimeout,`Request timed out`,{timeout:m})),n?.resetTimeoutOnProgress??!1);let h=s?.taskId;h?(this._requestResolvers.set(d,e=>{let t=this._responseHandlers.get(d);t?t(e):this._onerror(Error(`Response handler missing for side-channeled request ${d}`))}),this._enqueueTaskMessage(h,{type:`request`,message:f,timestamp:Date.now()}).catch(e=>{this._cleanupTimeout(d),l(e)})):this._transport.send(f,{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(e=>{this._cleanupTimeout(d),l(e)})})}async getTask(e,t){return this.request({method:`tasks/get`,params:e},lD,t)}async getTaskResult(e,t,n){return this.request({method:`tasks/result`,params:e},t,n)}async listTasks(e,t){return this.request({method:`tasks/list`,params:e},fD,t)}async cancelTask(e,t){return this.request({method:`tasks/cancel`,params:e},mD,t)}async notification(e,t){if(!this._transport)throw Error(`Not connected`);this.assertNotificationCapability(e.method);let n=t?.relatedTask?.taskId;if(n){let r={...e,jsonrpc:`2.0`,params:{...e.params,_meta:{...e.params?._meta||{},[dE]:t.relatedTask}}};await this._enqueueTaskMessage(n,{type:`notification`,message:r,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 n={...e,jsonrpc:`2.0`};t?.relatedTask&&(n={...n,params:{...n.params,_meta:{...n.params?._meta||{},[dE]:t.relatedTask}}}),this._transport?.send(n,t).catch(e=>this._onerror(e))});return}let r={...e,jsonrpc:`2.0`};t?.relatedTask&&(r={...r,params:{...r.params,_meta:{...r.params?._meta||{},[dE]:t.relatedTask}}}),await this._transport.send(r,t)}setRequestHandler(e,t){let n=Qk(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(n,r)=>{let i=$k(e,n);return Promise.resolve(t(i,r))})}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 n=Qk(e);this._notificationHandlers.set(n,n=>{let r=$k(e,n);return Promise.resolve(t(r))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,n){if(!this._taskStore||!this._taskMessageQueue)throw Error(`Cannot enqueue task message: taskStore and taskMessageQueue are not configured`);let r=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,n,r)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,t);for(let t of n)if(t.type===`request`&&DE(t.message)){let n=t.message.id,r=this._requestResolvers.get(n);r?(r(new $(Q.InternalError,`Task cancelled or completed`)),this._requestResolvers.delete(n)):this._onerror(Error(`Resolver missing for request ${n} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){let n=this._options?.defaultTaskPollInterval??1e3;try{let t=await this._taskStore?.getTask(e);t?.pollInterval&&(n=t.pollInterval)}catch{}return new Promise((e,r)=>{if(t.aborted){r(new $(Q.InvalidRequest,`Request cancelled`));return}let i=setTimeout(e,n);t.addEventListener(`abort`,()=>{clearTimeout(i),r(new $(Q.InvalidRequest,`Request cancelled`))},{once:!0})})}requestTaskStore(e,t){let n=this._taskStore;if(!n)throw Error(`No task store configured`);return{createTask:async r=>{if(!e)throw Error(`No request provided`);return await n.createTask(r,e.id,{method:e.method,params:e.params},t)},getTask:async e=>{let r=await n.getTask(e,t);if(!r)throw new $(Q.InvalidParams,`Failed to retrieve task: Task not found`);return r},storeTaskResult:async(e,r,i)=>{await n.storeTaskResult(e,r,i,t);let a=await n.getTask(e,t);if(a){let t=sD.parse({method:`notifications/tasks/status`,params:a});await this.notification(t),qO(a.status)&&this._cleanupTaskProgressHandler(e)}},getTaskResult:e=>n.getTaskResult(e,t),updateTaskStatus:async(e,r,i)=>{let a=await n.getTask(e,t);if(!a)throw new $(Q.InvalidParams,`Task "${e}" not found - it may have been cleaned up`);if(qO(a.status))throw new $(Q.InvalidParams,`Cannot update task "${e}" from terminal status "${a.status}" to "${r}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(e,r,i,t);let o=await n.getTask(e,t);if(o){let t=sD.parse({method:`notifications/tasks/status`,params:o});await this.notification(t),qO(o.status)&&this._cleanupTaskProgressHandler(e)}},listTasks:e=>n.listTasks(e,t)}}};function tA(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function nA(e,t){let n={...e};for(let e in t){let r=e,i=t[r];if(i===void 0)continue;let a=n[r];n[r]=tA(a)&&tA(i)?{...a,...i}:i}return n}var rA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;var t=class{};e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var n=class extends t{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw Error(`CodeGen: name must be a valid identifier`);this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};e.Name=n;var r=class extends t{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(){return this._str??=this._items.reduce((e,t)=>`${e}${t}`,``)}get names(){return this._names??=this._items.reduce((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e),{})}};e._Code=r,e.nil=new r(``);function i(e,...t){let n=[e[0]],i=0;for(;i<t.length;)s(n,t[i]),n.push(e[++i]);return new r(n)}e._=i;var a=new r(`+`);function o(e,...t){let n=[p(e[0])],i=0;for(;i<t.length;)n.push(a),s(n,t[i]),n.push(a,p(e[++i]));return c(n),new r(n)}e.str=o;function s(e,t){t instanceof r?e.push(...t._items):t instanceof n?e.push(t):e.push(d(t))}e.addCodeArg=s;function c(e){let t=1;for(;t<e.length-1;){if(e[t]===a){let n=l(e[t-1],e[t+1]);if(n!==void 0){e.splice(t-1,3,n);continue}e[t++]=`+`}t++}}function l(e,t){if(t===`""`)return e;if(e===`""`)return t;if(typeof e==`string`)return t instanceof n||e[e.length-1]!==`"`?void 0:typeof t==`string`?t[0]===`"`?e.slice(0,-1)+t.slice(1):void 0:`${e.slice(0,-1)}${t}"`;if(typeof t==`string`&&t[0]===`"`&&!(e instanceof n))return`"${e}${t.slice(1)}`}function u(e,t){return t.emptyStr()?e:e.emptyStr()?t:o`${e}${t}`}e.strConcat=u;function d(e){return typeof e==`number`||typeof e==`boolean`||e===null?e:p(Array.isArray(e)?e.join(`,`):e)}function f(e){return new r(p(e))}e.stringify=f;function p(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}e.safeStringify=p;function m(t){return typeof t==`string`&&e.IDENTIFIER.test(t)?new r(`.${t}`):i`[${t}]`}e.getProperty=m;function h(t){if(typeof t==`string`&&e.IDENTIFIER.test(t))return new r(`${t}`);throw Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}e.getEsmExportName=h;function g(e){return new r(e.toString())}e.regexpCode=g})),iA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;var t=rA(),n=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},r;(function(e){e[e.Started=0]=`Started`,e[e.Completed=1]=`Completed`})(r||(e.UsedValueState=r={})),e.varKinds={const:new t.Name(`const`),let:new t.Name(`let`),var:new t.Name(`var`)};var i=class{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof t.Name?e:this.name(e)}name(e){return new t.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){if((this._parent?._prefixes)?.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}}};e.Scope=i;var a=class extends t.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:n,itemIndex:r}){this.value=e,this.scopePath=(0,t._)`.${new t.Name(n)}[${r}]`}};e.ValueScopeName=a;var o=(0,t._)`\n`;e.ValueScope=class extends i{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?o:t.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){if(t.ref===void 0)throw Error(`CodeGen: ref must be passed in value`);let n=this.toName(e),{prefix:r}=n,i=t.key??t.ref,a=this._values[r];if(a){let e=a.get(i);if(e)return e}else a=this._values[r]=new Map;a.set(i,n);let o=this._scope[r]||(this._scope[r]=[]),s=o.length;return o[s]=t.ref,n.setValue(t,{property:r,itemIndex:s}),n}getValue(e,t){let n=this._values[e];if(n)return n.get(t)}scopeRefs(e,n=this._values){return this._reduceValues(n,n=>{if(n.scopePath===void 0)throw Error(`CodeGen: name "${n}" has no value`);return(0,t._)`${e}${n.scopePath}`})}scopeCode(e=this._values,t,n){return this._reduceValues(e,e=>{if(e.value===void 0)throw Error(`CodeGen: name "${e}" has no value`);return e.value.code},t,n)}_reduceValues(i,a,o={},s){let c=t.nil;for(let l in i){let u=i[l];if(!u)continue;let d=o[l]=o[l]||new Map;u.forEach(i=>{if(d.has(i))return;d.set(i,r.Started);let o=a(i);if(o){let n=this.opts.es5?e.varKinds.var:e.varKinds.const;c=(0,t._)`${c}${n} ${i} = ${o};${this.opts._n}`}else if(o=s?.(i))c=(0,t._)`${c}${o}${this.opts._n}`;else throw new n(i);d.set(i,r.Completed)})}return c}}})),aA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;var t=rA(),n=iA(),r=rA();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return r.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return r.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return r.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return r.Name}});var i=iA();Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return i.varKinds}}),e.operators={GT:new t._Code(`>`),GTE:new t._Code(`>=`),LT:new t._Code(`<`),LTE:new t._Code(`<=`),EQ:new t._Code(`===`),NEQ:new t._Code(`!==`),NOT:new t._Code(`!`),OR:new t._Code(`||`),AND:new t._Code(`&&`),ADD:new t._Code(`+`)};var a=class{optimizeNodes(){return this}optimizeNames(e,t){return this}},o=class extends a{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){let r=e?n.varKinds.var:this.varKind,i=this.rhs===void 0?``:` = ${this.rhs}`;return`${r} ${this.name}${i};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&=ie(this.rhs,e,t),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}},s=class extends a{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,n){if(!(this.lhs instanceof t.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=ie(this.rhs,e,n),this}get names(){return re(this.lhs instanceof t.Name?{}:{...this.lhs.names},this.rhs)}},c=class extends s{constructor(e,t,n,r){super(e,n,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},l=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},u=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:``};`+e}},d=class extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},f=class extends a{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=ie(this.code,e,t),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}},p=class extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,n)=>t+n.render(e),``)}optimizeNodes(){let{nodes:e}=this,t=e.length;for(;t--;){let n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:n}=this,r=n.length;for(;r--;){let i=n[r];i.optimizeNames(e,t)||(T(e,i.names),n.splice(r,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>w(e,t.names),{})}},m=class extends p{render(e){return`{`+e._n+super.render(e)+`}`+e._n}},h=class extends p{},g=class extends m{};g.kind=`else`;var _=class e extends m{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+=`else `+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let n=this.else;if(n){let e=n.optimizeNodes();n=this.else=Array.isArray(e)?new g(e):e}if(n)return t===!1?n instanceof e?n:n.nodes:this.nodes.length?this:new e(ae(t),n instanceof e?[n]:n.nodes);if(t!==!1&&this.nodes.length)return this}optimizeNames(e,t){if(this.else=this.else?.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=ie(this.condition,e,t),this}get names(){let e=super.names;return re(e,this.condition),this.else&&w(e,this.else.names),e}};_.kind=`if`;var v=class extends m{};v.kind=`for`;var y=class extends v{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=ie(this.iteration,e,t),this}get names(){return w(super.names,this.iteration.names)}},b=class extends v{constructor(e,t,n,r){super(),this.varKind=e,this.name=t,this.from=n,this.to=r}render(e){let t=e.es5?n.varKinds.var:this.varKind,{name:r,from:i,to:a}=this;return`for(${t} ${r}=${i}; ${r}<${a}; ${r}++)`+super.render(e)}get names(){return re(re(super.names,this.from),this.to)}},x=class extends v{constructor(e,t,n,r){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=ie(this.iterable,e,t),this}get names(){return w(super.names,this.iterable.names)}},ee=class extends m{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?`async `:``}function ${this.name}(${this.args})`+super.render(e)}};ee.kind=`func`;var S=class extends p{render(e){return`return `+super.render(e)}};S.kind=`return`;var te=class extends m{render(e){let t=`try`+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),(e=this.catch)==null||e.optimizeNodes(),(t=this.finally)==null||t.optimizeNodes(),this}optimizeNames(e,t){var n,r;return super.optimizeNames(e,t),(n=this.catch)==null||n.optimizeNames(e,t),(r=this.finally)==null||r.optimizeNames(e,t),this}get names(){let e=super.names;return this.catch&&w(e,this.catch.names),this.finally&&w(e,this.finally.names),e}},C=class extends m{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};C.kind=`catch`;var ne=class extends m{render(e){return`finally`+super.render(e)}};ne.kind=`finally`,e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
|
|
274
|
+
`:``},this._extScope=e,this._scope=new n.Scope({parent:e}),this._nodes=[new h]}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 n=this._extScope.value(e,t);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}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,n,r){let i=this._scope.toName(t);return n!==void 0&&r&&(this._constants[i.str]=n),this._leafNode(new o(e,i,n)),i}const(e,t,r){return this._def(n.varKinds.const,e,t,r)}let(e,t,r){return this._def(n.varKinds.let,e,t,r)}var(e,t,r){return this._def(n.varKinds.var,e,t,r)}assign(e,t,n){return this._leafNode(new s(e,t,n))}add(t,n){return this._leafNode(new c(t,e.operators.ADD,n))}code(e){return typeof e==`function`?e():e!==t.nil&&this._leafNode(new f(e)),this}object(...e){let n=[`{`];for(let[r,i]of e)n.length>1&&n.push(`,`),n.push(r),(r!==i||this.opts.es5)&&(n.push(`:`),(0,t.addCodeArg)(n,i));return n.push(`}`),new t._Code(n)}if(e,t,n){if(this._blockNode(new _(e)),t&&n)this.code(t).else().code(n).endIf();else if(t)this.code(t).endIf();else if(n)throw Error(`CodeGen: "else" body without "then" body`);return this}elseIf(e){return this._elseNode(new _(e))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(_,g)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new y(e),t)}forRange(e,t,r,i,a=this.opts.es5?n.varKinds.var:n.varKinds.let){let o=this._scope.toName(e);return this._for(new b(a,o,t,r),()=>i(o))}forOf(e,r,i,a=n.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let e=r instanceof t.Name?r:this.var(`_arr`,r);return this.forRange(`_i`,0,(0,t._)`${e}.length`,n=>{this.var(o,(0,t._)`${e}[${n}]`),i(o)})}return this._for(new x(`of`,a,o,r),()=>i(o))}forIn(e,r,i,a=this.opts.es5?n.varKinds.var:n.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,t._)`Object.keys(${r})`,i);let o=this._scope.toName(e);return this._for(new x(`in`,a,o,r),()=>i(o))}endFor(){return this._endBlockNode(v)}label(e){return this._leafNode(new l(e))}break(e){return this._leafNode(new u(e))}return(e){let t=new S;if(this._blockNode(t),this.code(e),t.nodes.length!==1)throw Error(`CodeGen: "return" should have one node`);return this._endBlockNode(S)}try(e,t,n){if(!t&&!n)throw Error(`CodeGen: "try" without "catch" and "finally"`);let r=new te;if(this._blockNode(r),this.code(e),t){let e=this.name(`e`);this._currNode=r.catch=new C(e),t(e)}return n&&(this._currNode=r.finally=new ne,this.code(n)),this._endBlockNode(C,ne)}throw(e){return this._leafNode(new d(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){let t=this._blockStarts.pop();if(t===void 0)throw Error(`CodeGen: not in self-balancing block`);let n=this._nodes.length-t;if(n<0||e!==void 0&&n!==e)throw Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=t,this}func(e,n=t.nil,r,i){return this._blockNode(new ee(e,n,r)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(ee)}optimize(e=1){for(;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 n=this._currNode;if(n instanceof e||t&&n 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 _))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}};function w(e,t){for(let n in t)e[n]=(e[n]||0)+(t[n]||0);return e}function re(e,n){return n instanceof t._CodeOrName?w(e,n.names):e}function ie(e,n,r){return e instanceof t.Name?i(e):a(e)?new t._Code(e._items.reduce((e,n)=>(n instanceof t.Name&&(n=i(n)),n instanceof t._Code?e.push(...n._items):e.push(n),e),[])):e;function i(e){let t=r[e.str];return t===void 0||n[e.str]!==1?e:(delete n[e.str],t)}function a(e){return e instanceof t._Code&&e._items.some(e=>e instanceof t.Name&&n[e.str]===1&&r[e.str]!==void 0)}}function T(e,t){for(let n in t)e[n]=(e[n]||0)-(t[n]||0)}function ae(e){return typeof e==`boolean`||typeof e==`number`||e===null?!e:(0,t._)`!${de(e)}`}e.not=ae;var oe=ue(e.operators.AND);function se(...e){return e.reduce(oe)}e.and=se;var ce=ue(e.operators.OR);function le(...e){return e.reduce(ce)}e.or=le;function ue(e){return(n,r)=>n===t.nil?r:r===t.nil?n:(0,t._)`${de(n)} ${e} ${de(r)}`}function de(e){return e instanceof t.Name?e:(0,t._)`(${e})`}})),oA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;var t=aA(),n=rA();function r(e){let t={};for(let n of e)t[n]=!0;return t}e.toHash=r;function i(e,t){return typeof t==`boolean`?t:Object.keys(t).length===0||(a(e,t),!o(t,e.self.RULES.all))}e.alwaysValidSchema=i;function a(e,t=e.schema){let{opts:n,self:r}=e;if(!n.strictSchema||typeof t==`boolean`)return;let i=r.RULES.keywords;for(let n in t)i[n]||x(e,`unknown keyword: "${n}"`)}e.checkUnknownRules=a;function o(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(t[n])return!0;return!1}e.schemaHasRules=o;function s(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(n!==`$ref`&&t.all[n])return!0;return!1}e.schemaHasRulesButRef=s;function c({topSchemaRef:e,schemaPath:n},r,i,a){if(!a){if(typeof r==`number`||typeof r==`boolean`)return r;if(typeof r==`string`)return(0,t._)`${r}`}return(0,t._)`${e}${n}${(0,t.getProperty)(i)}`}e.schemaRefOrVal=c;function l(e){return f(decodeURIComponent(e))}e.unescapeFragment=l;function u(e){return encodeURIComponent(d(e))}e.escapeFragment=u;function d(e){return typeof e==`number`?`${e}`:e.replace(/~/g,`~0`).replace(/\//g,`~1`)}e.escapeJsonPointer=d;function f(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}e.unescapeJsonPointer=f;function p(e,t){if(Array.isArray(e))for(let n of e)t(n);else t(e)}e.eachItem=p;function m({mergeNames:e,mergeToName:n,mergeValues:r,resultToName:i}){return(a,o,s,c)=>{let l=s===void 0?o:s instanceof t.Name?(o instanceof t.Name?e(a,o,s):n(a,o,s),s):o instanceof t.Name?(n(a,s,o),o):r(o,s);return c===t.Name&&!(l instanceof t.Name)?i(a,l):l}}e.mergeEvaluated={props:m({mergeNames:(e,n,r)=>e.if((0,t._)`${r} !== true && ${n} !== undefined`,()=>{e.if((0,t._)`${n} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,t._)`${r} || {}`).code((0,t._)`Object.assign(${r}, ${n})`))}),mergeToName:(e,n,r)=>e.if((0,t._)`${r} !== true`,()=>{n===!0?e.assign(r,!0):(e.assign(r,(0,t._)`${r} || {}`),g(e,r,n))}),mergeValues:(e,t)=>e===!0||{...e,...t},resultToName:h}),items:m({mergeNames:(e,n,r)=>e.if((0,t._)`${r} !== true && ${n} !== undefined`,()=>e.assign(r,(0,t._)`${n} === true ? true : ${r} > ${n} ? ${r} : ${n}`)),mergeToName:(e,n,r)=>e.if((0,t._)`${r} !== true`,()=>e.assign(r,n===!0||(0,t._)`${r} > ${n} ? ${r} : ${n}`)),mergeValues:(e,t)=>e===!0||Math.max(e,t),resultToName:(e,t)=>e.var(`items`,t)})};function h(e,n){if(n===!0)return e.var(`props`,!0);let r=e.var(`props`,(0,t._)`{}`);return n!==void 0&&g(e,r,n),r}e.evaluatedPropsToName=h;function g(e,n,r){Object.keys(r).forEach(r=>e.assign((0,t._)`${n}${(0,t.getProperty)(r)}`,!0))}e.setEvaluated=g;var _={};function v(e,t){return e.scopeValue(`func`,{ref:t,code:_[t.code]||(_[t.code]=new n._Code(t.code))})}e.useFunc=v;var y;(function(e){e[e.Num=0]=`Num`,e[e.Str=1]=`Str`})(y||(e.Type=y={}));function b(e,n,r){if(e instanceof t.Name){let i=n===y.Num;return r?i?(0,t._)`"[" + ${e} + "]"`:(0,t._)`"['" + ${e} + "']"`:i?(0,t._)`"/" + ${e}`:(0,t._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,t.getProperty)(e).toString():`/`+d(e)}e.getErrorPath=b;function x(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,n===!0)throw Error(t);e.self.logger.warn(t)}}e.checkStrictMode=x})),sA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA();e.default={data:new t.Name(`data`),valCxt:new t.Name(`valCxt`),instancePath:new t.Name(`instancePath`),parentData:new t.Name(`parentData`),parentDataProperty:new t.Name(`parentDataProperty`),rootData:new t.Name(`rootData`),dynamicAnchors:new t.Name(`dynamicAnchors`),vErrors:new t.Name(`vErrors`),errors:new t.Name(`errors`),this:new t.Name(`this`),self:new t.Name(`self`),scope:new t.Name(`scope`),json:new t.Name(`json`),jsonPos:new t.Name(`jsonPos`),jsonLen:new t.Name(`jsonLen`),jsonPart:new t.Name(`jsonPart`)}})),cA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;var t=aA(),n=oA(),r=sA();e.keywordError={message:({keyword:e})=>(0,t.str)`must pass "${e}" keyword validation`},e.keyword$DataError={message:({keyword:e,schemaType:n})=>n?(0,t.str)`"${e}" keyword must be ${n} ($data)`:(0,t.str)`"${e}" keyword is invalid ($data)`};function i(n,r=e.keywordError,i,a){let{it:o}=n,{gen:s,compositeRule:u,allErrors:f}=o,p=d(n,r,i);a??(u||f)?c(s,p):l(o,(0,t._)`[${p}]`)}e.reportError=i;function a(t,n=e.keywordError,i){let{it:a}=t,{gen:o,compositeRule:s,allErrors:u}=a;c(o,d(t,n,i)),s||u||l(a,r.default.vErrors)}e.reportExtraError=a;function o(e,n){e.assign(r.default.errors,n),e.if((0,t._)`${r.default.vErrors} !== null`,()=>e.if(n,()=>e.assign((0,t._)`${r.default.vErrors}.length`,n),()=>e.assign(r.default.vErrors,null)))}e.resetErrorsCount=o;function s({gen:e,keyword:n,schemaValue:i,data:a,errsCount:o,it:s}){if(o===void 0)throw Error(`ajv implementation error`);let c=e.name(`err`);e.forRange(`i`,o,r.default.errors,o=>{e.const(c,(0,t._)`${r.default.vErrors}[${o}]`),e.if((0,t._)`${c}.instancePath === undefined`,()=>e.assign((0,t._)`${c}.instancePath`,(0,t.strConcat)(r.default.instancePath,s.errorPath))),e.assign((0,t._)`${c}.schemaPath`,(0,t.str)`${s.errSchemaPath}/${n}`),s.opts.verbose&&(e.assign((0,t._)`${c}.schema`,i),e.assign((0,t._)`${c}.data`,a))})}e.extendErrors=s;function c(e,n){let i=e.const(`err`,n);e.if((0,t._)`${r.default.vErrors} === null`,()=>e.assign(r.default.vErrors,(0,t._)`[${i}]`),(0,t._)`${r.default.vErrors}.push(${i})`),e.code((0,t._)`${r.default.errors}++`)}function l(e,n){let{gen:r,validateName:i,schemaEnv:a}=e;a.$async?r.throw((0,t._)`new ${e.ValidationError}(${n})`):(r.assign((0,t._)`${i}.errors`,n),r.return(!1))}var u={keyword:new t.Name(`keyword`),schemaPath:new t.Name(`schemaPath`),params:new t.Name(`params`),propertyName:new t.Name(`propertyName`),message:new t.Name(`message`),schema:new t.Name(`schema`),parentSchema:new t.Name(`parentSchema`)};function d(e,n,r){let{createErrors:i}=e.it;return i===!1?(0,t._)`{}`:f(e,n,r)}function f(e,t,n={}){let{gen:r,it:i}=e,a=[p(i,n),m(e,n)];return h(e,t,a),r.object(...a)}function p({errorPath:e},{instancePath:i}){let a=i?(0,t.str)`${e}${(0,n.getErrorPath)(i,n.Type.Str)}`:e;return[r.default.instancePath,(0,t.strConcat)(r.default.instancePath,a)]}function m({keyword:e,it:{errSchemaPath:r}},{schemaPath:i,parentSchema:a}){let o=a?r:(0,t.str)`${r}/${e}`;return i&&(o=(0,t.str)`${o}${(0,n.getErrorPath)(i,n.Type.Str)}`),[u.schemaPath,o]}function h(e,{params:n,message:i},a){let{keyword:o,data:s,schemaValue:c,it:l}=e,{opts:d,propertyName:f,topSchemaRef:p,schemaPath:m}=l;a.push([u.keyword,o],[u.params,typeof n==`function`?n(e):n||(0,t._)`{}`]),d.messages&&a.push([u.message,typeof i==`function`?i(e):i]),d.verbose&&a.push([u.schema,c],[u.parentSchema,(0,t._)`${p}${m}`],[r.default.data,s]),f&&a.push([u.propertyName,f])}})),lA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.boolOrEmptySchema=e.topBoolOrEmptySchema=void 0;var t=cA(),n=aA(),r=sA(),i={message:`boolean schema is false`};function a(e){let{gen:t,schema:i,validateName:a}=e;i===!1?s(e,!1):typeof i==`object`&&i.$async===!0?t.return(r.default.data):(t.assign((0,n._)`${a}.errors`,null),t.return(!0))}e.topBoolOrEmptySchema=a;function o(e,t){let{gen:n,schema:r}=e;r===!1?(n.var(t,!1),s(e)):n.var(t,!0)}e.boolOrEmptySchema=o;function s(e,n){let{gen:r,data:a}=e,o={gen:r,keyword:`false schema`,data:a,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,t.reportError)(o,i,void 0,n)}})),uA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getRules=e.isJSONType=void 0;var t=new Set([`string`,`number`,`integer`,`boolean`,`null`,`object`,`array`]);function n(e){return typeof e==`string`&&t.has(e)}e.isJSONType=n;function r(){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:{}}}e.getRules=r})),dA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.shouldUseRule=e.shouldUseGroup=e.schemaHasRulesForType=void 0;function t({schema:e,self:t},r){let i=t.RULES.types[r];return i&&i!==!0&&n(e,i)}e.schemaHasRulesForType=t;function n(e,t){return t.rules.some(t=>r(e,t))}e.shouldUseGroup=n;function r(e,t){return e[t.keyword]!==void 0||t.definition.implements?.some(t=>e[t]!==void 0)}e.shouldUseRule=r})),fA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;var t=uA(),n=dA(),r=cA(),i=aA(),a=oA(),o;(function(e){e[e.Correct=0]=`Correct`,e[e.Wrong=1]=`Wrong`})(o||(e.DataType=o={}));function s(e){let t=c(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"`);e.nullable===!0&&t.push(`null`)}return t}e.getSchemaTypes=s;function c(e){let n=Array.isArray(e)?e:e?[e]:[];if(n.every(t.isJSONType))return n;throw Error(`type must be JSONType or JSONType[]: `+n.join(`,`))}e.getJSONTypes=c;function l(e,t){let{gen:r,data:i,opts:a}=e,s=d(t,a.coerceTypes),c=t.length>0&&!(s.length===0&&t.length===1&&(0,n.schemaHasRulesForType)(e,t[0]));if(c){let n=h(t,i,a.strictNumbers,o.Wrong);r.if(n,()=>{s.length?f(e,t,s):_(e)})}return c}e.coerceAndCheckDataType=l;var u=new Set([`string`,`number`,`integer`,`boolean`,`null`]);function d(e,t){return t?e.filter(e=>u.has(e)||t===`array`&&e===`array`):[]}function f(e,t,n){let{gen:r,data:a,opts:o}=e,s=r.let(`dataType`,(0,i._)`typeof ${a}`),c=r.let(`coerced`,(0,i._)`undefined`);o.coerceTypes===`array`&&r.if((0,i._)`${s} == 'object' && Array.isArray(${a}) && ${a}.length == 1`,()=>r.assign(a,(0,i._)`${a}[0]`).assign(s,(0,i._)`typeof ${a}`).if(h(t,a,o.strictNumbers),()=>r.assign(c,a))),r.if((0,i._)`${c} !== undefined`);for(let e of n)(u.has(e)||e===`array`&&o.coerceTypes===`array`)&&l(e);r.else(),_(e),r.endIf(),r.if((0,i._)`${c} !== undefined`,()=>{r.assign(a,c),p(e,c)});function l(e){switch(e){case`string`:r.elseIf((0,i._)`${s} == "number" || ${s} == "boolean"`).assign(c,(0,i._)`"" + ${a}`).elseIf((0,i._)`${a} === null`).assign(c,(0,i._)`""`);return;case`number`:r.elseIf((0,i._)`${s} == "boolean" || ${a} === null
|
|
275
|
+
|| (${s} == "string" && ${a} && ${a} == +${a})`).assign(c,(0,i._)`+${a}`);return;case`integer`:r.elseIf((0,i._)`${s} === "boolean" || ${a} === null
|
|
276
|
+
|| (${s} === "string" && ${a} && ${a} == +${a} && !(${a} % 1))`).assign(c,(0,i._)`+${a}`);return;case`boolean`:r.elseIf((0,i._)`${a} === "false" || ${a} === 0 || ${a} === null`).assign(c,!1).elseIf((0,i._)`${a} === "true" || ${a} === 1`).assign(c,!0);return;case`null`:r.elseIf((0,i._)`${a} === "" || ${a} === 0 || ${a} === false`),r.assign(c,null);return;case`array`:r.elseIf((0,i._)`${s} === "string" || ${s} === "number"
|
|
277
|
+
|| ${s} === "boolean" || ${a} === null`).assign(c,(0,i._)`[${a}]`)}}}function p({gen:e,parentData:t,parentDataProperty:n},r){e.if((0,i._)`${t} !== undefined`,()=>e.assign((0,i._)`${t}[${n}]`,r))}function m(e,t,n,r=o.Correct){let a=r===o.Correct?i.operators.EQ:i.operators.NEQ,s;switch(e){case`null`:return(0,i._)`${t} ${a} null`;case`array`:s=(0,i._)`Array.isArray(${t})`;break;case`object`:s=(0,i._)`${t} && typeof ${t} == "object" && !Array.isArray(${t})`;break;case`integer`:s=c((0,i._)`!(${t} % 1) && !isNaN(${t})`);break;case`number`:s=c();break;default:return(0,i._)`typeof ${t} ${a} ${e}`}return r===o.Correct?s:(0,i.not)(s);function c(e=i.nil){return(0,i.and)((0,i._)`typeof ${t} == "number"`,e,n?(0,i._)`isFinite(${t})`:i.nil)}}e.checkDataType=m;function h(e,t,n,r){if(e.length===1)return m(e[0],t,n,r);let o,s=(0,a.toHash)(e);if(s.array&&s.object){let e=(0,i._)`typeof ${t} != "object"`;o=s.null?e:(0,i._)`!${t} || ${e}`,delete s.null,delete s.array,delete s.object}else o=i.nil;s.number&&delete s.integer;for(let e in s)o=(0,i.and)(o,m(e,t,n,r));return o}e.checkDataTypes=h;var g={message:({schema:e})=>`must be ${e}`,params:({schema:e,schemaValue:t})=>typeof e==`string`?(0,i._)`{type: ${e}}`:(0,i._)`{type: ${t}}`};function _(e){let t=v(e);(0,r.reportError)(t,g)}e.reportTypeError=_;function v(e){let{gen:t,data:n,schema:r}=e,i=(0,a.schemaRefOrVal)(e,r,`type`);return{gen:t,keyword:`type`,data:n,schema:r.type,schemaCode:i,schemaValue:i,parentSchema:r,params:{},it:e}}})),pA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.assignDefaults=void 0;var t=aA(),n=oA();function r(e,t){let{properties:n,items:r}=e.schema;if(t===`object`&&n)for(let t in n)i(e,t,n[t].default);else t===`array`&&Array.isArray(r)&&r.forEach((t,n)=>i(e,n,t.default))}e.assignDefaults=r;function i(e,r,i){let{gen:a,compositeRule:o,data:s,opts:c}=e;if(i===void 0)return;let l=(0,t._)`${s}${(0,t.getProperty)(r)}`;if(o){(0,n.checkStrictMode)(e,`default is ignored for: ${l}`);return}let u=(0,t._)`${l} === undefined`;c.useDefaults===`empty`&&(u=(0,t._)`${u} || ${l} === null || ${l} === ""`),a.if(u,(0,t._)`${l} = ${(0,t.stringify)(i)}`)}})),mA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.validateUnion=e.validateArray=e.usePattern=e.callValidateCode=e.schemaProperties=e.allSchemaProperties=e.noPropertyInData=e.propertyInData=e.isOwnProperty=e.hasPropFunc=e.reportMissingProp=e.checkMissingProp=e.checkReportMissingProp=void 0;var t=aA(),n=oA(),r=sA(),i=oA();function a(e,n){let{gen:r,data:i,it:a}=e;r.if(d(r,i,n,a.opts.ownProperties),()=>{e.setParams({missingProperty:(0,t._)`${n}`},!0),e.error()})}e.checkReportMissingProp=a;function o({gen:e,data:n,it:{opts:r}},i,a){return(0,t.or)(...i.map(i=>(0,t.and)(d(e,n,i,r.ownProperties),(0,t._)`${a} = ${i}`)))}e.checkMissingProp=o;function s(e,t){e.setParams({missingProperty:t},!0),e.error()}e.reportMissingProp=s;function c(e){return e.scopeValue(`func`,{ref:Object.prototype.hasOwnProperty,code:(0,t._)`Object.prototype.hasOwnProperty`})}e.hasPropFunc=c;function l(e,n,r){return(0,t._)`${c(e)}.call(${n}, ${r})`}e.isOwnProperty=l;function u(e,n,r,i){let a=(0,t._)`${n}${(0,t.getProperty)(r)} !== undefined`;return i?(0,t._)`${a} && ${l(e,n,r)}`:a}e.propertyInData=u;function d(e,n,r,i){let a=(0,t._)`${n}${(0,t.getProperty)(r)} === undefined`;return i?(0,t.or)(a,(0,t.not)(l(e,n,r))):a}e.noPropertyInData=d;function f(e){return e?Object.keys(e).filter(e=>e!==`__proto__`):[]}e.allSchemaProperties=f;function p(e,t){return f(t).filter(r=>!(0,n.alwaysValidSchema)(e,t[r]))}e.schemaProperties=p;function m({schemaCode:e,data:n,it:{gen:i,topSchemaRef:a,schemaPath:o,errorPath:s},it:c},l,u,d){let f=d?(0,t._)`${e}, ${n}, ${a}${o}`:n,p=[[r.default.instancePath,(0,t.strConcat)(r.default.instancePath,s)],[r.default.parentData,c.parentData],[r.default.parentDataProperty,c.parentDataProperty],[r.default.rootData,r.default.rootData]];c.opts.dynamicRef&&p.push([r.default.dynamicAnchors,r.default.dynamicAnchors]);let m=(0,t._)`${f}, ${i.object(...p)}`;return u===t.nil?(0,t._)`${l}(${m})`:(0,t._)`${l}.call(${u}, ${m})`}e.callValidateCode=m;var h=(0,t._)`new RegExp`;function g({gen:e,it:{opts:n}},r){let a=n.unicodeRegExp?`u`:``,{regExp:o}=n.code,s=o(r,a);return e.scopeValue(`pattern`,{key:s.toString(),ref:s,code:(0,t._)`${o.code===`new RegExp`?h:(0,i.useFunc)(e,o)}(${r}, ${a})`})}e.usePattern=g;function _(e){let{gen:r,data:i,keyword:a,it:o}=e,s=r.name(`valid`);if(o.allErrors){let e=r.let(`valid`,!0);return c(()=>r.assign(e,!1)),e}return r.var(s,!0),c(()=>r.break()),s;function c(o){let c=r.const(`len`,(0,t._)`${i}.length`);r.forRange(`i`,0,c,i=>{e.subschema({keyword:a,dataProp:i,dataPropType:n.Type.Num},s),r.if((0,t.not)(s),o)})}}e.validateArray=_;function v(e){let{gen:r,schema:i,keyword:a,it:o}=e;if(!Array.isArray(i))throw Error(`ajv implementation error`);if(i.some(e=>(0,n.alwaysValidSchema)(o,e))&&!o.opts.unevaluated)return;let s=r.let(`valid`,!1),c=r.name(`_valid`);r.block(()=>i.forEach((n,i)=>{let o=e.subschema({keyword:a,schemaProp:i,compositeRule:!0},c);r.assign(s,(0,t._)`${s} || ${c}`),e.mergeValidEvaluated(o,c)||r.if((0,t.not)(s))})),e.result(s,()=>e.reset(),()=>e.error(!0))}e.validateUnion=v})),hA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.validateKeywordUsage=e.validSchemaType=e.funcKeywordCode=e.macroKeywordCode=void 0;var t=aA(),n=sA(),r=mA(),i=cA();function a(e,n){let{gen:r,keyword:i,schema:a,parentSchema:o,it:s}=e,c=n.macro.call(s.self,a,o,s),l=u(r,i,c);s.opts.validateSchema!==!1&&s.self.validateSchema(c,!0);let d=r.name(`valid`);e.subschema({schema:c,schemaPath:t.nil,errSchemaPath:`${s.errSchemaPath}/${i}`,topSchemaRef:l,compositeRule:!0},d),e.pass(d,()=>e.error(!0))}e.macroKeywordCode=a;function o(e,i){let{gen:a,keyword:o,schema:d,parentSchema:f,$data:p,it:m}=e;l(m,i);let h=u(a,o,!p&&i.compile?i.compile.call(m.self,d,f,m):i.validate),g=a.let(`valid`);e.block$data(g,_),e.ok(i.valid??g);function _(){if(i.errors===!1)b(),i.modifying&&s(e),x(()=>e.error());else{let t=i.async?v():y();i.modifying&&s(e),x(()=>c(e,t))}}function v(){let e=a.let(`ruleErrs`,null);return a.try(()=>b((0,t._)`await `),n=>a.assign(g,!1).if((0,t._)`${n} instanceof ${m.ValidationError}`,()=>a.assign(e,(0,t._)`${n}.errors`),()=>a.throw(n))),e}function y(){let e=(0,t._)`${h}.errors`;return a.assign(e,null),b(t.nil),e}function b(o=i.async?(0,t._)`await `:t.nil){let s=m.opts.passContext?n.default.this:n.default.self,c=!(`compile`in i&&!p||i.schema===!1);a.assign(g,(0,t._)`${o}${(0,r.callValidateCode)(e,h,s,c)}`,i.modifying)}function x(e){a.if((0,t.not)(i.valid??g),e)}}e.funcKeywordCode=o;function s(e){let{gen:n,data:r,it:i}=e;n.if(i.parentData,()=>n.assign(r,(0,t._)`${i.parentData}[${i.parentDataProperty}]`))}function c(e,r){let{gen:a}=e;a.if((0,t._)`Array.isArray(${r})`,()=>{a.assign(n.default.vErrors,(0,t._)`${n.default.vErrors} === null ? ${r} : ${n.default.vErrors}.concat(${r})`).assign(n.default.errors,(0,t._)`${n.default.vErrors}.length`),(0,i.extendErrors)(e)},()=>e.error())}function l({schemaEnv:e},t){if(t.async&&!e.$async)throw Error(`async keyword in sync schema`)}function u(e,n,r){if(r===void 0)throw Error(`keyword "${n}" failed to compile`);return e.scopeValue(`keyword`,typeof r==`function`?{ref:r}:{ref:r,code:(0,t.stringify)(r)})}function d(e,t,n=!1){return!t.length||t.some(t=>t===`array`?Array.isArray(e):t===`object`?e&&typeof e==`object`&&!Array.isArray(e):typeof e==t||n&&e===void 0)}e.validSchemaType=d;function f({schema:e,opts:t,self:n,errSchemaPath:r},i,a){if(Array.isArray(i.keyword)?!i.keyword.includes(a):i.keyword!==a)throw Error(`ajv implementation error`);let o=i.dependencies;if(o?.some(t=>!Object.prototype.hasOwnProperty.call(e,t)))throw Error(`parent schema must have dependencies of ${a}: ${o.join(`,`)}`);if(i.validateSchema&&!i.validateSchema(e[a])){let e=`keyword "${a}" value is invalid at path "${r}": `+n.errorsText(i.validateSchema.errors);if(t.validateSchema===`log`)n.logger.error(e);else throw Error(e)}}e.validateKeywordUsage=f})),gA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.extendSubschemaMode=e.extendSubschemaData=e.getSubschema=void 0;var t=aA(),n=oA();function r(e,{keyword:r,schemaProp:i,schema:a,schemaPath:o,errSchemaPath:s,topSchemaRef:c}){if(r!==void 0&&a!==void 0)throw Error(`both "keyword" and "schema" passed, only one allowed`);if(r!==void 0){let a=e.schema[r];return i===void 0?{schema:a,schemaPath:(0,t._)`${e.schemaPath}${(0,t.getProperty)(r)}`,errSchemaPath:`${e.errSchemaPath}/${r}`}:{schema:a[i],schemaPath:(0,t._)`${e.schemaPath}${(0,t.getProperty)(r)}${(0,t.getProperty)(i)}`,errSchemaPath:`${e.errSchemaPath}/${r}/${(0,n.escapeFragment)(i)}`}}if(a!==void 0){if(o===void 0||s===void 0||c===void 0)throw Error(`"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"`);return{schema:a,schemaPath:o,topSchemaRef:c,errSchemaPath:s}}throw Error(`either "keyword" or "schema" must be passed`)}e.getSubschema=r;function i(e,r,{dataProp:i,dataPropType:a,data:o,dataTypes:s,propertyName:c}){if(o!==void 0&&i!==void 0)throw Error(`both "data" and "dataProp" passed, only one allowed`);let{gen:l}=r;if(i!==void 0){let{errorPath:o,dataPathArr:s,opts:c}=r;u(l.let(`data`,(0,t._)`${r.data}${(0,t.getProperty)(i)}`,!0)),e.errorPath=(0,t.str)`${o}${(0,n.getErrorPath)(i,a,c.jsPropertySyntax)}`,e.parentDataProperty=(0,t._)`${i}`,e.dataPathArr=[...s,e.parentDataProperty]}o!==void 0&&(u(o instanceof t.Name?o:l.let(`data`,o,!0)),c!==void 0&&(e.propertyName=c)),s&&(e.dataTypes=s);function u(t){e.data=t,e.dataLevel=r.dataLevel+1,e.dataTypes=[],r.definedProperties=new Set,e.parentData=r.data,e.dataNames=[...r.dataNames,t]}}e.extendSubschemaData=i;function a(e,{jtdDiscriminator:t,jtdMetadata:n,compositeRule:r,createErrors:i,allErrors:a}){r!==void 0&&(e.compositeRule=r),i!==void 0&&(e.createErrors=i),a!==void 0&&(e.allErrors=a),e.jtdDiscriminator=t,e.jtdMetadata=n}e.extendSubschemaMode=a})),_A=E(((e,t)=>{t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}})),vA=E(((e,t)=>{var n=t.exports=function(e,t,n){typeof t==`function`&&(n=t,t={}),n=t.cb||n;var i=typeof n==`function`?n:n.pre||function(){},a=n.post||function(){};r(t,i,a,e,``,e)};n.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0},n.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},n.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},n.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 r(e,t,a,o,s,c,l,u,d,f){if(o&&typeof o==`object`&&!Array.isArray(o)){for(var p in t(o,s,c,l,u,d,f),o){var m=o[p];if(Array.isArray(m)){if(p in n.arrayKeywords)for(var h=0;h<m.length;h++)r(e,t,a,m[h],s+`/`+p+`/`+h,c,s,p,o,h)}else if(p in n.propsKeywords){if(m&&typeof m==`object`)for(var g in m)r(e,t,a,m[g],s+`/`+p+`/`+i(g),c,s,p,o,g)}else(p in n.keywords||e.allKeys&&!(p in n.skipKeywords))&&r(e,t,a,m,s+`/`+p,c,s,p,o)}a(o,s,c,l,u,d,f)}}function i(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}})),yA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getSchemaRefs=e.resolveUrl=e.normalizeId=e._getFullPath=e.getFullPath=e.inlineRef=void 0;var t=oA(),n=_A(),r=vA(),i=new Set([`type`,`format`,`pattern`,`maxLength`,`minLength`,`maxProperties`,`minProperties`,`maxItems`,`minItems`,`maximum`,`minimum`,`uniqueItems`,`multipleOf`,`required`,`enum`,`const`]);function a(e,t=!0){return typeof e==`boolean`?!0:t===!0?!s(e):t?c(e)<=t:!1}e.inlineRef=a;var o=new Set([`$ref`,`$recursiveRef`,`$recursiveAnchor`,`$dynamicRef`,`$dynamicAnchor`]);function s(e){for(let t in e){if(o.has(t))return!0;let n=e[t];if(Array.isArray(n)&&n.some(s)||typeof n==`object`&&s(n))return!0}return!1}function c(e){let n=0;for(let r in e)if(r===`$ref`||(n++,!i.has(r)&&(typeof e[r]==`object`&&(0,t.eachItem)(e[r],e=>n+=c(e)),n===1/0)))return 1/0;return n}function l(e,t=``,n){return n!==!1&&(t=f(t)),u(e,e.parse(t))}e.getFullPath=l;function u(e,t){return e.serialize(t).split(`#`)[0]+`#`}e._getFullPath=u;var d=/#\/?$/;function f(e){return e?e.replace(d,``):``}e.normalizeId=f;function p(e,t,n){return n=f(n),e.resolve(t,n)}e.resolveUrl=p;var m=/^[a-z_][-a-z0-9._]*$/i;function h(e,t){if(typeof e==`boolean`)return{};let{schemaId:i,uriResolver:a}=this.opts,o=f(e[i]||t),s={"":o},c=l(a,o,!1),u={},d=new Set;return r(e,{allKeys:!0},(e,t,n,r)=>{if(r===void 0)return;let a=c+t,o=s[r];typeof e[i]==`string`&&(o=l.call(this,e[i])),g.call(this,e.$anchor),g.call(this,e.$dynamicAnchor),s[t]=o;function l(t){let n=this.opts.uriResolver.resolve;if(t=f(o?n(o,t):t),d.has(t))throw h(t);d.add(t);let r=this.refs[t];return typeof r==`string`&&(r=this.refs[r]),typeof r==`object`?p(e,r.schema,t):t!==f(a)&&(t[0]===`#`?(p(e,u[t],t),u[t]=e):this.refs[t]=a),t}function g(e){if(typeof e==`string`){if(!m.test(e))throw Error(`invalid anchor "${e}"`);l.call(this,`#${e}`)}}}),u;function p(e,t,r){if(t!==void 0&&!n(e,t))throw h(r)}function h(e){return Error(`reference "${e}" resolves to more than one schema`)}}e.getSchemaRefs=h})),bA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getData=e.KeywordCxt=e.validateFunctionCode=void 0;var t=lA(),n=fA(),r=dA(),i=fA(),a=pA(),o=hA(),s=gA(),c=aA(),l=sA(),u=yA(),d=oA(),f=cA();function p(e){if(ee(e)&&(te(e),x(e))){_(e);return}m(e,()=>(0,t.topBoolOrEmptySchema)(e))}e.validateFunctionCode=p;function m({gen:e,validateName:t,schema:n,schemaEnv:r,opts:i},a){i.code.es5?e.func(t,(0,c._)`${l.default.data}, ${l.default.valCxt}`,r.$async,()=>{e.code((0,c._)`"use strict"; ${y(n,i)}`),g(e,i),e.code(a)}):e.func(t,(0,c._)`${l.default.data}, ${h(i)}`,r.$async,()=>e.code(y(n,i)).code(a))}function h(e){return(0,c._)`{${l.default.instancePath}="", ${l.default.parentData}, ${l.default.parentDataProperty}, ${l.default.rootData}=${l.default.data}${e.dynamicRef?(0,c._)`, ${l.default.dynamicAnchors}={}`:c.nil}}={}`}function g(e,t){e.if(l.default.valCxt,()=>{e.var(l.default.instancePath,(0,c._)`${l.default.valCxt}.${l.default.instancePath}`),e.var(l.default.parentData,(0,c._)`${l.default.valCxt}.${l.default.parentData}`),e.var(l.default.parentDataProperty,(0,c._)`${l.default.valCxt}.${l.default.parentDataProperty}`),e.var(l.default.rootData,(0,c._)`${l.default.valCxt}.${l.default.rootData}`),t.dynamicRef&&e.var(l.default.dynamicAnchors,(0,c._)`${l.default.valCxt}.${l.default.dynamicAnchors}`)},()=>{e.var(l.default.instancePath,(0,c._)`""`),e.var(l.default.parentData,(0,c._)`undefined`),e.var(l.default.parentDataProperty,(0,c._)`undefined`),e.var(l.default.rootData,l.default.data),t.dynamicRef&&e.var(l.default.dynamicAnchors,(0,c._)`{}`)})}function _(e){let{schema:t,opts:n,gen:r}=e;m(e,()=>{n.$comment&&t.$comment&&T(e),w(e),r.let(l.default.vErrors,null),r.let(l.default.errors,0),n.unevaluated&&v(e),C(e),ae(e)})}function v(e){let{gen:t,validateName:n}=e;e.evaluated=t.const(`evaluated`,(0,c._)`${n}.evaluated`),t.if((0,c._)`${e.evaluated}.dynamicProps`,()=>t.assign((0,c._)`${e.evaluated}.props`,(0,c._)`undefined`)),t.if((0,c._)`${e.evaluated}.dynamicItems`,()=>t.assign((0,c._)`${e.evaluated}.items`,(0,c._)`undefined`))}function y(e,t){let n=typeof e==`object`&&e[t.schemaId];return n&&(t.code.source||t.code.process)?(0,c._)`/*# sourceURL=${n} */`:c.nil}function b(e,n){if(ee(e)&&(te(e),x(e))){S(e,n);return}(0,t.boolOrEmptySchema)(e,n)}function x({schema:e,self:t}){if(typeof e==`boolean`)return!e;for(let n in e)if(t.RULES.all[n])return!0;return!1}function ee(e){return typeof e.schema!=`boolean`}function S(e,t){let{schema:n,gen:r,opts:i}=e;i.$comment&&n.$comment&&T(e),re(e),ie(e);let a=r.const(`_errs`,l.default.errors);C(e,a),r.var(t,(0,c._)`${a} === ${l.default.errors}`)}function te(e){(0,d.checkUnknownRules)(e),ne(e)}function C(e,t){if(e.opts.jtd)return se(e,[],!1,t);let r=(0,n.getSchemaTypes)(e.schema);se(e,r,!(0,n.coerceAndCheckDataType)(e,r),t)}function ne(e){let{schema:t,errSchemaPath:n,opts:r,self:i}=e;t.$ref&&r.ignoreKeywordsWithRef&&(0,d.schemaHasRulesButRef)(t,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${n}"`)}function w(e){let{schema:t,opts:n}=e;t.default!==void 0&&n.useDefaults&&n.strictSchema&&(0,d.checkStrictMode)(e,`default is ignored in the schema root`)}function re(e){let t=e.schema[e.opts.schemaId];t&&(e.baseId=(0,u.resolveUrl)(e.opts.uriResolver,e.baseId,t))}function ie(e){if(e.schema.$async&&!e.schemaEnv.$async)throw Error(`async schema in sync schema`)}function T({gen:e,schemaEnv:t,schema:n,errSchemaPath:r,opts:i}){let a=n.$comment;if(i.$comment===!0)e.code((0,c._)`${l.default.self}.logger.log(${a})`);else if(typeof i.$comment==`function`){let n=(0,c.str)`${r}/$comment`,i=e.scopeValue(`root`,{ref:t.root});e.code((0,c._)`${l.default.self}.opts.$comment(${a}, ${n}, ${i}.schema)`)}}function ae(e){let{gen:t,schemaEnv:n,validateName:r,ValidationError:i,opts:a}=e;n.$async?t.if((0,c._)`${l.default.errors} === 0`,()=>t.return(l.default.data),()=>t.throw((0,c._)`new ${i}(${l.default.vErrors})`)):(t.assign((0,c._)`${r}.errors`,l.default.vErrors),a.unevaluated&&oe(e),t.return((0,c._)`${l.default.errors} === 0`))}function oe({gen:e,evaluated:t,props:n,items:r}){n instanceof c.Name&&e.assign((0,c._)`${t}.props`,n),r instanceof c.Name&&e.assign((0,c._)`${t}.items`,r)}function se(e,t,n,a){let{gen:o,schema:s,data:u,allErrors:f,opts:p,self:m}=e,{RULES:h}=m;if(s.$ref&&(p.ignoreKeywordsWithRef||!(0,d.schemaHasRulesButRef)(s,h))){o.block(()=>ve(e,`$ref`,h.all.$ref.definition));return}p.jtd||le(e,t),o.block(()=>{for(let e of h.rules)g(e);g(h.post)});function g(d){(0,r.shouldUseGroup)(s,d)&&(d.type?(o.if((0,i.checkDataType)(d.type,u,p.strictNumbers)),ce(e,d),t.length===1&&t[0]===d.type&&n&&(o.else(),(0,i.reportTypeError)(e)),o.endIf()):ce(e,d),f||o.if((0,c._)`${l.default.errors} === ${a||0}`))}}function ce(e,t){let{gen:n,schema:i,opts:{useDefaults:o}}=e;o&&(0,a.assignDefaults)(e,t.type),n.block(()=>{for(let n of t.rules)(0,r.shouldUseRule)(i,n)&&ve(e,n.keyword,n.definition,t.type)})}function le(e,t){!e.schemaEnv.meta&&e.opts.strictTypes&&(ue(e,t),e.opts.allowUnionTypes||de(e,t),fe(e,e.dataTypes))}function ue(e,t){if(t.length){if(!e.dataTypes.length){e.dataTypes=t;return}t.forEach(t=>{me(e.dataTypes,t)||ge(e,`type "${t}" not allowed by context "${e.dataTypes.join(`,`)}"`)}),he(e,t)}}function de(e,t){t.length>1&&!(t.length===2&&t.includes(`null`))&&ge(e,`use allowUnionTypes to allow union type keyword`)}function fe(e,t){let n=e.self.RULES.all;for(let i in n){let a=n[i];if(typeof a==`object`&&(0,r.shouldUseRule)(e.schema,a)){let{type:n}=a.definition;n.length&&!n.some(e=>pe(t,e))&&ge(e,`missing type "${n.join(`,`)}" for keyword "${i}"`)}}}function pe(e,t){return e.includes(t)||t===`number`&&e.includes(`integer`)}function me(e,t){return e.includes(t)||t===`integer`&&e.includes(`number`)}function he(e,t){let n=[];for(let r of e.dataTypes)me(t,r)?n.push(r):t.includes(`integer`)&&r===`number`&&n.push(`integer`);e.dataTypes=n}function ge(e,t){let n=e.schemaEnv.baseId+e.errSchemaPath;t+=` at "${n}" (strictTypes)`,(0,d.checkStrictMode)(e,t,e.opts.strictTypes)}var _e=class{constructor(e,t,n){if((0,o.validateKeywordUsage)(e,t,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,d.schemaRefOrVal)(e,this.schema,n,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`,xe(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,o.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw Error(`${n} value must be ${JSON.stringify(t.schemaType)}`);(`code`in t?t.trackErrors:t.errors!==!1)&&(this.errsCount=e.gen.const(`_errs`,l.default.errors))}result(e,t,n){this.failResult((0,c.not)(e),t,n)}failResult(e,t,n){this.gen.if(e),n?n():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,c.not)(e),void 0,t)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:t}=this;this.fail((0,c._)`${t} !== undefined && (${(0,c.or)(this.invalid$data(),e)})`)}error(e,t,n){if(t){this.setParams(t),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,t){(e?f.reportExtraError:f.reportError)(this,this.def.error,t)}$dataError(){(0,f.reportError)(this,this.def.$dataError||f.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error(`add "trackErrors" to keyword definition`);(0,f.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,n=c.nil){this.gen.block(()=>{this.check$data(e,n),t()})}check$data(e=c.nil,t=c.nil){if(!this.$data)return;let{gen:n,schemaCode:r,schemaType:i,def:a}=this;n.if((0,c.or)((0,c._)`${r} === undefined`,t)),e!==c.nil&&n.assign(e,!0),(i.length||a.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==c.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:t,schemaType:n,def:r,it:a}=this;return(0,c.or)(o(),s());function o(){if(n.length){if(!(t instanceof c.Name))throw Error(`ajv implementation error`);let e=Array.isArray(n)?n:[n];return(0,c._)`${(0,i.checkDataTypes)(e,t,a.opts.strictNumbers,i.DataType.Wrong)}`}return c.nil}function s(){if(r.validateSchema){let n=e.scopeValue(`validate$data`,{ref:r.validateSchema});return(0,c._)`!${n}(${t})`}return c.nil}}subschema(e,t){let n=(0,s.getSubschema)(this.it,e);(0,s.extendSubschemaData)(n,this.it,e),(0,s.extendSubschemaMode)(n,e);let r={...this.it,...n,items:void 0,props:void 0};return b(r,t),r}mergeEvaluated(e,t){let{it:n,gen:r}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=d.mergeEvaluated.props(r,e.props,n.props,t)),n.items!==!0&&e.items!==void 0&&(n.items=d.mergeEvaluated.items(r,e.items,n.items,t)))}mergeValidEvaluated(e,t){let{it:n,gen:r}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return r.if(t,()=>this.mergeEvaluated(e,c.Name)),!0}};e.KeywordCxt=_e;function ve(e,t,n,r){let i=new _e(e,n,t);`code`in n?n.code(i,r):i.$data&&n.validate?(0,o.funcKeywordCode)(i,n):`macro`in n?(0,o.macroKeywordCode)(i,n):(n.compile||n.validate)&&(0,o.funcKeywordCode)(i,n)}var ye=/^\/(?:[^~]|~0|~1)*$/,be=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function xe(e,{dataLevel:t,dataNames:n,dataPathArr:r}){let i,a;if(e===``)return l.default.rootData;if(e[0]===`/`){if(!ye.test(e))throw Error(`Invalid JSON-pointer: ${e}`);i=e,a=l.default.rootData}else{let o=be.exec(e);if(!o)throw Error(`Invalid JSON-pointer: ${e}`);let s=+o[1];if(i=o[2],i===`#`){if(s>=t)throw Error(u(`property/index`,s));return r[t-s]}if(s>t)throw Error(u(`data`,s));if(a=n[t-s],!i)return a}let o=a,s=i.split(`/`);for(let e of s)e&&(a=(0,c._)`${a}${(0,c.getProperty)((0,d.unescapeJsonPointer)(e))}`,o=(0,c._)`${o} && ${a}`);return o;function u(e,n){return`Cannot access ${e} ${n} levels up, current level is ${t}`}}e.getData=xe})),xA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=class extends Error{constructor(e){super(`validation failed`),this.errors=e,this.ajv=this.validation=!0}}})),SA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=yA();e.default=class extends Error{constructor(e,n,r,i){super(i||`can't resolve reference ${r} from id ${n}`),this.missingRef=(0,t.resolveUrl)(e,n,r),this.missingSchema=(0,t.normalizeId)((0,t.getFullPath)(e,this.missingRef))}}})),CA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.resolveSchema=e.getCompilingSchema=e.resolveRef=e.compileSchema=e.SchemaEnv=void 0;var t=aA(),n=xA(),r=sA(),i=yA(),a=oA(),o=bA(),s=class{constructor(e){this.refs={},this.dynamicAnchors={};let t;typeof e.schema==`object`&&(t=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=e.baseId??(0,i.normalizeId)(t?.[e.schemaId||`$id`]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=t?.$async,this.refs={}}};e.SchemaEnv=s;function c(e){let a=d.call(this,e);if(a)return a;let s=(0,i.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:c,lines:l}=this.opts.code,{ownProperties:u}=this.opts,f=new t.CodeGen(this.scope,{es5:c,lines:l,ownProperties:u}),p;e.$async&&(p=f.scopeValue(`Error`,{ref:n.default,code:(0,t._)`require("ajv/dist/runtime/validation_error").default`}));let m=f.scopeName(`validate`);e.validateName=m;let h={gen:f,allErrors:this.opts.allErrors,data:r.default.data,parentData:r.default.parentData,parentDataProperty:r.default.parentDataProperty,dataNames:[r.default.data],dataPathArr:[t.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:f.scopeValue(`schema`,this.opts.code.source===!0?{ref:e.schema,code:(0,t.stringify)(e.schema)}:{ref:e.schema}),validateName:m,ValidationError:p,schema:e.schema,schemaEnv:e,rootId:s,baseId:e.baseId||s,schemaPath:t.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?``:`#`),errorPath:(0,t._)`""`,opts:this.opts,self:this},g;try{this._compilations.add(e),(0,o.validateFunctionCode)(h),f.optimize(this.opts.code.optimize);let n=f.toString();g=`${f.scopeRefs(r.default.scope)}return ${n}`,this.opts.code.process&&(g=this.opts.code.process(g,e));let i=Function(`${r.default.self}`,`${r.default.scope}`,g)(this,this.scope.get());if(this.scope.value(m,{ref:i}),i.errors=null,i.schema=e.schema,i.schemaEnv=e,e.$async&&(i.$async=!0),this.opts.code.source===!0&&(i.source={validateName:m,validateCode:n,scopeValues:f._values}),this.opts.unevaluated){let{props:e,items:n}=h;i.evaluated={props:e instanceof t.Name?void 0:e,items:n instanceof t.Name?void 0:n,dynamicProps:e instanceof t.Name,dynamicItems:n instanceof t.Name},i.source&&(i.source.evaluated=(0,t.stringify)(i.evaluated))}return e.validate=i,e}catch(t){throw delete e.validate,delete e.validateName,g&&this.logger.error(`Error compiling schema, function code:`,g),t}finally{this._compilations.delete(e)}}e.compileSchema=c;function l(e,t,n){n=(0,i.resolveUrl)(this.opts.uriResolver,t,n);let r=e.refs[n];if(r)return r;let a=p.call(this,e,n);if(a===void 0){let r=e.localRefs?.[n],{schemaId:i}=this.opts;r&&(a=new s({schema:r,schemaId:i,root:e,baseId:t}))}if(a!==void 0)return e.refs[n]=u.call(this,a)}e.resolveRef=l;function u(e){return(0,i.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:c.call(this,e)}function d(e){for(let t of this._compilations)if(f(t,e))return t}e.getCompilingSchema=d;function f(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function p(e,t){let n;for(;typeof(n=this.refs[t])==`string`;)t=n;return n||this.schemas[t]||m.call(this,e,t)}function m(e,t){let n=this.opts.uriResolver.parse(t),r=(0,i._getFullPath)(this.opts.uriResolver,n),a=(0,i.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&r===a)return g.call(this,n,e);let o=(0,i.normalizeId)(r),l=this.refs[o]||this.schemas[o];if(typeof l==`string`){let t=m.call(this,e,l);return typeof t?.schema==`object`?g.call(this,n,t):void 0}if(typeof l?.schema==`object`){if(l.validate||c.call(this,l),o===(0,i.normalizeId)(t)){let{schema:t}=l,{schemaId:n}=this.opts,r=t[n];return r&&(a=(0,i.resolveUrl)(this.opts.uriResolver,a,r)),new s({schema:t,schemaId:n,root:e,baseId:a})}return g.call(this,n,l)}}e.resolveSchema=m;var h=new Set([`properties`,`patternProperties`,`enum`,`dependencies`,`definitions`]);function g(e,{baseId:t,schema:n,root:r}){if(e.fragment?.[0]!==`/`)return;for(let r of e.fragment.slice(1).split(`/`)){if(typeof n==`boolean`)return;let e=n[(0,a.unescapeFragment)(r)];if(e===void 0)return;n=e;let o=typeof n==`object`&&n[this.opts.schemaId];!h.has(r)&&o&&(t=(0,i.resolveUrl)(this.opts.uriResolver,t,o))}let o;if(typeof n!=`boolean`&&n.$ref&&!(0,a.schemaHasRulesButRef)(n,this.RULES)){let e=(0,i.resolveUrl)(this.opts.uriResolver,t,n.$ref);o=m.call(this,r,e)}let{schemaId:c}=this.opts;if(o||=new s({schema:n,schemaId:c,root:r,baseId:t}),o.schema!==o.root.schema)return o}})),wA=De({$id:()=>TA,additionalProperties:()=>!1,default:()=>AA,description:()=>EA,properties:()=>kA,required:()=>OA,type:()=>DA}),TA,EA,DA,OA,kA,AA,jA=Ee((()=>{TA=`https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#`,EA=`Meta-schema for $data reference (JSON AnySchema extension proposal)`,DA=`object`,OA=[`$data`],kA={$data:{type:`string`,anyOf:[{format:`relative-json-pointer`},{format:`json-pointer`}]}},AA={$id:TA,description:EA,type:DA,required:OA,properties:kA,additionalProperties:!1}})),MA=E(((e,t)=>{var n=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),r=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),i=RegExp.prototype.test.bind(/^\d*$/u),a=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),o=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),s=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/]$/u),c=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/?]$/u),l=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:]$/u),u=Array(256);{let e=`0123456789ABCDEF`;for(let t=0;t<256;t++)u[t]=`%`+e[t>>4]+e[t&15]}function d(e){return e<2048?u[192|e>>6]+u[128|e&63]:e<65536?u[224|e>>12]+u[128|e>>6&63]+u[128|e&63]:u[240|e>>18]+u[128|e>>12&63]+u[128|e>>6&63]+u[128|e&63]}function f(e){let t=``,n=0,r=0;for(r=0;r<e.length;r++)if(n=e[r].charCodeAt(0),n!==48){if(!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return``;t+=e[r];break}for(r+=1;r<e.length;r++){if(n=e[r].charCodeAt(0),!(n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102))return``;t+=e[r]}return t}var p=RegExp.prototype.test.bind(/^[\dA-Fa-f]{1,4}$/),m=RegExp.prototype.test.bind(/^[vV][\dA-Fa-f]+\.[A-Za-z\d\-._~!$&'()*+,;=:]+$/),h=RegExp.prototype.test.bind(/^[A-Za-z\d\-._~]$/),g=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function _(e){if(e.length===0)return!1;for(let t=0;t<e.length;t++)if(!h(e[t])){if(e[t]===`%`&&t+2<e.length&&a(e.slice(t+1,t+3))){t+=2;continue}return!1}return!0}function v(e){let t=-1,n=0,r=-1,i=0;for(let a=0;a<e.length;a++)e[a]===`0`?(r===-1&&(r=a),i++,i>n&&(n=i,t=r)):(r=-1,i=0);if(n<2)return e.join(`:`);let a=e.slice(0,t).join(`:`),o=e.slice(t+n).join(`:`);return a+`::`+o}function y(e){let t=e.indexOf(`::`);if(t!==-1&&e.indexOf(`::`,t+1)!==-1)return;let n=t===-1?e.split(`:`):e.slice(0,t).split(`:`),i=t===-1?[]:e.slice(t+2).split(`:`);t!==-1&&(n.length===1&&n[0]===``&&(n.length=0),i.length===1&&i[0]===``&&(i.length=0));let a=n.concat(i),o=0;for(let e=0;e<a.length;e++){let n=a[e];if(n===``)return;if(n.indexOf(`.`)!==-1){if(e!==a.length-1||t!==-1&&i.length===0||!r(n))return;o+=2;continue}if(!p(n))return;a[e]=parseInt(n,16).toString(16),o++}if(t===-1)return o===8?v(a):void 0;if(o>=8)return;let s=a.slice(0,n.length);for(let e=o;e<8;e++)s.push(`0`);for(let e=n.length;e<a.length;e++)s.push(a[e]);return v(s)}function b(e){let t=e[0]===`[`&&e[e.length-1]===`]`;if((e[0]===`[`||e[e.length-1]===`]`)&&!t)return{host:e,isIPV6:!1,error:!0};let n=t?e.slice(1,-1):e;if(t&&m(n))return n=n.toLowerCase(),{host:`[${n}]`,escapedHost:n,isIPV6:!1,isIPVFuture:!0};if(x(n,`:`)<2)return{host:e,isIPV6:!1,error:t};let r=``,i=n.indexOf(`%`);if(i!==-1){let t=n.slice(i,i+3).toLowerCase()===`%25`?3:1;if(r=n.slice(i+t),!_(r))return{host:e,isIPV6:!1,error:!0};n=n.slice(0,i)}let a=y(n);return a===void 0?{host:e,isIPV6:!1,error:!0}:{host:a+(r?`%`+r:``),escapedHost:a+(r?`%25`+r:``),isIPV6:!0}}function x(e,t){let n=0;for(let r=0;r<e.length;r++)e[r]===t&&n++;return n}function ee(e){let t=e,n=[],r=-1,i=0;for(;i=t.length;){if(i===1){if(t===`.`)break;if(t===`/`){n.push(`/`);break}n.push(t);break}if(i===2){if(t[0]===`.`){if(t[1]===`.`)break;if(t[1]===`/`){t=t.slice(2);continue}}else if(t[0]===`/`&&(t[1]===`.`||t[1]===`/`)){n.push(`/`);break}}else if(i===3&&t===`/..`){n.length!==0&&n.pop(),n.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]===`/`&&t[1]===`.`){if(t[2]===`/`){t=t.slice(2);continue}if(t[2]===`.`&&t[3]===`/`){t=t.slice(3),n.length!==0&&n.pop();continue}}if((r=t.indexOf(`/`,1))===-1){n.push(t);break}n.push(t.slice(0,r)),t=t.slice(r)}return n.join(``)}var S={"@":`%40`,"/":`%2F`,"?":`%3F`,"#":`%23`,":":`%3A`},te=/[@/?#:]/g,C=/[@/?#]/g;function ne(e,t){let n=t?C:te;return n.lastIndex=0,e.replace(n,e=>S[e])}function w(e,t=!1){if(e.indexOf(`%`)===-1)return e;let n=``;for(let r=0;r<e.length;r++){if(e[r]===`%`&&r+2<e.length){let i=e.slice(r+1,r+3);if(a(i)){let e=i.toUpperCase(),a=String.fromCharCode(parseInt(e,16));t&&o(a)?n+=a:n+=`%`+e,r+=2;continue}}n+=e[r]}return n}function re(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(r===`%`&&n+2<e.length){let r=e.slice(n+1,n+3);if(a(r)){let e=r.toUpperCase(),i=String.fromCharCode(parseInt(e,16));i!==`.`&&o(i)?t+=i:t+=`%`+e,n+=2;continue}}if(s(r))t+=r;else{let i=e.charCodeAt(n);if(i<128)t+=ce(i)?r:u[i];else if(i<55296||i>57343)t+=d(i);else if(i<=56319&&n+1<e.length){let r=e.charCodeAt(n+1);r>=56320&&r<=57343?(t+=d(65536+(i-55296<<10)+(r-56320)),n++):t+=d(65533)}else t+=d(65533)}}return t}function ie(e,t=!1){let n=``,r=t&&e[0]!==`/`;for(let t=0;t<e.length;t++){let i=e[t];if(i===`%`&&t+2<e.length){let r=e.slice(t+1,t+3);if(a(r)){n+=`%`+r.toUpperCase(),t+=2;continue}}if(i===`/`&&(r=!1),s(i)&&(i!==`:`||!r))n+=i;else{let r=e.charCodeAt(t);if(r<128)n+=u[r];else if(r<55296||r>57343)n+=d(r);else if(r<=56319&&t+1<e.length){let i=e.charCodeAt(t+1);i>=56320&&i<=57343?(n+=d(65536+(r-55296<<10)+(i-56320)),t++):n+=d(65533)}else n+=d(65533)}}return n}function T(e,t){let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(i===`%`&&r+2<e.length){let t=e.slice(r+1,r+3);if(a(t)){n+=`%`+t.toUpperCase(),r+=2;continue}}if(t(i))n+=i;else{let t=e.charCodeAt(r);if(t<128)n+=u[t];else if(t<55296||t>57343)n+=d(t);else if(t<=56319&&r+1<e.length){let i=e.charCodeAt(r+1);i>=56320&&i<=57343?(n+=d(65536+(t-55296<<10)+(i-56320)),r++):n+=d(65533)}else n+=d(65533)}}return n}function ae(e){return T(e,l)}function oe(e){return T(e,c)}function se(e){return T(e,c)}function ce(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===42||e===43||e===45||e===46||e===47||e===64||e===95}function le(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(r===`%`&&n+2<e.length){let r=e.slice(n+1,n+3);if(a(r)){let e=r.toUpperCase(),i=String.fromCharCode(parseInt(e,16));o(i)?t+=i:t+=`%`+e,n+=2;continue}}if(c(r))t+=r;else{let i=e.charCodeAt(n);if(i<128)t+=ce(i)?r:u[i];else if(i<55296||i>57343)t+=d(i);else if(i<=56319&&n+1<e.length){let r=e.charCodeAt(n+1);r>=56320&&r<=57343?(t+=d(65536+(i-55296<<10)+(r-56320)),n++):t+=d(65533)}else t+=d(65533)}}return t}function ue(e){let t=``;for(let n=0;n<e.length;n++){if(e[n]===`%`&&n+2<e.length){let r=e.slice(n+1,n+3);if(a(r)){t+=`%`+r.toUpperCase(),n+=2;continue}}t+=escape(e[n])}return t}function de(e){let t=[];if(e.userinfo!==void 0&&(t.push(ae(e.userinfo)),t.push(`@`)),e.host!==void 0){let n=e.host;if(!r(n)){let e=b(n);e.isIPV6!==!0&&e.isIPVFuture!==!0&&(n=w(n,!0),e=b(n)),n=e.isIPV6===!0||e.isIPVFuture===!0?`[${e.escapedHost}]`:ne(n,!1)}t.push(n)}if(typeof e.port==`number`||typeof e.port==`string`){let n=String(e.port);if(!i(n))throw TypeError(`URI port is malformed.`);t.push(`:`),t.push(n)}return t.length?t.join(``):void 0}t.exports={nonSimpleDomain:g,recomposeAuthority:de,reescapeHostDelimiters:ne,normalizePercentEncoding:w,normalizePathEncoding:re,serializePathEncoding:ie,normalizeQueryFragmentEncoding:le,encodeUserinfo:ae,encodeQuery:oe,encodeFragment:se,escapePreservingEscapes:ue,removeDotSegments:ee,isIPv4:r,isUUID:n,normalizeIPv6:b,stringArrayToHexStripped:f}})),NA=E(((e,t)=>{var{isUUID:n}=MA(),r=/^([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-./:;=@]|%[\da-f]{2})+)$/iu,i=[`http`,`https`,`ws`,`wss`,`urn`,`urn:uuid`];function a(e){return i.indexOf(e)!==-1}function o(e){return e.secure===!0?!0:e.secure===!1?!1:e.scheme?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`):!1}function s(e){return e.host||(e.error=e.error||`HTTP URIs must have a host.`),e}function c(e){let t=String(e.scheme).toLowerCase()===`https`;return(e.port===(t?443:80)||e.port===``)&&(e.port=void 0),e.path||=`/`,e}function l(e){return e.secure=o(e),e.resourceName=(e.path||`/`)+(e.query?`?`+e.query:``),e.path=void 0,e.query=void 0,e}function u(e){if((e.port===(o(e)?443:80)||e.port===``)&&(e.port=void 0),typeof e.secure==`boolean`&&(e.scheme=e.secure?`wss`:`ws`,e.secure=void 0),e.resourceName){let t=e.resourceName.indexOf(`?`),n=t===-1?e.resourceName:e.resourceName.slice(0,t);e.path=n&&n!==`/`?n:void 0,e.query=t===-1?void 0:e.resourceName.slice(t+1),e.resourceName=void 0}return e.fragment=void 0,e}function d(e,t){if(!e.path)return e.error=`URN can not be parsed`,e;let n=e.path.match(r);if(n&&n[0]===e.path){let r=t.scheme||e.scheme||`urn`;e.nid=n[1].toLowerCase(),e.nss=n[2];let i=y(`${r}:${t.nid||e.nid}`);e.path=void 0,i&&(e=i.parse(e,t))}else e.error=e.error||`URN can not be parsed.`;return e}function f(e,t){if(e.nid===void 0)throw Error(`URN without nid cannot be serialized`);let n=t.scheme||e.scheme||`urn`,r=e.nid.toLowerCase(),i=y(`${n}:${t.nid||r}`);i&&(e=i.serialize(e,t));let a=e,o=e.nss;return a.path=`${r||t.nid}:${o}`,t.skipEscape=!0,a}function p(e,t){let r=e;return r.uuid=r.nss,r.nss=void 0,!t.tolerant&&(!r.uuid||!n(r.uuid))&&(r.error=r.error||`UUID is not valid.`),r}function m(e){let t=e;return t.nss=(e.uuid||``).toLowerCase(),t}var h={scheme:`http`,domainHost:!0,parse:s,serialize:c},g={scheme:`https`,domainHost:h.domainHost,parse:s,serialize:c},_={scheme:`ws`,domainHost:!0,parse:l,serialize:u},v={http:h,https:g,ws:_,wss:{scheme:`wss`,domainHost:_.domainHost,parse:_.parse,serialize:_.serialize},urn:{scheme:`urn`,parse:d,serialize:f,skipNormalize:!0},"urn:uuid":{scheme:`urn:uuid`,parse:p,serialize:m,skipNormalize:!0}};Object.setPrototypeOf(v,null);function y(e){return e&&(v[e]||v[e.toLowerCase()])||void 0}t.exports={wsIsSecure:o,SCHEMES:v,isValidSchemeName:a,getSchemeHandler:y}})),PA=E(((e,t)=>{var{normalizeIPv6:n,removeDotSegments:r,recomposeAuthority:i,normalizePercentEncoding:a,normalizePathEncoding:o,serializePathEncoding:s,normalizeQueryFragmentEncoding:c,encodeQuery:l,encodeFragment:u,reescapeHostDelimiters:d,isIPv4:f,nonSimpleDomain:p}=MA(),{SCHEMES:m,getSchemeHandler:h}=NA(),g=/^[A-Za-z][A-Za-z0-9+.-]*$/u,_=`URI scheme is malformed.`;function v(e){let t=unescape(String(e));if(!g.test(t))throw TypeError(_);return t}function y(e,t){return typeof e==`string`?e=ce(e,t):typeof e==`object`&&(e=se(S(e,t),t)),e}function b(e,t,r){let i=r?Object.assign({scheme:`null`},r):{scheme:`null`},{parsed:a,malformedAuthorityOrPort:o,malformedPercentEncoding:s,malformedSchemeSpecific:c,malformedHost:l,malformedScheme:u}=oe(e,i),{parsed:d,malformedAuthorityOrPort:p,malformedPercentEncoding:m,malformedSchemeSpecific:g,malformedHost:_,malformedScheme:v}=oe(t,i);if(o||p||s||m||c||g||l||_||u||v)throw Error(a.error||d.error||`URI is malformed.`);let y=x(a,d,i,!0),b=h(r&&r.scheme||y.scheme),ee=y.host,te=ee!==void 0&&ee!==``&&(f(ee)||n(ee).isIPV6);ae(y,r||{},b,te);let C=ee&&ee.indexOf(`%`)!==-1&&!/\P{ASCII}/u.test(ee);if(y.error&&!C)throw Error(y.error);return i.skipEscape=!0,S(y,i)}function x(e,t,n,i){let a={};return i||(e=se(S(e,n),n),t=se(S(t,n),n)),n||={},!n.tolerant&&t.scheme?(a.scheme=t.scheme,a.userinfo=t.userinfo,a.host=t.host,a.port=t.port,a.path=r(t.path||``),a.query=t.query):(t.userinfo!==void 0||t.host!==void 0||t.port!==void 0?(a.userinfo=t.userinfo,a.host=t.host,a.port=t.port,a.path=r(t.path||``),a.query=t.query):(t.path?(t.path[0]===`/`?a.path=r(t.path):(a.path=(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0)&&!e.path?`/`+t.path:e.path?e.path.slice(0,e.path.lastIndexOf(`/`)+1)+t.path:t.path,a.path=r(a.path)),a.query=t.query):(a.path=e.path,a.query=t.query===void 0?e.query:t.query),a.userinfo=e.userinfo,a.host=e.host,a.port=e.port),a.scheme=e.scheme),a.fragment=t.fragment,a}function ee(e,t,n){let r=ue(e,n),i=ue(t,n);return r!==void 0&&i!==void 0&&r===i}function S(e,t){let n={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:``},o=Object.assign({},t),c=[];n.scheme&&=v(n.scheme);let d=h(o.scheme||n.scheme);d&&d.serialize&&d.serialize(n,o);let f=n.userinfo!==void 0||n.host!==void 0||n.port!==void 0,p=!o.skipEscape&&n.scheme===void 0&&!f;n.path!==void 0&&(n.path=o.skipEscape?a(n.path):s(n.path,p)),o.reference!==`suffix`&&n.scheme&&(n.scheme=v(n.scheme),c.push(n.scheme,`:`));let m=i(n);if(m!==void 0&&(o.reference!==`suffix`&&c.push(`//`),c.push(m),n.path&&n.path[0]!==`/`&&c.push(`/`)),n.path!==void 0){let e=n.path;!o.absolutePath&&(!d||!d.absolutePath)&&(e=r(e)),p&&(e=s(e,!0)),m===void 0&&e[0]===`/`&&e[1]===`/`&&(e=`/%2F`+e.slice(2)),c.push(e)}return n.query!==void 0&&c.push(`?`,l(n.query)),n.fragment!==void 0&&c.push(`#`,u(n.fragment)),c.join(``)}var te=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,C=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/,ne=/^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;function w(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.`}function re(e){if(e===void 0)return!1;let t=e.indexOf(`%`);for(;t!==-1;){if(t+2>=e.length||!/^[\da-f]{2}$/iu.test(e.slice(t+1,t+3)))return!0;t=e.indexOf(`%`,t+3)}return!1}function ie(e){return e[0]===`[`&&e[e.length-1]===`]`}function T(e){let t=e[4];return re(e[3])||t!==void 0&&!ie(t)&&re(t)||re(e[6])||re(e[7])||re(e[8])}function ae(e,t,n,r){if(!t.unicodeSupport&&(!n||!n.unicodeSupport)&&e.host&&!ie(e.host)&&(t.domainHost||n&&n.domainHost)&&r===!1&&p(e.host))try{e.host=new URL(`http://`+e.host).hostname}catch(t){return e.error=e.error||`Host's domain name can not be converted to ASCII: `+t,!0}return!1}function oe(e,t){let r=Object.assign({},t),i={scheme:void 0,userinfo:void 0,host:``,port:void 0,path:``,query:void 0,fragment:void 0},s=!1,l=!1,u=!1,p=!1,v=!1,y=!1,b=!1;r.reference===`suffix`&&(e=r.scheme?r.scheme+`:`+e:`//`+e);let x=e.match(C);x!==null&&x[1].indexOf(`\\`)!==-1&&(i.error=`URI authority must not contain a literal backslash.`,s=!0);let ee=e.match(ne);if(ee!==null){let e=ee[1],t=e.replace(/[\t\n\r]/g,``);t.length>=2&&(t.slice(0,2)===`//`?e.length!==t.length&&(i.error=i.error||`URI authority introducer must not contain whitespace.`,s=!0):(i.error=i.error||`URI authority must not contain a literal backslash.`,s=!0))}let S=e.match(te);if(S){if(i.scheme=S[1],i.userinfo=S[3],i.host=S[4],i.port=parseInt(S[5],10),i.path=S[6]||``,i.query=S[7],i.fragment=S[8],i.scheme!==void 0){let e=unescape(i.scheme);g.test(e)?i.scheme=e.toLowerCase():(i.error=i.error||_,y=!0)}l=T(S),l&&(i.error=i.error||`URI contains malformed percent-encoding.`),isNaN(i.port)&&(i.port=S[5]);let t=w(i,S);if(t!==void 0&&(i.error=i.error||t,s=!0),i.host){if(f(i.host)===!1){let e=ie(i.host),t=i.host.indexOf(`[`)!==-1||i.host.indexOf(`]`)!==-1,r=n(i.host);b=r.isIPV6||r.isIPVFuture===!0,v=t&&(!e||r.error===!0),i.host=b?r.host:r.host.toLowerCase(),v&&(i.error=i.error||`URI host is malformed.`,s=!0)}else b=!0}i.reference=i.scheme===void 0&&i.userinfo===void 0&&i.host===void 0&&i.port===void 0&&i.query===void 0&&!i.path?`same-document`:i.scheme===void 0?`relative`:i.fragment===void 0?`absolute`:`uri`,r.reference&&r.reference!==`suffix`&&r.reference!==i.reference&&(i.error=i.error||`URI is not a `+r.reference+` reference.`);let x=h(r.scheme||i.scheme);if(v||(p=ae(i,r,x,b)),e.indexOf(`%`)!==-1&&i.host!==void 0&&!v){let e=b?i.host:a(i.host,!0);b||(e=a(e.toLowerCase())),i.host=d(e,b)}(!x||x&&!x.skipNormalize)&&(i.path&&=o(i.path),i.query&&=c(i.query),i.fragment&&=c(i.fragment)),x&&x.parse&&(x.parse(i,r),x===m.urn&&i.nid===void 0&&(u=!0))}else i.error=i.error||`URI can not be parsed.`;return{parsed:i,malformedAuthorityOrPort:s,malformedPercentEncoding:l,malformedSchemeSpecific:u,malformedHost:p,malformedScheme:y}}function se(e,t){return oe(e,t).parsed}function ce(e,t){return le(e,t).normalized}function le(e,t){let{parsed:n,malformedAuthorityOrPort:r,malformedPercentEncoding:i,malformedSchemeSpecific:a,malformedHost:o,malformedScheme:s}=oe(e,t);return{normalized:r||i||a||o||s?e:S(n,t),malformedAuthorityOrPort:r,malformedPercentEncoding:i,malformedSchemeSpecific:a,malformedHost:o,malformedScheme:s}}function ue(e,t){if(typeof e!=`string`&&typeof e!=`object`)return;let n;try{n=typeof e==`string`?e:S(e,t)}catch{return}let{normalized:r,malformedAuthorityOrPort:i,malformedPercentEncoding:a,malformedSchemeSpecific:o,malformedHost:s,malformedScheme:c}=le(n,t);return i||a||o||s||c?void 0:r}var de={SCHEMES:m,normalize:y,resolve:b,resolveComponent:x,equal:ee,serialize:S,parse:se};t.exports=de,t.exports.default=de,t.exports.fastUri=de})),FA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=PA();t.code=`require("ajv/dist/runtime/uri").default`,e.default=t})),IA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=void 0;var t=bA();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return t.KeywordCxt}});var n=aA();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return n._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return n.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return n.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return n.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return n.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return n.CodeGen}});var r=xA(),i=SA(),a=uA(),o=CA(),s=aA(),c=yA(),l=fA(),u=oA(),d=(jA(),Ae(wA).default),f=FA(),p=(e,t)=>new RegExp(e,t);p.code=`new RegExp`;var m=[`removeAdditional`,`useDefaults`,`coerceTypes`],h=new Set([`validate`,`serialize`,`parse`,`wrapper`,`root`,`schema`,`keyword`,`pattern`,`formats`,`validate$data`,`func`,`obj`,`Error`]),g={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.`},_={ignoreKeywordsWithRef:``,jsPropertySyntax:``,unicode:`"minLength"/"maxLength" account for unicode characters by default.`},v=200;function y(e){let t=e.strict,n=e.code?.optimize,r=n===!0||n===void 0?1:n||0,i=e.code?.regExp??p,a=e.uriResolver??f.default;return{strictSchema:e.strictSchema??t??!0,strictNumbers:e.strictNumbers??t??!0,strictTypes:e.strictTypes??t??`log`,strictTuples:e.strictTuples??t??`log`,strictRequired:e.strictRequired??t??!1,code:e.code?{...e.code,optimize:r,regExp:i}:{optimize:r,regExp:i},loopRequired:e.loopRequired??v,loopEnum:e.loopEnum??v,meta:e.meta??!0,messages:e.messages??!0,inlineRefs:e.inlineRefs??!0,schemaId:e.schemaId??`$id`,addUsedSchema:e.addUsedSchema??!0,validateSchema:e.validateSchema??!0,validateFormats:e.validateFormats??!0,unicodeRegExp:e.unicodeRegExp??!0,int32range:e.int32range??!0,uriResolver:a}}var b=class{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,...y(e)};let{es5:t,lines:n}=this.opts.code;this.scope=new s.ValueScope({scope:{},prefixes:h,es5:t,lines:n}),this.logger=re(e.logger);let r=e.validateFormats;e.validateFormats=!1,this.RULES=(0,a.getRules)(),x.call(this,g,e,`NOT SUPPORTED`),x.call(this,_,e,`DEPRECATED`,`warn`),this._metaOpts=ne.call(this),e.formats&&te.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&C.call(this,e.keywords),typeof e.meta==`object`&&this.addMetaSchema(e.meta),S.call(this),e.validateFormats=r}_addVocabularies(){this.addKeyword(`$async`)}_addDefaultMetaSchema(){let{$data:e,meta:t,schemaId:n}=this.opts,r=d;n===`id`&&(r={...d},r.id=r.$id,delete r.$id),t&&e&&this.addMetaSchema(r,r[n],!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 n;if(typeof e==`string`){if(n=this.getSchema(e),!n)throw Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let r=n(t);return`$async`in n||(this.errors=n.errors),r}compile(e,t){let n=this._addSchema(e,t);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,t){if(typeof this.opts.loadSchema!=`function`)throw Error(`options.loadSchema should be a function`);let{loadSchema:n}=this.opts;return r.call(this,e,t);async function r(e,t){await a.call(this,e.$schema);let n=this._addSchema(e,t);return n.validate||o.call(this,n)}async function a(e){e&&!this.getSchema(e)&&await r.call(this,{$ref:e},!0)}async function o(e){try{return this._compileSchemaEnv(e)}catch(t){if(!(t instanceof i.default))throw t;return s.call(this,t),await c.call(this,t.missingSchema),o.call(this,e)}}function s({missingSchema:e,missingRef:t}){if(this.refs[e])throw Error(`AnySchema ${e} is loaded but ${t} cannot be resolved`)}async function c(e){let n=await l.call(this,e);this.refs[e]||await a.call(this,n.$schema),this.refs[e]||this.addSchema(n,e,t)}async function l(e){let t=this._loading[e];if(t)return t;try{return await(this._loading[e]=n(e))}finally{delete this._loading[e]}}}addSchema(e,t,n,r=this.opts.validateSchema){if(Array.isArray(e)){for(let t of e)this.addSchema(t,void 0,n,r);return this}let i;if(typeof e==`object`){let{schemaId:t}=this.opts;if(i=e[t],i!==void 0&&typeof i!=`string`)throw Error(`schema ${t} must be string`)}return t=(0,c.normalizeId)(t||i),this._checkUnique(t),this.schemas[t]=this._addSchema(e,n,t,r,!0),this}addMetaSchema(e,t,n=this.opts.validateSchema){return this.addSchema(e,t,!0,n),this}validateSchema(e,t){if(typeof e==`boolean`)return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!=`string`)throw Error(`$schema must be a string`);if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn(`meta-schema not available`),this.errors=null,!0;let r=this.validate(n,e);if(!r&&t){let e=`schema is invalid: `+this.errorsText();if(this.opts.validateSchema===`log`)this.logger.error(e);else throw Error(e)}return r}getSchema(e){let t;for(;typeof(t=ee.call(this,e))==`string`;)e=t;if(t===void 0){let{schemaId:n}=this.opts,r=new o.SchemaEnv({schema:{},schemaId:n});if(t=o.resolveSchema.call(this,r,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=ee.call(this,e);return typeof t==`object`&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case`object`:{let t=e;this._cache.delete(t);let n=e[this.opts.schemaId];return n&&(n=(0,c.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw Error(`ajv.removeSchema: invalid parameter`)}}addVocabulary(e){for(let t of e)this.addKeyword(t);return this}addKeyword(e,t){let n;if(typeof e==`string`)n=e,typeof t==`object`&&(this.logger.warn(`these parameters are deprecated, see docs for addKeyword`),t.keyword=n);else if(typeof e==`object`&&t===void 0){if(t=e,n=t.keyword,Array.isArray(n)&&!n.length)throw Error(`addKeywords: keyword must be string or non-empty array`)}else throw Error(`invalid addKeywords parameters`);if(T.call(this,n,t),!t)return(0,u.eachItem)(n,e=>ae.call(this,e)),this;se.call(this,t);let r={...t,type:(0,l.getJSONTypes)(t.type),schemaType:(0,l.getJSONTypes)(t.schemaType)};return(0,u.eachItem)(n,r.type.length===0?e=>ae.call(this,e,r):e=>r.type.forEach(t=>ae.call(this,e,r,t))),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 n of t.rules){let t=n.rules.findIndex(t=>t.keyword===e);t>=0&&n.rules.splice(t,1)}return this}addFormat(e,t){return typeof t==`string`&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=`, `,dataVar:n=`data`}={}){return!e||e.length===0?`No errors`:e.map(e=>`${n}${e.instancePath} ${e.message}`).reduce((e,n)=>e+t+n)}$dataMetaSchema(e,t){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let r of t){let t=r.split(`/`).slice(1),i=e;for(let e of t)i=i[e];for(let e in n){let t=n[e];if(typeof t!=`object`)continue;let{$data:r}=t.definition,a=i[e];r&&a&&(i[e]=le(a))}}return e}_removeAllSchemas(e,t){for(let n in e){let r=e[n];(!t||t.test(n))&&(typeof r==`string`?delete e[n]:r&&!r.meta&&(this._cache.delete(r.schema),delete e[n]))}}_addSchema(e,t,n,r=this.opts.validateSchema,i=this.opts.addUsedSchema){let a,{schemaId:s}=this.opts;if(typeof e==`object`)a=e[s];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 l=this._cache.get(e);if(l!==void 0)return l;n=(0,c.normalizeId)(a||n);let u=c.getSchemaRefs.call(this,e,n);return l=new o.SchemaEnv({schema:e,schemaId:s,meta:t,baseId:n,localRefs:u}),this._cache.set(l.schema,l),i&&!n.startsWith(`#`)&&(n&&this._checkUnique(n),this.refs[n]=l),r&&this.validateSchema(e,!0),l}_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):o.compileSchema.call(this,e),!e.validate)throw Error(`ajv implementation error`);return e.validate}_compileMetaSchema(e){let t=this.opts;this.opts=this._metaOpts;try{o.compileSchema.call(this,e)}finally{this.opts=t}}};b.ValidationError=r.default,b.MissingRefError=i.default,e.default=b;function x(e,t,n,r=`error`){for(let i in e){let a=i;a in t&&this.logger[r](`${n}: option ${i}. ${e[a]}`)}}function ee(e){return e=(0,c.normalizeId)(e),this.schemas[e]||this.refs[e]}function S(){let e=this.opts.schemas;if(e){if(Array.isArray(e))this.addSchema(e);else for(let t in e)this.addSchema(e[t],t)}}function te(){for(let e in this.opts.formats){let t=this.opts.formats[e];t&&this.addFormat(e,t)}}function C(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 n=e[t];n.keyword||=t,this.addKeyword(n)}}function ne(){let e={...this.opts};for(let t of m)delete e[t];return e}var w={log(){},warn(){},error(){}};function re(e){if(e===!1)return w;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 ie=/^[a-z_$][a-z0-9_$:-]*$/i;function T(e,t){let{RULES:n}=this;if((0,u.eachItem)(e,e=>{if(n.keywords[e])throw Error(`Keyword ${e} is already defined`);if(!ie.test(e))throw Error(`Keyword ${e} has invalid name`)}),t&&t.$data&&!(`code`in t||`validate`in t))throw Error(`$data keyword must have "code" or "validate" function`)}function ae(e,t,n){var r;let i=t?.post;if(n&&i)throw Error(`keyword with "post" flag cannot have "type"`);let{RULES:a}=this,o=i?a.post:a.rules.find(({type:e})=>e===n);if(o||(o={type:n,rules:[]},a.rules.push(o)),a.keywords[e]=!0,!t)return;let s={keyword:e,definition:{...t,type:(0,l.getJSONTypes)(t.type),schemaType:(0,l.getJSONTypes)(t.schemaType)}};t.before?oe.call(this,o,s,t.before):o.rules.push(s),a.all[e]=s,(r=t.implements)==null||r.forEach(e=>this.addKeyword(e))}function oe(e,t,n){let r=e.rules.findIndex(e=>e.keyword===n);r>=0?e.rules.splice(r,0,t):(e.rules.push(t),this.logger.warn(`rule ${n} is not defined`))}function se(e){let{metaSchema:t}=e;t!==void 0&&(e.$data&&this.opts.$data&&(t=le(t)),e.validateSchema=this.compile(t,!0))}var ce={$ref:`https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#`};function le(e){return{anyOf:[e,ce]}}})),LA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={keyword:`id`,code(){throw Error(`NOT SUPPORTED: keyword "id", use "$id" for schema ID`)}}})),RA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.callRef=e.getValidate=void 0;var t=SA(),n=mA(),r=aA(),i=sA(),a=CA(),o=oA(),s={keyword:`$ref`,schemaType:`string`,code(e){let{gen:n,schema:i,it:o}=e,{baseId:s,schemaEnv:u,validateName:d,opts:f,self:p}=o,{root:m}=u;if((i===`#`||i===`#/`)&&s===m.baseId)return g();let h=a.resolveRef.call(p,m,s,i);if(h===void 0)throw new t.default(o.opts.uriResolver,s,i);return h instanceof a.SchemaEnv?_(h):v(h);function g(){if(u===m)return l(e,d,u,u.$async);let t=n.scopeValue(`root`,{ref:m});return l(e,(0,r._)`${t}.validate`,m,m.$async)}function _(t){l(e,c(e,t),t,t.$async)}function v(t){let a=n.scopeValue(`schema`,f.code.source===!0?{ref:t,code:(0,r.stringify)(t)}:{ref:t}),o=n.name(`valid`),s=e.subschema({schema:t,dataTypes:[],schemaPath:r.nil,topSchemaRef:a,errSchemaPath:i},o);e.mergeEvaluated(s),e.ok(o)}}};function c(e,t){let{gen:n}=e;return t.validate?n.scopeValue(`validate`,{ref:t.validate}):(0,r._)`${n.scopeValue(`wrapper`,{ref:t})}.validate`}e.getValidate=c;function l(e,t,a,s){let{gen:c,it:l}=e,{allErrors:u,schemaEnv:d,opts:f}=l,p=f.passContext?i.default.this:r.nil;s?m():h();function m(){if(!d.$async)throw Error(`async schema referenced by sync schema`);let i=c.let(`valid`);c.try(()=>{c.code((0,r._)`await ${(0,n.callValidateCode)(e,t,p)}`),_(t),u||c.assign(i,!0)},e=>{c.if((0,r._)`!(${e} instanceof ${l.ValidationError})`,()=>c.throw(e)),g(e),u||c.assign(i,!1)}),e.ok(i)}function h(){e.result((0,n.callValidateCode)(e,t,p),()=>_(t),()=>g(t))}function g(e){let t=(0,r._)`${e}.errors`;c.assign(i.default.vErrors,(0,r._)`${i.default.vErrors} === null ? ${t} : ${i.default.vErrors}.concat(${t})`),c.assign(i.default.errors,(0,r._)`${i.default.vErrors}.length`)}function _(e){if(!l.opts.unevaluated)return;let t=a?.validate?.evaluated;if(l.props!==!0){if(t&&!t.dynamicProps)t.props!==void 0&&(l.props=o.mergeEvaluated.props(c,t.props,l.props));else{let t=c.var(`props`,(0,r._)`${e}.evaluated.props`);l.props=o.mergeEvaluated.props(c,t,l.props,r.Name)}}if(l.items!==!0){if(t&&!t.dynamicItems)t.items!==void 0&&(l.items=o.mergeEvaluated.items(c,t.items,l.items));else{let t=c.var(`items`,(0,r._)`${e}.evaluated.items`);l.items=o.mergeEvaluated.items(c,t,l.items,r.Name)}}}}e.callRef=l,e.default=s})),zA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=LA(),n=RA();e.default=[`$schema`,`$id`,`$defs`,`$vocabulary`,{keyword:`$comment`},`definitions`,t.default,n.default]})),BA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA(),n=t.operators,r={maximum:{okStr:`<=`,ok:n.LTE,fail:n.GT},minimum:{okStr:`>=`,ok:n.GTE,fail:n.LT},exclusiveMaximum:{okStr:`<`,ok:n.LT,fail:n.GTE},exclusiveMinimum:{okStr:`>`,ok:n.GT,fail:n.LTE}};e.default={keyword:Object.keys(r),type:`number`,schemaType:`number`,$data:!0,error:{message:({keyword:e,schemaCode:n})=>(0,t.str)`must be ${r[e].okStr} ${n}`,params:({keyword:e,schemaCode:n})=>(0,t._)`{comparison: ${r[e].okStr}, limit: ${n}}`},code(e){let{keyword:n,data:i,schemaCode:a}=e;e.fail$data((0,t._)`${i} ${r[n].fail} ${a} || isNaN(${i})`)}}})),VA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA();e.default={keyword:`multipleOf`,type:`number`,schemaType:`number`,$data:!0,error:{message:({schemaCode:e})=>(0,t.str)`must be multiple of ${e}`,params:({schemaCode:e})=>(0,t._)`{multipleOf: ${e}}`},code(e){let{gen:n,data:r,schemaCode:i,it:a}=e,o=a.opts.multipleOfPrecision,s=n.let(`res`),c=o?(0,t._)`Math.abs(Math.round(${s}) - ${s}) > 1e-${o}`:(0,t._)`${s} !== parseInt(${s})`;e.fail$data((0,t._)`(${i} === 0 || (${s} = ${r}/${i}, ${c}))`)}}})),HA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});function t(e){let t=e.length,n=0,r=0,i;for(;r<t;)n++,i=e.charCodeAt(r++),i>=55296&&i<=56319&&r<t&&(i=e.charCodeAt(r),(i&64512)==56320&&r++);return n}e.default=t,t.code=`require("ajv/dist/runtime/ucs2length").default`})),UA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA(),n=oA(),r=HA();e.default={keyword:[`maxLength`,`minLength`],type:`string`,schemaType:`number`,$data:!0,error:{message({keyword:e,schemaCode:n}){let r=e===`maxLength`?`more`:`fewer`;return(0,t.str)`must NOT have ${r} than ${n} characters`},params:({schemaCode:e})=>(0,t._)`{limit: ${e}}`},code(e){let{keyword:i,data:a,schemaCode:o,it:s}=e,c=i===`maxLength`?t.operators.GT:t.operators.LT,l=s.opts.unicode===!1?(0,t._)`${a}.length`:(0,t._)`${(0,n.useFunc)(e.gen,r.default)}(${a})`;e.fail$data((0,t._)`${l} ${c} ${o}`)}}})),WA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=mA(),n=oA(),r=aA();e.default={keyword:`pattern`,type:`string`,schemaType:`string`,$data:!0,error:{message:({schemaCode:e})=>(0,r.str)`must match pattern "${e}"`,params:({schemaCode:e})=>(0,r._)`{pattern: ${e}}`},code(e){let{gen:i,data:a,$data:o,schema:s,schemaCode:c,it:l}=e,u=l.opts.unicodeRegExp?`u`:``;if(o){let{regExp:t}=l.opts.code,o=t.code===`new RegExp`?(0,r._)`new RegExp`:(0,n.useFunc)(i,t),s=i.let(`valid`);i.try(()=>i.assign(s,(0,r._)`${o}(${c}, ${u}).test(${a})`),()=>i.assign(s,!1)),e.fail$data((0,r._)`!${s}`)}else{let n=(0,t.usePattern)(e,s);e.fail$data((0,r._)`!${n}.test(${a})`)}}}})),GA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA();e.default={keyword:[`maxProperties`,`minProperties`],type:`object`,schemaType:`number`,$data:!0,error:{message({keyword:e,schemaCode:n}){let r=e===`maxProperties`?`more`:`fewer`;return(0,t.str)`must NOT have ${r} than ${n} properties`},params:({schemaCode:e})=>(0,t._)`{limit: ${e}}`},code(e){let{keyword:n,data:r,schemaCode:i}=e,a=n===`maxProperties`?t.operators.GT:t.operators.LT;e.fail$data((0,t._)`Object.keys(${r}).length ${a} ${i}`)}}})),KA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=mA(),n=aA(),r=oA();e.default={keyword:`required`,type:`object`,schemaType:`array`,$data:!0,error:{message:({params:{missingProperty:e}})=>(0,n.str)`must have required property '${e}'`,params:({params:{missingProperty:e}})=>(0,n._)`{missingProperty: ${e}}`},code(e){let{gen:i,schema:a,schemaCode:o,data:s,$data:c,it:l}=e,{opts:u}=l;if(!c&&a.length===0)return;let d=a.length>=u.loopRequired;if(l.allErrors?f():p(),u.strictRequired){let t=e.parentSchema.properties,{definedProperties:n}=e.it;for(let e of a)if(t?.[e]===void 0&&!n.has(e)){let t=`required property "${e}" is not defined at "${l.schemaEnv.baseId+l.errSchemaPath}" (strictRequired)`;(0,r.checkStrictMode)(l,t,l.opts.strictRequired)}}function f(){if(d||c)e.block$data(n.nil,m);else for(let n of a)(0,t.checkReportMissingProp)(e,n)}function p(){let n=i.let(`missing`);if(d||c){let t=i.let(`valid`,!0);e.block$data(t,()=>h(n,t)),e.ok(t)}else i.if((0,t.checkMissingProp)(e,a,n)),(0,t.reportMissingProp)(e,n),i.else()}function m(){i.forOf(`prop`,o,n=>{e.setParams({missingProperty:n}),i.if((0,t.noPropertyInData)(i,s,n,u.ownProperties),()=>e.error())})}function h(r,a){e.setParams({missingProperty:r}),i.forOf(r,o,()=>{i.assign(a,(0,t.propertyInData)(i,s,r,u.ownProperties)),i.if((0,n.not)(a),()=>{e.error(),i.break()})},n.nil)}}}})),qA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA();e.default={keyword:[`maxItems`,`minItems`],type:`array`,schemaType:`number`,$data:!0,error:{message({keyword:e,schemaCode:n}){let r=e===`maxItems`?`more`:`fewer`;return(0,t.str)`must NOT have ${r} than ${n} items`},params:({schemaCode:e})=>(0,t._)`{limit: ${e}}`},code(e){let{keyword:n,data:r,schemaCode:i}=e,a=n===`maxItems`?t.operators.GT:t.operators.LT;e.fail$data((0,t._)`${r}.length ${a} ${i}`)}}})),JA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=_A();t.code=`require("ajv/dist/runtime/equal").default`,e.default=t})),YA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=fA(),n=aA(),r=oA(),i=JA();e.default={keyword:`uniqueItems`,type:`array`,schemaType:`boolean`,$data:!0,error:{message:({params:{i:e,j:t}})=>(0,n.str)`must NOT have duplicate items (items ## ${t} and ${e} are identical)`,params:({params:{i:e,j:t}})=>(0,n._)`{i: ${e}, j: ${t}}`},code(e){let{gen:a,data:o,$data:s,schema:c,parentSchema:l,schemaCode:u,it:d}=e;if(!s&&!c)return;let f=a.let(`valid`),p=l.items?(0,t.getSchemaTypes)(l.items):[];e.block$data(f,m,(0,n._)`${u} === false`),e.ok(f);function m(){let t=a.let(`i`,(0,n._)`${o}.length`),r=a.let(`j`);e.setParams({i:t,j:r}),a.assign(f,!0),a.if((0,n._)`${t} > 1`,()=>(h()?g:_)(t,r))}function h(){return p.length>0&&!p.some(e=>e===`object`||e===`array`)}function g(r,i){let s=a.name(`item`),c=(0,t.checkDataTypes)(p,s,d.opts.strictNumbers,t.DataType.Wrong),l=a.const(`indices`,(0,n._)`{}`);a.for((0,n._)`;${r}--;`,()=>{a.let(s,(0,n._)`${o}[${r}]`),a.if(c,(0,n._)`continue`),p.length>1&&a.if((0,n._)`typeof ${s} == "string"`,(0,n._)`${s} += "_"`),a.if((0,n._)`typeof ${l}[${s}] == "number"`,()=>{a.assign(i,(0,n._)`${l}[${s}]`),e.error(),a.assign(f,!1).break()}).code((0,n._)`${l}[${s}] = ${r}`)})}function _(t,s){let c=(0,r.useFunc)(a,i.default),l=a.name(`outer`);a.label(l).for((0,n._)`;${t}--;`,()=>a.for((0,n._)`${s} = ${t}; ${s}--;`,()=>a.if((0,n._)`${c}(${o}[${t}], ${o}[${s}])`,()=>{e.error(),a.assign(f,!1).break(l)})))}}}})),XA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA(),n=oA(),r=JA();e.default={keyword:`const`,$data:!0,error:{message:`must be equal to constant`,params:({schemaCode:e})=>(0,t._)`{allowedValue: ${e}}`},code(e){let{gen:i,data:a,$data:o,schemaCode:s,schema:c}=e;o||c&&typeof c==`object`?e.fail$data((0,t._)`!${(0,n.useFunc)(i,r.default)}(${a}, ${s})`):e.fail((0,t._)`${c} !== ${a}`)}}})),ZA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA(),n=oA(),r=JA();e.default={keyword:`enum`,schemaType:`array`,$data:!0,error:{message:`must be equal to one of the allowed values`,params:({schemaCode:e})=>(0,t._)`{allowedValues: ${e}}`},code(e){let{gen:i,data:a,$data:o,schema:s,schemaCode:c,it:l}=e;if(!o&&s.length===0)throw Error(`enum must have non-empty array`);let u=s.length>=l.opts.loopEnum,d,f=()=>d??=(0,n.useFunc)(i,r.default),p;if(u||o)p=i.let(`valid`),e.block$data(p,m);else{if(!Array.isArray(s))throw Error(`ajv implementation error`);let e=i.const(`vSchema`,c);p=(0,t.or)(...s.map((t,n)=>h(e,n)))}e.pass(p);function m(){i.assign(p,!1),i.forOf(`v`,c,e=>i.if((0,t._)`${f()}(${a}, ${e})`,()=>i.assign(p,!0).break()))}function h(e,n){let r=s[n];return typeof r==`object`&&r?(0,t._)`${f()}(${a}, ${e}[${n}])`:(0,t._)`${a} === ${r}`}}}})),QA=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=BA(),n=VA(),r=UA(),i=WA(),a=GA(),o=KA(),s=qA(),c=YA(),l=XA(),u=ZA();e.default=[t.default,n.default,r.default,i.default,a.default,o.default,s.default,c.default,{keyword:`type`,schemaType:[`string`,`array`]},{keyword:`nullable`,schemaType:`boolean`},l.default,u.default]})),$A=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.validateAdditionalItems=void 0;var t=aA(),n=oA(),r={keyword:`additionalItems`,type:`array`,schemaType:[`boolean`,`object`],before:`uniqueItems`,error:{message:({params:{len:e}})=>(0,t.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,t._)`{limit: ${e}}`},code(e){let{parentSchema:t,it:r}=e,{items:a}=t;if(!Array.isArray(a)){(0,n.checkStrictMode)(r,`"additionalItems" is ignored when "items" is not an array of schemas`);return}i(e,a)}};function i(e,r){let{gen:i,schema:a,data:o,keyword:s,it:c}=e;c.items=!0;let l=i.const(`len`,(0,t._)`${o}.length`);if(a===!1)e.setParams({len:r.length}),e.pass((0,t._)`${l} <= ${r.length}`);else if(typeof a==`object`&&!(0,n.alwaysValidSchema)(c,a)){let n=i.var(`valid`,(0,t._)`${l} <= ${r.length}`);i.if((0,t.not)(n),()=>u(n)),e.ok(n)}function u(a){i.forRange(`i`,r.length,l,r=>{e.subschema({keyword:s,dataProp:r,dataPropType:n.Type.Num},a),c.allErrors||i.if((0,t.not)(a),()=>i.break())})}}e.validateAdditionalItems=i,e.default=r})),ej=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.validateTuple=void 0;var t=aA(),n=oA(),r=mA(),i={keyword:`items`,type:`array`,schemaType:[`object`,`array`,`boolean`],before:`uniqueItems`,code(e){let{schema:t,it:i}=e;if(Array.isArray(t))return a(e,`additionalItems`,t);i.items=!0,!(0,n.alwaysValidSchema)(i,t)&&e.ok((0,r.validateArray)(e))}};function a(e,r,i=e.schema){let{gen:a,parentSchema:o,data:s,keyword:c,it:l}=e;f(o),l.opts.unevaluated&&i.length&&l.items!==!0&&(l.items=n.mergeEvaluated.items(a,i.length,l.items));let u=a.name(`valid`),d=a.const(`len`,(0,t._)`${s}.length`);i.forEach((r,i)=>{(0,n.alwaysValidSchema)(l,r)||(a.if((0,t._)`${d} > ${i}`,()=>e.subschema({keyword:c,schemaProp:i,dataProp:i},u)),e.ok(u))});function f(e){let{opts:t,errSchemaPath:a}=l,o=i.length,s=o===e.minItems&&(o===e.maxItems||e[r]===!1);if(t.strictTuples&&!s){let e=`"${c}" is ${o}-tuple, but minItems or maxItems/${r} are not specified or different at path "${a}"`;(0,n.checkStrictMode)(l,e,t.strictTuples)}}}e.validateTuple=a,e.default=i})),tj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=ej();e.default={keyword:`prefixItems`,type:`array`,schemaType:[`array`],before:`uniqueItems`,code:e=>(0,t.validateTuple)(e,`items`)}})),nj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA(),n=oA(),r=mA(),i=$A();e.default={keyword:`items`,type:`array`,schemaType:[`object`,`boolean`],before:`uniqueItems`,error:{message:({params:{len:e}})=>(0,t.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0,t._)`{limit: ${e}}`},code(e){let{schema:t,parentSchema:a,it:o}=e,{prefixItems:s}=a;o.items=!0,!(0,n.alwaysValidSchema)(o,t)&&(s?(0,i.validateAdditionalItems)(e,s):e.ok((0,r.validateArray)(e)))}}})),rj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA(),n=oA();e.default={keyword:`contains`,type:`array`,schemaType:[`object`,`boolean`],before:`uniqueItems`,trackErrors:!0,error:{message:({params:{min:e,max:n}})=>n===void 0?(0,t.str)`must contain at least ${e} valid item(s)`:(0,t.str)`must contain at least ${e} and no more than ${n} valid item(s)`,params:({params:{min:e,max:n}})=>n===void 0?(0,t._)`{minContains: ${e}}`:(0,t._)`{minContains: ${e}, maxContains: ${n}}`},code(e){let{gen:r,schema:i,parentSchema:a,data:o,it:s}=e,c,l,{minContains:u,maxContains:d}=a;s.opts.next?(c=u===void 0?1:u,l=d):c=1;let f=r.const(`len`,(0,t._)`${o}.length`);if(e.setParams({min:c,max:l}),l===void 0&&c===0){(0,n.checkStrictMode)(s,`"minContains" == 0 without "maxContains": "contains" keyword ignored`);return}if(l!==void 0&&c>l){(0,n.checkStrictMode)(s,`"minContains" > "maxContains" is always invalid`),e.fail();return}if((0,n.alwaysValidSchema)(s,i)){let n=(0,t._)`${f} >= ${c}`;l!==void 0&&(n=(0,t._)`${n} && ${f} <= ${l}`),e.pass(n);return}s.items=!0;let p=r.name(`valid`);l===void 0&&c===1?h(p,()=>r.if(p,()=>r.break())):c===0?(r.let(p,!0),l!==void 0&&r.if((0,t._)`${o}.length > 0`,m)):(r.let(p,!1),m()),e.result(p,()=>e.reset());function m(){let e=r.name(`_valid`),t=r.let(`count`,0);h(e,()=>r.if(e,()=>g(t)))}function h(t,i){r.forRange(`i`,0,f,r=>{e.subschema({keyword:`contains`,dataProp:r,dataPropType:n.Type.Num,compositeRule:!0},t),i()})}function g(e){r.code((0,t._)`${e}++`),l===void 0?r.if((0,t._)`${e} >= ${c}`,()=>r.assign(p,!0).break()):(r.if((0,t._)`${e} > ${l}`,()=>r.assign(p,!1).break()),c===1?r.assign(p,!0):r.if((0,t._)`${e} >= ${c}`,()=>r.assign(p,!0)))}}}})),ij=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.validateSchemaDeps=e.validatePropertyDeps=e.error=void 0;var t=aA(),n=oA(),r=mA();e.error={message:({params:{property:e,depsCount:n,deps:r}})=>{let i=n===1?`property`:`properties`;return(0,t.str)`must have ${i} ${r} when property ${e} is present`},params:({params:{property:e,depsCount:n,deps:r,missingProperty:i}})=>(0,t._)`{property: ${e},
|
|
278
|
+
missingProperty: ${i},
|
|
279
|
+
depsCount: ${n},
|
|
280
|
+
deps: ${r}}`};var i={keyword:`dependencies`,type:`object`,schemaType:`object`,error:e.error,code(e){let[t,n]=a(e);o(e,t),s(e,n)}};function a({schema:e}){let t={},n={};for(let r in e){if(r===`__proto__`)continue;let i=Array.isArray(e[r])?t:n;i[r]=e[r]}return[t,n]}function o(e,n=e.schema){let{gen:i,data:a,it:o}=e;if(Object.keys(n).length===0)return;let s=i.let(`missing`);for(let c in n){let l=n[c];if(l.length===0)continue;let u=(0,r.propertyInData)(i,a,c,o.opts.ownProperties);e.setParams({property:c,depsCount:l.length,deps:l.join(`, `)}),o.allErrors?i.if(u,()=>{for(let t of l)(0,r.checkReportMissingProp)(e,t)}):(i.if((0,t._)`${u} && (${(0,r.checkMissingProp)(e,l,s)})`),(0,r.reportMissingProp)(e,s),i.else())}}e.validatePropertyDeps=o;function s(e,t=e.schema){let{gen:i,data:a,keyword:o,it:s}=e,c=i.name(`valid`);for(let l in t)(0,n.alwaysValidSchema)(s,t[l])||(i.if((0,r.propertyInData)(i,a,l,s.opts.ownProperties),()=>{let t=e.subschema({keyword:o,schemaProp:l},c);e.mergeValidEvaluated(t,c)},()=>i.var(c,!0)),e.ok(c))}e.validateSchemaDeps=s,e.default=i})),aj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA(),n=oA();e.default={keyword:`propertyNames`,type:`object`,schemaType:[`object`,`boolean`],error:{message:`property name must be valid`,params:({params:e})=>(0,t._)`{propertyName: ${e.propertyName}}`},code(e){let{gen:r,schema:i,data:a,it:o}=e;if((0,n.alwaysValidSchema)(o,i))return;let s=r.name(`valid`);r.forIn(`key`,a,n=>{e.setParams({propertyName:n}),e.subschema({keyword:`propertyNames`,data:n,dataTypes:[`string`],propertyName:n,compositeRule:!0},s),r.if((0,t.not)(s),()=>{e.error(!0),o.allErrors||r.break()})}),e.ok(s)}}})),oj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=mA(),n=aA(),r=sA(),i=oA();e.default={keyword:`additionalProperties`,type:[`object`],schemaType:[`boolean`,`object`],allowUndefined:!0,trackErrors:!0,error:{message:`must NOT have additional properties`,params:({params:e})=>(0,n._)`{additionalProperty: ${e.additionalProperty}}`},code(e){let{gen:a,schema:o,parentSchema:s,data:c,errsCount:l,it:u}=e;if(!l)throw Error(`ajv implementation error`);let{allErrors:d,opts:f}=u;if(u.props=!0,f.removeAdditional!==`all`&&(0,i.alwaysValidSchema)(u,o))return;let p=(0,t.allSchemaProperties)(s.properties),m=(0,t.allSchemaProperties)(s.patternProperties);h(),e.ok((0,n._)`${l} === ${r.default.errors}`);function h(){a.forIn(`key`,c,e=>{!p.length&&!m.length?v(e):a.if(g(e),()=>v(e))})}function g(r){let o;if(p.length>8){let e=(0,i.schemaRefOrVal)(u,s.properties,`properties`);o=(0,t.isOwnProperty)(a,e,r)}else o=p.length?(0,n.or)(...p.map(e=>(0,n._)`${r} === ${e}`)):n.nil;return m.length&&(o=(0,n.or)(o,...m.map(i=>(0,n._)`${(0,t.usePattern)(e,i)}.test(${r})`))),(0,n.not)(o)}function _(e){a.code((0,n._)`delete ${c}[${e}]`)}function v(t){if(f.removeAdditional===`all`||f.removeAdditional&&o===!1){_(t);return}if(o===!1){e.setParams({additionalProperty:t}),e.error(),d||a.break();return}if(typeof o==`object`&&!(0,i.alwaysValidSchema)(u,o)){let r=a.name(`valid`);f.removeAdditional===`failing`?(y(t,r,!1),a.if((0,n.not)(r),()=>{e.reset(),_(t)})):(y(t,r),d||a.if((0,n.not)(r),()=>a.break()))}}function y(t,n,r){let a={keyword:`additionalProperties`,dataProp:t,dataPropType:i.Type.Str};r===!1&&Object.assign(a,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(a,n)}}}})),sj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=bA(),n=mA(),r=oA(),i=oj();e.default={keyword:`properties`,type:`object`,schemaType:`object`,code(e){let{gen:a,schema:o,parentSchema:s,data:c,it:l}=e;l.opts.removeAdditional===`all`&&s.additionalProperties===void 0&&i.default.code(new t.KeywordCxt(l,i.default,`additionalProperties`));let u=(0,n.allSchemaProperties)(o);for(let e of u)l.definedProperties.add(e);l.opts.unevaluated&&u.length&&l.props!==!0&&(l.props=r.mergeEvaluated.props(a,(0,r.toHash)(u),l.props));let d=u.filter(e=>!(0,r.alwaysValidSchema)(l,o[e]));if(d.length===0)return;let f=a.name(`valid`);for(let t of d)p(t)?m(t):(a.if((0,n.propertyInData)(a,c,t,l.opts.ownProperties)),m(t),l.allErrors||a.else().var(f,!0),a.endIf()),e.it.definedProperties.add(t),e.ok(f);function p(e){return l.opts.useDefaults&&!l.compositeRule&&o[e].default!==void 0}function m(t){e.subschema({keyword:`properties`,schemaProp:t,dataProp:t},f)}}}})),cj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=mA(),n=aA(),r=oA(),i=oA();e.default={keyword:`patternProperties`,type:`object`,schemaType:`object`,code(e){let{gen:a,schema:o,data:s,parentSchema:c,it:l}=e,{opts:u}=l,d=(0,t.allSchemaProperties)(o),f=d.filter(e=>(0,r.alwaysValidSchema)(l,o[e]));if(d.length===0||f.length===d.length&&(!l.opts.unevaluated||l.props===!0))return;let p=u.strictSchema&&!u.allowMatchingProperties&&c.properties,m=a.name(`valid`);l.props!==!0&&!(l.props instanceof n.Name)&&(l.props=(0,i.evaluatedPropsToName)(a,l.props));let{props:h}=l;g();function g(){for(let e of d)p&&_(e),l.allErrors?v(e):(a.var(m,!0),v(e),a.if(m))}function _(e){for(let t in p)new RegExp(e).test(t)&&(0,r.checkStrictMode)(l,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function v(r){a.forIn(`key`,s,o=>{a.if((0,n._)`${(0,t.usePattern)(e,r)}.test(${o})`,()=>{let t=f.includes(r);t||e.subschema({keyword:`patternProperties`,schemaProp:r,dataProp:o,dataPropType:i.Type.Str},m),l.opts.unevaluated&&h!==!0?a.assign((0,n._)`${h}[${o}]`,!0):!t&&!l.allErrors&&a.if((0,n.not)(m),()=>a.break())})})}}}})),lj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=oA();e.default={keyword:`not`,schemaType:[`object`,`boolean`],trackErrors:!0,code(e){let{gen:n,schema:r,it:i}=e;if((0,t.alwaysValidSchema)(i,r)){e.fail();return}let a=n.name(`valid`);e.subschema({keyword:`not`,compositeRule:!0,createErrors:!1,allErrors:!1},a),e.failResult(a,()=>e.reset(),()=>e.error())},error:{message:`must NOT be valid`}}})),uj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default={keyword:`anyOf`,schemaType:`array`,trackErrors:!0,code:mA().validateUnion,error:{message:`must match a schema in anyOf`}}})),dj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA(),n=oA();e.default={keyword:`oneOf`,schemaType:`array`,trackErrors:!0,error:{message:`must match exactly one schema in oneOf`,params:({params:e})=>(0,t._)`{passingSchemas: ${e.passing}}`},code(e){let{gen:r,schema:i,parentSchema:a,it:o}=e;if(!Array.isArray(i))throw Error(`ajv implementation error`);if(o.opts.discriminator&&a.discriminator)return;let s=i,c=r.let(`valid`,!1),l=r.let(`passing`,null),u=r.name(`_valid`);e.setParams({passing:l}),r.block(d),e.result(c,()=>e.reset(),()=>e.error(!0));function d(){s.forEach((i,a)=>{let s;(0,n.alwaysValidSchema)(o,i)?r.var(u,!0):s=e.subschema({keyword:`oneOf`,schemaProp:a,compositeRule:!0},u),a>0&&r.if((0,t._)`${u} && ${c}`).assign(c,!1).assign(l,(0,t._)`[${l}, ${a}]`).else(),r.if(u,()=>{r.assign(c,!0),r.assign(l,a),s&&e.mergeEvaluated(s,t.Name)})})}}}})),fj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=oA();e.default={keyword:`allOf`,schemaType:`array`,code(e){let{gen:n,schema:r,it:i}=e;if(!Array.isArray(r))throw Error(`ajv implementation error`);let a=n.name(`valid`);r.forEach((n,r)=>{if((0,t.alwaysValidSchema)(i,n))return;let o=e.subschema({keyword:`allOf`,schemaProp:r},a);e.ok(a),e.mergeEvaluated(o)})}}})),pj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA(),n=oA(),r={keyword:`if`,schemaType:[`object`,`boolean`],trackErrors:!0,error:{message:({params:e})=>(0,t.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,t._)`{failingKeyword: ${e.ifClause}}`},code(e){let{gen:r,parentSchema:a,it:o}=e;a.then===void 0&&a.else===void 0&&(0,n.checkStrictMode)(o,`"if" without "then" and "else" is ignored`);let s=i(o,`then`),c=i(o,`else`);if(!s&&!c)return;let l=r.let(`valid`,!0),u=r.name(`_valid`);if(d(),e.reset(),s&&c){let t=r.let(`ifClause`);e.setParams({ifClause:t}),r.if(u,f(`then`,t),f(`else`,t))}else s?r.if(u,f(`then`)):r.if((0,t.not)(u),f(`else`));e.pass(l,()=>e.error(!0));function d(){let t=e.subschema({keyword:`if`,compositeRule:!0,createErrors:!1,allErrors:!1},u);e.mergeEvaluated(t)}function f(n,i){return()=>{let a=e.subschema({keyword:n},u);r.assign(l,u),e.mergeValidEvaluated(a,l),i?r.assign(i,(0,t._)`${n}`):e.setParams({ifClause:n})}}}};function i(e,t){let r=e.schema[t];return r!==void 0&&!(0,n.alwaysValidSchema)(e,r)}e.default=r})),mj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=oA();e.default={keyword:[`then`,`else`],schemaType:[`object`,`boolean`],code({keyword:e,parentSchema:n,it:r}){n.if===void 0&&(0,t.checkStrictMode)(r,`"${e}" without "if" is ignored`)}}})),hj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=$A(),n=tj(),r=ej(),i=nj(),a=rj(),o=ij(),s=aj(),c=oj(),l=sj(),u=cj(),d=lj(),f=uj(),p=dj(),m=fj(),h=pj(),g=mj();function _(e=!1){let _=[d.default,f.default,p.default,m.default,h.default,g.default,s.default,c.default,o.default,l.default,u.default];return e?_.push(n.default,i.default):_.push(t.default,r.default),_.push(a.default),_}e.default=_})),gj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA();e.default={keyword:`format`,type:[`number`,`string`],schemaType:`string`,$data:!0,error:{message:({schemaCode:e})=>(0,t.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,t._)`{format: ${e}}`},code(e,n){let{gen:r,data:i,$data:a,schema:o,schemaCode:s,it:c}=e,{opts:l,errSchemaPath:u,schemaEnv:d,self:f}=c;if(!l.validateFormats)return;a?p():m();function p(){let a=r.scopeValue(`formats`,{ref:f.formats,code:l.code.formats}),o=r.const(`fDef`,(0,t._)`${a}[${s}]`),c=r.let(`fType`),u=r.let(`format`);r.if((0,t._)`typeof ${o} == "object" && !(${o} instanceof RegExp)`,()=>r.assign(c,(0,t._)`${o}.type || "string"`).assign(u,(0,t._)`${o}.validate`),()=>r.assign(c,(0,t._)`"string"`).assign(u,o)),e.fail$data((0,t.or)(p(),m()));function p(){return l.strictSchema===!1?t.nil:(0,t._)`${s} && !${u}`}function m(){let e=d.$async?(0,t._)`(${o}.async ? await ${u}(${i}) : ${u}(${i}))`:(0,t._)`${u}(${i})`,r=(0,t._)`(typeof ${u} == "function" ? ${e} : ${u}.test(${i}))`;return(0,t._)`${u} && ${u} !== true && ${c} === ${n} && !${r}`}}function m(){let a=f.formats[o];if(!a){m();return}if(a===!0)return;let[s,c,p]=h(a);s===n&&e.pass(g());function m(){if(l.strictSchema===!1){f.logger.warn(e());return}throw Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${u}"`}}function h(e){let n=e instanceof RegExp?(0,t.regexpCode)(e):l.code.formats?(0,t._)`${l.code.formats}${(0,t.getProperty)(o)}`:void 0,i=r.scopeValue(`formats`,{key:o,ref:e,code:n});return typeof e==`object`&&!(e instanceof RegExp)?[e.type||`string`,e.validate,(0,t._)`${i}.validate`]:[`string`,e,i]}function g(){if(typeof a==`object`&&!(a instanceof RegExp)&&a.async){if(!d.$async)throw Error(`async format in sync schema`);return(0,t._)`await ${p}(${i})`}return typeof c==`function`?(0,t._)`${p}(${i})`:(0,t._)`${p}.test(${i})`}}}}})),_j=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.default=[gj().default]})),vj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.contentVocabulary=e.metadataVocabulary=void 0,e.metadataVocabulary=[`title`,`description`,`default`,`deprecated`,`readOnly`,`writeOnly`,`examples`],e.contentVocabulary=[`contentMediaType`,`contentEncoding`,`contentSchema`]})),yj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=zA(),n=QA(),r=hj(),i=_j(),a=vj();e.default=[t.default,n.default,(0,r.default)(),i.default,a.metadataVocabulary,a.contentVocabulary]})),bj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DiscrError=void 0;var t;(function(e){e.Tag=`tag`,e.Mapping=`mapping`})(t||(e.DiscrError=t={}))})),xj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=aA(),n=bj(),r=CA(),i=SA(),a=oA();e.default={keyword:`discriminator`,type:`object`,schemaType:`object`,error:{message:({params:{discrError:e,tagName:t}})=>e===n.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:n,tagName:r}})=>(0,t._)`{error: ${e}, tag: ${r}, tagValue: ${n}}`},code(e){let{gen:o,data:s,schema:c,parentSchema:l,it:u}=e,{oneOf:d}=l;if(!u.opts.discriminator)throw Error(`discriminator: requires discriminator option`);let f=c.propertyName;if(typeof f!=`string`)throw Error(`discriminator: requires propertyName`);if(c.mapping)throw Error(`discriminator: mapping is not supported`);if(!d)throw Error(`discriminator: requires oneOf keyword`);let p=o.let(`valid`,!1),m=o.const(`tag`,(0,t._)`${s}${(0,t.getProperty)(f)}`);o.if((0,t._)`typeof ${m} == "string"`,()=>h(),()=>e.error(!1,{discrError:n.DiscrError.Tag,tag:m,tagName:f})),e.ok(p);function h(){let r=_();o.if(!1);for(let e in r)o.elseIf((0,t._)`${m} === ${e}`),o.assign(p,g(r[e]));o.else(),e.error(!1,{discrError:n.DiscrError.Mapping,tag:m,tagName:f}),o.endIf()}function g(n){let r=o.name(`valid`),i=e.subschema({keyword:`oneOf`,schemaProp:n},r);return e.mergeEvaluated(i,t.Name),r}function _(){let e={},t=o(l),n=!0;for(let e=0;e<d.length;e++){let c=d[e];if(c?.$ref&&!(0,a.schemaHasRulesButRef)(c,u.self.RULES)){let e=c.$ref;if(c=r.resolveRef.call(u.self,u.schemaEnv.root,u.baseId,e),c instanceof r.SchemaEnv&&(c=c.schema),c===void 0)throw new i.default(u.opts.uriResolver,u.baseId,e)}let l=c?.properties?.[f];if(typeof l!=`object`)throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${f}"`);n&&=t||o(c),s(l,e)}if(!n)throw Error(`discriminator: "${f}" must be required`);return e;function o({required:e}){return Array.isArray(e)&&e.includes(f)}function s(e,t){if(e.const)c(e.const,t);else if(e.enum)for(let n of e.enum)c(n,t);else throw Error(`discriminator: "properties/${f}" must have "const" or "enum"`)}function c(t,n){if(typeof t!=`string`||t in e)throw Error(`discriminator: "${f}" values must be unique strings`);e[t]=n}}}}})),Sj=De({$id:()=>wj,$schema:()=>Cj,default:()=>kj,definitions:()=>Ej,properties:()=>Oj,title:()=>Tj,type:()=>Dj}),Cj,wj,Tj,Ej,Dj,Oj,kj,Aj=Ee((()=>{Cj=`http://json-schema.org/draft-07/schema#`,wj=`http://json-schema.org/draft-07/schema#`,Tj=`Core schema meta-schema`,Ej={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:[]}},Dj=[`object`,`boolean`],Oj={$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:`#`}},kj={$schema:Cj,$id:wj,title:Tj,definitions:Ej,type:Dj,properties:Oj,default:!0}})),jj=E(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MissingRefError=e.ValidationError=e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=e.Ajv=void 0;var n=IA(),r=yj(),i=xj(),a=(Aj(),Ae(Sj).default),o=[`/properties`],s=`http://json-schema.org/draft-07/schema`,c=class extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(a,o):a;this.addMetaSchema(e,s,!1),this.refs[`http://json-schema.org/schema`]=s}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(s)?s:void 0)}};e.Ajv=c,t.exports=e=c,t.exports.Ajv=c,Object.defineProperty(e,"__esModule",{value:!0}),e.default=c;var l=bA();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return l.KeywordCxt}});var u=aA();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return u._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return u.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return u.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return u.CodeGen}});var d=xA();Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return d.default}});var f=SA();Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return f.default}})})),Mj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(e,t){return{validate:e,compare:t}}e.fullFormats={date:t(a,o),time:t(c(!0),l),"date-time":t(f(!0),p),"iso-time":t(c(),u),"iso-date-time":t(f(),m),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:_,"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:ne,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:y,int32:{type:`number`,validate:ee},int64:{type:`number`,validate:S},float:{type:`number`,validate:te},double:{type:`number`,validate:te},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,l),"date-time":t(/^\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,p),"iso-time":t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,u),"iso-date-time":t(/^\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,m),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},e.formatNames=Object.keys(e.fullFormats);function n(e){return e%4==0&&(e%100!=0||e%400==0)}var r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){let t=r.exec(e);if(!t)return!1;let a=+t[1],o=+t[2],s=+t[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&n(a)?29:i[o])}function o(e,t){if(e&&t)return e>t?1:e<t?-1:0}var s=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function c(e){return function(t){let n=s.exec(t);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[4],c=n[5]===`-`?-1:1,l=+(n[6]||0),u=+(n[7]||0);if(l>23||u>59||e&&!o)return!1;if(r<=23&&i<=59&&a<60)return!0;let d=i-u*c,f=r-l*c-+(d<0);return(f===23||f===-1)&&(d===59||d===-1)&&a<61}}function l(e,t){if(!(e&&t))return;let n=new Date(`2020-01-01T`+e).valueOf(),r=new Date(`2020-01-01T`+t).valueOf();if(n&&r)return n-r}function u(e,t){if(!(e&&t))return;let n=s.exec(e),r=s.exec(t);if(n&&r)return e=n[1]+n[2]+n[3],t=r[1]+r[2]+r[3],e>t?1:e<t?-1:0}var d=/t|\s/i;function f(e){let t=c(e);return function(e){let n=e.split(d);return n.length===2&&a(n[0])&&t(n[1])}}function p(e,t){if(!(e&&t))return;let n=new Date(e).valueOf(),r=new Date(t).valueOf();if(n&&r)return n-r}function m(e,t){if(!(e&&t))return;let[n,r]=e.split(d),[i,a]=t.split(d),s=o(n,i);if(s!==void 0)return s||l(r,a)}var h=/\/|:/,g=/^(?:[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 _(e){return h.test(e)&&g.test(e)}var v=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function y(e){return v.lastIndex=0,v.test(e)}var b=-(2**31),x=2**31-1;function ee(e){return Number.isInteger(e)&&e<=x&&e>=b}function S(e){return Number.isInteger(e)}function te(){return!0}var C=/[^\\]\\Z/;function ne(e){if(C.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}})),Nj=E((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.formatLimitDefinition=void 0;var t=jj(),n=aA(),r=n.operators,i={formatMaximum:{okStr:`<=`,ok:r.LTE,fail:r.GT},formatMinimum:{okStr:`>=`,ok:r.GTE,fail:r.LT},formatExclusiveMaximum:{okStr:`<`,ok:r.LT,fail:r.GTE},formatExclusiveMinimum:{okStr:`>`,ok:r.GT,fail:r.LTE}};e.formatLimitDefinition={keyword:Object.keys(i),type:`string`,schemaType:`string`,$data:!0,error:{message:({keyword:e,schemaCode:t})=>(0,n.str)`should be ${i[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>(0,n._)`{comparison: ${i[e].okStr}, limit: ${t}}`},code(e){let{gen:r,data:a,schemaCode:o,keyword:s,it:c}=e,{opts:l,self:u}=c;if(!l.validateFormats)return;let d=new t.KeywordCxt(c,u.RULES.all.format.definition,`format`);d.$data?f():p();function f(){let t=r.scopeValue(`formats`,{ref:u.formats,code:l.code.formats}),i=r.const(`fmt`,(0,n._)`${t}[${d.schemaCode}]`);e.fail$data((0,n.or)((0,n._)`typeof ${i} != "object"`,(0,n._)`${i} instanceof RegExp`,(0,n._)`typeof ${i}.compare != "function"`,m(i)))}function p(){let t=d.schema,i=u.formats[t];if(!i||i===!0)return;if(typeof i!=`object`||i instanceof RegExp||typeof i.compare!=`function`)throw Error(`"${s}": format "${t}" does not define "compare" function`);let a=r.scopeValue(`formats`,{key:t,ref:i,code:l.code.formats?(0,n._)`${l.code.formats}${(0,n.getProperty)(t)}`:void 0});e.fail$data(m(a))}function m(e){return(0,n._)`${e}.compare(${a}, ${o}) ${i[s].fail} 0`}},dependencies:[`format`]},e.default=t=>(t.addKeyword(e.formatLimitDefinition),t)})),Pj=E(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0});var n=Mj(),r=Nj(),i=aA(),a=new i.Name(`fullFormats`),o=new i.Name(`fastFormats`),s=(e,t={keywords:!0})=>{if(Array.isArray(t))return c(e,t,n.fullFormats,a),e;let[i,s]=t.mode===`fast`?[n.fastFormats,o]:[n.fullFormats,a];return c(e,t.formats||n.formatNames,i,s),t.keywords&&(0,r.default)(e),e};s.get=(e,t=`full`)=>{let r=(t===`fast`?n.fastFormats:n.fullFormats)[e];if(!r)throw Error(`Unknown format "${e}"`);return r};function c(e,t,n,r){var a;(a=e.opts.code).formats??(a.formats=(0,i._)`require("ajv-formats/dist/formats").${r}`);for(let r of t)e.addFormat(r,n[r])}t.exports=e=s,Object.defineProperty(e,"__esModule",{value:!0}),e.default=s})),Fj=ke(jj(),1),Ij=ke(Pj(),1);function Lj(){let e=new Fj.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return(0,Ij.default)(e),e}var Rj=class{constructor(e){this._ajv=e??Lj()}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 e=>t(e)?{valid:!0,data:e,errorMessage:void 0}:{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(t.errors)}}},zj=class{constructor(e){this._server=e}requestStream(e,t,n){return this._server.requestStream(e,t,n)}createMessageStream(e,t){let n=this._server.getClientCapabilities();if((e.tools||e.toolChoice)&&!n?.sampling?.tools)throw Error(`Client does not support sampling tools capability.`);if(e.messages.length>0){let t=e.messages[e.messages.length-1],n=Array.isArray(t.content)?t.content:[t.content],r=n.some(e=>e.type===`tool_result`),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],o=a.some(e=>e.type===`tool_use`);if(r){if(n.some(e=>e.type!==`tool_result`))throw Error(`The last message must contain only tool_result content if any is present`);if(!o)throw Error(`tool_result blocks are not matching any tool_use from the previous message`)}if(o){let e=new Set(a.filter(e=>e.type===`tool_use`).map(e=>e.id)),t=new Set(n.filter(e=>e.type===`tool_result`).map(e=>e.toolUseId));if(e.size!==t.size||![...e].every(e=>t.has(e)))throw Error(`ids of tool_result blocks and tool_use blocks from previous message do not match`)}}return this.requestStream({method:`sampling/createMessage`,params:e},SO,t)}elicitInputStream(e,t){let n=this._server.getClientCapabilities(),r=e.mode??`form`;switch(r){case`url`:if(!n?.elicitation?.url)throw Error(`Client does not support url elicitation.`);break;case`form`:if(!n?.elicitation?.form)throw Error(`Client does not support form elicitation.`)}let i=r===`form`&&e.mode===void 0?{...e,mode:`form`}:e;return this.requestStream({method:`elicitation/create`,params:i},PO,t)}async getTask(e,t){return this._server.getTask({taskId:e},t)}async getTaskResult(e,t,n){return this._server.getTaskResult({taskId:e},t,n)}async listTasks(e,t){return this._server.listTasks(e?{cursor:e}:void 0,t)}async cancelTask(e,t){return this._server.cancelTask({taskId:e},t)}};function Bj(e,t,n){if(!e)throw Error(`${n} does not support task creation (required for ${t})`);if(t===`tools/call`&&!e.tools?.call)throw Error(`${n} does not support task creation for tools/call (required for ${t})`)}function Vj(e,t,n){if(!e)throw Error(`${n} does not support task creation (required for ${t})`);switch(t){case`sampling/createMessage`:if(!e.sampling?.createMessage)throw Error(`${n} does not support task creation for sampling/createMessage (required for ${t})`);break;case`elicitation/create`:if(!e.elicitation?.create)throw Error(`${n} does not support task creation for elicitation/create (required for ${t})`)}}var Hj=class extends eA{constructor(e,t){super(t),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(lO.options.map((e,t)=>[e,t])),this.isMessageIgnored=(e,t)=>{let n=this._loggingLevels.get(t);return n?this.LOG_LEVEL_SEVERITY.get(e)<this.LOG_LEVEL_SEVERITY.get(n):!1},this._capabilities=t?.capabilities??{},this._instructions=t?.instructions,this._jsonSchemaValidator=t?.jsonSchemaValidator??new Rj,this.setRequestHandler(KE,e=>this._oninitialize(e)),this.setNotificationHandler(YE,()=>this.oninitialized?.()),this._capabilities.logging&&this.setRequestHandler(dO,async(e,t)=>{let n=t.sessionId||t.requestInfo?.headers[`mcp-session-id`]||void 0,{level:r}=e.params,i=lO.safeParse(r);return i.success&&this._loggingLevels.set(n,i.data),{}})}get experimental(){return this._experimental||={tasks:new zj(this)},this._experimental}registerCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after connecting to transport`);this._capabilities=nA(this._capabilities,e)}setRequestHandler(e,t){let n=nE(e)?.method;if(!n)throw Error(`Schema is missing a method literal`);let r=cE(n);if(typeof r!=`string`)throw Error(`Schema method literal must be a string`);return r===`tools/call`?super.setRequestHandler(e,async(e,n)=>{let r=eE(oO,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new $(Q.InvalidParams,`Invalid tools/call request: ${e}`)}let{params:i}=r.data,a=await Promise.resolve(t(e,n));if(i.task){let e=eE(aD,a);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new $(Q.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let o=eE(iO,a);if(!o.success){let e=o.error instanceof Error?o.error.message:String(o.error);throw new $(Q.InvalidParams,`Invalid tools/call result: ${e}`)}return o.data}):super.setRequestHandler(e,t)}assertCapabilityForMethod(e){switch(e){case`sampling/createMessage`:if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${e})`);break;case`elicitation/create`:if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${e})`);break;case`roots/list`:if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${e})`)}}assertNotificationCapability(e){switch(e){case`notifications/message`:if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${e})`);break;case`notifications/resources/updated`:case`notifications/resources/list_changed`:if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${e})`);break;case`notifications/tools/list_changed`:if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case`notifications/prompts/list_changed`:if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case`notifications/elicitation/complete`:if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${e})`)}}assertRequestHandlerCapability(e){if(this._capabilities)switch(e){case`completion/complete`:if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${e})`);break;case`logging/setLevel`:if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${e})`);break;case`prompts/get`:case`prompts/list`:if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${e})`);break;case`resources/list`:case`resources/templates/list`:case`resources/read`:if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${e})`);break;case`tools/call`:case`tools/list`:if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${e})`);break;case`tasks/get`:case`tasks/list`:case`tasks/result`:case`tasks/cancel`:if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${e})`)}}assertTaskCapability(e){Vj(this._clientCapabilities?.tasks?.requests,e,`Client`)}assertTaskHandlerCapability(e){this._capabilities&&Bj(this._capabilities.tasks?.requests,e,`Server`)}async _oninitialize(e){let t=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:uE.includes(t)?t:lE,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:`ping`},FE)}async createMessage(e,t){if((e.tools||e.toolChoice)&&!this._clientCapabilities?.sampling?.tools)throw Error(`Client does not support sampling tools capability.`);if(e.messages.length>0){let t=e.messages[e.messages.length-1],n=Array.isArray(t.content)?t.content:[t.content],r=n.some(e=>e.type===`tool_result`),i=e.messages.length>1?e.messages[e.messages.length-2]:void 0,a=i?Array.isArray(i.content)?i.content:[i.content]:[],o=a.some(e=>e.type===`tool_use`);if(r){if(n.some(e=>e.type!==`tool_result`))throw Error(`The last message must contain only tool_result content if any is present`);if(!o)throw Error(`tool_result blocks are not matching any tool_use from the previous message`)}if(o){let e=new Set(a.filter(e=>e.type===`tool_use`).map(e=>e.id)),t=new Set(n.filter(e=>e.type===`tool_result`).map(e=>e.toolUseId));if(e.size!==t.size||![...e].every(e=>t.has(e)))throw Error(`ids of tool_result blocks and tool_use blocks from previous message do not match`)}}return e.tools?this.request({method:`sampling/createMessage`,params:e},CO,t):this.request({method:`sampling/createMessage`,params:e},SO,t)}async elicitInput(e,t){switch(e.mode??`form`){case`url`:{if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support url elicitation.`);let n=e;return this.request({method:`elicitation/create`,params:n},PO,t)}case`form`:{if(!this._clientCapabilities?.elicitation?.form)throw Error(`Client does not support form elicitation.`);let n=e.mode===`form`?e:{...e,mode:`form`},r=await this.request({method:`elicitation/create`,params:n},PO,t);if(r.action===`accept`&&r.content&&n.requestedSchema)try{let e=this._jsonSchemaValidator.getValidator(n.requestedSchema)(r.content);if(!e.valid)throw new $(Q.InvalidParams,`Elicitation response content does not match requested schema: ${e.errorMessage}`)}catch(e){throw e instanceof $?e:new $(Q.InternalError,`Error validating elicitation response: ${e instanceof Error?e.message:String(e)}`)}return r}}}createElicitationCompletionNotifier(e,t){if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for notifications/elicitation/complete)`);return()=>this.notification({method:`notifications/elicitation/complete`,params:{elicitationId:e}},t)}async listRoots(e,t){return this.request({method:`roots/list`,params:e},WO,t)}async sendLoggingMessage(e,t){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,t))return this.notification({method:`notifications/message`,params:e})}async sendResourceUpdated(e){return this.notification({method:`notifications/resources/updated`,params:e})}async sendResourceListChanged(){return this.notification({method:`notifications/resources/list_changed`})}async sendToolListChanged(){return this.notification({method:`notifications/tools/list_changed`})}async sendPromptListChanged(){return this.notification({method:`notifications/prompts/list_changed`})}},Uj=Symbol.for(`mcp.completable`);function Wj(e){return!!e&&typeof e==`object`&&Uj in e}function Gj(e){return e[Uj]?.complete}var Kj;(function(e){e.Completable=`McpCompletable`})(Kj||={});var qj=/^[A-Za-z0-9._-]{1,128}$/;function Jj(e){let t=[];if(e.length===0)return{isValid:!1,warnings:[`Tool name cannot be empty`]};if(e.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${e.length})`]};if(e.includes(` `)&&t.push(`Tool name contains spaces, which may cause parsing issues`),e.includes(`,`)&&t.push(`Tool name contains commas, which may cause parsing issues`),(e.startsWith(`-`)||e.endsWith(`-`))&&t.push(`Tool name starts or ends with a dash, which may cause parsing issues in some contexts`),(e.startsWith(`.`)||e.endsWith(`.`))&&t.push(`Tool name starts or ends with a dot, which may cause parsing issues in some contexts`),!qj.test(e)){let n=e.split(``).filter(e=>!/[A-Za-z0-9._-]/.test(e)).filter((e,t,n)=>n.indexOf(e)===t);return t.push(`Tool name contains invalid characters: ${n.map(e=>`"${e}"`).join(`, `)}`,`Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)`),{isValid:!1,warnings:t}}return{isValid:!0,warnings:t}}function Yj(e,t){if(t.length>0){console.warn(`Tool name validation warning for "${e}":`);for(let e of t)console.warn(` - ${e}`);console.warn(`Tool registration will proceed, but this may cause compatibility issues.`),console.warn(`Consider updating the tool name to conform to the MCP tool naming standard.`),console.warn(`See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.`)}}function Xj(e){let t=Jj(e);return Yj(e,t.warnings),t.isValid}var Zj=class{constructor(e){this._mcpServer=e}registerToolTask(e,t,n){let r={taskSupport:`required`,...t.execution};if(r.taskSupport===`forbidden`)throw Error(`Cannot register task-based tool '${e}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(e,t.title,t.description,t.inputSchema,t.outputSchema,t.annotations,r,t._meta,n)}},Qj=class{constructor(e,t){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new Hj(e,t)}get experimental(){return this._experimental||={tasks:new Zj(this)},this._experimental}async connect(e){return await this.server.connect(e)}async close(){await this.server.close()}setToolRequestHandlers(){this._toolHandlersInitialized||=(this.server.assertCanSetRequestHandler(aM(nO)),this.server.assertCanSetRequestHandler(aM(oO)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(nO,()=>({tools:Object.entries(this._registeredTools).filter(([,e])=>e.enabled).map(([e,t])=>{let n={name:e,title:t.title,description:t.description,inputSchema:(()=>{let e=rE(t.inputSchema);return e?Zk(e,{strictUnions:!0,pipeStrategy:`input`}):$j})(),annotations:t.annotations,execution:t.execution,_meta:t._meta};if(t.outputSchema){let e=rE(t.outputSchema);e&&(n.outputSchema=Zk(e,{strictUnions:!0,pipeStrategy:`output`}))}return n})})),this.server.setRequestHandler(oO,async(e,t)=>{try{let n=this._registeredTools[e.params.name];if(!n)throw new $(Q.InvalidParams,`Tool ${e.params.name} not found`);if(!n.enabled)throw new $(Q.InvalidParams,`Tool ${e.params.name} disabled`);let r=!!e.params.task,i=n.execution?.taskSupport,a=`createTask`in n.handler;if((i===`required`||i===`optional`)&&!a)throw new $(Q.InternalError,`Tool ${e.params.name} has taskSupport '${i}' but was not registered with registerToolTask`);if(i===`required`&&!r)throw new $(Q.MethodNotFound,`Tool ${e.params.name} requires task augmentation (taskSupport: 'required')`);if(i===`optional`&&!r&&a)return await this.handleAutomaticTaskPolling(n,e,t);let o=await this.validateToolInput(n,e.params.arguments,e.params.name),s=await this.executeToolHandler(n,o,t);return r||await this.validateToolOutput(n,s,e.params.name),s}catch(e){if(e instanceof $&&e.code===Q.UrlElicitationRequired)throw e;return this.createToolError(e instanceof Error?e.message:String(e))}}),!0)}createToolError(e){return{content:[{type:`text`,text:e}],isError:!0}}async validateToolInput(e,t,n){if(!e.inputSchema)return;let r=await tE(rE(e.inputSchema)??e.inputSchema,t);if(!r.success){let e=aE(`error`in r?r.error:`Unknown error`);throw new $(Q.InvalidParams,`Input validation error: Invalid arguments for tool ${n}: ${e}`)}return r.data}async validateToolOutput(e,t,n){if(!e.outputSchema||!(`content`in t)||t.isError)return;if(!t.structuredContent)throw new $(Q.InvalidParams,`Output validation error: Tool ${n} has an output schema but no structured content was provided`);let r=await tE(rE(e.outputSchema),t.structuredContent);if(!r.success){let e=aE(`error`in r?r.error:`Unknown error`);throw new $(Q.InvalidParams,`Output validation error: Invalid structured content for tool ${n}: ${e}`)}}async executeToolHandler(e,t,n){let r=e.handler;if(`createTask`in r){if(!n.taskStore)throw Error(`No task store provided.`);let i={...n,taskStore:n.taskStore};if(e.inputSchema){let e=r;return await Promise.resolve(e.createTask(t,i))}{let e=r;return await Promise.resolve(e.createTask(i))}}if(e.inputSchema){let e=r;return await Promise.resolve(e(t,n))}{let e=r;return await Promise.resolve(e(n))}}async handleAutomaticTaskPolling(e,t,n){if(!n.taskStore)throw Error(`No task store provided for task-capable tool.`);let r=await this.validateToolInput(e,t.params.arguments,t.params.name),i=e.handler,a={...n,taskStore:n.taskStore},o=r?await Promise.resolve(i.createTask(r,a)):await Promise.resolve(i.createTask(a)),s=o.task.taskId,c=o.task,l=c.pollInterval??5e3;for(;c.status!==`completed`&&c.status!==`failed`&&c.status!==`cancelled`;){await new Promise(e=>setTimeout(e,l));let e=await n.taskStore.getTask(s);if(!e)throw new $(Q.InternalError,`Task ${s} not found during polling`);c=e}return await n.taskStore.getTaskResult(s)}setCompletionRequestHandler(){this._completionHandlerInitialized||=(this.server.assertCanSetRequestHandler(aM(RO)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(RO,async e=>{switch(e.params.ref.type){case`ref/prompt`:return zO(e),this.handlePromptCompletion(e,e.params.ref);case`ref/resource`:return BO(e),this.handleResourceCompletion(e,e.params.ref);default:throw new $(Q.InvalidParams,`Invalid completion reference: ${e.params.ref}`)}}),!0)}async handlePromptCompletion(e,t){let n=this._registeredPrompts[t.name];if(!n)throw new $(Q.InvalidParams,`Prompt ${t.name} not found`);if(!n.enabled)throw new $(Q.InvalidParams,`Prompt ${t.name} disabled`);if(!n.argsSchema)return sM;let r=nE(n.argsSchema)?.[e.params.argument.name];if(!Wj(r))return sM;let i=Gj(r);return i?oM(await i(e.params.argument.value,e.params.context)):sM}async handleResourceCompletion(e,t){let n=Object.values(this._registeredResourceTemplates).find(e=>e.resourceTemplate.uriTemplate.toString()===t.uri);if(!n){if(this._registeredResources[t.uri])return sM;throw new $(Q.InvalidParams,`Resource template ${e.params.ref.uri} not found`)}let r=n.resourceTemplate.completeCallback(e.params.argument.name);return r?oM(await r(e.params.argument.value,e.params.context)):sM}setResourceRequestHandlers(){this._resourceHandlersInitialized||=(this.server.assertCanSetRequestHandler(aM(CD)),this.server.assertCanSetRequestHandler(aM(TD)),this.server.assertCanSetRequestHandler(aM(kD)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(CD,async(e,t)=>{let n=Object.entries(this._registeredResources).filter(([e,t])=>t.enabled).map(([e,t])=>({uri:e,name:t.name,...t.metadata})),r=[];for(let e of Object.values(this._registeredResourceTemplates)){if(!e.resourceTemplate.listCallback)continue;let n=await e.resourceTemplate.listCallback(t);for(let t of n.resources)r.push({...e.metadata,...t})}return{resources:[...n,...r]}}),this.server.setRequestHandler(TD,async()=>({resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([e,t])=>({name:e,uriTemplate:t.resourceTemplate.uriTemplate.toString(),...t.metadata}))})),this.server.setRequestHandler(kD,async(e,t)=>{let n=new URL(e.params.uri),r=this._registeredResources[n.toString()];if(r){if(!r.enabled)throw new $(Q.InvalidParams,`Resource ${n} disabled`);return r.readCallback(n,t)}for(let e of Object.values(this._registeredResourceTemplates)){let r=e.resourceTemplate.uriTemplate.match(n.toString());if(r)return e.readCallback(n,r,t)}throw new $(Q.InvalidParams,`Resource ${n} not found`)}),!0)}setPromptRequestHandlers(){this._promptHandlersInitialized||=(this.server.assertCanSetRequestHandler(aM(BD)),this.server.assertCanSetRequestHandler(aM(UD)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(BD,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,e])=>e.enabled).map(([e,t])=>({name:e,title:t.title,description:t.description,arguments:t.argsSchema?iM(t.argsSchema):void 0}))})),this.server.setRequestHandler(UD,async(e,t)=>{let n=this._registeredPrompts[e.params.name];if(!n)throw new $(Q.InvalidParams,`Prompt ${e.params.name} not found`);if(!n.enabled)throw new $(Q.InvalidParams,`Prompt ${e.params.name} disabled`);if(n.argsSchema){let r=await tE(rE(n.argsSchema),e.params.arguments);if(!r.success){let t=aE(`error`in r?r.error:`Unknown error`);throw new $(Q.InvalidParams,`Invalid arguments for prompt ${e.params.name}: ${t}`)}let i=r.data,a=n.callback;return await Promise.resolve(a(i,t))}{let e=n.callback;return await Promise.resolve(e(t))}}),!0)}resource(e,t,...n){let r;typeof n[0]==`object`&&(r=n.shift());let i=n[0];if(typeof t==`string`){if(this._registeredResources[t])throw Error(`Resource ${t} is already registered`);let n=this._createRegisteredResource(e,void 0,t,r,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),n}{if(this._registeredResourceTemplates[e])throw Error(`Resource template ${e} is already registered`);let n=this._createRegisteredResourceTemplate(e,void 0,t,r,i);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),n}}registerResource(e,t,n,r){if(typeof t==`string`){if(this._registeredResources[t])throw Error(`Resource ${t} is already registered`);let i=this._createRegisteredResource(e,n.title,t,n,r);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}{if(this._registeredResourceTemplates[e])throw Error(`Resource template ${e} is already registered`);let i=this._createRegisteredResourceTemplate(e,n.title,t,n,r);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),i}}_createRegisteredResource(e,t,n,r,i){let a={name:e,title:t,metadata:r,readCallback:i,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({uri:null}),update:e=>{e.uri!==void 0&&e.uri!==n&&(delete this._registeredResources[n],e.uri&&(this._registeredResources[e.uri]=a)),e.name!==void 0&&(a.name=e.name),e.title!==void 0&&(a.title=e.title),e.metadata!==void 0&&(a.metadata=e.metadata),e.callback!==void 0&&(a.readCallback=e.callback),e.enabled!==void 0&&(a.enabled=e.enabled),this.sendResourceListChanged()}};return this._registeredResources[n]=a,a}_createRegisteredResourceTemplate(e,t,n,r,i){let a={resourceTemplate:n,title:t,metadata:r,readCallback:i,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:t=>{t.name!==void 0&&t.name!==e&&(delete this._registeredResourceTemplates[e],t.name&&(this._registeredResourceTemplates[t.name]=a)),t.title!==void 0&&(a.title=t.title),t.template!==void 0&&(a.resourceTemplate=t.template),t.metadata!==void 0&&(a.metadata=t.metadata),t.callback!==void 0&&(a.readCallback=t.callback),t.enabled!==void 0&&(a.enabled=t.enabled),this.sendResourceListChanged()}};this._registeredResourceTemplates[e]=a;let o=n.uriTemplate.variableNames;return Array.isArray(o)&&o.some(e=>!!n.completeCallback(e))&&this.setCompletionRequestHandler(),a}_createRegisteredPrompt(e,t,n,r,i){let a={title:t,description:n,argsSchema:r===void 0?void 0:$T(r),callback:i,enabled:!0,disable:()=>a.update({enabled:!1}),enable:()=>a.update({enabled:!0}),remove:()=>a.update({name:null}),update:t=>{t.name!==void 0&&t.name!==e&&(delete this._registeredPrompts[e],t.name&&(this._registeredPrompts[t.name]=a)),t.title!==void 0&&(a.title=t.title),t.description!==void 0&&(a.description=t.description),t.argsSchema!==void 0&&(a.argsSchema=$T(t.argsSchema)),t.callback!==void 0&&(a.callback=t.callback),t.enabled!==void 0&&(a.enabled=t.enabled),this.sendPromptListChanged()}};return this._registeredPrompts[e]=a,r&&Object.values(r).some(e=>Wj(e instanceof Jl?e._def?.innerType:e))&&this.setCompletionRequestHandler(),a}_createRegisteredTool(e,t,n,r,i,a,o,s,c){Xj(e);let l={title:t,description:n,inputSchema:rM(r),outputSchema:rM(i),annotations:a,execution:o,_meta:s,handler:c,enabled:!0,disable:()=>l.update({enabled:!1}),enable:()=>l.update({enabled:!0}),remove:()=>l.update({name:null}),update:t=>{t.name!==void 0&&t.name!==e&&(typeof t.name==`string`&&Xj(t.name),delete this._registeredTools[e],t.name&&(this._registeredTools[t.name]=l)),t.title!==void 0&&(l.title=t.title),t.description!==void 0&&(l.description=t.description),t.paramsSchema!==void 0&&(l.inputSchema=$T(t.paramsSchema)),t.outputSchema!==void 0&&(l.outputSchema=$T(t.outputSchema)),t.callback!==void 0&&(l.handler=t.callback),t.annotations!==void 0&&(l.annotations=t.annotations),t._meta!==void 0&&(l._meta=t._meta),t.enabled!==void 0&&(l.enabled=t.enabled),this.sendToolListChanged()}};return this._registeredTools[e]=l,this.setToolRequestHandlers(),this.sendToolListChanged(),l}tool(e,...t){if(this._registeredTools[e])throw Error(`Tool ${e} is already registered`);let n,r,i,a;if(typeof t[0]==`string`&&(n=t.shift()),t.length>1){let n=t[0];if(nM(n))r=t.shift(),t.length>1&&typeof t[0]==`object`&&t[0]!==null&&!nM(t[0])&&(a=t.shift());else if(typeof n==`object`&&n){if(Object.values(n).some(e=>typeof e==`object`&&!!e))throw Error(`Tool ${e} expected a Zod schema or ToolAnnotations, but received an unrecognized object`);a=t.shift()}}let o=t[0];return this._createRegisteredTool(e,void 0,n,r,i,a,{taskSupport:`forbidden`},void 0,o)}registerTool(e,t,n){if(this._registeredTools[e])throw Error(`Tool ${e} is already registered`);let{title:r,description:i,inputSchema:a,outputSchema:o,annotations:s,_meta:c}=t;return this._createRegisteredTool(e,r,i,a,o,s,{taskSupport:`forbidden`},c,n)}prompt(e,...t){if(this._registeredPrompts[e])throw Error(`Prompt ${e} is already registered`);let n;typeof t[0]==`string`&&(n=t.shift());let r;t.length>1&&(r=t.shift());let i=t[0],a=this._createRegisteredPrompt(e,void 0,n,r,i);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),a}registerPrompt(e,t,n){if(this._registeredPrompts[e])throw Error(`Prompt ${e} is already registered`);let{title:r,description:i,argsSchema:a}=t,o=this._createRegisteredPrompt(e,r,i,a,n);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),o}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(e,t){return this.server.sendLoggingMessage(e,t)}sendResourceListChanged(){this.isConnected()&&this.server.sendResourceListChanged()}sendToolListChanged(){this.isConnected()&&this.server.sendToolListChanged()}sendPromptListChanged(){this.isConnected()&&this.server.sendPromptListChanged()}},$j={type:`object`,properties:{}};function eM(e){return typeof e==`object`&&!!e&&`parse`in e&&typeof e.parse==`function`&&`safeParse`in e&&typeof e.safeParse==`function`}function tM(e){return`_def`in e||`_zod`in e||eM(e)}function nM(e){return typeof e!=`object`||!e||tM(e)?!1:Object.keys(e).length===0||Object.values(e).some(eM)}function rM(e){if(e){if(nM(e))return $T(e);if(!tM(e))throw Error(`inputSchema must be a Zod schema or raw shape, received an unrecognized object`);return e}}function iM(e){let t=nE(e);return t?Object.entries(t).map(([e,t])=>({name:e,description:oE(t),required:!sE(t)})):[]}function aM(e){let t=nE(e)?.method;if(!t)throw Error(`Schema is missing a method literal`);let n=cE(t);if(typeof n==`string`)return n;throw Error(`Schema method literal must be a string`)}function oM(e){return{completion:{values:e.slice(0,100),total:e.length,hasMore:e.length>100}}}var sM={completion:{values:[],hasMore:!1}},cM=class{constructor(e){this._maxBufferSize=e?.maxBufferSize??10485760}append(e){if((this._buffer?.length??0)+e.length>this._maxBufferSize)throw this.clear(),Error(`ReadBuffer exceeded maximum size of ${this._maxBufferSize} bytes`);this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(`
|
|
281
|
+
`);if(e===-1)return null;let t=this._buffer.toString(`utf8`,0,e).replace(/\r$/,``);return this._buffer=this._buffer.subarray(e+1),lM(t)}clear(){this._buffer=void 0}};function lM(e){return PE.parse(JSON.parse(e))}function uM(e){return JSON.stringify(e)+`
|
|
282
|
+
`}var dM=class{constructor(e=oe.stdin,t=oe.stdout,n){this._stdin=e,this._stdout=t,this._started=!1,this._ondata=e=>{try{this._readBuffer.append(e),this.processReadBuffer()}catch(e){this.onerror?.(e),this.close().catch(()=>{})}},this._onerror=e=>{this.onerror?.(e)},this._readBuffer=new cM({maxBufferSize:n?.maxBufferSize})}async start(){if(this._started)throw Error(`StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.`);this._started=!0,this._stdin.on(`data`,this._ondata),this._stdin.on(`error`,this._onerror)}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){this._stdin.off(`data`,this._ondata),this._stdin.off(`error`,this._onerror),this._stdin.listenerCount(`data`)===0&&this._stdin.pause(),this._readBuffer.clear(),this.onclose?.()}send(e){return new Promise(t=>{let n=uM(e);this._stdout.write(n)?t():this._stdout.once(`drain`,t)})}},fM=JSON.parse(u(new URL(`../package.json`,import.meta.url),`utf8`));if(typeof fM!=`object`||!fM||!(`version`in fM)||typeof fM.version!=`string`||!/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/u.test(fM.version))throw Error(`The adjacent ai-delivery package identity must contain a stable version.`);var pM=fM.version;function mM(e,t){let n=new Qj({name:`ai-delivery`,version:pM}),r=iw;for(let i of r)n.registerTool(i.name,{description:i.description,inputSchema:i.inputSchema},async(n,r)=>{let a=i.inputSchema.safeParse(n);if(!a.success)return{content:[{type:`text`,text:`Invalid arguments for ${i.name}.`}],isError:!0};try{let n=e.signal===void 0?r.signal:AbortSignal.any([e.signal,r.signal]),o=vw(i.name,a.data,{...e,signal:n});t?.add(o);let s;try{s=await o}finally{t?.delete(o)}return{content:[{type:`text`,text:JSON.stringify(s)}]}}catch(e){return{content:[{type:`text`,text:e instanceof Error?e.message:String(e)}],isError:!0}}});return n}async function hM(e){Hg(!0);let t=new AbortController,n=new Set,r=mM({...e,signal:t.signal},n),i,a=()=>(i??=(async()=>{t.abort(),await Promise.allSettled(n),await r.close(),process.exit(0)})(),i);process.once(`SIGINT`,()=>{a()}),process.once(`SIGTERM`,()=>{a()}),await r.connect(new dM),process.stderr.write(`ai-delivery MCP server started
|
|
283
|
+
`),await new Promise(()=>{})}var gM=e=>/^(?:area|risk):[^\s:]+$/u.test(e),_M=gM,vM=N({number:A().int().positive(),body:k(),labels:M(k()),trackingParent:j().optional(),resolvedLegacyBlockers:M(N({number:A().int().positive(),state:F([`OPEN`,`CLOSED`])}).strict()).optional(),existingNative:N({blockedBy:M(N({number:A().int().positive(),state:F([`OPEN`,`CLOSED`])}).strict()),issueType:k().optional(),points:A().int().positive().optional(),priority:k().optional(),projectStatus:F([`Todo`,`In Progress`,`Blocked`,`Done`]).optional()}).strict().optional()}).strict();function yM(e){let t=N({issues:M(vM),repositoryLabels:M(k()).optional()}).strict().parse(e),n=t.issues.map(e=>e.number);if(new Set(n).size!==n.length)throw new L(`Legacy issue input repeats an issue number.`);return{mode:`dry-run`,plans:t.issues.map(e=>{let t=e.existingNative,n=t===void 0?void 0:{blockedBy:t.blockedBy,...t.issueType===void 0?{}:{issueType:t.issueType},...t.points===void 0?{}:{points:t.points},...t.priority===void 0?{}:{priority:t.priority},...t.projectStatus===void 0?{}:{projectStatus:t.projectStatus}};return{number:e.number,...CM({body:e.body,labels:e.labels,...n===void 0?{}:{existingNative:n},...e.resolvedLegacyBlockers===void 0?{}:{resolvedLegacyBlockers:e.resolvedLegacyBlockers},...e.trackingParent===void 0?{}:{trackingParent:e.trackingParent}})}}),retiredRepositoryLabels:wM(t.repositoryLabels??[]),schemaVersion:`ai-delivery.legacy-issue-migration@1`,validated:0}}var bM=new Map([[`effort:l`,5],[`effort:m`,3],[`effort:medium`,3],[`effort:s`,2],[`effort:xl`,8],[`effort:xs`,1]]),xM=new Map([[`priority:high`,`P1`],[`priority:p0`,`P0`],[`priority:p1`,`P1`],[`priority:p2`,`P2`],[`priority:p3`,`P3`],[`priority:p4`,`P4`]]),SM=new Map([[`type:bug`,`Bug`],[`type:design`,`Task`],[`type:epic`,`Task`],[`type:feature`,`Feature`],[`type:spike`,`Task`],[`type:task`,`Task`],[`type:tracking`,`Task`]]);function CM(e){let t=[...new Set(e.labels.map(e=>e.trim()).filter(Boolean))],n=TM(e.body),r=kM(e.body,`executionContract`),i=kM(e.body,`dependencyDeclaration`),a=kM(e.body,`related`),o=DM([...e.existingNative?.blockedBy??[],...e.resolvedLegacyBlockers??[]]),s=jM({dependencyDeclaration:i,executionContract:r,related:a}),c=[...new Set([...o.keys(),...s])].sort((e,t)=>e-t),l=new Set(c.filter(e=>o.get(e)!==`CLOSED`));if(t.some(e=>e.toLowerCase()===`type:tracking`)&&e.trackingParent!==!0)throw new L(`Legacy type:tracking requires a native sub-issue relationship before its label can be retired.`);let u=e.trackingParent===!0,d=u?void 0:e.existingNative?.points??PM({...n.points===void 0?{}:{bodyPoint:n.points},executionContract:r,labels:t}),f=e.existingNative?.priority??FM({label:`priority`,labels:t,mapping:xM}),p=e.existingNative?.issueType??FM({label:`issue type`,labels:t,mapping:SM});if(e.existingNative?.projectStatus===`Done`)throw new L(`An open issue cannot retain Project Done during legacy migration.`);let m=NM({existing:e.existingNative?.projectStatus,labels:t,unresolvedBlockers:l}),h=t.filter(gM);h.sort();let g=t.filter(e=>!h.includes(e)).sort();return{body:AM(n.body),clearPoints:u&&e.existingNative?.points!==void 0,native:{blockedBy:c,...p===void 0?{}:{issueType:p},...d===void 0?{}:{points:d},...f===void 0?{}:{priority:f},projectStatus:m},retainedLabels:h,retiredLabels:g}}function wM(e){return[...new Set(e.map(e=>e.trim()).filter(e=>e.length>0))].filter(e=>!_M(e)).sort((e,t)=>e.localeCompare(t))}function TM(e){let t=e.split(/\r?\n/u),n=t.flatMap((e,t)=>e.trim().toLowerCase()===`## fibonacci points`?[t]:[]);if(n.length===0)return{body:e};if(n.length>1)throw new L(`Found duplicate legacy Fibonacci points sections.`);let r=n[0];if(r===void 0)return{body:e};let i=t.length;for(let e=r+1;e<t.length;e+=1)if(t[e]?.trimStart().startsWith(`## `)===!0){i=e;break}let a=t.slice(r+1,i).map(e=>e.trim()).filter(Boolean);if(a.length!==1||!/^(?:1|2|3|5|8|13)$/u.test(a[0]??``))throw new L(`Legacy Fibonacci points section must contain exactly one supported numeric value.`);return{body:[...t.slice(0,r),...t.slice(i)].join(`
|
|
284
|
+
`),points:Number(a[0])}}function EM(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0}function DM(e){let t=new Map;for(let n of e){if(!EM(n.number))throw new L(`Native blocked-by relationship evidence is malformed.`);let e=t.get(n.number);if(e!==void 0&&e!==n.state)throw new L(`Native blocker #${String(n.number)} has conflicting relationship states.`);t.set(n.number,n.state)}return t}function OM(e){if(EM(e))return e;if(typeof e!=`string`)return;let t=/^#?([1-9]\d*)$/u.exec(e.trim()),n=t?.[1]===void 0?NaN:Number(t[1]);return EM(n)?n:void 0}function kM(e,t){let n=RegExp(`<!--\\s*${t}:\\s*([\\s\\S]*?)\\s*-->`,`u`).exec(e)?.[1];if(n!==void 0)try{let e=JSON.parse(n);if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`not an object`);return e}catch{throw new L(`Invalid legacy ${t} payload.`)}}function AM(e){return e.replace(/<!--\s*(?:executionContract|dependencyDeclaration|related):[\s\S]*?-->\s*/gu,``).trim()}function jM({dependencyDeclaration:e,executionContract:t,related:n}){let r=[],i=t?.dependencies;if(Array.isArray(i))for(let e of i){if(typeof e!=`object`||!e)continue;let t=e,n=OM(t.issue);t.type===`blockedBy`&&n!==void 0&&r.push(n)}return r.push(...MM(e?.blockedBy)),r.push(...MM(n?.blockedBy)),[...new Set(r)].sort((e,t)=>e-t)}function MM(e){return Array.isArray(e)?e.map(OM).filter(e=>e!==void 0):[]}function NM(e){if(e.unresolvedBlockers.size>0)return`Blocked`;let t=e.labels.some(e=>[`status:in-progress`,`status:review`].includes(e.toLowerCase()));return e.existing===`In Progress`||t?`In Progress`:`Todo`}function PM(e){let t=[];for(let n of e.labels){let e=bM.get(n.toLowerCase());e!==void 0&&t.push(e);let r=/^points:(1|2|3|5|8|13)$/u.exec(n.toLowerCase());r?.[1]!==void 0&&t.push(Number(r[1]))}let n=e.executionContract?.effort;if(typeof n==`string`){let e=n.startsWith(`effort:`)?n:`effort:${n}`,r=bM.get(e.toLowerCase());r!==void 0&&t.push(r)}e.bodyPoint!==void 0&&t.push(e.bodyPoint);let r=[...new Set(t)];if(r.length>1)throw new L(`Found conflicting legacy sizing values: ${r.join(`, `)}.`);let[i]=r;if(i===void 0)throw new L(`Issue has no canonical Fibonacci sizing value; assign native Points before migration.`);return i}function FM({label:e,labels:t,mapping:n}){let r=t.flatMap(e=>{let t=n.get(e.toLowerCase());return t===void 0?[]:[t]}),i=[...new Set(r)];if(i.length>1)throw new L(`Found conflicting legacy ${e} values.`);return i[0]}var IM=class{constructor(e){this._client=e}async*callToolStream(e,t=iO,n){let r=this._client,i={...n,task:n?.task??(r.isToolTask(e.name)?{}:void 0)},a=r.requestStream({method:`tools/call`,params:e},t,i),o=r.getToolOutputValidator(e.name);for await(let t of a){if(t.type===`result`&&o){let n=t.result;if(!n.structuredContent&&!n.isError){yield{type:`error`,error:new $(Q.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`)};return}if(n.structuredContent)try{let e=o(n.structuredContent);if(!e.valid){yield{type:`error`,error:new $(Q.InvalidParams,`Structured content does not match the tool's output schema: ${e.errorMessage}`)};return}}catch(e){if(e instanceof $){yield{type:`error`,error:e};return}yield{type:`error`,error:new $(Q.InvalidParams,`Failed to validate structured content: ${e instanceof Error?e.message:String(e)}`)};return}}yield t}}async getTask(e,t){return this._client.getTask({taskId:e},t)}async getTaskResult(e,t,n){return this._client.getTaskResult({taskId:e},t,n)}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,n){return this._client.requestStream(e,t,n)}};function LM(e,t){if(e&&typeof t==`object`&&t){if(e.type===`object`&&e.properties&&typeof e.properties==`object`){let n=t,r=e.properties;for(let e of Object.keys(r)){let t=r[e];n[e]===void 0&&Object.prototype.hasOwnProperty.call(t,`default`)&&(n[e]=t.default),n[e]!==void 0&&LM(t,n[e])}}if(Array.isArray(e.anyOf))for(let n of e.anyOf)typeof n!=`boolean`&&LM(n,t);if(Array.isArray(e.oneOf))for(let n of e.oneOf)typeof n!=`boolean`&&LM(n,t)}}function RM(e){if(!e)return{supportsFormMode:!1,supportsUrlMode:!1};let t=e.form!==void 0,n=e.url!==void 0;return{supportsFormMode:t||!t&&!n,supportsUrlMode:n}}var zM=class extends eA{constructor(e,t){super(t),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 Rj,t?.listChanged&&(this._pendingListChangedConfig=t.listChanged)}_setupListChangedHandlers(e){e.tools&&this._serverCapabilities?.tools?.listChanged&&this._setupListChangedHandler(`tools`,sO,e.tools,async()=>(await this.listTools()).tools),e.prompts&&this._serverCapabilities?.prompts?.listChanged&&this._setupListChangedHandler(`prompts`,QD,e.prompts,async()=>(await this.listPrompts()).prompts),e.resources&&this._serverCapabilities?.resources?.listChanged&&this._setupListChangedHandler(`resources`,jD,e.resources,async()=>(await this.listResources()).resources)}get experimental(){return this._experimental||={tasks:new IM(this)},this._experimental}registerCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after connecting to transport`);this._capabilities=nA(this._capabilities,e)}setRequestHandler(e,t){let n=nE(e)?.method;if(!n)throw Error(`Schema is missing a method literal`);let r=cE(n);if(typeof r!=`string`)throw Error(`Schema method literal must be a string`);let i=r;return i===`elicitation/create`?super.setRequestHandler(e,async(e,n)=>{let r=eE(jO,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new $(Q.InvalidParams,`Invalid elicitation request: ${e}`)}let{params:i}=r.data;i.mode=i.mode??`form`;let{supportsFormMode:a,supportsUrlMode:o}=RM(this._capabilities.elicitation);if(i.mode===`form`&&!a)throw new $(Q.InvalidParams,`Client does not support form-mode elicitation requests`);if(i.mode===`url`&&!o)throw new $(Q.InvalidParams,`Client does not support URL-mode elicitation requests`);let s=await Promise.resolve(t(e,n));if(i.task){let e=eE(aD,s);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new $(Q.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let c=eE(PO,s);if(!c.success){let e=c.error instanceof Error?c.error.message:String(c.error);throw new $(Q.InvalidParams,`Invalid elicitation result: ${e}`)}let l=c.data,u=i.mode===`form`?i.requestedSchema:void 0;if(i.mode===`form`&&l.action===`accept`&&l.content&&u&&this._capabilities.elicitation?.form?.applyDefaults)try{LM(u,l.content)}catch{}return l}):i===`sampling/createMessage`?super.setRequestHandler(e,async(e,n)=>{let r=eE(xO,e);if(!r.success){let e=r.error instanceof Error?r.error.message:String(r.error);throw new $(Q.InvalidParams,`Invalid sampling request: ${e}`)}let{params:i}=r.data,a=await Promise.resolve(t(e,n));if(i.task){let e=eE(aD,a);if(!e.success){let t=e.error instanceof Error?e.error.message:String(e.error);throw new $(Q.InvalidParams,`Invalid task creation result: ${t}`)}return e.data}let o=eE(i.tools||i.toolChoice?CO:SO,a);if(!o.success){let e=o.error instanceof Error?o.error.message:String(o.error);throw new $(Q.InvalidParams,`Invalid sampling result: ${e}`)}return o.data}):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)try{let n=await this.request({method:`initialize`,params:{protocolVersion:lE,capabilities:this._capabilities,clientInfo:this._clientInfo}},JE,t);if(n===void 0)throw Error(`Server sent invalid initialize result: ${n}`);if(!uE.includes(n.protocolVersion))throw Error(`Server's protocol version is not supported: ${n.protocolVersion}`);this._serverCapabilities=n.capabilities,this._serverVersion=n.serverInfo,e.setProtocolVersion&&e.setProtocolVersion(n.protocolVersion),this._instructions=n.instructions,await this.notification({method:`notifications/initialized`}),this._pendingListChangedConfig&&=(this._setupListChangedHandlers(this._pendingListChangedConfig),void 0)}catch(e){throw this.close(),e}}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})`)}}assertNotificationCapability(e){if(e===`notifications/roots/list_changed`&&!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${e})`)}assertRequestHandlerCapability(e){if(this._capabilities)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})`)}}assertTaskCapability(e){Bj(this._serverCapabilities?.tasks?.requests,e,`Server`)}assertTaskHandlerCapability(e){this._capabilities&&Vj(this._capabilities.tasks?.requests,e,`Client`)}async ping(e){return this.request({method:`ping`},FE,e)}async complete(e,t){return this.request({method:`completion/complete`,params:e},VO,t)}async setLoggingLevel(e,t){return this.request({method:`logging/setLevel`,params:{level:e}},FE,t)}async getPrompt(e,t){return this.request({method:`prompts/get`,params:e},ZD,t)}async listPrompts(e,t){return this.request({method:`prompts/list`,params:e},VD,t)}async listResources(e,t){return this.request({method:`resources/list`,params:e},wD,t)}async listResourceTemplates(e,t){return this.request({method:`resources/templates/list`,params:e},ED,t)}async readResource(e,t){return this.request({method:`resources/read`,params:e},AD,t)}async subscribeResource(e,t){return this.request({method:`resources/subscribe`,params:e},FE,t)}async unsubscribeResource(e,t){return this.request({method:`resources/unsubscribe`,params:e},FE,t)}async callTool(e,t=iO,n){if(this.isToolTaskRequired(e.name))throw new $(Q.InvalidRequest,`Tool "${e.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let r=await this.request({method:`tools/call`,params:e},t,n),i=this.getToolOutputValidator(e.name);if(i){if(!r.structuredContent&&!r.isError)throw new $(Q.InvalidRequest,`Tool ${e.name} has an output schema but did not return structured content`);if(r.structuredContent)try{let e=i(r.structuredContent);if(!e.valid)throw new $(Q.InvalidParams,`Structured content does not match the tool's output schema: ${e.errorMessage}`)}catch(e){throw e instanceof $?e:new $(Q.InvalidParams,`Failed to validate structured content: ${e instanceof Error?e.message:String(e)}`)}}return r}isToolTask(e){return this._serverCapabilities?.tasks?.requests?.tools?.call?this._cachedKnownTaskTools.has(e):!1}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 e=this._jsonSchemaValidator.getValidator(t.outputSchema);this._cachedToolOutputValidators.set(t.name,e)}let e=t.execution?.taskSupport;(e===`required`||e===`optional`)&&this._cachedKnownTaskTools.add(t.name),e===`required`&&this._cachedRequiredTaskTools.add(t.name)}}getToolOutputValidator(e){return this._cachedToolOutputValidators.get(e)}async listTools(e,t){let n=await this.request({method:`tools/list`,params:e},rO,t);return this.cacheToolMetadata(n.tools),n}_setupListChangedHandler(e,t,n,r){let i=cO.safeParse(n);if(!i.success)throw Error(`Invalid ${e} listChanged options: ${i.error.message}`);if(typeof n.onChanged!=`function`)throw Error(`Invalid ${e} listChanged options: onChanged must be a function`);let{autoRefresh:a,debounceMs:o}=i.data,{onChanged:s}=n,c=async()=>{if(!a){s(null,null);return}try{let e=await r();s(null,e)}catch(e){let t=e instanceof Error?e:Error(String(e));s(t,null)}};this.setNotificationHandler(t,()=>{if(o){let t=this._listChangedDebounceTimers.get(e);t&&clearTimeout(t);let n=setTimeout(c,o);this._listChangedDebounceTimers.set(e,n)}else c()})}async sendRootsListChanged(){return this.notification({method:`notifications/roots/list_changed`})}},BM=E(((e,t)=>{t.exports=a,a.sync=o;var n=je(`fs`);function r(e,t){var n=t.pathExt===void 0?process.env.PATHEXT:t.pathExt;if(!n||(n=n.split(`;`),n.indexOf(``)!==-1))return!0;for(var r=0;r<n.length;r++){var i=n[r].toLowerCase();if(i&&e.substr(-i.length).toLowerCase()===i)return!0}return!1}function i(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:r(t,n)}function a(e,t,r){n.stat(e,function(n,a){r(n,!n&&i(a,e,t))})}function o(e,t){return i(n.statSync(e),e,t)}})),VM=E(((e,t)=>{t.exports=r,r.sync=i;var n=je(`fs`);function r(e,t,r){n.stat(e,function(e,n){r(e,!e&&a(n,t))})}function i(e,t){return a(n.statSync(e),t)}function a(e,t){return e.isFile()&&o(e,t)}function o(e,t){var n=e.mode,r=e.uid,i=e.gid,a=t.uid===void 0?process.getuid&&process.getuid():t.uid,o=t.gid===void 0?process.getgid&&process.getgid():t.gid,s=64,c=8,l=1,u=s|c;return n&l||n&c&&i===o||n&s&&r===a||n&u&&a===0}})),HM=E(((e,t)=>{je(`fs`);var n=process.platform===`win32`||global.TESTING_WINDOWS?BM():VM();t.exports=r,r.sync=i;function r(e,t,i){if(typeof t==`function`&&(i=t,t={}),!i){if(typeof Promise!=`function`)throw TypeError(`callback not provided`);return new Promise(function(n,i){r(e,t||{},function(e,t){e?i(e):n(t)})})}n(e,t||{},function(e,n){e&&(e.code===`EACCES`||t&&t.ignoreErrors)&&(e=null,n=!1),i(e,n)})}function i(e,t){try{return n.sync(e,t||{})}catch(e){if(t&&t.ignoreErrors||e.code===`EACCES`)return!1;throw e}}})),UM=E(((e,t)=>{var n=process.platform===`win32`||process.env.OSTYPE===`cygwin`||process.env.OSTYPE===`msys`,r=je(`path`),i=n?`;`:`:`,a=HM(),o=e=>Object.assign(Error(`not found: ${e}`),{code:`ENOENT`}),s=(e,t)=>{let r=t.colon||i,a=e.match(/\//)||n&&e.match(/\\/)?[``]:[...n?[process.cwd()]:[],...(t.path||process.env.PATH||``).split(r)],o=n?t.pathExt||process.env.PATHEXT||`.EXE;.CMD;.BAT;.COM`:``,s=n?o.split(r):[``];return n&&e.indexOf(`.`)!==-1&&s[0]!==``&&s.unshift(``),{pathEnv:a,pathExt:s,pathExtExe:o}},c=(e,t,n)=>{typeof t==`function`&&(n=t,t={}),t||={};let{pathEnv:i,pathExt:c,pathExtExe:l}=s(e,t),u=[],d=n=>new Promise((a,s)=>{if(n===i.length)return t.all&&u.length?a(u):s(o(e));let c=i[n],l=/^".*"$/.test(c)?c.slice(1,-1):c,d=r.join(l,e),p=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;a(f(p,n,0))}),f=(e,n,r)=>new Promise((i,o)=>{if(r===c.length)return i(d(n+1));let s=c[r];a(e+s,{pathExt:l},(a,o)=>{if(!a&&o){if(t.all)u.push(e+s);else return i(e+s)}return i(f(e,n,r+1))})});return n?d(0).then(e=>n(null,e),n):d(0)};t.exports=c,c.sync=(e,t)=>{t||={};let{pathEnv:n,pathExt:i,pathExtExe:c}=s(e,t),l=[];for(let o=0;o<n.length;o++){let s=n[o],u=/^".*"$/.test(s)?s.slice(1,-1):s,d=r.join(u,e),f=!u&&/^\.[\\\/]/.test(e)?e.slice(0,2)+d:d;for(let e=0;e<i.length;e++){let n=f+i[e];try{if(a.sync(n,{pathExt:c})){if(t.all)l.push(n);else return n}}catch{}}}if(t.all&&l.length)return l;if(t.nothrow)return null;throw o(e)}})),WM=E(((e,t)=>{var n=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)===`win32`?Object.keys(t).reverse().find(e=>e.toUpperCase()===`PATH`)||`Path`:`PATH`};t.exports=n,t.exports.default=n})),GM=E(((e,t)=>{var n=je(`path`),r=UM(),i=WM();function a(e,t){let a=e.options.env||process.env,o=process.cwd(),s=e.options.cwd!=null,c=s&&process.chdir!==void 0&&!process.chdir.disabled;if(c)try{process.chdir(e.options.cwd)}catch{}let l;try{l=r.sync(e.command,{path:a[i({env:a})],pathExt:t?n.delimiter:void 0})}catch{}finally{c&&process.chdir(o)}return l&&=n.resolve(s?e.options.cwd:``,l),l}function o(e){return a(e)||a(e,!0)}t.exports=o})),KM=E(((e,t)=>{var n=/([()\][%!^"`<>&|;, *?])/g;function r(e){return e=e.replace(n,`^$1`),e}function i(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,`$1$1\\"`),e=e.replace(/(?=(\\+?)?)\1$/,`$1$1`),e=`"${e}"`,e=e.replace(n,`^$1`),t&&(e=e.replace(n,`^$1`)),e}t.exports.command=r,t.exports.argument=i})),qM=E(((e,t)=>{t.exports=/^#!(.*)/})),JM=E(((e,t)=>{var n=qM();t.exports=(e=``)=>{let t=e.match(n);if(!t)return null;let[r,i]=t[0].replace(/#! ?/,``).split(` `),a=r.split(`/`).pop();return a===`env`?i:i?`${a} ${i}`:a}})),YM=E(((e,t)=>{var n=je(`fs`),r=JM();function i(e){let t=Buffer.alloc(150),i;try{i=n.openSync(e,`r`),n.readSync(i,t,0,150,0),n.closeSync(i)}catch{}return r(t.toString())}t.exports=i})),XM=E(((e,t)=>{var n=je(`path`),r=GM(),i=KM(),a=YM(),o=process.platform===`win32`,s=/\.(?:com|exe)$/i,c=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function l(e){e.file=r(e);let t=e.file&&a(e.file);return t?(e.args.unshift(e.file),e.command=t,r(e)):e.file}function u(e){if(!o)return e;let t=l(e),r=!s.test(t);if(e.options.forceShell||r){let r=c.test(t);e.command=n.normalize(e.command),e.command=i.command(e.command),e.args=e.args.map(e=>i.argument(e,r)),e.args=[`/d`,`/s`,`/c`,`"${[e.command].concat(e.args).join(` `)}"`],e.command=process.env.comspec||`cmd.exe`,e.options.windowsVerbatimArguments=!0}return e}function d(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:u(r)}t.exports=d})),ZM=E(((e,t)=>{var n=process.platform===`win32`;function r(e,t){return Object.assign(Error(`${t} ${e.command} ENOENT`),{code:`ENOENT`,errno:`ENOENT`,syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function i(e,t){if(!n)return;let r=e.emit;e.emit=function(n,i){if(n===`exit`){let n=a(i,t);if(n)return r.call(e,`error`,n)}return r.apply(e,arguments)}}function a(e,t){return n&&e===1&&!t.file?r(t.original,`spawn`):null}function o(e,t){return n&&e===1&&!t.file?r(t.original,`spawnSync`):null}t.exports={hookChildProcess:i,verifyENOENT:a,verifyENOENTSync:o,notFoundError:r}})),QM=ke(E(((e,t)=>{var n=je(`child_process`),r=XM(),i=ZM();function a(e,t,a){let o=r(e,t,a),s=n.spawn(o.command,o.args,o.options);return i.hookChildProcess(s,o),s}function o(e,t,a){let o=r(e,t,a),s=n.spawnSync(o.command,o.args,o.options);return s.error=s.error||i.verifyENOENTSync(s.status,o),s}t.exports=a,t.exports.spawn=a,t.exports.sync=o,t.exports._parse=r,t.exports._enoent=i}))(),1),$M=oe.platform===`win32`?[`APPDATA`,`HOMEDRIVE`,`HOMEPATH`,`LOCALAPPDATA`,`PATH`,`PROCESSOR_ARCHITECTURE`,`SYSTEMDRIVE`,`SYSTEMROOT`,`TEMP`,`USERNAME`,`USERPROFILE`,`PROGRAMFILES`]:[`HOME`,`LOGNAME`,`PATH`,`SHELL`,`TERM`,`USER`];function eN(){let e={};for(let t of $M){let n=oe.env[t];n!==void 0&&(n.startsWith(`()`)||(e[t]=n))}return e}var tN=class{constructor(e){this._stderrStream=null,this._serverParams=e,this._readBuffer=new cM({maxBufferSize:e.maxBufferSize}),(e.stderr===`pipe`||e.stderr===`overlapped`)&&(this._stderrStream=new ye)}async start(){if(this._process)throw Error(`StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.`);return new Promise((e,t)=>{this._process=(0,QM.default)(this._serverParams.command,this._serverParams.args??[],{env:{...eN(),...this._serverParams.env},stdio:[`pipe`,`pipe`,this._serverParams.stderr??`inherit`],shell:!1,windowsHide:oe.platform===`win32`,cwd:this._serverParams.cwd}),this._process.on(`error`,e=>{t(e),this.onerror?.(e)}),this._process.on(`spawn`,()=>{e()}),this._process.on(`close`,e=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on(`error`,e=>{this.onerror?.(e)}),this._process.stdout?.on(`data`,e=>{try{this._readBuffer.append(e),this.processReadBuffer()}catch(e){this.onerror?.(e),this.close().catch(()=>{})}}),this._process.stdout?.on(`error`,e=>{this.onerror?.(e)}),this._stderrStream&&this._process.stderr&&this._process.stderr.pipe(this._stderrStream)})}get stderr(){return this._stderrStream?this._stderrStream:this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){for(;;)try{let e=this._readBuffer.readMessage();if(e===null)break;this.onmessage?.(e)}catch(e){this.onerror?.(e)}}async close(){if(this._process){let e=this._process;this._process=void 0;let t=new Promise(t=>{e.once(`close`,()=>{t()})});try{e.stdin?.end()}catch{}if(await Promise.race([t,new Promise(e=>setTimeout(e,2e3).unref())]),e.exitCode===null){try{e.kill(`SIGTERM`)}catch{}await Promise.race([t,new Promise(e=>setTimeout(e,2e3).unref())])}if(e.exitCode===null)try{e.kill(`SIGKILL`)}catch{}}this._readBuffer.clear()}send(e){return new Promise(t=>{if(!this._process?.stdin)throw Error(`Not connected`);let n=uM(e);this._process.stdin.write(n)?t():this._process.stdin.once(`drain`,t)})}},nN=k().max(128).regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/u),rN=P({action:F([`install`,`doctor`,`update`,`rollback`,`remove`]),host:F([`codex`,`claude-code`]),scope:F([`user`,`project`,`local`]),version:nN.optional(),dryRun:j().default(!1),repoRoot:k().min(1)}),iN=P({pid:A().int().positive(),birth:k().min(1)}),aN=P({action:rN.shape.action,targetVersion:nN.nullable(),owner:iN,producerDigest:k().regex(/^sha256:[a-f0-9]{64}$/u),staging:P({path:k(),device:A().int().nonnegative().optional(),inode:A().int().nonnegative().optional()}).optional(),command:Ll(`phase`,[P({phase:I(`idle`)}),P({phase:I(`starting`)}),P({phase:I(`running`),process:iN,tracked:M(iN.extend({pgid:A().int().positive()})).max(256)})])}),oN=P({owner:I(`@aviaratech/ai-delivery.plugin@1`),host:rN.shape.host,scope:rN.shape.scope,projectRoot:k().nullable(),nativeHome:k().min(1),marketplace:k(),currentVersion:nN.nullable(),previousVersion:nN.nullable(),installedPath:k().nullable(),nativeVersion:k().optional(),pending:aN.optional()}),sN=P({owner:I(`@aviaratech/ai-delivery.plugin-version@1`),version:nN,archiveSha256:k().regex(/^[a-f0-9]{64}$/u),files:Ul(k(),k().regex(/^[a-f0-9]{64}$/u))}),cN=e=>se(`sha256`).update(e).digest(`hex`);function lN(e){let t=T(e);for(;;){if(n(t)&&o(t).isSymbolicLink())throw Error(`Managed plugin paths must not use symlinks.`);let e=C(t);if(e===t)break;t=e}}function uN(e){let t=m(T(e.repoRoot)),r=T(t,(e.host===`codex`?process.env.CODEX_HOME:process.env.CLAUDE_CONFIG_DIR)??w(me(),e.host===`codex`?`.codex`:`.claude`)),i=[];for(;!n(r);)i.unshift(te(r)),r=C(r);let a=w(m(r),...i),s=e.scope===`user`?`user`:`${e.scope}-${se(`sha256`).update(t).digest(`hex`).slice(0,16)}`,c=w(me(),`.cache`,`ai-delivery`,`plugins`,e.host,s);if(lN(c),n(c)&&(!o(c).isDirectory()||o(c).mode&63))throw Error(`Managed plugin directory is not private.`);return{directory:c,projectRoot:t,nativeHome:a,marketplace:`ai-delivery-${s}`,catalog:w(c,`marketplace`),statePath:w(c,`state.json`),tool:e.host===`codex`?`codex`:`claude`}}function dN(e,t){if(!n(t.statePath))return;let r=o(t.statePath);if(!r.isFile()||r.nlink!==1||r.mode&63||r.size>65536)throw Error(`Managed plugin state is unsafe.`);let i=oN.parse(JSON.parse(u(t.statePath,`utf8`)));if(i.nativeHome!==t.nativeHome)throw Error(`Managed plugin state belongs to a different native profile.`);if(i.host!==e.host||i.scope!==e.scope||i.marketplace!==t.marketplace||i.projectRoot!==(e.scope===`user`?null:t.projectRoot))throw Error(`Managed plugin state belongs to a different target.`);return i}function fN(e){let t=gb().get(e);return t&&!t.status.startsWith(`Z`)?t.identity:void 0}async function pN(e){if(fN(e.owner.pid)===e.owner.birth)throw Error(`A live plugin installer still owns this target.`);if(e.command.phase===`starting`)throw Error(`Interrupted installer command ownership is unknown; preserve its state before recovery.`);if(e.command.phase!==`running`)return;let t={rootPid:e.command.process.pid,rootIdentity:e.command.process.birth,sampled:!0,tracked:new Map(e.command.tracked.map(({pid:e,birth:t,pgid:n})=>[e,{pid:e,identity:t,pgid:n,ppid:0,rssBytes:0,status:``}]))};xb(t),await bb(t)}async function mN(e,t,n,r,i){return(await Hb(n,[e,...t],r,void 0,{maxAggregateRssBytes:1024**3,minFreeDiskBytes:256*1024**2,maxNewOutputBytes:512*1024**2},void 0,void 0,{starting:()=>i?.({phase:`starting`}),observed:e=>i?.({phase:`running`,process:{pid:e.rootPid,birth:e.rootIdentity},tracked:[...e.tracked.values()].map(({pid:e,identity:t,pgid:n})=>({pid:e,birth:t,pgid:n}))}),idle:()=>i?.({phase:`idle`}),assertQuiescent:()=>{}},{environment:{...process.env,DISABLE_AUTOUPDATER:`1`},cwd:n,maxCapturedOutputBytes:1048576,stdoutOnly:!0,failedOutput:e=>` Native command output: ${e.toString(`utf8`).slice(-2e3)}`})).toString(`utf8`)}function hN(e){let n=l(e,`r`);try{i(n)}finally{t(n)}}function gN(e,t){return w(e.catalog,`versions`,t,`plugins`,`ai-delivery`)}function _N(e,t){return w(e.catalog,`versions`,t)}function vN(e){let t={},n=0,r=(e,i,a)=>{if(a>16)throw Error(`Plugin tree exceeds the depth bound.`);for(let s of f(e).sort()){if(++n>4096)throw Error(`Plugin tree exceeds the entry bound.`);let c=w(e,s),l=`${i}${s}`,d=o(c);if(d.isSymbolicLink()||!d.isDirectory()&&(!d.isFile()||d.nlink!==1))throw Error(`Plugin tree contains links or special files.`);if(d.isDirectory())r(c,`${l}/`,a+1);else{if(d.size>32*1024**2)throw Error(`Plugin file exceeds the size bound.`);t[l]=cN(u(c))}}};return r(e,``,0),t}function yN(e,t){let r=_N(e,t);lN(r);let i=w(r,`version.json`);if(!n(i))throw Error(`No completed immutable plugin unit for ${t}.`);let a=o(i),s=w(r,`archive.tgz`),c=o(s);if(!a.isFile()||a.nlink!==1||a.size>1048576||!c.isFile()||c.nlink!==1||c.size>32*1024**2)throw Error(`Immutable plugin unit metadata is unsafe.`);let l=sN.parse(JSON.parse(u(i,`utf8`)));if(l.version!==t||JSON.stringify(vN(gN(e,t)))!==JSON.stringify(l.files)||cN(u(s))!==l.archiveSha256)throw Error(`Immutable plugin unit integrity changed.`);return l}function bN(e){if(e.length>32*1024**2)throw Error(`Plugin archive exceeds 32 MiB.`);let t=ve(e,{maxOutputLength:128*1024**2}),n=new Map;for(let e=0;e+512<=t.length;){let r=t.subarray(e,e+512);if(r.every(e=>e===0))break;let i=(e,t)=>r.subarray(e,e+t).toString().replace(/\0.*$/su,``).trim(),a=(e,t)=>{let n=i(e,t);if(!/^[0-7]+$/u.test(n))throw Error(`Unsupported tar numeric header.`);return Number.parseInt(n,8)};if([...r].reduce((e,t,n)=>e+(n>=148&&n<156?32:t),0)!==a(148,8))throw Error(`Plugin archive header checksum mismatch.`);let o=`${i(345,155)?`${i(345,155)}/`:``}${i(0,100)}`,s=a(124,12),c=i(156,1);if(!/^package\/[A-Za-z0-9_./-]+$/u.test(o)||o.split(`/`).some(e=>e===`..`||e===`.`)||o.split(`/`).length>16||![``,`0`,`5`].includes(c)||e+512+s>t.length||n.has(o)||n.size>=4096)throw Error(`Unsafe or unsupported plugin archive member.`);c!==`5`&&n.set(o,t.subarray(e+512,e+512+s)),e+=512+Math.ceil(s/512)*512}return n}async function xN(e,t,r,i,a){let c=_N(e,t);if(n(c)){yN(e,t);return}let l=C(c);P_(l);let d=w(l,`.stage-${le()}`);a({path:d}),s(d,{mode:448});let f=o(d);hN(l),a({path:d,device:f.dev,inode:f.ino});let p=!0,m=!1,_,v=e=>{p=e.phase===`idle`,i(e)};try{let n=JSON.parse(await mN(`npm`,[`pack`,`@aviaratech/ai-delivery@${t}`,`--ignore-scripts`,`--json`,`--logs-max`,`0`,`--cache`,w(e.directory,`npm-cache`),`--pack-destination`,d],d,r,v))[0]?.filename;if(typeof n!=`string`||!/^aviaratech-ai-delivery-[A-Za-z0-9.+_-]+\.tgz$/u.test(n))throw Error(`npm returned an unsafe archive path.`);let i=u(w(d,n)),o=bN(i),s=JSON.parse(o.get(`package/package.json`)?.toString()??`null`);if(s?.name!==`@aviaratech/ai-delivery`||s.version!==t)throw Error(`Archive package identity does not match the explicit version.`);let f=w(d,`plugins`,`ai-delivery`);for(let[e,t]of o)if(e.startsWith(`package/plugins/ai-delivery/`)){let n=w(f,e.slice(28));P_(C(n)),b(n,t,{mode:384,flag:`wx`}),hN(n)}let p=JSON.parse(u(w(f,`plugin.json`),`utf8`)),m=JSON.parse(u(w(f,`.claude-plugin/plugin.json`),`utf8`)),g=JSON.parse(u(w(f,`runtime/package.json`),`utf8`));if(p.name!==`ai-delivery`||p.version!==t||m.name!==p.name||m.version!==t||m.packageVersion!==t||m.deliveryCapabilityVersion!==2||g.name!==s.name||g.version!==t)throw Error(`Archive does not contain a coherent self-contained native plugin.`);if((await mN(process.execPath,[w(f,`runtime/dist/cli.js`),`--version`],d,r,v)).trim()!==t)throw Error(`Built native CLI version does not match its archive.`);h(w(d,n),w(d,`archive.tgz`)),hN(w(d,`archive.tgz`)),I_(w(d,`version.json`),{owner:`@aviaratech/ai-delivery.plugin-version@1`,version:t,archiveSha256:cN(i),files:vN(f)}),h(d,c),hN(l),a(void 0),yN(e,t)}catch(e){m=!0,_=e}try{if(p&&n(d)){let e=o(d);if(e.dev!==f.dev||e.ino!==f.ino||!e.isDirectory()||e.isSymbolicLink())throw Error(`Owned staging directory identity changed.`);g(d,{recursive:!0}),hN(l)}p&&a(void 0)}catch(e){_=m?AggregateError([_,e],`Plugin preparation failed and staging cleanup also failed.`):e,m=!0}if(m)throw _}function SN(e,t){yN(e,t);let n=`./versions/${t}/plugins/ai-delivery`;I_(w(e.catalog,`.agents/plugins/marketplace.json`),{name:e.marketplace,interface:{displayName:`ai-delivery`},plugins:[{name:`ai-delivery`,source:{source:`local`,path:n},policy:{installation:`AVAILABLE`,authentication:`ON_INSTALL`},category:`Productivity`}]}),I_(w(e.catalog,`.claude-plugin/marketplace.json`),{name:e.marketplace,owner:{name:`AviaraTech`},plugins:[{name:`ai-delivery`,source:n,version:t}]})}async function CN(e,t,n,r){let i=JSON.parse(await mN(t.tool,[`plugin`,`list`,...e.host===`codex`?[`--available`]:[],`--json`],t.projectRoot,n,r));if(e.host===`claude-code`)return M(Ul(k(),Ol())).parse(i);let a=N({installed:M(Ul(k(),Ol())),available:M(Ul(k(),Ol()))}).parse(i);return[...a.installed.map(e=>({...e,installed:!0})),...a.available.map(e=>({...e,installed:!1}))]}function wN(e,t,r){if(e.host===`claude-code`){let e=w(t.nativeHome,`plugins/known_marketplaces.json`);if(!n(e))return!1;if(!o(e).isFile()||o(e).size>1048576)throw Error(`Native marketplace registry is unsafe.`);let r=Ul(k(),Ol()).parse(JSON.parse(u(e,`utf8`)));if(r[t.marketplace]===void 0)return!1;let i=N({source:N({source:I(`directory`),path:k()}),installLocation:k()}).parse(r[t.marketplace]);if(T(i.source.path)!==t.catalog||T(i.installLocation)!==t.catalog)throw Error(`Native marketplace name belongs to an unmanaged source.`);return!0}let i=r.filter(e=>e.marketplaceName===t.marketplace);for(let e of i){let n=N({sourceType:I(`local`),source:k()}).parse(e.marketplaceSource);if(T(n.source)!==t.catalog)throw Error(`Native marketplace name belongs to an unmanaged source.`)}return i.length>0}function TN(e,t,n){let r=n.filter(n=>(n.pluginId??n.id)===`ai-delivery@${t.marketplace}`&&(e.host===`codex`?n.installed===!0:n.scope===e.scope)&&(e.scope===`user`||n.projectPath===t.projectRoot));if(r.length>1)throw Error(`Native plugin readback is ambiguous.`);let i=r[0];if(!i)return;let a=e.host===`codex`?N({source:I(`local`),path:k()}).parse(i.source).path:void 0;return{version:nN.parse(i.version),enabled:j().parse(i.enabled),...typeof i.installPath==`string`?{installedPath:i.installPath}:{},...a?{sourceRoot:a}:{},...i.mcpServers?{mcpServers:Ul(k(),Ol()).parse(i.mcpServers)}:{}}}function EN(e){let t=w(e.catalog,`.claude-plugin/marketplace.json`);if(lN(t),!o(t).isFile()||o(t).size>1048576)throw Error(`Managed Claude catalog is unsafe.`);let n=N({name:I(e.marketplace),plugins:M(N({name:k(),version:nN,source:k()}))}).parse(JSON.parse(u(t,`utf8`))).plugins.filter(e=>e.name===`ai-delivery`);if(n.length!==1)throw Error(`Managed Claude catalog selection is ambiguous.`);let r=n[0];if(!r.source.startsWith(`./`)||T(e.catalog,r.source)!==gN(e,r.version))throw Error(`Claude catalog source differs from the immutable managed unit.`);return r}function DN(e,t,n,r,i=n.version){let a=yN(t,e.host===`claude-code`?i:n.version),o=gN(t,e.host===`claude-code`?i:n.version);if(e.host===`claude-code`&&EN(t).version!==i)throw Error(`Claude catalog version differs from its native selection.`);if(e.host===`codex`&&T(n.sourceRoot)!==o)throw Error(`Native plugin source differs from the managed version.`);let s=e.host===`codex`?r:o;if(!s)throw Error(`Native cache path is missing.`);if(e.host===`codex`&&T(s)!==w(t.nativeHome,`plugins/cache`,t.marketplace,`ai-delivery`,n.version))throw Error(`Native cache path is outside the managed native selection.`);if(lN(s),JSON.stringify(vN(s))!==JSON.stringify(a.files))throw Error(`Selected native plugin bytes differ from the verified archive.`);if(e.host===`claude-code`&&!N({command:I(`node`),args:Vl([I("${CLAUDE_PLUGIN_ROOT}/dist/mcp-launcher.js")])}).parse(n.mcpServers?.[`ai-delivery`]))throw Error(`Native MCP binding is missing.`);return s}async function ON(e,t,n){let r=new tN({command:process.execPath,args:[w(e,`dist/mcp-launcher.js`)],cwd:n,env:{PATH:process.env.PATH??``,NODE_OPTIONS:`--max-old-space-size=1024`},stderr:`pipe`,maxBufferSize:1048576}),i=new zM({name:`ai-delivery-plugin-doctor`,version:`1.0.0`});try{if(await i.connect(r,{timeout:3e4}),i.getServerVersion()?.version!==t)throw Error(`MCP server version differs from the selected archive.`);return await i.listTools({},{timeout:3e4}),{configuration:`native_manifest_present`,startup:`ready`,version:t}}catch(e){return{configuration:`native_manifest_present`,startup:`failed`,error:(e instanceof Error?e.message:String(e)).slice(0,2e3)}}finally{await i.close(),await r.close()}}async function kN(e){let t=rN.parse(e);if(t.host===`codex`&&t.scope!==`user`)throw Error(`Codex currently supports user plugin installation; select --scope user.`);if((t.action===`install`||t.action===`update`)&&t.version===void 0)throw Error(`An explicit --version is required for install and update.`);if(t.version!==void 0&&t.action!==`install`&&t.action!==`update`)throw Error(`--version is supported only for install and update; rollback selects the recorded previous version.`);if(![`darwin`,`linux`].includes(process.platform))throw Error(`Plugin management requires the supported POSIX runtime environment.`);let r=uN(t),i=dN(t,r),a={action:t.action,host:t.host,scope:t.scope,version:t.action===`remove`?null:t.version??(t.action===`rollback`?i?.previousVersion:i?.currentVersion)??null,changed:!1,dryRun:t.dryRun,installed:!1,marketplace:r.marketplace,managedDirectory:r.directory,repositoryAdmission:`explicit_stage_and_admit_required`};if(t.dryRun)return a;if(t.action===`doctor`){if(!i||(a.recoveryRequired=i.pending!==void 0,i.pending||!i.currentVersion))return a;yN(r,i.currentVersion);let e=await CN(t,r,new AbortController().signal),n=wN(t,r,e),o=TN(t,r,e);if(a.installed=o?.version===i.currentVersion,a.enabled=o?.enabled??!1,i.installedPath&&(a.nativeCachePath=i.installedPath),i.nativeVersion&&(a.nativeVersion=i.nativeVersion),!n||!a.installed)return a.mcp={configuration:`missing`,startup:`not_checked`},a;try{a.nativePluginRoot=DN(t,r,o,i.installedPath),a.sourceIntegrity=!0,a.skills=f(w(a.nativePluginRoot,`skills`)).sort(),a.mcp=o.enabled?await ON(a.nativePluginRoot,i.currentVersion,r.projectRoot):{configuration:`disabled`,startup:`not_checked`}}catch(e){a.sourceIntegrity=!1,a.mcp={configuration:`unverified`,startup:`not_checked`,error:(e instanceof Error?e.message:String(e)).slice(0,2e3)}}return a}if(!i&&t.action===`remove`)return a;if(!i&&n(r.directory)&&f(r.directory).length>0)throw Error(`Managed plugin directory contains unrecognized content.`);return P_(r.directory),Dv(r.statePath,{projectRoot:r.directory,timeout:200,onReleaseError:e=>{throw e},operation:async()=>{i=dN(t,r);let e=i?.pending!==void 0;if(i?.pending){if(await pN(i.pending),i.pending.producerDigest!==Nb(C(de(import.meta.url))))throw Error(`Interrupted plugin operation belongs to a different controller; resume with its original version.`);let e=i.pending.staging;if(e&&n(e.path)){let t=C(_N(r,i.pending.targetVersion));if(C(e.path)!==t||!/^\.stage-[a-f0-9-]{36}$/u.test(e.path.slice(t.length+1)))throw Error(`Recorded staging path is outside this version target.`);lN(e.path);let n=o(e.path);if(!n.isDirectory()||(e.device===void 0?f(e.path).length!==0:n.dev!==e.device||n.ino!==e.inode))throw Error(`Interrupted staging directory ownership is unresolved.`);g(e.path,{recursive:!0}),hN(t)}if(i.pending.action!==t.action||i.pending.targetVersion!==a.version)throw Error(`Resume the interrupted original plugin command before selecting a different operation.`)}if((t.action===`update`||t.action===`rollback`)&&(!i||t.action===`update`&&!i.currentVersion))throw Error(`Install a managed plugin before updating or rolling it back.`);let s=t.action===`remove`?null:a.version;if(s===null&&t.action!==`remove`)throw Error(`No previous managed plugin version is available.`);let c=i?.currentVersion??null;i??={owner:`@aviaratech/ai-delivery.plugin@1`,host:t.host,scope:t.scope,projectRoot:t.scope===`user`?null:r.projectRoot,nativeHome:r.nativeHome,marketplace:r.marketplace,currentVersion:null,previousVersion:null,installedPath:null};let l=fN(process.pid);if(!l)throw Error(`Installer owner identity is unknown.`);i.pending={action:t.action,targetVersion:s,owner:{pid:process.pid,birth:l},producerDigest:Nb(C(de(import.meta.url))),command:{phase:`idle`}},I_(r.statePath,i);let u=new AbortController,d=()=>u.abort();process.once(`SIGINT`,d),process.once(`SIGTERM`,d);let p=e=>{i.pending.command=e,I_(r.statePath,i)},m=e=>mN(r.tool,e,r.projectRoot,u.signal,p),h=`ai-delivery@${r.marketplace}`,_=t.host===`codex`?[`plugin`,`remove`,h,`--json`]:[`plugin`,`uninstall`,h,`--scope`,t.scope,`--keep-data`],v=t.host===`codex`?[`plugin`,`add`,h,`--json`]:[`plugin`,`install`,h,`--scope`,t.scope],y=!1;try{if(i.nativeVersion=(await m([`--version`])).trim(),t.host===`claude-code`&&!(await m([`plugin`,`uninstall`,`--help`])).includes(`--keep-data`))throw Error(`This Claude Code version cannot preserve plugin data; upgrade the native tool first.`);process.stderr.write(`ai-delivery.plugin ${JSON.stringify({action:t.action,host:t.host,scope:t.scope,stage:s?`prepare_version`:`native_remove`,version:s})}\n`);let n=await CN(t,r,u.signal,p),o=wN(t,r,n),l=TN(t,r,n);if(l&&!c&&!(e&&l.version===s))throw Error(`Existing native plugin is not owned by managed state.`);let d=l?.version;if(l&&e&&t.host===`claude-code`&&(d=EN(r).version,d!==c&&d!==s))throw Error(`Interrupted native selection has an incompatible catalog version.`);l&&DN(t,r,l,l.version===c?i.installedPath:w(r.nativeHome,`plugins/cache`,r.marketplace,`ai-delivery`,l.version),d),s&&(await xN(r,s,u.signal,p,e=>{e?i.pending.staging=e:delete i.pending.staging,I_(r.statePath,i)}),y=!0,SN(r,s),o||await m([`plugin`,`marketplace`,`add`,r.catalog,...t.host===`codex`?[`--json`]:[`--scope`,t.scope]])),l&&(l.version!==s||t.action===`remove`)&&(y=!0,await m(_));let f=i.installedPath;if(s){let e=await m(v);t.host===`codex`&&(f=N({installedPath:k()}).parse(JSON.parse(e)).installedPath)}let h=await CN(t,r,u.signal,p);wN(t,r,h);let g=TN(t,r,h);if(s?g?.version!==s:g!==void 0)throw Error(`Native installation readback does not match the selected version.`);if(s&&(DN(t,r,g,g?.installedPath??f),!g.enabled))throw Error(`Native plugin selection is disabled.`);return i.currentVersion=s,c!==s&&(i.previousVersion=c),i.installedPath=s?g?.installedPath??f:null,delete i.pending,I_(r.statePath,i),a.version=s,a.changed=c!==s,a.installed=s!==null,a.restartRequired=!0,s&&(a.nativePluginRoot=t.host===`codex`?i.installedPath??gN(r,s):gN(r,s)),a}catch(t){if(!e&&!u.signal.aborted&&!y&&i.pending?.command.phase===`idle`&&i.pending.staging===void 0){delete i.pending;try{I_(r.statePath,i)}catch(e){throw AggregateError([t,e],`Plugin preparation failed and pending-state cleanup also failed.`)}}if(y&&c)try{SN(r,c)}catch{}throw t}finally{process.removeListener(`SIGINT`,d),process.removeListener(`SIGTERM`,d)}}})}var AN=new Ge;AN.name(`ai-delivery`).description(`Generic GitHub issue and pull request delivery`).version(pM).option(`--identity <name>`,`Configured author or reviewer identity`).option(`--personal-auth`,`Explicit legacy personal-token author override`).option(`--repo <owner/name>`,`Repository selector; must match the configured checkout`).option(`--repo-root <path>`,`Target Git repository root`,process.cwd());for(let e=2;e<process.argv.length;e++){let t=process.argv[e],n=AN.options.find(e=>e.long===t.split(`=`)[0]||e.short===t);if(n){n.required&&!t.includes(`=`)&&e++;continue}t===`plugin`&&AN.enablePositionalOptions();break}function jN(){let e=AN.opts(),t=e.identity??process.env.AI_DELIVERY_IDENTITY;return{repoRoot:e.repoRoot,...t===void 0?{}:{identity:t},personalAuth:e.personalAuth===!0,...e.repo===void 0?{}:{repo:e.repo}}}function MN(e){return e===void 0?void 0:Number(e)}function NN(e){return e===void 0?void 0:e.split(`,`).map(e=>e.trim()).filter(Boolean)}function PN(e){return NN(e)?.map(Number)}function FN(e,t){if(e!==void 0&&t!==void 0)throw Error(`Pass either --body or --body-file.`);return t===void 0?e:u(t,`utf8`)}function IN(e,t){return vw(e,t,jN()).then(t=>Ye(e,t))}function LN(e){process.stdout.write(`${JSON.stringify(e,null,2)}\n`)}var RN=AN.command(`plugin`).description(`Manage the ai-delivery native plugin`);for(let e of[`install`,`doctor`,`update`,`rollback`,`remove`]){let t=RN.command(e).requiredOption(`--host <host>`,`Native host: codex or claude-code`).option(`--scope <scope>`,`Native scope: user, project, or local; Codex supports user`,`user`).option(`--dry-run`,`Describe the selected target without changing files or contacting native tools`).option(`--json`,`Print the result as JSON`);(e===`install`||e===`update`)&&t.requiredOption(`--version <version>`,`Explicit published package version`),t.action(async t=>{let n=await kN({action:e,host:t.host,scope:t.scope,...t.version===void 0?{}:{version:t.version},dryRun:t.dryRun===!0,repoRoot:jN().repoRoot});if(t.json){LN(n);return}process.stdout.write(`${n.dryRun?`Dry run: `:``}${n.host} ${n.scope}: ${e}; version ${n.version??`none`}; installed ${n.installed}; changed ${n.changed}\n`),n.mcp&&process.stdout.write(`Bundled MCP startup: ${n.mcp.startup}${n.mcp.error?` (${n.mcp.error})`:``}\n`),n.recoveryRequired&&process.stdout.write(`Resume the interrupted original plugin command to recover this target.
|
|
285
|
+
`)})}AN.command(`runtime:stage`).description(`Stage a reviewed archive in a private directory; does not activate or admit it`).requiredOption(`--archive <path>`).requiredOption(`--archive-sha256 <digest>`).requiredOption(`--package-version <version>`).requiredOption(`--source-commit <sha>`).requiredOption(`--config-digest <digest>`).requiredOption(`--runtime-directory <path>`).option(`--native-plugin-root <path>`,`Bind the exact reviewed native plugin root`).option(`--max-aggregate-rss-bytes <bytes>`,`Sampled controller plus children RSS limit`).option(`--max-new-output-bytes <bytes>`,`Owned stage and metadata output limit`).option(`--min-free-disk-bytes <bytes>`,`Required free disk headroom`).option(`--max-captured-output-bytes <bytes>`,`Retained command log cap; defaults to 1 MiB`).option(`--authorize-stage`,`Explicit authority to stage this reviewed archive`).action(async e=>IN(`runtime_stage`,{authority:e.authorizeStage===!0?`runtime:stage`:``,archivePath:e.archive,expectedArchiveSha256:e.archiveSha256,packageVersion:e.packageVersion,expectedSourceCommit:e.sourceCommit,expectedConfigDigest:e.configDigest,runtimeDirectory:e.runtimeDirectory,...e.nativePluginRoot===void 0?{}:{nativePluginRoot:e.nativePluginRoot},...[`maxAggregateRssBytes`,`maxNewOutputBytes`,`minFreeDiskBytes`,`maxCapturedOutputBytes`].some(t=>e[t]!==void 0)?{resourceBounds:{maxAggregateRssBytes:Number(e.maxAggregateRssBytes??1024**3),minFreeDiskBytes:Number(e.minFreeDiskBytes??256*1024**2),maxNewOutputBytes:Number(e.maxNewOutputBytes??512*1024**2),maxCapturedOutputBytes:Number(e.maxCapturedOutputBytes??1024**2)}}:{}})),AN.command(`runtime:admit`).description(`Explicitly publish the existing admission for an exact completed stage`).requiredOption(`--stage-id <digest>`).requiredOption(`--source-commit <sha>`).requiredOption(`--config-digest <digest>`).requiredOption(`--runtime-directory <path>`).option(`--expected-prior <digest>`,`SHA-256 of the exact current private admission bytes`).option(`--expected-absent`,`Explicitly require no current admission`).option(`--authorize-admit`,`Explicit authority for the final admission write`).action(async e=>{if(e.expectedPrior===void 0==(e.expectedAbsent!==!0))throw Error(`Choose exactly one of --expected-prior or --expected-absent.`);return IN(`runtime_admit`,{authority:e.authorizeAdmit===!0?`runtime:admit`:``,stageId:e.stageId,expectedSourceCommit:e.sourceCommit,expectedConfigDigest:e.configDigest,runtimeDirectory:e.runtimeDirectory,expectedPriorAdmissionSha256:e.expectedAbsent===!0?null:e.expectedPrior})}),AN.command(`create`).requiredOption(`--title <title>`).option(`--body <markdown>`).option(`--body-file <path>`).option(`--type <type>`).option(`--points <number>`).option(`--priority <priority>`).option(`--labels <labels>`).option(`--blocked-by <numbers>`).option(`--milestone <number>`).option(`--parent <number>`).action(async e=>IN(`issue_create`,{title:e.title,body:FN(e.body,e.bodyFile),issueType:e.type,points:MN(e.points),priority:e.priority,labels:NN(e.labels),blockedBy:PN(e.blockedBy),milestone:MN(e.milestone),parentIssueNumber:MN(e.parent)})),AN.command(`start`).option(`--issue <number>`).option(`--request <text>`).option(`--title <title>`).option(`--body <markdown>`).option(`--body-file <path>`).option(`--type <type>`).option(`--points <number>`).option(`--priority <priority>`).option(`--labels <labels>`).option(`--blocked-by <numbers>`).option(`--milestone <number>`).option(`--parent <number>`).option(`--branch <branch>`).option(`--scratch`).option(`--develop`).option(`--resume-created`).action(async e=>IN(`issue_start`,{issueNumber:MN(e.issue),request:e.request,title:e.title,body:FN(e.body,e.bodyFile),issueType:e.type,points:MN(e.points),priority:e.priority,labels:NN(e.labels),blockedBy:PN(e.blockedBy),milestone:MN(e.milestone),parentIssueNumber:MN(e.parent),branch:e.branch,scratch:e.scratch===!0,develop:e.develop===!0,resumeCreated:e.resumeCreated===!0}));for(let e of[`list`,`search`])AN.command(e).option(`--query <text>`,`Literal text to search in the selected repository`).option(`--state <state>`).option(`--labels <labels>`).option(`--parent <number>`).option(`--type <type>`).option(`--project-status <status>`).option(`--updated-since <timestamp>`).option(`--page <number>`).option(`--per-page <number>`).action(async t=>IN(e===`list`?`issue_list`:`issue_search`,{query:t.query,state:t.state,labels:NN(t.labels),parentIssueNumber:MN(t.parent),issueType:t.type,projectStatus:t.projectStatus,updatedSince:t.updatedSince,page:MN(t.page),perPage:MN(t.perPage)}));AN.command(`update`).requiredOption(`--issue <number>`).option(`--title <title>`).option(`--body <markdown>`).option(`--body-file <path>`).option(`--type <type>`).option(`--points <number>`).option(`--priority <priority>`).option(`--labels <labels>`).option(`--blocked-by <numbers>`).option(`--milestone <number>`).option(`--parent <number>`).option(`--state <state>`).option(`--preserve-history`,`Preserve the previous title and body before a rewrite`).option(`--close-reason <reason>`).option(`--superseded-by <number>`).option(`--park`,`Park execution while retaining the issue worktree`).action(async e=>IN(`issue_update`,{issueNumber:MN(e.issue),title:e.title,body:FN(e.body,e.bodyFile),issueType:e.type,points:MN(e.points),priority:e.priority,labels:NN(e.labels),blockedBy:PN(e.blockedBy),milestone:MN(e.milestone),parentIssueNumber:MN(e.parent),state:e.state,preserveHistory:e.preserveHistory===!0||void 0,closeReason:e.closeReason,supersededBy:MN(e.supersededBy),park:e.park===!0||void 0})),AN.command(`info`).requiredOption(`--issue <number>`).option(`--cached`).action(async e=>IN(`issue_info`,{issueNumber:MN(e.issue),cached:e.cached===!0})),AN.command(`ready:check`).requiredOption(`--issue <number>`).action(async e=>IN(`issue_ready_check`,{issueNumber:MN(e.issue)}));for(let e of[`parent`,`blockers`])AN.command(e).requiredOption(`--issue <number>`).action(async t=>{let n=await vw(`issue_info`,{issueNumber:MN(t.issue)},jN());LN(e===`parent`?{issueNumber:MN(t.issue),parentIssueNumber:n.parentIssueNumber}:{issueNumber:MN(t.issue),blockedBy:n.blockedBy})});AN.command(`subissues`).requiredOption(`--issue <number>`).action(async e=>{let t=await pw(jN(),`subissues`);LN({issueNumber:MN(e.issue),subissues:await EC(t,Number(e.issue))})}),AN.command(`develop`).requiredOption(`--issue <number>`).option(`--assignee <login>`).action(async e=>IN(`issue_develop`,{issueNumber:MN(e.issue),assignee:e.assignee})),AN.command(`verify`).requiredOption(`--issue <number>`).option(`--admit <classes>`).option(`--max-aggregate-rss-bytes <bytes>`).option(`--max-new-output-bytes <bytes>`).option(`--min-free-disk-bytes <bytes>`).option(`--output-root <path>`,`Filesystem output root; repeat for each root`,(e,t)=>[...t,e],[]).option(`--prepublication-review <path>`).action(async e=>IN(`issue_verify`,{issueNumber:MN(e.issue),admit:NN(e.admit),...e.maxAggregateRssBytes===void 0&&e.maxNewOutputBytes===void 0&&e.minFreeDiskBytes===void 0&&(e.outputRoot?.length??0)===0?{}:{resourceBounds:{maxAggregateRssBytes:MN(e.maxAggregateRssBytes),...e.maxNewOutputBytes===void 0?{}:{maxNewOutputBytes:MN(e.maxNewOutputBytes)},minFreeDiskBytes:MN(e.minFreeDiskBytes),...(e.outputRoot?.length??0)===0?{}:{outputRoots:e.outputRoot}}},prepublicationReview:e.prepublicationReview})),AN.command(`pr:create`).requiredOption(`--issue <number>`).option(`--title <title>`).option(`--body-file <path>`).option(`--ready`).option(`--dry-run`).action(async e=>IN(`issue_pr_create`,{issueNumber:MN(e.issue),title:e.title,body:FN(void 0,e.bodyFile),draft:e.ready!==!0,dryRun:e.dryRun===!0})),AN.command(`pr:info`).option(`--issue <number>`).option(`--pr <number>`).action(async e=>IN(`issue_pr_info`,{issueNumber:MN(e.issue),prNumber:MN(e.pr)})),AN.command(`pr:list`).option(`--state <state>`,`open, closed or all`,`open`).action(async e=>{if(![`open`,`closed`,`all`].includes(e.state))throw Error(`Invalid PR state.`);LN(await TS(await pw(jN(),`pr:list`),e.state))}),AN.command(`pr:checks`).requiredOption(`--pr <number>`).action(async e=>{LN(await ES(await pw(jN(),`pr:checks`),Number(e.pr)))}),AN.command(`pr:checkout`).requiredOption(`--pr <number>`).action(async e=>{let t=await pw(jN(),`pr:checkout`);await sv({...jN(),...t.configuration?{configuration:t.configuration}:{}}),LN(await DS(t,Number(e.pr)))}),AN.command(`pr:review`).requiredOption(`--issue <number>`).requiredOption(`--pr <number>`).requiredOption(`--artifact <path>`,`Path to a UTF-8 JSON review artifact file (not inline JSON)`).option(`--dry-run`).action(async e=>IN(`issue_pr_review`,{issueNumber:MN(e.issue),prNumber:MN(e.pr),artifact:u(e.artifact,`utf8`),dryRun:e.dryRun===!0}));for(let[e,t]of[[`pr:merge`,`issue_pr_merge`],[`finish`,`issue_finish`]])AN.command(e).requiredOption(`--issue <number>`).requiredOption(`--pr <number>`).option(`--strategy <method>`).option(`--dry-run`).action(async e=>IN(t,{issueNumber:MN(e.issue),prNumber:MN(e.pr),strategy:e.strategy,dryRun:e.dryRun===!0}));AN.command(`worktree:create`).requiredOption(`--name <name>`).requiredOption(`--branch <branch>`).action(async e=>IN(`issue_worktree_create`,e)),AN.command(`worktree:transition:inspect`).requiredOption(`--issue <number>`).requiredOption(`--purpose <purpose>`,`active-resume or merged-cleanup`).option(`--disposition <disposition>`,`retain (default) or explicitly unheld remove`).option(`--terminal-pr <number>`).option(`--retained-holds <comment-ids>`,`Comma-separated native retained-hold comment IDs`).option(`--retained-admission <path>`).option(`--retained-archive <path>`).action(async e=>IN(`issue_worktree_transition_inspect`,{issueNumber:MN(e.issue),purpose:e.purpose,...e.disposition===void 0?{}:{disposition:e.disposition},...e.terminalPr===void 0?{}:{terminalPrNumber:MN(e.terminalPr)},...e.retainedHolds===void 0?{}:{retainedHoldCommentIds:PN(e.retainedHolds)},...e.retainedAdmission===void 0?{}:{retainedAdmissionPath:e.retainedAdmission},...e.retainedArchive===void 0?{}:{retainedArchivePath:e.retainedArchive}})),AN.command(`worktree:transition:apply`).requiredOption(`--plan <path>`).requiredOption(`--plan-id <digest>`).requiredOption(`--relinquishment-comment <id>`).requiredOption(`--acceptance-comment <id>`).option(`--authorize-transition`,`Explicit authority for this exact independently accepted plan`).action(async e=>IN(`issue_worktree_transition_apply`,{authority:e.authorizeTransition===!0?`worktree:transition`:``,planPath:e.plan,expectedPlanId:e.planId,relinquishmentCommentId:Number(e.relinquishmentComment),acceptanceCommentId:Number(e.acceptanceComment)})),AN.command(`worktrees:list`).action(()=>LN(ay(Yh(jN().repoRoot)))),AN.command(`worktrees:status`).action(()=>{LN(ay(Yh(jN().repoRoot)).map(e=>{let t=n(e.path)&&qh(e.path,`rev-parse`,`--is-inside-work-tree`)===0;return{...e,present:t,observedBranch:t?U(e.path,`branch`,`--show-current`):null,clean:t?U(e.path,`status`,`--porcelain`,`--untracked-files=all`)===``:null}}))}),AN.command(`worktrees:cleanup`).option(`--pr <number>`).option(`--name <name>`).action(async e=>{let t=await pw(jN(),`worktrees:cleanup`);await sv({...jN(),...t.configuration?{configuration:t.configuration}:{}}),await _x({...t.configuration?.remote?{remote:t.configuration.remote}:{},repoRoot:t.root,...e.pr===void 0?{}:{prNumber:Number(e.pr)},...e.name===void 0?{}:{name:e.name}}),LN({cleaned:!0,...e.pr===void 0?{name:e.name}:{prNumber:Number(e.pr)}})}),AN.command(`migrate:legacy-issues`).requiredOption(`--input-file <path>`,`Offline legacy issue inventory JSON`).action(e=>{let t=yM(JSON.parse(u(e.inputFile,`utf8`)));process.stdout.write(`${JSON.stringify(t,null,2)}\n`)}),AN.command(`metrics`).description(`Report bounded terminal delivery metrics`).command(`velocity`).option(`--json`,`Print the canonical JSON report`).action(async()=>{let e=Yh(jN().repoRoot),t=(await oh(e)).config,n=Ay(jy(e),new Date,t.native.points.values.map(Number));process.stdout.write(`${JSON.stringify(n,null,2)}\n`)}),AN.command(`config:resolve`).description(`Read the effective GitHub destination and admission digest`).action(async()=>{let e=await pw(jN(),`config:resolve`);LN({configDigest:e.configuration?.configDigest,routing:e.configuration?.routing,reviewRoute:await kS(e,void 0,void 0,`development`)})}),AN.command(`mcp:serve`).action(async()=>hM(jN())),AN.parseAsync(process.argv).catch(e=>{process.stderr.write(`ai-delivery: ${e instanceof Error?e.message:String(e)}\n`),process.exitCode=1});export{};
|