@twinklerg/coden 0.1.2 → 0.1.4

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.
Files changed (3) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +203 -102
  3. package/package.json +3 -2
package/dist/index.js CHANGED
@@ -1,105 +1,190 @@
1
1
  #!/usr/bin/env node
2
2
  // @bun
3
- import{createRequire as gz}from"node:module";var Cz=Object.create;var{getPrototypeOf:jz,defineProperty:_W,getOwnPropertyNames:Iz}=Object;var yz=Object.prototype.hasOwnProperty;function bz($){return this[$]}var xz,_z,R4=($,w,Z)=>{var W=$!=null&&typeof $==="object";if(W){var X=w?xz??=new WeakMap:_z??=new WeakMap,Y=X.get($);if(Y)return Y}Z=$!=null?Cz(jz($)):{};let G=w||!$||!$.__esModule?_W(Z,"default",{value:$,enumerable:!0}):Z;for(let J of Iz($))if(!yz.call(G,J))_W(G,J,{get:bz.bind($,J),enumerable:!0});if(W)X.set($,G);return G};var L=($,w)=>()=>(w||$((w={exports:{}}).exports,w),w.exports);var Dw=gz(import.meta.url);var fw=L((vz)=>{class g6 extends Error{constructor($,w,Z){super(Z);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=w,this.exitCode=$,this.nestedError=void 0}}class gW extends g6{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}vz.CommanderError=g6;vz.InvalidArgumentError=gW});var C4=L((lz)=>{var{InvalidArgumentError:iz}=fw();class vW{constructor($,w){switch(this.description=w||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue($,w){if(w===this.defaultValue||!Array.isArray(w))return[$];return w.push($),w}default($,w){return this.defaultValue=$,this.defaultValueDescription=w,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(w,Z)=>{if(!this.argChoices.includes(w))throw new iz(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(w,Z);return w},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function mz($){let w=$.name()+($.variadic===!0?"...":"");return $.required?"<"+w+">":"["+w+"]"}lz.Argument=vW;lz.humanReadableArgName=mz});var v6=L((nz)=>{var{humanReadableArgName:pz}=C4();class uW{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext($){this.helpWidth=this.helpWidth??$.helpWidth??80}visibleCommands($){let w=$.commands.filter((W)=>!W._hidden),Z=$._getHelpCommand();if(Z&&!Z._hidden)w.push(Z);if(this.sortSubcommands)w.sort((W,X)=>{return W.name().localeCompare(X.name())});return w}compareOptions($,w){let Z=(W)=>{return W.short?W.short.replace(/^-/,""):W.long.replace(/^--/,"")};return Z($).localeCompare(Z(w))}visibleOptions($){let w=$.options.filter((W)=>!W.hidden),Z=$._getHelpOption();if(Z&&!Z.hidden){let W=Z.short&&$._findOption(Z.short),X=Z.long&&$._findOption(Z.long);if(!W&&!X)w.push(Z);else if(Z.long&&!X)w.push($.createOption(Z.long,Z.description));else if(Z.short&&!W)w.push($.createOption(Z.short,Z.description))}if(this.sortOptions)w.sort(this.compareOptions);return w}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let w=[];for(let Z=$.parent;Z;Z=Z.parent){let W=Z.options.filter((X)=>!X.hidden);w.push(...W)}if(this.sortOptions)w.sort(this.compareOptions);return w}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((w)=>{w.description=w.description||$._argsDescription[w.name()]||""});if($.registeredArguments.find((w)=>w.description))return $.registeredArguments;return[]}subcommandTerm($){let w=$.registeredArguments.map((Z)=>pz(Z)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(w?" "+w:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,w){return w.visibleCommands($).reduce((Z,W)=>{return Math.max(Z,this.displayWidth(w.styleSubcommandTerm(w.subcommandTerm(W))))},0)}longestOptionTermLength($,w){return w.visibleOptions($).reduce((Z,W)=>{return Math.max(Z,this.displayWidth(w.styleOptionTerm(w.optionTerm(W))))},0)}longestGlobalOptionTermLength($,w){return w.visibleGlobalOptions($).reduce((Z,W)=>{return Math.max(Z,this.displayWidth(w.styleOptionTerm(w.optionTerm(W))))},0)}longestArgumentTermLength($,w){return w.visibleArguments($).reduce((Z,W)=>{return Math.max(Z,this.displayWidth(w.styleArgumentTerm(w.argumentTerm(W))))},0)}commandUsage($){let w=$._name;if($._aliases[0])w=w+"|"+$._aliases[0];let Z="";for(let W=$.parent;W;W=W.parent)Z=W.name()+" "+Z;return Z+w+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let w=[];if($.argChoices)w.push(`choices: ${$.argChoices.map((Z)=>JSON.stringify(Z)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")w.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)w.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)w.push(`env: ${$.envVar}`);if(w.length>0){let Z=`(${w.join(", ")})`;if($.description)return`${$.description} ${Z}`;return Z}return $.description}argumentDescription($){let w=[];if($.argChoices)w.push(`choices: ${$.argChoices.map((Z)=>JSON.stringify(Z)).join(", ")}`);if($.defaultValue!==void 0)w.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(w.length>0){let Z=`(${w.join(", ")})`;if($.description)return`${$.description} ${Z}`;return Z}return $.description}formatItemList($,w,Z){if(w.length===0)return[];return[Z.styleTitle($),...w,""]}groupItems($,w,Z){let W=new Map;return $.forEach((X)=>{let Y=Z(X);if(!W.has(Y))W.set(Y,[])}),w.forEach((X)=>{let Y=Z(X);if(!W.has(Y))W.set(Y,[]);W.get(Y).push(X)}),W}formatHelp($,w){let Z=w.padWidth($,w),W=w.helpWidth??80;function X(M,T){return w.formatItem(M,Z,T,w)}let Y=[`${w.styleTitle("Usage:")} ${w.styleUsage(w.commandUsage($))}`,""],G=w.commandDescription($);if(G.length>0)Y=Y.concat([w.boxWrap(w.styleCommandDescription(G),W),""]);let J=w.visibleArguments($).map((M)=>{return X(w.styleArgumentTerm(w.argumentTerm(M)),w.styleArgumentDescription(w.argumentDescription(M)))});if(Y=Y.concat(this.formatItemList("Arguments:",J,w)),this.groupItems($.options,w.visibleOptions($),(M)=>M.helpGroupHeading??"Options:").forEach((M,T)=>{let N=M.map((K)=>{return X(w.styleOptionTerm(w.optionTerm(K)),w.styleOptionDescription(w.optionDescription(K)))});Y=Y.concat(this.formatItemList(T,N,w))}),w.showGlobalOptions){let M=w.visibleGlobalOptions($).map((T)=>{return X(w.styleOptionTerm(w.optionTerm(T)),w.styleOptionDescription(w.optionDescription(T)))});Y=Y.concat(this.formatItemList("Global Options:",M,w))}return this.groupItems($.commands,w.visibleCommands($),(M)=>M.helpGroup()||"Commands:").forEach((M,T)=>{let N=M.map((K)=>{return X(w.styleSubcommandTerm(w.subcommandTerm(K)),w.styleSubcommandDescription(w.subcommandDescription(K)))});Y=Y.concat(this.formatItemList(T,N,w))}),Y.join(`
4
- `)}displayWidth($){return hW($).length}styleTitle($){return $}styleUsage($){return $.split(" ").map((w)=>{if(w==="[options]")return this.styleOptionText(w);if(w==="[command]")return this.styleSubcommandText(w);if(w[0]==="["||w[0]==="<")return this.styleArgumentText(w);return this.styleCommandText(w)}).join(" ")}styleCommandDescription($){return this.styleDescriptionText($)}styleOptionDescription($){return this.styleDescriptionText($)}styleSubcommandDescription($){return this.styleDescriptionText($)}styleArgumentDescription($){return this.styleDescriptionText($)}styleDescriptionText($){return $}styleOptionTerm($){return this.styleOptionText($)}styleSubcommandTerm($){return $.split(" ").map((w)=>{if(w==="[options]")return this.styleOptionText(w);if(w[0]==="["||w[0]==="<")return this.styleArgumentText(w);return this.styleSubcommandText(w)}).join(" ")}styleArgumentTerm($){return this.styleArgumentText($)}styleOptionText($){return $}styleArgumentText($){return $}styleSubcommandText($){return $}styleCommandText($){return $}padWidth($,w){return Math.max(w.longestOptionTermLength($,w),w.longestGlobalOptionTermLength($,w),w.longestSubcommandTermLength($,w),w.longestArgumentTermLength($,w))}preformatted($){return/\n[^\S\r\n]/.test($)}formatItem($,w,Z,W){let Y=" ".repeat(2);if(!Z)return Y+$;let G=$.padEnd(w+$.length-W.displayWidth($)),J=2,z=(this.helpWidth??80)-w-J-2,M;if(z<this.minWidthToWrap||W.preformatted(Z))M=Z;else M=W.boxWrap(Z,z).replace(/\n/g,`
3
+ import{createRequire as aM}from"node:module";var cM=Object.create;var{getPrototypeOf:dM,defineProperty:AX,getOwnPropertyNames:nM}=Object;var pM=Object.prototype.hasOwnProperty;function tM($){return this[$]}var rM,sM,m1=($,w,W)=>{var Z=$!=null&&typeof $==="object";if(Z){var X=w?rM??=new WeakMap:sM??=new WeakMap,Y=X.get($);if(Y)return Y}W=$!=null?cM(dM($)):{};let G=w||!$||!$.__esModule?AX(W,"default",{value:$,enumerable:!0}):W;for(let J of nM($))if(!pM.call(G,J))AX(G,J,{get:tM.bind($,J),enumerable:!0});if(Z)X.set($,G);return G};var L=($,w)=>()=>(w||$((w={exports:{}}).exports,w),w.exports);var mw=aM(import.meta.url);var lw=L((oM)=>{class PW extends Error{constructor($,w,W){super(W);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=w,this.exitCode=$,this.nestedError=void 0}}class SX extends PW{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}oM.CommanderError=PW;oM.InvalidArgumentError=SX});var w8=L((Zz)=>{var{InvalidArgumentError:wz}=lw();class RX{constructor($,w){switch(this.description=w||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,$[0]){case"<":this.required=!0,this._name=$.slice(1,-1);break;case"[":this.required=!1,this._name=$.slice(1,-1);break;default:this.required=!0,this._name=$;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue($,w){if(w===this.defaultValue||!Array.isArray(w))return[$];return w.push($),w}default($,w){return this.defaultValue=$,this.defaultValueDescription=w,this}argParser($){return this.parseArg=$,this}choices($){return this.argChoices=$.slice(),this.parseArg=(w,W)=>{if(!this.argChoices.includes(w))throw new wz(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(w,W);return w},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function Wz($){let w=$.name()+($.variadic===!0?"...":"");return $.required?"<"+w+">":"["+w+"]"}Zz.Argument=RX;Zz.humanReadableArgName=Wz});var VW=L((Jz)=>{var{humanReadableArgName:Gz}=w8();class CX{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext($){this.helpWidth=this.helpWidth??$.helpWidth??80}visibleCommands($){let w=$.commands.filter((Z)=>!Z._hidden),W=$._getHelpCommand();if(W&&!W._hidden)w.push(W);if(this.sortSubcommands)w.sort((Z,X)=>{return Z.name().localeCompare(X.name())});return w}compareOptions($,w){let W=(Z)=>{return Z.short?Z.short.replace(/^-/,""):Z.long.replace(/^--/,"")};return W($).localeCompare(W(w))}visibleOptions($){let w=$.options.filter((Z)=>!Z.hidden),W=$._getHelpOption();if(W&&!W.hidden){let Z=W.short&&$._findOption(W.short),X=W.long&&$._findOption(W.long);if(!Z&&!X)w.push(W);else if(W.long&&!X)w.push($.createOption(W.long,W.description));else if(W.short&&!Z)w.push($.createOption(W.short,W.description))}if(this.sortOptions)w.sort(this.compareOptions);return w}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let w=[];for(let W=$.parent;W;W=W.parent){let Z=W.options.filter((X)=>!X.hidden);w.push(...Z)}if(this.sortOptions)w.sort(this.compareOptions);return w}visibleArguments($){if($._argsDescription)$.registeredArguments.forEach((w)=>{w.description=w.description||$._argsDescription[w.name()]||""});if($.registeredArguments.find((w)=>w.description))return $.registeredArguments;return[]}subcommandTerm($){let w=$.registeredArguments.map((W)=>Gz(W)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(w?" "+w:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,w){return w.visibleCommands($).reduce((W,Z)=>{return Math.max(W,this.displayWidth(w.styleSubcommandTerm(w.subcommandTerm(Z))))},0)}longestOptionTermLength($,w){return w.visibleOptions($).reduce((W,Z)=>{return Math.max(W,this.displayWidth(w.styleOptionTerm(w.optionTerm(Z))))},0)}longestGlobalOptionTermLength($,w){return w.visibleGlobalOptions($).reduce((W,Z)=>{return Math.max(W,this.displayWidth(w.styleOptionTerm(w.optionTerm(Z))))},0)}longestArgumentTermLength($,w){return w.visibleArguments($).reduce((W,Z)=>{return Math.max(W,this.displayWidth(w.styleArgumentTerm(w.argumentTerm(Z))))},0)}commandUsage($){let w=$._name;if($._aliases[0])w=w+"|"+$._aliases[0];let W="";for(let Z=$.parent;Z;Z=Z.parent)W=Z.name()+" "+W;return W+w+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let w=[];if($.argChoices)w.push(`choices: ${$.argChoices.map((W)=>JSON.stringify(W)).join(", ")}`);if($.defaultValue!==void 0){if($.required||$.optional||$.isBoolean()&&typeof $.defaultValue==="boolean")w.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`)}if($.presetArg!==void 0&&$.optional)w.push(`preset: ${JSON.stringify($.presetArg)}`);if($.envVar!==void 0)w.push(`env: ${$.envVar}`);if(w.length>0){let W=`(${w.join(", ")})`;if($.description)return`${$.description} ${W}`;return W}return $.description}argumentDescription($){let w=[];if($.argChoices)w.push(`choices: ${$.argChoices.map((W)=>JSON.stringify(W)).join(", ")}`);if($.defaultValue!==void 0)w.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(w.length>0){let W=`(${w.join(", ")})`;if($.description)return`${$.description} ${W}`;return W}return $.description}formatItemList($,w,W){if(w.length===0)return[];return[W.styleTitle($),...w,""]}groupItems($,w,W){let Z=new Map;return $.forEach((X)=>{let Y=W(X);if(!Z.has(Y))Z.set(Y,[])}),w.forEach((X)=>{let Y=W(X);if(!Z.has(Y))Z.set(Y,[]);Z.get(Y).push(X)}),Z}formatHelp($,w){let W=w.padWidth($,w),Z=w.helpWidth??80;function X(M,z){return w.formatItem(M,W,z,w)}let Y=[`${w.styleTitle("Usage:")} ${w.styleUsage(w.commandUsage($))}`,""],G=w.commandDescription($);if(G.length>0)Y=Y.concat([w.boxWrap(w.styleCommandDescription(G),Z),""]);let J=w.visibleArguments($).map((M)=>{return X(w.styleArgumentTerm(w.argumentTerm(M)),w.styleArgumentDescription(w.argumentDescription(M)))});if(Y=Y.concat(this.formatItemList("Arguments:",J,w)),this.groupItems($.options,w.visibleOptions($),(M)=>M.helpGroupHeading??"Options:").forEach((M,z)=>{let N=M.map((B)=>{return X(w.styleOptionTerm(w.optionTerm(B)),w.styleOptionDescription(w.optionDescription(B)))});Y=Y.concat(this.formatItemList(z,N,w))}),w.showGlobalOptions){let M=w.visibleGlobalOptions($).map((z)=>{return X(w.styleOptionTerm(w.optionTerm(z)),w.styleOptionDescription(w.optionDescription(z)))});Y=Y.concat(this.formatItemList("Global Options:",M,w))}return this.groupItems($.commands,w.visibleCommands($),(M)=>M.helpGroup()||"Commands:").forEach((M,z)=>{let N=M.map((B)=>{return X(w.styleSubcommandTerm(w.subcommandTerm(B)),w.styleSubcommandDescription(w.subcommandDescription(B)))});Y=Y.concat(this.formatItemList(z,N,w))}),Y.join(`
4
+ `)}displayWidth($){return jX($).length}styleTitle($){return $}styleUsage($){return $.split(" ").map((w)=>{if(w==="[options]")return this.styleOptionText(w);if(w==="[command]")return this.styleSubcommandText(w);if(w[0]==="["||w[0]==="<")return this.styleArgumentText(w);return this.styleCommandText(w)}).join(" ")}styleCommandDescription($){return this.styleDescriptionText($)}styleOptionDescription($){return this.styleDescriptionText($)}styleSubcommandDescription($){return this.styleDescriptionText($)}styleArgumentDescription($){return this.styleDescriptionText($)}styleDescriptionText($){return $}styleOptionTerm($){return this.styleOptionText($)}styleSubcommandTerm($){return $.split(" ").map((w)=>{if(w==="[options]")return this.styleOptionText(w);if(w[0]==="["||w[0]==="<")return this.styleArgumentText(w);return this.styleSubcommandText(w)}).join(" ")}styleArgumentTerm($){return this.styleArgumentText($)}styleOptionText($){return $}styleArgumentText($){return $}styleSubcommandText($){return $}styleCommandText($){return $}padWidth($,w){return Math.max(w.longestOptionTermLength($,w),w.longestGlobalOptionTermLength($,w),w.longestSubcommandTermLength($,w),w.longestArgumentTermLength($,w))}preformatted($){return/\n[^\S\r\n]/.test($)}formatItem($,w,W,Z){let Y=" ".repeat(2);if(!W)return Y+$;let G=$.padEnd(w+$.length-Z.displayWidth($)),J=2,Q=(this.helpWidth??80)-w-J-2,M;if(Q<this.minWidthToWrap||Z.preformatted(W))M=W;else M=Z.boxWrap(W,Q).replace(/\n/g,`
5
5
  `+" ".repeat(w+J));return Y+G+" ".repeat(J)+M.replace(/\n/g,`
6
- ${Y}`)}boxWrap($,w){if(w<this.minWidthToWrap)return $;let Z=$.split(/\r\n|\n/),W=/[\s]*[^\s]+/g,X=[];return Z.forEach((Y)=>{let G=Y.match(W);if(G===null){X.push("");return}let J=[G.shift()],Q=this.displayWidth(J[0]);G.forEach((z)=>{let M=this.displayWidth(z);if(Q+M<=w){J.push(z),Q+=M;return}X.push(J.join(""));let T=z.trimStart();J=[T],Q=this.displayWidth(T)}),X.push(J.join(""))}),X.join(`
7
- `)}}function hW($){let w=/\x1b\[\d*(;\d*)*m/g;return $.replace(w,"")}nz.Help=uW;nz.stripColor=hW});var u6=L((oz)=>{var{InvalidArgumentError:sz}=fw();class mW{constructor($,w){this.flags=$,this.description=w||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let Z=az($);if(this.short=Z.shortFlag,this.long=Z.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($,w){return this.defaultValue=$,this.defaultValueDescription=w,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let w=$;if(typeof $==="string")w={[$]:!0};return this.implied=Object.assign(this.implied||{},w),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_collectValue($,w){if(w===this.defaultValue||!Array.isArray(w))return[$];return w.push($),w}choices($){return this.argChoices=$.slice(),this.parseArg=(w,Z)=>{if(!this.argChoices.includes(w))throw new sz(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(w,Z);return w},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return iW(this.name().replace(/^no-/,""));return iW(this.name())}helpGroup($){return this.helpGroupHeading=$,this}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class lW{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((w)=>{if(w.negate)this.negativeOptions.set(w.attributeName(),w);else this.positiveOptions.set(w.attributeName(),w)}),this.negativeOptions.forEach((w,Z)=>{if(this.positiveOptions.has(Z))this.dualOptions.add(Z)})}valueFromOption($,w){let Z=w.attributeName();if(!this.dualOptions.has(Z))return!0;let W=this.negativeOptions.get(Z).presetArg,X=W!==void 0?W:!1;return w.negate===(X===$)}}function iW($){return $.split("-").reduce((w,Z)=>{return w+Z[0].toUpperCase()+Z.slice(1)})}function az($){let w,Z,W=/^-[^-]$/,X=/^--[^-]/,Y=$.split(/[ |,]+/).concat("guard");if(W.test(Y[0]))w=Y.shift();if(X.test(Y[0]))Z=Y.shift();if(!w&&W.test(Y[0]))w=Y.shift();if(!w&&X.test(Y[0]))w=Z,Z=Y.shift();if(Y[0].startsWith("-")){let G=Y[0],J=`option creation failed due to '${G}' in option flags '${$}'`;if(/^-[^-][^-]/.test(G))throw Error(`${J}
6
+ ${Y}`)}boxWrap($,w){if(w<this.minWidthToWrap)return $;let W=$.split(/\r\n|\n/),Z=/[\s]*[^\s]+/g,X=[];return W.forEach((Y)=>{let G=Y.match(Z);if(G===null){X.push("");return}let J=[G.shift()],T=this.displayWidth(J[0]);G.forEach((Q)=>{let M=this.displayWidth(Q);if(T+M<=w){J.push(Q),T+=M;return}X.push(J.join(""));let z=Q.trimStart();J=[z],T=this.displayWidth(z)}),X.push(J.join(""))}),X.join(`
7
+ `)}}function jX($){let w=/\x1b\[\d*(;\d*)*m/g;return $.replace(w,"")}Jz.Help=CX;Jz.stripColor=jX});var fW=L((Nz)=>{var{InvalidArgumentError:Mz}=lw();class IX{constructor($,w){this.flags=$,this.description=w||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let W=zz($);if(this.short=W.shortFlag,this.long=W.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($,w){return this.defaultValue=$,this.defaultValueDescription=w,this}preset($){return this.presetArg=$,this}conflicts($){return this.conflictsWith=this.conflictsWith.concat($),this}implies($){let w=$;if(typeof $==="string")w={[$]:!0};return this.implied=Object.assign(this.implied||{},w),this}env($){return this.envVar=$,this}argParser($){return this.parseArg=$,this}makeOptionMandatory($=!0){return this.mandatory=!!$,this}hideHelp($=!0){return this.hidden=!!$,this}_collectValue($,w){if(w===this.defaultValue||!Array.isArray(w))return[$];return w.push($),w}choices($){return this.argChoices=$.slice(),this.parseArg=(w,W)=>{if(!this.argChoices.includes(w))throw new Mz(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(w,W);return w},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return yX(this.name().replace(/^no-/,""));return yX(this.name())}helpGroup($){return this.helpGroupHeading=$,this}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class bX{constructor($){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,$.forEach((w)=>{if(w.negate)this.negativeOptions.set(w.attributeName(),w);else this.positiveOptions.set(w.attributeName(),w)}),this.negativeOptions.forEach((w,W)=>{if(this.positiveOptions.has(W))this.dualOptions.add(W)})}valueFromOption($,w){let W=w.attributeName();if(!this.dualOptions.has(W))return!0;let Z=this.negativeOptions.get(W).presetArg,X=Z!==void 0?Z:!1;return w.negate===(X===$)}}function yX($){return $.split("-").reduce((w,W)=>{return w+W[0].toUpperCase()+W.slice(1)})}function zz($){let w,W,Z=/^-[^-]$/,X=/^--[^-]/,Y=$.split(/[ |,]+/).concat("guard");if(Z.test(Y[0]))w=Y.shift();if(X.test(Y[0]))W=Y.shift();if(!w&&Z.test(Y[0]))w=Y.shift();if(!w&&X.test(Y[0]))w=W,W=Y.shift();if(Y[0].startsWith("-")){let G=Y[0],J=`option creation failed due to '${G}' in option flags '${$}'`;if(/^-[^-][^-]/.test(G))throw Error(`${J}
8
8
  - a short flag is a single dash and a single character
9
9
  - either use a single dash and a single character (for a short flag)
10
- - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(W.test(G))throw Error(`${J}
10
+ - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(Z.test(G))throw Error(`${J}
11
11
  - too many short flags`);if(X.test(G))throw Error(`${J}
12
12
  - too many long flags`);throw Error(`${J}
13
- - unrecognised flag format`)}if(w===void 0&&Z===void 0)throw Error(`option creation failed due to no flags found in '${$}'.`);return{shortFlag:w,longFlag:Z}}oz.Option=mW;oz.DualOptions=lW});var cW=L((WM)=>{function wM($,w){if(Math.abs($.length-w.length)>3)return Math.max($.length,w.length);let Z=[];for(let W=0;W<=$.length;W++)Z[W]=[W];for(let W=0;W<=w.length;W++)Z[0][W]=W;for(let W=1;W<=w.length;W++)for(let X=1;X<=$.length;X++){let Y=1;if($[X-1]===w[W-1])Y=0;else Y=1;if(Z[X][W]=Math.min(Z[X-1][W]+1,Z[X][W-1]+1,Z[X-1][W-1]+Y),X>1&&W>1&&$[X-1]===w[W-2]&&$[X-2]===w[W-1])Z[X][W]=Math.min(Z[X][W],Z[X-2][W-2]+1)}return Z[$.length][w.length]}function ZM($,w){if(!w||w.length===0)return"";w=Array.from(new Set(w));let Z=$.startsWith("--");if(Z)$=$.slice(2),w=w.map((G)=>G.slice(2));let W=[],X=3,Y=0.4;if(w.forEach((G)=>{if(G.length<=1)return;let J=wM($,G),Q=Math.max($.length,G.length);if((Q-J)/Q>Y){if(J<X)X=J,W=[G];else if(J===X)W.push(G)}}),W.sort((G,J)=>G.localeCompare(J)),Z)W=W.map((G)=>`--${G}`);if(W.length>1)return`
14
- (Did you mean one of ${W.join(", ")}?)`;if(W.length===1)return`
15
- (Did you mean ${W[0]}?)`;return""}WM.suggestSimilar=ZM});var tW=L((TM)=>{var YM=Dw("node:events").EventEmitter,h6=Dw("node:child_process"),W$=Dw("node:path"),j4=Dw("node:fs"),p=Dw("node:process"),{Argument:GM,humanReadableArgName:JM}=C4(),{CommanderError:i6}=fw(),{Help:QM,stripColor:zM}=v6(),{Option:dW,DualOptions:MM}=u6(),{suggestSimilar:pW}=cW();class l6 extends YM{constructor($){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=$||"",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:(w)=>p.stdout.write(w),writeErr:(w)=>p.stderr.write(w),outputError:(w,Z)=>Z(w),getOutHelpWidth:()=>p.stdout.isTTY?p.stdout.columns:void 0,getErrHelpWidth:()=>p.stderr.isTTY?p.stderr.columns:void 0,getOutHasColors:()=>m6()??(p.stdout.isTTY&&p.stdout.hasColors?.()),getErrHasColors:()=>m6()??(p.stderr.isTTY&&p.stderr.hasColors?.()),stripColor:(w)=>zM(w)},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($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let w=this;w;w=w.parent)$.push(w);return $}command($,w,Z){let W=w,X=Z;if(typeof W==="object"&&W!==null)X=W,W=null;X=X||{};let[,Y,G]=$.match(/([^ ]+) *(.*)/),J=this.createCommand(Y);if(W)J.description(W),J._executableHandler=!0;if(X.isDefault)this._defaultCommandName=J._name;if(J._hidden=!!(X.noHelp||X.hidden),J._executableFile=X.executableFile||null,G)J.arguments(G);if(this._registerCommand(J),J.parent=this,J.copyInheritedSettings(this),W)return this;return J}createCommand($){return new l6($)}createHelp(){return Object.assign(new QM,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...$},this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,w){if(!$._name)throw Error(`Command passed to .addCommand() must have a name
16
- - specify the name in Command constructor or using .name()`);if(w=w||{},w.isDefault)this._defaultCommandName=$._name;if(w.noHelp||w.hidden)$._hidden=!0;return this._registerCommand($),$.parent=this,$._checkForBrokenPassThrough(),this}createArgument($,w){return new GM($,w)}argument($,w,Z,W){let X=this.createArgument($,w);if(typeof Z==="function")X.default(W).argParser(Z);else X.default(Z);return this.addArgument(X),this}arguments($){return $.trim().split(/ +/).forEach((w)=>{this.argument(w)}),this}addArgument($){let w=this.registeredArguments.slice(-1)[0];if(w?.variadic)throw Error(`only the last argument can be variadic '${w.name()}'`);if($.required&&$.defaultValue!==void 0&&$.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${$.name()}'`);return this.registeredArguments.push($),this}helpCommand($,w){if(typeof $==="boolean"){if(this._addImplicitHelpCommand=$,$&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let Z=$??"help [command]",[,W,X]=Z.match(/([^ ]+) *(.*)/),Y=w??"display help for command",G=this.createCommand(W);if(G.helpOption(!1),X)G.arguments(X);if(Y)G.description(Y);if(this._addImplicitHelpCommand=!0,this._helpCommand=G,$||w)this._initCommandGroup(G);return this}addHelpCommand($,w){if(typeof $!=="object")return this.helpCommand($,w),this;return this._addImplicitHelpCommand=!0,this._helpCommand=$,this._initCommandGroup($),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook($,w){let Z=["preSubcommand","preAction","postAction"];if(!Z.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'.
17
- Expecting one of '${Z.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(w);else this._lifeCycleHooks[$]=[w];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(w)=>{if(w.code!=="commander.executeSubCommandAsync")throw w};return this}_exit($,w,Z){if(this._exitCallback)this._exitCallback(new i6($,w,Z));p.exit($)}action($){let w=(Z)=>{let W=this.registeredArguments.length,X=Z.slice(0,W);if(this._storeOptionsAsProperties)X[W]=this;else X[W]=this.opts();return X.push(this),$.apply(this,X)};return this._actionHandler=w,this}createOption($,w){return new dW($,w)}_callParseArg($,w,Z,W){try{return $.parseArg(w,Z)}catch(X){if(X.code==="commander.invalidArgument"){let Y=`${W} ${X.message}`;this.error(Y,{exitCode:X.exitCode,code:X.code})}throw X}}_registerOption($){let w=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(w){let Z=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${Z}'
18
- - already used by option '${w.flags}'`)}this._initOptionGroup($),this.options.push($)}_registerCommand($){let w=(W)=>{return[W.name()].concat(W.aliases())},Z=w($).find((W)=>this._findCommand(W));if(Z){let W=w(this._findCommand(Z)).join("|"),X=w($).join("|");throw Error(`cannot add command '${X}' as already have command '${W}'`)}this._initCommandGroup($),this.commands.push($)}addOption($){this._registerOption($);let w=$.name(),Z=$.attributeName();if($.negate){let X=$.long.replace(/^--no-/,"--");if(!this._findOption(X))this.setOptionValueWithSource(Z,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(Z,$.defaultValue,"default");let W=(X,Y,G)=>{if(X==null&&$.presetArg!==void 0)X=$.presetArg;let J=this.getOptionValue(Z);if(X!==null&&$.parseArg)X=this._callParseArg($,X,J,Y);else if(X!==null&&$.variadic)X=$._collectValue(X,J);if(X==null)if($.negate)X=!1;else if($.isBoolean()||$.optional)X=!0;else X="";this.setOptionValueWithSource(Z,X,G)};if(this.on("option:"+w,(X)=>{let Y=`error: option '${$.flags}' argument '${X}' is invalid.`;W(X,Y,"cli")}),$.envVar)this.on("optionEnv:"+w,(X)=>{let Y=`error: option '${$.flags}' value '${X}' from env '${$.envVar}' is invalid.`;W(X,Y,"env")});return this}_optionEx($,w,Z,W,X){if(typeof w==="object"&&w instanceof dW)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let Y=this.createOption(w,Z);if(Y.makeOptionMandatory(!!$.mandatory),typeof W==="function")Y.default(X).argParser(W);else if(W instanceof RegExp){let G=W;W=(J,Q)=>{let z=G.exec(J);return z?z[0]:Q},Y.default(X).argParser(W)}else Y.default(W);return this.addOption(Y)}option($,w,Z,W){return this._optionEx({},$,w,Z,W)}requiredOption($,w,Z,W){return this._optionEx({mandatory:!0},$,w,Z,W)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,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($=!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=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,w){return this.setOptionValueWithSource($,w,void 0)}setOptionValueWithSource($,w,Z){if(this._storeOptionsAsProperties)this[$]=w;else this._optionValues[$]=w;return this._optionValueSources[$]=Z,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let w;return this._getCommandAndAncestors().forEach((Z)=>{if(Z.getOptionValueSource($)!==void 0)w=Z.getOptionValueSource($)}),w}_prepareUserArgs($,w){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(w=w||{},$===void 0&&w.from===void 0){if(p.versions?.electron)w.from="electron";let W=p.execArgv??[];if(W.includes("-e")||W.includes("--eval")||W.includes("-p")||W.includes("--print"))w.from="eval"}if($===void 0)$=p.argv;this.rawArgs=$.slice();let Z;switch(w.from){case void 0:case"node":this._scriptPath=$[1],Z=$.slice(2);break;case"electron":if(p.defaultApp)this._scriptPath=$[1],Z=$.slice(2);else Z=$.slice(1);break;case"user":Z=$.slice(0);break;case"eval":Z=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${w.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",Z}parse($,w){this._prepareForParse();let Z=this._prepareUserArgs($,w);return this._parseCommand([],Z),this}async parseAsync($,w){this._prepareForParse();let Z=this._prepareUserArgs($,w);return await this._parseCommand([],Z),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
19
- - 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($,w,Z){if(j4.existsSync($))return;let W=w?`searched for local subcommand relative to directory '${w}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",X=`'${$}' does not exist
20
- - if '${Z}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
13
+ - unrecognised flag format`)}if(w===void 0&&W===void 0)throw Error(`option creation failed due to no flags found in '${$}'.`);return{shortFlag:w,longFlag:W}}Nz.Option=IX;Nz.DualOptions=bX});var xX=L((fz)=>{function Pz($,w){if(Math.abs($.length-w.length)>3)return Math.max($.length,w.length);let W=[];for(let Z=0;Z<=$.length;Z++)W[Z]=[Z];for(let Z=0;Z<=w.length;Z++)W[0][Z]=Z;for(let Z=1;Z<=w.length;Z++)for(let X=1;X<=$.length;X++){let Y=1;if($[X-1]===w[Z-1])Y=0;else Y=1;if(W[X][Z]=Math.min(W[X-1][Z]+1,W[X][Z-1]+1,W[X-1][Z-1]+Y),X>1&&Z>1&&$[X-1]===w[Z-2]&&$[X-2]===w[Z-1])W[X][Z]=Math.min(W[X][Z],W[X-2][Z-2]+1)}return W[$.length][w.length]}function Vz($,w){if(!w||w.length===0)return"";w=Array.from(new Set(w));let W=$.startsWith("--");if(W)$=$.slice(2),w=w.map((G)=>G.slice(2));let Z=[],X=3,Y=0.4;if(w.forEach((G)=>{if(G.length<=1)return;let J=Pz($,G),T=Math.max($.length,G.length);if((T-J)/T>Y){if(J<X)X=J,Z=[G];else if(J===X)Z.push(G)}}),Z.sort((G,J)=>G.localeCompare(J)),W)Z=Z.map((G)=>`--${G}`);if(Z.length>1)return`
14
+ (Did you mean one of ${Z.join(", ")}?)`;if(Z.length===1)return`
15
+ (Did you mean ${Z[0]}?)`;return""}fz.suggestSimilar=Vz});var uX=L((Dz)=>{var Uz=mw("node:events").EventEmitter,qW=mw("node:child_process"),N$=mw("node:path"),W8=mw("node:fs"),p=mw("node:process"),{Argument:Hz,humanReadableArgName:Fz}=w8(),{CommanderError:UW}=lw(),{Help:Oz,stripColor:Ez}=VW(),{Option:_X,DualOptions:Lz}=fW(),{suggestSimilar:gX}=xX();class FW extends Uz{constructor($){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=$||"",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:(w)=>p.stdout.write(w),writeErr:(w)=>p.stderr.write(w),outputError:(w,W)=>W(w),getOutHelpWidth:()=>p.stdout.isTTY?p.stdout.columns:void 0,getErrHelpWidth:()=>p.stderr.isTTY?p.stderr.columns:void 0,getOutHasColors:()=>HW()??(p.stdout.isTTY&&p.stdout.hasColors?.()),getErrHasColors:()=>HW()??(p.stderr.isTTY&&p.stderr.hasColors?.()),stripColor:(w)=>Ez(w)},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($){return this._outputConfiguration=$._outputConfiguration,this._helpOption=$._helpOption,this._helpCommand=$._helpCommand,this._helpConfiguration=$._helpConfiguration,this._exitCallback=$._exitCallback,this._storeOptionsAsProperties=$._storeOptionsAsProperties,this._combineFlagAndOptionalValue=$._combineFlagAndOptionalValue,this._allowExcessArguments=$._allowExcessArguments,this._enablePositionalOptions=$._enablePositionalOptions,this._showHelpAfterError=$._showHelpAfterError,this._showSuggestionAfterError=$._showSuggestionAfterError,this}_getCommandAndAncestors(){let $=[];for(let w=this;w;w=w.parent)$.push(w);return $}command($,w,W){let Z=w,X=W;if(typeof Z==="object"&&Z!==null)X=Z,Z=null;X=X||{};let[,Y,G]=$.match(/([^ ]+) *(.*)/),J=this.createCommand(Y);if(Z)J.description(Z),J._executableHandler=!0;if(X.isDefault)this._defaultCommandName=J._name;if(J._hidden=!!(X.noHelp||X.hidden),J._executableFile=X.executableFile||null,G)J.arguments(G);if(this._registerCommand(J),J.parent=this,J.copyInheritedSettings(this),Z)return this;return J}createCommand($){return new FW($)}createHelp(){return Object.assign(new Oz,this.configureHelp())}configureHelp($){if($===void 0)return this._helpConfiguration;return this._helpConfiguration=$,this}configureOutput($){if($===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...$},this}showHelpAfterError($=!0){if(typeof $!=="string")$=!!$;return this._showHelpAfterError=$,this}showSuggestionAfterError($=!0){return this._showSuggestionAfterError=!!$,this}addCommand($,w){if(!$._name)throw Error(`Command passed to .addCommand() must have a name
16
+ - specify the name in Command constructor or using .name()`);if(w=w||{},w.isDefault)this._defaultCommandName=$._name;if(w.noHelp||w.hidden)$._hidden=!0;return this._registerCommand($),$.parent=this,$._checkForBrokenPassThrough(),this}createArgument($,w){return new Hz($,w)}argument($,w,W,Z){let X=this.createArgument($,w);if(typeof W==="function")X.default(Z).argParser(W);else X.default(W);return this.addArgument(X),this}arguments($){return $.trim().split(/ +/).forEach((w)=>{this.argument(w)}),this}addArgument($){let w=this.registeredArguments.slice(-1)[0];if(w?.variadic)throw Error(`only the last argument can be variadic '${w.name()}'`);if($.required&&$.defaultValue!==void 0&&$.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${$.name()}'`);return this.registeredArguments.push($),this}helpCommand($,w){if(typeof $==="boolean"){if(this._addImplicitHelpCommand=$,$&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let W=$??"help [command]",[,Z,X]=W.match(/([^ ]+) *(.*)/),Y=w??"display help for command",G=this.createCommand(Z);if(G.helpOption(!1),X)G.arguments(X);if(Y)G.description(Y);if(this._addImplicitHelpCommand=!0,this._helpCommand=G,$||w)this._initCommandGroup(G);return this}addHelpCommand($,w){if(typeof $!=="object")return this.helpCommand($,w),this;return this._addImplicitHelpCommand=!0,this._helpCommand=$,this._initCommandGroup($),this}_getHelpCommand(){if(this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"))){if(this._helpCommand===void 0)this.helpCommand(void 0,void 0);return this._helpCommand}return null}hook($,w){let W=["preSubcommand","preAction","postAction"];if(!W.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'.
17
+ Expecting one of '${W.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycleHooks[$].push(w);else this._lifeCycleHooks[$]=[w];return this}exitOverride($){if($)this._exitCallback=$;else this._exitCallback=(w)=>{if(w.code!=="commander.executeSubCommandAsync")throw w};return this}_exit($,w,W){if(this._exitCallback)this._exitCallback(new UW($,w,W));p.exit($)}action($){let w=(W)=>{let Z=this.registeredArguments.length,X=W.slice(0,Z);if(this._storeOptionsAsProperties)X[Z]=this;else X[Z]=this.opts();return X.push(this),$.apply(this,X)};return this._actionHandler=w,this}createOption($,w){return new _X($,w)}_callParseArg($,w,W,Z){try{return $.parseArg(w,W)}catch(X){if(X.code==="commander.invalidArgument"){let Y=`${Z} ${X.message}`;this.error(Y,{exitCode:X.exitCode,code:X.code})}throw X}}_registerOption($){let w=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(w){let W=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${W}'
18
+ - already used by option '${w.flags}'`)}this._initOptionGroup($),this.options.push($)}_registerCommand($){let w=(Z)=>{return[Z.name()].concat(Z.aliases())},W=w($).find((Z)=>this._findCommand(Z));if(W){let Z=w(this._findCommand(W)).join("|"),X=w($).join("|");throw Error(`cannot add command '${X}' as already have command '${Z}'`)}this._initCommandGroup($),this.commands.push($)}addOption($){this._registerOption($);let w=$.name(),W=$.attributeName();if($.negate){let X=$.long.replace(/^--no-/,"--");if(!this._findOption(X))this.setOptionValueWithSource(W,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(W,$.defaultValue,"default");let Z=(X,Y,G)=>{if(X==null&&$.presetArg!==void 0)X=$.presetArg;let J=this.getOptionValue(W);if(X!==null&&$.parseArg)X=this._callParseArg($,X,J,Y);else if(X!==null&&$.variadic)X=$._collectValue(X,J);if(X==null)if($.negate)X=!1;else if($.isBoolean()||$.optional)X=!0;else X="";this.setOptionValueWithSource(W,X,G)};if(this.on("option:"+w,(X)=>{let Y=`error: option '${$.flags}' argument '${X}' is invalid.`;Z(X,Y,"cli")}),$.envVar)this.on("optionEnv:"+w,(X)=>{let Y=`error: option '${$.flags}' value '${X}' from env '${$.envVar}' is invalid.`;Z(X,Y,"env")});return this}_optionEx($,w,W,Z,X){if(typeof w==="object"&&w instanceof _X)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let Y=this.createOption(w,W);if(Y.makeOptionMandatory(!!$.mandatory),typeof Z==="function")Y.default(X).argParser(Z);else if(Z instanceof RegExp){let G=Z;Z=(J,T)=>{let Q=G.exec(J);return Q?Q[0]:T},Y.default(X).argParser(Z)}else Y.default(Z);return this.addOption(Y)}option($,w,W,Z){return this._optionEx({},$,w,W,Z)}requiredOption($,w,W,Z){return this._optionEx({mandatory:!0},$,w,W,Z)}combineFlagAndOptionalValue($=!0){return this._combineFlagAndOptionalValue=!!$,this}allowUnknownOption($=!0){return this._allowUnknownOption=!!$,this}allowExcessArguments($=!0){return this._allowExcessArguments=!!$,this}enablePositionalOptions($=!0){return this._enablePositionalOptions=!!$,this}passThroughOptions($=!0){return this._passThroughOptions=!!$,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($=!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=!!$,this}getOptionValue($){if(this._storeOptionsAsProperties)return this[$];return this._optionValues[$]}setOptionValue($,w){return this.setOptionValueWithSource($,w,void 0)}setOptionValueWithSource($,w,W){if(this._storeOptionsAsProperties)this[$]=w;else this._optionValues[$]=w;return this._optionValueSources[$]=W,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let w;return this._getCommandAndAncestors().forEach((W)=>{if(W.getOptionValueSource($)!==void 0)w=W.getOptionValueSource($)}),w}_prepareUserArgs($,w){if($!==void 0&&!Array.isArray($))throw Error("first parameter to parse must be array or undefined");if(w=w||{},$===void 0&&w.from===void 0){if(p.versions?.electron)w.from="electron";let Z=p.execArgv??[];if(Z.includes("-e")||Z.includes("--eval")||Z.includes("-p")||Z.includes("--print"))w.from="eval"}if($===void 0)$=p.argv;this.rawArgs=$.slice();let W;switch(w.from){case void 0:case"node":this._scriptPath=$[1],W=$.slice(2);break;case"electron":if(p.defaultApp)this._scriptPath=$[1],W=$.slice(2);else W=$.slice(1);break;case"user":W=$.slice(0);break;case"eval":W=$.slice(1);break;default:throw Error(`unexpected parse option { from: '${w.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",W}parse($,w){this._prepareForParse();let W=this._prepareUserArgs($,w);return this._parseCommand([],W),this}async parseAsync($,w){this._prepareForParse();let W=this._prepareUserArgs($,w);return await this._parseCommand([],W),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
19
+ - 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($,w,W){if(W8.existsSync($))return;let Z=w?`searched for local subcommand relative to directory '${w}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",X=`'${$}' does not exist
20
+ - if '${W}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
21
21
  - if the default executable name is not suitable, use the executableFile option to supply a custom name or path
22
- - ${W}`;throw Error(X)}_executeSubCommand($,w){w=w.slice();let Z=!1,W=[".js",".ts",".tsx",".mjs",".cjs"];function X(z,M){let T=W$.resolve(z,M);if(j4.existsSync(T))return T;if(W.includes(W$.extname(M)))return;let N=W.find((K)=>j4.existsSync(`${T}${K}`));if(N)return`${T}${N}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Y=$._executableFile||`${this._name}-${$._name}`,G=this._executableDir||"";if(this._scriptPath){let z;try{z=j4.realpathSync(this._scriptPath)}catch{z=this._scriptPath}G=W$.resolve(W$.dirname(z),G)}if(G){let z=X(G,Y);if(!z&&!$._executableFile&&this._scriptPath){let M=W$.basename(this._scriptPath,W$.extname(this._scriptPath));if(M!==this._name)z=X(G,`${M}-${$._name}`)}Y=z||Y}Z=W.includes(W$.extname(Y));let J;if(p.platform!=="win32")if(Z)w.unshift(Y),w=nW(p.execArgv).concat(w),J=h6.spawn(p.argv[0],w,{stdio:"inherit"});else J=h6.spawn(Y,w,{stdio:"inherit"});else this._checkForMissingExecutable(Y,G,$._name),w.unshift(Y),w=nW(p.execArgv).concat(w),J=h6.spawn(p.execPath,w,{stdio:"inherit"});if(!J.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((M)=>{p.on(M,()=>{if(J.killed===!1&&J.exitCode===null)J.kill(M)})});let Q=this._exitCallback;J.on("close",(z)=>{if(z=z??1,!Q)p.exit(z);else Q(new i6(z,"commander.executeSubCommandAsync","(close)"))}),J.on("error",(z)=>{if(z.code==="ENOENT")this._checkForMissingExecutable(Y,G,$._name);else if(z.code==="EACCES")throw Error(`'${Y}' not executable`);if(!Q)p.exit(1);else{let M=new i6(1,"commander.executeSubCommandAsync","(error)");M.nestedError=z,Q(M)}}),this.runningCommand=J}_dispatchSubcommand($,w,Z){let W=this._findCommand($);if(!W)this.help({error:!0});W._prepareForParse();let X;return X=this._chainOrCallSubCommandHook(X,W,"preSubcommand"),X=this._chainOrCall(X,()=>{if(W._executableHandler)this._executeSubCommand(W,w.concat(Z));else return W._parseCommand(w,Z)}),X}_dispatchHelpCommand($){if(!$)this.help();let w=this._findCommand($);if(w&&!w._executableHandler)w.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,w)=>{if($.required&&this.args[w]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(Z,W,X)=>{let Y=W;if(W!==null&&Z.parseArg){let G=`error: command-argument value '${W}' is invalid for argument '${Z.name()}'.`;Y=this._callParseArg(Z,W,X,G)}return Y};this._checkNumberOfArguments();let w=[];this.registeredArguments.forEach((Z,W)=>{let X=Z.defaultValue;if(Z.variadic){if(W<this.args.length){if(X=this.args.slice(W),Z.parseArg)X=X.reduce((Y,G)=>{return $(Z,G,Y)},Z.defaultValue)}else if(X===void 0)X=[]}else if(W<this.args.length){if(X=this.args[W],Z.parseArg)X=$(Z,X,Z.defaultValue)}w[W]=X}),this.processedArgs=w}_chainOrCall($,w){if($?.then&&typeof $.then==="function")return $.then(()=>w());return w()}_chainOrCallHooks($,w){let Z=$,W=[];if(this._getCommandAndAncestors().reverse().filter((X)=>X._lifeCycleHooks[w]!==void 0).forEach((X)=>{X._lifeCycleHooks[w].forEach((Y)=>{W.push({hookedCommand:X,callback:Y})})}),w==="postAction")W.reverse();return W.forEach((X)=>{Z=this._chainOrCall(Z,()=>{return X.callback(X.hookedCommand,this)})}),Z}_chainOrCallSubCommandHook($,w,Z){let W=$;if(this._lifeCycleHooks[Z]!==void 0)this._lifeCycleHooks[Z].forEach((X)=>{W=this._chainOrCall(W,()=>{return X(this,w)})});return W}_parseCommand($,w){let Z=this.parseOptions(w);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(Z.operands),w=Z.unknown,this.args=$.concat(w),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),w);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(w),this._dispatchSubcommand(this._defaultCommandName,$,w);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(Z.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let W=()=>{if(Z.unknown.length>0)this.unknownOption(Z.unknown[0])},X=`command:${this.name()}`;if(this._actionHandler){W(),this._processArguments();let Y;if(Y=this._chainOrCallHooks(Y,"preAction"),Y=this._chainOrCall(Y,()=>this._actionHandler(this.processedArgs)),this.parent)Y=this._chainOrCall(Y,()=>{this.parent.emit(X,$,w)});return Y=this._chainOrCallHooks(Y,"postAction"),Y}if(this.parent?.listenerCount(X))W(),this._processArguments(),this.parent.emit(X,$,w);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,w);if(this.listenerCount("command:*"))this.emit("command:*",$,w);else if(this.commands.length)this.unknownCommand();else W(),this._processArguments()}else if(this.commands.length)W(),this.help({error:!0});else W(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((w)=>w._name===$||w._aliases.includes($))}_findOption($){return this.options.find((w)=>w.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((w)=>{if(w.mandatory&&$.getOptionValue(w.attributeName())===void 0)$.missingMandatoryOptionValue(w)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((Z)=>{let W=Z.attributeName();if(this.getOptionValue(W)===void 0)return!1;return this.getOptionValueSource(W)!=="default"});$.filter((Z)=>Z.conflictsWith.length>0).forEach((Z)=>{let W=$.find((X)=>Z.conflictsWith.includes(X.attributeName()));if(W)this._conflictingOption(Z,W)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let w=[],Z=[],W=w;function X(z){return z.length>1&&z[0]==="-"}let Y=(z)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(z))return!1;return!this._getCommandAndAncestors().some((M)=>M.options.map((T)=>T.short).some((T)=>/^-\d$/.test(T)))},G=null,J=null,Q=0;while(Q<$.length||J){let z=J??$[Q++];if(J=null,z==="--"){if(W===Z)W.push(z);W.push(...$.slice(Q));break}if(G&&(!X(z)||Y(z))){this.emit(`option:${G.name()}`,z);continue}if(G=null,X(z)){let M=this._findOption(z);if(M){if(M.required){let T=$[Q++];if(T===void 0)this.optionMissingArgument(M);this.emit(`option:${M.name()}`,T)}else if(M.optional){let T=null;if(Q<$.length&&(!X($[Q])||Y($[Q])))T=$[Q++];this.emit(`option:${M.name()}`,T)}else this.emit(`option:${M.name()}`);G=M.variadic?M:null;continue}}if(z.length>2&&z[0]==="-"&&z[1]!=="-"){let M=this._findOption(`-${z[1]}`);if(M){if(M.required||M.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${M.name()}`,z.slice(2));else this.emit(`option:${M.name()}`),J=`-${z.slice(2)}`;continue}}if(/^--[^=]+=/.test(z)){let M=z.indexOf("="),T=this._findOption(z.slice(0,M));if(T&&(T.required||T.optional)){this.emit(`option:${T.name()}`,z.slice(M+1));continue}}if(W===w&&X(z)&&!(this.commands.length===0&&Y(z)))W=Z;if((this._enablePositionalOptions||this._passThroughOptions)&&w.length===0&&Z.length===0){if(this._findCommand(z)){w.push(z),Z.push(...$.slice(Q));break}else if(this._getHelpCommand()&&z===this._getHelpCommand().name()){w.push(z,...$.slice(Q));break}else if(this._defaultCommandName){Z.push(z,...$.slice(Q));break}}if(this._passThroughOptions){W.push(z,...$.slice(Q));break}W.push(z)}return{operands:w,unknown:Z}}opts(){if(this._storeOptionsAsProperties){let $={},w=this.options.length;for(let Z=0;Z<w;Z++){let W=this.options[Z].attributeName();$[W]=W===this._versionOptionName?this._version:this[W]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,w)=>Object.assign($,w.opts()),{})}error($,w){if(this._outputConfiguration.outputError(`${$}
22
+ - ${Z}`;throw Error(X)}_executeSubCommand($,w){w=w.slice();let W=!1,Z=[".js",".ts",".tsx",".mjs",".cjs"];function X(Q,M){let z=N$.resolve(Q,M);if(W8.existsSync(z))return z;if(Z.includes(N$.extname(M)))return;let N=Z.find((B)=>W8.existsSync(`${z}${B}`));if(N)return`${z}${N}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Y=$._executableFile||`${this._name}-${$._name}`,G=this._executableDir||"";if(this._scriptPath){let Q;try{Q=W8.realpathSync(this._scriptPath)}catch{Q=this._scriptPath}G=N$.resolve(N$.dirname(Q),G)}if(G){let Q=X(G,Y);if(!Q&&!$._executableFile&&this._scriptPath){let M=N$.basename(this._scriptPath,N$.extname(this._scriptPath));if(M!==this._name)Q=X(G,`${M}-${$._name}`)}Y=Q||Y}W=Z.includes(N$.extname(Y));let J;if(p.platform!=="win32")if(W)w.unshift(Y),w=vX(p.execArgv).concat(w),J=qW.spawn(p.argv[0],w,{stdio:"inherit"});else J=qW.spawn(Y,w,{stdio:"inherit"});else this._checkForMissingExecutable(Y,G,$._name),w.unshift(Y),w=vX(p.execArgv).concat(w),J=qW.spawn(p.execPath,w,{stdio:"inherit"});if(!J.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((M)=>{p.on(M,()=>{if(J.killed===!1&&J.exitCode===null)J.kill(M)})});let T=this._exitCallback;J.on("close",(Q)=>{if(Q=Q??1,!T)p.exit(Q);else T(new UW(Q,"commander.executeSubCommandAsync","(close)"))}),J.on("error",(Q)=>{if(Q.code==="ENOENT")this._checkForMissingExecutable(Y,G,$._name);else if(Q.code==="EACCES")throw Error(`'${Y}' not executable`);if(!T)p.exit(1);else{let M=new UW(1,"commander.executeSubCommandAsync","(error)");M.nestedError=Q,T(M)}}),this.runningCommand=J}_dispatchSubcommand($,w,W){let Z=this._findCommand($);if(!Z)this.help({error:!0});Z._prepareForParse();let X;return X=this._chainOrCallSubCommandHook(X,Z,"preSubcommand"),X=this._chainOrCall(X,()=>{if(Z._executableHandler)this._executeSubCommand(Z,w.concat(W));else return Z._parseCommand(w,W)}),X}_dispatchHelpCommand($){if(!$)this.help();let w=this._findCommand($);if(w&&!w._executableHandler)w.help();return this._dispatchSubcommand($,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach(($,w)=>{if($.required&&this.args[w]==null)this.missingArgument($.name())}),this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)return;if(this.args.length>this.registeredArguments.length)this._excessArguments(this.args)}_processArguments(){let $=(W,Z,X)=>{let Y=Z;if(Z!==null&&W.parseArg){let G=`error: command-argument value '${Z}' is invalid for argument '${W.name()}'.`;Y=this._callParseArg(W,Z,X,G)}return Y};this._checkNumberOfArguments();let w=[];this.registeredArguments.forEach((W,Z)=>{let X=W.defaultValue;if(W.variadic){if(Z<this.args.length){if(X=this.args.slice(Z),W.parseArg)X=X.reduce((Y,G)=>{return $(W,G,Y)},W.defaultValue)}else if(X===void 0)X=[]}else if(Z<this.args.length){if(X=this.args[Z],W.parseArg)X=$(W,X,W.defaultValue)}w[Z]=X}),this.processedArgs=w}_chainOrCall($,w){if($?.then&&typeof $.then==="function")return $.then(()=>w());return w()}_chainOrCallHooks($,w){let W=$,Z=[];if(this._getCommandAndAncestors().reverse().filter((X)=>X._lifeCycleHooks[w]!==void 0).forEach((X)=>{X._lifeCycleHooks[w].forEach((Y)=>{Z.push({hookedCommand:X,callback:Y})})}),w==="postAction")Z.reverse();return Z.forEach((X)=>{W=this._chainOrCall(W,()=>{return X.callback(X.hookedCommand,this)})}),W}_chainOrCallSubCommandHook($,w,W){let Z=$;if(this._lifeCycleHooks[W]!==void 0)this._lifeCycleHooks[W].forEach((X)=>{Z=this._chainOrCall(Z,()=>{return X(this,w)})});return Z}_parseCommand($,w){let W=this.parseOptions(w);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(W.operands),w=W.unknown,this.args=$.concat(w),$&&this._findCommand($[0]))return this._dispatchSubcommand($[0],$.slice(1),w);if(this._getHelpCommand()&&$[0]===this._getHelpCommand().name())return this._dispatchHelpCommand($[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(w),this._dispatchSubcommand(this._defaultCommandName,$,w);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(W.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Z=()=>{if(W.unknown.length>0)this.unknownOption(W.unknown[0])},X=`command:${this.name()}`;if(this._actionHandler){Z(),this._processArguments();let Y;if(Y=this._chainOrCallHooks(Y,"preAction"),Y=this._chainOrCall(Y,()=>this._actionHandler(this.processedArgs)),this.parent)Y=this._chainOrCall(Y,()=>{this.parent.emit(X,$,w)});return Y=this._chainOrCallHooks(Y,"postAction"),Y}if(this.parent?.listenerCount(X))Z(),this._processArguments(),this.parent.emit(X,$,w);else if($.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",$,w);if(this.listenerCount("command:*"))this.emit("command:*",$,w);else if(this.commands.length)this.unknownCommand();else Z(),this._processArguments()}else if(this.commands.length)Z(),this.help({error:!0});else Z(),this._processArguments()}_findCommand($){if(!$)return;return this.commands.find((w)=>w._name===$||w._aliases.includes($))}_findOption($){return this.options.find((w)=>w.is($))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(($)=>{$.options.forEach((w)=>{if(w.mandatory&&$.getOptionValue(w.attributeName())===void 0)$.missingMandatoryOptionValue(w)})})}_checkForConflictingLocalOptions(){let $=this.options.filter((W)=>{let Z=W.attributeName();if(this.getOptionValue(Z)===void 0)return!1;return this.getOptionValueSource(Z)!=="default"});$.filter((W)=>W.conflictsWith.length>0).forEach((W)=>{let Z=$.find((X)=>W.conflictsWith.includes(X.attributeName()));if(Z)this._conflictingOption(W,Z)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let w=[],W=[],Z=w;function X(Q){return Q.length>1&&Q[0]==="-"}let Y=(Q)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(Q))return!1;return!this._getCommandAndAncestors().some((M)=>M.options.map((z)=>z.short).some((z)=>/^-\d$/.test(z)))},G=null,J=null,T=0;while(T<$.length||J){let Q=J??$[T++];if(J=null,Q==="--"){if(Z===W)Z.push(Q);Z.push(...$.slice(T));break}if(G&&(!X(Q)||Y(Q))){this.emit(`option:${G.name()}`,Q);continue}if(G=null,X(Q)){let M=this._findOption(Q);if(M){if(M.required){let z=$[T++];if(z===void 0)this.optionMissingArgument(M);this.emit(`option:${M.name()}`,z)}else if(M.optional){let z=null;if(T<$.length&&(!X($[T])||Y($[T])))z=$[T++];this.emit(`option:${M.name()}`,z)}else this.emit(`option:${M.name()}`);G=M.variadic?M:null;continue}}if(Q.length>2&&Q[0]==="-"&&Q[1]!=="-"){let M=this._findOption(`-${Q[1]}`);if(M){if(M.required||M.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${M.name()}`,Q.slice(2));else this.emit(`option:${M.name()}`),J=`-${Q.slice(2)}`;continue}}if(/^--[^=]+=/.test(Q)){let M=Q.indexOf("="),z=this._findOption(Q.slice(0,M));if(z&&(z.required||z.optional)){this.emit(`option:${z.name()}`,Q.slice(M+1));continue}}if(Z===w&&X(Q)&&!(this.commands.length===0&&Y(Q)))Z=W;if((this._enablePositionalOptions||this._passThroughOptions)&&w.length===0&&W.length===0){if(this._findCommand(Q)){w.push(Q),W.push(...$.slice(T));break}else if(this._getHelpCommand()&&Q===this._getHelpCommand().name()){w.push(Q,...$.slice(T));break}else if(this._defaultCommandName){W.push(Q,...$.slice(T));break}}if(this._passThroughOptions){Z.push(Q,...$.slice(T));break}Z.push(Q)}return{operands:w,unknown:W}}opts(){if(this._storeOptionsAsProperties){let $={},w=this.options.length;for(let W=0;W<w;W++){let Z=this.options[W].attributeName();$[Z]=Z===this._versionOptionName?this._version:this[Z]}return $}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(($,w)=>Object.assign($,w.opts()),{})}error($,w){if(this._outputConfiguration.outputError(`${$}
23
23
  `,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
24
24
  `);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
25
- `),this.outputHelp({error:!0});let Z=w||{},W=Z.exitCode||1,X=Z.code||"commander.error";this._exit(W,X,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in p.env){let w=$.attributeName();if(this.getOptionValue(w)===void 0||["default","config","env"].includes(this.getOptionValueSource(w)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,p.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new MM(this.options),w=(Z)=>{return this.getOptionValue(Z)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(Z))};this.options.filter((Z)=>Z.implied!==void 0&&w(Z.attributeName())&&$.valueFromOption(this.getOptionValue(Z.attributeName()),Z)).forEach((Z)=>{Object.keys(Z.implied).filter((W)=>!w(W)).forEach((W)=>{this.setOptionValueWithSource(W,Z.implied[W],"implied")})})}missingArgument($){let w=`error: missing required argument '${$}'`;this.error(w,{code:"commander.missingArgument"})}optionMissingArgument($){let w=`error: option '${$.flags}' argument missing`;this.error(w,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let w=`error: required option '${$.flags}' not specified`;this.error(w,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,w){let Z=(Y)=>{let G=Y.attributeName(),J=this.getOptionValue(G),Q=this.options.find((M)=>M.negate&&G===M.attributeName()),z=this.options.find((M)=>!M.negate&&G===M.attributeName());if(Q&&(Q.presetArg===void 0&&J===!1||Q.presetArg!==void 0&&J===Q.presetArg))return Q;return z||Y},W=(Y)=>{let G=Z(Y),J=G.attributeName();if(this.getOptionValueSource(J)==="env")return`environment variable '${G.envVar}'`;return`option '${G.flags}'`},X=`error: ${W($)} cannot be used with ${W(w)}`;this.error(X,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let w="";if($.startsWith("--")&&this._showSuggestionAfterError){let W=[],X=this;do{let Y=X.createHelp().visibleOptions(X).filter((G)=>G.long).map((G)=>G.long);W=W.concat(Y),X=X.parent}while(X&&!X._enablePositionalOptions);w=pW($,W)}let Z=`error: unknown option '${$}'${w}`;this.error(Z,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let w=this.registeredArguments.length,Z=w===1?"":"s",X=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${w} argument${Z} but got ${$.length}.`;this.error(X,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],w="";if(this._showSuggestionAfterError){let W=[];this.createHelp().visibleCommands(this).forEach((X)=>{if(W.push(X.name()),X.alias())W.push(X.alias())}),w=pW($,W)}let Z=`error: unknown command '${$}'${w}`;this.error(Z,{code:"commander.unknownCommand"})}version($,w,Z){if($===void 0)return this._version;this._version=$,w=w||"-V, --version",Z=Z||"output the version number";let W=this.createOption(w,Z);return this._versionOptionName=W.attributeName(),this._registerOption(W),this.on("option:"+W.name(),()=>{this._outputConfiguration.writeOut(`${$}
26
- `),this._exit(0,"commander.version",$)}),this}description($,w){if($===void 0&&w===void 0)return this._description;if(this._description=$,w)this._argsDescription=w;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let w=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)w=this.commands[this.commands.length-1];if($===w._name)throw Error("Command alias can't be the same as its name");let Z=this.parent?._findCommand($);if(Z){let W=[Z.name()].concat(Z.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${W}'`)}return w._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((w)=>this.alias(w)),this}usage($){if($===void 0){if(this._usage)return this._usage;let w=this.registeredArguments.map((Z)=>{return JM(Z)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?w:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}helpGroup($){if($===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=$,this}commandsGroup($){if($===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=$,this}optionsGroup($){if($===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=$,this}_initOptionGroup($){if(this._defaultOptionGroup&&!$.helpGroupHeading)$.helpGroup(this._defaultOptionGroup)}_initCommandGroup($){if(this._defaultCommandGroup&&!$.helpGroup())$.helpGroup(this._defaultCommandGroup)}nameFromFilename($){return this._name=W$.basename($,W$.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let w=this.createHelp(),Z=this._getOutputContext($);w.prepareContext({error:Z.error,helpWidth:Z.helpWidth,outputHasColors:Z.hasColors});let W=w.formatHelp(this,w);if(Z.hasColors)return W;return this._outputConfiguration.stripColor(W)}_getOutputContext($){$=$||{};let w=!!$.error,Z,W,X;if(w)Z=(G)=>this._outputConfiguration.writeErr(G),W=this._outputConfiguration.getErrHasColors(),X=this._outputConfiguration.getErrHelpWidth();else Z=(G)=>this._outputConfiguration.writeOut(G),W=this._outputConfiguration.getOutHasColors(),X=this._outputConfiguration.getOutHelpWidth();return{error:w,write:(G)=>{if(!W)G=this._outputConfiguration.stripColor(G);return Z(G)},hasColors:W,helpWidth:X}}outputHelp($){let w;if(typeof $==="function")w=$,$=void 0;let Z=this._getOutputContext($),W={error:Z.error,write:Z.write,command:this};this._getCommandAndAncestors().reverse().forEach((Y)=>Y.emit("beforeAllHelp",W)),this.emit("beforeHelp",W);let X=this.helpInformation({error:Z.error});if(w){if(X=w(X),typeof X!=="string"&&!Buffer.isBuffer(X))throw Error("outputHelp callback must return a string or a Buffer")}if(Z.write(X),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",W),this._getCommandAndAncestors().forEach((Y)=>Y.emit("afterAllHelp",W))}helpOption($,w){if(typeof $==="boolean"){if($){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption($??"-h, --help",w??"display help for command"),$||w)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this._initOptionGroup($),this}help($){this.outputHelp($);let w=Number(p.exitCode??0);if(w===0&&$&&typeof $!=="function"&&$.error)w=1;this._exit(w,"commander.help","(outputHelp)")}addHelpText($,w){let Z=["beforeAll","before","after","afterAll"];if(!Z.includes($))throw Error(`Unexpected value for position to addHelpText.
27
- Expecting one of '${Z.join("', '")}'`);let W=`${$}Help`;return this.on(W,(X)=>{let Y;if(typeof w==="function")Y=w({error:X.error,command:X.command});else Y=w;if(Y)X.write(`${Y}
28
- `)}),this}_outputHelpIfRequested($){let w=this._getHelpOption();if(w&&$.find((W)=>w.is(W)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function nW($){return $.map((w)=>{if(!w.startsWith("--inspect"))return w;let Z,W="127.0.0.1",X="9229",Y;if((Y=w.match(/^(--inspect(-brk)?)$/))!==null)Z=Y[1];else if((Y=w.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(Z=Y[1],/^\d+$/.test(Y[3]))X=Y[3];else W=Y[3];else if((Y=w.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)Z=Y[1],W=Y[3],X=Y[4];if(Z&&X!=="0")return`${Z}=${W}:${parseInt(X)+1}`;return w})}function m6(){if(p.env.NO_COLOR||p.env.FORCE_COLOR==="0"||p.env.FORCE_COLOR==="false")return!1;if(p.env.FORCE_COLOR||p.env.CLICOLOR_FORCE!==void 0)return!0;return}TM.Command=l6;TM.useColor=m6});var d6=L((PM)=>{var{Argument:rW}=C4(),{Command:c6}=tW(),{CommanderError:BM,InvalidArgumentError:sW}=fw(),{Help:VM}=v6(),{Option:aW}=u6();PM.program=new c6;PM.createCommand=($)=>new c6($);PM.createOption=($,w)=>new aW($,w);PM.createArgument=($,w)=>new rW($,w);PM.Command=c6;PM.Option=aW;PM.Argument=rW;PM.Help=VM;PM.CommanderError=BM;PM.InvalidArgumentError=sW;PM.InvalidOptionArgumentError=sW});var Aw=L((GX)=>{Object.defineProperty(GX,"__esModule",{value:!0});GX.regexpCode=GX.getEsmExportName=GX.getProperty=GX.safeStringify=GX.stringify=GX.strConcat=GX.addCodeArg=GX.str=GX._=GX.nil=GX._Code=GX.Name=GX.IDENTIFIER=GX._CodeOrName=void 0;class b4{}GX._CodeOrName=b4;GX.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class C1 extends b4{constructor($){super();if(!GX.IDENTIFIER.test($))throw Error("CodeGen: name must be a valid identifier");this.str=$}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}GX.Name=C1;class h0 extends b4{constructor($){super();this._items=typeof $==="string"?[$]:$}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let $=this._items[0];return $===""||$==='""'}get str(){var $;return($=this._str)!==null&&$!==void 0?$:this._str=this._items.reduce((w,Z)=>`${w}${Z}`,"")}get names(){var $;return($=this._names)!==null&&$!==void 0?$:this._names=this._items.reduce((w,Z)=>{if(Z instanceof C1)w[Z.str]=(w[Z.str]||0)+1;return w},{})}}GX._Code=h0;GX.nil=new h0("");function XX($,...w){let Z=[$[0]],W=0;while(W<w.length)s6(Z,w[W]),Z.push($[++W]);return new h0(Z)}GX._=XX;var r6=new h0("+");function YX($,...w){let Z=[kw($[0])],W=0;while(W<w.length)Z.push(r6),s6(Z,w[W]),Z.push(r6,kw($[++W]));return bM(Z),new h0(Z)}GX.str=YX;function s6($,w){if(w instanceof h0)$.push(...w._items);else if(w instanceof C1)$.push(w);else $.push(gM(w))}GX.addCodeArg=s6;function bM($){let w=1;while(w<$.length-1){if($[w]===r6){let Z=xM($[w-1],$[w+1]);if(Z!==void 0){$.splice(w-1,3,Z);continue}$[w++]="+"}w++}}function xM($,w){if(w==='""')return $;if($==='""')return w;if(typeof $=="string"){if(w instanceof C1||$[$.length-1]!=='"')return;if(typeof w!="string")return`${$.slice(0,-1)}${w}"`;if(w[0]==='"')return $.slice(0,-1)+w.slice(1);return}if(typeof w=="string"&&w[0]==='"'&&!($ instanceof C1))return`"${$}${w.slice(1)}`;return}function _M($,w){return w.emptyStr()?$:$.emptyStr()?w:YX`${$}${w}`}GX.strConcat=_M;function gM($){return typeof $=="number"||typeof $=="boolean"||$===null?$:kw(Array.isArray($)?$.join(","):$)}function vM($){return new h0(kw($))}GX.stringify=vM;function kw($){return JSON.stringify($).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}GX.safeStringify=kw;function uM($){return typeof $=="string"&&GX.IDENTIFIER.test($)?new h0(`.${$}`):XX`[${$}]`}GX.getProperty=uM;function hM($){if(typeof $=="string"&&GX.IDENTIFIER.test($))return new h0(`${$}`);throw Error(`CodeGen: invalid export name: ${$}, use explicit $id name mapping`)}GX.getEsmExportName=hM;function iM($){return new h0($.toString())}GX.regexpCode=iM});var $Z=L((MX)=>{Object.defineProperty(MX,"__esModule",{value:!0});MX.ValueScope=MX.ValueScopeName=MX.Scope=MX.varKinds=MX.UsedValueState=void 0;var O0=Aw();class QX extends Error{constructor($){super(`CodeGen: "code" for ${$} not defined`);this.value=$.value}}var _4;(function($){$[$.Started=0]="Started",$[$.Completed=1]="Completed"})(_4||(MX.UsedValueState=_4={}));MX.varKinds={const:new O0.Name("const"),let:new O0.Name("let"),var:new O0.Name("var")};class o6{constructor({prefixes:$,parent:w}={}){this._names={},this._prefixes=$,this._parent=w}toName($){return $ instanceof O0.Name?$:this.name($)}name($){return new O0.Name(this._newName($))}_newName($){let w=this._names[$]||this._nameGroup($);return`${$}${w.index++}`}_nameGroup($){var w,Z;if(((Z=(w=this._parent)===null||w===void 0?void 0:w._prefixes)===null||Z===void 0?void 0:Z.has($))||this._prefixes&&!this._prefixes.has($))throw Error(`CodeGen: prefix "${$}" is not allowed in this scope`);return this._names[$]={prefix:$,index:0}}}MX.Scope=o6;class e6 extends O0.Name{constructor($,w){super(w);this.prefix=$}setValue($,{property:w,itemIndex:Z}){this.value=$,this.scopePath=O0._`.${new O0.Name(w)}[${Z}]`}}MX.ValueScopeName=e6;var $T=O0._`\n`;class zX extends o6{constructor($){super($);this._values={},this._scope=$.scope,this.opts={...$,_n:$.lines?$T:O0.nil}}get(){return this._scope}name($){return new e6($,this._newName($))}value($,w){var Z;if(w.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName($),{prefix:X}=W,Y=(Z=w.key)!==null&&Z!==void 0?Z:w.ref,G=this._values[X];if(G){let z=G.get(Y);if(z)return z}else G=this._values[X]=new Map;G.set(Y,W);let J=this._scope[X]||(this._scope[X]=[]),Q=J.length;return J[Q]=w.ref,W.setValue(w,{property:X,itemIndex:Q}),W}getValue($,w){let Z=this._values[$];if(!Z)return;return Z.get(w)}scopeRefs($,w=this._values){return this._reduceValues(w,(Z)=>{if(Z.scopePath===void 0)throw Error(`CodeGen: name "${Z}" has no value`);return O0._`${$}${Z.scopePath}`})}scopeCode($=this._values,w,Z){return this._reduceValues($,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},w,Z)}_reduceValues($,w,Z={},W){let X=O0.nil;for(let Y in $){let G=$[Y];if(!G)continue;let J=Z[Y]=Z[Y]||new Map;G.forEach((Q)=>{if(J.has(Q))return;J.set(Q,_4.Started);let z=w(Q);if(z){let M=this.opts.es5?MX.varKinds.var:MX.varKinds.const;X=O0._`${X}${M} ${Q} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(Q))X=O0._`${X}${z}${this.opts._n}`;else throw new QX(Q);J.set(Q,_4.Completed)})}return X}}MX.ValueScope=zX});var v=L((E0)=>{Object.defineProperty(E0,"__esModule",{value:!0});E0.or=E0.and=E0.not=E0.CodeGen=E0.operators=E0.varKinds=E0.ValueScopeName=E0.ValueScope=E0.Scope=E0.Name=E0.regexpCode=E0.stringify=E0.getProperty=E0.nil=E0.strConcat=E0.str=E0._=void 0;var m=Aw(),i0=$Z(),L$=Aw();Object.defineProperty(E0,"_",{enumerable:!0,get:function(){return L$._}});Object.defineProperty(E0,"str",{enumerable:!0,get:function(){return L$.str}});Object.defineProperty(E0,"strConcat",{enumerable:!0,get:function(){return L$.strConcat}});Object.defineProperty(E0,"nil",{enumerable:!0,get:function(){return L$.nil}});Object.defineProperty(E0,"getProperty",{enumerable:!0,get:function(){return L$.getProperty}});Object.defineProperty(E0,"stringify",{enumerable:!0,get:function(){return L$.stringify}});Object.defineProperty(E0,"regexpCode",{enumerable:!0,get:function(){return L$.regexpCode}});Object.defineProperty(E0,"Name",{enumerable:!0,get:function(){return L$.Name}});var m4=$Z();Object.defineProperty(E0,"Scope",{enumerable:!0,get:function(){return m4.Scope}});Object.defineProperty(E0,"ValueScope",{enumerable:!0,get:function(){return m4.ValueScope}});Object.defineProperty(E0,"ValueScopeName",{enumerable:!0,get:function(){return m4.ValueScopeName}});Object.defineProperty(E0,"varKinds",{enumerable:!0,get:function(){return m4.varKinds}});E0.operators={GT:new m._Code(">"),GTE:new m._Code(">="),LT:new m._Code("<"),LTE:new m._Code("<="),EQ:new m._Code("==="),NEQ:new m._Code("!=="),NOT:new m._Code("!"),OR:new m._Code("||"),AND:new m._Code("&&"),ADD:new m._Code("+")};class D${optimizeNodes(){return this}optimizeNames($,w){return this}}class NX extends D${constructor($,w,Z){super();this.varKind=$,this.name=w,this.rhs=Z}render({es5:$,_n:w}){let Z=$?i0.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${Z} ${this.name}${W};`+w}optimizeNames($,w){if(!$[this.name.str])return;if(this.rhs)this.rhs=I1(this.rhs,$,w);return this}get names(){return this.rhs instanceof m._CodeOrName?this.rhs.names:{}}}class WZ extends D${constructor($,w,Z){super();this.lhs=$,this.rhs=w,this.sideEffects=Z}render({_n:$}){return`${this.lhs} = ${this.rhs};`+$}optimizeNames($,w){if(this.lhs instanceof m.Name&&!$[this.lhs.str]&&!this.sideEffects)return;return this.rhs=I1(this.rhs,$,w),this}get names(){let $=this.lhs instanceof m.Name?{}:{...this.lhs.names};return i4($,this.rhs)}}class KX extends WZ{constructor($,w,Z,W){super($,Z,W);this.op=w}render({_n:$}){return`${this.lhs} ${this.op}= ${this.rhs};`+$}}class BX extends D${constructor($){super();this.label=$,this.names={}}render({_n:$}){return`${this.label}:`+$}}class VX extends D${constructor($){super();this.label=$,this.names={}}render({_n:$}){return`break${this.label?` ${this.label}`:""};`+$}}class PX extends D${constructor($){super();this.error=$}render({_n:$}){return`throw ${this.error};`+$}get names(){return this.error.names}}class qX extends D${constructor($){super();this.code=$}render({_n:$}){return`${this.code};`+$}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames($,w){return this.code=I1(this.code,$,w),this}get names(){return this.code instanceof m._CodeOrName?this.code.names:{}}}class l4 extends D${constructor($=[]){super();this.nodes=$}render($){return this.nodes.reduce((w,Z)=>w+Z.render($),"")}optimizeNodes(){let{nodes:$}=this,w=$.length;while(w--){let Z=$[w].optimizeNodes();if(Array.isArray(Z))$.splice(w,1,...Z);else if(Z)$[w]=Z;else $.splice(w,1)}return $.length>0?this:void 0}optimizeNames($,w){let{nodes:Z}=this,W=Z.length;while(W--){let X=Z[W];if(X.optimizeNames($,w))continue;XT($,X.names),Z.splice(W,1)}return Z.length>0?this:void 0}get names(){return this.nodes.reduce(($,w)=>n$($,w.names),{})}}class f$ extends l4{render($){return"{"+$._n+super.render($)+"}"+$._n}}class UX extends l4{}class Sw extends f${}Sw.kind="else";class X$ extends f${constructor($,w){super(w);this.condition=$}render($){let w=`if(${this.condition})`+super.render($);if(this.else)w+="else "+this.else.render($);return w}optimizeNodes(){super.optimizeNodes();let $=this.condition;if($===!0)return this.nodes;let w=this.else;if(w){let Z=w.optimizeNodes();w=this.else=Array.isArray(Z)?new Sw(Z):Z}if(w){if($===!1)return w instanceof X$?w:w.nodes;if(this.nodes.length)return this;return new X$(LX($),w instanceof X$?[w]:w.nodes)}if($===!1||!this.nodes.length)return;return this}optimizeNames($,w){var Z;if(this.else=(Z=this.else)===null||Z===void 0?void 0:Z.optimizeNames($,w),!(super.optimizeNames($,w)||this.else))return;return this.condition=I1(this.condition,$,w),this}get names(){let $=super.names;if(i4($,this.condition),this.else)n$($,this.else.names);return $}}X$.kind="if";class j1 extends f${}j1.kind="for";class HX extends j1{constructor($){super();this.iteration=$}render($){return`for(${this.iteration})`+super.render($)}optimizeNames($,w){if(!super.optimizeNames($,w))return;return this.iteration=I1(this.iteration,$,w),this}get names(){return n$(super.names,this.iteration.names)}}class FX extends j1{constructor($,w,Z,W){super();this.varKind=$,this.name=w,this.from=Z,this.to=W}render($){let w=$.es5?i0.varKinds.var:this.varKind,{name:Z,from:W,to:X}=this;return`for(${w} ${Z}=${W}; ${Z}<${X}; ${Z}++)`+super.render($)}get names(){let $=i4(super.names,this.from);return i4($,this.to)}}class wZ extends j1{constructor($,w,Z,W){super();this.loop=$,this.varKind=w,this.name=Z,this.iterable=W}render($){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render($)}optimizeNames($,w){if(!super.optimizeNames($,w))return;return this.iterable=I1(this.iterable,$,w),this}get names(){return n$(super.names,this.iterable.names)}}class g4 extends f${constructor($,w,Z){super();this.name=$,this.args=w,this.async=Z}render($){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render($)}}g4.kind="func";class v4 extends l4{render($){return"return "+super.render($)}}v4.kind="return";class OX extends f${render($){let w="try"+super.render($);if(this.catch)w+=this.catch.render($);if(this.finally)w+=this.finally.render($);return w}optimizeNodes(){var $,w;return super.optimizeNodes(),($=this.catch)===null||$===void 0||$.optimizeNodes(),(w=this.finally)===null||w===void 0||w.optimizeNodes(),this}optimizeNames($,w){var Z,W;return super.optimizeNames($,w),(Z=this.catch)===null||Z===void 0||Z.optimizeNames($,w),(W=this.finally)===null||W===void 0||W.optimizeNames($,w),this}get names(){let $=super.names;if(this.catch)n$($,this.catch.names);if(this.finally)n$($,this.finally.names);return $}}class u4 extends f${constructor($){super();this.error=$}render($){return`catch(${this.error})`+super.render($)}}u4.kind="catch";class h4 extends f${render($){return"finally"+super.render($)}}h4.kind="finally";class EX{constructor($,w={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...w,_n:w.lines?`
29
- `:""},this._extScope=$,this._scope=new i0.Scope({parent:$}),this._nodes=[new UX]}toString(){return this._root.render(this.opts)}name($){return this._scope.name($)}scopeName($){return this._extScope.name($)}scopeValue($,w){let Z=this._extScope.value($,w);return(this._values[Z.prefix]||(this._values[Z.prefix]=new Set)).add(Z),Z}getScopeValue($,w){return this._extScope.getValue($,w)}scopeRefs($){return this._extScope.scopeRefs($,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def($,w,Z,W){let X=this._scope.toName(w);if(Z!==void 0&&W)this._constants[X.str]=Z;return this._leafNode(new NX($,X,Z)),X}const($,w,Z){return this._def(i0.varKinds.const,$,w,Z)}let($,w,Z){return this._def(i0.varKinds.let,$,w,Z)}var($,w,Z){return this._def(i0.varKinds.var,$,w,Z)}assign($,w,Z){return this._leafNode(new WZ($,w,Z))}add($,w){return this._leafNode(new KX($,E0.operators.ADD,w))}code($){if(typeof $=="function")$();else if($!==m.nil)this._leafNode(new qX($));return this}object(...$){let w=["{"];for(let[Z,W]of $){if(w.length>1)w.push(",");if(w.push(Z),Z!==W||this.opts.es5)w.push(":"),(0,m.addCodeArg)(w,W)}return w.push("}"),new m._Code(w)}if($,w,Z){if(this._blockNode(new X$($)),w&&Z)this.code(w).else().code(Z).endIf();else if(w)this.code(w).endIf();else if(Z)throw Error('CodeGen: "else" body without "then" body');return this}elseIf($){return this._elseNode(new X$($))}else(){return this._elseNode(new Sw)}endIf(){return this._endBlockNode(X$,Sw)}_for($,w){if(this._blockNode($),w)this.code(w).endFor();return this}for($,w){return this._for(new HX($),w)}forRange($,w,Z,W,X=this.opts.es5?i0.varKinds.var:i0.varKinds.let){let Y=this._scope.toName($);return this._for(new FX(X,Y,w,Z),()=>W(Y))}forOf($,w,Z,W=i0.varKinds.const){let X=this._scope.toName($);if(this.opts.es5){let Y=w instanceof m.Name?w:this.var("_arr",w);return this.forRange("_i",0,m._`${Y}.length`,(G)=>{this.var(X,m._`${Y}[${G}]`),Z(X)})}return this._for(new wZ("of",W,X,w),()=>Z(X))}forIn($,w,Z,W=this.opts.es5?i0.varKinds.var:i0.varKinds.const){if(this.opts.ownProperties)return this.forOf($,m._`Object.keys(${w})`,Z);let X=this._scope.toName($);return this._for(new wZ("in",W,X,w),()=>Z(X))}endFor(){return this._endBlockNode(j1)}label($){return this._leafNode(new BX($))}break($){return this._leafNode(new VX($))}return($){let w=new v4;if(this._blockNode(w),this.code($),w.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(v4)}try($,w,Z){if(!w&&!Z)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new OX;if(this._blockNode(W),this.code($),w){let X=this.name("e");this._currNode=W.catch=new u4(X),w(X)}if(Z)this._currNode=W.finally=new h4,this.code(Z);return this._endBlockNode(u4,h4)}throw($){return this._leafNode(new PX($))}block($,w){if(this._blockStarts.push(this._nodes.length),$)this.code($).endBlock(w);return this}endBlock($){let w=this._blockStarts.pop();if(w===void 0)throw Error("CodeGen: not in self-balancing block");let Z=this._nodes.length-w;if(Z<0||$!==void 0&&Z!==$)throw Error(`CodeGen: wrong number of nodes: ${Z} vs ${$} expected`);return this._nodes.length=w,this}func($,w=m.nil,Z,W){if(this._blockNode(new g4($,w,Z)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(g4)}optimize($=1){while($-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode($){return this._currNode.nodes.push($),this}_blockNode($){this._currNode.nodes.push($),this._nodes.push($)}_endBlockNode($,w){let Z=this._currNode;if(Z instanceof $||w&&Z instanceof w)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${w?`${$.kind}/${w.kind}`:$.kind}"`)}_elseNode($){let w=this._currNode;if(!(w instanceof X$))throw Error('CodeGen: "else" without "if"');return this._currNode=w.else=$,this}get _root(){return this._nodes[0]}get _currNode(){let $=this._nodes;return $[$.length-1]}set _currNode($){let w=this._nodes;w[w.length-1]=$}}E0.CodeGen=EX;function n$($,w){for(let Z in w)$[Z]=($[Z]||0)+(w[Z]||0);return $}function i4($,w){return w instanceof m._CodeOrName?n$($,w.names):$}function I1($,w,Z){if($ instanceof m.Name)return W($);if(!X($))return $;return new m._Code($._items.reduce((Y,G)=>{if(G instanceof m.Name)G=W(G);if(G instanceof m._Code)Y.push(...G._items);else Y.push(G);return Y},[]));function W(Y){let G=Z[Y.str];if(G===void 0||w[Y.str]!==1)return Y;return delete w[Y.str],G}function X(Y){return Y instanceof m._Code&&Y._items.some((G)=>G instanceof m.Name&&w[G.str]===1&&Z[G.str]!==void 0)}}function XT($,w){for(let Z in w)$[Z]=($[Z]||0)-(w[Z]||0)}function LX($){return typeof $=="boolean"||typeof $=="number"||$===null?!$:m._`!${ZZ($)}`}E0.not=LX;var YT=DX(E0.operators.AND);function GT(...$){return $.reduce(YT)}E0.and=GT;var JT=DX(E0.operators.OR);function QT(...$){return $.reduce(JT)}E0.or=QT;function DX($){return(w,Z)=>w===m.nil?Z:Z===m.nil?w:m._`${ZZ(w)} ${$} ${ZZ(Z)}`}function ZZ($){return $ instanceof m.Name?$:m._`(${$})`}});var l=L((yX)=>{Object.defineProperty(yX,"__esModule",{value:!0});yX.checkStrictMode=yX.getErrorPath=yX.Type=yX.useFunc=yX.setEvaluated=yX.evaluatedPropsToName=yX.mergeEvaluated=yX.eachItem=yX.unescapeJsonPointer=yX.escapeJsonPointer=yX.escapeFragment=yX.unescapeFragment=yX.schemaRefOrVal=yX.schemaHasRulesButRef=yX.schemaHasRules=yX.checkUnknownRules=yX.alwaysValidSchema=yX.toHash=void 0;var n=v(),NT=Aw();function KT($){let w={};for(let Z of $)w[Z]=!0;return w}yX.toHash=KT;function BT($,w){if(typeof w=="boolean")return w;if(Object.keys(w).length===0)return!0;return SX($,w),!RX(w,$.self.RULES.all)}yX.alwaysValidSchema=BT;function SX($,w=$.schema){let{opts:Z,self:W}=$;if(!Z.strictSchema)return;if(typeof w==="boolean")return;let X=W.RULES.keywords;for(let Y in w)if(!X[Y])IX($,`unknown keyword: "${Y}"`)}yX.checkUnknownRules=SX;function RX($,w){if(typeof $=="boolean")return!$;for(let Z in $)if(w[Z])return!0;return!1}yX.schemaHasRules=RX;function VT($,w){if(typeof $=="boolean")return!$;for(let Z in $)if(Z!=="$ref"&&w.all[Z])return!0;return!1}yX.schemaHasRulesButRef=VT;function PT({topSchemaRef:$,schemaPath:w},Z,W,X){if(!X){if(typeof Z=="number"||typeof Z=="boolean")return Z;if(typeof Z=="string")return n._`${Z}`}return n._`${$}${w}${(0,n.getProperty)(W)}`}yX.schemaRefOrVal=PT;function qT($){return CX(decodeURIComponent($))}yX.unescapeFragment=qT;function UT($){return encodeURIComponent(YZ($))}yX.escapeFragment=UT;function YZ($){if(typeof $=="number")return`${$}`;return $.replace(/~/g,"~0").replace(/\//g,"~1")}yX.escapeJsonPointer=YZ;function CX($){return $.replace(/~1/g,"/").replace(/~0/g,"~")}yX.unescapeJsonPointer=CX;function HT($,w){if(Array.isArray($))for(let Z of $)w(Z);else w($)}yX.eachItem=HT;function kX({mergeNames:$,mergeToName:w,mergeValues:Z,resultToName:W}){return(X,Y,G,J)=>{let Q=G===void 0?Y:G instanceof n.Name?(Y instanceof n.Name?$(X,Y,G):w(X,Y,G),G):Y instanceof n.Name?(w(X,G,Y),Y):Z(Y,G);return J===n.Name&&!(Q instanceof n.Name)?W(X,Q):Q}}yX.mergeEvaluated={props:kX({mergeNames:($,w,Z)=>$.if(n._`${Z} !== true && ${w} !== undefined`,()=>{$.if(n._`${w} === true`,()=>$.assign(Z,!0),()=>$.assign(Z,n._`${Z} || {}`).code(n._`Object.assign(${Z}, ${w})`))}),mergeToName:($,w,Z)=>$.if(n._`${Z} !== true`,()=>{if(w===!0)$.assign(Z,!0);else $.assign(Z,n._`${Z} || {}`),GZ($,Z,w)}),mergeValues:($,w)=>$===!0?!0:{...$,...w},resultToName:jX}),items:kX({mergeNames:($,w,Z)=>$.if(n._`${Z} !== true && ${w} !== undefined`,()=>$.assign(Z,n._`${w} === true ? true : ${Z} > ${w} ? ${Z} : ${w}`)),mergeToName:($,w,Z)=>$.if(n._`${Z} !== true`,()=>$.assign(Z,w===!0?!0:n._`${Z} > ${w} ? ${Z} : ${w}`)),mergeValues:($,w)=>$===!0?!0:Math.max($,w),resultToName:($,w)=>$.var("items",w)})};function jX($,w){if(w===!0)return $.var("props",!0);let Z=$.var("props",n._`{}`);if(w!==void 0)GZ($,Z,w);return Z}yX.evaluatedPropsToName=jX;function GZ($,w,Z){Object.keys(Z).forEach((W)=>$.assign(n._`${w}${(0,n.getProperty)(W)}`,!0))}yX.setEvaluated=GZ;var AX={};function FT($,w){return $.scopeValue("func",{ref:w,code:AX[w.code]||(AX[w.code]=new NT._Code(w.code))})}yX.useFunc=FT;var XZ;(function($){$[$.Num=0]="Num",$[$.Str=1]="Str"})(XZ||(yX.Type=XZ={}));function OT($,w,Z){if($ instanceof n.Name){let W=w===XZ.Num;return Z?W?n._`"[" + ${$} + "]"`:n._`"['" + ${$} + "']"`:W?n._`"/" + ${$}`:n._`"/" + ${$}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Z?(0,n.getProperty)($).toString():"/"+YZ($)}yX.getErrorPath=OT;function IX($,w,Z=$.opts.strictSchema){if(!Z)return;if(w=`strict mode: ${w}`,Z===!0)throw Error(w);$.self.logger.warn(w)}yX.checkStrictMode=IX});var Y$=L((xX)=>{Object.defineProperty(xX,"__esModule",{value:!0});var N0=v(),uT={data:new N0.Name("data"),valCxt:new N0.Name("valCxt"),instancePath:new N0.Name("instancePath"),parentData:new N0.Name("parentData"),parentDataProperty:new N0.Name("parentDataProperty"),rootData:new N0.Name("rootData"),dynamicAnchors:new N0.Name("dynamicAnchors"),vErrors:new N0.Name("vErrors"),errors:new N0.Name("errors"),this:new N0.Name("this"),self:new N0.Name("self"),scope:new N0.Name("scope"),json:new N0.Name("json"),jsonPos:new N0.Name("jsonPos"),jsonLen:new N0.Name("jsonLen"),jsonPart:new N0.Name("jsonPart")};xX.default=uT});var Rw=L((uX)=>{Object.defineProperty(uX,"__esModule",{value:!0});uX.extendErrors=uX.resetErrorsCount=uX.reportExtraError=uX.reportError=uX.keyword$DataError=uX.keywordError=void 0;var c=v(),d4=l(),U0=Y$();uX.keywordError={message:({keyword:$})=>c.str`must pass "${$}" keyword validation`};uX.keyword$DataError={message:({keyword:$,schemaType:w})=>w?c.str`"${$}" keyword must be ${w} ($data)`:c.str`"${$}" keyword is invalid ($data)`};function iT($,w=uX.keywordError,Z,W){let{it:X}=$,{gen:Y,compositeRule:G,allErrors:J}=X,Q=vX($,w,Z);if(W!==null&&W!==void 0?W:G||J)_X(Y,Q);else gX(X,c._`[${Q}]`)}uX.reportError=iT;function mT($,w=uX.keywordError,Z){let{it:W}=$,{gen:X,compositeRule:Y,allErrors:G}=W,J=vX($,w,Z);if(_X(X,J),!(Y||G))gX(W,U0.default.vErrors)}uX.reportExtraError=mT;function lT($,w){$.assign(U0.default.errors,w),$.if(c._`${U0.default.vErrors} !== null`,()=>$.if(w,()=>$.assign(c._`${U0.default.vErrors}.length`,w),()=>$.assign(U0.default.vErrors,null)))}uX.resetErrorsCount=lT;function cT({gen:$,keyword:w,schemaValue:Z,data:W,errsCount:X,it:Y}){if(X===void 0)throw Error("ajv implementation error");let G=$.name("err");$.forRange("i",X,U0.default.errors,(J)=>{if($.const(G,c._`${U0.default.vErrors}[${J}]`),$.if(c._`${G}.instancePath === undefined`,()=>$.assign(c._`${G}.instancePath`,(0,c.strConcat)(U0.default.instancePath,Y.errorPath))),$.assign(c._`${G}.schemaPath`,c.str`${Y.errSchemaPath}/${w}`),Y.opts.verbose)$.assign(c._`${G}.schema`,Z),$.assign(c._`${G}.data`,W)})}uX.extendErrors=cT;function _X($,w){let Z=$.const("err",w);$.if(c._`${U0.default.vErrors} === null`,()=>$.assign(U0.default.vErrors,c._`[${Z}]`),c._`${U0.default.vErrors}.push(${Z})`),$.code(c._`${U0.default.errors}++`)}function gX($,w){let{gen:Z,validateName:W,schemaEnv:X}=$;if(X.$async)Z.throw(c._`new ${$.ValidationError}(${w})`);else Z.assign(c._`${W}.errors`,w),Z.return(!1)}var t$={keyword:new c.Name("keyword"),schemaPath:new c.Name("schemaPath"),params:new c.Name("params"),propertyName:new c.Name("propertyName"),message:new c.Name("message"),schema:new c.Name("schema"),parentSchema:new c.Name("parentSchema")};function vX($,w,Z){let{createErrors:W}=$.it;if(W===!1)return c._`{}`;return dT($,w,Z)}function dT($,w,Z={}){let{gen:W,it:X}=$,Y=[pT(X,Z),nT($,Z)];return tT($,w,Y),W.object(...Y)}function pT({errorPath:$},{instancePath:w}){let Z=w?c.str`${$}${(0,d4.getErrorPath)(w,d4.Type.Str)}`:$;return[U0.default.instancePath,(0,c.strConcat)(U0.default.instancePath,Z)]}function nT({keyword:$,it:{errSchemaPath:w}},{schemaPath:Z,parentSchema:W}){let X=W?w:c.str`${w}/${$}`;if(Z)X=c.str`${X}${(0,d4.getErrorPath)(Z,d4.Type.Str)}`;return[t$.schemaPath,X]}function tT($,{params:w,message:Z},W){let{keyword:X,data:Y,schemaValue:G,it:J}=$,{opts:Q,propertyName:z,topSchemaRef:M,schemaPath:T}=J;if(W.push([t$.keyword,X],[t$.params,typeof w=="function"?w($):w||c._`{}`]),Q.messages)W.push([t$.message,typeof Z=="function"?Z($):Z]);if(Q.verbose)W.push([t$.schema,G],[t$.parentSchema,c._`${M}${T}`],[U0.default.data,Y]);if(z)W.push([t$.propertyName,z])}});var cX=L((mX)=>{Object.defineProperty(mX,"__esModule",{value:!0});mX.boolOrEmptySchema=mX.topBoolOrEmptySchema=void 0;var eT=Rw(),$N=v(),wN=Y$(),ZN={message:"boolean schema is false"};function WN($){let{gen:w,schema:Z,validateName:W}=$;if(Z===!1)iX($,!1);else if(typeof Z=="object"&&Z.$async===!0)w.return(wN.default.data);else w.assign($N._`${W}.errors`,null),w.return(!0)}mX.topBoolOrEmptySchema=WN;function XN($,w){let{gen:Z,schema:W}=$;if(W===!1)Z.var(w,!1),iX($);else Z.var(w,!0)}mX.boolOrEmptySchema=XN;function iX($,w){let{gen:Z,data:W}=$,X={gen:Z,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:$};(0,eT.reportError)(X,ZN,void 0,w)}});var QZ=L((dX)=>{Object.defineProperty(dX,"__esModule",{value:!0});dX.getRules=dX.isJSONType=void 0;var GN=["string","number","integer","boolean","null","object","array"],JN=new Set(GN);function QN($){return typeof $=="string"&&JN.has($)}dX.isJSONType=QN;function zN(){let $={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...$,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},$.number,$.string,$.array,$.object],post:{rules:[]},all:{},keywords:{}}}dX.getRules=zN});var zZ=L((rX)=>{Object.defineProperty(rX,"__esModule",{value:!0});rX.shouldUseRule=rX.shouldUseGroup=rX.schemaHasRulesForType=void 0;function TN({schema:$,self:w},Z){let W=w.RULES.types[Z];return W&&W!==!0&&nX($,W)}rX.schemaHasRulesForType=TN;function nX($,w){return w.rules.some((Z)=>tX($,Z))}rX.shouldUseGroup=nX;function tX($,w){var Z;return $[w.keyword]!==void 0||((Z=w.definition.implements)===null||Z===void 0?void 0:Z.some((W)=>$[W]!==void 0))}rX.shouldUseRule=tX});var Cw=L(($Y)=>{Object.defineProperty($Y,"__esModule",{value:!0});$Y.reportTypeError=$Y.checkDataTypes=$Y.checkDataType=$Y.coerceAndCheckDataType=$Y.getJSONTypes=$Y.getSchemaTypes=$Y.DataType=void 0;var BN=QZ(),VN=zZ(),PN=Rw(),_=v(),aX=l(),y1;(function($){$[$.Correct=0]="Correct",$[$.Wrong=1]="Wrong"})(y1||($Y.DataType=y1={}));function qN($){let w=oX($.type);if(w.includes("null")){if($.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!w.length&&$.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if($.nullable===!0)w.push("null")}return w}$Y.getSchemaTypes=qN;function oX($){let w=Array.isArray($)?$:$?[$]:[];if(w.every(BN.isJSONType))return w;throw Error("type must be JSONType or JSONType[]: "+w.join(","))}$Y.getJSONTypes=oX;function UN($,w){let{gen:Z,data:W,opts:X}=$,Y=HN(w,X.coerceTypes),G=w.length>0&&!(Y.length===0&&w.length===1&&(0,VN.schemaHasRulesForType)($,w[0]));if(G){let J=TZ(w,W,X.strictNumbers,y1.Wrong);Z.if(J,()=>{if(Y.length)FN($,w,Y);else NZ($)})}return G}$Y.coerceAndCheckDataType=UN;var eX=new Set(["string","number","integer","boolean","null"]);function HN($,w){return w?$.filter((Z)=>eX.has(Z)||w==="array"&&Z==="array"):[]}function FN($,w,Z){let{gen:W,data:X,opts:Y}=$,G=W.let("dataType",_._`typeof ${X}`),J=W.let("coerced",_._`undefined`);if(Y.coerceTypes==="array")W.if(_._`${G} == 'object' && Array.isArray(${X}) && ${X}.length == 1`,()=>W.assign(X,_._`${X}[0]`).assign(G,_._`typeof ${X}`).if(TZ(w,X,Y.strictNumbers),()=>W.assign(J,X)));W.if(_._`${J} !== undefined`);for(let z of Z)if(eX.has(z)||z==="array"&&Y.coerceTypes==="array")Q(z);W.else(),NZ($),W.endIf(),W.if(_._`${J} !== undefined`,()=>{W.assign(X,J),ON($,J)});function Q(z){switch(z){case"string":W.elseIf(_._`${G} == "number" || ${G} == "boolean"`).assign(J,_._`"" + ${X}`).elseIf(_._`${X} === null`).assign(J,_._`""`);return;case"number":W.elseIf(_._`${G} == "boolean" || ${X} === null
30
- || (${G} == "string" && ${X} && ${X} == +${X})`).assign(J,_._`+${X}`);return;case"integer":W.elseIf(_._`${G} === "boolean" || ${X} === null
31
- || (${G} === "string" && ${X} && ${X} == +${X} && !(${X} % 1))`).assign(J,_._`+${X}`);return;case"boolean":W.elseIf(_._`${X} === "false" || ${X} === 0 || ${X} === null`).assign(J,!1).elseIf(_._`${X} === "true" || ${X} === 1`).assign(J,!0);return;case"null":W.elseIf(_._`${X} === "" || ${X} === 0 || ${X} === false`),W.assign(J,null);return;case"array":W.elseIf(_._`${G} === "string" || ${G} === "number"
32
- || ${G} === "boolean" || ${X} === null`).assign(J,_._`[${X}]`)}}}function ON({gen:$,parentData:w,parentDataProperty:Z},W){$.if(_._`${w} !== undefined`,()=>$.assign(_._`${w}[${Z}]`,W))}function MZ($,w,Z,W=y1.Correct){let X=W===y1.Correct?_.operators.EQ:_.operators.NEQ,Y;switch($){case"null":return _._`${w} ${X} null`;case"array":Y=_._`Array.isArray(${w})`;break;case"object":Y=_._`${w} && typeof ${w} == "object" && !Array.isArray(${w})`;break;case"integer":Y=G(_._`!(${w} % 1) && !isNaN(${w})`);break;case"number":Y=G();break;default:return _._`typeof ${w} ${X} ${$}`}return W===y1.Correct?Y:(0,_.not)(Y);function G(J=_.nil){return(0,_.and)(_._`typeof ${w} == "number"`,J,Z?_._`isFinite(${w})`:_.nil)}}$Y.checkDataType=MZ;function TZ($,w,Z,W){if($.length===1)return MZ($[0],w,Z,W);let X,Y=(0,aX.toHash)($);if(Y.array&&Y.object){let G=_._`typeof ${w} != "object"`;X=Y.null?G:_._`!${w} || ${G}`,delete Y.null,delete Y.array,delete Y.object}else X=_.nil;if(Y.number)delete Y.integer;for(let G in Y)X=(0,_.and)(X,MZ(G,w,Z,W));return X}$Y.checkDataTypes=TZ;var EN={message:({schema:$})=>`must be ${$}`,params:({schema:$,schemaValue:w})=>typeof $=="string"?_._`{type: ${$}}`:_._`{type: ${w}}`};function NZ($){let w=LN($);(0,PN.reportError)(w,EN)}$Y.reportTypeError=NZ;function LN($){let{gen:w,data:Z,schema:W}=$,X=(0,aX.schemaRefOrVal)($,W,"type");return{gen:w,keyword:"type",data:Z,schema:W.type,schemaCode:X,schemaValue:X,parentSchema:W,params:{},it:$}}});var YY=L((WY)=>{Object.defineProperty(WY,"__esModule",{value:!0});WY.assignDefaults=void 0;var b1=v(),CN=l();function jN($,w){let{properties:Z,items:W}=$.schema;if(w==="object"&&Z)for(let X in Z)ZY($,X,Z[X].default);else if(w==="array"&&Array.isArray(W))W.forEach((X,Y)=>ZY($,Y,X.default))}WY.assignDefaults=jN;function ZY($,w,Z){let{gen:W,compositeRule:X,data:Y,opts:G}=$;if(Z===void 0)return;let J=b1._`${Y}${(0,b1.getProperty)(w)}`;if(X){(0,CN.checkStrictMode)($,`default is ignored for: ${J}`);return}let Q=b1._`${J} === undefined`;if(G.useDefaults==="empty")Q=b1._`${Q} || ${J} === null || ${J} === ""`;W.if(Q,b1._`${J} = ${(0,b1.stringify)(Z)}`)}});var _0=L((QY)=>{Object.defineProperty(QY,"__esModule",{value:!0});QY.validateUnion=QY.validateArray=QY.usePattern=QY.callValidateCode=QY.schemaProperties=QY.allSchemaProperties=QY.noPropertyInData=QY.propertyInData=QY.isOwnProperty=QY.hasPropFunc=QY.reportMissingProp=QY.checkMissingProp=QY.checkReportMissingProp=void 0;var t=v(),KZ=l(),k$=Y$(),IN=l();function yN($,w){let{gen:Z,data:W,it:X}=$;Z.if(VZ(Z,W,w,X.opts.ownProperties),()=>{$.setParams({missingProperty:t._`${w}`},!0),$.error()})}QY.checkReportMissingProp=yN;function bN({gen:$,data:w,it:{opts:Z}},W,X){return(0,t.or)(...W.map((Y)=>(0,t.and)(VZ($,w,Y,Z.ownProperties),t._`${X} = ${Y}`)))}QY.checkMissingProp=bN;function xN($,w){$.setParams({missingProperty:w},!0),$.error()}QY.reportMissingProp=xN;function GY($){return $.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:t._`Object.prototype.hasOwnProperty`})}QY.hasPropFunc=GY;function BZ($,w,Z){return t._`${GY($)}.call(${w}, ${Z})`}QY.isOwnProperty=BZ;function _N($,w,Z,W){let X=t._`${w}${(0,t.getProperty)(Z)} !== undefined`;return W?t._`${X} && ${BZ($,w,Z)}`:X}QY.propertyInData=_N;function VZ($,w,Z,W){let X=t._`${w}${(0,t.getProperty)(Z)} === undefined`;return W?(0,t.or)(X,(0,t.not)(BZ($,w,Z))):X}QY.noPropertyInData=VZ;function JY($){return $?Object.keys($).filter((w)=>w!=="__proto__"):[]}QY.allSchemaProperties=JY;function gN($,w){return JY(w).filter((Z)=>!(0,KZ.alwaysValidSchema)($,w[Z]))}QY.schemaProperties=gN;function vN({schemaCode:$,data:w,it:{gen:Z,topSchemaRef:W,schemaPath:X,errorPath:Y},it:G},J,Q,z){let M=z?t._`${$}, ${w}, ${W}${X}`:w,T=[[k$.default.instancePath,(0,t.strConcat)(k$.default.instancePath,Y)],[k$.default.parentData,G.parentData],[k$.default.parentDataProperty,G.parentDataProperty],[k$.default.rootData,k$.default.rootData]];if(G.opts.dynamicRef)T.push([k$.default.dynamicAnchors,k$.default.dynamicAnchors]);let N=t._`${M}, ${Z.object(...T)}`;return Q!==t.nil?t._`${J}.call(${Q}, ${N})`:t._`${J}(${N})`}QY.callValidateCode=vN;var uN=t._`new RegExp`;function hN({gen:$,it:{opts:w}},Z){let W=w.unicodeRegExp?"u":"",{regExp:X}=w.code,Y=X(Z,W);return $.scopeValue("pattern",{key:Y.toString(),ref:Y,code:t._`${X.code==="new RegExp"?uN:(0,IN.useFunc)($,X)}(${Z}, ${W})`})}QY.usePattern=hN;function iN($){let{gen:w,data:Z,keyword:W,it:X}=$,Y=w.name("valid");if(X.allErrors){let J=w.let("valid",!0);return G(()=>w.assign(J,!1)),J}return w.var(Y,!0),G(()=>w.break()),Y;function G(J){let Q=w.const("len",t._`${Z}.length`);w.forRange("i",0,Q,(z)=>{$.subschema({keyword:W,dataProp:z,dataPropType:KZ.Type.Num},Y),w.if((0,t.not)(Y),J)})}}QY.validateArray=iN;function mN($){let{gen:w,schema:Z,keyword:W,it:X}=$;if(!Array.isArray(Z))throw Error("ajv implementation error");if(Z.some((Q)=>(0,KZ.alwaysValidSchema)(X,Q))&&!X.opts.unevaluated)return;let G=w.let("valid",!1),J=w.name("_valid");w.block(()=>Z.forEach((Q,z)=>{let M=$.subschema({keyword:W,schemaProp:z,compositeRule:!0},J);if(w.assign(G,t._`${G} || ${J}`),!$.mergeValidEvaluated(M,J))w.if((0,t.not)(G))})),$.result(G,()=>$.reset(),()=>$.error(!0))}QY.validateUnion=mN});var BY=L((NY)=>{Object.defineProperty(NY,"__esModule",{value:!0});NY.validateKeywordUsage=NY.validSchemaType=NY.funcKeywordCode=NY.macroKeywordCode=void 0;var H0=v(),r$=Y$(),wK=_0(),ZK=Rw();function WK($,w){let{gen:Z,keyword:W,schema:X,parentSchema:Y,it:G}=$,J=w.macro.call(G.self,X,Y,G),Q=TY(Z,W,J);if(G.opts.validateSchema!==!1)G.self.validateSchema(J,!0);let z=Z.name("valid");$.subschema({schema:J,schemaPath:H0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:Q,compositeRule:!0},z),$.pass(z,()=>$.error(!0))}NY.macroKeywordCode=WK;function XK($,w){var Z;let{gen:W,keyword:X,schema:Y,parentSchema:G,$data:J,it:Q}=$;GK(Q,w);let z=!J&&w.compile?w.compile.call(Q.self,Y,G,Q):w.validate,M=TY(W,X,z),T=W.let("valid");$.block$data(T,N),$.ok((Z=w.valid)!==null&&Z!==void 0?Z:T);function N(){if(w.errors===!1){if(P(),w.modifying)MY($);q(()=>$.error())}else{let U=w.async?K():B();if(w.modifying)MY($);q(()=>YK($,U))}}function K(){let U=W.let("ruleErrs",null);return W.try(()=>P(H0._`await `),(O)=>W.assign(T,!1).if(H0._`${O} instanceof ${Q.ValidationError}`,()=>W.assign(U,H0._`${O}.errors`),()=>W.throw(O))),U}function B(){let U=H0._`${M}.errors`;return W.assign(U,null),P(H0.nil),U}function P(U=w.async?H0._`await `:H0.nil){let O=Q.opts.passContext?r$.default.this:r$.default.self,f=!(("compile"in w)&&!J||w.schema===!1);W.assign(T,H0._`${U}${(0,wK.callValidateCode)($,M,O,f)}`,w.modifying)}function q(U){var O;W.if((0,H0.not)((O=w.valid)!==null&&O!==void 0?O:T),U)}}NY.funcKeywordCode=XK;function MY($){let{gen:w,data:Z,it:W}=$;w.if(W.parentData,()=>w.assign(Z,H0._`${W.parentData}[${W.parentDataProperty}]`))}function YK($,w){let{gen:Z}=$;Z.if(H0._`Array.isArray(${w})`,()=>{Z.assign(r$.default.vErrors,H0._`${r$.default.vErrors} === null ? ${w} : ${r$.default.vErrors}.concat(${w})`).assign(r$.default.errors,H0._`${r$.default.vErrors}.length`),(0,ZK.extendErrors)($)},()=>$.error())}function GK({schemaEnv:$},w){if(w.async&&!$.$async)throw Error("async keyword in sync schema")}function TY($,w,Z){if(Z===void 0)throw Error(`keyword "${w}" failed to compile`);return $.scopeValue("keyword",typeof Z=="function"?{ref:Z}:{ref:Z,code:(0,H0.stringify)(Z)})}function JK($,w,Z=!1){return!w.length||w.some((W)=>W==="array"?Array.isArray($):W==="object"?$&&typeof $=="object"&&!Array.isArray($):typeof $==W||Z&&typeof $>"u")}NY.validSchemaType=JK;function QK({schema:$,opts:w,self:Z,errSchemaPath:W},X,Y){if(Array.isArray(X.keyword)?!X.keyword.includes(Y):X.keyword!==Y)throw Error("ajv implementation error");let G=X.dependencies;if(G===null||G===void 0?void 0:G.some((J)=>!Object.prototype.hasOwnProperty.call($,J)))throw Error(`parent schema must have dependencies of ${Y}: ${G.join(",")}`);if(X.validateSchema){if(!X.validateSchema($[Y])){let Q=`keyword "${Y}" value is invalid at path "${W}": `+Z.errorsText(X.validateSchema.errors);if(w.validateSchema==="log")Z.logger.error(Q);else throw Error(Q)}}}NY.validateKeywordUsage=QK});var UY=L((PY)=>{Object.defineProperty(PY,"__esModule",{value:!0});PY.extendSubschemaMode=PY.extendSubschemaData=PY.getSubschema=void 0;var t0=v(),VY=l();function NK($,{keyword:w,schemaProp:Z,schema:W,schemaPath:X,errSchemaPath:Y,topSchemaRef:G}){if(w!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(w!==void 0){let J=$.schema[w];return Z===void 0?{schema:J,schemaPath:t0._`${$.schemaPath}${(0,t0.getProperty)(w)}`,errSchemaPath:`${$.errSchemaPath}/${w}`}:{schema:J[Z],schemaPath:t0._`${$.schemaPath}${(0,t0.getProperty)(w)}${(0,t0.getProperty)(Z)}`,errSchemaPath:`${$.errSchemaPath}/${w}/${(0,VY.escapeFragment)(Z)}`}}if(W!==void 0){if(X===void 0||Y===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:X,topSchemaRef:G,errSchemaPath:Y}}throw Error('either "keyword" or "schema" must be passed')}PY.getSubschema=NK;function KK($,w,{dataProp:Z,dataPropType:W,data:X,dataTypes:Y,propertyName:G}){if(X!==void 0&&Z!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:J}=w;if(Z!==void 0){let{errorPath:z,dataPathArr:M,opts:T}=w,N=J.let("data",t0._`${w.data}${(0,t0.getProperty)(Z)}`,!0);Q(N),$.errorPath=t0.str`${z}${(0,VY.getErrorPath)(Z,W,T.jsPropertySyntax)}`,$.parentDataProperty=t0._`${Z}`,$.dataPathArr=[...M,$.parentDataProperty]}if(X!==void 0){let z=X instanceof t0.Name?X:J.let("data",X,!0);if(Q(z),G!==void 0)$.propertyName=G}if(Y)$.dataTypes=Y;function Q(z){$.data=z,$.dataLevel=w.dataLevel+1,$.dataTypes=[],w.definedProperties=new Set,$.parentData=w.data,$.dataNames=[...w.dataNames,z]}}PY.extendSubschemaData=KK;function BK($,{jtdDiscriminator:w,jtdMetadata:Z,compositeRule:W,createErrors:X,allErrors:Y}){if(W!==void 0)$.compositeRule=W;if(X!==void 0)$.createErrors=X;if(Y!==void 0)$.allErrors=Y;$.jtdDiscriminator=w,$.jtdMetadata=Z}PY.extendSubschemaMode=BK});var PZ=L((CL,HY)=>{HY.exports=function $(w,Z){if(w===Z)return!0;if(w&&Z&&typeof w=="object"&&typeof Z=="object"){if(w.constructor!==Z.constructor)return!1;var W,X,Y;if(Array.isArray(w)){if(W=w.length,W!=Z.length)return!1;for(X=W;X--!==0;)if(!$(w[X],Z[X]))return!1;return!0}if(w.constructor===RegExp)return w.source===Z.source&&w.flags===Z.flags;if(w.valueOf!==Object.prototype.valueOf)return w.valueOf()===Z.valueOf();if(w.toString!==Object.prototype.toString)return w.toString()===Z.toString();if(Y=Object.keys(w),W=Y.length,W!==Object.keys(Z).length)return!1;for(X=W;X--!==0;)if(!Object.prototype.hasOwnProperty.call(Z,Y[X]))return!1;for(X=W;X--!==0;){var G=Y[X];if(!$(w[G],Z[G]))return!1}return!0}return w!==w&&Z!==Z}});var OY=L((jL,FY)=>{var A$=FY.exports=function($,w,Z){if(typeof w=="function")Z=w,w={};Z=w.cb||Z;var W=typeof Z=="function"?Z:Z.pre||function(){},X=Z.post||function(){};p4(w,W,X,$,"",$)};A$.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};A$.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};A$.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};A$.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 p4($,w,Z,W,X,Y,G,J,Q,z){if(W&&typeof W=="object"&&!Array.isArray(W)){w(W,X,Y,G,J,Q,z);for(var M in W){var T=W[M];if(Array.isArray(T)){if(M in A$.arrayKeywords)for(var N=0;N<T.length;N++)p4($,w,Z,T[N],X+"/"+M+"/"+N,Y,X,M,W,N)}else if(M in A$.propsKeywords){if(T&&typeof T=="object")for(var K in T)p4($,w,Z,T[K],X+"/"+M+"/"+qK(K),Y,X,M,W,K)}else if(M in A$.keywords||$.allKeys&&!(M in A$.skipKeywords))p4($,w,Z,T,X+"/"+M,Y,X,M,W)}Z(W,X,Y,G,J,Q,z)}}function qK($){return $.replace(/~/g,"~0").replace(/\//g,"~1")}});var jw=L((fY)=>{Object.defineProperty(fY,"__esModule",{value:!0});fY.getSchemaRefs=fY.resolveUrl=fY.normalizeId=fY._getFullPath=fY.getFullPath=fY.inlineRef=void 0;var UK=l(),HK=PZ(),FK=OY(),OK=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function EK($,w=!0){if(typeof $=="boolean")return!0;if(w===!0)return!qZ($);if(!w)return!1;return EY($)<=w}fY.inlineRef=EK;var LK=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function qZ($){for(let w in $){if(LK.has(w))return!0;let Z=$[w];if(Array.isArray(Z)&&Z.some(qZ))return!0;if(typeof Z=="object"&&qZ(Z))return!0}return!1}function EY($){let w=0;for(let Z in $){if(Z==="$ref")return 1/0;if(w++,OK.has(Z))continue;if(typeof $[Z]=="object")(0,UK.eachItem)($[Z],(W)=>w+=EY(W));if(w===1/0)return 1/0}return w}function LY($,w="",Z){if(Z!==!1)w=x1(w);let W=$.parse(w);return DY($,W)}fY.getFullPath=LY;function DY($,w){return $.serialize(w).split("#")[0]+"#"}fY._getFullPath=DY;var DK=/#\/?$/;function x1($){return $?$.replace(DK,""):""}fY.normalizeId=x1;function fK($,w,Z){return Z=x1(Z),$.resolve(w,Z)}fY.resolveUrl=fK;var kK=/^[a-z_][-a-z0-9._]*$/i;function AK($,w){if(typeof $=="boolean")return{};let{schemaId:Z,uriResolver:W}=this.opts,X=x1($[Z]||w),Y={"":X},G=LY(W,X,!1),J={},Q=new Set;return FK($,{allKeys:!0},(T,N,K,B)=>{if(B===void 0)return;let P=G+N,q=Y[B];if(typeof T[Z]=="string")q=U.call(this,T[Z]);O.call(this,T.$anchor),O.call(this,T.$dynamicAnchor),Y[N]=q;function U(f){let C=this.opts.uriResolver.resolve;if(f=x1(q?C(q,f):f),Q.has(f))throw M(f);Q.add(f);let A=this.refs[f];if(typeof A=="string")A=this.refs[A];if(typeof A=="object")z(T,A.schema,f);else if(f!==x1(P))if(f[0]==="#")z(T,J[f],f),J[f]=T;else this.refs[f]=P;return f}function O(f){if(typeof f=="string"){if(!kK.test(f))throw Error(`invalid anchor "${f}"`);U.call(this,`#${f}`)}}}),J;function z(T,N,K){if(N!==void 0&&!HK(T,N))throw M(K)}function M(T){return Error(`reference "${T}" resolves to more than one schema`)}}fY.getSchemaRefs=AK});var bw=L((iY)=>{Object.defineProperty(iY,"__esModule",{value:!0});iY.getData=iY.KeywordCxt=iY.validateFunctionCode=void 0;var jY=cX(),AY=Cw(),HZ=zZ(),n4=Cw(),yK=YY(),yw=BY(),UZ=UY(),S=v(),b=Y$(),bK=jw(),G$=l(),Iw=Rw();function xK($){if(bY($)){if(xY($),yY($)){vK($);return}}IY($,()=>(0,jY.topBoolOrEmptySchema)($))}iY.validateFunctionCode=xK;function IY({gen:$,validateName:w,schema:Z,schemaEnv:W,opts:X},Y){if(X.code.es5)$.func(w,S._`${b.default.data}, ${b.default.valCxt}`,W.$async,()=>{$.code(S._`"use strict"; ${SY(Z,X)}`),gK($,X),$.code(Y)});else $.func(w,S._`${b.default.data}, ${_K(X)}`,W.$async,()=>$.code(SY(Z,X)).code(Y))}function _K($){return S._`{${b.default.instancePath}="", ${b.default.parentData}, ${b.default.parentDataProperty}, ${b.default.rootData}=${b.default.data}${$.dynamicRef?S._`, ${b.default.dynamicAnchors}={}`:S.nil}}={}`}function gK($,w){$.if(b.default.valCxt,()=>{if($.var(b.default.instancePath,S._`${b.default.valCxt}.${b.default.instancePath}`),$.var(b.default.parentData,S._`${b.default.valCxt}.${b.default.parentData}`),$.var(b.default.parentDataProperty,S._`${b.default.valCxt}.${b.default.parentDataProperty}`),$.var(b.default.rootData,S._`${b.default.valCxt}.${b.default.rootData}`),w.dynamicRef)$.var(b.default.dynamicAnchors,S._`${b.default.valCxt}.${b.default.dynamicAnchors}`)},()=>{if($.var(b.default.instancePath,S._`""`),$.var(b.default.parentData,S._`undefined`),$.var(b.default.parentDataProperty,S._`undefined`),$.var(b.default.rootData,b.default.data),w.dynamicRef)$.var(b.default.dynamicAnchors,S._`{}`)})}function vK($){let{schema:w,opts:Z,gen:W}=$;IY($,()=>{if(Z.$comment&&w.$comment)gY($);if(lK($),W.let(b.default.vErrors,null),W.let(b.default.errors,0),Z.unevaluated)uK($);_Y($),pK($)});return}function uK($){let{gen:w,validateName:Z}=$;$.evaluated=w.const("evaluated",S._`${Z}.evaluated`),w.if(S._`${$.evaluated}.dynamicProps`,()=>w.assign(S._`${$.evaluated}.props`,S._`undefined`)),w.if(S._`${$.evaluated}.dynamicItems`,()=>w.assign(S._`${$.evaluated}.items`,S._`undefined`))}function SY($,w){let Z=typeof $=="object"&&$[w.schemaId];return Z&&(w.code.source||w.code.process)?S._`/*# sourceURL=${Z} */`:S.nil}function hK($,w){if(bY($)){if(xY($),yY($)){iK($,w);return}}(0,jY.boolOrEmptySchema)($,w)}function yY({schema:$,self:w}){if(typeof $=="boolean")return!$;for(let Z in $)if(w.RULES.all[Z])return!0;return!1}function bY($){return typeof $.schema!="boolean"}function iK($,w){let{schema:Z,gen:W,opts:X}=$;if(X.$comment&&Z.$comment)gY($);cK($),dK($);let Y=W.const("_errs",b.default.errors);_Y($,Y),W.var(w,S._`${Y} === ${b.default.errors}`)}function xY($){(0,G$.checkUnknownRules)($),mK($)}function _Y($,w){if($.opts.jtd)return RY($,[],!1,w);let Z=(0,AY.getSchemaTypes)($.schema),W=(0,AY.coerceAndCheckDataType)($,Z);RY($,Z,!W,w)}function mK($){let{schema:w,errSchemaPath:Z,opts:W,self:X}=$;if(w.$ref&&W.ignoreKeywordsWithRef&&(0,G$.schemaHasRulesButRef)(w,X.RULES))X.logger.warn(`$ref: keywords ignored in schema at path "${Z}"`)}function lK($){let{schema:w,opts:Z}=$;if(w.default!==void 0&&Z.useDefaults&&Z.strictSchema)(0,G$.checkStrictMode)($,"default is ignored in the schema root")}function cK($){let w=$.schema[$.opts.schemaId];if(w)$.baseId=(0,bK.resolveUrl)($.opts.uriResolver,$.baseId,w)}function dK($){if($.schema.$async&&!$.schemaEnv.$async)throw Error("async schema in sync schema")}function gY({gen:$,schemaEnv:w,schema:Z,errSchemaPath:W,opts:X}){let Y=Z.$comment;if(X.$comment===!0)$.code(S._`${b.default.self}.logger.log(${Y})`);else if(typeof X.$comment=="function"){let G=S.str`${W}/$comment`,J=$.scopeValue("root",{ref:w.root});$.code(S._`${b.default.self}.opts.$comment(${Y}, ${G}, ${J}.schema)`)}}function pK($){let{gen:w,schemaEnv:Z,validateName:W,ValidationError:X,opts:Y}=$;if(Z.$async)w.if(S._`${b.default.errors} === 0`,()=>w.return(b.default.data),()=>w.throw(S._`new ${X}(${b.default.vErrors})`));else{if(w.assign(S._`${W}.errors`,b.default.vErrors),Y.unevaluated)nK($);w.return(S._`${b.default.errors} === 0`)}}function nK({gen:$,evaluated:w,props:Z,items:W}){if(Z instanceof S.Name)$.assign(S._`${w}.props`,Z);if(W instanceof S.Name)$.assign(S._`${w}.items`,W)}function RY($,w,Z,W){let{gen:X,schema:Y,data:G,allErrors:J,opts:Q,self:z}=$,{RULES:M}=z;if(Y.$ref&&(Q.ignoreKeywordsWithRef||!(0,G$.schemaHasRulesButRef)(Y,M))){X.block(()=>uY($,"$ref",M.all.$ref.definition));return}if(!Q.jtd)tK($,w);X.block(()=>{for(let N of M.rules)T(N);T(M.post)});function T(N){if(!(0,HZ.shouldUseGroup)(Y,N))return;if(N.type){if(X.if((0,n4.checkDataType)(N.type,G,Q.strictNumbers)),CY($,N),w.length===1&&w[0]===N.type&&Z)X.else(),(0,n4.reportTypeError)($);X.endIf()}else CY($,N);if(!J)X.if(S._`${b.default.errors} === ${W||0}`)}}function CY($,w){let{gen:Z,schema:W,opts:{useDefaults:X}}=$;if(X)(0,yK.assignDefaults)($,w.type);Z.block(()=>{for(let Y of w.rules)if((0,HZ.shouldUseRule)(W,Y))uY($,Y.keyword,Y.definition,w.type)})}function tK($,w){if($.schemaEnv.meta||!$.opts.strictTypes)return;if(rK($,w),!$.opts.allowUnionTypes)sK($,w);aK($,$.dataTypes)}function rK($,w){if(!w.length)return;if(!$.dataTypes.length){$.dataTypes=w;return}w.forEach((Z)=>{if(!vY($.dataTypes,Z))FZ($,`type "${Z}" not allowed by context "${$.dataTypes.join(",")}"`)}),eK($,w)}function sK($,w){if(w.length>1&&!(w.length===2&&w.includes("null")))FZ($,"use allowUnionTypes to allow union type keyword")}function aK($,w){let Z=$.self.RULES.all;for(let W in Z){let X=Z[W];if(typeof X=="object"&&(0,HZ.shouldUseRule)($.schema,X)){let{type:Y}=X.definition;if(Y.length&&!Y.some((G)=>oK(w,G)))FZ($,`missing type "${Y.join(",")}" for keyword "${W}"`)}}}function oK($,w){return $.includes(w)||w==="number"&&$.includes("integer")}function vY($,w){return $.includes(w)||w==="integer"&&$.includes("number")}function eK($,w){let Z=[];for(let W of $.dataTypes)if(vY(w,W))Z.push(W);else if(w.includes("integer")&&W==="number")Z.push("integer");$.dataTypes=Z}function FZ($,w){let Z=$.schemaEnv.baseId+$.errSchemaPath;w+=` at "${Z}" (strictTypes)`,(0,G$.checkStrictMode)($,w,$.opts.strictTypes)}class OZ{constructor($,w,Z){if((0,yw.validateKeywordUsage)($,w,Z),this.gen=$.gen,this.allErrors=$.allErrors,this.keyword=Z,this.data=$.data,this.schema=$.schema[Z],this.$data=w.$data&&$.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,G$.schemaRefOrVal)($,this.schema,Z,this.$data),this.schemaType=w.schemaType,this.parentSchema=$.schema,this.params={},this.it=$,this.def=w,this.$data)this.schemaCode=$.gen.const("vSchema",hY(this.$data,$));else if(this.schemaCode=this.schemaValue,!(0,yw.validSchemaType)(this.schema,w.schemaType,w.allowUndefined))throw Error(`${Z} value must be ${JSON.stringify(w.schemaType)}`);if("code"in w?w.trackErrors:w.errors!==!1)this.errsCount=$.gen.const("_errs",b.default.errors)}result($,w,Z){this.failResult((0,S.not)($),w,Z)}failResult($,w,Z){if(this.gen.if($),Z)Z();else this.error();if(w){if(this.gen.else(),w(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass($,w){this.failResult((0,S.not)($),void 0,w)}fail($){if($===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if($),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data($){if(!this.$data)return this.fail($);let{schemaCode:w}=this;this.fail(S._`${w} !== undefined && (${(0,S.or)(this.invalid$data(),$)})`)}error($,w,Z){if(w){this.setParams(w),this._error($,Z),this.setParams({});return}this._error($,Z)}_error($,w){($?Iw.reportExtraError:Iw.reportError)(this,this.def.error,w)}$dataError(){(0,Iw.reportError)(this,this.def.$dataError||Iw.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,Iw.resetErrorsCount)(this.gen,this.errsCount)}ok($){if(!this.allErrors)this.gen.if($)}setParams($,w){if(w)Object.assign(this.params,$);else this.params=$}block$data($,w,Z=S.nil){this.gen.block(()=>{this.check$data($,Z),w()})}check$data($=S.nil,w=S.nil){if(!this.$data)return;let{gen:Z,schemaCode:W,schemaType:X,def:Y}=this;if(Z.if((0,S.or)(S._`${W} === undefined`,w)),$!==S.nil)Z.assign($,!0);if(X.length||Y.validateSchema){if(Z.elseIf(this.invalid$data()),this.$dataError(),$!==S.nil)Z.assign($,!1)}Z.else()}invalid$data(){let{gen:$,schemaCode:w,schemaType:Z,def:W,it:X}=this;return(0,S.or)(Y(),G());function Y(){if(Z.length){if(!(w instanceof S.Name))throw Error("ajv implementation error");let J=Array.isArray(Z)?Z:[Z];return S._`${(0,n4.checkDataTypes)(J,w,X.opts.strictNumbers,n4.DataType.Wrong)}`}return S.nil}function G(){if(W.validateSchema){let J=$.scopeValue("validate$data",{ref:W.validateSchema});return S._`!${J}(${w})`}return S.nil}}subschema($,w){let Z=(0,UZ.getSubschema)(this.it,$);(0,UZ.extendSubschemaData)(Z,this.it,$),(0,UZ.extendSubschemaMode)(Z,$);let W={...this.it,...Z,items:void 0,props:void 0};return hK(W,w),W}mergeEvaluated($,w){let{it:Z,gen:W}=this;if(!Z.opts.unevaluated)return;if(Z.props!==!0&&$.props!==void 0)Z.props=G$.mergeEvaluated.props(W,$.props,Z.props,w);if(Z.items!==!0&&$.items!==void 0)Z.items=G$.mergeEvaluated.items(W,$.items,Z.items,w)}mergeValidEvaluated($,w){let{it:Z,gen:W}=this;if(Z.opts.unevaluated&&(Z.props!==!0||Z.items!==!0))return W.if(w,()=>this.mergeEvaluated($,S.Name)),!0}}iY.KeywordCxt=OZ;function uY($,w,Z,W){let X=new OZ($,Z,w);if("code"in Z)Z.code(X,W);else if(X.$data&&Z.validate)(0,yw.funcKeywordCode)(X,Z);else if("macro"in Z)(0,yw.macroKeywordCode)(X,Z);else if(Z.compile||Z.validate)(0,yw.funcKeywordCode)(X,Z)}var $B=/^\/(?:[^~]|~0|~1)*$/,wB=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function hY($,{dataLevel:w,dataNames:Z,dataPathArr:W}){let X,Y;if($==="")return b.default.rootData;if($[0]==="/"){if(!$B.test($))throw Error(`Invalid JSON-pointer: ${$}`);X=$,Y=b.default.rootData}else{let z=wB.exec($);if(!z)throw Error(`Invalid JSON-pointer: ${$}`);let M=+z[1];if(X=z[2],X==="#"){if(M>=w)throw Error(Q("property/index",M));return W[w-M]}if(M>w)throw Error(Q("data",M));if(Y=Z[w-M],!X)return Y}let G=Y,J=X.split("/");for(let z of J)if(z)Y=S._`${Y}${(0,S.getProperty)((0,G$.unescapeJsonPointer)(z))}`,G=S._`${G} && ${Y}`;return G;function Q(z,M){return`Cannot access ${z} ${M} levels up, current level is ${w}`}}iY.getData=hY});var t4=L((cY)=>{Object.defineProperty(cY,"__esModule",{value:!0});class lY extends Error{constructor($){super("validation failed");this.errors=$,this.ajv=this.validation=!0}}cY.default=lY});var xw=L((pY)=>{Object.defineProperty(pY,"__esModule",{value:!0});var EZ=jw();class dY extends Error{constructor($,w,Z,W){super(W||`can't resolve reference ${Z} from id ${w}`);this.missingRef=(0,EZ.resolveUrl)($,w,Z),this.missingSchema=(0,EZ.normalizeId)((0,EZ.getFullPath)($,this.missingRef))}}pY.default=dY});var s4=L((rY)=>{Object.defineProperty(rY,"__esModule",{value:!0});rY.resolveSchema=rY.getCompilingSchema=rY.resolveRef=rY.compileSchema=rY.SchemaEnv=void 0;var m0=v(),GB=t4(),s$=Y$(),l0=jw(),nY=l(),JB=bw();class _w{constructor($){var w;this.refs={},this.dynamicAnchors={};let Z;if(typeof $.schema=="object")Z=$.schema;this.schema=$.schema,this.schemaId=$.schemaId,this.root=$.root||this,this.baseId=(w=$.baseId)!==null&&w!==void 0?w:(0,l0.normalizeId)(Z===null||Z===void 0?void 0:Z[$.schemaId||"$id"]),this.schemaPath=$.schemaPath,this.localRefs=$.localRefs,this.meta=$.meta,this.$async=Z===null||Z===void 0?void 0:Z.$async,this.refs={}}}rY.SchemaEnv=_w;function DZ($){let w=tY.call(this,$);if(w)return w;let Z=(0,l0.getFullPath)(this.opts.uriResolver,$.root.baseId),{es5:W,lines:X}=this.opts.code,{ownProperties:Y}=this.opts,G=new m0.CodeGen(this.scope,{es5:W,lines:X,ownProperties:Y}),J;if($.$async)J=G.scopeValue("Error",{ref:GB.default,code:m0._`require("ajv/dist/runtime/validation_error").default`});let Q=G.scopeName("validate");$.validateName=Q;let z={gen:G,allErrors:this.opts.allErrors,data:s$.default.data,parentData:s$.default.parentData,parentDataProperty:s$.default.parentDataProperty,dataNames:[s$.default.data],dataPathArr:[m0.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:$.schema,code:(0,m0.stringify)($.schema)}:{ref:$.schema}),validateName:Q,ValidationError:J,schema:$.schema,schemaEnv:$,rootId:Z,baseId:$.baseId||Z,schemaPath:m0.nil,errSchemaPath:$.schemaPath||(this.opts.jtd?"":"#"),errorPath:m0._`""`,opts:this.opts,self:this},M;try{this._compilations.add($),(0,JB.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let T=G.toString();if(M=`${G.scopeRefs(s$.default.scope)}return ${T}`,this.opts.code.process)M=this.opts.code.process(M,$);let K=Function(`${s$.default.self}`,`${s$.default.scope}`,M)(this,this.scope.get());if(this.scope.value(Q,{ref:K}),K.errors=null,K.schema=$.schema,K.schemaEnv=$,$.$async)K.$async=!0;if(this.opts.code.source===!0)K.source={validateName:Q,validateCode:T,scopeValues:G._values};if(this.opts.unevaluated){let{props:B,items:P}=z;if(K.evaluated={props:B instanceof m0.Name?void 0:B,items:P instanceof m0.Name?void 0:P,dynamicProps:B instanceof m0.Name,dynamicItems:P instanceof m0.Name},K.source)K.source.evaluated=(0,m0.stringify)(K.evaluated)}return $.validate=K,$}catch(T){if(delete $.validate,delete $.validateName,M)this.logger.error("Error compiling schema, function code:",M);throw T}finally{this._compilations.delete($)}}rY.compileSchema=DZ;function QB($,w,Z){var W;Z=(0,l0.resolveUrl)(this.opts.uriResolver,w,Z);let X=$.refs[Z];if(X)return X;let Y=TB.call(this,$,Z);if(Y===void 0){let G=(W=$.localRefs)===null||W===void 0?void 0:W[Z],{schemaId:J}=this.opts;if(G)Y=new _w({schema:G,schemaId:J,root:$,baseId:w})}if(Y===void 0)return;return $.refs[Z]=zB.call(this,Y)}rY.resolveRef=QB;function zB($){if((0,l0.inlineRef)($.schema,this.opts.inlineRefs))return $.schema;return $.validate?$:DZ.call(this,$)}function tY($){for(let w of this._compilations)if(MB(w,$))return w}rY.getCompilingSchema=tY;function MB($,w){return $.schema===w.schema&&$.root===w.root&&$.baseId===w.baseId}function TB($,w){let Z;while(typeof(Z=this.refs[w])=="string")w=Z;return Z||this.schemas[w]||r4.call(this,$,w)}function r4($,w){let Z=this.opts.uriResolver.parse(w),W=(0,l0._getFullPath)(this.opts.uriResolver,Z),X=(0,l0.getFullPath)(this.opts.uriResolver,$.baseId,void 0);if(Object.keys($.schema).length>0&&W===X)return LZ.call(this,Z,$);let Y=(0,l0.normalizeId)(W),G=this.refs[Y]||this.schemas[Y];if(typeof G=="string"){let J=r4.call(this,$,G);if(typeof(J===null||J===void 0?void 0:J.schema)!=="object")return;return LZ.call(this,Z,J)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)DZ.call(this,G);if(Y===(0,l0.normalizeId)(w)){let{schema:J}=G,{schemaId:Q}=this.opts,z=J[Q];if(z)X=(0,l0.resolveUrl)(this.opts.uriResolver,X,z);return new _w({schema:J,schemaId:Q,root:$,baseId:X})}return LZ.call(this,Z,G)}rY.resolveSchema=r4;var NB=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function LZ($,{baseId:w,schema:Z,root:W}){var X;if(((X=$.fragment)===null||X===void 0?void 0:X[0])!=="/")return;for(let J of $.fragment.slice(1).split("/")){if(typeof Z==="boolean")return;let Q=Z[(0,nY.unescapeFragment)(J)];if(Q===void 0)return;Z=Q;let z=typeof Z==="object"&&Z[this.opts.schemaId];if(!NB.has(J)&&z)w=(0,l0.resolveUrl)(this.opts.uriResolver,w,z)}let Y;if(typeof Z!="boolean"&&Z.$ref&&!(0,nY.schemaHasRulesButRef)(Z,this.RULES)){let J=(0,l0.resolveUrl)(this.opts.uriResolver,w,Z.$ref);Y=r4.call(this,W,J)}let{schemaId:G}=this.opts;if(Y=Y||new _w({schema:Z,schemaId:G,root:W,baseId:w}),Y.schema!==Y.root.schema)return Y;return}});var aY=L((gL,qB)=>{qB.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var CZ=L((vL,XG)=>{var UB=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),kZ=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),a$=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),AZ=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),eY=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/]$/u),SZ=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/?]$/u),HB=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:]$/u),L0=Array(256);for(let w=0;w<256;w++)L0[w]="%"+"0123456789ABCDEF"[w>>4]+"0123456789ABCDEF"[w&15];function K0($){if($<2048)return L0[192|$>>6]+L0[128|$&63];if($<65536)return L0[224|$>>12]+L0[128|$>>6&63]+L0[128|$&63];return L0[240|$>>18]+L0[128|$>>12&63]+L0[128|$>>6&63]+L0[128|$&63]}function FB($){let w="",Z=0,W=0;for(W=0;W<$.length;W++){if(Z=$[W].charCodeAt(0),Z===48)continue;if(!(Z>=48&&Z<=57||Z>=65&&Z<=70||Z>=97&&Z<=102))return"";w+=$[W];break}for(W+=1;W<$.length;W++){if(Z=$[W].charCodeAt(0),!(Z>=48&&Z<=57||Z>=65&&Z<=70||Z>=97&&Z<=102))return"";w+=$[W]}return w}var OB=RegExp.prototype.test.bind(/^[\dA-Fa-f]{1,4}$/),EB=RegExp.prototype.test.bind(/^[vV][\dA-Fa-f]+\.[A-Za-z\d\-._~!$&'()*+,;=:]+$/),LB=RegExp.prototype.test.bind(/^[A-Za-z\d\-._~]$/),DB=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function fB($){if($.length===0)return!1;for(let w=0;w<$.length;w++){if(LB($[w]))continue;if($[w]==="%"&&w+2<$.length&&a$($.slice(w+1,w+3))){w+=2;continue}return!1}return!0}function oY($){let w=-1,Z=0,W=-1,X=0;for(let J=0;J<$.length;J++)if($[J]==="0"){if(W===-1)W=J;if(X++,X>Z)Z=X,w=W}else W=-1,X=0;if(Z<2)return $.join(":");let Y=$.slice(0,w).join(":"),G=$.slice(w+Z).join(":");return Y+"::"+G}function kB($){let w=$.indexOf("::");if(w!==-1&&$.indexOf("::",w+1)!==-1)return;let Z=w===-1?$.split(":"):$.slice(0,w).split(":"),W=w===-1?[]:$.slice(w+2).split(":");if(w!==-1){if(Z.length===1&&Z[0]==="")Z.length=0;if(W.length===1&&W[0]==="")W.length=0}let X=Z.concat(W),Y=0;for(let J=0;J<X.length;J++){let Q=X[J];if(Q==="")return;if(Q.indexOf(".")!==-1){if(J!==X.length-1||w!==-1&&W.length===0||!kZ(Q))return;Y+=2;continue}if(!OB(Q))return;X[J]=parseInt(Q,16).toString(16),Y++}if(w===-1){if(Y!==8)return;return oY(X)}if(Y>=8)return;let G=X.slice(0,Z.length);for(let J=Y;J<8;J++)G.push("0");for(let J=Z.length;J<X.length;J++)G.push(X[J]);return oY(G)}function fZ($){let w=$[0]==="["&&$[$.length-1]==="]";if(($[0]==="["||$[$.length-1]==="]")&&!w)return{host:$,isIPV6:!1,error:!0};let W=w?$.slice(1,-1):$;if(w&&EB(W))return W=W.toLowerCase(),{host:`[${W}]`,escapedHost:W,isIPV6:!1,isIPVFuture:!0};if(AB(W,":")<2)return{host:$,isIPV6:!1,error:w};let X="",Y=W.indexOf("%");if(Y!==-1){let J=W.slice(Y,Y+3).toLowerCase()==="%25"?3:1;if(X=W.slice(Y+J),!fB(X))return{host:$,isIPV6:!1,error:!0};W=W.slice(0,Y)}let G=kB(W);if(G===void 0)return{host:$,isIPV6:!1,error:!0};return{host:G+(X?"%"+X:""),escapedHost:G+(X?"%25"+X:""),isIPV6:!0}}function AB($,w){let Z=0;for(let W=0;W<$.length;W++)if($[W]===w)Z++;return Z}function SB($){let w=$,Z=[],W=-1,X=0;while(X=w.length){if(X===1)if(w===".")break;else if(w==="/"){Z.push("/");break}else{Z.push(w);break}else if(X===2){if(w[0]==="."){if(w[1]===".")break;else if(w[1]==="/"){w=w.slice(2);continue}}else if(w[0]==="/"){if(w[1]==="."||w[1]==="/"){Z.push("/");break}}}else if(X===3){if(w==="/.."){if(Z.length!==0)Z.pop();Z.push("/");break}}if(w[0]==="."){if(w[1]==="."){if(w[2]==="/"){w=w.slice(3);continue}}else if(w[1]==="/"){w=w.slice(2);continue}}else if(w[0]==="/"){if(w[1]==="."){if(w[2]==="/"){w=w.slice(2);continue}else if(w[2]==="."){if(w[3]==="/"){if(w=w.slice(3),Z.length!==0)Z.pop();continue}}}}if((W=w.indexOf("/",1))===-1){Z.push(w);break}else Z.push(w.slice(0,W)),w=w.slice(W)}return Z.join("")}var RB={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},CB=/[@/?#:]/g,jB=/[@/?#]/g;function $G($,w){let Z=w?jB:CB;return Z.lastIndex=0,$.replace(Z,(W)=>RB[W])}function wG($,w=!1){if($.indexOf("%")===-1)return $;let Z="";for(let W=0;W<$.length;W++){if($[W]==="%"&&W+2<$.length){let X=$.slice(W+1,W+3);if(a$(X)){let Y=X.toUpperCase(),G=String.fromCharCode(parseInt(Y,16));if(w&&AZ(G))Z+=G;else Z+="%"+Y;W+=2;continue}}Z+=$[W]}return Z}function IB($){let w="";for(let Z=0;Z<$.length;Z++){let W=$[Z];if(W==="%"&&Z+2<$.length){let X=$.slice(Z+1,Z+3);if(a$(X)){let Y=X.toUpperCase(),G=String.fromCharCode(parseInt(Y,16));if(G!=="."&&AZ(G))w+=G;else w+="%"+Y;Z+=2;continue}}if(eY(W))w+=W;else{let X=$.charCodeAt(Z);if(X<128)w+=WG(X)?W:L0[X];else if(X<55296||X>57343)w+=K0(X);else if(X<=56319&&Z+1<$.length){let Y=$.charCodeAt(Z+1);if(Y>=56320&&Y<=57343)w+=K0(65536+(X-55296<<10)+(Y-56320)),Z++;else w+=K0(65533)}else w+=K0(65533)}}return w}function yB($,w=!1){let Z="",W=w&&$[0]!=="/";for(let X=0;X<$.length;X++){let Y=$[X];if(Y==="%"&&X+2<$.length){let G=$.slice(X+1,X+3);if(a$(G)){Z+="%"+G.toUpperCase(),X+=2;continue}}if(Y==="/")W=!1;if(eY(Y)&&(Y!==":"||!W))Z+=Y;else{let G=$.charCodeAt(X);if(G<128)Z+=L0[G];else if(G<55296||G>57343)Z+=K0(G);else if(G<=56319&&X+1<$.length){let J=$.charCodeAt(X+1);if(J>=56320&&J<=57343)Z+=K0(65536+(G-55296<<10)+(J-56320)),X++;else Z+=K0(65533)}else Z+=K0(65533)}}return Z}function RZ($,w){let Z="";for(let W=0;W<$.length;W++){let X=$[W];if(X==="%"&&W+2<$.length){let Y=$.slice(W+1,W+3);if(a$(Y)){Z+="%"+Y.toUpperCase(),W+=2;continue}}if(w(X))Z+=X;else{let Y=$.charCodeAt(W);if(Y<128)Z+=L0[Y];else if(Y<55296||Y>57343)Z+=K0(Y);else if(Y<=56319&&W+1<$.length){let G=$.charCodeAt(W+1);if(G>=56320&&G<=57343)Z+=K0(65536+(Y-55296<<10)+(G-56320)),W++;else Z+=K0(65533)}else Z+=K0(65533)}}return Z}function ZG($){return RZ($,HB)}function bB($){return RZ($,SZ)}function xB($){return RZ($,SZ)}function WG($){return $>=48&&$<=57||$>=65&&$<=90||$>=97&&$<=122||$===42||$===43||$===45||$===46||$===47||$===64||$===95}function _B($){let w="";for(let Z=0;Z<$.length;Z++){let W=$[Z];if(W==="%"&&Z+2<$.length){let X=$.slice(Z+1,Z+3);if(a$(X)){let Y=X.toUpperCase(),G=String.fromCharCode(parseInt(Y,16));if(AZ(G))w+=G;else w+="%"+Y;Z+=2;continue}}if(SZ(W))w+=W;else{let X=$.charCodeAt(Z);if(X<128)w+=WG(X)?W:L0[X];else if(X<55296||X>57343)w+=K0(X);else if(X<=56319&&Z+1<$.length){let Y=$.charCodeAt(Z+1);if(Y>=56320&&Y<=57343)w+=K0(65536+(X-55296<<10)+(Y-56320)),Z++;else w+=K0(65533)}else w+=K0(65533)}}return w}function gB($){let w="";for(let Z=0;Z<$.length;Z++){if($[Z]==="%"&&Z+2<$.length){let W=$.slice(Z+1,Z+3);if(a$(W)){w+="%"+W.toUpperCase(),Z+=2;continue}}w+=escape($[Z])}return w}function vB($){let w=[];if($.userinfo!==void 0)w.push(ZG($.userinfo)),w.push("@");if($.host!==void 0){let Z=$.host;if(!kZ(Z)){let W=fZ(Z);if(W.isIPV6!==!0&&W.isIPVFuture!==!0)Z=wG(Z,!0),W=fZ(Z);if(W.isIPV6===!0||W.isIPVFuture===!0)Z=`[${W.escapedHost}]`;else Z=$G(Z,!1)}w.push(Z)}if(typeof $.port==="number"||typeof $.port==="string")w.push(":"),w.push(String($.port));return w.length?w.join(""):void 0}XG.exports={nonSimpleDomain:DB,recomposeAuthority:vB,reescapeHostDelimiters:$G,normalizePercentEncoding:wG,normalizePathEncoding:IB,serializePathEncoding:yB,normalizeQueryFragmentEncoding:_B,encodeUserinfo:ZG,encodeQuery:bB,encodeFragment:xB,escapePreservingEscapes:gB,removeDotSegments:SB,isIPv4:kZ,isUUID:UB,normalizeIPv6:fZ,stringArrayToHexStripped:FB}});var zG=L((uL,QG)=>{var{isUUID:uB}=CZ(),hB=/^([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-./:;=@]|%[\da-f]{2})+)$/iu,iB=["http","https","ws","wss","urn","urn:uuid"];function mB($){return iB.indexOf($)!==-1}function jZ($){if($.secure===!0)return!0;else if($.secure===!1)return!1;else if($.scheme)return $.scheme.length===3&&($.scheme[0]==="w"||$.scheme[0]==="W")&&($.scheme[1]==="s"||$.scheme[1]==="S")&&($.scheme[2]==="s"||$.scheme[2]==="S");else return!1}function YG($){if(!$.host)$.error=$.error||"HTTP URIs must have a host.";return $}function GG($){let w=String($.scheme).toLowerCase()==="https";if($.port===(w?443:80)||$.port==="")$.port=void 0;if(!$.path)$.path="/";return $}function lB($){return $.secure=jZ($),$.resourceName=($.path||"/")+($.query?"?"+$.query:""),$.path=void 0,$.query=void 0,$}function cB($){if($.port===(jZ($)?443:80)||$.port==="")$.port=void 0;if(typeof $.secure==="boolean")$.scheme=$.secure?"wss":"ws",$.secure=void 0;if($.resourceName){let w=$.resourceName.indexOf("?"),Z=w===-1?$.resourceName:$.resourceName.slice(0,w);$.path=Z&&Z!=="/"?Z:void 0,$.query=w===-1?void 0:$.resourceName.slice(w+1),$.resourceName=void 0}return $.fragment=void 0,$}function dB($,w){if(!$.path)return $.error="URN can not be parsed",$;let Z=$.path.match(hB);if(Z&&Z[0]===$.path){let W=w.scheme||$.scheme||"urn";$.nid=Z[1].toLowerCase(),$.nss=Z[2];let X=`${W}:${w.nid||$.nid}`,Y=IZ(X);if($.path=void 0,Y)$=Y.parse($,w)}else $.error=$.error||"URN can not be parsed.";return $}function pB($,w){if($.nid===void 0)throw Error("URN without nid cannot be serialized");let Z=w.scheme||$.scheme||"urn",W=$.nid.toLowerCase(),X=`${Z}:${w.nid||W}`,Y=IZ(X);if(Y)$=Y.serialize($,w);let G=$,J=$.nss;return G.path=`${W||w.nid}:${J}`,w.skipEscape=!0,G}function nB($,w){let Z=$;if(Z.uuid=Z.nss,Z.nss=void 0,!w.tolerant&&(!Z.uuid||!uB(Z.uuid)))Z.error=Z.error||"UUID is not valid.";return Z}function tB($){let w=$;return w.nss=($.uuid||"").toLowerCase(),w}var JG={scheme:"http",domainHost:!0,parse:YG,serialize:GG},rB={scheme:"https",domainHost:JG.domainHost,parse:YG,serialize:GG},a4={scheme:"ws",domainHost:!0,parse:lB,serialize:cB},sB={scheme:"wss",domainHost:a4.domainHost,parse:a4.parse,serialize:a4.serialize},aB={scheme:"urn",parse:dB,serialize:pB,skipNormalize:!0},oB={scheme:"urn:uuid",parse:nB,serialize:tB,skipNormalize:!0},o4={http:JG,https:rB,ws:a4,wss:sB,urn:aB,"urn:uuid":oB};Object.setPrototypeOf(o4,null);function IZ($){return $&&(o4[$]||o4[$.toLowerCase()])||void 0}QG.exports={wsIsSecure:jZ,SCHEMES:o4,isValidSchemeName:mB,getSchemeHandler:IZ}});var EG=L((hL,w8)=>{var{normalizeIPv6:BG,removeDotSegments:vw,recomposeAuthority:eB,normalizePercentEncoding:VG,normalizePathEncoding:$V,serializePathEncoding:MG,normalizeQueryFragmentEncoding:TG,encodeQuery:wV,encodeFragment:ZV,reescapeHostDelimiters:WV,isIPv4:PG,nonSimpleDomain:XV}=CZ(),{SCHEMES:qG,getSchemeHandler:yZ}=zG(),UG=/^[A-Za-z][A-Za-z0-9+.-]*$/u;function NG($){let w=unescape(String($));if(!UG.test(w))throw TypeError("URI scheme is malformed.");return w}function YV($,w){if(typeof $==="string")$=KV($,w);else if(typeof $==="object")$=$8(o$($,w),w);return $}function GV($,w,Z){let W=Z?Object.assign({scheme:"null"},Z):{scheme:"null"},{parsed:X,malformedAuthorityOrPort:Y,malformedPercentEncoding:G,malformedSchemeSpecific:J,malformedHost:Q,malformedScheme:z}=e4($,W),{parsed:M,malformedAuthorityOrPort:T,malformedPercentEncoding:N,malformedSchemeSpecific:K,malformedHost:B,malformedScheme:P}=e4(w,W);if(Y||T||G||N||J||K||Q||B||z||P)throw Error(X.error||M.error||"URI is malformed.");let q=HG(X,M,W,!0),U=yZ(Z&&Z.scheme||q.scheme),O=q.host,f=O!==void 0&&O!==""&&(PG(O)||BG(O).isIPV6);FG(q,Z||{},U,f);let C=O&&O.indexOf("%")!==-1&&!/\P{ASCII}/u.test(O);if(q.error&&!C)throw Error(q.error);return W.skipEscape=!0,o$(q,W)}function HG($,w,Z,W){let X={};if(!W)$=$8(o$($,Z),Z),w=$8(o$(w,Z),Z);if(Z=Z||{},!Z.tolerant&&w.scheme)X.scheme=w.scheme,X.userinfo=w.userinfo,X.host=w.host,X.port=w.port,X.path=vw(w.path||""),X.query=w.query;else{if(w.userinfo!==void 0||w.host!==void 0||w.port!==void 0)X.userinfo=w.userinfo,X.host=w.host,X.port=w.port,X.path=vw(w.path||""),X.query=w.query;else{if(!w.path)if(X.path=$.path,w.query!==void 0)X.query=w.query;else X.query=$.query;else{if(w.path[0]==="/")X.path=vw(w.path);else{if(($.userinfo!==void 0||$.host!==void 0||$.port!==void 0)&&!$.path)X.path="/"+w.path;else if(!$.path)X.path=w.path;else X.path=$.path.slice(0,$.path.lastIndexOf("/")+1)+w.path;X.path=vw(X.path)}X.query=w.query}X.userinfo=$.userinfo,X.host=$.host,X.port=$.port}X.scheme=$.scheme}return X.fragment=w.fragment,X}function JV($,w,Z){let W=KG($,Z),X=KG(w,Z);return W!==void 0&&X!==void 0&&W===X}function o$($,w){let Z={host:$.host,scheme:$.scheme,userinfo:$.userinfo,port:$.port,path:$.path,query:$.query,nid:$.nid,nss:$.nss,uuid:$.uuid,fragment:$.fragment,reference:$.reference,resourceName:$.resourceName,secure:$.secure,error:""},W=Object.assign({},w),X=[];if(Z.scheme)Z.scheme=NG(Z.scheme);let Y=yZ(W.scheme||Z.scheme);if(Y&&Y.serialize)Y.serialize(Z,W);let G=Z.userinfo!==void 0||Z.host!==void 0||Z.port!==void 0,J=!W.skipEscape&&Z.scheme===void 0&&!G;if(Z.path!==void 0)if(!W.skipEscape)Z.path=MG(Z.path,J);else Z.path=VG(Z.path);if(W.reference!=="suffix"&&Z.scheme)Z.scheme=NG(Z.scheme),X.push(Z.scheme,":");let Q=eB(Z);if(Q!==void 0){if(W.reference!=="suffix")X.push("//");if(X.push(Q),Z.path&&Z.path[0]!=="/")X.push("/")}if(Z.path!==void 0){let z=Z.path;if(!W.absolutePath&&(!Y||!Y.absolutePath))z=vw(z);if(J)z=MG(z,!0);if(Q===void 0&&z[0]==="/"&&z[1]==="/")z="/%2F"+z.slice(2);X.push(z)}if(Z.query!==void 0)X.push("?",wV(Z.query));if(Z.fragment!==void 0)X.push("#",ZV(Z.fragment));return X.join("")}var QV=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,zV=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/,MV=/^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;function TV($,w){if(w[2]!==void 0&&$.path&&$.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof $.port==="number"&&($.port<0||$.port>65535))return"URI port is malformed.";return}function gw($){if($===void 0)return!1;let w=$.indexOf("%");while(w!==-1){if(w+2>=$.length||!/^[\da-f]{2}$/iu.test($.slice(w+1,w+3)))return!0;w=$.indexOf("%",w+3)}return!1}function NV($){let w=$[4];return gw($[3])||w!==void 0&&!(w[0]==="["&&w[w.length-1]==="]")&&gw(w)||gw($[6])||gw($[7])||gw($[8])}function FG($,w,Z,W){if(!w.unicodeSupport&&(!Z||!Z.unicodeSupport)&&$.host&&$.host[0]!=="["&&(w.domainHost||Z&&Z.domainHost)&&W===!1&&XV($.host))try{$.host=new URL("http://"+$.host).hostname}catch(X){return $.error=$.error||"Host's domain name can not be converted to ASCII: "+X,!0}return!1}function e4($,w){let Z=Object.assign({},w),W={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},X=!1,Y=!1,G=!1,J=!1,Q=!1,z=!1,M=!1;if(Z.reference==="suffix")if(Z.scheme)$=Z.scheme+":"+$;else $="//"+$;let T=$.match(zV);if(T!==null&&T[1].indexOf("\\")!==-1)W.error="URI authority must not contain a literal backslash.",X=!0;let N=$.match(MV);if(N!==null){let B=N[1],P=B.replace(/[\t\n\r]/g,"");if(P.length>=2){if(P.slice(0,2)!=="//")W.error=W.error||"URI authority must not contain a literal backslash.",X=!0;else if(B.length!==P.length)W.error=W.error||"URI authority introducer must not contain whitespace.",X=!0}}let K=$.match(QV);if(K){if(W.scheme=K[1],W.userinfo=K[3],W.host=K[4],W.port=parseInt(K[5],10),W.path=K[6]||"",W.query=K[7],W.fragment=K[8],W.scheme!==void 0){let q=unescape(W.scheme);if(UG.test(q))W.scheme=q.toLowerCase();else W.error=W.error||"URI scheme is malformed.",z=!0}if(Y=NV(K),Y)W.error=W.error||"URI contains malformed percent-encoding.";if(isNaN(W.port))W.port=K[5];let B=TV(W,K);if(B!==void 0)W.error=W.error||B,X=!0;if(W.host)if(PG(W.host)===!1){let U=W.host[0]==="["&&W.host[W.host.length-1]==="]",O=BG(W.host);if(M=O.isIPV6||O.isIPVFuture===!0,Q=U&&O.error===!0,W.host=M?O.host:O.host.toLowerCase(),Q)W.error=W.error||"URI host is malformed.",X=!0}else M=!0;if(W.scheme===void 0&&W.userinfo===void 0&&W.host===void 0&&W.port===void 0&&W.query===void 0&&!W.path)W.reference="same-document";else if(W.scheme===void 0)W.reference="relative";else if(W.fragment===void 0)W.reference="absolute";else W.reference="uri";if(Z.reference&&Z.reference!=="suffix"&&Z.reference!==W.reference)W.error=W.error||"URI is not a "+Z.reference+" reference.";let P=yZ(Z.scheme||W.scheme);if(J=FG(W,Z,P,M),!P||P&&!P.skipNormalize){if($.indexOf("%")!==-1){if(W.host!==void 0&&!Q){let q=M?W.host:VG(W.host,!0);W.host=WV(q,M)}}if(W.path)W.path=$V(W.path);if(W.query)W.query=TG(W.query);if(W.fragment)W.fragment=TG(W.fragment)}if(P&&P.parse){if(P.parse(W,Z),P===qG.urn&&W.nid===void 0)G=!0}}else W.error=W.error||"URI can not be parsed.";return{parsed:W,malformedAuthorityOrPort:X,malformedPercentEncoding:Y,malformedSchemeSpecific:G,malformedHost:J,malformedScheme:z}}function $8($,w){return e4($,w).parsed}function KV($,w){return OG($,w).normalized}function OG($,w){let{parsed:Z,malformedAuthorityOrPort:W,malformedPercentEncoding:X,malformedSchemeSpecific:Y,malformedHost:G,malformedScheme:J}=e4($,w);return{normalized:W||X||Y||G||J?$:o$(Z,w),malformedAuthorityOrPort:W,malformedPercentEncoding:X,malformedSchemeSpecific:Y,malformedHost:G,malformedScheme:J}}function KG($,w){if(typeof $!=="string"&&typeof $!=="object")return;let Z;try{Z=typeof $==="string"?$:o$($,w)}catch{return}let{normalized:W,malformedAuthorityOrPort:X,malformedPercentEncoding:Y,malformedSchemeSpecific:G,malformedHost:J,malformedScheme:Q}=OG(Z,w);return X||Y||G||J||Q?void 0:W}var bZ={SCHEMES:qG,normalize:YV,resolve:GV,resolveComponent:HG,equal:JV,serialize:o$,parse:$8};w8.exports=bZ;w8.exports.default=bZ;w8.exports.fastUri=bZ});var fG=L((DG)=>{Object.defineProperty(DG,"__esModule",{value:!0});var LG=EG();LG.code='require("ajv/dist/runtime/uri").default';DG.default=LG});var yG=L((J$)=>{Object.defineProperty(J$,"__esModule",{value:!0});J$.CodeGen=J$.Name=J$.nil=J$.stringify=J$.str=J$._=J$.KeywordCxt=void 0;var VV=bw();Object.defineProperty(J$,"KeywordCxt",{enumerable:!0,get:function(){return VV.KeywordCxt}});var _1=v();Object.defineProperty(J$,"_",{enumerable:!0,get:function(){return _1._}});Object.defineProperty(J$,"str",{enumerable:!0,get:function(){return _1.str}});Object.defineProperty(J$,"stringify",{enumerable:!0,get:function(){return _1.stringify}});Object.defineProperty(J$,"nil",{enumerable:!0,get:function(){return _1.nil}});Object.defineProperty(J$,"Name",{enumerable:!0,get:function(){return _1.Name}});Object.defineProperty(J$,"CodeGen",{enumerable:!0,get:function(){return _1.CodeGen}});var PV=t4(),CG=xw(),qV=QZ(),uw=s4(),UV=v(),hw=jw(),Z8=Cw(),_Z=l(),kG=aY(),HV=fG(),jG=($,w)=>new RegExp($,w);jG.code="new RegExp";var FV=["removeAdditional","useDefaults","coerceTypes"],OV=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),EV={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."},LV={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},AG=200;function DV($){var w,Z,W,X,Y,G,J,Q,z,M,T,N,K,B,P,q,U,O,f,C,A,u,i,r,z0;let h=$.strict,q0=(w=$.code)===null||w===void 0?void 0:w.optimize,p$=q0===!0||q0===void 0?1:q0||0,Z$=(W=(Z=$.code)===null||Z===void 0?void 0:Z.regExp)!==null&&W!==void 0?W:jG,S1=(X=$.uriResolver)!==null&&X!==void 0?X:HV.default;return{strictSchema:(G=(Y=$.strictSchema)!==null&&Y!==void 0?Y:h)!==null&&G!==void 0?G:!0,strictNumbers:(Q=(J=$.strictNumbers)!==null&&J!==void 0?J:h)!==null&&Q!==void 0?Q:!0,strictTypes:(M=(z=$.strictTypes)!==null&&z!==void 0?z:h)!==null&&M!==void 0?M:"log",strictTuples:(N=(T=$.strictTuples)!==null&&T!==void 0?T:h)!==null&&N!==void 0?N:"log",strictRequired:(B=(K=$.strictRequired)!==null&&K!==void 0?K:h)!==null&&B!==void 0?B:!1,code:$.code?{...$.code,optimize:p$,regExp:Z$}:{optimize:p$,regExp:Z$},loopRequired:(P=$.loopRequired)!==null&&P!==void 0?P:AG,loopEnum:(q=$.loopEnum)!==null&&q!==void 0?q:AG,meta:(U=$.meta)!==null&&U!==void 0?U:!0,messages:(O=$.messages)!==null&&O!==void 0?O:!0,inlineRefs:(f=$.inlineRefs)!==null&&f!==void 0?f:!0,schemaId:(C=$.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(A=$.addUsedSchema)!==null&&A!==void 0?A:!0,validateSchema:(u=$.validateSchema)!==null&&u!==void 0?u:!0,validateFormats:(i=$.validateFormats)!==null&&i!==void 0?i:!0,unicodeRegExp:(r=$.unicodeRegExp)!==null&&r!==void 0?r:!0,int32range:(z0=$.int32range)!==null&&z0!==void 0?z0:!0,uriResolver:S1}}class W8{constructor($={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,$=this.opts={...$,...DV($)};let{es5:w,lines:Z}=this.opts.code;this.scope=new UV.ValueScope({scope:{},prefixes:OV,es5:w,lines:Z}),this.logger=CV($.logger);let W=$.validateFormats;if($.validateFormats=!1,this.RULES=(0,qV.getRules)(),SG.call(this,EV,$,"NOT SUPPORTED"),SG.call(this,LV,$,"DEPRECATED","warn"),this._metaOpts=SV.call(this),$.formats)kV.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),$.keywords)AV.call(this,$.keywords);if(typeof $.meta=="object")this.addMetaSchema($.meta);fV.call(this),$.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:$,meta:w,schemaId:Z}=this.opts,W=kG;if(Z==="id")W={...kG},W.id=W.$id,delete W.$id;if(w&&$)this.addMetaSchema(W,W[Z],!1)}defaultMeta(){let{meta:$,schemaId:w}=this.opts;return this.opts.defaultMeta=typeof $=="object"?$[w]||$:void 0}validate($,w){let Z;if(typeof $=="string"){if(Z=this.getSchema($),!Z)throw Error(`no schema with key or ref "${$}"`)}else Z=this.compile($);let W=Z(w);if(!("$async"in Z))this.errors=Z.errors;return W}compile($,w){let Z=this._addSchema($,w);return Z.validate||this._compileSchemaEnv(Z)}compileAsync($,w){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Z}=this.opts;return W.call(this,$,w);async function W(z,M){await X.call(this,z.$schema);let T=this._addSchema(z,M);return T.validate||Y.call(this,T)}async function X(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function Y(z){try{return this._compileSchemaEnv(z)}catch(M){if(!(M instanceof CG.default))throw M;return G.call(this,M),await J.call(this,M.missingSchema),Y.call(this,z)}}function G({missingSchema:z,missingRef:M}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${M} cannot be resolved`)}async function J(z){let M=await Q.call(this,z);if(!this.refs[z])await X.call(this,M.$schema);if(!this.refs[z])this.addSchema(M,z,w)}async function Q(z){let M=this._loading[z];if(M)return M;try{return await(this._loading[z]=Z(z))}finally{delete this._loading[z]}}}addSchema($,w,Z,W=this.opts.validateSchema){if(Array.isArray($)){for(let Y of $)this.addSchema(Y,void 0,Z,W);return this}let X;if(typeof $==="object"){let{schemaId:Y}=this.opts;if(X=$[Y],X!==void 0&&typeof X!="string")throw Error(`schema ${Y} must be string`)}return w=(0,hw.normalizeId)(w||X),this._checkUnique(w),this.schemas[w]=this._addSchema($,Z,w,W,!0),this}addMetaSchema($,w,Z=this.opts.validateSchema){return this.addSchema($,w,!0,Z),this}validateSchema($,w){if(typeof $=="boolean")return!0;let Z;if(Z=$.$schema,Z!==void 0&&typeof Z!="string")throw Error("$schema must be a string");if(Z=Z||this.opts.defaultMeta||this.defaultMeta(),!Z)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Z,$);if(!W&&w){let X="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(X);else throw Error(X)}return W}getSchema($){let w;while(typeof(w=RG.call(this,$))=="string")$=w;if(w===void 0){let{schemaId:Z}=this.opts,W=new uw.SchemaEnv({schema:{},schemaId:Z});if(w=uw.resolveSchema.call(this,W,$),!w)return;this.refs[$]=w}return w.validate||this._compileSchemaEnv(w)}removeSchema($){if($ instanceof RegExp)return this._removeAllSchemas(this.schemas,$),this._removeAllSchemas(this.refs,$),this;switch(typeof $){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let w=RG.call(this,$);if(typeof w=="object")this._cache.delete(w.schema);return delete this.schemas[$],delete this.refs[$],this}case"object":{let w=$;this._cache.delete(w);let Z=$[this.opts.schemaId];if(Z)Z=(0,hw.normalizeId)(Z),delete this.schemas[Z],delete this.refs[Z];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary($){for(let w of $)this.addKeyword(w);return this}addKeyword($,w){let Z;if(typeof $=="string"){if(Z=$,typeof w=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),w.keyword=Z}else if(typeof $=="object"&&w===void 0){if(w=$,Z=w.keyword,Array.isArray(Z)&&!Z.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(IV.call(this,Z,w),!w)return(0,_Z.eachItem)(Z,(X)=>xZ.call(this,X)),this;bV.call(this,w);let W={...w,type:(0,Z8.getJSONTypes)(w.type),schemaType:(0,Z8.getJSONTypes)(w.schemaType)};return(0,_Z.eachItem)(Z,W.type.length===0?(X)=>xZ.call(this,X,W):(X)=>W.type.forEach((Y)=>xZ.call(this,X,W,Y))),this}getKeyword($){let w=this.RULES.all[$];return typeof w=="object"?w.definition:!!w}removeKeyword($){let{RULES:w}=this;delete w.keywords[$],delete w.all[$];for(let Z of w.rules){let W=Z.rules.findIndex((X)=>X.keyword===$);if(W>=0)Z.rules.splice(W,1)}return this}addFormat($,w){if(typeof w=="string")w=new RegExp(w);return this.formats[$]=w,this}errorsText($=this.errors,{separator:w=", ",dataVar:Z="data"}={}){if(!$||$.length===0)return"No errors";return $.map((W)=>`${Z}${W.instancePath} ${W.message}`).reduce((W,X)=>W+w+X)}$dataMetaSchema($,w){let Z=this.RULES.all;$=JSON.parse(JSON.stringify($));for(let W of w){let X=W.split("/").slice(1),Y=$;for(let G of X)Y=Y[G];for(let G in Z){let J=Z[G];if(typeof J!="object")continue;let{$data:Q}=J.definition,z=Y[G];if(Q&&z)Y[G]=IG(z)}}return $}_removeAllSchemas($,w){for(let Z in $){let W=$[Z];if(!w||w.test(Z)){if(typeof W=="string")delete $[Z];else if(W&&!W.meta)this._cache.delete(W.schema),delete $[Z]}}}_addSchema($,w,Z,W=this.opts.validateSchema,X=this.opts.addUsedSchema){let Y,{schemaId:G}=this.opts;if(typeof $=="object")Y=$[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof $!="boolean")throw Error("schema must be object or boolean");let J=this._cache.get($);if(J!==void 0)return J;Z=(0,hw.normalizeId)(Y||Z);let Q=hw.getSchemaRefs.call(this,$,Z);if(J=new uw.SchemaEnv({schema:$,schemaId:G,meta:w,baseId:Z,localRefs:Q}),this._cache.set(J.schema,J),X&&!Z.startsWith("#")){if(Z)this._checkUnique(Z);this.refs[Z]=J}if(W)this.validateSchema($,!0);return J}_checkUnique($){if(this.schemas[$]||this.refs[$])throw Error(`schema with key or id "${$}" already exists`)}_compileSchemaEnv($){if($.meta)this._compileMetaSchema($);else uw.compileSchema.call(this,$);if(!$.validate)throw Error("ajv implementation error");return $.validate}_compileMetaSchema($){let w=this.opts;this.opts=this._metaOpts;try{uw.compileSchema.call(this,$)}finally{this.opts=w}}}W8.ValidationError=PV.default;W8.MissingRefError=CG.default;J$.default=W8;function SG($,w,Z,W="error"){for(let X in $){let Y=X;if(Y in w)this.logger[W](`${Z}: option ${X}. ${$[Y]}`)}}function RG($){return $=(0,hw.normalizeId)($),this.schemas[$]||this.refs[$]}function fV(){let $=this.opts.schemas;if(!$)return;if(Array.isArray($))this.addSchema($);else for(let w in $)this.addSchema($[w],w)}function kV(){for(let $ in this.opts.formats){let w=this.opts.formats[$];if(w)this.addFormat($,w)}}function AV($){if(Array.isArray($)){this.addVocabulary($);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let w in $){let Z=$[w];if(!Z.keyword)Z.keyword=w;this.addKeyword(Z)}}function SV(){let $={...this.opts};for(let w of FV)delete $[w];return $}var RV={log(){},warn(){},error(){}};function CV($){if($===!1)return RV;if($===void 0)return console;if($.log&&$.warn&&$.error)return $;throw Error("logger must implement log, warn and error methods")}var jV=/^[a-z_$][a-z0-9_$:-]*$/i;function IV($,w){let{RULES:Z}=this;if((0,_Z.eachItem)($,(W)=>{if(Z.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!jV.test(W))throw Error(`Keyword ${W} has invalid name`)}),!w)return;if(w.$data&&!(("code"in w)||("validate"in w)))throw Error('$data keyword must have "code" or "validate" function')}function xZ($,w,Z){var W;let X=w===null||w===void 0?void 0:w.post;if(Z&&X)throw Error('keyword with "post" flag cannot have "type"');let{RULES:Y}=this,G=X?Y.post:Y.rules.find(({type:Q})=>Q===Z);if(!G)G={type:Z,rules:[]},Y.rules.push(G);if(Y.keywords[$]=!0,!w)return;let J={keyword:$,definition:{...w,type:(0,Z8.getJSONTypes)(w.type),schemaType:(0,Z8.getJSONTypes)(w.schemaType)}};if(w.before)yV.call(this,G,J,w.before);else G.rules.push(J);Y.all[$]=J,(W=w.implements)===null||W===void 0||W.forEach((Q)=>this.addKeyword(Q))}function yV($,w,Z){let W=$.rules.findIndex((X)=>X.keyword===Z);if(W>=0)$.rules.splice(W,0,w);else $.rules.push(w),this.logger.warn(`rule ${Z} is not defined`)}function bV($){let{metaSchema:w}=$;if(w===void 0)return;if($.$data&&this.opts.$data)w=IG(w);$.validateSchema=this.compile(w,!0)}var xV={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function IG($){return{anyOf:[$,xV]}}});var xG=L((bG)=>{Object.defineProperty(bG,"__esModule",{value:!0});var vV={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};bG.default=vV});var iG=L((uG)=>{Object.defineProperty(uG,"__esModule",{value:!0});uG.callRef=uG.getValidate=void 0;var hV=xw(),_G=_0(),D0=v(),g1=Y$(),gG=s4(),X8=l(),iV={keyword:"$ref",schemaType:"string",code($){let{gen:w,schema:Z,it:W}=$,{baseId:X,schemaEnv:Y,validateName:G,opts:J,self:Q}=W,{root:z}=Y;if((Z==="#"||Z==="#/")&&X===z.baseId)return T();let M=gG.resolveRef.call(Q,z,X,Z);if(M===void 0)throw new hV.default(W.opts.uriResolver,X,Z);if(M instanceof gG.SchemaEnv)return N(M);return K(M);function T(){if(Y===z)return Y8($,G,Y,Y.$async);let B=w.scopeValue("root",{ref:z});return Y8($,D0._`${B}.validate`,z,z.$async)}function N(B){let P=vG($,B);Y8($,P,B,B.$async)}function K(B){let P=w.scopeValue("schema",J.code.source===!0?{ref:B,code:(0,D0.stringify)(B)}:{ref:B}),q=w.name("valid"),U=$.subschema({schema:B,dataTypes:[],schemaPath:D0.nil,topSchemaRef:P,errSchemaPath:Z},q);$.mergeEvaluated(U),$.ok(q)}}};function vG($,w){let{gen:Z}=$;return w.validate?Z.scopeValue("validate",{ref:w.validate}):D0._`${Z.scopeValue("wrapper",{ref:w})}.validate`}uG.getValidate=vG;function Y8($,w,Z,W){let{gen:X,it:Y}=$,{allErrors:G,schemaEnv:J,opts:Q}=Y,z=Q.passContext?g1.default.this:D0.nil;if(W)M();else T();function M(){if(!J.$async)throw Error("async schema referenced by sync schema");let B=X.let("valid");X.try(()=>{if(X.code(D0._`await ${(0,_G.callValidateCode)($,w,z)}`),K(w),!G)X.assign(B,!0)},(P)=>{if(X.if(D0._`!(${P} instanceof ${Y.ValidationError})`,()=>X.throw(P)),N(P),!G)X.assign(B,!1)}),$.ok(B)}function T(){$.result((0,_G.callValidateCode)($,w,z),()=>K(w),()=>N(w))}function N(B){let P=D0._`${B}.errors`;X.assign(g1.default.vErrors,D0._`${g1.default.vErrors} === null ? ${P} : ${g1.default.vErrors}.concat(${P})`),X.assign(g1.default.errors,D0._`${g1.default.vErrors}.length`)}function K(B){var P;if(!Y.opts.unevaluated)return;let q=(P=Z===null||Z===void 0?void 0:Z.validate)===null||P===void 0?void 0:P.evaluated;if(Y.props!==!0)if(q&&!q.dynamicProps){if(q.props!==void 0)Y.props=X8.mergeEvaluated.props(X,q.props,Y.props)}else{let U=X.var("props",D0._`${B}.evaluated.props`);Y.props=X8.mergeEvaluated.props(X,U,Y.props,D0.Name)}if(Y.items!==!0)if(q&&!q.dynamicItems){if(q.items!==void 0)Y.items=X8.mergeEvaluated.items(X,q.items,Y.items)}else{let U=X.var("items",D0._`${B}.evaluated.items`);Y.items=X8.mergeEvaluated.items(X,U,Y.items,D0.Name)}}}uG.callRef=Y8;uG.default=iV});var lG=L((mG)=>{Object.defineProperty(mG,"__esModule",{value:!0});var cV=xG(),dV=iG(),pV=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",cV.default,dV.default];mG.default=pV});var dG=L((cG)=>{Object.defineProperty(cG,"__esModule",{value:!0});var G8=v(),S$=G8.operators,J8={maximum:{okStr:"<=",ok:S$.LTE,fail:S$.GT},minimum:{okStr:">=",ok:S$.GTE,fail:S$.LT},exclusiveMaximum:{okStr:"<",ok:S$.LT,fail:S$.GTE},exclusiveMinimum:{okStr:">",ok:S$.GT,fail:S$.LTE}},tV={message:({keyword:$,schemaCode:w})=>G8.str`must be ${J8[$].okStr} ${w}`,params:({keyword:$,schemaCode:w})=>G8._`{comparison: ${J8[$].okStr}, limit: ${w}}`},rV={keyword:Object.keys(J8),type:"number",schemaType:"number",$data:!0,error:tV,code($){let{keyword:w,data:Z,schemaCode:W}=$;$.fail$data(G8._`${Z} ${J8[w].fail} ${W} || isNaN(${Z})`)}};cG.default=rV});var nG=L((pG)=>{Object.defineProperty(pG,"__esModule",{value:!0});var iw=v(),aV={message:({schemaCode:$})=>iw.str`must be multiple of ${$}`,params:({schemaCode:$})=>iw._`{multipleOf: ${$}}`},oV={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:aV,code($){let{gen:w,data:Z,schemaCode:W,it:X}=$,Y=X.opts.multipleOfPrecision,G=w.let("res"),J=Y?iw._`Math.abs(Math.round(${G}) - ${G}) > 1e-${Y}`:iw._`${G} !== parseInt(${G})`;$.fail$data(iw._`(${W} === 0 || (${G} = ${Z}/${W}, ${J}))`)}};pG.default=oV});var sG=L((rG)=>{Object.defineProperty(rG,"__esModule",{value:!0});function tG($){let w=$.length,Z=0,W=0,X;while(W<w)if(Z++,X=$.charCodeAt(W++),X>=55296&&X<=56319&&W<w){if(X=$.charCodeAt(W),(X&64512)===56320)W++}return Z}rG.default=tG;tG.code='require("ajv/dist/runtime/ucs2length").default'});var oG=L((aG)=>{Object.defineProperty(aG,"__esModule",{value:!0});var e$=v(),wP=l(),ZP=sG(),WP={message({keyword:$,schemaCode:w}){let Z=$==="maxLength"?"more":"fewer";return e$.str`must NOT have ${Z} than ${w} characters`},params:({schemaCode:$})=>e$._`{limit: ${$}}`},XP={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:WP,code($){let{keyword:w,data:Z,schemaCode:W,it:X}=$,Y=w==="maxLength"?e$.operators.GT:e$.operators.LT,G=X.opts.unicode===!1?e$._`${Z}.length`:e$._`${(0,wP.useFunc)($.gen,ZP.default)}(${Z})`;$.fail$data(e$._`${G} ${Y} ${W}`)}};aG.default=XP});var $3=L((eG)=>{Object.defineProperty(eG,"__esModule",{value:!0});var GP=_0(),JP=l(),v1=v(),QP={message:({schemaCode:$})=>v1.str`must match pattern "${$}"`,params:({schemaCode:$})=>v1._`{pattern: ${$}}`},zP={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:QP,code($){let{gen:w,data:Z,$data:W,schema:X,schemaCode:Y,it:G}=$,J=G.opts.unicodeRegExp?"u":"";if(W){let{regExp:Q}=G.opts.code,z=Q.code==="new RegExp"?v1._`new RegExp`:(0,JP.useFunc)(w,Q),M=w.let("valid");w.try(()=>w.assign(M,v1._`${z}(${Y}, ${J}).test(${Z})`),()=>w.assign(M,!1)),$.fail$data(v1._`!${M}`)}else{let Q=(0,GP.usePattern)($,X);$.fail$data(v1._`!${Q}.test(${Z})`)}}};eG.default=zP});var Z3=L((w3)=>{Object.defineProperty(w3,"__esModule",{value:!0});var mw=v(),TP={message({keyword:$,schemaCode:w}){let Z=$==="maxProperties"?"more":"fewer";return mw.str`must NOT have ${Z} than ${w} properties`},params:({schemaCode:$})=>mw._`{limit: ${$}}`},NP={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:TP,code($){let{keyword:w,data:Z,schemaCode:W}=$,X=w==="maxProperties"?mw.operators.GT:mw.operators.LT;$.fail$data(mw._`Object.keys(${Z}).length ${X} ${W}`)}};w3.default=NP});var X3=L((W3)=>{Object.defineProperty(W3,"__esModule",{value:!0});var lw=_0(),cw=v(),BP=l(),VP={message:({params:{missingProperty:$}})=>cw.str`must have required property '${$}'`,params:({params:{missingProperty:$}})=>cw._`{missingProperty: ${$}}`},PP={keyword:"required",type:"object",schemaType:"array",$data:!0,error:VP,code($){let{gen:w,schema:Z,schemaCode:W,data:X,$data:Y,it:G}=$,{opts:J}=G;if(!Y&&Z.length===0)return;let Q=Z.length>=J.loopRequired;if(G.allErrors)z();else M();if(J.strictRequired){let K=$.parentSchema.properties,{definedProperties:B}=$.it;for(let P of Z)if((K===null||K===void 0?void 0:K[P])===void 0&&!B.has(P)){let q=G.schemaEnv.baseId+G.errSchemaPath,U=`required property "${P}" is not defined at "${q}" (strictRequired)`;(0,BP.checkStrictMode)(G,U,G.opts.strictRequired)}}function z(){if(Q||Y)$.block$data(cw.nil,T);else for(let K of Z)(0,lw.checkReportMissingProp)($,K)}function M(){let K=w.let("missing");if(Q||Y){let B=w.let("valid",!0);$.block$data(B,()=>N(K,B)),$.ok(B)}else w.if((0,lw.checkMissingProp)($,Z,K)),(0,lw.reportMissingProp)($,K),w.else()}function T(){w.forOf("prop",W,(K)=>{$.setParams({missingProperty:K}),w.if((0,lw.noPropertyInData)(w,X,K,J.ownProperties),()=>$.error())})}function N(K,B){$.setParams({missingProperty:K}),w.forOf(K,W,()=>{w.assign(B,(0,lw.propertyInData)(w,X,K,J.ownProperties)),w.if((0,cw.not)(B),()=>{$.error(),w.break()})},cw.nil)}}};W3.default=PP});var G3=L((Y3)=>{Object.defineProperty(Y3,"__esModule",{value:!0});var dw=v(),UP={message({keyword:$,schemaCode:w}){let Z=$==="maxItems"?"more":"fewer";return dw.str`must NOT have ${Z} than ${w} items`},params:({schemaCode:$})=>dw._`{limit: ${$}}`},HP={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:UP,code($){let{keyword:w,data:Z,schemaCode:W}=$,X=w==="maxItems"?dw.operators.GT:dw.operators.LT;$.fail$data(dw._`${Z}.length ${X} ${W}`)}};Y3.default=HP});var Q8=L((Q3)=>{Object.defineProperty(Q3,"__esModule",{value:!0});var J3=PZ();J3.code='require("ajv/dist/runtime/equal").default';Q3.default=J3});var M3=L((z3)=>{Object.defineProperty(z3,"__esModule",{value:!0});var gZ=Cw(),M0=v(),EP=l(),LP=Q8(),DP={message:({params:{i:$,j:w}})=>M0.str`must NOT have duplicate items (items ## ${w} and ${$} are identical)`,params:({params:{i:$,j:w}})=>M0._`{i: ${$}, j: ${w}}`},fP={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:DP,code($){let{gen:w,data:Z,$data:W,schema:X,parentSchema:Y,schemaCode:G,it:J}=$;if(!W&&!X)return;let Q=w.let("valid"),z=Y.items?(0,gZ.getSchemaTypes)(Y.items):[];$.block$data(Q,M,M0._`${G} === false`),$.ok(Q);function M(){let B=w.let("i",M0._`${Z}.length`),P=w.let("j");$.setParams({i:B,j:P}),w.assign(Q,!0),w.if(M0._`${B} > 1`,()=>(T()?N:K)(B,P))}function T(){return z.length>0&&!z.some((B)=>B==="object"||B==="array")}function N(B,P){let q=w.name("item"),U=(0,gZ.checkDataTypes)(z,q,J.opts.strictNumbers,gZ.DataType.Wrong),O=w.const("indices",M0._`{}`);w.for(M0._`;${B}--;`,()=>{if(w.let(q,M0._`${Z}[${B}]`),w.if(U,M0._`continue`),z.length>1)w.if(M0._`typeof ${q} == "string"`,M0._`${q} += "_"`);w.if(M0._`typeof ${O}[${q}] == "number"`,()=>{w.assign(P,M0._`${O}[${q}]`),$.error(),w.assign(Q,!1).break()}).code(M0._`${O}[${q}] = ${B}`)})}function K(B,P){let q=(0,EP.useFunc)(w,LP.default),U=w.name("outer");w.label(U).for(M0._`;${B}--;`,()=>w.for(M0._`${P} = ${B}; ${P}--;`,()=>w.if(M0._`${q}(${Z}[${B}], ${Z}[${P}])`,()=>{$.error(),w.assign(Q,!1).break(U)})))}}};z3.default=fP});var N3=L((T3)=>{Object.defineProperty(T3,"__esModule",{value:!0});var vZ=v(),AP=l(),SP=Q8(),RP={message:"must be equal to constant",params:({schemaCode:$})=>vZ._`{allowedValue: ${$}}`},CP={keyword:"const",$data:!0,error:RP,code($){let{gen:w,data:Z,$data:W,schemaCode:X,schema:Y}=$;if(W||Y&&typeof Y=="object")$.fail$data(vZ._`!${(0,AP.useFunc)(w,SP.default)}(${Z}, ${X})`);else $.fail(vZ._`${Y} !== ${Z}`)}};T3.default=CP});var B3=L((K3)=>{Object.defineProperty(K3,"__esModule",{value:!0});var pw=v(),IP=l(),yP=Q8(),bP={message:"must be equal to one of the allowed values",params:({schemaCode:$})=>pw._`{allowedValues: ${$}}`},xP={keyword:"enum",schemaType:"array",$data:!0,error:bP,code($){let{gen:w,data:Z,$data:W,schema:X,schemaCode:Y,it:G}=$;if(!W&&X.length===0)throw Error("enum must have non-empty array");let J=X.length>=G.opts.loopEnum,Q,z=()=>Q!==null&&Q!==void 0?Q:Q=(0,IP.useFunc)(w,yP.default),M;if(J||W)M=w.let("valid"),$.block$data(M,T);else{if(!Array.isArray(X))throw Error("ajv implementation error");let K=w.const("vSchema",Y);M=(0,pw.or)(...X.map((B,P)=>N(K,P)))}$.pass(M);function T(){w.assign(M,!1),w.forOf("v",Y,(K)=>w.if(pw._`${z()}(${Z}, ${K})`,()=>w.assign(M,!0).break()))}function N(K,B){let P=X[B];return typeof P==="object"&&P!==null?pw._`${z()}(${Z}, ${K}[${B}])`:pw._`${Z} === ${P}`}}};K3.default=xP});var P3=L((V3)=>{Object.defineProperty(V3,"__esModule",{value:!0});var gP=dG(),vP=nG(),uP=oG(),hP=$3(),iP=Z3(),mP=X3(),lP=G3(),cP=M3(),dP=N3(),pP=B3(),nP=[gP.default,vP.default,uP.default,hP.default,iP.default,mP.default,lP.default,cP.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},dP.default,pP.default];V3.default=nP});var hZ=L((U3)=>{Object.defineProperty(U3,"__esModule",{value:!0});U3.validateAdditionalItems=void 0;var $1=v(),uZ=l(),rP={message:({params:{len:$}})=>$1.str`must NOT have more than ${$} items`,params:({params:{len:$}})=>$1._`{limit: ${$}}`},sP={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:rP,code($){let{parentSchema:w,it:Z}=$,{items:W}=w;if(!Array.isArray(W)){(0,uZ.checkStrictMode)(Z,'"additionalItems" is ignored when "items" is not an array of schemas');return}q3($,W)}};function q3($,w){let{gen:Z,schema:W,data:X,keyword:Y,it:G}=$;G.items=!0;let J=Z.const("len",$1._`${X}.length`);if(W===!1)$.setParams({len:w.length}),$.pass($1._`${J} <= ${w.length}`);else if(typeof W=="object"&&!(0,uZ.alwaysValidSchema)(G,W)){let z=Z.var("valid",$1._`${J} <= ${w.length}`);Z.if((0,$1.not)(z),()=>Q(z)),$.ok(z)}function Q(z){Z.forRange("i",w.length,J,(M)=>{if($.subschema({keyword:Y,dataProp:M,dataPropType:uZ.Type.Num},z),!G.allErrors)Z.if((0,$1.not)(z),()=>Z.break())})}}U3.validateAdditionalItems=q3;U3.default=sP});var iZ=L((E3)=>{Object.defineProperty(E3,"__esModule",{value:!0});E3.validateTuple=void 0;var F3=v(),z8=l(),oP=_0(),eP={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code($){let{schema:w,it:Z}=$;if(Array.isArray(w))return O3($,"additionalItems",w);if(Z.items=!0,(0,z8.alwaysValidSchema)(Z,w))return;$.ok((0,oP.validateArray)($))}};function O3($,w,Z=$.schema){let{gen:W,parentSchema:X,data:Y,keyword:G,it:J}=$;if(M(X),J.opts.unevaluated&&Z.length&&J.items!==!0)J.items=z8.mergeEvaluated.items(W,Z.length,J.items);let Q=W.name("valid"),z=W.const("len",F3._`${Y}.length`);Z.forEach((T,N)=>{if((0,z8.alwaysValidSchema)(J,T))return;W.if(F3._`${z} > ${N}`,()=>$.subschema({keyword:G,schemaProp:N,dataProp:N},Q)),$.ok(Q)});function M(T){let{opts:N,errSchemaPath:K}=J,B=Z.length,P=B===T.minItems&&(B===T.maxItems||T[w]===!1);if(N.strictTuples&&!P){let q=`"${G}" is ${B}-tuple, but minItems or maxItems/${w} are not specified or different at path "${K}"`;(0,z8.checkStrictMode)(J,q,N.strictTuples)}}}E3.validateTuple=O3;E3.default=eP});var f3=L((D3)=>{Object.defineProperty(D3,"__esModule",{value:!0});var wq=iZ(),Zq={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:($)=>(0,wq.validateTuple)($,"items")};D3.default=Zq});var S3=L((A3)=>{Object.defineProperty(A3,"__esModule",{value:!0});var k3=v(),Xq=l(),Yq=_0(),Gq=hZ(),Jq={message:({params:{len:$}})=>k3.str`must NOT have more than ${$} items`,params:({params:{len:$}})=>k3._`{limit: ${$}}`},Qq={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Jq,code($){let{schema:w,parentSchema:Z,it:W}=$,{prefixItems:X}=Z;if(W.items=!0,(0,Xq.alwaysValidSchema)(W,w))return;if(X)(0,Gq.validateAdditionalItems)($,X);else $.ok((0,Yq.validateArray)($))}};A3.default=Qq});var C3=L((R3)=>{Object.defineProperty(R3,"__esModule",{value:!0});var g0=v(),M8=l(),Mq={message:({params:{min:$,max:w}})=>w===void 0?g0.str`must contain at least ${$} valid item(s)`:g0.str`must contain at least ${$} and no more than ${w} valid item(s)`,params:({params:{min:$,max:w}})=>w===void 0?g0._`{minContains: ${$}}`:g0._`{minContains: ${$}, maxContains: ${w}}`},Tq={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Mq,code($){let{gen:w,schema:Z,parentSchema:W,data:X,it:Y}=$,G,J,{minContains:Q,maxContains:z}=W;if(Y.opts.next)G=Q===void 0?1:Q,J=z;else G=1;let M=w.const("len",g0._`${X}.length`);if($.setParams({min:G,max:J}),J===void 0&&G===0){(0,M8.checkStrictMode)(Y,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(J!==void 0&&G>J){(0,M8.checkStrictMode)(Y,'"minContains" > "maxContains" is always invalid'),$.fail();return}if((0,M8.alwaysValidSchema)(Y,Z)){let P=g0._`${M} >= ${G}`;if(J!==void 0)P=g0._`${P} && ${M} <= ${J}`;$.pass(P);return}Y.items=!0;let T=w.name("valid");if(J===void 0&&G===1)K(T,()=>w.if(T,()=>w.break()));else if(G===0){if(w.let(T,!0),J!==void 0)w.if(g0._`${X}.length > 0`,N)}else w.let(T,!1),N();$.result(T,()=>$.reset());function N(){let P=w.name("_valid"),q=w.let("count",0);K(P,()=>w.if(P,()=>B(q)))}function K(P,q){w.forRange("i",0,M,(U)=>{$.subschema({keyword:"contains",dataProp:U,dataPropType:M8.Type.Num,compositeRule:!0},P),q()})}function B(P){if(w.code(g0._`${P}++`),J===void 0)w.if(g0._`${P} >= ${G}`,()=>w.assign(T,!0).break());else if(w.if(g0._`${P} > ${J}`,()=>w.assign(T,!1).break()),G===1)w.assign(T,!0);else w.if(g0._`${P} >= ${G}`,()=>w.assign(T,!0))}}};R3.default=Tq});var _3=L((y3)=>{Object.defineProperty(y3,"__esModule",{value:!0});y3.validateSchemaDeps=y3.validatePropertyDeps=y3.error=void 0;var mZ=v(),Kq=l(),nw=_0();y3.error={message:({params:{property:$,depsCount:w,deps:Z}})=>{let W=w===1?"property":"properties";return mZ.str`must have ${W} ${Z} when property ${$} is present`},params:({params:{property:$,depsCount:w,deps:Z,missingProperty:W}})=>mZ._`{property: ${$},
33
- missingProperty: ${W},
25
+ `),this.outputHelp({error:!0});let W=w||{},Z=W.exitCode||1,X=W.code||"commander.error";this._exit(Z,X,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in p.env){let w=$.attributeName();if(this.getOptionValue(w)===void 0||["default","config","env"].includes(this.getOptionValueSource(w)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,p.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new Lz(this.options),w=(W)=>{return this.getOptionValue(W)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(W))};this.options.filter((W)=>W.implied!==void 0&&w(W.attributeName())&&$.valueFromOption(this.getOptionValue(W.attributeName()),W)).forEach((W)=>{Object.keys(W.implied).filter((Z)=>!w(Z)).forEach((Z)=>{this.setOptionValueWithSource(Z,W.implied[Z],"implied")})})}missingArgument($){let w=`error: missing required argument '${$}'`;this.error(w,{code:"commander.missingArgument"})}optionMissingArgument($){let w=`error: option '${$.flags}' argument missing`;this.error(w,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let w=`error: required option '${$.flags}' not specified`;this.error(w,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,w){let W=(Y)=>{let G=Y.attributeName(),J=this.getOptionValue(G),T=this.options.find((M)=>M.negate&&G===M.attributeName()),Q=this.options.find((M)=>!M.negate&&G===M.attributeName());if(T&&(T.presetArg===void 0&&J===!1||T.presetArg!==void 0&&J===T.presetArg))return T;return Q||Y},Z=(Y)=>{let G=W(Y),J=G.attributeName();if(this.getOptionValueSource(J)==="env")return`environment variable '${G.envVar}'`;return`option '${G.flags}'`},X=`error: ${Z($)} cannot be used with ${Z(w)}`;this.error(X,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let w="";if($.startsWith("--")&&this._showSuggestionAfterError){let Z=[],X=this;do{let Y=X.createHelp().visibleOptions(X).filter((G)=>G.long).map((G)=>G.long);Z=Z.concat(Y),X=X.parent}while(X&&!X._enablePositionalOptions);w=gX($,Z)}let W=`error: unknown option '${$}'${w}`;this.error(W,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let w=this.registeredArguments.length,W=w===1?"":"s",X=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${w} argument${W} but got ${$.length}.`;this.error(X,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],w="";if(this._showSuggestionAfterError){let Z=[];this.createHelp().visibleCommands(this).forEach((X)=>{if(Z.push(X.name()),X.alias())Z.push(X.alias())}),w=gX($,Z)}let W=`error: unknown command '${$}'${w}`;this.error(W,{code:"commander.unknownCommand"})}version($,w,W){if($===void 0)return this._version;this._version=$,w=w||"-V, --version",W=W||"output the version number";let Z=this.createOption(w,W);return this._versionOptionName=Z.attributeName(),this._registerOption(Z),this.on("option:"+Z.name(),()=>{this._outputConfiguration.writeOut(`${$}
26
+ `),this._exit(0,"commander.version",$)}),this}description($,w){if($===void 0&&w===void 0)return this._description;if(this._description=$,w)this._argsDescription=w;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let w=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)w=this.commands[this.commands.length-1];if($===w._name)throw Error("Command alias can't be the same as its name");let W=this.parent?._findCommand($);if(W){let Z=[W.name()].concat(W.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${Z}'`)}return w._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((w)=>this.alias(w)),this}usage($){if($===void 0){if(this._usage)return this._usage;let w=this.registeredArguments.map((W)=>{return Fz(W)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?w:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}helpGroup($){if($===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=$,this}commandsGroup($){if($===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=$,this}optionsGroup($){if($===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=$,this}_initOptionGroup($){if(this._defaultOptionGroup&&!$.helpGroupHeading)$.helpGroup(this._defaultOptionGroup)}_initCommandGroup($){if(this._defaultCommandGroup&&!$.helpGroup())$.helpGroup(this._defaultCommandGroup)}nameFromFilename($){return this._name=N$.basename($,N$.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let w=this.createHelp(),W=this._getOutputContext($);w.prepareContext({error:W.error,helpWidth:W.helpWidth,outputHasColors:W.hasColors});let Z=w.formatHelp(this,w);if(W.hasColors)return Z;return this._outputConfiguration.stripColor(Z)}_getOutputContext($){$=$||{};let w=!!$.error,W,Z,X;if(w)W=(G)=>this._outputConfiguration.writeErr(G),Z=this._outputConfiguration.getErrHasColors(),X=this._outputConfiguration.getErrHelpWidth();else W=(G)=>this._outputConfiguration.writeOut(G),Z=this._outputConfiguration.getOutHasColors(),X=this._outputConfiguration.getOutHelpWidth();return{error:w,write:(G)=>{if(!Z)G=this._outputConfiguration.stripColor(G);return W(G)},hasColors:Z,helpWidth:X}}outputHelp($){let w;if(typeof $==="function")w=$,$=void 0;let W=this._getOutputContext($),Z={error:W.error,write:W.write,command:this};this._getCommandAndAncestors().reverse().forEach((Y)=>Y.emit("beforeAllHelp",Z)),this.emit("beforeHelp",Z);let X=this.helpInformation({error:W.error});if(w){if(X=w(X),typeof X!=="string"&&!Buffer.isBuffer(X))throw Error("outputHelp callback must return a string or a Buffer")}if(W.write(X),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",Z),this._getCommandAndAncestors().forEach((Y)=>Y.emit("afterAllHelp",Z))}helpOption($,w){if(typeof $==="boolean"){if($){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption($??"-h, --help",w??"display help for command"),$||w)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this._initOptionGroup($),this}help($){this.outputHelp($);let w=Number(p.exitCode??0);if(w===0&&$&&typeof $!=="function"&&$.error)w=1;this._exit(w,"commander.help","(outputHelp)")}addHelpText($,w){let W=["beforeAll","before","after","afterAll"];if(!W.includes($))throw Error(`Unexpected value for position to addHelpText.
27
+ Expecting one of '${W.join("', '")}'`);let Z=`${$}Help`;return this.on(Z,(X)=>{let Y;if(typeof w==="function")Y=w({error:X.error,command:X.command});else Y=w;if(Y)X.write(`${Y}
28
+ `)}),this}_outputHelpIfRequested($){let w=this._getHelpOption();if(w&&$.find((Z)=>w.is(Z)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function vX($){return $.map((w)=>{if(!w.startsWith("--inspect"))return w;let W,Z="127.0.0.1",X="9229",Y;if((Y=w.match(/^(--inspect(-brk)?)$/))!==null)W=Y[1];else if((Y=w.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(W=Y[1],/^\d+$/.test(Y[3]))X=Y[3];else Z=Y[3];else if((Y=w.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)W=Y[1],Z=Y[3],X=Y[4];if(W&&X!=="0")return`${W}=${Z}:${parseInt(X)+1}`;return w})}function HW(){if(p.env.NO_COLOR||p.env.FORCE_COLOR==="0"||p.env.FORCE_COLOR==="false")return!1;if(p.env.FORCE_COLOR||p.env.CLICOLOR_FORCE!==void 0)return!0;return}Dz.Command=FW;Dz.useColor=HW});var EW=L((Cz)=>{var{Argument:hX}=w8(),{Command:OW}=uX(),{CommanderError:Sz,InvalidArgumentError:iX}=lw(),{Help:Rz}=VW(),{Option:mX}=fW();Cz.program=new OW;Cz.createCommand=($)=>new OW($);Cz.createOption=($,w)=>new mX($,w);Cz.createArgument=($,w)=>new hX($,w);Cz.Command=OW;Cz.Option=mX;Cz.Argument=hX;Cz.Help=Rz;Cz.CommanderError=Sz;Cz.InvalidArgumentError=iX;Cz.InvalidOptionArgumentError=iX});var dw=L((aX)=>{Object.defineProperty(aX,"__esModule",{value:!0});aX.regexpCode=aX.getEsmExportName=aX.getProperty=aX.safeStringify=aX.stringify=aX.strConcat=aX.addCodeArg=aX.str=aX._=aX.nil=aX._Code=aX.Name=aX.IDENTIFIER=aX._CodeOrName=void 0;class Y8{}aX._CodeOrName=Y8;aX.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class c1 extends Y8{constructor($){super();if(!aX.IDENTIFIER.test($))throw Error("CodeGen: name must be a valid identifier");this.str=$}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}aX.Name=c1;class d0 extends Y8{constructor($){super();this._items=typeof $==="string"?[$]:$}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let $=this._items[0];return $===""||$==='""'}get str(){var $;return($=this._str)!==null&&$!==void 0?$:this._str=this._items.reduce((w,W)=>`${w}${W}`,"")}get names(){var $;return($=this._names)!==null&&$!==void 0?$:this._names=this._items.reduce((w,W)=>{if(W instanceof c1)w[W.str]=(w[W.str]||0)+1;return w},{})}}aX._Code=d0;aX.nil=new d0("");function rX($,...w){let W=[$[0]],Z=0;while(Z<w.length)SW(W,w[Z]),W.push($[++Z]);return new d0(W)}aX._=rX;var AW=new d0("+");function sX($,...w){let W=[cw($[0])],Z=0;while(Z<w.length)W.push(AW),SW(W,w[Z]),W.push(AW,cw($[++Z]));return tz(W),new d0(W)}aX.str=sX;function SW($,w){if(w instanceof d0)$.push(...w._items);else if(w instanceof c1)$.push(w);else $.push(az(w))}aX.addCodeArg=SW;function tz($){let w=1;while(w<$.length-1){if($[w]===AW){let W=rz($[w-1],$[w+1]);if(W!==void 0){$.splice(w-1,3,W);continue}$[w++]="+"}w++}}function rz($,w){if(w==='""')return $;if($==='""')return w;if(typeof $=="string"){if(w instanceof c1||$[$.length-1]!=='"')return;if(typeof w!="string")return`${$.slice(0,-1)}${w}"`;if(w[0]==='"')return $.slice(0,-1)+w.slice(1);return}if(typeof w=="string"&&w[0]==='"'&&!($ instanceof c1))return`"${$}${w.slice(1)}`;return}function sz($,w){return w.emptyStr()?$:$.emptyStr()?w:sX`${$}${w}`}aX.strConcat=sz;function az($){return typeof $=="number"||typeof $=="boolean"||$===null?$:cw(Array.isArray($)?$.join(","):$)}function oz($){return new d0(cw($))}aX.stringify=oz;function cw($){return JSON.stringify($).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}aX.safeStringify=cw;function ez($){return typeof $=="string"&&aX.IDENTIFIER.test($)?new d0(`.${$}`):rX`[${$}]`}aX.getProperty=ez;function $N($){if(typeof $=="string"&&aX.IDENTIFIER.test($))return new d0(`${$}`);throw Error(`CodeGen: invalid export name: ${$}, use explicit $id name mapping`)}aX.getEsmExportName=$N;function wN($){return new d0($.toString())}aX.regexpCode=wN});var yW=L((w3)=>{Object.defineProperty(w3,"__esModule",{value:!0});w3.ValueScope=w3.ValueScopeName=w3.Scope=w3.varKinds=w3.UsedValueState=void 0;var D0=dw();class eX extends Error{constructor($){super(`CodeGen: "code" for ${$} not defined`);this.value=$.value}}var J8;(function($){$[$.Started=0]="Started",$[$.Completed=1]="Completed"})(J8||(w3.UsedValueState=J8={}));w3.varKinds={const:new D0.Name("const"),let:new D0.Name("let"),var:new D0.Name("var")};class CW{constructor({prefixes:$,parent:w}={}){this._names={},this._prefixes=$,this._parent=w}toName($){return $ instanceof D0.Name?$:this.name($)}name($){return new D0.Name(this._newName($))}_newName($){let w=this._names[$]||this._nameGroup($);return`${$}${w.index++}`}_nameGroup($){var w,W;if(((W=(w=this._parent)===null||w===void 0?void 0:w._prefixes)===null||W===void 0?void 0:W.has($))||this._prefixes&&!this._prefixes.has($))throw Error(`CodeGen: prefix "${$}" is not allowed in this scope`);return this._names[$]={prefix:$,index:0}}}w3.Scope=CW;class jW extends D0.Name{constructor($,w){super(w);this.prefix=$}setValue($,{property:w,itemIndex:W}){this.value=$,this.scopePath=D0._`.${new D0.Name(w)}[${W}]`}}w3.ValueScopeName=jW;var BN=D0._`\n`;class $3 extends CW{constructor($){super($);this._values={},this._scope=$.scope,this.opts={...$,_n:$.lines?BN:D0.nil}}get(){return this._scope}name($){return new jW($,this._newName($))}value($,w){var W;if(w.ref===void 0)throw Error("CodeGen: ref must be passed in value");let Z=this.toName($),{prefix:X}=Z,Y=(W=w.key)!==null&&W!==void 0?W:w.ref,G=this._values[X];if(G){let Q=G.get(Y);if(Q)return Q}else G=this._values[X]=new Map;G.set(Y,Z);let J=this._scope[X]||(this._scope[X]=[]),T=J.length;return J[T]=w.ref,Z.setValue(w,{property:X,itemIndex:T}),Z}getValue($,w){let W=this._values[$];if(!W)return;return W.get(w)}scopeRefs($,w=this._values){return this._reduceValues(w,(W)=>{if(W.scopePath===void 0)throw Error(`CodeGen: name "${W}" has no value`);return D0._`${$}${W.scopePath}`})}scopeCode($=this._values,w,W){return this._reduceValues($,(Z)=>{if(Z.value===void 0)throw Error(`CodeGen: name "${Z}" has no value`);return Z.value.code},w,W)}_reduceValues($,w,W={},Z){let X=D0.nil;for(let Y in $){let G=$[Y];if(!G)continue;let J=W[Y]=W[Y]||new Map;G.forEach((T)=>{if(J.has(T))return;J.set(T,J8.Started);let Q=w(T);if(Q){let M=this.opts.es5?w3.varKinds.var:w3.varKinds.const;X=D0._`${X}${M} ${T} = ${Q};${this.opts._n}`}else if(Q=Z===null||Z===void 0?void 0:Z(T))X=D0._`${X}${Q}${this.opts._n}`;else throw new eX(T);J.set(T,J8.Completed)})}return X}}w3.ValueScope=$3});var h=L((k0)=>{Object.defineProperty(k0,"__esModule",{value:!0});k0.or=k0.and=k0.not=k0.CodeGen=k0.operators=k0.varKinds=k0.ValueScopeName=k0.ValueScope=k0.Scope=k0.Name=k0.regexpCode=k0.stringify=k0.getProperty=k0.nil=k0.strConcat=k0.str=k0._=void 0;var l=dw(),n0=yW(),I$=dw();Object.defineProperty(k0,"_",{enumerable:!0,get:function(){return I$._}});Object.defineProperty(k0,"str",{enumerable:!0,get:function(){return I$.str}});Object.defineProperty(k0,"strConcat",{enumerable:!0,get:function(){return I$.strConcat}});Object.defineProperty(k0,"nil",{enumerable:!0,get:function(){return I$.nil}});Object.defineProperty(k0,"getProperty",{enumerable:!0,get:function(){return I$.getProperty}});Object.defineProperty(k0,"stringify",{enumerable:!0,get:function(){return I$.stringify}});Object.defineProperty(k0,"regexpCode",{enumerable:!0,get:function(){return I$.regexpCode}});Object.defineProperty(k0,"Name",{enumerable:!0,get:function(){return I$.Name}});var K8=yW();Object.defineProperty(k0,"Scope",{enumerable:!0,get:function(){return K8.Scope}});Object.defineProperty(k0,"ValueScope",{enumerable:!0,get:function(){return K8.ValueScope}});Object.defineProperty(k0,"ValueScopeName",{enumerable:!0,get:function(){return K8.ValueScopeName}});Object.defineProperty(k0,"varKinds",{enumerable:!0,get:function(){return K8.varKinds}});k0.operators={GT:new l._Code(">"),GTE:new l._Code(">="),LT:new l._Code("<"),LTE:new l._Code("<="),EQ:new l._Code("==="),NEQ:new l._Code("!=="),NOT:new l._Code("!"),OR:new l._Code("||"),AND:new l._Code("&&"),ADD:new l._Code("+")};class b${optimizeNodes(){return this}optimizeNames($,w){return this}}class Z3 extends b${constructor($,w,W){super();this.varKind=$,this.name=w,this.rhs=W}render({es5:$,_n:w}){let W=$?n0.varKinds.var:this.varKind,Z=this.rhs===void 0?"":` = ${this.rhs}`;return`${W} ${this.name}${Z};`+w}optimizeNames($,w){if(!$[this.name.str])return;if(this.rhs)this.rhs=n1(this.rhs,$,w);return this}get names(){return this.rhs instanceof l._CodeOrName?this.rhs.names:{}}}class xW extends b${constructor($,w,W){super();this.lhs=$,this.rhs=w,this.sideEffects=W}render({_n:$}){return`${this.lhs} = ${this.rhs};`+$}optimizeNames($,w){if(this.lhs instanceof l.Name&&!$[this.lhs.str]&&!this.sideEffects)return;return this.rhs=n1(this.rhs,$,w),this}get names(){let $=this.lhs instanceof l.Name?{}:{...this.lhs.names};return N8($,this.rhs)}}class X3 extends xW{constructor($,w,W,Z){super($,W,Z);this.op=w}render({_n:$}){return`${this.lhs} ${this.op}= ${this.rhs};`+$}}class Y3 extends b${constructor($){super();this.label=$,this.names={}}render({_n:$}){return`${this.label}:`+$}}class G3 extends b${constructor($){super();this.label=$,this.names={}}render({_n:$}){return`break${this.label?` ${this.label}`:""};`+$}}class J3 extends b${constructor($){super();this.error=$}render({_n:$}){return`throw ${this.error};`+$}get names(){return this.error.names}}class T3 extends b${constructor($){super();this.code=$}render({_n:$}){return`${this.code};`+$}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames($,w){return this.code=n1(this.code,$,w),this}get names(){return this.code instanceof l._CodeOrName?this.code.names:{}}}class B8 extends b${constructor($=[]){super();this.nodes=$}render($){return this.nodes.reduce((w,W)=>w+W.render($),"")}optimizeNodes(){let{nodes:$}=this,w=$.length;while(w--){let W=$[w].optimizeNodes();if(Array.isArray(W))$.splice(w,1,...W);else if(W)$[w]=W;else $.splice(w,1)}return $.length>0?this:void 0}optimizeNames($,w){let{nodes:W}=this,Z=W.length;while(Z--){let X=W[Z];if(X.optimizeNames($,w))continue;qN($,X.names),W.splice(Z,1)}return W.length>0?this:void 0}get names(){return this.nodes.reduce(($,w)=>W1($,w.names),{})}}class x$ extends B8{render($){return"{"+$._n+super.render($)+"}"+$._n}}class Q3 extends B8{}class nw extends x${}nw.kind="else";class K$ extends x${constructor($,w){super(w);this.condition=$}render($){let w=`if(${this.condition})`+super.render($);if(this.else)w+="else "+this.else.render($);return w}optimizeNodes(){super.optimizeNodes();let $=this.condition;if($===!0)return this.nodes;let w=this.else;if(w){let W=w.optimizeNodes();w=this.else=Array.isArray(W)?new nw(W):W}if(w){if($===!1)return w instanceof K$?w:w.nodes;if(this.nodes.length)return this;return new K$(B3($),w instanceof K$?[w]:w.nodes)}if($===!1||!this.nodes.length)return;return this}optimizeNames($,w){var W;if(this.else=(W=this.else)===null||W===void 0?void 0:W.optimizeNames($,w),!(super.optimizeNames($,w)||this.else))return;return this.condition=n1(this.condition,$,w),this}get names(){let $=super.names;if(N8($,this.condition),this.else)W1($,this.else.names);return $}}K$.kind="if";class d1 extends x${}d1.kind="for";class M3 extends d1{constructor($){super();this.iteration=$}render($){return`for(${this.iteration})`+super.render($)}optimizeNames($,w){if(!super.optimizeNames($,w))return;return this.iteration=n1(this.iteration,$,w),this}get names(){return W1(super.names,this.iteration.names)}}class z3 extends d1{constructor($,w,W,Z){super();this.varKind=$,this.name=w,this.from=W,this.to=Z}render($){let w=$.es5?n0.varKinds.var:this.varKind,{name:W,from:Z,to:X}=this;return`for(${w} ${W}=${Z}; ${W}<${X}; ${W}++)`+super.render($)}get names(){let $=N8(super.names,this.from);return N8($,this.to)}}class IW extends d1{constructor($,w,W,Z){super();this.loop=$,this.varKind=w,this.name=W,this.iterable=Z}render($){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render($)}optimizeNames($,w){if(!super.optimizeNames($,w))return;return this.iterable=n1(this.iterable,$,w),this}get names(){return W1(super.names,this.iterable.names)}}class T8 extends x${constructor($,w,W){super();this.name=$,this.args=w,this.async=W}render($){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render($)}}T8.kind="func";class Q8 extends B8{render($){return"return "+super.render($)}}Q8.kind="return";class N3 extends x${render($){let w="try"+super.render($);if(this.catch)w+=this.catch.render($);if(this.finally)w+=this.finally.render($);return w}optimizeNodes(){var $,w;return super.optimizeNodes(),($=this.catch)===null||$===void 0||$.optimizeNodes(),(w=this.finally)===null||w===void 0||w.optimizeNodes(),this}optimizeNames($,w){var W,Z;return super.optimizeNames($,w),(W=this.catch)===null||W===void 0||W.optimizeNames($,w),(Z=this.finally)===null||Z===void 0||Z.optimizeNames($,w),this}get names(){let $=super.names;if(this.catch)W1($,this.catch.names);if(this.finally)W1($,this.finally.names);return $}}class M8 extends x${constructor($){super();this.error=$}render($){return`catch(${this.error})`+super.render($)}}M8.kind="catch";class z8 extends x${render($){return"finally"+super.render($)}}z8.kind="finally";class K3{constructor($,w={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...w,_n:w.lines?`
29
+ `:""},this._extScope=$,this._scope=new n0.Scope({parent:$}),this._nodes=[new Q3]}toString(){return this._root.render(this.opts)}name($){return this._scope.name($)}scopeName($){return this._extScope.name($)}scopeValue($,w){let W=this._extScope.value($,w);return(this._values[W.prefix]||(this._values[W.prefix]=new Set)).add(W),W}getScopeValue($,w){return this._extScope.getValue($,w)}scopeRefs($){return this._extScope.scopeRefs($,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def($,w,W,Z){let X=this._scope.toName(w);if(W!==void 0&&Z)this._constants[X.str]=W;return this._leafNode(new Z3($,X,W)),X}const($,w,W){return this._def(n0.varKinds.const,$,w,W)}let($,w,W){return this._def(n0.varKinds.let,$,w,W)}var($,w,W){return this._def(n0.varKinds.var,$,w,W)}assign($,w,W){return this._leafNode(new xW($,w,W))}add($,w){return this._leafNode(new X3($,k0.operators.ADD,w))}code($){if(typeof $=="function")$();else if($!==l.nil)this._leafNode(new T3($));return this}object(...$){let w=["{"];for(let[W,Z]of $){if(w.length>1)w.push(",");if(w.push(W),W!==Z||this.opts.es5)w.push(":"),(0,l.addCodeArg)(w,Z)}return w.push("}"),new l._Code(w)}if($,w,W){if(this._blockNode(new K$($)),w&&W)this.code(w).else().code(W).endIf();else if(w)this.code(w).endIf();else if(W)throw Error('CodeGen: "else" body without "then" body');return this}elseIf($){return this._elseNode(new K$($))}else(){return this._elseNode(new nw)}endIf(){return this._endBlockNode(K$,nw)}_for($,w){if(this._blockNode($),w)this.code(w).endFor();return this}for($,w){return this._for(new M3($),w)}forRange($,w,W,Z,X=this.opts.es5?n0.varKinds.var:n0.varKinds.let){let Y=this._scope.toName($);return this._for(new z3(X,Y,w,W),()=>Z(Y))}forOf($,w,W,Z=n0.varKinds.const){let X=this._scope.toName($);if(this.opts.es5){let Y=w instanceof l.Name?w:this.var("_arr",w);return this.forRange("_i",0,l._`${Y}.length`,(G)=>{this.var(X,l._`${Y}[${G}]`),W(X)})}return this._for(new IW("of",Z,X,w),()=>W(X))}forIn($,w,W,Z=this.opts.es5?n0.varKinds.var:n0.varKinds.const){if(this.opts.ownProperties)return this.forOf($,l._`Object.keys(${w})`,W);let X=this._scope.toName($);return this._for(new IW("in",Z,X,w),()=>W(X))}endFor(){return this._endBlockNode(d1)}label($){return this._leafNode(new Y3($))}break($){return this._leafNode(new G3($))}return($){let w=new Q8;if(this._blockNode(w),this.code($),w.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(Q8)}try($,w,W){if(!w&&!W)throw Error('CodeGen: "try" without "catch" and "finally"');let Z=new N3;if(this._blockNode(Z),this.code($),w){let X=this.name("e");this._currNode=Z.catch=new M8(X),w(X)}if(W)this._currNode=Z.finally=new z8,this.code(W);return this._endBlockNode(M8,z8)}throw($){return this._leafNode(new J3($))}block($,w){if(this._blockStarts.push(this._nodes.length),$)this.code($).endBlock(w);return this}endBlock($){let w=this._blockStarts.pop();if(w===void 0)throw Error("CodeGen: not in self-balancing block");let W=this._nodes.length-w;if(W<0||$!==void 0&&W!==$)throw Error(`CodeGen: wrong number of nodes: ${W} vs ${$} expected`);return this._nodes.length=w,this}func($,w=l.nil,W,Z){if(this._blockNode(new T8($,w,W)),Z)this.code(Z).endFunc();return this}endFunc(){return this._endBlockNode(T8)}optimize($=1){while($-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode($){return this._currNode.nodes.push($),this}_blockNode($){this._currNode.nodes.push($),this._nodes.push($)}_endBlockNode($,w){let W=this._currNode;if(W instanceof $||w&&W instanceof w)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${w?`${$.kind}/${w.kind}`:$.kind}"`)}_elseNode($){let w=this._currNode;if(!(w instanceof K$))throw Error('CodeGen: "else" without "if"');return this._currNode=w.else=$,this}get _root(){return this._nodes[0]}get _currNode(){let $=this._nodes;return $[$.length-1]}set _currNode($){let w=this._nodes;w[w.length-1]=$}}k0.CodeGen=K3;function W1($,w){for(let W in w)$[W]=($[W]||0)+(w[W]||0);return $}function N8($,w){return w instanceof l._CodeOrName?W1($,w.names):$}function n1($,w,W){if($ instanceof l.Name)return Z($);if(!X($))return $;return new l._Code($._items.reduce((Y,G)=>{if(G instanceof l.Name)G=Z(G);if(G instanceof l._Code)Y.push(...G._items);else Y.push(G);return Y},[]));function Z(Y){let G=W[Y.str];if(G===void 0||w[Y.str]!==1)return Y;return delete w[Y.str],G}function X(Y){return Y instanceof l._Code&&Y._items.some((G)=>G instanceof l.Name&&w[G.str]===1&&W[G.str]!==void 0)}}function qN($,w){for(let W in w)$[W]=($[W]||0)-(w[W]||0)}function B3($){return typeof $=="boolean"||typeof $=="number"||$===null?!$:l._`!${bW($)}`}k0.not=B3;var UN=P3(k0.operators.AND);function HN(...$){return $.reduce(UN)}k0.and=HN;var FN=P3(k0.operators.OR);function ON(...$){return $.reduce(FN)}k0.or=ON;function P3($){return(w,W)=>w===l.nil?W:W===l.nil?w:l._`${bW(w)} ${$} ${bW(W)}`}function bW($){return $ instanceof l.Name?$:l._`(${$})`}});var c=L((L3)=>{Object.defineProperty(L3,"__esModule",{value:!0});L3.checkStrictMode=L3.getErrorPath=L3.Type=L3.useFunc=L3.setEvaluated=L3.evaluatedPropsToName=L3.mergeEvaluated=L3.eachItem=L3.unescapeJsonPointer=L3.escapeJsonPointer=L3.escapeFragment=L3.unescapeFragment=L3.schemaRefOrVal=L3.schemaHasRulesButRef=L3.schemaHasRules=L3.checkUnknownRules=L3.alwaysValidSchema=L3.toHash=void 0;var r=h(),kN=dw();function AN($){let w={};for(let W of $)w[W]=!0;return w}L3.toHash=AN;function SN($,w){if(typeof w=="boolean")return w;if(Object.keys(w).length===0)return!0;return U3($,w),!H3(w,$.self.RULES.all)}L3.alwaysValidSchema=SN;function U3($,w=$.schema){let{opts:W,self:Z}=$;if(!W.strictSchema)return;if(typeof w==="boolean")return;let X=Z.RULES.keywords;for(let Y in w)if(!X[Y])E3($,`unknown keyword: "${Y}"`)}L3.checkUnknownRules=U3;function H3($,w){if(typeof $=="boolean")return!$;for(let W in $)if(w[W])return!0;return!1}L3.schemaHasRules=H3;function RN($,w){if(typeof $=="boolean")return!$;for(let W in $)if(W!=="$ref"&&w.all[W])return!0;return!1}L3.schemaHasRulesButRef=RN;function CN({topSchemaRef:$,schemaPath:w},W,Z,X){if(!X){if(typeof W=="number"||typeof W=="boolean")return W;if(typeof W=="string")return r._`${W}`}return r._`${$}${w}${(0,r.getProperty)(Z)}`}L3.schemaRefOrVal=CN;function jN($){return F3(decodeURIComponent($))}L3.unescapeFragment=jN;function yN($){return encodeURIComponent(gW($))}L3.escapeFragment=yN;function gW($){if(typeof $=="number")return`${$}`;return $.replace(/~/g,"~0").replace(/\//g,"~1")}L3.escapeJsonPointer=gW;function F3($){return $.replace(/~1/g,"/").replace(/~0/g,"~")}L3.unescapeJsonPointer=F3;function IN($,w){if(Array.isArray($))for(let W of $)w(W);else w($)}L3.eachItem=IN;function f3({mergeNames:$,mergeToName:w,mergeValues:W,resultToName:Z}){return(X,Y,G,J)=>{let T=G===void 0?Y:G instanceof r.Name?(Y instanceof r.Name?$(X,Y,G):w(X,Y,G),G):Y instanceof r.Name?(w(X,G,Y),Y):W(Y,G);return J===r.Name&&!(T instanceof r.Name)?Z(X,T):T}}L3.mergeEvaluated={props:f3({mergeNames:($,w,W)=>$.if(r._`${W} !== true && ${w} !== undefined`,()=>{$.if(r._`${w} === true`,()=>$.assign(W,!0),()=>$.assign(W,r._`${W} || {}`).code(r._`Object.assign(${W}, ${w})`))}),mergeToName:($,w,W)=>$.if(r._`${W} !== true`,()=>{if(w===!0)$.assign(W,!0);else $.assign(W,r._`${W} || {}`),vW($,W,w)}),mergeValues:($,w)=>$===!0?!0:{...$,...w},resultToName:O3}),items:f3({mergeNames:($,w,W)=>$.if(r._`${W} !== true && ${w} !== undefined`,()=>$.assign(W,r._`${w} === true ? true : ${W} > ${w} ? ${W} : ${w}`)),mergeToName:($,w,W)=>$.if(r._`${W} !== true`,()=>$.assign(W,w===!0?!0:r._`${W} > ${w} ? ${W} : ${w}`)),mergeValues:($,w)=>$===!0?!0:Math.max($,w),resultToName:($,w)=>$.var("items",w)})};function O3($,w){if(w===!0)return $.var("props",!0);let W=$.var("props",r._`{}`);if(w!==void 0)vW($,W,w);return W}L3.evaluatedPropsToName=O3;function vW($,w,W){Object.keys(W).forEach((Z)=>$.assign(r._`${w}${(0,r.getProperty)(Z)}`,!0))}L3.setEvaluated=vW;var q3={};function bN($,w){return $.scopeValue("func",{ref:w,code:q3[w.code]||(q3[w.code]=new kN._Code(w.code))})}L3.useFunc=bN;var _W;(function($){$[$.Num=0]="Num",$[$.Str=1]="Str"})(_W||(L3.Type=_W={}));function xN($,w,W){if($ instanceof r.Name){let Z=w===_W.Num;return W?Z?r._`"[" + ${$} + "]"`:r._`"['" + ${$} + "']"`:Z?r._`"/" + ${$}`:r._`"/" + ${$}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return W?(0,r.getProperty)($).toString():"/"+gW($)}L3.getErrorPath=xN;function E3($,w,W=$.opts.strictSchema){if(!W)return;if(w=`strict mode: ${w}`,W===!0)throw Error(w);$.self.logger.warn(w)}L3.checkStrictMode=E3});var B$=L((k3)=>{Object.defineProperty(k3,"__esModule",{value:!0});var P0=h(),eN={data:new P0.Name("data"),valCxt:new P0.Name("valCxt"),instancePath:new P0.Name("instancePath"),parentData:new P0.Name("parentData"),parentDataProperty:new P0.Name("parentDataProperty"),rootData:new P0.Name("rootData"),dynamicAnchors:new P0.Name("dynamicAnchors"),vErrors:new P0.Name("vErrors"),errors:new P0.Name("errors"),this:new P0.Name("this"),self:new P0.Name("self"),scope:new P0.Name("scope"),json:new P0.Name("json"),jsonPos:new P0.Name("jsonPos"),jsonLen:new P0.Name("jsonLen"),jsonPart:new P0.Name("jsonPart")};k3.default=eN});var pw=L((C3)=>{Object.defineProperty(C3,"__esModule",{value:!0});C3.extendErrors=C3.resetErrorsCount=C3.reportExtraError=C3.reportError=C3.keyword$DataError=C3.keywordError=void 0;var d=h(),V8=c(),O0=B$();C3.keywordError={message:({keyword:$})=>d.str`must pass "${$}" keyword validation`};C3.keyword$DataError={message:({keyword:$,schemaType:w})=>w?d.str`"${$}" keyword must be ${w} ($data)`:d.str`"${$}" keyword is invalid ($data)`};function wK($,w=C3.keywordError,W,Z){let{it:X}=$,{gen:Y,compositeRule:G,allErrors:J}=X,T=R3($,w,W);if(Z!==null&&Z!==void 0?Z:G||J)A3(Y,T);else S3(X,d._`[${T}]`)}C3.reportError=wK;function WK($,w=C3.keywordError,W){let{it:Z}=$,{gen:X,compositeRule:Y,allErrors:G}=Z,J=R3($,w,W);if(A3(X,J),!(Y||G))S3(Z,O0.default.vErrors)}C3.reportExtraError=WK;function ZK($,w){$.assign(O0.default.errors,w),$.if(d._`${O0.default.vErrors} !== null`,()=>$.if(w,()=>$.assign(d._`${O0.default.vErrors}.length`,w),()=>$.assign(O0.default.vErrors,null)))}C3.resetErrorsCount=ZK;function XK({gen:$,keyword:w,schemaValue:W,data:Z,errsCount:X,it:Y}){if(X===void 0)throw Error("ajv implementation error");let G=$.name("err");$.forRange("i",X,O0.default.errors,(J)=>{if($.const(G,d._`${O0.default.vErrors}[${J}]`),$.if(d._`${G}.instancePath === undefined`,()=>$.assign(d._`${G}.instancePath`,(0,d.strConcat)(O0.default.instancePath,Y.errorPath))),$.assign(d._`${G}.schemaPath`,d.str`${Y.errSchemaPath}/${w}`),Y.opts.verbose)$.assign(d._`${G}.schema`,W),$.assign(d._`${G}.data`,Z)})}C3.extendErrors=XK;function A3($,w){let W=$.const("err",w);$.if(d._`${O0.default.vErrors} === null`,()=>$.assign(O0.default.vErrors,d._`[${W}]`),d._`${O0.default.vErrors}.push(${W})`),$.code(d._`${O0.default.errors}++`)}function S3($,w){let{gen:W,validateName:Z,schemaEnv:X}=$;if(X.$async)W.throw(d._`new ${$.ValidationError}(${w})`);else W.assign(d._`${Z}.errors`,w),W.return(!1)}var Z1={keyword:new d.Name("keyword"),schemaPath:new d.Name("schemaPath"),params:new d.Name("params"),propertyName:new d.Name("propertyName"),message:new d.Name("message"),schema:new d.Name("schema"),parentSchema:new d.Name("parentSchema")};function R3($,w,W){let{createErrors:Z}=$.it;if(Z===!1)return d._`{}`;return YK($,w,W)}function YK($,w,W={}){let{gen:Z,it:X}=$,Y=[GK(X,W),JK($,W)];return TK($,w,Y),Z.object(...Y)}function GK({errorPath:$},{instancePath:w}){let W=w?d.str`${$}${(0,V8.getErrorPath)(w,V8.Type.Str)}`:$;return[O0.default.instancePath,(0,d.strConcat)(O0.default.instancePath,W)]}function JK({keyword:$,it:{errSchemaPath:w}},{schemaPath:W,parentSchema:Z}){let X=Z?w:d.str`${w}/${$}`;if(W)X=d.str`${X}${(0,V8.getErrorPath)(W,V8.Type.Str)}`;return[Z1.schemaPath,X]}function TK($,{params:w,message:W},Z){let{keyword:X,data:Y,schemaValue:G,it:J}=$,{opts:T,propertyName:Q,topSchemaRef:M,schemaPath:z}=J;if(Z.push([Z1.keyword,X],[Z1.params,typeof w=="function"?w($):w||d._`{}`]),T.messages)Z.push([Z1.message,typeof W=="function"?W($):W]);if(T.verbose)Z.push([Z1.schema,G],[Z1.parentSchema,d._`${M}${z}`],[O0.default.data,Y]);if(Q)Z.push([Z1.propertyName,Q])}});var x3=L((I3)=>{Object.defineProperty(I3,"__esModule",{value:!0});I3.boolOrEmptySchema=I3.topBoolOrEmptySchema=void 0;var KK=pw(),BK=h(),PK=B$(),VK={message:"boolean schema is false"};function fK($){let{gen:w,schema:W,validateName:Z}=$;if(W===!1)y3($,!1);else if(typeof W=="object"&&W.$async===!0)w.return(PK.default.data);else w.assign(BK._`${Z}.errors`,null),w.return(!0)}I3.topBoolOrEmptySchema=fK;function qK($,w){let{gen:W,schema:Z}=$;if(Z===!1)W.var(w,!1),y3($);else W.var(w,!0)}I3.boolOrEmptySchema=qK;function y3($,w){let{gen:W,data:Z}=$,X={gen:W,keyword:"false schema",data:Z,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:$};(0,KK.reportError)(X,VK,void 0,w)}});var hW=L((_3)=>{Object.defineProperty(_3,"__esModule",{value:!0});_3.getRules=_3.isJSONType=void 0;var HK=["string","number","integer","boolean","null","object","array"],FK=new Set(HK);function OK($){return typeof $=="string"&&FK.has($)}_3.isJSONType=OK;function EK(){let $={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...$,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},$.number,$.string,$.array,$.object],post:{rules:[]},all:{},keywords:{}}}_3.getRules=EK});var iW=L((h3)=>{Object.defineProperty(h3,"__esModule",{value:!0});h3.shouldUseRule=h3.shouldUseGroup=h3.schemaHasRulesForType=void 0;function DK({schema:$,self:w},W){let Z=w.RULES.types[W];return Z&&Z!==!0&&v3($,Z)}h3.schemaHasRulesForType=DK;function v3($,w){return w.rules.some((W)=>u3($,W))}h3.shouldUseGroup=v3;function u3($,w){var W;return $[w.keyword]!==void 0||((W=w.definition.implements)===null||W===void 0?void 0:W.some((Z)=>$[Z]!==void 0))}h3.shouldUseRule=u3});var tw=L((d3)=>{Object.defineProperty(d3,"__esModule",{value:!0});d3.reportTypeError=d3.checkDataTypes=d3.checkDataType=d3.coerceAndCheckDataType=d3.getJSONTypes=d3.getSchemaTypes=d3.DataType=void 0;var SK=hW(),RK=iW(),CK=pw(),v=h(),m3=c(),p1;(function($){$[$.Correct=0]="Correct",$[$.Wrong=1]="Wrong"})(p1||(d3.DataType=p1={}));function jK($){let w=l3($.type);if(w.includes("null")){if($.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!w.length&&$.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if($.nullable===!0)w.push("null")}return w}d3.getSchemaTypes=jK;function l3($){let w=Array.isArray($)?$:$?[$]:[];if(w.every(SK.isJSONType))return w;throw Error("type must be JSONType or JSONType[]: "+w.join(","))}d3.getJSONTypes=l3;function yK($,w){let{gen:W,data:Z,opts:X}=$,Y=IK(w,X.coerceTypes),G=w.length>0&&!(Y.length===0&&w.length===1&&(0,RK.schemaHasRulesForType)($,w[0]));if(G){let J=lW(w,Z,X.strictNumbers,p1.Wrong);W.if(J,()=>{if(Y.length)bK($,w,Y);else cW($)})}return G}d3.coerceAndCheckDataType=yK;var c3=new Set(["string","number","integer","boolean","null"]);function IK($,w){return w?$.filter((W)=>c3.has(W)||w==="array"&&W==="array"):[]}function bK($,w,W){let{gen:Z,data:X,opts:Y}=$,G=Z.let("dataType",v._`typeof ${X}`),J=Z.let("coerced",v._`undefined`);if(Y.coerceTypes==="array")Z.if(v._`${G} == 'object' && Array.isArray(${X}) && ${X}.length == 1`,()=>Z.assign(X,v._`${X}[0]`).assign(G,v._`typeof ${X}`).if(lW(w,X,Y.strictNumbers),()=>Z.assign(J,X)));Z.if(v._`${J} !== undefined`);for(let Q of W)if(c3.has(Q)||Q==="array"&&Y.coerceTypes==="array")T(Q);Z.else(),cW($),Z.endIf(),Z.if(v._`${J} !== undefined`,()=>{Z.assign(X,J),xK($,J)});function T(Q){switch(Q){case"string":Z.elseIf(v._`${G} == "number" || ${G} == "boolean"`).assign(J,v._`"" + ${X}`).elseIf(v._`${X} === null`).assign(J,v._`""`);return;case"number":Z.elseIf(v._`${G} == "boolean" || ${X} === null
30
+ || (${G} == "string" && ${X} && ${X} == +${X})`).assign(J,v._`+${X}`);return;case"integer":Z.elseIf(v._`${G} === "boolean" || ${X} === null
31
+ || (${G} === "string" && ${X} && ${X} == +${X} && !(${X} % 1))`).assign(J,v._`+${X}`);return;case"boolean":Z.elseIf(v._`${X} === "false" || ${X} === 0 || ${X} === null`).assign(J,!1).elseIf(v._`${X} === "true" || ${X} === 1`).assign(J,!0);return;case"null":Z.elseIf(v._`${X} === "" || ${X} === 0 || ${X} === false`),Z.assign(J,null);return;case"array":Z.elseIf(v._`${G} === "string" || ${G} === "number"
32
+ || ${G} === "boolean" || ${X} === null`).assign(J,v._`[${X}]`)}}}function xK({gen:$,parentData:w,parentDataProperty:W},Z){$.if(v._`${w} !== undefined`,()=>$.assign(v._`${w}[${W}]`,Z))}function mW($,w,W,Z=p1.Correct){let X=Z===p1.Correct?v.operators.EQ:v.operators.NEQ,Y;switch($){case"null":return v._`${w} ${X} null`;case"array":Y=v._`Array.isArray(${w})`;break;case"object":Y=v._`${w} && typeof ${w} == "object" && !Array.isArray(${w})`;break;case"integer":Y=G(v._`!(${w} % 1) && !isNaN(${w})`);break;case"number":Y=G();break;default:return v._`typeof ${w} ${X} ${$}`}return Z===p1.Correct?Y:(0,v.not)(Y);function G(J=v.nil){return(0,v.and)(v._`typeof ${w} == "number"`,J,W?v._`isFinite(${w})`:v.nil)}}d3.checkDataType=mW;function lW($,w,W,Z){if($.length===1)return mW($[0],w,W,Z);let X,Y=(0,m3.toHash)($);if(Y.array&&Y.object){let G=v._`typeof ${w} != "object"`;X=Y.null?G:v._`!${w} || ${G}`,delete Y.null,delete Y.array,delete Y.object}else X=v.nil;if(Y.number)delete Y.integer;for(let G in Y)X=(0,v.and)(X,mW(G,w,W,Z));return X}d3.checkDataTypes=lW;var _K={message:({schema:$})=>`must be ${$}`,params:({schema:$,schemaValue:w})=>typeof $=="string"?v._`{type: ${$}}`:v._`{type: ${w}}`};function cW($){let w=gK($);(0,CK.reportError)(w,_K)}d3.reportTypeError=cW;function gK($){let{gen:w,data:W,schema:Z}=$,X=(0,m3.schemaRefOrVal)($,Z,"type");return{gen:w,keyword:"type",data:W,schema:Z.type,schemaCode:X,schemaValue:X,parentSchema:Z,params:{},it:$}}});var s3=L((t3)=>{Object.defineProperty(t3,"__esModule",{value:!0});t3.assignDefaults=void 0;var t1=h(),cK=c();function dK($,w){let{properties:W,items:Z}=$.schema;if(w==="object"&&W)for(let X in W)p3($,X,W[X].default);else if(w==="array"&&Array.isArray(Z))Z.forEach((X,Y)=>p3($,Y,X.default))}t3.assignDefaults=dK;function p3($,w,W){let{gen:Z,compositeRule:X,data:Y,opts:G}=$;if(W===void 0)return;let J=t1._`${Y}${(0,t1.getProperty)(w)}`;if(X){(0,cK.checkStrictMode)($,`default is ignored for: ${J}`);return}let T=t1._`${J} === undefined`;if(G.useDefaults==="empty")T=t1._`${T} || ${J} === null || ${J} === ""`;Z.if(T,t1._`${J} = ${(0,t1.stringify)(W)}`)}});var h0=L((e3)=>{Object.defineProperty(e3,"__esModule",{value:!0});e3.validateUnion=e3.validateArray=e3.usePattern=e3.callValidateCode=e3.schemaProperties=e3.allSchemaProperties=e3.noPropertyInData=e3.propertyInData=e3.isOwnProperty=e3.hasPropFunc=e3.reportMissingProp=e3.checkMissingProp=e3.checkReportMissingProp=void 0;var a=h(),dW=c(),_$=B$(),nK=c();function pK($,w){let{gen:W,data:Z,it:X}=$;W.if(pW(W,Z,w,X.opts.ownProperties),()=>{$.setParams({missingProperty:a._`${w}`},!0),$.error()})}e3.checkReportMissingProp=pK;function tK({gen:$,data:w,it:{opts:W}},Z,X){return(0,a.or)(...Z.map((Y)=>(0,a.and)(pW($,w,Y,W.ownProperties),a._`${X} = ${Y}`)))}e3.checkMissingProp=tK;function rK($,w){$.setParams({missingProperty:w},!0),$.error()}e3.reportMissingProp=rK;function a3($){return $.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:a._`Object.prototype.hasOwnProperty`})}e3.hasPropFunc=a3;function nW($,w,W){return a._`${a3($)}.call(${w}, ${W})`}e3.isOwnProperty=nW;function sK($,w,W,Z){let X=a._`${w}${(0,a.getProperty)(W)} !== undefined`;return Z?a._`${X} && ${nW($,w,W)}`:X}e3.propertyInData=sK;function pW($,w,W,Z){let X=a._`${w}${(0,a.getProperty)(W)} === undefined`;return Z?(0,a.or)(X,(0,a.not)(nW($,w,W))):X}e3.noPropertyInData=pW;function o3($){return $?Object.keys($).filter((w)=>w!=="__proto__"):[]}e3.allSchemaProperties=o3;function aK($,w){return o3(w).filter((W)=>!(0,dW.alwaysValidSchema)($,w[W]))}e3.schemaProperties=aK;function oK({schemaCode:$,data:w,it:{gen:W,topSchemaRef:Z,schemaPath:X,errorPath:Y},it:G},J,T,Q){let M=Q?a._`${$}, ${w}, ${Z}${X}`:w,z=[[_$.default.instancePath,(0,a.strConcat)(_$.default.instancePath,Y)],[_$.default.parentData,G.parentData],[_$.default.parentDataProperty,G.parentDataProperty],[_$.default.rootData,_$.default.rootData]];if(G.opts.dynamicRef)z.push([_$.default.dynamicAnchors,_$.default.dynamicAnchors]);let N=a._`${M}, ${W.object(...z)}`;return T!==a.nil?a._`${J}.call(${T}, ${N})`:a._`${J}(${N})`}e3.callValidateCode=oK;var eK=a._`new RegExp`;function $B({gen:$,it:{opts:w}},W){let Z=w.unicodeRegExp?"u":"",{regExp:X}=w.code,Y=X(W,Z);return $.scopeValue("pattern",{key:Y.toString(),ref:Y,code:a._`${X.code==="new RegExp"?eK:(0,nK.useFunc)($,X)}(${W}, ${Z})`})}e3.usePattern=$B;function wB($){let{gen:w,data:W,keyword:Z,it:X}=$,Y=w.name("valid");if(X.allErrors){let J=w.let("valid",!0);return G(()=>w.assign(J,!1)),J}return w.var(Y,!0),G(()=>w.break()),Y;function G(J){let T=w.const("len",a._`${W}.length`);w.forRange("i",0,T,(Q)=>{$.subschema({keyword:Z,dataProp:Q,dataPropType:dW.Type.Num},Y),w.if((0,a.not)(Y),J)})}}e3.validateArray=wB;function WB($){let{gen:w,schema:W,keyword:Z,it:X}=$;if(!Array.isArray(W))throw Error("ajv implementation error");if(W.some((T)=>(0,dW.alwaysValidSchema)(X,T))&&!X.opts.unevaluated)return;let G=w.let("valid",!1),J=w.name("_valid");w.block(()=>W.forEach((T,Q)=>{let M=$.subschema({keyword:Z,schemaProp:Q,compositeRule:!0},J);if(w.assign(G,a._`${G} || ${J}`),!$.mergeValidEvaluated(M,J))w.if((0,a.not)(G))})),$.result(G,()=>$.reset(),()=>$.error(!0))}e3.validateUnion=WB});var YY=L((ZY)=>{Object.defineProperty(ZY,"__esModule",{value:!0});ZY.validateKeywordUsage=ZY.validSchemaType=ZY.funcKeywordCode=ZY.macroKeywordCode=void 0;var E0=h(),X1=B$(),PB=h0(),VB=pw();function fB($,w){let{gen:W,keyword:Z,schema:X,parentSchema:Y,it:G}=$,J=w.macro.call(G.self,X,Y,G),T=WY(W,Z,J);if(G.opts.validateSchema!==!1)G.self.validateSchema(J,!0);let Q=W.name("valid");$.subschema({schema:J,schemaPath:E0.nil,errSchemaPath:`${G.errSchemaPath}/${Z}`,topSchemaRef:T,compositeRule:!0},Q),$.pass(Q,()=>$.error(!0))}ZY.macroKeywordCode=fB;function qB($,w){var W;let{gen:Z,keyword:X,schema:Y,parentSchema:G,$data:J,it:T}=$;HB(T,w);let Q=!J&&w.compile?w.compile.call(T.self,Y,G,T):w.validate,M=WY(Z,X,Q),z=Z.let("valid");$.block$data(z,N),$.ok((W=w.valid)!==null&&W!==void 0?W:z);function N(){if(w.errors===!1){if(P(),w.modifying)wY($);q(()=>$.error())}else{let f=w.async?B():K();if(w.modifying)wY($);q(()=>UB($,f))}}function B(){let f=Z.let("ruleErrs",null);return Z.try(()=>P(E0._`await `),(H)=>Z.assign(z,!1).if(E0._`${H} instanceof ${T.ValidationError}`,()=>Z.assign(f,E0._`${H}.errors`),()=>Z.throw(H))),f}function K(){let f=E0._`${M}.errors`;return Z.assign(f,null),P(E0.nil),f}function P(f=w.async?E0._`await `:E0.nil){let H=T.opts.passContext?X1.default.this:X1.default.self,E=!(("compile"in w)&&!J||w.schema===!1);Z.assign(z,E0._`${f}${(0,PB.callValidateCode)($,M,H,E)}`,w.modifying)}function q(f){var H;Z.if((0,E0.not)((H=w.valid)!==null&&H!==void 0?H:z),f)}}ZY.funcKeywordCode=qB;function wY($){let{gen:w,data:W,it:Z}=$;w.if(Z.parentData,()=>w.assign(W,E0._`${Z.parentData}[${Z.parentDataProperty}]`))}function UB($,w){let{gen:W}=$;W.if(E0._`Array.isArray(${w})`,()=>{W.assign(X1.default.vErrors,E0._`${X1.default.vErrors} === null ? ${w} : ${X1.default.vErrors}.concat(${w})`).assign(X1.default.errors,E0._`${X1.default.vErrors}.length`),(0,VB.extendErrors)($)},()=>$.error())}function HB({schemaEnv:$},w){if(w.async&&!$.$async)throw Error("async keyword in sync schema")}function WY($,w,W){if(W===void 0)throw Error(`keyword "${w}" failed to compile`);return $.scopeValue("keyword",typeof W=="function"?{ref:W}:{ref:W,code:(0,E0.stringify)(W)})}function FB($,w,W=!1){return!w.length||w.some((Z)=>Z==="array"?Array.isArray($):Z==="object"?$&&typeof $=="object"&&!Array.isArray($):typeof $==Z||W&&typeof $>"u")}ZY.validSchemaType=FB;function OB({schema:$,opts:w,self:W,errSchemaPath:Z},X,Y){if(Array.isArray(X.keyword)?!X.keyword.includes(Y):X.keyword!==Y)throw Error("ajv implementation error");let G=X.dependencies;if(G===null||G===void 0?void 0:G.some((J)=>!Object.prototype.hasOwnProperty.call($,J)))throw Error(`parent schema must have dependencies of ${Y}: ${G.join(",")}`);if(X.validateSchema){if(!X.validateSchema($[Y])){let T=`keyword "${Y}" value is invalid at path "${Z}": `+W.errorsText(X.validateSchema.errors);if(w.validateSchema==="log")W.logger.error(T);else throw Error(T)}}}ZY.validateKeywordUsage=OB});var QY=L((JY)=>{Object.defineProperty(JY,"__esModule",{value:!0});JY.extendSubschemaMode=JY.extendSubschemaData=JY.getSubschema=void 0;var w$=h(),GY=c();function kB($,{keyword:w,schemaProp:W,schema:Z,schemaPath:X,errSchemaPath:Y,topSchemaRef:G}){if(w!==void 0&&Z!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(w!==void 0){let J=$.schema[w];return W===void 0?{schema:J,schemaPath:w$._`${$.schemaPath}${(0,w$.getProperty)(w)}`,errSchemaPath:`${$.errSchemaPath}/${w}`}:{schema:J[W],schemaPath:w$._`${$.schemaPath}${(0,w$.getProperty)(w)}${(0,w$.getProperty)(W)}`,errSchemaPath:`${$.errSchemaPath}/${w}/${(0,GY.escapeFragment)(W)}`}}if(Z!==void 0){if(X===void 0||Y===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:Z,schemaPath:X,topSchemaRef:G,errSchemaPath:Y}}throw Error('either "keyword" or "schema" must be passed')}JY.getSubschema=kB;function AB($,w,{dataProp:W,dataPropType:Z,data:X,dataTypes:Y,propertyName:G}){if(X!==void 0&&W!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:J}=w;if(W!==void 0){let{errorPath:Q,dataPathArr:M,opts:z}=w,N=J.let("data",w$._`${w.data}${(0,w$.getProperty)(W)}`,!0);T(N),$.errorPath=w$.str`${Q}${(0,GY.getErrorPath)(W,Z,z.jsPropertySyntax)}`,$.parentDataProperty=w$._`${W}`,$.dataPathArr=[...M,$.parentDataProperty]}if(X!==void 0){let Q=X instanceof w$.Name?X:J.let("data",X,!0);if(T(Q),G!==void 0)$.propertyName=G}if(Y)$.dataTypes=Y;function T(Q){$.data=Q,$.dataLevel=w.dataLevel+1,$.dataTypes=[],w.definedProperties=new Set,$.parentData=w.data,$.dataNames=[...w.dataNames,Q]}}JY.extendSubschemaData=AB;function SB($,{jtdDiscriminator:w,jtdMetadata:W,compositeRule:Z,createErrors:X,allErrors:Y}){if(Z!==void 0)$.compositeRule=Z;if(X!==void 0)$.createErrors=X;if(Y!==void 0)$.allErrors=Y;$.jtdDiscriminator=w,$.jtdMetadata=W}JY.extendSubschemaMode=SB});var tW=L((Gk,MY)=>{MY.exports=function $(w,W){if(w===W)return!0;if(w&&W&&typeof w=="object"&&typeof W=="object"){if(w.constructor!==W.constructor)return!1;var Z,X,Y;if(Array.isArray(w)){if(Z=w.length,Z!=W.length)return!1;for(X=Z;X--!==0;)if(!$(w[X],W[X]))return!1;return!0}if(w.constructor===RegExp)return w.source===W.source&&w.flags===W.flags;if(w.valueOf!==Object.prototype.valueOf)return w.valueOf()===W.valueOf();if(w.toString!==Object.prototype.toString)return w.toString()===W.toString();if(Y=Object.keys(w),Z=Y.length,Z!==Object.keys(W).length)return!1;for(X=Z;X--!==0;)if(!Object.prototype.hasOwnProperty.call(W,Y[X]))return!1;for(X=Z;X--!==0;){var G=Y[X];if(!$(w[G],W[G]))return!1}return!0}return w!==w&&W!==W}});var NY=L((Jk,zY)=>{var g$=zY.exports=function($,w,W){if(typeof w=="function")W=w,w={};W=w.cb||W;var Z=typeof W=="function"?W:W.pre||function(){},X=W.post||function(){};f8(w,Z,X,$,"",$)};g$.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};g$.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};g$.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};g$.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 f8($,w,W,Z,X,Y,G,J,T,Q){if(Z&&typeof Z=="object"&&!Array.isArray(Z)){w(Z,X,Y,G,J,T,Q);for(var M in Z){var z=Z[M];if(Array.isArray(z)){if(M in g$.arrayKeywords)for(var N=0;N<z.length;N++)f8($,w,W,z[N],X+"/"+M+"/"+N,Y,X,M,Z,N)}else if(M in g$.propsKeywords){if(z&&typeof z=="object")for(var B in z)f8($,w,W,z[B],X+"/"+M+"/"+jB(B),Y,X,M,Z,B)}else if(M in g$.keywords||$.allKeys&&!(M in g$.skipKeywords))f8($,w,W,z,X+"/"+M,Y,X,M,Z)}W(Z,X,Y,G,J,T,Q)}}function jB($){return $.replace(/~/g,"~0").replace(/\//g,"~1")}});var rw=L((VY)=>{Object.defineProperty(VY,"__esModule",{value:!0});VY.getSchemaRefs=VY.resolveUrl=VY.normalizeId=VY._getFullPath=VY.getFullPath=VY.inlineRef=void 0;var yB=c(),IB=tW(),bB=NY(),xB=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function _B($,w=!0){if(typeof $=="boolean")return!0;if(w===!0)return!rW($);if(!w)return!1;return KY($)<=w}VY.inlineRef=_B;var gB=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function rW($){for(let w in $){if(gB.has(w))return!0;let W=$[w];if(Array.isArray(W)&&W.some(rW))return!0;if(typeof W=="object"&&rW(W))return!0}return!1}function KY($){let w=0;for(let W in $){if(W==="$ref")return 1/0;if(w++,xB.has(W))continue;if(typeof $[W]=="object")(0,yB.eachItem)($[W],(Z)=>w+=KY(Z));if(w===1/0)return 1/0}return w}function BY($,w="",W){if(W!==!1)w=r1(w);let Z=$.parse(w);return PY($,Z)}VY.getFullPath=BY;function PY($,w){return $.serialize(w).split("#")[0]+"#"}VY._getFullPath=PY;var vB=/#\/?$/;function r1($){return $?$.replace(vB,""):""}VY.normalizeId=r1;function uB($,w,W){return W=r1(W),$.resolve(w,W)}VY.resolveUrl=uB;var hB=/^[a-z_][-a-z0-9._]*$/i;function iB($,w){if(typeof $=="boolean")return{};let{schemaId:W,uriResolver:Z}=this.opts,X=r1($[W]||w),Y={"":X},G=BY(Z,X,!1),J={},T=new Set;return bB($,{allKeys:!0},(z,N,B,K)=>{if(K===void 0)return;let P=G+N,q=Y[K];if(typeof z[W]=="string")q=f.call(this,z[W]);H.call(this,z.$anchor),H.call(this,z.$dynamicAnchor),Y[N]=q;function f(E){let S=this.opts.uriResolver.resolve;if(E=r1(q?S(q,E):E),T.has(E))throw M(E);T.add(E);let A=this.refs[E];if(typeof A=="string")A=this.refs[A];if(typeof A=="object")Q(z,A.schema,E);else if(E!==r1(P))if(E[0]==="#")Q(z,J[E],E),J[E]=z;else this.refs[E]=P;return E}function H(E){if(typeof E=="string"){if(!hB.test(E))throw Error(`invalid anchor "${E}"`);f.call(this,`#${E}`)}}}),J;function Q(z,N,B){if(N!==void 0&&!IB(z,N))throw M(B)}function M(z){return Error(`reference "${z}" resolves to more than one schema`)}}VY.getSchemaRefs=iB});var ow=L((yY)=>{Object.defineProperty(yY,"__esModule",{value:!0});yY.getData=yY.KeywordCxt=yY.validateFunctionCode=void 0;var OY=x3(),qY=tw(),aW=iW(),q8=tw(),pB=s3(),aw=YY(),sW=QY(),R=h(),x=B$(),tB=rw(),P$=c(),sw=pw();function rB($){if(DY($)){if(kY($),LY($)){oB($);return}}EY($,()=>(0,OY.topBoolOrEmptySchema)($))}yY.validateFunctionCode=rB;function EY({gen:$,validateName:w,schema:W,schemaEnv:Z,opts:X},Y){if(X.code.es5)$.func(w,R._`${x.default.data}, ${x.default.valCxt}`,Z.$async,()=>{$.code(R._`"use strict"; ${UY(W,X)}`),aB($,X),$.code(Y)});else $.func(w,R._`${x.default.data}, ${sB(X)}`,Z.$async,()=>$.code(UY(W,X)).code(Y))}function sB($){return R._`{${x.default.instancePath}="", ${x.default.parentData}, ${x.default.parentDataProperty}, ${x.default.rootData}=${x.default.data}${$.dynamicRef?R._`, ${x.default.dynamicAnchors}={}`:R.nil}}={}`}function aB($,w){$.if(x.default.valCxt,()=>{if($.var(x.default.instancePath,R._`${x.default.valCxt}.${x.default.instancePath}`),$.var(x.default.parentData,R._`${x.default.valCxt}.${x.default.parentData}`),$.var(x.default.parentDataProperty,R._`${x.default.valCxt}.${x.default.parentDataProperty}`),$.var(x.default.rootData,R._`${x.default.valCxt}.${x.default.rootData}`),w.dynamicRef)$.var(x.default.dynamicAnchors,R._`${x.default.valCxt}.${x.default.dynamicAnchors}`)},()=>{if($.var(x.default.instancePath,R._`""`),$.var(x.default.parentData,R._`undefined`),$.var(x.default.parentDataProperty,R._`undefined`),$.var(x.default.rootData,x.default.data),w.dynamicRef)$.var(x.default.dynamicAnchors,R._`{}`)})}function oB($){let{schema:w,opts:W,gen:Z}=$;EY($,()=>{if(W.$comment&&w.$comment)SY($);if(ZP($),Z.let(x.default.vErrors,null),Z.let(x.default.errors,0),W.unevaluated)eB($);AY($),GP($)});return}function eB($){let{gen:w,validateName:W}=$;$.evaluated=w.const("evaluated",R._`${W}.evaluated`),w.if(R._`${$.evaluated}.dynamicProps`,()=>w.assign(R._`${$.evaluated}.props`,R._`undefined`)),w.if(R._`${$.evaluated}.dynamicItems`,()=>w.assign(R._`${$.evaluated}.items`,R._`undefined`))}function UY($,w){let W=typeof $=="object"&&$[w.schemaId];return W&&(w.code.source||w.code.process)?R._`/*# sourceURL=${W} */`:R.nil}function $P($,w){if(DY($)){if(kY($),LY($)){wP($,w);return}}(0,OY.boolOrEmptySchema)($,w)}function LY({schema:$,self:w}){if(typeof $=="boolean")return!$;for(let W in $)if(w.RULES.all[W])return!0;return!1}function DY($){return typeof $.schema!="boolean"}function wP($,w){let{schema:W,gen:Z,opts:X}=$;if(X.$comment&&W.$comment)SY($);XP($),YP($);let Y=Z.const("_errs",x.default.errors);AY($,Y),Z.var(w,R._`${Y} === ${x.default.errors}`)}function kY($){(0,P$.checkUnknownRules)($),WP($)}function AY($,w){if($.opts.jtd)return HY($,[],!1,w);let W=(0,qY.getSchemaTypes)($.schema),Z=(0,qY.coerceAndCheckDataType)($,W);HY($,W,!Z,w)}function WP($){let{schema:w,errSchemaPath:W,opts:Z,self:X}=$;if(w.$ref&&Z.ignoreKeywordsWithRef&&(0,P$.schemaHasRulesButRef)(w,X.RULES))X.logger.warn(`$ref: keywords ignored in schema at path "${W}"`)}function ZP($){let{schema:w,opts:W}=$;if(w.default!==void 0&&W.useDefaults&&W.strictSchema)(0,P$.checkStrictMode)($,"default is ignored in the schema root")}function XP($){let w=$.schema[$.opts.schemaId];if(w)$.baseId=(0,tB.resolveUrl)($.opts.uriResolver,$.baseId,w)}function YP($){if($.schema.$async&&!$.schemaEnv.$async)throw Error("async schema in sync schema")}function SY({gen:$,schemaEnv:w,schema:W,errSchemaPath:Z,opts:X}){let Y=W.$comment;if(X.$comment===!0)$.code(R._`${x.default.self}.logger.log(${Y})`);else if(typeof X.$comment=="function"){let G=R.str`${Z}/$comment`,J=$.scopeValue("root",{ref:w.root});$.code(R._`${x.default.self}.opts.$comment(${Y}, ${G}, ${J}.schema)`)}}function GP($){let{gen:w,schemaEnv:W,validateName:Z,ValidationError:X,opts:Y}=$;if(W.$async)w.if(R._`${x.default.errors} === 0`,()=>w.return(x.default.data),()=>w.throw(R._`new ${X}(${x.default.vErrors})`));else{if(w.assign(R._`${Z}.errors`,x.default.vErrors),Y.unevaluated)JP($);w.return(R._`${x.default.errors} === 0`)}}function JP({gen:$,evaluated:w,props:W,items:Z}){if(W instanceof R.Name)$.assign(R._`${w}.props`,W);if(Z instanceof R.Name)$.assign(R._`${w}.items`,Z)}function HY($,w,W,Z){let{gen:X,schema:Y,data:G,allErrors:J,opts:T,self:Q}=$,{RULES:M}=Q;if(Y.$ref&&(T.ignoreKeywordsWithRef||!(0,P$.schemaHasRulesButRef)(Y,M))){X.block(()=>CY($,"$ref",M.all.$ref.definition));return}if(!T.jtd)TP($,w);X.block(()=>{for(let N of M.rules)z(N);z(M.post)});function z(N){if(!(0,aW.shouldUseGroup)(Y,N))return;if(N.type){if(X.if((0,q8.checkDataType)(N.type,G,T.strictNumbers)),FY($,N),w.length===1&&w[0]===N.type&&W)X.else(),(0,q8.reportTypeError)($);X.endIf()}else FY($,N);if(!J)X.if(R._`${x.default.errors} === ${Z||0}`)}}function FY($,w){let{gen:W,schema:Z,opts:{useDefaults:X}}=$;if(X)(0,pB.assignDefaults)($,w.type);W.block(()=>{for(let Y of w.rules)if((0,aW.shouldUseRule)(Z,Y))CY($,Y.keyword,Y.definition,w.type)})}function TP($,w){if($.schemaEnv.meta||!$.opts.strictTypes)return;if(QP($,w),!$.opts.allowUnionTypes)MP($,w);zP($,$.dataTypes)}function QP($,w){if(!w.length)return;if(!$.dataTypes.length){$.dataTypes=w;return}w.forEach((W)=>{if(!RY($.dataTypes,W))oW($,`type "${W}" not allowed by context "${$.dataTypes.join(",")}"`)}),KP($,w)}function MP($,w){if(w.length>1&&!(w.length===2&&w.includes("null")))oW($,"use allowUnionTypes to allow union type keyword")}function zP($,w){let W=$.self.RULES.all;for(let Z in W){let X=W[Z];if(typeof X=="object"&&(0,aW.shouldUseRule)($.schema,X)){let{type:Y}=X.definition;if(Y.length&&!Y.some((G)=>NP(w,G)))oW($,`missing type "${Y.join(",")}" for keyword "${Z}"`)}}}function NP($,w){return $.includes(w)||w==="number"&&$.includes("integer")}function RY($,w){return $.includes(w)||w==="integer"&&$.includes("number")}function KP($,w){let W=[];for(let Z of $.dataTypes)if(RY(w,Z))W.push(Z);else if(w.includes("integer")&&Z==="number")W.push("integer");$.dataTypes=W}function oW($,w){let W=$.schemaEnv.baseId+$.errSchemaPath;w+=` at "${W}" (strictTypes)`,(0,P$.checkStrictMode)($,w,$.opts.strictTypes)}class eW{constructor($,w,W){if((0,aw.validateKeywordUsage)($,w,W),this.gen=$.gen,this.allErrors=$.allErrors,this.keyword=W,this.data=$.data,this.schema=$.schema[W],this.$data=w.$data&&$.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,P$.schemaRefOrVal)($,this.schema,W,this.$data),this.schemaType=w.schemaType,this.parentSchema=$.schema,this.params={},this.it=$,this.def=w,this.$data)this.schemaCode=$.gen.const("vSchema",jY(this.$data,$));else if(this.schemaCode=this.schemaValue,!(0,aw.validSchemaType)(this.schema,w.schemaType,w.allowUndefined))throw Error(`${W} value must be ${JSON.stringify(w.schemaType)}`);if("code"in w?w.trackErrors:w.errors!==!1)this.errsCount=$.gen.const("_errs",x.default.errors)}result($,w,W){this.failResult((0,R.not)($),w,W)}failResult($,w,W){if(this.gen.if($),W)W();else this.error();if(w){if(this.gen.else(),w(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass($,w){this.failResult((0,R.not)($),void 0,w)}fail($){if($===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if($),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data($){if(!this.$data)return this.fail($);let{schemaCode:w}=this;this.fail(R._`${w} !== undefined && (${(0,R.or)(this.invalid$data(),$)})`)}error($,w,W){if(w){this.setParams(w),this._error($,W),this.setParams({});return}this._error($,W)}_error($,w){($?sw.reportExtraError:sw.reportError)(this,this.def.error,w)}$dataError(){(0,sw.reportError)(this,this.def.$dataError||sw.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,sw.resetErrorsCount)(this.gen,this.errsCount)}ok($){if(!this.allErrors)this.gen.if($)}setParams($,w){if(w)Object.assign(this.params,$);else this.params=$}block$data($,w,W=R.nil){this.gen.block(()=>{this.check$data($,W),w()})}check$data($=R.nil,w=R.nil){if(!this.$data)return;let{gen:W,schemaCode:Z,schemaType:X,def:Y}=this;if(W.if((0,R.or)(R._`${Z} === undefined`,w)),$!==R.nil)W.assign($,!0);if(X.length||Y.validateSchema){if(W.elseIf(this.invalid$data()),this.$dataError(),$!==R.nil)W.assign($,!1)}W.else()}invalid$data(){let{gen:$,schemaCode:w,schemaType:W,def:Z,it:X}=this;return(0,R.or)(Y(),G());function Y(){if(W.length){if(!(w instanceof R.Name))throw Error("ajv implementation error");let J=Array.isArray(W)?W:[W];return R._`${(0,q8.checkDataTypes)(J,w,X.opts.strictNumbers,q8.DataType.Wrong)}`}return R.nil}function G(){if(Z.validateSchema){let J=$.scopeValue("validate$data",{ref:Z.validateSchema});return R._`!${J}(${w})`}return R.nil}}subschema($,w){let W=(0,sW.getSubschema)(this.it,$);(0,sW.extendSubschemaData)(W,this.it,$),(0,sW.extendSubschemaMode)(W,$);let Z={...this.it,...W,items:void 0,props:void 0};return $P(Z,w),Z}mergeEvaluated($,w){let{it:W,gen:Z}=this;if(!W.opts.unevaluated)return;if(W.props!==!0&&$.props!==void 0)W.props=P$.mergeEvaluated.props(Z,$.props,W.props,w);if(W.items!==!0&&$.items!==void 0)W.items=P$.mergeEvaluated.items(Z,$.items,W.items,w)}mergeValidEvaluated($,w){let{it:W,gen:Z}=this;if(W.opts.unevaluated&&(W.props!==!0||W.items!==!0))return Z.if(w,()=>this.mergeEvaluated($,R.Name)),!0}}yY.KeywordCxt=eW;function CY($,w,W,Z){let X=new eW($,W,w);if("code"in W)W.code(X,Z);else if(X.$data&&W.validate)(0,aw.funcKeywordCode)(X,W);else if("macro"in W)(0,aw.macroKeywordCode)(X,W);else if(W.compile||W.validate)(0,aw.funcKeywordCode)(X,W)}var BP=/^\/(?:[^~]|~0|~1)*$/,PP=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function jY($,{dataLevel:w,dataNames:W,dataPathArr:Z}){let X,Y;if($==="")return x.default.rootData;if($[0]==="/"){if(!BP.test($))throw Error(`Invalid JSON-pointer: ${$}`);X=$,Y=x.default.rootData}else{let Q=PP.exec($);if(!Q)throw Error(`Invalid JSON-pointer: ${$}`);let M=+Q[1];if(X=Q[2],X==="#"){if(M>=w)throw Error(T("property/index",M));return Z[w-M]}if(M>w)throw Error(T("data",M));if(Y=W[w-M],!X)return Y}let G=Y,J=X.split("/");for(let Q of J)if(Q)Y=R._`${Y}${(0,R.getProperty)((0,P$.unescapeJsonPointer)(Q))}`,G=R._`${G} && ${Y}`;return G;function T(Q,M){return`Cannot access ${Q} ${M} levels up, current level is ${w}`}}yY.getData=jY});var U8=L((xY)=>{Object.defineProperty(xY,"__esModule",{value:!0});class bY extends Error{constructor($){super("validation failed");this.errors=$,this.ajv=this.validation=!0}}xY.default=bY});var ew=L((gY)=>{Object.defineProperty(gY,"__esModule",{value:!0});var $5=rw();class _Y extends Error{constructor($,w,W,Z){super(Z||`can't resolve reference ${W} from id ${w}`);this.missingRef=(0,$5.resolveUrl)($,w,W),this.missingSchema=(0,$5.normalizeId)((0,$5.getFullPath)($,this.missingRef))}}gY.default=_Y});var F8=L((hY)=>{Object.defineProperty(hY,"__esModule",{value:!0});hY.resolveSchema=hY.getCompilingSchema=hY.resolveRef=hY.compileSchema=hY.SchemaEnv=void 0;var p0=h(),HP=U8(),Y1=B$(),t0=rw(),vY=c(),FP=ow();class $4{constructor($){var w;this.refs={},this.dynamicAnchors={};let W;if(typeof $.schema=="object")W=$.schema;this.schema=$.schema,this.schemaId=$.schemaId,this.root=$.root||this,this.baseId=(w=$.baseId)!==null&&w!==void 0?w:(0,t0.normalizeId)(W===null||W===void 0?void 0:W[$.schemaId||"$id"]),this.schemaPath=$.schemaPath,this.localRefs=$.localRefs,this.meta=$.meta,this.$async=W===null||W===void 0?void 0:W.$async,this.refs={}}}hY.SchemaEnv=$4;function W5($){let w=uY.call(this,$);if(w)return w;let W=(0,t0.getFullPath)(this.opts.uriResolver,$.root.baseId),{es5:Z,lines:X}=this.opts.code,{ownProperties:Y}=this.opts,G=new p0.CodeGen(this.scope,{es5:Z,lines:X,ownProperties:Y}),J;if($.$async)J=G.scopeValue("Error",{ref:HP.default,code:p0._`require("ajv/dist/runtime/validation_error").default`});let T=G.scopeName("validate");$.validateName=T;let Q={gen:G,allErrors:this.opts.allErrors,data:Y1.default.data,parentData:Y1.default.parentData,parentDataProperty:Y1.default.parentDataProperty,dataNames:[Y1.default.data],dataPathArr:[p0.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:$.schema,code:(0,p0.stringify)($.schema)}:{ref:$.schema}),validateName:T,ValidationError:J,schema:$.schema,schemaEnv:$,rootId:W,baseId:$.baseId||W,schemaPath:p0.nil,errSchemaPath:$.schemaPath||(this.opts.jtd?"":"#"),errorPath:p0._`""`,opts:this.opts,self:this},M;try{this._compilations.add($),(0,FP.validateFunctionCode)(Q),G.optimize(this.opts.code.optimize);let z=G.toString();if(M=`${G.scopeRefs(Y1.default.scope)}return ${z}`,this.opts.code.process)M=this.opts.code.process(M,$);let B=Function(`${Y1.default.self}`,`${Y1.default.scope}`,M)(this,this.scope.get());if(this.scope.value(T,{ref:B}),B.errors=null,B.schema=$.schema,B.schemaEnv=$,$.$async)B.$async=!0;if(this.opts.code.source===!0)B.source={validateName:T,validateCode:z,scopeValues:G._values};if(this.opts.unevaluated){let{props:K,items:P}=Q;if(B.evaluated={props:K instanceof p0.Name?void 0:K,items:P instanceof p0.Name?void 0:P,dynamicProps:K instanceof p0.Name,dynamicItems:P instanceof p0.Name},B.source)B.source.evaluated=(0,p0.stringify)(B.evaluated)}return $.validate=B,$}catch(z){if(delete $.validate,delete $.validateName,M)this.logger.error("Error compiling schema, function code:",M);throw z}finally{this._compilations.delete($)}}hY.compileSchema=W5;function OP($,w,W){var Z;W=(0,t0.resolveUrl)(this.opts.uriResolver,w,W);let X=$.refs[W];if(X)return X;let Y=DP.call(this,$,W);if(Y===void 0){let G=(Z=$.localRefs)===null||Z===void 0?void 0:Z[W],{schemaId:J}=this.opts;if(G)Y=new $4({schema:G,schemaId:J,root:$,baseId:w})}if(Y===void 0)return;return $.refs[W]=EP.call(this,Y)}hY.resolveRef=OP;function EP($){if((0,t0.inlineRef)($.schema,this.opts.inlineRefs))return $.schema;return $.validate?$:W5.call(this,$)}function uY($){for(let w of this._compilations)if(LP(w,$))return w}hY.getCompilingSchema=uY;function LP($,w){return $.schema===w.schema&&$.root===w.root&&$.baseId===w.baseId}function DP($,w){let W;while(typeof(W=this.refs[w])=="string")w=W;return W||this.schemas[w]||H8.call(this,$,w)}function H8($,w){let W=this.opts.uriResolver.parse(w),Z=(0,t0._getFullPath)(this.opts.uriResolver,W),X=(0,t0.getFullPath)(this.opts.uriResolver,$.baseId,void 0);if(Object.keys($.schema).length>0&&Z===X)return w5.call(this,W,$);let Y=(0,t0.normalizeId)(Z),G=this.refs[Y]||this.schemas[Y];if(typeof G=="string"){let J=H8.call(this,$,G);if(typeof(J===null||J===void 0?void 0:J.schema)!=="object")return;return w5.call(this,W,J)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)W5.call(this,G);if(Y===(0,t0.normalizeId)(w)){let{schema:J}=G,{schemaId:T}=this.opts,Q=J[T];if(Q)X=(0,t0.resolveUrl)(this.opts.uriResolver,X,Q);return new $4({schema:J,schemaId:T,root:$,baseId:X})}return w5.call(this,W,G)}hY.resolveSchema=H8;var kP=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function w5($,{baseId:w,schema:W,root:Z}){var X;if(((X=$.fragment)===null||X===void 0?void 0:X[0])!=="/")return;for(let J of $.fragment.slice(1).split("/")){if(typeof W==="boolean")return;let T=W[(0,vY.unescapeFragment)(J)];if(T===void 0)return;W=T;let Q=typeof W==="object"&&W[this.opts.schemaId];if(!kP.has(J)&&Q)w=(0,t0.resolveUrl)(this.opts.uriResolver,w,Q)}let Y;if(typeof W!="boolean"&&W.$ref&&!(0,vY.schemaHasRulesButRef)(W,this.RULES)){let J=(0,t0.resolveUrl)(this.opts.uriResolver,w,W.$ref);Y=H8.call(this,Z,J)}let{schemaId:G}=this.opts;if(Y=Y||new $4({schema:W,schemaId:G,root:Z,baseId:w}),Y.schema!==Y.root.schema)return Y;return}});var mY=L((Kk,jP)=>{jP.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var T5=L((Bk,rY)=>{var yP=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),X5=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),G1=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),Y5=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),cY=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/]$/u),G5=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/?]$/u),IP=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:]$/u),A0=Array(256);for(let w=0;w<256;w++)A0[w]="%"+"0123456789ABCDEF"[w>>4]+"0123456789ABCDEF"[w&15];function V0($){if($<2048)return A0[192|$>>6]+A0[128|$&63];if($<65536)return A0[224|$>>12]+A0[128|$>>6&63]+A0[128|$&63];return A0[240|$>>18]+A0[128|$>>12&63]+A0[128|$>>6&63]+A0[128|$&63]}function bP($){let w="",W=0,Z=0;for(Z=0;Z<$.length;Z++){if(W=$[Z].charCodeAt(0),W===48)continue;if(!(W>=48&&W<=57||W>=65&&W<=70||W>=97&&W<=102))return"";w+=$[Z];break}for(Z+=1;Z<$.length;Z++){if(W=$[Z].charCodeAt(0),!(W>=48&&W<=57||W>=65&&W<=70||W>=97&&W<=102))return"";w+=$[Z]}return w}var xP=RegExp.prototype.test.bind(/^[\dA-Fa-f]{1,4}$/),_P=RegExp.prototype.test.bind(/^[vV][\dA-Fa-f]+\.[A-Za-z\d\-._~!$&'()*+,;=:]+$/),gP=RegExp.prototype.test.bind(/^[A-Za-z\d\-._~]$/),vP=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function uP($){if($.length===0)return!1;for(let w=0;w<$.length;w++){if(gP($[w]))continue;if($[w]==="%"&&w+2<$.length&&G1($.slice(w+1,w+3))){w+=2;continue}return!1}return!0}function lY($){let w=-1,W=0,Z=-1,X=0;for(let J=0;J<$.length;J++)if($[J]==="0"){if(Z===-1)Z=J;if(X++,X>W)W=X,w=Z}else Z=-1,X=0;if(W<2)return $.join(":");let Y=$.slice(0,w).join(":"),G=$.slice(w+W).join(":");return Y+"::"+G}function hP($){let w=$.indexOf("::");if(w!==-1&&$.indexOf("::",w+1)!==-1)return;let W=w===-1?$.split(":"):$.slice(0,w).split(":"),Z=w===-1?[]:$.slice(w+2).split(":");if(w!==-1){if(W.length===1&&W[0]==="")W.length=0;if(Z.length===1&&Z[0]==="")Z.length=0}let X=W.concat(Z),Y=0;for(let J=0;J<X.length;J++){let T=X[J];if(T==="")return;if(T.indexOf(".")!==-1){if(J!==X.length-1||w!==-1&&Z.length===0||!X5(T))return;Y+=2;continue}if(!xP(T))return;X[J]=parseInt(T,16).toString(16),Y++}if(w===-1){if(Y!==8)return;return lY(X)}if(Y>=8)return;let G=X.slice(0,W.length);for(let J=Y;J<8;J++)G.push("0");for(let J=W.length;J<X.length;J++)G.push(X[J]);return lY(G)}function Z5($){let w=$[0]==="["&&$[$.length-1]==="]";if(($[0]==="["||$[$.length-1]==="]")&&!w)return{host:$,isIPV6:!1,error:!0};let Z=w?$.slice(1,-1):$;if(w&&_P(Z))return Z=Z.toLowerCase(),{host:`[${Z}]`,escapedHost:Z,isIPV6:!1,isIPVFuture:!0};if(iP(Z,":")<2)return{host:$,isIPV6:!1,error:w};let X="",Y=Z.indexOf("%");if(Y!==-1){let J=Z.slice(Y,Y+3).toLowerCase()==="%25"?3:1;if(X=Z.slice(Y+J),!uP(X))return{host:$,isIPV6:!1,error:!0};Z=Z.slice(0,Y)}let G=hP(Z);if(G===void 0)return{host:$,isIPV6:!1,error:!0};return{host:G+(X?"%"+X:""),escapedHost:G+(X?"%25"+X:""),isIPV6:!0}}function iP($,w){let W=0;for(let Z=0;Z<$.length;Z++)if($[Z]===w)W++;return W}function mP($){let w=$,W=[],Z=-1,X=0;while(X=w.length){if(X===1)if(w===".")break;else if(w==="/"){W.push("/");break}else{W.push(w);break}else if(X===2){if(w[0]==="."){if(w[1]===".")break;else if(w[1]==="/"){w=w.slice(2);continue}}else if(w[0]==="/"){if(w[1]==="."||w[1]==="/"){W.push("/");break}}}else if(X===3){if(w==="/.."){if(W.length!==0)W.pop();W.push("/");break}}if(w[0]==="."){if(w[1]==="."){if(w[2]==="/"){w=w.slice(3);continue}}else if(w[1]==="/"){w=w.slice(2);continue}}else if(w[0]==="/"){if(w[1]==="."){if(w[2]==="/"){w=w.slice(2);continue}else if(w[2]==="."){if(w[3]==="/"){if(w=w.slice(3),W.length!==0)W.pop();continue}}}}if((Z=w.indexOf("/",1))===-1){W.push(w);break}else W.push(w.slice(0,Z)),w=w.slice(Z)}return W.join("")}var lP={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},cP=/[@/?#:]/g,dP=/[@/?#]/g;function dY($,w){let W=w?dP:cP;return W.lastIndex=0,$.replace(W,(Z)=>lP[Z])}function nY($,w=!1){if($.indexOf("%")===-1)return $;let W="";for(let Z=0;Z<$.length;Z++){if($[Z]==="%"&&Z+2<$.length){let X=$.slice(Z+1,Z+3);if(G1(X)){let Y=X.toUpperCase(),G=String.fromCharCode(parseInt(Y,16));if(w&&Y5(G))W+=G;else W+="%"+Y;Z+=2;continue}}W+=$[Z]}return W}function nP($){let w="";for(let W=0;W<$.length;W++){let Z=$[W];if(Z==="%"&&W+2<$.length){let X=$.slice(W+1,W+3);if(G1(X)){let Y=X.toUpperCase(),G=String.fromCharCode(parseInt(Y,16));if(G!=="."&&Y5(G))w+=G;else w+="%"+Y;W+=2;continue}}if(cY(Z))w+=Z;else{let X=$.charCodeAt(W);if(X<128)w+=tY(X)?Z:A0[X];else if(X<55296||X>57343)w+=V0(X);else if(X<=56319&&W+1<$.length){let Y=$.charCodeAt(W+1);if(Y>=56320&&Y<=57343)w+=V0(65536+(X-55296<<10)+(Y-56320)),W++;else w+=V0(65533)}else w+=V0(65533)}}return w}function pP($,w=!1){let W="",Z=w&&$[0]!=="/";for(let X=0;X<$.length;X++){let Y=$[X];if(Y==="%"&&X+2<$.length){let G=$.slice(X+1,X+3);if(G1(G)){W+="%"+G.toUpperCase(),X+=2;continue}}if(Y==="/")Z=!1;if(cY(Y)&&(Y!==":"||!Z))W+=Y;else{let G=$.charCodeAt(X);if(G<128)W+=A0[G];else if(G<55296||G>57343)W+=V0(G);else if(G<=56319&&X+1<$.length){let J=$.charCodeAt(X+1);if(J>=56320&&J<=57343)W+=V0(65536+(G-55296<<10)+(J-56320)),X++;else W+=V0(65533)}else W+=V0(65533)}}return W}function J5($,w){let W="";for(let Z=0;Z<$.length;Z++){let X=$[Z];if(X==="%"&&Z+2<$.length){let Y=$.slice(Z+1,Z+3);if(G1(Y)){W+="%"+Y.toUpperCase(),Z+=2;continue}}if(w(X))W+=X;else{let Y=$.charCodeAt(Z);if(Y<128)W+=A0[Y];else if(Y<55296||Y>57343)W+=V0(Y);else if(Y<=56319&&Z+1<$.length){let G=$.charCodeAt(Z+1);if(G>=56320&&G<=57343)W+=V0(65536+(Y-55296<<10)+(G-56320)),Z++;else W+=V0(65533)}else W+=V0(65533)}}return W}function pY($){return J5($,IP)}function tP($){return J5($,G5)}function rP($){return J5($,G5)}function tY($){return $>=48&&$<=57||$>=65&&$<=90||$>=97&&$<=122||$===42||$===43||$===45||$===46||$===47||$===64||$===95}function sP($){let w="";for(let W=0;W<$.length;W++){let Z=$[W];if(Z==="%"&&W+2<$.length){let X=$.slice(W+1,W+3);if(G1(X)){let Y=X.toUpperCase(),G=String.fromCharCode(parseInt(Y,16));if(Y5(G))w+=G;else w+="%"+Y;W+=2;continue}}if(G5(Z))w+=Z;else{let X=$.charCodeAt(W);if(X<128)w+=tY(X)?Z:A0[X];else if(X<55296||X>57343)w+=V0(X);else if(X<=56319&&W+1<$.length){let Y=$.charCodeAt(W+1);if(Y>=56320&&Y<=57343)w+=V0(65536+(X-55296<<10)+(Y-56320)),W++;else w+=V0(65533)}else w+=V0(65533)}}return w}function aP($){let w="";for(let W=0;W<$.length;W++){if($[W]==="%"&&W+2<$.length){let Z=$.slice(W+1,W+3);if(G1(Z)){w+="%"+Z.toUpperCase(),W+=2;continue}}w+=escape($[W])}return w}function oP($){let w=[];if($.userinfo!==void 0)w.push(pY($.userinfo)),w.push("@");if($.host!==void 0){let W=$.host;if(!X5(W)){let Z=Z5(W);if(Z.isIPV6!==!0&&Z.isIPVFuture!==!0)W=nY(W,!0),Z=Z5(W);if(Z.isIPV6===!0||Z.isIPVFuture===!0)W=`[${Z.escapedHost}]`;else W=dY(W,!1)}w.push(W)}if(typeof $.port==="number"||typeof $.port==="string")w.push(":"),w.push(String($.port));return w.length?w.join(""):void 0}rY.exports={nonSimpleDomain:vP,recomposeAuthority:oP,reescapeHostDelimiters:dY,normalizePercentEncoding:nY,normalizePathEncoding:nP,serializePathEncoding:pP,normalizeQueryFragmentEncoding:sP,encodeUserinfo:pY,encodeQuery:tP,encodeFragment:rP,escapePreservingEscapes:aP,removeDotSegments:mP,isIPv4:X5,isUUID:yP,normalizeIPv6:Z5,stringArrayToHexStripped:bP}});var $G=L((Pk,eY)=>{var{isUUID:eP}=T5(),$V=/^([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-./:;=@]|%[\da-f]{2})+)$/iu,wV=["http","https","ws","wss","urn","urn:uuid"];function WV($){return wV.indexOf($)!==-1}function Q5($){if($.secure===!0)return!0;else if($.secure===!1)return!1;else if($.scheme)return $.scheme.length===3&&($.scheme[0]==="w"||$.scheme[0]==="W")&&($.scheme[1]==="s"||$.scheme[1]==="S")&&($.scheme[2]==="s"||$.scheme[2]==="S");else return!1}function sY($){if(!$.host)$.error=$.error||"HTTP URIs must have a host.";return $}function aY($){let w=String($.scheme).toLowerCase()==="https";if($.port===(w?443:80)||$.port==="")$.port=void 0;if(!$.path)$.path="/";return $}function ZV($){return $.secure=Q5($),$.resourceName=($.path||"/")+($.query?"?"+$.query:""),$.path=void 0,$.query=void 0,$}function XV($){if($.port===(Q5($)?443:80)||$.port==="")$.port=void 0;if(typeof $.secure==="boolean")$.scheme=$.secure?"wss":"ws",$.secure=void 0;if($.resourceName){let w=$.resourceName.indexOf("?"),W=w===-1?$.resourceName:$.resourceName.slice(0,w);$.path=W&&W!=="/"?W:void 0,$.query=w===-1?void 0:$.resourceName.slice(w+1),$.resourceName=void 0}return $.fragment=void 0,$}function YV($,w){if(!$.path)return $.error="URN can not be parsed",$;let W=$.path.match($V);if(W&&W[0]===$.path){let Z=w.scheme||$.scheme||"urn";$.nid=W[1].toLowerCase(),$.nss=W[2];let X=`${Z}:${w.nid||$.nid}`,Y=M5(X);if($.path=void 0,Y)$=Y.parse($,w)}else $.error=$.error||"URN can not be parsed.";return $}function GV($,w){if($.nid===void 0)throw Error("URN without nid cannot be serialized");let W=w.scheme||$.scheme||"urn",Z=$.nid.toLowerCase(),X=`${W}:${w.nid||Z}`,Y=M5(X);if(Y)$=Y.serialize($,w);let G=$,J=$.nss;return G.path=`${Z||w.nid}:${J}`,w.skipEscape=!0,G}function JV($,w){let W=$;if(W.uuid=W.nss,W.nss=void 0,!w.tolerant&&(!W.uuid||!eP(W.uuid)))W.error=W.error||"UUID is not valid.";return W}function TV($){let w=$;return w.nss=($.uuid||"").toLowerCase(),w}var oY={scheme:"http",domainHost:!0,parse:sY,serialize:aY},QV={scheme:"https",domainHost:oY.domainHost,parse:sY,serialize:aY},O8={scheme:"ws",domainHost:!0,parse:ZV,serialize:XV},MV={scheme:"wss",domainHost:O8.domainHost,parse:O8.parse,serialize:O8.serialize},zV={scheme:"urn",parse:YV,serialize:GV,skipNormalize:!0},NV={scheme:"urn:uuid",parse:JV,serialize:TV,skipNormalize:!0},E8={http:oY,https:QV,ws:O8,wss:MV,urn:zV,"urn:uuid":NV};Object.setPrototypeOf(E8,null);function M5($){return $&&(E8[$]||E8[$.toLowerCase()])||void 0}eY.exports={wsIsSecure:Q5,SCHEMES:E8,isValidSchemeName:WV,getSchemeHandler:M5}});var KG=L((Vk,k8)=>{var{normalizeIPv6:YG,removeDotSegments:W4,recomposeAuthority:KV,normalizePercentEncoding:GG,normalizePathEncoding:BV,serializePathEncoding:wG,normalizeQueryFragmentEncoding:WG,encodeQuery:PV,encodeFragment:VV,reescapeHostDelimiters:fV,isIPv4:JG,nonSimpleDomain:qV}=T5(),{SCHEMES:TG,getSchemeHandler:z5}=$G(),QG=/^[A-Za-z][A-Za-z0-9+.-]*$/u;function ZG($){let w=unescape(String($));if(!QG.test(w))throw TypeError("URI scheme is malformed.");return w}function UV($,w){if(typeof $==="string")$=AV($,w);else if(typeof $==="object")$=D8(J1($,w),w);return $}function HV($,w,W){let Z=W?Object.assign({scheme:"null"},W):{scheme:"null"},{parsed:X,malformedAuthorityOrPort:Y,malformedPercentEncoding:G,malformedSchemeSpecific:J,malformedHost:T,malformedScheme:Q}=L8($,Z),{parsed:M,malformedAuthorityOrPort:z,malformedPercentEncoding:N,malformedSchemeSpecific:B,malformedHost:K,malformedScheme:P}=L8(w,Z);if(Y||z||G||N||J||B||T||K||Q||P)throw Error(X.error||M.error||"URI is malformed.");let q=MG(X,M,Z,!0),f=z5(W&&W.scheme||q.scheme),H=q.host,E=H!==void 0&&H!==""&&(JG(H)||YG(H).isIPV6);zG(q,W||{},f,E);let S=H&&H.indexOf("%")!==-1&&!/\P{ASCII}/u.test(H);if(q.error&&!S)throw Error(q.error);return Z.skipEscape=!0,J1(q,Z)}function MG($,w,W,Z){let X={};if(!Z)$=D8(J1($,W),W),w=D8(J1(w,W),W);if(W=W||{},!W.tolerant&&w.scheme)X.scheme=w.scheme,X.userinfo=w.userinfo,X.host=w.host,X.port=w.port,X.path=W4(w.path||""),X.query=w.query;else{if(w.userinfo!==void 0||w.host!==void 0||w.port!==void 0)X.userinfo=w.userinfo,X.host=w.host,X.port=w.port,X.path=W4(w.path||""),X.query=w.query;else{if(!w.path)if(X.path=$.path,w.query!==void 0)X.query=w.query;else X.query=$.query;else{if(w.path[0]==="/")X.path=W4(w.path);else{if(($.userinfo!==void 0||$.host!==void 0||$.port!==void 0)&&!$.path)X.path="/"+w.path;else if(!$.path)X.path=w.path;else X.path=$.path.slice(0,$.path.lastIndexOf("/")+1)+w.path;X.path=W4(X.path)}X.query=w.query}X.userinfo=$.userinfo,X.host=$.host,X.port=$.port}X.scheme=$.scheme}return X.fragment=w.fragment,X}function FV($,w,W){let Z=XG($,W),X=XG(w,W);return Z!==void 0&&X!==void 0&&Z===X}function J1($,w){let W={host:$.host,scheme:$.scheme,userinfo:$.userinfo,port:$.port,path:$.path,query:$.query,nid:$.nid,nss:$.nss,uuid:$.uuid,fragment:$.fragment,reference:$.reference,resourceName:$.resourceName,secure:$.secure,error:""},Z=Object.assign({},w),X=[];if(W.scheme)W.scheme=ZG(W.scheme);let Y=z5(Z.scheme||W.scheme);if(Y&&Y.serialize)Y.serialize(W,Z);let G=W.userinfo!==void 0||W.host!==void 0||W.port!==void 0,J=!Z.skipEscape&&W.scheme===void 0&&!G;if(W.path!==void 0)if(!Z.skipEscape)W.path=wG(W.path,J);else W.path=GG(W.path);if(Z.reference!=="suffix"&&W.scheme)W.scheme=ZG(W.scheme),X.push(W.scheme,":");let T=KV(W);if(T!==void 0){if(Z.reference!=="suffix")X.push("//");if(X.push(T),W.path&&W.path[0]!=="/")X.push("/")}if(W.path!==void 0){let Q=W.path;if(!Z.absolutePath&&(!Y||!Y.absolutePath))Q=W4(Q);if(J)Q=wG(Q,!0);if(T===void 0&&Q[0]==="/"&&Q[1]==="/")Q="/%2F"+Q.slice(2);X.push(Q)}if(W.query!==void 0)X.push("?",PV(W.query));if(W.fragment!==void 0)X.push("#",VV(W.fragment));return X.join("")}var OV=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,EV=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/,LV=/^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;function DV($,w){if(w[2]!==void 0&&$.path&&$.path[0]!=="/")return'URI path must start with "/" when authority is present.';if(typeof $.port==="number"&&($.port<0||$.port>65535))return"URI port is malformed.";return}function w4($){if($===void 0)return!1;let w=$.indexOf("%");while(w!==-1){if(w+2>=$.length||!/^[\da-f]{2}$/iu.test($.slice(w+1,w+3)))return!0;w=$.indexOf("%",w+3)}return!1}function kV($){let w=$[4];return w4($[3])||w!==void 0&&!(w[0]==="["&&w[w.length-1]==="]")&&w4(w)||w4($[6])||w4($[7])||w4($[8])}function zG($,w,W,Z){if(!w.unicodeSupport&&(!W||!W.unicodeSupport)&&$.host&&$.host[0]!=="["&&(w.domainHost||W&&W.domainHost)&&Z===!1&&qV($.host))try{$.host=new URL("http://"+$.host).hostname}catch(X){return $.error=$.error||"Host's domain name can not be converted to ASCII: "+X,!0}return!1}function L8($,w){let W=Object.assign({},w),Z={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},X=!1,Y=!1,G=!1,J=!1,T=!1,Q=!1,M=!1;if(W.reference==="suffix")if(W.scheme)$=W.scheme+":"+$;else $="//"+$;let z=$.match(EV);if(z!==null&&z[1].indexOf("\\")!==-1)Z.error="URI authority must not contain a literal backslash.",X=!0;let N=$.match(LV);if(N!==null){let K=N[1],P=K.replace(/[\t\n\r]/g,"");if(P.length>=2){if(P.slice(0,2)!=="//")Z.error=Z.error||"URI authority must not contain a literal backslash.",X=!0;else if(K.length!==P.length)Z.error=Z.error||"URI authority introducer must not contain whitespace.",X=!0}}let B=$.match(OV);if(B){if(Z.scheme=B[1],Z.userinfo=B[3],Z.host=B[4],Z.port=parseInt(B[5],10),Z.path=B[6]||"",Z.query=B[7],Z.fragment=B[8],Z.scheme!==void 0){let q=unescape(Z.scheme);if(QG.test(q))Z.scheme=q.toLowerCase();else Z.error=Z.error||"URI scheme is malformed.",Q=!0}if(Y=kV(B),Y)Z.error=Z.error||"URI contains malformed percent-encoding.";if(isNaN(Z.port))Z.port=B[5];let K=DV(Z,B);if(K!==void 0)Z.error=Z.error||K,X=!0;if(Z.host)if(JG(Z.host)===!1){let f=Z.host[0]==="["&&Z.host[Z.host.length-1]==="]",H=YG(Z.host);if(M=H.isIPV6||H.isIPVFuture===!0,T=f&&H.error===!0,Z.host=M?H.host:H.host.toLowerCase(),T)Z.error=Z.error||"URI host is malformed.",X=!0}else M=!0;if(Z.scheme===void 0&&Z.userinfo===void 0&&Z.host===void 0&&Z.port===void 0&&Z.query===void 0&&!Z.path)Z.reference="same-document";else if(Z.scheme===void 0)Z.reference="relative";else if(Z.fragment===void 0)Z.reference="absolute";else Z.reference="uri";if(W.reference&&W.reference!=="suffix"&&W.reference!==Z.reference)Z.error=Z.error||"URI is not a "+W.reference+" reference.";let P=z5(W.scheme||Z.scheme);if(J=zG(Z,W,P,M),!P||P&&!P.skipNormalize){if($.indexOf("%")!==-1){if(Z.host!==void 0&&!T){let q=M?Z.host:GG(Z.host,!0);Z.host=fV(q,M)}}if(Z.path)Z.path=BV(Z.path);if(Z.query)Z.query=WG(Z.query);if(Z.fragment)Z.fragment=WG(Z.fragment)}if(P&&P.parse){if(P.parse(Z,W),P===TG.urn&&Z.nid===void 0)G=!0}}else Z.error=Z.error||"URI can not be parsed.";return{parsed:Z,malformedAuthorityOrPort:X,malformedPercentEncoding:Y,malformedSchemeSpecific:G,malformedHost:J,malformedScheme:Q}}function D8($,w){return L8($,w).parsed}function AV($,w){return NG($,w).normalized}function NG($,w){let{parsed:W,malformedAuthorityOrPort:Z,malformedPercentEncoding:X,malformedSchemeSpecific:Y,malformedHost:G,malformedScheme:J}=L8($,w);return{normalized:Z||X||Y||G||J?$:J1(W,w),malformedAuthorityOrPort:Z,malformedPercentEncoding:X,malformedSchemeSpecific:Y,malformedHost:G,malformedScheme:J}}function XG($,w){if(typeof $!=="string"&&typeof $!=="object")return;let W;try{W=typeof $==="string"?$:J1($,w)}catch{return}let{normalized:Z,malformedAuthorityOrPort:X,malformedPercentEncoding:Y,malformedSchemeSpecific:G,malformedHost:J,malformedScheme:T}=NG(W,w);return X||Y||G||J||T?void 0:Z}var N5={SCHEMES:TG,normalize:UV,resolve:HV,resolveComponent:MG,equal:FV,serialize:J1,parse:D8};k8.exports=N5;k8.exports.default=N5;k8.exports.fastUri=N5});var VG=L((PG)=>{Object.defineProperty(PG,"__esModule",{value:!0});var BG=KG();BG.code='require("ajv/dist/runtime/uri").default';PG.default=BG});var LG=L((V$)=>{Object.defineProperty(V$,"__esModule",{value:!0});V$.CodeGen=V$.Name=V$.nil=V$.stringify=V$.str=V$._=V$.KeywordCxt=void 0;var RV=ow();Object.defineProperty(V$,"KeywordCxt",{enumerable:!0,get:function(){return RV.KeywordCxt}});var s1=h();Object.defineProperty(V$,"_",{enumerable:!0,get:function(){return s1._}});Object.defineProperty(V$,"str",{enumerable:!0,get:function(){return s1.str}});Object.defineProperty(V$,"stringify",{enumerable:!0,get:function(){return s1.stringify}});Object.defineProperty(V$,"nil",{enumerable:!0,get:function(){return s1.nil}});Object.defineProperty(V$,"Name",{enumerable:!0,get:function(){return s1.Name}});Object.defineProperty(V$,"CodeGen",{enumerable:!0,get:function(){return s1.CodeGen}});var CV=U8(),FG=ew(),jV=hW(),Z4=F8(),yV=h(),X4=rw(),A8=tw(),B5=c(),fG=mY(),IV=VG(),OG=($,w)=>new RegExp($,w);OG.code="new RegExp";var bV=["removeAdditional","useDefaults","coerceTypes"],xV=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),_V={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."},gV={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},qG=200;function vV($){var w,W,Z,X,Y,G,J,T,Q,M,z,N,B,K,P,q,f,H,E,S,A,j,g,s,e;let i=$.strict,F0=(w=$.code)===null||w===void 0?void 0:w.optimize,w1=F0===!0||F0===void 0?1:F0||0,z$=(Z=(W=$.code)===null||W===void 0?void 0:W.regExp)!==null&&Z!==void 0?Z:OG,i1=(X=$.uriResolver)!==null&&X!==void 0?X:IV.default;return{strictSchema:(G=(Y=$.strictSchema)!==null&&Y!==void 0?Y:i)!==null&&G!==void 0?G:!0,strictNumbers:(T=(J=$.strictNumbers)!==null&&J!==void 0?J:i)!==null&&T!==void 0?T:!0,strictTypes:(M=(Q=$.strictTypes)!==null&&Q!==void 0?Q:i)!==null&&M!==void 0?M:"log",strictTuples:(N=(z=$.strictTuples)!==null&&z!==void 0?z:i)!==null&&N!==void 0?N:"log",strictRequired:(K=(B=$.strictRequired)!==null&&B!==void 0?B:i)!==null&&K!==void 0?K:!1,code:$.code?{...$.code,optimize:w1,regExp:z$}:{optimize:w1,regExp:z$},loopRequired:(P=$.loopRequired)!==null&&P!==void 0?P:qG,loopEnum:(q=$.loopEnum)!==null&&q!==void 0?q:qG,meta:(f=$.meta)!==null&&f!==void 0?f:!0,messages:(H=$.messages)!==null&&H!==void 0?H:!0,inlineRefs:(E=$.inlineRefs)!==null&&E!==void 0?E:!0,schemaId:(S=$.schemaId)!==null&&S!==void 0?S:"$id",addUsedSchema:(A=$.addUsedSchema)!==null&&A!==void 0?A:!0,validateSchema:(j=$.validateSchema)!==null&&j!==void 0?j:!0,validateFormats:(g=$.validateFormats)!==null&&g!==void 0?g:!0,unicodeRegExp:(s=$.unicodeRegExp)!==null&&s!==void 0?s:!0,int32range:(e=$.int32range)!==null&&e!==void 0?e:!0,uriResolver:i1}}class S8{constructor($={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,$=this.opts={...$,...vV($)};let{es5:w,lines:W}=this.opts.code;this.scope=new yV.ValueScope({scope:{},prefixes:xV,es5:w,lines:W}),this.logger=cV($.logger);let Z=$.validateFormats;if($.validateFormats=!1,this.RULES=(0,jV.getRules)(),UG.call(this,_V,$,"NOT SUPPORTED"),UG.call(this,gV,$,"DEPRECATED","warn"),this._metaOpts=mV.call(this),$.formats)hV.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),$.keywords)iV.call(this,$.keywords);if(typeof $.meta=="object")this.addMetaSchema($.meta);uV.call(this),$.validateFormats=Z}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:$,meta:w,schemaId:W}=this.opts,Z=fG;if(W==="id")Z={...fG},Z.id=Z.$id,delete Z.$id;if(w&&$)this.addMetaSchema(Z,Z[W],!1)}defaultMeta(){let{meta:$,schemaId:w}=this.opts;return this.opts.defaultMeta=typeof $=="object"?$[w]||$:void 0}validate($,w){let W;if(typeof $=="string"){if(W=this.getSchema($),!W)throw Error(`no schema with key or ref "${$}"`)}else W=this.compile($);let Z=W(w);if(!("$async"in W))this.errors=W.errors;return Z}compile($,w){let W=this._addSchema($,w);return W.validate||this._compileSchemaEnv(W)}compileAsync($,w){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:W}=this.opts;return Z.call(this,$,w);async function Z(Q,M){await X.call(this,Q.$schema);let z=this._addSchema(Q,M);return z.validate||Y.call(this,z)}async function X(Q){if(Q&&!this.getSchema(Q))await Z.call(this,{$ref:Q},!0)}async function Y(Q){try{return this._compileSchemaEnv(Q)}catch(M){if(!(M instanceof FG.default))throw M;return G.call(this,M),await J.call(this,M.missingSchema),Y.call(this,Q)}}function G({missingSchema:Q,missingRef:M}){if(this.refs[Q])throw Error(`AnySchema ${Q} is loaded but ${M} cannot be resolved`)}async function J(Q){let M=await T.call(this,Q);if(!this.refs[Q])await X.call(this,M.$schema);if(!this.refs[Q])this.addSchema(M,Q,w)}async function T(Q){let M=this._loading[Q];if(M)return M;try{return await(this._loading[Q]=W(Q))}finally{delete this._loading[Q]}}}addSchema($,w,W,Z=this.opts.validateSchema){if(Array.isArray($)){for(let Y of $)this.addSchema(Y,void 0,W,Z);return this}let X;if(typeof $==="object"){let{schemaId:Y}=this.opts;if(X=$[Y],X!==void 0&&typeof X!="string")throw Error(`schema ${Y} must be string`)}return w=(0,X4.normalizeId)(w||X),this._checkUnique(w),this.schemas[w]=this._addSchema($,W,w,Z,!0),this}addMetaSchema($,w,W=this.opts.validateSchema){return this.addSchema($,w,!0,W),this}validateSchema($,w){if(typeof $=="boolean")return!0;let W;if(W=$.$schema,W!==void 0&&typeof W!="string")throw Error("$schema must be a string");if(W=W||this.opts.defaultMeta||this.defaultMeta(),!W)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let Z=this.validate(W,$);if(!Z&&w){let X="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(X);else throw Error(X)}return Z}getSchema($){let w;while(typeof(w=HG.call(this,$))=="string")$=w;if(w===void 0){let{schemaId:W}=this.opts,Z=new Z4.SchemaEnv({schema:{},schemaId:W});if(w=Z4.resolveSchema.call(this,Z,$),!w)return;this.refs[$]=w}return w.validate||this._compileSchemaEnv(w)}removeSchema($){if($ instanceof RegExp)return this._removeAllSchemas(this.schemas,$),this._removeAllSchemas(this.refs,$),this;switch(typeof $){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let w=HG.call(this,$);if(typeof w=="object")this._cache.delete(w.schema);return delete this.schemas[$],delete this.refs[$],this}case"object":{let w=$;this._cache.delete(w);let W=$[this.opts.schemaId];if(W)W=(0,X4.normalizeId)(W),delete this.schemas[W],delete this.refs[W];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary($){for(let w of $)this.addKeyword(w);return this}addKeyword($,w){let W;if(typeof $=="string"){if(W=$,typeof w=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),w.keyword=W}else if(typeof $=="object"&&w===void 0){if(w=$,W=w.keyword,Array.isArray(W)&&!W.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(nV.call(this,W,w),!w)return(0,B5.eachItem)(W,(X)=>K5.call(this,X)),this;tV.call(this,w);let Z={...w,type:(0,A8.getJSONTypes)(w.type),schemaType:(0,A8.getJSONTypes)(w.schemaType)};return(0,B5.eachItem)(W,Z.type.length===0?(X)=>K5.call(this,X,Z):(X)=>Z.type.forEach((Y)=>K5.call(this,X,Z,Y))),this}getKeyword($){let w=this.RULES.all[$];return typeof w=="object"?w.definition:!!w}removeKeyword($){let{RULES:w}=this;delete w.keywords[$],delete w.all[$];for(let W of w.rules){let Z=W.rules.findIndex((X)=>X.keyword===$);if(Z>=0)W.rules.splice(Z,1)}return this}addFormat($,w){if(typeof w=="string")w=new RegExp(w);return this.formats[$]=w,this}errorsText($=this.errors,{separator:w=", ",dataVar:W="data"}={}){if(!$||$.length===0)return"No errors";return $.map((Z)=>`${W}${Z.instancePath} ${Z.message}`).reduce((Z,X)=>Z+w+X)}$dataMetaSchema($,w){let W=this.RULES.all;$=JSON.parse(JSON.stringify($));for(let Z of w){let X=Z.split("/").slice(1),Y=$;for(let G of X)Y=Y[G];for(let G in W){let J=W[G];if(typeof J!="object")continue;let{$data:T}=J.definition,Q=Y[G];if(T&&Q)Y[G]=EG(Q)}}return $}_removeAllSchemas($,w){for(let W in $){let Z=$[W];if(!w||w.test(W)){if(typeof Z=="string")delete $[W];else if(Z&&!Z.meta)this._cache.delete(Z.schema),delete $[W]}}}_addSchema($,w,W,Z=this.opts.validateSchema,X=this.opts.addUsedSchema){let Y,{schemaId:G}=this.opts;if(typeof $=="object")Y=$[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof $!="boolean")throw Error("schema must be object or boolean");let J=this._cache.get($);if(J!==void 0)return J;W=(0,X4.normalizeId)(Y||W);let T=X4.getSchemaRefs.call(this,$,W);if(J=new Z4.SchemaEnv({schema:$,schemaId:G,meta:w,baseId:W,localRefs:T}),this._cache.set(J.schema,J),X&&!W.startsWith("#")){if(W)this._checkUnique(W);this.refs[W]=J}if(Z)this.validateSchema($,!0);return J}_checkUnique($){if(this.schemas[$]||this.refs[$])throw Error(`schema with key or id "${$}" already exists`)}_compileSchemaEnv($){if($.meta)this._compileMetaSchema($);else Z4.compileSchema.call(this,$);if(!$.validate)throw Error("ajv implementation error");return $.validate}_compileMetaSchema($){let w=this.opts;this.opts=this._metaOpts;try{Z4.compileSchema.call(this,$)}finally{this.opts=w}}}S8.ValidationError=CV.default;S8.MissingRefError=FG.default;V$.default=S8;function UG($,w,W,Z="error"){for(let X in $){let Y=X;if(Y in w)this.logger[Z](`${W}: option ${X}. ${$[Y]}`)}}function HG($){return $=(0,X4.normalizeId)($),this.schemas[$]||this.refs[$]}function uV(){let $=this.opts.schemas;if(!$)return;if(Array.isArray($))this.addSchema($);else for(let w in $)this.addSchema($[w],w)}function hV(){for(let $ in this.opts.formats){let w=this.opts.formats[$];if(w)this.addFormat($,w)}}function iV($){if(Array.isArray($)){this.addVocabulary($);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let w in $){let W=$[w];if(!W.keyword)W.keyword=w;this.addKeyword(W)}}function mV(){let $={...this.opts};for(let w of bV)delete $[w];return $}var lV={log(){},warn(){},error(){}};function cV($){if($===!1)return lV;if($===void 0)return console;if($.log&&$.warn&&$.error)return $;throw Error("logger must implement log, warn and error methods")}var dV=/^[a-z_$][a-z0-9_$:-]*$/i;function nV($,w){let{RULES:W}=this;if((0,B5.eachItem)($,(Z)=>{if(W.keywords[Z])throw Error(`Keyword ${Z} is already defined`);if(!dV.test(Z))throw Error(`Keyword ${Z} has invalid name`)}),!w)return;if(w.$data&&!(("code"in w)||("validate"in w)))throw Error('$data keyword must have "code" or "validate" function')}function K5($,w,W){var Z;let X=w===null||w===void 0?void 0:w.post;if(W&&X)throw Error('keyword with "post" flag cannot have "type"');let{RULES:Y}=this,G=X?Y.post:Y.rules.find(({type:T})=>T===W);if(!G)G={type:W,rules:[]},Y.rules.push(G);if(Y.keywords[$]=!0,!w)return;let J={keyword:$,definition:{...w,type:(0,A8.getJSONTypes)(w.type),schemaType:(0,A8.getJSONTypes)(w.schemaType)}};if(w.before)pV.call(this,G,J,w.before);else G.rules.push(J);Y.all[$]=J,(Z=w.implements)===null||Z===void 0||Z.forEach((T)=>this.addKeyword(T))}function pV($,w,W){let Z=$.rules.findIndex((X)=>X.keyword===W);if(Z>=0)$.rules.splice(Z,0,w);else $.rules.push(w),this.logger.warn(`rule ${W} is not defined`)}function tV($){let{metaSchema:w}=$;if(w===void 0)return;if($.$data&&this.opts.$data)w=EG(w);$.validateSchema=this.compile(w,!0)}var rV={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function EG($){return{anyOf:[$,rV]}}});var kG=L((DG)=>{Object.defineProperty(DG,"__esModule",{value:!0});var oV={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};DG.default=oV});var yG=L((CG)=>{Object.defineProperty(CG,"__esModule",{value:!0});CG.callRef=CG.getValidate=void 0;var $f=ew(),AG=h0(),S0=h(),a1=B$(),SG=F8(),R8=c(),wf={keyword:"$ref",schemaType:"string",code($){let{gen:w,schema:W,it:Z}=$,{baseId:X,schemaEnv:Y,validateName:G,opts:J,self:T}=Z,{root:Q}=Y;if((W==="#"||W==="#/")&&X===Q.baseId)return z();let M=SG.resolveRef.call(T,Q,X,W);if(M===void 0)throw new $f.default(Z.opts.uriResolver,X,W);if(M instanceof SG.SchemaEnv)return N(M);return B(M);function z(){if(Y===Q)return C8($,G,Y,Y.$async);let K=w.scopeValue("root",{ref:Q});return C8($,S0._`${K}.validate`,Q,Q.$async)}function N(K){let P=RG($,K);C8($,P,K,K.$async)}function B(K){let P=w.scopeValue("schema",J.code.source===!0?{ref:K,code:(0,S0.stringify)(K)}:{ref:K}),q=w.name("valid"),f=$.subschema({schema:K,dataTypes:[],schemaPath:S0.nil,topSchemaRef:P,errSchemaPath:W},q);$.mergeEvaluated(f),$.ok(q)}}};function RG($,w){let{gen:W}=$;return w.validate?W.scopeValue("validate",{ref:w.validate}):S0._`${W.scopeValue("wrapper",{ref:w})}.validate`}CG.getValidate=RG;function C8($,w,W,Z){let{gen:X,it:Y}=$,{allErrors:G,schemaEnv:J,opts:T}=Y,Q=T.passContext?a1.default.this:S0.nil;if(Z)M();else z();function M(){if(!J.$async)throw Error("async schema referenced by sync schema");let K=X.let("valid");X.try(()=>{if(X.code(S0._`await ${(0,AG.callValidateCode)($,w,Q)}`),B(w),!G)X.assign(K,!0)},(P)=>{if(X.if(S0._`!(${P} instanceof ${Y.ValidationError})`,()=>X.throw(P)),N(P),!G)X.assign(K,!1)}),$.ok(K)}function z(){$.result((0,AG.callValidateCode)($,w,Q),()=>B(w),()=>N(w))}function N(K){let P=S0._`${K}.errors`;X.assign(a1.default.vErrors,S0._`${a1.default.vErrors} === null ? ${P} : ${a1.default.vErrors}.concat(${P})`),X.assign(a1.default.errors,S0._`${a1.default.vErrors}.length`)}function B(K){var P;if(!Y.opts.unevaluated)return;let q=(P=W===null||W===void 0?void 0:W.validate)===null||P===void 0?void 0:P.evaluated;if(Y.props!==!0)if(q&&!q.dynamicProps){if(q.props!==void 0)Y.props=R8.mergeEvaluated.props(X,q.props,Y.props)}else{let f=X.var("props",S0._`${K}.evaluated.props`);Y.props=R8.mergeEvaluated.props(X,f,Y.props,S0.Name)}if(Y.items!==!0)if(q&&!q.dynamicItems){if(q.items!==void 0)Y.items=R8.mergeEvaluated.items(X,q.items,Y.items)}else{let f=X.var("items",S0._`${K}.evaluated.items`);Y.items=R8.mergeEvaluated.items(X,f,Y.items,S0.Name)}}}CG.callRef=C8;CG.default=wf});var bG=L((IG)=>{Object.defineProperty(IG,"__esModule",{value:!0});var Xf=kG(),Yf=yG(),Gf=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",Xf.default,Yf.default];IG.default=Gf});var _G=L((xG)=>{Object.defineProperty(xG,"__esModule",{value:!0});var j8=h(),v$=j8.operators,y8={maximum:{okStr:"<=",ok:v$.LTE,fail:v$.GT},minimum:{okStr:">=",ok:v$.GTE,fail:v$.LT},exclusiveMaximum:{okStr:"<",ok:v$.LT,fail:v$.GTE},exclusiveMinimum:{okStr:">",ok:v$.GT,fail:v$.LTE}},Tf={message:({keyword:$,schemaCode:w})=>j8.str`must be ${y8[$].okStr} ${w}`,params:({keyword:$,schemaCode:w})=>j8._`{comparison: ${y8[$].okStr}, limit: ${w}}`},Qf={keyword:Object.keys(y8),type:"number",schemaType:"number",$data:!0,error:Tf,code($){let{keyword:w,data:W,schemaCode:Z}=$;$.fail$data(j8._`${W} ${y8[w].fail} ${Z} || isNaN(${W})`)}};xG.default=Qf});var vG=L((gG)=>{Object.defineProperty(gG,"__esModule",{value:!0});var Y4=h(),zf={message:({schemaCode:$})=>Y4.str`must be multiple of ${$}`,params:({schemaCode:$})=>Y4._`{multipleOf: ${$}}`},Nf={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:zf,code($){let{gen:w,data:W,schemaCode:Z,it:X}=$,Y=X.opts.multipleOfPrecision,G=w.let("res"),J=Y?Y4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${Y}`:Y4._`${G} !== parseInt(${G})`;$.fail$data(Y4._`(${Z} === 0 || (${G} = ${W}/${Z}, ${J}))`)}};gG.default=Nf});var iG=L((hG)=>{Object.defineProperty(hG,"__esModule",{value:!0});function uG($){let w=$.length,W=0,Z=0,X;while(Z<w)if(W++,X=$.charCodeAt(Z++),X>=55296&&X<=56319&&Z<w){if(X=$.charCodeAt(Z),(X&64512)===56320)Z++}return W}hG.default=uG;uG.code='require("ajv/dist/runtime/ucs2length").default'});var lG=L((mG)=>{Object.defineProperty(mG,"__esModule",{value:!0});var T1=h(),Pf=c(),Vf=iG(),ff={message({keyword:$,schemaCode:w}){let W=$==="maxLength"?"more":"fewer";return T1.str`must NOT have ${W} than ${w} characters`},params:({schemaCode:$})=>T1._`{limit: ${$}}`},qf={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:ff,code($){let{keyword:w,data:W,schemaCode:Z,it:X}=$,Y=w==="maxLength"?T1.operators.GT:T1.operators.LT,G=X.opts.unicode===!1?T1._`${W}.length`:T1._`${(0,Pf.useFunc)($.gen,Vf.default)}(${W})`;$.fail$data(T1._`${G} ${Y} ${Z}`)}};mG.default=qf});var dG=L((cG)=>{Object.defineProperty(cG,"__esModule",{value:!0});var Hf=h0(),Ff=c(),o1=h(),Of={message:({schemaCode:$})=>o1.str`must match pattern "${$}"`,params:({schemaCode:$})=>o1._`{pattern: ${$}}`},Ef={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Of,code($){let{gen:w,data:W,$data:Z,schema:X,schemaCode:Y,it:G}=$,J=G.opts.unicodeRegExp?"u":"";if(Z){let{regExp:T}=G.opts.code,Q=T.code==="new RegExp"?o1._`new RegExp`:(0,Ff.useFunc)(w,T),M=w.let("valid");w.try(()=>w.assign(M,o1._`${Q}(${Y}, ${J}).test(${W})`),()=>w.assign(M,!1)),$.fail$data(o1._`!${M}`)}else{let T=(0,Hf.usePattern)($,X);$.fail$data(o1._`!${T}.test(${W})`)}}};cG.default=Ef});var pG=L((nG)=>{Object.defineProperty(nG,"__esModule",{value:!0});var G4=h(),Df={message({keyword:$,schemaCode:w}){let W=$==="maxProperties"?"more":"fewer";return G4.str`must NOT have ${W} than ${w} properties`},params:({schemaCode:$})=>G4._`{limit: ${$}}`},kf={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Df,code($){let{keyword:w,data:W,schemaCode:Z}=$,X=w==="maxProperties"?G4.operators.GT:G4.operators.LT;$.fail$data(G4._`Object.keys(${W}).length ${X} ${Z}`)}};nG.default=kf});var rG=L((tG)=>{Object.defineProperty(tG,"__esModule",{value:!0});var J4=h0(),T4=h(),Sf=c(),Rf={message:({params:{missingProperty:$}})=>T4.str`must have required property '${$}'`,params:({params:{missingProperty:$}})=>T4._`{missingProperty: ${$}}`},Cf={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Rf,code($){let{gen:w,schema:W,schemaCode:Z,data:X,$data:Y,it:G}=$,{opts:J}=G;if(!Y&&W.length===0)return;let T=W.length>=J.loopRequired;if(G.allErrors)Q();else M();if(J.strictRequired){let B=$.parentSchema.properties,{definedProperties:K}=$.it;for(let P of W)if((B===null||B===void 0?void 0:B[P])===void 0&&!K.has(P)){let q=G.schemaEnv.baseId+G.errSchemaPath,f=`required property "${P}" is not defined at "${q}" (strictRequired)`;(0,Sf.checkStrictMode)(G,f,G.opts.strictRequired)}}function Q(){if(T||Y)$.block$data(T4.nil,z);else for(let B of W)(0,J4.checkReportMissingProp)($,B)}function M(){let B=w.let("missing");if(T||Y){let K=w.let("valid",!0);$.block$data(K,()=>N(B,K)),$.ok(K)}else w.if((0,J4.checkMissingProp)($,W,B)),(0,J4.reportMissingProp)($,B),w.else()}function z(){w.forOf("prop",Z,(B)=>{$.setParams({missingProperty:B}),w.if((0,J4.noPropertyInData)(w,X,B,J.ownProperties),()=>$.error())})}function N(B,K){$.setParams({missingProperty:B}),w.forOf(B,Z,()=>{w.assign(K,(0,J4.propertyInData)(w,X,B,J.ownProperties)),w.if((0,T4.not)(K),()=>{$.error(),w.break()})},T4.nil)}}};tG.default=Cf});var aG=L((sG)=>{Object.defineProperty(sG,"__esModule",{value:!0});var Q4=h(),yf={message({keyword:$,schemaCode:w}){let W=$==="maxItems"?"more":"fewer";return Q4.str`must NOT have ${W} than ${w} items`},params:({schemaCode:$})=>Q4._`{limit: ${$}}`},If={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:yf,code($){let{keyword:w,data:W,schemaCode:Z}=$,X=w==="maxItems"?Q4.operators.GT:Q4.operators.LT;$.fail$data(Q4._`${W}.length ${X} ${Z}`)}};sG.default=If});var I8=L((eG)=>{Object.defineProperty(eG,"__esModule",{value:!0});var oG=tW();oG.code='require("ajv/dist/runtime/equal").default';eG.default=oG});var w7=L(($7)=>{Object.defineProperty($7,"__esModule",{value:!0});var P5=tw(),K0=h(),_f=c(),gf=I8(),vf={message:({params:{i:$,j:w}})=>K0.str`must NOT have duplicate items (items ## ${w} and ${$} are identical)`,params:({params:{i:$,j:w}})=>K0._`{i: ${$}, j: ${w}}`},uf={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:vf,code($){let{gen:w,data:W,$data:Z,schema:X,parentSchema:Y,schemaCode:G,it:J}=$;if(!Z&&!X)return;let T=w.let("valid"),Q=Y.items?(0,P5.getSchemaTypes)(Y.items):[];$.block$data(T,M,K0._`${G} === false`),$.ok(T);function M(){let K=w.let("i",K0._`${W}.length`),P=w.let("j");$.setParams({i:K,j:P}),w.assign(T,!0),w.if(K0._`${K} > 1`,()=>(z()?N:B)(K,P))}function z(){return Q.length>0&&!Q.some((K)=>K==="object"||K==="array")}function N(K,P){let q=w.name("item"),f=(0,P5.checkDataTypes)(Q,q,J.opts.strictNumbers,P5.DataType.Wrong),H=w.const("indices",K0._`{}`);w.for(K0._`;${K}--;`,()=>{if(w.let(q,K0._`${W}[${K}]`),w.if(f,K0._`continue`),Q.length>1)w.if(K0._`typeof ${q} == "string"`,K0._`${q} += "_"`);w.if(K0._`typeof ${H}[${q}] == "number"`,()=>{w.assign(P,K0._`${H}[${q}]`),$.error(),w.assign(T,!1).break()}).code(K0._`${H}[${q}] = ${K}`)})}function B(K,P){let q=(0,_f.useFunc)(w,gf.default),f=w.name("outer");w.label(f).for(K0._`;${K}--;`,()=>w.for(K0._`${P} = ${K}; ${P}--;`,()=>w.if(K0._`${q}(${W}[${K}], ${W}[${P}])`,()=>{$.error(),w.assign(T,!1).break(f)})))}}};$7.default=uf});var Z7=L((W7)=>{Object.defineProperty(W7,"__esModule",{value:!0});var V5=h(),mf=c(),lf=I8(),cf={message:"must be equal to constant",params:({schemaCode:$})=>V5._`{allowedValue: ${$}}`},df={keyword:"const",$data:!0,error:cf,code($){let{gen:w,data:W,$data:Z,schemaCode:X,schema:Y}=$;if(Z||Y&&typeof Y=="object")$.fail$data(V5._`!${(0,mf.useFunc)(w,lf.default)}(${W}, ${X})`);else $.fail(V5._`${Y} !== ${W}`)}};W7.default=df});var Y7=L((X7)=>{Object.defineProperty(X7,"__esModule",{value:!0});var M4=h(),pf=c(),tf=I8(),rf={message:"must be equal to one of the allowed values",params:({schemaCode:$})=>M4._`{allowedValues: ${$}}`},sf={keyword:"enum",schemaType:"array",$data:!0,error:rf,code($){let{gen:w,data:W,$data:Z,schema:X,schemaCode:Y,it:G}=$;if(!Z&&X.length===0)throw Error("enum must have non-empty array");let J=X.length>=G.opts.loopEnum,T,Q=()=>T!==null&&T!==void 0?T:T=(0,pf.useFunc)(w,tf.default),M;if(J||Z)M=w.let("valid"),$.block$data(M,z);else{if(!Array.isArray(X))throw Error("ajv implementation error");let B=w.const("vSchema",Y);M=(0,M4.or)(...X.map((K,P)=>N(B,P)))}$.pass(M);function z(){w.assign(M,!1),w.forOf("v",Y,(B)=>w.if(M4._`${Q()}(${W}, ${B})`,()=>w.assign(M,!0).break()))}function N(B,K){let P=X[K];return typeof P==="object"&&P!==null?M4._`${Q()}(${W}, ${B}[${K}])`:M4._`${W} === ${P}`}}};X7.default=sf});var J7=L((G7)=>{Object.defineProperty(G7,"__esModule",{value:!0});var of=_G(),ef=vG(),$q=lG(),wq=dG(),Wq=pG(),Zq=rG(),Xq=aG(),Yq=w7(),Gq=Z7(),Jq=Y7(),Tq=[of.default,ef.default,$q.default,wq.default,Wq.default,Zq.default,Xq.default,Yq.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Gq.default,Jq.default];G7.default=Tq});var q5=L((Q7)=>{Object.defineProperty(Q7,"__esModule",{value:!0});Q7.validateAdditionalItems=void 0;var Q1=h(),f5=c(),Mq={message:({params:{len:$}})=>Q1.str`must NOT have more than ${$} items`,params:({params:{len:$}})=>Q1._`{limit: ${$}}`},zq={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Mq,code($){let{parentSchema:w,it:W}=$,{items:Z}=w;if(!Array.isArray(Z)){(0,f5.checkStrictMode)(W,'"additionalItems" is ignored when "items" is not an array of schemas');return}T7($,Z)}};function T7($,w){let{gen:W,schema:Z,data:X,keyword:Y,it:G}=$;G.items=!0;let J=W.const("len",Q1._`${X}.length`);if(Z===!1)$.setParams({len:w.length}),$.pass(Q1._`${J} <= ${w.length}`);else if(typeof Z=="object"&&!(0,f5.alwaysValidSchema)(G,Z)){let Q=W.var("valid",Q1._`${J} <= ${w.length}`);W.if((0,Q1.not)(Q),()=>T(Q)),$.ok(Q)}function T(Q){W.forRange("i",w.length,J,(M)=>{if($.subschema({keyword:Y,dataProp:M,dataPropType:f5.Type.Num},Q),!G.allErrors)W.if((0,Q1.not)(Q),()=>W.break())})}}Q7.validateAdditionalItems=T7;Q7.default=zq});var U5=L((K7)=>{Object.defineProperty(K7,"__esModule",{value:!0});K7.validateTuple=void 0;var z7=h(),b8=c(),Kq=h0(),Bq={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code($){let{schema:w,it:W}=$;if(Array.isArray(w))return N7($,"additionalItems",w);if(W.items=!0,(0,b8.alwaysValidSchema)(W,w))return;$.ok((0,Kq.validateArray)($))}};function N7($,w,W=$.schema){let{gen:Z,parentSchema:X,data:Y,keyword:G,it:J}=$;if(M(X),J.opts.unevaluated&&W.length&&J.items!==!0)J.items=b8.mergeEvaluated.items(Z,W.length,J.items);let T=Z.name("valid"),Q=Z.const("len",z7._`${Y}.length`);W.forEach((z,N)=>{if((0,b8.alwaysValidSchema)(J,z))return;Z.if(z7._`${Q} > ${N}`,()=>$.subschema({keyword:G,schemaProp:N,dataProp:N},T)),$.ok(T)});function M(z){let{opts:N,errSchemaPath:B}=J,K=W.length,P=K===z.minItems&&(K===z.maxItems||z[w]===!1);if(N.strictTuples&&!P){let q=`"${G}" is ${K}-tuple, but minItems or maxItems/${w} are not specified or different at path "${B}"`;(0,b8.checkStrictMode)(J,q,N.strictTuples)}}}K7.validateTuple=N7;K7.default=Bq});var V7=L((P7)=>{Object.defineProperty(P7,"__esModule",{value:!0});var Vq=U5(),fq={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:($)=>(0,Vq.validateTuple)($,"items")};P7.default=fq});var U7=L((q7)=>{Object.defineProperty(q7,"__esModule",{value:!0});var f7=h(),Uq=c(),Hq=h0(),Fq=q5(),Oq={message:({params:{len:$}})=>f7.str`must NOT have more than ${$} items`,params:({params:{len:$}})=>f7._`{limit: ${$}}`},Eq={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:Oq,code($){let{schema:w,parentSchema:W,it:Z}=$,{prefixItems:X}=W;if(Z.items=!0,(0,Uq.alwaysValidSchema)(Z,w))return;if(X)(0,Fq.validateAdditionalItems)($,X);else $.ok((0,Hq.validateArray)($))}};q7.default=Eq});var F7=L((H7)=>{Object.defineProperty(H7,"__esModule",{value:!0});var i0=h(),x8=c(),Dq={message:({params:{min:$,max:w}})=>w===void 0?i0.str`must contain at least ${$} valid item(s)`:i0.str`must contain at least ${$} and no more than ${w} valid item(s)`,params:({params:{min:$,max:w}})=>w===void 0?i0._`{minContains: ${$}}`:i0._`{minContains: ${$}, maxContains: ${w}}`},kq={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Dq,code($){let{gen:w,schema:W,parentSchema:Z,data:X,it:Y}=$,G,J,{minContains:T,maxContains:Q}=Z;if(Y.opts.next)G=T===void 0?1:T,J=Q;else G=1;let M=w.const("len",i0._`${X}.length`);if($.setParams({min:G,max:J}),J===void 0&&G===0){(0,x8.checkStrictMode)(Y,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(J!==void 0&&G>J){(0,x8.checkStrictMode)(Y,'"minContains" > "maxContains" is always invalid'),$.fail();return}if((0,x8.alwaysValidSchema)(Y,W)){let P=i0._`${M} >= ${G}`;if(J!==void 0)P=i0._`${P} && ${M} <= ${J}`;$.pass(P);return}Y.items=!0;let z=w.name("valid");if(J===void 0&&G===1)B(z,()=>w.if(z,()=>w.break()));else if(G===0){if(w.let(z,!0),J!==void 0)w.if(i0._`${X}.length > 0`,N)}else w.let(z,!1),N();$.result(z,()=>$.reset());function N(){let P=w.name("_valid"),q=w.let("count",0);B(P,()=>w.if(P,()=>K(q)))}function B(P,q){w.forRange("i",0,M,(f)=>{$.subschema({keyword:"contains",dataProp:f,dataPropType:x8.Type.Num,compositeRule:!0},P),q()})}function K(P){if(w.code(i0._`${P}++`),J===void 0)w.if(i0._`${P} >= ${G}`,()=>w.assign(z,!0).break());else if(w.if(i0._`${P} > ${J}`,()=>w.assign(z,!1).break()),G===1)w.assign(z,!0);else w.if(i0._`${P} >= ${G}`,()=>w.assign(z,!0))}}};H7.default=kq});var A7=L((L7)=>{Object.defineProperty(L7,"__esModule",{value:!0});L7.validateSchemaDeps=L7.validatePropertyDeps=L7.error=void 0;var H5=h(),Sq=c(),z4=h0();L7.error={message:({params:{property:$,depsCount:w,deps:W}})=>{let Z=w===1?"property":"properties";return H5.str`must have ${Z} ${W} when property ${$} is present`},params:({params:{property:$,depsCount:w,deps:W,missingProperty:Z}})=>H5._`{property: ${$},
33
+ missingProperty: ${Z},
34
34
  depsCount: ${w},
35
- deps: ${Z}}`};var Bq={keyword:"dependencies",type:"object",schemaType:"object",error:y3.error,code($){let[w,Z]=Vq($);j3($,w),I3($,Z)}};function Vq({schema:$}){let w={},Z={};for(let W in $){if(W==="__proto__")continue;let X=Array.isArray($[W])?w:Z;X[W]=$[W]}return[w,Z]}function j3($,w=$.schema){let{gen:Z,data:W,it:X}=$;if(Object.keys(w).length===0)return;let Y=Z.let("missing");for(let G in w){let J=w[G];if(J.length===0)continue;let Q=(0,nw.propertyInData)(Z,W,G,X.opts.ownProperties);if($.setParams({property:G,depsCount:J.length,deps:J.join(", ")}),X.allErrors)Z.if(Q,()=>{for(let z of J)(0,nw.checkReportMissingProp)($,z)});else Z.if(mZ._`${Q} && (${(0,nw.checkMissingProp)($,J,Y)})`),(0,nw.reportMissingProp)($,Y),Z.else()}}y3.validatePropertyDeps=j3;function I3($,w=$.schema){let{gen:Z,data:W,keyword:X,it:Y}=$,G=Z.name("valid");for(let J in w){if((0,Kq.alwaysValidSchema)(Y,w[J]))continue;Z.if((0,nw.propertyInData)(Z,W,J,Y.opts.ownProperties),()=>{let Q=$.subschema({keyword:X,schemaProp:J},G);$.mergeValidEvaluated(Q,G)},()=>Z.var(G,!0)),$.ok(G)}}y3.validateSchemaDeps=I3;y3.default=Bq});var u3=L((v3)=>{Object.defineProperty(v3,"__esModule",{value:!0});var g3=v(),Uq=l(),Hq={message:"property name must be valid",params:({params:$})=>g3._`{propertyName: ${$.propertyName}}`},Fq={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Hq,code($){let{gen:w,schema:Z,data:W,it:X}=$;if((0,Uq.alwaysValidSchema)(X,Z))return;let Y=w.name("valid");w.forIn("key",W,(G)=>{$.setParams({propertyName:G}),$.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},Y),w.if((0,g3.not)(Y),()=>{if($.error(!0),!X.allErrors)w.break()})}),$.ok(Y)}};v3.default=Fq});var lZ=L((h3)=>{Object.defineProperty(h3,"__esModule",{value:!0});var T8=_0(),c0=v(),Eq=Y$(),N8=l(),Lq={message:"must NOT have additional properties",params:({params:$})=>c0._`{additionalProperty: ${$.additionalProperty}}`},Dq={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:Lq,code($){let{gen:w,schema:Z,parentSchema:W,data:X,errsCount:Y,it:G}=$;if(!Y)throw Error("ajv implementation error");let{allErrors:J,opts:Q}=G;if(G.props=!0,Q.removeAdditional!=="all"&&(0,N8.alwaysValidSchema)(G,Z))return;let z=(0,T8.allSchemaProperties)(W.properties),M=(0,T8.allSchemaProperties)(W.patternProperties);T(),$.ok(c0._`${Y} === ${Eq.default.errors}`);function T(){w.forIn("key",X,(q)=>{if(!z.length&&!M.length)B(q);else w.if(N(q),()=>B(q))})}function N(q){let U;if(z.length>8){let O=(0,N8.schemaRefOrVal)(G,W.properties,"properties");U=(0,T8.isOwnProperty)(w,O,q)}else if(z.length)U=(0,c0.or)(...z.map((O)=>c0._`${q} === ${O}`));else U=c0.nil;if(M.length)U=(0,c0.or)(U,...M.map((O)=>c0._`${(0,T8.usePattern)($,O)}.test(${q})`));return(0,c0.not)(U)}function K(q){w.code(c0._`delete ${X}[${q}]`)}function B(q){if(Q.removeAdditional==="all"||Q.removeAdditional&&Z===!1){K(q);return}if(Z===!1){if($.setParams({additionalProperty:q}),$.error(),!J)w.break();return}if(typeof Z=="object"&&!(0,N8.alwaysValidSchema)(G,Z)){let U=w.name("valid");if(Q.removeAdditional==="failing")P(q,U,!1),w.if((0,c0.not)(U),()=>{$.reset(),K(q)});else if(P(q,U),!J)w.if((0,c0.not)(U),()=>w.break())}}function P(q,U,O){let f={keyword:"additionalProperties",dataProp:q,dataPropType:N8.Type.Str};if(O===!1)Object.assign(f,{compositeRule:!0,createErrors:!1,allErrors:!1});$.subschema(f,U)}}};h3.default=Dq});var c3=L((l3)=>{Object.defineProperty(l3,"__esModule",{value:!0});var kq=bw(),i3=_0(),cZ=l(),m3=lZ(),Aq={keyword:"properties",type:"object",schemaType:"object",code($){let{gen:w,schema:Z,parentSchema:W,data:X,it:Y}=$;if(Y.opts.removeAdditional==="all"&&W.additionalProperties===void 0)m3.default.code(new kq.KeywordCxt(Y,m3.default,"additionalProperties"));let G=(0,i3.allSchemaProperties)(Z);for(let T of G)Y.definedProperties.add(T);if(Y.opts.unevaluated&&G.length&&Y.props!==!0)Y.props=cZ.mergeEvaluated.props(w,(0,cZ.toHash)(G),Y.props);let J=G.filter((T)=>!(0,cZ.alwaysValidSchema)(Y,Z[T]));if(J.length===0)return;let Q=w.name("valid");for(let T of J){if(z(T))M(T);else{if(w.if((0,i3.propertyInData)(w,X,T,Y.opts.ownProperties)),M(T),!Y.allErrors)w.else().var(Q,!0);w.endIf()}$.it.definedProperties.add(T),$.ok(Q)}function z(T){return Y.opts.useDefaults&&!Y.compositeRule&&Z[T].default!==void 0}function M(T){$.subschema({keyword:"properties",schemaProp:T,dataProp:T},Q)}}};l3.default=Aq});var r3=L((t3)=>{Object.defineProperty(t3,"__esModule",{value:!0});var d3=_0(),K8=v(),p3=l(),n3=l(),Rq={keyword:"patternProperties",type:"object",schemaType:"object",code($){let{gen:w,schema:Z,data:W,parentSchema:X,it:Y}=$,{opts:G}=Y,J=(0,d3.allSchemaProperties)(Z),Q=J.filter((P)=>(0,p3.alwaysValidSchema)(Y,Z[P]));if(J.length===0||Q.length===J.length&&(!Y.opts.unevaluated||Y.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&X.properties,M=w.name("valid");if(Y.props!==!0&&!(Y.props instanceof K8.Name))Y.props=(0,n3.evaluatedPropsToName)(w,Y.props);let{props:T}=Y;N();function N(){for(let P of J){if(z)K(P);if(Y.allErrors)B(P);else w.var(M,!0),B(P),w.if(M)}}function K(P){for(let q in z)if(new RegExp(P).test(q))(0,p3.checkStrictMode)(Y,`property ${q} matches pattern ${P} (use allowMatchingProperties)`)}function B(P){w.forIn("key",W,(q)=>{w.if(K8._`${(0,d3.usePattern)($,P)}.test(${q})`,()=>{let U=Q.includes(P);if(!U)$.subschema({keyword:"patternProperties",schemaProp:P,dataProp:q,dataPropType:n3.Type.Str},M);if(Y.opts.unevaluated&&T!==!0)w.assign(K8._`${T}[${q}]`,!0);else if(!U&&!Y.allErrors)w.if((0,K8.not)(M),()=>w.break())})})}}};t3.default=Rq});var a3=L((s3)=>{Object.defineProperty(s3,"__esModule",{value:!0});var jq=l(),Iq={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code($){let{gen:w,schema:Z,it:W}=$;if((0,jq.alwaysValidSchema)(W,Z)){$.fail();return}let X=w.name("valid");$.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},X),$.failResult(X,()=>$.reset(),()=>$.error())},error:{message:"must NOT be valid"}};s3.default=Iq});var e3=L((o3)=>{Object.defineProperty(o3,"__esModule",{value:!0});var bq=_0(),xq={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:bq.validateUnion,error:{message:"must match a schema in anyOf"}};o3.default=xq});var w7=L(($7)=>{Object.defineProperty($7,"__esModule",{value:!0});var B8=v(),gq=l(),vq={message:"must match exactly one schema in oneOf",params:({params:$})=>B8._`{passingSchemas: ${$.passing}}`},uq={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:vq,code($){let{gen:w,schema:Z,parentSchema:W,it:X}=$;if(!Array.isArray(Z))throw Error("ajv implementation error");if(X.opts.discriminator&&W.discriminator)return;let Y=Z,G=w.let("valid",!1),J=w.let("passing",null),Q=w.name("_valid");$.setParams({passing:J}),w.block(z),$.result(G,()=>$.reset(),()=>$.error(!0));function z(){Y.forEach((M,T)=>{let N;if((0,gq.alwaysValidSchema)(X,M))w.var(Q,!0);else N=$.subschema({keyword:"oneOf",schemaProp:T,compositeRule:!0},Q);if(T>0)w.if(B8._`${Q} && ${G}`).assign(G,!1).assign(J,B8._`[${J}, ${T}]`).else();w.if(Q,()=>{if(w.assign(G,!0),w.assign(J,T),N)$.mergeEvaluated(N,B8.Name)})})}}};$7.default=uq});var W7=L((Z7)=>{Object.defineProperty(Z7,"__esModule",{value:!0});var iq=l(),mq={keyword:"allOf",schemaType:"array",code($){let{gen:w,schema:Z,it:W}=$;if(!Array.isArray(Z))throw Error("ajv implementation error");let X=w.name("valid");Z.forEach((Y,G)=>{if((0,iq.alwaysValidSchema)(W,Y))return;let J=$.subschema({keyword:"allOf",schemaProp:G},X);$.ok(X),$.mergeEvaluated(J)})}};Z7.default=mq});var J7=L((G7)=>{Object.defineProperty(G7,"__esModule",{value:!0});var V8=v(),Y7=l(),cq={message:({params:$})=>V8.str`must match "${$.ifClause}" schema`,params:({params:$})=>V8._`{failingKeyword: ${$.ifClause}}`},dq={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:cq,code($){let{gen:w,parentSchema:Z,it:W}=$;if(Z.then===void 0&&Z.else===void 0)(0,Y7.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let X=X7(W,"then"),Y=X7(W,"else");if(!X&&!Y)return;let G=w.let("valid",!0),J=w.name("_valid");if(Q(),$.reset(),X&&Y){let M=w.let("ifClause");$.setParams({ifClause:M}),w.if(J,z("then",M),z("else",M))}else if(X)w.if(J,z("then"));else w.if((0,V8.not)(J),z("else"));$.pass(G,()=>$.error(!0));function Q(){let M=$.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},J);$.mergeEvaluated(M)}function z(M,T){return()=>{let N=$.subschema({keyword:M},J);if(w.assign(G,J),$.mergeValidEvaluated(N,G),T)w.assign(T,V8._`${M}`);else $.setParams({ifClause:M})}}}};function X7($,w){let Z=$.schema[w];return Z!==void 0&&!(0,Y7.alwaysValidSchema)($,Z)}G7.default=dq});var z7=L((Q7)=>{Object.defineProperty(Q7,"__esModule",{value:!0});var nq=l(),tq={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:$,parentSchema:w,it:Z}){if(w.if===void 0)(0,nq.checkStrictMode)(Z,`"${$}" without "if" is ignored`)}};Q7.default=tq});var T7=L((M7)=>{Object.defineProperty(M7,"__esModule",{value:!0});var sq=hZ(),aq=f3(),oq=iZ(),eq=S3(),$U=C3(),wU=_3(),ZU=u3(),WU=lZ(),XU=c3(),YU=r3(),GU=a3(),JU=e3(),QU=w7(),zU=W7(),MU=J7(),TU=z7();function NU($=!1){let w=[GU.default,JU.default,QU.default,zU.default,MU.default,TU.default,ZU.default,WU.default,wU.default,XU.default,YU.default];if($)w.push(aq.default,eq.default);else w.push(sq.default,oq.default);return w.push($U.default),w}M7.default=NU});var K7=L((N7)=>{Object.defineProperty(N7,"__esModule",{value:!0});var o=v(),BU={message:({schemaCode:$})=>o.str`must match format "${$}"`,params:({schemaCode:$})=>o._`{format: ${$}}`},VU={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:BU,code($,w){let{gen:Z,data:W,$data:X,schema:Y,schemaCode:G,it:J}=$,{opts:Q,errSchemaPath:z,schemaEnv:M,self:T}=J;if(!Q.validateFormats)return;if(X)N();else K();function N(){let B=Z.scopeValue("formats",{ref:T.formats,code:Q.code.formats}),P=Z.const("fDef",o._`${B}[${G}]`),q=Z.let("fType"),U=Z.let("format");Z.if(o._`typeof ${P} == "object" && !(${P} instanceof RegExp)`,()=>Z.assign(q,o._`${P}.type || "string"`).assign(U,o._`${P}.validate`),()=>Z.assign(q,o._`"string"`).assign(U,P)),$.fail$data((0,o.or)(O(),f()));function O(){if(Q.strictSchema===!1)return o.nil;return o._`${G} && !${U}`}function f(){let C=M.$async?o._`(${P}.async ? await ${U}(${W}) : ${U}(${W}))`:o._`${U}(${W})`,A=o._`(typeof ${U} == "function" ? ${C} : ${U}.test(${W}))`;return o._`${U} && ${U} !== true && ${q} === ${w} && !${A}`}}function K(){let B=T.formats[Y];if(!B){O();return}if(B===!0)return;let[P,q,U]=f(B);if(P===w)$.pass(C());function O(){if(Q.strictSchema===!1){T.logger.warn(A());return}throw Error(A());function A(){return`unknown format "${Y}" ignored in schema at path "${z}"`}}function f(A){let u=A instanceof RegExp?(0,o.regexpCode)(A):Q.code.formats?o._`${Q.code.formats}${(0,o.getProperty)(Y)}`:void 0,i=Z.scopeValue("formats",{key:Y,ref:A,code:u});if(typeof A=="object"&&!(A instanceof RegExp))return[A.type||"string",A.validate,o._`${i}.validate`];return["string",A,i]}function C(){if(typeof B=="object"&&!(B instanceof RegExp)&&B.async){if(!M.$async)throw Error("async format in sync schema");return o._`await ${U}(${W})`}return typeof q=="function"?o._`${U}(${W})`:o._`${U}.test(${W})`}}}};N7.default=VU});var V7=L((B7)=>{Object.defineProperty(B7,"__esModule",{value:!0});var qU=K7(),UU=[qU.default];B7.default=UU});var U7=L((P7)=>{Object.defineProperty(P7,"__esModule",{value:!0});P7.contentVocabulary=P7.metadataVocabulary=void 0;P7.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];P7.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var O7=L((F7)=>{Object.defineProperty(F7,"__esModule",{value:!0});var OU=lG(),EU=P3(),LU=T7(),DU=V7(),H7=U7(),fU=[OU.default,EU.default,(0,LU.default)(),DU.default,H7.metadataVocabulary,H7.contentVocabulary];F7.default=fU});var f7=L((L7)=>{Object.defineProperty(L7,"__esModule",{value:!0});L7.DiscrError=void 0;var E7;(function($){$.Tag="tag",$.Mapping="mapping"})(E7||(L7.DiscrError=E7={}))});var S7=L((A7)=>{Object.defineProperty(A7,"__esModule",{value:!0});var u1=v(),dZ=f7(),k7=s4(),AU=xw(),SU=l(),RU={message:({params:{discrError:$,tagName:w}})=>$===dZ.DiscrError.Tag?`tag "${w}" must be string`:`value of tag "${w}" must be in oneOf`,params:({params:{discrError:$,tag:w,tagName:Z}})=>u1._`{error: ${$}, tag: ${Z}, tagValue: ${w}}`},CU={keyword:"discriminator",type:"object",schemaType:"object",error:RU,code($){let{gen:w,data:Z,schema:W,parentSchema:X,it:Y}=$,{oneOf:G}=X;if(!Y.opts.discriminator)throw Error("discriminator: requires discriminator option");let J=W.propertyName;if(typeof J!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let Q=w.let("valid",!1),z=w.const("tag",u1._`${Z}${(0,u1.getProperty)(J)}`);w.if(u1._`typeof ${z} == "string"`,()=>M(),()=>$.error(!1,{discrError:dZ.DiscrError.Tag,tag:z,tagName:J})),$.ok(Q);function M(){let K=N();w.if(!1);for(let B in K)w.elseIf(u1._`${z} === ${B}`),w.assign(Q,T(K[B]));w.else(),$.error(!1,{discrError:dZ.DiscrError.Mapping,tag:z,tagName:J}),w.endIf()}function T(K){let B=w.name("valid"),P=$.subschema({keyword:"oneOf",schemaProp:K},B);return $.mergeEvaluated(P,u1.Name),B}function N(){var K;let B={},P=U(X),q=!0;for(let C=0;C<G.length;C++){let A=G[C];if((A===null||A===void 0?void 0:A.$ref)&&!(0,SU.schemaHasRulesButRef)(A,Y.self.RULES)){let i=A.$ref;if(A=k7.resolveRef.call(Y.self,Y.schemaEnv.root,Y.baseId,i),A instanceof k7.SchemaEnv)A=A.schema;if(A===void 0)throw new AU.default(Y.opts.uriResolver,Y.baseId,i)}let u=(K=A===null||A===void 0?void 0:A.properties)===null||K===void 0?void 0:K[J];if(typeof u!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${J}"`);q=q&&(P||U(A)),O(u,C)}if(!q)throw Error(`discriminator: "${J}" must be required`);return B;function U({required:C}){return Array.isArray(C)&&C.includes(J)}function O(C,A){if(C.const)f(C.const,A);else if(C.enum)for(let u of C.enum)f(u,A);else throw Error(`discriminator: "properties/${J}" must have "const" or "enum"`)}function f(C,A){if(typeof C!="string"||C in B)throw Error(`discriminator: "${J}" values must be unique strings`);B[C]=A}}}};A7.default=CU});var R7=L((bD,IU)=>{IU.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var j7=L((f0,pZ)=>{Object.defineProperty(f0,"__esModule",{value:!0});f0.MissingRefError=f0.ValidationError=f0.CodeGen=f0.Name=f0.nil=f0.stringify=f0.str=f0._=f0.KeywordCxt=f0.Ajv=void 0;var yU=yG(),bU=O7(),xU=S7(),C7=R7(),_U=["/properties"],P8="http://json-schema.org/draft-07/schema";class tw extends yU.default{_addVocabularies(){if(super._addVocabularies(),bU.default.forEach(($)=>this.addVocabulary($)),this.opts.discriminator)this.addKeyword(xU.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let $=this.opts.$data?this.$dataMetaSchema(C7,_U):C7;this.addMetaSchema($,P8,!1),this.refs["http://json-schema.org/schema"]=P8}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(P8)?P8:void 0)}}f0.Ajv=tw;pZ.exports=f0=tw;pZ.exports.Ajv=tw;Object.defineProperty(f0,"__esModule",{value:!0});f0.default=tw;var gU=bw();Object.defineProperty(f0,"KeywordCxt",{enumerable:!0,get:function(){return gU.KeywordCxt}});var h1=v();Object.defineProperty(f0,"_",{enumerable:!0,get:function(){return h1._}});Object.defineProperty(f0,"str",{enumerable:!0,get:function(){return h1.str}});Object.defineProperty(f0,"stringify",{enumerable:!0,get:function(){return h1.stringify}});Object.defineProperty(f0,"nil",{enumerable:!0,get:function(){return h1.nil}});Object.defineProperty(f0,"Name",{enumerable:!0,get:function(){return h1.Name}});Object.defineProperty(f0,"CodeGen",{enumerable:!0,get:function(){return h1.CodeGen}});var vU=t4();Object.defineProperty(f0,"ValidationError",{enumerable:!0,get:function(){return vU.default}});var uU=xw();Object.defineProperty(f0,"MissingRefError",{enumerable:!0,get:function(){return uU.default}})});var KJ=L((ik,K5)=>{var C8=process||{},TJ=C8.argv||[],R8=C8.env||{},vH=!(!!R8.NO_COLOR||TJ.includes("--no-color"))&&(!!R8.FORCE_COLOR||TJ.includes("--color")||C8.platform==="win32"||(C8.stdout||{}).isTTY&&R8.TERM!=="dumb"||!!R8.CI),uH=($,w,Z=$)=>(W)=>{let X=""+W,Y=X.indexOf(w,$.length);return~Y?$+hH(X,w,Z,Y)+w:$+X+w},hH=($,w,Z,W)=>{let X="",Y=0;do X+=$.substring(Y,W)+Z,Y=W+w.length,W=$.indexOf(w,Y);while(~W);return X+$.substring(Y)},NJ=($=vH)=>{let w=$?uH:()=>String;return{isColorSupported:$,reset:w("\x1B[0m","\x1B[0m"),bold:w("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:w("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:w("\x1B[3m","\x1B[23m"),underline:w("\x1B[4m","\x1B[24m"),inverse:w("\x1B[7m","\x1B[27m"),hidden:w("\x1B[8m","\x1B[28m"),strikethrough:w("\x1B[9m","\x1B[29m"),black:w("\x1B[30m","\x1B[39m"),red:w("\x1B[31m","\x1B[39m"),green:w("\x1B[32m","\x1B[39m"),yellow:w("\x1B[33m","\x1B[39m"),blue:w("\x1B[34m","\x1B[39m"),magenta:w("\x1B[35m","\x1B[39m"),cyan:w("\x1B[36m","\x1B[39m"),white:w("\x1B[37m","\x1B[39m"),gray:w("\x1B[90m","\x1B[39m"),bgBlack:w("\x1B[40m","\x1B[49m"),bgRed:w("\x1B[41m","\x1B[49m"),bgGreen:w("\x1B[42m","\x1B[49m"),bgYellow:w("\x1B[43m","\x1B[49m"),bgBlue:w("\x1B[44m","\x1B[49m"),bgMagenta:w("\x1B[45m","\x1B[49m"),bgCyan:w("\x1B[46m","\x1B[49m"),bgWhite:w("\x1B[47m","\x1B[49m"),blackBright:w("\x1B[90m","\x1B[39m"),redBright:w("\x1B[91m","\x1B[39m"),greenBright:w("\x1B[92m","\x1B[39m"),yellowBright:w("\x1B[93m","\x1B[39m"),blueBright:w("\x1B[94m","\x1B[39m"),magentaBright:w("\x1B[95m","\x1B[39m"),cyanBright:w("\x1B[96m","\x1B[39m"),whiteBright:w("\x1B[97m","\x1B[39m"),bgBlackBright:w("\x1B[100m","\x1B[49m"),bgRedBright:w("\x1B[101m","\x1B[49m"),bgGreenBright:w("\x1B[102m","\x1B[49m"),bgYellowBright:w("\x1B[103m","\x1B[49m"),bgBlueBright:w("\x1B[104m","\x1B[49m"),bgMagentaBright:w("\x1B[105m","\x1B[49m"),bgCyanBright:w("\x1B[106m","\x1B[49m"),bgWhiteBright:w("\x1B[107m","\x1B[49m")}};K5.exports=NJ();K5.exports.createColors=NJ});import{realpathSync as Az}from"fs";import{realpath as PE}from"fs/promises";import qE from"path";import{createInterface as UE}from"readline/promises";import{fileURLToPath as HE}from"url";var oW=R4(d6(),1),{program:yE,createCommand:bE,createArgument:xE,createOption:_E,CommanderError:gE,InvalidArgumentError:vE,InvalidOptionArgumentError:uE,Command:eW,Argument:hE,Option:iE,Help:mE}=oW.default;import $X from"node:os";import I4 from"node:path";function wX(){return process.env.XDG_CONFIG_HOME?I4.join(process.env.XDG_CONFIG_HOME,"coden"):I4.join($X.homedir(),".config","coden")}function ZX(){return process.env.XDG_DATA_HOME?I4.join(process.env.XDG_DATA_HOME,"coden"):I4.join($X.homedir(),".local","share","coden")}import{mkdir as SM,readFile as RM,realpath as WX,writeFile as CM}from"node:fs/promises";import jM from"node:path";class p6{file;constructor($){this.file=$}async isTrusted($){return(await this.read()).includes($)}async isWorkspaceTrusted($){return this.isTrusted(await WX($))}async trustWorkspace($){return this.trust(await WX($))}async trust($){let w=await this.read();if(!w.includes($))w.push($);await SM(jM.dirname(this.file),{recursive:!0}),await CM(this.file,`${JSON.stringify(w,null,2)}
36
- `,{encoding:"utf8",mode:384})}async read(){try{let $=JSON.parse(await RM(this.file,"utf8"));return Array.isArray($)?$.filter((w)=>typeof w==="string"):[]}catch($){if($.code==="ENOENT")return[];throw $}}}function R1($,w){if($.length<=w)return $;let W=Math.max(0,w-80),X=Math.ceil(W/2),Y=Math.floor(W/2),G=$.length-X-Y;return`${$.slice(0,X)}
35
+ deps: ${W}}`};var Rq={keyword:"dependencies",type:"object",schemaType:"object",error:L7.error,code($){let[w,W]=Cq($);O7($,w),E7($,W)}};function Cq({schema:$}){let w={},W={};for(let Z in $){if(Z==="__proto__")continue;let X=Array.isArray($[Z])?w:W;X[Z]=$[Z]}return[w,W]}function O7($,w=$.schema){let{gen:W,data:Z,it:X}=$;if(Object.keys(w).length===0)return;let Y=W.let("missing");for(let G in w){let J=w[G];if(J.length===0)continue;let T=(0,z4.propertyInData)(W,Z,G,X.opts.ownProperties);if($.setParams({property:G,depsCount:J.length,deps:J.join(", ")}),X.allErrors)W.if(T,()=>{for(let Q of J)(0,z4.checkReportMissingProp)($,Q)});else W.if(H5._`${T} && (${(0,z4.checkMissingProp)($,J,Y)})`),(0,z4.reportMissingProp)($,Y),W.else()}}L7.validatePropertyDeps=O7;function E7($,w=$.schema){let{gen:W,data:Z,keyword:X,it:Y}=$,G=W.name("valid");for(let J in w){if((0,Sq.alwaysValidSchema)(Y,w[J]))continue;W.if((0,z4.propertyInData)(W,Z,J,Y.opts.ownProperties),()=>{let T=$.subschema({keyword:X,schemaProp:J},G);$.mergeValidEvaluated(T,G)},()=>W.var(G,!0)),$.ok(G)}}L7.validateSchemaDeps=E7;L7.default=Rq});var C7=L((R7)=>{Object.defineProperty(R7,"__esModule",{value:!0});var S7=h(),Iq=c(),bq={message:"property name must be valid",params:({params:$})=>S7._`{propertyName: ${$.propertyName}}`},xq={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:bq,code($){let{gen:w,schema:W,data:Z,it:X}=$;if((0,Iq.alwaysValidSchema)(X,W))return;let Y=w.name("valid");w.forIn("key",Z,(G)=>{$.setParams({propertyName:G}),$.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},Y),w.if((0,S7.not)(Y),()=>{if($.error(!0),!X.allErrors)w.break()})}),$.ok(Y)}};R7.default=xq});var F5=L((j7)=>{Object.defineProperty(j7,"__esModule",{value:!0});var _8=h0(),r0=h(),gq=B$(),g8=c(),vq={message:"must NOT have additional properties",params:({params:$})=>r0._`{additionalProperty: ${$.additionalProperty}}`},uq={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:vq,code($){let{gen:w,schema:W,parentSchema:Z,data:X,errsCount:Y,it:G}=$;if(!Y)throw Error("ajv implementation error");let{allErrors:J,opts:T}=G;if(G.props=!0,T.removeAdditional!=="all"&&(0,g8.alwaysValidSchema)(G,W))return;let Q=(0,_8.allSchemaProperties)(Z.properties),M=(0,_8.allSchemaProperties)(Z.patternProperties);z(),$.ok(r0._`${Y} === ${gq.default.errors}`);function z(){w.forIn("key",X,(q)=>{if(!Q.length&&!M.length)K(q);else w.if(N(q),()=>K(q))})}function N(q){let f;if(Q.length>8){let H=(0,g8.schemaRefOrVal)(G,Z.properties,"properties");f=(0,_8.isOwnProperty)(w,H,q)}else if(Q.length)f=(0,r0.or)(...Q.map((H)=>r0._`${q} === ${H}`));else f=r0.nil;if(M.length)f=(0,r0.or)(f,...M.map((H)=>r0._`${(0,_8.usePattern)($,H)}.test(${q})`));return(0,r0.not)(f)}function B(q){w.code(r0._`delete ${X}[${q}]`)}function K(q){if(T.removeAdditional==="all"||T.removeAdditional&&W===!1){B(q);return}if(W===!1){if($.setParams({additionalProperty:q}),$.error(),!J)w.break();return}if(typeof W=="object"&&!(0,g8.alwaysValidSchema)(G,W)){let f=w.name("valid");if(T.removeAdditional==="failing")P(q,f,!1),w.if((0,r0.not)(f),()=>{$.reset(),B(q)});else if(P(q,f),!J)w.if((0,r0.not)(f),()=>w.break())}}function P(q,f,H){let E={keyword:"additionalProperties",dataProp:q,dataPropType:g8.Type.Str};if(H===!1)Object.assign(E,{compositeRule:!0,createErrors:!1,allErrors:!1});$.subschema(E,f)}}};j7.default=uq});var x7=L((b7)=>{Object.defineProperty(b7,"__esModule",{value:!0});var iq=ow(),y7=h0(),O5=c(),I7=F5(),mq={keyword:"properties",type:"object",schemaType:"object",code($){let{gen:w,schema:W,parentSchema:Z,data:X,it:Y}=$;if(Y.opts.removeAdditional==="all"&&Z.additionalProperties===void 0)I7.default.code(new iq.KeywordCxt(Y,I7.default,"additionalProperties"));let G=(0,y7.allSchemaProperties)(W);for(let z of G)Y.definedProperties.add(z);if(Y.opts.unevaluated&&G.length&&Y.props!==!0)Y.props=O5.mergeEvaluated.props(w,(0,O5.toHash)(G),Y.props);let J=G.filter((z)=>!(0,O5.alwaysValidSchema)(Y,W[z]));if(J.length===0)return;let T=w.name("valid");for(let z of J){if(Q(z))M(z);else{if(w.if((0,y7.propertyInData)(w,X,z,Y.opts.ownProperties)),M(z),!Y.allErrors)w.else().var(T,!0);w.endIf()}$.it.definedProperties.add(z),$.ok(T)}function Q(z){return Y.opts.useDefaults&&!Y.compositeRule&&W[z].default!==void 0}function M(z){$.subschema({keyword:"properties",schemaProp:z,dataProp:z},T)}}};b7.default=mq});var h7=L((u7)=>{Object.defineProperty(u7,"__esModule",{value:!0});var _7=h0(),v8=h(),g7=c(),v7=c(),cq={keyword:"patternProperties",type:"object",schemaType:"object",code($){let{gen:w,schema:W,data:Z,parentSchema:X,it:Y}=$,{opts:G}=Y,J=(0,_7.allSchemaProperties)(W),T=J.filter((P)=>(0,g7.alwaysValidSchema)(Y,W[P]));if(J.length===0||T.length===J.length&&(!Y.opts.unevaluated||Y.props===!0))return;let Q=G.strictSchema&&!G.allowMatchingProperties&&X.properties,M=w.name("valid");if(Y.props!==!0&&!(Y.props instanceof v8.Name))Y.props=(0,v7.evaluatedPropsToName)(w,Y.props);let{props:z}=Y;N();function N(){for(let P of J){if(Q)B(P);if(Y.allErrors)K(P);else w.var(M,!0),K(P),w.if(M)}}function B(P){for(let q in Q)if(new RegExp(P).test(q))(0,g7.checkStrictMode)(Y,`property ${q} matches pattern ${P} (use allowMatchingProperties)`)}function K(P){w.forIn("key",Z,(q)=>{w.if(v8._`${(0,_7.usePattern)($,P)}.test(${q})`,()=>{let f=T.includes(P);if(!f)$.subschema({keyword:"patternProperties",schemaProp:P,dataProp:q,dataPropType:v7.Type.Str},M);if(Y.opts.unevaluated&&z!==!0)w.assign(v8._`${z}[${q}]`,!0);else if(!f&&!Y.allErrors)w.if((0,v8.not)(M),()=>w.break())})})}}};u7.default=cq});var m7=L((i7)=>{Object.defineProperty(i7,"__esModule",{value:!0});var nq=c(),pq={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code($){let{gen:w,schema:W,it:Z}=$;if((0,nq.alwaysValidSchema)(Z,W)){$.fail();return}let X=w.name("valid");$.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},X),$.failResult(X,()=>$.reset(),()=>$.error())},error:{message:"must NOT be valid"}};i7.default=pq});var c7=L((l7)=>{Object.defineProperty(l7,"__esModule",{value:!0});var rq=h0(),sq={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:rq.validateUnion,error:{message:"must match a schema in anyOf"}};l7.default=sq});var n7=L((d7)=>{Object.defineProperty(d7,"__esModule",{value:!0});var u8=h(),oq=c(),eq={message:"must match exactly one schema in oneOf",params:({params:$})=>u8._`{passingSchemas: ${$.passing}}`},$U={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:eq,code($){let{gen:w,schema:W,parentSchema:Z,it:X}=$;if(!Array.isArray(W))throw Error("ajv implementation error");if(X.opts.discriminator&&Z.discriminator)return;let Y=W,G=w.let("valid",!1),J=w.let("passing",null),T=w.name("_valid");$.setParams({passing:J}),w.block(Q),$.result(G,()=>$.reset(),()=>$.error(!0));function Q(){Y.forEach((M,z)=>{let N;if((0,oq.alwaysValidSchema)(X,M))w.var(T,!0);else N=$.subschema({keyword:"oneOf",schemaProp:z,compositeRule:!0},T);if(z>0)w.if(u8._`${T} && ${G}`).assign(G,!1).assign(J,u8._`[${J}, ${z}]`).else();w.if(T,()=>{if(w.assign(G,!0),w.assign(J,z),N)$.mergeEvaluated(N,u8.Name)})})}}};d7.default=$U});var t7=L((p7)=>{Object.defineProperty(p7,"__esModule",{value:!0});var WU=c(),ZU={keyword:"allOf",schemaType:"array",code($){let{gen:w,schema:W,it:Z}=$;if(!Array.isArray(W))throw Error("ajv implementation error");let X=w.name("valid");W.forEach((Y,G)=>{if((0,WU.alwaysValidSchema)(Z,Y))return;let J=$.subschema({keyword:"allOf",schemaProp:G},X);$.ok(X),$.mergeEvaluated(J)})}};p7.default=ZU});var o7=L((a7)=>{Object.defineProperty(a7,"__esModule",{value:!0});var h8=h(),s7=c(),YU={message:({params:$})=>h8.str`must match "${$.ifClause}" schema`,params:({params:$})=>h8._`{failingKeyword: ${$.ifClause}}`},GU={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:YU,code($){let{gen:w,parentSchema:W,it:Z}=$;if(W.then===void 0&&W.else===void 0)(0,s7.checkStrictMode)(Z,'"if" without "then" and "else" is ignored');let X=r7(Z,"then"),Y=r7(Z,"else");if(!X&&!Y)return;let G=w.let("valid",!0),J=w.name("_valid");if(T(),$.reset(),X&&Y){let M=w.let("ifClause");$.setParams({ifClause:M}),w.if(J,Q("then",M),Q("else",M))}else if(X)w.if(J,Q("then"));else w.if((0,h8.not)(J),Q("else"));$.pass(G,()=>$.error(!0));function T(){let M=$.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},J);$.mergeEvaluated(M)}function Q(M,z){return()=>{let N=$.subschema({keyword:M},J);if(w.assign(G,J),$.mergeValidEvaluated(N,G),z)w.assign(z,h8._`${M}`);else $.setParams({ifClause:M})}}}};function r7($,w){let W=$.schema[w];return W!==void 0&&!(0,s7.alwaysValidSchema)($,W)}a7.default=GU});var $J=L((e7)=>{Object.defineProperty(e7,"__esModule",{value:!0});var TU=c(),QU={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:$,parentSchema:w,it:W}){if(w.if===void 0)(0,TU.checkStrictMode)(W,`"${$}" without "if" is ignored`)}};e7.default=QU});var WJ=L((wJ)=>{Object.defineProperty(wJ,"__esModule",{value:!0});var zU=q5(),NU=V7(),KU=U5(),BU=U7(),PU=F7(),VU=A7(),fU=C7(),qU=F5(),UU=x7(),HU=h7(),FU=m7(),OU=c7(),EU=n7(),LU=t7(),DU=o7(),kU=$J();function AU($=!1){let w=[FU.default,OU.default,EU.default,LU.default,DU.default,kU.default,fU.default,qU.default,VU.default,UU.default,HU.default];if($)w.push(NU.default,BU.default);else w.push(zU.default,KU.default);return w.push(PU.default),w}wJ.default=AU});var XJ=L((ZJ)=>{Object.defineProperty(ZJ,"__esModule",{value:!0});var w0=h(),RU={message:({schemaCode:$})=>w0.str`must match format "${$}"`,params:({schemaCode:$})=>w0._`{format: ${$}}`},CU={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:RU,code($,w){let{gen:W,data:Z,$data:X,schema:Y,schemaCode:G,it:J}=$,{opts:T,errSchemaPath:Q,schemaEnv:M,self:z}=J;if(!T.validateFormats)return;if(X)N();else B();function N(){let K=W.scopeValue("formats",{ref:z.formats,code:T.code.formats}),P=W.const("fDef",w0._`${K}[${G}]`),q=W.let("fType"),f=W.let("format");W.if(w0._`typeof ${P} == "object" && !(${P} instanceof RegExp)`,()=>W.assign(q,w0._`${P}.type || "string"`).assign(f,w0._`${P}.validate`),()=>W.assign(q,w0._`"string"`).assign(f,P)),$.fail$data((0,w0.or)(H(),E()));function H(){if(T.strictSchema===!1)return w0.nil;return w0._`${G} && !${f}`}function E(){let S=M.$async?w0._`(${P}.async ? await ${f}(${Z}) : ${f}(${Z}))`:w0._`${f}(${Z})`,A=w0._`(typeof ${f} == "function" ? ${S} : ${f}.test(${Z}))`;return w0._`${f} && ${f} !== true && ${q} === ${w} && !${A}`}}function B(){let K=z.formats[Y];if(!K){H();return}if(K===!0)return;let[P,q,f]=E(K);if(P===w)$.pass(S());function H(){if(T.strictSchema===!1){z.logger.warn(A());return}throw Error(A());function A(){return`unknown format "${Y}" ignored in schema at path "${Q}"`}}function E(A){let j=A instanceof RegExp?(0,w0.regexpCode)(A):T.code.formats?w0._`${T.code.formats}${(0,w0.getProperty)(Y)}`:void 0,g=W.scopeValue("formats",{key:Y,ref:A,code:j});if(typeof A=="object"&&!(A instanceof RegExp))return[A.type||"string",A.validate,w0._`${g}.validate`];return["string",A,g]}function S(){if(typeof K=="object"&&!(K instanceof RegExp)&&K.async){if(!M.$async)throw Error("async format in sync schema");return w0._`await ${f}(${Z})`}return typeof q=="function"?w0._`${f}(${Z})`:w0._`${f}.test(${Z})`}}}};ZJ.default=CU});var GJ=L((YJ)=>{Object.defineProperty(YJ,"__esModule",{value:!0});var yU=XJ(),IU=[yU.default];YJ.default=IU});var QJ=L((JJ)=>{Object.defineProperty(JJ,"__esModule",{value:!0});JJ.contentVocabulary=JJ.metadataVocabulary=void 0;JJ.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];JJ.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var NJ=L((zJ)=>{Object.defineProperty(zJ,"__esModule",{value:!0});var _U=bG(),gU=J7(),vU=WJ(),uU=GJ(),MJ=QJ(),hU=[_U.default,gU.default,(0,vU.default)(),uU.default,MJ.metadataVocabulary,MJ.contentVocabulary];zJ.default=hU});var VJ=L((BJ)=>{Object.defineProperty(BJ,"__esModule",{value:!0});BJ.DiscrError=void 0;var KJ;(function($){$.Tag="tag",$.Mapping="mapping"})(KJ||(BJ.DiscrError=KJ={}))});var UJ=L((qJ)=>{Object.defineProperty(qJ,"__esModule",{value:!0});var e1=h(),E5=VJ(),fJ=F8(),mU=ew(),lU=c(),cU={message:({params:{discrError:$,tagName:w}})=>$===E5.DiscrError.Tag?`tag "${w}" must be string`:`value of tag "${w}" must be in oneOf`,params:({params:{discrError:$,tag:w,tagName:W}})=>e1._`{error: ${$}, tag: ${W}, tagValue: ${w}}`},dU={keyword:"discriminator",type:"object",schemaType:"object",error:cU,code($){let{gen:w,data:W,schema:Z,parentSchema:X,it:Y}=$,{oneOf:G}=X;if(!Y.opts.discriminator)throw Error("discriminator: requires discriminator option");let J=Z.propertyName;if(typeof J!="string")throw Error("discriminator: requires propertyName");if(Z.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let T=w.let("valid",!1),Q=w.const("tag",e1._`${W}${(0,e1.getProperty)(J)}`);w.if(e1._`typeof ${Q} == "string"`,()=>M(),()=>$.error(!1,{discrError:E5.DiscrError.Tag,tag:Q,tagName:J})),$.ok(T);function M(){let B=N();w.if(!1);for(let K in B)w.elseIf(e1._`${Q} === ${K}`),w.assign(T,z(B[K]));w.else(),$.error(!1,{discrError:E5.DiscrError.Mapping,tag:Q,tagName:J}),w.endIf()}function z(B){let K=w.name("valid"),P=$.subschema({keyword:"oneOf",schemaProp:B},K);return $.mergeEvaluated(P,e1.Name),K}function N(){var B;let K={},P=f(X),q=!0;for(let S=0;S<G.length;S++){let A=G[S];if((A===null||A===void 0?void 0:A.$ref)&&!(0,lU.schemaHasRulesButRef)(A,Y.self.RULES)){let g=A.$ref;if(A=fJ.resolveRef.call(Y.self,Y.schemaEnv.root,Y.baseId,g),A instanceof fJ.SchemaEnv)A=A.schema;if(A===void 0)throw new mU.default(Y.opts.uriResolver,Y.baseId,g)}let j=(B=A===null||A===void 0?void 0:A.properties)===null||B===void 0?void 0:B[J];if(typeof j!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${J}"`);q=q&&(P||f(A)),H(j,S)}if(!q)throw Error(`discriminator: "${J}" must be required`);return K;function f({required:S}){return Array.isArray(S)&&S.includes(J)}function H(S,A){if(S.const)E(S.const,A);else if(S.enum)for(let j of S.enum)E(j,A);else throw Error(`discriminator: "properties/${J}" must have "const" or "enum"`)}function E(S,A){if(typeof S!="string"||S in K)throw Error(`discriminator: "${J}" values must be unique strings`);K[S]=A}}}};qJ.default=dU});var HJ=L((MA,pU)=>{pU.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var OJ=L((R0,L5)=>{Object.defineProperty(R0,"__esModule",{value:!0});R0.MissingRefError=R0.ValidationError=R0.CodeGen=R0.Name=R0.nil=R0.stringify=R0.str=R0._=R0.KeywordCxt=R0.Ajv=void 0;var tU=LG(),rU=NJ(),sU=UJ(),FJ=HJ(),aU=["/properties"],i8="http://json-schema.org/draft-07/schema";class N4 extends tU.default{_addVocabularies(){if(super._addVocabularies(),rU.default.forEach(($)=>this.addVocabulary($)),this.opts.discriminator)this.addKeyword(sU.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let $=this.opts.$data?this.$dataMetaSchema(FJ,aU):FJ;this.addMetaSchema($,i8,!1),this.refs["http://json-schema.org/schema"]=i8}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(i8)?i8:void 0)}}R0.Ajv=N4;L5.exports=R0=N4;L5.exports.Ajv=N4;Object.defineProperty(R0,"__esModule",{value:!0});R0.default=N4;var oU=ow();Object.defineProperty(R0,"KeywordCxt",{enumerable:!0,get:function(){return oU.KeywordCxt}});var $w=h();Object.defineProperty(R0,"_",{enumerable:!0,get:function(){return $w._}});Object.defineProperty(R0,"str",{enumerable:!0,get:function(){return $w.str}});Object.defineProperty(R0,"stringify",{enumerable:!0,get:function(){return $w.stringify}});Object.defineProperty(R0,"nil",{enumerable:!0,get:function(){return $w.nil}});Object.defineProperty(R0,"Name",{enumerable:!0,get:function(){return $w.Name}});Object.defineProperty(R0,"CodeGen",{enumerable:!0,get:function(){return $w.CodeGen}});var eU=U8();Object.defineProperty(R0,"ValidationError",{enumerable:!0,get:function(){return eU.default}});var $H=ew();Object.defineProperty(R0,"MissingRefError",{enumerable:!0,get:function(){return $H.default}})});var W6=L((VR,d5)=>{var w6=process||{},WT=w6.argv||[],$6=w6.env||{},eH=!(!!$6.NO_COLOR||WT.includes("--no-color"))&&(!!$6.FORCE_COLOR||WT.includes("--color")||w6.platform==="win32"||(w6.stdout||{}).isTTY&&$6.TERM!=="dumb"||!!$6.CI),$F=($,w,W=$)=>(Z)=>{let X=""+Z,Y=X.indexOf(w,$.length);return~Y?$+wF(X,w,W,Y)+w:$+X+w},wF=($,w,W,Z)=>{let X="",Y=0;do X+=$.substring(Y,Z)+W,Y=Z+w.length,Z=$.indexOf(w,Y);while(~Z);return X+$.substring(Y)},ZT=($=eH)=>{let w=$?$F:()=>String;return{isColorSupported:$,reset:w("\x1B[0m","\x1B[0m"),bold:w("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:w("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:w("\x1B[3m","\x1B[23m"),underline:w("\x1B[4m","\x1B[24m"),inverse:w("\x1B[7m","\x1B[27m"),hidden:w("\x1B[8m","\x1B[28m"),strikethrough:w("\x1B[9m","\x1B[29m"),black:w("\x1B[30m","\x1B[39m"),red:w("\x1B[31m","\x1B[39m"),green:w("\x1B[32m","\x1B[39m"),yellow:w("\x1B[33m","\x1B[39m"),blue:w("\x1B[34m","\x1B[39m"),magenta:w("\x1B[35m","\x1B[39m"),cyan:w("\x1B[36m","\x1B[39m"),white:w("\x1B[37m","\x1B[39m"),gray:w("\x1B[90m","\x1B[39m"),bgBlack:w("\x1B[40m","\x1B[49m"),bgRed:w("\x1B[41m","\x1B[49m"),bgGreen:w("\x1B[42m","\x1B[49m"),bgYellow:w("\x1B[43m","\x1B[49m"),bgBlue:w("\x1B[44m","\x1B[49m"),bgMagenta:w("\x1B[45m","\x1B[49m"),bgCyan:w("\x1B[46m","\x1B[49m"),bgWhite:w("\x1B[47m","\x1B[49m"),blackBright:w("\x1B[90m","\x1B[39m"),redBright:w("\x1B[91m","\x1B[39m"),greenBright:w("\x1B[92m","\x1B[39m"),yellowBright:w("\x1B[93m","\x1B[39m"),blueBright:w("\x1B[94m","\x1B[39m"),magentaBright:w("\x1B[95m","\x1B[39m"),cyanBright:w("\x1B[96m","\x1B[39m"),whiteBright:w("\x1B[97m","\x1B[39m"),bgBlackBright:w("\x1B[100m","\x1B[49m"),bgRedBright:w("\x1B[101m","\x1B[49m"),bgGreenBright:w("\x1B[102m","\x1B[49m"),bgYellowBright:w("\x1B[103m","\x1B[49m"),bgBlueBright:w("\x1B[104m","\x1B[49m"),bgMagentaBright:w("\x1B[105m","\x1B[49m"),bgCyanBright:w("\x1B[106m","\x1B[49m"),bgWhiteBright:w("\x1B[107m","\x1B[49m")}};d5.exports=ZT();d5.exports.createColors=ZT});import{realpathSync as iM}from"fs";import{realpath as nL}from"fs/promises";import pL from"path";import{createInterface as tL}from"readline/promises";import{fileURLToPath as rL}from"url";var lX=m1(EW(),1),{program:QD,createCommand:MD,createArgument:zD,createOption:ND,CommanderError:KD,InvalidArgumentError:BD,InvalidOptionArgumentError:PD,Command:cX,Argument:VD,Option:fD,Help:qD}=lX.default;import dX from"node:os";import Z8 from"node:path";function nX(){return process.env.XDG_CONFIG_HOME?Z8.join(process.env.XDG_CONFIG_HOME,"coden"):Z8.join(dX.homedir(),".config","coden")}function pX(){return process.env.XDG_DATA_HOME?Z8.join(process.env.XDG_DATA_HOME,"coden"):Z8.join(dX.homedir(),".local","share","coden")}import{mkdir as mz,readFile as lz,realpath as tX,writeFile as cz}from"node:fs/promises";import dz from"node:path";class LW{file;constructor($){this.file=$}async isTrusted($){return(await this.read()).includes($)}async isWorkspaceTrusted($){return this.isTrusted(await tX($))}async trustWorkspace($){return this.trust(await tX($))}async trust($){let w=await this.read();if(!w.includes($))w.push($);await mz(dz.dirname(this.file),{recursive:!0}),await cz(this.file,`${JSON.stringify(w,null,2)}
36
+ `,{encoding:"utf8",mode:384})}async read(){try{let $=JSON.parse(await lz(this.file,"utf8"));return Array.isArray($)?$.filter((w)=>typeof w==="string"):[]}catch($){if($.code==="ENOENT")return[];throw $}}}function l1($,w){if($.length<=w)return $;let Z=Math.max(0,w-80),X=Math.ceil(Z/2),Y=Math.floor(Z/2),G=$.length-X-Y;return`${$.slice(0,X)}
37
37
  ... [${G} characters omitted] ...
38
- ${$.slice($.length-Y)}`}class j extends Error{category;code;retryable;details;constructor($,w,Z,W=!1,X,Y){super(Z,Y);this.category=$;this.code=w;this.retryable=W;this.details=X;this.name="CodeNError"}}import{spawn as IM}from"node:child_process";class n6{headLimit;tailLimit;head="";tail="";total=0;constructor($){this.headLimit=Math.ceil($*0.6),this.tailLimit=Math.floor($*0.4)}add($){this.total+=$.length;let w=Math.max(0,this.headLimit-this.head.length);this.head+=$.slice(0,w);let Z=$.slice(w);if(Z)this.tail=`${this.tail}${Z}`.slice(-this.tailLimit)}value(){let $=this.total-this.head.length-this.tail.length;return $>0?`${this.head}
38
+ ${$.slice($.length-Y)}`}class y extends Error{category;code;retryable;details;constructor($,w,W,Z=!1,X,Y){super(W,Y);this.category=$;this.code=w;this.retryable=Z;this.details=X;this.name="CodeNError"}}import{spawn as nz}from"node:child_process";class DW{headLimit;tailLimit;head="";tail="";total=0;constructor($){this.headLimit=Math.ceil($*0.6),this.tailLimit=Math.floor($*0.4)}add($){this.total+=$.length;let w=Math.max(0,this.headLimit-this.head.length);this.head+=$.slice(0,w);let W=$.slice(w);if(W)this.tail=`${this.tail}${W}`.slice(-this.tailLimit)}value(){let $=this.total-this.head.length-this.tail.length;return $>0?`${this.head}
39
39
  ... [${$} characters omitted while capturing] ...
40
- ${this.tail}`:`${this.head}${this.tail}`}}var y4=($,w,Z)=>new Promise((W)=>{let X=process.platform!=="win32",Y=IM($,w,{cwd:Z.cwd,env:Z.env,stdio:["ignore","pipe","pipe"],detached:X}),G=new n6(Z.maxOutputChars),J=new n6(Z.maxOutputChars),Q=!1,z=!1,M=!1,T,N,K=(U)=>{if(X&&Y.pid)try{process.kill(-Y.pid,U);return}catch{}Y.kill(U)},B=(U,O)=>{if(M)return;if((Q||z)&&X&&Y.pid)try{process.kill(-Y.pid,"SIGKILL")}catch{}if(M=!0,clearTimeout(N),T)clearTimeout(T);Z.signal?.removeEventListener("abort",q),W({ok:!Q&&!z&&U===0,stdout:G.value(),stderr:J.value(),exitCode:U,signal:O,timedOut:Q,cancelled:z})},P=()=>{if(T)return;T=setTimeout(()=>K("SIGKILL"),500),T.unref()},q=()=>{if(z)return;z=!0,K("SIGTERM"),P()};if(Y.stdout.setEncoding("utf8"),Y.stderr.setEncoding("utf8"),Y.stdout.on("data",(U)=>G.add(U)),Y.stderr.on("data",(U)=>J.add(U)),Y.once("error",(U)=>{J.add(U.message),B(null,null)}),Y.once("close",B),Z.signal?.aborted)q();else Z.signal?.addEventListener("abort",q,{once:!0});N=setTimeout(()=>{Q=!0,K("SIGTERM"),P()},Z.timeoutMs)});function yM($){let w=$.timedOut?"bun install timed out":$.cancelled?"bun install cancelled":`bun install exited with code ${$.exitCode??"null"}${$.signal?` (signal ${$.signal})`:""}`;return R1([w,$.stderr?`stderr:
40
+ ${this.tail}`:`${this.head}${this.tail}`}}var X8=($,w,W)=>new Promise((Z)=>{let X=process.platform!=="win32",Y=nz($,w,{cwd:W.cwd,env:W.env,stdio:["ignore","pipe","pipe"],detached:X}),G=new DW(W.maxOutputChars),J=new DW(W.maxOutputChars),T=!1,Q=!1,M=!1,z,N,B=(f)=>{if(X&&Y.pid)try{process.kill(-Y.pid,f);return}catch{}Y.kill(f)},K=(f,H)=>{if(M)return;if((T||Q)&&X&&Y.pid)try{process.kill(-Y.pid,"SIGKILL")}catch{}if(M=!0,clearTimeout(N),z)clearTimeout(z);W.signal?.removeEventListener("abort",q),Z({ok:!T&&!Q&&f===0,stdout:G.value(),stderr:J.value(),exitCode:f,signal:H,timedOut:T,cancelled:Q})},P=()=>{if(z)return;z=setTimeout(()=>B("SIGKILL"),500),z.unref()},q=()=>{if(Q)return;Q=!0,B("SIGTERM"),P()};if(Y.stdout.setEncoding("utf8"),Y.stderr.setEncoding("utf8"),Y.stdout.on("data",(f)=>G.add(f)),Y.stderr.on("data",(f)=>J.add(f)),Y.once("error",(f)=>{J.add(f.message),K(null,null)}),Y.once("close",K),W.signal?.aborted)q();else W.signal?.addEventListener("abort",q,{once:!0});N=setTimeout(()=>{T=!0,B("SIGTERM"),P()},W.timeoutMs)});function pz($){let w=$.timedOut?"bun install timed out":$.cancelled?"bun install cancelled":`bun install exited with code ${$.exitCode??"null"}${$.signal?` (signal ${$.signal})`:""}`;return l1([w,$.stderr?`stderr:
41
41
  ${$.stderr}`:`stderr:
42
42
  <empty>`].join(`
43
- `),4000)}class t6{runner;constructor($=y4){this.runner=$}async install($){let w=["install","--registry","https://registry.npmjs.org"];if($.frozenLockfile)w.push("--frozen-lockfile");if(!$.allowScripts)w.push("--ignore-scripts");let Z=await this.runner("bun",w,{cwd:$.cwd,env:process.env,...$.signal?{signal:$.signal}:{},timeoutMs:120000,maxOutputChars:30000});if(!Z.ok)throw new j("plugin","plugin.install_failed",yM(Z))}}import eU from"node:path";import{pathToFileURL as $H}from"node:url";var y7=R4(j7(),1);var nZ=new y7.default({allErrors:!0,strict:!1,useDefaults:!0});class r0{#$=new Map;constructor($=[]){for(let w of $)this.register(w,{kind:"builtin"})}register($,w={kind:"local"}){if(!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test($.name))throw new j("plugin","tool.invalid_name",`Invalid tool name: ${$.name}`);let Z=this.#$.get($.name);if(Z)throw new j("plugin","tool.duplicate",`Duplicate tool: ${$.name} from ${I7(Z.source)} and ${I7(w)}`);try{nZ.compile($.inputSchema)}catch(W){throw new j("plugin","tool.invalid_schema",`Invalid schema for ${$.name}`,!1,void 0,{cause:W})}this.#$.set($.name,{definition:$,source:w})}get($){return this.#$.get($)?.definition}list(){return[...this.#$.values()].map(($)=>$.definition)}source($){return this.#$.get($)?.source}entries(){return[...this.#$.values()].map(($)=>({definition:$.definition,source:$.source}))}clone(){let $=new r0;return $.#$=new Map(this.#$),$}replaceWith($){this.#$=new Map($.#$)}validate($,w){let Z=this.get($);if(!Z)return{valid:!1,errors:`Unknown tool: ${$}`};let W=nZ.compile(Z.inputSchema);return W(w)?{valid:!0}:{valid:!1,errors:nZ.errorsText(W.errors)}}}function I7($){switch($.kind){case"builtin":return"builtin";case"local":return $.path?`local:${$.path}`:"local";case"npm":return $.path?`${$.pluginName}@${$.pluginVersion}:${$.path}`:`${$.pluginName}@${$.pluginVersion}`}}var tZ=1;function q8($,w){if(b7($))return[$];if(!$||typeof $!=="object")throw new j("plugin","plugin.export_invalid","plugin.export_invalid: default export must be a tool or CodeNPlugin");let Z=$;if(Z.apiVersion!==tZ)throw new j("plugin","plugin.api_unsupported",`plugin.api_unsupported: ${String(Z.apiVersion)}`);if(Z.name!==w)throw new j("plugin","plugin.name_mismatch",`plugin.name_mismatch: expected ${w}, received ${String(Z.name)}`);if(!Array.isArray(Z.tools)||Z.tools.length===0)throw new j("plugin","plugin.export_invalid","plugin.export_invalid: tools must be a non-empty array");if(!Z.tools.every(b7))throw new j("plugin","plugin.export_invalid","plugin.export_invalid: every tool must match ToolDefinition");return Z.tools}function b7($){if(!$||typeof $!=="object")return!1;let w=$;return typeof w.name==="string"&&typeof w.description==="string"&&(w.risk==="read"||w.risk==="modify"||w.risk==="dangerous")&&!!w.inputSchema&&typeof w.execute==="function"}import{readFile as cU}from"node:fs/promises";var mU=/^(?:@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*|[a-z0-9][a-z0-9._-]*)$/;function w1($){return mU.test($)&&!$.includes("..")&&!$.includes("\\")}function x7($){if(typeof $!=="string"||!$.startsWith("npm:"))throw rw($);let w=$.slice(4);if(!w||/\s/.test(w)||w.includes("\\")||w.includes("://"))throw rw($);let{packageName:Z,requested:W}=lU(w);if(!w1(Z))throw rw($);if(!W||/\s/.test(W)||W.includes("\\")||W.includes("/")||W.includes(":")||W.includes(".."))throw rw($);return{source:"npm",packageName:Z,requested:W,raw:$}}function lU($){if($.startsWith("@")){let Z=$.indexOf("/");if(Z<2)throw rw($);let W=$.lastIndexOf("@");if(W<=Z)return{packageName:$,requested:"latest"};return{packageName:$.slice(0,W),requested:$.slice(W+1)}}let w=$.lastIndexOf("@");if(w===-1)return{packageName:$,requested:"latest"};return{packageName:$.slice(0,w),requested:$.slice(w+1)}}function rw($){return new j("plugin","plugin.specifier_invalid",`plugin.specifier_invalid: ${String($)}`)}var dU=()=>({schemaVersion:1,plugins:{}});async function Q$($){try{let w=JSON.parse(await cU($,"utf8"));return sZ(w)}catch(w){if(pU(w))return dU();if(w instanceof j)throw w;throw Z1(w,$)}}function rZ($){return`${JSON.stringify(sZ($),null,2)}
44
- `}function _7($){let w=sZ($),Z={};for(let[W,X]of Object.entries(w.plugins))Z[W]=X.requested;return{private:!0,dependencies:Z}}function sZ($){if(!$||typeof $!=="object")throw Z1();let w=$;if(w.schemaVersion!==1)throw Z1();if(!w.plugins||typeof w.plugins!=="object"||Array.isArray(w.plugins))throw Z1();let Z={};for(let W of Object.keys(w.plugins).sort()){if(!w1(W))throw Z1();let X=w.plugins[W];if(!X||typeof X!=="object"||Array.isArray(X))throw Z1();let Y=X;if(Y.source!=="npm"||typeof Y.requested!=="string"||!Y.requested)throw Z1();Z[W]={source:"npm",requested:Y.requested}}return{schemaVersion:1,plugins:Z}}function pU($){return typeof $==="object"&&$!==null&&"code"in $&&$.code==="ENOENT"}function Z1($,w){return new j("plugin","plugin.manifest_invalid",w?`plugin.manifest_invalid: ${w}`:"plugin.manifest_invalid",!1,void 0,$ instanceof Error?{cause:$}:void 0)}import{readFile as nU,realpath as tU}from"node:fs/promises";import U8 from"node:path";async function i1($,w){if(!w1(w))throw W1();let Z=U8.join($,"node_modules",...w.split("/")),W=U8.join(Z,"package.json"),X;try{X=JSON.parse(await nU(W,"utf8"))}catch{throw W1()}let Y=rU(X,w),G=await g7(Z),J=U8.resolve(Z,Y.entry),Q=await g7(J,!0);if(!sU(G,Q))throw aZ();return{packageName:w,version:Y.version,packageDirectory:G,entryPath:Q,apiVersion:1}}function rU($,w){if(!$||typeof $!=="object")throw W1();let Z=$;if(Z.name!==w||typeof Z.version!=="string"||!Z.version)throw W1();if(Z.type!=="module")throw W1();if(!Z.coden||typeof Z.coden!=="object"||Array.isArray(Z.coden))throw W1();let W=Z.coden;if(W.apiVersion!==1)throw oU(W.apiVersion);if(typeof W.plugin!=="string"||!aU(W.plugin))throw aZ();return{version:Z.version,entry:W.plugin}}async function g7($,w=!1){try{return await tU($)}catch{if(w)throw aZ();throw W1()}}function sU($,w){return w===$||w.startsWith(`${$}${U8.sep}`)}function aU($){if(!$.startsWith("./"))return!1;if($.includes("\\")||$.includes("://")||/\s/.test($))return!1;if(!($.endsWith(".js")||$.endsWith(".mjs")))return!1;if($.split("/").includes(".."))return!1;return!0}function W1(){return new j("plugin","plugin.metadata_missing","plugin.metadata_missing")}function oU($){return new j("plugin","plugin.api_unsupported",`plugin.api_unsupported: ${String($)}`)}function aZ(){return new j("plugin","plugin.entry_invalid","plugin.entry_invalid")}class oZ{importer;constructor($=(w)=>import(w)){this.importer=$}async loadScope($){let w=await Q$($.manifestPath),Z=[],W=[];for(let X of Object.keys(w.plugins).sort()){let Y=wH($.runtimeDir,X);try{let G=await i1($.runtimeDir,X);try{let J=await this.importer($H(G.entryPath).href),Q=q8(J.default,X);Z.push({packageName:X,version:G.version,entryPath:G.entryPath,tools:Q})}catch(J){W.push({packageName:X,path:G.entryPath,message:v7(J)})}}catch(G){W.push({packageName:X,path:Y,message:v7(G)})}}return{loaded:Z,failed:W}}}function wH($,w){return eU.join($,"node_modules",...w.split("/"))}function v7($){return $ instanceof Error?$.message:String($)}import{constants as NH}from"node:fs";import{access as KH,copyFile as BH,mkdir as VH,writeFile as O8}from"node:fs/promises";import j$ from"node:path";import ZH from"node:path";import{pathToFileURL as WH}from"node:url";class eZ{importer;constructor($=(w)=>import(w)){this.importer=$}async loadScope($){let w=await Q$($.manifestPath),Z=[],W=[];for(let X of Object.keys(w.plugins).sort()){let Y=YH($.runtimeDir,X);try{let G=await i1($.runtimeDir,X);try{let J=await this.importer(WH(G.entryPath).href),Q=q8(J.default,X);Z.push({packageName:X,version:G.version,entryPath:G.entryPath,tools:Q})}catch(J){W.push({packageName:X,path:G.entryPath,message:h7(J)})}}catch(G){W.push({packageName:X,path:Y,message:h7(G)})}}return{loaded:Z,failed:W}}}function $5($,w,Z){let W=new r0($),X=new Map(Z.map((Q)=>[Q.packageName,Q])),Y=[],G=[];for(let Q of w){let z=X.get(Q.packageName);if(z){Y.push({packageName:Q.packageName,globalVersion:Q.version,projectVersion:z.version});continue}G.push(Q)}let J=[...G,...Z];for(let Q of J)XH(W,Q);return{registry:W,effective:J,shadowed:Y}}function XH($,w){let Z={kind:"npm",pluginName:w.packageName,pluginVersion:w.version,path:w.entryPath};for(let W of w.tools){let X=$.source(W.name);if(X)throw new j("plugin","plugin.tool_conflict",`plugin.tool_conflict: ${W.name} from ${u7(X)} conflicts with ${u7(Z)}`);$.register(W,Z)}}function YH($,w){return ZH.join($,"node_modules",...w.split("/"))}function u7($){switch($.kind){case"builtin":return"builtin";case"local":return $.path?`local:${$.path}`:"local";case"npm":return $.path?`${$.pluginName}@${$.pluginVersion}:${$.path}`:`${$.pluginName}@${$.pluginVersion}`}}function h7($){return $ instanceof Error?$.message:String($)}import s0 from"node:path";import{readFile as GH}from"node:fs/promises";import l7 from"node:os";import m1 from"node:path";function H8(){return process.env.XDG_CONFIG_HOME?m1.join(process.env.XDG_CONFIG_HOME,"coden"):m1.join(l7.homedir(),".config","coden")}function w5(){return process.env.XDG_DATA_HOME?m1.join(process.env.XDG_DATA_HOME,"coden"):m1.join(l7.homedir(),".local","share","coden")}async function i7($){try{let w=JSON.parse(await GH($,"utf8"));return JH(w)}catch(w){if(w.code==="ENOENT")return{};throw Error(`Cannot read config ${$}: ${w instanceof Error?w.message:String(w)}`)}}function JH($){let w={};if($.provider==="openai"||$.provider==="anthropic")w.provider=$.provider;if(typeof $.model==="string")w.model=$.model;if(typeof $.maxSteps==="number")w.maxSteps=$.maxSteps;if(typeof $.contextWindow==="number")w.contextWindow=$.contextWindow;if(typeof $.reservedOutputTokens==="number")w.reservedOutputTokens=$.reservedOutputTokens;if(typeof $.safetyMargin==="number")w.safetyMargin=$.safetyMargin;if(Array.isArray($.plugins))w.plugins=$.plugins.filter((Z)=>typeof Z==="string");if($.env!==void 0){if(typeof $.env!=="object"||$.env===null||Array.isArray($.env))throw Error("env must be an object");let Z={};for(let[W,X]of Object.entries($.env)){if(typeof X!=="string")throw Error(`env "${W}" must be a string`);Z[W]=X}w.env=Z}return w}function m7($){let{env:w,...Z}=$;return Z}async function c7($,w={}){let Z={provider:"openai",model:"gpt-5-mini",maxSteps:20,contextWindow:128000,reservedOutputTokens:8192,safetyMargin:4096,plugins:[],dataDir:w5(),env:{}},W=await i7(m1.join(H8(),"config.json")),X=await i7(m1.join($,".coden","config.json")),Y={};if(process.env.CODEN_PROVIDER==="openai"||process.env.CODEN_PROVIDER==="anthropic")Y.provider=process.env.CODEN_PROVIDER;if(process.env.CODEN_MODEL)Y.model=process.env.CODEN_MODEL;if(process.env.CODEN_MAX_STEPS)Y.maxSteps=Number(process.env.CODEN_MAX_STEPS);let G={...W.env??{},...X.env??{}};for(let[Q,z]of Object.entries(G))if(process.env[Q]===void 0)process.env[Q]=z;let J={...Z,...m7(W),...m7(X),...Y,...w,env:G};if(J.plugins=[...W.plugins??[],...X.plugins??[],...w.plugins??[]],J.provider!=="openai"&&J.provider!=="anthropic")throw Error("provider must be openai or anthropic");if(typeof J.model!=="string"||!J.model.trim())throw Error("model must be a non-empty string");if(!Number.isInteger(J.maxSteps)||J.maxSteps<1)throw Error("maxSteps must be a positive integer");for(let Q of["contextWindow","reservedOutputTokens","safetyMargin"])if(!Number.isInteger(J[Q])||J[Q]<0)throw Error(`${Q} must be a non-negative integer`);if(J.contextWindow===0||J.reservedOutputTokens===0)throw Error("contextWindow and reservedOutputTokens must be positive");if(J.contextWindow<=J.reservedOutputTokens+J.safetyMargin)throw Error("contextWindow must exceed reservedOutputTokens plus safetyMargin");if(!Array.isArray(J.plugins)||J.plugins.some((Q)=>typeof Q!=="string"))throw Error("plugins must be an array of paths");return J}function sw($,w,Z=w5()){if(w==="project"){let Y=s0.join($,".coden"),G=s0.join(Y,"plugin-runtime");return{scope:w,root:Y,manifestPath:s0.join(Y,"plugins.json"),runtimeDir:G,lockPath:s0.join(Y,"plugin-lock"),transactionPath:s0.join(Y,"plugin-transaction.json")}}let W=s0.join(Z,"plugins"),X=s0.join(W,"runtime");return{scope:w,root:W,manifestPath:s0.join(W,"plugins.json"),runtimeDir:X,lockPath:s0.join(W,"plugin-lock"),transactionPath:s0.join(W,"plugin-transaction.json")}}import{randomUUID as QH}from"node:crypto";import{constants as zH}from"node:fs";import{access as MH,mkdir as F8,readFile as d7,rename as R$,rm as e,writeFile as p7}from"node:fs/promises";import C$ from"node:path";class W5 extends Error{constructor($){super($ instanceof Error?$.message:String($),$ instanceof Error?{cause:$}:void 0);this.name="FaultInterruption"}}class A0{paths;options;constructor($,w={}){this.paths=$;this.options=w}async run($){let w=!1,Z;try{await this.acquireLock(),w=!0,await this.recoverLocked();let W=QH(),X=C$.join(this.paths.root,`.transaction-${W}-stage`);Z={version:1,id:W,phase:"prepared",stageDirectory:X,backupManifestPath:C$.join(this.paths.root,`.transaction-${W}-plugins.json.bak`),backupRuntimeDir:C$.join(this.paths.root,`.transaction-${W}-runtime.bak`),hadManifest:await aw(this.paths.manifestPath),hadRuntime:await aw(this.paths.runtimeDir)},await F8(X,{recursive:!0});let Y={manifestPath:C$.join(X,"plugins.json"),runtimeDir:C$.join(X,"runtime")},G=await $(Y);await this.verifyCandidate(Y),await this.writeMarker(Z),await this.backupCurrent(Z);let J={...Z,phase:"backed-up"};await this.writeMarker(J),Z=J,this.fault("after-backup"),await R$(Y.runtimeDir,this.paths.runtimeDir);let Q={...Z,phase:"runtime-committed"};await this.writeMarker(Q),Z=Q,this.fault("after-runtime-commit"),await R$(Y.manifestPath,this.paths.manifestPath);let z={...Z,phase:"manifest-committed"};return await this.writeMarker(z),Z=z,this.fault("after-manifest-commit"),await this.cleanupCommitted(Z),G}catch(W){if(W instanceof W5)throw W.cause??W;throw await this.rollbackAfterError(Z),W}finally{if(w)await this.releaseLock()}}async recover(){let $=!1;try{await this.acquireLock(),$=!0,await this.recoverLocked()}finally{if($)await this.releaseLock()}}async acquireLock(){await F8(this.paths.root,{recursive:!0});for(let $=0;$<2;$++){try{await F8(this.paths.lockPath)}catch(w){if(!Z5(w,"EEXIST"))throw w;let Z=await this.readLockOwner();if(!Z||this.isProcessAlive(Z.pid))throw new j("plugin","plugin.install_busy",`plugin.install_busy: ${this.paths.scope} plugin installation is already running`,!0,{scope:this.paths.scope});if($===1)throw new j("plugin","plugin.install_busy",`plugin.install_busy: could not acquire ${this.paths.scope} plugin lock`,!0,{scope:this.paths.scope});await e(this.paths.lockPath,{recursive:!0,force:!0});continue}try{await p7(C$.join(this.paths.lockPath,"owner.json"),`${JSON.stringify({pid:process.pid,createdAt:this.now()})}
45
- `,{mode:384});return}catch(w){throw await e(this.paths.lockPath,{recursive:!0,force:!0}),w}}}async readLockOwner(){try{let $=JSON.parse(await d7(C$.join(this.paths.lockPath,"owner.json"),"utf8"));if(typeof $.pid==="number"&&Number.isInteger($.pid)&&$.pid>0)return{pid:$.pid,createdAt:typeof $.createdAt==="number"?$.createdAt:0};return}catch{return}}async releaseLock(){await e(this.paths.lockPath,{recursive:!0,force:!0})}async verifyCandidate($){if(!await aw($.manifestPath)||!await aw($.runtimeDir))throw new j("plugin","plugin.transaction_recovery_failed","plugin.transaction_recovery_failed: candidate manifest and runtime are required",!1,{scope:this.paths.scope})}async backupCurrent($){if(await e($.backupManifestPath,{force:!0}),await e($.backupRuntimeDir,{recursive:!0,force:!0}),$.hadManifest)await R$(this.paths.manifestPath,$.backupManifestPath);if($.hadRuntime)await R$(this.paths.runtimeDir,$.backupRuntimeDir)}async rollbackAfterError($){if(!$)return;try{if($.phase==="manifest-committed"){await this.cleanupCommitted($);return}await this.restoreBackupPairBestEffort($),await this.cleanupRecoveryArtifacts($)}catch(w){throw new j("plugin","plugin.transaction_recovery_failed",`plugin.transaction_recovery_failed: could not roll back ${this.paths.scope} plugin transaction`,!1,{scope:this.paths.scope},w instanceof Error?{cause:w}:void 0)}}async recoverLocked(){let $=await this.readMarker();if(!$)return;try{if($.phase==="prepared"){await e($.stageDirectory,{recursive:!0,force:!0}),await e(this.paths.transactionPath,{force:!0});return}if($.phase==="backed-up"||$.phase==="runtime-committed"){await this.removeCurrentTargets(),await this.restoreBackups($),await this.cleanupRecoveryArtifacts($);return}await e($.backupManifestPath,{force:!0}),await e($.backupRuntimeDir,{recursive:!0,force:!0}),await this.cleanupRecoveryArtifacts($)}catch(w){throw new j("plugin","plugin.transaction_recovery_failed",`plugin.transaction_recovery_failed: could not recover ${this.paths.scope} plugin transaction`,!1,{scope:this.paths.scope},w instanceof Error?{cause:w}:void 0)}}async readMarker(){try{let $=JSON.parse(await d7(this.paths.transactionPath,"utf8"));if(!TH($))throw Error("invalid transaction marker");return $}catch($){if(Z5($,"ENOENT"))return;throw new j("plugin","plugin.transaction_recovery_failed",`plugin.transaction_recovery_failed: invalid ${this.paths.scope} plugin transaction marker`,!1,{scope:this.paths.scope},$ instanceof Error?{cause:$}:void 0)}}async writeMarker($){await F8(C$.dirname(this.paths.transactionPath),{recursive:!0});let w=`${this.paths.transactionPath}.tmp`;await p7(w,`${JSON.stringify($,null,2)}
46
- `,{mode:384}),await R$(w,this.paths.transactionPath)}async cleanupCommitted($){await e($.backupManifestPath,{force:!0}),await e($.backupRuntimeDir,{recursive:!0,force:!0}),await e($.stageDirectory,{recursive:!0,force:!0}),await e(this.paths.transactionPath,{force:!0}),await e(`${this.paths.transactionPath}.tmp`,{recursive:!0,force:!0})}async cleanupRecoveryArtifacts($){await e($.stageDirectory,{recursive:!0,force:!0}),await e(this.paths.transactionPath,{force:!0}),await e(`${this.paths.transactionPath}.tmp`,{recursive:!0,force:!0})}async removeCurrentTargets(){await e(this.paths.manifestPath,{force:!0}),await e(this.paths.runtimeDir,{recursive:!0,force:!0})}async restoreBackups($){if($.hadManifest)await R$($.backupManifestPath,this.paths.manifestPath);if($.hadRuntime)await R$($.backupRuntimeDir,this.paths.runtimeDir)}async restoreBackupPairBestEffort($){await this.restoreSingleBackup({hadTarget:$.hadManifest,backupPath:$.backupManifestPath,targetPath:this.paths.manifestPath,directory:!1}),await this.restoreSingleBackup({hadTarget:$.hadRuntime,backupPath:$.backupRuntimeDir,targetPath:this.paths.runtimeDir,directory:!0})}async restoreSingleBackup($){if(await aw($.backupPath)){await e($.targetPath,{recursive:$.directory,force:!0}),await R$($.backupPath,$.targetPath);return}if(!$.hadTarget)await e($.targetPath,{recursive:$.directory,force:!0})}fault($){try{this.options.fault?.($)}catch(w){throw new W5(w)}}now(){return this.options.now?.()??Date.now()}isProcessAlive($){if(this.options.isProcessAlive)return this.options.isProcessAlive($);try{return process.kill($,0),!0}catch(w){return!Z5(w,"ESRCH")}}}function TH($){return $.version===1&&typeof $.id==="string"&&["prepared","backed-up","runtime-committed","manifest-committed"].includes(String($.phase))&&typeof $.stageDirectory==="string"&&typeof $.backupManifestPath==="string"&&typeof $.backupRuntimeDir==="string"&&typeof $.hadManifest==="boolean"&&typeof $.hadRuntime==="boolean"}async function aw($){try{return await MH($,zH.F_OK),!0}catch{return!1}}function Z5($,w){return typeof $==="object"&&$!==null&&"code"in $&&$.code===w}class G5{workspace;dataDir;packageManager;loader;builtins;constructor($,w,Z,W,X){this.workspace=$;this.dataDir=w;this.packageManager=Z;this.loader=W;this.builtins=X}async install($,w){let Z=x7($),W=this.paths(w.scope);await new A0(W).recover();let X=await Q$(W.manifestPath);if(X.plugins[Z.packageName]?.requested===Z.requested){let Q=await this.loader.loadScope(W),z=Q.loaded.find((M)=>M.packageName===Z.packageName);if(Q.failed.length===0&&z)return X5(z,Z.requested,w.scope)}let Y=n7(X);Y.plugins[Z.packageName]={source:"npm",requested:Z.requested};let G=[];await new A0(W).run(async(Q)=>{G=await this.buildCandidate(Q,Y,W,w,!1),await this.validateCandidate(W.scope,G)});let J=G.find((Q)=>Q.packageName===Z.packageName);if(!J)throw Y5([{packageName:Z.packageName,path:W.runtimeDir,message:"plugin did not load"}]);return X5(J,Z.requested,w.scope)}async remove($,w){if(!w1($))throw UH($);let Z=this.paths(w.scope);await new A0(Z).recover();let W=await Q$(Z.manifestPath);if(!W.plugins[$])throw new j("plugin","plugin.install_failed",`plugin.install_failed: ${$} is not installed in ${w.scope} scope`);let X=n7(W);delete X.plugins[$],await new A0(Z).run(async(Y)=>{let G=await this.buildCandidate(Y,X,Z,w,!1);await this.validateCandidate(Z.scope,G)})}async sync($){let w=this.paths($.scope);await new A0(w).recover();let Z=await Q$(w.manifestPath);if($.scope==="project"&&Object.keys(Z.plugins).length>0&&!await t7(j$.join(w.runtimeDir,"bun.lock")))throw new j("plugin","plugin.lock_missing",`plugin.lock_missing: ${$.scope} plugin sync requires ${j$.join(w.runtimeDir,"bun.lock")}`);let W=[];return await new A0(w).run(async(X)=>{W=await this.buildCandidate(X,Z,w,$,!0),await this.validateCandidate(w.scope,W)}),W.map((X)=>X5(X,Z.plugins[X.packageName]?.requested??"latest",$.scope))}async list(){let[$,w]=await Promise.all([this.listScope(this.paths("project")),this.listScope(this.paths("global"))]),Z=new Set($.map((W)=>W.packageName));return{project:$,global:w.map((W)=>({...W,shadowedByProject:Z.has(W.packageName)}))}}paths($){return sw(this.workspace,$,this.dataDir)}async buildCandidate($,w,Z,W,X){if(await VH($.runtimeDir,{recursive:!0}),await O8($.manifestPath,rZ(w),"utf8"),await O8(j$.join($.runtimeDir,"package.json"),`${JSON.stringify(_7(w),null,2)}
47
- `,"utf8"),await t7(j$.join(Z.runtimeDir,"bun.lock")))await BH(j$.join(Z.runtimeDir,"bun.lock"),j$.join($.runtimeDir,"bun.lock"));try{await this.packageManager.install({cwd:$.runtimeDir,frozenLockfile:X,allowScripts:W.allowScripts,...W.signal?{signal:W.signal}:{}})}catch(G){throw HH(G,X)}await PH($.runtimeDir,w),await qH($.runtimeDir,Z.scope);let Y=await this.loader.loadScope({...Z,manifestPath:$.manifestPath,runtimeDir:$.runtimeDir});if(Y.failed.length>0)throw Y5(Y.failed);return Y.loaded}async validateCandidate($,w){if($==="global"){$5(this.builtins,w,[]);return}let Z=this.paths("global");await new A0(Z).recover();let W=await this.loadScopeOrThrow(Z);$5(this.builtins,W,w)}async loadScopeOrThrow($){let w=await this.loader.loadScope($);if(w.failed.length>0)throw Y5(w.failed);return w.loaded}async listScope($){await new A0($).recover();let w=await Q$($.manifestPath),Z=[];for(let W of Object.keys(w.plugins).sort()){let X=await i1($.runtimeDir,W);Z.push({packageName:W,requested:w.plugins[W]?.requested??"latest",version:X.version,tools:[],scope:$.scope,shadowedByProject:!1})}return Z}}async function PH($,w){if(Object.keys(w.plugins).length>0)return;await O8(j$.join($,"bun.lock"),"","utf8")}async function qH($,w){if(w!=="project")return;await O8(j$.join($,".gitignore"),`*
43
+ `),4000)}class kW{runner;constructor($=X8){this.runner=$}async install($){let w=["install","--registry","https://registry.npmjs.org"];if($.frozenLockfile)w.push("--frozen-lockfile");if(!$.allowScripts)w.push("--ignore-scripts");let W=await this.runner("bun",w,{cwd:$.cwd,env:process.env,...$.signal?{signal:$.signal}:{},timeoutMs:120000,maxOutputChars:30000});if(!W.ok)throw new y("plugin","plugin.install_failed",pz(W))}}import BH from"node:path";import{pathToFileURL as PH}from"node:url";var LJ=m1(OJ(),1);var D5=new LJ.default({allErrors:!0,strict:!1,useDefaults:!0});class W${#$=new Map;constructor($=[]){for(let w of $)this.register(w,{kind:"builtin"})}register($,w={kind:"local"}){if(!/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test($.name))throw new y("plugin","tool.invalid_name",`Invalid tool name: ${$.name}`);let W=this.#$.get($.name);if(W)throw new y("plugin","tool.duplicate",`Duplicate tool: ${$.name} from ${EJ(W.source)} and ${EJ(w)}`);try{D5.compile($.inputSchema)}catch(Z){throw new y("plugin","tool.invalid_schema",`Invalid schema for ${$.name}`,!1,void 0,{cause:Z})}this.#$.set($.name,{definition:$,source:w})}get($){return this.#$.get($)?.definition}list(){return[...this.#$.values()].map(($)=>$.definition)}source($){return this.#$.get($)?.source}entries(){return[...this.#$.values()].map(($)=>({definition:$.definition,source:$.source}))}clone(){let $=new W$;return $.#$=new Map(this.#$),$}replaceWith($){this.#$=new Map($.#$)}validate($,w){let W=this.get($);if(!W)return{valid:!1,errors:`Unknown tool: ${$}`};let Z=D5.compile(W.inputSchema);return Z(w)?{valid:!0}:{valid:!1,errors:D5.errorsText(Z.errors)}}}function EJ($){switch($.kind){case"builtin":return"builtin";case"local":return $.path?`local:${$.path}`:"local";case"npm":return $.path?`${$.pluginName}@${$.pluginVersion}:${$.path}`:`${$.pluginName}@${$.pluginVersion}`}}var k5=1;function m8($,w){if(DJ($))return[$];if(!$||typeof $!=="object")throw new y("plugin","plugin.export_invalid","plugin.export_invalid: default export must be a tool or CodeNPlugin");let W=$;if(W.apiVersion!==k5)throw new y("plugin","plugin.api_unsupported",`plugin.api_unsupported: ${String(W.apiVersion)}`);if(W.name!==w)throw new y("plugin","plugin.name_mismatch",`plugin.name_mismatch: expected ${w}, received ${String(W.name)}`);if(!Array.isArray(W.tools)||W.tools.length===0)throw new y("plugin","plugin.export_invalid","plugin.export_invalid: tools must be a non-empty array");if(!W.tools.every(DJ))throw new y("plugin","plugin.export_invalid","plugin.export_invalid: every tool must match ToolDefinition");return W.tools}function DJ($){if(!$||typeof $!=="object")return!1;let w=$;return typeof w.name==="string"&&typeof w.description==="string"&&(w.risk==="read"||w.risk==="modify"||w.risk==="dangerous")&&!!w.inputSchema&&typeof w.execute==="function"}import{readFile as YH}from"node:fs/promises";var ZH=/^(?:@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*|[a-z0-9][a-z0-9._-]*)$/;function M1($){return ZH.test($)&&!$.includes("..")&&!$.includes("\\")}function kJ($){if(typeof $!=="string"||!$.startsWith("npm:"))throw K4($);let w=$.slice(4);if(!w||/\s/.test(w)||w.includes("\\")||w.includes("://"))throw K4($);let{packageName:W,requested:Z}=XH(w);if(!M1(W))throw K4($);if(!Z||/\s/.test(Z)||Z.includes("\\")||Z.includes("/")||Z.includes(":")||Z.includes(".."))throw K4($);return{source:"npm",packageName:W,requested:Z,raw:$}}function XH($){if($.startsWith("@")){let W=$.indexOf("/");if(W<2)throw K4($);let Z=$.lastIndexOf("@");if(Z<=W)return{packageName:$,requested:"latest"};return{packageName:$.slice(0,Z),requested:$.slice(Z+1)}}let w=$.lastIndexOf("@");if(w===-1)return{packageName:$,requested:"latest"};return{packageName:$.slice(0,w),requested:$.slice(w+1)}}function K4($){return new y("plugin","plugin.specifier_invalid",`plugin.specifier_invalid: ${String($)}`)}var GH=()=>({schemaVersion:1,plugins:{}});async function f$($){try{let w=JSON.parse(await YH($,"utf8"));return S5(w)}catch(w){if(JH(w))return GH();if(w instanceof y)throw w;throw z1(w,$)}}function A5($){return`${JSON.stringify(S5($),null,2)}
44
+ `}function AJ($){let w=S5($),W={};for(let[Z,X]of Object.entries(w.plugins))W[Z]=X.requested;return{private:!0,dependencies:W}}function S5($){if(!$||typeof $!=="object")throw z1();let w=$;if(w.schemaVersion!==1)throw z1();if(!w.plugins||typeof w.plugins!=="object"||Array.isArray(w.plugins))throw z1();let W={};for(let Z of Object.keys(w.plugins).sort()){if(!M1(Z))throw z1();let X=w.plugins[Z];if(!X||typeof X!=="object"||Array.isArray(X))throw z1();let Y=X;if(Y.source!=="npm"||typeof Y.requested!=="string"||!Y.requested)throw z1();W[Z]={source:"npm",requested:Y.requested}}return{schemaVersion:1,plugins:W}}function JH($){return typeof $==="object"&&$!==null&&"code"in $&&$.code==="ENOENT"}function z1($,w){return new y("plugin","plugin.manifest_invalid",w?`plugin.manifest_invalid: ${w}`:"plugin.manifest_invalid",!1,void 0,$ instanceof Error?{cause:$}:void 0)}import{readFile as TH,realpath as QH}from"node:fs/promises";import l8 from"node:path";async function ww($,w){if(!M1(w))throw N1();let W=l8.join($,"node_modules",...w.split("/")),Z=l8.join(W,"package.json"),X;try{X=JSON.parse(await TH(Z,"utf8"))}catch{throw N1()}let Y=MH(X,w),G=await SJ(W),J=l8.resolve(W,Y.entry),T=await SJ(J,!0);if(!zH(G,T))throw R5();return{packageName:w,version:Y.version,packageDirectory:G,entryPath:T,apiVersion:1}}function MH($,w){if(!$||typeof $!=="object")throw N1();let W=$;if(W.name!==w||typeof W.version!=="string"||!W.version)throw N1();if(W.type!=="module")throw N1();if(!W.coden||typeof W.coden!=="object"||Array.isArray(W.coden))throw N1();let Z=W.coden;if(Z.apiVersion!==1)throw KH(Z.apiVersion);if(typeof Z.plugin!=="string"||!NH(Z.plugin))throw R5();return{version:W.version,entry:Z.plugin}}async function SJ($,w=!1){try{return await QH($)}catch{if(w)throw R5();throw N1()}}function zH($,w){return w===$||w.startsWith(`${$}${l8.sep}`)}function NH($){if(!$.startsWith("./"))return!1;if($.includes("\\")||$.includes("://")||/\s/.test($))return!1;if(!($.endsWith(".js")||$.endsWith(".mjs")))return!1;if($.split("/").includes(".."))return!1;return!0}function N1(){return new y("plugin","plugin.metadata_missing","plugin.metadata_missing")}function KH($){return new y("plugin","plugin.api_unsupported",`plugin.api_unsupported: ${String($)}`)}function R5(){return new y("plugin","plugin.entry_invalid","plugin.entry_invalid")}class C5{importer;constructor($=(w)=>import(w)){this.importer=$}async loadScope($){let w=await f$($.manifestPath),W=[],Z=[];for(let X of Object.keys(w.plugins).sort()){let Y=VH($.runtimeDir,X);try{let G=await ww($.runtimeDir,X);try{let J=await this.importer(PH(G.entryPath).href),T=m8(J.default,X);W.push({packageName:X,version:G.version,entryPath:G.entryPath,tools:T})}catch(J){Z.push({packageName:X,path:G.entryPath,message:RJ(J)})}}catch(G){Z.push({packageName:X,path:Y,message:RJ(G)})}}return{loaded:W,failed:Z}}}function VH($,w){return BH.join($,"node_modules",...w.split("/"))}function RJ($){return $ instanceof Error?$.message:String($)}import{constants as AH}from"node:fs";import{access as SH,copyFile as RH,mkdir as CH,writeFile as n8}from"node:fs/promises";import i$ from"node:path";import fH from"node:path";import{pathToFileURL as qH}from"node:url";class j5{importer;constructor($=(w)=>import(w)){this.importer=$}async loadScope($){let w=await f$($.manifestPath),W=[],Z=[];for(let X of Object.keys(w.plugins).sort()){let Y=HH($.runtimeDir,X);try{let G=await ww($.runtimeDir,X);try{let J=await this.importer(qH(G.entryPath).href),T=m8(J.default,X);W.push({packageName:X,version:G.version,entryPath:G.entryPath,tools:T})}catch(J){Z.push({packageName:X,path:G.entryPath,message:jJ(J)})}}catch(G){Z.push({packageName:X,path:Y,message:jJ(G)})}}return{loaded:W,failed:Z}}}function y5($,w,W){let Z=new W$($),X=new Map(W.map((T)=>[T.packageName,T])),Y=[],G=[];for(let T of w){let Q=X.get(T.packageName);if(Q){Y.push({packageName:T.packageName,globalVersion:T.version,projectVersion:Q.version});continue}G.push(T)}let J=[...G,...W];for(let T of J)UH(Z,T);return{registry:Z,effective:J,shadowed:Y}}function UH($,w){let W={kind:"npm",pluginName:w.packageName,pluginVersion:w.version,path:w.entryPath};for(let Z of w.tools){let X=$.source(Z.name);if(X)throw new y("plugin","plugin.tool_conflict",`plugin.tool_conflict: ${Z.name} from ${CJ(X)} conflicts with ${CJ(W)}`);$.register(Z,W)}}function HH($,w){return fH.join($,"node_modules",...w.split("/"))}function CJ($){switch($.kind){case"builtin":return"builtin";case"local":return $.path?`local:${$.path}`:"local";case"npm":return $.path?`${$.pluginName}@${$.pluginVersion}:${$.path}`:`${$.pluginName}@${$.pluginVersion}`}}function jJ($){return $ instanceof Error?$.message:String($)}import Z$ from"node:path";import{readFile as FH}from"node:fs/promises";import bJ from"node:os";import Ww from"node:path";function c8(){return process.env.XDG_CONFIG_HOME?Ww.join(process.env.XDG_CONFIG_HOME,"coden"):Ww.join(bJ.homedir(),".config","coden")}function I5(){return process.env.XDG_DATA_HOME?Ww.join(process.env.XDG_DATA_HOME,"coden"):Ww.join(bJ.homedir(),".local","share","coden")}async function yJ($){try{let w=JSON.parse(await FH($,"utf8"));return OH(w)}catch(w){if(w.code==="ENOENT")return{};throw Error(`Cannot read config ${$}: ${w instanceof Error?w.message:String(w)}`)}}function OH($){let w={};if($.provider==="openai"||$.provider==="anthropic")w.provider=$.provider;if(typeof $.model==="string")w.model=$.model;if(typeof $.maxSteps==="number")w.maxSteps=$.maxSteps;if(typeof $.contextWindow==="number")w.contextWindow=$.contextWindow;if(typeof $.reservedOutputTokens==="number")w.reservedOutputTokens=$.reservedOutputTokens;if(typeof $.safetyMargin==="number")w.safetyMargin=$.safetyMargin;if(Array.isArray($.plugins))w.plugins=$.plugins.filter((W)=>typeof W==="string");if($.env!==void 0){if(typeof $.env!=="object"||$.env===null||Array.isArray($.env))throw Error("env must be an object");let W={};for(let[Z,X]of Object.entries($.env)){if(typeof X!=="string")throw Error(`env "${Z}" must be a string`);W[Z]=X}w.env=W}return w}function IJ($){let{env:w,...W}=$;return W}async function xJ($,w={}){let W={provider:"openai",model:"gpt-5-mini",maxSteps:20,contextWindow:128000,reservedOutputTokens:8192,safetyMargin:4096,plugins:[],dataDir:I5(),env:{}},Z=await yJ(Ww.join(c8(),"config.json")),X=await yJ(Ww.join($,".coden","config.json")),Y={};if(process.env.CODEN_PROVIDER==="openai"||process.env.CODEN_PROVIDER==="anthropic")Y.provider=process.env.CODEN_PROVIDER;if(process.env.CODEN_MODEL)Y.model=process.env.CODEN_MODEL;if(process.env.CODEN_MAX_STEPS)Y.maxSteps=Number(process.env.CODEN_MAX_STEPS);let G={...Z.env??{},...X.env??{}};for(let[T,Q]of Object.entries(G))if(process.env[T]===void 0)process.env[T]=Q;let J={...W,...IJ(Z),...IJ(X),...Y,...w,env:G};if(J.plugins=[...Z.plugins??[],...X.plugins??[],...w.plugins??[]],J.provider!=="openai"&&J.provider!=="anthropic")throw Error("provider must be openai or anthropic");if(typeof J.model!=="string"||!J.model.trim())throw Error("model must be a non-empty string");if(!Number.isInteger(J.maxSteps)||J.maxSteps<1)throw Error("maxSteps must be a positive integer");for(let T of["contextWindow","reservedOutputTokens","safetyMargin"])if(!Number.isInteger(J[T])||J[T]<0)throw Error(`${T} must be a non-negative integer`);if(J.contextWindow===0||J.reservedOutputTokens===0)throw Error("contextWindow and reservedOutputTokens must be positive");if(J.contextWindow<=J.reservedOutputTokens+J.safetyMargin)throw Error("contextWindow must exceed reservedOutputTokens plus safetyMargin");if(!Array.isArray(J.plugins)||J.plugins.some((T)=>typeof T!=="string"))throw Error("plugins must be an array of paths");return J}function B4($,w,W=I5()){if(w==="project"){let Y=Z$.join($,".coden"),G=Z$.join(Y,"plugin-runtime");return{scope:w,root:Y,manifestPath:Z$.join(Y,"plugins.json"),runtimeDir:G,lockPath:Z$.join(Y,"plugin-lock"),transactionPath:Z$.join(Y,"plugin-transaction.json")}}let Z=Z$.join(W,"plugins"),X=Z$.join(Z,"runtime");return{scope:w,root:Z,manifestPath:Z$.join(Z,"plugins.json"),runtimeDir:X,lockPath:Z$.join(Z,"plugin-lock"),transactionPath:Z$.join(Z,"plugin-transaction.json")}}import{randomUUID as EH}from"node:crypto";import{constants as LH}from"node:fs";import{access as DH,mkdir as d8,readFile as _J,rename as u$,rm as W0,writeFile as gJ}from"node:fs/promises";import h$ from"node:path";class x5 extends Error{constructor($){super($ instanceof Error?$.message:String($),$ instanceof Error?{cause:$}:void 0);this.name="FaultInterruption"}}class j0{paths;options;constructor($,w={}){this.paths=$;this.options=w}async run($){let w=!1,W;try{await this.acquireLock(),w=!0,await this.recoverLocked();let Z=EH(),X=h$.join(this.paths.root,`.transaction-${Z}-stage`);W={version:1,id:Z,phase:"prepared",stageDirectory:X,backupManifestPath:h$.join(this.paths.root,`.transaction-${Z}-plugins.json.bak`),backupRuntimeDir:h$.join(this.paths.root,`.transaction-${Z}-runtime.bak`),hadManifest:await P4(this.paths.manifestPath),hadRuntime:await P4(this.paths.runtimeDir)},await d8(X,{recursive:!0});let Y={manifestPath:h$.join(X,"plugins.json"),runtimeDir:h$.join(X,"runtime")},G=await $(Y);await this.verifyCandidate(Y),await this.writeMarker(W),await this.backupCurrent(W);let J={...W,phase:"backed-up"};await this.writeMarker(J),W=J,this.fault("after-backup"),await u$(Y.runtimeDir,this.paths.runtimeDir);let T={...W,phase:"runtime-committed"};await this.writeMarker(T),W=T,this.fault("after-runtime-commit"),await u$(Y.manifestPath,this.paths.manifestPath);let Q={...W,phase:"manifest-committed"};return await this.writeMarker(Q),W=Q,this.fault("after-manifest-commit"),await this.cleanupCommitted(W),G}catch(Z){if(Z instanceof x5)throw Z.cause??Z;throw await this.rollbackAfterError(W),Z}finally{if(w)await this.releaseLock()}}async recover(){let $=!1;try{await this.acquireLock(),$=!0,await this.recoverLocked()}finally{if($)await this.releaseLock()}}async acquireLock(){await d8(this.paths.root,{recursive:!0});for(let $=0;$<2;$++){try{await d8(this.paths.lockPath)}catch(w){if(!b5(w,"EEXIST"))throw w;let W=await this.readLockOwner();if(!W||this.isProcessAlive(W.pid))throw new y("plugin","plugin.install_busy",`plugin.install_busy: ${this.paths.scope} plugin installation is already running`,!0,{scope:this.paths.scope});if($===1)throw new y("plugin","plugin.install_busy",`plugin.install_busy: could not acquire ${this.paths.scope} plugin lock`,!0,{scope:this.paths.scope});await W0(this.paths.lockPath,{recursive:!0,force:!0});continue}try{await gJ(h$.join(this.paths.lockPath,"owner.json"),`${JSON.stringify({pid:process.pid,createdAt:this.now()})}
45
+ `,{mode:384});return}catch(w){throw await W0(this.paths.lockPath,{recursive:!0,force:!0}),w}}}async readLockOwner(){try{let $=JSON.parse(await _J(h$.join(this.paths.lockPath,"owner.json"),"utf8"));if(typeof $.pid==="number"&&Number.isInteger($.pid)&&$.pid>0)return{pid:$.pid,createdAt:typeof $.createdAt==="number"?$.createdAt:0};return}catch{return}}async releaseLock(){await W0(this.paths.lockPath,{recursive:!0,force:!0})}async verifyCandidate($){if(!await P4($.manifestPath)||!await P4($.runtimeDir))throw new y("plugin","plugin.transaction_recovery_failed","plugin.transaction_recovery_failed: candidate manifest and runtime are required",!1,{scope:this.paths.scope})}async backupCurrent($){if(await W0($.backupManifestPath,{force:!0}),await W0($.backupRuntimeDir,{recursive:!0,force:!0}),$.hadManifest)await u$(this.paths.manifestPath,$.backupManifestPath);if($.hadRuntime)await u$(this.paths.runtimeDir,$.backupRuntimeDir)}async rollbackAfterError($){if(!$)return;try{if($.phase==="manifest-committed"){await this.cleanupCommitted($);return}await this.restoreBackupPairBestEffort($),await this.cleanupRecoveryArtifacts($)}catch(w){throw new y("plugin","plugin.transaction_recovery_failed",`plugin.transaction_recovery_failed: could not roll back ${this.paths.scope} plugin transaction`,!1,{scope:this.paths.scope},w instanceof Error?{cause:w}:void 0)}}async recoverLocked(){let $=await this.readMarker();if(!$)return;try{if($.phase==="prepared"){await W0($.stageDirectory,{recursive:!0,force:!0}),await W0(this.paths.transactionPath,{force:!0});return}if($.phase==="backed-up"||$.phase==="runtime-committed"){await this.removeCurrentTargets(),await this.restoreBackups($),await this.cleanupRecoveryArtifacts($);return}await W0($.backupManifestPath,{force:!0}),await W0($.backupRuntimeDir,{recursive:!0,force:!0}),await this.cleanupRecoveryArtifacts($)}catch(w){throw new y("plugin","plugin.transaction_recovery_failed",`plugin.transaction_recovery_failed: could not recover ${this.paths.scope} plugin transaction`,!1,{scope:this.paths.scope},w instanceof Error?{cause:w}:void 0)}}async readMarker(){try{let $=JSON.parse(await _J(this.paths.transactionPath,"utf8"));if(!kH($))throw Error("invalid transaction marker");return $}catch($){if(b5($,"ENOENT"))return;throw new y("plugin","plugin.transaction_recovery_failed",`plugin.transaction_recovery_failed: invalid ${this.paths.scope} plugin transaction marker`,!1,{scope:this.paths.scope},$ instanceof Error?{cause:$}:void 0)}}async writeMarker($){await d8(h$.dirname(this.paths.transactionPath),{recursive:!0});let w=`${this.paths.transactionPath}.tmp`;await gJ(w,`${JSON.stringify($,null,2)}
46
+ `,{mode:384}),await u$(w,this.paths.transactionPath)}async cleanupCommitted($){await W0($.backupManifestPath,{force:!0}),await W0($.backupRuntimeDir,{recursive:!0,force:!0}),await W0($.stageDirectory,{recursive:!0,force:!0}),await W0(this.paths.transactionPath,{force:!0}),await W0(`${this.paths.transactionPath}.tmp`,{recursive:!0,force:!0})}async cleanupRecoveryArtifacts($){await W0($.stageDirectory,{recursive:!0,force:!0}),await W0(this.paths.transactionPath,{force:!0}),await W0(`${this.paths.transactionPath}.tmp`,{recursive:!0,force:!0})}async removeCurrentTargets(){await W0(this.paths.manifestPath,{force:!0}),await W0(this.paths.runtimeDir,{recursive:!0,force:!0})}async restoreBackups($){if($.hadManifest)await u$($.backupManifestPath,this.paths.manifestPath);if($.hadRuntime)await u$($.backupRuntimeDir,this.paths.runtimeDir)}async restoreBackupPairBestEffort($){await this.restoreSingleBackup({hadTarget:$.hadManifest,backupPath:$.backupManifestPath,targetPath:this.paths.manifestPath,directory:!1}),await this.restoreSingleBackup({hadTarget:$.hadRuntime,backupPath:$.backupRuntimeDir,targetPath:this.paths.runtimeDir,directory:!0})}async restoreSingleBackup($){if(await P4($.backupPath)){await W0($.targetPath,{recursive:$.directory,force:!0}),await u$($.backupPath,$.targetPath);return}if(!$.hadTarget)await W0($.targetPath,{recursive:$.directory,force:!0})}fault($){try{this.options.fault?.($)}catch(w){throw new x5(w)}}now(){return this.options.now?.()??Date.now()}isProcessAlive($){if(this.options.isProcessAlive)return this.options.isProcessAlive($);try{return process.kill($,0),!0}catch(w){return!b5(w,"ESRCH")}}}function kH($){return $.version===1&&typeof $.id==="string"&&["prepared","backed-up","runtime-committed","manifest-committed"].includes(String($.phase))&&typeof $.stageDirectory==="string"&&typeof $.backupManifestPath==="string"&&typeof $.backupRuntimeDir==="string"&&typeof $.hadManifest==="boolean"&&typeof $.hadRuntime==="boolean"}async function P4($){try{return await DH($,LH.F_OK),!0}catch{return!1}}function b5($,w){return typeof $==="object"&&$!==null&&"code"in $&&$.code===w}class v5{workspace;dataDir;packageManager;loader;builtins;constructor($,w,W,Z,X){this.workspace=$;this.dataDir=w;this.packageManager=W;this.loader=Z;this.builtins=X}async install($,w){let W=kJ($),Z=this.paths(w.scope);await new j0(Z).recover();let X=await f$(Z.manifestPath);if(X.plugins[W.packageName]?.requested===W.requested){let T=await this.loader.loadScope(Z),Q=T.loaded.find((M)=>M.packageName===W.packageName);if(T.failed.length===0&&Q)return _5(Q,W.requested,w.scope)}let Y=vJ(X);Y.plugins[W.packageName]={source:"npm",requested:W.requested};let G=[];await new j0(Z).run(async(T)=>{G=await this.buildCandidate(T,Y,Z,w,!1),await this.validateCandidate(Z.scope,G)});let J=G.find((T)=>T.packageName===W.packageName);if(!J)throw g5([{packageName:W.packageName,path:Z.runtimeDir,message:"plugin did not load"}]);return _5(J,W.requested,w.scope)}async remove($,w){if(!M1($))throw IH($);let W=this.paths(w.scope);await new j0(W).recover();let Z=await f$(W.manifestPath);if(!Z.plugins[$])throw new y("plugin","plugin.install_failed",`plugin.install_failed: ${$} is not installed in ${w.scope} scope`);let X=vJ(Z);delete X.plugins[$],await new j0(W).run(async(Y)=>{let G=await this.buildCandidate(Y,X,W,w,!1);await this.validateCandidate(W.scope,G)})}async sync($){let w=this.paths($.scope);await new j0(w).recover();let W=await f$(w.manifestPath);if($.scope==="project"&&Object.keys(W.plugins).length>0&&!await uJ(i$.join(w.runtimeDir,"bun.lock")))throw new y("plugin","plugin.lock_missing",`plugin.lock_missing: ${$.scope} plugin sync requires ${i$.join(w.runtimeDir,"bun.lock")}`);let Z=[];return await new j0(w).run(async(X)=>{Z=await this.buildCandidate(X,W,w,$,!0),await this.validateCandidate(w.scope,Z)}),Z.map((X)=>_5(X,W.plugins[X.packageName]?.requested??"latest",$.scope))}async list(){let[$,w]=await Promise.all([this.listScope(this.paths("project")),this.listScope(this.paths("global"))]),W=new Set($.map((Z)=>Z.packageName));return{project:$,global:w.map((Z)=>({...Z,shadowedByProject:W.has(Z.packageName)}))}}paths($){return B4(this.workspace,$,this.dataDir)}async buildCandidate($,w,W,Z,X){if(await CH($.runtimeDir,{recursive:!0}),await n8($.manifestPath,A5(w),"utf8"),await n8(i$.join($.runtimeDir,"package.json"),`${JSON.stringify(AJ(w),null,2)}
47
+ `,"utf8"),await uJ(i$.join(W.runtimeDir,"bun.lock")))await RH(i$.join(W.runtimeDir,"bun.lock"),i$.join($.runtimeDir,"bun.lock"));try{await this.packageManager.install({cwd:$.runtimeDir,frozenLockfile:X,allowScripts:Z.allowScripts,...Z.signal?{signal:Z.signal}:{}})}catch(G){throw bH(G,X)}await jH($.runtimeDir,w),await yH($.runtimeDir,W.scope);let Y=await this.loader.loadScope({...W,manifestPath:$.manifestPath,runtimeDir:$.runtimeDir});if(Y.failed.length>0)throw g5(Y.failed);return Y.loaded}async validateCandidate($,w){if($==="global"){y5(this.builtins,w,[]);return}let W=this.paths("global");await new j0(W).recover();let Z=await this.loadScopeOrThrow(W);y5(this.builtins,Z,w)}async loadScopeOrThrow($){let w=await this.loader.loadScope($);if(w.failed.length>0)throw g5(w.failed);return w.loaded}async listScope($){await new j0($).recover();let w=await f$($.manifestPath),W=[];for(let Z of Object.keys(w.plugins).sort()){let X=await ww($.runtimeDir,Z);W.push({packageName:Z,requested:w.plugins[Z]?.requested??"latest",version:X.version,tools:[],scope:$.scope,shadowedByProject:!1})}return W}}async function jH($,w){if(Object.keys(w.plugins).length>0)return;await n8(i$.join($,"bun.lock"),"","utf8")}async function yH($,w){if(w!=="project")return;await n8(i$.join($,".gitignore"),`*
48
48
  !.gitignore
49
49
  !bun.lock
50
- `,"utf8")}function X5($,w,Z){return{packageName:$.packageName,requested:w,version:$.version,tools:$.tools.map((W)=>W.name).sort(),scope:Z}}function n7($){return JSON.parse(rZ($))}function Y5($){let w=$.map((Z)=>`${Z.packageName}: ${Z.message} (${Z.path})`).join("; ");return new j("plugin","plugin.sync_failed",`plugin.sync_failed: ${w}`)}function UH($){return new j("plugin","plugin.specifier_invalid",`plugin.specifier_invalid: ${$}`)}function HH($,w){if(w&&FH($))return new j("plugin","plugin.lock_outdated","plugin.lock_outdated: committed plugin lockfile is out of date",!1,void 0,$ instanceof Error?{cause:$}:void 0);return $}function FH($){if(!($ instanceof Error))return!1;let w=`${$.message}
51
- ${$ instanceof j?$.code:""}`;return/frozen-lockfile|lockfile.*out.?of.?date|lockfile.*would.*change|lockfile had changes/i.test(w)}async function t7($){try{return await KH($,NH.F_OK),!0}catch{return!1}}var E8={name:"bash",description:"Run a bash command in the workspace with timeout and bounded output.",risk:"modify",inputSchema:{type:"object",additionalProperties:!1,required:["command"],properties:{command:{type:"string",minLength:1},timeout:{type:"integer",minimum:100,maximum:60000,default:30000},maxOutput:{type:"integer",minimum:1000,maximum:1e5,default:30000}}},async execute($,w){let{command:Z,timeout:W=30000,maxOutput:X=30000}=$,Y=await y4("bash",["-lc",Z],{cwd:w.workspace,env:process.env,signal:w.signal,timeoutMs:W,maxOutputChars:X}),G=[Y.stdout&&`stdout:
50
+ `,"utf8")}function _5($,w,W){return{packageName:$.packageName,requested:w,version:$.version,tools:$.tools.map((Z)=>Z.name).sort(),scope:W}}function vJ($){return JSON.parse(A5($))}function g5($){let w=$.map((W)=>`${W.packageName}: ${W.message} (${W.path})`).join("; ");return new y("plugin","plugin.sync_failed",`plugin.sync_failed: ${w}`)}function IH($){return new y("plugin","plugin.specifier_invalid",`plugin.specifier_invalid: ${$}`)}function bH($,w){if(w&&xH($))return new y("plugin","plugin.lock_outdated","plugin.lock_outdated: committed plugin lockfile is out of date",!1,void 0,$ instanceof Error?{cause:$}:void 0);return $}function xH($){if(!($ instanceof Error))return!1;let w=`${$.message}
51
+ ${$ instanceof y?$.code:""}`;return/frozen-lockfile|lockfile.*out.?of.?date|lockfile.*would.*change|lockfile had changes/i.test(w)}async function uJ($){try{return await SH($,AH.F_OK),!0}catch{return!1}}var p8={name:"bash",description:"Run a bash command in the workspace with timeout and bounded output.",risk:"modify",inputSchema:{type:"object",additionalProperties:!1,required:["command"],properties:{command:{type:"string",minLength:1},timeout:{type:"integer",minimum:100,maximum:60000,default:30000},maxOutput:{type:"integer",minimum:1000,maximum:1e5,default:30000}}},async execute($,w){let{command:W,timeout:Z=30000,maxOutput:X=30000}=$,Y=await X8("bash",["-lc",W],{cwd:w.workspace,env:process.env,signal:w.signal,timeoutMs:Z,maxOutputChars:X}),G=[Y.stdout&&`stdout:
52
52
  ${Y.stdout}`,Y.stderr&&`stderr:
53
53
  ${Y.stderr}`].filter(Boolean).join(`
54
- `);if(Y.exitCode===null&&!Y.timedOut&&!Y.cancelled&&Y.signal===null)return{content:`bash.spawn_error: ${Y.stderr||"unknown error"}`,isError:!0};let J=Y.timedOut?`Timed out after ${W}ms`:Y.cancelled?"Cancelled":`Exit code: ${Y.exitCode??"null"}${Y.signal?` (signal ${Y.signal})`:""}`;return{content:R1(`${J}
55
- ${G}`.trimEnd(),X),isError:Y.timedOut||Y.cancelled||Y.exitCode!==0,metadata:{exitCode:Y.exitCode,signal:Y.signal,timedOut:Y.timedOut,cancelled:Y.cancelled}}}};import{constants as $J}from"node:fs";import{open as DH}from"node:fs/promises";import{constants as r7}from"node:fs";import{lstat as s7,open as OH,readlink as a7,realpath as L8}from"node:fs/promises";import k0 from"node:path";function D8($,w){let Z=k0.relative(w,$);return Z===""||!Z.startsWith("..")&&!k0.isAbsolute(Z)}async function o7($,w,Z=1e6){let W=await a0($,w),X=await OH(W,r7.O_RDONLY|r7.O_NOFOLLOW);try{if((await X.stat()).size>Z)throw new j("context","workspace.instructions_too_large",`${w} exceeds the ${Z}-byte instruction limit`);return await X.readFile("utf8")}finally{await X.close()}}async function a0($,w){let Z=await L8($),W=k0.resolve(Z,w);if(!D8(W,Z))throw new j("permission","workspace.outside",`Path is outside workspace: ${w}`);try{let X=await L8(W);if(!D8(X,Z))throw new j("permission","workspace.symlink_escape",`Path escapes workspace through a symlink: ${w}`);return X}catch(X){if(X instanceof j)throw X;try{if((await s7(W)).isSymbolicLink()){let G=k0.resolve(k0.dirname(W),await a7(W));await e7(G,Z,w,"dangling symlink")}}catch(Y){if(Y instanceof j)throw Y}return await EH(W,Z,w),W}}async function e7($,w,Z,W){let X=await LH($);if(!X||!D8(X,w))throw new j("permission","workspace.symlink_escape",`Path escapes workspace through a ${W}: ${Z}`)}async function EH($,w,Z){let W=k0.dirname($);while(W!==k0.dirname(W)){let X;try{X=await s7(W)}catch{W=k0.dirname(W);continue}if(!X){W=k0.dirname(W);continue}if(X.isSymbolicLink()){let Y=k0.resolve(k0.dirname(W),await a7(W));await e7(Y,w,Z,"symlink")}else{let Y;try{Y=await L8(W)}catch{W=k0.dirname(W);continue}if(!Y)continue;if(D8(Y,w))return;throw new j("permission","workspace.symlink_escape",`Parent escapes workspace: ${Z}`)}W=k0.dirname(W)}}async function LH($){let w=$;while(!0)try{return await L8(w)}catch{let Z=k0.dirname(w);if(Z===w)return;w=Z}}var f8={name:"edit",description:"Replace one uniquely matching exact text block in a UTF-8 file.",risk:"modify",inputSchema:{type:"object",additionalProperties:!1,required:["path","oldText","newText"],properties:{path:{type:"string"},oldText:{type:"string",minLength:1},newText:{type:"string"}}},async execute($,w){let{path:Z,oldText:W,newText:X}=$,Y=await a0(w.workspace,Z),G=await DH(Y,$J.O_RDWR|$J.O_NOFOLLOW);try{let J=await G.readFile("utf8"),Q=J.indexOf(W);if(Q<0)return{content:"edit.no_match: oldText was not found",isError:!0};if(J.indexOf(W,Q+1)>=0)return{content:"edit.multiple_matches: oldText is not unique",isError:!0};let z=`${J.slice(0,Q)}${X}${J.slice(Q+W.length)}`;await G.truncate(0),await G.write(z,0,"utf8")}finally{await G.close()}return{content:`Edited ${Z}`}}};import{constants as wJ}from"node:fs";import{open as fH}from"node:fs/promises";class ZJ{limit;text="";omitted=0;constructor($){this.limit=$}add($){let w=Math.max(0,this.limit-this.text.length);this.text+=$.slice(0,w),this.omitted+=Math.max(0,$.length-w)}value(){return this.omitted>0?`${this.text}
56
- ... [${this.omitted} selected characters omitted]`:this.text}}var k8={name:"read",description:"Read a UTF-8 text file by 1-based line offset and limit.",risk:"read",inputSchema:{type:"object",additionalProperties:!1,required:["path"],properties:{path:{type:"string"},offset:{type:"integer",minimum:1,default:1},limit:{type:"integer",minimum:1,maximum:2000,default:500}}},async execute($,w){let{path:Z,offset:W=1,limit:X=500}=$,Y=await a0(w.workspace,Z),G=new ZJ(50000),J=1,Q=0,z=!1,M=()=>J>=W&&J<W+X,T=(P)=>{if(!M())return;if(!z){if(Q>0)G.add(`
57
- `);Q++,z=!0}G.add(P)},N=await fH(Y,wJ.O_RDONLY|wJ.O_NOFOLLOW);try{let P=N.createReadStream({encoding:"utf8",autoClose:!1,highWaterMark:65536,signal:w.signal});for await(let q of P){let U=String(q),O=0;for(let f=U.indexOf(`
58
- `,O);f>=0;f=U.indexOf(`
59
- `,O))T(U.slice(O,f)),J++,z=!1,O=f+1;T(U.slice(O))}}finally{await N.close()}T("");let K=J,B=Math.max(0,K-(W-1+Q));return{content:G.value()+(B>0?`
60
- ... [${B} lines omitted]`:""),metadata:{totalLines:K,offset:W,limit:X}}}};import{constants as A8}from"node:fs";import{mkdir as kH,open as AH}from"node:fs/promises";import SH from"node:path";var S8={name:"write",description:"Create or overwrite a UTF-8 file inside the workspace.",risk:"modify",inputSchema:{type:"object",additionalProperties:!1,required:["path","content"],properties:{path:{type:"string"},content:{type:"string"}}},async execute($,w){let{path:Z,content:W}=$,X=await a0(w.workspace,Z);await kH(SH.dirname(X),{recursive:!0}),X=await a0(w.workspace,Z);let Y=await AH(X,A8.O_WRONLY|A8.O_CREAT|A8.O_TRUNC|A8.O_NOFOLLOW,384);try{await Y.writeFile(W,"utf8")}finally{await Y.close()}return{content:`Wrote ${Buffer.byteLength(W)} bytes to ${Z}`}}};function WJ(){return[k8,S8,f8,E8]}var XJ="0.1.2";import y6 from"node:path";import{stdin as ZE,stdout as n0}from"node:process";import{createInterface as WE}from"node:readline/promises";var YJ=R4(d6(),1),{program:Ok,createCommand:Ek,createArgument:Lk,createOption:Dk,CommanderError:fk,InvalidArgumentError:J5,InvalidOptionArgumentError:kk,Command:Ak,Argument:Sk,Option:Rk,Help:Ck}=YJ.default;import{mkdir as RH,readFile as CH,realpath as GJ,writeFile as jH}from"node:fs/promises";import IH from"node:path";class Q5{file;constructor($){this.file=$}async isTrusted($){return(await this.read()).includes($)}async isWorkspaceTrusted($){return this.isTrusted(await GJ($))}async trustWorkspace($){return this.trust(await GJ($))}async trust($){let w=await this.read();if(!w.includes($))w.push($);await RH(IH.dirname(this.file),{recursive:!0}),await jH(this.file,`${JSON.stringify(w,null,2)}
61
- `,{encoding:"utf8",mode:384})}async read(){try{let $=JSON.parse(await CH(this.file,"utf8"));return Array.isArray($)?$.filter((w)=>typeof w==="string"):[]}catch($){if($.code==="ENOENT")return[];throw $}}}class zJ{estimateText($){return Math.ceil($.length/3.5)}estimateMessages($){return $.reduce((w,Z)=>w+6+this.estimateText(JSON.stringify(Z)),0)}estimateTools($){return this.estimateText(JSON.stringify($.map(({execute:w,...Z})=>Z)))}}class z5{budget;threshold;estimator=new zJ;summary;compactionRange;compactedThrough=0;constructor($,w=0.8){this.budget=$;this.threshold=w}inputBudget(){return this.budget.contextWindow-this.budget.reservedOutputTokens-this.budget.safetyMargin}prepare($,w){let Z=$[0]??{role:"system",content:"You are CodeN."},W=JJ($.slice(1)),X=this.estimator.estimateTools(w),Y=this.inputBudget(),G=this.summary?W.filter((T)=>T.end>this.compactedThrough):[...W],J=Math.min(3,G.length),Q=this.project(Z,G),z=this.estimator.estimateMessages(Q)+X,M=!1;if(z>Y*this.threshold&&G.length>J){let T=G.slice(0,-J);G=G.slice(-J);let N=[...this.summary?[this.summary]:[],...T.flatMap((K)=>K.messages)];this.compactionRange={start:T[0]?.start??1,end:T.at(-1)?.end??1},this.compactedThrough=this.compactionRange.end,this.summary={role:"system",content:`Compacted conversation summary:
62
- ${QJ(N)}`},Q=this.project(Z,G),z=this.estimator.estimateMessages(Q)+X,M=!0}while(z>Y&&G.length>1)G=G.slice(1),Q=this.project(Z,G),z=this.estimator.estimateMessages(Q)+X,M=!0;return{messages:Q,estimatedTokens:z,compacted:M}}forceCompact($,w){let Z=$[0]??{role:"system",content:"You are CodeN."},W=JJ($.slice(1)),X=this.summary?W.filter((M)=>M.end>this.compactedThrough):W,Y=X.slice(-1),G=X.slice(0,-1),J=[...this.summary?[this.summary]:[],...G.flatMap((M)=>M.messages)];if(G.length)this.compactionRange={start:G[0]?.start??1,end:G.at(-1)?.end??1},this.compactedThrough=this.compactionRange.end;this.summary={role:"system",content:`Emergency compacted summary:
63
- ${QJ(J)}`};let Q=this.project(Z,Y),z=this.estimator.estimateMessages(Q)+this.estimator.estimateTools(w);return{messages:Q,estimatedTokens:z,compacted:!0}}setSummary($,w=0){this.summary={role:"system",content:$},this.compactedThrough=w}getSummary(){return this.summary?.content}getCompactionRange(){return this.compactionRange}clearSummary(){this.summary=void 0,this.compactionRange=void 0,this.compactedThrough=0}project($,w){return[$,...this.summary?[this.summary]:[],...w.flatMap((Z)=>Z.messages)]}}function JJ($){let w=[],Z;for(let W=0;W<$.length;W++){let X=$[W];if(!X)continue;let Y=W+1;if(X.role==="user"||!Z){if(Z)w.push(Z);Z={messages:[X],start:Y,end:Y}}else Z.messages.push(X),Z.end=Y}if(Z)w.push(Z);return w}function QJ($){return $.map((Z)=>{if(Z.role==="tool")return`Tool ${Z.name} (${Z.isError?"error":"ok"}): ${Z.content.slice(0,300)}`;return`${Z.role}: ${Z.content.slice(0,500)}`}).join(`
64
- `).slice(0,6000)}function M5($,w,Z,W,X){let Y={model:$,messages:w.messages,tools:Z,maxOutputTokens:W.reservedOutputTokens};if(X)Y.signal=X;return Y}class T5{#$=new Set;on($){return this.#$.add($),()=>this.#$.delete($)}async emit($,w,Z){let W={type:$,timestamp:new Date().toISOString()};if(Z!==void 0)W.turnId=Z;if(w!==void 0)W.data=w;return await Promise.all([...this.#$].map((X)=>X(W))),W}}import{randomUUID as yH}from"node:crypto";class N5{provider;registry;executor;context;sessions;events;options;messages;maxSteps;retries;retryBaseMs;systemPersisted;constructor($,w,Z,W,X,Y,G,J){this.provider=$;this.registry=w;this.executor=Z;this.context=W;this.sessions=X;this.events=Y;this.options=G;this.maxSteps=G.maxSteps??20,this.retries=G.retries??3,this.retryBaseMs=G.retryBaseMs??250,this.systemPersisted=Boolean(J?.length),this.messages=J?.length?[...J]:[{role:"system",content:G.systemPrompt??"You are CodeN, a concise coding agent. Inspect before editing, use tools carefully, and verify changes."}]}async reset(){let $=this.messages.find((w)=>w.role==="system")??{role:"system",content:"You are CodeN."};await this.sessions.append("session.reset",{}),this.messages.splice(0,this.messages.length,$),this.context.clearSummary(),this.systemPersisted=!1}async compact(){let $=this.context.forceCompact(this.messages,this.registry.list()),w=this.context.getSummary();if(w)await this.sessions.appendCompaction(w,this.context.getCompactionRange());await this.events.emit("context.compacted",{manual:!0,estimatedTokens:$.estimatedTokens})}async run($,w=new AbortController().signal){let Z=yH(),W=Date.now(),X=0,Y={inputTokens:0,outputTokens:0};await this.events.emit("turn.started",{input:$},Z);try{if(!this.systemPersisted){let Q=this.messages[0];if(Q?.role==="system")await this.sessions.appendMessage(Q);this.systemPersisted=!0}let G=this.messages.some((Q)=>Q.role==="user"),J={role:"user",content:$};if(this.messages.push(J),await this.sessions.appendMessage(J),!G)await this.sessions.setTitle($);for(let Q=0;Q<this.maxSteps;Q++){let z=this.context.prepare(this.messages,this.registry.list());if(z.compacted){let N=this.context.getSummary();if(N){let K=await this.refineSummary(N,w,Z);if(K){let B=N;N=K,this.context.setSummary(K,this.context.getCompactionRange()?.end??0),z.messages=z.messages.map((P)=>P.role==="system"&&P.content===B?{role:"system",content:K}:P)}await this.sessions.appendCompaction(N,this.context.getCompactionRange())}await this.events.emit("context.compacted",{estimatedTokens:z.estimatedTokens},Z)}await this.events.emit("context.prepared",{estimatedTokens:z.estimatedTokens,budget:this.context.inputBudget()},Z);let M=await this.requestWithRetry(M5(this.options.model,z,this.registry.list(),this.context.budget,w),Z,async()=>{z=this.context.forceCompact(this.messages,this.registry.list());let N=this.context.getSummary();if(N)await this.sessions.appendCompaction(N,this.context.getCompactionRange());return M5(this.options.model,z,this.registry.list(),this.context.budget,w)});Y.inputTokens+=M.usage.inputTokens,Y.outputTokens+=M.usage.outputTokens;let T={role:"assistant",content:M.text,toolCalls:M.toolCalls,model:this.options.model,usage:M.usage};if(this.messages.push(T),await this.sessions.appendMessage(T),T.toolCalls.length===0)return await this.events.emit("turn.completed",{tools:X,durationMs:Date.now()-W,inputTokens:Y.inputTokens,outputTokens:Y.outputTokens,contextTokens:z.estimatedTokens},Z),{answer:T.content,messages:this.messages,toolsExecuted:X,usage:Y};for(let N of T.toolCalls){let K=await this.executor.execute(N,w,Z);X++;let B={role:"tool",callId:N.callId,name:N.name,content:K.content,isError:K.isError??!1};this.messages.push(B),await this.sessions.appendMessage(B)}}throw new j("runtime","runtime.step_limit",`Maximum model steps (${this.maxSteps}) reached`)}catch(G){throw await this.events.emit("turn.failed",{code:G instanceof j?G.code:"runtime.unknown",message:G instanceof Error?G.message:String(G)},Z),G}}async refineSummary($,w,Z){try{await this.events.emit("context.compaction_started",{model:this.options.model},Z);let W=await MJ(this.provider.stream({model:this.options.model,messages:[{role:"system",content:"Rewrite the supplied coding-session summary concisely. Preserve goals, constraints, decisions, changed files, tool/test results, unresolved errors, and next steps. Return only the summary."},{role:"user",content:$}],tools:[],maxOutputTokens:Math.min(2048,this.context.budget.reservedOutputTokens),signal:w}));if(W.toolCalls.length>0||!W.text.trim())return;return`Compacted conversation summary:
65
- ${W.text.trim()}`}catch(W){await this.events.emit("context.compaction_failed",{message:W instanceof Error?W.message:String(W),fallback:"deterministic"},Z);return}}async requestWithRetry($,w,Z){let W=$,X=!1;for(let Y=0;;Y++)try{await this.events.emit("provider.started",{attempt:Y},w);let G=await MJ(this.provider.stream(W),async(J)=>{await this.events.emit("provider.delta",{text:J},w)},async(J)=>{await this.events.emit("provider.reasoning_delta",{text:J},w)});return await this.events.emit("provider.completed",{usage:G.usage},w),G}catch(G){if(W.signal?.aborted)throw G;if(_H(G)){if(!X){X=!0,W=await Z(),await this.events.emit("context.compacted",{emergency:!0},w);continue}throw new j("context","context.exhausted","Context is still over the provider limit after emergency compaction",!1,void 0,{cause:G})}if(Y>=this.retries||!bH(G))throw G;await this.events.emit("provider.retry",{attempt:Y+1,message:G instanceof Error?G.message:String(G)},w);let J=xH(G),Q=this.retryBaseMs*2**Y*(0.8+Math.random()*0.4);await gH(J??Math.min(30000,Q),W.signal)}}}async function MJ($,w,Z){let W="",X={inputTokens:0,outputTokens:0},Y=new Map;for await(let J of $)if(J.type==="reasoning_delta")await Z?.(J.text);else if(J.type==="text_delta")W+=J.text,await w?.(J.text);else if(J.type==="tool_call_start")Y.set(J.index,{callId:J.callId,name:J.name,json:"",ended:!1});else if(J.type==="tool_call_delta"){let Q=Y.get(J.index);if(!Q)throw new j("provider","provider.invalid_stream","Tool arguments arrived before tool start");Q.json+=J.argumentsDelta}else if(J.type==="tool_call_end"){let Q=Y.get(J.index);if(Q)Q.ended=!0}else if(J.type==="usage")X={inputTokens:Math.max(X.inputTokens,J.usage.inputTokens),outputTokens:Math.max(X.outputTokens,J.usage.outputTokens)};let G=[...Y.entries()].sort(([J],[Q])=>J-Q).map(([,J])=>{if(!J.ended)throw new j("provider","provider.incomplete_tool_call",`Incomplete tool call: ${J.name}`);try{return{callId:J.callId,name:J.name,input:JSON.parse(J.json||"{}")}}catch(Q){throw new j("provider","provider.invalid_tool_json",`Invalid JSON for tool ${J.name}`,!1,void 0,{cause:Q})}});return{text:W,toolCalls:G,usage:X}}function bH($){if($ instanceof j)return $.retryable;let w=$?.status;return typeof w!=="number"||w===429||w>=500}function xH($){let Z=$?.headers?.get?.("retry-after");if(!Z)return;let W=Number(Z);if(Number.isFinite(W))return Math.max(0,W*1000);let X=Date.parse(Z);return Number.isNaN(X)?void 0:Math.max(0,X-Date.now())}function _H($){let w=$?.status,Z=$ instanceof Error?$.message:String($);return w===413||/context.{0,20}(?:length|window|limit|too long)/i.test(Z)}function gH($,w){return new Promise((Z,W)=>{if(w?.aborted){W(w.reason);return}let X=setTimeout(Z,$);w?.addEventListener("abort",()=>{clearTimeout(X),W(w.reason)},{once:!0})})}var I$=R4(KJ(),1);import*as y$ from"node:readline";var j8=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];class V5{options;stdout;stderr;tty;spinner;frame=0;providerStartedAt;reasoningText="";contentStarted=!1;pendingText="";constructor($,w={}){this.options=w;this.stdout=w.stdout??process.stdout,this.stderr=w.stderr??process.stderr,this.tty=w.tty??Boolean(process.stderr.isTTY&&!process.env.NO_COLOR&&!process.env.CI),$.on((Z)=>this.render(Z))}render($){if($.type==="provider.started")this.startProviderAttempt();if($.type==="provider.reasoning_delta"){let w=String($.data?.text??"");if(this.tty&&this.providerStartedAt!==void 0&&!this.contentStarted&&w)this.reasoningText+=w,this.renderThinkingLine()}if($.type==="provider.delta"){let w=String($.data?.text??"");if(w&&!this.contentStarted)this.finishThinking();if(this.tty)this.stdout.write(w);else this.pendingText+=w}if($.type==="provider.completed"){if(!this.tty&&this.pendingText)this.stdout.write(this.pendingText),this.pendingText="";this.endProviderAttempt()}if($.type==="provider.retry"||$.type==="turn.failed")this.endProviderAttempt(),this.pendingText="";if($.type==="tool.started")this.endProviderAttempt(),this.status(`tool ${String($.data?.name)} started`);if($.type==="tool.completed")this.status(`tool ${String($.data?.name)} ${$.data?.isError?"failed":"completed"} (${String($.data?.durationMs)}ms)`);if($.type==="provider.retry"&&this.options.verbose)this.status(`provider retry ${String($.data?.attempt)}`);if($.type==="turn.completed")this.endProviderAttempt(),this.stdout.write(`
66
- `),this.status(`done: ${String($.data?.tools)} tools, ${String($.data?.durationMs)}ms, ${String($.data?.inputTokens)}/${String($.data?.outputTokens)} tokens`);if($.type==="turn.failed")this.status(I$.default.red(`failed: ${String($.data?.message)}`));if($.type==="plugin.loaded"&&this.options.verbose)this.status(`plugin loaded: ${I8($)}`);if($.type==="plugin.failed")this.status(I$.default.red(`plugin failed: ${I8($)}${B5($)}`));if($.type==="plugin.unavailable")this.status(I$.default.yellow(`plugin unavailable: ${I8($)}${B5($)}`));if($.type==="plugin.restart_required")this.status(I$.default.yellow(`plugin restart required: ${I8($)}${B5($)}`))}status($){this.stderr.write(this.tty?`${I$.default.dim($)}
54
+ `);if(Y.exitCode===null&&!Y.timedOut&&!Y.cancelled&&Y.signal===null)return{content:`bash.spawn_error: ${Y.stderr||"unknown error"}`,isError:!0};let J=Y.timedOut?`Timed out after ${Z}ms`:Y.cancelled?"Cancelled":`Exit code: ${Y.exitCode??"null"}${Y.signal?` (signal ${Y.signal})`:""}`;return{content:l1(`${J}
55
+ ${G}`.trimEnd(),X),isError:Y.timedOut||Y.cancelled||Y.exitCode!==0,metadata:{exitCode:Y.exitCode,signal:Y.signal,timedOut:Y.timedOut,cancelled:Y.cancelled}}}};import{constants as dJ}from"node:fs";import{open as uH}from"node:fs/promises";import{constants as hJ}from"node:fs";import{lstat as iJ,open as _H,readlink as mJ,realpath as t8}from"node:fs/promises";import C0 from"node:path";function r8($,w){let W=C0.relative(w,$);return W===""||!W.startsWith("..")&&!C0.isAbsolute(W)}async function lJ($,w,W=1e6){let Z=await X$($,w),X=await _H(Z,hJ.O_RDONLY|hJ.O_NOFOLLOW);try{if((await X.stat()).size>W)throw new y("context","workspace.instructions_too_large",`${w} exceeds the ${W}-byte instruction limit`);return await X.readFile("utf8")}finally{await X.close()}}async function X$($,w){let W=await t8($),Z=C0.resolve(W,w);if(!r8(Z,W))throw new y("permission","workspace.outside",`Path is outside workspace: ${w}`);try{let X=await t8(Z);if(!r8(X,W))throw new y("permission","workspace.symlink_escape",`Path escapes workspace through a symlink: ${w}`);return X}catch(X){if(X instanceof y)throw X;try{if((await iJ(Z)).isSymbolicLink()){let G=C0.resolve(C0.dirname(Z),await mJ(Z));await cJ(G,W,w,"dangling symlink")}}catch(Y){if(Y instanceof y)throw Y}return await gH(Z,W,w),Z}}async function cJ($,w,W,Z){let X=await vH($);if(!X||!r8(X,w))throw new y("permission","workspace.symlink_escape",`Path escapes workspace through a ${Z}: ${W}`)}async function gH($,w,W){let Z=C0.dirname($);while(Z!==C0.dirname(Z)){let X;try{X=await iJ(Z)}catch{Z=C0.dirname(Z);continue}if(!X){Z=C0.dirname(Z);continue}if(X.isSymbolicLink()){let Y=C0.resolve(C0.dirname(Z),await mJ(Z));await cJ(Y,w,W,"symlink")}else{let Y;try{Y=await t8(Z)}catch{Z=C0.dirname(Z);continue}if(!Y)continue;if(r8(Y,w))return;throw new y("permission","workspace.symlink_escape",`Parent escapes workspace: ${W}`)}Z=C0.dirname(Z)}}async function vH($){let w=$;while(!0)try{return await t8(w)}catch{let W=C0.dirname(w);if(W===w)return;w=W}}var s8={name:"edit",description:"Replace one uniquely matching exact text block in a UTF-8 file.",risk:"modify",inputSchema:{type:"object",additionalProperties:!1,required:["path","oldText","newText"],properties:{path:{type:"string"},oldText:{type:"string",minLength:1},newText:{type:"string"}}},async execute($,w){let{path:W,oldText:Z,newText:X}=$,Y=await X$(w.workspace,W),G=await uH(Y,dJ.O_RDWR|dJ.O_NOFOLLOW);try{let J=await G.readFile("utf8"),T=J.indexOf(Z);if(T<0)return{content:"edit.no_match: oldText was not found",isError:!0};if(J.indexOf(Z,T+1)>=0)return{content:"edit.multiple_matches: oldText is not unique",isError:!0};let Q=`${J.slice(0,T)}${X}${J.slice(T+Z.length)}`;await G.truncate(0),await G.write(Q,0,"utf8")}finally{await G.close()}return{content:`Edited ${W}`}}};import{constants as nJ}from"node:fs";import{open as hH}from"node:fs/promises";class pJ{limit;text="";omitted=0;constructor($){this.limit=$}add($){let w=Math.max(0,this.limit-this.text.length);this.text+=$.slice(0,w),this.omitted+=Math.max(0,$.length-w)}value(){return this.omitted>0?`${this.text}
56
+ ... [${this.omitted} selected characters omitted]`:this.text}}var a8={name:"read",description:"Read a UTF-8 text file by 1-based line offset and limit.",risk:"read",inputSchema:{type:"object",additionalProperties:!1,required:["path"],properties:{path:{type:"string"},offset:{type:"integer",minimum:1,default:1},limit:{type:"integer",minimum:1,maximum:2000,default:500}}},async execute($,w){let{path:W,offset:Z=1,limit:X=500}=$,Y=await X$(w.workspace,W),G=new pJ(50000),J=1,T=0,Q=!1,M=()=>J>=Z&&J<Z+X,z=(P)=>{if(!M())return;if(!Q){if(T>0)G.add(`
57
+ `);T++,Q=!0}G.add(P)},N=await hH(Y,nJ.O_RDONLY|nJ.O_NOFOLLOW);try{let P=N.createReadStream({encoding:"utf8",autoClose:!1,highWaterMark:65536,signal:w.signal});for await(let q of P){let f=String(q),H=0;for(let E=f.indexOf(`
58
+ `,H);E>=0;E=f.indexOf(`
59
+ `,H))z(f.slice(H,E)),J++,Q=!1,H=E+1;z(f.slice(H))}}finally{await N.close()}z("");let B=J,K=Math.max(0,B-(Z-1+T));return{content:G.value()+(K>0?`
60
+ ... [${K} lines omitted]`:""),metadata:{totalLines:B,offset:Z,limit:X}}}};import{constants as o8}from"node:fs";import{mkdir as iH,open as mH}from"node:fs/promises";import lH from"node:path";var e8={name:"write",description:"Create or overwrite a UTF-8 file inside the workspace.",risk:"modify",inputSchema:{type:"object",additionalProperties:!1,required:["path","content"],properties:{path:{type:"string"},content:{type:"string"}}},async execute($,w){let{path:W,content:Z}=$,X=await X$(w.workspace,W);await iH(lH.dirname(X),{recursive:!0}),X=await X$(w.workspace,W);let Y=await mH(X,o8.O_WRONLY|o8.O_CREAT|o8.O_TRUNC|o8.O_NOFOLLOW,384);try{await Y.writeFile(Z,"utf8")}finally{await Y.close()}return{content:`Wrote ${Buffer.byteLength(Z)} bytes to ${W}`}}};function tJ(){return[a8,e8,s8,p8]}var rJ="0.1.4";import zW from"node:path";import{stdin as yL,stdout as c0}from"node:process";import{createInterface as IL}from"node:readline/promises";var sJ=m1(EW(),1),{program:sS,createCommand:aS,createArgument:oS,createOption:eS,CommanderError:$R,InvalidArgumentError:u5,InvalidOptionArgumentError:wR,Command:WR,Argument:ZR,Option:XR,Help:YR}=sJ.default;import{mkdir as cH,readFile as dH,realpath as aJ,writeFile as nH}from"node:fs/promises";import pH from"node:path";class h5{file;constructor($){this.file=$}async isTrusted($){return(await this.read()).includes($)}async isWorkspaceTrusted($){return this.isTrusted(await aJ($))}async trustWorkspace($){return this.trust(await aJ($))}async trust($){let w=await this.read();if(!w.includes($))w.push($);await cH(pH.dirname(this.file),{recursive:!0}),await nH(this.file,`${JSON.stringify(w,null,2)}
61
+ `,{encoding:"utf8",mode:384})}async read(){try{let $=JSON.parse(await dH(this.file,"utf8"));return Array.isArray($)?$.filter((w)=>typeof w==="string"):[]}catch($){if($.code==="ENOENT")return[];throw $}}}class $T{estimateText($){return Math.ceil($.length/3.5)}estimateMessages($){return $.reduce((w,W)=>w+6+this.estimateText(JSON.stringify(W)),0)}estimateTools($){return this.estimateText(JSON.stringify($.map(({execute:w,...W})=>W)))}}class i5{budget;threshold;estimator=new $T;summary;compactionRange;compactedThrough=0;constructor($,w=0.8){this.budget=$;this.threshold=w}inputBudget(){return this.budget.contextWindow-this.budget.reservedOutputTokens-this.budget.safetyMargin}prepare($,w){let W=$[0]??{role:"system",content:"You are CodeN."},Z=oJ($.slice(1)),X=this.estimator.estimateTools(w),Y=this.inputBudget(),G=this.summary?Z.filter((z)=>z.end>this.compactedThrough):[...Z],J=Math.min(3,G.length),T=this.project(W,G),Q=this.estimator.estimateMessages(T)+X,M=!1;if(Q>Y*this.threshold&&G.length>J){let z=G.slice(0,-J);G=G.slice(-J);let N=[...this.summary?[this.summary]:[],...z.flatMap((B)=>B.messages)];this.compactionRange={start:z[0]?.start??1,end:z.at(-1)?.end??1},this.compactedThrough=this.compactionRange.end,this.summary={role:"system",content:`Compacted conversation summary:
62
+ ${eJ(N)}`},T=this.project(W,G),Q=this.estimator.estimateMessages(T)+X,M=!0}while(Q>Y&&G.length>1)G=G.slice(1),T=this.project(W,G),Q=this.estimator.estimateMessages(T)+X,M=!0;return{messages:T,estimatedTokens:Q,compacted:M}}forceCompact($,w){let W=$[0]??{role:"system",content:"You are CodeN."},Z=oJ($.slice(1)),X=this.summary?Z.filter((M)=>M.end>this.compactedThrough):Z,Y=X.slice(-1),G=X.slice(0,-1),J=[...this.summary?[this.summary]:[],...G.flatMap((M)=>M.messages)];if(G.length)this.compactionRange={start:G[0]?.start??1,end:G.at(-1)?.end??1},this.compactedThrough=this.compactionRange.end;this.summary={role:"system",content:`Emergency compacted summary:
63
+ ${eJ(J)}`};let T=this.project(W,Y),Q=this.estimator.estimateMessages(T)+this.estimator.estimateTools(w);return{messages:T,estimatedTokens:Q,compacted:!0}}setSummary($,w=0){this.summary={role:"system",content:$},this.compactedThrough=w}getSummary(){return this.summary?.content}getCompactionRange(){return this.compactionRange}clearSummary(){this.summary=void 0,this.compactionRange=void 0,this.compactedThrough=0}project($,w){return[$,...this.summary?[this.summary]:[],...w.flatMap((W)=>W.messages)]}}function oJ($){let w=[],W;for(let Z=0;Z<$.length;Z++){let X=$[Z];if(!X)continue;let Y=Z+1;if(X.role==="user"||!W){if(W)w.push(W);W={messages:[X],start:Y,end:Y}}else W.messages.push(X),W.end=Y}if(W)w.push(W);return w}function eJ($){return $.map((W)=>{if(W.role==="tool")return`Tool ${W.name} (${W.isError?"error":"ok"}): ${W.content.slice(0,300)}`;return`${W.role}: ${W.content.slice(0,500)}`}).join(`
64
+ `).slice(0,6000)}function m5($,w,W,Z,X){let Y={model:$,messages:w.messages,tools:W,maxOutputTokens:Z.reservedOutputTokens};if(X)Y.signal=X;return Y}class l5{#$=new Set;on($){return this.#$.add($),()=>this.#$.delete($)}async emit($,w,W){let Z={type:$,timestamp:new Date().toISOString()};if(W!==void 0)Z.turnId=W;if(w!==void 0)Z.data=w;return await Promise.all([...this.#$].map((X)=>X(Z))),Z}}import{randomUUID as tH}from"node:crypto";class c5{provider;registry;executor;context;sessions;events;options;messages;maxSteps;retries;retryBaseMs;systemPersisted;constructor($,w,W,Z,X,Y,G,J){this.provider=$;this.registry=w;this.executor=W;this.context=Z;this.sessions=X;this.events=Y;this.options=G;this.maxSteps=G.maxSteps??20,this.retries=G.retries??3,this.retryBaseMs=G.retryBaseMs??250,this.systemPersisted=Boolean(J?.length),this.messages=J?.length?[...J]:[{role:"system",content:G.systemPrompt??"You are CodeN, a concise coding agent. Inspect before editing, use tools carefully, and verify changes."}]}async reset(){let $=this.messages.find((w)=>w.role==="system")??{role:"system",content:"You are CodeN."};if(this.sessions.isCreated)await this.sessions.append("session.reset",{});this.messages.splice(0,this.messages.length,$),this.context.clearSummary(),this.systemPersisted=!1}async compact(){let $=this.context.forceCompact(this.messages,this.registry.list()),w=this.context.getSummary();if(w)await this.sessions.appendCompaction(w,this.context.getCompactionRange());await this.events.emit("context.compacted",{manual:!0,estimatedTokens:$.estimatedTokens})}async run($,w=new AbortController().signal){let W=tH(),Z=Date.now(),X=0,Y={inputTokens:0,outputTokens:0};await this.sessions.create(),await this.events.emit("turn.started",{input:$},W);try{if(!this.systemPersisted){let T=this.messages[0];if(T?.role==="system")await this.sessions.appendMessage(T);this.systemPersisted=!0}let G=this.messages.some((T)=>T.role==="user"),J={role:"user",content:$};if(this.messages.push(J),await this.sessions.appendMessage(J),!G)await this.sessions.setTitle($);for(let T=0;T<this.maxSteps;T++){let Q=this.context.prepare(this.messages,this.registry.list());if(Q.compacted){let N=this.context.getSummary();if(N){let B=await this.refineSummary(N,w,W);if(B){let K=N;N=B,this.context.setSummary(B,this.context.getCompactionRange()?.end??0),Q.messages=Q.messages.map((P)=>P.role==="system"&&P.content===K?{role:"system",content:B}:P)}await this.sessions.appendCompaction(N,this.context.getCompactionRange())}await this.events.emit("context.compacted",{estimatedTokens:Q.estimatedTokens},W)}await this.events.emit("context.prepared",{estimatedTokens:Q.estimatedTokens,budget:this.context.inputBudget()},W);let M=await this.requestWithRetry(m5(this.options.model,Q,this.registry.list(),this.context.budget,w),W,async()=>{Q=this.context.forceCompact(this.messages,this.registry.list());let N=this.context.getSummary();if(N)await this.sessions.appendCompaction(N,this.context.getCompactionRange());return m5(this.options.model,Q,this.registry.list(),this.context.budget,w)});Y.inputTokens+=M.usage.inputTokens,Y.outputTokens+=M.usage.outputTokens;let z={role:"assistant",content:M.text,toolCalls:M.toolCalls,model:this.options.model,usage:M.usage};if(this.messages.push(z),await this.sessions.appendMessage(z),z.toolCalls.length===0)return await this.events.emit("turn.completed",{tools:X,durationMs:Date.now()-Z,inputTokens:Y.inputTokens,outputTokens:Y.outputTokens,contextTokens:Q.estimatedTokens},W),{answer:z.content,messages:this.messages,toolsExecuted:X,usage:Y};for(let N of z.toolCalls){let B=await this.executor.execute(N,w,W);X++;let K={role:"tool",callId:N.callId,name:N.name,content:B.content,isError:B.isError??!1};this.messages.push(K),await this.sessions.appendMessage(K)}}throw new y("runtime","runtime.step_limit",`Maximum model steps (${this.maxSteps}) reached`)}catch(G){throw await this.events.emit("turn.failed",{code:G instanceof y?G.code:"runtime.unknown",message:G instanceof Error?G.message:String(G)},W),G}}async refineSummary($,w,W){try{await this.events.emit("context.compaction_started",{model:this.options.model},W);let Z=await wT(this.provider.stream({model:this.options.model,messages:[{role:"system",content:"Rewrite the supplied coding-session summary concisely. Preserve goals, constraints, decisions, changed files, tool/test results, unresolved errors, and next steps. Return only the summary."},{role:"user",content:$}],tools:[],maxOutputTokens:Math.min(2048,this.context.budget.reservedOutputTokens),signal:w}));if(Z.toolCalls.length>0||!Z.text.trim())return;return`Compacted conversation summary:
65
+ ${Z.text.trim()}`}catch(Z){await this.events.emit("context.compaction_failed",{message:Z instanceof Error?Z.message:String(Z),fallback:"deterministic"},W);return}}async requestWithRetry($,w,W){let Z=$,X=!1;for(let Y=0;;Y++)try{await this.events.emit("provider.started",{attempt:Y},w);let G=await wT(this.provider.stream(Z),async(J)=>{await this.events.emit("provider.delta",{text:J},w)},async(J)=>{await this.events.emit("provider.reasoning_delta",{text:J},w)},async(J)=>{if(J.type==="tool_call_start")await this.events.emit("provider.tool_call_start",{index:J.index,callId:J.callId,name:J.name},w);else if(J.type==="tool_call_delta")await this.events.emit("provider.tool_call_delta",{index:J.index,argumentsDelta:J.argumentsDelta},w);else await this.events.emit("provider.tool_call_end",{index:J.index},w)});return await this.events.emit("provider.completed",{usage:G.usage},w),G}catch(G){if(Z.signal?.aborted)throw G;if(aH(G)){if(!X){X=!0,Z=await W(),await this.events.emit("context.compacted",{emergency:!0},w);continue}throw new y("context","context.exhausted","Context is still over the provider limit after emergency compaction",!1,void 0,{cause:G})}if(Y>=this.retries||!rH(G))throw G;await this.events.emit("provider.retry",{attempt:Y+1,message:G instanceof Error?G.message:String(G)},w);let J=sH(G),T=this.retryBaseMs*2**Y*(0.8+Math.random()*0.4);await oH(J??Math.min(30000,T),Z.signal)}}}async function wT($,w,W,Z){let X="",Y={inputTokens:0,outputTokens:0},G=new Map;for await(let T of $)if(T.type==="reasoning_delta")await W?.(T.text);else if(T.type==="text_delta")X+=T.text,await w?.(T.text);else if(T.type==="tool_call_start")G.set(T.index,{callId:T.callId,name:T.name,json:"",ended:!1}),await Z?.(T);else if(T.type==="tool_call_delta"){let Q=G.get(T.index);if(!Q)throw new y("provider","provider.invalid_stream","Tool arguments arrived before tool start");Q.json+=T.argumentsDelta,await Z?.(T)}else if(T.type==="tool_call_end"){let Q=G.get(T.index);if(Q)Q.ended=!0,await Z?.(T)}else if(T.type==="usage")Y={inputTokens:Math.max(Y.inputTokens,T.usage.inputTokens),outputTokens:Math.max(Y.outputTokens,T.usage.outputTokens)};let J=[...G.entries()].sort(([T],[Q])=>T-Q).map(([,T])=>{if(!T.ended)throw new y("provider","provider.incomplete_tool_call",`Incomplete tool call: ${T.name}`);try{return{callId:T.callId,name:T.name,input:JSON.parse(T.json||"{}")}}catch(Q){throw new y("provider","provider.invalid_tool_json",`Invalid JSON for tool ${T.name}`,!1,void 0,{cause:Q})}});return{text:X,toolCalls:J,usage:Y}}function rH($){if($ instanceof y)return $.retryable;let w=$?.status;return typeof w!=="number"||w===429||w>=500}function sH($){let W=$?.headers?.get?.("retry-after");if(!W)return;let Z=Number(W);if(Number.isFinite(Z))return Math.max(0,Z*1000);let X=Date.parse(W);return Number.isNaN(X)?void 0:Math.max(0,X-Date.now())}function aH($){let w=$?.status,W=$ instanceof Error?$.message:String($);return w===413||/context.{0,20}(?:length|window|limit|too long)/i.test(W)}function oH($,w){return new Promise((W,Z)=>{if(w?.aborted){Z(w.reason);return}let X=setTimeout(W,$);w?.addEventListener("abort",()=>{clearTimeout(X),Z(w.reason)},{once:!0})})}var G$=m1(W6(),1);import*as Gw from"node:readline";function p5(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var P1=p5();function zT($){P1=$}var K1={exec:()=>null};function Zw($){let w=[];return(W)=>{let Z=Math.max(0,Math.min(3,W-1)),X=w[Z];return X||(X=$(Z),w[Z]=X),X}}function m($,w=""){let W=typeof $=="string"?$:$.source,Z={replace:(X,Y)=>{let G=typeof Y=="string"?Y:Y.source;return G=G.replace(f0.caret,"$1"),W=W.replace(X,G),Z},getRegex:()=>new RegExp(W,w)};return Z}var WF=(($="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+$)}catch{return!1}})(),f0={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:($)=>new RegExp(`^( {0,3}${$})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:Zw(($)=>new RegExp(`^ {0,${$}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Zw(($)=>new RegExp(`^ {0,${$}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Zw(($)=>new RegExp(`^ {0,${$}}(?:\`\`\`|~~~)`)),headingBeginRegex:Zw(($)=>new RegExp(`^ {0,${$}}#`)),htmlBeginRegex:Zw(($)=>new RegExp(`^ {0,${$}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Zw(($)=>new RegExp(`^ {0,${$}}>`))},ZF=/^(?:[ \t]*(?:\n|$))+/,XF=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,YF=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,q4=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,GF=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,t5=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,NT=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,KT=m(NT).replace(/bull/g,t5).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),JF=m(NT).replace(/bull/g,t5).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),r5=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,TF=/^[^\n]+/,s5=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,QF=m(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",s5).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),MF=m(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,t5).getRegex(),J6="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",a5=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,zF=m("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",a5).replace("tag",J6).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),BT=($)=>m(r5).replace("hr",q4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",$).replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",J6).getRegex(),NF=BT(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),KF=BT(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),BF=m(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",KF).getRegex(),o5={blockquote:BF,code:XF,def:QF,fences:YF,heading:GF,hr:q4,html:zF,lheading:KT,list:MF,newline:ZF,paragraph:NF,table:K1,text:TF},XT=m("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",q4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",J6).getRegex(),PF={...o5,lheading:JF,table:XT,paragraph:m(r5).replace("hr",q4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",XT).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",J6).getRegex()},VF={...o5,html:m(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",a5).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:K1,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:m(r5).replace("hr",q4).replace("heading",` *#{1,6} *[^
66
+ ]`).replace("lheading",KT).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},fF=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,qF=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,PT=/^( {2,}|\\)\n(?!\s*$)/,UF=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,q$=/[\p{P}\p{S}]/u,Xw=/[\s\p{P}\p{S}]/u,U4=/[^\s\p{P}\p{S}]/u,HF=m(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Xw).getRegex(),FF=/[\p{Pi}\p{Ps}"']/u,VT=/(?!~)[\p{P}\p{S}]/u,OF=/(?!~)[\s\p{P}\p{S}]/u,EF=/(?:[^\s\p{P}\p{S}]|~)/u,LF=m(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",WF?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),fT=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,DF=m(fT,"u").replace(/punct/g,q$).getRegex(),kF=m(fT,"u").replace(/punct/g,VT).getRegex(),AF=/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,SF=m(AF,"u").replace(/openQuote/g,FF).replace(/punct/g,q$).getRegex(),qT="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",RF=m(qT,"gu").replace(/notPunctSpace/g,U4).replace(/punctSpace/g,Xw).replace(/punct/g,q$).getRegex(),CF=m(qT,"gu").replace(/notPunctSpace/g,EF).replace(/punctSpace/g,OF).replace(/punct/g,VT).getRegex(),jF="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)",yF=m(jF,"gu").replace(/notPunctSpace/g,U4).replace(/punctSpace/g,Xw).replace(/punct/g,q$).getRegex(),IF=m("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,U4).replace(/punctSpace/g,Xw).replace(/punct/g,q$).getRegex(),bF="^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)",xF=m(bF,"gu").replace(/notPunctSpace/g,U4).replace(/punctSpace/g,Xw).replace(/punct/g,q$).getRegex(),_F=m(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,q$).getRegex(),gF="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",vF=m(gF,"gu").replace(/notPunctSpace/g,U4).replace(/punctSpace/g,Xw).replace(/punct/g,q$).getRegex(),uF=m(/\\(punct)/,"gu").replace(/punct/g,q$).getRegex(),hF=m(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),iF=m(a5).replace("(?:-->|$)","-->").getRegex(),mF=m("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",iF).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),X6=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,lF=m(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",X6).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),UT=m(/^!?\[(label)\]\[(ref)\]/).replace("label",X6).replace("ref",s5).getRegex(),HT=m(/^!?\[(ref)\](?:\[\])?/).replace("ref",s5).getRegex(),cF=m("reflink|nolink(?!\\()","g").replace("reflink",UT).replace("nolink",HT).getRegex(),YT=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,e5={_backpedal:K1,anyPunctuation:uF,autolink:hF,blockSkip:LF,br:PT,code:qF,del:K1,delLDelim:K1,delRDelim:K1,emStrongLDelim:DF,emStrongRDelimAst:RF,emStrongRDelimUnd:IF,escape:fF,link:lF,nolink:HT,punctuation:HF,reflink:UT,reflinkSearch:cF,tag:mF,text:UF,url:K1},dF={...e5,emStrongLDelim:SF,emStrongRDelimAst:yF,emStrongRDelimUnd:xF,link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",X6).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",X6).getRegex()},n5={...e5,emStrongRDelimAst:CF,emStrongLDelim:kF,delLDelim:_F,delRDelim:vF,url:m(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",YT).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:m(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",YT).getRegex()},nF={...n5,br:m(PT).replace("{2,}","*").getRegex(),text:m(n5.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Z6={normal:o5,gfm:PF,pedantic:VF},V4={normal:e5,gfm:n5,breaks:nF,pedantic:dF},pF={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},GT=($)=>pF[$];function Y$($,w){if(w){if(f0.escapeTest.test($))return $.replace(f0.escapeReplace,GT)}else if(f0.escapeTestNoEncode.test($))return $.replace(f0.escapeReplaceNoEncode,GT);return $}function JT($){try{$=encodeURI($).replace(f0.percentDecode,"%")}catch{return null}return $}function TT($,w){let W=$.replace(f0.findPipe,(Y,G,J)=>{let T=!1,Q=G;for(;--Q>=0&&J[Q]==="\\";)T=!T;return T?"|":" |"}),Z=W.split(f0.splitPipe),X=0;if(Z[0].trim()||Z.shift(),Z.length>0&&!Z.at(-1)?.trim()&&Z.pop(),w)if(Z.length>w)Z.splice(w);else for(;Z.length<w;)Z.push("");for(;X<Z.length;X++)Z[X]=Z[X].trim().replace(f0.slashPipe,"|");return Z}function m$($,w,W){let Z=$.length;if(Z===0)return"";let X=0;for(;X<Z;){let Y=$.charAt(Z-X-1);if(Y===w&&!W)X++;else if(Y!==w&&W)X++;else break}return $.slice(0,Z-X)}function QT($){let w=$.split(`
67
+ `),W=w.length-1;for(;W>=0&&f0.blankLine.test(w[W]);)W--;return w.length-W<=2?$:w.slice(0,W+1).join(`
68
+ `)}function tF($,w){if($.indexOf(w[1])===-1)return-1;let W=0;for(let Z=0;Z<$.length;Z++)if($[Z]==="\\")Z++;else if($[Z]===w[0])W++;else if($[Z]===w[1]&&(W--,W<0))return Z;return W>0?-2:-1}function rF($,w=0){let W=w,Z="";for(let X of $)if(X==="\t"){let Y=4-W%4;Z+=" ".repeat(Y),W+=Y}else Z+=X,W++;return Z}function MT($,w,W,Z,X){let Y=w.href,G=w.title||null,J=$[1].replace(X.other.outputLinkReplace,"$1"),T=$[0].charAt(0)==="!";Z.state.inLink=!0;let Q=Z.state.linkEmitted,M=Z.state.inRawBlock;Z.state.linkEmitted=!1;let z=Z.inlineTokens(J),N=Z.state.linkEmitted;if(Z.state.linkEmitted=Q,Z.state.inLink=!1,!T){if(N){Z.state.inRawBlock=M;return}Z.state.linkEmitted=!0}return{type:T?"image":"link",raw:W,href:Y,title:G,text:J,tokens:z}}function sF($,w,W){let Z=$.match(W.other.indentCodeCompensation);if(Z===null)return w;let X=Z[1];return w.split(`
69
+ `).map((Y)=>{let G=Y.match(W.other.beginningSpace);if(G===null)return Y;let[J]=G;return J.length>=X.length?Y.slice(X.length):Y}).join(`
70
+ `)}var Y6=class{options;rules;lexer;constructor($){this.options=$||P1}space($){let w=this.rules.block.newline.exec($);if(w&&w[0].length>0)return{type:"space",raw:w[0]}}code($){let w=this.rules.block.code.exec($);if(w){let W=this.options.pedantic?w[0]:QT(w[0]),Z=W.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:W,codeBlockStyle:"indented",text:Z}}}fences($){let w=this.rules.block.fences.exec($);if(w){let W=w[0],Z=sF(W,w[3]||"",this.rules);return{type:"code",raw:W,lang:w[2]?w[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):w[2],text:Z}}}heading($){let w=this.rules.block.heading.exec($);if(w){let W=w[2].trim();if(this.rules.other.endingHash.test(W)){let Z=m$(W,"#");(this.options.pedantic||!Z||this.rules.other.endingSpaceChar.test(Z))&&(W=Z.trim())}return{type:"heading",raw:m$(w[0],`
71
+ `),depth:w[1].length,text:W,tokens:this.lexer.inline(W)}}}hr($){let w=this.rules.block.hr.exec($);if(w)return{type:"hr",raw:m$(w[0],`
72
+ `)}}blockquote($){let w=this.rules.block.blockquote.exec($);if(w){let W=m$(w[0],`
73
+ `).split(`
74
+ `),Z="",X="",Y=[];for(;W.length>0;){let G=!1,J=[],T;for(T=0;T<W.length;T++)if(this.rules.other.blockquoteStart.test(W[T]))J.push(W[T]),G=!0;else if(!G)J.push(W[T]);else break;W=W.slice(T);let Q=J.join(`
75
+ `),M=Q.replace(this.rules.other.blockquoteSetextReplace,`
76
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,"");Z=Z?`${Z}
77
+ ${Q}`:Q,X=X?`${X}
78
+ ${M}`:M;let z=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(M,Y,!0),this.lexer.state.top=z,W.length===0)break;let N=Y.at(-1);if(N?.type==="code")break;if(N?.type==="blockquote"){let B=N,K=W.join(`
79
+ `),P=B.raw+`
80
+ `+K.replace(this.rules.other.blockquoteSetextReplace2,""),q=this.blockquote(P);Y[Y.length-1]=q,Z=`${Z}
81
+ ${K}`,X=X.substring(0,X.length-B.text.length)+q.text;break}else if(N?.type==="list"){let B=N,K=B.raw+`
82
+ `+W.join(`
83
+ `),P=this.list(K);Y[Y.length-1]=P,Z=Z.substring(0,Z.length-N.raw.length)+P.raw,X=X.substring(0,X.length-B.raw.length)+P.raw,W=K.substring(Y.at(-1).raw.length).split(`
84
+ `);continue}}return{type:"blockquote",raw:Z,tokens:Y,text:X}}}list($){let w=this.rules.block.list.exec($);if(w){let W=w[1].trim(),Z=W.length>1,X={type:"list",raw:"",ordered:Z,start:Z?+W.slice(0,-1):"",loose:!1,items:[]};W=Z?`\\d{1,9}\\${W.slice(-1)}`:`\\${W}`,this.options.pedantic&&(W=Z?W:"[*+-]");let Y=this.rules.other.listItemRegex(W),G=!1;for(;$;){let T=!1,Q="",M="";if(!(w=Y.exec($))||this.rules.block.hr.test($))break;Q=w[0],$=$.substring(Q.length);let z=rF(w[2].split(`
85
+ `,1)[0],w[1].length),N=$.split(`
86
+ `,1)[0],B=!z.trim(),K=0;if(this.options.pedantic?(K=2,M=z.trimStart()):B?K=w[1].length+1:(K=z.search(this.rules.other.nonSpaceChar),K=K>4?1:K,M=z.slice(K),K+=w[1].length),B&&this.rules.other.blankLine.test(N)&&(Q+=N+`
87
+ `,$=$.substring(N.length+1),T=!0),!T){let P=this.rules.other.nextBulletRegex(K),q=this.rules.other.hrRegex(K),f=this.rules.other.fencesBeginRegex(K),H=this.rules.other.headingBeginRegex(K),E=this.rules.other.htmlBeginRegex(K),S=this.rules.other.blockquoteBeginRegex(K);for(;$;){let A=$.split(`
88
+ `,1)[0],j;if(N=A,this.options.pedantic?(N=N.replace(this.rules.other.listReplaceNesting," "),j=N):j=N.replace(this.rules.other.tabCharGlobal," "),f.test(N)||H.test(N)||E.test(N)||S.test(N)||P.test(N)||q.test(N))break;if(j.search(this.rules.other.nonSpaceChar)>=K||!N.trim())M+=`
89
+ `+j.slice(K);else{if(B||z.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||f.test(z)||H.test(z)||q.test(z))break;M+=`
90
+ `+N}B=!N.trim(),Q+=A+`
91
+ `,$=$.substring(A.length+1),z=j.slice(K)}}X.loose||(G?X.loose=!0:this.rules.other.doubleBlankLine.test(Q)&&(G=!0)),X.items.push({type:"list_item",raw:Q,task:!!this.options.gfm&&this.rules.other.listIsTask.test(M),loose:!1,text:M,tokens:[]}),X.raw+=Q}let J=X.items.at(-1);if(J)J.raw=J.raw.trimEnd(),J.text=J.text.trimEnd();else return;X.raw=X.raw.trimEnd();for(let T of X.items)if(this.lexer.state.top=!1,T.tokens=this.lexer.blockTokens(T.text,[]),!X.loose){let Q=T.tokens.filter((z)=>z.type==="space"),M=Q.length>0&&Q.some((z)=>this.rules.other.anyLine.test(z.raw));X.loose=M}for(let T of X.items){let Q=T.tokens[0];if(T.task&&(Q?.type==="text"||Q?.type==="paragraph")){T.text=T.text.replace(this.rules.other.listReplaceTask,""),Q.raw=Q.raw.replace(this.rules.other.listReplaceTask,""),Q.text=Q.text.replace(this.rules.other.listReplaceTask,"");for(let z=this.lexer.inlineQueue.length-1;z>=0;z--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[z].src)){this.lexer.inlineQueue[z].src=this.lexer.inlineQueue[z].src.replace(this.rules.other.listReplaceTask,"");break}let M=this.rules.other.listTaskCheckbox.exec(T.raw);if(M){let z={type:"checkbox",raw:M[0]+" ",checked:M[0]!=="[ ]"};T.checked=z.checked,X.loose?T.tokens[0]&&["paragraph","text"].includes(T.tokens[0].type)&&"tokens"in T.tokens[0]&&T.tokens[0].tokens?(T.tokens[0].raw=z.raw+T.tokens[0].raw,T.tokens[0].text=z.raw+T.tokens[0].text,T.tokens[0].tokens.unshift(z)):T.tokens.unshift({type:"paragraph",raw:z.raw,text:z.raw,tokens:[z]}):T.tokens.unshift(z)}}else T.task&&(T.task=!1)}if(X.loose)for(let T of X.items){T.loose=!0;for(let Q of T.tokens)Q.type==="text"&&(Q.type="paragraph")}return X}}html($){let w=this.rules.block.html.exec($);if(w){let W=QT(w[0]);return{type:"html",block:!0,raw:W,pre:w[1]==="pre"||w[1]==="script"||w[1]==="style",text:W}}}def($){let w=this.rules.block.def.exec($);if(w){let W=w[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),Z=w[2]?w[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",X=w[3]?w[3].substring(1,w[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):w[3];return{type:"def",tag:W,raw:m$(w[0],`
92
+ `),href:Z,title:X}}}table($){let w=this.rules.block.table.exec($);if(!w||!this.rules.other.tableDelimiter.test(w[2]))return;let W=TT(w[1]),Z=w[2].replace(this.rules.other.tableAlignChars,"").split("|"),X=w[3]?.trim()?w[3].replace(this.rules.other.tableRowBlankLine,"").split(`
93
+ `):[],Y={type:"table",raw:m$(w[0],`
94
+ `),header:[],align:[],rows:[]};if(W.length===Z.length){for(let G of Z)this.rules.other.tableAlignRight.test(G)?Y.align.push("right"):this.rules.other.tableAlignCenter.test(G)?Y.align.push("center"):this.rules.other.tableAlignLeft.test(G)?Y.align.push("left"):Y.align.push(null);for(let G=0;G<W.length;G++)Y.header.push({text:W[G],tokens:this.lexer.inline(W[G]),header:!0,align:Y.align[G]});for(let G of X)Y.rows.push(TT(G,Y.header.length).map((J,T)=>({text:J,tokens:this.lexer.inline(J),header:!1,align:Y.align[T]})));return Y}}lheading($){let w=this.rules.block.lheading.exec($);if(w){let W=w[1].trim();return{type:"heading",raw:m$(w[0],`
95
+ `),depth:w[2].charAt(0)==="="?1:2,text:W,tokens:this.lexer.inline(W)}}}paragraph($){let w=this.rules.block.paragraph.exec($);if(w){let W=w[1].charAt(w[1].length-1)===`
96
+ `?w[1].slice(0,-1):w[1];return{type:"paragraph",raw:w[0],text:W,tokens:this.lexer.inline(W)}}}text($){let w=this.rules.block.text.exec($);if(w)return{type:"text",raw:w[0],text:w[0],tokens:this.lexer.inline(w[0])}}escape($){let w=this.rules.inline.escape.exec($);if(w)return{type:"escape",raw:w[0],text:w[1]}}tag($){let w=this.rules.inline.tag.exec($);if(w)return!this.lexer.state.inLink&&this.rules.other.startATag.test(w[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(w[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(w[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(w[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:w[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:w[0]}}link($){let w=this.rules.inline.link.exec($);if(w){let W=w[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(W)){if(!this.rules.other.endAngleBracket.test(W))return;let Y=m$(W.slice(0,-1),"\\");if((W.length-Y.length)%2===0)return}else{let Y=tF(w[2],"()");if(Y===-2)return;if(Y>-1){let G=(w[0].indexOf("!")===0?5:4)+w[1].length+Y;w[2]=w[2].substring(0,Y),w[0]=w[0].substring(0,G).trim(),w[3]=""}}let Z=w[2],X="";if(this.options.pedantic){let Y=this.rules.other.pedanticHrefTitle.exec(Z);Y&&(Z=Y[1],X=Y[3])}else X=w[3]?w[3].slice(1,-1):"";return Z=Z.trim(),this.rules.other.startAngleBracket.test(Z)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(W)?Z=Z.slice(1):Z=Z.slice(1,-1)),MT(w,{href:Z&&Z.replace(this.rules.inline.anyPunctuation,"$1"),title:X&&X.replace(this.rules.inline.anyPunctuation,"$1")},w[0],this.lexer,this.rules)}}reflink($,w){let W;if((W=this.rules.inline.reflink.exec($))||(W=this.rules.inline.nolink.exec($))){let Z=(W[2]||W[1]).replace(this.rules.other.multipleSpaceGlobal," "),X=w[Z.toLowerCase()];if(!X){let Y=W[0].charAt(0);return{type:"text",raw:Y,text:Y}}return MT(W,X,W[0],this.lexer,this.rules)}}emStrong($,w,W=""){let Z=this.rules.inline.emStrongLDelim.exec($);if(!Z||!Z[1]&&!Z[2]&&!Z[3]&&!Z[4]||Z[4]&&W.match(this.rules.other.unicodeAlphaNumeric))return;if(!(Z[1]||Z[3])||!W||this.rules.inline.punctuation.exec(W)){let X=[...Z[0]].length-1,Y,G,J=X,T=0,Q=Z[0][0],M=W===Q,z=Q==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(z.lastIndex=0,w=w.slice(-1*$.length+X);(Z=z.exec(w))!==null;){if(Y=Z[1]||Z[2]||Z[3]||Z[4]||Z[5]||Z[6],!Y)continue;if(G=[...Y].length,Z[3]||Z[4]){J+=G;continue}else if(Z[5]||Z[6]){if(X%3&&!((X+G)%3)){T+=G;continue}if(M)break}if(J-=G,J>0)continue;G=Math.min(G,G+J+T);let N=[...Z[0]][0].length,B=$.slice(0,X+Z.index+N+G);if(Math.min(X,G)%2){let P=B.slice(1,-1);return{type:"em",raw:B,text:P,tokens:this.lexer.inlineTokens(P)}}let K=B.slice(2,-2);return{type:"strong",raw:B,text:K,tokens:this.lexer.inlineTokens(K)}}}}codespan($){let w=this.rules.inline.code.exec($);if(w){let W=w[2].replace(this.rules.other.newLineCharGlobal," "),Z=this.rules.other.nonSpaceChar.test(W),X=this.rules.other.startingSpaceChar.test(W)&&this.rules.other.endingSpaceChar.test(W);return Z&&X&&(W=W.substring(1,W.length-1)),{type:"codespan",raw:w[0],text:W}}}br($){let w=this.rules.inline.br.exec($);if(w)return{type:"br",raw:w[0]}}del($,w,W=""){let Z=this.rules.inline.delLDelim.exec($);if(!Z)return;if(!Z[1]||!W||this.rules.inline.punctuation.exec(W)){let X=[...Z[0]].length-1,Y,G,J=X,T=this.rules.inline.delRDelim;for(T.lastIndex=0,w=w.slice(-1*$.length+X);(Z=T.exec(w))!==null;){if(Y=Z[1]||Z[2]||Z[3]||Z[4]||Z[5]||Z[6],!Y||(G=[...Y].length,G!==X))continue;if(Z[3]||Z[4]){J+=G;continue}if(J-=G,J>0)continue;G=Math.min(G,G+J);let Q=[...Z[0]][0].length,M=$.slice(0,X+Z.index+Q+G),z=M.slice(X,-X);return{type:"del",raw:M,text:z,tokens:this.lexer.inlineTokens(z)}}}}autolink($){let w=this.rules.inline.autolink.exec($);if(w){let W,Z;return w[2]==="@"?(W=w[1],Z="mailto:"+W):(W=w[1],Z=W),{type:"link",raw:w[0],text:W,href:Z,tokens:[{type:"text",raw:W,text:W}]}}}url($){let w;if(w=this.rules.inline.url.exec($)){let W,Z;if(w[2]==="@")W=w[0],Z="mailto:"+W;else{let X;do X=w[0],w[0]=this.rules.inline._backpedal.exec(w[0])?.[0]??"";while(X!==w[0]);W=w[0],w[1]==="www."?Z="http://"+w[0]:Z=w[0]}return{type:"link",raw:w[0],text:W,href:Z,tokens:[{type:"text",raw:W,text:W}]}}}inlineText($){let w=this.rules.inline.text.exec($);if(w){let W=this.lexer.state.inRawBlock;return{type:"text",raw:w[0],text:w[0],escaped:W}}}},s0=class ${tokens;options;state;inlineQueue;tokenizer;constructor(w){this.tokens=[],this.tokens.links=Object.create(null),this.options=w||P1,this.options.tokenizer=this.options.tokenizer||new Y6,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let W={other:f0,block:Z6.normal,inline:V4.normal};this.options.pedantic?(W.block=Z6.pedantic,W.inline=V4.pedantic):this.options.gfm&&(W.block=Z6.gfm,this.options.breaks?W.inline=V4.breaks:W.inline=V4.gfm),this.tokenizer.rules=W}static get rules(){return{block:Z6,inline:V4}}static lex(w,W){return new $(W).lex(w)}static lexInline(w,W){return new $(W).inlineTokens(w)}lex(w){w=w.replace(f0.carriageReturn,`
97
+ `),this.blockTokens(w,this.tokens);for(let W=0;W<this.inlineQueue.length;W++){let Z=this.inlineQueue[W];this.inlineTokens(Z.src,Z.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(w,W=[],Z=!1){this.tokenizer.lexer=this,this.options.pedantic&&(w=w.replace(f0.tabCharGlobal," ").replace(f0.spaceLine,""));let X=1/0;for(;w;){if(w.length<X)X=w.length;else{this.infiniteLoopError(w.charCodeAt(0));break}let Y;if(this.options.extensions?.block?.some((J)=>(Y=J.call({lexer:this},w,W))?(w=w.substring(Y.raw.length),W.push(Y),!0):!1))continue;if(Y=this.tokenizer.space(w)){w=w.substring(Y.raw.length);let J=W.at(-1);Y.raw.length===1&&J!==void 0?J.raw+=`
98
+ `:W.push(Y);continue}if(Y=this.tokenizer.code(w)){w=w.substring(Y.raw.length);let J=W.at(-1);J?.type==="paragraph"||J?.type==="text"?(J.raw+=(J.raw.endsWith(`
99
+ `)?"":`
100
+ `)+Y.raw,J.text+=`
101
+ `+Y.text,this.inlineQueue.at(-1).src=J.text):W.push(Y);continue}if(Y=this.tokenizer.fences(w)){w=w.substring(Y.raw.length),W.push(Y);continue}if(Y=this.tokenizer.heading(w)){w=w.substring(Y.raw.length),W.push(Y);continue}if(Y=this.tokenizer.hr(w)){w=w.substring(Y.raw.length),W.push(Y);continue}if(Y=this.tokenizer.blockquote(w)){w=w.substring(Y.raw.length),W.push(Y);continue}if(Y=this.tokenizer.list(w)){w=w.substring(Y.raw.length),W.push(Y);continue}if(Y=this.tokenizer.html(w)){w=w.substring(Y.raw.length),W.push(Y);continue}if(Y=this.tokenizer.def(w)){w=w.substring(Y.raw.length);let J=W.at(-1);J?.type==="paragraph"||J?.type==="text"?(J.raw+=(J.raw.endsWith(`
102
+ `)?"":`
103
+ `)+Y.raw,J.text+=`
104
+ `+Y.raw,this.inlineQueue.at(-1).src=J.text):this.tokens.links[Y.tag]||(this.tokens.links[Y.tag]={href:Y.href,title:Y.title},W.push(Y));continue}if(Y=this.tokenizer.table(w)){w=w.substring(Y.raw.length),W.push(Y);continue}if(Y=this.tokenizer.lheading(w)){w=w.substring(Y.raw.length),W.push(Y);continue}let G=w;if(this.options.extensions?.startBlock){let J=1/0,T=w.slice(1),Q;this.options.extensions.startBlock.forEach((M)=>{Q=M.call({lexer:this},T),typeof Q=="number"&&Q>=0&&(J=Math.min(J,Q))}),J<1/0&&J>=0&&(G=w.substring(0,J+1))}if(this.state.top&&(Y=this.tokenizer.paragraph(G))){let J=W.at(-1);Z&&J?.type==="paragraph"?(J.raw+=(J.raw.endsWith(`
105
+ `)?"":`
106
+ `)+Y.raw,J.text+=`
107
+ `+Y.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=J.text):W.push(Y),Z=G.length!==w.length,w=w.substring(Y.raw.length);continue}if(Y=this.tokenizer.text(w)){w=w.substring(Y.raw.length);let J=W.at(-1);J?.type==="text"?(J.raw+=(J.raw.endsWith(`
108
+ `)?"":`
109
+ `)+Y.raw,J.text+=`
110
+ `+Y.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=J.text):W.push(Y);continue}if(w){this.infiniteLoopError(w.charCodeAt(0));break}}return this.state.top=!0,W}inline(w,W=[]){return this.inlineQueue.push({src:w,tokens:W}),W}linkInText(w){if(!w.includes("["))return!1;let W=this.tokenizer.rules.inline.link;for(let Z of w.matchAll(this.tokenizer.rules.inline.blockSkip))if(W.test(Z[0])&&w.charAt(Z.index-1)!=="!")return!0;for(let Z of w.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let X=Z[0],Y=X.lastIndexOf("[");if(!(X.charAt(0)==="!"||!Object.hasOwn(this.tokens.links,X.slice(Y+1,-1)))&&!(Y>1&&this.linkInText(X.slice(1,Y-1))))return!0}return!1}inlineTokens(w,W=[]){this.tokenizer.lexer=this;let Z=w;if(this.tokens.links&&w.includes("[")){let J=this.tokenizer.rules.inline.reflinkSearch,T=(Q)=>{let M=Q.lastIndexOf("[");if(!Object.hasOwn(this.tokens.links,Q.slice(M+1,-1)))return Q;if(M>1&&Q.charAt(0)!=="!"){let z=Q.slice(1,M-1);if(this.linkInText(z))return"["+z.replace(J,T)+"]["+"a".repeat(Q.length-M-2)+"]"}return"["+"a".repeat(Q.length-2)+"]"};Z=Z.replace(J,T)}Z=Z.replace(this.tokenizer.rules.inline.anyPunctuation,(J)=>"+".repeat(J.length)),Z=Z.replace(this.tokenizer.rules.inline.blockSkip,(J,T,Q)=>{let M=Q?Q.length:0;return J.slice(0,M)+"["+"a".repeat(J.length-M-2)+"]"}),Z=this.options.hooks?.emStrongMask?.call({lexer:this},Z)??Z;let X=!1,Y="",G=1/0;for(;w;){if(w.length<G)G=w.length;else{this.infiniteLoopError(w.charCodeAt(0));break}X||(Y=""),X=!1;let J;if(this.options.extensions?.inline?.some((Q)=>(J=Q.call({lexer:this},w,W))?(w=w.substring(J.raw.length),W.push(J),!0):!1))continue;if(J=this.tokenizer.escape(w)){w=w.substring(J.raw.length),W.push(J);continue}if(J=this.tokenizer.tag(w)){w=w.substring(J.raw.length),W.push(J);continue}if(J=this.tokenizer.link(w)){w=w.substring(J.raw.length),W.push(J);continue}if(J=this.tokenizer.reflink(w,this.tokens.links)){w=w.substring(J.raw.length);let Q=W.at(-1);J.type==="text"&&Q?.type==="text"?(Q.raw+=J.raw,Q.text+=J.text):W.push(J);continue}if(J=this.tokenizer.emStrong(w,Z,Y)){w=w.substring(J.raw.length),W.push(J);continue}if(J=this.tokenizer.codespan(w)){w=w.substring(J.raw.length),W.push(J);continue}if(J=this.tokenizer.br(w)){w=w.substring(J.raw.length),W.push(J);continue}if(J=this.tokenizer.del(w,Z,Y)){w=w.substring(J.raw.length),W.push(J);continue}if(J=this.tokenizer.autolink(w)){w=w.substring(J.raw.length),W.push(J);continue}if(!this.state.inLink&&(J=this.tokenizer.url(w))){w=w.substring(J.raw.length),W.push(J);continue}let T=w;if(this.options.extensions?.startInline){let Q=1/0,M=w.slice(1),z;this.options.extensions.startInline.forEach((N)=>{z=N.call({lexer:this},M),typeof z=="number"&&z>=0&&(Q=Math.min(Q,z))}),Q<1/0&&Q>=0&&(T=w.substring(0,Q+1))}if(J=this.tokenizer.inlineText(T)){w=w.substring(J.raw.length),J.raw.slice(-1)!=="_"&&(Y=J.raw.slice(-1)),X=!0;let Q=W.at(-1);Q?.type==="text"?(Q.raw+=J.raw,Q.text+=J.text):W.push(J);continue}if(w){this.infiniteLoopError(w.charCodeAt(0));break}}return W}infiniteLoopError(w){let W="Infinite loop on byte: "+w;if(this.options.silent)console.error(W);else throw Error(W)}},G6=class{options;parser;constructor($){this.options=$||P1}space($){return""}code({text:$,lang:w,escaped:W}){let Z=(w||"").match(f0.notSpaceStart)?.[0],X=$.replace(f0.endingNewline,"")+`
111
+ `;return Z?'<pre><code class="language-'+Y$(Z)+'">'+(W?X:Y$(X,!0))+`</code></pre>
112
+ `:"<pre><code>"+(W?X:Y$(X,!0))+`</code></pre>
113
+ `}blockquote({tokens:$}){return`<blockquote>
114
+ ${this.parser.parse($)}</blockquote>
115
+ `}html({text:$}){return $}def($){return""}heading({tokens:$,depth:w}){return`<h${w}>${this.parser.parseInline($)}</h${w}>
116
+ `}hr($){return`<hr>
117
+ `}list($){let{ordered:w,start:W}=$,Z="";for(let G=0;G<$.items.length;G++){let J=$.items[G];Z+=this.listitem(J)}let X=w?"ol":"ul",Y=w&&W!==1?' start="'+W+'"':"";return"<"+X+Y+`>
118
+ `+Z+"</"+X+`>
119
+ `}listitem($){return`<li>${this.parser.parse($.tokens)}</li>
120
+ `}checkbox({checked:$}){return"<input "+($?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:$}){return`<p>${this.parser.parseInline($)}</p>
121
+ `}table($){let w="",W="";for(let X=0;X<$.header.length;X++)W+=this.tablecell($.header[X]);w+=this.tablerow({text:W});let Z="";for(let X=0;X<$.rows.length;X++){let Y=$.rows[X];W="";for(let G=0;G<Y.length;G++)W+=this.tablecell(Y[G]);Z+=this.tablerow({text:W})}return Z&&(Z=`<tbody>${Z}</tbody>`),`<table>
122
+ <thead>
123
+ `+w+`</thead>
124
+ `+Z+`</table>
125
+ `}tablerow({text:$}){return`<tr>
126
+ ${$}</tr>
127
+ `}tablecell($){let w=this.parser.parseInline($.tokens),W=$.header?"th":"td";return($.align?`<${W} align="${$.align}">`:`<${W}>`)+w+`</${W}>
128
+ `}strong({tokens:$}){return`<strong>${this.parser.parseInline($)}</strong>`}em({tokens:$}){return`<em>${this.parser.parseInline($)}</em>`}codespan({text:$}){return`<code>${Y$($,!0)}</code>`}br($){return"<br>"}del({tokens:$}){return`<del>${this.parser.parseInline($)}</del>`}link({href:$,title:w,tokens:W}){let Z=this.parser.parseInline(W),X=JT($);if(X===null)return Z;$=X;let Y='<a href="'+$+'"';return w&&(Y+=' title="'+Y$(w)+'"'),Y+=">"+Z+"</a>",Y}image({href:$,title:w,text:W,tokens:Z}){Z&&(W=this.parser.parseInline(Z,this.parser.textRenderer));let X=JT($);if(X===null)return Y$(W);$=X;let Y=`<img src="${$}" alt="${Y$(W)}"`;return w&&(Y+=` title="${Y$(w)}"`),Y+=">",Y}text($){return"tokens"in $&&$.tokens?this.parser.parseInline($.tokens):("escaped"in $)&&$.escaped?$.text:Y$($.text)}},$Z=class{strong({text:$}){return $}em({text:$}){return $}codespan({text:$}){return $}del({text:$}){return $}html({text:$}){return $}text({text:$}){return $}link({text:$}){return""+$}image({text:$}){return""+$}br(){return""}checkbox({raw:$}){return $}},a0=class ${options;renderer;textRenderer;constructor(w){this.options=w||P1,this.options.renderer=this.options.renderer||new G6,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $Z}static parse(w,W){return new $(W).parse(w)}static parseInline(w,W){return new $(W).parseInline(w)}parse(w){this.renderer.parser=this;let W="";for(let Z=0;Z<w.length;Z++){let X=w[Z];if(this.options.extensions?.renderers?.[X.type]){let G=X,J=this.options.extensions.renderers[G.type].call({parser:this},G);if(J!==!1||!["space","hr","heading","code","table","blockquote","list","checkbox","html","def","paragraph","text"].includes(G.type)){W+=J||"";continue}}let Y=X;switch(Y.type){case"space":{W+=this.renderer.space(Y);break}case"hr":{W+=this.renderer.hr(Y);break}case"heading":{W+=this.renderer.heading(Y);break}case"code":{W+=this.renderer.code(Y);break}case"table":{W+=this.renderer.table(Y);break}case"blockquote":{W+=this.renderer.blockquote(Y);break}case"list":{W+=this.renderer.list(Y);break}case"checkbox":{W+=this.renderer.checkbox(Y);break}case"html":{W+=this.renderer.html(Y);break}case"def":{W+=this.renderer.def(Y);break}case"paragraph":{W+=this.renderer.paragraph(Y);break}case"text":{W+=this.renderer.text(Y);break}default:{let G='Token with "'+Y.type+'" type was not found.';if(this.options.silent)return console.error(G),"";throw Error(G)}}}return W}parseInline(w,W=this.renderer){this.renderer.parser=this;let Z="";for(let X=0;X<w.length;X++){let Y=w[X];if(this.options.extensions?.renderers?.[Y.type]){let J=this.options.extensions.renderers[Y.type].call({parser:this},Y);if(J!==!1||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(Y.type)){Z+=J||"";continue}}let G=Y;switch(G.type){case"escape":{Z+=W.text(G);break}case"html":{Z+=W.html(G);break}case"link":{Z+=W.link(G);break}case"image":{Z+=W.image(G);break}case"checkbox":{Z+=W.checkbox(G);break}case"strong":{Z+=W.strong(G);break}case"em":{Z+=W.em(G);break}case"codespan":{Z+=W.codespan(G);break}case"br":{Z+=W.br(G);break}case"del":{Z+=W.del(G);break}case"text":{Z+=W.text(G);break}default:{let J='Token with "'+G.type+'" type was not found.';if(this.options.silent)return console.error(J),"";throw Error(J)}}}return Z}},f4=class{options;block;constructor($){this.options=$||P1}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess($){return $}postprocess($){return $}processAllTokens($){return $}emStrongMask($){return $}provideLexer($=this.block){return $?s0.lex:s0.lexInline}provideParser($=this.block){return $?a0.parse:a0.parseInline}},aF=class{defaults=p5();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=a0;Renderer=G6;TextRenderer=$Z;Lexer=s0;Tokenizer=Y6;Hooks=f4;constructor(...$){this.use(...$)}walkTokens($,w){let W=[];for(let Z of $)switch(W=W.concat(w.call(this,Z)),Z.type){case"table":{let X=Z;for(let Y of X.header)W=W.concat(this.walkTokens(Y.tokens,w));for(let Y of X.rows)for(let G of Y)W=W.concat(this.walkTokens(G.tokens,w));break}case"list":{let X=Z;W=W.concat(this.walkTokens(X.items,w));break}default:{let X=Z;this.defaults.extensions?.childTokens?.[X.type]?this.defaults.extensions.childTokens[X.type].forEach((Y)=>{let G=X[Y].flat(1/0);W=W.concat(this.walkTokens(G,w))}):X.tokens&&(W=W.concat(this.walkTokens(X.tokens,w)))}}return W}use(...$){let w=this.defaults.extensions||{renderers:{},childTokens:{}};return $.forEach((W)=>{let Z={...W};if(Z.async=this.defaults.async||Z.async||!1,W.extensions&&(W.extensions.forEach((X)=>{if(!X.name)throw Error("extension name required");if("renderer"in X){let Y=w.renderers[X.name];Y?w.renderers[X.name]=function(...G){let J=X.renderer.apply(this,G);return J===!1&&(J=Y.apply(this,G)),J}:w.renderers[X.name]=X.renderer}if("tokenizer"in X){if(!X.level||X.level!=="block"&&X.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let Y=w[X.level];Y?Y.unshift(X.tokenizer):w[X.level]=[X.tokenizer],X.start&&(X.level==="block"?w.startBlock?w.startBlock.push(X.start):w.startBlock=[X.start]:X.level==="inline"&&(w.startInline?w.startInline.push(X.start):w.startInline=[X.start]))}"childTokens"in X&&X.childTokens&&(w.childTokens[X.name]=X.childTokens)}),Z.extensions=w),W.renderer){let X=this.defaults.renderer||new G6(this.defaults);for(let Y in W.renderer){if(!(Y in X))throw Error(`renderer '${Y}' does not exist`);if(["options","parser"].includes(Y))continue;let G=Y,J=W.renderer[G],T=X[G];X[G]=(...Q)=>{let M=J.apply(X,Q);return M===!1&&(M=T.apply(X,Q)),M||""}}Z.renderer=X}if(W.tokenizer){let X=this.defaults.tokenizer||new Y6(this.defaults);for(let Y in W.tokenizer){if(!(Y in X))throw Error(`tokenizer '${Y}' does not exist`);if(["options","rules","lexer"].includes(Y))continue;let G=Y,J=W.tokenizer[G],T=X[G];X[G]=(...Q)=>{let M=J.apply(X,Q);return M===!1&&(M=T.apply(X,Q)),M}}Z.tokenizer=X}if(W.hooks){let X=this.defaults.hooks||new f4;for(let Y in W.hooks){if(!(Y in X))throw Error(`hook '${Y}' does not exist`);if(["options","block"].includes(Y))continue;let G=Y,J=W.hooks[G],T=X[G];f4.passThroughHooks.has(Y)?X[G]=(Q)=>{if(this.defaults.async&&f4.passThroughHooksRespectAsync.has(Y))return(async()=>{let z=await J.call(X,Q);return T.call(X,z)})();let M=J.call(X,Q);return T.call(X,M)}:X[G]=(...Q)=>{if(this.defaults.async)return(async()=>{let z=await J.apply(X,Q);return z===!1&&(z=await T.apply(X,Q)),z})();let M=J.apply(X,Q);return M===!1&&(M=T.apply(X,Q)),M}}Z.hooks=X}if(W.walkTokens){let X=this.defaults.walkTokens,Y=W.walkTokens;Z.walkTokens=function(G){let J=[];return J.push(Y.call(this,G)),X&&(J=J.concat(X.call(this,G))),J}}this.defaults={...this.defaults,...Z}}),this}setOptions($){return this.defaults={...this.defaults,...$},this}lexer($,w){return s0.lex($,w??this.defaults)}parser($,w){return a0.parse($,w??this.defaults)}parseMarkdown($){return(w,W)=>{let Z={...W},X={...this.defaults,...Z},Y=this.onError(!!X.silent,!!X.async);if(this.defaults.async===!0&&Z.async===!1)return Y(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof w>"u"||w===null)return Y(Error("marked(): input parameter is undefined or null"));if(typeof w!="string")return Y(Error("marked(): input parameter is of type "+Object.prototype.toString.call(w)+", string expected"));if(X.hooks&&(X.hooks.options=X,X.hooks.block=$),X.async)return(async()=>{let G=X.hooks?await X.hooks.preprocess(w):w,J=await(X.hooks?await X.hooks.provideLexer($):$?s0.lex:s0.lexInline)(G,X),T=X.hooks?await X.hooks.processAllTokens(J):J;X.walkTokens&&await Promise.all(this.walkTokens(T,X.walkTokens));let Q=await(X.hooks?await X.hooks.provideParser($):$?a0.parse:a0.parseInline)(T,X);return X.hooks?await X.hooks.postprocess(Q):Q})().catch(Y);try{X.hooks&&(w=X.hooks.preprocess(w));let G=(X.hooks?X.hooks.provideLexer($):$?s0.lex:s0.lexInline)(w,X);X.hooks&&(G=X.hooks.processAllTokens(G)),X.walkTokens&&this.walkTokens(G,X.walkTokens);let J=(X.hooks?X.hooks.provideParser($):$?a0.parse:a0.parseInline)(G,X);return X.hooks&&(J=X.hooks.postprocess(J)),J}catch(G){return Y(G)}}}onError($,w){return(W)=>{if(W.message+=`
129
+ Please report this to https://github.com/markedjs/marked.`,$){let Z="<p>An error occurred:</p><pre>"+Y$(W.message+"",!0)+"</pre>";return w?Promise.resolve(Z):Z}if(w)return Promise.reject(W);throw W}}},B1=new aF;function t($,w){return B1.parse($,w)}t.options=t.setOptions=function($){return B1.setOptions($),t.defaults=B1.defaults,zT(t.defaults),t};t.getDefaults=p5;t.defaults=P1;function oF(...$){return B1.use(...$),t.defaults=B1.defaults,zT(t.defaults),t}t.use=oF;t.walkTokens=function($,w){return B1.walkTokens($,w)};t.parseInline=B1.parseInline;t.Parser=a0;t.parser=a0.parse;t.Renderer=G6;t.TextRenderer=$Z;t.Lexer=s0;t.lexer=s0.lex;t.Tokenizer=Y6;t.Hooks=f4;t.parse=t;var{options:fR,setOptions:qR,walkTokens:UR,parseInline:HR}=t;var FR=a0.parse,OR=s0.lex;var o0=m1(W6(),1);var O4=m1(W6(),1);import{stripVTControlCharacters as $O}from"node:util";import{stripVTControlCharacters as eF}from"node:util";function X0($){return Array.from(eF($)).filter((w)=>{let W=w.codePointAt(0)??0;return W===9||W===10||W>159||W>31&&W<127}).join("")}function H4($){let w=$.codePointAt(0)??0;if(w>=9472&&w<=9599)return 1;return w<=255?1:2}function F4($){return Array.from($).reduce((w,W)=>w+H4(W),0)}function Yw($,w,W="head"){if(w<=0)return"";if(F4($)<=w)return $;if(w===1)return"…";let Z=Array.from($),X=[],Y=1,G=W==="head"?Z.map((J,T)=>T):Z.map((J,T)=>Z.length-T-1);for(let J of G){let T=Z[J];if(T===void 0||Y+H4(T)>w)break;if(W==="head")X.push(T);else X.unshift(T);Y+=H4(T)}return W==="head"?`${X.join("")}…`:`…${X.join("")}`}var ZZ="\x1B",OT=`${ZZ}[0m`,wO=new RegExp(`^${ZZ}\\[[0-?]*[ -/]*[@-~]`);function ET($){return F4($O($))}function LT($){let w=[],W=0,Z="";while(W<$.length){let X=$.slice(W).match(wO)?.[0];if(X){if(X.endsWith("m"))Z=X===`${ZZ}[m`||X===OT?"":`${Z}${X}`;W+=X.length;continue}let Y=$.codePointAt(W);if(Y===void 0)break;let G=String.fromCodePoint(Y);w.push({value:G,width:H4(G),state:Z}),W+=G.length}return w}function wZ($){return $.map((w)=>w.state?`${w.state}${w.value}${OT}`:w.value).join("")}function WO($,w){if($.length===0)return[""];let W=[],Z=$;while(Z.length>0){if(W.length>0){while(Z[0]&&/\s/u.test(Z[0].value))Z=Z.slice(1);if(Z.length===0)break}let X=0,Y=0,G=-1;while(Y<Z.length){let J=Z[Y];if(!J||Y>0&&X+J.width>w)break;if(X+=J.width,/\s/u.test(J.value))G=Y;if(Y+=1,X>=w)break}if(Y>=Z.length){W.push(wZ(Z));break}if(G>=0){W.push(wZ(Z.slice(0,G))),Z=Z.slice(G+1);while(Z[0]&&/\s/u.test(Z[0].value))Z=Z.slice(1);continue}W.push(wZ(Z.slice(0,Math.max(1,Y)))),Z=Z.slice(Math.max(1,Y))}return W.length>0?W:[""]}function ZO($,w){let W=Math.max(1,w);return $.split(`
130
+ `).flatMap((Z)=>WO(LT(Z),W))}function XO($){return $.some((w)=>LT(w).some((W)=>W.width>1))?2:1}function YO($){return Math.max(1,...$.flatMap((w)=>w.split(`
131
+ `).map(ET)))}function GO($,w){let W=$.header.length,Z=$.header.map((J,T)=>[J,...$.rows.map((Q)=>Q[T]??"")]),X=Z.map(XO),Y=Z.map(YO),G=Math.max(X.reduce((J,T)=>J+T,0),w-(3*W+1));while(Y.reduce((J,T)=>J+T,0)>G){let J=-1;for(let T=0;T<Y.length;T+=1){let Q=Y[T]??0,M=X[T]??1;if(Q>M&&(J<0||Q>(Y[J]??0)))J=T}if(J<0)break;Y[J]=(Y[J]??1)-1}return Y}function JO($,w,W){let Z=Math.max(0,w-ET($)),X=W==="right"?Z:W==="center"?Math.floor(Z/2):0;return`${" ".repeat(X)}${$}${" ".repeat(Z-X)}`}function WZ($,w,W,Z){return O4.default.dim(`${$}${Z.map((X)=>"─".repeat(X+2)).join(w)}${W}`)}function FT($,w,W){let Z=W.map((Y,G)=>ZO($[G]??"",Y)),X=Math.max(1,...Z.map((Y)=>Y.length));return Array.from({length:X},(Y,G)=>{let J=W.map((T,Q)=>JO(Z[Q]?.[G]??"",T,w[Q]??"left"));return`${O4.default.dim("│")} ${J.join(` ${O4.default.dim("│")} `)} ${O4.default.dim("│")}`})}function DT($,w){if($.header.length===0)return"";let W=GO($,Math.max(1,w)),Z=W.map((Y,G)=>$.align[G]??"left");return[WZ("┌","┬","┐",W),...FT($.header,Z,W),WZ("├","┼","┤",W),...$.rows.flatMap((Y)=>FT(Y,Z,W)),WZ("└","┴","┘",W)].join(`
132
+ `)}class E4{write;columns;pending="";fence;table;constructor($,w=()=>80){this.write=$;this.columns=w}push($){this.pending+=X0($);let w=this.pending.indexOf(`
133
+ `);while(w>=0){let W=this.pending.slice(0,w+1);this.pending=this.pending.slice(w+1),this.consumeLine(W),w=this.pending.indexOf(`
134
+ `)}}preview(){if(this.pending)return this.pending;let $=this.table?.lines.at(-1);if($!==void 0)return $.endsWith(`
135
+ `)?$.slice(0,-1):$;let w=this.fence?.lines.at(-1);if(w===void 0)return;return w.endsWith(`
136
+ `)?w.slice(0,-1):w}complete(){if(this.pending){let $=this.pending;this.pending="",this.consumeLine($)}if(this.flushTable(),this.fence)this.renderUnit(this.fence.lines.join("")),this.fence=void 0}reset(){this.pending="",this.fence=void 0,this.table=void 0}tableToken($){let w=t.lexer($)[0];return w?.type==="table"&&w.raw===$?w:void 0}flushTable(){let $=this.table;if(this.table=void 0,!$)return;this.renderUnit($.lines.join(""))}consumeLine($){if(this.fence){this.fence.lines.push($);let Y=($.endsWith(`
137
+ `)?$.slice(0,-1):$).match(/^ {0,3}(`{3,}|~{3,})[ \t]*$/);if(Y?.[1]?.[0]===this.fence.marker&&Y[1].length>=this.fence.length){let G=this.fence.lines.join("");this.fence=void 0,this.renderUnit(G)}return}if(this.table){let X=`${this.table.lines.join("")}${$}`,Y=this.tableToken(X);if(this.table.confirmed){if(Y){this.table.lines.push($);return}this.flushTable(),this.consumeLine($);return}if(Y){this.table.lines.push($),this.table.confirmed=!0;return}this.flushTable(),this.consumeLine($);return}let w=$.endsWith(`
138
+ `)?$.slice(0,-1):$,Z=w.match(/^ {0,3}(`{3,}|~{3,})(.*)$/)?.[1];if(Z){this.fence={marker:Z[0],length:Z.length,lines:[$]};return}if(w.includes("|")){this.table={lines:[$],confirmed:!1};return}this.renderUnit($)}renderUnit($){try{let w=this.renderTokens(t.lexer($));if($.endsWith(`
139
+ `)&&!w.endsWith(`
140
+ `))w+=`
141
+ `;this.write(w)}catch{this.write(X0($))}}renderTokens($){return($??[]).map((w)=>this.renderToken(w)).join("")}renderToken($){let w=()=>this.renderTokens("tokens"in $?$.tokens:void 0),W=()=>X0("text"in $?$.text:"");switch($.type){case"heading":return o0.default.bold(w()||W());case"strong":return o0.default.bold(w()||W());case"em":return o0.default.italic(w()||W());case"codespan":return o0.default.cyan(W());case"link":{let Z=w()||W(),X=X0($.href??"");return`${o0.default.underline(Z)}${X?o0.default.dim(` (${X})`):""}`}case"list":{let Z=$,X=typeof Z.start==="number"?Z.start:1;return Z.items.map((Y,G)=>{let J=this.renderTokens(Y.tokens)||X0(Y.text??""),T=Z.ordered?`${X+G}. `:"• ";return J.trimEnd().split(`
142
+ `).map((M,z)=>`${z===0?T:" "}${M}`).join(`
143
+ `)}).join(`
144
+ `)}case"list_item":return w()||W();case"blockquote":return(w()||W()).trimEnd().split(`
145
+ `).map((X)=>`${o0.default.dim("│ ")}${X}`).join(`
146
+ `);case"code":{let Z=X0(($.lang??"").trim()),X=o0.default.cyan(W());return Z?`${o0.default.dim(Z)}
147
+ ${X}`:X}case"table":{let Z=$;return DT({header:Z.header.map((X)=>o0.default.bold(this.renderTokens(X.tokens))),align:Z.align.map((X)=>X??"left"),rows:Z.rows.map((X)=>X.map((Y)=>this.renderTokens(Y.tokens)))},Math.max(1,this.columns()))}case"paragraph":case"text":case"escape":return w()||W();case"space":case"br":return`
148
+ `;default:{let Z=w();if(Z)return Z;let X=W();if(X)return X;return X0($.raw??"")}}}}var kT=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];class YZ{options;stdout;stderr;tty;markdown;spinner;frame=0;providerStartedAt;reasoningText="";toolCallPreviews=new Map;activeToolCallIndex;contentStarted=!1;pendingText="";constructor($,w={}){this.options=w;this.stdout=w.stdout??process.stdout,this.stderr=w.stderr??process.stderr,this.tty=!w.printMode&&(w.tty??Boolean(process.stderr.isTTY&&!process.env.NO_COLOR&&!process.env.CI)),this.markdown=new E4((W)=>this.stdout.write(W),()=>{let W=this.stdout.columns,Z=this.stderr.columns;return W??Z??80}),$.on((W)=>this.render(W))}render($){if($.type==="provider.started")this.startProviderAttempt();if($.type==="provider.reasoning_delta"){let w=String($.data?.text??"");if(this.tty&&this.providerStartedAt!==void 0&&!this.contentStarted&&w)this.reasoningText+=w,this.renderActivityLine()}if($.type==="provider.tool_call_start"&&this.tty){let w=Number($.data?.index),W=String($.data?.name??"tool");if(Number.isInteger(w))this.startToolCallPreview(w,W)}if($.type==="provider.tool_call_delta"&&this.tty){let w=Number($.data?.index),W=String($.data?.argumentsDelta??"");if(Number.isInteger(w)&&W)this.appendToolCallPreview(w,W)}if($.type==="provider.tool_call_end"&&this.tty){let w=Number($.data?.index);if(Number.isInteger(w))this.endToolCallPreview(w)}if($.type==="provider.delta"){let w=String($.data?.text??"");if(w&&!this.contentStarted)this.finishThinking();if(this.tty){if(this.clearActivityLine(),this.markdown.push(w),w)this.startSpinner(),this.renderActivityLine()}else this.pendingText+=w}if($.type==="provider.completed"){if(this.tty)this.stopSpinner(),this.markdown.complete();if(!this.tty&&this.pendingText)this.stdout.write(this.pendingText),this.pendingText="";this.endProviderAttempt()}if($.type==="provider.retry"||$.type==="turn.failed")this.endProviderAttempt(),this.pendingText="";if($.type==="tool.started"){this.endProviderAttempt();let w=X0(String($.data?.name??"tool"));if(this.tty){let W=X0(String($.data?.summary??""));this.toolStatus(`◇ ${w}${W?` ${W}`:""}`)}else this.status(`tool ${w} started`)}if($.type==="tool.completed"){let w=X0(String($.data?.name??"tool")),W=String($.data?.durationMs??"?");if(this.tty){let Z=Boolean($.data?.isError);this.toolStatus(`${Z?"✗":"✓"} ${w} ${W}ms`,Z)}else this.status(`tool ${w} ${$.data?.isError?"failed":"completed"} (${W}ms)`)}if($.type==="provider.retry"&&this.options.verbose)this.status(`provider retry ${String($.data?.attempt)}`);if($.type==="turn.completed")this.endProviderAttempt(),this.stdout.write(`
149
+ `),this.status(`done: ${String($.data?.tools)} tools, ${String($.data?.durationMs)}ms, ${String($.data?.inputTokens)}/${String($.data?.outputTokens)} tokens`);if($.type==="turn.failed")this.status(G$.default.red(`failed: ${String($.data?.message)}`));if($.type==="plugin.loaded"&&this.options.verbose)this.status(`plugin loaded: ${T6($)}`);if($.type==="plugin.failed")this.status(G$.default.red(`plugin failed: ${T6($)}${XZ($)}`));if($.type==="plugin.unavailable")this.status(G$.default.yellow(`plugin unavailable: ${T6($)}${XZ($)}`));if($.type==="plugin.restart_required")this.status(G$.default.yellow(`plugin restart required: ${T6($)}${XZ($)}`))}status($){this.stderr.write(this.tty?`${G$.default.dim($)}
67
150
  `:`[coden] ${$}
68
- `)}startProviderAttempt(){this.endProviderAttempt(),this.providerStartedAt=Date.now(),this.startSpinner()}endProviderAttempt(){this.stopSpinner(),this.providerStartedAt=void 0,this.reasoningText="",this.contentStarted=!1}finishThinking(){let $=this.providerStartedAt,w=Boolean(this.normalizedReasoning());if(this.stopSpinner(),this.contentStarted=!0,this.tty&&$!==void 0&&w){let Z=((Date.now()-$)/1000).toFixed(1);this.stderr.write(`${I$.default.dim(`thought for ${Z}s`)}
69
- `)}}normalizedReasoning(){return this.reasoningText.replace(/\s+/g," ").trim()}renderThinkingLine(){let $=this.normalizedReasoning();if(!$)return;let w=this.stderr.columns??80,Z=j8[this.frame++%j8.length]??"",W=this.truncateTail($,Math.max(0,w-2));y$.clearLine(this.stderr,0),y$.cursorTo(this.stderr,0),this.stderr.write(I$.default.dim(`${Z} ${W}`))}truncateTail($,w){if(w<=0)return"";let Z=Array.from($),W=(J)=>(J.codePointAt(0)??0)<=255?1:2;if(Z.reduce((J,Q)=>J+W(Q),0)<=w)return $;let Y=[],G=1;for(let J=Z.length-1;J>=0;J--){let Q=Z[J];if(Q===void 0||G+W(Q)>w)break;Y.unshift(Q),G+=W(Q)}return`…${Y.join("")}`}startSpinner(){if(!this.tty||this.spinner){if(!this.tty&&this.options.verbose)this.status("requesting model");return}this.spinner=setInterval(()=>{if(this.normalizedReasoning()){this.renderThinkingLine();return}y$.clearLine(this.stderr,0),y$.cursorTo(this.stderr,0);let $=j8[this.frame++%j8.length]??"";this.stderr.write(`${$} thinking`)},80)}stopSpinner(){if(!this.spinner)return;clearInterval(this.spinner),this.spinner=void 0,y$.clearLine(this.stderr,0),y$.cursorTo(this.stderr,0)}dispose(){this.endProviderAttempt()}}function I8($){let w=$.data??{},Z=X1(w.scope),W=X1(w.packageName),X=X1(w.version??w.diskVersion),Y=X1(w.name),G=X1(w.path),J=X1(w.source);if(W)return`${Z?`${Z} `:""}${W}${X?`@${X}`:""}`;if(Y)return Y;if(G)return`${Z?`${Z} `:""}${G}`;if(J)return J;return"plugin"}function B5($){let w=X1($.data?.message??$.data?.reason);return w?` — ${w}`:""}function X1($){return typeof $==="string"&&$.length>0?$:void 0}import{appendFile as iH,chmod as BJ,mkdir as mH}from"node:fs/promises";import lH from"node:path";class P5{file;#$=Promise.resolve();constructor($,w){this.file=$;w.on((Z)=>this.write(Z))}write($){let w=this.#$.then(async()=>{let Z=lH.dirname(this.file);await mH(Z,{recursive:!0,mode:448}),await BJ(Z,448),await iH(this.file,`${JSON.stringify($)}
70
- `,{encoding:"utf8",mode:384}),await BJ(this.file,384)});return this.#$=w.catch(()=>{}),w}async flush(){await this.#$}}var cH=[/\brm\s+(?:-[^\s]*r[^\s]*\s+|--recursive\b)/i,/\bsudo\b/i,/\bgit\b[^;&|\n]*\breset\s+--hard\b/i,/\bgit\b[^;&|\n]*\bclean\s+(?:-[^\s]*f[^\s]*|--force)\b/i,/\bgit\b[^;&|\n]*\bpush\b[^;&|\n]*(?:--force(?:-with-lease)?|-f)\b/i,/\bgit\b[^;&|\n]*\bcheckout\s+--\s/i,/\bgit\b[^;&|\n]*\brestore\b/i,/\b(?:mkfs|fdisk|dd)\b/i,/\b(?:killall|pkill)\b/i,/(?:curl|wget)[^|;&]*(?:\||&&)\s*(?:sh|bash)\b/i,/(?:^|\s)(?:\/etc|\/usr|\/bin|\/sbin)\//];function dH($){return cH.some((w)=>w.test($))?"dangerous":"modify"}class q5{auto;prompt;#$=new Set;constructor($,w){this.auto=$;this.prompt=w}async authorize($,w,Z){let W=$.risk;if($.name==="bash"&&typeof w.input?.command==="string"){if(dH(w.input.command)==="dangerous")W="dangerous"}if(this.auto||W==="read"||W==="modify"&&this.#$.has($.name))return{allowed:!0,risk:W};if(!this.prompt)return{allowed:!1,risk:W};let X=await this.prompt($,w,W,Z);if(X==="allow_session"&&W!=="dangerous")this.#$.add($.name);return{allowed:X!=="deny",risk:W}}}function I($,w,Z,W,X){if(W==="m")throw TypeError("Private method is not writable");if(W==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof w==="function"?$!==w||!X:!w.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call($,Z):X?X.value=Z:w.set($,Z),Z}function F($,w,Z,W){if(Z==="a"&&!W)throw TypeError("Private accessor was defined without a getter");if(typeof w==="function"?$!==w||!W:!w.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return Z==="m"?W:Z==="a"?W.call($):W?W.value:w.get($)}var U5=function(){let{crypto:$}=globalThis;if($?.randomUUID)return U5=$.randomUUID.bind($),$.randomUUID();let w=new Uint8Array(1),Z=$?()=>$.getRandomValues(w)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(W)=>(+W^Z()&15>>+W/4).toString(16))};function z$($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var ow=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let w=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)w.stack=$.stack;if($.cause&&!w.cause)w.cause=$.cause;if($.name)w.name=$.name;return w}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};class y extends Error{}class Z0 extends y{constructor($,w,Z,W){super(`${Z0.makeMessage($,w,Z)}`);this.status=$,this.headers=W,this.requestID=W?.get("request-id"),this.error=w}static makeMessage($,w,Z){let W=w?.message?typeof w.message==="string"?w.message:JSON.stringify(w.message):w?JSON.stringify(w):Z;if($&&W)return`${$} ${W}`;if($)return`${$} status code (no body)`;if(W)return W;return"(no status code or body)"}static generate($,w,Z,W){if(!$||!W)return new Y1({message:Z,cause:ow(w)});let X=w;if($===400)return new $9($,X,Z,W);if($===401)return new w9($,X,Z,W);if($===403)return new Z9($,X,Z,W);if($===404)return new W9($,X,Z,W);if($===409)return new X9($,X,Z,W);if($===422)return new Y9($,X,Z,W);if($===429)return new G9($,X,Z,W);if($>=500)return new J9($,X,Z,W);return new Z0($,X,Z,W)}}class B0 extends Z0{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class Y1 extends Z0{constructor({message:$,cause:w}){super(void 0,void 0,$||"Connection error.",void 0);if(w)this.cause=w}}class ew extends Y1{constructor({message:$}={}){super({message:$??"Request timed out."})}}class $9 extends Z0{}class w9 extends Z0{}class Z9 extends Z0{}class W9 extends Z0{}class X9 extends Z0{}class Y9 extends Z0{}class G9 extends Z0{}class J9 extends Z0{}var nH=/^[a-z][a-z0-9+.-]*:/i,VJ=($)=>{return nH.test($)},H5=($)=>(H5=Array.isArray,H5($)),F5=H5;function O5($){if(typeof $!=="object")return{};return $??{}}function PJ($){if(!$)return!0;for(let w in $)return!1;return!0}function qJ($,w){return Object.prototype.hasOwnProperty.call($,w)}var UJ=($,w)=>{if(typeof w!=="number"||!Number.isInteger(w))throw new y(`${$} must be an integer`);if(w<0)throw new y(`${$} must be a positive integer`);return w};var y8=($)=>{try{return JSON.parse($)}catch(w){return}};var HJ=($)=>new Promise((w)=>setTimeout(w,$));var b$="0.61.0";var LJ=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function tH(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}var rH=()=>{let $=tH();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":b$,"X-Stainless-OS":OJ(Deno.build.os),"X-Stainless-Arch":FJ(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":b$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":b$,"X-Stainless-OS":OJ(globalThis.process.platform??"unknown"),"X-Stainless-Arch":FJ(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let w=sH();if(w)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":b$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${w.browser}`,"X-Stainless-Runtime-Version":w.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":b$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function sH(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:w,pattern:Z}of $){let W=Z.exec(navigator.userAgent);if(W){let X=W[1]||0,Y=W[2]||0,G=W[3]||0;return{browser:w,version:`${X}.${Y}.${G}`}}}return null}var FJ=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},OJ=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},EJ,DJ=()=>{return EJ??(EJ=rH())};function fJ(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function E5(...$){let w=globalThis.ReadableStream;if(typeof w>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new w(...$)}function b8($){let w=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return E5({start(){},async pull(Z){let{done:W,value:X}=await w.next();if(W)Z.close();else Z.enqueue(X)},async cancel(){await w.return?.()}})}function Q9($){if($[Symbol.asyncIterator])return $;let w=$.getReader();return{async next(){try{let Z=await w.read();if(Z?.done)w.releaseLock();return Z}catch(Z){throw w.releaseLock(),Z}},async return(){let Z=w.cancel();return w.releaseLock(),await Z,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function kJ($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let w=$.getReader(),Z=w.cancel();w.releaseLock(),await Z}var AJ=({headers:$,body:w})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(w)}};function CJ($){let w=0;for(let X of $)w+=X.length;let Z=new Uint8Array(w),W=0;for(let X of $)Z.set(X,W),W+=X.length;return Z}var SJ;function z9($){let w;return(SJ??(w=new globalThis.TextEncoder,SJ=w.encode.bind(w)))($)}var RJ;function L5($){let w;return(RJ??(w=new globalThis.TextDecoder,RJ=w.decode.bind(w)))($)}var S0,R0;class x${constructor(){S0.set(this,void 0),R0.set(this,void 0),I(this,S0,new Uint8Array,"f"),I(this,R0,null,"f")}decode($){if($==null)return[];let w=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?z9($):$;I(this,S0,CJ([F(this,S0,"f"),w]),"f");let Z=[],W;while((W=eH(F(this,S0,"f"),F(this,R0,"f")))!=null){if(W.carriage&&F(this,R0,"f")==null){I(this,R0,W.index,"f");continue}if(F(this,R0,"f")!=null&&(W.index!==F(this,R0,"f")+1||W.carriage)){Z.push(L5(F(this,S0,"f").subarray(0,F(this,R0,"f")-1))),I(this,S0,F(this,S0,"f").subarray(F(this,R0,"f")),"f"),I(this,R0,null,"f");continue}let X=F(this,R0,"f")!==null?W.preceding-1:W.preceding,Y=L5(F(this,S0,"f").subarray(0,X));Z.push(Y),I(this,S0,F(this,S0,"f").subarray(W.index),"f"),I(this,R0,null,"f")}return Z}flush(){if(!F(this,S0,"f").length)return[];return this.decode(`
71
- `)}}S0=new WeakMap,R0=new WeakMap;x$.NEWLINE_CHARS=new Set([`
72
- `,"\r"]);x$.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function eH($,w){for(let X=w??0;X<$.length;X++){if($[X]===10)return{preceding:X,index:X+1,carriage:!1};if($[X]===13)return{preceding:X,index:X+1,carriage:!0}}return null}function jJ($){for(let W=0;W<$.length-1;W++){if($[W]===10&&$[W+1]===10)return W+2;if($[W]===13&&$[W+1]===13)return W+2;if($[W]===13&&$[W+1]===10&&W+3<$.length&&$[W+2]===13&&$[W+3]===10)return W+4}return-1}var _8={off:0,error:200,warn:300,info:400,debug:500},D5=($,w,Z)=>{if(!$)return;if(qJ(_8,$))return $;J0(Z).warn(`${w} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(_8))}`);return};function M9(){}function x8($,w,Z){if(!w||_8[$]>_8[Z])return M9;else return w[$].bind(w)}var $F={error:M9,warn:M9,info:M9,debug:M9},IJ=new WeakMap;function J0($){let w=$.logger,Z=$.logLevel??"off";if(!w)return $F;let W=IJ.get(w);if(W&&W[0]===Z)return W[1];let X={error:x8("error",w,Z),warn:x8("warn",w,Z),info:x8("info",w,Z),debug:x8("debug",w,Z)};return IJ.set(w,[Z,X]),X}var M$=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([w,Z])=>[w,w.toLowerCase()==="x-api-key"||w.toLowerCase()==="authorization"||w.toLowerCase()==="cookie"||w.toLowerCase()==="set-cookie"?"***":Z]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var T9;class C0{constructor($,w,Z){this.iterator=$,T9.set(this,void 0),this.controller=w,I(this,T9,Z,"f")}static fromSSEResponse($,w,Z){let W=!1,X=Z?J0(Z):console;async function*Y(){if(W)throw new y("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");W=!0;let G=!1;try{for await(let J of wF($,w)){if(J.event==="completion")try{yield JSON.parse(J.data)}catch(Q){throw X.error("Could not parse message into JSON:",J.data),X.error("From chunk:",J.raw),Q}if(J.event==="message_start"||J.event==="message_delta"||J.event==="message_stop"||J.event==="content_block_start"||J.event==="content_block_delta"||J.event==="content_block_stop")try{yield JSON.parse(J.data)}catch(Q){throw X.error("Could not parse message into JSON:",J.data),X.error("From chunk:",J.raw),Q}if(J.event==="ping")continue;if(J.event==="error")throw new Z0(void 0,y8(J.data)??J.data,void 0,$.headers)}G=!0}catch(J){if(z$(J))return;throw J}finally{if(!G)w.abort()}}return new C0(Y,w,Z)}static fromReadableStream($,w,Z){let W=!1;async function*X(){let G=new x$,J=Q9($);for await(let Q of J)for(let z of G.decode(Q))yield z;for(let Q of G.flush())yield Q}async function*Y(){if(W)throw new y("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");W=!0;let G=!1;try{for await(let J of X()){if(G)continue;if(J)yield JSON.parse(J)}G=!0}catch(J){if(z$(J))return;throw J}finally{if(!G)w.abort()}}return new C0(Y,w,Z)}[(T9=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],w=[],Z=this.iterator(),W=(X)=>{return{next:()=>{if(X.length===0){let Y=Z.next();$.push(Y),w.push(Y)}return X.shift()}}};return[new C0(()=>W($),this.controller,F(this,T9,"f")),new C0(()=>W(w),this.controller,F(this,T9,"f"))]}toReadableStream(){let $=this,w;return E5({async start(){w=$[Symbol.asyncIterator]()},async pull(Z){try{let{value:W,done:X}=await w.next();if(X)return Z.close();let Y=z9(JSON.stringify(W)+`
73
- `);Z.enqueue(Y)}catch(W){Z.error(W)}},async cancel(){await w.return?.()}})}}async function*wF($,w){if(!$.body){if(w.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new y("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new y("Attempted to iterate over a response with no body")}let Z=new yJ,W=new x$,X=Q9($.body);for await(let Y of ZF(X))for(let G of W.decode(Y)){let J=Z.decode(G);if(J)yield J}for(let Y of W.flush()){let G=Z.decode(Y);if(G)yield G}}async function*ZF($){let w=new Uint8Array;for await(let Z of $){if(Z==null)continue;let W=Z instanceof ArrayBuffer?new Uint8Array(Z):typeof Z==="string"?z9(Z):Z,X=new Uint8Array(w.length+W.length);X.set(w),X.set(W,w.length),w=X;let Y;while((Y=jJ(w))!==-1)yield w.slice(0,Y),w=w.slice(Y)}if(w.length>0)yield w}class yJ{constructor(){this.event=null,this.data=[],this.chunks=[]}decode($){if($.endsWith("\r"))$=$.substring(0,$.length-1);if(!$){if(!this.event&&!this.data.length)return null;let X={event:this.event,data:this.data.join(`
74
- `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],X}if(this.chunks.push($),$.startsWith(":"))return null;let[w,Z,W]=WF($,":");if(W.startsWith(" "))W=W.substring(1);if(w==="event")this.event=W;else if(w==="data")this.data.push(W);return null}}function WF($,w){let Z=$.indexOf(w);if(Z!==-1)return[$.substring(0,Z),w,$.substring(Z+w.length)];return[$,"",""]}async function g8($,w){let{response:Z,requestLogID:W,retryOfRequestLogID:X,startTime:Y}=w,G=await(async()=>{if(w.options.stream){if(J0($).debug("response",Z.status,Z.url,Z.headers,Z.body),w.options.__streamClass)return w.options.__streamClass.fromSSEResponse(Z,w.controller);return C0.fromSSEResponse(Z,w.controller)}if(Z.status===204)return null;if(w.options.__binaryResponse)return Z;let Q=Z.headers.get("content-type")?.split(";")[0]?.trim();if(Q?.includes("application/json")||Q?.endsWith("+json")){let T=await Z.json();return f5(T,Z)}return await Z.text()})();return J0($).debug(`[${W}] response parsed`,M$({retryOfRequestLogID:X,url:Z.url,status:Z.status,body:G,durationMs:Date.now()-Y})),G}function f5($,w){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:w.headers.get("request-id"),enumerable:!1})}var N9;class G1 extends Promise{constructor($,w,Z=g8){super((W)=>{W(null)});this.responsePromise=w,this.parseResponse=Z,N9.set(this,void 0),I(this,N9,$,"f")}_thenUnwrap($){return new G1(F(this,N9,"f"),this.responsePromise,async(w,Z)=>f5($(await this.parseResponse(w,Z),Z),Z.response))}asResponse(){return this.responsePromise.then(($)=>$.response)}async withResponse(){let[$,w]=await Promise.all([this.parse(),this.asResponse()]);return{data:$,response:w,request_id:w.headers.get("request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(($)=>this.parseResponse(F(this,N9,"f"),$));return this.parsedPromise}then($,w){return this.parse().then($,w)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}}N9=new WeakMap;var v8;class bJ{constructor($,w,Z,W){v8.set(this,void 0),I(this,v8,$,"f"),this.options=W,this.response=w,this.body=Z}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageRequestOptions()!=null}async getNextPage(){let $=this.nextPageRequestOptions();if(!$)throw new y("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await F(this,v8,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(v8=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let w of $.getPaginatedItems())yield w}}class u8 extends G1{constructor($,w,Z){super($,w,async(W,X)=>new Z(W,X.response,await g8(W,X),X.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let w of $)yield w}}class d0 extends bJ{constructor($,w,Z,W){super($,w,Z,W);this.data=Z.data||[],this.has_more=Z.has_more||!1,this.first_id=Z.first_id||null,this.last_id=Z.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let w=this.first_id;if(!w)return null;return{...this.options,query:{...O5(this.options.query),before_id:w}}}let $=this.last_id;if(!$)return null;return{...this.options,query:{...O5(this.options.query),after_id:$}}}}var A5=()=>{if(typeof File>"u"){let{process:$}=globalThis,w=typeof $?.versions?.node==="string"&&parseInt($.versions.node.split("."))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(w?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function J1($,w,Z){return A5(),new File($,w??"unknown_file",Z)}function K9($){return(typeof $==="object"&&$!==null&&(("name"in $)&&$.name&&String($.name)||("url"in $)&&$.url&&String($.url)||("filename"in $)&&$.filename&&String($.filename)||("path"in $)&&$.path&&String($.path))||"").split(/[\\/]/).pop()||void 0}var S5=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function";var _J=async($,w)=>{return{...$,body:await GF($.body,w)}},xJ=new WeakMap;function YF($){let w=typeof $==="function"?$:$.fetch,Z=xJ.get(w);if(Z)return Z;let W=(async()=>{try{let X="Response"in w?w.Response:(await w("data:,")).constructor,Y=new FormData;if(Y.toString()===await new X(Y).text())return!1;return!0}catch{return!0}})();return xJ.set(w,W),W}var GF=async($,w)=>{if(!await YF(w))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let Z=new FormData;return await Promise.all(Object.entries($||{}).map(([W,X])=>k5(Z,W,X))),Z},JF=($)=>$ instanceof Blob&&("name"in $);var k5=async($,w,Z)=>{if(Z===void 0)return;if(Z==null)throw TypeError(`Received null for "${w}"; to pass null in FormData, you must use the string 'null'`);if(typeof Z==="string"||typeof Z==="number"||typeof Z==="boolean")$.append(w,String(Z));else if(Z instanceof Response){let W={},X=Z.headers.get("Content-Type");if(X)W={type:X};$.append(w,J1([await Z.blob()],K9(Z),W))}else if(S5(Z))$.append(w,J1([await new Response(b8(Z)).blob()],K9(Z)));else if(JF(Z))$.append(w,J1([Z],K9(Z),{type:Z.type}));else if(Array.isArray(Z))await Promise.all(Z.map((W)=>k5($,w+"[]",W)));else if(typeof Z==="object")await Promise.all(Object.entries(Z).map(([W,X])=>k5($,`${w}[${W}]`,X)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${Z} instead`)};var gJ=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",QF=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&gJ($),zF=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";async function h8($,w,Z){if(A5(),$=await $,w||(w=K9($)),QF($)){if($ instanceof File&&w==null&&Z==null)return $;return J1([await $.arrayBuffer()],w??$.name,{type:$.type,lastModified:$.lastModified,...Z})}if(zF($)){let X=await $.blob();return w||(w=new URL($.url).pathname.split(/[\\/]/).pop()),J1(await R5(X),w,Z)}let W=await R5($);if(!Z?.type){let X=W.find((Y)=>typeof Y==="object"&&("type"in Y)&&Y.type);if(typeof X==="string")Z={...Z,type:X}}return J1(W,w,Z)}async function R5($){let w=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)w.push($);else if(gJ($))w.push($ instanceof Blob?$:await $.arrayBuffer());else if(S5($))for await(let Z of $)w.push(...await R5(Z));else{let Z=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${Z?`; constructor: ${Z}`:""}${MF($)}`)}return w}function MF($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((Z)=>`"${Z}"`).join(", ")}]`}class W0{constructor($){this._client=$}}var vJ=Symbol.for("brand.privateNullableHeaders");function*NF($){if(!$)return;if(vJ in $){let{values:W,nulls:X}=$;yield*W.entries();for(let Y of X)yield[Y,null];return}let w=!1,Z;if($ instanceof Headers)Z=$.entries();else if(F5($))Z=$;else w=!0,Z=Object.entries($??{});for(let W of Z){let X=W[0];if(typeof X!=="string")throw TypeError("expected header name to be a string");let Y=F5(W[1])?W[1]:[W[1]],G=!1;for(let J of Y){if(J===void 0)continue;if(w&&!G)G=!0,yield[X,null];yield[X,J]}}}var d=($)=>{let w=new Headers,Z=new Set;for(let W of $){let X=new Set;for(let[Y,G]of NF(W)){let J=Y.toLowerCase();if(!X.has(J))w.delete(Y),X.add(J);if(G===null)w.delete(Y),Z.add(J);else w.append(Y,G),Z.delete(J)}}return{[vJ]:!0,values:w,nulls:Z}};function hJ($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var uJ=Object.freeze(Object.create(null)),KF=($=hJ)=>function(Z,...W){if(Z.length===1)return Z[0];let X=!1,Y=[],G=Z.reduce((M,T,N)=>{if(/[?#]/.test(T))X=!0;let K=W[N],B=(X?encodeURIComponent:$)(""+K);if(N!==W.length&&(K==null||typeof K==="object"&&K.toString===Object.getPrototypeOf(Object.getPrototypeOf(K.hasOwnProperty??uJ)??uJ)?.toString))B=K+"",Y.push({start:M.length+T.length,length:B.length,error:`Value of type ${Object.prototype.toString.call(K).slice(8,-1)} is not a valid path parameter`});return M+T+(N===W.length?"":B)},""),J=G.split(/[?#]/,1)[0],Q=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,z;while((z=Q.exec(J))!==null)Y.push({start:z.index,length:z[0].length,error:`Value "${z[0]}" can't be safely passed as a path parameter`});if(Y.sort((M,T)=>M.start-T.start),Y.length>0){let M=0,T=Y.reduce((N,K)=>{let B=" ".repeat(K.start-M),P="^".repeat(K.length);return M=K.start+K.length,N+B+P},"");throw new y(`Path parameters result in path with invalid segments:
151
+ `)}toolStatus($,w=!1){let W=this.stderr.columns??80,Z=Yw(X0($),W);this.stderr.write(`${w?G$.default.red(Z):G$.default.dim(Z)}
152
+ `)}startProviderAttempt(){this.endProviderAttempt(),this.providerStartedAt=Date.now(),this.startSpinner()}endProviderAttempt(){this.stopSpinner(),this.clearToolCallPreviews(),this.markdown.reset(),this.providerStartedAt=void 0,this.reasoningText="",this.contentStarted=!1}finishThinking(){let $=this.providerStartedAt,w=Boolean(this.normalizedReasoning());if(this.clearToolCallPreviews(),this.stopSpinner(),this.contentStarted=!0,this.tty&&$!==void 0&&w){let W=((Date.now()-$)/1000).toFixed(1);this.stderr.write(`${G$.default.dim(`thought for ${W}s`)}
153
+ `)}}normalizedReasoning(){return this.reasoningText.replace(/\s+/g," ").trim()}startToolCallPreview($,w){this.toolCallPreviews.set($,{name:w,argumentsText:""}),this.activeToolCallIndex=$,this.startSpinner(),this.renderActivityLine()}appendToolCallPreview($,w){let W=this.toolCallPreviews.get($);if(!W)return;W.argumentsText+=w,this.activeToolCallIndex=$,this.renderActivityLine()}endToolCallPreview($){if(!this.toolCallPreviews.delete($))return;if(this.activeToolCallIndex===$)this.activeToolCallIndex=[...this.toolCallPreviews.keys()].at(-1);if(this.activeToolCallIndex===void 0&&this.contentStarted){this.stopSpinner();return}this.renderActivityLine()}clearToolCallPreviews(){this.toolCallPreviews.clear(),this.activeToolCallIndex=void 0}renderActivityLine(){if(!this.tty||this.providerStartedAt===void 0)return;let $=this.stderr.columns??80,w=Math.max(0,$-2),W=kT[this.frame++%kT.length]??"",Z=this.currentActivityText(w);Gw.clearLine(this.stderr,0),Gw.cursorTo(this.stderr,0),this.stderr.write(G$.default.dim(`${W} ${Z}`))}currentActivityText($){let w=this.activeToolCallIndex===void 0?void 0:this.toolCallPreviews.get(this.activeToolCallIndex);if(w){let Z=`preparing ${w.name}…`,X=w.argumentsText.replace(/\s+/g," ").trim();if(!X)return this.truncateTail(Z,$);let Y=Math.max(0,$-F4(Z)-1);if(Y===0)return this.truncateTail(Z,$);return`${Z} ${this.truncateTail(X,Y)}`}if(this.contentStarted){let Z=this.markdown.preview();return Z===void 0?"rendering…":this.truncateTail(Z,$)}let W=this.normalizedReasoning();return W?this.truncateTail(W,$):"thinking"}truncateTail($,w){return Yw($,w,"tail")}startSpinner(){if(!this.tty||this.spinner){if(!this.tty&&this.options.verbose)this.status("requesting model");return}this.spinner=setInterval(()=>{this.renderActivityLine()},80)}clearActivityLine(){if(!this.tty)return;Gw.clearLine(this.stderr,0),Gw.cursorTo(this.stderr,0)}stopSpinner(){if(!this.spinner)return;clearInterval(this.spinner),this.spinner=void 0,this.clearActivityLine()}dispose(){this.endProviderAttempt()}}function T6($){let w=$.data??{},W=V1(w.scope),Z=V1(w.packageName),X=V1(w.version??w.diskVersion),Y=V1(w.name),G=V1(w.path),J=V1(w.source);if(Z)return`${W?`${W} `:""}${Z}${X?`@${X}`:""}`;if(Y)return Y;if(G)return`${W?`${W} `:""}${G}`;if(J)return J;return"plugin"}function XZ($){let w=V1($.data?.message??$.data?.reason);return w?` ${w}`:""}function V1($){return typeof $==="string"&&$.length>0?$:void 0}import{appendFile as TO,chmod as AT,mkdir as QO}from"node:fs/promises";import MO from"node:path";class GZ{file;shouldPersist;#$=Promise.resolve();#w=[];constructor($,w,W=()=>!0){this.file=$;this.shouldPersist=W;w.on((Z)=>this.write(Z))}write($){if(!this.shouldPersist())return this.#w.push($),Promise.resolve();let w=[...this.#w.splice(0),$],W=this.#$.then(async()=>{let Z=MO.dirname(this.file);await QO(Z,{recursive:!0,mode:448}),await AT(Z,448),await TO(this.file,`${w.map((X)=>JSON.stringify(X)).join(`
154
+ `)}
155
+ `,{encoding:"utf8",mode:384}),await AT(this.file,384)});return this.#$=W.catch(()=>{}),W}async flush(){await this.#$}}var zO=[/\brm\s+(?:-[^\s]*r[^\s]*\s+|--recursive\b)/i,/\bsudo\b/i,/\bgit\b[^;&|\n]*\breset\s+--hard\b/i,/\bgit\b[^;&|\n]*\bclean\s+(?:-[^\s]*f[^\s]*|--force)\b/i,/\bgit\b[^;&|\n]*\bpush\b[^;&|\n]*(?:--force(?:-with-lease)?|-f)\b/i,/\bgit\b[^;&|\n]*\bcheckout\s+--\s/i,/\bgit\b[^;&|\n]*\brestore\b/i,/\b(?:mkfs|fdisk|dd)\b/i,/\b(?:killall|pkill)\b/i,/(?:curl|wget)[^|;&]*(?:\||&&)\s*(?:sh|bash)\b/i,/(?:^|\s)(?:\/etc|\/usr|\/bin|\/sbin)\//];function NO($){return zO.some((w)=>w.test($))?"dangerous":"modify"}class JZ{auto;prompt;#$=new Set;constructor($,w){this.auto=$;this.prompt=w}async authorize($,w,W){let Z=$.risk;if($.name==="bash"&&typeof w.input?.command==="string"){if(NO(w.input.command)==="dangerous")Z="dangerous"}if(this.auto||Z==="read"||Z==="modify"&&this.#$.has($.name))return{allowed:!0,risk:Z};if(!this.prompt)return{allowed:!1,risk:Z};let X=await this.prompt($,w,Z,W);if(X==="allow_session"&&Z!=="dangerous")this.#$.add($.name);return{allowed:X!=="deny",risk:Z}}}function I($,w,W,Z,X){if(Z==="m")throw TypeError("Private method is not writable");if(Z==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof w==="function"?$!==w||!X:!w.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Z==="a"?X.call($,W):X?X.value=W:w.set($,W),W}function F($,w,W,Z){if(W==="a"&&!Z)throw TypeError("Private accessor was defined without a getter");if(typeof w==="function"?$!==w||!Z:!w.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return W==="m"?Z:W==="a"?Z.call($):Z?Z.value:w.get($)}var TZ=function(){let{crypto:$}=globalThis;if($?.randomUUID)return TZ=$.randomUUID.bind($),$.randomUUID();let w=new Uint8Array(1),W=$?()=>$.getRandomValues(w)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(Z)=>(+Z^W()&15>>+Z/4).toString(16))};function U$($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var L4=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let w=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)w.stack=$.stack;if($.cause&&!w.cause)w.cause=$.cause;if($.name)w.name=$.name;return w}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};class b extends Error{}class G0 extends b{constructor($,w,W,Z){super(`${G0.makeMessage($,w,W)}`);this.status=$,this.headers=Z,this.requestID=Z?.get("request-id"),this.error=w}static makeMessage($,w,W){let Z=w?.message?typeof w.message==="string"?w.message:JSON.stringify(w.message):w?JSON.stringify(w):W;if($&&Z)return`${$} ${Z}`;if($)return`${$} status code (no body)`;if(Z)return Z;return"(no status code or body)"}static generate($,w,W,Z){if(!$||!Z)return new f1({message:W,cause:L4(w)});let X=w;if($===400)return new k4($,X,W,Z);if($===401)return new A4($,X,W,Z);if($===403)return new S4($,X,W,Z);if($===404)return new R4($,X,W,Z);if($===409)return new C4($,X,W,Z);if($===422)return new j4($,X,W,Z);if($===429)return new y4($,X,W,Z);if($>=500)return new I4($,X,W,Z);return new G0($,X,W,Z)}}class q0 extends G0{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class f1 extends G0{constructor({message:$,cause:w}){super(void 0,void 0,$||"Connection error.",void 0);if(w)this.cause=w}}class D4 extends f1{constructor({message:$}={}){super({message:$??"Request timed out."})}}class k4 extends G0{}class A4 extends G0{}class S4 extends G0{}class R4 extends G0{}class C4 extends G0{}class j4 extends G0{}class y4 extends G0{}class I4 extends G0{}var BO=/^[a-z][a-z0-9+.-]*:/i,ST=($)=>{return BO.test($)},QZ=($)=>(QZ=Array.isArray,QZ($)),MZ=QZ;function zZ($){if(typeof $!=="object")return{};return $??{}}function RT($){if(!$)return!0;for(let w in $)return!1;return!0}function CT($,w){return Object.prototype.hasOwnProperty.call($,w)}var jT=($,w)=>{if(typeof w!=="number"||!Number.isInteger(w))throw new b(`${$} must be an integer`);if(w<0)throw new b(`${$} must be a positive integer`);return w};var Q6=($)=>{try{return JSON.parse($)}catch(w){return}};var yT=($)=>new Promise((w)=>setTimeout(w,$));var l$="0.61.0";var _T=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function PO(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}var VO=()=>{let $=PO();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":l$,"X-Stainless-OS":bT(Deno.build.os),"X-Stainless-Arch":IT(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":l$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":l$,"X-Stainless-OS":bT(globalThis.process.platform??"unknown"),"X-Stainless-Arch":IT(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let w=fO();if(w)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":l$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${w.browser}`,"X-Stainless-Runtime-Version":w.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":l$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function fO(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:w,pattern:W}of $){let Z=W.exec(navigator.userAgent);if(Z){let X=Z[1]||0,Y=Z[2]||0,G=Z[3]||0;return{browser:w,version:`${X}.${Y}.${G}`}}}return null}var IT=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},bT=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},xT,gT=()=>{return xT??(xT=VO())};function vT(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function NZ(...$){let w=globalThis.ReadableStream;if(typeof w>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new w(...$)}function M6($){let w=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return NZ({start(){},async pull(W){let{done:Z,value:X}=await w.next();if(Z)W.close();else W.enqueue(X)},async cancel(){await w.return?.()}})}function b4($){if($[Symbol.asyncIterator])return $;let w=$.getReader();return{async next(){try{let W=await w.read();if(W?.done)w.releaseLock();return W}catch(W){throw w.releaseLock(),W}},async return(){let W=w.cancel();return w.releaseLock(),await W,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function uT($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let w=$.getReader(),W=w.cancel();w.releaseLock(),await W}var hT=({headers:$,body:w})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(w)}};function lT($){let w=0;for(let X of $)w+=X.length;let W=new Uint8Array(w),Z=0;for(let X of $)W.set(X,Z),Z+=X.length;return W}var iT;function x4($){let w;return(iT??(w=new globalThis.TextEncoder,iT=w.encode.bind(w)))($)}var mT;function KZ($){let w;return(mT??(w=new globalThis.TextDecoder,mT=w.decode.bind(w)))($)}var y0,I0;class c${constructor(){y0.set(this,void 0),I0.set(this,void 0),I(this,y0,new Uint8Array,"f"),I(this,I0,null,"f")}decode($){if($==null)return[];let w=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?x4($):$;I(this,y0,lT([F(this,y0,"f"),w]),"f");let W=[],Z;while((Z=HO(F(this,y0,"f"),F(this,I0,"f")))!=null){if(Z.carriage&&F(this,I0,"f")==null){I(this,I0,Z.index,"f");continue}if(F(this,I0,"f")!=null&&(Z.index!==F(this,I0,"f")+1||Z.carriage)){W.push(KZ(F(this,y0,"f").subarray(0,F(this,I0,"f")-1))),I(this,y0,F(this,y0,"f").subarray(F(this,I0,"f")),"f"),I(this,I0,null,"f");continue}let X=F(this,I0,"f")!==null?Z.preceding-1:Z.preceding,Y=KZ(F(this,y0,"f").subarray(0,X));W.push(Y),I(this,y0,F(this,y0,"f").subarray(Z.index),"f"),I(this,I0,null,"f")}return W}flush(){if(!F(this,y0,"f").length)return[];return this.decode(`
156
+ `)}}y0=new WeakMap,I0=new WeakMap;c$.NEWLINE_CHARS=new Set([`
157
+ `,"\r"]);c$.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function HO($,w){for(let X=w??0;X<$.length;X++){if($[X]===10)return{preceding:X,index:X+1,carriage:!1};if($[X]===13)return{preceding:X,index:X+1,carriage:!0}}return null}function cT($){for(let Z=0;Z<$.length-1;Z++){if($[Z]===10&&$[Z+1]===10)return Z+2;if($[Z]===13&&$[Z+1]===13)return Z+2;if($[Z]===13&&$[Z+1]===10&&Z+3<$.length&&$[Z+2]===13&&$[Z+3]===10)return Z+4}return-1}var N6={off:0,error:200,warn:300,info:400,debug:500},BZ=($,w,W)=>{if(!$)return;if(CT(N6,$))return $;z0(W).warn(`${w} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(N6))}`);return};function _4(){}function z6($,w,W){if(!w||N6[$]>N6[W])return _4;else return w[$].bind(w)}var FO={error:_4,warn:_4,info:_4,debug:_4},dT=new WeakMap;function z0($){let w=$.logger,W=$.logLevel??"off";if(!w)return FO;let Z=dT.get(w);if(Z&&Z[0]===W)return Z[1];let X={error:z6("error",w,W),warn:z6("warn",w,W),info:z6("info",w,W),debug:z6("debug",w,W)};return dT.set(w,[W,X]),X}var H$=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([w,W])=>[w,w.toLowerCase()==="x-api-key"||w.toLowerCase()==="authorization"||w.toLowerCase()==="cookie"||w.toLowerCase()==="set-cookie"?"***":W]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var g4;class b0{constructor($,w,W){this.iterator=$,g4.set(this,void 0),this.controller=w,I(this,g4,W,"f")}static fromSSEResponse($,w,W){let Z=!1,X=W?z0(W):console;async function*Y(){if(Z)throw new b("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Z=!0;let G=!1;try{for await(let J of OO($,w)){if(J.event==="completion")try{yield JSON.parse(J.data)}catch(T){throw X.error("Could not parse message into JSON:",J.data),X.error("From chunk:",J.raw),T}if(J.event==="message_start"||J.event==="message_delta"||J.event==="message_stop"||J.event==="content_block_start"||J.event==="content_block_delta"||J.event==="content_block_stop")try{yield JSON.parse(J.data)}catch(T){throw X.error("Could not parse message into JSON:",J.data),X.error("From chunk:",J.raw),T}if(J.event==="ping")continue;if(J.event==="error")throw new G0(void 0,Q6(J.data)??J.data,void 0,$.headers)}G=!0}catch(J){if(U$(J))return;throw J}finally{if(!G)w.abort()}}return new b0(Y,w,W)}static fromReadableStream($,w,W){let Z=!1;async function*X(){let G=new c$,J=b4($);for await(let T of J)for(let Q of G.decode(T))yield Q;for(let T of G.flush())yield T}async function*Y(){if(Z)throw new b("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Z=!0;let G=!1;try{for await(let J of X()){if(G)continue;if(J)yield JSON.parse(J)}G=!0}catch(J){if(U$(J))return;throw J}finally{if(!G)w.abort()}}return new b0(Y,w,W)}[(g4=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],w=[],W=this.iterator(),Z=(X)=>{return{next:()=>{if(X.length===0){let Y=W.next();$.push(Y),w.push(Y)}return X.shift()}}};return[new b0(()=>Z($),this.controller,F(this,g4,"f")),new b0(()=>Z(w),this.controller,F(this,g4,"f"))]}toReadableStream(){let $=this,w;return NZ({async start(){w=$[Symbol.asyncIterator]()},async pull(W){try{let{value:Z,done:X}=await w.next();if(X)return W.close();let Y=x4(JSON.stringify(Z)+`
158
+ `);W.enqueue(Y)}catch(Z){W.error(Z)}},async cancel(){await w.return?.()}})}}async function*OO($,w){if(!$.body){if(w.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new b("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new b("Attempted to iterate over a response with no body")}let W=new nT,Z=new c$,X=b4($.body);for await(let Y of EO(X))for(let G of Z.decode(Y)){let J=W.decode(G);if(J)yield J}for(let Y of Z.flush()){let G=W.decode(Y);if(G)yield G}}async function*EO($){let w=new Uint8Array;for await(let W of $){if(W==null)continue;let Z=W instanceof ArrayBuffer?new Uint8Array(W):typeof W==="string"?x4(W):W,X=new Uint8Array(w.length+Z.length);X.set(w),X.set(Z,w.length),w=X;let Y;while((Y=cT(w))!==-1)yield w.slice(0,Y),w=w.slice(Y)}if(w.length>0)yield w}class nT{constructor(){this.event=null,this.data=[],this.chunks=[]}decode($){if($.endsWith("\r"))$=$.substring(0,$.length-1);if(!$){if(!this.event&&!this.data.length)return null;let X={event:this.event,data:this.data.join(`
159
+ `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],X}if(this.chunks.push($),$.startsWith(":"))return null;let[w,W,Z]=LO($,":");if(Z.startsWith(" "))Z=Z.substring(1);if(w==="event")this.event=Z;else if(w==="data")this.data.push(Z);return null}}function LO($,w){let W=$.indexOf(w);if(W!==-1)return[$.substring(0,W),w,$.substring(W+w.length)];return[$,"",""]}async function K6($,w){let{response:W,requestLogID:Z,retryOfRequestLogID:X,startTime:Y}=w,G=await(async()=>{if(w.options.stream){if(z0($).debug("response",W.status,W.url,W.headers,W.body),w.options.__streamClass)return w.options.__streamClass.fromSSEResponse(W,w.controller);return b0.fromSSEResponse(W,w.controller)}if(W.status===204)return null;if(w.options.__binaryResponse)return W;let T=W.headers.get("content-type")?.split(";")[0]?.trim();if(T?.includes("application/json")||T?.endsWith("+json")){let z=await W.json();return PZ(z,W)}return await W.text()})();return z0($).debug(`[${Z}] response parsed`,H$({retryOfRequestLogID:X,url:W.url,status:W.status,body:G,durationMs:Date.now()-Y})),G}function PZ($,w){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:w.headers.get("request-id"),enumerable:!1})}var v4;class q1 extends Promise{constructor($,w,W=K6){super((Z)=>{Z(null)});this.responsePromise=w,this.parseResponse=W,v4.set(this,void 0),I(this,v4,$,"f")}_thenUnwrap($){return new q1(F(this,v4,"f"),this.responsePromise,async(w,W)=>PZ($(await this.parseResponse(w,W),W),W.response))}asResponse(){return this.responsePromise.then(($)=>$.response)}async withResponse(){let[$,w]=await Promise.all([this.parse(),this.asResponse()]);return{data:$,response:w,request_id:w.headers.get("request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(($)=>this.parseResponse(F(this,v4,"f"),$));return this.parsedPromise}then($,w){return this.parse().then($,w)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}}v4=new WeakMap;var B6;class pT{constructor($,w,W,Z){B6.set(this,void 0),I(this,B6,$,"f"),this.options=Z,this.response=w,this.body=W}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageRequestOptions()!=null}async getNextPage(){let $=this.nextPageRequestOptions();if(!$)throw new b("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await F(this,B6,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(B6=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let w of $.getPaginatedItems())yield w}}class P6 extends q1{constructor($,w,W){super($,w,async(Z,X)=>new W(Z,X.response,await K6(Z,X),X.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let w of $)yield w}}class e0 extends pT{constructor($,w,W,Z){super($,w,W,Z);this.data=W.data||[],this.has_more=W.has_more||!1,this.first_id=W.first_id||null,this.last_id=W.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let w=this.first_id;if(!w)return null;return{...this.options,query:{...zZ(this.options.query),before_id:w}}}let $=this.last_id;if(!$)return null;return{...this.options,query:{...zZ(this.options.query),after_id:$}}}}var fZ=()=>{if(typeof File>"u"){let{process:$}=globalThis,w=typeof $?.versions?.node==="string"&&parseInt($.versions.node.split("."))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(w?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function U1($,w,W){return fZ(),new File($,w??"unknown_file",W)}function u4($){return(typeof $==="object"&&$!==null&&(("name"in $)&&$.name&&String($.name)||("url"in $)&&$.url&&String($.url)||("filename"in $)&&$.filename&&String($.filename)||("path"in $)&&$.path&&String($.path))||"").split(/[\\/]/).pop()||void 0}var qZ=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function";var rT=async($,w)=>{return{...$,body:await AO($.body,w)}},tT=new WeakMap;function kO($){let w=typeof $==="function"?$:$.fetch,W=tT.get(w);if(W)return W;let Z=(async()=>{try{let X="Response"in w?w.Response:(await w("data:,")).constructor,Y=new FormData;if(Y.toString()===await new X(Y).text())return!1;return!0}catch{return!0}})();return tT.set(w,Z),Z}var AO=async($,w)=>{if(!await kO(w))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let W=new FormData;return await Promise.all(Object.entries($||{}).map(([Z,X])=>VZ(W,Z,X))),W},SO=($)=>$ instanceof Blob&&("name"in $);var VZ=async($,w,W)=>{if(W===void 0)return;if(W==null)throw TypeError(`Received null for "${w}"; to pass null in FormData, you must use the string 'null'`);if(typeof W==="string"||typeof W==="number"||typeof W==="boolean")$.append(w,String(W));else if(W instanceof Response){let Z={},X=W.headers.get("Content-Type");if(X)Z={type:X};$.append(w,U1([await W.blob()],u4(W),Z))}else if(qZ(W))$.append(w,U1([await new Response(M6(W)).blob()],u4(W)));else if(SO(W))$.append(w,U1([W],u4(W),{type:W.type}));else if(Array.isArray(W))await Promise.all(W.map((Z)=>VZ($,w+"[]",Z)));else if(typeof W==="object")await Promise.all(Object.entries(W).map(([Z,X])=>VZ($,`${w}[${Z}]`,X)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${W} instead`)};var sT=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",RO=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&sT($),CO=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";async function V6($,w,W){if(fZ(),$=await $,w||(w=u4($)),RO($)){if($ instanceof File&&w==null&&W==null)return $;return U1([await $.arrayBuffer()],w??$.name,{type:$.type,lastModified:$.lastModified,...W})}if(CO($)){let X=await $.blob();return w||(w=new URL($.url).pathname.split(/[\\/]/).pop()),U1(await UZ(X),w,W)}let Z=await UZ($);if(!W?.type){let X=Z.find((Y)=>typeof Y==="object"&&("type"in Y)&&Y.type);if(typeof X==="string")W={...W,type:X}}return U1(Z,w,W)}async function UZ($){let w=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)w.push($);else if(sT($))w.push($ instanceof Blob?$:await $.arrayBuffer());else if(qZ($))for await(let W of $)w.push(...await UZ(W));else{let W=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${W?`; constructor: ${W}`:""}${jO($)}`)}return w}function jO($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((W)=>`"${W}"`).join(", ")}]`}class J0{constructor($){this._client=$}}var aT=Symbol.for("brand.privateNullableHeaders");function*IO($){if(!$)return;if(aT in $){let{values:Z,nulls:X}=$;yield*Z.entries();for(let Y of X)yield[Y,null];return}let w=!1,W;if($ instanceof Headers)W=$.entries();else if(MZ($))W=$;else w=!0,W=Object.entries($??{});for(let Z of W){let X=Z[0];if(typeof X!=="string")throw TypeError("expected header name to be a string");let Y=MZ(Z[1])?Z[1]:[Z[1]],G=!1;for(let J of Y){if(J===void 0)continue;if(w&&!G)G=!0,yield[X,null];yield[X,J]}}}var n=($)=>{let w=new Headers,W=new Set;for(let Z of $){let X=new Set;for(let[Y,G]of IO(Z)){let J=Y.toLowerCase();if(!X.has(J))w.delete(Y),X.add(J);if(G===null)w.delete(Y),W.add(J);else w.append(Y,G),W.delete(J)}}return{[aT]:!0,values:w,nulls:W}};function eT($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var oT=Object.freeze(Object.create(null)),bO=($=eT)=>function(W,...Z){if(W.length===1)return W[0];let X=!1,Y=[],G=W.reduce((M,z,N)=>{if(/[?#]/.test(z))X=!0;let B=Z[N],K=(X?encodeURIComponent:$)(""+B);if(N!==Z.length&&(B==null||typeof B==="object"&&B.toString===Object.getPrototypeOf(Object.getPrototypeOf(B.hasOwnProperty??oT)??oT)?.toString))K=B+"",Y.push({start:M.length+z.length,length:K.length,error:`Value of type ${Object.prototype.toString.call(B).slice(8,-1)} is not a valid path parameter`});return M+z+(N===Z.length?"":K)},""),J=G.split(/[?#]/,1)[0],T=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,Q;while((Q=T.exec(J))!==null)Y.push({start:Q.index,length:Q[0].length,error:`Value "${Q[0]}" can't be safely passed as a path parameter`});if(Y.sort((M,z)=>M.start-z.start),Y.length>0){let M=0,z=Y.reduce((N,B)=>{let K=" ".repeat(B.start-M),P="^".repeat(B.length);return M=B.start+B.length,N+K+P},"");throw new b(`Path parameters result in path with invalid segments:
75
160
  ${Y.map((N)=>N.error).join(`
76
161
  `)}
77
162
  ${G}
78
- ${T}`)}return G},V0=KF(hJ);class B9 extends W0{list($={},w){let{betas:Z,...W}=$??{};return this._client.getAPIList("/v1/files",d0,{query:W,...w,headers:d([{"anthropic-beta":[...Z??[],"files-api-2025-04-14"].toString()},w?.headers])})}delete($,w={},Z){let{betas:W}=w??{};return this._client.delete(V0`/v1/files/${$}`,{...Z,headers:d([{"anthropic-beta":[...W??[],"files-api-2025-04-14"].toString()},Z?.headers])})}download($,w={},Z){let{betas:W}=w??{};return this._client.get(V0`/v1/files/${$}/content`,{...Z,headers:d([{"anthropic-beta":[...W??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},Z?.headers]),__binaryResponse:!0})}retrieveMetadata($,w={},Z){let{betas:W}=w??{};return this._client.get(V0`/v1/files/${$}`,{...Z,headers:d([{"anthropic-beta":[...W??[],"files-api-2025-04-14"].toString()},Z?.headers])})}upload($,w){let{betas:Z,...W}=$;return this._client.post("/v1/files",_J({body:W,...w,headers:d([{"anthropic-beta":[...Z??[],"files-api-2025-04-14"].toString()},w?.headers])},this._client))}}class V9 extends W0{retrieve($,w={},Z){let{betas:W}=w??{};return this._client.get(V0`/v1/models/${$}?beta=true`,{...Z,headers:d([{...W?.toString()!=null?{"anthropic-beta":W?.toString()}:void 0},Z?.headers])})}list($={},w){let{betas:Z,...W}=$??{};return this._client.getAPIList("/v1/models?beta=true",d0,{query:W,...w,headers:d([{...Z?.toString()!=null?{"anthropic-beta":Z?.toString()}:void 0},w?.headers])})}}class l1{constructor($,w){this.iterator=$,this.controller=w}async*decoder(){let $=new x$;for await(let w of this.iterator)for(let Z of $.decode(w))yield JSON.parse(Z);for(let w of $.flush())yield JSON.parse(w)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse($,w){if(!$.body){if(w.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new y("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new y("Attempted to iterate over a response with no body")}return new l1(Q9($.body),w)}}class P9 extends W0{create($,w){let{betas:Z,...W}=$;return this._client.post("/v1/messages/batches?beta=true",{body:W,...w,headers:d([{"anthropic-beta":[...Z??[],"message-batches-2024-09-24"].toString()},w?.headers])})}retrieve($,w={},Z){let{betas:W}=w??{};return this._client.get(V0`/v1/messages/batches/${$}?beta=true`,{...Z,headers:d([{"anthropic-beta":[...W??[],"message-batches-2024-09-24"].toString()},Z?.headers])})}list($={},w){let{betas:Z,...W}=$??{};return this._client.getAPIList("/v1/messages/batches?beta=true",d0,{query:W,...w,headers:d([{"anthropic-beta":[...Z??[],"message-batches-2024-09-24"].toString()},w?.headers])})}delete($,w={},Z){let{betas:W}=w??{};return this._client.delete(V0`/v1/messages/batches/${$}?beta=true`,{...Z,headers:d([{"anthropic-beta":[...W??[],"message-batches-2024-09-24"].toString()},Z?.headers])})}cancel($,w={},Z){let{betas:W}=w??{};return this._client.post(V0`/v1/messages/batches/${$}/cancel?beta=true`,{...Z,headers:d([{"anthropic-beta":[...W??[],"message-batches-2024-09-24"].toString()},Z?.headers])})}async results($,w={},Z){let W=await this.retrieve($);if(!W.results_url)throw new y(`No batch \`results_url\`; Has it finished processing? ${W.processing_status} - ${W.id}`);let{betas:X}=w??{};return this._client.get(W.results_url,{...Z,headers:d([{"anthropic-beta":[...X??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},Z?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Y,G)=>l1.fromResponse(G.response,G.controller))}}var qF=($)=>{let w=0,Z=[];while(w<$.length){let W=$[w];if(W==="\\"){w++;continue}if(W==="{"){Z.push({type:"brace",value:"{"}),w++;continue}if(W==="}"){Z.push({type:"brace",value:"}"}),w++;continue}if(W==="["){Z.push({type:"paren",value:"["}),w++;continue}if(W==="]"){Z.push({type:"paren",value:"]"}),w++;continue}if(W===":"){Z.push({type:"separator",value:":"}),w++;continue}if(W===","){Z.push({type:"delimiter",value:","}),w++;continue}if(W==='"'){let J="",Q=!1;W=$[++w];while(W!=='"'){if(w===$.length){Q=!0;break}if(W==="\\"){if(w++,w===$.length){Q=!0;break}J+=W+$[w],W=$[++w]}else J+=W,W=$[++w]}if(W=$[++w],!Q)Z.push({type:"string",value:J});continue}if(W&&/\s/.test(W)){w++;continue}let Y=/[0-9]/;if(W&&Y.test(W)||W==="-"||W==="."){let J="";if(W==="-")J+=W,W=$[++w];while(W&&Y.test(W)||W===".")J+=W,W=$[++w];Z.push({type:"number",value:J});continue}let G=/[a-z]/i;if(W&&G.test(W)){let J="";while(W&&G.test(W)){if(w===$.length)break;J+=W,W=$[++w]}if(J=="true"||J=="false"||J==="null")Z.push({type:"name",value:J});else{w++;continue}continue}w++}return Z},c1=($)=>{if($.length===0)return $;let w=$[$.length-1];switch(w.type){case"separator":return $=$.slice(0,$.length-1),c1($);break;case"number":let Z=w.value[w.value.length-1];if(Z==="."||Z==="-")return $=$.slice(0,$.length-1),c1($);case"string":let W=$[$.length-2];if(W?.type==="delimiter")return $=$.slice(0,$.length-1),c1($);else if(W?.type==="brace"&&W.value==="{")return $=$.slice(0,$.length-1),c1($);break;case"delimiter":return $=$.slice(0,$.length-1),c1($);break}return $},UF=($)=>{let w=[];if($.map((Z)=>{if(Z.type==="brace")if(Z.value==="{")w.push("}");else w.splice(w.lastIndexOf("}"),1);if(Z.type==="paren")if(Z.value==="[")w.push("]");else w.splice(w.lastIndexOf("]"),1)}),w.length>0)w.reverse().map((Z)=>{if(Z==="}")$.push({type:"brace",value:"}"});else if(Z==="]")$.push({type:"paren",value:"]"})});return $},HF=($)=>{let w="";return $.map((Z)=>{switch(Z.type){case"string":w+='"'+Z.value+'"';break;default:w+=Z.value;break}}),w},i8=($)=>JSON.parse(HF(UF(c1(qF($)))));var v0,_$,q9,m8,U9,H9,l8,F9,T$,O9,c8,d8,d1,p8,n8,C5,iJ,t8,j5,I5,y5,mJ,lJ="__json_buf";function cJ($){return $.type==="tool_use"||$.type==="server_tool_use"||$.type==="mcp_tool_use"}class E9{constructor(){v0.add(this),this.messages=[],this.receivedMessages=[],_$.set(this,void 0),this.controller=new AbortController,q9.set(this,void 0),m8.set(this,()=>{}),U9.set(this,()=>{}),H9.set(this,void 0),l8.set(this,()=>{}),F9.set(this,()=>{}),T$.set(this,{}),O9.set(this,!1),c8.set(this,!1),d8.set(this,!1),d1.set(this,!1),p8.set(this,void 0),n8.set(this,void 0),t8.set(this,($)=>{if(I(this,c8,!0,"f"),z$($))$=new B0;if($ instanceof B0)return I(this,d8,!0,"f"),this._emit("abort",$);if($ instanceof y)return this._emit("error",$);if($ instanceof Error){let w=new y($.message);return w.cause=$,this._emit("error",w)}return this._emit("error",new y(String($)))}),I(this,q9,new Promise(($,w)=>{I(this,m8,$,"f"),I(this,U9,w,"f")}),"f"),I(this,H9,new Promise(($,w)=>{I(this,l8,$,"f"),I(this,F9,w,"f")}),"f"),F(this,q9,"f").catch(()=>{}),F(this,H9,"f").catch(()=>{})}get response(){return F(this,p8,"f")}get request_id(){return F(this,n8,"f")}async withResponse(){let $=await F(this,q9,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let w=new E9;return w._run(()=>w._fromReadableStream($)),w}static createMessage($,w,Z){let W=new E9;for(let X of w.messages)W._addMessageParam(X);return W._run(()=>W._createMessage($,{...w,stream:!0},{...Z,headers:{...Z?.headers,"X-Stainless-Helper-Method":"stream"}})),W}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},F(this,t8,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,w=!0){if(this.receivedMessages.push($),w)this._emit("message",$)}async _createMessage($,w,Z){let W=Z?.signal,X;if(W){if(W.aborted)this.controller.abort();X=this.controller.abort.bind(this.controller),W.addEventListener("abort",X)}try{F(this,v0,"m",j5).call(this);let{response:Y,data:G}=await $.create({...w,stream:!0},{...Z,signal:this.controller.signal}).withResponse();this._connected(Y);for await(let J of G)F(this,v0,"m",I5).call(this,J);if(G.controller.signal?.aborted)throw new B0;F(this,v0,"m",y5).call(this)}finally{if(W&&X)W.removeEventListener("abort",X)}}_connected($){if(this.ended)return;I(this,p8,$,"f"),I(this,n8,$?.headers.get("request-id"),"f"),F(this,m8,"f").call(this,$),this._emit("connect")}get ended(){return F(this,O9,"f")}get errored(){return F(this,c8,"f")}get aborted(){return F(this,d8,"f")}abort(){this.controller.abort()}on($,w){return(F(this,T$,"f")[$]||(F(this,T$,"f")[$]=[])).push({listener:w}),this}off($,w){let Z=F(this,T$,"f")[$];if(!Z)return this;let W=Z.findIndex((X)=>X.listener===w);if(W>=0)Z.splice(W,1);return this}once($,w){return(F(this,T$,"f")[$]||(F(this,T$,"f")[$]=[])).push({listener:w,once:!0}),this}emitted($){return new Promise((w,Z)=>{if(I(this,d1,!0,"f"),$!=="error")this.once("error",Z);this.once($,w)})}async done(){I(this,d1,!0,"f"),await F(this,H9,"f")}get currentMessage(){return F(this,_$,"f")}async finalMessage(){return await this.done(),F(this,v0,"m",C5).call(this)}async finalText(){return await this.done(),F(this,v0,"m",iJ).call(this)}_emit($,...w){if(F(this,O9,"f"))return;if($==="end")I(this,O9,!0,"f"),F(this,l8,"f").call(this);let Z=F(this,T$,"f")[$];if(Z)F(this,T$,"f")[$]=Z.filter((W)=>!W.once),Z.forEach(({listener:W})=>W(...w));if($==="abort"){let W=w[0];if(!F(this,d1,"f")&&!Z?.length)Promise.reject(W);F(this,U9,"f").call(this,W),F(this,F9,"f").call(this,W),this._emit("end");return}if($==="error"){let W=w[0];if(!F(this,d1,"f")&&!Z?.length)Promise.reject(W);F(this,U9,"f").call(this,W),F(this,F9,"f").call(this,W),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",F(this,v0,"m",C5).call(this))}async _fromReadableStream($,w){let Z=w?.signal,W;if(Z){if(Z.aborted)this.controller.abort();W=this.controller.abort.bind(this.controller),Z.addEventListener("abort",W)}try{F(this,v0,"m",j5).call(this),this._connected(null);let X=C0.fromReadableStream($,this.controller);for await(let Y of X)F(this,v0,"m",I5).call(this,Y);if(X.controller.signal?.aborted)throw new B0;F(this,v0,"m",y5).call(this)}finally{if(Z&&W)Z.removeEventListener("abort",W)}}[(_$=new WeakMap,q9=new WeakMap,m8=new WeakMap,U9=new WeakMap,H9=new WeakMap,l8=new WeakMap,F9=new WeakMap,T$=new WeakMap,O9=new WeakMap,c8=new WeakMap,d8=new WeakMap,d1=new WeakMap,p8=new WeakMap,n8=new WeakMap,t8=new WeakMap,v0=new WeakSet,C5=function(){if(this.receivedMessages.length===0)throw new y("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},iJ=function(){if(this.receivedMessages.length===0)throw new y("stream ended without producing a Message with role=assistant");let w=this.receivedMessages.at(-1).content.filter((Z)=>Z.type==="text").map((Z)=>Z.text);if(w.length===0)throw new y("stream ended without producing a content block with type=text");return w.join(" ")},j5=function(){if(this.ended)return;I(this,_$,void 0,"f")},I5=function(w){if(this.ended)return;let Z=F(this,v0,"m",mJ).call(this,w);switch(this._emit("streamEvent",w,Z),w.type){case"content_block_delta":{let W=Z.content.at(-1);switch(w.delta.type){case"text_delta":{if(W.type==="text")this._emit("text",w.delta.text,W.text||"");break}case"citations_delta":{if(W.type==="text")this._emit("citation",w.delta.citation,W.citations??[]);break}case"input_json_delta":{if(cJ(W)&&W.input)this._emit("inputJson",w.delta.partial_json,W.input);break}case"thinking_delta":{if(W.type==="thinking")this._emit("thinking",w.delta.thinking,W.thinking);break}case"signature_delta":{if(W.type==="thinking")this._emit("signature",W.signature);break}default:dJ(w.delta)}break}case"message_stop":{this._addMessageParam(Z),this._addMessage(Z,!0);break}case"content_block_stop":{this._emit("contentBlock",Z.content.at(-1));break}case"message_start":{I(this,_$,Z,"f");break}case"content_block_start":case"message_delta":break}},y5=function(){if(this.ended)throw new y("stream has ended, this shouldn't happen");let w=F(this,_$,"f");if(!w)throw new y("request ended without sending any chunks");return I(this,_$,void 0,"f"),w},mJ=function(w){let Z=F(this,_$,"f");if(w.type==="message_start"){if(Z)throw new y(`Unexpected event order, got ${w.type} before receiving "message_stop"`);return w.message}if(!Z)throw new y(`Unexpected event order, got ${w.type} before "message_start"`);switch(w.type){case"message_stop":return Z;case"message_delta":if(Z.container=w.delta.container,Z.stop_reason=w.delta.stop_reason,Z.stop_sequence=w.delta.stop_sequence,Z.usage.output_tokens=w.usage.output_tokens,w.usage.input_tokens!=null)Z.usage.input_tokens=w.usage.input_tokens;if(w.usage.cache_creation_input_tokens!=null)Z.usage.cache_creation_input_tokens=w.usage.cache_creation_input_tokens;if(w.usage.cache_read_input_tokens!=null)Z.usage.cache_read_input_tokens=w.usage.cache_read_input_tokens;if(w.usage.server_tool_use!=null)Z.usage.server_tool_use=w.usage.server_tool_use;return Z;case"content_block_start":return Z.content.push(w.content_block),Z;case"content_block_delta":{let W=Z.content.at(w.index);switch(w.delta.type){case"text_delta":{if(W?.type==="text")Z.content[w.index]={...W,text:(W.text||"")+w.delta.text};break}case"citations_delta":{if(W?.type==="text")Z.content[w.index]={...W,citations:[...W.citations??[],w.delta.citation]};break}case"input_json_delta":{if(W&&cJ(W)){let X=W[lJ]||"";X+=w.delta.partial_json;let Y={...W};if(Object.defineProperty(Y,lJ,{value:X,enumerable:!1,writable:!0}),X)try{Y.input=i8(X)}catch(G){let J=new y(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${G}. JSON: ${X}`);F(this,t8,"f").call(this,J)}Z.content[w.index]=Y}break}case"thinking_delta":{if(W?.type==="thinking")Z.content[w.index]={...W,thinking:W.thinking+w.delta.thinking};break}case"signature_delta":{if(W?.type==="thinking")Z.content[w.index]={...W,signature:w.delta.signature};break}default:dJ(w.delta)}return Z}case"content_block_stop":return Z}},Symbol.asyncIterator)](){let $=[],w=[],Z=!1;return this.on("streamEvent",(W)=>{let X=w.shift();if(X)X.resolve(W);else $.push(W)}),this.on("end",()=>{Z=!0;for(let W of w)W.resolve(void 0);w.length=0}),this.on("abort",(W)=>{Z=!0;for(let X of w)X.reject(W);w.length=0}),this.on("error",(W)=>{Z=!0;for(let X of w)X.reject(W);w.length=0}),{next:async()=>{if(!$.length){if(Z)return{value:void 0,done:!0};return new Promise((X,Y)=>w.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new C0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function dJ($){}var r8={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192,"claude-opus-4-1-20250805":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192};var pJ={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-5-sonnet-20241022":"October 22, 2025","claude-3-5-sonnet-20240620":"October 22, 2025"};class p1 extends W0{constructor(){super(...arguments);this.batches=new P9(this._client)}create($,w){let{betas:Z,...W}=$;if(W.model in pJ)console.warn(`The model '${W.model}' is deprecated and will reach end-of-life on ${pJ[W.model]}
79
- Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let X=this._client._options.timeout;if(!W.stream&&X==null){let Y=r8[W.model]??void 0;X=this._client.calculateNonstreamingTimeout(W.max_tokens,Y)}return this._client.post("/v1/messages?beta=true",{body:W,timeout:X??600000,...w,headers:d([{...Z?.toString()!=null?{"anthropic-beta":Z?.toString()}:void 0},w?.headers]),stream:$.stream??!1})}stream($,w){return E9.createMessage(this,$,w)}countTokens($,w){let{betas:Z,...W}=$;return this._client.post("/v1/messages/count_tokens?beta=true",{body:W,...w,headers:d([{"anthropic-beta":[...Z??[],"token-counting-2024-11-01"].toString()},w?.headers])})}}p1.Batches=P9;class N$ extends W0{constructor(){super(...arguments);this.models=new V9(this._client),this.messages=new p1(this._client),this.files=new B9(this._client)}}N$.Models=V9;N$.Messages=p1;N$.Files=B9;class n1 extends W0{create($,w){let{betas:Z,...W}=$;return this._client.post("/v1/complete",{body:W,timeout:this._client._options.timeout??600000,...w,headers:d([{...Z?.toString()!=null?{"anthropic-beta":Z?.toString()}:void 0},w?.headers]),stream:$.stream??!1})}}var u0,g$,L9,s8,D9,f9,a8,k9,K$,A9,o8,e8,t1,$6,w6,b5,nJ,x5,_5,g5,v5,tJ,rJ="__json_buf";function sJ($){return $.type==="tool_use"||$.type==="server_tool_use"}class S9{constructor(){u0.add(this),this.messages=[],this.receivedMessages=[],g$.set(this,void 0),this.controller=new AbortController,L9.set(this,void 0),s8.set(this,()=>{}),D9.set(this,()=>{}),f9.set(this,void 0),a8.set(this,()=>{}),k9.set(this,()=>{}),K$.set(this,{}),A9.set(this,!1),o8.set(this,!1),e8.set(this,!1),t1.set(this,!1),$6.set(this,void 0),w6.set(this,void 0),x5.set(this,($)=>{if(I(this,o8,!0,"f"),z$($))$=new B0;if($ instanceof B0)return I(this,e8,!0,"f"),this._emit("abort",$);if($ instanceof y)return this._emit("error",$);if($ instanceof Error){let w=new y($.message);return w.cause=$,this._emit("error",w)}return this._emit("error",new y(String($)))}),I(this,L9,new Promise(($,w)=>{I(this,s8,$,"f"),I(this,D9,w,"f")}),"f"),I(this,f9,new Promise(($,w)=>{I(this,a8,$,"f"),I(this,k9,w,"f")}),"f"),F(this,L9,"f").catch(()=>{}),F(this,f9,"f").catch(()=>{})}get response(){return F(this,$6,"f")}get request_id(){return F(this,w6,"f")}async withResponse(){let $=await F(this,L9,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let w=new S9;return w._run(()=>w._fromReadableStream($)),w}static createMessage($,w,Z){let W=new S9;for(let X of w.messages)W._addMessageParam(X);return W._run(()=>W._createMessage($,{...w,stream:!0},{...Z,headers:{...Z?.headers,"X-Stainless-Helper-Method":"stream"}})),W}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},F(this,x5,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,w=!0){if(this.receivedMessages.push($),w)this._emit("message",$)}async _createMessage($,w,Z){let W=Z?.signal,X;if(W){if(W.aborted)this.controller.abort();X=this.controller.abort.bind(this.controller),W.addEventListener("abort",X)}try{F(this,u0,"m",_5).call(this);let{response:Y,data:G}=await $.create({...w,stream:!0},{...Z,signal:this.controller.signal}).withResponse();this._connected(Y);for await(let J of G)F(this,u0,"m",g5).call(this,J);if(G.controller.signal?.aborted)throw new B0;F(this,u0,"m",v5).call(this)}finally{if(W&&X)W.removeEventListener("abort",X)}}_connected($){if(this.ended)return;I(this,$6,$,"f"),I(this,w6,$?.headers.get("request-id"),"f"),F(this,s8,"f").call(this,$),this._emit("connect")}get ended(){return F(this,A9,"f")}get errored(){return F(this,o8,"f")}get aborted(){return F(this,e8,"f")}abort(){this.controller.abort()}on($,w){return(F(this,K$,"f")[$]||(F(this,K$,"f")[$]=[])).push({listener:w}),this}off($,w){let Z=F(this,K$,"f")[$];if(!Z)return this;let W=Z.findIndex((X)=>X.listener===w);if(W>=0)Z.splice(W,1);return this}once($,w){return(F(this,K$,"f")[$]||(F(this,K$,"f")[$]=[])).push({listener:w,once:!0}),this}emitted($){return new Promise((w,Z)=>{if(I(this,t1,!0,"f"),$!=="error")this.once("error",Z);this.once($,w)})}async done(){I(this,t1,!0,"f"),await F(this,f9,"f")}get currentMessage(){return F(this,g$,"f")}async finalMessage(){return await this.done(),F(this,u0,"m",b5).call(this)}async finalText(){return await this.done(),F(this,u0,"m",nJ).call(this)}_emit($,...w){if(F(this,A9,"f"))return;if($==="end")I(this,A9,!0,"f"),F(this,a8,"f").call(this);let Z=F(this,K$,"f")[$];if(Z)F(this,K$,"f")[$]=Z.filter((W)=>!W.once),Z.forEach(({listener:W})=>W(...w));if($==="abort"){let W=w[0];if(!F(this,t1,"f")&&!Z?.length)Promise.reject(W);F(this,D9,"f").call(this,W),F(this,k9,"f").call(this,W),this._emit("end");return}if($==="error"){let W=w[0];if(!F(this,t1,"f")&&!Z?.length)Promise.reject(W);F(this,D9,"f").call(this,W),F(this,k9,"f").call(this,W),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",F(this,u0,"m",b5).call(this))}async _fromReadableStream($,w){let Z=w?.signal,W;if(Z){if(Z.aborted)this.controller.abort();W=this.controller.abort.bind(this.controller),Z.addEventListener("abort",W)}try{F(this,u0,"m",_5).call(this),this._connected(null);let X=C0.fromReadableStream($,this.controller);for await(let Y of X)F(this,u0,"m",g5).call(this,Y);if(X.controller.signal?.aborted)throw new B0;F(this,u0,"m",v5).call(this)}finally{if(Z&&W)Z.removeEventListener("abort",W)}}[(g$=new WeakMap,L9=new WeakMap,s8=new WeakMap,D9=new WeakMap,f9=new WeakMap,a8=new WeakMap,k9=new WeakMap,K$=new WeakMap,A9=new WeakMap,o8=new WeakMap,e8=new WeakMap,t1=new WeakMap,$6=new WeakMap,w6=new WeakMap,x5=new WeakMap,u0=new WeakSet,b5=function(){if(this.receivedMessages.length===0)throw new y("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},nJ=function(){if(this.receivedMessages.length===0)throw new y("stream ended without producing a Message with role=assistant");let w=this.receivedMessages.at(-1).content.filter((Z)=>Z.type==="text").map((Z)=>Z.text);if(w.length===0)throw new y("stream ended without producing a content block with type=text");return w.join(" ")},_5=function(){if(this.ended)return;I(this,g$,void 0,"f")},g5=function(w){if(this.ended)return;let Z=F(this,u0,"m",tJ).call(this,w);switch(this._emit("streamEvent",w,Z),w.type){case"content_block_delta":{let W=Z.content.at(-1);switch(w.delta.type){case"text_delta":{if(W.type==="text")this._emit("text",w.delta.text,W.text||"");break}case"citations_delta":{if(W.type==="text")this._emit("citation",w.delta.citation,W.citations??[]);break}case"input_json_delta":{if(sJ(W)&&W.input)this._emit("inputJson",w.delta.partial_json,W.input);break}case"thinking_delta":{if(W.type==="thinking")this._emit("thinking",w.delta.thinking,W.thinking);break}case"signature_delta":{if(W.type==="thinking")this._emit("signature",W.signature);break}default:aJ(w.delta)}break}case"message_stop":{this._addMessageParam(Z),this._addMessage(Z,!0);break}case"content_block_stop":{this._emit("contentBlock",Z.content.at(-1));break}case"message_start":{I(this,g$,Z,"f");break}case"content_block_start":case"message_delta":break}},v5=function(){if(this.ended)throw new y("stream has ended, this shouldn't happen");let w=F(this,g$,"f");if(!w)throw new y("request ended without sending any chunks");return I(this,g$,void 0,"f"),w},tJ=function(w){let Z=F(this,g$,"f");if(w.type==="message_start"){if(Z)throw new y(`Unexpected event order, got ${w.type} before receiving "message_stop"`);return w.message}if(!Z)throw new y(`Unexpected event order, got ${w.type} before "message_start"`);switch(w.type){case"message_stop":return Z;case"message_delta":if(Z.stop_reason=w.delta.stop_reason,Z.stop_sequence=w.delta.stop_sequence,Z.usage.output_tokens=w.usage.output_tokens,w.usage.input_tokens!=null)Z.usage.input_tokens=w.usage.input_tokens;if(w.usage.cache_creation_input_tokens!=null)Z.usage.cache_creation_input_tokens=w.usage.cache_creation_input_tokens;if(w.usage.cache_read_input_tokens!=null)Z.usage.cache_read_input_tokens=w.usage.cache_read_input_tokens;if(w.usage.server_tool_use!=null)Z.usage.server_tool_use=w.usage.server_tool_use;return Z;case"content_block_start":return Z.content.push({...w.content_block}),Z;case"content_block_delta":{let W=Z.content.at(w.index);switch(w.delta.type){case"text_delta":{if(W?.type==="text")Z.content[w.index]={...W,text:(W.text||"")+w.delta.text};break}case"citations_delta":{if(W?.type==="text")Z.content[w.index]={...W,citations:[...W.citations??[],w.delta.citation]};break}case"input_json_delta":{if(W&&sJ(W)){let X=W[rJ]||"";X+=w.delta.partial_json;let Y={...W};if(Object.defineProperty(Y,rJ,{value:X,enumerable:!1,writable:!0}),X)Y.input=i8(X);Z.content[w.index]=Y}break}case"thinking_delta":{if(W?.type==="thinking")Z.content[w.index]={...W,thinking:W.thinking+w.delta.thinking};break}case"signature_delta":{if(W?.type==="thinking")Z.content[w.index]={...W,signature:w.delta.signature};break}default:aJ(w.delta)}return Z}case"content_block_stop":return Z}},Symbol.asyncIterator)](){let $=[],w=[],Z=!1;return this.on("streamEvent",(W)=>{let X=w.shift();if(X)X.resolve(W);else $.push(W)}),this.on("end",()=>{Z=!0;for(let W of w)W.resolve(void 0);w.length=0}),this.on("abort",(W)=>{Z=!0;for(let X of w)X.reject(W);w.length=0}),this.on("error",(W)=>{Z=!0;for(let X of w)X.reject(W);w.length=0}),{next:async()=>{if(!$.length){if(Z)return{value:void 0,done:!0};return new Promise((X,Y)=>w.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new C0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function aJ($){}class R9 extends W0{create($,w){return this._client.post("/v1/messages/batches",{body:$,...w})}retrieve($,w){return this._client.get(V0`/v1/messages/batches/${$}`,w)}list($={},w){return this._client.getAPIList("/v1/messages/batches",d0,{query:$,...w})}delete($,w){return this._client.delete(V0`/v1/messages/batches/${$}`,w)}cancel($,w){return this._client.post(V0`/v1/messages/batches/${$}/cancel`,w)}async results($,w){let Z=await this.retrieve($);if(!Z.results_url)throw new y(`No batch \`results_url\`; Has it finished processing? ${Z.processing_status} - ${Z.id}`);return this._client.get(Z.results_url,{...w,headers:d([{Accept:"application/binary"},w?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((W,X)=>l1.fromResponse(X.response,X.controller))}}class Q1 extends W0{constructor(){super(...arguments);this.batches=new R9(this._client)}create($,w){if($.model in oJ)console.warn(`The model '${$.model}' is deprecated and will reach end-of-life on ${oJ[$.model]}
80
- Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let Z=this._client._options.timeout;if(!$.stream&&Z==null){let W=r8[$.model]??void 0;Z=this._client.calculateNonstreamingTimeout($.max_tokens,W)}return this._client.post("/v1/messages",{body:$,timeout:Z??600000,...w,stream:$.stream??!1})}stream($,w){return S9.createMessage(this,$,w)}countTokens($,w){return this._client.post("/v1/messages/count_tokens",{body:$,...w})}}var oJ={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-5-sonnet-20241022":"October 22, 2025","claude-3-5-sonnet-20240620":"October 22, 2025"};Q1.Batches=R9;class r1 extends W0{retrieve($,w={},Z){let{betas:W}=w??{};return this._client.get(V0`/v1/models/${$}`,{...Z,headers:d([{...W?.toString()!=null?{"anthropic-beta":W?.toString()}:void 0},Z?.headers])})}list($={},w){let{betas:Z,...W}=$??{};return this._client.getAPIList("/v1/models",d0,{query:W,...w,headers:d([{...Z?.toString()!=null?{"anthropic-beta":Z?.toString()}:void 0},w?.headers])})}}var C9=($)=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[$]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.($)?.trim();return};var u5,h5,Z6,eJ,$Q="\\n\\nHuman:",wQ="\\n\\nAssistant:";class s{constructor({baseURL:$=C9("ANTHROPIC_BASE_URL"),apiKey:w=C9("ANTHROPIC_API_KEY")??null,authToken:Z=C9("ANTHROPIC_AUTH_TOKEN")??null,...W}={}){u5.add(this),Z6.set(this,void 0);let X={apiKey:w,authToken:Z,...W,baseURL:$||"https://api.anthropic.com"};if(!X.dangerouslyAllowBrowser&&LJ())throw new y(`It looks like you're running in a browser-like environment.
163
+ ${z}`)}return G},U0=bO(eT);class h4 extends J0{list($={},w){let{betas:W,...Z}=$??{};return this._client.getAPIList("/v1/files",e0,{query:Z,...w,headers:n([{"anthropic-beta":[...W??[],"files-api-2025-04-14"].toString()},w?.headers])})}delete($,w={},W){let{betas:Z}=w??{};return this._client.delete(U0`/v1/files/${$}`,{...W,headers:n([{"anthropic-beta":[...Z??[],"files-api-2025-04-14"].toString()},W?.headers])})}download($,w={},W){let{betas:Z}=w??{};return this._client.get(U0`/v1/files/${$}/content`,{...W,headers:n([{"anthropic-beta":[...Z??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},W?.headers]),__binaryResponse:!0})}retrieveMetadata($,w={},W){let{betas:Z}=w??{};return this._client.get(U0`/v1/files/${$}`,{...W,headers:n([{"anthropic-beta":[...Z??[],"files-api-2025-04-14"].toString()},W?.headers])})}upload($,w){let{betas:W,...Z}=$;return this._client.post("/v1/files",rT({body:Z,...w,headers:n([{"anthropic-beta":[...W??[],"files-api-2025-04-14"].toString()},w?.headers])},this._client))}}class i4 extends J0{retrieve($,w={},W){let{betas:Z}=w??{};return this._client.get(U0`/v1/models/${$}?beta=true`,{...W,headers:n([{...Z?.toString()!=null?{"anthropic-beta":Z?.toString()}:void 0},W?.headers])})}list($={},w){let{betas:W,...Z}=$??{};return this._client.getAPIList("/v1/models?beta=true",e0,{query:Z,...w,headers:n([{...W?.toString()!=null?{"anthropic-beta":W?.toString()}:void 0},w?.headers])})}}class Jw{constructor($,w){this.iterator=$,this.controller=w}async*decoder(){let $=new c$;for await(let w of this.iterator)for(let W of $.decode(w))yield JSON.parse(W);for(let w of $.flush())yield JSON.parse(w)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse($,w){if(!$.body){if(w.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new b("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new b("Attempted to iterate over a response with no body")}return new Jw(b4($.body),w)}}class m4 extends J0{create($,w){let{betas:W,...Z}=$;return this._client.post("/v1/messages/batches?beta=true",{body:Z,...w,headers:n([{"anthropic-beta":[...W??[],"message-batches-2024-09-24"].toString()},w?.headers])})}retrieve($,w={},W){let{betas:Z}=w??{};return this._client.get(U0`/v1/messages/batches/${$}?beta=true`,{...W,headers:n([{"anthropic-beta":[...Z??[],"message-batches-2024-09-24"].toString()},W?.headers])})}list($={},w){let{betas:W,...Z}=$??{};return this._client.getAPIList("/v1/messages/batches?beta=true",e0,{query:Z,...w,headers:n([{"anthropic-beta":[...W??[],"message-batches-2024-09-24"].toString()},w?.headers])})}delete($,w={},W){let{betas:Z}=w??{};return this._client.delete(U0`/v1/messages/batches/${$}?beta=true`,{...W,headers:n([{"anthropic-beta":[...Z??[],"message-batches-2024-09-24"].toString()},W?.headers])})}cancel($,w={},W){let{betas:Z}=w??{};return this._client.post(U0`/v1/messages/batches/${$}/cancel?beta=true`,{...W,headers:n([{"anthropic-beta":[...Z??[],"message-batches-2024-09-24"].toString()},W?.headers])})}async results($,w={},W){let Z=await this.retrieve($);if(!Z.results_url)throw new b(`No batch \`results_url\`; Has it finished processing? ${Z.processing_status} - ${Z.id}`);let{betas:X}=w??{};return this._client.get(Z.results_url,{...W,headers:n([{"anthropic-beta":[...X??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},W?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Y,G)=>Jw.fromResponse(G.response,G.controller))}}var vO=($)=>{let w=0,W=[];while(w<$.length){let Z=$[w];if(Z==="\\"){w++;continue}if(Z==="{"){W.push({type:"brace",value:"{"}),w++;continue}if(Z==="}"){W.push({type:"brace",value:"}"}),w++;continue}if(Z==="["){W.push({type:"paren",value:"["}),w++;continue}if(Z==="]"){W.push({type:"paren",value:"]"}),w++;continue}if(Z===":"){W.push({type:"separator",value:":"}),w++;continue}if(Z===","){W.push({type:"delimiter",value:","}),w++;continue}if(Z==='"'){let J="",T=!1;Z=$[++w];while(Z!=='"'){if(w===$.length){T=!0;break}if(Z==="\\"){if(w++,w===$.length){T=!0;break}J+=Z+$[w],Z=$[++w]}else J+=Z,Z=$[++w]}if(Z=$[++w],!T)W.push({type:"string",value:J});continue}if(Z&&/\s/.test(Z)){w++;continue}let Y=/[0-9]/;if(Z&&Y.test(Z)||Z==="-"||Z==="."){let J="";if(Z==="-")J+=Z,Z=$[++w];while(Z&&Y.test(Z)||Z===".")J+=Z,Z=$[++w];W.push({type:"number",value:J});continue}let G=/[a-z]/i;if(Z&&G.test(Z)){let J="";while(Z&&G.test(Z)){if(w===$.length)break;J+=Z,Z=$[++w]}if(J=="true"||J=="false"||J==="null")W.push({type:"name",value:J});else{w++;continue}continue}w++}return W},Tw=($)=>{if($.length===0)return $;let w=$[$.length-1];switch(w.type){case"separator":return $=$.slice(0,$.length-1),Tw($);break;case"number":let W=w.value[w.value.length-1];if(W==="."||W==="-")return $=$.slice(0,$.length-1),Tw($);case"string":let Z=$[$.length-2];if(Z?.type==="delimiter")return $=$.slice(0,$.length-1),Tw($);else if(Z?.type==="brace"&&Z.value==="{")return $=$.slice(0,$.length-1),Tw($);break;case"delimiter":return $=$.slice(0,$.length-1),Tw($);break}return $},uO=($)=>{let w=[];if($.map((W)=>{if(W.type==="brace")if(W.value==="{")w.push("}");else w.splice(w.lastIndexOf("}"),1);if(W.type==="paren")if(W.value==="[")w.push("]");else w.splice(w.lastIndexOf("]"),1)}),w.length>0)w.reverse().map((W)=>{if(W==="}")$.push({type:"brace",value:"}"});else if(W==="]")$.push({type:"paren",value:"]"})});return $},hO=($)=>{let w="";return $.map((W)=>{switch(W.type){case"string":w+='"'+W.value+'"';break;default:w+=W.value;break}}),w},f6=($)=>JSON.parse(hO(uO(Tw(vO($)))));var m0,d$,l4,q6,c4,d4,U6,n4,F$,p4,H6,F6,Qw,O6,E6,HZ,$Q,L6,FZ,OZ,EZ,wQ,WQ="__json_buf";function ZQ($){return $.type==="tool_use"||$.type==="server_tool_use"||$.type==="mcp_tool_use"}class t4{constructor(){m0.add(this),this.messages=[],this.receivedMessages=[],d$.set(this,void 0),this.controller=new AbortController,l4.set(this,void 0),q6.set(this,()=>{}),c4.set(this,()=>{}),d4.set(this,void 0),U6.set(this,()=>{}),n4.set(this,()=>{}),F$.set(this,{}),p4.set(this,!1),H6.set(this,!1),F6.set(this,!1),Qw.set(this,!1),O6.set(this,void 0),E6.set(this,void 0),L6.set(this,($)=>{if(I(this,H6,!0,"f"),U$($))$=new q0;if($ instanceof q0)return I(this,F6,!0,"f"),this._emit("abort",$);if($ instanceof b)return this._emit("error",$);if($ instanceof Error){let w=new b($.message);return w.cause=$,this._emit("error",w)}return this._emit("error",new b(String($)))}),I(this,l4,new Promise(($,w)=>{I(this,q6,$,"f"),I(this,c4,w,"f")}),"f"),I(this,d4,new Promise(($,w)=>{I(this,U6,$,"f"),I(this,n4,w,"f")}),"f"),F(this,l4,"f").catch(()=>{}),F(this,d4,"f").catch(()=>{})}get response(){return F(this,O6,"f")}get request_id(){return F(this,E6,"f")}async withResponse(){let $=await F(this,l4,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let w=new t4;return w._run(()=>w._fromReadableStream($)),w}static createMessage($,w,W){let Z=new t4;for(let X of w.messages)Z._addMessageParam(X);return Z._run(()=>Z._createMessage($,{...w,stream:!0},{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),Z}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},F(this,L6,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,w=!0){if(this.receivedMessages.push($),w)this._emit("message",$)}async _createMessage($,w,W){let Z=W?.signal,X;if(Z){if(Z.aborted)this.controller.abort();X=this.controller.abort.bind(this.controller),Z.addEventListener("abort",X)}try{F(this,m0,"m",FZ).call(this);let{response:Y,data:G}=await $.create({...w,stream:!0},{...W,signal:this.controller.signal}).withResponse();this._connected(Y);for await(let J of G)F(this,m0,"m",OZ).call(this,J);if(G.controller.signal?.aborted)throw new q0;F(this,m0,"m",EZ).call(this)}finally{if(Z&&X)Z.removeEventListener("abort",X)}}_connected($){if(this.ended)return;I(this,O6,$,"f"),I(this,E6,$?.headers.get("request-id"),"f"),F(this,q6,"f").call(this,$),this._emit("connect")}get ended(){return F(this,p4,"f")}get errored(){return F(this,H6,"f")}get aborted(){return F(this,F6,"f")}abort(){this.controller.abort()}on($,w){return(F(this,F$,"f")[$]||(F(this,F$,"f")[$]=[])).push({listener:w}),this}off($,w){let W=F(this,F$,"f")[$];if(!W)return this;let Z=W.findIndex((X)=>X.listener===w);if(Z>=0)W.splice(Z,1);return this}once($,w){return(F(this,F$,"f")[$]||(F(this,F$,"f")[$]=[])).push({listener:w,once:!0}),this}emitted($){return new Promise((w,W)=>{if(I(this,Qw,!0,"f"),$!=="error")this.once("error",W);this.once($,w)})}async done(){I(this,Qw,!0,"f"),await F(this,d4,"f")}get currentMessage(){return F(this,d$,"f")}async finalMessage(){return await this.done(),F(this,m0,"m",HZ).call(this)}async finalText(){return await this.done(),F(this,m0,"m",$Q).call(this)}_emit($,...w){if(F(this,p4,"f"))return;if($==="end")I(this,p4,!0,"f"),F(this,U6,"f").call(this);let W=F(this,F$,"f")[$];if(W)F(this,F$,"f")[$]=W.filter((Z)=>!Z.once),W.forEach(({listener:Z})=>Z(...w));if($==="abort"){let Z=w[0];if(!F(this,Qw,"f")&&!W?.length)Promise.reject(Z);F(this,c4,"f").call(this,Z),F(this,n4,"f").call(this,Z),this._emit("end");return}if($==="error"){let Z=w[0];if(!F(this,Qw,"f")&&!W?.length)Promise.reject(Z);F(this,c4,"f").call(this,Z),F(this,n4,"f").call(this,Z),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",F(this,m0,"m",HZ).call(this))}async _fromReadableStream($,w){let W=w?.signal,Z;if(W){if(W.aborted)this.controller.abort();Z=this.controller.abort.bind(this.controller),W.addEventListener("abort",Z)}try{F(this,m0,"m",FZ).call(this),this._connected(null);let X=b0.fromReadableStream($,this.controller);for await(let Y of X)F(this,m0,"m",OZ).call(this,Y);if(X.controller.signal?.aborted)throw new q0;F(this,m0,"m",EZ).call(this)}finally{if(W&&Z)W.removeEventListener("abort",Z)}}[(d$=new WeakMap,l4=new WeakMap,q6=new WeakMap,c4=new WeakMap,d4=new WeakMap,U6=new WeakMap,n4=new WeakMap,F$=new WeakMap,p4=new WeakMap,H6=new WeakMap,F6=new WeakMap,Qw=new WeakMap,O6=new WeakMap,E6=new WeakMap,L6=new WeakMap,m0=new WeakSet,HZ=function(){if(this.receivedMessages.length===0)throw new b("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},$Q=function(){if(this.receivedMessages.length===0)throw new b("stream ended without producing a Message with role=assistant");let w=this.receivedMessages.at(-1).content.filter((W)=>W.type==="text").map((W)=>W.text);if(w.length===0)throw new b("stream ended without producing a content block with type=text");return w.join(" ")},FZ=function(){if(this.ended)return;I(this,d$,void 0,"f")},OZ=function(w){if(this.ended)return;let W=F(this,m0,"m",wQ).call(this,w);switch(this._emit("streamEvent",w,W),w.type){case"content_block_delta":{let Z=W.content.at(-1);switch(w.delta.type){case"text_delta":{if(Z.type==="text")this._emit("text",w.delta.text,Z.text||"");break}case"citations_delta":{if(Z.type==="text")this._emit("citation",w.delta.citation,Z.citations??[]);break}case"input_json_delta":{if(ZQ(Z)&&Z.input)this._emit("inputJson",w.delta.partial_json,Z.input);break}case"thinking_delta":{if(Z.type==="thinking")this._emit("thinking",w.delta.thinking,Z.thinking);break}case"signature_delta":{if(Z.type==="thinking")this._emit("signature",Z.signature);break}default:XQ(w.delta)}break}case"message_stop":{this._addMessageParam(W),this._addMessage(W,!0);break}case"content_block_stop":{this._emit("contentBlock",W.content.at(-1));break}case"message_start":{I(this,d$,W,"f");break}case"content_block_start":case"message_delta":break}},EZ=function(){if(this.ended)throw new b("stream has ended, this shouldn't happen");let w=F(this,d$,"f");if(!w)throw new b("request ended without sending any chunks");return I(this,d$,void 0,"f"),w},wQ=function(w){let W=F(this,d$,"f");if(w.type==="message_start"){if(W)throw new b(`Unexpected event order, got ${w.type} before receiving "message_stop"`);return w.message}if(!W)throw new b(`Unexpected event order, got ${w.type} before "message_start"`);switch(w.type){case"message_stop":return W;case"message_delta":if(W.container=w.delta.container,W.stop_reason=w.delta.stop_reason,W.stop_sequence=w.delta.stop_sequence,W.usage.output_tokens=w.usage.output_tokens,w.usage.input_tokens!=null)W.usage.input_tokens=w.usage.input_tokens;if(w.usage.cache_creation_input_tokens!=null)W.usage.cache_creation_input_tokens=w.usage.cache_creation_input_tokens;if(w.usage.cache_read_input_tokens!=null)W.usage.cache_read_input_tokens=w.usage.cache_read_input_tokens;if(w.usage.server_tool_use!=null)W.usage.server_tool_use=w.usage.server_tool_use;return W;case"content_block_start":return W.content.push(w.content_block),W;case"content_block_delta":{let Z=W.content.at(w.index);switch(w.delta.type){case"text_delta":{if(Z?.type==="text")W.content[w.index]={...Z,text:(Z.text||"")+w.delta.text};break}case"citations_delta":{if(Z?.type==="text")W.content[w.index]={...Z,citations:[...Z.citations??[],w.delta.citation]};break}case"input_json_delta":{if(Z&&ZQ(Z)){let X=Z[WQ]||"";X+=w.delta.partial_json;let Y={...Z};if(Object.defineProperty(Y,WQ,{value:X,enumerable:!1,writable:!0}),X)try{Y.input=f6(X)}catch(G){let J=new b(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${G}. JSON: ${X}`);F(this,L6,"f").call(this,J)}W.content[w.index]=Y}break}case"thinking_delta":{if(Z?.type==="thinking")W.content[w.index]={...Z,thinking:Z.thinking+w.delta.thinking};break}case"signature_delta":{if(Z?.type==="thinking")W.content[w.index]={...Z,signature:w.delta.signature};break}default:XQ(w.delta)}return W}case"content_block_stop":return W}},Symbol.asyncIterator)](){let $=[],w=[],W=!1;return this.on("streamEvent",(Z)=>{let X=w.shift();if(X)X.resolve(Z);else $.push(Z)}),this.on("end",()=>{W=!0;for(let Z of w)Z.resolve(void 0);w.length=0}),this.on("abort",(Z)=>{W=!0;for(let X of w)X.reject(Z);w.length=0}),this.on("error",(Z)=>{W=!0;for(let X of w)X.reject(Z);w.length=0}),{next:async()=>{if(!$.length){if(W)return{value:void 0,done:!0};return new Promise((X,Y)=>w.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new b0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function XQ($){}var D6={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192,"claude-opus-4-1-20250805":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192};var YQ={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-5-sonnet-20241022":"October 22, 2025","claude-3-5-sonnet-20240620":"October 22, 2025"};class Mw extends J0{constructor(){super(...arguments);this.batches=new m4(this._client)}create($,w){let{betas:W,...Z}=$;if(Z.model in YQ)console.warn(`The model '${Z.model}' is deprecated and will reach end-of-life on ${YQ[Z.model]}
164
+ Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let X=this._client._options.timeout;if(!Z.stream&&X==null){let Y=D6[Z.model]??void 0;X=this._client.calculateNonstreamingTimeout(Z.max_tokens,Y)}return this._client.post("/v1/messages?beta=true",{body:Z,timeout:X??600000,...w,headers:n([{...W?.toString()!=null?{"anthropic-beta":W?.toString()}:void 0},w?.headers]),stream:$.stream??!1})}stream($,w){return t4.createMessage(this,$,w)}countTokens($,w){let{betas:W,...Z}=$;return this._client.post("/v1/messages/count_tokens?beta=true",{body:Z,...w,headers:n([{"anthropic-beta":[...W??[],"token-counting-2024-11-01"].toString()},w?.headers])})}}Mw.Batches=m4;class O$ extends J0{constructor(){super(...arguments);this.models=new i4(this._client),this.messages=new Mw(this._client),this.files=new h4(this._client)}}O$.Models=i4;O$.Messages=Mw;O$.Files=h4;class zw extends J0{create($,w){let{betas:W,...Z}=$;return this._client.post("/v1/complete",{body:Z,timeout:this._client._options.timeout??600000,...w,headers:n([{...W?.toString()!=null?{"anthropic-beta":W?.toString()}:void 0},w?.headers]),stream:$.stream??!1})}}var l0,n$,r4,k6,s4,a4,A6,o4,E$,e4,S6,R6,Nw,C6,j6,LZ,GQ,DZ,kZ,AZ,SZ,JQ,TQ="__json_buf";function QQ($){return $.type==="tool_use"||$.type==="server_tool_use"}class $9{constructor(){l0.add(this),this.messages=[],this.receivedMessages=[],n$.set(this,void 0),this.controller=new AbortController,r4.set(this,void 0),k6.set(this,()=>{}),s4.set(this,()=>{}),a4.set(this,void 0),A6.set(this,()=>{}),o4.set(this,()=>{}),E$.set(this,{}),e4.set(this,!1),S6.set(this,!1),R6.set(this,!1),Nw.set(this,!1),C6.set(this,void 0),j6.set(this,void 0),DZ.set(this,($)=>{if(I(this,S6,!0,"f"),U$($))$=new q0;if($ instanceof q0)return I(this,R6,!0,"f"),this._emit("abort",$);if($ instanceof b)return this._emit("error",$);if($ instanceof Error){let w=new b($.message);return w.cause=$,this._emit("error",w)}return this._emit("error",new b(String($)))}),I(this,r4,new Promise(($,w)=>{I(this,k6,$,"f"),I(this,s4,w,"f")}),"f"),I(this,a4,new Promise(($,w)=>{I(this,A6,$,"f"),I(this,o4,w,"f")}),"f"),F(this,r4,"f").catch(()=>{}),F(this,a4,"f").catch(()=>{})}get response(){return F(this,C6,"f")}get request_id(){return F(this,j6,"f")}async withResponse(){let $=await F(this,r4,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let w=new $9;return w._run(()=>w._fromReadableStream($)),w}static createMessage($,w,W){let Z=new $9;for(let X of w.messages)Z._addMessageParam(X);return Z._run(()=>Z._createMessage($,{...w,stream:!0},{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),Z}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},F(this,DZ,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,w=!0){if(this.receivedMessages.push($),w)this._emit("message",$)}async _createMessage($,w,W){let Z=W?.signal,X;if(Z){if(Z.aborted)this.controller.abort();X=this.controller.abort.bind(this.controller),Z.addEventListener("abort",X)}try{F(this,l0,"m",kZ).call(this);let{response:Y,data:G}=await $.create({...w,stream:!0},{...W,signal:this.controller.signal}).withResponse();this._connected(Y);for await(let J of G)F(this,l0,"m",AZ).call(this,J);if(G.controller.signal?.aborted)throw new q0;F(this,l0,"m",SZ).call(this)}finally{if(Z&&X)Z.removeEventListener("abort",X)}}_connected($){if(this.ended)return;I(this,C6,$,"f"),I(this,j6,$?.headers.get("request-id"),"f"),F(this,k6,"f").call(this,$),this._emit("connect")}get ended(){return F(this,e4,"f")}get errored(){return F(this,S6,"f")}get aborted(){return F(this,R6,"f")}abort(){this.controller.abort()}on($,w){return(F(this,E$,"f")[$]||(F(this,E$,"f")[$]=[])).push({listener:w}),this}off($,w){let W=F(this,E$,"f")[$];if(!W)return this;let Z=W.findIndex((X)=>X.listener===w);if(Z>=0)W.splice(Z,1);return this}once($,w){return(F(this,E$,"f")[$]||(F(this,E$,"f")[$]=[])).push({listener:w,once:!0}),this}emitted($){return new Promise((w,W)=>{if(I(this,Nw,!0,"f"),$!=="error")this.once("error",W);this.once($,w)})}async done(){I(this,Nw,!0,"f"),await F(this,a4,"f")}get currentMessage(){return F(this,n$,"f")}async finalMessage(){return await this.done(),F(this,l0,"m",LZ).call(this)}async finalText(){return await this.done(),F(this,l0,"m",GQ).call(this)}_emit($,...w){if(F(this,e4,"f"))return;if($==="end")I(this,e4,!0,"f"),F(this,A6,"f").call(this);let W=F(this,E$,"f")[$];if(W)F(this,E$,"f")[$]=W.filter((Z)=>!Z.once),W.forEach(({listener:Z})=>Z(...w));if($==="abort"){let Z=w[0];if(!F(this,Nw,"f")&&!W?.length)Promise.reject(Z);F(this,s4,"f").call(this,Z),F(this,o4,"f").call(this,Z),this._emit("end");return}if($==="error"){let Z=w[0];if(!F(this,Nw,"f")&&!W?.length)Promise.reject(Z);F(this,s4,"f").call(this,Z),F(this,o4,"f").call(this,Z),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",F(this,l0,"m",LZ).call(this))}async _fromReadableStream($,w){let W=w?.signal,Z;if(W){if(W.aborted)this.controller.abort();Z=this.controller.abort.bind(this.controller),W.addEventListener("abort",Z)}try{F(this,l0,"m",kZ).call(this),this._connected(null);let X=b0.fromReadableStream($,this.controller);for await(let Y of X)F(this,l0,"m",AZ).call(this,Y);if(X.controller.signal?.aborted)throw new q0;F(this,l0,"m",SZ).call(this)}finally{if(W&&Z)W.removeEventListener("abort",Z)}}[(n$=new WeakMap,r4=new WeakMap,k6=new WeakMap,s4=new WeakMap,a4=new WeakMap,A6=new WeakMap,o4=new WeakMap,E$=new WeakMap,e4=new WeakMap,S6=new WeakMap,R6=new WeakMap,Nw=new WeakMap,C6=new WeakMap,j6=new WeakMap,DZ=new WeakMap,l0=new WeakSet,LZ=function(){if(this.receivedMessages.length===0)throw new b("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},GQ=function(){if(this.receivedMessages.length===0)throw new b("stream ended without producing a Message with role=assistant");let w=this.receivedMessages.at(-1).content.filter((W)=>W.type==="text").map((W)=>W.text);if(w.length===0)throw new b("stream ended without producing a content block with type=text");return w.join(" ")},kZ=function(){if(this.ended)return;I(this,n$,void 0,"f")},AZ=function(w){if(this.ended)return;let W=F(this,l0,"m",JQ).call(this,w);switch(this._emit("streamEvent",w,W),w.type){case"content_block_delta":{let Z=W.content.at(-1);switch(w.delta.type){case"text_delta":{if(Z.type==="text")this._emit("text",w.delta.text,Z.text||"");break}case"citations_delta":{if(Z.type==="text")this._emit("citation",w.delta.citation,Z.citations??[]);break}case"input_json_delta":{if(QQ(Z)&&Z.input)this._emit("inputJson",w.delta.partial_json,Z.input);break}case"thinking_delta":{if(Z.type==="thinking")this._emit("thinking",w.delta.thinking,Z.thinking);break}case"signature_delta":{if(Z.type==="thinking")this._emit("signature",Z.signature);break}default:MQ(w.delta)}break}case"message_stop":{this._addMessageParam(W),this._addMessage(W,!0);break}case"content_block_stop":{this._emit("contentBlock",W.content.at(-1));break}case"message_start":{I(this,n$,W,"f");break}case"content_block_start":case"message_delta":break}},SZ=function(){if(this.ended)throw new b("stream has ended, this shouldn't happen");let w=F(this,n$,"f");if(!w)throw new b("request ended without sending any chunks");return I(this,n$,void 0,"f"),w},JQ=function(w){let W=F(this,n$,"f");if(w.type==="message_start"){if(W)throw new b(`Unexpected event order, got ${w.type} before receiving "message_stop"`);return w.message}if(!W)throw new b(`Unexpected event order, got ${w.type} before "message_start"`);switch(w.type){case"message_stop":return W;case"message_delta":if(W.stop_reason=w.delta.stop_reason,W.stop_sequence=w.delta.stop_sequence,W.usage.output_tokens=w.usage.output_tokens,w.usage.input_tokens!=null)W.usage.input_tokens=w.usage.input_tokens;if(w.usage.cache_creation_input_tokens!=null)W.usage.cache_creation_input_tokens=w.usage.cache_creation_input_tokens;if(w.usage.cache_read_input_tokens!=null)W.usage.cache_read_input_tokens=w.usage.cache_read_input_tokens;if(w.usage.server_tool_use!=null)W.usage.server_tool_use=w.usage.server_tool_use;return W;case"content_block_start":return W.content.push({...w.content_block}),W;case"content_block_delta":{let Z=W.content.at(w.index);switch(w.delta.type){case"text_delta":{if(Z?.type==="text")W.content[w.index]={...Z,text:(Z.text||"")+w.delta.text};break}case"citations_delta":{if(Z?.type==="text")W.content[w.index]={...Z,citations:[...Z.citations??[],w.delta.citation]};break}case"input_json_delta":{if(Z&&QQ(Z)){let X=Z[TQ]||"";X+=w.delta.partial_json;let Y={...Z};if(Object.defineProperty(Y,TQ,{value:X,enumerable:!1,writable:!0}),X)Y.input=f6(X);W.content[w.index]=Y}break}case"thinking_delta":{if(Z?.type==="thinking")W.content[w.index]={...Z,thinking:Z.thinking+w.delta.thinking};break}case"signature_delta":{if(Z?.type==="thinking")W.content[w.index]={...Z,signature:w.delta.signature};break}default:MQ(w.delta)}return W}case"content_block_stop":return W}},Symbol.asyncIterator)](){let $=[],w=[],W=!1;return this.on("streamEvent",(Z)=>{let X=w.shift();if(X)X.resolve(Z);else $.push(Z)}),this.on("end",()=>{W=!0;for(let Z of w)Z.resolve(void 0);w.length=0}),this.on("abort",(Z)=>{W=!0;for(let X of w)X.reject(Z);w.length=0}),this.on("error",(Z)=>{W=!0;for(let X of w)X.reject(Z);w.length=0}),{next:async()=>{if(!$.length){if(W)return{value:void 0,done:!0};return new Promise((X,Y)=>w.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new b0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function MQ($){}class w9 extends J0{create($,w){return this._client.post("/v1/messages/batches",{body:$,...w})}retrieve($,w){return this._client.get(U0`/v1/messages/batches/${$}`,w)}list($={},w){return this._client.getAPIList("/v1/messages/batches",e0,{query:$,...w})}delete($,w){return this._client.delete(U0`/v1/messages/batches/${$}`,w)}cancel($,w){return this._client.post(U0`/v1/messages/batches/${$}/cancel`,w)}async results($,w){let W=await this.retrieve($);if(!W.results_url)throw new b(`No batch \`results_url\`; Has it finished processing? ${W.processing_status} - ${W.id}`);return this._client.get(W.results_url,{...w,headers:n([{Accept:"application/binary"},w?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Z,X)=>Jw.fromResponse(X.response,X.controller))}}class H1 extends J0{constructor(){super(...arguments);this.batches=new w9(this._client)}create($,w){if($.model in zQ)console.warn(`The model '${$.model}' is deprecated and will reach end-of-life on ${zQ[$.model]}
165
+ Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let W=this._client._options.timeout;if(!$.stream&&W==null){let Z=D6[$.model]??void 0;W=this._client.calculateNonstreamingTimeout($.max_tokens,Z)}return this._client.post("/v1/messages",{body:$,timeout:W??600000,...w,stream:$.stream??!1})}stream($,w){return $9.createMessage(this,$,w)}countTokens($,w){return this._client.post("/v1/messages/count_tokens",{body:$,...w})}}var zQ={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-5-sonnet-20241022":"October 22, 2025","claude-3-5-sonnet-20240620":"October 22, 2025"};H1.Batches=w9;class Kw extends J0{retrieve($,w={},W){let{betas:Z}=w??{};return this._client.get(U0`/v1/models/${$}`,{...W,headers:n([{...Z?.toString()!=null?{"anthropic-beta":Z?.toString()}:void 0},W?.headers])})}list($={},w){let{betas:W,...Z}=$??{};return this._client.getAPIList("/v1/models",e0,{query:Z,...w,headers:n([{...W?.toString()!=null?{"anthropic-beta":W?.toString()}:void 0},w?.headers])})}}var W9=($)=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[$]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.($)?.trim();return};var RZ,CZ,y6,NQ,KQ="\\n\\nHuman:",BQ="\\n\\nAssistant:";class o{constructor({baseURL:$=W9("ANTHROPIC_BASE_URL"),apiKey:w=W9("ANTHROPIC_API_KEY")??null,authToken:W=W9("ANTHROPIC_AUTH_TOKEN")??null,...Z}={}){RZ.add(this),y6.set(this,void 0);let X={apiKey:w,authToken:W,...Z,baseURL:$||"https://api.anthropic.com"};if(!X.dangerouslyAllowBrowser&&_T())throw new b(`It looks like you're running in a browser-like environment.
81
166
 
82
167
  This is disabled by default, as it risks exposing your secret API credentials to attackers.
83
168
  If you understand the risks and have appropriate mitigations in place,
84
169
  you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
85
170
 
86
171
  new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
87
- `);this.baseURL=X.baseURL,this.timeout=X.timeout??h5.DEFAULT_TIMEOUT,this.logger=X.logger??console;let Y="warn";this.logLevel=Y,this.logLevel=D5(X.logLevel,"ClientOptions.logLevel",this)??D5(C9("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??Y,this.fetchOptions=X.fetchOptions,this.maxRetries=X.maxRetries??2,this.fetch=X.fetch??fJ(),I(this,Z6,AJ,"f"),this._options=X,this.apiKey=w,this.authToken=Z}withOptions($){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...$})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:$,nulls:w}){if(this.apiKey&&$.get("x-api-key"))return;if(w.has("x-api-key"))return;if(this.authToken&&$.get("authorization"))return;if(w.has("authorization"))return;throw Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}async authHeaders($){return d([await this.apiKeyAuth($),await this.bearerAuth($)])}async apiKeyAuth($){if(this.apiKey==null)return;return d([{"X-Api-Key":this.apiKey}])}async bearerAuth($){if(this.authToken==null)return;return d([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery($){return Object.entries($).filter(([w,Z])=>typeof Z<"u").map(([w,Z])=>{if(typeof Z==="string"||typeof Z==="number"||typeof Z==="boolean")return`${encodeURIComponent(w)}=${encodeURIComponent(Z)}`;if(Z===null)return`${encodeURIComponent(w)}=`;throw new y(`Cannot stringify type ${typeof Z}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${b$}`}defaultIdempotencyKey(){return`stainless-node-retry-${U5()}`}makeStatusError($,w,Z,W){return Z0.generate($,w,Z,W)}buildURL($,w,Z){let W=!F(this,u5,"m",eJ).call(this)&&Z||this.baseURL,X=VJ($)?new URL($):new URL(W+(W.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),Y=this.defaultQuery();if(!PJ(Y))w={...Y,...w};if(typeof w==="object"&&w&&!Array.isArray(w))X.search=this.stringifyQuery(w);return X.toString()}_calculateNonstreamingTimeout($){if(3600*$/128000>600)throw new y("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 600000}async prepareOptions($){}async prepareRequest($,{url:w,options:Z}){}get($,w){return this.methodRequest("get",$,w)}post($,w){return this.methodRequest("post",$,w)}patch($,w){return this.methodRequest("patch",$,w)}put($,w){return this.methodRequest("put",$,w)}delete($,w){return this.methodRequest("delete",$,w)}methodRequest($,w,Z){return this.request(Promise.resolve(Z).then((W)=>{return{method:$,path:w,...W}}))}request($,w=null){return new G1(this,this.makeRequest($,w,void 0))}async makeRequest($,w,Z){let W=await $,X=W.maxRetries??this.maxRetries;if(w==null)w=X;await this.prepareOptions(W);let{req:Y,url:G,timeout:J}=await this.buildRequest(W,{retryCount:X-w});await this.prepareRequest(Y,{url:G,options:W});let Q="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),z=Z===void 0?"":`, retryOf: ${Z}`,M=Date.now();if(J0(this).debug(`[${Q}] sending request`,M$({retryOfRequestLogID:Z,method:W.method,url:G,options:W,headers:Y.headers})),W.signal?.aborted)throw new B0;let T=new AbortController,N=await this.fetchWithTimeout(G,Y,J,T).catch(ow),K=Date.now();if(N instanceof globalThis.Error){let q=`retrying, ${w} attempts remaining`;if(W.signal?.aborted)throw new B0;let U=z$(N)||/timed? ?out/i.test(String(N)+("cause"in N?String(N.cause):""));if(w)return J0(this).info(`[${Q}] connection ${U?"timed out":"failed"} - ${q}`),J0(this).debug(`[${Q}] connection ${U?"timed out":"failed"} (${q})`,M$({retryOfRequestLogID:Z,url:G,durationMs:K-M,message:N.message})),this.retryRequest(W,w,Z??Q);if(J0(this).info(`[${Q}] connection ${U?"timed out":"failed"} - error; no more retries left`),J0(this).debug(`[${Q}] connection ${U?"timed out":"failed"} (error; no more retries left)`,M$({retryOfRequestLogID:Z,url:G,durationMs:K-M,message:N.message})),U)throw new ew;throw new Y1({cause:N})}let B=[...N.headers.entries()].filter(([q])=>q==="request-id").map(([q,U])=>", "+q+": "+JSON.stringify(U)).join(""),P=`[${Q}${z}${B}] ${Y.method} ${G} ${N.ok?"succeeded":"failed"} with status ${N.status} in ${K-M}ms`;if(!N.ok){let q=await this.shouldRetry(N);if(w&&q){let u=`retrying, ${w} attempts remaining`;return await kJ(N.body),J0(this).info(`${P} - ${u}`),J0(this).debug(`[${Q}] response error (${u})`,M$({retryOfRequestLogID:Z,url:N.url,status:N.status,headers:N.headers,durationMs:K-M})),this.retryRequest(W,w,Z??Q,N.headers)}let U=q?"error; no more retries left":"error; not retryable";J0(this).info(`${P} - ${U}`);let O=await N.text().catch((u)=>ow(u).message),f=y8(O),C=f?void 0:O;throw J0(this).debug(`[${Q}] response error (${U})`,M$({retryOfRequestLogID:Z,url:N.url,status:N.status,headers:N.headers,message:C,durationMs:Date.now()-M})),this.makeStatusError(N.status,f,C,N.headers)}return J0(this).info(P),J0(this).debug(`[${Q}] response start`,M$({retryOfRequestLogID:Z,url:N.url,status:N.status,headers:N.headers,durationMs:K-M})),{response:N,options:W,controller:T,requestLogID:Q,retryOfRequestLogID:Z,startTime:M}}getAPIList($,w,Z){return this.requestAPIList(w,{method:"get",path:$,...Z})}requestAPIList($,w){let Z=this.makeRequest(w,null,void 0);return new u8(this,Z,$)}async fetchWithTimeout($,w,Z,W){let{signal:X,method:Y,...G}=w||{};if(X)X.addEventListener("abort",()=>W.abort());let J=setTimeout(()=>W.abort(),Z),Q=globalThis.ReadableStream&&G.body instanceof globalThis.ReadableStream||typeof G.body==="object"&&G.body!==null&&Symbol.asyncIterator in G.body,z={signal:W.signal,...Q?{duplex:"half"}:{},method:"GET",...G};if(Y)z.method=Y.toUpperCase();try{return await this.fetch.call(void 0,$,z)}finally{clearTimeout(J)}}async shouldRetry($){let w=$.headers.get("x-should-retry");if(w==="true")return!0;if(w==="false")return!1;if($.status===408)return!0;if($.status===409)return!0;if($.status===429)return!0;if($.status>=500)return!0;return!1}async retryRequest($,w,Z,W){let X,Y=W?.get("retry-after-ms");if(Y){let J=parseFloat(Y);if(!Number.isNaN(J))X=J}let G=W?.get("retry-after");if(G&&!X){let J=parseFloat(G);if(!Number.isNaN(J))X=J*1000;else X=Date.parse(G)-Date.now()}if(!(X&&0<=X&&X<60000)){let J=$.maxRetries??this.maxRetries;X=this.calculateDefaultRetryTimeoutMillis(w,J)}return await HJ(X),this.makeRequest($,w-1,Z)}calculateDefaultRetryTimeoutMillis($,w){let X=w-$,Y=Math.min(0.5*Math.pow(2,X),8),G=1-Math.random()*0.25;return Y*G*1000}calculateNonstreamingTimeout($,w){if(3600000*$/128000>600000||w!=null&&$>w)throw new y("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");return 600000}async buildRequest($,{retryCount:w=0}={}){let Z={...$},{method:W,path:X,query:Y,defaultBaseURL:G}=Z,J=this.buildURL(X,Y,G);if("timeout"in Z)UJ("timeout",Z.timeout);Z.timeout=Z.timeout??this.timeout;let{bodyHeaders:Q,body:z}=this.buildBody({options:Z}),M=await this.buildHeaders({options:$,method:W,bodyHeaders:Q,retryCount:w});return{req:{method:W,headers:M,...Z.signal&&{signal:Z.signal},...globalThis.ReadableStream&&z instanceof globalThis.ReadableStream&&{duplex:"half"},...z&&{body:z},...this.fetchOptions??{},...Z.fetchOptions??{}},url:J,timeout:Z.timeout}}async buildHeaders({options:$,method:w,bodyHeaders:Z,retryCount:W}){let X={};if(this.idempotencyHeader&&w!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();X[this.idempotencyHeader]=$.idempotencyKey}let Y=d([X,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(W),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...DJ(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},await this.authHeaders($),this._options.defaultHeaders,Z,$.headers]);return this.validateHeaders(Y),Y.values}buildBody({options:{body:$,headers:w}}){if(!$)return{bodyHeaders:void 0,body:void 0};let Z=d([w]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&Z.values.has("content-type")||globalThis.Blob&&$ instanceof globalThis.Blob||$ instanceof FormData||$ instanceof URLSearchParams||globalThis.ReadableStream&&$ instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:$};else if(typeof $==="object"&&((Symbol.asyncIterator in $)||(Symbol.iterator in $)&&("next"in $)&&typeof $.next==="function"))return{bodyHeaders:void 0,body:b8($)};else return F(this,Z6,"f").call(this,{body:$,headers:Z})}}h5=s,Z6=new WeakMap,u5=new WeakSet,eJ=function(){return this.baseURL!=="https://api.anthropic.com"};s.Anthropic=h5;s.HUMAN_PROMPT=$Q;s.AI_PROMPT=wQ;s.DEFAULT_TIMEOUT=600000;s.AnthropicError=y;s.APIError=Z0;s.APIConnectionError=Y1;s.APIConnectionTimeoutError=ew;s.APIUserAbortError=B0;s.NotFoundError=W9;s.ConflictError=X9;s.RateLimitError=G9;s.BadRequestError=$9;s.AuthenticationError=w9;s.InternalServerError=J9;s.PermissionDeniedError=Z9;s.UnprocessableEntityError=Y9;s.toFile=h8;class B$ extends s{constructor(){super(...arguments);this.completions=new n1(this),this.messages=new Q1(this),this.models=new r1(this),this.beta=new N$(this)}}B$.Completions=n1;B$.Messages=Q1;B$.Models=r1;B$.Beta=N$;class i5{client;constructor($){this.client=new B$({...$,maxRetries:0})}async*stream($){let{system:w,messages:Z}=LF($.messages),W=this.client.messages.stream({model:$.model,system:w,messages:Z,max_tokens:$.maxOutputTokens,...$.tools.length?{tools:$.tools.map((Y)=>({name:Y.name,description:Y.description,input_schema:Y.inputSchema}))}:{}},$.signal?{signal:$.signal}:void 0),X=new Map;for await(let Y of W)if(Y.type==="content_block_start"&&Y.content_block.type==="tool_use")X.set(Y.index,""),yield{type:"tool_call_start",index:Y.index,callId:Y.content_block.id,name:Y.content_block.name};else if(Y.type==="content_block_delta"&&Y.delta.type==="text_delta")yield{type:"text_delta",text:Y.delta.text};else if(Y.type==="content_block_delta"&&Y.delta.type==="input_json_delta")X.set(Y.index,(X.get(Y.index)??"")+Y.delta.partial_json),yield{type:"tool_call_delta",index:Y.index,argumentsDelta:Y.delta.partial_json};else if(Y.type==="content_block_stop"&&X.has(Y.index))yield{type:"tool_call_end",index:Y.index};else if(Y.type==="message_start")yield{type:"usage",usage:{inputTokens:Y.message.usage.input_tokens,outputTokens:Y.message.usage.output_tokens}};else if(Y.type==="message_delta")yield{type:"usage",usage:{inputTokens:0,outputTokens:Y.usage.output_tokens}};yield{type:"done"}}}function LF($){let w=$.filter((W)=>W.role==="system").map((W)=>W.content).join(`
172
+ `);this.baseURL=X.baseURL,this.timeout=X.timeout??CZ.DEFAULT_TIMEOUT,this.logger=X.logger??console;let Y="warn";this.logLevel=Y,this.logLevel=BZ(X.logLevel,"ClientOptions.logLevel",this)??BZ(W9("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??Y,this.fetchOptions=X.fetchOptions,this.maxRetries=X.maxRetries??2,this.fetch=X.fetch??vT(),I(this,y6,hT,"f"),this._options=X,this.apiKey=w,this.authToken=W}withOptions($){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...$})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:$,nulls:w}){if(this.apiKey&&$.get("x-api-key"))return;if(w.has("x-api-key"))return;if(this.authToken&&$.get("authorization"))return;if(w.has("authorization"))return;throw Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}async authHeaders($){return n([await this.apiKeyAuth($),await this.bearerAuth($)])}async apiKeyAuth($){if(this.apiKey==null)return;return n([{"X-Api-Key":this.apiKey}])}async bearerAuth($){if(this.authToken==null)return;return n([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery($){return Object.entries($).filter(([w,W])=>typeof W<"u").map(([w,W])=>{if(typeof W==="string"||typeof W==="number"||typeof W==="boolean")return`${encodeURIComponent(w)}=${encodeURIComponent(W)}`;if(W===null)return`${encodeURIComponent(w)}=`;throw new b(`Cannot stringify type ${typeof W}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${l$}`}defaultIdempotencyKey(){return`stainless-node-retry-${TZ()}`}makeStatusError($,w,W,Z){return G0.generate($,w,W,Z)}buildURL($,w,W){let Z=!F(this,RZ,"m",NQ).call(this)&&W||this.baseURL,X=ST($)?new URL($):new URL(Z+(Z.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),Y=this.defaultQuery();if(!RT(Y))w={...Y,...w};if(typeof w==="object"&&w&&!Array.isArray(w))X.search=this.stringifyQuery(w);return X.toString()}_calculateNonstreamingTimeout($){if(3600*$/128000>600)throw new b("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 600000}async prepareOptions($){}async prepareRequest($,{url:w,options:W}){}get($,w){return this.methodRequest("get",$,w)}post($,w){return this.methodRequest("post",$,w)}patch($,w){return this.methodRequest("patch",$,w)}put($,w){return this.methodRequest("put",$,w)}delete($,w){return this.methodRequest("delete",$,w)}methodRequest($,w,W){return this.request(Promise.resolve(W).then((Z)=>{return{method:$,path:w,...Z}}))}request($,w=null){return new q1(this,this.makeRequest($,w,void 0))}async makeRequest($,w,W){let Z=await $,X=Z.maxRetries??this.maxRetries;if(w==null)w=X;await this.prepareOptions(Z);let{req:Y,url:G,timeout:J}=await this.buildRequest(Z,{retryCount:X-w});await this.prepareRequest(Y,{url:G,options:Z});let T="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),Q=W===void 0?"":`, retryOf: ${W}`,M=Date.now();if(z0(this).debug(`[${T}] sending request`,H$({retryOfRequestLogID:W,method:Z.method,url:G,options:Z,headers:Y.headers})),Z.signal?.aborted)throw new q0;let z=new AbortController,N=await this.fetchWithTimeout(G,Y,J,z).catch(L4),B=Date.now();if(N instanceof globalThis.Error){let q=`retrying, ${w} attempts remaining`;if(Z.signal?.aborted)throw new q0;let f=U$(N)||/timed? ?out/i.test(String(N)+("cause"in N?String(N.cause):""));if(w)return z0(this).info(`[${T}] connection ${f?"timed out":"failed"} - ${q}`),z0(this).debug(`[${T}] connection ${f?"timed out":"failed"} (${q})`,H$({retryOfRequestLogID:W,url:G,durationMs:B-M,message:N.message})),this.retryRequest(Z,w,W??T);if(z0(this).info(`[${T}] connection ${f?"timed out":"failed"} - error; no more retries left`),z0(this).debug(`[${T}] connection ${f?"timed out":"failed"} (error; no more retries left)`,H$({retryOfRequestLogID:W,url:G,durationMs:B-M,message:N.message})),f)throw new D4;throw new f1({cause:N})}let K=[...N.headers.entries()].filter(([q])=>q==="request-id").map(([q,f])=>", "+q+": "+JSON.stringify(f)).join(""),P=`[${T}${Q}${K}] ${Y.method} ${G} ${N.ok?"succeeded":"failed"} with status ${N.status} in ${B-M}ms`;if(!N.ok){let q=await this.shouldRetry(N);if(w&&q){let j=`retrying, ${w} attempts remaining`;return await uT(N.body),z0(this).info(`${P} - ${j}`),z0(this).debug(`[${T}] response error (${j})`,H$({retryOfRequestLogID:W,url:N.url,status:N.status,headers:N.headers,durationMs:B-M})),this.retryRequest(Z,w,W??T,N.headers)}let f=q?"error; no more retries left":"error; not retryable";z0(this).info(`${P} - ${f}`);let H=await N.text().catch((j)=>L4(j).message),E=Q6(H),S=E?void 0:H;throw z0(this).debug(`[${T}] response error (${f})`,H$({retryOfRequestLogID:W,url:N.url,status:N.status,headers:N.headers,message:S,durationMs:Date.now()-M})),this.makeStatusError(N.status,E,S,N.headers)}return z0(this).info(P),z0(this).debug(`[${T}] response start`,H$({retryOfRequestLogID:W,url:N.url,status:N.status,headers:N.headers,durationMs:B-M})),{response:N,options:Z,controller:z,requestLogID:T,retryOfRequestLogID:W,startTime:M}}getAPIList($,w,W){return this.requestAPIList(w,{method:"get",path:$,...W})}requestAPIList($,w){let W=this.makeRequest(w,null,void 0);return new P6(this,W,$)}async fetchWithTimeout($,w,W,Z){let{signal:X,method:Y,...G}=w||{};if(X)X.addEventListener("abort",()=>Z.abort());let J=setTimeout(()=>Z.abort(),W),T=globalThis.ReadableStream&&G.body instanceof globalThis.ReadableStream||typeof G.body==="object"&&G.body!==null&&Symbol.asyncIterator in G.body,Q={signal:Z.signal,...T?{duplex:"half"}:{},method:"GET",...G};if(Y)Q.method=Y.toUpperCase();try{return await this.fetch.call(void 0,$,Q)}finally{clearTimeout(J)}}async shouldRetry($){let w=$.headers.get("x-should-retry");if(w==="true")return!0;if(w==="false")return!1;if($.status===408)return!0;if($.status===409)return!0;if($.status===429)return!0;if($.status>=500)return!0;return!1}async retryRequest($,w,W,Z){let X,Y=Z?.get("retry-after-ms");if(Y){let J=parseFloat(Y);if(!Number.isNaN(J))X=J}let G=Z?.get("retry-after");if(G&&!X){let J=parseFloat(G);if(!Number.isNaN(J))X=J*1000;else X=Date.parse(G)-Date.now()}if(!(X&&0<=X&&X<60000)){let J=$.maxRetries??this.maxRetries;X=this.calculateDefaultRetryTimeoutMillis(w,J)}return await yT(X),this.makeRequest($,w-1,W)}calculateDefaultRetryTimeoutMillis($,w){let X=w-$,Y=Math.min(0.5*Math.pow(2,X),8),G=1-Math.random()*0.25;return Y*G*1000}calculateNonstreamingTimeout($,w){if(3600000*$/128000>600000||w!=null&&$>w)throw new b("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");return 600000}async buildRequest($,{retryCount:w=0}={}){let W={...$},{method:Z,path:X,query:Y,defaultBaseURL:G}=W,J=this.buildURL(X,Y,G);if("timeout"in W)jT("timeout",W.timeout);W.timeout=W.timeout??this.timeout;let{bodyHeaders:T,body:Q}=this.buildBody({options:W}),M=await this.buildHeaders({options:$,method:Z,bodyHeaders:T,retryCount:w});return{req:{method:Z,headers:M,...W.signal&&{signal:W.signal},...globalThis.ReadableStream&&Q instanceof globalThis.ReadableStream&&{duplex:"half"},...Q&&{body:Q},...this.fetchOptions??{},...W.fetchOptions??{}},url:J,timeout:W.timeout}}async buildHeaders({options:$,method:w,bodyHeaders:W,retryCount:Z}){let X={};if(this.idempotencyHeader&&w!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();X[this.idempotencyHeader]=$.idempotencyKey}let Y=n([X,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(Z),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...gT(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},await this.authHeaders($),this._options.defaultHeaders,W,$.headers]);return this.validateHeaders(Y),Y.values}buildBody({options:{body:$,headers:w}}){if(!$)return{bodyHeaders:void 0,body:void 0};let W=n([w]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&W.values.has("content-type")||globalThis.Blob&&$ instanceof globalThis.Blob||$ instanceof FormData||$ instanceof URLSearchParams||globalThis.ReadableStream&&$ instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:$};else if(typeof $==="object"&&((Symbol.asyncIterator in $)||(Symbol.iterator in $)&&("next"in $)&&typeof $.next==="function"))return{bodyHeaders:void 0,body:M6($)};else return F(this,y6,"f").call(this,{body:$,headers:W})}}CZ=o,y6=new WeakMap,RZ=new WeakSet,NQ=function(){return this.baseURL!=="https://api.anthropic.com"};o.Anthropic=CZ;o.HUMAN_PROMPT=KQ;o.AI_PROMPT=BQ;o.DEFAULT_TIMEOUT=600000;o.AnthropicError=b;o.APIError=G0;o.APIConnectionError=f1;o.APIConnectionTimeoutError=D4;o.APIUserAbortError=q0;o.NotFoundError=R4;o.ConflictError=C4;o.RateLimitError=y4;o.BadRequestError=k4;o.AuthenticationError=A4;o.InternalServerError=I4;o.PermissionDeniedError=S4;o.UnprocessableEntityError=j4;o.toFile=V6;class L$ extends o{constructor(){super(...arguments);this.completions=new zw(this),this.messages=new H1(this),this.models=new Kw(this),this.beta=new O$(this)}}L$.Completions=zw;L$.Messages=H1;L$.Models=Kw;L$.Beta=O$;class jZ{client;constructor($){this.client=new L$({...$,maxRetries:0})}async*stream($){let{system:w,messages:W}=cO($.messages),Z=this.client.messages.stream({model:$.model,system:w,messages:W,max_tokens:$.maxOutputTokens,...$.tools.length?{tools:$.tools.map((Y)=>({name:Y.name,description:Y.description,input_schema:Y.inputSchema}))}:{}},$.signal?{signal:$.signal}:void 0),X=new Map;for await(let Y of Z)if(Y.type==="content_block_start"&&Y.content_block.type==="tool_use")X.set(Y.index,""),yield{type:"tool_call_start",index:Y.index,callId:Y.content_block.id,name:Y.content_block.name};else if(Y.type==="content_block_delta"&&Y.delta.type==="text_delta")yield{type:"text_delta",text:Y.delta.text};else if(Y.type==="content_block_delta"&&Y.delta.type==="input_json_delta")X.set(Y.index,(X.get(Y.index)??"")+Y.delta.partial_json),yield{type:"tool_call_delta",index:Y.index,argumentsDelta:Y.delta.partial_json};else if(Y.type==="content_block_stop"&&X.has(Y.index))yield{type:"tool_call_end",index:Y.index};else if(Y.type==="message_start")yield{type:"usage",usage:{inputTokens:Y.message.usage.input_tokens,outputTokens:Y.message.usage.output_tokens}};else if(Y.type==="message_delta")yield{type:"usage",usage:{inputTokens:0,outputTokens:Y.usage.output_tokens}};yield{type:"done"}}}function cO($){let w=$.filter((Z)=>Z.role==="system").map((Z)=>Z.content).join(`
88
173
 
89
- `),Z=[];for(let W of $){if(W.role==="system")continue;if(W.role==="user")Z.push({role:"user",content:W.content});else if(W.role==="assistant")Z.push({role:"assistant",content:[...W.content?[{type:"text",text:W.content}]:[],...W.toolCalls.map((X)=>({type:"tool_use",id:X.callId,name:X.name,input:X.input}))]});else{let X={type:"tool_result",tool_use_id:W.callId,content:W.content,is_error:W.isError},Y=Z.at(-1);if(Y?.role==="user"&&Array.isArray(Y.content))Y.content=[...Y.content,X];else Z.push({role:"user",content:[X]})}}return{system:w,messages:Z}}function R($,w,Z,W,X){if(W==="m")throw TypeError("Private method is not writable");if(W==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof w==="function"?$!==w||!X:!w.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?X.call($,Z):X?X.value=Z:w.set($,Z),Z}function V($,w,Z,W){if(Z==="a"&&!W)throw TypeError("Private accessor was defined without a getter");if(typeof w==="function"?$!==w||!W:!w.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return Z==="m"?W:Z==="a"?W.call($):W?W.value:w.get($)}var m5=function(){let{crypto:$}=globalThis;if($?.randomUUID)return m5=$.randomUUID.bind($),$.randomUUID();let w=new Uint8Array(1),Z=$?()=>$.getRandomValues(w)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(W)=>(+W^Z()&15>>+W/4).toString(16))};function j9($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var I9=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let w=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)w.stack=$.stack;if($.cause&&!w.cause)w.cause=$.cause;if($.name)w.name=$.name;return w}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};class k extends Error{}class w0 extends k{constructor($,w,Z,W){super(`${w0.makeMessage($,w,Z)}`);this.status=$,this.headers=W,this.requestID=W?.get("x-request-id"),this.error=w;let X=w;this.code=X?.code,this.param=X?.param,this.type=X?.type}static makeMessage($,w,Z){let W=w?.message?typeof w.message==="string"?w.message:JSON.stringify(w.message):w?JSON.stringify(w):Z;if($&&W)return`${$} ${W}`;if($)return`${$} status code (no body)`;if(W)return W;return"(no status code or body)"}static generate($,w,Z,W){if(!$||!W)return new z1({message:Z,cause:I9(w)});let X=w?.error;if($===400)return new y9($,X,Z,W);if($===401)return new b9($,X,Z,W);if($===403)return new x9($,X,Z,W);if($===404)return new _9($,X,Z,W);if($===409)return new g9($,X,Z,W);if($===422)return new v9($,X,Z,W);if($===429)return new u9($,X,Z,W);if($>=500)return new h9($,X,Z,W);return new w0($,X,Z,W)}}class X0 extends w0{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class z1 extends w0{constructor({message:$,cause:w}){super(void 0,void 0,$||"Connection error.",void 0);if(w)this.cause=w}}class M1 extends z1{constructor({message:$}={}){super({message:$??"Request timed out."})}}class y9 extends w0{}class b9 extends w0{}class x9 extends w0{}class _9 extends w0{}class g9 extends w0{}class v9 extends w0{}class u9 extends w0{}class h9 extends w0{}class i9 extends k{constructor(){super("Could not parse response content as the length limit was reached")}}class m9 extends k{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class V$ extends Error{constructor($){super($)}}var fF=/^[a-z][a-z0-9+.-]*:/i,ZQ=($)=>{return fF.test($)},P0=($)=>(P0=Array.isArray,P0($)),l5=P0;function c5($){if(typeof $!=="object")return{};return $??{}}function WQ($){if(!$)return!0;for(let w in $)return!1;return!0}function XQ($,w){return Object.prototype.hasOwnProperty.call($,w)}function l9($){return $!=null&&typeof $==="object"&&!Array.isArray($)}var YQ=($,w)=>{if(typeof w!=="number"||!Number.isInteger(w))throw new k(`${$} must be an integer`);if(w<0)throw new k(`${$} must be a positive integer`);return w};var GQ=($)=>{try{return JSON.parse($)}catch(w){return}};var o0=($)=>new Promise((w)=>setTimeout(w,$));var v$="5.23.2";var MQ=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function kF(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}var AF=()=>{let $=kF();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":v$,"X-Stainless-OS":QQ(Deno.build.os),"X-Stainless-Arch":JQ(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":v$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":v$,"X-Stainless-OS":QQ(globalThis.process.platform??"unknown"),"X-Stainless-Arch":JQ(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let w=SF();if(w)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":v$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${w.browser}`,"X-Stainless-Runtime-Version":w.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":v$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function SF(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:w,pattern:Z}of $){let W=Z.exec(navigator.userAgent);if(W){let X=W[1]||0,Y=W[2]||0,G=W[3]||0;return{browser:w,version:`${X}.${Y}.${G}`}}}return null}var JQ=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},QQ=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},zQ,TQ=()=>{return zQ??(zQ=AF())};function NQ(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function d5(...$){let w=globalThis.ReadableStream;if(typeof w>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new w(...$)}function W6($){let w=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return d5({start(){},async pull(Z){let{done:W,value:X}=await w.next();if(W)Z.close();else Z.enqueue(X)},async cancel(){await w.return?.()}})}function p5($){if($[Symbol.asyncIterator])return $;let w=$.getReader();return{async next(){try{let Z=await w.read();if(Z?.done)w.releaseLock();return Z}catch(Z){throw w.releaseLock(),Z}},async return(){let Z=w.cancel();return w.releaseLock(),await Z,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function KQ($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let w=$.getReader(),Z=w.cancel();w.releaseLock(),await Z}var BQ=({headers:$,body:w})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(w)}};var X6="RFC3986",n5=($)=>String($),Y6={RFC1738:($)=>String($).replace(/%20/g,"+"),RFC3986:n5},t5="RFC1738";var G6=($,w)=>(G6=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),G6($,w)),e0=(()=>{let $=[];for(let w=0;w<256;++w)$.push("%"+((w<16?"0":"")+w.toString(16)).toUpperCase());return $})();var r5=1024,VQ=($,w,Z,W,X)=>{if($.length===0)return $;let Y=$;if(typeof $==="symbol")Y=Symbol.prototype.toString.call($);else if(typeof $!=="string")Y=String($);if(Z==="iso-8859-1")return escape(Y).replace(/%u[0-9a-f]{4}/gi,function(J){return"%26%23"+parseInt(J.slice(2),16)+"%3B"});let G="";for(let J=0;J<Y.length;J+=r5){let Q=Y.length>=r5?Y.slice(J,J+r5):Y,z=[];for(let M=0;M<Q.length;++M){let T=Q.charCodeAt(M);if(T===45||T===46||T===95||T===126||T>=48&&T<=57||T>=65&&T<=90||T>=97&&T<=122||X===t5&&(T===40||T===41)){z[z.length]=Q.charAt(M);continue}if(T<128){z[z.length]=e0[T];continue}if(T<2048){z[z.length]=e0[192|T>>6]+e0[128|T&63];continue}if(T<55296||T>=57344){z[z.length]=e0[224|T>>12]+e0[128|T>>6&63]+e0[128|T&63];continue}M+=1,T=65536+((T&1023)<<10|Q.charCodeAt(M)&1023),z[z.length]=e0[240|T>>18]+e0[128|T>>12&63]+e0[128|T>>6&63]+e0[128|T&63]}G+=z.join("")}return G};function PQ($){if(!$||typeof $!=="object")return!1;return!!($.constructor&&$.constructor.isBuffer&&$.constructor.isBuffer($))}function s5($,w){if(P0($)){let Z=[];for(let W=0;W<$.length;W+=1)Z.push(w($[W]));return Z}return w($)}var UQ={brackets($){return String($)+"[]"},comma:"comma",indices($,w){return String($)+"["+w+"]"},repeat($){return String($)}},HQ=function($,w){Array.prototype.push.apply($,P0(w)?w:[w])},qQ,Y0={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:VQ,encodeValuesOnly:!1,format:X6,formatter:n5,indices:!1,serializeDate($){return(qQ??(qQ=Function.prototype.call.bind(Date.prototype.toISOString)))($)},skipNulls:!1,strictNullHandling:!1};function jF($){return typeof $==="string"||typeof $==="number"||typeof $==="boolean"||typeof $==="symbol"||typeof $==="bigint"}var a5={};function FQ($,w,Z,W,X,Y,G,J,Q,z,M,T,N,K,B,P,q,U){let O=$,f=U,C=0,A=!1;while((f=f.get(a5))!==void 0&&!A){let h=f.get($);if(C+=1,typeof h<"u")if(h===C)throw RangeError("Cyclic object value");else A=!0;if(typeof f.get(a5)>"u")C=0}if(typeof z==="function")O=z(w,O);else if(O instanceof Date)O=N?.(O);else if(Z==="comma"&&P0(O))O=s5(O,function(h){if(h instanceof Date)return N?.(h);return h});if(O===null){if(Y)return Q&&!P?Q(w,Y0.encoder,q,"key",K):w;O=""}if(jF(O)||PQ(O)){if(Q){let h=P?w:Q(w,Y0.encoder,q,"key",K);return[B?.(h)+"="+B?.(Q(O,Y0.encoder,q,"value",K))]}return[B?.(w)+"="+B?.(String(O))]}let u=[];if(typeof O>"u")return u;let i;if(Z==="comma"&&P0(O)){if(P&&Q)O=s5(O,Q);i=[{value:O.length>0?O.join(",")||null:void 0}]}else if(P0(z))i=z;else{let h=Object.keys(O);i=M?h.sort(M):h}let r=J?String(w).replace(/\./g,"%2E"):String(w),z0=W&&P0(O)&&O.length===1?r+"[]":r;if(X&&P0(O)&&O.length===0)return z0+"[]";for(let h=0;h<i.length;++h){let q0=i[h],p$=typeof q0==="object"&&typeof q0.value<"u"?q0.value:O[q0];if(G&&p$===null)continue;let Z$=T&&J?q0.replace(/\./g,"%2E"):q0,S1=P0(O)?typeof Z==="function"?Z(z0,Z$):z0:z0+(T?"."+Z$:"["+Z$+"]");U.set($,C);let Ew=new WeakMap;Ew.set(a5,U),HQ(u,FQ(p$,S1,Z,W,X,Y,G,J,Z==="comma"&&P&&P0(O)?null:Q,z,M,T,N,K,B,P,q,Ew))}return u}function IF($=Y0){if(typeof $.allowEmptyArrays<"u"&&typeof $.allowEmptyArrays!=="boolean")throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof $.encodeDotInKeys<"u"&&typeof $.encodeDotInKeys!=="boolean")throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if($.encoder!==null&&typeof $.encoder<"u"&&typeof $.encoder!=="function")throw TypeError("Encoder has to be a function.");let w=$.charset||Y0.charset;if(typeof $.charset<"u"&&$.charset!=="utf-8"&&$.charset!=="iso-8859-1")throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let Z=X6;if(typeof $.format<"u"){if(!G6(Y6,$.format))throw TypeError("Unknown format option provided.");Z=$.format}let W=Y6[Z],X=Y0.filter;if(typeof $.filter==="function"||P0($.filter))X=$.filter;let Y;if($.arrayFormat&&$.arrayFormat in UQ)Y=$.arrayFormat;else if("indices"in $)Y=$.indices?"indices":"repeat";else Y=Y0.arrayFormat;if("commaRoundTrip"in $&&typeof $.commaRoundTrip!=="boolean")throw TypeError("`commaRoundTrip` must be a boolean, or absent");let G=typeof $.allowDots>"u"?!!$.encodeDotInKeys===!0?!0:Y0.allowDots:!!$.allowDots;return{addQueryPrefix:typeof $.addQueryPrefix==="boolean"?$.addQueryPrefix:Y0.addQueryPrefix,allowDots:G,allowEmptyArrays:typeof $.allowEmptyArrays==="boolean"?!!$.allowEmptyArrays:Y0.allowEmptyArrays,arrayFormat:Y,charset:w,charsetSentinel:typeof $.charsetSentinel==="boolean"?$.charsetSentinel:Y0.charsetSentinel,commaRoundTrip:!!$.commaRoundTrip,delimiter:typeof $.delimiter>"u"?Y0.delimiter:$.delimiter,encode:typeof $.encode==="boolean"?$.encode:Y0.encode,encodeDotInKeys:typeof $.encodeDotInKeys==="boolean"?$.encodeDotInKeys:Y0.encodeDotInKeys,encoder:typeof $.encoder==="function"?$.encoder:Y0.encoder,encodeValuesOnly:typeof $.encodeValuesOnly==="boolean"?$.encodeValuesOnly:Y0.encodeValuesOnly,filter:X,format:Z,formatter:W,serializeDate:typeof $.serializeDate==="function"?$.serializeDate:Y0.serializeDate,skipNulls:typeof $.skipNulls==="boolean"?$.skipNulls:Y0.skipNulls,sort:typeof $.sort==="function"?$.sort:null,strictNullHandling:typeof $.strictNullHandling==="boolean"?$.strictNullHandling:Y0.strictNullHandling}}function o5($,w={}){let Z=$,W=IF(w),X,Y;if(typeof W.filter==="function")Y=W.filter,Z=Y("",Z);else if(P0(W.filter))Y=W.filter,X=Y;let G=[];if(typeof Z!=="object"||Z===null)return"";let J=UQ[W.arrayFormat],Q=J==="comma"&&W.commaRoundTrip;if(!X)X=Object.keys(Z);if(W.sort)X.sort(W.sort);let z=new WeakMap;for(let N=0;N<X.length;++N){let K=X[N];if(W.skipNulls&&Z[K]===null)continue;HQ(G,FQ(Z[K],K,J,Q,W.allowEmptyArrays,W.strictNullHandling,W.skipNulls,W.encodeDotInKeys,W.encode?W.encoder:null,W.filter,W.sort,W.allowDots,W.serializeDate,W.format,W.formatter,W.encodeValuesOnly,W.charset,z))}let M=G.join(W.delimiter),T=W.addQueryPrefix===!0?"?":"";if(W.charsetSentinel)if(W.charset==="iso-8859-1")T+="utf8=%26%2310003%3B&";else T+="utf8=%E2%9C%93&";return M.length>0?T+M:""}function LQ($){let w=0;for(let X of $)w+=X.length;let Z=new Uint8Array(w),W=0;for(let X of $)Z.set(X,W),W+=X.length;return Z}var OQ;function s1($){let w;return(OQ??(w=new globalThis.TextEncoder,OQ=w.encode.bind(w)))($)}var EQ;function e5($){let w;return(EQ??(w=new globalThis.TextDecoder,EQ=w.decode.bind(w)))($)}var j0,I0;class a1{constructor(){j0.set(this,void 0),I0.set(this,void 0),R(this,j0,new Uint8Array,"f"),R(this,I0,null,"f")}decode($){if($==null)return[];let w=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?s1($):$;R(this,j0,LQ([V(this,j0,"f"),w]),"f");let Z=[],W;while((W=bF(V(this,j0,"f"),V(this,I0,"f")))!=null){if(W.carriage&&V(this,I0,"f")==null){R(this,I0,W.index,"f");continue}if(V(this,I0,"f")!=null&&(W.index!==V(this,I0,"f")+1||W.carriage)){Z.push(e5(V(this,j0,"f").subarray(0,V(this,I0,"f")-1))),R(this,j0,V(this,j0,"f").subarray(V(this,I0,"f")),"f"),R(this,I0,null,"f");continue}let X=V(this,I0,"f")!==null?W.preceding-1:W.preceding,Y=e5(V(this,j0,"f").subarray(0,X));Z.push(Y),R(this,j0,V(this,j0,"f").subarray(W.index),"f"),R(this,I0,null,"f")}return Z}flush(){if(!V(this,j0,"f").length)return[];return this.decode(`
90
- `)}}j0=new WeakMap,I0=new WeakMap;a1.NEWLINE_CHARS=new Set([`
91
- `,"\r"]);a1.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function bF($,w){for(let X=w??0;X<$.length;X++){if($[X]===10)return{preceding:X,index:X+1,carriage:!1};if($[X]===13)return{preceding:X,index:X+1,carriage:!0}}return null}function DQ($){for(let W=0;W<$.length-1;W++){if($[W]===10&&$[W+1]===10)return W+2;if($[W]===13&&$[W+1]===13)return W+2;if($[W]===13&&$[W+1]===10&&W+3<$.length&&$[W+2]===13&&$[W+3]===10)return W+4}return-1}var Q6={off:0,error:200,warn:300,info:400,debug:500},$W=($,w,Z)=>{if(!$)return;if(XQ(Q6,$))return $;$0(Z).warn(`${w} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(Q6))}`);return};function c9(){}function J6($,w,Z){if(!w||Q6[$]>Q6[Z])return c9;else return w[$].bind(w)}var xF={error:c9,warn:c9,info:c9,debug:c9},fQ=new WeakMap;function $0($){let w=$.logger,Z=$.logLevel??"off";if(!w)return xF;let W=fQ.get(w);if(W&&W[0]===Z)return W[1];let X={error:J6("error",w,Z),warn:J6("warn",w,Z),info:J6("info",w,Z),debug:J6("debug",w,Z)};return fQ.set(w,[Z,X]),X}var P$=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([w,Z])=>[w,w.toLowerCase()==="authorization"||w.toLowerCase()==="cookie"||w.toLowerCase()==="set-cookie"?"***":Z]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var d9;class y0{constructor($,w,Z){this.iterator=$,d9.set(this,void 0),this.controller=w,R(this,d9,Z,"f")}static fromSSEResponse($,w,Z){let W=!1,X=Z?$0(Z):console;async function*Y(){if(W)throw new k("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");W=!0;let G=!1;try{for await(let J of _F($,w)){if(G)continue;if(J.data.startsWith("[DONE]")){G=!0;continue}if(J.event===null||!J.event.startsWith("thread.")){let Q;try{Q=JSON.parse(J.data)}catch(z){throw X.error("Could not parse message into JSON:",J.data),X.error("From chunk:",J.raw),z}if(Q&&Q.error)throw new w0(void 0,Q.error,void 0,$.headers);yield Q}else{let Q;try{Q=JSON.parse(J.data)}catch(z){throw console.error("Could not parse message into JSON:",J.data),console.error("From chunk:",J.raw),z}if(J.event=="error")throw new w0(void 0,Q.error,Q.message,void 0);yield{event:J.event,data:Q}}}G=!0}catch(J){if(j9(J))return;throw J}finally{if(!G)w.abort()}}return new y0(Y,w,Z)}static fromReadableStream($,w,Z){let W=!1;async function*X(){let G=new a1,J=p5($);for await(let Q of J)for(let z of G.decode(Q))yield z;for(let Q of G.flush())yield Q}async function*Y(){if(W)throw new k("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");W=!0;let G=!1;try{for await(let J of X()){if(G)continue;if(J)yield JSON.parse(J)}G=!0}catch(J){if(j9(J))return;throw J}finally{if(!G)w.abort()}}return new y0(Y,w,Z)}[(d9=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],w=[],Z=this.iterator(),W=(X)=>{return{next:()=>{if(X.length===0){let Y=Z.next();$.push(Y),w.push(Y)}return X.shift()}}};return[new y0(()=>W($),this.controller,V(this,d9,"f")),new y0(()=>W(w),this.controller,V(this,d9,"f"))]}toReadableStream(){let $=this,w;return d5({async start(){w=$[Symbol.asyncIterator]()},async pull(Z){try{let{value:W,done:X}=await w.next();if(X)return Z.close();let Y=s1(JSON.stringify(W)+`
92
- `);Z.enqueue(Y)}catch(W){Z.error(W)}},async cancel(){await w.return?.()}})}}async function*_F($,w){if(!$.body){if(w.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new k("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new k("Attempted to iterate over a response with no body")}let Z=new kQ,W=new a1,X=p5($.body);for await(let Y of gF(X))for(let G of W.decode(Y)){let J=Z.decode(G);if(J)yield J}for(let Y of W.flush()){let G=Z.decode(Y);if(G)yield G}}async function*gF($){let w=new Uint8Array;for await(let Z of $){if(Z==null)continue;let W=Z instanceof ArrayBuffer?new Uint8Array(Z):typeof Z==="string"?s1(Z):Z,X=new Uint8Array(w.length+W.length);X.set(w),X.set(W,w.length),w=X;let Y;while((Y=DQ(w))!==-1)yield w.slice(0,Y),w=w.slice(Y)}if(w.length>0)yield w}class kQ{constructor(){this.event=null,this.data=[],this.chunks=[]}decode($){if($.endsWith("\r"))$=$.substring(0,$.length-1);if(!$){if(!this.event&&!this.data.length)return null;let X={event:this.event,data:this.data.join(`
93
- `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],X}if(this.chunks.push($),$.startsWith(":"))return null;let[w,Z,W]=vF($,":");if(W.startsWith(" "))W=W.substring(1);if(w==="event")this.event=W;else if(w==="data")this.data.push(W);return null}}function vF($,w){let Z=$.indexOf(w);if(Z!==-1)return[$.substring(0,Z),w,$.substring(Z+w.length)];return[$,"",""]}async function z6($,w){let{response:Z,requestLogID:W,retryOfRequestLogID:X,startTime:Y}=w,G=await(async()=>{if(w.options.stream){if($0($).debug("response",Z.status,Z.url,Z.headers,Z.body),w.options.__streamClass)return w.options.__streamClass.fromSSEResponse(Z,w.controller,$);return y0.fromSSEResponse(Z,w.controller,$)}if(Z.status===204)return null;if(w.options.__binaryResponse)return Z;let Q=Z.headers.get("content-type")?.split(";")[0]?.trim();if(Q?.includes("application/json")||Q?.endsWith("+json")){let T=await Z.json();return wW(T,Z)}return await Z.text()})();return $0($).debug(`[${W}] response parsed`,P$({retryOfRequestLogID:X,url:Z.url,status:Z.status,body:G,durationMs:Date.now()-Y})),G}function wW($,w){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:w.headers.get("x-request-id"),enumerable:!1})}var p9;class T1 extends Promise{constructor($,w,Z=z6){super((W)=>{W(null)});this.responsePromise=w,this.parseResponse=Z,p9.set(this,void 0),R(this,p9,$,"f")}_thenUnwrap($){return new T1(V(this,p9,"f"),this.responsePromise,async(w,Z)=>wW($(await this.parseResponse(w,Z),Z),Z.response))}asResponse(){return this.responsePromise.then(($)=>$.response)}async withResponse(){let[$,w]=await Promise.all([this.parse(),this.asResponse()]);return{data:$,response:w,request_id:w.headers.get("x-request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(($)=>this.parseResponse(V(this,p9,"f"),$));return this.parsedPromise}then($,w){return this.parse().then($,w)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}}p9=new WeakMap;var M6;class T6{constructor($,w,Z,W){M6.set(this,void 0),R(this,M6,$,"f"),this.options=W,this.response=w,this.body=Z}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageRequestOptions()!=null}async getNextPage(){let $=this.nextPageRequestOptions();if(!$)throw new k("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await V(this,M6,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(M6=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let w of $.getPaginatedItems())yield w}}class N6 extends T1{constructor($,w,Z){super($,w,async(W,X)=>new Z(W,X.response,await z6(W,X),X.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let w of $)yield w}}class q$ extends T6{constructor($,w,Z,W){super($,w,Z,W);this.data=Z.data||[],this.object=Z.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}}class g extends T6{constructor($,w,Z,W){super($,w,Z,W);this.data=Z.data||[],this.has_more=Z.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){let $=this.getPaginatedItems(),w=$[$.length-1]?.id;if(!w)return null;return{...this.options,query:{...c5(this.options.query),after:w}}}}class ZW extends T6{constructor($,w,Z,W){super($,w,Z,W);this.data=Z.data||[],this.has_more=Z.has_more||!1,this.last_id=Z.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){let $=this.last_id;if(!$)return null;return{...this.options,query:{...c5(this.options.query),after:$}}}}var XW=()=>{if(typeof File>"u"){let{process:$}=globalThis,w=typeof $?.versions?.node==="string"&&parseInt($.versions.node.split("."))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(w?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function o1($,w,Z){return XW(),new File($,w??"unknown_file",Z)}function n9($){return(typeof $==="object"&&$!==null&&(("name"in $)&&$.name&&String($.name)||("url"in $)&&$.url&&String($.url)||("filename"in $)&&$.filename&&String($.filename)||("path"in $)&&$.path&&String($.path))||"").split(/[\\/]/).pop()||void 0}var YW=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function";var b0=async($,w)=>{return{...$,body:await iF($.body,w)}},AQ=new WeakMap;function hF($){let w=typeof $==="function"?$:$.fetch,Z=AQ.get(w);if(Z)return Z;let W=(async()=>{try{let X="Response"in w?w.Response:(await w("data:,")).constructor,Y=new FormData;if(Y.toString()===await new X(Y).text())return!1;return!0}catch{return!0}})();return AQ.set(w,W),W}var iF=async($,w)=>{if(!await hF(w))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let Z=new FormData;return await Promise.all(Object.entries($||{}).map(([W,X])=>WW(Z,W,X))),Z},mF=($)=>$ instanceof Blob&&("name"in $);var WW=async($,w,Z)=>{if(Z===void 0)return;if(Z==null)throw TypeError(`Received null for "${w}"; to pass null in FormData, you must use the string 'null'`);if(typeof Z==="string"||typeof Z==="number"||typeof Z==="boolean")$.append(w,String(Z));else if(Z instanceof Response)$.append(w,o1([await Z.blob()],n9(Z)));else if(YW(Z))$.append(w,o1([await new Response(W6(Z)).blob()],n9(Z)));else if(mF(Z))$.append(w,Z,n9(Z));else if(Array.isArray(Z))await Promise.all(Z.map((W)=>WW($,w+"[]",W)));else if(typeof Z==="object")await Promise.all(Object.entries(Z).map(([W,X])=>WW($,`${w}[${W}]`,X)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${Z} instead`)};var SQ=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",lF=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&SQ($),cF=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";async function K6($,w,Z){if(XW(),$=await $,lF($)){if($ instanceof File)return $;return o1([await $.arrayBuffer()],$.name)}if(cF($)){let X=await $.blob();return w||(w=new URL($.url).pathname.split(/[\\/]/).pop()),o1(await GW(X),w,Z)}let W=await GW($);if(w||(w=n9($)),!Z?.type){let X=W.find((Y)=>typeof Y==="object"&&("type"in Y)&&Y.type);if(typeof X==="string")Z={...Z,type:X}}return o1(W,w,Z)}async function GW($){let w=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)w.push($);else if(SQ($))w.push($ instanceof Blob?$:await $.arrayBuffer());else if(YW($))for await(let Z of $)w.push(...await GW(Z));else{let Z=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${Z?`; constructor: ${Z}`:""}${dF($)}`)}return w}function dF($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((Z)=>`"${Z}"`).join(", ")}]`}class E{constructor($){this._client=$}}function CQ($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var RQ=Object.freeze(Object.create(null)),nF=($=CQ)=>function(Z,...W){if(Z.length===1)return Z[0];let X=!1,Y=[],G=Z.reduce((M,T,N)=>{if(/[?#]/.test(T))X=!0;let K=W[N],B=(X?encodeURIComponent:$)(""+K);if(N!==W.length&&(K==null||typeof K==="object"&&K.toString===Object.getPrototypeOf(Object.getPrototypeOf(K.hasOwnProperty??RQ)??RQ)?.toString))B=K+"",Y.push({start:M.length+T.length,length:B.length,error:`Value of type ${Object.prototype.toString.call(K).slice(8,-1)} is not a valid path parameter`});return M+T+(N===W.length?"":B)},""),J=G.split(/[?#]/,1)[0],Q=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,z;while((z=Q.exec(J))!==null)Y.push({start:z.index,length:z[0].length,error:`Value "${z[0]}" can't be safely passed as a path parameter`});if(Y.sort((M,T)=>M.start-T.start),Y.length>0){let M=0,T=Y.reduce((N,K)=>{let B=" ".repeat(K.start-M),P="^".repeat(K.length);return M=K.start+K.length,N+B+P},"");throw new k(`Path parameters result in path with invalid segments:
174
+ `),W=[];for(let Z of $){if(Z.role==="system")continue;if(Z.role==="user")W.push({role:"user",content:Z.content});else if(Z.role==="assistant")W.push({role:"assistant",content:[...Z.content?[{type:"text",text:Z.content}]:[],...Z.toolCalls.map((X)=>({type:"tool_use",id:X.callId,name:X.name,input:X.input}))]});else{let X={type:"tool_result",tool_use_id:Z.callId,content:Z.content,is_error:Z.isError},Y=W.at(-1);if(Y?.role==="user"&&Array.isArray(Y.content))Y.content=[...Y.content,X];else W.push({role:"user",content:[X]})}}return{system:w,messages:W}}function C($,w,W,Z,X){if(Z==="m")throw TypeError("Private method is not writable");if(Z==="a"&&!X)throw TypeError("Private accessor was defined without a setter");if(typeof w==="function"?$!==w||!X:!w.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Z==="a"?X.call($,W):X?X.value=W:w.set($,W),W}function V($,w,W,Z){if(W==="a"&&!Z)throw TypeError("Private accessor was defined without a getter");if(typeof w==="function"?$!==w||!Z:!w.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return W==="m"?Z:W==="a"?Z.call($):Z?Z.value:w.get($)}var yZ=function(){let{crypto:$}=globalThis;if($?.randomUUID)return yZ=$.randomUUID.bind($),$.randomUUID();let w=new Uint8Array(1),W=$?()=>$.getRandomValues(w)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(Z)=>(+Z^W()&15>>+Z/4).toString(16))};function Z9($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var X9=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let w=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)w.stack=$.stack;if($.cause&&!w.cause)w.cause=$.cause;if($.name)w.name=$.name;return w}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};class k extends Error{}class Y0 extends k{constructor($,w,W,Z){super(`${Y0.makeMessage($,w,W)}`);this.status=$,this.headers=Z,this.requestID=Z?.get("x-request-id"),this.error=w;let X=w;this.code=X?.code,this.param=X?.param,this.type=X?.type}static makeMessage($,w,W){let Z=w?.message?typeof w.message==="string"?w.message:JSON.stringify(w.message):w?JSON.stringify(w):W;if($&&Z)return`${$} ${Z}`;if($)return`${$} status code (no body)`;if(Z)return Z;return"(no status code or body)"}static generate($,w,W,Z){if(!$||!Z)return new F1({message:W,cause:X9(w)});let X=w?.error;if($===400)return new Y9($,X,W,Z);if($===401)return new G9($,X,W,Z);if($===403)return new J9($,X,W,Z);if($===404)return new T9($,X,W,Z);if($===409)return new Q9($,X,W,Z);if($===422)return new M9($,X,W,Z);if($===429)return new z9($,X,W,Z);if($>=500)return new N9($,X,W,Z);return new Y0($,X,W,Z)}}class T0 extends Y0{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class F1 extends Y0{constructor({message:$,cause:w}){super(void 0,void 0,$||"Connection error.",void 0);if(w)this.cause=w}}class O1 extends F1{constructor({message:$}={}){super({message:$??"Request timed out."})}}class Y9 extends Y0{}class G9 extends Y0{}class J9 extends Y0{}class T9 extends Y0{}class Q9 extends Y0{}class M9 extends Y0{}class z9 extends Y0{}class N9 extends Y0{}class K9 extends k{constructor(){super("Could not parse response content as the length limit was reached")}}class B9 extends k{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class D$ extends Error{constructor($){super($)}}var nO=/^[a-z][a-z0-9+.-]*:/i,PQ=($)=>{return nO.test($)},H0=($)=>(H0=Array.isArray,H0($)),IZ=H0;function bZ($){if(typeof $!=="object")return{};return $??{}}function VQ($){if(!$)return!0;for(let w in $)return!1;return!0}function fQ($,w){return Object.prototype.hasOwnProperty.call($,w)}function P9($){return $!=null&&typeof $==="object"&&!Array.isArray($)}var qQ=($,w)=>{if(typeof w!=="number"||!Number.isInteger(w))throw new k(`${$} must be an integer`);if(w<0)throw new k(`${$} must be a positive integer`);return w};var UQ=($)=>{try{return JSON.parse($)}catch(w){return}};var J$=($)=>new Promise((w)=>setTimeout(w,$));var p$="5.23.2";var EQ=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function pO(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}var tO=()=>{let $=pO();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":p$,"X-Stainless-OS":FQ(Deno.build.os),"X-Stainless-Arch":HQ(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":p$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":p$,"X-Stainless-OS":FQ(globalThis.process.platform??"unknown"),"X-Stainless-Arch":HQ(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let w=rO();if(w)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":p$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${w.browser}`,"X-Stainless-Runtime-Version":w.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":p$,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function rO(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:w,pattern:W}of $){let Z=W.exec(navigator.userAgent);if(Z){let X=Z[1]||0,Y=Z[2]||0,G=Z[3]||0;return{browser:w,version:`${X}.${Y}.${G}`}}}return null}var HQ=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},FQ=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},OQ,LQ=()=>{return OQ??(OQ=tO())};function DQ(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function xZ(...$){let w=globalThis.ReadableStream;if(typeof w>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new w(...$)}function I6($){let w=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return xZ({start(){},async pull(W){let{done:Z,value:X}=await w.next();if(Z)W.close();else W.enqueue(X)},async cancel(){await w.return?.()}})}function _Z($){if($[Symbol.asyncIterator])return $;let w=$.getReader();return{async next(){try{let W=await w.read();if(W?.done)w.releaseLock();return W}catch(W){throw w.releaseLock(),W}},async return(){let W=w.cancel();return w.releaseLock(),await W,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function kQ($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let w=$.getReader(),W=w.cancel();w.releaseLock(),await W}var AQ=({headers:$,body:w})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(w)}};var b6="RFC3986",gZ=($)=>String($),x6={RFC1738:($)=>String($).replace(/%20/g,"+"),RFC3986:gZ},vZ="RFC1738";var _6=($,w)=>(_6=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),_6($,w)),T$=(()=>{let $=[];for(let w=0;w<256;++w)$.push("%"+((w<16?"0":"")+w.toString(16)).toUpperCase());return $})();var uZ=1024,SQ=($,w,W,Z,X)=>{if($.length===0)return $;let Y=$;if(typeof $==="symbol")Y=Symbol.prototype.toString.call($);else if(typeof $!=="string")Y=String($);if(W==="iso-8859-1")return escape(Y).replace(/%u[0-9a-f]{4}/gi,function(J){return"%26%23"+parseInt(J.slice(2),16)+"%3B"});let G="";for(let J=0;J<Y.length;J+=uZ){let T=Y.length>=uZ?Y.slice(J,J+uZ):Y,Q=[];for(let M=0;M<T.length;++M){let z=T.charCodeAt(M);if(z===45||z===46||z===95||z===126||z>=48&&z<=57||z>=65&&z<=90||z>=97&&z<=122||X===vZ&&(z===40||z===41)){Q[Q.length]=T.charAt(M);continue}if(z<128){Q[Q.length]=T$[z];continue}if(z<2048){Q[Q.length]=T$[192|z>>6]+T$[128|z&63];continue}if(z<55296||z>=57344){Q[Q.length]=T$[224|z>>12]+T$[128|z>>6&63]+T$[128|z&63];continue}M+=1,z=65536+((z&1023)<<10|T.charCodeAt(M)&1023),Q[Q.length]=T$[240|z>>18]+T$[128|z>>12&63]+T$[128|z>>6&63]+T$[128|z&63]}G+=Q.join("")}return G};function RQ($){if(!$||typeof $!=="object")return!1;return!!($.constructor&&$.constructor.isBuffer&&$.constructor.isBuffer($))}function hZ($,w){if(H0($)){let W=[];for(let Z=0;Z<$.length;Z+=1)W.push(w($[Z]));return W}return w($)}var jQ={brackets($){return String($)+"[]"},comma:"comma",indices($,w){return String($)+"["+w+"]"},repeat($){return String($)}},yQ=function($,w){Array.prototype.push.apply($,H0(w)?w:[w])},CQ,Q0={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:SQ,encodeValuesOnly:!1,format:b6,formatter:gZ,indices:!1,serializeDate($){return(CQ??(CQ=Function.prototype.call.bind(Date.prototype.toISOString)))($)},skipNulls:!1,strictNullHandling:!1};function oO($){return typeof $==="string"||typeof $==="number"||typeof $==="boolean"||typeof $==="symbol"||typeof $==="bigint"}var iZ={};function IQ($,w,W,Z,X,Y,G,J,T,Q,M,z,N,B,K,P,q,f){let H=$,E=f,S=0,A=!1;while((E=E.get(iZ))!==void 0&&!A){let i=E.get($);if(S+=1,typeof i<"u")if(i===S)throw RangeError("Cyclic object value");else A=!0;if(typeof E.get(iZ)>"u")S=0}if(typeof Q==="function")H=Q(w,H);else if(H instanceof Date)H=N?.(H);else if(W==="comma"&&H0(H))H=hZ(H,function(i){if(i instanceof Date)return N?.(i);return i});if(H===null){if(Y)return T&&!P?T(w,Q0.encoder,q,"key",B):w;H=""}if(oO(H)||RQ(H)){if(T){let i=P?w:T(w,Q0.encoder,q,"key",B);return[K?.(i)+"="+K?.(T(H,Q0.encoder,q,"value",B))]}return[K?.(w)+"="+K?.(String(H))]}let j=[];if(typeof H>"u")return j;let g;if(W==="comma"&&H0(H)){if(P&&T)H=hZ(H,T);g=[{value:H.length>0?H.join(",")||null:void 0}]}else if(H0(Q))g=Q;else{let i=Object.keys(H);g=M?i.sort(M):i}let s=J?String(w).replace(/\./g,"%2E"):String(w),e=Z&&H0(H)&&H.length===1?s+"[]":s;if(X&&H0(H)&&H.length===0)return e+"[]";for(let i=0;i<g.length;++i){let F0=g[i],w1=typeof F0==="object"&&typeof F0.value<"u"?F0.value:H[F0];if(G&&w1===null)continue;let z$=z&&J?F0.replace(/\./g,"%2E"):F0,i1=H0(H)?typeof W==="function"?W(e,z$):e:e+(z?"."+z$:"["+z$+"]");f.set($,S);let hw=new WeakMap;hw.set(iZ,f),yQ(j,IQ(w1,i1,W,Z,X,Y,G,J,W==="comma"&&P&&H0(H)?null:T,Q,M,z,N,B,K,P,q,hw))}return j}function eO($=Q0){if(typeof $.allowEmptyArrays<"u"&&typeof $.allowEmptyArrays!=="boolean")throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof $.encodeDotInKeys<"u"&&typeof $.encodeDotInKeys!=="boolean")throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if($.encoder!==null&&typeof $.encoder<"u"&&typeof $.encoder!=="function")throw TypeError("Encoder has to be a function.");let w=$.charset||Q0.charset;if(typeof $.charset<"u"&&$.charset!=="utf-8"&&$.charset!=="iso-8859-1")throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let W=b6;if(typeof $.format<"u"){if(!_6(x6,$.format))throw TypeError("Unknown format option provided.");W=$.format}let Z=x6[W],X=Q0.filter;if(typeof $.filter==="function"||H0($.filter))X=$.filter;let Y;if($.arrayFormat&&$.arrayFormat in jQ)Y=$.arrayFormat;else if("indices"in $)Y=$.indices?"indices":"repeat";else Y=Q0.arrayFormat;if("commaRoundTrip"in $&&typeof $.commaRoundTrip!=="boolean")throw TypeError("`commaRoundTrip` must be a boolean, or absent");let G=typeof $.allowDots>"u"?!!$.encodeDotInKeys===!0?!0:Q0.allowDots:!!$.allowDots;return{addQueryPrefix:typeof $.addQueryPrefix==="boolean"?$.addQueryPrefix:Q0.addQueryPrefix,allowDots:G,allowEmptyArrays:typeof $.allowEmptyArrays==="boolean"?!!$.allowEmptyArrays:Q0.allowEmptyArrays,arrayFormat:Y,charset:w,charsetSentinel:typeof $.charsetSentinel==="boolean"?$.charsetSentinel:Q0.charsetSentinel,commaRoundTrip:!!$.commaRoundTrip,delimiter:typeof $.delimiter>"u"?Q0.delimiter:$.delimiter,encode:typeof $.encode==="boolean"?$.encode:Q0.encode,encodeDotInKeys:typeof $.encodeDotInKeys==="boolean"?$.encodeDotInKeys:Q0.encodeDotInKeys,encoder:typeof $.encoder==="function"?$.encoder:Q0.encoder,encodeValuesOnly:typeof $.encodeValuesOnly==="boolean"?$.encodeValuesOnly:Q0.encodeValuesOnly,filter:X,format:W,formatter:Z,serializeDate:typeof $.serializeDate==="function"?$.serializeDate:Q0.serializeDate,skipNulls:typeof $.skipNulls==="boolean"?$.skipNulls:Q0.skipNulls,sort:typeof $.sort==="function"?$.sort:null,strictNullHandling:typeof $.strictNullHandling==="boolean"?$.strictNullHandling:Q0.strictNullHandling}}function mZ($,w={}){let W=$,Z=eO(w),X,Y;if(typeof Z.filter==="function")Y=Z.filter,W=Y("",W);else if(H0(Z.filter))Y=Z.filter,X=Y;let G=[];if(typeof W!=="object"||W===null)return"";let J=jQ[Z.arrayFormat],T=J==="comma"&&Z.commaRoundTrip;if(!X)X=Object.keys(W);if(Z.sort)X.sort(Z.sort);let Q=new WeakMap;for(let N=0;N<X.length;++N){let B=X[N];if(Z.skipNulls&&W[B]===null)continue;yQ(G,IQ(W[B],B,J,T,Z.allowEmptyArrays,Z.strictNullHandling,Z.skipNulls,Z.encodeDotInKeys,Z.encode?Z.encoder:null,Z.filter,Z.sort,Z.allowDots,Z.serializeDate,Z.format,Z.formatter,Z.encodeValuesOnly,Z.charset,Q))}let M=G.join(Z.delimiter),z=Z.addQueryPrefix===!0?"?":"";if(Z.charsetSentinel)if(Z.charset==="iso-8859-1")z+="utf8=%26%2310003%3B&";else z+="utf8=%E2%9C%93&";return M.length>0?z+M:""}function _Q($){let w=0;for(let X of $)w+=X.length;let W=new Uint8Array(w),Z=0;for(let X of $)W.set(X,Z),Z+=X.length;return W}var bQ;function Bw($){let w;return(bQ??(w=new globalThis.TextEncoder,bQ=w.encode.bind(w)))($)}var xQ;function lZ($){let w;return(xQ??(w=new globalThis.TextDecoder,xQ=w.decode.bind(w)))($)}var x0,_0;class Pw{constructor(){x0.set(this,void 0),_0.set(this,void 0),C(this,x0,new Uint8Array,"f"),C(this,_0,null,"f")}decode($){if($==null)return[];let w=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?Bw($):$;C(this,x0,_Q([V(this,x0,"f"),w]),"f");let W=[],Z;while((Z=wE(V(this,x0,"f"),V(this,_0,"f")))!=null){if(Z.carriage&&V(this,_0,"f")==null){C(this,_0,Z.index,"f");continue}if(V(this,_0,"f")!=null&&(Z.index!==V(this,_0,"f")+1||Z.carriage)){W.push(lZ(V(this,x0,"f").subarray(0,V(this,_0,"f")-1))),C(this,x0,V(this,x0,"f").subarray(V(this,_0,"f")),"f"),C(this,_0,null,"f");continue}let X=V(this,_0,"f")!==null?Z.preceding-1:Z.preceding,Y=lZ(V(this,x0,"f").subarray(0,X));W.push(Y),C(this,x0,V(this,x0,"f").subarray(Z.index),"f"),C(this,_0,null,"f")}return W}flush(){if(!V(this,x0,"f").length)return[];return this.decode(`
175
+ `)}}x0=new WeakMap,_0=new WeakMap;Pw.NEWLINE_CHARS=new Set([`
176
+ `,"\r"]);Pw.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function wE($,w){for(let X=w??0;X<$.length;X++){if($[X]===10)return{preceding:X,index:X+1,carriage:!1};if($[X]===13)return{preceding:X,index:X+1,carriage:!0}}return null}function gQ($){for(let Z=0;Z<$.length-1;Z++){if($[Z]===10&&$[Z+1]===10)return Z+2;if($[Z]===13&&$[Z+1]===13)return Z+2;if($[Z]===13&&$[Z+1]===10&&Z+3<$.length&&$[Z+2]===13&&$[Z+3]===10)return Z+4}return-1}var v6={off:0,error:200,warn:300,info:400,debug:500},cZ=($,w,W)=>{if(!$)return;if(fQ(v6,$))return $;Z0(W).warn(`${w} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(v6))}`);return};function V9(){}function g6($,w,W){if(!w||v6[$]>v6[W])return V9;else return w[$].bind(w)}var WE={error:V9,warn:V9,info:V9,debug:V9},vQ=new WeakMap;function Z0($){let w=$.logger,W=$.logLevel??"off";if(!w)return WE;let Z=vQ.get(w);if(Z&&Z[0]===W)return Z[1];let X={error:g6("error",w,W),warn:g6("warn",w,W),info:g6("info",w,W),debug:g6("debug",w,W)};return vQ.set(w,[W,X]),X}var k$=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([w,W])=>[w,w.toLowerCase()==="authorization"||w.toLowerCase()==="cookie"||w.toLowerCase()==="set-cookie"?"***":W]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var f9;class g0{constructor($,w,W){this.iterator=$,f9.set(this,void 0),this.controller=w,C(this,f9,W,"f")}static fromSSEResponse($,w,W){let Z=!1,X=W?Z0(W):console;async function*Y(){if(Z)throw new k("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Z=!0;let G=!1;try{for await(let J of ZE($,w)){if(G)continue;if(J.data.startsWith("[DONE]")){G=!0;continue}if(J.event===null||!J.event.startsWith("thread.")){let T;try{T=JSON.parse(J.data)}catch(Q){throw X.error("Could not parse message into JSON:",J.data),X.error("From chunk:",J.raw),Q}if(T&&T.error)throw new Y0(void 0,T.error,void 0,$.headers);yield T}else{let T;try{T=JSON.parse(J.data)}catch(Q){throw console.error("Could not parse message into JSON:",J.data),console.error("From chunk:",J.raw),Q}if(J.event=="error")throw new Y0(void 0,T.error,T.message,void 0);yield{event:J.event,data:T}}}G=!0}catch(J){if(Z9(J))return;throw J}finally{if(!G)w.abort()}}return new g0(Y,w,W)}static fromReadableStream($,w,W){let Z=!1;async function*X(){let G=new Pw,J=_Z($);for await(let T of J)for(let Q of G.decode(T))yield Q;for(let T of G.flush())yield T}async function*Y(){if(Z)throw new k("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Z=!0;let G=!1;try{for await(let J of X()){if(G)continue;if(J)yield JSON.parse(J)}G=!0}catch(J){if(Z9(J))return;throw J}finally{if(!G)w.abort()}}return new g0(Y,w,W)}[(f9=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],w=[],W=this.iterator(),Z=(X)=>{return{next:()=>{if(X.length===0){let Y=W.next();$.push(Y),w.push(Y)}return X.shift()}}};return[new g0(()=>Z($),this.controller,V(this,f9,"f")),new g0(()=>Z(w),this.controller,V(this,f9,"f"))]}toReadableStream(){let $=this,w;return xZ({async start(){w=$[Symbol.asyncIterator]()},async pull(W){try{let{value:Z,done:X}=await w.next();if(X)return W.close();let Y=Bw(JSON.stringify(Z)+`
177
+ `);W.enqueue(Y)}catch(Z){W.error(Z)}},async cancel(){await w.return?.()}})}}async function*ZE($,w){if(!$.body){if(w.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new k("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new k("Attempted to iterate over a response with no body")}let W=new uQ,Z=new Pw,X=_Z($.body);for await(let Y of XE(X))for(let G of Z.decode(Y)){let J=W.decode(G);if(J)yield J}for(let Y of Z.flush()){let G=W.decode(Y);if(G)yield G}}async function*XE($){let w=new Uint8Array;for await(let W of $){if(W==null)continue;let Z=W instanceof ArrayBuffer?new Uint8Array(W):typeof W==="string"?Bw(W):W,X=new Uint8Array(w.length+Z.length);X.set(w),X.set(Z,w.length),w=X;let Y;while((Y=gQ(w))!==-1)yield w.slice(0,Y),w=w.slice(Y)}if(w.length>0)yield w}class uQ{constructor(){this.event=null,this.data=[],this.chunks=[]}decode($){if($.endsWith("\r"))$=$.substring(0,$.length-1);if(!$){if(!this.event&&!this.data.length)return null;let X={event:this.event,data:this.data.join(`
178
+ `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],X}if(this.chunks.push($),$.startsWith(":"))return null;let[w,W,Z]=YE($,":");if(Z.startsWith(" "))Z=Z.substring(1);if(w==="event")this.event=Z;else if(w==="data")this.data.push(Z);return null}}function YE($,w){let W=$.indexOf(w);if(W!==-1)return[$.substring(0,W),w,$.substring(W+w.length)];return[$,"",""]}async function u6($,w){let{response:W,requestLogID:Z,retryOfRequestLogID:X,startTime:Y}=w,G=await(async()=>{if(w.options.stream){if(Z0($).debug("response",W.status,W.url,W.headers,W.body),w.options.__streamClass)return w.options.__streamClass.fromSSEResponse(W,w.controller,$);return g0.fromSSEResponse(W,w.controller,$)}if(W.status===204)return null;if(w.options.__binaryResponse)return W;let T=W.headers.get("content-type")?.split(";")[0]?.trim();if(T?.includes("application/json")||T?.endsWith("+json")){let z=await W.json();return dZ(z,W)}return await W.text()})();return Z0($).debug(`[${Z}] response parsed`,k$({retryOfRequestLogID:X,url:W.url,status:W.status,body:G,durationMs:Date.now()-Y})),G}function dZ($,w){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:w.headers.get("x-request-id"),enumerable:!1})}var q9;class E1 extends Promise{constructor($,w,W=u6){super((Z)=>{Z(null)});this.responsePromise=w,this.parseResponse=W,q9.set(this,void 0),C(this,q9,$,"f")}_thenUnwrap($){return new E1(V(this,q9,"f"),this.responsePromise,async(w,W)=>dZ($(await this.parseResponse(w,W),W),W.response))}asResponse(){return this.responsePromise.then(($)=>$.response)}async withResponse(){let[$,w]=await Promise.all([this.parse(),this.asResponse()]);return{data:$,response:w,request_id:w.headers.get("x-request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(($)=>this.parseResponse(V(this,q9,"f"),$));return this.parsedPromise}then($,w){return this.parse().then($,w)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}}q9=new WeakMap;var h6;class i6{constructor($,w,W,Z){h6.set(this,void 0),C(this,h6,$,"f"),this.options=Z,this.response=w,this.body=W}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageRequestOptions()!=null}async getNextPage(){let $=this.nextPageRequestOptions();if(!$)throw new k("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await V(this,h6,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(h6=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let w of $.getPaginatedItems())yield w}}class m6 extends E1{constructor($,w,W){super($,w,async(Z,X)=>new W(Z,X.response,await u6(Z,X),X.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let w of $)yield w}}class A$ extends i6{constructor($,w,W,Z){super($,w,W,Z);this.data=W.data||[],this.object=W.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}}class u extends i6{constructor($,w,W,Z){super($,w,W,Z);this.data=W.data||[],this.has_more=W.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){let $=this.getPaginatedItems(),w=$[$.length-1]?.id;if(!w)return null;return{...this.options,query:{...bZ(this.options.query),after:w}}}}class nZ extends i6{constructor($,w,W,Z){super($,w,W,Z);this.data=W.data||[],this.has_more=W.has_more||!1,this.last_id=W.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){let $=this.last_id;if(!$)return null;return{...this.options,query:{...bZ(this.options.query),after:$}}}}var tZ=()=>{if(typeof File>"u"){let{process:$}=globalThis,w=typeof $?.versions?.node==="string"&&parseInt($.versions.node.split("."))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(w?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function Vw($,w,W){return tZ(),new File($,w??"unknown_file",W)}function U9($){return(typeof $==="object"&&$!==null&&(("name"in $)&&$.name&&String($.name)||("url"in $)&&$.url&&String($.url)||("filename"in $)&&$.filename&&String($.filename)||("path"in $)&&$.path&&String($.path))||"").split(/[\\/]/).pop()||void 0}var rZ=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function";var v0=async($,w)=>{return{...$,body:await TE($.body,w)}},hQ=new WeakMap;function JE($){let w=typeof $==="function"?$:$.fetch,W=hQ.get(w);if(W)return W;let Z=(async()=>{try{let X="Response"in w?w.Response:(await w("data:,")).constructor,Y=new FormData;if(Y.toString()===await new X(Y).text())return!1;return!0}catch{return!0}})();return hQ.set(w,Z),Z}var TE=async($,w)=>{if(!await JE(w))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let W=new FormData;return await Promise.all(Object.entries($||{}).map(([Z,X])=>pZ(W,Z,X))),W},QE=($)=>$ instanceof Blob&&("name"in $);var pZ=async($,w,W)=>{if(W===void 0)return;if(W==null)throw TypeError(`Received null for "${w}"; to pass null in FormData, you must use the string 'null'`);if(typeof W==="string"||typeof W==="number"||typeof W==="boolean")$.append(w,String(W));else if(W instanceof Response)$.append(w,Vw([await W.blob()],U9(W)));else if(rZ(W))$.append(w,Vw([await new Response(I6(W)).blob()],U9(W)));else if(QE(W))$.append(w,W,U9(W));else if(Array.isArray(W))await Promise.all(W.map((Z)=>pZ($,w+"[]",Z)));else if(typeof W==="object")await Promise.all(Object.entries(W).map(([Z,X])=>pZ($,`${w}[${Z}]`,X)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${W} instead`)};var iQ=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",ME=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&iQ($),zE=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";async function l6($,w,W){if(tZ(),$=await $,ME($)){if($ instanceof File)return $;return Vw([await $.arrayBuffer()],$.name)}if(zE($)){let X=await $.blob();return w||(w=new URL($.url).pathname.split(/[\\/]/).pop()),Vw(await sZ(X),w,W)}let Z=await sZ($);if(w||(w=U9($)),!W?.type){let X=Z.find((Y)=>typeof Y==="object"&&("type"in Y)&&Y.type);if(typeof X==="string")W={...W,type:X}}return Vw(Z,w,W)}async function sZ($){let w=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)w.push($);else if(iQ($))w.push($ instanceof Blob?$:await $.arrayBuffer());else if(rZ($))for await(let W of $)w.push(...await sZ(W));else{let W=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${W?`; constructor: ${W}`:""}${NE($)}`)}return w}function NE($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((W)=>`"${W}"`).join(", ")}]`}class O{constructor($){this._client=$}}function lQ($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var mQ=Object.freeze(Object.create(null)),BE=($=lQ)=>function(W,...Z){if(W.length===1)return W[0];let X=!1,Y=[],G=W.reduce((M,z,N)=>{if(/[?#]/.test(z))X=!0;let B=Z[N],K=(X?encodeURIComponent:$)(""+B);if(N!==Z.length&&(B==null||typeof B==="object"&&B.toString===Object.getPrototypeOf(Object.getPrototypeOf(B.hasOwnProperty??mQ)??mQ)?.toString))K=B+"",Y.push({start:M.length+z.length,length:K.length,error:`Value of type ${Object.prototype.toString.call(B).slice(8,-1)} is not a valid path parameter`});return M+z+(N===Z.length?"":K)},""),J=G.split(/[?#]/,1)[0],T=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,Q;while((Q=T.exec(J))!==null)Y.push({start:Q.index,length:Q[0].length,error:`Value "${Q[0]}" can't be safely passed as a path parameter`});if(Y.sort((M,z)=>M.start-z.start),Y.length>0){let M=0,z=Y.reduce((N,B)=>{let K=" ".repeat(B.start-M),P="^".repeat(B.length);return M=B.start+B.length,N+K+P},"");throw new k(`Path parameters result in path with invalid segments:
94
179
  ${Y.map((N)=>N.error).join(`
95
180
  `)}
96
181
  ${G}
97
- ${T}`)}return G},H=nF(CQ);class e1 extends E{list($,w={},Z){return this._client.getAPIList(H`/chat/completions/${$}/messages`,g,{query:w,...Z})}}function t9($){return $!==void 0&&"function"in $&&$.function!==void 0}function r9($){return $?.$brand==="auto-parseable-response-format"}function N1($){return $?.$brand==="auto-parseable-tool"}function jQ($,w){if(!w||!JW(w))return{...$,choices:$.choices.map((Z)=>{return yQ(Z.message.tool_calls),{...Z,message:{...Z.message,parsed:null,...Z.message.tool_calls?{tool_calls:Z.message.tool_calls}:void 0}}})};return s9($,w)}function s9($,w){let Z=$.choices.map((W)=>{if(W.finish_reason==="length")throw new i9;if(W.finish_reason==="content_filter")throw new m9;return yQ(W.message.tool_calls),{...W,message:{...W.message,...W.message.tool_calls?{tool_calls:W.message.tool_calls?.map((X)=>aF(w,X))??void 0}:void 0,parsed:W.message.content&&!W.message.refusal?sF(w,W.message.content):null}}});return{...$,choices:Z}}function sF($,w){if($.response_format?.type!=="json_schema")return null;if($.response_format?.type==="json_schema"){if("$parseRaw"in $.response_format)return $.response_format.$parseRaw(w);return JSON.parse(w)}return null}function aF($,w){let Z=$.tools?.find((W)=>t9(W)&&W.function?.name===w.function.name);return{...w,function:{...w.function,parsed_arguments:N1(Z)?Z.$parseRaw(w.function.arguments):Z?.function.strict?JSON.parse(w.function.arguments):null}}}function IQ($,w){if(!$||!("tools"in $)||!$.tools)return!1;let Z=$.tools?.find((W)=>t9(W)&&W.function?.name===w.function.name);return t9(Z)&&(N1(Z)||Z?.function.strict||!1)}function JW($){if(r9($.response_format))return!0;return $.tools?.some((w)=>N1(w)||w.type==="function"&&w.function.strict===!0)??!1}function yQ($){for(let w of $||[])if(w.type!=="function")throw new k(`Currently only \`function\` tool calls are supported; Received \`${w.type}\``)}function bQ($){for(let w of $??[]){if(w.type!=="function")throw new k(`Currently only \`function\` tool types support auto-parsing; Received \`${w.type}\``);if(w.function.strict!==!0)throw new k(`The \`${w.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var $w=($)=>{return $?.role==="assistant"},QW=($)=>{return $?.role==="tool"};var zW,B6,V6,a9,o9,P6,e9,U$,$4,q6,U6,ww,xQ;class K1{constructor(){zW.add(this),this.controller=new AbortController,B6.set(this,void 0),V6.set(this,()=>{}),a9.set(this,()=>{}),o9.set(this,void 0),P6.set(this,()=>{}),e9.set(this,()=>{}),U$.set(this,{}),$4.set(this,!1),q6.set(this,!1),U6.set(this,!1),ww.set(this,!1),R(this,B6,new Promise(($,w)=>{R(this,V6,$,"f"),R(this,a9,w,"f")}),"f"),R(this,o9,new Promise(($,w)=>{R(this,P6,$,"f"),R(this,e9,w,"f")}),"f"),V(this,B6,"f").catch(()=>{}),V(this,o9,"f").catch(()=>{})}_run($){setTimeout(()=>{$().then(()=>{this._emitFinal(),this._emit("end")},V(this,zW,"m",xQ).bind(this))},0)}_connected(){if(this.ended)return;V(this,V6,"f").call(this),this._emit("connect")}get ended(){return V(this,$4,"f")}get errored(){return V(this,q6,"f")}get aborted(){return V(this,U6,"f")}abort(){this.controller.abort()}on($,w){return(V(this,U$,"f")[$]||(V(this,U$,"f")[$]=[])).push({listener:w}),this}off($,w){let Z=V(this,U$,"f")[$];if(!Z)return this;let W=Z.findIndex((X)=>X.listener===w);if(W>=0)Z.splice(W,1);return this}once($,w){return(V(this,U$,"f")[$]||(V(this,U$,"f")[$]=[])).push({listener:w,once:!0}),this}emitted($){return new Promise((w,Z)=>{if(R(this,ww,!0,"f"),$!=="error")this.once("error",Z);this.once($,w)})}async done(){R(this,ww,!0,"f"),await V(this,o9,"f")}_emit($,...w){if(V(this,$4,"f"))return;if($==="end")R(this,$4,!0,"f"),V(this,P6,"f").call(this);let Z=V(this,U$,"f")[$];if(Z)V(this,U$,"f")[$]=Z.filter((W)=>!W.once),Z.forEach(({listener:W})=>W(...w));if($==="abort"){let W=w[0];if(!V(this,ww,"f")&&!Z?.length)Promise.reject(W);V(this,a9,"f").call(this,W),V(this,e9,"f").call(this,W),this._emit("end");return}if($==="error"){let W=w[0];if(!V(this,ww,"f")&&!Z?.length)Promise.reject(W);V(this,a9,"f").call(this,W),V(this,e9,"f").call(this,W),this._emit("end")}}_emitFinal(){}}B6=new WeakMap,V6=new WeakMap,a9=new WeakMap,o9=new WeakMap,P6=new WeakMap,e9=new WeakMap,U$=new WeakMap,$4=new WeakMap,q6=new WeakMap,U6=new WeakMap,ww=new WeakMap,zW=new WeakSet,xQ=function(w){if(R(this,q6,!0,"f"),w instanceof Error&&w.name==="AbortError")w=new X0;if(w instanceof X0)return R(this,U6,!0,"f"),this._emit("abort",w);if(w instanceof k)return this._emit("error",w);if(w instanceof Error){let Z=new k(w.message);return Z.cause=w,this._emit("error",Z)}return this._emit("error",new k(String(w)))};function _Q($){return typeof $.parse==="function"}var F0,MW,H6,TW,NW,KW,gQ,vQ,oF=10;class w4 extends K1{constructor(){super(...arguments);F0.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion($){this._chatCompletions.push($),this._emit("chatCompletion",$);let w=$.choices[0]?.message;if(w)this._addMessage(w);return $}_addMessage($,w=!0){if(!("content"in $))$.content=null;if(this.messages.push($),w){if(this._emit("message",$),QW($)&&$.content)this._emit("functionToolCallResult",$.content);else if($w($)&&$.tool_calls){for(let Z of $.tool_calls)if(Z.type==="function")this._emit("functionToolCall",Z.function)}}}async finalChatCompletion(){await this.done();let $=this._chatCompletions[this._chatCompletions.length-1];if(!$)throw new k("stream ended without producing a ChatCompletion");return $}async finalContent(){return await this.done(),V(this,F0,"m",MW).call(this)}async finalMessage(){return await this.done(),V(this,F0,"m",H6).call(this)}async finalFunctionToolCall(){return await this.done(),V(this,F0,"m",TW).call(this)}async finalFunctionToolCallResult(){return await this.done(),V(this,F0,"m",NW).call(this)}async totalUsage(){return await this.done(),V(this,F0,"m",KW).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let $=this._chatCompletions[this._chatCompletions.length-1];if($)this._emit("finalChatCompletion",$);let w=V(this,F0,"m",H6).call(this);if(w)this._emit("finalMessage",w);let Z=V(this,F0,"m",MW).call(this);if(Z)this._emit("finalContent",Z);let W=V(this,F0,"m",TW).call(this);if(W)this._emit("finalFunctionToolCall",W);let X=V(this,F0,"m",NW).call(this);if(X!=null)this._emit("finalFunctionToolCallResult",X);if(this._chatCompletions.some((Y)=>Y.usage))this._emit("totalUsage",V(this,F0,"m",KW).call(this))}async _createChatCompletion($,w,Z){let W=Z?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}V(this,F0,"m",gQ).call(this,w);let X=await $.chat.completions.create({...w,stream:!1},{...Z,signal:this.controller.signal});return this._connected(),this._addChatCompletion(s9(X,w))}async _runChatCompletion($,w,Z){for(let W of w.messages)this._addMessage(W,!1);return await this._createChatCompletion($,w,Z)}async _runTools($,w,Z){let{tool_choice:X="auto",stream:Y,...G}=w,J=typeof X!=="string"&&X.type==="function"&&X?.function?.name,{maxChatCompletions:Q=oF}=Z||{},z=w.tools.map((N)=>{if(N1(N)){if(!N.$callback)throw new k("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:N.$callback,name:N.function.name,description:N.function.description||"",parameters:N.function.parameters,parse:N.$parseRaw,strict:!0}}}return N}),M={};for(let N of z)if(N.type==="function")M[N.function.name||N.function.function.name]=N.function;let T="tools"in w?z.map((N)=>N.type==="function"?{type:"function",function:{name:N.function.name||N.function.function.name,parameters:N.function.parameters,description:N.function.description,strict:N.function.strict}}:N):void 0;for(let N of w.messages)this._addMessage(N,!1);for(let N=0;N<Q;++N){let B=(await this._createChatCompletion($,{...G,tool_choice:X,tools:T,messages:[...this.messages]},Z)).choices[0]?.message;if(!B)throw new k("missing message in ChatCompletion response");if(!B.tool_calls?.length)return;for(let P of B.tool_calls){if(P.type!=="function")continue;let q=P.id,{name:U,arguments:O}=P.function,f=M[U];if(!f){let i=`Invalid tool_call: ${JSON.stringify(U)}. Available options are: ${Object.keys(M).map((r)=>JSON.stringify(r)).join(", ")}. Please try again`;this._addMessage({role:"tool",tool_call_id:q,content:i});continue}else if(J&&J!==U){let i=`Invalid tool_call: ${JSON.stringify(U)}. ${JSON.stringify(J)} requested. Please try again`;this._addMessage({role:"tool",tool_call_id:q,content:i});continue}let C;try{C=_Q(f)?await f.parse(O):O}catch(i){let r=i instanceof Error?i.message:String(i);this._addMessage({role:"tool",tool_call_id:q,content:r});continue}let A=await f.function(C,this),u=V(this,F0,"m",vQ).call(this,A);if(this._addMessage({role:"tool",tool_call_id:q,content:u}),J)return}}return}}F0=new WeakSet,MW=function(){return V(this,F0,"m",H6).call(this).content??null},H6=function(){let w=this.messages.length;while(w-- >0){let Z=this.messages[w];if($w(Z))return{...Z,content:Z.content??null,refusal:Z.refusal??null}}throw new k("stream ended without producing a ChatCompletionMessage with role=assistant")},TW=function(){for(let w=this.messages.length-1;w>=0;w--){let Z=this.messages[w];if($w(Z)&&Z?.tool_calls?.length)return Z.tool_calls.filter((W)=>W.type==="function").at(-1)?.function}return},NW=function(){for(let w=this.messages.length-1;w>=0;w--){let Z=this.messages[w];if(QW(Z)&&Z.content!=null&&typeof Z.content==="string"&&this.messages.some((W)=>W.role==="assistant"&&W.tool_calls?.some((X)=>X.type==="function"&&X.id===Z.tool_call_id)))return Z.content}return},KW=function(){let w={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:Z}of this._chatCompletions)if(Z)w.completion_tokens+=Z.completion_tokens,w.prompt_tokens+=Z.prompt_tokens,w.total_tokens+=Z.total_tokens;return w},gQ=function(w){if(w.n!=null&&w.n>1)throw new k("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},vQ=function(w){return typeof w==="string"?w:w===void 0?"undefined":JSON.stringify(w)};class Z4 extends w4{static runTools($,w,Z){let W=new Z4,X={...Z,headers:{...Z?.headers,"X-Stainless-Helper-Method":"runTools"}};return W._run(()=>W._runTools($,w,X)),W}_addMessage($,w=!0){if(super._addMessage($,w),$w($)&&$.content)this._emit("content",$.content)}}var Q0={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511};class uQ extends Error{}class hQ extends Error{}function eF($,w=Q0.ALL){if(typeof $!=="string")throw TypeError(`expecting str, got ${typeof $}`);if(!$.trim())throw Error(`${$} is empty`);return $O($.trim(),w)}var $O=($,w)=>{let Z=$.length,W=0,X=(N)=>{throw new uQ(`${N} at position ${W}`)},Y=(N)=>{throw new hQ(`${N} at position ${W}`)},G=()=>{if(T(),W>=Z)X("Unexpected end of input");if($[W]==='"')return J();if($[W]==="{")return Q();if($[W]==="[")return z();if($.substring(W,W+4)==="null"||Q0.NULL&w&&Z-W<4&&"null".startsWith($.substring(W)))return W+=4,null;if($.substring(W,W+4)==="true"||Q0.BOOL&w&&Z-W<4&&"true".startsWith($.substring(W)))return W+=4,!0;if($.substring(W,W+5)==="false"||Q0.BOOL&w&&Z-W<5&&"false".startsWith($.substring(W)))return W+=5,!1;if($.substring(W,W+8)==="Infinity"||Q0.INFINITY&w&&Z-W<8&&"Infinity".startsWith($.substring(W)))return W+=8,1/0;if($.substring(W,W+9)==="-Infinity"||Q0.MINUS_INFINITY&w&&1<Z-W&&Z-W<9&&"-Infinity".startsWith($.substring(W)))return W+=9,-1/0;if($.substring(W,W+3)==="NaN"||Q0.NAN&w&&Z-W<3&&"NaN".startsWith($.substring(W)))return W+=3,NaN;return M()},J=()=>{let N=W,K=!1;W++;while(W<Z&&($[W]!=='"'||K&&$[W-1]==="\\"))K=$[W]==="\\"?!K:!1,W++;if($.charAt(W)=='"')try{return JSON.parse($.substring(N,++W-Number(K)))}catch(B){Y(String(B))}else if(Q0.STR&w)try{return JSON.parse($.substring(N,W-Number(K))+'"')}catch(B){return JSON.parse($.substring(N,$.lastIndexOf("\\"))+'"')}X("Unterminated string literal")},Q=()=>{W++,T();let N={};try{while($[W]!=="}"){if(T(),W>=Z&&Q0.OBJ&w)return N;let K=J();T(),W++;try{let B=G();Object.defineProperty(N,K,{value:B,writable:!0,enumerable:!0,configurable:!0})}catch(B){if(Q0.OBJ&w)return N;else throw B}if(T(),$[W]===",")W++}}catch(K){if(Q0.OBJ&w)return N;else X("Expected '}' at end of object")}return W++,N},z=()=>{W++;let N=[];try{while($[W]!=="]")if(N.push(G()),T(),$[W]===",")W++}catch(K){if(Q0.ARR&w)return N;X("Expected ']' at end of array")}return W++,N},M=()=>{if(W===0){if($==="-"&&Q0.NUM&w)X("Not sure what '-' is");try{return JSON.parse($)}catch(K){if(Q0.NUM&w)try{if($[$.length-1]===".")return JSON.parse($.substring(0,$.lastIndexOf(".")));return JSON.parse($.substring(0,$.lastIndexOf("e")))}catch(B){}Y(String(K))}}let N=W;if($[W]==="-")W++;while($[W]&&!",]}".includes($[W]))W++;if(W==Z&&!(Q0.NUM&w))X("Unterminated number literal");try{return JSON.parse($.substring(N,W))}catch(K){if($.substring(N,W)==="-"&&Q0.NUM&w)X("Not sure what '-' is");try{return JSON.parse($.substring(N,$.lastIndexOf("e")))}catch(B){Y(String(B))}}},T=()=>{while(W<Z&&`
98
- \r `.includes($[W]))W++};return G()},BW=($)=>eF($,Q0.ALL^Q0.NUM);var G0,H$,Zw,u$,VW,F6,PW,qW,UW,O6,HW,iQ;class h$ extends w4{constructor($){super();G0.add(this),H$.set(this,void 0),Zw.set(this,void 0),u$.set(this,void 0),R(this,H$,$,"f"),R(this,Zw,[],"f")}get currentChatCompletionSnapshot(){return V(this,u$,"f")}static fromReadableStream($){let w=new h$(null);return w._run(()=>w._fromReadableStream($)),w}static createChatCompletion($,w,Z){let W=new h$(w);return W._run(()=>W._runChatCompletion($,{...w,stream:!0},{...Z,headers:{...Z?.headers,"X-Stainless-Helper-Method":"stream"}})),W}async _createChatCompletion($,w,Z){super._createChatCompletion;let W=Z?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}V(this,G0,"m",VW).call(this);let X=await $.chat.completions.create({...w,stream:!0},{...Z,signal:this.controller.signal});this._connected();for await(let Y of X)V(this,G0,"m",PW).call(this,Y);if(X.controller.signal?.aborted)throw new X0;return this._addChatCompletion(V(this,G0,"m",O6).call(this))}async _fromReadableStream($,w){let Z=w?.signal;if(Z){if(Z.aborted)this.controller.abort();Z.addEventListener("abort",()=>this.controller.abort())}V(this,G0,"m",VW).call(this),this._connected();let W=y0.fromReadableStream($,this.controller),X;for await(let Y of W){if(X&&X!==Y.id)this._addChatCompletion(V(this,G0,"m",O6).call(this));V(this,G0,"m",PW).call(this,Y),X=Y.id}if(W.controller.signal?.aborted)throw new X0;return this._addChatCompletion(V(this,G0,"m",O6).call(this))}[(H$=new WeakMap,Zw=new WeakMap,u$=new WeakMap,G0=new WeakSet,VW=function(){if(this.ended)return;R(this,u$,void 0,"f")},F6=function(w){let Z=V(this,Zw,"f")[w.index];if(Z)return Z;return Z={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},V(this,Zw,"f")[w.index]=Z,Z},PW=function(w){if(this.ended)return;let Z=V(this,G0,"m",iQ).call(this,w);this._emit("chunk",w,Z);for(let W of w.choices){let X=Z.choices[W.index];if(W.delta.content!=null&&X.message?.role==="assistant"&&X.message?.content)this._emit("content",W.delta.content,X.message.content),this._emit("content.delta",{delta:W.delta.content,snapshot:X.message.content,parsed:X.message.parsed});if(W.delta.refusal!=null&&X.message?.role==="assistant"&&X.message?.refusal)this._emit("refusal.delta",{delta:W.delta.refusal,snapshot:X.message.refusal});if(W.logprobs?.content!=null&&X.message?.role==="assistant")this._emit("logprobs.content.delta",{content:W.logprobs?.content,snapshot:X.logprobs?.content??[]});if(W.logprobs?.refusal!=null&&X.message?.role==="assistant")this._emit("logprobs.refusal.delta",{refusal:W.logprobs?.refusal,snapshot:X.logprobs?.refusal??[]});let Y=V(this,G0,"m",F6).call(this,X);if(X.finish_reason){if(V(this,G0,"m",UW).call(this,X),Y.current_tool_call_index!=null)V(this,G0,"m",qW).call(this,X,Y.current_tool_call_index)}for(let G of W.delta.tool_calls??[]){if(Y.current_tool_call_index!==G.index){if(V(this,G0,"m",UW).call(this,X),Y.current_tool_call_index!=null)V(this,G0,"m",qW).call(this,X,Y.current_tool_call_index)}Y.current_tool_call_index=G.index}for(let G of W.delta.tool_calls??[]){let J=X.message.tool_calls?.[G.index];if(!J?.type)continue;if(J?.type==="function")this._emit("tool_calls.function.arguments.delta",{name:J.function?.name,index:G.index,arguments:J.function.arguments,parsed_arguments:J.function.parsed_arguments,arguments_delta:G.function?.arguments??""});else lQ(J?.type)}}},qW=function(w,Z){if(V(this,G0,"m",F6).call(this,w).done_tool_calls.has(Z))return;let X=w.message.tool_calls?.[Z];if(!X)throw Error("no tool call snapshot");if(!X.type)throw Error("tool call snapshot missing `type`");if(X.type==="function"){let Y=V(this,H$,"f")?.tools?.find((G)=>t9(G)&&G.function.name===X.function.name);this._emit("tool_calls.function.arguments.done",{name:X.function.name,index:Z,arguments:X.function.arguments,parsed_arguments:N1(Y)?Y.$parseRaw(X.function.arguments):Y?.function.strict?JSON.parse(X.function.arguments):null})}else lQ(X.type)},UW=function(w){let Z=V(this,G0,"m",F6).call(this,w);if(w.message.content&&!Z.content_done){Z.content_done=!0;let W=V(this,G0,"m",HW).call(this);this._emit("content.done",{content:w.message.content,parsed:W?W.$parseRaw(w.message.content):null})}if(w.message.refusal&&!Z.refusal_done)Z.refusal_done=!0,this._emit("refusal.done",{refusal:w.message.refusal});if(w.logprobs?.content&&!Z.logprobs_content_done)Z.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:w.logprobs.content});if(w.logprobs?.refusal&&!Z.logprobs_refusal_done)Z.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:w.logprobs.refusal})},O6=function(){if(this.ended)throw new k("stream has ended, this shouldn't happen");let w=V(this,u$,"f");if(!w)throw new k("request ended without sending any chunks");return R(this,u$,void 0,"f"),R(this,Zw,[],"f"),wO(w,V(this,H$,"f"))},HW=function(){let w=V(this,H$,"f")?.response_format;if(r9(w))return w;return null},iQ=function(w){var Z,W,X,Y;let G=V(this,u$,"f"),{choices:J,...Q}=w;if(!G)G=R(this,u$,{...Q,choices:[]},"f");else Object.assign(G,Q);for(let{delta:z,finish_reason:M,index:T,logprobs:N=null,...K}of w.choices){let B=G.choices[T];if(!B)B=G.choices[T]={finish_reason:M,index:T,message:{},logprobs:N,...K};if(N)if(!B.logprobs)B.logprobs=Object.assign({},N);else{let{content:A,refusal:u,...i}=N;if(mQ(i),Object.assign(B.logprobs,i),A)(Z=B.logprobs).content??(Z.content=[]),B.logprobs.content.push(...A);if(u)(W=B.logprobs).refusal??(W.refusal=[]),B.logprobs.refusal.push(...u)}if(M){if(B.finish_reason=M,V(this,H$,"f")&&JW(V(this,H$,"f"))){if(M==="length")throw new i9;if(M==="content_filter")throw new m9}}if(Object.assign(B,K),!z)continue;let{content:P,refusal:q,function_call:U,role:O,tool_calls:f,...C}=z;if(mQ(C),Object.assign(B.message,C),q)B.message.refusal=(B.message.refusal||"")+q;if(O)B.message.role=O;if(U)if(!B.message.function_call)B.message.function_call=U;else{if(U.name)B.message.function_call.name=U.name;if(U.arguments)(X=B.message.function_call).arguments??(X.arguments=""),B.message.function_call.arguments+=U.arguments}if(P){if(B.message.content=(B.message.content||"")+P,!B.message.refusal&&V(this,G0,"m",HW).call(this))B.message.parsed=BW(B.message.content)}if(f){if(!B.message.tool_calls)B.message.tool_calls=[];for(let{index:A,id:u,type:i,function:r,...z0}of f){let h=(Y=B.message.tool_calls)[A]??(Y[A]={});if(Object.assign(h,z0),u)h.id=u;if(i)h.type=i;if(r)h.function??(h.function={name:r.name??"",arguments:""});if(r?.name)h.function.name=r.name;if(r?.arguments){if(h.function.arguments+=r.arguments,IQ(V(this,H$,"f"),h))h.function.parsed_arguments=BW(h.function.arguments)}}}}return G},Symbol.asyncIterator)](){let $=[],w=[],Z=!1;return this.on("chunk",(W)=>{let X=w.shift();if(X)X.resolve(W);else $.push(W)}),this.on("end",()=>{Z=!0;for(let W of w)W.resolve(void 0);w.length=0}),this.on("abort",(W)=>{Z=!0;for(let X of w)X.reject(W);w.length=0}),this.on("error",(W)=>{Z=!0;for(let X of w)X.reject(W);w.length=0}),{next:async()=>{if(!$.length){if(Z)return{value:void 0,done:!0};return new Promise((X,Y)=>w.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new y0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function wO($,w){let{id:Z,choices:W,created:X,model:Y,system_fingerprint:G,...J}=$,Q={...J,id:Z,choices:W.map(({message:z,finish_reason:M,index:T,logprobs:N,...K})=>{if(!M)throw new k(`missing finish_reason for choice ${T}`);let{content:B=null,function_call:P,tool_calls:q,...U}=z,O=z.role;if(!O)throw new k(`missing role for choice ${T}`);if(P){let{arguments:f,name:C}=P;if(f==null)throw new k(`missing function_call.arguments for choice ${T}`);if(!C)throw new k(`missing function_call.name for choice ${T}`);return{...K,message:{content:B,function_call:{arguments:f,name:C},role:O,refusal:z.refusal??null},finish_reason:M,index:T,logprobs:N}}if(q)return{...K,index:T,finish_reason:M,logprobs:N,message:{...U,role:O,content:B,refusal:z.refusal??null,tool_calls:q.map((f,C)=>{let{function:A,type:u,id:i,...r}=f,{arguments:z0,name:h,...q0}=A||{};if(i==null)throw new k(`missing choices[${T}].tool_calls[${C}].id
99
- ${E6($)}`);if(u==null)throw new k(`missing choices[${T}].tool_calls[${C}].type
100
- ${E6($)}`);if(h==null)throw new k(`missing choices[${T}].tool_calls[${C}].function.name
101
- ${E6($)}`);if(z0==null)throw new k(`missing choices[${T}].tool_calls[${C}].function.arguments
102
- ${E6($)}`);return{...r,id:i,type:u,function:{...q0,name:h,arguments:z0}}})}};return{...K,message:{...U,content:B,role:O,refusal:z.refusal??null},finish_reason:M,index:T,logprobs:N}}),created:X,model:Y,object:"chat.completion",...G?{system_fingerprint:G}:{}};return jQ(Q,w)}function E6($){return JSON.stringify($)}function mQ($){return}function lQ($){}class Ww extends h${static fromReadableStream($){let w=new Ww(null);return w._run(()=>w._fromReadableStream($)),w}static runTools($,w,Z){let W=new Ww(w),X={...Z,headers:{...Z?.headers,"X-Stainless-Helper-Method":"runTools"}};return W._run(()=>W._runTools($,w,X)),W}}class i$ extends E{constructor(){super(...arguments);this.messages=new e1(this._client)}create($,w){return this._client.post("/chat/completions",{body:$,...w,stream:$.stream??!1})}retrieve($,w){return this._client.get(H`/chat/completions/${$}`,w)}update($,w,Z){return this._client.post(H`/chat/completions/${$}`,{body:w,...Z})}list($={},w){return this._client.getAPIList("/chat/completions",g,{query:$,...w})}delete($,w){return this._client.delete(H`/chat/completions/${$}`,w)}parse($,w){return bQ($.tools),this._client.chat.completions.create($,{...w,headers:{...w?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap((Z)=>s9(Z,$))}runTools($,w){if($.stream)return Ww.runTools(this._client,$,w);return Z4.runTools(this._client,$,w)}stream($,w){return h$.createChatCompletion(this._client,$,w)}}i$.Messages=e1;class B1 extends E{constructor(){super(...arguments);this.completions=new i$(this._client)}}B1.Completions=i$;var cQ=Symbol("brand.privateNullableHeaders");function*WO($){if(!$)return;if(cQ in $){let{values:W,nulls:X}=$;yield*W.entries();for(let Y of X)yield[Y,null];return}let w=!1,Z;if($ instanceof Headers)Z=$.entries();else if(l5($))Z=$;else w=!0,Z=Object.entries($??{});for(let W of Z){let X=W[0];if(typeof X!=="string")throw TypeError("expected header name to be a string");let Y=l5(W[1])?W[1]:[W[1]],G=!1;for(let J of Y){if(J===void 0)continue;if(w&&!G)G=!0,yield[X,null];yield[X,J]}}}var D=($)=>{let w=new Headers,Z=new Set;for(let W of $){let X=new Set;for(let[Y,G]of WO(W)){let J=Y.toLowerCase();if(!X.has(J))w.delete(Y),X.add(J);if(G===null)w.delete(Y),Z.add(J);else w.append(Y,G),Z.delete(J)}}return{[cQ]:!0,values:w,nulls:Z}};class W4 extends E{create($,w){return this._client.post("/audio/speech",{body:$,...w,headers:D([{Accept:"application/octet-stream"},w?.headers]),__binaryResponse:!0})}}class X4 extends E{create($,w){return this._client.post("/audio/transcriptions",b0({body:$,...w,stream:$.stream??!1,__metadata:{model:$.model}},this._client))}}class Y4 extends E{create($,w){return this._client.post("/audio/translations",b0({body:$,...w,__metadata:{model:$.model}},this._client))}}class F$ extends E{constructor(){super(...arguments);this.transcriptions=new X4(this._client),this.translations=new Y4(this._client),this.speech=new W4(this._client)}}F$.Transcriptions=X4;F$.Translations=Y4;F$.Speech=W4;class Xw extends E{create($,w){return this._client.post("/batches",{body:$,...w})}retrieve($,w){return this._client.get(H`/batches/${$}`,w)}list($={},w){return this._client.getAPIList("/batches",g,{query:$,...w})}cancel($,w){return this._client.post(H`/batches/${$}/cancel`,w)}}class G4 extends E{create($,w){return this._client.post("/assistants",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}retrieve($,w){return this._client.get(H`/assistants/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}update($,w,Z){return this._client.post(H`/assistants/${$}`,{body:w,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}list($={},w){return this._client.getAPIList("/assistants",g,{query:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}delete($,w){return this._client.delete(H`/assistants/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}}class J4 extends E{create($,w){return this._client.post("/realtime/sessions",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}}class Q4 extends E{create($,w){return this._client.post("/realtime/transcription_sessions",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}}class V1 extends E{constructor(){super(...arguments);this.sessions=new J4(this._client),this.transcriptionSessions=new Q4(this._client)}}V1.Sessions=J4;V1.TranscriptionSessions=Q4;class z4 extends E{create($,w,Z){return this._client.post(H`/threads/${$}/messages`,{body:w,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}retrieve($,w,Z){let{thread_id:W}=w;return this._client.get(H`/threads/${W}/messages/${$}`,{...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}update($,w,Z){let{thread_id:W,...X}=w;return this._client.post(H`/threads/${W}/messages/${$}`,{body:X,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}list($,w={},Z){return this._client.getAPIList(H`/threads/${$}/messages`,g,{query:w,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}delete($,w,Z){let{thread_id:W}=w;return this._client.delete(H`/threads/${W}/messages/${$}`,{...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}}class M4 extends E{retrieve($,w,Z){let{thread_id:W,run_id:X,...Y}=w;return this._client.get(H`/threads/${W}/runs/${X}/steps/${$}`,{query:Y,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}list($,w,Z){let{thread_id:W,...X}=w;return this._client.getAPIList(H`/threads/${W}/runs/${$}/steps`,g,{query:X,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}}var dQ=($)=>{if(typeof Buffer<"u"){let w=Buffer.from($,"base64");return Array.from(new Float32Array(w.buffer,w.byteOffset,w.length/Float32Array.BYTES_PER_ELEMENT))}else{let w=atob($),Z=w.length,W=new Uint8Array(Z);for(let X=0;X<Z;X++)W[X]=w.charCodeAt(X);return Array.from(new Float32Array(W.buffer))}};var m$=($)=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[$]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.($)?.trim();return};var T0,q1,FW,$$,L6,p0,U1,Yw,P1,k6,x0,D6,f6,K4,T4,N4,pQ,nQ,tQ,rQ,sQ,aQ,oQ;class l$ extends K1{constructor(){super(...arguments);T0.add(this),FW.set(this,[]),$$.set(this,{}),L6.set(this,{}),p0.set(this,void 0),U1.set(this,void 0),Yw.set(this,void 0),P1.set(this,void 0),k6.set(this,void 0),x0.set(this,void 0),D6.set(this,void 0),f6.set(this,void 0),K4.set(this,void 0)}[(FW=new WeakMap,$$=new WeakMap,L6=new WeakMap,p0=new WeakMap,U1=new WeakMap,Yw=new WeakMap,P1=new WeakMap,k6=new WeakMap,x0=new WeakMap,D6=new WeakMap,f6=new WeakMap,K4=new WeakMap,T0=new WeakSet,Symbol.asyncIterator)](){let $=[],w=[],Z=!1;return this.on("event",(W)=>{let X=w.shift();if(X)X.resolve(W);else $.push(W)}),this.on("end",()=>{Z=!0;for(let W of w)W.resolve(void 0);w.length=0}),this.on("abort",(W)=>{Z=!0;for(let X of w)X.reject(W);w.length=0}),this.on("error",(W)=>{Z=!0;for(let X of w)X.reject(W);w.length=0}),{next:async()=>{if(!$.length){if(Z)return{value:void 0,done:!0};return new Promise((X,Y)=>w.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}static fromReadableStream($){let w=new q1;return w._run(()=>w._fromReadableStream($)),w}async _fromReadableStream($,w){let Z=w?.signal;if(Z){if(Z.aborted)this.controller.abort();Z.addEventListener("abort",()=>this.controller.abort())}this._connected();let W=y0.fromReadableStream($,this.controller);for await(let X of W)V(this,T0,"m",T4).call(this,X);if(W.controller.signal?.aborted)throw new X0;return this._addRun(V(this,T0,"m",N4).call(this))}toReadableStream(){return new y0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream($,w,Z,W){let X=new q1;return X._run(()=>X._runToolAssistantStream($,w,Z,{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),X}async _createToolAssistantStream($,w,Z,W){let X=W?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}let Y={...Z,stream:!0},G=await $.submitToolOutputs(w,Y,{...W,signal:this.controller.signal});this._connected();for await(let J of G)V(this,T0,"m",T4).call(this,J);if(G.controller.signal?.aborted)throw new X0;return this._addRun(V(this,T0,"m",N4).call(this))}static createThreadAssistantStream($,w,Z){let W=new q1;return W._run(()=>W._threadAssistantStream($,w,{...Z,headers:{...Z?.headers,"X-Stainless-Helper-Method":"stream"}})),W}static createAssistantStream($,w,Z,W){let X=new q1;return X._run(()=>X._runAssistantStream($,w,Z,{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),X}currentEvent(){return V(this,D6,"f")}currentRun(){return V(this,f6,"f")}currentMessageSnapshot(){return V(this,p0,"f")}currentRunStepSnapshot(){return V(this,K4,"f")}async finalRunSteps(){return await this.done(),Object.values(V(this,$$,"f"))}async finalMessages(){return await this.done(),Object.values(V(this,L6,"f"))}async finalRun(){if(await this.done(),!V(this,U1,"f"))throw Error("Final run was not received.");return V(this,U1,"f")}async _createThreadAssistantStream($,w,Z){let W=Z?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}let X={...w,stream:!0},Y=await $.createAndRun(X,{...Z,signal:this.controller.signal});this._connected();for await(let G of Y)V(this,T0,"m",T4).call(this,G);if(Y.controller.signal?.aborted)throw new X0;return this._addRun(V(this,T0,"m",N4).call(this))}async _createAssistantStream($,w,Z,W){let X=W?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}let Y={...Z,stream:!0},G=await $.create(w,Y,{...W,signal:this.controller.signal});this._connected();for await(let J of G)V(this,T0,"m",T4).call(this,J);if(G.controller.signal?.aborted)throw new X0;return this._addRun(V(this,T0,"m",N4).call(this))}static accumulateDelta($,w){for(let[Z,W]of Object.entries(w)){if(!$.hasOwnProperty(Z)){$[Z]=W;continue}let X=$[Z];if(X===null||X===void 0){$[Z]=W;continue}if(Z==="index"||Z==="type"){$[Z]=W;continue}if(typeof X==="string"&&typeof W==="string")X+=W;else if(typeof X==="number"&&typeof W==="number")X+=W;else if(l9(X)&&l9(W))X=this.accumulateDelta(X,W);else if(Array.isArray(X)&&Array.isArray(W)){if(X.every((Y)=>typeof Y==="string"||typeof Y==="number")){X.push(...W);continue}for(let Y of W){if(!l9(Y))throw Error(`Expected array delta entry to be an object but got: ${Y}`);let G=Y.index;if(G==null)throw console.error(Y),Error("Expected array delta entry to have an `index` property");if(typeof G!=="number")throw Error(`Expected array delta entry \`index\` property to be a number but got ${G}`);let J=X[G];if(J==null)X.push(Y);else X[G]=this.accumulateDelta(J,Y)}continue}else throw Error(`Unhandled record type: ${Z}, deltaValue: ${W}, accValue: ${X}`);$[Z]=X}return $}_addRun($){return $}async _threadAssistantStream($,w,Z){return await this._createThreadAssistantStream(w,$,Z)}async _runAssistantStream($,w,Z,W){return await this._createAssistantStream(w,$,Z,W)}async _runToolAssistantStream($,w,Z,W){return await this._createToolAssistantStream(w,$,Z,W)}}q1=l$,T4=function(w){if(this.ended)return;switch(R(this,D6,w,"f"),V(this,T0,"m",tQ).call(this,w),w.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":V(this,T0,"m",oQ).call(this,w);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":V(this,T0,"m",nQ).call(this,w);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":V(this,T0,"m",pQ).call(this,w);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier");default:KO(w)}},N4=function(){if(this.ended)throw new k("stream has ended, this shouldn't happen");if(!V(this,U1,"f"))throw Error("Final run has not been received");return V(this,U1,"f")},pQ=function(w){let[Z,W]=V(this,T0,"m",sQ).call(this,w,V(this,p0,"f"));R(this,p0,Z,"f"),V(this,L6,"f")[Z.id]=Z;for(let X of W){let Y=Z.content[X.index];if(Y?.type=="text")this._emit("textCreated",Y.text)}switch(w.event){case"thread.message.created":this._emit("messageCreated",w.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",w.data.delta,Z),w.data.delta.content)for(let X of w.data.delta.content){if(X.type=="text"&&X.text){let Y=X.text,G=Z.content[X.index];if(G&&G.type=="text")this._emit("textDelta",Y,G.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(X.index!=V(this,Yw,"f")){if(V(this,P1,"f"))switch(V(this,P1,"f").type){case"text":this._emit("textDone",V(this,P1,"f").text,V(this,p0,"f"));break;case"image_file":this._emit("imageFileDone",V(this,P1,"f").image_file,V(this,p0,"f"));break}R(this,Yw,X.index,"f")}R(this,P1,Z.content[X.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(V(this,Yw,"f")!==void 0){let X=w.data.content[V(this,Yw,"f")];if(X)switch(X.type){case"image_file":this._emit("imageFileDone",X.image_file,V(this,p0,"f"));break;case"text":this._emit("textDone",X.text,V(this,p0,"f"));break}}if(V(this,p0,"f"))this._emit("messageDone",w.data);R(this,p0,void 0,"f")}},nQ=function(w){let Z=V(this,T0,"m",rQ).call(this,w);switch(R(this,K4,Z,"f"),w.event){case"thread.run.step.created":this._emit("runStepCreated",w.data);break;case"thread.run.step.delta":let W=w.data.delta;if(W.step_details&&W.step_details.type=="tool_calls"&&W.step_details.tool_calls&&Z.step_details.type=="tool_calls")for(let Y of W.step_details.tool_calls)if(Y.index==V(this,k6,"f"))this._emit("toolCallDelta",Y,Z.step_details.tool_calls[Y.index]);else{if(V(this,x0,"f"))this._emit("toolCallDone",V(this,x0,"f"));if(R(this,k6,Y.index,"f"),R(this,x0,Z.step_details.tool_calls[Y.index],"f"),V(this,x0,"f"))this._emit("toolCallCreated",V(this,x0,"f"))}this._emit("runStepDelta",w.data.delta,Z);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":if(R(this,K4,void 0,"f"),w.data.step_details.type=="tool_calls"){if(V(this,x0,"f"))this._emit("toolCallDone",V(this,x0,"f")),R(this,x0,void 0,"f")}this._emit("runStepDone",w.data,Z);break;case"thread.run.step.in_progress":break}},tQ=function(w){V(this,FW,"f").push(w),this._emit("event",w)},rQ=function(w){switch(w.event){case"thread.run.step.created":return V(this,$$,"f")[w.data.id]=w.data,w.data;case"thread.run.step.delta":let Z=V(this,$$,"f")[w.data.id];if(!Z)throw Error("Received a RunStepDelta before creation of a snapshot");let W=w.data;if(W.delta){let X=q1.accumulateDelta(Z,W.delta);V(this,$$,"f")[w.data.id]=X}return V(this,$$,"f")[w.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":V(this,$$,"f")[w.data.id]=w.data;break}if(V(this,$$,"f")[w.data.id])return V(this,$$,"f")[w.data.id];throw Error("No snapshot available")},sQ=function(w,Z){let W=[];switch(w.event){case"thread.message.created":return[w.data,W];case"thread.message.delta":if(!Z)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let X=w.data;if(X.delta.content)for(let Y of X.delta.content)if(Y.index in Z.content){let G=Z.content[Y.index];Z.content[Y.index]=V(this,T0,"m",aQ).call(this,Y,G)}else Z.content[Y.index]=Y,W.push(Y);return[Z,W];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(Z)return[Z,W];else throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},aQ=function(w,Z){return q1.accumulateDelta(Z,w)},oQ=function(w){switch(R(this,f6,w.data,"f"),w.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":if(R(this,U1,w.data,"f"),V(this,x0,"f"))this._emit("toolCallDone",V(this,x0,"f")),R(this,x0,void 0,"f");break;case"thread.run.cancelling":break}};function KO($){}class Gw extends E{constructor(){super(...arguments);this.steps=new M4(this._client)}create($,w,Z){let{include:W,...X}=w;return this._client.post(H`/threads/${$}/runs`,{query:{include:W},body:X,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers]),stream:w.stream??!1})}retrieve($,w,Z){let{thread_id:W}=w;return this._client.get(H`/threads/${W}/runs/${$}`,{...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}update($,w,Z){let{thread_id:W,...X}=w;return this._client.post(H`/threads/${W}/runs/${$}`,{body:X,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}list($,w={},Z){return this._client.getAPIList(H`/threads/${$}/runs`,g,{query:w,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}cancel($,w,Z){let{thread_id:W}=w;return this._client.post(H`/threads/${W}/runs/${$}/cancel`,{...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}async createAndPoll($,w,Z){let W=await this.create($,w,Z);return await this.poll(W.id,{thread_id:$},Z)}createAndStream($,w,Z){return l$.createAssistantStream($,this._client.beta.threads.runs,w,Z)}async poll($,w,Z){let W=D([Z?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":Z?.pollIntervalMs?.toString()??void 0}]);while(!0){let{data:X,response:Y}=await this.retrieve($,w,{...Z,headers:{...Z?.headers,...W}}).withResponse();switch(X.status){case"queued":case"in_progress":case"cancelling":let G=5000;if(Z?.pollIntervalMs)G=Z.pollIntervalMs;else{let J=Y.headers.get("openai-poll-after-ms");if(J){let Q=parseInt(J);if(!isNaN(Q))G=Q}}await o0(G);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return X}}}stream($,w,Z){return l$.createAssistantStream($,this._client.beta.threads.runs,w,Z)}submitToolOutputs($,w,Z){let{thread_id:W,...X}=w;return this._client.post(H`/threads/${W}/runs/${$}/submit_tool_outputs`,{body:X,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers]),stream:w.stream??!1})}async submitToolOutputsAndPoll($,w,Z){let W=await this.submitToolOutputs($,w,Z);return await this.poll(W.id,w,Z)}submitToolOutputsStream($,w,Z){return l$.createToolAssistantStream($,this._client.beta.threads.runs,w,Z)}}Gw.Steps=M4;class H1 extends E{constructor(){super(...arguments);this.runs=new Gw(this._client),this.messages=new z4(this._client)}create($={},w){return this._client.post("/threads",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}retrieve($,w){return this._client.get(H`/threads/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}update($,w,Z){return this._client.post(H`/threads/${$}`,{body:w,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}delete($,w){return this._client.delete(H`/threads/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}createAndRun($,w){return this._client.post("/threads/runs",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers]),stream:$.stream??!1})}async createAndRunPoll($,w){let Z=await this.createAndRun($,w);return await this.runs.poll(Z.id,{thread_id:Z.thread_id},w)}createAndRunStream($,w){return l$.createThreadAssistantStream($,this._client.beta.threads,w)}}H1.Runs=Gw;H1.Messages=z4;class O$ extends E{constructor(){super(...arguments);this.realtime=new V1(this._client),this.assistants=new G4(this._client),this.threads=new H1(this._client)}}O$.Realtime=V1;O$.Assistants=G4;O$.Threads=H1;class Jw extends E{create($,w){return this._client.post("/completions",{body:$,...w,stream:$.stream??!1})}}class B4 extends E{retrieve($,w,Z){let{container_id:W}=w;return this._client.get(H`/containers/${W}/files/${$}/content`,{...Z,headers:D([{Accept:"application/binary"},Z?.headers]),__binaryResponse:!0})}}class Qw extends E{constructor(){super(...arguments);this.content=new B4(this._client)}create($,w,Z){return this._client.post(H`/containers/${$}/files`,b0({body:w,...Z},this._client))}retrieve($,w,Z){let{container_id:W}=w;return this._client.get(H`/containers/${W}/files/${$}`,Z)}list($,w={},Z){return this._client.getAPIList(H`/containers/${$}/files`,g,{query:w,...Z})}delete($,w,Z){let{container_id:W}=w;return this._client.delete(H`/containers/${W}/files/${$}`,{...Z,headers:D([{Accept:"*/*"},Z?.headers])})}}Qw.Content=B4;class F1 extends E{constructor(){super(...arguments);this.files=new Qw(this._client)}create($,w){return this._client.post("/containers",{body:$,...w})}retrieve($,w){return this._client.get(H`/containers/${$}`,w)}list($={},w){return this._client.getAPIList("/containers",g,{query:$,...w})}delete($,w){return this._client.delete(H`/containers/${$}`,{...w,headers:D([{Accept:"*/*"},w?.headers])})}}F1.Files=Qw;class V4 extends E{create($,w,Z){let{include:W,...X}=w;return this._client.post(H`/conversations/${$}/items`,{query:{include:W},body:X,...Z})}retrieve($,w,Z){let{conversation_id:W,...X}=w;return this._client.get(H`/conversations/${W}/items/${$}`,{query:X,...Z})}list($,w={},Z){return this._client.getAPIList(H`/conversations/${$}/items`,ZW,{query:w,...Z})}delete($,w,Z){let{conversation_id:W}=w;return this._client.delete(H`/conversations/${W}/items/${$}`,Z)}}class O1 extends E{constructor(){super(...arguments);this.items=new V4(this._client)}create($={},w){return this._client.post("/conversations",{body:$,...w})}retrieve($,w){return this._client.get(H`/conversations/${$}`,w)}update($,w,Z){return this._client.post(H`/conversations/${$}`,{body:w,...Z})}delete($,w){return this._client.delete(H`/conversations/${$}`,w)}}O1.Items=V4;class zw extends E{create($,w){let Z=!!$.encoding_format,W=Z?$.encoding_format:"base64";if(Z)$0(this._client).debug("embeddings/user defined encoding_format:",$.encoding_format);let X=this._client.post("/embeddings",{body:{...$,encoding_format:W},...w});if(Z)return X;return $0(this._client).debug("embeddings/decoding base64 embeddings from base64"),X._thenUnwrap((Y)=>{if(Y&&Y.data)Y.data.forEach((G)=>{let J=G.embedding;G.embedding=dQ(J)});return Y})}}class P4 extends E{retrieve($,w,Z){let{eval_id:W,run_id:X}=w;return this._client.get(H`/evals/${W}/runs/${X}/output_items/${$}`,Z)}list($,w,Z){let{eval_id:W,...X}=w;return this._client.getAPIList(H`/evals/${W}/runs/${$}/output_items`,g,{query:X,...Z})}}class Mw extends E{constructor(){super(...arguments);this.outputItems=new P4(this._client)}create($,w,Z){return this._client.post(H`/evals/${$}/runs`,{body:w,...Z})}retrieve($,w,Z){let{eval_id:W}=w;return this._client.get(H`/evals/${W}/runs/${$}`,Z)}list($,w={},Z){return this._client.getAPIList(H`/evals/${$}/runs`,g,{query:w,...Z})}delete($,w,Z){let{eval_id:W}=w;return this._client.delete(H`/evals/${W}/runs/${$}`,Z)}cancel($,w,Z){let{eval_id:W}=w;return this._client.post(H`/evals/${W}/runs/${$}`,Z)}}Mw.OutputItems=P4;class E1 extends E{constructor(){super(...arguments);this.runs=new Mw(this._client)}create($,w){return this._client.post("/evals",{body:$,...w})}retrieve($,w){return this._client.get(H`/evals/${$}`,w)}update($,w,Z){return this._client.post(H`/evals/${$}`,{body:w,...Z})}list($={},w){return this._client.getAPIList("/evals",g,{query:$,...w})}delete($,w){return this._client.delete(H`/evals/${$}`,w)}}E1.Runs=Mw;class Tw extends E{create($,w){return this._client.post("/files",b0({body:$,...w},this._client))}retrieve($,w){return this._client.get(H`/files/${$}`,w)}list($={},w){return this._client.getAPIList("/files",g,{query:$,...w})}delete($,w){return this._client.delete(H`/files/${$}`,w)}content($,w){return this._client.get(H`/files/${$}/content`,{...w,headers:D([{Accept:"application/binary"},w?.headers]),__binaryResponse:!0})}async waitForProcessing($,{pollInterval:w=5000,maxWait:Z=1800000}={}){let W=new Set(["processed","error","deleted"]),X=Date.now(),Y=await this.retrieve($);while(!Y.status||!W.has(Y.status))if(await o0(w),Y=await this.retrieve($),Date.now()-X>Z)throw new M1({message:`Giving up on waiting for file ${$} to finish processing after ${Z} milliseconds.`});return Y}}class q4 extends E{}class U4 extends E{run($,w){return this._client.post("/fine_tuning/alpha/graders/run",{body:$,...w})}validate($,w){return this._client.post("/fine_tuning/alpha/graders/validate",{body:$,...w})}}class Nw extends E{constructor(){super(...arguments);this.graders=new U4(this._client)}}Nw.Graders=U4;class H4 extends E{create($,w,Z){return this._client.getAPIList(H`/fine_tuning/checkpoints/${$}/permissions`,q$,{body:w,method:"post",...Z})}retrieve($,w={},Z){return this._client.get(H`/fine_tuning/checkpoints/${$}/permissions`,{query:w,...Z})}delete($,w,Z){let{fine_tuned_model_checkpoint:W}=w;return this._client.delete(H`/fine_tuning/checkpoints/${W}/permissions/${$}`,Z)}}class Kw extends E{constructor(){super(...arguments);this.permissions=new H4(this._client)}}Kw.Permissions=H4;class F4 extends E{list($,w={},Z){return this._client.getAPIList(H`/fine_tuning/jobs/${$}/checkpoints`,g,{query:w,...Z})}}class Bw extends E{constructor(){super(...arguments);this.checkpoints=new F4(this._client)}create($,w){return this._client.post("/fine_tuning/jobs",{body:$,...w})}retrieve($,w){return this._client.get(H`/fine_tuning/jobs/${$}`,w)}list($={},w){return this._client.getAPIList("/fine_tuning/jobs",g,{query:$,...w})}cancel($,w){return this._client.post(H`/fine_tuning/jobs/${$}/cancel`,w)}listEvents($,w={},Z){return this._client.getAPIList(H`/fine_tuning/jobs/${$}/events`,g,{query:w,...Z})}pause($,w){return this._client.post(H`/fine_tuning/jobs/${$}/pause`,w)}resume($,w){return this._client.post(H`/fine_tuning/jobs/${$}/resume`,w)}}Bw.Checkpoints=F4;class w$ extends E{constructor(){super(...arguments);this.methods=new q4(this._client),this.jobs=new Bw(this._client),this.checkpoints=new Kw(this._client),this.alpha=new Nw(this._client)}}w$.Methods=q4;w$.Jobs=Bw;w$.Checkpoints=Kw;w$.Alpha=Nw;class O4 extends E{}class L1 extends E{constructor(){super(...arguments);this.graderModels=new O4(this._client)}}L1.GraderModels=O4;class Vw extends E{createVariation($,w){return this._client.post("/images/variations",b0({body:$,...w},this._client))}edit($,w){return this._client.post("/images/edits",b0({body:$,...w,stream:$.stream??!1},this._client))}generate($,w){return this._client.post("/images/generations",{body:$,...w,stream:$.stream??!1})}}class Pw extends E{retrieve($,w){return this._client.get(H`/models/${$}`,w)}list($){return this._client.getAPIList("/models",q$,$)}delete($,w){return this._client.delete(H`/models/${$}`,w)}}class qw extends E{create($,w){return this._client.post("/moderations",{body:$,...w})}}class E4 extends E{create($,w){return this._client.post("/realtime/client_secrets",{body:$,...w})}}class D1 extends E{constructor(){super(...arguments);this.clientSecrets=new E4(this._client)}}D1.ClientSecrets=E4;function eQ($,w){if(!w||!jO(w))return{...$,output_parsed:null,output:$.output.map((Z)=>{if(Z.type==="function_call")return{...Z,parsed_arguments:null};if(Z.type==="message")return{...Z,content:Z.content.map((W)=>({...W,parsed:null}))};else return Z})};return OW($,w)}function OW($,w){let Z=$.output.map((X)=>{if(X.type==="function_call")return{...X,parsed_arguments:bO(w,X)};if(X.type==="message"){let Y=X.content.map((G)=>{if(G.type==="output_text")return{...G,parsed:CO(w,G.text)};return G});return{...X,content:Y}}return X}),W=Object.assign({},$,{output:Z});if(!Object.getOwnPropertyDescriptor($,"output_text"))A6(W);return Object.defineProperty(W,"output_parsed",{enumerable:!0,get(){for(let X of W.output){if(X.type!=="message")continue;for(let Y of X.content)if(Y.type==="output_text"&&Y.parsed!==null)return Y.parsed}return null}}),W}function CO($,w){if($.text?.format?.type!=="json_schema")return null;if("$parseRaw"in $.text?.format)return($.text?.format).$parseRaw(w);return JSON.parse(w)}function jO($){if(r9($.text?.format))return!0;return!1}function IO($){return $?.$brand==="auto-parseable-tool"}function yO($,w){return $.find((Z)=>Z.type==="function"&&Z.name===w)}function bO($,w){let Z=yO($.tools??[],w.name);return{...w,...w,parsed_arguments:IO(Z)?Z.$parseRaw(w.arguments):Z?.strict?JSON.parse(w.arguments):null}}function A6($){let w=[];for(let Z of $.output){if(Z.type!=="message")continue;for(let W of Z.content)if(W.type==="output_text")w.push(W.text)}$.output_text=w.join("")}var Uw,S6,c$,R6,$z,wz,Zz,Wz;class C6 extends K1{constructor($){super();Uw.add(this),S6.set(this,void 0),c$.set(this,void 0),R6.set(this,void 0),R(this,S6,$,"f")}static createResponse($,w,Z){let W=new C6(w);return W._run(()=>W._createOrRetrieveResponse($,w,{...Z,headers:{...Z?.headers,"X-Stainless-Helper-Method":"stream"}})),W}async _createOrRetrieveResponse($,w,Z){let W=Z?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}V(this,Uw,"m",$z).call(this);let X,Y=null;if("response_id"in w)X=await $.responses.retrieve(w.response_id,{stream:!0},{...Z,signal:this.controller.signal,stream:!0}),Y=w.starting_after??null;else X=await $.responses.create({...w,stream:!0},{...Z,signal:this.controller.signal});this._connected();for await(let G of X)V(this,Uw,"m",wz).call(this,G,Y);if(X.controller.signal?.aborted)throw new X0;return V(this,Uw,"m",Zz).call(this)}[(S6=new WeakMap,c$=new WeakMap,R6=new WeakMap,Uw=new WeakSet,$z=function(){if(this.ended)return;R(this,c$,void 0,"f")},wz=function(w,Z){if(this.ended)return;let W=(Y,G)=>{if(Z==null||G.sequence_number>Z)this._emit(Y,G)},X=V(this,Uw,"m",Wz).call(this,w);switch(W("event",w),w.type){case"response.output_text.delta":{let Y=X.output[w.output_index];if(!Y)throw new k(`missing output at index ${w.output_index}`);if(Y.type==="message"){let G=Y.content[w.content_index];if(!G)throw new k(`missing content at index ${w.content_index}`);if(G.type!=="output_text")throw new k(`expected content to be 'output_text', got ${G.type}`);W("response.output_text.delta",{...w,snapshot:G.text})}break}case"response.function_call_arguments.delta":{let Y=X.output[w.output_index];if(!Y)throw new k(`missing output at index ${w.output_index}`);if(Y.type==="function_call")W("response.function_call_arguments.delta",{...w,snapshot:Y.arguments});break}default:W(w.type,w);break}},Zz=function(){if(this.ended)throw new k("stream has ended, this shouldn't happen");let w=V(this,c$,"f");if(!w)throw new k("request ended without sending any events");R(this,c$,void 0,"f");let Z=xO(w,V(this,S6,"f"));return R(this,R6,Z,"f"),Z},Wz=function(w){let Z=V(this,c$,"f");if(!Z){if(w.type!=="response.created")throw new k(`When snapshot hasn't been set yet, expected 'response.created' event, got ${w.type}`);return Z=R(this,c$,w.response,"f"),Z}switch(w.type){case"response.output_item.added":{Z.output.push(w.item);break}case"response.content_part.added":{let W=Z.output[w.output_index];if(!W)throw new k(`missing output at index ${w.output_index}`);let X=W.type,Y=w.part;if(X==="message"&&Y.type!=="reasoning_text")W.content.push(Y);else if(X==="reasoning"&&Y.type==="reasoning_text"){if(!W.content)W.content=[];W.content.push(Y)}break}case"response.output_text.delta":{let W=Z.output[w.output_index];if(!W)throw new k(`missing output at index ${w.output_index}`);if(W.type==="message"){let X=W.content[w.content_index];if(!X)throw new k(`missing content at index ${w.content_index}`);if(X.type!=="output_text")throw new k(`expected content to be 'output_text', got ${X.type}`);X.text+=w.delta}break}case"response.function_call_arguments.delta":{let W=Z.output[w.output_index];if(!W)throw new k(`missing output at index ${w.output_index}`);if(W.type==="function_call")W.arguments+=w.delta;break}case"response.reasoning_text.delta":{let W=Z.output[w.output_index];if(!W)throw new k(`missing output at index ${w.output_index}`);if(W.type==="reasoning"){let X=W.content?.[w.content_index];if(!X)throw new k(`missing content at index ${w.content_index}`);if(X.type!=="reasoning_text")throw new k(`expected content to be 'reasoning_text', got ${X.type}`);X.text+=w.delta}break}case"response.completed":{R(this,c$,w.response,"f");break}}return Z},Symbol.asyncIterator)](){let $=[],w=[],Z=!1;return this.on("event",(W)=>{let X=w.shift();if(X)X.resolve(W);else $.push(W)}),this.on("end",()=>{Z=!0;for(let W of w)W.resolve(void 0);w.length=0}),this.on("abort",(W)=>{Z=!0;for(let X of w)X.reject(W);w.length=0}),this.on("error",(W)=>{Z=!0;for(let X of w)X.reject(W);w.length=0}),{next:async()=>{if(!$.length){if(Z)return{value:void 0,done:!0};return new Promise((X,Y)=>w.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}async finalResponse(){await this.done();let $=V(this,R6,"f");if(!$)throw new k("stream ended without producing a ChatCompletion");return $}}function xO($,w){return eQ($,w)}class L4 extends E{list($,w={},Z){return this._client.getAPIList(H`/responses/${$}/input_items`,g,{query:w,...Z})}}class f1 extends E{constructor(){super(...arguments);this.inputItems=new L4(this._client)}create($,w){return this._client.post("/responses",{body:$,...w,stream:$.stream??!1})._thenUnwrap((Z)=>{if("object"in Z&&Z.object==="response")A6(Z);return Z})}retrieve($,w={},Z){return this._client.get(H`/responses/${$}`,{query:w,...Z,stream:w?.stream??!1})._thenUnwrap((W)=>{if("object"in W&&W.object==="response")A6(W);return W})}delete($,w){return this._client.delete(H`/responses/${$}`,{...w,headers:D([{Accept:"*/*"},w?.headers])})}parse($,w){return this._client.responses.create($,w)._thenUnwrap((Z)=>OW(Z,$))}stream($,w){return C6.createResponse(this._client,$,w)}cancel($,w){return this._client.post(H`/responses/${$}/cancel`,w)}}f1.InputItems=L4;class D4 extends E{create($,w,Z){return this._client.post(H`/uploads/${$}/parts`,b0({body:w,...Z},this._client))}}class k1 extends E{constructor(){super(...arguments);this.parts=new D4(this._client)}create($,w){return this._client.post("/uploads",{body:$,...w})}cancel($,w){return this._client.post(H`/uploads/${$}/cancel`,w)}complete($,w,Z){return this._client.post(H`/uploads/${$}/complete`,{body:w,...Z})}}k1.Parts=D4;var Xz=async($)=>{let w=await Promise.allSettled($),Z=w.filter((X)=>X.status==="rejected");if(Z.length){for(let X of Z)console.error(X.reason);throw Error(`${Z.length} promise(s) failed - see the above errors`)}let W=[];for(let X of w)if(X.status==="fulfilled")W.push(X.value);return W};class f4 extends E{create($,w,Z){return this._client.post(H`/vector_stores/${$}/file_batches`,{body:w,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}retrieve($,w,Z){let{vector_store_id:W}=w;return this._client.get(H`/vector_stores/${W}/file_batches/${$}`,{...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}cancel($,w,Z){let{vector_store_id:W}=w;return this._client.post(H`/vector_stores/${W}/file_batches/${$}/cancel`,{...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}async createAndPoll($,w,Z){let W=await this.create($,w);return await this.poll($,W.id,Z)}listFiles($,w,Z){let{vector_store_id:W,...X}=w;return this._client.getAPIList(H`/vector_stores/${W}/file_batches/${$}/files`,g,{query:X,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}async poll($,w,Z){let W=D([Z?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":Z?.pollIntervalMs?.toString()??void 0}]);while(!0){let{data:X,response:Y}=await this.retrieve(w,{vector_store_id:$},{...Z,headers:W}).withResponse();switch(X.status){case"in_progress":let G=5000;if(Z?.pollIntervalMs)G=Z.pollIntervalMs;else{let J=Y.headers.get("openai-poll-after-ms");if(J){let Q=parseInt(J);if(!isNaN(Q))G=Q}}await o0(G);break;case"failed":case"cancelled":case"completed":return X}}}async uploadAndPoll($,{files:w,fileIds:Z=[]},W){if(w==null||w.length==0)throw Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let X=W?.maxConcurrency??5,Y=Math.min(X,w.length),G=this._client,J=w.values(),Q=[...Z];async function z(T){for(let N of T){let K=await G.files.create({file:N,purpose:"assistants"},W);Q.push(K.id)}}let M=Array(Y).fill(J).map(z);return await Xz(M),await this.createAndPoll($,{file_ids:Q})}}class k4 extends E{create($,w,Z){return this._client.post(H`/vector_stores/${$}/files`,{body:w,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}retrieve($,w,Z){let{vector_store_id:W}=w;return this._client.get(H`/vector_stores/${W}/files/${$}`,{...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}update($,w,Z){let{vector_store_id:W,...X}=w;return this._client.post(H`/vector_stores/${W}/files/${$}`,{body:X,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}list($,w={},Z){return this._client.getAPIList(H`/vector_stores/${$}/files`,g,{query:w,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}delete($,w,Z){let{vector_store_id:W}=w;return this._client.delete(H`/vector_stores/${W}/files/${$}`,{...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}async createAndPoll($,w,Z){let W=await this.create($,w,Z);return await this.poll($,W.id,Z)}async poll($,w,Z){let W=D([Z?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":Z?.pollIntervalMs?.toString()??void 0}]);while(!0){let X=await this.retrieve(w,{vector_store_id:$},{...Z,headers:W}).withResponse(),Y=X.data;switch(Y.status){case"in_progress":let G=5000;if(Z?.pollIntervalMs)G=Z.pollIntervalMs;else{let J=X.response.headers.get("openai-poll-after-ms");if(J){let Q=parseInt(J);if(!isNaN(Q))G=Q}}await o0(G);break;case"failed":case"completed":return Y}}}async upload($,w,Z){let W=await this._client.files.create({file:w,purpose:"assistants"},Z);return this.create($,{file_id:W.id},Z)}async uploadAndPoll($,w,Z){let W=await this.upload($,w,Z);return await this.poll($,W.id,Z)}content($,w,Z){let{vector_store_id:W}=w;return this._client.getAPIList(H`/vector_stores/${W}/files/${$}/content`,q$,{...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}}class d$ extends E{constructor(){super(...arguments);this.files=new k4(this._client),this.fileBatches=new f4(this._client)}create($,w){return this._client.post("/vector_stores",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}retrieve($,w){return this._client.get(H`/vector_stores/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}update($,w,Z){return this._client.post(H`/vector_stores/${$}`,{body:w,...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}list($={},w){return this._client.getAPIList("/vector_stores",g,{query:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}delete($,w){return this._client.delete(H`/vector_stores/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}search($,w,Z){return this._client.getAPIList(H`/vector_stores/${$}/search`,q$,{body:w,method:"post",...Z,headers:D([{"OpenAI-Beta":"assistants=v2"},Z?.headers])})}}d$.Files=k4;d$.FileBatches=f4;var Hw,Yz,j6;class Fw extends E{constructor(){super(...arguments);Hw.add(this)}async unwrap($,w,Z=this._client.webhookSecret,W=300){return await this.verifySignature($,w,Z,W),JSON.parse($)}async verifySignature($,w,Z=this._client.webhookSecret,W=300){if(typeof crypto>"u"||typeof crypto.subtle.importKey!=="function"||typeof crypto.subtle.verify!=="function")throw Error("Webhook signature verification is only supported when the `crypto` global is defined");V(this,Hw,"m",Yz).call(this,Z);let X=D([w]).values,Y=V(this,Hw,"m",j6).call(this,X,"webhook-signature"),G=V(this,Hw,"m",j6).call(this,X,"webhook-timestamp"),J=V(this,Hw,"m",j6).call(this,X,"webhook-id"),Q=parseInt(G,10);if(isNaN(Q))throw new V$("Invalid webhook timestamp format");let z=Math.floor(Date.now()/1000);if(z-Q>W)throw new V$("Webhook timestamp is too old");if(Q>z+W)throw new V$("Webhook timestamp is too new");let M=Y.split(" ").map((B)=>B.startsWith("v1,")?B.substring(3):B),T=Z.startsWith("whsec_")?Buffer.from(Z.replace("whsec_",""),"base64"):Buffer.from(Z,"utf-8"),N=J?`${J}.${G}.${$}`:`${G}.${$}`,K=await crypto.subtle.importKey("raw",T,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let B of M)try{let P=Buffer.from(B,"base64");if(await crypto.subtle.verify("HMAC",K,P,new TextEncoder().encode(N)))return}catch{continue}throw new V$("The given webhook signature does not match the expected signature")}}Hw=new WeakSet,Yz=function(w){if(typeof w!=="string"||w.length===0)throw Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},j6=function(w,Z){if(!w)throw Error("Headers are required");let W=w.get(Z);if(W===null||W===void 0)throw Error(`Missing required header: ${Z}`);return W};var EW,LW,I6,Gz;class x{constructor({baseURL:$=m$("OPENAI_BASE_URL"),apiKey:w=m$("OPENAI_API_KEY"),organization:Z=m$("OPENAI_ORG_ID")??null,project:W=m$("OPENAI_PROJECT_ID")??null,webhookSecret:X=m$("OPENAI_WEBHOOK_SECRET")??null,...Y}={}){if(EW.add(this),I6.set(this,void 0),this.completions=new Jw(this),this.chat=new B1(this),this.embeddings=new zw(this),this.files=new Tw(this),this.images=new Vw(this),this.audio=new F$(this),this.moderations=new qw(this),this.models=new Pw(this),this.fineTuning=new w$(this),this.graders=new L1(this),this.vectorStores=new d$(this),this.webhooks=new Fw(this),this.beta=new O$(this),this.batches=new Xw(this),this.uploads=new k1(this),this.responses=new f1(this),this.realtime=new D1(this),this.conversations=new O1(this),this.evals=new E1(this),this.containers=new F1(this),w===void 0)throw new k("Missing credentials. Please pass an `apiKey`, or set the `OPENAI_API_KEY` environment variable.");let G={apiKey:w,organization:Z,project:W,webhookSecret:X,...Y,baseURL:$||"https://api.openai.com/v1"};if(!G.dangerouslyAllowBrowser&&MQ())throw new k(`It looks like you're running in a browser-like environment.
182
+ ${z}`)}return G},U=BE(lQ);class fw extends O{list($,w={},W){return this._client.getAPIList(U`/chat/completions/${$}/messages`,u,{query:w,...W})}}function H9($){return $!==void 0&&"function"in $&&$.function!==void 0}function F9($){return $?.$brand==="auto-parseable-response-format"}function L1($){return $?.$brand==="auto-parseable-tool"}function cQ($,w){if(!w||!aZ(w))return{...$,choices:$.choices.map((W)=>{return nQ(W.message.tool_calls),{...W,message:{...W.message,parsed:null,...W.message.tool_calls?{tool_calls:W.message.tool_calls}:void 0}}})};return O9($,w)}function O9($,w){let W=$.choices.map((Z)=>{if(Z.finish_reason==="length")throw new K9;if(Z.finish_reason==="content_filter")throw new B9;return nQ(Z.message.tool_calls),{...Z,message:{...Z.message,...Z.message.tool_calls?{tool_calls:Z.message.tool_calls?.map((X)=>qE(w,X))??void 0}:void 0,parsed:Z.message.content&&!Z.message.refusal?fE(w,Z.message.content):null}}});return{...$,choices:W}}function fE($,w){if($.response_format?.type!=="json_schema")return null;if($.response_format?.type==="json_schema"){if("$parseRaw"in $.response_format)return $.response_format.$parseRaw(w);return JSON.parse(w)}return null}function qE($,w){let W=$.tools?.find((Z)=>H9(Z)&&Z.function?.name===w.function.name);return{...w,function:{...w.function,parsed_arguments:L1(W)?W.$parseRaw(w.function.arguments):W?.function.strict?JSON.parse(w.function.arguments):null}}}function dQ($,w){if(!$||!("tools"in $)||!$.tools)return!1;let W=$.tools?.find((Z)=>H9(Z)&&Z.function?.name===w.function.name);return H9(W)&&(L1(W)||W?.function.strict||!1)}function aZ($){if(F9($.response_format))return!0;return $.tools?.some((w)=>L1(w)||w.type==="function"&&w.function.strict===!0)??!1}function nQ($){for(let w of $||[])if(w.type!=="function")throw new k(`Currently only \`function\` tool calls are supported; Received \`${w.type}\``)}function pQ($){for(let w of $??[]){if(w.type!=="function")throw new k(`Currently only \`function\` tool types support auto-parsing; Received \`${w.type}\``);if(w.function.strict!==!0)throw new k(`The \`${w.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var qw=($)=>{return $?.role==="assistant"},oZ=($)=>{return $?.role==="tool"};var eZ,c6,d6,E9,L9,n6,D9,S$,k9,p6,t6,Uw,tQ;class D1{constructor(){eZ.add(this),this.controller=new AbortController,c6.set(this,void 0),d6.set(this,()=>{}),E9.set(this,()=>{}),L9.set(this,void 0),n6.set(this,()=>{}),D9.set(this,()=>{}),S$.set(this,{}),k9.set(this,!1),p6.set(this,!1),t6.set(this,!1),Uw.set(this,!1),C(this,c6,new Promise(($,w)=>{C(this,d6,$,"f"),C(this,E9,w,"f")}),"f"),C(this,L9,new Promise(($,w)=>{C(this,n6,$,"f"),C(this,D9,w,"f")}),"f"),V(this,c6,"f").catch(()=>{}),V(this,L9,"f").catch(()=>{})}_run($){setTimeout(()=>{$().then(()=>{this._emitFinal(),this._emit("end")},V(this,eZ,"m",tQ).bind(this))},0)}_connected(){if(this.ended)return;V(this,d6,"f").call(this),this._emit("connect")}get ended(){return V(this,k9,"f")}get errored(){return V(this,p6,"f")}get aborted(){return V(this,t6,"f")}abort(){this.controller.abort()}on($,w){return(V(this,S$,"f")[$]||(V(this,S$,"f")[$]=[])).push({listener:w}),this}off($,w){let W=V(this,S$,"f")[$];if(!W)return this;let Z=W.findIndex((X)=>X.listener===w);if(Z>=0)W.splice(Z,1);return this}once($,w){return(V(this,S$,"f")[$]||(V(this,S$,"f")[$]=[])).push({listener:w,once:!0}),this}emitted($){return new Promise((w,W)=>{if(C(this,Uw,!0,"f"),$!=="error")this.once("error",W);this.once($,w)})}async done(){C(this,Uw,!0,"f"),await V(this,L9,"f")}_emit($,...w){if(V(this,k9,"f"))return;if($==="end")C(this,k9,!0,"f"),V(this,n6,"f").call(this);let W=V(this,S$,"f")[$];if(W)V(this,S$,"f")[$]=W.filter((Z)=>!Z.once),W.forEach(({listener:Z})=>Z(...w));if($==="abort"){let Z=w[0];if(!V(this,Uw,"f")&&!W?.length)Promise.reject(Z);V(this,E9,"f").call(this,Z),V(this,D9,"f").call(this,Z),this._emit("end");return}if($==="error"){let Z=w[0];if(!V(this,Uw,"f")&&!W?.length)Promise.reject(Z);V(this,E9,"f").call(this,Z),V(this,D9,"f").call(this,Z),this._emit("end")}}_emitFinal(){}}c6=new WeakMap,d6=new WeakMap,E9=new WeakMap,L9=new WeakMap,n6=new WeakMap,D9=new WeakMap,S$=new WeakMap,k9=new WeakMap,p6=new WeakMap,t6=new WeakMap,Uw=new WeakMap,eZ=new WeakSet,tQ=function(w){if(C(this,p6,!0,"f"),w instanceof Error&&w.name==="AbortError")w=new T0;if(w instanceof T0)return C(this,t6,!0,"f"),this._emit("abort",w);if(w instanceof k)return this._emit("error",w);if(w instanceof Error){let W=new k(w.message);return W.cause=w,this._emit("error",W)}return this._emit("error",new k(String(w)))};function rQ($){return typeof $.parse==="function"}var L0,$X,r6,wX,WX,ZX,sQ,aQ,UE=10;class A9 extends D1{constructor(){super(...arguments);L0.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion($){this._chatCompletions.push($),this._emit("chatCompletion",$);let w=$.choices[0]?.message;if(w)this._addMessage(w);return $}_addMessage($,w=!0){if(!("content"in $))$.content=null;if(this.messages.push($),w){if(this._emit("message",$),oZ($)&&$.content)this._emit("functionToolCallResult",$.content);else if(qw($)&&$.tool_calls){for(let W of $.tool_calls)if(W.type==="function")this._emit("functionToolCall",W.function)}}}async finalChatCompletion(){await this.done();let $=this._chatCompletions[this._chatCompletions.length-1];if(!$)throw new k("stream ended without producing a ChatCompletion");return $}async finalContent(){return await this.done(),V(this,L0,"m",$X).call(this)}async finalMessage(){return await this.done(),V(this,L0,"m",r6).call(this)}async finalFunctionToolCall(){return await this.done(),V(this,L0,"m",wX).call(this)}async finalFunctionToolCallResult(){return await this.done(),V(this,L0,"m",WX).call(this)}async totalUsage(){return await this.done(),V(this,L0,"m",ZX).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let $=this._chatCompletions[this._chatCompletions.length-1];if($)this._emit("finalChatCompletion",$);let w=V(this,L0,"m",r6).call(this);if(w)this._emit("finalMessage",w);let W=V(this,L0,"m",$X).call(this);if(W)this._emit("finalContent",W);let Z=V(this,L0,"m",wX).call(this);if(Z)this._emit("finalFunctionToolCall",Z);let X=V(this,L0,"m",WX).call(this);if(X!=null)this._emit("finalFunctionToolCallResult",X);if(this._chatCompletions.some((Y)=>Y.usage))this._emit("totalUsage",V(this,L0,"m",ZX).call(this))}async _createChatCompletion($,w,W){let Z=W?.signal;if(Z){if(Z.aborted)this.controller.abort();Z.addEventListener("abort",()=>this.controller.abort())}V(this,L0,"m",sQ).call(this,w);let X=await $.chat.completions.create({...w,stream:!1},{...W,signal:this.controller.signal});return this._connected(),this._addChatCompletion(O9(X,w))}async _runChatCompletion($,w,W){for(let Z of w.messages)this._addMessage(Z,!1);return await this._createChatCompletion($,w,W)}async _runTools($,w,W){let{tool_choice:X="auto",stream:Y,...G}=w,J=typeof X!=="string"&&X.type==="function"&&X?.function?.name,{maxChatCompletions:T=UE}=W||{},Q=w.tools.map((N)=>{if(L1(N)){if(!N.$callback)throw new k("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:N.$callback,name:N.function.name,description:N.function.description||"",parameters:N.function.parameters,parse:N.$parseRaw,strict:!0}}}return N}),M={};for(let N of Q)if(N.type==="function")M[N.function.name||N.function.function.name]=N.function;let z="tools"in w?Q.map((N)=>N.type==="function"?{type:"function",function:{name:N.function.name||N.function.function.name,parameters:N.function.parameters,description:N.function.description,strict:N.function.strict}}:N):void 0;for(let N of w.messages)this._addMessage(N,!1);for(let N=0;N<T;++N){let K=(await this._createChatCompletion($,{...G,tool_choice:X,tools:z,messages:[...this.messages]},W)).choices[0]?.message;if(!K)throw new k("missing message in ChatCompletion response");if(!K.tool_calls?.length)return;for(let P of K.tool_calls){if(P.type!=="function")continue;let q=P.id,{name:f,arguments:H}=P.function,E=M[f];if(!E){let g=`Invalid tool_call: ${JSON.stringify(f)}. Available options are: ${Object.keys(M).map((s)=>JSON.stringify(s)).join(", ")}. Please try again`;this._addMessage({role:"tool",tool_call_id:q,content:g});continue}else if(J&&J!==f){let g=`Invalid tool_call: ${JSON.stringify(f)}. ${JSON.stringify(J)} requested. Please try again`;this._addMessage({role:"tool",tool_call_id:q,content:g});continue}let S;try{S=rQ(E)?await E.parse(H):H}catch(g){let s=g instanceof Error?g.message:String(g);this._addMessage({role:"tool",tool_call_id:q,content:s});continue}let A=await E.function(S,this),j=V(this,L0,"m",aQ).call(this,A);if(this._addMessage({role:"tool",tool_call_id:q,content:j}),J)return}}return}}L0=new WeakSet,$X=function(){return V(this,L0,"m",r6).call(this).content??null},r6=function(){let w=this.messages.length;while(w-- >0){let W=this.messages[w];if(qw(W))return{...W,content:W.content??null,refusal:W.refusal??null}}throw new k("stream ended without producing a ChatCompletionMessage with role=assistant")},wX=function(){for(let w=this.messages.length-1;w>=0;w--){let W=this.messages[w];if(qw(W)&&W?.tool_calls?.length)return W.tool_calls.filter((Z)=>Z.type==="function").at(-1)?.function}return},WX=function(){for(let w=this.messages.length-1;w>=0;w--){let W=this.messages[w];if(oZ(W)&&W.content!=null&&typeof W.content==="string"&&this.messages.some((Z)=>Z.role==="assistant"&&Z.tool_calls?.some((X)=>X.type==="function"&&X.id===W.tool_call_id)))return W.content}return},ZX=function(){let w={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:W}of this._chatCompletions)if(W)w.completion_tokens+=W.completion_tokens,w.prompt_tokens+=W.prompt_tokens,w.total_tokens+=W.total_tokens;return w},sQ=function(w){if(w.n!=null&&w.n>1)throw new k("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},aQ=function(w){return typeof w==="string"?w:w===void 0?"undefined":JSON.stringify(w)};class S9 extends A9{static runTools($,w,W){let Z=new S9,X={...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"runTools"}};return Z._run(()=>Z._runTools($,w,X)),Z}_addMessage($,w=!0){if(super._addMessage($,w),qw($)&&$.content)this._emit("content",$.content)}}var N0={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511};class oQ extends Error{}class eQ extends Error{}function HE($,w=N0.ALL){if(typeof $!=="string")throw TypeError(`expecting str, got ${typeof $}`);if(!$.trim())throw Error(`${$} is empty`);return FE($.trim(),w)}var FE=($,w)=>{let W=$.length,Z=0,X=(N)=>{throw new oQ(`${N} at position ${Z}`)},Y=(N)=>{throw new eQ(`${N} at position ${Z}`)},G=()=>{if(z(),Z>=W)X("Unexpected end of input");if($[Z]==='"')return J();if($[Z]==="{")return T();if($[Z]==="[")return Q();if($.substring(Z,Z+4)==="null"||N0.NULL&w&&W-Z<4&&"null".startsWith($.substring(Z)))return Z+=4,null;if($.substring(Z,Z+4)==="true"||N0.BOOL&w&&W-Z<4&&"true".startsWith($.substring(Z)))return Z+=4,!0;if($.substring(Z,Z+5)==="false"||N0.BOOL&w&&W-Z<5&&"false".startsWith($.substring(Z)))return Z+=5,!1;if($.substring(Z,Z+8)==="Infinity"||N0.INFINITY&w&&W-Z<8&&"Infinity".startsWith($.substring(Z)))return Z+=8,1/0;if($.substring(Z,Z+9)==="-Infinity"||N0.MINUS_INFINITY&w&&1<W-Z&&W-Z<9&&"-Infinity".startsWith($.substring(Z)))return Z+=9,-1/0;if($.substring(Z,Z+3)==="NaN"||N0.NAN&w&&W-Z<3&&"NaN".startsWith($.substring(Z)))return Z+=3,NaN;return M()},J=()=>{let N=Z,B=!1;Z++;while(Z<W&&($[Z]!=='"'||B&&$[Z-1]==="\\"))B=$[Z]==="\\"?!B:!1,Z++;if($.charAt(Z)=='"')try{return JSON.parse($.substring(N,++Z-Number(B)))}catch(K){Y(String(K))}else if(N0.STR&w)try{return JSON.parse($.substring(N,Z-Number(B))+'"')}catch(K){return JSON.parse($.substring(N,$.lastIndexOf("\\"))+'"')}X("Unterminated string literal")},T=()=>{Z++,z();let N={};try{while($[Z]!=="}"){if(z(),Z>=W&&N0.OBJ&w)return N;let B=J();z(),Z++;try{let K=G();Object.defineProperty(N,B,{value:K,writable:!0,enumerable:!0,configurable:!0})}catch(K){if(N0.OBJ&w)return N;else throw K}if(z(),$[Z]===",")Z++}}catch(B){if(N0.OBJ&w)return N;else X("Expected '}' at end of object")}return Z++,N},Q=()=>{Z++;let N=[];try{while($[Z]!=="]")if(N.push(G()),z(),$[Z]===",")Z++}catch(B){if(N0.ARR&w)return N;X("Expected ']' at end of array")}return Z++,N},M=()=>{if(Z===0){if($==="-"&&N0.NUM&w)X("Not sure what '-' is");try{return JSON.parse($)}catch(B){if(N0.NUM&w)try{if($[$.length-1]===".")return JSON.parse($.substring(0,$.lastIndexOf(".")));return JSON.parse($.substring(0,$.lastIndexOf("e")))}catch(K){}Y(String(B))}}let N=Z;if($[Z]==="-")Z++;while($[Z]&&!",]}".includes($[Z]))Z++;if(Z==W&&!(N0.NUM&w))X("Unterminated number literal");try{return JSON.parse($.substring(N,Z))}catch(B){if($.substring(N,Z)==="-"&&N0.NUM&w)X("Not sure what '-' is");try{return JSON.parse($.substring(N,$.lastIndexOf("e")))}catch(K){Y(String(K))}}},z=()=>{while(Z<W&&`
183
+ \r `.includes($[Z]))Z++};return G()},XX=($)=>HE($,N0.ALL^N0.NUM);var M0,R$,Hw,t$,YX,s6,GX,JX,TX,a6,QX,$M;class r$ extends A9{constructor($){super();M0.add(this),R$.set(this,void 0),Hw.set(this,void 0),t$.set(this,void 0),C(this,R$,$,"f"),C(this,Hw,[],"f")}get currentChatCompletionSnapshot(){return V(this,t$,"f")}static fromReadableStream($){let w=new r$(null);return w._run(()=>w._fromReadableStream($)),w}static createChatCompletion($,w,W){let Z=new r$(w);return Z._run(()=>Z._runChatCompletion($,{...w,stream:!0},{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),Z}async _createChatCompletion($,w,W){super._createChatCompletion;let Z=W?.signal;if(Z){if(Z.aborted)this.controller.abort();Z.addEventListener("abort",()=>this.controller.abort())}V(this,M0,"m",YX).call(this);let X=await $.chat.completions.create({...w,stream:!0},{...W,signal:this.controller.signal});this._connected();for await(let Y of X)V(this,M0,"m",GX).call(this,Y);if(X.controller.signal?.aborted)throw new T0;return this._addChatCompletion(V(this,M0,"m",a6).call(this))}async _fromReadableStream($,w){let W=w?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}V(this,M0,"m",YX).call(this),this._connected();let Z=g0.fromReadableStream($,this.controller),X;for await(let Y of Z){if(X&&X!==Y.id)this._addChatCompletion(V(this,M0,"m",a6).call(this));V(this,M0,"m",GX).call(this,Y),X=Y.id}if(Z.controller.signal?.aborted)throw new T0;return this._addChatCompletion(V(this,M0,"m",a6).call(this))}[(R$=new WeakMap,Hw=new WeakMap,t$=new WeakMap,M0=new WeakSet,YX=function(){if(this.ended)return;C(this,t$,void 0,"f")},s6=function(w){let W=V(this,Hw,"f")[w.index];if(W)return W;return W={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},V(this,Hw,"f")[w.index]=W,W},GX=function(w){if(this.ended)return;let W=V(this,M0,"m",$M).call(this,w);this._emit("chunk",w,W);for(let Z of w.choices){let X=W.choices[Z.index];if(Z.delta.content!=null&&X.message?.role==="assistant"&&X.message?.content)this._emit("content",Z.delta.content,X.message.content),this._emit("content.delta",{delta:Z.delta.content,snapshot:X.message.content,parsed:X.message.parsed});if(Z.delta.refusal!=null&&X.message?.role==="assistant"&&X.message?.refusal)this._emit("refusal.delta",{delta:Z.delta.refusal,snapshot:X.message.refusal});if(Z.logprobs?.content!=null&&X.message?.role==="assistant")this._emit("logprobs.content.delta",{content:Z.logprobs?.content,snapshot:X.logprobs?.content??[]});if(Z.logprobs?.refusal!=null&&X.message?.role==="assistant")this._emit("logprobs.refusal.delta",{refusal:Z.logprobs?.refusal,snapshot:X.logprobs?.refusal??[]});let Y=V(this,M0,"m",s6).call(this,X);if(X.finish_reason){if(V(this,M0,"m",TX).call(this,X),Y.current_tool_call_index!=null)V(this,M0,"m",JX).call(this,X,Y.current_tool_call_index)}for(let G of Z.delta.tool_calls??[]){if(Y.current_tool_call_index!==G.index){if(V(this,M0,"m",TX).call(this,X),Y.current_tool_call_index!=null)V(this,M0,"m",JX).call(this,X,Y.current_tool_call_index)}Y.current_tool_call_index=G.index}for(let G of Z.delta.tool_calls??[]){let J=X.message.tool_calls?.[G.index];if(!J?.type)continue;if(J?.type==="function")this._emit("tool_calls.function.arguments.delta",{name:J.function?.name,index:G.index,arguments:J.function.arguments,parsed_arguments:J.function.parsed_arguments,arguments_delta:G.function?.arguments??""});else WM(J?.type)}}},JX=function(w,W){if(V(this,M0,"m",s6).call(this,w).done_tool_calls.has(W))return;let X=w.message.tool_calls?.[W];if(!X)throw Error("no tool call snapshot");if(!X.type)throw Error("tool call snapshot missing `type`");if(X.type==="function"){let Y=V(this,R$,"f")?.tools?.find((G)=>H9(G)&&G.function.name===X.function.name);this._emit("tool_calls.function.arguments.done",{name:X.function.name,index:W,arguments:X.function.arguments,parsed_arguments:L1(Y)?Y.$parseRaw(X.function.arguments):Y?.function.strict?JSON.parse(X.function.arguments):null})}else WM(X.type)},TX=function(w){let W=V(this,M0,"m",s6).call(this,w);if(w.message.content&&!W.content_done){W.content_done=!0;let Z=V(this,M0,"m",QX).call(this);this._emit("content.done",{content:w.message.content,parsed:Z?Z.$parseRaw(w.message.content):null})}if(w.message.refusal&&!W.refusal_done)W.refusal_done=!0,this._emit("refusal.done",{refusal:w.message.refusal});if(w.logprobs?.content&&!W.logprobs_content_done)W.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:w.logprobs.content});if(w.logprobs?.refusal&&!W.logprobs_refusal_done)W.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:w.logprobs.refusal})},a6=function(){if(this.ended)throw new k("stream has ended, this shouldn't happen");let w=V(this,t$,"f");if(!w)throw new k("request ended without sending any chunks");return C(this,t$,void 0,"f"),C(this,Hw,[],"f"),OE(w,V(this,R$,"f"))},QX=function(){let w=V(this,R$,"f")?.response_format;if(F9(w))return w;return null},$M=function(w){var W,Z,X,Y;let G=V(this,t$,"f"),{choices:J,...T}=w;if(!G)G=C(this,t$,{...T,choices:[]},"f");else Object.assign(G,T);for(let{delta:Q,finish_reason:M,index:z,logprobs:N=null,...B}of w.choices){let K=G.choices[z];if(!K)K=G.choices[z]={finish_reason:M,index:z,message:{},logprobs:N,...B};if(N)if(!K.logprobs)K.logprobs=Object.assign({},N);else{let{content:A,refusal:j,...g}=N;if(wM(g),Object.assign(K.logprobs,g),A)(W=K.logprobs).content??(W.content=[]),K.logprobs.content.push(...A);if(j)(Z=K.logprobs).refusal??(Z.refusal=[]),K.logprobs.refusal.push(...j)}if(M){if(K.finish_reason=M,V(this,R$,"f")&&aZ(V(this,R$,"f"))){if(M==="length")throw new K9;if(M==="content_filter")throw new B9}}if(Object.assign(K,B),!Q)continue;let{content:P,refusal:q,function_call:f,role:H,tool_calls:E,...S}=Q;if(wM(S),Object.assign(K.message,S),q)K.message.refusal=(K.message.refusal||"")+q;if(H)K.message.role=H;if(f)if(!K.message.function_call)K.message.function_call=f;else{if(f.name)K.message.function_call.name=f.name;if(f.arguments)(X=K.message.function_call).arguments??(X.arguments=""),K.message.function_call.arguments+=f.arguments}if(P){if(K.message.content=(K.message.content||"")+P,!K.message.refusal&&V(this,M0,"m",QX).call(this))K.message.parsed=XX(K.message.content)}if(E){if(!K.message.tool_calls)K.message.tool_calls=[];for(let{index:A,id:j,type:g,function:s,...e}of E){let i=(Y=K.message.tool_calls)[A]??(Y[A]={});if(Object.assign(i,e),j)i.id=j;if(g)i.type=g;if(s)i.function??(i.function={name:s.name??"",arguments:""});if(s?.name)i.function.name=s.name;if(s?.arguments){if(i.function.arguments+=s.arguments,dQ(V(this,R$,"f"),i))i.function.parsed_arguments=XX(i.function.arguments)}}}}return G},Symbol.asyncIterator)](){let $=[],w=[],W=!1;return this.on("chunk",(Z)=>{let X=w.shift();if(X)X.resolve(Z);else $.push(Z)}),this.on("end",()=>{W=!0;for(let Z of w)Z.resolve(void 0);w.length=0}),this.on("abort",(Z)=>{W=!0;for(let X of w)X.reject(Z);w.length=0}),this.on("error",(Z)=>{W=!0;for(let X of w)X.reject(Z);w.length=0}),{next:async()=>{if(!$.length){if(W)return{value:void 0,done:!0};return new Promise((X,Y)=>w.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new g0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function OE($,w){let{id:W,choices:Z,created:X,model:Y,system_fingerprint:G,...J}=$,T={...J,id:W,choices:Z.map(({message:Q,finish_reason:M,index:z,logprobs:N,...B})=>{if(!M)throw new k(`missing finish_reason for choice ${z}`);let{content:K=null,function_call:P,tool_calls:q,...f}=Q,H=Q.role;if(!H)throw new k(`missing role for choice ${z}`);if(P){let{arguments:E,name:S}=P;if(E==null)throw new k(`missing function_call.arguments for choice ${z}`);if(!S)throw new k(`missing function_call.name for choice ${z}`);return{...B,message:{content:K,function_call:{arguments:E,name:S},role:H,refusal:Q.refusal??null},finish_reason:M,index:z,logprobs:N}}if(q)return{...B,index:z,finish_reason:M,logprobs:N,message:{...f,role:H,content:K,refusal:Q.refusal??null,tool_calls:q.map((E,S)=>{let{function:A,type:j,id:g,...s}=E,{arguments:e,name:i,...F0}=A||{};if(g==null)throw new k(`missing choices[${z}].tool_calls[${S}].id
184
+ ${o6($)}`);if(j==null)throw new k(`missing choices[${z}].tool_calls[${S}].type
185
+ ${o6($)}`);if(i==null)throw new k(`missing choices[${z}].tool_calls[${S}].function.name
186
+ ${o6($)}`);if(e==null)throw new k(`missing choices[${z}].tool_calls[${S}].function.arguments
187
+ ${o6($)}`);return{...s,id:g,type:j,function:{...F0,name:i,arguments:e}}})}};return{...B,message:{...f,content:K,role:H,refusal:Q.refusal??null},finish_reason:M,index:z,logprobs:N}}),created:X,model:Y,object:"chat.completion",...G?{system_fingerprint:G}:{}};return cQ(T,w)}function o6($){return JSON.stringify($)}function wM($){return}function WM($){}class Fw extends r${static fromReadableStream($){let w=new Fw(null);return w._run(()=>w._fromReadableStream($)),w}static runTools($,w,W){let Z=new Fw(w),X={...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"runTools"}};return Z._run(()=>Z._runTools($,w,X)),Z}}class s$ extends O{constructor(){super(...arguments);this.messages=new fw(this._client)}create($,w){return this._client.post("/chat/completions",{body:$,...w,stream:$.stream??!1})}retrieve($,w){return this._client.get(U`/chat/completions/${$}`,w)}update($,w,W){return this._client.post(U`/chat/completions/${$}`,{body:w,...W})}list($={},w){return this._client.getAPIList("/chat/completions",u,{query:$,...w})}delete($,w){return this._client.delete(U`/chat/completions/${$}`,w)}parse($,w){return pQ($.tools),this._client.chat.completions.create($,{...w,headers:{...w?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap((W)=>O9(W,$))}runTools($,w){if($.stream)return Fw.runTools(this._client,$,w);return S9.runTools(this._client,$,w)}stream($,w){return r$.createChatCompletion(this._client,$,w)}}s$.Messages=fw;class k1 extends O{constructor(){super(...arguments);this.completions=new s$(this._client)}}k1.Completions=s$;var ZM=Symbol("brand.privateNullableHeaders");function*LE($){if(!$)return;if(ZM in $){let{values:Z,nulls:X}=$;yield*Z.entries();for(let Y of X)yield[Y,null];return}let w=!1,W;if($ instanceof Headers)W=$.entries();else if(IZ($))W=$;else w=!0,W=Object.entries($??{});for(let Z of W){let X=Z[0];if(typeof X!=="string")throw TypeError("expected header name to be a string");let Y=IZ(Z[1])?Z[1]:[Z[1]],G=!1;for(let J of Y){if(J===void 0)continue;if(w&&!G)G=!0,yield[X,null];yield[X,J]}}}var D=($)=>{let w=new Headers,W=new Set;for(let Z of $){let X=new Set;for(let[Y,G]of LE(Z)){let J=Y.toLowerCase();if(!X.has(J))w.delete(Y),X.add(J);if(G===null)w.delete(Y),W.add(J);else w.append(Y,G),W.delete(J)}}return{[ZM]:!0,values:w,nulls:W}};class R9 extends O{create($,w){return this._client.post("/audio/speech",{body:$,...w,headers:D([{Accept:"application/octet-stream"},w?.headers]),__binaryResponse:!0})}}class C9 extends O{create($,w){return this._client.post("/audio/transcriptions",v0({body:$,...w,stream:$.stream??!1,__metadata:{model:$.model}},this._client))}}class j9 extends O{create($,w){return this._client.post("/audio/translations",v0({body:$,...w,__metadata:{model:$.model}},this._client))}}class C$ extends O{constructor(){super(...arguments);this.transcriptions=new C9(this._client),this.translations=new j9(this._client),this.speech=new R9(this._client)}}C$.Transcriptions=C9;C$.Translations=j9;C$.Speech=R9;class Ow extends O{create($,w){return this._client.post("/batches",{body:$,...w})}retrieve($,w){return this._client.get(U`/batches/${$}`,w)}list($={},w){return this._client.getAPIList("/batches",u,{query:$,...w})}cancel($,w){return this._client.post(U`/batches/${$}/cancel`,w)}}class y9 extends O{create($,w){return this._client.post("/assistants",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}retrieve($,w){return this._client.get(U`/assistants/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}update($,w,W){return this._client.post(U`/assistants/${$}`,{body:w,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}list($={},w){return this._client.getAPIList("/assistants",u,{query:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}delete($,w){return this._client.delete(U`/assistants/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}}class I9 extends O{create($,w){return this._client.post("/realtime/sessions",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}}class b9 extends O{create($,w){return this._client.post("/realtime/transcription_sessions",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}}class A1 extends O{constructor(){super(...arguments);this.sessions=new I9(this._client),this.transcriptionSessions=new b9(this._client)}}A1.Sessions=I9;A1.TranscriptionSessions=b9;class x9 extends O{create($,w,W){return this._client.post(U`/threads/${$}/messages`,{body:w,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}retrieve($,w,W){let{thread_id:Z}=w;return this._client.get(U`/threads/${Z}/messages/${$}`,{...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}update($,w,W){let{thread_id:Z,...X}=w;return this._client.post(U`/threads/${Z}/messages/${$}`,{body:X,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}list($,w={},W){return this._client.getAPIList(U`/threads/${$}/messages`,u,{query:w,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}delete($,w,W){let{thread_id:Z}=w;return this._client.delete(U`/threads/${Z}/messages/${$}`,{...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}}class _9 extends O{retrieve($,w,W){let{thread_id:Z,run_id:X,...Y}=w;return this._client.get(U`/threads/${Z}/runs/${X}/steps/${$}`,{query:Y,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}list($,w,W){let{thread_id:Z,...X}=w;return this._client.getAPIList(U`/threads/${Z}/runs/${$}/steps`,u,{query:X,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}}var XM=($)=>{if(typeof Buffer<"u"){let w=Buffer.from($,"base64");return Array.from(new Float32Array(w.buffer,w.byteOffset,w.length/Float32Array.BYTES_PER_ELEMENT))}else{let w=atob($),W=w.length,Z=new Uint8Array(W);for(let X=0;X<W;X++)Z[X]=w.charCodeAt(X);return Array.from(new Float32Array(Z.buffer))}};var a$=($)=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[$]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.($)?.trim();return};var B0,R1,MX,Q$,e6,$$,C1,Ew,S1,WW,u0,$W,wW,u9,g9,v9,YM,GM,JM,TM,QM,MM,zM;class o$ extends D1{constructor(){super(...arguments);B0.add(this),MX.set(this,[]),Q$.set(this,{}),e6.set(this,{}),$$.set(this,void 0),C1.set(this,void 0),Ew.set(this,void 0),S1.set(this,void 0),WW.set(this,void 0),u0.set(this,void 0),$W.set(this,void 0),wW.set(this,void 0),u9.set(this,void 0)}[(MX=new WeakMap,Q$=new WeakMap,e6=new WeakMap,$$=new WeakMap,C1=new WeakMap,Ew=new WeakMap,S1=new WeakMap,WW=new WeakMap,u0=new WeakMap,$W=new WeakMap,wW=new WeakMap,u9=new WeakMap,B0=new WeakSet,Symbol.asyncIterator)](){let $=[],w=[],W=!1;return this.on("event",(Z)=>{let X=w.shift();if(X)X.resolve(Z);else $.push(Z)}),this.on("end",()=>{W=!0;for(let Z of w)Z.resolve(void 0);w.length=0}),this.on("abort",(Z)=>{W=!0;for(let X of w)X.reject(Z);w.length=0}),this.on("error",(Z)=>{W=!0;for(let X of w)X.reject(Z);w.length=0}),{next:async()=>{if(!$.length){if(W)return{value:void 0,done:!0};return new Promise((X,Y)=>w.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}static fromReadableStream($){let w=new R1;return w._run(()=>w._fromReadableStream($)),w}async _fromReadableStream($,w){let W=w?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}this._connected();let Z=g0.fromReadableStream($,this.controller);for await(let X of Z)V(this,B0,"m",g9).call(this,X);if(Z.controller.signal?.aborted)throw new T0;return this._addRun(V(this,B0,"m",v9).call(this))}toReadableStream(){return new g0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream($,w,W,Z){let X=new R1;return X._run(()=>X._runToolAssistantStream($,w,W,{...Z,headers:{...Z?.headers,"X-Stainless-Helper-Method":"stream"}})),X}async _createToolAssistantStream($,w,W,Z){let X=Z?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}let Y={...W,stream:!0},G=await $.submitToolOutputs(w,Y,{...Z,signal:this.controller.signal});this._connected();for await(let J of G)V(this,B0,"m",g9).call(this,J);if(G.controller.signal?.aborted)throw new T0;return this._addRun(V(this,B0,"m",v9).call(this))}static createThreadAssistantStream($,w,W){let Z=new R1;return Z._run(()=>Z._threadAssistantStream($,w,{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),Z}static createAssistantStream($,w,W,Z){let X=new R1;return X._run(()=>X._runAssistantStream($,w,W,{...Z,headers:{...Z?.headers,"X-Stainless-Helper-Method":"stream"}})),X}currentEvent(){return V(this,$W,"f")}currentRun(){return V(this,wW,"f")}currentMessageSnapshot(){return V(this,$$,"f")}currentRunStepSnapshot(){return V(this,u9,"f")}async finalRunSteps(){return await this.done(),Object.values(V(this,Q$,"f"))}async finalMessages(){return await this.done(),Object.values(V(this,e6,"f"))}async finalRun(){if(await this.done(),!V(this,C1,"f"))throw Error("Final run was not received.");return V(this,C1,"f")}async _createThreadAssistantStream($,w,W){let Z=W?.signal;if(Z){if(Z.aborted)this.controller.abort();Z.addEventListener("abort",()=>this.controller.abort())}let X={...w,stream:!0},Y=await $.createAndRun(X,{...W,signal:this.controller.signal});this._connected();for await(let G of Y)V(this,B0,"m",g9).call(this,G);if(Y.controller.signal?.aborted)throw new T0;return this._addRun(V(this,B0,"m",v9).call(this))}async _createAssistantStream($,w,W,Z){let X=Z?.signal;if(X){if(X.aborted)this.controller.abort();X.addEventListener("abort",()=>this.controller.abort())}let Y={...W,stream:!0},G=await $.create(w,Y,{...Z,signal:this.controller.signal});this._connected();for await(let J of G)V(this,B0,"m",g9).call(this,J);if(G.controller.signal?.aborted)throw new T0;return this._addRun(V(this,B0,"m",v9).call(this))}static accumulateDelta($,w){for(let[W,Z]of Object.entries(w)){if(!$.hasOwnProperty(W)){$[W]=Z;continue}let X=$[W];if(X===null||X===void 0){$[W]=Z;continue}if(W==="index"||W==="type"){$[W]=Z;continue}if(typeof X==="string"&&typeof Z==="string")X+=Z;else if(typeof X==="number"&&typeof Z==="number")X+=Z;else if(P9(X)&&P9(Z))X=this.accumulateDelta(X,Z);else if(Array.isArray(X)&&Array.isArray(Z)){if(X.every((Y)=>typeof Y==="string"||typeof Y==="number")){X.push(...Z);continue}for(let Y of Z){if(!P9(Y))throw Error(`Expected array delta entry to be an object but got: ${Y}`);let G=Y.index;if(G==null)throw console.error(Y),Error("Expected array delta entry to have an `index` property");if(typeof G!=="number")throw Error(`Expected array delta entry \`index\` property to be a number but got ${G}`);let J=X[G];if(J==null)X.push(Y);else X[G]=this.accumulateDelta(J,Y)}continue}else throw Error(`Unhandled record type: ${W}, deltaValue: ${Z}, accValue: ${X}`);$[W]=X}return $}_addRun($){return $}async _threadAssistantStream($,w,W){return await this._createThreadAssistantStream(w,$,W)}async _runAssistantStream($,w,W,Z){return await this._createAssistantStream(w,$,W,Z)}async _runToolAssistantStream($,w,W,Z){return await this._createToolAssistantStream(w,$,W,Z)}}R1=o$,g9=function(w){if(this.ended)return;switch(C(this,$W,w,"f"),V(this,B0,"m",JM).call(this,w),w.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":V(this,B0,"m",zM).call(this,w);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":V(this,B0,"m",GM).call(this,w);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":V(this,B0,"m",YM).call(this,w);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier");default:bE(w)}},v9=function(){if(this.ended)throw new k("stream has ended, this shouldn't happen");if(!V(this,C1,"f"))throw Error("Final run has not been received");return V(this,C1,"f")},YM=function(w){let[W,Z]=V(this,B0,"m",QM).call(this,w,V(this,$$,"f"));C(this,$$,W,"f"),V(this,e6,"f")[W.id]=W;for(let X of Z){let Y=W.content[X.index];if(Y?.type=="text")this._emit("textCreated",Y.text)}switch(w.event){case"thread.message.created":this._emit("messageCreated",w.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",w.data.delta,W),w.data.delta.content)for(let X of w.data.delta.content){if(X.type=="text"&&X.text){let Y=X.text,G=W.content[X.index];if(G&&G.type=="text")this._emit("textDelta",Y,G.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(X.index!=V(this,Ew,"f")){if(V(this,S1,"f"))switch(V(this,S1,"f").type){case"text":this._emit("textDone",V(this,S1,"f").text,V(this,$$,"f"));break;case"image_file":this._emit("imageFileDone",V(this,S1,"f").image_file,V(this,$$,"f"));break}C(this,Ew,X.index,"f")}C(this,S1,W.content[X.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(V(this,Ew,"f")!==void 0){let X=w.data.content[V(this,Ew,"f")];if(X)switch(X.type){case"image_file":this._emit("imageFileDone",X.image_file,V(this,$$,"f"));break;case"text":this._emit("textDone",X.text,V(this,$$,"f"));break}}if(V(this,$$,"f"))this._emit("messageDone",w.data);C(this,$$,void 0,"f")}},GM=function(w){let W=V(this,B0,"m",TM).call(this,w);switch(C(this,u9,W,"f"),w.event){case"thread.run.step.created":this._emit("runStepCreated",w.data);break;case"thread.run.step.delta":let Z=w.data.delta;if(Z.step_details&&Z.step_details.type=="tool_calls"&&Z.step_details.tool_calls&&W.step_details.type=="tool_calls")for(let Y of Z.step_details.tool_calls)if(Y.index==V(this,WW,"f"))this._emit("toolCallDelta",Y,W.step_details.tool_calls[Y.index]);else{if(V(this,u0,"f"))this._emit("toolCallDone",V(this,u0,"f"));if(C(this,WW,Y.index,"f"),C(this,u0,W.step_details.tool_calls[Y.index],"f"),V(this,u0,"f"))this._emit("toolCallCreated",V(this,u0,"f"))}this._emit("runStepDelta",w.data.delta,W);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":if(C(this,u9,void 0,"f"),w.data.step_details.type=="tool_calls"){if(V(this,u0,"f"))this._emit("toolCallDone",V(this,u0,"f")),C(this,u0,void 0,"f")}this._emit("runStepDone",w.data,W);break;case"thread.run.step.in_progress":break}},JM=function(w){V(this,MX,"f").push(w),this._emit("event",w)},TM=function(w){switch(w.event){case"thread.run.step.created":return V(this,Q$,"f")[w.data.id]=w.data,w.data;case"thread.run.step.delta":let W=V(this,Q$,"f")[w.data.id];if(!W)throw Error("Received a RunStepDelta before creation of a snapshot");let Z=w.data;if(Z.delta){let X=R1.accumulateDelta(W,Z.delta);V(this,Q$,"f")[w.data.id]=X}return V(this,Q$,"f")[w.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":V(this,Q$,"f")[w.data.id]=w.data;break}if(V(this,Q$,"f")[w.data.id])return V(this,Q$,"f")[w.data.id];throw Error("No snapshot available")},QM=function(w,W){let Z=[];switch(w.event){case"thread.message.created":return[w.data,Z];case"thread.message.delta":if(!W)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let X=w.data;if(X.delta.content)for(let Y of X.delta.content)if(Y.index in W.content){let G=W.content[Y.index];W.content[Y.index]=V(this,B0,"m",MM).call(this,Y,G)}else W.content[Y.index]=Y,Z.push(Y);return[W,Z];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(W)return[W,Z];else throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},MM=function(w,W){return R1.accumulateDelta(W,w)},zM=function(w){switch(C(this,wW,w.data,"f"),w.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":if(C(this,C1,w.data,"f"),V(this,u0,"f"))this._emit("toolCallDone",V(this,u0,"f")),C(this,u0,void 0,"f");break;case"thread.run.cancelling":break}};function bE($){}class Lw extends O{constructor(){super(...arguments);this.steps=new _9(this._client)}create($,w,W){let{include:Z,...X}=w;return this._client.post(U`/threads/${$}/runs`,{query:{include:Z},body:X,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers]),stream:w.stream??!1})}retrieve($,w,W){let{thread_id:Z}=w;return this._client.get(U`/threads/${Z}/runs/${$}`,{...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}update($,w,W){let{thread_id:Z,...X}=w;return this._client.post(U`/threads/${Z}/runs/${$}`,{body:X,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}list($,w={},W){return this._client.getAPIList(U`/threads/${$}/runs`,u,{query:w,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}cancel($,w,W){let{thread_id:Z}=w;return this._client.post(U`/threads/${Z}/runs/${$}/cancel`,{...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}async createAndPoll($,w,W){let Z=await this.create($,w,W);return await this.poll(Z.id,{thread_id:$},W)}createAndStream($,w,W){return o$.createAssistantStream($,this._client.beta.threads.runs,w,W)}async poll($,w,W){let Z=D([W?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":W?.pollIntervalMs?.toString()??void 0}]);while(!0){let{data:X,response:Y}=await this.retrieve($,w,{...W,headers:{...W?.headers,...Z}}).withResponse();switch(X.status){case"queued":case"in_progress":case"cancelling":let G=5000;if(W?.pollIntervalMs)G=W.pollIntervalMs;else{let J=Y.headers.get("openai-poll-after-ms");if(J){let T=parseInt(J);if(!isNaN(T))G=T}}await J$(G);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return X}}}stream($,w,W){return o$.createAssistantStream($,this._client.beta.threads.runs,w,W)}submitToolOutputs($,w,W){let{thread_id:Z,...X}=w;return this._client.post(U`/threads/${Z}/runs/${$}/submit_tool_outputs`,{body:X,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers]),stream:w.stream??!1})}async submitToolOutputsAndPoll($,w,W){let Z=await this.submitToolOutputs($,w,W);return await this.poll(Z.id,w,W)}submitToolOutputsStream($,w,W){return o$.createToolAssistantStream($,this._client.beta.threads.runs,w,W)}}Lw.Steps=_9;class j1 extends O{constructor(){super(...arguments);this.runs=new Lw(this._client),this.messages=new x9(this._client)}create($={},w){return this._client.post("/threads",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}retrieve($,w){return this._client.get(U`/threads/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}update($,w,W){return this._client.post(U`/threads/${$}`,{body:w,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}delete($,w){return this._client.delete(U`/threads/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}createAndRun($,w){return this._client.post("/threads/runs",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers]),stream:$.stream??!1})}async createAndRunPoll($,w){let W=await this.createAndRun($,w);return await this.runs.poll(W.id,{thread_id:W.thread_id},w)}createAndRunStream($,w){return o$.createThreadAssistantStream($,this._client.beta.threads,w)}}j1.Runs=Lw;j1.Messages=x9;class j$ extends O{constructor(){super(...arguments);this.realtime=new A1(this._client),this.assistants=new y9(this._client),this.threads=new j1(this._client)}}j$.Realtime=A1;j$.Assistants=y9;j$.Threads=j1;class Dw extends O{create($,w){return this._client.post("/completions",{body:$,...w,stream:$.stream??!1})}}class h9 extends O{retrieve($,w,W){let{container_id:Z}=w;return this._client.get(U`/containers/${Z}/files/${$}/content`,{...W,headers:D([{Accept:"application/binary"},W?.headers]),__binaryResponse:!0})}}class kw extends O{constructor(){super(...arguments);this.content=new h9(this._client)}create($,w,W){return this._client.post(U`/containers/${$}/files`,v0({body:w,...W},this._client))}retrieve($,w,W){let{container_id:Z}=w;return this._client.get(U`/containers/${Z}/files/${$}`,W)}list($,w={},W){return this._client.getAPIList(U`/containers/${$}/files`,u,{query:w,...W})}delete($,w,W){let{container_id:Z}=w;return this._client.delete(U`/containers/${Z}/files/${$}`,{...W,headers:D([{Accept:"*/*"},W?.headers])})}}kw.Content=h9;class y1 extends O{constructor(){super(...arguments);this.files=new kw(this._client)}create($,w){return this._client.post("/containers",{body:$,...w})}retrieve($,w){return this._client.get(U`/containers/${$}`,w)}list($={},w){return this._client.getAPIList("/containers",u,{query:$,...w})}delete($,w){return this._client.delete(U`/containers/${$}`,{...w,headers:D([{Accept:"*/*"},w?.headers])})}}y1.Files=kw;class i9 extends O{create($,w,W){let{include:Z,...X}=w;return this._client.post(U`/conversations/${$}/items`,{query:{include:Z},body:X,...W})}retrieve($,w,W){let{conversation_id:Z,...X}=w;return this._client.get(U`/conversations/${Z}/items/${$}`,{query:X,...W})}list($,w={},W){return this._client.getAPIList(U`/conversations/${$}/items`,nZ,{query:w,...W})}delete($,w,W){let{conversation_id:Z}=w;return this._client.delete(U`/conversations/${Z}/items/${$}`,W)}}class I1 extends O{constructor(){super(...arguments);this.items=new i9(this._client)}create($={},w){return this._client.post("/conversations",{body:$,...w})}retrieve($,w){return this._client.get(U`/conversations/${$}`,w)}update($,w,W){return this._client.post(U`/conversations/${$}`,{body:w,...W})}delete($,w){return this._client.delete(U`/conversations/${$}`,w)}}I1.Items=i9;class Aw extends O{create($,w){let W=!!$.encoding_format,Z=W?$.encoding_format:"base64";if(W)Z0(this._client).debug("embeddings/user defined encoding_format:",$.encoding_format);let X=this._client.post("/embeddings",{body:{...$,encoding_format:Z},...w});if(W)return X;return Z0(this._client).debug("embeddings/decoding base64 embeddings from base64"),X._thenUnwrap((Y)=>{if(Y&&Y.data)Y.data.forEach((G)=>{let J=G.embedding;G.embedding=XM(J)});return Y})}}class m9 extends O{retrieve($,w,W){let{eval_id:Z,run_id:X}=w;return this._client.get(U`/evals/${Z}/runs/${X}/output_items/${$}`,W)}list($,w,W){let{eval_id:Z,...X}=w;return this._client.getAPIList(U`/evals/${Z}/runs/${$}/output_items`,u,{query:X,...W})}}class Sw extends O{constructor(){super(...arguments);this.outputItems=new m9(this._client)}create($,w,W){return this._client.post(U`/evals/${$}/runs`,{body:w,...W})}retrieve($,w,W){let{eval_id:Z}=w;return this._client.get(U`/evals/${Z}/runs/${$}`,W)}list($,w={},W){return this._client.getAPIList(U`/evals/${$}/runs`,u,{query:w,...W})}delete($,w,W){let{eval_id:Z}=w;return this._client.delete(U`/evals/${Z}/runs/${$}`,W)}cancel($,w,W){let{eval_id:Z}=w;return this._client.post(U`/evals/${Z}/runs/${$}`,W)}}Sw.OutputItems=m9;class b1 extends O{constructor(){super(...arguments);this.runs=new Sw(this._client)}create($,w){return this._client.post("/evals",{body:$,...w})}retrieve($,w){return this._client.get(U`/evals/${$}`,w)}update($,w,W){return this._client.post(U`/evals/${$}`,{body:w,...W})}list($={},w){return this._client.getAPIList("/evals",u,{query:$,...w})}delete($,w){return this._client.delete(U`/evals/${$}`,w)}}b1.Runs=Sw;class Rw extends O{create($,w){return this._client.post("/files",v0({body:$,...w},this._client))}retrieve($,w){return this._client.get(U`/files/${$}`,w)}list($={},w){return this._client.getAPIList("/files",u,{query:$,...w})}delete($,w){return this._client.delete(U`/files/${$}`,w)}content($,w){return this._client.get(U`/files/${$}/content`,{...w,headers:D([{Accept:"application/binary"},w?.headers]),__binaryResponse:!0})}async waitForProcessing($,{pollInterval:w=5000,maxWait:W=1800000}={}){let Z=new Set(["processed","error","deleted"]),X=Date.now(),Y=await this.retrieve($);while(!Y.status||!Z.has(Y.status))if(await J$(w),Y=await this.retrieve($),Date.now()-X>W)throw new O1({message:`Giving up on waiting for file ${$} to finish processing after ${W} milliseconds.`});return Y}}class l9 extends O{}class c9 extends O{run($,w){return this._client.post("/fine_tuning/alpha/graders/run",{body:$,...w})}validate($,w){return this._client.post("/fine_tuning/alpha/graders/validate",{body:$,...w})}}class Cw extends O{constructor(){super(...arguments);this.graders=new c9(this._client)}}Cw.Graders=c9;class d9 extends O{create($,w,W){return this._client.getAPIList(U`/fine_tuning/checkpoints/${$}/permissions`,A$,{body:w,method:"post",...W})}retrieve($,w={},W){return this._client.get(U`/fine_tuning/checkpoints/${$}/permissions`,{query:w,...W})}delete($,w,W){let{fine_tuned_model_checkpoint:Z}=w;return this._client.delete(U`/fine_tuning/checkpoints/${Z}/permissions/${$}`,W)}}class jw extends O{constructor(){super(...arguments);this.permissions=new d9(this._client)}}jw.Permissions=d9;class n9 extends O{list($,w={},W){return this._client.getAPIList(U`/fine_tuning/jobs/${$}/checkpoints`,u,{query:w,...W})}}class yw extends O{constructor(){super(...arguments);this.checkpoints=new n9(this._client)}create($,w){return this._client.post("/fine_tuning/jobs",{body:$,...w})}retrieve($,w){return this._client.get(U`/fine_tuning/jobs/${$}`,w)}list($={},w){return this._client.getAPIList("/fine_tuning/jobs",u,{query:$,...w})}cancel($,w){return this._client.post(U`/fine_tuning/jobs/${$}/cancel`,w)}listEvents($,w={},W){return this._client.getAPIList(U`/fine_tuning/jobs/${$}/events`,u,{query:w,...W})}pause($,w){return this._client.post(U`/fine_tuning/jobs/${$}/pause`,w)}resume($,w){return this._client.post(U`/fine_tuning/jobs/${$}/resume`,w)}}yw.Checkpoints=n9;class M$ extends O{constructor(){super(...arguments);this.methods=new l9(this._client),this.jobs=new yw(this._client),this.checkpoints=new jw(this._client),this.alpha=new Cw(this._client)}}M$.Methods=l9;M$.Jobs=yw;M$.Checkpoints=jw;M$.Alpha=Cw;class p9 extends O{}class x1 extends O{constructor(){super(...arguments);this.graderModels=new p9(this._client)}}x1.GraderModels=p9;class Iw extends O{createVariation($,w){return this._client.post("/images/variations",v0({body:$,...w},this._client))}edit($,w){return this._client.post("/images/edits",v0({body:$,...w,stream:$.stream??!1},this._client))}generate($,w){return this._client.post("/images/generations",{body:$,...w,stream:$.stream??!1})}}class bw extends O{retrieve($,w){return this._client.get(U`/models/${$}`,w)}list($){return this._client.getAPIList("/models",A$,$)}delete($,w){return this._client.delete(U`/models/${$}`,w)}}class xw extends O{create($,w){return this._client.post("/moderations",{body:$,...w})}}class t9 extends O{create($,w){return this._client.post("/realtime/client_secrets",{body:$,...w})}}class _1 extends O{constructor(){super(...arguments);this.clientSecrets=new t9(this._client)}}_1.ClientSecrets=t9;function NM($,w){if(!w||!oE(w))return{...$,output_parsed:null,output:$.output.map((W)=>{if(W.type==="function_call")return{...W,parsed_arguments:null};if(W.type==="message")return{...W,content:W.content.map((Z)=>({...Z,parsed:null}))};else return W})};return zX($,w)}function zX($,w){let W=$.output.map((X)=>{if(X.type==="function_call")return{...X,parsed_arguments:wL(w,X)};if(X.type==="message"){let Y=X.content.map((G)=>{if(G.type==="output_text")return{...G,parsed:aE(w,G.text)};return G});return{...X,content:Y}}return X}),Z=Object.assign({},$,{output:W});if(!Object.getOwnPropertyDescriptor($,"output_text"))ZW(Z);return Object.defineProperty(Z,"output_parsed",{enumerable:!0,get(){for(let X of Z.output){if(X.type!=="message")continue;for(let Y of X.content)if(Y.type==="output_text"&&Y.parsed!==null)return Y.parsed}return null}}),Z}function aE($,w){if($.text?.format?.type!=="json_schema")return null;if("$parseRaw"in $.text?.format)return($.text?.format).$parseRaw(w);return JSON.parse(w)}function oE($){if(F9($.text?.format))return!0;return!1}function eE($){return $?.$brand==="auto-parseable-tool"}function $L($,w){return $.find((W)=>W.type==="function"&&W.name===w)}function wL($,w){let W=$L($.tools??[],w.name);return{...w,...w,parsed_arguments:eE(W)?W.$parseRaw(w.arguments):W?.strict?JSON.parse(w.arguments):null}}function ZW($){let w=[];for(let W of $.output){if(W.type!=="message")continue;for(let Z of W.content)if(Z.type==="output_text")w.push(Z.text)}$.output_text=w.join("")}var _w,XW,e$,YW,KM,BM,PM,VM;class GW extends D1{constructor($){super();_w.add(this),XW.set(this,void 0),e$.set(this,void 0),YW.set(this,void 0),C(this,XW,$,"f")}static createResponse($,w,W){let Z=new GW(w);return Z._run(()=>Z._createOrRetrieveResponse($,w,{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),Z}async _createOrRetrieveResponse($,w,W){let Z=W?.signal;if(Z){if(Z.aborted)this.controller.abort();Z.addEventListener("abort",()=>this.controller.abort())}V(this,_w,"m",KM).call(this);let X,Y=null;if("response_id"in w)X=await $.responses.retrieve(w.response_id,{stream:!0},{...W,signal:this.controller.signal,stream:!0}),Y=w.starting_after??null;else X=await $.responses.create({...w,stream:!0},{...W,signal:this.controller.signal});this._connected();for await(let G of X)V(this,_w,"m",BM).call(this,G,Y);if(X.controller.signal?.aborted)throw new T0;return V(this,_w,"m",PM).call(this)}[(XW=new WeakMap,e$=new WeakMap,YW=new WeakMap,_w=new WeakSet,KM=function(){if(this.ended)return;C(this,e$,void 0,"f")},BM=function(w,W){if(this.ended)return;let Z=(Y,G)=>{if(W==null||G.sequence_number>W)this._emit(Y,G)},X=V(this,_w,"m",VM).call(this,w);switch(Z("event",w),w.type){case"response.output_text.delta":{let Y=X.output[w.output_index];if(!Y)throw new k(`missing output at index ${w.output_index}`);if(Y.type==="message"){let G=Y.content[w.content_index];if(!G)throw new k(`missing content at index ${w.content_index}`);if(G.type!=="output_text")throw new k(`expected content to be 'output_text', got ${G.type}`);Z("response.output_text.delta",{...w,snapshot:G.text})}break}case"response.function_call_arguments.delta":{let Y=X.output[w.output_index];if(!Y)throw new k(`missing output at index ${w.output_index}`);if(Y.type==="function_call")Z("response.function_call_arguments.delta",{...w,snapshot:Y.arguments});break}default:Z(w.type,w);break}},PM=function(){if(this.ended)throw new k("stream has ended, this shouldn't happen");let w=V(this,e$,"f");if(!w)throw new k("request ended without sending any events");C(this,e$,void 0,"f");let W=WL(w,V(this,XW,"f"));return C(this,YW,W,"f"),W},VM=function(w){let W=V(this,e$,"f");if(!W){if(w.type!=="response.created")throw new k(`When snapshot hasn't been set yet, expected 'response.created' event, got ${w.type}`);return W=C(this,e$,w.response,"f"),W}switch(w.type){case"response.output_item.added":{W.output.push(w.item);break}case"response.content_part.added":{let Z=W.output[w.output_index];if(!Z)throw new k(`missing output at index ${w.output_index}`);let X=Z.type,Y=w.part;if(X==="message"&&Y.type!=="reasoning_text")Z.content.push(Y);else if(X==="reasoning"&&Y.type==="reasoning_text"){if(!Z.content)Z.content=[];Z.content.push(Y)}break}case"response.output_text.delta":{let Z=W.output[w.output_index];if(!Z)throw new k(`missing output at index ${w.output_index}`);if(Z.type==="message"){let X=Z.content[w.content_index];if(!X)throw new k(`missing content at index ${w.content_index}`);if(X.type!=="output_text")throw new k(`expected content to be 'output_text', got ${X.type}`);X.text+=w.delta}break}case"response.function_call_arguments.delta":{let Z=W.output[w.output_index];if(!Z)throw new k(`missing output at index ${w.output_index}`);if(Z.type==="function_call")Z.arguments+=w.delta;break}case"response.reasoning_text.delta":{let Z=W.output[w.output_index];if(!Z)throw new k(`missing output at index ${w.output_index}`);if(Z.type==="reasoning"){let X=Z.content?.[w.content_index];if(!X)throw new k(`missing content at index ${w.content_index}`);if(X.type!=="reasoning_text")throw new k(`expected content to be 'reasoning_text', got ${X.type}`);X.text+=w.delta}break}case"response.completed":{C(this,e$,w.response,"f");break}}return W},Symbol.asyncIterator)](){let $=[],w=[],W=!1;return this.on("event",(Z)=>{let X=w.shift();if(X)X.resolve(Z);else $.push(Z)}),this.on("end",()=>{W=!0;for(let Z of w)Z.resolve(void 0);w.length=0}),this.on("abort",(Z)=>{W=!0;for(let X of w)X.reject(Z);w.length=0}),this.on("error",(Z)=>{W=!0;for(let X of w)X.reject(Z);w.length=0}),{next:async()=>{if(!$.length){if(W)return{value:void 0,done:!0};return new Promise((X,Y)=>w.push({resolve:X,reject:Y})).then((X)=>X?{value:X,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}async finalResponse(){await this.done();let $=V(this,YW,"f");if(!$)throw new k("stream ended without producing a ChatCompletion");return $}}function WL($,w){return NM($,w)}class r9 extends O{list($,w={},W){return this._client.getAPIList(U`/responses/${$}/input_items`,u,{query:w,...W})}}class g1 extends O{constructor(){super(...arguments);this.inputItems=new r9(this._client)}create($,w){return this._client.post("/responses",{body:$,...w,stream:$.stream??!1})._thenUnwrap((W)=>{if("object"in W&&W.object==="response")ZW(W);return W})}retrieve($,w={},W){return this._client.get(U`/responses/${$}`,{query:w,...W,stream:w?.stream??!1})._thenUnwrap((Z)=>{if("object"in Z&&Z.object==="response")ZW(Z);return Z})}delete($,w){return this._client.delete(U`/responses/${$}`,{...w,headers:D([{Accept:"*/*"},w?.headers])})}parse($,w){return this._client.responses.create($,w)._thenUnwrap((W)=>zX(W,$))}stream($,w){return GW.createResponse(this._client,$,w)}cancel($,w){return this._client.post(U`/responses/${$}/cancel`,w)}}g1.InputItems=r9;class s9 extends O{create($,w,W){return this._client.post(U`/uploads/${$}/parts`,v0({body:w,...W},this._client))}}class v1 extends O{constructor(){super(...arguments);this.parts=new s9(this._client)}create($,w){return this._client.post("/uploads",{body:$,...w})}cancel($,w){return this._client.post(U`/uploads/${$}/cancel`,w)}complete($,w,W){return this._client.post(U`/uploads/${$}/complete`,{body:w,...W})}}v1.Parts=s9;var fM=async($)=>{let w=await Promise.allSettled($),W=w.filter((X)=>X.status==="rejected");if(W.length){for(let X of W)console.error(X.reason);throw Error(`${W.length} promise(s) failed - see the above errors`)}let Z=[];for(let X of w)if(X.status==="fulfilled")Z.push(X.value);return Z};class a9 extends O{create($,w,W){return this._client.post(U`/vector_stores/${$}/file_batches`,{body:w,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}retrieve($,w,W){let{vector_store_id:Z}=w;return this._client.get(U`/vector_stores/${Z}/file_batches/${$}`,{...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}cancel($,w,W){let{vector_store_id:Z}=w;return this._client.post(U`/vector_stores/${Z}/file_batches/${$}/cancel`,{...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}async createAndPoll($,w,W){let Z=await this.create($,w);return await this.poll($,Z.id,W)}listFiles($,w,W){let{vector_store_id:Z,...X}=w;return this._client.getAPIList(U`/vector_stores/${Z}/file_batches/${$}/files`,u,{query:X,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}async poll($,w,W){let Z=D([W?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":W?.pollIntervalMs?.toString()??void 0}]);while(!0){let{data:X,response:Y}=await this.retrieve(w,{vector_store_id:$},{...W,headers:Z}).withResponse();switch(X.status){case"in_progress":let G=5000;if(W?.pollIntervalMs)G=W.pollIntervalMs;else{let J=Y.headers.get("openai-poll-after-ms");if(J){let T=parseInt(J);if(!isNaN(T))G=T}}await J$(G);break;case"failed":case"cancelled":case"completed":return X}}}async uploadAndPoll($,{files:w,fileIds:W=[]},Z){if(w==null||w.length==0)throw Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let X=Z?.maxConcurrency??5,Y=Math.min(X,w.length),G=this._client,J=w.values(),T=[...W];async function Q(z){for(let N of z){let B=await G.files.create({file:N,purpose:"assistants"},Z);T.push(B.id)}}let M=Array(Y).fill(J).map(Q);return await fM(M),await this.createAndPoll($,{file_ids:T})}}class o9 extends O{create($,w,W){return this._client.post(U`/vector_stores/${$}/files`,{body:w,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}retrieve($,w,W){let{vector_store_id:Z}=w;return this._client.get(U`/vector_stores/${Z}/files/${$}`,{...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}update($,w,W){let{vector_store_id:Z,...X}=w;return this._client.post(U`/vector_stores/${Z}/files/${$}`,{body:X,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}list($,w={},W){return this._client.getAPIList(U`/vector_stores/${$}/files`,u,{query:w,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}delete($,w,W){let{vector_store_id:Z}=w;return this._client.delete(U`/vector_stores/${Z}/files/${$}`,{...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}async createAndPoll($,w,W){let Z=await this.create($,w,W);return await this.poll($,Z.id,W)}async poll($,w,W){let Z=D([W?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":W?.pollIntervalMs?.toString()??void 0}]);while(!0){let X=await this.retrieve(w,{vector_store_id:$},{...W,headers:Z}).withResponse(),Y=X.data;switch(Y.status){case"in_progress":let G=5000;if(W?.pollIntervalMs)G=W.pollIntervalMs;else{let J=X.response.headers.get("openai-poll-after-ms");if(J){let T=parseInt(J);if(!isNaN(T))G=T}}await J$(G);break;case"failed":case"completed":return Y}}}async upload($,w,W){let Z=await this._client.files.create({file:w,purpose:"assistants"},W);return this.create($,{file_id:Z.id},W)}async uploadAndPoll($,w,W){let Z=await this.upload($,w,W);return await this.poll($,Z.id,W)}content($,w,W){let{vector_store_id:Z}=w;return this._client.getAPIList(U`/vector_stores/${Z}/files/${$}/content`,A$,{...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}}class $1 extends O{constructor(){super(...arguments);this.files=new o9(this._client),this.fileBatches=new a9(this._client)}create($,w){return this._client.post("/vector_stores",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}retrieve($,w){return this._client.get(U`/vector_stores/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}update($,w,W){return this._client.post(U`/vector_stores/${$}`,{body:w,...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}list($={},w){return this._client.getAPIList("/vector_stores",u,{query:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}delete($,w){return this._client.delete(U`/vector_stores/${$}`,{...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}search($,w,W){return this._client.getAPIList(U`/vector_stores/${$}/search`,A$,{body:w,method:"post",...W,headers:D([{"OpenAI-Beta":"assistants=v2"},W?.headers])})}}$1.Files=o9;$1.FileBatches=a9;var gw,qM,JW;class vw extends O{constructor(){super(...arguments);gw.add(this)}async unwrap($,w,W=this._client.webhookSecret,Z=300){return await this.verifySignature($,w,W,Z),JSON.parse($)}async verifySignature($,w,W=this._client.webhookSecret,Z=300){if(typeof crypto>"u"||typeof crypto.subtle.importKey!=="function"||typeof crypto.subtle.verify!=="function")throw Error("Webhook signature verification is only supported when the `crypto` global is defined");V(this,gw,"m",qM).call(this,W);let X=D([w]).values,Y=V(this,gw,"m",JW).call(this,X,"webhook-signature"),G=V(this,gw,"m",JW).call(this,X,"webhook-timestamp"),J=V(this,gw,"m",JW).call(this,X,"webhook-id"),T=parseInt(G,10);if(isNaN(T))throw new D$("Invalid webhook timestamp format");let Q=Math.floor(Date.now()/1000);if(Q-T>Z)throw new D$("Webhook timestamp is too old");if(T>Q+Z)throw new D$("Webhook timestamp is too new");let M=Y.split(" ").map((K)=>K.startsWith("v1,")?K.substring(3):K),z=W.startsWith("whsec_")?Buffer.from(W.replace("whsec_",""),"base64"):Buffer.from(W,"utf-8"),N=J?`${J}.${G}.${$}`:`${G}.${$}`,B=await crypto.subtle.importKey("raw",z,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let K of M)try{let P=Buffer.from(K,"base64");if(await crypto.subtle.verify("HMAC",B,P,new TextEncoder().encode(N)))return}catch{continue}throw new D$("The given webhook signature does not match the expected signature")}}gw=new WeakSet,qM=function(w){if(typeof w!=="string"||w.length===0)throw Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},JW=function(w,W){if(!w)throw Error("Headers are required");let Z=w.get(W);if(Z===null||Z===void 0)throw Error(`Missing required header: ${W}`);return Z};var NX,KX,TW,UM;class _{constructor({baseURL:$=a$("OPENAI_BASE_URL"),apiKey:w=a$("OPENAI_API_KEY"),organization:W=a$("OPENAI_ORG_ID")??null,project:Z=a$("OPENAI_PROJECT_ID")??null,webhookSecret:X=a$("OPENAI_WEBHOOK_SECRET")??null,...Y}={}){if(NX.add(this),TW.set(this,void 0),this.completions=new Dw(this),this.chat=new k1(this),this.embeddings=new Aw(this),this.files=new Rw(this),this.images=new Iw(this),this.audio=new C$(this),this.moderations=new xw(this),this.models=new bw(this),this.fineTuning=new M$(this),this.graders=new x1(this),this.vectorStores=new $1(this),this.webhooks=new vw(this),this.beta=new j$(this),this.batches=new Ow(this),this.uploads=new v1(this),this.responses=new g1(this),this.realtime=new _1(this),this.conversations=new I1(this),this.evals=new b1(this),this.containers=new y1(this),w===void 0)throw new k("Missing credentials. Please pass an `apiKey`, or set the `OPENAI_API_KEY` environment variable.");let G={apiKey:w,organization:W,project:Z,webhookSecret:X,...Y,baseURL:$||"https://api.openai.com/v1"};if(!G.dangerouslyAllowBrowser&&EQ())throw new k(`It looks like you're running in a browser-like environment.
103
188
 
104
189
  This is disabled by default, as it risks exposing your secret API credentials to attackers.
105
190
  If you understand the risks and have appropriate mitigations in place,
@@ -108,51 +193,67 @@ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
108
193
  new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
109
194
 
110
195
  https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
111
- `);this.baseURL=G.baseURL,this.timeout=G.timeout??LW.DEFAULT_TIMEOUT,this.logger=G.logger??console;let J="warn";this.logLevel=J,this.logLevel=$W(G.logLevel,"ClientOptions.logLevel",this)??$W(m$("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??J,this.fetchOptions=G.fetchOptions,this.maxRetries=G.maxRetries??2,this.fetch=G.fetch??NQ(),R(this,I6,BQ,"f"),this._options=G,this.apiKey=typeof w==="string"?w:"Missing Key",this.organization=Z,this.project=W,this.webhookSecret=X}withOptions($){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...$})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:$,nulls:w}){return}async authHeaders($){return D([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery($){return o5($,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${v$}`}defaultIdempotencyKey(){return`stainless-node-retry-${m5()}`}makeStatusError($,w,Z,W){return w0.generate($,w,Z,W)}async _callApiKey(){let $=this._options.apiKey;if(typeof $!=="function")return!1;let w;try{w=await $()}catch(Z){if(Z instanceof k)throw Z;throw new k(`Failed to get token from 'apiKey' function: ${Z.message}`,{cause:Z})}if(typeof w!=="string"||!w)throw new k(`Expected 'apiKey' function argument to return a string but it returned ${w}`);return this.apiKey=w,!0}buildURL($,w,Z){let W=!V(this,EW,"m",Gz).call(this)&&Z||this.baseURL,X=ZQ($)?new URL($):new URL(W+(W.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),Y=this.defaultQuery();if(!WQ(Y))w={...Y,...w};if(typeof w==="object"&&w&&!Array.isArray(w))X.search=this.stringifyQuery(w);return X.toString()}async prepareOptions($){await this._callApiKey()}async prepareRequest($,{url:w,options:Z}){}get($,w){return this.methodRequest("get",$,w)}post($,w){return this.methodRequest("post",$,w)}patch($,w){return this.methodRequest("patch",$,w)}put($,w){return this.methodRequest("put",$,w)}delete($,w){return this.methodRequest("delete",$,w)}methodRequest($,w,Z){return this.request(Promise.resolve(Z).then((W)=>{return{method:$,path:w,...W}}))}request($,w=null){return new T1(this,this.makeRequest($,w,void 0))}async makeRequest($,w,Z){let W=await $,X=W.maxRetries??this.maxRetries;if(w==null)w=X;await this.prepareOptions(W);let{req:Y,url:G,timeout:J}=await this.buildRequest(W,{retryCount:X-w});await this.prepareRequest(Y,{url:G,options:W});let Q="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),z=Z===void 0?"":`, retryOf: ${Z}`,M=Date.now();if($0(this).debug(`[${Q}] sending request`,P$({retryOfRequestLogID:Z,method:W.method,url:G,options:W,headers:Y.headers})),W.signal?.aborted)throw new X0;let T=new AbortController,N=await this.fetchWithTimeout(G,Y,J,T).catch(I9),K=Date.now();if(N instanceof globalThis.Error){let q=`retrying, ${w} attempts remaining`;if(W.signal?.aborted)throw new X0;let U=j9(N)||/timed? ?out/i.test(String(N)+("cause"in N?String(N.cause):""));if(w)return $0(this).info(`[${Q}] connection ${U?"timed out":"failed"} - ${q}`),$0(this).debug(`[${Q}] connection ${U?"timed out":"failed"} (${q})`,P$({retryOfRequestLogID:Z,url:G,durationMs:K-M,message:N.message})),this.retryRequest(W,w,Z??Q);if($0(this).info(`[${Q}] connection ${U?"timed out":"failed"} - error; no more retries left`),$0(this).debug(`[${Q}] connection ${U?"timed out":"failed"} (error; no more retries left)`,P$({retryOfRequestLogID:Z,url:G,durationMs:K-M,message:N.message})),U)throw new M1;throw new z1({cause:N})}let B=[...N.headers.entries()].filter(([q])=>q==="x-request-id").map(([q,U])=>", "+q+": "+JSON.stringify(U)).join(""),P=`[${Q}${z}${B}] ${Y.method} ${G} ${N.ok?"succeeded":"failed"} with status ${N.status} in ${K-M}ms`;if(!N.ok){let q=await this.shouldRetry(N);if(w&&q){let u=`retrying, ${w} attempts remaining`;return await KQ(N.body),$0(this).info(`${P} - ${u}`),$0(this).debug(`[${Q}] response error (${u})`,P$({retryOfRequestLogID:Z,url:N.url,status:N.status,headers:N.headers,durationMs:K-M})),this.retryRequest(W,w,Z??Q,N.headers)}let U=q?"error; no more retries left":"error; not retryable";$0(this).info(`${P} - ${U}`);let O=await N.text().catch((u)=>I9(u).message),f=GQ(O),C=f?void 0:O;throw $0(this).debug(`[${Q}] response error (${U})`,P$({retryOfRequestLogID:Z,url:N.url,status:N.status,headers:N.headers,message:C,durationMs:Date.now()-M})),this.makeStatusError(N.status,f,C,N.headers)}return $0(this).info(P),$0(this).debug(`[${Q}] response start`,P$({retryOfRequestLogID:Z,url:N.url,status:N.status,headers:N.headers,durationMs:K-M})),{response:N,options:W,controller:T,requestLogID:Q,retryOfRequestLogID:Z,startTime:M}}getAPIList($,w,Z){return this.requestAPIList(w,{method:"get",path:$,...Z})}requestAPIList($,w){let Z=this.makeRequest(w,null,void 0);return new N6(this,Z,$)}async fetchWithTimeout($,w,Z,W){let{signal:X,method:Y,...G}=w||{};if(X)X.addEventListener("abort",()=>W.abort());let J=setTimeout(()=>W.abort(),Z),Q=globalThis.ReadableStream&&G.body instanceof globalThis.ReadableStream||typeof G.body==="object"&&G.body!==null&&Symbol.asyncIterator in G.body,z={signal:W.signal,...Q?{duplex:"half"}:{},method:"GET",...G};if(Y)z.method=Y.toUpperCase();try{return await this.fetch.call(void 0,$,z)}finally{clearTimeout(J)}}async shouldRetry($){let w=$.headers.get("x-should-retry");if(w==="true")return!0;if(w==="false")return!1;if($.status===408)return!0;if($.status===409)return!0;if($.status===429)return!0;if($.status>=500)return!0;return!1}async retryRequest($,w,Z,W){let X,Y=W?.get("retry-after-ms");if(Y){let J=parseFloat(Y);if(!Number.isNaN(J))X=J}let G=W?.get("retry-after");if(G&&!X){let J=parseFloat(G);if(!Number.isNaN(J))X=J*1000;else X=Date.parse(G)-Date.now()}if(!(X&&0<=X&&X<60000)){let J=$.maxRetries??this.maxRetries;X=this.calculateDefaultRetryTimeoutMillis(w,J)}return await o0(X),this.makeRequest($,w-1,Z)}calculateDefaultRetryTimeoutMillis($,w){let X=w-$,Y=Math.min(0.5*Math.pow(2,X),8),G=1-Math.random()*0.25;return Y*G*1000}async buildRequest($,{retryCount:w=0}={}){let Z={...$},{method:W,path:X,query:Y,defaultBaseURL:G}=Z,J=this.buildURL(X,Y,G);if("timeout"in Z)YQ("timeout",Z.timeout);Z.timeout=Z.timeout??this.timeout;let{bodyHeaders:Q,body:z}=this.buildBody({options:Z}),M=await this.buildHeaders({options:$,method:W,bodyHeaders:Q,retryCount:w});return{req:{method:W,headers:M,...Z.signal&&{signal:Z.signal},...globalThis.ReadableStream&&z instanceof globalThis.ReadableStream&&{duplex:"half"},...z&&{body:z},...this.fetchOptions??{},...Z.fetchOptions??{}},url:J,timeout:Z.timeout}}async buildHeaders({options:$,method:w,bodyHeaders:Z,retryCount:W}){let X={};if(this.idempotencyHeader&&w!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();X[this.idempotencyHeader]=$.idempotencyKey}let Y=D([X,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(W),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...TQ(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders($),this._options.defaultHeaders,Z,$.headers]);return this.validateHeaders(Y),Y.values}buildBody({options:{body:$,headers:w}}){if(!$)return{bodyHeaders:void 0,body:void 0};let Z=D([w]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&Z.values.has("content-type")||globalThis.Blob&&$ instanceof globalThis.Blob||$ instanceof FormData||$ instanceof URLSearchParams||globalThis.ReadableStream&&$ instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:$};else if(typeof $==="object"&&((Symbol.asyncIterator in $)||(Symbol.iterator in $)&&("next"in $)&&typeof $.next==="function"))return{bodyHeaders:void 0,body:W6($)};else return V(this,I6,"f").call(this,{body:$,headers:Z})}}LW=x,I6=new WeakMap,EW=new WeakSet,Gz=function(){return this.baseURL!=="https://api.openai.com/v1"};x.OpenAI=LW;x.DEFAULT_TIMEOUT=600000;x.OpenAIError=k;x.APIError=w0;x.APIConnectionError=z1;x.APIConnectionTimeoutError=M1;x.APIUserAbortError=X0;x.NotFoundError=_9;x.ConflictError=g9;x.RateLimitError=u9;x.BadRequestError=y9;x.AuthenticationError=b9;x.InternalServerError=h9;x.PermissionDeniedError=x9;x.UnprocessableEntityError=v9;x.InvalidWebhookSignatureError=V$;x.toFile=K6;x.Completions=Jw;x.Chat=B1;x.Embeddings=zw;x.Files=Tw;x.Images=Vw;x.Audio=F$;x.Moderations=qw;x.Models=Pw;x.FineTuning=w$;x.Graders=L1;x.VectorStores=d$;x.Webhooks=Fw;x.Beta=O$;x.Batches=Xw;x.Uploads=k1;x.Responses=f1;x.Realtime=D1;x.Conversations=O1;x.Evals=E1;x.Containers=F1;class DW{client;constructor($){this.client=new x({...$,maxRetries:0})}async*stream($){let w=await this.client.chat.completions.create({model:$.model,messages:iO($.messages),...$.tools.length?{tools:$.tools.map((W)=>({type:"function",function:{name:W.name,description:W.description,parameters:W.inputSchema}}))}:{},max_completion_tokens:$.maxOutputTokens,stream:!0,stream_options:{include_usage:!0}},$.signal?{signal:$.signal}:void 0),Z=new Set;for await(let W of w){let X=W.choices[0]?.delta,Y=X?.reasoning_content;if(Y)yield{type:"reasoning_delta",text:Y};if(X?.content)yield{type:"text_delta",text:X.content};for(let G of X?.tool_calls??[]){let J=G.index;if(!Z.has(J))Z.add(J),yield{type:"tool_call_start",index:J,callId:G.id??`call_${J}`,name:G.function?.name??""};if(G.function?.arguments)yield{type:"tool_call_delta",index:J,argumentsDelta:G.function.arguments}}if(W.usage)yield{type:"usage",usage:{inputTokens:W.usage.prompt_tokens,outputTokens:W.usage.completion_tokens}}}for(let W of Z)yield{type:"tool_call_end",index:W};yield{type:"done"}}}function iO($){return $.map((w)=>{if(w.role==="system"||w.role==="user")return{role:w.role,content:w.content};if(w.role==="tool")return{role:"tool",tool_call_id:w.callId,content:w.content};let Z={role:"assistant",content:w.content||null};if(w.toolCalls.length)Z.tool_calls=w.toolCalls.map((W)=>({id:W.callId,type:"function",function:{name:W.name,arguments:JSON.stringify(W.input)}}));return Z})}import{createHash as mO,randomUUID as Jz}from"node:crypto";import{appendFile as lO,chmod as Qz,mkdir as cO,readdir as dO,readFile as zz}from"node:fs/promises";import A1 from"node:path";var pO=/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;function Mz($){return pO.test($)}function fW($){return mO("sha256").update(A1.resolve($)).digest("hex").slice(0,16)}class kW{sessionId;sessionPath;tracePath;#$=Promise.resolve();constructor($,w,Z=Jz()){this.sessionId=Z;if(!Mz(Z))throw Error("Invalid session ID");let W=A1.join($,"sessions",fW(w));this.sessionPath=A1.join(W,`${Z}.jsonl`),this.tracePath=A1.join(W,`${Z}.trace.jsonl`)}async create($){await this.append("session.created",{workspace:$,sessionId:this.sessionId})}append($,w){let Z={version:1,id:Jz(),timestamp:new Date().toISOString(),type:$,data:w},W=this.#$.then(async()=>{let X=A1.dirname(this.sessionPath);await cO(X,{recursive:!0,mode:448}),await Qz(X,448),await lO(this.sessionPath,`${JSON.stringify(Z)}
112
- `,{encoding:"utf8",mode:384}),await Qz(this.sessionPath,384)});return this.#$=W.catch(()=>{}),W}appendMessage($){return this.append("message",$)}appendCompaction($,w){return this.append("context.compacted",w?{summary:$,sourceRange:w}:{summary:$})}setTitle($){return this.append("session.title",{title:$})}async list(){let $=A1.dirname(this.sessionPath),w;try{w=await dO($)}catch(W){if(W.code==="ENOENT")return[];throw W}let Z=[];for(let W of w){if(!W.endsWith(".jsonl")||W.endsWith(".trace.jsonl"))continue;let X=W.slice(0,-6);if(!Mz(X))continue;try{Z.push(await this.#w(A1.join($,W),X))}catch{}}return Z.sort((W,X)=>X.lastActivity.localeCompare(W.lastActivity)),Z}async#w($,w){let Z=await zz($,"utf8"),W=0,X,Y,G="";for(let z of Z.split(`
113
- `)){if(!z)continue;let M;try{M=JSON.parse(z)}catch{continue}if(M.version!==1)continue;if(M.timestamp)G=M.timestamp;switch(M.type){case"session.reset":W=0,Y=void 0,X=void 0;break;case"session.title":{let T=M.data;if(typeof T?.title==="string")X=T.title;break}case"message":if(W++,Y===void 0){let T=M.data;if(T?.role==="user"&&typeof T.content==="string")Y=T.content}break}}let J=X??Y,Q={id:w,messageCount:W,lastActivity:G};if(J!==void 0)Q.title=J;return Q}async recover(){let $=[],w=[],Z,W,Y=(await zz(this.sessionPath,"utf8")).split(`
114
- `),G=-1;for(let z=Y.length-1;z>=0;z--)if(Y[z]){G=z;break}for(let z=0;z<Y.length;z++){let M=Y[z];if(!M)continue;let T;try{T=JSON.parse(M)}catch(N){if(z===G){w.push("Ignored incomplete final JSONL record");break}throw Tz(z,N)}try{if(T.version!==1)throw Error("unsupported schema version");if(T.type==="session.reset")$.length=0,Z=void 0,W=void 0;if(T.type==="message"){if(!nO(T.data))throw Error("invalid message structure");$.push(T.data)}if(T.type==="context.compacted"){let N=T.data;if(typeof N?.summary!=="string")throw Error("invalid compaction record");Z=N.summary,W=typeof N.sourceRange?.start==="number"&&typeof N.sourceRange.end==="number"?{start:N.sourceRange.start,end:N.sourceRange.end}:void 0}}catch(N){throw Tz(z,N)}}let J=tO($,w);for(let z of J)await this.appendMessage(z);let Q={messages:$,warnings:w};if(Z!==void 0)Q.summary=Z;if(W!==void 0)Q.compactionRange=W;return Q}}function nO($){if(!$||typeof $!=="object")return!1;let w=$;if((w.role==="system"||w.role==="user")&&typeof w.content==="string")return!0;if(w.role==="assistant"&&typeof w.content==="string")return Array.isArray(w.toolCalls)&&w.toolCalls.every((Z)=>!!Z&&typeof Z==="object"&&typeof Z.callId==="string"&&typeof Z.name==="string"&&("input"in Z));return w.role==="tool"&&typeof w.callId==="string"&&typeof w.name==="string"&&typeof w.content==="string"&&typeof w.isError==="boolean"}function Tz($,w){return Error(`Invalid session record at line ${$+1}: ${w instanceof Error?w.message:String(w)}`)}function tO($,w){let Z=new Map,W=new Set;for(let Y of $)if(Y.role==="assistant"){if(Z.size>0)throw Error("Assistant message appeared before pending tool results");for(let G of Y.toolCalls){if(W.has(G.callId))throw Error(`Duplicate tool call ID: ${G.callId}`);W.add(G.callId),Z.set(G.callId,G.name)}}else if(Y.role==="tool"){if(!Z.delete(Y.callId))throw Error(`Orphan tool result: ${Y.callId}`)}else if(Z.size>0)throw Error(`${Y.role} message appeared before pending tool results`);if(Z.size===0)return[];let X=[];for(let[Y,G]of Z){let J={role:"tool",callId:Y,name:G,content:"runtime.interrupted: tool execution did not complete before the previous process exited",isError:!0};$.push(J),X.push(J)}return w.push(`Recovered ${Z.size} interrupted tool call(s)`),X}function Nz(){return[k8,S8,f8,E8]}class AW{registry;permissions;events;workspace;timeoutMs;constructor($,w,Z,W,X=60000){this.registry=$;this.permissions=w;this.events=Z;this.workspace=W;this.timeoutMs=X}setRegistry($){this.registry=$}async execute($,w,Z){await this.events.emit("tool.requested",{name:$.name,callId:$.callId},Z);let W=this.registry.get($.name);if(!W)return{content:`tool.not_found: ${$.name}`,isError:!0};let X=this.registry.validate($.name,$.input);if(!X.valid)return{content:`tool.invalid_input: ${X.errors}`,isError:!0};if(["read","write","edit"].includes($.name))try{await a0(this.workspace,$.input.path)}catch(T){return{content:`permission.workspace_denied: ${T instanceof Error?T.message:String(T)}`,isError:!0}}let Y=await this.permissions.authorize(W,$,w);if(await this.events.emit("permission.requested",{name:$.name,callId:$.callId,risk:Y.risk,allowed:Y.allowed},Z),!Y.allowed)return{content:`permission.denied: ${$.name} was not authorized`,isError:!0};await this.events.emit("tool.started",{name:$.name,callId:$.callId},Z);let G=Date.now(),J,Q=new AbortController,z=()=>Q.abort(w.reason);if(w.aborted)z();else w.addEventListener("abort",z,{once:!0});let M=setTimeout(()=>Q.abort(Error(`Tool timed out after ${this.timeoutMs}ms`)),this.timeoutMs);try{let T=Q.signal.aborted?Promise.reject(Q.signal.reason):new Promise((N,K)=>{Q.signal.addEventListener("abort",()=>K(Q.signal.reason),{once:!0})});J=await Promise.race([W.execute($.input,{workspace:this.workspace,signal:Q.signal}),T]),J={...J,content:R1(J.content,50000)}}catch(T){J={content:`${!w.aborted&&Q.signal.aborted?"tool.timeout (abort requested; tools must cooperate)":"tool.internal_error"}: ${T instanceof Error?T.message:String(T)}`,isError:!0}}finally{clearTimeout(M),w.removeEventListener("abort",z)}return await this.events.emit("tool.completed",{name:$.name,callId:$.callId,isError:J.isError??!1,durationMs:Date.now()-G},Z),J}}import{createHash as rO,randomUUID as sO}from"node:crypto";import{readdir as aO,readFile as oO,realpath as eO,stat as Kz}from"node:fs/promises";import Bz from"node:path";import{pathToFileURL as SW}from"node:url";class A4{builtins;events;auto;trust;importer;static defaultImporter=($)=>import($);#$=new Map;constructor($,w,Z,W,X=A4.defaultImporter){this.builtins=$;this.events=w;this.auto=Z;this.trust=W;this.importer=X}async load($,w){let Z=w?.clone()??new r0(this.builtins),W=[],X=[];for(let Y of $)try{let G=await eO(Y.path),J=await Kz(G),Q=J.isDirectory()?G:Bz.dirname(G);if(Y.project&&!this.auto){if(!(this.trust?await this.trust(Q):!1)){await this.events.emit("plugin.unavailable",{path:Q,reason:"not trusted"});continue}}let z=J.isDirectory()?(await aO(G)).filter((M)=>M.endsWith(".ts")).sort().map((M)=>Bz.join(G,M)):G.endsWith(".ts")?[G]:[];for(let M of z)try{let T=await this.importPlugin(M);if(!$E(T.default))throw Error("default export is not a ToolDefinition");Z.register(T.default,{kind:"local",path:M}),W.push(T.default.name),await this.events.emit("plugin.loaded",{path:M,name:T.default.name})}catch(T){X.push(M),await this.events.emit("plugin.failed",{path:M,message:T instanceof Error?T.message:String(T)})}}catch(G){if(G.code!=="ENOENT")X.push(Y.path),await this.events.emit("plugin.failed",{path:Y.path,message:G instanceof Error?G.message:String(G)})}return{registry:Z,loaded:W,failed:X}}async importPlugin($){if(this.importer!==A4.defaultImporter){let G=(await Kz($)).mtimeMs;return this.importer(`${SW($).href}?mtime=${G}`)}let w=await oO($,"utf8"),Z=rO("sha256").update(w).digest("hex"),W=this.#$.get($);if(W?.hash===Z)return W.module;let X=`// coden-source: ${SW($).href}
115
- // coden-load: ${sO()}
196
+ `);this.baseURL=G.baseURL,this.timeout=G.timeout??KX.DEFAULT_TIMEOUT,this.logger=G.logger??console;let J="warn";this.logLevel=J,this.logLevel=cZ(G.logLevel,"ClientOptions.logLevel",this)??cZ(a$("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??J,this.fetchOptions=G.fetchOptions,this.maxRetries=G.maxRetries??2,this.fetch=G.fetch??DQ(),C(this,TW,AQ,"f"),this._options=G,this.apiKey=typeof w==="string"?w:"Missing Key",this.organization=W,this.project=Z,this.webhookSecret=X}withOptions($){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...$})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:$,nulls:w}){return}async authHeaders($){return D([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery($){return mZ($,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${p$}`}defaultIdempotencyKey(){return`stainless-node-retry-${yZ()}`}makeStatusError($,w,W,Z){return Y0.generate($,w,W,Z)}async _callApiKey(){let $=this._options.apiKey;if(typeof $!=="function")return!1;let w;try{w=await $()}catch(W){if(W instanceof k)throw W;throw new k(`Failed to get token from 'apiKey' function: ${W.message}`,{cause:W})}if(typeof w!=="string"||!w)throw new k(`Expected 'apiKey' function argument to return a string but it returned ${w}`);return this.apiKey=w,!0}buildURL($,w,W){let Z=!V(this,NX,"m",UM).call(this)&&W||this.baseURL,X=PQ($)?new URL($):new URL(Z+(Z.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),Y=this.defaultQuery();if(!VQ(Y))w={...Y,...w};if(typeof w==="object"&&w&&!Array.isArray(w))X.search=this.stringifyQuery(w);return X.toString()}async prepareOptions($){await this._callApiKey()}async prepareRequest($,{url:w,options:W}){}get($,w){return this.methodRequest("get",$,w)}post($,w){return this.methodRequest("post",$,w)}patch($,w){return this.methodRequest("patch",$,w)}put($,w){return this.methodRequest("put",$,w)}delete($,w){return this.methodRequest("delete",$,w)}methodRequest($,w,W){return this.request(Promise.resolve(W).then((Z)=>{return{method:$,path:w,...Z}}))}request($,w=null){return new E1(this,this.makeRequest($,w,void 0))}async makeRequest($,w,W){let Z=await $,X=Z.maxRetries??this.maxRetries;if(w==null)w=X;await this.prepareOptions(Z);let{req:Y,url:G,timeout:J}=await this.buildRequest(Z,{retryCount:X-w});await this.prepareRequest(Y,{url:G,options:Z});let T="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),Q=W===void 0?"":`, retryOf: ${W}`,M=Date.now();if(Z0(this).debug(`[${T}] sending request`,k$({retryOfRequestLogID:W,method:Z.method,url:G,options:Z,headers:Y.headers})),Z.signal?.aborted)throw new T0;let z=new AbortController,N=await this.fetchWithTimeout(G,Y,J,z).catch(X9),B=Date.now();if(N instanceof globalThis.Error){let q=`retrying, ${w} attempts remaining`;if(Z.signal?.aborted)throw new T0;let f=Z9(N)||/timed? ?out/i.test(String(N)+("cause"in N?String(N.cause):""));if(w)return Z0(this).info(`[${T}] connection ${f?"timed out":"failed"} - ${q}`),Z0(this).debug(`[${T}] connection ${f?"timed out":"failed"} (${q})`,k$({retryOfRequestLogID:W,url:G,durationMs:B-M,message:N.message})),this.retryRequest(Z,w,W??T);if(Z0(this).info(`[${T}] connection ${f?"timed out":"failed"} - error; no more retries left`),Z0(this).debug(`[${T}] connection ${f?"timed out":"failed"} (error; no more retries left)`,k$({retryOfRequestLogID:W,url:G,durationMs:B-M,message:N.message})),f)throw new O1;throw new F1({cause:N})}let K=[...N.headers.entries()].filter(([q])=>q==="x-request-id").map(([q,f])=>", "+q+": "+JSON.stringify(f)).join(""),P=`[${T}${Q}${K}] ${Y.method} ${G} ${N.ok?"succeeded":"failed"} with status ${N.status} in ${B-M}ms`;if(!N.ok){let q=await this.shouldRetry(N);if(w&&q){let j=`retrying, ${w} attempts remaining`;return await kQ(N.body),Z0(this).info(`${P} - ${j}`),Z0(this).debug(`[${T}] response error (${j})`,k$({retryOfRequestLogID:W,url:N.url,status:N.status,headers:N.headers,durationMs:B-M})),this.retryRequest(Z,w,W??T,N.headers)}let f=q?"error; no more retries left":"error; not retryable";Z0(this).info(`${P} - ${f}`);let H=await N.text().catch((j)=>X9(j).message),E=UQ(H),S=E?void 0:H;throw Z0(this).debug(`[${T}] response error (${f})`,k$({retryOfRequestLogID:W,url:N.url,status:N.status,headers:N.headers,message:S,durationMs:Date.now()-M})),this.makeStatusError(N.status,E,S,N.headers)}return Z0(this).info(P),Z0(this).debug(`[${T}] response start`,k$({retryOfRequestLogID:W,url:N.url,status:N.status,headers:N.headers,durationMs:B-M})),{response:N,options:Z,controller:z,requestLogID:T,retryOfRequestLogID:W,startTime:M}}getAPIList($,w,W){return this.requestAPIList(w,{method:"get",path:$,...W})}requestAPIList($,w){let W=this.makeRequest(w,null,void 0);return new m6(this,W,$)}async fetchWithTimeout($,w,W,Z){let{signal:X,method:Y,...G}=w||{};if(X)X.addEventListener("abort",()=>Z.abort());let J=setTimeout(()=>Z.abort(),W),T=globalThis.ReadableStream&&G.body instanceof globalThis.ReadableStream||typeof G.body==="object"&&G.body!==null&&Symbol.asyncIterator in G.body,Q={signal:Z.signal,...T?{duplex:"half"}:{},method:"GET",...G};if(Y)Q.method=Y.toUpperCase();try{return await this.fetch.call(void 0,$,Q)}finally{clearTimeout(J)}}async shouldRetry($){let w=$.headers.get("x-should-retry");if(w==="true")return!0;if(w==="false")return!1;if($.status===408)return!0;if($.status===409)return!0;if($.status===429)return!0;if($.status>=500)return!0;return!1}async retryRequest($,w,W,Z){let X,Y=Z?.get("retry-after-ms");if(Y){let J=parseFloat(Y);if(!Number.isNaN(J))X=J}let G=Z?.get("retry-after");if(G&&!X){let J=parseFloat(G);if(!Number.isNaN(J))X=J*1000;else X=Date.parse(G)-Date.now()}if(!(X&&0<=X&&X<60000)){let J=$.maxRetries??this.maxRetries;X=this.calculateDefaultRetryTimeoutMillis(w,J)}return await J$(X),this.makeRequest($,w-1,W)}calculateDefaultRetryTimeoutMillis($,w){let X=w-$,Y=Math.min(0.5*Math.pow(2,X),8),G=1-Math.random()*0.25;return Y*G*1000}async buildRequest($,{retryCount:w=0}={}){let W={...$},{method:Z,path:X,query:Y,defaultBaseURL:G}=W,J=this.buildURL(X,Y,G);if("timeout"in W)qQ("timeout",W.timeout);W.timeout=W.timeout??this.timeout;let{bodyHeaders:T,body:Q}=this.buildBody({options:W}),M=await this.buildHeaders({options:$,method:Z,bodyHeaders:T,retryCount:w});return{req:{method:Z,headers:M,...W.signal&&{signal:W.signal},...globalThis.ReadableStream&&Q instanceof globalThis.ReadableStream&&{duplex:"half"},...Q&&{body:Q},...this.fetchOptions??{},...W.fetchOptions??{}},url:J,timeout:W.timeout}}async buildHeaders({options:$,method:w,bodyHeaders:W,retryCount:Z}){let X={};if(this.idempotencyHeader&&w!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();X[this.idempotencyHeader]=$.idempotencyKey}let Y=D([X,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(Z),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...LQ(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders($),this._options.defaultHeaders,W,$.headers]);return this.validateHeaders(Y),Y.values}buildBody({options:{body:$,headers:w}}){if(!$)return{bodyHeaders:void 0,body:void 0};let W=D([w]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&W.values.has("content-type")||globalThis.Blob&&$ instanceof globalThis.Blob||$ instanceof FormData||$ instanceof URLSearchParams||globalThis.ReadableStream&&$ instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:$};else if(typeof $==="object"&&((Symbol.asyncIterator in $)||(Symbol.iterator in $)&&("next"in $)&&typeof $.next==="function"))return{bodyHeaders:void 0,body:I6($)};else return V(this,TW,"f").call(this,{body:$,headers:W})}}KX=_,TW=new WeakMap,NX=new WeakSet,UM=function(){return this.baseURL!=="https://api.openai.com/v1"};_.OpenAI=KX;_.DEFAULT_TIMEOUT=600000;_.OpenAIError=k;_.APIError=Y0;_.APIConnectionError=F1;_.APIConnectionTimeoutError=O1;_.APIUserAbortError=T0;_.NotFoundError=T9;_.ConflictError=Q9;_.RateLimitError=z9;_.BadRequestError=Y9;_.AuthenticationError=G9;_.InternalServerError=N9;_.PermissionDeniedError=J9;_.UnprocessableEntityError=M9;_.InvalidWebhookSignatureError=D$;_.toFile=l6;_.Completions=Dw;_.Chat=k1;_.Embeddings=Aw;_.Files=Rw;_.Images=Iw;_.Audio=C$;_.Moderations=xw;_.Models=bw;_.FineTuning=M$;_.Graders=x1;_.VectorStores=$1;_.Webhooks=vw;_.Beta=j$;_.Batches=Ow;_.Uploads=v1;_.Responses=g1;_.Realtime=_1;_.Conversations=I1;_.Evals=b1;_.Containers=y1;class BX{client;constructor($){this.client=new _({...$,maxRetries:0})}async*stream($){let w=await this.client.chat.completions.create({model:$.model,messages:TL($.messages),...$.tools.length?{tools:$.tools.map((Z)=>({type:"function",function:{name:Z.name,description:Z.description,parameters:Z.inputSchema}}))}:{},max_completion_tokens:$.maxOutputTokens,stream:!0,stream_options:{include_usage:!0}},$.signal?{signal:$.signal}:void 0),W=new Set;for await(let Z of w){let X=Z.choices[0]?.delta,Y=X?.reasoning_content;if(Y)yield{type:"reasoning_delta",text:Y};if(X?.content)yield{type:"text_delta",text:X.content};for(let G of X?.tool_calls??[]){let J=G.index;if(!W.has(J))W.add(J),yield{type:"tool_call_start",index:J,callId:G.id??`call_${J}`,name:G.function?.name??""};if(G.function?.arguments)yield{type:"tool_call_delta",index:J,argumentsDelta:G.function.arguments}}if(Z.usage)yield{type:"usage",usage:{inputTokens:Z.usage.prompt_tokens,outputTokens:Z.usage.completion_tokens}}}for(let Z of W)yield{type:"tool_call_end",index:Z};yield{type:"done"}}}function TL($){return $.map((w)=>{if(w.role==="system"||w.role==="user")return{role:w.role,content:w.content};if(w.role==="tool")return{role:"tool",tool_call_id:w.callId,content:w.content};let W={role:"assistant",content:w.content||null};if(w.toolCalls.length)W.tool_calls=w.toolCalls.map((Z)=>({id:Z.callId,type:"function",function:{name:Z.name,arguments:JSON.stringify(Z.input)}}));return W})}import{createHash as QL,randomUUID as HM}from"node:crypto";import{appendFile as ML,chmod as FM,mkdir as zL,readdir as NL,readFile as OM}from"node:fs/promises";import u1 from"node:path";var KL=/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;function EM($){return KL.test($)}function PX($){return QL("sha256").update(u1.resolve($)).digest("hex").slice(0,16)}class VX{workspace;sessionId;sessionPath;tracePath;#$=Promise.resolve();#w=!1;constructor($,w,W=HM()){this.workspace=w;this.sessionId=W;if(!EM(W))throw Error("Invalid session ID");let Z=u1.join($,"sessions",PX(w));this.sessionPath=u1.join(Z,`${W}.jsonl`),this.tracePath=u1.join(Z,`${W}.trace.jsonl`)}get isCreated(){return this.#w}async create($=this.workspace){if(this.#w)return;await this.append("session.created",{workspace:$,sessionId:this.sessionId}),this.#w=!0}append($,w){let W={version:1,id:HM(),timestamp:new Date().toISOString(),type:$,data:w},Z=this.#$.then(async()=>{let X=u1.dirname(this.sessionPath);await zL(X,{recursive:!0,mode:448}),await FM(X,448),await ML(this.sessionPath,`${JSON.stringify(W)}
197
+ `,{encoding:"utf8",mode:384}),await FM(this.sessionPath,384)});return this.#$=Z.catch(()=>{}),Z}appendMessage($){return this.append("message",$)}appendCompaction($,w){return this.append("context.compacted",w?{summary:$,sourceRange:w}:{summary:$})}setTitle($){return this.append("session.title",{title:$})}async list(){let $=u1.dirname(this.sessionPath),w;try{w=await NL($)}catch(Z){if(Z.code==="ENOENT")return[];throw Z}let W=[];for(let Z of w){if(!Z.endsWith(".jsonl")||Z.endsWith(".trace.jsonl"))continue;let X=Z.slice(0,-6);if(!EM(X))continue;try{W.push(await this.#W(u1.join($,Z),X))}catch{}}return W.sort((Z,X)=>X.lastActivity.localeCompare(Z.lastActivity)),W}async#W($,w){let W=await OM($,"utf8"),Z=0,X,Y,G="";for(let Q of W.split(`
198
+ `)){if(!Q)continue;let M;try{M=JSON.parse(Q)}catch{continue}if(M.version!==1)continue;if(M.timestamp)G=M.timestamp;switch(M.type){case"session.reset":Z=0,Y=void 0,X=void 0;break;case"session.title":{let z=M.data;if(typeof z?.title==="string")X=z.title;break}case"message":if(Z++,Y===void 0){let z=M.data;if(z?.role==="user"&&typeof z.content==="string")Y=z.content}break}}let J=X??Y,T={id:w,messageCount:Z,lastActivity:G};if(J!==void 0)T.title=J;return T}async recover(){let $=[],w=[],W,Z,X=await OM(this.sessionPath,"utf8");this.#w=!0;let Y=X.split(`
199
+ `),G=-1;for(let Q=Y.length-1;Q>=0;Q--)if(Y[Q]){G=Q;break}for(let Q=0;Q<Y.length;Q++){let M=Y[Q];if(!M)continue;let z;try{z=JSON.parse(M)}catch(N){if(Q===G){w.push("Ignored incomplete final JSONL record");break}throw LM(Q,N)}try{if(z.version!==1)throw Error("unsupported schema version");if(z.type==="session.reset")$.length=0,W=void 0,Z=void 0;if(z.type==="message"){if(!BL(z.data))throw Error("invalid message structure");$.push(z.data)}if(z.type==="context.compacted"){let N=z.data;if(typeof N?.summary!=="string")throw Error("invalid compaction record");W=N.summary,Z=typeof N.sourceRange?.start==="number"&&typeof N.sourceRange.end==="number"?{start:N.sourceRange.start,end:N.sourceRange.end}:void 0}}catch(N){throw LM(Q,N)}}let J=PL($,w);for(let Q of J)await this.appendMessage(Q);let T={messages:$,warnings:w};if(W!==void 0)T.summary=W;if(Z!==void 0)T.compactionRange=Z;return T}}function BL($){if(!$||typeof $!=="object")return!1;let w=$;if((w.role==="system"||w.role==="user")&&typeof w.content==="string")return!0;if(w.role==="assistant"&&typeof w.content==="string")return Array.isArray(w.toolCalls)&&w.toolCalls.every((W)=>!!W&&typeof W==="object"&&typeof W.callId==="string"&&typeof W.name==="string"&&("input"in W));return w.role==="tool"&&typeof w.callId==="string"&&typeof w.name==="string"&&typeof w.content==="string"&&typeof w.isError==="boolean"}function LM($,w){return Error(`Invalid session record at line ${$+1}: ${w instanceof Error?w.message:String(w)}`)}function PL($,w){let W=new Map,Z=new Set;for(let Y of $)if(Y.role==="assistant"){if(W.size>0)throw Error("Assistant message appeared before pending tool results");for(let G of Y.toolCalls){if(Z.has(G.callId))throw Error(`Duplicate tool call ID: ${G.callId}`);Z.add(G.callId),W.set(G.callId,G.name)}}else if(Y.role==="tool"){if(!W.delete(Y.callId))throw Error(`Orphan tool result: ${Y.callId}`)}else if(W.size>0)throw Error(`${Y.role} message appeared before pending tool results`);if(W.size===0)return[];let X=[];for(let[Y,G]of W){let J={role:"tool",callId:Y,name:G,content:"runtime.interrupted: tool execution did not complete before the previous process exited",isError:!0};$.push(J),X.push(J)}return w.push(`Recovered ${W.size} interrupted tool call(s)`),X}function DM(){return[a8,e8,s8,p8]}var VL={maxLines:20,maxValueChars:2000,maxDepth:4,maxSummaryColumns:120};function h1($){return typeof $==="object"&&$!==null&&!Array.isArray($)?$:void 0}function kM($,w){let W=h1(w?.properties),Z=W?Object.keys(W).filter((X)=>(X in $)):[];return[...Z,...Object.keys($).filter((X)=>!Z.includes(X))]}function fL($,w){return h1(h1($?.properties)?.[w])}function qL($,w){let W=X0($),Z=Array.from(W);if(Z.length<=w)return W;let X=Z.length-w;return`${Z.slice(0,w).join("")} [${X} characters omitted]`}function QW($,w){if(typeof $==="string")return qL($,w.maxValueChars);if($===null)return"null";if(typeof $==="number"||typeof $==="boolean"||typeof $==="bigint")return String($);if($===void 0)return"undefined";return}function MW($,w={}){let W={...VL,...w},Z=X0($.name);try{let X=[],Y=new WeakSet,G=Math.max(0,W.maxLines),J=(N)=>{if(X.length<=G)X.push(N)},T=(N,B,K,P,q)=>{if(X.length>G)return;let f=q===void 0?void 0:X0(q),H=QW(N,W);if(H!==void 0){let j=H.split(`
200
+ `);if(f!==void 0&&j.length===1)J(`${P}${f}: ${H}`);else if(f!==void 0){J(`${P}${f}:`);for(let g of j)J(`${P} ${g}`)}else for(let g of j)J(`${P}${g}`);return}if(K>=W.maxDepth){J(`${P}${f===void 0?"":`${f}: `}[max depth]`);return}if(typeof N!=="object"||N===null){J(`${P}${f===void 0?"":`${f}: `}${X0(String(N))}`);return}if(Y.has(N)){J(`${P}${f===void 0?"":`${f}: `}[circular]`);return}if(Y.add(N),Array.isArray(N)){if(N.length===0){J(`${P}${f===void 0?"":`${f}: `}[]`);return}if(f!==void 0)J(`${P}${f}:`);let j=f===void 0?P:`${P} `,g=h1(B?.items);for(let s of N){if(X.length>G)break;let e=QW(s,W);if(e!==void 0&&!e.includes(`
201
+ `))J(`${j}- ${e}`);else J(`${j}-`),T(s,g,K+1,`${j} `)}return}let E=N,S=kM(E,B);if(S.length===0){J(`${P}${f===void 0?"":`${f}: `}{}`);return}if(f!==void 0)J(`${P}${f}:`);let A=f===void 0?P:`${P} `;for(let j of S){if(X.length>G)break;T(E[j],fL(B,j),K+1,A,j)}};T($.input,h1($.inputSchema),0,"");let Q=X;if(Q.length>G)Q=G===0?[]:[...Q.slice(0,G-1),"... [1 or more lines omitted]"];let M=Z,z=h1($.input);if(z)for(let N of kM(z,h1($.inputSchema))){let B=QW(z[N],W);if(B!==void 0){M=`${X0(N)}: ${B.split(`
202
+ `)[0]??""}`;break}}else{let N=QW($.input,W);if(N!==void 0)M=N.split(`
203
+ `)[0]??Z}return{lines:Q,summary:Yw(X0(M),W.maxSummaryColumns)}}catch{return{lines:["[unavailable]"],summary:Yw(Z,W.maxSummaryColumns)}}}class fX{registry;permissions;events;workspace;timeoutMs;constructor($,w,W,Z,X=60000){this.registry=$;this.permissions=w;this.events=W;this.workspace=Z;this.timeoutMs=X}setRegistry($){this.registry=$}async execute($,w,W){await this.events.emit("tool.requested",{name:$.name,callId:$.callId},W);let Z=this.registry.get($.name);if(!Z)return{content:`tool.not_found: ${$.name}`,isError:!0};let X=this.registry.validate($.name,$.input);if(!X.valid)return{content:`tool.invalid_input: ${X.errors}`,isError:!0};if(["read","write","edit"].includes($.name))try{await X$(this.workspace,$.input.path)}catch(N){return{content:`permission.workspace_denied: ${N instanceof Error?N.message:String(N)}`,isError:!0}}let Y=await this.permissions.authorize(Z,$,w);if(await this.events.emit("permission.requested",{name:$.name,callId:$.callId,risk:Y.risk,allowed:Y.allowed},W),!Y.allowed)return{content:`permission.denied: ${$.name} was not authorized`,isError:!0};let G=MW({name:Z.name,risk:Y.risk,inputSchema:Z.inputSchema,input:$.input});await this.events.emit("tool.started",{name:$.name,callId:$.callId,summary:G.summary},W);let J=Date.now(),T,Q=new AbortController,M=()=>Q.abort(w.reason);if(w.aborted)M();else w.addEventListener("abort",M,{once:!0});let z=setTimeout(()=>Q.abort(Error(`Tool timed out after ${this.timeoutMs}ms`)),this.timeoutMs);try{let N=Q.signal.aborted?Promise.reject(Q.signal.reason):new Promise((B,K)=>{Q.signal.addEventListener("abort",()=>K(Q.signal.reason),{once:!0})});T=await Promise.race([Z.execute($.input,{workspace:this.workspace,signal:Q.signal}),N]),T={...T,content:l1(T.content,50000)}}catch(N){T={content:`${!w.aborted&&Q.signal.aborted?"tool.timeout (abort requested; tools must cooperate)":"tool.internal_error"}: ${N instanceof Error?N.message:String(N)}`,isError:!0}}finally{clearTimeout(z),w.removeEventListener("abort",M)}return await this.events.emit("tool.completed",{name:$.name,callId:$.callId,isError:T.isError??!1,durationMs:Date.now()-J},W),T}}import{createHash as UL,randomUUID as HL}from"node:crypto";import{readdir as FL,readFile as OL,realpath as EL,stat as AM}from"node:fs/promises";import SM from"node:path";import{pathToFileURL as qX}from"node:url";class e9{builtins;events;auto;trust;importer;static defaultImporter=($)=>import($);#$=new Map;constructor($,w,W,Z,X=e9.defaultImporter){this.builtins=$;this.events=w;this.auto=W;this.trust=Z;this.importer=X}async load($,w){let W=w?.clone()??new W$(this.builtins),Z=[],X=[];for(let Y of $)try{let G=await EL(Y.path),J=await AM(G),T=J.isDirectory()?G:SM.dirname(G);if(Y.project&&!this.auto){if(!(this.trust?await this.trust(T):!1)){await this.events.emit("plugin.unavailable",{path:T,reason:"not trusted"});continue}}let Q=J.isDirectory()?(await FL(G)).filter((M)=>M.endsWith(".ts")).sort().map((M)=>SM.join(G,M)):G.endsWith(".ts")?[G]:[];for(let M of Q)try{let z=await this.importPlugin(M);if(!LL(z.default))throw Error("default export is not a ToolDefinition");W.register(z.default,{kind:"local",path:M}),Z.push(z.default.name),await this.events.emit("plugin.loaded",{path:M,name:z.default.name})}catch(z){X.push(M),await this.events.emit("plugin.failed",{path:M,message:z instanceof Error?z.message:String(z)})}}catch(G){if(G.code!=="ENOENT")X.push(Y.path),await this.events.emit("plugin.failed",{path:Y.path,message:G instanceof Error?G.message:String(G)})}return{registry:W,loaded:Z,failed:X}}async importPlugin($){if(this.importer!==e9.defaultImporter){let G=(await AM($)).mtimeMs;return this.importer(`${qX($).href}?mtime=${G}`)}let w=await OL($,"utf8"),W=UL("sha256").update(w).digest("hex"),Z=this.#$.get($);if(Z?.hash===W)return Z.module;let X=`// coden-source: ${qX($).href}
204
+ // coden-load: ${HL()}
116
205
  ${w}
117
- //# sourceURL=${SW($).href}
118
- `,Y=await this.importer(`data:text/typescript;base64,${Buffer.from(X).toString("base64")}`);return this.#$.set($,{hash:Z,module:Y}),Y}}function $E($){if(!$||typeof $!=="object")return!1;let w=$;return typeof w.name==="string"&&typeof w.description==="string"&&(w.risk==="read"||w.risk==="modify"||w.risk==="dangerous")&&!!w.inputSchema&&typeof w.execute==="function"}var Vz="0.1.2";function Pz($,w){let Z=$.replace(/\s+/g," ").trim();return Z.length<=w?Z:`${Z.slice(0,w-1)}…`}function wE($){let w=new Date($);if(Number.isNaN(w.getTime()))return $;let Z=(W)=>String(W).padStart(2,"0");return`${w.getFullYear()}-${Z(w.getMonth()+1)}-${Z(w.getDate())} ${Z(w.getHours())}:${Z(w.getMinutes())}`}function RW($,w){if($.length===0)return`No sessions found.
119
- `;let Z=$.map((X)=>{let Y=X.title?Pz(X.title,40):"(no title)",G=X.messageCount===0?"new session":`${X.messageCount} messages`,J=X.id===w?" *":"";return`${X.id}${J} ${Y} (${G}, ${wE(X.lastActivity)})`}),W=w?`Current session: ${w}
120
- `:"";return`${Z.join(`
206
+ //# sourceURL=${qX($).href}
207
+ `,Y=await this.importer(`data:text/typescript;base64,${Buffer.from(X).toString("base64")}`);return this.#$.set($,{hash:W,module:Y}),Y}}function LL($){if(!$||typeof $!=="object")return!1;let w=$;return typeof w.name==="string"&&typeof w.description==="string"&&(w.risk==="read"||w.risk==="modify"||w.risk==="dangerous")&&!!w.inputSchema&&typeof w.execute==="function"}var RM="0.1.4";var UX=2000;function DL($,w){let W=$.replace(/\s+/g," ").trim();return W.length<=w?W:`${W.slice(0,w-1)}…`}function kL($){let w=new Date($);if(Number.isNaN(w.getTime()))return $;let W=(Z)=>String(Z).padStart(2,"0");return`${w.getFullYear()}-${W(w.getMonth()+1)}-${W(w.getDate())} ${W(w.getHours())}:${W(w.getMinutes())}`}function HX($,w){if($.length===0)return`No sessions found.
208
+ `;let W=$.map((X)=>{let Y=X.title?DL(X.title,40):"(no title)",G=X.messageCount===0?"new session":`${X.messageCount} messages`,J=X.id===w?" *":"";return`${X.id}${J} ${Y} (${G}, ${kL(X.lastActivity)})`}),Z=w?`Current session: ${w}
209
+ `:"";return`${W.join(`
121
210
  `)}
122
- ${W}`}function qz($,w){let Z=w.length,W=w.filter((Y)=>Y.role==="user"||Y.role==="assistant").slice(-3),X=[`Resumed session ${$} (${Z} messages).`,`Showing last ${W.length} of ${Z} messages.`];for(let Y of W){let G=Y.role==="user"?"user":"assistant";X.push(`┌ ${G.padEnd(9)} ${Pz(Y.content,120)}`)}return X.join(`
123
- `)}class Ow extends Error{}async function XE($,w){try{return await c7($,w)}catch(Z){throw new Ow(`configuration: ${Z instanceof Error?Z.message:String(Z)}`,{cause:Z})}}async function Hz($,w){let Z=process.cwd(),W=await XE(Z,{...w.provider?{provider:w.provider}:{},...w.model?{model:w.model}:{},...w.maxSteps?{maxSteps:w.maxSteps}:{},plugins:w.plugin}),X=new T5,G=!w.auto||!$&&!w.print?WE({input:ZE,output:process.stderr}):void 0,J=typeof w.resume==="string"?w.resume:void 0,Q=new kW(W.dataDir,Z,J);if(w.resume===!0){G?.close(),n0.write(RW(await Q.list()));return}let z,M,T=0,N;if(typeof w.resume==="string"){let a=await Q.recover();z=a.messages,M=a.summary,T=a.compactionRange?.end??0;for(let E$ of a.warnings)process.stderr.write(`coden: ${E$}
124
- `);if(!w.print)N=qz(Q.sessionId,a.messages)}else await Q.create(Z);let K=new P5(Q.tracePath,X),B=new V5(X,{verbose:w.verbose,printMode:w.print}),P;try{P=JE(W.provider)}catch(a){throw new Ow(`provider: ${a instanceof Error?a.message:String(a)}`,{cause:a})}let q=Nz(),U=w.auto?void 0:zE(CW(G)),O=new q5(w.auto,U),f=new r0(q),C=new AW(f,O,X,Z),A=new Q5(y6.join(H8(),"trusted-workspaces.json")),u=new A4(q,X,w.auto,async(a)=>{if(await A.isTrusted(a))return!0;let E$=await ME(CW(G),`Project plugins at ${a} run with full process permissions. Trust? [y/N] `);if(E$)await A.trust(a);return E$}),i=new eZ,r=sw(Z,"global",W.dataDir),z0=sw(Z,"project",W.dataDir),h=[{path:y6.join(H8(),"plugins"),project:!1},{path:y6.join(Z,".coden","plugins"),project:!0},...W.plugins.map((a)=>({path:y6.resolve(Z,a),project:!0}))],q0=new Map,p$=async()=>{await new A0(r).recover(),await new A0(z0).recover();let a=await Uz(i,r,X,"global"),x6=w.auto||await A.isWorkspaceTrusted(Z)?await Uz(i,z0,X,"project"):{loaded:[],failed:[],unavailable:!0};if(x6.unavailable)await X.emit("plugin.unavailable",{source:"npm",scope:"project",path:z0.root,reason:"workspace is not trusted; run coden plugin install or sync after trusting"});let xW=await YE(q,a.loaded,x6.loaded,X);for(let{scope:Rz,plugin:Lw}of xW.effective){let _6=`${Rz}:${Lw.version}`,S4=q0.get(Lw.packageName);if(S4&&S4!==_6)await X.emit("plugin.restart_required",{source:"npm",packageName:Lw.packageName,loadedIdentity:S4,diskIdentity:_6,loadedVersion:S4.split(":").slice(1).join(":"),diskVersion:Lw.version,reason:"npm plugin metadata changed; restart CodeN to load it"});q0.set(Lw.packageName,_6)}return{composed:xW,global:a,project:x6}},Z$=async()=>{let a=await p$(),E$=await u.load(h,a.composed.registry);return f.replaceWith(E$.registry),E$};await Z$();let S1=await GE(Z),Ew=new z5({contextWindow:W.contextWindow,reservedOutputTokens:W.reservedOutputTokens,safetyMargin:W.safetyMargin});if(M)Ew.setSummary(M,T);let bW=new N5(P,f,C,Ew,Q,X,{model:W.model,maxSteps:W.maxSteps,systemPrompt:"You are CodeN, a concise coding agent. Inspect before editing, use tools carefully, and verify changes."+(S1?`
211
+ ${Z}`}function CM($,w,W,Z=80){let X=MW({name:$.name,risk:W,inputSchema:$.inputSchema,input:w.input},{maxLines:1/0,maxValueChars:1/0,maxDepth:1/0}),Y=`${W.toUpperCase()} ${$.name}`,G=X.lines.map((Q)=>` ${Q}`).join(`
212
+ `),J=W==="dangerous"?"[y]es / [N]o":"[y]es / [s]ession / [N]o",T=AL(Z);return`${T}
213
+ ${Y}
214
+
215
+ ${G}
216
+ ${T}
217
+ Allow? ${J}: `}function AL($){return"─".repeat(Math.max(1,$))}function jM($,w){let W=(Y)=>Y.role==="user"||Y.role==="assistant",Z=[`Resumed session ${$} (${w.length} messages).`];for(let Y of w.filter(W))Z.push(Y.role==="user"?SL(Y.content):RL(Y.content));let X=jL(w);if(X)Z.push(X);return Z.join(`
218
+
219
+ `)}function SL($){return $.split(`
220
+ `).map((w,W)=>W===0?`> ${w}`:` ${w}`).join(`
221
+ `)}function RL($){let{text:w,omitted:W}=CL($),Z="",X=new E4((G)=>{Z+=G});if(X.push(w),X.complete(),!W)return Z;return`${Z.endsWith(`
222
+ `)?Z:`${Z}
223
+ `}…(已省略 ${W} 个字符)`}function CL($){let w=[...$];return w.length<=UX?{text:$,omitted:0}:{text:w.slice(0,UX).join(""),omitted:w.length-UX}}function jL($){let w=new Map;for(let G of $)if(G.role==="assistant")for(let J of G.toolCalls)w.set(J.name,(w.get(J.name)??0)+1);if(w.size===0)return;let W=[...w.values()].reduce((G,J)=>G+J,0),Z=0;for(let G of $)if(G.role==="tool"&&G.isError)Z++;let X=[...w.entries()].sort((G,J)=>J[1]-G[1]||G[0].localeCompare(J[0])).map(([G,J])=>`${G} ×${J}`).join(", "),Y=`Tools: ${W} calls — ${X}`;return Z>0?`${Y}; ${Z} failed`:Y}class uw extends Error{}async function bL($,w){try{return await xJ($,w)}catch(W){throw new uw(`configuration: ${W instanceof Error?W.message:String(W)}`,{cause:W})}}async function IM($,w){let W=process.cwd(),Z=await bL(W,{...w.provider?{provider:w.provider}:{},...w.model?{model:w.model}:{},...w.maxSteps?{maxSteps:w.maxSteps}:{},plugins:w.plugin}),X=new l5,G=!w.auto||!$&&!w.print?IL({input:yL,output:process.stderr}):void 0,J=typeof w.resume==="string"?w.resume:void 0,T=new VX(Z.dataDir,W,J);if(w.resume===!0){G?.close(),c0.write(HX(await T.list()));return}let Q,M,z=0,N;if(typeof w.resume==="string"){let $0=await T.recover();Q=$0.messages,M=$0.summary,z=$0.compactionRange?.end??0;for(let y$ of $0.warnings)process.stderr.write(`coden: ${y$}
224
+ `);if(!w.print)N=jM(T.sessionId,$0.messages)}let B=new GZ(T.tracePath,X,()=>T.isCreated),K=new YZ(X,{verbose:w.verbose,printMode:w.print}),P;try{P=gL(Z.provider)}catch($0){throw new uw(`provider: ${$0 instanceof Error?$0.message:String($0)}`,{cause:$0})}let q=DM(),f=w.auto?void 0:uL(FX(G)),H=new JZ(w.auto,f),E=new W$(q),S=new fX(E,H,X,W),A=new h5(zW.join(c8(),"trusted-workspaces.json")),j=new e9(q,X,w.auto,async($0)=>{if(await A.isTrusted($0))return!0;let y$=await hL(FX(G),`Project plugins at ${$0} run with full process permissions. Trust? [y/N] `);if(y$)await A.trust($0);return y$}),g=new j5,s=B4(W,"global",Z.dataDir),e=B4(W,"project",Z.dataDir),i=[{path:zW.join(c8(),"plugins"),project:!1},{path:zW.join(W,".coden","plugins"),project:!0},...Z.plugins.map(($0)=>({path:zW.resolve(W,$0),project:!0}))],F0=new Map,w1=async()=>{await new j0(s).recover(),await new j0(e).recover();let $0=await yM(g,s,X,"global"),KW=w.auto||await A.isWorkspaceTrusted(W)?await yM(g,e,X,"project"):{loaded:[],failed:[],unavailable:!0};if(KW.unavailable)await X.emit("plugin.unavailable",{source:"npm",scope:"project",path:e.root,reason:"workspace is not trusted; run coden plugin install or sync after trusting"});let kX=await xL(q,$0.loaded,KW.loaded,X);for(let{scope:lM,plugin:iw}of kX.effective){let BW=`${lM}:${iw.version}`,$8=F0.get(iw.packageName);if($8&&$8!==BW)await X.emit("plugin.restart_required",{source:"npm",packageName:iw.packageName,loadedIdentity:$8,diskIdentity:BW,loadedVersion:$8.split(":").slice(1).join(":"),diskVersion:iw.version,reason:"npm plugin metadata changed; restart CodeN to load it"});F0.set(iw.packageName,BW)}return{composed:kX,global:$0,project:KW}},z$=async()=>{let $0=await w1(),y$=await j.load(i,$0.composed.registry);return E.replaceWith(y$.registry),y$};await z$();let i1=await _L(W),hw=new i5({contextWindow:Z.contextWindow,reservedOutputTokens:Z.reservedOutputTokens,safetyMargin:Z.safetyMargin});if(M)hw.setSummary(M,z);let DX=new c5(P,E,S,hw,T,X,{model:Z.model,maxSteps:Z.maxSteps,systemPrompt:"You are CodeN, a concise coding agent. Inspect before editing, use tools carefully, and verify changes."+(i1?`
125
225
 
126
226
  Project instructions:
127
- ${S1}`:"")},z);try{if($){await Oz(bW,$,G);return}if(w.print)throw Error("print mode requires a prompt");await QE(bW,Q,Z$,f,CW(G),fW(Z),N)}finally{G?.close(),B.dispose(),await K.flush()}}async function YE($,w,Z,W){let X=new r0($),Y=new Set(Z.map((Q)=>Q.packageName)),G=[...w.map((Q)=>({scope:"global",plugin:Q})),...Z.map((Q)=>({scope:"project",plugin:Q}))],J=[];for(let Q of G){if(Q.scope==="global"&&Y.has(Q.plugin.packageName))continue;let z=X.clone(),M={kind:"npm",pluginName:Q.plugin.packageName,pluginVersion:Q.plugin.version,path:Q.plugin.entryPath};try{for(let T of Q.plugin.tools)z.register(T,M);X.replaceWith(z),J.push(Q)}catch(T){await W.emit("plugin.failed",{source:"npm",scope:Q.scope,packageName:Q.plugin.packageName,version:Q.plugin.version,path:Q.plugin.entryPath,message:`${T instanceof Error?T.message:String(T)}; package skipped to preserve earlier tools`})}}return{registry:X,effective:J}}async function Uz($,w,Z,W){try{let X=await $.loadScope(w);for(let Y of X.loaded)await Z.emit("plugin.loaded",{source:"npm",scope:W,packageName:Y.packageName,version:Y.version,path:Y.entryPath,tools:Y.tools.map((G)=>G.name)});for(let Y of X.failed)await Z.emit("plugin.failed",{source:"npm",scope:W,packageName:Y.packageName,path:Y.path,message:`${Y.message}; run coden plugin sync to repair the runtime`});return X}catch(X){let Y=X instanceof Error?X.message:String(X);return await Z.emit("plugin.failed",{source:"npm",scope:W,path:w.runtimeDir,message:`${Y}; run coden plugin sync to repair the runtime`}),{loaded:[],failed:[],unavailable:!0}}}async function GE($){try{return await o7($,"AGENTS.md")}catch(w){if(w.code==="ENOENT")return"";if(w.category==="permission")return process.stderr.write(`coden: ignoring AGENTS.md: ${w.message}
128
- `),"";throw new Ow(`project instructions: ${w instanceof Error?w.message:String(w)}`,{cause:w})}}function JE($){if($==="anthropic"){let Z=process.env.CODEN_ANTHROPIC_API_KEY;if(!Z)throw Error("CODEN_ANTHROPIC_API_KEY is required");return new i5({apiKey:Z})}let w=process.env.CODEN_OPENAI_API_KEY;if(!w)throw Error("CODEN_OPENAI_API_KEY is required");return new DW({apiKey:w,...process.env.CODEN_OPENAI_BASE_URL?{baseURL:process.env.CODEN_OPENAI_BASE_URL}:{}})}async function QE($,w,Z,W,X,Y,G){n0.write(TE),n0.write(`Version: ${Vz}
129
- `),n0.write(`Workspace hash: ${Y}
130
- `),n0.write(G?`${G}
227
+ ${i1}`:"")},Q);try{if($){await xM(DX,$,G);return}if(w.print)throw Error("print mode requires a prompt");await vL(DX,T,z$,E,FX(G),PX(W),N)}finally{G?.close(),K.dispose(),await B.flush()}}async function xL($,w,W,Z){let X=new W$($),Y=new Set(W.map((T)=>T.packageName)),G=[...w.map((T)=>({scope:"global",plugin:T})),...W.map((T)=>({scope:"project",plugin:T}))],J=[];for(let T of G){if(T.scope==="global"&&Y.has(T.plugin.packageName))continue;let Q=X.clone(),M={kind:"npm",pluginName:T.plugin.packageName,pluginVersion:T.plugin.version,path:T.plugin.entryPath};try{for(let z of T.plugin.tools)Q.register(z,M);X.replaceWith(Q),J.push(T)}catch(z){await Z.emit("plugin.failed",{source:"npm",scope:T.scope,packageName:T.plugin.packageName,version:T.plugin.version,path:T.plugin.entryPath,message:`${z instanceof Error?z.message:String(z)}; package skipped to preserve earlier tools`})}}return{registry:X,effective:J}}async function yM($,w,W,Z){try{let X=await $.loadScope(w);for(let Y of X.loaded)await W.emit("plugin.loaded",{source:"npm",scope:Z,packageName:Y.packageName,version:Y.version,path:Y.entryPath,tools:Y.tools.map((G)=>G.name)});for(let Y of X.failed)await W.emit("plugin.failed",{source:"npm",scope:Z,packageName:Y.packageName,path:Y.path,message:`${Y.message}; run coden plugin sync to repair the runtime`});return X}catch(X){let Y=X instanceof Error?X.message:String(X);return await W.emit("plugin.failed",{source:"npm",scope:Z,path:w.runtimeDir,message:`${Y}; run coden plugin sync to repair the runtime`}),{loaded:[],failed:[],unavailable:!0}}}async function _L($){try{return await lJ($,"AGENTS.md")}catch(w){if(w.code==="ENOENT")return"";if(w.category==="permission")return process.stderr.write(`coden: ignoring AGENTS.md: ${w.message}
228
+ `),"";throw new uw(`project instructions: ${w instanceof Error?w.message:String(w)}`,{cause:w})}}function gL($){if($==="anthropic"){let W=process.env.CODEN_ANTHROPIC_API_KEY;if(!W)throw Error("CODEN_ANTHROPIC_API_KEY is required");return new jZ({apiKey:W})}let w=process.env.CODEN_OPENAI_API_KEY;if(!w)throw Error("CODEN_OPENAI_API_KEY is required");return new BX({apiKey:w,...process.env.CODEN_OPENAI_BASE_URL?{baseURL:process.env.CODEN_OPENAI_BASE_URL}:{}})}async function vL($,w,W,Z,X,Y,G){c0.write(iL),c0.write(`Version: ${RM}
229
+ `),c0.write(`Workspace hash: ${Y}
230
+ `),c0.write(G?`${G}
231
+
131
232
  Type /help for commands.
132
233
  `:`CodeN session ${w.sessionId}. Type /help for commands.
133
- `);while(!0){let J=(await jW(X,"> ")).trim();if(J===Fz)break;if(!J)continue;if(J==="/quit")break;if(J==="/help"){n0.write(`/help /session /sessions /compact /reload /new /quit
134
- `);continue}if(J==="/sessions"){n0.write(RW(await w.list(),w.sessionId));continue}if(J==="/session"){n0.write(`${w.sessionId}
135
- `);continue}if(J==="/compact"){await $.compact(),n0.write(`Context compacted.
136
- `);continue}if(J==="/new"){await $.reset(),n0.write(`Started a new conversation in this session.
137
- `);continue}if(J==="/reload"){let Q=await Z();n0.write(`Loaded: ${Q.loaded.join(", ")||"none"}; failed: ${Q.failed.length}; tools: ${W.list().map((z)=>z.name).join(", ")}
138
- `);continue}await Oz($,J,X)}}function zE($){return async(w,Z,W,X)=>{let Y=await jW($,`${W.toUpperCase()} tool ${w.name} ${JSON.stringify(Z.input)}: [y]es/[s]ession/[N]o? `,X);return Y.toLowerCase()==="y"?"allow_once":Y.toLowerCase()==="s"&&W!=="dangerous"?"allow_session":"deny"}}var Fz="\x04";async function jW($,w,Z){let W=Z?void 0:new AbortController,X=Z??W?.signal,Y=()=>W?.abort(Error("Cancelled by user"));if(W)process.once("SIGINT",Y),$.once("SIGINT",Y);try{return X?await $.question(w,{signal:X}):await $.question(w)}catch(G){if(X?.aborted)return"";if(G.code==="ERR_USE_AFTER_CLOSE"||/readline was closed/.test(G.message))return Fz;throw G}finally{if(W)process.removeListener("SIGINT",Y),$.removeListener("SIGINT",Y)}}async function ME($,w){return/^y(?:es)?$/i.test(await jW($,w))}function CW($){if(!$)throw Error("Interactive input is unavailable");return $}async function Oz($,w,Z){let W=new AbortController,X=()=>W.abort(Error("Cancelled by user"));process.once("SIGINT",X),Z?.once("SIGINT",X);try{await $.run(w,W.signal)}catch(Y){if(!W.signal.aborted)throw Y}finally{process.removeListener("SIGINT",X),Z?.removeListener("SIGINT",X)}}function Ez($){if($!=="openai"&&$!=="anthropic")throw new J5("must be openai or anthropic");return $}function Lz($){let w=Number($);if(!Number.isInteger(w)||w<1)throw new J5("must be a positive integer");return w}function Dz($,w){return[...w,$]}var TE=`
234
+ `);while(!0){let J=(await OX(X,"> ")).trim();if(J===bM)break;if(!J)continue;if(J==="/quit")break;if(J==="/help"){c0.write(`/help /session /sessions /compact /reload /new /quit
235
+ `);continue}if(J==="/sessions"){c0.write(HX(await w.list(),w.sessionId));continue}if(J==="/session"){c0.write(`${w.sessionId}
236
+ `);continue}if(J==="/compact"){await $.compact(),c0.write(`Context compacted.
237
+ `);continue}if(J==="/new"){await $.reset(),c0.write(`Started a new conversation in this session.
238
+ `);continue}if(J==="/reload"){let T=await W();c0.write(`Loaded: ${T.loaded.join(", ")||"none"}; failed: ${T.failed.length}; tools: ${Z.list().map((Q)=>Q.name).join(", ")}
239
+ `);continue}await xM($,J,X)}}function uL($){return async(w,W,Z,X)=>{let Y=c0.columns??80,G=await OX($,CM(w,W,Z,Y),X);return G.toLowerCase()==="y"?"allow_once":G.toLowerCase()==="s"&&Z!=="dangerous"?"allow_session":"deny"}}var bM="\x04";async function OX($,w,W){let Z=W?void 0:new AbortController,X=W??Z?.signal,Y=()=>Z?.abort(Error("Cancelled by user"));if(Z)process.once("SIGINT",Y),$.once("SIGINT",Y);try{return X?await $.question(w,{signal:X}):await $.question(w)}catch(G){if(X?.aborted)return"";if(G.code==="ERR_USE_AFTER_CLOSE"||/readline was closed/.test(G.message))return bM;throw G}finally{if(Z)process.removeListener("SIGINT",Y),$.removeListener("SIGINT",Y)}}async function hL($,w){return/^y(?:es)?$/i.test(await OX($,w))}function FX($){if(!$)throw Error("Interactive input is unavailable");return $}async function xM($,w,W){let Z=new AbortController,X=()=>Z.abort(Error("Cancelled by user"));process.once("SIGINT",X),W?.once("SIGINT",X);try{await $.run(w,Z.signal)}catch(Y){if(!Z.signal.aborted)throw Y}finally{process.removeListener("SIGINT",X),W?.removeListener("SIGINT",X)}}function _M($){if($!=="openai"&&$!=="anthropic")throw new u5("must be openai or anthropic");return $}function gM($){let w=Number($);if(!Number.isInteger(w)||w<1)throw new u5("must be a positive integer");return w}function vM($,w){return[...w,$]}var iL=`
139
240
  ██████╗ ██████╗ ██████╗ ███████╗███╗ ██╗
140
241
  ██╔════╝██╔═══██╗██╔══██╗██╔════╝████╗ ██║
141
242
  ██║ ██║ ██║██║ ██║█████╗ ██╔██╗ ██║
142
243
  ██║ ██║ ██║██║ ██║██╔══╝ ██║╚██╗██║
143
244
  ╚██████╗╚██████╔╝██████╔╝███████╗██║ ╚████║
144
245
  ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝
145
- `;function kz($,w){let Z=$.command("plugin").description("manage installed npm plugins");Z.command("install").argument("<specifier>","npm:<package> or npm:<package>@<version-or-tag>").option("--global","install in the user-global scope").option("--allow-scripts","allow npm lifecycle scripts with full user permissions during dependency install").option("--yes","skip confirmation prompts").action((W,X)=>b6(w,async()=>{let Y=IW(X);if(!await yW(w,"Install",W,X))return;let G=await w.service.install(W,Y);w.stdout.write(NE(G,Y.allowScripts))})),Z.command("remove").argument("<package>","installed npm package name").option("--global","remove from the user-global scope").option("--allow-scripts","allow npm lifecycle scripts with full user permissions while rebuilding dependencies").option("--yes","skip confirmation prompts").action((W,X)=>b6(w,async()=>{let Y=IW(X);if(!await yW(w,"Remove",W,X))return;await w.service.remove(W,Y),w.stdout.write(`Removed ${W} from ${Y.scope} plugins.
246
+ `;function hM($,w){let W=$.command("plugin").description("manage installed npm plugins");W.command("install").argument("<specifier>","npm:<package> or npm:<package>@<version-or-tag>").option("--global","install in the user-global scope").option("--allow-scripts","allow npm lifecycle scripts with full user permissions during dependency install").option("--yes","skip confirmation prompts").action((Z,X)=>NW(w,async()=>{let Y=EX(X);if(!await LX(w,"Install",Z,X))return;let G=await w.service.install(Z,Y);w.stdout.write(mL(G,Y.allowScripts))})),W.command("remove").argument("<package>","installed npm package name").option("--global","remove from the user-global scope").option("--allow-scripts","allow npm lifecycle scripts with full user permissions while rebuilding dependencies").option("--yes","skip confirmation prompts").action((Z,X)=>NW(w,async()=>{let Y=EX(X);if(!await LX(w,"Remove",Z,X))return;await w.service.remove(Z,Y),w.stdout.write(`Removed ${Z} from ${Y.scope} plugins.
146
247
  Restart CodeN to use npm plugin changes.
147
- `)})),Z.command("list").option("--project","show only project plugins").option("--global","show only user-global plugins").action((W)=>b6(w,async()=>{if(W.project&&W.global)throw Error("plugin list accepts only one of --project or --global");let X=await w.service.list();w.stdout.write(BE(X,W))})),Z.command("sync").option("--global","sync the user-global plugin runtime").option("--allow-scripts","allow npm lifecycle scripts with full user permissions during dependency install").option("--yes","skip confirmation prompts").action((W)=>b6(w,async()=>{let X=IW(W);if(!await yW(w,"Sync",`${X.scope} plugins`,W))return;let Y=await w.service.sync(X);w.stdout.write(KE(X.scope,Y,X.allowScripts))}))}function IW($){return{scope:$.global?"global":"project",allowScripts:$.allowScripts===!0}}async function yW($,w,Z,W){if(!W.yes){if(!await $.confirm(`${w} ${Z}? npm plugins run with full process permissions; validation imports plugin top-level code with full permissions. Continue?`))return!1}if(W.allowScripts){if($.stderr.write(`Warning: --allow-scripts lets this package and transitive dependencies run lifecycle scripts with your user permissions.
148
- `),!W.yes){if(!await $.confirm("Allow npm lifecycle scripts to run with full user permissions?"))return!1}}return!0}async function b6($,w){try{await w()}catch(Z){$.stderr.write(`coden: ${VE(Z)}
149
- `),process.exitCode=2}}function NE($,w){return[`Installed ${$.packageName}@${$.version} (${$.scope})`,`Requested: ${$.requested}`,`Tools: ${$.tools.length>0?$.tools.slice().sort().join(", "):"none"}`,`Lifecycle scripts: ${w?"enabled":"disabled"}`,"Restart CodeN to use npm plugin changes.",""].join(`
150
- `)}function KE($,w,Z){let W=w.slice().sort((X,Y)=>X.packageName.localeCompare(Y.packageName)).map((X)=>`${X.packageName}@${X.version}`);return[`Synced ${$} plugins: ${W.join(", ")||"none"}`,`Lifecycle scripts: ${Z?"enabled":"disabled"}`,"Restart CodeN to use npm plugin changes.",""].join(`
151
- `)}function BE($,w){let Z=[];if(!w.global)Z.push(fz("Project plugins",$.project));if(!w.project)Z.push(fz("Global plugins",$.global));return`${Z.join(`
248
+ `)})),W.command("list").option("--project","show only project plugins").option("--global","show only user-global plugins").action((Z)=>NW(w,async()=>{if(Z.project&&Z.global)throw Error("plugin list accepts only one of --project or --global");let X=await w.service.list();w.stdout.write(cL(X,Z))})),W.command("sync").option("--global","sync the user-global plugin runtime").option("--allow-scripts","allow npm lifecycle scripts with full user permissions during dependency install").option("--yes","skip confirmation prompts").action((Z)=>NW(w,async()=>{let X=EX(Z);if(!await LX(w,"Sync",`${X.scope} plugins`,Z))return;let Y=await w.service.sync(X);w.stdout.write(lL(X.scope,Y,X.allowScripts))}))}function EX($){return{scope:$.global?"global":"project",allowScripts:$.allowScripts===!0}}async function LX($,w,W,Z){if(!Z.yes){if(!await $.confirm(`${w} ${W}? npm plugins run with full process permissions; validation imports plugin top-level code with full permissions. Continue?`))return!1}if(Z.allowScripts){if($.stderr.write(`Warning: --allow-scripts lets this package and transitive dependencies run lifecycle scripts with your user permissions.
249
+ `),!Z.yes){if(!await $.confirm("Allow npm lifecycle scripts to run with full user permissions?"))return!1}}return!0}async function NW($,w){try{await w()}catch(W){$.stderr.write(`coden: ${dL(W)}
250
+ `),process.exitCode=2}}function mL($,w){return[`Installed ${$.packageName}@${$.version} (${$.scope})`,`Requested: ${$.requested}`,`Tools: ${$.tools.length>0?$.tools.slice().sort().join(", "):"none"}`,`Lifecycle scripts: ${w?"enabled":"disabled"}`,"Restart CodeN to use npm plugin changes.",""].join(`
251
+ `)}function lL($,w,W){let Z=w.slice().sort((X,Y)=>X.packageName.localeCompare(Y.packageName)).map((X)=>`${X.packageName}@${X.version}`);return[`Synced ${$} plugins: ${Z.join(", ")||"none"}`,`Lifecycle scripts: ${W?"enabled":"disabled"}`,"Restart CodeN to use npm plugin changes.",""].join(`
252
+ `)}function cL($,w){let W=[];if(!w.global)W.push(uM("Project plugins",$.project));if(!w.project)W.push(uM("Global plugins",$.global));return`${W.join(`
152
253
  `)}
153
- `}function fz($,w){let Z=w.slice().sort((X,Y)=>X.packageName.localeCompare(Y.packageName));if(Z.length===0)return`${$}: none
154
- `;let W=Z.map((X)=>{let Y=X.shadowedByProject?" (shadowed by project)":"";return` ${X.packageName}@${X.version} requested ${X.requested}; ${X.tools.length} tool(s)${Y}`});return`${$}:
155
- ${W.join(`
254
+ `}function uM($,w){let W=w.slice().sort((X,Y)=>X.packageName.localeCompare(Y.packageName));if(W.length===0)return`${$}: none
255
+ `;let Z=W.map((X)=>{let Y=X.shadowedByProject?" (shadowed by project)":"";return` ${X.packageName}@${X.version} requested ${X.requested}; ${X.tools.length} tool(s)${Y}`});return`${$}:
256
+ ${Z.join(`
156
257
  `)}
157
- `}function VE($){let w=$ instanceof Error?$.message:String($);for(let Z of Object.values(process.env)){if(!Z||Z.length<8)continue;w=w.split(Z).join("[redacted]")}return w}function FE($={}){let w=$.confirm??EE,Z=$.pluginService??OE(w),W=new eW().name("coden").description("CodeN \u2014 a minimal coding agent").version(XJ).argument("[prompt]","task to execute").option("-p, --print","non-interactive print mode",!1).option("--provider <provider>","openai or anthropic",Ez).option("--model <model-id>","model identifier").option("--resume [session-id]","resume a previous session, or list sessions when no id is given").option("--auto","skip permission and project-plugin confirmations",!1).option("--verbose","show detailed runtime status",!1).option("--max-steps <number>","maximum model steps",Lz).option("--plugin <path>","additional local TypeScript plugin or directory",Dz,[]).action((X,Y)=>Hz(X,Y));return kz(W,{service:Z,confirm:w,stdout:process.stdout,stderr:process.stderr}),W}function OE($){let w=process.cwd(),Z=new G5(w,ZX(),new t6,new oZ,WJ()),W=new p6(qE.join(wX(),"trusted-workspaces.json"));return new Sz(Z,w,W,$)}class Sz{service;workspace;trustStore;confirm;constructor($,w,Z,W){this.service=$;this.workspace=w;this.trustStore=Z;this.confirm=W}async install($,w){if(w.scope==="project")await this.ensureProjectTrust();return this.service.install($,w)}async remove($,w){return this.service.remove($,w)}async sync($){if($.scope==="project")await this.ensureProjectTrust();return this.service.sync($)}async list(){return this.service.list()}async ensureProjectTrust(){let $=await PE(this.workspace);if(await this.trustStore.isWorkspaceTrusted($))return;if(!await this.confirm(`Project npm plugins in ${$} run in-process with full user permissions. Trust this workspace?`))throw Error("workspace is not trusted for project npm plugins");await this.trustStore.trustWorkspace($)}}async function EE($){let w=UE({input:process.stdin,output:process.stderr});try{let Z=await w.question(`${$} [y/N] `);return/^y(?:es)?$/i.test(Z)}finally{w.close()}}function LE(){let $=process.argv[1];if(!$)return!1;try{return Az(HE(import.meta.url))===Az($)}catch{return!1}}if(LE())FE().parseAsync().catch(($)=>{process.stderr.write(`coden: ${$ instanceof Error?$.message:String($)}
158
- `),process.exitCode=$ instanceof Ow?2:1});export{FE as createCliProgram};
258
+ `}function dL($){let w=$ instanceof Error?$.message:String($);for(let W of Object.values(process.env)){if(!W||W.length<8)continue;w=w.split(W).join("[redacted]")}return w}function sL($={}){let w=$.confirm??oL,W=$.pluginService??aL(w),Z=new cX().name("coden").description("CodeN \u2014 a minimal coding agent").version(rJ).argument("[prompt]","task to execute").option("-p, --print","non-interactive print mode",!1).option("--provider <provider>","openai or anthropic",_M).option("--model <model-id>","model identifier").option("--resume [session-id]","resume a previous session, or list sessions when no id is given").option("--auto","skip permission and project-plugin confirmations",!1).option("--verbose","show detailed runtime status",!1).option("--max-steps <number>","maximum model steps",gM).option("--plugin <path>","additional local TypeScript plugin or directory",vM,[]).action((X,Y)=>IM(X,Y));return hM(Z,{service:W,confirm:w,stdout:process.stdout,stderr:process.stderr}),Z}function aL($){let w=process.cwd(),W=new v5(w,pX(),new kW,new C5,tJ()),Z=new LW(pL.join(nX(),"trusted-workspaces.json"));return new mM(W,w,Z,$)}class mM{service;workspace;trustStore;confirm;constructor($,w,W,Z){this.service=$;this.workspace=w;this.trustStore=W;this.confirm=Z}async install($,w){if(w.scope==="project")await this.ensureProjectTrust();return this.service.install($,w)}async remove($,w){return this.service.remove($,w)}async sync($){if($.scope==="project")await this.ensureProjectTrust();return this.service.sync($)}async list(){return this.service.list()}async ensureProjectTrust(){let $=await nL(this.workspace);if(await this.trustStore.isWorkspaceTrusted($))return;if(!await this.confirm(`Project npm plugins in ${$} run in-process with full user permissions. Trust this workspace?`))throw Error("workspace is not trusted for project npm plugins");await this.trustStore.trustWorkspace($)}}async function oL($){let w=tL({input:process.stdin,output:process.stderr});try{let W=await w.question(`${$} [y/N] `);return/^y(?:es)?$/i.test(W)}finally{w.close()}}function eL(){let $=process.argv[1];if(!$)return!1;try{return iM(rL(import.meta.url))===iM($)}catch{return!1}}if(eL())sL().parseAsync().catch(($)=>{process.stderr.write(`coden: ${$ instanceof Error?$.message:String($)}
259
+ `),process.exitCode=$ instanceof uw?2:1});export{sL as createCliProgram};