edgeone 1.6.25 → 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.25",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 :
@@ -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
  }
@@ -3902,24 +4193,24 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
3902
4193
  var require_dist = __commonJS({
3903
4194
  "node_modules/@edgeone/pages-blob/dist/index.js"(exports, module) {
3904
4195
  "use strict";
3905
- var N = Object.defineProperty;
4196
+ var U = Object.defineProperty;
3906
4197
  var le = Object.getOwnPropertyDescriptor;
3907
4198
  var ue = Object.getOwnPropertyNames;
3908
4199
  var ge = Object.prototype.hasOwnProperty;
3909
4200
  var fe = (t, e) => {
3910
4201
  for (var r in e)
3911
- N(t, r, { get: e[r], enumerable: true });
4202
+ U(t, r, { get: e[r], enumerable: true });
3912
4203
  };
3913
4204
  var he = (t, e, r, n) => {
3914
4205
  if (e && typeof e == "object" || typeof e == "function")
3915
4206
  for (let s of ue(e))
3916
- !ge.call(t, s) && s !== r && N(t, s, { get: () => e[s], enumerable: !(n = le(e, s)) || n.enumerable });
4207
+ !ge.call(t, s) && s !== r && U(t, s, { get: () => e[s], enumerable: !(n = le(e, s)) || n.enumerable });
3917
4208
  return t;
3918
4209
  };
3919
- var me = (t) => he(N({}, "__esModule", { value: true }), t);
3920
- var De = {};
3921
- fe(De, { InvalidKeyError: () => w, InvalidStoreNameError: () => y, MissingProjectIdError: () => T, PagesBlobError: () => h, PreconditionFailedError: () => x, QuotaExceededError: () => M, RateLimitedError: () => D, Store: () => E, getStore: () => ve, listStores: () => Me });
3922
- module.exports = me(De);
4210
+ var me = (t) => he(U({}, "__esModule", { value: true }), t);
4211
+ var Oe = {};
4212
+ fe(Oe, { InvalidKeyError: () => w, InvalidStoreNameError: () => y, MissingProjectIdError: () => T, PagesBlobError: () => h, PreconditionFailedError: () => x, QuotaExceededError: () => O, RateLimitedError: () => j, Store: () => E, getStore: () => Me, listStores: () => De });
4213
+ module.exports = me(Oe);
3923
4214
  var h = class extends Error {
3924
4215
  code;
3925
4216
  constructor(e, r) {
@@ -3941,12 +4232,12 @@ var require_dist = __commonJS({
3941
4232
  super("MISSING_ENVIRONMENT", \`Environment not configured for Pages Blob. Missing: \${e.join(", ")}. Supply these properties when creating a store, or ensure the function is running in a Pages environment.\`);
3942
4233
  }
3943
4234
  };
3944
- var M = class extends h {
4235
+ var O = class extends h {
3945
4236
  constructor() {
3946
4237
  super("QUOTA_EXCEEDED", "storage quota exceeded");
3947
4238
  }
3948
4239
  };
3949
- var D = class extends h {
4240
+ var j = class extends h {
3950
4241
  constructor() {
3951
4242
  super("RATE_LIMITED", "request rate limited, please retry later");
3952
4243
  }
@@ -3979,7 +4270,7 @@ var require_dist = __commonJS({
3979
4270
  if (new TextEncoder().encode(t).length > 600)
3980
4271
  throw new w("Blob key must be a sequence of Unicode characters whose UTF-8 encoding is at most 600 bytes long.");
3981
4272
  }
3982
- function q(t) {
4273
+ function z(t) {
3983
4274
  if (t === "")
3984
4275
  throw new y("Store name must not be empty.");
3985
4276
  if (t.includes("/") || t.includes(":"))
@@ -4067,45 +4358,48 @@ var require_dist = __commonJS({
4067
4358
  }
4068
4359
  };
4069
4360
  var ye = new TextEncoder();
4070
- function U(t) {
4361
+ function _(t) {
4071
4362
  let e = ye.encode(t), r = new ArrayBuffer(e.byteLength), n = new Uint8Array(r);
4072
4363
  return n.set(e), n;
4073
4364
  }
4074
- function F(t) {
4365
+ function G(t) {
4075
4366
  let e = t instanceof Uint8Array ? t : new Uint8Array(t), r = "";
4076
4367
  for (let n = 0; n < e.length; n++)
4077
4368
  r += e[n].toString(16).padStart(2, "0");
4078
4369
  return r;
4079
4370
  }
4080
- async function z(t, e) {
4081
- let r = await crypto.subtle.importKey("raw", U(t), { name: "HMAC", hash: "SHA-1" }, false, ["sign"]), n = await crypto.subtle.sign("HMAC", r, U(e));
4082
- return F(n);
4371
+ async function H(t, e) {
4372
+ let r = await crypto.subtle.importKey("raw", _(t), { name: "HMAC", hash: "SHA-1" }, false, ["sign"]), n = await crypto.subtle.sign("HMAC", r, _(e));
4373
+ return G(n);
4083
4374
  }
4084
4375
  async function pe(t) {
4085
- let e = await crypto.subtle.digest("SHA-1", U(t));
4086
- return F(e);
4376
+ let e = await crypto.subtle.digest("SHA-1", _(t));
4377
+ return G(e);
4087
4378
  }
4088
- function O(t) {
4379
+ function $(t) {
4089
4380
  return encodeURIComponent(t).replace(/[!'()*]/g, (e) => "%" + e.charCodeAt(0).toString(16).toUpperCase());
4090
4381
  }
4091
- function j(t) {
4382
+ function P(t) {
4092
4383
  try {
4093
4384
  return decodeURIComponent(t);
4094
4385
  } catch {
4095
4386
  return t;
4096
4387
  }
4097
4388
  }
4098
- function G(t) {
4099
- return t.split("/").map((e) => j(e)).join("/");
4389
+ function we(t) {
4390
+ return t.split("/").map((e) => P(e)).join("/");
4391
+ }
4392
+ function I(t) {
4393
+ return we(P(t));
4100
4394
  }
4101
4395
  function W(t) {
4102
- return t.split("/").map((e) => O(j(e))).join("/");
4396
+ return t.split("/").map((e) => $(P(e))).join("/");
4103
4397
  }
4104
- var we = /* @__PURE__ */ new Set(["cache-control", "content-disposition", "content-encoding", "content-length", "content-md5", "content-type", "expect", "expires", "if-match", "if-modified-since", "if-none-match", "if-unmodified-since", "origin", "range", "transfer-encoding"]);
4105
- function Ce(t) {
4106
- return t === "host" || t === "x-cos-security-token" ? false : !!(we.has(t) || t.startsWith("x-cos-"));
4398
+ var Ce = /* @__PURE__ */ new Set(["cache-control", "content-disposition", "content-encoding", "content-length", "content-md5", "content-type", "expect", "expires", "if-match", "if-modified-since", "if-none-match", "if-unmodified-since", "origin", "range", "transfer-encoding"]);
4399
+ function xe(t) {
4400
+ return t === "host" || t === "x-cos-security-token" ? false : !!(Ce.has(t) || t.startsWith("x-cos-"));
4107
4401
  }
4108
- function H(t) {
4402
+ function X(t) {
4109
4403
  if (!t)
4110
4404
  return [];
4111
4405
  let e = [];
@@ -4113,27 +4407,27 @@ var require_dist = __commonJS({
4113
4407
  n != null && e.push([r.toLowerCase(), String(n)]);
4114
4408
  return e.sort(([r], [n]) => r < n ? -1 : r > n ? 1 : 0), e;
4115
4409
  }
4116
- function X(t) {
4117
- return t.map(([e, r]) => \`\${O(e)}=\${O(r)}\`).join("&");
4118
- }
4119
4410
  function Y(t) {
4120
- return t.map(([e]) => O(e)).join(";");
4411
+ return t.map(([e, r]) => \`\${$(e)}=\${$(r)}\`).join("&");
4412
+ }
4413
+ function F(t) {
4414
+ return t.map(([e]) => $(e)).join(";");
4121
4415
  }
4122
4416
  async function V(t) {
4123
- let e = t.method.toLowerCase(), r = t.pathname.startsWith("/") ? t.pathname : \`/\${t.pathname}\`, n = Math.floor(Date.now() / 1e3), s = n + (t.expireSeconds ?? 3600), i = \`\${n};\${s}\`, o = H(t.headers).filter(([B]) => Ce(B)), c = Y(o), d = X(o), u = H(t.query), l = Y(u), g = X(u), p = \`\${e}
4417
+ let e = t.method.toLowerCase(), r = t.pathname.startsWith("/") ? t.pathname : \`/\${t.pathname}\`, n = Math.floor(Date.now() / 1e3), s = n + (t.expireSeconds ?? 3600), i = \`\${n};\${s}\`, o = X(t.headers).filter(([N]) => xe(N)), c = F(o), d = Y(o), u = X(t.query), l = F(u), g = Y(u), p = \`\${e}
4124
4418
  \${r}
4125
4419
  \${g}
4126
4420
  \${d}
4127
4421
  \`, oe = \`sha1
4128
4422
  \${i}
4129
4423
  \${await pe(p)}
4130
- \`, ie = await z(t.secretKey, i), ae = await z(ie, oe), ce = ["q-sign-algorithm=sha1", \`q-ak=\${t.secretId}\`, \`q-sign-time=\${i}\`, \`q-key-time=\${i}\`, \`q-header-list=\${c}\`, \`q-url-param-list=\${l}\`, \`q-signature=\${ae}\`].join("&"), K = {};
4131
- for (let [B, de] of o)
4132
- K[B] = de;
4133
- return { authorization: ce, signedHeaders: K };
4424
+ \`, ie = await H(t.secretKey, i), ae = await H(ie, oe), ce = ["q-sign-algorithm=sha1", \`q-ak=\${t.secretId}\`, \`q-sign-time=\${i}\`, \`q-key-time=\${i}\`, \`q-header-list=\${c}\`, \`q-url-param-list=\${l}\`, \`q-signature=\${ae}\`].join("&"), q = {};
4425
+ for (let [N, de] of o)
4426
+ q[N] = de;
4427
+ return { authorization: ce, signedHeaders: q };
4134
4428
  }
4135
4429
  async function J(t) {
4136
- let e = new URL(t.domain), r = j(t.key), n = \`/\${G(r)}\`, s = \`/\${W(r)}\`;
4430
+ let e = new URL(t.domain), r = P(t.key), n = \`/\${I(t.key)}\`, s = \`/\${W(r)}\`;
4137
4431
  e.pathname = s;
4138
4432
  let { authorization: i } = await V({ method: t.method, pathname: n, query: t.query, headers: t.headers, secretId: t.credential.secretId, secretKey: t.credential.secretKey, expireSeconds: t.expireSeconds });
4139
4433
  if (t.query)
@@ -4149,7 +4443,7 @@ var require_dist = __commonJS({
4149
4443
  return t.credential.sessionToken && e.searchParams.set("x-cos-security-token", t.credential.sessionToken), e.toString();
4150
4444
  }
4151
4445
  async function S(t) {
4152
- let e = new URL(t.domain), r = t.key ? j(t.key) : "", n = r ? \`/\${G(r)}\` : "/", s = r ? \`/\${W(r)}\` : "/";
4446
+ let e = new URL(t.domain), r = t.key ? P(t.key) : "", n = t.key ? \`/\${I(t.key)}\` : "/", s = r ? \`/\${W(r)}\` : "/";
4153
4447
  if (e.pathname = s, t.query)
4154
4448
  for (let [l, g] of Object.entries(t.query))
4155
4449
  g != null && e.searchParams.set(l, String(g));
@@ -4169,9 +4463,9 @@ var require_dist = __commonJS({
4169
4463
  }
4170
4464
  throw u;
4171
4465
  }
4172
- var xe = "blob.edgeone.site";
4173
- var be = "blob-nocache.edgeone.site";
4174
- var A = class t {
4466
+ var be = "blob.edgeone.site";
4467
+ var Te = "blob-nocache.edgeone.site";
4468
+ var M = class t {
4175
4469
  credentialManager;
4176
4470
  bucket = "";
4177
4471
  region = "";
@@ -4181,7 +4475,7 @@ var require_dist = __commonJS({
4181
4475
  initialized = false;
4182
4476
  static buildErrorDetail(e, r, n, s, i) {
4183
4477
  let a = n ? \`\${r}/\${n}\` : r, o = i ? \` [request-id: \${i}]\` : "";
4184
- return \`\${e} \${a} - \${Te(s)}\${o}\`;
4478
+ return \`\${e} \${a} - \${Ee(s)}\${o}\`;
4185
4479
  }
4186
4480
  constructor(e) {
4187
4481
  this.credentialManager = e;
@@ -4207,7 +4501,7 @@ var require_dist = __commonJS({
4207
4501
  let a = this.computeSubdomain(e);
4208
4502
  if (!a)
4209
4503
  throw new f(0, "unable to derive tenant subdomain from credential; missing appId/zoneId/projectId or resourcePrefix");
4210
- this.cachedDomain = \`https://\${a}.\${xe}\`, this.uncachedDomain = \`https://\${a}.\${be}\`, this.initialized = true;
4504
+ this.cachedDomain = \`https://\${a}.\${be}\`, this.uncachedDomain = \`https://\${a}.\${Te}\`, this.initialized = true;
4211
4505
  }
4212
4506
  async resolveDomain(e) {
4213
4507
  return await this.ensureInitialized(), e === "strong" ? this.uncachedDomain : this.cachedDomain;
@@ -4231,14 +4525,14 @@ var require_dist = __commonJS({
4231
4525
  return await l.arrayBuffer().catch(() => {
4232
4526
  }), { etag: "", statusCode: 412 };
4233
4527
  if (!l.ok) {
4234
- let p = await P(l);
4235
- throw new f(l.status, t.buildErrorDetail("PUT", i, o, p || \`status \${l.status}\`, I(l)));
4528
+ let p = await k(l);
4529
+ throw new f(l.status, t.buildErrorDetail("PUT", i, o, p || \`status \${l.status}\`, R(l)));
4236
4530
  }
4237
4531
  let g = l.headers.get("etag") || "";
4238
4532
  return await l.arrayBuffer().catch(() => {
4239
4533
  }), { etag: g, statusCode: l.status };
4240
4534
  } catch (l) {
4241
- throw l instanceof f ? l : new f(0, t.buildErrorDetail("PUT", i, o, k(l)));
4535
+ throw l instanceof f ? l : new f(0, t.buildErrorDetail("PUT", i, o, A(l)));
4242
4536
  }
4243
4537
  }
4244
4538
  async createPresignedPutUrl(e, r, n) {
@@ -4255,13 +4549,13 @@ var require_dist = __commonJS({
4255
4549
  return await o.arrayBuffer().catch(() => {
4256
4550
  }), null;
4257
4551
  if (!o.ok) {
4258
- let u = await P(o);
4259
- throw new f(o.status, t.buildErrorDetail("GET", s, a, u || \`status \${o.status}\`, I(o)));
4552
+ let u = await k(o);
4553
+ throw new f(o.status, t.buildErrorDetail("GET", s, a, u || \`status \${o.status}\`, R(o)));
4260
4554
  }
4261
4555
  let c = new Uint8Array(await o.arrayBuffer()), d = Z(o.headers);
4262
4556
  return { body: c, contentType: d["content-type"], headers: d };
4263
4557
  } catch (o) {
4264
- throw o instanceof f ? o : new f(0, t.buildErrorDetail("GET", s, a, k(o)));
4558
+ throw o instanceof f ? o : new f(0, t.buildErrorDetail("GET", s, a, A(o)));
4265
4559
  }
4266
4560
  }
4267
4561
  async headObject(e, r, n) {
@@ -4271,13 +4565,13 @@ var require_dist = __commonJS({
4271
4565
  if (o.status === 404)
4272
4566
  return null;
4273
4567
  if (!o.ok) {
4274
- let d = await P(o);
4275
- throw new f(o.status, t.buildErrorDetail("HEAD", s, a, d || \`status \${o.status}\`, I(o)));
4568
+ let d = await k(o);
4569
+ throw new f(o.status, t.buildErrorDetail("HEAD", s, a, d || \`status \${o.status}\`, R(o)));
4276
4570
  }
4277
4571
  let c = Z(o.headers);
4278
4572
  return { cacheControl: c["cache-control"], contentType: c["content-type"], etag: c.etag, headers: c };
4279
4573
  } catch (o) {
4280
- throw o instanceof f ? o : new f(0, t.buildErrorDetail("HEAD", s, a, k(o)));
4574
+ throw o instanceof f ? o : new f(0, t.buildErrorDetail("HEAD", s, a, A(o)));
4281
4575
  }
4282
4576
  }
4283
4577
  async deleteObject(e, r) {
@@ -4289,10 +4583,10 @@ var require_dist = __commonJS({
4289
4583
  });
4290
4584
  return;
4291
4585
  }
4292
- let o = await P(a);
4293
- throw new f(a.status, t.buildErrorDetail("DELETE", n, i, o || \`status \${a.status}\`, I(a)));
4586
+ let o = await k(a);
4587
+ throw new f(a.status, t.buildErrorDetail("DELETE", n, i, o || \`status \${a.status}\`, R(a)));
4294
4588
  } catch (a) {
4295
- throw a instanceof f ? a : new f(0, t.buildErrorDetail("DELETE", n, i, k(a)));
4589
+ throw a instanceof f ? a : new f(0, t.buildErrorDetail("DELETE", n, i, A(a)));
4296
4590
  }
4297
4591
  }
4298
4592
  async listObjects(e, r) {
@@ -4318,35 +4612,35 @@ var require_dist = __commonJS({
4318
4612
  return r;
4319
4613
  }
4320
4614
  async getBucketRaw(e) {
4321
- let r = await this.resolveDomain(e.consistency), n = await this.resolveCredential(), s = { prefix: e.prefix };
4322
- e.delimiter && (s.delimiter = e.delimiter), e.marker && (s.marker = e.marker), e.maxKeys && (s["max-keys"] = e.maxKeys);
4615
+ let r = await this.resolveDomain(e.consistency), n = await this.resolveCredential(), s = { prefix: I(e.prefix) };
4616
+ e.delimiter && (s.delimiter = e.delimiter), e.marker && (s.marker = I(e.marker)), e.maxKeys && (s["max-keys"] = e.maxKeys);
4323
4617
  try {
4324
4618
  let i = await S({ domain: r, method: "GET", query: s, credential: n });
4325
4619
  if (!i.ok) {
4326
- let o = await P(i);
4327
- throw new f(i.status, t.buildErrorDetail("LIST", r, e.prefix, o || \`status \${i.status}\`, I(i)));
4620
+ let o = await k(i);
4621
+ throw new f(i.status, t.buildErrorDetail("LIST", r, e.prefix, o || \`status \${i.status}\`, R(i)));
4328
4622
  }
4329
4623
  let a = await i.text();
4330
- return Ee(a);
4624
+ return Se(a);
4331
4625
  } catch (i) {
4332
- throw i instanceof f ? i : new f(0, t.buildErrorDetail("LIST", r, e.prefix, k(i)));
4626
+ throw i instanceof f ? i : new f(0, t.buildErrorDetail("LIST", r, e.prefix, A(i)));
4333
4627
  }
4334
4628
  }
4335
4629
  };
4336
- function Te(t) {
4630
+ function Ee(t) {
4337
4631
  return t.replace(/[a-zA-Z0-9\\-]+\\.cos\\.[a-zA-Z0-9\\-.]+\\.myqcloud\\.com/gi, "[cos-origin]").replace(/[a-zA-Z0-9\\-]+\\.cos\\.[a-zA-Z0-9\\-.]+\\.tencentcos\\.cn/gi, "[cos-origin]");
4338
4632
  }
4339
- async function P(t) {
4633
+ async function k(t) {
4340
4634
  try {
4341
4635
  return await t.text();
4342
4636
  } catch {
4343
4637
  return "";
4344
4638
  }
4345
4639
  }
4346
- function I(t) {
4640
+ function R(t) {
4347
4641
  return t.headers.get("x-cos-request-id") || t.headers.get("x-eo-log-id") || void 0;
4348
4642
  }
4349
- function k(t) {
4643
+ function A(t) {
4350
4644
  let e = t, r = e.message || String(t), n = e.cause;
4351
4645
  if (n) {
4352
4646
  let s = n.message || n.code || "";
@@ -4360,43 +4654,43 @@ var require_dist = __commonJS({
4360
4654
  e[n.toLowerCase()] = r;
4361
4655
  }), e;
4362
4656
  }
4363
- function Ee(t) {
4657
+ function Se(t) {
4364
4658
  let e = [], r = /<Contents>([\\s\\S]*?)<\\/Contents>/g, n;
4365
4659
  for (; (n = r.exec(t)) !== null; ) {
4366
- let d = n[1], u = R(d, "Key"), l = R(d, "ETag");
4367
- u !== null && e.push({ key: _(u), etag: l || "" });
4660
+ let d = n[1], u = v(d, "Key"), l = v(d, "ETag");
4661
+ u !== null && e.push({ key: L(u), etag: l || "" });
4368
4662
  }
4369
4663
  let s = [], i = /<CommonPrefixes>([\\s\\S]*?)<\\/CommonPrefixes>/g;
4370
4664
  for (; (n = i.exec(t)) !== null; ) {
4371
- let d = n[1], u = R(d, "Prefix");
4372
- u !== null && s.push(_(u));
4665
+ let d = n[1], u = v(d, "Prefix");
4666
+ u !== null && s.push(L(u));
4373
4667
  }
4374
- let o = R(t, "IsTruncated") === "true", c = R(t, "NextMarker") || "";
4375
- return { contents: e, commonPrefixes: s, isTruncated: o, nextMarker: _(c) };
4668
+ let o = v(t, "IsTruncated") === "true", c = v(t, "NextMarker") || "";
4669
+ return { contents: e, commonPrefixes: s, isTruncated: o, nextMarker: L(c) };
4376
4670
  }
4377
- function R(t, e) {
4671
+ function v(t, e) {
4378
4672
  let n = new RegExp(\`<\${e}>([\\\\s\\\\S]*?)<\\\\/\${e}>\`).exec(t);
4379
4673
  return n ? n[1] : null;
4380
4674
  }
4381
- function _(t) {
4675
+ function L(t) {
4382
4676
  return t.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&amp;/g, "&");
4383
4677
  }
4384
- var Se = "X-RateLimit-Reset";
4385
- async function $(t, e, r = 2) {
4678
+ var Pe = "X-RateLimit-Reset";
4679
+ async function B(t, e, r = 2) {
4386
4680
  var _a, _b;
4387
4681
  (_b = (_a = e.signal) == null ? void 0 : _a.throwIfAborted) == null ? void 0 : _b.call(_a);
4388
4682
  try {
4389
4683
  let n = await fetch(t, e);
4390
4684
  if (r > 0 && (n.status === 429 || n.status >= 500)) {
4391
- let s = Q(n.headers.get(Se));
4392
- return await ee(s, e.signal), $(t, e, r - 1);
4685
+ let s = Q(n.headers.get(Pe));
4686
+ return await ee(s, e.signal), B(t, e, r - 1);
4393
4687
  }
4394
4688
  return n;
4395
4689
  } catch (n) {
4396
4690
  if (r === 0 || n instanceof DOMException && n.name === "AbortError")
4397
4691
  throw n;
4398
4692
  let s = Q();
4399
- return await ee(s, e.signal), $(t, e, r - 1);
4693
+ return await ee(s, e.signal), B(t, e, r - 1);
4400
4694
  }
4401
4695
  }
4402
4696
  function Q(t) {
@@ -4414,14 +4708,14 @@ var require_dist = __commonJS({
4414
4708
  e == null ? void 0 : e.addEventListener("abort", i, { once: true });
4415
4709
  });
4416
4710
  }
4417
- var Pe = "prod";
4711
+ var Ie = "prod";
4418
4712
  function te() {
4419
4713
  let t = typeof process < "u" ? process.env.PAGES_BLOB_STS_ENV : void 0;
4420
- return t === "test" || t === "prod" ? t : Pe;
4714
+ return t === "test" || t === "prod" ? t : Ie;
4421
4715
  }
4422
- var Ie = 300;
4423
- var ke = "https://blob-sts.edgeone.site/";
4424
- var v = class {
4716
+ var ke = 300;
4717
+ var Re = "https://blob-sts.edgeone.site/";
4718
+ var D = class {
4425
4719
  authToken;
4426
4720
  projectId;
4427
4721
  cached = null;
@@ -4439,16 +4733,16 @@ var require_dist = __commonJS({
4439
4733
  }
4440
4734
  isExpired(e) {
4441
4735
  let r = Math.floor(Date.now() / 1e3);
4442
- return e.expiredTime - r < Ie;
4736
+ return e.expiredTime - r < ke;
4443
4737
  }
4444
4738
  async fetchCredential() {
4445
4739
  for (let n = 1; n <= 3; n++) {
4446
4740
  let s = new AbortController(), i = setTimeout(() => s.abort(), 1e4), a;
4447
4741
  try {
4448
- a = await $(ke, { method: "POST", headers: { "Content-Type": "application/json", Authorization: \`Bearer \${this.authToken}\`, "X-Env": te() }, body: JSON.stringify(this.projectId ? { ProjectId: this.projectId } : {}), signal: s.signal });
4742
+ a = await B(Re, { method: "POST", headers: { "Content-Type": "application/json", Authorization: \`Bearer \${this.authToken}\`, "X-Env": te() }, body: JSON.stringify(this.projectId ? { ProjectId: this.projectId } : {}), signal: s.signal });
4449
4743
  } catch (d) {
4450
4744
  if (n < 3) {
4451
- await L(500 * n);
4745
+ await K(500 * n);
4452
4746
  continue;
4453
4747
  }
4454
4748
  throw new m(\`failed to obtain STS credential: \${d.message || "timeout"}\`);
@@ -4461,7 +4755,7 @@ var require_dist = __commonJS({
4461
4755
  throw new m("rate limited, please retry later");
4462
4756
  if (!a.ok) {
4463
4757
  if (a.status >= 500 && n < 3) {
4464
- await L(500 * n);
4758
+ await K(500 * n);
4465
4759
  continue;
4466
4760
  }
4467
4761
  let d = await a.text().catch(() => "unknown error");
@@ -4481,7 +4775,7 @@ var require_dist = __commonJS({
4481
4775
  throw new m(\`credential exchange failed (code=\${o.code}): \${d}\`);
4482
4776
  }
4483
4777
  if (n < 3) {
4484
- await L(500 * n);
4778
+ await K(500 * n);
4485
4779
  continue;
4486
4780
  }
4487
4781
  throw new m("invalid STS credential response");
@@ -4489,12 +4783,12 @@ var require_dist = __commonJS({
4489
4783
  throw new m("invalid STS credential response");
4490
4784
  }
4491
4785
  };
4492
- function L(t) {
4786
+ function K(t) {
4493
4787
  return new Promise((e) => setTimeout(e, t));
4494
4788
  }
4495
- var Re = "{{PAGES_BLOB_DEPLOY_CREDENTIAL}}";
4789
+ var Ae = "{{PAGES_BLOB_DEPLOY_CREDENTIAL}}";
4496
4790
  function re() {
4497
- let t = {}, e = Ae();
4791
+ let t = {}, e = ve();
4498
4792
  if (e)
4499
4793
  t.deployCredential = e;
4500
4794
  else {
@@ -4504,8 +4798,8 @@ var require_dist = __commonJS({
4504
4798
  let r = ne("PAGES_PROJECT_ID");
4505
4799
  return r && (t.projectId = r), t;
4506
4800
  }
4507
- function Ae() {
4508
- let t = Re;
4801
+ function ve() {
4802
+ let t = Ae;
4509
4803
  if (!(t.startsWith("{{") && t.endsWith("}}")))
4510
4804
  return t || void 0;
4511
4805
  }
@@ -4513,15 +4807,15 @@ var require_dist = __commonJS({
4513
4807
  if (typeof process < "u" && process.env)
4514
4808
  return process.env[t];
4515
4809
  }
4516
- function ve(t) {
4810
+ function Me(t) {
4517
4811
  let e = typeof t == "string" ? t : t.name;
4518
- q(e);
4519
- let r = se(typeof t == "string" ? void 0 : t), n = new v(r.authToken, r.projectId), s = new A(n);
4812
+ z(e);
4813
+ let r = se(typeof t == "string" ? void 0 : t), n = new D(r.authToken, r.projectId), s = new M(n);
4520
4814
  return new E(s, e, r.consistency ?? "eventual");
4521
4815
  }
4522
- async function Me(t) {
4523
- let e = se(t ? { name: "__list__", projectId: t.projectId, token: t.token, consistency: t.consistency } : void 0), r = new v(e.authToken, e.projectId);
4524
- return { stores: (await new A(r).listStores(e.consistency)).map((i) => ({ name: i })) };
4816
+ async function De(t) {
4817
+ let e = se(t ? { name: "__list__", projectId: t.projectId, token: t.token, consistency: t.consistency } : void 0), r = new D(e.authToken, e.projectId);
4818
+ return { stores: (await new M(r).listStores(e.consistency)).map((i) => ({ name: i })) };
4525
4819
  }
4526
4820
  function se(t) {
4527
4821
  let e = re(), r = (t == null ? void 0 : t.token) || e.deployCredential, n = (t == null ? void 0 : t.projectId) || e.projectId;
@@ -4557,6 +4851,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
4557
4851
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
4558
4852
  var LANGGRAPH_SERDE_VERSION = 1;
4559
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;
4560
4857
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
4561
4858
  var VALID_ROLES = /* @__PURE__ */ new Set([
4562
4859
  "user",
@@ -4603,6 +4900,15 @@ var MemoryStorageError = class extends Error {
4603
4900
  this.cause = cause;
4604
4901
  }
4605
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
+ };
4606
4912
  var dynamicImport = new Function(
4607
4913
  "specifier",
4608
4914
  "return import(specifier);"
@@ -4610,7 +4916,7 @@ var dynamicImport = new Function(
4610
4916
  var langchainLoadPromise;
4611
4917
  var langchainMessagesPromise;
4612
4918
  function isMemoryError(error) {
4613
- 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;
4614
4920
  }
4615
4921
  async function wrapStorage(operation) {
4616
4922
  try {
@@ -4778,10 +5084,17 @@ async function reviveLangGraphJsonValue(value) {
4778
5084
  return revived;
4779
5085
  }
4780
5086
  async function deserializeLangGraphJson(value) {
4781
- if (isLangGraphSerializedJson(value)) {
4782
- 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
+ );
4783
5097
  }
4784
- return reviveLangGraphJsonValue(value);
4785
5098
  }
4786
5099
  function normalizeStoreLimit(value, fallback) {
4787
5100
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -4893,6 +5206,115 @@ function validateMessageId(messageId) {
4893
5206
  throw new MemoryValidationError("messageId is required.");
4894
5207
  }
4895
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
+ }
4896
5318
  function validateUserId(userId) {
4897
5319
  if (userId === void 0) {
4898
5320
  return;
@@ -5025,6 +5447,9 @@ function cursorSortKey(cursor) {
5025
5447
  const payload = decodeConversationCursor(cursor);
5026
5448
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
5027
5449
  }
5450
+ function cursorListCursor(cursor) {
5451
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
5452
+ }
5028
5453
  function indexSortKey(key, prefix) {
5029
5454
  return key.slice(prefix.length);
5030
5455
  }
@@ -5192,6 +5617,51 @@ function claudeSessionBase(projectKey, sessionId) {
5192
5617
  function claudeProjectPrefix(projectKey) {
5193
5618
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
5194
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
+ }
5195
5665
  function claudePartsPrefix(key) {
5196
5666
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
5197
5667
  if (key.subpath) {
@@ -5229,7 +5699,9 @@ function createClaudeSessionStore(store) {
5229
5699
  consistency: "strong"
5230
5700
  });
5231
5701
  if (typeof raw !== "string") {
5232
- continue;
5702
+ throw new MemoryCorruptError(
5703
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
5704
+ );
5233
5705
  }
5234
5706
  for (const line of raw.split("\\n")) {
5235
5707
  const trimmed = line.trim();
@@ -5238,7 +5710,11 @@ function createClaudeSessionStore(store) {
5238
5710
  }
5239
5711
  try {
5240
5712
  entries.push(JSON.parse(trimmed));
5241
- } catch {
5713
+ } catch (error) {
5714
+ throw new MemoryCorruptError(
5715
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
5716
+ error
5717
+ );
5242
5718
  }
5243
5719
  }
5244
5720
  }
@@ -5364,8 +5840,70 @@ async function listConversationsByUser(store, userId, options) {
5364
5840
  });
5365
5841
  }
5366
5842
  async function listConversationsFromIndex(store, options) {
5843
+ if (!options.before) {
5844
+ const fast = await listConversationsFromIndexFast(store, options);
5845
+ if (fast)
5846
+ return fast;
5847
+ }
5367
5848
  return listConversationsFromIndexFull(store, options);
5368
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
+ }
5369
5907
  async function listConversationsFromIndexFull(store, options) {
5370
5908
  var _a, _b;
5371
5909
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -5802,6 +6340,7 @@ function createAgentMemory(store, options = {}) {
5802
6340
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
5803
6341
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
5804
6342
  const langgraphStore = createLangGraphStore(store);
6343
+ const state = createAgentStateStore(store, options.conversationId);
5805
6344
  let claudeStoreCache = null;
5806
6345
  let lastMessageCreatedAt = 0;
5807
6346
  const appendMessagesInternal = async (inputs) => {
@@ -6087,8 +6626,13 @@ function createAgentMemory(store, options = {}) {
6087
6626
  listMessageKeys(store, input.conversationId)
6088
6627
  ]);
6089
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);
6090
6634
  throw new MemoryNotFoundError(
6091
- "Conversation not found by updateConversation."
6635
+ "Conversation not found by deleteConversation."
6092
6636
  );
6093
6637
  }
6094
6638
  const deleteOps = [];
@@ -6105,6 +6649,11 @@ function createAgentMemory(store, options = {}) {
6105
6649
  deleteOps.push(store.delete(metaKey(input.conversationId)));
6106
6650
  deleteOps.push(store.delete(conversationIndexKey(meta)));
6107
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);
6108
6657
  });
6109
6658
  },
6110
6659
  async updateConversation(input) {
@@ -6140,14 +6689,49 @@ function createAgentMemory(store, options = {}) {
6140
6689
  }));
6141
6690
  },
6142
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
+ }
6143
6698
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
6144
6699
  return createOpenAISession(
6145
6700
  memory,
6146
- sessionId,
6701
+ boundSessionId,
6147
6702
  maxItems,
6148
6703
  appendMessagesInternal
6149
6704
  );
6150
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
+ },
6151
6735
  claudeSessionStore() {
6152
6736
  if (!claudeStoreCache) {
6153
6737
  claudeStoreCache = createClaudeSessionStore(store);
@@ -6155,7 +6739,8 @@ function createAgentMemory(store, options = {}) {
6155
6739
  return claudeStoreCache;
6156
6740
  },
6157
6741
  langgraphCheckpointer,
6158
- langgraphStore
6742
+ langgraphStore,
6743
+ state
6159
6744
  };
6160
6745
  return memory;
6161
6746
  }
@@ -8964,6 +9549,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
8964
9549
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
8965
9550
  var LANGGRAPH_SERDE_VERSION = 1;
8966
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;
8967
9555
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
8968
9556
  var VALID_ROLES = /* @__PURE__ */ new Set([
8969
9557
  "user",
@@ -9010,6 +9598,15 @@ var MemoryStorageError = class extends Error {
9010
9598
  this.cause = cause;
9011
9599
  }
9012
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
+ };
9013
9610
  var dynamicImport = new Function(
9014
9611
  "specifier",
9015
9612
  "return import(specifier);"
@@ -9017,7 +9614,7 @@ var dynamicImport = new Function(
9017
9614
  var langchainLoadPromise;
9018
9615
  var langchainMessagesPromise;
9019
9616
  function isMemoryError(error) {
9020
- 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;
9021
9618
  }
9022
9619
  async function wrapStorage(operation) {
9023
9620
  try {
@@ -9185,10 +9782,17 @@ async function reviveLangGraphJsonValue(value) {
9185
9782
  return revived;
9186
9783
  }
9187
9784
  async function deserializeLangGraphJson(value) {
9188
- if (isLangGraphSerializedJson(value)) {
9189
- 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
+ );
9190
9795
  }
9191
- return reviveLangGraphJsonValue(value);
9192
9796
  }
9193
9797
  function normalizeStoreLimit(value, fallback) {
9194
9798
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -9300,6 +9904,115 @@ function validateMessageId(messageId) {
9300
9904
  throw new MemoryValidationError("messageId is required.");
9301
9905
  }
9302
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
+ }
9303
10016
  function validateUserId(userId) {
9304
10017
  if (userId === void 0) {
9305
10018
  return;
@@ -9432,6 +10145,9 @@ function cursorSortKey(cursor) {
9432
10145
  const payload = decodeConversationCursor(cursor);
9433
10146
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
9434
10147
  }
10148
+ function cursorListCursor(cursor) {
10149
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
10150
+ }
9435
10151
  function indexSortKey(key, prefix) {
9436
10152
  return key.slice(prefix.length);
9437
10153
  }
@@ -9599,6 +10315,51 @@ function claudeSessionBase(projectKey, sessionId) {
9599
10315
  function claudeProjectPrefix(projectKey) {
9600
10316
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
9601
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
+ }
9602
10363
  function claudePartsPrefix(key) {
9603
10364
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
9604
10365
  if (key.subpath) {
@@ -9636,7 +10397,9 @@ function createClaudeSessionStore(store) {
9636
10397
  consistency: "strong"
9637
10398
  });
9638
10399
  if (typeof raw !== "string") {
9639
- continue;
10400
+ throw new MemoryCorruptError(
10401
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
10402
+ );
9640
10403
  }
9641
10404
  for (const line of raw.split("\\n")) {
9642
10405
  const trimmed = line.trim();
@@ -9645,7 +10408,11 @@ function createClaudeSessionStore(store) {
9645
10408
  }
9646
10409
  try {
9647
10410
  entries.push(JSON.parse(trimmed));
9648
- } catch {
10411
+ } catch (error) {
10412
+ throw new MemoryCorruptError(
10413
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
10414
+ error
10415
+ );
9649
10416
  }
9650
10417
  }
9651
10418
  }
@@ -9771,8 +10538,70 @@ async function listConversationsByUser(store, userId, options) {
9771
10538
  });
9772
10539
  }
9773
10540
  async function listConversationsFromIndex(store, options) {
10541
+ if (!options.before) {
10542
+ const fast = await listConversationsFromIndexFast(store, options);
10543
+ if (fast)
10544
+ return fast;
10545
+ }
9774
10546
  return listConversationsFromIndexFull(store, options);
9775
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
+ }
9776
10605
  async function listConversationsFromIndexFull(store, options) {
9777
10606
  var _a, _b;
9778
10607
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -10209,6 +11038,7 @@ function createAgentMemory(store, options = {}) {
10209
11038
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
10210
11039
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
10211
11040
  const langgraphStore = createLangGraphStore(store);
11041
+ const state = createAgentStateStore(store, options.conversationId);
10212
11042
  let claudeStoreCache = null;
10213
11043
  let lastMessageCreatedAt = 0;
10214
11044
  const appendMessagesInternal = async (inputs) => {
@@ -10494,8 +11324,13 @@ function createAgentMemory(store, options = {}) {
10494
11324
  listMessageKeys(store, input.conversationId)
10495
11325
  ]);
10496
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);
10497
11332
  throw new MemoryNotFoundError(
10498
- "Conversation not found by updateConversation."
11333
+ "Conversation not found by deleteConversation."
10499
11334
  );
10500
11335
  }
10501
11336
  const deleteOps = [];
@@ -10512,6 +11347,11 @@ function createAgentMemory(store, options = {}) {
10512
11347
  deleteOps.push(store.delete(metaKey(input.conversationId)));
10513
11348
  deleteOps.push(store.delete(conversationIndexKey(meta)));
10514
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);
10515
11355
  });
10516
11356
  },
10517
11357
  async updateConversation(input) {
@@ -10547,14 +11387,49 @@ function createAgentMemory(store, options = {}) {
10547
11387
  }));
10548
11388
  },
10549
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
+ }
10550
11396
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
10551
11397
  return createOpenAISession(
10552
11398
  memory,
10553
- sessionId,
11399
+ boundSessionId,
10554
11400
  maxItems,
10555
11401
  appendMessagesInternal
10556
11402
  );
10557
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
+ },
10558
11433
  claudeSessionStore() {
10559
11434
  if (!claudeStoreCache) {
10560
11435
  claudeStoreCache = createClaudeSessionStore(store);
@@ -10562,7 +11437,8 @@ function createAgentMemory(store, options = {}) {
10562
11437
  return claudeStoreCache;
10563
11438
  },
10564
11439
  langgraphCheckpointer,
10565
- langgraphStore
11440
+ langgraphStore,
11441
+ state
10566
11442
  };
10567
11443
  return memory;
10568
11444
  }
@@ -11243,6 +12119,7 @@ function createAgentRuntime(options) {
11243
12119
  env,
11244
12120
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
11245
12121
  runId: run_id,
12122
+ conversationId: conversation_id,
11246
12123
  maxMessagesPerConversation: (_a = defaults == null ? void 0 : defaults.memoryQuota) == null ? void 0 : _a.maxMessagesPerConversation
11247
12124
  }),
11248
12125
  agents: {
@@ -23777,6 +24654,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
23777
24654
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
23778
24655
  var LANGGRAPH_SERDE_VERSION = 1;
23779
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;
23780
24660
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
23781
24661
  var VALID_ROLES = /* @__PURE__ */ new Set([
23782
24662
  "user",
@@ -23823,6 +24703,15 @@ var MemoryStorageError = class extends Error {
23823
24703
  this.cause = cause;
23824
24704
  }
23825
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
+ };
23826
24715
  var dynamicImport = new Function(
23827
24716
  "specifier",
23828
24717
  "return import(specifier);"
@@ -23830,7 +24719,7 @@ var dynamicImport = new Function(
23830
24719
  var langchainLoadPromise;
23831
24720
  var langchainMessagesPromise;
23832
24721
  function isMemoryError(error51) {
23833
- 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;
23834
24723
  }
23835
24724
  async function wrapStorage(operation) {
23836
24725
  try {
@@ -23998,10 +24887,17 @@ async function reviveLangGraphJsonValue(value) {
23998
24887
  return revived;
23999
24888
  }
24000
24889
  async function deserializeLangGraphJson(value) {
24001
- if (isLangGraphSerializedJson(value)) {
24002
- 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
+ );
24003
24900
  }
24004
- return reviveLangGraphJsonValue(value);
24005
24901
  }
24006
24902
  function normalizeStoreLimit(value, fallback) {
24007
24903
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -24113,6 +25009,115 @@ function validateMessageId(messageId) {
24113
25009
  throw new MemoryValidationError("messageId is required.");
24114
25010
  }
24115
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
+ }
24116
25121
  function validateUserId(userId) {
24117
25122
  if (userId === void 0) {
24118
25123
  return;
@@ -24245,6 +25250,9 @@ function cursorSortKey(cursor) {
24245
25250
  const payload = decodeConversationCursor(cursor);
24246
25251
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
24247
25252
  }
25253
+ function cursorListCursor(cursor) {
25254
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
25255
+ }
24248
25256
  function indexSortKey(key, prefix) {
24249
25257
  return key.slice(prefix.length);
24250
25258
  }
@@ -24412,6 +25420,51 @@ function claudeSessionBase(projectKey, sessionId) {
24412
25420
  function claudeProjectPrefix(projectKey) {
24413
25421
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
24414
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
+ }
24415
25468
  function claudePartsPrefix(key) {
24416
25469
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
24417
25470
  if (key.subpath) {
@@ -24449,7 +25502,9 @@ function createClaudeSessionStore(store) {
24449
25502
  consistency: "strong"
24450
25503
  });
24451
25504
  if (typeof raw !== "string") {
24452
- continue;
25505
+ throw new MemoryCorruptError(
25506
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
25507
+ );
24453
25508
  }
24454
25509
  for (const line of raw.split("\\n")) {
24455
25510
  const trimmed = line.trim();
@@ -24458,7 +25513,11 @@ function createClaudeSessionStore(store) {
24458
25513
  }
24459
25514
  try {
24460
25515
  entries.push(JSON.parse(trimmed));
24461
- } catch {
25516
+ } catch (error51) {
25517
+ throw new MemoryCorruptError(
25518
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
25519
+ error51
25520
+ );
24462
25521
  }
24463
25522
  }
24464
25523
  }
@@ -24584,8 +25643,70 @@ async function listConversationsByUser(store, userId, options) {
24584
25643
  });
24585
25644
  }
24586
25645
  async function listConversationsFromIndex(store, options) {
25646
+ if (!options.before) {
25647
+ const fast = await listConversationsFromIndexFast(store, options);
25648
+ if (fast)
25649
+ return fast;
25650
+ }
24587
25651
  return listConversationsFromIndexFull(store, options);
24588
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
+ }
24589
25710
  async function listConversationsFromIndexFull(store, options) {
24590
25711
  var _a3, _b;
24591
25712
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -25022,6 +26143,7 @@ function createAgentMemory(store, options = {}) {
25022
26143
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
25023
26144
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
25024
26145
  const langgraphStore = createLangGraphStore(store);
26146
+ const state = createAgentStateStore(store, options.conversationId);
25025
26147
  let claudeStoreCache = null;
25026
26148
  let lastMessageCreatedAt = 0;
25027
26149
  const appendMessagesInternal = async (inputs) => {
@@ -25307,8 +26429,13 @@ function createAgentMemory(store, options = {}) {
25307
26429
  listMessageKeys(store, input.conversationId)
25308
26430
  ]);
25309
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);
25310
26437
  throw new MemoryNotFoundError(
25311
- "Conversation not found by updateConversation."
26438
+ "Conversation not found by deleteConversation."
25312
26439
  );
25313
26440
  }
25314
26441
  const deleteOps = [];
@@ -25325,6 +26452,11 @@ function createAgentMemory(store, options = {}) {
25325
26452
  deleteOps.push(store.delete(metaKey(input.conversationId)));
25326
26453
  deleteOps.push(store.delete(conversationIndexKey(meta3)));
25327
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);
25328
26460
  });
25329
26461
  },
25330
26462
  async updateConversation(input) {
@@ -25360,14 +26492,49 @@ function createAgentMemory(store, options = {}) {
25360
26492
  }));
25361
26493
  },
25362
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
+ }
25363
26501
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
25364
26502
  return createOpenAISession(
25365
26503
  memory,
25366
- sessionId,
26504
+ boundSessionId,
25367
26505
  maxItems,
25368
26506
  appendMessagesInternal
25369
26507
  );
25370
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
+ },
25371
26538
  claudeSessionStore() {
25372
26539
  if (!claudeStoreCache) {
25373
26540
  claudeStoreCache = createClaudeSessionStore(store);
@@ -25375,7 +26542,8 @@ function createAgentMemory(store, options = {}) {
25375
26542
  return claudeStoreCache;
25376
26543
  },
25377
26544
  langgraphCheckpointer,
25378
- langgraphStore
26545
+ langgraphStore,
26546
+ state
25379
26547
  };
25380
26548
  return memory;
25381
26549
  }
@@ -26056,6 +27224,7 @@ function createAgentRuntime(options) {
26056
27224
  env,
26057
27225
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
26058
27226
  runId: run_id,
27227
+ conversationId: conversation_id,
26059
27228
  maxMessagesPerConversation: (_a3 = defaults2 == null ? void 0 : defaults2.memoryQuota) == null ? void 0 : _a3.maxMessagesPerConversation
26060
27229
  }),
26061
27230
  agents: {
@@ -47948,24 +49117,24 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
47948
49117
  var require_dist = __commonJS({
47949
49118
  "node_modules/@edgeone/pages-blob/dist/index.js"(exports, module) {
47950
49119
  "use strict";
47951
- var N = Object.defineProperty;
49120
+ var U = Object.defineProperty;
47952
49121
  var le = Object.getOwnPropertyDescriptor;
47953
49122
  var ue = Object.getOwnPropertyNames;
47954
49123
  var ge = Object.prototype.hasOwnProperty;
47955
49124
  var fe = (t, e) => {
47956
49125
  for (var r in e)
47957
- N(t, r, { get: e[r], enumerable: true });
49126
+ U(t, r, { get: e[r], enumerable: true });
47958
49127
  };
47959
49128
  var he = (t, e, r, n) => {
47960
49129
  if (e && typeof e == "object" || typeof e == "function")
47961
49130
  for (let s of ue(e))
47962
- !ge.call(t, s) && s !== r && N(t, s, { get: () => e[s], enumerable: !(n = le(e, s)) || n.enumerable });
49131
+ !ge.call(t, s) && s !== r && U(t, s, { get: () => e[s], enumerable: !(n = le(e, s)) || n.enumerable });
47963
49132
  return t;
47964
49133
  };
47965
- var me = (t) => he(N({}, "__esModule", { value: true }), t);
47966
- var De = {};
47967
- fe(De, { InvalidKeyError: () => w, InvalidStoreNameError: () => y, MissingProjectIdError: () => T, PagesBlobError: () => h, PreconditionFailedError: () => x, QuotaExceededError: () => M, RateLimitedError: () => D, Store: () => E, getStore: () => ve, listStores: () => Me });
47968
- module.exports = me(De);
49134
+ var me = (t) => he(U({}, "__esModule", { value: true }), t);
49135
+ var Oe = {};
49136
+ fe(Oe, { InvalidKeyError: () => w, InvalidStoreNameError: () => y, MissingProjectIdError: () => T, PagesBlobError: () => h, PreconditionFailedError: () => x, QuotaExceededError: () => O, RateLimitedError: () => j, Store: () => E, getStore: () => Me, listStores: () => De });
49137
+ module.exports = me(Oe);
47969
49138
  var h = class extends Error {
47970
49139
  code;
47971
49140
  constructor(e, r) {
@@ -47987,12 +49156,12 @@ var require_dist = __commonJS({
47987
49156
  super("MISSING_ENVIRONMENT", \`Environment not configured for Pages Blob. Missing: \${e.join(", ")}. Supply these properties when creating a store, or ensure the function is running in a Pages environment.\`);
47988
49157
  }
47989
49158
  };
47990
- var M = class extends h {
49159
+ var O = class extends h {
47991
49160
  constructor() {
47992
49161
  super("QUOTA_EXCEEDED", "storage quota exceeded");
47993
49162
  }
47994
49163
  };
47995
- var D = class extends h {
49164
+ var j = class extends h {
47996
49165
  constructor() {
47997
49166
  super("RATE_LIMITED", "request rate limited, please retry later");
47998
49167
  }
@@ -48025,7 +49194,7 @@ var require_dist = __commonJS({
48025
49194
  if (new TextEncoder().encode(t).length > 600)
48026
49195
  throw new w("Blob key must be a sequence of Unicode characters whose UTF-8 encoding is at most 600 bytes long.");
48027
49196
  }
48028
- function q(t) {
49197
+ function z(t) {
48029
49198
  if (t === "")
48030
49199
  throw new y("Store name must not be empty.");
48031
49200
  if (t.includes("/") || t.includes(":"))
@@ -48113,45 +49282,48 @@ var require_dist = __commonJS({
48113
49282
  }
48114
49283
  };
48115
49284
  var ye = new TextEncoder();
48116
- function U(t) {
49285
+ function _(t) {
48117
49286
  let e = ye.encode(t), r = new ArrayBuffer(e.byteLength), n = new Uint8Array(r);
48118
49287
  return n.set(e), n;
48119
49288
  }
48120
- function F(t) {
49289
+ function G(t) {
48121
49290
  let e = t instanceof Uint8Array ? t : new Uint8Array(t), r = "";
48122
49291
  for (let n = 0; n < e.length; n++)
48123
49292
  r += e[n].toString(16).padStart(2, "0");
48124
49293
  return r;
48125
49294
  }
48126
- async function z(t, e) {
48127
- let r = await crypto.subtle.importKey("raw", U(t), { name: "HMAC", hash: "SHA-1" }, false, ["sign"]), n = await crypto.subtle.sign("HMAC", r, U(e));
48128
- return F(n);
49295
+ async function H(t, e) {
49296
+ let r = await crypto.subtle.importKey("raw", _(t), { name: "HMAC", hash: "SHA-1" }, false, ["sign"]), n = await crypto.subtle.sign("HMAC", r, _(e));
49297
+ return G(n);
48129
49298
  }
48130
49299
  async function pe(t) {
48131
- let e = await crypto.subtle.digest("SHA-1", U(t));
48132
- return F(e);
49300
+ let e = await crypto.subtle.digest("SHA-1", _(t));
49301
+ return G(e);
48133
49302
  }
48134
- function O(t) {
49303
+ function $(t) {
48135
49304
  return encodeURIComponent(t).replace(/[!'()*]/g, (e) => "%" + e.charCodeAt(0).toString(16).toUpperCase());
48136
49305
  }
48137
- function j(t) {
49306
+ function P(t) {
48138
49307
  try {
48139
49308
  return decodeURIComponent(t);
48140
49309
  } catch {
48141
49310
  return t;
48142
49311
  }
48143
49312
  }
48144
- function G(t) {
48145
- return t.split("/").map((e) => j(e)).join("/");
49313
+ function we(t) {
49314
+ return t.split("/").map((e) => P(e)).join("/");
49315
+ }
49316
+ function I(t) {
49317
+ return we(P(t));
48146
49318
  }
48147
49319
  function W(t) {
48148
- return t.split("/").map((e) => O(j(e))).join("/");
49320
+ return t.split("/").map((e) => $(P(e))).join("/");
48149
49321
  }
48150
- var we = /* @__PURE__ */ new Set(["cache-control", "content-disposition", "content-encoding", "content-length", "content-md5", "content-type", "expect", "expires", "if-match", "if-modified-since", "if-none-match", "if-unmodified-since", "origin", "range", "transfer-encoding"]);
48151
- function Ce(t) {
48152
- return t === "host" || t === "x-cos-security-token" ? false : !!(we.has(t) || t.startsWith("x-cos-"));
49322
+ var Ce = /* @__PURE__ */ new Set(["cache-control", "content-disposition", "content-encoding", "content-length", "content-md5", "content-type", "expect", "expires", "if-match", "if-modified-since", "if-none-match", "if-unmodified-since", "origin", "range", "transfer-encoding"]);
49323
+ function xe(t) {
49324
+ return t === "host" || t === "x-cos-security-token" ? false : !!(Ce.has(t) || t.startsWith("x-cos-"));
48153
49325
  }
48154
- function H(t) {
49326
+ function X(t) {
48155
49327
  if (!t)
48156
49328
  return [];
48157
49329
  let e = [];
@@ -48159,27 +49331,27 @@ var require_dist = __commonJS({
48159
49331
  n != null && e.push([r.toLowerCase(), String(n)]);
48160
49332
  return e.sort(([r], [n]) => r < n ? -1 : r > n ? 1 : 0), e;
48161
49333
  }
48162
- function X(t) {
48163
- return t.map(([e, r]) => \`\${O(e)}=\${O(r)}\`).join("&");
48164
- }
48165
49334
  function Y(t) {
48166
- return t.map(([e]) => O(e)).join(";");
49335
+ return t.map(([e, r]) => \`\${$(e)}=\${$(r)}\`).join("&");
49336
+ }
49337
+ function F(t) {
49338
+ return t.map(([e]) => $(e)).join(";");
48167
49339
  }
48168
49340
  async function V(t) {
48169
- let e = t.method.toLowerCase(), r = t.pathname.startsWith("/") ? t.pathname : \`/\${t.pathname}\`, n = Math.floor(Date.now() / 1e3), s = n + (t.expireSeconds ?? 3600), i = \`\${n};\${s}\`, o = H(t.headers).filter(([B]) => Ce(B)), c = Y(o), d = X(o), u = H(t.query), l = Y(u), g = X(u), p = \`\${e}
49341
+ let e = t.method.toLowerCase(), r = t.pathname.startsWith("/") ? t.pathname : \`/\${t.pathname}\`, n = Math.floor(Date.now() / 1e3), s = n + (t.expireSeconds ?? 3600), i = \`\${n};\${s}\`, o = X(t.headers).filter(([N]) => xe(N)), c = F(o), d = Y(o), u = X(t.query), l = F(u), g = Y(u), p = \`\${e}
48170
49342
  \${r}
48171
49343
  \${g}
48172
49344
  \${d}
48173
49345
  \`, oe = \`sha1
48174
49346
  \${i}
48175
49347
  \${await pe(p)}
48176
- \`, ie = await z(t.secretKey, i), ae = await z(ie, oe), ce = ["q-sign-algorithm=sha1", \`q-ak=\${t.secretId}\`, \`q-sign-time=\${i}\`, \`q-key-time=\${i}\`, \`q-header-list=\${c}\`, \`q-url-param-list=\${l}\`, \`q-signature=\${ae}\`].join("&"), K = {};
48177
- for (let [B, de] of o)
48178
- K[B] = de;
48179
- return { authorization: ce, signedHeaders: K };
49348
+ \`, ie = await H(t.secretKey, i), ae = await H(ie, oe), ce = ["q-sign-algorithm=sha1", \`q-ak=\${t.secretId}\`, \`q-sign-time=\${i}\`, \`q-key-time=\${i}\`, \`q-header-list=\${c}\`, \`q-url-param-list=\${l}\`, \`q-signature=\${ae}\`].join("&"), q = {};
49349
+ for (let [N, de] of o)
49350
+ q[N] = de;
49351
+ return { authorization: ce, signedHeaders: q };
48180
49352
  }
48181
49353
  async function J(t) {
48182
- let e = new URL(t.domain), r = j(t.key), n = \`/\${G(r)}\`, s = \`/\${W(r)}\`;
49354
+ let e = new URL(t.domain), r = P(t.key), n = \`/\${I(t.key)}\`, s = \`/\${W(r)}\`;
48183
49355
  e.pathname = s;
48184
49356
  let { authorization: i } = await V({ method: t.method, pathname: n, query: t.query, headers: t.headers, secretId: t.credential.secretId, secretKey: t.credential.secretKey, expireSeconds: t.expireSeconds });
48185
49357
  if (t.query)
@@ -48195,7 +49367,7 @@ var require_dist = __commonJS({
48195
49367
  return t.credential.sessionToken && e.searchParams.set("x-cos-security-token", t.credential.sessionToken), e.toString();
48196
49368
  }
48197
49369
  async function S(t) {
48198
- let e = new URL(t.domain), r = t.key ? j(t.key) : "", n = r ? \`/\${G(r)}\` : "/", s = r ? \`/\${W(r)}\` : "/";
49370
+ let e = new URL(t.domain), r = t.key ? P(t.key) : "", n = t.key ? \`/\${I(t.key)}\` : "/", s = r ? \`/\${W(r)}\` : "/";
48199
49371
  if (e.pathname = s, t.query)
48200
49372
  for (let [l, g] of Object.entries(t.query))
48201
49373
  g != null && e.searchParams.set(l, String(g));
@@ -48215,9 +49387,9 @@ var require_dist = __commonJS({
48215
49387
  }
48216
49388
  throw u;
48217
49389
  }
48218
- var xe = "blob.edgeone.site";
48219
- var be = "blob-nocache.edgeone.site";
48220
- var A = class t {
49390
+ var be = "blob.edgeone.site";
49391
+ var Te = "blob-nocache.edgeone.site";
49392
+ var M = class t {
48221
49393
  credentialManager;
48222
49394
  bucket = "";
48223
49395
  region = "";
@@ -48227,7 +49399,7 @@ var require_dist = __commonJS({
48227
49399
  initialized = false;
48228
49400
  static buildErrorDetail(e, r, n, s, i) {
48229
49401
  let a = n ? \`\${r}/\${n}\` : r, o = i ? \` [request-id: \${i}]\` : "";
48230
- return \`\${e} \${a} - \${Te(s)}\${o}\`;
49402
+ return \`\${e} \${a} - \${Ee(s)}\${o}\`;
48231
49403
  }
48232
49404
  constructor(e) {
48233
49405
  this.credentialManager = e;
@@ -48253,7 +49425,7 @@ var require_dist = __commonJS({
48253
49425
  let a = this.computeSubdomain(e);
48254
49426
  if (!a)
48255
49427
  throw new f(0, "unable to derive tenant subdomain from credential; missing appId/zoneId/projectId or resourcePrefix");
48256
- this.cachedDomain = \`https://\${a}.\${xe}\`, this.uncachedDomain = \`https://\${a}.\${be}\`, this.initialized = true;
49428
+ this.cachedDomain = \`https://\${a}.\${be}\`, this.uncachedDomain = \`https://\${a}.\${Te}\`, this.initialized = true;
48257
49429
  }
48258
49430
  async resolveDomain(e) {
48259
49431
  return await this.ensureInitialized(), e === "strong" ? this.uncachedDomain : this.cachedDomain;
@@ -48277,14 +49449,14 @@ var require_dist = __commonJS({
48277
49449
  return await l.arrayBuffer().catch(() => {
48278
49450
  }), { etag: "", statusCode: 412 };
48279
49451
  if (!l.ok) {
48280
- let p = await P(l);
48281
- throw new f(l.status, t.buildErrorDetail("PUT", i, o, p || \`status \${l.status}\`, I(l)));
49452
+ let p = await k(l);
49453
+ throw new f(l.status, t.buildErrorDetail("PUT", i, o, p || \`status \${l.status}\`, R(l)));
48282
49454
  }
48283
49455
  let g = l.headers.get("etag") || "";
48284
49456
  return await l.arrayBuffer().catch(() => {
48285
49457
  }), { etag: g, statusCode: l.status };
48286
49458
  } catch (l) {
48287
- throw l instanceof f ? l : new f(0, t.buildErrorDetail("PUT", i, o, k(l)));
49459
+ throw l instanceof f ? l : new f(0, t.buildErrorDetail("PUT", i, o, A(l)));
48288
49460
  }
48289
49461
  }
48290
49462
  async createPresignedPutUrl(e, r, n) {
@@ -48301,13 +49473,13 @@ var require_dist = __commonJS({
48301
49473
  return await o.arrayBuffer().catch(() => {
48302
49474
  }), null;
48303
49475
  if (!o.ok) {
48304
- let u = await P(o);
48305
- throw new f(o.status, t.buildErrorDetail("GET", s, a, u || \`status \${o.status}\`, I(o)));
49476
+ let u = await k(o);
49477
+ throw new f(o.status, t.buildErrorDetail("GET", s, a, u || \`status \${o.status}\`, R(o)));
48306
49478
  }
48307
49479
  let c = new Uint8Array(await o.arrayBuffer()), d = Z(o.headers);
48308
49480
  return { body: c, contentType: d["content-type"], headers: d };
48309
49481
  } catch (o) {
48310
- throw o instanceof f ? o : new f(0, t.buildErrorDetail("GET", s, a, k(o)));
49482
+ throw o instanceof f ? o : new f(0, t.buildErrorDetail("GET", s, a, A(o)));
48311
49483
  }
48312
49484
  }
48313
49485
  async headObject(e, r, n) {
@@ -48317,13 +49489,13 @@ var require_dist = __commonJS({
48317
49489
  if (o.status === 404)
48318
49490
  return null;
48319
49491
  if (!o.ok) {
48320
- let d = await P(o);
48321
- throw new f(o.status, t.buildErrorDetail("HEAD", s, a, d || \`status \${o.status}\`, I(o)));
49492
+ let d = await k(o);
49493
+ throw new f(o.status, t.buildErrorDetail("HEAD", s, a, d || \`status \${o.status}\`, R(o)));
48322
49494
  }
48323
49495
  let c = Z(o.headers);
48324
49496
  return { cacheControl: c["cache-control"], contentType: c["content-type"], etag: c.etag, headers: c };
48325
49497
  } catch (o) {
48326
- throw o instanceof f ? o : new f(0, t.buildErrorDetail("HEAD", s, a, k(o)));
49498
+ throw o instanceof f ? o : new f(0, t.buildErrorDetail("HEAD", s, a, A(o)));
48327
49499
  }
48328
49500
  }
48329
49501
  async deleteObject(e, r) {
@@ -48335,10 +49507,10 @@ var require_dist = __commonJS({
48335
49507
  });
48336
49508
  return;
48337
49509
  }
48338
- let o = await P(a);
48339
- throw new f(a.status, t.buildErrorDetail("DELETE", n, i, o || \`status \${a.status}\`, I(a)));
49510
+ let o = await k(a);
49511
+ throw new f(a.status, t.buildErrorDetail("DELETE", n, i, o || \`status \${a.status}\`, R(a)));
48340
49512
  } catch (a) {
48341
- throw a instanceof f ? a : new f(0, t.buildErrorDetail("DELETE", n, i, k(a)));
49513
+ throw a instanceof f ? a : new f(0, t.buildErrorDetail("DELETE", n, i, A(a)));
48342
49514
  }
48343
49515
  }
48344
49516
  async listObjects(e, r) {
@@ -48364,35 +49536,35 @@ var require_dist = __commonJS({
48364
49536
  return r;
48365
49537
  }
48366
49538
  async getBucketRaw(e) {
48367
- let r = await this.resolveDomain(e.consistency), n = await this.resolveCredential(), s = { prefix: e.prefix };
48368
- e.delimiter && (s.delimiter = e.delimiter), e.marker && (s.marker = e.marker), e.maxKeys && (s["max-keys"] = e.maxKeys);
49539
+ let r = await this.resolveDomain(e.consistency), n = await this.resolveCredential(), s = { prefix: I(e.prefix) };
49540
+ e.delimiter && (s.delimiter = e.delimiter), e.marker && (s.marker = I(e.marker)), e.maxKeys && (s["max-keys"] = e.maxKeys);
48369
49541
  try {
48370
49542
  let i = await S({ domain: r, method: "GET", query: s, credential: n });
48371
49543
  if (!i.ok) {
48372
- let o = await P(i);
48373
- throw new f(i.status, t.buildErrorDetail("LIST", r, e.prefix, o || \`status \${i.status}\`, I(i)));
49544
+ let o = await k(i);
49545
+ throw new f(i.status, t.buildErrorDetail("LIST", r, e.prefix, o || \`status \${i.status}\`, R(i)));
48374
49546
  }
48375
49547
  let a = await i.text();
48376
- return Ee(a);
49548
+ return Se(a);
48377
49549
  } catch (i) {
48378
- throw i instanceof f ? i : new f(0, t.buildErrorDetail("LIST", r, e.prefix, k(i)));
49550
+ throw i instanceof f ? i : new f(0, t.buildErrorDetail("LIST", r, e.prefix, A(i)));
48379
49551
  }
48380
49552
  }
48381
49553
  };
48382
- function Te(t) {
49554
+ function Ee(t) {
48383
49555
  return t.replace(/[a-zA-Z0-9\\-]+\\.cos\\.[a-zA-Z0-9\\-.]+\\.myqcloud\\.com/gi, "[cos-origin]").replace(/[a-zA-Z0-9\\-]+\\.cos\\.[a-zA-Z0-9\\-.]+\\.tencentcos\\.cn/gi, "[cos-origin]");
48384
49556
  }
48385
- async function P(t) {
49557
+ async function k(t) {
48386
49558
  try {
48387
49559
  return await t.text();
48388
49560
  } catch {
48389
49561
  return "";
48390
49562
  }
48391
49563
  }
48392
- function I(t) {
49564
+ function R(t) {
48393
49565
  return t.headers.get("x-cos-request-id") || t.headers.get("x-eo-log-id") || void 0;
48394
49566
  }
48395
- function k(t) {
49567
+ function A(t) {
48396
49568
  let e = t, r = e.message || String(t), n = e.cause;
48397
49569
  if (n) {
48398
49570
  let s = n.message || n.code || "";
@@ -48406,43 +49578,43 @@ var require_dist = __commonJS({
48406
49578
  e[n.toLowerCase()] = r;
48407
49579
  }), e;
48408
49580
  }
48409
- function Ee(t) {
49581
+ function Se(t) {
48410
49582
  let e = [], r = /<Contents>([\\s\\S]*?)<\\/Contents>/g, n;
48411
49583
  for (; (n = r.exec(t)) !== null; ) {
48412
- let d = n[1], u = R(d, "Key"), l = R(d, "ETag");
48413
- u !== null && e.push({ key: _(u), etag: l || "" });
49584
+ let d = n[1], u = v(d, "Key"), l = v(d, "ETag");
49585
+ u !== null && e.push({ key: L(u), etag: l || "" });
48414
49586
  }
48415
49587
  let s = [], i = /<CommonPrefixes>([\\s\\S]*?)<\\/CommonPrefixes>/g;
48416
49588
  for (; (n = i.exec(t)) !== null; ) {
48417
- let d = n[1], u = R(d, "Prefix");
48418
- u !== null && s.push(_(u));
49589
+ let d = n[1], u = v(d, "Prefix");
49590
+ u !== null && s.push(L(u));
48419
49591
  }
48420
- let o = R(t, "IsTruncated") === "true", c = R(t, "NextMarker") || "";
48421
- return { contents: e, commonPrefixes: s, isTruncated: o, nextMarker: _(c) };
49592
+ let o = v(t, "IsTruncated") === "true", c = v(t, "NextMarker") || "";
49593
+ return { contents: e, commonPrefixes: s, isTruncated: o, nextMarker: L(c) };
48422
49594
  }
48423
- function R(t, e) {
49595
+ function v(t, e) {
48424
49596
  let n = new RegExp(\`<\${e}>([\\\\s\\\\S]*?)<\\\\/\${e}>\`).exec(t);
48425
49597
  return n ? n[1] : null;
48426
49598
  }
48427
- function _(t) {
49599
+ function L(t) {
48428
49600
  return t.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&amp;/g, "&");
48429
49601
  }
48430
- var Se = "X-RateLimit-Reset";
48431
- async function $(t, e, r = 2) {
49602
+ var Pe = "X-RateLimit-Reset";
49603
+ async function B(t, e, r = 2) {
48432
49604
  var _a, _b;
48433
49605
  (_b = (_a = e.signal) == null ? void 0 : _a.throwIfAborted) == null ? void 0 : _b.call(_a);
48434
49606
  try {
48435
49607
  let n = await fetch(t, e);
48436
49608
  if (r > 0 && (n.status === 429 || n.status >= 500)) {
48437
- let s = Q(n.headers.get(Se));
48438
- return await ee(s, e.signal), $(t, e, r - 1);
49609
+ let s = Q(n.headers.get(Pe));
49610
+ return await ee(s, e.signal), B(t, e, r - 1);
48439
49611
  }
48440
49612
  return n;
48441
49613
  } catch (n) {
48442
49614
  if (r === 0 || n instanceof DOMException && n.name === "AbortError")
48443
49615
  throw n;
48444
49616
  let s = Q();
48445
- return await ee(s, e.signal), $(t, e, r - 1);
49617
+ return await ee(s, e.signal), B(t, e, r - 1);
48446
49618
  }
48447
49619
  }
48448
49620
  function Q(t) {
@@ -48460,14 +49632,14 @@ var require_dist = __commonJS({
48460
49632
  e == null ? void 0 : e.addEventListener("abort", i, { once: true });
48461
49633
  });
48462
49634
  }
48463
- var Pe = "prod";
49635
+ var Ie = "prod";
48464
49636
  function te() {
48465
49637
  let t = typeof process < "u" ? process.env.PAGES_BLOB_STS_ENV : void 0;
48466
- return t === "test" || t === "prod" ? t : Pe;
49638
+ return t === "test" || t === "prod" ? t : Ie;
48467
49639
  }
48468
- var Ie = 300;
48469
- var ke = "https://blob-sts.edgeone.site/";
48470
- var v = class {
49640
+ var ke = 300;
49641
+ var Re = "https://blob-sts.edgeone.site/";
49642
+ var D = class {
48471
49643
  authToken;
48472
49644
  projectId;
48473
49645
  cached = null;
@@ -48485,16 +49657,16 @@ var require_dist = __commonJS({
48485
49657
  }
48486
49658
  isExpired(e) {
48487
49659
  let r = Math.floor(Date.now() / 1e3);
48488
- return e.expiredTime - r < Ie;
49660
+ return e.expiredTime - r < ke;
48489
49661
  }
48490
49662
  async fetchCredential() {
48491
49663
  for (let n = 1; n <= 3; n++) {
48492
49664
  let s = new AbortController(), i = setTimeout(() => s.abort(), 1e4), a;
48493
49665
  try {
48494
- a = await $(ke, { method: "POST", headers: { "Content-Type": "application/json", Authorization: \`Bearer \${this.authToken}\`, "X-Env": te() }, body: JSON.stringify(this.projectId ? { ProjectId: this.projectId } : {}), signal: s.signal });
49666
+ a = await B(Re, { method: "POST", headers: { "Content-Type": "application/json", Authorization: \`Bearer \${this.authToken}\`, "X-Env": te() }, body: JSON.stringify(this.projectId ? { ProjectId: this.projectId } : {}), signal: s.signal });
48495
49667
  } catch (d) {
48496
49668
  if (n < 3) {
48497
- await L(500 * n);
49669
+ await K(500 * n);
48498
49670
  continue;
48499
49671
  }
48500
49672
  throw new m(\`failed to obtain STS credential: \${d.message || "timeout"}\`);
@@ -48507,7 +49679,7 @@ var require_dist = __commonJS({
48507
49679
  throw new m("rate limited, please retry later");
48508
49680
  if (!a.ok) {
48509
49681
  if (a.status >= 500 && n < 3) {
48510
- await L(500 * n);
49682
+ await K(500 * n);
48511
49683
  continue;
48512
49684
  }
48513
49685
  let d = await a.text().catch(() => "unknown error");
@@ -48527,7 +49699,7 @@ var require_dist = __commonJS({
48527
49699
  throw new m(\`credential exchange failed (code=\${o.code}): \${d}\`);
48528
49700
  }
48529
49701
  if (n < 3) {
48530
- await L(500 * n);
49702
+ await K(500 * n);
48531
49703
  continue;
48532
49704
  }
48533
49705
  throw new m("invalid STS credential response");
@@ -48535,12 +49707,12 @@ var require_dist = __commonJS({
48535
49707
  throw new m("invalid STS credential response");
48536
49708
  }
48537
49709
  };
48538
- function L(t) {
49710
+ function K(t) {
48539
49711
  return new Promise((e) => setTimeout(e, t));
48540
49712
  }
48541
- var Re = "{{PAGES_BLOB_DEPLOY_CREDENTIAL}}";
49713
+ var Ae = "{{PAGES_BLOB_DEPLOY_CREDENTIAL}}";
48542
49714
  function re() {
48543
- let t = {}, e = Ae();
49715
+ let t = {}, e = ve();
48544
49716
  if (e)
48545
49717
  t.deployCredential = e;
48546
49718
  else {
@@ -48550,8 +49722,8 @@ var require_dist = __commonJS({
48550
49722
  let r = ne("PAGES_PROJECT_ID");
48551
49723
  return r && (t.projectId = r), t;
48552
49724
  }
48553
- function Ae() {
48554
- let t = Re;
49725
+ function ve() {
49726
+ let t = Ae;
48555
49727
  if (!(t.startsWith("{{") && t.endsWith("}}")))
48556
49728
  return t || void 0;
48557
49729
  }
@@ -48559,15 +49731,15 @@ var require_dist = __commonJS({
48559
49731
  if (typeof process < "u" && process.env)
48560
49732
  return process.env[t];
48561
49733
  }
48562
- function ve(t) {
49734
+ function Me(t) {
48563
49735
  let e = typeof t == "string" ? t : t.name;
48564
- q(e);
48565
- let r = se(typeof t == "string" ? void 0 : t), n = new v(r.authToken, r.projectId), s = new A(n);
49736
+ z(e);
49737
+ let r = se(typeof t == "string" ? void 0 : t), n = new D(r.authToken, r.projectId), s = new M(n);
48566
49738
  return new E(s, e, r.consistency ?? "eventual");
48567
49739
  }
48568
- async function Me(t) {
48569
- let e = se(t ? { name: "__list__", projectId: t.projectId, token: t.token, consistency: t.consistency } : void 0), r = new v(e.authToken, e.projectId);
48570
- return { stores: (await new A(r).listStores(e.consistency)).map((i) => ({ name: i })) };
49740
+ async function De(t) {
49741
+ let e = se(t ? { name: "__list__", projectId: t.projectId, token: t.token, consistency: t.consistency } : void 0), r = new D(e.authToken, e.projectId);
49742
+ return { stores: (await new M(r).listStores(e.consistency)).map((i) => ({ name: i })) };
48571
49743
  }
48572
49744
  function se(t) {
48573
49745
  let e = re(), r = (t == null ? void 0 : t.token) || e.deployCredential, n = (t == null ? void 0 : t.projectId) || e.projectId;
@@ -48609,6 +49781,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
48609
49781
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
48610
49782
  var LANGGRAPH_SERDE_VERSION = 1;
48611
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;
48612
49787
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
48613
49788
  var VALID_ROLES = /* @__PURE__ */ new Set([
48614
49789
  "user",
@@ -48655,6 +49830,15 @@ var MemoryStorageError = class extends Error {
48655
49830
  this.cause = cause;
48656
49831
  }
48657
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
+ };
48658
49842
  var dynamicImport = new Function(
48659
49843
  "specifier",
48660
49844
  "return import(specifier);"
@@ -48662,7 +49846,7 @@ var dynamicImport = new Function(
48662
49846
  var langchainLoadPromise;
48663
49847
  var langchainMessagesPromise;
48664
49848
  function isMemoryError(error) {
48665
- 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;
48666
49850
  }
48667
49851
  async function wrapStorage(operation) {
48668
49852
  try {
@@ -48830,10 +50014,17 @@ async function reviveLangGraphJsonValue(value) {
48830
50014
  return revived;
48831
50015
  }
48832
50016
  async function deserializeLangGraphJson(value) {
48833
- if (isLangGraphSerializedJson(value)) {
48834
- 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
+ );
48835
50027
  }
48836
- return reviveLangGraphJsonValue(value);
48837
50028
  }
48838
50029
  function normalizeStoreLimit(value, fallback) {
48839
50030
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -48945,6 +50136,115 @@ function validateMessageId(messageId) {
48945
50136
  throw new MemoryValidationError("messageId is required.");
48946
50137
  }
48947
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
+ }
48948
50248
  function validateUserId(userId) {
48949
50249
  if (userId === void 0) {
48950
50250
  return;
@@ -49077,6 +50377,9 @@ function cursorSortKey(cursor) {
49077
50377
  const payload = decodeConversationCursor(cursor);
49078
50378
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
49079
50379
  }
50380
+ function cursorListCursor(cursor) {
50381
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
50382
+ }
49080
50383
  function indexSortKey(key, prefix) {
49081
50384
  return key.slice(prefix.length);
49082
50385
  }
@@ -49244,6 +50547,51 @@ function claudeSessionBase(projectKey, sessionId) {
49244
50547
  function claudeProjectPrefix(projectKey) {
49245
50548
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
49246
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
+ }
49247
50595
  function claudePartsPrefix(key) {
49248
50596
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
49249
50597
  if (key.subpath) {
@@ -49281,7 +50629,9 @@ function createClaudeSessionStore(store) {
49281
50629
  consistency: "strong"
49282
50630
  });
49283
50631
  if (typeof raw !== "string") {
49284
- continue;
50632
+ throw new MemoryCorruptError(
50633
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
50634
+ );
49285
50635
  }
49286
50636
  for (const line of raw.split("\\n")) {
49287
50637
  const trimmed = line.trim();
@@ -49290,7 +50640,11 @@ function createClaudeSessionStore(store) {
49290
50640
  }
49291
50641
  try {
49292
50642
  entries.push(JSON.parse(trimmed));
49293
- } catch {
50643
+ } catch (error) {
50644
+ throw new MemoryCorruptError(
50645
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
50646
+ error
50647
+ );
49294
50648
  }
49295
50649
  }
49296
50650
  }
@@ -49416,8 +50770,70 @@ async function listConversationsByUser(store, userId, options) {
49416
50770
  });
49417
50771
  }
49418
50772
  async function listConversationsFromIndex(store, options) {
50773
+ if (!options.before) {
50774
+ const fast = await listConversationsFromIndexFast(store, options);
50775
+ if (fast)
50776
+ return fast;
50777
+ }
49419
50778
  return listConversationsFromIndexFull(store, options);
49420
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
+ }
49421
50837
  async function listConversationsFromIndexFull(store, options) {
49422
50838
  var _a, _b;
49423
50839
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -49854,6 +51270,7 @@ function createAgentMemory(store, options = {}) {
49854
51270
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
49855
51271
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
49856
51272
  const langgraphStore = createLangGraphStore(store);
51273
+ const state = createAgentStateStore(store, options.conversationId);
49857
51274
  let claudeStoreCache = null;
49858
51275
  let lastMessageCreatedAt = 0;
49859
51276
  const appendMessagesInternal = async (inputs) => {
@@ -50139,8 +51556,13 @@ function createAgentMemory(store, options = {}) {
50139
51556
  listMessageKeys(store, input.conversationId)
50140
51557
  ]);
50141
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);
50142
51564
  throw new MemoryNotFoundError(
50143
- "Conversation not found by updateConversation."
51565
+ "Conversation not found by deleteConversation."
50144
51566
  );
50145
51567
  }
50146
51568
  const deleteOps = [];
@@ -50157,6 +51579,11 @@ function createAgentMemory(store, options = {}) {
50157
51579
  deleteOps.push(store.delete(metaKey(input.conversationId)));
50158
51580
  deleteOps.push(store.delete(conversationIndexKey(meta)));
50159
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);
50160
51587
  });
50161
51588
  },
50162
51589
  async updateConversation(input) {
@@ -50192,14 +51619,49 @@ function createAgentMemory(store, options = {}) {
50192
51619
  }));
50193
51620
  },
50194
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
+ }
50195
51628
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
50196
51629
  return createOpenAISession(
50197
51630
  memory,
50198
- sessionId,
51631
+ boundSessionId,
50199
51632
  maxItems,
50200
51633
  appendMessagesInternal
50201
51634
  );
50202
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
+ },
50203
51665
  claudeSessionStore() {
50204
51666
  if (!claudeStoreCache) {
50205
51667
  claudeStoreCache = createClaudeSessionStore(store);
@@ -50207,7 +51669,8 @@ function createAgentMemory(store, options = {}) {
50207
51669
  return claudeStoreCache;
50208
51670
  },
50209
51671
  langgraphCheckpointer,
50210
- langgraphStore
51672
+ langgraphStore,
51673
+ state
50211
51674
  };
50212
51675
  return memory;
50213
51676
  }
@@ -50888,6 +52351,7 @@ function createAgentRuntime(options) {
50888
52351
  env,
50889
52352
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
50890
52353
  runId: run_id,
52354
+ conversationId: conversation_id,
50891
52355
  maxMessagesPerConversation: (_a = defaults == null ? void 0 : defaults.memoryQuota) == null ? void 0 : _a.maxMessagesPerConversation
50892
52356
  }),
50893
52357
  agents: {
@@ -51388,24 +52852,24 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
51388
52852
  var require_dist = __commonJS({
51389
52853
  "node_modules/@edgeone/pages-blob/dist/index.js"(exports, module) {
51390
52854
  "use strict";
51391
- var N = Object.defineProperty;
52855
+ var U = Object.defineProperty;
51392
52856
  var le = Object.getOwnPropertyDescriptor;
51393
52857
  var ue = Object.getOwnPropertyNames;
51394
52858
  var ge = Object.prototype.hasOwnProperty;
51395
52859
  var fe = (t, e) => {
51396
52860
  for (var r in e)
51397
- N(t, r, { get: e[r], enumerable: true });
52861
+ U(t, r, { get: e[r], enumerable: true });
51398
52862
  };
51399
52863
  var he = (t, e, r, n) => {
51400
52864
  if (e && typeof e == "object" || typeof e == "function")
51401
52865
  for (let s of ue(e))
51402
- !ge.call(t, s) && s !== r && N(t, s, { get: () => e[s], enumerable: !(n = le(e, s)) || n.enumerable });
52866
+ !ge.call(t, s) && s !== r && U(t, s, { get: () => e[s], enumerable: !(n = le(e, s)) || n.enumerable });
51403
52867
  return t;
51404
52868
  };
51405
- var me = (t) => he(N({}, "__esModule", { value: true }), t);
51406
- var De = {};
51407
- fe(De, { InvalidKeyError: () => w, InvalidStoreNameError: () => y, MissingProjectIdError: () => T, PagesBlobError: () => h, PreconditionFailedError: () => x, QuotaExceededError: () => M, RateLimitedError: () => D, Store: () => E, getStore: () => ve, listStores: () => Me });
51408
- module.exports = me(De);
52869
+ var me = (t) => he(U({}, "__esModule", { value: true }), t);
52870
+ var Oe = {};
52871
+ fe(Oe, { InvalidKeyError: () => w, InvalidStoreNameError: () => y, MissingProjectIdError: () => T, PagesBlobError: () => h, PreconditionFailedError: () => x, QuotaExceededError: () => O, RateLimitedError: () => j, Store: () => E, getStore: () => Me, listStores: () => De });
52872
+ module.exports = me(Oe);
51409
52873
  var h = class extends Error {
51410
52874
  code;
51411
52875
  constructor(e, r) {
@@ -51427,12 +52891,12 @@ var require_dist = __commonJS({
51427
52891
  super("MISSING_ENVIRONMENT", \`Environment not configured for Pages Blob. Missing: \${e.join(", ")}. Supply these properties when creating a store, or ensure the function is running in a Pages environment.\`);
51428
52892
  }
51429
52893
  };
51430
- var M = class extends h {
52894
+ var O = class extends h {
51431
52895
  constructor() {
51432
52896
  super("QUOTA_EXCEEDED", "storage quota exceeded");
51433
52897
  }
51434
52898
  };
51435
- var D = class extends h {
52899
+ var j = class extends h {
51436
52900
  constructor() {
51437
52901
  super("RATE_LIMITED", "request rate limited, please retry later");
51438
52902
  }
@@ -51465,7 +52929,7 @@ var require_dist = __commonJS({
51465
52929
  if (new TextEncoder().encode(t).length > 600)
51466
52930
  throw new w("Blob key must be a sequence of Unicode characters whose UTF-8 encoding is at most 600 bytes long.");
51467
52931
  }
51468
- function q(t) {
52932
+ function z2(t) {
51469
52933
  if (t === "")
51470
52934
  throw new y("Store name must not be empty.");
51471
52935
  if (t.includes("/") || t.includes(":"))
@@ -51553,45 +53017,48 @@ var require_dist = __commonJS({
51553
53017
  }
51554
53018
  };
51555
53019
  var ye = new TextEncoder();
51556
- function U(t) {
53020
+ function _(t) {
51557
53021
  let e = ye.encode(t), r = new ArrayBuffer(e.byteLength), n = new Uint8Array(r);
51558
53022
  return n.set(e), n;
51559
53023
  }
51560
- function F(t) {
53024
+ function G2(t) {
51561
53025
  let e = t instanceof Uint8Array ? t : new Uint8Array(t), r = "";
51562
53026
  for (let n = 0; n < e.length; n++)
51563
53027
  r += e[n].toString(16).padStart(2, "0");
51564
53028
  return r;
51565
53029
  }
51566
- async function z2(t, e) {
51567
- let r = await crypto.subtle.importKey("raw", U(t), { name: "HMAC", hash: "SHA-1" }, false, ["sign"]), n = await crypto.subtle.sign("HMAC", r, U(e));
51568
- return F(n);
53030
+ async function H(t, e) {
53031
+ let r = await crypto.subtle.importKey("raw", _(t), { name: "HMAC", hash: "SHA-1" }, false, ["sign"]), n = await crypto.subtle.sign("HMAC", r, _(e));
53032
+ return G2(n);
51569
53033
  }
51570
53034
  async function pe(t) {
51571
- let e = await crypto.subtle.digest("SHA-1", U(t));
51572
- return F(e);
53035
+ let e = await crypto.subtle.digest("SHA-1", _(t));
53036
+ return G2(e);
51573
53037
  }
51574
- function O(t) {
53038
+ function $(t) {
51575
53039
  return encodeURIComponent(t).replace(/[!'()*]/g, (e) => "%" + e.charCodeAt(0).toString(16).toUpperCase());
51576
53040
  }
51577
- function j(t) {
53041
+ function P(t) {
51578
53042
  try {
51579
53043
  return decodeURIComponent(t);
51580
53044
  } catch {
51581
53045
  return t;
51582
53046
  }
51583
53047
  }
51584
- function G2(t) {
51585
- return t.split("/").map((e) => j(e)).join("/");
53048
+ function we(t) {
53049
+ return t.split("/").map((e) => P(e)).join("/");
53050
+ }
53051
+ function I(t) {
53052
+ return we(P(t));
51586
53053
  }
51587
53054
  function W(t) {
51588
- return t.split("/").map((e) => O(j(e))).join("/");
53055
+ return t.split("/").map((e) => $(P(e))).join("/");
51589
53056
  }
51590
- var we = /* @__PURE__ */ new Set(["cache-control", "content-disposition", "content-encoding", "content-length", "content-md5", "content-type", "expect", "expires", "if-match", "if-modified-since", "if-none-match", "if-unmodified-since", "origin", "range", "transfer-encoding"]);
51591
- function Ce(t) {
51592
- return t === "host" || t === "x-cos-security-token" ? false : !!(we.has(t) || t.startsWith("x-cos-"));
53057
+ var Ce = /* @__PURE__ */ new Set(["cache-control", "content-disposition", "content-encoding", "content-length", "content-md5", "content-type", "expect", "expires", "if-match", "if-modified-since", "if-none-match", "if-unmodified-since", "origin", "range", "transfer-encoding"]);
53058
+ function xe(t) {
53059
+ return t === "host" || t === "x-cos-security-token" ? false : !!(Ce.has(t) || t.startsWith("x-cos-"));
51593
53060
  }
51594
- function H(t) {
53061
+ function X(t) {
51595
53062
  if (!t)
51596
53063
  return [];
51597
53064
  let e = [];
@@ -51599,27 +53066,27 @@ var require_dist = __commonJS({
51599
53066
  n != null && e.push([r.toLowerCase(), String(n)]);
51600
53067
  return e.sort(([r], [n]) => r < n ? -1 : r > n ? 1 : 0), e;
51601
53068
  }
51602
- function X(t) {
51603
- return t.map(([e, r]) => \`\${O(e)}=\${O(r)}\`).join("&");
51604
- }
51605
53069
  function Y(t) {
51606
- return t.map(([e]) => O(e)).join(";");
53070
+ return t.map(([e, r]) => \`\${$(e)}=\${$(r)}\`).join("&");
53071
+ }
53072
+ function F(t) {
53073
+ return t.map(([e]) => $(e)).join(";");
51607
53074
  }
51608
53075
  async function V(t) {
51609
- let e = t.method.toLowerCase(), r = t.pathname.startsWith("/") ? t.pathname : \`/\${t.pathname}\`, n = Math.floor(Date.now() / 1e3), s = n + (t.expireSeconds ?? 3600), i = \`\${n};\${s}\`, o = H(t.headers).filter(([B]) => Ce(B)), c = Y(o), d = X(o), u = H(t.query), l = Y(u), g = X(u), p = \`\${e}
53076
+ let e = t.method.toLowerCase(), r = t.pathname.startsWith("/") ? t.pathname : \`/\${t.pathname}\`, n = Math.floor(Date.now() / 1e3), s = n + (t.expireSeconds ?? 3600), i = \`\${n};\${s}\`, o = X(t.headers).filter(([N]) => xe(N)), c = F(o), d = Y(o), u = X(t.query), l = F(u), g = Y(u), p = \`\${e}
51610
53077
  \${r}
51611
53078
  \${g}
51612
53079
  \${d}
51613
53080
  \`, oe = \`sha1
51614
53081
  \${i}
51615
53082
  \${await pe(p)}
51616
- \`, ie = await z2(t.secretKey, i), ae = await z2(ie, oe), ce = ["q-sign-algorithm=sha1", \`q-ak=\${t.secretId}\`, \`q-sign-time=\${i}\`, \`q-key-time=\${i}\`, \`q-header-list=\${c}\`, \`q-url-param-list=\${l}\`, \`q-signature=\${ae}\`].join("&"), K = {};
51617
- for (let [B, de] of o)
51618
- K[B] = de;
51619
- return { authorization: ce, signedHeaders: K };
53083
+ \`, ie = await H(t.secretKey, i), ae = await H(ie, oe), ce = ["q-sign-algorithm=sha1", \`q-ak=\${t.secretId}\`, \`q-sign-time=\${i}\`, \`q-key-time=\${i}\`, \`q-header-list=\${c}\`, \`q-url-param-list=\${l}\`, \`q-signature=\${ae}\`].join("&"), q = {};
53084
+ for (let [N, de] of o)
53085
+ q[N] = de;
53086
+ return { authorization: ce, signedHeaders: q };
51620
53087
  }
51621
53088
  async function J(t) {
51622
- let e = new URL(t.domain), r = j(t.key), n = \`/\${G2(r)}\`, s = \`/\${W(r)}\`;
53089
+ let e = new URL(t.domain), r = P(t.key), n = \`/\${I(t.key)}\`, s = \`/\${W(r)}\`;
51623
53090
  e.pathname = s;
51624
53091
  let { authorization: i } = await V({ method: t.method, pathname: n, query: t.query, headers: t.headers, secretId: t.credential.secretId, secretKey: t.credential.secretKey, expireSeconds: t.expireSeconds });
51625
53092
  if (t.query)
@@ -51635,7 +53102,7 @@ var require_dist = __commonJS({
51635
53102
  return t.credential.sessionToken && e.searchParams.set("x-cos-security-token", t.credential.sessionToken), e.toString();
51636
53103
  }
51637
53104
  async function S(t) {
51638
- let e = new URL(t.domain), r = t.key ? j(t.key) : "", n = r ? \`/\${G2(r)}\` : "/", s = r ? \`/\${W(r)}\` : "/";
53105
+ let e = new URL(t.domain), r = t.key ? P(t.key) : "", n = t.key ? \`/\${I(t.key)}\` : "/", s = r ? \`/\${W(r)}\` : "/";
51639
53106
  if (e.pathname = s, t.query)
51640
53107
  for (let [l, g] of Object.entries(t.query))
51641
53108
  g != null && e.searchParams.set(l, String(g));
@@ -51655,9 +53122,9 @@ var require_dist = __commonJS({
51655
53122
  }
51656
53123
  throw u;
51657
53124
  }
51658
- var xe = "blob.edgeone.site";
51659
- var be = "blob-nocache.edgeone.site";
51660
- var A = class t {
53125
+ var be = "blob.edgeone.site";
53126
+ var Te = "blob-nocache.edgeone.site";
53127
+ var M = class t {
51661
53128
  credentialManager;
51662
53129
  bucket = "";
51663
53130
  region = "";
@@ -51667,7 +53134,7 @@ var require_dist = __commonJS({
51667
53134
  initialized = false;
51668
53135
  static buildErrorDetail(e, r, n, s, i) {
51669
53136
  let a = n ? \`\${r}/\${n}\` : r, o = i ? \` [request-id: \${i}]\` : "";
51670
- return \`\${e} \${a} - \${Te(s)}\${o}\`;
53137
+ return \`\${e} \${a} - \${Ee(s)}\${o}\`;
51671
53138
  }
51672
53139
  constructor(e) {
51673
53140
  this.credentialManager = e;
@@ -51693,7 +53160,7 @@ var require_dist = __commonJS({
51693
53160
  let a = this.computeSubdomain(e);
51694
53161
  if (!a)
51695
53162
  throw new f(0, "unable to derive tenant subdomain from credential; missing appId/zoneId/projectId or resourcePrefix");
51696
- this.cachedDomain = \`https://\${a}.\${xe}\`, this.uncachedDomain = \`https://\${a}.\${be}\`, this.initialized = true;
53163
+ this.cachedDomain = \`https://\${a}.\${be}\`, this.uncachedDomain = \`https://\${a}.\${Te}\`, this.initialized = true;
51697
53164
  }
51698
53165
  async resolveDomain(e) {
51699
53166
  return await this.ensureInitialized(), e === "strong" ? this.uncachedDomain : this.cachedDomain;
@@ -51717,14 +53184,14 @@ var require_dist = __commonJS({
51717
53184
  return await l.arrayBuffer().catch(() => {
51718
53185
  }), { etag: "", statusCode: 412 };
51719
53186
  if (!l.ok) {
51720
- let p = await P(l);
51721
- throw new f(l.status, t.buildErrorDetail("PUT", i, o, p || \`status \${l.status}\`, I(l)));
53187
+ let p = await k(l);
53188
+ throw new f(l.status, t.buildErrorDetail("PUT", i, o, p || \`status \${l.status}\`, R(l)));
51722
53189
  }
51723
53190
  let g = l.headers.get("etag") || "";
51724
53191
  return await l.arrayBuffer().catch(() => {
51725
53192
  }), { etag: g, statusCode: l.status };
51726
53193
  } catch (l) {
51727
- throw l instanceof f ? l : new f(0, t.buildErrorDetail("PUT", i, o, k(l)));
53194
+ throw l instanceof f ? l : new f(0, t.buildErrorDetail("PUT", i, o, A(l)));
51728
53195
  }
51729
53196
  }
51730
53197
  async createPresignedPutUrl(e, r, n) {
@@ -51741,13 +53208,13 @@ var require_dist = __commonJS({
51741
53208
  return await o.arrayBuffer().catch(() => {
51742
53209
  }), null;
51743
53210
  if (!o.ok) {
51744
- let u = await P(o);
51745
- throw new f(o.status, t.buildErrorDetail("GET", s, a, u || \`status \${o.status}\`, I(o)));
53211
+ let u = await k(o);
53212
+ throw new f(o.status, t.buildErrorDetail("GET", s, a, u || \`status \${o.status}\`, R(o)));
51746
53213
  }
51747
53214
  let c = new Uint8Array(await o.arrayBuffer()), d = Z(o.headers);
51748
53215
  return { body: c, contentType: d["content-type"], headers: d };
51749
53216
  } catch (o) {
51750
- throw o instanceof f ? o : new f(0, t.buildErrorDetail("GET", s, a, k(o)));
53217
+ throw o instanceof f ? o : new f(0, t.buildErrorDetail("GET", s, a, A(o)));
51751
53218
  }
51752
53219
  }
51753
53220
  async headObject(e, r, n) {
@@ -51757,13 +53224,13 @@ var require_dist = __commonJS({
51757
53224
  if (o.status === 404)
51758
53225
  return null;
51759
53226
  if (!o.ok) {
51760
- let d = await P(o);
51761
- throw new f(o.status, t.buildErrorDetail("HEAD", s, a, d || \`status \${o.status}\`, I(o)));
53227
+ let d = await k(o);
53228
+ throw new f(o.status, t.buildErrorDetail("HEAD", s, a, d || \`status \${o.status}\`, R(o)));
51762
53229
  }
51763
53230
  let c = Z(o.headers);
51764
53231
  return { cacheControl: c["cache-control"], contentType: c["content-type"], etag: c.etag, headers: c };
51765
53232
  } catch (o) {
51766
- throw o instanceof f ? o : new f(0, t.buildErrorDetail("HEAD", s, a, k(o)));
53233
+ throw o instanceof f ? o : new f(0, t.buildErrorDetail("HEAD", s, a, A(o)));
51767
53234
  }
51768
53235
  }
51769
53236
  async deleteObject(e, r) {
@@ -51775,10 +53242,10 @@ var require_dist = __commonJS({
51775
53242
  });
51776
53243
  return;
51777
53244
  }
51778
- let o = await P(a);
51779
- throw new f(a.status, t.buildErrorDetail("DELETE", n, i, o || \`status \${a.status}\`, I(a)));
53245
+ let o = await k(a);
53246
+ throw new f(a.status, t.buildErrorDetail("DELETE", n, i, o || \`status \${a.status}\`, R(a)));
51780
53247
  } catch (a) {
51781
- throw a instanceof f ? a : new f(0, t.buildErrorDetail("DELETE", n, i, k(a)));
53248
+ throw a instanceof f ? a : new f(0, t.buildErrorDetail("DELETE", n, i, A(a)));
51782
53249
  }
51783
53250
  }
51784
53251
  async listObjects(e, r) {
@@ -51804,35 +53271,35 @@ var require_dist = __commonJS({
51804
53271
  return r;
51805
53272
  }
51806
53273
  async getBucketRaw(e) {
51807
- let r = await this.resolveDomain(e.consistency), n = await this.resolveCredential(), s = { prefix: e.prefix };
51808
- e.delimiter && (s.delimiter = e.delimiter), e.marker && (s.marker = e.marker), e.maxKeys && (s["max-keys"] = e.maxKeys);
53274
+ let r = await this.resolveDomain(e.consistency), n = await this.resolveCredential(), s = { prefix: I(e.prefix) };
53275
+ e.delimiter && (s.delimiter = e.delimiter), e.marker && (s.marker = I(e.marker)), e.maxKeys && (s["max-keys"] = e.maxKeys);
51809
53276
  try {
51810
53277
  let i = await S({ domain: r, method: "GET", query: s, credential: n });
51811
53278
  if (!i.ok) {
51812
- let o = await P(i);
51813
- throw new f(i.status, t.buildErrorDetail("LIST", r, e.prefix, o || \`status \${i.status}\`, I(i)));
53279
+ let o = await k(i);
53280
+ throw new f(i.status, t.buildErrorDetail("LIST", r, e.prefix, o || \`status \${i.status}\`, R(i)));
51814
53281
  }
51815
53282
  let a = await i.text();
51816
- return Ee(a);
53283
+ return Se(a);
51817
53284
  } catch (i) {
51818
- throw i instanceof f ? i : new f(0, t.buildErrorDetail("LIST", r, e.prefix, k(i)));
53285
+ throw i instanceof f ? i : new f(0, t.buildErrorDetail("LIST", r, e.prefix, A(i)));
51819
53286
  }
51820
53287
  }
51821
53288
  };
51822
- function Te(t) {
53289
+ function Ee(t) {
51823
53290
  return t.replace(/[a-zA-Z0-9\\-]+\\.cos\\.[a-zA-Z0-9\\-.]+\\.myqcloud\\.com/gi, "[cos-origin]").replace(/[a-zA-Z0-9\\-]+\\.cos\\.[a-zA-Z0-9\\-.]+\\.tencentcos\\.cn/gi, "[cos-origin]");
51824
53291
  }
51825
- async function P(t) {
53292
+ async function k(t) {
51826
53293
  try {
51827
53294
  return await t.text();
51828
53295
  } catch {
51829
53296
  return "";
51830
53297
  }
51831
53298
  }
51832
- function I(t) {
53299
+ function R(t) {
51833
53300
  return t.headers.get("x-cos-request-id") || t.headers.get("x-eo-log-id") || void 0;
51834
53301
  }
51835
- function k(t) {
53302
+ function A(t) {
51836
53303
  let e = t, r = e.message || String(t), n = e.cause;
51837
53304
  if (n) {
51838
53305
  let s = n.message || n.code || "";
@@ -51846,43 +53313,43 @@ var require_dist = __commonJS({
51846
53313
  e[n.toLowerCase()] = r;
51847
53314
  }), e;
51848
53315
  }
51849
- function Ee(t) {
53316
+ function Se(t) {
51850
53317
  let e = [], r = /<Contents>([\\s\\S]*?)<\\/Contents>/g, n;
51851
53318
  for (; (n = r.exec(t)) !== null; ) {
51852
- let d = n[1], u = R(d, "Key"), l = R(d, "ETag");
51853
- u !== null && e.push({ key: _(u), etag: l || "" });
53319
+ let d = n[1], u = v(d, "Key"), l = v(d, "ETag");
53320
+ u !== null && e.push({ key: L(u), etag: l || "" });
51854
53321
  }
51855
53322
  let s = [], i = /<CommonPrefixes>([\\s\\S]*?)<\\/CommonPrefixes>/g;
51856
53323
  for (; (n = i.exec(t)) !== null; ) {
51857
- let d = n[1], u = R(d, "Prefix");
51858
- u !== null && s.push(_(u));
53324
+ let d = n[1], u = v(d, "Prefix");
53325
+ u !== null && s.push(L(u));
51859
53326
  }
51860
- let o = R(t, "IsTruncated") === "true", c = R(t, "NextMarker") || "";
51861
- return { contents: e, commonPrefixes: s, isTruncated: o, nextMarker: _(c) };
53327
+ let o = v(t, "IsTruncated") === "true", c = v(t, "NextMarker") || "";
53328
+ return { contents: e, commonPrefixes: s, isTruncated: o, nextMarker: L(c) };
51862
53329
  }
51863
- function R(t, e) {
53330
+ function v(t, e) {
51864
53331
  let n = new RegExp(\`<\${e}>([\\\\s\\\\S]*?)<\\\\/\${e}>\`).exec(t);
51865
53332
  return n ? n[1] : null;
51866
53333
  }
51867
- function _(t) {
53334
+ function L(t) {
51868
53335
  return t.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&amp;/g, "&");
51869
53336
  }
51870
- var Se = "X-RateLimit-Reset";
51871
- async function $(t, e, r = 2) {
53337
+ var Pe = "X-RateLimit-Reset";
53338
+ async function B(t, e, r = 2) {
51872
53339
  var _a3, _b;
51873
53340
  (_b = (_a3 = e.signal) == null ? void 0 : _a3.throwIfAborted) == null ? void 0 : _b.call(_a3);
51874
53341
  try {
51875
53342
  let n = await fetch(t, e);
51876
53343
  if (r > 0 && (n.status === 429 || n.status >= 500)) {
51877
- let s = Q(n.headers.get(Se));
51878
- return await ee(s, e.signal), $(t, e, r - 1);
53344
+ let s = Q(n.headers.get(Pe));
53345
+ return await ee(s, e.signal), B(t, e, r - 1);
51879
53346
  }
51880
53347
  return n;
51881
53348
  } catch (n) {
51882
53349
  if (r === 0 || n instanceof DOMException && n.name === "AbortError")
51883
53350
  throw n;
51884
53351
  let s = Q();
51885
- return await ee(s, e.signal), $(t, e, r - 1);
53352
+ return await ee(s, e.signal), B(t, e, r - 1);
51886
53353
  }
51887
53354
  }
51888
53355
  function Q(t) {
@@ -51900,14 +53367,14 @@ var require_dist = __commonJS({
51900
53367
  e == null ? void 0 : e.addEventListener("abort", i, { once: true });
51901
53368
  });
51902
53369
  }
51903
- var Pe = "prod";
53370
+ var Ie = "prod";
51904
53371
  function te() {
51905
53372
  let t = typeof process < "u" ? process.env.PAGES_BLOB_STS_ENV : void 0;
51906
- return t === "test" || t === "prod" ? t : Pe;
53373
+ return t === "test" || t === "prod" ? t : Ie;
51907
53374
  }
51908
- var Ie = 300;
51909
- var ke = "https://blob-sts.edgeone.site/";
51910
- var v = class {
53375
+ var ke = 300;
53376
+ var Re = "https://blob-sts.edgeone.site/";
53377
+ var D = class {
51911
53378
  authToken;
51912
53379
  projectId;
51913
53380
  cached = null;
@@ -51925,16 +53392,16 @@ var require_dist = __commonJS({
51925
53392
  }
51926
53393
  isExpired(e) {
51927
53394
  let r = Math.floor(Date.now() / 1e3);
51928
- return e.expiredTime - r < Ie;
53395
+ return e.expiredTime - r < ke;
51929
53396
  }
51930
53397
  async fetchCredential() {
51931
53398
  for (let n = 1; n <= 3; n++) {
51932
53399
  let s = new AbortController(), i = setTimeout(() => s.abort(), 1e4), a;
51933
53400
  try {
51934
- a = await $(ke, { method: "POST", headers: { "Content-Type": "application/json", Authorization: \`Bearer \${this.authToken}\`, "X-Env": te() }, body: JSON.stringify(this.projectId ? { ProjectId: this.projectId } : {}), signal: s.signal });
53401
+ a = await B(Re, { method: "POST", headers: { "Content-Type": "application/json", Authorization: \`Bearer \${this.authToken}\`, "X-Env": te() }, body: JSON.stringify(this.projectId ? { ProjectId: this.projectId } : {}), signal: s.signal });
51935
53402
  } catch (d) {
51936
53403
  if (n < 3) {
51937
- await L(500 * n);
53404
+ await K(500 * n);
51938
53405
  continue;
51939
53406
  }
51940
53407
  throw new m(\`failed to obtain STS credential: \${d.message || "timeout"}\`);
@@ -51947,7 +53414,7 @@ var require_dist = __commonJS({
51947
53414
  throw new m("rate limited, please retry later");
51948
53415
  if (!a.ok) {
51949
53416
  if (a.status >= 500 && n < 3) {
51950
- await L(500 * n);
53417
+ await K(500 * n);
51951
53418
  continue;
51952
53419
  }
51953
53420
  let d = await a.text().catch(() => "unknown error");
@@ -51967,7 +53434,7 @@ var require_dist = __commonJS({
51967
53434
  throw new m(\`credential exchange failed (code=\${o.code}): \${d}\`);
51968
53435
  }
51969
53436
  if (n < 3) {
51970
- await L(500 * n);
53437
+ await K(500 * n);
51971
53438
  continue;
51972
53439
  }
51973
53440
  throw new m("invalid STS credential response");
@@ -51975,12 +53442,12 @@ var require_dist = __commonJS({
51975
53442
  throw new m("invalid STS credential response");
51976
53443
  }
51977
53444
  };
51978
- function L(t) {
53445
+ function K(t) {
51979
53446
  return new Promise((e) => setTimeout(e, t));
51980
53447
  }
51981
- var Re = "{{PAGES_BLOB_DEPLOY_CREDENTIAL}}";
53448
+ var Ae = "{{PAGES_BLOB_DEPLOY_CREDENTIAL}}";
51982
53449
  function re() {
51983
- let t = {}, e = Ae();
53450
+ let t = {}, e = ve();
51984
53451
  if (e)
51985
53452
  t.deployCredential = e;
51986
53453
  else {
@@ -51990,8 +53457,8 @@ var require_dist = __commonJS({
51990
53457
  let r = ne("PAGES_PROJECT_ID");
51991
53458
  return r && (t.projectId = r), t;
51992
53459
  }
51993
- function Ae() {
51994
- let t = Re;
53460
+ function ve() {
53461
+ let t = Ae;
51995
53462
  if (!(t.startsWith("{{") && t.endsWith("}}")))
51996
53463
  return t || void 0;
51997
53464
  }
@@ -51999,15 +53466,15 @@ var require_dist = __commonJS({
51999
53466
  if (typeof process < "u" && process.env)
52000
53467
  return process.env[t];
52001
53468
  }
52002
- function ve(t) {
53469
+ function Me(t) {
52003
53470
  let e = typeof t == "string" ? t : t.name;
52004
- q(e);
52005
- let r = se(typeof t == "string" ? void 0 : t), n = new v(r.authToken, r.projectId), s = new A(n);
53471
+ z2(e);
53472
+ let r = se(typeof t == "string" ? void 0 : t), n = new D(r.authToken, r.projectId), s = new M(n);
52006
53473
  return new E(s, e, r.consistency ?? "eventual");
52007
53474
  }
52008
- async function Me(t) {
52009
- let e = se(t ? { name: "__list__", projectId: t.projectId, token: t.token, consistency: t.consistency } : void 0), r = new v(e.authToken, e.projectId);
52010
- return { stores: (await new A(r).listStores(e.consistency)).map((i) => ({ name: i })) };
53475
+ async function De(t) {
53476
+ let e = se(t ? { name: "__list__", projectId: t.projectId, token: t.token, consistency: t.consistency } : void 0), r = new D(e.authToken, e.projectId);
53477
+ return { stores: (await new M(r).listStores(e.consistency)).map((i) => ({ name: i })) };
52011
53478
  }
52012
53479
  function se(t) {
52013
53480
  let e = re(), r = (t == null ? void 0 : t.token) || e.deployCredential, n = (t == null ? void 0 : t.projectId) || e.projectId;
@@ -64065,6 +65532,9 @@ var LANGGRAPH_STORE_PREFIX = "langgraph_store";
64065
65532
  var LANGGRAPH_STORE_KEY_SEPARATOR = "__key__";
64066
65533
  var LANGGRAPH_SERDE_VERSION = 1;
64067
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;
64068
65538
  var SESSION_METADATA_MARKER = { agent_sdk_session: true };
64069
65539
  var VALID_ROLES = /* @__PURE__ */ new Set([
64070
65540
  "user",
@@ -64111,6 +65581,15 @@ var MemoryStorageError = class extends Error {
64111
65581
  this.cause = cause;
64112
65582
  }
64113
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
+ };
64114
65593
  var dynamicImport = new Function(
64115
65594
  "specifier",
64116
65595
  "return import(specifier);"
@@ -64118,7 +65597,7 @@ var dynamicImport = new Function(
64118
65597
  var langchainLoadPromise;
64119
65598
  var langchainMessagesPromise;
64120
65599
  function isMemoryError(error51) {
64121
- 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;
64122
65601
  }
64123
65602
  async function wrapStorage(operation) {
64124
65603
  try {
@@ -64286,10 +65765,17 @@ async function reviveLangGraphJsonValue(value) {
64286
65765
  return revived;
64287
65766
  }
64288
65767
  async function deserializeLangGraphJson(value) {
64289
- if (isLangGraphSerializedJson(value)) {
64290
- 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
+ );
64291
65778
  }
64292
- return reviveLangGraphJsonValue(value);
64293
65779
  }
64294
65780
  function normalizeStoreLimit(value, fallback) {
64295
65781
  if (typeof value !== "number" || !Number.isFinite(value)) {
@@ -64401,6 +65887,115 @@ function validateMessageId(messageId) {
64401
65887
  throw new MemoryValidationError("messageId is required.");
64402
65888
  }
64403
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
+ }
64404
65999
  function validateUserId(userId) {
64405
66000
  if (userId === void 0) {
64406
66001
  return;
@@ -64533,6 +66128,9 @@ function cursorSortKey(cursor) {
64533
66128
  const payload = decodeConversationCursor(cursor);
64534
66129
  return \`\${reverseTimestamp(payload.lastMessageAt)}_\${encodeKeySegment(payload.conversationId)}\`;
64535
66130
  }
66131
+ function cursorListCursor(cursor) {
66132
+ return cursor ? decodeConversationCursor(cursor).listCursor : void 0;
66133
+ }
64536
66134
  function indexSortKey(key, prefix) {
64537
66135
  return key.slice(prefix.length);
64538
66136
  }
@@ -64700,6 +66298,51 @@ function claudeSessionBase(projectKey, sessionId) {
64700
66298
  function claudeProjectPrefix(projectKey) {
64701
66299
  return \`\${CLAUDE_SESSION_PREFIX}/\${encodeKeySegment(projectKey)}/\`;
64702
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
+ }
64703
66346
  function claudePartsPrefix(key) {
64704
66347
  let base = claudeSessionBase(key.projectKey, key.sessionId).slice(0, -1);
64705
66348
  if (key.subpath) {
@@ -64737,7 +66380,9 @@ function createClaudeSessionStore(store) {
64737
66380
  consistency: "strong"
64738
66381
  });
64739
66382
  if (typeof raw !== "string") {
64740
- continue;
66383
+ throw new MemoryCorruptError(
66384
+ \`Claude session part '\${partKey}' is not valid JSONL text.\`
66385
+ );
64741
66386
  }
64742
66387
  for (const line of raw.split("\\n")) {
64743
66388
  const trimmed = line.trim();
@@ -64746,7 +66391,11 @@ function createClaudeSessionStore(store) {
64746
66391
  }
64747
66392
  try {
64748
66393
  entries.push(JSON.parse(trimmed));
64749
- } catch {
66394
+ } catch (error51) {
66395
+ throw new MemoryCorruptError(
66396
+ \`Claude session part '\${partKey}' contains malformed JSONL.\`,
66397
+ error51
66398
+ );
64750
66399
  }
64751
66400
  }
64752
66401
  }
@@ -64872,8 +66521,70 @@ async function listConversationsByUser(store, userId, options) {
64872
66521
  });
64873
66522
  }
64874
66523
  async function listConversationsFromIndex(store, options) {
66524
+ if (!options.before) {
66525
+ const fast = await listConversationsFromIndexFast(store, options);
66526
+ if (fast)
66527
+ return fast;
66528
+ }
64875
66529
  return listConversationsFromIndexFull(store, options);
64876
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
+ }
64877
66588
  async function listConversationsFromIndexFull(store, options) {
64878
66589
  var _a3, _b;
64879
66590
  const afterSortKey = options.after ? cursorSortKey(options.after) : void 0;
@@ -65310,6 +67021,7 @@ function createAgentMemory(store, options = {}) {
65310
67021
  const maxMessagesPerConversation = options.maxMessagesPerConversation ?? DEFAULT_MAX_MESSAGES_PER_CONVERSATION;
65311
67022
  const langgraphCheckpointer = createLangGraphCheckpointer(store);
65312
67023
  const langgraphStore = createLangGraphStore(store);
67024
+ const state = createAgentStateStore(store, options.conversationId);
65313
67025
  let claudeStoreCache = null;
65314
67026
  let lastMessageCreatedAt = 0;
65315
67027
  const appendMessagesInternal = async (inputs) => {
@@ -65595,8 +67307,13 @@ function createAgentMemory(store, options = {}) {
65595
67307
  listMessageKeys(store, input.conversationId)
65596
67308
  ]);
65597
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);
65598
67315
  throw new MemoryNotFoundError(
65599
- "Conversation not found by updateConversation."
67316
+ "Conversation not found by deleteConversation."
65600
67317
  );
65601
67318
  }
65602
67319
  const deleteOps = [];
@@ -65613,6 +67330,11 @@ function createAgentMemory(store, options = {}) {
65613
67330
  deleteOps.push(store.delete(metaKey(input.conversationId)));
65614
67331
  deleteOps.push(store.delete(conversationIndexKey(meta3)));
65615
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);
65616
67338
  });
65617
67339
  },
65618
67340
  async updateConversation(input) {
@@ -65648,14 +67370,49 @@ function createAgentMemory(store, options = {}) {
65648
67370
  }));
65649
67371
  },
65650
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
+ }
65651
67379
  const maxItems = sessionOptions.maxItems ?? MAX_LIMIT;
65652
67380
  return createOpenAISession(
65653
67381
  memory,
65654
- sessionId,
67382
+ boundSessionId,
65655
67383
  maxItems,
65656
67384
  appendMessagesInternal
65657
67385
  );
65658
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
+ },
65659
67416
  claudeSessionStore() {
65660
67417
  if (!claudeStoreCache) {
65661
67418
  claudeStoreCache = createClaudeSessionStore(store);
@@ -65663,7 +67420,8 @@ function createAgentMemory(store, options = {}) {
65663
67420
  return claudeStoreCache;
65664
67421
  },
65665
67422
  langgraphCheckpointer,
65666
- langgraphStore
67423
+ langgraphStore,
67424
+ state
65667
67425
  };
65668
67426
  return memory;
65669
67427
  }
@@ -66344,6 +68102,7 @@ function createAgentRuntime(options) {
66344
68102
  env,
66345
68103
  store: createAgentMemory(createLazyStore(resolveMemoryStore), {
66346
68104
  runId: run_id,
68105
+ conversationId: conversation_id,
66347
68106
  maxMessagesPerConversation: (_a3 = defaults2 == null ? void 0 : defaults2.memoryQuota) == null ? void 0 : _a3.maxMessagesPerConversation
66348
68107
  }),
66349
68108
  agents: {