agentlogs 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +46 -35
- package/package.json +11 -5
package/dist/index.js
CHANGED
|
@@ -1,46 +1,57 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as
|
|
3
|
-
`)}displayWidth(
|
|
4
|
-
`+" ".repeat(
|
|
5
|
-
${
|
|
6
|
-
`)}}function
|
|
2
|
+
import{createRequire as HX}from"node:module";var XX=Object.create;var{getPrototypeOf:QX,defineProperty:z8,getOwnPropertyNames:$X}=Object;var GX=Object.prototype.hasOwnProperty;var WX=(Y,J,X)=>{X=Y!=null?XX(QX(Y)):{};let Q=J||!Y||!Y.__esModule?z8(X,"default",{value:Y,enumerable:!0}):X;for(let $ of $X(Y))if(!GX.call(Q,$))z8(Q,$,{get:()=>Y[$],enumerable:!0});return Q};var G0=(Y,J)=>()=>(J||Y((J={exports:{}}).exports,J),J.exports);var qX=(Y,J)=>{for(var X in J)z8(Y,X,{get:J[X],enumerable:!0,configurable:!0,set:(Q)=>J[X]=()=>Q})};var r0=HX(import.meta.url);var A1=G0((_X)=>{class w8 extends Error{constructor(Y,J,X){super(X);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=J,this.exitCode=Y,this.nestedError=void 0}}class hY extends w8{constructor(Y){super(1,"commander.invalidArgument",Y);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}_X.CommanderError=w8;_X.InvalidArgumentError=hY});var u1=G0((EX)=>{var{InvalidArgumentError:LX}=A1();class gY{constructor(Y,J){switch(this.description=J||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,Y[0]){case"<":this.required=!0,this._name=Y.slice(1,-1);break;case"[":this.required=!1,this._name=Y.slice(1,-1);break;default:this.required=!0,this._name=Y;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(Y,J){if(J===this.defaultValue||!Array.isArray(J))return[Y];return J.push(Y),J}default(Y,J){return this.defaultValue=Y,this.defaultValueDescription=J,this}argParser(Y){return this.parseArg=Y,this}choices(Y){return this.argChoices=Y.slice(),this.parseArg=(J,X)=>{if(!this.argChoices.includes(J))throw new LX(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(J,X);return J},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function VX(Y){let J=Y.name()+(Y.variadic===!0?"...":"");return Y.required?"<"+J+">":"["+J+"]"}EX.Argument=gY;EX.humanReadableArgName=VX});var S8=G0((MX)=>{var{humanReadableArgName:FX}=u1();class mY{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(Y){this.helpWidth=this.helpWidth??Y.helpWidth??80}visibleCommands(Y){let J=Y.commands.filter((Q)=>!Q._hidden),X=Y._getHelpCommand();if(X&&!X._hidden)J.push(X);if(this.sortSubcommands)J.sort((Q,$)=>{return Q.name().localeCompare($.name())});return J}compareOptions(Y,J){let X=(Q)=>{return Q.short?Q.short.replace(/^-/,""):Q.long.replace(/^--/,"")};return X(Y).localeCompare(X(J))}visibleOptions(Y){let J=Y.options.filter((Q)=>!Q.hidden),X=Y._getHelpOption();if(X&&!X.hidden){let Q=X.short&&Y._findOption(X.short),$=X.long&&Y._findOption(X.long);if(!Q&&!$)J.push(X);else if(X.long&&!$)J.push(Y.createOption(X.long,X.description));else if(X.short&&!Q)J.push(Y.createOption(X.short,X.description))}if(this.sortOptions)J.sort(this.compareOptions);return J}visibleGlobalOptions(Y){if(!this.showGlobalOptions)return[];let J=[];for(let X=Y.parent;X;X=X.parent){let Q=X.options.filter(($)=>!$.hidden);J.push(...Q)}if(this.sortOptions)J.sort(this.compareOptions);return J}visibleArguments(Y){if(Y._argsDescription)Y.registeredArguments.forEach((J)=>{J.description=J.description||Y._argsDescription[J.name()]||""});if(Y.registeredArguments.find((J)=>J.description))return Y.registeredArguments;return[]}subcommandTerm(Y){let J=Y.registeredArguments.map((X)=>FX(X)).join(" ");return Y._name+(Y._aliases[0]?"|"+Y._aliases[0]:"")+(Y.options.length?" [options]":"")+(J?" "+J:"")}optionTerm(Y){return Y.flags}argumentTerm(Y){return Y.name()}longestSubcommandTermLength(Y,J){return J.visibleCommands(Y).reduce((X,Q)=>{return Math.max(X,this.displayWidth(J.styleSubcommandTerm(J.subcommandTerm(Q))))},0)}longestOptionTermLength(Y,J){return J.visibleOptions(Y).reduce((X,Q)=>{return Math.max(X,this.displayWidth(J.styleOptionTerm(J.optionTerm(Q))))},0)}longestGlobalOptionTermLength(Y,J){return J.visibleGlobalOptions(Y).reduce((X,Q)=>{return Math.max(X,this.displayWidth(J.styleOptionTerm(J.optionTerm(Q))))},0)}longestArgumentTermLength(Y,J){return J.visibleArguments(Y).reduce((X,Q)=>{return Math.max(X,this.displayWidth(J.styleArgumentTerm(J.argumentTerm(Q))))},0)}commandUsage(Y){let J=Y._name;if(Y._aliases[0])J=J+"|"+Y._aliases[0];let X="";for(let Q=Y.parent;Q;Q=Q.parent)X=Q.name()+" "+X;return X+J+" "+Y.usage()}commandDescription(Y){return Y.description()}subcommandDescription(Y){return Y.summary()||Y.description()}optionDescription(Y){let J=[];if(Y.argChoices)J.push(`choices: ${Y.argChoices.map((X)=>JSON.stringify(X)).join(", ")}`);if(Y.defaultValue!==void 0){if(Y.required||Y.optional||Y.isBoolean()&&typeof Y.defaultValue==="boolean")J.push(`default: ${Y.defaultValueDescription||JSON.stringify(Y.defaultValue)}`)}if(Y.presetArg!==void 0&&Y.optional)J.push(`preset: ${JSON.stringify(Y.presetArg)}`);if(Y.envVar!==void 0)J.push(`env: ${Y.envVar}`);if(J.length>0){let X=`(${J.join(", ")})`;if(Y.description)return`${Y.description} ${X}`;return X}return Y.description}argumentDescription(Y){let J=[];if(Y.argChoices)J.push(`choices: ${Y.argChoices.map((X)=>JSON.stringify(X)).join(", ")}`);if(Y.defaultValue!==void 0)J.push(`default: ${Y.defaultValueDescription||JSON.stringify(Y.defaultValue)}`);if(J.length>0){let X=`(${J.join(", ")})`;if(Y.description)return`${Y.description} ${X}`;return X}return Y.description}formatItemList(Y,J,X){if(J.length===0)return[];return[X.styleTitle(Y),...J,""]}groupItems(Y,J,X){let Q=new Map;return Y.forEach(($)=>{let G=X($);if(!Q.has(G))Q.set(G,[])}),J.forEach(($)=>{let G=X($);if(!Q.has(G))Q.set(G,[]);Q.get(G).push($)}),Q}formatHelp(Y,J){let X=J.padWidth(Y,J),Q=J.helpWidth??80;function $(B,L){return J.formatItem(B,X,L,J)}let G=[`${J.styleTitle("Usage:")} ${J.styleUsage(J.commandUsage(Y))}`,""],W=J.commandDescription(Y);if(W.length>0)G=G.concat([J.boxWrap(J.styleCommandDescription(W),Q),""]);let q=J.visibleArguments(Y).map((B)=>{return $(J.styleArgumentTerm(J.argumentTerm(B)),J.styleArgumentDescription(J.argumentDescription(B)))});if(G=G.concat(this.formatItemList("Arguments:",q,J)),this.groupItems(Y.options,J.visibleOptions(Y),(B)=>B.helpGroupHeading??"Options:").forEach((B,L)=>{let V=B.map((F)=>{return $(J.styleOptionTerm(J.optionTerm(F)),J.styleOptionDescription(J.optionDescription(F)))});G=G.concat(this.formatItemList(L,V,J))}),J.showGlobalOptions){let B=J.visibleGlobalOptions(Y).map((L)=>{return $(J.styleOptionTerm(J.optionTerm(L)),J.styleOptionDescription(J.optionDescription(L)))});G=G.concat(this.formatItemList("Global Options:",B,J))}return this.groupItems(Y.commands,J.visibleCommands(Y),(B)=>B.helpGroup()||"Commands:").forEach((B,L)=>{let V=B.map((F)=>{return $(J.styleSubcommandTerm(J.subcommandTerm(F)),J.styleSubcommandDescription(J.subcommandDescription(F)))});G=G.concat(this.formatItemList(L,V,J))}),G.join(`
|
|
3
|
+
`)}displayWidth(Y){return cY(Y).length}styleTitle(Y){return Y}styleUsage(Y){return Y.split(" ").map((J)=>{if(J==="[options]")return this.styleOptionText(J);if(J==="[command]")return this.styleSubcommandText(J);if(J[0]==="["||J[0]==="<")return this.styleArgumentText(J);return this.styleCommandText(J)}).join(" ")}styleCommandDescription(Y){return this.styleDescriptionText(Y)}styleOptionDescription(Y){return this.styleDescriptionText(Y)}styleSubcommandDescription(Y){return this.styleDescriptionText(Y)}styleArgumentDescription(Y){return this.styleDescriptionText(Y)}styleDescriptionText(Y){return Y}styleOptionTerm(Y){return this.styleOptionText(Y)}styleSubcommandTerm(Y){return Y.split(" ").map((J)=>{if(J==="[options]")return this.styleOptionText(J);if(J[0]==="["||J[0]==="<")return this.styleArgumentText(J);return this.styleSubcommandText(J)}).join(" ")}styleArgumentTerm(Y){return this.styleArgumentText(Y)}styleOptionText(Y){return Y}styleArgumentText(Y){return Y}styleSubcommandText(Y){return Y}styleCommandText(Y){return Y}padWidth(Y,J){return Math.max(J.longestOptionTermLength(Y,J),J.longestGlobalOptionTermLength(Y,J),J.longestSubcommandTermLength(Y,J),J.longestArgumentTermLength(Y,J))}preformatted(Y){return/\n[^\S\r\n]/.test(Y)}formatItem(Y,J,X,Q){let G=" ".repeat(2);if(!X)return G+Y;let W=Y.padEnd(J+Y.length-Q.displayWidth(Y)),q=2,_=(this.helpWidth??80)-J-q-2,B;if(_<this.minWidthToWrap||Q.preformatted(X))B=X;else B=Q.boxWrap(X,_).replace(/\n/g,`
|
|
4
|
+
`+" ".repeat(J+q));return G+W+" ".repeat(q)+B.replace(/\n/g,`
|
|
5
|
+
${G}`)}boxWrap(Y,J){if(J<this.minWidthToWrap)return Y;let X=Y.split(/\r\n|\n/),Q=/[\s]*[^\s]+/g,$=[];return X.forEach((G)=>{let W=G.match(Q);if(W===null){$.push("");return}let q=[W.shift()],H=this.displayWidth(q[0]);W.forEach((_)=>{let B=this.displayWidth(_);if(H+B<=J){q.push(_),H+=B;return}$.push(q.join(""));let L=_.trimStart();q=[L],H=this.displayWidth(L)}),$.push(q.join(""))}),$.join(`
|
|
6
|
+
`)}}function cY(Y){let J=/\x1b\[\d*(;\d*)*m/g;return Y.replace(J,"")}MX.Help=mY;MX.stripColor=cY});var I8=G0((zX)=>{var{InvalidArgumentError:NX}=A1();class lY{constructor(Y,J){this.flags=Y,this.description=J||"",this.required=Y.includes("<"),this.optional=Y.includes("["),this.variadic=/\w\.\.\.[>\]]$/.test(Y),this.mandatory=!1;let X=RX(Y);if(this.short=X.shortFlag,this.long=X.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(Y,J){return this.defaultValue=Y,this.defaultValueDescription=J,this}preset(Y){return this.presetArg=Y,this}conflicts(Y){return this.conflictsWith=this.conflictsWith.concat(Y),this}implies(Y){let J=Y;if(typeof Y==="string")J={[Y]:!0};return this.implied=Object.assign(this.implied||{},J),this}env(Y){return this.envVar=Y,this}argParser(Y){return this.parseArg=Y,this}makeOptionMandatory(Y=!0){return this.mandatory=!!Y,this}hideHelp(Y=!0){return this.hidden=!!Y,this}_collectValue(Y,J){if(J===this.defaultValue||!Array.isArray(J))return[Y];return J.push(Y),J}choices(Y){return this.argChoices=Y.slice(),this.parseArg=(J,X)=>{if(!this.argChoices.includes(J))throw new NX(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(J,X);return J},this}name(){if(this.long)return this.long.replace(/^--/,"");return this.short.replace(/^-/,"")}attributeName(){if(this.negate)return uY(this.name().replace(/^no-/,""));return uY(this.name())}helpGroup(Y){return this.helpGroupHeading=Y,this}is(Y){return this.short===Y||this.long===Y}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class dY{constructor(Y){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,Y.forEach((J)=>{if(J.negate)this.negativeOptions.set(J.attributeName(),J);else this.positiveOptions.set(J.attributeName(),J)}),this.negativeOptions.forEach((J,X)=>{if(this.positiveOptions.has(X))this.dualOptions.add(X)})}valueFromOption(Y,J){let X=J.attributeName();if(!this.dualOptions.has(X))return!0;let Q=this.negativeOptions.get(X).presetArg,$=Q!==void 0?Q:!1;return J.negate===($===Y)}}function uY(Y){return Y.split("-").reduce((J,X)=>{return J+X[0].toUpperCase()+X.slice(1)})}function RX(Y){let J,X,Q=/^-[^-]$/,$=/^--[^-]/,G=Y.split(/[ |,]+/).concat("guard");if(Q.test(G[0]))J=G.shift();if($.test(G[0]))X=G.shift();if(!J&&Q.test(G[0]))J=G.shift();if(!J&&$.test(G[0]))J=X,X=G.shift();if(G[0].startsWith("-")){let W=G[0],q=`option creation failed due to '${W}' in option flags '${Y}'`;if(/^-[^-][^-]/.test(W))throw Error(`${q}
|
|
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(Q.test(
|
|
10
|
-
- too many short flags`);if(
|
|
11
|
-
- too many long flags`);throw Error(`${
|
|
12
|
-
- unrecognised flag format`)}if(
|
|
9
|
+
- or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(Q.test(W))throw Error(`${q}
|
|
10
|
+
- too many short flags`);if($.test(W))throw Error(`${q}
|
|
11
|
+
- too many long flags`);throw Error(`${q}
|
|
12
|
+
- unrecognised flag format`)}if(J===void 0&&X===void 0)throw Error(`option creation failed due to no flags found in '${Y}'.`);return{shortFlag:J,longFlag:X}}zX.Option=lY;zX.DualOptions=dY});var pY=G0((fX)=>{function IX(Y,J){if(Math.abs(Y.length-J.length)>3)return Math.max(Y.length,J.length);let X=[];for(let Q=0;Q<=Y.length;Q++)X[Q]=[Q];for(let Q=0;Q<=J.length;Q++)X[0][Q]=Q;for(let Q=1;Q<=J.length;Q++)for(let $=1;$<=Y.length;$++){let G=1;if(Y[$-1]===J[Q-1])G=0;else G=1;if(X[$][Q]=Math.min(X[$-1][Q]+1,X[$][Q-1]+1,X[$-1][Q-1]+G),$>1&&Q>1&&Y[$-1]===J[Q-2]&&Y[$-2]===J[Q-1])X[$][Q]=Math.min(X[$][Q],X[$-2][Q-2]+1)}return X[Y.length][J.length]}function OX(Y,J){if(!J||J.length===0)return"";J=Array.from(new Set(J));let X=Y.startsWith("--");if(X)Y=Y.slice(2),J=J.map((W)=>W.slice(2));let Q=[],$=3,G=0.4;if(J.forEach((W)=>{if(W.length<=1)return;let q=IX(Y,W),H=Math.max(Y.length,W.length);if((H-q)/H>G){if(q<$)$=q,Q=[W];else if(q===$)Q.push(W)}}),Q.sort((W,q)=>W.localeCompare(q)),X)Q=Q.map((W)=>`--${W}`);if(Q.length>1)return`
|
|
13
13
|
(Did you mean one of ${Q.join(", ")}?)`;if(Q.length===1)return`
|
|
14
|
-
(Did you mean ${Q[0]}?)`;return""}
|
|
15
|
-
- specify the name in Command constructor or using .name()`);if(
|
|
16
|
-
Expecting one of '${
|
|
17
|
-
- already used by option '${
|
|
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 '${
|
|
14
|
+
(Did you mean ${Q[0]}?)`;return""}fX.suggestSimilar=OX});var oY=G0((xX)=>{var kX=r0("node:events").EventEmitter,O8=r0("node:child_process"),N0=r0("node:path"),l1=r0("node:fs"),m=r0("node:process"),{Argument:TX,humanReadableArgName:ZX}=u1(),{CommanderError:f8}=A1(),{Help:CX,stripColor:bX}=S8(),{Option:iY,DualOptions:vX}=I8(),{suggestSimilar:nY}=pY();class k8 extends kX{constructor(Y){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=Y||"",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:(J)=>m.stdout.write(J),writeErr:(J)=>m.stderr.write(J),outputError:(J,X)=>X(J),getOutHelpWidth:()=>m.stdout.isTTY?m.stdout.columns:void 0,getErrHelpWidth:()=>m.stderr.isTTY?m.stderr.columns:void 0,getOutHasColors:()=>P8()??(m.stdout.isTTY&&m.stdout.hasColors?.()),getErrHasColors:()=>P8()??(m.stderr.isTTY&&m.stderr.hasColors?.()),stripColor:(J)=>bX(J)},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(Y){return this._outputConfiguration=Y._outputConfiguration,this._helpOption=Y._helpOption,this._helpCommand=Y._helpCommand,this._helpConfiguration=Y._helpConfiguration,this._exitCallback=Y._exitCallback,this._storeOptionsAsProperties=Y._storeOptionsAsProperties,this._combineFlagAndOptionalValue=Y._combineFlagAndOptionalValue,this._allowExcessArguments=Y._allowExcessArguments,this._enablePositionalOptions=Y._enablePositionalOptions,this._showHelpAfterError=Y._showHelpAfterError,this._showSuggestionAfterError=Y._showSuggestionAfterError,this}_getCommandAndAncestors(){let Y=[];for(let J=this;J;J=J.parent)Y.push(J);return Y}command(Y,J,X){let Q=J,$=X;if(typeof Q==="object"&&Q!==null)$=Q,Q=null;$=$||{};let[,G,W]=Y.match(/([^ ]+) *(.*)/),q=this.createCommand(G);if(Q)q.description(Q),q._executableHandler=!0;if($.isDefault)this._defaultCommandName=q._name;if(q._hidden=!!($.noHelp||$.hidden),q._executableFile=$.executableFile||null,W)q.arguments(W);if(this._registerCommand(q),q.parent=this,q.copyInheritedSettings(this),Q)return this;return q}createCommand(Y){return new k8(Y)}createHelp(){return Object.assign(new CX,this.configureHelp())}configureHelp(Y){if(Y===void 0)return this._helpConfiguration;return this._helpConfiguration=Y,this}configureOutput(Y){if(Y===void 0)return this._outputConfiguration;return this._outputConfiguration={...this._outputConfiguration,...Y},this}showHelpAfterError(Y=!0){if(typeof Y!=="string")Y=!!Y;return this._showHelpAfterError=Y,this}showSuggestionAfterError(Y=!0){return this._showSuggestionAfterError=!!Y,this}addCommand(Y,J){if(!Y._name)throw Error(`Command passed to .addCommand() must have a name
|
|
15
|
+
- specify the name in Command constructor or using .name()`);if(J=J||{},J.isDefault)this._defaultCommandName=Y._name;if(J.noHelp||J.hidden)Y._hidden=!0;return this._registerCommand(Y),Y.parent=this,Y._checkForBrokenPassThrough(),this}createArgument(Y,J){return new TX(Y,J)}argument(Y,J,X,Q){let $=this.createArgument(Y,J);if(typeof X==="function")$.default(Q).argParser(X);else $.default(X);return this.addArgument($),this}arguments(Y){return Y.trim().split(/ +/).forEach((J)=>{this.argument(J)}),this}addArgument(Y){let J=this.registeredArguments.slice(-1)[0];if(J?.variadic)throw Error(`only the last argument can be variadic '${J.name()}'`);if(Y.required&&Y.defaultValue!==void 0&&Y.parseArg===void 0)throw Error(`a default value for a required argument is never used: '${Y.name()}'`);return this.registeredArguments.push(Y),this}helpCommand(Y,J){if(typeof Y==="boolean"){if(this._addImplicitHelpCommand=Y,Y&&this._defaultCommandGroup)this._initCommandGroup(this._getHelpCommand());return this}let X=Y??"help [command]",[,Q,$]=X.match(/([^ ]+) *(.*)/),G=J??"display help for command",W=this.createCommand(Q);if(W.helpOption(!1),$)W.arguments($);if(G)W.description(G);if(this._addImplicitHelpCommand=!0,this._helpCommand=W,Y||J)this._initCommandGroup(W);return this}addHelpCommand(Y,J){if(typeof Y!=="object")return this.helpCommand(Y,J),this;return this._addImplicitHelpCommand=!0,this._helpCommand=Y,this._initCommandGroup(Y),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(Y,J){let X=["preSubcommand","preAction","postAction"];if(!X.includes(Y))throw Error(`Unexpected value for event passed to hook : '${Y}'.
|
|
16
|
+
Expecting one of '${X.join("', '")}'`);if(this._lifeCycleHooks[Y])this._lifeCycleHooks[Y].push(J);else this._lifeCycleHooks[Y]=[J];return this}exitOverride(Y){if(Y)this._exitCallback=Y;else this._exitCallback=(J)=>{if(J.code!=="commander.executeSubCommandAsync")throw J};return this}_exit(Y,J,X){if(this._exitCallback)this._exitCallback(new f8(Y,J,X));m.exit(Y)}action(Y){let J=(X)=>{let Q=this.registeredArguments.length,$=X.slice(0,Q);if(this._storeOptionsAsProperties)$[Q]=this;else $[Q]=this.opts();return $.push(this),Y.apply(this,$)};return this._actionHandler=J,this}createOption(Y,J){return new iY(Y,J)}_callParseArg(Y,J,X,Q){try{return Y.parseArg(J,X)}catch($){if($.code==="commander.invalidArgument"){let G=`${Q} ${$.message}`;this.error(G,{exitCode:$.exitCode,code:$.code})}throw $}}_registerOption(Y){let J=Y.short&&this._findOption(Y.short)||Y.long&&this._findOption(Y.long);if(J){let X=Y.long&&this._findOption(Y.long)?Y.long:Y.short;throw Error(`Cannot add option '${Y.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${X}'
|
|
17
|
+
- already used by option '${J.flags}'`)}this._initOptionGroup(Y),this.options.push(Y)}_registerCommand(Y){let J=(Q)=>{return[Q.name()].concat(Q.aliases())},X=J(Y).find((Q)=>this._findCommand(Q));if(X){let Q=J(this._findCommand(X)).join("|"),$=J(Y).join("|");throw Error(`cannot add command '${$}' as already have command '${Q}'`)}this._initCommandGroup(Y),this.commands.push(Y)}addOption(Y){this._registerOption(Y);let J=Y.name(),X=Y.attributeName();if(Y.negate){let $=Y.long.replace(/^--no-/,"--");if(!this._findOption($))this.setOptionValueWithSource(X,Y.defaultValue===void 0?!0:Y.defaultValue,"default")}else if(Y.defaultValue!==void 0)this.setOptionValueWithSource(X,Y.defaultValue,"default");let Q=($,G,W)=>{if($==null&&Y.presetArg!==void 0)$=Y.presetArg;let q=this.getOptionValue(X);if($!==null&&Y.parseArg)$=this._callParseArg(Y,$,q,G);else if($!==null&&Y.variadic)$=Y._collectValue($,q);if($==null)if(Y.negate)$=!1;else if(Y.isBoolean()||Y.optional)$=!0;else $="";this.setOptionValueWithSource(X,$,W)};if(this.on("option:"+J,($)=>{let G=`error: option '${Y.flags}' argument '${$}' is invalid.`;Q($,G,"cli")}),Y.envVar)this.on("optionEnv:"+J,($)=>{let G=`error: option '${Y.flags}' value '${$}' from env '${Y.envVar}' is invalid.`;Q($,G,"env")});return this}_optionEx(Y,J,X,Q,$){if(typeof J==="object"&&J instanceof iY)throw Error("To add an Option object use addOption() instead of option() or requiredOption()");let G=this.createOption(J,X);if(G.makeOptionMandatory(!!Y.mandatory),typeof Q==="function")G.default($).argParser(Q);else if(Q instanceof RegExp){let W=Q;Q=(q,H)=>{let _=W.exec(q);return _?_[0]:H},G.default($).argParser(Q)}else G.default(Q);return this.addOption(G)}option(Y,J,X,Q){return this._optionEx({},Y,J,X,Q)}requiredOption(Y,J,X,Q){return this._optionEx({mandatory:!0},Y,J,X,Q)}combineFlagAndOptionalValue(Y=!0){return this._combineFlagAndOptionalValue=!!Y,this}allowUnknownOption(Y=!0){return this._allowUnknownOption=!!Y,this}allowExcessArguments(Y=!0){return this._allowExcessArguments=!!Y,this}enablePositionalOptions(Y=!0){return this._enablePositionalOptions=!!Y,this}passThroughOptions(Y=!0){return this._passThroughOptions=!!Y,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(Y=!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=!!Y,this}getOptionValue(Y){if(this._storeOptionsAsProperties)return this[Y];return this._optionValues[Y]}setOptionValue(Y,J){return this.setOptionValueWithSource(Y,J,void 0)}setOptionValueWithSource(Y,J,X){if(this._storeOptionsAsProperties)this[Y]=J;else this._optionValues[Y]=J;return this._optionValueSources[Y]=X,this}getOptionValueSource(Y){return this._optionValueSources[Y]}getOptionValueSourceWithGlobals(Y){let J;return this._getCommandAndAncestors().forEach((X)=>{if(X.getOptionValueSource(Y)!==void 0)J=X.getOptionValueSource(Y)}),J}_prepareUserArgs(Y,J){if(Y!==void 0&&!Array.isArray(Y))throw Error("first parameter to parse must be array or undefined");if(J=J||{},Y===void 0&&J.from===void 0){if(m.versions?.electron)J.from="electron";let Q=m.execArgv??[];if(Q.includes("-e")||Q.includes("--eval")||Q.includes("-p")||Q.includes("--print"))J.from="eval"}if(Y===void 0)Y=m.argv;this.rawArgs=Y.slice();let X;switch(J.from){case void 0:case"node":this._scriptPath=Y[1],X=Y.slice(2);break;case"electron":if(m.defaultApp)this._scriptPath=Y[1],X=Y.slice(2);else X=Y.slice(1);break;case"user":X=Y.slice(0);break;case"eval":X=Y.slice(1);break;default:throw Error(`unexpected parse option { from: '${J.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);return this._name=this._name||"program",X}parse(Y,J){this._prepareForParse();let X=this._prepareUserArgs(Y,J);return this._parseCommand([],X),this}async parseAsync(Y,J){this._prepareForParse();let X=this._prepareUserArgs(Y,J);return await this._parseCommand([],X),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(Y,J,X){if(l1.existsSync(Y))return;let Q=J?`searched for local subcommand relative to directory '${J}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory",$=`'${Y}' does not exist
|
|
19
|
+
- if '${X}' 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
|
-
- ${Q}`;throw Error(
|
|
21
|
+
- ${Q}`;throw Error($)}_executeSubCommand(Y,J){J=J.slice();let X=!1,Q=[".js",".ts",".tsx",".mjs",".cjs"];function $(_,B){let L=N0.resolve(_,B);if(l1.existsSync(L))return L;if(Q.includes(N0.extname(B)))return;let V=Q.find((F)=>l1.existsSync(`${L}${F}`));if(V)return`${L}${V}`;return}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let G=Y._executableFile||`${this._name}-${Y._name}`,W=this._executableDir||"";if(this._scriptPath){let _;try{_=l1.realpathSync(this._scriptPath)}catch{_=this._scriptPath}W=N0.resolve(N0.dirname(_),W)}if(W){let _=$(W,G);if(!_&&!Y._executableFile&&this._scriptPath){let B=N0.basename(this._scriptPath,N0.extname(this._scriptPath));if(B!==this._name)_=$(W,`${B}-${Y._name}`)}G=_||G}X=Q.includes(N0.extname(G));let q;if(m.platform!=="win32")if(X)J.unshift(G),J=rY(m.execArgv).concat(J),q=O8.spawn(m.argv[0],J,{stdio:"inherit"});else q=O8.spawn(G,J,{stdio:"inherit"});else this._checkForMissingExecutable(G,W,Y._name),J.unshift(G),J=rY(m.execArgv).concat(J),q=O8.spawn(m.execPath,J,{stdio:"inherit"});if(!q.killed)["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"].forEach((B)=>{m.on(B,()=>{if(q.killed===!1&&q.exitCode===null)q.kill(B)})});let H=this._exitCallback;q.on("close",(_)=>{if(_=_??1,!H)m.exit(_);else H(new f8(_,"commander.executeSubCommandAsync","(close)"))}),q.on("error",(_)=>{if(_.code==="ENOENT")this._checkForMissingExecutable(G,W,Y._name);else if(_.code==="EACCES")throw Error(`'${G}' not executable`);if(!H)m.exit(1);else{let B=new f8(1,"commander.executeSubCommandAsync","(error)");B.nestedError=_,H(B)}}),this.runningCommand=q}_dispatchSubcommand(Y,J,X){let Q=this._findCommand(Y);if(!Q)this.help({error:!0});Q._prepareForParse();let $;return $=this._chainOrCallSubCommandHook($,Q,"preSubcommand"),$=this._chainOrCall($,()=>{if(Q._executableHandler)this._executeSubCommand(Q,J.concat(X));else return Q._parseCommand(J,X)}),$}_dispatchHelpCommand(Y){if(!Y)this.help();let J=this._findCommand(Y);if(J&&!J._executableHandler)J.help();return this._dispatchSubcommand(Y,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){if(this.registeredArguments.forEach((Y,J)=>{if(Y.required&&this.args[J]==null)this.missingArgument(Y.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 Y=(X,Q,$)=>{let G=Q;if(Q!==null&&X.parseArg){let W=`error: command-argument value '${Q}' is invalid for argument '${X.name()}'.`;G=this._callParseArg(X,Q,$,W)}return G};this._checkNumberOfArguments();let J=[];this.registeredArguments.forEach((X,Q)=>{let $=X.defaultValue;if(X.variadic){if(Q<this.args.length){if($=this.args.slice(Q),X.parseArg)$=$.reduce((G,W)=>{return Y(X,W,G)},X.defaultValue)}else if($===void 0)$=[]}else if(Q<this.args.length){if($=this.args[Q],X.parseArg)$=Y(X,$,X.defaultValue)}J[Q]=$}),this.processedArgs=J}_chainOrCall(Y,J){if(Y?.then&&typeof Y.then==="function")return Y.then(()=>J());return J()}_chainOrCallHooks(Y,J){let X=Y,Q=[];if(this._getCommandAndAncestors().reverse().filter(($)=>$._lifeCycleHooks[J]!==void 0).forEach(($)=>{$._lifeCycleHooks[J].forEach((G)=>{Q.push({hookedCommand:$,callback:G})})}),J==="postAction")Q.reverse();return Q.forEach(($)=>{X=this._chainOrCall(X,()=>{return $.callback($.hookedCommand,this)})}),X}_chainOrCallSubCommandHook(Y,J,X){let Q=Y;if(this._lifeCycleHooks[X]!==void 0)this._lifeCycleHooks[X].forEach(($)=>{Q=this._chainOrCall(Q,()=>{return $(this,J)})});return Q}_parseCommand(Y,J){let X=this.parseOptions(J);if(this._parseOptionsEnv(),this._parseOptionsImplied(),Y=Y.concat(X.operands),J=X.unknown,this.args=Y.concat(J),Y&&this._findCommand(Y[0]))return this._dispatchSubcommand(Y[0],Y.slice(1),J);if(this._getHelpCommand()&&Y[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(Y[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(J),this._dispatchSubcommand(this._defaultCommandName,Y,J);if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName)this.help({error:!0});this._outputHelpIfRequested(X.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let Q=()=>{if(X.unknown.length>0)this.unknownOption(X.unknown[0])},$=`command:${this.name()}`;if(this._actionHandler){Q(),this._processArguments();let G;if(G=this._chainOrCallHooks(G,"preAction"),G=this._chainOrCall(G,()=>this._actionHandler(this.processedArgs)),this.parent)G=this._chainOrCall(G,()=>{this.parent.emit($,Y,J)});return G=this._chainOrCallHooks(G,"postAction"),G}if(this.parent?.listenerCount($))Q(),this._processArguments(),this.parent.emit($,Y,J);else if(Y.length){if(this._findCommand("*"))return this._dispatchSubcommand("*",Y,J);if(this.listenerCount("command:*"))this.emit("command:*",Y,J);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(Y){if(!Y)return;return this.commands.find((J)=>J._name===Y||J._aliases.includes(Y))}_findOption(Y){return this.options.find((J)=>J.is(Y))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((Y)=>{Y.options.forEach((J)=>{if(J.mandatory&&Y.getOptionValue(J.attributeName())===void 0)Y.missingMandatoryOptionValue(J)})})}_checkForConflictingLocalOptions(){let Y=this.options.filter((X)=>{let Q=X.attributeName();if(this.getOptionValue(Q)===void 0)return!1;return this.getOptionValueSource(Q)!=="default"});Y.filter((X)=>X.conflictsWith.length>0).forEach((X)=>{let Q=Y.find(($)=>X.conflictsWith.includes($.attributeName()));if(Q)this._conflictingOption(X,Q)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((Y)=>{Y._checkForConflictingLocalOptions()})}parseOptions(Y){let J=[],X=[],Q=J;function $(_){return _.length>1&&_[0]==="-"}let G=(_)=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(_))return!1;return!this._getCommandAndAncestors().some((B)=>B.options.map((L)=>L.short).some((L)=>/^-\d$/.test(L)))},W=null,q=null,H=0;while(H<Y.length||q){let _=q??Y[H++];if(q=null,_==="--"){if(Q===X)Q.push(_);Q.push(...Y.slice(H));break}if(W&&(!$(_)||G(_))){this.emit(`option:${W.name()}`,_);continue}if(W=null,$(_)){let B=this._findOption(_);if(B){if(B.required){let L=Y[H++];if(L===void 0)this.optionMissingArgument(B);this.emit(`option:${B.name()}`,L)}else if(B.optional){let L=null;if(H<Y.length&&(!$(Y[H])||G(Y[H])))L=Y[H++];this.emit(`option:${B.name()}`,L)}else this.emit(`option:${B.name()}`);W=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()}`),q=`-${_.slice(2)}`;continue}}if(/^--[^=]+=/.test(_)){let B=_.indexOf("="),L=this._findOption(_.slice(0,B));if(L&&(L.required||L.optional)){this.emit(`option:${L.name()}`,_.slice(B+1));continue}}if(Q===J&&$(_)&&!(this.commands.length===0&&G(_)))Q=X;if((this._enablePositionalOptions||this._passThroughOptions)&&J.length===0&&X.length===0){if(this._findCommand(_)){J.push(_),X.push(...Y.slice(H));break}else if(this._getHelpCommand()&&_===this._getHelpCommand().name()){J.push(_,...Y.slice(H));break}else if(this._defaultCommandName){X.push(_,...Y.slice(H));break}}if(this._passThroughOptions){Q.push(_,...Y.slice(H));break}Q.push(_)}return{operands:J,unknown:X}}opts(){if(this._storeOptionsAsProperties){let Y={},J=this.options.length;for(let X=0;X<J;X++){let Q=this.options[X].attributeName();Y[Q]=Q===this._versionOptionName?this._version:this[Q]}return Y}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((Y,J)=>Object.assign(Y,J.opts()),{})}error(Y,J){if(this._outputConfiguration.outputError(`${Y}
|
|
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 J
|
|
25
|
-
`),this._exit(0,"commander.version",
|
|
26
|
-
Expecting one of '${
|
|
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(
|
|
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(`
|
|
24
|
+
`),this.outputHelp({error:!0});let X=J||{},Q=X.exitCode||1,$=X.code||"commander.error";this._exit(Q,$,Y)}_parseOptionsEnv(){this.options.forEach((Y)=>{if(Y.envVar&&Y.envVar in m.env){let J=Y.attributeName();if(this.getOptionValue(J)===void 0||["default","config","env"].includes(this.getOptionValueSource(J)))if(Y.required||Y.optional)this.emit(`optionEnv:${Y.name()}`,m.env[Y.envVar]);else this.emit(`optionEnv:${Y.name()}`)}})}_parseOptionsImplied(){let Y=new vX(this.options),J=(X)=>{return this.getOptionValue(X)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(X))};this.options.filter((X)=>X.implied!==void 0&&J(X.attributeName())&&Y.valueFromOption(this.getOptionValue(X.attributeName()),X)).forEach((X)=>{Object.keys(X.implied).filter((Q)=>!J(Q)).forEach((Q)=>{this.setOptionValueWithSource(Q,X.implied[Q],"implied")})})}missingArgument(Y){let J=`error: missing required argument '${Y}'`;this.error(J,{code:"commander.missingArgument"})}optionMissingArgument(Y){let J=`error: option '${Y.flags}' argument missing`;this.error(J,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(Y){let J=`error: required option '${Y.flags}' not specified`;this.error(J,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(Y,J){let X=(G)=>{let W=G.attributeName(),q=this.getOptionValue(W),H=this.options.find((B)=>B.negate&&W===B.attributeName()),_=this.options.find((B)=>!B.negate&&W===B.attributeName());if(H&&(H.presetArg===void 0&&q===!1||H.presetArg!==void 0&&q===H.presetArg))return H;return _||G},Q=(G)=>{let W=X(G),q=W.attributeName();if(this.getOptionValueSource(q)==="env")return`environment variable '${W.envVar}'`;return`option '${W.flags}'`},$=`error: ${Q(Y)} cannot be used with ${Q(J)}`;this.error($,{code:"commander.conflictingOption"})}unknownOption(Y){if(this._allowUnknownOption)return;let J="";if(Y.startsWith("--")&&this._showSuggestionAfterError){let Q=[],$=this;do{let G=$.createHelp().visibleOptions($).filter((W)=>W.long).map((W)=>W.long);Q=Q.concat(G),$=$.parent}while($&&!$._enablePositionalOptions);J=nY(Y,Q)}let X=`error: unknown option '${Y}'${J}`;this.error(X,{code:"commander.unknownOption"})}_excessArguments(Y){if(this._allowExcessArguments)return;let J=this.registeredArguments.length,X=J===1?"":"s",$=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${J} argument${X} but got ${Y.length}.`;this.error($,{code:"commander.excessArguments"})}unknownCommand(){let Y=this.args[0],J="";if(this._showSuggestionAfterError){let Q=[];this.createHelp().visibleCommands(this).forEach(($)=>{if(Q.push($.name()),$.alias())Q.push($.alias())}),J=nY(Y,Q)}let X=`error: unknown command '${Y}'${J}`;this.error(X,{code:"commander.unknownCommand"})}version(Y,J,X){if(Y===void 0)return this._version;this._version=Y,J=J||"-V, --version",X=X||"output the version number";let Q=this.createOption(J,X);return this._versionOptionName=Q.attributeName(),this._registerOption(Q),this.on("option:"+Q.name(),()=>{this._outputConfiguration.writeOut(`${Y}
|
|
25
|
+
`),this._exit(0,"commander.version",Y)}),this}description(Y,J){if(Y===void 0&&J===void 0)return this._description;if(this._description=Y,J)this._argsDescription=J;return this}summary(Y){if(Y===void 0)return this._summary;return this._summary=Y,this}alias(Y){if(Y===void 0)return this._aliases[0];let J=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)J=this.commands[this.commands.length-1];if(Y===J._name)throw Error("Command alias can't be the same as its name");let X=this.parent?._findCommand(Y);if(X){let Q=[X.name()].concat(X.aliases()).join("|");throw Error(`cannot add alias '${Y}' to command '${this.name()}' as already have command '${Q}'`)}return J._aliases.push(Y),this}aliases(Y){if(Y===void 0)return this._aliases;return Y.forEach((J)=>this.alias(J)),this}usage(Y){if(Y===void 0){if(this._usage)return this._usage;let J=this.registeredArguments.map((X)=>{return ZX(X)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?J:[]).join(" ")}return this._usage=Y,this}name(Y){if(Y===void 0)return this._name;return this._name=Y,this}helpGroup(Y){if(Y===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=Y,this}commandsGroup(Y){if(Y===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=Y,this}optionsGroup(Y){if(Y===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=Y,this}_initOptionGroup(Y){if(this._defaultOptionGroup&&!Y.helpGroupHeading)Y.helpGroup(this._defaultOptionGroup)}_initCommandGroup(Y){if(this._defaultCommandGroup&&!Y.helpGroup())Y.helpGroup(this._defaultCommandGroup)}nameFromFilename(Y){return this._name=N0.basename(Y,N0.extname(Y)),this}executableDir(Y){if(Y===void 0)return this._executableDir;return this._executableDir=Y,this}helpInformation(Y){let J=this.createHelp(),X=this._getOutputContext(Y);J.prepareContext({error:X.error,helpWidth:X.helpWidth,outputHasColors:X.hasColors});let Q=J.formatHelp(this,J);if(X.hasColors)return Q;return this._outputConfiguration.stripColor(Q)}_getOutputContext(Y){Y=Y||{};let J=!!Y.error,X,Q,$;if(J)X=(W)=>this._outputConfiguration.writeErr(W),Q=this._outputConfiguration.getErrHasColors(),$=this._outputConfiguration.getErrHelpWidth();else X=(W)=>this._outputConfiguration.writeOut(W),Q=this._outputConfiguration.getOutHasColors(),$=this._outputConfiguration.getOutHelpWidth();return{error:J,write:(W)=>{if(!Q)W=this._outputConfiguration.stripColor(W);return X(W)},hasColors:Q,helpWidth:$}}outputHelp(Y){let J;if(typeof Y==="function")J=Y,Y=void 0;let X=this._getOutputContext(Y),Q={error:X.error,write:X.write,command:this};this._getCommandAndAncestors().reverse().forEach((G)=>G.emit("beforeAllHelp",Q)),this.emit("beforeHelp",Q);let $=this.helpInformation({error:X.error});if(J){if($=J($),typeof $!=="string"&&!Buffer.isBuffer($))throw Error("outputHelp callback must return a string or a Buffer")}if(X.write($),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",Q),this._getCommandAndAncestors().forEach((G)=>G.emit("afterAllHelp",Q))}helpOption(Y,J){if(typeof Y==="boolean"){if(Y){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(Y??"-h, --help",J??"display help for command"),Y||J)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(Y){return this._helpOption=Y,this._initOptionGroup(Y),this}help(Y){this.outputHelp(Y);let J=Number(m.exitCode??0);if(J===0&&Y&&typeof Y!=="function"&&Y.error)J=1;this._exit(J,"commander.help","(outputHelp)")}addHelpText(Y,J){let X=["beforeAll","before","after","afterAll"];if(!X.includes(Y))throw Error(`Unexpected value for position to addHelpText.
|
|
26
|
+
Expecting one of '${X.join("', '")}'`);let Q=`${Y}Help`;return this.on(Q,($)=>{let G;if(typeof J==="function")G=J({error:$.error,command:$.command});else G=J;if(G)$.write(`${G}
|
|
27
|
+
`)}),this}_outputHelpIfRequested(Y){let J=this._getHelpOption();if(J&&Y.find((Q)=>J.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function rY(Y){return Y.map((J)=>{if(!J.startsWith("--inspect"))return J;let X,Q="127.0.0.1",$="9229",G;if((G=J.match(/^(--inspect(-brk)?)$/))!==null)X=G[1];else if((G=J.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(X=G[1],/^\d+$/.test(G[3]))$=G[3];else Q=G[3];else if((G=J.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)X=G[1],Q=G[3],$=G[4];if(X&&$!=="0")return`${X}=${Q}:${parseInt($)+1}`;return J})}function P8(){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}xX.Command=k8;xX.useColor=P8});var eY=G0((cX)=>{var{Argument:sY}=u1(),{Command:T8}=oY(),{CommanderError:gX,InvalidArgumentError:aY}=A1(),{Help:mX}=S8(),{Option:tY}=I8();cX.program=new T8;cX.createCommand=(Y)=>new T8(Y);cX.createOption=(Y,J)=>new tY(Y,J);cX.createArgument=(Y,J)=>new sY(Y,J);cX.Command=T8;cX.Option=tY;cX.Argument=sY;cX.Help=mX;cX.CommanderError=gX;cX.InvalidArgumentError=aY;cX.InvalidOptionArgumentError=aY});var E5=G0((L5)=>{Object.defineProperty(L5,"__esModule",{value:!0});L5.toBig=L5.shrSL=L5.shrSH=L5.rotrSL=L5.rotrSH=L5.rotrBL=L5.rotrBH=L5.rotr32L=L5.rotr32H=L5.rotlSL=L5.rotlSH=L5.rotlBL=L5.rotlBH=L5.add5L=L5.add5H=L5.add4L=L5.add4H=L5.add3L=L5.add3H=void 0;L5.add=G5;L5.fromBig=JY;L5.split=p9;var Y8=BigInt(4294967295),YY=BigInt(32);function JY(Y,J=!1){if(J)return{h:Number(Y&Y8),l:Number(Y>>YY&Y8)};return{h:Number(Y>>YY&Y8)|0,l:Number(Y&Y8)|0}}function p9(Y,J=!1){let X=Y.length,Q=new Uint32Array(X),$=new Uint32Array(X);for(let G=0;G<X;G++){let{h:W,l:q}=JY(Y[G],J);[Q[G],$[G]]=[W,q]}return[Q,$]}var i9=(Y,J)=>BigInt(Y>>>0)<<YY|BigInt(J>>>0);L5.toBig=i9;var n9=(Y,J,X)=>Y>>>X;L5.shrSH=n9;var r9=(Y,J,X)=>Y<<32-X|J>>>X;L5.shrSL=r9;var o9=(Y,J,X)=>Y>>>X|J<<32-X;L5.rotrSH=o9;var s9=(Y,J,X)=>Y<<32-X|J>>>X;L5.rotrSL=s9;var a9=(Y,J,X)=>Y<<64-X|J>>>X-32;L5.rotrBH=a9;var t9=(Y,J,X)=>Y>>>X-32|J<<64-X;L5.rotrBL=t9;var e9=(Y,J)=>J;L5.rotr32H=e9;var Y5=(Y,J)=>Y;L5.rotr32L=Y5;var J5=(Y,J,X)=>Y<<X|J>>>32-X;L5.rotlSH=J5;var X5=(Y,J,X)=>J<<X|Y>>>32-X;L5.rotlSL=X5;var Q5=(Y,J,X)=>J<<X-32|Y>>>64-X;L5.rotlBH=Q5;var $5=(Y,J,X)=>Y<<X-32|J>>>64-X;L5.rotlBL=$5;function G5(Y,J,X,Q){let $=(J>>>0)+(Q>>>0);return{h:Y+X+($/4294967296|0)|0,l:$|0}}var W5=(Y,J,X)=>(Y>>>0)+(J>>>0)+(X>>>0);L5.add3L=W5;var q5=(Y,J,X,Q)=>J+X+Q+(Y/4294967296|0)|0;L5.add3H=q5;var H5=(Y,J,X,Q)=>(Y>>>0)+(J>>>0)+(X>>>0)+(Q>>>0);L5.add4L=H5;var _5=(Y,J,X,Q,$)=>J+X+Q+$+(Y/4294967296|0)|0;L5.add4H=_5;var B5=(Y,J,X,Q,$)=>(Y>>>0)+(J>>>0)+(X>>>0)+(Q>>>0)+($>>>0);L5.add5L=B5;var K5=(Y,J,X,Q,$,G)=>J+X+Q+$+G+(Y/4294967296|0)|0;L5.add5H=K5;var D3={fromBig:JY,split:p9,toBig:i9,shrSH:n9,shrSL:r9,rotrSH:o9,rotrSL:s9,rotrBH:a9,rotrBL:t9,rotr32H:e9,rotr32L:Y5,rotlSH:J5,rotlSL:X5,rotlBH:Q5,rotlBL:$5,add:G5,add3L:W5,add3H:q5,add4L:H5,add4H:_5,add5H:K5,add5L:B5};L5.default=D3});var F5=G0((D5)=>{Object.defineProperty(D5,"__esModule",{value:!0});D5.crypto=void 0;var b0=r0("node:crypto");D5.crypto=b0&&typeof b0==="object"&&"webcrypto"in b0?b0.webcrypto:b0&&typeof b0==="object"&&("randomBytes"in b0)?b0:void 0});var k5=G0((I5)=>{/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */Object.defineProperty(I5,"__esModule",{value:!0});I5.wrapXOFConstructorWithOpts=I5.wrapConstructorWithOpts=I5.wrapConstructor=I5.Hash=I5.nextTick=I5.swap32IfBE=I5.byteSwapIfBE=I5.swap8IfBE=I5.isLE=void 0;I5.isBytes=A5;I5.anumber=XY;I5.abytes=L1;I5.ahash=h3;I5.aexists=g3;I5.aoutput=m3;I5.u8=c3;I5.u32=u3;I5.clean=l3;I5.createView=d3;I5.rotr=p3;I5.rotl=i3;I5.byteSwap=QY;I5.byteSwap32=j5;I5.bytesToHex=r3;I5.hexToBytes=o3;I5.asyncLoop=a3;I5.utf8ToBytes=$Y;I5.bytesToUtf8=t3;I5.toBytes=J8;I5.kdfInputToBytes=e3;I5.concatBytes=Y$;I5.checkOpts=J$;I5.createHasher=z5;I5.createOptHasher=w5;I5.createXOFer=S5;I5.randomBytes=X$;var K1=F5();function A5(Y){return Y instanceof Uint8Array||ArrayBuffer.isView(Y)&&Y.constructor.name==="Uint8Array"}function XY(Y){if(!Number.isSafeInteger(Y)||Y<0)throw Error("positive integer expected, got "+Y)}function L1(Y,...J){if(!A5(Y))throw Error("Uint8Array expected");if(J.length>0&&!J.includes(Y.length))throw Error("Uint8Array expected of length "+J+", got length="+Y.length)}function h3(Y){if(typeof Y!=="function"||typeof Y.create!=="function")throw Error("Hash should be wrapped by utils.createHasher");XY(Y.outputLen),XY(Y.blockLen)}function g3(Y,J=!0){if(Y.destroyed)throw Error("Hash instance has been destroyed");if(J&&Y.finished)throw Error("Hash#digest() has already been called")}function m3(Y,J){L1(Y);let X=J.outputLen;if(Y.length<X)throw Error("digestInto() expects output buffer of length at least "+X)}function c3(Y){return new Uint8Array(Y.buffer,Y.byteOffset,Y.byteLength)}function u3(Y){return new Uint32Array(Y.buffer,Y.byteOffset,Math.floor(Y.byteLength/4))}function l3(...Y){for(let J=0;J<Y.length;J++)Y[J].fill(0)}function d3(Y){return new DataView(Y.buffer,Y.byteOffset,Y.byteLength)}function p3(Y,J){return Y<<32-J|Y>>>J}function i3(Y,J){return Y<<J|Y>>>32-J>>>0}I5.isLE=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function QY(Y){return Y<<24&4278190080|Y<<8&16711680|Y>>>8&65280|Y>>>24&255}I5.swap8IfBE=I5.isLE?(Y)=>Y:(Y)=>QY(Y);I5.byteSwapIfBE=I5.swap8IfBE;function j5(Y){for(let J=0;J<Y.length;J++)Y[J]=QY(Y[J]);return Y}I5.swap32IfBE=I5.isLE?(Y)=>Y:j5;var N5=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),n3=Array.from({length:256},(Y,J)=>J.toString(16).padStart(2,"0"));function r3(Y){if(L1(Y),N5)return Y.toHex();let J="";for(let X=0;X<Y.length;X++)J+=n3[Y[X]];return J}var I0={_0:48,_9:57,A:65,F:70,a:97,f:102};function M5(Y){if(Y>=I0._0&&Y<=I0._9)return Y-I0._0;if(Y>=I0.A&&Y<=I0.F)return Y-(I0.A-10);if(Y>=I0.a&&Y<=I0.f)return Y-(I0.a-10);return}function o3(Y){if(typeof Y!=="string")throw Error("hex string expected, got "+typeof Y);if(N5)return Uint8Array.fromHex(Y);let J=Y.length,X=J/2;if(J%2)throw Error("hex string expected, got unpadded hex of length "+J);let Q=new Uint8Array(X);for(let $=0,G=0;$<X;$++,G+=2){let W=M5(Y.charCodeAt(G)),q=M5(Y.charCodeAt(G+1));if(W===void 0||q===void 0){let H=Y[G]+Y[G+1];throw Error('hex string expected, got non-hex character "'+H+'" at index '+G)}Q[$]=W*16+q}return Q}var s3=async()=>{};I5.nextTick=s3;async function a3(Y,J,X){let Q=Date.now();for(let $=0;$<Y;$++){X($);let G=Date.now()-Q;if(G>=0&&G<J)continue;await I5.nextTick(),Q+=G}}function $Y(Y){if(typeof Y!=="string")throw Error("string expected");return new Uint8Array(new TextEncoder().encode(Y))}function t3(Y){return new TextDecoder().decode(Y)}function J8(Y){if(typeof Y==="string")Y=$Y(Y);return L1(Y),Y}function e3(Y){if(typeof Y==="string")Y=$Y(Y);return L1(Y),Y}function Y$(...Y){let J=0;for(let Q=0;Q<Y.length;Q++){let $=Y[Q];L1($),J+=$.length}let X=new Uint8Array(J);for(let Q=0,$=0;Q<Y.length;Q++){let G=Y[Q];X.set(G,$),$+=G.length}return X}function J$(Y,J){if(J!==void 0&&{}.toString.call(J)!=="[object Object]")throw Error("options should be object or undefined");return Object.assign(Y,J)}class R5{}I5.Hash=R5;function z5(Y){let J=(Q)=>Y().update(J8(Q)).digest(),X=Y();return J.outputLen=X.outputLen,J.blockLen=X.blockLen,J.create=()=>Y(),J}function w5(Y){let J=(Q,$)=>Y($).update(J8(Q)).digest(),X=Y({});return J.outputLen=X.outputLen,J.blockLen=X.blockLen,J.create=(Q)=>Y(Q),J}function S5(Y){let J=(Q,$)=>Y($).update(J8(Q)).digest(),X=Y({});return J.outputLen=X.outputLen,J.blockLen=X.blockLen,J.create=(Q)=>Y(Q),J}I5.wrapConstructor=z5;I5.wrapConstructorWithOpts=w5;I5.wrapXOFConstructorWithOpts=S5;function X$(Y=32){if(K1.crypto&&typeof K1.crypto.getRandomValues==="function")return K1.crypto.getRandomValues(new Uint8Array(Y));if(K1.crypto&&typeof K1.crypto.randomBytes==="function")return Uint8Array.from(K1.crypto.randomBytes(Y));throw Error("crypto.getRandomValues must be defined")}});var c5=G0((g5)=>{Object.defineProperty(g5,"__esModule",{value:!0});g5.shake256=g5.shake128=g5.keccak_512=g5.keccak_384=g5.keccak_256=g5.keccak_224=g5.sha3_512=g5.sha3_384=g5.sha3_256=g5.sha3_224=g5.Keccak=void 0;g5.keccakP=y5;var T1=E5(),a=k5(),v$=BigInt(0),k1=BigInt(1),x$=BigInt(2),y$=BigInt(7),h$=BigInt(256),g$=BigInt(113),C5=[],b5=[],v5=[];for(let Y=0,J=k1,X=1,Q=0;Y<24;Y++){[X,Q]=[Q,(2*X+3*Q)%5],C5.push(2*(5*Q+X)),b5.push((Y+1)*(Y+2)/2%64);let $=v$;for(let G=0;G<7;G++)if(J=(J<<k1^(J>>y$)*g$)%h$,J&x$)$^=k1<<(k1<<BigInt(G))-k1;v5.push($)}var x5=(0,T1.split)(v5,!0),m$=x5[0],c$=x5[1],T5=(Y,J,X)=>X>32?(0,T1.rotlBH)(Y,J,X):(0,T1.rotlSH)(Y,J,X),Z5=(Y,J,X)=>X>32?(0,T1.rotlBL)(Y,J,X):(0,T1.rotlSL)(Y,J,X);function y5(Y,J=24){let X=new Uint32Array(10);for(let Q=24-J;Q<24;Q++){for(let W=0;W<10;W++)X[W]=Y[W]^Y[W+10]^Y[W+20]^Y[W+30]^Y[W+40];for(let W=0;W<10;W+=2){let q=(W+8)%10,H=(W+2)%10,_=X[H],B=X[H+1],L=T5(_,B,1)^X[q],V=Z5(_,B,1)^X[q+1];for(let F=0;F<50;F+=10)Y[W+F]^=L,Y[W+F+1]^=V}let $=Y[2],G=Y[3];for(let W=0;W<24;W++){let q=b5[W],H=T5($,G,q),_=Z5($,G,q),B=C5[W];$=Y[B],G=Y[B+1],Y[B]=H,Y[B+1]=_}for(let W=0;W<50;W+=10){for(let q=0;q<10;q++)X[q]=Y[W+q];for(let q=0;q<10;q++)Y[W+q]^=~X[(q+2)%10]&X[(q+4)%10]}Y[0]^=m$[Q],Y[1]^=c$[Q]}(0,a.clean)(X)}class Z1 extends a.Hash{constructor(Y,J,X,Q=!1,$=24){super();if(this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=Y,this.suffix=J,this.outputLen=X,this.enableXOF=Q,this.rounds=$,(0,a.anumber)(X),!(0<Y&&Y<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=(0,a.u32)(this.state)}clone(){return this._cloneInto()}keccak(){(0,a.swap32IfBE)(this.state32),y5(this.state32,this.rounds),(0,a.swap32IfBE)(this.state32),this.posOut=0,this.pos=0}update(Y){(0,a.aexists)(this),Y=(0,a.toBytes)(Y),(0,a.abytes)(Y);let{blockLen:J,state:X}=this,Q=Y.length;for(let $=0;$<Q;){let G=Math.min(J-this.pos,Q-$);for(let W=0;W<G;W++)X[this.pos++]^=Y[$++];if(this.pos===J)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:Y,suffix:J,pos:X,blockLen:Q}=this;if(Y[X]^=J,(J&128)!==0&&X===Q-1)this.keccak();Y[Q-1]^=128,this.keccak()}writeInto(Y){(0,a.aexists)(this,!1),(0,a.abytes)(Y),this.finish();let J=this.state,{blockLen:X}=this;for(let Q=0,$=Y.length;Q<$;){if(this.posOut>=X)this.keccak();let G=Math.min(X-this.posOut,$-Q);Y.set(J.subarray(this.posOut,this.posOut+G),Q),this.posOut+=G,Q+=G}return Y}xofInto(Y){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(Y)}xof(Y){return(0,a.anumber)(Y),this.xofInto(new Uint8Array(Y))}digestInto(Y){if((0,a.aoutput)(Y,this),this.finished)throw Error("digest() was already called");return this.writeInto(Y),this.destroy(),Y}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,(0,a.clean)(this.state)}_cloneInto(Y){let{blockLen:J,suffix:X,outputLen:Q,rounds:$,enableXOF:G}=this;return Y||(Y=new Z1(J,X,Q,G,$)),Y.state32.set(this.state32),Y.pos=this.pos,Y.posOut=this.posOut,Y.finished=this.finished,Y.rounds=$,Y.suffix=X,Y.outputLen=Q,Y.enableXOF=G,Y.destroyed=this.destroyed,Y}}g5.Keccak=Z1;var v0=(Y,J,X)=>(0,a.createHasher)(()=>new Z1(J,Y,X));g5.sha3_224=(()=>v0(6,144,28))();g5.sha3_256=(()=>v0(6,136,32))();g5.sha3_384=(()=>v0(6,104,48))();g5.sha3_512=(()=>v0(6,72,64))();g5.keccak_224=(()=>v0(1,144,28))();g5.keccak_256=(()=>v0(1,136,32))();g5.keccak_384=(()=>v0(1,104,48))();g5.keccak_512=(()=>v0(1,72,64))();var h5=(Y,J,X)=>(0,a.createXOFer)((Q={})=>new Z1(J,Y,Q.dkLen===void 0?X:Q.dkLen,!0));g5.shake128=(()=>h5(31,168,16))();g5.shake256=(()=>h5(31,136,32))()});var r5=G0(($G,x0)=>{var{sha3_512:e$}=c5(),WY=(Y=4,J=Math.random)=>{let X="";while(X.length<Y)X=X+Math.floor(J()*36).toString(36);return X};function l5(Y){let J=8n,X=0n;for(let Q of Y.values()){let $=BigInt(Q);X=(X<<J)+$}return X}var d5=(Y="")=>{return l5(e$(Y)).toString(36).slice(1)},u5=Array.from({length:26},(Y,J)=>String.fromCharCode(J+97)),YG=(Y)=>u5[Math.floor(Y()*u5.length)],p5=({globalObj:Y=typeof global<"u"?global:typeof window<"u"?window:{},random:J=Math.random}={})=>{let X=Object.keys(Y).toString(),Q=X.length?X+WY(32,J):WY(32,J);return d5(Q).substring(0,32)},i5=(Y)=>()=>{return Y++},JG=476782367,n5=({random:Y=Math.random,counter:J=i5(Math.floor(Y()*JG)),length:X=24,fingerprint:Q=p5({random:Y})}={})=>{return function(){let G=YG(Y),W=Date.now().toString(36),q=J().toString(36),H=WY(X,Y),_=`${W+H+q+Q}`;return`${G+d5(_).substring(1,X)}`}},XG=n5(),QG=(Y,{minLength:J=2,maxLength:X=32}={})=>{let Q=Y.length,$=/^[0-9a-z]+$/;try{if(typeof Y==="string"&&Q>=J&&Q<=X&&$.test(Y))return!0}finally{}return!1};$G.getConstants=()=>({defaultLength:24,bigLength:32});$G.init=n5;$G.createId=XG;$G.bufToBigInt=l5;$G.createCounter=i5;$G.createFingerprint=p5;$G.isCuid=QG});var Y9=WX(eY(),1),{program:u2,createCommand:l2,createArgument:d2,createOption:p2,CommanderError:i2,InvalidArgumentError:n2,InvalidOptionArgumentError:r2,Command:J9,Argument:o2,Option:s2,Help:a2}=Y9.default;import{appendFileSync as G4,mkdirSync as W4}from"fs";import{dirname as q4}from"path";import{existsSync as eX,readFileSync as Y4}from"fs";import{homedir as J4}from"os";import{dirname as X4,resolve as Z8}from"path";function Q4(){let Y=process.cwd(),J=10,X=0;while(X<J){let Q=Z8(Y,"package.json");if(eX(Q))try{if(JSON.parse(Y4(Q,"utf-8")).workspaces)return Y}catch{}let $=X4(Y);if($===Y)break;Y=$,X++}throw Error("Could not find monorepo root (no package.json with workspaces field found)")}function $4(){return Z8(Q4(),"logs")}function d1(){return Z8($4(),"dev.log")}function m0(Y){let J=J4();if(Y.startsWith(J))return Y.replace(J,"~");let X=/^(\/Users\/[^/]+|\/home\/[^/]+)/;return Y.replace(X,"~")}function j1(Y){if(Y==="."||Y===null)return"";return Y}var X9=!1;function H4(Y){if(Y===void 0||Y===null)return Y;if(process.env.DEBUG_PAYLOADS!=="true"){if(!X9)return X9=!0,"[payload logging disabled - set DEBUG_PAYLOADS=true to enable]";return}if(typeof Y==="object"){let X=JSON.stringify(Y),Q=Math.round(X.length/1024),$=X.includes('"isImage":true')||X.includes('"isImage": true')||X.length>1e4&&/[A-Za-z0-9+/]{100,}/.test(X);if($||X.length>1e4)return`[payload: ${Q}KB${$?", contains binary data":""}]`}return Y}class Q9{component;logToFile;logFilePath;disableConsole;constructor(Y){this.component=Y.component,this.disableConsole=Y.disableConsole??!1;let J=typeof process<"u"&&!!process.versions?.node;this.logToFile=Y.logToFile??(J&&!1);try{if(J&&this.logToFile)this.logFilePath=Y.logFilePath??d1();else this.logFilePath="",this.logToFile=!1}catch(X){if(this.logToFile=!1,this.logFilePath="",process.env.DEBUG)console.warn(`[${this.component}] Could not initialize file logging:`,X)}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 X=q4(this.logFilePath);W4(X,{recursive:!0})}catch(X){if(process.env.DEBUG)console.error(`[${this.component}] Failed to create logs directory:`,X)}}log(Y,J,X){let Q=new Date,G=`[${`${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}] [${Y}] ${J}`,W=Y==="ERROR"?console.error:Y==="WARN"?console.warn:console.log,q=H4(X);if(!this.disableConsole){if(W(G),q!==void 0){let H=typeof q==="object"?JSON.stringify(q,null,2):String(q);W(` ${H}`)}}if(this.logToFile)try{let H=G+`
|
|
28
|
+
`;if(q!==void 0){let _=typeof q==="object"?JSON.stringify(q):String(q);H+=` ${_}
|
|
29
|
+
`}G4(this.logFilePath,H)}catch{}}debug(Y,J){if(process.env.DEBUG)this.log("DEBUG",Y,J)}info(Y,J){this.log("INFO",Y,J)}warn(Y,J){this.log("WARN",Y,J)}error(Y,J){this.log("ERROR",Y,J)}}function $9(Y,J){return new Q9({component:Y,...J})}import{existsSync as G9,mkdirSync as _4,readFileSync as B4,writeFileSync as K4}from"fs";import{homedir as L4}from"os";import{join as W9}from"path";import{Entry as v8}from"@napi-rs/keyring";var C8=W9(L4(),".config","agentlogs"),b8=W9(C8,"config.json"),x8="agentlogs-cli";function q9(){if(!G9(C8))_4(C8,{recursive:!0})}function y8(){if(q9(),!G9(b8))return{environments:[]};try{let Y=B4(b8,"utf-8"),J=JSON.parse(Y);return{environments:Array.isArray(J.environments)?J.environments:[]}}catch{return{environments:[]}}}function H9(Y){q9();try{K4(b8,JSON.stringify(Y,null,2),"utf-8")}catch(J){throw console.error("Failed to write config file:",J),J}}function p1(){return y8().environments}function i1(Y){return p1().find((J)=>J.name===Y)}function h8(Y,J){return`${Y}:${J}`}function g8(Y){let J=process.env.AGENTLOGS_AUTH_TOKEN?.trim();if(J)return J;try{let X=i1(Y);if(!X?.user?.email)return null;let Q=h8(Y,X.user.email);return new v8(x8,Q).getPassword()}catch{return null}}function _9(Y,J,X){try{let Q=h8(Y,J);new v8(x8,Q).setPassword(X)}catch(Q){throw console.error("Failed to store token in keychain:",Q),Q}}function B9(Y){try{let J=i1(Y);if(!J?.user?.email)return;let X=h8(Y,J.user.email);new v8(x8,X).deletePassword()}catch{}}function K9(Y){let J=y8(),X=J.environments.findIndex((Q)=>Q.name===Y.name);if(X>=0)J.environments[X]=Y;else J.environments.push(Y);H9(J)}function L9(Y){let J=y8();J.environments=J.environments.filter((X)=>X.name!==Y),H9(J)}function W0(){let Y=p1(),J=[];for(let X of Y){let Q=g8(X.name);if(Q)J.push({...X,token:Q})}if(J.length===0){let X=process.env.AGENTLOGS_AUTH_TOKEN?.trim();if(X){let Q=process.env.AGENTLOGS_SERVER_URL?.trim()||"https://agentlogs.ai"?.trim()||"https://agentlogs.ai";J.push({name:"prod",baseURL:Q,user:{id:"ci",email:"ci@agentlogs.ai",name:"CI"},lastLoginTime:new Date().toISOString(),token:X})}}return J}import{createHash as NG}from"crypto";import{existsSync as BY,readFileSync as RG}from"fs";import{dirname as zG,isAbsolute as wG,resolve as SG}from"path";import m6 from"node:crypto";import P1 from"node:fs/promises";import i0 from"node:path";var K={};qX(K,{void:()=>s4,util:()=>y,unknown:()=>r4,union:()=>Y6,undefined:()=>p4,tuple:()=>Q6,transformer:()=>V6,symbol:()=>d4,string:()=>N9,strictObject:()=>e4,setErrorMap:()=>D4,set:()=>W6,record:()=>$6,quotelessJson:()=>V4,promise:()=>L6,preprocess:()=>U6,pipeline:()=>F6,ostring:()=>M6,optional:()=>E6,onumber:()=>A6,oboolean:()=>j6,objectUtil:()=>m8,object:()=>t4,number:()=>R9,nullable:()=>D6,null:()=>i4,never:()=>o4,nativeEnum:()=>K6,nan:()=>c4,map:()=>G6,makeIssue:()=>N1,literal:()=>_6,lazy:()=>H6,late:()=>g4,isValid:()=>f0,isDirty:()=>r1,isAsync:()=>s0,isAborted:()=>n1,intersection:()=>X6,instanceof:()=>m4,getParsedType:()=>D0,getErrorMap:()=>o0,function:()=>q6,enum:()=>B6,effect:()=>V6,discriminatedUnion:()=>J6,defaultErrorMap:()=>R0,datetimeRegex:()=>M9,date:()=>l4,custom:()=>j9,coerce:()=>N6,boolean:()=>z9,bigint:()=>u4,array:()=>a4,any:()=>n4,addIssueToContext:()=>M,ZodVoid:()=>z1,ZodUnknown:()=>P0,ZodUnion:()=>X1,ZodUndefined:()=>Y1,ZodType:()=>x,ZodTuple:()=>F0,ZodTransformer:()=>K0,ZodSymbol:()=>R1,ZodString:()=>q0,ZodSet:()=>d0,ZodSchema:()=>x,ZodRecord:()=>w1,ZodReadonly:()=>_1,ZodPromise:()=>p0,ZodPipeline:()=>O1,ZodParsedType:()=>U,ZodOptional:()=>_0,ZodObject:()=>p,ZodNumber:()=>k0,ZodNullable:()=>w0,ZodNull:()=>J1,ZodNever:()=>U0,ZodNativeEnum:()=>W1,ZodNaN:()=>I1,ZodMap:()=>S1,ZodLiteral:()=>G1,ZodLazy:()=>$1,ZodIssueCode:()=>D,ZodIntersection:()=>Q1,ZodFunction:()=>t0,ZodFirstPartyTypeKind:()=>O,ZodError:()=>Y0,ZodEnum:()=>Z0,ZodEffects:()=>K0,ZodDiscriminatedUnion:()=>o1,ZodDefault:()=>q1,ZodDate:()=>u0,ZodCatch:()=>H1,ZodBranded:()=>s1,ZodBoolean:()=>e0,ZodBigInt:()=>T0,ZodArray:()=>H0,ZodAny:()=>l0,Schema:()=>x,ParseStatus:()=>r,OK:()=>s,NEVER:()=>R6,INVALID:()=>I,EMPTY_PATH:()=>U4,DIRTY:()=>c0,BRAND:()=>h4});var y;(function(Y){Y.assertEqual=($)=>{};function J($){}Y.assertIs=J;function X($){throw Error()}Y.assertNever=X,Y.arrayToEnum=($)=>{let G={};for(let W of $)G[W]=W;return G},Y.getValidEnumValues=($)=>{let G=Y.objectKeys($).filter((q)=>typeof $[$[q]]!=="number"),W={};for(let q of G)W[q]=$[q];return Y.objectValues(W)},Y.objectValues=($)=>{return Y.objectKeys($).map(function(G){return $[G]})},Y.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let G=[];for(let W in $)if(Object.prototype.hasOwnProperty.call($,W))G.push(W);return G},Y.find=($,G)=>{for(let W of $)if(G(W))return W;return},Y.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function Q($,G=" | "){return $.map((W)=>typeof W==="string"?`'${W}'`:W).join(G)}Y.joinValues=Q,Y.jsonStringifyReplacer=($,G)=>{if(typeof G==="bigint")return G.toString();return G}})(y||(y={}));var m8;(function(Y){Y.mergeShapes=(J,X)=>{return{...J,...X}}})(m8||(m8={}));var U=y.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),D0=(Y)=>{switch(typeof Y){case"undefined":return U.undefined;case"string":return U.string;case"number":return Number.isNaN(Y)?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(Y))return U.array;if(Y===null)return U.null;if(Y.then&&typeof Y.then==="function"&&Y.catch&&typeof Y.catch==="function")return U.promise;if(typeof Map<"u"&&Y instanceof Map)return U.map;if(typeof Set<"u"&&Y instanceof Set)return U.set;if(typeof Date<"u"&&Y instanceof Date)return U.date;return U.object;default:return U.unknown}};var D=y.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"]),V4=(Y)=>{return JSON.stringify(Y,null,2).replace(/"([^"]+)":/g,"$1:")};class Y0 extends Error{get errors(){return this.issues}constructor(Y){super();this.issues=[],this.addIssue=(X)=>{this.issues=[...this.issues,X]},this.addIssues=(X=[])=>{this.issues=[...this.issues,...X]};let J=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,J);else this.__proto__=J;this.name="ZodError",this.issues=Y}format(Y){let J=Y||function($){return $.message},X={_errors:[]},Q=($)=>{for(let G of $.issues)if(G.code==="invalid_union")G.unionErrors.map(Q);else if(G.code==="invalid_return_type")Q(G.returnTypeError);else if(G.code==="invalid_arguments")Q(G.argumentsError);else if(G.path.length===0)X._errors.push(J(G));else{let W=X,q=0;while(q<G.path.length){let H=G.path[q];if(q!==G.path.length-1)W[H]=W[H]||{_errors:[]};else W[H]=W[H]||{_errors:[]},W[H]._errors.push(J(G));W=W[H],q++}}};return Q(this),X}static assert(Y){if(!(Y instanceof Y0))throw Error(`Not a ZodError: ${Y}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,y.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Y=(J)=>J.message){let J={},X=[];for(let Q of this.issues)if(Q.path.length>0){let $=Q.path[0];J[$]=J[$]||[],J[$].push(Y(Q))}else X.push(Y(Q));return{formErrors:X,fieldErrors:J}}get formErrors(){return this.flatten()}}Y0.create=(Y)=>{return new Y0(Y)};var E4=(Y,J)=>{let X;switch(Y.code){case D.invalid_type:if(Y.received===U.undefined)X="Required";else X=`Expected ${Y.expected}, received ${Y.received}`;break;case D.invalid_literal:X=`Invalid literal value, expected ${JSON.stringify(Y.expected,y.jsonStringifyReplacer)}`;break;case D.unrecognized_keys:X=`Unrecognized key(s) in object: ${y.joinValues(Y.keys,", ")}`;break;case D.invalid_union:X="Invalid input";break;case D.invalid_union_discriminator:X=`Invalid discriminator value. Expected ${y.joinValues(Y.options)}`;break;case D.invalid_enum_value:X=`Invalid enum value. Expected ${y.joinValues(Y.options)}, received '${Y.received}'`;break;case D.invalid_arguments:X="Invalid function arguments";break;case D.invalid_return_type:X="Invalid function return type";break;case D.invalid_date:X="Invalid date";break;case D.invalid_string:if(typeof Y.validation==="object")if("includes"in Y.validation){if(X=`Invalid input: must include "${Y.validation.includes}"`,typeof Y.validation.position==="number")X=`${X} at one or more positions greater than or equal to ${Y.validation.position}`}else if("startsWith"in Y.validation)X=`Invalid input: must start with "${Y.validation.startsWith}"`;else if("endsWith"in Y.validation)X=`Invalid input: must end with "${Y.validation.endsWith}"`;else y.assertNever(Y.validation);else if(Y.validation!=="regex")X=`Invalid ${Y.validation}`;else X="Invalid";break;case D.too_small:if(Y.type==="array")X=`Array must contain ${Y.exact?"exactly":Y.inclusive?"at least":"more than"} ${Y.minimum} element(s)`;else if(Y.type==="string")X=`String must contain ${Y.exact?"exactly":Y.inclusive?"at least":"over"} ${Y.minimum} character(s)`;else if(Y.type==="number")X=`Number must be ${Y.exact?"exactly equal to ":Y.inclusive?"greater than or equal to ":"greater than "}${Y.minimum}`;else if(Y.type==="bigint")X=`Number must be ${Y.exact?"exactly equal to ":Y.inclusive?"greater than or equal to ":"greater than "}${Y.minimum}`;else if(Y.type==="date")X=`Date must be ${Y.exact?"exactly equal to ":Y.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Y.minimum))}`;else X="Invalid input";break;case D.too_big:if(Y.type==="array")X=`Array must contain ${Y.exact?"exactly":Y.inclusive?"at most":"less than"} ${Y.maximum} element(s)`;else if(Y.type==="string")X=`String must contain ${Y.exact?"exactly":Y.inclusive?"at most":"under"} ${Y.maximum} character(s)`;else if(Y.type==="number")X=`Number must be ${Y.exact?"exactly":Y.inclusive?"less than or equal to":"less than"} ${Y.maximum}`;else if(Y.type==="bigint")X=`BigInt must be ${Y.exact?"exactly":Y.inclusive?"less than or equal to":"less than"} ${Y.maximum}`;else if(Y.type==="date")X=`Date must be ${Y.exact?"exactly":Y.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Y.maximum))}`;else X="Invalid input";break;case D.custom:X="Invalid input";break;case D.invalid_intersection_types:X="Intersection results could not be merged";break;case D.not_multiple_of:X=`Number must be a multiple of ${Y.multipleOf}`;break;case D.not_finite:X="Number must be finite";break;default:X=J.defaultError,y.assertNever(Y)}return{message:X}},R0=E4;var V9=R0;function D4(Y){V9=Y}function o0(){return V9}var N1=(Y)=>{let{data:J,path:X,errorMaps:Q,issueData:$}=Y,G=[...X,...$.path||[]],W={...$,path:G};if($.message!==void 0)return{...$,path:G,message:$.message};let q="",H=Q.filter((_)=>!!_).slice().reverse();for(let _ of H)q=_(W,{data:J,defaultError:q}).message;return{...$,path:G,message:q}},U4=[];function M(Y,J){let X=o0(),Q=N1({issueData:J,data:Y.data,path:Y.path,errorMaps:[Y.common.contextualErrorMap,Y.schemaErrorMap,X,X===R0?void 0:R0].filter(($)=>!!$)});Y.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(Y,J){let X=[];for(let Q of J){if(Q.status==="aborted")return I;if(Q.status==="dirty")Y.dirty();X.push(Q.value)}return{status:Y.value,value:X}}static async mergeObjectAsync(Y,J){let X=[];for(let Q of J){let $=await Q.key,G=await Q.value;X.push({key:$,value:G})}return r.mergeObjectSync(Y,X)}static mergeObjectSync(Y,J){let X={};for(let Q of J){let{key:$,value:G}=Q;if($.status==="aborted")return I;if(G.status==="aborted")return I;if($.status==="dirty")Y.dirty();if(G.status==="dirty")Y.dirty();if($.value!=="__proto__"&&(typeof G.value<"u"||Q.alwaysSet))X[$.value]=G.value}return{status:Y.value,value:X}}}var I=Object.freeze({status:"aborted"}),c0=(Y)=>({status:"dirty",value:Y}),s=(Y)=>({status:"valid",value:Y}),n1=(Y)=>Y.status==="aborted",r1=(Y)=>Y.status==="dirty",f0=(Y)=>Y.status==="valid",s0=(Y)=>typeof Promise<"u"&&Y instanceof Promise;var R;(function(Y){Y.errToObj=(J)=>typeof J==="string"?{message:J}:J||{},Y.toString=(J)=>typeof J==="string"?J:J?.message})(R||(R={}));class B0{constructor(Y,J,X,Q){this._cachedPath=[],this.parent=Y,this.data=J,this._path=X,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 E9=(Y,J)=>{if(f0(J))return{success:!0,data:J.value};else{if(!Y.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 Y0(Y.common.issues);return this._error=X,this._error}}}};function b(Y){if(!Y)return{};let{errorMap:J,invalid_type_error:X,required_error:Q,description:$}=Y;if(J&&(X||Q))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(J)return{errorMap:J,description:$};return{errorMap:(W,q)=>{let{message:H}=Y;if(W.code==="invalid_enum_value")return{message:H??q.defaultError};if(typeof q.data>"u")return{message:H??Q??q.defaultError};if(W.code!=="invalid_type")return{message:q.defaultError};return{message:H??X??q.defaultError}},description:$}}class x{get description(){return this._def.description}_getType(Y){return D0(Y.data)}_getOrReturnCtx(Y,J){return J||{common:Y.parent.common,data:Y.data,parsedType:D0(Y.data),schemaErrorMap:this._def.errorMap,path:Y.path,parent:Y.parent}}_processInputParams(Y){return{status:new r,ctx:{common:Y.parent.common,data:Y.data,parsedType:D0(Y.data),schemaErrorMap:this._def.errorMap,path:Y.path,parent:Y.parent}}}_parseSync(Y){let J=this._parse(Y);if(s0(J))throw Error("Synchronous parse encountered promise.");return J}_parseAsync(Y){let J=this._parse(Y);return Promise.resolve(J)}parse(Y,J){let X=this.safeParse(Y,J);if(X.success)return X.data;throw X.error}safeParse(Y,J){let X={common:{issues:[],async:J?.async??!1,contextualErrorMap:J?.errorMap},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Y,parsedType:D0(Y)},Q=this._parseSync({data:Y,path:X.path,parent:X});return E9(X,Q)}"~validate"(Y){let J={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Y,parsedType:D0(Y)};if(!this["~standard"].async)try{let X=this._parseSync({data:Y,path:[],parent:J});return f0(X)?{value:X.value}:{issues:J.common.issues}}catch(X){if(X?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;J.common={issues:[],async:!0}}return this._parseAsync({data:Y,path:[],parent:J}).then((X)=>f0(X)?{value:X.value}:{issues:J.common.issues})}async parseAsync(Y,J){let X=await this.safeParseAsync(Y,J);if(X.success)return X.data;throw X.error}async safeParseAsync(Y,J){let X={common:{issues:[],contextualErrorMap:J?.errorMap,async:!0},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Y,parsedType:D0(Y)},Q=this._parse({data:Y,path:X.path,parent:X}),$=await(s0(Q)?Q:Promise.resolve(Q));return E9(X,$)}refine(Y,J){let X=(Q)=>{if(typeof J==="string"||typeof J>"u")return{message:J};else if(typeof J==="function")return J(Q);else return J};return this._refinement((Q,$)=>{let G=Y(Q),W=()=>$.addIssue({code:D.custom,...X(Q)});if(typeof Promise<"u"&&G instanceof Promise)return G.then((q)=>{if(!q)return W(),!1;else return!0});if(!G)return W(),!1;else return!0})}refinement(Y,J){return this._refinement((X,Q)=>{if(!Y(X))return Q.addIssue(typeof J==="function"?J(X,Q):J),!1;else return!0})}_refinement(Y){return new K0({schema:this,typeName:O.ZodEffects,effect:{type:"refinement",refinement:Y}})}superRefine(Y){return this._refinement(Y)}constructor(Y){this.spa=this.safeParseAsync,this._def=Y,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:(J)=>this["~validate"](J)}}optional(){return _0.create(this,this._def)}nullable(){return w0.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return H0.create(this)}promise(){return p0.create(this,this._def)}or(Y){return X1.create([this,Y],this._def)}and(Y){return Q1.create(this,Y,this._def)}transform(Y){return new K0({...b(this._def),schema:this,typeName:O.ZodEffects,effect:{type:"transform",transform:Y}})}default(Y){let J=typeof Y==="function"?Y:()=>Y;return new q1({...b(this._def),innerType:this,defaultValue:J,typeName:O.ZodDefault})}brand(){return new s1({typeName:O.ZodBranded,type:this,...b(this._def)})}catch(Y){let J=typeof Y==="function"?Y:()=>Y;return new H1({...b(this._def),innerType:this,catchValue:J,typeName:O.ZodCatch})}describe(Y){return new this.constructor({...this._def,description:Y})}pipe(Y){return O1.create(this,Y)}readonly(){return _1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var F4=/^c[^\s-]{8,}$/i,M4=/^[0-9a-z]+$/,A4=/^[0-9A-HJKMNP-TV-Z]{26}$/i,j4=/^[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,N4=/^[a-z0-9_-]{21}$/i,R4=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,z4=/^[-+]?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)?)??$/,w4=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,S4="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",c8,I4=/^(?:(?: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])$/,O4=/^(?:(?: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])$/,f4=/^(([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]))$/,P4=/^(([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])$/,k4=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,T4=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,U9="((\\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])))",Z4=new RegExp(`^${U9}$`);function F9(Y){let J="[0-5]\\d";if(Y.precision)J=`${J}\\.\\d{${Y.precision}}`;else if(Y.precision==null)J=`${J}(\\.\\d+)?`;let X=Y.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${J})${X}`}function C4(Y){return new RegExp(`^${F9(Y)}$`)}function M9(Y){let J=`${U9}T${F9(Y)}`,X=[];if(X.push(Y.local?"Z?":"Z"),Y.offset)X.push("([+-]\\d{2}:?\\d{2})");return J=`${J}(${X.join("|")})`,new RegExp(`^${J}$`)}function b4(Y,J){if((J==="v4"||!J)&&I4.test(Y))return!0;if((J==="v6"||!J)&&f4.test(Y))return!0;return!1}function v4(Y,J){if(!R4.test(Y))return!1;try{let[X]=Y.split(".");if(!X)return!1;let Q=X.replace(/-/g,"+").replace(/_/g,"/").padEnd(X.length+(4-X.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(J&&$.alg!==J)return!1;return!0}catch{return!1}}function x4(Y,J){if((J==="v4"||!J)&&O4.test(Y))return!0;if((J==="v6"||!J)&&P4.test(Y))return!0;return!1}class q0 extends x{_parse(Y){if(this._def.coerce)Y.data=String(Y.data);if(this._getType(Y)!==U.string){let $=this._getOrReturnCtx(Y);return M($,{code:D.invalid_type,expected:U.string,received:$.parsedType}),I}let X=new r,Q=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Y.data.length<$.value)Q=this._getOrReturnCtx(Y,Q),M(Q,{code:D.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),X.dirty()}else if($.kind==="max"){if(Y.data.length>$.value)Q=this._getOrReturnCtx(Y,Q),M(Q,{code:D.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),X.dirty()}else if($.kind==="length"){let G=Y.data.length>$.value,W=Y.data.length<$.value;if(G||W){if(Q=this._getOrReturnCtx(Y,Q),G)M(Q,{code:D.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(W)M(Q,{code:D.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});X.dirty()}}else if($.kind==="email"){if(!w4.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"email",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="emoji"){if(!c8)c8=new RegExp(S4,"u");if(!c8.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"emoji",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="uuid"){if(!j4.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"uuid",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="nanoid"){if(!N4.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"nanoid",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cuid"){if(!F4.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"cuid",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cuid2"){if(!M4.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"cuid2",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="ulid"){if(!A4.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"ulid",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="url")try{new URL(Y.data)}catch{Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"url",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"regex",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="trim")Y.data=Y.data.trim();else if($.kind==="includes"){if(!Y.data.includes($.value,$.position))Q=this._getOrReturnCtx(Y,Q),M(Q,{code:D.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),X.dirty()}else if($.kind==="toLowerCase")Y.data=Y.data.toLowerCase();else if($.kind==="toUpperCase")Y.data=Y.data.toUpperCase();else if($.kind==="startsWith"){if(!Y.data.startsWith($.value))Q=this._getOrReturnCtx(Y,Q),M(Q,{code:D.invalid_string,validation:{startsWith:$.value},message:$.message}),X.dirty()}else if($.kind==="endsWith"){if(!Y.data.endsWith($.value))Q=this._getOrReturnCtx(Y,Q),M(Q,{code:D.invalid_string,validation:{endsWith:$.value},message:$.message}),X.dirty()}else if($.kind==="datetime"){if(!M9($).test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{code:D.invalid_string,validation:"datetime",message:$.message}),X.dirty()}else if($.kind==="date"){if(!Z4.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{code:D.invalid_string,validation:"date",message:$.message}),X.dirty()}else if($.kind==="time"){if(!C4($).test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{code:D.invalid_string,validation:"time",message:$.message}),X.dirty()}else if($.kind==="duration"){if(!z4.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"duration",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="ip"){if(!b4(Y.data,$.version))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"ip",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="jwt"){if(!v4(Y.data,$.alg))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"jwt",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cidr"){if(!x4(Y.data,$.version))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"cidr",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="base64"){if(!k4.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"base64",code:D.invalid_string,message:$.message}),X.dirty()}else if($.kind==="base64url"){if(!T4.test(Y.data))Q=this._getOrReturnCtx(Y,Q),M(Q,{validation:"base64url",code:D.invalid_string,message:$.message}),X.dirty()}else y.assertNever($);return{status:X.value,value:Y.data}}_regex(Y,J,X){return this.refinement((Q)=>Y.test(Q),{validation:J,code:D.invalid_string,...R.errToObj(X)})}_addCheck(Y){return new q0({...this._def,checks:[...this._def.checks,Y]})}email(Y){return this._addCheck({kind:"email",...R.errToObj(Y)})}url(Y){return this._addCheck({kind:"url",...R.errToObj(Y)})}emoji(Y){return this._addCheck({kind:"emoji",...R.errToObj(Y)})}uuid(Y){return this._addCheck({kind:"uuid",...R.errToObj(Y)})}nanoid(Y){return this._addCheck({kind:"nanoid",...R.errToObj(Y)})}cuid(Y){return this._addCheck({kind:"cuid",...R.errToObj(Y)})}cuid2(Y){return this._addCheck({kind:"cuid2",...R.errToObj(Y)})}ulid(Y){return this._addCheck({kind:"ulid",...R.errToObj(Y)})}base64(Y){return this._addCheck({kind:"base64",...R.errToObj(Y)})}base64url(Y){return this._addCheck({kind:"base64url",...R.errToObj(Y)})}jwt(Y){return this._addCheck({kind:"jwt",...R.errToObj(Y)})}ip(Y){return this._addCheck({kind:"ip",...R.errToObj(Y)})}cidr(Y){return this._addCheck({kind:"cidr",...R.errToObj(Y)})}datetime(Y){if(typeof Y==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:Y});return this._addCheck({kind:"datetime",precision:typeof Y?.precision>"u"?null:Y?.precision,offset:Y?.offset??!1,local:Y?.local??!1,...R.errToObj(Y?.message)})}date(Y){return this._addCheck({kind:"date",message:Y})}time(Y){if(typeof Y==="string")return this._addCheck({kind:"time",precision:null,message:Y});return this._addCheck({kind:"time",precision:typeof Y?.precision>"u"?null:Y?.precision,...R.errToObj(Y?.message)})}duration(Y){return this._addCheck({kind:"duration",...R.errToObj(Y)})}regex(Y,J){return this._addCheck({kind:"regex",regex:Y,...R.errToObj(J)})}includes(Y,J){return this._addCheck({kind:"includes",value:Y,position:J?.position,...R.errToObj(J?.message)})}startsWith(Y,J){return this._addCheck({kind:"startsWith",value:Y,...R.errToObj(J)})}endsWith(Y,J){return this._addCheck({kind:"endsWith",value:Y,...R.errToObj(J)})}min(Y,J){return this._addCheck({kind:"min",value:Y,...R.errToObj(J)})}max(Y,J){return this._addCheck({kind:"max",value:Y,...R.errToObj(J)})}length(Y,J){return this._addCheck({kind:"length",value:Y,...R.errToObj(J)})}nonempty(Y){return this.min(1,R.errToObj(Y))}trim(){return new q0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new q0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new q0({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((Y)=>Y.kind==="datetime")}get isDate(){return!!this._def.checks.find((Y)=>Y.kind==="date")}get isTime(){return!!this._def.checks.find((Y)=>Y.kind==="time")}get isDuration(){return!!this._def.checks.find((Y)=>Y.kind==="duration")}get isEmail(){return!!this._def.checks.find((Y)=>Y.kind==="email")}get isURL(){return!!this._def.checks.find((Y)=>Y.kind==="url")}get isEmoji(){return!!this._def.checks.find((Y)=>Y.kind==="emoji")}get isUUID(){return!!this._def.checks.find((Y)=>Y.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((Y)=>Y.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((Y)=>Y.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((Y)=>Y.kind==="cuid2")}get isULID(){return!!this._def.checks.find((Y)=>Y.kind==="ulid")}get isIP(){return!!this._def.checks.find((Y)=>Y.kind==="ip")}get isCIDR(){return!!this._def.checks.find((Y)=>Y.kind==="cidr")}get isBase64(){return!!this._def.checks.find((Y)=>Y.kind==="base64")}get isBase64url(){return!!this._def.checks.find((Y)=>Y.kind==="base64url")}get minLength(){let Y=null;for(let J of this._def.checks)if(J.kind==="min"){if(Y===null||J.value>Y)Y=J.value}return Y}get maxLength(){let Y=null;for(let J of this._def.checks)if(J.kind==="max"){if(Y===null||J.value<Y)Y=J.value}return Y}}q0.create=(Y)=>{return new q0({checks:[],typeName:O.ZodString,coerce:Y?.coerce??!1,...b(Y)})};function y4(Y,J){let X=(Y.toString().split(".")[1]||"").length,Q=(J.toString().split(".")[1]||"").length,$=X>Q?X:Q,G=Number.parseInt(Y.toFixed($).replace(".","")),W=Number.parseInt(J.toFixed($).replace(".",""));return G%W/10**$}class k0 extends x{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(Y){if(this._def.coerce)Y.data=Number(Y.data);if(this._getType(Y)!==U.number){let $=this._getOrReturnCtx(Y);return M($,{code:D.invalid_type,expected:U.number,received:$.parsedType}),I}let X=void 0,Q=new r;for(let $ of this._def.checks)if($.kind==="int"){if(!y.isInteger(Y.data))X=this._getOrReturnCtx(Y,X),M(X,{code:D.invalid_type,expected:"integer",received:"float",message:$.message}),Q.dirty()}else if($.kind==="min"){if($.inclusive?Y.data<$.value:Y.data<=$.value)X=this._getOrReturnCtx(Y,X),M(X,{code:D.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),Q.dirty()}else if($.kind==="max"){if($.inclusive?Y.data>$.value:Y.data>=$.value)X=this._getOrReturnCtx(Y,X),M(X,{code:D.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),Q.dirty()}else if($.kind==="multipleOf"){if(y4(Y.data,$.value)!==0)X=this._getOrReturnCtx(Y,X),M(X,{code:D.not_multiple_of,multipleOf:$.value,message:$.message}),Q.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Y.data))X=this._getOrReturnCtx(Y,X),M(X,{code:D.not_finite,message:$.message}),Q.dirty()}else y.assertNever($);return{status:Q.value,value:Y.data}}gte(Y,J){return this.setLimit("min",Y,!0,R.toString(J))}gt(Y,J){return this.setLimit("min",Y,!1,R.toString(J))}lte(Y,J){return this.setLimit("max",Y,!0,R.toString(J))}lt(Y,J){return this.setLimit("max",Y,!1,R.toString(J))}setLimit(Y,J,X,Q){return new k0({...this._def,checks:[...this._def.checks,{kind:Y,value:J,inclusive:X,message:R.toString(Q)}]})}_addCheck(Y){return new k0({...this._def,checks:[...this._def.checks,Y]})}int(Y){return this._addCheck({kind:"int",message:R.toString(Y)})}positive(Y){return this._addCheck({kind:"min",value:0,inclusive:!1,message:R.toString(Y)})}negative(Y){return this._addCheck({kind:"max",value:0,inclusive:!1,message:R.toString(Y)})}nonpositive(Y){return this._addCheck({kind:"max",value:0,inclusive:!0,message:R.toString(Y)})}nonnegative(Y){return this._addCheck({kind:"min",value:0,inclusive:!0,message:R.toString(Y)})}multipleOf(Y,J){return this._addCheck({kind:"multipleOf",value:Y,message:R.toString(J)})}finite(Y){return this._addCheck({kind:"finite",message:R.toString(Y)})}safe(Y){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:R.toString(Y)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:R.toString(Y)})}get minValue(){let Y=null;for(let J of this._def.checks)if(J.kind==="min"){if(Y===null||J.value>Y)Y=J.value}return Y}get maxValue(){let Y=null;for(let J of this._def.checks)if(J.kind==="max"){if(Y===null||J.value<Y)Y=J.value}return Y}get isInt(){return!!this._def.checks.find((Y)=>Y.kind==="int"||Y.kind==="multipleOf"&&y.isInteger(Y.value))}get isFinite(){let Y=null,J=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(J===null||X.value>J)J=X.value}else if(X.kind==="max"){if(Y===null||X.value<Y)Y=X.value}return Number.isFinite(J)&&Number.isFinite(Y)}}k0.create=(Y)=>{return new k0({checks:[],typeName:O.ZodNumber,coerce:Y?.coerce||!1,...b(Y)})};class T0 extends x{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(Y){if(this._def.coerce)try{Y.data=BigInt(Y.data)}catch{return this._getInvalidInput(Y)}if(this._getType(Y)!==U.bigint)return this._getInvalidInput(Y);let X=void 0,Q=new r;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Y.data<$.value:Y.data<=$.value)X=this._getOrReturnCtx(Y,X),M(X,{code:D.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),Q.dirty()}else if($.kind==="max"){if($.inclusive?Y.data>$.value:Y.data>=$.value)X=this._getOrReturnCtx(Y,X),M(X,{code:D.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),Q.dirty()}else if($.kind==="multipleOf"){if(Y.data%$.value!==BigInt(0))X=this._getOrReturnCtx(Y,X),M(X,{code:D.not_multiple_of,multipleOf:$.value,message:$.message}),Q.dirty()}else y.assertNever($);return{status:Q.value,value:Y.data}}_getInvalidInput(Y){let J=this._getOrReturnCtx(Y);return M(J,{code:D.invalid_type,expected:U.bigint,received:J.parsedType}),I}gte(Y,J){return this.setLimit("min",Y,!0,R.toString(J))}gt(Y,J){return this.setLimit("min",Y,!1,R.toString(J))}lte(Y,J){return this.setLimit("max",Y,!0,R.toString(J))}lt(Y,J){return this.setLimit("max",Y,!1,R.toString(J))}setLimit(Y,J,X,Q){return new T0({...this._def,checks:[...this._def.checks,{kind:Y,value:J,inclusive:X,message:R.toString(Q)}]})}_addCheck(Y){return new T0({...this._def,checks:[...this._def.checks,Y]})}positive(Y){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:R.toString(Y)})}negative(Y){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:R.toString(Y)})}nonpositive(Y){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:R.toString(Y)})}nonnegative(Y){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:R.toString(Y)})}multipleOf(Y,J){return this._addCheck({kind:"multipleOf",value:Y,message:R.toString(J)})}get minValue(){let Y=null;for(let J of this._def.checks)if(J.kind==="min"){if(Y===null||J.value>Y)Y=J.value}return Y}get maxValue(){let Y=null;for(let J of this._def.checks)if(J.kind==="max"){if(Y===null||J.value<Y)Y=J.value}return Y}}T0.create=(Y)=>{return new T0({checks:[],typeName:O.ZodBigInt,coerce:Y?.coerce??!1,...b(Y)})};class e0 extends x{_parse(Y){if(this._def.coerce)Y.data=Boolean(Y.data);if(this._getType(Y)!==U.boolean){let X=this._getOrReturnCtx(Y);return M(X,{code:D.invalid_type,expected:U.boolean,received:X.parsedType}),I}return s(Y.data)}}e0.create=(Y)=>{return new e0({typeName:O.ZodBoolean,coerce:Y?.coerce||!1,...b(Y)})};class u0 extends x{_parse(Y){if(this._def.coerce)Y.data=new Date(Y.data);if(this._getType(Y)!==U.date){let $=this._getOrReturnCtx(Y);return M($,{code:D.invalid_type,expected:U.date,received:$.parsedType}),I}if(Number.isNaN(Y.data.getTime())){let $=this._getOrReturnCtx(Y);return M($,{code:D.invalid_date}),I}let X=new r,Q=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Y.data.getTime()<$.value)Q=this._getOrReturnCtx(Y,Q),M(Q,{code:D.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),X.dirty()}else if($.kind==="max"){if(Y.data.getTime()>$.value)Q=this._getOrReturnCtx(Y,Q),M(Q,{code:D.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),X.dirty()}else y.assertNever($);return{status:X.value,value:new Date(Y.data.getTime())}}_addCheck(Y){return new u0({...this._def,checks:[...this._def.checks,Y]})}min(Y,J){return this._addCheck({kind:"min",value:Y.getTime(),message:R.toString(J)})}max(Y,J){return this._addCheck({kind:"max",value:Y.getTime(),message:R.toString(J)})}get minDate(){let Y=null;for(let J of this._def.checks)if(J.kind==="min"){if(Y===null||J.value>Y)Y=J.value}return Y!=null?new Date(Y):null}get maxDate(){let Y=null;for(let J of this._def.checks)if(J.kind==="max"){if(Y===null||J.value<Y)Y=J.value}return Y!=null?new Date(Y):null}}u0.create=(Y)=>{return new u0({checks:[],coerce:Y?.coerce||!1,typeName:O.ZodDate,...b(Y)})};class R1 extends x{_parse(Y){if(this._getType(Y)!==U.symbol){let X=this._getOrReturnCtx(Y);return M(X,{code:D.invalid_type,expected:U.symbol,received:X.parsedType}),I}return s(Y.data)}}R1.create=(Y)=>{return new R1({typeName:O.ZodSymbol,...b(Y)})};class Y1 extends x{_parse(Y){if(this._getType(Y)!==U.undefined){let X=this._getOrReturnCtx(Y);return M(X,{code:D.invalid_type,expected:U.undefined,received:X.parsedType}),I}return s(Y.data)}}Y1.create=(Y)=>{return new Y1({typeName:O.ZodUndefined,...b(Y)})};class J1 extends x{_parse(Y){if(this._getType(Y)!==U.null){let X=this._getOrReturnCtx(Y);return M(X,{code:D.invalid_type,expected:U.null,received:X.parsedType}),I}return s(Y.data)}}J1.create=(Y)=>{return new J1({typeName:O.ZodNull,...b(Y)})};class l0 extends x{constructor(){super(...arguments);this._any=!0}_parse(Y){return s(Y.data)}}l0.create=(Y)=>{return new l0({typeName:O.ZodAny,...b(Y)})};class P0 extends x{constructor(){super(...arguments);this._unknown=!0}_parse(Y){return s(Y.data)}}P0.create=(Y)=>{return new P0({typeName:O.ZodUnknown,...b(Y)})};class U0 extends x{_parse(Y){let J=this._getOrReturnCtx(Y);return M(J,{code:D.invalid_type,expected:U.never,received:J.parsedType}),I}}U0.create=(Y)=>{return new U0({typeName:O.ZodNever,...b(Y)})};class z1 extends x{_parse(Y){if(this._getType(Y)!==U.undefined){let X=this._getOrReturnCtx(Y);return M(X,{code:D.invalid_type,expected:U.void,received:X.parsedType}),I}return s(Y.data)}}z1.create=(Y)=>{return new z1({typeName:O.ZodVoid,...b(Y)})};class H0 extends x{_parse(Y){let{ctx:J,status:X}=this._processInputParams(Y),Q=this._def;if(J.parsedType!==U.array)return M(J,{code:D.invalid_type,expected:U.array,received:J.parsedType}),I;if(Q.exactLength!==null){let G=J.data.length>Q.exactLength.value,W=J.data.length<Q.exactLength.value;if(G||W)M(J,{code:G?D.too_big:D.too_small,minimum:W?Q.exactLength.value:void 0,maximum:G?Q.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Q.exactLength.message}),X.dirty()}if(Q.minLength!==null){if(J.data.length<Q.minLength.value)M(J,{code:D.too_small,minimum:Q.minLength.value,type:"array",inclusive:!0,exact:!1,message:Q.minLength.message}),X.dirty()}if(Q.maxLength!==null){if(J.data.length>Q.maxLength.value)M(J,{code:D.too_big,maximum:Q.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Q.maxLength.message}),X.dirty()}if(J.common.async)return Promise.all([...J.data].map((G,W)=>{return Q.type._parseAsync(new B0(J,G,J.path,W))})).then((G)=>{return r.mergeArray(X,G)});let $=[...J.data].map((G,W)=>{return Q.type._parseSync(new B0(J,G,J.path,W))});return r.mergeArray(X,$)}get element(){return this._def.type}min(Y,J){return new H0({...this._def,minLength:{value:Y,message:R.toString(J)}})}max(Y,J){return new H0({...this._def,maxLength:{value:Y,message:R.toString(J)}})}length(Y,J){return new H0({...this._def,exactLength:{value:Y,message:R.toString(J)}})}nonempty(Y){return this.min(1,Y)}}H0.create=(Y,J)=>{return new H0({type:Y,minLength:null,maxLength:null,exactLength:null,typeName:O.ZodArray,...b(J)})};function a0(Y){if(Y instanceof p){let J={};for(let X in Y.shape){let Q=Y.shape[X];J[X]=_0.create(a0(Q))}return new p({...Y._def,shape:()=>J})}else if(Y instanceof H0)return new H0({...Y._def,type:a0(Y.element)});else if(Y instanceof _0)return _0.create(a0(Y.unwrap()));else if(Y instanceof w0)return w0.create(a0(Y.unwrap()));else if(Y instanceof F0)return F0.create(Y.items.map((J)=>a0(J)));else return Y}class p extends x{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let Y=this._def.shape(),J=y.objectKeys(Y);return this._cached={shape:Y,keys:J},this._cached}_parse(Y){if(this._getType(Y)!==U.object){let H=this._getOrReturnCtx(Y);return M(H,{code:D.invalid_type,expected:U.object,received:H.parsedType}),I}let{status:X,ctx:Q}=this._processInputParams(Y),{shape:$,keys:G}=this._getCached(),W=[];if(!(this._def.catchall instanceof U0&&this._def.unknownKeys==="strip")){for(let H in Q.data)if(!G.includes(H))W.push(H)}let q=[];for(let H of G){let _=$[H],B=Q.data[H];q.push({key:{status:"valid",value:H},value:_._parse(new B0(Q,B,Q.path,H)),alwaysSet:H in Q.data})}if(this._def.catchall instanceof U0){let H=this._def.unknownKeys;if(H==="passthrough")for(let _ of W)q.push({key:{status:"valid",value:_},value:{status:"valid",value:Q.data[_]}});else if(H==="strict"){if(W.length>0)M(Q,{code:D.unrecognized_keys,keys:W}),X.dirty()}else if(H==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let H=this._def.catchall;for(let _ of W){let B=Q.data[_];q.push({key:{status:"valid",value:_},value:H._parse(new B0(Q,B,Q.path,_)),alwaysSet:_ in Q.data})}}if(Q.common.async)return Promise.resolve().then(async()=>{let H=[];for(let _ of q){let B=await _.key,L=await _.value;H.push({key:B,value:L,alwaysSet:_.alwaysSet})}return H}).then((H)=>{return r.mergeObjectSync(X,H)});else return r.mergeObjectSync(X,q)}get shape(){return this._def.shape()}strict(Y){return R.errToObj,new p({...this._def,unknownKeys:"strict",...Y!==void 0?{errorMap:(J,X)=>{let Q=this._def.errorMap?.(J,X).message??X.defaultError;if(J.code==="unrecognized_keys")return{message:R.errToObj(Y).message??Q};return{message:Q}}}:{}})}strip(){return new p({...this._def,unknownKeys:"strip"})}passthrough(){return new p({...this._def,unknownKeys:"passthrough"})}extend(Y){return new p({...this._def,shape:()=>({...this._def.shape(),...Y})})}merge(Y){return new p({unknownKeys:Y._def.unknownKeys,catchall:Y._def.catchall,shape:()=>({...this._def.shape(),...Y._def.shape()}),typeName:O.ZodObject})}setKey(Y,J){return this.augment({[Y]:J})}catchall(Y){return new p({...this._def,catchall:Y})}pick(Y){let J={};for(let X of y.objectKeys(Y))if(Y[X]&&this.shape[X])J[X]=this.shape[X];return new p({...this._def,shape:()=>J})}omit(Y){let J={};for(let X of y.objectKeys(this.shape))if(!Y[X])J[X]=this.shape[X];return new p({...this._def,shape:()=>J})}deepPartial(){return a0(this)}partial(Y){let J={};for(let X of y.objectKeys(this.shape)){let Q=this.shape[X];if(Y&&!Y[X])J[X]=Q;else J[X]=Q.optional()}return new p({...this._def,shape:()=>J})}required(Y){let J={};for(let X of y.objectKeys(this.shape))if(Y&&!Y[X])J[X]=this.shape[X];else{let $=this.shape[X];while($ instanceof _0)$=$._def.innerType;J[X]=$}return new p({...this._def,shape:()=>J})}keyof(){return A9(y.objectKeys(this.shape))}}p.create=(Y,J)=>{return new p({shape:()=>Y,unknownKeys:"strip",catchall:U0.create(),typeName:O.ZodObject,...b(J)})};p.strictCreate=(Y,J)=>{return new p({shape:()=>Y,unknownKeys:"strict",catchall:U0.create(),typeName:O.ZodObject,...b(J)})};p.lazycreate=(Y,J)=>{return new p({shape:Y,unknownKeys:"strip",catchall:U0.create(),typeName:O.ZodObject,...b(J)})};class X1 extends x{_parse(Y){let{ctx:J}=this._processInputParams(Y),X=this._def.options;function Q($){for(let W of $)if(W.result.status==="valid")return W.result;for(let W of $)if(W.result.status==="dirty")return J.common.issues.push(...W.ctx.common.issues),W.result;let G=$.map((W)=>new Y0(W.ctx.common.issues));return M(J,{code:D.invalid_union,unionErrors:G}),I}if(J.common.async)return Promise.all(X.map(async($)=>{let G={...J,common:{...J.common,issues:[]},parent:null};return{result:await $._parseAsync({data:J.data,path:J.path,parent:G}),ctx:G}})).then(Q);else{let $=void 0,G=[];for(let q of X){let H={...J,common:{...J.common,issues:[]},parent:null},_=q._parseSync({data:J.data,path:J.path,parent:H});if(_.status==="valid")return _;else if(_.status==="dirty"&&!$)$={result:_,ctx:H};if(H.common.issues.length)G.push(H.common.issues)}if($)return J.common.issues.push(...$.ctx.common.issues),$.result;let W=G.map((q)=>new Y0(q));return M(J,{code:D.invalid_union,unionErrors:W}),I}}get options(){return this._def.options}}X1.create=(Y,J)=>{return new X1({options:Y,typeName:O.ZodUnion,...b(J)})};var z0=(Y)=>{if(Y instanceof $1)return z0(Y.schema);else if(Y instanceof K0)return z0(Y.innerType());else if(Y instanceof G1)return[Y.value];else if(Y instanceof Z0)return Y.options;else if(Y instanceof W1)return y.objectValues(Y.enum);else if(Y instanceof q1)return z0(Y._def.innerType);else if(Y instanceof Y1)return[void 0];else if(Y instanceof J1)return[null];else if(Y instanceof _0)return[void 0,...z0(Y.unwrap())];else if(Y instanceof w0)return[null,...z0(Y.unwrap())];else if(Y instanceof s1)return z0(Y.unwrap());else if(Y instanceof _1)return z0(Y.unwrap());else if(Y instanceof H1)return z0(Y._def.innerType);else return[]};class o1 extends x{_parse(Y){let{ctx:J}=this._processInputParams(Y);if(J.parsedType!==U.object)return M(J,{code:D.invalid_type,expected:U.object,received:J.parsedType}),I;let X=this.discriminator,Q=J.data[X],$=this.optionsMap.get(Q);if(!$)return M(J,{code:D.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[X]}),I;if(J.common.async)return $._parseAsync({data:J.data,path:J.path,parent:J});else return $._parseSync({data:J.data,path:J.path,parent:J})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Y,J,X){let Q=new Map;for(let $ of J){let G=z0($.shape[Y]);if(!G.length)throw Error(`A discriminator value for key \`${Y}\` could not be extracted from all schema options`);for(let W of G){if(Q.has(W))throw Error(`Discriminator property ${String(Y)} has duplicate value ${String(W)}`);Q.set(W,$)}}return new o1({typeName:O.ZodDiscriminatedUnion,discriminator:Y,options:J,optionsMap:Q,...b(X)})}}function u8(Y,J){let X=D0(Y),Q=D0(J);if(Y===J)return{valid:!0,data:Y};else if(X===U.object&&Q===U.object){let $=y.objectKeys(J),G=y.objectKeys(Y).filter((q)=>$.indexOf(q)!==-1),W={...Y,...J};for(let q of G){let H=u8(Y[q],J[q]);if(!H.valid)return{valid:!1};W[q]=H.data}return{valid:!0,data:W}}else if(X===U.array&&Q===U.array){if(Y.length!==J.length)return{valid:!1};let $=[];for(let G=0;G<Y.length;G++){let W=Y[G],q=J[G],H=u8(W,q);if(!H.valid)return{valid:!1};$.push(H.data)}return{valid:!0,data:$}}else if(X===U.date&&Q===U.date&&+Y===+J)return{valid:!0,data:Y};else return{valid:!1}}class Q1 extends x{_parse(Y){let{status:J,ctx:X}=this._processInputParams(Y),Q=($,G)=>{if(n1($)||n1(G))return I;let W=u8($.value,G.value);if(!W.valid)return M(X,{code:D.invalid_intersection_types}),I;if(r1($)||r1(G))J.dirty();return{status:J.value,value:W.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(([$,G])=>Q($,G));else return Q(this._def.left._parseSync({data:X.data,path:X.path,parent:X}),this._def.right._parseSync({data:X.data,path:X.path,parent:X}))}}Q1.create=(Y,J,X)=>{return new Q1({left:Y,right:J,typeName:O.ZodIntersection,...b(X)})};class F0 extends x{_parse(Y){let{status:J,ctx:X}=this._processInputParams(Y);if(X.parsedType!==U.array)return M(X,{code:D.invalid_type,expected:U.array,received:X.parsedType}),I;if(X.data.length<this._def.items.length)return M(X,{code:D.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),I;if(!this._def.rest&&X.data.length>this._def.items.length)M(X,{code:D.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J.dirty();let $=[...X.data].map((G,W)=>{let q=this._def.items[W]||this._def.rest;if(!q)return null;return q._parse(new B0(X,G,X.path,W))}).filter((G)=>!!G);if(X.common.async)return Promise.all($).then((G)=>{return r.mergeArray(J,G)});else return r.mergeArray(J,$)}get items(){return this._def.items}rest(Y){return new F0({...this._def,rest:Y})}}F0.create=(Y,J)=>{if(!Array.isArray(Y))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new F0({items:Y,typeName:O.ZodTuple,rest:null,...b(J)})};class w1 extends x{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Y){let{status:J,ctx:X}=this._processInputParams(Y);if(X.parsedType!==U.object)return M(X,{code:D.invalid_type,expected:U.object,received:X.parsedType}),I;let Q=[],$=this._def.keyType,G=this._def.valueType;for(let W in X.data)Q.push({key:$._parse(new B0(X,W,X.path,W)),value:G._parse(new B0(X,X.data[W],X.path,W)),alwaysSet:W in X.data});if(X.common.async)return r.mergeObjectAsync(J,Q);else return r.mergeObjectSync(J,Q)}get element(){return this._def.valueType}static create(Y,J,X){if(J instanceof x)return new w1({keyType:Y,valueType:J,typeName:O.ZodRecord,...b(X)});return new w1({keyType:q0.create(),valueType:Y,typeName:O.ZodRecord,...b(J)})}}class S1 extends x{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Y){let{status:J,ctx:X}=this._processInputParams(Y);if(X.parsedType!==U.map)return M(X,{code:D.invalid_type,expected:U.map,received:X.parsedType}),I;let Q=this._def.keyType,$=this._def.valueType,G=[...X.data.entries()].map(([W,q],H)=>{return{key:Q._parse(new B0(X,W,X.path,[H,"key"])),value:$._parse(new B0(X,q,X.path,[H,"value"]))}});if(X.common.async){let W=new Map;return Promise.resolve().then(async()=>{for(let q of G){let H=await q.key,_=await q.value;if(H.status==="aborted"||_.status==="aborted")return I;if(H.status==="dirty"||_.status==="dirty")J.dirty();W.set(H.value,_.value)}return{status:J.value,value:W}})}else{let W=new Map;for(let q of G){let{key:H,value:_}=q;if(H.status==="aborted"||_.status==="aborted")return I;if(H.status==="dirty"||_.status==="dirty")J.dirty();W.set(H.value,_.value)}return{status:J.value,value:W}}}}S1.create=(Y,J,X)=>{return new S1({valueType:J,keyType:Y,typeName:O.ZodMap,...b(X)})};class d0 extends x{_parse(Y){let{status:J,ctx:X}=this._processInputParams(Y);if(X.parsedType!==U.set)return M(X,{code:D.invalid_type,expected:U.set,received:X.parsedType}),I;let Q=this._def;if(Q.minSize!==null){if(X.data.size<Q.minSize.value)M(X,{code:D.too_small,minimum:Q.minSize.value,type:"set",inclusive:!0,exact:!1,message:Q.minSize.message}),J.dirty()}if(Q.maxSize!==null){if(X.data.size>Q.maxSize.value)M(X,{code:D.too_big,maximum:Q.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Q.maxSize.message}),J.dirty()}let $=this._def.valueType;function G(q){let H=new Set;for(let _ of q){if(_.status==="aborted")return I;if(_.status==="dirty")J.dirty();H.add(_.value)}return{status:J.value,value:H}}let W=[...X.data.values()].map((q,H)=>$._parse(new B0(X,q,X.path,H)));if(X.common.async)return Promise.all(W).then((q)=>G(q));else return G(W)}min(Y,J){return new d0({...this._def,minSize:{value:Y,message:R.toString(J)}})}max(Y,J){return new d0({...this._def,maxSize:{value:Y,message:R.toString(J)}})}size(Y,J){return this.min(Y,J).max(Y,J)}nonempty(Y){return this.min(1,Y)}}d0.create=(Y,J)=>{return new d0({valueType:Y,minSize:null,maxSize:null,typeName:O.ZodSet,...b(J)})};class t0 extends x{constructor(){super(...arguments);this.validate=this.implement}_parse(Y){let{ctx:J}=this._processInputParams(Y);if(J.parsedType!==U.function)return M(J,{code:D.invalid_type,expected:U.function,received:J.parsedType}),I;function X(W,q){return N1({data:W,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,o0(),R0].filter((H)=>!!H),issueData:{code:D.invalid_arguments,argumentsError:q}})}function Q(W,q){return N1({data:W,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,o0(),R0].filter((H)=>!!H),issueData:{code:D.invalid_return_type,returnTypeError:q}})}let $={errorMap:J.common.contextualErrorMap},G=J.data;if(this._def.returns instanceof p0){let W=this;return s(async function(...q){let H=new Y0([]),_=await W._def.args.parseAsync(q,$).catch((V)=>{throw H.addIssue(X(q,V)),H}),B=await Reflect.apply(G,this,_);return await W._def.returns._def.type.parseAsync(B,$).catch((V)=>{throw H.addIssue(Q(B,V)),H})})}else{let W=this;return s(function(...q){let H=W._def.args.safeParse(q,$);if(!H.success)throw new Y0([X(q,H.error)]);let _=Reflect.apply(G,this,H.data),B=W._def.returns.safeParse(_,$);if(!B.success)throw new Y0([Q(_,B.error)]);return B.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Y){return new t0({...this._def,args:F0.create(Y).rest(P0.create())})}returns(Y){return new t0({...this._def,returns:Y})}implement(Y){return this.parse(Y)}strictImplement(Y){return this.parse(Y)}static create(Y,J,X){return new t0({args:Y?Y:F0.create([]).rest(P0.create()),returns:J||P0.create(),typeName:O.ZodFunction,...b(X)})}}class $1 extends x{get schema(){return this._def.getter()}_parse(Y){let{ctx:J}=this._processInputParams(Y);return this._def.getter()._parse({data:J.data,path:J.path,parent:J})}}$1.create=(Y,J)=>{return new $1({getter:Y,typeName:O.ZodLazy,...b(J)})};class G1 extends x{_parse(Y){if(Y.data!==this._def.value){let J=this._getOrReturnCtx(Y);return M(J,{received:J.data,code:D.invalid_literal,expected:this._def.value}),I}return{status:"valid",value:Y.data}}get value(){return this._def.value}}G1.create=(Y,J)=>{return new G1({value:Y,typeName:O.ZodLiteral,...b(J)})};function A9(Y,J){return new Z0({values:Y,typeName:O.ZodEnum,...b(J)})}class Z0 extends x{_parse(Y){if(typeof Y.data!=="string"){let J=this._getOrReturnCtx(Y),X=this._def.values;return M(J,{expected:y.joinValues(X),received:J.parsedType,code:D.invalid_type}),I}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Y.data)){let J=this._getOrReturnCtx(Y),X=this._def.values;return M(J,{received:J.data,code:D.invalid_enum_value,options:X}),I}return s(Y.data)}get options(){return this._def.values}get enum(){let Y={};for(let J of this._def.values)Y[J]=J;return Y}get Values(){let Y={};for(let J of this._def.values)Y[J]=J;return Y}get Enum(){let Y={};for(let J of this._def.values)Y[J]=J;return Y}extract(Y,J=this._def){return Z0.create(Y,{...this._def,...J})}exclude(Y,J=this._def){return Z0.create(this.options.filter((X)=>!Y.includes(X)),{...this._def,...J})}}Z0.create=A9;class W1 extends x{_parse(Y){let J=y.getValidEnumValues(this._def.values),X=this._getOrReturnCtx(Y);if(X.parsedType!==U.string&&X.parsedType!==U.number){let Q=y.objectValues(J);return M(X,{expected:y.joinValues(Q),received:X.parsedType,code:D.invalid_type}),I}if(!this._cache)this._cache=new Set(y.getValidEnumValues(this._def.values));if(!this._cache.has(Y.data)){let Q=y.objectValues(J);return M(X,{received:X.data,code:D.invalid_enum_value,options:Q}),I}return s(Y.data)}get enum(){return this._def.values}}W1.create=(Y,J)=>{return new W1({values:Y,typeName:O.ZodNativeEnum,...b(J)})};class p0 extends x{unwrap(){return this._def.type}_parse(Y){let{ctx:J}=this._processInputParams(Y);if(J.parsedType!==U.promise&&J.common.async===!1)return M(J,{code:D.invalid_type,expected:U.promise,received:J.parsedType}),I;let X=J.parsedType===U.promise?J.data:Promise.resolve(J.data);return s(X.then((Q)=>{return this._def.type.parseAsync(Q,{path:J.path,errorMap:J.common.contextualErrorMap})}))}}p0.create=(Y,J)=>{return new p0({type:Y,typeName:O.ZodPromise,...b(J)})};class K0 extends x{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===O.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Y){let{status:J,ctx:X}=this._processInputParams(Y),Q=this._def.effect||null,$={addIssue:(G)=>{if(M(X,G),G.fatal)J.abort();else J.dirty()},get path(){return X.path}};if($.addIssue=$.addIssue.bind($),Q.type==="preprocess"){let G=Q.transform(X.data,$);if(X.common.async)return Promise.resolve(G).then(async(W)=>{if(J.value==="aborted")return I;let q=await this._def.schema._parseAsync({data:W,path:X.path,parent:X});if(q.status==="aborted")return I;if(q.status==="dirty")return c0(q.value);if(J.value==="dirty")return c0(q.value);return q});else{if(J.value==="aborted")return I;let W=this._def.schema._parseSync({data:G,path:X.path,parent:X});if(W.status==="aborted")return I;if(W.status==="dirty")return c0(W.value);if(J.value==="dirty")return c0(W.value);return W}}if(Q.type==="refinement"){let G=(W)=>{let q=Q.refinement(W,$);if(X.common.async)return Promise.resolve(q);if(q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return W};if(X.common.async===!1){let W=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(W.status==="aborted")return I;if(W.status==="dirty")J.dirty();return G(W.value),{status:J.value,value:W.value}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((W)=>{if(W.status==="aborted")return I;if(W.status==="dirty")J.dirty();return G(W.value).then(()=>{return{status:J.value,value:W.value}})})}if(Q.type==="transform")if(X.common.async===!1){let G=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(!f0(G))return I;let W=Q.transform(G.value,$);if(W instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:J.value,value:W}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((G)=>{if(!f0(G))return I;return Promise.resolve(Q.transform(G.value,$)).then((W)=>({status:J.value,value:W}))});y.assertNever(Q)}}K0.create=(Y,J,X)=>{return new K0({schema:Y,typeName:O.ZodEffects,effect:J,...b(X)})};K0.createWithPreprocess=(Y,J,X)=>{return new K0({schema:J,effect:{type:"preprocess",transform:Y},typeName:O.ZodEffects,...b(X)})};class _0 extends x{_parse(Y){if(this._getType(Y)===U.undefined)return s(void 0);return this._def.innerType._parse(Y)}unwrap(){return this._def.innerType}}_0.create=(Y,J)=>{return new _0({innerType:Y,typeName:O.ZodOptional,...b(J)})};class w0 extends x{_parse(Y){if(this._getType(Y)===U.null)return s(null);return this._def.innerType._parse(Y)}unwrap(){return this._def.innerType}}w0.create=(Y,J)=>{return new w0({innerType:Y,typeName:O.ZodNullable,...b(J)})};class q1 extends x{_parse(Y){let{ctx:J}=this._processInputParams(Y),X=J.data;if(J.parsedType===U.undefined)X=this._def.defaultValue();return this._def.innerType._parse({data:X,path:J.path,parent:J})}removeDefault(){return this._def.innerType}}q1.create=(Y,J)=>{return new q1({innerType:Y,typeName:O.ZodDefault,defaultValue:typeof J.default==="function"?J.default:()=>J.default,...b(J)})};class H1 extends x{_parse(Y){let{ctx:J}=this._processInputParams(Y),X={...J,common:{...J.common,issues:[]}},Q=this._def.innerType._parse({data:X.data,path:X.path,parent:{...X}});if(s0(Q))return Q.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new Y0(X.common.issues)},input:X.data})}});else return{status:"valid",value:Q.status==="valid"?Q.value:this._def.catchValue({get error(){return new Y0(X.common.issues)},input:X.data})}}removeCatch(){return this._def.innerType}}H1.create=(Y,J)=>{return new H1({innerType:Y,typeName:O.ZodCatch,catchValue:typeof J.catch==="function"?J.catch:()=>J.catch,...b(J)})};class I1 extends x{_parse(Y){if(this._getType(Y)!==U.nan){let X=this._getOrReturnCtx(Y);return M(X,{code:D.invalid_type,expected:U.nan,received:X.parsedType}),I}return{status:"valid",value:Y.data}}}I1.create=(Y)=>{return new I1({typeName:O.ZodNaN,...b(Y)})};var h4=Symbol("zod_brand");class s1 extends x{_parse(Y){let{ctx:J}=this._processInputParams(Y),X=J.data;return this._def.type._parse({data:X,path:J.path,parent:J})}unwrap(){return this._def.type}}class O1 extends x{_parse(Y){let{status:J,ctx:X}=this._processInputParams(Y);if(X.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:X.data,path:X.path,parent:X});if($.status==="aborted")return I;if($.status==="dirty")return J.dirty(),c0($.value);else return this._def.out._parseAsync({data:$.value,path:X.path,parent:X})})();else{let Q=this._def.in._parseSync({data:X.data,path:X.path,parent:X});if(Q.status==="aborted")return I;if(Q.status==="dirty")return J.dirty(),{status:"dirty",value:Q.value};else return this._def.out._parseSync({data:Q.value,path:X.path,parent:X})}}static create(Y,J){return new O1({in:Y,out:J,typeName:O.ZodPipeline})}}class _1 extends x{_parse(Y){let J=this._def.innerType._parse(Y),X=(Q)=>{if(f0(Q))Q.value=Object.freeze(Q.value);return Q};return s0(J)?J.then((Q)=>X(Q)):X(J)}unwrap(){return this._def.innerType}}_1.create=(Y,J)=>{return new _1({innerType:Y,typeName:O.ZodReadonly,...b(J)})};function D9(Y,J){let X=typeof Y==="function"?Y(J):typeof Y==="string"?{message:Y}:Y;return typeof X==="string"?{message:X}:X}function j9(Y,J={},X){if(Y)return l0.create().superRefine((Q,$)=>{let G=Y(Q);if(G instanceof Promise)return G.then((W)=>{if(!W){let q=D9(J,Q),H=q.fatal??X??!0;$.addIssue({code:"custom",...q,fatal:H})}});if(!G){let W=D9(J,Q),q=W.fatal??X??!0;$.addIssue({code:"custom",...W,fatal:q})}return});return l0.create()}var g4={object:p.lazycreate},O;(function(Y){Y.ZodString="ZodString",Y.ZodNumber="ZodNumber",Y.ZodNaN="ZodNaN",Y.ZodBigInt="ZodBigInt",Y.ZodBoolean="ZodBoolean",Y.ZodDate="ZodDate",Y.ZodSymbol="ZodSymbol",Y.ZodUndefined="ZodUndefined",Y.ZodNull="ZodNull",Y.ZodAny="ZodAny",Y.ZodUnknown="ZodUnknown",Y.ZodNever="ZodNever",Y.ZodVoid="ZodVoid",Y.ZodArray="ZodArray",Y.ZodObject="ZodObject",Y.ZodUnion="ZodUnion",Y.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Y.ZodIntersection="ZodIntersection",Y.ZodTuple="ZodTuple",Y.ZodRecord="ZodRecord",Y.ZodMap="ZodMap",Y.ZodSet="ZodSet",Y.ZodFunction="ZodFunction",Y.ZodLazy="ZodLazy",Y.ZodLiteral="ZodLiteral",Y.ZodEnum="ZodEnum",Y.ZodEffects="ZodEffects",Y.ZodNativeEnum="ZodNativeEnum",Y.ZodOptional="ZodOptional",Y.ZodNullable="ZodNullable",Y.ZodDefault="ZodDefault",Y.ZodCatch="ZodCatch",Y.ZodPromise="ZodPromise",Y.ZodBranded="ZodBranded",Y.ZodPipeline="ZodPipeline",Y.ZodReadonly="ZodReadonly"})(O||(O={}));var m4=(Y,J={message:`Input not instance of ${Y.name}`})=>j9((X)=>X instanceof Y,J),N9=q0.create,R9=k0.create,c4=I1.create,u4=T0.create,z9=e0.create,l4=u0.create,d4=R1.create,p4=Y1.create,i4=J1.create,n4=l0.create,r4=P0.create,o4=U0.create,s4=z1.create,a4=H0.create,t4=p.create,e4=p.strictCreate,Y6=X1.create,J6=o1.create,X6=Q1.create,Q6=F0.create,$6=w1.create,G6=S1.create,W6=d0.create,q6=t0.create,H6=$1.create,_6=G1.create,B6=Z0.create,K6=W1.create,L6=p0.create,V6=K0.create,E6=_0.create,D6=w0.create,U6=K0.createWithPreprocess,F6=O1.create,M6=()=>N9().optional(),A6=()=>R9().optional(),j6=()=>z9().optional(),N6={string:(Y)=>q0.create({...Y,coerce:!0}),number:(Y)=>k0.create({...Y,coerce:!0}),boolean:(Y)=>e0.create({...Y,coerce:!0}),bigint:(Y)=>T0.create({...Y,coerce:!0}),date:(Y)=>u0.create({...Y,coerce:!0})};var R6=I;var z6=K.object({sha256:K.string(),mediaType:K.string()}),w6=K.object({type:K.literal("user"),text:K.string(),images:K.array(z6).optional(),id:K.string().optional(),timestamp:K.string().optional()}),S6=K.object({type:K.literal("compaction-summary"),text:K.string(),id:K.string().optional(),timestamp:K.string().optional()}),I6=K.object({type:K.literal("command"),name:K.string(),args:K.string().optional(),output:K.string().optional(),id:K.string().optional(),timestamp:K.string().optional()}),O6=K.object({type:K.literal("agent"),text:K.string(),id:K.string().optional(),timestamp:K.string().optional(),model:K.string().optional()}),f6=K.object({type:K.literal("thinking"),text:K.string(),id:K.string().optional(),timestamp:K.string().optional(),model:K.string().optional()}),w9=K.object({type:K.literal("tool-call"),toolName:K.string().nullable(),input:K.unknown().optional(),output:K.unknown().optional(),error:K.string().optional(),isError:K.union([K.boolean(),K.string()]).optional(),id:K.string().optional(),timestamp:K.string().optional(),model:K.string().optional()}),o=K.discriminatedUnion("type",[w6,S6,I6,O6,f6,w9]),d8=K.object({inputTokens:K.number(),cachedInputTokens:K.number(),outputTokens:K.number(),reasoningOutputTokens:K.number(),totalTokens:K.number()}),M0=w9,P6=M0.extend({toolName:K.literal("Write"),input:K.object({file_path:K.string(),content:K.string().optional()}).passthrough().optional(),output:K.object({type:K.string().optional()}).passthrough().optional()}),k6=M0.extend({toolName:K.literal("Read"),input:K.object({file_path:K.string()}).passthrough().optional(),output:K.union([K.string(),K.object({type:K.string().optional(),file:K.object({content:K.string().optional(),numLines:K.number().optional(),startLine:K.number().optional(),totalLines:K.number().optional()}).passthrough().optional()}).passthrough()]).optional()}),T6=M0.extend({toolName:K.literal("Edit"),input:K.object({file_path:K.string(),diff:K.string().optional()}).passthrough().optional(),output:K.union([K.string(),K.object({userModified:K.boolean().optional()}).passthrough()]).optional()}),S9=K.object({filenames:K.array(K.string()),durationMs:K.number().optional(),truncated:K.boolean().optional()}).passthrough(),Z6=M0.extend({toolName:K.literal("Glob"),input:K.object({pattern:K.string().optional()}).passthrough().optional(),output:S9.optional()}),C6=M0.extend({toolName:K.literal("Grep"),input:K.unknown().optional(),output:S9.extend({mode:K.string().optional(),numMatches:K.number().optional()}).passthrough().optional()}),b6=M0.extend({toolName:K.literal("Bash"),input:K.unknown().optional(),output:K.union([K.string(),K.object({stdout:K.string().optional(),stderr:K.string().optional(),interrupted:K.boolean().optional(),isImage:K.boolean().optional()}).passthrough()]).optional()}),v6=M0.extend({toolName:K.literal("BashOutput"),input:K.object({bash_id:K.string().optional()}).passthrough().optional(),output:K.object({command:K.string().optional(),exitCode:K.number().optional(),shellId:K.string().optional(),status:K.string().optional(),stderr:K.string().optional(),stdout:K.string().optional(),timestamp:K.string().optional()}).passthrough().optional()}),x6=M0.extend({toolName:K.literal("Task"),input:K.unknown().optional(),output:K.object({status:K.string().optional(),totalDurationMs:K.number().optional(),totalToolUseCount:K.number().optional(),content:K.array(K.object({type:K.string().optional(),text:K.string().optional()}).passthrough()).optional(),usage:d8.optional()}).passthrough().optional()}),l8=K.object({content:K.string(),status:K.string().optional()}).passthrough(),y6=M0.extend({toolName:K.literal("TodoWrite"),input:K.object({todos:K.array(l8).optional()}).passthrough().optional(),output:K.object({oldTodos:K.array(l8).optional(),newTodos:K.array(l8).optional()}).passthrough().optional()}),h6=[P6,k6,T6,Z6,C6,b6,v6,x6,y6],g6=M0,I9=K.union([...h6,g6]),a1=K.object({model:K.string(),usage:d8}),J0=K.object({relativeCwd:K.string().nullable(),branch:K.string().nullable(),repo:K.string().nullable()}).strict().nullable(),f1=K.object({v:K.literal(1),id:K.string(),source:K.enum(["claude-code","codex","opencode","unknown"]),timestamp:K.coerce.date(),preview:K.string().nullable(),summary:K.string().nullable().default(null),model:K.string().nullable(),blendedTokens:K.number(),costUsd:K.number(),messageCount:K.number(),toolCount:K.number(),userMessageCount:K.number(),filesChanged:K.number(),linesAdded:K.number().default(0),linesRemoved:K.number().default(0),linesModified:K.number().default(0),tokenUsage:d8,modelUsage:K.array(a1),git:J0,cwd:K.string().nullable(),messages:K.array(o)});var c6=200000,u6=["anthropic/","claude-3-5-","claude-3-","claude-","openai/","azure/","openrouter/openai/"],k9=new Set(["[request interrupted by user]","[request aborted by user]","[request cancelled by user]"]),l6=new Set(["/clear"]),d6=/^<\/?(?:command|local)-[a-z-]+>/i,T9=/^[α-ωΑ-Ω]\s/i,p6=/<command-name>(.*?)<\/command-name>/s,i6=/<command-args>(.*?)<\/command-args>/s,n6=/^<local-command-stdout>(.*)<\/local-command-stdout>$/s,r6=/<system-reminder>[\s\S]*?<\/system-reminder>/g,Z9=["npm ","npm:","npm error","node:","node.js","error:","fatal:","warning:","traceback (most recent call last):","usage:","hint:","note:","code:","requirestack"],o6=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"),s6=3;function e1(Y){let J=0,X=0,Q=0,$=0,G=0,W=new Set;for(let q of Y)if(q.type==="user")X++;else if(q.type==="tool-call"){J++;let{toolName:H,input:_,output:B}=q;if(_&&typeof _.file_path==="string"){if(H==="Edit"||H==="Write")W.add(_.file_path)}if(H==="Write"&&_&&typeof _.content==="string"){let V=_.content.split(`
|
|
30
|
+
`).length;Q+=V}let L=_?.diff??B?.diff;if(H==="Edit"&&typeof L==="string"){let V=0,F=0,w=L.split(`
|
|
31
|
+
`);for(let z of w)if(z.startsWith("+")&&!z.startsWith("+++"))V++;else if(z.startsWith("-")&&!z.startsWith("---"))F++;let k=Math.min(V,F);Q+=V-k,$+=F-k,G+=k}}return{toolCount:J,userMessageCount:X,filesChanged:W.size,linesAdded:Q,linesRemoved:$,linesModified:G}}function C9(Y,J={}){let X=a6(Y);if(X.records.size===0)return null;let Q=YQ(X.records);if(Q.length===0)return null;let $=Q[Q.length-1],G=JQ(Q),W=QQ(G),q=$Q(G),H=FQ(W),_=G.map((N)=>{let A=N.message?.usage;if(!A)return null;return{model:N.message?.model??null,usage:A}}).filter((N)=>N!==null),B=AQ(_,J.pricing),L=GQ(Q),V=L.length>0?HQ(L[0]):null,F=g9($.timestamp)??J.now??new Date,w=VQ(Q),k=EQ(q),z=i8(Q),v=J.gitContext!==void 0?J.gitContext:_Q(Q),C=z?m0(z):"",{messages:u,blobs:j}=IQ(Q),t=e1(u),E={v:1,id:w??$.uuid,source:"claude-code",timestamp:F,preview:V,summary:null,model:k,blendedTokens:H,costUsd:B,messageCount:u.length,...t,tokenUsage:W,modelUsage:Array.from(q.entries()).map(([N,A])=>({model:N,usage:A})),git:v,cwd:C,messages:u};return{transcript:f1.parse(E),blobs:j}}function a6(Y){let J=new Map,X=new Map;for(let Q of Y){let $=typeof Q.type==="string"?Q.type:"";if($==="summary")continue;let G=typeof Q.uuid==="string"?Q.uuid:null;if(!G)continue;let W={uuid:G,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:t6(Q.message),raw:Q};if(J.set(G,W),W.parentUuid){let q=X.get(W.parentUuid)??new Set;q.add(G),X.set(W.parentUuid,q)}}return{records:J,children:X}}function t6(Y){if(!Y||typeof Y!=="object")return;let J=Y,X=typeof J.id==="string"?J.id:void 0,Q=typeof J.role==="string"?J.role:void 0,$=J.content,G=typeof J.model==="string"?J.model:void 0,W=e6(J.usage);return{id:X,role:Q,content:$,model:G,usage:W}}function e6(Y){if(!Y||typeof Y!=="object")return null;let J=Y,X={};if(typeof J.input_tokens==="number")X.input_tokens=J.input_tokens;if(typeof J.cache_creation_input_tokens==="number")X.cache_creation_input_tokens=J.cache_creation_input_tokens;if(typeof J.cache_read_input_tokens==="number")X.cache_read_input_tokens=J.cache_read_input_tokens;if(typeof J.output_tokens==="number")X.output_tokens=J.output_tokens;if(typeof J.reasoning_output_tokens==="number")X.reasoning_output_tokens=J.reasoning_output_tokens;return Object.keys(X).length>0?X:null}function YQ(Y){let J=[];for(let X of Y.values()){if(X.isSidechain)continue;J.push(X)}return J.sort((X,Q)=>{let $=O9(X.timestamp)??0,G=O9(Q.timestamp)??0;if($!==G)return $-G;return X.uuid.localeCompare(Q.uuid)}),J}function JQ(Y){let J=new Map;for(let X of Y){if(X.type!=="assistant")continue;if(!X.message?.usage)continue;let $=XQ(X);J.set($,X)}return Array.from(J.values())}function XQ(Y){let J=Y.message,X=f9(J?.id),Q=f9(Y.raw.requestId);if(X&&Q)return`${X}:${Q}`;if(X)return X;if(Q)return Q;return Y.uuid}function QQ(Y){let J={inputTokens:0,cachedInputTokens:0,outputTokens:0,reasoningOutputTokens:0,totalTokens:0};for(let X of Y){let Q=X.message?.usage;if(!Q)continue;let $=X0(Q.input_tokens),G=X0(Q.cache_creation_input_tokens),W=X0(Q.cache_read_input_tokens),q=X0(Q.output_tokens),H=X0(Q.reasoning_output_tokens);J.inputTokens+=$+G+W,J.cachedInputTokens+=W,J.outputTokens+=q,J.reasoningOutputTokens+=H,J.totalTokens+=$+G+W+q+H}return J}function $Q(Y){let J=new Map;for(let X of Y){let Q=X.message?.model,$=X.message?.usage;if(!Q||!$)continue;let G=J.get(Q)??{inputTokens:0,cachedInputTokens:0,outputTokens:0,reasoningOutputTokens:0,totalTokens:0},W=X0($.input_tokens),q=X0($.cache_creation_input_tokens),H=X0($.cache_read_input_tokens),_=X0($.output_tokens),B=X0($.reasoning_output_tokens);G.inputTokens+=W+q+H,G.cachedInputTokens+=H,G.outputTokens+=_,G.reasoningOutputTokens+=B,G.totalTokens+=W+q+H+_+B,J.set(Q,G)}return J}function GQ(Y){let J=[];for(let X of Y){if(!WQ(X))continue;J.push(X)}return J}function WQ(Y){if(Y.type!=="user")return!1;if(Y.isSidechain)return!1;if(Y.isMeta)return!1;let J=Y.raw;if(J&&typeof J==="object"){if("toolUseResult"in J)return!1}let X=Y.message?.content;if(Array.isArray(X)){if(X.some((G)=>qQ(G)))return!1}let Q=x9(Y);if(!Q)return!1;let $=Q.toLowerCase();if(k9.has($))return!1;if(b9(Q))return!1;if(T9.test(Q))return!1;if(Z9.some((G)=>$.startsWith(G))){if(!h9(Q))return!1}return!0}function qQ(Y){if(!Y||typeof Y!=="object")return!1;let J=Y;if(J.type==="tool_result")return!0;if(typeof J.tool_use_id==="string")return!0;return!1}function b9(Y){return d6.test(Y)}function HQ(Y){let J=x9(Y);if(!J)return null;return y9(J)}function i8(Y){for(let J of Y)if(J.cwd)return J.cwd;return}function _Q(Y){let J=i8(Y),X=Y.find((G)=>G.gitBranch)?.gitBranch??null;if(!J)return J0.parse({relativeCwd:null,branch:X,repo:null});let Q=J.split(/[\\/]+/).filter(Boolean);if(Q.length===0)return J0.parse({relativeCwd:null,branch:X,repo:null});let $=Q.findIndex((G)=>{let W=G.toLowerCase();return W.includes("github")||W.includes("gitlab")||W.includes("bitbucket")});if($>=0){let G=Q[$]?.toLowerCase()??"",W=G.includes("gitlab")?"gitlab.com":G.includes("bitbucket")?"bitbucket.org":"github.com",q=Q[$+1],H=Q[$+2]?.replace(/\.git$/i,"");if(q&&H){let _=Q.slice($+3),B=_.length>0?_.join("/"):".";return J0.parse({relativeCwd:j1(B),branch:X,repo:`${W}/${q}/${H}`})}}return J0.parse({relativeCwd:null,branch:X,repo:null})}async function v9(Y,J){if(!Y)return null;try{if(!(await P1.stat(Y)).isDirectory())return J0.parse({relativeCwd:null,branch:J??null,repo:null})}catch{return J0.parse({relativeCwd:null,branch:J??null,repo:null})}let X=await BQ(Y);if(!X)return J0.parse({relativeCwd:null,branch:J??null,repo:null});let Q=i0.relative(X,Y)||".",$=J??await KQ(X),G=await LQ(X);return J0.parse({relativeCwd:j1(Q),branch:$,repo:G})}async function BQ(Y){let J=i0.resolve(Y),{root:X}=i0.parse(J);while(!0){let Q=i0.join(J,".git");try{let G=await P1.stat(Q);if(G.isDirectory()||G.isFile())return J}catch{}if(J===X)return null;let $=i0.dirname(J);if($===J)return null;J=$}}async function KQ(Y,J){try{let X=i0.join(Y,".git","HEAD"),$=(await P1.readFile(X,"utf8")).trim();if($.startsWith("ref:")){let W=$.slice(4).trim().split("/");return W[W.length-1]??J??null}return $||J||null}catch{return J??null}}async function LQ(Y){try{let J=i0.join(Y,".git","config"),Q=(await P1.readFile(J,"utf8")).match(/\[remote "origin"\]\s+url\s*=\s*(.+)/i);if(!Q||!Q[1])return null;let $=Q[1].trim(),G=$.match(/git@([^:]+):(.+?)(?:\.git)?$/);if(G){let q=G[1],H=G[2];return`${q}/${H}`}let W=$.match(/https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);if(W){let q=W[1],H=W[2];return`${q}/${H}`}return null}catch{return null}}function VQ(Y){for(let J of Y){let X=typeof J.sessionId==="string"?J.sessionId.trim():"";if(X.length>0)return X}return null}function EQ(Y){let J=null,X=-1;for(let[Q,$]of Y){let G=$.totalTokens>0?$.totalTokens:$.inputTokens+$.outputTokens;if(G>X)X=G,J=Q}return J}function x9(Y){return DQ(Y.message)[0]??null}function DQ(Y){if(!Y)return[];let J=Y.content;if(typeof J==="string"){let X=p8(J);return X?[X]:[]}if(Array.isArray(J)){let X=[];for(let Q of J){if(typeof Q==="string"){let $=p8(Q);if($)X.push($);continue}if(Q&&typeof Q==="object"){let $=Q,G=["content","text"];for(let W of G){let q=$[W];if(typeof q==="string"){let H=p8(q);if(H)X.push(H)}}}}return X}return[]}function p8(Y,J=s6){let X=UQ(Y);if(X.length===0)return null;let $=X.slice(0,J).join(" "),G=y9($);return G.length>0?G:null}function UQ(Y){let J=[];for(let X of Y.split(/\r?\n/)){let Q=X.trim();if(!Q)continue;let $=Q.toLowerCase();if(k9.has($))continue;if(b9(Q))continue;if(T9.test(Q))continue;if(Z9.some((G)=>$.startsWith(G))){if(!h9(Q))continue}if(!/[a-z]/i.test(Q)&&!/\d/.test(Q))continue;J.push(Q)}return J}function y9(Y){return Y.replace(/\s+/g," ").trim()}function h9(Y){let J=Y.toLowerCase();if(o6.test(J))return!0;if(J.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)=>J.includes(Q))}function FQ(Y){return Math.max(0,Y.inputTokens-Y.cachedInputTokens)+Y.outputTokens+Y.reasoningOutputTokens}function g9(Y){if(!Y)return null;let J=new Date(Y);return Number.isNaN(J.getTime())?null:J}function O9(Y){let J=g9(Y);return J?J.getTime():null}function X0(Y){return typeof Y==="number"&&Number.isFinite(Y)?Y:0}function f9(Y){if(typeof Y!=="string")return;let J=Y.trim();return J.length>0?J:void 0}function MQ(Y){return m6.createHash("sha256").update(Y).digest("hex")}function t1(Y,J){if(Y===null||Y===void 0)return Y;if(Array.isArray(Y))return Y.map((X)=>t1(X,J));if(typeof Y==="object"){let X=Y;if(X.type==="image"&&X.source&&typeof X.source==="object"){let $=X.source;if(typeof $.data==="string"&&$.data.length>0){let G=$.data,W=typeof $.mediaType==="string"?$.mediaType:typeof $.media_type==="string"?$.media_type:"image/unknown",q=Buffer.from(G,"base64"),H=MQ(q);if(!J.has(H))J.set(H,{data:q,mediaType:W});return{type:"image",source:{type:"sha256",mediaType:W,sha256:H}}}}let Q={};for(let[$,G]of Object.entries(X))Q[$]=t1(G,J);return Q}return Y}function AQ(Y,J){if(!J||Object.keys(J).length===0)return 0;let X=0;for(let Q of Y){let $=Q.model;if(!$)continue;let G=jQ($,J);if(!G)continue;let W=NQ({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)},G);X+=W}return X}function jQ(Y,J){let X=Y.trim();if(!X)return null;let Q=new Set;Q.add(X);for(let G of u6)Q.add(`${G}${X}`);for(let G of Q){let W=J[G];if(W)return W}let $=X.toLowerCase();for(let[G,W]of Object.entries(J)){let q=G.toLowerCase();if(q.includes($)||$.includes(q))return W}return null}function NQ(Y,J){let X=(q,H,_,B=c6)=>{if(q==null||q<=0)return 0;if(q>B&&_!=null){let L=Math.min(q,B),F=Math.max(0,q-B)*_;if(H!=null)F+=L*H;return F}if(H!=null)return q*H;return 0},Q=X(Y.input_tokens,J.input_cost_per_token,J.input_cost_per_token_above_200k_tokens),$=X(Y.output_tokens,J.output_cost_per_token,J.output_cost_per_token_above_200k_tokens),G=X(Y.cache_creation_input_tokens,J.cache_creation_input_token_cost,J.cache_creation_input_token_cost_above_200k_tokens),W=X(Y.cache_read_input_tokens,J.cache_read_input_token_cost,J.cache_read_input_token_cost_above_200k_tokens);return Q+$+G+W}function RQ(Y){let J=Y.match(p6);if(!J)return null;let X=J[1].trim(),$=Y.match(i6)?.[1]?.trim()||void 0;return{name:X,args:$||void 0}}function zQ(Y){let J=Y.trim().match(n6);if(!J)return null;return J[1]}function wQ(Y){return Y.replace(r6,"").trim()}function SQ(Y){return Y.replace(/\x1B\[[0-9;]*m/g,"")}function IQ(Y){let J=[],X=new Map,Q=new Map,$=null,G=!1,W=i8(Y);for(let q of Y){if(q.isMeta)continue;let H=fQ(q),_=q.type;if(_==="user"){let{texts:B,images:L,toolResults:V}=OQ(q,X),F=!1;for(let w of B){if(!w.trim())continue;let k=zQ(w);if(k!==null){if(G){G=!1;continue}if($){let j=SQ(k).trim();J.push(o.parse({type:"command",name:$.name,args:$.args,output:j||void 0,id:$.id,timestamp:$.timestamp})),$=null}continue}let z=RQ(w);if(z){if(l6.has(z.name)){G=!0;continue}if($)J.push(o.parse({type:"command",name:$.name,args:$.args,id:$.id,timestamp:$.timestamp}));$={name:z.name,args:z.args,id:q.uuid,timestamp:H.timestamp};continue}let v=wQ(w);if(!v)continue;let C=q.isCompactSummary?"compaction-summary":"user",u={type:C,text:v,id:q.uuid,timestamp:H.timestamp};if(C==="user"&&!F&&L.length>0)u.images=L,F=!0;J.push(o.parse(u))}for(let w of V){let k=w.callId?Q.get(w.callId):void 0;if(k){let z=J[k.index];if(z.output=t1(w.output,X),w.error)z.error=w.error;if(typeof w.isError<"u")z.isError=w.isError;let v=P9(z,W);J[k.index]=v}}continue}if(_==="assistant"){let B=q.message?.content;if(!Array.isArray(B))continue;for(let L of B){if(!L||typeof L!=="object")continue;let V=L;if(V.type==="thinking"&&typeof V.thinking==="string"){J.push(o.parse({type:"thinking",text:V.thinking,...H}));continue}if(V.type==="text"&&typeof V.text==="string"){J.push(o.parse({type:"agent",text:V.text,...H}));continue}if(V.type==="tool_use"){let F=typeof V.id==="string"?V.id:"",w=typeof V.name==="string"?V.name:null,k=V.input??void 0,z={type:"tool-call",toolName:w,...H,input:k},v=o.parse(z),C=P9(v,W);if(J.push(C),F)Q.set(F,{index:J.length-1,toolName:w});continue}if(V.type==="image")continue}}}if($)J.push(o.parse({type:"command",name:$.name,args:$.args,id:$.id,timestamp:$.timestamp}));return{messages:J,blobs:X}}function OQ(Y,J){let X=Y.message;if(!X)return{texts:[],images:[],toolResults:[]};let Q=X.content;if(typeof Q==="string")return Q?{texts:[Q],images:[],toolResults:[]}:{texts:[],images:[],toolResults:[]};if(!Array.isArray(Q))return{texts:[],images:[],toolResults:[]};let $=[],G=[],W=[];for(let q of Q){if(!q||typeof q!=="object")continue;if(typeof q==="string"){if(q)$.push(q);continue}let H=q,_=typeof H.type==="string"?H.type:void 0;if(_==="tool_result"){let B=H,L=typeof B.tool_use_id==="string"?B.tool_use_id:void 0,V=B.content,F=Y.raw.toolUseResult??Y.raw.tool_use_result;if(F)V=F;let w=typeof B.error==="string"?B.error:void 0,k=B.is_error??B.isError,z=typeof k==="boolean"?k:typeof B.success==="boolean"?!B.success:void 0;W.push({callId:L,output:V,error:w,isError:z});continue}if(_==="text"&&typeof H.text==="string"){if(H.text)$.push(H.text);continue}if(_==="image"){let B=t1(H,J);if(B&&typeof B==="object"&&B.type==="image"){let L=B.source;if(L?.type==="sha256"&&typeof L.sha256==="string")G.push({sha256:L.sha256,mediaType:typeof L.mediaType==="string"?L.mediaType:"image/unknown"})}continue}for(let B of["content","text"]){let L=H[B];if(typeof L==="string"&&L)$.push(L)}}return{texts:$,images:G,toolResults:W}}function fQ(Y){return{id:Y.message?.id,timestamp:Y.timestamp,model:Y.message?.model}}function P9(Y,J){if(!J)return Y;let X=J.endsWith("/")?J:`${J}/`,Q=(E)=>{if(E.startsWith(X))return`./${E.slice(X.length)}`;return E},$=(E)=>typeof E==="object"&&E!==null&&!Array.isArray(E),G=(E)=>$(E)?{...E}:void 0,W=(E,N)=>{let A={...E};for(let T of N)delete A[T];return A},q=(E,N)=>{if(typeof E[N]==="string")E[N]=Q(E[N])},H=(E)=>typeof E==="number"&&Number.isFinite(E)?E:0,_=(E)=>{if(!Array.isArray(E))return E;return E.map((N)=>{if($(N)){let A={...N};return delete A.activeForm,A}return N})},{toolName:B,input:L,output:V}=Y,F=L,w=V,k=!1,z=!1,v=Y.isError;switch(B){case"Write":{let E=G(L);if(E)q(E,"file_path"),F=E,k=!0;let N=G(V);if(N){let A={};if(N.type!==void 0)A.type=N.type;w=A,z=!0}break}case"Read":{let E=G(L);if(E)q(E,"file_path"),F=E,k=!0;let N=G(V);if(N){let A={};if(typeof N.type==="string")A.type=N.type;if(N.file&&$(N.file)){let T=N.file,g={};if(typeof T.content==="string")g.content=T.content;if(typeof T.numLines==="number")g.numLines=T.numLines;if(typeof T.startLine==="number")g.startLine=T.startLine;if(typeof T.totalLines==="number")g.totalLines=T.totalLines;if(Object.keys(g).length>0)A.file=g}w=A,z=!0}break}case"Edit":{let E=G(L),N=G(V),A,T;if(N&&Array.isArray(N.structuredPatch)){let g=[];for(let S of N.structuredPatch)if($(S)){if(T===void 0&&typeof S.oldStart==="number")T=S.oldStart;if(Array.isArray(S.lines)){for(let Z of S.lines)if(typeof Z==="string")g.push(Z)}}if(g.length>0)A=`${g.join(`
|
|
30
32
|
`)}
|
|
31
|
-
`}if(
|
|
32
|
-
`),
|
|
33
|
-
`),
|
|
33
|
+
`}if(T===void 0&&typeof V==="string"){let g=V.match(/^\s*(\d+)[→\t]/m);if(g)T=parseInt(g[1],10)}if(E){q(E,"file_path");let g=typeof E.old_string==="string"?E.old_string:typeof E.oldString==="string"?E.oldString:void 0,S=typeof E.new_string==="string"?E.new_string:typeof E.newString==="string"?E.newString:void 0,Z=v===!0||v==="true"||typeof V==="string"&&!V.includes("has been updated")||N&&typeof N.type==="string"&&N.type==="error";if(!A&&!Z&&g!==void 0&&S!==void 0){let P=g.split(`
|
|
34
|
+
`),f=S.split(`
|
|
35
|
+
`),d=[];for(let i of P)d.push(`-${i}`);for(let i of f)d.push(`+${i}`);A=`${d.join(`
|
|
34
36
|
`)}
|
|
35
|
-
`}if(delete
|
|
37
|
+
`}if(delete E.old_string,delete E.new_string,delete E.oldString,delete E.newString,A)E.diff=A;if(T!==void 0&&T>0)E.lineOffset=T;F=E,k=!0}if(N){let g=W(N,["filePath","newString","oldString","originalFile","structuredPatch","replaceAll"]);w=Object.keys(g).length>0?g:void 0,z=!0}break}case"Glob":case"Grep":{let E=G(V);if(E&&Array.isArray(E.filenames))E.filenames=E.filenames.map((N)=>typeof N==="string"?Q(N):N),delete E.numFiles,w=E,z=!0;break}case"Bash":{let E=G(L);if(E&&typeof E.command==="string"){let A=E.command.match(/^(?:bash|zsh)\s+-lc\s+['"](.*)['"]$/s);if(A)E.command=A[1];F=E,k=!0}let N=G(V);if(N)delete N.stdoutLines,delete N.stderrLines,w=N,z=!0;break}case"Task":{let E=G(L);if(E)F=E,k=!0;let N=G(V);if(N){let A={};for(let[T,g]of Object.entries(N)){if(T==="usage"&&$(g)){let S=g,Z=H(S.input_tokens??S.inputTokens),P=H(S.cached_input_tokens??S.cachedInputTokens)+H(S.cache_creation_input_tokens??S.cacheCreationInputTokens)+H(S.cache_read_input_tokens??S.cacheReadInputTokens),f=H(S.output_tokens??S.outputTokens),d=H(S.reasoning_output_tokens??S.reasoningOutputTokens),i=S.total_tokens??S.totalTokens,M1=typeof i==="number"&&Number.isFinite(i)?i:Z+P+f+d;A.usage={inputTokens:Z,cachedInputTokens:P,outputTokens:f,reasoningOutputTokens:d,totalTokens:M1};continue}if(T==="usage"||T==="totalTokens"||T==="prompt")continue;A[T]=g}w=A,z=!0}break}case"TodoWrite":{let E=G(L);if(E){if(Array.isArray(E.todos))E.todos=_(E.todos);F=E,k=!0}let N=G(V);if(N){let A={...N},T=!1;if(Array.isArray(A.newTodos))A.newTodos=_(A.newTodos),T=!0;if(Array.isArray(A.oldTodos))A.oldTodos=_(A.oldTodos),T=!0;w=T?A:N,z=T}break}case"BashOutput":{let E=G(V);if(E)delete E.stdoutLines,delete E.stderrLines,w=E,z=!0;break}default:break}if(B==="KillShell"&&typeof v==="boolean")v=String(v);let C={...Y};if(k)if(typeof F>"u")delete C.input;else C.input=F;if(z)if(typeof w>"u")delete C.output;else C.output=w;if(typeof v>"u"){if(typeof C.error==="string"&&C.error.trim())v=!0;else if(typeof w==="string"&&/^error:/i.test(w.trim()))v=!0}if(typeof v<"u")C.isError=v;let u={},j=["id","input","model","output","timestamp","toolName","error","isError","type"];for(let E of j)if(Object.prototype.hasOwnProperty.call(C,E))u[E]=C[E];for(let E of Object.keys(C))if(!Object.prototype.hasOwnProperty.call(u,E))u[E]=C[E];return I9.parse(u)}import n8 from"node:path";var r8={inputTokens:0,cachedInputTokens:0,outputTokens:0,reasoningOutputTokens:0,totalTokens:0},PQ=["anthropic/","claude-3-5-","claude-3-","claude-","openai/","azure/","openrouter/openai/"],kQ=200000,TQ={shell:"Bash"},ZQ=["<user_instructions","<environment_context"];function t8(Y,J={}){let X=CQ(Y);if(X.length===0)return null;let Q=new Map,$=new Set,G=[],W=[],q=null,H=null,_=null,B,L={...r8},V={...r8};for(let E of X){if(!E)continue;let{type:N,payload:A,timestamp:T}=E;if(T&&(!B||sQ(T,B)>0))B=T;if(N==="session_meta"&&A){if(q=bQ(A),!H)H=q.cwd;continue}if(N==="turn_context"&&A){let S=h(A.cwd);if(S)H=S;let Z=h(A.model);if(Z)_=Z;continue}if(N==="event_msg"&&A){if(h(A.type)==="token_count"){let Z=m9(A.info,"last_token_usage"),P=m9(A.info,"total_token_usage"),f=null;if(Z)f=Z;else if(P)f={inputTokens:Math.max(0,P.inputTokens-V.inputTokens),cachedInputTokens:Math.max(0,P.cachedInputTokens-V.cachedInputTokens),outputTokens:Math.max(0,P.outputTokens-V.outputTokens),reasoningOutputTokens:Math.max(0,P.reasoningOutputTokens-V.reasoningOutputTokens),totalTokens:Math.max(0,P.totalTokens-V.totalTokens)};if(f)L={inputTokens:L.inputTokens+f.inputTokens,cachedInputTokens:L.cachedInputTokens+f.cachedInputTokens,outputTokens:L.outputTokens+f.outputTokens,reasoningOutputTokens:L.reasoningOutputTokens+f.reasoningOutputTokens,totalTokens:L.totalTokens+f.totalTokens};if(P)V=P}continue}if(N!=="response_item"||!A)continue;switch(h(A.type)){case"message":{let S=h(A.role),Z=vQ(A.content);if(Z.length===0)break;let P=C0(Z.join(`
|
|
36
38
|
|
|
37
|
-
`));if(!
|
|
38
|
-
`).trim(),
|
|
39
|
-
`)?
|
|
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=`
|
|
39
|
+
`));if(!P)break;if(S==="user"){if(dQ(P))break;W.push(P);let f=h(A.id),d={type:"user",timestamp:T,text:P};if(f)d.id=f;s8(d,G,$)}else if(S==="assistant"){let f=h(A.id),d={type:"agent",timestamp:T,model:_??void 0,text:P};if(f)d.id=f;s8(d,G,$)}break}case"reasoning":{let S=xQ(A);for(let Z of S){let P=h(A.id),f={type:"thinking",timestamp:T,model:_??void 0,text:Z};if(P)f.id=P;s8(f,G,$)}break}case"function_call":{let S=h(A.call_id)??h(A.id)??void 0,Z=h(A.name),P=u9(Z),f=o8(A.arguments),d=yQ(f,H),i=o.parse({type:"tool-call",id:S,timestamp:T,model:_??void 0,toolName:P,input:d}),M1=a8(i,H,Z);Q.set(S??"",{index:G.push(M1)-1,rawName:Z});break}case"function_call_output":{let S=h(A.call_id);if(!S)break;let Z=Q.get(S);if(!Z)break;let P=o8(A.output),f=c9(G[Z.index],P,H,Z.rawName);G[Z.index]=f;break}case"custom_tool_call":{let S=h(A.call_id)??h(A.id)??void 0,Z=h(A.name),P=u9(Z),f=hQ(Z,A.input,H),d=o.parse({type:"tool-call",id:S,timestamp:T,model:_??void 0,toolName:P,input:f}),i=a8(d,H,Z);Q.set(S??"",{index:G.push(i)-1,rawName:Z});break}case"custom_tool_call_output":{let S=h(A.call_id);if(!S)break;let Z=Q.get(S);if(!Z)break;let P=o8(A.output),f=c9(G[Z.index],P,H,Z.rawName);G[Z.index]=f;break}default:break}}if(G.length===0)return null;let F=aQ(B)??J.now??new Date,w=pQ(W),k=L??{...r8},z=lQ(k),v=eQ(_,k,J.pricing),C=J.gitContext!==void 0?J.gitContext:iQ(q,H),u=H?m0(H):"",j=e1(G);return{transcript:f1.parse({v:1,id:q?.id??G[0]?.id??tQ(F),source:"codex",timestamp:F,preview:w,summary:null,model:_,blendedTokens:z,costUsd:v,messageCount:G.length,...j,tokenUsage:k,modelUsage:_?[a1.parse({model:_,usage:k})]:[],git:C,cwd:u,messages:G}),blobs:new Map}}function CQ(Y){let J=[];for(let X of Y){if(!X||typeof X!=="object")continue;let Q=X,$=h(Q.type);if(!$)continue;let G=h(Q.timestamp)??void 0,W=Q.payload&&typeof Q.payload==="object"?Q.payload:null;J.push({type:$,timestamp:G,payload:W})}return J}function bQ(Y){let J=Y.git??{};return{id:h(Y.id),cwd:h(Y.cwd),git:{branch:h(J.branch),repositoryUrl:h(J.repository_url??J.repositoryUrl)}}}function m9(Y,J="total_token_usage"){if(!Y||typeof Y!=="object")return null;let X=Y,Q;if(J==="last_token_usage")Q=X.last_token_usage??X.lastTokenUsage??X.total_token_usage??X.totalTokenUsage;else Q=X.total_token_usage??X.totalTokenUsage??X.last_token_usage??X.lastTokenUsage;if(!Q||typeof Q!=="object")return null;let $=Q;return{inputTokens:S0($.input_tokens??$.inputTokens),cachedInputTokens:S0($.cached_input_tokens??$.cachedInputTokens),outputTokens:S0($.output_tokens??$.outputTokens),reasoningOutputTokens:S0($.reasoning_output_tokens??$.reasoningOutputTokens),totalTokens:S0($.total_tokens??$.totalTokens)}}function vQ(Y){if(typeof Y==="string"){let X=C0(Y);return X?[X]:[]}if(!Array.isArray(Y))return[];let J=[];for(let X of Y){if(!X)continue;if(typeof X==="string"){let Q=C0(X);if(Q)J.push(Q);continue}if(typeof X==="object"){let Q=X,$=h(Q.text??Q.content);if($){let G=C0($);if(G)J.push(G)}}}return J}function xQ(Y){let J=[],X=Y.summary;if(Array.isArray(X)){for(let $ of X)if($&&typeof $==="object"){let G=h($.text);if(G){let W=C0(G);if(W)J.push(W)}}}let Q=Y.content;if(Array.isArray(Q)){for(let $ of Q)if($&&typeof $==="object"){let G=$;if(h(G.type)==="reasoning"||h(G.type)==="text"){let W=h(G.text??G.content);if(W){let q=C0(W);if(q)J.push(q)}}}}return J}function o8(Y){let J=h(Y);if(!J)return Y;try{return JSON.parse(J)}catch{return Y}}function yQ(Y,J){if(!Y||typeof Y!=="object")return Y;let X={...Y};if(typeof X.workdir==="string"&&J)X.workdir=B1(X.workdir,J);return X}function hQ(Y,J,X){if(!J)return J;if(Y==="apply_patch"){let Q=h(J);if(!Q)return J;let $=uQ(Q,X);if($.diff||$.file_path)return $}return J}function c9(Y,J,X,Q){if(Y.type!=="tool-call")return Y;let $=J;if(Q==="shell")$=mQ(J);else if(Q==="apply_patch")$=cQ(J);let G={...Y,output:$};if(Q==="shell"){let W=gQ(G,X);if(W)return W}return a8(G,X,Q)}function gQ(Y,J){if(Y.type!=="tool-call"||!Y.input)return null;let Q=Y.input.command;if(!Array.isArray(Q)||Q.length<3)return null;let $=Q[0];if($!=="bash"&&$!=="zsh"||Q[1]!=="-lc")return null;let G=h(Q[2]);if(!G)return null;let W=G.match(/^cat\s+<<'EOF'\s+>\s+(\S+)\s*\n([\s\S]*?)EOF$/);if(W){let[,H,_]=W,B=J?B1(`${J}/${H}`,J):`./${H}`;return o.parse({...Y,toolName:"Write",input:{file_path:B,content:_||""},output:void 0})}let q=G.match(/^cat\s+(\S+)$/);if(q){let[,H]=q,_=J?B1(`${J}/${H}`,J):`./${H}`,B;if(Y.output&&typeof Y.output==="object"){let L=Y.output;B=h(L.stdout)??void 0}return o.parse({...Y,toolName:"Read",input:{file_path:_},output:B})}return null}function a8(Y,J,X){if(Y.type!=="tool-call")return Y;let{toolName:Q,input:$,output:G}=Y;if(X==="shell"){if(Q="Bash",$&&typeof $==="object"){let W={...$};if(typeof W.workdir==="string"&&J)W.workdir=B1(W.workdir,J);$=W}}if(X==="apply_patch"){if(Q="Edit",$&&typeof $==="object"){let W={...$},q=h(W.file_path);if(q&&J)W.file_path=B1(q,J);$=W}}return o.parse({...Y,toolName:Q,input:$,output:G})}function mQ(Y){if(!Y||typeof Y!=="object")return Y;let J=Y,X={},Q=h(J.output??J.stdout);if(typeof J.stdout==="string")X.stdout=J.stdout;else if(Q)X.stdout=Q;let $=h(J.stderr);if($)X.stderr=$;let G=J.metadata&&typeof J.metadata==="object"?J.metadata:{},W=S0(G.exit_code??G.exitCode??J.exit_code??J.exitCode);if(Number.isFinite(W))X.exitCode=W;let q=S0(G.duration_seconds??G.durationSeconds);if(Number.isFinite(q)&&q>0)X.durationSeconds=q;return Object.keys(X).length>0?X:void 0}function cQ(Y){if(!Y||typeof Y!=="object")return Y;let J=Y,X={},Q=h(J.output);if(Q)X.message=Q;let $=J.metadata&&typeof J.metadata==="object"?J.metadata:null;if($){let G=S0($.exit_code??$.exitCode);if(Number.isFinite(G))X.exitCode=G;let W=S0($.duration_seconds??$.durationSeconds);if(Number.isFinite(W)&&W>0)X.durationSeconds=W}return Object.keys(X).length>0?X:void 0}function uQ(Y,J){let X=Y.split(/\r?\n/),Q=null,$=[];for(let q of X){if(q.startsWith("*** ")){let H=q.match(/^\*\*\* (?:Update|Add|Delete) File: (.+)$/);if(H&&H[1])Q=H[1].trim();continue}$.push(q)}let G=$.join(`
|
|
40
|
+
`).trim(),W={};if(Q)W.file_path=J?B1(Q,J):Q;if(G)W.diff=G.endsWith(`
|
|
41
|
+
`)?G:`${G}
|
|
42
|
+
`;return W}function B1(Y,J){if(!Y)return Y;let X=n8.isAbsolute(Y),Q=Y.replace(/\\/g,"/");if(!X){if(Q==="."||Q==="./")return".";if(Q.startsWith("./")||Q.startsWith("../"))return Q;return`./${Q}`}try{let $=n8.relative(J,Y).replace(/\\/g,"/");if($==="")return".";if($.startsWith("..")||n8.isAbsolute($))return Y;return $==="."?".":`./${$}`}catch{return Y}}function lQ(Y){return Math.max(0,Y.inputTokens-Y.cachedInputTokens)+Y.outputTokens+Y.reasoningOutputTokens}function dQ(Y){let J=Y.trim().toLowerCase();return ZQ.some((X)=>J.startsWith(X))}function pQ(Y){for(let J of Y){let X=C0(J);if(!X)continue;if(X.startsWith("<user_instructions>")||X.startsWith("<environment_context>"))continue;return X}return Y.length>0?C0(Y[0]):null}function iQ(Y,J){let X=J??Y?.cwd??null;if(!Y)return J0.parse({repo:null,branch:null,relativeCwd:null});let Q=nQ(Y.git.repositoryUrl),$=Y.git.branch,G=Q?Q.split("/").pop()??null:null,W=rQ(X,G);return J0.parse({repo:Q,branch:$,relativeCwd:j1(W)})}function nQ(Y){if(!Y)return null;let J=Y.match(/git@([^:]+):(.+?)(?:\.git)?$/);if(J)return`${J[1]}/${J[2]}`.replace(/\\/g,"/");let X=Y.match(/https?:\/\/([^/]+)\/(.+?)(?:\.git)?$/);if(X)return`${X[1]}/${X[2]}`.replace(/\\/g,"/");return null}function rQ(Y,J){if(!Y)return null;let Q=Y.replace(/\\/g,"/").split("/").filter(Boolean);if(Q.length===0)return null;if(J){let $=Q.lastIndexOf(J);if($>=0){let G=Q.slice($+1).join("/");return G.length>0?G:"."}}return null}function s8(Y,J,X){let Q=oQ(Y);if(Q&&X.has(Q))return;let $=o.parse(Y);if(J.push($),Q)X.add(Q)}function oQ(Y){if("text"in Y&&typeof Y.text==="string")return`${Y.type}|${Y.timestamp??""}|${Y.text}`;if(Y.type==="tool-call")return`${Y.type}|${Y.timestamp??""}|${Y.id??""}|${Y.toolName??""}`;return null}function u9(Y){if(!Y)return Y;return TQ[Y]??Y}function sQ(Y,J){let X=Date.parse(Y),Q=Date.parse(J);if(Number.isNaN(X)||Number.isNaN(Q))return 0;return X===Q?0:X>Q?1:-1}function aQ(Y){if(!Y)return null;let J=new Date(Y);return Number.isNaN(J.getTime())?null:J}function S0(Y){return typeof Y==="number"&&Number.isFinite(Y)?Y:0}function h(Y){if(typeof Y!=="string")return null;let J=Y.trim();return J.length>0?J:null}function C0(Y){return Y.replace(/\s+/g," ").trim()}function tQ(Y){return`codex-${Y.getTime()}`}function eQ(Y,J,X){if(!X||!Y)return 0;let Q=Y3(Y,X);if(!Q)return 0;return J3({input_tokens:Math.max(0,J.inputTokens-J.cachedInputTokens),output_tokens:J.outputTokens+J.reasoningOutputTokens,cache_creation_input_tokens:0,cache_read_input_tokens:J.cachedInputTokens},Q)}function Y3(Y,J){let X=Y.trim();if(!X)return null;let Q=new Set;Q.add(X);for(let G of PQ)Q.add(`${G}${X}`);for(let G of Q){let W=J[G];if(W)return W}let $=X.toLowerCase();for(let[G,W]of Object.entries(J)){let q=G.toLowerCase();if(q.includes($)||$.includes(q))return W}return null}function J3(Y,J){let X=(q,H,_,B=kQ)=>{if(q==null||q<=0)return 0;if(q>B&&_!=null){let L=Math.min(q,B),F=Math.max(0,q-B)*_;if(H!=null)F+=L*H;return F}if(H!=null)return q*H;return 0},Q=X(Y.input_tokens,J.input_cost_per_token,J.input_cost_per_token_above_200k_tokens),$=X(Y.output_tokens,J.output_cost_per_token,J.output_cost_per_token_above_200k_tokens),G=X(Y.cache_creation_input_tokens,J.cache_creation_input_token_cost,J.cache_creation_input_token_cost_above_200k_tokens),W=X(Y.cache_read_input_tokens,J.cache_read_input_token_cost,J.cache_read_input_token_cost_above_200k_tokens);return Q+$+G+W}var X3="https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json",Q3=200000,$3=K.object({input_cost_per_token:K.number().optional(),output_cost_per_token:K.number().optional(),cache_creation_input_token_cost:K.number().optional(),cache_read_input_token_cost:K.number().optional(),max_tokens:K.number().optional(),max_input_tokens:K.number().optional(),max_output_tokens:K.number().optional(),input_cost_per_token_above_200k_tokens:K.number().optional(),output_cost_per_token_above_200k_tokens:K.number().optional(),cache_creation_input_token_cost_above_200k_tokens:K.number().optional(),cache_read_input_token_cost_above_200k_tokens:K.number().optional(),input_cost_per_token_above_128k_tokens:K.number().optional(),output_cost_per_token_above_128k_tokens:K.number().optional()}),G3=["anthropic/","claude-3-5-","claude-3-","claude-","openai/","azure/","openrouter/openai/"];function W3(Y){if(Y!=null)return Y;return{debug:()=>{},error:()=>{},info:()=>{},warn:()=>{}}}class e8{cachedPricing=null;logger;offline;offlineLoader;url;providerPrefixes;constructor(Y={}){this.logger=W3(Y.logger),this.offline=Boolean(Y.offline),this.offlineLoader=Y.offlineLoader,this.url=Y.url??X3,this.providerPrefixes=Y.providerPrefixes??G3}[Symbol.dispose](){this.clearCache()}clearCache(){this.cachedPricing=null}async loadOfflinePricing(){if(this.offlineLoader==null)throw Error("Offline loader was not provided");let Y=new Map(Object.entries(await this.offlineLoader()));return this.cachedPricing=Y,Y}async fetchRemotePricing(){this.logger.warn("Fetching latest model pricing from LiteLLM...");let Y=await fetch(this.url);if(!Y.ok)throw Error(`Failed to fetch pricing data: ${Y.statusText}`);let J=await Y.json(),X=new Map;for(let[Q,$]of Object.entries(J)){if(typeof $!=="object"||$==null)continue;let G=$3.safeParse($);if(!G.success)continue;X.set(Q,G.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(Y){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 Y}}async fetchModelPricing(){return this.ensurePricingLoaded()}createMatchingCandidates(Y){let J=new Set;J.add(Y);for(let X of this.providerPrefixes)J.add(`${X}${Y}`);return Array.from(J)}async getModelPricing(Y){let J=await this.ensurePricingLoaded();for(let Q of this.createMatchingCandidates(Y)){let $=J.get(Q);if($!=null)return $}let X=Y.toLowerCase();for(let[Q,$]of J){let G=Q.toLowerCase();if(G.includes(X)||X.includes(G))return $}return null}async getModelContextLimit(Y){return(await this.getModelPricing(Y))?.max_input_tokens??null}calculateCostFromPricing(Y,J){let X=(q,H,_,B=Q3)=>{if(q==null||q<=0)return 0;if(q>B&&_!=null){let L=Math.min(q,B),F=Math.max(0,q-B)*_;if(H!=null)F+=L*H;return F}if(H!=null)return q*H;return 0},Q=X(Y.input_tokens,J.input_cost_per_token,J.input_cost_per_token_above_200k_tokens),$=X(Y.output_tokens,J.output_cost_per_token,J.output_cost_per_token_above_200k_tokens),G=X(Y.cache_creation_input_tokens,J.cache_creation_input_token_cost,J.cache_creation_input_token_cost_above_200k_tokens),W=X(Y.cache_read_input_tokens,J.cache_read_input_token_cost,J.cache_read_input_token_cost_above_200k_tokens);return Q+$+G+W}async calculateCostFromTokens(Y,J){if(J==null||J==="")return 0;let X=await this.getModelPricing(J);if(X==null)throw Error(`Model pricing not found for ${J}`);return this.calculateCostFromPricing(Y,X)}}import{execSync as q3}from"child_process";import{resolve as H3}from"path";var _3="http://localhost:3000",B3=1e4;async function K3(Y,J,X){try{return(await fetch(`${J}/api/blobs/${Y}`,{method:"HEAD",headers:{...X&&{Authorization:`Bearer ${X}`}},signal:AbortSignal.timeout(5000)})).ok}catch{return!1}}async function L3(Y,J,X){if(!Y||Y.length===0)return;let $=(await Promise.all(Y.map(async(G)=>({blob:G,exists:await K3(G.sha256,J,X)})))).filter((G)=>!G.exists).map((G)=>G.blob);return $.length>0?$:void 0}async function l9(Y,J={}){let X=J.serverUrl??process.env.VI_SERVER_URL??_3,Q=J.authToken??null,$=J.timeoutMs??B3,G=await L3(Y.blobs,X,Q),W=new FormData,q=`${Y.unifiedTranscript.id||"transcript"}.jsonl`;if(Y.id)W.set("id",Y.id);if(W.set("sha256",Y.sha256),W.set("unifiedTranscript",JSON.stringify(Y.unifiedTranscript)),W.set("transcript",new Blob([Y.rawTranscript],{type:"application/jsonl"}),q),G)for(let H of G){let _=H.data.buffer.slice(H.data.byteOffset,H.data.byteOffset+H.data.byteLength);W.append(`blob:${H.sha256}`,new Blob([_],{type:H.mediaType}),`${H.sha256}.blob`)}try{let H=await fetch(`${X}/api/ingest`,{method:"POST",headers:{...Q&&{Authorization:`Bearer ${Q}`}},body:W,signal:AbortSignal.timeout($)});if(!H.ok)return console.error(`Upload failed: ${H.status} ${H.statusText}`),{success:!1};let _=await H.json();if(V3(_))return{success:!0,id:_.id,transcriptId:_.transcriptId};return console.error("Upload succeeded but response had unexpected shape:",_),{success:!1}}catch(H){if(H instanceof Error)console.error("Upload error:",H.message);return{success:!1}}}function V3(Y){if(typeof Y!=="object"||Y===null)return!1;let J=Y;return typeof J.success==="boolean"&&(J.success===!1||typeof J.id==="string"&&typeof J.transcriptId==="string")&&(J.eventsReceived===void 0||typeof J.eventsReceived==="number")}function d9(Y){let J=H3(Y),X=m0(J);try{let Q=q3("git remote get-url origin",{cwd:J,encoding:"utf8",timeout:2000,stdio:["pipe","pipe","ignore"]}).trim(),$=E3(Q),G=$.split("/").pop()||"unknown";return{repoId:$,repoName:G,cwd:X}}catch{return{repoId:null,repoName:J.split("/").pop()||"unknown",cwd:X}}}function E3(Y){let J=/^(?<user>[^@]+)@(?<host>[^:]+):(?<path>.+)$/,X=Y.match(J);if(X?.groups)return`${X.groups.host}/${X.groups.path.replace(/\.git$/i,"")}`;try{let Q=new URL(Y),$=Q.pathname.replace(/\.git$/i,"").replace(/^\//,"");return`${Q.host}/${$}`}catch{return Y.replace(/\.git$/i,"")}}import{existsSync as EG,mkdirSync as DG}from"fs";import{homedir as UG}from"os";import{join as o5}from"path";import{Database as FG}from"bun:sqlite";var{createId:_H,init:LG,getConstants:BH,isCuid:KH}=r5();var qY=LG;var _Y=o5(UG(),".config","agentlogs"),MG=o5(_Y,"local.db"),C1=null,HY=null;function AG(){if(!HY)HY=qY({length:10});return HY}function jG(){if(!EG(_Y))DG(_Y,{recursive:!0})}function X8(){if(C1)return C1;return jG(),C1=new FG(MG),C1.run(`
|
|
43
|
+
CREATE TABLE IF NOT EXISTS kv (
|
|
44
|
+
key TEXT PRIMARY KEY,
|
|
45
|
+
value TEXT NOT NULL
|
|
46
|
+
)
|
|
47
|
+
`),C1}function s5(){return{get(Y,J){let Q=X8().query("SELECT value FROM kv WHERE key = ?").get(Y);if(!Q)return J;try{return JSON.parse(Q.value)}catch{return J}},set(Y,J){let X=X8(),Q=JSON.stringify(J);X.run("INSERT OR REPLACE INTO kv (key, value) VALUES (?, ?)",[Y,Q])},delete(Y){X8().run("DELETE FROM kv WHERE key = ?",[Y])},keys(Y){let J=X8();if(Y)return J.query("SELECT key FROM kv WHERE key LIKE ?").all(`${Y}%`).map(($)=>$.key);return J.query("SELECT key FROM kv").all().map((Q)=>Q.key)}}}function Q8(Y){let J=s5(),X=`transcript.${Y}.id`,Q=J.get(X);if(Q)return Q;let $=AG()();return J.set(X,$),$}function a5(Y,J){let X=s5(),Q=`transcript.${Y}.id`;X.set(Q,J)}async function KY(Y,J={}){let{transcriptPath:X,sessionId:Q,source:$="claude-code"}=Y;if(!X)throw Error("No transcript path provided.");if(!BY(X))throw Error(`Transcript file not found at path: ${X}`);let G=RG(X,"utf8"),W=G.split(/\r?\n/),q=[],H=0;for(let S of W){let Z=S.trim();if(!Z)continue;try{let P=JSON.parse(Z);if(typeof P==="object"&&P!==null)q.push(P);else H+=1}catch{H+=1}}if(H>0)console.warn(`Skipped ${H} line(s) that were not valid JSON.`);if(q.length===0)throw Error("No transcript events found in the specified file.");let B=await new e8().fetchModelPricing(),V={pricing:Object.fromEntries(B)},F=Y.cwdOverride&&Y.cwdOverride.trim().length>0?Y.cwdOverride.trim():IG(q)??process.cwd(),w=OG(q),k=await v9(F,w),z={...V,gitContext:k},v=$==="codex"?t8(q,V):C9(q,z);if(!v)throw Error(`Unable to convert ${$} transcript to unified format.`);let{transcript:C,blobs:u}=v,j=Q??C.id;if(!j)throw Error("Transcript did not include a session identifier.");if(Q&&Q!==C.id)throw Error(`Provided sessionId (${Q}) does not match unified transcript id (${C.id}).`);let t=q.length,E=NG("sha256").update(G).digest("hex"),N=Q8(j),A=[];for(let[S,Z]of u)A.push({sha256:S,data:new Uint8Array(Z.data),mediaType:Z.mediaType});let T={id:N,sha256:E,rawTranscript:G,unifiedTranscript:C,blobs:A.length>0?A:void 0},g=await l9(T,J);if(g.success&&g.id)a5(j,g.id);return{...g,eventCount:t,invalidLines:H,sessionId:j,unifiedTranscript:C,sha256:E,source:$,cwd:F}}function t5(Y){if(!Y)return null;if(wG(Y))return BY(Y)?Y:null;let J=new Set,X=(G)=>{if(!G)return null;let W=SG(G,Y);if(J.has(W))return null;return J.add(W),BY(W)?W:null},Q=X(process.cwd())??X(process.env.INIT_CWD)??X(process.env.PWD);if(Q)return Q;let $=process.cwd();while(!0){let G=X($);if(G)return G;let W=zG($);if(W===$)break;$=W}return null}function IG(Y){for(let J of Y){let X=typeof J.cwd==="string"?J.cwd.trim():"";if(X)return X}return null}function OG(Y){for(let J of Y){let X=typeof J.gitBranch==="string"?J.gitBranch.trim():"";if(X)return X}return}async function V1(Y){let J=W0();if(J.length===0)throw Error("No authenticated environments found. Run `agentlogs login` first.");let X=[],Q=0,$="",G="";for(let W of J)try{let q=await KY(Y,{serverUrl:W.baseURL,authToken:W.token});if(q.success&&Q===0)Q=q.eventCount,$=q.id??"",G=q.sessionId;X.push({envName:W.name,baseURL:W.baseURL,success:q.success,id:q.id,transcriptId:q.transcriptId})}catch(q){X.push({envName:W.name,baseURL:W.baseURL,success:!1,error:q instanceof Error?q.message:String(q)})}return{results:X,eventCount:Q,id:$,sessionId:G,anySuccess:X.some((W)=>W.success),allSuccess:X.every((W)=>W.success)}}var fG=d1(),c=$9("cli",{logFilePath:fG,logToFile:!0,disableConsole:!0});async function e5(){let Y=Date.now(),J,X;try{let{preview:Q,full:$}=await CG();if(c.info(`Hook invoked (stdin: ${$.length} bytes)`),!$.trim())c.warn("Hook received empty stdin - ignoring"),process.exit(0);let G=Q.includes('"PreToolUse"'),W=Q.includes("git")&&Q.includes("commit");if(G&&!W){let _={hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};process.stdout.write(JSON.stringify(_));let B=Date.now()-Y;c.info(`Hook completed: PreToolUse (fast path, ${B}ms)`),process.exit(0)}let q;try{q=JSON.parse($)}catch(_){c.error("Hook failed to parse stdin JSON",{error:_ instanceof Error?_.message:_}),process.exit(1)}if(J=q.hook_event_name,X=q.session_id||"unknown",!J)c.error("Hook missing event name",{sessionId:X}),process.exit(1);if(c.info(`Hook: ${J} (session: ${X.substring(0,8)}...)`),J==="PreToolUse")await PG(q);else if(J==="SessionEnd")await kG(q);else if(J==="Stop")await TG(q);else c.debug(`Hook: skipping unsupported event ${J}`);let H=Date.now()-Y;c.info(`Hook completed: ${J} (${H}ms)`,{sessionId:X.substring(0,8)}),process.exit(0)}catch(Q){let $=Date.now()-Y;c.error(`Hook failed: ${J||"unknown"} (${$}ms)`,{sessionId:X?.substring(0,8),error:Q instanceof Error?Q.message:String(Q)}),process.exit(1)}}async function PG(Y){let J=Y.session_id||"unknown",X=!1,Q=!1,{command:$,updateCommand:G}=bG(Y),W=typeof Y.tool_name==="string"?Y.tool_name:Y.tool;if((W?W.toLowerCase()==="bash":Boolean($))&&$&&vG($)){X=!0;let _=Q8(J),B=xG($,_);if(B!==$)G(B),Q=!0}let H=Q?{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:Y.tool_input}}:{hookSpecificOutput:{hookEventName:"PreToolUse",permissionDecision:"allow"}};if(process.stdout.write(JSON.stringify(H)),X)await gG({sessionId:J,transcriptPath:Y.transcript_path,cwd:typeof Y.cwd==="string"?Y.cwd:void 0}),await hG({sessionId:J,repoPath:yG(Y),timestamp:new Date().toISOString()});c.info("PreToolUse handled",{sessionId:J.substring(0,8),shouldTrack:X,modified:Q})}async function kG(Y){let J=Y.transcript_path,X=Y.session_id||"unknown";if(!J){c.error("SessionEnd: missing transcript_path",{sessionId:X});return}if(W0().length===0){c.error("SessionEnd: no authenticated environments found. Run the CLI login flow first.",{sessionId:X});return}try{let $=await V1({transcriptPath:J,sessionId:Y.session_id,cwdOverride:Y.cwd});for(let G of $.results)if(G.success)c.info(`SessionEnd: uploaded to ${G.envName} (${$.eventCount} events)`,{transcriptId:G.transcriptId,sessionId:X.substring(0,8)});else c.error(`SessionEnd: upload to ${G.envName} failed`,{sessionId:X,error:G.error})}catch($){c.error("SessionEnd: upload error",{sessionId:X,error:$ instanceof Error?$.message:String($)})}}async function TG(Y){let J=Y.transcript_path,X=Y.session_id||"unknown";if(!J){c.error("Stop: missing transcript_path",{sessionId:X});return}if(Y.stop_hook_active){c.debug("Stop: skipped (stop_hook_active=true)",{sessionId:X});return}if(W0().length===0){c.error("Stop: no authenticated environments found. Run the CLI login flow first.",{sessionId:X});return}try{let $=await V1({transcriptPath:J,sessionId:Y.session_id,cwdOverride:Y.cwd});for(let G of $.results)if(G.success)c.info(`Stop: uploaded to ${G.envName} (${$.eventCount} events)`,{transcriptId:G.transcriptId,sessionId:X.substring(0,8)});else c.error(`Stop: upload to ${G.envName} failed`,{sessionId:X,error:G.error})}catch($){c.error("Stop: upload error",{sessionId:X,error:$ instanceof Error?$.message:String($)})}}var ZG=2048;function CG(){return new Promise((Y,J)=>{let X="";process.stdin.setEncoding("utf8"),process.stdin.on("data",(Q)=>{X+=Q}),process.stdin.on("end",()=>{Y({preview:X.slice(0,ZG),full:X})}),process.stdin.on("error",(Q)=>J(Q))})}function bG(Y){if(Y.tool_input&&typeof Y.tool_input==="object"&&typeof Y.tool_input.command==="string")return{command:Y.tool_input.command,updateCommand:(J)=>{if(Y.tool_input)Y.tool_input.command=J}};if(typeof Y.command==="string")return{command:Y.command,updateCommand:(J)=>{Y.command=J}};return{command:void 0,updateCommand:()=>{}}}function vG(Y){return/\bgit\s+commit\b/.test(Y)}function xG(Y,J){let X=`\uD83D\uDD2E View transcript: https://agentlogs.ai/s/${J}`;if(Y.includes(X))return Y;let Q=`
|
|
41
48
|
|
|
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 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
|
-
|
|
46
|
-
|
|
49
|
+
${X}`,$=[{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:G,quote:W,equalsForm:q}of $){let H=Y.match(G);if(H){let _=H[1],B=H[2];if(q)return Y.replace(G,`${_}${W}${B}${Q}${W}`);return Y.replace(G,`${_} ${W}${B}${Q}${W}`)}}return Y}function yG(Y){if(typeof Y.repo_path==="string")return Y.repo_path;if(typeof Y.cwd==="string")return Y.cwd;return""}async function hG(Y){let J=W0();if(J.length===0){c.warn("Commit tracking skipped: no authenticated environments. Run 'agentlogs login' first.",{sessionId:Y.sessionId.substring(0,8)});return}for(let X of J)try{let Q=new AbortController,$=setTimeout(()=>Q.abort(),5000),G=await fetch(new URL("/api/commit-track",X.baseURL),{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${X.token}`},body:JSON.stringify({session_id:Y.sessionId,repo_path:Y.repoPath,timestamp:Y.timestamp}),signal:Q.signal});if(clearTimeout($),!G.ok){c.warn(`Commit tracking request to ${X.name} failed`,{sessionId:Y.sessionId.substring(0,8),status:G.status});continue}c.info(`Commit tracking recorded (${X.name})`,{sessionId:Y.sessionId.substring(0,8),repoPath:Y.repoPath})}catch(Q){if(Q instanceof Error&&Q.name==="AbortError"){c.warn(`Commit tracking request to ${X.name} timed out after 5s`,{sessionId:Y.sessionId.substring(0,8)});continue}c.error(`Commit tracking request to ${X.name} error`,{sessionId:Y.sessionId.substring(0,8),error:Q instanceof Error?Q.message:String(Q)})}}async function gG(Y){if(!Y.transcriptPath){c.warn("Commit tracking transcript upload skipped: missing transcript_path",{sessionId:Y.sessionId.substring(0,8)});return}if(W0().length===0){c.warn("Commit tracking transcript upload skipped: no authenticated environments. Run 'agentlogs login' first.",{sessionId:Y.sessionId.substring(0,8)});return}try{let X=await V1({transcriptPath:Y.transcriptPath,sessionId:Y.sessionId,cwdOverride:Y.cwd});for(let Q of X.results)if(Q.success)c.info(`Commit tracking: uploaded partial transcript to ${Q.envName}`,{transcriptId:Q.transcriptId,sessionId:Y.sessionId.substring(0,8),eventCount:X.eventCount});else c.error(`Commit tracking: transcript upload to ${Q.envName} failed`,{sessionId:Y.sessionId.substring(0,8),error:Q.error})}catch(X){c.error("Commit tracking: transcript upload error",{sessionId:Y.sessionId.substring(0,8),error:X instanceof Error?X.message:String(X)})}}import wY from"node:process";import FJ from"node:path";import{fileURLToPath as FW}from"node:url";import MW from"node:child_process";import AW,{constants as jW}from"node:fs/promises";import{promisify as sG}from"node:util";import aG from"node:child_process";import UY,{constants as WJ}from"node:fs/promises";import XJ from"node:process";import dG from"node:os";import pG from"node:fs";import uG from"node:fs";import YJ from"node:fs";var LY;function mG(){try{return YJ.statSync("/.dockerenv"),!0}catch{return!1}}function cG(){try{return YJ.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function VY(){if(LY===void 0)LY=mG()||cG();return LY}var EY,lG=()=>{try{return uG.statSync("/run/.containerenv"),!0}catch{return!1}};function E1(){if(EY===void 0)EY=lG()||VY();return EY}var JJ=()=>{if(XJ.platform!=="linux")return!1;if(dG.release().toLowerCase().includes("microsoft")){if(E1())return!1;return!0}try{return pG.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!E1():!1}catch{return!1}},O0=XJ.env.__IS_WSL_TEST__?JJ:JJ();import QJ from"node:process";import{Buffer as iG}from"node:buffer";import{promisify as nG}from"node:util";import rG from"node:child_process";var oG=nG(rG.execFile),DY=()=>`${QJ.env.SYSTEMROOT||QJ.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;var Q0=async(Y,J={})=>{let{powerShellPath:X,...Q}=J,$=Q0.encodeCommand(Y);return oG(X??DY(),[...Q0.argumentsPrefix,$],{encoding:"utf8",...Q})};Q0.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"];Q0.encodeCommand=(Y)=>iG.from(Y,"utf16le").toString("base64");Q0.escapeArgument=(Y)=>`'${String(Y).replaceAll("'","''")}'`;function $J(Y){for(let J of Y.split(`
|
|
50
|
+
`)){if(/^\s*#/.test(J))continue;let X=/^\s*root\s*=\s*(?<mountPoint>"[^"]*"|'[^']*'|[^#]*)/.exec(J);if(!X)continue;return X.groups.mountPoint.trim().replaceAll(/^["']|["']$/g,"")}}var tG=sG(aG.execFile),eG=(()=>{let J;return async function(){if(J)return J;let X="/etc/wsl.conf",Q=!1;try{await UY.access(X,WJ.F_OK),Q=!0}catch{}if(!Q)return"/mnt/";let $=await UY.readFile(X,{encoding:"utf8"}),G=$J($);if(G===void 0)return"/mnt/";return J=G,J=J.endsWith("/")?J:`${J}/`,J}})(),YW=async()=>{return`${await eG()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},$8=O0?YW:DY,GJ,qJ=async()=>{return GJ??=(async()=>{try{let Y=await $8();return await UY.access(Y,WJ.X_OK),!0}catch{return!1}})(),GJ},HJ=async()=>{let Y=await $8(),J=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{stdout:X}=await Q0(J,{powerShellPath:Y});return X.trim()},_J=async(Y)=>{if(/^[a-z]+:\/\//i.test(Y))return Y;try{let{stdout:J}=await tG("wslpath",["-aw",Y],{encoding:"utf8"});return J.trim()}catch{return Y}};function n0(Y,J,X){let Q=($)=>Object.defineProperty(Y,J,{value:$,enumerable:!0,writable:!0});return Object.defineProperty(Y,J,{configurable:!0,enumerable:!0,get(){let $=X();return Q($),$},set($){Q($)}}),Y}import{promisify as LW}from"node:util";import NY from"node:process";import{execFile as VW}from"node:child_process";import{promisify as JW}from"node:util";import XW from"node:process";import{execFile as QW}from"node:child_process";var $W=JW(QW);async function FY(){if(XW.platform!=="darwin")throw Error("macOS only");let{stdout:Y}=await $W("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),X=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(Y)?.groups.id??"com.apple.Safari";if(X==="com.apple.safari")return"com.apple.Safari";return X}import GW from"node:process";import{promisify as WW}from"node:util";import{execFile as qW,execFileSync as V7}from"node:child_process";var HW=WW(qW);async function BJ(Y,{humanReadableOutput:J=!0,signal:X}={}){if(GW.platform!=="darwin")throw Error("macOS only");let Q=J?[]:["-ss"],$={};if(X)$.signal=X;let{stdout:G}=await HW("osascript",["-e",Y,Q],$);return G.trim()}async function MY(Y){return BJ(`tell application "Finder" to set app_path to application file id "${Y}" as string
|
|
51
|
+
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}import{promisify as _W}from"node:util";import{execFile as BW}from"node:child_process";var KW=_W(BW),KJ={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"}},G8=new Map(Object.entries(KJ));class AY extends Error{}async function jY(Y=KW){let{stdout:J}=await Y("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),X=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(J);if(!X)throw new AY(`Cannot find Windows browser in stdout: ${JSON.stringify(J)}`);let{id:Q}=X.groups,$=KJ[Q];if(!$)throw new AY(`Unknown browser ID: ${Q}`);return $}var EW=LW(VW),DW=(Y)=>Y.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(J)=>J.toUpperCase());async function RY(){if(NY.platform==="darwin"){let Y=await FY();return{name:await MY(Y),id:Y}}if(NY.platform==="linux"){let{stdout:Y}=await EW("xdg-mime",["query","default","x-scheme-handler/http"]),J=Y.trim();return{name:DW(J.replace(/.desktop$/,"").replace("-"," ")),id:J}}if(NY.platform==="win32")return jY();throw Error("Only macOS, Linux, and Windows are supported")}import zY from"node:process";var UW=Boolean(zY.env.SSH_CONNECTION||zY.env.SSH_CLIENT||zY.env.SSH_TTY),LJ=UW;var W8=Symbol("fallbackAttempt"),SY=import.meta.url?FJ.dirname(FW(import.meta.url)):"",VJ=FJ.join(SY,"xdg-open"),{platform:D1,arch:EJ}=wY,DJ=async(Y,J)=>{if(Y.length===0)return;let X=[];for(let Q of Y)try{return await J(Q)}catch($){X.push($)}throw AggregateError(X,"Failed to open in all supported apps")},q8=async(Y)=>{Y={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...Y};let J=Y[W8]===!0;if(delete Y[W8],Array.isArray(Y.app))return DJ(Y.app,(_)=>q8({...Y,app:_,[W8]:!0}));let{name:X,arguments:Q=[]}=Y.app??{};if(Q=[...Q],Array.isArray(X))return DJ(X,(_)=>q8({...Y,app:{name:_,arguments:Q},[W8]:!0}));if(X==="browser"||X==="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","com.apple.safari":"safari"},B={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},L;if(O0){let V=await HJ();L=G8.get(V)??{}}else L=await RY();if(L.id in _){let V=_[L.id.toLowerCase()];if(X==="browserPrivate"){if(V==="safari")throw Error("Safari doesn't support opening in private mode via command line");Q.push(B[V])}return q8({...Y,app:{name:U1[V],arguments:Q}})}throw Error(`${L.name} is not supported as a default browser`)}let $,G=[],W={},q=!1;if(O0&&!E1()&&!LJ&&!X)q=await qJ();if(D1==="darwin"){if($="open",Y.wait)G.push("--wait-apps");if(Y.background)G.push("--background");if(Y.newInstance)G.push("--new");if(X)G.push("-a",X)}else if(D1==="win32"||q){if($=await $8(),G.push(...Q0.argumentsPrefix),!O0)W.windowsVerbatimArguments=!0;if(O0&&Y.target)Y.target=await _J(Y.target);let _=["$ProgressPreference = 'SilentlyContinue';","Start"];if(Y.wait)_.push("-Wait");if(X){if(_.push(Q0.escapeArgument(X)),Y.target)Q.push(Y.target)}else if(Y.target)_.push(Q0.escapeArgument(Y.target));if(Q.length>0)Q=Q.map((B)=>Q0.escapeArgument(B)),_.push("-ArgumentList",Q.join(","));if(Y.target=Q0.encodeCommand(_.join(" ")),!Y.wait)W.stdio="ignore"}else{if(X)$=X;else{let _=!SY||SY==="/",B=!1;try{await AW.access(VJ,jW.X_OK),B=!0}catch{}$=wY.versions.electron??(D1==="android"||_||!B)?"xdg-open":VJ}if(Q.length>0)G.push(...Q);if(!Y.wait)W.stdio="ignore",W.detached=!0}if(D1==="darwin"&&Q.length>0)G.push("--args",...Q);if(Y.target)G.push(Y.target);let H=MW.spawn($,G,W);if(Y.wait)return new Promise((_,B)=>{H.once("error",B),H.once("close",(L)=>{if(!Y.allowNonzeroExitCode&&L!==0){B(Error(`Exited with code ${L}`));return}_(H)})});if(J)return new Promise((_,B)=>{H.once("error",B),H.once("spawn",()=>{H.once("close",(L)=>{if(H.off("error",B),L!==0){B(Error(`Exited with code ${L}`));return}H.unref(),_(H)})})});return H.unref(),new Promise((_,B)=>{H.once("error",B),H.once("spawn",()=>{H.off("error",B),_(H)})})},NW=(Y,J)=>{if(typeof Y!=="string")throw TypeError("Expected a `target`");return q8({...J,target:Y})};function UJ(Y){if(typeof Y==="string"||Array.isArray(Y))return Y;let{[EJ]:J}=Y;if(!J)throw Error(`${EJ} is not supported`);return J}function b1({[D1]:Y},{wsl:J}={}){if(J&&O0)return UJ(J);if(!Y)throw Error(`${D1} is not supported`);return UJ(Y)}var U1={browser:"browser",browserPrivate:"browserPrivate"};n0(U1,"chrome",()=>b1({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{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"]}}));n0(U1,"brave",()=>b1({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"]}}));n0(U1,"firefox",()=>b1({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));n0(U1,"edge",()=>b1({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));n0(U1,"safari",()=>b1({darwin:"Safari"}));var MJ=NW;var H8=Symbol.for("better-auth:broadcast-channel"),RW=()=>Math.floor(Date.now()/1000),zW=class{listeners=new Set;name;constructor(Y="better-auth.message"){this.name=Y}subscribe(Y){return this.listeners.add(Y),()=>{this.listeners.delete(Y)}}post(Y){if(typeof window>"u")return;try{localStorage.setItem(this.name,JSON.stringify({...Y,timestamp:RW()}))}catch{}}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let Y=(J)=>{if(J.key!==this.name)return;let X=JSON.parse(J.newValue??"{}");if(X?.event!=="session"||!X?.data)return;this.listeners.forEach((Q)=>Q(X))};return window.addEventListener("storage",Y),()=>{window.removeEventListener("storage",Y)}}};function v1(Y="better-auth.message"){if(!globalThis[H8])globalThis[H8]=new zW(Y);return globalThis[H8]}var _8=Symbol.for("better-auth:focus-manager"),wW=class{listeners=new Set;subscribe(Y){return this.listeners.add(Y),()=>{this.listeners.delete(Y)}}setFocused(Y){this.listeners.forEach((J)=>J(Y))}setup(){if(typeof window>"u"||typeof document>"u"||typeof window.addEventListener>"u")return()=>{};let Y=()=>{if(document.visibilityState==="visible")this.setFocused(!0)};return document.addEventListener("visibilitychange",Y,!1),()=>{document.removeEventListener("visibilitychange",Y,!1)}}};function IY(){if(!globalThis[_8])globalThis[_8]=new wW;return globalThis[_8]}var B8=Symbol.for("better-auth:online-manager"),SW=class{listeners=new Set;isOnline=typeof navigator<"u"?navigator.onLine:!0;subscribe(Y){return this.listeners.add(Y),()=>{this.listeners.delete(Y)}}setOnline(Y){this.isOnline=Y,this.listeners.forEach((J)=>J(Y))}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let Y=()=>this.setOnline(!0),J=()=>this.setOnline(!1);return window.addEventListener("online",Y,!1),window.addEventListener("offline",J,!1),()=>{window.removeEventListener("online",Y,!1),window.removeEventListener("offline",J,!1)}}};function K8(){if(!globalThis[B8])globalThis[B8]=new SW;return globalThis[B8]}var L0=[],y0=0,L8=4,IW=0,x1=(Y)=>{let J=[],X={get(){if(!X.lc)X.listen(()=>{})();return X.value},lc:0,listen(Q){return X.lc=J.push(Q),()=>{for(let G=y0+L8;G<L0.length;)if(L0[G]===Q)L0.splice(G,L8);else G+=L8;let $=J.indexOf(Q);if(~$){if(J.splice($,1),!--X.lc)X.off()}}},notify(Q,$){IW++;let G=!L0.length;for(let W of J)L0.push(W,X.value,Q,$);if(G){for(y0=0;y0<L0.length;y0+=L8)L0[y0](L0[y0+1],L0[y0+2],L0[y0+3]);L0.length=0}},off(){},set(Q){let $=X.value;if($!==Q)X.value=Q,X.notify($)},subscribe(Q){let $=X.listen(Q);return Q(X.value),$},value:Y};return X};var OW=5,V8=6,E8=10,fW=(Y,J,X,Q)=>{if(Y.events=Y.events||{},!Y.events[X+E8])Y.events[X+E8]=Q(($)=>{Y.events[X].reduceRight((G,W)=>(W(G),G),{shared:{},...$})});return Y.events[X]=Y.events[X]||[],Y.events[X].push(J),()=>{let $=Y.events[X],G=$.indexOf(J);if($.splice(G,1),!$.length)delete Y.events[X],Y.events[X+E8](),delete Y.events[X+E8]}};var AJ=1000,y1=(Y,J)=>{return fW(Y,(Q)=>{let $=J(Q);if($)Y.events[V8].push($)},OW,(Q)=>{let $=Y.listen;Y.listen=(...W)=>{if(!Y.lc&&!Y.active)Y.active=!0,Q();return $(...W)};let G=Y.off;return Y.events[V8]=[],Y.off=()=>{G(),setTimeout(()=>{if(Y.active&&!Y.lc){Y.active=!1;for(let W of Y.events[V8])W();Y.events[V8]=[]}},AJ)},()=>{Y.listen=$,Y.off=G}})};var PW=()=>typeof window>"u",D8=(Y,J,X,Q)=>{let $=x1({data:null,error:null,isPending:!0,isRefetching:!1,refetch:(q)=>G(q)}),G=async(q)=>{return new Promise((H)=>{let _=typeof Q==="function"?Q({data:$.get().data,error:$.get().error,isPending:$.get().isPending}):Q;X(J,{..._,query:{..._?.query,...q?.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:L}=B,V=typeof L.retry==="number"?L.retry:L.retry?.attempts,F=L.retryAttempt||0;if(V&&F<V)return;$.set({error:B.error,data:null,isPending:!1,isRefetching:!1,refetch:$.value.refetch}),await _?.onError?.(B)},async onRequest(B){let L=$.get();$.set({isPending:L.data===null,data:L.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(()=>{H(void 0)})})};Y=Array.isArray(Y)?Y:[Y];let W=!1;for(let q of Y)q.subscribe(async()=>{if(PW())return;if(W)await G();else y1($,()=>{let H=setTimeout(async()=>{if(!W)await G(),W=!0},0);return()=>{$.off(),q.off(),clearTimeout(H)}})});return $};var F1=()=>Math.floor(Date.now()/1000),kW=5;function OY(Y){let{sessionAtom:J,sessionSignal:X,$fetch:Q,options:$={}}=Y,G=$.sessionOptions?.refetchInterval??0,W=$.sessionOptions?.refetchOnWindowFocus??!0,q=$.sessionOptions?.refetchWhenOffline??!1,H={lastSync:0,lastSessionRequest:0,cachedSession:void 0},_=()=>{return q||K8().isOnline},B=(C)=>{if(!_())return;if(C?.event==="storage"){H.lastSync=F1(),X.set(!X.get());return}let u=J.get();if(C?.event==="poll"){H.lastSessionRequest=F1(),Q("/get-session").then((j)=>{if(j.error)J.set({...u,data:null,error:j.error});else J.set({...u,data:j.data,error:null});H.lastSync=F1(),X.set(!X.get())}).catch(()=>{});return}if(C?.event==="visibilitychange"){if(F1()-H.lastSessionRequest<kW)return;H.lastSessionRequest=F1()}if(u?.data===null||u?.data===void 0||C?.event==="visibilitychange")H.lastSync=F1(),X.set(!X.get())},L=(C)=>{v1().post({event:"session",data:{trigger:C},clientId:Math.random().toString(36).substring(7)})},V=()=>{if(G&&G>0)H.pollInterval=setInterval(()=>{if(J.get()?.data)B({event:"poll"})},G*1000)},F=()=>{H.unsubscribeBroadcast=v1().subscribe(()=>{B({event:"storage"})})},w=()=>{if(!W)return;H.unsubscribeFocus=IY().subscribe(()=>{B({event:"visibilitychange"})})},k=()=>{H.unsubscribeOnline=K8().subscribe((C)=>{if(C)B({event:"visibilitychange"})})};return{init:()=>{V(),F(),w(),k(),v1().setup(),IY().setup(),K8().setup()},cleanup:()=>{if(H.pollInterval)clearInterval(H.pollInterval),H.pollInterval=void 0;if(H.unsubscribeBroadcast)H.unsubscribeBroadcast(),H.unsubscribeBroadcast=void 0;if(H.unsubscribeFocus)H.unsubscribeFocus(),H.unsubscribeFocus=void 0;if(H.unsubscribeOnline)H.unsubscribeOnline(),H.unsubscribeOnline=void 0;H.lastSync=0,H.lastSessionRequest=0,H.cachedSession=void 0},triggerRefetch:B,broadcastSessionUpdate:L}}var U8=Object.create(null),h1=(Y)=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(Y?U8:globalThis),e=new Proxy(U8,{get(Y,J){return h1()[J]??U8[J]},has(Y,J){return J in h1()||J in U8},set(Y,J,X){let Q=h1(!0);return Q[J]=X,!0},deleteProperty(Y,J){if(!J)return!1;let X=h1(!0);return delete X[J],!0},ownKeys(){let Y=h1(!0);return Object.keys(Y)}});var TW=typeof process<"u"&&process.env&&"production"||"";function l(Y,J){if(typeof process<"u"&&process.env)return process.env[Y]??J;if(typeof Deno<"u")return Deno.env.get(Y)??J;if(typeof Bun<"u")return Bun.env[Y]??J;return J}var ZW=Object.freeze({get BETTER_AUTH_SECRET(){return l("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return l("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return l("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return l("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return l("NODE_ENV","development")},get PACKAGE_VERSION(){return l("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return l("BETTER_AUTH_TELEMETRY_ENDPOINT","https://telemetry.better-auth.com/v1/track")}});var g1=1,n=4,A0=8,$0=24,jJ={eterm:n,cons25:n,console:n,cygwin:n,dtterm:n,gnome:n,hurd:n,jfbterm:n,konsole:n,kterm:n,mlterm:n,mosh:$0,putty:n,st:n,"rxvt-unicode-24bit":$0,terminator:$0,"xterm-kitty":$0},CW=new Map(Object.entries({APPVEYOR:A0,BUILDKITE:A0,CIRCLECI:$0,DRONE:A0,GITEA_ACTIONS:$0,GITHUB_ACTIONS:$0,GITLAB_CI:A0,TRAVIS:A0})),bW=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];function fY(){if(l("FORCE_COLOR")!==void 0)switch(l("FORCE_COLOR")){case"":case"1":case"true":return n;case"2":return A0;case"3":return $0;default:return g1}if(l("NODE_DISABLE_COLORS")!==void 0&&l("NODE_DISABLE_COLORS")!==""||l("NO_COLOR")!==void 0&&l("NO_COLOR")!==""||l("TERM")==="dumb")return g1;if(l("TMUX"))return $0;if("TF_BUILD"in e&&"AGENT_NAME"in e)return n;if("CI"in e){for(let{0:Y,1:J}of CW)if(Y in e)return J;if(l("CI_NAME")==="codeship")return A0;return g1}if("TEAMCITY_VERSION"in e)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec(l("TEAMCITY_VERSION"))!==null?n:g1;switch(l("TERM_PROGRAM")){case"iTerm.app":if(!l("TERM_PROGRAM_VERSION")||/^[0-2]\./.exec(l("TERM_PROGRAM_VERSION"))!==null)return A0;return $0;case"HyperTerm":case"MacTerm":return $0;case"Apple_Terminal":return A0}if(l("COLORTERM")==="truecolor"||l("COLORTERM")==="24bit")return $0;if(l("TERM")){if(/truecolor/.exec(l("TERM"))!==null)return $0;if(/^xterm-256/.exec(l("TERM"))!==null)return A0;let Y=l("TERM").toLowerCase();if(jJ[Y])return jJ[Y];if(bW.some((J)=>J.exec(Y)!==null))return n}if(l("COLORTERM"))return n;return g1}var V0={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"}},F8=["debug","info","success","warn","error"];function NJ(Y,J){return F8.indexOf(J)>=F8.indexOf(Y)}var vW={info:V0.fg.blue,success:V0.fg.green,warn:V0.fg.yellow,error:V0.fg.red,debug:V0.fg.magenta},xW=(Y,J,X)=>{let Q=new Date().toISOString();if(X)return`${V0.dim}${Q}${V0.reset} ${vW[Y]}${Y.toUpperCase()}${V0.reset} ${V0.bright}[Better Auth]:${V0.reset} ${J}`;return`${Q} ${Y.toUpperCase()} [Better Auth]: ${J}`},RJ=(Y)=>{let J=Y?.disabled!==!0,X=Y?.level??"error",Q=Y?.disableColors!==void 0?!Y.disableColors:fY()!==1,$=(G,W,q=[])=>{if(!J||!NJ(X,G))return;let H=xW(G,W,Q);if(!Y||typeof Y.log!=="function"){if(G==="error")console.error(H,...q);else if(G==="warn")console.warn(H,...q);else console.log(H,...q);return}Y.log(G==="success"?"info":G,W,...q)};return{...Object.fromEntries(F8.map((G)=>[G,(...[W,...q])=>$(G,W,q)])),get level(){return X}}},zJ=RJ();function PY(Y){return Y}function kY(Y){return Y.charAt(0).toUpperCase()+Y.slice(1)}var yW=PY({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"});var h0=class extends Error{constructor(Y,J){super(Y,J);this.name="BetterAuthError",this.message=Y,this.stack=""}};function hW(Y){try{return(new URL(Y).pathname.replace(/\/+$/,"")||"/")!=="/"}catch{throw new h0(`Invalid base URL: ${Y}. Please provide a valid base URL.`)}}function gW(Y){try{let J=new URL(Y);if(J.protocol!=="http:"&&J.protocol!=="https:")throw new h0(`Invalid base URL: ${Y}. URL must include 'http://' or 'https://'`)}catch(J){if(J instanceof h0)throw J;throw new h0(`Invalid base URL: ${Y}. Please provide a valid base URL.`,{cause:J})}}function m1(Y,J="/api/auth"){if(gW(Y),hW(Y))return Y;let X=Y.replace(/\/+$/,"");if(!J||J==="/")return X;return J=J.startsWith("/")?J:`/${J}`,`${X}${J}`}function wJ(Y,J){if(!Y||Y.trim()==="")return!1;if(J==="proto")return Y==="http"||Y==="https";if(J==="host"){if([/\.\./,/\0/,/[\s]/,/^[.]/,/[<>'"]/,/javascript:/i,/file:/i,/data:/i].some((X)=>X.test(Y)))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(Y)||/^(\d{1,3}\.){3}\d{1,3}(:[0-9]{1,5})?$/.test(Y)||/^\[[0-9a-fA-F:]+\](:[0-9]{1,5})?$/.test(Y)||/^localhost(:[0-9]{1,5})?$/i.test(Y)}return!1}function SJ(Y,J,X,Q,$){if(Y)return m1(Y,J);if(Q!==!1){let q=e.BETTER_AUTH_URL||e.NEXT_PUBLIC_BETTER_AUTH_URL||e.PUBLIC_BETTER_AUTH_URL||e.NUXT_PUBLIC_BETTER_AUTH_URL||e.NUXT_PUBLIC_AUTH_URL||(e.BASE_URL!=="/"?e.BASE_URL:void 0);if(q)return m1(q,J)}let G=X?.headers.get("x-forwarded-host"),W=X?.headers.get("x-forwarded-proto");if(G&&W&&$){if(wJ(W,"proto")&&wJ(G,"host"))try{return m1(`${W}://${G}`,J)}catch(q){}}if(X){let q=mW(X.url);if(!q)throw new h0("Could not get origin from request. Please provide a valid base URL.");return m1(q,J)}if(typeof window<"u"&&window.location)return m1(window.location.origin,J)}function mW(Y){try{let J=new URL(Y);return J.origin==="null"?null:J.origin}catch{return null}}var IJ={id:"redirect",name:"Redirect",hooks:{onSuccess(Y){if(Y.data?.url&&Y.data?.redirect){if(typeof window<"u"&&window.location){if(window.location)try{window.location.href=Y.data.url}catch{}}}}}};var cW={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*:/},uW=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,OJ={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:Number.POSITIVE_INFINITY,"-infinity":Number.NEGATIVE_INFINITY},lW=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function dW(Y){return Y instanceof Date&&!isNaN(Y.getTime())}function pW(Y){let J=lW.exec(Y);if(!J)return null;let[,X,Q,$,G,W,q,H,_,B,L]=J,V=new Date(Date.UTC(parseInt(X,10),parseInt(Q,10)-1,parseInt($,10),parseInt(G,10),parseInt(W,10),parseInt(q,10),H?parseInt(H.padEnd(3,"0"),10):0));if(_){let F=(parseInt(B,10)*60+parseInt(L,10))*(_==="+"?-1:1);V.setUTCMinutes(V.getUTCMinutes()+F)}return dW(V)?V:null}function iW(Y,J={}){let{strict:X=!1,warnings:Q=!1,reviver:$,parseDates:G=!0}=J;if(typeof Y!=="string")return Y;let W=Y.trim();if(W.length>0&&W[0]==='"'&&W.endsWith('"')&&!W.slice(1,-1).includes('"'))return W.slice(1,-1);let q=W.toLowerCase();if(q.length<=9&&q in OJ)return OJ[q];if(!uW.test(W)){if(X)throw SyntaxError("[better-json] Invalid JSON");return Y}if(Object.entries(cW).some(([H,_])=>{let B=_.test(W);if(B&&Q)console.warn(`[better-json] Detected potential prototype pollution attempt using ${H} pattern`);return B})&&X)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(W,(_,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(G&&typeof B==="string"){let L=pW(B);if(L)return L}return $?$(_,B):B})}catch(H){if(X)throw H;return Y}}function fJ(Y,J={strict:!0}){return iW(Y,J)}function PJ(Y,J){let X=x1(!1),Q=D8(X,"/get-session",Y,{method:"GET"});return y1(Q,()=>{let $=OY({sessionAtom:Q,sessionSignal:X,$fetch:Y,options:J});return $.init(),()=>{$.cleanup()}}),{session:Q,$sessionSignal:X}}var{defineProperty:nW,defineProperties:rW,getOwnPropertyDescriptors:oW,getOwnPropertySymbols:kJ}=Object,sW=Object.prototype.hasOwnProperty,aW=Object.prototype.propertyIsEnumerable,TJ=(Y,J,X)=>(J in Y)?nW(Y,J,{enumerable:!0,configurable:!0,writable:!0,value:X}):Y[J]=X,E0=(Y,J)=>{for(var X in J||(J={}))if(sW.call(J,X))TJ(Y,X,J[X]);if(kJ){for(var X of kJ(J))if(aW.call(J,X))TJ(Y,X,J[X])}return Y},j0=(Y,J)=>rW(Y,oW(J)),tW=class extends Error{constructor(Y,J,X){super(J||Y.toString(),{cause:X});this.status=Y,this.statusText=J,this.error=X,Error.captureStackTrace(this,this.constructor)}},eW=async(Y,J)=>{var X,Q,$,G,W,q;let H=J||{},_={onRequest:[J==null?void 0:J.onRequest],onResponse:[J==null?void 0:J.onResponse],onSuccess:[J==null?void 0:J.onSuccess],onError:[J==null?void 0:J.onError],onRetry:[J==null?void 0:J.onRetry]};if(!J||!(J==null?void 0:J.plugins))return{url:Y,options:H,hooks:_};for(let B of(J==null?void 0:J.plugins)||[]){if(B.init){let L=await((X=B.init)==null?void 0:X.call(B,Y.toString(),J));H=L.options||H,Y=L.url}_.onRequest.push((Q=B.hooks)==null?void 0:Q.onRequest),_.onResponse.push(($=B.hooks)==null?void 0:$.onResponse),_.onSuccess.push((G=B.hooks)==null?void 0:G.onSuccess),_.onError.push((W=B.hooks)==null?void 0:W.onError),_.onRetry.push((q=B.hooks)==null?void 0:q.onRetry)}return{url:Y,options:H,hooks:_}},ZJ=class{constructor(Y){this.options=Y}shouldAttemptRetry(Y,J){if(this.options.shouldRetry)return Promise.resolve(Y<this.options.attempts&&this.options.shouldRetry(J));return Promise.resolve(Y<this.options.attempts)}getDelay(){return this.options.delay}},Y2=class{constructor(Y){this.options=Y}shouldAttemptRetry(Y,J){if(this.options.shouldRetry)return Promise.resolve(Y<this.options.attempts&&this.options.shouldRetry(J));return Promise.resolve(Y<this.options.attempts)}getDelay(Y){return Math.min(this.options.maxDelay,this.options.baseDelay*2**Y)}};function J2(Y){if(typeof Y==="number")return new ZJ({type:"linear",attempts:Y,delay:1000});switch(Y.type){case"linear":return new ZJ(Y);case"exponential":return new Y2(Y);default:throw Error("Invalid retry strategy")}}var X2=async(Y)=>{let J={},X=async(Q)=>typeof Q==="function"?await Q():Q;if(Y==null?void 0:Y.auth){if(Y.auth.type==="Bearer"){let Q=await X(Y.auth.token);if(!Q)return J;J.authorization=`Bearer ${Q}`}else if(Y.auth.type==="Basic"){let[Q,$]=await Promise.all([X(Y.auth.username),X(Y.auth.password)]);if(!Q||!$)return J;J.authorization=`Basic ${btoa(`${Q}:${$}`)}`}else if(Y.auth.type==="Custom"){let[Q,$]=await Promise.all([X(Y.auth.prefix),X(Y.auth.value)]);if(!$)return J;J.authorization=`${Q!=null?Q:""} ${$}`}}return J},Q2=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function $2(Y){let J=Y.headers.get("content-type"),X=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!J)return"json";let Q=J.split(";").shift()||"";if(Q2.test(Q))return"json";if(X.has(Q)||Q.startsWith("text/"))return"text";return"blob"}function G2(Y){try{return JSON.parse(Y),!0}catch(J){return!1}}function TY(Y){if(Y===void 0)return!1;let J=typeof Y;if(J==="string"||J==="number"||J==="boolean"||J===null)return!0;if(J!=="object")return!1;if(Array.isArray(Y))return!0;if(Y.buffer)return!1;return Y.constructor&&Y.constructor.name==="Object"||typeof Y.toJSON==="function"}function CJ(Y){try{return JSON.parse(Y)}catch(J){return Y}}function bJ(Y){return typeof Y==="function"}function W2(Y){if(Y==null?void 0:Y.customFetchImpl)return Y.customFetchImpl;if(typeof globalThis<"u"&&bJ(globalThis.fetch))return globalThis.fetch;if(typeof window<"u"&&bJ(window.fetch))return window.fetch;throw Error("No fetch implementation found")}async function q2(Y){let J=new Headers(Y==null?void 0:Y.headers),X=await X2(Y);for(let[Q,$]of Object.entries(X||{}))J.set(Q,$);if(!J.has("content-type")){let Q=H2(Y==null?void 0:Y.body);if(Q)J.set("content-type",Q)}return J}function H2(Y){if(TY(Y))return"application/json";return null}function _2(Y){if(!(Y==null?void 0:Y.body))return null;let J=new Headers(Y==null?void 0:Y.headers);if(TY(Y.body)&&!J.has("content-type")){for(let[X,Q]of Object.entries(Y==null?void 0:Y.body))if(Q instanceof Date)Y.body[X]=Q.toISOString();return JSON.stringify(Y.body)}if(J.has("content-type")&&J.get("content-type")==="application/x-www-form-urlencoded"){if(TY(Y.body))return new URLSearchParams(Y.body).toString();return Y.body}return Y.body}function B2(Y,J){var X;if(J==null?void 0:J.method)return J.method.toUpperCase();if(Y.startsWith("@")){let Q=(X=Y.split("@")[1])==null?void 0:X.split("/")[0];if(!vJ.includes(Q))return(J==null?void 0:J.body)?"POST":"GET";return Q.toUpperCase()}return(J==null?void 0:J.body)?"POST":"GET"}function K2(Y,J){let X;if(!(Y==null?void 0:Y.signal)&&(Y==null?void 0:Y.timeout))X=setTimeout(()=>J==null?void 0:J.abort(),Y==null?void 0:Y.timeout);return{abortTimeout:X,clearTimeout:()=>{if(X)clearTimeout(X)}}}var L2=class Y extends Error{constructor(J,X){super(X||JSON.stringify(J,null,2));this.issues=J,Object.setPrototypeOf(this,Y.prototype)}};async function M8(Y,J){let X=await Y["~standard"].validate(J);if(X.issues)throw new L2(X.issues);return X.value}var vJ=["get","post","put","patch","delete"];var V2=(Y)=>({id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(J,X){var Q,$,G,W;let q=(($=(Q=Y.plugins)==null?void 0:Q.find((H)=>{var _;return((_=H.schema)==null?void 0:_.config)?J.startsWith(H.schema.config.baseURL||"")||J.startsWith(H.schema.config.prefix||""):!1}))==null?void 0:$.schema)||Y.schema;if(q){let H=J;if((G=q.config)==null?void 0:G.prefix){if(H.startsWith(q.config.prefix)){if(H=H.replace(q.config.prefix,""),q.config.baseURL)J=J.replace(q.config.prefix,q.config.baseURL)}}if((W=q.config)==null?void 0:W.baseURL){if(H.startsWith(q.config.baseURL))H=H.replace(q.config.baseURL,"")}let _=q.schema[H];if(_){let B=j0(E0({},X),{method:_.method,output:_.output});if(!(X==null?void 0:X.disableValidation))B=j0(E0({},B),{body:_.input?await M8(_.input,X==null?void 0:X.body):X==null?void 0:X.body,params:_.params?await M8(_.params,X==null?void 0:X.params):X==null?void 0:X.params,query:_.query?await M8(_.query,X==null?void 0:X.query):X==null?void 0:X.query});return{url:J,options:B}}}return{url:J,options:X}}}),xJ=(Y)=>{async function J(X,Q){let $=j0(E0(E0({},Y),Q),{plugins:[...(Y==null?void 0:Y.plugins)||[],V2(Y||{}),...(Q==null?void 0:Q.plugins)||[]]});if(Y==null?void 0:Y.catchAllError)try{return await ZY(X,$)}catch(G){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:G}}}return await ZY(X,$)}return J};function E2(Y,J){let{baseURL:X,params:Q,query:$}=J||{query:{},params:{},baseURL:""},G=Y.startsWith("http")?Y.split("/").slice(0,3).join("/"):X||"";if(Y.startsWith("@")){let L=Y.toString().split("@")[1].split("/")[0];if(vJ.includes(L))Y=Y.replace(`@${L}/`,"/")}if(!G.endsWith("/"))G+="/";let[W,q]=Y.replace(G,"").split("?"),H=new URLSearchParams(q);for(let[L,V]of Object.entries($||{})){if(V==null)continue;let F;if(typeof V==="string")F=V;else if(Array.isArray(V)){for(let w of V)H.append(L,w);continue}else F=JSON.stringify(V);H.set(L,F)}if(Q)if(Array.isArray(Q)){let L=W.split("/").filter((V)=>V.startsWith(":"));for(let[V,F]of L.entries()){let w=Q[V];W=W.replace(F,w)}}else for(let[L,V]of Object.entries(Q))W=W.replace(`:${L}`,String(V));if(W=W.split("/").map(encodeURIComponent).join("/"),W.startsWith("/"))W=W.slice(1);let _=H.toString();if(_=_.length>0?`?${_}`.replace(/\+/g,"%20"):"",!G.startsWith("http"))return`${G}${W}${_}`;return new URL(`${W}${_}`,G)}var ZY=async(Y,J)=>{var X,Q,$,G,W,q,H,_;let{hooks:B,url:L,options:V}=await eW(Y,J),F=W2(V),w=new AbortController,k=(X=V.signal)!=null?X:w.signal,z=E2(L,V),v=_2(V),C=await q2(V),u=B2(L,V),j=j0(E0({},V),{url:z,headers:C,body:v,method:u,signal:k});for(let P of B.onRequest)if(P){let f=await P(j);if(typeof f==="object"&&f!==null)j=f}if("pipeTo"in j&&typeof j.pipeTo==="function"||typeof((Q=J==null?void 0:J.body)==null?void 0:Q.pipe)==="function"){if(!("duplex"in j))j.duplex="half"}let{clearTimeout:t}=K2(V,w),E=await F(j.url,j);t();let N={response:E,request:j};for(let P of B.onResponse)if(P){let f=await P(j0(E0({},N),{response:(($=J==null?void 0:J.hookOptions)==null?void 0:$.cloneResponse)?E.clone():E}));if(f instanceof Response)E=f;else if(typeof f==="object"&&f!==null)E=f.response}if(E.ok){if(j.method==="HEAD")return{data:"",error:null};let f=$2(E),d={data:null,response:E,request:j};if(f==="json"||f==="text"){let i=await E.text(),M1=(G=j.jsonParser)!=null?G:CJ;d.data=await M1(i)}else d.data=await E[f]();if(j==null?void 0:j.output){if(j.output&&!j.disableValidation)d.data=await M8(j.output,d.data)}for(let i of B.onSuccess)if(i)await i(j0(E0({},d),{response:((W=J==null?void 0:J.hookOptions)==null?void 0:W.cloneResponse)?E.clone():E}));if(J==null?void 0:J.throw)return d.data;return{data:d.data,error:null}}let A=(q=J==null?void 0:J.jsonParser)!=null?q:CJ,T=await E.text(),g=G2(T),S=g?await A(T):null,Z={response:E,responseText:T,request:j,error:j0(E0({},S),{status:E.status,statusText:E.statusText})};for(let P of B.onError)if(P)await P(j0(E0({},Z),{response:((H=J==null?void 0:J.hookOptions)==null?void 0:H.cloneResponse)?E.clone():E}));if(J==null?void 0:J.retry){let P=J2(J.retry),f=(_=J.retryAttempt)!=null?_:0;if(await P.shouldAttemptRetry(f,E)){for(let i of B.onRetry)if(i)await i(N);let d=P.getDelay(f);return await new Promise((i)=>setTimeout(i,d)),await ZY(Y,j0(E0({},J),{retryAttempt:f+1}))}}if(J==null?void 0:J.throw)throw new tW(E.status,E.statusText,g?S:T);return{data:null,error:j0(E0({},S),{status:E.status,statusText:E.statusText})}};var yJ=(Y,J)=>{let X="credentials"in Request.prototype,Q=SJ(Y?.baseURL,Y?.basePath,void 0,J)??"/api/auth",$=Y?.plugins?.flatMap((j)=>j.fetchPlugins).filter((j)=>j!==void 0)||[],G={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:Y?.fetchOptions?.onSuccess,onError:Y?.fetchOptions?.onError,onRequest:Y?.fetchOptions?.onRequest,onResponse:Y?.fetchOptions?.onResponse}},{onSuccess:W,onError:q,onRequest:H,onResponse:_,...B}=Y?.fetchOptions||{},L=xJ({baseURL:Q,...X?{credentials:"include"}:{},method:"GET",jsonParser(j){if(!j)return null;return fJ(j,{strict:!1})},customFetchImpl:fetch,...B,plugins:[G,...B.plugins||[],...Y?.disableDefaultFetchPlugins?[]:[IJ],...$]}),{$sessionSignal:V,session:F}=PJ(L,Y),w=Y?.plugins||[],k={},z={$sessionSignal:V,session:F},v={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},C=[{signal:"$sessionSignal",matcher(j){return j==="/sign-out"||j==="/update-user"||j==="/sign-up/email"||j==="/sign-in/email"||j==="/delete-user"||j==="/verify-email"||j==="/revoke-sessions"||j==="/revoke-session"||j==="/change-email"}}];for(let j of w){if(j.getAtoms)Object.assign(z,j.getAtoms?.(L));if(j.pathMethods)Object.assign(v,j.pathMethods);if(j.atomListeners)C.push(...j.atomListeners)}let u={notify:(j)=>{z[j].set(!z[j].get())},listen:(j,t)=>{z[j].subscribe(t)},atoms:z};for(let j of w)if(j.getActions)Object.assign(k,j.getActions?.(L,u,Y));return{get baseURL(){return Q},pluginsActions:k,pluginsAtoms:z,pluginPathMethods:v,atomListeners:C,$fetch:L,$store:u}};function hJ(Y){return typeof Y==="object"&&Y!==null&&"get"in Y&&typeof Y.get==="function"&&"lc"in Y&&typeof Y.lc==="number"}function D2(Y,J,X){let Q=J[Y],{fetchOptions:$,query:G,...W}=X||{};if(Q)return Q;if($?.method)return $.method;if(W&&Object.keys(W).length>0)return"POST";return"GET"}function gJ(Y,J,X,Q,$){function G(W=[]){return new Proxy(function(){},{get(q,H){if(typeof H!=="string")return;if(H==="then"||H==="catch"||H==="finally")return;let _=[...W,H],B=Y;for(let L of _)if(B&&typeof B==="object"&&L in B)B=B[L];else{B=void 0;break}if(typeof B==="function")return B;if(hJ(B))return B;return G(_)},apply:async(q,H,_)=>{let B="/"+W.map((C)=>C.replace(/[A-Z]/g,(u)=>`-${u.toLowerCase()}`)).join("/"),L=_[0]||{},V=_[1]||{},{query:F,fetchOptions:w,...k}=L,z={...V,...w},v=D2(B,X,L);return await J(B,{...z,body:v==="GET"?void 0:{...k,...z?.body||{}},query:F||z?.query,method:v,async onSuccess(C){if(await z?.onSuccess?.(C),!$||z.disableSignal)return;let u=$.filter((t)=>t.matcher(B));if(!u.length)return;let j=new Set;for(let t of u){let E=Q[t.signal];if(!E)return;if(j.has(t.signal))continue;j.add(t.signal);let N=E.get();setTimeout(()=>{E.set(!N)},10)}}})}})}return G()}function CY(Y){let{pluginPathMethods:J,pluginsActions:X,pluginsAtoms:Q,$fetch:$,atomListeners:G,$store:W}=yJ(Y),q={};for(let[H,_]of Object.entries(Q))q[`use${kY(H)}`]=_;return gJ({...X,...q,$fetch:$,$store:W},$,J,Q,G)}function mJ(Y){return{authorize(J,X="AND"){let Q=!1;for(let[$,G]of Object.entries(J)){let W=Y[$];if(!W)return{success:!1,error:`You are not allowed to access resource: ${$}`};if(Array.isArray(G))Q=G.every((q)=>W.includes(q));else if(typeof G==="object"){let q=G;if(q.connector==="OR")Q=q.actions.some((H)=>W.includes(H));else Q=q.actions.every((H)=>W.includes(H))}else throw new h0("Invalid access control request");if(Q&&X==="OR")return{success:Q};if(!Q&&X==="AND")return{success:!1,error:`unauthorized to access resource "${$}"`}}if(Q)return{success:Q};return{success:!1,error:"Not authorized"}},statements:Y}}function c1(Y){return{newRole(J){return mJ(J)},statements:Y}}var cJ={user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]},bY=c1(cJ),uJ=bY.newRole({user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]}),lJ=bY.newRole({user:[],session:[]});var vY=()=>{return{id:"device-authorization",$InferServerPlugin:{},pathMethods:{"/device/code":"POST","/device/token":"POST","/device":"GET","/device/approve":"POST","/device/deny":"POST"}}};var dJ={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]},A8=c1(dJ),pJ=A8.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"],team:["create","update","delete"],ac:["create","read","update","delete"]}),iJ=A8.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]}),nJ=A8.newRole({organization:[],member:[],invitation:[],team:[],ac:["read"]});var rJ="http://localhost:3000",oJ="https://agentlogs.ai";function j8(Y){return CY({baseURL:Y,plugins:[vY()]})}async function sJ(Y={}){let J=Y.dev??!1,X=J?"dev":"prod",Q=J?rJ:oJ;console.log(`\uD83D\uDD10 AgentLogs Device Authorization (${J?"development":"production"})`),console.log(`\uD83C\uDF10 Server: ${Q}`),console.log("⏳ Requesting device authorization...");let G=j8(Q);try{let{data:W,error:q}=await G.device.code({client_id:"agentlogs-cli",scope:"openid profile email"});if(q||!W)console.error("❌ Error:",q?.error_description||"Failed to request device code"),process.exit(1);let{device_code:H,user_code:_,verification_uri:B,verification_uri_complete:L,interval:V=5}=W;console.log(`
|
|
52
|
+
\uD83D\uDCF1 Device Authorization in Progress`),console.log(`Please visit: ${B}`),console.log(`Enter code: ${_}
|
|
53
|
+
`);let F=L||B;if(F)console.log("\uD83C\uDF10 Opening browser..."),await MJ(F);console.log(`⏳ Waiting for authorization... (polling every ${V}s)`),await A2(G,H,V,X,Q)}catch(W){console.error("❌ Error:",W instanceof Error?W.message:"Unknown error"),process.exit(1)}}async function A2(Y,J,X,Q,$){let G=X;return new Promise((W)=>{let q=async()=>{try{let{data:H,error:_}=await Y.device.token({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:J,client_id:"agentlogs-cli"});if(H?.access_token){console.log(`
|
|
54
|
+
✅ Authorization Successful!`),console.log("\uD83D\uDD11 Access token received!");let{data:B}=await Y.getSession({fetchOptions:{headers:{Authorization:`Bearer ${H.access_token}`}}});if(B?.user)_9(Q,B.user.email,H.access_token),K9({name:Q,baseURL:$,user:{id:B.user.id,email:B.user.email,name:B.user.name},lastLoginTime:new Date().toISOString()}),console.log(`\uD83D\uDC4B Hello, ${B.user.name}!`),console.log(`\uD83D\uDCE7 Logged in as: ${B.user.email}`),console.log(`\uD83C\uDF10 Environment: ${Q}`);else console.log("⚠️ Warning: Could not retrieve user session");W(),process.exit(0)}else if(_)switch(_.error){case"authorization_pending":break;case"slow_down":G+=5,console.log(`⚠️ Slowing down polling to ${G}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:",_.error_description||_.error),process.exit(1)}}catch(H){console.error("❌ Error:",H instanceof Error?H.message:"Unknown error"),process.exit(1)}setTimeout(q,G*1000)};setTimeout(q,G*1000)})}function aJ(Y={}){let J=Y.dev??!1,X=J?"dev":"prod",Q=i1(X);if(!Q){console.log(`ℹ️ Not currently logged in to ${J?"development":"production"}`);return}try{B9(X),L9(X),console.log(`✅ Logged out from ${J?"development":"production"} successfully`),console.log(`\uD83D\uDCE7 Was logged in as: ${Q.user.email}`)}catch($){console.error("⚠️ Warning: Could not completely clear credentials:",$ instanceof Error?$.message:"Unknown error")}}async function tJ(){let Y=p1();if(Y.length===0)console.log("❌ Not logged in"),console.log("Run `agentlogs login` to authenticate"),process.exit(1);console.log(`\uD83D\uDD10 AgentLogs Authentication Status
|
|
55
|
+
`);let J=!1;for(let X of Y){let Q=g8(X.name),$=X.name==="dev"?"Development":"Production";if(!Q){console.log(`${$} (${X.baseURL})`),console.log(" ❌ Token not found in keychain"),console.log(` \uD83D\uDCE7 Was: ${X.user.email}`),console.log("");continue}try{let G=j8(X.baseURL),{data:W,error:q}=await G.getSession({fetchOptions:{headers:{Authorization:`Bearer ${Q}`}}});if(q||!W?.user){console.log(`${$} (${X.baseURL})`),console.log(" ⚠️ Token invalid or expired"),console.log(` \uD83D\uDCE7 Was: ${X.user.email}`),console.log(` Run \`agentlogs login${X.name==="dev"?" --dev":""}\` to re-authenticate`),console.log("");continue}if(J=!0,console.log(`${$} (${X.baseURL})`),console.log(" ✅ Logged in"),console.log(` \uD83D\uDC64 ${W.user.name}`),console.log(` \uD83D\uDCE7 ${W.user.email}`),X.lastLoginTime){let H=new Date(X.lastLoginTime);console.log(` \uD83D\uDD50 Last login: ${H.toLocaleString()}`)}console.log("")}catch(G){console.log(`${$} (${X.baseURL})`),console.log(` ❌ Error verifying session: ${G instanceof Error?G.message:"Unknown error"}`),console.log("")}}if(!J)process.exit(1)}import{createHash as N2}from"crypto";import{promises as N8}from"fs";import{homedir as R2}from"os";import{basename as z2,extname as w2,join as R8,relative as S2,resolve as I2}from"path";async function eJ(Y={}){let J=Y.serverUrl??process.env.VI_SERVER_URL??"http://localhost:3000",X=Y.authToken??null,Q=Y.timeoutMs??1e4;try{let $=await fetch(`${J}/api/transcripts`,{method:"GET",headers:{...X&&{Authorization:`Bearer ${X}`}},signal:AbortSignal.timeout(Q)});if(!$.ok)return console.error(`Failed to fetch transcript metadata: ${$.status} ${$.statusText}`),[];let G=await $.json();if(j2(G))return G.transcripts;return console.error("Transcript metadata response had unexpected shape:",G),[]}catch($){if($ instanceof Error)console.error("Failed to fetch transcript metadata:",$.message);return[]}}function j2(Y){if(typeof Y!=="object"||Y===null||!("transcripts"in Y))return!1;let{transcripts:J}=Y;if(!Array.isArray(J))return!1;return J.every((X)=>{if(typeof X!=="object"||X===null)return!1;let Q=X;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 O2=R8(R2(),".claude");async function YX(Y={}){let{repoFilter:J,claudeDir:X}=Y,Q=W0();if(Q.length===0)console.error("You must be logged in to sync transcripts."),console.error("Run `agentlogs login` to authenticate"),process.exit(1);let $=X?I2(X):process.env.CLAUDE_HOME??O2,G=R8($,"projects"),W=await P2(G);if(W.length===0){console.log(`No local Claude Code transcripts were found under ${G}. Nothing to sync.`);return}let q=J?W.filter((_)=>_.repoId===J):W;if(J&&q.length===0){let _=W.filter((B)=>B.repoId===null).length;if(console.log(`No local Claude Code transcripts matched repo ${J}.`),_>0)console.log(`${_} transcript(s) were skipped because their repo could not be determined.`);return}let H=Q.map((_)=>_.name).join(", ");console.log(`Syncing to environments: ${H}`),console.log(`Found ${q.length} local transcript(s)
|
|
56
|
+
`);for(let _ of Q)await f2(_,q,J)}async function f2(Y,J,X){let Q=Y.name==="dev"?"Development":"Production";console.log(`
|
|
57
|
+
--- ${Q} (${Y.baseURL}) ---`);try{let $=await eJ({serverUrl:Y.baseURL,authToken:Y.token}),G=X?$.filter((L)=>L.repoId===X):$,W=new Map;for(let L of G)W.set(L.transcriptId,L.sha256);let q=J.filter((L)=>{let V=W.get(L.transcriptId);return!V||V!==L.sha256});if(q.length===0){console.log("All local transcripts are up to date.");return}console.log(`Uploading ${q.length} transcript(s)...`);let H=0,_=0,B=[];for(let[L,V]of q.entries()){let F=`${L+1}/${q.length}`,w=V.repoId?` • ${V.repoId}`:"",k=`${V.transcriptId} – ${V.displayPath}${w}`;try{let z=await KY({transcriptPath:V.path,sessionId:V.transcriptId,cwdOverride:V.cwd??void 0},{serverUrl:Y.baseURL,authToken:Y.token});if(z.success)H+=1,console.log(`[${F}] ✓ ${k} • ${z.eventCount} events${z.transcriptId?` → ${z.transcriptId}`:""}`);else{_+=1;let v="Upload returned unsuccessful response.";console.error(`[${F}] ✗ ${k} • ${v}`),B.push({transcriptId:V.transcriptId,displayPath:V.displayPath,reason:v})}}catch(z){_+=1;let v=z instanceof Error?z.message:String(z);console.error(`[${F}] ✗ ${k} • ${v}`),B.push({transcriptId:V.transcriptId,displayPath:V.displayPath,reason:v})}}if(console.log(`Sync complete: ${H} uploaded, ${_} failed.`),B.length>0){console.error("Failed transcript details:");for(let L of B.slice(0,10))console.error(` - ${L.transcriptId} (${L.displayPath}): ${L.reason}`);if(B.length>10)console.error(` …and ${B.length-10} more failures.`)}}catch($){console.error(`Error syncing to ${Q}: ${$ instanceof Error?$.message:String($)}`)}}async function P2(Y){if(!await JX(Y))return[];let J=await N8.readdir(Y,{withFileTypes:!0}),X=[];for(let Q of J){if(!Q.isDirectory())continue;let $=R8(Y,Q.name),G=await N8.readdir($,{withFileTypes:!0});for(let W of G){if(!W.isFile()||w2(W.name)!==".jsonl")continue;let q=R8($,W.name),H=z2(W.name,".jsonl");try{let _=await N8.readFile(q,"utf8"),B=N2("sha256").update(_).digest("hex"),L=k2(_),V=await T2(L);X.push({transcriptId:H,path:q,sha256:B,cwd:L,repoId:V,displayPath:S2(Y,q)||W.name})}catch(_){console.warn(`Skipped transcript at ${q}: ${_.message}`)}}}return X}async function JX(Y){try{return(await N8.stat(Y)).isDirectory()}catch{return!1}}function k2(Y){let J=Y.split(/\r?\n/);for(let X of J){let Q=X.trim();if(!Q)continue;try{let G=JSON.parse(Q)?.cwd;if(typeof G==="string"&&G.length>0)return G}catch{continue}}return null}async function T2(Y){if(!Y)return null;if(!await JX(Y))return null;try{return d9(Y).repoId}catch{return null}}async function xY(Y,J="claude-code"){if(!Y)console.error("The upload command expects a <transcript> argument."),process.exit(1);let X=t5(Y);if(!X)console.error(`Transcript file not found for path: ${Y}`),process.exit(1);let Q=W0();if(Q.length===0)console.error("You must be logged in to upload transcripts."),console.error("Run `agentlogs login` to authenticate"),process.exit(1);let $=J==="codex"?"Codex":"Claude Code",G=Q.map((W)=>W.name).join(", ");console.log(`Uploading ${$} transcript from ${X}`),console.log(`Target environments: ${G}`);try{let W=await V1({transcriptPath:X,source:J});console.log("");for(let q of W.results){let H=q.envName==="dev"?"Development":"Production";if(q.success){if(console.log(`✓ ${H}: uploaded successfully`),q.id)console.log(` ID: ${q.id}`);if(q.transcriptId)console.log(` Transcript ID: ${q.transcriptId}`)}else if(console.log(`✗ ${H}: upload failed`),q.error)console.log(` Error: ${q.error}`)}if(console.log(""),W.allSuccess)console.log(`✓ Upload complete (${W.eventCount} events)`);else if(W.anySuccess)console.log(`⚠ Partial upload (${W.eventCount} events) - some environments failed`),process.exit(1);else console.error("✗ Upload failed for all environments"),process.exit(1)}catch(W){console.error(W instanceof Error?W.message:"Unexpected error occurred while uploading transcript."),process.exit(1)}}var g0=new J9;g0.name("agentlogs").description("CLI tools for working with AgentLogs accounts and transcripts from Claude Code and Codex");g0.command("login").description("Authenticate with AgentLogs using device authorization").option("--dev","Login to development environment (http://localhost:3000)").action(async(Y)=>{await sJ({dev:Y.dev})});g0.command("status").description("Check your current login status").action(async()=>{await tJ()});g0.command("logout").description("Log out and clear stored credentials").option("--dev","Logout from development environment").action(async(Y)=>{await aJ({dev:Y.dev})});var yY=g0.command("claudecode").description("Claude Code transcript utilities for AgentLogs");yY.command("upload").argument("<transcript>","Path or alias for a transcript JSONL file").description("Upload a transcript JSONL file to AgentLogs").action(async(Y)=>{await xY(Y,"claude-code")});yY.command("hook").description("Process Claude Code hook input from stdin").action(async()=>{await e5()});var Z2=g0.command("codex").description("Codex transcript utilities for AgentLogs");Z2.command("upload").argument("<transcript>","Path or alias for a Codex transcript JSONL file").description("Upload a Codex transcript JSONL file to AgentLogs").action(async(Y)=>{await xY(Y,"codex")});yY.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(Y,J)=>{await YX({claudeDir:Y,repoFilter:J.repo})});g0.showHelpAfterError("(add --help for additional information)");g0.parseAsync().catch((Y)=>{console.error("CLI encountered an unexpected error."),console.error(Y),process.exit(1)});
|