agentlogs 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +36 -36
- package/package.json +3 -3
- package/src/index.ts +0 -82
package/dist/index.js
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as
|
|
3
|
-
`)}displayWidth(
|
|
4
|
-
`+" ".repeat(Y
|
|
5
|
-
${
|
|
6
|
-
`)}}function
|
|
2
|
+
import{createRequire as D8}from"node:module";var W8=Object.create;var{getPrototypeOf:q8,defineProperty:Q5,getOwnPropertyNames:$8}=Object;var B8=Object.prototype.hasOwnProperty;var L8=(X,Y,J)=>{J=X!=null?W8(q8(X)):{};let Q=Y||!X||!X.__esModule?Q5(J,"default",{value:X,enumerable:!0}):J;for(let _ of $8(X))if(!B8.call(Q,_))Q5(Q,_,{get:()=>X[_],enumerable:!0});return Q};var x0=(X,Y)=>()=>(Y||X((Y={exports:{}}).exports,Y),Y.exports);var K8=(X,Y)=>{for(var J in Y)Q5(X,J,{get:Y[J],enumerable:!0,configurable:!0,set:(Q)=>Y[J]=()=>Q})};var K1=D8(import.meta.url);var D1=x0((E8)=>{class _5 extends Error{constructor(X,Y,J){super(J);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=Y,this.exitCode=X,this.nestedError=void 0}}class Q9 extends _5{constructor(X){super(1,"commander.invalidArgument",X);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}E8.CommanderError=_5;E8.InvalidArgumentError=Q9});var b1=x0((A8)=>{var{InvalidArgumentError:U8}=D1();class _9{constructor(X,Y){switch(this.description=Y||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,X[0]){case"<":this.required=!0,this._name=X.slice(1,-1);break;case"[":this.required=!1,this._name=X.slice(1,-1);break;default:this.required=!0,this._name=X;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(X,Y){if(Y===this.defaultValue||!Array.isArray(Y))return[X];return Y.push(X),Y}default(X,Y){return this.defaultValue=X,this.defaultValueDescription=Y,this}argParser(X){return this.parseArg=X,this}choices(X){return this.argChoices=X.slice(),this.parseArg=(Y,J)=>{if(!this.argChoices.includes(Y))throw new U8(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(Y,J);return Y},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function M8(X){let Y=X.name()+(X.variadic===!0?"...":"");return X.required?"<"+Y+">":"["+Y+"]"}A8.Argument=_9;A8.humanReadableArgName=M8});var H5=x0((z8)=>{var{humanReadableArgName:R8}=b1();class H9{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(X){this.helpWidth=this.helpWidth??X.helpWidth??80}visibleCommands(X){let Y=X.commands.filter((Q)=>!Q._hidden),J=X._getHelpCommand();if(J&&!J._hidden)Y.push(J);if(this.sortSubcommands)Y.sort((Q,_)=>{return Q.name().localeCompare(_.name())});return Y}compareOptions(X,Y){let J=(Q)=>{return Q.short?Q.short.replace(/^-/,""):Q.long.replace(/^--/,"")};return J(X).localeCompare(J(Y))}visibleOptions(X){let Y=X.options.filter((Q)=>!Q.hidden),J=X._getHelpOption();if(J&&!J.hidden){let Q=J.short&&X._findOption(J.short),_=J.long&&X._findOption(J.long);if(!Q&&!_)Y.push(J);else if(J.long&&!_)Y.push(X.createOption(J.long,J.description));else if(J.short&&!Q)Y.push(X.createOption(J.short,J.description))}if(this.sortOptions)Y.sort(this.compareOptions);return Y}visibleGlobalOptions(X){if(!this.showGlobalOptions)return[];let Y=[];for(let J=X.parent;J;J=J.parent){let Q=J.options.filter((_)=>!_.hidden);Y.push(...Q)}if(this.sortOptions)Y.sort(this.compareOptions);return Y}visibleArguments(X){if(X._argsDescription)X.registeredArguments.forEach((Y)=>{Y.description=Y.description||X._argsDescription[Y.name()]||""});if(X.registeredArguments.find((Y)=>Y.description))return X.registeredArguments;return[]}subcommandTerm(X){let Y=X.registeredArguments.map((J)=>R8(J)).join(" ");return X._name+(X._aliases[0]?"|"+X._aliases[0]:"")+(X.options.length?" [options]":"")+(Y?" "+Y:"")}optionTerm(X){return X.flags}argumentTerm(X){return X.name()}longestSubcommandTermLength(X,Y){return Y.visibleCommands(X).reduce((J,Q)=>{return Math.max(J,this.displayWidth(Y.styleSubcommandTerm(Y.subcommandTerm(Q))))},0)}longestOptionTermLength(X,Y){return Y.visibleOptions(X).reduce((J,Q)=>{return Math.max(J,this.displayWidth(Y.styleOptionTerm(Y.optionTerm(Q))))},0)}longestGlobalOptionTermLength(X,Y){return Y.visibleGlobalOptions(X).reduce((J,Q)=>{return Math.max(J,this.displayWidth(Y.styleOptionTerm(Y.optionTerm(Q))))},0)}longestArgumentTermLength(X,Y){return Y.visibleArguments(X).reduce((J,Q)=>{return Math.max(J,this.displayWidth(Y.styleArgumentTerm(Y.argumentTerm(Q))))},0)}commandUsage(X){let Y=X._name;if(X._aliases[0])Y=Y+"|"+X._aliases[0];let J="";for(let Q=X.parent;Q;Q=Q.parent)J=Q.name()+" "+J;return J+Y+" "+X.usage()}commandDescription(X){return X.description()}subcommandDescription(X){return X.summary()||X.description()}optionDescription(X){let Y=[];if(X.argChoices)Y.push(`choices: ${X.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if(X.defaultValue!==void 0){if(X.required||X.optional||X.isBoolean()&&typeof X.defaultValue==="boolean")Y.push(`default: ${X.defaultValueDescription||JSON.stringify(X.defaultValue)}`)}if(X.presetArg!==void 0&&X.optional)Y.push(`preset: ${JSON.stringify(X.presetArg)}`);if(X.envVar!==void 0)Y.push(`env: ${X.envVar}`);if(Y.length>0){let J=`(${Y.join(", ")})`;if(X.description)return`${X.description} ${J}`;return J}return X.description}argumentDescription(X){let Y=[];if(X.argChoices)Y.push(`choices: ${X.argChoices.map((J)=>JSON.stringify(J)).join(", ")}`);if(X.defaultValue!==void 0)Y.push(`default: ${X.defaultValueDescription||JSON.stringify(X.defaultValue)}`);if(Y.length>0){let J=`(${Y.join(", ")})`;if(X.description)return`${X.description} ${J}`;return J}return X.description}formatItemList(X,Y,J){if(Y.length===0)return[];return[J.styleTitle(X),...Y,""]}groupItems(X,Y,J){let Q=new Map;return X.forEach((_)=>{let H=J(_);if(!Q.has(H))Q.set(H,[])}),Y.forEach((_)=>{let H=J(_);if(!Q.has(H))Q.set(H,[]);Q.get(H).push(_)}),Q}formatHelp(X,Y){let J=Y.padWidth(X,Y),Q=Y.helpWidth??80;function _(B,D){return Y.formatItem(B,J,D,Y)}let H=[`${Y.styleTitle("Usage:")} ${Y.styleUsage(Y.commandUsage(X))}`,""],G=Y.commandDescription(X);if(G.length>0)H=H.concat([Y.boxWrap(Y.styleCommandDescription(G),Q),""]);let W=Y.visibleArguments(X).map((B)=>{return _(Y.styleArgumentTerm(Y.argumentTerm(B)),Y.styleArgumentDescription(Y.argumentDescription(B)))});if(H=H.concat(this.formatItemList("Arguments:",W,Y)),this.groupItems(X.options,Y.visibleOptions(X),(B)=>B.helpGroupHeading??"Options:").forEach((B,D)=>{let V=B.map((j)=>{return _(Y.styleOptionTerm(Y.optionTerm(j)),Y.styleOptionDescription(Y.optionDescription(j)))});H=H.concat(this.formatItemList(D,V,Y))}),Y.showGlobalOptions){let B=Y.visibleGlobalOptions(X).map((D)=>{return _(Y.styleOptionTerm(Y.optionTerm(D)),Y.styleOptionDescription(Y.optionDescription(D)))});H=H.concat(this.formatItemList("Global Options:",B,Y))}return this.groupItems(X.commands,Y.visibleCommands(X),(B)=>B.helpGroup()||"Commands:").forEach((B,D)=>{let V=B.map((j)=>{return _(Y.styleSubcommandTerm(Y.subcommandTerm(j)),Y.styleSubcommandDescription(Y.subcommandDescription(j)))});H=H.concat(this.formatItemList(D,V,Y))}),H.join(`
|
|
3
|
+
`)}displayWidth(X){return G9(X).length}styleTitle(X){return X}styleUsage(X){return X.split(" ").map((Y)=>{if(Y==="[options]")return this.styleOptionText(Y);if(Y==="[command]")return this.styleSubcommandText(Y);if(Y[0]==="["||Y[0]==="<")return this.styleArgumentText(Y);return this.styleCommandText(Y)}).join(" ")}styleCommandDescription(X){return this.styleDescriptionText(X)}styleOptionDescription(X){return this.styleDescriptionText(X)}styleSubcommandDescription(X){return this.styleDescriptionText(X)}styleArgumentDescription(X){return this.styleDescriptionText(X)}styleDescriptionText(X){return X}styleOptionTerm(X){return this.styleOptionText(X)}styleSubcommandTerm(X){return X.split(" ").map((Y)=>{if(Y==="[options]")return this.styleOptionText(Y);if(Y[0]==="["||Y[0]==="<")return this.styleArgumentText(Y);return this.styleSubcommandText(Y)}).join(" ")}styleArgumentTerm(X){return this.styleArgumentText(X)}styleOptionText(X){return X}styleArgumentText(X){return X}styleSubcommandText(X){return X}styleCommandText(X){return X}padWidth(X,Y){return Math.max(Y.longestOptionTermLength(X,Y),Y.longestGlobalOptionTermLength(X,Y),Y.longestSubcommandTermLength(X,Y),Y.longestArgumentTermLength(X,Y))}preformatted(X){return/\n[^\S\r\n]/.test(X)}formatItem(X,Y,J,Q){let H=" ".repeat(2);if(!J)return H+X;let G=X.padEnd(Y+X.length-Q.displayWidth(X)),W=2,$=(this.helpWidth??80)-Y-W-2,B;if($<this.minWidthToWrap||Q.preformatted(J))B=J;else B=Q.boxWrap(J,$).replace(/\n/g,`
|
|
4
|
+
`+" ".repeat(Y+W));return H+G+" ".repeat(W)+B.replace(/\n/g,`
|
|
5
|
+
${H}`)}boxWrap(X,Y){if(Y<this.minWidthToWrap)return X;let J=X.split(/\r\n|\n/),Q=/[\s]*[^\s]+/g,_=[];return J.forEach((H)=>{let G=H.match(Q);if(G===null){_.push("");return}let W=[G.shift()],q=this.displayWidth(W[0]);G.forEach(($)=>{let B=this.displayWidth($);if(q+B<=Y){W.push($),q+=B;return}_.push(W.join(""));let D=$.trimStart();W=[D],q=this.displayWidth(D)}),_.push(W.join(""))}),_.join(`
|
|
6
|
+
`)}}function G9(X){let Y=/\x1b\[\d*(;\d*)*m/g;return X.replace(Y,"")}z8.Help=H9;z8.stripColor=G9});var G5=x0((O8)=>{var{InvalidArgumentError:I8}=D1();class q9{constructor(X,Y){this.flags=X,this.description=Y||"",this.required=X.includes("<"),this.optional=X.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(X),this.mandatory=!1;let J=f8(X);if(this.short=J.shortFlag,this.long=J.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(X,Y){return this.defaultValue=X,this.defaultValueDescription=Y,this}preset(X){return this.presetArg=X,this}conflicts(X){return this.conflictsWith=this.conflictsWith.concat(X),this}implies(X){let Y=X;if(typeof X==="string")Y={[X]:!0};return this.implied=Object.assign(this.implied||{},Y),this}env(X){return this.envVar=X,this}argParser(X){return this.parseArg=X,this}makeOptionMandatory(X=!0){return this.mandatory=!!X,this}hideHelp(X=!0){return this.hidden=!!X,this}_collectValue(X,Y){if(Y===this.defaultValue||!Array.isArray(Y))return[X];return Y.push(X),Y}choices(X){return this.argChoices=X.slice(),this.parseArg=(Y,J)=>{if(!this.argChoices.includes(Y))throw new I8(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(Y,J);return Y},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return W9(this.name().replace(/^no-/,""));return W9(this.name())}helpGroup(X){return this.helpGroupHeading=X,this}is(X){return this.short===X||this.long===X}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class $9{constructor(X){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,X.forEach((Y)=>{if(Y.negate)this.negativeOptions.set(Y.attributeName(),Y);else this.positiveOptions.set(Y.attributeName(),Y)}),this.negativeOptions.forEach((Y,J)=>{if(this.positiveOptions.has(J))this.dualOptions.add(J)})}valueFromOption(X,Y){let J=Y.attributeName();if(!this.dualOptions.has(J))return!0;let Q=this.negativeOptions.get(J).presetArg,_=Q!==void 0?Q:!1;return Y.negate===(_===X)}}function W9(X){return X.split("-").reduce((Y,J)=>{return Y+J[0].toUpperCase()+J.slice(1)})}function f8(X){let Y,J,Q=/^-[^-]$/,_=/^--[^-]/,H=X.split(/[ |,]+/).concat("guard");if(Q.test(H[0]))Y=H.shift();if(_.test(H[0]))J=H.shift();if(!Y&&Q.test(H[0]))Y=H.shift();if(!Y&&_.test(H[0]))Y=J,J=H.shift();if(H[0].startsWith("-")){let G=H[0],W=`option creation failed due to '${G}' in option flags '${X}'`;if(/^-[^-][^-]/.test(G))throw Error(`${W}
|
|
7
7
|
- a short flag is a single dash and a single character
|
|
8
8
|
- either use a single dash and a single character (for a short flag)
|
|
9
|
-
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(
|
|
10
|
-
- too many short flags`);if(
|
|
11
|
-
- too many long flags`);throw Error(`${
|
|
12
|
-
- unrecognised flag format`)}if(Y===void 0&&
|
|
13
|
-
(Did you mean one of ${
|
|
14
|
-
(Did you mean ${
|
|
15
|
-
- specify the name in Command constructor or using .name()`);if(Y=Y||{},Y.isDefault)this._defaultCommandName=
|
|
16
|
-
Expecting one of '${
|
|
17
|
-
- already used by option '${Y.flags}'`)}this._initOptionGroup(
|
|
18
|
-
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(
|
|
19
|
-
- if '${
|
|
9
|
+
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(Q.test(G))throw Error(`${W}
|
|
10
|
+
- too many short flags`);if(_.test(G))throw Error(`${W}
|
|
11
|
+
- too many long flags`);throw Error(`${W}
|
|
12
|
+
- unrecognised flag format`)}if(Y===void 0&&J===void 0)throw Error(`option creation failed due to no flags found in '${X}'.`);return{shortFlag:Y,longFlag:J}}O8.Option=q9;O8.DualOptions=$9});var B9=x0((C8)=>{function b8(X,Y){if(Math.abs(X.length-Y.length)>3)return Math.max(X.length,Y.length);let J=[];for(let Q=0;Q<=X.length;Q++)J[Q]=[Q];for(let Q=0;Q<=Y.length;Q++)J[0][Q]=Q;for(let Q=1;Q<=Y.length;Q++)for(let _=1;_<=X.length;_++){let H=1;if(X[_-1]===Y[Q-1])H=0;else H=1;if(J[_][Q]=Math.min(J[_-1][Q]+1,J[_][Q-1]+1,J[_-1][Q-1]+H),_>1&&Q>1&&X[_-1]===Y[Q-2]&&X[_-2]===Y[Q-1])J[_][Q]=Math.min(J[_][Q],J[_-2][Q-2]+1)}return J[X.length][Y.length]}function T8(X,Y){if(!Y||Y.length===0)return"";Y=Array.from(new Set(Y));let J=X.startsWith("--");if(J)X=X.slice(2),Y=Y.map((G)=>G.slice(2));let Q=[],_=3,H=0.4;if(Y.forEach((G)=>{if(G.length<=1)return;let W=b8(X,G),q=Math.max(X.length,G.length);if((q-W)/q>H){if(W<_)_=W,Q=[G];else if(W===_)Q.push(G)}}),Q.sort((G,W)=>G.localeCompare(W)),J)Q=Q.map((G)=>`--${G}`);if(Q.length>1)return`
|
|
13
|
+
(Did you mean one of ${Q.join(", ")}?)`;if(Q.length===1)return`
|
|
14
|
+
(Did you mean ${Q[0]}?)`;return""}C8.suggestSimilar=T8});var E9=x0((c8)=>{var x8=K1("node:events").EventEmitter,W5=K1("node:child_process"),A0=K1("node:path"),T1=K1("node:fs"),m=K1("node:process"),{Argument:v8,humanReadableArgName:y8}=b1(),{CommanderError:q5}=D1(),{Help:h8,stripColor:g8}=H5(),{Option:L9,DualOptions:m8}=G5(),{suggestSimilar:K9}=B9();class B5 extends x8{constructor(X){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=X||"",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:(Y)=>m.stdout.write(Y),writeErr:(Y)=>m.stderr.write(Y),outputError:(Y,J)=>J(Y),getOutHelpWidth:()=>m.stdout.isTTY?m.stdout.columns:void 0,getErrHelpWidth:()=>m.stderr.isTTY?m.stderr.columns:void 0,getOutHasColors:()=>$5()??(m.stdout.isTTY&&m.stdout.hasColors?.()),getErrHasColors:()=>$5()??(m.stderr.isTTY&&m.stderr.hasColors?.()),stripColor:(Y)=>g8(Y)},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(X){return this._outputConfiguration=X._outputConfiguration,this._helpOption=X._helpOption,this._helpCommand=X._helpCommand,this._helpConfiguration=X._helpConfiguration,this._exitCallback=X._exitCallback,this._storeOptionsAsProperties=X._storeOptionsAsProperties,this._combineFlagAndOptionalValue=X._combineFlagAndOptionalValue,this._allowExcessArguments=X._allowExcessArguments,this._enablePositionalOptions=X._enablePositionalOptions,this._showHelpAfterError=X._showHelpAfterError,this._showSuggestionAfterError=X._showSuggestionAfterError,this}_getCommandAndAncestors(){let X=[];for(let Y=this;Y;Y=Y.parent)X.push(Y);return X}command(X,Y,J){let Q=Y,_=J;if(typeof Q==="object"&&Q!==null)_=Q,Q=null;_=_||{};let[,H,G]=X.match(/([^ ]+) *(.*)/),W=this.createCommand(H);if(Q)W.description(Q),W._executableHandler=!0;if(_.isDefault)this._defaultCommandName=W._name;if(W._hidden=!!(_.noHelp||_.hidden),W._executableFile=_.executableFile||null,G)W.arguments(G);if(this._registerCommand(W),W.parent=this,W.copyInheritedSettings(this),Q)return this;return W}createCommand(X){return new B5(X)}createHelp(){return Object.assign(new h8,this.configureHelp())}configureHelp(X){if(X===void 0)return this._helpConfiguration;return this._helpConfiguration=X,this}configureOutput(X){if(X===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...X},this}showHelpAfterError(X=!0){if(typeof X!=="string")X=!!X;return this._showHelpAfterError=X,this}showSuggestionAfterError(X=!0){return this._showSuggestionAfterError=!!X,this}addCommand(X,Y){if(!X._name)throw Error(`Command passed to .addCommand() must have a name
|
|
15
|
+
- specify the name in Command constructor or using .name()`);if(Y=Y||{},Y.isDefault)this._defaultCommandName=X._name;if(Y.noHelp||Y.hidden)X._hidden=!0;return this._registerCommand(X),X.parent=this,X._checkForBrokenPassThrough(),this}createArgument(X,Y){return new v8(X,Y)}argument(X,Y,J,Q){let _=this.createArgument(X,Y);if(typeof J==="function")_.default(Q).argParser(J);else _.default(J);return this.addArgument(_),this}arguments(X){return X.trim().split(/ +/).forEach((Y)=>{this.argument(Y)}),this}addArgument(X){let Y=this.registeredArguments.slice(-1)[0];if(Y?.variadic)throw Error(`only the last argument can be variadic '${Y.name()}'`);if(X.required&&X.defaultValue!==void 0&&X.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${X.name()}'`);return this.registeredArguments.push(X),this}helpCommand(X,Y){if(typeof X==="boolean"){if(this._addImplicitHelpCommand=X,X&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let J=X??"help [command]",[,Q,_]=J.match(/([^ ]+) *(.*)/),H=Y??"display help for command",G=this.createCommand(Q);if(G.helpOption(!1),_)G.arguments(_);if(H)G.description(H);if(this._addImplicitHelpCommand=!0,this._helpCommand=G,X||Y)this._initCommandGroup(G);return this}addHelpCommand(X,Y){if(typeof X!=="object")return this.helpCommand(X,Y),this;return this._addImplicitHelpCommand=!0,this._helpCommand=X,this._initCommandGroup(X),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(X,Y){let J=["preSubcommand","preAction","postAction"];if(!J.includes(X))throw Error(`Unexpected value for event passed to hook : '${X}'.
|
|
16
|
+
Expecting one of '${J.join("', '")}'`);if(this._lifeCycleHooks[X])this._lifeCycleHooks[X].push(Y);else this._lifeCycleHooks[X]=[Y];return this}exitOverride(X){if(X)this._exitCallback=X;else this._exitCallback=(Y)=>{if(Y.code!=="commander.executeSubCommandAsync")throw Y};return this}_exit(X,Y,J){if(this._exitCallback)this._exitCallback(new q5(X,Y,J));m.exit(X)}action(X){let Y=(J)=>{let Q=this.registeredArguments.length,_=J.slice(0,Q);if(this._storeOptionsAsProperties)_[Q]=this;else _[Q]=this.opts();return _.push(this),X.apply(this,_)};return this._actionHandler=Y,this}createOption(X,Y){return new L9(X,Y)}_callParseArg(X,Y,J,Q){try{return X.parseArg(Y,J)}catch(_){if(_.code==="commander.invalidArgument"){let H=`${Q} ${_.message}`;this.error(H,{exitCode:_.exitCode,code:_.code})}throw _}}_registerOption(X){let Y=X.short&&this._findOption(X.short)||X.long&&this._findOption(X.long);if(Y){let J=X.long&&this._findOption(X.long)?X.long:X.short;throw Error(`Cannot add option '${X.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${J}'
|
|
17
|
+
- already used by option '${Y.flags}'`)}this._initOptionGroup(X),this.options.push(X)}_registerCommand(X){let Y=(Q)=>{return[Q.name()].concat(Q.aliases())},J=Y(X).find((Q)=>this._findCommand(Q));if(J){let Q=Y(this._findCommand(J)).join("|"),_=Y(X).join("|");throw Error(`cannot add command '${_}' as already have command '${Q}'`)}this._initCommandGroup(X),this.commands.push(X)}addOption(X){this._registerOption(X);let Y=X.name(),J=X.attributeName();if(X.negate){let _=X.long.replace(/^--no-/,"--");if(!this._findOption(_))this.setOptionValueWithSource(J,X.defaultValue===void 0?!0:X.defaultValue,"default")}else if(X.defaultValue!==void 0)this.setOptionValueWithSource(J,X.defaultValue,"default");let Q=(_,H,G)=>{if(_==null&&X.presetArg!==void 0)_=X.presetArg;let W=this.getOptionValue(J);if(_!==null&&X.parseArg)_=this._callParseArg(X,_,W,H);else if(_!==null&&X.variadic)_=X._collectValue(_,W);if(_==null)if(X.negate)_=!1;else if(X.isBoolean()||X.optional)_=!0;else _="";this.setOptionValueWithSource(J,_,G)};if(this.on("option:"+Y,(_)=>{let H=`error: option '${X.flags}' argument '${_}' is invalid.`;Q(_,H,"cli")}),X.envVar)this.on("optionEnv:"+Y,(_)=>{let H=`error: option '${X.flags}' value '${_}' from env '${X.envVar}' is invalid.`;Q(_,H,"env")});return this}_optionEx(X,Y,J,Q,_){if(typeof Y==="object"&&Y instanceof L9)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let H=this.createOption(Y,J);if(H.makeOptionMandatory(!!X.mandatory),typeof Q==="function")H.default(_).argParser(Q);else if(Q instanceof RegExp){let G=Q;Q=(W,q)=>{let $=G.exec(W);return $?$[0]:q},H.default(_).argParser(Q)}else H.default(Q);return this.addOption(H)}option(X,Y,J,Q){return this._optionEx({},X,Y,J,Q)}requiredOption(X,Y,J,Q){return this._optionEx({mandatory:!0},X,Y,J,Q)}combineFlagAndOptionalValue(X=!0){return this._combineFlagAndOptionalValue=!!X,this}allowUnknownOption(X=!0){return this._allowUnknownOption=!!X,this}allowExcessArguments(X=!0){return this._allowExcessArguments=!!X,this}enablePositionalOptions(X=!0){return this._enablePositionalOptions=!!X,this}passThroughOptions(X=!0){return this._passThroughOptions=!!X,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(X=!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=!!X,this}getOptionValue(X){if(this._storeOptionsAsProperties)return this[X];return this._optionValues[X]}setOptionValue(X,Y){return this.setOptionValueWithSource(X,Y,void 0)}setOptionValueWithSource(X,Y,J){if(this._storeOptionsAsProperties)this[X]=Y;else this._optionValues[X]=Y;return this._optionValueSources[X]=J,this}getOptionValueSource(X){return this._optionValueSources[X]}getOptionValueSourceWithGlobals(X){let Y;return this._getCommandAndAncestors().forEach((J)=>{if(J.getOptionValueSource(X)!==void 0)Y=J.getOptionValueSource(X)}),Y}_prepareUserArgs(X,Y){if(X!==void 0&&!Array.isArray(X))throw Error("first parameter to parse must be array or undefined");if(Y=Y||{},X===void 0&&Y.from===void 0){if(m.versions?.electron)Y.from="electron";let Q=m.execArgv??[];if(Q.includes("-e")||Q.includes("--eval")||Q.includes("-p")||Q.includes("--print"))Y.from="eval"}if(X===void 0)X=m.argv;this.rawArgs=X.slice();let J;switch(Y.from){case void 0:case"node":this._scriptPath=X[1],J=X.slice(2);break;case"electron":if(m.defaultApp)this._scriptPath=X[1],J=X.slice(2);else J=X.slice(1);break;case"user":J=X.slice(0);break;case"eval":J=X.slice(1);break;default:throw Error(`unexpected parse option { from: '${Y.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",J}parse(X,Y){this._prepareForParse();let J=this._prepareUserArgs(X,Y);return this._parseCommand([],J),this}async parseAsync(X,Y){this._prepareForParse();let J=this._prepareUserArgs(X,Y);return await this._parseCommand([],J),this}_prepareForParse(){if(this._savedState===null)this.saveStateBeforeParse();else this.restoreStateBeforeParse()}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw Error(`Can not call parse again when storeOptionsAsProperties is true.
|
|
18
|
+
- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name,this._scriptPath=null,this.rawArgs=[],this._optionValues={...this._savedState._optionValues},this._optionValueSources={...this._savedState._optionValueSources},this.args=[],this.processedArgs=[]}_checkForMissingExecutable(X,Y,J){if(T1.existsSync(X))return;let Q=Y?`searched for local subcommand relative to directory '${Y}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",_=`'${X}' does not exist
|
|
19
|
+
- if '${J}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead
|
|
20
20
|
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
21
|
-
- ${
|
|
21
|
+
- ${Q}`;throw Error(_)}_executeSubCommand(X,Y){Y=Y.slice();let J=!1,Q=[".js",".ts",".tsx",".mjs",".cjs"];function _($,B){let D=A0.resolve($,B);if(T1.existsSync(D))return D;if(Q.includes(A0.extname(B)))return;let V=Q.find((j)=>T1.existsSync(`${D}${j}`));if(V)return`${D}${V}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let H=X._executableFile||`${this._name}-${X._name}`,G=this._executableDir||"";if(this._scriptPath){let $;try{$=T1.realpathSync(this._scriptPath)}catch{$=this._scriptPath}G=A0.resolve(A0.dirname($),G)}if(G){let $=_(G,H);if(!$&&!X._executableFile&&this._scriptPath){let B=A0.basename(this._scriptPath,A0.extname(this._scriptPath));if(B!==this._name)$=_(G,`${B}-${X._name}`)}H=$||H}J=Q.includes(A0.extname(H));let W;if(m.platform!=="win32")if(J)Y.unshift(H),Y=D9(m.execArgv).concat(Y),W=W5.spawn(m.argv[0],Y,{stdio:"inherit"});else W=W5.spawn(H,Y,{stdio:"inherit"});else this._checkForMissingExecutable(H,G,X._name),Y.unshift(H),Y=D9(m.execArgv).concat(Y),W=W5.spawn(m.execPath,Y,{stdio:"inherit"});if(!W.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((B)=>{m.on(B,()=>{if(W.killed===!1&&W.exitCode===null)W.kill(B)})});let q=this._exitCallback;W.on("close",($)=>{if($=$??1,!q)m.exit($);else q(new q5($,"commander.executeSubCommandAsync","(close)"))}),W.on("error",($)=>{if($.code==="ENOENT")this._checkForMissingExecutable(H,G,X._name);else if($.code==="EACCES")throw Error(`'${H}' not executable`);if(!q)m.exit(1);else{let B=new q5(1,"commander.executeSubCommandAsync","(error)");B.nestedError=$,q(B)}}),this.runningCommand=W}_dispatchSubcommand(X,Y,J){let Q=this._findCommand(X);if(!Q)this.help({error:!0});Q._prepareForParse();let _;return _=this._chainOrCallSubCommandHook(_,Q,"preSubcommand"),_=this._chainOrCall(_,()=>{if(Q._executableHandler)this._executeSubCommand(Q,Y.concat(J));else return Q._parseCommand(Y,J)}),_}_dispatchHelpCommand(X){if(!X)this.help();let Y=this._findCommand(X);if(Y&&!Y._executableHandler)Y.help();return this._dispatchSubcommand(X,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((X,Y)=>{if(X.required&&this.args[Y]==null)this.missingArgument(X.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 X=(J,Q,_)=>{let H=Q;if(Q!==null&&J.parseArg){let G=`error: command-argument value '${Q}' is invalid for argument '${J.name()}'.`;H=this._callParseArg(J,Q,_,G)}return H};this._checkNumberOfArguments();let Y=[];this.registeredArguments.forEach((J,Q)=>{let _=J.defaultValue;if(J.variadic){if(Q<this.args.length){if(_=this.args.slice(Q),J.parseArg)_=_.reduce((H,G)=>{return X(J,G,H)},J.defaultValue)}else if(_===void 0)_=[]}else if(Q<this.args.length){if(_=this.args[Q],J.parseArg)_=X(J,_,J.defaultValue)}Y[Q]=_}),this.processedArgs=Y}_chainOrCall(X,Y){if(X?.then&&typeof X.then==="function")return X.then(()=>Y());return Y()}_chainOrCallHooks(X,Y){let J=X,Q=[];if(this._getCommandAndAncestors().reverse().filter((_)=>_._lifeCycleHooks[Y]!==void 0).forEach((_)=>{_._lifeCycleHooks[Y].forEach((H)=>{Q.push({hookedCommand:_,callback:H})})}),Y==="postAction")Q.reverse();return Q.forEach((_)=>{J=this._chainOrCall(J,()=>{return _.callback(_.hookedCommand,this)})}),J}_chainOrCallSubCommandHook(X,Y,J){let Q=X;if(this._lifeCycleHooks[J]!==void 0)this._lifeCycleHooks[J].forEach((_)=>{Q=this._chainOrCall(Q,()=>{return _(this,Y)})});return Q}_parseCommand(X,Y){let J=this.parseOptions(Y);if(this._parseOptionsEnv(),this._parseOptionsImplied(),X=X.concat(J.operands),Y=J.unknown,this.args=X.concat(Y),X&&this._findCommand(X[0]))return this._dispatchSubcommand(X[0],X.slice(1),Y);if(this._getHelpCommand()&&X[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(X[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(Y),this._dispatchSubcommand(this._defaultCommandName,X,Y);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(J.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Q=()=>{if(J.unknown.length>0)this.unknownOption(J.unknown[0])},_=`command:${this.name()}`;if(this._actionHandler){Q(),this._processArguments();let H;if(H=this._chainOrCallHooks(H,"preAction"),H=this._chainOrCall(H,()=>this._actionHandler(this.processedArgs)),this.parent)H=this._chainOrCall(H,()=>{this.parent.emit(_,X,Y)});return H=this._chainOrCallHooks(H,"postAction"),H}if(this.parent?.listenerCount(_))Q(),this._processArguments(),this.parent.emit(_,X,Y);else if(X.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",X,Y);if(this.listenerCount("command:*"))this.emit("command:*",X,Y);else if(this.commands.length)this.unknownCommand();else Q(),this._processArguments()}else if(this.commands.length)Q(),this.help({error:!0});else Q(),this._processArguments()}_findCommand(X){if(!X)return;return this.commands.find((Y)=>Y._name===X||Y._aliases.includes(X))}_findOption(X){return this.options.find((Y)=>Y.is(X))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((X)=>{X.options.forEach((Y)=>{if(Y.mandatory&&X.getOptionValue(Y.attributeName())===void 0)X.missingMandatoryOptionValue(Y)})})}_checkForConflictingLocalOptions(){let X=this.options.filter((J)=>{let Q=J.attributeName();if(this.getOptionValue(Q)===void 0)return!1;return this.getOptionValueSource(Q)!=="default"});X.filter((J)=>J.conflictsWith.length>0).forEach((J)=>{let Q=X.find((_)=>J.conflictsWith.includes(_.attributeName()));if(Q)this._conflictingOption(J,Q)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((X)=>{X._checkForConflictingLocalOptions()})}parseOptions(X){let Y=[],J=[],Q=Y;function _($){return $.length>1&&$[0]==="-"}let H=($)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test($))return!1;return!this._getCommandAndAncestors().some((B)=>B.options.map((D)=>D.short).some((D)=>/^-\d$/.test(D)))},G=null,W=null,q=0;while(q<X.length||W){let $=W??X[q++];if(W=null,$==="--"){if(Q===J)Q.push($);Q.push(...X.slice(q));break}if(G&&(!_($)||H($))){this.emit(`option:${G.name()}`,$);continue}if(G=null,_($)){let B=this._findOption($);if(B){if(B.required){let D=X[q++];if(D===void 0)this.optionMissingArgument(B);this.emit(`option:${B.name()}`,D)}else if(B.optional){let D=null;if(q<X.length&&(!_(X[q])||H(X[q])))D=X[q++];this.emit(`option:${B.name()}`,D)}else this.emit(`option:${B.name()}`);G=B.variadic?B:null;continue}}if($.length>2&&$[0]==="-"&&$[1]!=="-"){let B=this._findOption(`-${$[1]}`);if(B){if(B.required||B.optional&&this._combineFlagAndOptionalValue)this.emit(`option:${B.name()}`,$.slice(2));else this.emit(`option:${B.name()}`),W=`-${$.slice(2)}`;continue}}if(/^--[^=]+=/.test($)){let B=$.indexOf("="),D=this._findOption($.slice(0,B));if(D&&(D.required||D.optional)){this.emit(`option:${D.name()}`,$.slice(B+1));continue}}if(Q===Y&&_($)&&!(this.commands.length===0&&H($)))Q=J;if((this._enablePositionalOptions||this._passThroughOptions)&&Y.length===0&&J.length===0){if(this._findCommand($)){Y.push($),J.push(...X.slice(q));break}else if(this._getHelpCommand()&&$===this._getHelpCommand().name()){Y.push($,...X.slice(q));break}else if(this._defaultCommandName){J.push($,...X.slice(q));break}}if(this._passThroughOptions){Q.push($,...X.slice(q));break}Q.push($)}return{operands:Y,unknown:J}}opts(){if(this._storeOptionsAsProperties){let X={},Y=this.options.length;for(let J=0;J<Y;J++){let Q=this.options[J].attributeName();X[Q]=Q===this._versionOptionName?this._version:this[Q]}return X}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((X,Y)=>Object.assign(X,Y.opts()),{})}error(X,Y){if(this._outputConfiguration.outputError(`${X}
|
|
22
22
|
`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==="string")this._outputConfiguration.writeErr(`${this._showHelpAfterError}
|
|
23
23
|
`);else if(this._showHelpAfterError)this._outputConfiguration.writeErr(`
|
|
24
|
-
`),this.outputHelp({error:!0});let
|
|
25
|
-
`),this._exit(0,"commander.version",
|
|
26
|
-
Expecting one of '${
|
|
27
|
-
`)}),this}_outputHelpIfRequested(
|
|
28
|
-
`;if(
|
|
29
|
-
`}v_(this.logFilePath,G)}catch{}}debug(_,Y){if(process.env.DEBUG)this.log("DEBUG",_,Y)}info(_,Y){this.log("INFO",_,Y)}warn(_,Y){this.log("WARN",_,Y)}error(_,Y){this.log("ERROR",_,Y)}}function J4(_,Y){return new X4({component:_,...Y})}import{existsSync as H4,mkdirSync as y_,readFileSync as h_,writeFileSync as g_}from"fs";import{homedir as m_}from"os";import{join as Q4}from"path";import{Entry as a2}from"@napi-rs/keyring";var N2="production";var o2=Q4(m_(),".config","agentlogs"),s2=Q4(o2,"config.json"),t2="agentlogs-cli";function e2(_){return N2==="production"?`prod:${_}`:`dev:${_}`}function q4(){if(!H4(o2))y_(o2,{recursive:!0})}function t(){if(q4(),!H4(s2))return{};try{let _=h_(s2,"utf-8");return JSON.parse(_)}catch(_){return console.error("Failed to read config file:",_),{}}}function $4(_){q4();try{g_(s2,JSON.stringify(_,null,2),"utf-8")}catch(Y){throw console.error("Failed to write config file:",Y),Y}}function e(){try{let _=t();if(!_.user?.email)return null;let Y=e2(_.user.email);return new a2(t2,Y).getPassword()}catch{return null}}function G4(_,Y){try{let X=e2(_);new a2(t2,X).setPassword(Y)}catch(X){throw console.error("Failed to store token in keychain:",X),X}}function W4(){try{let _=t();if(!_.user?.email)return;let Y=e2(_.user.email);new a2(t2,Y).deletePassword()}catch{}}import{createHash as CY}from"crypto";import{existsSync as E1,readFileSync as TY}from"fs";import{dirname as vY,isAbsolute as bY,resolve as ZY}from"path";import M9 from"node:crypto";var B={};Z6(B,{void:()=>S8,util:()=>b,unknown:()=>N8,union:()=>I8,undefined:()=>K8,tuple:()=>C8,transformer:()=>c8,symbol:()=>f8,string:()=>f4,strictObject:()=>O8,setErrorMap:()=>l_,set:()=>b8,record:()=>T8,quotelessJson:()=>c_,promise:()=>m8,preprocess:()=>d8,pipeline:()=>p8,ostring:()=>n8,optional:()=>u8,onumber:()=>i8,oboolean:()=>r8,objectUtil:()=>_1,object:()=>z8,number:()=>K4,nullable:()=>l8,null:()=>D8,never:()=>A8,nativeEnum:()=>g8,nan:()=>E8,map:()=>v8,makeIssue:()=>$2,literal:()=>y8,lazy:()=>x8,late:()=>V8,isValid:()=>f0,isDirty:()=>S2,isAsync:()=>h0,isAborted:()=>A2,intersection:()=>k8,instanceof:()=>U8,getParsedType:()=>$0,getErrorMap:()=>y0,function:()=>Z8,enum:()=>h8,effect:()=>c8,discriminatedUnion:()=>P8,defaultErrorMap:()=>U0,datetimeRegex:()=>E4,date:()=>R8,custom:()=>R4,coerce:()=>o8,boolean:()=>D4,bigint:()=>F8,array:()=>w8,any:()=>j8,addIssueToContext:()=>f,ZodVoid:()=>W2,ZodUnknown:()=>K0,ZodUnion:()=>d0,ZodUndefined:()=>u0,ZodType:()=>T,ZodTuple:()=>W0,ZodTransformer:()=>H0,ZodSymbol:()=>G2,ZodString:()=>_0,ZodSet:()=>b0,ZodSchema:()=>T,ZodRecord:()=>L2,ZodReadonly:()=>a0,ZodPromise:()=>Z0,ZodPipeline:()=>V2,ZodParsedType:()=>F,ZodOptional:()=>X0,ZodObject:()=>l,ZodNumber:()=>D0,ZodNullable:()=>F0,ZodNull:()=>l0,ZodNever:()=>G0,ZodNativeEnum:()=>r0,ZodNaN:()=>M2,ZodMap:()=>B2,ZodLiteral:()=>i0,ZodLazy:()=>n0,ZodIssueCode:()=>U,ZodIntersection:()=>p0,ZodFunction:()=>m0,ZodFirstPartyTypeKind:()=>w,ZodError:()=>o,ZodEnum:()=>N0,ZodEffects:()=>H0,ZodDiscriminatedUnion:()=>w2,ZodDefault:()=>o0,ZodDate:()=>T0,ZodCatch:()=>s0,ZodBranded:()=>z2,ZodBoolean:()=>c0,ZodBigInt:()=>j0,ZodArray:()=>Y0,ZodAny:()=>v0,Schema:()=>T,ParseStatus:()=>n,OK:()=>i,NEVER:()=>s8,INVALID:()=>A,EMPTY_PATH:()=>d_,DIRTY:()=>C0,BRAND:()=>M8});var b;(function(_){_.assertEqual=(H)=>{};function Y(H){}_.assertIs=Y;function X(H){throw Error()}_.assertNever=X,_.arrayToEnum=(H)=>{let Q={};for(let q of H)Q[q]=q;return Q},_.getValidEnumValues=(H)=>{let Q=_.objectKeys(H).filter(($)=>typeof H[H[$]]!=="number"),q={};for(let $ of Q)q[$]=H[$];return _.objectValues(q)},_.objectValues=(H)=>{return _.objectKeys(H).map(function(Q){return H[Q]})},_.objectKeys=typeof Object.keys==="function"?(H)=>Object.keys(H):(H)=>{let Q=[];for(let q in H)if(Object.prototype.hasOwnProperty.call(H,q))Q.push(q);return Q},_.find=(H,Q)=>{for(let q of H)if(Q(q))return q;return},_.isInteger=typeof Number.isInteger==="function"?(H)=>Number.isInteger(H):(H)=>typeof H==="number"&&Number.isFinite(H)&&Math.floor(H)===H;function J(H,Q=" | "){return H.map((q)=>typeof q==="string"?`'${q}'`:q).join(Q)}_.joinValues=J,_.jsonStringifyReplacer=(H,Q)=>{if(typeof Q==="bigint")return Q.toString();return Q}})(b||(b={}));var _1;(function(_){_.mergeShapes=(Y,X)=>{return{...Y,...X}}})(_1||(_1={}));var F=b.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),$0=(_)=>{switch(typeof _){case"undefined":return F.undefined;case"string":return F.string;case"number":return Number.isNaN(_)?F.nan:F.number;case"boolean":return F.boolean;case"function":return F.function;case"bigint":return F.bigint;case"symbol":return F.symbol;case"object":if(Array.isArray(_))return F.array;if(_===null)return F.null;if(_.then&&typeof _.then==="function"&&_.catch&&typeof _.catch==="function")return F.promise;if(typeof Map<"u"&&_ instanceof Map)return F.map;if(typeof Set<"u"&&_ instanceof Set)return F.set;if(typeof Date<"u"&&_ instanceof Date)return F.date;return F.object;default:return F.unknown}};var U=b.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),c_=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class o extends Error{get errors(){return this.issues}constructor(_){super();this.issues=[],this.addIssue=(X)=>{this.issues=[...this.issues,X]},this.addIssues=(X=[])=>{this.issues=[...this.issues,...X]};let Y=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,Y);else this.__proto__=Y;this.name="ZodError",this.issues=_}format(_){let Y=_||function(H){return H.message},X={_errors:[]},J=(H)=>{for(let Q of H.issues)if(Q.code==="invalid_union")Q.unionErrors.map(J);else if(Q.code==="invalid_return_type")J(Q.returnTypeError);else if(Q.code==="invalid_arguments")J(Q.argumentsError);else if(Q.path.length===0)X._errors.push(Y(Q));else{let q=X,$=0;while($<Q.path.length){let G=Q.path[$];if($!==Q.path.length-1)q[G]=q[G]||{_errors:[]};else q[G]=q[G]||{_errors:[]},q[G]._errors.push(Y(Q));q=q[G],$++}}};return J(this),X}static assert(_){if(!(_ instanceof o))throw Error(`Not a ZodError: ${_}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,b.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(_=(Y)=>Y.message){let Y={},X=[];for(let J of this.issues)if(J.path.length>0){let H=J.path[0];Y[H]=Y[H]||[],Y[H].push(_(J))}else X.push(_(J));return{formErrors:X,fieldErrors:Y}}get formErrors(){return this.flatten()}}o.create=(_)=>{return new o(_)};var u_=(_,Y)=>{let X;switch(_.code){case U.invalid_type:if(_.received===F.undefined)X="Required";else X=`Expected ${_.expected}, received ${_.received}`;break;case U.invalid_literal:X=`Invalid literal value, expected ${JSON.stringify(_.expected,b.jsonStringifyReplacer)}`;break;case U.unrecognized_keys:X=`Unrecognized key(s) in object: ${b.joinValues(_.keys,", ")}`;break;case U.invalid_union:X="Invalid input";break;case U.invalid_union_discriminator:X=`Invalid discriminator value. Expected ${b.joinValues(_.options)}`;break;case U.invalid_enum_value:X=`Invalid enum value. Expected ${b.joinValues(_.options)}, received '${_.received}'`;break;case U.invalid_arguments:X="Invalid function arguments";break;case U.invalid_return_type:X="Invalid function return type";break;case U.invalid_date:X="Invalid date";break;case U.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(X=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")X=`${X} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)X=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)X=`Invalid input: must end with "${_.validation.endsWith}"`;else b.assertNever(_.validation);else if(_.validation!=="regex")X=`Invalid ${_.validation}`;else X="Invalid";break;case U.too_small:if(_.type==="array")X=`Array must contain ${_.exact?"exactly":_.inclusive?"at least":"more than"} ${_.minimum} element(s)`;else if(_.type==="string")X=`String must contain ${_.exact?"exactly":_.inclusive?"at least":"over"} ${_.minimum} character(s)`;else if(_.type==="number")X=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="bigint")X=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="date")X=`Date must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_.minimum))}`;else X="Invalid input";break;case U.too_big:if(_.type==="array")X=`Array must contain ${_.exact?"exactly":_.inclusive?"at most":"less than"} ${_.maximum} element(s)`;else if(_.type==="string")X=`String must contain ${_.exact?"exactly":_.inclusive?"at most":"under"} ${_.maximum} character(s)`;else if(_.type==="number")X=`Number must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="bigint")X=`BigInt must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="date")X=`Date must be ${_.exact?"exactly":_.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_.maximum))}`;else X="Invalid input";break;case U.custom:X="Invalid input";break;case U.invalid_intersection_types:X="Intersection results could not be merged";break;case U.not_multiple_of:X=`Number must be a multiple of ${_.multipleOf}`;break;case U.not_finite:X="Number must be finite";break;default:X=Y.defaultError,b.assertNever(_)}return{message:X}},U0=u_;var L4=U0;function l_(_){L4=_}function y0(){return L4}var $2=(_)=>{let{data:Y,path:X,errorMaps:J,issueData:H}=_,Q=[...X,...H.path||[]],q={...H,path:Q};if(H.message!==void 0)return{...H,path:Q,message:H.message};let $="",G=J.filter((W)=>!!W).slice().reverse();for(let W of G)$=W(q,{data:Y,defaultError:$}).message;return{...H,path:Q,message:$}},d_=[];function f(_,Y){let X=y0(),J=$2({issueData:Y,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,X,X===U0?void 0:U0].filter((H)=>!!H)});_.common.issues.push(J)}class n{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(_,Y){let X=[];for(let J of Y){if(J.status==="aborted")return A;if(J.status==="dirty")_.dirty();X.push(J.value)}return{status:_.value,value:X}}static async mergeObjectAsync(_,Y){let X=[];for(let J of Y){let H=await J.key,Q=await J.value;X.push({key:H,value:Q})}return n.mergeObjectSync(_,X)}static mergeObjectSync(_,Y){let X={};for(let J of Y){let{key:H,value:Q}=J;if(H.status==="aborted")return A;if(Q.status==="aborted")return A;if(H.status==="dirty")_.dirty();if(Q.status==="dirty")_.dirty();if(H.value!=="__proto__"&&(typeof Q.value<"u"||J.alwaysSet))X[H.value]=Q.value}return{status:_.value,value:X}}}var A=Object.freeze({status:"aborted"}),C0=(_)=>({status:"dirty",value:_}),i=(_)=>({status:"valid",value:_}),A2=(_)=>_.status==="aborted",S2=(_)=>_.status==="dirty",f0=(_)=>_.status==="valid",h0=(_)=>typeof Promise<"u"&&_ instanceof Promise;var D;(function(_){_.errToObj=(Y)=>typeof Y==="string"?{message:Y}:Y||{},_.toString=(Y)=>typeof Y==="string"?Y:Y?.message})(D||(D={}));class J0{constructor(_,Y,X,J){this._cachedPath=[],this.parent=_,this.data=Y,this._path=X,this._key=J}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var B4=(_,Y)=>{if(f0(Y))return{success:!0,data:Y.value};else{if(!_.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let X=new o(_.common.issues);return this._error=X,this._error}}}};function P(_){if(!_)return{};let{errorMap:Y,invalid_type_error:X,required_error:J,description:H}=_;if(Y&&(X||J))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(Y)return{errorMap:Y,description:H};return{errorMap:(q,$)=>{let{message:G}=_;if(q.code==="invalid_enum_value")return{message:G??$.defaultError};if(typeof $.data>"u")return{message:G??J??$.defaultError};if(q.code!=="invalid_type")return{message:$.defaultError};return{message:G??X??$.defaultError}},description:H}}class T{get description(){return this._def.description}_getType(_){return $0(_.data)}_getOrReturnCtx(_,Y){return Y||{common:_.parent.common,data:_.data,parsedType:$0(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new n,ctx:{common:_.parent.common,data:_.data,parsedType:$0(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let Y=this._parse(_);if(h0(Y))throw Error("Synchronous parse encountered promise.");return Y}_parseAsync(_){let Y=this._parse(_);return Promise.resolve(Y)}parse(_,Y){let X=this.safeParse(_,Y);if(X.success)return X.data;throw X.error}safeParse(_,Y){let X={common:{issues:[],async:Y?.async??!1,contextualErrorMap:Y?.errorMap},path:Y?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:$0(_)},J=this._parseSync({data:_,path:X.path,parent:X});return B4(X,J)}"~validate"(_){let Y={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:$0(_)};if(!this["~standard"].async)try{let X=this._parseSync({data:_,path:[],parent:Y});return f0(X)?{value:X.value}:{issues:Y.common.issues}}catch(X){if(X?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;Y.common={issues:[],async:!0}}return this._parseAsync({data:_,path:[],parent:Y}).then((X)=>f0(X)?{value:X.value}:{issues:Y.common.issues})}async parseAsync(_,Y){let X=await this.safeParseAsync(_,Y);if(X.success)return X.data;throw X.error}async safeParseAsync(_,Y){let X={common:{issues:[],contextualErrorMap:Y?.errorMap,async:!0},path:Y?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:$0(_)},J=this._parse({data:_,path:X.path,parent:X}),H=await(h0(J)?J:Promise.resolve(J));return B4(X,H)}refine(_,Y){let X=(J)=>{if(typeof Y==="string"||typeof Y>"u")return{message:Y};else if(typeof Y==="function")return Y(J);else return Y};return this._refinement((J,H)=>{let Q=_(J),q=()=>H.addIssue({code:U.custom,...X(J)});if(typeof Promise<"u"&&Q instanceof Promise)return Q.then(($)=>{if(!$)return q(),!1;else return!0});if(!Q)return q(),!1;else return!0})}refinement(_,Y){return this._refinement((X,J)=>{if(!_(X))return J.addIssue(typeof Y==="function"?Y(X,J):Y),!1;else return!0})}_refinement(_){return new H0({schema:this,typeName:w.ZodEffects,effect:{type:"refinement",refinement:_}})}superRefine(_){return this._refinement(_)}constructor(_){this.spa=this.safeParseAsync,this._def=_,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(Y)=>this["~validate"](Y)}}optional(){return X0.create(this,this._def)}nullable(){return F0.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Y0.create(this)}promise(){return Z0.create(this,this._def)}or(_){return d0.create([this,_],this._def)}and(_){return p0.create(this,_,this._def)}transform(_){return new H0({...P(this._def),schema:this,typeName:w.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let Y=typeof _==="function"?_:()=>_;return new o0({...P(this._def),innerType:this,defaultValue:Y,typeName:w.ZodDefault})}brand(){return new z2({typeName:w.ZodBranded,type:this,...P(this._def)})}catch(_){let Y=typeof _==="function"?_:()=>_;return new s0({...P(this._def),innerType:this,catchValue:Y,typeName:w.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return V2.create(this,_)}readonly(){return a0.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var p_=/^c[^\s-]{8,}$/i,n_=/^[0-9a-z]+$/,i_=/^[0-9A-HJKMNP-TV-Z]{26}$/i,r_=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,o_=/^[a-z0-9_-]{21}$/i,s_=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,a_=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,t_=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,e_="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Y1,_8=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Y8=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,X8=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,J8=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,H8=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Q8=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,V4="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",q8=new RegExp(`^${V4}$`);function U4(_){let Y="[0-5]\\d";if(_.precision)Y=`${Y}\\.\\d{${_.precision}}`;else if(_.precision==null)Y=`${Y}(\\.\\d+)?`;let X=_.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${Y})${X}`}function $8(_){return new RegExp(`^${U4(_)}$`)}function E4(_){let Y=`${V4}T${U4(_)}`,X=[];if(X.push(_.local?"Z?":"Z"),_.offset)X.push("([+-]\\d{2}:?\\d{2})");return Y=`${Y}(${X.join("|")})`,new RegExp(`^${Y}$`)}function G8(_,Y){if((Y==="v4"||!Y)&&_8.test(_))return!0;if((Y==="v6"||!Y)&&X8.test(_))return!0;return!1}function W8(_,Y){if(!s_.test(_))return!1;try{let[X]=_.split(".");if(!X)return!1;let J=X.replace(/-/g,"+").replace(/_/g,"/").padEnd(X.length+(4-X.length%4)%4,"="),H=JSON.parse(atob(J));if(typeof H!=="object"||H===null)return!1;if("typ"in H&&H?.typ!=="JWT")return!1;if(!H.alg)return!1;if(Y&&H.alg!==Y)return!1;return!0}catch{return!1}}function L8(_,Y){if((Y==="v4"||!Y)&&Y8.test(_))return!0;if((Y==="v6"||!Y)&&J8.test(_))return!0;return!1}class _0 extends T{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==F.string){let H=this._getOrReturnCtx(_);return f(H,{code:U.invalid_type,expected:F.string,received:H.parsedType}),A}let X=new n,J=void 0;for(let H of this._def.checks)if(H.kind==="min"){if(_.data.length<H.value)J=this._getOrReturnCtx(_,J),f(J,{code:U.too_small,minimum:H.value,type:"string",inclusive:!0,exact:!1,message:H.message}),X.dirty()}else if(H.kind==="max"){if(_.data.length>H.value)J=this._getOrReturnCtx(_,J),f(J,{code:U.too_big,maximum:H.value,type:"string",inclusive:!0,exact:!1,message:H.message}),X.dirty()}else if(H.kind==="length"){let Q=_.data.length>H.value,q=_.data.length<H.value;if(Q||q){if(J=this._getOrReturnCtx(_,J),Q)f(J,{code:U.too_big,maximum:H.value,type:"string",inclusive:!0,exact:!0,message:H.message});else if(q)f(J,{code:U.too_small,minimum:H.value,type:"string",inclusive:!0,exact:!0,message:H.message});X.dirty()}}else if(H.kind==="email"){if(!t_.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"email",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="emoji"){if(!Y1)Y1=new RegExp(e_,"u");if(!Y1.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"emoji",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="uuid"){if(!r_.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"uuid",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="nanoid"){if(!o_.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"nanoid",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="cuid"){if(!p_.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"cuid",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="cuid2"){if(!n_.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"cuid2",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="ulid"){if(!i_.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"ulid",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="url")try{new URL(_.data)}catch{J=this._getOrReturnCtx(_,J),f(J,{validation:"url",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="regex"){if(H.regex.lastIndex=0,!H.regex.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"regex",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="trim")_.data=_.data.trim();else if(H.kind==="includes"){if(!_.data.includes(H.value,H.position))J=this._getOrReturnCtx(_,J),f(J,{code:U.invalid_string,validation:{includes:H.value,position:H.position},message:H.message}),X.dirty()}else if(H.kind==="toLowerCase")_.data=_.data.toLowerCase();else if(H.kind==="toUpperCase")_.data=_.data.toUpperCase();else if(H.kind==="startsWith"){if(!_.data.startsWith(H.value))J=this._getOrReturnCtx(_,J),f(J,{code:U.invalid_string,validation:{startsWith:H.value},message:H.message}),X.dirty()}else if(H.kind==="endsWith"){if(!_.data.endsWith(H.value))J=this._getOrReturnCtx(_,J),f(J,{code:U.invalid_string,validation:{endsWith:H.value},message:H.message}),X.dirty()}else if(H.kind==="datetime"){if(!E4(H).test(_.data))J=this._getOrReturnCtx(_,J),f(J,{code:U.invalid_string,validation:"datetime",message:H.message}),X.dirty()}else if(H.kind==="date"){if(!q8.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{code:U.invalid_string,validation:"date",message:H.message}),X.dirty()}else if(H.kind==="time"){if(!$8(H).test(_.data))J=this._getOrReturnCtx(_,J),f(J,{code:U.invalid_string,validation:"time",message:H.message}),X.dirty()}else if(H.kind==="duration"){if(!a_.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"duration",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="ip"){if(!G8(_.data,H.version))J=this._getOrReturnCtx(_,J),f(J,{validation:"ip",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="jwt"){if(!W8(_.data,H.alg))J=this._getOrReturnCtx(_,J),f(J,{validation:"jwt",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="cidr"){if(!L8(_.data,H.version))J=this._getOrReturnCtx(_,J),f(J,{validation:"cidr",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="base64"){if(!H8.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"base64",code:U.invalid_string,message:H.message}),X.dirty()}else if(H.kind==="base64url"){if(!Q8.test(_.data))J=this._getOrReturnCtx(_,J),f(J,{validation:"base64url",code:U.invalid_string,message:H.message}),X.dirty()}else b.assertNever(H);return{status:X.value,value:_.data}}_regex(_,Y,X){return this.refinement((J)=>_.test(J),{validation:Y,code:U.invalid_string,...D.errToObj(X)})}_addCheck(_){return new _0({...this._def,checks:[...this._def.checks,_]})}email(_){return this._addCheck({kind:"email",...D.errToObj(_)})}url(_){return this._addCheck({kind:"url",...D.errToObj(_)})}emoji(_){return this._addCheck({kind:"emoji",...D.errToObj(_)})}uuid(_){return this._addCheck({kind:"uuid",...D.errToObj(_)})}nanoid(_){return this._addCheck({kind:"nanoid",...D.errToObj(_)})}cuid(_){return this._addCheck({kind:"cuid",...D.errToObj(_)})}cuid2(_){return this._addCheck({kind:"cuid2",...D.errToObj(_)})}ulid(_){return this._addCheck({kind:"ulid",...D.errToObj(_)})}base64(_){return this._addCheck({kind:"base64",...D.errToObj(_)})}base64url(_){return this._addCheck({kind:"base64url",...D.errToObj(_)})}jwt(_){return this._addCheck({kind:"jwt",...D.errToObj(_)})}ip(_){return this._addCheck({kind:"ip",...D.errToObj(_)})}cidr(_){return this._addCheck({kind:"cidr",...D.errToObj(_)})}datetime(_){if(typeof _==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:_});return this._addCheck({kind:"datetime",precision:typeof _?.precision>"u"?null:_?.precision,offset:_?.offset??!1,local:_?.local??!1,...D.errToObj(_?.message)})}date(_){return this._addCheck({kind:"date",message:_})}time(_){if(typeof _==="string")return this._addCheck({kind:"time",precision:null,message:_});return this._addCheck({kind:"time",precision:typeof _?.precision>"u"?null:_?.precision,...D.errToObj(_?.message)})}duration(_){return this._addCheck({kind:"duration",...D.errToObj(_)})}regex(_,Y){return this._addCheck({kind:"regex",regex:_,...D.errToObj(Y)})}includes(_,Y){return this._addCheck({kind:"includes",value:_,position:Y?.position,...D.errToObj(Y?.message)})}startsWith(_,Y){return this._addCheck({kind:"startsWith",value:_,...D.errToObj(Y)})}endsWith(_,Y){return this._addCheck({kind:"endsWith",value:_,...D.errToObj(Y)})}min(_,Y){return this._addCheck({kind:"min",value:_,...D.errToObj(Y)})}max(_,Y){return this._addCheck({kind:"max",value:_,...D.errToObj(Y)})}length(_,Y){return this._addCheck({kind:"length",value:_,...D.errToObj(Y)})}nonempty(_){return this.min(1,D.errToObj(_))}trim(){return new _0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _0({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((_)=>_.kind==="datetime")}get isDate(){return!!this._def.checks.find((_)=>_.kind==="date")}get isTime(){return!!this._def.checks.find((_)=>_.kind==="time")}get isDuration(){return!!this._def.checks.find((_)=>_.kind==="duration")}get isEmail(){return!!this._def.checks.find((_)=>_.kind==="email")}get isURL(){return!!this._def.checks.find((_)=>_.kind==="url")}get isEmoji(){return!!this._def.checks.find((_)=>_.kind==="emoji")}get isUUID(){return!!this._def.checks.find((_)=>_.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((_)=>_.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((_)=>_.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((_)=>_.kind==="cuid2")}get isULID(){return!!this._def.checks.find((_)=>_.kind==="ulid")}get isIP(){return!!this._def.checks.find((_)=>_.kind==="ip")}get isCIDR(){return!!this._def.checks.find((_)=>_.kind==="cidr")}get isBase64(){return!!this._def.checks.find((_)=>_.kind==="base64")}get isBase64url(){return!!this._def.checks.find((_)=>_.kind==="base64url")}get minLength(){let _=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(_===null||Y.value>_)_=Y.value}return _}get maxLength(){let _=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(_===null||Y.value<_)_=Y.value}return _}}_0.create=(_)=>{return new _0({checks:[],typeName:w.ZodString,coerce:_?.coerce??!1,...P(_)})};function B8(_,Y){let X=(_.toString().split(".")[1]||"").length,J=(Y.toString().split(".")[1]||"").length,H=X>J?X:J,Q=Number.parseInt(_.toFixed(H).replace(".","")),q=Number.parseInt(Y.toFixed(H).replace(".",""));return Q%q/10**H}class D0 extends T{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(_){if(this._def.coerce)_.data=Number(_.data);if(this._getType(_)!==F.number){let H=this._getOrReturnCtx(_);return f(H,{code:U.invalid_type,expected:F.number,received:H.parsedType}),A}let X=void 0,J=new n;for(let H of this._def.checks)if(H.kind==="int"){if(!b.isInteger(_.data))X=this._getOrReturnCtx(_,X),f(X,{code:U.invalid_type,expected:"integer",received:"float",message:H.message}),J.dirty()}else if(H.kind==="min"){if(H.inclusive?_.data<H.value:_.data<=H.value)X=this._getOrReturnCtx(_,X),f(X,{code:U.too_small,minimum:H.value,type:"number",inclusive:H.inclusive,exact:!1,message:H.message}),J.dirty()}else if(H.kind==="max"){if(H.inclusive?_.data>H.value:_.data>=H.value)X=this._getOrReturnCtx(_,X),f(X,{code:U.too_big,maximum:H.value,type:"number",inclusive:H.inclusive,exact:!1,message:H.message}),J.dirty()}else if(H.kind==="multipleOf"){if(B8(_.data,H.value)!==0)X=this._getOrReturnCtx(_,X),f(X,{code:U.not_multiple_of,multipleOf:H.value,message:H.message}),J.dirty()}else if(H.kind==="finite"){if(!Number.isFinite(_.data))X=this._getOrReturnCtx(_,X),f(X,{code:U.not_finite,message:H.message}),J.dirty()}else b.assertNever(H);return{status:J.value,value:_.data}}gte(_,Y){return this.setLimit("min",_,!0,D.toString(Y))}gt(_,Y){return this.setLimit("min",_,!1,D.toString(Y))}lte(_,Y){return this.setLimit("max",_,!0,D.toString(Y))}lt(_,Y){return this.setLimit("max",_,!1,D.toString(Y))}setLimit(_,Y,X,J){return new D0({...this._def,checks:[...this._def.checks,{kind:_,value:Y,inclusive:X,message:D.toString(J)}]})}_addCheck(_){return new D0({...this._def,checks:[...this._def.checks,_]})}int(_){return this._addCheck({kind:"int",message:D.toString(_)})}positive(_){return this._addCheck({kind:"min",value:0,inclusive:!1,message:D.toString(_)})}negative(_){return this._addCheck({kind:"max",value:0,inclusive:!1,message:D.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:0,inclusive:!0,message:D.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:0,inclusive:!0,message:D.toString(_)})}multipleOf(_,Y){return this._addCheck({kind:"multipleOf",value:_,message:D.toString(Y)})}finite(_){return this._addCheck({kind:"finite",message:D.toString(_)})}safe(_){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:D.toString(_)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:D.toString(_)})}get minValue(){let _=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(_===null||Y.value>_)_=Y.value}return _}get maxValue(){let _=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(_===null||Y.value<_)_=Y.value}return _}get isInt(){return!!this._def.checks.find((_)=>_.kind==="int"||_.kind==="multipleOf"&&b.isInteger(_.value))}get isFinite(){let _=null,Y=null;for(let X of this._def.checks)if(X.kind==="finite"||X.kind==="int"||X.kind==="multipleOf")return!0;else if(X.kind==="min"){if(Y===null||X.value>Y)Y=X.value}else if(X.kind==="max"){if(_===null||X.value<_)_=X.value}return Number.isFinite(Y)&&Number.isFinite(_)}}D0.create=(_)=>{return new D0({checks:[],typeName:w.ZodNumber,coerce:_?.coerce||!1,...P(_)})};class j0 extends T{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(_){if(this._def.coerce)try{_.data=BigInt(_.data)}catch{return this._getInvalidInput(_)}if(this._getType(_)!==F.bigint)return this._getInvalidInput(_);let X=void 0,J=new n;for(let H of this._def.checks)if(H.kind==="min"){if(H.inclusive?_.data<H.value:_.data<=H.value)X=this._getOrReturnCtx(_,X),f(X,{code:U.too_small,type:"bigint",minimum:H.value,inclusive:H.inclusive,message:H.message}),J.dirty()}else if(H.kind==="max"){if(H.inclusive?_.data>H.value:_.data>=H.value)X=this._getOrReturnCtx(_,X),f(X,{code:U.too_big,type:"bigint",maximum:H.value,inclusive:H.inclusive,message:H.message}),J.dirty()}else if(H.kind==="multipleOf"){if(_.data%H.value!==BigInt(0))X=this._getOrReturnCtx(_,X),f(X,{code:U.not_multiple_of,multipleOf:H.value,message:H.message}),J.dirty()}else b.assertNever(H);return{status:J.value,value:_.data}}_getInvalidInput(_){let Y=this._getOrReturnCtx(_);return f(Y,{code:U.invalid_type,expected:F.bigint,received:Y.parsedType}),A}gte(_,Y){return this.setLimit("min",_,!0,D.toString(Y))}gt(_,Y){return this.setLimit("min",_,!1,D.toString(Y))}lte(_,Y){return this.setLimit("max",_,!0,D.toString(Y))}lt(_,Y){return this.setLimit("max",_,!1,D.toString(Y))}setLimit(_,Y,X,J){return new j0({...this._def,checks:[...this._def.checks,{kind:_,value:Y,inclusive:X,message:D.toString(J)}]})}_addCheck(_){return new j0({...this._def,checks:[...this._def.checks,_]})}positive(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:D.toString(_)})}negative(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:D.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:D.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:D.toString(_)})}multipleOf(_,Y){return this._addCheck({kind:"multipleOf",value:_,message:D.toString(Y)})}get minValue(){let _=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(_===null||Y.value>_)_=Y.value}return _}get maxValue(){let _=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(_===null||Y.value<_)_=Y.value}return _}}j0.create=(_)=>{return new j0({checks:[],typeName:w.ZodBigInt,coerce:_?.coerce??!1,...P(_)})};class c0 extends T{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==F.boolean){let X=this._getOrReturnCtx(_);return f(X,{code:U.invalid_type,expected:F.boolean,received:X.parsedType}),A}return i(_.data)}}c0.create=(_)=>{return new c0({typeName:w.ZodBoolean,coerce:_?.coerce||!1,...P(_)})};class T0 extends T{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==F.date){let H=this._getOrReturnCtx(_);return f(H,{code:U.invalid_type,expected:F.date,received:H.parsedType}),A}if(Number.isNaN(_.data.getTime())){let H=this._getOrReturnCtx(_);return f(H,{code:U.invalid_date}),A}let X=new n,J=void 0;for(let H of this._def.checks)if(H.kind==="min"){if(_.data.getTime()<H.value)J=this._getOrReturnCtx(_,J),f(J,{code:U.too_small,message:H.message,inclusive:!0,exact:!1,minimum:H.value,type:"date"}),X.dirty()}else if(H.kind==="max"){if(_.data.getTime()>H.value)J=this._getOrReturnCtx(_,J),f(J,{code:U.too_big,message:H.message,inclusive:!0,exact:!1,maximum:H.value,type:"date"}),X.dirty()}else b.assertNever(H);return{status:X.value,value:new Date(_.data.getTime())}}_addCheck(_){return new T0({...this._def,checks:[...this._def.checks,_]})}min(_,Y){return this._addCheck({kind:"min",value:_.getTime(),message:D.toString(Y)})}max(_,Y){return this._addCheck({kind:"max",value:_.getTime(),message:D.toString(Y)})}get minDate(){let _=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(_===null||Y.value>_)_=Y.value}return _!=null?new Date(_):null}get maxDate(){let _=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(_===null||Y.value<_)_=Y.value}return _!=null?new Date(_):null}}T0.create=(_)=>{return new T0({checks:[],coerce:_?.coerce||!1,typeName:w.ZodDate,...P(_)})};class G2 extends T{_parse(_){if(this._getType(_)!==F.symbol){let X=this._getOrReturnCtx(_);return f(X,{code:U.invalid_type,expected:F.symbol,received:X.parsedType}),A}return i(_.data)}}G2.create=(_)=>{return new G2({typeName:w.ZodSymbol,...P(_)})};class u0 extends T{_parse(_){if(this._getType(_)!==F.undefined){let X=this._getOrReturnCtx(_);return f(X,{code:U.invalid_type,expected:F.undefined,received:X.parsedType}),A}return i(_.data)}}u0.create=(_)=>{return new u0({typeName:w.ZodUndefined,...P(_)})};class l0 extends T{_parse(_){if(this._getType(_)!==F.null){let X=this._getOrReturnCtx(_);return f(X,{code:U.invalid_type,expected:F.null,received:X.parsedType}),A}return i(_.data)}}l0.create=(_)=>{return new l0({typeName:w.ZodNull,...P(_)})};class v0 extends T{constructor(){super(...arguments);this._any=!0}_parse(_){return i(_.data)}}v0.create=(_)=>{return new v0({typeName:w.ZodAny,...P(_)})};class K0 extends T{constructor(){super(...arguments);this._unknown=!0}_parse(_){return i(_.data)}}K0.create=(_)=>{return new K0({typeName:w.ZodUnknown,...P(_)})};class G0 extends T{_parse(_){let Y=this._getOrReturnCtx(_);return f(Y,{code:U.invalid_type,expected:F.never,received:Y.parsedType}),A}}G0.create=(_)=>{return new G0({typeName:w.ZodNever,...P(_)})};class W2 extends T{_parse(_){if(this._getType(_)!==F.undefined){let X=this._getOrReturnCtx(_);return f(X,{code:U.invalid_type,expected:F.void,received:X.parsedType}),A}return i(_.data)}}W2.create=(_)=>{return new W2({typeName:w.ZodVoid,...P(_)})};class Y0 extends T{_parse(_){let{ctx:Y,status:X}=this._processInputParams(_),J=this._def;if(Y.parsedType!==F.array)return f(Y,{code:U.invalid_type,expected:F.array,received:Y.parsedType}),A;if(J.exactLength!==null){let Q=Y.data.length>J.exactLength.value,q=Y.data.length<J.exactLength.value;if(Q||q)f(Y,{code:Q?U.too_big:U.too_small,minimum:q?J.exactLength.value:void 0,maximum:Q?J.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:J.exactLength.message}),X.dirty()}if(J.minLength!==null){if(Y.data.length<J.minLength.value)f(Y,{code:U.too_small,minimum:J.minLength.value,type:"array",inclusive:!0,exact:!1,message:J.minLength.message}),X.dirty()}if(J.maxLength!==null){if(Y.data.length>J.maxLength.value)f(Y,{code:U.too_big,maximum:J.maxLength.value,type:"array",inclusive:!0,exact:!1,message:J.maxLength.message}),X.dirty()}if(Y.common.async)return Promise.all([...Y.data].map((Q,q)=>{return J.type._parseAsync(new J0(Y,Q,Y.path,q))})).then((Q)=>{return n.mergeArray(X,Q)});let H=[...Y.data].map((Q,q)=>{return J.type._parseSync(new J0(Y,Q,Y.path,q))});return n.mergeArray(X,H)}get element(){return this._def.type}min(_,Y){return new Y0({...this._def,minLength:{value:_,message:D.toString(Y)}})}max(_,Y){return new Y0({...this._def,maxLength:{value:_,message:D.toString(Y)}})}length(_,Y){return new Y0({...this._def,exactLength:{value:_,message:D.toString(Y)}})}nonempty(_){return this.min(1,_)}}Y0.create=(_,Y)=>{return new Y0({type:_,minLength:null,maxLength:null,exactLength:null,typeName:w.ZodArray,...P(Y)})};function g0(_){if(_ instanceof l){let Y={};for(let X in _.shape){let J=_.shape[X];Y[X]=X0.create(g0(J))}return new l({..._._def,shape:()=>Y})}else if(_ instanceof Y0)return new Y0({..._._def,type:g0(_.element)});else if(_ instanceof X0)return X0.create(g0(_.unwrap()));else if(_ instanceof F0)return F0.create(g0(_.unwrap()));else if(_ instanceof W0)return W0.create(_.items.map((Y)=>g0(Y)));else return _}class l extends T{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let _=this._def.shape(),Y=b.objectKeys(_);return this._cached={shape:_,keys:Y},this._cached}_parse(_){if(this._getType(_)!==F.object){let G=this._getOrReturnCtx(_);return f(G,{code:U.invalid_type,expected:F.object,received:G.parsedType}),A}let{status:X,ctx:J}=this._processInputParams(_),{shape:H,keys:Q}=this._getCached(),q=[];if(!(this._def.catchall instanceof G0&&this._def.unknownKeys==="strip")){for(let G in J.data)if(!Q.includes(G))q.push(G)}let $=[];for(let G of Q){let W=H[G],L=J.data[G];$.push({key:{status:"valid",value:G},value:W._parse(new J0(J,L,J.path,G)),alwaysSet:G in J.data})}if(this._def.catchall instanceof G0){let G=this._def.unknownKeys;if(G==="passthrough")for(let W of q)$.push({key:{status:"valid",value:W},value:{status:"valid",value:J.data[W]}});else if(G==="strict"){if(q.length>0)f(J,{code:U.unrecognized_keys,keys:q}),X.dirty()}else if(G==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let G=this._def.catchall;for(let W of q){let L=J.data[W];$.push({key:{status:"valid",value:W},value:G._parse(new J0(J,L,J.path,W)),alwaysSet:W in J.data})}}if(J.common.async)return Promise.resolve().then(async()=>{let G=[];for(let W of $){let L=await W.key,V=await W.value;G.push({key:L,value:V,alwaysSet:W.alwaysSet})}return G}).then((G)=>{return n.mergeObjectSync(X,G)});else return n.mergeObjectSync(X,$)}get shape(){return this._def.shape()}strict(_){return D.errToObj,new l({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:(Y,X)=>{let J=this._def.errorMap?.(Y,X).message??X.defaultError;if(Y.code==="unrecognized_keys")return{message:D.errToObj(_).message??J};return{message:J}}}:{}})}strip(){return new l({...this._def,unknownKeys:"strip"})}passthrough(){return new l({...this._def,unknownKeys:"passthrough"})}extend(_){return new l({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new l({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:w.ZodObject})}setKey(_,Y){return this.augment({[_]:Y})}catchall(_){return new l({...this._def,catchall:_})}pick(_){let Y={};for(let X of b.objectKeys(_))if(_[X]&&this.shape[X])Y[X]=this.shape[X];return new l({...this._def,shape:()=>Y})}omit(_){let Y={};for(let X of b.objectKeys(this.shape))if(!_[X])Y[X]=this.shape[X];return new l({...this._def,shape:()=>Y})}deepPartial(){return g0(this)}partial(_){let Y={};for(let X of b.objectKeys(this.shape)){let J=this.shape[X];if(_&&!_[X])Y[X]=J;else Y[X]=J.optional()}return new l({...this._def,shape:()=>Y})}required(_){let Y={};for(let X of b.objectKeys(this.shape))if(_&&!_[X])Y[X]=this.shape[X];else{let H=this.shape[X];while(H instanceof X0)H=H._def.innerType;Y[X]=H}return new l({...this._def,shape:()=>Y})}keyof(){return F4(b.objectKeys(this.shape))}}l.create=(_,Y)=>{return new l({shape:()=>_,unknownKeys:"strip",catchall:G0.create(),typeName:w.ZodObject,...P(Y)})};l.strictCreate=(_,Y)=>{return new l({shape:()=>_,unknownKeys:"strict",catchall:G0.create(),typeName:w.ZodObject,...P(Y)})};l.lazycreate=(_,Y)=>{return new l({shape:_,unknownKeys:"strip",catchall:G0.create(),typeName:w.ZodObject,...P(Y)})};class d0 extends T{_parse(_){let{ctx:Y}=this._processInputParams(_),X=this._def.options;function J(H){for(let q of H)if(q.result.status==="valid")return q.result;for(let q of H)if(q.result.status==="dirty")return Y.common.issues.push(...q.ctx.common.issues),q.result;let Q=H.map((q)=>new o(q.ctx.common.issues));return f(Y,{code:U.invalid_union,unionErrors:Q}),A}if(Y.common.async)return Promise.all(X.map(async(H)=>{let Q={...Y,common:{...Y.common,issues:[]},parent:null};return{result:await H._parseAsync({data:Y.data,path:Y.path,parent:Q}),ctx:Q}})).then(J);else{let H=void 0,Q=[];for(let $ of X){let G={...Y,common:{...Y.common,issues:[]},parent:null},W=$._parseSync({data:Y.data,path:Y.path,parent:G});if(W.status==="valid")return W;else if(W.status==="dirty"&&!H)H={result:W,ctx:G};if(G.common.issues.length)Q.push(G.common.issues)}if(H)return Y.common.issues.push(...H.ctx.common.issues),H.result;let q=Q.map(($)=>new o($));return f(Y,{code:U.invalid_union,unionErrors:q}),A}}get options(){return this._def.options}}d0.create=(_,Y)=>{return new d0({options:_,typeName:w.ZodUnion,...P(Y)})};var E0=(_)=>{if(_ instanceof n0)return E0(_.schema);else if(_ instanceof H0)return E0(_.innerType());else if(_ instanceof i0)return[_.value];else if(_ instanceof N0)return _.options;else if(_ instanceof r0)return b.objectValues(_.enum);else if(_ instanceof o0)return E0(_._def.innerType);else if(_ instanceof u0)return[void 0];else if(_ instanceof l0)return[null];else if(_ instanceof X0)return[void 0,...E0(_.unwrap())];else if(_ instanceof F0)return[null,...E0(_.unwrap())];else if(_ instanceof z2)return E0(_.unwrap());else if(_ instanceof a0)return E0(_.unwrap());else if(_ instanceof s0)return E0(_._def.innerType);else return[]};class w2 extends T{_parse(_){let{ctx:Y}=this._processInputParams(_);if(Y.parsedType!==F.object)return f(Y,{code:U.invalid_type,expected:F.object,received:Y.parsedType}),A;let X=this.discriminator,J=Y.data[X],H=this.optionsMap.get(J);if(!H)return f(Y,{code:U.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[X]}),A;if(Y.common.async)return H._parseAsync({data:Y.data,path:Y.path,parent:Y});else return H._parseSync({data:Y.data,path:Y.path,parent:Y})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(_,Y,X){let J=new Map;for(let H of Y){let Q=E0(H.shape[_]);if(!Q.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let q of Q){if(J.has(q))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(q)}`);J.set(q,H)}}return new w2({typeName:w.ZodDiscriminatedUnion,discriminator:_,options:Y,optionsMap:J,...P(X)})}}function X1(_,Y){let X=$0(_),J=$0(Y);if(_===Y)return{valid:!0,data:_};else if(X===F.object&&J===F.object){let H=b.objectKeys(Y),Q=b.objectKeys(_).filter(($)=>H.indexOf($)!==-1),q={..._,...Y};for(let $ of Q){let G=X1(_[$],Y[$]);if(!G.valid)return{valid:!1};q[$]=G.data}return{valid:!0,data:q}}else if(X===F.array&&J===F.array){if(_.length!==Y.length)return{valid:!1};let H=[];for(let Q=0;Q<_.length;Q++){let q=_[Q],$=Y[Q],G=X1(q,$);if(!G.valid)return{valid:!1};H.push(G.data)}return{valid:!0,data:H}}else if(X===F.date&&J===F.date&&+_===+Y)return{valid:!0,data:_};else return{valid:!1}}class p0 extends T{_parse(_){let{status:Y,ctx:X}=this._processInputParams(_),J=(H,Q)=>{if(A2(H)||A2(Q))return A;let q=X1(H.value,Q.value);if(!q.valid)return f(X,{code:U.invalid_intersection_types}),A;if(S2(H)||S2(Q))Y.dirty();return{status:Y.value,value:q.data}};if(X.common.async)return Promise.all([this._def.left._parseAsync({data:X.data,path:X.path,parent:X}),this._def.right._parseAsync({data:X.data,path:X.path,parent:X})]).then(([H,Q])=>J(H,Q));else return J(this._def.left._parseSync({data:X.data,path:X.path,parent:X}),this._def.right._parseSync({data:X.data,path:X.path,parent:X}))}}p0.create=(_,Y,X)=>{return new p0({left:_,right:Y,typeName:w.ZodIntersection,...P(X)})};class W0 extends T{_parse(_){let{status:Y,ctx:X}=this._processInputParams(_);if(X.parsedType!==F.array)return f(X,{code:U.invalid_type,expected:F.array,received:X.parsedType}),A;if(X.data.length<this._def.items.length)return f(X,{code:U.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;if(!this._def.rest&&X.data.length>this._def.items.length)f(X,{code:U.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Y.dirty();let H=[...X.data].map((Q,q)=>{let $=this._def.items[q]||this._def.rest;if(!$)return null;return $._parse(new J0(X,Q,X.path,q))}).filter((Q)=>!!Q);if(X.common.async)return Promise.all(H).then((Q)=>{return n.mergeArray(Y,Q)});else return n.mergeArray(Y,H)}get items(){return this._def.items}rest(_){return new W0({...this._def,rest:_})}}W0.create=(_,Y)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new W0({items:_,typeName:w.ZodTuple,rest:null,...P(Y)})};class L2 extends T{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:Y,ctx:X}=this._processInputParams(_);if(X.parsedType!==F.object)return f(X,{code:U.invalid_type,expected:F.object,received:X.parsedType}),A;let J=[],H=this._def.keyType,Q=this._def.valueType;for(let q in X.data)J.push({key:H._parse(new J0(X,q,X.path,q)),value:Q._parse(new J0(X,X.data[q],X.path,q)),alwaysSet:q in X.data});if(X.common.async)return n.mergeObjectAsync(Y,J);else return n.mergeObjectSync(Y,J)}get element(){return this._def.valueType}static create(_,Y,X){if(Y instanceof T)return new L2({keyType:_,valueType:Y,typeName:w.ZodRecord,...P(X)});return new L2({keyType:_0.create(),valueType:_,typeName:w.ZodRecord,...P(Y)})}}class B2 extends T{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:Y,ctx:X}=this._processInputParams(_);if(X.parsedType!==F.map)return f(X,{code:U.invalid_type,expected:F.map,received:X.parsedType}),A;let J=this._def.keyType,H=this._def.valueType,Q=[...X.data.entries()].map(([q,$],G)=>{return{key:J._parse(new J0(X,q,X.path,[G,"key"])),value:H._parse(new J0(X,$,X.path,[G,"value"]))}});if(X.common.async){let q=new Map;return Promise.resolve().then(async()=>{for(let $ of Q){let G=await $.key,W=await $.value;if(G.status==="aborted"||W.status==="aborted")return A;if(G.status==="dirty"||W.status==="dirty")Y.dirty();q.set(G.value,W.value)}return{status:Y.value,value:q}})}else{let q=new Map;for(let $ of Q){let{key:G,value:W}=$;if(G.status==="aborted"||W.status==="aborted")return A;if(G.status==="dirty"||W.status==="dirty")Y.dirty();q.set(G.value,W.value)}return{status:Y.value,value:q}}}}B2.create=(_,Y,X)=>{return new B2({valueType:Y,keyType:_,typeName:w.ZodMap,...P(X)})};class b0 extends T{_parse(_){let{status:Y,ctx:X}=this._processInputParams(_);if(X.parsedType!==F.set)return f(X,{code:U.invalid_type,expected:F.set,received:X.parsedType}),A;let J=this._def;if(J.minSize!==null){if(X.data.size<J.minSize.value)f(X,{code:U.too_small,minimum:J.minSize.value,type:"set",inclusive:!0,exact:!1,message:J.minSize.message}),Y.dirty()}if(J.maxSize!==null){if(X.data.size>J.maxSize.value)f(X,{code:U.too_big,maximum:J.maxSize.value,type:"set",inclusive:!0,exact:!1,message:J.maxSize.message}),Y.dirty()}let H=this._def.valueType;function Q($){let G=new Set;for(let W of $){if(W.status==="aborted")return A;if(W.status==="dirty")Y.dirty();G.add(W.value)}return{status:Y.value,value:G}}let q=[...X.data.values()].map(($,G)=>H._parse(new J0(X,$,X.path,G)));if(X.common.async)return Promise.all(q).then(($)=>Q($));else return Q(q)}min(_,Y){return new b0({...this._def,minSize:{value:_,message:D.toString(Y)}})}max(_,Y){return new b0({...this._def,maxSize:{value:_,message:D.toString(Y)}})}size(_,Y){return this.min(_,Y).max(_,Y)}nonempty(_){return this.min(1,_)}}b0.create=(_,Y)=>{return new b0({valueType:_,minSize:null,maxSize:null,typeName:w.ZodSet,...P(Y)})};class m0 extends T{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:Y}=this._processInputParams(_);if(Y.parsedType!==F.function)return f(Y,{code:U.invalid_type,expected:F.function,received:Y.parsedType}),A;function X(q,$){return $2({data:q,path:Y.path,errorMaps:[Y.common.contextualErrorMap,Y.schemaErrorMap,y0(),U0].filter((G)=>!!G),issueData:{code:U.invalid_arguments,argumentsError:$}})}function J(q,$){return $2({data:q,path:Y.path,errorMaps:[Y.common.contextualErrorMap,Y.schemaErrorMap,y0(),U0].filter((G)=>!!G),issueData:{code:U.invalid_return_type,returnTypeError:$}})}let H={errorMap:Y.common.contextualErrorMap},Q=Y.data;if(this._def.returns instanceof Z0){let q=this;return i(async function(...$){let G=new o([]),W=await q._def.args.parseAsync($,H).catch((E)=>{throw G.addIssue(X($,E)),G}),L=await Reflect.apply(Q,this,W);return await q._def.returns._def.type.parseAsync(L,H).catch((E)=>{throw G.addIssue(J(L,E)),G})})}else{let q=this;return i(function(...$){let G=q._def.args.safeParse($,H);if(!G.success)throw new o([X($,G.error)]);let W=Reflect.apply(Q,this,G.data),L=q._def.returns.safeParse(W,H);if(!L.success)throw new o([J(W,L.error)]);return L.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new m0({...this._def,args:W0.create(_).rest(K0.create())})}returns(_){return new m0({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,Y,X){return new m0({args:_?_:W0.create([]).rest(K0.create()),returns:Y||K0.create(),typeName:w.ZodFunction,...P(X)})}}class n0 extends T{get schema(){return this._def.getter()}_parse(_){let{ctx:Y}=this._processInputParams(_);return this._def.getter()._parse({data:Y.data,path:Y.path,parent:Y})}}n0.create=(_,Y)=>{return new n0({getter:_,typeName:w.ZodLazy,...P(Y)})};class i0 extends T{_parse(_){if(_.data!==this._def.value){let Y=this._getOrReturnCtx(_);return f(Y,{received:Y.data,code:U.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:_.data}}get value(){return this._def.value}}i0.create=(_,Y)=>{return new i0({value:_,typeName:w.ZodLiteral,...P(Y)})};function F4(_,Y){return new N0({values:_,typeName:w.ZodEnum,...P(Y)})}class N0 extends T{_parse(_){if(typeof _.data!=="string"){let Y=this._getOrReturnCtx(_),X=this._def.values;return f(Y,{expected:b.joinValues(X),received:Y.parsedType,code:U.invalid_type}),A}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let Y=this._getOrReturnCtx(_),X=this._def.values;return f(Y,{received:Y.data,code:U.invalid_enum_value,options:X}),A}return i(_.data)}get options(){return this._def.values}get enum(){let _={};for(let Y of this._def.values)_[Y]=Y;return _}get Values(){let _={};for(let Y of this._def.values)_[Y]=Y;return _}get Enum(){let _={};for(let Y of this._def.values)_[Y]=Y;return _}extract(_,Y=this._def){return N0.create(_,{...this._def,...Y})}exclude(_,Y=this._def){return N0.create(this.options.filter((X)=>!_.includes(X)),{...this._def,...Y})}}N0.create=F4;class r0 extends T{_parse(_){let Y=b.getValidEnumValues(this._def.values),X=this._getOrReturnCtx(_);if(X.parsedType!==F.string&&X.parsedType!==F.number){let J=b.objectValues(Y);return f(X,{expected:b.joinValues(J),received:X.parsedType,code:U.invalid_type}),A}if(!this._cache)this._cache=new Set(b.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let J=b.objectValues(Y);return f(X,{received:X.data,code:U.invalid_enum_value,options:J}),A}return i(_.data)}get enum(){return this._def.values}}r0.create=(_,Y)=>{return new r0({values:_,typeName:w.ZodNativeEnum,...P(Y)})};class Z0 extends T{unwrap(){return this._def.type}_parse(_){let{ctx:Y}=this._processInputParams(_);if(Y.parsedType!==F.promise&&Y.common.async===!1)return f(Y,{code:U.invalid_type,expected:F.promise,received:Y.parsedType}),A;let X=Y.parsedType===F.promise?Y.data:Promise.resolve(Y.data);return i(X.then((J)=>{return this._def.type.parseAsync(J,{path:Y.path,errorMap:Y.common.contextualErrorMap})}))}}Z0.create=(_,Y)=>{return new Z0({type:_,typeName:w.ZodPromise,...P(Y)})};class H0 extends T{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===w.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:Y,ctx:X}=this._processInputParams(_),J=this._def.effect||null,H={addIssue:(Q)=>{if(f(X,Q),Q.fatal)Y.abort();else Y.dirty()},get path(){return X.path}};if(H.addIssue=H.addIssue.bind(H),J.type==="preprocess"){let Q=J.transform(X.data,H);if(X.common.async)return Promise.resolve(Q).then(async(q)=>{if(Y.value==="aborted")return A;let $=await this._def.schema._parseAsync({data:q,path:X.path,parent:X});if($.status==="aborted")return A;if($.status==="dirty")return C0($.value);if(Y.value==="dirty")return C0($.value);return $});else{if(Y.value==="aborted")return A;let q=this._def.schema._parseSync({data:Q,path:X.path,parent:X});if(q.status==="aborted")return A;if(q.status==="dirty")return C0(q.value);if(Y.value==="dirty")return C0(q.value);return q}}if(J.type==="refinement"){let Q=(q)=>{let $=J.refinement(q,H);if(X.common.async)return Promise.resolve($);if($ instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return q};if(X.common.async===!1){let q=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(q.status==="aborted")return A;if(q.status==="dirty")Y.dirty();return Q(q.value),{status:Y.value,value:q.value}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((q)=>{if(q.status==="aborted")return A;if(q.status==="dirty")Y.dirty();return Q(q.value).then(()=>{return{status:Y.value,value:q.value}})})}if(J.type==="transform")if(X.common.async===!1){let Q=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(!f0(Q))return A;let q=J.transform(Q.value,H);if(q instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:Y.value,value:q}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((Q)=>{if(!f0(Q))return A;return Promise.resolve(J.transform(Q.value,H)).then((q)=>({status:Y.value,value:q}))});b.assertNever(J)}}H0.create=(_,Y,X)=>{return new H0({schema:_,typeName:w.ZodEffects,effect:Y,...P(X)})};H0.createWithPreprocess=(_,Y,X)=>{return new H0({schema:Y,effect:{type:"preprocess",transform:_},typeName:w.ZodEffects,...P(X)})};class X0 extends T{_parse(_){if(this._getType(_)===F.undefined)return i(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}X0.create=(_,Y)=>{return new X0({innerType:_,typeName:w.ZodOptional,...P(Y)})};class F0 extends T{_parse(_){if(this._getType(_)===F.null)return i(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}F0.create=(_,Y)=>{return new F0({innerType:_,typeName:w.ZodNullable,...P(Y)})};class o0 extends T{_parse(_){let{ctx:Y}=this._processInputParams(_),X=Y.data;if(Y.parsedType===F.undefined)X=this._def.defaultValue();return this._def.innerType._parse({data:X,path:Y.path,parent:Y})}removeDefault(){return this._def.innerType}}o0.create=(_,Y)=>{return new o0({innerType:_,typeName:w.ZodDefault,defaultValue:typeof Y.default==="function"?Y.default:()=>Y.default,...P(Y)})};class s0 extends T{_parse(_){let{ctx:Y}=this._processInputParams(_),X={...Y,common:{...Y.common,issues:[]}},J=this._def.innerType._parse({data:X.data,path:X.path,parent:{...X}});if(h0(J))return J.then((H)=>{return{status:"valid",value:H.status==="valid"?H.value:this._def.catchValue({get error(){return new o(X.common.issues)},input:X.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new o(X.common.issues)},input:X.data})}}removeCatch(){return this._def.innerType}}s0.create=(_,Y)=>{return new s0({innerType:_,typeName:w.ZodCatch,catchValue:typeof Y.catch==="function"?Y.catch:()=>Y.catch,...P(Y)})};class M2 extends T{_parse(_){if(this._getType(_)!==F.nan){let X=this._getOrReturnCtx(_);return f(X,{code:U.invalid_type,expected:F.nan,received:X.parsedType}),A}return{status:"valid",value:_.data}}}M2.create=(_)=>{return new M2({typeName:w.ZodNaN,...P(_)})};var M8=Symbol("zod_brand");class z2 extends T{_parse(_){let{ctx:Y}=this._processInputParams(_),X=Y.data;return this._def.type._parse({data:X,path:Y.path,parent:Y})}unwrap(){return this._def.type}}class V2 extends T{_parse(_){let{status:Y,ctx:X}=this._processInputParams(_);if(X.common.async)return(async()=>{let H=await this._def.in._parseAsync({data:X.data,path:X.path,parent:X});if(H.status==="aborted")return A;if(H.status==="dirty")return Y.dirty(),C0(H.value);else return this._def.out._parseAsync({data:H.value,path:X.path,parent:X})})();else{let J=this._def.in._parseSync({data:X.data,path:X.path,parent:X});if(J.status==="aborted")return A;if(J.status==="dirty")return Y.dirty(),{status:"dirty",value:J.value};else return this._def.out._parseSync({data:J.value,path:X.path,parent:X})}}static create(_,Y){return new V2({in:_,out:Y,typeName:w.ZodPipeline})}}class a0 extends T{_parse(_){let Y=this._def.innerType._parse(_),X=(J)=>{if(f0(J))J.value=Object.freeze(J.value);return J};return h0(Y)?Y.then((J)=>X(J)):X(Y)}unwrap(){return this._def.innerType}}a0.create=(_,Y)=>{return new a0({innerType:_,typeName:w.ZodReadonly,...P(Y)})};function M4(_,Y){let X=typeof _==="function"?_(Y):typeof _==="string"?{message:_}:_;return typeof X==="string"?{message:X}:X}function R4(_,Y={},X){if(_)return v0.create().superRefine((J,H)=>{let Q=_(J);if(Q instanceof Promise)return Q.then((q)=>{if(!q){let $=M4(Y,J),G=$.fatal??X??!0;H.addIssue({code:"custom",...$,fatal:G})}});if(!Q){let q=M4(Y,J),$=q.fatal??X??!0;H.addIssue({code:"custom",...q,fatal:$})}return});return v0.create()}var V8={object:l.lazycreate},w;(function(_){_.ZodString="ZodString",_.ZodNumber="ZodNumber",_.ZodNaN="ZodNaN",_.ZodBigInt="ZodBigInt",_.ZodBoolean="ZodBoolean",_.ZodDate="ZodDate",_.ZodSymbol="ZodSymbol",_.ZodUndefined="ZodUndefined",_.ZodNull="ZodNull",_.ZodAny="ZodAny",_.ZodUnknown="ZodUnknown",_.ZodNever="ZodNever",_.ZodVoid="ZodVoid",_.ZodArray="ZodArray",_.ZodObject="ZodObject",_.ZodUnion="ZodUnion",_.ZodDiscriminatedUnion="ZodDiscriminatedUnion",_.ZodIntersection="ZodIntersection",_.ZodTuple="ZodTuple",_.ZodRecord="ZodRecord",_.ZodMap="ZodMap",_.ZodSet="ZodSet",_.ZodFunction="ZodFunction",_.ZodLazy="ZodLazy",_.ZodLiteral="ZodLiteral",_.ZodEnum="ZodEnum",_.ZodEffects="ZodEffects",_.ZodNativeEnum="ZodNativeEnum",_.ZodOptional="ZodOptional",_.ZodNullable="ZodNullable",_.ZodDefault="ZodDefault",_.ZodCatch="ZodCatch",_.ZodPromise="ZodPromise",_.ZodBranded="ZodBranded",_.ZodPipeline="ZodPipeline",_.ZodReadonly="ZodReadonly"})(w||(w={}));var U8=(_,Y={message:`Input not instance of ${_.name}`})=>R4((X)=>X instanceof _,Y),f4=_0.create,K4=D0.create,E8=M2.create,F8=j0.create,D4=c0.create,R8=T0.create,f8=G2.create,K8=u0.create,D8=l0.create,j8=v0.create,N8=K0.create,A8=G0.create,S8=W2.create,w8=Y0.create,z8=l.create,O8=l.strictCreate,I8=d0.create,P8=w2.create,k8=p0.create,C8=W0.create,T8=L2.create,v8=B2.create,b8=b0.create,Z8=m0.create,x8=n0.create,y8=i0.create,h8=N0.create,g8=r0.create,m8=Z0.create,c8=H0.create,u8=X0.create,l8=F0.create,d8=H0.createWithPreprocess,p8=V2.create,n8=()=>f4().optional(),i8=()=>K4().optional(),r8=()=>D4().optional(),o8={string:(_)=>_0.create({..._,coerce:!0}),number:(_)=>D0.create({..._,coerce:!0}),boolean:(_)=>c0.create({..._,coerce:!0}),bigint:(_)=>j0.create({..._,coerce:!0}),date:(_)=>T0.create({..._,coerce:!0})};var s8=A;var a8=B.object({type:B.literal("user"),text:B.string(),id:B.string().optional(),timestamp:B.string().optional()}),t8=B.object({type:B.literal("compaction-summary"),text:B.string(),id:B.string().optional(),timestamp:B.string().optional()}),e8=B.object({type:B.literal("agent"),text:B.string(),id:B.string().optional(),timestamp:B.string().optional(),model:B.string().optional()}),_9=B.object({type:B.literal("thinking"),text:B.string(),id:B.string().optional(),timestamp:B.string().optional(),model:B.string().optional()}),j4=B.object({type:B.literal("tool-call"),toolName:B.string().nullable(),input:B.unknown().optional(),output:B.unknown().optional(),error:B.string().optional(),isError:B.union([B.boolean(),B.string()]).optional(),id:B.string().optional(),timestamp:B.string().optional(),model:B.string().optional()}),s=B.discriminatedUnion("type",[a8,t8,e8,_9,j4]),H1=B.object({inputTokens:B.number(),cachedInputTokens:B.number(),outputTokens:B.number(),reasoningOutputTokens:B.number(),totalTokens:B.number()}),L0=j4,Y9=L0.extend({toolName:B.literal("Write"),input:B.object({file_path:B.string(),content:B.string().optional()}).passthrough().optional(),output:B.object({type:B.string().optional()}).passthrough().optional()}),X9=L0.extend({toolName:B.literal("Read"),input:B.object({file_path:B.string()}).passthrough().optional(),output:B.union([B.string(),B.object({type:B.string().optional(),file:B.object({content:B.string().optional(),numLines:B.number().optional(),startLine:B.number().optional(),totalLines:B.number().optional()}).passthrough().optional()}).passthrough()]).optional()}),J9=L0.extend({toolName:B.literal("Edit"),input:B.object({file_path:B.string(),diff:B.string().optional()}).passthrough().optional(),output:B.union([B.string(),B.object({userModified:B.boolean().optional()}).passthrough()]).optional()}),N4=B.object({filenames:B.array(B.string()),durationMs:B.number().optional(),truncated:B.boolean().optional()}).passthrough(),H9=L0.extend({toolName:B.literal("Glob"),input:B.object({pattern:B.string().optional()}).passthrough().optional(),output:N4.optional()}),Q9=L0.extend({toolName:B.literal("Grep"),input:B.unknown().optional(),output:N4.extend({mode:B.string().optional(),numMatches:B.number().optional()}).passthrough().optional()}),q9=L0.extend({toolName:B.literal("Bash"),input:B.unknown().optional(),output:B.union([B.string(),B.object({stdout:B.string().optional(),stderr:B.string().optional(),interrupted:B.boolean().optional(),isImage:B.boolean().optional()}).passthrough()]).optional()}),$9=L0.extend({toolName:B.literal("BashOutput"),input:B.object({bash_id:B.string().optional()}).passthrough().optional(),output:B.object({command:B.string().optional(),exitCode:B.number().optional(),shellId:B.string().optional(),status:B.string().optional(),stderr:B.string().optional(),stdout:B.string().optional(),timestamp:B.string().optional()}).passthrough().optional()}),G9=L0.extend({toolName:B.literal("Task"),input:B.unknown().optional(),output:B.object({status:B.string().optional(),totalDurationMs:B.number().optional(),totalToolUseCount:B.number().optional(),content:B.array(B.object({type:B.string().optional(),text:B.string().optional()}).passthrough()).optional(),usage:H1.optional()}).passthrough().optional()}),J1=B.object({content:B.string(),status:B.string().optional()}).passthrough(),W9=L0.extend({toolName:B.literal("TodoWrite"),input:B.object({todos:B.array(J1).optional()}).passthrough().optional(),output:B.object({oldTodos:B.array(J1).optional(),newTodos:B.array(J1).optional()}).passthrough().optional()}),L9=[Y9,X9,J9,H9,Q9,q9,$9,G9,W9],B9=L0,A4=B.union([...L9,B9]),O2=B.object({model:B.string(),usage:H1}),B0=B.object({relativeCwd:B.string().nullable(),branch:B.string().nullable(),repo:B.string().nullable()}).strict().nullable(),U2=B.object({v:B.literal(1),id:B.string(),source:B.enum(["claude-code","codex","opencode","unknown"]),timestamp:B.coerce.date(),preview:B.string().nullable(),model:B.string().nullable(),blendedTokens:B.number(),costUsd:B.number(),messageCount:B.number(),tokenUsage:H1,modelUsage:B.array(O2),git:B0,cwd:B.string().nullable(),messages:B.array(s)});var V9=200000,U9=["anthropic/","claude-3-5-","claude-3-","claude-","openai/","azure/","openrouter/openai/"],O4=new Set(["[request interrupted by user]","[request aborted by user]","[request cancelled by user]"]),E9=/^<\/?(?:command|local)-[a-z-]+>/i,I4=/^[α-ωΑ-Ω]\s/i,P4=["npm ","npm:","npm error","node:","node.js","error:","fatal:","warning:","traceback (most recent call last):","usage:","hint:","note:","code:","requirestack"],F9=new RegExp("\\b("+["fix","please","should","update","change","add","remove","create","write","implement","refactor","investigate","explain","help","why","what","how","need","ensure","make","build","let's","optimize","review","check"].join("|")+")\\b","i"),R9=3;function k4(_,Y={}){let X=f9(_);if(X.records.size===0)return null;let J=j9(X.records,X.children);if(!J)return null;let H=N9(J,X.records);if(H.length===0)return null;let Q=A9(H),q=w9(Q),$=z9(Q),G=y9(q),W=Q.map((M)=>{let R=M.message?.usage;if(!R)return null;return{model:M.message?.model??null,usage:R}}).filter((M)=>M!==null),L=g9(W,Y.pricing),V=O9(H),E=V.length>0?k9(V[0]):null,N=b4(J.timestamp)??Y.now??new Date,v=v9(H),Z=b9($),S=T9(H),O=$1(H),c=O?k0(O):"",{messages:u,blobs:K}=u9(H),d={v:1,id:v??J.uuid,source:"claude-code",timestamp:N,preview:E,model:Z,blendedTokens:G,costUsd:L,messageCount:H.length,tokenUsage:q,modelUsage:Array.from($.entries()).map(([M,R])=>({model:M,usage:R})),git:S,cwd:c,messages:u};return{transcript:U2.parse(d),blobs:K}}function f9(_){let Y=new Map,X=new Map;for(let J of _){let H=typeof J.type==="string"?J.type:"";if(H==="summary")continue;let Q=typeof J.uuid==="string"?J.uuid:null;if(!Q)continue;let q={uuid:Q,type:H,timestamp:typeof J.timestamp==="string"?J.timestamp:void 0,parentUuid:typeof J.parentUuid==="string"||J.parentUuid===null?J.parentUuid:void 0,logicalParentUuid:typeof J.logicalParentUuid==="string"||J.logicalParentUuid===null?J.logicalParentUuid:void 0,isSidechain:Boolean(J.isSidechain),isMeta:Boolean(J.isMeta),isCompactSummary:Boolean(J.isCompactSummary),sessionId:typeof J.sessionId==="string"?J.sessionId:void 0,cwd:typeof J.cwd==="string"?J.cwd:void 0,gitBranch:typeof J.gitBranch==="string"?J.gitBranch:void 0,costUSD:typeof J.costUSD==="number"?J.costUSD:void 0,message:K9(J.message),raw:J};if(Y.set(Q,q),q.parentUuid){let $=X.get(q.parentUuid)??new Set;$.add(Q),X.set(q.parentUuid,$)}}return{records:Y,children:X}}function K9(_){if(!_||typeof _!=="object")return;let Y=_,X=typeof Y.id==="string"?Y.id:void 0,J=typeof Y.role==="string"?Y.role:void 0,H=Y.content,Q=typeof Y.model==="string"?Y.model:void 0,q=D9(Y.usage);return{id:X,role:J,content:H,model:Q,usage:q}}function D9(_){if(!_||typeof _!=="object")return null;let Y=_,X={};if(typeof Y.input_tokens==="number")X.input_tokens=Y.input_tokens;if(typeof Y.cache_creation_input_tokens==="number")X.cache_creation_input_tokens=Y.cache_creation_input_tokens;if(typeof Y.cache_read_input_tokens==="number")X.cache_read_input_tokens=Y.cache_read_input_tokens;if(typeof Y.output_tokens==="number")X.output_tokens=Y.output_tokens;if(typeof Y.reasoning_output_tokens==="number")X.reasoning_output_tokens=Y.reasoning_output_tokens;return Object.keys(X).length>0?X:null}function j9(_,Y){let X=[];for(let J of _.values())if(!Y.has(J.uuid))X.push(J);if(X.length===0)return null;return X.sort((J,H)=>{let Q=S4(J.timestamp)??0,q=S4(H.timestamp)??0;if(Q===q)return J.uuid.localeCompare(H.uuid);return q-Q}),X[0]}function N9(_,Y){let X=[],J=new Set,H=_;while(H){if(J.has(H.uuid))break;J.add(H.uuid),X.unshift(H);let Q=H.parentUuid??H.logicalParentUuid??void 0;if(!Q)break;H=Y.get(Q)}return X}function A9(_){let Y=new Map;for(let X of _){if(X.type!=="assistant")continue;if(!X.message?.usage)continue;let H=S9(X);Y.set(H,X)}return Array.from(Y.values())}function S9(_){let Y=_.message,X=w4(Y?.id),J=w4(_.raw.requestId);if(X&&J)return`${X}:${J}`;if(X)return X;if(J)return J;return _.uuid}function w9(_){let Y={inputTokens:0,cachedInputTokens:0,outputTokens:0,reasoningOutputTokens:0,totalTokens:0};for(let X of _){let J=X.message?.usage;if(!J)continue;let H=a(J.input_tokens),Q=a(J.cache_creation_input_tokens),q=a(J.cache_read_input_tokens),$=a(J.output_tokens),G=a(J.reasoning_output_tokens);Y.inputTokens+=H+Q+q,Y.cachedInputTokens+=q,Y.outputTokens+=$,Y.reasoningOutputTokens+=G,Y.totalTokens+=H+Q+q+$+G}return Y}function z9(_){let Y=new Map;for(let X of _){let J=X.message?.model,H=X.message?.usage;if(!J||!H)continue;let Q=Y.get(J)??{inputTokens:0,cachedInputTokens:0,outputTokens:0,reasoningOutputTokens:0,totalTokens:0},q=a(H.input_tokens),$=a(H.cache_creation_input_tokens),G=a(H.cache_read_input_tokens),W=a(H.output_tokens),L=a(H.reasoning_output_tokens);Q.inputTokens+=q+$+G,Q.cachedInputTokens+=G,Q.outputTokens+=W,Q.reasoningOutputTokens+=L,Q.totalTokens+=q+$+G+W+L,Y.set(J,Q)}return Y}function O9(_){let Y=[];for(let X of _){if(!I9(X))continue;Y.push(X)}return Y}function I9(_){if(_.type!=="user")return!1;if(_.isSidechain)return!1;if(_.isMeta)return!1;let Y=_.raw;if(Y&&typeof Y==="object"){if("toolUseResult"in Y)return!1}let X=_.message?.content;if(Array.isArray(X)){if(X.some((Q)=>P9(Q)))return!1}let J=T4(_);if(!J)return!1;let H=J.toLowerCase();if(O4.has(H))return!1;if(C4(J))return!1;if(I4.test(J))return!1;if(P4.some((Q)=>H.startsWith(Q))){if(!v4(J))return!1}return!0}function P9(_){if(!_||typeof _!=="object")return!1;let Y=_;if(Y.type==="tool_result")return!0;if(typeof Y.tool_use_id==="string")return!0;return!1}function C4(_){return E9.test(_)}function k9(_,Y=80){let X=T4(_);if(!X)return null;return C9(X,Y)}function C9(_,Y){let X=t0(_);if(X.length<=Y)return X;if(Y<=1)return X.slice(0,Y);return`${X.slice(0,Y-1)}…`}function $1(_){for(let Y of _)if(Y.cwd)return Y.cwd;return}function T9(_){let Y=$1(_),X=_.find((Q)=>Q.gitBranch)?.gitBranch??null;if(!Y)return B0.parse({relativeCwd:null,branch:X,repo:null});let J=Y.split(/[\\/]+/).filter(Boolean);if(J.length===0)return B0.parse({relativeCwd:null,branch:X,repo:null});let H=J.findIndex((Q)=>{let q=Q.toLowerCase();return q.includes("github")||q.includes("gitlab")||q.includes("bitbucket")});if(H>=0){let Q=J[H]?.toLowerCase()??"",q=Q.includes("gitlab")?"gitlab.com":Q.includes("bitbucket")?"bitbucket.org":"github.com",$=J[H+1],G=J[H+2]?.replace(/\.git$/i,"");if($&&G){let W=J.slice(H+3),L=W.length>0?W.join("/"):".";return B0.parse({relativeCwd:j2(L),branch:X,repo:`${q}/${$}/${G}`})}}return B0.parse({relativeCwd:null,branch:X,repo:null})}function v9(_){for(let Y of _){let X=typeof Y.sessionId==="string"?Y.sessionId.trim():"";if(X.length>0)return X}return null}function b9(_){let Y=null,X=-1;for(let[J,H]of _){let Q=H.totalTokens>0?H.totalTokens:H.inputTokens+H.outputTokens;if(Q>X)X=Q,Y=J}return Y}function T4(_){return Z9(_.message)[0]??null}function Z9(_){if(!_)return[];let Y=_.content;if(typeof Y==="string"){let X=Q1(Y);return X?[X]:[]}if(Array.isArray(Y)){let X=[];for(let J of Y){if(typeof J==="string"){let H=Q1(J);if(H)X.push(H);continue}if(J&&typeof J==="object"){let H=J,Q=["content","text"];for(let q of Q){let $=H[q];if(typeof $==="string"){let G=Q1($);if(G)X.push(G)}}}}return X}return[]}function Q1(_,Y=R9){let X=x9(_);if(X.length===0)return null;let H=X.slice(0,Y).join(" "),Q=t0(H);return Q.length>0?Q:null}function x9(_){let Y=[];for(let X of _.split(/\r?\n/)){let J=X.trim();if(!J)continue;let H=J.toLowerCase();if(O4.has(H))continue;if(C4(J))continue;if(I4.test(J))continue;if(P4.some((Q)=>H.startsWith(Q))){if(!v4(J))continue}if(!/[a-z]/i.test(J)&&!/\d/.test(J))continue;Y.push(J)}return Y}function t0(_){return _.replace(/\s+/g," ").trim()}function v4(_){let Y=_.toLowerCase();if(F9.test(Y))return!0;if(Y.includes("?"))return!0;return["can you","can we","could you","could we","would you","would we","should we","should i","let's","let us"].some((J)=>Y.includes(J))}function y9(_){return Math.max(0,_.inputTokens-_.cachedInputTokens)+_.outputTokens+_.reasoningOutputTokens}function b4(_){if(!_)return null;let Y=new Date(_);return Number.isNaN(Y.getTime())?null:Y}function S4(_){let Y=b4(_);return Y?Y.getTime():null}function a(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function w4(_){if(typeof _!=="string")return;let Y=_.trim();return Y.length>0?Y:void 0}function h9(_){return M9.createHash("sha256").update(_).digest("hex")}function q1(_,Y){if(_===null||_===void 0)return _;if(Array.isArray(_))return _.map((X)=>q1(X,Y));if(typeof _==="object"){let X=_;if(X.type==="image"&&X.source&&typeof X.source==="object"){let H=X.source;if(typeof H.data==="string"&&H.data.length>0){let Q=H.data,q=typeof H.mediaType==="string"?H.mediaType:typeof H.media_type==="string"?H.media_type:"image/unknown",$=Buffer.from(Q,"base64"),G=h9($);if(!Y.has(G))Y.set(G,{data:$,mediaType:q});return{type:"image",source:{type:"sha256",mediaType:q,sha256:G}}}}let J={};for(let[H,Q]of Object.entries(X))J[H]=q1(Q,Y);return J}return _}function g9(_,Y){if(!Y||Object.keys(Y).length===0)return 0;let X=0;for(let J of _){let H=J.model;if(!H)continue;let Q=m9(H,Y);if(!Q)continue;let q=c9({input_tokens:a(J.usage.input_tokens),output_tokens:a(J.usage.output_tokens),cache_creation_input_tokens:a(J.usage.cache_creation_input_tokens),cache_read_input_tokens:a(J.usage.cache_read_input_tokens)},Q);X+=q}return X}function m9(_,Y){let X=_.trim();if(!X)return null;let J=new Set;J.add(X);for(let Q of U9)J.add(`${Q}${X}`);for(let Q of J){let q=Y[Q];if(q)return q}let H=X.toLowerCase();for(let[Q,q]of Object.entries(Y)){let $=Q.toLowerCase();if($.includes(H)||H.includes($))return q}return null}function c9(_,Y){let X=($,G,W,L=V9)=>{if($==null||$<=0)return 0;if($>L&&W!=null){let V=Math.min($,L),N=Math.max(0,$-L)*W;if(G!=null)N+=V*G;return N}if(G!=null)return $*G;return 0},J=X(_.input_tokens,Y.input_cost_per_token,Y.input_cost_per_token_above_200k_tokens),H=X(_.output_tokens,Y.output_cost_per_token,Y.output_cost_per_token_above_200k_tokens),Q=X(_.cache_creation_input_tokens,Y.cache_creation_input_token_cost,Y.cache_creation_input_token_cost_above_200k_tokens),q=X(_.cache_read_input_tokens,Y.cache_read_input_token_cost,Y.cache_read_input_token_cost_above_200k_tokens);return J+H+Q+q}function u9(_){let Y=[],X=new Map,J=new Map,H=$1(_);for(let Q of _){if(Q.isMeta)continue;let q=d9(Q),$=Q.type;if($==="user"){let{texts:G,toolResults:W}=l9(Q);for(let L of G){if(!L.trim())continue;Y.push(s.parse({type:Q.isCompactSummary?"compaction-summary":"user",text:L.trim(),id:Q.uuid,timestamp:q.timestamp}))}for(let L of W){let V=L.callId?J.get(L.callId):void 0;if(V){let E=Y[V.index];if(E.output=q1(L.output,X),L.error)E.error=L.error;if(typeof L.isError<"u")E.isError=L.isError;let N=z4(E,H);Y[V.index]=N}}continue}if($==="assistant"){let G=Q.message?.content;if(!Array.isArray(G))continue;for(let W of G){if(!W||typeof W!=="object")continue;let L=W;if(L.type==="thinking"&&typeof L.thinking==="string"){Y.push(s.parse({type:"thinking",text:L.thinking,...q}));continue}if(L.type==="text"&&typeof L.text==="string"){Y.push(s.parse({type:"agent",text:L.text,...q}));continue}if(L.type==="tool_use"){let V=typeof L.id==="string"?L.id:"",E=typeof L.name==="string"?L.name:null,N=L.input??void 0,v={type:"tool-call",toolName:E,...q,input:N},Z=s.parse(v),S=z4(Z,H);if(Y.push(S),V)J.set(V,{index:Y.length-1,toolName:E});continue}if(L.type==="image")continue}}}return{messages:Y,blobs:X}}function l9(_){let Y=_.message;if(!Y)return{texts:[],toolResults:[]};let X=Y.content;if(typeof X==="string"){let Q=t0(X);return Q?{texts:[Q],toolResults:[]}:{texts:[],toolResults:[]}}if(!Array.isArray(X))return{texts:[],toolResults:[]};let J=[],H=[];for(let Q of X){if(!Q||typeof Q!=="object")continue;if(typeof Q==="string"){let G=t0(Q);if(G)J.push(G);continue}let q=Q,$=typeof q.type==="string"?q.type:void 0;if($==="tool_result"){let G=q,W=typeof G.tool_use_id==="string"?G.tool_use_id:void 0,L=G.content,V=_.raw.toolUseResult??_.raw.tool_use_result;if(V)L=V;let E=typeof G.error==="string"?G.error:void 0,N=G.is_error??G.isError,v=typeof N==="boolean"?N:typeof G.success==="boolean"?!G.success:void 0;H.push({callId:W,output:L,error:E,isError:v});continue}if($==="text"&&typeof q.text==="string"){let G=t0(q.text);if(G)J.push(G);continue}for(let G of["content","text"]){let W=q[G];if(typeof W==="string"){let L=t0(W);if(L)J.push(L)}}}return{texts:J,toolResults:H}}function d9(_){return{id:_.message?.id,timestamp:_.timestamp,model:_.message?.model}}function z4(_,Y){if(!Y)return _;let X=Y.endsWith("/")?Y:`${Y}/`,J=(M)=>{if(M.startsWith(X))return`./${M.slice(X.length)}`;return M},H=(M)=>typeof M==="object"&&M!==null&&!Array.isArray(M),Q=(M)=>H(M)?{...M}:void 0,q=(M,R)=>{let z={...M};for(let k of R)delete z[k];return z},$=(M,R)=>{if(typeof M[R]==="string")M[R]=J(M[R])},G=(M)=>typeof M==="number"&&Number.isFinite(M)?M:0,W=(M)=>{if(!Array.isArray(M))return M;return M.map((R)=>{if(H(R)){let z={...R};return delete z.activeForm,z}return R})},{toolName:L,input:V,output:E}=_,N=V,v=E,Z=!1,S=!1,O=_.isError;switch(L){case"Write":{let M=Q(V);if(M)$(M,"file_path"),N=M,Z=!0;let R=Q(E);if(R){let z={};if(R.type!==void 0)z.type=R.type;v=z,S=!0}break}case"Read":{let M=Q(V);if(M)$(M,"file_path"),N=M,Z=!0;let R=Q(E);if(R){let z={};if(typeof R.type==="string")z.type=R.type;if(R.file&&H(R.file)){let k=R.file,C={};if(typeof k.content==="string")C.content=k.content;if(typeof k.numLines==="number")C.numLines=k.numLines;if(typeof k.startLine==="number")C.startLine=k.startLine;if(typeof k.totalLines==="number")C.totalLines=k.totalLines;if(Object.keys(C).length>0)z.file=C}v=z,S=!0}break}case"Edit":{let M=Q(V),R=Q(E),z;if(R&&Array.isArray(R.structuredPatch)){let k=[];for(let C of R.structuredPatch)if(H(C)&&Array.isArray(C.lines)){for(let j of C.lines)if(typeof j==="string")k.push(j)}if(k.length>0)z=`${k.join(`
|
|
24
|
+
`),this.outputHelp({error:!0});let J=Y||{},Q=J.exitCode||1,_=J.code||"commander.error";this._exit(Q,_,X)}_parseOptionsEnv(){this.options.forEach((X)=>{if(X.envVar&&X.envVar in m.env){let Y=X.attributeName();if(this.getOptionValue(Y)===void 0||["default","config","env"].includes(this.getOptionValueSource(Y)))if(X.required||X.optional)this.emit(`optionEnv:${X.name()}`,m.env[X.envVar]);else this.emit(`optionEnv:${X.name()}`)}})}_parseOptionsImplied(){let X=new m8(this.options),Y=(J)=>{return this.getOptionValue(J)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(J))};this.options.filter((J)=>J.implied!==void 0&&Y(J.attributeName())&&X.valueFromOption(this.getOptionValue(J.attributeName()),J)).forEach((J)=>{Object.keys(J.implied).filter((Q)=>!Y(Q)).forEach((Q)=>{this.setOptionValueWithSource(Q,J.implied[Q],"implied")})})}missingArgument(X){let Y=`error: missing required argument '${X}'`;this.error(Y,{code:"commander.missingArgument"})}optionMissingArgument(X){let Y=`error: option '${X.flags}' argument missing`;this.error(Y,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(X){let Y=`error: required option '${X.flags}' not specified`;this.error(Y,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(X,Y){let J=(H)=>{let G=H.attributeName(),W=this.getOptionValue(G),q=this.options.find((B)=>B.negate&&G===B.attributeName()),$=this.options.find((B)=>!B.negate&&G===B.attributeName());if(q&&(q.presetArg===void 0&&W===!1||q.presetArg!==void 0&&W===q.presetArg))return q;return $||H},Q=(H)=>{let G=J(H),W=G.attributeName();if(this.getOptionValueSource(W)==="env")return`environment variable '${G.envVar}'`;return`option '${G.flags}'`},_=`error: ${Q(X)} cannot be used with ${Q(Y)}`;this.error(_,{code:"commander.conflictingOption"})}unknownOption(X){if(this._allowUnknownOption)return;let Y="";if(X.startsWith("--")&&this._showSuggestionAfterError){let Q=[],_=this;do{let H=_.createHelp().visibleOptions(_).filter((G)=>G.long).map((G)=>G.long);Q=Q.concat(H),_=_.parent}while(_&&!_._enablePositionalOptions);Y=K9(X,Q)}let J=`error: unknown option '${X}'${Y}`;this.error(J,{code:"commander.unknownOption"})}_excessArguments(X){if(this._allowExcessArguments)return;let Y=this.registeredArguments.length,J=Y===1?"":"s",_=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${Y} argument${J} but got ${X.length}.`;this.error(_,{code:"commander.excessArguments"})}unknownCommand(){let X=this.args[0],Y="";if(this._showSuggestionAfterError){let Q=[];this.createHelp().visibleCommands(this).forEach((_)=>{if(Q.push(_.name()),_.alias())Q.push(_.alias())}),Y=K9(X,Q)}let J=`error: unknown command '${X}'${Y}`;this.error(J,{code:"commander.unknownCommand"})}version(X,Y,J){if(X===void 0)return this._version;this._version=X,Y=Y||"-V, --version",J=J||"output the version number";let Q=this.createOption(Y,J);return this._versionOptionName=Q.attributeName(),this._registerOption(Q),this.on("option:"+Q.name(),()=>{this._outputConfiguration.writeOut(`${X}
|
|
25
|
+
`),this._exit(0,"commander.version",X)}),this}description(X,Y){if(X===void 0&&Y===void 0)return this._description;if(this._description=X,Y)this._argsDescription=Y;return this}summary(X){if(X===void 0)return this._summary;return this._summary=X,this}alias(X){if(X===void 0)return this._aliases[0];let Y=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)Y=this.commands[this.commands.length-1];if(X===Y._name)throw Error("Command alias can't be the same as its name");let J=this.parent?._findCommand(X);if(J){let Q=[J.name()].concat(J.aliases()).join("|");throw Error(`cannot add alias '${X}' to command '${this.name()}' as already have command '${Q}'`)}return Y._aliases.push(X),this}aliases(X){if(X===void 0)return this._aliases;return X.forEach((Y)=>this.alias(Y)),this}usage(X){if(X===void 0){if(this._usage)return this._usage;let Y=this.registeredArguments.map((J)=>{return y8(J)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?Y:[]).join(" ")}return this._usage=X,this}name(X){if(X===void 0)return this._name;return this._name=X,this}helpGroup(X){if(X===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=X,this}commandsGroup(X){if(X===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=X,this}optionsGroup(X){if(X===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=X,this}_initOptionGroup(X){if(this._defaultOptionGroup&&!X.helpGroupHeading)X.helpGroup(this._defaultOptionGroup)}_initCommandGroup(X){if(this._defaultCommandGroup&&!X.helpGroup())X.helpGroup(this._defaultCommandGroup)}nameFromFilename(X){return this._name=A0.basename(X,A0.extname(X)),this}executableDir(X){if(X===void 0)return this._executableDir;return this._executableDir=X,this}helpInformation(X){let Y=this.createHelp(),J=this._getOutputContext(X);Y.prepareContext({error:J.error,helpWidth:J.helpWidth,outputHasColors:J.hasColors});let Q=Y.formatHelp(this,Y);if(J.hasColors)return Q;return this._outputConfiguration.stripColor(Q)}_getOutputContext(X){X=X||{};let Y=!!X.error,J,Q,_;if(Y)J=(G)=>this._outputConfiguration.writeErr(G),Q=this._outputConfiguration.getErrHasColors(),_=this._outputConfiguration.getErrHelpWidth();else J=(G)=>this._outputConfiguration.writeOut(G),Q=this._outputConfiguration.getOutHasColors(),_=this._outputConfiguration.getOutHelpWidth();return{error:Y,write:(G)=>{if(!Q)G=this._outputConfiguration.stripColor(G);return J(G)},hasColors:Q,helpWidth:_}}outputHelp(X){let Y;if(typeof X==="function")Y=X,X=void 0;let J=this._getOutputContext(X),Q={error:J.error,write:J.write,command:this};this._getCommandAndAncestors().reverse().forEach((H)=>H.emit("beforeAllHelp",Q)),this.emit("beforeHelp",Q);let _=this.helpInformation({error:J.error});if(Y){if(_=Y(_),typeof _!=="string"&&!Buffer.isBuffer(_))throw Error("outputHelp callback must return a string or a Buffer")}if(J.write(_),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",Q),this._getCommandAndAncestors().forEach((H)=>H.emit("afterAllHelp",Q))}helpOption(X,Y){if(typeof X==="boolean"){if(X){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(X??"-h, --help",Y??"display help for command"),X||Y)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(X){return this._helpOption=X,this._initOptionGroup(X),this}help(X){this.outputHelp(X);let Y=Number(m.exitCode??0);if(Y===0&&X&&typeof X!=="function"&&X.error)Y=1;this._exit(Y,"commander.help","(outputHelp)")}addHelpText(X,Y){let J=["beforeAll","before","after","afterAll"];if(!J.includes(X))throw Error(`Unexpected value for position to addHelpText.
|
|
26
|
+
Expecting one of '${J.join("', '")}'`);let Q=`${X}Help`;return this.on(Q,(_)=>{let H;if(typeof Y==="function")H=Y({error:_.error,command:_.command});else H=Y;if(H)_.write(`${H}
|
|
27
|
+
`)}),this}_outputHelpIfRequested(X){let Y=this._getHelpOption();if(Y&&X.find((Q)=>Y.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function D9(X){return X.map((Y)=>{if(!Y.startsWith("--inspect"))return Y;let J,Q="127.0.0.1",_="9229",H;if((H=Y.match(/^(--inspect(-brk)?)$/))!==null)J=H[1];else if((H=Y.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(J=H[1],/^\d+$/.test(H[3]))_=H[3];else Q=H[3];else if((H=Y.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)J=H[1],Q=H[3],_=H[4];if(J&&_!=="0")return`${J}=${Q}:${parseInt(_)+1}`;return Y})}function $5(){if(m.env.NO_COLOR||m.env.FORCE_COLOR==="0"||m.env.FORCE_COLOR==="false")return!1;if(m.env.FORCE_COLOR||m.env.CLICOLOR_FORCE!==void 0)return!0;return}c8.Command=B5;c8.useColor=$5});var M9=x0((i8)=>{var{Argument:V9}=b1(),{Command:L5}=E9(),{CommanderError:d8,InvalidArgumentError:F9}=D1(),{Help:p8}=H5(),{Option:U9}=G5();i8.program=new L5;i8.createCommand=(X)=>new L5(X);i8.createOption=(X,Y)=>new U9(X,Y);i8.createArgument=(X,Y)=>new V9(X,Y);i8.Command=L5;i8.Option=U9;i8.Argument=V9;i8.Help=p8;i8.CommanderError=d8;i8.InvalidArgumentError=F9;i8.InvalidOptionArgumentError=F9});var A9=L8(M9(),1),{program:b_,createCommand:T_,createArgument:C_,createOption:Z_,CommanderError:x_,InvalidArgumentError:v_,InvalidOptionArgumentError:y_,Command:N9,Argument:h_,Option:g_,Help:m_}=A9.default;import{appendFileSync as BX,mkdirSync as LX}from"fs";import{dirname as KX}from"path";import{existsSync as _X,readFileSync as HX}from"fs";import{homedir as GX}from"os";import{dirname as WX,resolve as K5}from"path";function qX(){let X=process.cwd(),Y=10,J=0;while(J<Y){let Q=K5(X,"package.json");if(_X(Q))try{if(JSON.parse(HX(Q,"utf-8")).workspaces)return X}catch{}let _=WX(X);if(_===X)break;X=_,J++}throw Error("Could not find monorepo root (no package.json with workspaces field found)")}function $X(){return K5(qX(),"logs")}function C1(){return K5($X(),"dev.log")}function v0(X){let Y=GX();if(X.startsWith(Y))return X.replace(Y,"~");return X}function E1(X){if(X==="."||X===null)return"";return X}var j9=!1;function DX(X){if(X===void 0||X===null)return X;if(process.env.DEBUG_PAYLOADS!=="true"){if(!j9)return j9=!0,"[payload logging disabled - set DEBUG_PAYLOADS=true to enable]";return}if(typeof X==="object"){let J=JSON.stringify(X),Q=Math.round(J.length/1024),_=J.includes('"isImage":true')||J.includes('"isImage": true')||J.length>1e4&&/[A-Za-z0-9+/]{100,}/.test(J);if(_||J.length>1e4)return`[payload: ${Q}KB${_?", contains binary data":""}]`}return X}class R9{component;logToFile;logFilePath;disableConsole;constructor(X){this.component=X.component,this.disableConsole=X.disableConsole??!1;let Y=typeof process<"u"&&!!process.versions?.node;this.logToFile=X.logToFile??(Y&&!1);try{if(Y&&this.logToFile)this.logFilePath=X.logFilePath??C1();else this.logFilePath="",this.logToFile=!1}catch(J){if(this.logToFile=!1,this.logFilePath="",process.env.DEBUG)console.warn(`[${this.component}] Could not initialize file logging:`,J)}if(process.env.DEBUG)console.log(`[${this.component}] Logger config:`,{logToFile:this.logToFile,logFilePath:this.logFilePath,cwd:process.cwd(),NODE_ENV:"production"});if(this.logToFile)try{let J=KX(this.logFilePath);LX(J,{recursive:!0})}catch(J){if(process.env.DEBUG)console.error(`[${this.component}] Failed to create logs directory:`,J)}}log(X,Y,J){let Q=new Date,H=`[${`${String(Q.getMonth()+1).padStart(2,"0")}-${String(Q.getDate()).padStart(2,"0")} ${String(Q.getHours()).padStart(2,"0")}:${String(Q.getMinutes()).padStart(2,"0")}:${String(Q.getSeconds()).padStart(2,"0")}`}] [${this.component}] [${X}] ${Y}`,G=X==="ERROR"?console.error:X==="WARN"?console.warn:console.log,W=DX(J);if(!this.disableConsole){if(G(H),W!==void 0){let q=typeof W==="object"?JSON.stringify(W,null,2):String(W);G(` ${q}`)}}if(this.logToFile)try{let q=H+`
|
|
28
|
+
`;if(W!==void 0){let $=typeof W==="object"?JSON.stringify(W):String(W);q+=` ${$}
|
|
29
|
+
`}BX(this.logFilePath,q)}catch{}}debug(X,Y){if(process.env.DEBUG)this.log("DEBUG",X,Y)}info(X,Y){this.log("INFO",X,Y)}warn(X,Y){this.log("WARN",X,Y)}error(X,Y){this.log("ERROR",X,Y)}}function z9(X,Y){return new R9({component:X,...Y})}import{existsSync as w9,mkdirSync as EX,readFileSync as VX,writeFileSync as FX}from"fs";import{homedir as UX}from"os";import{join as S9}from"path";import{Entry as V5}from"@napi-rs/keyring";var Z1="production";var D5=S9(UX(),".config","agentlogs"),E5=S9(D5,"config.json"),F5="agentlogs-cli";function U5(X){return Z1==="production"?`prod:${X}`:`dev:${X}`}function I9(){if(!w9(D5))EX(D5,{recursive:!0})}function J0(){if(I9(),!w9(E5))return{};try{let X=VX(E5,"utf-8");return JSON.parse(X)}catch(X){return console.error("Failed to read config file:",X),{}}}function f9(X){I9();try{FX(E5,JSON.stringify(X,null,2),"utf-8")}catch(Y){throw console.error("Failed to write config file:",Y),Y}}function _0(){try{let X=J0();if(!X.user?.email)return null;let Y=U5(X.user.email);return new V5(F5,Y).getPassword()}catch{return null}}function O9(X,Y){try{let J=U5(X);new V5(F5,J).setPassword(Y)}catch(J){throw console.error("Failed to store token in keychain:",J),J}}function P9(){try{let X=J0();if(!X.user?.email)return;let Y=U5(X.user.email);new V5(F5,Y).deletePassword()}catch{}}import{createHash as L6}from"crypto";import{existsSync as C5,readFileSync as K6}from"fs";import{dirname as D6,isAbsolute as E6,resolve as V6}from"path";import lY from"node:crypto";import z1 from"node:fs/promises";import u0 from"node:path";var L={};K8(L,{void:()=>YY,util:()=>x,unknown:()=>eX,union:()=>HY,undefined:()=>sX,tuple:()=>qY,transformer:()=>MY,symbol:()=>oX,string:()=>h9,strictObject:()=>_Y,setErrorMap:()=>NX,set:()=>LY,record:()=>$Y,quotelessJson:()=>MX,promise:()=>UY,preprocess:()=>jY,pipeline:()=>RY,ostring:()=>zY,optional:()=>AY,onumber:()=>wY,oboolean:()=>SY,objectUtil:()=>M5,object:()=>QY,number:()=>g9,nullable:()=>NY,null:()=>aX,never:()=>XY,nativeEnum:()=>FY,nan:()=>iX,map:()=>BY,makeIssue:()=>V1,literal:()=>EY,lazy:()=>DY,late:()=>dX,isValid:()=>S0,isDirty:()=>v1,isAsync:()=>p0,isAborted:()=>x1,intersection:()=>WY,instanceof:()=>pX,getParsedType:()=>D0,getErrorMap:()=>d0,function:()=>KY,enum:()=>VY,effect:()=>MY,discriminatedUnion:()=>GY,defaultErrorMap:()=>N0,datetimeRegex:()=>x9,date:()=>rX,custom:()=>y9,coerce:()=>IY,boolean:()=>m9,bigint:()=>nX,array:()=>JY,any:()=>tX,addIssueToContext:()=>M,ZodVoid:()=>U1,ZodUnknown:()=>I0,ZodUnion:()=>a0,ZodUndefined:()=>o0,ZodType:()=>C,ZodTuple:()=>V0,ZodTransformer:()=>$0,ZodSymbol:()=>F1,ZodString:()=>H0,ZodSet:()=>m0,ZodSchema:()=>C,ZodRecord:()=>M1,ZodReadonly:()=>_1,ZodPromise:()=>c0,ZodPipeline:()=>j1,ZodParsedType:()=>U,ZodOptional:()=>W0,ZodObject:()=>p,ZodNumber:()=>f0,ZodNullable:()=>R0,ZodNull:()=>s0,ZodNever:()=>E0,ZodNativeEnum:()=>Y1,ZodNaN:()=>N1,ZodMap:()=>A1,ZodLiteral:()=>X1,ZodLazy:()=>e0,ZodIssueCode:()=>E,ZodIntersection:()=>t0,ZodFunction:()=>n0,ZodFirstPartyTypeKind:()=>S,ZodError:()=>a,ZodEnum:()=>P0,ZodEffects:()=>$0,ZodDiscriminatedUnion:()=>y1,ZodDefault:()=>J1,ZodDate:()=>h0,ZodCatch:()=>Q1,ZodBranded:()=>h1,ZodBoolean:()=>r0,ZodBigInt:()=>O0,ZodArray:()=>G0,ZodAny:()=>g0,Schema:()=>C,ParseStatus:()=>r,OK:()=>o,NEVER:()=>fY,INVALID:()=>w,EMPTY_PATH:()=>jX,DIRTY:()=>y0,BRAND:()=>lX});var x;(function(X){X.assertEqual=(_)=>{};function Y(_){}X.assertIs=Y;function J(_){throw Error()}X.assertNever=J,X.arrayToEnum=(_)=>{let H={};for(let G of _)H[G]=G;return H},X.getValidEnumValues=(_)=>{let H=X.objectKeys(_).filter((W)=>typeof _[_[W]]!=="number"),G={};for(let W of H)G[W]=_[W];return X.objectValues(G)},X.objectValues=(_)=>{return X.objectKeys(_).map(function(H){return _[H]})},X.objectKeys=typeof Object.keys==="function"?(_)=>Object.keys(_):(_)=>{let H=[];for(let G in _)if(Object.prototype.hasOwnProperty.call(_,G))H.push(G);return H},X.find=(_,H)=>{for(let G of _)if(H(G))return G;return},X.isInteger=typeof Number.isInteger==="function"?(_)=>Number.isInteger(_):(_)=>typeof _==="number"&&Number.isFinite(_)&&Math.floor(_)===_;function Q(_,H=" | "){return _.map((G)=>typeof G==="string"?`'${G}'`:G).join(H)}X.joinValues=Q,X.jsonStringifyReplacer=(_,H)=>{if(typeof H==="bigint")return H.toString();return H}})(x||(x={}));var M5;(function(X){X.mergeShapes=(Y,J)=>{return{...Y,...J}}})(M5||(M5={}));var U=x.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),D0=(X)=>{switch(typeof X){case"undefined":return U.undefined;case"string":return U.string;case"number":return Number.isNaN(X)?U.nan:U.number;case"boolean":return U.boolean;case"function":return U.function;case"bigint":return U.bigint;case"symbol":return U.symbol;case"object":if(Array.isArray(X))return U.array;if(X===null)return U.null;if(X.then&&typeof X.then==="function"&&X.catch&&typeof X.catch==="function")return U.promise;if(typeof Map<"u"&&X instanceof Map)return U.map;if(typeof Set<"u"&&X instanceof Set)return U.set;if(typeof Date<"u"&&X instanceof Date)return U.date;return U.object;default:return U.unknown}};var E=x.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),MX=(X)=>{return JSON.stringify(X,null,2).replace(/"([^"]+)":/g,"$1:")};class a extends Error{get errors(){return this.issues}constructor(X){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let Y=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,Y);else this.__proto__=Y;this.name="ZodError",this.issues=X}format(X){let Y=X||function(_){return _.message},J={_errors:[]},Q=(_)=>{for(let H of _.issues)if(H.code==="invalid_union")H.unionErrors.map(Q);else if(H.code==="invalid_return_type")Q(H.returnTypeError);else if(H.code==="invalid_arguments")Q(H.argumentsError);else if(H.path.length===0)J._errors.push(Y(H));else{let G=J,W=0;while(W<H.path.length){let q=H.path[W];if(W!==H.path.length-1)G[q]=G[q]||{_errors:[]};else G[q]=G[q]||{_errors:[]},G[q]._errors.push(Y(H));G=G[q],W++}}};return Q(this),J}static assert(X){if(!(X instanceof a))throw Error(`Not a ZodError: ${X}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,x.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(X=(Y)=>Y.message){let Y={},J=[];for(let Q of this.issues)if(Q.path.length>0){let _=Q.path[0];Y[_]=Y[_]||[],Y[_].push(X(Q))}else J.push(X(Q));return{formErrors:J,fieldErrors:Y}}get formErrors(){return this.flatten()}}a.create=(X)=>{return new a(X)};var AX=(X,Y)=>{let J;switch(X.code){case E.invalid_type:if(X.received===U.undefined)J="Required";else J=`Expected ${X.expected}, received ${X.received}`;break;case E.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify(X.expected,x.jsonStringifyReplacer)}`;break;case E.unrecognized_keys:J=`Unrecognized key(s) in object: ${x.joinValues(X.keys,", ")}`;break;case E.invalid_union:J="Invalid input";break;case E.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${x.joinValues(X.options)}`;break;case E.invalid_enum_value:J=`Invalid enum value. Expected ${x.joinValues(X.options)}, received '${X.received}'`;break;case E.invalid_arguments:J="Invalid function arguments";break;case E.invalid_return_type:J="Invalid function return type";break;case E.invalid_date:J="Invalid date";break;case E.invalid_string:if(typeof X.validation==="object")if("includes"in X.validation){if(J=`Invalid input: must include "${X.validation.includes}"`,typeof X.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${X.validation.position}`}else if("startsWith"in X.validation)J=`Invalid input: must start with "${X.validation.startsWith}"`;else if("endsWith"in X.validation)J=`Invalid input: must end with "${X.validation.endsWith}"`;else x.assertNever(X.validation);else if(X.validation!=="regex")J=`Invalid ${X.validation}`;else J="Invalid";break;case E.too_small:if(X.type==="array")J=`Array must contain ${X.exact?"exactly":X.inclusive?"at least":"more than"} ${X.minimum} element(s)`;else if(X.type==="string")J=`String must contain ${X.exact?"exactly":X.inclusive?"at least":"over"} ${X.minimum} character(s)`;else if(X.type==="number")J=`Number must be ${X.exact?"exactly equal to ":X.inclusive?"greater than or equal to ":"greater than "}${X.minimum}`;else if(X.type==="bigint")J=`Number must be ${X.exact?"exactly equal to ":X.inclusive?"greater than or equal to ":"greater than "}${X.minimum}`;else if(X.type==="date")J=`Date must be ${X.exact?"exactly equal to ":X.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(X.minimum))}`;else J="Invalid input";break;case E.too_big:if(X.type==="array")J=`Array must contain ${X.exact?"exactly":X.inclusive?"at most":"less than"} ${X.maximum} element(s)`;else if(X.type==="string")J=`String must contain ${X.exact?"exactly":X.inclusive?"at most":"under"} ${X.maximum} character(s)`;else if(X.type==="number")J=`Number must be ${X.exact?"exactly":X.inclusive?"less than or equal to":"less than"} ${X.maximum}`;else if(X.type==="bigint")J=`BigInt must be ${X.exact?"exactly":X.inclusive?"less than or equal to":"less than"} ${X.maximum}`;else if(X.type==="date")J=`Date must be ${X.exact?"exactly":X.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(X.maximum))}`;else J="Invalid input";break;case E.custom:J="Invalid input";break;case E.invalid_intersection_types:J="Intersection results could not be merged";break;case E.not_multiple_of:J=`Number must be a multiple of ${X.multipleOf}`;break;case E.not_finite:J="Number must be finite";break;default:J=Y.defaultError,x.assertNever(X)}return{message:J}},N0=AX;var k9=N0;function NX(X){k9=X}function d0(){return k9}var V1=(X)=>{let{data:Y,path:J,errorMaps:Q,issueData:_}=X,H=[...J,..._.path||[]],G={..._,path:H};if(_.message!==void 0)return{..._,path:H,message:_.message};let W="",q=Q.filter(($)=>!!$).slice().reverse();for(let $ of q)W=$(G,{data:Y,defaultError:W}).message;return{..._,path:H,message:W}},jX=[];function M(X,Y){let J=d0(),Q=V1({issueData:Y,data:X.data,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,J,J===N0?void 0:N0].filter((_)=>!!_)});X.common.issues.push(Q)}class r{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(X,Y){let J=[];for(let Q of Y){if(Q.status==="aborted")return w;if(Q.status==="dirty")X.dirty();J.push(Q.value)}return{status:X.value,value:J}}static async mergeObjectAsync(X,Y){let J=[];for(let Q of Y){let _=await Q.key,H=await Q.value;J.push({key:_,value:H})}return r.mergeObjectSync(X,J)}static mergeObjectSync(X,Y){let J={};for(let Q of Y){let{key:_,value:H}=Q;if(_.status==="aborted")return w;if(H.status==="aborted")return w;if(_.status==="dirty")X.dirty();if(H.status==="dirty")X.dirty();if(_.value!=="__proto__"&&(typeof H.value<"u"||Q.alwaysSet))J[_.value]=H.value}return{status:X.value,value:J}}}var w=Object.freeze({status:"aborted"}),y0=(X)=>({status:"dirty",value:X}),o=(X)=>({status:"valid",value:X}),x1=(X)=>X.status==="aborted",v1=(X)=>X.status==="dirty",S0=(X)=>X.status==="valid",p0=(X)=>typeof Promise<"u"&&X instanceof Promise;var N;(function(X){X.errToObj=(Y)=>typeof Y==="string"?{message:Y}:Y||{},X.toString=(Y)=>typeof Y==="string"?Y:Y?.message})(N||(N={}));class q0{constructor(X,Y,J,Q){this._cachedPath=[],this.parent=X,this.data=Y,this._path=J,this._key=Q}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var b9=(X,Y)=>{if(S0(Y))return{success:!0,data:Y.value};else{if(!X.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let J=new a(X.common.issues);return this._error=J,this._error}}}};function b(X){if(!X)return{};let{errorMap:Y,invalid_type_error:J,required_error:Q,description:_}=X;if(Y&&(J||Q))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(Y)return{errorMap:Y,description:_};return{errorMap:(G,W)=>{let{message:q}=X;if(G.code==="invalid_enum_value")return{message:q??W.defaultError};if(typeof W.data>"u")return{message:q??Q??W.defaultError};if(G.code!=="invalid_type")return{message:W.defaultError};return{message:q??J??W.defaultError}},description:_}}class C{get description(){return this._def.description}_getType(X){return D0(X.data)}_getOrReturnCtx(X,Y){return Y||{common:X.parent.common,data:X.data,parsedType:D0(X.data),schemaErrorMap:this._def.errorMap,path:X.path,parent:X.parent}}_processInputParams(X){return{status:new r,ctx:{common:X.parent.common,data:X.data,parsedType:D0(X.data),schemaErrorMap:this._def.errorMap,path:X.path,parent:X.parent}}}_parseSync(X){let Y=this._parse(X);if(p0(Y))throw Error("Synchronous parse encountered promise.");return Y}_parseAsync(X){let Y=this._parse(X);return Promise.resolve(Y)}parse(X,Y){let J=this.safeParse(X,Y);if(J.success)return J.data;throw J.error}safeParse(X,Y){let J={common:{issues:[],async:Y?.async??!1,contextualErrorMap:Y?.errorMap},path:Y?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:X,parsedType:D0(X)},Q=this._parseSync({data:X,path:J.path,parent:J});return b9(J,Q)}"~validate"(X){let Y={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:X,parsedType:D0(X)};if(!this["~standard"].async)try{let J=this._parseSync({data:X,path:[],parent:Y});return S0(J)?{value:J.value}:{issues:Y.common.issues}}catch(J){if(J?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;Y.common={issues:[],async:!0}}return this._parseAsync({data:X,path:[],parent:Y}).then((J)=>S0(J)?{value:J.value}:{issues:Y.common.issues})}async parseAsync(X,Y){let J=await this.safeParseAsync(X,Y);if(J.success)return J.data;throw J.error}async safeParseAsync(X,Y){let J={common:{issues:[],contextualErrorMap:Y?.errorMap,async:!0},path:Y?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:X,parsedType:D0(X)},Q=this._parse({data:X,path:J.path,parent:J}),_=await(p0(Q)?Q:Promise.resolve(Q));return b9(J,_)}refine(X,Y){let J=(Q)=>{if(typeof Y==="string"||typeof Y>"u")return{message:Y};else if(typeof Y==="function")return Y(Q);else return Y};return this._refinement((Q,_)=>{let H=X(Q),G=()=>_.addIssue({code:E.custom,...J(Q)});if(typeof Promise<"u"&&H instanceof Promise)return H.then((W)=>{if(!W)return G(),!1;else return!0});if(!H)return G(),!1;else return!0})}refinement(X,Y){return this._refinement((J,Q)=>{if(!X(J))return Q.addIssue(typeof Y==="function"?Y(J,Q):Y),!1;else return!0})}_refinement(X){return new $0({schema:this,typeName:S.ZodEffects,effect:{type:"refinement",refinement:X}})}superRefine(X){return this._refinement(X)}constructor(X){this.spa=this.safeParseAsync,this._def=X,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(Y)=>this["~validate"](Y)}}optional(){return W0.create(this,this._def)}nullable(){return R0.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return G0.create(this)}promise(){return c0.create(this,this._def)}or(X){return a0.create([this,X],this._def)}and(X){return t0.create(this,X,this._def)}transform(X){return new $0({...b(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:X}})}default(X){let Y=typeof X==="function"?X:()=>X;return new J1({...b(this._def),innerType:this,defaultValue:Y,typeName:S.ZodDefault})}brand(){return new h1({typeName:S.ZodBranded,type:this,...b(this._def)})}catch(X){let Y=typeof X==="function"?X:()=>X;return new Q1({...b(this._def),innerType:this,catchValue:Y,typeName:S.ZodCatch})}describe(X){return new this.constructor({...this._def,description:X})}pipe(X){return j1.create(this,X)}readonly(){return _1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var RX=/^c[^\s-]{8,}$/i,zX=/^[0-9a-z]+$/,wX=/^[0-9A-HJKMNP-TV-Z]{26}$/i,SX=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,IX=/^[a-z0-9_-]{21}$/i,fX=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,OX=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,PX=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,kX="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",A5,bX=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,TX=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,CX=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,ZX=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,xX=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,vX=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,C9="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",yX=new RegExp(`^${C9}$`);function Z9(X){let Y="[0-5]\\d";if(X.precision)Y=`${Y}\\.\\d{${X.precision}}`;else if(X.precision==null)Y=`${Y}(\\.\\d+)?`;let J=X.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${Y})${J}`}function hX(X){return new RegExp(`^${Z9(X)}$`)}function x9(X){let Y=`${C9}T${Z9(X)}`,J=[];if(J.push(X.local?"Z?":"Z"),X.offset)J.push("([+-]\\d{2}:?\\d{2})");return Y=`${Y}(${J.join("|")})`,new RegExp(`^${Y}$`)}function gX(X,Y){if((Y==="v4"||!Y)&&bX.test(X))return!0;if((Y==="v6"||!Y)&&CX.test(X))return!0;return!1}function mX(X,Y){if(!fX.test(X))return!1;try{let[J]=X.split(".");if(!J)return!1;let Q=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.length%4)%4,"="),_=JSON.parse(atob(Q));if(typeof _!=="object"||_===null)return!1;if("typ"in _&&_?.typ!=="JWT")return!1;if(!_.alg)return!1;if(Y&&_.alg!==Y)return!1;return!0}catch{return!1}}function cX(X,Y){if((Y==="v4"||!Y)&&TX.test(X))return!0;if((Y==="v6"||!Y)&&ZX.test(X))return!0;return!1}class H0 extends C{_parse(X){if(this._def.coerce)X.data=String(X.data);if(this._getType(X)!==U.string){let _=this._getOrReturnCtx(X);return M(_,{code:E.invalid_type,expected:U.string,received:_.parsedType}),w}let J=new r,Q=void 0;for(let _ of this._def.checks)if(_.kind==="min"){if(X.data.length<_.value)Q=this._getOrReturnCtx(X,Q),M(Q,{code:E.too_small,minimum:_.value,type:"string",inclusive:!0,exact:!1,message:_.message}),J.dirty()}else if(_.kind==="max"){if(X.data.length>_.value)Q=this._getOrReturnCtx(X,Q),M(Q,{code:E.too_big,maximum:_.value,type:"string",inclusive:!0,exact:!1,message:_.message}),J.dirty()}else if(_.kind==="length"){let H=X.data.length>_.value,G=X.data.length<_.value;if(H||G){if(Q=this._getOrReturnCtx(X,Q),H)M(Q,{code:E.too_big,maximum:_.value,type:"string",inclusive:!0,exact:!0,message:_.message});else if(G)M(Q,{code:E.too_small,minimum:_.value,type:"string",inclusive:!0,exact:!0,message:_.message});J.dirty()}}else if(_.kind==="email"){if(!PX.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"email",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="emoji"){if(!A5)A5=new RegExp(kX,"u");if(!A5.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"emoji",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="uuid"){if(!SX.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"uuid",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="nanoid"){if(!IX.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"nanoid",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="cuid"){if(!RX.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"cuid",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="cuid2"){if(!zX.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"cuid2",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="ulid"){if(!wX.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"ulid",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="url")try{new URL(X.data)}catch{Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"url",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="regex"){if(_.regex.lastIndex=0,!_.regex.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"regex",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="trim")X.data=X.data.trim();else if(_.kind==="includes"){if(!X.data.includes(_.value,_.position))Q=this._getOrReturnCtx(X,Q),M(Q,{code:E.invalid_string,validation:{includes:_.value,position:_.position},message:_.message}),J.dirty()}else if(_.kind==="toLowerCase")X.data=X.data.toLowerCase();else if(_.kind==="toUpperCase")X.data=X.data.toUpperCase();else if(_.kind==="startsWith"){if(!X.data.startsWith(_.value))Q=this._getOrReturnCtx(X,Q),M(Q,{code:E.invalid_string,validation:{startsWith:_.value},message:_.message}),J.dirty()}else if(_.kind==="endsWith"){if(!X.data.endsWith(_.value))Q=this._getOrReturnCtx(X,Q),M(Q,{code:E.invalid_string,validation:{endsWith:_.value},message:_.message}),J.dirty()}else if(_.kind==="datetime"){if(!x9(_).test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{code:E.invalid_string,validation:"datetime",message:_.message}),J.dirty()}else if(_.kind==="date"){if(!yX.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{code:E.invalid_string,validation:"date",message:_.message}),J.dirty()}else if(_.kind==="time"){if(!hX(_).test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{code:E.invalid_string,validation:"time",message:_.message}),J.dirty()}else if(_.kind==="duration"){if(!OX.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"duration",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="ip"){if(!gX(X.data,_.version))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"ip",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="jwt"){if(!mX(X.data,_.alg))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"jwt",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="cidr"){if(!cX(X.data,_.version))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"cidr",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="base64"){if(!xX.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"base64",code:E.invalid_string,message:_.message}),J.dirty()}else if(_.kind==="base64url"){if(!vX.test(X.data))Q=this._getOrReturnCtx(X,Q),M(Q,{validation:"base64url",code:E.invalid_string,message:_.message}),J.dirty()}else x.assertNever(_);return{status:J.value,value:X.data}}_regex(X,Y,J){return this.refinement((Q)=>X.test(Q),{validation:Y,code:E.invalid_string,...N.errToObj(J)})}_addCheck(X){return new H0({...this._def,checks:[...this._def.checks,X]})}email(X){return this._addCheck({kind:"email",...N.errToObj(X)})}url(X){return this._addCheck({kind:"url",...N.errToObj(X)})}emoji(X){return this._addCheck({kind:"emoji",...N.errToObj(X)})}uuid(X){return this._addCheck({kind:"uuid",...N.errToObj(X)})}nanoid(X){return this._addCheck({kind:"nanoid",...N.errToObj(X)})}cuid(X){return this._addCheck({kind:"cuid",...N.errToObj(X)})}cuid2(X){return this._addCheck({kind:"cuid2",...N.errToObj(X)})}ulid(X){return this._addCheck({kind:"ulid",...N.errToObj(X)})}base64(X){return this._addCheck({kind:"base64",...N.errToObj(X)})}base64url(X){return this._addCheck({kind:"base64url",...N.errToObj(X)})}jwt(X){return this._addCheck({kind:"jwt",...N.errToObj(X)})}ip(X){return this._addCheck({kind:"ip",...N.errToObj(X)})}cidr(X){return this._addCheck({kind:"cidr",...N.errToObj(X)})}datetime(X){if(typeof X==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:X});return this._addCheck({kind:"datetime",precision:typeof X?.precision>"u"?null:X?.precision,offset:X?.offset??!1,local:X?.local??!1,...N.errToObj(X?.message)})}date(X){return this._addCheck({kind:"date",message:X})}time(X){if(typeof X==="string")return this._addCheck({kind:"time",precision:null,message:X});return this._addCheck({kind:"time",precision:typeof X?.precision>"u"?null:X?.precision,...N.errToObj(X?.message)})}duration(X){return this._addCheck({kind:"duration",...N.errToObj(X)})}regex(X,Y){return this._addCheck({kind:"regex",regex:X,...N.errToObj(Y)})}includes(X,Y){return this._addCheck({kind:"includes",value:X,position:Y?.position,...N.errToObj(Y?.message)})}startsWith(X,Y){return this._addCheck({kind:"startsWith",value:X,...N.errToObj(Y)})}endsWith(X,Y){return this._addCheck({kind:"endsWith",value:X,...N.errToObj(Y)})}min(X,Y){return this._addCheck({kind:"min",value:X,...N.errToObj(Y)})}max(X,Y){return this._addCheck({kind:"max",value:X,...N.errToObj(Y)})}length(X,Y){return this._addCheck({kind:"length",value:X,...N.errToObj(Y)})}nonempty(X){return this.min(1,N.errToObj(X))}trim(){return new H0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new H0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new H0({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((X)=>X.kind==="datetime")}get isDate(){return!!this._def.checks.find((X)=>X.kind==="date")}get isTime(){return!!this._def.checks.find((X)=>X.kind==="time")}get isDuration(){return!!this._def.checks.find((X)=>X.kind==="duration")}get isEmail(){return!!this._def.checks.find((X)=>X.kind==="email")}get isURL(){return!!this._def.checks.find((X)=>X.kind==="url")}get isEmoji(){return!!this._def.checks.find((X)=>X.kind==="emoji")}get isUUID(){return!!this._def.checks.find((X)=>X.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((X)=>X.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((X)=>X.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((X)=>X.kind==="cuid2")}get isULID(){return!!this._def.checks.find((X)=>X.kind==="ulid")}get isIP(){return!!this._def.checks.find((X)=>X.kind==="ip")}get isCIDR(){return!!this._def.checks.find((X)=>X.kind==="cidr")}get isBase64(){return!!this._def.checks.find((X)=>X.kind==="base64")}get isBase64url(){return!!this._def.checks.find((X)=>X.kind==="base64url")}get minLength(){let X=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(X===null||Y.value>X)X=Y.value}return X}get maxLength(){let X=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(X===null||Y.value<X)X=Y.value}return X}}H0.create=(X)=>{return new H0({checks:[],typeName:S.ZodString,coerce:X?.coerce??!1,...b(X)})};function uX(X,Y){let J=(X.toString().split(".")[1]||"").length,Q=(Y.toString().split(".")[1]||"").length,_=J>Q?J:Q,H=Number.parseInt(X.toFixed(_).replace(".","")),G=Number.parseInt(Y.toFixed(_).replace(".",""));return H%G/10**_}class f0 extends C{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(X){if(this._def.coerce)X.data=Number(X.data);if(this._getType(X)!==U.number){let _=this._getOrReturnCtx(X);return M(_,{code:E.invalid_type,expected:U.number,received:_.parsedType}),w}let J=void 0,Q=new r;for(let _ of this._def.checks)if(_.kind==="int"){if(!x.isInteger(X.data))J=this._getOrReturnCtx(X,J),M(J,{code:E.invalid_type,expected:"integer",received:"float",message:_.message}),Q.dirty()}else if(_.kind==="min"){if(_.inclusive?X.data<_.value:X.data<=_.value)J=this._getOrReturnCtx(X,J),M(J,{code:E.too_small,minimum:_.value,type:"number",inclusive:_.inclusive,exact:!1,message:_.message}),Q.dirty()}else if(_.kind==="max"){if(_.inclusive?X.data>_.value:X.data>=_.value)J=this._getOrReturnCtx(X,J),M(J,{code:E.too_big,maximum:_.value,type:"number",inclusive:_.inclusive,exact:!1,message:_.message}),Q.dirty()}else if(_.kind==="multipleOf"){if(uX(X.data,_.value)!==0)J=this._getOrReturnCtx(X,J),M(J,{code:E.not_multiple_of,multipleOf:_.value,message:_.message}),Q.dirty()}else if(_.kind==="finite"){if(!Number.isFinite(X.data))J=this._getOrReturnCtx(X,J),M(J,{code:E.not_finite,message:_.message}),Q.dirty()}else x.assertNever(_);return{status:Q.value,value:X.data}}gte(X,Y){return this.setLimit("min",X,!0,N.toString(Y))}gt(X,Y){return this.setLimit("min",X,!1,N.toString(Y))}lte(X,Y){return this.setLimit("max",X,!0,N.toString(Y))}lt(X,Y){return this.setLimit("max",X,!1,N.toString(Y))}setLimit(X,Y,J,Q){return new f0({...this._def,checks:[...this._def.checks,{kind:X,value:Y,inclusive:J,message:N.toString(Q)}]})}_addCheck(X){return new f0({...this._def,checks:[...this._def.checks,X]})}int(X){return this._addCheck({kind:"int",message:N.toString(X)})}positive(X){return this._addCheck({kind:"min",value:0,inclusive:!1,message:N.toString(X)})}negative(X){return this._addCheck({kind:"max",value:0,inclusive:!1,message:N.toString(X)})}nonpositive(X){return this._addCheck({kind:"max",value:0,inclusive:!0,message:N.toString(X)})}nonnegative(X){return this._addCheck({kind:"min",value:0,inclusive:!0,message:N.toString(X)})}multipleOf(X,Y){return this._addCheck({kind:"multipleOf",value:X,message:N.toString(Y)})}finite(X){return this._addCheck({kind:"finite",message:N.toString(X)})}safe(X){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:N.toString(X)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:N.toString(X)})}get minValue(){let X=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(X===null||Y.value>X)X=Y.value}return X}get maxValue(){let X=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(X===null||Y.value<X)X=Y.value}return X}get isInt(){return!!this._def.checks.find((X)=>X.kind==="int"||X.kind==="multipleOf"&&x.isInteger(X.value))}get isFinite(){let X=null,Y=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if(Y===null||J.value>Y)Y=J.value}else if(J.kind==="max"){if(X===null||J.value<X)X=J.value}return Number.isFinite(Y)&&Number.isFinite(X)}}f0.create=(X)=>{return new f0({checks:[],typeName:S.ZodNumber,coerce:X?.coerce||!1,...b(X)})};class O0 extends C{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(X){if(this._def.coerce)try{X.data=BigInt(X.data)}catch{return this._getInvalidInput(X)}if(this._getType(X)!==U.bigint)return this._getInvalidInput(X);let J=void 0,Q=new r;for(let _ of this._def.checks)if(_.kind==="min"){if(_.inclusive?X.data<_.value:X.data<=_.value)J=this._getOrReturnCtx(X,J),M(J,{code:E.too_small,type:"bigint",minimum:_.value,inclusive:_.inclusive,message:_.message}),Q.dirty()}else if(_.kind==="max"){if(_.inclusive?X.data>_.value:X.data>=_.value)J=this._getOrReturnCtx(X,J),M(J,{code:E.too_big,type:"bigint",maximum:_.value,inclusive:_.inclusive,message:_.message}),Q.dirty()}else if(_.kind==="multipleOf"){if(X.data%_.value!==BigInt(0))J=this._getOrReturnCtx(X,J),M(J,{code:E.not_multiple_of,multipleOf:_.value,message:_.message}),Q.dirty()}else x.assertNever(_);return{status:Q.value,value:X.data}}_getInvalidInput(X){let Y=this._getOrReturnCtx(X);return M(Y,{code:E.invalid_type,expected:U.bigint,received:Y.parsedType}),w}gte(X,Y){return this.setLimit("min",X,!0,N.toString(Y))}gt(X,Y){return this.setLimit("min",X,!1,N.toString(Y))}lte(X,Y){return this.setLimit("max",X,!0,N.toString(Y))}lt(X,Y){return this.setLimit("max",X,!1,N.toString(Y))}setLimit(X,Y,J,Q){return new O0({...this._def,checks:[...this._def.checks,{kind:X,value:Y,inclusive:J,message:N.toString(Q)}]})}_addCheck(X){return new O0({...this._def,checks:[...this._def.checks,X]})}positive(X){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:N.toString(X)})}negative(X){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:N.toString(X)})}nonpositive(X){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:N.toString(X)})}nonnegative(X){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:N.toString(X)})}multipleOf(X,Y){return this._addCheck({kind:"multipleOf",value:X,message:N.toString(Y)})}get minValue(){let X=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(X===null||Y.value>X)X=Y.value}return X}get maxValue(){let X=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(X===null||Y.value<X)X=Y.value}return X}}O0.create=(X)=>{return new O0({checks:[],typeName:S.ZodBigInt,coerce:X?.coerce??!1,...b(X)})};class r0 extends C{_parse(X){if(this._def.coerce)X.data=Boolean(X.data);if(this._getType(X)!==U.boolean){let J=this._getOrReturnCtx(X);return M(J,{code:E.invalid_type,expected:U.boolean,received:J.parsedType}),w}return o(X.data)}}r0.create=(X)=>{return new r0({typeName:S.ZodBoolean,coerce:X?.coerce||!1,...b(X)})};class h0 extends C{_parse(X){if(this._def.coerce)X.data=new Date(X.data);if(this._getType(X)!==U.date){let _=this._getOrReturnCtx(X);return M(_,{code:E.invalid_type,expected:U.date,received:_.parsedType}),w}if(Number.isNaN(X.data.getTime())){let _=this._getOrReturnCtx(X);return M(_,{code:E.invalid_date}),w}let J=new r,Q=void 0;for(let _ of this._def.checks)if(_.kind==="min"){if(X.data.getTime()<_.value)Q=this._getOrReturnCtx(X,Q),M(Q,{code:E.too_small,message:_.message,inclusive:!0,exact:!1,minimum:_.value,type:"date"}),J.dirty()}else if(_.kind==="max"){if(X.data.getTime()>_.value)Q=this._getOrReturnCtx(X,Q),M(Q,{code:E.too_big,message:_.message,inclusive:!0,exact:!1,maximum:_.value,type:"date"}),J.dirty()}else x.assertNever(_);return{status:J.value,value:new Date(X.data.getTime())}}_addCheck(X){return new h0({...this._def,checks:[...this._def.checks,X]})}min(X,Y){return this._addCheck({kind:"min",value:X.getTime(),message:N.toString(Y)})}max(X,Y){return this._addCheck({kind:"max",value:X.getTime(),message:N.toString(Y)})}get minDate(){let X=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(X===null||Y.value>X)X=Y.value}return X!=null?new Date(X):null}get maxDate(){let X=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(X===null||Y.value<X)X=Y.value}return X!=null?new Date(X):null}}h0.create=(X)=>{return new h0({checks:[],coerce:X?.coerce||!1,typeName:S.ZodDate,...b(X)})};class F1 extends C{_parse(X){if(this._getType(X)!==U.symbol){let J=this._getOrReturnCtx(X);return M(J,{code:E.invalid_type,expected:U.symbol,received:J.parsedType}),w}return o(X.data)}}F1.create=(X)=>{return new F1({typeName:S.ZodSymbol,...b(X)})};class o0 extends C{_parse(X){if(this._getType(X)!==U.undefined){let J=this._getOrReturnCtx(X);return M(J,{code:E.invalid_type,expected:U.undefined,received:J.parsedType}),w}return o(X.data)}}o0.create=(X)=>{return new o0({typeName:S.ZodUndefined,...b(X)})};class s0 extends C{_parse(X){if(this._getType(X)!==U.null){let J=this._getOrReturnCtx(X);return M(J,{code:E.invalid_type,expected:U.null,received:J.parsedType}),w}return o(X.data)}}s0.create=(X)=>{return new s0({typeName:S.ZodNull,...b(X)})};class g0 extends C{constructor(){super(...arguments);this._any=!0}_parse(X){return o(X.data)}}g0.create=(X)=>{return new g0({typeName:S.ZodAny,...b(X)})};class I0 extends C{constructor(){super(...arguments);this._unknown=!0}_parse(X){return o(X.data)}}I0.create=(X)=>{return new I0({typeName:S.ZodUnknown,...b(X)})};class E0 extends C{_parse(X){let Y=this._getOrReturnCtx(X);return M(Y,{code:E.invalid_type,expected:U.never,received:Y.parsedType}),w}}E0.create=(X)=>{return new E0({typeName:S.ZodNever,...b(X)})};class U1 extends C{_parse(X){if(this._getType(X)!==U.undefined){let J=this._getOrReturnCtx(X);return M(J,{code:E.invalid_type,expected:U.void,received:J.parsedType}),w}return o(X.data)}}U1.create=(X)=>{return new U1({typeName:S.ZodVoid,...b(X)})};class G0 extends C{_parse(X){let{ctx:Y,status:J}=this._processInputParams(X),Q=this._def;if(Y.parsedType!==U.array)return M(Y,{code:E.invalid_type,expected:U.array,received:Y.parsedType}),w;if(Q.exactLength!==null){let H=Y.data.length>Q.exactLength.value,G=Y.data.length<Q.exactLength.value;if(H||G)M(Y,{code:H?E.too_big:E.too_small,minimum:G?Q.exactLength.value:void 0,maximum:H?Q.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Q.exactLength.message}),J.dirty()}if(Q.minLength!==null){if(Y.data.length<Q.minLength.value)M(Y,{code:E.too_small,minimum:Q.minLength.value,type:"array",inclusive:!0,exact:!1,message:Q.minLength.message}),J.dirty()}if(Q.maxLength!==null){if(Y.data.length>Q.maxLength.value)M(Y,{code:E.too_big,maximum:Q.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Q.maxLength.message}),J.dirty()}if(Y.common.async)return Promise.all([...Y.data].map((H,G)=>{return Q.type._parseAsync(new q0(Y,H,Y.path,G))})).then((H)=>{return r.mergeArray(J,H)});let _=[...Y.data].map((H,G)=>{return Q.type._parseSync(new q0(Y,H,Y.path,G))});return r.mergeArray(J,_)}get element(){return this._def.type}min(X,Y){return new G0({...this._def,minLength:{value:X,message:N.toString(Y)}})}max(X,Y){return new G0({...this._def,maxLength:{value:X,message:N.toString(Y)}})}length(X,Y){return new G0({...this._def,exactLength:{value:X,message:N.toString(Y)}})}nonempty(X){return this.min(1,X)}}G0.create=(X,Y)=>{return new G0({type:X,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...b(Y)})};function i0(X){if(X instanceof p){let Y={};for(let J in X.shape){let Q=X.shape[J];Y[J]=W0.create(i0(Q))}return new p({...X._def,shape:()=>Y})}else if(X instanceof G0)return new G0({...X._def,type:i0(X.element)});else if(X instanceof W0)return W0.create(i0(X.unwrap()));else if(X instanceof R0)return R0.create(i0(X.unwrap()));else if(X instanceof V0)return V0.create(X.items.map((Y)=>i0(Y)));else return X}class p extends C{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let X=this._def.shape(),Y=x.objectKeys(X);return this._cached={shape:X,keys:Y},this._cached}_parse(X){if(this._getType(X)!==U.object){let q=this._getOrReturnCtx(X);return M(q,{code:E.invalid_type,expected:U.object,received:q.parsedType}),w}let{status:J,ctx:Q}=this._processInputParams(X),{shape:_,keys:H}=this._getCached(),G=[];if(!(this._def.catchall instanceof E0&&this._def.unknownKeys==="strip")){for(let q in Q.data)if(!H.includes(q))G.push(q)}let W=[];for(let q of H){let $=_[q],B=Q.data[q];W.push({key:{status:"valid",value:q},value:$._parse(new q0(Q,B,Q.path,q)),alwaysSet:q in Q.data})}if(this._def.catchall instanceof E0){let q=this._def.unknownKeys;if(q==="passthrough")for(let $ of G)W.push({key:{status:"valid",value:$},value:{status:"valid",value:Q.data[$]}});else if(q==="strict"){if(G.length>0)M(Q,{code:E.unrecognized_keys,keys:G}),J.dirty()}else if(q==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let q=this._def.catchall;for(let $ of G){let B=Q.data[$];W.push({key:{status:"valid",value:$},value:q._parse(new q0(Q,B,Q.path,$)),alwaysSet:$ in Q.data})}}if(Q.common.async)return Promise.resolve().then(async()=>{let q=[];for(let $ of W){let B=await $.key,D=await $.value;q.push({key:B,value:D,alwaysSet:$.alwaysSet})}return q}).then((q)=>{return r.mergeObjectSync(J,q)});else return r.mergeObjectSync(J,W)}get shape(){return this._def.shape()}strict(X){return N.errToObj,new p({...this._def,unknownKeys:"strict",...X!==void 0?{errorMap:(Y,J)=>{let Q=this._def.errorMap?.(Y,J).message??J.defaultError;if(Y.code==="unrecognized_keys")return{message:N.errToObj(X).message??Q};return{message:Q}}}:{}})}strip(){return new p({...this._def,unknownKeys:"strip"})}passthrough(){return new p({...this._def,unknownKeys:"passthrough"})}extend(X){return new p({...this._def,shape:()=>({...this._def.shape(),...X})})}merge(X){return new p({unknownKeys:X._def.unknownKeys,catchall:X._def.catchall,shape:()=>({...this._def.shape(),...X._def.shape()}),typeName:S.ZodObject})}setKey(X,Y){return this.augment({[X]:Y})}catchall(X){return new p({...this._def,catchall:X})}pick(X){let Y={};for(let J of x.objectKeys(X))if(X[J]&&this.shape[J])Y[J]=this.shape[J];return new p({...this._def,shape:()=>Y})}omit(X){let Y={};for(let J of x.objectKeys(this.shape))if(!X[J])Y[J]=this.shape[J];return new p({...this._def,shape:()=>Y})}deepPartial(){return i0(this)}partial(X){let Y={};for(let J of x.objectKeys(this.shape)){let Q=this.shape[J];if(X&&!X[J])Y[J]=Q;else Y[J]=Q.optional()}return new p({...this._def,shape:()=>Y})}required(X){let Y={};for(let J of x.objectKeys(this.shape))if(X&&!X[J])Y[J]=this.shape[J];else{let _=this.shape[J];while(_ instanceof W0)_=_._def.innerType;Y[J]=_}return new p({...this._def,shape:()=>Y})}keyof(){return v9(x.objectKeys(this.shape))}}p.create=(X,Y)=>{return new p({shape:()=>X,unknownKeys:"strip",catchall:E0.create(),typeName:S.ZodObject,...b(Y)})};p.strictCreate=(X,Y)=>{return new p({shape:()=>X,unknownKeys:"strict",catchall:E0.create(),typeName:S.ZodObject,...b(Y)})};p.lazycreate=(X,Y)=>{return new p({shape:X,unknownKeys:"strip",catchall:E0.create(),typeName:S.ZodObject,...b(Y)})};class a0 extends C{_parse(X){let{ctx:Y}=this._processInputParams(X),J=this._def.options;function Q(_){for(let G of _)if(G.result.status==="valid")return G.result;for(let G of _)if(G.result.status==="dirty")return Y.common.issues.push(...G.ctx.common.issues),G.result;let H=_.map((G)=>new a(G.ctx.common.issues));return M(Y,{code:E.invalid_union,unionErrors:H}),w}if(Y.common.async)return Promise.all(J.map(async(_)=>{let H={...Y,common:{...Y.common,issues:[]},parent:null};return{result:await _._parseAsync({data:Y.data,path:Y.path,parent:H}),ctx:H}})).then(Q);else{let _=void 0,H=[];for(let W of J){let q={...Y,common:{...Y.common,issues:[]},parent:null},$=W._parseSync({data:Y.data,path:Y.path,parent:q});if($.status==="valid")return $;else if($.status==="dirty"&&!_)_={result:$,ctx:q};if(q.common.issues.length)H.push(q.common.issues)}if(_)return Y.common.issues.push(..._.ctx.common.issues),_.result;let G=H.map((W)=>new a(W));return M(Y,{code:E.invalid_union,unionErrors:G}),w}}get options(){return this._def.options}}a0.create=(X,Y)=>{return new a0({options:X,typeName:S.ZodUnion,...b(Y)})};var j0=(X)=>{if(X instanceof e0)return j0(X.schema);else if(X instanceof $0)return j0(X.innerType());else if(X instanceof X1)return[X.value];else if(X instanceof P0)return X.options;else if(X instanceof Y1)return x.objectValues(X.enum);else if(X instanceof J1)return j0(X._def.innerType);else if(X instanceof o0)return[void 0];else if(X instanceof s0)return[null];else if(X instanceof W0)return[void 0,...j0(X.unwrap())];else if(X instanceof R0)return[null,...j0(X.unwrap())];else if(X instanceof h1)return j0(X.unwrap());else if(X instanceof _1)return j0(X.unwrap());else if(X instanceof Q1)return j0(X._def.innerType);else return[]};class y1 extends C{_parse(X){let{ctx:Y}=this._processInputParams(X);if(Y.parsedType!==U.object)return M(Y,{code:E.invalid_type,expected:U.object,received:Y.parsedType}),w;let J=this.discriminator,Q=Y.data[J],_=this.optionsMap.get(Q);if(!_)return M(Y,{code:E.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),w;if(Y.common.async)return _._parseAsync({data:Y.data,path:Y.path,parent:Y});else return _._parseSync({data:Y.data,path:Y.path,parent:Y})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(X,Y,J){let Q=new Map;for(let _ of Y){let H=j0(_.shape[X]);if(!H.length)throw Error(`A discriminator value for key \`${X}\` could not be extracted from all schema options`);for(let G of H){if(Q.has(G))throw Error(`Discriminator property ${String(X)} has duplicate value ${String(G)}`);Q.set(G,_)}}return new y1({typeName:S.ZodDiscriminatedUnion,discriminator:X,options:Y,optionsMap:Q,...b(J)})}}function N5(X,Y){let J=D0(X),Q=D0(Y);if(X===Y)return{valid:!0,data:X};else if(J===U.object&&Q===U.object){let _=x.objectKeys(Y),H=x.objectKeys(X).filter((W)=>_.indexOf(W)!==-1),G={...X,...Y};for(let W of H){let q=N5(X[W],Y[W]);if(!q.valid)return{valid:!1};G[W]=q.data}return{valid:!0,data:G}}else if(J===U.array&&Q===U.array){if(X.length!==Y.length)return{valid:!1};let _=[];for(let H=0;H<X.length;H++){let G=X[H],W=Y[H],q=N5(G,W);if(!q.valid)return{valid:!1};_.push(q.data)}return{valid:!0,data:_}}else if(J===U.date&&Q===U.date&&+X===+Y)return{valid:!0,data:X};else return{valid:!1}}class t0 extends C{_parse(X){let{status:Y,ctx:J}=this._processInputParams(X),Q=(_,H)=>{if(x1(_)||x1(H))return w;let G=N5(_.value,H.value);if(!G.valid)return M(J,{code:E.invalid_intersection_types}),w;if(v1(_)||v1(H))Y.dirty();return{status:Y.value,value:G.data}};if(J.common.async)return Promise.all([this._def.left._parseAsync({data:J.data,path:J.path,parent:J}),this._def.right._parseAsync({data:J.data,path:J.path,parent:J})]).then(([_,H])=>Q(_,H));else return Q(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}t0.create=(X,Y,J)=>{return new t0({left:X,right:Y,typeName:S.ZodIntersection,...b(J)})};class V0 extends C{_parse(X){let{status:Y,ctx:J}=this._processInputParams(X);if(J.parsedType!==U.array)return M(J,{code:E.invalid_type,expected:U.array,received:J.parsedType}),w;if(J.data.length<this._def.items.length)return M(J,{code:E.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),w;if(!this._def.rest&&J.data.length>this._def.items.length)M(J,{code:E.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Y.dirty();let _=[...J.data].map((H,G)=>{let W=this._def.items[G]||this._def.rest;if(!W)return null;return W._parse(new q0(J,H,J.path,G))}).filter((H)=>!!H);if(J.common.async)return Promise.all(_).then((H)=>{return r.mergeArray(Y,H)});else return r.mergeArray(Y,_)}get items(){return this._def.items}rest(X){return new V0({...this._def,rest:X})}}V0.create=(X,Y)=>{if(!Array.isArray(X))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new V0({items:X,typeName:S.ZodTuple,rest:null,...b(Y)})};class M1 extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(X){let{status:Y,ctx:J}=this._processInputParams(X);if(J.parsedType!==U.object)return M(J,{code:E.invalid_type,expected:U.object,received:J.parsedType}),w;let Q=[],_=this._def.keyType,H=this._def.valueType;for(let G in J.data)Q.push({key:_._parse(new q0(J,G,J.path,G)),value:H._parse(new q0(J,J.data[G],J.path,G)),alwaysSet:G in J.data});if(J.common.async)return r.mergeObjectAsync(Y,Q);else return r.mergeObjectSync(Y,Q)}get element(){return this._def.valueType}static create(X,Y,J){if(Y instanceof C)return new M1({keyType:X,valueType:Y,typeName:S.ZodRecord,...b(J)});return new M1({keyType:H0.create(),valueType:X,typeName:S.ZodRecord,...b(Y)})}}class A1 extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(X){let{status:Y,ctx:J}=this._processInputParams(X);if(J.parsedType!==U.map)return M(J,{code:E.invalid_type,expected:U.map,received:J.parsedType}),w;let Q=this._def.keyType,_=this._def.valueType,H=[...J.data.entries()].map(([G,W],q)=>{return{key:Q._parse(new q0(J,G,J.path,[q,"key"])),value:_._parse(new q0(J,W,J.path,[q,"value"]))}});if(J.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let W of H){let q=await W.key,$=await W.value;if(q.status==="aborted"||$.status==="aborted")return w;if(q.status==="dirty"||$.status==="dirty")Y.dirty();G.set(q.value,$.value)}return{status:Y.value,value:G}})}else{let G=new Map;for(let W of H){let{key:q,value:$}=W;if(q.status==="aborted"||$.status==="aborted")return w;if(q.status==="dirty"||$.status==="dirty")Y.dirty();G.set(q.value,$.value)}return{status:Y.value,value:G}}}}A1.create=(X,Y,J)=>{return new A1({valueType:Y,keyType:X,typeName:S.ZodMap,...b(J)})};class m0 extends C{_parse(X){let{status:Y,ctx:J}=this._processInputParams(X);if(J.parsedType!==U.set)return M(J,{code:E.invalid_type,expected:U.set,received:J.parsedType}),w;let Q=this._def;if(Q.minSize!==null){if(J.data.size<Q.minSize.value)M(J,{code:E.too_small,minimum:Q.minSize.value,type:"set",inclusive:!0,exact:!1,message:Q.minSize.message}),Y.dirty()}if(Q.maxSize!==null){if(J.data.size>Q.maxSize.value)M(J,{code:E.too_big,maximum:Q.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Q.maxSize.message}),Y.dirty()}let _=this._def.valueType;function H(W){let q=new Set;for(let $ of W){if($.status==="aborted")return w;if($.status==="dirty")Y.dirty();q.add($.value)}return{status:Y.value,value:q}}let G=[...J.data.values()].map((W,q)=>_._parse(new q0(J,W,J.path,q)));if(J.common.async)return Promise.all(G).then((W)=>H(W));else return H(G)}min(X,Y){return new m0({...this._def,minSize:{value:X,message:N.toString(Y)}})}max(X,Y){return new m0({...this._def,maxSize:{value:X,message:N.toString(Y)}})}size(X,Y){return this.min(X,Y).max(X,Y)}nonempty(X){return this.min(1,X)}}m0.create=(X,Y)=>{return new m0({valueType:X,minSize:null,maxSize:null,typeName:S.ZodSet,...b(Y)})};class n0 extends C{constructor(){super(...arguments);this.validate=this.implement}_parse(X){let{ctx:Y}=this._processInputParams(X);if(Y.parsedType!==U.function)return M(Y,{code:E.invalid_type,expected:U.function,received:Y.parsedType}),w;function J(G,W){return V1({data:G,path:Y.path,errorMaps:[Y.common.contextualErrorMap,Y.schemaErrorMap,d0(),N0].filter((q)=>!!q),issueData:{code:E.invalid_arguments,argumentsError:W}})}function Q(G,W){return V1({data:G,path:Y.path,errorMaps:[Y.common.contextualErrorMap,Y.schemaErrorMap,d0(),N0].filter((q)=>!!q),issueData:{code:E.invalid_return_type,returnTypeError:W}})}let _={errorMap:Y.common.contextualErrorMap},H=Y.data;if(this._def.returns instanceof c0){let G=this;return o(async function(...W){let q=new a([]),$=await G._def.args.parseAsync(W,_).catch((V)=>{throw q.addIssue(J(W,V)),q}),B=await Reflect.apply(H,this,$);return await G._def.returns._def.type.parseAsync(B,_).catch((V)=>{throw q.addIssue(Q(B,V)),q})})}else{let G=this;return o(function(...W){let q=G._def.args.safeParse(W,_);if(!q.success)throw new a([J(W,q.error)]);let $=Reflect.apply(H,this,q.data),B=G._def.returns.safeParse($,_);if(!B.success)throw new a([Q($,B.error)]);return B.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...X){return new n0({...this._def,args:V0.create(X).rest(I0.create())})}returns(X){return new n0({...this._def,returns:X})}implement(X){return this.parse(X)}strictImplement(X){return this.parse(X)}static create(X,Y,J){return new n0({args:X?X:V0.create([]).rest(I0.create()),returns:Y||I0.create(),typeName:S.ZodFunction,...b(J)})}}class e0 extends C{get schema(){return this._def.getter()}_parse(X){let{ctx:Y}=this._processInputParams(X);return this._def.getter()._parse({data:Y.data,path:Y.path,parent:Y})}}e0.create=(X,Y)=>{return new e0({getter:X,typeName:S.ZodLazy,...b(Y)})};class X1 extends C{_parse(X){if(X.data!==this._def.value){let Y=this._getOrReturnCtx(X);return M(Y,{received:Y.data,code:E.invalid_literal,expected:this._def.value}),w}return{status:"valid",value:X.data}}get value(){return this._def.value}}X1.create=(X,Y)=>{return new X1({value:X,typeName:S.ZodLiteral,...b(Y)})};function v9(X,Y){return new P0({values:X,typeName:S.ZodEnum,...b(Y)})}class P0 extends C{_parse(X){if(typeof X.data!=="string"){let Y=this._getOrReturnCtx(X),J=this._def.values;return M(Y,{expected:x.joinValues(J),received:Y.parsedType,code:E.invalid_type}),w}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(X.data)){let Y=this._getOrReturnCtx(X),J=this._def.values;return M(Y,{received:Y.data,code:E.invalid_enum_value,options:J}),w}return o(X.data)}get options(){return this._def.values}get enum(){let X={};for(let Y of this._def.values)X[Y]=Y;return X}get Values(){let X={};for(let Y of this._def.values)X[Y]=Y;return X}get Enum(){let X={};for(let Y of this._def.values)X[Y]=Y;return X}extract(X,Y=this._def){return P0.create(X,{...this._def,...Y})}exclude(X,Y=this._def){return P0.create(this.options.filter((J)=>!X.includes(J)),{...this._def,...Y})}}P0.create=v9;class Y1 extends C{_parse(X){let Y=x.getValidEnumValues(this._def.values),J=this._getOrReturnCtx(X);if(J.parsedType!==U.string&&J.parsedType!==U.number){let Q=x.objectValues(Y);return M(J,{expected:x.joinValues(Q),received:J.parsedType,code:E.invalid_type}),w}if(!this._cache)this._cache=new Set(x.getValidEnumValues(this._def.values));if(!this._cache.has(X.data)){let Q=x.objectValues(Y);return M(J,{received:J.data,code:E.invalid_enum_value,options:Q}),w}return o(X.data)}get enum(){return this._def.values}}Y1.create=(X,Y)=>{return new Y1({values:X,typeName:S.ZodNativeEnum,...b(Y)})};class c0 extends C{unwrap(){return this._def.type}_parse(X){let{ctx:Y}=this._processInputParams(X);if(Y.parsedType!==U.promise&&Y.common.async===!1)return M(Y,{code:E.invalid_type,expected:U.promise,received:Y.parsedType}),w;let J=Y.parsedType===U.promise?Y.data:Promise.resolve(Y.data);return o(J.then((Q)=>{return this._def.type.parseAsync(Q,{path:Y.path,errorMap:Y.common.contextualErrorMap})}))}}c0.create=(X,Y)=>{return new c0({type:X,typeName:S.ZodPromise,...b(Y)})};class $0 extends C{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(X){let{status:Y,ctx:J}=this._processInputParams(X),Q=this._def.effect||null,_={addIssue:(H)=>{if(M(J,H),H.fatal)Y.abort();else Y.dirty()},get path(){return J.path}};if(_.addIssue=_.addIssue.bind(_),Q.type==="preprocess"){let H=Q.transform(J.data,_);if(J.common.async)return Promise.resolve(H).then(async(G)=>{if(Y.value==="aborted")return w;let W=await this._def.schema._parseAsync({data:G,path:J.path,parent:J});if(W.status==="aborted")return w;if(W.status==="dirty")return y0(W.value);if(Y.value==="dirty")return y0(W.value);return W});else{if(Y.value==="aborted")return w;let G=this._def.schema._parseSync({data:H,path:J.path,parent:J});if(G.status==="aborted")return w;if(G.status==="dirty")return y0(G.value);if(Y.value==="dirty")return y0(G.value);return G}}if(Q.type==="refinement"){let H=(G)=>{let W=Q.refinement(G,_);if(J.common.async)return Promise.resolve(W);if(W instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(J.common.async===!1){let G=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(G.status==="aborted")return w;if(G.status==="dirty")Y.dirty();return H(G.value),{status:Y.value,value:G.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((G)=>{if(G.status==="aborted")return w;if(G.status==="dirty")Y.dirty();return H(G.value).then(()=>{return{status:Y.value,value:G.value}})})}if(Q.type==="transform")if(J.common.async===!1){let H=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!S0(H))return w;let G=Q.transform(H.value,_);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:Y.value,value:G}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((H)=>{if(!S0(H))return w;return Promise.resolve(Q.transform(H.value,_)).then((G)=>({status:Y.value,value:G}))});x.assertNever(Q)}}$0.create=(X,Y,J)=>{return new $0({schema:X,typeName:S.ZodEffects,effect:Y,...b(J)})};$0.createWithPreprocess=(X,Y,J)=>{return new $0({schema:Y,effect:{type:"preprocess",transform:X},typeName:S.ZodEffects,...b(J)})};class W0 extends C{_parse(X){if(this._getType(X)===U.undefined)return o(void 0);return this._def.innerType._parse(X)}unwrap(){return this._def.innerType}}W0.create=(X,Y)=>{return new W0({innerType:X,typeName:S.ZodOptional,...b(Y)})};class R0 extends C{_parse(X){if(this._getType(X)===U.null)return o(null);return this._def.innerType._parse(X)}unwrap(){return this._def.innerType}}R0.create=(X,Y)=>{return new R0({innerType:X,typeName:S.ZodNullable,...b(Y)})};class J1 extends C{_parse(X){let{ctx:Y}=this._processInputParams(X),J=Y.data;if(Y.parsedType===U.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:Y.path,parent:Y})}removeDefault(){return this._def.innerType}}J1.create=(X,Y)=>{return new J1({innerType:X,typeName:S.ZodDefault,defaultValue:typeof Y.default==="function"?Y.default:()=>Y.default,...b(Y)})};class Q1 extends C{_parse(X){let{ctx:Y}=this._processInputParams(X),J={...Y,common:{...Y.common,issues:[]}},Q=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(p0(Q))return Q.then((_)=>{return{status:"valid",value:_.status==="valid"?_.value:this._def.catchValue({get error(){return new a(J.common.issues)},input:J.data})}});else return{status:"valid",value:Q.status==="valid"?Q.value:this._def.catchValue({get error(){return new a(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}Q1.create=(X,Y)=>{return new Q1({innerType:X,typeName:S.ZodCatch,catchValue:typeof Y.catch==="function"?Y.catch:()=>Y.catch,...b(Y)})};class N1 extends C{_parse(X){if(this._getType(X)!==U.nan){let J=this._getOrReturnCtx(X);return M(J,{code:E.invalid_type,expected:U.nan,received:J.parsedType}),w}return{status:"valid",value:X.data}}}N1.create=(X)=>{return new N1({typeName:S.ZodNaN,...b(X)})};var lX=Symbol("zod_brand");class h1 extends C{_parse(X){let{ctx:Y}=this._processInputParams(X),J=Y.data;return this._def.type._parse({data:J,path:Y.path,parent:Y})}unwrap(){return this._def.type}}class j1 extends C{_parse(X){let{status:Y,ctx:J}=this._processInputParams(X);if(J.common.async)return(async()=>{let _=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(_.status==="aborted")return w;if(_.status==="dirty")return Y.dirty(),y0(_.value);else return this._def.out._parseAsync({data:_.value,path:J.path,parent:J})})();else{let Q=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(Q.status==="aborted")return w;if(Q.status==="dirty")return Y.dirty(),{status:"dirty",value:Q.value};else return this._def.out._parseSync({data:Q.value,path:J.path,parent:J})}}static create(X,Y){return new j1({in:X,out:Y,typeName:S.ZodPipeline})}}class _1 extends C{_parse(X){let Y=this._def.innerType._parse(X),J=(Q)=>{if(S0(Q))Q.value=Object.freeze(Q.value);return Q};return p0(Y)?Y.then((Q)=>J(Q)):J(Y)}unwrap(){return this._def.innerType}}_1.create=(X,Y)=>{return new _1({innerType:X,typeName:S.ZodReadonly,...b(Y)})};function T9(X,Y){let J=typeof X==="function"?X(Y):typeof X==="string"?{message:X}:X;return typeof J==="string"?{message:J}:J}function y9(X,Y={},J){if(X)return g0.create().superRefine((Q,_)=>{let H=X(Q);if(H instanceof Promise)return H.then((G)=>{if(!G){let W=T9(Y,Q),q=W.fatal??J??!0;_.addIssue({code:"custom",...W,fatal:q})}});if(!H){let G=T9(Y,Q),W=G.fatal??J??!0;_.addIssue({code:"custom",...G,fatal:W})}return});return g0.create()}var dX={object:p.lazycreate},S;(function(X){X.ZodString="ZodString",X.ZodNumber="ZodNumber",X.ZodNaN="ZodNaN",X.ZodBigInt="ZodBigInt",X.ZodBoolean="ZodBoolean",X.ZodDate="ZodDate",X.ZodSymbol="ZodSymbol",X.ZodUndefined="ZodUndefined",X.ZodNull="ZodNull",X.ZodAny="ZodAny",X.ZodUnknown="ZodUnknown",X.ZodNever="ZodNever",X.ZodVoid="ZodVoid",X.ZodArray="ZodArray",X.ZodObject="ZodObject",X.ZodUnion="ZodUnion",X.ZodDiscriminatedUnion="ZodDiscriminatedUnion",X.ZodIntersection="ZodIntersection",X.ZodTuple="ZodTuple",X.ZodRecord="ZodRecord",X.ZodMap="ZodMap",X.ZodSet="ZodSet",X.ZodFunction="ZodFunction",X.ZodLazy="ZodLazy",X.ZodLiteral="ZodLiteral",X.ZodEnum="ZodEnum",X.ZodEffects="ZodEffects",X.ZodNativeEnum="ZodNativeEnum",X.ZodOptional="ZodOptional",X.ZodNullable="ZodNullable",X.ZodDefault="ZodDefault",X.ZodCatch="ZodCatch",X.ZodPromise="ZodPromise",X.ZodBranded="ZodBranded",X.ZodPipeline="ZodPipeline",X.ZodReadonly="ZodReadonly"})(S||(S={}));var pX=(X,Y={message:`Input not instance of ${X.name}`})=>y9((J)=>J instanceof X,Y),h9=H0.create,g9=f0.create,iX=N1.create,nX=O0.create,m9=r0.create,rX=h0.create,oX=F1.create,sX=o0.create,aX=s0.create,tX=g0.create,eX=I0.create,XY=E0.create,YY=U1.create,JY=G0.create,QY=p.create,_Y=p.strictCreate,HY=a0.create,GY=y1.create,WY=t0.create,qY=V0.create,$Y=M1.create,BY=A1.create,LY=m0.create,KY=n0.create,DY=e0.create,EY=X1.create,VY=P0.create,FY=Y1.create,UY=c0.create,MY=$0.create,AY=W0.create,NY=R0.create,jY=$0.createWithPreprocess,RY=j1.create,zY=()=>h9().optional(),wY=()=>g9().optional(),SY=()=>m9().optional(),IY={string:(X)=>H0.create({...X,coerce:!0}),number:(X)=>f0.create({...X,coerce:!0}),boolean:(X)=>r0.create({...X,coerce:!0}),bigint:(X)=>O0.create({...X,coerce:!0}),date:(X)=>h0.create({...X,coerce:!0})};var fY=w;var OY=L.object({type:L.literal("user"),text:L.string(),id:L.string().optional(),timestamp:L.string().optional()}),PY=L.object({type:L.literal("compaction-summary"),text:L.string(),id:L.string().optional(),timestamp:L.string().optional()}),kY=L.object({type:L.literal("agent"),text:L.string(),id:L.string().optional(),timestamp:L.string().optional(),model:L.string().optional()}),bY=L.object({type:L.literal("thinking"),text:L.string(),id:L.string().optional(),timestamp:L.string().optional(),model:L.string().optional()}),c9=L.object({type:L.literal("tool-call"),toolName:L.string().nullable(),input:L.unknown().optional(),output:L.unknown().optional(),error:L.string().optional(),isError:L.union([L.boolean(),L.string()]).optional(),id:L.string().optional(),timestamp:L.string().optional(),model:L.string().optional()}),t=L.discriminatedUnion("type",[OY,PY,kY,bY,c9]),R5=L.object({inputTokens:L.number(),cachedInputTokens:L.number(),outputTokens:L.number(),reasoningOutputTokens:L.number(),totalTokens:L.number()}),F0=c9,TY=F0.extend({toolName:L.literal("Write"),input:L.object({file_path:L.string(),content:L.string().optional()}).passthrough().optional(),output:L.object({type:L.string().optional()}).passthrough().optional()}),CY=F0.extend({toolName:L.literal("Read"),input:L.object({file_path:L.string()}).passthrough().optional(),output:L.union([L.string(),L.object({type:L.string().optional(),file:L.object({content:L.string().optional(),numLines:L.number().optional(),startLine:L.number().optional(),totalLines:L.number().optional()}).passthrough().optional()}).passthrough()]).optional()}),ZY=F0.extend({toolName:L.literal("Edit"),input:L.object({file_path:L.string(),diff:L.string().optional()}).passthrough().optional(),output:L.union([L.string(),L.object({userModified:L.boolean().optional()}).passthrough()]).optional()}),u9=L.object({filenames:L.array(L.string()),durationMs:L.number().optional(),truncated:L.boolean().optional()}).passthrough(),xY=F0.extend({toolName:L.literal("Glob"),input:L.object({pattern:L.string().optional()}).passthrough().optional(),output:u9.optional()}),vY=F0.extend({toolName:L.literal("Grep"),input:L.unknown().optional(),output:u9.extend({mode:L.string().optional(),numMatches:L.number().optional()}).passthrough().optional()}),yY=F0.extend({toolName:L.literal("Bash"),input:L.unknown().optional(),output:L.union([L.string(),L.object({stdout:L.string().optional(),stderr:L.string().optional(),interrupted:L.boolean().optional(),isImage:L.boolean().optional()}).passthrough()]).optional()}),hY=F0.extend({toolName:L.literal("BashOutput"),input:L.object({bash_id:L.string().optional()}).passthrough().optional(),output:L.object({command:L.string().optional(),exitCode:L.number().optional(),shellId:L.string().optional(),status:L.string().optional(),stderr:L.string().optional(),stdout:L.string().optional(),timestamp:L.string().optional()}).passthrough().optional()}),gY=F0.extend({toolName:L.literal("Task"),input:L.unknown().optional(),output:L.object({status:L.string().optional(),totalDurationMs:L.number().optional(),totalToolUseCount:L.number().optional(),content:L.array(L.object({type:L.string().optional(),text:L.string().optional()}).passthrough()).optional(),usage:R5.optional()}).passthrough().optional()}),j5=L.object({content:L.string(),status:L.string().optional()}).passthrough(),mY=F0.extend({toolName:L.literal("TodoWrite"),input:L.object({todos:L.array(j5).optional()}).passthrough().optional(),output:L.object({oldTodos:L.array(j5).optional(),newTodos:L.array(j5).optional()}).passthrough().optional()}),cY=[TY,CY,ZY,xY,vY,yY,hY,gY,mY],uY=F0,l9=L.union([...cY,uY]),g1=L.object({model:L.string(),usage:R5}),e=L.object({relativeCwd:L.string().nullable(),branch:L.string().nullable(),repo:L.string().nullable()}).strict().nullable(),R1=L.object({v:L.literal(1),id:L.string(),source:L.enum(["claude-code","codex","opencode","unknown"]),timestamp:L.coerce.date(),preview:L.string().nullable(),model:L.string().nullable(),blendedTokens:L.number(),costUsd:L.number(),messageCount:L.number(),tokenUsage:R5,modelUsage:L.array(g1),git:e,cwd:L.string().nullable(),messages:L.array(t)});var dY=200000,pY=["anthropic/","claude-3-5-","claude-3-","claude-","openai/","azure/","openrouter/openai/"],n9=new Set(["[request interrupted by user]","[request aborted by user]","[request cancelled by user]"]),iY=/^<\/?(?:command|local)-[a-z-]+>/i,r9=/^[α-ωΑ-Ω]\s/i,o9=["npm ","npm:","npm error","node:","node.js","error:","fatal:","warning:","traceback (most recent call last):","usage:","hint:","note:","code:","requirestack"],nY=new RegExp("\\b("+["fix","please","should","update","change","add","remove","create","write","implement","refactor","investigate","explain","help","why","what","how","need","ensure","make","build","let's","optimize","review","check"].join("|")+")\\b","i"),rY=3;function s9(X,Y={}){let J=oY(X);if(J.records.size===0)return null;let Q=tY(J.records,J.children);if(!Q)return null;let _=eY(Q,J.records);if(_.length===0)return null;let H=XJ(_),G=JJ(H),W=QJ(H),q=UJ(G),$=H.map((K)=>{let F=K.message?.usage;if(!F)return null;return{model:K.message?.model??null,usage:F}}).filter((K)=>K!==null),B=AJ($,Y.pricing),D=_J(_),V=D.length>0?WJ(D[0]):null,j=Y4(Q.timestamp)??Y.now??new Date,T=DJ(_),g=EJ(W),z=S5(_),f=Y.gitContext!==void 0?Y.gitContext:$J(_),O=z?v0(z):"",{messages:l,blobs:A}=RJ(_),d={v:1,id:T??Q.uuid,source:"claude-code",timestamp:j,preview:V,model:g,blendedTokens:q,costUsd:B,messageCount:_.length,tokenUsage:G,modelUsage:Array.from(W.entries()).map(([K,F])=>({model:K,usage:F})),git:f,cwd:O,messages:l};return{transcript:R1.parse(d),blobs:A}}function oY(X){let Y=new Map,J=new Map;for(let Q of X){let _=typeof Q.type==="string"?Q.type:"";if(_==="summary")continue;let H=typeof Q.uuid==="string"?Q.uuid:null;if(!H)continue;let G={uuid:H,type:_,timestamp:typeof Q.timestamp==="string"?Q.timestamp:void 0,parentUuid:typeof Q.parentUuid==="string"||Q.parentUuid===null?Q.parentUuid:void 0,logicalParentUuid:typeof Q.logicalParentUuid==="string"||Q.logicalParentUuid===null?Q.logicalParentUuid:void 0,isSidechain:Boolean(Q.isSidechain),isMeta:Boolean(Q.isMeta),isCompactSummary:Boolean(Q.isCompactSummary),sessionId:typeof Q.sessionId==="string"?Q.sessionId:void 0,cwd:typeof Q.cwd==="string"?Q.cwd:void 0,gitBranch:typeof Q.gitBranch==="string"?Q.gitBranch:void 0,costUSD:typeof Q.costUSD==="number"?Q.costUSD:void 0,message:sY(Q.message),raw:Q};if(Y.set(H,G),G.parentUuid){let W=J.get(G.parentUuid)??new Set;W.add(H),J.set(G.parentUuid,W)}}return{records:Y,children:J}}function sY(X){if(!X||typeof X!=="object")return;let Y=X,J=typeof Y.id==="string"?Y.id:void 0,Q=typeof Y.role==="string"?Y.role:void 0,_=Y.content,H=typeof Y.model==="string"?Y.model:void 0,G=aY(Y.usage);return{id:J,role:Q,content:_,model:H,usage:G}}function aY(X){if(!X||typeof X!=="object")return null;let Y=X,J={};if(typeof Y.input_tokens==="number")J.input_tokens=Y.input_tokens;if(typeof Y.cache_creation_input_tokens==="number")J.cache_creation_input_tokens=Y.cache_creation_input_tokens;if(typeof Y.cache_read_input_tokens==="number")J.cache_read_input_tokens=Y.cache_read_input_tokens;if(typeof Y.output_tokens==="number")J.output_tokens=Y.output_tokens;if(typeof Y.reasoning_output_tokens==="number")J.reasoning_output_tokens=Y.reasoning_output_tokens;return Object.keys(J).length>0?J:null}function tY(X,Y){let J=[];for(let Q of X.values())if(!Y.has(Q.uuid))J.push(Q);if(J.length===0)return null;return J.sort((Q,_)=>{let H=d9(Q.timestamp)??0,G=d9(_.timestamp)??0;if(H===G)return Q.uuid.localeCompare(_.uuid);return G-H}),J[0]}function eY(X,Y){let J=[],Q=new Set,_=X;while(_){if(Q.has(_.uuid))break;Q.add(_.uuid),J.unshift(_);let H=_.parentUuid??_.logicalParentUuid??void 0;if(!H)break;_=Y.get(H)}return J}function XJ(X){let Y=new Map;for(let J of X){if(J.type!=="assistant")continue;if(!J.message?.usage)continue;let _=YJ(J);Y.set(_,J)}return Array.from(Y.values())}function YJ(X){let Y=X.message,J=p9(Y?.id),Q=p9(X.raw.requestId);if(J&&Q)return`${J}:${Q}`;if(J)return J;if(Q)return Q;return X.uuid}function JJ(X){let Y={inputTokens:0,cachedInputTokens:0,outputTokens:0,reasoningOutputTokens:0,totalTokens:0};for(let J of X){let Q=J.message?.usage;if(!Q)continue;let _=X0(Q.input_tokens),H=X0(Q.cache_creation_input_tokens),G=X0(Q.cache_read_input_tokens),W=X0(Q.output_tokens),q=X0(Q.reasoning_output_tokens);Y.inputTokens+=_+H+G,Y.cachedInputTokens+=G,Y.outputTokens+=W,Y.reasoningOutputTokens+=q,Y.totalTokens+=_+H+G+W+q}return Y}function QJ(X){let Y=new Map;for(let J of X){let Q=J.message?.model,_=J.message?.usage;if(!Q||!_)continue;let H=Y.get(Q)??{inputTokens:0,cachedInputTokens:0,outputTokens:0,reasoningOutputTokens:0,totalTokens:0},G=X0(_.input_tokens),W=X0(_.cache_creation_input_tokens),q=X0(_.cache_read_input_tokens),$=X0(_.output_tokens),B=X0(_.reasoning_output_tokens);H.inputTokens+=G+W+q,H.cachedInputTokens+=q,H.outputTokens+=$,H.reasoningOutputTokens+=B,H.totalTokens+=G+W+q+$+B,Y.set(Q,H)}return Y}function _J(X){let Y=[];for(let J of X){if(!HJ(J))continue;Y.push(J)}return Y}function HJ(X){if(X.type!=="user")return!1;if(X.isSidechain)return!1;if(X.isMeta)return!1;let Y=X.raw;if(Y&&typeof Y==="object"){if("toolUseResult"in Y)return!1}let J=X.message?.content;if(Array.isArray(J)){if(J.some((H)=>GJ(H)))return!1}let Q=e9(X);if(!Q)return!1;let _=Q.toLowerCase();if(n9.has(_))return!1;if(a9(Q))return!1;if(r9.test(Q))return!1;if(o9.some((H)=>_.startsWith(H))){if(!X4(Q))return!1}return!0}function GJ(X){if(!X||typeof X!=="object")return!1;let Y=X;if(Y.type==="tool_result")return!0;if(typeof Y.tool_use_id==="string")return!0;return!1}function a9(X){return iY.test(X)}function WJ(X,Y=80){let J=e9(X);if(!J)return null;return qJ(J,Y)}function qJ(X,Y){let J=H1(X);if(J.length<=Y)return J;if(Y<=1)return J.slice(0,Y);return`${J.slice(0,Y-1)}…`}function S5(X){for(let Y of X)if(Y.cwd)return Y.cwd;return}function $J(X){let Y=S5(X),J=X.find((H)=>H.gitBranch)?.gitBranch??null;if(!Y)return e.parse({relativeCwd:null,branch:J,repo:null});let Q=Y.split(/[\\/]+/).filter(Boolean);if(Q.length===0)return e.parse({relativeCwd:null,branch:J,repo:null});let _=Q.findIndex((H)=>{let G=H.toLowerCase();return G.includes("github")||G.includes("gitlab")||G.includes("bitbucket")});if(_>=0){let H=Q[_]?.toLowerCase()??"",G=H.includes("gitlab")?"gitlab.com":H.includes("bitbucket")?"bitbucket.org":"github.com",W=Q[_+1],q=Q[_+2]?.replace(/\.git$/i,"");if(W&&q){let $=Q.slice(_+3),B=$.length>0?$.join("/"):".";return e.parse({relativeCwd:E1(B),branch:J,repo:`${G}/${W}/${q}`})}}return e.parse({relativeCwd:null,branch:J,repo:null})}async function t9(X,Y){if(!X)return null;try{if(!(await z1.stat(X)).isDirectory())return e.parse({relativeCwd:null,branch:Y??null,repo:null})}catch{return e.parse({relativeCwd:null,branch:Y??null,repo:null})}let J=await BJ(X);if(!J)return e.parse({relativeCwd:null,branch:Y??null,repo:null});let Q=u0.relative(J,X)||".",_=await LJ(J,Y),H=await KJ(J);return e.parse({relativeCwd:E1(Q),branch:_,repo:H})}async function BJ(X){let Y=u0.resolve(X),{root:J}=u0.parse(Y);while(!0){let Q=u0.join(Y,".git");try{let H=await z1.stat(Q);if(H.isDirectory()||H.isFile())return Y}catch{}if(Y===J)return null;let _=u0.dirname(Y);if(_===Y)return null;Y=_}}async function LJ(X,Y){try{let J=u0.join(X,".git","HEAD"),_=(await z1.readFile(J,"utf8")).trim();if(_.startsWith("ref:")){let G=_.slice(4).trim().split("/");return G[G.length-1]??Y??null}return _||Y||null}catch{return Y??null}}async function KJ(X){try{let Y=u0.join(X,".git","config"),Q=(await z1.readFile(Y,"utf8")).match(/\[remote "origin"\]\s+url\s*=\s*(.+)/i);if(!Q||!Q[1])return null;let _=Q[1].trim(),H=_.match(/git@([^:]+):(.+?)(?:\.git)?$/);if(H){let W=H[1],q=H[2];return`${W}/${q}`}let G=_.match(/https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);if(G){let W=G[1],q=G[2];return`${W}/${q}`}return null}catch{return null}}function DJ(X){for(let Y of X){let J=typeof Y.sessionId==="string"?Y.sessionId.trim():"";if(J.length>0)return J}return null}function EJ(X){let Y=null,J=-1;for(let[Q,_]of X){let H=_.totalTokens>0?_.totalTokens:_.inputTokens+_.outputTokens;if(H>J)J=H,Y=Q}return Y}function e9(X){return VJ(X.message)[0]??null}function VJ(X){if(!X)return[];let Y=X.content;if(typeof Y==="string"){let J=z5(Y);return J?[J]:[]}if(Array.isArray(Y)){let J=[];for(let Q of Y){if(typeof Q==="string"){let _=z5(Q);if(_)J.push(_);continue}if(Q&&typeof Q==="object"){let _=Q,H=["content","text"];for(let G of H){let W=_[G];if(typeof W==="string"){let q=z5(W);if(q)J.push(q)}}}}return J}return[]}function z5(X,Y=rY){let J=FJ(X);if(J.length===0)return null;let _=J.slice(0,Y).join(" "),H=H1(_);return H.length>0?H:null}function FJ(X){let Y=[];for(let J of X.split(/\r?\n/)){let Q=J.trim();if(!Q)continue;let _=Q.toLowerCase();if(n9.has(_))continue;if(a9(Q))continue;if(r9.test(Q))continue;if(o9.some((H)=>_.startsWith(H))){if(!X4(Q))continue}if(!/[a-z]/i.test(Q)&&!/\d/.test(Q))continue;Y.push(Q)}return Y}function H1(X){return X.replace(/\s+/g," ").trim()}function X4(X){let Y=X.toLowerCase();if(nY.test(Y))return!0;if(Y.includes("?"))return!0;return["can you","can we","could you","could we","would you","would we","should we","should i","let's","let us"].some((Q)=>Y.includes(Q))}function UJ(X){return Math.max(0,X.inputTokens-X.cachedInputTokens)+X.outputTokens+X.reasoningOutputTokens}function Y4(X){if(!X)return null;let Y=new Date(X);return Number.isNaN(Y.getTime())?null:Y}function d9(X){let Y=Y4(X);return Y?Y.getTime():null}function X0(X){return typeof X==="number"&&Number.isFinite(X)?X:0}function p9(X){if(typeof X!=="string")return;let Y=X.trim();return Y.length>0?Y:void 0}function MJ(X){return lY.createHash("sha256").update(X).digest("hex")}function w5(X,Y){if(X===null||X===void 0)return X;if(Array.isArray(X))return X.map((J)=>w5(J,Y));if(typeof X==="object"){let J=X;if(J.type==="image"&&J.source&&typeof J.source==="object"){let _=J.source;if(typeof _.data==="string"&&_.data.length>0){let H=_.data,G=typeof _.mediaType==="string"?_.mediaType:typeof _.media_type==="string"?_.media_type:"image/unknown",W=Buffer.from(H,"base64"),q=MJ(W);if(!Y.has(q))Y.set(q,{data:W,mediaType:G});return{type:"image",source:{type:"sha256",mediaType:G,sha256:q}}}}let Q={};for(let[_,H]of Object.entries(J))Q[_]=w5(H,Y);return Q}return X}function AJ(X,Y){if(!Y||Object.keys(Y).length===0)return 0;let J=0;for(let Q of X){let _=Q.model;if(!_)continue;let H=NJ(_,Y);if(!H)continue;let G=jJ({input_tokens:X0(Q.usage.input_tokens),output_tokens:X0(Q.usage.output_tokens),cache_creation_input_tokens:X0(Q.usage.cache_creation_input_tokens),cache_read_input_tokens:X0(Q.usage.cache_read_input_tokens)},H);J+=G}return J}function NJ(X,Y){let J=X.trim();if(!J)return null;let Q=new Set;Q.add(J);for(let H of pY)Q.add(`${H}${J}`);for(let H of Q){let G=Y[H];if(G)return G}let _=J.toLowerCase();for(let[H,G]of Object.entries(Y)){let W=H.toLowerCase();if(W.includes(_)||_.includes(W))return G}return null}function jJ(X,Y){let J=(W,q,$,B=dY)=>{if(W==null||W<=0)return 0;if(W>B&&$!=null){let D=Math.min(W,B),j=Math.max(0,W-B)*$;if(q!=null)j+=D*q;return j}if(q!=null)return W*q;return 0},Q=J(X.input_tokens,Y.input_cost_per_token,Y.input_cost_per_token_above_200k_tokens),_=J(X.output_tokens,Y.output_cost_per_token,Y.output_cost_per_token_above_200k_tokens),H=J(X.cache_creation_input_tokens,Y.cache_creation_input_token_cost,Y.cache_creation_input_token_cost_above_200k_tokens),G=J(X.cache_read_input_tokens,Y.cache_read_input_token_cost,Y.cache_read_input_token_cost_above_200k_tokens);return Q+_+H+G}function RJ(X){let Y=[],J=new Map,Q=new Map,_=S5(X);for(let H of X){if(H.isMeta)continue;let G=wJ(H),W=H.type;if(W==="user"){let{texts:q,toolResults:$}=zJ(H);for(let B of q){if(!B.trim())continue;Y.push(t.parse({type:H.isCompactSummary?"compaction-summary":"user",text:B.trim(),id:H.uuid,timestamp:G.timestamp}))}for(let B of $){let D=B.callId?Q.get(B.callId):void 0;if(D){let V=Y[D.index];if(V.output=w5(B.output,J),B.error)V.error=B.error;if(typeof B.isError<"u")V.isError=B.isError;let j=i9(V,_);Y[D.index]=j}}continue}if(W==="assistant"){let q=H.message?.content;if(!Array.isArray(q))continue;for(let $ of q){if(!$||typeof $!=="object")continue;let B=$;if(B.type==="thinking"&&typeof B.thinking==="string"){Y.push(t.parse({type:"thinking",text:B.thinking,...G}));continue}if(B.type==="text"&&typeof B.text==="string"){Y.push(t.parse({type:"agent",text:B.text,...G}));continue}if(B.type==="tool_use"){let D=typeof B.id==="string"?B.id:"",V=typeof B.name==="string"?B.name:null,j=B.input??void 0,T={type:"tool-call",toolName:V,...G,input:j},g=t.parse(T),z=i9(g,_);if(Y.push(z),D)Q.set(D,{index:Y.length-1,toolName:V});continue}if(B.type==="image")continue}}}return{messages:Y,blobs:J}}function zJ(X){let Y=X.message;if(!Y)return{texts:[],toolResults:[]};let J=Y.content;if(typeof J==="string"){let H=H1(J);return H?{texts:[H],toolResults:[]}:{texts:[],toolResults:[]}}if(!Array.isArray(J))return{texts:[],toolResults:[]};let Q=[],_=[];for(let H of J){if(!H||typeof H!=="object")continue;if(typeof H==="string"){let q=H1(H);if(q)Q.push(q);continue}let G=H,W=typeof G.type==="string"?G.type:void 0;if(W==="tool_result"){let q=G,$=typeof q.tool_use_id==="string"?q.tool_use_id:void 0,B=q.content,D=X.raw.toolUseResult??X.raw.tool_use_result;if(D)B=D;let V=typeof q.error==="string"?q.error:void 0,j=q.is_error??q.isError,T=typeof j==="boolean"?j:typeof q.success==="boolean"?!q.success:void 0;_.push({callId:$,output:B,error:V,isError:T});continue}if(W==="text"&&typeof G.text==="string"){let q=H1(G.text);if(q)Q.push(q);continue}for(let q of["content","text"]){let $=G[q];if(typeof $==="string"){let B=H1($);if(B)Q.push(B)}}}return{texts:Q,toolResults:_}}function wJ(X){return{id:X.message?.id,timestamp:X.timestamp,model:X.message?.model}}function i9(X,Y){if(!Y)return X;let J=Y.endsWith("/")?Y:`${Y}/`,Q=(K)=>{if(K.startsWith(J))return`./${K.slice(J.length)}`;return K},_=(K)=>typeof K==="object"&&K!==null&&!Array.isArray(K),H=(K)=>_(K)?{...K}:void 0,G=(K,F)=>{let P={...K};for(let Z of F)delete P[Z];return P},W=(K,F)=>{if(typeof K[F]==="string")K[F]=Q(K[F])},q=(K)=>typeof K==="number"&&Number.isFinite(K)?K:0,$=(K)=>{if(!Array.isArray(K))return K;return K.map((F)=>{if(_(F)){let P={...F};return delete P.activeForm,P}return F})},{toolName:B,input:D,output:V}=X,j=D,T=V,g=!1,z=!1,f=X.isError;switch(B){case"Write":{let K=H(D);if(K)W(K,"file_path"),j=K,g=!0;let F=H(V);if(F){let P={};if(F.type!==void 0)P.type=F.type;T=P,z=!0}break}case"Read":{let K=H(D);if(K)W(K,"file_path"),j=K,g=!0;let F=H(V);if(F){let P={};if(typeof F.type==="string")P.type=F.type;if(F.file&&_(F.file)){let Z=F.file,I={};if(typeof Z.content==="string")I.content=Z.content;if(typeof Z.numLines==="number")I.numLines=Z.numLines;if(typeof Z.startLine==="number")I.startLine=Z.startLine;if(typeof Z.totalLines==="number")I.totalLines=Z.totalLines;if(Object.keys(I).length>0)P.file=I}T=P,z=!0}break}case"Edit":{let K=H(D),F=H(V),P;if(F&&Array.isArray(F.structuredPatch)){let Z=[];for(let I of F.structuredPatch)if(_(I)&&Array.isArray(I.lines)){for(let R of I.lines)if(typeof R==="string")Z.push(R)}if(Z.length>0)P=`${Z.join(`
|
|
30
30
|
`)}
|
|
31
|
-
`}if(
|
|
32
|
-
`),I
|
|
33
|
-
`),h=[];for(let
|
|
31
|
+
`}if(K){W(K,"file_path");let Z=typeof K.old_string==="string"?K.old_string:typeof K.oldString==="string"?K.oldString:void 0,I=typeof K.new_string==="string"?K.new_string:typeof K.newString==="string"?K.newString:void 0,R=f===!0||f==="true"||typeof V==="string"||F&&typeof F.type==="string"&&F.type==="error";if(!P&&!R&&Z!==void 0&&I!==void 0){let v=Z.split(`
|
|
32
|
+
`),k=I.split(`
|
|
33
|
+
`),h=[];for(let i of v)h.push(`-${i}`);for(let i of k)h.push(`+${i}`);P=`${h.join(`
|
|
34
34
|
`)}
|
|
35
|
-
`}if(delete
|
|
35
|
+
`}if(delete K.old_string,delete K.new_string,delete K.oldString,delete K.newString,P)K.diff=P;j=K,g=!0}if(F){let Z=G(F,["filePath","newString","oldString","originalFile","structuredPatch","replaceAll"]);T=Object.keys(Z).length>0?Z:void 0,z=!0}break}case"Glob":case"Grep":{let K=H(V);if(K&&Array.isArray(K.filenames))K.filenames=K.filenames.map((F)=>typeof F==="string"?Q(F):F),delete K.numFiles,T=K,z=!0;break}case"Bash":{let K=H(V);if(K)delete K.stdoutLines,delete K.stderrLines,T=K,z=!0;break}case"Task":{let K=H(D);if(K)j=K,g=!0;let F=H(V);if(F){let P={};for(let[Z,I]of Object.entries(F)){if(Z==="usage"&&_(I)){let R=I,v=q(R.input_tokens??R.inputTokens),k=q(R.cached_input_tokens??R.cachedInputTokens)+q(R.cache_creation_input_tokens??R.cacheCreationInputTokens)+q(R.cache_read_input_tokens??R.cacheReadInputTokens),h=q(R.output_tokens??R.outputTokens),i=q(R.reasoning_output_tokens??R.reasoningOutputTokens),s=R.total_tokens??R.totalTokens,J5=typeof s==="number"&&Number.isFinite(s)?s:v+k+h+i;P.usage={inputTokens:v,cachedInputTokens:k,outputTokens:h,reasoningOutputTokens:i,totalTokens:J5};continue}if(Z==="usage"||Z==="totalTokens"||Z==="prompt")continue;P[Z]=I}T=P,z=!0}break}case"TodoWrite":{let K=H(D);if(K){if(Array.isArray(K.todos))K.todos=$(K.todos);j=K,g=!0}let F=H(V);if(F){let P={...F},Z=!1;if(Array.isArray(P.newTodos))P.newTodos=$(P.newTodos),Z=!0;if(Array.isArray(P.oldTodos))P.oldTodos=$(P.oldTodos),Z=!0;T=Z?P:F,z=Z}break}case"BashOutput":{let K=H(V);if(K)delete K.stdoutLines,delete K.stderrLines,T=K,z=!0;break}default:break}if(B==="KillShell"&&typeof f==="boolean")f=String(f);let O={...X};if(g)if(typeof j>"u")delete O.input;else O.input=j;if(z)if(typeof T>"u")delete O.output;else O.output=T;if(typeof f>"u"){if(typeof O.error==="string"&&O.error.trim())f=!0;else if(typeof T==="string"&&/^error:/i.test(T.trim()))f=!0}if(typeof f<"u")O.isError=f;let l={},A=["id","input","model","output","timestamp","toolName","error","isError","type"];for(let K of A)if(Object.prototype.hasOwnProperty.call(O,K))l[K]=O[K];for(let K of Object.keys(O))if(!Object.prototype.hasOwnProperty.call(l,K))l[K]=O[K];return l9.parse(l)}import I5 from"node:path";var f5={inputTokens:0,cachedInputTokens:0,outputTokens:0,reasoningOutputTokens:0,totalTokens:0},SJ=["anthropic/","claude-3-5-","claude-3-","claude-","openai/","azure/","openrouter/openai/"],IJ=200000,fJ={shell:"Bash"},OJ=["<user_instructions","<environment_context"];function b5(X,Y={}){let J=PJ(X);if(J.length===0)return null;let Q=new Map,_=new Set,H=[],G=[],W=null,q=null,$=null,B,D={...f5},V={...f5};for(let d of J){if(!d)continue;let{type:K,payload:F,timestamp:P}=d;if(P&&(!B||iJ(P,B)>0))B=P;if(K==="session_meta"&&F){if(W=kJ(F),!q)q=W.cwd;continue}if(K==="turn_context"&&F){let I=y(F.cwd);if(I)q=I;let R=y(F.model);if(R)$=R;continue}if(K==="event_msg"&&F){if(y(F.type)==="token_count"){let R=J4(F.info,"last_token_usage"),v=J4(F.info,"total_token_usage"),k=null;if(R)k=R;else if(v)k={inputTokens:Math.max(0,v.inputTokens-V.inputTokens),cachedInputTokens:Math.max(0,v.cachedInputTokens-V.cachedInputTokens),outputTokens:Math.max(0,v.outputTokens-V.outputTokens),reasoningOutputTokens:Math.max(0,v.reasoningOutputTokens-V.reasoningOutputTokens),totalTokens:Math.max(0,v.totalTokens-V.totalTokens)};if(k)D={inputTokens:D.inputTokens+k.inputTokens,cachedInputTokens:D.cachedInputTokens+k.cachedInputTokens,outputTokens:D.outputTokens+k.outputTokens,reasoningOutputTokens:D.reasoningOutputTokens+k.reasoningOutputTokens,totalTokens:D.totalTokens+k.totalTokens};if(v)V=v}continue}if(K!=="response_item"||!F)continue;switch(y(F.type)){case"message":{let I=y(F.role),R=bJ(F.content);if(R.length===0)break;let v=G1(R.join(`
|
|
36
36
|
|
|
37
|
-
`));if(!
|
|
38
|
-
`).trim(),
|
|
39
|
-
`)?
|
|
40
|
-
`;return q}function _2(_,Y){if(!_)return _;let X=G1.isAbsolute(_),J=_.replace(/\\/g,"/");if(!X){if(J==="."||J==="./")return".";if(J.startsWith("./")||J.startsWith("../"))return J;return`./${J}`}try{let H=G1.relative(Y,_).replace(/\\/g,"/");if(H==="")return".";if(H.startsWith("..")||G1.isAbsolute(H))return _;return H==="."?".":`./${H}`}catch{return _}}function QY(_){return Math.max(0,_.inputTokens-_.cachedInputTokens)+_.outputTokens+_.reasoningOutputTokens}function qY(_){let Y=_.trim().toLowerCase();return r9.some((X)=>Y.startsWith(X))}function $Y(_){for(let Y of _){let X=Y.trim();if(!X)continue;if(X.startsWith("<user_instructions>")||X.startsWith("<environment_context>"))continue;return h4(X,80)}return _.length>0?h4(_[0],80):null}function GY(_,Y){let X=Y??_?.cwd??null;if(!_)return B0.parse({repo:null,branch:null,relativeCwd:null});let J=WY(_.git.repositoryUrl),H=_.git.branch,Q=J?J.split("/").pop()??null:null,q=LY(X,Q);return B0.parse({repo:J,branch:H,relativeCwd:j2(q)})}function WY(_){if(!_)return null;let Y=_.match(/git@([^:]+):(.+?)(?:\.git)?$/);if(Y)return`${Y[1]}/${Y[2]}`.replace(/\\/g,"/");let X=_.match(/https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);if(X)return`${X[1]}/${X[2]}`.replace(/\\/g,"/");return null}function LY(_,Y){if(!_)return null;let J=_.replace(/\\/g,"/").split("/").filter(Boolean);if(J.length===0)return null;if(Y){let H=J.lastIndexOf(Y);if(H>=0){let Q=J.slice(H+1).join("/");return Q.length>0?Q:"."}}return null}function B1(_,Y,X){let J=BY(_);if(J&&X.has(J))return;let H=s.parse(_);if(Y.push(H),J)X.add(J)}function BY(_){if("text"in _&&typeof _.text==="string")return`${_.type}|${_.timestamp??""}|${_.text}`;if(_.type==="tool-call")return`${_.type}|${_.timestamp??""}|${_.id??""}|${_.toolName??""}`;return null}function y4(_){if(!_)return _;return i9[_]??_}function MY(_,Y){let X=Date.parse(_),J=Date.parse(Y);if(Number.isNaN(X)||Number.isNaN(J))return 0;return X===J?0:X>J?1:-1}function VY(_){if(!_)return null;let Y=new Date(_);return Number.isNaN(Y.getTime())?null:Y}function R0(_){return typeof _==="number"&&Number.isFinite(_)?_:0}function x(_){if(typeof _!=="string")return null;let Y=_.trim();return Y.length>0?Y:null}function e0(_){return _.replace(/\s+/g," ").trim()}function h4(_,Y){if(_.length<=Y)return _;if(Y<=1)return _.slice(0,Y);return`${_.slice(0,Y-1)}…`}function UY(_){return`codex-${_.getTime()}`}function EY(_,Y,X){if(!X||!_)return 0;let J=FY(_,X);if(!J)return 0;return RY({input_tokens:Math.max(0,Y.inputTokens-Y.cachedInputTokens),output_tokens:Y.outputTokens+Y.reasoningOutputTokens,cache_creation_input_tokens:0,cache_read_input_tokens:Y.cachedInputTokens},J)}function FY(_,Y){let X=_.trim();if(!X)return null;let J=new Set;J.add(X);for(let Q of p9)J.add(`${Q}${X}`);for(let Q of J){let q=Y[Q];if(q)return q}let H=X.toLowerCase();for(let[Q,q]of Object.entries(Y)){let $=Q.toLowerCase();if($.includes(H)||H.includes($))return q}return null}function RY(_,Y){let X=($,G,W,L=n9)=>{if($==null||$<=0)return 0;if($>L&&W!=null){let V=Math.min($,L),N=Math.max(0,$-L)*W;if(G!=null)N+=V*G;return N}if(G!=null)return $*G;return 0},J=X(_.input_tokens,Y.input_cost_per_token,Y.input_cost_per_token_above_200k_tokens),H=X(_.output_tokens,Y.output_cost_per_token,Y.output_cost_per_token_above_200k_tokens),Q=X(_.cache_creation_input_tokens,Y.cache_creation_input_token_cost,Y.cache_creation_input_token_cost_above_200k_tokens),q=X(_.cache_read_input_tokens,Y.cache_read_input_token_cost,Y.cache_read_input_token_cost_above_200k_tokens);return J+H+Q+q}var fY="https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json",KY=200000,DY=B.object({input_cost_per_token:B.number().optional(),output_cost_per_token:B.number().optional(),cache_creation_input_token_cost:B.number().optional(),cache_read_input_token_cost:B.number().optional(),max_tokens:B.number().optional(),max_input_tokens:B.number().optional(),max_output_tokens:B.number().optional(),input_cost_per_token_above_200k_tokens:B.number().optional(),output_cost_per_token_above_200k_tokens:B.number().optional(),cache_creation_input_token_cost_above_200k_tokens:B.number().optional(),cache_read_input_token_cost_above_200k_tokens:B.number().optional(),input_cost_per_token_above_128k_tokens:B.number().optional(),output_cost_per_token_above_128k_tokens:B.number().optional()}),jY=["anthropic/","claude-3-5-","claude-3-","claude-","openai/","azure/","openrouter/openai/"];function NY(_){if(_!=null)return _;return{debug:()=>{},error:()=>{},info:()=>{},warn:()=>{}}}class U1{cachedPricing=null;logger;offline;offlineLoader;url;providerPrefixes;constructor(_={}){this.logger=NY(_.logger),this.offline=Boolean(_.offline),this.offlineLoader=_.offlineLoader,this.url=_.url??fY,this.providerPrefixes=_.providerPrefixes??jY}[Symbol.dispose](){this.clearCache()}clearCache(){this.cachedPricing=null}async loadOfflinePricing(){if(this.offlineLoader==null)throw Error("Offline loader was not provided");let _=new Map(Object.entries(await this.offlineLoader()));return this.cachedPricing=_,_}async fetchRemotePricing(){this.logger.warn("Fetching latest model pricing from LiteLLM...");let _=await fetch(this.url);if(!_.ok)throw Error(`Failed to fetch pricing data: ${_.statusText}`);let Y=await _.json(),X=new Map;for(let[J,H]of Object.entries(Y)){if(typeof H!=="object"||H==null)continue;let Q=DY.safeParse(H);if(!Q.success)continue;X.set(J,Q.data)}return this.cachedPricing=X,this.logger.info(`Loaded pricing for ${X.size} models`),X}async ensurePricingLoaded(){if(this.cachedPricing!=null)return this.cachedPricing;if(this.offline)return this.loadOfflinePricing();try{return await this.fetchRemotePricing()}catch(_){if(this.logger.warn("Failed to fetch model pricing from LiteLLM, falling back to offline loader (if available)."),this.offlineLoader!=null)return this.loadOfflinePricing();throw _}}async fetchModelPricing(){return this.ensurePricingLoaded()}createMatchingCandidates(_){let Y=new Set;Y.add(_);for(let X of this.providerPrefixes)Y.add(`${X}${_}`);return Array.from(Y)}async getModelPricing(_){let Y=await this.ensurePricingLoaded();for(let J of this.createMatchingCandidates(_)){let H=Y.get(J);if(H!=null)return H}let X=_.toLowerCase();for(let[J,H]of Y){let Q=J.toLowerCase();if(Q.includes(X)||X.includes(Q))return H}return null}async getModelContextLimit(_){return(await this.getModelPricing(_))?.max_input_tokens??null}calculateCostFromPricing(_,Y){let X=($,G,W,L=KY)=>{if($==null||$<=0)return 0;if($>L&&W!=null){let V=Math.min($,L),N=Math.max(0,$-L)*W;if(G!=null)N+=V*G;return N}if(G!=null)return $*G;return 0},J=X(_.input_tokens,Y.input_cost_per_token,Y.input_cost_per_token_above_200k_tokens),H=X(_.output_tokens,Y.output_cost_per_token,Y.output_cost_per_token_above_200k_tokens),Q=X(_.cache_creation_input_tokens,Y.cache_creation_input_token_cost,Y.cache_creation_input_token_cost_above_200k_tokens),q=X(_.cache_read_input_tokens,Y.cache_read_input_token_cost,Y.cache_read_input_token_cost_above_200k_tokens);return J+H+Q+q}async calculateCostFromTokens(_,Y){if(Y==null||Y==="")return 0;let X=await this.getModelPricing(Y);if(X==null)throw Error(`Model pricing not found for ${Y}`);return this.calculateCostFromPricing(_,X)}}import{execSync as AY}from"child_process";import{resolve as SY}from"path";var wY="http://localhost:3000",zY=1e4;async function OY(_,Y,X){try{return(await fetch(`${Y}/api/blobs/${_}`,{method:"HEAD",headers:{...X&&{Authorization:`Bearer ${X}`}},signal:AbortSignal.timeout(5000)})).ok}catch{return!1}}async function IY(_,Y,X){if(!_||_.length===0)return;let H=(await Promise.all(_.map(async(Q)=>({blob:Q,exists:await OY(Q.sha256,Y,X)})))).filter((Q)=>!Q.exists).map((Q)=>Q.blob);return H.length>0?H:void 0}async function g4(_,Y={}){let X=Y.serverUrl??process.env.VI_SERVER_URL??wY,J=Y.authToken??null,H=Y.timeoutMs??zY,Q=await IY(_.blobs,X,J),q=new FormData,$=`${_.unifiedTranscript.id||"transcript"}.jsonl`;if(q.set("sha256",_.sha256),q.set("unifiedTranscript",JSON.stringify(_.unifiedTranscript)),q.set("transcript",new Blob([_.rawTranscript],{type:"application/jsonl"}),$),Q)for(let G of Q){let W=G.data.buffer.slice(G.data.byteOffset,G.data.byteOffset+G.data.byteLength);q.append(`blob:${G.sha256}`,new Blob([W],{type:G.mediaType}),`${G.sha256}.blob`)}try{let G=await fetch(`${X}/api/ingest`,{method:"POST",headers:{...J&&{Authorization:`Bearer ${J}`}},body:q,signal:AbortSignal.timeout(H)});if(!G.ok)return console.error(`Upload failed: ${G.status} ${G.statusText}`),{success:!1};let W=await G.json();if(PY(W))return{success:!0,transcriptId:W.transcriptId};return console.error("Upload succeeded but response had unexpected shape:",W),{success:!1}}catch(G){if(G instanceof Error)console.error("Upload error:",G.message);return{success:!1}}}function PY(_){if(typeof _!=="object"||_===null)return!1;let Y=_;return typeof Y.success==="boolean"&&(Y.success===!1||typeof Y.transcriptId==="string")&&(Y.eventsReceived===void 0||typeof Y.eventsReceived==="number")}function m4(_){let Y=SY(_),X=k0(Y);try{let J=AY("git remote get-url origin",{cwd:Y,encoding:"utf8",timeout:2000,stdio:["pipe","pipe","ignore"]}).trim(),H=kY(J),Q=H.split("/").pop()||"unknown";return{repoId:H,repoName:Q,cwd:X}}catch{return{repoId:null,repoName:Y.split("/").pop()||"unknown",cwd:X}}}function kY(_){let Y=/^(?<user>[^@]+)@(?<host>[^:]+):(?<path>.+)$/,X=_.match(Y);if(X?.groups)return`${X.groups.host}/${X.groups.path.replace(/\.git$/i,"")}`;try{let J=new URL(_),H=J.pathname.replace(/\.git$/i,"").replace(/^\//,"");return`${J.host}/${H}`}catch{return _.replace(/\.git$/i,"")}}async function A0(_,Y={}){let{transcriptPath:X,sessionId:J,source:H="claude-code"}=_;if(!X)throw Error("No transcript path provided.");if(!E1(X))throw Error(`Transcript file not found at path: ${X}`);let Q=TY(X,"utf8"),q=Q.split(/\r?\n/),$=[],G=0;for(let R of q){let z=R.trim();if(!z)continue;try{let k=JSON.parse(z);if(typeof k==="object"&&k!==null)$.push(k);else G+=1}catch{G+=1}}if(G>0)console.warn(`Skipped ${G} line(s) that were not valid JSON.`);if($.length===0)throw Error("No transcript events found in the specified file.");let L=await new U1().fetchModelPricing(),E={pricing:Object.fromEntries(L)},N=_.cwdOverride&&_.cwdOverride.trim().length>0?_.cwdOverride.trim():xY($)??process.cwd(),v=H==="codex"?V1($,E):k4($,E);if(!v)throw Error(`Unable to convert ${H} transcript to unified format.`);let{transcript:Z,blobs:S}=v,O=J??Z.id;if(!O)throw Error("Transcript did not include a session identifier.");if(J&&J!==Z.id)throw Error(`Provided sessionId (${J}) does not match unified transcript id (${Z.id}).`);let c=$.length,u=CY("sha256").update(Q).digest("hex"),K=[];for(let[R,z]of S)K.push({sha256:R,data:new Uint8Array(z.data),mediaType:z.mediaType});let d={sha256:u,rawTranscript:Q,unifiedTranscript:Z,blobs:K.length>0?K:void 0};return{...await g4(d,Y),eventCount:c,invalidLines:G,sessionId:O,unifiedTranscript:Z,sha256:u,source:H,cwd:N}}function c4(_){if(!_)return null;if(bY(_))return E1(_)?_:null;let Y=new Set,X=(Q)=>{if(!Q)return null;let q=ZY(Q,_);if(Y.has(q))return null;return Y.add(q),E1(q)?q:null},J=X(process.cwd())??X(process.env.INIT_CWD)??X(process.env.PWD);if(J)return J;let H=process.cwd();while(!0){let Q=X(H);if(Q)return Q;let q=vY(H);if(q===H)break;H=q}return null}function xY(_){for(let Y of _){let X=typeof Y.cwd==="string"?Y.cwd.trim():"";if(X)return X}return null}var yY=D2(),m=J4("cli",{logFilePath:yY,logToFile:!0,disableConsole:!0});async function u4(){let _=Date.now(),Y,X;try{let{preview:J,full:H}=await uY();if(m.info(`Hook invoked (stdin: ${H.length} bytes)`),!H.trim())m.warn("Hook received empty stdin - ignoring"),process.exit(0);let Q=J.includes('"PreToolUse"'),q=J.includes("git")&&J.includes("commit");if(Q&&!q){let W={hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};process.stdout.write(JSON.stringify(W));let L=Date.now()-_;m.info(`Hook completed: PreToolUse (fast path, ${L}ms)`),process.exit(0)}let $;try{$=JSON.parse(H)}catch(W){m.error("Hook failed to parse stdin JSON",{error:W instanceof Error?W.message:W}),process.exit(1)}if(Y=$.hook_event_name,X=$.session_id||"unknown",!Y)m.error("Hook missing event name",{sessionId:X}),process.exit(1);if(m.info(`Hook: ${Y} (session: ${X.substring(0,8)}...)`),Y==="PreToolUse")await hY($);else if(Y==="SessionEnd")await gY($);else if(Y==="Stop")await mY($);else m.debug(`Hook: skipping unsupported event ${Y}`);let G=Date.now()-_;m.info(`Hook completed: ${Y} (${G}ms)`,{sessionId:X.substring(0,8)}),process.exit(0)}catch(J){let H=Date.now()-_;m.error(`Hook failed: ${Y||"unknown"} (${H}ms)`,{sessionId:X?.substring(0,8),error:J instanceof Error?J.message:String(J)}),process.exit(1)}}async function hY(_){let Y=_.session_id||"unknown",X=!1,J=!1,{command:H,updateCommand:Q}=lY(_),q=typeof _.tool_name==="string"?_.tool_name:_.tool;if((q?q.toLowerCase()==="bash":Boolean(H))&&H&&dY(H)){X=!0;let W=pY(H,Y);if(W!==H)Q(W),J=!0}let G=J?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:_.tool_input}}:{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};if(process.stdout.write(JSON.stringify(G)),X)await rY({sessionId:Y,transcriptPath:_.transcript_path,cwd:typeof _.cwd==="string"?_.cwd:void 0}),await iY({sessionId:Y,repoPath:nY(_),timestamp:new Date().toISOString()});m.info("PreToolUse handled",{sessionId:Y.substring(0,8),shouldTrack:X,modified:J})}async function gY(_){let Y=_.transcript_path,X=_.session_id||"unknown";if(!Y){m.error("SessionEnd: missing transcript_path",{sessionId:X});return}let J=t(),H=process.env.VI_SERVER_URL??process.env.VIBEINSIGHTS_BASE_URL??J.baseURL??"http://localhost:3000",Q=e();if(!Q){m.error("SessionEnd: no auth token found. Run the CLI login flow first.",{sessionId:X});return}let q={};if(H)q.serverUrl=H;q.authToken=Q;try{let $=await A0({transcriptPath:Y,sessionId:_.session_id,cwdOverride:_.cwd},q);if($.success)m.info(`SessionEnd: uploaded ${$.eventCount} events`,{transcriptId:$.transcriptId,sessionId:X.substring(0,8)});else m.error("SessionEnd: upload failed",{sessionId:X})}catch($){m.error("SessionEnd: upload error",{sessionId:X,error:$ instanceof Error?$.message:String($)})}}async function mY(_){let Y=_.transcript_path,X=_.session_id||"unknown";if(!Y){m.error("Stop: missing transcript_path",{sessionId:X});return}if(_.stop_hook_active){m.debug("Stop: skipped (stop_hook_active=true)",{sessionId:X});return}let J=t(),H=process.env.VI_SERVER_URL??process.env.VIBEINSIGHTS_BASE_URL??J.baseURL??"http://localhost:3000",Q=e();if(!Q){m.error("Stop: no auth token found. Run the CLI login flow first.",{sessionId:X});return}let q={};if(H)q.serverUrl=H;q.authToken=Q;try{let $=await A0({transcriptPath:Y,sessionId:_.session_id,cwdOverride:_.cwd},q);if($.success)m.info(`Stop: uploaded ${$.eventCount} events`,{transcriptId:$.transcriptId,sessionId:X.substring(0,8)});else m.error("Stop: upload failed",{sessionId:X})}catch($){m.error("Stop: upload error",{sessionId:X,error:$ instanceof Error?$.message:String($)})}}var cY=2048;function uY(){return new Promise((_,Y)=>{let X="";process.stdin.setEncoding("utf8"),process.stdin.on("data",(J)=>{X+=J}),process.stdin.on("end",()=>{_({preview:X.slice(0,cY),full:X})}),process.stdin.on("error",(J)=>Y(J))})}function lY(_){if(_.tool_input&&typeof _.tool_input==="object"&&typeof _.tool_input.command==="string")return{command:_.tool_input.command,updateCommand:(Y)=>{if(_.tool_input)_.tool_input.command=Y}};if(typeof _.command==="string")return{command:_.command,updateCommand:(Y)=>{_.command=Y}};return{command:void 0,updateCommand:()=>{}}}function dY(_){return/\bgit\s+commit\b/.test(_)}function pY(_,Y){let X=`\uD83D\uDD2E View transcript: https://agentlogs.ai/s/${Y}`;if(_.includes(X))return _;let J=`
|
|
37
|
+
`));if(!v)break;if(I==="user"){if(mJ(v))break;G.push(v);let k=y(F.id),h={type:"user",timestamp:P,text:v};if(k)h.id=k;P5(h,H,_)}else if(I==="assistant"){let k=y(F.id),h={type:"agent",timestamp:P,model:$??void 0,text:v};if(k)h.id=k;P5(h,H,_)}break}case"reasoning":{let I=TJ(F);for(let R of I){let v=y(F.id),k={type:"thinking",timestamp:P,model:$??void 0,text:R};if(v)k.id=v;P5(k,H,_)}break}case"function_call":{let I=y(F.call_id)??y(F.id)??void 0,R=y(F.name),v=_4(R),k=O5(F.arguments),h=CJ(k,q),i=t.parse({type:"tool-call",id:I,timestamp:P,model:$??void 0,toolName:v,input:h}),s=k5(i,q,R);Q.set(I??"",{index:H.push(s)-1,rawName:R});break}case"function_call_output":{let I=y(F.call_id);if(!I)break;let R=Q.get(I);if(!R)break;let v=O5(F.output),k=Q4(H[R.index],v,q,R.rawName);H[R.index]=k;break}case"custom_tool_call":{let I=y(F.call_id)??y(F.id)??void 0,R=y(F.name),v=_4(R),k=ZJ(R,F.input,q),h=t.parse({type:"tool-call",id:I,timestamp:P,model:$??void 0,toolName:v,input:k}),i=k5(h,q,R);Q.set(I??"",{index:H.push(i)-1,rawName:R});break}case"custom_tool_call_output":{let I=y(F.call_id);if(!I)break;let R=Q.get(I);if(!R)break;let v=O5(F.output),k=Q4(H[R.index],v,q,R.rawName);H[R.index]=k;break}default:break}}if(H.length===0)return null;let j=nJ(B)??Y.now??new Date,T=cJ(G),g=D??{...f5},z=gJ(g),f=oJ($,g,Y.pricing),O=Y.gitContext!==void 0?Y.gitContext:uJ(W,q),l=q?v0(q):"";return{transcript:R1.parse({v:1,id:W?.id??H[0]?.id??rJ(j),source:"codex",timestamp:j,preview:T,model:$,blendedTokens:z,costUsd:f,messageCount:H.length,tokenUsage:g,modelUsage:$?[g1.parse({model:$,usage:g})]:[],git:O,cwd:l,messages:H}),blobs:new Map}}function PJ(X){let Y=[];for(let J of X){if(!J||typeof J!=="object")continue;let Q=J,_=y(Q.type);if(!_)continue;let H=y(Q.timestamp)??void 0,G=Q.payload&&typeof Q.payload==="object"?Q.payload:null;Y.push({type:_,timestamp:H,payload:G})}return Y}function kJ(X){let Y=X.git??{};return{id:y(X.id),cwd:y(X.cwd),git:{branch:y(Y.branch),repositoryUrl:y(Y.repository_url??Y.repositoryUrl)}}}function J4(X,Y="total_token_usage"){if(!X||typeof X!=="object")return null;let J=X,Q;if(Y==="last_token_usage")Q=J.last_token_usage??J.lastTokenUsage??J.total_token_usage??J.totalTokenUsage;else Q=J.total_token_usage??J.totalTokenUsage??J.last_token_usage??J.lastTokenUsage;if(!Q||typeof Q!=="object")return null;let _=Q;return{inputTokens:z0(_.input_tokens??_.inputTokens),cachedInputTokens:z0(_.cached_input_tokens??_.cachedInputTokens),outputTokens:z0(_.output_tokens??_.outputTokens),reasoningOutputTokens:z0(_.reasoning_output_tokens??_.reasoningOutputTokens),totalTokens:z0(_.total_tokens??_.totalTokens)}}function bJ(X){if(typeof X==="string"){let J=G1(X);return J?[J]:[]}if(!Array.isArray(X))return[];let Y=[];for(let J of X){if(!J)continue;if(typeof J==="string"){let Q=G1(J);if(Q)Y.push(Q);continue}if(typeof J==="object"){let Q=J,_=y(Q.text??Q.content);if(_){let H=G1(_);if(H)Y.push(H)}}}return Y}function TJ(X){let Y=[],J=X.summary;if(Array.isArray(J)){for(let _ of J)if(_&&typeof _==="object"){let H=y(_.text);if(H){let G=G1(H);if(G)Y.push(G)}}}let Q=X.content;if(Array.isArray(Q)){for(let _ of Q)if(_&&typeof _==="object"){let H=_;if(y(H.type)==="reasoning"||y(H.type)==="text"){let G=y(H.text??H.content);if(G){let W=G1(G);if(W)Y.push(W)}}}}return Y}function O5(X){let Y=y(X);if(!Y)return X;try{return JSON.parse(Y)}catch{return X}}function CJ(X,Y){if(!X||typeof X!=="object")return X;let J={...X};if(typeof J.workdir==="string"&&Y)J.workdir=W1(J.workdir,Y);return J}function ZJ(X,Y,J){if(!Y)return Y;if(X==="apply_patch"){let Q=y(Y);if(!Q)return Y;let _=hJ(Q,J);if(_.diff||_.file_path)return _}return Y}function Q4(X,Y,J,Q){if(X.type!=="tool-call")return X;let _=Y;if(Q==="shell")_=vJ(Y);else if(Q==="apply_patch")_=yJ(Y);let H={...X,output:_};if(Q==="shell"){let G=xJ(H,J);if(G)return G}return k5(H,J,Q)}function xJ(X,Y){if(X.type!=="tool-call"||!X.input)return null;let Q=X.input.command;if(!Array.isArray(Q)||Q.length<3)return null;let _=Q[0];if(_!=="bash"&&_!=="zsh"||Q[1]!=="-lc")return null;let H=y(Q[2]);if(!H)return null;let G=H.match(/^cat\s+<<'EOF'\s+>\s+(\S+)\s*\n([\s\S]*?)EOF$/);if(G){let[,q,$]=G,B=Y?W1(`${Y}/${q}`,Y):`./${q}`;return t.parse({...X,toolName:"Write",input:{file_path:B,content:$||""},output:void 0})}let W=H.match(/^cat\s+(\S+)$/);if(W){let[,q]=W,$=Y?W1(`${Y}/${q}`,Y):`./${q}`,B;if(X.output&&typeof X.output==="object"){let D=X.output;B=y(D.stdout)??void 0}return t.parse({...X,toolName:"Read",input:{file_path:$},output:B})}return null}function k5(X,Y,J){if(X.type!=="tool-call")return X;let{toolName:Q,input:_,output:H}=X;if(J==="shell"){if(Q="Bash",_&&typeof _==="object"){let G={..._};if(typeof G.workdir==="string"&&Y)G.workdir=W1(G.workdir,Y);_=G}}if(J==="apply_patch"){if(Q="Edit",_&&typeof _==="object"){let G={..._},W=y(G.file_path);if(W&&Y)G.file_path=W1(W,Y);_=G}}return t.parse({...X,toolName:Q,input:_,output:H})}function vJ(X){if(!X||typeof X!=="object")return X;let Y=X,J={},Q=y(Y.output??Y.stdout);if(typeof Y.stdout==="string")J.stdout=Y.stdout;else if(Q)J.stdout=Q;let _=y(Y.stderr);if(_)J.stderr=_;let H=Y.metadata&&typeof Y.metadata==="object"?Y.metadata:{},G=z0(H.exit_code??H.exitCode??Y.exit_code??Y.exitCode);if(Number.isFinite(G))J.exitCode=G;let W=z0(H.duration_seconds??H.durationSeconds);if(Number.isFinite(W)&&W>0)J.durationSeconds=W;return Object.keys(J).length>0?J:void 0}function yJ(X){if(!X||typeof X!=="object")return X;let Y=X,J={},Q=y(Y.output);if(Q)J.message=Q;let _=Y.metadata&&typeof Y.metadata==="object"?Y.metadata:null;if(_){let H=z0(_.exit_code??_.exitCode);if(Number.isFinite(H))J.exitCode=H;let G=z0(_.duration_seconds??_.durationSeconds);if(Number.isFinite(G)&&G>0)J.durationSeconds=G}return Object.keys(J).length>0?J:void 0}function hJ(X,Y){let J=X.split(/\r?\n/),Q=null,_=[];for(let W of J){if(W.startsWith("*** ")){let q=W.match(/^\*\*\* (?:Update|Add|Delete) File: (.+)$/);if(q&&q[1])Q=q[1].trim();continue}_.push(W)}let H=_.join(`
|
|
38
|
+
`).trim(),G={};if(Q)G.file_path=Y?W1(Q,Y):Q;if(H)G.diff=H.endsWith(`
|
|
39
|
+
`)?H:`${H}
|
|
40
|
+
`;return G}function W1(X,Y){if(!X)return X;let J=I5.isAbsolute(X),Q=X.replace(/\\/g,"/");if(!J){if(Q==="."||Q==="./")return".";if(Q.startsWith("./")||Q.startsWith("../"))return Q;return`./${Q}`}try{let _=I5.relative(Y,X).replace(/\\/g,"/");if(_==="")return".";if(_.startsWith("..")||I5.isAbsolute(_))return X;return _==="."?".":`./${_}`}catch{return X}}function gJ(X){return Math.max(0,X.inputTokens-X.cachedInputTokens)+X.outputTokens+X.reasoningOutputTokens}function mJ(X){let Y=X.trim().toLowerCase();return OJ.some((J)=>Y.startsWith(J))}function cJ(X){for(let Y of X){let J=Y.trim();if(!J)continue;if(J.startsWith("<user_instructions>")||J.startsWith("<environment_context>"))continue;return H4(J,80)}return X.length>0?H4(X[0],80):null}function uJ(X,Y){let J=Y??X?.cwd??null;if(!X)return e.parse({repo:null,branch:null,relativeCwd:null});let Q=lJ(X.git.repositoryUrl),_=X.git.branch,H=Q?Q.split("/").pop()??null:null,G=dJ(J,H);return e.parse({repo:Q,branch:_,relativeCwd:E1(G)})}function lJ(X){if(!X)return null;let Y=X.match(/git@([^:]+):(.+?)(?:\.git)?$/);if(Y)return`${Y[1]}/${Y[2]}`.replace(/\\/g,"/");let J=X.match(/https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);if(J)return`${J[1]}/${J[2]}`.replace(/\\/g,"/");return null}function dJ(X,Y){if(!X)return null;let Q=X.replace(/\\/g,"/").split("/").filter(Boolean);if(Q.length===0)return null;if(Y){let _=Q.lastIndexOf(Y);if(_>=0){let H=Q.slice(_+1).join("/");return H.length>0?H:"."}}return null}function P5(X,Y,J){let Q=pJ(X);if(Q&&J.has(Q))return;let _=t.parse(X);if(Y.push(_),Q)J.add(Q)}function pJ(X){if("text"in X&&typeof X.text==="string")return`${X.type}|${X.timestamp??""}|${X.text}`;if(X.type==="tool-call")return`${X.type}|${X.timestamp??""}|${X.id??""}|${X.toolName??""}`;return null}function _4(X){if(!X)return X;return fJ[X]??X}function iJ(X,Y){let J=Date.parse(X),Q=Date.parse(Y);if(Number.isNaN(J)||Number.isNaN(Q))return 0;return J===Q?0:J>Q?1:-1}function nJ(X){if(!X)return null;let Y=new Date(X);return Number.isNaN(Y.getTime())?null:Y}function z0(X){return typeof X==="number"&&Number.isFinite(X)?X:0}function y(X){if(typeof X!=="string")return null;let Y=X.trim();return Y.length>0?Y:null}function G1(X){return X.replace(/\s+/g," ").trim()}function H4(X,Y){if(X.length<=Y)return X;if(Y<=1)return X.slice(0,Y);return`${X.slice(0,Y-1)}…`}function rJ(X){return`codex-${X.getTime()}`}function oJ(X,Y,J){if(!J||!X)return 0;let Q=sJ(X,J);if(!Q)return 0;return aJ({input_tokens:Math.max(0,Y.inputTokens-Y.cachedInputTokens),output_tokens:Y.outputTokens+Y.reasoningOutputTokens,cache_creation_input_tokens:0,cache_read_input_tokens:Y.cachedInputTokens},Q)}function sJ(X,Y){let J=X.trim();if(!J)return null;let Q=new Set;Q.add(J);for(let H of SJ)Q.add(`${H}${J}`);for(let H of Q){let G=Y[H];if(G)return G}let _=J.toLowerCase();for(let[H,G]of Object.entries(Y)){let W=H.toLowerCase();if(W.includes(_)||_.includes(W))return G}return null}function aJ(X,Y){let J=(W,q,$,B=IJ)=>{if(W==null||W<=0)return 0;if(W>B&&$!=null){let D=Math.min(W,B),j=Math.max(0,W-B)*$;if(q!=null)j+=D*q;return j}if(q!=null)return W*q;return 0},Q=J(X.input_tokens,Y.input_cost_per_token,Y.input_cost_per_token_above_200k_tokens),_=J(X.output_tokens,Y.output_cost_per_token,Y.output_cost_per_token_above_200k_tokens),H=J(X.cache_creation_input_tokens,Y.cache_creation_input_token_cost,Y.cache_creation_input_token_cost_above_200k_tokens),G=J(X.cache_read_input_tokens,Y.cache_read_input_token_cost,Y.cache_read_input_token_cost_above_200k_tokens);return Q+_+H+G}var tJ="https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json",eJ=200000,X6=L.object({input_cost_per_token:L.number().optional(),output_cost_per_token:L.number().optional(),cache_creation_input_token_cost:L.number().optional(),cache_read_input_token_cost:L.number().optional(),max_tokens:L.number().optional(),max_input_tokens:L.number().optional(),max_output_tokens:L.number().optional(),input_cost_per_token_above_200k_tokens:L.number().optional(),output_cost_per_token_above_200k_tokens:L.number().optional(),cache_creation_input_token_cost_above_200k_tokens:L.number().optional(),cache_read_input_token_cost_above_200k_tokens:L.number().optional(),input_cost_per_token_above_128k_tokens:L.number().optional(),output_cost_per_token_above_128k_tokens:L.number().optional()}),Y6=["anthropic/","claude-3-5-","claude-3-","claude-","openai/","azure/","openrouter/openai/"];function J6(X){if(X!=null)return X;return{debug:()=>{},error:()=>{},info:()=>{},warn:()=>{}}}class T5{cachedPricing=null;logger;offline;offlineLoader;url;providerPrefixes;constructor(X={}){this.logger=J6(X.logger),this.offline=Boolean(X.offline),this.offlineLoader=X.offlineLoader,this.url=X.url??tJ,this.providerPrefixes=X.providerPrefixes??Y6}[Symbol.dispose](){this.clearCache()}clearCache(){this.cachedPricing=null}async loadOfflinePricing(){if(this.offlineLoader==null)throw Error("Offline loader was not provided");let X=new Map(Object.entries(await this.offlineLoader()));return this.cachedPricing=X,X}async fetchRemotePricing(){this.logger.warn("Fetching latest model pricing from LiteLLM...");let X=await fetch(this.url);if(!X.ok)throw Error(`Failed to fetch pricing data: ${X.statusText}`);let Y=await X.json(),J=new Map;for(let[Q,_]of Object.entries(Y)){if(typeof _!=="object"||_==null)continue;let H=X6.safeParse(_);if(!H.success)continue;J.set(Q,H.data)}return this.cachedPricing=J,this.logger.info(`Loaded pricing for ${J.size} models`),J}async ensurePricingLoaded(){if(this.cachedPricing!=null)return this.cachedPricing;if(this.offline)return this.loadOfflinePricing();try{return await this.fetchRemotePricing()}catch(X){if(this.logger.warn("Failed to fetch model pricing from LiteLLM, falling back to offline loader (if available)."),this.offlineLoader!=null)return this.loadOfflinePricing();throw X}}async fetchModelPricing(){return this.ensurePricingLoaded()}createMatchingCandidates(X){let Y=new Set;Y.add(X);for(let J of this.providerPrefixes)Y.add(`${J}${X}`);return Array.from(Y)}async getModelPricing(X){let Y=await this.ensurePricingLoaded();for(let Q of this.createMatchingCandidates(X)){let _=Y.get(Q);if(_!=null)return _}let J=X.toLowerCase();for(let[Q,_]of Y){let H=Q.toLowerCase();if(H.includes(J)||J.includes(H))return _}return null}async getModelContextLimit(X){return(await this.getModelPricing(X))?.max_input_tokens??null}calculateCostFromPricing(X,Y){let J=(W,q,$,B=eJ)=>{if(W==null||W<=0)return 0;if(W>B&&$!=null){let D=Math.min(W,B),j=Math.max(0,W-B)*$;if(q!=null)j+=D*q;return j}if(q!=null)return W*q;return 0},Q=J(X.input_tokens,Y.input_cost_per_token,Y.input_cost_per_token_above_200k_tokens),_=J(X.output_tokens,Y.output_cost_per_token,Y.output_cost_per_token_above_200k_tokens),H=J(X.cache_creation_input_tokens,Y.cache_creation_input_token_cost,Y.cache_creation_input_token_cost_above_200k_tokens),G=J(X.cache_read_input_tokens,Y.cache_read_input_token_cost,Y.cache_read_input_token_cost_above_200k_tokens);return Q+_+H+G}async calculateCostFromTokens(X,Y){if(Y==null||Y==="")return 0;let J=await this.getModelPricing(Y);if(J==null)throw Error(`Model pricing not found for ${Y}`);return this.calculateCostFromPricing(X,J)}}import{execSync as Q6}from"child_process";import{resolve as _6}from"path";var H6="http://localhost:3000",G6=1e4;async function W6(X,Y,J){try{return(await fetch(`${Y}/api/blobs/${X}`,{method:"HEAD",headers:{...J&&{Authorization:`Bearer ${J}`}},signal:AbortSignal.timeout(5000)})).ok}catch{return!1}}async function q6(X,Y,J){if(!X||X.length===0)return;let _=(await Promise.all(X.map(async(H)=>({blob:H,exists:await W6(H.sha256,Y,J)})))).filter((H)=>!H.exists).map((H)=>H.blob);return _.length>0?_:void 0}async function G4(X,Y={}){let J=Y.serverUrl??process.env.VI_SERVER_URL??H6,Q=Y.authToken??null,_=Y.timeoutMs??G6,H=await q6(X.blobs,J,Q),G=new FormData,W=`${X.unifiedTranscript.id||"transcript"}.jsonl`;if(G.set("sha256",X.sha256),G.set("unifiedTranscript",JSON.stringify(X.unifiedTranscript)),G.set("transcript",new Blob([X.rawTranscript],{type:"application/jsonl"}),W),H)for(let q of H){let $=q.data.buffer.slice(q.data.byteOffset,q.data.byteOffset+q.data.byteLength);G.append(`blob:${q.sha256}`,new Blob([$],{type:q.mediaType}),`${q.sha256}.blob`)}try{let q=await fetch(`${J}/api/ingest`,{method:"POST",headers:{...Q&&{Authorization:`Bearer ${Q}`}},body:G,signal:AbortSignal.timeout(_)});if(!q.ok)return console.error(`Upload failed: ${q.status} ${q.statusText}`),{success:!1};let $=await q.json();if($6($))return{success:!0,transcriptId:$.transcriptId};return console.error("Upload succeeded but response had unexpected shape:",$),{success:!1}}catch(q){if(q instanceof Error)console.error("Upload error:",q.message);return{success:!1}}}function $6(X){if(typeof X!=="object"||X===null)return!1;let Y=X;return typeof Y.success==="boolean"&&(Y.success===!1||typeof Y.transcriptId==="string")&&(Y.eventsReceived===void 0||typeof Y.eventsReceived==="number")}function W4(X){let Y=_6(X),J=v0(Y);try{let Q=Q6("git remote get-url origin",{cwd:Y,encoding:"utf8",timeout:2000,stdio:["pipe","pipe","ignore"]}).trim(),_=B6(Q),H=_.split("/").pop()||"unknown";return{repoId:_,repoName:H,cwd:J}}catch{return{repoId:null,repoName:Y.split("/").pop()||"unknown",cwd:J}}}function B6(X){let Y=/^(?<user>[^@]+)@(?<host>[^:]+):(?<path>.+)$/,J=X.match(Y);if(J?.groups)return`${J.groups.host}/${J.groups.path.replace(/\.git$/i,"")}`;try{let Q=new URL(X),_=Q.pathname.replace(/\.git$/i,"").replace(/^\//,"");return`${Q.host}/${_}`}catch{return X.replace(/\.git$/i,"")}}async function k0(X,Y={}){let{transcriptPath:J,sessionId:Q,source:_="claude-code"}=X;if(!J)throw Error("No transcript path provided.");if(!C5(J))throw Error(`Transcript file not found at path: ${J}`);let H=K6(J,"utf8"),G=H.split(/\r?\n/),W=[],q=0;for(let I of G){let R=I.trim();if(!R)continue;try{let v=JSON.parse(R);if(typeof v==="object"&&v!==null)W.push(v);else q+=1}catch{q+=1}}if(q>0)console.warn(`Skipped ${q} line(s) that were not valid JSON.`);if(W.length===0)throw Error("No transcript events found in the specified file.");let B=await new T5().fetchModelPricing(),V={pricing:Object.fromEntries(B)},j=X.cwdOverride&&X.cwdOverride.trim().length>0?X.cwdOverride.trim():F6(W)??process.cwd(),T=U6(W),g=await t9(j,T),z={...V,gitContext:g},f=_==="codex"?b5(W,V):s9(W,z);if(!f)throw Error(`Unable to convert ${_} transcript to unified format.`);let{transcript:O,blobs:l}=f,A=Q??O.id;if(!A)throw Error("Transcript did not include a session identifier.");if(Q&&Q!==O.id)throw Error(`Provided sessionId (${Q}) does not match unified transcript id (${O.id}).`);let d=W.length,K=L6("sha256").update(H).digest("hex"),F=[];for(let[I,R]of l)F.push({sha256:I,data:new Uint8Array(R.data),mediaType:R.mediaType});let P={sha256:K,rawTranscript:H,unifiedTranscript:O,blobs:F.length>0?F:void 0};return{...await G4(P,Y),eventCount:d,invalidLines:q,sessionId:A,unifiedTranscript:O,sha256:K,source:_,cwd:j}}function q4(X){if(!X)return null;if(E6(X))return C5(X)?X:null;let Y=new Set,J=(H)=>{if(!H)return null;let G=V6(H,X);if(Y.has(G))return null;return Y.add(G),C5(G)?G:null},Q=J(process.cwd())??J(process.env.INIT_CWD)??J(process.env.PWD);if(Q)return Q;let _=process.cwd();while(!0){let H=J(_);if(H)return H;let G=D6(_);if(G===_)break;_=G}return null}function F6(X){for(let Y of X){let J=typeof Y.cwd==="string"?Y.cwd.trim():"";if(J)return J}return null}function U6(X){for(let Y of X){let J=typeof Y.gitBranch==="string"?Y.gitBranch.trim():"";if(J)return J}return}var M6=C1(),c=z9("cli",{logFilePath:M6,logToFile:!0,disableConsole:!0});async function $4(){let X=Date.now(),Y,J;try{let{preview:Q,full:_}=await z6();if(c.info(`Hook invoked (stdin: ${_.length} bytes)`),!_.trim())c.warn("Hook received empty stdin - ignoring"),process.exit(0);let H=Q.includes('"PreToolUse"'),G=Q.includes("git")&&Q.includes("commit");if(H&&!G){let $={hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};process.stdout.write(JSON.stringify($));let B=Date.now()-X;c.info(`Hook completed: PreToolUse (fast path, ${B}ms)`),process.exit(0)}let W;try{W=JSON.parse(_)}catch($){c.error("Hook failed to parse stdin JSON",{error:$ instanceof Error?$.message:$}),process.exit(1)}if(Y=W.hook_event_name,J=W.session_id||"unknown",!Y)c.error("Hook missing event name",{sessionId:J}),process.exit(1);if(c.info(`Hook: ${Y} (session: ${J.substring(0,8)}...)`),Y==="PreToolUse")await A6(W);else if(Y==="SessionEnd")await N6(W);else if(Y==="Stop")await j6(W);else c.debug(`Hook: skipping unsupported event ${Y}`);let q=Date.now()-X;c.info(`Hook completed: ${Y} (${q}ms)`,{sessionId:J.substring(0,8)}),process.exit(0)}catch(Q){let _=Date.now()-X;c.error(`Hook failed: ${Y||"unknown"} (${_}ms)`,{sessionId:J?.substring(0,8),error:Q instanceof Error?Q.message:String(Q)}),process.exit(1)}}async function A6(X){let Y=X.session_id||"unknown",J=!1,Q=!1,{command:_,updateCommand:H}=w6(X),G=typeof X.tool_name==="string"?X.tool_name:X.tool;if((G?G.toLowerCase()==="bash":Boolean(_))&&_&&S6(_)){J=!0;let $=I6(_,Y);if($!==_)H($),Q=!0}let q=Q?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:X.tool_input}}:{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};if(process.stdout.write(JSON.stringify(q)),J)await P6({sessionId:Y,transcriptPath:X.transcript_path,cwd:typeof X.cwd==="string"?X.cwd:void 0}),await O6({sessionId:Y,repoPath:f6(X),timestamp:new Date().toISOString()});c.info("PreToolUse handled",{sessionId:Y.substring(0,8),shouldTrack:J,modified:Q})}async function N6(X){let Y=X.transcript_path,J=X.session_id||"unknown";if(!Y){c.error("SessionEnd: missing transcript_path",{sessionId:J});return}let Q=J0(),_=process.env.VI_SERVER_URL??process.env.VIBEINSIGHTS_BASE_URL??Q.baseURL??"http://localhost:3000",H=_0();if(!H){c.error("SessionEnd: no auth token found. Run the CLI login flow first.",{sessionId:J});return}let G={};if(_)G.serverUrl=_;G.authToken=H;try{let W=await k0({transcriptPath:Y,sessionId:X.session_id,cwdOverride:X.cwd},G);if(W.success)c.info(`SessionEnd: uploaded ${W.eventCount} events`,{transcriptId:W.transcriptId,sessionId:J.substring(0,8)});else c.error("SessionEnd: upload failed",{sessionId:J})}catch(W){c.error("SessionEnd: upload error",{sessionId:J,error:W instanceof Error?W.message:String(W)})}}async function j6(X){let Y=X.transcript_path,J=X.session_id||"unknown";if(!Y){c.error("Stop: missing transcript_path",{sessionId:J});return}if(X.stop_hook_active){c.debug("Stop: skipped (stop_hook_active=true)",{sessionId:J});return}let Q=J0(),_=process.env.VI_SERVER_URL??process.env.VIBEINSIGHTS_BASE_URL??Q.baseURL??"http://localhost:3000",H=_0();if(!H){c.error("Stop: no auth token found. Run the CLI login flow first.",{sessionId:J});return}let G={};if(_)G.serverUrl=_;G.authToken=H;try{let W=await k0({transcriptPath:Y,sessionId:X.session_id,cwdOverride:X.cwd},G);if(W.success)c.info(`Stop: uploaded ${W.eventCount} events`,{transcriptId:W.transcriptId,sessionId:J.substring(0,8)});else c.error("Stop: upload failed",{sessionId:J})}catch(W){c.error("Stop: upload error",{sessionId:J,error:W instanceof Error?W.message:String(W)})}}var R6=2048;function z6(){return new Promise((X,Y)=>{let J="";process.stdin.setEncoding("utf8"),process.stdin.on("data",(Q)=>{J+=Q}),process.stdin.on("end",()=>{X({preview:J.slice(0,R6),full:J})}),process.stdin.on("error",(Q)=>Y(Q))})}function w6(X){if(X.tool_input&&typeof X.tool_input==="object"&&typeof X.tool_input.command==="string")return{command:X.tool_input.command,updateCommand:(Y)=>{if(X.tool_input)X.tool_input.command=Y}};if(typeof X.command==="string")return{command:X.command,updateCommand:(Y)=>{X.command=Y}};return{command:void 0,updateCommand:()=>{}}}function S6(X){return/\bgit\s+commit\b/.test(X)}function I6(X,Y){let J=`\uD83D\uDD2E View transcript: https://agentlogs.ai/s/${Y}`;if(X.includes(J))return X;let Q=`
|
|
41
41
|
|
|
42
|
-
${
|
|
43
|
-
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}import{promisify as MX}from"node:util";import{execFile as VX}from"node:child_process";var UX=MX(VX),EX={AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},MSEdgeDHTML:{name:"Edge",id:"com.microsoft.edge"},MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"}};class N1 extends Error{}async function A1(_=UX){let{stdout:Y}=await _("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),X=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(Y);if(!X)throw new N1(`Cannot find Windows browser in stdout: ${JSON.stringify(Y)}`);let{id:J}=X.groups,H=EX[J];if(!H)throw new N1(`Unknown browser ID: ${J}`);return H}var fX=FX(RX),KX=(_)=>_.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(Y)=>Y.toUpperCase());async function w1(){if(S1.platform==="darwin"){let _=await D1();return{name:await j1(_),id:_}}if(S1.platform==="linux"){let{stdout:_}=await fX("xdg-mime",["query","default","x-scheme-handler/http"]),Y=_.trim();return{name:KX(Y.replace(/.desktop$/,"").replace("-"," ")),id:Y}}if(S1.platform==="win32")return A1();throw Error("Only macOS, Linux, and Windows are supported")}var SX=jX(Y6.execFile),O1=_6.dirname(DX(import.meta.url)),o4=_6.join(O1,"xdg-open"),{platform:X2,arch:s4}=z1;async function wX(){let _=await K1(),Y=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,X=e4.from(Y,"utf16le").toString("base64"),{stdout:J}=await SX(_,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",X],{encoding:"utf8"}),H=J.trim(),Q={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return Q[H]?{id:Q[H]}:{}}var a4=async(_,Y)=>{let X;for(let J of _)try{return await Y(J)}catch(H){X=H}throw X},I2=async(_)=>{if(_={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,..._},Array.isArray(_.app))return a4(_.app,($)=>I2({..._,app:$}));let{name:Y,arguments:X=[]}=_.app??{};if(X=[...X],Array.isArray(Y))return a4(Y,($)=>I2({..._,app:{name:$,arguments:X}}));if(Y==="browser"||Y==="browserPrivate"){let $={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.Browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},G={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},W=S0?await wX():await w1();if(W.id in $){let L=$[W.id];if(Y==="browserPrivate")X.push(G[L]);return I2({..._,app:{name:x0[L],arguments:X}})}throw Error(`${W.name} is not supported as a default browser`)}let J,H=[],Q={};if(X2==="darwin"){if(J="open",_.wait)H.push("--wait-apps");if(_.background)H.push("--background");if(_.newInstance)H.push("--new");if(Y)H.push("-a",Y)}else if(X2==="win32"||S0&&!Y2()&&!Y){if(J=await K1(),H.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),!S0)Q.windowsVerbatimArguments=!0;let $=["Start"];if(_.wait)$.push("-Wait");if(Y){if($.push(`"\`"${Y}\`""`),_.target)X.push(_.target)}else if(_.target)$.push(`"${_.target}"`);if(X.length>0)X=X.map((G)=>`"\`"${G}\`""`),$.push("-ArgumentList",X.join(","));_.target=e4.from($.join(" "),"utf16le").toString("base64")}else{if(Y)J=Y;else{let $=!O1||O1==="/",G=!1;try{await NX.access(o4,AX.X_OK),G=!0}catch{}J=z1.versions.electron??(X2==="android"||$||!G)?"xdg-open":o4}if(X.length>0)H.push(...X);if(!_.wait)Q.stdio="ignore",Q.detached=!0}if(X2==="darwin"&&X.length>0)H.push("--args",...X);if(_.target)H.push(_.target);let q=Y6.spawn(J,H,Q);if(_.wait)return new Promise(($,G)=>{q.once("error",G),q.once("close",(W)=>{if(!_.allowNonzeroExitCode&&W>0){G(Error(`Exited with code ${W}`));return}$(q)})});return q.unref(),q},zX=(_,Y)=>{if(typeof _!=="string")throw TypeError("Expected a `target`");return I2({...Y,target:_})};function t4(_){if(typeof _==="string"||Array.isArray(_))return _;let{[s4]:Y}=_;if(!Y)throw Error(`${s4} is not supported`);return Y}function P2({[X2]:_},{wsl:Y}){if(Y&&S0)return t4(Y);if(!_)throw Error(`${X2} is not supported`);return t4(_)}var x0={};w0(x0,"chrome",()=>P2({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));w0(x0,"brave",()=>P2({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));w0(x0,"firefox",()=>P2({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));w0(x0,"edge",()=>P2({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));w0(x0,"browser",()=>"browser");w0(x0,"browserPrivate",()=>"browserPrivate");var X6=zX;var{defineProperty:OX,defineProperties:IX,getOwnPropertyDescriptors:PX,getOwnPropertySymbols:J6}=Object,kX=Object.prototype.hasOwnProperty,CX=Object.prototype.propertyIsEnumerable,H6=(_,Y,X)=>(Y in _)?OX(_,Y,{enumerable:!0,configurable:!0,writable:!0,value:X}):_[Y]=X,Q0=(_,Y)=>{for(var X in Y||(Y={}))if(kX.call(Y,X))H6(_,X,Y[X]);if(J6){for(var X of J6(Y))if(CX.call(Y,X))H6(_,X,Y[X])}return _},M0=(_,Y)=>IX(_,PX(Y)),TX=class extends Error{constructor(_,Y,X){super(Y||_.toString(),{cause:X});this.status=_,this.statusText=Y,this.error=X}},vX=async(_,Y)=>{var X,J,H,Q,q,$;let G=Y||{},W={onRequest:[Y==null?void 0:Y.onRequest],onResponse:[Y==null?void 0:Y.onResponse],onSuccess:[Y==null?void 0:Y.onSuccess],onError:[Y==null?void 0:Y.onError],onRetry:[Y==null?void 0:Y.onRetry]};if(!Y||!(Y==null?void 0:Y.plugins))return{url:_,options:G,hooks:W};for(let L of(Y==null?void 0:Y.plugins)||[]){if(L.init){let V=await((X=L.init)==null?void 0:X.call(L,_.toString(),Y));G=V.options||G,_=V.url}W.onRequest.push((J=L.hooks)==null?void 0:J.onRequest),W.onResponse.push((H=L.hooks)==null?void 0:H.onResponse),W.onSuccess.push((Q=L.hooks)==null?void 0:Q.onSuccess),W.onError.push((q=L.hooks)==null?void 0:q.onError),W.onRetry.push(($=L.hooks)==null?void 0:$.onRetry)}return{url:_,options:G,hooks:W}},Q6=class{constructor(_){this.options=_}shouldAttemptRetry(_,Y){if(this.options.shouldRetry)return Promise.resolve(_<this.options.attempts&&this.options.shouldRetry(Y));return Promise.resolve(_<this.options.attempts)}getDelay(){return this.options.delay}},bX=class{constructor(_){this.options=_}shouldAttemptRetry(_,Y){if(this.options.shouldRetry)return Promise.resolve(_<this.options.attempts&&this.options.shouldRetry(Y));return Promise.resolve(_<this.options.attempts)}getDelay(_){return Math.min(this.options.maxDelay,this.options.baseDelay*2**_)}};function ZX(_){if(typeof _==="number")return new Q6({type:"linear",attempts:_,delay:1000});switch(_.type){case"linear":return new Q6(_);case"exponential":return new bX(_);default:throw Error("Invalid retry strategy")}}var xX=async(_)=>{let Y={},X=async(J)=>typeof J==="function"?await J():J;if(_==null?void 0:_.auth){if(_.auth.type==="Bearer"){let J=await X(_.auth.token);if(!J)return Y;Y.authorization=`Bearer ${J}`}else if(_.auth.type==="Basic"){let J=X(_.auth.username),H=X(_.auth.password);if(!J||!H)return Y;Y.authorization=`Basic ${btoa(`${J}:${H}`)}`}else if(_.auth.type==="Custom"){let J=X(_.auth.value);if(!J)return Y;Y.authorization=`${X(_.auth.prefix)} ${J}`}}return Y},yX=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function hX(_){let Y=_.headers.get("content-type"),X=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!Y)return"json";let J=Y.split(";").shift()||"";if(yX.test(J))return"json";if(X.has(J)||J.startsWith("text/"))return"text";return"blob"}function gX(_){try{return JSON.parse(_),!0}catch(Y){return!1}}function G6(_){if(_===void 0)return!1;let Y=typeof _;if(Y==="string"||Y==="number"||Y==="boolean"||Y===null)return!0;if(Y!=="object")return!1;if(Array.isArray(_))return!0;if(_.buffer)return!1;return _.constructor&&_.constructor.name==="Object"||typeof _.toJSON==="function"}function q6(_){try{return JSON.parse(_)}catch(Y){return _}}function $6(_){return typeof _==="function"}function mX(_){if(_==null?void 0:_.customFetchImpl)return _.customFetchImpl;if(typeof globalThis<"u"&&$6(globalThis.fetch))return globalThis.fetch;if(typeof window<"u"&&$6(window.fetch))return window.fetch;throw Error("No fetch implementation found")}async function cX(_){let Y=new Headers(_==null?void 0:_.headers),X=await xX(_);for(let[J,H]of Object.entries(X||{}))Y.set(J,H);if(!Y.has("content-type")){let J=uX(_==null?void 0:_.body);if(J)Y.set("content-type",J)}return Y}function uX(_){if(G6(_))return"application/json";return null}function lX(_){if(!(_==null?void 0:_.body))return null;let Y=new Headers(_==null?void 0:_.headers);if(G6(_.body)&&!Y.has("content-type")){for(let[X,J]of Object.entries(_==null?void 0:_.body))if(J instanceof Date)_.body[X]=J.toISOString();return JSON.stringify(_.body)}return _.body}function dX(_,Y){var X;if(Y==null?void 0:Y.method)return Y.method.toUpperCase();if(_.startsWith("@")){let J=(X=_.split("@")[1])==null?void 0:X.split("/")[0];if(!W6.includes(J))return(Y==null?void 0:Y.body)?"POST":"GET";return J.toUpperCase()}return(Y==null?void 0:Y.body)?"POST":"GET"}function pX(_,Y){let X;if(!(_==null?void 0:_.signal)&&(_==null?void 0:_.timeout))X=setTimeout(()=>Y==null?void 0:Y.abort(),_==null?void 0:_.timeout);return{abortTimeout:X,clearTimeout:()=>{if(X)clearTimeout(X)}}}var nX=class _ extends Error{constructor(Y,X){super(X||JSON.stringify(Y,null,2));this.issues=Y,Object.setPrototypeOf(this,_.prototype)}};async function k2(_,Y){let X=await _["~standard"].validate(Y);if(X.issues)throw new nX(X.issues);return X.value}var W6=["get","post","put","patch","delete"];var iX=(_)=>({id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(Y,X){var J,H,Q,q;let $=((H=(J=_.plugins)==null?void 0:J.find((G)=>{var W;return((W=G.schema)==null?void 0:W.config)?Y.startsWith(G.schema.config.baseURL||"")||Y.startsWith(G.schema.config.prefix||""):!1}))==null?void 0:H.schema)||_.schema;if($){let G=Y;if((Q=$.config)==null?void 0:Q.prefix){if(G.startsWith($.config.prefix)){if(G=G.replace($.config.prefix,""),$.config.baseURL)Y=Y.replace($.config.prefix,$.config.baseURL)}}if((q=$.config)==null?void 0:q.baseURL){if(G.startsWith($.config.baseURL))G=G.replace($.config.baseURL,"")}let W=$.schema[G];if(W){let L=M0(Q0({},X),{method:W.method,output:W.output});if(!(X==null?void 0:X.disableValidation))L=M0(Q0({},L),{body:W.input?await k2(W.input,X==null?void 0:X.body):X==null?void 0:X.body,params:W.params?await k2(W.params,X==null?void 0:X.params):X==null?void 0:X.params,query:W.query?await k2(W.query,X==null?void 0:X.query):X==null?void 0:X.query});return{url:Y,options:L}}}return{url:Y,options:X}}}),L6=(_)=>{async function Y(X,J){let H=M0(Q0(Q0({},_),J),{plugins:[...(_==null?void 0:_.plugins)||[],iX(_||{})]});if(_==null?void 0:_.catchAllError)try{return await I1(X,H)}catch(Q){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:Q}}}return await I1(X,H)}return Y};function rX(_,Y){let{baseURL:X,params:J,query:H}=Y||{query:{},params:{},baseURL:""},Q=_.startsWith("http")?_.split("/").slice(0,3).join("/"):X||"";if(_.startsWith("@")){let V=_.toString().split("@")[1].split("/")[0];if(W6.includes(V))_=_.replace(`@${V}/`,"/")}if(!Q.endsWith("/"))Q+="/";let[q,$]=_.replace(Q,"").split("?"),G=new URLSearchParams($);for(let[V,E]of Object.entries(H||{})){if(E==null)continue;G.set(V,String(E))}if(J)if(Array.isArray(J)){let V=q.split("/").filter((E)=>E.startsWith(":"));for(let[E,N]of V.entries()){let v=J[E];q=q.replace(N,v)}}else for(let[V,E]of Object.entries(J))q=q.replace(`:${V}`,String(E));if(q=q.split("/").map(encodeURIComponent).join("/"),q.startsWith("/"))q=q.slice(1);let W=G.toString();if(W=W.length>0?`?${W}`.replace(/\+/g,"%20"):"",!Q.startsWith("http"))return`${Q}${q}${W}`;return new URL(`${q}${W}`,Q)}var I1=async(_,Y)=>{var X,J,H,Q,q,$,G,W;let{hooks:L,url:V,options:E}=await vX(_,Y),N=mX(E),v=new AbortController,Z=(X=E.signal)!=null?X:v.signal,S=rX(V,E),O=lX(E),c=await cX(E),u=dX(V,E),K=M0(Q0({},E),{url:S,headers:c,body:O,method:u,signal:Z});for(let I of L.onRequest)if(I){let h=await I(K);if(h instanceof Object)K=h}if("pipeTo"in K&&typeof K.pipeTo==="function"||typeof((J=Y==null?void 0:Y.body)==null?void 0:J.pipe)==="function"){if(!("duplex"in K))K.duplex="half"}let{clearTimeout:d}=pX(E,v),M=await N(K.url,K);d();let R={response:M,request:K};for(let I of L.onResponse)if(I){let h=await I(M0(Q0({},R),{response:((H=Y==null?void 0:Y.hookOptions)==null?void 0:H.cloneResponse)?M.clone():M}));if(h instanceof Response)M=h;else if(h instanceof Object)M=h.response}if(M.ok){if(K.method==="HEAD")return{data:"",error:null};let h=hX(M),p={data:"",response:M,request:K};if(h==="json"||h==="text"){let r=await M.text(),P6=await((Q=K.jsonParser)!=null?Q:q6)(r);p.data=P6}else p.data=await M[h]();if(K==null?void 0:K.output){if(K.output&&!K.disableValidation)p.data=await k2(K.output,p.data)}for(let r of L.onSuccess)if(r)await r(M0(Q0({},p),{response:((q=Y==null?void 0:Y.hookOptions)==null?void 0:q.cloneResponse)?M.clone():M}));if(Y==null?void 0:Y.throw)return p.data;return{data:p.data,error:null}}let z=($=Y==null?void 0:Y.jsonParser)!=null?$:q6,k=await M.text(),C=gX(k),j=C?await z(k):null,y={response:M,responseText:k,request:K,error:M0(Q0({},j),{status:M.status,statusText:M.statusText})};for(let I of L.onError)if(I)await I(M0(Q0({},y),{response:((G=Y==null?void 0:Y.hookOptions)==null?void 0:G.cloneResponse)?M.clone():M}));if(Y==null?void 0:Y.retry){let I=ZX(Y.retry),h=(W=Y.retryAttempt)!=null?W:0;if(await I.shouldAttemptRetry(h,M)){for(let r of L.onRetry)if(r)await r(R);let p=I.getDelay(h);return await new Promise((r)=>setTimeout(r,p)),await I1(_,M0(Q0({},Y),{retryAttempt:h+1}))}}if(Y==null?void 0:Y.throw)throw new TX(M.status,M.statusText,C?j:k);return{data:null,error:M0(Q0({},j),{status:M.status,statusText:M.statusText})}};var C2=Object.create(null),E2=(_)=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(_?C2:globalThis),z0=new Proxy(C2,{get(_,Y){return E2()[Y]??C2[Y]},has(_,Y){let X=E2();return Y in X||Y in C2},set(_,Y,X){let J=E2(!0);return J[Y]=X,!0},deleteProperty(_,Y){if(!Y)return!1;let X=E2(!0);return delete X[Y],!0},ownKeys(){let _=E2(!0);return Object.keys(_)}});var SQ=typeof process<"u"&&process.env&&"production"||"";class J2 extends Error{constructor(_,Y){super(_);this.name="BetterAuthError",this.message=_,this.cause=Y,this.stack=""}}function oX(_){try{return(new URL(_).pathname.replace(/\/+$/,"")||"/")!=="/"}catch(Y){throw new J2(`Invalid base URL: ${_}. Please provide a valid base URL.`)}}function F2(_,Y="/api/auth"){if(oX(_))return _;let J=_.replace(/\/+$/,"");if(!Y||Y==="/")return J;return Y=Y.startsWith("/")?Y:`/${Y}`,`${J}${Y}`}function B6(_,Y,X,J){if(_)return F2(_,Y);if(J!==!1){let q=z0.BETTER_AUTH_URL||z0.NEXT_PUBLIC_BETTER_AUTH_URL||z0.PUBLIC_BETTER_AUTH_URL||z0.NUXT_PUBLIC_BETTER_AUTH_URL||z0.NUXT_PUBLIC_AUTH_URL||(z0.BASE_URL!=="/"?z0.BASE_URL:void 0);if(q)return F2(q,Y)}let H=X?.headers.get("x-forwarded-host"),Q=X?.headers.get("x-forwarded-proto");if(H&&Q)return F2(`${Q}://${H}`,Y);if(X){let q=sX(X.url);if(!q)throw new J2("Could not get origin from request. Please provide a valid base URL.");return F2(q,Y)}if(typeof window<"u"&&window.location)return F2(window.location.origin,Y);return}function sX(_){try{return new URL(_).origin}catch(Y){return null}}var q0=[],O0=0,T2=4,aX=0,R2=(_)=>{let Y=[],X={get(){if(!X.lc)X.listen(()=>{})();return X.value},lc:0,listen(J){return X.lc=Y.push(J),()=>{for(let Q=O0+T2;Q<q0.length;)if(q0[Q]===J)q0.splice(Q,T2);else Q+=T2;let H=Y.indexOf(J);if(~H){if(Y.splice(H,1),!--X.lc)X.off()}}},notify(J,H){aX++;let Q=!q0.length;for(let q of Y)q0.push(q,X.value,J,H);if(Q){for(O0=0;O0<q0.length;O0+=T2)q0[O0](q0[O0+1],q0[O0+2],q0[O0+3]);q0.length=0}},off(){},set(J){let H=X.value;if(H!==J)X.value=J,X.notify(H)},subscribe(J){let H=X.listen(J);return J(X.value),H},value:_};return X};var tX=5,v2=6,b2=10,eX=(_,Y,X,J)=>{if(_.events=_.events||{},!_.events[X+b2])_.events[X+b2]=J((H)=>{_.events[X].reduceRight((Q,q)=>(q(Q),Q),{shared:{},...H})});return _.events[X]=_.events[X]||[],_.events[X].push(Y),()=>{let H=_.events[X],Q=H.indexOf(Y);if(H.splice(Q,1),!H.length)delete _.events[X],_.events[X+b2](),delete _.events[X+b2]}};var M6=1000,P1=(_,Y)=>{return eX(_,(J)=>{let H=Y(J);if(H)_.events[v2].push(H)},tX,(J)=>{let H=_.listen;_.listen=(...q)=>{if(!_.lc&&!_.active)_.active=!0,J();return H(...q)};let Q=_.off;return _.events[v2]=[],_.off=()=>{Q(),setTimeout(()=>{if(_.active&&!_.lc){_.active=!1;for(let q of _.events[v2])q();_.events[v2]=[]}},M6)},()=>{_.listen=H,_.off=Q}})};var _5=typeof window>"u",Z2=(_,Y,X,J)=>{let H=R2({data:null,error:null,isPending:!0,isRefetching:!1,refetch:($)=>{return Q($)}}),Q=($)=>{let G=typeof J==="function"?J({data:H.get().data,error:H.get().error,isPending:H.get().isPending}):J;X(Y,{...G,query:{...G?.query,...$?.query},async onSuccess(W){H.set({data:W.data,error:null,isPending:!1,isRefetching:!1,refetch:H.value.refetch}),await G?.onSuccess?.(W)},async onError(W){let{request:L}=W,V=typeof L.retry==="number"?L.retry:L.retry?.attempts,E=L.retryAttempt||0;if(V&&E<V)return;H.set({error:W.error,data:null,isPending:!1,isRefetching:!1,refetch:H.value.refetch}),await G?.onError?.(W)},async onRequest(W){let L=H.get();H.set({isPending:L.data===null,data:L.data,error:null,isRefetching:!0,refetch:H.value.refetch}),await G?.onRequest?.(W)}}).catch((W)=>{H.set({error:W,data:null,isPending:!1,isRefetching:!1,refetch:H.value.refetch})})};_=Array.isArray(_)?_:[_];let q=!1;for(let $ of _)$.subscribe(()=>{if(_5)return;if(q)Q();else P1(H,()=>{let G=setTimeout(()=>{if(!q)Q(),q=!0},0);return()=>{H.off(),$.off(),clearTimeout(G)}})});return H};var Y5={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},X5=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,V6={true:!0,false:!1,null:null,undefined:void 0,nan:Number.NaN,infinity:Number.POSITIVE_INFINITY,"-infinity":Number.NEGATIVE_INFINITY},J5=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function H5(_){return _ instanceof Date&&!isNaN(_.getTime())}function Q5(_){let Y=J5.exec(_);if(!Y)return null;let[,X,J,H,Q,q,$,G,W,L,V]=Y,E=new Date(Date.UTC(parseInt(X,10),parseInt(J,10)-1,parseInt(H,10),parseInt(Q,10),parseInt(q,10),parseInt($,10),G?parseInt(G.padEnd(3,"0"),10):0));if(W){let N=(parseInt(L,10)*60+parseInt(V,10))*(W==="+"?-1:1);E.setUTCMinutes(E.getUTCMinutes()+N)}return H5(E)?E:null}function q5(_,Y={}){let{strict:X=!1,warnings:J=!1,reviver:H,parseDates:Q=!0}=Y;if(typeof _!=="string")return _;let q=_.trim();if(q.length>0&&q[0]==='"'&&q.endsWith('"')&&!q.slice(1,-1).includes('"'))return q.slice(1,-1);let $=q.toLowerCase();if($.length<=9&&$ in V6)return V6[$];if(!X5.test(q)){if(X)throw SyntaxError("[better-json] Invalid JSON");return _}if(Object.entries(Y5).some(([W,L])=>{let V=L.test(q);if(V&&J)console.warn(`[better-json] Detected potential prototype pollution attempt using ${W} pattern`);return V})&&X)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(q,(L,V)=>{if(L==="__proto__"||L==="constructor"&&V&&typeof V==="object"&&"prototype"in V){if(J)console.warn(`[better-json] Dropping "${L}" key to prevent prototype pollution`);return}if(Q&&typeof V==="string"){let E=Q5(V);if(E)return E}return H?H(L,V):V})}catch(W){if(X)throw W;return _}}function U6(_,Y={strict:!0}){return q5(_,Y)}var $5={id:"redirect",name:"Redirect",hooks:{onSuccess(_){if(_.data?.url&&_.data?.redirect){if(typeof window<"u"&&window.location){if(window.location)try{window.location.href=_.data.url}catch{}}}}}};function G5(_){let Y=R2(!1);return{session:Z2(Y,"/get-session",_,{method:"GET"}),$sessionSignal:Y}}var E6=(_,Y)=>{let X="credentials"in Request.prototype,J=B6(_?.baseURL,_?.basePath,void 0,Y)??"/api/auth",H=_?.plugins?.flatMap((K)=>K.fetchPlugins).filter((K)=>K!==void 0)||[],Q={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:_?.fetchOptions?.onSuccess,onError:_?.fetchOptions?.onError,onRequest:_?.fetchOptions?.onRequest,onResponse:_?.fetchOptions?.onResponse}},{onSuccess:q,onError:$,onRequest:G,onResponse:W,...L}=_?.fetchOptions||{},V=L6({baseURL:J,...X?{credentials:"include"}:{},method:"GET",jsonParser(K){if(!K)return null;return U6(K,{strict:!1})},customFetchImpl:fetch,...L,plugins:[Q,...L.plugins||[],..._?.disableDefaultFetchPlugins?[]:[$5],...H]}),{$sessionSignal:E,session:N}=G5(V),v=_?.plugins||[],Z={},S={$sessionSignal:E,session:N},O={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},c=[{signal:"$sessionSignal",matcher(K){return K==="/sign-out"||K==="/update-user"||K.startsWith("/sign-in")||K.startsWith("/sign-up")||K==="/delete-user"||K==="/verify-email"}}];for(let K of v){if(K.getAtoms)Object.assign(S,K.getAtoms?.(V));if(K.pathMethods)Object.assign(O,K.pathMethods);if(K.atomListeners)c.push(...K.atomListeners)}let u={notify:(K)=>{S[K].set(!S[K].get())},listen:(K,d)=>{S[K].subscribe(d)},atoms:S};for(let K of v)if(K.getActions)Object.assign(Z,K.getActions?.(V,u,_));return{get baseURL(){return J},pluginsActions:Z,pluginsAtoms:S,pluginPathMethods:O,atomListeners:c,$fetch:V,$store:u}};function W5(_){return typeof _==="object"&&_!==null&&"get"in _&&typeof _.get==="function"&&"lc"in _&&typeof _.lc==="number"}function L5(_,Y,X){let J=Y[_],{fetchOptions:H,query:Q,...q}=X||{};if(J)return J;if(H?.method)return H.method;if(q&&Object.keys(q).length>0)return"POST";return"GET"}function F6(_,Y,X,J,H){function Q(q=[]){return new Proxy(function(){},{get($,G){if(typeof G!=="string")return;if(G==="then"||G==="catch"||G==="finally")return;let W=[...q,G],L=_;for(let V of W)if(L&&typeof L==="object"&&V in L)L=L[V];else{L=void 0;break}if(typeof L==="function")return L;if(W5(L))return L;return Q(W)},apply:async($,G,W)=>{let L="/"+q.map((c)=>c.replace(/[A-Z]/g,(u)=>`-${u.toLowerCase()}`)).join("/"),V=W[0]||{},E=W[1]||{},{query:N,fetchOptions:v,...Z}=V,S={...E,...v},O=L5(L,X,V);return await Y(L,{...S,body:O==="GET"?void 0:{...Z,...S?.body||{}},query:N||S?.query,method:O,async onSuccess(c){await S?.onSuccess?.(c);let u=H?.find((M)=>M.matcher(L));if(!u)return;let K=J[u.signal];if(!K)return;let d=K.get();setTimeout(()=>{K.set(!d)},10)}})}})}return Q()}function R6(_){return _.charAt(0).toUpperCase()+_.slice(1)}function k1(_){let{pluginPathMethods:Y,pluginsActions:X,pluginsAtoms:J,$fetch:H,atomListeners:Q,$store:q}=E6(_),$={};for(let[L,V]of Object.entries(J))$[`use${R6(L)}`]=V;let G={...X,...$,$fetch:H,$store:q};return F6(G,H,Y,J,Q)}function B5(_){return{authorize(Y,X="AND"){let J=!1;for(let[H,Q]of Object.entries(Y)){let q=_[H];if(!q)return{success:!1,error:`You are not allowed to access resource: ${H}`};if(Array.isArray(Q))J=Q.every(($)=>q.includes($));else if(typeof Q==="object"){let $=Q;if($.connector==="OR")J=$.actions.some((G)=>q.includes(G));else J=$.actions.every((G)=>q.includes(G))}else throw new J2("Invalid access control request");if(J&&X==="OR")return{success:J};if(!J&&X==="AND")return{success:!1,error:`unauthorized to access resource "${H}"`}}if(J)return{success:J};return{success:!1,error:"Not authorized"}},statements:_}}function x2(_){return{newRole(Y){return B5(Y)},statements:_}}var M5={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]},C1=x2(M5),V5=C1.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"],team:["create","update","delete"],ac:["create","read","update","delete"]}),U5=C1.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]}),E5=C1.newRole({organization:[],member:[],invitation:[],team:[],ac:["read"]});class D6{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let Y=Error("Cancelling existing WebAuthn API call for new one");Y.name="AbortError",this.controller.abort(Y)}let _=new AbortController;return this.controller=_,_.signal}cancelCeremony(){if(this.controller){let _=Error("Manually cancelling existing WebAuthn API call");_.name="AbortError",this.controller.abort(_),this.controller=void 0}}}var j6=new D6;var D5={user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]},N6=x2(D5),j5=N6.newRole({user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]}),N5=N6.newRole({user:[],session:[]});var v1=()=>{return{id:"device-authorization",$InferServerPlugin:{},pathMethods:{"/device/code":"POST","/device/token":"POST","/device":"GET","/device/approve":"POST","/device/deny":"POST"}}};function A5(){return"https://agentlogs.ai"}var H2=k1({baseURL:A5(),plugins:[v1()]});async function A6(){console.log("\uD83D\uDD10 AgentLogs Device Authorization"),console.log("⏳ Requesting device authorization...");try{let{data:_,error:Y}=await H2.device.code({client_id:"agentlogs-cli",scope:"openid profile email"});if(Y||!_)console.error("❌ Error:",Y?.error_description||"Failed to request device code"),process.exit(1);let{device_code:X,user_code:J,verification_uri:H,verification_uri_complete:Q,interval:q=5}=_;console.log(`
|
|
44
|
-
\uD83D\uDCF1 Device Authorization in Progress`),console.log(`Please visit: ${
|
|
45
|
-
`);let
|
|
46
|
-
✅ Authorization Successful!`),console.log("\uD83D\uDD11 Access token received!");let{data
|
|
42
|
+
${J}`,_=[{regex:/(\s--message=)"([^"]*)"/,quote:'"',equalsForm:!0},{regex:/(\s--message=)'([^']*)'/,quote:"'",equalsForm:!0},{regex:/(\s(?:-m|--message|-am))\s+"([^"]*)"/,quote:'"',equalsForm:!1},{regex:/(\s(?:-m|--message|-am))\s+'([^']*)'/,quote:"'",equalsForm:!1}];for(let{regex:H,quote:G,equalsForm:W}of _){let q=X.match(H);if(q){let $=q[1],B=q[2];if(W)return X.replace(H,`${$}${G}${B}${Q}${G}`);return X.replace(H,`${$} ${G}${B}${Q}${G}`)}}return X}function f6(X){if(typeof X.repo_path==="string")return X.repo_path;if(typeof X.cwd==="string")return X.cwd;return""}async function O6(X){let Y=J0(),J=process.env.VI_SERVER_URL??process.env.VIBEINSIGHTS_BASE_URL??Y.baseURL??"http://localhost:3000",Q=_0();if(!Q){c.warn("Commit tracking skipped: no auth token. Run 'agentlogs login' first.",{sessionId:X.sessionId.substring(0,8)});return}try{let _=new AbortController,H=setTimeout(()=>_.abort(),5000),G=await fetch(new URL("/api/commit-track",J),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Q}`},body:JSON.stringify({session_id:X.sessionId,repo_path:X.repoPath,timestamp:X.timestamp}),signal:_.signal});if(clearTimeout(H),!G.ok){c.warn("Commit tracking request failed",{sessionId:X.sessionId.substring(0,8),status:G.status});return}c.info("Commit tracking recorded",{sessionId:X.sessionId.substring(0,8),repoPath:X.repoPath})}catch(_){if(_ instanceof Error&&_.name==="AbortError"){c.warn("Commit tracking request timed out after 5s",{sessionId:X.sessionId.substring(0,8)});return}c.error("Commit tracking request error",{sessionId:X.sessionId.substring(0,8),error:_ instanceof Error?_.message:String(_)})}}async function P6(X){if(!X.transcriptPath){c.warn("Commit tracking transcript upload skipped: missing transcript_path",{sessionId:X.sessionId.substring(0,8)});return}let Y=J0(),J=process.env.VI_SERVER_URL??process.env.VIBEINSIGHTS_BASE_URL??Y.baseURL??"http://localhost:3000",Q=_0();if(!Q){c.warn("Commit tracking transcript upload skipped: no auth token. Run 'agentlogs login' first.",{sessionId:X.sessionId.substring(0,8)});return}let _={};if(J)_.serverUrl=J;_.authToken=Q;try{let H=await k0({transcriptPath:X.transcriptPath,sessionId:X.sessionId,cwdOverride:X.cwd},_);if(H.success)c.info("Commit tracking: uploaded partial transcript",{transcriptId:H.transcriptId,sessionId:X.sessionId.substring(0,8),eventCount:H.eventCount});else c.error("Commit tracking: transcript upload failed",{sessionId:X.sessionId.substring(0,8)})}catch(H){c.error("Commit tracking: transcript upload error",{sessionId:X.sessionId.substring(0,8),error:H instanceof Error?H.message:String(H)})}}import d5 from"node:process";import{Buffer as j4}from"node:buffer";import R4 from"node:path";import{fileURLToPath as XQ}from"node:url";import{promisify as YQ}from"node:util";import z4 from"node:child_process";import JQ,{constants as QQ}from"node:fs/promises";import D4 from"node:process";import E4,{constants as v6}from"node:fs/promises";import K4 from"node:process";import Z6 from"node:os";import x6 from"node:fs";import T6 from"node:fs";import B4 from"node:fs";var Z5;function k6(){try{return B4.statSync("/.dockerenv"),!0}catch{return!1}}function b6(){try{return B4.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function x5(){if(Z5===void 0)Z5=k6()||b6();return Z5}var v5,C6=()=>{try{return T6.statSync("/run/.containerenv"),!0}catch{return!1}};function q1(){if(v5===void 0)v5=C6()||x5();return v5}var L4=()=>{if(K4.platform!=="linux")return!1;if(Z6.release().toLowerCase().includes("microsoft")){if(q1())return!1;return!0}try{return x6.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!q1():!1}catch{return!1}},b0=K4.env.__IS_WSL_TEST__?L4:L4();var y6=(()=>{let Y;return async function(){if(Y)return Y;let J="/etc/wsl.conf",Q=!1;try{await E4.access(J,v6.F_OK),Q=!0}catch{}if(!Q)return"/mnt/";let _=await E4.readFile(J,{encoding:"utf8"}),H=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(_);if(!H)return"/mnt/";return Y=H.groups.mountPoint.trim(),Y=Y.endsWith("/")?Y:`${Y}/`,Y}})(),h6=async()=>{return`${await y6()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},y5=async()=>{if(b0)return h6();return`${D4.env.SYSTEMROOT||D4.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`};function T0(X,Y,J){let Q=(_)=>Object.defineProperty(X,Y,{value:_,enumerable:!0,writable:!0});return Object.defineProperty(X,Y,{configurable:!0,enumerable:!0,get(){let _=J();return Q(_),_},set(_){Q(_)}}),X}import{promisify as s6}from"node:util";import u5 from"node:process";import{execFile as a6}from"node:child_process";import{promisify as g6}from"node:util";import m6 from"node:process";import{execFile as c6}from"node:child_process";var u6=g6(c6);async function h5(){if(m6.platform!=="darwin")throw Error("macOS only");let{stdout:X}=await u6("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),J=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(X)?.groups.id??"com.apple.Safari";if(J==="com.apple.safari")return"com.apple.Safari";return J}import l6 from"node:process";import{promisify as d6}from"node:util";import{execFile as p6,execFileSync as b3}from"node:child_process";var i6=d6(p6);async function V4(X,{humanReadableOutput:Y=!0,signal:J}={}){if(l6.platform!=="darwin")throw Error("macOS only");let Q=Y?[]:["-ss"],_={};if(J)_.signal=J;let{stdout:H}=await i6("osascript",["-e",X,Q],_);return H.trim()}async function g5(X){return V4(`tell application "Finder" to set app_path to application file id "${X}" as string
|
|
43
|
+
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}import{promisify as n6}from"node:util";import{execFile as r6}from"node:child_process";var o6=n6(r6),F4={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},y3=new Map(Object.entries(F4));class m5 extends Error{}async function c5(X=o6){let{stdout:Y}=await X("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),J=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(Y);if(!J)throw new m5(`Cannot find Windows browser in stdout: ${JSON.stringify(Y)}`);let{id:Q}=J.groups,_=F4[Q];if(!_)throw new m5(`Unknown browser ID: ${Q}`);return _}var t6=s6(a6),e6=(X)=>X.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(Y)=>Y.toUpperCase());async function l5(){if(u5.platform==="darwin"){let X=await h5();return{name:await g5(X),id:X}}if(u5.platform==="linux"){let{stdout:X}=await t6("xdg-mime",["query","default","x-scheme-handler/http"]),Y=X.trim();return{name:e6(Y.replace(/.desktop$/,"").replace("-"," ")),id:Y}}if(u5.platform==="win32")return c5();throw Error("Only macOS, Linux, and Windows are supported")}var _Q=YQ(z4.execFile),p5=R4.dirname(XQ(import.meta.url)),U4=R4.join(p5,"xdg-open"),{platform:$1,arch:M4}=d5;async function HQ(){let X=await y5(),Y=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,J=j4.from(Y,"utf16le").toString("base64"),{stdout:Q}=await _Q(X,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",J],{encoding:"utf8"}),_=Q.trim(),H={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return H[_]?{id:H[_]}:{}}var A4=async(X,Y)=>{let J;for(let Q of X)try{return await Y(Q)}catch(_){J=_}throw J},m1=async(X)=>{if(X={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...X},Array.isArray(X.app))return A4(X.app,(W)=>m1({...X,app:W}));let{name:Y,arguments:J=[]}=X.app??{};if(J=[...J],Array.isArray(Y))return A4(Y,(W)=>m1({...X,app:{name:W,arguments:J}}));if(Y==="browser"||Y==="browserPrivate"){let W={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.Browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},q={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},$=b0?await HQ():await l5();if($.id in W){let B=W[$.id];if(Y==="browserPrivate")J.push(q[B]);return m1({...X,app:{name:l0[B],arguments:J}})}throw Error(`${$.name} is not supported as a default browser`)}let Q,_=[],H={};if($1==="darwin"){if(Q="open",X.wait)_.push("--wait-apps");if(X.background)_.push("--background");if(X.newInstance)_.push("--new");if(Y)_.push("-a",Y)}else if($1==="win32"||b0&&!q1()&&!Y){if(Q=await y5(),_.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),!b0)H.windowsVerbatimArguments=!0;let W=["Start"];if(X.wait)W.push("-Wait");if(Y){if(W.push(`"\`"${Y}\`""`),X.target)J.push(X.target)}else if(X.target)W.push(`"${X.target}"`);if(J.length>0)J=J.map((q)=>`"\`"${q}\`""`),W.push("-ArgumentList",J.join(","));X.target=j4.from(W.join(" "),"utf16le").toString("base64")}else{if(Y)Q=Y;else{let W=!p5||p5==="/",q=!1;try{await JQ.access(U4,QQ.X_OK),q=!0}catch{}Q=d5.versions.electron??($1==="android"||W||!q)?"xdg-open":U4}if(J.length>0)_.push(...J);if(!X.wait)H.stdio="ignore",H.detached=!0}if($1==="darwin"&&J.length>0)_.push("--args",...J);if(X.target)_.push(X.target);let G=z4.spawn(Q,_,H);if(X.wait)return new Promise((W,q)=>{G.once("error",q),G.once("close",($)=>{if(!X.allowNonzeroExitCode&&$>0){q(Error(`Exited with code ${$}`));return}W(G)})});return G.unref(),G},GQ=(X,Y)=>{if(typeof X!=="string")throw TypeError("Expected a `target`");return m1({...Y,target:X})};function N4(X){if(typeof X==="string"||Array.isArray(X))return X;let{[M4]:Y}=X;if(!Y)throw Error(`${M4} is not supported`);return Y}function c1({[$1]:X},{wsl:Y}){if(Y&&b0)return N4(Y);if(!X)throw Error(`${$1} is not supported`);return N4(X)}var l0={};T0(l0,"chrome",()=>c1({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));T0(l0,"brave",()=>c1({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));T0(l0,"firefox",()=>c1({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));T0(l0,"edge",()=>c1({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));T0(l0,"browser",()=>"browser");T0(l0,"browserPrivate",()=>"browserPrivate");var w4=GQ;var u1=Symbol.for("better-auth:broadcast-channel"),WQ=()=>Math.floor(Date.now()/1000),qQ=class{listeners=new Set;name;constructor(X="better-auth.message"){this.name=X}subscribe(X){return this.listeners.add(X),()=>{this.listeners.delete(X)}}post(X){if(typeof window>"u")return;try{localStorage.setItem(this.name,JSON.stringify({...X,timestamp:WQ()}))}catch{}}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let X=(Y)=>{if(Y.key!==this.name)return;let J=JSON.parse(Y.newValue??"{}");if(J?.event!=="session"||!J?.data)return;this.listeners.forEach((Q)=>Q(J))};return window.addEventListener("storage",X),()=>{window.removeEventListener("storage",X)}}};function w1(X="better-auth.message"){if(!globalThis[u1])globalThis[u1]=new qQ(X);return globalThis[u1]}var l1=Symbol.for("better-auth:focus-manager"),$Q=class{listeners=new Set;subscribe(X){return this.listeners.add(X),()=>{this.listeners.delete(X)}}setFocused(X){this.listeners.forEach((Y)=>Y(X))}setup(){if(typeof window>"u"||typeof document>"u"||typeof window.addEventListener>"u")return()=>{};let X=()=>{if(document.visibilityState==="visible")this.setFocused(!0)};return document.addEventListener("visibilitychange",X,!1),()=>{document.removeEventListener("visibilitychange",X,!1)}}};function i5(){if(!globalThis[l1])globalThis[l1]=new $Q;return globalThis[l1]}var d1=Symbol.for("better-auth:online-manager"),BQ=class{listeners=new Set;isOnline=typeof navigator<"u"?navigator.onLine:!0;subscribe(X){return this.listeners.add(X),()=>{this.listeners.delete(X)}}setOnline(X){this.isOnline=X,this.listeners.forEach((Y)=>Y(X))}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let X=()=>this.setOnline(!0),Y=()=>this.setOnline(!1);return window.addEventListener("online",X,!1),window.addEventListener("offline",Y,!1),()=>{window.removeEventListener("online",X,!1),window.removeEventListener("offline",Y,!1)}}};function p1(){if(!globalThis[d1])globalThis[d1]=new BQ;return globalThis[d1]}var B0=[],C0=0,i1=4,LQ=0,S1=(X)=>{let Y=[],J={get(){if(!J.lc)J.listen(()=>{})();return J.value},lc:0,listen(Q){return J.lc=Y.push(Q),()=>{for(let H=C0+i1;H<B0.length;)if(B0[H]===Q)B0.splice(H,i1);else H+=i1;let _=Y.indexOf(Q);if(~_){if(Y.splice(_,1),!--J.lc)J.off()}}},notify(Q,_){LQ++;let H=!B0.length;for(let G of Y)B0.push(G,J.value,Q,_);if(H){for(C0=0;C0<B0.length;C0+=i1)B0[C0](B0[C0+1],B0[C0+2],B0[C0+3]);B0.length=0}},off(){},set(Q){let _=J.value;if(_!==Q)J.value=Q,J.notify(_)},subscribe(Q){let _=J.listen(Q);return Q(J.value),_},value:X};return J};var KQ=5,n1=6,r1=10,DQ=(X,Y,J,Q)=>{if(X.events=X.events||{},!X.events[J+r1])X.events[J+r1]=Q((_)=>{X.events[J].reduceRight((H,G)=>(G(H),H),{shared:{},..._})});return X.events[J]=X.events[J]||[],X.events[J].push(Y),()=>{let _=X.events[J],H=_.indexOf(Y);if(_.splice(H,1),!_.length)delete X.events[J],X.events[J+r1](),delete X.events[J+r1]}};var S4=1000,I1=(X,Y)=>{return DQ(X,(Q)=>{let _=Y(Q);if(_)X.events[n1].push(_)},KQ,(Q)=>{let _=X.listen;X.listen=(...G)=>{if(!X.lc&&!X.active)X.active=!0,Q();return _(...G)};let H=X.off;return X.events[n1]=[],X.off=()=>{H(),setTimeout(()=>{if(X.active&&!X.lc){X.active=!1;for(let G of X.events[n1])G();X.events[n1]=[]}},S4)},()=>{X.listen=_,X.off=H}})};var EQ=()=>typeof window>"u",o1=(X,Y,J,Q)=>{let _=S1({data:null,error:null,isPending:!0,isRefetching:!1,refetch:(W)=>H(W)}),H=async(W)=>{return new Promise((q)=>{let $=typeof Q==="function"?Q({data:_.get().data,error:_.get().error,isPending:_.get().isPending}):Q;J(Y,{...$,query:{...$?.query,...W?.query},async onSuccess(B){_.set({data:B.data,error:null,isPending:!1,isRefetching:!1,refetch:_.value.refetch}),await $?.onSuccess?.(B)},async onError(B){let{request:D}=B,V=typeof D.retry==="number"?D.retry:D.retry?.attempts,j=D.retryAttempt||0;if(V&&j<V)return;_.set({error:B.error,data:null,isPending:!1,isRefetching:!1,refetch:_.value.refetch}),await $?.onError?.(B)},async onRequest(B){let D=_.get();_.set({isPending:D.data===null,data:D.data,error:null,isRefetching:!0,refetch:_.value.refetch}),await $?.onRequest?.(B)}}).catch((B)=>{_.set({error:B,data:null,isPending:!1,isRefetching:!1,refetch:_.value.refetch})}).finally(()=>{q(void 0)})})};X=Array.isArray(X)?X:[X];let G=!1;for(let W of X)W.subscribe(async()=>{if(EQ())return;if(G)await H();else I1(_,()=>{let q=setTimeout(async()=>{if(!G)await H(),G=!0},0);return()=>{_.off(),W.off(),clearTimeout(q)}})});return _};var B1=()=>Math.floor(Date.now()/1000),VQ=5;function n5(X){let{sessionAtom:Y,sessionSignal:J,$fetch:Q,options:_={}}=X,H=_.sessionOptions?.refetchInterval??0,G=_.sessionOptions?.refetchOnWindowFocus??!0,W=_.sessionOptions?.refetchWhenOffline??!1,q={lastSync:0,lastSessionRequest:0,cachedSession:void 0},$=()=>{return W||p1().isOnline},B=(O)=>{if(!$())return;if(O?.event==="storage"){q.lastSync=B1(),J.set(!J.get());return}let l=Y.get();if(O?.event==="poll"){q.lastSessionRequest=B1(),Q("/get-session").then((A)=>{if(A.error)Y.set({...l,data:null,error:A.error});else Y.set({...l,data:A.data,error:null});q.lastSync=B1(),J.set(!J.get())}).catch(()=>{});return}if(O?.event==="visibilitychange"){if(B1()-q.lastSessionRequest<VQ)return;q.lastSessionRequest=B1()}if(l?.data===null||l?.data===void 0||O?.event==="visibilitychange")q.lastSync=B1(),J.set(!J.get())},D=(O)=>{w1().post({event:"session",data:{trigger:O},clientId:Math.random().toString(36).substring(7)})},V=()=>{if(H&&H>0)q.pollInterval=setInterval(()=>{if(Y.get()?.data)B({event:"poll"})},H*1000)},j=()=>{q.unsubscribeBroadcast=w1().subscribe(()=>{B({event:"storage"})})},T=()=>{if(!G)return;q.unsubscribeFocus=i5().subscribe(()=>{B({event:"visibilitychange"})})},g=()=>{q.unsubscribeOnline=p1().subscribe((O)=>{if(O)B({event:"visibilitychange"})})};return{init:()=>{V(),j(),T(),g(),w1().setup(),i5().setup(),p1().setup()},cleanup:()=>{if(q.pollInterval)clearInterval(q.pollInterval),q.pollInterval=void 0;if(q.unsubscribeBroadcast)q.unsubscribeBroadcast(),q.unsubscribeBroadcast=void 0;if(q.unsubscribeFocus)q.unsubscribeFocus(),q.unsubscribeFocus=void 0;if(q.unsubscribeOnline)q.unsubscribeOnline(),q.unsubscribeOnline=void 0;q.lastSync=0,q.lastSessionRequest=0,q.cachedSession=void 0},triggerRefetch:B,broadcastSessionUpdate:D}}var s1=Object.create(null),f1=(X)=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(X?s1:globalThis),Y0=new Proxy(s1,{get(X,Y){return f1()[Y]??s1[Y]},has(X,Y){return Y in f1()||Y in s1},set(X,Y,J){let Q=f1(!0);return Q[Y]=J,!0},deleteProperty(X,Y){if(!Y)return!1;let J=f1(!0);return delete J[Y],!0},ownKeys(){let X=f1(!0);return Object.keys(X)}});var FQ=typeof process<"u"&&process.env&&"production"||"";function u(X,Y){if(typeof process<"u"&&process.env)return process.env[X]??Y;if(typeof Deno<"u")return Deno.env.get(X)??Y;if(typeof Bun<"u")return Bun.env[X]??Y;return Y}var UQ=Object.freeze({get BETTER_AUTH_SECRET(){return u("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return u("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return u("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return u("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return u("NODE_ENV","development")},get PACKAGE_VERSION(){return u("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return u("BETTER_AUTH_TELEMETRY_ENDPOINT","https://telemetry.better-auth.com/v1/track")}}),O1=1,n=4,U0=8,Q0=24,I4={eterm:n,cons25:n,console:n,cygwin:n,dtterm:n,gnome:n,hurd:n,jfbterm:n,konsole:n,kterm:n,mlterm:n,mosh:Q0,putty:n,st:n,"rxvt-unicode-24bit":Q0,terminator:Q0,"xterm-kitty":Q0},MQ=new Map(Object.entries({APPVEYOR:U0,BUILDKITE:U0,CIRCLECI:Q0,DRONE:U0,GITEA_ACTIONS:Q0,GITHUB_ACTIONS:Q0,GITLAB_CI:U0,TRAVIS:U0})),AQ=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];function f4(){if(u("FORCE_COLOR")!==void 0)switch(u("FORCE_COLOR")){case"":case"1":case"true":return n;case"2":return U0;case"3":return Q0;default:return O1}if(u("NODE_DISABLE_COLORS")!==void 0&&u("NODE_DISABLE_COLORS")!==""||u("NO_COLOR")!==void 0&&u("NO_COLOR")!==""||u("TERM")==="dumb")return O1;if(u("TMUX"))return Q0;if("TF_BUILD"in Y0&&"AGENT_NAME"in Y0)return n;if("CI"in Y0){for(let{0:X,1:Y}of MQ)if(X in Y0)return Y;if(u("CI_NAME")==="codeship")return U0;return O1}if("TEAMCITY_VERSION"in Y0)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec(u("TEAMCITY_VERSION"))!==null?n:O1;switch(u("TERM_PROGRAM")){case"iTerm.app":if(!u("TERM_PROGRAM_VERSION")||/^[0-2]\./.exec(u("TERM_PROGRAM_VERSION"))!==null)return U0;return Q0;case"HyperTerm":case"MacTerm":return Q0;case"Apple_Terminal":return U0}if(u("COLORTERM")==="truecolor"||u("COLORTERM")==="24bit")return Q0;if(u("TERM")){if(/truecolor/.exec(u("TERM"))!==null)return Q0;if(/^xterm-256/.exec(u("TERM"))!==null)return U0;let X=u("TERM").toLowerCase();if(I4[X])return I4[X];if(AQ.some((Y)=>Y.exec(X)!==null))return n}if(u("COLORTERM"))return n;return O1}var L0={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",undim:"\x1B[22m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},a1=["debug","info","success","warn","error"];function O4(X,Y){return a1.indexOf(Y)>=a1.indexOf(X)}var NQ={info:L0.fg.blue,success:L0.fg.green,warn:L0.fg.yellow,error:L0.fg.red,debug:L0.fg.magenta},jQ=(X,Y,J)=>{let Q=new Date().toISOString();if(J)return`${L0.dim}${Q}${L0.reset} ${NQ[X]}${X.toUpperCase()}${L0.reset} ${L0.bright}[Better Auth]:${L0.reset} ${Y}`;return`${Q} ${X.toUpperCase()} [Better Auth]: ${Y}`},P4=(X)=>{let Y=X?.disabled!==!0,J=X?.level??"error",Q=X?.disableColors!==void 0?!X.disableColors:f4()!==1,_=(H,G,W=[])=>{if(!Y||!O4(J,H))return;let q=jQ(H,G,Q);if(!X||typeof X.log!=="function"){if(H==="error")console.error(q,...W);else if(H==="warn")console.warn(q,...W);else console.log(q,...W);return}X.log(H==="success"?"info":H,G,...W)};return{...Object.fromEntries(a1.map((H)=>[H,(...[G,...W])=>_(H,G,W)])),get level(){return J}}},k4=P4();function r5(X){return X}function o5(X){return X.charAt(0).toUpperCase()+X.slice(1)}var RQ=r5({USER_NOT_FOUND:"User not found",FAILED_TO_CREATE_USER:"Failed to create user",FAILED_TO_CREATE_SESSION:"Failed to create session",FAILED_TO_UPDATE_USER:"Failed to update user",FAILED_TO_GET_SESSION:"Failed to get session",INVALID_PASSWORD:"Invalid password",INVALID_EMAIL:"Invalid email",INVALID_EMAIL_OR_PASSWORD:"Invalid email or password",SOCIAL_ACCOUNT_ALREADY_LINKED:"Social account already linked",PROVIDER_NOT_FOUND:"Provider not found",INVALID_TOKEN:"Invalid token",ID_TOKEN_NOT_SUPPORTED:"id_token not supported",FAILED_TO_GET_USER_INFO:"Failed to get user info",USER_EMAIL_NOT_FOUND:"User email not found",EMAIL_NOT_VERIFIED:"Email not verified",PASSWORD_TOO_SHORT:"Password too short",PASSWORD_TOO_LONG:"Password too long",USER_ALREADY_EXISTS:"User already exists.",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"User already exists. Use another email.",EMAIL_CAN_NOT_BE_UPDATED:"Email can not be updated",CREDENTIAL_ACCOUNT_NOT_FOUND:"Credential account not found",SESSION_EXPIRED:"Session expired. Re-authenticate to perform this action.",FAILED_TO_UNLINK_LAST_ACCOUNT:"You can't unlink your last account",ACCOUNT_NOT_FOUND:"Account not found",USER_ALREADY_HAS_PASSWORD:"User already has a password. Provide that to delete the account.",CROSS_SITE_NAVIGATION_LOGIN_BLOCKED:"Cross-site navigation login blocked. This request appears to be a CSRF attack.",VERIFICATION_EMAIL_NOT_ENABLED:"Verification email isn't enabled",EMAIL_ALREADY_VERIFIED:"Email is already verified",EMAIL_MISMATCH:"Email mismatch",SESSION_NOT_FRESH:"Session is not fresh",LINKED_ACCOUNT_ALREADY_EXISTS:"Linked account already exists",INVALID_ORIGIN:"Invalid origin",INVALID_CALLBACK_URL:"Invalid callbackURL",INVALID_REDIRECT_URL:"Invalid redirectURL",INVALID_ERROR_CALLBACK_URL:"Invalid errorCallbackURL",INVALID_NEW_USER_CALLBACK_URL:"Invalid newUserCallbackURL",MISSING_OR_NULL_ORIGIN:"Missing or null Origin",CALLBACK_URL_REQUIRED:"callbackURL is required",FAILED_TO_CREATE_VERIFICATION:"Unable to create verification",FIELD_NOT_ALLOWED:"Field not allowed to be set",ASYNC_VALIDATION_NOT_SUPPORTED:"Async validation is not supported",VALIDATION_ERROR:"Validation Error",MISSING_FIELD:"Field is required"}),w0=class extends Error{constructor(X,Y){super(X);this.name="BetterAuthError",this.message=X,this.cause=Y,this.stack=""}};function zQ(X){try{return(new URL(X).pathname.replace(/\/+$/,"")||"/")!=="/"}catch{throw new w0(`Invalid base URL: ${X}. Please provide a valid base URL.`)}}function wQ(X){try{let Y=new URL(X);if(Y.protocol!=="http:"&&Y.protocol!=="https:")throw new w0(`Invalid base URL: ${X}. URL must include 'http://' or 'https://'`)}catch(Y){if(Y instanceof w0)throw Y;throw new w0(`Invalid base URL: ${X}. Please provide a valid base URL.`,String(Y))}}function P1(X,Y="/api/auth"){if(wQ(X),zQ(X))return X;let J=X.replace(/\/+$/,"");if(!Y||Y==="/")return J;return Y=Y.startsWith("/")?Y:`/${Y}`,`${J}${Y}`}function b4(X,Y){if(!X||X.trim()==="")return!1;if(Y==="proto")return X==="http"||X==="https";if(Y==="host"){if([/\.\./,/\0/,/[\s]/,/^[.]/,/[<>'"]/,/javascript:/i,/file:/i,/data:/i].some((J)=>J.test(X)))return!1;return/^[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])?)*(:[0-9]{1,5})?$/.test(X)||/^(\d{1,3}\.){3}\d{1,3}(:[0-9]{1,5})?$/.test(X)||/^\[[0-9a-fA-F:]+\](:[0-9]{1,5})?$/.test(X)||/^localhost(:[0-9]{1,5})?$/i.test(X)}return!1}function T4(X,Y,J,Q,_){if(X)return P1(X,Y);if(Q!==!1){let W=Y0.BETTER_AUTH_URL||Y0.NEXT_PUBLIC_BETTER_AUTH_URL||Y0.PUBLIC_BETTER_AUTH_URL||Y0.NUXT_PUBLIC_BETTER_AUTH_URL||Y0.NUXT_PUBLIC_AUTH_URL||(Y0.BASE_URL!=="/"?Y0.BASE_URL:void 0);if(W)return P1(W,Y)}let H=J?.headers.get("x-forwarded-host"),G=J?.headers.get("x-forwarded-proto");if(H&&G&&_){if(b4(G,"proto")&&b4(H,"host"))try{return P1(`${G}://${H}`,Y)}catch(W){}}if(J){let W=SQ(J.url);if(!W)throw new w0("Could not get origin from request. Please provide a valid base URL.");return P1(W,Y)}if(typeof window<"u"&&window.location)return P1(window.location.origin,Y)}function SQ(X){try{let Y=new URL(X);return Y.origin==="null"?null:Y.origin}catch{return null}}var C4={id:"redirect",name:"Redirect",hooks:{onSuccess(X){if(X.data?.url&&X.data?.redirect){if(typeof window<"u"&&window.location){if(window.location)try{window.location.href=X.data.url}catch{}}}}}};var IQ={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},fQ=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,Z4={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:Number.POSITIVE_INFINITY,"-infinity":Number.NEGATIVE_INFINITY},OQ=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function PQ(X){return X instanceof Date&&!isNaN(X.getTime())}function kQ(X){let Y=OQ.exec(X);if(!Y)return null;let[,J,Q,_,H,G,W,q,$,B,D]=Y,V=new Date(Date.UTC(parseInt(J,10),parseInt(Q,10)-1,parseInt(_,10),parseInt(H,10),parseInt(G,10),parseInt(W,10),q?parseInt(q.padEnd(3,"0"),10):0));if($){let j=(parseInt(B,10)*60+parseInt(D,10))*($==="+"?-1:1);V.setUTCMinutes(V.getUTCMinutes()+j)}return PQ(V)?V:null}function bQ(X,Y={}){let{strict:J=!1,warnings:Q=!1,reviver:_,parseDates:H=!0}=Y;if(typeof X!=="string")return X;let G=X.trim();if(G.length>0&&G[0]==='"'&&G.endsWith('"')&&!G.slice(1,-1).includes('"'))return G.slice(1,-1);let W=G.toLowerCase();if(W.length<=9&&W in Z4)return Z4[W];if(!fQ.test(G)){if(J)throw SyntaxError("[better-json] Invalid JSON");return X}if(Object.entries(IQ).some(([q,$])=>{let B=$.test(G);if(B&&Q)console.warn(`[better-json] Detected potential prototype pollution attempt using ${q} pattern`);return B})&&J)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(G,($,B)=>{if($==="__proto__"||$==="constructor"&&B&&typeof B==="object"&&"prototype"in B){if(Q)console.warn(`[better-json] Dropping "${$}" key to prevent prototype pollution`);return}if(H&&typeof B==="string"){let D=kQ(B);if(D)return D}return _?_($,B):B})}catch(q){if(J)throw q;return X}}function x4(X,Y={strict:!0}){return bQ(X,Y)}function v4(X,Y){let J=S1(!1),Q=o1(J,"/get-session",X,{method:"GET"});return I1(Q,()=>{let _=n5({sessionAtom:Q,sessionSignal:J,$fetch:X,options:Y});return _.init(),()=>{_.cleanup()}}),{session:Q,$sessionSignal:J}}var{defineProperty:TQ,defineProperties:CQ,getOwnPropertyDescriptors:ZQ,getOwnPropertySymbols:y4}=Object,xQ=Object.prototype.hasOwnProperty,vQ=Object.prototype.propertyIsEnumerable,h4=(X,Y,J)=>(Y in X)?TQ(X,Y,{enumerable:!0,configurable:!0,writable:!0,value:J}):X[Y]=J,K0=(X,Y)=>{for(var J in Y||(Y={}))if(xQ.call(Y,J))h4(X,J,Y[J]);if(y4){for(var J of y4(Y))if(vQ.call(Y,J))h4(X,J,Y[J])}return X},M0=(X,Y)=>CQ(X,ZQ(Y)),yQ=class extends Error{constructor(X,Y,J){super(Y||X.toString(),{cause:J});this.status=X,this.statusText=Y,this.error=J,Error.captureStackTrace(this,this.constructor)}},hQ=async(X,Y)=>{var J,Q,_,H,G,W;let q=Y||{},$={onRequest:[Y==null?void 0:Y.onRequest],onResponse:[Y==null?void 0:Y.onResponse],onSuccess:[Y==null?void 0:Y.onSuccess],onError:[Y==null?void 0:Y.onError],onRetry:[Y==null?void 0:Y.onRetry]};if(!Y||!(Y==null?void 0:Y.plugins))return{url:X,options:q,hooks:$};for(let B of(Y==null?void 0:Y.plugins)||[]){if(B.init){let D=await((J=B.init)==null?void 0:J.call(B,X.toString(),Y));q=D.options||q,X=D.url}$.onRequest.push((Q=B.hooks)==null?void 0:Q.onRequest),$.onResponse.push((_=B.hooks)==null?void 0:_.onResponse),$.onSuccess.push((H=B.hooks)==null?void 0:H.onSuccess),$.onError.push((G=B.hooks)==null?void 0:G.onError),$.onRetry.push((W=B.hooks)==null?void 0:W.onRetry)}return{url:X,options:q,hooks:$}},g4=class{constructor(X){this.options=X}shouldAttemptRetry(X,Y){if(this.options.shouldRetry)return Promise.resolve(X<this.options.attempts&&this.options.shouldRetry(Y));return Promise.resolve(X<this.options.attempts)}getDelay(){return this.options.delay}},gQ=class{constructor(X){this.options=X}shouldAttemptRetry(X,Y){if(this.options.shouldRetry)return Promise.resolve(X<this.options.attempts&&this.options.shouldRetry(Y));return Promise.resolve(X<this.options.attempts)}getDelay(X){return Math.min(this.options.maxDelay,this.options.baseDelay*2**X)}};function mQ(X){if(typeof X==="number")return new g4({type:"linear",attempts:X,delay:1000});switch(X.type){case"linear":return new g4(X);case"exponential":return new gQ(X);default:throw Error("Invalid retry strategy")}}var cQ=async(X)=>{let Y={},J=async(Q)=>typeof Q==="function"?await Q():Q;if(X==null?void 0:X.auth){if(X.auth.type==="Bearer"){let Q=await J(X.auth.token);if(!Q)return Y;Y.authorization=`Bearer ${Q}`}else if(X.auth.type==="Basic"){let[Q,_]=await Promise.all([J(X.auth.username),J(X.auth.password)]);if(!Q||!_)return Y;Y.authorization=`Basic ${btoa(`${Q}:${_}`)}`}else if(X.auth.type==="Custom"){let[Q,_]=await Promise.all([J(X.auth.prefix),J(X.auth.value)]);if(!_)return Y;Y.authorization=`${Q!=null?Q:""} ${_}`}}return Y},uQ=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function lQ(X){let Y=X.headers.get("content-type"),J=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!Y)return"json";let Q=Y.split(";").shift()||"";if(uQ.test(Q))return"json";if(J.has(Q)||Q.startsWith("text/"))return"text";return"blob"}function dQ(X){try{return JSON.parse(X),!0}catch(Y){return!1}}function s5(X){if(X===void 0)return!1;let Y=typeof X;if(Y==="string"||Y==="number"||Y==="boolean"||Y===null)return!0;if(Y!=="object")return!1;if(Array.isArray(X))return!0;if(X.buffer)return!1;return X.constructor&&X.constructor.name==="Object"||typeof X.toJSON==="function"}function m4(X){try{return JSON.parse(X)}catch(Y){return X}}function c4(X){return typeof X==="function"}function pQ(X){if(X==null?void 0:X.customFetchImpl)return X.customFetchImpl;if(typeof globalThis<"u"&&c4(globalThis.fetch))return globalThis.fetch;if(typeof window<"u"&&c4(window.fetch))return window.fetch;throw Error("No fetch implementation found")}async function iQ(X){let Y=new Headers(X==null?void 0:X.headers),J=await cQ(X);for(let[Q,_]of Object.entries(J||{}))Y.set(Q,_);if(!Y.has("content-type")){let Q=nQ(X==null?void 0:X.body);if(Q)Y.set("content-type",Q)}return Y}function nQ(X){if(s5(X))return"application/json";return null}function rQ(X){if(!(X==null?void 0:X.body))return null;let Y=new Headers(X==null?void 0:X.headers);if(s5(X.body)&&!Y.has("content-type")){for(let[J,Q]of Object.entries(X==null?void 0:X.body))if(Q instanceof Date)X.body[J]=Q.toISOString();return JSON.stringify(X.body)}if(Y.has("content-type")&&Y.get("content-type")==="application/x-www-form-urlencoded"){if(s5(X.body))return new URLSearchParams(X.body).toString();return X.body}return X.body}function oQ(X,Y){var J;if(Y==null?void 0:Y.method)return Y.method.toUpperCase();if(X.startsWith("@")){let Q=(J=X.split("@")[1])==null?void 0:J.split("/")[0];if(!u4.includes(Q))return(Y==null?void 0:Y.body)?"POST":"GET";return Q.toUpperCase()}return(Y==null?void 0:Y.body)?"POST":"GET"}function sQ(X,Y){let J;if(!(X==null?void 0:X.signal)&&(X==null?void 0:X.timeout))J=setTimeout(()=>Y==null?void 0:Y.abort(),X==null?void 0:X.timeout);return{abortTimeout:J,clearTimeout:()=>{if(J)clearTimeout(J)}}}var aQ=class X extends Error{constructor(Y,J){super(J||JSON.stringify(Y,null,2));this.issues=Y,Object.setPrototypeOf(this,X.prototype)}};async function t1(X,Y){let J=await X["~standard"].validate(Y);if(J.issues)throw new aQ(J.issues);return J.value}var u4=["get","post","put","patch","delete"];var tQ=(X)=>({id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(Y,J){var Q,_,H,G;let W=((_=(Q=X.plugins)==null?void 0:Q.find((q)=>{var $;return(($=q.schema)==null?void 0:$.config)?Y.startsWith(q.schema.config.baseURL||"")||Y.startsWith(q.schema.config.prefix||""):!1}))==null?void 0:_.schema)||X.schema;if(W){let q=Y;if((H=W.config)==null?void 0:H.prefix){if(q.startsWith(W.config.prefix)){if(q=q.replace(W.config.prefix,""),W.config.baseURL)Y=Y.replace(W.config.prefix,W.config.baseURL)}}if((G=W.config)==null?void 0:G.baseURL){if(q.startsWith(W.config.baseURL))q=q.replace(W.config.baseURL,"")}let $=W.schema[q];if($){let B=M0(K0({},J),{method:$.method,output:$.output});if(!(J==null?void 0:J.disableValidation))B=M0(K0({},B),{body:$.input?await t1($.input,J==null?void 0:J.body):J==null?void 0:J.body,params:$.params?await t1($.params,J==null?void 0:J.params):J==null?void 0:J.params,query:$.query?await t1($.query,J==null?void 0:J.query):J==null?void 0:J.query});return{url:Y,options:B}}}return{url:Y,options:J}}}),l4=(X)=>{async function Y(J,Q){let _=M0(K0(K0({},X),Q),{plugins:[...(X==null?void 0:X.plugins)||[],tQ(X||{}),...(Q==null?void 0:Q.plugins)||[]]});if(X==null?void 0:X.catchAllError)try{return await a5(J,_)}catch(H){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:H}}}return await a5(J,_)}return Y};function eQ(X,Y){let{baseURL:J,params:Q,query:_}=Y||{query:{},params:{},baseURL:""},H=X.startsWith("http")?X.split("/").slice(0,3).join("/"):J||"";if(X.startsWith("@")){let D=X.toString().split("@")[1].split("/")[0];if(u4.includes(D))X=X.replace(`@${D}/`,"/")}if(!H.endsWith("/"))H+="/";let[G,W]=X.replace(H,"").split("?"),q=new URLSearchParams(W);for(let[D,V]of Object.entries(_||{})){if(V==null)continue;let j;if(typeof V==="string")j=V;else if(Array.isArray(V)){for(let T of V)q.append(D,T);continue}else j=JSON.stringify(V);q.set(D,j)}if(Q)if(Array.isArray(Q)){let D=G.split("/").filter((V)=>V.startsWith(":"));for(let[V,j]of D.entries()){let T=Q[V];G=G.replace(j,T)}}else for(let[D,V]of Object.entries(Q))G=G.replace(`:${D}`,String(V));if(G=G.split("/").map(encodeURIComponent).join("/"),G.startsWith("/"))G=G.slice(1);let $=q.toString();if($=$.length>0?`?${$}`.replace(/\+/g,"%20"):"",!H.startsWith("http"))return`${H}${G}${$}`;return new URL(`${G}${$}`,H)}var a5=async(X,Y)=>{var J,Q,_,H,G,W,q,$;let{hooks:B,url:D,options:V}=await hQ(X,Y),j=pQ(V),T=new AbortController,g=(J=V.signal)!=null?J:T.signal,z=eQ(D,V),f=rQ(V),O=await iQ(V),l=oQ(D,V),A=M0(K0({},V),{url:z,headers:O,body:f,method:l,signal:g});for(let k of B.onRequest)if(k){let h=await k(A);if(typeof h==="object"&&h!==null)A=h}if("pipeTo"in A&&typeof A.pipeTo==="function"||typeof((Q=Y==null?void 0:Y.body)==null?void 0:Q.pipe)==="function"){if(!("duplex"in A))A.duplex="half"}let{clearTimeout:d}=sQ(V,T),K=await j(A.url,A);d();let F={response:K,request:A};for(let k of B.onResponse)if(k){let h=await k(M0(K0({},F),{response:((_=Y==null?void 0:Y.hookOptions)==null?void 0:_.cloneResponse)?K.clone():K}));if(h instanceof Response)K=h;else if(typeof h==="object"&&h!==null)K=h.response}if(K.ok){if(A.method==="HEAD")return{data:"",error:null};let h=lQ(K),i={data:null,response:K,request:A};if(h==="json"||h==="text"){let s=await K.text(),J5=(H=A.jsonParser)!=null?H:m4;i.data=await J5(s)}else i.data=await K[h]();if(A==null?void 0:A.output){if(A.output&&!A.disableValidation)i.data=await t1(A.output,i.data)}for(let s of B.onSuccess)if(s)await s(M0(K0({},i),{response:((G=Y==null?void 0:Y.hookOptions)==null?void 0:G.cloneResponse)?K.clone():K}));if(Y==null?void 0:Y.throw)return i.data;return{data:i.data,error:null}}let P=(W=Y==null?void 0:Y.jsonParser)!=null?W:m4,Z=await K.text(),I=dQ(Z),R=I?await P(Z):null,v={response:K,responseText:Z,request:A,error:M0(K0({},R),{status:K.status,statusText:K.statusText})};for(let k of B.onError)if(k)await k(M0(K0({},v),{response:((q=Y==null?void 0:Y.hookOptions)==null?void 0:q.cloneResponse)?K.clone():K}));if(Y==null?void 0:Y.retry){let k=mQ(Y.retry),h=($=Y.retryAttempt)!=null?$:0;if(await k.shouldAttemptRetry(h,K)){for(let s of B.onRetry)if(s)await s(F);let i=k.getDelay(h);return await new Promise((s)=>setTimeout(s,i)),await a5(X,M0(K0({},Y),{retryAttempt:h+1}))}}if(Y==null?void 0:Y.throw)throw new yQ(K.status,K.statusText,I?R:Z);return{data:null,error:M0(K0({},R),{status:K.status,statusText:K.statusText})}};var d4=(X,Y)=>{let J="credentials"in Request.prototype,Q=T4(X?.baseURL,X?.basePath,void 0,Y)??"/api/auth",_=X?.plugins?.flatMap((A)=>A.fetchPlugins).filter((A)=>A!==void 0)||[],H={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:X?.fetchOptions?.onSuccess,onError:X?.fetchOptions?.onError,onRequest:X?.fetchOptions?.onRequest,onResponse:X?.fetchOptions?.onResponse}},{onSuccess:G,onError:W,onRequest:q,onResponse:$,...B}=X?.fetchOptions||{},D=l4({baseURL:Q,...J?{credentials:"include"}:{},method:"GET",jsonParser(A){if(!A)return null;return x4(A,{strict:!1})},customFetchImpl:fetch,...B,plugins:[H,...B.plugins||[],...X?.disableDefaultFetchPlugins?[]:[C4],..._]}),{$sessionSignal:V,session:j}=v4(D,X),T=X?.plugins||[],g={},z={$sessionSignal:V,session:j},f={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},O=[{signal:"$sessionSignal",matcher(A){return A==="/sign-out"||A==="/update-user"||A==="/sign-up/email"||A==="/sign-in/email"||A==="/delete-user"||A==="/verify-email"||A==="/revoke-sessions"||A==="/revoke-session"||A==="/change-email"}}];for(let A of T){if(A.getAtoms)Object.assign(z,A.getAtoms?.(D));if(A.pathMethods)Object.assign(f,A.pathMethods);if(A.atomListeners)O.push(...A.atomListeners)}let l={notify:(A)=>{z[A].set(!z[A].get())},listen:(A,d)=>{z[A].subscribe(d)},atoms:z};for(let A of T)if(A.getActions)Object.assign(g,A.getActions?.(D,l,X));return{get baseURL(){return Q},pluginsActions:g,pluginsAtoms:z,pluginPathMethods:f,atomListeners:O,$fetch:D,$store:l}};function p4(X){return typeof X==="object"&&X!==null&&"get"in X&&typeof X.get==="function"&&"lc"in X&&typeof X.lc==="number"}function X_(X,Y,J){let Q=Y[X],{fetchOptions:_,query:H,...G}=J||{};if(Q)return Q;if(_?.method)return _.method;if(G&&Object.keys(G).length>0)return"POST";return"GET"}function i4(X,Y,J,Q,_){function H(G=[]){return new Proxy(function(){},{get(W,q){if(typeof q!=="string")return;if(q==="then"||q==="catch"||q==="finally")return;let $=[...G,q],B=X;for(let D of $)if(B&&typeof B==="object"&&D in B)B=B[D];else{B=void 0;break}if(typeof B==="function")return B;if(p4(B))return B;return H($)},apply:async(W,q,$)=>{let B="/"+G.map((O)=>O.replace(/[A-Z]/g,(l)=>`-${l.toLowerCase()}`)).join("/"),D=$[0]||{},V=$[1]||{},{query:j,fetchOptions:T,...g}=D,z={...V,...T},f=X_(B,J,D);return await Y(B,{...z,body:f==="GET"?void 0:{...g,...z?.body||{}},query:j||z?.query,method:f,async onSuccess(O){if(await z?.onSuccess?.(O),!_||z.disableSignal)return;let l=_.filter((d)=>d.matcher(B));if(!l.length)return;let A=new Set;for(let d of l){let K=Q[d.signal];if(!K)return;if(A.has(d.signal))continue;A.add(d.signal);let F=K.get();setTimeout(()=>{K.set(!F)},10)}}})}})}return H()}function t5(X){let{pluginPathMethods:Y,pluginsActions:J,pluginsAtoms:Q,$fetch:_,atomListeners:H,$store:G}=d4(X),W={};for(let[q,$]of Object.entries(Q))W[`use${o5(q)}`]=$;return i4({...J,...W,$fetch:_,$store:G},_,Y,Q,H)}function n4(X){return{authorize(Y,J="AND"){let Q=!1;for(let[_,H]of Object.entries(Y)){let G=X[_];if(!G)return{success:!1,error:`You are not allowed to access resource: ${_}`};if(Array.isArray(H))Q=H.every((W)=>G.includes(W));else if(typeof H==="object"){let W=H;if(W.connector==="OR")Q=W.actions.some((q)=>G.includes(q));else Q=W.actions.every((q)=>G.includes(q))}else throw new w0("Invalid access control request");if(Q&&J==="OR")return{success:Q};if(!Q&&J==="AND")return{success:!1,error:`unauthorized to access resource "${_}"`}}if(Q)return{success:Q};return{success:!1,error:"Not authorized"}},statements:X}}function k1(X){return{newRole(Y){return n4(Y)},statements:X}}var r4={user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]},e5=k1(r4),o4=e5.newRole({user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]}),s4=e5.newRole({user:[],session:[]});var X9=()=>{return{id:"device-authorization",$InferServerPlugin:{},pathMethods:{"/device/code":"POST","/device/token":"POST","/device":"GET","/device/approve":"POST","/device/deny":"POST"}}};var a4={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]},e1=k1(a4),t4=e1.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"],team:["create","update","delete"],ac:["create","read","update","delete"]}),e4=e1.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]}),X8=e1.newRole({organization:[],member:[],invitation:[],team:[],ac:["read"]});function __(){return"https://agentlogs.ai"}var L1=t5({baseURL:__(),plugins:[X9()]});async function Y8(){console.log("\uD83D\uDD10 AgentLogs Device Authorization"),console.log("⏳ Requesting device authorization...");try{let{data:X,error:Y}=await L1.device.code({client_id:"agentlogs-cli",scope:"openid profile email"});if(Y||!X)console.error("❌ Error:",Y?.error_description||"Failed to request device code"),process.exit(1);let{device_code:J,user_code:Q,verification_uri:_,verification_uri_complete:H,interval:G=5}=X;console.log(`
|
|
44
|
+
\uD83D\uDCF1 Device Authorization in Progress`),console.log(`Please visit: ${_}`),console.log(`Enter code: ${Q}
|
|
45
|
+
`);let W=H||_;if(W)console.log("\uD83C\uDF10 Opening browser..."),await w4(W);console.log(`⏳ Waiting for authorization... (polling every ${G}s)`),await H_(J,G)}catch(X){console.error("❌ Error:",X instanceof Error?X.message:"Unknown error"),process.exit(1)}}async function H_(X,Y){let J=Y;return new Promise((Q)=>{let _=async()=>{try{let{data:H,error:G}=await L1.device.token({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:X,client_id:"agentlogs-cli"});if(H?.access_token){console.log(`
|
|
46
|
+
✅ Authorization Successful!`),console.log("\uD83D\uDD11 Access token received!");let{data:W}=await L1.getSession({fetchOptions:{headers:{Authorization:`Bearer ${H.access_token}`}}});if(W?.user){O9(W.user.email,H.access_token);let q=J0();f9({...q,user:{id:W.user.id,email:W.user.email,name:W.user.name},lastLoginTime:new Date().toISOString()}),console.log(`\uD83D\uDC4B Hello, ${W.user.name}!`),console.log(`\uD83D\uDCE7 Logged in as: ${W.user.email}`)}else console.log("⚠️ Warning: Could not retrieve user session");Q(),process.exit(0)}else if(G)switch(G.error){case"authorization_pending":break;case"slow_down":J+=5,console.log(`⚠️ Slowing down polling to ${J}s`);break;case"access_denied":console.error("❌ Access was denied by the user"),process.exit(1);break;case"expired_token":console.error("❌ The device code has expired. Please try again."),process.exit(1);break;default:console.error("❌ Error:",G.error_description||G.error),process.exit(1)}}catch(H){console.error("❌ Error:",H instanceof Error?H.message:"Unknown error"),process.exit(1)}setTimeout(_,J*1000)};setTimeout(_,J*1000)})}import{unlinkSync as G_}from"fs";import{homedir as W_}from"os";import{join as q_}from"path";function J8(){if(!J0().user){console.log("ℹ️ Not currently logged in");return}try{P9();let Y=q_(W_(),".config","agentlogs","config.json");G_(Y),console.log("✅ Logged out successfully")}catch(Y){console.error("⚠️ Warning: Could not completely clear credentials:",Y instanceof Error?Y.message:"Unknown error"),console.log("You may need to manually delete ~/.config/agentlogs/config.json")}}function $_(){return"https://agentlogs.ai"}async function Q8(){let X=_0();if(!X)console.log("❌ Not logged in"),console.log("Run `bun run src/index.ts login` to authenticate"),process.exit(1);try{let{data:Y,error:J}=await L1.getSession({fetchOptions:{headers:{Authorization:`Bearer ${X}`}}});if(J||!Y?.user)console.log("❌ Not logged in (token invalid or expired)"),console.log("Run `bun run src/index.ts login` to authenticate"),process.exit(1);let Q=J0(),_=$_();if(console.log("✅ Logged in"),console.log(`\uD83D\uDC64 Name: ${Y.user.name}`),console.log(`\uD83D\uDCE7 Email: ${Y.user.email}`),console.log(`\uD83C\uDF10 Server: ${_}`),console.log(`\uD83D\uDD27 Environment: ${Z1}`),Q.lastLoginTime){let H=new Date(Q.lastLoginTime);console.log(`\uD83D\uDD50 Last login: ${H.toLocaleString()}`)}}catch(Y){console.error("❌ Error verifying session:",Y instanceof Error?Y.message:"Unknown error"),console.log("Run `bun run src/index.ts login` to authenticate"),process.exit(1)}}import{createHash as L_}from"crypto";import{promises as X5}from"fs";import{homedir as K_}from"os";import{basename as D_,extname as E_,join as Y5,relative as V_,resolve as F_}from"path";async function _8(X={}){let Y=X.serverUrl??process.env.VI_SERVER_URL??"http://localhost:3000",J=X.authToken??null,Q=X.timeoutMs??1e4;try{let _=await fetch(`${Y}/api/transcripts`,{method:"GET",headers:{...J&&{Authorization:`Bearer ${J}`}},signal:AbortSignal.timeout(Q)});if(!_.ok)return console.error(`Failed to fetch transcript metadata: ${_.status} ${_.statusText}`),[];let H=await _.json();if(B_(H))return H.transcripts;return console.error("Transcript metadata response had unexpected shape:",H),[]}catch(_){if(_ instanceof Error)console.error("Failed to fetch transcript metadata:",_.message);return[]}}function B_(X){if(typeof X!=="object"||X===null||!("transcripts"in X))return!1;let{transcripts:Y}=X;if(!Array.isArray(Y))return!1;return Y.every((J)=>{if(typeof J!=="object"||J===null)return!1;let Q=J;return typeof Q.transcriptId==="string"&&Q.transcriptId.length>0&&typeof Q.sha256==="string"&&Q.sha256.length>0&&typeof Q.repoId==="string"&&Q.repoId.length>0})}var U_=Y5(K_(),".claude");async function H8(X={}){let{repoFilter:Y,claudeDir:J}=X,Q=_0();if(!Q)console.error("You must be logged in to sync transcripts. Run `bun run src/index.ts login` first."),process.exit(1);let _="https://agentlogs.ai",H=J?F_(J):process.env.CLAUDE_HOME??U_,G=Y5(H,"projects"),W=await M_(G);if(W.length===0){console.log(`No local Claude Code transcripts were found under ${G}. Nothing to sync.`);return}let q=Y?W.filter((z)=>z.repoId===Y):W;if(Y&&q.length===0){let z=W.filter((f)=>f.repoId===null).length;if(console.log(`No local Claude Code transcripts matched repo ${Y}.`),z>0)console.log(`${z} transcript(s) were skipped because their repo could not be determined.`);return}let $=await _8({serverUrl:_,authToken:Q}),B=Y?$.filter((z)=>z.repoId===Y):$,D=new Map;for(let z of B)D.set(z.transcriptId,z.sha256);let V=q.filter((z)=>{let f=D.get(z.transcriptId);return!f||f!==z.sha256});if(V.length===0){console.log("All local Claude Code transcripts are up to date on the server.");return}console.log(`Preparing to upload ${V.length} transcript(s) out of ${q.length} matching local transcript(s).`);let j=0,T=0,g=[];for(let[z,f]of V.entries()){let O=`${z+1}/${V.length}`,l=f.repoId?` • ${f.repoId}`:"",A=`${f.transcriptId} – ${f.displayPath}${l}`;try{let d=await k0({transcriptPath:f.path,sessionId:f.transcriptId,cwdOverride:f.cwd??void 0},{serverUrl:_,authToken:Q});if(d.success)j+=1,console.log(`[${O}] ✓ ${A} • ${d.eventCount} events${d.transcriptId?` → ${d.transcriptId}`:""}`);else{T+=1;let K="Upload returned unsuccessful response.";console.error(`[${O}] ✗ ${A} • ${K}`),g.push({transcriptId:f.transcriptId,displayPath:f.displayPath,reason:K})}}catch(d){T+=1;let K=d instanceof Error?d.message:String(d);console.error(`[${O}] ✗ ${A} • ${K}`),g.push({transcriptId:f.transcriptId,displayPath:f.displayPath,reason:K})}}if(console.log(`Sync complete. Successful uploads: ${j}. Failed uploads: ${T}.`),g.length>0){console.error("Failed transcript details:");for(let z of g.slice(0,10))console.error(` - ${z.transcriptId} (${z.displayPath}): ${z.reason}`);if(g.length>10)console.error(` …and ${g.length-10} more failures.`)}if(T>0)process.exit(1)}async function M_(X){if(!await G8(X))return[];let Y=await X5.readdir(X,{withFileTypes:!0}),J=[];for(let Q of Y){if(!Q.isDirectory())continue;let _=Y5(X,Q.name),H=await X5.readdir(_,{withFileTypes:!0});for(let G of H){if(!G.isFile()||E_(G.name)!==".jsonl")continue;let W=Y5(_,G.name),q=D_(G.name,".jsonl");try{let $=await X5.readFile(W,"utf8"),B=L_("sha256").update($).digest("hex"),D=A_($),V=await N_(D);J.push({transcriptId:q,path:W,sha256:B,cwd:D,repoId:V,displayPath:V_(X,W)||G.name})}catch($){console.warn(`Skipped transcript at ${W}: ${$.message}`)}}}return J}async function G8(X){try{return(await X5.stat(X)).isDirectory()}catch{return!1}}function A_(X){let Y=X.split(/\r?\n/);for(let J of Y){let Q=J.trim();if(!Q)continue;try{let H=JSON.parse(Q)?.cwd;if(typeof H==="string"&&H.length>0)return H}catch{continue}}return null}async function N_(X){if(!X)return null;if(!await G8(X))return null;try{return W4(X).repoId}catch{return null}}async function Y9(X,Y="claude-code"){if(!X)console.error("The upload command expects a <transcript> argument."),process.exit(1);let J=q4(X);if(!J)console.error(`Transcript file not found for path: ${X}`),process.exit(1);let Q="https://agentlogs.ai",_=_0();if(!_)console.error("You must be logged in to upload transcripts. Run `bun run src/index.ts login` first."),process.exit(1);let H={};if(Q)H.serverUrl=Q;H.authToken=_;try{console.log(`Uploading ${Y==="codex"?"Codex":"Claude Code"} transcript events from ${J} to AgentLogs...`);let W=await k0({transcriptPath:J,source:Y},H);if(W.success){console.log(`✓ Upload successful (${W.eventCount} events${W.transcriptId?`, transcript ID: ${W.transcriptId}`:""})`);return}console.error("✗ Failed to upload transcript to AgentLogs server.")}catch(G){console.error(G instanceof Error?G.message:"Unexpected error occurred while uploading transcript.")}process.exit(1)}var Z0=new N9;Z0.name("agentlogs").description("CLI tools for working with AgentLogs accounts and transcripts from Claude Code and Codex");Z0.command("login").description("Authenticate with AgentLogs using device authorization").action(async()=>{await Y8()});Z0.command("status").description("Check your current login status").action(async()=>{await Q8()});Z0.command("logout").description("Log out and clear stored credentials").action(async()=>{await J8()});var J9=Z0.command("claudecode").description("Claude Code transcript utilities for AgentLogs");J9.command("upload").argument("<transcript>","Path or alias for a transcript JSONL file").description("Upload a transcript JSONL file to AgentLogs").action(async(X)=>{await Y9(X,"claude-code")});J9.command("hook").description("Process Claude Code hook input from stdin").action(async()=>{await $4()});var j_=Z0.command("codex").description("Codex transcript utilities for AgentLogs");j_.command("upload").argument("<transcript>","Path or alias for a Codex transcript JSONL file").description("Upload a Codex transcript JSONL file to AgentLogs").action(async(X)=>{await Y9(X,"codex")});J9.command("sync").argument("[claudeDir]","Optional Claude data directory (defaults to ~/.claude)").option("-r, --repo <repoId>","Only sync transcripts for the provided repo identifier").description("Upload all local Claude Code transcripts that are missing or outdated on the server").action(async(X,Y)=>{await H8({claudeDir:X,repoFilter:Y.repo})});Z0.showHelpAfterError("(add --help for additional information)");Z0.parseAsync().catch((X)=>{console.error("CLI encountered an unexpected error."),console.error(X),process.exit(1)});
|