@twinklerg/coden 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/index.js +199 -186
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,190 +1,190 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// @bun
|
|
3
|
-
import{createRequire as
|
|
4
|
-
`)}displayWidth($){return
|
|
5
|
-
`+" ".repeat(w+J));return
|
|
6
|
-
${
|
|
7
|
-
`)}}function
|
|
3
|
+
import{createRequire as VQ}from"node:module";var fQ=Object.create;var{getPrototypeOf:QQ,defineProperty:u3,getOwnPropertyNames:NQ}=Object;var zQ=Object.prototype.hasOwnProperty;function KQ($){return this[$]}var PQ,BQ,c$=($,w,G)=>{var W=$!=null&&typeof $==="object";if(W){var Y=w?PQ??=new WeakMap:BQ??=new WeakMap,Z=Y.get($);if(Z)return Z}G=$!=null?fQ(QQ($)):{};let X=w||!$||!$.__esModule?u3(G,"default",{value:$,enumerable:!0}):G;for(let J of NQ($))if(!zQ.call(X,J))u3(X,J,{get:KQ.bind($,J),enumerable:!0});if(W)Y.set($,X);return X};var L=($,w)=>()=>(w||$((w={exports:{}}).exports,w),w.exports);var nw=VQ(import.meta.url);var pw=L((qQ)=>{class U5 extends Error{constructor($,w,G){super(G);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=w,this.exitCode=$,this.nestedError=void 0}}class h3 extends U5{constructor($){super(1,"commander.invalidArgument",$);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}qQ.CommanderError=U5;qQ.InvalidArgumentError=h3});var Z8=L((OQ)=>{var{InvalidArgumentError:HQ}=pw();class i3{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,G)=>{if(!this.argChoices.includes(w))throw new HQ(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(w,G);return w},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function FQ($){let w=$.name()+($.variadic===!0?"...":"");return $.required?"<"+w+">":"["+w+"]"}OQ.Argument=i3;OQ.humanReadableArgName=FQ});var H5=L((AQ)=>{var{humanReadableArgName:kQ}=Z8();class m3{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),G=$._getHelpCommand();if(G&&!G._hidden)w.push(G);if(this.sortSubcommands)w.sort((W,Y)=>{return W.name().localeCompare(Y.name())});return w}compareOptions($,w){let G=(W)=>{return W.short?W.short.replace(/^-/,""):W.long.replace(/^--/,"")};return G($).localeCompare(G(w))}visibleOptions($){let w=$.options.filter((W)=>!W.hidden),G=$._getHelpOption();if(G&&!G.hidden){let W=G.short&&$._findOption(G.short),Y=G.long&&$._findOption(G.long);if(!W&&!Y)w.push(G);else if(G.long&&!Y)w.push($.createOption(G.long,G.description));else if(G.short&&!W)w.push($.createOption(G.short,G.description))}if(this.sortOptions)w.sort(this.compareOptions);return w}visibleGlobalOptions($){if(!this.showGlobalOptions)return[];let w=[];for(let G=$.parent;G;G=G.parent){let W=G.options.filter((Y)=>!Y.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((G)=>kQ(G)).join(" ");return $._name+($._aliases[0]?"|"+$._aliases[0]:"")+($.options.length?" [options]":"")+(w?" "+w:"")}optionTerm($){return $.flags}argumentTerm($){return $.name()}longestSubcommandTermLength($,w){return w.visibleCommands($).reduce((G,W)=>{return Math.max(G,this.displayWidth(w.styleSubcommandTerm(w.subcommandTerm(W))))},0)}longestOptionTermLength($,w){return w.visibleOptions($).reduce((G,W)=>{return Math.max(G,this.displayWidth(w.styleOptionTerm(w.optionTerm(W))))},0)}longestGlobalOptionTermLength($,w){return w.visibleGlobalOptions($).reduce((G,W)=>{return Math.max(G,this.displayWidth(w.styleOptionTerm(w.optionTerm(W))))},0)}longestArgumentTermLength($,w){return w.visibleArguments($).reduce((G,W)=>{return Math.max(G,this.displayWidth(w.styleArgumentTerm(w.argumentTerm(W))))},0)}commandUsage($){let w=$._name;if($._aliases[0])w=w+"|"+$._aliases[0];let G="";for(let W=$.parent;W;W=W.parent)G=W.name()+" "+G;return G+w+" "+$.usage()}commandDescription($){return $.description()}subcommandDescription($){return $.summary()||$.description()}optionDescription($){let w=[];if($.argChoices)w.push(`choices: ${$.argChoices.map((G)=>JSON.stringify(G)).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 G=`(${w.join(", ")})`;if($.description)return`${$.description} ${G}`;return G}return $.description}argumentDescription($){let w=[];if($.argChoices)w.push(`choices: ${$.argChoices.map((G)=>JSON.stringify(G)).join(", ")}`);if($.defaultValue!==void 0)w.push(`default: ${$.defaultValueDescription||JSON.stringify($.defaultValue)}`);if(w.length>0){let G=`(${w.join(", ")})`;if($.description)return`${$.description} ${G}`;return G}return $.description}formatItemList($,w,G){if(w.length===0)return[];return[G.styleTitle($),...w,""]}groupItems($,w,G){let W=new Map;return $.forEach((Y)=>{let Z=G(Y);if(!W.has(Z))W.set(Z,[])}),w.forEach((Y)=>{let Z=G(Y);if(!W.has(Z))W.set(Z,[]);W.get(Z).push(Y)}),W}formatHelp($,w){let G=w.padWidth($,w),W=w.helpWidth??80;function Y(f,Q){return w.formatItem(f,G,Q,w)}let Z=[`${w.styleTitle("Usage:")} ${w.styleUsage(w.commandUsage($))}`,""],X=w.commandDescription($);if(X.length>0)Z=Z.concat([w.boxWrap(w.styleCommandDescription(X),W),""]);let J=w.visibleArguments($).map((f)=>{return Y(w.styleArgumentTerm(w.argumentTerm(f)),w.styleArgumentDescription(w.argumentDescription(f)))});if(Z=Z.concat(this.formatItemList("Arguments:",J,w)),this.groupItems($.options,w.visibleOptions($),(f)=>f.helpGroupHeading??"Options:").forEach((f,Q)=>{let N=f.map((z)=>{return Y(w.styleOptionTerm(w.optionTerm(z)),w.styleOptionDescription(w.optionDescription(z)))});Z=Z.concat(this.formatItemList(Q,N,w))}),w.showGlobalOptions){let f=w.visibleGlobalOptions($).map((Q)=>{return Y(w.styleOptionTerm(w.optionTerm(Q)),w.styleOptionDescription(w.optionDescription(Q)))});Z=Z.concat(this.formatItemList("Global Options:",f,w))}return this.groupItems($.commands,w.visibleCommands($),(f)=>f.helpGroup()||"Commands:").forEach((f,Q)=>{let N=f.map((z)=>{return Y(w.styleSubcommandTerm(w.subcommandTerm(z)),w.styleSubcommandDescription(w.subcommandDescription(z)))});Z=Z.concat(this.formatItemList(Q,N,w))}),Z.join(`
|
|
4
|
+
`)}displayWidth($){return l3($).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,G,W){let Z=" ".repeat(2);if(!G)return Z+$;let X=$.padEnd(w+$.length-W.displayWidth($)),J=2,M=(this.helpWidth??80)-w-J-2,f;if(M<this.minWidthToWrap||W.preformatted(G))f=G;else f=W.boxWrap(G,M).replace(/\n/g,`
|
|
5
|
+
`+" ".repeat(w+J));return Z+X+" ".repeat(J)+f.replace(/\n/g,`
|
|
6
|
+
${Z}`)}boxWrap($,w){if(w<this.minWidthToWrap)return $;let G=$.split(/\r\n|\n/),W=/[\s]*[^\s]+/g,Y=[];return G.forEach((Z)=>{let X=Z.match(W);if(X===null){Y.push("");return}let J=[X.shift()],T=this.displayWidth(J[0]);X.forEach((M)=>{let f=this.displayWidth(M);if(T+f<=w){J.push(M),T+=f;return}Y.push(J.join(""));let Q=M.trimStart();J=[Q],T=this.displayWidth(Q)}),Y.push(J.join(""))}),Y.join(`
|
|
7
|
+
`)}}function l3($){let w=/\x1b\[\d*(;\d*)*m/g;return $.replace(w,"")}AQ.Help=m3;AQ.stripColor=l3});var F5=L((yQ)=>{var{InvalidArgumentError:jQ}=pw();class d3{constructor($,w){this.flags=$,this.description=w||"",this.required=$.includes("<"),this.optional=$.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test($),this.mandatory=!1;let G=CQ($);if(this.short=G.shortFlag,this.long=G.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,G)=>{if(!this.argChoices.includes(w))throw new jQ(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(w,G);return w},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return c3(this.name().replace(/^no-/,""));return c3(this.name())}helpGroup($){return this.helpGroupHeading=$,this}is($){return this.short===$||this.long===$}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class n3{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,G)=>{if(this.positiveOptions.has(G))this.dualOptions.add(G)})}valueFromOption($,w){let G=w.attributeName();if(!this.dualOptions.has(G))return!0;let W=this.negativeOptions.get(G).presetArg,Y=W!==void 0?W:!1;return w.negate===(Y===$)}}function c3($){return $.split("-").reduce((w,G)=>{return w+G[0].toUpperCase()+G.slice(1)})}function CQ($){let w,G,W=/^-[^-]$/,Y=/^--[^-]/,Z=$.split(/[ |,]+/).concat("guard");if(W.test(Z[0]))w=Z.shift();if(Y.test(Z[0]))G=Z.shift();if(!w&&W.test(Z[0]))w=Z.shift();if(!w&&Y.test(Z[0]))w=G,G=Z.shift();if(Z[0].startsWith("-")){let X=Z[0],J=`option creation failed due to '${X}' in option flags '${$}'`;if(/^-[^-][^-]/.test(X))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(
|
|
11
|
-
- too many short flags`);if(
|
|
10
|
+
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(W.test(X))throw Error(`${J}
|
|
11
|
+
- too many short flags`);if(Y.test(X))throw Error(`${J}
|
|
12
12
|
- too many long flags`);throw Error(`${J}
|
|
13
|
-
- unrecognised flag format`)}if(w===void 0&&
|
|
14
|
-
(Did you mean one of ${
|
|
15
|
-
(Did you mean ${
|
|
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
|
|
17
|
-
Expecting one of '${
|
|
18
|
-
- already used by option '${w.flags}'`)}this._initOptionGroup($),this.options.push($)}_registerCommand($){let w=(
|
|
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,
|
|
20
|
-
- if '${
|
|
13
|
+
- unrecognised flag format`)}if(w===void 0&&G===void 0)throw Error(`option creation failed due to no flags found in '${$}'.`);return{shortFlag:w,longFlag:G}}yQ.Option=d3;yQ.DualOptions=n3});var p3=L((gQ)=>{function xQ($,w){if(Math.abs($.length-w.length)>3)return Math.max($.length,w.length);let G=[];for(let W=0;W<=$.length;W++)G[W]=[W];for(let W=0;W<=w.length;W++)G[0][W]=W;for(let W=1;W<=w.length;W++)for(let Y=1;Y<=$.length;Y++){let Z=1;if($[Y-1]===w[W-1])Z=0;else Z=1;if(G[Y][W]=Math.min(G[Y-1][W]+1,G[Y][W-1]+1,G[Y-1][W-1]+Z),Y>1&&W>1&&$[Y-1]===w[W-2]&&$[Y-2]===w[W-1])G[Y][W]=Math.min(G[Y][W],G[Y-2][W-2]+1)}return G[$.length][w.length]}function _Q($,w){if(!w||w.length===0)return"";w=Array.from(new Set(w));let G=$.startsWith("--");if(G)$=$.slice(2),w=w.map((X)=>X.slice(2));let W=[],Y=3,Z=0.4;if(w.forEach((X)=>{if(X.length<=1)return;let J=xQ($,X),T=Math.max($.length,X.length);if((T-J)/T>Z){if(J<Y)Y=J,W=[X];else if(J===Y)W.push(X)}}),W.sort((X,J)=>X.localeCompare(J)),G)W=W.map((X)=>`--${X}`);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""}gQ.suggestSimilar=_Q});var a3=L((dQ)=>{var uQ=nw("node:events").EventEmitter,O5=nw("node:child_process"),K1=nw("node:path"),X8=nw("node:fs"),p=nw("node:process"),{Argument:hQ,humanReadableArgName:iQ}=Z8(),{CommanderError:L5}=pw(),{Help:mQ,stripColor:lQ}=H5(),{Option:t3,DualOptions:cQ}=F5(),{suggestSimilar:r3}=p3();class k5 extends uQ{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,G)=>G(w),getOutHelpWidth:()=>p.stdout.isTTY?p.stdout.columns:void 0,getErrHelpWidth:()=>p.stderr.isTTY?p.stderr.columns:void 0,getOutHasColors:()=>D5()??(p.stdout.isTTY&&p.stdout.hasColors?.()),getErrHasColors:()=>D5()??(p.stderr.isTTY&&p.stderr.hasColors?.()),stripColor:(w)=>lQ(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,G){let W=w,Y=G;if(typeof W==="object"&&W!==null)Y=W,W=null;Y=Y||{};let[,Z,X]=$.match(/([^ ]+) *(.*)/),J=this.createCommand(Z);if(W)J.description(W),J._executableHandler=!0;if(Y.isDefault)this._defaultCommandName=J._name;if(J._hidden=!!(Y.noHelp||Y.hidden),J._executableFile=Y.executableFile||null,X)J.arguments(X);if(this._registerCommand(J),J.parent=this,J.copyInheritedSettings(this),W)return this;return J}createCommand($){return new k5($)}createHelp(){return Object.assign(new mQ,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 hQ($,w)}argument($,w,G,W){let Y=this.createArgument($,w);if(typeof G==="function")Y.default(W).argParser(G);else Y.default(G);return this.addArgument(Y),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 G=$??"help [command]",[,W,Y]=G.match(/([^ ]+) *(.*)/),Z=w??"display help for command",X=this.createCommand(W);if(X.helpOption(!1),Y)X.arguments(Y);if(Z)X.description(Z);if(this._addImplicitHelpCommand=!0,this._helpCommand=X,$||w)this._initCommandGroup(X);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 G=["preSubcommand","preAction","postAction"];if(!G.includes($))throw Error(`Unexpected value for event passed to hook : '${$}'.
|
|
17
|
+
Expecting one of '${G.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,G){if(this._exitCallback)this._exitCallback(new L5($,w,G));p.exit($)}action($){let w=(G)=>{let W=this.registeredArguments.length,Y=G.slice(0,W);if(this._storeOptionsAsProperties)Y[W]=this;else Y[W]=this.opts();return Y.push(this),$.apply(this,Y)};return this._actionHandler=w,this}createOption($,w){return new t3($,w)}_callParseArg($,w,G,W){try{return $.parseArg(w,G)}catch(Y){if(Y.code==="commander.invalidArgument"){let Z=`${W} ${Y.message}`;this.error(Z,{exitCode:Y.exitCode,code:Y.code})}throw Y}}_registerOption($){let w=$.short&&this._findOption($.short)||$.long&&this._findOption($.long);if(w){let G=$.long&&this._findOption($.long)?$.long:$.short;throw Error(`Cannot add option '${$.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${G}'
|
|
18
|
+
- already used by option '${w.flags}'`)}this._initOptionGroup($),this.options.push($)}_registerCommand($){let w=(W)=>{return[W.name()].concat(W.aliases())},G=w($).find((W)=>this._findCommand(W));if(G){let W=w(this._findCommand(G)).join("|"),Y=w($).join("|");throw Error(`cannot add command '${Y}' as already have command '${W}'`)}this._initCommandGroup($),this.commands.push($)}addOption($){this._registerOption($);let w=$.name(),G=$.attributeName();if($.negate){let Y=$.long.replace(/^--no-/,"--");if(!this._findOption(Y))this.setOptionValueWithSource(G,$.defaultValue===void 0?!0:$.defaultValue,"default")}else if($.defaultValue!==void 0)this.setOptionValueWithSource(G,$.defaultValue,"default");let W=(Y,Z,X)=>{if(Y==null&&$.presetArg!==void 0)Y=$.presetArg;let J=this.getOptionValue(G);if(Y!==null&&$.parseArg)Y=this._callParseArg($,Y,J,Z);else if(Y!==null&&$.variadic)Y=$._collectValue(Y,J);if(Y==null)if($.negate)Y=!1;else if($.isBoolean()||$.optional)Y=!0;else Y="";this.setOptionValueWithSource(G,Y,X)};if(this.on("option:"+w,(Y)=>{let Z=`error: option '${$.flags}' argument '${Y}' is invalid.`;W(Y,Z,"cli")}),$.envVar)this.on("optionEnv:"+w,(Y)=>{let Z=`error: option '${$.flags}' value '${Y}' from env '${$.envVar}' is invalid.`;W(Y,Z,"env")});return this}_optionEx($,w,G,W,Y){if(typeof w==="object"&&w instanceof t3)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let Z=this.createOption(w,G);if(Z.makeOptionMandatory(!!$.mandatory),typeof W==="function")Z.default(Y).argParser(W);else if(W instanceof RegExp){let X=W;W=(J,T)=>{let M=X.exec(J);return M?M[0]:T},Z.default(Y).argParser(W)}else Z.default(W);return this.addOption(Z)}option($,w,G,W){return this._optionEx({},$,w,G,W)}requiredOption($,w,G,W){return this._optionEx({mandatory:!0},$,w,G,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,G){if(this._storeOptionsAsProperties)this[$]=w;else this._optionValues[$]=w;return this._optionValueSources[$]=G,this}getOptionValueSource($){return this._optionValueSources[$]}getOptionValueSourceWithGlobals($){let w;return this._getCommandAndAncestors().forEach((G)=>{if(G.getOptionValueSource($)!==void 0)w=G.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 G;switch(w.from){case void 0:case"node":this._scriptPath=$[1],G=$.slice(2);break;case"electron":if(p.defaultApp)this._scriptPath=$[1],G=$.slice(2);else G=$.slice(1);break;case"user":G=$.slice(0);break;case"eval":G=$.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",G}parse($,w){this._prepareForParse();let G=this._prepareUserArgs($,w);return this._parseCommand([],G),this}async parseAsync($,w){this._prepareForParse();let G=this._prepareUserArgs($,w);return await this._parseCommand([],G),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,G){if(X8.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",Y=`'${$}' does not exist
|
|
20
|
+
- if '${G}' 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
|
-
- ${
|
|
22
|
+
- ${W}`;throw Error(Y)}_executeSubCommand($,w){w=w.slice();let G=!1,W=[".js",".ts",".tsx",".mjs",".cjs"];function Y(M,f){let Q=K1.resolve(M,f);if(X8.existsSync(Q))return Q;if(W.includes(K1.extname(f)))return;let N=W.find((z)=>X8.existsSync(`${Q}${z}`));if(N)return`${Q}${N}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Z=$._executableFile||`${this._name}-${$._name}`,X=this._executableDir||"";if(this._scriptPath){let M;try{M=X8.realpathSync(this._scriptPath)}catch{M=this._scriptPath}X=K1.resolve(K1.dirname(M),X)}if(X){let M=Y(X,Z);if(!M&&!$._executableFile&&this._scriptPath){let f=K1.basename(this._scriptPath,K1.extname(this._scriptPath));if(f!==this._name)M=Y(X,`${f}-${$._name}`)}Z=M||Z}G=W.includes(K1.extname(Z));let J;if(p.platform!=="win32")if(G)w.unshift(Z),w=s3(p.execArgv).concat(w),J=O5.spawn(p.argv[0],w,{stdio:"inherit"});else J=O5.spawn(Z,w,{stdio:"inherit"});else this._checkForMissingExecutable(Z,X,$._name),w.unshift(Z),w=s3(p.execArgv).concat(w),J=O5.spawn(p.execPath,w,{stdio:"inherit"});if(!J.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((f)=>{p.on(f,()=>{if(J.killed===!1&&J.exitCode===null)J.kill(f)})});let T=this._exitCallback;J.on("close",(M)=>{if(M=M??1,!T)p.exit(M);else T(new L5(M,"commander.executeSubCommandAsync","(close)"))}),J.on("error",(M)=>{if(M.code==="ENOENT")this._checkForMissingExecutable(Z,X,$._name);else if(M.code==="EACCES")throw Error(`'${Z}' not executable`);if(!T)p.exit(1);else{let f=new L5(1,"commander.executeSubCommandAsync","(error)");f.nestedError=M,T(f)}}),this.runningCommand=J}_dispatchSubcommand($,w,G){let W=this._findCommand($);if(!W)this.help({error:!0});W._prepareForParse();let Y;return Y=this._chainOrCallSubCommandHook(Y,W,"preSubcommand"),Y=this._chainOrCall(Y,()=>{if(W._executableHandler)this._executeSubCommand(W,w.concat(G));else return W._parseCommand(w,G)}),Y}_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 $=(G,W,Y)=>{let Z=W;if(W!==null&&G.parseArg){let X=`error: command-argument value '${W}' is invalid for argument '${G.name()}'.`;Z=this._callParseArg(G,W,Y,X)}return Z};this._checkNumberOfArguments();let w=[];this.registeredArguments.forEach((G,W)=>{let Y=G.defaultValue;if(G.variadic){if(W<this.args.length){if(Y=this.args.slice(W),G.parseArg)Y=Y.reduce((Z,X)=>{return $(G,X,Z)},G.defaultValue)}else if(Y===void 0)Y=[]}else if(W<this.args.length){if(Y=this.args[W],G.parseArg)Y=$(G,Y,G.defaultValue)}w[W]=Y}),this.processedArgs=w}_chainOrCall($,w){if($?.then&&typeof $.then==="function")return $.then(()=>w());return w()}_chainOrCallHooks($,w){let G=$,W=[];if(this._getCommandAndAncestors().reverse().filter((Y)=>Y._lifeCycleHooks[w]!==void 0).forEach((Y)=>{Y._lifeCycleHooks[w].forEach((Z)=>{W.push({hookedCommand:Y,callback:Z})})}),w==="postAction")W.reverse();return W.forEach((Y)=>{G=this._chainOrCall(G,()=>{return Y.callback(Y.hookedCommand,this)})}),G}_chainOrCallSubCommandHook($,w,G){let W=$;if(this._lifeCycleHooks[G]!==void 0)this._lifeCycleHooks[G].forEach((Y)=>{W=this._chainOrCall(W,()=>{return Y(this,w)})});return W}_parseCommand($,w){let G=this.parseOptions(w);if(this._parseOptionsEnv(),this._parseOptionsImplied(),$=$.concat(G.operands),w=G.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(G.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let W=()=>{if(G.unknown.length>0)this.unknownOption(G.unknown[0])},Y=`command:${this.name()}`;if(this._actionHandler){W(),this._processArguments();let Z;if(Z=this._chainOrCallHooks(Z,"preAction"),Z=this._chainOrCall(Z,()=>this._actionHandler(this.processedArgs)),this.parent)Z=this._chainOrCall(Z,()=>{this.parent.emit(Y,$,w)});return Z=this._chainOrCallHooks(Z,"postAction"),Z}if(this.parent?.listenerCount(Y))W(),this._processArguments(),this.parent.emit(Y,$,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((G)=>{let W=G.attributeName();if(this.getOptionValue(W)===void 0)return!1;return this.getOptionValueSource(W)!=="default"});$.filter((G)=>G.conflictsWith.length>0).forEach((G)=>{let W=$.find((Y)=>G.conflictsWith.includes(Y.attributeName()));if(W)this._conflictingOption(G,W)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(($)=>{$._checkForConflictingLocalOptions()})}parseOptions($){let w=[],G=[],W=w;function Y(M){return M.length>1&&M[0]==="-"}let Z=(M)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(M))return!1;return!this._getCommandAndAncestors().some((f)=>f.options.map((Q)=>Q.short).some((Q)=>/^-\d$/.test(Q)))},X=null,J=null,T=0;while(T<$.length||J){let M=J??$[T++];if(J=null,M==="--"){if(W===G)W.push(M);W.push(...$.slice(T));break}if(X&&(!Y(M)||Z(M))){this.emit(`option:${X.name()}`,M);continue}if(X=null,Y(M)){let f=this._findOption(M);if(f){if(f.required){let Q=$[T++];if(Q===void 0)this.optionMissingArgument(f);this.emit(`option:${f.name()}`,Q)}else if(f.optional){let Q=null;if(T<$.length&&(!Y($[T])||Z($[T])))Q=$[T++];this.emit(`option:${f.name()}`,Q)}else this.emit(`option:${f.name()}`);X=f.variadic?f:null;continue}}if(M.length>2&&M[0]==="-"&&M[1]!=="-"){let f=this._findOption(`-${M[1]}`);if(f){if(f.required||f.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${f.name()}`,M.slice(2));else this.emit(`option:${f.name()}`),J=`-${M.slice(2)}`;continue}}if(/^--[^=]+=/.test(M)){let f=M.indexOf("="),Q=this._findOption(M.slice(0,f));if(Q&&(Q.required||Q.optional)){this.emit(`option:${Q.name()}`,M.slice(f+1));continue}}if(W===w&&Y(M)&&!(this.commands.length===0&&Z(M)))W=G;if((this._enablePositionalOptions||this._passThroughOptions)&&w.length===0&&G.length===0){if(this._findCommand(M)){w.push(M),G.push(...$.slice(T));break}else if(this._getHelpCommand()&&M===this._getHelpCommand().name()){w.push(M,...$.slice(T));break}else if(this._defaultCommandName){G.push(M,...$.slice(T));break}}if(this._passThroughOptions){W.push(M,...$.slice(T));break}W.push(M)}return{operands:w,unknown:G}}opts(){if(this._storeOptionsAsProperties){let $={},w=this.options.length;for(let G=0;G<w;G++){let W=this.options[G].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(`${$}
|
|
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
|
|
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
|
|
27
|
-
Expecting one of '${
|
|
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
|
-
|| (${
|
|
31
|
-
|| (${
|
|
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: ${
|
|
25
|
+
`),this.outputHelp({error:!0});let G=w||{},W=G.exitCode||1,Y=G.code||"commander.error";this._exit(W,Y,$)}_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 cQ(this.options),w=(G)=>{return this.getOptionValue(G)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(G))};this.options.filter((G)=>G.implied!==void 0&&w(G.attributeName())&&$.valueFromOption(this.getOptionValue(G.attributeName()),G)).forEach((G)=>{Object.keys(G.implied).filter((W)=>!w(W)).forEach((W)=>{this.setOptionValueWithSource(W,G.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 G=(Z)=>{let X=Z.attributeName(),J=this.getOptionValue(X),T=this.options.find((f)=>f.negate&&X===f.attributeName()),M=this.options.find((f)=>!f.negate&&X===f.attributeName());if(T&&(T.presetArg===void 0&&J===!1||T.presetArg!==void 0&&J===T.presetArg))return T;return M||Z},W=(Z)=>{let X=G(Z),J=X.attributeName();if(this.getOptionValueSource(J)==="env")return`environment variable '${X.envVar}'`;return`option '${X.flags}'`},Y=`error: ${W($)} cannot be used with ${W(w)}`;this.error(Y,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let w="";if($.startsWith("--")&&this._showSuggestionAfterError){let W=[],Y=this;do{let Z=Y.createHelp().visibleOptions(Y).filter((X)=>X.long).map((X)=>X.long);W=W.concat(Z),Y=Y.parent}while(Y&&!Y._enablePositionalOptions);w=r3($,W)}let G=`error: unknown option '${$}'${w}`;this.error(G,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let w=this.registeredArguments.length,G=w===1?"":"s",Y=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${w} argument${G} but got ${$.length}.`;this.error(Y,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],w="";if(this._showSuggestionAfterError){let W=[];this.createHelp().visibleCommands(this).forEach((Y)=>{if(W.push(Y.name()),Y.alias())W.push(Y.alias())}),w=r3($,W)}let G=`error: unknown command '${$}'${w}`;this.error(G,{code:"commander.unknownCommand"})}version($,w,G){if($===void 0)return this._version;this._version=$,w=w||"-V, --version",G=G||"output the version number";let W=this.createOption(w,G);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 G=this.parent?._findCommand($);if(G){let W=[G.name()].concat(G.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((G)=>{return iQ(G)});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=K1.basename($,K1.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let w=this.createHelp(),G=this._getOutputContext($);w.prepareContext({error:G.error,helpWidth:G.helpWidth,outputHasColors:G.hasColors});let W=w.formatHelp(this,w);if(G.hasColors)return W;return this._outputConfiguration.stripColor(W)}_getOutputContext($){$=$||{};let w=!!$.error,G,W,Y;if(w)G=(X)=>this._outputConfiguration.writeErr(X),W=this._outputConfiguration.getErrHasColors(),Y=this._outputConfiguration.getErrHelpWidth();else G=(X)=>this._outputConfiguration.writeOut(X),W=this._outputConfiguration.getOutHasColors(),Y=this._outputConfiguration.getOutHelpWidth();return{error:w,write:(X)=>{if(!W)X=this._outputConfiguration.stripColor(X);return G(X)},hasColors:W,helpWidth:Y}}outputHelp($){let w;if(typeof $==="function")w=$,$=void 0;let G=this._getOutputContext($),W={error:G.error,write:G.write,command:this};this._getCommandAndAncestors().reverse().forEach((Z)=>Z.emit("beforeAllHelp",W)),this.emit("beforeHelp",W);let Y=this.helpInformation({error:G.error});if(w){if(Y=w(Y),typeof Y!=="string"&&!Buffer.isBuffer(Y))throw Error("outputHelp callback must return a string or a Buffer")}if(G.write(Y),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",W),this._getCommandAndAncestors().forEach((Z)=>Z.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 G=["beforeAll","before","after","afterAll"];if(!G.includes($))throw Error(`Unexpected value for position to addHelpText.
|
|
27
|
+
Expecting one of '${G.join("', '")}'`);let W=`${$}Help`;return this.on(W,(Y)=>{let Z;if(typeof w==="function")Z=w({error:Y.error,command:Y.command});else Z=w;if(Z)Y.write(`${Z}
|
|
28
|
+
`)}),this}_outputHelpIfRequested($){let w=this._getHelpOption();if(w&&$.find((W)=>w.is(W)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function s3($){return $.map((w)=>{if(!w.startsWith("--inspect"))return w;let G,W="127.0.0.1",Y="9229",Z;if((Z=w.match(/^(--inspect(-brk)?)$/))!==null)G=Z[1];else if((Z=w.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(G=Z[1],/^\d+$/.test(Z[3]))Y=Z[3];else W=Z[3];else if((Z=w.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)G=Z[1],W=Z[3],Y=Z[4];if(G&&Y!=="0")return`${G}=${W}:${parseInt(Y)+1}`;return w})}function D5(){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}dQ.Command=k5;dQ.useColor=D5});var S5=L((sQ)=>{var{Argument:o3}=Z8(),{Command:A5}=a3(),{CommanderError:tQ,InvalidArgumentError:e3}=pw(),{Help:rQ}=H5(),{Option:$Y}=F5();sQ.program=new A5;sQ.createCommand=($)=>new A5($);sQ.createOption=($,w)=>new $Y($,w);sQ.createArgument=($,w)=>new o3($,w);sQ.Command=A5;sQ.Option=$Y;sQ.Argument=o3;sQ.Help=rQ;sQ.CommanderError=tQ;sQ.InvalidArgumentError=e3;sQ.InvalidOptionArgumentError=e3});var rw=L((MY)=>{Object.defineProperty(MY,"__esModule",{value:!0});MY.regexpCode=MY.getEsmExportName=MY.getProperty=MY.safeStringify=MY.stringify=MY.strConcat=MY.addCodeArg=MY.str=MY._=MY.nil=MY._Code=MY.Name=MY.IDENTIFIER=MY._CodeOrName=void 0;class M8{}MY._CodeOrName=M8;MY.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n$ extends M8{constructor($){super();if(!MY.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}}}MY.Name=n$;class n0 extends M8{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,G)=>`${w}${G}`,"")}get names(){var $;return($=this._names)!==null&&$!==void 0?$:this._names=this._items.reduce((w,G)=>{if(G instanceof n$)w[G.str]=(w[G.str]||0)+1;return w},{})}}MY._Code=n0;MY.nil=new n0("");function JY($,...w){let G=[$[0]],W=0;while(W<w.length)I5(G,w[W]),G.push($[++W]);return new n0(G)}MY._=JY;var y5=new n0("+");function TY($,...w){let G=[tw($[0])],W=0;while(W<w.length)G.push(y5),I5(G,w[W]),G.push(y5,tw($[++W]));return KN(G),new n0(G)}MY.str=TY;function I5($,w){if(w instanceof n0)$.push(...w._items);else if(w instanceof n$)$.push(w);else $.push(VN(w))}MY.addCodeArg=I5;function KN($){let w=1;while(w<$.length-1){if($[w]===y5){let G=PN($[w-1],$[w+1]);if(G!==void 0){$.splice(w-1,3,G);continue}$[w++]="+"}w++}}function PN($,w){if(w==='""')return $;if($==='""')return w;if(typeof $=="string"){if(w instanceof n$||$[$.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 n$))return`"${$}${w.slice(1)}`;return}function BN($,w){return w.emptyStr()?$:$.emptyStr()?w:TY`${$}${w}`}MY.strConcat=BN;function VN($){return typeof $=="number"||typeof $=="boolean"||$===null?$:tw(Array.isArray($)?$.join(","):$)}function qN($){return new n0(tw($))}MY.stringify=qN;function tw($){return JSON.stringify($).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}MY.safeStringify=tw;function EN($){return typeof $=="string"&&MY.IDENTIFIER.test($)?new n0(`.${$}`):JY`[${$}]`}MY.getProperty=EN;function UN($){if(typeof $=="string"&&MY.IDENTIFIER.test($))return new n0(`${$}`);throw Error(`CodeGen: invalid export name: ${$}, use explicit $id name mapping`)}MY.getEsmExportName=UN;function HN($){return new n0($.toString())}MY.regexpCode=HN});var g5=L((zY)=>{Object.defineProperty(zY,"__esModule",{value:!0});zY.ValueScope=zY.ValueScopeName=zY.Scope=zY.varKinds=zY.UsedValueState=void 0;var D0=rw();class QY extends Error{constructor($){super(`CodeGen: "code" for ${$} not defined`);this.value=$.value}}var Q8;(function($){$[$.Started=0]="Started",$[$.Completed=1]="Completed"})(Q8||(zY.UsedValueState=Q8={}));zY.varKinds={const:new D0.Name("const"),let:new D0.Name("let"),var:new D0.Name("var")};class x5{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,G;if(((G=(w=this._parent)===null||w===void 0?void 0:w._prefixes)===null||G===void 0?void 0:G.has($))||this._prefixes&&!this._prefixes.has($))throw Error(`CodeGen: prefix "${$}" is not allowed in this scope`);return this._names[$]={prefix:$,index:0}}}zY.Scope=x5;class _5 extends D0.Name{constructor($,w){super(w);this.prefix=$}setValue($,{property:w,itemIndex:G}){this.value=$,this.scopePath=D0._`.${new D0.Name(w)}[${G}]`}}zY.ValueScopeName=_5;var bN=D0._`\n`;class NY extends x5{constructor($){super($);this._values={},this._scope=$.scope,this.opts={...$,_n:$.lines?bN:D0.nil}}get(){return this._scope}name($){return new _5($,this._newName($))}value($,w){var G;if(w.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName($),{prefix:Y}=W,Z=(G=w.key)!==null&&G!==void 0?G:w.ref,X=this._values[Y];if(X){let M=X.get(Z);if(M)return M}else X=this._values[Y]=new Map;X.set(Z,W);let J=this._scope[Y]||(this._scope[Y]=[]),T=J.length;return J[T]=w.ref,W.setValue(w,{property:Y,itemIndex:T}),W}getValue($,w){let G=this._values[$];if(!G)return;return G.get(w)}scopeRefs($,w=this._values){return this._reduceValues(w,(G)=>{if(G.scopePath===void 0)throw Error(`CodeGen: name "${G}" has no value`);return D0._`${$}${G.scopePath}`})}scopeCode($=this._values,w,G){return this._reduceValues($,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},w,G)}_reduceValues($,w,G={},W){let Y=D0.nil;for(let Z in $){let X=$[Z];if(!X)continue;let J=G[Z]=G[Z]||new Map;X.forEach((T)=>{if(J.has(T))return;J.set(T,Q8.Started);let M=w(T);if(M){let f=this.opts.es5?zY.varKinds.var:zY.varKinds.const;Y=D0._`${Y}${f} ${T} = ${M};${this.opts._n}`}else if(M=W===null||W===void 0?void 0:W(T))Y=D0._`${Y}${M}${this.opts._n}`;else throw new QY(T);J.set(T,Q8.Completed)})}return Y}}zY.ValueScope=NY});var i=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=rw(),p0=g5(),_1=rw();Object.defineProperty(k0,"_",{enumerable:!0,get:function(){return _1._}});Object.defineProperty(k0,"str",{enumerable:!0,get:function(){return _1.str}});Object.defineProperty(k0,"strConcat",{enumerable:!0,get:function(){return _1.strConcat}});Object.defineProperty(k0,"nil",{enumerable:!0,get:function(){return _1.nil}});Object.defineProperty(k0,"getProperty",{enumerable:!0,get:function(){return _1.getProperty}});Object.defineProperty(k0,"stringify",{enumerable:!0,get:function(){return _1.stringify}});Object.defineProperty(k0,"regexpCode",{enumerable:!0,get:function(){return _1.regexpCode}});Object.defineProperty(k0,"Name",{enumerable:!0,get:function(){return _1.Name}});var V8=g5();Object.defineProperty(k0,"Scope",{enumerable:!0,get:function(){return V8.Scope}});Object.defineProperty(k0,"ValueScope",{enumerable:!0,get:function(){return V8.ValueScope}});Object.defineProperty(k0,"ValueScopeName",{enumerable:!0,get:function(){return V8.ValueScopeName}});Object.defineProperty(k0,"varKinds",{enumerable:!0,get:function(){return V8.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 g1{optimizeNodes(){return this}optimizeNames($,w){return this}}class PY extends g1{constructor($,w,G){super();this.varKind=$,this.name=w,this.rhs=G}render({es5:$,_n:w}){let G=$?p0.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${G} ${this.name}${W};`+w}optimizeNames($,w){if(!$[this.name.str])return;if(this.rhs)this.rhs=t$(this.rhs,$,w);return this}get names(){return this.rhs instanceof l._CodeOrName?this.rhs.names:{}}}class h5 extends g1{constructor($,w,G){super();this.lhs=$,this.rhs=w,this.sideEffects=G}render({_n:$}){return`${this.lhs} = ${this.rhs};`+$}optimizeNames($,w){if(this.lhs instanceof l.Name&&!$[this.lhs.str]&&!this.sideEffects)return;return this.rhs=t$(this.rhs,$,w),this}get names(){let $=this.lhs instanceof l.Name?{}:{...this.lhs.names};return B8($,this.rhs)}}class BY extends h5{constructor($,w,G,W){super($,G,W);this.op=w}render({_n:$}){return`${this.lhs} ${this.op}= ${this.rhs};`+$}}class VY extends g1{constructor($){super();this.label=$,this.names={}}render({_n:$}){return`${this.label}:`+$}}class qY extends g1{constructor($){super();this.label=$,this.names={}}render({_n:$}){return`break${this.label?` ${this.label}`:""};`+$}}class EY extends g1{constructor($){super();this.error=$}render({_n:$}){return`throw ${this.error};`+$}get names(){return this.error.names}}class UY extends g1{constructor($){super();this.code=$}render({_n:$}){return`${this.code};`+$}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames($,w){return this.code=t$(this.code,$,w),this}get names(){return this.code instanceof l._CodeOrName?this.code.names:{}}}class q8 extends g1{constructor($=[]){super();this.nodes=$}render($){return this.nodes.reduce((w,G)=>w+G.render($),"")}optimizeNodes(){let{nodes:$}=this,w=$.length;while(w--){let G=$[w].optimizeNodes();if(Array.isArray(G))$.splice(w,1,...G);else if(G)$[w]=G;else $.splice(w,1)}return $.length>0?this:void 0}optimizeNames($,w){let{nodes:G}=this,W=G.length;while(W--){let Y=G[W];if(Y.optimizeNames($,w))continue;vN($,Y.names),G.splice(W,1)}return G.length>0?this:void 0}get names(){return this.nodes.reduce(($,w)=>Y$($,w.names),{})}}class v1 extends q8{render($){return"{"+$._n+super.render($)+"}"+$._n}}class HY extends q8{}class sw extends v1{}sw.kind="else";class P1 extends v1{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 G=w.optimizeNodes();w=this.else=Array.isArray(G)?new sw(G):G}if(w){if($===!1)return w instanceof P1?w:w.nodes;if(this.nodes.length)return this;return new P1(kY($),w instanceof P1?[w]:w.nodes)}if($===!1||!this.nodes.length)return;return this}optimizeNames($,w){var G;if(this.else=(G=this.else)===null||G===void 0?void 0:G.optimizeNames($,w),!(super.optimizeNames($,w)||this.else))return;return this.condition=t$(this.condition,$,w),this}get names(){let $=super.names;if(B8($,this.condition),this.else)Y$($,this.else.names);return $}}P1.kind="if";class p$ extends v1{}p$.kind="for";class FY extends p${constructor($){super();this.iteration=$}render($){return`for(${this.iteration})`+super.render($)}optimizeNames($,w){if(!super.optimizeNames($,w))return;return this.iteration=t$(this.iteration,$,w),this}get names(){return Y$(super.names,this.iteration.names)}}class OY extends p${constructor($,w,G,W){super();this.varKind=$,this.name=w,this.from=G,this.to=W}render($){let w=$.es5?p0.varKinds.var:this.varKind,{name:G,from:W,to:Y}=this;return`for(${w} ${G}=${W}; ${G}<${Y}; ${G}++)`+super.render($)}get names(){let $=B8(super.names,this.from);return B8($,this.to)}}class v5 extends p${constructor($,w,G,W){super();this.loop=$,this.varKind=w,this.name=G,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=t$(this.iterable,$,w),this}get names(){return Y$(super.names,this.iterable.names)}}class N8 extends v1{constructor($,w,G){super();this.name=$,this.args=w,this.async=G}render($){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render($)}}N8.kind="func";class z8 extends q8{render($){return"return "+super.render($)}}z8.kind="return";class LY extends v1{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 G,W;return super.optimizeNames($,w),(G=this.catch)===null||G===void 0||G.optimizeNames($,w),(W=this.finally)===null||W===void 0||W.optimizeNames($,w),this}get names(){let $=super.names;if(this.catch)Y$($,this.catch.names);if(this.finally)Y$($,this.finally.names);return $}}class K8 extends v1{constructor($){super();this.error=$}render($){return`catch(${this.error})`+super.render($)}}K8.kind="catch";class P8 extends v1{render($){return"finally"+super.render($)}}P8.kind="finally";class DY{constructor($,w={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...w,_n:w.lines?`
|
|
29
|
+
`:""},this._extScope=$,this._scope=new p0.Scope({parent:$}),this._nodes=[new HY]}toString(){return this._root.render(this.opts)}name($){return this._scope.name($)}scopeName($){return this._extScope.name($)}scopeValue($,w){let G=this._extScope.value($,w);return(this._values[G.prefix]||(this._values[G.prefix]=new Set)).add(G),G}getScopeValue($,w){return this._extScope.getValue($,w)}scopeRefs($){return this._extScope.scopeRefs($,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def($,w,G,W){let Y=this._scope.toName(w);if(G!==void 0&&W)this._constants[Y.str]=G;return this._leafNode(new PY($,Y,G)),Y}const($,w,G){return this._def(p0.varKinds.const,$,w,G)}let($,w,G){return this._def(p0.varKinds.let,$,w,G)}var($,w,G){return this._def(p0.varKinds.var,$,w,G)}assign($,w,G){return this._leafNode(new h5($,w,G))}add($,w){return this._leafNode(new BY($,k0.operators.ADD,w))}code($){if(typeof $=="function")$();else if($!==l.nil)this._leafNode(new UY($));return this}object(...$){let w=["{"];for(let[G,W]of $){if(w.length>1)w.push(",");if(w.push(G),G!==W||this.opts.es5)w.push(":"),(0,l.addCodeArg)(w,W)}return w.push("}"),new l._Code(w)}if($,w,G){if(this._blockNode(new P1($)),w&&G)this.code(w).else().code(G).endIf();else if(w)this.code(w).endIf();else if(G)throw Error('CodeGen: "else" body without "then" body');return this}elseIf($){return this._elseNode(new P1($))}else(){return this._elseNode(new sw)}endIf(){return this._endBlockNode(P1,sw)}_for($,w){if(this._blockNode($),w)this.code(w).endFor();return this}for($,w){return this._for(new FY($),w)}forRange($,w,G,W,Y=this.opts.es5?p0.varKinds.var:p0.varKinds.let){let Z=this._scope.toName($);return this._for(new OY(Y,Z,w,G),()=>W(Z))}forOf($,w,G,W=p0.varKinds.const){let Y=this._scope.toName($);if(this.opts.es5){let Z=w instanceof l.Name?w:this.var("_arr",w);return this.forRange("_i",0,l._`${Z}.length`,(X)=>{this.var(Y,l._`${Z}[${X}]`),G(Y)})}return this._for(new v5("of",W,Y,w),()=>G(Y))}forIn($,w,G,W=this.opts.es5?p0.varKinds.var:p0.varKinds.const){if(this.opts.ownProperties)return this.forOf($,l._`Object.keys(${w})`,G);let Y=this._scope.toName($);return this._for(new v5("in",W,Y,w),()=>G(Y))}endFor(){return this._endBlockNode(p$)}label($){return this._leafNode(new VY($))}break($){return this._leafNode(new qY($))}return($){let w=new z8;if(this._blockNode(w),this.code($),w.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(z8)}try($,w,G){if(!w&&!G)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new LY;if(this._blockNode(W),this.code($),w){let Y=this.name("e");this._currNode=W.catch=new K8(Y),w(Y)}if(G)this._currNode=W.finally=new P8,this.code(G);return this._endBlockNode(K8,P8)}throw($){return this._leafNode(new EY($))}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 G=this._nodes.length-w;if(G<0||$!==void 0&&G!==$)throw Error(`CodeGen: wrong number of nodes: ${G} vs ${$} expected`);return this._nodes.length=w,this}func($,w=l.nil,G,W){if(this._blockNode(new N8($,w,G)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(N8)}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 G=this._currNode;if(G instanceof $||w&&G 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 P1))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=DY;function Y$($,w){for(let G in w)$[G]=($[G]||0)+(w[G]||0);return $}function B8($,w){return w instanceof l._CodeOrName?Y$($,w.names):$}function t$($,w,G){if($ instanceof l.Name)return W($);if(!Y($))return $;return new l._Code($._items.reduce((Z,X)=>{if(X instanceof l.Name)X=W(X);if(X instanceof l._Code)Z.push(...X._items);else Z.push(X);return Z},[]));function W(Z){let X=G[Z.str];if(X===void 0||w[Z.str]!==1)return Z;return delete w[Z.str],X}function Y(Z){return Z instanceof l._Code&&Z._items.some((X)=>X instanceof l.Name&&w[X.str]===1&&G[X.str]!==void 0)}}function vN($,w){for(let G in w)$[G]=($[G]||0)-(w[G]||0)}function kY($){return typeof $=="boolean"||typeof $=="number"||$===null?!$:l._`!${u5($)}`}k0.not=kY;var uN=AY(k0.operators.AND);function hN(...$){return $.reduce(uN)}k0.and=hN;var iN=AY(k0.operators.OR);function mN(...$){return $.reduce(iN)}k0.or=mN;function AY($){return(w,G)=>w===l.nil?G:G===l.nil?w:l._`${u5(w)} ${$} ${u5(G)}`}function u5($){return $ instanceof l.Name?$:l._`(${$})`}});var c=L((_Y)=>{Object.defineProperty(_Y,"__esModule",{value:!0});_Y.checkStrictMode=_Y.getErrorPath=_Y.Type=_Y.useFunc=_Y.setEvaluated=_Y.evaluatedPropsToName=_Y.mergeEvaluated=_Y.eachItem=_Y.unescapeJsonPointer=_Y.escapeJsonPointer=_Y.escapeFragment=_Y.unescapeFragment=_Y.schemaRefOrVal=_Y.schemaHasRulesButRef=_Y.schemaHasRules=_Y.checkUnknownRules=_Y.alwaysValidSchema=_Y.toHash=void 0;var r=i(),nN=rw();function pN($){let w={};for(let G of $)w[G]=!0;return w}_Y.toHash=pN;function tN($,w){if(typeof w=="boolean")return w;if(Object.keys(w).length===0)return!0;return CY($,w),!yY(w,$.self.RULES.all)}_Y.alwaysValidSchema=tN;function CY($,w=$.schema){let{opts:G,self:W}=$;if(!G.strictSchema)return;if(typeof w==="boolean")return;let Y=W.RULES.keywords;for(let Z in w)if(!Y[Z])xY($,`unknown keyword: "${Z}"`)}_Y.checkUnknownRules=CY;function yY($,w){if(typeof $=="boolean")return!$;for(let G in $)if(w[G])return!0;return!1}_Y.schemaHasRules=yY;function rN($,w){if(typeof $=="boolean")return!$;for(let G in $)if(G!=="$ref"&&w.all[G])return!0;return!1}_Y.schemaHasRulesButRef=rN;function sN({topSchemaRef:$,schemaPath:w},G,W,Y){if(!Y){if(typeof G=="number"||typeof G=="boolean")return G;if(typeof G=="string")return r._`${G}`}return r._`${$}${w}${(0,r.getProperty)(W)}`}_Y.schemaRefOrVal=sN;function aN($){return IY(decodeURIComponent($))}_Y.unescapeFragment=aN;function oN($){return encodeURIComponent(m5($))}_Y.escapeFragment=oN;function m5($){if(typeof $=="number")return`${$}`;return $.replace(/~/g,"~0").replace(/\//g,"~1")}_Y.escapeJsonPointer=m5;function IY($){return $.replace(/~1/g,"/").replace(/~0/g,"~")}_Y.unescapeJsonPointer=IY;function eN($,w){if(Array.isArray($))for(let G of $)w(G);else w($)}_Y.eachItem=eN;function RY({mergeNames:$,mergeToName:w,mergeValues:G,resultToName:W}){return(Y,Z,X,J)=>{let T=X===void 0?Z:X instanceof r.Name?(Z instanceof r.Name?$(Y,Z,X):w(Y,Z,X),X):Z instanceof r.Name?(w(Y,X,Z),Z):G(Z,X);return J===r.Name&&!(T instanceof r.Name)?W(Y,T):T}}_Y.mergeEvaluated={props:RY({mergeNames:($,w,G)=>$.if(r._`${G} !== true && ${w} !== undefined`,()=>{$.if(r._`${w} === true`,()=>$.assign(G,!0),()=>$.assign(G,r._`${G} || {}`).code(r._`Object.assign(${G}, ${w})`))}),mergeToName:($,w,G)=>$.if(r._`${G} !== true`,()=>{if(w===!0)$.assign(G,!0);else $.assign(G,r._`${G} || {}`),l5($,G,w)}),mergeValues:($,w)=>$===!0?!0:{...$,...w},resultToName:bY}),items:RY({mergeNames:($,w,G)=>$.if(r._`${G} !== true && ${w} !== undefined`,()=>$.assign(G,r._`${w} === true ? true : ${G} > ${w} ? ${G} : ${w}`)),mergeToName:($,w,G)=>$.if(r._`${G} !== true`,()=>$.assign(G,w===!0?!0:r._`${G} > ${w} ? ${G} : ${w}`)),mergeValues:($,w)=>$===!0?!0:Math.max($,w),resultToName:($,w)=>$.var("items",w)})};function bY($,w){if(w===!0)return $.var("props",!0);let G=$.var("props",r._`{}`);if(w!==void 0)l5($,G,w);return G}_Y.evaluatedPropsToName=bY;function l5($,w,G){Object.keys(G).forEach((W)=>$.assign(r._`${w}${(0,r.getProperty)(W)}`,!0))}_Y.setEvaluated=l5;var jY={};function $z($,w){return $.scopeValue("func",{ref:w,code:jY[w.code]||(jY[w.code]=new nN._Code(w.code))})}_Y.useFunc=$z;var i5;(function($){$[$.Num=0]="Num",$[$.Str=1]="Str"})(i5||(_Y.Type=i5={}));function wz($,w,G){if($ instanceof r.Name){let W=w===i5.Num;return G?W?r._`"[" + ${$} + "]"`:r._`"['" + ${$} + "']"`:W?r._`"/" + ${$}`:r._`"/" + ${$}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return G?(0,r.getProperty)($).toString():"/"+m5($)}_Y.getErrorPath=wz;function xY($,w,G=$.opts.strictSchema){if(!G)return;if(w=`strict mode: ${w}`,G===!0)throw Error(w);$.self.logger.warn(w)}_Y.checkStrictMode=xY});var B1=L((vY)=>{Object.defineProperty(vY,"__esModule",{value:!0});var P0=i(),Ez={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")};vY.default=Ez});var aw=L((mY)=>{Object.defineProperty(mY,"__esModule",{value:!0});mY.extendErrors=mY.resetErrorsCount=mY.reportExtraError=mY.reportError=mY.keyword$DataError=mY.keywordError=void 0;var d=i(),U8=c(),F0=B1();mY.keywordError={message:({keyword:$})=>d.str`must pass "${$}" keyword validation`};mY.keyword$DataError={message:({keyword:$,schemaType:w})=>w?d.str`"${$}" keyword must be ${w} ($data)`:d.str`"${$}" keyword is invalid ($data)`};function Hz($,w=mY.keywordError,G,W){let{it:Y}=$,{gen:Z,compositeRule:X,allErrors:J}=Y,T=iY($,w,G);if(W!==null&&W!==void 0?W:X||J)uY(Z,T);else hY(Y,d._`[${T}]`)}mY.reportError=Hz;function Fz($,w=mY.keywordError,G){let{it:W}=$,{gen:Y,compositeRule:Z,allErrors:X}=W,J=iY($,w,G);if(uY(Y,J),!(Z||X))hY(W,F0.default.vErrors)}mY.reportExtraError=Fz;function Oz($,w){$.assign(F0.default.errors,w),$.if(d._`${F0.default.vErrors} !== null`,()=>$.if(w,()=>$.assign(d._`${F0.default.vErrors}.length`,w),()=>$.assign(F0.default.vErrors,null)))}mY.resetErrorsCount=Oz;function Lz({gen:$,keyword:w,schemaValue:G,data:W,errsCount:Y,it:Z}){if(Y===void 0)throw Error("ajv implementation error");let X=$.name("err");$.forRange("i",Y,F0.default.errors,(J)=>{if($.const(X,d._`${F0.default.vErrors}[${J}]`),$.if(d._`${X}.instancePath === undefined`,()=>$.assign(d._`${X}.instancePath`,(0,d.strConcat)(F0.default.instancePath,Z.errorPath))),$.assign(d._`${X}.schemaPath`,d.str`${Z.errSchemaPath}/${w}`),Z.opts.verbose)$.assign(d._`${X}.schema`,G),$.assign(d._`${X}.data`,W)})}mY.extendErrors=Lz;function uY($,w){let G=$.const("err",w);$.if(d._`${F0.default.vErrors} === null`,()=>$.assign(F0.default.vErrors,d._`[${G}]`),d._`${F0.default.vErrors}.push(${G})`),$.code(d._`${F0.default.errors}++`)}function hY($,w){let{gen:G,validateName:W,schemaEnv:Y}=$;if(Y.$async)G.throw(d._`new ${$.ValidationError}(${w})`);else G.assign(d._`${W}.errors`,w),G.return(!1)}var Z$={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 iY($,w,G){let{createErrors:W}=$.it;if(W===!1)return d._`{}`;return Dz($,w,G)}function Dz($,w,G={}){let{gen:W,it:Y}=$,Z=[kz(Y,G),Az($,G)];return Sz($,w,Z),W.object(...Z)}function kz({errorPath:$},{instancePath:w}){let G=w?d.str`${$}${(0,U8.getErrorPath)(w,U8.Type.Str)}`:$;return[F0.default.instancePath,(0,d.strConcat)(F0.default.instancePath,G)]}function Az({keyword:$,it:{errSchemaPath:w}},{schemaPath:G,parentSchema:W}){let Y=W?w:d.str`${w}/${$}`;if(G)Y=d.str`${Y}${(0,U8.getErrorPath)(G,U8.Type.Str)}`;return[Z$.schemaPath,Y]}function Sz($,{params:w,message:G},W){let{keyword:Y,data:Z,schemaValue:X,it:J}=$,{opts:T,propertyName:M,topSchemaRef:f,schemaPath:Q}=J;if(W.push([Z$.keyword,Y],[Z$.params,typeof w=="function"?w($):w||d._`{}`]),T.messages)W.push([Z$.message,typeof G=="function"?G($):G]);if(T.verbose)W.push([Z$.schema,X],[Z$.parentSchema,d._`${f}${Q}`],[F0.default.data,Z]);if(M)W.push([Z$.propertyName,M])}});var pY=L((dY)=>{Object.defineProperty(dY,"__esModule",{value:!0});dY.boolOrEmptySchema=dY.topBoolOrEmptySchema=void 0;var Iz=aw(),bz=i(),xz=B1(),_z={message:"boolean schema is false"};function gz($){let{gen:w,schema:G,validateName:W}=$;if(G===!1)cY($,!1);else if(typeof G=="object"&&G.$async===!0)w.return(xz.default.data);else w.assign(bz._`${W}.errors`,null),w.return(!0)}dY.topBoolOrEmptySchema=gz;function vz($,w){let{gen:G,schema:W}=$;if(W===!1)G.var(w,!1),cY($);else G.var(w,!0)}dY.boolOrEmptySchema=vz;function cY($,w){let{gen:G,data:W}=$,Y={gen:G,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:$};(0,Iz.reportError)(Y,_z,void 0,w)}});var d5=L((tY)=>{Object.defineProperty(tY,"__esModule",{value:!0});tY.getRules=tY.isJSONType=void 0;var hz=["string","number","integer","boolean","null","object","array"],iz=new Set(hz);function mz($){return typeof $=="string"&&iz.has($)}tY.isJSONType=mz;function lz(){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:{}}}tY.getRules=lz});var n5=L((oY)=>{Object.defineProperty(oY,"__esModule",{value:!0});oY.shouldUseRule=oY.shouldUseGroup=oY.schemaHasRulesForType=void 0;function dz({schema:$,self:w},G){let W=w.RULES.types[G];return W&&W!==!0&&sY($,W)}oY.schemaHasRulesForType=dz;function sY($,w){return w.rules.some((G)=>aY($,G))}oY.shouldUseGroup=sY;function aY($,w){var G;return $[w.keyword]!==void 0||((G=w.definition.implements)===null||G===void 0?void 0:G.some((W)=>$[W]!==void 0))}oY.shouldUseRule=aY});var ow=L((WZ)=>{Object.defineProperty(WZ,"__esModule",{value:!0});WZ.reportTypeError=WZ.checkDataTypes=WZ.checkDataType=WZ.coerceAndCheckDataType=WZ.getJSONTypes=WZ.getSchemaTypes=WZ.DataType=void 0;var tz=d5(),rz=n5(),sz=aw(),u=i(),$Z=c(),r$;(function($){$[$.Correct=0]="Correct",$[$.Wrong=1]="Wrong"})(r$||(WZ.DataType=r$={}));function az($){let w=wZ($.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}WZ.getSchemaTypes=az;function wZ($){let w=Array.isArray($)?$:$?[$]:[];if(w.every(tz.isJSONType))return w;throw Error("type must be JSONType or JSONType[]: "+w.join(","))}WZ.getJSONTypes=wZ;function oz($,w){let{gen:G,data:W,opts:Y}=$,Z=ez(w,Y.coerceTypes),X=w.length>0&&!(Z.length===0&&w.length===1&&(0,rz.schemaHasRulesForType)($,w[0]));if(X){let J=t5(w,W,Y.strictNumbers,r$.Wrong);G.if(J,()=>{if(Z.length)$K($,w,Z);else r5($)})}return X}WZ.coerceAndCheckDataType=oz;var GZ=new Set(["string","number","integer","boolean","null"]);function ez($,w){return w?$.filter((G)=>GZ.has(G)||w==="array"&&G==="array"):[]}function $K($,w,G){let{gen:W,data:Y,opts:Z}=$,X=W.let("dataType",u._`typeof ${Y}`),J=W.let("coerced",u._`undefined`);if(Z.coerceTypes==="array")W.if(u._`${X} == 'object' && Array.isArray(${Y}) && ${Y}.length == 1`,()=>W.assign(Y,u._`${Y}[0]`).assign(X,u._`typeof ${Y}`).if(t5(w,Y,Z.strictNumbers),()=>W.assign(J,Y)));W.if(u._`${J} !== undefined`);for(let M of G)if(GZ.has(M)||M==="array"&&Z.coerceTypes==="array")T(M);W.else(),r5($),W.endIf(),W.if(u._`${J} !== undefined`,()=>{W.assign(Y,J),wK($,J)});function T(M){switch(M){case"string":W.elseIf(u._`${X} == "number" || ${X} == "boolean"`).assign(J,u._`"" + ${Y}`).elseIf(u._`${Y} === null`).assign(J,u._`""`);return;case"number":W.elseIf(u._`${X} == "boolean" || ${Y} === null
|
|
30
|
+
|| (${X} == "string" && ${Y} && ${Y} == +${Y})`).assign(J,u._`+${Y}`);return;case"integer":W.elseIf(u._`${X} === "boolean" || ${Y} === null
|
|
31
|
+
|| (${X} === "string" && ${Y} && ${Y} == +${Y} && !(${Y} % 1))`).assign(J,u._`+${Y}`);return;case"boolean":W.elseIf(u._`${Y} === "false" || ${Y} === 0 || ${Y} === null`).assign(J,!1).elseIf(u._`${Y} === "true" || ${Y} === 1`).assign(J,!0);return;case"null":W.elseIf(u._`${Y} === "" || ${Y} === 0 || ${Y} === false`),W.assign(J,null);return;case"array":W.elseIf(u._`${X} === "string" || ${X} === "number"
|
|
32
|
+
|| ${X} === "boolean" || ${Y} === null`).assign(J,u._`[${Y}]`)}}}function wK({gen:$,parentData:w,parentDataProperty:G},W){$.if(u._`${w} !== undefined`,()=>$.assign(u._`${w}[${G}]`,W))}function p5($,w,G,W=r$.Correct){let Y=W===r$.Correct?u.operators.EQ:u.operators.NEQ,Z;switch($){case"null":return u._`${w} ${Y} null`;case"array":Z=u._`Array.isArray(${w})`;break;case"object":Z=u._`${w} && typeof ${w} == "object" && !Array.isArray(${w})`;break;case"integer":Z=X(u._`!(${w} % 1) && !isNaN(${w})`);break;case"number":Z=X();break;default:return u._`typeof ${w} ${Y} ${$}`}return W===r$.Correct?Z:(0,u.not)(Z);function X(J=u.nil){return(0,u.and)(u._`typeof ${w} == "number"`,J,G?u._`isFinite(${w})`:u.nil)}}WZ.checkDataType=p5;function t5($,w,G,W){if($.length===1)return p5($[0],w,G,W);let Y,Z=(0,$Z.toHash)($);if(Z.array&&Z.object){let X=u._`typeof ${w} != "object"`;Y=Z.null?X:u._`!${w} || ${X}`,delete Z.null,delete Z.array,delete Z.object}else Y=u.nil;if(Z.number)delete Z.integer;for(let X in Z)Y=(0,u.and)(Y,p5(X,w,G,W));return Y}WZ.checkDataTypes=t5;var GK={message:({schema:$})=>`must be ${$}`,params:({schema:$,schemaValue:w})=>typeof $=="string"?u._`{type: ${$}}`:u._`{type: ${w}}`};function r5($){let w=WK($);(0,sz.reportError)(w,GK)}WZ.reportTypeError=r5;function WK($){let{gen:w,data:G,schema:W}=$,Y=(0,$Z.schemaRefOrVal)($,W,"type");return{gen:w,keyword:"type",data:G,schema:W.type,schemaCode:Y,schemaValue:Y,parentSchema:W,params:{},it:$}}});var TZ=L((XZ)=>{Object.defineProperty(XZ,"__esModule",{value:!0});XZ.assignDefaults=void 0;var s$=i(),fK=c();function QK($,w){let{properties:G,items:W}=$.schema;if(w==="object"&&G)for(let Y in G)ZZ($,Y,G[Y].default);else if(w==="array"&&Array.isArray(W))W.forEach((Y,Z)=>ZZ($,Z,Y.default))}XZ.assignDefaults=QK;function ZZ($,w,G){let{gen:W,compositeRule:Y,data:Z,opts:X}=$;if(G===void 0)return;let J=s$._`${Z}${(0,s$.getProperty)(w)}`;if(Y){(0,fK.checkStrictMode)($,`default is ignored for: ${J}`);return}let T=s$._`${J} === undefined`;if(X.useDefaults==="empty")T=s$._`${T} || ${J} === null || ${J} === ""`;W.if(T,s$._`${J} = ${(0,s$.stringify)(G)}`)}});var i0=L((QZ)=>{Object.defineProperty(QZ,"__esModule",{value:!0});QZ.validateUnion=QZ.validateArray=QZ.usePattern=QZ.callValidateCode=QZ.schemaProperties=QZ.allSchemaProperties=QZ.noPropertyInData=QZ.propertyInData=QZ.isOwnProperty=QZ.hasPropFunc=QZ.reportMissingProp=QZ.checkMissingProp=QZ.checkReportMissingProp=void 0;var o=i(),s5=c(),u1=B1(),NK=c();function zK($,w){let{gen:G,data:W,it:Y}=$;G.if(o5(G,W,w,Y.opts.ownProperties),()=>{$.setParams({missingProperty:o._`${w}`},!0),$.error()})}QZ.checkReportMissingProp=zK;function KK({gen:$,data:w,it:{opts:G}},W,Y){return(0,o.or)(...W.map((Z)=>(0,o.and)(o5($,w,Z,G.ownProperties),o._`${Y} = ${Z}`)))}QZ.checkMissingProp=KK;function PK($,w){$.setParams({missingProperty:w},!0),$.error()}QZ.reportMissingProp=PK;function MZ($){return $.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:o._`Object.prototype.hasOwnProperty`})}QZ.hasPropFunc=MZ;function a5($,w,G){return o._`${MZ($)}.call(${w}, ${G})`}QZ.isOwnProperty=a5;function BK($,w,G,W){let Y=o._`${w}${(0,o.getProperty)(G)} !== undefined`;return W?o._`${Y} && ${a5($,w,G)}`:Y}QZ.propertyInData=BK;function o5($,w,G,W){let Y=o._`${w}${(0,o.getProperty)(G)} === undefined`;return W?(0,o.or)(Y,(0,o.not)(a5($,w,G))):Y}QZ.noPropertyInData=o5;function fZ($){return $?Object.keys($).filter((w)=>w!=="__proto__"):[]}QZ.allSchemaProperties=fZ;function VK($,w){return fZ(w).filter((G)=>!(0,s5.alwaysValidSchema)($,w[G]))}QZ.schemaProperties=VK;function qK({schemaCode:$,data:w,it:{gen:G,topSchemaRef:W,schemaPath:Y,errorPath:Z},it:X},J,T,M){let f=M?o._`${$}, ${w}, ${W}${Y}`:w,Q=[[u1.default.instancePath,(0,o.strConcat)(u1.default.instancePath,Z)],[u1.default.parentData,X.parentData],[u1.default.parentDataProperty,X.parentDataProperty],[u1.default.rootData,u1.default.rootData]];if(X.opts.dynamicRef)Q.push([u1.default.dynamicAnchors,u1.default.dynamicAnchors]);let N=o._`${f}, ${G.object(...Q)}`;return T!==o.nil?o._`${J}.call(${T}, ${N})`:o._`${J}(${N})`}QZ.callValidateCode=qK;var EK=o._`new RegExp`;function UK({gen:$,it:{opts:w}},G){let W=w.unicodeRegExp?"u":"",{regExp:Y}=w.code,Z=Y(G,W);return $.scopeValue("pattern",{key:Z.toString(),ref:Z,code:o._`${Y.code==="new RegExp"?EK:(0,NK.useFunc)($,Y)}(${G}, ${W})`})}QZ.usePattern=UK;function HK($){let{gen:w,data:G,keyword:W,it:Y}=$,Z=w.name("valid");if(Y.allErrors){let J=w.let("valid",!0);return X(()=>w.assign(J,!1)),J}return w.var(Z,!0),X(()=>w.break()),Z;function X(J){let T=w.const("len",o._`${G}.length`);w.forRange("i",0,T,(M)=>{$.subschema({keyword:W,dataProp:M,dataPropType:s5.Type.Num},Z),w.if((0,o.not)(Z),J)})}}QZ.validateArray=HK;function FK($){let{gen:w,schema:G,keyword:W,it:Y}=$;if(!Array.isArray(G))throw Error("ajv implementation error");if(G.some((T)=>(0,s5.alwaysValidSchema)(Y,T))&&!Y.opts.unevaluated)return;let X=w.let("valid",!1),J=w.name("_valid");w.block(()=>G.forEach((T,M)=>{let f=$.subschema({keyword:W,schemaProp:M,compositeRule:!0},J);if(w.assign(X,o._`${X} || ${J}`),!$.mergeValidEvaluated(f,J))w.if((0,o.not)(X))})),$.result(X,()=>$.reset(),()=>$.error(!0))}QZ.validateUnion=FK});var VZ=L((PZ)=>{Object.defineProperty(PZ,"__esModule",{value:!0});PZ.validateKeywordUsage=PZ.validSchemaType=PZ.funcKeywordCode=PZ.macroKeywordCode=void 0;var O0=i(),X$=B1(),xK=i0(),_K=aw();function gK($,w){let{gen:G,keyword:W,schema:Y,parentSchema:Z,it:X}=$,J=w.macro.call(X.self,Y,Z,X),T=KZ(G,W,J);if(X.opts.validateSchema!==!1)X.self.validateSchema(J,!0);let M=G.name("valid");$.subschema({schema:J,schemaPath:O0.nil,errSchemaPath:`${X.errSchemaPath}/${W}`,topSchemaRef:T,compositeRule:!0},M),$.pass(M,()=>$.error(!0))}PZ.macroKeywordCode=gK;function vK($,w){var G;let{gen:W,keyword:Y,schema:Z,parentSchema:X,$data:J,it:T}=$;hK(T,w);let M=!J&&w.compile?w.compile.call(T.self,Z,X,T):w.validate,f=KZ(W,Y,M),Q=W.let("valid");$.block$data(Q,N),$.ok((G=w.valid)!==null&&G!==void 0?G:Q);function N(){if(w.errors===!1){if(P(),w.modifying)zZ($);q(()=>$.error())}else{let V=w.async?z():K();if(w.modifying)zZ($);q(()=>uK($,V))}}function z(){let V=W.let("ruleErrs",null);return W.try(()=>P(O0._`await `),(E)=>W.assign(Q,!1).if(O0._`${E} instanceof ${T.ValidationError}`,()=>W.assign(V,O0._`${E}.errors`),()=>W.throw(E))),V}function K(){let V=O0._`${f}.errors`;return W.assign(V,null),P(O0.nil),V}function P(V=w.async?O0._`await `:O0.nil){let E=T.opts.passContext?X$.default.this:X$.default.self,O=!(("compile"in w)&&!J||w.schema===!1);W.assign(Q,O0._`${V}${(0,xK.callValidateCode)($,f,E,O)}`,w.modifying)}function q(V){var E;W.if((0,O0.not)((E=w.valid)!==null&&E!==void 0?E:Q),V)}}PZ.funcKeywordCode=vK;function zZ($){let{gen:w,data:G,it:W}=$;w.if(W.parentData,()=>w.assign(G,O0._`${W.parentData}[${W.parentDataProperty}]`))}function uK($,w){let{gen:G}=$;G.if(O0._`Array.isArray(${w})`,()=>{G.assign(X$.default.vErrors,O0._`${X$.default.vErrors} === null ? ${w} : ${X$.default.vErrors}.concat(${w})`).assign(X$.default.errors,O0._`${X$.default.vErrors}.length`),(0,_K.extendErrors)($)},()=>$.error())}function hK({schemaEnv:$},w){if(w.async&&!$.$async)throw Error("async keyword in sync schema")}function KZ($,w,G){if(G===void 0)throw Error(`keyword "${w}" failed to compile`);return $.scopeValue("keyword",typeof G=="function"?{ref:G}:{ref:G,code:(0,O0.stringify)(G)})}function iK($,w,G=!1){return!w.length||w.some((W)=>W==="array"?Array.isArray($):W==="object"?$&&typeof $=="object"&&!Array.isArray($):typeof $==W||G&&typeof $>"u")}PZ.validSchemaType=iK;function mK({schema:$,opts:w,self:G,errSchemaPath:W},Y,Z){if(Array.isArray(Y.keyword)?!Y.keyword.includes(Z):Y.keyword!==Z)throw Error("ajv implementation error");let X=Y.dependencies;if(X===null||X===void 0?void 0:X.some((J)=>!Object.prototype.hasOwnProperty.call($,J)))throw Error(`parent schema must have dependencies of ${Z}: ${X.join(",")}`);if(Y.validateSchema){if(!Y.validateSchema($[Z])){let T=`keyword "${Z}" value is invalid at path "${W}": `+G.errorsText(Y.validateSchema.errors);if(w.validateSchema==="log")G.logger.error(T);else throw Error(T)}}}PZ.validateKeywordUsage=mK});var HZ=L((EZ)=>{Object.defineProperty(EZ,"__esModule",{value:!0});EZ.extendSubschemaMode=EZ.extendSubschemaData=EZ.getSubschema=void 0;var Y1=i(),qZ=c();function nK($,{keyword:w,schemaProp:G,schema:W,schemaPath:Y,errSchemaPath:Z,topSchemaRef:X}){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 G===void 0?{schema:J,schemaPath:Y1._`${$.schemaPath}${(0,Y1.getProperty)(w)}`,errSchemaPath:`${$.errSchemaPath}/${w}`}:{schema:J[G],schemaPath:Y1._`${$.schemaPath}${(0,Y1.getProperty)(w)}${(0,Y1.getProperty)(G)}`,errSchemaPath:`${$.errSchemaPath}/${w}/${(0,qZ.escapeFragment)(G)}`}}if(W!==void 0){if(Y===void 0||Z===void 0||X===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:Y,topSchemaRef:X,errSchemaPath:Z}}throw Error('either "keyword" or "schema" must be passed')}EZ.getSubschema=nK;function pK($,w,{dataProp:G,dataPropType:W,data:Y,dataTypes:Z,propertyName:X}){if(Y!==void 0&&G!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:J}=w;if(G!==void 0){let{errorPath:M,dataPathArr:f,opts:Q}=w,N=J.let("data",Y1._`${w.data}${(0,Y1.getProperty)(G)}`,!0);T(N),$.errorPath=Y1.str`${M}${(0,qZ.getErrorPath)(G,W,Q.jsPropertySyntax)}`,$.parentDataProperty=Y1._`${G}`,$.dataPathArr=[...f,$.parentDataProperty]}if(Y!==void 0){let M=Y instanceof Y1.Name?Y:J.let("data",Y,!0);if(T(M),X!==void 0)$.propertyName=X}if(Z)$.dataTypes=Z;function T(M){$.data=M,$.dataLevel=w.dataLevel+1,$.dataTypes=[],w.definedProperties=new Set,$.parentData=w.data,$.dataNames=[...w.dataNames,M]}}EZ.extendSubschemaData=pK;function tK($,{jtdDiscriminator:w,jtdMetadata:G,compositeRule:W,createErrors:Y,allErrors:Z}){if(W!==void 0)$.compositeRule=W;if(Y!==void 0)$.createErrors=Y;if(Z!==void 0)$.allErrors=Z;$.jtdDiscriminator=w,$.jtdMetadata=G}EZ.extendSubschemaMode=tK});var e5=L((nk,FZ)=>{FZ.exports=function $(w,G){if(w===G)return!0;if(w&&G&&typeof w=="object"&&typeof G=="object"){if(w.constructor!==G.constructor)return!1;var W,Y,Z;if(Array.isArray(w)){if(W=w.length,W!=G.length)return!1;for(Y=W;Y--!==0;)if(!$(w[Y],G[Y]))return!1;return!0}if(w.constructor===RegExp)return w.source===G.source&&w.flags===G.flags;if(w.valueOf!==Object.prototype.valueOf)return w.valueOf()===G.valueOf();if(w.toString!==Object.prototype.toString)return w.toString()===G.toString();if(Z=Object.keys(w),W=Z.length,W!==Object.keys(G).length)return!1;for(Y=W;Y--!==0;)if(!Object.prototype.hasOwnProperty.call(G,Z[Y]))return!1;for(Y=W;Y--!==0;){var X=Z[Y];if(!$(w[X],G[X]))return!1}return!0}return w!==w&&G!==G}});var LZ=L((pk,OZ)=>{var h1=OZ.exports=function($,w,G){if(typeof w=="function")G=w,w={};G=w.cb||G;var W=typeof G=="function"?G:G.pre||function(){},Y=G.post||function(){};H8(w,W,Y,$,"",$)};h1.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};h1.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};h1.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};h1.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 H8($,w,G,W,Y,Z,X,J,T,M){if(W&&typeof W=="object"&&!Array.isArray(W)){w(W,Y,Z,X,J,T,M);for(var f in W){var Q=W[f];if(Array.isArray(Q)){if(f in h1.arrayKeywords)for(var N=0;N<Q.length;N++)H8($,w,G,Q[N],Y+"/"+f+"/"+N,Z,Y,f,W,N)}else if(f in h1.propsKeywords){if(Q&&typeof Q=="object")for(var z in Q)H8($,w,G,Q[z],Y+"/"+f+"/"+aK(z),Z,Y,f,W,z)}else if(f in h1.keywords||$.allKeys&&!(f in h1.skipKeywords))H8($,w,G,Q,Y+"/"+f,Z,Y,f,W)}G(W,Y,Z,X,J,T,M)}}function aK($){return $.replace(/~/g,"~0").replace(/\//g,"~1")}});var ew=L((SZ)=>{Object.defineProperty(SZ,"__esModule",{value:!0});SZ.getSchemaRefs=SZ.resolveUrl=SZ.normalizeId=SZ._getFullPath=SZ.getFullPath=SZ.inlineRef=void 0;var oK=c(),eK=e5(),$P=LZ(),wP=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function GP($,w=!0){if(typeof $=="boolean")return!0;if(w===!0)return!$G($);if(!w)return!1;return DZ($)<=w}SZ.inlineRef=GP;var WP=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function $G($){for(let w in $){if(WP.has(w))return!0;let G=$[w];if(Array.isArray(G)&&G.some($G))return!0;if(typeof G=="object"&&$G(G))return!0}return!1}function DZ($){let w=0;for(let G in $){if(G==="$ref")return 1/0;if(w++,wP.has(G))continue;if(typeof $[G]=="object")(0,oK.eachItem)($[G],(W)=>w+=DZ(W));if(w===1/0)return 1/0}return w}function kZ($,w="",G){if(G!==!1)w=a$(w);let W=$.parse(w);return AZ($,W)}SZ.getFullPath=kZ;function AZ($,w){return $.serialize(w).split("#")[0]+"#"}SZ._getFullPath=AZ;var YP=/#\/?$/;function a$($){return $?$.replace(YP,""):""}SZ.normalizeId=a$;function ZP($,w,G){return G=a$(G),$.resolve(w,G)}SZ.resolveUrl=ZP;var XP=/^[a-z_][-a-z0-9._]*$/i;function JP($,w){if(typeof $=="boolean")return{};let{schemaId:G,uriResolver:W}=this.opts,Y=a$($[G]||w),Z={"":Y},X=kZ(W,Y,!1),J={},T=new Set;return $P($,{allKeys:!0},(Q,N,z,K)=>{if(K===void 0)return;let P=X+N,q=Z[K];if(typeof Q[G]=="string")q=V.call(this,Q[G]);E.call(this,Q.$anchor),E.call(this,Q.$dynamicAnchor),Z[N]=q;function V(O){let A=this.opts.uriResolver.resolve;if(O=a$(q?A(q,O):O),T.has(O))throw f(O);T.add(O);let R=this.refs[O];if(typeof R=="string")R=this.refs[R];if(typeof R=="object")M(Q,R.schema,O);else if(O!==a$(P))if(O[0]==="#")M(Q,J[O],O),J[O]=Q;else this.refs[O]=P;return O}function E(O){if(typeof O=="string"){if(!XP.test(O))throw Error(`invalid anchor "${O}"`);V.call(this,`#${O}`)}}}),J;function M(Q,N,z){if(N!==void 0&&!eK(Q,N))throw f(z)}function f(Q){return Error(`reference "${Q}" resolves to more than one schema`)}}SZ.getSchemaRefs=JP});var G4=L((cZ)=>{Object.defineProperty(cZ,"__esModule",{value:!0});cZ.getData=cZ.KeywordCxt=cZ.validateFunctionCode=void 0;var bZ=pY(),jZ=ow(),GG=n5(),F8=ow(),zP=TZ(),w4=VZ(),wG=HZ(),j=i(),x=B1(),KP=ew(),V1=c(),$4=aw();function PP($){if(gZ($)){if(vZ($),_Z($)){qP($);return}}xZ($,()=>(0,bZ.topBoolOrEmptySchema)($))}cZ.validateFunctionCode=PP;function xZ({gen:$,validateName:w,schema:G,schemaEnv:W,opts:Y},Z){if(Y.code.es5)$.func(w,j._`${x.default.data}, ${x.default.valCxt}`,W.$async,()=>{$.code(j._`"use strict"; ${CZ(G,Y)}`),VP($,Y),$.code(Z)});else $.func(w,j._`${x.default.data}, ${BP(Y)}`,W.$async,()=>$.code(CZ(G,Y)).code(Z))}function BP($){return j._`{${x.default.instancePath}="", ${x.default.parentData}, ${x.default.parentDataProperty}, ${x.default.rootData}=${x.default.data}${$.dynamicRef?j._`, ${x.default.dynamicAnchors}={}`:j.nil}}={}`}function VP($,w){$.if(x.default.valCxt,()=>{if($.var(x.default.instancePath,j._`${x.default.valCxt}.${x.default.instancePath}`),$.var(x.default.parentData,j._`${x.default.valCxt}.${x.default.parentData}`),$.var(x.default.parentDataProperty,j._`${x.default.valCxt}.${x.default.parentDataProperty}`),$.var(x.default.rootData,j._`${x.default.valCxt}.${x.default.rootData}`),w.dynamicRef)$.var(x.default.dynamicAnchors,j._`${x.default.valCxt}.${x.default.dynamicAnchors}`)},()=>{if($.var(x.default.instancePath,j._`""`),$.var(x.default.parentData,j._`undefined`),$.var(x.default.parentDataProperty,j._`undefined`),$.var(x.default.rootData,x.default.data),w.dynamicRef)$.var(x.default.dynamicAnchors,j._`{}`)})}function qP($){let{schema:w,opts:G,gen:W}=$;xZ($,()=>{if(G.$comment&&w.$comment)hZ($);if(OP($),W.let(x.default.vErrors,null),W.let(x.default.errors,0),G.unevaluated)EP($);uZ($),kP($)});return}function EP($){let{gen:w,validateName:G}=$;$.evaluated=w.const("evaluated",j._`${G}.evaluated`),w.if(j._`${$.evaluated}.dynamicProps`,()=>w.assign(j._`${$.evaluated}.props`,j._`undefined`)),w.if(j._`${$.evaluated}.dynamicItems`,()=>w.assign(j._`${$.evaluated}.items`,j._`undefined`))}function CZ($,w){let G=typeof $=="object"&&$[w.schemaId];return G&&(w.code.source||w.code.process)?j._`/*# sourceURL=${G} */`:j.nil}function UP($,w){if(gZ($)){if(vZ($),_Z($)){HP($,w);return}}(0,bZ.boolOrEmptySchema)($,w)}function _Z({schema:$,self:w}){if(typeof $=="boolean")return!$;for(let G in $)if(w.RULES.all[G])return!0;return!1}function gZ($){return typeof $.schema!="boolean"}function HP($,w){let{schema:G,gen:W,opts:Y}=$;if(Y.$comment&&G.$comment)hZ($);LP($),DP($);let Z=W.const("_errs",x.default.errors);uZ($,Z),W.var(w,j._`${Z} === ${x.default.errors}`)}function vZ($){(0,V1.checkUnknownRules)($),FP($)}function uZ($,w){if($.opts.jtd)return yZ($,[],!1,w);let G=(0,jZ.getSchemaTypes)($.schema),W=(0,jZ.coerceAndCheckDataType)($,G);yZ($,G,!W,w)}function FP($){let{schema:w,errSchemaPath:G,opts:W,self:Y}=$;if(w.$ref&&W.ignoreKeywordsWithRef&&(0,V1.schemaHasRulesButRef)(w,Y.RULES))Y.logger.warn(`$ref: keywords ignored in schema at path "${G}"`)}function OP($){let{schema:w,opts:G}=$;if(w.default!==void 0&&G.useDefaults&&G.strictSchema)(0,V1.checkStrictMode)($,"default is ignored in the schema root")}function LP($){let w=$.schema[$.opts.schemaId];if(w)$.baseId=(0,KP.resolveUrl)($.opts.uriResolver,$.baseId,w)}function DP($){if($.schema.$async&&!$.schemaEnv.$async)throw Error("async schema in sync schema")}function hZ({gen:$,schemaEnv:w,schema:G,errSchemaPath:W,opts:Y}){let Z=G.$comment;if(Y.$comment===!0)$.code(j._`${x.default.self}.logger.log(${Z})`);else if(typeof Y.$comment=="function"){let X=j.str`${W}/$comment`,J=$.scopeValue("root",{ref:w.root});$.code(j._`${x.default.self}.opts.$comment(${Z}, ${X}, ${J}.schema)`)}}function kP($){let{gen:w,schemaEnv:G,validateName:W,ValidationError:Y,opts:Z}=$;if(G.$async)w.if(j._`${x.default.errors} === 0`,()=>w.return(x.default.data),()=>w.throw(j._`new ${Y}(${x.default.vErrors})`));else{if(w.assign(j._`${W}.errors`,x.default.vErrors),Z.unevaluated)AP($);w.return(j._`${x.default.errors} === 0`)}}function AP({gen:$,evaluated:w,props:G,items:W}){if(G instanceof j.Name)$.assign(j._`${w}.props`,G);if(W instanceof j.Name)$.assign(j._`${w}.items`,W)}function yZ($,w,G,W){let{gen:Y,schema:Z,data:X,allErrors:J,opts:T,self:M}=$,{RULES:f}=M;if(Z.$ref&&(T.ignoreKeywordsWithRef||!(0,V1.schemaHasRulesButRef)(Z,f))){Y.block(()=>mZ($,"$ref",f.all.$ref.definition));return}if(!T.jtd)SP($,w);Y.block(()=>{for(let N of f.rules)Q(N);Q(f.post)});function Q(N){if(!(0,GG.shouldUseGroup)(Z,N))return;if(N.type){if(Y.if((0,F8.checkDataType)(N.type,X,T.strictNumbers)),IZ($,N),w.length===1&&w[0]===N.type&&G)Y.else(),(0,F8.reportTypeError)($);Y.endIf()}else IZ($,N);if(!J)Y.if(j._`${x.default.errors} === ${W||0}`)}}function IZ($,w){let{gen:G,schema:W,opts:{useDefaults:Y}}=$;if(Y)(0,zP.assignDefaults)($,w.type);G.block(()=>{for(let Z of w.rules)if((0,GG.shouldUseRule)(W,Z))mZ($,Z.keyword,Z.definition,w.type)})}function SP($,w){if($.schemaEnv.meta||!$.opts.strictTypes)return;if(RP($,w),!$.opts.allowUnionTypes)jP($,w);CP($,$.dataTypes)}function RP($,w){if(!w.length)return;if(!$.dataTypes.length){$.dataTypes=w;return}w.forEach((G)=>{if(!iZ($.dataTypes,G))WG($,`type "${G}" not allowed by context "${$.dataTypes.join(",")}"`)}),IP($,w)}function jP($,w){if(w.length>1&&!(w.length===2&&w.includes("null")))WG($,"use allowUnionTypes to allow union type keyword")}function CP($,w){let G=$.self.RULES.all;for(let W in G){let Y=G[W];if(typeof Y=="object"&&(0,GG.shouldUseRule)($.schema,Y)){let{type:Z}=Y.definition;if(Z.length&&!Z.some((X)=>yP(w,X)))WG($,`missing type "${Z.join(",")}" for keyword "${W}"`)}}}function yP($,w){return $.includes(w)||w==="number"&&$.includes("integer")}function iZ($,w){return $.includes(w)||w==="integer"&&$.includes("number")}function IP($,w){let G=[];for(let W of $.dataTypes)if(iZ(w,W))G.push(W);else if(w.includes("integer")&&W==="number")G.push("integer");$.dataTypes=G}function WG($,w){let G=$.schemaEnv.baseId+$.errSchemaPath;w+=` at "${G}" (strictTypes)`,(0,V1.checkStrictMode)($,w,$.opts.strictTypes)}class YG{constructor($,w,G){if((0,w4.validateKeywordUsage)($,w,G),this.gen=$.gen,this.allErrors=$.allErrors,this.keyword=G,this.data=$.data,this.schema=$.schema[G],this.$data=w.$data&&$.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,V1.schemaRefOrVal)($,this.schema,G,this.$data),this.schemaType=w.schemaType,this.parentSchema=$.schema,this.params={},this.it=$,this.def=w,this.$data)this.schemaCode=$.gen.const("vSchema",lZ(this.$data,$));else if(this.schemaCode=this.schemaValue,!(0,w4.validSchemaType)(this.schema,w.schemaType,w.allowUndefined))throw Error(`${G} 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,G){this.failResult((0,j.not)($),w,G)}failResult($,w,G){if(this.gen.if($),G)G();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,j.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(j._`${w} !== undefined && (${(0,j.or)(this.invalid$data(),$)})`)}error($,w,G){if(w){this.setParams(w),this._error($,G),this.setParams({});return}this._error($,G)}_error($,w){($?$4.reportExtraError:$4.reportError)(this,this.def.error,w)}$dataError(){(0,$4.reportError)(this,this.def.$dataError||$4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,$4.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,G=j.nil){this.gen.block(()=>{this.check$data($,G),w()})}check$data($=j.nil,w=j.nil){if(!this.$data)return;let{gen:G,schemaCode:W,schemaType:Y,def:Z}=this;if(G.if((0,j.or)(j._`${W} === undefined`,w)),$!==j.nil)G.assign($,!0);if(Y.length||Z.validateSchema){if(G.elseIf(this.invalid$data()),this.$dataError(),$!==j.nil)G.assign($,!1)}G.else()}invalid$data(){let{gen:$,schemaCode:w,schemaType:G,def:W,it:Y}=this;return(0,j.or)(Z(),X());function Z(){if(G.length){if(!(w instanceof j.Name))throw Error("ajv implementation error");let J=Array.isArray(G)?G:[G];return j._`${(0,F8.checkDataTypes)(J,w,Y.opts.strictNumbers,F8.DataType.Wrong)}`}return j.nil}function X(){if(W.validateSchema){let J=$.scopeValue("validate$data",{ref:W.validateSchema});return j._`!${J}(${w})`}return j.nil}}subschema($,w){let G=(0,wG.getSubschema)(this.it,$);(0,wG.extendSubschemaData)(G,this.it,$),(0,wG.extendSubschemaMode)(G,$);let W={...this.it,...G,items:void 0,props:void 0};return UP(W,w),W}mergeEvaluated($,w){let{it:G,gen:W}=this;if(!G.opts.unevaluated)return;if(G.props!==!0&&$.props!==void 0)G.props=V1.mergeEvaluated.props(W,$.props,G.props,w);if(G.items!==!0&&$.items!==void 0)G.items=V1.mergeEvaluated.items(W,$.items,G.items,w)}mergeValidEvaluated($,w){let{it:G,gen:W}=this;if(G.opts.unevaluated&&(G.props!==!0||G.items!==!0))return W.if(w,()=>this.mergeEvaluated($,j.Name)),!0}}cZ.KeywordCxt=YG;function mZ($,w,G,W){let Y=new YG($,G,w);if("code"in G)G.code(Y,W);else if(Y.$data&&G.validate)(0,w4.funcKeywordCode)(Y,G);else if("macro"in G)(0,w4.macroKeywordCode)(Y,G);else if(G.compile||G.validate)(0,w4.funcKeywordCode)(Y,G)}var bP=/^\/(?:[^~]|~0|~1)*$/,xP=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function lZ($,{dataLevel:w,dataNames:G,dataPathArr:W}){let Y,Z;if($==="")return x.default.rootData;if($[0]==="/"){if(!bP.test($))throw Error(`Invalid JSON-pointer: ${$}`);Y=$,Z=x.default.rootData}else{let M=xP.exec($);if(!M)throw Error(`Invalid JSON-pointer: ${$}`);let f=+M[1];if(Y=M[2],Y==="#"){if(f>=w)throw Error(T("property/index",f));return W[w-f]}if(f>w)throw Error(T("data",f));if(Z=G[w-f],!Y)return Z}let X=Z,J=Y.split("/");for(let M of J)if(M)Z=j._`${Z}${(0,j.getProperty)((0,V1.unescapeJsonPointer)(M))}`,X=j._`${X} && ${Z}`;return X;function T(M,f){return`Cannot access ${M} ${f} levels up, current level is ${w}`}}cZ.getData=lZ});var O8=L((pZ)=>{Object.defineProperty(pZ,"__esModule",{value:!0});class nZ extends Error{constructor($){super("validation failed");this.errors=$,this.ajv=this.validation=!0}}pZ.default=nZ});var W4=L((rZ)=>{Object.defineProperty(rZ,"__esModule",{value:!0});var ZG=ew();class tZ extends Error{constructor($,w,G,W){super(W||`can't resolve reference ${G} from id ${w}`);this.missingRef=(0,ZG.resolveUrl)($,w,G),this.missingSchema=(0,ZG.normalizeId)((0,ZG.getFullPath)($,this.missingRef))}}rZ.default=tZ});var D8=L((oZ)=>{Object.defineProperty(oZ,"__esModule",{value:!0});oZ.resolveSchema=oZ.getCompilingSchema=oZ.resolveRef=oZ.compileSchema=oZ.SchemaEnv=void 0;var t0=i(),hP=O8(),J$=B1(),r0=ew(),sZ=c(),iP=G4();class Y4{constructor($){var w;this.refs={},this.dynamicAnchors={};let G;if(typeof $.schema=="object")G=$.schema;this.schema=$.schema,this.schemaId=$.schemaId,this.root=$.root||this,this.baseId=(w=$.baseId)!==null&&w!==void 0?w:(0,r0.normalizeId)(G===null||G===void 0?void 0:G[$.schemaId||"$id"]),this.schemaPath=$.schemaPath,this.localRefs=$.localRefs,this.meta=$.meta,this.$async=G===null||G===void 0?void 0:G.$async,this.refs={}}}oZ.SchemaEnv=Y4;function JG($){let w=aZ.call(this,$);if(w)return w;let G=(0,r0.getFullPath)(this.opts.uriResolver,$.root.baseId),{es5:W,lines:Y}=this.opts.code,{ownProperties:Z}=this.opts,X=new t0.CodeGen(this.scope,{es5:W,lines:Y,ownProperties:Z}),J;if($.$async)J=X.scopeValue("Error",{ref:hP.default,code:t0._`require("ajv/dist/runtime/validation_error").default`});let T=X.scopeName("validate");$.validateName=T;let M={gen:X,allErrors:this.opts.allErrors,data:J$.default.data,parentData:J$.default.parentData,parentDataProperty:J$.default.parentDataProperty,dataNames:[J$.default.data],dataPathArr:[t0.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:X.scopeValue("schema",this.opts.code.source===!0?{ref:$.schema,code:(0,t0.stringify)($.schema)}:{ref:$.schema}),validateName:T,ValidationError:J,schema:$.schema,schemaEnv:$,rootId:G,baseId:$.baseId||G,schemaPath:t0.nil,errSchemaPath:$.schemaPath||(this.opts.jtd?"":"#"),errorPath:t0._`""`,opts:this.opts,self:this},f;try{this._compilations.add($),(0,iP.validateFunctionCode)(M),X.optimize(this.opts.code.optimize);let Q=X.toString();if(f=`${X.scopeRefs(J$.default.scope)}return ${Q}`,this.opts.code.process)f=this.opts.code.process(f,$);let z=Function(`${J$.default.self}`,`${J$.default.scope}`,f)(this,this.scope.get());if(this.scope.value(T,{ref:z}),z.errors=null,z.schema=$.schema,z.schemaEnv=$,$.$async)z.$async=!0;if(this.opts.code.source===!0)z.source={validateName:T,validateCode:Q,scopeValues:X._values};if(this.opts.unevaluated){let{props:K,items:P}=M;if(z.evaluated={props:K instanceof t0.Name?void 0:K,items:P instanceof t0.Name?void 0:P,dynamicProps:K instanceof t0.Name,dynamicItems:P instanceof t0.Name},z.source)z.source.evaluated=(0,t0.stringify)(z.evaluated)}return $.validate=z,$}catch(Q){if(delete $.validate,delete $.validateName,f)this.logger.error("Error compiling schema, function code:",f);throw Q}finally{this._compilations.delete($)}}oZ.compileSchema=JG;function mP($,w,G){var W;G=(0,r0.resolveUrl)(this.opts.uriResolver,w,G);let Y=$.refs[G];if(Y)return Y;let Z=dP.call(this,$,G);if(Z===void 0){let X=(W=$.localRefs)===null||W===void 0?void 0:W[G],{schemaId:J}=this.opts;if(X)Z=new Y4({schema:X,schemaId:J,root:$,baseId:w})}if(Z===void 0)return;return $.refs[G]=lP.call(this,Z)}oZ.resolveRef=mP;function lP($){if((0,r0.inlineRef)($.schema,this.opts.inlineRefs))return $.schema;return $.validate?$:JG.call(this,$)}function aZ($){for(let w of this._compilations)if(cP(w,$))return w}oZ.getCompilingSchema=aZ;function cP($,w){return $.schema===w.schema&&$.root===w.root&&$.baseId===w.baseId}function dP($,w){let G;while(typeof(G=this.refs[w])=="string")w=G;return G||this.schemas[w]||L8.call(this,$,w)}function L8($,w){let G=this.opts.uriResolver.parse(w),W=(0,r0._getFullPath)(this.opts.uriResolver,G),Y=(0,r0.getFullPath)(this.opts.uriResolver,$.baseId,void 0);if(Object.keys($.schema).length>0&&W===Y)return XG.call(this,G,$);let Z=(0,r0.normalizeId)(W),X=this.refs[Z]||this.schemas[Z];if(typeof X=="string"){let J=L8.call(this,$,X);if(typeof(J===null||J===void 0?void 0:J.schema)!=="object")return;return XG.call(this,G,J)}if(typeof(X===null||X===void 0?void 0:X.schema)!=="object")return;if(!X.validate)JG.call(this,X);if(Z===(0,r0.normalizeId)(w)){let{schema:J}=X,{schemaId:T}=this.opts,M=J[T];if(M)Y=(0,r0.resolveUrl)(this.opts.uriResolver,Y,M);return new Y4({schema:J,schemaId:T,root:$,baseId:Y})}return XG.call(this,G,X)}oZ.resolveSchema=L8;var nP=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function XG($,{baseId:w,schema:G,root:W}){var Y;if(((Y=$.fragment)===null||Y===void 0?void 0:Y[0])!=="/")return;for(let J of $.fragment.slice(1).split("/")){if(typeof G==="boolean")return;let T=G[(0,sZ.unescapeFragment)(J)];if(T===void 0)return;G=T;let M=typeof G==="object"&&G[this.opts.schemaId];if(!nP.has(J)&&M)w=(0,r0.resolveUrl)(this.opts.uriResolver,w,M)}let Z;if(typeof G!="boolean"&&G.$ref&&!(0,sZ.schemaHasRulesButRef)(G,this.RULES)){let J=(0,r0.resolveUrl)(this.opts.uriResolver,w,G.$ref);Z=L8.call(this,W,J)}let{schemaId:X}=this.opts;if(Z=Z||new Y4({schema:G,schemaId:X,root:W,baseId:w}),Z.schema!==Z.root.schema)return Z;return}});var $X=L((ek,aP)=>{aP.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 zG=L(($A,JX)=>{var oP=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),MG=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),T$=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu),fG=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu),GX=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/]$/u),QG=RegExp.prototype.test.bind(/^[A-Za-z0-9\-._~!$&'()*+,;=:@/?]$/u),eP=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 B0($){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 $B($){let w="",G=0,W=0;for(W=0;W<$.length;W++){if(G=$[W].charCodeAt(0),G===48)continue;if(!(G>=48&&G<=57||G>=65&&G<=70||G>=97&&G<=102))return"";w+=$[W];break}for(W+=1;W<$.length;W++){if(G=$[W].charCodeAt(0),!(G>=48&&G<=57||G>=65&&G<=70||G>=97&&G<=102))return"";w+=$[W]}return w}var wB=RegExp.prototype.test.bind(/^[\dA-Fa-f]{1,4}$/),GB=RegExp.prototype.test.bind(/^[vV][\dA-Fa-f]+\.[A-Za-z\d\-._~!$&'()*+,;=:]+$/),WB=RegExp.prototype.test.bind(/^[A-Za-z\d\-._~]$/),YB=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ZB($){if($.length===0)return!1;for(let w=0;w<$.length;w++){if(WB($[w]))continue;if($[w]==="%"&&w+2<$.length&&T$($.slice(w+1,w+3))){w+=2;continue}return!1}return!0}function wX($){let w=-1,G=0,W=-1,Y=0;for(let J=0;J<$.length;J++)if($[J]==="0"){if(W===-1)W=J;if(Y++,Y>G)G=Y,w=W}else W=-1,Y=0;if(G<2)return $.join(":");let Z=$.slice(0,w).join(":"),X=$.slice(w+G).join(":");return Z+"::"+X}function XB($){let w=$.indexOf("::");if(w!==-1&&$.indexOf("::",w+1)!==-1)return;let G=w===-1?$.split(":"):$.slice(0,w).split(":"),W=w===-1?[]:$.slice(w+2).split(":");if(w!==-1){if(G.length===1&&G[0]==="")G.length=0;if(W.length===1&&W[0]==="")W.length=0}let Y=G.concat(W),Z=0;for(let J=0;J<Y.length;J++){let T=Y[J];if(T==="")return;if(T.indexOf(".")!==-1){if(J!==Y.length-1||w!==-1&&W.length===0||!MG(T))return;Z+=2;continue}if(!wB(T))return;Y[J]=parseInt(T,16).toString(16),Z++}if(w===-1){if(Z!==8)return;return wX(Y)}if(Z>=8)return;let X=Y.slice(0,G.length);for(let J=Z;J<8;J++)X.push("0");for(let J=G.length;J<Y.length;J++)X.push(Y[J]);return wX(X)}function TG($){let w=$[0]==="["&&$[$.length-1]==="]";if(($[0]==="["||$[$.length-1]==="]")&&!w)return{host:$,isIPV6:!1,error:!0};let W=w?$.slice(1,-1):$;if(w&&GB(W))return W=W.toLowerCase(),{host:`[${W}]`,escapedHost:W,isIPV6:!1,isIPVFuture:!0};if(JB(W,":")<2)return{host:$,isIPV6:!1,error:w};let Y="",Z=W.indexOf("%");if(Z!==-1){let J=W.slice(Z,Z+3).toLowerCase()==="%25"?3:1;if(Y=W.slice(Z+J),!ZB(Y))return{host:$,isIPV6:!1,error:!0};W=W.slice(0,Z)}let X=XB(W);if(X===void 0)return{host:$,isIPV6:!1,error:!0};return{host:X+(Y?"%"+Y:""),escapedHost:X+(Y?"%25"+Y:""),isIPV6:!0}}function JB($,w){let G=0;for(let W=0;W<$.length;W++)if($[W]===w)G++;return G}function TB($){let w=$,G=[],W=-1,Y=0;while(Y=w.length){if(Y===1)if(w===".")break;else if(w==="/"){G.push("/");break}else{G.push(w);break}else if(Y===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]==="/"){G.push("/");break}}}else if(Y===3){if(w==="/.."){if(G.length!==0)G.pop();G.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),G.length!==0)G.pop();continue}}}}if((W=w.indexOf("/",1))===-1){G.push(w);break}else G.push(w.slice(0,W)),w=w.slice(W)}return G.join("")}var MB={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"},fB=/[@/?#:]/g,QB=/[@/?#]/g;function WX($,w){let G=w?QB:fB;return G.lastIndex=0,$.replace(G,(W)=>MB[W])}function YX($,w=!1){if($.indexOf("%")===-1)return $;let G="";for(let W=0;W<$.length;W++){if($[W]==="%"&&W+2<$.length){let Y=$.slice(W+1,W+3);if(T$(Y)){let Z=Y.toUpperCase(),X=String.fromCharCode(parseInt(Z,16));if(w&&fG(X))G+=X;else G+="%"+Z;W+=2;continue}}G+=$[W]}return G}function NB($){let w="";for(let G=0;G<$.length;G++){let W=$[G];if(W==="%"&&G+2<$.length){let Y=$.slice(G+1,G+3);if(T$(Y)){let Z=Y.toUpperCase(),X=String.fromCharCode(parseInt(Z,16));if(X!=="."&&fG(X))w+=X;else w+="%"+Z;G+=2;continue}}if(GX(W))w+=W;else{let Y=$.charCodeAt(G);if(Y<128)w+=XX(Y)?W:A0[Y];else if(Y<55296||Y>57343)w+=B0(Y);else if(Y<=56319&&G+1<$.length){let Z=$.charCodeAt(G+1);if(Z>=56320&&Z<=57343)w+=B0(65536+(Y-55296<<10)+(Z-56320)),G++;else w+=B0(65533)}else w+=B0(65533)}}return w}function zB($,w=!1){let G="",W=w&&$[0]!=="/";for(let Y=0;Y<$.length;Y++){let Z=$[Y];if(Z==="%"&&Y+2<$.length){let X=$.slice(Y+1,Y+3);if(T$(X)){G+="%"+X.toUpperCase(),Y+=2;continue}}if(Z==="/")W=!1;if(GX(Z)&&(Z!==":"||!W))G+=Z;else{let X=$.charCodeAt(Y);if(X<128)G+=A0[X];else if(X<55296||X>57343)G+=B0(X);else if(X<=56319&&Y+1<$.length){let J=$.charCodeAt(Y+1);if(J>=56320&&J<=57343)G+=B0(65536+(X-55296<<10)+(J-56320)),Y++;else G+=B0(65533)}else G+=B0(65533)}}return G}function NG($,w){let G="";for(let W=0;W<$.length;W++){let Y=$[W];if(Y==="%"&&W+2<$.length){let Z=$.slice(W+1,W+3);if(T$(Z)){G+="%"+Z.toUpperCase(),W+=2;continue}}if(w(Y))G+=Y;else{let Z=$.charCodeAt(W);if(Z<128)G+=A0[Z];else if(Z<55296||Z>57343)G+=B0(Z);else if(Z<=56319&&W+1<$.length){let X=$.charCodeAt(W+1);if(X>=56320&&X<=57343)G+=B0(65536+(Z-55296<<10)+(X-56320)),W++;else G+=B0(65533)}else G+=B0(65533)}}return G}function ZX($){return NG($,eP)}function KB($){return NG($,QG)}function PB($){return NG($,QG)}function XX($){return $>=48&&$<=57||$>=65&&$<=90||$>=97&&$<=122||$===42||$===43||$===45||$===46||$===47||$===64||$===95}function BB($){let w="";for(let G=0;G<$.length;G++){let W=$[G];if(W==="%"&&G+2<$.length){let Y=$.slice(G+1,G+3);if(T$(Y)){let Z=Y.toUpperCase(),X=String.fromCharCode(parseInt(Z,16));if(fG(X))w+=X;else w+="%"+Z;G+=2;continue}}if(QG(W))w+=W;else{let Y=$.charCodeAt(G);if(Y<128)w+=XX(Y)?W:A0[Y];else if(Y<55296||Y>57343)w+=B0(Y);else if(Y<=56319&&G+1<$.length){let Z=$.charCodeAt(G+1);if(Z>=56320&&Z<=57343)w+=B0(65536+(Y-55296<<10)+(Z-56320)),G++;else w+=B0(65533)}else w+=B0(65533)}}return w}function VB($){let w="";for(let G=0;G<$.length;G++){if($[G]==="%"&&G+2<$.length){let W=$.slice(G+1,G+3);if(T$(W)){w+="%"+W.toUpperCase(),G+=2;continue}}w+=escape($[G])}return w}function qB($){let w=[];if($.userinfo!==void 0)w.push(ZX($.userinfo)),w.push("@");if($.host!==void 0){let G=$.host;if(!MG(G)){let W=TG(G);if(W.isIPV6!==!0&&W.isIPVFuture!==!0)G=YX(G,!0),W=TG(G);if(W.isIPV6===!0||W.isIPVFuture===!0)G=`[${W.escapedHost}]`;else G=WX(G,!1)}w.push(G)}if(typeof $.port==="number"||typeof $.port==="string")w.push(":"),w.push(String($.port));return w.length?w.join(""):void 0}JX.exports={nonSimpleDomain:YB,recomposeAuthority:qB,reescapeHostDelimiters:WX,normalizePercentEncoding:YX,normalizePathEncoding:NB,serializePathEncoding:zB,normalizeQueryFragmentEncoding:BB,encodeUserinfo:ZX,encodeQuery:KB,encodeFragment:PB,escapePreservingEscapes:VB,removeDotSegments:TB,isIPv4:MG,isUUID:oP,normalizeIPv6:TG,stringArrayToHexStripped:$B}});var NX=L((wA,QX)=>{var{isUUID:EB}=zG(),UB=/^([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-./:;=@]|%[\da-f]{2})+)$/iu,HB=["http","https","ws","wss","urn","urn:uuid"];function FB($){return HB.indexOf($)!==-1}function KG($){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 TX($){if(!$.host)$.error=$.error||"HTTP URIs must have a host.";return $}function MX($){let w=String($.scheme).toLowerCase()==="https";if($.port===(w?443:80)||$.port==="")$.port=void 0;if(!$.path)$.path="/";return $}function OB($){return $.secure=KG($),$.resourceName=($.path||"/")+($.query?"?"+$.query:""),$.path=void 0,$.query=void 0,$}function LB($){if($.port===(KG($)?443:80)||$.port==="")$.port=void 0;if(typeof $.secure==="boolean")$.scheme=$.secure?"wss":"ws",$.secure=void 0;if($.resourceName){let w=$.resourceName.indexOf("?"),G=w===-1?$.resourceName:$.resourceName.slice(0,w);$.path=G&&G!=="/"?G: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 G=$.path.match(UB);if(G&&G[0]===$.path){let W=w.scheme||$.scheme||"urn";$.nid=G[1].toLowerCase(),$.nss=G[2];let Y=`${W}:${w.nid||$.nid}`,Z=PG(Y);if($.path=void 0,Z)$=Z.parse($,w)}else $.error=$.error||"URN can not be parsed.";return $}function kB($,w){if($.nid===void 0)throw Error("URN without nid cannot be serialized");let G=w.scheme||$.scheme||"urn",W=$.nid.toLowerCase(),Y=`${G}:${w.nid||W}`,Z=PG(Y);if(Z)$=Z.serialize($,w);let X=$,J=$.nss;return X.path=`${W||w.nid}:${J}`,w.skipEscape=!0,X}function AB($,w){let G=$;if(G.uuid=G.nss,G.nss=void 0,!w.tolerant&&(!G.uuid||!EB(G.uuid)))G.error=G.error||"UUID is not valid.";return G}function SB($){let w=$;return w.nss=($.uuid||"").toLowerCase(),w}var fX={scheme:"http",domainHost:!0,parse:TX,serialize:MX},RB={scheme:"https",domainHost:fX.domainHost,parse:TX,serialize:MX},k8={scheme:"ws",domainHost:!0,parse:OB,serialize:LB},jB={scheme:"wss",domainHost:k8.domainHost,parse:k8.parse,serialize:k8.serialize},CB={scheme:"urn",parse:DB,serialize:kB,skipNormalize:!0},yB={scheme:"urn:uuid",parse:AB,serialize:SB,skipNormalize:!0},A8={http:fX,https:RB,ws:k8,wss:jB,urn:CB,"urn:uuid":yB};Object.setPrototypeOf(A8,null);function PG($){return $&&(A8[$]||A8[$.toLowerCase()])||void 0}QX.exports={wsIsSecure:KG,SCHEMES:A8,isValidSchemeName:FB,getSchemeHandler:PG}});var DX=L((GA,j8)=>{var{normalizeIPv6:VX,removeDotSegments:X4,recomposeAuthority:IB,normalizePercentEncoding:qX,normalizePathEncoding:bB,serializePathEncoding:zX,normalizeQueryFragmentEncoding:KX,encodeQuery:xB,encodeFragment:_B,reescapeHostDelimiters:gB,isIPv4:EX,nonSimpleDomain:vB}=zG(),{SCHEMES:UX,getSchemeHandler:BG}=NX(),HX=/^[A-Za-z][A-Za-z0-9+.-]*$/u;function PX($){let w=unescape(String($));if(!HX.test(w))throw TypeError("URI scheme is malformed.");return w}function uB($,w){if(typeof $==="string")$=pB($,w);else if(typeof $==="object")$=R8(M$($,w),w);return $}function hB($,w,G){let W=G?Object.assign({scheme:"null"},G):{scheme:"null"},{parsed:Y,malformedAuthorityOrPort:Z,malformedPercentEncoding:X,malformedSchemeSpecific:J,malformedHost:T,malformedScheme:M}=S8($,W),{parsed:f,malformedAuthorityOrPort:Q,malformedPercentEncoding:N,malformedSchemeSpecific:z,malformedHost:K,malformedScheme:P}=S8(w,W);if(Z||Q||X||N||J||z||T||K||M||P)throw Error(Y.error||f.error||"URI is malformed.");let q=FX(Y,f,W,!0),V=BG(G&&G.scheme||q.scheme),E=q.host,O=E!==void 0&&E!==""&&(EX(E)||VX(E).isIPV6);OX(q,G||{},V,O);let A=E&&E.indexOf("%")!==-1&&!/\P{ASCII}/u.test(E);if(q.error&&!A)throw Error(q.error);return W.skipEscape=!0,M$(q,W)}function FX($,w,G,W){let Y={};if(!W)$=R8(M$($,G),G),w=R8(M$(w,G),G);if(G=G||{},!G.tolerant&&w.scheme)Y.scheme=w.scheme,Y.userinfo=w.userinfo,Y.host=w.host,Y.port=w.port,Y.path=X4(w.path||""),Y.query=w.query;else{if(w.userinfo!==void 0||w.host!==void 0||w.port!==void 0)Y.userinfo=w.userinfo,Y.host=w.host,Y.port=w.port,Y.path=X4(w.path||""),Y.query=w.query;else{if(!w.path)if(Y.path=$.path,w.query!==void 0)Y.query=w.query;else Y.query=$.query;else{if(w.path[0]==="/")Y.path=X4(w.path);else{if(($.userinfo!==void 0||$.host!==void 0||$.port!==void 0)&&!$.path)Y.path="/"+w.path;else if(!$.path)Y.path=w.path;else Y.path=$.path.slice(0,$.path.lastIndexOf("/")+1)+w.path;Y.path=X4(Y.path)}Y.query=w.query}Y.userinfo=$.userinfo,Y.host=$.host,Y.port=$.port}Y.scheme=$.scheme}return Y.fragment=w.fragment,Y}function iB($,w,G){let W=BX($,G),Y=BX(w,G);return W!==void 0&&Y!==void 0&&W===Y}function M$($,w){let G={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),Y=[];if(G.scheme)G.scheme=PX(G.scheme);let Z=BG(W.scheme||G.scheme);if(Z&&Z.serialize)Z.serialize(G,W);let X=G.userinfo!==void 0||G.host!==void 0||G.port!==void 0,J=!W.skipEscape&&G.scheme===void 0&&!X;if(G.path!==void 0)if(!W.skipEscape)G.path=zX(G.path,J);else G.path=qX(G.path);if(W.reference!=="suffix"&&G.scheme)G.scheme=PX(G.scheme),Y.push(G.scheme,":");let T=IB(G);if(T!==void 0){if(W.reference!=="suffix")Y.push("//");if(Y.push(T),G.path&&G.path[0]!=="/")Y.push("/")}if(G.path!==void 0){let M=G.path;if(!W.absolutePath&&(!Z||!Z.absolutePath))M=X4(M);if(J)M=zX(M,!0);if(T===void 0&&M[0]==="/"&&M[1]==="/")M="/%2F"+M.slice(2);Y.push(M)}if(G.query!==void 0)Y.push("?",xB(G.query));if(G.fragment!==void 0)Y.push("#",_B(G.fragment));return Y.join("")}var mB=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u,lB=/^(?:[^#/:?]+:)?\/\/([^/?#]*)/,cB=/^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;function dB($,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 Z4($){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 nB($){let w=$[4];return Z4($[3])||w!==void 0&&!(w[0]==="["&&w[w.length-1]==="]")&&Z4(w)||Z4($[6])||Z4($[7])||Z4($[8])}function OX($,w,G,W){if(!w.unicodeSupport&&(!G||!G.unicodeSupport)&&$.host&&$.host[0]!=="["&&(w.domainHost||G&&G.domainHost)&&W===!1&&vB($.host))try{$.host=new URL("http://"+$.host).hostname}catch(Y){return $.error=$.error||"Host's domain name can not be converted to ASCII: "+Y,!0}return!1}function S8($,w){let G=Object.assign({},w),W={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},Y=!1,Z=!1,X=!1,J=!1,T=!1,M=!1,f=!1;if(G.reference==="suffix")if(G.scheme)$=G.scheme+":"+$;else $="//"+$;let Q=$.match(lB);if(Q!==null&&Q[1].indexOf("\\")!==-1)W.error="URI authority must not contain a literal backslash.",Y=!0;let N=$.match(cB);if(N!==null){let K=N[1],P=K.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.",Y=!0;else if(K.length!==P.length)W.error=W.error||"URI authority introducer must not contain whitespace.",Y=!0}}let z=$.match(mB);if(z){if(W.scheme=z[1],W.userinfo=z[3],W.host=z[4],W.port=parseInt(z[5],10),W.path=z[6]||"",W.query=z[7],W.fragment=z[8],W.scheme!==void 0){let q=unescape(W.scheme);if(HX.test(q))W.scheme=q.toLowerCase();else W.error=W.error||"URI scheme is malformed.",M=!0}if(Z=nB(z),Z)W.error=W.error||"URI contains malformed percent-encoding.";if(isNaN(W.port))W.port=z[5];let K=dB(W,z);if(K!==void 0)W.error=W.error||K,Y=!0;if(W.host)if(EX(W.host)===!1){let V=W.host[0]==="["&&W.host[W.host.length-1]==="]",E=VX(W.host);if(f=E.isIPV6||E.isIPVFuture===!0,T=V&&E.error===!0,W.host=f?E.host:E.host.toLowerCase(),T)W.error=W.error||"URI host is malformed.",Y=!0}else f=!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(G.reference&&G.reference!=="suffix"&&G.reference!==W.reference)W.error=W.error||"URI is not a "+G.reference+" reference.";let P=BG(G.scheme||W.scheme);if(J=OX(W,G,P,f),!P||P&&!P.skipNormalize){if($.indexOf("%")!==-1){if(W.host!==void 0&&!T){let q=f?W.host:qX(W.host,!0);W.host=gB(q,f)}}if(W.path)W.path=bB(W.path);if(W.query)W.query=KX(W.query);if(W.fragment)W.fragment=KX(W.fragment)}if(P&&P.parse){if(P.parse(W,G),P===UX.urn&&W.nid===void 0)X=!0}}else W.error=W.error||"URI can not be parsed.";return{parsed:W,malformedAuthorityOrPort:Y,malformedPercentEncoding:Z,malformedSchemeSpecific:X,malformedHost:J,malformedScheme:M}}function R8($,w){return S8($,w).parsed}function pB($,w){return LX($,w).normalized}function LX($,w){let{parsed:G,malformedAuthorityOrPort:W,malformedPercentEncoding:Y,malformedSchemeSpecific:Z,malformedHost:X,malformedScheme:J}=S8($,w);return{normalized:W||Y||Z||X||J?$:M$(G,w),malformedAuthorityOrPort:W,malformedPercentEncoding:Y,malformedSchemeSpecific:Z,malformedHost:X,malformedScheme:J}}function BX($,w){if(typeof $!=="string"&&typeof $!=="object")return;let G;try{G=typeof $==="string"?$:M$($,w)}catch{return}let{normalized:W,malformedAuthorityOrPort:Y,malformedPercentEncoding:Z,malformedSchemeSpecific:X,malformedHost:J,malformedScheme:T}=LX(G,w);return Y||Z||X||J||T?void 0:W}var VG={SCHEMES:UX,normalize:uB,resolve:hB,resolveComponent:FX,equal:iB,serialize:M$,parse:R8};j8.exports=VG;j8.exports.default=VG;j8.exports.fastUri=VG});var SX=L((AX)=>{Object.defineProperty(AX,"__esModule",{value:!0});var kX=DX();kX.code='require("ajv/dist/runtime/uri").default';AX.default=kX});var _X=L((q1)=>{Object.defineProperty(q1,"__esModule",{value:!0});q1.CodeGen=q1.Name=q1.nil=q1.stringify=q1.str=q1._=q1.KeywordCxt=void 0;var rB=G4();Object.defineProperty(q1,"KeywordCxt",{enumerable:!0,get:function(){return rB.KeywordCxt}});var o$=i();Object.defineProperty(q1,"_",{enumerable:!0,get:function(){return o$._}});Object.defineProperty(q1,"str",{enumerable:!0,get:function(){return o$.str}});Object.defineProperty(q1,"stringify",{enumerable:!0,get:function(){return o$.stringify}});Object.defineProperty(q1,"nil",{enumerable:!0,get:function(){return o$.nil}});Object.defineProperty(q1,"Name",{enumerable:!0,get:function(){return o$.Name}});Object.defineProperty(q1,"CodeGen",{enumerable:!0,get:function(){return o$.CodeGen}});var sB=O8(),IX=W4(),aB=d5(),J4=D8(),oB=i(),T4=ew(),C8=ow(),EG=c(),RX=$X(),eB=SX(),bX=($,w)=>new RegExp($,w);bX.code="new RegExp";var $V=["removeAdditional","useDefaults","coerceTypes"],wV=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),GV={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."},WV={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},jX=200;function YV($){var w,G,W,Y,Z,X,J,T,M,f,Q,N,z,K,P,q,V,E,O,A,R,S,_,s,e;let v=$.strict,H0=(w=$.code)===null||w===void 0?void 0:w.optimize,x1=H0===!0||H0===void 0?1:H0||0,W1=(W=(G=$.code)===null||G===void 0?void 0:G.regExp)!==null&&W!==void 0?W:bX,lw=(Y=$.uriResolver)!==null&&Y!==void 0?Y:eB.default;return{strictSchema:(X=(Z=$.strictSchema)!==null&&Z!==void 0?Z:v)!==null&&X!==void 0?X:!0,strictNumbers:(T=(J=$.strictNumbers)!==null&&J!==void 0?J:v)!==null&&T!==void 0?T:!0,strictTypes:(f=(M=$.strictTypes)!==null&&M!==void 0?M:v)!==null&&f!==void 0?f:"log",strictTuples:(N=(Q=$.strictTuples)!==null&&Q!==void 0?Q:v)!==null&&N!==void 0?N:"log",strictRequired:(K=(z=$.strictRequired)!==null&&z!==void 0?z:v)!==null&&K!==void 0?K:!1,code:$.code?{...$.code,optimize:x1,regExp:W1}:{optimize:x1,regExp:W1},loopRequired:(P=$.loopRequired)!==null&&P!==void 0?P:jX,loopEnum:(q=$.loopEnum)!==null&&q!==void 0?q:jX,meta:(V=$.meta)!==null&&V!==void 0?V:!0,messages:(E=$.messages)!==null&&E!==void 0?E:!0,inlineRefs:(O=$.inlineRefs)!==null&&O!==void 0?O:!0,schemaId:(A=$.schemaId)!==null&&A!==void 0?A:"$id",addUsedSchema:(R=$.addUsedSchema)!==null&&R!==void 0?R:!0,validateSchema:(S=$.validateSchema)!==null&&S!==void 0?S:!0,validateFormats:(_=$.validateFormats)!==null&&_!==void 0?_:!0,unicodeRegExp:(s=$.unicodeRegExp)!==null&&s!==void 0?s:!0,int32range:(e=$.int32range)!==null&&e!==void 0?e:!0,uriResolver:lw}}class y8{constructor($={}){this.schemas={},this.refs={},this.formats=Object.create(null),this._compilations=new Set,this._loading={},this._cache=new Map,$=this.opts={...$,...YV($)};let{es5:w,lines:G}=this.opts.code;this.scope=new oB.ValueScope({scope:{},prefixes:wV,es5:w,lines:G}),this.logger=fV($.logger);let W=$.validateFormats;if($.validateFormats=!1,this.RULES=(0,aB.getRules)(),CX.call(this,GV,$,"NOT SUPPORTED"),CX.call(this,WV,$,"DEPRECATED","warn"),this._metaOpts=TV.call(this),$.formats)XV.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),$.keywords)JV.call(this,$.keywords);if(typeof $.meta=="object")this.addMetaSchema($.meta);ZV.call(this),$.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:$,meta:w,schemaId:G}=this.opts,W=RX;if(G==="id")W={...RX},W.id=W.$id,delete W.$id;if(w&&$)this.addMetaSchema(W,W[G],!1)}defaultMeta(){let{meta:$,schemaId:w}=this.opts;return this.opts.defaultMeta=typeof $=="object"?$[w]||$:void 0}validate($,w){let G;if(typeof $=="string"){if(G=this.getSchema($),!G)throw Error(`no schema with key or ref "${$}"`)}else G=this.compile($);let W=G(w);if(!("$async"in G))this.errors=G.errors;return W}compile($,w){let G=this._addSchema($,w);return G.validate||this._compileSchemaEnv(G)}compileAsync($,w){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:G}=this.opts;return W.call(this,$,w);async function W(M,f){await Y.call(this,M.$schema);let Q=this._addSchema(M,f);return Q.validate||Z.call(this,Q)}async function Y(M){if(M&&!this.getSchema(M))await W.call(this,{$ref:M},!0)}async function Z(M){try{return this._compileSchemaEnv(M)}catch(f){if(!(f instanceof IX.default))throw f;return X.call(this,f),await J.call(this,f.missingSchema),Z.call(this,M)}}function X({missingSchema:M,missingRef:f}){if(this.refs[M])throw Error(`AnySchema ${M} is loaded but ${f} cannot be resolved`)}async function J(M){let f=await T.call(this,M);if(!this.refs[M])await Y.call(this,f.$schema);if(!this.refs[M])this.addSchema(f,M,w)}async function T(M){let f=this._loading[M];if(f)return f;try{return await(this._loading[M]=G(M))}finally{delete this._loading[M]}}}addSchema($,w,G,W=this.opts.validateSchema){if(Array.isArray($)){for(let Z of $)this.addSchema(Z,void 0,G,W);return this}let Y;if(typeof $==="object"){let{schemaId:Z}=this.opts;if(Y=$[Z],Y!==void 0&&typeof Y!="string")throw Error(`schema ${Z} must be string`)}return w=(0,T4.normalizeId)(w||Y),this._checkUnique(w),this.schemas[w]=this._addSchema($,G,w,W,!0),this}addMetaSchema($,w,G=this.opts.validateSchema){return this.addSchema($,w,!0,G),this}validateSchema($,w){if(typeof $=="boolean")return!0;let G;if(G=$.$schema,G!==void 0&&typeof G!="string")throw Error("$schema must be a string");if(G=G||this.opts.defaultMeta||this.defaultMeta(),!G)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(G,$);if(!W&&w){let Y="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(Y);else throw Error(Y)}return W}getSchema($){let w;while(typeof(w=yX.call(this,$))=="string")$=w;if(w===void 0){let{schemaId:G}=this.opts,W=new J4.SchemaEnv({schema:{},schemaId:G});if(w=J4.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=yX.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 G=$[this.opts.schemaId];if(G)G=(0,T4.normalizeId)(G),delete this.schemas[G],delete this.refs[G];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary($){for(let w of $)this.addKeyword(w);return this}addKeyword($,w){let G;if(typeof $=="string"){if(G=$,typeof w=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),w.keyword=G}else if(typeof $=="object"&&w===void 0){if(w=$,G=w.keyword,Array.isArray(G)&&!G.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(NV.call(this,G,w),!w)return(0,EG.eachItem)(G,(Y)=>qG.call(this,Y)),this;KV.call(this,w);let W={...w,type:(0,C8.getJSONTypes)(w.type),schemaType:(0,C8.getJSONTypes)(w.schemaType)};return(0,EG.eachItem)(G,W.type.length===0?(Y)=>qG.call(this,Y,W):(Y)=>W.type.forEach((Z)=>qG.call(this,Y,W,Z))),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 G of w.rules){let W=G.rules.findIndex((Y)=>Y.keyword===$);if(W>=0)G.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:G="data"}={}){if(!$||$.length===0)return"No errors";return $.map((W)=>`${G}${W.instancePath} ${W.message}`).reduce((W,Y)=>W+w+Y)}$dataMetaSchema($,w){let G=this.RULES.all;$=JSON.parse(JSON.stringify($));for(let W of w){let Y=W.split("/").slice(1),Z=$;for(let X of Y)Z=Z[X];for(let X in G){let J=G[X];if(typeof J!="object")continue;let{$data:T}=J.definition,M=Z[X];if(T&&M)Z[X]=xX(M)}}return $}_removeAllSchemas($,w){for(let G in $){let W=$[G];if(!w||w.test(G)){if(typeof W=="string")delete $[G];else if(W&&!W.meta)this._cache.delete(W.schema),delete $[G]}}}_addSchema($,w,G,W=this.opts.validateSchema,Y=this.opts.addUsedSchema){let Z,{schemaId:X}=this.opts;if(typeof $=="object")Z=$[X];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;G=(0,T4.normalizeId)(Z||G);let T=T4.getSchemaRefs.call(this,$,G);if(J=new J4.SchemaEnv({schema:$,schemaId:X,meta:w,baseId:G,localRefs:T}),this._cache.set(J.schema,J),Y&&!G.startsWith("#")){if(G)this._checkUnique(G);this.refs[G]=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 J4.compileSchema.call(this,$);if(!$.validate)throw Error("ajv implementation error");return $.validate}_compileMetaSchema($){let w=this.opts;this.opts=this._metaOpts;try{J4.compileSchema.call(this,$)}finally{this.opts=w}}}y8.ValidationError=sB.default;y8.MissingRefError=IX.default;q1.default=y8;function CX($,w,G,W="error"){for(let Y in $){let Z=Y;if(Z in w)this.logger[W](`${G}: option ${Y}. ${$[Z]}`)}}function yX($){return $=(0,T4.normalizeId)($),this.schemas[$]||this.refs[$]}function ZV(){let $=this.opts.schemas;if(!$)return;if(Array.isArray($))this.addSchema($);else for(let w in $)this.addSchema($[w],w)}function XV(){for(let $ in this.opts.formats){let w=this.opts.formats[$];if(w)this.addFormat($,w)}}function JV($){if(Array.isArray($)){this.addVocabulary($);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let w in $){let G=$[w];if(!G.keyword)G.keyword=w;this.addKeyword(G)}}function TV(){let $={...this.opts};for(let w of $V)delete $[w];return $}var MV={log(){},warn(){},error(){}};function fV($){if($===!1)return MV;if($===void 0)return console;if($.log&&$.warn&&$.error)return $;throw Error("logger must implement log, warn and error methods")}var QV=/^[a-z_$][a-z0-9_$:-]*$/i;function NV($,w){let{RULES:G}=this;if((0,EG.eachItem)($,(W)=>{if(G.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!QV.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 qG($,w,G){var W;let Y=w===null||w===void 0?void 0:w.post;if(G&&Y)throw Error('keyword with "post" flag cannot have "type"');let{RULES:Z}=this,X=Y?Z.post:Z.rules.find(({type:T})=>T===G);if(!X)X={type:G,rules:[]},Z.rules.push(X);if(Z.keywords[$]=!0,!w)return;let J={keyword:$,definition:{...w,type:(0,C8.getJSONTypes)(w.type),schemaType:(0,C8.getJSONTypes)(w.schemaType)}};if(w.before)zV.call(this,X,J,w.before);else X.rules.push(J);Z.all[$]=J,(W=w.implements)===null||W===void 0||W.forEach((T)=>this.addKeyword(T))}function zV($,w,G){let W=$.rules.findIndex((Y)=>Y.keyword===G);if(W>=0)$.rules.splice(W,0,w);else $.rules.push(w),this.logger.warn(`rule ${G} is not defined`)}function KV($){let{metaSchema:w}=$;if(w===void 0)return;if($.$data&&this.opts.$data)w=xX(w);$.validateSchema=this.compile(w,!0)}var PV={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function xX($){return{anyOf:[$,PV]}}});var vX=L((gX)=>{Object.defineProperty(gX,"__esModule",{value:!0});var qV={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};gX.default=qV});var cX=L((mX)=>{Object.defineProperty(mX,"__esModule",{value:!0});mX.callRef=mX.getValidate=void 0;var UV=W4(),uX=i0(),S0=i(),e$=B1(),hX=D8(),I8=c(),HV={keyword:"$ref",schemaType:"string",code($){let{gen:w,schema:G,it:W}=$,{baseId:Y,schemaEnv:Z,validateName:X,opts:J,self:T}=W,{root:M}=Z;if((G==="#"||G==="#/")&&Y===M.baseId)return Q();let f=hX.resolveRef.call(T,M,Y,G);if(f===void 0)throw new UV.default(W.opts.uriResolver,Y,G);if(f instanceof hX.SchemaEnv)return N(f);return z(f);function Q(){if(Z===M)return b8($,X,Z,Z.$async);let K=w.scopeValue("root",{ref:M});return b8($,S0._`${K}.validate`,M,M.$async)}function N(K){let P=iX($,K);b8($,P,K,K.$async)}function z(K){let P=w.scopeValue("schema",J.code.source===!0?{ref:K,code:(0,S0.stringify)(K)}:{ref:K}),q=w.name("valid"),V=$.subschema({schema:K,dataTypes:[],schemaPath:S0.nil,topSchemaRef:P,errSchemaPath:G},q);$.mergeEvaluated(V),$.ok(q)}}};function iX($,w){let{gen:G}=$;return w.validate?G.scopeValue("validate",{ref:w.validate}):S0._`${G.scopeValue("wrapper",{ref:w})}.validate`}mX.getValidate=iX;function b8($,w,G,W){let{gen:Y,it:Z}=$,{allErrors:X,schemaEnv:J,opts:T}=Z,M=T.passContext?e$.default.this:S0.nil;if(W)f();else Q();function f(){if(!J.$async)throw Error("async schema referenced by sync schema");let K=Y.let("valid");Y.try(()=>{if(Y.code(S0._`await ${(0,uX.callValidateCode)($,w,M)}`),z(w),!X)Y.assign(K,!0)},(P)=>{if(Y.if(S0._`!(${P} instanceof ${Z.ValidationError})`,()=>Y.throw(P)),N(P),!X)Y.assign(K,!1)}),$.ok(K)}function Q(){$.result((0,uX.callValidateCode)($,w,M),()=>z(w),()=>N(w))}function N(K){let P=S0._`${K}.errors`;Y.assign(e$.default.vErrors,S0._`${e$.default.vErrors} === null ? ${P} : ${e$.default.vErrors}.concat(${P})`),Y.assign(e$.default.errors,S0._`${e$.default.vErrors}.length`)}function z(K){var P;if(!Z.opts.unevaluated)return;let q=(P=G===null||G===void 0?void 0:G.validate)===null||P===void 0?void 0:P.evaluated;if(Z.props!==!0)if(q&&!q.dynamicProps){if(q.props!==void 0)Z.props=I8.mergeEvaluated.props(Y,q.props,Z.props)}else{let V=Y.var("props",S0._`${K}.evaluated.props`);Z.props=I8.mergeEvaluated.props(Y,V,Z.props,S0.Name)}if(Z.items!==!0)if(q&&!q.dynamicItems){if(q.items!==void 0)Z.items=I8.mergeEvaluated.items(Y,q.items,Z.items)}else{let V=Y.var("items",S0._`${K}.evaluated.items`);Z.items=I8.mergeEvaluated.items(Y,V,Z.items,S0.Name)}}}mX.callRef=b8;mX.default=HV});var nX=L((dX)=>{Object.defineProperty(dX,"__esModule",{value:!0});var LV=vX(),DV=cX(),kV=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",LV.default,DV.default];dX.default=kV});var tX=L((pX)=>{Object.defineProperty(pX,"__esModule",{value:!0});var x8=i(),i1=x8.operators,_8={maximum:{okStr:"<=",ok:i1.LTE,fail:i1.GT},minimum:{okStr:">=",ok:i1.GTE,fail:i1.LT},exclusiveMaximum:{okStr:"<",ok:i1.LT,fail:i1.GTE},exclusiveMinimum:{okStr:">",ok:i1.GT,fail:i1.LTE}},SV={message:({keyword:$,schemaCode:w})=>x8.str`must be ${_8[$].okStr} ${w}`,params:({keyword:$,schemaCode:w})=>x8._`{comparison: ${_8[$].okStr}, limit: ${w}}`},RV={keyword:Object.keys(_8),type:"number",schemaType:"number",$data:!0,error:SV,code($){let{keyword:w,data:G,schemaCode:W}=$;$.fail$data(x8._`${G} ${_8[w].fail} ${W} || isNaN(${G})`)}};pX.default=RV});var sX=L((rX)=>{Object.defineProperty(rX,"__esModule",{value:!0});var M4=i(),CV={message:({schemaCode:$})=>M4.str`must be multiple of ${$}`,params:({schemaCode:$})=>M4._`{multipleOf: ${$}}`},yV={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:CV,code($){let{gen:w,data:G,schemaCode:W,it:Y}=$,Z=Y.opts.multipleOfPrecision,X=w.let("res"),J=Z?M4._`Math.abs(Math.round(${X}) - ${X}) > 1e-${Z}`:M4._`${X} !== parseInt(${X})`;$.fail$data(M4._`(${W} === 0 || (${X} = ${G}/${W}, ${J}))`)}};rX.default=yV});var eX=L((oX)=>{Object.defineProperty(oX,"__esModule",{value:!0});function aX($){let w=$.length,G=0,W=0,Y;while(W<w)if(G++,Y=$.charCodeAt(W++),Y>=55296&&Y<=56319&&W<w){if(Y=$.charCodeAt(W),(Y&64512)===56320)W++}return G}oX.default=aX;aX.code='require("ajv/dist/runtime/ucs2length").default'});var w7=L(($7)=>{Object.defineProperty($7,"__esModule",{value:!0});var f$=i(),xV=c(),_V=eX(),gV={message({keyword:$,schemaCode:w}){let G=$==="maxLength"?"more":"fewer";return f$.str`must NOT have ${G} than ${w} characters`},params:({schemaCode:$})=>f$._`{limit: ${$}}`},vV={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:gV,code($){let{keyword:w,data:G,schemaCode:W,it:Y}=$,Z=w==="maxLength"?f$.operators.GT:f$.operators.LT,X=Y.opts.unicode===!1?f$._`${G}.length`:f$._`${(0,xV.useFunc)($.gen,_V.default)}(${G})`;$.fail$data(f$._`${X} ${Z} ${W}`)}};$7.default=vV});var W7=L((G7)=>{Object.defineProperty(G7,"__esModule",{value:!0});var hV=i0(),iV=c(),$w=i(),mV={message:({schemaCode:$})=>$w.str`must match pattern "${$}"`,params:({schemaCode:$})=>$w._`{pattern: ${$}}`},lV={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:mV,code($){let{gen:w,data:G,$data:W,schema:Y,schemaCode:Z,it:X}=$,J=X.opts.unicodeRegExp?"u":"";if(W){let{regExp:T}=X.opts.code,M=T.code==="new RegExp"?$w._`new RegExp`:(0,iV.useFunc)(w,T),f=w.let("valid");w.try(()=>w.assign(f,$w._`${M}(${Z}, ${J}).test(${G})`),()=>w.assign(f,!1)),$.fail$data($w._`!${f}`)}else{let T=(0,hV.usePattern)($,Y);$.fail$data($w._`!${T}.test(${G})`)}}};G7.default=lV});var Z7=L((Y7)=>{Object.defineProperty(Y7,"__esModule",{value:!0});var f4=i(),dV={message({keyword:$,schemaCode:w}){let G=$==="maxProperties"?"more":"fewer";return f4.str`must NOT have ${G} than ${w} properties`},params:({schemaCode:$})=>f4._`{limit: ${$}}`},nV={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:dV,code($){let{keyword:w,data:G,schemaCode:W}=$,Y=w==="maxProperties"?f4.operators.GT:f4.operators.LT;$.fail$data(f4._`Object.keys(${G}).length ${Y} ${W}`)}};Y7.default=nV});var J7=L((X7)=>{Object.defineProperty(X7,"__esModule",{value:!0});var Q4=i0(),N4=i(),tV=c(),rV={message:({params:{missingProperty:$}})=>N4.str`must have required property '${$}'`,params:({params:{missingProperty:$}})=>N4._`{missingProperty: ${$}}`},sV={keyword:"required",type:"object",schemaType:"array",$data:!0,error:rV,code($){let{gen:w,schema:G,schemaCode:W,data:Y,$data:Z,it:X}=$,{opts:J}=X;if(!Z&&G.length===0)return;let T=G.length>=J.loopRequired;if(X.allErrors)M();else f();if(J.strictRequired){let z=$.parentSchema.properties,{definedProperties:K}=$.it;for(let P of G)if((z===null||z===void 0?void 0:z[P])===void 0&&!K.has(P)){let q=X.schemaEnv.baseId+X.errSchemaPath,V=`required property "${P}" is not defined at "${q}" (strictRequired)`;(0,tV.checkStrictMode)(X,V,X.opts.strictRequired)}}function M(){if(T||Z)$.block$data(N4.nil,Q);else for(let z of G)(0,Q4.checkReportMissingProp)($,z)}function f(){let z=w.let("missing");if(T||Z){let K=w.let("valid",!0);$.block$data(K,()=>N(z,K)),$.ok(K)}else w.if((0,Q4.checkMissingProp)($,G,z)),(0,Q4.reportMissingProp)($,z),w.else()}function Q(){w.forOf("prop",W,(z)=>{$.setParams({missingProperty:z}),w.if((0,Q4.noPropertyInData)(w,Y,z,J.ownProperties),()=>$.error())})}function N(z,K){$.setParams({missingProperty:z}),w.forOf(z,W,()=>{w.assign(K,(0,Q4.propertyInData)(w,Y,z,J.ownProperties)),w.if((0,N4.not)(K),()=>{$.error(),w.break()})},N4.nil)}}};X7.default=sV});var M7=L((T7)=>{Object.defineProperty(T7,"__esModule",{value:!0});var z4=i(),oV={message({keyword:$,schemaCode:w}){let G=$==="maxItems"?"more":"fewer";return z4.str`must NOT have ${G} than ${w} items`},params:({schemaCode:$})=>z4._`{limit: ${$}}`},eV={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:oV,code($){let{keyword:w,data:G,schemaCode:W}=$,Y=w==="maxItems"?z4.operators.GT:z4.operators.LT;$.fail$data(z4._`${G}.length ${Y} ${W}`)}};T7.default=eV});var g8=L((Q7)=>{Object.defineProperty(Q7,"__esModule",{value:!0});var f7=e5();f7.code='require("ajv/dist/runtime/equal").default';Q7.default=f7});var z7=L((N7)=>{Object.defineProperty(N7,"__esModule",{value:!0});var UG=ow(),z0=i(),Gq=c(),Wq=g8(),Yq={message:({params:{i:$,j:w}})=>z0.str`must NOT have duplicate items (items ## ${w} and ${$} are identical)`,params:({params:{i:$,j:w}})=>z0._`{i: ${$}, j: ${w}}`},Zq={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Yq,code($){let{gen:w,data:G,$data:W,schema:Y,parentSchema:Z,schemaCode:X,it:J}=$;if(!W&&!Y)return;let T=w.let("valid"),M=Z.items?(0,UG.getSchemaTypes)(Z.items):[];$.block$data(T,f,z0._`${X} === false`),$.ok(T);function f(){let K=w.let("i",z0._`${G}.length`),P=w.let("j");$.setParams({i:K,j:P}),w.assign(T,!0),w.if(z0._`${K} > 1`,()=>(Q()?N:z)(K,P))}function Q(){return M.length>0&&!M.some((K)=>K==="object"||K==="array")}function N(K,P){let q=w.name("item"),V=(0,UG.checkDataTypes)(M,q,J.opts.strictNumbers,UG.DataType.Wrong),E=w.const("indices",z0._`{}`);w.for(z0._`;${K}--;`,()=>{if(w.let(q,z0._`${G}[${K}]`),w.if(V,z0._`continue`),M.length>1)w.if(z0._`typeof ${q} == "string"`,z0._`${q} += "_"`);w.if(z0._`typeof ${E}[${q}] == "number"`,()=>{w.assign(P,z0._`${E}[${q}]`),$.error(),w.assign(T,!1).break()}).code(z0._`${E}[${q}] = ${K}`)})}function z(K,P){let q=(0,Gq.useFunc)(w,Wq.default),V=w.name("outer");w.label(V).for(z0._`;${K}--;`,()=>w.for(z0._`${P} = ${K}; ${P}--;`,()=>w.if(z0._`${q}(${G}[${K}], ${G}[${P}])`,()=>{$.error(),w.assign(T,!1).break(V)})))}}};N7.default=Zq});var P7=L((K7)=>{Object.defineProperty(K7,"__esModule",{value:!0});var HG=i(),Jq=c(),Tq=g8(),Mq={message:"must be equal to constant",params:({schemaCode:$})=>HG._`{allowedValue: ${$}}`},fq={keyword:"const",$data:!0,error:Mq,code($){let{gen:w,data:G,$data:W,schemaCode:Y,schema:Z}=$;if(W||Z&&typeof Z=="object")$.fail$data(HG._`!${(0,Jq.useFunc)(w,Tq.default)}(${G}, ${Y})`);else $.fail(HG._`${Z} !== ${G}`)}};K7.default=fq});var V7=L((B7)=>{Object.defineProperty(B7,"__esModule",{value:!0});var K4=i(),Nq=c(),zq=g8(),Kq={message:"must be equal to one of the allowed values",params:({schemaCode:$})=>K4._`{allowedValues: ${$}}`},Pq={keyword:"enum",schemaType:"array",$data:!0,error:Kq,code($){let{gen:w,data:G,$data:W,schema:Y,schemaCode:Z,it:X}=$;if(!W&&Y.length===0)throw Error("enum must have non-empty array");let J=Y.length>=X.opts.loopEnum,T,M=()=>T!==null&&T!==void 0?T:T=(0,Nq.useFunc)(w,zq.default),f;if(J||W)f=w.let("valid"),$.block$data(f,Q);else{if(!Array.isArray(Y))throw Error("ajv implementation error");let z=w.const("vSchema",Z);f=(0,K4.or)(...Y.map((K,P)=>N(z,P)))}$.pass(f);function Q(){w.assign(f,!1),w.forOf("v",Z,(z)=>w.if(K4._`${M()}(${G}, ${z})`,()=>w.assign(f,!0).break()))}function N(z,K){let P=Y[K];return typeof P==="object"&&P!==null?K4._`${M()}(${G}, ${z}[${K}])`:K4._`${G} === ${P}`}}};B7.default=Pq});var E7=L((q7)=>{Object.defineProperty(q7,"__esModule",{value:!0});var Vq=tX(),qq=sX(),Eq=w7(),Uq=W7(),Hq=Z7(),Fq=J7(),Oq=M7(),Lq=z7(),Dq=P7(),kq=V7(),Aq=[Vq.default,qq.default,Eq.default,Uq.default,Hq.default,Fq.default,Oq.default,Lq.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},Dq.default,kq.default];q7.default=Aq});var OG=L((H7)=>{Object.defineProperty(H7,"__esModule",{value:!0});H7.validateAdditionalItems=void 0;var Q$=i(),FG=c(),Rq={message:({params:{len:$}})=>Q$.str`must NOT have more than ${$} items`,params:({params:{len:$}})=>Q$._`{limit: ${$}}`},jq={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:Rq,code($){let{parentSchema:w,it:G}=$,{items:W}=w;if(!Array.isArray(W)){(0,FG.checkStrictMode)(G,'"additionalItems" is ignored when "items" is not an array of schemas');return}U7($,W)}};function U7($,w){let{gen:G,schema:W,data:Y,keyword:Z,it:X}=$;X.items=!0;let J=G.const("len",Q$._`${Y}.length`);if(W===!1)$.setParams({len:w.length}),$.pass(Q$._`${J} <= ${w.length}`);else if(typeof W=="object"&&!(0,FG.alwaysValidSchema)(X,W)){let M=G.var("valid",Q$._`${J} <= ${w.length}`);G.if((0,Q$.not)(M),()=>T(M)),$.ok(M)}function T(M){G.forRange("i",w.length,J,(f)=>{if($.subschema({keyword:Z,dataProp:f,dataPropType:FG.Type.Num},M),!X.allErrors)G.if((0,Q$.not)(M),()=>G.break())})}}H7.validateAdditionalItems=U7;H7.default=jq});var LG=L((D7)=>{Object.defineProperty(D7,"__esModule",{value:!0});D7.validateTuple=void 0;var O7=i(),v8=c(),yq=i0(),Iq={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code($){let{schema:w,it:G}=$;if(Array.isArray(w))return L7($,"additionalItems",w);if(G.items=!0,(0,v8.alwaysValidSchema)(G,w))return;$.ok((0,yq.validateArray)($))}};function L7($,w,G=$.schema){let{gen:W,parentSchema:Y,data:Z,keyword:X,it:J}=$;if(f(Y),J.opts.unevaluated&&G.length&&J.items!==!0)J.items=v8.mergeEvaluated.items(W,G.length,J.items);let T=W.name("valid"),M=W.const("len",O7._`${Z}.length`);G.forEach((Q,N)=>{if((0,v8.alwaysValidSchema)(J,Q))return;W.if(O7._`${M} > ${N}`,()=>$.subschema({keyword:X,schemaProp:N,dataProp:N},T)),$.ok(T)});function f(Q){let{opts:N,errSchemaPath:z}=J,K=G.length,P=K===Q.minItems&&(K===Q.maxItems||Q[w]===!1);if(N.strictTuples&&!P){let q=`"${X}" is ${K}-tuple, but minItems or maxItems/${w} are not specified or different at path "${z}"`;(0,v8.checkStrictMode)(J,q,N.strictTuples)}}}D7.validateTuple=L7;D7.default=Iq});var S7=L((A7)=>{Object.defineProperty(A7,"__esModule",{value:!0});var xq=LG(),_q={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:($)=>(0,xq.validateTuple)($,"items")};A7.default=_q});var C7=L((j7)=>{Object.defineProperty(j7,"__esModule",{value:!0});var R7=i(),vq=c(),uq=i0(),hq=OG(),iq={message:({params:{len:$}})=>R7.str`must NOT have more than ${$} items`,params:({params:{len:$}})=>R7._`{limit: ${$}}`},mq={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:iq,code($){let{schema:w,parentSchema:G,it:W}=$,{prefixItems:Y}=G;if(W.items=!0,(0,vq.alwaysValidSchema)(W,w))return;if(Y)(0,hq.validateAdditionalItems)($,Y);else $.ok((0,uq.validateArray)($))}};j7.default=mq});var I7=L((y7)=>{Object.defineProperty(y7,"__esModule",{value:!0});var m0=i(),u8=c(),cq={message:({params:{min:$,max:w}})=>w===void 0?m0.str`must contain at least ${$} valid item(s)`:m0.str`must contain at least ${$} and no more than ${w} valid item(s)`,params:({params:{min:$,max:w}})=>w===void 0?m0._`{minContains: ${$}}`:m0._`{minContains: ${$}, maxContains: ${w}}`},dq={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:cq,code($){let{gen:w,schema:G,parentSchema:W,data:Y,it:Z}=$,X,J,{minContains:T,maxContains:M}=W;if(Z.opts.next)X=T===void 0?1:T,J=M;else X=1;let f=w.const("len",m0._`${Y}.length`);if($.setParams({min:X,max:J}),J===void 0&&X===0){(0,u8.checkStrictMode)(Z,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(J!==void 0&&X>J){(0,u8.checkStrictMode)(Z,'"minContains" > "maxContains" is always invalid'),$.fail();return}if((0,u8.alwaysValidSchema)(Z,G)){let P=m0._`${f} >= ${X}`;if(J!==void 0)P=m0._`${P} && ${f} <= ${J}`;$.pass(P);return}Z.items=!0;let Q=w.name("valid");if(J===void 0&&X===1)z(Q,()=>w.if(Q,()=>w.break()));else if(X===0){if(w.let(Q,!0),J!==void 0)w.if(m0._`${Y}.length > 0`,N)}else w.let(Q,!1),N();$.result(Q,()=>$.reset());function N(){let P=w.name("_valid"),q=w.let("count",0);z(P,()=>w.if(P,()=>K(q)))}function z(P,q){w.forRange("i",0,f,(V)=>{$.subschema({keyword:"contains",dataProp:V,dataPropType:u8.Type.Num,compositeRule:!0},P),q()})}function K(P){if(w.code(m0._`${P}++`),J===void 0)w.if(m0._`${P} >= ${X}`,()=>w.assign(Q,!0).break());else if(w.if(m0._`${P} > ${J}`,()=>w.assign(Q,!1).break()),X===1)w.assign(Q,!0);else w.if(m0._`${P} >= ${X}`,()=>w.assign(Q,!0))}}};y7.default=dq});var u7=L((_7)=>{Object.defineProperty(_7,"__esModule",{value:!0});_7.validateSchemaDeps=_7.validatePropertyDeps=_7.error=void 0;var DG=i(),pq=c(),P4=i0();_7.error={message:({params:{property:$,depsCount:w,deps:G}})=>{let W=w===1?"property":"properties";return DG.str`must have ${W} ${G} when property ${$} is present`},params:({params:{property:$,depsCount:w,deps:G,missingProperty:W}})=>DG._`{property: ${$},
|
|
33
|
+
missingProperty: ${W},
|
|
34
34
|
depsCount: ${w},
|
|
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
|
|
37
|
-
... [${
|
|
38
|
-
${$.slice($.length-
|
|
35
|
+
deps: ${G}}`};var tq={keyword:"dependencies",type:"object",schemaType:"object",error:_7.error,code($){let[w,G]=rq($);b7($,w),x7($,G)}};function rq({schema:$}){let w={},G={};for(let W in $){if(W==="__proto__")continue;let Y=Array.isArray($[W])?w:G;Y[W]=$[W]}return[w,G]}function b7($,w=$.schema){let{gen:G,data:W,it:Y}=$;if(Object.keys(w).length===0)return;let Z=G.let("missing");for(let X in w){let J=w[X];if(J.length===0)continue;let T=(0,P4.propertyInData)(G,W,X,Y.opts.ownProperties);if($.setParams({property:X,depsCount:J.length,deps:J.join(", ")}),Y.allErrors)G.if(T,()=>{for(let M of J)(0,P4.checkReportMissingProp)($,M)});else G.if(DG._`${T} && (${(0,P4.checkMissingProp)($,J,Z)})`),(0,P4.reportMissingProp)($,Z),G.else()}}_7.validatePropertyDeps=b7;function x7($,w=$.schema){let{gen:G,data:W,keyword:Y,it:Z}=$,X=G.name("valid");for(let J in w){if((0,pq.alwaysValidSchema)(Z,w[J]))continue;G.if((0,P4.propertyInData)(G,W,J,Z.opts.ownProperties),()=>{let T=$.subschema({keyword:Y,schemaProp:J},X);$.mergeValidEvaluated(T,X)},()=>G.var(X,!0)),$.ok(X)}}_7.validateSchemaDeps=x7;_7.default=tq});var m7=L((i7)=>{Object.defineProperty(i7,"__esModule",{value:!0});var h7=i(),oq=c(),eq={message:"property name must be valid",params:({params:$})=>h7._`{propertyName: ${$.propertyName}}`},$E={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:eq,code($){let{gen:w,schema:G,data:W,it:Y}=$;if((0,oq.alwaysValidSchema)(Y,G))return;let Z=w.name("valid");w.forIn("key",W,(X)=>{$.setParams({propertyName:X}),$.subschema({keyword:"propertyNames",data:X,dataTypes:["string"],propertyName:X,compositeRule:!0},Z),w.if((0,h7.not)(Z),()=>{if($.error(!0),!Y.allErrors)w.break()})}),$.ok(Z)}};i7.default=$E});var kG=L((l7)=>{Object.defineProperty(l7,"__esModule",{value:!0});var h8=i0(),s0=i(),GE=B1(),i8=c(),WE={message:"must NOT have additional properties",params:({params:$})=>s0._`{additionalProperty: ${$.additionalProperty}}`},YE={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:WE,code($){let{gen:w,schema:G,parentSchema:W,data:Y,errsCount:Z,it:X}=$;if(!Z)throw Error("ajv implementation error");let{allErrors:J,opts:T}=X;if(X.props=!0,T.removeAdditional!=="all"&&(0,i8.alwaysValidSchema)(X,G))return;let M=(0,h8.allSchemaProperties)(W.properties),f=(0,h8.allSchemaProperties)(W.patternProperties);Q(),$.ok(s0._`${Z} === ${GE.default.errors}`);function Q(){w.forIn("key",Y,(q)=>{if(!M.length&&!f.length)K(q);else w.if(N(q),()=>K(q))})}function N(q){let V;if(M.length>8){let E=(0,i8.schemaRefOrVal)(X,W.properties,"properties");V=(0,h8.isOwnProperty)(w,E,q)}else if(M.length)V=(0,s0.or)(...M.map((E)=>s0._`${q} === ${E}`));else V=s0.nil;if(f.length)V=(0,s0.or)(V,...f.map((E)=>s0._`${(0,h8.usePattern)($,E)}.test(${q})`));return(0,s0.not)(V)}function z(q){w.code(s0._`delete ${Y}[${q}]`)}function K(q){if(T.removeAdditional==="all"||T.removeAdditional&&G===!1){z(q);return}if(G===!1){if($.setParams({additionalProperty:q}),$.error(),!J)w.break();return}if(typeof G=="object"&&!(0,i8.alwaysValidSchema)(X,G)){let V=w.name("valid");if(T.removeAdditional==="failing")P(q,V,!1),w.if((0,s0.not)(V),()=>{$.reset(),z(q)});else if(P(q,V),!J)w.if((0,s0.not)(V),()=>w.break())}}function P(q,V,E){let O={keyword:"additionalProperties",dataProp:q,dataPropType:i8.Type.Str};if(E===!1)Object.assign(O,{compositeRule:!0,createErrors:!1,allErrors:!1});$.subschema(O,V)}}};l7.default=YE});var p7=L((n7)=>{Object.defineProperty(n7,"__esModule",{value:!0});var XE=G4(),c7=i0(),AG=c(),d7=kG(),JE={keyword:"properties",type:"object",schemaType:"object",code($){let{gen:w,schema:G,parentSchema:W,data:Y,it:Z}=$;if(Z.opts.removeAdditional==="all"&&W.additionalProperties===void 0)d7.default.code(new XE.KeywordCxt(Z,d7.default,"additionalProperties"));let X=(0,c7.allSchemaProperties)(G);for(let Q of X)Z.definedProperties.add(Q);if(Z.opts.unevaluated&&X.length&&Z.props!==!0)Z.props=AG.mergeEvaluated.props(w,(0,AG.toHash)(X),Z.props);let J=X.filter((Q)=>!(0,AG.alwaysValidSchema)(Z,G[Q]));if(J.length===0)return;let T=w.name("valid");for(let Q of J){if(M(Q))f(Q);else{if(w.if((0,c7.propertyInData)(w,Y,Q,Z.opts.ownProperties)),f(Q),!Z.allErrors)w.else().var(T,!0);w.endIf()}$.it.definedProperties.add(Q),$.ok(T)}function M(Q){return Z.opts.useDefaults&&!Z.compositeRule&&G[Q].default!==void 0}function f(Q){$.subschema({keyword:"properties",schemaProp:Q,dataProp:Q},T)}}};n7.default=JE});var o7=L((a7)=>{Object.defineProperty(a7,"__esModule",{value:!0});var t7=i0(),m8=i(),r7=c(),s7=c(),ME={keyword:"patternProperties",type:"object",schemaType:"object",code($){let{gen:w,schema:G,data:W,parentSchema:Y,it:Z}=$,{opts:X}=Z,J=(0,t7.allSchemaProperties)(G),T=J.filter((P)=>(0,r7.alwaysValidSchema)(Z,G[P]));if(J.length===0||T.length===J.length&&(!Z.opts.unevaluated||Z.props===!0))return;let M=X.strictSchema&&!X.allowMatchingProperties&&Y.properties,f=w.name("valid");if(Z.props!==!0&&!(Z.props instanceof m8.Name))Z.props=(0,s7.evaluatedPropsToName)(w,Z.props);let{props:Q}=Z;N();function N(){for(let P of J){if(M)z(P);if(Z.allErrors)K(P);else w.var(f,!0),K(P),w.if(f)}}function z(P){for(let q in M)if(new RegExp(P).test(q))(0,r7.checkStrictMode)(Z,`property ${q} matches pattern ${P} (use allowMatchingProperties)`)}function K(P){w.forIn("key",W,(q)=>{w.if(m8._`${(0,t7.usePattern)($,P)}.test(${q})`,()=>{let V=T.includes(P);if(!V)$.subschema({keyword:"patternProperties",schemaProp:P,dataProp:q,dataPropType:s7.Type.Str},f);if(Z.opts.unevaluated&&Q!==!0)w.assign(m8._`${Q}[${q}]`,!0);else if(!V&&!Z.allErrors)w.if((0,m8.not)(f),()=>w.break())})})}}};a7.default=ME});var $J=L((e7)=>{Object.defineProperty(e7,"__esModule",{value:!0});var QE=c(),NE={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code($){let{gen:w,schema:G,it:W}=$;if((0,QE.alwaysValidSchema)(W,G)){$.fail();return}let Y=w.name("valid");$.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},Y),$.failResult(Y,()=>$.reset(),()=>$.error())},error:{message:"must NOT be valid"}};e7.default=NE});var GJ=L((wJ)=>{Object.defineProperty(wJ,"__esModule",{value:!0});var KE=i0(),PE={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:KE.validateUnion,error:{message:"must match a schema in anyOf"}};wJ.default=PE});var YJ=L((WJ)=>{Object.defineProperty(WJ,"__esModule",{value:!0});var l8=i(),VE=c(),qE={message:"must match exactly one schema in oneOf",params:({params:$})=>l8._`{passingSchemas: ${$.passing}}`},EE={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:qE,code($){let{gen:w,schema:G,parentSchema:W,it:Y}=$;if(!Array.isArray(G))throw Error("ajv implementation error");if(Y.opts.discriminator&&W.discriminator)return;let Z=G,X=w.let("valid",!1),J=w.let("passing",null),T=w.name("_valid");$.setParams({passing:J}),w.block(M),$.result(X,()=>$.reset(),()=>$.error(!0));function M(){Z.forEach((f,Q)=>{let N;if((0,VE.alwaysValidSchema)(Y,f))w.var(T,!0);else N=$.subschema({keyword:"oneOf",schemaProp:Q,compositeRule:!0},T);if(Q>0)w.if(l8._`${T} && ${X}`).assign(X,!1).assign(J,l8._`[${J}, ${Q}]`).else();w.if(T,()=>{if(w.assign(X,!0),w.assign(J,Q),N)$.mergeEvaluated(N,l8.Name)})})}}};WJ.default=EE});var XJ=L((ZJ)=>{Object.defineProperty(ZJ,"__esModule",{value:!0});var HE=c(),FE={keyword:"allOf",schemaType:"array",code($){let{gen:w,schema:G,it:W}=$;if(!Array.isArray(G))throw Error("ajv implementation error");let Y=w.name("valid");G.forEach((Z,X)=>{if((0,HE.alwaysValidSchema)(W,Z))return;let J=$.subschema({keyword:"allOf",schemaProp:X},Y);$.ok(Y),$.mergeEvaluated(J)})}};ZJ.default=FE});var fJ=L((MJ)=>{Object.defineProperty(MJ,"__esModule",{value:!0});var c8=i(),TJ=c(),LE={message:({params:$})=>c8.str`must match "${$.ifClause}" schema`,params:({params:$})=>c8._`{failingKeyword: ${$.ifClause}}`},DE={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:LE,code($){let{gen:w,parentSchema:G,it:W}=$;if(G.then===void 0&&G.else===void 0)(0,TJ.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let Y=JJ(W,"then"),Z=JJ(W,"else");if(!Y&&!Z)return;let X=w.let("valid",!0),J=w.name("_valid");if(T(),$.reset(),Y&&Z){let f=w.let("ifClause");$.setParams({ifClause:f}),w.if(J,M("then",f),M("else",f))}else if(Y)w.if(J,M("then"));else w.if((0,c8.not)(J),M("else"));$.pass(X,()=>$.error(!0));function T(){let f=$.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},J);$.mergeEvaluated(f)}function M(f,Q){return()=>{let N=$.subschema({keyword:f},J);if(w.assign(X,J),$.mergeValidEvaluated(N,X),Q)w.assign(Q,c8._`${f}`);else $.setParams({ifClause:f})}}}};function JJ($,w){let G=$.schema[w];return G!==void 0&&!(0,TJ.alwaysValidSchema)($,G)}MJ.default=DE});var NJ=L((QJ)=>{Object.defineProperty(QJ,"__esModule",{value:!0});var AE=c(),SE={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:$,parentSchema:w,it:G}){if(w.if===void 0)(0,AE.checkStrictMode)(G,`"${$}" without "if" is ignored`)}};QJ.default=SE});var KJ=L((zJ)=>{Object.defineProperty(zJ,"__esModule",{value:!0});var jE=OG(),CE=S7(),yE=LG(),IE=C7(),bE=I7(),xE=u7(),_E=m7(),gE=kG(),vE=p7(),uE=o7(),hE=$J(),iE=GJ(),mE=YJ(),lE=XJ(),cE=fJ(),dE=NJ();function nE($=!1){let w=[hE.default,iE.default,mE.default,lE.default,cE.default,dE.default,_E.default,gE.default,xE.default,vE.default,uE.default];if($)w.push(CE.default,IE.default);else w.push(jE.default,yE.default);return w.push(bE.default),w}zJ.default=nE});var BJ=L((PJ)=>{Object.defineProperty(PJ,"__esModule",{value:!0});var w0=i(),tE={message:({schemaCode:$})=>w0.str`must match format "${$}"`,params:({schemaCode:$})=>w0._`{format: ${$}}`},rE={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:tE,code($,w){let{gen:G,data:W,$data:Y,schema:Z,schemaCode:X,it:J}=$,{opts:T,errSchemaPath:M,schemaEnv:f,self:Q}=J;if(!T.validateFormats)return;if(Y)N();else z();function N(){let K=G.scopeValue("formats",{ref:Q.formats,code:T.code.formats}),P=G.const("fDef",w0._`${K}[${X}]`),q=G.let("fType"),V=G.let("format");G.if(w0._`typeof ${P} == "object" && !(${P} instanceof RegExp)`,()=>G.assign(q,w0._`${P}.type || "string"`).assign(V,w0._`${P}.validate`),()=>G.assign(q,w0._`"string"`).assign(V,P)),$.fail$data((0,w0.or)(E(),O()));function E(){if(T.strictSchema===!1)return w0.nil;return w0._`${X} && !${V}`}function O(){let A=f.$async?w0._`(${P}.async ? await ${V}(${W}) : ${V}(${W}))`:w0._`${V}(${W})`,R=w0._`(typeof ${V} == "function" ? ${A} : ${V}.test(${W}))`;return w0._`${V} && ${V} !== true && ${q} === ${w} && !${R}`}}function z(){let K=Q.formats[Z];if(!K){E();return}if(K===!0)return;let[P,q,V]=O(K);if(P===w)$.pass(A());function E(){if(T.strictSchema===!1){Q.logger.warn(R());return}throw Error(R());function R(){return`unknown format "${Z}" ignored in schema at path "${M}"`}}function O(R){let S=R instanceof RegExp?(0,w0.regexpCode)(R):T.code.formats?w0._`${T.code.formats}${(0,w0.getProperty)(Z)}`:void 0,_=G.scopeValue("formats",{key:Z,ref:R,code:S});if(typeof R=="object"&&!(R instanceof RegExp))return[R.type||"string",R.validate,w0._`${_}.validate`];return["string",R,_]}function A(){if(typeof K=="object"&&!(K instanceof RegExp)&&K.async){if(!f.$async)throw Error("async format in sync schema");return w0._`await ${V}(${W})`}return typeof q=="function"?w0._`${V}(${W})`:w0._`${V}.test(${W})`}}}};PJ.default=rE});var qJ=L((VJ)=>{Object.defineProperty(VJ,"__esModule",{value:!0});var aE=BJ(),oE=[aE.default];VJ.default=oE});var HJ=L((EJ)=>{Object.defineProperty(EJ,"__esModule",{value:!0});EJ.contentVocabulary=EJ.metadataVocabulary=void 0;EJ.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];EJ.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var LJ=L((OJ)=>{Object.defineProperty(OJ,"__esModule",{value:!0});var wU=nX(),GU=E7(),WU=KJ(),YU=qJ(),FJ=HJ(),ZU=[wU.default,GU.default,(0,WU.default)(),YU.default,FJ.metadataVocabulary,FJ.contentVocabulary];OJ.default=ZU});var SJ=L((kJ)=>{Object.defineProperty(kJ,"__esModule",{value:!0});kJ.DiscrError=void 0;var DJ;(function($){$.Tag="tag",$.Mapping="mapping"})(DJ||(kJ.DiscrError=DJ={}))});var CJ=L((jJ)=>{Object.defineProperty(jJ,"__esModule",{value:!0});var ww=i(),SG=SJ(),RJ=D8(),JU=W4(),TU=c(),MU={message:({params:{discrError:$,tagName:w}})=>$===SG.DiscrError.Tag?`tag "${w}" must be string`:`value of tag "${w}" must be in oneOf`,params:({params:{discrError:$,tag:w,tagName:G}})=>ww._`{error: ${$}, tag: ${G}, tagValue: ${w}}`},fU={keyword:"discriminator",type:"object",schemaType:"object",error:MU,code($){let{gen:w,data:G,schema:W,parentSchema:Y,it:Z}=$,{oneOf:X}=Y;if(!Z.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(!X)throw Error("discriminator: requires oneOf keyword");let T=w.let("valid",!1),M=w.const("tag",ww._`${G}${(0,ww.getProperty)(J)}`);w.if(ww._`typeof ${M} == "string"`,()=>f(),()=>$.error(!1,{discrError:SG.DiscrError.Tag,tag:M,tagName:J})),$.ok(T);function f(){let z=N();w.if(!1);for(let K in z)w.elseIf(ww._`${M} === ${K}`),w.assign(T,Q(z[K]));w.else(),$.error(!1,{discrError:SG.DiscrError.Mapping,tag:M,tagName:J}),w.endIf()}function Q(z){let K=w.name("valid"),P=$.subschema({keyword:"oneOf",schemaProp:z},K);return $.mergeEvaluated(P,ww.Name),K}function N(){var z;let K={},P=V(Y),q=!0;for(let A=0;A<X.length;A++){let R=X[A];if((R===null||R===void 0?void 0:R.$ref)&&!(0,TU.schemaHasRulesButRef)(R,Z.self.RULES)){let _=R.$ref;if(R=RJ.resolveRef.call(Z.self,Z.schemaEnv.root,Z.baseId,_),R instanceof RJ.SchemaEnv)R=R.schema;if(R===void 0)throw new JU.default(Z.opts.uriResolver,Z.baseId,_)}let S=(z=R===null||R===void 0?void 0:R.properties)===null||z===void 0?void 0:z[J];if(typeof S!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${J}"`);q=q&&(P||V(R)),E(S,A)}if(!q)throw Error(`discriminator: "${J}" must be required`);return K;function V({required:A}){return Array.isArray(A)&&A.includes(J)}function E(A,R){if(A.const)O(A.const,R);else if(A.enum)for(let S of A.enum)O(S,R);else throw Error(`discriminator: "properties/${J}" must have "const" or "enum"`)}function O(A,R){if(typeof A!="string"||A in K)throw Error(`discriminator: "${J}" values must be unique strings`);K[A]=R}}}};jJ.default=fU});var yJ=L((sA,NU)=>{NU.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 bJ=L((R0,RG)=>{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 zU=_X(),KU=LJ(),PU=CJ(),IJ=yJ(),BU=["/properties"],d8="http://json-schema.org/draft-07/schema";class B4 extends zU.default{_addVocabularies(){if(super._addVocabularies(),KU.default.forEach(($)=>this.addVocabulary($)),this.opts.discriminator)this.addKeyword(PU.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let $=this.opts.$data?this.$dataMetaSchema(IJ,BU):IJ;this.addMetaSchema($,d8,!1),this.refs["http://json-schema.org/schema"]=d8}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(d8)?d8:void 0)}}R0.Ajv=B4;RG.exports=R0=B4;RG.exports.Ajv=B4;Object.defineProperty(R0,"__esModule",{value:!0});R0.default=B4;var VU=G4();Object.defineProperty(R0,"KeywordCxt",{enumerable:!0,get:function(){return VU.KeywordCxt}});var Gw=i();Object.defineProperty(R0,"_",{enumerable:!0,get:function(){return Gw._}});Object.defineProperty(R0,"str",{enumerable:!0,get:function(){return Gw.str}});Object.defineProperty(R0,"stringify",{enumerable:!0,get:function(){return Gw.stringify}});Object.defineProperty(R0,"nil",{enumerable:!0,get:function(){return Gw.nil}});Object.defineProperty(R0,"Name",{enumerable:!0,get:function(){return Gw.Name}});Object.defineProperty(R0,"CodeGen",{enumerable:!0,get:function(){return Gw.CodeGen}});var qU=O8();Object.defineProperty(R0,"ValidationError",{enumerable:!0,get:function(){return qU.default}});var EU=W4();Object.defineProperty(R0,"MissingRefError",{enumerable:!0,get:function(){return EU.default}})});var X6=L((Gj,sG)=>{var Z6=process||{},KT=Z6.argv||[],Y6=Z6.env||{},qH=!(!!Y6.NO_COLOR||KT.includes("--no-color"))&&(!!Y6.FORCE_COLOR||KT.includes("--color")||Z6.platform==="win32"||(Z6.stdout||{}).isTTY&&Y6.TERM!=="dumb"||!!Y6.CI),EH=($,w,G=$)=>(W)=>{let Y=""+W,Z=Y.indexOf(w,$.length);return~Z?$+UH(Y,w,G,Z)+w:$+Y+w},UH=($,w,G,W)=>{let Y="",Z=0;do Y+=$.substring(Z,W)+G,Z=W+w.length,W=$.indexOf(w,Z);while(~W);return Y+$.substring(Z)},PT=($=qH)=>{let w=$?EH:()=>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")}};sG.exports=PT();sG.exports.createColors=PT});import{realpathSync as XQ}from"fs";import{realpath as yD}from"fs/promises";import ID from"path";import{createInterface as bD}from"readline/promises";import{fileURLToPath as xD}from"url";var wY=c$(S5(),1),{program:rD,createCommand:sD,createArgument:aD,createOption:oD,CommanderError:eD,InvalidArgumentError:$k,InvalidOptionArgumentError:wk,Command:GY,Argument:Gk,Option:Wk,Help:Yk}=wY.default;import WY from"node:os";import J8 from"node:path";function YY(){return process.env.XDG_CONFIG_HOME?J8.join(process.env.XDG_CONFIG_HOME,"coden"):J8.join(WY.homedir(),".config","coden")}function ZY(){return process.env.XDG_DATA_HOME?J8.join(process.env.XDG_DATA_HOME,"coden"):J8.join(WY.homedir(),".local","share","coden")}import{mkdir as TN,readFile as MN,realpath as XY,writeFile as fN}from"node:fs/promises";import QN from"node:path";class R5{file;constructor($){this.file=$}async isTrusted($){return(await this.read()).includes($)}async isWorkspaceTrusted($){return this.isTrusted(await XY($))}async trustWorkspace($){return this.trust(await XY($))}async trust($){let w=await this.read();if(!w.includes($))w.push($);await TN(QN.dirname(this.file),{recursive:!0}),await fN(this.file,`${JSON.stringify(w,null,2)}
|
|
36
|
+
`,{encoding:"utf8",mode:384})}async read(){try{let $=JSON.parse(await MN(this.file,"utf8"));return Array.isArray($)?$.filter((w)=>typeof w==="string"):[]}catch($){if($.code==="ENOENT")return[];throw $}}}function d$($,w){if($.length<=w)return $;let W=Math.max(0,w-80),Y=Math.ceil(W/2),Z=Math.floor(W/2),X=$.length-Y-Z;return`${$.slice(0,Y)}
|
|
37
|
+
... [${X} characters omitted] ...
|
|
38
|
+
${$.slice($.length-Z)}`}class y extends Error{category;code;retryable;details;constructor($,w,G,W=!1,Y,Z){super(G,Z);this.category=$;this.code=w;this.retryable=W;this.details=Y;this.name="CodeNError"}}import{spawn as NN}from"node:child_process";class j5{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 G=$.slice(w);if(G)this.tail=`${this.tail}${G}`.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
|
|
40
|
+
${this.tail}`:`${this.head}${this.tail}`}}var T8=($,w,G)=>new Promise((W)=>{let Y=process.platform!=="win32",Z=NN($,w,{cwd:G.cwd,env:G.env,stdio:["ignore","pipe","pipe"],detached:Y}),X=new j5(G.maxOutputChars),J=new j5(G.maxOutputChars),T=!1,M=!1,f=!1,Q,N,z=(V)=>{if(Y&&Z.pid)try{process.kill(-Z.pid,V);return}catch{}Z.kill(V)},K=(V,E)=>{if(f)return;if((T||M)&&Y&&Z.pid)try{process.kill(-Z.pid,"SIGKILL")}catch{}if(f=!0,clearTimeout(N),Q)clearTimeout(Q);G.signal?.removeEventListener("abort",q),W({ok:!T&&!M&&V===0,stdout:X.value(),stderr:J.value(),exitCode:V,signal:E,timedOut:T,cancelled:M})},P=()=>{if(Q)return;Q=setTimeout(()=>z("SIGKILL"),500),Q.unref()},q=()=>{if(M)return;M=!0,z("SIGTERM"),P()};if(Z.stdout.setEncoding("utf8"),Z.stderr.setEncoding("utf8"),Z.stdout.on("data",(V)=>X.add(V)),Z.stderr.on("data",(V)=>J.add(V)),Z.once("error",(V)=>{J.add(V.message),K(null,null)}),Z.once("close",K),G.signal?.aborted)q();else G.signal?.addEventListener("abort",q,{once:!0});N=setTimeout(()=>{T=!0,z("SIGTERM"),P()},G.timeoutMs)});function zN($){let w=$.timedOut?"bun install timed out":$.cancelled?"bun install cancelled":`bun install exited with code ${$.exitCode??"null"}${$.signal?` (signal ${$.signal})`:""}`;return d$([w,$.stderr?`stderr:
|
|
41
41
|
${$.stderr}`:`stderr:
|
|
42
42
|
<empty>`].join(`
|
|
43
|
-
`),4000)}class
|
|
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
|
|
46
|
-
`,{mode:384}),await
|
|
47
|
-
`,"utf8"),await
|
|
43
|
+
`),4000)}class C5{runner;constructor($=T8){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 G=await this.runner("bun",w,{cwd:$.cwd,env:process.env,...$.signal?{signal:$.signal}:{},timeoutMs:120000,maxOutputChars:30000});if(!G.ok)throw new y("plugin","plugin.install_failed",zN(G))}}import IU from"node:path";import{pathToFileURL as bU}from"node:url";var _J=c$(bJ(),1);var jG=new _J.default({allErrors:!0,strict:!1,useDefaults:!0});class Z1{#$=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 G=this.#$.get($.name);if(G)throw new y("plugin","tool.duplicate",`Duplicate tool: ${$.name} from ${xJ(G.source)} and ${xJ(w)}`);try{jG.compile($.inputSchema)}catch(W){throw new y("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 Z1;return $.#$=new Map(this.#$),$}replaceWith($){this.#$=new Map($.#$)}validate($,w){let G=this.get($);if(!G)return{valid:!1,errors:`Unknown tool: ${$}`};let W=jG.compile(G.inputSchema);return W(w)?{valid:!0}:{valid:!1,errors:jG.errorsText(W.errors)}}}function xJ($){switch($.kind){case"builtin":return"builtin";case"local":return $.path?`local:${$.path}`:"local";case"npm":return $.path?`${$.pluginName}@${$.pluginVersion}:${$.path}`:`${$.pluginName}@${$.pluginVersion}`}}var CG=1;function n8($,w){if(gJ($))return[$];if(!$||typeof $!=="object")throw new y("plugin","plugin.export_invalid","plugin.export_invalid: default export must be a tool or CodeNPlugin");let G=$;if(G.apiVersion!==CG)throw new y("plugin","plugin.api_unsupported",`plugin.api_unsupported: ${String(G.apiVersion)}`);if(G.name!==w)throw new y("plugin","plugin.name_mismatch",`plugin.name_mismatch: expected ${w}, received ${String(G.name)}`);if(!Array.isArray(G.tools)||G.tools.length===0)throw new y("plugin","plugin.export_invalid","plugin.export_invalid: tools must be a non-empty array");if(!G.tools.every(gJ))throw new y("plugin","plugin.export_invalid","plugin.export_invalid: every tool must match ToolDefinition");return G.tools}function gJ($){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 LU}from"node:fs/promises";var FU=/^(?:@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*|[a-z0-9][a-z0-9._-]*)$/;function N$($){return FU.test($)&&!$.includes("..")&&!$.includes("\\")}function vJ($){if(typeof $!=="string"||!$.startsWith("npm:"))throw V4($);let w=$.slice(4);if(!w||/\s/.test(w)||w.includes("\\")||w.includes("://"))throw V4($);let{packageName:G,requested:W}=OU(w);if(!N$(G))throw V4($);if(!W||/\s/.test(W)||W.includes("\\")||W.includes("/")||W.includes(":")||W.includes(".."))throw V4($);return{source:"npm",packageName:G,requested:W,raw:$}}function OU($){if($.startsWith("@")){let G=$.indexOf("/");if(G<2)throw V4($);let W=$.lastIndexOf("@");if(W<=G)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 V4($){return new y("plugin","plugin.specifier_invalid",`plugin.specifier_invalid: ${String($)}`)}var DU=()=>({schemaVersion:1,plugins:{}});async function E1($){try{let w=JSON.parse(await LU($,"utf8"));return IG(w)}catch(w){if(kU(w))return DU();if(w instanceof y)throw w;throw z$(w,$)}}function yG($){return`${JSON.stringify(IG($),null,2)}
|
|
44
|
+
`}function uJ($){let w=IG($),G={};for(let[W,Y]of Object.entries(w.plugins))G[W]=Y.requested;return{private:!0,dependencies:G}}function IG($){if(!$||typeof $!=="object")throw z$();let w=$;if(w.schemaVersion!==1)throw z$();if(!w.plugins||typeof w.plugins!=="object"||Array.isArray(w.plugins))throw z$();let G={};for(let W of Object.keys(w.plugins).sort()){if(!N$(W))throw z$();let Y=w.plugins[W];if(!Y||typeof Y!=="object"||Array.isArray(Y))throw z$();let Z=Y;if(Z.source!=="npm"||typeof Z.requested!=="string"||!Z.requested)throw z$();G[W]={source:"npm",requested:Z.requested}}return{schemaVersion:1,plugins:G}}function kU($){return typeof $==="object"&&$!==null&&"code"in $&&$.code==="ENOENT"}function z$($,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 AU,realpath as SU}from"node:fs/promises";import p8 from"node:path";async function Ww($,w){if(!N$(w))throw K$();let G=p8.join($,"node_modules",...w.split("/")),W=p8.join(G,"package.json"),Y;try{Y=JSON.parse(await AU(W,"utf8"))}catch{throw K$()}let Z=RU(Y,w),X=await hJ(G),J=p8.resolve(G,Z.entry),T=await hJ(J,!0);if(!jU(X,T))throw bG();return{packageName:w,version:Z.version,packageDirectory:X,entryPath:T,apiVersion:1}}function RU($,w){if(!$||typeof $!=="object")throw K$();let G=$;if(G.name!==w||typeof G.version!=="string"||!G.version)throw K$();if(G.type!=="module")throw K$();if(!G.coden||typeof G.coden!=="object"||Array.isArray(G.coden))throw K$();let W=G.coden;if(W.apiVersion!==1)throw yU(W.apiVersion);if(typeof W.plugin!=="string"||!CU(W.plugin))throw bG();return{version:G.version,entry:W.plugin}}async function hJ($,w=!1){try{return await SU($)}catch{if(w)throw bG();throw K$()}}function jU($,w){return w===$||w.startsWith(`${$}${p8.sep}`)}function CU($){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 K$(){return new y("plugin","plugin.metadata_missing","plugin.metadata_missing")}function yU($){return new y("plugin","plugin.api_unsupported",`plugin.api_unsupported: ${String($)}`)}function bG(){return new y("plugin","plugin.entry_invalid","plugin.entry_invalid")}class xG{importer;constructor($=(w)=>import(w)){this.importer=$}async loadScope($){let w=await E1($.manifestPath),G=[],W=[];for(let Y of Object.keys(w.plugins).sort()){let Z=xU($.runtimeDir,Y);try{let X=await Ww($.runtimeDir,Y);try{let J=await this.importer(bU(X.entryPath).href),T=n8(J.default,Y);G.push({packageName:Y,version:X.version,entryPath:X.entryPath,tools:T})}catch(J){W.push({packageName:Y,path:X.entryPath,message:iJ(J)})}}catch(X){W.push({packageName:Y,path:Z,message:iJ(X)})}}return{loaded:G,failed:W}}}function xU($,w){return IU.join($,"node_modules",...w.split("/"))}function iJ($){return $ instanceof Error?$.message:String($)}import{constants as nU}from"node:fs";import{access as pU,copyFile as tU,mkdir as rU,writeFile as s8}from"node:fs/promises";import c1 from"node:path";import _U from"node:path";import{pathToFileURL as gU}from"node:url";class _G{importer;constructor($=(w)=>import(w)){this.importer=$}async loadScope($){let w=await E1($.manifestPath),G=[],W=[];for(let Y of Object.keys(w.plugins).sort()){let Z=uU($.runtimeDir,Y);try{let X=await Ww($.runtimeDir,Y);try{let J=await this.importer(gU(X.entryPath).href),T=n8(J.default,Y);G.push({packageName:Y,version:X.version,entryPath:X.entryPath,tools:T})}catch(J){W.push({packageName:Y,path:X.entryPath,message:lJ(J)})}}catch(X){W.push({packageName:Y,path:Z,message:lJ(X)})}}return{loaded:G,failed:W}}}function gG($,w,G){let W=new Z1($),Y=new Map(G.map((T)=>[T.packageName,T])),Z=[],X=[];for(let T of w){let M=Y.get(T.packageName);if(M){Z.push({packageName:T.packageName,globalVersion:T.version,projectVersion:M.version});continue}X.push(T)}let J=[...X,...G];for(let T of J)vU(W,T);return{registry:W,effective:J,shadowed:Z}}function vU($,w){let G={kind:"npm",pluginName:w.packageName,pluginVersion:w.version,path:w.entryPath};for(let W of w.tools){let Y=$.source(W.name);if(Y)throw new y("plugin","plugin.tool_conflict",`plugin.tool_conflict: ${W.name} from ${mJ(Y)} conflicts with ${mJ(G)}`);$.register(W,G)}}function uU($,w){return _U.join($,"node_modules",...w.split("/"))}function mJ($){switch($.kind){case"builtin":return"builtin";case"local":return $.path?`local:${$.path}`:"local";case"npm":return $.path?`${$.pluginName}@${$.pluginVersion}:${$.path}`:`${$.pluginName}@${$.pluginVersion}`}}function lJ($){return $ instanceof Error?$.message:String($)}import X1 from"node:path";import{readFile as hU}from"node:fs/promises";import nJ from"node:os";import Yw from"node:path";function t8(){return process.env.XDG_CONFIG_HOME?Yw.join(process.env.XDG_CONFIG_HOME,"coden"):Yw.join(nJ.homedir(),".config","coden")}function vG(){return process.env.XDG_DATA_HOME?Yw.join(process.env.XDG_DATA_HOME,"coden"):Yw.join(nJ.homedir(),".local","share","coden")}async function cJ($){try{let w=JSON.parse(await hU($,"utf8"));return iU(w)}catch(w){if(w.code==="ENOENT")return{};throw Error(`Cannot read config ${$}: ${w instanceof Error?w.message:String(w)}`)}}function iU($){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((G)=>typeof G==="string");if($.env!==void 0){if(typeof $.env!=="object"||$.env===null||Array.isArray($.env))throw Error("env must be an object");let G={};for(let[W,Y]of Object.entries($.env)){if(typeof Y!=="string")throw Error(`env "${W}" must be a string`);G[W]=Y}w.env=G}return w}function dJ($){let{env:w,...G}=$;return G}async function pJ($,w={}){let G={provider:"openai",model:"gpt-5-mini",maxSteps:20,contextWindow:128000,reservedOutputTokens:8192,safetyMargin:4096,plugins:[],dataDir:vG(),env:{}},W=await cJ(Yw.join(t8(),"config.json")),Y=await cJ(Yw.join($,".coden","config.json")),Z={};if(process.env.CODEN_PROVIDER==="openai"||process.env.CODEN_PROVIDER==="anthropic")Z.provider=process.env.CODEN_PROVIDER;if(process.env.CODEN_MODEL)Z.model=process.env.CODEN_MODEL;if(process.env.CODEN_MAX_STEPS)Z.maxSteps=Number(process.env.CODEN_MAX_STEPS);let X={...W.env??{},...Y.env??{}};for(let[T,M]of Object.entries(X))if(process.env[T]===void 0)process.env[T]=M;let J={...G,...dJ(W),...dJ(Y),...Z,...w,env:X};if(J.plugins=[...W.plugins??[],...Y.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 q4($,w,G=vG()){if(w==="project"){let Z=X1.join($,".coden"),X=X1.join(Z,"plugin-runtime");return{scope:w,root:Z,manifestPath:X1.join(Z,"plugins.json"),runtimeDir:X,lockPath:X1.join(Z,"plugin-lock"),transactionPath:X1.join(Z,"plugin-transaction.json")}}let W=X1.join(G,"plugins"),Y=X1.join(W,"runtime");return{scope:w,root:W,manifestPath:X1.join(W,"plugins.json"),runtimeDir:Y,lockPath:X1.join(W,"plugin-lock"),transactionPath:X1.join(W,"plugin-transaction.json")}}import{randomUUID as mU}from"node:crypto";import{constants as lU}from"node:fs";import{access as cU,mkdir as r8,readFile as tJ,rename as m1,rm as G0,writeFile as rJ}from"node:fs/promises";import l1 from"node:path";class hG extends Error{constructor($){super($ instanceof Error?$.message:String($),$ instanceof Error?{cause:$}:void 0);this.name="FaultInterruption"}}class C0{paths;options;constructor($,w={}){this.paths=$;this.options=w}async run($){let w=!1,G;try{await this.acquireLock(),w=!0,await this.recoverLocked();let W=mU(),Y=l1.join(this.paths.root,`.transaction-${W}-stage`);G={version:1,id:W,phase:"prepared",stageDirectory:Y,backupManifestPath:l1.join(this.paths.root,`.transaction-${W}-plugins.json.bak`),backupRuntimeDir:l1.join(this.paths.root,`.transaction-${W}-runtime.bak`),hadManifest:await E4(this.paths.manifestPath),hadRuntime:await E4(this.paths.runtimeDir)},await r8(Y,{recursive:!0});let Z={manifestPath:l1.join(Y,"plugins.json"),runtimeDir:l1.join(Y,"runtime")},X=await $(Z);await this.verifyCandidate(Z),await this.writeMarker(G),await this.backupCurrent(G);let J={...G,phase:"backed-up"};await this.writeMarker(J),G=J,this.fault("after-backup"),await m1(Z.runtimeDir,this.paths.runtimeDir);let T={...G,phase:"runtime-committed"};await this.writeMarker(T),G=T,this.fault("after-runtime-commit"),await m1(Z.manifestPath,this.paths.manifestPath);let M={...G,phase:"manifest-committed"};return await this.writeMarker(M),G=M,this.fault("after-manifest-commit"),await this.cleanupCommitted(G),X}catch(W){if(W instanceof hG)throw W.cause??W;throw await this.rollbackAfterError(G),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 r8(this.paths.root,{recursive:!0});for(let $=0;$<2;$++){try{await r8(this.paths.lockPath)}catch(w){if(!uG(w,"EEXIST"))throw w;let G=await this.readLockOwner();if(!G||this.isProcessAlive(G.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 G0(this.paths.lockPath,{recursive:!0,force:!0});continue}try{await rJ(l1.join(this.paths.lockPath,"owner.json"),`${JSON.stringify({pid:process.pid,createdAt:this.now()})}
|
|
45
|
+
`,{mode:384});return}catch(w){throw await G0(this.paths.lockPath,{recursive:!0,force:!0}),w}}}async readLockOwner(){try{let $=JSON.parse(await tJ(l1.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 G0(this.paths.lockPath,{recursive:!0,force:!0})}async verifyCandidate($){if(!await E4($.manifestPath)||!await E4($.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 G0($.backupManifestPath,{force:!0}),await G0($.backupRuntimeDir,{recursive:!0,force:!0}),$.hadManifest)await m1(this.paths.manifestPath,$.backupManifestPath);if($.hadRuntime)await m1(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 G0($.stageDirectory,{recursive:!0,force:!0}),await G0(this.paths.transactionPath,{force:!0});return}if($.phase==="backed-up"||$.phase==="runtime-committed"){await this.removeCurrentTargets(),await this.restoreBackups($),await this.cleanupRecoveryArtifacts($);return}await G0($.backupManifestPath,{force:!0}),await G0($.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 tJ(this.paths.transactionPath,"utf8"));if(!dU($))throw Error("invalid transaction marker");return $}catch($){if(uG($,"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 r8(l1.dirname(this.paths.transactionPath),{recursive:!0});let w=`${this.paths.transactionPath}.tmp`;await rJ(w,`${JSON.stringify($,null,2)}
|
|
46
|
+
`,{mode:384}),await m1(w,this.paths.transactionPath)}async cleanupCommitted($){await G0($.backupManifestPath,{force:!0}),await G0($.backupRuntimeDir,{recursive:!0,force:!0}),await G0($.stageDirectory,{recursive:!0,force:!0}),await G0(this.paths.transactionPath,{force:!0}),await G0(`${this.paths.transactionPath}.tmp`,{recursive:!0,force:!0})}async cleanupRecoveryArtifacts($){await G0($.stageDirectory,{recursive:!0,force:!0}),await G0(this.paths.transactionPath,{force:!0}),await G0(`${this.paths.transactionPath}.tmp`,{recursive:!0,force:!0})}async removeCurrentTargets(){await G0(this.paths.manifestPath,{force:!0}),await G0(this.paths.runtimeDir,{recursive:!0,force:!0})}async restoreBackups($){if($.hadManifest)await m1($.backupManifestPath,this.paths.manifestPath);if($.hadRuntime)await m1($.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 E4($.backupPath)){await G0($.targetPath,{recursive:$.directory,force:!0}),await m1($.backupPath,$.targetPath);return}if(!$.hadTarget)await G0($.targetPath,{recursive:$.directory,force:!0})}fault($){try{this.options.fault?.($)}catch(w){throw new hG(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!uG(w,"ESRCH")}}}function dU($){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 E4($){try{return await cU($,lU.F_OK),!0}catch{return!1}}function uG($,w){return typeof $==="object"&&$!==null&&"code"in $&&$.code===w}class lG{workspace;dataDir;packageManager;loader;builtins;constructor($,w,G,W,Y){this.workspace=$;this.dataDir=w;this.packageManager=G;this.loader=W;this.builtins=Y}async install($,w){let G=vJ($),W=this.paths(w.scope);await new C0(W).recover();let Y=await E1(W.manifestPath);if(Y.plugins[G.packageName]?.requested===G.requested){let T=await this.loader.loadScope(W),M=T.loaded.find((f)=>f.packageName===G.packageName);if(T.failed.length===0&&M)return iG(M,G.requested,w.scope)}let Z=sJ(Y);Z.plugins[G.packageName]={source:"npm",requested:G.requested};let X=[];await new C0(W).run(async(T)=>{X=await this.buildCandidate(T,Z,W,w,!1),await this.validateCandidate(W.scope,X)});let J=X.find((T)=>T.packageName===G.packageName);if(!J)throw mG([{packageName:G.packageName,path:W.runtimeDir,message:"plugin did not load"}]);return iG(J,G.requested,w.scope)}async remove($,w){if(!N$($))throw oU($);let G=this.paths(w.scope);await new C0(G).recover();let W=await E1(G.manifestPath);if(!W.plugins[$])throw new y("plugin","plugin.install_failed",`plugin.install_failed: ${$} is not installed in ${w.scope} scope`);let Y=sJ(W);delete Y.plugins[$],await new C0(G).run(async(Z)=>{let X=await this.buildCandidate(Z,Y,G,w,!1);await this.validateCandidate(G.scope,X)})}async sync($){let w=this.paths($.scope);await new C0(w).recover();let G=await E1(w.manifestPath);if($.scope==="project"&&Object.keys(G.plugins).length>0&&!await aJ(c1.join(w.runtimeDir,"bun.lock")))throw new y("plugin","plugin.lock_missing",`plugin.lock_missing: ${$.scope} plugin sync requires ${c1.join(w.runtimeDir,"bun.lock")}`);let W=[];return await new C0(w).run(async(Y)=>{W=await this.buildCandidate(Y,G,w,$,!0),await this.validateCandidate(w.scope,W)}),W.map((Y)=>iG(Y,G.plugins[Y.packageName]?.requested??"latest",$.scope))}async list(){let[$,w]=await Promise.all([this.listScope(this.paths("project")),this.listScope(this.paths("global"))]),G=new Set($.map((W)=>W.packageName));return{project:$,global:w.map((W)=>({...W,shadowedByProject:G.has(W.packageName)}))}}paths($){return q4(this.workspace,$,this.dataDir)}async buildCandidate($,w,G,W,Y){if(await rU($.runtimeDir,{recursive:!0}),await s8($.manifestPath,yG(w),"utf8"),await s8(c1.join($.runtimeDir,"package.json"),`${JSON.stringify(uJ(w),null,2)}
|
|
47
|
+
`,"utf8"),await aJ(c1.join(G.runtimeDir,"bun.lock")))await tU(c1.join(G.runtimeDir,"bun.lock"),c1.join($.runtimeDir,"bun.lock"));try{await this.packageManager.install({cwd:$.runtimeDir,frozenLockfile:Y,allowScripts:W.allowScripts,...W.signal?{signal:W.signal}:{}})}catch(X){throw eU(X,Y)}await sU($.runtimeDir,w),await aU($.runtimeDir,G.scope);let Z=await this.loader.loadScope({...G,manifestPath:$.manifestPath,runtimeDir:$.runtimeDir});if(Z.failed.length>0)throw mG(Z.failed);return Z.loaded}async validateCandidate($,w){if($==="global"){gG(this.builtins,w,[]);return}let G=this.paths("global");await new C0(G).recover();let W=await this.loadScopeOrThrow(G);gG(this.builtins,W,w)}async loadScopeOrThrow($){let w=await this.loader.loadScope($);if(w.failed.length>0)throw mG(w.failed);return w.loaded}async listScope($){await new C0($).recover();let w=await E1($.manifestPath),G=[];for(let W of Object.keys(w.plugins).sort()){let Y=await Ww($.runtimeDir,W);G.push({packageName:W,requested:w.plugins[W]?.requested??"latest",version:Y.version,tools:[],scope:$.scope,shadowedByProject:!1})}return G}}async function sU($,w){if(Object.keys(w.plugins).length>0)return;await s8(c1.join($,"bun.lock"),"","utf8")}async function aU($,w){if(w!=="project")return;await s8(c1.join($,".gitignore"),`*
|
|
48
48
|
!.gitignore
|
|
49
49
|
!bun.lock
|
|
50
|
-
`,"utf8")}function
|
|
51
|
-
${$ instanceof y?$.code:""}`;return/frozen-lockfile|lockfile.*out.?of.?date|lockfile.*would.*change|lockfile had changes/i.test(w)}async function
|
|
52
|
-
${
|
|
53
|
-
${
|
|
54
|
-
`);if(
|
|
55
|
-
${
|
|
56
|
-
... [${this.omitted} selected characters omitted]`:this.text}}var
|
|
57
|
-
`);T++,
|
|
58
|
-
`,
|
|
59
|
-
`,
|
|
60
|
-
... [${K} lines omitted]`:""),metadata:{totalLines:
|
|
61
|
-
`,{encoding:"utf8",mode:384})}async read(){try{let $=JSON.parse(await
|
|
62
|
-
${
|
|
63
|
-
${
|
|
64
|
-
`).slice(0,6000)}function
|
|
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",
|
|
67
|
-
`),
|
|
68
|
-
`)}function
|
|
69
|
-
`).map((
|
|
70
|
-
`)}var
|
|
71
|
-
`),depth:w[1].length,text:
|
|
72
|
-
`)}}blockquote($){let w=this.rules.block.blockquote.exec($);if(w){let
|
|
50
|
+
`,"utf8")}function iG($,w,G){return{packageName:$.packageName,requested:w,version:$.version,tools:$.tools.map((W)=>W.name).sort(),scope:G}}function sJ($){return JSON.parse(yG($))}function mG($){let w=$.map((G)=>`${G.packageName}: ${G.message} (${G.path})`).join("; ");return new y("plugin","plugin.sync_failed",`plugin.sync_failed: ${w}`)}function oU($){return new y("plugin","plugin.specifier_invalid",`plugin.specifier_invalid: ${$}`)}function eU($,w){if(w&&$H($))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 $H($){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 aJ($){try{return await pU($,nU.F_OK),!0}catch{return!1}}var a8={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:G,timeout:W=30000,maxOutput:Y=30000}=$,Z=await T8("bash",["-lc",G],{cwd:w.workspace,env:process.env,signal:w.signal,timeoutMs:W,maxOutputChars:Y}),X=[Z.stdout&&`stdout:
|
|
52
|
+
${Z.stdout}`,Z.stderr&&`stderr:
|
|
53
|
+
${Z.stderr}`].filter(Boolean).join(`
|
|
54
|
+
`);if(Z.exitCode===null&&!Z.timedOut&&!Z.cancelled&&Z.signal===null)return{content:`bash.spawn_error: ${Z.stderr||"unknown error"}`,isError:!0};let J=Z.timedOut?`Timed out after ${W}ms`:Z.cancelled?"Cancelled":`Exit code: ${Z.exitCode??"null"}${Z.signal?` (signal ${Z.signal})`:""}`;return{content:d$(`${J}
|
|
55
|
+
${X}`.trimEnd(),Y),isError:Z.timedOut||Z.cancelled||Z.exitCode!==0,metadata:{exitCode:Z.exitCode,signal:Z.signal,timedOut:Z.timedOut,cancelled:Z.cancelled}}}};import{constants as WT}from"node:fs";import{open as YH}from"node:fs/promises";import{constants as oJ}from"node:fs";import{lstat as eJ,open as wH,readlink as $T,realpath as o8}from"node:fs/promises";import j0 from"node:path";function e8($,w){let G=j0.relative(w,$);return G===""||!G.startsWith("..")&&!j0.isAbsolute(G)}async function wT($,w,G=1e6){let W=await J1($,w),Y=await wH(W,oJ.O_RDONLY|oJ.O_NOFOLLOW);try{if((await Y.stat()).size>G)throw new y("context","workspace.instructions_too_large",`${w} exceeds the ${G}-byte instruction limit`);return await Y.readFile("utf8")}finally{await Y.close()}}async function J1($,w){let G=await o8($),W=j0.resolve(G,w);if(!e8(W,G))throw new y("permission","workspace.outside",`Path is outside workspace: ${w}`);try{let Y=await o8(W);if(!e8(Y,G))throw new y("permission","workspace.symlink_escape",`Path escapes workspace through a symlink: ${w}`);return Y}catch(Y){if(Y instanceof y)throw Y;try{if((await eJ(W)).isSymbolicLink()){let X=j0.resolve(j0.dirname(W),await $T(W));await GT(X,G,w,"dangling symlink")}}catch(Z){if(Z instanceof y)throw Z}return await GH(W,G,w),W}}async function GT($,w,G,W){let Y=await WH($);if(!Y||!e8(Y,w))throw new y("permission","workspace.symlink_escape",`Path escapes workspace through a ${W}: ${G}`)}async function GH($,w,G){let W=j0.dirname($);while(W!==j0.dirname(W)){let Y;try{Y=await eJ(W)}catch{W=j0.dirname(W);continue}if(!Y){W=j0.dirname(W);continue}if(Y.isSymbolicLink()){let Z=j0.resolve(j0.dirname(W),await $T(W));await GT(Z,w,G,"symlink")}else{let Z;try{Z=await o8(W)}catch{W=j0.dirname(W);continue}if(!Z)continue;if(e8(Z,w))return;throw new y("permission","workspace.symlink_escape",`Parent escapes workspace: ${G}`)}W=j0.dirname(W)}}async function WH($){let w=$;while(!0)try{return await o8(w)}catch{let G=j0.dirname(w);if(G===w)return;w=G}}var $6={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:G,oldText:W,newText:Y}=$,Z=await J1(w.workspace,G),X=await YH(Z,WT.O_RDWR|WT.O_NOFOLLOW);try{let J=await X.readFile("utf8"),T=J.indexOf(W);if(T<0)return{content:"edit.no_match: oldText was not found",isError:!0};if(J.indexOf(W,T+1)>=0)return{content:"edit.multiple_matches: oldText is not unique",isError:!0};let M=`${J.slice(0,T)}${Y}${J.slice(T+W.length)}`;await X.truncate(0),await X.write(M,0,"utf8")}finally{await X.close()}return{content:`Edited ${G}`}}};import{constants as YT}from"node:fs";import{open as ZH}from"node:fs/promises";class ZT{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 w6={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:G,offset:W=1,limit:Y=500}=$,Z=await J1(w.workspace,G),X=new ZT(50000),J=1,T=0,M=!1,f=()=>J>=W&&J<W+Y,Q=(P)=>{if(!f())return;if(!M){if(T>0)X.add(`
|
|
57
|
+
`);T++,M=!0}X.add(P)},N=await ZH(Z,YT.O_RDONLY|YT.O_NOFOLLOW);try{let P=N.createReadStream({encoding:"utf8",autoClose:!1,highWaterMark:65536,signal:w.signal});for await(let q of P){let V=String(q),E=0;for(let O=V.indexOf(`
|
|
58
|
+
`,E);O>=0;O=V.indexOf(`
|
|
59
|
+
`,E))Q(V.slice(E,O)),J++,M=!1,E=O+1;Q(V.slice(E))}}finally{await N.close()}Q("");let z=J,K=Math.max(0,z-(W-1+T));return{content:X.value()+(K>0?`
|
|
60
|
+
... [${K} lines omitted]`:""),metadata:{totalLines:z,offset:W,limit:Y}}}};import{constants as G6}from"node:fs";import{mkdir as XH,open as JH}from"node:fs/promises";import TH from"node:path";var W6={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:G,content:W}=$,Y=await J1(w.workspace,G);await XH(TH.dirname(Y),{recursive:!0}),Y=await J1(w.workspace,G);let Z=await JH(Y,G6.O_WRONLY|G6.O_CREAT|G6.O_TRUNC|G6.O_NOFOLLOW,384);try{await Z.writeFile(W,"utf8")}finally{await Z.close()}return{content:`Wrote ${Buffer.byteLength(W)} bytes to ${G}`}}};function XT(){return[w6,W6,$6,a8]}var JT="0.1.5";import V5 from"node:path";import{stdin as j3,stdout as d0}from"node:process";import{createInterface as sf}from"node:readline/promises";var TT=c$(S5(),1),{program:_R,createCommand:gR,createArgument:vR,createOption:uR,CommanderError:hR,InvalidArgumentError:cG,InvalidOptionArgumentError:iR,Command:mR,Argument:lR,Option:cR,Help:dR}=TT.default;import{mkdir as MH,readFile as fH,realpath as MT,writeFile as QH}from"node:fs/promises";import NH from"node:path";class dG{file;constructor($){this.file=$}async isTrusted($){return(await this.read()).includes($)}async isWorkspaceTrusted($){return this.isTrusted(await MT($))}async trustWorkspace($){return this.trust(await MT($))}async trust($){let w=await this.read();if(!w.includes($))w.push($);await MH(NH.dirname(this.file),{recursive:!0}),await QH(this.file,`${JSON.stringify(w,null,2)}
|
|
61
|
+
`,{encoding:"utf8",mode:384})}async read(){try{let $=JSON.parse(await fH(this.file,"utf8"));return Array.isArray($)?$.filter((w)=>typeof w==="string"):[]}catch($){if($.code==="ENOENT")return[];throw $}}}class NT{estimateText($){return Math.ceil($.length/3.5)}estimateMessages($){return $.reduce((w,G)=>w+6+this.estimateText(JSON.stringify(G)),0)}estimateTools($){return this.estimateText(JSON.stringify($.map(({execute:w,...G})=>G)))}}class nG{budget;threshold;estimator=new NT;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 G=$[0]??{role:"system",content:"You are CodeN."},W=fT($.slice(1)),Y=this.estimator.estimateTools(w),Z=this.inputBudget(),X=this.summary?W.filter((Q)=>Q.end>this.compactedThrough):[...W],J=Math.min(3,X.length),T=this.project(G,X),M=this.estimator.estimateMessages(T)+Y,f=!1;if(M>Z*this.threshold&&X.length>J){let Q=X.slice(0,-J);X=X.slice(-J);let N=[...this.summary?[this.summary]:[],...Q.flatMap((z)=>z.messages)];this.compactionRange={start:Q[0]?.start??1,end:Q.at(-1)?.end??1},this.compactedThrough=this.compactionRange.end,this.summary={role:"system",content:`Compacted conversation summary:
|
|
62
|
+
${QT(N)}`},T=this.project(G,X),M=this.estimator.estimateMessages(T)+Y,f=!0}while(M>Z&&X.length>1)X=X.slice(1),T=this.project(G,X),M=this.estimator.estimateMessages(T)+Y,f=!0;return{messages:T,estimatedTokens:M,compacted:f}}forceCompact($,w){let G=$[0]??{role:"system",content:"You are CodeN."},W=fT($.slice(1)),Y=this.summary?W.filter((f)=>f.end>this.compactedThrough):W,Z=Y.slice(-1),X=Y.slice(0,-1),J=[...this.summary?[this.summary]:[],...X.flatMap((f)=>f.messages)];if(X.length)this.compactionRange={start:X[0]?.start??1,end:X.at(-1)?.end??1},this.compactedThrough=this.compactionRange.end;this.summary={role:"system",content:`Emergency compacted summary:
|
|
63
|
+
${QT(J)}`};let T=this.project(G,Z),M=this.estimator.estimateMessages(T)+this.estimator.estimateTools(w);return{messages:T,estimatedTokens:M,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((G)=>G.messages)]}}function fT($){let w=[],G;for(let W=0;W<$.length;W++){let Y=$[W];if(!Y)continue;let Z=W+1;if(Y.role==="user"||!G){if(G)w.push(G);G={messages:[Y],start:Z,end:Z}}else G.messages.push(Y),G.end=Z}if(G)w.push(G);return w}function QT($){return $.map((G)=>{if(G.role==="tool")return`Tool ${G.name} (${G.isError?"error":"ok"}): ${G.content.slice(0,300)}`;return`${G.role}: ${G.content.slice(0,500)}`}).join(`
|
|
64
|
+
`).slice(0,6000)}function pG($,w,G,W,Y){let Z={model:$,messages:w.messages,tools:G,maxOutputTokens:W.reservedOutputTokens};if(Y)Z.signal=Y;return Z}class tG{#$=new Set;on($){return this.#$.add($),()=>this.#$.delete($)}async emit($,w,G){let W={type:$,timestamp:new Date().toISOString()};if(G!==void 0)W.turnId=G;if(w!==void 0)W.data=w;return await Promise.all([...this.#$].map((Y)=>Y(W))),W}}import{randomUUID as zH}from"node:crypto";class rG{provider;registry;executor;context;sessions;events;options;messages;maxSteps;retries;retryBaseMs;systemPersisted;constructor($,w,G,W,Y,Z,X,J){this.provider=$;this.registry=w;this.executor=G;this.context=W;this.sessions=Y;this.events=Z;this.options=X;this.maxSteps=X.maxSteps??20,this.retries=X.retries??3,this.retryBaseMs=X.retryBaseMs??250,this.systemPersisted=Boolean(J?.length),this.messages=J?.length?[...J]:[{role:"system",content:X.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 G=zH(),W=Date.now(),Y=0,Z={inputTokens:0,outputTokens:0};await this.sessions.create(),await this.events.emit("turn.started",{input:$},G);try{if(!this.systemPersisted){let T=this.messages[0];if(T?.role==="system")await this.sessions.appendMessage(T);this.systemPersisted=!0}let X=this.messages.some((T)=>T.role==="user"),J={role:"user",content:$};if(this.messages.push(J),await this.sessions.appendMessage(J),!X)await this.sessions.setTitle($);for(let T=0;T<this.maxSteps;T++){let M=this.context.prepare(this.messages,this.registry.list());if(M.compacted){let N=this.context.getSummary();if(N){let z=await this.refineSummary(N,w,G);if(z){let K=N;N=z,this.context.setSummary(z,this.context.getCompactionRange()?.end??0),M.messages=M.messages.map((P)=>P.role==="system"&&P.content===K?{role:"system",content:z}:P)}await this.sessions.appendCompaction(N,this.context.getCompactionRange())}await this.events.emit("context.compacted",{estimatedTokens:M.estimatedTokens},G)}await this.events.emit("context.prepared",{estimatedTokens:M.estimatedTokens,budget:this.context.inputBudget()},G);let f=await this.requestWithRetry(pG(this.options.model,M,this.registry.list(),this.context.budget,w),G,async()=>{M=this.context.forceCompact(this.messages,this.registry.list());let N=this.context.getSummary();if(N)await this.sessions.appendCompaction(N,this.context.getCompactionRange());return pG(this.options.model,M,this.registry.list(),this.context.budget,w)});Z.inputTokens+=f.usage.inputTokens,Z.outputTokens+=f.usage.outputTokens;let Q={role:"assistant",content:f.text,toolCalls:f.toolCalls,model:this.options.model,usage:f.usage};if(this.messages.push(Q),await this.sessions.appendMessage(Q),Q.toolCalls.length===0)return await this.events.emit("turn.completed",{tools:Y,durationMs:Date.now()-W,inputTokens:Z.inputTokens,outputTokens:Z.outputTokens,contextTokens:M.estimatedTokens},G),{answer:Q.content,messages:this.messages,toolsExecuted:Y,usage:Z};for(let N of Q.toolCalls){let z=await this.executor.execute(N,w,G);Y++;let K={role:"tool",callId:N.callId,name:N.name,content:z.content,isError:z.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(X){throw await this.events.emit("turn.failed",{code:X instanceof y?X.code:"runtime.unknown",message:X instanceof Error?X.message:String(X)},G),X}}async refineSummary($,w,G){try{await this.events.emit("context.compaction_started",{model:this.options.model},G);let W=await zT(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"},G);return}}async requestWithRetry($,w,G){let W=$,Y=!1;for(let Z=0;;Z++)try{await this.events.emit("provider.started",{attempt:Z},w);let X=await zT(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)},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:X.usage},w),X}catch(X){if(W.signal?.aborted)throw X;if(BH(X)){if(!Y){Y=!0,W=await G(),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:X})}if(Z>=this.retries||!KH(X))throw X;await this.events.emit("provider.retry",{attempt:Z+1,message:X instanceof Error?X.message:String(X)},w);let J=PH(X),T=this.retryBaseMs*2**Z*(0.8+Math.random()*0.4);await VH(J??Math.min(30000,T),W.signal)}}}async function zT($,w,G,W){let Y="",Z={inputTokens:0,outputTokens:0},X=new Map;for await(let T of $)if(T.type==="reasoning_delta")await G?.(T.text);else if(T.type==="text_delta")Y+=T.text,await w?.(T.text);else if(T.type==="tool_call_start")X.set(T.index,{callId:T.callId,name:T.name,json:"",ended:!1}),await W?.(T);else if(T.type==="tool_call_delta"){let M=X.get(T.index);if(!M)throw new y("provider","provider.invalid_stream","Tool arguments arrived before tool start");M.json+=T.argumentsDelta,await W?.(T)}else if(T.type==="tool_call_end"){let M=X.get(T.index);if(M)M.ended=!0,await W?.(T)}else if(T.type==="usage")Z={inputTokens:Math.max(Z.inputTokens,T.usage.inputTokens),outputTokens:Math.max(Z.outputTokens,T.usage.outputTokens)};let J=[...X.entries()].sort(([T],[M])=>T-M).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(M){throw new y("provider","provider.invalid_tool_json",`Invalid JSON for tool ${T.name}`,!1,void 0,{cause:M})}});return{text:Y,toolCalls:J,usage:Z}}function KH($){if($ instanceof y)return $.retryable;let w=$?.status;return typeof w!=="number"||w===429||w>=500}function PH($){let G=$?.headers?.get?.("retry-after");if(!G)return;let W=Number(G);if(Number.isFinite(W))return Math.max(0,W*1000);let Y=Date.parse(G);return Number.isNaN(Y)?void 0:Math.max(0,Y-Date.now())}function BH($){let w=$?.status,G=$ instanceof Error?$.message:String($);return w===413||/context.{0,20}(?:length|window|limit|too long)/i.test(G)}function VH($,w){return new Promise((G,W)=>{if(w?.aborted){W(w.reason);return}let Y=setTimeout(G,$);w?.addEventListener("abort",()=>{clearTimeout(Y),W(w.reason)},{once:!0})})}var M1=c$(X6(),1);import*as Mw from"node:readline";function oG(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var V$=oG();function OT($){V$=$}var P$={exec:()=>null};function Zw($){let w=[];return(G)=>{let W=Math.max(0,Math.min(3,G-1)),Y=w[W];return Y||(Y=$(W),w[W]=Y),Y}}function m($,w=""){let G=typeof $=="string"?$:$.source,W={replace:(Y,Z)=>{let X=typeof Z=="string"?Z:Z.source;return X=X.replace(V0.caret,"$1"),G=G.replace(Y,X),W},getRegex:()=>new RegExp(G,w)};return W}var HH=(($="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+$)}catch{return!1}})(),V0={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,${$}}>`))},FH=/^(?:[ \t]*(?:\n|$))+/,OH=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,LH=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,F4=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,DH=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,eG=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,LT=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,DT=m(LT).replace(/bull/g,eG).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(),kH=m(LT).replace(/bull/g,eG).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(),$W=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,AH=/^[^\n]+/,wW=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,SH=m(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",wW).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),RH=m(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,eG).getRegex(),Q6="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",GW=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,jH=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",GW).replace("tag",Q6).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),kT=($)=>m($W).replace("hr",F4).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",Q6).getRegex(),CH=kT(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),yH=kT(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),IH=m(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",yH).getRegex(),WW={blockquote:IH,code:OH,def:SH,fences:LH,heading:DH,hr:F4,html:jH,lheading:DT,list:RH,newline:FH,paragraph:CH,table:P$,text:AH},BT=m("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",F4).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",Q6).getRegex(),bH={...WW,lheading:kH,table:BT,paragraph:m($W).replace("hr",F4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",BT).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",Q6).getRegex()},xH={...WW,html:m(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",GW).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:P$,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:m($W).replace("hr",F4).replace("heading",` *#{1,6} *[^
|
|
66
|
+
]`).replace("lheading",DT).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},_H=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,gH=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,AT=/^( {2,}|\\)\n(?!\s*$)/,vH=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,U1=/[\p{P}\p{S}]/u,Xw=/[\s\p{P}\p{S}]/u,O4=/[^\s\p{P}\p{S}]/u,uH=m(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Xw).getRegex(),hH=/[\p{Pi}\p{Ps}"']/u,ST=/(?!~)[\p{P}\p{S}]/u,iH=/(?!~)[\s\p{P}\p{S}]/u,mH=/(?:[^\s\p{P}\p{S}]|~)/u,lH=m(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",HH?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),RT=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,cH=m(RT,"u").replace(/punct/g,U1).getRegex(),dH=m(RT,"u").replace(/punct/g,ST).getRegex(),nH=/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,pH=m(nH,"u").replace(/openQuote/g,hH).replace(/punct/g,U1).getRegex(),jT="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",tH=m(jT,"gu").replace(/notPunctSpace/g,O4).replace(/punctSpace/g,Xw).replace(/punct/g,U1).getRegex(),rH=m(jT,"gu").replace(/notPunctSpace/g,mH).replace(/punctSpace/g,iH).replace(/punct/g,ST).getRegex(),sH="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)",aH=m(sH,"gu").replace(/notPunctSpace/g,O4).replace(/punctSpace/g,Xw).replace(/punct/g,U1).getRegex(),oH=m("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,O4).replace(/punctSpace/g,Xw).replace(/punct/g,U1).getRegex(),eH="^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)",$F=m(eH,"gu").replace(/notPunctSpace/g,O4).replace(/punctSpace/g,Xw).replace(/punct/g,U1).getRegex(),wF=m(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,U1).getRegex(),GF="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",WF=m(GF,"gu").replace(/notPunctSpace/g,O4).replace(/punctSpace/g,Xw).replace(/punct/g,U1).getRegex(),YF=m(/\\(punct)/,"gu").replace(/punct/g,U1).getRegex(),ZF=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(),XF=m(GW).replace("(?:-->|$)","-->").getRegex(),JF=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",XF).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),T6=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,TF=m(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",T6).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),CT=m(/^!?\[(label)\]\[(ref)\]/).replace("label",T6).replace("ref",wW).getRegex(),yT=m(/^!?\[(ref)\](?:\[\])?/).replace("ref",wW).getRegex(),MF=m("reflink|nolink(?!\\()","g").replace("reflink",CT).replace("nolink",yT).getRegex(),VT=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,YW={_backpedal:P$,anyPunctuation:YF,autolink:ZF,blockSkip:lH,br:AT,code:gH,del:P$,delLDelim:P$,delRDelim:P$,emStrongLDelim:cH,emStrongRDelimAst:tH,emStrongRDelimUnd:oH,escape:_H,link:TF,nolink:yT,punctuation:uH,reflink:CT,reflinkSearch:MF,tag:JF,text:vH,url:P$},fF={...YW,emStrongLDelim:pH,emStrongRDelimAst:aH,emStrongRDelimUnd:$F,link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",T6).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",T6).getRegex()},aG={...YW,emStrongRDelimAst:rH,emStrongLDelim:dH,delLDelim:wF,delRDelim:WF,url:m(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",VT).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",VT).getRegex()},QF={...aG,br:m(AT).replace("{2,}","*").getRegex(),text:m(aG.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},J6={normal:WW,gfm:bH,pedantic:xH},U4={normal:YW,gfm:aG,breaks:QF,pedantic:fF},NF={"&":"&","<":"<",">":">",'"':""","'":"'"},qT=($)=>NF[$];function T1($,w){if(w){if(V0.escapeTest.test($))return $.replace(V0.escapeReplace,qT)}else if(V0.escapeTestNoEncode.test($))return $.replace(V0.escapeReplaceNoEncode,qT);return $}function ET($){try{$=encodeURI($).replace(V0.percentDecode,"%")}catch{return null}return $}function UT($,w){let G=$.replace(V0.findPipe,(Z,X,J)=>{let T=!1,M=X;for(;--M>=0&&J[M]==="\\";)T=!T;return T?"|":" |"}),W=G.split(V0.splitPipe),Y=0;if(W[0].trim()||W.shift(),W.length>0&&!W.at(-1)?.trim()&&W.pop(),w)if(W.length>w)W.splice(w);else for(;W.length<w;)W.push("");for(;Y<W.length;Y++)W[Y]=W[Y].trim().replace(V0.slashPipe,"|");return W}function d1($,w,G){let W=$.length;if(W===0)return"";let Y=0;for(;Y<W;){let Z=$.charAt(W-Y-1);if(Z===w&&!G)Y++;else if(Z!==w&&G)Y++;else break}return $.slice(0,W-Y)}function HT($){let w=$.split(`
|
|
67
|
+
`),G=w.length-1;for(;G>=0&&V0.blankLine.test(w[G]);)G--;return w.length-G<=2?$:w.slice(0,G+1).join(`
|
|
68
|
+
`)}function zF($,w){if($.indexOf(w[1])===-1)return-1;let G=0;for(let W=0;W<$.length;W++)if($[W]==="\\")W++;else if($[W]===w[0])G++;else if($[W]===w[1]&&(G--,G<0))return W;return G>0?-2:-1}function KF($,w=0){let G=w,W="";for(let Y of $)if(Y==="\t"){let Z=4-G%4;W+=" ".repeat(Z),G+=Z}else W+=Y,G++;return W}function FT($,w,G,W,Y){let Z=w.href,X=w.title||null,J=$[1].replace(Y.other.outputLinkReplace,"$1"),T=$[0].charAt(0)==="!";W.state.inLink=!0;let M=W.state.linkEmitted,f=W.state.inRawBlock;W.state.linkEmitted=!1;let Q=W.inlineTokens(J),N=W.state.linkEmitted;if(W.state.linkEmitted=M,W.state.inLink=!1,!T){if(N){W.state.inRawBlock=f;return}W.state.linkEmitted=!0}return{type:T?"image":"link",raw:G,href:Z,title:X,text:J,tokens:Q}}function PF($,w,G){let W=$.match(G.other.indentCodeCompensation);if(W===null)return w;let Y=W[1];return w.split(`
|
|
69
|
+
`).map((Z)=>{let X=Z.match(G.other.beginningSpace);if(X===null)return Z;let[J]=X;return J.length>=Y.length?Z.slice(Y.length):Z}).join(`
|
|
70
|
+
`)}var M6=class{options;rules;lexer;constructor($){this.options=$||V$}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 G=this.options.pedantic?w[0]:HT(w[0]),W=G.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:G,codeBlockStyle:"indented",text:W}}}fences($){let w=this.rules.block.fences.exec($);if(w){let G=w[0],W=PF(G,w[3]||"",this.rules);return{type:"code",raw:G,lang:w[2]?w[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):w[2],text:W}}}heading($){let w=this.rules.block.heading.exec($);if(w){let G=w[2].trim();if(this.rules.other.endingHash.test(G)){let W=d1(G,"#");(this.options.pedantic||!W||this.rules.other.endingSpaceChar.test(W))&&(G=W.trim())}return{type:"heading",raw:d1(w[0],`
|
|
71
|
+
`),depth:w[1].length,text:G,tokens:this.lexer.inline(G)}}}hr($){let w=this.rules.block.hr.exec($);if(w)return{type:"hr",raw:d1(w[0],`
|
|
72
|
+
`)}}blockquote($){let w=this.rules.block.blockquote.exec($);if(w){let G=d1(w[0],`
|
|
73
73
|
`).split(`
|
|
74
|
-
`),
|
|
75
|
-
`),M
|
|
76
|
-
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");
|
|
77
|
-
${
|
|
78
|
-
${
|
|
79
|
-
`),P=
|
|
80
|
-
`+K.replace(this.rules.other.blockquoteSetextReplace2,""),q=this.blockquote(P);
|
|
81
|
-
${K}`,
|
|
82
|
-
`+
|
|
83
|
-
`),P=this.list(K);
|
|
84
|
-
`);continue}}return{type:"blockquote",raw:
|
|
74
|
+
`),W="",Y="",Z=[];for(;G.length>0;){let X=!1,J=[],T;for(T=0;T<G.length;T++)if(this.rules.other.blockquoteStart.test(G[T]))J.push(G[T]),X=!0;else if(!X)J.push(G[T]);else break;G=G.slice(T);let M=J.join(`
|
|
75
|
+
`),f=M.replace(this.rules.other.blockquoteSetextReplace,`
|
|
76
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");W=W?`${W}
|
|
77
|
+
${M}`:M,Y=Y?`${Y}
|
|
78
|
+
${f}`:f;let Q=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,Z,!0),this.lexer.state.top=Q,G.length===0)break;let N=Z.at(-1);if(N?.type==="code")break;if(N?.type==="blockquote"){let z=N,K=G.join(`
|
|
79
|
+
`),P=z.raw+`
|
|
80
|
+
`+K.replace(this.rules.other.blockquoteSetextReplace2,""),q=this.blockquote(P);Z[Z.length-1]=q,W=`${W}
|
|
81
|
+
${K}`,Y=Y.substring(0,Y.length-z.text.length)+q.text;break}else if(N?.type==="list"){let z=N,K=z.raw+`
|
|
82
|
+
`+G.join(`
|
|
83
|
+
`),P=this.list(K);Z[Z.length-1]=P,W=W.substring(0,W.length-N.raw.length)+P.raw,Y=Y.substring(0,Y.length-z.raw.length)+P.raw,G=K.substring(Z.at(-1).raw.length).split(`
|
|
84
|
+
`);continue}}return{type:"blockquote",raw:W,tokens:Z,text:Y}}}list($){let w=this.rules.block.list.exec($);if(w){let G=w[1].trim(),W=G.length>1,Y={type:"list",raw:"",ordered:W,start:W?+G.slice(0,-1):"",loose:!1,items:[]};G=W?`\\d{1,9}\\${G.slice(-1)}`:`\\${G}`,this.options.pedantic&&(G=W?G:"[*+-]");let Z=this.rules.other.listItemRegex(G),X=!1;for(;$;){let T=!1,M="",f="";if(!(w=Z.exec($))||this.rules.block.hr.test($))break;M=w[0],$=$.substring(M.length);let Q=KF(w[2].split(`
|
|
85
85
|
`,1)[0],w[1].length),N=$.split(`
|
|
86
|
-
`,1)[0],
|
|
87
|
-
`,$=$.substring(N.length+1),T=!0),!T){let P=this.rules.other.nextBulletRegex(K),q=this.rules.other.hrRegex(K),
|
|
88
|
-
`,1)[0],
|
|
89
|
-
`+
|
|
90
|
-
`+N}
|
|
91
|
-
`,$=$.substring(
|
|
92
|
-
`),href:
|
|
93
|
-
`):[],
|
|
94
|
-
`),header:[],align:[],rows:[]};if(
|
|
95
|
-
`),depth:w[2].charAt(0)==="="?1:2,text:
|
|
96
|
-
`?w[1].slice(0,-1):w[1];return{type:"paragraph",raw:w[0],text:
|
|
97
|
-
`),this.blockTokens(w,this.tokens);for(let
|
|
98
|
-
`:
|
|
86
|
+
`,1)[0],z=!Q.trim(),K=0;if(this.options.pedantic?(K=2,f=Q.trimStart()):z?K=w[1].length+1:(K=Q.search(this.rules.other.nonSpaceChar),K=K>4?1:K,f=Q.slice(K),K+=w[1].length),z&&this.rules.other.blankLine.test(N)&&(M+=N+`
|
|
87
|
+
`,$=$.substring(N.length+1),T=!0),!T){let P=this.rules.other.nextBulletRegex(K),q=this.rules.other.hrRegex(K),V=this.rules.other.fencesBeginRegex(K),E=this.rules.other.headingBeginRegex(K),O=this.rules.other.htmlBeginRegex(K),A=this.rules.other.blockquoteBeginRegex(K);for(;$;){let R=$.split(`
|
|
88
|
+
`,1)[0],S;if(N=R,this.options.pedantic?(N=N.replace(this.rules.other.listReplaceNesting," "),S=N):S=N.replace(this.rules.other.tabCharGlobal," "),V.test(N)||E.test(N)||O.test(N)||A.test(N)||P.test(N)||q.test(N))break;if(S.search(this.rules.other.nonSpaceChar)>=K||!N.trim())f+=`
|
|
89
|
+
`+S.slice(K);else{if(z||Q.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||V.test(Q)||E.test(Q)||q.test(Q))break;f+=`
|
|
90
|
+
`+N}z=!N.trim(),M+=R+`
|
|
91
|
+
`,$=$.substring(R.length+1),Q=S.slice(K)}}Y.loose||(X?Y.loose=!0:this.rules.other.doubleBlankLine.test(M)&&(X=!0)),Y.items.push({type:"list_item",raw:M,task:!!this.options.gfm&&this.rules.other.listIsTask.test(f),loose:!1,text:f,tokens:[]}),Y.raw+=M}let J=Y.items.at(-1);if(J)J.raw=J.raw.trimEnd(),J.text=J.text.trimEnd();else return;Y.raw=Y.raw.trimEnd();for(let T of Y.items)if(this.lexer.state.top=!1,T.tokens=this.lexer.blockTokens(T.text,[]),!Y.loose){let M=T.tokens.filter((Q)=>Q.type==="space"),f=M.length>0&&M.some((Q)=>this.rules.other.anyLine.test(Q.raw));Y.loose=f}for(let T of Y.items){let M=T.tokens[0];if(T.task&&(M?.type==="text"||M?.type==="paragraph")){T.text=T.text.replace(this.rules.other.listReplaceTask,""),M.raw=M.raw.replace(this.rules.other.listReplaceTask,""),M.text=M.text.replace(this.rules.other.listReplaceTask,"");for(let Q=this.lexer.inlineQueue.length-1;Q>=0;Q--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[Q].src)){this.lexer.inlineQueue[Q].src=this.lexer.inlineQueue[Q].src.replace(this.rules.other.listReplaceTask,"");break}let f=this.rules.other.listTaskCheckbox.exec(T.raw);if(f){let Q={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};T.checked=Q.checked,Y.loose?T.tokens[0]&&["paragraph","text"].includes(T.tokens[0].type)&&"tokens"in T.tokens[0]&&T.tokens[0].tokens?(T.tokens[0].raw=Q.raw+T.tokens[0].raw,T.tokens[0].text=Q.raw+T.tokens[0].text,T.tokens[0].tokens.unshift(Q)):T.tokens.unshift({type:"paragraph",raw:Q.raw,text:Q.raw,tokens:[Q]}):T.tokens.unshift(Q)}}else T.task&&(T.task=!1)}if(Y.loose)for(let T of Y.items){T.loose=!0;for(let M of T.tokens)M.type==="text"&&(M.type="paragraph")}return Y}}html($){let w=this.rules.block.html.exec($);if(w){let G=HT(w[0]);return{type:"html",block:!0,raw:G,pre:w[1]==="pre"||w[1]==="script"||w[1]==="style",text:G}}}def($){let w=this.rules.block.def.exec($);if(w){let G=w[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),W=w[2]?w[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",Y=w[3]?w[3].substring(1,w[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):w[3];return{type:"def",tag:G,raw:d1(w[0],`
|
|
92
|
+
`),href:W,title:Y}}}table($){let w=this.rules.block.table.exec($);if(!w||!this.rules.other.tableDelimiter.test(w[2]))return;let G=UT(w[1]),W=w[2].replace(this.rules.other.tableAlignChars,"").split("|"),Y=w[3]?.trim()?w[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
93
|
+
`):[],Z={type:"table",raw:d1(w[0],`
|
|
94
|
+
`),header:[],align:[],rows:[]};if(G.length===W.length){for(let X of W)this.rules.other.tableAlignRight.test(X)?Z.align.push("right"):this.rules.other.tableAlignCenter.test(X)?Z.align.push("center"):this.rules.other.tableAlignLeft.test(X)?Z.align.push("left"):Z.align.push(null);for(let X=0;X<G.length;X++)Z.header.push({text:G[X],tokens:this.lexer.inline(G[X]),header:!0,align:Z.align[X]});for(let X of Y)Z.rows.push(UT(X,Z.header.length).map((J,T)=>({text:J,tokens:this.lexer.inline(J),header:!1,align:Z.align[T]})));return Z}}lheading($){let w=this.rules.block.lheading.exec($);if(w){let G=w[1].trim();return{type:"heading",raw:d1(w[0],`
|
|
95
|
+
`),depth:w[2].charAt(0)==="="?1:2,text:G,tokens:this.lexer.inline(G)}}}paragraph($){let w=this.rules.block.paragraph.exec($);if(w){let G=w[1].charAt(w[1].length-1)===`
|
|
96
|
+
`?w[1].slice(0,-1):w[1];return{type:"paragraph",raw:w[0],text:G,tokens:this.lexer.inline(G)}}}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 G=w[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(G)){if(!this.rules.other.endAngleBracket.test(G))return;let Z=d1(G.slice(0,-1),"\\");if((G.length-Z.length)%2===0)return}else{let Z=zF(w[2],"()");if(Z===-2)return;if(Z>-1){let X=(w[0].indexOf("!")===0?5:4)+w[1].length+Z;w[2]=w[2].substring(0,Z),w[0]=w[0].substring(0,X).trim(),w[3]=""}}let W=w[2],Y="";if(this.options.pedantic){let Z=this.rules.other.pedanticHrefTitle.exec(W);Z&&(W=Z[1],Y=Z[3])}else Y=w[3]?w[3].slice(1,-1):"";return W=W.trim(),this.rules.other.startAngleBracket.test(W)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(G)?W=W.slice(1):W=W.slice(1,-1)),FT(w,{href:W&&W.replace(this.rules.inline.anyPunctuation,"$1"),title:Y&&Y.replace(this.rules.inline.anyPunctuation,"$1")},w[0],this.lexer,this.rules)}}reflink($,w){let G;if((G=this.rules.inline.reflink.exec($))||(G=this.rules.inline.nolink.exec($))){let W=(G[2]||G[1]).replace(this.rules.other.multipleSpaceGlobal," "),Y=w[W.toLowerCase()];if(!Y){let Z=G[0].charAt(0);return{type:"text",raw:Z,text:Z}}return FT(G,Y,G[0],this.lexer,this.rules)}}emStrong($,w,G=""){let W=this.rules.inline.emStrongLDelim.exec($);if(!W||!W[1]&&!W[2]&&!W[3]&&!W[4]||W[4]&&G.match(this.rules.other.unicodeAlphaNumeric))return;if(!(W[1]||W[3])||!G||this.rules.inline.punctuation.exec(G)){let Y=[...W[0]].length-1,Z,X,J=Y,T=0,M=W[0][0],f=G===M,Q=M==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(Q.lastIndex=0,w=w.slice(-1*$.length+Y);(W=Q.exec(w))!==null;){if(Z=W[1]||W[2]||W[3]||W[4]||W[5]||W[6],!Z)continue;if(X=[...Z].length,W[3]||W[4]){J+=X;continue}else if(W[5]||W[6]){if(Y%3&&!((Y+X)%3)){T+=X;continue}if(f)break}if(J-=X,J>0)continue;X=Math.min(X,X+J+T);let N=[...W[0]][0].length,z=$.slice(0,Y+W.index+N+X);if(Math.min(Y,X)%2){let P=z.slice(1,-1);return{type:"em",raw:z,text:P,tokens:this.lexer.inlineTokens(P)}}let K=z.slice(2,-2);return{type:"strong",raw:z,text:K,tokens:this.lexer.inlineTokens(K)}}}}codespan($){let w=this.rules.inline.code.exec($);if(w){let G=w[2].replace(this.rules.other.newLineCharGlobal," "),W=this.rules.other.nonSpaceChar.test(G),Y=this.rules.other.startingSpaceChar.test(G)&&this.rules.other.endingSpaceChar.test(G);return W&&Y&&(G=G.substring(1,G.length-1)),{type:"codespan",raw:w[0],text:G}}}br($){let w=this.rules.inline.br.exec($);if(w)return{type:"br",raw:w[0]}}del($,w,G=""){let W=this.rules.inline.delLDelim.exec($);if(!W)return;if(!W[1]||!G||this.rules.inline.punctuation.exec(G)){let Y=[...W[0]].length-1,Z,X,J=Y,T=this.rules.inline.delRDelim;for(T.lastIndex=0,w=w.slice(-1*$.length+Y);(W=T.exec(w))!==null;){if(Z=W[1]||W[2]||W[3]||W[4]||W[5]||W[6],!Z||(X=[...Z].length,X!==Y))continue;if(W[3]||W[4]){J+=X;continue}if(J-=X,J>0)continue;X=Math.min(X,X+J);let M=[...W[0]][0].length,f=$.slice(0,Y+W.index+M+X),Q=f.slice(Y,-Y);return{type:"del",raw:f,text:Q,tokens:this.lexer.inlineTokens(Q)}}}}autolink($){let w=this.rules.inline.autolink.exec($);if(w){let G,W;return w[2]==="@"?(G=w[1],W="mailto:"+G):(G=w[1],W=G),{type:"link",raw:w[0],text:G,href:W,tokens:[{type:"text",raw:G,text:G}]}}}url($){let w;if(w=this.rules.inline.url.exec($)){let G,W;if(w[2]==="@")G=w[0],W="mailto:"+G;else{let Y;do Y=w[0],w[0]=this.rules.inline._backpedal.exec(w[0])?.[0]??"";while(Y!==w[0]);G=w[0],w[1]==="www."?W="http://"+w[0]:W=w[0]}return{type:"link",raw:w[0],text:G,href:W,tokens:[{type:"text",raw:G,text:G}]}}}inlineText($){let w=this.rules.inline.text.exec($);if(w){let G=this.lexer.state.inRawBlock;return{type:"text",raw:w[0],text:w[0],escaped:G}}}},a0=class ${tokens;options;state;inlineQueue;tokenizer;constructor(w){this.tokens=[],this.tokens.links=Object.create(null),this.options=w||V$,this.options.tokenizer=this.options.tokenizer||new M6,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 G={other:V0,block:J6.normal,inline:U4.normal};this.options.pedantic?(G.block=J6.pedantic,G.inline=U4.pedantic):this.options.gfm&&(G.block=J6.gfm,this.options.breaks?G.inline=U4.breaks:G.inline=U4.gfm),this.tokenizer.rules=G}static get rules(){return{block:J6,inline:U4}}static lex(w,G){return new $(G).lex(w)}static lexInline(w,G){return new $(G).inlineTokens(w)}lex(w){w=w.replace(V0.carriageReturn,`
|
|
97
|
+
`),this.blockTokens(w,this.tokens);for(let G=0;G<this.inlineQueue.length;G++){let W=this.inlineQueue[G];this.inlineTokens(W.src,W.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(w,G=[],W=!1){this.tokenizer.lexer=this,this.options.pedantic&&(w=w.replace(V0.tabCharGlobal," ").replace(V0.spaceLine,""));let Y=1/0;for(;w;){if(w.length<Y)Y=w.length;else{this.infiniteLoopError(w.charCodeAt(0));break}let Z;if(this.options.extensions?.block?.some((J)=>(Z=J.call({lexer:this},w,G))?(w=w.substring(Z.raw.length),G.push(Z),!0):!1))continue;if(Z=this.tokenizer.space(w)){w=w.substring(Z.raw.length);let J=G.at(-1);Z.raw.length===1&&J!==void 0?J.raw+=`
|
|
98
|
+
`:G.push(Z);continue}if(Z=this.tokenizer.code(w)){w=w.substring(Z.raw.length);let J=G.at(-1);J?.type==="paragraph"||J?.type==="text"?(J.raw+=(J.raw.endsWith(`
|
|
99
99
|
`)?"":`
|
|
100
|
-
`)+
|
|
101
|
-
`+
|
|
100
|
+
`)+Z.raw,J.text+=`
|
|
101
|
+
`+Z.text,this.inlineQueue.at(-1).src=J.text):G.push(Z);continue}if(Z=this.tokenizer.fences(w)){w=w.substring(Z.raw.length),G.push(Z);continue}if(Z=this.tokenizer.heading(w)){w=w.substring(Z.raw.length),G.push(Z);continue}if(Z=this.tokenizer.hr(w)){w=w.substring(Z.raw.length),G.push(Z);continue}if(Z=this.tokenizer.blockquote(w)){w=w.substring(Z.raw.length),G.push(Z);continue}if(Z=this.tokenizer.list(w)){w=w.substring(Z.raw.length),G.push(Z);continue}if(Z=this.tokenizer.html(w)){w=w.substring(Z.raw.length),G.push(Z);continue}if(Z=this.tokenizer.def(w)){w=w.substring(Z.raw.length);let J=G.at(-1);J?.type==="paragraph"||J?.type==="text"?(J.raw+=(J.raw.endsWith(`
|
|
102
102
|
`)?"":`
|
|
103
|
-
`)+
|
|
104
|
-
`+
|
|
103
|
+
`)+Z.raw,J.text+=`
|
|
104
|
+
`+Z.raw,this.inlineQueue.at(-1).src=J.text):this.tokens.links[Z.tag]||(this.tokens.links[Z.tag]={href:Z.href,title:Z.title},G.push(Z));continue}if(Z=this.tokenizer.table(w)){w=w.substring(Z.raw.length),G.push(Z);continue}if(Z=this.tokenizer.lheading(w)){w=w.substring(Z.raw.length),G.push(Z);continue}let X=w;if(this.options.extensions?.startBlock){let J=1/0,T=w.slice(1),M;this.options.extensions.startBlock.forEach((f)=>{M=f.call({lexer:this},T),typeof M=="number"&&M>=0&&(J=Math.min(J,M))}),J<1/0&&J>=0&&(X=w.substring(0,J+1))}if(this.state.top&&(Z=this.tokenizer.paragraph(X))){let J=G.at(-1);W&&J?.type==="paragraph"?(J.raw+=(J.raw.endsWith(`
|
|
105
105
|
`)?"":`
|
|
106
|
-
`)+
|
|
107
|
-
`+
|
|
106
|
+
`)+Z.raw,J.text+=`
|
|
107
|
+
`+Z.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=J.text):G.push(Z),W=X.length!==w.length,w=w.substring(Z.raw.length);continue}if(Z=this.tokenizer.text(w)){w=w.substring(Z.raw.length);let J=G.at(-1);J?.type==="text"?(J.raw+=(J.raw.endsWith(`
|
|
108
108
|
`)?"":`
|
|
109
|
-
`)+
|
|
110
|
-
`+
|
|
111
|
-
`;return
|
|
112
|
-
`:"<pre><code>"+(
|
|
109
|
+
`)+Z.raw,J.text+=`
|
|
110
|
+
`+Z.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=J.text):G.push(Z);continue}if(w){this.infiniteLoopError(w.charCodeAt(0));break}}return this.state.top=!0,G}inline(w,G=[]){return this.inlineQueue.push({src:w,tokens:G}),G}linkInText(w){if(!w.includes("["))return!1;let G=this.tokenizer.rules.inline.link;for(let W of w.matchAll(this.tokenizer.rules.inline.blockSkip))if(G.test(W[0])&&w.charAt(W.index-1)!=="!")return!0;for(let W of w.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let Y=W[0],Z=Y.lastIndexOf("[");if(!(Y.charAt(0)==="!"||!Object.hasOwn(this.tokens.links,Y.slice(Z+1,-1)))&&!(Z>1&&this.linkInText(Y.slice(1,Z-1))))return!0}return!1}inlineTokens(w,G=[]){this.tokenizer.lexer=this;let W=w;if(this.tokens.links&&w.includes("[")){let J=this.tokenizer.rules.inline.reflinkSearch,T=(M)=>{let f=M.lastIndexOf("[");if(!Object.hasOwn(this.tokens.links,M.slice(f+1,-1)))return M;if(f>1&&M.charAt(0)!=="!"){let Q=M.slice(1,f-1);if(this.linkInText(Q))return"["+Q.replace(J,T)+"]["+"a".repeat(M.length-f-2)+"]"}return"["+"a".repeat(M.length-2)+"]"};W=W.replace(J,T)}W=W.replace(this.tokenizer.rules.inline.anyPunctuation,(J)=>"+".repeat(J.length)),W=W.replace(this.tokenizer.rules.inline.blockSkip,(J,T,M)=>{let f=M?M.length:0;return J.slice(0,f)+"["+"a".repeat(J.length-f-2)+"]"}),W=this.options.hooks?.emStrongMask?.call({lexer:this},W)??W;let Y=!1,Z="",X=1/0;for(;w;){if(w.length<X)X=w.length;else{this.infiniteLoopError(w.charCodeAt(0));break}Y||(Z=""),Y=!1;let J;if(this.options.extensions?.inline?.some((M)=>(J=M.call({lexer:this},w,G))?(w=w.substring(J.raw.length),G.push(J),!0):!1))continue;if(J=this.tokenizer.escape(w)){w=w.substring(J.raw.length),G.push(J);continue}if(J=this.tokenizer.tag(w)){w=w.substring(J.raw.length),G.push(J);continue}if(J=this.tokenizer.link(w)){w=w.substring(J.raw.length),G.push(J);continue}if(J=this.tokenizer.reflink(w,this.tokens.links)){w=w.substring(J.raw.length);let M=G.at(-1);J.type==="text"&&M?.type==="text"?(M.raw+=J.raw,M.text+=J.text):G.push(J);continue}if(J=this.tokenizer.emStrong(w,W,Z)){w=w.substring(J.raw.length),G.push(J);continue}if(J=this.tokenizer.codespan(w)){w=w.substring(J.raw.length),G.push(J);continue}if(J=this.tokenizer.br(w)){w=w.substring(J.raw.length),G.push(J);continue}if(J=this.tokenizer.del(w,W,Z)){w=w.substring(J.raw.length),G.push(J);continue}if(J=this.tokenizer.autolink(w)){w=w.substring(J.raw.length),G.push(J);continue}if(!this.state.inLink&&(J=this.tokenizer.url(w))){w=w.substring(J.raw.length),G.push(J);continue}let T=w;if(this.options.extensions?.startInline){let M=1/0,f=w.slice(1),Q;this.options.extensions.startInline.forEach((N)=>{Q=N.call({lexer:this},f),typeof Q=="number"&&Q>=0&&(M=Math.min(M,Q))}),M<1/0&&M>=0&&(T=w.substring(0,M+1))}if(J=this.tokenizer.inlineText(T)){w=w.substring(J.raw.length),J.raw.slice(-1)!=="_"&&(Z=J.raw.slice(-1)),Y=!0;let M=G.at(-1);M?.type==="text"?(M.raw+=J.raw,M.text+=J.text):G.push(J);continue}if(w){this.infiniteLoopError(w.charCodeAt(0));break}}return G}infiniteLoopError(w){let G="Infinite loop on byte: "+w;if(this.options.silent)console.error(G);else throw Error(G)}},f6=class{options;parser;constructor($){this.options=$||V$}space($){return""}code({text:$,lang:w,escaped:G}){let W=(w||"").match(V0.notSpaceStart)?.[0],Y=$.replace(V0.endingNewline,"")+`
|
|
111
|
+
`;return W?'<pre><code class="language-'+T1(W)+'">'+(G?Y:T1(Y,!0))+`</code></pre>
|
|
112
|
+
`:"<pre><code>"+(G?Y:T1(Y,!0))+`</code></pre>
|
|
113
113
|
`}blockquote({tokens:$}){return`<blockquote>
|
|
114
114
|
${this.parser.parse($)}</blockquote>
|
|
115
115
|
`}html({text:$}){return $}def($){return""}heading({tokens:$,depth:w}){return`<h${w}>${this.parser.parseInline($)}</h${w}>
|
|
116
116
|
`}hr($){return`<hr>
|
|
117
|
-
`}list($){let{ordered:w,start:
|
|
118
|
-
`+
|
|
117
|
+
`}list($){let{ordered:w,start:G}=$,W="";for(let X=0;X<$.items.length;X++){let J=$.items[X];W+=this.listitem(J)}let Y=w?"ol":"ul",Z=w&&G!==1?' start="'+G+'"':"";return"<"+Y+Z+`>
|
|
118
|
+
`+W+"</"+Y+`>
|
|
119
119
|
`}listitem($){return`<li>${this.parser.parse($.tokens)}</li>
|
|
120
120
|
`}checkbox({checked:$}){return"<input "+($?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:$}){return`<p>${this.parser.parseInline($)}</p>
|
|
121
|
-
`}table($){let w="",
|
|
121
|
+
`}table($){let w="",G="";for(let Y=0;Y<$.header.length;Y++)G+=this.tablecell($.header[Y]);w+=this.tablerow({text:G});let W="";for(let Y=0;Y<$.rows.length;Y++){let Z=$.rows[Y];G="";for(let X=0;X<Z.length;X++)G+=this.tablecell(Z[X]);W+=this.tablerow({text:G})}return W&&(W=`<tbody>${W}</tbody>`),`<table>
|
|
122
122
|
<thead>
|
|
123
123
|
`+w+`</thead>
|
|
124
|
-
`+
|
|
124
|
+
`+W+`</table>
|
|
125
125
|
`}tablerow({text:$}){return`<tr>
|
|
126
126
|
${$}</tr>
|
|
127
|
-
`}tablecell($){let w=this.parser.parseInline($.tokens),
|
|
128
|
-
`}strong({tokens:$}){return`<strong>${this.parser.parseInline($)}</strong>`}em({tokens:$}){return`<em>${this.parser.parseInline($)}</em>`}codespan({text:$}){return`<code>${
|
|
129
|
-
Please report this to https://github.com/markedjs/marked.`,$){let
|
|
130
|
-
`).flatMap((
|
|
131
|
-
`).map(
|
|
132
|
-
`)}class
|
|
133
|
-
`);while(w>=0){let
|
|
127
|
+
`}tablecell($){let w=this.parser.parseInline($.tokens),G=$.header?"th":"td";return($.align?`<${G} align="${$.align}">`:`<${G}>`)+w+`</${G}>
|
|
128
|
+
`}strong({tokens:$}){return`<strong>${this.parser.parseInline($)}</strong>`}em({tokens:$}){return`<em>${this.parser.parseInline($)}</em>`}codespan({text:$}){return`<code>${T1($,!0)}</code>`}br($){return"<br>"}del({tokens:$}){return`<del>${this.parser.parseInline($)}</del>`}link({href:$,title:w,tokens:G}){let W=this.parser.parseInline(G),Y=ET($);if(Y===null)return W;$=Y;let Z='<a href="'+$+'"';return w&&(Z+=' title="'+T1(w)+'"'),Z+=">"+W+"</a>",Z}image({href:$,title:w,text:G,tokens:W}){W&&(G=this.parser.parseInline(W,this.parser.textRenderer));let Y=ET($);if(Y===null)return T1(G);$=Y;let Z=`<img src="${$}" alt="${T1(G)}"`;return w&&(Z+=` title="${T1(w)}"`),Z+=">",Z}text($){return"tokens"in $&&$.tokens?this.parser.parseInline($.tokens):("escaped"in $)&&$.escaped?$.text:T1($.text)}},ZW=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 $}},o0=class ${options;renderer;textRenderer;constructor(w){this.options=w||V$,this.options.renderer=this.options.renderer||new f6,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ZW}static parse(w,G){return new $(G).parse(w)}static parseInline(w,G){return new $(G).parseInline(w)}parse(w){this.renderer.parser=this;let G="";for(let W=0;W<w.length;W++){let Y=w[W];if(this.options.extensions?.renderers?.[Y.type]){let X=Y,J=this.options.extensions.renderers[X.type].call({parser:this},X);if(J!==!1||!["space","hr","heading","code","table","blockquote","list","checkbox","html","def","paragraph","text"].includes(X.type)){G+=J||"";continue}}let Z=Y;switch(Z.type){case"space":{G+=this.renderer.space(Z);break}case"hr":{G+=this.renderer.hr(Z);break}case"heading":{G+=this.renderer.heading(Z);break}case"code":{G+=this.renderer.code(Z);break}case"table":{G+=this.renderer.table(Z);break}case"blockquote":{G+=this.renderer.blockquote(Z);break}case"list":{G+=this.renderer.list(Z);break}case"checkbox":{G+=this.renderer.checkbox(Z);break}case"html":{G+=this.renderer.html(Z);break}case"def":{G+=this.renderer.def(Z);break}case"paragraph":{G+=this.renderer.paragraph(Z);break}case"text":{G+=this.renderer.text(Z);break}default:{let X='Token with "'+Z.type+'" type was not found.';if(this.options.silent)return console.error(X),"";throw Error(X)}}}return G}parseInline(w,G=this.renderer){this.renderer.parser=this;let W="";for(let Y=0;Y<w.length;Y++){let Z=w[Y];if(this.options.extensions?.renderers?.[Z.type]){let J=this.options.extensions.renderers[Z.type].call({parser:this},Z);if(J!==!1||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(Z.type)){W+=J||"";continue}}let X=Z;switch(X.type){case"escape":{W+=G.text(X);break}case"html":{W+=G.html(X);break}case"link":{W+=G.link(X);break}case"image":{W+=G.image(X);break}case"checkbox":{W+=G.checkbox(X);break}case"strong":{W+=G.strong(X);break}case"em":{W+=G.em(X);break}case"codespan":{W+=G.codespan(X);break}case"br":{W+=G.br(X);break}case"del":{W+=G.del(X);break}case"text":{W+=G.text(X);break}default:{let J='Token with "'+X.type+'" type was not found.';if(this.options.silent)return console.error(J),"";throw Error(J)}}}return W}},H4=class{options;block;constructor($){this.options=$||V$}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 $?a0.lex:a0.lexInline}provideParser($=this.block){return $?o0.parse:o0.parseInline}},BF=class{defaults=oG();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=o0;Renderer=f6;TextRenderer=ZW;Lexer=a0;Tokenizer=M6;Hooks=H4;constructor(...$){this.use(...$)}walkTokens($,w){let G=[];for(let W of $)switch(G=G.concat(w.call(this,W)),W.type){case"table":{let Y=W;for(let Z of Y.header)G=G.concat(this.walkTokens(Z.tokens,w));for(let Z of Y.rows)for(let X of Z)G=G.concat(this.walkTokens(X.tokens,w));break}case"list":{let Y=W;G=G.concat(this.walkTokens(Y.items,w));break}default:{let Y=W;this.defaults.extensions?.childTokens?.[Y.type]?this.defaults.extensions.childTokens[Y.type].forEach((Z)=>{let X=Y[Z].flat(1/0);G=G.concat(this.walkTokens(X,w))}):Y.tokens&&(G=G.concat(this.walkTokens(Y.tokens,w)))}}return G}use(...$){let w=this.defaults.extensions||{renderers:{},childTokens:{}};return $.forEach((G)=>{let W={...G};if(W.async=this.defaults.async||W.async||!1,G.extensions&&(G.extensions.forEach((Y)=>{if(!Y.name)throw Error("extension name required");if("renderer"in Y){let Z=w.renderers[Y.name];Z?w.renderers[Y.name]=function(...X){let J=Y.renderer.apply(this,X);return J===!1&&(J=Z.apply(this,X)),J}:w.renderers[Y.name]=Y.renderer}if("tokenizer"in Y){if(!Y.level||Y.level!=="block"&&Y.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let Z=w[Y.level];Z?Z.unshift(Y.tokenizer):w[Y.level]=[Y.tokenizer],Y.start&&(Y.level==="block"?w.startBlock?w.startBlock.push(Y.start):w.startBlock=[Y.start]:Y.level==="inline"&&(w.startInline?w.startInline.push(Y.start):w.startInline=[Y.start]))}"childTokens"in Y&&Y.childTokens&&(w.childTokens[Y.name]=Y.childTokens)}),W.extensions=w),G.renderer){let Y=this.defaults.renderer||new f6(this.defaults);for(let Z in G.renderer){if(!(Z in Y))throw Error(`renderer '${Z}' does not exist`);if(["options","parser"].includes(Z))continue;let X=Z,J=G.renderer[X],T=Y[X];Y[X]=(...M)=>{let f=J.apply(Y,M);return f===!1&&(f=T.apply(Y,M)),f||""}}W.renderer=Y}if(G.tokenizer){let Y=this.defaults.tokenizer||new M6(this.defaults);for(let Z in G.tokenizer){if(!(Z in Y))throw Error(`tokenizer '${Z}' does not exist`);if(["options","rules","lexer"].includes(Z))continue;let X=Z,J=G.tokenizer[X],T=Y[X];Y[X]=(...M)=>{let f=J.apply(Y,M);return f===!1&&(f=T.apply(Y,M)),f}}W.tokenizer=Y}if(G.hooks){let Y=this.defaults.hooks||new H4;for(let Z in G.hooks){if(!(Z in Y))throw Error(`hook '${Z}' does not exist`);if(["options","block"].includes(Z))continue;let X=Z,J=G.hooks[X],T=Y[X];H4.passThroughHooks.has(Z)?Y[X]=(M)=>{if(this.defaults.async&&H4.passThroughHooksRespectAsync.has(Z))return(async()=>{let Q=await J.call(Y,M);return T.call(Y,Q)})();let f=J.call(Y,M);return T.call(Y,f)}:Y[X]=(...M)=>{if(this.defaults.async)return(async()=>{let Q=await J.apply(Y,M);return Q===!1&&(Q=await T.apply(Y,M)),Q})();let f=J.apply(Y,M);return f===!1&&(f=T.apply(Y,M)),f}}W.hooks=Y}if(G.walkTokens){let Y=this.defaults.walkTokens,Z=G.walkTokens;W.walkTokens=function(X){let J=[];return J.push(Z.call(this,X)),Y&&(J=J.concat(Y.call(this,X))),J}}this.defaults={...this.defaults,...W}}),this}setOptions($){return this.defaults={...this.defaults,...$},this}lexer($,w){return a0.lex($,w??this.defaults)}parser($,w){return o0.parse($,w??this.defaults)}parseMarkdown($){return(w,G)=>{let W={...G},Y={...this.defaults,...W},Z=this.onError(!!Y.silent,!!Y.async);if(this.defaults.async===!0&&W.async===!1)return Z(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 Z(Error("marked(): input parameter is undefined or null"));if(typeof w!="string")return Z(Error("marked(): input parameter is of type "+Object.prototype.toString.call(w)+", string expected"));if(Y.hooks&&(Y.hooks.options=Y,Y.hooks.block=$),Y.async)return(async()=>{let X=Y.hooks?await Y.hooks.preprocess(w):w,J=await(Y.hooks?await Y.hooks.provideLexer($):$?a0.lex:a0.lexInline)(X,Y),T=Y.hooks?await Y.hooks.processAllTokens(J):J;Y.walkTokens&&await Promise.all(this.walkTokens(T,Y.walkTokens));let M=await(Y.hooks?await Y.hooks.provideParser($):$?o0.parse:o0.parseInline)(T,Y);return Y.hooks?await Y.hooks.postprocess(M):M})().catch(Z);try{Y.hooks&&(w=Y.hooks.preprocess(w));let X=(Y.hooks?Y.hooks.provideLexer($):$?a0.lex:a0.lexInline)(w,Y);Y.hooks&&(X=Y.hooks.processAllTokens(X)),Y.walkTokens&&this.walkTokens(X,Y.walkTokens);let J=(Y.hooks?Y.hooks.provideParser($):$?o0.parse:o0.parseInline)(X,Y);return Y.hooks&&(J=Y.hooks.postprocess(J)),J}catch(X){return Z(X)}}}onError($,w){return(G)=>{if(G.message+=`
|
|
129
|
+
Please report this to https://github.com/markedjs/marked.`,$){let W="<p>An error occurred:</p><pre>"+T1(G.message+"",!0)+"</pre>";return w?Promise.resolve(W):W}if(w)return Promise.reject(G);throw G}}},B$=new BF;function t($,w){return B$.parse($,w)}t.options=t.setOptions=function($){return B$.setOptions($),t.defaults=B$.defaults,OT(t.defaults),t};t.getDefaults=oG;t.defaults=V$;function VF(...$){return B$.use(...$),t.defaults=B$.defaults,OT(t.defaults),t}t.use=VF;t.walkTokens=function($,w){return B$.walkTokens($,w)};t.parseInline=B$.parseInline;t.Parser=o0;t.parser=o0.parse;t.Renderer=f6;t.TextRenderer=ZW;t.Lexer=a0;t.lexer=a0.lex;t.Tokenizer=M6;t.Hooks=H4;t.parse=t;var{options:Wj,setOptions:Yj,walkTokens:Zj,parseInline:Xj}=t;var Jj=o0.parse,Tj=a0.lex;var e0=c$(X6(),1);var D4=c$(X6(),1);import{stripVTControlCharacters as FF}from"node:util";import{stripVTControlCharacters as qF}from"node:util";var EF=new Intl.Segmenter(void 0,{granularity:"grapheme"}),UF=/\p{Mark}/u,HF=/\p{Extended_Pictographic}|\p{Regional_Indicator}|\u20e3/u;function Y0($){return Array.from(qF($)).filter((w)=>{let G=w.codePointAt(0)??0;return G===9||G===10||G>159||G>31&&G<127}).join("")}function XW($){let w=$.codePointAt(0)??0;if(w>=9472&&w<=9599)return 1;return w<=255?1:2}function H1($){return Array.from(EF.segment($),({segment:w})=>w)}function Jw($){if(!$)return 0;if(HF.test($)||$.includes("️"))return 2;return Array.from($).filter((G)=>!UF.test(G)&&G!==""&&G!=="︎").reduce((G,W)=>Math.max(G,XW(W)),0)}function L4($){return H1($).reduce((w,G)=>w+Jw(G),0)}function Tw($,w,G="head"){if(w<=0)return"";if(L4($)<=w)return $;if(w===1)return"…";let W=H1($),Y=[],Z=1,X=G==="head"?W.map((J,T)=>T):W.map((J,T)=>W.length-T-1);for(let J of X){let T=W[J];if(T===void 0||Z+Jw(T)>w)break;if(G==="head")Y.push(T);else Y.unshift(T);Z+=Jw(T)}return G==="head"?`${Y.join("")}…`:`…${Y.join("")}`}var MW="\x1B",bT=`${MW}[0m`,OF=new RegExp(`^${MW}\\[[0-?]*[ -/]*[@-~]`);function xT($){return L4(FF($))}function _T($){let w=[],G=0,W="";while(G<$.length){let Y=$.slice(G).match(OF)?.[0];if(Y){if(Y.endsWith("m"))W=Y===`${MW}[m`||Y===bT?"":`${W}${Y}`;G+=Y.length;continue}let Z=$.codePointAt(G);if(Z===void 0)break;let X=String.fromCodePoint(Z);w.push({value:X,width:XW(X),state:W}),G+=X.length}return w}function JW($){return $.map((w)=>w.state?`${w.state}${w.value}${bT}`:w.value).join("")}function LF($,w){if($.length===0)return[""];let G=[],W=$;while(W.length>0){if(G.length>0){while(W[0]&&/\s/u.test(W[0].value))W=W.slice(1);if(W.length===0)break}let Y=0,Z=0,X=-1;while(Z<W.length){let J=W[Z];if(!J||Z>0&&Y+J.width>w)break;if(Y+=J.width,/\s/u.test(J.value))X=Z;if(Z+=1,Y>=w)break}if(Z>=W.length){G.push(JW(W));break}if(X>=0){G.push(JW(W.slice(0,X))),W=W.slice(X+1);while(W[0]&&/\s/u.test(W[0].value))W=W.slice(1);continue}G.push(JW(W.slice(0,Math.max(1,Z)))),W=W.slice(Math.max(1,Z))}return G.length>0?G:[""]}function DF($,w){let G=Math.max(1,w);return $.split(`
|
|
130
|
+
`).flatMap((W)=>LF(_T(W),G))}function kF($){return $.some((w)=>_T(w).some((G)=>G.width>1))?2:1}function AF($){return Math.max(1,...$.flatMap((w)=>w.split(`
|
|
131
|
+
`).map(xT)))}function SF($,w){let G=$.header.length,W=$.header.map((J,T)=>[J,...$.rows.map((M)=>M[T]??"")]),Y=W.map(kF),Z=W.map(AF),X=Math.max(Y.reduce((J,T)=>J+T,0),w-(3*G+1));while(Z.reduce((J,T)=>J+T,0)>X){let J=-1;for(let T=0;T<Z.length;T+=1){let M=Z[T]??0,f=Y[T]??1;if(M>f&&(J<0||M>(Z[J]??0)))J=T}if(J<0)break;Z[J]=(Z[J]??1)-1}return Z}function RF($,w,G){let W=Math.max(0,w-xT($)),Y=G==="right"?W:G==="center"?Math.floor(W/2):0;return`${" ".repeat(Y)}${$}${" ".repeat(W-Y)}`}function TW($,w,G,W){return D4.default.dim(`${$}${W.map((Y)=>"─".repeat(Y+2)).join(w)}${G}`)}function IT($,w,G){let W=G.map((Z,X)=>DF($[X]??"",Z)),Y=Math.max(1,...W.map((Z)=>Z.length));return Array.from({length:Y},(Z,X)=>{let J=G.map((T,M)=>RF(W[M]?.[X]??"",T,w[M]??"left"));return`${D4.default.dim("│")} ${J.join(` ${D4.default.dim("│")} `)} ${D4.default.dim("│")}`})}function gT($,w){if($.header.length===0)return"";let G=SF($,Math.max(1,w)),W=G.map((Z,X)=>$.align[X]??"left");return[TW("┌","┬","┐",G),...IT($.header,W,G),TW("├","┼","┤",G),...$.rows.flatMap((Z)=>IT(Z,W,G)),TW("└","┴","┘",G)].join(`
|
|
132
|
+
`)}class k4{write;columns;pending="";fence;table;constructor($,w=()=>80){this.write=$;this.columns=w}push($){this.pending+=Y0($);let w=this.pending.indexOf(`
|
|
133
|
+
`);while(w>=0){let G=this.pending.slice(0,w+1);this.pending=this.pending.slice(w+1),this.consumeLine(G),w=this.pending.indexOf(`
|
|
134
134
|
`)}}preview(){if(this.pending)return this.pending;let $=this.table?.lines.at(-1);if($!==void 0)return $.endsWith(`
|
|
135
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
|
|
137
|
-
`)?$.slice(0,-1):$).match(/^ {0,3}(`{3,}|~{3,})[ \t]*$/);if(
|
|
138
|
-
`)?$.slice(0,-1):$,
|
|
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 Z=($.endsWith(`
|
|
137
|
+
`)?$.slice(0,-1):$).match(/^ {0,3}(`{3,}|~{3,})[ \t]*$/);if(Z?.[1]?.[0]===this.fence.marker&&Z[1].length>=this.fence.length){let X=this.fence.lines.join("");this.fence=void 0,this.renderUnit(X)}return}if(this.table){let Y=`${this.table.lines.join("")}${$}`,Z=this.tableToken(Y);if(this.table.confirmed){if(Z){this.table.lines.push($);return}this.flushTable(),this.consumeLine($);return}if(Z){this.table.lines.push($),this.table.confirmed=!0;return}this.flushTable(),this.consumeLine($);return}let w=$.endsWith(`
|
|
138
|
+
`)?$.slice(0,-1):$,W=w.match(/^ {0,3}(`{3,}|~{3,})(.*)$/)?.[1];if(W){this.fence={marker:W[0],length:W.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
139
|
`)&&!w.endsWith(`
|
|
140
140
|
`))w+=`
|
|
141
|
-
`;this.write(w)}catch{this.write(
|
|
142
|
-
`).map((
|
|
141
|
+
`;this.write(w)}catch{this.write(Y0($))}}renderTokens($){return($??[]).map((w)=>this.renderToken(w)).join("")}renderToken($){let w=()=>this.renderTokens("tokens"in $?$.tokens:void 0),G=()=>Y0("text"in $?$.text:"");switch($.type){case"heading":return e0.default.bold(w()||G());case"strong":return e0.default.bold(w()||G());case"em":return e0.default.italic(w()||G());case"codespan":return e0.default.cyan(G());case"link":{let W=w()||G(),Y=Y0($.href??"");return`${e0.default.underline(W)}${Y?e0.default.dim(` (${Y})`):""}`}case"list":{let W=$,Y=typeof W.start==="number"?W.start:1;return W.items.map((Z,X)=>{let J=this.renderTokens(Z.tokens)||Y0(Z.text??""),T=W.ordered?`${Y+X}. `:"• ";return J.trimEnd().split(`
|
|
142
|
+
`).map((f,Q)=>`${Q===0?T:" "}${f}`).join(`
|
|
143
143
|
`)}).join(`
|
|
144
|
-
`)}case"list_item":return w()||
|
|
145
|
-
`).map((
|
|
146
|
-
`);case"code":{let
|
|
147
|
-
${
|
|
148
|
-
`;default:{let
|
|
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(
|
|
144
|
+
`)}case"list_item":return w()||G();case"blockquote":return(w()||G()).trimEnd().split(`
|
|
145
|
+
`).map((Y)=>`${e0.default.dim("│ ")}${Y}`).join(`
|
|
146
|
+
`);case"code":{let W=Y0(($.lang??"").trim()),Y=e0.default.cyan(G());return W?`${e0.default.dim(W)}
|
|
147
|
+
${Y}`:Y}case"table":{let W=$;return gT({header:W.header.map((Y)=>e0.default.bold(this.renderTokens(Y.tokens))),align:W.align.map((Y)=>Y??"left"),rows:W.rows.map((Y)=>Y.map((Z)=>this.renderTokens(Z.tokens)))},Math.max(1,this.columns()))}case"paragraph":case"text":case"escape":return w()||G();case"space":case"br":return`
|
|
148
|
+
`;default:{let W=w();if(W)return W;let Y=G();if(Y)return Y;return Y0($.raw??"")}}}}var vT=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];class QW{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 k4((G)=>this.stdout.write(G),()=>{let G=this.stdout.columns,W=this.stderr.columns;return G??W??80}),$.on((G)=>this.render(G))}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),G=String($.data?.name??"tool");if(Number.isInteger(w))this.startToolCallPreview(w,G)}if($.type==="provider.tool_call_delta"&&this.tty){let w=Number($.data?.index),G=String($.data?.argumentsDelta??"");if(Number.isInteger(w)&&G)this.appendToolCallPreview(w,G)}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=Y0(String($.data?.name??"tool"));if(this.tty){let G=Y0(String($.data?.summary??""));this.toolStatus(`◇ ${w}${G?` ${G}`:""}`)}else this.status(`tool ${w} started`)}if($.type==="tool.completed"){let w=Y0(String($.data?.name??"tool")),G=String($.data?.durationMs??"?");if(this.tty){let W=Boolean($.data?.isError);this.toolStatus(`${W?"✗":"✓"} ${w} ${G}ms`,W)}else this.status(`tool ${w} ${$.data?.isError?"failed":"completed"} (${G}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(M1.default.red(`failed: ${String($.data?.message)}`));if($.type==="plugin.loaded"&&this.options.verbose)this.status(`plugin loaded: ${N6($)}`);if($.type==="plugin.failed")this.status(M1.default.red(`plugin failed: ${N6($)}${fW($)}`));if($.type==="plugin.unavailable")this.status(M1.default.yellow(`plugin unavailable: ${N6($)}${fW($)}`));if($.type==="plugin.restart_required")this.status(M1.default.yellow(`plugin restart required: ${N6($)}${fW($)}`))}status($){this.stderr.write(this.tty?`${M1.default.dim($)}
|
|
150
150
|
`:`[coden] ${$}
|
|
151
|
-
`)}toolStatus($,w=!1){let
|
|
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
|
|
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
|
|
151
|
+
`)}toolStatus($,w=!1){let G=this.stderr.columns??80,W=Tw(Y0($),G);this.stderr.write(`${w?M1.default.red(W):M1.default.dim(W)}
|
|
152
|
+
`)}startProviderAttempt(){this.endProviderAttempt(),this.providerStartedAt=Date.now(),this.startSpinner(),this.renderActivityLine()}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 G=((Date.now()-$)/1000).toFixed(1);this.stderr.write(`${M1.default.dim(`thought for ${G}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 G=this.toolCallPreviews.get($);if(!G)return;G.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),G=vT[this.frame++%vT.length]??"",W=this.currentActivityText(w);Mw.clearLine(this.stderr,0),Mw.cursorTo(this.stderr,0),this.stderr.write(M1.default.dim(`${G} ${W}`))}currentActivityText($){let w=this.activeToolCallIndex===void 0?void 0:this.toolCallPreviews.get(this.activeToolCallIndex);if(w){let W=`preparing ${w.name}…`,Y=w.argumentsText.replace(/\s+/g," ").trim();if(!Y)return this.truncateTail(W,$);let Z=Math.max(0,$-L4(W)-1);if(Z===0)return this.truncateTail(W,$);return`${W} ${this.truncateTail(Y,Z)}`}if(this.contentStarted){let W=this.markdown.preview();return W===void 0?"rendering…":this.truncateTail(W,$)}let G=this.normalizedReasoning();return G?this.truncateTail(G,$):"thinking"}truncateTail($,w){return Tw($,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;Mw.clearLine(this.stderr,0),Mw.cursorTo(this.stderr,0)}stopSpinner(){if(!this.spinner)return;clearInterval(this.spinner),this.spinner=void 0,this.clearActivityLine()}dispose(){this.endProviderAttempt()}}function N6($){let w=$.data??{},G=q$(w.scope),W=q$(w.packageName),Y=q$(w.version??w.diskVersion),Z=q$(w.name),X=q$(w.path),J=q$(w.source);if(W)return`${G?`${G} `:""}${W}${Y?`@${Y}`:""}`;if(Z)return Z;if(X)return`${G?`${G} `:""}${X}`;if(J)return J;return"plugin"}function fW($){let w=q$($.data?.message??$.data?.reason);return w?` — ${w}`:""}function q$($){return typeof $==="string"&&$.length>0?$:void 0}import{appendFile as jF,chmod as uT,mkdir as CF}from"node:fs/promises";import yF from"node:path";class NW{file;shouldPersist;#$=Promise.resolve();#w=[];constructor($,w,G=()=>!0){this.file=$;this.shouldPersist=G;w.on((W)=>this.write(W))}write($){if(!this.shouldPersist())return this.#w.push($),Promise.resolve();let w=[...this.#w.splice(0),$],G=this.#$.then(async()=>{let W=yF.dirname(this.file);await CF(W,{recursive:!0,mode:448}),await uT(W,448),await jF(this.file,`${w.map((Y)=>JSON.stringify(Y)).join(`
|
|
154
154
|
`)}
|
|
155
|
-
`,{encoding:"utf8",mode:384}),await
|
|
156
|
-
`)}}y0=new WeakMap,I0=new WeakMap;
|
|
157
|
-
`,"\r"]);
|
|
158
|
-
`);
|
|
159
|
-
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],
|
|
160
|
-
${
|
|
155
|
+
`,{encoding:"utf8",mode:384}),await uT(this.file,384)});return this.#$=G.catch(()=>{}),G}async flush(){await this.#$}}var IF=[/\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 bF($){return IF.some((w)=>w.test($))?"dangerous":"modify"}class zW{auto;prompt;#$=new Set;constructor($,w){this.auto=$;this.prompt=w}async authorize($,w,G){let W=$.risk;if($.name==="bash"&&typeof w.input?.command==="string"){if(bF(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 Y=await this.prompt($,w,W,G);if(Y==="allow_session"&&W!=="dangerous")this.#$.add($.name);return{allowed:Y!=="deny",risk:W}}}function I($,w,G,W,Y){if(W==="m")throw TypeError("Private method is not writable");if(W==="a"&&!Y)throw TypeError("Private accessor was defined without a setter");if(typeof w==="function"?$!==w||!Y:!w.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?Y.call($,G):Y?Y.value=G:w.set($,G),G}function H($,w,G,W){if(G==="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 G==="m"?W:G==="a"?W.call($):W?W.value:w.get($)}var KW=function(){let{crypto:$}=globalThis;if($?.randomUUID)return KW=$.randomUUID.bind($),$.randomUUID();let w=new Uint8Array(1),G=$?()=>$.getRandomValues(w)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(W)=>(+W^G()&15>>+W/4).toString(16))};function F1($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var A4=($)=>{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 X0 extends b{constructor($,w,G,W){super(`${X0.makeMessage($,w,G)}`);this.status=$,this.headers=W,this.requestID=W?.get("request-id"),this.error=w}static makeMessage($,w,G){let W=w?.message?typeof w.message==="string"?w.message:JSON.stringify(w.message):w?JSON.stringify(w):G;if($&&W)return`${$} ${W}`;if($)return`${$} status code (no body)`;if(W)return W;return"(no status code or body)"}static generate($,w,G,W){if(!$||!W)return new E$({message:G,cause:A4(w)});let Y=w;if($===400)return new R4($,Y,G,W);if($===401)return new j4($,Y,G,W);if($===403)return new C4($,Y,G,W);if($===404)return new y4($,Y,G,W);if($===409)return new I4($,Y,G,W);if($===422)return new b4($,Y,G,W);if($===429)return new x4($,Y,G,W);if($>=500)return new _4($,Y,G,W);return new X0($,Y,G,W)}}class q0 extends X0{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class E$ extends X0{constructor({message:$,cause:w}){super(void 0,void 0,$||"Connection error.",void 0);if(w)this.cause=w}}class S4 extends E${constructor({message:$}={}){super({message:$??"Request timed out."})}}class R4 extends X0{}class j4 extends X0{}class C4 extends X0{}class y4 extends X0{}class I4 extends X0{}class b4 extends X0{}class x4 extends X0{}class _4 extends X0{}var _F=/^[a-z][a-z0-9+.-]*:/i,hT=($)=>{return _F.test($)},PW=($)=>(PW=Array.isArray,PW($)),BW=PW;function VW($){if(typeof $!=="object")return{};return $??{}}function iT($){if(!$)return!0;for(let w in $)return!1;return!0}function mT($,w){return Object.prototype.hasOwnProperty.call($,w)}var lT=($,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 z6=($)=>{try{return JSON.parse($)}catch(w){return}};var cT=($)=>new Promise((w)=>setTimeout(w,$));var n1="0.61.0";var tT=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function gF(){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 vF=()=>{let $=gF();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":n1,"X-Stainless-OS":nT(Deno.build.os),"X-Stainless-Arch":dT(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":n1,"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":n1,"X-Stainless-OS":nT(globalThis.process.platform??"unknown"),"X-Stainless-Arch":dT(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let w=uF();if(w)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":n1,"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":n1,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function uF(){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:G}of $){let W=G.exec(navigator.userAgent);if(W){let Y=W[1]||0,Z=W[2]||0,X=W[3]||0;return{browser:w,version:`${Y}.${Z}.${X}`}}}return null}var dT=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},nT=($)=>{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"},pT,rT=()=>{return pT??(pT=vF())};function sT(){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 qW(...$){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 K6($){let w=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return qW({start(){},async pull(G){let{done:W,value:Y}=await w.next();if(W)G.close();else G.enqueue(Y)},async cancel(){await w.return?.()}})}function g4($){if($[Symbol.asyncIterator])return $;let w=$.getReader();return{async next(){try{let G=await w.read();if(G?.done)w.releaseLock();return G}catch(G){throw w.releaseLock(),G}},async return(){let G=w.cancel();return w.releaseLock(),await G,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function aT($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let w=$.getReader(),G=w.cancel();w.releaseLock(),await G}var oT=({headers:$,body:w})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(w)}};function wM($){let w=0;for(let Y of $)w+=Y.length;let G=new Uint8Array(w),W=0;for(let Y of $)G.set(Y,W),W+=Y.length;return G}var eT;function v4($){let w;return(eT??(w=new globalThis.TextEncoder,eT=w.encode.bind(w)))($)}var $M;function EW($){let w;return($M??(w=new globalThis.TextDecoder,$M=w.decode.bind(w)))($)}var y0,I0;class p1{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"?v4($):$;I(this,y0,wM([H(this,y0,"f"),w]),"f");let G=[],W;while((W=mF(H(this,y0,"f"),H(this,I0,"f")))!=null){if(W.carriage&&H(this,I0,"f")==null){I(this,I0,W.index,"f");continue}if(H(this,I0,"f")!=null&&(W.index!==H(this,I0,"f")+1||W.carriage)){G.push(EW(H(this,y0,"f").subarray(0,H(this,I0,"f")-1))),I(this,y0,H(this,y0,"f").subarray(H(this,I0,"f")),"f"),I(this,I0,null,"f");continue}let Y=H(this,I0,"f")!==null?W.preceding-1:W.preceding,Z=EW(H(this,y0,"f").subarray(0,Y));G.push(Z),I(this,y0,H(this,y0,"f").subarray(W.index),"f"),I(this,I0,null,"f")}return G}flush(){if(!H(this,y0,"f").length)return[];return this.decode(`
|
|
156
|
+
`)}}y0=new WeakMap,I0=new WeakMap;p1.NEWLINE_CHARS=new Set([`
|
|
157
|
+
`,"\r"]);p1.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function mF($,w){for(let Y=w??0;Y<$.length;Y++){if($[Y]===10)return{preceding:Y,index:Y+1,carriage:!1};if($[Y]===13)return{preceding:Y,index:Y+1,carriage:!0}}return null}function GM($){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 B6={off:0,error:200,warn:300,info:400,debug:500},UW=($,w,G)=>{if(!$)return;if(mT(B6,$))return $;Q0(G).warn(`${w} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(B6))}`);return};function u4(){}function P6($,w,G){if(!w||B6[$]>B6[G])return u4;else return w[$].bind(w)}var lF={error:u4,warn:u4,info:u4,debug:u4},WM=new WeakMap;function Q0($){let w=$.logger,G=$.logLevel??"off";if(!w)return lF;let W=WM.get(w);if(W&&W[0]===G)return W[1];let Y={error:P6("error",w,G),warn:P6("warn",w,G),info:P6("info",w,G),debug:P6("debug",w,G)};return WM.set(w,[G,Y]),Y}var O1=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([w,G])=>[w,w.toLowerCase()==="x-api-key"||w.toLowerCase()==="authorization"||w.toLowerCase()==="cookie"||w.toLowerCase()==="set-cookie"?"***":G]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var h4;class b0{constructor($,w,G){this.iterator=$,h4.set(this,void 0),this.controller=w,I(this,h4,G,"f")}static fromSSEResponse($,w,G){let W=!1,Y=G?Q0(G):console;async function*Z(){if(W)throw new b("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");W=!0;let X=!1;try{for await(let J of cF($,w)){if(J.event==="completion")try{yield JSON.parse(J.data)}catch(T){throw Y.error("Could not parse message into JSON:",J.data),Y.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 Y.error("Could not parse message into JSON:",J.data),Y.error("From chunk:",J.raw),T}if(J.event==="ping")continue;if(J.event==="error")throw new X0(void 0,z6(J.data)??J.data,void 0,$.headers)}X=!0}catch(J){if(F1(J))return;throw J}finally{if(!X)w.abort()}}return new b0(Z,w,G)}static fromReadableStream($,w,G){let W=!1;async function*Y(){let X=new p1,J=g4($);for await(let T of J)for(let M of X.decode(T))yield M;for(let T of X.flush())yield T}async function*Z(){if(W)throw new b("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");W=!0;let X=!1;try{for await(let J of Y()){if(X)continue;if(J)yield JSON.parse(J)}X=!0}catch(J){if(F1(J))return;throw J}finally{if(!X)w.abort()}}return new b0(Z,w,G)}[(h4=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],w=[],G=this.iterator(),W=(Y)=>{return{next:()=>{if(Y.length===0){let Z=G.next();$.push(Z),w.push(Z)}return Y.shift()}}};return[new b0(()=>W($),this.controller,H(this,h4,"f")),new b0(()=>W(w),this.controller,H(this,h4,"f"))]}toReadableStream(){let $=this,w;return qW({async start(){w=$[Symbol.asyncIterator]()},async pull(G){try{let{value:W,done:Y}=await w.next();if(Y)return G.close();let Z=v4(JSON.stringify(W)+`
|
|
158
|
+
`);G.enqueue(Z)}catch(W){G.error(W)}},async cancel(){await w.return?.()}})}}async function*cF($,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 G=new YM,W=new p1,Y=g4($.body);for await(let Z of dF(Y))for(let X of W.decode(Z)){let J=G.decode(X);if(J)yield J}for(let Z of W.flush()){let X=G.decode(Z);if(X)yield X}}async function*dF($){let w=new Uint8Array;for await(let G of $){if(G==null)continue;let W=G instanceof ArrayBuffer?new Uint8Array(G):typeof G==="string"?v4(G):G,Y=new Uint8Array(w.length+W.length);Y.set(w),Y.set(W,w.length),w=Y;let Z;while((Z=GM(w))!==-1)yield w.slice(0,Z),w=w.slice(Z)}if(w.length>0)yield w}class YM{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 Y={event:this.event,data:this.data.join(`
|
|
159
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],Y}if(this.chunks.push($),$.startsWith(":"))return null;let[w,G,W]=nF($,":");if(W.startsWith(" "))W=W.substring(1);if(w==="event")this.event=W;else if(w==="data")this.data.push(W);return null}}function nF($,w){let G=$.indexOf(w);if(G!==-1)return[$.substring(0,G),w,$.substring(G+w.length)];return[$,"",""]}async function V6($,w){let{response:G,requestLogID:W,retryOfRequestLogID:Y,startTime:Z}=w,X=await(async()=>{if(w.options.stream){if(Q0($).debug("response",G.status,G.url,G.headers,G.body),w.options.__streamClass)return w.options.__streamClass.fromSSEResponse(G,w.controller);return b0.fromSSEResponse(G,w.controller)}if(G.status===204)return null;if(w.options.__binaryResponse)return G;let T=G.headers.get("content-type")?.split(";")[0]?.trim();if(T?.includes("application/json")||T?.endsWith("+json")){let Q=await G.json();return HW(Q,G)}return await G.text()})();return Q0($).debug(`[${W}] response parsed`,O1({retryOfRequestLogID:Y,url:G.url,status:G.status,body:X,durationMs:Date.now()-Z})),X}function HW($,w){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:w.headers.get("request-id"),enumerable:!1})}var i4;class U$ extends Promise{constructor($,w,G=V6){super((W)=>{W(null)});this.responsePromise=w,this.parseResponse=G,i4.set(this,void 0),I(this,i4,$,"f")}_thenUnwrap($){return new U$(H(this,i4,"f"),this.responsePromise,async(w,G)=>HW($(await this.parseResponse(w,G),G),G.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(H(this,i4,"f"),$));return this.parsedPromise}then($,w){return this.parse().then($,w)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}}i4=new WeakMap;var q6;class ZM{constructor($,w,G,W){q6.set(this,void 0),I(this,q6,$,"f"),this.options=W,this.response=w,this.body=G}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 H(this,q6,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(q6=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let w of $.getPaginatedItems())yield w}}class E6 extends U${constructor($,w,G){super($,w,async(W,Y)=>new G(W,Y.response,await V6(W,Y),Y.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let w of $)yield w}}class $1 extends ZM{constructor($,w,G,W){super($,w,G,W);this.data=G.data||[],this.has_more=G.has_more||!1,this.first_id=G.first_id||null,this.last_id=G.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:{...VW(this.options.query),before_id:w}}}let $=this.last_id;if(!$)return null;return{...this.options,query:{...VW(this.options.query),after_id:$}}}}var OW=()=>{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 H$($,w,G){return OW(),new File($,w??"unknown_file",G)}function m4($){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 LW=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function";var JM=async($,w)=>{return{...$,body:await rF($.body,w)}},XM=new WeakMap;function tF($){let w=typeof $==="function"?$:$.fetch,G=XM.get(w);if(G)return G;let W=(async()=>{try{let Y="Response"in w?w.Response:(await w("data:,")).constructor,Z=new FormData;if(Z.toString()===await new Y(Z).text())return!1;return!0}catch{return!0}})();return XM.set(w,W),W}var rF=async($,w)=>{if(!await tF(w))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let G=new FormData;return await Promise.all(Object.entries($||{}).map(([W,Y])=>FW(G,W,Y))),G},sF=($)=>$ instanceof Blob&&("name"in $);var FW=async($,w,G)=>{if(G===void 0)return;if(G==null)throw TypeError(`Received null for "${w}"; to pass null in FormData, you must use the string 'null'`);if(typeof G==="string"||typeof G==="number"||typeof G==="boolean")$.append(w,String(G));else if(G instanceof Response){let W={},Y=G.headers.get("Content-Type");if(Y)W={type:Y};$.append(w,H$([await G.blob()],m4(G),W))}else if(LW(G))$.append(w,H$([await new Response(K6(G)).blob()],m4(G)));else if(sF(G))$.append(w,H$([G],m4(G),{type:G.type}));else if(Array.isArray(G))await Promise.all(G.map((W)=>FW($,w+"[]",W)));else if(typeof G==="object")await Promise.all(Object.entries(G).map(([W,Y])=>FW($,`${w}[${W}]`,Y)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${G} instead`)};var TM=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",aF=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&TM($),oF=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";async function U6($,w,G){if(OW(),$=await $,w||(w=m4($)),aF($)){if($ instanceof File&&w==null&&G==null)return $;return H$([await $.arrayBuffer()],w??$.name,{type:$.type,lastModified:$.lastModified,...G})}if(oF($)){let Y=await $.blob();return w||(w=new URL($.url).pathname.split(/[\\/]/).pop()),H$(await DW(Y),w,G)}let W=await DW($);if(!G?.type){let Y=W.find((Z)=>typeof Z==="object"&&("type"in Z)&&Z.type);if(typeof Y==="string")G={...G,type:Y}}return H$(W,w,G)}async function DW($){let w=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)w.push($);else if(TM($))w.push($ instanceof Blob?$:await $.arrayBuffer());else if(LW($))for await(let G of $)w.push(...await DW(G));else{let G=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${G?`; constructor: ${G}`:""}${eF($)}`)}return w}function eF($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((G)=>`"${G}"`).join(", ")}]`}class J0{constructor($){this._client=$}}var MM=Symbol.for("brand.privateNullableHeaders");function*wO($){if(!$)return;if(MM in $){let{values:W,nulls:Y}=$;yield*W.entries();for(let Z of Y)yield[Z,null];return}let w=!1,G;if($ instanceof Headers)G=$.entries();else if(BW($))G=$;else w=!0,G=Object.entries($??{});for(let W of G){let Y=W[0];if(typeof Y!=="string")throw TypeError("expected header name to be a string");let Z=BW(W[1])?W[1]:[W[1]],X=!1;for(let J of Z){if(J===void 0)continue;if(w&&!X)X=!0,yield[Y,null];yield[Y,J]}}}var n=($)=>{let w=new Headers,G=new Set;for(let W of $){let Y=new Set;for(let[Z,X]of wO(W)){let J=Z.toLowerCase();if(!Y.has(J))w.delete(Z),Y.add(J);if(X===null)w.delete(Z),G.add(J);else w.append(Z,X),G.delete(J)}}return{[MM]:!0,values:w,nulls:G}};function QM($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var fM=Object.freeze(Object.create(null)),GO=($=QM)=>function(G,...W){if(G.length===1)return G[0];let Y=!1,Z=[],X=G.reduce((f,Q,N)=>{if(/[?#]/.test(Q))Y=!0;let z=W[N],K=(Y?encodeURIComponent:$)(""+z);if(N!==W.length&&(z==null||typeof z==="object"&&z.toString===Object.getPrototypeOf(Object.getPrototypeOf(z.hasOwnProperty??fM)??fM)?.toString))K=z+"",Z.push({start:f.length+Q.length,length:K.length,error:`Value of type ${Object.prototype.toString.call(z).slice(8,-1)} is not a valid path parameter`});return f+Q+(N===W.length?"":K)},""),J=X.split(/[?#]/,1)[0],T=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,M;while((M=T.exec(J))!==null)Z.push({start:M.index,length:M[0].length,error:`Value "${M[0]}" can't be safely passed as a path parameter`});if(Z.sort((f,Q)=>f.start-Q.start),Z.length>0){let f=0,Q=Z.reduce((N,z)=>{let K=" ".repeat(z.start-f),P="^".repeat(z.length);return f=z.start+z.length,N+K+P},"");throw new b(`Path parameters result in path with invalid segments:
|
|
160
|
+
${Z.map((N)=>N.error).join(`
|
|
161
161
|
`)}
|
|
162
|
-
${
|
|
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
|
|
162
|
+
${X}
|
|
163
|
+
${Q}`)}return X},E0=GO(QM);class l4 extends J0{list($={},w){let{betas:G,...W}=$??{};return this._client.getAPIList("/v1/files",$1,{query:W,...w,headers:n([{"anthropic-beta":[...G??[],"files-api-2025-04-14"].toString()},w?.headers])})}delete($,w={},G){let{betas:W}=w??{};return this._client.delete(E0`/v1/files/${$}`,{...G,headers:n([{"anthropic-beta":[...W??[],"files-api-2025-04-14"].toString()},G?.headers])})}download($,w={},G){let{betas:W}=w??{};return this._client.get(E0`/v1/files/${$}/content`,{...G,headers:n([{"anthropic-beta":[...W??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},G?.headers]),__binaryResponse:!0})}retrieveMetadata($,w={},G){let{betas:W}=w??{};return this._client.get(E0`/v1/files/${$}`,{...G,headers:n([{"anthropic-beta":[...W??[],"files-api-2025-04-14"].toString()},G?.headers])})}upload($,w){let{betas:G,...W}=$;return this._client.post("/v1/files",JM({body:W,...w,headers:n([{"anthropic-beta":[...G??[],"files-api-2025-04-14"].toString()},w?.headers])},this._client))}}class c4 extends J0{retrieve($,w={},G){let{betas:W}=w??{};return this._client.get(E0`/v1/models/${$}?beta=true`,{...G,headers:n([{...W?.toString()!=null?{"anthropic-beta":W?.toString()}:void 0},G?.headers])})}list($={},w){let{betas:G,...W}=$??{};return this._client.getAPIList("/v1/models?beta=true",$1,{query:W,...w,headers:n([{...G?.toString()!=null?{"anthropic-beta":G?.toString()}:void 0},w?.headers])})}}class fw{constructor($,w){this.iterator=$,this.controller=w}async*decoder(){let $=new p1;for await(let w of this.iterator)for(let G of $.decode(w))yield JSON.parse(G);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 fw(g4($.body),w)}}class d4 extends J0{create($,w){let{betas:G,...W}=$;return this._client.post("/v1/messages/batches?beta=true",{body:W,...w,headers:n([{"anthropic-beta":[...G??[],"message-batches-2024-09-24"].toString()},w?.headers])})}retrieve($,w={},G){let{betas:W}=w??{};return this._client.get(E0`/v1/messages/batches/${$}?beta=true`,{...G,headers:n([{"anthropic-beta":[...W??[],"message-batches-2024-09-24"].toString()},G?.headers])})}list($={},w){let{betas:G,...W}=$??{};return this._client.getAPIList("/v1/messages/batches?beta=true",$1,{query:W,...w,headers:n([{"anthropic-beta":[...G??[],"message-batches-2024-09-24"].toString()},w?.headers])})}delete($,w={},G){let{betas:W}=w??{};return this._client.delete(E0`/v1/messages/batches/${$}?beta=true`,{...G,headers:n([{"anthropic-beta":[...W??[],"message-batches-2024-09-24"].toString()},G?.headers])})}cancel($,w={},G){let{betas:W}=w??{};return this._client.post(E0`/v1/messages/batches/${$}/cancel?beta=true`,{...G,headers:n([{"anthropic-beta":[...W??[],"message-batches-2024-09-24"].toString()},G?.headers])})}async results($,w={},G){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}`);let{betas:Y}=w??{};return this._client.get(W.results_url,{...G,headers:n([{"anthropic-beta":[...Y??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},G?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Z,X)=>fw.fromResponse(X.response,X.controller))}}var XO=($)=>{let w=0,G=[];while(w<$.length){let W=$[w];if(W==="\\"){w++;continue}if(W==="{"){G.push({type:"brace",value:"{"}),w++;continue}if(W==="}"){G.push({type:"brace",value:"}"}),w++;continue}if(W==="["){G.push({type:"paren",value:"["}),w++;continue}if(W==="]"){G.push({type:"paren",value:"]"}),w++;continue}if(W===":"){G.push({type:"separator",value:":"}),w++;continue}if(W===","){G.push({type:"delimiter",value:","}),w++;continue}if(W==='"'){let J="",T=!1;W=$[++w];while(W!=='"'){if(w===$.length){T=!0;break}if(W==="\\"){if(w++,w===$.length){T=!0;break}J+=W+$[w],W=$[++w]}else J+=W,W=$[++w]}if(W=$[++w],!T)G.push({type:"string",value:J});continue}if(W&&/\s/.test(W)){w++;continue}let Z=/[0-9]/;if(W&&Z.test(W)||W==="-"||W==="."){let J="";if(W==="-")J+=W,W=$[++w];while(W&&Z.test(W)||W===".")J+=W,W=$[++w];G.push({type:"number",value:J});continue}let X=/[a-z]/i;if(W&&X.test(W)){let J="";while(W&&X.test(W)){if(w===$.length)break;J+=W,W=$[++w]}if(J=="true"||J=="false"||J==="null")G.push({type:"name",value:J});else{w++;continue}continue}w++}return G},Qw=($)=>{if($.length===0)return $;let w=$[$.length-1];switch(w.type){case"separator":return $=$.slice(0,$.length-1),Qw($);break;case"number":let G=w.value[w.value.length-1];if(G==="."||G==="-")return $=$.slice(0,$.length-1),Qw($);case"string":let W=$[$.length-2];if(W?.type==="delimiter")return $=$.slice(0,$.length-1),Qw($);else if(W?.type==="brace"&&W.value==="{")return $=$.slice(0,$.length-1),Qw($);break;case"delimiter":return $=$.slice(0,$.length-1),Qw($);break}return $},JO=($)=>{let w=[];if($.map((G)=>{if(G.type==="brace")if(G.value==="{")w.push("}");else w.splice(w.lastIndexOf("}"),1);if(G.type==="paren")if(G.value==="[")w.push("]");else w.splice(w.lastIndexOf("]"),1)}),w.length>0)w.reverse().map((G)=>{if(G==="}")$.push({type:"brace",value:"}"});else if(G==="]")$.push({type:"paren",value:"]"})});return $},TO=($)=>{let w="";return $.map((G)=>{switch(G.type){case"string":w+='"'+G.value+'"';break;default:w+=G.value;break}}),w},H6=($)=>JSON.parse(TO(JO(Qw(XO($)))));var l0,t1,n4,F6,p4,t4,O6,r4,L1,s4,L6,D6,Nw,k6,A6,kW,NM,S6,AW,SW,RW,zM,KM="__json_buf";function PM($){return $.type==="tool_use"||$.type==="server_tool_use"||$.type==="mcp_tool_use"}class a4{constructor(){l0.add(this),this.messages=[],this.receivedMessages=[],t1.set(this,void 0),this.controller=new AbortController,n4.set(this,void 0),F6.set(this,()=>{}),p4.set(this,()=>{}),t4.set(this,void 0),O6.set(this,()=>{}),r4.set(this,()=>{}),L1.set(this,{}),s4.set(this,!1),L6.set(this,!1),D6.set(this,!1),Nw.set(this,!1),k6.set(this,void 0),A6.set(this,void 0),S6.set(this,($)=>{if(I(this,L6,!0,"f"),F1($))$=new q0;if($ instanceof q0)return I(this,D6,!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,n4,new Promise(($,w)=>{I(this,F6,$,"f"),I(this,p4,w,"f")}),"f"),I(this,t4,new Promise(($,w)=>{I(this,O6,$,"f"),I(this,r4,w,"f")}),"f"),H(this,n4,"f").catch(()=>{}),H(this,t4,"f").catch(()=>{})}get response(){return H(this,k6,"f")}get request_id(){return H(this,A6,"f")}async withResponse(){let $=await H(this,n4,"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 a4;return w._run(()=>w._fromReadableStream($)),w}static createMessage($,w,G){let W=new a4;for(let Y of w.messages)W._addMessageParam(Y);return W._run(()=>W._createMessage($,{...w,stream:!0},{...G,headers:{...G?.headers,"X-Stainless-Helper-Method":"stream"}})),W}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},H(this,S6,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,w=!0){if(this.receivedMessages.push($),w)this._emit("message",$)}async _createMessage($,w,G){let W=G?.signal,Y;if(W){if(W.aborted)this.controller.abort();Y=this.controller.abort.bind(this.controller),W.addEventListener("abort",Y)}try{H(this,l0,"m",AW).call(this);let{response:Z,data:X}=await $.create({...w,stream:!0},{...G,signal:this.controller.signal}).withResponse();this._connected(Z);for await(let J of X)H(this,l0,"m",SW).call(this,J);if(X.controller.signal?.aborted)throw new q0;H(this,l0,"m",RW).call(this)}finally{if(W&&Y)W.removeEventListener("abort",Y)}}_connected($){if(this.ended)return;I(this,k6,$,"f"),I(this,A6,$?.headers.get("request-id"),"f"),H(this,F6,"f").call(this,$),this._emit("connect")}get ended(){return H(this,s4,"f")}get errored(){return H(this,L6,"f")}get aborted(){return H(this,D6,"f")}abort(){this.controller.abort()}on($,w){return(H(this,L1,"f")[$]||(H(this,L1,"f")[$]=[])).push({listener:w}),this}off($,w){let G=H(this,L1,"f")[$];if(!G)return this;let W=G.findIndex((Y)=>Y.listener===w);if(W>=0)G.splice(W,1);return this}once($,w){return(H(this,L1,"f")[$]||(H(this,L1,"f")[$]=[])).push({listener:w,once:!0}),this}emitted($){return new Promise((w,G)=>{if(I(this,Nw,!0,"f"),$!=="error")this.once("error",G);this.once($,w)})}async done(){I(this,Nw,!0,"f"),await H(this,t4,"f")}get currentMessage(){return H(this,t1,"f")}async finalMessage(){return await this.done(),H(this,l0,"m",kW).call(this)}async finalText(){return await this.done(),H(this,l0,"m",NM).call(this)}_emit($,...w){if(H(this,s4,"f"))return;if($==="end")I(this,s4,!0,"f"),H(this,O6,"f").call(this);let G=H(this,L1,"f")[$];if(G)H(this,L1,"f")[$]=G.filter((W)=>!W.once),G.forEach(({listener:W})=>W(...w));if($==="abort"){let W=w[0];if(!H(this,Nw,"f")&&!G?.length)Promise.reject(W);H(this,p4,"f").call(this,W),H(this,r4,"f").call(this,W),this._emit("end");return}if($==="error"){let W=w[0];if(!H(this,Nw,"f")&&!G?.length)Promise.reject(W);H(this,p4,"f").call(this,W),H(this,r4,"f").call(this,W),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",H(this,l0,"m",kW).call(this))}async _fromReadableStream($,w){let G=w?.signal,W;if(G){if(G.aborted)this.controller.abort();W=this.controller.abort.bind(this.controller),G.addEventListener("abort",W)}try{H(this,l0,"m",AW).call(this),this._connected(null);let Y=b0.fromReadableStream($,this.controller);for await(let Z of Y)H(this,l0,"m",SW).call(this,Z);if(Y.controller.signal?.aborted)throw new q0;H(this,l0,"m",RW).call(this)}finally{if(G&&W)G.removeEventListener("abort",W)}}[(t1=new WeakMap,n4=new WeakMap,F6=new WeakMap,p4=new WeakMap,t4=new WeakMap,O6=new WeakMap,r4=new WeakMap,L1=new WeakMap,s4=new WeakMap,L6=new WeakMap,D6=new WeakMap,Nw=new WeakMap,k6=new WeakMap,A6=new WeakMap,S6=new WeakMap,l0=new WeakSet,kW=function(){if(this.receivedMessages.length===0)throw new b("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},NM=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((G)=>G.type==="text").map((G)=>G.text);if(w.length===0)throw new b("stream ended without producing a content block with type=text");return w.join(" ")},AW=function(){if(this.ended)return;I(this,t1,void 0,"f")},SW=function(w){if(this.ended)return;let G=H(this,l0,"m",zM).call(this,w);switch(this._emit("streamEvent",w,G),w.type){case"content_block_delta":{let W=G.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(PM(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:BM(w.delta)}break}case"message_stop":{this._addMessageParam(G),this._addMessage(G,!0);break}case"content_block_stop":{this._emit("contentBlock",G.content.at(-1));break}case"message_start":{I(this,t1,G,"f");break}case"content_block_start":case"message_delta":break}},RW=function(){if(this.ended)throw new b("stream has ended, this shouldn't happen");let w=H(this,t1,"f");if(!w)throw new b("request ended without sending any chunks");return I(this,t1,void 0,"f"),w},zM=function(w){let G=H(this,t1,"f");if(w.type==="message_start"){if(G)throw new b(`Unexpected event order, got ${w.type} before receiving "message_stop"`);return w.message}if(!G)throw new b(`Unexpected event order, got ${w.type} before "message_start"`);switch(w.type){case"message_stop":return G;case"message_delta":if(G.container=w.delta.container,G.stop_reason=w.delta.stop_reason,G.stop_sequence=w.delta.stop_sequence,G.usage.output_tokens=w.usage.output_tokens,w.usage.input_tokens!=null)G.usage.input_tokens=w.usage.input_tokens;if(w.usage.cache_creation_input_tokens!=null)G.usage.cache_creation_input_tokens=w.usage.cache_creation_input_tokens;if(w.usage.cache_read_input_tokens!=null)G.usage.cache_read_input_tokens=w.usage.cache_read_input_tokens;if(w.usage.server_tool_use!=null)G.usage.server_tool_use=w.usage.server_tool_use;return G;case"content_block_start":return G.content.push(w.content_block),G;case"content_block_delta":{let W=G.content.at(w.index);switch(w.delta.type){case"text_delta":{if(W?.type==="text")G.content[w.index]={...W,text:(W.text||"")+w.delta.text};break}case"citations_delta":{if(W?.type==="text")G.content[w.index]={...W,citations:[...W.citations??[],w.delta.citation]};break}case"input_json_delta":{if(W&&PM(W)){let Y=W[KM]||"";Y+=w.delta.partial_json;let Z={...W};if(Object.defineProperty(Z,KM,{value:Y,enumerable:!1,writable:!0}),Y)try{Z.input=H6(Y)}catch(X){let J=new b(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${X}. JSON: ${Y}`);H(this,S6,"f").call(this,J)}G.content[w.index]=Z}break}case"thinking_delta":{if(W?.type==="thinking")G.content[w.index]={...W,thinking:W.thinking+w.delta.thinking};break}case"signature_delta":{if(W?.type==="thinking")G.content[w.index]={...W,signature:w.delta.signature};break}default:BM(w.delta)}return G}case"content_block_stop":return G}},Symbol.asyncIterator)](){let $=[],w=[],G=!1;return this.on("streamEvent",(W)=>{let Y=w.shift();if(Y)Y.resolve(W);else $.push(W)}),this.on("end",()=>{G=!0;for(let W of w)W.resolve(void 0);w.length=0}),this.on("abort",(W)=>{G=!0;for(let Y of w)Y.reject(W);w.length=0}),this.on("error",(W)=>{G=!0;for(let Y of w)Y.reject(W);w.length=0}),{next:async()=>{if(!$.length){if(G)return{value:void 0,done:!0};return new Promise((Y,Z)=>w.push({resolve:Y,reject:Z})).then((Y)=>Y?{value:Y,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 BM($){}var R6={"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 VM={"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 zw extends J0{constructor(){super(...arguments);this.batches=new d4(this._client)}create($,w){let{betas:G,...W}=$;if(W.model in VM)console.warn(`The model '${W.model}' is deprecated and will reach end-of-life on ${VM[W.model]}
|
|
164
|
+
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let Y=this._client._options.timeout;if(!W.stream&&Y==null){let Z=R6[W.model]??void 0;Y=this._client.calculateNonstreamingTimeout(W.max_tokens,Z)}return this._client.post("/v1/messages?beta=true",{body:W,timeout:Y??600000,...w,headers:n([{...G?.toString()!=null?{"anthropic-beta":G?.toString()}:void 0},w?.headers]),stream:$.stream??!1})}stream($,w){return a4.createMessage(this,$,w)}countTokens($,w){let{betas:G,...W}=$;return this._client.post("/v1/messages/count_tokens?beta=true",{body:W,...w,headers:n([{"anthropic-beta":[...G??[],"token-counting-2024-11-01"].toString()},w?.headers])})}}zw.Batches=d4;class D1 extends J0{constructor(){super(...arguments);this.models=new c4(this._client),this.messages=new zw(this._client),this.files=new l4(this._client)}}D1.Models=c4;D1.Messages=zw;D1.Files=l4;class Kw extends J0{create($,w){let{betas:G,...W}=$;return this._client.post("/v1/complete",{body:W,timeout:this._client._options.timeout??600000,...w,headers:n([{...G?.toString()!=null?{"anthropic-beta":G?.toString()}:void 0},w?.headers]),stream:$.stream??!1})}}var c0,r1,o4,j6,e4,$9,C6,w9,k1,G9,y6,I6,Pw,b6,x6,jW,qM,CW,yW,IW,bW,EM,UM="__json_buf";function HM($){return $.type==="tool_use"||$.type==="server_tool_use"}class W9{constructor(){c0.add(this),this.messages=[],this.receivedMessages=[],r1.set(this,void 0),this.controller=new AbortController,o4.set(this,void 0),j6.set(this,()=>{}),e4.set(this,()=>{}),$9.set(this,void 0),C6.set(this,()=>{}),w9.set(this,()=>{}),k1.set(this,{}),G9.set(this,!1),y6.set(this,!1),I6.set(this,!1),Pw.set(this,!1),b6.set(this,void 0),x6.set(this,void 0),CW.set(this,($)=>{if(I(this,y6,!0,"f"),F1($))$=new q0;if($ instanceof q0)return I(this,I6,!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,o4,new Promise(($,w)=>{I(this,j6,$,"f"),I(this,e4,w,"f")}),"f"),I(this,$9,new Promise(($,w)=>{I(this,C6,$,"f"),I(this,w9,w,"f")}),"f"),H(this,o4,"f").catch(()=>{}),H(this,$9,"f").catch(()=>{})}get response(){return H(this,b6,"f")}get request_id(){return H(this,x6,"f")}async withResponse(){let $=await H(this,o4,"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 W9;return w._run(()=>w._fromReadableStream($)),w}static createMessage($,w,G){let W=new W9;for(let Y of w.messages)W._addMessageParam(Y);return W._run(()=>W._createMessage($,{...w,stream:!0},{...G,headers:{...G?.headers,"X-Stainless-Helper-Method":"stream"}})),W}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},H(this,CW,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,w=!0){if(this.receivedMessages.push($),w)this._emit("message",$)}async _createMessage($,w,G){let W=G?.signal,Y;if(W){if(W.aborted)this.controller.abort();Y=this.controller.abort.bind(this.controller),W.addEventListener("abort",Y)}try{H(this,c0,"m",yW).call(this);let{response:Z,data:X}=await $.create({...w,stream:!0},{...G,signal:this.controller.signal}).withResponse();this._connected(Z);for await(let J of X)H(this,c0,"m",IW).call(this,J);if(X.controller.signal?.aborted)throw new q0;H(this,c0,"m",bW).call(this)}finally{if(W&&Y)W.removeEventListener("abort",Y)}}_connected($){if(this.ended)return;I(this,b6,$,"f"),I(this,x6,$?.headers.get("request-id"),"f"),H(this,j6,"f").call(this,$),this._emit("connect")}get ended(){return H(this,G9,"f")}get errored(){return H(this,y6,"f")}get aborted(){return H(this,I6,"f")}abort(){this.controller.abort()}on($,w){return(H(this,k1,"f")[$]||(H(this,k1,"f")[$]=[])).push({listener:w}),this}off($,w){let G=H(this,k1,"f")[$];if(!G)return this;let W=G.findIndex((Y)=>Y.listener===w);if(W>=0)G.splice(W,1);return this}once($,w){return(H(this,k1,"f")[$]||(H(this,k1,"f")[$]=[])).push({listener:w,once:!0}),this}emitted($){return new Promise((w,G)=>{if(I(this,Pw,!0,"f"),$!=="error")this.once("error",G);this.once($,w)})}async done(){I(this,Pw,!0,"f"),await H(this,$9,"f")}get currentMessage(){return H(this,r1,"f")}async finalMessage(){return await this.done(),H(this,c0,"m",jW).call(this)}async finalText(){return await this.done(),H(this,c0,"m",qM).call(this)}_emit($,...w){if(H(this,G9,"f"))return;if($==="end")I(this,G9,!0,"f"),H(this,C6,"f").call(this);let G=H(this,k1,"f")[$];if(G)H(this,k1,"f")[$]=G.filter((W)=>!W.once),G.forEach(({listener:W})=>W(...w));if($==="abort"){let W=w[0];if(!H(this,Pw,"f")&&!G?.length)Promise.reject(W);H(this,e4,"f").call(this,W),H(this,w9,"f").call(this,W),this._emit("end");return}if($==="error"){let W=w[0];if(!H(this,Pw,"f")&&!G?.length)Promise.reject(W);H(this,e4,"f").call(this,W),H(this,w9,"f").call(this,W),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",H(this,c0,"m",jW).call(this))}async _fromReadableStream($,w){let G=w?.signal,W;if(G){if(G.aborted)this.controller.abort();W=this.controller.abort.bind(this.controller),G.addEventListener("abort",W)}try{H(this,c0,"m",yW).call(this),this._connected(null);let Y=b0.fromReadableStream($,this.controller);for await(let Z of Y)H(this,c0,"m",IW).call(this,Z);if(Y.controller.signal?.aborted)throw new q0;H(this,c0,"m",bW).call(this)}finally{if(G&&W)G.removeEventListener("abort",W)}}[(r1=new WeakMap,o4=new WeakMap,j6=new WeakMap,e4=new WeakMap,$9=new WeakMap,C6=new WeakMap,w9=new WeakMap,k1=new WeakMap,G9=new WeakMap,y6=new WeakMap,I6=new WeakMap,Pw=new WeakMap,b6=new WeakMap,x6=new WeakMap,CW=new WeakMap,c0=new WeakSet,jW=function(){if(this.receivedMessages.length===0)throw new b("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},qM=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((G)=>G.type==="text").map((G)=>G.text);if(w.length===0)throw new b("stream ended without producing a content block with type=text");return w.join(" ")},yW=function(){if(this.ended)return;I(this,r1,void 0,"f")},IW=function(w){if(this.ended)return;let G=H(this,c0,"m",EM).call(this,w);switch(this._emit("streamEvent",w,G),w.type){case"content_block_delta":{let W=G.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(HM(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:FM(w.delta)}break}case"message_stop":{this._addMessageParam(G),this._addMessage(G,!0);break}case"content_block_stop":{this._emit("contentBlock",G.content.at(-1));break}case"message_start":{I(this,r1,G,"f");break}case"content_block_start":case"message_delta":break}},bW=function(){if(this.ended)throw new b("stream has ended, this shouldn't happen");let w=H(this,r1,"f");if(!w)throw new b("request ended without sending any chunks");return I(this,r1,void 0,"f"),w},EM=function(w){let G=H(this,r1,"f");if(w.type==="message_start"){if(G)throw new b(`Unexpected event order, got ${w.type} before receiving "message_stop"`);return w.message}if(!G)throw new b(`Unexpected event order, got ${w.type} before "message_start"`);switch(w.type){case"message_stop":return G;case"message_delta":if(G.stop_reason=w.delta.stop_reason,G.stop_sequence=w.delta.stop_sequence,G.usage.output_tokens=w.usage.output_tokens,w.usage.input_tokens!=null)G.usage.input_tokens=w.usage.input_tokens;if(w.usage.cache_creation_input_tokens!=null)G.usage.cache_creation_input_tokens=w.usage.cache_creation_input_tokens;if(w.usage.cache_read_input_tokens!=null)G.usage.cache_read_input_tokens=w.usage.cache_read_input_tokens;if(w.usage.server_tool_use!=null)G.usage.server_tool_use=w.usage.server_tool_use;return G;case"content_block_start":return G.content.push({...w.content_block}),G;case"content_block_delta":{let W=G.content.at(w.index);switch(w.delta.type){case"text_delta":{if(W?.type==="text")G.content[w.index]={...W,text:(W.text||"")+w.delta.text};break}case"citations_delta":{if(W?.type==="text")G.content[w.index]={...W,citations:[...W.citations??[],w.delta.citation]};break}case"input_json_delta":{if(W&&HM(W)){let Y=W[UM]||"";Y+=w.delta.partial_json;let Z={...W};if(Object.defineProperty(Z,UM,{value:Y,enumerable:!1,writable:!0}),Y)Z.input=H6(Y);G.content[w.index]=Z}break}case"thinking_delta":{if(W?.type==="thinking")G.content[w.index]={...W,thinking:W.thinking+w.delta.thinking};break}case"signature_delta":{if(W?.type==="thinking")G.content[w.index]={...W,signature:w.delta.signature};break}default:FM(w.delta)}return G}case"content_block_stop":return G}},Symbol.asyncIterator)](){let $=[],w=[],G=!1;return this.on("streamEvent",(W)=>{let Y=w.shift();if(Y)Y.resolve(W);else $.push(W)}),this.on("end",()=>{G=!0;for(let W of w)W.resolve(void 0);w.length=0}),this.on("abort",(W)=>{G=!0;for(let Y of w)Y.reject(W);w.length=0}),this.on("error",(W)=>{G=!0;for(let Y of w)Y.reject(W);w.length=0}),{next:async()=>{if(!$.length){if(G)return{value:void 0,done:!0};return new Promise((Y,Z)=>w.push({resolve:Y,reject:Z})).then((Y)=>Y?{value:Y,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 FM($){}class Y9 extends J0{create($,w){return this._client.post("/v1/messages/batches",{body:$,...w})}retrieve($,w){return this._client.get(E0`/v1/messages/batches/${$}`,w)}list($={},w){return this._client.getAPIList("/v1/messages/batches",$1,{query:$,...w})}delete($,w){return this._client.delete(E0`/v1/messages/batches/${$}`,w)}cancel($,w){return this._client.post(E0`/v1/messages/batches/${$}/cancel`,w)}async results($,w){let G=await this.retrieve($);if(!G.results_url)throw new b(`No batch \`results_url\`; Has it finished processing? ${G.processing_status} - ${G.id}`);return this._client.get(G.results_url,{...w,headers:n([{Accept:"application/binary"},w?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((W,Y)=>fw.fromResponse(Y.response,Y.controller))}}class F$ extends J0{constructor(){super(...arguments);this.batches=new Y9(this._client)}create($,w){if($.model in OM)console.warn(`The model '${$.model}' is deprecated and will reach end-of-life on ${OM[$.model]}
|
|
165
|
+
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let G=this._client._options.timeout;if(!$.stream&&G==null){let W=R6[$.model]??void 0;G=this._client.calculateNonstreamingTimeout($.max_tokens,W)}return this._client.post("/v1/messages",{body:$,timeout:G??600000,...w,stream:$.stream??!1})}stream($,w){return W9.createMessage(this,$,w)}countTokens($,w){return this._client.post("/v1/messages/count_tokens",{body:$,...w})}}var OM={"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"};F$.Batches=Y9;class Bw extends J0{retrieve($,w={},G){let{betas:W}=w??{};return this._client.get(E0`/v1/models/${$}`,{...G,headers:n([{...W?.toString()!=null?{"anthropic-beta":W?.toString()}:void 0},G?.headers])})}list($={},w){let{betas:G,...W}=$??{};return this._client.getAPIList("/v1/models",$1,{query:W,...w,headers:n([{...G?.toString()!=null?{"anthropic-beta":G?.toString()}:void 0},w?.headers])})}}var Z9=($)=>{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 xW,_W,_6,LM,DM="\\n\\nHuman:",kM="\\n\\nAssistant:";class $0{constructor({baseURL:$=Z9("ANTHROPIC_BASE_URL"),apiKey:w=Z9("ANTHROPIC_API_KEY")??null,authToken:G=Z9("ANTHROPIC_AUTH_TOKEN")??null,...W}={}){xW.add(this),_6.set(this,void 0);let Y={apiKey:w,authToken:G,...W,baseURL:$||"https://api.anthropic.com"};if(!Y.dangerouslyAllowBrowser&&tT())throw new b(`It looks like you're running in a browser-like environment.
|
|
166
166
|
|
|
167
167
|
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
168
168
|
If you understand the risks and have appropriate mitigations in place,
|
|
169
169
|
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
170
170
|
|
|
171
171
|
new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
|
|
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(`
|
|
172
|
+
`);this.baseURL=Y.baseURL,this.timeout=Y.timeout??_W.DEFAULT_TIMEOUT,this.logger=Y.logger??console;let Z="warn";this.logLevel=Z,this.logLevel=UW(Y.logLevel,"ClientOptions.logLevel",this)??UW(Z9("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??Z,this.fetchOptions=Y.fetchOptions,this.maxRetries=Y.maxRetries??2,this.fetch=Y.fetch??sT(),I(this,_6,oT,"f"),this._options=Y,this.apiKey=w,this.authToken=G}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,G])=>typeof G<"u").map(([w,G])=>{if(typeof G==="string"||typeof G==="number"||typeof G==="boolean")return`${encodeURIComponent(w)}=${encodeURIComponent(G)}`;if(G===null)return`${encodeURIComponent(w)}=`;throw new b(`Cannot stringify type ${typeof G}; 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 ${n1}`}defaultIdempotencyKey(){return`stainless-node-retry-${KW()}`}makeStatusError($,w,G,W){return X0.generate($,w,G,W)}buildURL($,w,G){let W=!H(this,xW,"m",LM).call(this)&&G||this.baseURL,Y=hT($)?new URL($):new URL(W+(W.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),Z=this.defaultQuery();if(!iT(Z))w={...Z,...w};if(typeof w==="object"&&w&&!Array.isArray(w))Y.search=this.stringifyQuery(w);return Y.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:G}){}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,G){return this.request(Promise.resolve(G).then((W)=>{return{method:$,path:w,...W}}))}request($,w=null){return new U$(this,this.makeRequest($,w,void 0))}async makeRequest($,w,G){let W=await $,Y=W.maxRetries??this.maxRetries;if(w==null)w=Y;await this.prepareOptions(W);let{req:Z,url:X,timeout:J}=await this.buildRequest(W,{retryCount:Y-w});await this.prepareRequest(Z,{url:X,options:W});let T="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),M=G===void 0?"":`, retryOf: ${G}`,f=Date.now();if(Q0(this).debug(`[${T}] sending request`,O1({retryOfRequestLogID:G,method:W.method,url:X,options:W,headers:Z.headers})),W.signal?.aborted)throw new q0;let Q=new AbortController,N=await this.fetchWithTimeout(X,Z,J,Q).catch(A4),z=Date.now();if(N instanceof globalThis.Error){let q=`retrying, ${w} attempts remaining`;if(W.signal?.aborted)throw new q0;let V=F1(N)||/timed? ?out/i.test(String(N)+("cause"in N?String(N.cause):""));if(w)return Q0(this).info(`[${T}] connection ${V?"timed out":"failed"} - ${q}`),Q0(this).debug(`[${T}] connection ${V?"timed out":"failed"} (${q})`,O1({retryOfRequestLogID:G,url:X,durationMs:z-f,message:N.message})),this.retryRequest(W,w,G??T);if(Q0(this).info(`[${T}] connection ${V?"timed out":"failed"} - error; no more retries left`),Q0(this).debug(`[${T}] connection ${V?"timed out":"failed"} (error; no more retries left)`,O1({retryOfRequestLogID:G,url:X,durationMs:z-f,message:N.message})),V)throw new S4;throw new E$({cause:N})}let K=[...N.headers.entries()].filter(([q])=>q==="request-id").map(([q,V])=>", "+q+": "+JSON.stringify(V)).join(""),P=`[${T}${M}${K}] ${Z.method} ${X} ${N.ok?"succeeded":"failed"} with status ${N.status} in ${z-f}ms`;if(!N.ok){let q=await this.shouldRetry(N);if(w&&q){let S=`retrying, ${w} attempts remaining`;return await aT(N.body),Q0(this).info(`${P} - ${S}`),Q0(this).debug(`[${T}] response error (${S})`,O1({retryOfRequestLogID:G,url:N.url,status:N.status,headers:N.headers,durationMs:z-f})),this.retryRequest(W,w,G??T,N.headers)}let V=q?"error; no more retries left":"error; not retryable";Q0(this).info(`${P} - ${V}`);let E=await N.text().catch((S)=>A4(S).message),O=z6(E),A=O?void 0:E;throw Q0(this).debug(`[${T}] response error (${V})`,O1({retryOfRequestLogID:G,url:N.url,status:N.status,headers:N.headers,message:A,durationMs:Date.now()-f})),this.makeStatusError(N.status,O,A,N.headers)}return Q0(this).info(P),Q0(this).debug(`[${T}] response start`,O1({retryOfRequestLogID:G,url:N.url,status:N.status,headers:N.headers,durationMs:z-f})),{response:N,options:W,controller:Q,requestLogID:T,retryOfRequestLogID:G,startTime:f}}getAPIList($,w,G){return this.requestAPIList(w,{method:"get",path:$,...G})}requestAPIList($,w){let G=this.makeRequest(w,null,void 0);return new E6(this,G,$)}async fetchWithTimeout($,w,G,W){let{signal:Y,method:Z,...X}=w||{};if(Y)Y.addEventListener("abort",()=>W.abort());let J=setTimeout(()=>W.abort(),G),T=globalThis.ReadableStream&&X.body instanceof globalThis.ReadableStream||typeof X.body==="object"&&X.body!==null&&Symbol.asyncIterator in X.body,M={signal:W.signal,...T?{duplex:"half"}:{},method:"GET",...X};if(Z)M.method=Z.toUpperCase();try{return await this.fetch.call(void 0,$,M)}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,G,W){let Y,Z=W?.get("retry-after-ms");if(Z){let J=parseFloat(Z);if(!Number.isNaN(J))Y=J}let X=W?.get("retry-after");if(X&&!Y){let J=parseFloat(X);if(!Number.isNaN(J))Y=J*1000;else Y=Date.parse(X)-Date.now()}if(!(Y&&0<=Y&&Y<60000)){let J=$.maxRetries??this.maxRetries;Y=this.calculateDefaultRetryTimeoutMillis(w,J)}return await cT(Y),this.makeRequest($,w-1,G)}calculateDefaultRetryTimeoutMillis($,w){let Y=w-$,Z=Math.min(0.5*Math.pow(2,Y),8),X=1-Math.random()*0.25;return Z*X*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 G={...$},{method:W,path:Y,query:Z,defaultBaseURL:X}=G,J=this.buildURL(Y,Z,X);if("timeout"in G)lT("timeout",G.timeout);G.timeout=G.timeout??this.timeout;let{bodyHeaders:T,body:M}=this.buildBody({options:G}),f=await this.buildHeaders({options:$,method:W,bodyHeaders:T,retryCount:w});return{req:{method:W,headers:f,...G.signal&&{signal:G.signal},...globalThis.ReadableStream&&M instanceof globalThis.ReadableStream&&{duplex:"half"},...M&&{body:M},...this.fetchOptions??{},...G.fetchOptions??{}},url:J,timeout:G.timeout}}async buildHeaders({options:$,method:w,bodyHeaders:G,retryCount:W}){let Y={};if(this.idempotencyHeader&&w!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();Y[this.idempotencyHeader]=$.idempotencyKey}let Z=n([Y,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(W),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...rT(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},await this.authHeaders($),this._options.defaultHeaders,G,$.headers]);return this.validateHeaders(Z),Z.values}buildBody({options:{body:$,headers:w}}){if(!$)return{bodyHeaders:void 0,body:void 0};let G=n([w]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&G.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:K6($)};else return H(this,_6,"f").call(this,{body:$,headers:G})}}_W=$0,_6=new WeakMap,xW=new WeakSet,LM=function(){return this.baseURL!=="https://api.anthropic.com"};$0.Anthropic=_W;$0.HUMAN_PROMPT=DM;$0.AI_PROMPT=kM;$0.DEFAULT_TIMEOUT=600000;$0.AnthropicError=b;$0.APIError=X0;$0.APIConnectionError=E$;$0.APIConnectionTimeoutError=S4;$0.APIUserAbortError=q0;$0.NotFoundError=y4;$0.ConflictError=I4;$0.RateLimitError=x4;$0.BadRequestError=R4;$0.AuthenticationError=j4;$0.InternalServerError=_4;$0.PermissionDeniedError=C4;$0.UnprocessableEntityError=b4;$0.toFile=U6;class A1 extends $0{constructor(){super(...arguments);this.completions=new Kw(this),this.messages=new F$(this),this.models=new Bw(this),this.beta=new D1(this)}}A1.Completions=Kw;A1.Messages=F$;A1.Models=Bw;A1.Beta=D1;class gW{client;constructor($){this.client=new A1({...$,maxRetries:0})}async*stream($){let{system:w,messages:G}=NO($.messages),W=this.client.messages.stream({model:$.model,system:w,messages:G,max_tokens:$.maxOutputTokens,...$.tools.length?{tools:$.tools.map((Z)=>({name:Z.name,description:Z.description,input_schema:Z.inputSchema}))}:{}},$.signal?{signal:$.signal}:void 0),Y=new Map;for await(let Z of W)if(Z.type==="content_block_start"&&Z.content_block.type==="tool_use")Y.set(Z.index,""),yield{type:"tool_call_start",index:Z.index,callId:Z.content_block.id,name:Z.content_block.name};else if(Z.type==="content_block_delta"&&Z.delta.type==="text_delta")yield{type:"text_delta",text:Z.delta.text};else if(Z.type==="content_block_delta"&&Z.delta.type==="input_json_delta")Y.set(Z.index,(Y.get(Z.index)??"")+Z.delta.partial_json),yield{type:"tool_call_delta",index:Z.index,argumentsDelta:Z.delta.partial_json};else if(Z.type==="content_block_stop"&&Y.has(Z.index))yield{type:"tool_call_end",index:Z.index};else if(Z.type==="message_start")yield{type:"usage",usage:{inputTokens:Z.message.usage.input_tokens,outputTokens:Z.message.usage.output_tokens}};else if(Z.type==="message_delta")yield{type:"usage",usage:{inputTokens:0,outputTokens:Z.usage.output_tokens}};yield{type:"done"}}}function NO($){let w=$.filter((W)=>W.role==="system").map((W)=>W.content).join(`
|
|
173
173
|
|
|
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;
|
|
176
|
-
`,"\r"]);
|
|
177
|
-
`);
|
|
178
|
-
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],
|
|
179
|
-
${
|
|
174
|
+
`),G=[];for(let W of $){if(W.role==="system")continue;if(W.role==="user")G.push({role:"user",content:W.content});else if(W.role==="assistant")G.push({role:"assistant",content:[...W.content?[{type:"text",text:W.content}]:[],...W.toolCalls.map((Y)=>({type:"tool_use",id:Y.callId,name:Y.name,input:Y.input}))]});else{let Y={type:"tool_result",tool_use_id:W.callId,content:W.content,is_error:W.isError},Z=G.at(-1);if(Z?.role==="user"&&Array.isArray(Z.content))Z.content=[...Z.content,Y];else G.push({role:"user",content:[Y]})}}return{system:w,messages:G}}function C($,w,G,W,Y){if(W==="m")throw TypeError("Private method is not writable");if(W==="a"&&!Y)throw TypeError("Private accessor was defined without a setter");if(typeof w==="function"?$!==w||!Y:!w.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return W==="a"?Y.call($,G):Y?Y.value=G:w.set($,G),G}function B($,w,G,W){if(G==="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 G==="m"?W:G==="a"?W.call($):W?W.value:w.get($)}var vW=function(){let{crypto:$}=globalThis;if($?.randomUUID)return vW=$.randomUUID.bind($),$.randomUUID();let w=new Uint8Array(1),G=$?()=>$.getRandomValues(w)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(W)=>(+W^G()&15>>+W/4).toString(16))};function X9($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var J9=($)=>{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 Z0 extends k{constructor($,w,G,W){super(`${Z0.makeMessage($,w,G)}`);this.status=$,this.headers=W,this.requestID=W?.get("x-request-id"),this.error=w;let Y=w;this.code=Y?.code,this.param=Y?.param,this.type=Y?.type}static makeMessage($,w,G){let W=w?.message?typeof w.message==="string"?w.message:JSON.stringify(w.message):w?JSON.stringify(w):G;if($&&W)return`${$} ${W}`;if($)return`${$} status code (no body)`;if(W)return W;return"(no status code or body)"}static generate($,w,G,W){if(!$||!W)return new O$({message:G,cause:J9(w)});let Y=w?.error;if($===400)return new T9($,Y,G,W);if($===401)return new M9($,Y,G,W);if($===403)return new f9($,Y,G,W);if($===404)return new Q9($,Y,G,W);if($===409)return new N9($,Y,G,W);if($===422)return new z9($,Y,G,W);if($===429)return new K9($,Y,G,W);if($>=500)return new P9($,Y,G,W);return new Z0($,Y,G,W)}}class T0 extends Z0{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class O$ extends Z0{constructor({message:$,cause:w}){super(void 0,void 0,$||"Connection error.",void 0);if(w)this.cause=w}}class L$ extends O${constructor({message:$}={}){super({message:$??"Request timed out."})}}class T9 extends Z0{}class M9 extends Z0{}class f9 extends Z0{}class Q9 extends Z0{}class N9 extends Z0{}class z9 extends Z0{}class K9 extends Z0{}class P9 extends Z0{}class B9 extends k{constructor(){super("Could not parse response content as the length limit was reached")}}class V9 extends k{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class S1 extends Error{constructor($){super($)}}var KO=/^[a-z][a-z0-9+.-]*:/i,AM=($)=>{return KO.test($)},U0=($)=>(U0=Array.isArray,U0($)),uW=U0;function hW($){if(typeof $!=="object")return{};return $??{}}function SM($){if(!$)return!0;for(let w in $)return!1;return!0}function RM($,w){return Object.prototype.hasOwnProperty.call($,w)}function q9($){return $!=null&&typeof $==="object"&&!Array.isArray($)}var jM=($,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 CM=($)=>{try{return JSON.parse($)}catch(w){return}};var f1=($)=>new Promise((w)=>setTimeout(w,$));var s1="5.23.2";var xM=()=>{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 BO=()=>{let $=PO();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":s1,"X-Stainless-OS":IM(Deno.build.os),"X-Stainless-Arch":yM(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":s1,"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":s1,"X-Stainless-OS":IM(globalThis.process.platform??"unknown"),"X-Stainless-Arch":yM(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let w=VO();if(w)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":s1,"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":s1,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function VO(){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:G}of $){let W=G.exec(navigator.userAgent);if(W){let Y=W[1]||0,Z=W[2]||0,X=W[3]||0;return{browser:w,version:`${Y}.${Z}.${X}`}}}return null}var yM=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},IM=($)=>{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"},bM,_M=()=>{return bM??(bM=BO())};function gM(){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 iW(...$){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 g6($){let w=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return iW({start(){},async pull(G){let{done:W,value:Y}=await w.next();if(W)G.close();else G.enqueue(Y)},async cancel(){await w.return?.()}})}function mW($){if($[Symbol.asyncIterator])return $;let w=$.getReader();return{async next(){try{let G=await w.read();if(G?.done)w.releaseLock();return G}catch(G){throw w.releaseLock(),G}},async return(){let G=w.cancel();return w.releaseLock(),await G,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function vM($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let w=$.getReader(),G=w.cancel();w.releaseLock(),await G}var uM=({headers:$,body:w})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(w)}};var v6="RFC3986",lW=($)=>String($),u6={RFC1738:($)=>String($).replace(/%20/g,"+"),RFC3986:lW},cW="RFC1738";var h6=($,w)=>(h6=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),h6($,w)),Q1=(()=>{let $=[];for(let w=0;w<256;++w)$.push("%"+((w<16?"0":"")+w.toString(16)).toUpperCase());return $})();var dW=1024,hM=($,w,G,W,Y)=>{if($.length===0)return $;let Z=$;if(typeof $==="symbol")Z=Symbol.prototype.toString.call($);else if(typeof $!=="string")Z=String($);if(G==="iso-8859-1")return escape(Z).replace(/%u[0-9a-f]{4}/gi,function(J){return"%26%23"+parseInt(J.slice(2),16)+"%3B"});let X="";for(let J=0;J<Z.length;J+=dW){let T=Z.length>=dW?Z.slice(J,J+dW):Z,M=[];for(let f=0;f<T.length;++f){let Q=T.charCodeAt(f);if(Q===45||Q===46||Q===95||Q===126||Q>=48&&Q<=57||Q>=65&&Q<=90||Q>=97&&Q<=122||Y===cW&&(Q===40||Q===41)){M[M.length]=T.charAt(f);continue}if(Q<128){M[M.length]=Q1[Q];continue}if(Q<2048){M[M.length]=Q1[192|Q>>6]+Q1[128|Q&63];continue}if(Q<55296||Q>=57344){M[M.length]=Q1[224|Q>>12]+Q1[128|Q>>6&63]+Q1[128|Q&63];continue}f+=1,Q=65536+((Q&1023)<<10|T.charCodeAt(f)&1023),M[M.length]=Q1[240|Q>>18]+Q1[128|Q>>12&63]+Q1[128|Q>>6&63]+Q1[128|Q&63]}X+=M.join("")}return X};function iM($){if(!$||typeof $!=="object")return!1;return!!($.constructor&&$.constructor.isBuffer&&$.constructor.isBuffer($))}function nW($,w){if(U0($)){let G=[];for(let W=0;W<$.length;W+=1)G.push(w($[W]));return G}return w($)}var lM={brackets($){return String($)+"[]"},comma:"comma",indices($,w){return String($)+"["+w+"]"},repeat($){return String($)}},cM=function($,w){Array.prototype.push.apply($,U0(w)?w:[w])},mM,M0={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:hM,encodeValuesOnly:!1,format:v6,formatter:lW,indices:!1,serializeDate($){return(mM??(mM=Function.prototype.call.bind(Date.prototype.toISOString)))($)},skipNulls:!1,strictNullHandling:!1};function UO($){return typeof $==="string"||typeof $==="number"||typeof $==="boolean"||typeof $==="symbol"||typeof $==="bigint"}var pW={};function dM($,w,G,W,Y,Z,X,J,T,M,f,Q,N,z,K,P,q,V){let E=$,O=V,A=0,R=!1;while((O=O.get(pW))!==void 0&&!R){let v=O.get($);if(A+=1,typeof v<"u")if(v===A)throw RangeError("Cyclic object value");else R=!0;if(typeof O.get(pW)>"u")A=0}if(typeof M==="function")E=M(w,E);else if(E instanceof Date)E=N?.(E);else if(G==="comma"&&U0(E))E=nW(E,function(v){if(v instanceof Date)return N?.(v);return v});if(E===null){if(Z)return T&&!P?T(w,M0.encoder,q,"key",z):w;E=""}if(UO(E)||iM(E)){if(T){let v=P?w:T(w,M0.encoder,q,"key",z);return[K?.(v)+"="+K?.(T(E,M0.encoder,q,"value",z))]}return[K?.(w)+"="+K?.(String(E))]}let S=[];if(typeof E>"u")return S;let _;if(G==="comma"&&U0(E)){if(P&&T)E=nW(E,T);_=[{value:E.length>0?E.join(",")||null:void 0}]}else if(U0(M))_=M;else{let v=Object.keys(E);_=f?v.sort(f):v}let s=J?String(w).replace(/\./g,"%2E"):String(w),e=W&&U0(E)&&E.length===1?s+"[]":s;if(Y&&U0(E)&&E.length===0)return e+"[]";for(let v=0;v<_.length;++v){let H0=_[v],x1=typeof H0==="object"&&typeof H0.value<"u"?H0.value:E[H0];if(X&&x1===null)continue;let W1=Q&&J?H0.replace(/\./g,"%2E"):H0,lw=U0(E)?typeof G==="function"?G(e,W1):e:e+(Q?"."+W1:"["+W1+"]");V.set($,A);let cw=new WeakMap;cw.set(pW,V),cM(S,dM(x1,lw,G,W,Y,Z,X,J,G==="comma"&&P&&U0(E)?null:T,M,f,Q,N,z,K,P,q,cw))}return S}function HO($=M0){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||M0.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 G=v6;if(typeof $.format<"u"){if(!h6(u6,$.format))throw TypeError("Unknown format option provided.");G=$.format}let W=u6[G],Y=M0.filter;if(typeof $.filter==="function"||U0($.filter))Y=$.filter;let Z;if($.arrayFormat&&$.arrayFormat in lM)Z=$.arrayFormat;else if("indices"in $)Z=$.indices?"indices":"repeat";else Z=M0.arrayFormat;if("commaRoundTrip"in $&&typeof $.commaRoundTrip!=="boolean")throw TypeError("`commaRoundTrip` must be a boolean, or absent");let X=typeof $.allowDots>"u"?!!$.encodeDotInKeys===!0?!0:M0.allowDots:!!$.allowDots;return{addQueryPrefix:typeof $.addQueryPrefix==="boolean"?$.addQueryPrefix:M0.addQueryPrefix,allowDots:X,allowEmptyArrays:typeof $.allowEmptyArrays==="boolean"?!!$.allowEmptyArrays:M0.allowEmptyArrays,arrayFormat:Z,charset:w,charsetSentinel:typeof $.charsetSentinel==="boolean"?$.charsetSentinel:M0.charsetSentinel,commaRoundTrip:!!$.commaRoundTrip,delimiter:typeof $.delimiter>"u"?M0.delimiter:$.delimiter,encode:typeof $.encode==="boolean"?$.encode:M0.encode,encodeDotInKeys:typeof $.encodeDotInKeys==="boolean"?$.encodeDotInKeys:M0.encodeDotInKeys,encoder:typeof $.encoder==="function"?$.encoder:M0.encoder,encodeValuesOnly:typeof $.encodeValuesOnly==="boolean"?$.encodeValuesOnly:M0.encodeValuesOnly,filter:Y,format:G,formatter:W,serializeDate:typeof $.serializeDate==="function"?$.serializeDate:M0.serializeDate,skipNulls:typeof $.skipNulls==="boolean"?$.skipNulls:M0.skipNulls,sort:typeof $.sort==="function"?$.sort:null,strictNullHandling:typeof $.strictNullHandling==="boolean"?$.strictNullHandling:M0.strictNullHandling}}function tW($,w={}){let G=$,W=HO(w),Y,Z;if(typeof W.filter==="function")Z=W.filter,G=Z("",G);else if(U0(W.filter))Z=W.filter,Y=Z;let X=[];if(typeof G!=="object"||G===null)return"";let J=lM[W.arrayFormat],T=J==="comma"&&W.commaRoundTrip;if(!Y)Y=Object.keys(G);if(W.sort)Y.sort(W.sort);let M=new WeakMap;for(let N=0;N<Y.length;++N){let z=Y[N];if(W.skipNulls&&G[z]===null)continue;cM(X,dM(G[z],z,J,T,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,M))}let f=X.join(W.delimiter),Q=W.addQueryPrefix===!0?"?":"";if(W.charsetSentinel)if(W.charset==="iso-8859-1")Q+="utf8=%26%2310003%3B&";else Q+="utf8=%E2%9C%93&";return f.length>0?Q+f:""}function tM($){let w=0;for(let Y of $)w+=Y.length;let G=new Uint8Array(w),W=0;for(let Y of $)G.set(Y,W),W+=Y.length;return G}var nM;function Vw($){let w;return(nM??(w=new globalThis.TextEncoder,nM=w.encode.bind(w)))($)}var pM;function rW($){let w;return(pM??(w=new globalThis.TextDecoder,pM=w.decode.bind(w)))($)}var x0,_0;class qw{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"?Vw($):$;C(this,x0,tM([B(this,x0,"f"),w]),"f");let G=[],W;while((W=OO(B(this,x0,"f"),B(this,_0,"f")))!=null){if(W.carriage&&B(this,_0,"f")==null){C(this,_0,W.index,"f");continue}if(B(this,_0,"f")!=null&&(W.index!==B(this,_0,"f")+1||W.carriage)){G.push(rW(B(this,x0,"f").subarray(0,B(this,_0,"f")-1))),C(this,x0,B(this,x0,"f").subarray(B(this,_0,"f")),"f"),C(this,_0,null,"f");continue}let Y=B(this,_0,"f")!==null?W.preceding-1:W.preceding,Z=rW(B(this,x0,"f").subarray(0,Y));G.push(Z),C(this,x0,B(this,x0,"f").subarray(W.index),"f"),C(this,_0,null,"f")}return G}flush(){if(!B(this,x0,"f").length)return[];return this.decode(`
|
|
175
|
+
`)}}x0=new WeakMap,_0=new WeakMap;qw.NEWLINE_CHARS=new Set([`
|
|
176
|
+
`,"\r"]);qw.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function OO($,w){for(let Y=w??0;Y<$.length;Y++){if($[Y]===10)return{preceding:Y,index:Y+1,carriage:!1};if($[Y]===13)return{preceding:Y,index:Y+1,carriage:!0}}return null}function rM($){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 m6={off:0,error:200,warn:300,info:400,debug:500},sW=($,w,G)=>{if(!$)return;if(RM(m6,$))return $;W0(G).warn(`${w} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(m6))}`);return};function E9(){}function i6($,w,G){if(!w||m6[$]>m6[G])return E9;else return w[$].bind(w)}var LO={error:E9,warn:E9,info:E9,debug:E9},sM=new WeakMap;function W0($){let w=$.logger,G=$.logLevel??"off";if(!w)return LO;let W=sM.get(w);if(W&&W[0]===G)return W[1];let Y={error:i6("error",w,G),warn:i6("warn",w,G),info:i6("info",w,G),debug:i6("debug",w,G)};return sM.set(w,[G,Y]),Y}var R1=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([w,G])=>[w,w.toLowerCase()==="authorization"||w.toLowerCase()==="cookie"||w.toLowerCase()==="set-cookie"?"***":G]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var U9;class g0{constructor($,w,G){this.iterator=$,U9.set(this,void 0),this.controller=w,C(this,U9,G,"f")}static fromSSEResponse($,w,G){let W=!1,Y=G?W0(G):console;async function*Z(){if(W)throw new k("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");W=!0;let X=!1;try{for await(let J of DO($,w)){if(X)continue;if(J.data.startsWith("[DONE]")){X=!0;continue}if(J.event===null||!J.event.startsWith("thread.")){let T;try{T=JSON.parse(J.data)}catch(M){throw Y.error("Could not parse message into JSON:",J.data),Y.error("From chunk:",J.raw),M}if(T&&T.error)throw new Z0(void 0,T.error,void 0,$.headers);yield T}else{let T;try{T=JSON.parse(J.data)}catch(M){throw console.error("Could not parse message into JSON:",J.data),console.error("From chunk:",J.raw),M}if(J.event=="error")throw new Z0(void 0,T.error,T.message,void 0);yield{event:J.event,data:T}}}X=!0}catch(J){if(X9(J))return;throw J}finally{if(!X)w.abort()}}return new g0(Z,w,G)}static fromReadableStream($,w,G){let W=!1;async function*Y(){let X=new qw,J=mW($);for await(let T of J)for(let M of X.decode(T))yield M;for(let T of X.flush())yield T}async function*Z(){if(W)throw new k("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");W=!0;let X=!1;try{for await(let J of Y()){if(X)continue;if(J)yield JSON.parse(J)}X=!0}catch(J){if(X9(J))return;throw J}finally{if(!X)w.abort()}}return new g0(Z,w,G)}[(U9=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],w=[],G=this.iterator(),W=(Y)=>{return{next:()=>{if(Y.length===0){let Z=G.next();$.push(Z),w.push(Z)}return Y.shift()}}};return[new g0(()=>W($),this.controller,B(this,U9,"f")),new g0(()=>W(w),this.controller,B(this,U9,"f"))]}toReadableStream(){let $=this,w;return iW({async start(){w=$[Symbol.asyncIterator]()},async pull(G){try{let{value:W,done:Y}=await w.next();if(Y)return G.close();let Z=Vw(JSON.stringify(W)+`
|
|
177
|
+
`);G.enqueue(Z)}catch(W){G.error(W)}},async cancel(){await w.return?.()}})}}async function*DO($,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 G=new aM,W=new qw,Y=mW($.body);for await(let Z of kO(Y))for(let X of W.decode(Z)){let J=G.decode(X);if(J)yield J}for(let Z of W.flush()){let X=G.decode(Z);if(X)yield X}}async function*kO($){let w=new Uint8Array;for await(let G of $){if(G==null)continue;let W=G instanceof ArrayBuffer?new Uint8Array(G):typeof G==="string"?Vw(G):G,Y=new Uint8Array(w.length+W.length);Y.set(w),Y.set(W,w.length),w=Y;let Z;while((Z=rM(w))!==-1)yield w.slice(0,Z),w=w.slice(Z)}if(w.length>0)yield w}class aM{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 Y={event:this.event,data:this.data.join(`
|
|
178
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],Y}if(this.chunks.push($),$.startsWith(":"))return null;let[w,G,W]=AO($,":");if(W.startsWith(" "))W=W.substring(1);if(w==="event")this.event=W;else if(w==="data")this.data.push(W);return null}}function AO($,w){let G=$.indexOf(w);if(G!==-1)return[$.substring(0,G),w,$.substring(G+w.length)];return[$,"",""]}async function l6($,w){let{response:G,requestLogID:W,retryOfRequestLogID:Y,startTime:Z}=w,X=await(async()=>{if(w.options.stream){if(W0($).debug("response",G.status,G.url,G.headers,G.body),w.options.__streamClass)return w.options.__streamClass.fromSSEResponse(G,w.controller,$);return g0.fromSSEResponse(G,w.controller,$)}if(G.status===204)return null;if(w.options.__binaryResponse)return G;let T=G.headers.get("content-type")?.split(";")[0]?.trim();if(T?.includes("application/json")||T?.endsWith("+json")){let Q=await G.json();return aW(Q,G)}return await G.text()})();return W0($).debug(`[${W}] response parsed`,R1({retryOfRequestLogID:Y,url:G.url,status:G.status,body:X,durationMs:Date.now()-Z})),X}function aW($,w){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:w.headers.get("x-request-id"),enumerable:!1})}var H9;class D$ extends Promise{constructor($,w,G=l6){super((W)=>{W(null)});this.responsePromise=w,this.parseResponse=G,H9.set(this,void 0),C(this,H9,$,"f")}_thenUnwrap($){return new D$(B(this,H9,"f"),this.responsePromise,async(w,G)=>aW($(await this.parseResponse(w,G),G),G.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(B(this,H9,"f"),$));return this.parsedPromise}then($,w){return this.parse().then($,w)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}}H9=new WeakMap;var c6;class d6{constructor($,w,G,W){c6.set(this,void 0),C(this,c6,$,"f"),this.options=W,this.response=w,this.body=G}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 B(this,c6,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(c6=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let w of $.getPaginatedItems())yield w}}class n6 extends D${constructor($,w,G){super($,w,async(W,Y)=>new G(W,Y.response,await l6(W,Y),Y.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let w of $)yield w}}class j1 extends d6{constructor($,w,G,W){super($,w,G,W);this.data=G.data||[],this.object=G.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}}class h extends d6{constructor($,w,G,W){super($,w,G,W);this.data=G.data||[],this.has_more=G.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:{...hW(this.options.query),after:w}}}}class oW extends d6{constructor($,w,G,W){super($,w,G,W);this.data=G.data||[],this.has_more=G.has_more||!1,this.last_id=G.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:{...hW(this.options.query),after:$}}}}var $3=()=>{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 Ew($,w,G){return $3(),new File($,w??"unknown_file",G)}function F9($){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 w3=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function";var v0=async($,w)=>{return{...$,body:await jO($.body,w)}},oM=new WeakMap;function RO($){let w=typeof $==="function"?$:$.fetch,G=oM.get(w);if(G)return G;let W=(async()=>{try{let Y="Response"in w?w.Response:(await w("data:,")).constructor,Z=new FormData;if(Z.toString()===await new Y(Z).text())return!1;return!0}catch{return!0}})();return oM.set(w,W),W}var jO=async($,w)=>{if(!await RO(w))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let G=new FormData;return await Promise.all(Object.entries($||{}).map(([W,Y])=>eW(G,W,Y))),G},CO=($)=>$ instanceof Blob&&("name"in $);var eW=async($,w,G)=>{if(G===void 0)return;if(G==null)throw TypeError(`Received null for "${w}"; to pass null in FormData, you must use the string 'null'`);if(typeof G==="string"||typeof G==="number"||typeof G==="boolean")$.append(w,String(G));else if(G instanceof Response)$.append(w,Ew([await G.blob()],F9(G)));else if(w3(G))$.append(w,Ew([await new Response(g6(G)).blob()],F9(G)));else if(CO(G))$.append(w,G,F9(G));else if(Array.isArray(G))await Promise.all(G.map((W)=>eW($,w+"[]",W)));else if(typeof G==="object")await Promise.all(Object.entries(G).map(([W,Y])=>eW($,`${w}[${W}]`,Y)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${G} instead`)};var eM=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",yO=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&eM($),IO=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";async function p6($,w,G){if($3(),$=await $,yO($)){if($ instanceof File)return $;return Ew([await $.arrayBuffer()],$.name)}if(IO($)){let Y=await $.blob();return w||(w=new URL($.url).pathname.split(/[\\/]/).pop()),Ew(await G3(Y),w,G)}let W=await G3($);if(w||(w=F9($)),!G?.type){let Y=W.find((Z)=>typeof Z==="object"&&("type"in Z)&&Z.type);if(typeof Y==="string")G={...G,type:Y}}return Ew(W,w,G)}async function G3($){let w=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)w.push($);else if(eM($))w.push($ instanceof Blob?$:await $.arrayBuffer());else if(w3($))for await(let G of $)w.push(...await G3(G));else{let G=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${G?`; constructor: ${G}`:""}${bO($)}`)}return w}function bO($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((G)=>`"${G}"`).join(", ")}]`}class F{constructor($){this._client=$}}function wf($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var $f=Object.freeze(Object.create(null)),_O=($=wf)=>function(G,...W){if(G.length===1)return G[0];let Y=!1,Z=[],X=G.reduce((f,Q,N)=>{if(/[?#]/.test(Q))Y=!0;let z=W[N],K=(Y?encodeURIComponent:$)(""+z);if(N!==W.length&&(z==null||typeof z==="object"&&z.toString===Object.getPrototypeOf(Object.getPrototypeOf(z.hasOwnProperty??$f)??$f)?.toString))K=z+"",Z.push({start:f.length+Q.length,length:K.length,error:`Value of type ${Object.prototype.toString.call(z).slice(8,-1)} is not a valid path parameter`});return f+Q+(N===W.length?"":K)},""),J=X.split(/[?#]/,1)[0],T=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,M;while((M=T.exec(J))!==null)Z.push({start:M.index,length:M[0].length,error:`Value "${M[0]}" can't be safely passed as a path parameter`});if(Z.sort((f,Q)=>f.start-Q.start),Z.length>0){let f=0,Q=Z.reduce((N,z)=>{let K=" ".repeat(z.start-f),P="^".repeat(z.length);return f=z.start+z.length,N+K+P},"");throw new k(`Path parameters result in path with invalid segments:
|
|
179
|
+
${Z.map((N)=>N.error).join(`
|
|
180
180
|
`)}
|
|
181
|
-
${
|
|
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($[
|
|
184
|
-
${
|
|
185
|
-
${
|
|
186
|
-
${
|
|
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.
|
|
181
|
+
${X}
|
|
182
|
+
${Q}`)}return X},U=_O(wf);class Uw extends F{list($,w={},G){return this._client.getAPIList(U`/chat/completions/${$}/messages`,h,{query:w,...G})}}function O9($){return $!==void 0&&"function"in $&&$.function!==void 0}function L9($){return $?.$brand==="auto-parseable-response-format"}function k$($){return $?.$brand==="auto-parseable-tool"}function Gf($,w){if(!w||!W3(w))return{...$,choices:$.choices.map((G)=>{return Yf(G.message.tool_calls),{...G,message:{...G.message,parsed:null,...G.message.tool_calls?{tool_calls:G.message.tool_calls}:void 0}}})};return D9($,w)}function D9($,w){let G=$.choices.map((W)=>{if(W.finish_reason==="length")throw new B9;if(W.finish_reason==="content_filter")throw new V9;return Yf(W.message.tool_calls),{...W,message:{...W.message,...W.message.tool_calls?{tool_calls:W.message.tool_calls?.map((Y)=>hO(w,Y))??void 0}:void 0,parsed:W.message.content&&!W.message.refusal?uO(w,W.message.content):null}}});return{...$,choices:G}}function uO($,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 hO($,w){let G=$.tools?.find((W)=>O9(W)&&W.function?.name===w.function.name);return{...w,function:{...w.function,parsed_arguments:k$(G)?G.$parseRaw(w.function.arguments):G?.function.strict?JSON.parse(w.function.arguments):null}}}function Wf($,w){if(!$||!("tools"in $)||!$.tools)return!1;let G=$.tools?.find((W)=>O9(W)&&W.function?.name===w.function.name);return O9(G)&&(k$(G)||G?.function.strict||!1)}function W3($){if(L9($.response_format))return!0;return $.tools?.some((w)=>k$(w)||w.type==="function"&&w.function.strict===!0)??!1}function Yf($){for(let w of $||[])if(w.type!=="function")throw new k(`Currently only \`function\` tool calls are supported; Received \`${w.type}\``)}function Zf($){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 Hw=($)=>{return $?.role==="assistant"},Y3=($)=>{return $?.role==="tool"};var Z3,t6,r6,k9,A9,s6,S9,C1,R9,a6,o6,Fw,Xf;class A${constructor(){Z3.add(this),this.controller=new AbortController,t6.set(this,void 0),r6.set(this,()=>{}),k9.set(this,()=>{}),A9.set(this,void 0),s6.set(this,()=>{}),S9.set(this,()=>{}),C1.set(this,{}),R9.set(this,!1),a6.set(this,!1),o6.set(this,!1),Fw.set(this,!1),C(this,t6,new Promise(($,w)=>{C(this,r6,$,"f"),C(this,k9,w,"f")}),"f"),C(this,A9,new Promise(($,w)=>{C(this,s6,$,"f"),C(this,S9,w,"f")}),"f"),B(this,t6,"f").catch(()=>{}),B(this,A9,"f").catch(()=>{})}_run($){setTimeout(()=>{$().then(()=>{this._emitFinal(),this._emit("end")},B(this,Z3,"m",Xf).bind(this))},0)}_connected(){if(this.ended)return;B(this,r6,"f").call(this),this._emit("connect")}get ended(){return B(this,R9,"f")}get errored(){return B(this,a6,"f")}get aborted(){return B(this,o6,"f")}abort(){this.controller.abort()}on($,w){return(B(this,C1,"f")[$]||(B(this,C1,"f")[$]=[])).push({listener:w}),this}off($,w){let G=B(this,C1,"f")[$];if(!G)return this;let W=G.findIndex((Y)=>Y.listener===w);if(W>=0)G.splice(W,1);return this}once($,w){return(B(this,C1,"f")[$]||(B(this,C1,"f")[$]=[])).push({listener:w,once:!0}),this}emitted($){return new Promise((w,G)=>{if(C(this,Fw,!0,"f"),$!=="error")this.once("error",G);this.once($,w)})}async done(){C(this,Fw,!0,"f"),await B(this,A9,"f")}_emit($,...w){if(B(this,R9,"f"))return;if($==="end")C(this,R9,!0,"f"),B(this,s6,"f").call(this);let G=B(this,C1,"f")[$];if(G)B(this,C1,"f")[$]=G.filter((W)=>!W.once),G.forEach(({listener:W})=>W(...w));if($==="abort"){let W=w[0];if(!B(this,Fw,"f")&&!G?.length)Promise.reject(W);B(this,k9,"f").call(this,W),B(this,S9,"f").call(this,W),this._emit("end");return}if($==="error"){let W=w[0];if(!B(this,Fw,"f")&&!G?.length)Promise.reject(W);B(this,k9,"f").call(this,W),B(this,S9,"f").call(this,W),this._emit("end")}}_emitFinal(){}}t6=new WeakMap,r6=new WeakMap,k9=new WeakMap,A9=new WeakMap,s6=new WeakMap,S9=new WeakMap,C1=new WeakMap,R9=new WeakMap,a6=new WeakMap,o6=new WeakMap,Fw=new WeakMap,Z3=new WeakSet,Xf=function(w){if(C(this,a6,!0,"f"),w instanceof Error&&w.name==="AbortError")w=new T0;if(w instanceof T0)return C(this,o6,!0,"f"),this._emit("abort",w);if(w instanceof k)return this._emit("error",w);if(w instanceof Error){let G=new k(w.message);return G.cause=w,this._emit("error",G)}return this._emit("error",new k(String(w)))};function Jf($){return typeof $.parse==="function"}var L0,X3,e6,J3,T3,M3,Tf,Mf,iO=10;class j9 extends A${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",$),Y3($)&&$.content)this._emit("functionToolCallResult",$.content);else if(Hw($)&&$.tool_calls){for(let G of $.tool_calls)if(G.type==="function")this._emit("functionToolCall",G.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(),B(this,L0,"m",X3).call(this)}async finalMessage(){return await this.done(),B(this,L0,"m",e6).call(this)}async finalFunctionToolCall(){return await this.done(),B(this,L0,"m",J3).call(this)}async finalFunctionToolCallResult(){return await this.done(),B(this,L0,"m",T3).call(this)}async totalUsage(){return await this.done(),B(this,L0,"m",M3).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let $=this._chatCompletions[this._chatCompletions.length-1];if($)this._emit("finalChatCompletion",$);let w=B(this,L0,"m",e6).call(this);if(w)this._emit("finalMessage",w);let G=B(this,L0,"m",X3).call(this);if(G)this._emit("finalContent",G);let W=B(this,L0,"m",J3).call(this);if(W)this._emit("finalFunctionToolCall",W);let Y=B(this,L0,"m",T3).call(this);if(Y!=null)this._emit("finalFunctionToolCallResult",Y);if(this._chatCompletions.some((Z)=>Z.usage))this._emit("totalUsage",B(this,L0,"m",M3).call(this))}async _createChatCompletion($,w,G){let W=G?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}B(this,L0,"m",Tf).call(this,w);let Y=await $.chat.completions.create({...w,stream:!1},{...G,signal:this.controller.signal});return this._connected(),this._addChatCompletion(D9(Y,w))}async _runChatCompletion($,w,G){for(let W of w.messages)this._addMessage(W,!1);return await this._createChatCompletion($,w,G)}async _runTools($,w,G){let{tool_choice:Y="auto",stream:Z,...X}=w,J=typeof Y!=="string"&&Y.type==="function"&&Y?.function?.name,{maxChatCompletions:T=iO}=G||{},M=w.tools.map((N)=>{if(k$(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}),f={};for(let N of M)if(N.type==="function")f[N.function.name||N.function.function.name]=N.function;let Q="tools"in w?M.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($,{...X,tool_choice:Y,tools:Q,messages:[...this.messages]},G)).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:V,arguments:E}=P.function,O=f[V];if(!O){let _=`Invalid tool_call: ${JSON.stringify(V)}. Available options are: ${Object.keys(f).map((s)=>JSON.stringify(s)).join(", ")}. Please try again`;this._addMessage({role:"tool",tool_call_id:q,content:_});continue}else if(J&&J!==V){let _=`Invalid tool_call: ${JSON.stringify(V)}. ${JSON.stringify(J)} requested. Please try again`;this._addMessage({role:"tool",tool_call_id:q,content:_});continue}let A;try{A=Jf(O)?await O.parse(E):E}catch(_){let s=_ instanceof Error?_.message:String(_);this._addMessage({role:"tool",tool_call_id:q,content:s});continue}let R=await O.function(A,this),S=B(this,L0,"m",Mf).call(this,R);if(this._addMessage({role:"tool",tool_call_id:q,content:S}),J)return}}return}}L0=new WeakSet,X3=function(){return B(this,L0,"m",e6).call(this).content??null},e6=function(){let w=this.messages.length;while(w-- >0){let G=this.messages[w];if(Hw(G))return{...G,content:G.content??null,refusal:G.refusal??null}}throw new k("stream ended without producing a ChatCompletionMessage with role=assistant")},J3=function(){for(let w=this.messages.length-1;w>=0;w--){let G=this.messages[w];if(Hw(G)&&G?.tool_calls?.length)return G.tool_calls.filter((W)=>W.type==="function").at(-1)?.function}return},T3=function(){for(let w=this.messages.length-1;w>=0;w--){let G=this.messages[w];if(Y3(G)&&G.content!=null&&typeof G.content==="string"&&this.messages.some((W)=>W.role==="assistant"&&W.tool_calls?.some((Y)=>Y.type==="function"&&Y.id===G.tool_call_id)))return G.content}return},M3=function(){let w={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:G}of this._chatCompletions)if(G)w.completion_tokens+=G.completion_tokens,w.prompt_tokens+=G.prompt_tokens,w.total_tokens+=G.total_tokens;return w},Tf=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.")},Mf=function(w){return typeof w==="string"?w:w===void 0?"undefined":JSON.stringify(w)};class C9 extends j9{static runTools($,w,G){let W=new C9,Y={...G,headers:{...G?.headers,"X-Stainless-Helper-Method":"runTools"}};return W._run(()=>W._runTools($,w,Y)),W}_addMessage($,w=!0){if(super._addMessage($,w),Hw($)&&$.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 ff extends Error{}class Qf extends Error{}function mO($,w=N0.ALL){if(typeof $!=="string")throw TypeError(`expecting str, got ${typeof $}`);if(!$.trim())throw Error(`${$} is empty`);return lO($.trim(),w)}var lO=($,w)=>{let G=$.length,W=0,Y=(N)=>{throw new ff(`${N} at position ${W}`)},Z=(N)=>{throw new Qf(`${N} at position ${W}`)},X=()=>{if(Q(),W>=G)Y("Unexpected end of input");if($[W]==='"')return J();if($[W]==="{")return T();if($[W]==="[")return M();if($.substring(W,W+4)==="null"||N0.NULL&w&&G-W<4&&"null".startsWith($.substring(W)))return W+=4,null;if($.substring(W,W+4)==="true"||N0.BOOL&w&&G-W<4&&"true".startsWith($.substring(W)))return W+=4,!0;if($.substring(W,W+5)==="false"||N0.BOOL&w&&G-W<5&&"false".startsWith($.substring(W)))return W+=5,!1;if($.substring(W,W+8)==="Infinity"||N0.INFINITY&w&&G-W<8&&"Infinity".startsWith($.substring(W)))return W+=8,1/0;if($.substring(W,W+9)==="-Infinity"||N0.MINUS_INFINITY&w&&1<G-W&&G-W<9&&"-Infinity".startsWith($.substring(W)))return W+=9,-1/0;if($.substring(W,W+3)==="NaN"||N0.NAN&w&&G-W<3&&"NaN".startsWith($.substring(W)))return W+=3,NaN;return f()},J=()=>{let N=W,z=!1;W++;while(W<G&&($[W]!=='"'||z&&$[W-1]==="\\"))z=$[W]==="\\"?!z:!1,W++;if($.charAt(W)=='"')try{return JSON.parse($.substring(N,++W-Number(z)))}catch(K){Z(String(K))}else if(N0.STR&w)try{return JSON.parse($.substring(N,W-Number(z))+'"')}catch(K){return JSON.parse($.substring(N,$.lastIndexOf("\\"))+'"')}Y("Unterminated string literal")},T=()=>{W++,Q();let N={};try{while($[W]!=="}"){if(Q(),W>=G&&N0.OBJ&w)return N;let z=J();Q(),W++;try{let K=X();Object.defineProperty(N,z,{value:K,writable:!0,enumerable:!0,configurable:!0})}catch(K){if(N0.OBJ&w)return N;else throw K}if(Q(),$[W]===",")W++}}catch(z){if(N0.OBJ&w)return N;else Y("Expected '}' at end of object")}return W++,N},M=()=>{W++;let N=[];try{while($[W]!=="]")if(N.push(X()),Q(),$[W]===",")W++}catch(z){if(N0.ARR&w)return N;Y("Expected ']' at end of array")}return W++,N},f=()=>{if(W===0){if($==="-"&&N0.NUM&w)Y("Not sure what '-' is");try{return JSON.parse($)}catch(z){if(N0.NUM&w)try{if($[$.length-1]===".")return JSON.parse($.substring(0,$.lastIndexOf(".")));return JSON.parse($.substring(0,$.lastIndexOf("e")))}catch(K){}Z(String(z))}}let N=W;if($[W]==="-")W++;while($[W]&&!",]}".includes($[W]))W++;if(W==G&&!(N0.NUM&w))Y("Unterminated number literal");try{return JSON.parse($.substring(N,W))}catch(z){if($.substring(N,W)==="-"&&N0.NUM&w)Y("Not sure what '-' is");try{return JSON.parse($.substring(N,$.lastIndexOf("e")))}catch(K){Z(String(K))}}},Q=()=>{while(W<G&&`
|
|
183
|
+
\r `.includes($[W]))W++};return X()},f3=($)=>mO($,N0.ALL^N0.NUM);var f0,y1,Ow,a1,Q3,$5,N3,z3,K3,w5,P3,Nf;class o1 extends j9{constructor($){super();f0.add(this),y1.set(this,void 0),Ow.set(this,void 0),a1.set(this,void 0),C(this,y1,$,"f"),C(this,Ow,[],"f")}get currentChatCompletionSnapshot(){return B(this,a1,"f")}static fromReadableStream($){let w=new o1(null);return w._run(()=>w._fromReadableStream($)),w}static createChatCompletion($,w,G){let W=new o1(w);return W._run(()=>W._runChatCompletion($,{...w,stream:!0},{...G,headers:{...G?.headers,"X-Stainless-Helper-Method":"stream"}})),W}async _createChatCompletion($,w,G){super._createChatCompletion;let W=G?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}B(this,f0,"m",Q3).call(this);let Y=await $.chat.completions.create({...w,stream:!0},{...G,signal:this.controller.signal});this._connected();for await(let Z of Y)B(this,f0,"m",N3).call(this,Z);if(Y.controller.signal?.aborted)throw new T0;return this._addChatCompletion(B(this,f0,"m",w5).call(this))}async _fromReadableStream($,w){let G=w?.signal;if(G){if(G.aborted)this.controller.abort();G.addEventListener("abort",()=>this.controller.abort())}B(this,f0,"m",Q3).call(this),this._connected();let W=g0.fromReadableStream($,this.controller),Y;for await(let Z of W){if(Y&&Y!==Z.id)this._addChatCompletion(B(this,f0,"m",w5).call(this));B(this,f0,"m",N3).call(this,Z),Y=Z.id}if(W.controller.signal?.aborted)throw new T0;return this._addChatCompletion(B(this,f0,"m",w5).call(this))}[(y1=new WeakMap,Ow=new WeakMap,a1=new WeakMap,f0=new WeakSet,Q3=function(){if(this.ended)return;C(this,a1,void 0,"f")},$5=function(w){let G=B(this,Ow,"f")[w.index];if(G)return G;return G={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},B(this,Ow,"f")[w.index]=G,G},N3=function(w){if(this.ended)return;let G=B(this,f0,"m",Nf).call(this,w);this._emit("chunk",w,G);for(let W of w.choices){let Y=G.choices[W.index];if(W.delta.content!=null&&Y.message?.role==="assistant"&&Y.message?.content)this._emit("content",W.delta.content,Y.message.content),this._emit("content.delta",{delta:W.delta.content,snapshot:Y.message.content,parsed:Y.message.parsed});if(W.delta.refusal!=null&&Y.message?.role==="assistant"&&Y.message?.refusal)this._emit("refusal.delta",{delta:W.delta.refusal,snapshot:Y.message.refusal});if(W.logprobs?.content!=null&&Y.message?.role==="assistant")this._emit("logprobs.content.delta",{content:W.logprobs?.content,snapshot:Y.logprobs?.content??[]});if(W.logprobs?.refusal!=null&&Y.message?.role==="assistant")this._emit("logprobs.refusal.delta",{refusal:W.logprobs?.refusal,snapshot:Y.logprobs?.refusal??[]});let Z=B(this,f0,"m",$5).call(this,Y);if(Y.finish_reason){if(B(this,f0,"m",K3).call(this,Y),Z.current_tool_call_index!=null)B(this,f0,"m",z3).call(this,Y,Z.current_tool_call_index)}for(let X of W.delta.tool_calls??[]){if(Z.current_tool_call_index!==X.index){if(B(this,f0,"m",K3).call(this,Y),Z.current_tool_call_index!=null)B(this,f0,"m",z3).call(this,Y,Z.current_tool_call_index)}Z.current_tool_call_index=X.index}for(let X of W.delta.tool_calls??[]){let J=Y.message.tool_calls?.[X.index];if(!J?.type)continue;if(J?.type==="function")this._emit("tool_calls.function.arguments.delta",{name:J.function?.name,index:X.index,arguments:J.function.arguments,parsed_arguments:J.function.parsed_arguments,arguments_delta:X.function?.arguments??""});else Kf(J?.type)}}},z3=function(w,G){if(B(this,f0,"m",$5).call(this,w).done_tool_calls.has(G))return;let Y=w.message.tool_calls?.[G];if(!Y)throw Error("no tool call snapshot");if(!Y.type)throw Error("tool call snapshot missing `type`");if(Y.type==="function"){let Z=B(this,y1,"f")?.tools?.find((X)=>O9(X)&&X.function.name===Y.function.name);this._emit("tool_calls.function.arguments.done",{name:Y.function.name,index:G,arguments:Y.function.arguments,parsed_arguments:k$(Z)?Z.$parseRaw(Y.function.arguments):Z?.function.strict?JSON.parse(Y.function.arguments):null})}else Kf(Y.type)},K3=function(w){let G=B(this,f0,"m",$5).call(this,w);if(w.message.content&&!G.content_done){G.content_done=!0;let W=B(this,f0,"m",P3).call(this);this._emit("content.done",{content:w.message.content,parsed:W?W.$parseRaw(w.message.content):null})}if(w.message.refusal&&!G.refusal_done)G.refusal_done=!0,this._emit("refusal.done",{refusal:w.message.refusal});if(w.logprobs?.content&&!G.logprobs_content_done)G.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:w.logprobs.content});if(w.logprobs?.refusal&&!G.logprobs_refusal_done)G.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:w.logprobs.refusal})},w5=function(){if(this.ended)throw new k("stream has ended, this shouldn't happen");let w=B(this,a1,"f");if(!w)throw new k("request ended without sending any chunks");return C(this,a1,void 0,"f"),C(this,Ow,[],"f"),cO(w,B(this,y1,"f"))},P3=function(){let w=B(this,y1,"f")?.response_format;if(L9(w))return w;return null},Nf=function(w){var G,W,Y,Z;let X=B(this,a1,"f"),{choices:J,...T}=w;if(!X)X=C(this,a1,{...T,choices:[]},"f");else Object.assign(X,T);for(let{delta:M,finish_reason:f,index:Q,logprobs:N=null,...z}of w.choices){let K=X.choices[Q];if(!K)K=X.choices[Q]={finish_reason:f,index:Q,message:{},logprobs:N,...z};if(N)if(!K.logprobs)K.logprobs=Object.assign({},N);else{let{content:R,refusal:S,..._}=N;if(zf(_),Object.assign(K.logprobs,_),R)(G=K.logprobs).content??(G.content=[]),K.logprobs.content.push(...R);if(S)(W=K.logprobs).refusal??(W.refusal=[]),K.logprobs.refusal.push(...S)}if(f){if(K.finish_reason=f,B(this,y1,"f")&&W3(B(this,y1,"f"))){if(f==="length")throw new B9;if(f==="content_filter")throw new V9}}if(Object.assign(K,z),!M)continue;let{content:P,refusal:q,function_call:V,role:E,tool_calls:O,...A}=M;if(zf(A),Object.assign(K.message,A),q)K.message.refusal=(K.message.refusal||"")+q;if(E)K.message.role=E;if(V)if(!K.message.function_call)K.message.function_call=V;else{if(V.name)K.message.function_call.name=V.name;if(V.arguments)(Y=K.message.function_call).arguments??(Y.arguments=""),K.message.function_call.arguments+=V.arguments}if(P){if(K.message.content=(K.message.content||"")+P,!K.message.refusal&&B(this,f0,"m",P3).call(this))K.message.parsed=f3(K.message.content)}if(O){if(!K.message.tool_calls)K.message.tool_calls=[];for(let{index:R,id:S,type:_,function:s,...e}of O){let v=(Z=K.message.tool_calls)[R]??(Z[R]={});if(Object.assign(v,e),S)v.id=S;if(_)v.type=_;if(s)v.function??(v.function={name:s.name??"",arguments:""});if(s?.name)v.function.name=s.name;if(s?.arguments){if(v.function.arguments+=s.arguments,Wf(B(this,y1,"f"),v))v.function.parsed_arguments=f3(v.function.arguments)}}}}return X},Symbol.asyncIterator)](){let $=[],w=[],G=!1;return this.on("chunk",(W)=>{let Y=w.shift();if(Y)Y.resolve(W);else $.push(W)}),this.on("end",()=>{G=!0;for(let W of w)W.resolve(void 0);w.length=0}),this.on("abort",(W)=>{G=!0;for(let Y of w)Y.reject(W);w.length=0}),this.on("error",(W)=>{G=!0;for(let Y of w)Y.reject(W);w.length=0}),{next:async()=>{if(!$.length){if(G)return{value:void 0,done:!0};return new Promise((Y,Z)=>w.push({resolve:Y,reject:Z})).then((Y)=>Y?{value:Y,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 cO($,w){let{id:G,choices:W,created:Y,model:Z,system_fingerprint:X,...J}=$,T={...J,id:G,choices:W.map(({message:M,finish_reason:f,index:Q,logprobs:N,...z})=>{if(!f)throw new k(`missing finish_reason for choice ${Q}`);let{content:K=null,function_call:P,tool_calls:q,...V}=M,E=M.role;if(!E)throw new k(`missing role for choice ${Q}`);if(P){let{arguments:O,name:A}=P;if(O==null)throw new k(`missing function_call.arguments for choice ${Q}`);if(!A)throw new k(`missing function_call.name for choice ${Q}`);return{...z,message:{content:K,function_call:{arguments:O,name:A},role:E,refusal:M.refusal??null},finish_reason:f,index:Q,logprobs:N}}if(q)return{...z,index:Q,finish_reason:f,logprobs:N,message:{...V,role:E,content:K,refusal:M.refusal??null,tool_calls:q.map((O,A)=>{let{function:R,type:S,id:_,...s}=O,{arguments:e,name:v,...H0}=R||{};if(_==null)throw new k(`missing choices[${Q}].tool_calls[${A}].id
|
|
184
|
+
${G5($)}`);if(S==null)throw new k(`missing choices[${Q}].tool_calls[${A}].type
|
|
185
|
+
${G5($)}`);if(v==null)throw new k(`missing choices[${Q}].tool_calls[${A}].function.name
|
|
186
|
+
${G5($)}`);if(e==null)throw new k(`missing choices[${Q}].tool_calls[${A}].function.arguments
|
|
187
|
+
${G5($)}`);return{...s,id:_,type:S,function:{...H0,name:v,arguments:e}}})}};return{...z,message:{...V,content:K,role:E,refusal:M.refusal??null},finish_reason:f,index:Q,logprobs:N}}),created:Y,model:Z,object:"chat.completion",...X?{system_fingerprint:X}:{}};return Gf(T,w)}function G5($){return JSON.stringify($)}function zf($){return}function Kf($){}class Lw extends o1{static fromReadableStream($){let w=new Lw(null);return w._run(()=>w._fromReadableStream($)),w}static runTools($,w,G){let W=new Lw(w),Y={...G,headers:{...G?.headers,"X-Stainless-Helper-Method":"runTools"}};return W._run(()=>W._runTools($,w,Y)),W}}class e1 extends F{constructor(){super(...arguments);this.messages=new Uw(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,G){return this._client.post(U`/chat/completions/${$}`,{body:w,...G})}list($={},w){return this._client.getAPIList("/chat/completions",h,{query:$,...w})}delete($,w){return this._client.delete(U`/chat/completions/${$}`,w)}parse($,w){return Zf($.tools),this._client.chat.completions.create($,{...w,headers:{...w?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap((G)=>D9(G,$))}runTools($,w){if($.stream)return Lw.runTools(this._client,$,w);return C9.runTools(this._client,$,w)}stream($,w){return o1.createChatCompletion(this._client,$,w)}}e1.Messages=Uw;class S$ extends F{constructor(){super(...arguments);this.completions=new e1(this._client)}}S$.Completions=e1;var Pf=Symbol("brand.privateNullableHeaders");function*nO($){if(!$)return;if(Pf in $){let{values:W,nulls:Y}=$;yield*W.entries();for(let Z of Y)yield[Z,null];return}let w=!1,G;if($ instanceof Headers)G=$.entries();else if(uW($))G=$;else w=!0,G=Object.entries($??{});for(let W of G){let Y=W[0];if(typeof Y!=="string")throw TypeError("expected header name to be a string");let Z=uW(W[1])?W[1]:[W[1]],X=!1;for(let J of Z){if(J===void 0)continue;if(w&&!X)X=!0,yield[Y,null];yield[Y,J]}}}var D=($)=>{let w=new Headers,G=new Set;for(let W of $){let Y=new Set;for(let[Z,X]of nO(W)){let J=Z.toLowerCase();if(!Y.has(J))w.delete(Z),Y.add(J);if(X===null)w.delete(Z),G.add(J);else w.append(Z,X),G.delete(J)}}return{[Pf]:!0,values:w,nulls:G}};class y9 extends F{create($,w){return this._client.post("/audio/speech",{body:$,...w,headers:D([{Accept:"application/octet-stream"},w?.headers]),__binaryResponse:!0})}}class I9 extends F{create($,w){return this._client.post("/audio/transcriptions",v0({body:$,...w,stream:$.stream??!1,__metadata:{model:$.model}},this._client))}}class b9 extends F{create($,w){return this._client.post("/audio/translations",v0({body:$,...w,__metadata:{model:$.model}},this._client))}}class I1 extends F{constructor(){super(...arguments);this.transcriptions=new I9(this._client),this.translations=new b9(this._client),this.speech=new y9(this._client)}}I1.Transcriptions=I9;I1.Translations=b9;I1.Speech=y9;class Dw extends F{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",h,{query:$,...w})}cancel($,w){return this._client.post(U`/batches/${$}/cancel`,w)}}class x9 extends F{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,G){return this._client.post(U`/assistants/${$}`,{body:w,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}list($={},w){return this._client.getAPIList("/assistants",h,{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 _9 extends F{create($,w){return this._client.post("/realtime/sessions",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}}class g9 extends F{create($,w){return this._client.post("/realtime/transcription_sessions",{body:$,...w,headers:D([{"OpenAI-Beta":"assistants=v2"},w?.headers])})}}class R$ extends F{constructor(){super(...arguments);this.sessions=new _9(this._client),this.transcriptionSessions=new g9(this._client)}}R$.Sessions=_9;R$.TranscriptionSessions=g9;class v9 extends F{create($,w,G){return this._client.post(U`/threads/${$}/messages`,{body:w,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}retrieve($,w,G){let{thread_id:W}=w;return this._client.get(U`/threads/${W}/messages/${$}`,{...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}update($,w,G){let{thread_id:W,...Y}=w;return this._client.post(U`/threads/${W}/messages/${$}`,{body:Y,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}list($,w={},G){return this._client.getAPIList(U`/threads/${$}/messages`,h,{query:w,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}delete($,w,G){let{thread_id:W}=w;return this._client.delete(U`/threads/${W}/messages/${$}`,{...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}}class u9 extends F{retrieve($,w,G){let{thread_id:W,run_id:Y,...Z}=w;return this._client.get(U`/threads/${W}/runs/${Y}/steps/${$}`,{query:Z,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}list($,w,G){let{thread_id:W,...Y}=w;return this._client.getAPIList(U`/threads/${W}/runs/${$}/steps`,h,{query:Y,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}}var Bf=($)=>{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($),G=w.length,W=new Uint8Array(G);for(let Y=0;Y<G;Y++)W[Y]=w.charCodeAt(Y);return Array.from(new Float32Array(W.buffer))}};var $$=($)=>{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 K0,C$,B3,N1,W5,w1,y$,kw,j$,X5,u0,Y5,Z5,m9,h9,i9,Vf,qf,Ef,Uf,Hf,Ff,Of;class w$ extends A${constructor(){super(...arguments);K0.add(this),B3.set(this,[]),N1.set(this,{}),W5.set(this,{}),w1.set(this,void 0),y$.set(this,void 0),kw.set(this,void 0),j$.set(this,void 0),X5.set(this,void 0),u0.set(this,void 0),Y5.set(this,void 0),Z5.set(this,void 0),m9.set(this,void 0)}[(B3=new WeakMap,N1=new WeakMap,W5=new WeakMap,w1=new WeakMap,y$=new WeakMap,kw=new WeakMap,j$=new WeakMap,X5=new WeakMap,u0=new WeakMap,Y5=new WeakMap,Z5=new WeakMap,m9=new WeakMap,K0=new WeakSet,Symbol.asyncIterator)](){let $=[],w=[],G=!1;return this.on("event",(W)=>{let Y=w.shift();if(Y)Y.resolve(W);else $.push(W)}),this.on("end",()=>{G=!0;for(let W of w)W.resolve(void 0);w.length=0}),this.on("abort",(W)=>{G=!0;for(let Y of w)Y.reject(W);w.length=0}),this.on("error",(W)=>{G=!0;for(let Y of w)Y.reject(W);w.length=0}),{next:async()=>{if(!$.length){if(G)return{value:void 0,done:!0};return new Promise((Y,Z)=>w.push({resolve:Y,reject:Z})).then((Y)=>Y?{value:Y,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 C$;return w._run(()=>w._fromReadableStream($)),w}async _fromReadableStream($,w){let G=w?.signal;if(G){if(G.aborted)this.controller.abort();G.addEventListener("abort",()=>this.controller.abort())}this._connected();let W=g0.fromReadableStream($,this.controller);for await(let Y of W)B(this,K0,"m",h9).call(this,Y);if(W.controller.signal?.aborted)throw new T0;return this._addRun(B(this,K0,"m",i9).call(this))}toReadableStream(){return new g0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream($,w,G,W){let Y=new C$;return Y._run(()=>Y._runToolAssistantStream($,w,G,{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),Y}async _createToolAssistantStream($,w,G,W){let Y=W?.signal;if(Y){if(Y.aborted)this.controller.abort();Y.addEventListener("abort",()=>this.controller.abort())}let Z={...G,stream:!0},X=await $.submitToolOutputs(w,Z,{...W,signal:this.controller.signal});this._connected();for await(let J of X)B(this,K0,"m",h9).call(this,J);if(X.controller.signal?.aborted)throw new T0;return this._addRun(B(this,K0,"m",i9).call(this))}static createThreadAssistantStream($,w,G){let W=new C$;return W._run(()=>W._threadAssistantStream($,w,{...G,headers:{...G?.headers,"X-Stainless-Helper-Method":"stream"}})),W}static createAssistantStream($,w,G,W){let Y=new C$;return Y._run(()=>Y._runAssistantStream($,w,G,{...W,headers:{...W?.headers,"X-Stainless-Helper-Method":"stream"}})),Y}currentEvent(){return B(this,Y5,"f")}currentRun(){return B(this,Z5,"f")}currentMessageSnapshot(){return B(this,w1,"f")}currentRunStepSnapshot(){return B(this,m9,"f")}async finalRunSteps(){return await this.done(),Object.values(B(this,N1,"f"))}async finalMessages(){return await this.done(),Object.values(B(this,W5,"f"))}async finalRun(){if(await this.done(),!B(this,y$,"f"))throw Error("Final run was not received.");return B(this,y$,"f")}async _createThreadAssistantStream($,w,G){let W=G?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}let Y={...w,stream:!0},Z=await $.createAndRun(Y,{...G,signal:this.controller.signal});this._connected();for await(let X of Z)B(this,K0,"m",h9).call(this,X);if(Z.controller.signal?.aborted)throw new T0;return this._addRun(B(this,K0,"m",i9).call(this))}async _createAssistantStream($,w,G,W){let Y=W?.signal;if(Y){if(Y.aborted)this.controller.abort();Y.addEventListener("abort",()=>this.controller.abort())}let Z={...G,stream:!0},X=await $.create(w,Z,{...W,signal:this.controller.signal});this._connected();for await(let J of X)B(this,K0,"m",h9).call(this,J);if(X.controller.signal?.aborted)throw new T0;return this._addRun(B(this,K0,"m",i9).call(this))}static accumulateDelta($,w){for(let[G,W]of Object.entries(w)){if(!$.hasOwnProperty(G)){$[G]=W;continue}let Y=$[G];if(Y===null||Y===void 0){$[G]=W;continue}if(G==="index"||G==="type"){$[G]=W;continue}if(typeof Y==="string"&&typeof W==="string")Y+=W;else if(typeof Y==="number"&&typeof W==="number")Y+=W;else if(q9(Y)&&q9(W))Y=this.accumulateDelta(Y,W);else if(Array.isArray(Y)&&Array.isArray(W)){if(Y.every((Z)=>typeof Z==="string"||typeof Z==="number")){Y.push(...W);continue}for(let Z of W){if(!q9(Z))throw Error(`Expected array delta entry to be an object but got: ${Z}`);let X=Z.index;if(X==null)throw console.error(Z),Error("Expected array delta entry to have an `index` property");if(typeof X!=="number")throw Error(`Expected array delta entry \`index\` property to be a number but got ${X}`);let J=Y[X];if(J==null)Y.push(Z);else Y[X]=this.accumulateDelta(J,Z)}continue}else throw Error(`Unhandled record type: ${G}, deltaValue: ${W}, accValue: ${Y}`);$[G]=Y}return $}_addRun($){return $}async _threadAssistantStream($,w,G){return await this._createThreadAssistantStream(w,$,G)}async _runAssistantStream($,w,G,W){return await this._createAssistantStream(w,$,G,W)}async _runToolAssistantStream($,w,G,W){return await this._createToolAssistantStream(w,$,G,W)}}C$=w$,h9=function(w){if(this.ended)return;switch(C(this,Y5,w,"f"),B(this,K0,"m",Ef).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":B(this,K0,"m",Of).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":B(this,K0,"m",qf).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":B(this,K0,"m",Vf).call(this,w);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier");default:GL(w)}},i9=function(){if(this.ended)throw new k("stream has ended, this shouldn't happen");if(!B(this,y$,"f"))throw Error("Final run has not been received");return B(this,y$,"f")},Vf=function(w){let[G,W]=B(this,K0,"m",Hf).call(this,w,B(this,w1,"f"));C(this,w1,G,"f"),B(this,W5,"f")[G.id]=G;for(let Y of W){let Z=G.content[Y.index];if(Z?.type=="text")this._emit("textCreated",Z.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,G),w.data.delta.content)for(let Y of w.data.delta.content){if(Y.type=="text"&&Y.text){let Z=Y.text,X=G.content[Y.index];if(X&&X.type=="text")this._emit("textDelta",Z,X.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(Y.index!=B(this,kw,"f")){if(B(this,j$,"f"))switch(B(this,j$,"f").type){case"text":this._emit("textDone",B(this,j$,"f").text,B(this,w1,"f"));break;case"image_file":this._emit("imageFileDone",B(this,j$,"f").image_file,B(this,w1,"f"));break}C(this,kw,Y.index,"f")}C(this,j$,G.content[Y.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(B(this,kw,"f")!==void 0){let Y=w.data.content[B(this,kw,"f")];if(Y)switch(Y.type){case"image_file":this._emit("imageFileDone",Y.image_file,B(this,w1,"f"));break;case"text":this._emit("textDone",Y.text,B(this,w1,"f"));break}}if(B(this,w1,"f"))this._emit("messageDone",w.data);C(this,w1,void 0,"f")}},qf=function(w){let G=B(this,K0,"m",Uf).call(this,w);switch(C(this,m9,G,"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&&G.step_details.type=="tool_calls")for(let Z of W.step_details.tool_calls)if(Z.index==B(this,X5,"f"))this._emit("toolCallDelta",Z,G.step_details.tool_calls[Z.index]);else{if(B(this,u0,"f"))this._emit("toolCallDone",B(this,u0,"f"));if(C(this,X5,Z.index,"f"),C(this,u0,G.step_details.tool_calls[Z.index],"f"),B(this,u0,"f"))this._emit("toolCallCreated",B(this,u0,"f"))}this._emit("runStepDelta",w.data.delta,G);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":if(C(this,m9,void 0,"f"),w.data.step_details.type=="tool_calls"){if(B(this,u0,"f"))this._emit("toolCallDone",B(this,u0,"f")),C(this,u0,void 0,"f")}this._emit("runStepDone",w.data,G);break;case"thread.run.step.in_progress":break}},Ef=function(w){B(this,B3,"f").push(w),this._emit("event",w)},Uf=function(w){switch(w.event){case"thread.run.step.created":return B(this,N1,"f")[w.data.id]=w.data,w.data;case"thread.run.step.delta":let G=B(this,N1,"f")[w.data.id];if(!G)throw Error("Received a RunStepDelta before creation of a snapshot");let W=w.data;if(W.delta){let Y=C$.accumulateDelta(G,W.delta);B(this,N1,"f")[w.data.id]=Y}return B(this,N1,"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":B(this,N1,"f")[w.data.id]=w.data;break}if(B(this,N1,"f")[w.data.id])return B(this,N1,"f")[w.data.id];throw Error("No snapshot available")},Hf=function(w,G){let W=[];switch(w.event){case"thread.message.created":return[w.data,W];case"thread.message.delta":if(!G)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let Y=w.data;if(Y.delta.content)for(let Z of Y.delta.content)if(Z.index in G.content){let X=G.content[Z.index];G.content[Z.index]=B(this,K0,"m",Ff).call(this,Z,X)}else G.content[Z.index]=Z,W.push(Z);return[G,W];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(G)return[G,W];else throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},Ff=function(w,G){return C$.accumulateDelta(G,w)},Of=function(w){switch(C(this,Z5,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,y$,w.data,"f"),B(this,u0,"f"))this._emit("toolCallDone",B(this,u0,"f")),C(this,u0,void 0,"f");break;case"thread.run.cancelling":break}};function GL($){}class Aw extends F{constructor(){super(...arguments);this.steps=new u9(this._client)}create($,w,G){let{include:W,...Y}=w;return this._client.post(U`/threads/${$}/runs`,{query:{include:W},body:Y,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers]),stream:w.stream??!1})}retrieve($,w,G){let{thread_id:W}=w;return this._client.get(U`/threads/${W}/runs/${$}`,{...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}update($,w,G){let{thread_id:W,...Y}=w;return this._client.post(U`/threads/${W}/runs/${$}`,{body:Y,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}list($,w={},G){return this._client.getAPIList(U`/threads/${$}/runs`,h,{query:w,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}cancel($,w,G){let{thread_id:W}=w;return this._client.post(U`/threads/${W}/runs/${$}/cancel`,{...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}async createAndPoll($,w,G){let W=await this.create($,w,G);return await this.poll(W.id,{thread_id:$},G)}createAndStream($,w,G){return w$.createAssistantStream($,this._client.beta.threads.runs,w,G)}async poll($,w,G){let W=D([G?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":G?.pollIntervalMs?.toString()??void 0}]);while(!0){let{data:Y,response:Z}=await this.retrieve($,w,{...G,headers:{...G?.headers,...W}}).withResponse();switch(Y.status){case"queued":case"in_progress":case"cancelling":let X=5000;if(G?.pollIntervalMs)X=G.pollIntervalMs;else{let J=Z.headers.get("openai-poll-after-ms");if(J){let T=parseInt(J);if(!isNaN(T))X=T}}await f1(X);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return Y}}}stream($,w,G){return w$.createAssistantStream($,this._client.beta.threads.runs,w,G)}submitToolOutputs($,w,G){let{thread_id:W,...Y}=w;return this._client.post(U`/threads/${W}/runs/${$}/submit_tool_outputs`,{body:Y,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers]),stream:w.stream??!1})}async submitToolOutputsAndPoll($,w,G){let W=await this.submitToolOutputs($,w,G);return await this.poll(W.id,w,G)}submitToolOutputsStream($,w,G){return w$.createToolAssistantStream($,this._client.beta.threads.runs,w,G)}}Aw.Steps=u9;class I$ extends F{constructor(){super(...arguments);this.runs=new Aw(this._client),this.messages=new v9(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,G){return this._client.post(U`/threads/${$}`,{body:w,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.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 G=await this.createAndRun($,w);return await this.runs.poll(G.id,{thread_id:G.thread_id},w)}createAndRunStream($,w){return w$.createThreadAssistantStream($,this._client.beta.threads,w)}}I$.Runs=Aw;I$.Messages=v9;class b1 extends F{constructor(){super(...arguments);this.realtime=new R$(this._client),this.assistants=new x9(this._client),this.threads=new I$(this._client)}}b1.Realtime=R$;b1.Assistants=x9;b1.Threads=I$;class Sw extends F{create($,w){return this._client.post("/completions",{body:$,...w,stream:$.stream??!1})}}class l9 extends F{retrieve($,w,G){let{container_id:W}=w;return this._client.get(U`/containers/${W}/files/${$}/content`,{...G,headers:D([{Accept:"application/binary"},G?.headers]),__binaryResponse:!0})}}class Rw extends F{constructor(){super(...arguments);this.content=new l9(this._client)}create($,w,G){return this._client.post(U`/containers/${$}/files`,v0({body:w,...G},this._client))}retrieve($,w,G){let{container_id:W}=w;return this._client.get(U`/containers/${W}/files/${$}`,G)}list($,w={},G){return this._client.getAPIList(U`/containers/${$}/files`,h,{query:w,...G})}delete($,w,G){let{container_id:W}=w;return this._client.delete(U`/containers/${W}/files/${$}`,{...G,headers:D([{Accept:"*/*"},G?.headers])})}}Rw.Content=l9;class b$ extends F{constructor(){super(...arguments);this.files=new Rw(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",h,{query:$,...w})}delete($,w){return this._client.delete(U`/containers/${$}`,{...w,headers:D([{Accept:"*/*"},w?.headers])})}}b$.Files=Rw;class c9 extends F{create($,w,G){let{include:W,...Y}=w;return this._client.post(U`/conversations/${$}/items`,{query:{include:W},body:Y,...G})}retrieve($,w,G){let{conversation_id:W,...Y}=w;return this._client.get(U`/conversations/${W}/items/${$}`,{query:Y,...G})}list($,w={},G){return this._client.getAPIList(U`/conversations/${$}/items`,oW,{query:w,...G})}delete($,w,G){let{conversation_id:W}=w;return this._client.delete(U`/conversations/${W}/items/${$}`,G)}}class x$ extends F{constructor(){super(...arguments);this.items=new c9(this._client)}create($={},w){return this._client.post("/conversations",{body:$,...w})}retrieve($,w){return this._client.get(U`/conversations/${$}`,w)}update($,w,G){return this._client.post(U`/conversations/${$}`,{body:w,...G})}delete($,w){return this._client.delete(U`/conversations/${$}`,w)}}x$.Items=c9;class jw extends F{create($,w){let G=!!$.encoding_format,W=G?$.encoding_format:"base64";if(G)W0(this._client).debug("embeddings/user defined encoding_format:",$.encoding_format);let Y=this._client.post("/embeddings",{body:{...$,encoding_format:W},...w});if(G)return Y;return W0(this._client).debug("embeddings/decoding base64 embeddings from base64"),Y._thenUnwrap((Z)=>{if(Z&&Z.data)Z.data.forEach((X)=>{let J=X.embedding;X.embedding=Bf(J)});return Z})}}class d9 extends F{retrieve($,w,G){let{eval_id:W,run_id:Y}=w;return this._client.get(U`/evals/${W}/runs/${Y}/output_items/${$}`,G)}list($,w,G){let{eval_id:W,...Y}=w;return this._client.getAPIList(U`/evals/${W}/runs/${$}/output_items`,h,{query:Y,...G})}}class Cw extends F{constructor(){super(...arguments);this.outputItems=new d9(this._client)}create($,w,G){return this._client.post(U`/evals/${$}/runs`,{body:w,...G})}retrieve($,w,G){let{eval_id:W}=w;return this._client.get(U`/evals/${W}/runs/${$}`,G)}list($,w={},G){return this._client.getAPIList(U`/evals/${$}/runs`,h,{query:w,...G})}delete($,w,G){let{eval_id:W}=w;return this._client.delete(U`/evals/${W}/runs/${$}`,G)}cancel($,w,G){let{eval_id:W}=w;return this._client.post(U`/evals/${W}/runs/${$}`,G)}}Cw.OutputItems=d9;class _$ extends F{constructor(){super(...arguments);this.runs=new Cw(this._client)}create($,w){return this._client.post("/evals",{body:$,...w})}retrieve($,w){return this._client.get(U`/evals/${$}`,w)}update($,w,G){return this._client.post(U`/evals/${$}`,{body:w,...G})}list($={},w){return this._client.getAPIList("/evals",h,{query:$,...w})}delete($,w){return this._client.delete(U`/evals/${$}`,w)}}_$.Runs=Cw;class yw extends F{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",h,{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:G=1800000}={}){let W=new Set(["processed","error","deleted"]),Y=Date.now(),Z=await this.retrieve($);while(!Z.status||!W.has(Z.status))if(await f1(w),Z=await this.retrieve($),Date.now()-Y>G)throw new L$({message:`Giving up on waiting for file ${$} to finish processing after ${G} milliseconds.`});return Z}}class n9 extends F{}class p9 extends F{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 Iw extends F{constructor(){super(...arguments);this.graders=new p9(this._client)}}Iw.Graders=p9;class t9 extends F{create($,w,G){return this._client.getAPIList(U`/fine_tuning/checkpoints/${$}/permissions`,j1,{body:w,method:"post",...G})}retrieve($,w={},G){return this._client.get(U`/fine_tuning/checkpoints/${$}/permissions`,{query:w,...G})}delete($,w,G){let{fine_tuned_model_checkpoint:W}=w;return this._client.delete(U`/fine_tuning/checkpoints/${W}/permissions/${$}`,G)}}class bw extends F{constructor(){super(...arguments);this.permissions=new t9(this._client)}}bw.Permissions=t9;class r9 extends F{list($,w={},G){return this._client.getAPIList(U`/fine_tuning/jobs/${$}/checkpoints`,h,{query:w,...G})}}class xw extends F{constructor(){super(...arguments);this.checkpoints=new r9(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",h,{query:$,...w})}cancel($,w){return this._client.post(U`/fine_tuning/jobs/${$}/cancel`,w)}listEvents($,w={},G){return this._client.getAPIList(U`/fine_tuning/jobs/${$}/events`,h,{query:w,...G})}pause($,w){return this._client.post(U`/fine_tuning/jobs/${$}/pause`,w)}resume($,w){return this._client.post(U`/fine_tuning/jobs/${$}/resume`,w)}}xw.Checkpoints=r9;class z1 extends F{constructor(){super(...arguments);this.methods=new n9(this._client),this.jobs=new xw(this._client),this.checkpoints=new bw(this._client),this.alpha=new Iw(this._client)}}z1.Methods=n9;z1.Jobs=xw;z1.Checkpoints=bw;z1.Alpha=Iw;class s9 extends F{}class g$ extends F{constructor(){super(...arguments);this.graderModels=new s9(this._client)}}g$.GraderModels=s9;class _w extends F{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 gw extends F{retrieve($,w){return this._client.get(U`/models/${$}`,w)}list($){return this._client.getAPIList("/models",j1,$)}delete($,w){return this._client.delete(U`/models/${$}`,w)}}class vw extends F{create($,w){return this._client.post("/moderations",{body:$,...w})}}class a9 extends F{create($,w){return this._client.post("/realtime/client_secrets",{body:$,...w})}}class v$ extends F{constructor(){super(...arguments);this.clientSecrets=new a9(this._client)}}v$.ClientSecrets=a9;function Lf($,w){if(!w||!UL(w))return{...$,output_parsed:null,output:$.output.map((G)=>{if(G.type==="function_call")return{...G,parsed_arguments:null};if(G.type==="message")return{...G,content:G.content.map((W)=>({...W,parsed:null}))};else return G})};return V3($,w)}function V3($,w){let G=$.output.map((Y)=>{if(Y.type==="function_call")return{...Y,parsed_arguments:OL(w,Y)};if(Y.type==="message"){let Z=Y.content.map((X)=>{if(X.type==="output_text")return{...X,parsed:EL(w,X.text)};return X});return{...Y,content:Z}}return Y}),W=Object.assign({},$,{output:G});if(!Object.getOwnPropertyDescriptor($,"output_text"))J5(W);return Object.defineProperty(W,"output_parsed",{enumerable:!0,get(){for(let Y of W.output){if(Y.type!=="message")continue;for(let Z of Y.content)if(Z.type==="output_text"&&Z.parsed!==null)return Z.parsed}return null}}),W}function EL($,w){if($.text?.format?.type!=="json_schema")return null;if("$parseRaw"in $.text?.format)return($.text?.format).$parseRaw(w);return JSON.parse(w)}function UL($){if(L9($.text?.format))return!0;return!1}function HL($){return $?.$brand==="auto-parseable-tool"}function FL($,w){return $.find((G)=>G.type==="function"&&G.name===w)}function OL($,w){let G=FL($.tools??[],w.name);return{...w,...w,parsed_arguments:HL(G)?G.$parseRaw(w.arguments):G?.strict?JSON.parse(w.arguments):null}}function J5($){let w=[];for(let G of $.output){if(G.type!=="message")continue;for(let W of G.content)if(W.type==="output_text")w.push(W.text)}$.output_text=w.join("")}var uw,T5,G$,M5,Df,kf,Af,Sf;class f5 extends A${constructor($){super();uw.add(this),T5.set(this,void 0),G$.set(this,void 0),M5.set(this,void 0),C(this,T5,$,"f")}static createResponse($,w,G){let W=new f5(w);return W._run(()=>W._createOrRetrieveResponse($,w,{...G,headers:{...G?.headers,"X-Stainless-Helper-Method":"stream"}})),W}async _createOrRetrieveResponse($,w,G){let W=G?.signal;if(W){if(W.aborted)this.controller.abort();W.addEventListener("abort",()=>this.controller.abort())}B(this,uw,"m",Df).call(this);let Y,Z=null;if("response_id"in w)Y=await $.responses.retrieve(w.response_id,{stream:!0},{...G,signal:this.controller.signal,stream:!0}),Z=w.starting_after??null;else Y=await $.responses.create({...w,stream:!0},{...G,signal:this.controller.signal});this._connected();for await(let X of Y)B(this,uw,"m",kf).call(this,X,Z);if(Y.controller.signal?.aborted)throw new T0;return B(this,uw,"m",Af).call(this)}[(T5=new WeakMap,G$=new WeakMap,M5=new WeakMap,uw=new WeakSet,Df=function(){if(this.ended)return;C(this,G$,void 0,"f")},kf=function(w,G){if(this.ended)return;let W=(Z,X)=>{if(G==null||X.sequence_number>G)this._emit(Z,X)},Y=B(this,uw,"m",Sf).call(this,w);switch(W("event",w),w.type){case"response.output_text.delta":{let Z=Y.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}`);W("response.output_text.delta",{...w,snapshot:X.text})}break}case"response.function_call_arguments.delta":{let Z=Y.output[w.output_index];if(!Z)throw new k(`missing output at index ${w.output_index}`);if(Z.type==="function_call")W("response.function_call_arguments.delta",{...w,snapshot:Z.arguments});break}default:W(w.type,w);break}},Af=function(){if(this.ended)throw new k("stream has ended, this shouldn't happen");let w=B(this,G$,"f");if(!w)throw new k("request ended without sending any events");C(this,G$,void 0,"f");let G=LL(w,B(this,T5,"f"));return C(this,M5,G,"f"),G},Sf=function(w){let G=B(this,G$,"f");if(!G){if(w.type!=="response.created")throw new k(`When snapshot hasn't been set yet, expected 'response.created' event, got ${w.type}`);return G=C(this,G$,w.response,"f"),G}switch(w.type){case"response.output_item.added":{G.output.push(w.item);break}case"response.content_part.added":{let W=G.output[w.output_index];if(!W)throw new k(`missing output at index ${w.output_index}`);let Y=W.type,Z=w.part;if(Y==="message"&&Z.type!=="reasoning_text")W.content.push(Z);else if(Y==="reasoning"&&Z.type==="reasoning_text"){if(!W.content)W.content=[];W.content.push(Z)}break}case"response.output_text.delta":{let W=G.output[w.output_index];if(!W)throw new k(`missing output at index ${w.output_index}`);if(W.type==="message"){let Y=W.content[w.content_index];if(!Y)throw new k(`missing content at index ${w.content_index}`);if(Y.type!=="output_text")throw new k(`expected content to be 'output_text', got ${Y.type}`);Y.text+=w.delta}break}case"response.function_call_arguments.delta":{let W=G.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=G.output[w.output_index];if(!W)throw new k(`missing output at index ${w.output_index}`);if(W.type==="reasoning"){let Y=W.content?.[w.content_index];if(!Y)throw new k(`missing content at index ${w.content_index}`);if(Y.type!=="reasoning_text")throw new k(`expected content to be 'reasoning_text', got ${Y.type}`);Y.text+=w.delta}break}case"response.completed":{C(this,G$,w.response,"f");break}}return G},Symbol.asyncIterator)](){let $=[],w=[],G=!1;return this.on("event",(W)=>{let Y=w.shift();if(Y)Y.resolve(W);else $.push(W)}),this.on("end",()=>{G=!0;for(let W of w)W.resolve(void 0);w.length=0}),this.on("abort",(W)=>{G=!0;for(let Y of w)Y.reject(W);w.length=0}),this.on("error",(W)=>{G=!0;for(let Y of w)Y.reject(W);w.length=0}),{next:async()=>{if(!$.length){if(G)return{value:void 0,done:!0};return new Promise((Y,Z)=>w.push({resolve:Y,reject:Z})).then((Y)=>Y?{value:Y,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 $=B(this,M5,"f");if(!$)throw new k("stream ended without producing a ChatCompletion");return $}}function LL($,w){return Lf($,w)}class o9 extends F{list($,w={},G){return this._client.getAPIList(U`/responses/${$}/input_items`,h,{query:w,...G})}}class u$ extends F{constructor(){super(...arguments);this.inputItems=new o9(this._client)}create($,w){return this._client.post("/responses",{body:$,...w,stream:$.stream??!1})._thenUnwrap((G)=>{if("object"in G&&G.object==="response")J5(G);return G})}retrieve($,w={},G){return this._client.get(U`/responses/${$}`,{query:w,...G,stream:w?.stream??!1})._thenUnwrap((W)=>{if("object"in W&&W.object==="response")J5(W);return W})}delete($,w){return this._client.delete(U`/responses/${$}`,{...w,headers:D([{Accept:"*/*"},w?.headers])})}parse($,w){return this._client.responses.create($,w)._thenUnwrap((G)=>V3(G,$))}stream($,w){return f5.createResponse(this._client,$,w)}cancel($,w){return this._client.post(U`/responses/${$}/cancel`,w)}}u$.InputItems=o9;class e9 extends F{create($,w,G){return this._client.post(U`/uploads/${$}/parts`,v0({body:w,...G},this._client))}}class h$ extends F{constructor(){super(...arguments);this.parts=new e9(this._client)}create($,w){return this._client.post("/uploads",{body:$,...w})}cancel($,w){return this._client.post(U`/uploads/${$}/cancel`,w)}complete($,w,G){return this._client.post(U`/uploads/${$}/complete`,{body:w,...G})}}h$.Parts=e9;var Rf=async($)=>{let w=await Promise.allSettled($),G=w.filter((Y)=>Y.status==="rejected");if(G.length){for(let Y of G)console.error(Y.reason);throw Error(`${G.length} promise(s) failed - see the above errors`)}let W=[];for(let Y of w)if(Y.status==="fulfilled")W.push(Y.value);return W};class $8 extends F{create($,w,G){return this._client.post(U`/vector_stores/${$}/file_batches`,{body:w,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}retrieve($,w,G){let{vector_store_id:W}=w;return this._client.get(U`/vector_stores/${W}/file_batches/${$}`,{...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}cancel($,w,G){let{vector_store_id:W}=w;return this._client.post(U`/vector_stores/${W}/file_batches/${$}/cancel`,{...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}async createAndPoll($,w,G){let W=await this.create($,w);return await this.poll($,W.id,G)}listFiles($,w,G){let{vector_store_id:W,...Y}=w;return this._client.getAPIList(U`/vector_stores/${W}/file_batches/${$}/files`,h,{query:Y,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}async poll($,w,G){let W=D([G?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":G?.pollIntervalMs?.toString()??void 0}]);while(!0){let{data:Y,response:Z}=await this.retrieve(w,{vector_store_id:$},{...G,headers:W}).withResponse();switch(Y.status){case"in_progress":let X=5000;if(G?.pollIntervalMs)X=G.pollIntervalMs;else{let J=Z.headers.get("openai-poll-after-ms");if(J){let T=parseInt(J);if(!isNaN(T))X=T}}await f1(X);break;case"failed":case"cancelled":case"completed":return Y}}}async uploadAndPoll($,{files:w,fileIds:G=[]},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 Y=W?.maxConcurrency??5,Z=Math.min(Y,w.length),X=this._client,J=w.values(),T=[...G];async function M(Q){for(let N of Q){let z=await X.files.create({file:N,purpose:"assistants"},W);T.push(z.id)}}let f=Array(Z).fill(J).map(M);return await Rf(f),await this.createAndPoll($,{file_ids:T})}}class w8 extends F{create($,w,G){return this._client.post(U`/vector_stores/${$}/files`,{body:w,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}retrieve($,w,G){let{vector_store_id:W}=w;return this._client.get(U`/vector_stores/${W}/files/${$}`,{...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}update($,w,G){let{vector_store_id:W,...Y}=w;return this._client.post(U`/vector_stores/${W}/files/${$}`,{body:Y,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}list($,w={},G){return this._client.getAPIList(U`/vector_stores/${$}/files`,h,{query:w,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}delete($,w,G){let{vector_store_id:W}=w;return this._client.delete(U`/vector_stores/${W}/files/${$}`,{...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}async createAndPoll($,w,G){let W=await this.create($,w,G);return await this.poll($,W.id,G)}async poll($,w,G){let W=D([G?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":G?.pollIntervalMs?.toString()??void 0}]);while(!0){let Y=await this.retrieve(w,{vector_store_id:$},{...G,headers:W}).withResponse(),Z=Y.data;switch(Z.status){case"in_progress":let X=5000;if(G?.pollIntervalMs)X=G.pollIntervalMs;else{let J=Y.response.headers.get("openai-poll-after-ms");if(J){let T=parseInt(J);if(!isNaN(T))X=T}}await f1(X);break;case"failed":case"completed":return Z}}}async upload($,w,G){let W=await this._client.files.create({file:w,purpose:"assistants"},G);return this.create($,{file_id:W.id},G)}async uploadAndPoll($,w,G){let W=await this.upload($,w,G);return await this.poll($,W.id,G)}content($,w,G){let{vector_store_id:W}=w;return this._client.getAPIList(U`/vector_stores/${W}/files/${$}/content`,j1,{...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}}class W$ extends F{constructor(){super(...arguments);this.files=new w8(this._client),this.fileBatches=new $8(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,G){return this._client.post(U`/vector_stores/${$}`,{body:w,...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}list($={},w){return this._client.getAPIList("/vector_stores",h,{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,G){return this._client.getAPIList(U`/vector_stores/${$}/search`,j1,{body:w,method:"post",...G,headers:D([{"OpenAI-Beta":"assistants=v2"},G?.headers])})}}W$.Files=w8;W$.FileBatches=$8;var hw,jf,Q5;class iw extends F{constructor(){super(...arguments);hw.add(this)}async unwrap($,w,G=this._client.webhookSecret,W=300){return await this.verifySignature($,w,G,W),JSON.parse($)}async verifySignature($,w,G=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");B(this,hw,"m",jf).call(this,G);let Y=D([w]).values,Z=B(this,hw,"m",Q5).call(this,Y,"webhook-signature"),X=B(this,hw,"m",Q5).call(this,Y,"webhook-timestamp"),J=B(this,hw,"m",Q5).call(this,Y,"webhook-id"),T=parseInt(X,10);if(isNaN(T))throw new S1("Invalid webhook timestamp format");let M=Math.floor(Date.now()/1000);if(M-T>W)throw new S1("Webhook timestamp is too old");if(T>M+W)throw new S1("Webhook timestamp is too new");let f=Z.split(" ").map((K)=>K.startsWith("v1,")?K.substring(3):K),Q=G.startsWith("whsec_")?Buffer.from(G.replace("whsec_",""),"base64"):Buffer.from(G,"utf-8"),N=J?`${J}.${X}.${$}`:`${X}.${$}`,z=await crypto.subtle.importKey("raw",Q,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let K of f)try{let P=Buffer.from(K,"base64");if(await crypto.subtle.verify("HMAC",z,P,new TextEncoder().encode(N)))return}catch{continue}throw new S1("The given webhook signature does not match the expected signature")}}hw=new WeakSet,jf=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")},Q5=function(w,G){if(!w)throw Error("Headers are required");let W=w.get(G);if(W===null||W===void 0)throw Error(`Missing required header: ${G}`);return W};var q3,E3,N5,Cf;class g{constructor({baseURL:$=$$("OPENAI_BASE_URL"),apiKey:w=$$("OPENAI_API_KEY"),organization:G=$$("OPENAI_ORG_ID")??null,project:W=$$("OPENAI_PROJECT_ID")??null,webhookSecret:Y=$$("OPENAI_WEBHOOK_SECRET")??null,...Z}={}){if(q3.add(this),N5.set(this,void 0),this.completions=new Sw(this),this.chat=new S$(this),this.embeddings=new jw(this),this.files=new yw(this),this.images=new _w(this),this.audio=new I1(this),this.moderations=new vw(this),this.models=new gw(this),this.fineTuning=new z1(this),this.graders=new g$(this),this.vectorStores=new W$(this),this.webhooks=new iw(this),this.beta=new b1(this),this.batches=new Dw(this),this.uploads=new h$(this),this.responses=new u$(this),this.realtime=new v$(this),this.conversations=new x$(this),this.evals=new _$(this),this.containers=new b$(this),w===void 0)throw new k("Missing credentials. Please pass an `apiKey`, or set the `OPENAI_API_KEY` environment variable.");let X={apiKey:w,organization:G,project:W,webhookSecret:Y,...Z,baseURL:$||"https://api.openai.com/v1"};if(!X.dangerouslyAllowBrowser&&xM())throw new k(`It looks like you're running in a browser-like environment.
|
|
188
188
|
|
|
189
189
|
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
190
190
|
If you understand the risks and have appropriate mitigations in place,
|
|
@@ -193,67 +193,80 @@ you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
|
193
193
|
new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
|
|
194
194
|
|
|
195
195
|
https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
|
|
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
|
|
198
|
-
`)){if(!
|
|
199
|
-
`),
|
|
200
|
-
`);if(
|
|
201
|
-
`))J(`${
|
|
202
|
-
`)[0]??""}`;break}}else{let N=
|
|
203
|
-
`)[0]??
|
|
204
|
-
// coden-load: ${
|
|
196
|
+
`);this.baseURL=X.baseURL,this.timeout=X.timeout??E3.DEFAULT_TIMEOUT,this.logger=X.logger??console;let J="warn";this.logLevel=J,this.logLevel=sW(X.logLevel,"ClientOptions.logLevel",this)??sW($$("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??J,this.fetchOptions=X.fetchOptions,this.maxRetries=X.maxRetries??2,this.fetch=X.fetch??gM(),C(this,N5,uM,"f"),this._options=X,this.apiKey=typeof w==="string"?w:"Missing Key",this.organization=G,this.project=W,this.webhookSecret=Y}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 tW($,{arrayFormat:"brackets"})}getUserAgent(){return`${this.constructor.name}/JS ${s1}`}defaultIdempotencyKey(){return`stainless-node-retry-${vW()}`}makeStatusError($,w,G,W){return Z0.generate($,w,G,W)}async _callApiKey(){let $=this._options.apiKey;if(typeof $!=="function")return!1;let w;try{w=await $()}catch(G){if(G instanceof k)throw G;throw new k(`Failed to get token from 'apiKey' function: ${G.message}`,{cause:G})}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,G){let W=!B(this,q3,"m",Cf).call(this)&&G||this.baseURL,Y=AM($)?new URL($):new URL(W+(W.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),Z=this.defaultQuery();if(!SM(Z))w={...Z,...w};if(typeof w==="object"&&w&&!Array.isArray(w))Y.search=this.stringifyQuery(w);return Y.toString()}async prepareOptions($){await this._callApiKey()}async prepareRequest($,{url:w,options:G}){}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,G){return this.request(Promise.resolve(G).then((W)=>{return{method:$,path:w,...W}}))}request($,w=null){return new D$(this,this.makeRequest($,w,void 0))}async makeRequest($,w,G){let W=await $,Y=W.maxRetries??this.maxRetries;if(w==null)w=Y;await this.prepareOptions(W);let{req:Z,url:X,timeout:J}=await this.buildRequest(W,{retryCount:Y-w});await this.prepareRequest(Z,{url:X,options:W});let T="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),M=G===void 0?"":`, retryOf: ${G}`,f=Date.now();if(W0(this).debug(`[${T}] sending request`,R1({retryOfRequestLogID:G,method:W.method,url:X,options:W,headers:Z.headers})),W.signal?.aborted)throw new T0;let Q=new AbortController,N=await this.fetchWithTimeout(X,Z,J,Q).catch(J9),z=Date.now();if(N instanceof globalThis.Error){let q=`retrying, ${w} attempts remaining`;if(W.signal?.aborted)throw new T0;let V=X9(N)||/timed? ?out/i.test(String(N)+("cause"in N?String(N.cause):""));if(w)return W0(this).info(`[${T}] connection ${V?"timed out":"failed"} - ${q}`),W0(this).debug(`[${T}] connection ${V?"timed out":"failed"} (${q})`,R1({retryOfRequestLogID:G,url:X,durationMs:z-f,message:N.message})),this.retryRequest(W,w,G??T);if(W0(this).info(`[${T}] connection ${V?"timed out":"failed"} - error; no more retries left`),W0(this).debug(`[${T}] connection ${V?"timed out":"failed"} (error; no more retries left)`,R1({retryOfRequestLogID:G,url:X,durationMs:z-f,message:N.message})),V)throw new L$;throw new O$({cause:N})}let K=[...N.headers.entries()].filter(([q])=>q==="x-request-id").map(([q,V])=>", "+q+": "+JSON.stringify(V)).join(""),P=`[${T}${M}${K}] ${Z.method} ${X} ${N.ok?"succeeded":"failed"} with status ${N.status} in ${z-f}ms`;if(!N.ok){let q=await this.shouldRetry(N);if(w&&q){let S=`retrying, ${w} attempts remaining`;return await vM(N.body),W0(this).info(`${P} - ${S}`),W0(this).debug(`[${T}] response error (${S})`,R1({retryOfRequestLogID:G,url:N.url,status:N.status,headers:N.headers,durationMs:z-f})),this.retryRequest(W,w,G??T,N.headers)}let V=q?"error; no more retries left":"error; not retryable";W0(this).info(`${P} - ${V}`);let E=await N.text().catch((S)=>J9(S).message),O=CM(E),A=O?void 0:E;throw W0(this).debug(`[${T}] response error (${V})`,R1({retryOfRequestLogID:G,url:N.url,status:N.status,headers:N.headers,message:A,durationMs:Date.now()-f})),this.makeStatusError(N.status,O,A,N.headers)}return W0(this).info(P),W0(this).debug(`[${T}] response start`,R1({retryOfRequestLogID:G,url:N.url,status:N.status,headers:N.headers,durationMs:z-f})),{response:N,options:W,controller:Q,requestLogID:T,retryOfRequestLogID:G,startTime:f}}getAPIList($,w,G){return this.requestAPIList(w,{method:"get",path:$,...G})}requestAPIList($,w){let G=this.makeRequest(w,null,void 0);return new n6(this,G,$)}async fetchWithTimeout($,w,G,W){let{signal:Y,method:Z,...X}=w||{};if(Y)Y.addEventListener("abort",()=>W.abort());let J=setTimeout(()=>W.abort(),G),T=globalThis.ReadableStream&&X.body instanceof globalThis.ReadableStream||typeof X.body==="object"&&X.body!==null&&Symbol.asyncIterator in X.body,M={signal:W.signal,...T?{duplex:"half"}:{},method:"GET",...X};if(Z)M.method=Z.toUpperCase();try{return await this.fetch.call(void 0,$,M)}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,G,W){let Y,Z=W?.get("retry-after-ms");if(Z){let J=parseFloat(Z);if(!Number.isNaN(J))Y=J}let X=W?.get("retry-after");if(X&&!Y){let J=parseFloat(X);if(!Number.isNaN(J))Y=J*1000;else Y=Date.parse(X)-Date.now()}if(!(Y&&0<=Y&&Y<60000)){let J=$.maxRetries??this.maxRetries;Y=this.calculateDefaultRetryTimeoutMillis(w,J)}return await f1(Y),this.makeRequest($,w-1,G)}calculateDefaultRetryTimeoutMillis($,w){let Y=w-$,Z=Math.min(0.5*Math.pow(2,Y),8),X=1-Math.random()*0.25;return Z*X*1000}async buildRequest($,{retryCount:w=0}={}){let G={...$},{method:W,path:Y,query:Z,defaultBaseURL:X}=G,J=this.buildURL(Y,Z,X);if("timeout"in G)jM("timeout",G.timeout);G.timeout=G.timeout??this.timeout;let{bodyHeaders:T,body:M}=this.buildBody({options:G}),f=await this.buildHeaders({options:$,method:W,bodyHeaders:T,retryCount:w});return{req:{method:W,headers:f,...G.signal&&{signal:G.signal},...globalThis.ReadableStream&&M instanceof globalThis.ReadableStream&&{duplex:"half"},...M&&{body:M},...this.fetchOptions??{},...G.fetchOptions??{}},url:J,timeout:G.timeout}}async buildHeaders({options:$,method:w,bodyHeaders:G,retryCount:W}){let Y={};if(this.idempotencyHeader&&w!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();Y[this.idempotencyHeader]=$.idempotencyKey}let Z=D([Y,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(W),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},..._M(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders($),this._options.defaultHeaders,G,$.headers]);return this.validateHeaders(Z),Z.values}buildBody({options:{body:$,headers:w}}){if(!$)return{bodyHeaders:void 0,body:void 0};let G=D([w]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&G.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:g6($)};else return B(this,N5,"f").call(this,{body:$,headers:G})}}E3=g,N5=new WeakMap,q3=new WeakSet,Cf=function(){return this.baseURL!=="https://api.openai.com/v1"};g.OpenAI=E3;g.DEFAULT_TIMEOUT=600000;g.OpenAIError=k;g.APIError=Z0;g.APIConnectionError=O$;g.APIConnectionTimeoutError=L$;g.APIUserAbortError=T0;g.NotFoundError=Q9;g.ConflictError=N9;g.RateLimitError=K9;g.BadRequestError=T9;g.AuthenticationError=M9;g.InternalServerError=P9;g.PermissionDeniedError=f9;g.UnprocessableEntityError=z9;g.InvalidWebhookSignatureError=S1;g.toFile=p6;g.Completions=Sw;g.Chat=S$;g.Embeddings=jw;g.Files=yw;g.Images=_w;g.Audio=I1;g.Moderations=vw;g.Models=gw;g.FineTuning=z1;g.Graders=g$;g.VectorStores=W$;g.Webhooks=iw;g.Beta=b1;g.Batches=Dw;g.Uploads=h$;g.Responses=u$;g.Realtime=v$;g.Conversations=x$;g.Evals=_$;g.Containers=b$;class U3{client;constructor($){this.client=new g({...$,maxRetries:0})}async*stream($){let w=await this.client.chat.completions.create({model:$.model,messages:jL($.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),G=new Set;for await(let W of w){let Y=W.choices[0]?.delta,Z=Y?.reasoning_content;if(Z)yield{type:"reasoning_delta",text:Z};if(Y?.content)yield{type:"text_delta",text:Y.content};for(let X of Y?.tool_calls??[]){let J=X.index;if(!G.has(J))G.add(J),yield{type:"tool_call_start",index:J,callId:X.id??`call_${J}`,name:X.function?.name??""};if(X.function?.arguments)yield{type:"tool_call_delta",index:J,argumentsDelta:X.function.arguments}}if(W.usage)yield{type:"usage",usage:{inputTokens:W.usage.prompt_tokens,outputTokens:W.usage.completion_tokens}}}for(let W of G)yield{type:"tool_call_end",index:W};yield{type:"done"}}}function jL($){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 G={role:"assistant",content:w.content||null};if(w.toolCalls.length)G.tool_calls=w.toolCalls.map((W)=>({id:W.callId,type:"function",function:{name:W.name,arguments:JSON.stringify(W.input)}}));return G})}import{createHash as CL,randomUUID as yf}from"node:crypto";import{appendFile as yL,chmod as If,mkdir as IL,readdir as bL,readFile as bf}from"node:fs/promises";import i$ from"node:path";var xL=/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;function xf($){return xL.test($)}function H3($){return CL("sha256").update(i$.resolve($)).digest("hex").slice(0,16)}class F3{workspace;sessionId;sessionPath;tracePath;#$=Promise.resolve();#w=!1;constructor($,w,G=yf()){this.workspace=w;this.sessionId=G;if(!xf(G))throw Error("Invalid session ID");let W=i$.join($,"sessions",H3(w));this.sessionPath=i$.join(W,`${G}.jsonl`),this.tracePath=i$.join(W,`${G}.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 G={version:1,id:yf(),timestamp:new Date().toISOString(),type:$,data:w},W=this.#$.then(async()=>{let Y=i$.dirname(this.sessionPath);await IL(Y,{recursive:!0,mode:448}),await If(Y,448),await yL(this.sessionPath,`${JSON.stringify(G)}
|
|
197
|
+
`,{encoding:"utf8",mode:384}),await If(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 $=i$.dirname(this.sessionPath),w;try{w=await bL($)}catch(W){if(W.code==="ENOENT")return[];throw W}let G=[];for(let W of w){if(!W.endsWith(".jsonl")||W.endsWith(".trace.jsonl"))continue;let Y=W.slice(0,-6);if(!xf(Y))continue;try{G.push(await this.#G(i$.join($,W),Y))}catch{}}return G.sort((W,Y)=>Y.lastActivity.localeCompare(W.lastActivity)),G}async#G($,w){let G=await bf($,"utf8"),W=0,Y,Z,X="";for(let M of G.split(`
|
|
198
|
+
`)){if(!M)continue;let f;try{f=JSON.parse(M)}catch{continue}if(f.version!==1)continue;if(f.timestamp)X=f.timestamp;switch(f.type){case"session.reset":W=0,Z=void 0,Y=void 0;break;case"session.title":{let Q=f.data;if(typeof Q?.title==="string")Y=Q.title;break}case"message":if(W++,Z===void 0){let Q=f.data;if(Q?.role==="user"&&typeof Q.content==="string")Z=Q.content}break}}let J=Y??Z,T={id:w,messageCount:W,lastActivity:X};if(J!==void 0)T.title=J;return T}async recover(){let $=[],w=[],G,W,Y=await bf(this.sessionPath,"utf8");this.#w=!0;let Z=Y.split(`
|
|
199
|
+
`),X=-1;for(let M=Z.length-1;M>=0;M--)if(Z[M]){X=M;break}for(let M=0;M<Z.length;M++){let f=Z[M];if(!f)continue;let Q;try{Q=JSON.parse(f)}catch(N){if(M===X){w.push("Ignored incomplete final JSONL record");break}throw _f(M,N)}try{if(Q.version!==1)throw Error("unsupported schema version");if(Q.type==="session.reset")$.length=0,G=void 0,W=void 0;if(Q.type==="message"){if(!_L(Q.data))throw Error("invalid message structure");$.push(Q.data)}if(Q.type==="context.compacted"){let N=Q.data;if(typeof N?.summary!=="string")throw Error("invalid compaction record");G=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 _f(M,N)}}let J=gL($,w);for(let M of J)await this.appendMessage(M);let T={messages:$,warnings:w};if(G!==void 0)T.summary=G;if(W!==void 0)T.compactionRange=W;return T}}function _L($){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((G)=>!!G&&typeof G==="object"&&typeof G.callId==="string"&&typeof G.name==="string"&&("input"in G));return w.role==="tool"&&typeof w.callId==="string"&&typeof w.name==="string"&&typeof w.content==="string"&&typeof w.isError==="boolean"}function _f($,w){return Error(`Invalid session record at line ${$+1}: ${w instanceof Error?w.message:String(w)}`)}function gL($,w){let G=new Map,W=new Set;for(let Z of $)if(Z.role==="assistant"){if(G.size>0)throw Error("Assistant message appeared before pending tool results");for(let X of Z.toolCalls){if(W.has(X.callId))throw Error(`Duplicate tool call ID: ${X.callId}`);W.add(X.callId),G.set(X.callId,X.name)}}else if(Z.role==="tool"){if(!G.delete(Z.callId))throw Error(`Orphan tool result: ${Z.callId}`)}else if(G.size>0)throw Error(`${Z.role} message appeared before pending tool results`);if(G.size===0)return[];let Y=[];for(let[Z,X]of G){let J={role:"tool",callId:Z,name:X,content:"runtime.interrupted: tool execution did not complete before the previous process exited",isError:!0};$.push(J),Y.push(J)}return w.push(`Recovered ${G.size} interrupted tool call(s)`),Y}function gf(){return[w6,W6,$6,a8]}var vL={maxLines:20,maxValueChars:2000,maxDepth:4,maxSummaryColumns:120};function m$($){return typeof $==="object"&&$!==null&&!Array.isArray($)?$:void 0}function vf($,w){let G=m$(w?.properties),W=G?Object.keys(G).filter((Y)=>(Y in $)):[];return[...W,...Object.keys($).filter((Y)=>!W.includes(Y))]}function uL($,w){return m$(m$($?.properties)?.[w])}function hL($,w){let G=Y0($),W=Array.from(G);if(W.length<=w)return G;let Y=W.length-w;return`${W.slice(0,w).join("")}… [${Y} characters omitted]`}function z5($,w){if(typeof $==="string")return hL($,w.maxValueChars);if($===null)return"null";if(typeof $==="number"||typeof $==="boolean"||typeof $==="bigint")return String($);if($===void 0)return"undefined";return}function K5($,w={}){let G={...vL,...w},W=Y0($.name);try{let Y=[],Z=new WeakSet,X=Math.max(0,G.maxLines),J=(N)=>{if(Y.length<=X)Y.push(N)},T=(N,z,K,P,q)=>{if(Y.length>X)return;let V=q===void 0?void 0:Y0(q),E=z5(N,G);if(E!==void 0){let S=E.split(`
|
|
200
|
+
`);if(V!==void 0&&S.length===1)J(`${P}${V}: ${E}`);else if(V!==void 0){J(`${P}${V}:`);for(let _ of S)J(`${P} ${_}`)}else for(let _ of S)J(`${P}${_}`);return}if(K>=G.maxDepth){J(`${P}${V===void 0?"":`${V}: `}[max depth]`);return}if(typeof N!=="object"||N===null){J(`${P}${V===void 0?"":`${V}: `}${Y0(String(N))}`);return}if(Z.has(N)){J(`${P}${V===void 0?"":`${V}: `}[circular]`);return}if(Z.add(N),Array.isArray(N)){if(N.length===0){J(`${P}${V===void 0?"":`${V}: `}[]`);return}if(V!==void 0)J(`${P}${V}:`);let S=V===void 0?P:`${P} `,_=m$(z?.items);for(let s of N){if(Y.length>X)break;let e=z5(s,G);if(e!==void 0&&!e.includes(`
|
|
201
|
+
`))J(`${S}- ${e}`);else J(`${S}-`),T(s,_,K+1,`${S} `)}return}let O=N,A=vf(O,z);if(A.length===0){J(`${P}${V===void 0?"":`${V}: `}{}`);return}if(V!==void 0)J(`${P}${V}:`);let R=V===void 0?P:`${P} `;for(let S of A){if(Y.length>X)break;T(O[S],uL(z,S),K+1,R,S)}};T($.input,m$($.inputSchema),0,"");let M=Y;if(M.length>X)M=X===0?[]:[...M.slice(0,X-1),"... [1 or more lines omitted]"];let f=W,Q=m$($.input);if(Q)for(let N of vf(Q,m$($.inputSchema))){let z=z5(Q[N],G);if(z!==void 0){f=`${Y0(N)}: ${z.split(`
|
|
202
|
+
`)[0]??""}`;break}}else{let N=z5($.input,G);if(N!==void 0)f=N.split(`
|
|
203
|
+
`)[0]??W}return{lines:M,summary:Tw(Y0(f),G.maxSummaryColumns)}}catch{return{lines:["[unavailable]"],summary:Tw(W,G.maxSummaryColumns)}}}class O3{registry;permissions;events;workspace;timeoutMs;constructor($,w,G,W,Y=60000){this.registry=$;this.permissions=w;this.events=G;this.workspace=W;this.timeoutMs=Y}setRegistry($){this.registry=$}async execute($,w,G){await this.events.emit("tool.requested",{name:$.name,callId:$.callId},G);let W=this.registry.get($.name);if(!W)return{content:`tool.not_found: ${$.name}`,isError:!0};let Y=this.registry.validate($.name,$.input);if(!Y.valid)return{content:`tool.invalid_input: ${Y.errors}`,isError:!0};if(["read","write","edit"].includes($.name))try{await J1(this.workspace,$.input.path)}catch(N){return{content:`permission.workspace_denied: ${N instanceof Error?N.message:String(N)}`,isError:!0}}let Z=await this.permissions.authorize(W,$,w);if(await this.events.emit("permission.requested",{name:$.name,callId:$.callId,risk:Z.risk,allowed:Z.allowed},G),!Z.allowed)return{content:`permission.denied: ${$.name} was not authorized`,isError:!0};let X=K5({name:W.name,risk:Z.risk,inputSchema:W.inputSchema,input:$.input});await this.events.emit("tool.started",{name:$.name,callId:$.callId,summary:X.summary},G);let J=Date.now(),T,M=new AbortController,f=()=>M.abort(w.reason);if(w.aborted)f();else w.addEventListener("abort",f,{once:!0});let Q=setTimeout(()=>M.abort(Error(`Tool timed out after ${this.timeoutMs}ms`)),this.timeoutMs);try{let N=M.signal.aborted?Promise.reject(M.signal.reason):new Promise((z,K)=>{M.signal.addEventListener("abort",()=>K(M.signal.reason),{once:!0})});T=await Promise.race([W.execute($.input,{workspace:this.workspace,signal:M.signal}),N]),T={...T,content:d$(T.content,50000)}}catch(N){T={content:`${!w.aborted&&M.signal.aborted?"tool.timeout (abort requested; tools must cooperate)":"tool.internal_error"}: ${N instanceof Error?N.message:String(N)}`,isError:!0}}finally{clearTimeout(Q),w.removeEventListener("abort",f)}return await this.events.emit("tool.completed",{name:$.name,callId:$.callId,isError:T.isError??!1,durationMs:Date.now()-J},G),T}}import{createHash as iL,randomUUID as mL}from"node:crypto";import{readdir as lL,readFile as cL,realpath as dL,stat as uf}from"node:fs/promises";import hf from"node:path";import{pathToFileURL as L3}from"node:url";class G8{builtins;events;auto;trust;importer;static defaultImporter=($)=>import($);#$=new Map;constructor($,w,G,W,Y=G8.defaultImporter){this.builtins=$;this.events=w;this.auto=G;this.trust=W;this.importer=Y}async load($,w){let G=w?.clone()??new Z1(this.builtins),W=[],Y=[];for(let Z of $)try{let X=await dL(Z.path),J=await uf(X),T=J.isDirectory()?X:hf.dirname(X);if(Z.project&&!this.auto){if(!(this.trust?await this.trust(T):!1)){await this.events.emit("plugin.unavailable",{path:T,reason:"not trusted"});continue}}let M=J.isDirectory()?(await lL(X)).filter((f)=>f.endsWith(".ts")).sort().map((f)=>hf.join(X,f)):X.endsWith(".ts")?[X]:[];for(let f of M)try{let Q=await this.importPlugin(f);if(!nL(Q.default))throw Error("default export is not a ToolDefinition");G.register(Q.default,{kind:"local",path:f}),W.push(Q.default.name),await this.events.emit("plugin.loaded",{path:f,name:Q.default.name})}catch(Q){Y.push(f),await this.events.emit("plugin.failed",{path:f,message:Q instanceof Error?Q.message:String(Q)})}}catch(X){if(X.code!=="ENOENT")Y.push(Z.path),await this.events.emit("plugin.failed",{path:Z.path,message:X instanceof Error?X.message:String(X)})}return{registry:G,loaded:W,failed:Y}}async importPlugin($){if(this.importer!==G8.defaultImporter){let X=(await uf($)).mtimeMs;return this.importer(`${L3($).href}?mtime=${X}`)}let w=await cL($,"utf8"),G=iL("sha256").update(w).digest("hex"),W=this.#$.get($);if(W?.hash===G)return W.module;let Y=`// coden-source: ${L3($).href}
|
|
204
|
+
// coden-load: ${mL()}
|
|
205
205
|
${w}
|
|
206
|
-
//# sourceURL=${
|
|
207
|
-
`,
|
|
208
|
-
|
|
209
|
-
|
|
206
|
+
//# sourceURL=${L3($).href}
|
|
207
|
+
`,Z=await this.importer(`data:text/typescript;base64,${Buffer.from(Y).toString("base64")}`);return this.#$.set($,{hash:G,module:Z}),Z}}function nL($){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 mf="0.1.5";function pL($,w){let G=Number.isFinite(w)?Math.max(0,Math.min($.length,Math.trunc(w))):0,W=0;for(let Y of H1($)){let Z=W+Y.length;if(G<Z)return W;W=Z}return W}function tL($){let w=[],G=0;while(G<=$.length){let W=$.indexOf(`
|
|
208
|
+
`,G);if(W===-1){w.push({text:$.slice(G),start:G});break}if(w.push({text:$.slice(G,W),start:G}),G=W+1,G===$.length){w.push({text:"",start:G});break}}if(w.length===0)w.push({text:"",start:0});return w}function rL($,w){let G=[],W=w;for(let Y of H1($))G.push({text:Y,offset:W}),W+=Y.length;return G}function lf($,w,G,W,Y,Z){return{prefix:$,start:w,end:G,text:W,width:Y,positions:Z}}function W8($,w,G,W=4){let Y=pL($,w),Z=Number.isFinite(G)?Math.trunc(G):0,X=Math.max(1,Z-2),J=Number.isFinite(W)&&W>0?Math.trunc(W):4,T=[],M=0,f=0,Q=2,N=!1;for(let z of tL($)){let K=rL(z.text,z.start);if(K.length===0){let S=[{offset:z.start,column:0}];if(T.push(lf(M===0?"> ":" ",z.start,z.start,"",0,S)),!N&&Y===z.start)f=T.length-1,Q=2,N=!0;M+=1;continue}let P=K[0];if(!P)continue;let q=P.offset,V="",E=0,O=q,A=[{offset:q,column:0}],R=()=>{if(T.push(lf(M===0?"> ":" ",q,O,V,E,A)),!N&&Y===O)f=T.length-1,Q=2+E,N=!0;M+=1};for(let S of K){let _=S.text==="\t"?J-E%J:Jw(S.text);if(V.length>0&&E+_>X)R(),q=S.offset,V="",E=0,O=q,A=[{offset:q,column:0}];let e=S.text==="\t"?J-E%J:Jw(S.text);if(!N&&Y===S.offset&&A.length===1&&V.length===0)f=T.length,Q=2,N=!0;let v=A[A.length-1];if(!v||v.offset!==S.offset||v.column!==E)A.push({offset:S.offset,column:E});if(V+=S.text==="\t"?" ".repeat(e):S.text,E+=e,O=S.offset+S.text.length,A.push({offset:O,column:E}),!N&&Y===O)f=T.length,Q=2+E,N=!0}R()}if(!N){let z=T[T.length-1];f=z?T.length-1:0,Q=2+(z?z.positions[z.positions.length-1]?.column??0:0)}return{rows:T,cursor:{row:f,column:Q}}}function cf($,w){let G=$.positions[0]??{offset:$.start,column:0};for(let W of $.positions)if(Math.abs(W.column-w)<Math.abs(G.column-w))G=W;return G.offset}function G1($,w){let G=Number.isFinite(w)?Math.max(0,Math.min($.length,Math.trunc(w))):0,W=0;for(let Y of H1($)){let Z=W+Y.length;if(G<Z)return W;W=Z}return W}function df($){let w=[0],G=0;for(let W of H1($))G+=W.length,w.push(G);return w}function P5($){for(let w of $)if(!/\s/u.test(w))return!1;return $.length>0}function sL($){let w=0;for(let G=$.length-1;G>=0&&$[G]==="\\";G--)w++;return w}function D3($,w,G){let W=G1($,w);if(G)return{type:"continue",text:`${$.slice(0,W)}
|
|
209
|
+
${$.slice(W)}`,cursor:W+1};if(W<$.length)return{type:"submit",text:$};let Y=sL($);if(Y===0)return{type:"submit",text:$};let Z=$.slice(0,$.length-Y)+"\\".repeat(Math.floor(Y/2));if(Y%2===1)return{type:"continue",text:`${Z}
|
|
210
|
+
`,cursor:Z.length+1};return{type:"submit",text:Z}}class k3{_text="";_cursor=0;preferredColumn;_entries;historyIndex=null;savedDraft=null;constructor($=[]){this._entries=[...$]}get text(){return this._text}get cursor(){return this._cursor}get entries(){return this._entries}setDraft($,w=$.length){this._text=$,this._cursor=G1($,w)}resetPreferredColumn(){this.preferredColumn=void 0}boundaries(){return df(this._text)}loadHistory($){let w=this._entries[$];if(w===void 0)return;this.historyIndex=$,this.setDraft(w,w.length),this.resetPreferredColumn()}insert($){if(!$)return;let w=G1(this._text,this._cursor);this._text=`${this._text.slice(0,w)}${$}${this._text.slice(w)}`,this._cursor=w+$.length,this.resetPreferredColumn()}backspace(){let $=this.boundaries(),w=G1(this._text,this._cursor),G=$.indexOf(w);if(G<=0)return;let W=$[G-1]??0;this._text=`${this._text.slice(0,W)}${this._text.slice(w)}`,this._cursor=G1(this._text,w),this.resetPreferredColumn()}deleteForward(){let $=this.boundaries(),w=G1(this._text,this._cursor),G=$.indexOf(w);if(G<0||G>=$.length-1)return;let W=$[G+1]??this._text.length;this._text=`${this._text.slice(0,w)}${this._text.slice(W)}`,this._cursor=w,this.resetPreferredColumn()}moveHorizontal($){let w=this.boundaries(),G=G1(this._text,this._cursor),W=w.indexOf(G);if(W<0)return;let Y=W+$;if(Y<0||Y>=w.length)return;this._cursor=w[Y]??G,this.resetPreferredColumn()}moveVertical($,w){let G=W8(this._text,this._cursor,w),W=Math.max(0,G.cursor.column-2);if(this.preferredColumn===void 0)this.preferredColumn=W;let Y=G.cursor.row+$;if(Y>=0&&Y<G.rows.length){let Z=G.rows[Y];if(Z)this._cursor=cf(Z,this.preferredColumn);return}if($<0)this.historyPrevious();else this.historyNext()}historyPrevious(){if(this._entries.length===0)return;if(this.historyIndex===null){this.savedDraft={text:this._text,cursor:this._cursor},this.loadHistory(this._entries.length-1);return}if(this.historyIndex>0)this.loadHistory(this.historyIndex-1)}historyNext(){if(this.historyIndex===null)return;if(this.historyIndex<this._entries.length-1){this.loadHistory(this.historyIndex+1);return}let $=this.savedDraft??{text:"",cursor:0};this.historyIndex=null,this.setDraft($.text,$.cursor),this.resetPreferredColumn()}moveLineBoundary($){let w=G1(this._text,this._cursor),G=$==="start"?this._text.lastIndexOf(`
|
|
211
|
+
`,Math.max(0,w-1))+1:(()=>{let W=this._text.indexOf(`
|
|
212
|
+
`,w);return W===-1?this._text.length:W})();if(G===w)return;this._cursor=G,this.resetPreferredColumn()}moveWord($){let w=H1(this._text),G=df(this._text),W=G.indexOf(G1(this._text,this._cursor));if(W<0)return;if($<0){while(W>0&&P5(w[W-1]??""))W--;while(W>0&&!P5(w[W-1]??""))W--}else{while(W<w.length&&!P5(w[W]??""))W++;while(W<w.length&&P5(w[W]??""))W++}let Y=G[W]??this._text.length;if(Y===this._cursor)return;this._cursor=Y,this.resetPreferredColumn()}deleteWordBackward(){let $=this._cursor;this.moveWord(-1);let w=this._cursor;if(w===$)return;this._text=`${this._text.slice(0,w)}${this._text.slice($)}`,this._cursor=w,this.resetPreferredColumn()}deleteToLineBoundary($){let w=G1(this._text,this._cursor),G=$==="start"?this._text.lastIndexOf(`
|
|
213
|
+
`,Math.max(0,w-1))+1:(()=>{let W=this._text.indexOf(`
|
|
214
|
+
`,w);return W===-1?this._text.length:W})();if(G===w)return;if($==="start")this._text=`${this._text.slice(0,G)}${this._text.slice(w)}`,this._cursor=G;else this._text=`${this._text.slice(0,w)}${this._text.slice(G)}`,this._cursor=w;this.resetPreferredColumn()}enter($){let w=D3(this._text,this._cursor,$);if(w.type==="continue")return this._text=w.text,this._cursor=G1(w.text,w.cursor),this.resetPreferredColumn(),{type:"continue"};return w}interrupt(){if(!this._text)return"eof";return this.reset(),"cleared"}endOfInput(){if(!this._text)return"eof";return this.deleteForward(),"deleted"}remember($){if(!$.trim())return;if(this._entries[this._entries.length-1]===$)return;this._entries.push($)}reset(){this._text="",this._cursor=0,this.preferredColumn=void 0,this.historyIndex=null,this.savedDraft=null}}var A3=2000;function aL($,w){let G=$.replace(/\s+/g," ").trim();return G.length<=w?G:`${G.slice(0,w-1)}…`}function oL($){let w=new Date($);if(Number.isNaN(w.getTime()))return $;let G=(W)=>String(W).padStart(2,"0");return`${w.getFullYear()}-${G(w.getMonth()+1)}-${G(w.getDate())} ${G(w.getHours())}:${G(w.getMinutes())}`}function S3($,w){if($.length===0)return`No sessions found.
|
|
215
|
+
`;let G=$.map((Y)=>{let Z=Y.title?aL(Y.title,40):"(no title)",X=Y.messageCount===0?"new session":`${Y.messageCount} messages`,J=Y.id===w?" *":"";return`${Y.id}${J} ${Z} (${X}, ${oL(Y.lastActivity)})`}),W=w?`Current session: ${w}
|
|
216
|
+
`:"";return`${G.join(`
|
|
210
217
|
`)}
|
|
211
|
-
${
|
|
212
|
-
`),J=
|
|
213
|
-
${
|
|
218
|
+
${W}`}function nf($,w,G,W=80){let Y=K5({name:$.name,risk:G,inputSchema:$.inputSchema,input:w.input},{maxLines:1/0,maxValueChars:1/0,maxDepth:1/0}),Z=`${G.toUpperCase()} ${$.name}`,X=Y.lines.map((M)=>` ${M}`).join(`
|
|
219
|
+
`),J=G==="dangerous"?"[y]es / [N]o":"[y]es / [s]ession / [N]o",T=eL(W);return`${T}
|
|
220
|
+
${Z}
|
|
214
221
|
|
|
215
|
-
${
|
|
222
|
+
${X}
|
|
216
223
|
${T}
|
|
217
|
-
Allow? ${J}: `}function
|
|
224
|
+
Allow? ${J}: `}function eL($){return"─".repeat(Math.max(1,$))}function pf($,w){let G=(Z)=>Z.role==="user"||Z.role==="assistant",W=[`Resumed session ${$} (${w.length} messages).`];for(let Z of w.filter(G))W.push(Z.role==="user"?$D(Z.content):wD(Z.content));let Y=WD(w);if(Y)W.push(Y);return W.join(`
|
|
218
225
|
|
|
219
|
-
`)}function
|
|
220
|
-
`).map((w,
|
|
221
|
-
`)}function
|
|
222
|
-
`)?
|
|
223
|
-
`}…(已省略 ${
|
|
224
|
-
`)
|
|
226
|
+
`)}function $D($){return $.split(`
|
|
227
|
+
`).map((w,G)=>G===0?`> ${w}`:` ${w}`).join(`
|
|
228
|
+
`)}function wD($){let{text:w,omitted:G}=GD($),W="",Y=new k4((X)=>{W+=X});if(Y.push(w),Y.complete(),!G)return W;return`${W.endsWith(`
|
|
229
|
+
`)?W:`${W}
|
|
230
|
+
`}…(已省略 ${G} 个字符)`}function GD($){let w=[...$];return w.length<=A3?{text:$,omitted:0}:{text:w.slice(0,A3).join(""),omitted:w.length-A3}}function WD($){let w=new Map;for(let X of $)if(X.role==="assistant")for(let J of X.toolCalls)w.set(J.name,(w.get(J.name)??0)+1);if(w.size===0)return;let G=[...w.values()].reduce((X,J)=>X+J,0),W=0;for(let X of $)if(X.role==="tool"&&X.isError)W++;let Y=[...w.entries()].sort((X,J)=>J[1]-X[1]||X[0].localeCompare(J[0])).map(([X,J])=>`${X} ×${J}`).join(", "),Z=`Tools: ${G} calls — ${Y}`;return W>0?`${Z}; ${W} failed`:Z}import{StringDecoder as YD}from"node:string_decoder";import{stripVTControlCharacters as ZD}from"node:util";var XD="\x1B",JD="\x1B[200~",tf="\x1B[201~",TD=new Set(["\x1B[13;2u","\x1B[27;2;13~","\x1B\r",`\x1B
|
|
231
|
+
`]),MD=new Map([["\x1B[A","up"],["\x1B[B","down"],["\x1B[C","right"],["\x1B[D","left"],["\x1B[H","home"],["\x1B[F","end"],["\x1B[3~","delete"],["\x1B[1~","home"],["\x1B[4~","end"]]),fD=new Map([[1,"ctrl-a"],[3,"ctrl-c"],[4,"ctrl-d"],[5,"ctrl-e"],[9,"tab"],[10,"enter"],[11,"ctrl-k"],[13,"enter"],[14,"ctrl-n"],[16,"ctrl-p"],[21,"ctrl-u"],[23,"ctrl-w"],[127,"backspace"]]);function QD($){let w=$.codePointAt(0)??-1;return w>=0&&w<=8||w>=11&&w<=12||w>=14&&w<=31||w===127}function rf($){let w=$.replace(/\r\n?/g,`
|
|
232
|
+
`),G=ZD(w);return Array.from(G).filter((W)=>!QD(W)).join("")}function ND($){let w=$.codePointAt(0)??0;return w>=64&&w<=126}function zD($){return fD.get($)}class R3{decoder=new YD("utf8");pending="";inPaste=!1;pasteBuffer="";push($){let w=typeof $==="string"?$:this.decoder.write($);if(this.inPaste){if(w)this.pasteBuffer+=w;return this.consumePasteBuffer()}if(w)this.pending+=w;return this.consumeNormalBuffer()}end(){let $=this.push(this.decoder.end());if(this.inPaste){let w=rf(this.pasteBuffer);if(this.pasteBuffer="",this.inPaste=!1,w)$.push({type:"paste",text:w})}return this.pending="",$}consumePasteBuffer(){let $=[];while(this.inPaste){let w=this.pasteBuffer.indexOf(tf);if(w===-1)return $;let G=this.pasteBuffer.slice(0,w),W=this.pasteBuffer.slice(w+tf.length);this.pasteBuffer="",this.inPaste=!1;let Y=rf(G);if(Y)$.push({type:"paste",text:Y});if(W)this.pending+=W;if(!this.pending)return $;return $.concat(this.consumeNormalBuffer())}return $}consumeNormalBuffer(){let $=this.pending,w=[],G=0,W=0,Y=(Z)=>{if(Z>W)w.push({type:"text",text:$.slice(W,Z)})};while(G<$.length){let Z=$.charAt(G);if(Z!==XD){let J=zD(Z.codePointAt(0)??0);if(J!==void 0){Y(G),w.push({type:"key",key:J}),G+=1,W=G;continue}G+=1;continue}Y(G);let X=this.consumeEscape($,G);if(X.kind==="incomplete")return this.pending=$.slice(G),w;if(G=X.nextIndex,W=G,X.kind==="paste-start")return this.pending="",this.inPaste=!0,this.pasteBuffer=$.slice(G),w.concat(this.consumePasteBuffer());if(X.kind==="key")w.push({type:"key",key:X.key})}return Y($.length),this.pending="",w}consumeEscape($,w){let G=$[w+1];if(G===void 0)return{kind:"incomplete"};if(G==="["){let W=w+2;while(W<$.length&&!ND($[W]??""))W+=1;if(W>=$.length)return{kind:"incomplete"};let Y=$.slice(w,W+1);if(Y===JD)return{kind:"paste-start",nextIndex:W+1};if(Y==="\x1B[13;2u"||Y==="\x1B[27;2;13~")return{kind:"key",key:"shift-enter",nextIndex:W+1};let Z=MD.get(Y);if(Z!==void 0)return{kind:"key",key:Z,nextIndex:W+1};return{kind:"ignore",nextIndex:W+1}}if(G==="b"||G==="B")return{kind:"key",key:"alt-b",nextIndex:w+2};if(G==="f"||G==="F")return{kind:"key",key:"alt-f",nextIndex:w+2};if(G==="\r"||G===`
|
|
233
|
+
`){let W=$.slice(w,w+2);if(TD.has(W))return{kind:"key",key:"shift-enter",nextIndex:w+2};return{kind:"ignore",nextIndex:w+2}}return{kind:"ignore",nextIndex:w+2}}}var KD="\x1B[?2004h",PD="\x1B[?2004l";class B5{input;output;resizeEmitter;signalEmitter;terminate;term;state=new k3;active;disposed=!1;renderedRows=0;renderedCursorRow=0;constructor($={}){this.input=$.input??process.stdin,this.output=$.output??process.stderr,this.resizeEmitter=$.resizeEmitter??process,this.signalEmitter=$.signalEmitter??process,this.terminate=$.terminate??((w)=>process.kill(process.pid,w)),this.term=$.term}static supported($,w,G){let W=$,Y=w;return $.isTTY===!0&&Y.isTTY===!0&&typeof W.setRawMode==="function"&&(G??process.env.TERM)!=="dumb"}read(){if(this.disposed)return Promise.reject(Error("MultilineEditor is disposed"));if(this.active)return Promise.reject(Error("MultilineEditor read is already active"));return new Promise(($,w)=>{let G=new R3,W={decoder:G,resolve:$,reject:w,rawMode:this.input.isRaw,data:(Y)=>this.handleEvents(G.push(Y)),end:()=>{this.handleEvents(G.end()),this.finish({type:"eof"})},error:(Y)=>this.fail(Y),resize:()=>this.redraw(),sigint:()=>this.finish({type:"eof"}),sighup:()=>this.stopForSignal("SIGHUP"),sigterm:()=>this.stopForSignal("SIGTERM")};this.active=W,this.renderedRows=0,this.renderedCursorRow=0,this.state.reset();try{this.input.setRawMode(!0),this.input.resume(),this.output.write(KD),this.install(W),this.redraw()}catch(Y){this.fail(Y instanceof Error?Y:Error(String(Y)))}})}dispose(){this.disposed=!0,this.finish({type:"eof"})}install($){this.input.on("data",$.data),this.input.on("end",$.end),this.input.on("error",$.error),this.resizeEmitter.on("SIGWINCH",$.resize),this.signalEmitter.on("SIGINT",$.sigint),this.signalEmitter.on("SIGHUP",$.sighup),this.signalEmitter.on("SIGTERM",$.sigterm)}cleanup(){let $=this.active;if(!$)return;return this.active=void 0,this.input.removeListener("data",$.data),this.input.removeListener("end",$.end),this.input.removeListener("error",$.error),this.resizeEmitter.removeListener("SIGWINCH",$.resize),this.signalEmitter.removeListener("SIGINT",$.sigint),this.signalEmitter.removeListener("SIGHUP",$.sighup),this.signalEmitter.removeListener("SIGTERM",$.sigterm),this.output.write(PD),this.input.setRawMode($.rawMode??!1),this.input.pause(),this.renderedRows=0,this.renderedCursorRow=0,$}finish($){this.cleanup()?.resolve($)}fail($){this.cleanup()?.reject($)}stopForSignal($){this.finish({type:"eof"}),this.terminate($)}handleEvents($){if(!this.active)return;for(let w of $){if(!this.active)return;if(w.type==="text"||w.type==="paste")this.state.insert(w.text),this.redraw();else this.handleKey(w.key)}}handleKey($){if(!this.active)return;switch($){case"enter":case"shift-enter":{let w=this.state.enter($==="shift-enter");if(w.type==="submit"){this.state.remember(w.text),this.redraw(W8(w.text,w.text.length,this.columns())),this.output.write(`
|
|
234
|
+
`),this.finish({type:"submit",text:w.text});return}break}case"left":this.state.moveHorizontal(-1);break;case"right":this.state.moveHorizontal(1);break;case"up":this.state.moveVertical(-1,this.columns());break;case"down":this.state.moveVertical(1,this.columns());break;case"home":case"ctrl-a":this.state.moveLineBoundary("start");break;case"end":case"ctrl-e":this.state.moveLineBoundary("end");break;case"backspace":this.state.backspace();break;case"delete":this.state.deleteForward();break;case"ctrl-d":if(this.state.endOfInput()==="eof"){this.finish({type:"eof"});return}break;case"ctrl-c":if(this.state.interrupt()==="eof"){this.finish({type:"eof"});return}break;case"ctrl-k":this.state.deleteToLineBoundary("end");break;case"ctrl-n":this.state.historyNext();break;case"ctrl-p":this.state.historyPrevious();break;case"ctrl-u":this.state.deleteToLineBoundary("start");break;case"ctrl-w":this.state.deleteWordBackward();break;case"alt-b":this.state.moveWord(-1);break;case"alt-f":this.state.moveWord(1);break;case"tab":this.state.insert("\t");break}this.redraw()}columns(){return this.output.columns??80}redraw($=W8(this.state.text,this.state.cursor,this.columns())){if(!this.active)return;if(this.renderedRows>0){if(this.output.write("\r"),this.renderedCursorRow>0)this.output.write(`\x1B[${this.renderedCursorRow}A`);this.output.write("\x1B[J")}for(let G=0;G<$.rows.length;G++){let W=$.rows[G];if(!W)continue;if(this.output.write(`${W.prefix}${W.text}`),G<$.rows.length-1)this.output.write(`
|
|
235
|
+
`)}let w=$.rows.length-1-$.cursor.row;if(w>0)this.output.write(`\x1B[${w}A`);if(this.output.write("\r"),$.cursor.column>0)this.output.write(`\x1B[${$.cursor.column}C`);this.renderedRows=$.rows.length,this.renderedCursorRow=$.cursor.row}}class mw extends Error{}async function BD($,w){try{return await pJ($,w)}catch(G){throw new mw(`configuration: ${G instanceof Error?G.message:String(G)}`,{cause:G})}}async function of($,w){let G=process.cwd(),W=await BD(G,{...w.provider?{provider:w.provider}:{},...w.model?{model:w.model}:{},...w.maxSteps?{maxSteps:w.maxSteps}:{},plugins:w.plugin}),Y=new tG,Z=!$&&!w.print&&B5.supported(j3,process.stderr,process.env.TERM),J=(!w.auto||!$&&!w.print)&&!Z?sf({input:j3,output:process.stderr}):void 0,M=J?(a,h0)=>C3(J,a,h0):async(a,h0)=>{let l$=sf({input:j3,output:process.stderr});try{return await C3(l$,a,h0)}finally{l$.close()}},f=Z?new B5:void 0,Q=typeof w.resume==="string"?w.resume:void 0,N=new F3(W.dataDir,G,Q);if(w.resume===!0){J?.close(),d0.write(S3(await N.list()));return}let z,K,P=0,q;if(typeof w.resume==="string"){let a=await N.recover();z=a.messages,K=a.summary,P=a.compactionRange?.end??0;for(let h0 of a.warnings)process.stderr.write(`coden: ${h0}
|
|
236
|
+
`);if(!w.print)q=pf(N.sessionId,a.messages)}let V=new NW(N.tracePath,Y,()=>N.isCreated),E=new QW(Y,{verbose:w.verbose,printMode:w.print}),O;try{O=ED(W.provider)}catch(a){throw new mw(`provider: ${a instanceof Error?a.message:String(a)}`,{cause:a})}let A=gf(),R=w.auto?void 0:HD(M),S=new zW(w.auto,R),_=new Z1(A),s=new O3(_,S,Y,G),e=new dG(V5.join(t8(),"trusted-workspaces.json")),v=new G8(A,Y,w.auto,async(a)=>{if(await e.isTrusted(a))return!0;let h0=await FD(M,`Project plugins at ${a} run with full process permissions. Trust? [y/N] `);if(h0)await e.trust(a);return h0}),H0=new _G,x1=q4(G,"global",W.dataDir),W1=q4(G,"project",W.dataDir),lw=[{path:V5.join(t8(),"plugins"),project:!1},{path:V5.join(G,".coden","plugins"),project:!0},...W.plugins.map((a)=>({path:V5.resolve(G,a),project:!0}))],cw=new Map,TQ=async()=>{await new C0(x1).recover(),await new C0(W1).recover();let a=await af(H0,x1,Y,"global"),l$=w.auto||await e.isWorkspaceTrusted(G)?await af(H0,W1,Y,"project"):{loaded:[],failed:[],unavailable:!0};if(l$.unavailable)await Y.emit("plugin.unavailable",{source:"npm",scope:"project",path:W1.root,reason:"workspace is not trusted; run coden plugin install or sync after trusting"});let v3=await VD(A,a.loaded,l$.loaded,Y);for(let{scope:MQ,plugin:dw}of v3.effective){let E5=`${MQ}:${dw.version}`,Y8=cw.get(dw.packageName);if(Y8&&Y8!==E5)await Y.emit("plugin.restart_required",{source:"npm",packageName:dw.packageName,loadedIdentity:Y8,diskIdentity:E5,loadedVersion:Y8.split(":").slice(1).join(":"),diskVersion:dw.version,reason:"npm plugin metadata changed; restart CodeN to load it"});cw.set(dw.packageName,E5)}return{composed:v3,global:a,project:l$}},b3=async()=>{let a=await TQ(),h0=await v.load(lw,a.composed.registry);return _.replaceWith(h0.registry),h0};await b3();let x3=await qD(G),_3=new nG({contextWindow:W.contextWindow,reservedOutputTokens:W.reservedOutputTokens,safetyMargin:W.safetyMargin});if(K)_3.setSummary(K,P);let g3=new rG(O,_,s,_3,N,Y,{model:W.model,maxSteps:W.maxSteps,systemPrompt:"You are CodeN, a concise coding agent. Inspect before editing, use tools carefully, and verify changes."+(x3?`
|
|
225
237
|
|
|
226
238
|
Project instructions:
|
|
227
|
-
${
|
|
228
|
-
`),"";throw new
|
|
229
|
-
`),
|
|
230
|
-
`),
|
|
239
|
+
${x3}`:"")},z);try{if($){await $Q(g3,$,J);return}if(w.print)throw Error("print mode requires a prompt");await UD(g3,N,b3,_,J,f,H3(G),q)}finally{f?.dispose(),J?.close(),E.dispose(),await V.flush()}}async function VD($,w,G,W){let Y=new Z1($),Z=new Set(G.map((T)=>T.packageName)),X=[...w.map((T)=>({scope:"global",plugin:T})),...G.map((T)=>({scope:"project",plugin:T}))],J=[];for(let T of X){if(T.scope==="global"&&Z.has(T.plugin.packageName))continue;let M=Y.clone(),f={kind:"npm",pluginName:T.plugin.packageName,pluginVersion:T.plugin.version,path:T.plugin.entryPath};try{for(let Q of T.plugin.tools)M.register(Q,f);Y.replaceWith(M),J.push(T)}catch(Q){await W.emit("plugin.failed",{source:"npm",scope:T.scope,packageName:T.plugin.packageName,version:T.plugin.version,path:T.plugin.entryPath,message:`${Q instanceof Error?Q.message:String(Q)}; package skipped to preserve earlier tools`})}}return{registry:Y,effective:J}}async function af($,w,G,W){try{let Y=await $.loadScope(w);for(let Z of Y.loaded)await G.emit("plugin.loaded",{source:"npm",scope:W,packageName:Z.packageName,version:Z.version,path:Z.entryPath,tools:Z.tools.map((X)=>X.name)});for(let Z of Y.failed)await G.emit("plugin.failed",{source:"npm",scope:W,packageName:Z.packageName,path:Z.path,message:`${Z.message}; run coden plugin sync to repair the runtime`});return Y}catch(Y){let Z=Y instanceof Error?Y.message:String(Y);return await G.emit("plugin.failed",{source:"npm",scope:W,path:w.runtimeDir,message:`${Z}; run coden plugin sync to repair the runtime`}),{loaded:[],failed:[],unavailable:!0}}}async function qD($){try{return await wT($,"AGENTS.md")}catch(w){if(w.code==="ENOENT")return"";if(w.category==="permission")return process.stderr.write(`coden: ignoring AGENTS.md: ${w.message}
|
|
240
|
+
`),"";throw new mw(`project instructions: ${w instanceof Error?w.message:String(w)}`,{cause:w})}}function ED($){if($==="anthropic"){let G=process.env.CODEN_ANTHROPIC_API_KEY;if(!G)throw Error("CODEN_ANTHROPIC_API_KEY is required");return new gW({apiKey:G})}let w=process.env.CODEN_OPENAI_API_KEY;if(!w)throw Error("CODEN_OPENAI_API_KEY is required");return new U3({apiKey:w,...process.env.CODEN_OPENAI_BASE_URL?{baseURL:process.env.CODEN_OPENAI_BASE_URL}:{}})}async function UD($,w,G,W,Y,Z,X,J){d0.write(AD),d0.write(`Version: ${mf}
|
|
241
|
+
`),d0.write(`Workspace hash: ${X}
|
|
242
|
+
`),d0.write(J?`${J}
|
|
231
243
|
|
|
232
244
|
Type /help for commands.
|
|
233
245
|
`:`CodeN session ${w.sessionId}. Type /help for commands.
|
|
234
|
-
`);while(!0){let
|
|
235
|
-
`);continue}if(
|
|
236
|
-
`);continue}if(
|
|
237
|
-
`);continue}if(
|
|
238
|
-
`);continue}if(
|
|
239
|
-
`);continue}await
|
|
246
|
+
`);while(!0){let T=Z?await Z.read():await DD(async(f)=>{let Q=await C3(kD(Y),f);return Q===ef?void 0:Q});if(T.type==="eof")break;let M=LD(T.text);if(M.type==="empty")continue;if(M.type==="command"&&M.command==="/quit")break;if(M.type==="command"&&M.command==="/help"){d0.write(`/help /session /sessions /compact /reload /new /quit
|
|
247
|
+
`);continue}if(M.type==="command"&&M.command==="/sessions"){d0.write(S3(await w.list(),w.sessionId));continue}if(M.type==="command"&&M.command==="/session"){d0.write(`${w.sessionId}
|
|
248
|
+
`);continue}if(M.type==="command"&&M.command==="/compact"){await $.compact(),d0.write(`Context compacted.
|
|
249
|
+
`);continue}if(M.type==="command"&&M.command==="/new"){await $.reset(),d0.write(`Started a new conversation in this session.
|
|
250
|
+
`);continue}if(M.type==="command"&&M.command==="/reload"){let f=await G();d0.write(`Loaded: ${f.loaded.join(", ")||"none"}; failed: ${f.failed.length}; tools: ${W.list().map((Q)=>Q.name).join(", ")}
|
|
251
|
+
`);continue}if(M.type==="message")await $Q($,M.text,Y)}}function HD($){return async(w,G,W,Y)=>{let Z=d0.columns??80,X=await $(nf(w,G,W,Z),Y);return X.toLowerCase()==="y"?"allow_once":X.toLowerCase()==="s"&&W!=="dangerous"?"allow_session":"deny"}}var ef="\x04";async function C3($,w,G){let W=G?void 0:new AbortController,Y=G??W?.signal,Z=()=>W?.abort(Error("Cancelled by user"));if(W)process.once("SIGINT",Z),$.once("SIGINT",Z);try{return Y?await $.question(w,{signal:Y}):await $.question(w)}catch(X){if(Y?.aborted)return"";if(X.code==="ERR_USE_AFTER_CLOSE"||/readline was closed/.test(X.message))return ef;throw X}finally{if(W)process.removeListener("SIGINT",Z),$.removeListener("SIGINT",Z)}}async function FD($,w){return/^y(?:es)?$/i.test(await $(w))}var OD=new Set(["/help","/session","/sessions","/compact","/reload","/new","/quit"]);function LD($){if(!$.trim())return{type:"empty"};let w=$.trim();if(!$.includes(`
|
|
252
|
+
`)&&OD.has(w))return{type:"command",command:w};return{type:"message",text:$}}async function DD($){let w="",G=!0;while(!0){let W=await $(G?"> ":" ");if(W===void 0)return{type:"eof"};let Y=`${w}${W}`,Z=D3(Y,Y.length,!1);if(Z.type==="submit")return Z;w=Z.text,G=!1}}function kD($){if(!$)throw Error("Interactive input is unavailable");return $}async function $Q($,w,G){let W=new AbortController,Y=()=>W.abort(Error("Cancelled by user"));process.once("SIGINT",Y),G?.once("SIGINT",Y);try{await $.run(w,W.signal)}catch(Z){if(!W.signal.aborted)throw Z}finally{process.removeListener("SIGINT",Y),G?.removeListener("SIGINT",Y)}}function wQ($){if($!=="openai"&&$!=="anthropic")throw new cG("must be openai or anthropic");return $}function GQ($){let w=Number($);if(!Number.isInteger(w)||w<1)throw new cG("must be a positive integer");return w}function WQ($,w){return[...w,$]}var AD=`
|
|
240
253
|
██████╗ ██████╗ ██████╗ ███████╗███╗ ██╗
|
|
241
254
|
██╔════╝██╔═══██╗██╔══██╗██╔════╝████╗ ██║
|
|
242
255
|
██║ ██║ ██║██║ ██║█████╗ ██╔██╗ ██║
|
|
243
256
|
██║ ██║ ██║██║ ██║██╔══╝ ██║╚██╗██║
|
|
244
257
|
╚██████╗╚██████╔╝██████╔╝███████╗██║ ╚████║
|
|
245
258
|
╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝
|
|
246
|
-
`;function
|
|
259
|
+
`;function ZQ($,w){let G=$.command("plugin").description("manage installed npm plugins");G.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,Y)=>q5(w,async()=>{let Z=y3(Y);if(!await I3(w,"Install",W,Y))return;let X=await w.service.install(W,Z);w.stdout.write(SD(X,Z.allowScripts))})),G.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,Y)=>q5(w,async()=>{let Z=y3(Y);if(!await I3(w,"Remove",W,Y))return;await w.service.remove(W,Z),w.stdout.write(`Removed ${W} from ${Z.scope} plugins.
|
|
247
260
|
Restart CodeN to use npm plugin changes.
|
|
248
|
-
`)})),
|
|
249
|
-
`),!
|
|
250
|
-
`),process.exitCode=2}}function
|
|
251
|
-
`)}function
|
|
252
|
-
`)}function
|
|
261
|
+
`)})),G.command("list").option("--project","show only project plugins").option("--global","show only user-global plugins").action((W)=>q5(w,async()=>{if(W.project&&W.global)throw Error("plugin list accepts only one of --project or --global");let Y=await w.service.list();w.stdout.write(jD(Y,W))})),G.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)=>q5(w,async()=>{let Y=y3(W);if(!await I3(w,"Sync",`${Y.scope} plugins`,W))return;let Z=await w.service.sync(Y);w.stdout.write(RD(Y.scope,Z,Y.allowScripts))}))}function y3($){return{scope:$.global?"global":"project",allowScripts:$.allowScripts===!0}}async function I3($,w,G,W){if(!W.yes){if(!await $.confirm(`${w} ${G}? 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.
|
|
262
|
+
`),!W.yes){if(!await $.confirm("Allow npm lifecycle scripts to run with full user permissions?"))return!1}}return!0}async function q5($,w){try{await w()}catch(G){$.stderr.write(`coden: ${CD(G)}
|
|
263
|
+
`),process.exitCode=2}}function SD($,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(`
|
|
264
|
+
`)}function RD($,w,G){let W=w.slice().sort((Y,Z)=>Y.packageName.localeCompare(Z.packageName)).map((Y)=>`${Y.packageName}@${Y.version}`);return[`Synced ${$} plugins: ${W.join(", ")||"none"}`,`Lifecycle scripts: ${G?"enabled":"disabled"}`,"Restart CodeN to use npm plugin changes.",""].join(`
|
|
265
|
+
`)}function jD($,w){let G=[];if(!w.global)G.push(YQ("Project plugins",$.project));if(!w.project)G.push(YQ("Global plugins",$.global));return`${G.join(`
|
|
253
266
|
`)}
|
|
254
|
-
`}function
|
|
255
|
-
`;let
|
|
256
|
-
${
|
|
267
|
+
`}function YQ($,w){let G=w.slice().sort((Y,Z)=>Y.packageName.localeCompare(Z.packageName));if(G.length===0)return`${$}: none
|
|
268
|
+
`;let W=G.map((Y)=>{let Z=Y.shadowedByProject?" (shadowed by project)":"";return` ${Y.packageName}@${Y.version} requested ${Y.requested}; ${Y.tools.length} tool(s)${Z}`});return`${$}:
|
|
269
|
+
${W.join(`
|
|
257
270
|
`)}
|
|
258
|
-
`}function
|
|
259
|
-
`),process.exitCode=$ instanceof
|
|
271
|
+
`}function CD($){let w=$ instanceof Error?$.message:String($);for(let G of Object.values(process.env)){if(!G||G.length<8)continue;w=w.split(G).join("[redacted]")}return w}function _D($={}){let w=$.confirm??vD,G=$.pluginService??gD(w),W=new GY().name("coden").description("CodeN \u2014 a minimal coding agent").version(JT).argument("[prompt]","task to execute").option("-p, --print","non-interactive print mode",!1).option("--provider <provider>","openai or anthropic",wQ).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",GQ).option("--plugin <path>","additional local TypeScript plugin or directory",WQ,[]).action((Y,Z)=>of(Y,Z));return ZQ(W,{service:G,confirm:w,stdout:process.stdout,stderr:process.stderr}),W}function gD($){let w=process.cwd(),G=new lG(w,ZY(),new C5,new xG,XT()),W=new R5(ID.join(YY(),"trusted-workspaces.json"));return new JQ(G,w,W,$)}class JQ{service;workspace;trustStore;confirm;constructor($,w,G,W){this.service=$;this.workspace=w;this.trustStore=G;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 yD(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 vD($){let w=bD({input:process.stdin,output:process.stderr});try{let G=await w.question(`${$} [y/N] `);return/^y(?:es)?$/i.test(G)}finally{w.close()}}function uD(){let $=process.argv[1];if(!$)return!1;try{return XQ(xD(import.meta.url))===XQ($)}catch{return!1}}if(uD())_D().parseAsync().catch(($)=>{process.stderr.write(`coden: ${$ instanceof Error?$.message:String($)}
|
|
272
|
+
`),process.exitCode=$ instanceof mw?2:1});export{_D as createCliProgram};
|