edgeone 1.6.24 → 1.6.26

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.
@@ -566,7 +566,7 @@ ${A.join(`
566
566
  `;y.forEach(A=>{v+=A}),e.fail(v)}};let p={};s.conflicts=function(g,y){si("<string|object> [array|string]",[g,y],arguments.length),typeof g=="object"?Object.keys(g).forEach(v=>{s.conflicts(v,g[v])}):(t.global(g),p[g]||(p[g]=[]),Array.isArray(y)?y.forEach(v=>s.conflicts(g,v)):p[g].push(y))},s.getConflicting=()=>p,s.conflicting=function(g){Object.keys(g).forEach(y=>{p[y]&&p[y].forEach(v=>{v&&g[y]!==void 0&&g[v]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",y,v))})}),t.getInternalMethods().getParserConfiguration()["strip-dashed"]&&Object.keys(p).forEach(y=>{p[y].forEach(v=>{v&&g[r.Parser.camelCase(y)]!==void 0&&g[r.Parser.camelCase(v)]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",y,v))})})},s.recommendCommands=function(g,y){y=y.sort((E,k)=>k.length-E.length);let A=null,S=1/0;for(let E=0,k;(k=y[E])!==void 0;E++){let P=D3e(g,k);P<=3&&P<S&&(S=P,A=k)}A&&e.fail(n("Did you mean %s?",A))},s.reset=function(g){return c=KI(c,y=>!g[y]),p=KI(p,y=>!g[y]),s};let f=[];return s.freeze=function(){f.push({implied:c,conflicting:p})},s.unfreeze=function(){let g=f.pop();ig(g,void 0,r),{implied:c,conflicting:p}=g},s}var ci=function(t,e,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(t,r):o?o.value=r:e.set(t,r),r},Ve=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Fp,dD,P8,Sv,JA,GV,ZI,hD,WV,Cv,YV,Iv,Mw,KA,kv,JV,mF,md,Bi,KV,XV,XA,mD,gF,gD,ek,ZV,xs,AD,yD,vD,Ls,eG,Qw,cp;function Z3e(t){return(e=[],r=t.process.cwd(),n)=>{let o=new Que(e,r,n,t);return Object.defineProperty(o,"argv",{get:()=>o.parse(),enumerable:!0}),o.help(),o.version(),o}}var N3e=Symbol("copyDoubleDash"),O3e=Symbol("copyDoubleDash"),Bue=Symbol("deleteFromParserHintObject"),F3e=Symbol("emitWarning"),L3e=Symbol("freeze"),j3e=Symbol("getDollarZero"),xD=Symbol("getParserConfiguration"),M3e=Symbol("getUsageConfiguration"),Due=Symbol("guessLocale"),Q3e=Symbol("guessVersion"),q3e=Symbol("parsePositionalNumbers"),Pue=Symbol("pkgUp"),tk=Symbol("populateParserHintArray"),AF=Symbol("populateParserHintSingleValueDictionary"),Rue=Symbol("populateParserHintArrayDictionary"),Nue=Symbol("populateParserHintDictionary"),Oue=Symbol("sanitizeKey"),Fue=Symbol("setKey"),Lue=Symbol("unfreeze"),U3e=Symbol("validateAsync"),$3e=Symbol("getCommandInstance"),z3e=Symbol("getContext"),H3e=Symbol("getHasOutput"),V3e=Symbol("getLoggerInstance"),G3e=Symbol("getParseContext"),W3e=Symbol("getUsageInstance"),Y3e=Symbol("getValidationInstance"),tG=Symbol("hasParseCallback"),J3e=Symbol("isGlobalContext"),bD=Symbol("postProcess"),K3e=Symbol("rebase"),jue=Symbol("reset"),R8=Symbol("runYargsParserAndExecuteCommands"),Mue=Symbol("runValidation"),X3e=Symbol("setHasOutput"),ED=Symbol("kTrackManuallySetKeys"),Que=class{constructor(e=[],r,n,o){this.customScriptName=!1,this.parsed=!1,Fp.set(this,void 0),dD.set(this,void 0),P8.set(this,{commands:[],fullCommands:[]}),Sv.set(this,null),JA.set(this,null),GV.set(this,"show-hidden"),ZI.set(this,null),hD.set(this,!0),WV.set(this,{}),Cv.set(this,!0),YV.set(this,[]),Iv.set(this,void 0),Mw.set(this,{}),KA.set(this,!1),kv.set(this,null),JV.set(this,!0),mF.set(this,void 0),md.set(this,""),Bi.set(this,void 0),KV.set(this,void 0),XV.set(this,{}),XA.set(this,null),mD.set(this,null),gF.set(this,{}),gD.set(this,{}),ek.set(this,void 0),ZV.set(this,!1),xs.set(this,void 0),AD.set(this,!1),yD.set(this,!1),vD.set(this,!1),Ls.set(this,void 0),eG.set(this,{}),Qw.set(this,null),cp.set(this,void 0),ci(this,xs,o,"f"),ci(this,ek,e,"f"),ci(this,dD,r,"f"),ci(this,KV,n,"f"),ci(this,Iv,new zV(this),"f"),this.$0=this[j3e](),this[jue](),ci(this,Fp,Ve(this,Fp,"f"),"f"),ci(this,Ls,Ve(this,Ls,"f"),"f"),ci(this,cp,Ve(this,cp,"f"),"f"),ci(this,Bi,Ve(this,Bi,"f"),"f"),Ve(this,Bi,"f").showHiddenOpt=Ve(this,GV,"f"),ci(this,mF,this[O3e](),"f")}addHelpOpt(e,r){let n="help";return si("[string|boolean] [string]",[e,r],arguments.length),Ve(this,kv,"f")&&(this[Bue](Ve(this,kv,"f")),ci(this,kv,null,"f")),e===!1&&r===void 0?this:(ci(this,kv,typeof e=="string"?e:n,"f"),this.boolean(Ve(this,kv,"f")),this.describe(Ve(this,kv,"f"),r||Ve(this,Ls,"f").deferY18nLookup("Show help")),this)}help(e,r){return this.addHelpOpt(e,r)}addShowHiddenOpt(e,r){if(si("[string|boolean] [string]",[e,r],arguments.length),e===!1&&r===void 0)return this;let n=typeof e=="string"?e:Ve(this,GV,"f");return this.boolean(n),this.describe(n,r||Ve(this,Ls,"f").deferY18nLookup("Show hidden options")),Ve(this,Bi,"f").showHiddenOpt=n,this}showHidden(e,r){return this.addShowHiddenOpt(e,r)}alias(e,r){return si("<object|string|array> [string|array]",[e,r],arguments.length),this[Rue](this.alias.bind(this),"alias",e,r),this}array(e){return si("<array|string>",[e],arguments.length),this[tk]("array",e),this[ED](e),this}boolean(e){return si("<array|string>",[e],arguments.length),this[tk]("boolean",e),this[ED](e),this}check(e,r){return si("<function> [boolean]",[e,r],arguments.length),this.middleware((n,o)=>fD(()=>e(n,o.getOptions()),s=>(s?(typeof s=="string"||s instanceof Error)&&Ve(this,Ls,"f").fail(s.toString(),s):Ve(this,Ls,"f").fail(Ve(this,xs,"f").y18n.__("Argument check failed: %s",e.toString())),n),s=>(Ve(this,Ls,"f").fail(s.message?s.message:s.toString(),s),n)),!1,r),this}choices(e,r){return si("<object|string|array> [string|array]",[e,r],arguments.length),this[Rue](this.choices.bind(this),"choices",e,r),this}coerce(e,r){if(si("<object|string|array> [function]",[e,r],arguments.length),Array.isArray(e)){if(!r)throw new ju("coerce callback must be provided");for(let n of e)this.coerce(n,r);return this}else if(typeof e=="object"){for(let n of Object.keys(e))this.coerce(n,e[n]);return this}if(!r)throw new ju("coerce callback must be provided");return Ve(this,Bi,"f").key[e]=!0,Ve(this,Iv,"f").addCoerceMiddleware((n,o)=>{let s;return Object.prototype.hasOwnProperty.call(n,e)?fD(()=>(s=o.getAliases(),r(n[e])),u=>{n[e]=u;let p=o.getInternalMethods().getParserConfiguration()["strip-aliased"];if(s[e]&&p!==!0)for(let f of s[e])n[f]=u;return n},u=>{throw new ju(u.message)}):n},e),this}conflicts(e,r){return si("<string|object> [string|array]",[e,r],arguments.length),Ve(this,cp,"f").conflicts(e,r),this}config(e="config",r,n){return si("[object|string] [string|function] [function]",[e,r,n],arguments.length),typeof e=="object"&&!Array.isArray(e)?(e=T8(e,Ve(this,dD,"f"),this[xD]()["deep-merge-config"]||!1,Ve(this,xs,"f")),Ve(this,Bi,"f").configObjects=(Ve(this,Bi,"f").configObjects||[]).concat(e),this):(typeof r=="function"&&(n=r,r=void 0),this.describe(e,r||Ve(this,Ls,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(e)?e:[e]).forEach(o=>{Ve(this,Bi,"f").config[o]=n||!0}),this)}completion(e,r,n){return si("[string] [string|boolean|function] [function]",[e,r,n],arguments.length),typeof r=="function"&&(n=r,r=void 0),ci(this,JA,e||Ve(this,JA,"f")||"completion","f"),!r&&r!==!1&&(r="generate completion script"),this.command(Ve(this,JA,"f"),r),n&&Ve(this,Sv,"f").registerFunction(n),this}command(e,r,n,o,s,c){return si("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[e,r,n,o,s,c],arguments.length),Ve(this,Fp,"f").addHandler(e,r,n,o,s,c),this}commands(e,r,n,o,s,c){return this.command(e,r,n,o,s,c)}commandDir(e,r){si("<string> [object]",[e,r],arguments.length);let n=Ve(this,KV,"f")||Ve(this,xs,"f").require;return Ve(this,Fp,"f").addDirectory(e,n,Ve(this,xs,"f").getCallerFile(),r),this}count(e){return si("<array|string>",[e],arguments.length),this[tk]("count",e),this[ED](e),this}default(e,r,n){return si("<object|string|array> [*] [string]",[e,r,n],arguments.length),n&&(Sue(e,Ve(this,xs,"f")),Ve(this,Bi,"f").defaultDescription[e]=n),typeof r=="function"&&(Sue(e,Ve(this,xs,"f")),Ve(this,Bi,"f").defaultDescription[e]||(Ve(this,Bi,"f").defaultDescription[e]=Ve(this,Ls,"f").functionDescription(r)),r=r.call()),this[AF](this.default.bind(this),"default",e,r),this}defaults(e,r,n){return this.default(e,r,n)}demandCommand(e=1,r,n,o){return si("[number] [number|string] [string|null|undefined] [string|null|undefined]",[e,r,n,o],arguments.length),typeof r!="number"&&(n=r,r=1/0),this.global("_",!1),Ve(this,Bi,"f").demandedCommands._={min:e,max:r,minMsg:n,maxMsg:o},this}demand(e,r,n){return Array.isArray(r)?(r.forEach(o=>{ig(n,!0,Ve(this,xs,"f")),this.demandOption(o,n)}),r=1/0):typeof r!="number"&&(n=r,r=1/0),typeof e=="number"?(ig(n,!0,Ve(this,xs,"f")),this.demandCommand(e,r,n,n)):Array.isArray(e)?e.forEach(o=>{ig(n,!0,Ve(this,xs,"f")),this.demandOption(o,n)}):typeof n=="string"?this.demandOption(e,n):(n===!0||typeof n>"u")&&this.demandOption(e),this}demandOption(e,r){return si("<object|string|array> [string]",[e,r],arguments.length),this[AF](this.demandOption.bind(this),"demandedOptions",e,r),this}deprecateOption(e,r){return si("<string> [string|boolean]",[e,r],arguments.length),Ve(this,Bi,"f").deprecatedOptions[e]=r,this}describe(e,r){return si("<object|string|array> [string]",[e,r],arguments.length),this[Fue](e,!0),Ve(this,Ls,"f").describe(e,r),this}detectLocale(e){return si("<boolean>",[e],arguments.length),ci(this,hD,e,"f"),this}env(e){return si("[string|boolean]",[e],arguments.length),e===!1?delete Ve(this,Bi,"f").envPrefix:Ve(this,Bi,"f").envPrefix=e||"",this}epilogue(e){return si("<string>",[e],arguments.length),Ve(this,Ls,"f").epilog(e),this}epilog(e){return this.epilogue(e)}example(e,r){return si("<string|array> [string]",[e,r],arguments.length),Array.isArray(e)?e.forEach(n=>this.example(...n)):Ve(this,Ls,"f").example(e,r),this}exit(e,r){ci(this,KA,!0,"f"),ci(this,ZI,r,"f"),Ve(this,Cv,"f")&&Ve(this,xs,"f").process.exit(e)}exitProcess(e=!0){return si("[boolean]",[e],arguments.length),ci(this,Cv,e,"f"),this}fail(e){if(si("<function|boolean>",[e],arguments.length),typeof e=="boolean"&&e!==!1)throw new ju("Invalid first argument. Expected function or boolean 'false'");return Ve(this,Ls,"f").failFn(e),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(e,r){return si("<array> [function]",[e,r],arguments.length),r?Ve(this,Sv,"f").getCompletion(e,r):new Promise((n,o)=>{Ve(this,Sv,"f").getCompletion(e,(s,c)=>{s?o(s):n(c)})})}getDemandedOptions(){return si([],0),Ve(this,Bi,"f").demandedOptions}getDemandedCommands(){return si([],0),Ve(this,Bi,"f").demandedCommands}getDeprecatedOptions(){return si([],0),Ve(this,Bi,"f").deprecatedOptions}getDetectLocale(){return Ve(this,hD,"f")}getExitProcess(){return Ve(this,Cv,"f")}getGroups(){return Object.assign({},Ve(this,Mw,"f"),Ve(this,gD,"f"))}getHelp(){if(ci(this,KA,!0,"f"),!Ve(this,Ls,"f").hasCachedHelpMessage()){if(!this.parsed){let r=this[R8](Ve(this,ek,"f"),void 0,void 0,0,!0);if(Mu(r))return r.then(()=>Ve(this,Ls,"f").help())}let e=Ve(this,Fp,"f").runDefaultBuilderOn(this);if(Mu(e))return e.then(()=>Ve(this,Ls,"f").help())}return Promise.resolve(Ve(this,Ls,"f").help())}getOptions(){return Ve(this,Bi,"f")}getStrict(){return Ve(this,AD,"f")}getStrictCommands(){return Ve(this,yD,"f")}getStrictOptions(){return Ve(this,vD,"f")}global(e,r){return si("<string|array> [boolean]",[e,r],arguments.length),e=[].concat(e),r!==!1?Ve(this,Bi,"f").local=Ve(this,Bi,"f").local.filter(n=>e.indexOf(n)===-1):e.forEach(n=>{Ve(this,Bi,"f").local.includes(n)||Ve(this,Bi,"f").local.push(n)}),this}group(e,r){si("<string|array> <string>",[e,r],arguments.length);let n=Ve(this,gD,"f")[r]||Ve(this,Mw,"f")[r];Ve(this,gD,"f")[r]&&delete Ve(this,gD,"f")[r];let o={};return Ve(this,Mw,"f")[r]=(n||[]).concat(e).filter(s=>o[s]?!1:o[s]=!0),this}hide(e){return si("<string>",[e],arguments.length),Ve(this,Bi,"f").hiddenOptions.push(e),this}implies(e,r){return si("<string|object> [number|string|array]",[e,r],arguments.length),Ve(this,cp,"f").implies(e,r),this}locale(e){return si("[string]",[e],arguments.length),e===void 0?(this[Due](),Ve(this,xs,"f").y18n.getLocale()):(ci(this,hD,!1,"f"),Ve(this,xs,"f").y18n.setLocale(e),this)}middleware(e,r,n){return Ve(this,Iv,"f").addMiddleware(e,!!r,n)}nargs(e,r){return si("<string|object|array> [number]",[e,r],arguments.length),this[AF](this.nargs.bind(this),"narg",e,r),this}normalize(e){return si("<array|string>",[e],arguments.length),this[tk]("normalize",e),this}number(e){return si("<array|string>",[e],arguments.length),this[tk]("number",e),this[ED](e),this}option(e,r){if(si("<string|object> [object]",[e,r],arguments.length),typeof e=="object")Object.keys(e).forEach(n=>{this.options(n,e[n])});else{typeof r!="object"&&(r={}),this[ED](e),Ve(this,Qw,"f")&&(e==="version"||(r==null?void 0:r.alias)==="version")&&this[F3e](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
567
567
  `),void 0,"versionWarning"),Ve(this,Bi,"f").key[e]=!0,r.alias&&this.alias(e,r.alias);let n=r.deprecate||r.deprecated;n&&this.deprecateOption(e,n);let o=r.demand||r.required||r.require;o&&this.demand(e,o),r.demandOption&&this.demandOption(e,typeof r.demandOption=="string"?r.demandOption:void 0),r.conflicts&&this.conflicts(e,r.conflicts),"default"in r&&this.default(e,r.default),r.implies!==void 0&&this.implies(e,r.implies),r.nargs!==void 0&&this.nargs(e,r.nargs),r.config&&this.config(e,r.configParser),r.normalize&&this.normalize(e),r.choices&&this.choices(e,r.choices),r.coerce&&this.coerce(e,r.coerce),r.group&&this.group(e,r.group),(r.boolean||r.type==="boolean")&&(this.boolean(e),r.alias&&this.boolean(r.alias)),(r.array||r.type==="array")&&(this.array(e),r.alias&&this.array(r.alias)),(r.number||r.type==="number")&&(this.number(e),r.alias&&this.number(r.alias)),(r.string||r.type==="string")&&(this.string(e),r.alias&&this.string(r.alias)),(r.count||r.type==="count")&&this.count(e),typeof r.global=="boolean"&&this.global(e,r.global),r.defaultDescription&&(Ve(this,Bi,"f").defaultDescription[e]=r.defaultDescription),r.skipValidation&&this.skipValidation(e);let s=r.describe||r.description||r.desc,c=Ve(this,Ls,"f").getDescriptions();(!Object.prototype.hasOwnProperty.call(c,e)||typeof s=="string")&&this.describe(e,s),r.hidden&&this.hide(e),r.requiresArg&&this.requiresArg(e)}return this}options(e,r){return this.option(e,r)}parse(e,r,n){si("[string|array] [function|boolean|object] [function]",[e,r,n],arguments.length),this[L3e](),typeof e>"u"&&(e=Ve(this,ek,"f")),typeof r=="object"&&(ci(this,mD,r,"f"),r=n),typeof r=="function"&&(ci(this,XA,r,"f"),r=!1),r||ci(this,ek,e,"f"),Ve(this,XA,"f")&&ci(this,Cv,!1,"f");let o=this[R8](e,!!r),s=this.parsed;return Ve(this,Sv,"f").setParsed(this.parsed),Mu(o)?o.then(c=>(Ve(this,XA,"f")&&Ve(this,XA,"f").call(this,Ve(this,ZI,"f"),c,Ve(this,md,"f")),c)).catch(c=>{throw Ve(this,XA,"f")&&Ve(this,XA,"f")(c,this.parsed.argv,Ve(this,md,"f")),c}).finally(()=>{this[Lue](),this.parsed=s}):(Ve(this,XA,"f")&&Ve(this,XA,"f").call(this,Ve(this,ZI,"f"),o,Ve(this,md,"f")),this[Lue](),this.parsed=s,o)}parseAsync(e,r,n){let o=this.parse(e,r,n);return Mu(o)?o:Promise.resolve(o)}parseSync(e,r,n){let o=this.parse(e,r,n);if(Mu(o))throw new ju(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return o}parserConfiguration(e){return si("<object>",[e],arguments.length),ci(this,XV,e,"f"),this}pkgConf(e,r){si("<string> [string]",[e,r],arguments.length);let n=null,o=this[Pue](r||Ve(this,dD,"f"));return o[e]&&typeof o[e]=="object"&&(n=T8(o[e],r||Ve(this,dD,"f"),this[xD]()["deep-merge-config"]||!1,Ve(this,xs,"f")),Ve(this,Bi,"f").configObjects=(Ve(this,Bi,"f").configObjects||[]).concat(n)),this}positional(e,r){si("<string> <object>",[e,r],arguments.length);let n=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];r=KI(r,(c,u)=>c==="type"&&!["string","number","boolean"].includes(u)?!1:n.includes(c));let o=Ve(this,P8,"f").fullCommands[Ve(this,P8,"f").fullCommands.length-1],s=o?Ve(this,Fp,"f").cmdToParseOptions(o):{array:[],alias:{},default:{},demand:{}};return dF(s).forEach(c=>{let u=s[c];Array.isArray(u)?u.indexOf(e)!==-1&&(r[c]=!0):u[e]&&!(c in r)&&(r[c]=u[e])}),this.group(e,Ve(this,Ls,"f").getPositionalGroupName()),this.option(e,r)}recommendCommands(e=!0){return si("[boolean]",[e],arguments.length),ci(this,ZV,e,"f"),this}required(e,r,n){return this.demand(e,r,n)}require(e,r,n){return this.demand(e,r,n)}requiresArg(e){return si("<array|string|object> [number]",[e],arguments.length),typeof e=="string"&&Ve(this,Bi,"f").narg[e]?this:(this[AF](this.requiresArg.bind(this),"narg",e,NaN),this)}showCompletionScript(e,r){return si("[string] [string]",[e,r],arguments.length),e=e||this.$0,Ve(this,mF,"f").log(Ve(this,Sv,"f").generateCompletionScript(e,r||Ve(this,JA,"f")||"completion")),this}showHelp(e){if(si("[string|function]",[e],arguments.length),ci(this,KA,!0,"f"),!Ve(this,Ls,"f").hasCachedHelpMessage()){if(!this.parsed){let n=this[R8](Ve(this,ek,"f"),void 0,void 0,0,!0);if(Mu(n))return n.then(()=>{Ve(this,Ls,"f").showHelp(e)}),this}let r=Ve(this,Fp,"f").runDefaultBuilderOn(this);if(Mu(r))return r.then(()=>{Ve(this,Ls,"f").showHelp(e)}),this}return Ve(this,Ls,"f").showHelp(e),this}scriptName(e){return this.customScriptName=!0,this.$0=e,this}showHelpOnFail(e,r){return si("[boolean|string] [string]",[e,r],arguments.length),Ve(this,Ls,"f").showHelpOnFail(e,r),this}showVersion(e){return si("[string|function]",[e],arguments.length),Ve(this,Ls,"f").showVersion(e),this}skipValidation(e){return si("<array|string>",[e],arguments.length),this[tk]("skipValidation",e),this}strict(e){return si("[boolean]",[e],arguments.length),ci(this,AD,e!==!1,"f"),this}strictCommands(e){return si("[boolean]",[e],arguments.length),ci(this,yD,e!==!1,"f"),this}strictOptions(e){return si("[boolean]",[e],arguments.length),ci(this,vD,e!==!1,"f"),this}string(e){return si("<array|string>",[e],arguments.length),this[tk]("string",e),this[ED](e),this}terminalWidth(){return si([],0),Ve(this,xs,"f").process.stdColumns}updateLocale(e){return this.updateStrings(e)}updateStrings(e){return si("<object>",[e],arguments.length),ci(this,hD,!1,"f"),Ve(this,xs,"f").y18n.updateLocale(e),this}usage(e,r,n,o){if(si("<string|null|undefined> [string|boolean] [function|object] [function]",[e,r,n,o],arguments.length),r!==void 0){if(ig(e,null,Ve(this,xs,"f")),(e||"").match(/^\$0( |$)/))return this.command(e,r,n,o);throw new ju(".usage() description must start with $0 if being used as alias for .command()")}else return Ve(this,Ls,"f").usage(e),this}usageConfiguration(e){return si("<object>",[e],arguments.length),ci(this,eG,e,"f"),this}version(e,r,n){let o="version";if(si("[boolean|string] [string] [string]",[e,r,n],arguments.length),Ve(this,Qw,"f")&&(this[Bue](Ve(this,Qw,"f")),Ve(this,Ls,"f").version(void 0),ci(this,Qw,null,"f")),arguments.length===0)n=this[Q3e](),e=o;else if(arguments.length===1){if(e===!1)return this;n=e,e=o}else arguments.length===2&&(n=r,r=void 0);return ci(this,Qw,typeof e=="string"?e:o,"f"),r=r||Ve(this,Ls,"f").deferY18nLookup("Show version number"),Ve(this,Ls,"f").version(n||void 0),this.boolean(Ve(this,Qw,"f")),this.describe(Ve(this,Qw,"f"),r),this}wrap(e){return si("<number|null|undefined>",[e],arguments.length),Ve(this,Ls,"f").wrap(e),this}[(Fp=new WeakMap,dD=new WeakMap,P8=new WeakMap,Sv=new WeakMap,JA=new WeakMap,GV=new WeakMap,ZI=new WeakMap,hD=new WeakMap,WV=new WeakMap,Cv=new WeakMap,YV=new WeakMap,Iv=new WeakMap,Mw=new WeakMap,KA=new WeakMap,kv=new WeakMap,JV=new WeakMap,mF=new WeakMap,md=new WeakMap,Bi=new WeakMap,KV=new WeakMap,XV=new WeakMap,XA=new WeakMap,mD=new WeakMap,gF=new WeakMap,gD=new WeakMap,ek=new WeakMap,ZV=new WeakMap,xs=new WeakMap,AD=new WeakMap,yD=new WeakMap,vD=new WeakMap,Ls=new WeakMap,eG=new WeakMap,Qw=new WeakMap,cp=new WeakMap,N3e)](e){if(!e._||!e["--"])return e;e._.push.apply(e._,e["--"]);try{delete e["--"]}catch{}return e}[O3e](){return{log:(...e)=>{this[tG]()||console.log(...e),ci(this,KA,!0,"f"),Ve(this,md,"f").length&&ci(this,md,Ve(this,md,"f")+`
568
568
  `,"f"),ci(this,md,Ve(this,md,"f")+e.join(" "),"f")},error:(...e)=>{this[tG]()||console.error(...e),ci(this,KA,!0,"f"),Ve(this,md,"f").length&&ci(this,md,Ve(this,md,"f")+`
569
- `,"f"),ci(this,md,Ve(this,md,"f")+e.join(" "),"f")}}}[Bue](e){dF(Ve(this,Bi,"f")).forEach(r=>{if((o=>o==="configObjects")(r))return;let n=Ve(this,Bi,"f")[r];Array.isArray(n)?n.includes(e)&&n.splice(n.indexOf(e),1):typeof n=="object"&&delete n[e]}),delete Ve(this,Ls,"f").getDescriptions()[e]}[F3e](e,r,n){Ve(this,WV,"f")[n]||(Ve(this,xs,"f").process.emitWarning(e,r),Ve(this,WV,"f")[n]=!0)}[L3e](){Ve(this,YV,"f").push({options:Ve(this,Bi,"f"),configObjects:Ve(this,Bi,"f").configObjects.slice(0),exitProcess:Ve(this,Cv,"f"),groups:Ve(this,Mw,"f"),strict:Ve(this,AD,"f"),strictCommands:Ve(this,yD,"f"),strictOptions:Ve(this,vD,"f"),completionCommand:Ve(this,JA,"f"),output:Ve(this,md,"f"),exitError:Ve(this,ZI,"f"),hasOutput:Ve(this,KA,"f"),parsed:this.parsed,parseFn:Ve(this,XA,"f"),parseContext:Ve(this,mD,"f")}),Ve(this,Ls,"f").freeze(),Ve(this,cp,"f").freeze(),Ve(this,Fp,"f").freeze(),Ve(this,Iv,"f").freeze()}[j3e](){let e="",r;return/\b(node|iojs|electron)(\.exe)?$/.test(Ve(this,xs,"f").process.argv()[0])?r=Ve(this,xs,"f").process.argv().slice(1,2):r=Ve(this,xs,"f").process.argv().slice(0,1),e=r.map(n=>{let o=this[K3e](Ve(this,dD,"f"),n);return n.match(/^(\/|([a-zA-Z]:)?\\)/)&&o.length<n.length?o:n}).join(" ").trim(),Ve(this,xs,"f").getEnv("_")&&Ve(this,xs,"f").getProcessArgvBin()===Ve(this,xs,"f").getEnv("_")&&(e=Ve(this,xs,"f").getEnv("_").replace(`${Ve(this,xs,"f").path.dirname(Ve(this,xs,"f").process.execPath())}/`,"")),e}[xD](){return Ve(this,XV,"f")}[M3e](){return Ve(this,eG,"f")}[Due](){if(!Ve(this,hD,"f"))return;let e=Ve(this,xs,"f").getEnv("LC_ALL")||Ve(this,xs,"f").getEnv("LC_MESSAGES")||Ve(this,xs,"f").getEnv("LANG")||Ve(this,xs,"f").getEnv("LANGUAGE")||"en_US";this.locale(e.replace(/[.:].*/,""))}[Q3e](){return this[Pue]().version||"unknown"}[q3e](e){let r=e["--"]?e["--"]:e._;for(let n=0,o;(o=r[n])!==void 0;n++)Ve(this,xs,"f").Parser.looksLikeNumber(o)&&Number.isSafeInteger(Math.floor(parseFloat(`${o}`)))&&(r[n]=Number(o));return e}[Pue](e){let r=e||"*";if(Ve(this,gF,"f")[r])return Ve(this,gF,"f")[r];let n={};try{let o=e||Ve(this,xs,"f").mainFilename;!e&&Ve(this,xs,"f").path.extname(o)&&(o=Ve(this,xs,"f").path.dirname(o));let s=Ve(this,xs,"f").findUp(o,(c,u)=>{if(u.includes("package.json"))return"package.json"});ig(s,void 0,Ve(this,xs,"f")),n=JSON.parse(Ve(this,xs,"f").readFileSync(s,"utf8"))}catch{}return Ve(this,gF,"f")[r]=n||{},Ve(this,gF,"f")[r]}[tk](e,r){r=[].concat(r),r.forEach(n=>{n=this[Oue](n),Ve(this,Bi,"f")[e].push(n)})}[AF](e,r,n,o){this[Nue](e,r,n,o,(s,c,u)=>{Ve(this,Bi,"f")[s][c]=u})}[Rue](e,r,n,o){this[Nue](e,r,n,o,(s,c,u)=>{Ve(this,Bi,"f")[s][c]=(Ve(this,Bi,"f")[s][c]||[]).concat(u)})}[Nue](e,r,n,o,s){if(Array.isArray(n))n.forEach(c=>{e(c,o)});else if((c=>typeof c=="object")(n))for(let c of dF(n))e(c,n[c]);else s(r,this[Oue](n),o)}[Oue](e){return e==="__proto__"?"___proto___":e}[Fue](e,r){return this[AF](this[Fue].bind(this),"key",e,r),this}[Lue](){var e,r,n,o,s,c,u,p,f,h,g,y;let v=Ve(this,YV,"f").pop();ig(v,void 0,Ve(this,xs,"f"));let A;e=this,r=this,n=this,o=this,s=this,c=this,u=this,p=this,f=this,h=this,g=this,y=this,{options:{set value(S){ci(e,Bi,S,"f")}}.value,configObjects:A,exitProcess:{set value(S){ci(r,Cv,S,"f")}}.value,groups:{set value(S){ci(n,Mw,S,"f")}}.value,output:{set value(S){ci(o,md,S,"f")}}.value,exitError:{set value(S){ci(s,ZI,S,"f")}}.value,hasOutput:{set value(S){ci(c,KA,S,"f")}}.value,parsed:this.parsed,strict:{set value(S){ci(u,AD,S,"f")}}.value,strictCommands:{set value(S){ci(p,yD,S,"f")}}.value,strictOptions:{set value(S){ci(f,vD,S,"f")}}.value,completionCommand:{set value(S){ci(h,JA,S,"f")}}.value,parseFn:{set value(S){ci(g,XA,S,"f")}}.value,parseContext:{set value(S){ci(y,mD,S,"f")}}.value}=v,Ve(this,Bi,"f").configObjects=A,Ve(this,Ls,"f").unfreeze(),Ve(this,cp,"f").unfreeze(),Ve(this,Fp,"f").unfreeze(),Ve(this,Iv,"f").unfreeze()}[U3e](e,r){return fD(r,n=>(e(n),n))}getInternalMethods(){return{getCommandInstance:this[$3e].bind(this),getContext:this[z3e].bind(this),getHasOutput:this[H3e].bind(this),getLoggerInstance:this[V3e].bind(this),getParseContext:this[G3e].bind(this),getParserConfiguration:this[xD].bind(this),getUsageConfiguration:this[M3e].bind(this),getUsageInstance:this[W3e].bind(this),getValidationInstance:this[Y3e].bind(this),hasParseCallback:this[tG].bind(this),isGlobalContext:this[J3e].bind(this),postProcess:this[bD].bind(this),reset:this[jue].bind(this),runValidation:this[Mue].bind(this),runYargsParserAndExecuteCommands:this[R8].bind(this),setHasOutput:this[X3e].bind(this)}}[$3e](){return Ve(this,Fp,"f")}[z3e](){return Ve(this,P8,"f")}[H3e](){return Ve(this,KA,"f")}[V3e](){return Ve(this,mF,"f")}[G3e](){return Ve(this,mD,"f")||{}}[W3e](){return Ve(this,Ls,"f")}[Y3e](){return Ve(this,cp,"f")}[tG](){return!!Ve(this,XA,"f")}[J3e](){return Ve(this,JV,"f")}[bD](e,r,n,o){return n||Mu(e)||(r||(e=this[N3e](e)),(this[xD]()["parse-positional-numbers"]||this[xD]()["parse-positional-numbers"]===void 0)&&(e=this[q3e](e)),o&&(e=pD(e,this,Ve(this,Iv,"f").getMiddleware(),!1))),e}[jue](e={}){ci(this,Bi,Ve(this,Bi,"f")||{},"f");let r={};r.local=Ve(this,Bi,"f").local||[],r.configObjects=Ve(this,Bi,"f").configObjects||[];let n={};r.local.forEach(c=>{n[c]=!0,(e[c]||[]).forEach(u=>{n[u]=!0})}),Object.assign(Ve(this,gD,"f"),Object.keys(Ve(this,Mw,"f")).reduce((c,u)=>{let p=Ve(this,Mw,"f")[u].filter(f=>!(f in n));return p.length>0&&(c[u]=p),c},{})),ci(this,Mw,{},"f");let o=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],s=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];return o.forEach(c=>{r[c]=(Ve(this,Bi,"f")[c]||[]).filter(u=>!n[u])}),s.forEach(c=>{r[c]=KI(Ve(this,Bi,"f")[c],u=>!n[u])}),r.envPrefix=Ve(this,Bi,"f").envPrefix,ci(this,Bi,r,"f"),ci(this,Ls,Ve(this,Ls,"f")?Ve(this,Ls,"f").reset(n):I3e(this,Ve(this,xs,"f")),"f"),ci(this,cp,Ve(this,cp,"f")?Ve(this,cp,"f").reset(n):R3e(this,Ve(this,Ls,"f"),Ve(this,xs,"f")),"f"),ci(this,Fp,Ve(this,Fp,"f")?Ve(this,Fp,"f").reset():_3e(Ve(this,Ls,"f"),Ve(this,cp,"f"),Ve(this,Iv,"f"),Ve(this,xs,"f")),"f"),Ve(this,Sv,"f")||ci(this,Sv,B3e(this,Ve(this,Ls,"f"),Ve(this,Fp,"f"),Ve(this,xs,"f")),"f"),Ve(this,Iv,"f").reset(),ci(this,JA,null,"f"),ci(this,md,"","f"),ci(this,ZI,null,"f"),ci(this,KA,!1,"f"),this.parsed=!1,this}[K3e](e,r){return Ve(this,xs,"f").path.relative(e,r)}[R8](e,r,n,o=0,s=!1){let c=!!n||s;e=e||Ve(this,ek,"f"),Ve(this,Bi,"f").__=Ve(this,xs,"f").y18n.__,Ve(this,Bi,"f").configuration=this[xD]();let u=!!Ve(this,Bi,"f").configuration["populate--"],p=Object.assign({},Ve(this,Bi,"f").configuration,{"populate--":!0}),f=Ve(this,xs,"f").Parser.detailed(e,Object.assign({},Ve(this,Bi,"f"),{configuration:{"parse-positional-numbers":!1,...p}})),h=Object.assign(f.argv,Ve(this,mD,"f")),g,y=f.aliases,v=!1,A=!1;Object.keys(h).forEach(S=>{S===Ve(this,kv,"f")&&h[S]?v=!0:S===Ve(this,Qw,"f")&&h[S]&&(A=!0)}),h.$0=this.$0,this.parsed=f,o===0&&Ve(this,Ls,"f").clearCachedHelpMessage();try{if(this[Due](),r)return this[bD](h,u,!!n,!1);Ve(this,kv,"f")&&[Ve(this,kv,"f")].concat(y[Ve(this,kv,"f")]||[]).filter(j=>j.length>1).includes(""+h._[h._.length-1])&&(h._.pop(),v=!0),ci(this,JV,!1,"f");let S=Ve(this,Fp,"f").getCommands(),E=Ve(this,Sv,"f").completionKey in h,k=v||E||s;if(h._.length){if(S.length){let P;for(let j=o||0,F;h._[j]!==void 0;j++)if(F=String(h._[j]),S.includes(F)&&F!==Ve(this,JA,"f")){let z=Ve(this,Fp,"f").runCommand(F,this,f,j+1,s,v||A||s);return this[bD](z,u,!!n,!1)}else if(!P&&F!==Ve(this,JA,"f")){P=F;break}!Ve(this,Fp,"f").hasDefaultCommand()&&Ve(this,ZV,"f")&&P&&!k&&Ve(this,cp,"f").recommendCommands(P,S)}Ve(this,JA,"f")&&h._.includes(Ve(this,JA,"f"))&&!E&&(Ve(this,Cv,"f")&&XI(!0),this.showCompletionScript(),this.exit(0))}if(Ve(this,Fp,"f").hasDefaultCommand()&&!k){let P=Ve(this,Fp,"f").runCommand(null,this,f,0,s,v||A||s);return this[bD](P,u,!!n,!1)}if(E){Ve(this,Cv,"f")&&XI(!0),e=[].concat(e);let P=e.slice(e.indexOf(`--${Ve(this,Sv,"f").completionKey}`)+1);return Ve(this,Sv,"f").getCompletion(P,(j,F)=>{if(j)throw new ju(j.message);(F||[]).forEach(z=>{Ve(this,mF,"f").log(z)}),this.exit(0)}),this[bD](h,!u,!!n,!1)}if(Ve(this,KA,"f")||(v?(Ve(this,Cv,"f")&&XI(!0),c=!0,this.showHelp("log"),this.exit(0)):A&&(Ve(this,Cv,"f")&&XI(!0),c=!0,Ve(this,Ls,"f").showVersion("log"),this.exit(0))),!c&&Ve(this,Bi,"f").skipValidation.length>0&&(c=Object.keys(h).some(P=>Ve(this,Bi,"f").skipValidation.indexOf(P)>=0&&h[P]===!0)),!c){if(f.error)throw new ju(f.error.message);if(!E){let P=this[Mue](y,{},f.error);n||(g=pD(h,this,Ve(this,Iv,"f").getMiddleware(),!0)),g=this[U3e](P,g!=null?g:h),Mu(g)&&!n&&(g=g.then(()=>pD(h,this,Ve(this,Iv,"f").getMiddleware(),!1)))}}}catch(S){if(S instanceof ju)Ve(this,Ls,"f").fail(S.message,S);else throw S}return this[bD](g!=null?g:h,u,!!n,!0)}[Mue](e,r,n,o){let s={...this.getDemandedOptions()};return c=>{if(n)throw new ju(n.message);Ve(this,cp,"f").nonOptionCount(c),Ve(this,cp,"f").requiredArguments(c,s);let u=!1;Ve(this,yD,"f")&&(u=Ve(this,cp,"f").unknownCommands(c)),Ve(this,AD,"f")&&!u?Ve(this,cp,"f").unknownArguments(c,e,r,!!o):Ve(this,vD,"f")&&Ve(this,cp,"f").unknownArguments(c,e,{},!1,!1),Ve(this,cp,"f").limitedChoices(c),Ve(this,cp,"f").implications(c),Ve(this,cp,"f").conflicting(c)}}[X3e](){ci(this,KA,!0,"f")}[ED](e){if(typeof e=="string")Ve(this,Bi,"f").key[e]=!0;else for(let r of e)Ve(this,Bi,"f").key[r]=!0}};function S3e(t){return!!t&&typeof t.getInternalMethods=="function"}var rrr=Z3e(_ue),eMe=rrr;var yb={name:"edgeone",version:"1.6.24",description:"Command-line interface for TencentCloud Pages Functions",bin:{edgeone:"./edgeone-bin/edgeone.js"},files:["./edgeone-bin/edgeone.js","./edgeone-dist/cli.js","./edgeone-dist/pages/templates","./edgeone-dist/pages/dev/runner-worker.js","./edgeone-dist/pages/observability-python/**","./edgeone-dist/libs-pages-blob-python/**","./edgeone-dist/libs-pages-agent-toolkit/**","./edgeone-dist/studio/**","./libs-pages-blob-python/**","./libs-pages-agent-toolkit/**"],author:"",keywords:["tencent","edgeone","edgefunctions","edgeone","cli","typescript"],scripts:{clean:"rimraf ./edgeone-dist ./edgeone-bin ./libs-node-ai ./libs-kv-client",bundle:"node -r esbuild-register ./scripts/bundle.ts",watch:"node -r esbuild-register ./scripts/bundle.ts watch",build:"npm run clean && npm run build:pages-ai && npm run build:kv-client && npm run prepare:blob-wheel && npm run prepare:agent-toolkit-wheel && npm run bundle","build:pages-ai":"node ./scripts/build-pages-ai.js","build:kv-client":"node ./scripts/build-kv-client.js","prepare:blob-wheel":"node ./scripts/prepare-pages-blob-wheel.js","prepare:agent-toolkit-wheel":"node ./scripts/prepare-pages-agent-toolkit-wheel.js","verify:publish-assets":"node ./scripts/verify-publish-assets.js","upload:agent-version-manifest":"node ./scripts/upload-agent-version-manifest.js",format:'prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}" "scripts/**/*.{ts,js}" "*.{json,md}"',prepack:"npm run build && npm run verify:publish-assets",prepublishOnly:"npm run build && npm run verify:publish-assets",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:observability":"vitest run --config src/agent/observability/node/tests/vitest.config.ts && cd src/agent/observability/python && uv run pytest tests/ -q"},dependencies:{"@edgeone/framework-detect":"^0.0.2","@edgeone/is-spa":"^0.0.3","@edgeone/nuxt-pages":"1.1.0","@edgeone/opennextjs-pages":"0.2.10","@edgeone/pages-agent-toolkit":"^0.1.34","@edgeone/pages-blob":"^0.0.16",archiver:"^7.0.1",chokidar:"^4.0.1","common-path-prefix":"^1.0.0","cos-nodejs-sdk-v5":"^2.14.7","cross-spawn":"^7.0.6",crypto:"^1.0.1","detect-port":"^2.1.0",esbuild:"^0.19.2","esbuild-plugin-polyfill-node":"^0.3.0","esbuild-plugin-vue":"^0.2.4","fast-glob":"^3.3.0","fs-extra":"^11.3.1",giget:"^2.0.0","ink-table":"^3.1.0",inquirer:"^8.2.4",install:"^0.13.0",lodash:"^4.17.21","mime-types":"^3.0.1",minimatch:"^9.0.5","node-persist":"^4.0.3",npm:"^10.9.1",open:"^8.4.2","p-map":"^5.5.0","parse-gitignore":"^2.0.0",portfinder:"^1.0.32",undici:"^5.29.0",vitest:"^4.0.17"},devDependencies:{"@babel/generator":"^7.28.0","@babel/parser":"^7.28.0","@babel/traverse":"^7.28.0","@babel/types":"^7.28.0","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^1.30.1","@opentelemetry/exporter-metrics-otlp-http":"^0.55.0","@opentelemetry/exporter-trace-otlp-http":"^0.55.0","@opentelemetry/instrumentation":"^0.55.0","@opentelemetry/otlp-transformer":"^0.55.0","@opentelemetry/resources":"^1.30.1","@opentelemetry/sdk-metrics":"^1.30.1","@opentelemetry/sdk-trace-base":"^1.30.1","@opentelemetry/sdk-trace-node":"^1.30.1","@opentelemetry/semantic-conventions":"^1.40.0","@tencent/capi-nodejs-sdk":"^2.3.2","@types/http-proxy":"^1.17.12","@types/inquirer":"^9.0.8","@types/ip":"^1.1.0","@types/lodash":"^4.14.198","@types/prompts":"^2.4.4","@types/react":"^17.0.2","@types/uuid":"^9.0.3","@types/ws":"^8.5.7","@types/yargs":"^17.0.24","@vitest/coverage-v8":"^4.0.17",axios:"^1.7.9",chalk:"^5.3.0",cookie:"^1.0.2",dotenv:"^16.3.1","esbuild-register":"^3.6.0",execa:"^7.1.1","http-proxy":"^1.18.1",husky:"^8.0.3",ink:"^3.2.0",ip:"^2.0.1",json5:"^2.2.3","lint-staged":"^15.2.0",lodash:"^4.17.21",moment:"^2.30.1","node-fetch":"^3.3.2",prettier:"^3.1.1",prompts:"^2.4.2",protobufjs:"^8.4.2",react:"^17.0.2",rimraf:"^6.0.1",semiver:"^1.1.0",sirv:"^2.0.3","tencentcloud-cls-sdk-js-web":"^1.0.13","ts-node":"^10.9.2",typescript:"^5.9.3","update-check":"^1.5.4",uuid:"^9.0.0",ws:"^8.14.2",yargs:"^17.6.2",zod:"^3.23.8","zod-to-json-schema":"^3.23.5"},engines:{node:">=12"},"lint-staged":{"*.{ts,tsx,js,jsx,json,md}":["prettier --write"]}};var Lde=Bt(Wc()),jde=Bt(NF()),Mde=Bt($pe());function Dq(t,e){return function(){return t.apply(e,arguments)}}var{toString:rar}=Object.prototype,{getPrototypeOf:VG}=Object,{iterator:GG,toStringTag:Q6e}=Symbol,WG=(t=>e=>{let r=rar.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Ib=t=>(t=t.toLowerCase(),e=>WG(e)===t),YG=t=>e=>typeof e===t,{isArray:OD}=Array,LF=YG("undefined");function jF(t){return t!==null&&!LF(t)&&t.constructor!==null&&!LF(t.constructor)&&O0(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var q6e=Ib("ArrayBuffer");function nar(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&q6e(t.buffer),e}var iar=YG("string"),O0=YG("function"),U6e=YG("number"),Pq=t=>t!==null&&typeof t=="object",sar=t=>t===!0||t===!1,HG=t=>{if(WG(t)!=="object")return!1;let e=VG(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Q6e in t)&&!(GG in t)},oar=t=>{if(!Pq(t)||jF(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},aar=Ib("Date"),car=Ib("File"),uar=t=>!!(t&&typeof t.uri<"u"),lar=t=>t&&typeof t.getParts<"u",par=Ib("Blob"),far=Ib("FileList"),dar=t=>Pq(t)&&O0(t.pipe);function har(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}var j6e=har(),M6e=typeof j6e.FormData<"u"?j6e.FormData:void 0,mar=t=>{if(!t)return!1;if(M6e&&t instanceof M6e)return!0;let e=VG(t);if(!e||e===Object.prototype||!O0(t.append))return!1;let r=WG(t);return r==="formdata"||r==="object"&&O0(t.toString)&&t.toString()==="[object FormData]"},gar=Ib("URLSearchParams"),[Aar,yar,xar,bar]=["ReadableStream","Request","Response","Headers"].map(Ib),Ear=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Rq(t,e,{allOwnKeys:r=!1}={}){if(t===null||typeof t>"u")return;let n,o;if(typeof t!="object"&&(t=[t]),OD(t))for(n=0,o=t.length;n<o;n++)e.call(null,t[n],n,t);else{if(jF(t))return;let s=r?Object.getOwnPropertyNames(t):Object.keys(t),c=s.length,u;for(n=0;n<c;n++)u=s[n],e.call(null,t[u],u,t)}}function $6e(t,e){if(jF(t))return null;e=e.toLowerCase();let r=Object.keys(t),n=r.length,o;for(;n-- >0;)if(o=r[n],e===o.toLowerCase())return o;return null}var ND=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,z6e=t=>!LF(t)&&t!==ND;function zpe(...t){let{caseless:e,skipUndefined:r}=z6e(this)&&this||{},n={},o=(s,c)=>{if(c==="__proto__"||c==="constructor"||c==="prototype")return;let u=e&&typeof c=="string"&&$6e(n,c)||c,p=Hpe(n,u)?n[u]:void 0;HG(p)&&HG(s)?n[u]=zpe(p,s):HG(s)?n[u]=zpe({},s):OD(s)?n[u]=s.slice():(!r||!LF(s))&&(n[u]=s)};for(let s=0,c=t.length;s<c;s++){let u=t[s];if(!u||jF(u)||(Rq(u,o),typeof u!="object"||OD(u)))continue;let p=Object.getOwnPropertySymbols(u);for(let f=0;f<p.length;f++){let h=p[f];Nar.call(u,h)&&o(u[h],h)}}return n}var war=(t,e,r,{allOwnKeys:n}={})=>(Rq(e,(o,s)=>{r&&O0(o)?Object.defineProperty(t,s,{__proto__:null,value:Dq(o,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,s,{__proto__:null,value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:n}),t),_ar=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Sar=(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),Object.defineProperty(t.prototype,"constructor",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{__proto__:null,value:e.prototype}),r&&Object.assign(t.prototype,r)},Car=(t,e,r,n)=>{let o,s,c,u={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),s=o.length;s-- >0;)c=o[s],(!n||n(c,t,e))&&!u[c]&&(e[c]=t[c],u[c]=!0);t=r!==!1&&VG(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},Iar=(t,e,r)=>{t=String(t),(r===void 0||r>t.length)&&(r=t.length),r-=e.length;let n=t.indexOf(e,r);return n!==-1&&n===r},kar=t=>{if(!t)return null;if(OD(t))return t;let e=t.length;if(!U6e(e))return null;let r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},Tar=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&VG(Uint8Array)),Bar=(t,e)=>{let n=(t&&t[GG]).call(t),o;for(;(o=n.next())&&!o.done;){let s=o.value;e.call(t,s[0],s[1])}},Dar=(t,e)=>{let r,n=[];for(;(r=t.exec(e))!==null;)n.push(r);return n},Par=Ib("HTMLFormElement"),Rar=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),Hpe=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),{propertyIsEnumerable:Nar}=Object.prototype,Oar=Ib("RegExp"),H6e=(t,e)=>{let r=Object.getOwnPropertyDescriptors(t),n={};Rq(r,(o,s)=>{let c;(c=e(o,s,t))!==!1&&(n[s]=c||o)}),Object.defineProperties(t,n)},Far=t=>{H6e(t,(e,r)=>{if(O0(t)&&["arguments","caller","callee"].includes(r))return!1;let n=t[r];if(O0(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},Lar=(t,e)=>{let r={},n=o=>{o.forEach(s=>{r[s]=!0})};return OD(t)?n(t):n(String(t).split(e)),r},jar=()=>{},Mar=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function Qar(t){return!!(t&&O0(t.append)&&t[Q6e]==="FormData"&&t[GG])}var qar=t=>{let e=new WeakSet,r=n=>{if(Pq(n)){if(e.has(n))return;if(jF(n))return n;if(!("toJSON"in n)){e.add(n);let o=OD(n)?[]:{};return Rq(n,(s,c)=>{let u=r(s);!LF(u)&&(o[c]=u)}),e.delete(n),o}}return n};return r(t)},Uar=Ib("AsyncFunction"),$ar=t=>t&&(Pq(t)||O0(t))&&O0(t.then)&&O0(t.catch),V6e=((t,e)=>t?setImmediate:e?((r,n)=>(ND.addEventListener("message",({source:o,data:s})=>{o===ND&&s===r&&n.length&&n.shift()()},!1),o=>{n.push(o),ND.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",O0(ND.postMessage)),zar=typeof queueMicrotask<"u"?queueMicrotask.bind(ND):typeof process<"u"&&process.nextTick||V6e,Har=t=>t!=null&&O0(t[GG]),lt={isArray:OD,isArrayBuffer:q6e,isBuffer:jF,isFormData:mar,isArrayBufferView:nar,isString:iar,isNumber:U6e,isBoolean:sar,isObject:Pq,isPlainObject:HG,isEmptyObject:oar,isReadableStream:Aar,isRequest:yar,isResponse:xar,isHeaders:bar,isUndefined:LF,isDate:aar,isFile:car,isReactNativeBlob:uar,isReactNative:lar,isBlob:par,isRegExp:Oar,isFunction:O0,isStream:dar,isURLSearchParams:gar,isTypedArray:Tar,isFileList:far,forEach:Rq,merge:zpe,extend:war,trim:Ear,stripBOM:_ar,inherits:Sar,toFlatObject:Car,kindOf:WG,kindOfTest:Ib,endsWith:Iar,toArray:kar,forEachEntry:Bar,matchAll:Dar,isHTMLForm:Par,hasOwnProperty:Hpe,hasOwnProp:Hpe,reduceDescriptors:H6e,freezeMethods:Far,toObjectSet:Lar,toCamelCase:Rar,noop:jar,toFiniteNumber:Mar,findKey:$6e,global:ND,isContextDefined:z6e,isSpecCompliantForm:Qar,toJSONObject:qar,isAsyncFn:Uar,isThenable:$ar,setImmediate:V6e,asap:zar,isIterable:Har};var Var=lt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),G6e=t=>{let e={},r,n,o;return t&&t.split(`
569
+ `,"f"),ci(this,md,Ve(this,md,"f")+e.join(" "),"f")}}}[Bue](e){dF(Ve(this,Bi,"f")).forEach(r=>{if((o=>o==="configObjects")(r))return;let n=Ve(this,Bi,"f")[r];Array.isArray(n)?n.includes(e)&&n.splice(n.indexOf(e),1):typeof n=="object"&&delete n[e]}),delete Ve(this,Ls,"f").getDescriptions()[e]}[F3e](e,r,n){Ve(this,WV,"f")[n]||(Ve(this,xs,"f").process.emitWarning(e,r),Ve(this,WV,"f")[n]=!0)}[L3e](){Ve(this,YV,"f").push({options:Ve(this,Bi,"f"),configObjects:Ve(this,Bi,"f").configObjects.slice(0),exitProcess:Ve(this,Cv,"f"),groups:Ve(this,Mw,"f"),strict:Ve(this,AD,"f"),strictCommands:Ve(this,yD,"f"),strictOptions:Ve(this,vD,"f"),completionCommand:Ve(this,JA,"f"),output:Ve(this,md,"f"),exitError:Ve(this,ZI,"f"),hasOutput:Ve(this,KA,"f"),parsed:this.parsed,parseFn:Ve(this,XA,"f"),parseContext:Ve(this,mD,"f")}),Ve(this,Ls,"f").freeze(),Ve(this,cp,"f").freeze(),Ve(this,Fp,"f").freeze(),Ve(this,Iv,"f").freeze()}[j3e](){let e="",r;return/\b(node|iojs|electron)(\.exe)?$/.test(Ve(this,xs,"f").process.argv()[0])?r=Ve(this,xs,"f").process.argv().slice(1,2):r=Ve(this,xs,"f").process.argv().slice(0,1),e=r.map(n=>{let o=this[K3e](Ve(this,dD,"f"),n);return n.match(/^(\/|([a-zA-Z]:)?\\)/)&&o.length<n.length?o:n}).join(" ").trim(),Ve(this,xs,"f").getEnv("_")&&Ve(this,xs,"f").getProcessArgvBin()===Ve(this,xs,"f").getEnv("_")&&(e=Ve(this,xs,"f").getEnv("_").replace(`${Ve(this,xs,"f").path.dirname(Ve(this,xs,"f").process.execPath())}/`,"")),e}[xD](){return Ve(this,XV,"f")}[M3e](){return Ve(this,eG,"f")}[Due](){if(!Ve(this,hD,"f"))return;let e=Ve(this,xs,"f").getEnv("LC_ALL")||Ve(this,xs,"f").getEnv("LC_MESSAGES")||Ve(this,xs,"f").getEnv("LANG")||Ve(this,xs,"f").getEnv("LANGUAGE")||"en_US";this.locale(e.replace(/[.:].*/,""))}[Q3e](){return this[Pue]().version||"unknown"}[q3e](e){let r=e["--"]?e["--"]:e._;for(let n=0,o;(o=r[n])!==void 0;n++)Ve(this,xs,"f").Parser.looksLikeNumber(o)&&Number.isSafeInteger(Math.floor(parseFloat(`${o}`)))&&(r[n]=Number(o));return e}[Pue](e){let r=e||"*";if(Ve(this,gF,"f")[r])return Ve(this,gF,"f")[r];let n={};try{let o=e||Ve(this,xs,"f").mainFilename;!e&&Ve(this,xs,"f").path.extname(o)&&(o=Ve(this,xs,"f").path.dirname(o));let s=Ve(this,xs,"f").findUp(o,(c,u)=>{if(u.includes("package.json"))return"package.json"});ig(s,void 0,Ve(this,xs,"f")),n=JSON.parse(Ve(this,xs,"f").readFileSync(s,"utf8"))}catch{}return Ve(this,gF,"f")[r]=n||{},Ve(this,gF,"f")[r]}[tk](e,r){r=[].concat(r),r.forEach(n=>{n=this[Oue](n),Ve(this,Bi,"f")[e].push(n)})}[AF](e,r,n,o){this[Nue](e,r,n,o,(s,c,u)=>{Ve(this,Bi,"f")[s][c]=u})}[Rue](e,r,n,o){this[Nue](e,r,n,o,(s,c,u)=>{Ve(this,Bi,"f")[s][c]=(Ve(this,Bi,"f")[s][c]||[]).concat(u)})}[Nue](e,r,n,o,s){if(Array.isArray(n))n.forEach(c=>{e(c,o)});else if((c=>typeof c=="object")(n))for(let c of dF(n))e(c,n[c]);else s(r,this[Oue](n),o)}[Oue](e){return e==="__proto__"?"___proto___":e}[Fue](e,r){return this[AF](this[Fue].bind(this),"key",e,r),this}[Lue](){var e,r,n,o,s,c,u,p,f,h,g,y;let v=Ve(this,YV,"f").pop();ig(v,void 0,Ve(this,xs,"f"));let A;e=this,r=this,n=this,o=this,s=this,c=this,u=this,p=this,f=this,h=this,g=this,y=this,{options:{set value(S){ci(e,Bi,S,"f")}}.value,configObjects:A,exitProcess:{set value(S){ci(r,Cv,S,"f")}}.value,groups:{set value(S){ci(n,Mw,S,"f")}}.value,output:{set value(S){ci(o,md,S,"f")}}.value,exitError:{set value(S){ci(s,ZI,S,"f")}}.value,hasOutput:{set value(S){ci(c,KA,S,"f")}}.value,parsed:this.parsed,strict:{set value(S){ci(u,AD,S,"f")}}.value,strictCommands:{set value(S){ci(p,yD,S,"f")}}.value,strictOptions:{set value(S){ci(f,vD,S,"f")}}.value,completionCommand:{set value(S){ci(h,JA,S,"f")}}.value,parseFn:{set value(S){ci(g,XA,S,"f")}}.value,parseContext:{set value(S){ci(y,mD,S,"f")}}.value}=v,Ve(this,Bi,"f").configObjects=A,Ve(this,Ls,"f").unfreeze(),Ve(this,cp,"f").unfreeze(),Ve(this,Fp,"f").unfreeze(),Ve(this,Iv,"f").unfreeze()}[U3e](e,r){return fD(r,n=>(e(n),n))}getInternalMethods(){return{getCommandInstance:this[$3e].bind(this),getContext:this[z3e].bind(this),getHasOutput:this[H3e].bind(this),getLoggerInstance:this[V3e].bind(this),getParseContext:this[G3e].bind(this),getParserConfiguration:this[xD].bind(this),getUsageConfiguration:this[M3e].bind(this),getUsageInstance:this[W3e].bind(this),getValidationInstance:this[Y3e].bind(this),hasParseCallback:this[tG].bind(this),isGlobalContext:this[J3e].bind(this),postProcess:this[bD].bind(this),reset:this[jue].bind(this),runValidation:this[Mue].bind(this),runYargsParserAndExecuteCommands:this[R8].bind(this),setHasOutput:this[X3e].bind(this)}}[$3e](){return Ve(this,Fp,"f")}[z3e](){return Ve(this,P8,"f")}[H3e](){return Ve(this,KA,"f")}[V3e](){return Ve(this,mF,"f")}[G3e](){return Ve(this,mD,"f")||{}}[W3e](){return Ve(this,Ls,"f")}[Y3e](){return Ve(this,cp,"f")}[tG](){return!!Ve(this,XA,"f")}[J3e](){return Ve(this,JV,"f")}[bD](e,r,n,o){return n||Mu(e)||(r||(e=this[N3e](e)),(this[xD]()["parse-positional-numbers"]||this[xD]()["parse-positional-numbers"]===void 0)&&(e=this[q3e](e)),o&&(e=pD(e,this,Ve(this,Iv,"f").getMiddleware(),!1))),e}[jue](e={}){ci(this,Bi,Ve(this,Bi,"f")||{},"f");let r={};r.local=Ve(this,Bi,"f").local||[],r.configObjects=Ve(this,Bi,"f").configObjects||[];let n={};r.local.forEach(c=>{n[c]=!0,(e[c]||[]).forEach(u=>{n[u]=!0})}),Object.assign(Ve(this,gD,"f"),Object.keys(Ve(this,Mw,"f")).reduce((c,u)=>{let p=Ve(this,Mw,"f")[u].filter(f=>!(f in n));return p.length>0&&(c[u]=p),c},{})),ci(this,Mw,{},"f");let o=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],s=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];return o.forEach(c=>{r[c]=(Ve(this,Bi,"f")[c]||[]).filter(u=>!n[u])}),s.forEach(c=>{r[c]=KI(Ve(this,Bi,"f")[c],u=>!n[u])}),r.envPrefix=Ve(this,Bi,"f").envPrefix,ci(this,Bi,r,"f"),ci(this,Ls,Ve(this,Ls,"f")?Ve(this,Ls,"f").reset(n):I3e(this,Ve(this,xs,"f")),"f"),ci(this,cp,Ve(this,cp,"f")?Ve(this,cp,"f").reset(n):R3e(this,Ve(this,Ls,"f"),Ve(this,xs,"f")),"f"),ci(this,Fp,Ve(this,Fp,"f")?Ve(this,Fp,"f").reset():_3e(Ve(this,Ls,"f"),Ve(this,cp,"f"),Ve(this,Iv,"f"),Ve(this,xs,"f")),"f"),Ve(this,Sv,"f")||ci(this,Sv,B3e(this,Ve(this,Ls,"f"),Ve(this,Fp,"f"),Ve(this,xs,"f")),"f"),Ve(this,Iv,"f").reset(),ci(this,JA,null,"f"),ci(this,md,"","f"),ci(this,ZI,null,"f"),ci(this,KA,!1,"f"),this.parsed=!1,this}[K3e](e,r){return Ve(this,xs,"f").path.relative(e,r)}[R8](e,r,n,o=0,s=!1){let c=!!n||s;e=e||Ve(this,ek,"f"),Ve(this,Bi,"f").__=Ve(this,xs,"f").y18n.__,Ve(this,Bi,"f").configuration=this[xD]();let u=!!Ve(this,Bi,"f").configuration["populate--"],p=Object.assign({},Ve(this,Bi,"f").configuration,{"populate--":!0}),f=Ve(this,xs,"f").Parser.detailed(e,Object.assign({},Ve(this,Bi,"f"),{configuration:{"parse-positional-numbers":!1,...p}})),h=Object.assign(f.argv,Ve(this,mD,"f")),g,y=f.aliases,v=!1,A=!1;Object.keys(h).forEach(S=>{S===Ve(this,kv,"f")&&h[S]?v=!0:S===Ve(this,Qw,"f")&&h[S]&&(A=!0)}),h.$0=this.$0,this.parsed=f,o===0&&Ve(this,Ls,"f").clearCachedHelpMessage();try{if(this[Due](),r)return this[bD](h,u,!!n,!1);Ve(this,kv,"f")&&[Ve(this,kv,"f")].concat(y[Ve(this,kv,"f")]||[]).filter(j=>j.length>1).includes(""+h._[h._.length-1])&&(h._.pop(),v=!0),ci(this,JV,!1,"f");let S=Ve(this,Fp,"f").getCommands(),E=Ve(this,Sv,"f").completionKey in h,k=v||E||s;if(h._.length){if(S.length){let P;for(let j=o||0,F;h._[j]!==void 0;j++)if(F=String(h._[j]),S.includes(F)&&F!==Ve(this,JA,"f")){let z=Ve(this,Fp,"f").runCommand(F,this,f,j+1,s,v||A||s);return this[bD](z,u,!!n,!1)}else if(!P&&F!==Ve(this,JA,"f")){P=F;break}!Ve(this,Fp,"f").hasDefaultCommand()&&Ve(this,ZV,"f")&&P&&!k&&Ve(this,cp,"f").recommendCommands(P,S)}Ve(this,JA,"f")&&h._.includes(Ve(this,JA,"f"))&&!E&&(Ve(this,Cv,"f")&&XI(!0),this.showCompletionScript(),this.exit(0))}if(Ve(this,Fp,"f").hasDefaultCommand()&&!k){let P=Ve(this,Fp,"f").runCommand(null,this,f,0,s,v||A||s);return this[bD](P,u,!!n,!1)}if(E){Ve(this,Cv,"f")&&XI(!0),e=[].concat(e);let P=e.slice(e.indexOf(`--${Ve(this,Sv,"f").completionKey}`)+1);return Ve(this,Sv,"f").getCompletion(P,(j,F)=>{if(j)throw new ju(j.message);(F||[]).forEach(z=>{Ve(this,mF,"f").log(z)}),this.exit(0)}),this[bD](h,!u,!!n,!1)}if(Ve(this,KA,"f")||(v?(Ve(this,Cv,"f")&&XI(!0),c=!0,this.showHelp("log"),this.exit(0)):A&&(Ve(this,Cv,"f")&&XI(!0),c=!0,Ve(this,Ls,"f").showVersion("log"),this.exit(0))),!c&&Ve(this,Bi,"f").skipValidation.length>0&&(c=Object.keys(h).some(P=>Ve(this,Bi,"f").skipValidation.indexOf(P)>=0&&h[P]===!0)),!c){if(f.error)throw new ju(f.error.message);if(!E){let P=this[Mue](y,{},f.error);n||(g=pD(h,this,Ve(this,Iv,"f").getMiddleware(),!0)),g=this[U3e](P,g!=null?g:h),Mu(g)&&!n&&(g=g.then(()=>pD(h,this,Ve(this,Iv,"f").getMiddleware(),!1)))}}}catch(S){if(S instanceof ju)Ve(this,Ls,"f").fail(S.message,S);else throw S}return this[bD](g!=null?g:h,u,!!n,!0)}[Mue](e,r,n,o){let s={...this.getDemandedOptions()};return c=>{if(n)throw new ju(n.message);Ve(this,cp,"f").nonOptionCount(c),Ve(this,cp,"f").requiredArguments(c,s);let u=!1;Ve(this,yD,"f")&&(u=Ve(this,cp,"f").unknownCommands(c)),Ve(this,AD,"f")&&!u?Ve(this,cp,"f").unknownArguments(c,e,r,!!o):Ve(this,vD,"f")&&Ve(this,cp,"f").unknownArguments(c,e,{},!1,!1),Ve(this,cp,"f").limitedChoices(c),Ve(this,cp,"f").implications(c),Ve(this,cp,"f").conflicting(c)}}[X3e](){ci(this,KA,!0,"f")}[ED](e){if(typeof e=="string")Ve(this,Bi,"f").key[e]=!0;else for(let r of e)Ve(this,Bi,"f").key[r]=!0}};function S3e(t){return!!t&&typeof t.getInternalMethods=="function"}var rrr=Z3e(_ue),eMe=rrr;var yb={name:"edgeone",version:"1.6.26",description:"Command-line interface for TencentCloud Pages Functions",bin:{edgeone:"./edgeone-bin/edgeone.js"},files:["./edgeone-bin/edgeone.js","./edgeone-dist/cli.js","./edgeone-dist/pages/templates","./edgeone-dist/pages/dev/runner-worker.js","./edgeone-dist/pages/observability-python/**","./edgeone-dist/libs-pages-blob-python/**","./edgeone-dist/libs-pages-agent-toolkit/**","./edgeone-dist/studio/**","./libs-pages-blob-python/**","./libs-pages-agent-toolkit/**"],author:"",keywords:["tencent","edgeone","edgefunctions","edgeone","cli","typescript"],scripts:{clean:"rimraf ./edgeone-dist ./edgeone-bin ./libs-node-ai ./libs-kv-client",bundle:"node -r esbuild-register ./scripts/bundle.ts",watch:"node -r esbuild-register ./scripts/bundle.ts watch",build:"npm run clean && npm run build:pages-ai && npm run build:kv-client && npm run prepare:blob-wheel && npm run prepare:agent-toolkit-wheel && npm run bundle","build:pages-ai":"node ./scripts/build-pages-ai.js","build:kv-client":"node ./scripts/build-kv-client.js","prepare:blob-wheel":"node ./scripts/prepare-pages-blob-wheel.js","prepare:agent-toolkit-wheel":"node ./scripts/prepare-pages-agent-toolkit-wheel.js","verify:publish-assets":"node ./scripts/verify-publish-assets.js","upload:agent-version-manifest":"node ./scripts/upload-agent-version-manifest.js",format:'prettier --write "src/**/*.{ts,tsx,js,jsx,json,md}" "scripts/**/*.{ts,js}" "*.{json,md}"',prepack:"npm run build && npm run verify:publish-assets",prepublishOnly:"npm run build && npm run verify:publish-assets",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","test:observability":"vitest run --config src/agent/observability/node/tests/vitest.config.ts && cd src/agent/observability/python && uv run pytest tests/ -q"},dependencies:{"@edgeone/framework-detect":"^0.0.2","@edgeone/is-spa":"^0.0.3","@edgeone/nuxt-pages":"1.1.0","@edgeone/opennextjs-pages":"0.2.10","@edgeone/pages-agent-toolkit":"^0.1.34","@edgeone/pages-blob":"^0.0.16",archiver:"^7.0.1",chokidar:"^4.0.1","common-path-prefix":"^1.0.0","cos-nodejs-sdk-v5":"^2.14.7","cross-spawn":"^7.0.6",crypto:"^1.0.1","detect-port":"^2.1.0",esbuild:"^0.19.2","esbuild-plugin-polyfill-node":"^0.3.0","esbuild-plugin-vue":"^0.2.4","fast-glob":"^3.3.0","fs-extra":"^11.3.1",giget:"^2.0.0","ink-table":"^3.1.0",inquirer:"^8.2.4",install:"^0.13.0",lodash:"^4.17.21","mime-types":"^3.0.1",minimatch:"^9.0.5","node-persist":"^4.0.3",npm:"^10.9.1",open:"^8.4.2","p-map":"^5.5.0","parse-gitignore":"^2.0.0",portfinder:"^1.0.32",undici:"^5.29.0",vitest:"^4.0.17"},devDependencies:{"@babel/generator":"^7.28.0","@babel/parser":"^7.28.0","@babel/traverse":"^7.28.0","@babel/types":"^7.28.0","@opentelemetry/api":"^1.9.1","@opentelemetry/core":"^1.30.1","@opentelemetry/exporter-metrics-otlp-http":"^0.55.0","@opentelemetry/exporter-trace-otlp-http":"^0.55.0","@opentelemetry/instrumentation":"^0.55.0","@opentelemetry/otlp-transformer":"^0.55.0","@opentelemetry/resources":"^1.30.1","@opentelemetry/sdk-metrics":"^1.30.1","@opentelemetry/sdk-trace-base":"^1.30.1","@opentelemetry/sdk-trace-node":"^1.30.1","@opentelemetry/semantic-conventions":"^1.40.0","@tencent/capi-nodejs-sdk":"^2.3.2","@types/http-proxy":"^1.17.12","@types/inquirer":"^9.0.8","@types/ip":"^1.1.0","@types/lodash":"^4.14.198","@types/prompts":"^2.4.4","@types/react":"^17.0.2","@types/uuid":"^9.0.3","@types/ws":"^8.5.7","@types/yargs":"^17.0.24","@vitest/coverage-v8":"^4.0.17",axios:"^1.7.9",chalk:"^5.3.0",cookie:"^1.0.2",dotenv:"^16.3.1","esbuild-register":"^3.6.0",execa:"^7.1.1","http-proxy":"^1.18.1",husky:"^8.0.3",ink:"^3.2.0",ip:"^2.0.1",json5:"^2.2.3","lint-staged":"^15.2.0",lodash:"^4.17.21",moment:"^2.30.1","node-fetch":"^3.3.2",prettier:"^3.1.1",prompts:"^2.4.2",protobufjs:"^8.4.2",react:"^17.0.2",rimraf:"^6.0.1",semiver:"^1.1.0",sirv:"^2.0.3","tencentcloud-cls-sdk-js-web":"^1.0.13","ts-node":"^10.9.2",typescript:"^5.9.3","update-check":"^1.5.4",uuid:"^9.0.0",ws:"^8.14.2",yargs:"^17.6.2",zod:"^3.23.8","zod-to-json-schema":"^3.23.5"},engines:{node:">=12"},"lint-staged":{"*.{ts,tsx,js,jsx,json,md}":["prettier --write"]}};var Lde=Bt(Wc()),jde=Bt(NF()),Mde=Bt($pe());function Dq(t,e){return function(){return t.apply(e,arguments)}}var{toString:rar}=Object.prototype,{getPrototypeOf:VG}=Object,{iterator:GG,toStringTag:Q6e}=Symbol,WG=(t=>e=>{let r=rar.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),Ib=t=>(t=t.toLowerCase(),e=>WG(e)===t),YG=t=>e=>typeof e===t,{isArray:OD}=Array,LF=YG("undefined");function jF(t){return t!==null&&!LF(t)&&t.constructor!==null&&!LF(t.constructor)&&O0(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var q6e=Ib("ArrayBuffer");function nar(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&q6e(t.buffer),e}var iar=YG("string"),O0=YG("function"),U6e=YG("number"),Pq=t=>t!==null&&typeof t=="object",sar=t=>t===!0||t===!1,HG=t=>{if(WG(t)!=="object")return!1;let e=VG(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Q6e in t)&&!(GG in t)},oar=t=>{if(!Pq(t)||jF(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},aar=Ib("Date"),car=Ib("File"),uar=t=>!!(t&&typeof t.uri<"u"),lar=t=>t&&typeof t.getParts<"u",par=Ib("Blob"),far=Ib("FileList"),dar=t=>Pq(t)&&O0(t.pipe);function har(){return typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}var j6e=har(),M6e=typeof j6e.FormData<"u"?j6e.FormData:void 0,mar=t=>{if(!t)return!1;if(M6e&&t instanceof M6e)return!0;let e=VG(t);if(!e||e===Object.prototype||!O0(t.append))return!1;let r=WG(t);return r==="formdata"||r==="object"&&O0(t.toString)&&t.toString()==="[object FormData]"},gar=Ib("URLSearchParams"),[Aar,yar,xar,bar]=["ReadableStream","Request","Response","Headers"].map(Ib),Ear=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Rq(t,e,{allOwnKeys:r=!1}={}){if(t===null||typeof t>"u")return;let n,o;if(typeof t!="object"&&(t=[t]),OD(t))for(n=0,o=t.length;n<o;n++)e.call(null,t[n],n,t);else{if(jF(t))return;let s=r?Object.getOwnPropertyNames(t):Object.keys(t),c=s.length,u;for(n=0;n<c;n++)u=s[n],e.call(null,t[u],u,t)}}function $6e(t,e){if(jF(t))return null;e=e.toLowerCase();let r=Object.keys(t),n=r.length,o;for(;n-- >0;)if(o=r[n],e===o.toLowerCase())return o;return null}var ND=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,z6e=t=>!LF(t)&&t!==ND;function zpe(...t){let{caseless:e,skipUndefined:r}=z6e(this)&&this||{},n={},o=(s,c)=>{if(c==="__proto__"||c==="constructor"||c==="prototype")return;let u=e&&typeof c=="string"&&$6e(n,c)||c,p=Hpe(n,u)?n[u]:void 0;HG(p)&&HG(s)?n[u]=zpe(p,s):HG(s)?n[u]=zpe({},s):OD(s)?n[u]=s.slice():(!r||!LF(s))&&(n[u]=s)};for(let s=0,c=t.length;s<c;s++){let u=t[s];if(!u||jF(u)||(Rq(u,o),typeof u!="object"||OD(u)))continue;let p=Object.getOwnPropertySymbols(u);for(let f=0;f<p.length;f++){let h=p[f];Nar.call(u,h)&&o(u[h],h)}}return n}var war=(t,e,r,{allOwnKeys:n}={})=>(Rq(e,(o,s)=>{r&&O0(o)?Object.defineProperty(t,s,{__proto__:null,value:Dq(o,r),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,s,{__proto__:null,value:o,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:n}),t),_ar=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Sar=(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),Object.defineProperty(t.prototype,"constructor",{__proto__:null,value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{__proto__:null,value:e.prototype}),r&&Object.assign(t.prototype,r)},Car=(t,e,r,n)=>{let o,s,c,u={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),s=o.length;s-- >0;)c=o[s],(!n||n(c,t,e))&&!u[c]&&(e[c]=t[c],u[c]=!0);t=r!==!1&&VG(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},Iar=(t,e,r)=>{t=String(t),(r===void 0||r>t.length)&&(r=t.length),r-=e.length;let n=t.indexOf(e,r);return n!==-1&&n===r},kar=t=>{if(!t)return null;if(OD(t))return t;let e=t.length;if(!U6e(e))return null;let r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},Tar=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&VG(Uint8Array)),Bar=(t,e)=>{let n=(t&&t[GG]).call(t),o;for(;(o=n.next())&&!o.done;){let s=o.value;e.call(t,s[0],s[1])}},Dar=(t,e)=>{let r,n=[];for(;(r=t.exec(e))!==null;)n.push(r);return n},Par=Ib("HTMLFormElement"),Rar=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),Hpe=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),{propertyIsEnumerable:Nar}=Object.prototype,Oar=Ib("RegExp"),H6e=(t,e)=>{let r=Object.getOwnPropertyDescriptors(t),n={};Rq(r,(o,s)=>{let c;(c=e(o,s,t))!==!1&&(n[s]=c||o)}),Object.defineProperties(t,n)},Far=t=>{H6e(t,(e,r)=>{if(O0(t)&&["arguments","caller","callee"].includes(r))return!1;let n=t[r];if(O0(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},Lar=(t,e)=>{let r={},n=o=>{o.forEach(s=>{r[s]=!0})};return OD(t)?n(t):n(String(t).split(e)),r},jar=()=>{},Mar=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function Qar(t){return!!(t&&O0(t.append)&&t[Q6e]==="FormData"&&t[GG])}var qar=t=>{let e=new WeakSet,r=n=>{if(Pq(n)){if(e.has(n))return;if(jF(n))return n;if(!("toJSON"in n)){e.add(n);let o=OD(n)?[]:{};return Rq(n,(s,c)=>{let u=r(s);!LF(u)&&(o[c]=u)}),e.delete(n),o}}return n};return r(t)},Uar=Ib("AsyncFunction"),$ar=t=>t&&(Pq(t)||O0(t))&&O0(t.then)&&O0(t.catch),V6e=((t,e)=>t?setImmediate:e?((r,n)=>(ND.addEventListener("message",({source:o,data:s})=>{o===ND&&s===r&&n.length&&n.shift()()},!1),o=>{n.push(o),ND.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",O0(ND.postMessage)),zar=typeof queueMicrotask<"u"?queueMicrotask.bind(ND):typeof process<"u"&&process.nextTick||V6e,Har=t=>t!=null&&O0(t[GG]),lt={isArray:OD,isArrayBuffer:q6e,isBuffer:jF,isFormData:mar,isArrayBufferView:nar,isString:iar,isNumber:U6e,isBoolean:sar,isObject:Pq,isPlainObject:HG,isEmptyObject:oar,isReadableStream:Aar,isRequest:yar,isResponse:xar,isHeaders:bar,isUndefined:LF,isDate:aar,isFile:car,isReactNativeBlob:uar,isReactNative:lar,isBlob:par,isRegExp:Oar,isFunction:O0,isStream:dar,isURLSearchParams:gar,isTypedArray:Tar,isFileList:far,forEach:Rq,merge:zpe,extend:war,trim:Ear,stripBOM:_ar,inherits:Sar,toFlatObject:Car,kindOf:WG,kindOfTest:Ib,endsWith:Iar,toArray:kar,forEachEntry:Bar,matchAll:Dar,isHTMLForm:Par,hasOwnProperty:Hpe,hasOwnProp:Hpe,reduceDescriptors:H6e,freezeMethods:Far,toObjectSet:Lar,toCamelCase:Rar,noop:jar,toFiniteNumber:Mar,findKey:$6e,global:ND,isContextDefined:z6e,isSpecCompliantForm:Qar,toJSONObject:qar,isAsyncFn:Uar,isThenable:$ar,setImmediate:V6e,asap:zar,isIterable:Har};var Var=lt.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),G6e=t=>{let e={},r,n,o;return t&&t.split(`
570
570
  `).forEach(function(c){o=c.indexOf(":"),r=c.substring(0,o).trim().toLowerCase(),n=c.substring(o+1).trim(),!(!r||e[r]&&Var[r])&&(r==="set-cookie"?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)}),e};function Gar(t){let e=0,r=t.length;for(;e<r;){let n=t.charCodeAt(e);if(n!==9&&n!==32)break;e+=1}for(;r>e;){let n=t.charCodeAt(r-1);if(n!==9&&n!==32)break;r-=1}return e===0&&r===t.length?t:t.slice(e,r)}var War=new RegExp("[\\u0000-\\u0008\\u000a-\\u001f\\u007f]+","g"),Yar=new RegExp("[^\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+","g");function Vpe(t,e){return lt.isArray(t)?t.map(r=>Vpe(r,e)):Gar(String(t).replace(e,""))}var W6e=t=>Vpe(t,War),Jar=t=>Vpe(t,Yar);function MF(t){let e=Object.create(null);return lt.forEach(t.toJSON(),(r,n)=>{e[n]=Jar(r)}),e}var Y6e=Symbol("internals");function Nq(t){return t&&String(t).trim().toLowerCase()}function JG(t){return t===!1||t==null?t:lt.isArray(t)?t.map(JG):W6e(String(t))}function Kar(t){let e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}var Xar=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Gpe(t,e,r,n,o){if(lt.isFunction(n))return n.call(this,e,r);if(o&&(e=r),!!lt.isString(e)){if(lt.isString(n))return e.indexOf(n)!==-1;if(lt.isRegExp(n))return n.test(e)}}function Zar(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,r,n)=>r.toUpperCase()+n)}function ecr(t,e){let r=lt.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+r,{__proto__:null,value:function(o,s,c){return this[n].call(this,e,o,s,c)},configurable:!0})})}var QF=class{constructor(e){e&&this.set(e)}set(e,r,n){let o=this;function s(u,p,f){let h=Nq(p);if(!h)return;let g=lt.findKey(o,h);(!g||o[g]===void 0||f===!0||f===void 0&&o[g]!==!1)&&(o[g||p]=JG(u))}let c=(u,p)=>lt.forEach(u,(f,h)=>s(f,h,p));if(lt.isPlainObject(e)||e instanceof this.constructor)c(e,r);else if(lt.isString(e)&&(e=e.trim())&&!Xar(e))c(G6e(e),r);else if(lt.isObject(e)&&lt.isIterable(e)){let u={},p,f;for(let h of e){if(!lt.isArray(h))throw new TypeError("Object iterator must return a key-value pair");u[f=h[0]]=(p=u[f])?lt.isArray(p)?[...p,h[1]]:[p,h[1]]:h[1]}c(u,r)}else e!=null&&s(r,e,n);return this}get(e,r){if(e=Nq(e),e){let n=lt.findKey(this,e);if(n){let o=this[n];if(!r)return o;if(r===!0)return Kar(o);if(lt.isFunction(r))return r.call(this,o,n);if(lt.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,r){if(e=Nq(e),e){let n=lt.findKey(this,e);return!!(n&&this[n]!==void 0&&(!r||Gpe(this,this[n],n,r)))}return!1}delete(e,r){let n=this,o=!1;function s(c){if(c=Nq(c),c){let u=lt.findKey(n,c);u&&(!r||Gpe(n,n[u],u,r))&&(delete n[u],o=!0)}}return lt.isArray(e)?e.forEach(s):s(e),o}clear(e){let r=Object.keys(this),n=r.length,o=!1;for(;n--;){let s=r[n];(!e||Gpe(this,this[s],s,e,!0))&&(delete this[s],o=!0)}return o}normalize(e){let r=this,n={};return lt.forEach(this,(o,s)=>{let c=lt.findKey(n,s);if(c){r[c]=JG(o),delete r[s];return}let u=e?Zar(s):String(s).trim();u!==s&&delete r[s],r[u]=JG(o),n[u]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let r=Object.create(null);return lt.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=e&&lt.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,r])=>e+": "+r).join(`
571
571
  `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...r){let n=new this(e);return r.forEach(o=>n.set(o)),n}static accessor(e){let n=(this[Y6e]=this[Y6e]={accessors:{}}).accessors,o=this.prototype;function s(c){let u=Nq(c);n[u]||(ecr(o,c),n[u]=!0)}return lt.isArray(e)?e.forEach(s):s(e),this}};QF.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);lt.reduceDescriptors(QF.prototype,({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(n){this[r]=n}}});lt.freezeMethods(QF);var qu=QF;var tcr="[REDACTED ****]";function rcr(t){if(lt.hasOwnProp(t,"toJSON"))return!0;let e=Object.getPrototypeOf(t);for(;e&&e!==Object.prototype;){if(lt.hasOwnProp(e,"toJSON"))return!0;e=Object.getPrototypeOf(e)}return!1}function ncr(t,e){let r=new Set(e.map(s=>String(s).toLowerCase())),n=[],o=s=>{if(s===null||typeof s!="object"||lt.isBuffer(s))return s;if(n.indexOf(s)!==-1)return;s instanceof qu&&(s=s.toJSON()),n.push(s);let c;if(lt.isArray(s))c=[],s.forEach((u,p)=>{let f=o(u);lt.isUndefined(f)||(c[p]=f)});else{if(!lt.isPlainObject(s)&&rcr(s))return n.pop(),s;c=Object.create(null);for(let[u,p]of Object.entries(s)){let f=r.has(u.toLowerCase())?tcr:o(p);lt.isUndefined(f)||(c[u]=f)}}return n.pop(),c};return o(t)}var ph=class t extends Error{static from(e,r,n,o,s,c){let u=new t(e.message,r||e.code,n,o,s);return u.cause=e,u.name=e.name,e.status!=null&&u.status==null&&(u.status=e.status),c&&Object.assign(u,c),u}constructor(e,r,n,o,s){super(e),Object.defineProperty(this,"message",{__proto__:null,value:e,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,r&&(this.code=r),n&&(this.config=n),o&&(this.request=o),s&&(this.response=s,this.status=s.status)}toJSON(){let e=this.config,r=e&&lt.hasOwnProp(e,"redact")?e.redact:void 0,n=lt.isArray(r)&&r.length>0?ncr(e,r):lt.toJSONObject(e);return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:n,code:this.code,status:this.status}}};ph.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE";ph.ERR_BAD_OPTION="ERR_BAD_OPTION";ph.ECONNABORTED="ECONNABORTED";ph.ETIMEDOUT="ETIMEDOUT";ph.ECONNREFUSED="ECONNREFUSED";ph.ERR_NETWORK="ERR_NETWORK";ph.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS";ph.ERR_DEPRECATED="ERR_DEPRECATED";ph.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE";ph.ERR_BAD_REQUEST="ERR_BAD_REQUEST";ph.ERR_CANCELED="ERR_CANCELED";ph.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT";ph.ERR_INVALID_URL="ERR_INVALID_URL";ph.ERR_FORM_DATA_DEPTH_EXCEEDED="ERR_FORM_DATA_DEPTH_EXCEEDED";var Jr=ph;var K5e=Bt(J5e(),1),cW=K5e.default;function mfe(t){return lt.isPlainObject(t)||lt.isArray(t)}function X5e(t){return lt.endsWith(t,"[]")?t.slice(0,-2):t}function hfe(t,e,r){return t?t.concat(e).map(function(o,s){return o=X5e(o),!r&&s?"["+o+"]":o}).join(r?".":""):e}function Uur(t){return lt.isArray(t)&&!t.some(mfe)}var $ur=lt.toFlatObject(lt,{},null,function(e){return/^is[A-Z]/.test(e)});function zur(t,e,r){if(!lt.isObject(t))throw new TypeError("target must be an object");e=e||new(cW||FormData),r=lt.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(E,k){return!lt.isUndefined(k[E])});let n=r.metaTokens,o=r.visitor||g,s=r.dots,c=r.indexes,u=r.Blob||typeof Blob<"u"&&Blob,p=r.maxDepth===void 0?100:r.maxDepth,f=u&&lt.isSpecCompliantForm(e);if(!lt.isFunction(o))throw new TypeError("visitor must be a function");function h(S){if(S===null)return"";if(lt.isDate(S))return S.toISOString();if(lt.isBoolean(S))return S.toString();if(!f&&lt.isBlob(S))throw new Jr("Blob is not supported. Use a Buffer instead.");return lt.isArrayBuffer(S)||lt.isTypedArray(S)?f&&typeof Blob=="function"?new Blob([S]):Buffer.from(S):S}function g(S,E,k){let P=S;if(lt.isReactNative(e)&&lt.isReactNativeBlob(S))return e.append(hfe(k,E,s),h(S)),!1;if(S&&!k&&typeof S=="object"){if(lt.endsWith(E,"{}"))E=n?E:E.slice(0,-2),S=JSON.stringify(S);else if(lt.isArray(S)&&Uur(S)||(lt.isFileList(S)||lt.endsWith(E,"[]"))&&(P=lt.toArray(S)))return E=X5e(E),P.forEach(function(F,z){!(lt.isUndefined(F)||F===null)&&e.append(c===!0?hfe([E],z,s):c===null?E:E+"[]",h(F))}),!1}return mfe(S)?!0:(e.append(hfe(k,E,s),h(S)),!1)}let y=[],v=Object.assign($ur,{defaultVisitor:g,convertValue:h,isVisitable:mfe});function A(S,E,k=0){if(!lt.isUndefined(S)){if(k>p)throw new Jr("Object is too deeply nested ("+k+" levels). Max depth: "+p,Jr.ERR_FORM_DATA_DEPTH_EXCEEDED);if(y.indexOf(S)!==-1)throw new Error("Circular reference detected in "+E.join("."));y.push(S),lt.forEach(S,function(j,F){(!(lt.isUndefined(j)||j===null)&&o.call(e,j,lt.isString(F)?F.trim():F,E,v))===!0&&A(j,E?E.concat(F):[F],k+1)}),y.pop()}}if(!lt.isObject(t))throw new TypeError("data must be an object");return A(t),e}var ck=zur;function Z5e(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"};return encodeURIComponent(t).replace(/[!'()~]|%20/g,function(n){return e[n]})}function e9e(t,e){this._pairs=[],t&&ck(t,this,e)}var t9e=e9e.prototype;t9e.append=function(e,r){this._pairs.push([e,r])};t9e.toString=function(e){let r=e?function(n){return e.call(this,n,Z5e)}:Z5e;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};var r9e=e9e;function Hur(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function LD(t,e,r){if(!e)return t;let n=r&&r.encode||Hur,o=lt.isFunction(r)?{serialize:r}:r,s=o&&o.serialize,c;if(s?c=s(e,o):c=lt.isURLSearchParams(e)?e.toString():new r9e(e,o).toString(n),c){let u=t.indexOf("#");u!==-1&&(t=t.slice(0,u)),t+=(t.indexOf("?")===-1?"?":"&")+c}return t}var gfe=class{constructor(){this.handlers=[]}use(e,r,n){return this.handlers.push({fulfilled:e,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){lt.forEach(this.handlers,function(n){n!==null&&e(n)})}},Afe=gfe;var uk={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0,advertiseZstdAcceptEncoding:!1};var o9e=Bt(require("crypto"),1);var n9e=Bt(require("url"),1),i9e=n9e.default.URLSearchParams;var yfe="abcdefghijklmnopqrstuvwxyz",s9e="0123456789",a9e={DIGIT:s9e,ALPHA:yfe,ALPHA_DIGIT:yfe+yfe.toUpperCase()+s9e},Vur=(t=16,e=a9e.ALPHA_DIGIT)=>{let r="",{length:n}=e,o=new Uint32Array(t);o9e.default.randomFillSync(o);for(let s=0;s<t;s++)r+=e[o[s]%n];return r},c9e={isNode:!0,classes:{URLSearchParams:i9e,FormData:cW,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:a9e,generateString:Vur,protocols:["http","https","file","data"]};var bfe={};pue(bfe,{hasBrowserEnv:()=>xfe,hasStandardBrowserEnv:()=>Gur,hasStandardBrowserWebWorkerEnv:()=>Wur,navigator:()=>vfe,origin:()=>Yur});var xfe=typeof window<"u"&&typeof document<"u",vfe=typeof navigator=="object"&&navigator||void 0,Gur=xfe&&(!vfe||["ReactNative","NativeScript","NS"].indexOf(vfe.product)<0),Wur=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Yur=xfe&&window.location.href||"http://localhost";var Va={...bfe,...c9e};function Efe(t,e){return ck(t,new Va.classes.URLSearchParams,{visitor:function(r,n,o,s){return Va.isNode&&lt.isBuffer(r)?(this.append(n,r.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...e})}function Jur(t){return lt.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Kur(t){let e={},r=Object.keys(t),n,o=r.length,s;for(n=0;n<o;n++)s=r[n],e[s]=t[s];return e}function Xur(t){function e(r,n,o,s){let c=r[s++];if(c==="__proto__")return!0;let u=Number.isFinite(+c),p=s>=r.length;return c=!c&&lt.isArray(o)?o.length:c,p?(lt.hasOwnProp(o,c)?o[c]=lt.isArray(o[c])?o[c].concat(n):[o[c],n]:o[c]=n,!u):((!lt.hasOwnProp(o,c)||!lt.isObject(o[c]))&&(o[c]=[]),e(r,n,o[c],s)&&lt.isArray(o[c])&&(o[c]=Kur(o[c])),!u)}if(lt.isFormData(t)&&lt.isFunction(t.entries)){let r={};return lt.forEachEntry(t,(n,o)=>{e(Jur(n),o,r,0)}),r}return null}var uW=Xur;var HF=(t,e)=>t!=null&&lt.hasOwnProp(t,e)?t[e]:void 0;function Zur(t,e,r){if(lt.isString(t))try{return(e||JSON.parse)(t),lt.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(t)}var wfe={transitional:uk,adapter:["xhr","http","fetch"],transformRequest:[function(e,r){let n=r.getContentType()||"",o=n.indexOf("application/json")>-1,s=lt.isObject(e);if(s&&lt.isHTMLForm(e)&&(e=new FormData(e)),lt.isFormData(e))return o?JSON.stringify(uW(e)):e;if(lt.isArrayBuffer(e)||lt.isBuffer(e)||lt.isStream(e)||lt.isFile(e)||lt.isBlob(e)||lt.isReadableStream(e))return e;if(lt.isArrayBufferView(e))return e.buffer;if(lt.isURLSearchParams(e))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let u;if(s){let p=HF(this,"formSerializer");if(n.indexOf("application/x-www-form-urlencoded")>-1)return Efe(e,p).toString();if((u=lt.isFileList(e))||n.indexOf("multipart/form-data")>-1){let f=HF(this,"env"),h=f&&f.FormData;return ck(u?{"files[]":e}:e,h&&new h,p)}}return s||o?(r.setContentType("application/json",!1),Zur(e)):e}],transformResponse:[function(e){let r=HF(this,"transitional")||wfe.transitional,n=r&&r.forcedJSONParsing,o=HF(this,"responseType"),s=o==="json";if(lt.isResponse(e)||lt.isReadableStream(e))return e;if(e&&lt.isString(e)&&(n&&!o||s)){let u=!(r&&r.silentJSONParsing)&&s;try{return JSON.parse(e,HF(this,"parseReviver"))}catch(p){if(u)throw p.name==="SyntaxError"?Jr.from(p,Jr.ERR_BAD_RESPONSE,this,null,HF(this,"response")):p}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Va.classes.FormData,Blob:Va.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};lt.forEach(["delete","get","head","post","put","patch","query"],t=>{wfe.headers[t]={}});var VF=wfe;function Mq(t,e){let r=this||VF,n=e||r,o=qu.from(n.headers),s=n.data;return lt.forEach(t,function(u){s=u.call(r,s,o.normalize(),e?e.status:void 0)}),o.normalize(),s}function Qq(t){return!!(t&&t.__CANCEL__)}var _fe=class extends Jr{constructor(e,r,n){super(e==null?"canceled":e,Jr.ERR_CANCELED,r,n),this.name="CanceledError",this.__CANCEL__=!0}},ty=_fe;function Hw(t,e,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?t(r):e(new Jr("Request failed with status code "+r.status,r.status>=400&&r.status<500?Jr.ERR_BAD_REQUEST:Jr.ERR_BAD_RESPONSE,r.config,r.request,r))}function Sfe(t){return typeof t!="string"?!1:/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Cfe(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function jD(t,e,r){let n=!Sfe(e);return t&&(n||r===!1)?Cfe(t,e):e}var elr={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443};function tlr(t){try{return new URL(t)}catch{return null}}function u9e(t){var e=(typeof t=="string"?tlr(t):t)||{},r=e.protocol,n=e.host,o=e.port;if(typeof n!="string"||!n||typeof r!="string"||(r=r.split(":",1)[0],n=n.replace(/:\d*$/,""),o=parseInt(o)||elr[r]||0,!rlr(n,o)))return"";var s=Ife(r+"_proxy")||Ife("all_proxy");return s&&s.indexOf("://")===-1&&(s=r+"://"+s),s}function rlr(t,e){var r=Ife("no_proxy").toLowerCase();return r?r==="*"?!1:r.split(/[,\s]/).every(function(n){if(!n)return!0;var o=n.match(/^(.+):(\d+)$/),s=o?o[1]:n,c=o?parseInt(o[2]):0;return c&&c!==e?!0:/^[.*]/.test(s)?(s.charAt(0)==="*"&&(s=s.slice(1)),!t.endsWith(s)):t!==s}):!0}function Ife(t){return process.env[t.toLowerCase()]||process.env[t.toUpperCase()]||""}var sde=Bt(S9e(),1),t7e=Bt(require("http"),1),r7e=Bt(require("https"),1),n7e=Bt(require("http2"),1),i7e=Bt(require("util"),1),ide=require("path"),s7e=Bt(Yfe(),1),ry=Bt(require("zlib"),1);var rC="1.17.0";function Yq(t){let e=/^([-+\w]{1,25}):(?:\/\/)?/.exec(t);return e&&e[1]||""}var rpr=/^([^,;]+\/[^,;]+)?((?:;[^,;=]+=[^,;]+)*)(;base64)?,([\s\S]*)$/;function Jfe(t,e,r){let n=r&&r.Blob||Va.classes.Blob,o=Yq(t);if(e===void 0&&n&&(e=!0),o==="data"){t=o.length?t.slice(o.length+1):t;let s=rpr.exec(t);if(!s)throw new Jr("Invalid URL",Jr.ERR_INVALID_URL);let c=s[1],u=s[2],p=s[3]?"base64":"utf8",f=s[4],h;c?h=u?c+u:c:u&&(h="text/plain"+u);let g=Buffer.from(decodeURIComponent(f),p);if(e){if(!n)throw new Jr("Blob is not supported",Jr.ERR_NOT_SUPPORT);return new n([g],{type:h})}return g}throw new Jr("Unsupported protocol "+o,Jr.ERR_NOT_SUPPORT)}var Rv=Bt(require("stream"),1);var P9e=Bt(require("stream"),1);var Kfe=Symbol("internals"),Xfe=class extends P9e.default.Transform{constructor(e){e=lt.toFlatObject(e,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(n,o)=>!lt.isUndefined(o[n])),super({readableHighWaterMark:e.chunkSize});let r=this[Kfe]={timeWindow:e.timeWindow,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",n=>{n==="progress"&&(r.isCaptured||(r.isCaptured=!0))})}_read(e){let r=this[Kfe];return r.onReadCallback&&r.onReadCallback(),super._read(e)}_transform(e,r,n){let o=this[Kfe],s=o.maxRate,c=this.readableHighWaterMark,u=o.timeWindow,p=1e3/u,f=s/p,h=o.minChunkSize!==!1?Math.max(o.minChunkSize,f*.01):0,g=(v,A)=>{let S=Buffer.byteLength(v);o.bytesSeen+=S,o.bytes+=S,o.isCaptured&&this.emit("progress",o.bytesSeen),this.push(v)?process.nextTick(A):o.onReadCallback=()=>{o.onReadCallback=null,process.nextTick(A)}},y=(v,A)=>{let S=Buffer.byteLength(v),E=null,k=c,P,j=0;if(s){let F=Date.now();(!o.ts||(j=F-o.ts)>=u)&&(o.ts=F,P=f-o.bytes,o.bytes=P<0?-P:0,j=0),P=f-o.bytes}if(s){if(P<=0)return setTimeout(()=>{A(null,v)},u-j);P<k&&(k=P)}k&&S>k&&S-k>h&&(E=v.subarray(k),v=v.subarray(0,k)),g(v,E?()=>{process.nextTick(A,null,E)}:A)};y(e,function v(A,S){if(A)return n(A);S?y(S,v):n(null)})}},Zfe=Xfe;var o7e=require("events");var N9e=Bt(require("util"),1),O9e=require("stream");var{asyncIterator:R9e}=Symbol,npr=async function*(t){t.stream?yield*t.stream():t.arrayBuffer?yield await t.arrayBuffer():t[R9e]?yield*t[R9e]():yield t},mW=npr;var ipr=Va.ALPHABET.ALPHA_DIGIT+"-_",Jq=typeof TextEncoder=="function"?new TextEncoder:new N9e.default.TextEncoder,zD=`\r
572
572
  `,spr=Jq.encode(zD),opr=2,ede=class{constructor(e,r){let{escapeName:n}=this.constructor,o=lt.isString(r),s=`Content-Disposition: form-data; name="${n(e)}"${!o&&r.name?`; filename="${n(r.name)}"`:""}${zD}`;if(o)r=Jq.encode(String(r).replace(/\r?\n|\r\n?/g,zD));else{let c=String(r.type||"application/octet-stream").replace(/[\r\n]/g,"");s+=`Content-Type: ${c}${zD}`}this.headers=Jq.encode(s+zD),this.contentLength=o?r.byteLength:r.size,this.size=this.headers.byteLength+this.contentLength+opr,this.name=e,this.value=r}async*encode(){yield this.headers;let{value:e}=this;lt.isTypedArray(e)?yield e:yield*mW(e),yield spr}static escapeName(e){return String(e).replace(/[\r\n"]/g,r=>({"\r":"%0D","\n":"%0A",'"':"%22"})[r])}},apr=(t,e,r)=>{let{tag:n="form-data-boundary",size:o=25,boundary:s=n+"-"+Va.generateString(o,ipr)}=r||{};if(!lt.isFormData(t))throw new TypeError("FormData instance required");if(s.length<1||s.length>70)throw new Error("boundary must be 1-70 characters long");let c=Jq.encode("--"+s+zD),u=Jq.encode("--"+s+"--"+zD),p=u.byteLength,f=Array.from(t.entries()).map(([g,y])=>{let v=new ede(g,y);return p+=v.size,v});p+=c.byteLength*f.length,p=lt.toFiniteNumber(p);let h={"Content-Type":`multipart/form-data; boundary=${s}`};return Number.isFinite(p)&&(h["Content-Length"]=p),e&&e(h),O9e.Readable.from(async function*(){for(let g of f)yield c,yield*g.encode();yield u}())},F9e=apr;var L9e=Bt(require("stream"),1),tde=class extends L9e.default.Transform{__transform(e,r,n){this.push(e),n()}_transform(e,r,n){if(e.length!==0&&(this._transform=this.__transform,e[0]!==120)){let o=Buffer.alloc(2);o[0]=120,o[1]=156,this.push(o,r)}this.__transform(e,r,n)}},j9e=tde;var M9e=Bt(require("http2"),1),Q9e=Bt(require("util"),1),rde=class{constructor(){this.sessions=Object.create(null)}getSession(e,r){r=Object.assign({sessionTimeout:1e3},r);let n=this.sessions[e];if(n){let g=n.length;for(let y=0;y<g;y++){let[v,A]=n[y];if(!v.destroyed&&!v.closed&&Q9e.default.isDeepStrictEqual(A,r))return v}}let o=M9e.default.connect(e,r),s,c,u=()=>{if(s)return;s=!0,c&&(clearTimeout(c),c=null);let g=n,y=g.length,v=y;for(;v--;)if(g[v][0]===o){y===1?delete this.sessions[e]:g.splice(v,1),o.closed||o.close();return}},p=o.request,{sessionTimeout:f}=r;if(f!=null){let g=0;o.request=function(){let y=p.apply(this,arguments);return g++,c&&(clearTimeout(c),c=null),y.once("close",()=>{--g||(c=setTimeout(()=>{c=null,u()},f))}),y}}o.once("close",u);let h=[o,r];return n?n.push(h):n=this.sessions[e]=[h],o}},q9e=rde;var cpr=(t,e)=>lt.isAsyncFn(t)?function(...r){let n=r.pop();t.apply(this,r).then(o=>{try{e?n(null,...e(o)):n(null,o)}catch(s){n(s)}},n)}:t,U9e=cpr;var upr=new Set(["localhost"]),H9e=t=>{let e=t.split(".");return e.length!==4||e[0]!=="127"?!1:e.every(r=>/^\d+$/.test(r)&&Number(r)>=0&&Number(r)<=255)},lpr=t=>{if(t==="::1")return!0;let e=t.match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/i);if(e)return H9e(e[1]);let r=t.match(/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i);if(r){let o=parseInt(r[1],16);return o>=32512&&o<=32767}let n=t.split(":");if(n.length===8){for(let o=0;o<7;o++)if(!/^0+$/.test(n[o]))return!1;return/^0*1$/.test(n[7])}return!1},$9e=t=>t?upr.has(t)||H9e(t)?!0:lpr(t):!1,ppr={http:80,https:443,ws:80,wss:443,ftp:21},fpr=t=>{let e=t,r=0;if(e.charAt(0)==="["){let s=e.indexOf("]");if(s!==-1){let c=e.slice(1,s),u=e.slice(s+1);return u.charAt(0)===":"&&/^\d+$/.test(u.slice(1))&&(r=Number.parseInt(u.slice(1),10)),[c,r]}}let n=e.indexOf(":"),o=e.lastIndexOf(":");return n!==-1&&n===o&&/^\d+$/.test(e.slice(o+1))&&(r=Number.parseInt(e.slice(o+1),10),e=e.slice(0,o)),[e,r]},dpr=/^(?:::|(?:0{1,4}:){1,4}:|(?:0{1,4}:){5})ffff:(\d+\.\d+\.\d+\.\d+)$/i,hpr=/^(?:::|(?:0{1,4}:){1,4}:|(?:0{1,4}:){5})ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i,mpr=t=>{if(typeof t!="string"||t.indexOf(":")===-1)return t;let e=t.match(dpr);if(e)return e[1];let r=t.match(hpr);if(r){let n=parseInt(r[1],16),o=parseInt(r[2],16);return`${n>>8}.${n&255}.${o>>8}.${o&255}`}return t},z9e=t=>t&&(t.charAt(0)==="["&&t.charAt(t.length-1)==="]"&&(t=t.slice(1,-1)),mpr(t.replace(/\.+$/,"")));function nde(t){let e;try{e=new URL(t)}catch{return!1}let r=(process.env.no_proxy||process.env.NO_PROXY||"").toLowerCase();if(!r)return!1;if(r==="*")return!0;let n=Number.parseInt(e.port,10)||ppr[e.protocol.split(":",1)[0]]||0,o=z9e(e.hostname.toLowerCase());return r.split(/[\s,]+/).some(s=>{if(!s)return!1;let[c,u]=fpr(s);return c=z9e(c),!c||u&&u!==n?!1:(c.charAt(0)==="*"&&(c=c.slice(1)),c.charAt(0)==="."?o.endsWith(c):o===c||$9e(o)&&$9e(c))})}function gpr(t,e){t=t||10;let r=new Array(t),n=new Array(t),o=0,s=0,c;return e=e!==void 0?e:1e3,function(p){let f=Date.now(),h=n[s];c||(c=f),r[o]=p,n[o]=f;let g=s,y=0;for(;g!==o;)y+=r[g++],g=g%t;if(o=(o+1)%t,o===s&&(s=(s+1)%t),f-c<e)return;let v=h&&f-h;return v?Math.round(y*1e3/v):void 0}}var V9e=gpr;function Apr(t,e){let r=0,n=1e3/e,o,s,c=(f,h=Date.now())=>{r=h,o=null,s&&(clearTimeout(s),s=null),t(...f)};return[(...f)=>{let h=Date.now(),g=h-r;g>=n?c(f,h):(o=f,s||(s=setTimeout(()=>{s=null,c(o)},n-g)))},()=>o&&c(o)]}var G9e=Apr;var nC=(t,e,r=3)=>{let n=0,o=V9e(50,250);return G9e(s=>{if(!s||typeof s.loaded!="number")return;let c=s.loaded,u=s.lengthComputable?s.total:void 0,p=u!=null?Math.min(c,u):c,f=Math.max(0,p-n),h=o(f);n=Math.max(n,p);let g={loaded:p,total:u,progress:u?p/u:void 0,bytes:f,rate:h||void 0,estimated:h&&u?(u-p)/h:void 0,event:s,lengthComputable:u!=null,[e?"download":"upload"]:!0};t(g)},r)},KF=(t,e)=>{let r=t!=null;return[n=>e[0]({lengthComputable:r,total:t,loaded:n}),e[1]]},XF=t=>(...e)=>lt.asap(()=>t(...e));function Kq(t){if(!t||typeof t!="string"||!t.startsWith("data:"))return 0;let e=t.indexOf(",");if(e<0)return 0;let r=t.slice(5,e),n=t.slice(e+1);if(/;base64/i.test(r)){let c=n.length,u=n.length;for(let v=0;v<u;v++)if(n.charCodeAt(v)===37&&v+2<u){let A=n.charCodeAt(v+1),S=n.charCodeAt(v+2);(A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102)&&(S>=48&&S<=57||S>=65&&S<=70||S>=97&&S<=102)&&(c-=2,v+=2)}let p=0,f=u-1,h=v=>v>=2&&n.charCodeAt(v-2)===37&&n.charCodeAt(v-1)===51&&(n.charCodeAt(v)===68||n.charCodeAt(v)===100);f>=0&&(n.charCodeAt(f)===61?(p++,f--):h(f)&&(p++,f-=3)),p===1&&f>=0&&(n.charCodeAt(f)===61||h(f))&&p++;let y=Math.floor(c/4)*3-(p||0);return y>0?y:0}if(typeof Buffer<"u"&&typeof Buffer.byteLength=="function")return Buffer.byteLength(n,"utf8");let s=0;for(let c=0,u=n.length;c<u;c++){let p=n.charCodeAt(c);if(p<128)s+=1;else if(p<2048)s+=2;else if(p>=55296&&p<=56319&&c+1<u){let f=n.charCodeAt(c+1);f>=56320&&f<=57343?(s+=4,c++):s+=3}else s+=3}return s}var W9e={flush:ry.default.constants.Z_SYNC_FLUSH,finishFlush:ry.default.constants.Z_SYNC_FLUSH},ypr={flush:ry.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:ry.default.constants.BROTLI_OPERATION_FLUSH},vpr={flush:ry.default.constants.ZSTD_e_flush,finishFlush:ry.default.constants.ZSTD_e_flush},a7e=lt.isFunction(ry.default.createBrotliDecompress),c7e=lt.isFunction(ry.default.createZstdDecompress),u7e="gzip, compress, deflate"+(a7e?", br":""),xpr=u7e+(c7e?", zstd":""),{http:bpr,https:Epr}=s7e.default,l7e=/https:?/,wpr=["content-type","content-length"];function _pr(t,e,r){if(r!=="content-only"){t.set(e);return}Object.entries(e).forEach(([n,o])=>{wpr.includes(n.toLowerCase())&&t.set(n,o)})}var Y9e=Symbol("axios.http.socketListener"),gW=Symbol("axios.http.currentReq"),p7e=Symbol("axios.http.installedTunnel"),Spr=new Map,J9e=new WeakMap;function Cpr(t,e){let r=t.protocol+"//"+t.hostname+":"+(t.port||"")+"#"+(t.auth||""),n=e?J9e.get(e)||J9e.set(e,new Map).get(e):Spr,o=n.get(r);if(o)return o;let s=e&&e.options?{...e.options,...t}:t;if(o=new sde.default(s),e&&e.options){let c={...e.options},u=o.callback;o.callback=function(f,h){return u.call(this,f,{...c,...h})}}return o[p7e]=!0,n.set(r,o),o}var K9e=Va.protocols.map(t=>t+":"),X9e=t=>{if(!lt.isString(t))return t;try{return decodeURIComponent(t)}catch{return t}},Z9e=(t,[e,r])=>(t.on("end",r).on("error",r),e),Ipr=new q9e;function kpr(t,e,r){t.beforeRedirects.proxy&&t.beforeRedirects.proxy(t),t.beforeRedirects.auth&&t.beforeRedirects.auth(t),t.beforeRedirects.config&&t.beforeRedirects.config(t,e,r)}function f7e(t,e,r,n,o){let s=e;if(!s&&s!==!1){let c=u9e(r);c&&(nde(r)||(s=new URL(c)))}if(n&&t.headers)for(let c of Object.keys(t.headers))c.toLowerCase()==="proxy-authorization"&&delete t.headers[c];if(n&&t.agent&&t.agent[p7e]&&(t.agent=void 0),s){let c=s instanceof URL,u=y=>c||lt.hasOwnProp(s,y)?s[y]:void 0,p=u("username"),f=u("password"),h=lt.hasOwnProp(s,"auth")?s.auth:void 0;if(p&&(h=(p||"")+":"+(f||"")),h){let y=typeof h=="object",v=y&&lt.hasOwnProp(h,"username")?h.username:void 0,A=y&&lt.hasOwnProp(h,"password")?h.password:void 0;if(!!(v||A))h=(v||"")+":"+(A||"");else if(y)throw new Jr("Invalid proxy authorization",Jr.ERR_BAD_OPTION,{proxy:s})}if(l7e.test(t.protocol)){if(!(o instanceof sde.default)){let y=u("hostname")||u("host"),v=u("port"),A=u("protocol"),S=A?A.includes(":")?A:`${A}:`:"http:",E=y&&y.includes(":")&&!y.startsWith("[")?`[${y}]`:y,k=new URL(`${S}//${E}${v?":"+v:""}`),P={protocol:k.protocol,hostname:k.hostname.replace(/^\[|\]$/g,""),port:k.port,auth:h&&typeof h=="string"?h:void 0};k.protocol==="https:"&&(P.ALPNProtocols=["http/1.1"]);let j=Cpr(P,o);t.agent=j,t.agents&&(t.agents.https=j)}}else{if(h){let S=Buffer.from(h,"utf8").toString("base64");t.headers["Proxy-Authorization"]="Basic "+S}let y=!1;for(let S of Object.keys(t.headers))if(S.toLowerCase()==="host"){y=!0;break}y||(t.headers.host=t.hostname+(t.port?":"+t.port:""));let v=u("hostname")||u("host");t.hostname=v,t.host=v,t.port=u("port"),t.path=r;let A=u("protocol");A&&(t.protocol=A.includes(":")?A:`${A}:`)}}t.beforeRedirects.proxy=function(u){f7e(u,e,u.href,!0,o)}}var Tpr=typeof process<"u"&&lt.kindOf(process)==="process",Bpr=t=>new Promise((e,r)=>{let n,o,s=(p,f)=>{o||(o=!0,n&&n(p,f))},c=p=>{s(p),e(p)},u=p=>{s(p,!0),r(p)};t(c,u,p=>n=p).catch(u)}),Dpr=({address:t,family:e})=>{if(!lt.isString(t))throw TypeError("address must be a string");return{address:t,family:e||(t.indexOf(".")<0?6:4)}},e7e=(t,e)=>Dpr(lt.isObject(t)?t:{address:t,family:e}),Ppr={request(t,e){let r=t.protocol+"//"+t.hostname+":"+(t.port||(t.protocol==="https:"?443:80)),{http2Options:n,headers:o}=t,s=Ipr.getSession(r,n),{HTTP2_HEADER_SCHEME:c,HTTP2_HEADER_METHOD:u,HTTP2_HEADER_PATH:p,HTTP2_HEADER_STATUS:f}=n7e.default.constants,h={[c]:t.protocol.replace(":",""),[u]:t.method,[p]:t.path};lt.forEach(o,(y,v)=>{v.charAt(0)!==":"&&(h[v]=y)});let g=s.request(h);return g.once("response",y=>{let v=g;y=Object.assign({},y);let A=y[f];delete y[f],v.headers=y,v.statusCode=+A,e(v)}),g}},d7e=Tpr&&function(e){return Bpr(async function(n,o,s){let c=_t=>lt.hasOwnProp(e,_t)?e[_t]:void 0,u=c("transitional")||uk,p=c("data"),f=c("lookup"),h=c("family"),g=c("httpVersion");g===void 0&&(g=1);let y=c("http2Options"),v=c("responseType"),A=c("responseEncoding"),S=e.method.toUpperCase(),E,k=!1,P,j;if(g=+g,Number.isNaN(g))throw TypeError(`Invalid protocol version: '${e.httpVersion}' is not a number`);if(g!==1&&g!==2)throw TypeError(`Unsupported protocol version '${g}'`);let F=g===2;if(f){let _t=U9e(f,At=>lt.isArray(At)?At:[At]);f=(At,dt,B)=>{_t(At,dt,(Je,ct,Ce)=>{if(Je)return B(Je);let we=lt.isArray(ct)?ct.map(We=>e7e(We)):[e7e(ct,Ce)];dt.all?B(Je,we):B(Je,we[0].address,we[0].family)})}}let z=new o7e.EventEmitter;function re(_t){try{z.emit("abort",!_t||_t.type?new ty(null,e,P):_t)}catch{}}function Y(){j&&(clearTimeout(j),j=null)}function me(){let _t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";return e.timeoutErrorMessage&&(_t=e.timeoutErrorMessage),new Jr(_t,u.clarifyTimeoutError?Jr.ETIMEDOUT:Jr.ECONNABORTED,e,P)}z.once("abort",o);let ne=()=>{Y(),e.cancelToken&&e.cancelToken.unsubscribe(re),e.signal&&e.signal.removeEventListener("abort",re),z.removeAllListeners()};(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(re),e.signal&&(e.signal.aborted?re():e.signal.addEventListener("abort",re))),s((_t,At)=>{if(E=!0,Y(),At){k=!0,ne();return}let{data:dt}=_t;if(dt instanceof Rv.default.Readable||dt instanceof Rv.default.Duplex){let B=Rv.default.finished(dt,()=>{B(),ne()})}else ne()});let ce=jD(e.baseURL,e.url,e.allowAbsoluteUrls),ee=new URL(ce,Va.hasBrowserEnv?Va.origin:void 0),ge=ee.protocol||K9e[0];if(ge==="data:"){if(e.maxContentLength>-1){let At=String(e.url||ce||"");if(Kq(At)>e.maxContentLength)return o(new Jr("maxContentLength size of "+e.maxContentLength+" exceeded",Jr.ERR_BAD_RESPONSE,e))}let _t;if(S!=="GET")return Hw(n,o,{status:405,statusText:"method not allowed",headers:{},config:e});try{_t=Jfe(e.url,v==="blob",{Blob:e.env&&e.env.Blob})}catch(At){throw Jr.from(At,Jr.ERR_BAD_REQUEST,e)}return v==="text"?(_t=_t.toString(A),(!A||A==="utf8")&&(_t=lt.stripBOM(_t))):v==="stream"&&(_t=Rv.default.Readable.from(_t)),Hw(n,o,{data:_t,status:200,statusText:"OK",headers:new qu,config:e})}if(K9e.indexOf(ge)===-1)return o(new Jr("Unsupported protocol "+ge,Jr.ERR_BAD_REQUEST,e));let J=qu.from(e.headers).normalize();J.set("User-Agent","axios/"+rC,!1);let{onUploadProgress:U,onDownloadProgress:de}=e,Oe=e.maxRate,ye,be;if(lt.isSpecCompliantForm(p)){let _t=J.getContentType(/boundary=([-_\w\d]{10,70})/i);p=F9e(p,At=>{J.set(At)},{tag:`axios-${rC}-boundary`,boundary:_t&&_t[1]||void 0})}else if(lt.isFormData(p)&&lt.isFunction(p.getHeaders)&&p.getHeaders!==Object.prototype.getHeaders){if(_pr(J,p.getHeaders(),c("formDataHeaderPolicy")),!J.hasContentLength())try{let _t=await i7e.default.promisify(p.getLength).call(p);Number.isFinite(_t)&&_t>=0&&J.setContentLength(_t)}catch{}}else if(lt.isBlob(p)||lt.isFile(p))p.size&&J.setContentType(p.type||"application/octet-stream"),J.setContentLength(p.size||0),p=Rv.default.Readable.from(mW(p));else if(p&&!lt.isStream(p)){if(!Buffer.isBuffer(p))if(lt.isArrayBuffer(p))p=Buffer.from(new Uint8Array(p));else if(lt.isString(p))p=Buffer.from(p,"utf-8");else return o(new Jr("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",Jr.ERR_BAD_REQUEST,e));if(J.setContentLength(p.length,!1),e.maxBodyLength>-1&&p.length>e.maxBodyLength)return o(new Jr("Request body larger than maxBodyLength limit",Jr.ERR_BAD_REQUEST,e))}let Ne=lt.toFiniteNumber(J.getContentLength());lt.isArray(Oe)?(ye=Oe[0],be=Oe[1]):ye=be=Oe,p&&(U||ye)&&(lt.isStream(p)||(p=Rv.default.Readable.from(p,{objectMode:!1})),p=Rv.default.pipeline([p,new Zfe({maxRate:lt.toFiniteNumber(ye)})],lt.noop),U&&p.on("progress",Z9e(p,KF(Ne,nC(XF(U),!1,3)))));let He,ft=c("auth");if(ft){let _t=ft.username||"",At=ft.password||"";He=_t+":"+At}if(!He&&(ee.username||ee.password)){let _t=X9e(ee.username),At=X9e(ee.password);He=_t+":"+At}He&&J.delete("authorization");let wt;try{wt=LD(ee.pathname+ee.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(_t){let At=new Error(_t.message);return At.config=e,At.url=e.url,At.exists=!0,o(At)}J.set("Accept-Encoding",lt.hasOwnProp(u,"advertiseZstdAcceptEncoding")&&u.advertiseZstdAcceptEncoding===!0?xpr:u7e,!1);let Ye=Object.assign(Object.create(null),{path:wt,method:S,headers:MF(J),agents:{http:e.httpAgent,https:e.httpsAgent},auth:He,protocol:ge,family:h,beforeRedirect:kpr,beforeRedirects:Object.create(null),http2Options:y});!lt.isUndefined(f)&&(Ye.lookup=f);let Ke=c("socketPath");if(Ke){if(typeof Ke!="string")return o(new Jr("socketPath must be a string",Jr.ERR_BAD_OPTION_VALUE,e));let _t=c("allowedSocketPaths");if(_t!=null){let At=Array.isArray(_t)?_t:[_t],dt=(0,ide.resolve)(Ke);if(!At.some(Je=>typeof Je=="string"&&(0,ide.resolve)(Je)===dt))return o(new Jr(`socketPath "${Ke}" is not permitted by allowedSocketPaths`,Jr.ERR_BAD_OPTION_VALUE,e))}Ye.socketPath=Ke}else Ye.hostname=ee.hostname.startsWith("[")?ee.hostname.slice(1,-1):ee.hostname,Ye.port=ee.port,f7e(Ye,e.proxy,ge+"//"+ee.hostname+(ee.port?":"+ee.port:"")+Ye.path,!1,e.httpsAgent);let Me,et=!1,yt=l7e.test(Ye.protocol);if(Ye.agent==null&&(Ye.agent=yt?e.httpsAgent:e.httpAgent),F)Me=Ppr;else{let _t=c("transport");if(_t)Me=_t;else if(e.maxRedirects===0)Me=yt?r7e.default:t7e.default,et=!0;else{e.maxRedirects&&(Ye.maxRedirects=e.maxRedirects);let At=c("beforeRedirect");if(At&&(Ye.beforeRedirects.config=At),He){let dt=ee.origin,B=He;Ye.beforeRedirects.auth=function(ct){try{new URL(ct.href).origin===dt&&(ct.auth=B)}catch{}}}Me=yt?Epr:bpr}}e.maxBodyLength>-1?Ye.maxBodyLength=e.maxBodyLength:Ye.maxBodyLength=1/0,Ye.insecureHTTPParser=!!c("insecureHTTPParser"),P=Me.request(Ye,function(At){if(Y(),P.destroyed)return;let dt=[At],B=lt.toFiniteNumber(At.headers["content-length"]);if(de||be){let we=new Zfe({maxRate:lt.toFiniteNumber(be)});de&&we.on("progress",Z9e(we,KF(B,nC(XF(de),!0,3)))),dt.push(we)}let Je=At,ct=At.req||P;if(e.decompress!==!1&&At.headers["content-encoding"])switch((S==="HEAD"||At.statusCode===204)&&delete At.headers["content-encoding"],(At.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":dt.push(ry.default.createUnzip(W9e)),delete At.headers["content-encoding"];break;case"deflate":dt.push(new j9e),dt.push(ry.default.createUnzip(W9e)),delete At.headers["content-encoding"];break;case"br":a7e&&(dt.push(ry.default.createBrotliDecompress(ypr)),delete At.headers["content-encoding"]);break;case"zstd":c7e&&(dt.push(ry.default.createZstdDecompress(vpr)),delete At.headers["content-encoding"]);break}Je=dt.length>1?Rv.default.pipeline(dt,lt.noop):dt[0];let Ce={status:At.statusCode,statusText:At.statusMessage,headers:new qu(At.headers),config:e,request:ct};if(v==="stream"){if(e.maxContentLength>-1){let we=e.maxContentLength,We=Je;async function*rt(){let pe=0;for await(let Xe of We){if(pe+=Xe.length,pe>we)throw new Jr("maxContentLength size of "+we+" exceeded",Jr.ERR_BAD_RESPONSE,e,ct);yield Xe}}Je=Rv.default.Readable.from(rt(),{objectMode:!1})}Ce.data=Je,Hw(n,o,Ce)}else{let we=[],We=0;Je.on("data",function(pe){we.push(pe),We+=pe.length,e.maxContentLength>-1&&We>e.maxContentLength&&(k=!0,Je.destroy(),re(new Jr("maxContentLength size of "+e.maxContentLength+" exceeded",Jr.ERR_BAD_RESPONSE,e,ct)))}),Je.on("aborted",function(){if(k)return;let pe=new Jr("stream has been aborted",Jr.ERR_BAD_RESPONSE,e,ct,Ce);Je.destroy(pe),o(pe)}),Je.on("error",function(pe){k||o(Jr.from(pe,null,e,ct,Ce))}),Je.on("end",function(){try{let pe=we.length===1?we[0]:Buffer.concat(we);v!=="arraybuffer"&&(pe=pe.toString(A),(!A||A==="utf8")&&(pe=lt.stripBOM(pe))),Ce.data=pe}catch(pe){return o(Jr.from(pe,null,e,Ce.request,Ce))}Hw(n,o,Ce)})}z.once("abort",we=>{Je.destroyed||(Je.emit("error",we),Je.destroy())})}),z.once("abort",_t=>{P.close?P.close():P.destroy(_t)}),P.on("error",function(At){o(Jr.from(At,null,e,P))});let Nt=new Set;if(P.on("socket",function(At){At.setKeepAlive(!0,1e3*60),At[Y9e]||(At.on("error",function(B){let Je=At[gW];Je&&!Je.destroyed&&Je.destroy(B)}),At[Y9e]=!0),At[gW]=P,Nt.add(At)}),P.once("close",function(){Y();for(let At of Nt)At[gW]===P&&(At[gW]=null);Nt.clear()}),e.timeout){let _t=parseInt(e.timeout,10);if(Number.isNaN(_t)){re(new Jr("error trying to parse `config.timeout` to int",Jr.ERR_BAD_OPTION_VALUE,e,P));return}let At=function(){E||re(me())};et&&_t>0&&(j=setTimeout(At,_t)),P.setTimeout(_t,At)}else P.setTimeout(0);if(lt.isStream(p)){let _t=!1,At=!1;p.on("end",()=>{_t=!0}),p.once("error",B=>{At=!0,P.destroy(B)}),p.on("close",()=>{!_t&&!At&&re(new ty("Request stream has been aborted",e,P))});let dt=p;if(e.maxBodyLength>-1&&e.maxRedirects===0){let B=e.maxBodyLength,Je=0;dt=Rv.default.pipeline([p,new Rv.default.Transform({transform(ct,Ce,we){if(Je+=ct.length,Je>B)return we(new Jr("Request body larger than maxBodyLength limit",Jr.ERR_BAD_REQUEST,e,P));we(null,ct)}})],lt.noop),dt.on("error",ct=>{P.destroyed||P.destroy(ct)})}dt.pipe(P)}else p&&P.write(p),P.end()})};var h7e=Va.hasStandardBrowserEnv?((t,e)=>r=>(r=new URL(r,Va.origin),t.protocol===r.protocol&&t.host===r.host&&(e||t.port===r.port)))(new URL(Va.origin),Va.navigator&&/(msie|trident)/i.test(Va.navigator.userAgent)):()=>!0;var m7e=Va.hasStandardBrowserEnv?{write(t,e,r,n,o,s,c){if(typeof document>"u")return;let u=[`${t}=${encodeURIComponent(e)}`];lt.isNumber(r)&&u.push(`expires=${new Date(r).toUTCString()}`),lt.isString(n)&&u.push(`path=${n}`),lt.isString(o)&&u.push(`domain=${o}`),s===!0&&u.push("secure"),lt.isString(c)&&u.push(`SameSite=${c}`),document.cookie=u.join("; ")},read(t){if(typeof document>"u")return null;let e=document.cookie.split(";");for(let r=0;r<e.length;r++){let n=e[r].replace(/^\s+/,""),o=n.indexOf("=");if(o!==-1&&n.slice(0,o)===t)return decodeURIComponent(n.slice(o+1))}return null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};var g7e=t=>t instanceof qu?{...t}:t;function Tb(t,e){e=e||{};let r=Object.create(null);Object.defineProperty(r,"hasOwnProperty",{__proto__:null,value:Object.prototype.hasOwnProperty,enumerable:!1,writable:!0,configurable:!0});function n(f,h,g,y){return lt.isPlainObject(f)&&lt.isPlainObject(h)?lt.merge.call({caseless:y},f,h):lt.isPlainObject(h)?lt.merge({},h):lt.isArray(h)?h.slice():h}function o(f,h,g,y){if(lt.isUndefined(h)){if(!lt.isUndefined(f))return n(void 0,f,g,y)}else return n(f,h,g,y)}function s(f,h){if(!lt.isUndefined(h))return n(void 0,h)}function c(f,h){if(lt.isUndefined(h)){if(!lt.isUndefined(f))return n(void 0,f)}else return n(void 0,h)}function u(f,h,g){if(lt.hasOwnProp(e,g))return n(f,h);if(lt.hasOwnProp(t,g))return n(void 0,f)}let p={url:s,method:s,data:s,baseURL:c,transformRequest:c,transformResponse:c,paramsSerializer:c,timeout:c,timeoutMessage:c,withCredentials:c,withXSRFToken:c,adapter:c,responseType:c,xsrfCookieName:c,xsrfHeaderName:c,onUploadProgress:c,onDownloadProgress:c,decompress:c,maxContentLength:c,maxBodyLength:c,beforeRedirect:c,transport:c,httpAgent:c,httpsAgent:c,cancelToken:c,socketPath:c,allowedSocketPaths:c,responseEncoding:c,validateStatus:u,headers:(f,h,g)=>o(g7e(f),g7e(h),g,!0)};return lt.forEach(Object.keys({...t,...e}),function(h){if(h==="__proto__"||h==="constructor"||h==="prototype")return;let g=lt.hasOwnProp(p,h)?p[h]:o,y=lt.hasOwnProp(t,h)?t[h]:void 0,v=lt.hasOwnProp(e,h)?e[h]:void 0,A=g(y,v,h);lt.isUndefined(A)&&g!==u||(r[h]=A)}),r}var Rpr=["content-type","content-length"];function Npr(t,e,r){if(r!=="content-only"){t.set(e);return}Object.entries(e).forEach(([n,o])=>{Rpr.includes(n.toLowerCase())&&t.set(n,o)})}var Opr=t=>encodeURIComponent(t).replace(/%([0-9A-F]{2})/gi,(e,r)=>String.fromCharCode(parseInt(r,16)));function Fpr(t){let e=Tb({},t),r=y=>lt.hasOwnProp(e,y)?e[y]:void 0,n=r("data"),o=r("withXSRFToken"),s=r("xsrfHeaderName"),c=r("xsrfCookieName"),u=r("headers"),p=r("auth"),f=r("baseURL"),h=r("allowAbsoluteUrls"),g=r("url");if(e.headers=u=qu.from(u),e.url=LD(jD(f,g,h),r("params"),r("paramsSerializer")),p&&u.set("Authorization","Basic "+btoa((p.username||"")+":"+(p.password?Opr(p.password):""))),lt.isFormData(n)&&(Va.hasStandardBrowserEnv||Va.hasStandardBrowserWebWorkerEnv||lt.isReactNative(n)?u.setContentType(void 0):lt.isFunction(n.getHeaders)&&Npr(u,n.getHeaders(),r("formDataHeaderPolicy"))),Va.hasStandardBrowserEnv&&(lt.isFunction(o)&&(o=o(e)),o===!0||o==null&&h7e(e.url))){let v=s&&c&&m7e.read(c);v&&u.set(s,v)}return e}var AW=Fpr;var Lpr=typeof XMLHttpRequest<"u",A7e=Lpr&&function(t){return new Promise(function(r,n){let o=AW(t),s=o.data,c=qu.from(o.headers).normalize(),{responseType:u,onUploadProgress:p,onDownloadProgress:f}=o,h,g,y,v,A;function S(){v&&v(),A&&A(),o.cancelToken&&o.cancelToken.unsubscribe(h),o.signal&&o.signal.removeEventListener("abort",h)}let E=new XMLHttpRequest;E.open(o.method.toUpperCase(),o.url,!0),E.timeout=o.timeout;function k(){if(!E)return;let j=qu.from("getAllResponseHeaders"in E&&E.getAllResponseHeaders()),z={data:!u||u==="text"||u==="json"?E.responseText:E.response,status:E.status,statusText:E.statusText,headers:j,config:t,request:E};Hw(function(Y){r(Y),S()},function(Y){n(Y),S()},z),E=null}"onloadend"in E?E.onloadend=k:E.onreadystatechange=function(){!E||E.readyState!==4||E.status===0&&!(E.responseURL&&E.responseURL.startsWith("file:"))||setTimeout(k)},E.onabort=function(){E&&(n(new Jr("Request aborted",Jr.ECONNABORTED,t,E)),S(),E=null)},E.onerror=function(F){let z=F&&F.message?F.message:"Network Error",re=new Jr(z,Jr.ERR_NETWORK,t,E);re.event=F||null,n(re),S(),E=null},E.ontimeout=function(){let F=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",z=o.transitional||uk;o.timeoutErrorMessage&&(F=o.timeoutErrorMessage),n(new Jr(F,z.clarifyTimeoutError?Jr.ETIMEDOUT:Jr.ECONNABORTED,t,E)),S(),E=null},s===void 0&&c.setContentType(null),"setRequestHeader"in E&&lt.forEach(MF(c),function(F,z){E.setRequestHeader(z,F)}),lt.isUndefined(o.withCredentials)||(E.withCredentials=!!o.withCredentials),u&&u!=="json"&&(E.responseType=o.responseType),f&&([y,A]=nC(f,!0),E.addEventListener("progress",y)),p&&E.upload&&([g,v]=nC(p),E.upload.addEventListener("progress",g),E.upload.addEventListener("loadend",v)),(o.cancelToken||o.signal)&&(h=j=>{E&&(n(!j||j.type?new ty(null,t,E):j),E.abort(),S(),E=null)},o.cancelToken&&o.cancelToken.subscribe(h),o.signal&&(o.signal.aborted?h():o.signal.addEventListener("abort",h)));let P=Yq(o.url);if(P&&!Va.protocols.includes(P)){n(new Jr("Unsupported protocol "+P+":",Jr.ERR_BAD_REQUEST,t));return}E.send(s||null)})};var jpr=(t,e)=>{if(t=t?t.filter(Boolean):[],!e&&!t.length)return;let r=new AbortController,n=!1,o=function(p){if(!n){n=!0,c();let f=p instanceof Error?p:this.reason;r.abort(f instanceof Jr?f:new ty(f instanceof Error?f.message:f))}},s=e&&setTimeout(()=>{s=null,o(new Jr(`timeout of ${e}ms exceeded`,Jr.ETIMEDOUT))},e),c=()=>{t&&(s&&clearTimeout(s),s=null,t.forEach(p=>{p.unsubscribe?p.unsubscribe(o):p.removeEventListener("abort",o)}),t=null)};t.forEach(p=>p.addEventListener("abort",o));let{signal:u}=r;return u.unsubscribe=()=>lt.asap(c),u},y7e=jpr;var Mpr=function*(t,e){let r=t.byteLength;if(!e||r<e){yield t;return}let n=0,o;for(;n<r;)o=n+e,yield t.slice(n,o),n=o},Qpr=async function*(t,e){for await(let r of qpr(t))yield*Mpr(r,e)},qpr=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}let e=t.getReader();try{for(;;){let{done:r,value:n}=await e.read();if(r)break;yield n}}finally{await e.cancel()}},ode=(t,e,r,n)=>{let o=Qpr(t,e),s=0,c,u=p=>{c||(c=!0,n&&n(p))};return new ReadableStream({async pull(p){try{let{done:f,value:h}=await o.next();if(f){u(),p.close();return}let g=h.byteLength;if(r){let y=s+=g;r(y)}p.enqueue(new Uint8Array(h))}catch(f){throw u(f),f}},cancel(p){return u(p),o.return()}},{highWaterMark:2})};var v7e=64*1024,{isFunction:yW}=lt,Upr=t=>encodeURIComponent(t).replace(/%([0-9A-F]{2})/gi,(e,r)=>String.fromCharCode(parseInt(r,16))),x7e=t=>{if(!lt.isString(t))return t;try{return decodeURIComponent(t)}catch{return t}},b7e=(t,...e)=>{try{return!!t(...e)}catch{return!1}},$pr=t=>{let e=t.indexOf("://"),r=t;return e!==-1&&(r=r.slice(e+3)),r.includes("@")||r.includes(":")},zpr=t=>{let e=lt.global!==void 0&&lt.global!==null?lt.global:globalThis,{ReadableStream:r,TextEncoder:n}=e;t=lt.merge.call({skipUndefined:!0},{Request:e.Request,Response:e.Response},t);let{fetch:o,Request:s,Response:c}=t,u=o?yW(o):typeof fetch=="function",p=yW(s),f=yW(c);if(!u)return!1;let h=u&&yW(r),g=u&&(typeof n=="function"?(k=>P=>k.encode(P))(new n):async k=>new Uint8Array(await new s(k).arrayBuffer())),y=p&&h&&b7e(()=>{let k=!1,P=new s(Va.origin,{body:new r,method:"POST",get duplex(){return k=!0,"half"}}),j=P.headers.has("Content-Type");return P.body!=null&&P.body.cancel(),k&&!j}),v=f&&h&&b7e(()=>lt.isReadableStream(new c("").body)),A={stream:v&&(k=>k.body)};u&&["text","arrayBuffer","blob","formData","stream"].forEach(k=>{!A[k]&&(A[k]=(P,j)=>{let F=P&&P[k];if(F)return F.call(P);throw new Jr(`Response type '${k}' is not supported`,Jr.ERR_NOT_SUPPORT,j)})});let S=async k=>{if(k==null)return 0;if(lt.isBlob(k))return k.size;if(lt.isSpecCompliantForm(k))return(await new s(Va.origin,{method:"POST",body:k}).arrayBuffer()).byteLength;if(lt.isArrayBufferView(k)||lt.isArrayBuffer(k))return k.byteLength;if(lt.isURLSearchParams(k)&&(k=k+""),lt.isString(k))return(await g(k)).byteLength},E=async(k,P)=>{let j=lt.toFiniteNumber(k.getContentLength());return j==null?S(P):j};return async k=>{let{url:P,method:j,data:F,signal:z,cancelToken:re,timeout:Y,onDownloadProgress:me,onUploadProgress:ne,responseType:ce,headers:ee,withCredentials:ge="same-origin",fetchOptions:J,maxContentLength:U,maxBodyLength:de}=AW(k),Oe=lt.isNumber(U)&&U>-1,ye=lt.isNumber(de)&&de>-1,be=Ke=>lt.hasOwnProp(k,Ke)?k[Ke]:void 0,Ne=o||fetch;ce=ce?(ce+"").toLowerCase():"text";let He=y7e([z,re&&re.toAbortSignal()],Y),ft=null,wt=He&&He.unsubscribe&&(()=>{He.unsubscribe()}),Ye;try{let Ke,Me=be("auth");if(Me){let dt=Me.username||"",B=Me.password||"";Ke={username:dt,password:B}}if($pr(P)){let dt=new URL(P,Va.origin);if(!Ke&&(dt.username||dt.password)){let B=x7e(dt.username),Je=x7e(dt.password);Ke={username:B,password:Je}}(dt.username||dt.password)&&(dt.username="",dt.password="",P=dt.href)}if(Ke&&(ee.delete("authorization"),ee.set("Authorization","Basic "+btoa(Upr((Ke.username||"")+":"+(Ke.password||""))))),Oe&&typeof P=="string"&&P.startsWith("data:")&&Kq(P)>U)throw new Jr("maxContentLength size of "+U+" exceeded",Jr.ERR_BAD_RESPONSE,k,ft);if(ye&&j!=="get"&&j!=="head"){let dt=await E(ee,F);if(typeof dt=="number"&&isFinite(dt)&&dt>de)throw new Jr("Request body larger than maxBodyLength limit",Jr.ERR_BAD_REQUEST,k,ft)}if(ne&&y&&j!=="get"&&j!=="head"&&(Ye=await E(ee,F))!==0){let dt=new s(P,{method:"POST",body:F,duplex:"half"}),B;if(lt.isFormData(F)&&(B=dt.headers.get("content-type"))&&ee.setContentType(B),dt.body){let[Je,ct]=KF(Ye,nC(XF(ne)));F=ode(dt.body,v7e,Je,ct)}}lt.isString(ge)||(ge=ge?"include":"omit");let et=p&&"credentials"in s.prototype;if(lt.isFormData(F)){let dt=ee.getContentType();dt&&/^multipart\/form-data/i.test(dt)&&!/boundary=/i.test(dt)&&ee.delete("content-type")}ee.set("User-Agent","axios/"+rC,!1);let yt={...J,signal:He,method:j.toUpperCase(),headers:MF(ee.normalize()),body:F,duplex:"half",credentials:et?ge:void 0};ft=p&&new s(P,yt);let Nt=await(p?Ne(ft,J):Ne(P,yt));if(Oe){let dt=lt.toFiniteNumber(Nt.headers.get("content-length"));if(dt!=null&&dt>U)throw new Jr("maxContentLength size of "+U+" exceeded",Jr.ERR_BAD_RESPONSE,k,ft)}let _t=v&&(ce==="stream"||ce==="response");if(v&&Nt.body&&(me||Oe||_t&&wt)){let dt={};["status","statusText","headers"].forEach(We=>{dt[We]=Nt[We]});let B=lt.toFiniteNumber(Nt.headers.get("content-length")),[Je,ct]=me&&KF(B,nC(XF(me),!0))||[],Ce=0,we=We=>{if(Oe&&(Ce=We,Ce>U))throw new Jr("maxContentLength size of "+U+" exceeded",Jr.ERR_BAD_RESPONSE,k,ft);Je&&Je(We)};Nt=new c(ode(Nt.body,v7e,we,()=>{ct&&ct(),wt&&wt()}),dt)}ce=ce||"text";let At=await A[lt.findKey(A,ce)||"text"](Nt,k);if(Oe&&!v&&!_t){let dt;if(At!=null&&(typeof At.byteLength=="number"?dt=At.byteLength:typeof At.size=="number"?dt=At.size:typeof At=="string"&&(dt=typeof n=="function"?new n().encode(At).byteLength:At.length)),typeof dt=="number"&&dt>U)throw new Jr("maxContentLength size of "+U+" exceeded",Jr.ERR_BAD_RESPONSE,k,ft)}return!_t&&wt&&wt(),await new Promise((dt,B)=>{Hw(dt,B,{data:At,headers:qu.from(Nt.headers),status:Nt.status,statusText:Nt.statusText,config:k,request:ft})})}catch(Ke){if(wt&&wt(),He&&He.aborted&&He.reason instanceof Jr){let Me=He.reason;throw Me.config=k,ft&&(Me.request=ft),Ke!==Me&&(Me.cause=Ke),Me}throw Ke&&Ke.name==="TypeError"&&/Load failed|fetch/i.test(Ke.message)?Object.assign(new Jr("Network Error",Jr.ERR_NETWORK,k,ft,Ke&&Ke.response),{cause:Ke.cause||Ke}):Jr.from(Ke,Ke&&Ke.code,k,ft,Ke&&Ke.response)}}},Hpr=new Map,ade=t=>{let e=t&&t.env||{},{fetch:r,Request:n,Response:o}=e,s=[n,o,r],c=s.length,u=c,p,f,h=Hpr;for(;u--;)p=s[u],f=h.get(p),f===void 0&&h.set(p,f=u?new Map:zpr(e)),h=f;return f},dmi=ade();var cde={http:d7e,xhr:A7e,fetch:{get:ade}};lt.forEach(cde,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{__proto__:null,value:e})}catch{}Object.defineProperty(t,"adapterName",{__proto__:null,value:e})}});var E7e=t=>`- ${t}`,Gpr=t=>lt.isFunction(t)||t===null||t===!1;function Wpr(t,e){t=lt.isArray(t)?t:[t];let{length:r}=t,n,o,s={};for(let c=0;c<r;c++){n=t[c];let u;if(o=n,!Gpr(n)&&(o=cde[(u=String(n)).toLowerCase()],o===void 0))throw new Jr(`Unknown adapter '${u}'`);if(o&&(lt.isFunction(o)||(o=o.get(e))))break;s[u||"#"+c]=o}if(!o){let c=Object.entries(s).map(([p,f])=>`adapter ${p} `+(f===!1?"is not supported by the environment":"is not available in the build")),u=r?c.length>1?`since :
@@ -575,7 +575,7 @@ ${A.join(`
575
575
  `);return c===-1?"":o.stack.slice(c+1)})();try{if(!n.stack)n.stack=s;else if(s){let c=s.indexOf(`
576
576
  `),u=c===-1?-1:s.indexOf(`
577
577
  `,c+1),p=u===-1?"":s.slice(u+1);String(n.stack).endsWith(p)||(n.stack+=`
578
- `+s)}}catch{}}throw n}}_request(e,r){typeof e=="string"?(r=r||{},r.url=e):r=e||{},r=Tb(this.defaults,r);let{transitional:n,paramsSerializer:o,headers:s}=r;n!==void 0&&Xq.assertOptions(n,{silentJSONParsing:M0.transitional(M0.boolean),forcedJSONParsing:M0.transitional(M0.boolean),clarifyTimeoutError:M0.transitional(M0.boolean),legacyInterceptorReqResOrdering:M0.transitional(M0.boolean),advertiseZstdAcceptEncoding:M0.transitional(M0.boolean)},!1),o!=null&&(lt.isFunction(o)?r.paramsSerializer={serialize:o}:Xq.assertOptions(o,{encode:M0.function,serialize:M0.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),Xq.assertOptions(r,{baseUrl:M0.spelling("baseURL"),withXsrfToken:M0.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let c=s&&lt.merge(s.common,s[r.method]);s&&lt.forEach(["delete","get","head","post","put","patch","query","common"],A=>{delete s[A]}),r.headers=qu.concat(c,s);let u=[],p=!0;this.interceptors.request.forEach(function(S){if(typeof S.runWhen=="function"&&S.runWhen(r)===!1)return;p=p&&S.synchronous;let E=r.transitional||uk;E&&E.legacyInterceptorReqResOrdering?u.unshift(S.fulfilled,S.rejected):u.push(S.fulfilled,S.rejected)});let f=[];this.interceptors.response.forEach(function(S){f.push(S.fulfilled,S.rejected)});let h,g=0,y;if(!p){let A=[xW.bind(this),void 0];for(A.unshift(...u),A.push(...f),y=A.length,h=Promise.resolve(r);g<y;)h=h.then(A[g++],A[g++]);return h}y=u.length;let v=r;for(;g<y;){let A=u[g++],S=u[g++];try{v=A(v)}catch(E){S.call(this,E);break}}try{h=xW.call(this,v)}catch(A){return Promise.reject(A)}for(g=0,y=f.length;g<y;)h=h.then(f[g++],f[g++]);return h}getUri(e){e=Tb(this.defaults,e);let r=jD(e.baseURL,e.url,e.allowAbsoluteUrls);return LD(r,e.params,e.paramsSerializer)}};lt.forEach(["delete","get","head","options"],function(e){ZF.prototype[e]=function(r,n){return this.request(Tb(n||{},{method:e,url:r,data:(n||{}).data}))}});lt.forEach(["post","put","patch","query"],function(e){function r(n){return function(s,c,u){return this.request(Tb(u||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:s,data:c}))}}ZF.prototype[e]=r(),e!=="query"&&(ZF.prototype[e+"Form"]=r(!0))});var Zq=ZF;var lde=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(s){r=s});let n=this;this.promise.then(o=>{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](o);n._listeners=null}),this.promise.then=o=>{let s,c=new Promise(u=>{n.subscribe(u),s=u}).then(o);return c.cancel=function(){n.unsubscribe(s)},c},e(function(s,c,u){n.reason||(n.reason=new ty(s,c,u),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){let e=new AbortController,r=n=>{e.abort(n)};return this.subscribe(r),e.signal.unsubscribe=()=>this.unsubscribe(r),e.signal}static source(){let e;return{token:new t(function(o){e=o}),cancel:e}}},_7e=lde;function pde(t){return function(r){return t.apply(null,r)}}function fde(t){return lt.isObject(t)&&t.isAxiosError===!0}var dde={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(dde).forEach(([t,e])=>{dde[e]=t});var S7e=dde;function C7e(t){let e=new Zq(t),r=Dq(Zq.prototype.request,e);return lt.extend(r,Zq.prototype,e,{allOwnKeys:!0}),lt.extend(r,e,null,{allOwnKeys:!0}),r.create=function(o){return C7e(Tb(t,o))},r}var Zp=C7e(VF);Zp.Axios=Zq;Zp.CanceledError=ty;Zp.CancelToken=_7e;Zp.isCancel=Qq;Zp.VERSION=rC;Zp.toFormData=ck;Zp.AxiosError=Jr;Zp.Cancel=Zp.CanceledError;Zp.all=function(e){return Promise.all(e)};Zp.spread=pde;Zp.isAxiosError=fde;Zp.mergeConfig=Tb;Zp.AxiosHeaders=qu;Zp.formToJSON=t=>uW(lt.isHTMLForm(t)?new FormData(t):t);Zp.getAdapter=vW.getAdapter;Zp.HttpStatusCode=S7e;Zp.default=Zp;var iC=Zp;var{Axios:lgi,AxiosError:pgi,CanceledError:fgi,isCancel:dgi,CancelToken:hgi,VERSION:mgi,all:ggi,Cancel:Agi,isAxiosError:ygi,spread:vgi,toFormData:xgi,AxiosHeaders:bgi,HttpStatusCode:Egi,formToJSON:wgi,getAdapter:_gi,mergeConfig:Sgi,create:Cgi}=iC;tf();Hs();tf();var Tde=Bt(require("os"));var hr={COMMAND:"command",REQUEST:"request",LOCAL_FLOW:"local_flow",EXIT:"exit"},pr={SUCCESS:"success",FAIL:"fail",START:"start"},i6={SUCCESS:"success",FAIL:"fail",SIGINT:"sigint",SIGTERM:"sigterm",TIMEOUT:"timeout",UNCAUGHT_EXCEPTION:"uncaught_exception",UNHANDLED_REJECTION:"unhandled_rejection",USER_CANCEL:"user_cancel",UNKNOWN:"unknown"},Bfr=`cli-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;function Dfr(){var t,e;return{run_id:Bfr,cli_version:(e=(t=yb)==null?void 0:t.version)!=null?e:"unknown",node_version:process.version,os_platform:Tde.default.platform(),os_arch:Tde.default.arch(),app_type:"cli",app_id:process.env.AppId||void 0,uin:process.env.Uin||void 0,instance_id:process.env.ProjectId||void 0,is_ci:process.env.CI==="true"}}function Pfr(t,e){try{if(typeof process.send!="function")return;process.send(JSON.stringify({name:t,value:JSON.stringify(e)}))}catch{}}function mr(t){var r;let e={...Dfr(),...t};Pfr((r=e.event_name)!=null?r:"unknown",e)}var iL=(t,e)=>{mr({event_name:t,event_scope:hr.COMMAND,event_result:pr.SUCCESS,message:e})},sg=(t,e)=>{let r=Si(e);mr({event_name:"error",event_scope:hr.COMMAND,event_result:pr.FAIL,error_message:`${t} ${r.message}`.trim(),error_stack:r.stack})},kde=500,Rfr=2e3;function Si(t){if(t==null)return{message:"unknown error",stack:""};if(typeof t=="string")return{message:IW(t,kde),stack:""};if(typeof t=="object"){let e=t,r=IW(typeof e.message=="string"?e.message:String(e),kde),n=IW(typeof e.stack=="string"?e.stack:"",Rfr);return{message:r,stack:n}}return{message:IW(String(t),kde),stack:""}}function IW(t,e){return t.length>e?t.slice(0,e)+"\u2026[truncated]":t}var Nfr=new Set(["region","framework","mode","env","e","area","a","debug","external"]),Ofr=new Set(["token","t","secret","key","cookie","authorization","blobCredential","sandboxCredential"]),Ffr=new Set(["path","name","n","projectName","file","f","directoryOrZip"]);function t$e(t){let e={};for(let[r,n]of Object.entries(t))if(!(r==="_"||r==="$0")){if(typeof n=="boolean"){e[r]=n;continue}if(Ofr.has(r)){e[`has_${r}`]=n!=null&&n!==""&&n!==!1;continue}if(Nfr.has(r)){e[r]=String(n!=null?n:"");continue}if(Ffr.has(r)){e[`${r}_kind`]=Lfr(n);continue}e[`has_${r}`]=n!=null&&n!==""&&n!==!1}return e}function Lfr(t){return t==null||t===""?"absent":typeof t!="string"?"present":t.startsWith("/")?"absolute":t.startsWith("./")||t.startsWith("../")?"relative":t.startsWith("~")?"home_relative":"present"}Hs();var ny={global:"https://pages-api.edgeone.ai/v1",china:"https://pages-api.cloud.tencent.com/v1"};var kW={global:"ap-singapore",china:"ap-guangzhou"},s6={global:"https://edgeone.tencentcloud.com",china:"https://edgeone.cloud.tencent.com"},Bde={global:"https://edgeone.ai/login",china:"https://cloud.tencent.com/login"},Dde="/makers/cli-login",Pde={"ap-guangzhou":"china","ap-singapore":"global"};var Ygi=require("fs"),Jgi=require("path"),jfr=["china","global"];function Mfr(t){return ny[t]}async function Qfr(t){var e,r,n;for(let o of jfr)try{let s=Mfr(o),c=await iC.post(s,JSON.stringify({Action:"DescribePagesProjects",PageNumber:1,PageSize:10,Region:kW[o]}),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},timeout:15e3}),u=((r=(e=c==null?void 0:c.data)==null?void 0:e.Data)==null?void 0:r.Response)||(c==null?void 0:c.data);if((u==null?void 0:u.Code)!=null||((n=u==null?void 0:u.Error)==null?void 0:n.Code)!=null)continue;if(u&&Array.isArray(u.Projects))return o}catch{}return null}async function am(){if(process.env.EDGEONE_PAGES_API_REGION)return process.env.EDGEONE_PAGES_API_REGION;let t=tL();if(t!=null&&t.region)return t.region;if(t!=null&&t.token){let e=await Qfr(t.token);if(e){try{eL({token:t.token,region:e})}catch{}return e}}return await oC("login_region")}tf();Hs();var qfr=async()=>{let t=await am(),e=ny[t];if(e)return e;ar(`Invalid region: ${t}`)},Ww=async()=>{if(process.env.EDGEONE_PAGES_API_TOKEN)return process.env.EDGEONE_PAGES_API_TOKEN;let t=tL();if(t!=null&&t.token)return t.token;try{return(await oC("eo_token")).Token}catch{return}},r$e=async()=>{try{let t=await oC("eo_token");return!t||typeof t!="object"?void 0:{loginType:t.loginType,corpId:t.corpId,corpName:t.corpName,openId:t.openId}}catch{return}},o6=async(t,e)=>{var c,u;let r=e||await qfr(),o={"Content-Type":"application/json",Authorization:`Bearer ${await Ww()}`},s=await iC.post(r,JSON.stringify(t),{headers:o,timeout:15e3});return((u=(c=s.data)==null?void 0:c.Data)==null?void 0:u.Response)||s.data},n$e=async t=>{var n,o,s,c,u,p;let e=await am(),r=ny[e]||ny.china;if(!r)throw new Error("Login get token failed, invalid login region.");try{let f=await iC.post(r,JSON.stringify({Action:"CreateOrDescribeTokenByMCP",Name:"edgeone-cli-auto-generated"}),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}}),h=(s=(o=(n=f==null?void 0:f.data)==null?void 0:n.Data)==null?void 0:o.Response)==null?void 0:s.TokenData;if(!(h!=null&&h.Token)){let g=(c=f==null?void 0:f.data)==null?void 0:c.Code,y=(u=f==null?void 0:f.data)==null?void 0:u.Message,v=(p=f==null?void 0:f.data)==null?void 0:p.RequestId,A=g!=null?`server Code=${g}, Message=${y}, RequestId=${v}`:`unexpected response shape from ${r}`;throw new Error(`Token exchange returned an empty result. ${A}`)}return h}catch(f){let h=f instanceof Error?f.message:"Unknown error";throw new Error(`Login get token failed, please try again. ${h}`)}};tf();Hs();function i$e(t){var o,s,c,u,p,f;let e=Si(t),r=(o=t==null?void 0:t.response)!=null&&o.status?String(t.response.status):"";return{error_code:((f=(p=(u=(c=(s=t==null?void 0:t.response)==null?void 0:s.data)==null?void 0:c.Data)==null?void 0:u.Response)==null?void 0:p.Error)==null?void 0:f.Code)||(t==null?void 0:t.errorCode)||"",error_message:e.message,http_status:r}}async function s$e(t,e,r){let n=Pde[e]||"unknown";return await o6({Action:t,...r}).catch(s=>{var p,f,h,g;if(s.errorCode==="UnsupportedRegion")return;let c=i$e(s);mr({event_name:"Request:Error",event_scope:hr.REQUEST,event_result:pr.FAIL,event_phase:"request",action:t,region:n,...c});let u=(s==null?void 0:s.requestId)||((g=(h=(f=(p=s==null?void 0:s.response)==null?void 0:p.data)==null?void 0:f.Data)==null?void 0:h.Response)==null?void 0:g.RequestId)||"";ar(`A request error occurred, please try again, but if the problem persists, contact us.(${u?u+": ":""}${c.error_message})`),process.env.DEBUG&&console.log("request error",t,Si(s).message),(s.errorCode==="AuthFailure.SignatureFailure"||s.errorCode==="AuthFailure.SecretIdNotFound")&&iy()}).then(s=>s,s=>{var p,f,h,g;let c=i$e(s);mr({event_name:"Request:Failed",event_scope:hr.REQUEST,event_result:pr.FAIL,event_phase:"request",action:t,region:n,...c});let u=(s==null?void 0:s.requestId)||((g=(h=(f=(p=s==null?void 0:s.response)==null?void 0:p.data)==null?void 0:f.Data)==null?void 0:h.Response)==null?void 0:g.RequestId)||"";throw ar(`Request Failed: ${t}${u?", RequestId: "+u:""}: ${c.error_message}`),s})}var a6={china:"ap-guangzhou",global:"ap-singapore"},Q0=async()=>{let t=async r=>{let n=Pde[r],o;return o=ny[n],{success:!!(await o6({Action:"DescribePagesProjects",PageNumber:1,PageSize:10,Region:r},o)).Projects}},e=["ap-guangzhou","ap-singapore"];try{for(let r of e)(await t(r)).success&&(r==="ap-guangzhou"?process.env.EDGEONE_PAGES_API_REGION="china":r==="ap-singapore"&&(process.env.EDGEONE_PAGES_API_REGION="global"))}catch(r){ar(`check and set region failed: ${r}`)}process.env.EDGEONE_PAGES_API_REGION||(process.env.DEBUG&&console.log("[debug] checkAndSetRegion: no region detected, defaulting to china"),process.env.EDGEONE_PAGES_API_REGION="china")};async function rf(t,e){var n;let r=await am();if(!r){let o=!!((n=tL())!=null&&n.token);process.env.EDGEONE_PAGES_API_TOKEN||o?(process.env.DEBUG&&console.log("[debug] pagesCapi: token set but no region, defaulting to china"),r="china"):(await iy(),r=await am())}return r&&a6[r]?(o$e(a6[r]),await s$e(t,a6[r],e)):(o$e(a6.china),await s$e(t,a6.china,e))}function o$e(t="ap-guangzhou"){let e=t==="ap-guangzhou";process.send&&process.send(JSON.stringify({isDomestic:e}))}var b$e=Bt(require("open")),E$e=require("crypto");var g$e=Bt(require("http"));tf();var Ufr="/pages/connect",a$e=t=>t==="global"?"https://console.tencentcloud.com/edgeone/makers":"https://console.cloud.tencent.com/edgeone/makers",c$e=t=>t==="global"?"https://edgeone.tencentcloud.com/logo/BlackHeadLogo.svg":"https://edgeone.cloud.tencent.com/logo/BlackHeadLogo.svg",u$e=t=>{let e=t==="global";return{lang:e?"en":"zh-CN",successTitle:e?"Login successful, please return to the original app to continue":"\u767B\u5F55\u6210\u529F\uFF0C\u8BF7\u8FD4\u56DE\u539F\u5E94\u7528\u7EE7\u7EED\u4F7F\u7528",successDescription:e?"You will be redirected to the Makers console in 5 seconds":"5 \u79D2\u540E\u81EA\u52A8\u8DF3\u8F6C\u5230 Makers \u63A7\u5236\u53F0",successButtonText:e?"Go Console":"\u56DE\u5230\u63A7\u5236\u53F0",errorTitle:e?"Login failed. Please return to the original app and try again":"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u8FD4\u56DE\u539F\u5E94\u7528\u91CD\u8BD5"}},l$e=t=>t==="global"?`
578
+ `+s)}}catch{}}throw n}}_request(e,r){typeof e=="string"?(r=r||{},r.url=e):r=e||{},r=Tb(this.defaults,r);let{transitional:n,paramsSerializer:o,headers:s}=r;n!==void 0&&Xq.assertOptions(n,{silentJSONParsing:M0.transitional(M0.boolean),forcedJSONParsing:M0.transitional(M0.boolean),clarifyTimeoutError:M0.transitional(M0.boolean),legacyInterceptorReqResOrdering:M0.transitional(M0.boolean),advertiseZstdAcceptEncoding:M0.transitional(M0.boolean)},!1),o!=null&&(lt.isFunction(o)?r.paramsSerializer={serialize:o}:Xq.assertOptions(o,{encode:M0.function,serialize:M0.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),Xq.assertOptions(r,{baseUrl:M0.spelling("baseURL"),withXsrfToken:M0.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let c=s&&lt.merge(s.common,s[r.method]);s&&lt.forEach(["delete","get","head","post","put","patch","query","common"],A=>{delete s[A]}),r.headers=qu.concat(c,s);let u=[],p=!0;this.interceptors.request.forEach(function(S){if(typeof S.runWhen=="function"&&S.runWhen(r)===!1)return;p=p&&S.synchronous;let E=r.transitional||uk;E&&E.legacyInterceptorReqResOrdering?u.unshift(S.fulfilled,S.rejected):u.push(S.fulfilled,S.rejected)});let f=[];this.interceptors.response.forEach(function(S){f.push(S.fulfilled,S.rejected)});let h,g=0,y;if(!p){let A=[xW.bind(this),void 0];for(A.unshift(...u),A.push(...f),y=A.length,h=Promise.resolve(r);g<y;)h=h.then(A[g++],A[g++]);return h}y=u.length;let v=r;for(;g<y;){let A=u[g++],S=u[g++];try{v=A(v)}catch(E){S.call(this,E);break}}try{h=xW.call(this,v)}catch(A){return Promise.reject(A)}for(g=0,y=f.length;g<y;)h=h.then(f[g++],f[g++]);return h}getUri(e){e=Tb(this.defaults,e);let r=jD(e.baseURL,e.url,e.allowAbsoluteUrls);return LD(r,e.params,e.paramsSerializer)}};lt.forEach(["delete","get","head","options"],function(e){ZF.prototype[e]=function(r,n){return this.request(Tb(n||{},{method:e,url:r,data:(n||{}).data}))}});lt.forEach(["post","put","patch","query"],function(e){function r(n){return function(s,c,u){return this.request(Tb(u||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:s,data:c}))}}ZF.prototype[e]=r(),e!=="query"&&(ZF.prototype[e+"Form"]=r(!0))});var Zq=ZF;var lde=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(s){r=s});let n=this;this.promise.then(o=>{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](o);n._listeners=null}),this.promise.then=o=>{let s,c=new Promise(u=>{n.subscribe(u),s=u}).then(o);return c.cancel=function(){n.unsubscribe(s)},c},e(function(s,c,u){n.reason||(n.reason=new ty(s,c,u),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let r=this._listeners.indexOf(e);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){let e=new AbortController,r=n=>{e.abort(n)};return this.subscribe(r),e.signal.unsubscribe=()=>this.unsubscribe(r),e.signal}static source(){let e;return{token:new t(function(o){e=o}),cancel:e}}},_7e=lde;function pde(t){return function(r){return t.apply(null,r)}}function fde(t){return lt.isObject(t)&&t.isAxiosError===!0}var dde={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(dde).forEach(([t,e])=>{dde[e]=t});var S7e=dde;function C7e(t){let e=new Zq(t),r=Dq(Zq.prototype.request,e);return lt.extend(r,Zq.prototype,e,{allOwnKeys:!0}),lt.extend(r,e,null,{allOwnKeys:!0}),r.create=function(o){return C7e(Tb(t,o))},r}var Zp=C7e(VF);Zp.Axios=Zq;Zp.CanceledError=ty;Zp.CancelToken=_7e;Zp.isCancel=Qq;Zp.VERSION=rC;Zp.toFormData=ck;Zp.AxiosError=Jr;Zp.Cancel=Zp.CanceledError;Zp.all=function(e){return Promise.all(e)};Zp.spread=pde;Zp.isAxiosError=fde;Zp.mergeConfig=Tb;Zp.AxiosHeaders=qu;Zp.formToJSON=t=>uW(lt.isHTMLForm(t)?new FormData(t):t);Zp.getAdapter=vW.getAdapter;Zp.HttpStatusCode=S7e;Zp.default=Zp;var iC=Zp;var{Axios:lgi,AxiosError:pgi,CanceledError:fgi,isCancel:dgi,CancelToken:hgi,VERSION:mgi,all:ggi,Cancel:Agi,isAxiosError:ygi,spread:vgi,toFormData:xgi,AxiosHeaders:bgi,HttpStatusCode:Egi,formToJSON:wgi,getAdapter:_gi,mergeConfig:Sgi,create:Cgi}=iC;tf();Hs();tf();var Tde=Bt(require("os"));var hr={COMMAND:"command",REQUEST:"request",LOCAL_FLOW:"local_flow",EXIT:"exit"},pr={SUCCESS:"success",FAIL:"fail",START:"start"},i6={SUCCESS:"success",FAIL:"fail",SIGINT:"sigint",SIGTERM:"sigterm",TIMEOUT:"timeout",UNCAUGHT_EXCEPTION:"uncaught_exception",UNHANDLED_REJECTION:"unhandled_rejection",USER_CANCEL:"user_cancel",UNKNOWN:"unknown"},Bfr=`cli-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;function Dfr(){var t,e;return{run_id:Bfr,cli_version:(e=(t=yb)==null?void 0:t.version)!=null?e:"unknown",node_version:process.version,os_platform:Tde.default.platform(),os_arch:Tde.default.arch(),app_type:"cli",app_id:process.env.AppId||void 0,uin:process.env.Uin||void 0,instance_id:process.env.ProjectId||void 0,is_ci:process.env.CI==="true"}}function Pfr(t,e){try{if(typeof process.send!="function")return;process.send(JSON.stringify({name:t,value:JSON.stringify(e)}))}catch{}}function mr(t){var r;let e={...Dfr(),...t};Pfr((r=e.event_name)!=null?r:"unknown",e)}var iL=(t,e)=>{mr({event_name:t,event_scope:hr.COMMAND,event_result:pr.SUCCESS,message:e})},sg=(t,e)=>{let r=Si(e);mr({event_name:"error",event_scope:hr.COMMAND,event_result:pr.FAIL,error_message:`${t} ${r.message}`.trim(),error_stack:r.stack})},kde=500,Rfr=2e3;function Si(t){if(t==null)return{message:"unknown error",stack:""};if(typeof t=="string")return{message:IW(t,kde),stack:""};if(typeof t=="object"){let e=t,r=IW(typeof e.message=="string"?e.message:String(e),kde),n=IW(typeof e.stack=="string"?e.stack:"",Rfr);return{message:r,stack:n}}return{message:IW(String(t),kde),stack:""}}function IW(t,e){return t.length>e?t.slice(0,e)+"\u2026[truncated]":t}var Nfr=new Set(["region","framework","mode","env","e","area","a","debug","external"]),Ofr=new Set(["token","t","secret","key","cookie","authorization","blobCredential","sandboxCredential"]),Ffr=new Set(["path","name","n","projectName","file","f","directoryOrZip"]);function t$e(t){let e={};for(let[r,n]of Object.entries(t))if(!(r==="_"||r==="$0")){if(typeof n=="boolean"){e[r]=n;continue}if(Ofr.has(r)){e[`has_${r}`]=n!=null&&n!==""&&n!==!1;continue}if(Nfr.has(r)){e[r]=String(n!=null?n:"");continue}if(Ffr.has(r)){e[`${r}_kind`]=Lfr(n);continue}e[`has_${r}`]=n!=null&&n!==""&&n!==!1}return e}function Lfr(t){return t==null||t===""?"absent":typeof t!="string"?"present":t.startsWith("/")?"absolute":t.startsWith("./")||t.startsWith("../")?"relative":t.startsWith("~")?"home_relative":"present"}Hs();var ny={global:"https://pages-api.edgeone.ai/v1",china:"https://pages-api.cloud.tencent.com/v1"};var kW={global:"ap-singapore",china:"ap-guangzhou"},s6={global:"https://edgeone.tencentcloud.com",china:"https://edgeone.cloud.tencent.com"},Bde={global:"https://edgeone.ai/login",china:"https://cloud.tencent.com/login"},Dde="/makers/cli-login",Pde={"ap-guangzhou":"china","ap-singapore":"global"};var Ygi=require("fs"),Jgi=require("path"),jfr=["china","global"];function Mfr(t){return ny[t]}async function Qfr(t){var e,r,n;for(let o of jfr)try{let s=Mfr(o),c=await iC.post(s,JSON.stringify({Action:"DescribePagesProjects",PageNumber:1,PageSize:10,Region:kW[o]}),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},timeout:15e3}),u=((r=(e=c==null?void 0:c.data)==null?void 0:e.Data)==null?void 0:r.Response)||(c==null?void 0:c.data);if((u==null?void 0:u.Code)!=null||((n=u==null?void 0:u.Error)==null?void 0:n.Code)!=null)continue;if(u&&Array.isArray(u.Projects))return o}catch{}return null}async function am(){if(process.env.EDGEONE_PAGES_API_REGION)return process.env.EDGEONE_PAGES_API_REGION;let t=tL();if(t!=null&&t.region)return t.region;if(t!=null&&t.token){let e=await Qfr(t.token);if(e){try{eL({token:t.token,region:e})}catch{}return e}}return await oC("login_region")}tf();Hs();var qfr=async()=>{let t=await am(),e=ny[t];if(e)return e;ar(`Invalid region: ${t}`)},Ww=async()=>{if(process.env.EDGEONE_PAGES_API_TOKEN)return process.env.EDGEONE_PAGES_API_TOKEN;let t=tL();if(t!=null&&t.token)return t.token;try{return(await oC("eo_token")).Token}catch{return}},r$e=async()=>{try{let t=await oC("eo_token");return!t||typeof t!="object"?void 0:{loginType:t.loginType,corpId:t.corpId,corpName:t.corpName,openId:t.openId}}catch{return}},o6=async(t,e)=>{var c,u;let r=e||await qfr(),o={"Content-Type":"application/json",Authorization:`Bearer ${await Ww()}`},s=await iC.post(r,JSON.stringify(t),{headers:o,timeout:15e3});return((u=(c=s.data)==null?void 0:c.Data)==null?void 0:u.Response)||s.data},n$e=async(t,e)=>{var o,s,c,u,p,f;let r=e||await am(),n=ny[r]||ny.china;if(!n)throw new Error("Login get token failed, invalid login region.");try{let h=await iC.post(n,JSON.stringify({Action:"CreateOrDescribeTokenByMCP",Name:"edgeone-cli-auto-generated"}),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}}),g=(c=(s=(o=h==null?void 0:h.data)==null?void 0:o.Data)==null?void 0:s.Response)==null?void 0:c.TokenData;if(!(g!=null&&g.Token)){let y=(u=h==null?void 0:h.data)==null?void 0:u.Code,v=(p=h==null?void 0:h.data)==null?void 0:p.Message,A=(f=h==null?void 0:h.data)==null?void 0:f.RequestId,S=y!=null?`server Code=${y}, Message=${v}, RequestId=${A}, site=${r}`:`unexpected response shape from ${n}`;throw new Error(`Token exchange returned an empty result. ${S}`)}return g}catch(h){let g=h instanceof Error?h.message:"Unknown error";throw new Error(`Login get token failed, please try again. ${g}`)}};tf();Hs();function i$e(t){var o,s,c,u,p,f;let e=Si(t),r=(o=t==null?void 0:t.response)!=null&&o.status?String(t.response.status):"";return{error_code:((f=(p=(u=(c=(s=t==null?void 0:t.response)==null?void 0:s.data)==null?void 0:c.Data)==null?void 0:u.Response)==null?void 0:p.Error)==null?void 0:f.Code)||(t==null?void 0:t.errorCode)||"",error_message:e.message,http_status:r}}async function s$e(t,e,r){let n=Pde[e]||"unknown";return await o6({Action:t,...r}).catch(s=>{var p,f,h,g;if(s.errorCode==="UnsupportedRegion")return;let c=i$e(s);mr({event_name:"Request:Error",event_scope:hr.REQUEST,event_result:pr.FAIL,event_phase:"request",action:t,region:n,...c});let u=(s==null?void 0:s.requestId)||((g=(h=(f=(p=s==null?void 0:s.response)==null?void 0:p.data)==null?void 0:f.Data)==null?void 0:h.Response)==null?void 0:g.RequestId)||"";ar(`A request error occurred, please try again, but if the problem persists, contact us.(${u?u+": ":""}${c.error_message})`),process.env.DEBUG&&console.log("request error",t,Si(s).message),(s.errorCode==="AuthFailure.SignatureFailure"||s.errorCode==="AuthFailure.SecretIdNotFound")&&iy()}).then(s=>s,s=>{var p,f,h,g;let c=i$e(s);mr({event_name:"Request:Failed",event_scope:hr.REQUEST,event_result:pr.FAIL,event_phase:"request",action:t,region:n,...c});let u=(s==null?void 0:s.requestId)||((g=(h=(f=(p=s==null?void 0:s.response)==null?void 0:p.data)==null?void 0:f.Data)==null?void 0:h.Response)==null?void 0:g.RequestId)||"";throw ar(`Request Failed: ${t}${u?", RequestId: "+u:""}: ${c.error_message}`),s})}var a6={china:"ap-guangzhou",global:"ap-singapore"},Q0=async()=>{let t=async r=>{let n=Pde[r],o;return o=ny[n],{success:!!(await o6({Action:"DescribePagesProjects",PageNumber:1,PageSize:10,Region:r},o)).Projects}},e=["ap-guangzhou","ap-singapore"];try{for(let r of e)(await t(r)).success&&(r==="ap-guangzhou"?process.env.EDGEONE_PAGES_API_REGION="china":r==="ap-singapore"&&(process.env.EDGEONE_PAGES_API_REGION="global"))}catch(r){ar(`check and set region failed: ${r}`)}process.env.EDGEONE_PAGES_API_REGION||(process.env.DEBUG&&console.log("[debug] checkAndSetRegion: no region detected, defaulting to china"),process.env.EDGEONE_PAGES_API_REGION="china")};async function rf(t,e){var n;let r=await am();if(!r){let o=!!((n=tL())!=null&&n.token);process.env.EDGEONE_PAGES_API_TOKEN||o?(process.env.DEBUG&&console.log("[debug] pagesCapi: token set but no region, defaulting to china"),r="china"):(await iy(),r=await am())}return r&&a6[r]?(o$e(a6[r]),await s$e(t,a6[r],e)):(o$e(a6.china),await s$e(t,a6.china,e))}function o$e(t="ap-guangzhou"){let e=t==="ap-guangzhou";process.send&&process.send(JSON.stringify({isDomestic:e}))}var b$e=Bt(require("open")),E$e=require("crypto");var g$e=Bt(require("http"));tf();var Ufr="/pages/connect",a$e=t=>t==="global"?"https://console.tencentcloud.com/edgeone/makers":"https://console.cloud.tencent.com/edgeone/makers",c$e=t=>t==="global"?"https://edgeone.tencentcloud.com/logo/BlackHeadLogo.svg":"https://edgeone.cloud.tencent.com/logo/BlackHeadLogo.svg",u$e=t=>{let e=t==="global";return{lang:e?"en":"zh-CN",successTitle:e?"Login successful, please return to the original app to continue":"\u767B\u5F55\u6210\u529F\uFF0C\u8BF7\u8FD4\u56DE\u539F\u5E94\u7528\u7EE7\u7EED\u4F7F\u7528",successDescription:e?"You will be redirected to the Makers console in 5 seconds":"5 \u79D2\u540E\u81EA\u52A8\u8DF3\u8F6C\u5230 Makers \u63A7\u5236\u53F0",successButtonText:e?"Go Console":"\u56DE\u5230\u63A7\u5236\u53F0",errorTitle:e?"Login failed. Please return to the original app and try again":"\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u8FD4\u56DE\u539F\u5E94\u7528\u91CD\u8BD5"}},l$e=t=>t==="global"?`
579
579
  <ol class="footer-links">
580
580
  <li><a href="https://www.tencentcloud.com/document/product/301/9248?s_url=https%3A%2F%2Fedgeone.ai" target="_blank" rel="noreferrer">Terms of Service</a></li>
581
581
  <li class="footer-separator">\xB7</li>
@@ -934,7 +934,7 @@ ${A.join(`
934
934
  }
935
935
  </script>
936
936
  </body>
937
- </html>`};Hs();var $fr=60*60*1e3,zfr=64*1024,Hfr=16*1024,Vfr=new Set(["https://edgeone.cloud.tencent.com","https://edgeone.tencentcloud.com","https://edgeone.ai","https://pre.edgeone.ai"]),TW=class{options;port;server;readyPromise;resultPromise;resolveReady;rejectReady;resolveResult;timeoutHandle;completed=!1;processing=!1;constructor(e){this.options=e,this.port=e.port||1025,this.readyPromise=new Promise((r,n)=>{this.resolveReady=r,this.rejectReady=n}),this.resultPromise=new Promise(r=>{this.resolveResult=r}),this.timeoutHandle=setTimeout(()=>{this.completed||(this.completed=!0,this.processing=!1,this.resolveResult({success:!1,message:""}),this.closeServer())},e.timeoutMs||$fr),this.server=g$e.default.createServer(this.handleRequest.bind(this)),this.server.on("error",this.handleError.bind(this)),this.server.listen(this.port,"127.0.0.1",()=>{this.resolveReady()})}waitUntilReady(){return this.readyPromise}waitForResult(){return this.resultPromise}async handleRequest(e,r){let n=new URL(e.url||"/",`http://127.0.0.1:${this.port}`);if(n.pathname!==Rde){this.sendMethodNotAllowed(r);return}if(e.method==="OPTIONS"){this.handlePreflight(e,r);return}if(e.method==="POST"){await this.handlePost(e,r);return}if(e.method==="GET"){if(!n.search){r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(m$e({region:this.options.region}));return}await this.handleGet(n,r);return}this.sendMethodNotAllowed(r)}handlePreflight(e,r){let n=e.headers.origin;if(!n||!this.isAllowedOrigin(n)){r.writeHead(403,{"Content-Type":"text/plain; charset=utf-8"}),r.end("Origin is not allowed");return}this.setCorsHeaders(e,r,n),r.writeHead(204),r.end()}async handlePost(e,r){let n=e.headers.origin;if(n&&!this.isAllowedOrigin(n)){r.writeHead(403,{"Content-Type":"application/json; charset=utf-8"}),r.end(JSON.stringify({code:403,success:!1,message:"Origin is not allowed"}));return}if(n&&this.setCorsHeaders(e,r,n),!String(e.headers["content-type"]||"").toLowerCase().startsWith("application/json")){this.sendJson(r,415,{code:415,success:!1,message:"Content-Type must be application/json"});return}let o;try{o=await this.readJsonPayload(e)}catch(s){let c=s instanceof Error?s.message:"Invalid request body";this.sendJson(r,c==="Request body is too large"?413:400,{code:c==="Request body is too large"?413:400,success:!1,message:c});return}if(this.completed||this.processing){this.sendJson(r,200,{code:0,success:!0,message:"Login request already accepted"});return}try{await this.processLogin(o),this.sendJson(r,200,{code:0,success:!0,message:"Login success"},()=>{this.finish({success:!0,message:"Login success"})})}catch(s){let c=s instanceof Error?s.message:String(s);Mt(`[pages-login] token exchange failed: ${c}`),this.sendJson(r,400,{code:400,success:!1,message:c},()=>{this.finish({success:!1,message:c})})}}async handleGet(e,r){let o=e.searchParams.get("region")||this.options.region;if(this.completed||this.processing){r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(c6({region:o,status:"success"}));return}let s;try{s=this.parseGetPayload(e)}catch(c){let u=c instanceof Error?c.message:String(c);Mt(`[pages-login] invalid callback payload: ${u}`),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(c6({region:o,status:"error",message:u}),()=>{this.finish({success:!1,message:u})});return}try{await this.processLogin(s),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(c6({region:o,status:"success"}),()=>{this.finish({success:!0,message:"Login success"})})}catch(c){let u=c instanceof Error?c.message:String(c);Mt(`[pages-login] token exchange failed: ${u}`),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(c6({region:o,status:"error",message:u}),()=>{this.finish({success:!1,message:u})})}}parseGetPayload(e){let r=e.searchParams,n=r.get("__eo_sso_cb");if(n)return this.decodeTenantCallback(n);let o={token:r.get("token")||void 0,state:r.get("state")||void 0,loginType:r.get("loginType")||void 0,provider:r.get("provider")||void 0,corpId:r.get("corpId")||void 0,corpName:r.get("corpName")||void 0,region:r.get("region")||void 0,openId:r.get("openId")||void 0,expired:r.get("expired")?Number(r.get("expired")):void 0};if(o.token)return o;let s=e.search.slice(1),u=r.get("payload")||(s&&!s.includes("&")&&!/^(token|state|loginType|provider|corpId|corpName|region|openId|expired|__eo_sso_cb)=/.test(s)?s:"");return u?this.decodeTenantCallback(u):o}decodeTenantCallback(e){let r;try{r=decodeURIComponent(e)}catch{throw new Error("Login callback payload is not valid URL encoding.")}if(Buffer.byteLength(r,"utf8")>Hfr)throw new Error("Login callback payload is too large.");let n=r.replace(/-/g,"+").replace(/_/g,"/");if(!/^[A-Za-z0-9+/]*={0,2}$/.test(n)||n.length%4===1)throw new Error("Login callback payload is not valid Base64.");let o=n.padEnd(n.length+(4-n.length%4)%4,"="),s;try{let u=Buffer.from(o,"base64").toString("utf8");if(Buffer.from(u,"utf8").toString("base64").replace(/=+$/,"")!==n.replace(/=+$/,""))throw new Error("Non-canonical Base64");s=JSON.parse(u)}catch{throw new Error("Login callback payload cannot be decoded.")}if(!s||typeof s!="object"||Array.isArray(s))throw new Error("Login callback payload must contain a JSON object.");let c=s;return{token:typeof c.token=="string"?c.token:void 0,state:typeof c.state=="string"?c.state:void 0,openId:typeof c.openId=="string"?c.openId:void 0,expired:typeof c.expired=="number"?c.expired:void 0,loginType:"dingtalk"}}async processLogin(e){let r=e.token;if(!r)throw new Error("Login payload missing token field.");if(this.options.state&&(!e.state||e.state!==this.options.state))throw new Error("Login state mismatch. Possible CSRF or stale login page.");if(e.expired!=null){if(!Number.isSafeInteger(e.expired)||e.expired<=0)throw new Error("Login token expiration is invalid.");if(e.expired<=Math.floor(Date.now()/1e3))throw new Error("Login Tenant Token has expired.")}this.processing=!0;let n=e.loginType||e.provider,o;n==="dingtalk"?o={Token:r}:o=await n$e(r);let s=o;n&&(s={...o,loginType:n},e.corpId&&(s.corpId=e.corpId),e.corpName&&(s.corpName=e.corpName),e.openId&&(s.openId=e.openId),e.expired!=null&&(s.expired=e.expired)),await Db("eo_token",s);let c=e.region||this.options.region;if(c&&await Db("login_region",c),this.options.local)try{eL({token:o.Token,region:c})}catch(u){let p=`Failed to write <cwd>/.edgeone/auth.json: ${u instanceof Error?u.message:String(u)}`;throw Mt(`[pages-login] ${p}`),new Error(p)}}readJsonPayload(e){return new Promise((r,n)=>{let o="",s=0,c=!1;e.setEncoding("utf8"),e.on("data",u=>{if(!c){if(s+=Buffer.byteLength(u),s>zfr){c=!0,n(new Error("Request body is too large"));return}o+=u}}),e.on("end",()=>{if(!c)try{let u=JSON.parse(o||"{}");if(!u||typeof u!="object"||Array.isArray(u))throw new Error("Request body must be a JSON object");r(u)}catch(u){n(u instanceof Error?u:new Error("Invalid JSON body"))}}),e.on("error",n)})}isAllowedOrigin(e){return Vfr.has(e)||e===`http://127.0.0.1:${this.port}`||e===`http://localhost:${this.port}`}setCorsHeaders(e,r,n){r.setHeader("Access-Control-Allow-Origin",n),r.setHeader("Vary","Origin"),r.setHeader("Access-Control-Allow-Methods","POST, OPTIONS"),r.setHeader("Access-Control-Allow-Headers","Content-Type"),r.setHeader("Access-Control-Max-Age","600"),e.headers["access-control-request-private-network"]==="true"&&r.setHeader("Access-Control-Allow-Private-Network","true")}sendJson(e,r,n,o){e.writeHead(r,{"Content-Type":"application/json; charset=utf-8"}),e.end(JSON.stringify(n),o)}sendMethodNotAllowed(e){e.writeHead(405,{"Content-Type":"text/plain; charset=utf-8",Allow:"GET, POST, OPTIONS"}),e.end("Only GET, POST and OPTIONS /pages/connect are supported")}handleError(e){e.code==="EADDRINUSE"?(console.log(`Port ${this.port} is already in use`),this.rejectReady(new Error(`Port ${this.port} is already in use`))):(console.error("An error occurred:",e),this.rejectReady(e)),this.completed||(this.completed=!0,this.resolveResult({success:!1,message:""}))}finish(e){var r,n;this.completed||(this.completed=!0,this.processing=!1,this.resolveResult(e),e.success&&((n=(r=this.options).callback)==null||n.call(r)),this.closeServer())}closeServer(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.server.listening&&this.server.close()}};var l6=require("fs"),Jfr=require("path"),x$e=v$e();async function Kfr(){return new Promise((t,e)=>{x$e.setBasePort(1024),x$e.getPort((r,n)=>{if(r){e(r);return}t(n)})})}function Xfr(t,e,r={}){let{state:n}=r,o=`${s6[t]||s6.china}${Dde}`,s=new URLSearchParams({p:String(e)});return n&&s.set("state",n),`${o}?${s.toString()}`}function Zfr(t,e,r){let n=`${s6[t]||s6.china}${Dde}`,o=new URLSearchParams({p:String(e),from:"console",region:t});r&&o.set("state",r);let s=encodeURIComponent(`${n}?${o.toString()}`);return`${Bde[t]||Bde.china}?s_url=${s}`}async function Qde(t,e={}){let r=await Kfr(),n=(0,E$e.randomUUID)(),o=t==="global"?"global":"china",s;!t||t==="sso"?s=Xfr(o,r,{state:n}):s=Zfr(t,r,n),Mt("Jumping to login page..."),Mt("Please come back after login."),await Db("login_region",o);let c=await am(),u=new TW({region:c,port:r,local:e.local,state:n});await u.waitUntilReady(),console.log("If the browser does not open automatically, please visit:"),nL(s),await(0,b$e.default)(s).catch(()=>{Mt("Browser could not be opened automatically. Please open the login URL manually.")});let p=await u.waitForResult();if(!p.success)throw new Error(p.message||"Login failed. Please try again.")}async function w$e(){if(process.env.EDGEONE_PAGES_API_TOKEN){let r=await rf("DescribeUserInfo",{}).catch(n=>{sg("Run whoami command failed.",{message:n.errorMessage,stack:n}),ar("You are not authenticated. Please run `edgeone login`."),process.exit(1)});return r!=null&&r.Code?(ar("Your token is not valid."),!1):!0}if(!await Ww())return!1;let e=await rf("DescribeUserInfo",{}).catch(r=>{sg("Run whoami command failed.",{message:r.errorMessage,stack:r}),ar("You are not authenticated. Please run `edgeone login`."),process.exit(1)});return!(e!=null&&e.Code)}var edr=["china","global"];function tdr(t){return ny[t]}function rdr(t){var r;let e=(r=t==null?void 0:t.response)==null?void 0:r.status;return!(t!=null&&t.tokenLoginAuthError)&&!(t!=null&&t.response)||(t==null?void 0:t.code)==="ECONNABORTED"||(t==null?void 0:t.code)==="ETIMEDOUT"||e>=500}function ndr(t){var r;let e=(r=t==null?void 0:t.response)==null?void 0:r.status;return(t==null?void 0:t.tokenLoginAuthError)||e>=400&&e<500}function idr(){return Object.assign(new Error("Token validation rejected."),{tokenLoginAuthError:!0})}function sdr(t){var e;return(t==null?void 0:t.Code)!=null||((e=t==null?void 0:t.Error)==null?void 0:e.Code)!=null}async function odr(t,e){var c,u;let r=tdr(e),n=kW[e],o=await iC.post(r,JSON.stringify({Action:"DescribePagesProjects",PageNumber:1,PageSize:10,Region:n}),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},timeout:15e3}),s=((u=(c=o==null?void 0:o.data)==null?void 0:c.Data)==null?void 0:u.Response)||(o==null?void 0:o.data);if(sdr(s))throw idr();if(!s||!Array.isArray(s.Projects))throw new Error("Invalid token validation response.");return!0}async function adr(t,e={}){let r=!1,n=!1;for(let o of edr)try{if(await odr(t,o)){if(await Db("eo_token",{Token:t}),await Db("login_region",o),e.local)try{eL({token:t,region:o})}catch(s){ar(`Failed to write <cwd>/.edgeone/auth.json: ${s instanceof Error?s.message:String(s)}`),process.exit(1)}return sL(),o}}catch(s){ndr(s)&&(n=!0),rdr(s)&&(r=!0)}throw!n&&r?new Error("Token validation failed. Please check your network or try again later."):new Error("Token cannot be validated against supported sites.")}async function iy(t){if(!await w$e()){au()&&(ar("You are not authenticated, and browser login is unavailable in a non-interactive environment."),ar("Please provide a token via `-t <token>` or set the EDGEONE_PAGES_API_TOKEN environment variable."),ar("Get a token at: https://console.cloud.tencent.com/edgeone/pages?tab=settings"),process.exit(1)),Mt(`You need to log in first to run this command.
937
+ </html>`};Hs();var $fr=60*60*1e3,zfr=64*1024,Hfr=16*1024,Vfr=new Set(["https://edgeone.cloud.tencent.com","https://edgeone.tencentcloud.com","https://edgeone.ai","https://pre.edgeone.ai"]),TW=class{options;port;server;readyPromise;resultPromise;resolveReady;rejectReady;resolveResult;timeoutHandle;completed=!1;processing=!1;constructor(e){this.options=e,this.port=e.port||1025,this.readyPromise=new Promise((r,n)=>{this.resolveReady=r,this.rejectReady=n}),this.resultPromise=new Promise(r=>{this.resolveResult=r}),this.timeoutHandle=setTimeout(()=>{this.completed||(this.completed=!0,this.processing=!1,this.resolveResult({success:!1,message:""}),this.closeServer())},e.timeoutMs||$fr),this.server=g$e.default.createServer(this.handleRequest.bind(this)),this.server.on("error",this.handleError.bind(this)),this.server.listen(this.port,"127.0.0.1",()=>{this.resolveReady()})}waitUntilReady(){return this.readyPromise}waitForResult(){return this.resultPromise}async handleRequest(e,r){let n=new URL(e.url||"/",`http://127.0.0.1:${this.port}`);if(n.pathname!==Rde){this.sendMethodNotAllowed(r);return}if(e.method==="OPTIONS"){this.handlePreflight(e,r);return}if(e.method==="POST"){await this.handlePost(e,r);return}if(e.method==="GET"){if(!n.search){r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(m$e({region:this.options.region}));return}await this.handleGet(n,r);return}this.sendMethodNotAllowed(r)}handlePreflight(e,r){let n=e.headers.origin;if(!n||!this.isAllowedOrigin(n)){r.writeHead(403,{"Content-Type":"text/plain; charset=utf-8"}),r.end("Origin is not allowed");return}this.setCorsHeaders(e,r,n),r.writeHead(204),r.end()}async handlePost(e,r){let n=e.headers.origin;if(n&&!this.isAllowedOrigin(n)){r.writeHead(403,{"Content-Type":"application/json; charset=utf-8"}),r.end(JSON.stringify({code:403,success:!1,message:"Origin is not allowed"}));return}if(n&&this.setCorsHeaders(e,r,n),!String(e.headers["content-type"]||"").toLowerCase().startsWith("application/json")){this.sendJson(r,415,{code:415,success:!1,message:"Content-Type must be application/json"});return}let o;try{o=await this.readJsonPayload(e)}catch(s){let c=s instanceof Error?s.message:"Invalid request body";this.sendJson(r,c==="Request body is too large"?413:400,{code:c==="Request body is too large"?413:400,success:!1,message:c});return}if(this.completed||this.processing){this.sendJson(r,200,{code:0,success:!0,message:"Login request already accepted"});return}try{await this.processLogin(o),this.sendJson(r,200,{code:0,success:!0,message:"Login success"},()=>{this.finish({success:!0,message:"Login success"})})}catch(s){let c=s instanceof Error?s.message:String(s);Mt(`[pages-login] token exchange failed: ${c}`),this.sendJson(r,400,{code:400,success:!1,message:c},()=>{this.finish({success:!1,message:c})})}}async handleGet(e,r){let o=e.searchParams.get("region")||this.options.region;if(this.completed||this.processing){r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(c6({region:o,status:"success"}));return}let s;try{s=this.parseGetPayload(e)}catch(c){let u=c instanceof Error?c.message:String(c);Mt(`[pages-login] invalid callback payload: ${u}`),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(c6({region:o,status:"error",message:u}),()=>{this.finish({success:!1,message:u})});return}try{await this.processLogin(s),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(c6({region:o,status:"success"}),()=>{this.finish({success:!0,message:"Login success"})})}catch(c){let u=c instanceof Error?c.message:String(c);Mt(`[pages-login] token exchange failed: ${u}`),r.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),r.end(c6({region:o,status:"error",message:u}),()=>{this.finish({success:!1,message:u})})}}parseGetPayload(e){let r=e.searchParams,n=r.get("__eo_sso_cb");if(n)return this.decodeTenantCallback(n);let o={token:r.get("token")||void 0,state:r.get("state")||void 0,loginType:r.get("loginType")||void 0,provider:r.get("provider")||void 0,corpId:r.get("corpId")||void 0,corpName:r.get("corpName")||void 0,region:r.get("region")||void 0,openId:r.get("openId")||void 0,expired:r.get("expired")?Number(r.get("expired")):void 0};if(o.token)return o;let s=e.search.slice(1),u=r.get("payload")||(s&&!s.includes("&")&&!/^(token|state|loginType|provider|corpId|corpName|region|openId|expired|__eo_sso_cb)=/.test(s)?s:"");return u?this.decodeTenantCallback(u):o}decodeTenantCallback(e){let r;try{r=decodeURIComponent(e)}catch{throw new Error("Login callback payload is not valid URL encoding.")}if(Buffer.byteLength(r,"utf8")>Hfr)throw new Error("Login callback payload is too large.");let n=r.replace(/-/g,"+").replace(/_/g,"/");if(!/^[A-Za-z0-9+/]*={0,2}$/.test(n)||n.length%4===1)throw new Error("Login callback payload is not valid Base64.");let o=n.padEnd(n.length+(4-n.length%4)%4,"="),s;try{let u=Buffer.from(o,"base64").toString("utf8");if(Buffer.from(u,"utf8").toString("base64").replace(/=+$/,"")!==n.replace(/=+$/,""))throw new Error("Non-canonical Base64");s=JSON.parse(u)}catch{throw new Error("Login callback payload cannot be decoded.")}if(!s||typeof s!="object"||Array.isArray(s))throw new Error("Login callback payload must contain a JSON object.");let c=s;return{token:typeof c.token=="string"?c.token:void 0,state:typeof c.state=="string"?c.state:void 0,openId:typeof c.openId=="string"?c.openId:void 0,expired:typeof c.expired=="number"?c.expired:void 0,loginType:"dingtalk"}}async processLogin(e){let r=e.token;if(!r)throw new Error("Login payload missing token field.");if(this.options.state&&(!e.state||e.state!==this.options.state))throw new Error("Login state mismatch. Possible CSRF or stale login page.");if(e.expired!=null){if(!Number.isSafeInteger(e.expired)||e.expired<=0)throw new Error("Login token expiration is invalid.");if(e.expired<=Math.floor(Date.now()/1e3))throw new Error("Login Tenant Token has expired.")}this.processing=!0;let n=e.region||this.options.region,o=e.loginType||e.provider,s;o==="dingtalk"?s={Token:r}:s=await n$e(r,n);let c=s;if(o&&(c={...s,loginType:o},e.corpId&&(c.corpId=e.corpId),e.corpName&&(c.corpName=e.corpName),e.openId&&(c.openId=e.openId),e.expired!=null&&(c.expired=e.expired)),await Db("eo_token",c),n&&await Db("login_region",n),this.options.local)try{eL({token:s.Token,region:n})}catch(u){let p=`Failed to write <cwd>/.edgeone/auth.json: ${u instanceof Error?u.message:String(u)}`;throw Mt(`[pages-login] ${p}`),new Error(p)}}readJsonPayload(e){return new Promise((r,n)=>{let o="",s=0,c=!1;e.setEncoding("utf8"),e.on("data",u=>{if(!c){if(s+=Buffer.byteLength(u),s>zfr){c=!0,n(new Error("Request body is too large"));return}o+=u}}),e.on("end",()=>{if(!c)try{let u=JSON.parse(o||"{}");if(!u||typeof u!="object"||Array.isArray(u))throw new Error("Request body must be a JSON object");r(u)}catch(u){n(u instanceof Error?u:new Error("Invalid JSON body"))}}),e.on("error",n)})}isAllowedOrigin(e){return Vfr.has(e)||e===`http://127.0.0.1:${this.port}`||e===`http://localhost:${this.port}`}setCorsHeaders(e,r,n){r.setHeader("Access-Control-Allow-Origin",n),r.setHeader("Vary","Origin"),r.setHeader("Access-Control-Allow-Methods","POST, OPTIONS"),r.setHeader("Access-Control-Allow-Headers","Content-Type"),r.setHeader("Access-Control-Max-Age","600"),e.headers["access-control-request-private-network"]==="true"&&r.setHeader("Access-Control-Allow-Private-Network","true")}sendJson(e,r,n,o){e.writeHead(r,{"Content-Type":"application/json; charset=utf-8"}),e.end(JSON.stringify(n),o)}sendMethodNotAllowed(e){e.writeHead(405,{"Content-Type":"text/plain; charset=utf-8",Allow:"GET, POST, OPTIONS"}),e.end("Only GET, POST and OPTIONS /pages/connect are supported")}handleError(e){e.code==="EADDRINUSE"?(console.log(`Port ${this.port} is already in use`),this.rejectReady(new Error(`Port ${this.port} is already in use`))):(console.error("An error occurred:",e),this.rejectReady(e)),this.completed||(this.completed=!0,this.resolveResult({success:!1,message:""}))}finish(e){var r,n;this.completed||(this.completed=!0,this.processing=!1,this.resolveResult(e),e.success&&((n=(r=this.options).callback)==null||n.call(r)),this.closeServer())}closeServer(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.server.listening&&this.server.close()}};var l6=require("fs"),Jfr=require("path"),x$e=v$e();async function Kfr(){return new Promise((t,e)=>{x$e.setBasePort(1024),x$e.getPort((r,n)=>{if(r){e(r);return}t(n)})})}function Xfr(t,e,r={}){let{state:n}=r,o=`${s6[t]||s6.china}${Dde}`,s=new URLSearchParams({p:String(e)});return n&&s.set("state",n),`${o}?${s.toString()}`}function Zfr(t,e,r){let n=`${s6[t]||s6.china}${Dde}`,o=new URLSearchParams({p:String(e),from:"console",region:t});r&&o.set("state",r);let s=encodeURIComponent(`${n}?${o.toString()}`);return`${Bde[t]||Bde.china}?s_url=${s}`}async function Qde(t,e={}){let r=await Kfr(),n=(0,E$e.randomUUID)(),o=t==="global"?"global":"china",s;!t||t==="sso"?s=Xfr(o,r,{state:n}):s=Zfr(t,r,n),Mt("Jumping to login page..."),Mt("Please come back after login."),await Db("login_region",o);let c=await am(),u=new TW({region:c,port:r,local:e.local,state:n});await u.waitUntilReady(),console.log("If the browser does not open automatically, please visit:"),nL(s),await(0,b$e.default)(s).catch(()=>{Mt("Browser could not be opened automatically. Please open the login URL manually.")});let p=await u.waitForResult();if(!p.success)throw new Error(p.message||"Login failed. Please try again.")}async function w$e(){if(process.env.EDGEONE_PAGES_API_TOKEN){let r=await rf("DescribeUserInfo",{}).catch(n=>{sg("Run whoami command failed.",{message:n.errorMessage,stack:n}),ar("You are not authenticated. Please run `edgeone login`."),process.exit(1)});return r!=null&&r.Code?(ar("Your token is not valid."),!1):!0}if(!await Ww())return!1;let e=await rf("DescribeUserInfo",{}).catch(r=>{sg("Run whoami command failed.",{message:r.errorMessage,stack:r}),ar("You are not authenticated. Please run `edgeone login`."),process.exit(1)});return!(e!=null&&e.Code)}var edr=["china","global"];function tdr(t){return ny[t]}function rdr(t){var r;let e=(r=t==null?void 0:t.response)==null?void 0:r.status;return!(t!=null&&t.tokenLoginAuthError)&&!(t!=null&&t.response)||(t==null?void 0:t.code)==="ECONNABORTED"||(t==null?void 0:t.code)==="ETIMEDOUT"||e>=500}function ndr(t){var r;let e=(r=t==null?void 0:t.response)==null?void 0:r.status;return(t==null?void 0:t.tokenLoginAuthError)||e>=400&&e<500}function idr(){return Object.assign(new Error("Token validation rejected."),{tokenLoginAuthError:!0})}function sdr(t){var e;return(t==null?void 0:t.Code)!=null||((e=t==null?void 0:t.Error)==null?void 0:e.Code)!=null}async function odr(t,e){var c,u;let r=tdr(e),n=kW[e],o=await iC.post(r,JSON.stringify({Action:"DescribePagesProjects",PageNumber:1,PageSize:10,Region:n}),{headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`},timeout:15e3}),s=((u=(c=o==null?void 0:o.data)==null?void 0:c.Data)==null?void 0:u.Response)||(o==null?void 0:o.data);if(sdr(s))throw idr();if(!s||!Array.isArray(s.Projects))throw new Error("Invalid token validation response.");return!0}async function adr(t,e={}){let r=!1,n=!1;for(let o of edr)try{if(await odr(t,o)){if(await Db("eo_token",{Token:t}),await Db("login_region",o),e.local)try{eL({token:t,region:o})}catch(s){ar(`Failed to write <cwd>/.edgeone/auth.json: ${s instanceof Error?s.message:String(s)}`),process.exit(1)}return sL(),o}}catch(s){ndr(s)&&(n=!0),rdr(s)&&(r=!0)}throw!n&&r?new Error("Token validation failed. Please check your network or try again later."):new Error("Token cannot be validated against supported sites.")}async function iy(t){if(!await w$e()){au()&&(ar("You are not authenticated, and browser login is unavailable in a non-interactive environment."),ar("Please provide a token via `-t <token>` or set the EDGEONE_PAGES_API_TOKEN environment variable."),ar("Get a token at: https://console.cloud.tencent.com/edgeone/pages?tab=settings"),process.exit(1)),Mt(`You need to log in first to run this command.
938
938
  `);try{return await Qde(t),sL(),!0}catch(e){ar(e instanceof Error?e.message:"Login failed. Please try again."),process.exit(1)}}return!1}function sL(){let t=`
939
939
  # Tencent Cloud EdgeOne
940
940
  .env
@@ -2059,6 +2059,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
2059
2059
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
2060
2060
  var LANGGRAPH_SERDE_VERSION = 1;
2061
2061
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
2062
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
2063
+ var STATE_PREFIX = "state";
2064
+ var MAX_STATE_KEY_LENGTH = 256;
2062
2065
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
2063
2066
  var VALID_ROLES = /* @__PURE__ */ new Set([
2064
2067
  "user",
@@ -2105,6 +2108,15 @@ var MemoryStorageError = class extends Error {
2105
2108
  this.cause = cause;
2106
2109
  }
2107
2110
  };
2111
+ var MemoryCorruptError = class extends Error {
2112
+ code = "MemoryCorruptError";
2113
+ cause;
2114
+ constructor(message, cause) {
2115
+ super(message);
2116
+ this.name = "MemoryCorruptError";
2117
+ this.cause = cause;
2118
+ }
2119
+ };
2108
2120
  var dynamicImport = new Function(
2109
2121
  "specifier",
2110
2122
  "return import(specifier);"
@@ -2112,7 +2124,7 @@ var dynamicImport = new Function(
2112
2124
  var langchainLoadPromise;
2113
2125
  var langchainMessagesPromise;
2114
2126
  function isMemoryError(error) {
2115
- return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError;
2127
+ return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError || error instanceof MemoryCorruptError;
2116
2128
  }
2117
2129
  async function wrapStorage(operation) {
2118
2130
  try {
@@ -2280,10 +2292,17 @@ async function reviveLangGraphJsonValue(value) {
2280
2292
  return revived;
2281
2293
  }
2282
2294
  async function deserializeLangGraphJson(value) {
2283
- if (isLangGraphSerializedJson(value)) {
2284
- return reviveLangGraphJsonValue(JSON.parse(value.data));
2295
+ try {
2296
+ if (isLangGraphSerializedJson(value)) {
2297
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
2298
+ }
2299
+ return reviveLangGraphJsonValue(value);
2300
+ } catch (error) {
2301
+ throw new MemoryCorruptError(
2302
+ "LangGraph persisted state is corrupt or incompatible.",
2303
+ error
2304
+ );
2285
2305
  }
2286
- return reviveLangGraphJsonValue(value);
2287
2306
  }
2288
2307
  function normalizeStoreLimit(value, fallback) {
2289
2308
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -2395,6 +2414,115 @@ function validateMessageId(messageId) {
2395
2414
  throw new MemoryValidationError("messageId is required.");
2396
2415
  }
2397
2416
  }
2417
+ function validateStateKey(key) {
2418
+ if (typeof key !== "string" || key.length === 0) {
2419
+ throw new MemoryValidationError("state key is required.");
2420
+ }
2421
+ if (key.length > MAX_STATE_KEY_LENGTH) {
2422
+ throw new MemoryValidationError(
2423
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
2424
+ );
2425
+ }
2426
+ }
2427
+ function assertStateSerializable(value, path = "state value", seen = /* @__PURE__ */ new Set()) {
2428
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
2429
+ return;
2430
+ }
2431
+ if (typeof value === "number") {
2432
+ if (Number.isFinite(value))
2433
+ return;
2434
+ throw new MemoryValidationError(\`\${path} must contain only JSON values.\`);
2435
+ }
2436
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
2437
+ throw new MemoryValidationError(\`\${path} must be JSON serializable.\`);
2438
+ }
2439
+ if (typeof value !== "object") {
2440
+ throw new MemoryValidationError(\`\${path} must be JSON serializable.\`);
2441
+ }
2442
+ if (seen.has(value)) {
2443
+ throw new MemoryValidationError(\`\${path} must not contain circular references.\`);
2444
+ }
2445
+ seen.add(value);
2446
+ if (Array.isArray(value)) {
2447
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path}[\${index}]\`, seen));
2448
+ } else if (isPlainObject(value)) {
2449
+ for (const [key, item] of Object.entries(value)) {
2450
+ assertStateSerializable(item, \`\${path}.\${key}\`, seen);
2451
+ }
2452
+ } else {
2453
+ throw new MemoryValidationError(\`\${path} must contain only JSON values.\`);
2454
+ }
2455
+ seen.delete(value);
2456
+ }
2457
+ function stateConversationPrefix(conversationId) {
2458
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
2459
+ }
2460
+ function createAgentStateStore(store, boundConversationId) {
2461
+ const requireConversation = () => {
2462
+ if (!boundConversationId) {
2463
+ throw new MemoryValidationError(
2464
+ "State operations require a bound conversationId."
2465
+ );
2466
+ }
2467
+ validateConversationId(boundConversationId);
2468
+ return boundConversationId;
2469
+ };
2470
+ return {
2471
+ async get(key) {
2472
+ validateStateKey(key);
2473
+ const conversationId = requireConversation();
2474
+ return wrapStorage(async () => {
2475
+ const raw = await store.get(
2476
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
2477
+ { consistency: "strong" }
2478
+ );
2479
+ if (raw === null)
2480
+ return null;
2481
+ if (typeof raw !== "string") {
2482
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
2483
+ }
2484
+ try {
2485
+ return JSON.parse(raw);
2486
+ } catch (error) {
2487
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error);
2488
+ }
2489
+ });
2490
+ },
2491
+ async set(key, value) {
2492
+ validateStateKey(key);
2493
+ const conversationId = requireConversation();
2494
+ assertStateSerializable(value);
2495
+ let serialized;
2496
+ try {
2497
+ serialized = JSON.stringify(value);
2498
+ } catch (error) {
2499
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error)}\`);
2500
+ }
2501
+ await wrapStorage(
2502
+ () => store.set(
2503
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
2504
+ serialized
2505
+ )
2506
+ );
2507
+ },
2508
+ async delete(key) {
2509
+ validateStateKey(key);
2510
+ const conversationId = requireConversation();
2511
+ await wrapStorage(
2512
+ () => store.delete(
2513
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
2514
+ )
2515
+ );
2516
+ }
2517
+ };
2518
+ }
2519
+ async function deleteAgentState(store, conversationId) {
2520
+ const listed = await store.list({
2521
+ prefix: stateConversationPrefix(conversationId),
2522
+ consistency: "strong"
2523
+ });
2524
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
2525
+ }
2398
2526
  function validateUserId(userId) {
2399
2527
  if (userId === void 0) {
2400
2528
  return;
@@ -2527,6 +2655,9 @@ function cursorSortKey(cursor) {
2527
2655
  const payload = decodeConversationCursor(cursor);
2528
2656
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
2529
2657
  }
2658
+ function cursorListCursor(cursor) {
2659
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
2660
+ }
2530
2661
  function indexSortKey(key, prefix) {
2531
2662
  return key.slice(prefix.length);
2532
2663
  }
@@ -2694,6 +2825,51 @@ function claudeSessionBase(projectKey, sessionId) {
2694
2825
  function claudeProjectPrefix(projectKey) {
2695
2826
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
2696
2827
  }
2828
+ function claudeSessionMappingKey(conversationId) {
2829
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
2830
+ }
2831
+ function normalizeClaudeUuid(value) {
2832
+ const trimmed = value.trim().toLowerCase();
2833
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
2834
+ }
2835
+ function claudeSessionIdFromKey(key) {
2836
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
2837
+ if (!key.startsWith(prefix)) {
2838
+ return null;
2839
+ }
2840
+ const segments = key.slice(prefix.length).split("/");
2841
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
2842
+ }
2843
+ async function deleteClaudeSessionForConversation(store, conversationId) {
2844
+ const mappingKey = claudeSessionMappingKey(conversationId);
2845
+ const mapping = await store.get(mappingKey, {
2846
+ consistency: "strong"
2847
+ });
2848
+ let sessionId = null;
2849
+ if (typeof mapping === "string") {
2850
+ sessionId = mapping;
2851
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
2852
+ sessionId = mapping.sessionId;
2853
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
2854
+ sessionId = mapping.session_id;
2855
+ }
2856
+ if (!sessionId) {
2857
+ sessionId = normalizeClaudeUuid(conversationId);
2858
+ }
2859
+ await store.delete(mappingKey);
2860
+ if (!sessionId) {
2861
+ return;
2862
+ }
2863
+ const listed = await store.list({
2864
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
2865
+ consistency: "strong"
2866
+ });
2867
+ for (const key of listed.keys) {
2868
+ if (claudeSessionIdFromKey(key) === sessionId) {
2869
+ await store.delete(key);
2870
+ }
2871
+ }
2872
+ }
2697
2873
  function claudePartsPrefix(key) {
2698
2874
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
2699
2875
  if (key.subpath) {
@@ -2731,7 +2907,9 @@ function createClaudeSessionStore(store) {
2731
2907
  consistency: "strong"
2732
2908
  });
2733
2909
  if (typeof raw !== "string") {
2734
- continue;
2910
+ throw new MemoryCorruptError(
2911
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
2912
+ );
2735
2913
  }
2736
2914
  for (const line of raw.split("\\n")) {
2737
2915
  const trimmed = line.trim();
@@ -2740,7 +2918,11 @@ function createClaudeSessionStore(store) {
2740
2918
  }
2741
2919
  try {
2742
2920
  entries.push(JSON.parse(trimmed));
2743
- } catch {
2921
+ } catch (error) {
2922
+ throw new MemoryCorruptError(
2923
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
2924
+ error
2925
+ );
2744
2926
  }
2745
2927
  }
2746
2928
  }
@@ -2866,8 +3048,70 @@ async function listConversationsByUser(store, userId, options) {
2866
3048
  });
2867
3049
  }
2868
3050
  async function listConversationsFromIndex(store, options) {
3051
+ if (!options.before) {
3052
+ const fast = await listConversationsFromIndexFast(store, options);
3053
+ if (fast)
3054
+ return fast;
3055
+ }
2869
3056
  return listConversationsFromIndexFull(store, options);
2870
3057
  }
3058
+ async function listConversationsFromIndexFast(store, options) {
3059
+ var _a, _b;
3060
+ let listCursor = cursorListCursor(options.after);
3061
+ if (options.after && !listCursor) {
3062
+ return null;
3063
+ }
3064
+ const pageItems = [];
3065
+ const seen = /* @__PURE__ */ new Set();
3066
+ let lastCursor;
3067
+ while (pageItems.length < options.limit) {
3068
+ const listed = await store.list({
3069
+ prefix: options.prefix,
3070
+ cursor: listCursor,
3071
+ limit: options.limit - pageItems.length,
3072
+ paginate: false,
3073
+ consistency: "strong"
3074
+ });
3075
+ lastCursor = listed.cursor;
3076
+ if (!listed.keys.length) {
3077
+ break;
3078
+ }
3079
+ const indexItems = [...listed.keys].sort(
3080
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
3081
+ ).map((key) => {
3082
+ const conversationId = options.conversationIdFromKey(key);
3083
+ if (!conversationId || seen.has(conversationId)) {
3084
+ return null;
3085
+ }
3086
+ seen.add(conversationId);
3087
+ return {
3088
+ key,
3089
+ sortKey: indexSortKey(key, options.prefix),
3090
+ conversationId
3091
+ };
3092
+ }).filter((item) => item !== null);
3093
+ const metas = await Promise.all(
3094
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
3095
+ );
3096
+ for (let i = 0; i < indexItems.length; i++) {
3097
+ const meta = metas[i];
3098
+ if (meta) {
3099
+ pageItems.push({ indexItem: indexItems[i], meta });
3100
+ }
3101
+ }
3102
+ if (!listed.cursor) {
3103
+ break;
3104
+ }
3105
+ listCursor = listed.cursor;
3106
+ }
3107
+ const firstItem = (_a = pageItems[0]) == null ? void 0 : _a.indexItem;
3108
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
3109
+ return {
3110
+ items: pageItems.map((item) => item.meta),
3111
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
3112
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
3113
+ };
3114
+ }
2871
3115
  async function listConversationsFromIndexFull(store, options) {
2872
3116
  var _a, _b;
2873
3117
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -3304,6 +3548,7 @@ function createAgentMemory(store, options = {}) {
3304
3548
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
3305
3549
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
3306
3550
  const langgraphStore = createLangGraphStore(store);
3551
+ const state = createAgentStateStore(store, options.conversationId);
3307
3552
  let claudeStoreCache = null;
3308
3553
  let lastMessageCreatedAt = 0;
3309
3554
  const appendMessagesInternal = async (inputs) => {
@@ -3589,8 +3834,13 @@ function createAgentMemory(store, options = {}) {
3589
3834
  listMessageKeys(store, input.conversationId)
3590
3835
  ]);
3591
3836
  if (!meta) {
3837
+ if (options.conversationId === input.conversationId) {
3838
+ await deleteAgentState(store, input.conversationId);
3839
+ }
3840
+ await deleteClaudeSessionForConversation(store, input.conversationId);
3841
+ await langgraphCheckpointer.deleteThread(input.conversationId);
3592
3842
  throw new MemoryNotFoundError(
3593
- "Conversation not found by updateConversation."
3843
+ "Conversation not found by deleteConversation."
3594
3844
  );
3595
3845
  }
3596
3846
  const deleteOps = [];
@@ -3607,6 +3857,11 @@ function createAgentMemory(store, options = {}) {
3607
3857
  deleteOps.push(store.delete(metaKey(input.conversationId)));
3608
3858
  deleteOps.push(store.delete(conversationIndexKey(meta)));
3609
3859
  await Promise.all(deleteOps);
3860
+ if (options.conversationId === input.conversationId) {
3861
+ await deleteAgentState(store, input.conversationId);
3862
+ }
3863
+ await deleteClaudeSessionForConversation(store, input.conversationId);
3864
+ await langgraphCheckpointer.deleteThread(input.conversationId);
3610
3865
  });
3611
3866
  },
3612
3867
  async updateConversation(input) {
@@ -3642,14 +3897,49 @@ function createAgentMemory(store, options = {}) {
3642
3897
  }));
3643
3898
  },
3644
3899
  openaiSession(sessionId, sessionOptions = {}) {
3900
+ const boundSessionId = sessionId ?? options.conversationId;
3901
+ if (!boundSessionId) {
3902
+ throw new MemoryValidationError(
3903
+ "openaiSession requires a sessionId or bound conversationId."
3904
+ );
3905
+ }
3645
3906
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
3646
3907
  return createOpenAISession(
3647
3908
  memory,
3648
- sessionId,
3909
+ boundSessionId,
3649
3910
  maxItems,
3650
3911
  appendMessagesInternal
3651
3912
  );
3652
3913
  },
3914
+ async claudeSessionBinding(conversationId) {
3915
+ const resolvedConversationId = conversationId ?? options.conversationId;
3916
+ if (!resolvedConversationId) {
3917
+ throw new MemoryValidationError(
3918
+ "claudeSessionBinding requires a conversationId or bound conversationId."
3919
+ );
3920
+ }
3921
+ validateConversationId(resolvedConversationId);
3922
+ return wrapStorage(async () => {
3923
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
3924
+ const existing = await store.get(
3925
+ mappingKey,
3926
+ { consistency: "strong" }
3927
+ );
3928
+ if (typeof existing === "string" && existing) {
3929
+ return existing;
3930
+ }
3931
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
3932
+ return String(existing.sessionId || existing.session_id);
3933
+ }
3934
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
3935
+ const binding = {
3936
+ conversationId: resolvedConversationId,
3937
+ sessionId
3938
+ };
3939
+ await store.set(mappingKey, binding);
3940
+ return sessionId;
3941
+ });
3942
+ },
3653
3943
  claudeSessionStore() {
3654
3944
  if (!claudeStoreCache) {
3655
3945
  claudeStoreCache = createClaudeSessionStore(store);
@@ -3657,7 +3947,8 @@ function createAgentMemory(store, options = {}) {
3657
3947
  return claudeStoreCache;
3658
3948
  },
3659
3949
  langgraphCheckpointer,
3660
- langgraphStore
3950
+ langgraphStore,
3951
+ state
3661
3952
  };
3662
3953
  return memory;
3663
3954
  }
@@ -4560,6 +4851,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
4560
4851
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
4561
4852
  var LANGGRAPH_SERDE_VERSION = 1;
4562
4853
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
4854
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
4855
+ var STATE_PREFIX = "state";
4856
+ var MAX_STATE_KEY_LENGTH = 256;
4563
4857
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
4564
4858
  var VALID_ROLES = /* @__PURE__ */ new Set([
4565
4859
  "user",
@@ -4606,6 +4900,15 @@ var MemoryStorageError = class extends Error {
4606
4900
  this.cause = cause;
4607
4901
  }
4608
4902
  };
4903
+ var MemoryCorruptError = class extends Error {
4904
+ code = "MemoryCorruptError";
4905
+ cause;
4906
+ constructor(message, cause) {
4907
+ super(message);
4908
+ this.name = "MemoryCorruptError";
4909
+ this.cause = cause;
4910
+ }
4911
+ };
4609
4912
  var dynamicImport = new Function(
4610
4913
  "specifier",
4611
4914
  "return import(specifier);"
@@ -4613,7 +4916,7 @@ var dynamicImport = new Function(
4613
4916
  var langchainLoadPromise;
4614
4917
  var langchainMessagesPromise;
4615
4918
  function isMemoryError(error) {
4616
- return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError;
4919
+ return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError || error instanceof MemoryCorruptError;
4617
4920
  }
4618
4921
  async function wrapStorage(operation) {
4619
4922
  try {
@@ -4781,10 +5084,17 @@ async function reviveLangGraphJsonValue(value) {
4781
5084
  return revived;
4782
5085
  }
4783
5086
  async function deserializeLangGraphJson(value) {
4784
- if (isLangGraphSerializedJson(value)) {
4785
- return reviveLangGraphJsonValue(JSON.parse(value.data));
5087
+ try {
5088
+ if (isLangGraphSerializedJson(value)) {
5089
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
5090
+ }
5091
+ return reviveLangGraphJsonValue(value);
5092
+ } catch (error) {
5093
+ throw new MemoryCorruptError(
5094
+ "LangGraph persisted state is corrupt or incompatible.",
5095
+ error
5096
+ );
4786
5097
  }
4787
- return reviveLangGraphJsonValue(value);
4788
5098
  }
4789
5099
  function normalizeStoreLimit(value, fallback) {
4790
5100
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -4896,6 +5206,115 @@ function validateMessageId(messageId) {
4896
5206
  throw new MemoryValidationError("messageId is required.");
4897
5207
  }
4898
5208
  }
5209
+ function validateStateKey(key) {
5210
+ if (typeof key !== "string" || key.length === 0) {
5211
+ throw new MemoryValidationError("state key is required.");
5212
+ }
5213
+ if (key.length > MAX_STATE_KEY_LENGTH) {
5214
+ throw new MemoryValidationError(
5215
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
5216
+ );
5217
+ }
5218
+ }
5219
+ function assertStateSerializable(value, path = "state value", seen = /* @__PURE__ */ new Set()) {
5220
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
5221
+ return;
5222
+ }
5223
+ if (typeof value === "number") {
5224
+ if (Number.isFinite(value))
5225
+ return;
5226
+ throw new MemoryValidationError(\`\${path} must contain only JSON values.\`);
5227
+ }
5228
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
5229
+ throw new MemoryValidationError(\`\${path} must be JSON serializable.\`);
5230
+ }
5231
+ if (typeof value !== "object") {
5232
+ throw new MemoryValidationError(\`\${path} must be JSON serializable.\`);
5233
+ }
5234
+ if (seen.has(value)) {
5235
+ throw new MemoryValidationError(\`\${path} must not contain circular references.\`);
5236
+ }
5237
+ seen.add(value);
5238
+ if (Array.isArray(value)) {
5239
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path}[\${index}]\`, seen));
5240
+ } else if (isPlainObject(value)) {
5241
+ for (const [key, item] of Object.entries(value)) {
5242
+ assertStateSerializable(item, \`\${path}.\${key}\`, seen);
5243
+ }
5244
+ } else {
5245
+ throw new MemoryValidationError(\`\${path} must contain only JSON values.\`);
5246
+ }
5247
+ seen.delete(value);
5248
+ }
5249
+ function stateConversationPrefix(conversationId) {
5250
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
5251
+ }
5252
+ function createAgentStateStore(store, boundConversationId) {
5253
+ const requireConversation = () => {
5254
+ if (!boundConversationId) {
5255
+ throw new MemoryValidationError(
5256
+ "State operations require a bound conversationId."
5257
+ );
5258
+ }
5259
+ validateConversationId(boundConversationId);
5260
+ return boundConversationId;
5261
+ };
5262
+ return {
5263
+ async get(key) {
5264
+ validateStateKey(key);
5265
+ const conversationId = requireConversation();
5266
+ return wrapStorage(async () => {
5267
+ const raw = await store.get(
5268
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
5269
+ { consistency: "strong" }
5270
+ );
5271
+ if (raw === null)
5272
+ return null;
5273
+ if (typeof raw !== "string") {
5274
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
5275
+ }
5276
+ try {
5277
+ return JSON.parse(raw);
5278
+ } catch (error) {
5279
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error);
5280
+ }
5281
+ });
5282
+ },
5283
+ async set(key, value) {
5284
+ validateStateKey(key);
5285
+ const conversationId = requireConversation();
5286
+ assertStateSerializable(value);
5287
+ let serialized;
5288
+ try {
5289
+ serialized = JSON.stringify(value);
5290
+ } catch (error) {
5291
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error)}\`);
5292
+ }
5293
+ await wrapStorage(
5294
+ () => store.set(
5295
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
5296
+ serialized
5297
+ )
5298
+ );
5299
+ },
5300
+ async delete(key) {
5301
+ validateStateKey(key);
5302
+ const conversationId = requireConversation();
5303
+ await wrapStorage(
5304
+ () => store.delete(
5305
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
5306
+ )
5307
+ );
5308
+ }
5309
+ };
5310
+ }
5311
+ async function deleteAgentState(store, conversationId) {
5312
+ const listed = await store.list({
5313
+ prefix: stateConversationPrefix(conversationId),
5314
+ consistency: "strong"
5315
+ });
5316
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
5317
+ }
4899
5318
  function validateUserId(userId) {
4900
5319
  if (userId === void 0) {
4901
5320
  return;
@@ -5028,6 +5447,9 @@ function cursorSortKey(cursor) {
5028
5447
  const payload = decodeConversationCursor(cursor);
5029
5448
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
5030
5449
  }
5450
+ function cursorListCursor(cursor) {
5451
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
5452
+ }
5031
5453
  function indexSortKey(key, prefix) {
5032
5454
  return key.slice(prefix.length);
5033
5455
  }
@@ -5195,6 +5617,51 @@ function claudeSessionBase(projectKey, sessionId) {
5195
5617
  function claudeProjectPrefix(projectKey) {
5196
5618
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
5197
5619
  }
5620
+ function claudeSessionMappingKey(conversationId) {
5621
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
5622
+ }
5623
+ function normalizeClaudeUuid(value) {
5624
+ const trimmed = value.trim().toLowerCase();
5625
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
5626
+ }
5627
+ function claudeSessionIdFromKey(key) {
5628
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
5629
+ if (!key.startsWith(prefix)) {
5630
+ return null;
5631
+ }
5632
+ const segments = key.slice(prefix.length).split("/");
5633
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
5634
+ }
5635
+ async function deleteClaudeSessionForConversation(store, conversationId) {
5636
+ const mappingKey = claudeSessionMappingKey(conversationId);
5637
+ const mapping = await store.get(mappingKey, {
5638
+ consistency: "strong"
5639
+ });
5640
+ let sessionId = null;
5641
+ if (typeof mapping === "string") {
5642
+ sessionId = mapping;
5643
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
5644
+ sessionId = mapping.sessionId;
5645
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
5646
+ sessionId = mapping.session_id;
5647
+ }
5648
+ if (!sessionId) {
5649
+ sessionId = normalizeClaudeUuid(conversationId);
5650
+ }
5651
+ await store.delete(mappingKey);
5652
+ if (!sessionId) {
5653
+ return;
5654
+ }
5655
+ const listed = await store.list({
5656
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
5657
+ consistency: "strong"
5658
+ });
5659
+ for (const key of listed.keys) {
5660
+ if (claudeSessionIdFromKey(key) === sessionId) {
5661
+ await store.delete(key);
5662
+ }
5663
+ }
5664
+ }
5198
5665
  function claudePartsPrefix(key) {
5199
5666
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
5200
5667
  if (key.subpath) {
@@ -5232,7 +5699,9 @@ function createClaudeSessionStore(store) {
5232
5699
  consistency: "strong"
5233
5700
  });
5234
5701
  if (typeof raw !== "string") {
5235
- continue;
5702
+ throw new MemoryCorruptError(
5703
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
5704
+ );
5236
5705
  }
5237
5706
  for (const line of raw.split("\\n")) {
5238
5707
  const trimmed = line.trim();
@@ -5241,7 +5710,11 @@ function createClaudeSessionStore(store) {
5241
5710
  }
5242
5711
  try {
5243
5712
  entries.push(JSON.parse(trimmed));
5244
- } catch {
5713
+ } catch (error) {
5714
+ throw new MemoryCorruptError(
5715
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
5716
+ error
5717
+ );
5245
5718
  }
5246
5719
  }
5247
5720
  }
@@ -5367,8 +5840,70 @@ async function listConversationsByUser(store, userId, options) {
5367
5840
  });
5368
5841
  }
5369
5842
  async function listConversationsFromIndex(store, options) {
5843
+ if (!options.before) {
5844
+ const fast = await listConversationsFromIndexFast(store, options);
5845
+ if (fast)
5846
+ return fast;
5847
+ }
5370
5848
  return listConversationsFromIndexFull(store, options);
5371
5849
  }
5850
+ async function listConversationsFromIndexFast(store, options) {
5851
+ var _a, _b;
5852
+ let listCursor = cursorListCursor(options.after);
5853
+ if (options.after && !listCursor) {
5854
+ return null;
5855
+ }
5856
+ const pageItems = [];
5857
+ const seen = /* @__PURE__ */ new Set();
5858
+ let lastCursor;
5859
+ while (pageItems.length < options.limit) {
5860
+ const listed = await store.list({
5861
+ prefix: options.prefix,
5862
+ cursor: listCursor,
5863
+ limit: options.limit - pageItems.length,
5864
+ paginate: false,
5865
+ consistency: "strong"
5866
+ });
5867
+ lastCursor = listed.cursor;
5868
+ if (!listed.keys.length) {
5869
+ break;
5870
+ }
5871
+ const indexItems = [...listed.keys].sort(
5872
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
5873
+ ).map((key) => {
5874
+ const conversationId = options.conversationIdFromKey(key);
5875
+ if (!conversationId || seen.has(conversationId)) {
5876
+ return null;
5877
+ }
5878
+ seen.add(conversationId);
5879
+ return {
5880
+ key,
5881
+ sortKey: indexSortKey(key, options.prefix),
5882
+ conversationId
5883
+ };
5884
+ }).filter((item) => item !== null);
5885
+ const metas = await Promise.all(
5886
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
5887
+ );
5888
+ for (let i = 0; i < indexItems.length; i++) {
5889
+ const meta = metas[i];
5890
+ if (meta) {
5891
+ pageItems.push({ indexItem: indexItems[i], meta });
5892
+ }
5893
+ }
5894
+ if (!listed.cursor) {
5895
+ break;
5896
+ }
5897
+ listCursor = listed.cursor;
5898
+ }
5899
+ const firstItem = (_a = pageItems[0]) == null ? void 0 : _a.indexItem;
5900
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
5901
+ return {
5902
+ items: pageItems.map((item) => item.meta),
5903
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
5904
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
5905
+ };
5906
+ }
5372
5907
  async function listConversationsFromIndexFull(store, options) {
5373
5908
  var _a, _b;
5374
5909
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -5805,6 +6340,7 @@ function createAgentMemory(store, options = {}) {
5805
6340
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
5806
6341
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
5807
6342
  const langgraphStore = createLangGraphStore(store);
6343
+ const state = createAgentStateStore(store, options.conversationId);
5808
6344
  let claudeStoreCache = null;
5809
6345
  let lastMessageCreatedAt = 0;
5810
6346
  const appendMessagesInternal = async (inputs) => {
@@ -6090,8 +6626,13 @@ function createAgentMemory(store, options = {}) {
6090
6626
  listMessageKeys(store, input.conversationId)
6091
6627
  ]);
6092
6628
  if (!meta) {
6629
+ if (options.conversationId === input.conversationId) {
6630
+ await deleteAgentState(store, input.conversationId);
6631
+ }
6632
+ await deleteClaudeSessionForConversation(store, input.conversationId);
6633
+ await langgraphCheckpointer.deleteThread(input.conversationId);
6093
6634
  throw new MemoryNotFoundError(
6094
- "Conversation not found by updateConversation."
6635
+ "Conversation not found by deleteConversation."
6095
6636
  );
6096
6637
  }
6097
6638
  const deleteOps = [];
@@ -6108,6 +6649,11 @@ function createAgentMemory(store, options = {}) {
6108
6649
  deleteOps.push(store.delete(metaKey(input.conversationId)));
6109
6650
  deleteOps.push(store.delete(conversationIndexKey(meta)));
6110
6651
  await Promise.all(deleteOps);
6652
+ if (options.conversationId === input.conversationId) {
6653
+ await deleteAgentState(store, input.conversationId);
6654
+ }
6655
+ await deleteClaudeSessionForConversation(store, input.conversationId);
6656
+ await langgraphCheckpointer.deleteThread(input.conversationId);
6111
6657
  });
6112
6658
  },
6113
6659
  async updateConversation(input) {
@@ -6143,14 +6689,49 @@ function createAgentMemory(store, options = {}) {
6143
6689
  }));
6144
6690
  },
6145
6691
  openaiSession(sessionId, sessionOptions = {}) {
6692
+ const boundSessionId = sessionId ?? options.conversationId;
6693
+ if (!boundSessionId) {
6694
+ throw new MemoryValidationError(
6695
+ "openaiSession requires a sessionId or bound conversationId."
6696
+ );
6697
+ }
6146
6698
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
6147
6699
  return createOpenAISession(
6148
6700
  memory,
6149
- sessionId,
6701
+ boundSessionId,
6150
6702
  maxItems,
6151
6703
  appendMessagesInternal
6152
6704
  );
6153
6705
  },
6706
+ async claudeSessionBinding(conversationId) {
6707
+ const resolvedConversationId = conversationId ?? options.conversationId;
6708
+ if (!resolvedConversationId) {
6709
+ throw new MemoryValidationError(
6710
+ "claudeSessionBinding requires a conversationId or bound conversationId."
6711
+ );
6712
+ }
6713
+ validateConversationId(resolvedConversationId);
6714
+ return wrapStorage(async () => {
6715
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
6716
+ const existing = await store.get(
6717
+ mappingKey,
6718
+ { consistency: "strong" }
6719
+ );
6720
+ if (typeof existing === "string" && existing) {
6721
+ return existing;
6722
+ }
6723
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
6724
+ return String(existing.sessionId || existing.session_id);
6725
+ }
6726
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
6727
+ const binding = {
6728
+ conversationId: resolvedConversationId,
6729
+ sessionId
6730
+ };
6731
+ await store.set(mappingKey, binding);
6732
+ return sessionId;
6733
+ });
6734
+ },
6154
6735
  claudeSessionStore() {
6155
6736
  if (!claudeStoreCache) {
6156
6737
  claudeStoreCache = createClaudeSessionStore(store);
@@ -6158,7 +6739,8 @@ function createAgentMemory(store, options = {}) {
6158
6739
  return claudeStoreCache;
6159
6740
  },
6160
6741
  langgraphCheckpointer,
6161
- langgraphStore
6742
+ langgraphStore,
6743
+ state
6162
6744
  };
6163
6745
  return memory;
6164
6746
  }
@@ -8967,6 +9549,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
8967
9549
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
8968
9550
  var LANGGRAPH_SERDE_VERSION = 1;
8969
9551
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
9552
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
9553
+ var STATE_PREFIX = "state";
9554
+ var MAX_STATE_KEY_LENGTH = 256;
8970
9555
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
8971
9556
  var VALID_ROLES = /* @__PURE__ */ new Set([
8972
9557
  "user",
@@ -9013,6 +9598,15 @@ var MemoryStorageError = class extends Error {
9013
9598
  this.cause = cause;
9014
9599
  }
9015
9600
  };
9601
+ var MemoryCorruptError = class extends Error {
9602
+ code = "MemoryCorruptError";
9603
+ cause;
9604
+ constructor(message, cause) {
9605
+ super(message);
9606
+ this.name = "MemoryCorruptError";
9607
+ this.cause = cause;
9608
+ }
9609
+ };
9016
9610
  var dynamicImport = new Function(
9017
9611
  "specifier",
9018
9612
  "return import(specifier);"
@@ -9020,7 +9614,7 @@ var dynamicImport = new Function(
9020
9614
  var langchainLoadPromise;
9021
9615
  var langchainMessagesPromise;
9022
9616
  function isMemoryError(error) {
9023
- return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError;
9617
+ return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError || error instanceof MemoryCorruptError;
9024
9618
  }
9025
9619
  async function wrapStorage(operation) {
9026
9620
  try {
@@ -9188,10 +9782,17 @@ async function reviveLangGraphJsonValue(value) {
9188
9782
  return revived;
9189
9783
  }
9190
9784
  async function deserializeLangGraphJson(value) {
9191
- if (isLangGraphSerializedJson(value)) {
9192
- return reviveLangGraphJsonValue(JSON.parse(value.data));
9785
+ try {
9786
+ if (isLangGraphSerializedJson(value)) {
9787
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
9788
+ }
9789
+ return reviveLangGraphJsonValue(value);
9790
+ } catch (error) {
9791
+ throw new MemoryCorruptError(
9792
+ "LangGraph persisted state is corrupt or incompatible.",
9793
+ error
9794
+ );
9193
9795
  }
9194
- return reviveLangGraphJsonValue(value);
9195
9796
  }
9196
9797
  function normalizeStoreLimit(value, fallback) {
9197
9798
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -9303,6 +9904,115 @@ function validateMessageId(messageId) {
9303
9904
  throw new MemoryValidationError("messageId is required.");
9304
9905
  }
9305
9906
  }
9907
+ function validateStateKey(key) {
9908
+ if (typeof key !== "string" || key.length === 0) {
9909
+ throw new MemoryValidationError("state key is required.");
9910
+ }
9911
+ if (key.length > MAX_STATE_KEY_LENGTH) {
9912
+ throw new MemoryValidationError(
9913
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
9914
+ );
9915
+ }
9916
+ }
9917
+ function assertStateSerializable(value, path2 = "state value", seen = /* @__PURE__ */ new Set()) {
9918
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
9919
+ return;
9920
+ }
9921
+ if (typeof value === "number") {
9922
+ if (Number.isFinite(value))
9923
+ return;
9924
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
9925
+ }
9926
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
9927
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
9928
+ }
9929
+ if (typeof value !== "object") {
9930
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
9931
+ }
9932
+ if (seen.has(value)) {
9933
+ throw new MemoryValidationError(\`\${path2} must not contain circular references.\`);
9934
+ }
9935
+ seen.add(value);
9936
+ if (Array.isArray(value)) {
9937
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path2}[\${index}]\`, seen));
9938
+ } else if (isPlainObject(value)) {
9939
+ for (const [key, item] of Object.entries(value)) {
9940
+ assertStateSerializable(item, \`\${path2}.\${key}\`, seen);
9941
+ }
9942
+ } else {
9943
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
9944
+ }
9945
+ seen.delete(value);
9946
+ }
9947
+ function stateConversationPrefix(conversationId) {
9948
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
9949
+ }
9950
+ function createAgentStateStore(store, boundConversationId) {
9951
+ const requireConversation = () => {
9952
+ if (!boundConversationId) {
9953
+ throw new MemoryValidationError(
9954
+ "State operations require a bound conversationId."
9955
+ );
9956
+ }
9957
+ validateConversationId(boundConversationId);
9958
+ return boundConversationId;
9959
+ };
9960
+ return {
9961
+ async get(key) {
9962
+ validateStateKey(key);
9963
+ const conversationId = requireConversation();
9964
+ return wrapStorage(async () => {
9965
+ const raw = await store.get(
9966
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
9967
+ { consistency: "strong" }
9968
+ );
9969
+ if (raw === null)
9970
+ return null;
9971
+ if (typeof raw !== "string") {
9972
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
9973
+ }
9974
+ try {
9975
+ return JSON.parse(raw);
9976
+ } catch (error) {
9977
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error);
9978
+ }
9979
+ });
9980
+ },
9981
+ async set(key, value) {
9982
+ validateStateKey(key);
9983
+ const conversationId = requireConversation();
9984
+ assertStateSerializable(value);
9985
+ let serialized;
9986
+ try {
9987
+ serialized = JSON.stringify(value);
9988
+ } catch (error) {
9989
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error)}\`);
9990
+ }
9991
+ await wrapStorage(
9992
+ () => store.set(
9993
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
9994
+ serialized
9995
+ )
9996
+ );
9997
+ },
9998
+ async delete(key) {
9999
+ validateStateKey(key);
10000
+ const conversationId = requireConversation();
10001
+ await wrapStorage(
10002
+ () => store.delete(
10003
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
10004
+ )
10005
+ );
10006
+ }
10007
+ };
10008
+ }
10009
+ async function deleteAgentState(store, conversationId) {
10010
+ const listed = await store.list({
10011
+ prefix: stateConversationPrefix(conversationId),
10012
+ consistency: "strong"
10013
+ });
10014
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
10015
+ }
9306
10016
  function validateUserId(userId) {
9307
10017
  if (userId === void 0) {
9308
10018
  return;
@@ -9435,6 +10145,9 @@ function cursorSortKey(cursor) {
9435
10145
  const payload = decodeConversationCursor(cursor);
9436
10146
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
9437
10147
  }
10148
+ function cursorListCursor(cursor) {
10149
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
10150
+ }
9438
10151
  function indexSortKey(key, prefix) {
9439
10152
  return key.slice(prefix.length);
9440
10153
  }
@@ -9602,6 +10315,51 @@ function claudeSessionBase(projectKey, sessionId) {
9602
10315
  function claudeProjectPrefix(projectKey) {
9603
10316
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
9604
10317
  }
10318
+ function claudeSessionMappingKey(conversationId) {
10319
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
10320
+ }
10321
+ function normalizeClaudeUuid(value) {
10322
+ const trimmed = value.trim().toLowerCase();
10323
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
10324
+ }
10325
+ function claudeSessionIdFromKey(key) {
10326
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
10327
+ if (!key.startsWith(prefix)) {
10328
+ return null;
10329
+ }
10330
+ const segments = key.slice(prefix.length).split("/");
10331
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
10332
+ }
10333
+ async function deleteClaudeSessionForConversation(store, conversationId) {
10334
+ const mappingKey = claudeSessionMappingKey(conversationId);
10335
+ const mapping = await store.get(mappingKey, {
10336
+ consistency: "strong"
10337
+ });
10338
+ let sessionId = null;
10339
+ if (typeof mapping === "string") {
10340
+ sessionId = mapping;
10341
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
10342
+ sessionId = mapping.sessionId;
10343
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
10344
+ sessionId = mapping.session_id;
10345
+ }
10346
+ if (!sessionId) {
10347
+ sessionId = normalizeClaudeUuid(conversationId);
10348
+ }
10349
+ await store.delete(mappingKey);
10350
+ if (!sessionId) {
10351
+ return;
10352
+ }
10353
+ const listed = await store.list({
10354
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
10355
+ consistency: "strong"
10356
+ });
10357
+ for (const key of listed.keys) {
10358
+ if (claudeSessionIdFromKey(key) === sessionId) {
10359
+ await store.delete(key);
10360
+ }
10361
+ }
10362
+ }
9605
10363
  function claudePartsPrefix(key) {
9606
10364
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
9607
10365
  if (key.subpath) {
@@ -9639,7 +10397,9 @@ function createClaudeSessionStore(store) {
9639
10397
  consistency: "strong"
9640
10398
  });
9641
10399
  if (typeof raw !== "string") {
9642
- continue;
10400
+ throw new MemoryCorruptError(
10401
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
10402
+ );
9643
10403
  }
9644
10404
  for (const line of raw.split("\\n")) {
9645
10405
  const trimmed = line.trim();
@@ -9648,7 +10408,11 @@ function createClaudeSessionStore(store) {
9648
10408
  }
9649
10409
  try {
9650
10410
  entries.push(JSON.parse(trimmed));
9651
- } catch {
10411
+ } catch (error) {
10412
+ throw new MemoryCorruptError(
10413
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
10414
+ error
10415
+ );
9652
10416
  }
9653
10417
  }
9654
10418
  }
@@ -9774,8 +10538,70 @@ async function listConversationsByUser(store, userId, options) {
9774
10538
  });
9775
10539
  }
9776
10540
  async function listConversationsFromIndex(store, options) {
10541
+ if (!options.before) {
10542
+ const fast = await listConversationsFromIndexFast(store, options);
10543
+ if (fast)
10544
+ return fast;
10545
+ }
9777
10546
  return listConversationsFromIndexFull(store, options);
9778
10547
  }
10548
+ async function listConversationsFromIndexFast(store, options) {
10549
+ var _a, _b;
10550
+ let listCursor = cursorListCursor(options.after);
10551
+ if (options.after && !listCursor) {
10552
+ return null;
10553
+ }
10554
+ const pageItems = [];
10555
+ const seen = /* @__PURE__ */ new Set();
10556
+ let lastCursor;
10557
+ while (pageItems.length < options.limit) {
10558
+ const listed = await store.list({
10559
+ prefix: options.prefix,
10560
+ cursor: listCursor,
10561
+ limit: options.limit - pageItems.length,
10562
+ paginate: false,
10563
+ consistency: "strong"
10564
+ });
10565
+ lastCursor = listed.cursor;
10566
+ if (!listed.keys.length) {
10567
+ break;
10568
+ }
10569
+ const indexItems = [...listed.keys].sort(
10570
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
10571
+ ).map((key) => {
10572
+ const conversationId = options.conversationIdFromKey(key);
10573
+ if (!conversationId || seen.has(conversationId)) {
10574
+ return null;
10575
+ }
10576
+ seen.add(conversationId);
10577
+ return {
10578
+ key,
10579
+ sortKey: indexSortKey(key, options.prefix),
10580
+ conversationId
10581
+ };
10582
+ }).filter((item) => item !== null);
10583
+ const metas = await Promise.all(
10584
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
10585
+ );
10586
+ for (let i = 0; i < indexItems.length; i++) {
10587
+ const meta = metas[i];
10588
+ if (meta) {
10589
+ pageItems.push({ indexItem: indexItems[i], meta });
10590
+ }
10591
+ }
10592
+ if (!listed.cursor) {
10593
+ break;
10594
+ }
10595
+ listCursor = listed.cursor;
10596
+ }
10597
+ const firstItem = (_a = pageItems[0]) == null ? void 0 : _a.indexItem;
10598
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
10599
+ return {
10600
+ items: pageItems.map((item) => item.meta),
10601
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
10602
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
10603
+ };
10604
+ }
9779
10605
  async function listConversationsFromIndexFull(store, options) {
9780
10606
  var _a, _b;
9781
10607
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -10212,6 +11038,7 @@ function createAgentMemory(store, options = {}) {
10212
11038
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
10213
11039
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
10214
11040
  const langgraphStore = createLangGraphStore(store);
11041
+ const state = createAgentStateStore(store, options.conversationId);
10215
11042
  let claudeStoreCache = null;
10216
11043
  let lastMessageCreatedAt = 0;
10217
11044
  const appendMessagesInternal = async (inputs) => {
@@ -10497,8 +11324,13 @@ function createAgentMemory(store, options = {}) {
10497
11324
  listMessageKeys(store, input.conversationId)
10498
11325
  ]);
10499
11326
  if (!meta) {
11327
+ if (options.conversationId === input.conversationId) {
11328
+ await deleteAgentState(store, input.conversationId);
11329
+ }
11330
+ await deleteClaudeSessionForConversation(store, input.conversationId);
11331
+ await langgraphCheckpointer.deleteThread(input.conversationId);
10500
11332
  throw new MemoryNotFoundError(
10501
- "Conversation not found by updateConversation."
11333
+ "Conversation not found by deleteConversation."
10502
11334
  );
10503
11335
  }
10504
11336
  const deleteOps = [];
@@ -10515,6 +11347,11 @@ function createAgentMemory(store, options = {}) {
10515
11347
  deleteOps.push(store.delete(metaKey(input.conversationId)));
10516
11348
  deleteOps.push(store.delete(conversationIndexKey(meta)));
10517
11349
  await Promise.all(deleteOps);
11350
+ if (options.conversationId === input.conversationId) {
11351
+ await deleteAgentState(store, input.conversationId);
11352
+ }
11353
+ await deleteClaudeSessionForConversation(store, input.conversationId);
11354
+ await langgraphCheckpointer.deleteThread(input.conversationId);
10518
11355
  });
10519
11356
  },
10520
11357
  async updateConversation(input) {
@@ -10550,14 +11387,49 @@ function createAgentMemory(store, options = {}) {
10550
11387
  }));
10551
11388
  },
10552
11389
  openaiSession(sessionId, sessionOptions = {}) {
11390
+ const boundSessionId = sessionId ?? options.conversationId;
11391
+ if (!boundSessionId) {
11392
+ throw new MemoryValidationError(
11393
+ "openaiSession requires a sessionId or bound conversationId."
11394
+ );
11395
+ }
10553
11396
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
10554
11397
  return createOpenAISession(
10555
11398
  memory,
10556
- sessionId,
11399
+ boundSessionId,
10557
11400
  maxItems,
10558
11401
  appendMessagesInternal
10559
11402
  );
10560
11403
  },
11404
+ async claudeSessionBinding(conversationId) {
11405
+ const resolvedConversationId = conversationId ?? options.conversationId;
11406
+ if (!resolvedConversationId) {
11407
+ throw new MemoryValidationError(
11408
+ "claudeSessionBinding requires a conversationId or bound conversationId."
11409
+ );
11410
+ }
11411
+ validateConversationId(resolvedConversationId);
11412
+ return wrapStorage(async () => {
11413
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
11414
+ const existing = await store.get(
11415
+ mappingKey,
11416
+ { consistency: "strong" }
11417
+ );
11418
+ if (typeof existing === "string" && existing) {
11419
+ return existing;
11420
+ }
11421
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
11422
+ return String(existing.sessionId || existing.session_id);
11423
+ }
11424
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
11425
+ const binding = {
11426
+ conversationId: resolvedConversationId,
11427
+ sessionId
11428
+ };
11429
+ await store.set(mappingKey, binding);
11430
+ return sessionId;
11431
+ });
11432
+ },
10561
11433
  claudeSessionStore() {
10562
11434
  if (!claudeStoreCache) {
10563
11435
  claudeStoreCache = createClaudeSessionStore(store);
@@ -10565,7 +11437,8 @@ function createAgentMemory(store, options = {}) {
10565
11437
  return claudeStoreCache;
10566
11438
  },
10567
11439
  langgraphCheckpointer,
10568
- langgraphStore
11440
+ langgraphStore,
11441
+ state
10569
11442
  };
10570
11443
  return memory;
10571
11444
  }
@@ -11246,6 +12119,7 @@ function createAgentRuntime(options) {
11246
12119
  env,
11247
12120
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
11248
12121
  runId: run_id,
12122
+ conversationId: conversation_id,
11249
12123
  maxMessagesPerConversation: (_a = defaults == null ? void 0 : defaults.memoryQuota) == null ? void 0 : _a.maxMessagesPerConversation
11250
12124
  }),
11251
12125
  agents: {
@@ -23780,6 +24654,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
23780
24654
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
23781
24655
  var LANGGRAPH_SERDE_VERSION = 1;
23782
24656
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
24657
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
24658
+ var STATE_PREFIX = "state";
24659
+ var MAX_STATE_KEY_LENGTH = 256;
23783
24660
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
23784
24661
  var VALID_ROLES = /* @__PURE__ */ new Set([
23785
24662
  "user",
@@ -23826,6 +24703,15 @@ var MemoryStorageError = class extends Error {
23826
24703
  this.cause = cause;
23827
24704
  }
23828
24705
  };
24706
+ var MemoryCorruptError = class extends Error {
24707
+ code = "MemoryCorruptError";
24708
+ cause;
24709
+ constructor(message, cause) {
24710
+ super(message);
24711
+ this.name = "MemoryCorruptError";
24712
+ this.cause = cause;
24713
+ }
24714
+ };
23829
24715
  var dynamicImport = new Function(
23830
24716
  "specifier",
23831
24717
  "return import(specifier);"
@@ -23833,7 +24719,7 @@ var dynamicImport = new Function(
23833
24719
  var langchainLoadPromise;
23834
24720
  var langchainMessagesPromise;
23835
24721
  function isMemoryError(error51) {
23836
- return error51 instanceof MemoryValidationError || error51 instanceof MemoryNotFoundError || error51 instanceof MemoryQuotaExceededError || error51 instanceof MemoryStorageError;
24722
+ return error51 instanceof MemoryValidationError || error51 instanceof MemoryNotFoundError || error51 instanceof MemoryQuotaExceededError || error51 instanceof MemoryStorageError || error51 instanceof MemoryCorruptError;
23837
24723
  }
23838
24724
  async function wrapStorage(operation) {
23839
24725
  try {
@@ -24001,10 +24887,17 @@ async function reviveLangGraphJsonValue(value) {
24001
24887
  return revived;
24002
24888
  }
24003
24889
  async function deserializeLangGraphJson(value) {
24004
- if (isLangGraphSerializedJson(value)) {
24005
- return reviveLangGraphJsonValue(JSON.parse(value.data));
24890
+ try {
24891
+ if (isLangGraphSerializedJson(value)) {
24892
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
24893
+ }
24894
+ return reviveLangGraphJsonValue(value);
24895
+ } catch (error51) {
24896
+ throw new MemoryCorruptError(
24897
+ "LangGraph persisted state is corrupt or incompatible.",
24898
+ error51
24899
+ );
24006
24900
  }
24007
- return reviveLangGraphJsonValue(value);
24008
24901
  }
24009
24902
  function normalizeStoreLimit(value, fallback) {
24010
24903
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -24116,6 +25009,115 @@ function validateMessageId(messageId) {
24116
25009
  throw new MemoryValidationError("messageId is required.");
24117
25010
  }
24118
25011
  }
25012
+ function validateStateKey(key) {
25013
+ if (typeof key !== "string" || key.length === 0) {
25014
+ throw new MemoryValidationError("state key is required.");
25015
+ }
25016
+ if (key.length > MAX_STATE_KEY_LENGTH) {
25017
+ throw new MemoryValidationError(
25018
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
25019
+ );
25020
+ }
25021
+ }
25022
+ function assertStateSerializable(value, path2 = "state value", seen = /* @__PURE__ */ new Set()) {
25023
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
25024
+ return;
25025
+ }
25026
+ if (typeof value === "number") {
25027
+ if (Number.isFinite(value))
25028
+ return;
25029
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
25030
+ }
25031
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
25032
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
25033
+ }
25034
+ if (typeof value !== "object") {
25035
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
25036
+ }
25037
+ if (seen.has(value)) {
25038
+ throw new MemoryValidationError(\`\${path2} must not contain circular references.\`);
25039
+ }
25040
+ seen.add(value);
25041
+ if (Array.isArray(value)) {
25042
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path2}[\${index}]\`, seen));
25043
+ } else if (isPlainObject(value)) {
25044
+ for (const [key, item] of Object.entries(value)) {
25045
+ assertStateSerializable(item, \`\${path2}.\${key}\`, seen);
25046
+ }
25047
+ } else {
25048
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
25049
+ }
25050
+ seen.delete(value);
25051
+ }
25052
+ function stateConversationPrefix(conversationId) {
25053
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
25054
+ }
25055
+ function createAgentStateStore(store, boundConversationId) {
25056
+ const requireConversation = () => {
25057
+ if (!boundConversationId) {
25058
+ throw new MemoryValidationError(
25059
+ "State operations require a bound conversationId."
25060
+ );
25061
+ }
25062
+ validateConversationId(boundConversationId);
25063
+ return boundConversationId;
25064
+ };
25065
+ return {
25066
+ async get(key) {
25067
+ validateStateKey(key);
25068
+ const conversationId = requireConversation();
25069
+ return wrapStorage(async () => {
25070
+ const raw = await store.get(
25071
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
25072
+ { consistency: "strong" }
25073
+ );
25074
+ if (raw === null)
25075
+ return null;
25076
+ if (typeof raw !== "string") {
25077
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
25078
+ }
25079
+ try {
25080
+ return JSON.parse(raw);
25081
+ } catch (error51) {
25082
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error51);
25083
+ }
25084
+ });
25085
+ },
25086
+ async set(key, value) {
25087
+ validateStateKey(key);
25088
+ const conversationId = requireConversation();
25089
+ assertStateSerializable(value);
25090
+ let serialized;
25091
+ try {
25092
+ serialized = JSON.stringify(value);
25093
+ } catch (error51) {
25094
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error51)}\`);
25095
+ }
25096
+ await wrapStorage(
25097
+ () => store.set(
25098
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
25099
+ serialized
25100
+ )
25101
+ );
25102
+ },
25103
+ async delete(key) {
25104
+ validateStateKey(key);
25105
+ const conversationId = requireConversation();
25106
+ await wrapStorage(
25107
+ () => store.delete(
25108
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
25109
+ )
25110
+ );
25111
+ }
25112
+ };
25113
+ }
25114
+ async function deleteAgentState(store, conversationId) {
25115
+ const listed = await store.list({
25116
+ prefix: stateConversationPrefix(conversationId),
25117
+ consistency: "strong"
25118
+ });
25119
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
25120
+ }
24119
25121
  function validateUserId(userId) {
24120
25122
  if (userId === void 0) {
24121
25123
  return;
@@ -24248,6 +25250,9 @@ function cursorSortKey(cursor) {
24248
25250
  const payload = decodeConversationCursor(cursor);
24249
25251
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
24250
25252
  }
25253
+ function cursorListCursor(cursor) {
25254
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
25255
+ }
24251
25256
  function indexSortKey(key, prefix) {
24252
25257
  return key.slice(prefix.length);
24253
25258
  }
@@ -24415,6 +25420,51 @@ function claudeSessionBase(projectKey, sessionId) {
24415
25420
  function claudeProjectPrefix(projectKey) {
24416
25421
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
24417
25422
  }
25423
+ function claudeSessionMappingKey(conversationId) {
25424
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
25425
+ }
25426
+ function normalizeClaudeUuid(value) {
25427
+ const trimmed = value.trim().toLowerCase();
25428
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
25429
+ }
25430
+ function claudeSessionIdFromKey(key) {
25431
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
25432
+ if (!key.startsWith(prefix)) {
25433
+ return null;
25434
+ }
25435
+ const segments = key.slice(prefix.length).split("/");
25436
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
25437
+ }
25438
+ async function deleteClaudeSessionForConversation(store, conversationId) {
25439
+ const mappingKey = claudeSessionMappingKey(conversationId);
25440
+ const mapping = await store.get(mappingKey, {
25441
+ consistency: "strong"
25442
+ });
25443
+ let sessionId = null;
25444
+ if (typeof mapping === "string") {
25445
+ sessionId = mapping;
25446
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
25447
+ sessionId = mapping.sessionId;
25448
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
25449
+ sessionId = mapping.session_id;
25450
+ }
25451
+ if (!sessionId) {
25452
+ sessionId = normalizeClaudeUuid(conversationId);
25453
+ }
25454
+ await store.delete(mappingKey);
25455
+ if (!sessionId) {
25456
+ return;
25457
+ }
25458
+ const listed = await store.list({
25459
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
25460
+ consistency: "strong"
25461
+ });
25462
+ for (const key of listed.keys) {
25463
+ if (claudeSessionIdFromKey(key) === sessionId) {
25464
+ await store.delete(key);
25465
+ }
25466
+ }
25467
+ }
24418
25468
  function claudePartsPrefix(key) {
24419
25469
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
24420
25470
  if (key.subpath) {
@@ -24452,7 +25502,9 @@ function createClaudeSessionStore(store) {
24452
25502
  consistency: "strong"
24453
25503
  });
24454
25504
  if (typeof raw !== "string") {
24455
- continue;
25505
+ throw new MemoryCorruptError(
25506
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
25507
+ );
24456
25508
  }
24457
25509
  for (const line of raw.split("\\n")) {
24458
25510
  const trimmed = line.trim();
@@ -24461,7 +25513,11 @@ function createClaudeSessionStore(store) {
24461
25513
  }
24462
25514
  try {
24463
25515
  entries.push(JSON.parse(trimmed));
24464
- } catch {
25516
+ } catch (error51) {
25517
+ throw new MemoryCorruptError(
25518
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
25519
+ error51
25520
+ );
24465
25521
  }
24466
25522
  }
24467
25523
  }
@@ -24587,8 +25643,70 @@ async function listConversationsByUser(store, userId, options) {
24587
25643
  });
24588
25644
  }
24589
25645
  async function listConversationsFromIndex(store, options) {
25646
+ if (!options.before) {
25647
+ const fast = await listConversationsFromIndexFast(store, options);
25648
+ if (fast)
25649
+ return fast;
25650
+ }
24590
25651
  return listConversationsFromIndexFull(store, options);
24591
25652
  }
25653
+ async function listConversationsFromIndexFast(store, options) {
25654
+ var _a3, _b;
25655
+ let listCursor = cursorListCursor(options.after);
25656
+ if (options.after && !listCursor) {
25657
+ return null;
25658
+ }
25659
+ const pageItems = [];
25660
+ const seen = /* @__PURE__ */ new Set();
25661
+ let lastCursor;
25662
+ while (pageItems.length < options.limit) {
25663
+ const listed = await store.list({
25664
+ prefix: options.prefix,
25665
+ cursor: listCursor,
25666
+ limit: options.limit - pageItems.length,
25667
+ paginate: false,
25668
+ consistency: "strong"
25669
+ });
25670
+ lastCursor = listed.cursor;
25671
+ if (!listed.keys.length) {
25672
+ break;
25673
+ }
25674
+ const indexItems = [...listed.keys].sort(
25675
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
25676
+ ).map((key) => {
25677
+ const conversationId = options.conversationIdFromKey(key);
25678
+ if (!conversationId || seen.has(conversationId)) {
25679
+ return null;
25680
+ }
25681
+ seen.add(conversationId);
25682
+ return {
25683
+ key,
25684
+ sortKey: indexSortKey(key, options.prefix),
25685
+ conversationId
25686
+ };
25687
+ }).filter((item) => item !== null);
25688
+ const metas = await Promise.all(
25689
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
25690
+ );
25691
+ for (let i = 0; i < indexItems.length; i++) {
25692
+ const meta3 = metas[i];
25693
+ if (meta3) {
25694
+ pageItems.push({ indexItem: indexItems[i], meta: meta3 });
25695
+ }
25696
+ }
25697
+ if (!listed.cursor) {
25698
+ break;
25699
+ }
25700
+ listCursor = listed.cursor;
25701
+ }
25702
+ const firstItem = (_a3 = pageItems[0]) == null ? void 0 : _a3.indexItem;
25703
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
25704
+ return {
25705
+ items: pageItems.map((item) => item.meta),
25706
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
25707
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
25708
+ };
25709
+ }
24592
25710
  async function listConversationsFromIndexFull(store, options) {
24593
25711
  var _a3, _b;
24594
25712
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -25025,6 +26143,7 @@ function createAgentMemory(store, options = {}) {
25025
26143
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
25026
26144
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
25027
26145
  const langgraphStore = createLangGraphStore(store);
26146
+ const state = createAgentStateStore(store, options.conversationId);
25028
26147
  let claudeStoreCache = null;
25029
26148
  let lastMessageCreatedAt = 0;
25030
26149
  const appendMessagesInternal = async (inputs) => {
@@ -25310,8 +26429,13 @@ function createAgentMemory(store, options = {}) {
25310
26429
  listMessageKeys(store, input.conversationId)
25311
26430
  ]);
25312
26431
  if (!meta3) {
26432
+ if (options.conversationId === input.conversationId) {
26433
+ await deleteAgentState(store, input.conversationId);
26434
+ }
26435
+ await deleteClaudeSessionForConversation(store, input.conversationId);
26436
+ await langgraphCheckpointer.deleteThread(input.conversationId);
25313
26437
  throw new MemoryNotFoundError(
25314
- "Conversation not found by updateConversation."
26438
+ "Conversation not found by deleteConversation."
25315
26439
  );
25316
26440
  }
25317
26441
  const deleteOps = [];
@@ -25328,6 +26452,11 @@ function createAgentMemory(store, options = {}) {
25328
26452
  deleteOps.push(store.delete(metaKey(input.conversationId)));
25329
26453
  deleteOps.push(store.delete(conversationIndexKey(meta3)));
25330
26454
  await Promise.all(deleteOps);
26455
+ if (options.conversationId === input.conversationId) {
26456
+ await deleteAgentState(store, input.conversationId);
26457
+ }
26458
+ await deleteClaudeSessionForConversation(store, input.conversationId);
26459
+ await langgraphCheckpointer.deleteThread(input.conversationId);
25331
26460
  });
25332
26461
  },
25333
26462
  async updateConversation(input) {
@@ -25363,14 +26492,49 @@ function createAgentMemory(store, options = {}) {
25363
26492
  }));
25364
26493
  },
25365
26494
  openaiSession(sessionId, sessionOptions = {}) {
26495
+ const boundSessionId = sessionId ?? options.conversationId;
26496
+ if (!boundSessionId) {
26497
+ throw new MemoryValidationError(
26498
+ "openaiSession requires a sessionId or bound conversationId."
26499
+ );
26500
+ }
25366
26501
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
25367
26502
  return createOpenAISession(
25368
26503
  memory,
25369
- sessionId,
26504
+ boundSessionId,
25370
26505
  maxItems,
25371
26506
  appendMessagesInternal
25372
26507
  );
25373
26508
  },
26509
+ async claudeSessionBinding(conversationId) {
26510
+ const resolvedConversationId = conversationId ?? options.conversationId;
26511
+ if (!resolvedConversationId) {
26512
+ throw new MemoryValidationError(
26513
+ "claudeSessionBinding requires a conversationId or bound conversationId."
26514
+ );
26515
+ }
26516
+ validateConversationId(resolvedConversationId);
26517
+ return wrapStorage(async () => {
26518
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
26519
+ const existing = await store.get(
26520
+ mappingKey,
26521
+ { consistency: "strong" }
26522
+ );
26523
+ if (typeof existing === "string" && existing) {
26524
+ return existing;
26525
+ }
26526
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
26527
+ return String(existing.sessionId || existing.session_id);
26528
+ }
26529
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
26530
+ const binding = {
26531
+ conversationId: resolvedConversationId,
26532
+ sessionId
26533
+ };
26534
+ await store.set(mappingKey, binding);
26535
+ return sessionId;
26536
+ });
26537
+ },
25374
26538
  claudeSessionStore() {
25375
26539
  if (!claudeStoreCache) {
25376
26540
  claudeStoreCache = createClaudeSessionStore(store);
@@ -25378,7 +26542,8 @@ function createAgentMemory(store, options = {}) {
25378
26542
  return claudeStoreCache;
25379
26543
  },
25380
26544
  langgraphCheckpointer,
25381
- langgraphStore
26545
+ langgraphStore,
26546
+ state
25382
26547
  };
25383
26548
  return memory;
25384
26549
  }
@@ -26059,6 +27224,7 @@ function createAgentRuntime(options) {
26059
27224
  env,
26060
27225
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
26061
27226
  runId: run_id,
27227
+ conversationId: conversation_id,
26062
27228
  maxMessagesPerConversation: (_a3 = defaults2 == null ? void 0 : defaults2.memoryQuota) == null ? void 0 : _a3.maxMessagesPerConversation
26063
27229
  }),
26064
27230
  agents: {
@@ -48615,6 +49781,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
48615
49781
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
48616
49782
  var LANGGRAPH_SERDE_VERSION = 1;
48617
49783
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
49784
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
49785
+ var STATE_PREFIX = "state";
49786
+ var MAX_STATE_KEY_LENGTH = 256;
48618
49787
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
48619
49788
  var VALID_ROLES = /* @__PURE__ */ new Set([
48620
49789
  "user",
@@ -48661,6 +49830,15 @@ var MemoryStorageError = class extends Error {
48661
49830
  this.cause = cause;
48662
49831
  }
48663
49832
  };
49833
+ var MemoryCorruptError = class extends Error {
49834
+ code = "MemoryCorruptError";
49835
+ cause;
49836
+ constructor(message, cause) {
49837
+ super(message);
49838
+ this.name = "MemoryCorruptError";
49839
+ this.cause = cause;
49840
+ }
49841
+ };
48664
49842
  var dynamicImport = new Function(
48665
49843
  "specifier",
48666
49844
  "return import(specifier);"
@@ -48668,7 +49846,7 @@ var dynamicImport = new Function(
48668
49846
  var langchainLoadPromise;
48669
49847
  var langchainMessagesPromise;
48670
49848
  function isMemoryError(error) {
48671
- return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError;
49849
+ return error instanceof MemoryValidationError || error instanceof MemoryNotFoundError || error instanceof MemoryQuotaExceededError || error instanceof MemoryStorageError || error instanceof MemoryCorruptError;
48672
49850
  }
48673
49851
  async function wrapStorage(operation) {
48674
49852
  try {
@@ -48836,10 +50014,17 @@ async function reviveLangGraphJsonValue(value) {
48836
50014
  return revived;
48837
50015
  }
48838
50016
  async function deserializeLangGraphJson(value) {
48839
- if (isLangGraphSerializedJson(value)) {
48840
- return reviveLangGraphJsonValue(JSON.parse(value.data));
50017
+ try {
50018
+ if (isLangGraphSerializedJson(value)) {
50019
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
50020
+ }
50021
+ return reviveLangGraphJsonValue(value);
50022
+ } catch (error) {
50023
+ throw new MemoryCorruptError(
50024
+ "LangGraph persisted state is corrupt or incompatible.",
50025
+ error
50026
+ );
48841
50027
  }
48842
- return reviveLangGraphJsonValue(value);
48843
50028
  }
48844
50029
  function normalizeStoreLimit(value, fallback) {
48845
50030
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -48951,6 +50136,115 @@ function validateMessageId(messageId) {
48951
50136
  throw new MemoryValidationError("messageId is required.");
48952
50137
  }
48953
50138
  }
50139
+ function validateStateKey(key) {
50140
+ if (typeof key !== "string" || key.length === 0) {
50141
+ throw new MemoryValidationError("state key is required.");
50142
+ }
50143
+ if (key.length > MAX_STATE_KEY_LENGTH) {
50144
+ throw new MemoryValidationError(
50145
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
50146
+ );
50147
+ }
50148
+ }
50149
+ function assertStateSerializable(value, path2 = "state value", seen = /* @__PURE__ */ new Set()) {
50150
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
50151
+ return;
50152
+ }
50153
+ if (typeof value === "number") {
50154
+ if (Number.isFinite(value))
50155
+ return;
50156
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
50157
+ }
50158
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
50159
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
50160
+ }
50161
+ if (typeof value !== "object") {
50162
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
50163
+ }
50164
+ if (seen.has(value)) {
50165
+ throw new MemoryValidationError(\`\${path2} must not contain circular references.\`);
50166
+ }
50167
+ seen.add(value);
50168
+ if (Array.isArray(value)) {
50169
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path2}[\${index}]\`, seen));
50170
+ } else if (isPlainObject(value)) {
50171
+ for (const [key, item] of Object.entries(value)) {
50172
+ assertStateSerializable(item, \`\${path2}.\${key}\`, seen);
50173
+ }
50174
+ } else {
50175
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
50176
+ }
50177
+ seen.delete(value);
50178
+ }
50179
+ function stateConversationPrefix(conversationId) {
50180
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
50181
+ }
50182
+ function createAgentStateStore(store, boundConversationId) {
50183
+ const requireConversation = () => {
50184
+ if (!boundConversationId) {
50185
+ throw new MemoryValidationError(
50186
+ "State operations require a bound conversationId."
50187
+ );
50188
+ }
50189
+ validateConversationId(boundConversationId);
50190
+ return boundConversationId;
50191
+ };
50192
+ return {
50193
+ async get(key) {
50194
+ validateStateKey(key);
50195
+ const conversationId = requireConversation();
50196
+ return wrapStorage(async () => {
50197
+ const raw = await store.get(
50198
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
50199
+ { consistency: "strong" }
50200
+ );
50201
+ if (raw === null)
50202
+ return null;
50203
+ if (typeof raw !== "string") {
50204
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
50205
+ }
50206
+ try {
50207
+ return JSON.parse(raw);
50208
+ } catch (error) {
50209
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error);
50210
+ }
50211
+ });
50212
+ },
50213
+ async set(key, value) {
50214
+ validateStateKey(key);
50215
+ const conversationId = requireConversation();
50216
+ assertStateSerializable(value);
50217
+ let serialized;
50218
+ try {
50219
+ serialized = JSON.stringify(value);
50220
+ } catch (error) {
50221
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error)}\`);
50222
+ }
50223
+ await wrapStorage(
50224
+ () => store.set(
50225
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
50226
+ serialized
50227
+ )
50228
+ );
50229
+ },
50230
+ async delete(key) {
50231
+ validateStateKey(key);
50232
+ const conversationId = requireConversation();
50233
+ await wrapStorage(
50234
+ () => store.delete(
50235
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
50236
+ )
50237
+ );
50238
+ }
50239
+ };
50240
+ }
50241
+ async function deleteAgentState(store, conversationId) {
50242
+ const listed = await store.list({
50243
+ prefix: stateConversationPrefix(conversationId),
50244
+ consistency: "strong"
50245
+ });
50246
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
50247
+ }
48954
50248
  function validateUserId(userId) {
48955
50249
  if (userId === void 0) {
48956
50250
  return;
@@ -49083,6 +50377,9 @@ function cursorSortKey(cursor) {
49083
50377
  const payload = decodeConversationCursor(cursor);
49084
50378
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
49085
50379
  }
50380
+ function cursorListCursor(cursor) {
50381
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
50382
+ }
49086
50383
  function indexSortKey(key, prefix) {
49087
50384
  return key.slice(prefix.length);
49088
50385
  }
@@ -49250,6 +50547,51 @@ function claudeSessionBase(projectKey, sessionId) {
49250
50547
  function claudeProjectPrefix(projectKey) {
49251
50548
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
49252
50549
  }
50550
+ function claudeSessionMappingKey(conversationId) {
50551
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
50552
+ }
50553
+ function normalizeClaudeUuid(value) {
50554
+ const trimmed = value.trim().toLowerCase();
50555
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
50556
+ }
50557
+ function claudeSessionIdFromKey(key) {
50558
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
50559
+ if (!key.startsWith(prefix)) {
50560
+ return null;
50561
+ }
50562
+ const segments = key.slice(prefix.length).split("/");
50563
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
50564
+ }
50565
+ async function deleteClaudeSessionForConversation(store, conversationId) {
50566
+ const mappingKey = claudeSessionMappingKey(conversationId);
50567
+ const mapping = await store.get(mappingKey, {
50568
+ consistency: "strong"
50569
+ });
50570
+ let sessionId = null;
50571
+ if (typeof mapping === "string") {
50572
+ sessionId = mapping;
50573
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
50574
+ sessionId = mapping.sessionId;
50575
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
50576
+ sessionId = mapping.session_id;
50577
+ }
50578
+ if (!sessionId) {
50579
+ sessionId = normalizeClaudeUuid(conversationId);
50580
+ }
50581
+ await store.delete(mappingKey);
50582
+ if (!sessionId) {
50583
+ return;
50584
+ }
50585
+ const listed = await store.list({
50586
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
50587
+ consistency: "strong"
50588
+ });
50589
+ for (const key of listed.keys) {
50590
+ if (claudeSessionIdFromKey(key) === sessionId) {
50591
+ await store.delete(key);
50592
+ }
50593
+ }
50594
+ }
49253
50595
  function claudePartsPrefix(key) {
49254
50596
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
49255
50597
  if (key.subpath) {
@@ -49287,7 +50629,9 @@ function createClaudeSessionStore(store) {
49287
50629
  consistency: "strong"
49288
50630
  });
49289
50631
  if (typeof raw !== "string") {
49290
- continue;
50632
+ throw new MemoryCorruptError(
50633
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
50634
+ );
49291
50635
  }
49292
50636
  for (const line of raw.split("\\n")) {
49293
50637
  const trimmed = line.trim();
@@ -49296,7 +50640,11 @@ function createClaudeSessionStore(store) {
49296
50640
  }
49297
50641
  try {
49298
50642
  entries.push(JSON.parse(trimmed));
49299
- } catch {
50643
+ } catch (error) {
50644
+ throw new MemoryCorruptError(
50645
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
50646
+ error
50647
+ );
49300
50648
  }
49301
50649
  }
49302
50650
  }
@@ -49422,8 +50770,70 @@ async function listConversationsByUser(store, userId, options) {
49422
50770
  });
49423
50771
  }
49424
50772
  async function listConversationsFromIndex(store, options) {
50773
+ if (!options.before) {
50774
+ const fast = await listConversationsFromIndexFast(store, options);
50775
+ if (fast)
50776
+ return fast;
50777
+ }
49425
50778
  return listConversationsFromIndexFull(store, options);
49426
50779
  }
50780
+ async function listConversationsFromIndexFast(store, options) {
50781
+ var _a, _b;
50782
+ let listCursor = cursorListCursor(options.after);
50783
+ if (options.after && !listCursor) {
50784
+ return null;
50785
+ }
50786
+ const pageItems = [];
50787
+ const seen = /* @__PURE__ */ new Set();
50788
+ let lastCursor;
50789
+ while (pageItems.length < options.limit) {
50790
+ const listed = await store.list({
50791
+ prefix: options.prefix,
50792
+ cursor: listCursor,
50793
+ limit: options.limit - pageItems.length,
50794
+ paginate: false,
50795
+ consistency: "strong"
50796
+ });
50797
+ lastCursor = listed.cursor;
50798
+ if (!listed.keys.length) {
50799
+ break;
50800
+ }
50801
+ const indexItems = [...listed.keys].sort(
50802
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
50803
+ ).map((key) => {
50804
+ const conversationId = options.conversationIdFromKey(key);
50805
+ if (!conversationId || seen.has(conversationId)) {
50806
+ return null;
50807
+ }
50808
+ seen.add(conversationId);
50809
+ return {
50810
+ key,
50811
+ sortKey: indexSortKey(key, options.prefix),
50812
+ conversationId
50813
+ };
50814
+ }).filter((item) => item !== null);
50815
+ const metas = await Promise.all(
50816
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
50817
+ );
50818
+ for (let i = 0; i < indexItems.length; i++) {
50819
+ const meta = metas[i];
50820
+ if (meta) {
50821
+ pageItems.push({ indexItem: indexItems[i], meta });
50822
+ }
50823
+ }
50824
+ if (!listed.cursor) {
50825
+ break;
50826
+ }
50827
+ listCursor = listed.cursor;
50828
+ }
50829
+ const firstItem = (_a = pageItems[0]) == null ? void 0 : _a.indexItem;
50830
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
50831
+ return {
50832
+ items: pageItems.map((item) => item.meta),
50833
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
50834
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
50835
+ };
50836
+ }
49427
50837
  async function listConversationsFromIndexFull(store, options) {
49428
50838
  var _a, _b;
49429
50839
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -49860,6 +51270,7 @@ function createAgentMemory(store, options = {}) {
49860
51270
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
49861
51271
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
49862
51272
  const langgraphStore = createLangGraphStore(store);
51273
+ const state = createAgentStateStore(store, options.conversationId);
49863
51274
  let claudeStoreCache = null;
49864
51275
  let lastMessageCreatedAt = 0;
49865
51276
  const appendMessagesInternal = async (inputs) => {
@@ -50145,8 +51556,13 @@ function createAgentMemory(store, options = {}) {
50145
51556
  listMessageKeys(store, input.conversationId)
50146
51557
  ]);
50147
51558
  if (!meta) {
51559
+ if (options.conversationId === input.conversationId) {
51560
+ await deleteAgentState(store, input.conversationId);
51561
+ }
51562
+ await deleteClaudeSessionForConversation(store, input.conversationId);
51563
+ await langgraphCheckpointer.deleteThread(input.conversationId);
50148
51564
  throw new MemoryNotFoundError(
50149
- "Conversation not found by updateConversation."
51565
+ "Conversation not found by deleteConversation."
50150
51566
  );
50151
51567
  }
50152
51568
  const deleteOps = [];
@@ -50163,6 +51579,11 @@ function createAgentMemory(store, options = {}) {
50163
51579
  deleteOps.push(store.delete(metaKey(input.conversationId)));
50164
51580
  deleteOps.push(store.delete(conversationIndexKey(meta)));
50165
51581
  await Promise.all(deleteOps);
51582
+ if (options.conversationId === input.conversationId) {
51583
+ await deleteAgentState(store, input.conversationId);
51584
+ }
51585
+ await deleteClaudeSessionForConversation(store, input.conversationId);
51586
+ await langgraphCheckpointer.deleteThread(input.conversationId);
50166
51587
  });
50167
51588
  },
50168
51589
  async updateConversation(input) {
@@ -50198,14 +51619,49 @@ function createAgentMemory(store, options = {}) {
50198
51619
  }));
50199
51620
  },
50200
51621
  openaiSession(sessionId, sessionOptions = {}) {
51622
+ const boundSessionId = sessionId ?? options.conversationId;
51623
+ if (!boundSessionId) {
51624
+ throw new MemoryValidationError(
51625
+ "openaiSession requires a sessionId or bound conversationId."
51626
+ );
51627
+ }
50201
51628
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
50202
51629
  return createOpenAISession(
50203
51630
  memory,
50204
- sessionId,
51631
+ boundSessionId,
50205
51632
  maxItems,
50206
51633
  appendMessagesInternal
50207
51634
  );
50208
51635
  },
51636
+ async claudeSessionBinding(conversationId) {
51637
+ const resolvedConversationId = conversationId ?? options.conversationId;
51638
+ if (!resolvedConversationId) {
51639
+ throw new MemoryValidationError(
51640
+ "claudeSessionBinding requires a conversationId or bound conversationId."
51641
+ );
51642
+ }
51643
+ validateConversationId(resolvedConversationId);
51644
+ return wrapStorage(async () => {
51645
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
51646
+ const existing = await store.get(
51647
+ mappingKey,
51648
+ { consistency: "strong" }
51649
+ );
51650
+ if (typeof existing === "string" && existing) {
51651
+ return existing;
51652
+ }
51653
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
51654
+ return String(existing.sessionId || existing.session_id);
51655
+ }
51656
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
51657
+ const binding = {
51658
+ conversationId: resolvedConversationId,
51659
+ sessionId
51660
+ };
51661
+ await store.set(mappingKey, binding);
51662
+ return sessionId;
51663
+ });
51664
+ },
50209
51665
  claudeSessionStore() {
50210
51666
  if (!claudeStoreCache) {
50211
51667
  claudeStoreCache = createClaudeSessionStore(store);
@@ -50213,7 +51669,8 @@ function createAgentMemory(store, options = {}) {
50213
51669
  return claudeStoreCache;
50214
51670
  },
50215
51671
  langgraphCheckpointer,
50216
- langgraphStore
51672
+ langgraphStore,
51673
+ state
50217
51674
  };
50218
51675
  return memory;
50219
51676
  }
@@ -50894,6 +52351,7 @@ function createAgentRuntime(options) {
50894
52351
  env,
50895
52352
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
50896
52353
  runId: run_id,
52354
+ conversationId: conversation_id,
50897
52355
  maxMessagesPerConversation: (_a = defaults == null ? void 0 : defaults.memoryQuota) == null ? void 0 : _a.maxMessagesPerConversation
50898
52356
  }),
50899
52357
  agents: {
@@ -64074,6 +65532,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
64074
65532
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
64075
65533
  var LANGGRAPH_SERDE_VERSION = 1;
64076
65534
  var CLAUDE_SESSION_PREFIX = "claude_sessions";
65535
+ var CLAUDE_SESSION_MAPPING_PREFIX = "claude_session_mapping";
65536
+ var STATE_PREFIX = "state";
65537
+ var MAX_STATE_KEY_LENGTH = 256;
64077
65538
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
64078
65539
  var VALID_ROLES = /* @__PURE__ */ new Set([
64079
65540
  "user",
@@ -64120,6 +65581,15 @@ var MemoryStorageError = class extends Error {
64120
65581
  this.cause = cause;
64121
65582
  }
64122
65583
  };
65584
+ var MemoryCorruptError = class extends Error {
65585
+ code = "MemoryCorruptError";
65586
+ cause;
65587
+ constructor(message, cause) {
65588
+ super(message);
65589
+ this.name = "MemoryCorruptError";
65590
+ this.cause = cause;
65591
+ }
65592
+ };
64123
65593
  var dynamicImport = new Function(
64124
65594
  "specifier",
64125
65595
  "return import(specifier);"
@@ -64127,7 +65597,7 @@ var dynamicImport = new Function(
64127
65597
  var langchainLoadPromise;
64128
65598
  var langchainMessagesPromise;
64129
65599
  function isMemoryError(error51) {
64130
- return error51 instanceof MemoryValidationError || error51 instanceof MemoryNotFoundError || error51 instanceof MemoryQuotaExceededError || error51 instanceof MemoryStorageError;
65600
+ return error51 instanceof MemoryValidationError || error51 instanceof MemoryNotFoundError || error51 instanceof MemoryQuotaExceededError || error51 instanceof MemoryStorageError || error51 instanceof MemoryCorruptError;
64131
65601
  }
64132
65602
  async function wrapStorage(operation) {
64133
65603
  try {
@@ -64295,10 +65765,17 @@ async function reviveLangGraphJsonValue(value) {
64295
65765
  return revived;
64296
65766
  }
64297
65767
  async function deserializeLangGraphJson(value) {
64298
- if (isLangGraphSerializedJson(value)) {
64299
- return reviveLangGraphJsonValue(JSON.parse(value.data));
65768
+ try {
65769
+ if (isLangGraphSerializedJson(value)) {
65770
+ return reviveLangGraphJsonValue(JSON.parse(value.data));
65771
+ }
65772
+ return reviveLangGraphJsonValue(value);
65773
+ } catch (error51) {
65774
+ throw new MemoryCorruptError(
65775
+ "LangGraph persisted state is corrupt or incompatible.",
65776
+ error51
65777
+ );
64300
65778
  }
64301
- return reviveLangGraphJsonValue(value);
64302
65779
  }
64303
65780
  function normalizeStoreLimit(value, fallback) {
64304
65781
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -64410,6 +65887,115 @@ function validateMessageId(messageId) {
64410
65887
  throw new MemoryValidationError("messageId is required.");
64411
65888
  }
64412
65889
  }
65890
+ function validateStateKey(key) {
65891
+ if (typeof key !== "string" || key.length === 0) {
65892
+ throw new MemoryValidationError("state key is required.");
65893
+ }
65894
+ if (key.length > MAX_STATE_KEY_LENGTH) {
65895
+ throw new MemoryValidationError(
65896
+ \`state key must be at most \${MAX_STATE_KEY_LENGTH} characters.\`
65897
+ );
65898
+ }
65899
+ }
65900
+ function assertStateSerializable(value, path2 = "state value", seen = /* @__PURE__ */ new Set()) {
65901
+ if (value === null || typeof value === "string" || typeof value === "boolean") {
65902
+ return;
65903
+ }
65904
+ if (typeof value === "number") {
65905
+ if (Number.isFinite(value))
65906
+ return;
65907
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
65908
+ }
65909
+ if (value === void 0 || typeof value === "function" || typeof value === "symbol" || typeof value === "bigint") {
65910
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
65911
+ }
65912
+ if (typeof value !== "object") {
65913
+ throw new MemoryValidationError(\`\${path2} must be JSON serializable.\`);
65914
+ }
65915
+ if (seen.has(value)) {
65916
+ throw new MemoryValidationError(\`\${path2} must not contain circular references.\`);
65917
+ }
65918
+ seen.add(value);
65919
+ if (Array.isArray(value)) {
65920
+ value.forEach((item, index) => assertStateSerializable(item, \`\${path2}[\${index}]\`, seen));
65921
+ } else if (isPlainObject(value)) {
65922
+ for (const [key, item] of Object.entries(value)) {
65923
+ assertStateSerializable(item, \`\${path2}.\${key}\`, seen);
65924
+ }
65925
+ } else {
65926
+ throw new MemoryValidationError(\`\${path2} must contain only JSON values.\`);
65927
+ }
65928
+ seen.delete(value);
65929
+ }
65930
+ function stateConversationPrefix(conversationId) {
65931
+ return \`\${STATE_PREFIX}/\${encodeKeySegment(conversationId)}/\`;
65932
+ }
65933
+ function createAgentStateStore(store, boundConversationId) {
65934
+ const requireConversation = () => {
65935
+ if (!boundConversationId) {
65936
+ throw new MemoryValidationError(
65937
+ "State operations require a bound conversationId."
65938
+ );
65939
+ }
65940
+ validateConversationId(boundConversationId);
65941
+ return boundConversationId;
65942
+ };
65943
+ return {
65944
+ async get(key) {
65945
+ validateStateKey(key);
65946
+ const conversationId = requireConversation();
65947
+ return wrapStorage(async () => {
65948
+ const raw = await store.get(
65949
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
65950
+ { consistency: "strong" }
65951
+ );
65952
+ if (raw === null)
65953
+ return null;
65954
+ if (typeof raw !== "string") {
65955
+ throw new MemoryStorageError("Stored state value is not valid JSON text.");
65956
+ }
65957
+ try {
65958
+ return JSON.parse(raw);
65959
+ } catch (error51) {
65960
+ throw new MemoryStorageError("Stored state value is invalid JSON.", error51);
65961
+ }
65962
+ });
65963
+ },
65964
+ async set(key, value) {
65965
+ validateStateKey(key);
65966
+ const conversationId = requireConversation();
65967
+ assertStateSerializable(value);
65968
+ let serialized;
65969
+ try {
65970
+ serialized = JSON.stringify(value);
65971
+ } catch (error51) {
65972
+ throw new MemoryValidationError(\`state value must be JSON serializable: \${String(error51)}\`);
65973
+ }
65974
+ await wrapStorage(
65975
+ () => store.set(
65976
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`,
65977
+ serialized
65978
+ )
65979
+ );
65980
+ },
65981
+ async delete(key) {
65982
+ validateStateKey(key);
65983
+ const conversationId = requireConversation();
65984
+ await wrapStorage(
65985
+ () => store.delete(
65986
+ \`\${stateConversationPrefix(conversationId)}\${encodeKeySegment(key)}\`
65987
+ )
65988
+ );
65989
+ }
65990
+ };
65991
+ }
65992
+ async function deleteAgentState(store, conversationId) {
65993
+ const listed = await store.list({
65994
+ prefix: stateConversationPrefix(conversationId),
65995
+ consistency: "strong"
65996
+ });
65997
+ await Promise.all(listed.keys.map((key) => store.delete(key)));
65998
+ }
64413
65999
  function validateUserId(userId) {
64414
66000
  if (userId === void 0) {
64415
66001
  return;
@@ -64542,6 +66128,9 @@ function cursorSortKey(cursor) {
64542
66128
  const payload = decodeConversationCursor(cursor);
64543
66129
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
64544
66130
  }
66131
+ function cursorListCursor(cursor) {
66132
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
66133
+ }
64545
66134
  function indexSortKey(key, prefix) {
64546
66135
  return key.slice(prefix.length);
64547
66136
  }
@@ -64709,6 +66298,51 @@ function claudeSessionBase(projectKey, sessionId) {
64709
66298
  function claudeProjectPrefix(projectKey) {
64710
66299
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
64711
66300
  }
66301
+ function claudeSessionMappingKey(conversationId) {
66302
+ return \`\${CLAUDE_SESSION_MAPPING_PREFIX}/\${encodeKeySegment(conversationId)}\`;
66303
+ }
66304
+ function normalizeClaudeUuid(value) {
66305
+ const trimmed = value.trim().toLowerCase();
66306
+ return /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/.test(trimmed) ? trimmed : null;
66307
+ }
66308
+ function claudeSessionIdFromKey(key) {
66309
+ const prefix = \`\${CLAUDE_SESSION_PREFIX}/\`;
66310
+ if (!key.startsWith(prefix)) {
66311
+ return null;
66312
+ }
66313
+ const segments = key.slice(prefix.length).split("/");
66314
+ return segments.length >= 3 && segments[1] ? decodeKeySegment(segments[1]) : null;
66315
+ }
66316
+ async function deleteClaudeSessionForConversation(store, conversationId) {
66317
+ const mappingKey = claudeSessionMappingKey(conversationId);
66318
+ const mapping = await store.get(mappingKey, {
66319
+ consistency: "strong"
66320
+ });
66321
+ let sessionId = null;
66322
+ if (typeof mapping === "string") {
66323
+ sessionId = mapping;
66324
+ } else if (isPlainObject(mapping) && typeof mapping.sessionId === "string") {
66325
+ sessionId = mapping.sessionId;
66326
+ } else if (isPlainObject(mapping) && typeof mapping.session_id === "string") {
66327
+ sessionId = mapping.session_id;
66328
+ }
66329
+ if (!sessionId) {
66330
+ sessionId = normalizeClaudeUuid(conversationId);
66331
+ }
66332
+ await store.delete(mappingKey);
66333
+ if (!sessionId) {
66334
+ return;
66335
+ }
66336
+ const listed = await store.list({
66337
+ prefix: \`\${CLAUDE_SESSION_PREFIX}/\`,
66338
+ consistency: "strong"
66339
+ });
66340
+ for (const key of listed.keys) {
66341
+ if (claudeSessionIdFromKey(key) === sessionId) {
66342
+ await store.delete(key);
66343
+ }
66344
+ }
66345
+ }
64712
66346
  function claudePartsPrefix(key) {
64713
66347
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
64714
66348
  if (key.subpath) {
@@ -64746,7 +66380,9 @@ function createClaudeSessionStore(store) {
64746
66380
  consistency: "strong"
64747
66381
  });
64748
66382
  if (typeof raw !== "string") {
64749
- continue;
66383
+ throw new MemoryCorruptError(
66384
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
66385
+ );
64750
66386
  }
64751
66387
  for (const line of raw.split("\\n")) {
64752
66388
  const trimmed = line.trim();
@@ -64755,7 +66391,11 @@ function createClaudeSessionStore(store) {
64755
66391
  }
64756
66392
  try {
64757
66393
  entries.push(JSON.parse(trimmed));
64758
- } catch {
66394
+ } catch (error51) {
66395
+ throw new MemoryCorruptError(
66396
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
66397
+ error51
66398
+ );
64759
66399
  }
64760
66400
  }
64761
66401
  }
@@ -64881,8 +66521,70 @@ async function listConversationsByUser(store, userId, options) {
64881
66521
  });
64882
66522
  }
64883
66523
  async function listConversationsFromIndex(store, options) {
66524
+ if (!options.before) {
66525
+ const fast = await listConversationsFromIndexFast(store, options);
66526
+ if (fast)
66527
+ return fast;
66528
+ }
64884
66529
  return listConversationsFromIndexFull(store, options);
64885
66530
  }
66531
+ async function listConversationsFromIndexFast(store, options) {
66532
+ var _a3, _b;
66533
+ let listCursor = cursorListCursor(options.after);
66534
+ if (options.after && !listCursor) {
66535
+ return null;
66536
+ }
66537
+ const pageItems = [];
66538
+ const seen = /* @__PURE__ */ new Set();
66539
+ let lastCursor;
66540
+ while (pageItems.length < options.limit) {
66541
+ const listed = await store.list({
66542
+ prefix: options.prefix,
66543
+ cursor: listCursor,
66544
+ limit: options.limit - pageItems.length,
66545
+ paginate: false,
66546
+ consistency: "strong"
66547
+ });
66548
+ lastCursor = listed.cursor;
66549
+ if (!listed.keys.length) {
66550
+ break;
66551
+ }
66552
+ const indexItems = [...listed.keys].sort(
66553
+ (left, right) => options.order === "desc" ? left.localeCompare(right) : right.localeCompare(left)
66554
+ ).map((key) => {
66555
+ const conversationId = options.conversationIdFromKey(key);
66556
+ if (!conversationId || seen.has(conversationId)) {
66557
+ return null;
66558
+ }
66559
+ seen.add(conversationId);
66560
+ return {
66561
+ key,
66562
+ sortKey: indexSortKey(key, options.prefix),
66563
+ conversationId
66564
+ };
66565
+ }).filter((item) => item !== null);
66566
+ const metas = await Promise.all(
66567
+ indexItems.map((item) => readConversationMeta(store, item.conversationId))
66568
+ );
66569
+ for (let i = 0; i < indexItems.length; i++) {
66570
+ const meta3 = metas[i];
66571
+ if (meta3) {
66572
+ pageItems.push({ indexItem: indexItems[i], meta: meta3 });
66573
+ }
66574
+ }
66575
+ if (!listed.cursor) {
66576
+ break;
66577
+ }
66578
+ listCursor = listed.cursor;
66579
+ }
66580
+ const firstItem = (_a3 = pageItems[0]) == null ? void 0 : _a3.indexItem;
66581
+ const lastItem = (_b = pageItems[pageItems.length - 1]) == null ? void 0 : _b.indexItem;
66582
+ return {
66583
+ items: pageItems.map((item) => item.meta),
66584
+ nextCursor: lastItem ? encodeConversationCursorFromIndexItem(lastItem, lastCursor) : void 0,
66585
+ previousCursor: firstItem ? encodeConversationCursorFromIndexItem(firstItem) : void 0
66586
+ };
66587
+ }
64886
66588
  async function listConversationsFromIndexFull(store, options) {
64887
66589
  var _a3, _b;
64888
66590
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -65319,6 +67021,7 @@ function createAgentMemory(store, options = {}) {
65319
67021
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
65320
67022
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
65321
67023
  const langgraphStore = createLangGraphStore(store);
67024
+ const state = createAgentStateStore(store, options.conversationId);
65322
67025
  let claudeStoreCache = null;
65323
67026
  let lastMessageCreatedAt = 0;
65324
67027
  const appendMessagesInternal = async (inputs) => {
@@ -65604,8 +67307,13 @@ function createAgentMemory(store, options = {}) {
65604
67307
  listMessageKeys(store, input.conversationId)
65605
67308
  ]);
65606
67309
  if (!meta3) {
67310
+ if (options.conversationId === input.conversationId) {
67311
+ await deleteAgentState(store, input.conversationId);
67312
+ }
67313
+ await deleteClaudeSessionForConversation(store, input.conversationId);
67314
+ await langgraphCheckpointer.deleteThread(input.conversationId);
65607
67315
  throw new MemoryNotFoundError(
65608
- "Conversation not found by updateConversation."
67316
+ "Conversation not found by deleteConversation."
65609
67317
  );
65610
67318
  }
65611
67319
  const deleteOps = [];
@@ -65622,6 +67330,11 @@ function createAgentMemory(store, options = {}) {
65622
67330
  deleteOps.push(store.delete(metaKey(input.conversationId)));
65623
67331
  deleteOps.push(store.delete(conversationIndexKey(meta3)));
65624
67332
  await Promise.all(deleteOps);
67333
+ if (options.conversationId === input.conversationId) {
67334
+ await deleteAgentState(store, input.conversationId);
67335
+ }
67336
+ await deleteClaudeSessionForConversation(store, input.conversationId);
67337
+ await langgraphCheckpointer.deleteThread(input.conversationId);
65625
67338
  });
65626
67339
  },
65627
67340
  async updateConversation(input) {
@@ -65657,14 +67370,49 @@ function createAgentMemory(store, options = {}) {
65657
67370
  }));
65658
67371
  },
65659
67372
  openaiSession(sessionId, sessionOptions = {}) {
67373
+ const boundSessionId = sessionId ?? options.conversationId;
67374
+ if (!boundSessionId) {
67375
+ throw new MemoryValidationError(
67376
+ "openaiSession requires a sessionId or bound conversationId."
67377
+ );
67378
+ }
65660
67379
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
65661
67380
  return createOpenAISession(
65662
67381
  memory,
65663
- sessionId,
67382
+ boundSessionId,
65664
67383
  maxItems,
65665
67384
  appendMessagesInternal
65666
67385
  );
65667
67386
  },
67387
+ async claudeSessionBinding(conversationId) {
67388
+ const resolvedConversationId = conversationId ?? options.conversationId;
67389
+ if (!resolvedConversationId) {
67390
+ throw new MemoryValidationError(
67391
+ "claudeSessionBinding requires a conversationId or bound conversationId."
67392
+ );
67393
+ }
67394
+ validateConversationId(resolvedConversationId);
67395
+ return wrapStorage(async () => {
67396
+ const mappingKey = claudeSessionMappingKey(resolvedConversationId);
67397
+ const existing = await store.get(
67398
+ mappingKey,
67399
+ { consistency: "strong" }
67400
+ );
67401
+ if (typeof existing === "string" && existing) {
67402
+ return existing;
67403
+ }
67404
+ if (isPlainObject(existing) && (typeof existing.sessionId === "string" || typeof existing.session_id === "string") && (existing.sessionId || existing.session_id)) {
67405
+ return String(existing.sessionId || existing.session_id);
67406
+ }
67407
+ const sessionId = normalizeClaudeUuid(resolvedConversationId) ?? randomUUID();
67408
+ const binding = {
67409
+ conversationId: resolvedConversationId,
67410
+ sessionId
67411
+ };
67412
+ await store.set(mappingKey, binding);
67413
+ return sessionId;
67414
+ });
67415
+ },
65668
67416
  claudeSessionStore() {
65669
67417
  if (!claudeStoreCache) {
65670
67418
  claudeStoreCache = createClaudeSessionStore(store);
@@ -65672,7 +67420,8 @@ function createAgentMemory(store, options = {}) {
65672
67420
  return claudeStoreCache;
65673
67421
  },
65674
67422
  langgraphCheckpointer,
65675
- langgraphStore
67423
+ langgraphStore,
67424
+ state
65676
67425
  };
65677
67426
  return memory;
65678
67427
  }
@@ -66353,6 +68102,7 @@ function createAgentRuntime(options) {
66353
68102
  env,
66354
68103
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
66355
68104
  runId: run_id,
68105
+ conversationId: conversation_id,
66356
68106
  maxMessagesPerConversation: (_a3 = defaults2 == null ? void 0 : defaults2.memoryQuota) == null ? void 0 : _a3.maxMessagesPerConversation
66357
68107
  }),
66358
68108
  agents: {