jazz-ai 0.12.5 → 0.12.6

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.
Files changed (2) hide show
  1. package/dist/main.js +5 -5
  2. package/package.json +1 -1
package/dist/main.js CHANGED
@@ -64,7 +64,7 @@ Expecting one of '${Z.join("', '")}'`);if(this._lifeCycleHooks[I])this._lifeCycl
64
64
  `),this.outputHelp({error:!0});let Z=G||{},b=Z.exitCode||1,W=Z.code||"commander.error";this._exit(b,W,I)}_parseOptionsEnv(){this.options.forEach((I)=>{if(I.envVar&&I.envVar in vl.env){let G=I.attributeName();if(this.getOptionValue(G)===void 0||["default","config","env"].includes(this.getOptionValueSource(G)))if(I.required||I.optional)this.emit(`optionEnv:${I.name()}`,vl.env[I.envVar]);else this.emit(`optionEnv:${I.name()}`)}})}_parseOptionsImplied(){let I=new nmI(this.options),G=(Z)=>{return this.getOptionValue(Z)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(Z))};this.options.filter((Z)=>Z.implied!==void 0&&G(Z.attributeName())&&I.valueFromOption(this.getOptionValue(Z.attributeName()),Z)).forEach((Z)=>{Object.keys(Z.implied).filter((b)=>!G(b)).forEach((b)=>{this.setOptionValueWithSource(b,Z.implied[b],"implied")})})}missingArgument(I){let G=`error: missing required argument '${I}'`;this.error(G,{code:"commander.missingArgument"})}optionMissingArgument(I){let G=`error: option '${I.flags}' argument missing`;this.error(G,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(I){let G=`error: required option '${I.flags}' not specified`;this.error(G,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(I,G){let Z=(l)=>{let Y=l.attributeName(),N=this.getOptionValue(Y),c=this.options.find((d)=>d.negate&&Y===d.attributeName()),X=this.options.find((d)=>!d.negate&&Y===d.attributeName());if(c&&(c.presetArg===void 0&&N===!1||c.presetArg!==void 0&&N===c.presetArg))return c;return X||l},b=(l)=>{let Y=Z(l),N=Y.attributeName();if(this.getOptionValueSource(N)==="env")return`environment variable '${Y.envVar}'`;return`option '${Y.flags}'`},W=`error: ${b(I)} cannot be used with ${b(G)}`;this.error(W,{code:"commander.conflictingOption"})}unknownOption(I){if(this._allowUnknownOption)return;let G="";if(I.startsWith("--")&&this._showSuggestionAfterError){let b=[],W=this;do{let l=W.createHelp().visibleOptions(W).filter((Y)=>Y.long).map((Y)=>Y.long);b=b.concat(l),W=W.parent}while(W&&!W._enablePositionalOptions);G=$mI(I,b)}let Z=`error: unknown option '${I}'${G}`;this.error(Z,{code:"commander.unknownOption"})}_excessArguments(I){if(this._allowExcessArguments)return;let G=this.registeredArguments.length,Z=G===1?"":"s",b=I.length,W=this.parent?` for '${this.name()}'`:"",l=I.join(", "),Y=`error: too many arguments${W}. Expected ${G} argument${Z} but got ${b}: ${l}.`;this.error(Y,{code:"commander.excessArguments"})}unknownCommand(){let I=this.args[0],G="";if(this._showSuggestionAfterError){let b=[];this.createHelp().visibleCommands(this).forEach((W)=>{if(b.push(W.name()),W.alias())b.push(W.alias())}),G=$mI(I,b)}let Z=`error: unknown command '${I}'${G}`;this.error(Z,{code:"commander.unknownCommand"})}version(I,G,Z){if(I===void 0)return this._version;this._version=I,G=G||"-V, --version",Z=Z||"output the version number";let b=this.createOption(G,Z);return this._versionOptionName=b.attributeName(),this._registerOption(b),this.on("option:"+b.name(),()=>{this._outputConfiguration.writeOut(`${I}
65
65
  `),this._exit(0,"commander.version",I)}),this}description(I,G){if(I===void 0&&G===void 0)return this._description;if(this._description=I,G)this._argsDescription=G;return this}summary(I){if(I===void 0)return this._summary;return this._summary=I,this}alias(I){if(I===void 0)return this._aliases[0];let G=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)G=this.commands[this.commands.length-1];if(I===G._name)throw Error("Command alias can't be the same as its name");let Z=this.parent?._findCommand(I);if(Z){let b=[Z.name()].concat(Z.aliases()).join("|");throw Error(`cannot add alias '${I}' to command '${this.name()}' as already have command '${b}'`)}return G._aliases.push(I),this}aliases(I){if(I===void 0)return this._aliases;return I.forEach((G)=>this.alias(G)),this}usage(I){if(I===void 0){if(this._usage)return this._usage;let G=this.registeredArguments.map((Z)=>{return Uf(Z)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?G:[]).join(" ")}return this._usage=I,this}name(I){if(I===void 0)return this._name;return this._name=I,this}helpGroup(I){if(I===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=I,this}commandsGroup(I){if(I===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=I,this}optionsGroup(I){if(I===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=I,this}_initOptionGroup(I){if(this._defaultOptionGroup&&!I.helpGroupHeading)I.helpGroup(this._defaultOptionGroup)}_initCommandGroup(I){if(this._defaultCommandGroup&&!I.helpGroup())I.helpGroup(this._defaultCommandGroup)}nameFromFilename(I){return this._name=oh.basename(I,oh.extname(I)),this}executableDir(I){if(I===void 0)return this._executableDir;return this._executableDir=I,this}helpInformation(I){let G=this.createHelp(),Z=this._getOutputContext(I);G.prepareContext({error:Z.error,helpWidth:Z.helpWidth,outputHasColors:Z.hasColors});let b=G.formatHelp(this,G);if(Z.hasColors)return b;return this._outputConfiguration.stripColor(b)}_getOutputContext(I){I=I||{};let G=!!I.error,Z,b,W;if(G)Z=(Y)=>this._outputConfiguration.writeErr(Y),b=this._outputConfiguration.getErrHasColors(),W=this._outputConfiguration.getErrHelpWidth();else Z=(Y)=>this._outputConfiguration.writeOut(Y),b=this._outputConfiguration.getOutHasColors(),W=this._outputConfiguration.getOutHelpWidth();return{error:G,write:(Y)=>{if(!b)Y=this._outputConfiguration.stripColor(Y);return Z(Y)},hasColors:b,helpWidth:W}}outputHelp(I){let G;if(typeof I==="function")G=I,I=void 0;let Z=this._getOutputContext(I),b={error:Z.error,write:Z.write,command:this};this._getCommandAndAncestors().reverse().forEach((l)=>l.emit("beforeAllHelp",b)),this.emit("beforeHelp",b);let W=this.helpInformation({error:Z.error});if(G){if(W=G(W),typeof W!=="string"&&!Buffer.isBuffer(W))throw Error("outputHelp callback must return a string or a Buffer")}if(Z.write(W),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",b),this._getCommandAndAncestors().forEach((l)=>l.emit("afterAllHelp",b))}helpOption(I,G){if(typeof I==="boolean"){if(I){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(I??"-h, --help",G??"display help for command"),I||G)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(I){return this._helpOption=I,this._initOptionGroup(I),this}help(I){this.outputHelp(I);let G=Number(vl.exitCode??0);if(G===0&&I&&typeof I!=="function"&&I.error)G=1;this._exit(G,"commander.help","(outputHelp)")}addHelpText(I,G){let Z=["beforeAll","before","after","afterAll"];if(!Z.includes(I))throw Error(`Unexpected value for position to addHelpText.
66
66
  Expecting one of '${Z.join("', '")}'`);let b=`${I}Help`;return this.on(b,(W)=>{let l;if(typeof G==="function")l=G({error:W.error,command:W.command});else l=G;if(l)W.write(`${l}
67
- `)}),this}_outputHelpIfRequested(I){let G=this._getHelpOption();if(G&&I.find((b)=>G.is(b)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}});var k4W;var ZZG=g(()=>{Bf();GZG();O6();_mI();PmI();k4W=new $z});var Zd;var Mf=g(()=>{Zd={name:"jazz-ai",version:"0.12.5",description:"Your terminal. Your agent. Your rules.",license:"MIT",main:"dist/main.js",types:"dist/main.d.ts",type:"module",bin:{jazz:"./dist/main.js"},author:{name:"lvndry",email:"lvndry@proton.me",url:"https://github.com/lvndry"},homepage:"https://github.com/lvndry/jazz",repository:{type:"git",url:"https://github.com/lvndry/jazz.git"},bugs:{url:"https://github.com/lvndry/jazz/issues"},keywords:["cli","agents","automation","agentic","typescript","effect-ts","ai","llm","workflow","email","git","productivity","assistant","task-automation","developer-tools","ai-assistant","ai-agent","mcp","mcp-server","agent-skills"],scripts:{build:"bun run scripts/build.ts",typecheck:"bun run tsc --noEmit",dev:"bun --watch src/main.ts",start:"bun dist/main.js",cli:"bun src/main.ts",prepare:"git config core.hooksPath .githooks || true",lint:"bun eslint src --cache","lint:fix":"bun eslint src --fix --cache",format:"bun prettier --write src",test:"bun test","test:watch":"bun test --watch","test:typecheck":"bunx tsc --project tsconfig.test.json",clean:"rm -rf dist",prebuild:"bun run clean",prepublishOnly:"bun run build"},dependencies:{"@ai-sdk/alibaba":"^1.0.29","@ai-sdk/anthropic":"^3.0.85","@ai-sdk/cerebras":"^2.0.57","@ai-sdk/deepseek":"^2.0.39","@ai-sdk/fireworks":"^2.0.57","@ai-sdk/google":"^3.0.83","@ai-sdk/groq":"^3.0.42","@ai-sdk/mcp":"^1.0.52","@ai-sdk/mistral":"^3.0.40","@ai-sdk/moonshotai":"^2.0.26","@ai-sdk/openai":"^3.0.73","@ai-sdk/openai-compatible":"^2.0.51","@ai-sdk/togetherai":"^2.0.56","@ai-sdk/xai":"^3.0.96","@effect/cluster":"^0.59.0","@effect/platform":"^0.96.2","@effect/platform-node":"^0.107.0","@effect/rpc":"^0.75.1","@effect/sql":"^0.51.1","@modelcontextprotocol/sdk":"^1.29.0","@openrouter/ai-sdk-provider":"^2.9.1","@perplexity-ai/perplexity_ai":"^0.33.0","@tavily/core":"^0.7.6","@toon-format/toon":"^2.3.0",ai:"^6.0.208",chalk:"^5.6.2","cli-highlight":"^2.1.11",commander:"^15.0.0","cron-parser":"^5.5.0",cronstrue:"^3.20.0",diff:"^9.0.0",effect:"^3.21.4","exa-js":"^2.14.0","fast-glob":"^3.3.3","gpt-tokenizer":"^3.4.0","gray-matter":"^4.0.3",ink:"^7.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.1","ink-select-input":"^6.2.0","ink-spinner":"^5.0.0","linkup-sdk":"^3.2.5",marked:"^18.0.5","marked-terminal":"^7.3.0","node-emoji":"^2.2.0","ollama-ai-provider-v2":"^3.6.0","parallel-web":"^1.1.0","pdf-parse":"^2.4.5",plist:"^5.0.0",react:"^19.2.7",semver:"^7.8.4","short-uuid":"^6.0.3","vercel-minimax-ai-provider":"^0.0.2","wrap-ansi":"^10.0.0",zod:"^4.4.3"},devDependencies:{"@types/bun":"^1.3.14","@types/ink-big-text":"^1.2.4","@types/ink-gradient":"^2.0.4","@types/marked":"^6.0.0","@types/marked-terminal":"^6.1.1","@types/node":"^26.0.0","@types/react":"^19.2.17",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-n":"^18.1.0","eslint-plugin-prettier":"^5.5.6",prettier:"^3.8.4",typescript:"^6.0.3","typescript-eslint":"^8.61.1"},engines:{node:">=22.16.0",npm:">=10.0.0"},files:["dist/","vendor/terminal-notifier/","personas/","skills/","workflows/","README.md","LICENSE"]}});var bZG,WZG=()=>{return Object.assign((I)=>I,{[bZG]:bZG,option:(I)=>lI(I),either:(I)=>dG(I),is:(I)=>!0})};var lZG=g(()=>{bV();nZ();bZG=Symbol.for("effect/Brand/Refined")});var fmI,smI,YZG;var NZG=g(()=>{s4();fmI=OI,smI=nG,YZG=xI});var VZG,cZG,XZG;var dZG=g(()=>{Mi();VZG=DK,cZG=SK,XZG=RrI});var omI=(I,G)=>{switch(G._tag){case"StringKeyword":case"TemplateLiteral":return Object.keys(I);case"SymbolKeyword":return Object.getOwnPropertySymbols(I);case"Refinement":return omI(I,G.from)}},M6=(I)=>{let G=!1,Z;return()=>{if(G)return Z;return Z=I(),G=!0,Z}},rmI=(I)=>Array.isArray(I),QZG=(I)=>!Array.isArray(I),FZG=(I)=>`[${OJ(I)}]`,Kf=(I)=>rmI(I)?I.map(FZG).join(""):FZG(I);var K6=g(()=>{cY()});var Fv=(I,G,Z,b)=>{let W=I;if(Z&&pl(Z))W+=`
67
+ `)}),this}_outputHelpIfRequested(I){let G=this._getHelpOption();if(G&&I.find((b)=>G.is(b)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}});var k4W;var ZZG=g(()=>{Bf();GZG();O6();_mI();PmI();k4W=new $z});var Zd;var Mf=g(()=>{Zd={name:"jazz-ai",version:"0.12.6",description:"Your terminal. Your agent. Your rules.",license:"MIT",main:"dist/main.js",types:"dist/main.d.ts",type:"module",bin:{jazz:"./dist/main.js"},author:{name:"lvndry",email:"lvndry@proton.me",url:"https://github.com/lvndry"},homepage:"https://github.com/lvndry/jazz",repository:{type:"git",url:"https://github.com/lvndry/jazz.git"},bugs:{url:"https://github.com/lvndry/jazz/issues"},keywords:["cli","agents","automation","agentic","typescript","effect-ts","ai","llm","workflow","email","git","productivity","assistant","task-automation","developer-tools","ai-assistant","ai-agent","mcp","mcp-server","agent-skills"],scripts:{build:"bun run scripts/build.ts",typecheck:"bun run tsc --noEmit",dev:"bun --watch src/main.ts",start:"bun dist/main.js",cli:"bun src/main.ts",prepare:"git config core.hooksPath .githooks || true",lint:"bun eslint src --cache","lint:fix":"bun eslint src --fix --cache",format:"bun prettier --write src",test:"bun test","test:watch":"bun test --watch","test:typecheck":"bunx tsc --project tsconfig.test.json",clean:"rm -rf dist",prebuild:"bun run clean",prepublishOnly:"bun run build"},dependencies:{"@ai-sdk/alibaba":"^1.0.29","@ai-sdk/anthropic":"^3.0.85","@ai-sdk/cerebras":"^2.0.57","@ai-sdk/deepseek":"^2.0.39","@ai-sdk/fireworks":"^2.0.57","@ai-sdk/google":"^3.0.83","@ai-sdk/groq":"^3.0.42","@ai-sdk/mcp":"^1.0.52","@ai-sdk/mistral":"^3.0.40","@ai-sdk/moonshotai":"^2.0.26","@ai-sdk/openai":"^3.0.73","@ai-sdk/openai-compatible":"^2.0.51","@ai-sdk/togetherai":"^2.0.56","@ai-sdk/xai":"^3.0.96","@effect/cluster":"^0.59.0","@effect/platform":"^0.96.2","@effect/platform-node":"^0.107.0","@effect/rpc":"^0.75.1","@effect/sql":"^0.51.1","@modelcontextprotocol/sdk":"^1.29.0","@openrouter/ai-sdk-provider":"^2.9.1","@perplexity-ai/perplexity_ai":"^0.33.0","@tavily/core":"^0.7.6","@toon-format/toon":"^2.3.0",ai:"^6.0.208",chalk:"^5.6.2","cli-highlight":"^2.1.11",commander:"^15.0.0","cron-parser":"^5.5.0",cronstrue:"^3.20.0",diff:"^9.0.0",effect:"^3.21.4","exa-js":"^2.14.0","fast-glob":"^3.3.3","gpt-tokenizer":"^3.4.0","gray-matter":"^4.0.3",ink:"^7.1.0","ink-big-text":"^2.0.0","ink-gradient":"^4.0.1","ink-select-input":"^6.2.0","ink-spinner":"^5.0.0","linkup-sdk":"^3.2.5",marked:"^18.0.5","marked-terminal":"^7.3.0","node-emoji":"^2.2.0","ollama-ai-provider-v2":"^3.6.0","parallel-web":"^1.1.0","pdf-parse":"^2.4.5",plist:"^5.0.0",react:"^19.2.7",semver:"^7.8.4","short-uuid":"^6.0.3","vercel-minimax-ai-provider":"^0.0.2","wrap-ansi":"^10.0.0",zod:"^4.4.3"},devDependencies:{"@types/bun":"^1.3.14","@types/ink-big-text":"^1.2.4","@types/ink-gradient":"^2.0.4","@types/marked":"^6.0.0","@types/marked-terminal":"^6.1.1","@types/node":"^26.0.0","@types/react":"^19.2.17",eslint:"^10.5.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.2","eslint-plugin-n":"^18.1.0","eslint-plugin-prettier":"^5.5.6",prettier:"^3.8.4",typescript:"^6.0.3","typescript-eslint":"^8.61.1"},engines:{node:">=22.16.0",npm:">=10.0.0"},files:["dist/","vendor/terminal-notifier/","personas/","skills/","workflows/","README.md","LICENSE"]}});var bZG,WZG=()=>{return Object.assign((I)=>I,{[bZG]:bZG,option:(I)=>lI(I),either:(I)=>dG(I),is:(I)=>!0})};var lZG=g(()=>{bV();nZ();bZG=Symbol.for("effect/Brand/Refined")});var fmI,smI,YZG;var NZG=g(()=>{s4();fmI=OI,smI=nG,YZG=xI});var VZG,cZG,XZG;var dZG=g(()=>{Mi();VZG=DK,cZG=SK,XZG=RrI});var omI=(I,G)=>{switch(G._tag){case"StringKeyword":case"TemplateLiteral":return Object.keys(I);case"SymbolKeyword":return Object.getOwnPropertySymbols(I);case"Refinement":return omI(I,G.from)}},M6=(I)=>{let G=!1,Z;return()=>{if(G)return Z;return Z=I(),G=!0,Z}},rmI=(I)=>Array.isArray(I),QZG=(I)=>!Array.isArray(I),FZG=(I)=>`[${OJ(I)}]`,Kf=(I)=>rmI(I)?I.map(FZG).join(""):FZG(I);var K6=g(()=>{cY()});var Fv=(I,G,Z,b)=>{let W=I;if(Z&&pl(Z))W+=`
68
68
  at path: ${Kf(Z)}`;if(G!==void 0)W+=`
69
69
  details: ${G}`;if(b)W+=`
70
70
  schema (${b._tag}): ${b}`;return W},tmI=(I,G,Z)=>Fv("Unsupported schema or overlapping types",`cannot extend ${I} with ${G}`,Z),mZG=(I)=>Fv("Unsupported key schema",void 0,void 0,I),RZG=(I)=>Fv("Unsupported literal",`literal value: ${fd(I)}`),emI=(I)=>Fv("Duplicate index signature",`${I} index signature`),HZG,hZG,IRI=(I)=>Fv("Duplicate property signature transformation",`Duplicate key ${fd(I)}`),jf=(I)=>Fv("Duplicate property signature",`Duplicate key ${fd(I)}`);var GRI=g(()=>{XY();cY();K6();HZG=Fv("Unsupported index signature parameter","An index signature parameter type must be `string`, `symbol`, a template literal type or a refinement of the previous types"),hZG=Fv("Invalid element","A required element cannot follow an optional element. ts(1257)")});var JZG;var vZG=g(()=>{JZG=Symbol.for("effect/SchemaId/DateFromSelf")});class iz{typeParameters;decodeUnknown;encodeUnknown;annotations;_tag="Declaration";constructor(I,G,Z,b={}){this.typeParameters=I,this.decodeUnknown=G,this.encodeUnknown=Z,this.annotations=b}toString(){return Nb(yH(this),()=>"<declaration schema>")}toJSON(){return{_tag:this._tag,typeParameters:this.typeParameters.map((I)=>I.toJSON()),annotations:uN(this.annotations)}}}class fz{literal;annotations;_tag="Literal";constructor(I,G={}){this.literal=I,this.annotations=G}toString(){return Nb(yH(this),()=>fd(this.literal))}toJSON(){return{_tag:this._tag,literal:BJ(this.literal)?String(this.literal):this.literal,annotations:uN(this.annotations)}}}class qf{symbol;annotations;_tag="UniqueSymbol";constructor(I,G={}){this.symbol=I,this.annotations=G}toString(){return Nb(yH(this),()=>fd(this.symbol))}toJSON(){return{_tag:this._tag,symbol:String(this.symbol),annotations:uN(this.annotations)}}}class MZG{annotations;_tag="UndefinedKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class KZG{annotations;_tag="VoidKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class aZG{annotations;_tag="NeverKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class jZG{annotations;_tag="UnknownKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class DZG{annotations;_tag="AnyKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class TZG{annotations;_tag="StringKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class SZG{annotations;_tag="NumberKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class _ZG{annotations;_tag="BooleanKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class nZG{annotations;_tag="BigIntKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class PZG{annotations;_tag="SymbolKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class iZG{annotations;_tag="ObjectKeyword";constructor(I={}){this.annotations=I}toString(){return FR(this)}toJSON(){return{_tag:this._tag,annotations:uN(this.annotations)}}}class q6{type;annotations;constructor(I,G={}){this.type=I,this.annotations=G}toJSON(){return{type:this.type.toJSON(),annotations:uN(this.annotations)}}toString(){return String(this.type)}}class $f{elements;rest;isReadonly;annotations;_tag="TupleType";constructor(I,G,Z,b={}){this.elements=I,this.rest=G,this.isReadonly=Z,this.annotations=b;let W=!1,l=!1;for(let Y of I)if(Y.isOptional)W=!0;else if(W){l=!0;break}if(l||W&&G.length>1)throw Error(hZG)}toString(){return Nb(yH(this),()=>cKZ(this))}toJSON(){return{_tag:this._tag,elements:this.elements.map((I)=>I.toJSON()),rest:this.rest.map((I)=>I.toJSON()),isReadonly:this.isReadonly,annotations:uN(this.annotations)}}}class sz{type;isReadonly;parameter;constructor(I,G,Z){if(this.type=G,this.isReadonly=Z,sZG(I))this.parameter=I;else throw Error(HZG)}toString(){return(this.isReadonly?"readonly ":"")+`[x: ${this.parameter}]: ${this.type}`}toJSON(){return{parameter:this.parameter.toJSON(),type:this.type.toJSON(),isReadonly:this.isReadonly}}}class dR{annotations;_tag="TypeLiteral";propertySignatures;indexSignatures;constructor(I,G,Z={}){this.annotations=Z;let b={};for(let l=0;l<I.length;l++){let Y=I[l].name;if(Object.prototype.hasOwnProperty.call(b,Y))throw Error(jf(Y));b[Y]=null}let W={string:!1,symbol:!1};for(let l=0;l<G.length;l++){let Y=URI(G[l].parameter);if(nf(Y)){if(W.string)throw Error(emI("string"));W.string=!0}else if($ZG(Y)){if(W.symbol)throw Error(emI("symbol"));W.symbol=!0}}this.propertySignatures=I,this.indexSignatures=G}toString(){return Nb(yH(this),()=>XKZ(this))}toJSON(){return{_tag:this._tag,propertySignatures:this.propertySignatures.map((I)=>I.toJSON()),indexSignatures:this.indexSignatures.map((I)=>I.toJSON()),annotations:uN(this.annotations)}}}class d0{types;annotations;static make=(I,G)=>{return ff(I)?new d0(I,G):I.length===1?I[0]:Sf};static unify=(I,G)=>{return d0.make(QKZ(oZG(I)),G)};_tag="Union";constructor(I,G={}){this.types=I,this.annotations=G}toString(){return Nb(yH(this),()=>this.types.map(String).join(" | "))}toJSON(){return{_tag:this._tag,types:this.types.map((I)=>I.toJSON()),annotations:uN(this.annotations)}}}class oz{f;annotations;_tag="Suspend";constructor(I,G={}){this.f=I,this.annotations=G,this.f=M6(I)}toString(){return yH(this).pipe(xX(()=>LN(i3(this.f)(),(I)=>yH(I))),Nb(()=>"<suspended schema>"))}toJSON(){let I=this.f(),G=ZRI.get(I);if(G)return G;return ZRI.set(I,{_tag:this._tag}),G={_tag:this._tag,ast:I.toJSON(),annotations:uN(this.annotations)},ZRI.set(I,G),G}}class rz{from;filter;annotations;_tag="Refinement";constructor(I,G,Z={}){this.from=I,this.filter=G,this.annotations=Z}toString(){return D6(this).pipe(Nb(()=>TG(lbG(this),{onNone:()=>`{ ${this.from} | filter }`,onSome:(I)=>Qv(this.from)?String(this.from)+" & "+I:I})))}toJSON(){return{_tag:this._tag,from:this.from.toJSON(),annotations:uN(this.annotations)}}}class mv{from;to;transformation;annotations;_tag="Transformation";constructor(I,G,Z,b={}){this.from=I,this.to=G,this.transformation=Z,this.annotations=b}toString(){return Nb(yH(this),()=>`(${String(this.from)} <-> ${String(this.to)})`)}toJSON(){return{_tag:this._tag,from:this.from.toJSON(),to:this.to.toJSON(),annotations:uN(this.annotations)}}}class rf{decode;encode;_tag="FinalTransformation";constructor(I,G){this.decode=I,this.encode=G}}class eZG{_tag="ComposeTransformation"}class zRI{from;to;decode;encode;constructor(I,G,Z,b){this.from=I,this.to=G,this.decode=Z,this.encode=b}}class T6{propertySignatureTransformations;_tag="TypeLiteralTransformation";constructor(I){this.propertySignatureTransformations=I;let G={},Z={};for(let b of I){let W=b.from;if(G[W])throw Error(IRI(W));G[W]=!0;let l=b.to;if(Z[l])throw Error(IRI(l));Z[l]=!0}}}function vQ(I,G){let Z=!1,b=f3(I.length);for(let W=0;W<I.length;W++){let l=I[W],Y=G(l);if(Y!==l)Z=!0;b[W]=Y}return Z?b:I}function JKZ(I){return TG(zZG(I),{onNone:()=>"",onSome:(G)=>G.map((Z)=>` & Brand<${fd(Z)}>`).join("")})}var yZG,CZG,AZG,WRI,Df,a6,bd,Ry,rh,lRI,YRI,NRI,VRI,cRI,XRI,LZG,dRI,FRI,QRI,mRI,RRI,j6,pZG,F0,zZG,kZG,uZG,HRI,hRI,D6,wRI,gZG,UZG,BZG,OZG,xZG,JRI,ZKZ,vRI=(I)=>SYI(ZKZ(I),(G)=>G===!0),ERI,bKZ,WKZ=(I)=>xX(bKZ(I),()=>D6(I)),th=(I)=>(G)=>G._tag===I,Hy,Tf,lKZ,Sf,yRI,qZG,_f,nf,Pf,CRI,ARI,LRI,YKZ,NKZ,$ZG,VKZ,hy,fZG=(I)=>I.map((G)=>G.type),cKZ=(I)=>{let G=I.elements.map(String).join(", ");return _MI(I.rest,{onEmpty:()=>`readonly [${G}]`,onNonEmpty:(Z,b)=>{let W=String(Z),l=W.includes(" | ")?`(${W})`:W;if(b.length>0){let Y=b.map(String).join(", ");if(I.elements.length>0)return`readonly [${G}, ...${l}[], ${Y}]`;else return`readonly [...${l}[], ${Y}]`}else if(I.elements.length>0)return`readonly [${G}, ...${l}[]]`;else return`ReadonlyArray<${W}>`}})},q2,sZG=(I)=>{switch(I._tag){case"StringKeyword":case"SymbolKeyword":case"TemplateLiteral":return!0;case"Refinement":return sZG(I.from)}return!1},EZG=(I)=>I.map(String).join("; "),XKZ=(I)=>{if(I.propertySignatures.length>0){let G=I.propertySignatures.map(String).join("; ");if(I.indexSignatures.length>0)return`{ ${G}; ${EZG(I.indexSignatures)} }`;else return`{ ${G} }`}else if(I.indexSignatures.length>0)return`{ ${EZG(I.indexSignatures)} }`;else return"{}"},pRI,dKZ,FKZ,oZG=(I)=>s3(I,(G)=>sf(G)?oZG(G.types):[G]),QKZ=(I)=>{let G=dKZ(I),Z=[],b={},W=[];for(let l of G)switch(l._tag){case"NeverKeyword":break;case"AnyKeyword":return[qZG];case"UnknownKeyword":return[yRI];case"ObjectKeyword":case"UndefinedKeyword":case"VoidKeyword":case"StringKeyword":case"NumberKeyword":case"BooleanKeyword":case"BigIntKeyword":case"SymbolKeyword":{if(!b[l._tag])b[l._tag]=l,Z.push(l);break}case"Literal":{let Y=typeof l.literal;switch(Y){case"string":case"number":case"bigint":case"boolean":{let N=FKZ[Y];if(!b[N]&&!W.includes(l.literal))W.push(l.literal),Z.push(l);break}case"object":{if(!W.includes(l.literal))W.push(l.literal),Z.push(l);break}}break}case"UniqueSymbol":{if(!b.SymbolKeyword&&!W.includes(l.symbol))W.push(l.symbol),Z.push(l);break}case"TupleType":{if(!b.ObjectKeyword)Z.push(l);break}case"TypeLiteral":{if(l.propertySignatures.length===0&&l.indexSignatures.length===0){if(!b["{}"])b["{}"]=l,Z.push(l)}else if(!b.ObjectKeyword)Z.push(l);break}default:Z.push(l)}return Z},rZG=(I,G)=>I.map(G),ff=(I)=>I.length>1,sf,ZRI,Qv,of,tZG,mKZ=(I)=>(G)=>G._tag===I,IbG,kRI,tf=(I,G)=>{let Z=Object.getOwnPropertyDescriptors(I),b={...I.annotations};delete b[a6];let W={...b,...G},l=JRI(I);if(rG(l))W[j6]=tf(l.value,G);return Z.annotations.value=W,Object.create(Object.getPrototypeOf(I),Z)},RKZ="[\\s\\S]*?",HKZ="[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?",GbG=(I,G)=>{switch(I._tag){case"Literal":return yp(String(I.literal));case"StringKeyword":return RKZ;case"NumberKeyword":return HKZ;case"TemplateLiteral":return ZbG(I,G,!1);case"Union":return I.types.map((Z)=>GbG(Z,G)).join("|")}},hKZ=(I,G,Z,b)=>{if(sf(I)){if(Z&&!b)return`(?:${G})`}else if(!Z||!b)return G;return`(${G})`},ZbG=(I,G,Z)=>{let b="";if(I.head!==""){let W=yp(I.head);b+=G&&Z?`(${W})`:W}for(let W of I.spans){let l=GbG(W.type,G);if(b+=hKZ(W.type,l,G,Z),W.literal!==""){let Y=yp(W.literal);b+=G&&Z?`(${Y})`:Y}}return b},bbG=(I)=>new RegExp(`^${ZbG(I,!1,!0)}$`),uRI=(I,G)=>{let Z=[],b=[],W=(l)=>{switch(l._tag){case"NeverKeyword":break;case"StringKeyword":case"SymbolKeyword":case"TemplateLiteral":case"Refinement":b.push(new sz(l,G,!0));break;case"Literal":if(k2(l.literal)||D0(l.literal))Z.push(new q2(l.literal,G,!1,!0));else throw Error(RZG(l.literal));break;case"Enums":{for(let[Y,N]of l.enums)Z.push(new q2(N,G,!1,!0));break}case"UniqueSymbol":Z.push(new q2(l.symbol,G,!1,!0));break;case"Union":l.types.forEach(W);break;default:throw Error(mZG(l))}};return W(I),{propertySignatures:Z,indexSignatures:b}},gRI=(I)=>(G)=>{let Z=void 0;for(let b of I)if(Object.prototype.hasOwnProperty.call(G.annotations,b)){if(Z===void 0)Z={};Z[b]=G.annotations[b]}return Z},WbG=(I)=>(G)=>{let Z={...G.annotations};for(let b of I)delete Z[b];return Z},wKZ,$N=(I)=>{switch(I._tag){case"Declaration":{let G=vQ(I.typeParameters,$N);return G===I.typeParameters?I:new iz(G,I.decodeUnknown,I.encodeUnknown,I.annotations)}case"TupleType":{let G=vQ(I.elements,(W)=>{let l=$N(W.type);return l===W.type?W:new hy(l,W.isOptional)}),Z=fZG(I.rest),b=vQ(Z,$N);return G===I.elements&&b===Z?I:new $f(G,b.map((W)=>new q6(W)),I.isReadonly,I.annotations)}case"TypeLiteral":{let G=vQ(I.propertySignatures,(b)=>{let W=$N(b.type);return W===b.type?b:new q2(b.name,W,b.isOptional,b.isReadonly)}),Z=vQ(I.indexSignatures,(b)=>{let W=$N(b.type);return W===b.type?b:new sz(b.parameter,W,b.isReadonly)});return G===I.propertySignatures&&Z===I.indexSignatures?I:new dR(G,Z,I.annotations)}case"Union":{let G=vQ(I.types,$N);return G===I.types?I:d0.make(G,I.annotations)}case"Suspend":return new oz(()=>$N(I.f()),I.annotations);case"Refinement":{let G=$N(I.from);return G===I.from?I:new rz(G,I.filter,I.annotations)}case"Transformation":{let G=wKZ(I);return $N(G!==void 0?tf(I.to,G):I.to)}}return I},bRI=(I)=>{switch(I._tag){case"Transformation":return I.from;case"Refinement":return bRI(I.from);case"Suspend":return bRI(I.f())}},EH=(I,G)=>{switch(I._tag){case"Declaration":{let Z=vQ(I.typeParameters,(b)=>EH(b,G));return Z===I.typeParameters?I:new iz(Z,I.decodeUnknown,I.encodeUnknown)}case"TupleType":{let Z=vQ(I.elements,(l)=>{let Y=EH(l.type,G);return Y===l.type?l:new hy(Y,l.isOptional)}),b=fZG(I.rest),W=vQ(b,(l)=>EH(l,G));return Z===I.elements&&W===b?I:new $f(Z,W.map((l)=>new q6(l)),I.isReadonly)}case"TypeLiteral":{let Z=vQ(I.propertySignatures,(W)=>{let l=EH(W.type,G);return l===W.type?W:new q2(W.name,l,W.isOptional,W.isReadonly)}),b=vQ(I.indexSignatures,(W)=>{let l=EH(W.type,G);return l===W.type?W:new sz(W.parameter,l,W.isReadonly)});return Z===I.propertySignatures&&b===I.indexSignatures?I:new dR(Z,b)}case"Union":{let Z=vQ(I.types,(b)=>EH(b,G));return Z===I.types?I:d0.make(Z)}case"Suspend":{let Z=void 0,b=WKZ(I);if(rG(b)){let W=G?"Bound":"";Z={[ERI]:`${b.value}Encoded${W}`}}return new oz(()=>EH(I.f(),G),Z)}case"Refinement":{let Z=EH(I.from,G);if(G){if(Z===I.from)return I;if(bRI(I.from)===void 0&&vRI(I))return new rz(Z,I.filter,I.annotations);return Z}else return Z}case"Transformation":return EH(I.from,G)}return I},S6=(I)=>EH(I,!1),uN=(I)=>{let G={};for(let Z of Object.getOwnPropertySymbols(I))G[String(Z)]=I[Z];return G},URI=(I)=>{switch(I._tag){case"StringKeyword":case"SymbolKeyword":case"TemplateLiteral":return I;case"Refinement":return URI(I.from)}},FR=(I)=>Nb(yH(I),()=>I._tag),lbG=(I)=>HRI(I).pipe(xX(()=>wRI(I)),xX(()=>hRI(I)),UW((G)=>G+JKZ(I))),yH=(I)=>xX(D6(I),()=>lbG(I));var BRI=g(()=>{XY();sI();cY();GRI();K6();v4();nZ();xJ();DZ();VVI();yZG=Symbol.for("effect/annotation/TypeConstructor"),CZG=Symbol.for("effect/annotation/Brand"),AZG=Symbol.for("effect/annotation/SchemaId"),WRI=Symbol.for("effect/annotation/Message"),Df=Symbol.for("effect/annotation/MissingMessage"),a6=Symbol.for("effect/annotation/Identifier"),bd=Symbol.for("effect/annotation/Title"),Ry=Symbol.for("effect/annotation/AutoTitle"),rh=Symbol.for("effect/annotation/Description"),lRI=Symbol.for("effect/annotation/Examples"),YRI=Symbol.for("effect/annotation/Default"),NRI=Symbol.for("effect/annotation/JSONSchema"),VRI=Symbol.for("effect/annotation/Arbitrary"),cRI=Symbol.for("effect/annotation/Pretty"),XRI=Symbol.for("effect/annotation/Equivalence"),LZG=Symbol.for("effect/annotation/Documentation"),dRI=Symbol.for("effect/annotation/Concurrency"),FRI=Symbol.for("effect/annotation/Batching"),QRI=Symbol.for("effect/annotation/ParseIssueTitle"),mRI=Symbol.for("effect/annotation/ParseOptions"),RRI=Symbol.for("effect/annotation/DecodingFallback"),j6=Symbol.for("effect/annotation/Surrogate"),pZG=Symbol.for("effect/annotation/StableFilter"),F0=p(2,(I,G)=>Object.prototype.hasOwnProperty.call(I.annotations,G)?lI(I.annotations[G]):FI()),zZG=F0(CZG),kZG=F0(WRI),uZG=F0(Df),HRI=F0(bd),hRI=F0(Ry),D6=F0(a6),wRI=F0(rh),gZG=F0(dRI),UZG=F0(FRI),BZG=F0(QRI),OZG=F0(mRI),xZG=F0(RRI),JRI=F0(j6),ZKZ=F0(pZG),ERI=Symbol.for("effect/annotation/JSONIdentifier"),bKZ=F0(ERI);Hy=th("Literal");Tf=new MZG({[bd]:"undefined"});lKZ=new KZG({[bd]:"void"});Sf=new aZG({[bd]:"never"});yRI=new jZG({[bd]:"unknown"});qZG=new DZG({[bd]:"any"});_f=new TZG({[bd]:"string",[rh]:"a string"}),nf=th("StringKeyword");Pf=new SZG({[bd]:"number",[rh]:"a number"}),CRI=th("NumberKeyword");ARI=new _ZG({[bd]:"boolean",[rh]:"a boolean"}),LRI=th("BooleanKeyword");YKZ=new nZG({[bd]:"bigint",[rh]:"a bigint"});NKZ=new PZG({[bd]:"symbol",[rh]:"a symbol"}),$ZG=th("SymbolKeyword");VKZ=new iZG({[bd]:"object",[rh]:"an object in the TypeScript meaning, i.e. the `object` type"});hy=class hy extends q6{isOptional;constructor(I,G,Z={}){super(I,Z);this.isOptional=G}toJSON(){return{type:this.type.toJSON(),isOptional:this.isOptional,annotations:uN(this.annotations)}}toString(){return String(this.type)+(this.isOptional?"?":"")}};q2=class q2 extends hy{name;isReadonly;constructor(I,G,Z,b,W){super(G,Z,W);this.name=I,this.isReadonly=b}toString(){return(this.isReadonly?"readonly ":"")+String(this.name)+(this.isOptional?"?":"")+": "+this.type}toJSON(){return{name:String(this.name),type:this.type.toJSON(),isOptional:this.isOptional,isReadonly:this.isReadonly,annotations:uN(this.annotations)}}};pRI=th("TypeLiteral"),dKZ=dc(T1(K2,(I)=>{switch(I._tag){case"AnyKeyword":return 0;case"UnknownKeyword":return 1;case"ObjectKeyword":return 2;case"StringKeyword":case"NumberKeyword":case"BooleanKeyword":case"BigIntKeyword":case"SymbolKeyword":return 3}return 4})),FKZ={string:"StringKeyword",number:"NumberKeyword",boolean:"BooleanKeyword",bigint:"BigIntKeyword"};sf=th("Union"),ZRI=cZ(Symbol.for("effect/Schema/AST/toJSONMemoMap"),()=>new WeakMap);Qv=th("Refinement"),of={};tZG=th("Transformation");IbG=new eZG;kRI=mKZ("TypeLiteralTransformation"),wKZ=gRI([lRI,YRI,NRI,VRI,cRI,XRI])});class hV{path;actual;issue;_tag="Pointer";constructor(I,G,Z){this.path=I,this.actual=G,this.issue=Z}}class MRI{actual;message;_tag="Unexpected";constructor(I,G){this.actual=I,this.message=G}}class tz{ast;message;_tag="Missing";actual=void 0;constructor(I,G){this.ast=I,this.message=G}}class gN{ast;actual;issues;output;_tag="Composite";constructor(I,G,Z,b){this.ast=I,this.actual=G,this.issues=Z,this.output=b}}class Is{ast;actual;kind;issue;_tag="Refinement";constructor(I,G,Z,b){this.ast=I,this.actual=G,this.kind=Z,this.issue=b}}class Gs{ast;actual;kind;issue;_tag="Transformation";constructor(I,G,Z,b){this.ast=I,this.actual=G,this.kind=Z,this.issue=b}}class XF{ast;actual;message;_tag="Type";constructor(I,G,Z){this.ast=I,this.actual=G,this.message=Z}}class KRI{ast;actual;message;_tag="Forbidden";constructor(I,G,Z){this.ast=I,this.actual=G,this.message=Z}}function QR(I){return I.sort(pKZ).map((G)=>G[1])}function BKZ(I){return wRI(I).pipe(xX(()=>HRI(I)),xX(()=>hRI(I)),xX(()=>D6(I)),Nb(()=>`{ ${I.from} | filter }`))}function OKZ(I){if(I.message!==void 0)return I.message;return`Expected ${Qv(I.ast)?BKZ(I.ast):String(I.ast)}, actual ${fd(I.actual)}`}var NbG,XbG,dbG=(I)=>new XbG({issue:I}),Ik,jRI,Wd,eh,ld,Zs,FbG,bs=(I,G)=>{if(G===void 0||D0(G))return I;if(I===void 0)return G;return{...I,...G}},vKZ=(I,G,Z)=>{let b=iV(I,G);return(W,l)=>b(W,bs(Z,l))},EKZ=(I,G,Z)=>{let b=vKZ(I,G,Z);return(W,l)=>jL(b(W,l),dbG)},yKZ=(I,G,Z)=>{let b=iV(I,G);return(W,l)=>b(W,{...bs(Z,l),isEffectAllowed:!0})},QbG=(I,G)=>yKZ(I.ast,!1,G),Ws=(I,G)=>EKZ($N(I.ast),!0,G),mbG=(I,G)=>{let Z=iV($N(I.ast),!0);return(b,W)=>$c(Z(b,{exact:!0,...bs(G,W)}))},CKZ,AKZ,iV=(I,G)=>{let Z=G?CKZ:AKZ,b=Z.get(I);if(b)return b;let W=LKZ(I,G),l=OZG(I),Y=rG(l)?(X,d)=>W(X,bs(d,l.value)):W,N=xZG(I),c=G&&rG(N)?(X,d)=>n6(FbG(Y(X,d),N.value),I,X,d):Y;return Z.set(I,c),c},ORI=(I)=>jY(gZG(I)),xRI=(I)=>jY(UZG(I)),LKZ=(I,G)=>{switch(I._tag){case"Refinement":if(G){let Z=iV(I.from,!0);return(b,W)=>{W=W??of;let l=W?.errors==="all",Y=eh(FbG(Z(b,W),(N)=>{let c=new Is(I,b,"From",N);if(l&&vRI(I)&&JbG(N))return TG(I.filter(b,W,I),{onNone:()=>FG(c),onSome:(X)=>FG(new gN(I,b,[c,new Is(I,b,"Predicate",X)]))});return FG(c)}),(N)=>TG(I.filter(N,W,I),{onNone:()=>dG(N),onSome:(c)=>FG(new Is(I,b,"Predicate",c))}));return n6(Y,I,b,W)}}else{let Z=iV($N(I),!0),b=iV(HbG(I.from),!1);return(W,l)=>n6(eh(Z(W,l),(Y)=>b(Y,l)),I,W,l)}case"Transformation":{let Z=zKZ(I.transformation,G),b=G?iV(I.from,!0):iV(I.to,!1),W=G?iV(I.to,!0):iV(I.from,!1);return(l,Y)=>n6(eh(Zs(b(l,Y),(N)=>new Gs(I,l,G?"Encoded":"Type",N)),(N)=>eh(Zs(Z(N,Y??of,I,l),(c)=>new Gs(I,l,"Transformation",c)),(c)=>Zs(W(c,Y),(X)=>new Gs(I,l,G?"Type":"Encoded",X)))),I,l,Y)}case"Declaration":{let Z=G?I.decodeUnknown(...I.typeParameters):I.encodeUnknown(...I.typeParameters);return(b,W)=>n6(Z(b,W??of,I),I,b,W)}case"Literal":return cF(I,(Z)=>Z===I.literal);case"UniqueSymbol":return cF(I,(Z)=>Z===I.symbol);case"UndefinedKeyword":return cF(I,GMI);case"NeverKeyword":return cF(I,ZMI);case"UnknownKeyword":case"AnyKeyword":case"VoidKeyword":return dG;case"StringKeyword":return cF(I,k2);case"NumberKeyword":return cF(I,D0);case"BooleanKeyword":return cF(I,Pd);case"BigIntKeyword":return cF(I,BJ);case"SymbolKeyword":return cF(I,M3);case"ObjectKeyword":return cF(I,aV);case"Enums":return cF(I,(Z)=>I.enums.some(([b,W])=>W===Z));case"TemplateLiteral":{let Z=bbG(I);return cF(I,(b)=>k2(b)&&Z.test(b))}case"TupleType":{let Z=I.elements.map((X)=>iV(X.type,G)),b=I.rest.map((X)=>iV(X.type,G)),W=I.elements.filter((X)=>!X.isOptional);if(I.rest.length>0)W=W.concat(I.rest.slice(1));let l=W.length,Y=I.elements.length>0?I.elements.map((X,d)=>d).join(" | "):"never",N=ORI(I),c=xRI(I);return(X,d)=>{if(!$YI(X))return FG(new XF(I,X));let F=d?.errors==="all",Q=[],m=0,R=[],H=X.length;for(let J=H;J<=l-1;J++){let y=new hV(J,X,new tz(W[J-H]));if(F){Q.push([m++,y]);continue}else return FG(new gN(I,X,y,R))}if(I.rest.length===0)for(let J=I.elements.length;J<=H-1;J++){let y=new hV(J,X,new MRI(X[J],`is unexpected, expected: ${Y}`));if(F){Q.push([m++,y]);continue}else return FG(new gN(I,X,y,R))}let h=0,E=void 0;for(;h<Z.length;h++)if(H<h+1){if(I.elements[h].isOptional)continue}else{let J=Z[h],y=J(X[h],d);if(Wd(y)){if(VW(y)){let v=new hV(h,X,y.left);if(F){Q.push([m++,v]);continue}else return FG(new gN(I,X,v,QR(R)))}R.push([m++,y.right])}else{let v=m++,A=h;if(!E)E=[];E.push(({es:u,output:L})=>aI(_4(y),(z)=>{if(VW(z)){let O=new hV(A,X,z.left);if(F)return u.push([v,O]),AZ;else return FG(new gN(I,X,O,QR(L)))}return L.push([v,z.right]),AZ}))}}if(pl(b)){let[J,...y]=b;for(;h<H-y.length;h++){let v=J(X[h],d);if(Wd(v))if(VW(v)){let A=new hV(h,X,v.left);if(F){Q.push([m++,A]);continue}else return FG(new gN(I,X,A,QR(R)))}else R.push([m++,v.right]);else{let A=m++,u=h;if(!E)E=[];E.push(({es:L,output:z})=>aI(_4(v),(O)=>{if(VW(O)){let U=new hV(u,X,O.left);if(F)return L.push([A,U]),AZ;else return FG(new gN(I,X,U,QR(z)))}else return z.push([A,O.right]),AZ}))}}for(let v=0;v<y.length;v++){let A=h+v;if(H<A+1)continue;else{let u=y[v](X[A],d);if(Wd(u)){if(VW(u)){let L=new hV(A,X,u.left);if(F){Q.push([m++,L]);continue}else return FG(new gN(I,X,L,QR(R)))}R.push([m++,u.right])}else{let L=m++;if(!E)E=[];E.push(({es:z,output:O})=>aI(_4(u),(U)=>{if(VW(U)){let x=new hV(A,X,U.left);if(F)return z.push([L,x]),AZ;else return FG(new gN(I,X,x,QR(O)))}return O.push([L,U.right]),AZ}))}}}}let C=({es:J,output:y})=>_1(J)?FG(new gN(I,X,QR(J),QR(y))):dG(QR(y));if(E&&E.length>0){let J=E;return pb(()=>{let y={es:qL(Q),output:qL(R)};return aI(D2(J,(v)=>v(y),{concurrency:N,batching:c,discard:!0}),()=>C(y))})}return C({output:R,es:Q})}}case"TypeLiteral":{if(I.propertySignatures.length===0&&I.indexSignatures.length===0)return cF(I,bMI);let Z=[],b={},W=[];for(let d of I.propertySignatures)Z.push([iV(d.type,G),d]),b[d.name]=null,W.push(d.name);let l=I.indexSignatures.map((d)=>[iV(d.parameter,G),iV(d.type,G),d.parameter]),Y=d0.make(I.indexSignatures.map((d)=>d.parameter).concat(W.map((d)=>M3(d)?new qf(d):new fz(d)))),N=iV(Y,G),c=ORI(I),X=xRI(I);return(d,F)=>{if(!HYI(d))return FG(new XF(I,d));let Q=F?.errors==="all",m=[],R=0,H=F?.onExcessProperty==="error",h=F?.onExcessProperty==="preserve",E={},C;if(H||h){C=Reflect.ownKeys(d);for(let A of C){let u=N(A,F);if(Wd(u)&&VW(u))if(H){let L=new hV(A,d,new MRI(d[A],`is unexpected, expected: ${String(Y)}`));if(Q){m.push([R++,L]);continue}else return FG(new gN(I,d,L,E))}else E[A]=d[A]}}let J=void 0,y=F?.exact===!0;for(let A=0;A<Z.length;A++){let u=Z[A][1],L=u.name,z=Object.prototype.hasOwnProperty.call(d,L);if(!z){if(u.isOptional)continue;else if(y){let x=new hV(L,d,new tz(u));if(Q){m.push([R++,x]);continue}else return FG(new gN(I,d,x,E))}}let O=Z[A][0],U=O(d[L],F);if(Wd(U)){if(VW(U)){let x=new hV(L,d,z?U.left:new tz(u));if(Q){m.push([R++,x]);continue}else return FG(new gN(I,d,x,E))}E[L]=U.right}else{let x=R++,D=L;if(!J)J=[];J.push(({es:a,output:j})=>aI(_4(U),(q)=>{if(VW(q)){let r=new hV(D,d,z?q.left:new tz(u));if(Q)return a.push([x,r]),AZ;else return FG(new gN(I,d,r,j))}return j[D]=q.right,AZ}))}}for(let A=0;A<l.length;A++){let u=l[A],L=u[0],z=u[1],O=omI(d,u[2]);for(let U of O){let x=L(U,F);if(Wd(x)&&$c(x)){let D=z(d[U],F);if(Wd(D)){if(VW(D)){let a=new hV(U,d,D.left);if(Q){m.push([R++,a]);continue}else return FG(new gN(I,d,a,E))}else if(!Object.prototype.hasOwnProperty.call(b,U))E[U]=D.right}else{let a=R++,j=U;if(!J)J=[];J.push(({es:q,output:r})=>aI(_4(D),(_)=>{if(VW(_)){let i=new hV(j,d,_.left);if(Q)return q.push([a,i]),AZ;else return FG(new gN(I,d,i,r))}else{if(!Object.prototype.hasOwnProperty.call(b,U))r[U]=_.right;return AZ}}))}}}}let v=({es:A,output:u})=>{if(_1(A))return FG(new gN(I,d,QR(A),u));if(F?.propertyOrder==="original"){let L=C||Reflect.ownKeys(d);for(let O of W)if(L.indexOf(O)===-1)L.push(O);let z={};for(let O of L)if(Object.prototype.hasOwnProperty.call(u,O))z[O]=u[O];return dG(z)}return dG(u)};if(J&&J.length>0){let A=J;return pb(()=>{let u={es:qL(m),output:Object.assign({},E)};return aI(D2(A,(L)=>L(u),{concurrency:c,batching:X,discard:!0}),()=>v(u))})}return v({es:m,output:E})}}case"Union":{let Z=RbG(I.types,G),b=Reflect.ownKeys(Z.keys),W=b.length,l=I.types.length,Y=new Map;for(let X=0;X<l;X++)Y.set(I.types[X],iV(I.types[X],G));let N=ORI(I)??1,c=xRI(I);return(X,d)=>{let F=[],Q=0,m=[];if(W>0)if(pO(X))for(let h=0;h<W;h++){let E=b[h],C=Z.keys[E].buckets;if(Object.prototype.hasOwnProperty.call(X,E)){let J=String(X[E]);if(Object.prototype.hasOwnProperty.call(C,J))m=m.concat(C[J]);else{let{candidates:y,literals:v}=Z.keys[E],A=d0.make(v),u=y.length===l?new dR([new q2(E,A,!1,!0)],[]):d0.make(y);F.push([Q++,new gN(u,X,new hV(E,X,new XF(A,X[E])))])}}else{let{candidates:J,literals:y}=Z.keys[E],v=new q2(E,d0.make(y),!1,!0),A=J.length===l?new dR([v],[]):d0.make(J);F.push([Q++,new gN(A,X,new hV(E,X,new tz(v)))])}}else{let h=Z.candidates.length===l?I:d0.make(Z.candidates);F.push([Q++,new XF(h,X)])}if(Z.otherwise.length>0)m=m.concat(Z.otherwise);let R=void 0;for(let h=0;h<m.length;h++){let E=m[h],C=Y.get(E)(X,d);if(Wd(C)&&(!R||R.length===0))if($c(C))return C;else F.push([Q++,C.left]);else{let J=Q++;if(!R)R=[];R.push((y)=>pb(()=>{if("finalResult"in y)return AZ;else return aI(_4(C),(v)=>{if($c(v))y.finalResult=v;else y.es.push([J,v.left]);return AZ})}))}}let H=(h)=>_1(h)?h.length===1&&h[0][1]._tag==="Type"?FG(h[0][1]):FG(new gN(I,X,QR(h))):FG(new XF(I,X));if(R&&R.length>0){let h=R;return pb(()=>{let E={es:qL(F)};return aI(D2(h,(C)=>C(E),{concurrency:N,batching:c,discard:!0}),()=>{if("finalResult"in E)return E.finalResult;return H(E.es)})})}return H(F)}}case"Suspend":{let Z=M6(()=>iV(I.f(),G));return(b,W)=>Z()(b,W)}}},cF=(I,G)=>(Z)=>G(Z)?dG(Z):FG(new XF(I,Z)),_6=(I,G)=>{switch(I._tag){case"Declaration":{let Z=JRI(I);if(rG(Z))return _6(Z.value,G);break}case"TypeLiteral":{let Z=[];for(let b=0;b<I.propertySignatures.length;b++){let W=I.propertySignatures[b],l=G?S6(W.type):$N(W.type);if(Hy(l)&&!W.isOptional)Z.push([W.name,l])}return Z}case"TupleType":{let Z=[];for(let b=0;b<I.elements.length;b++){let W=I.elements[b],l=G?S6(W.type):$N(W.type);if(Hy(l)&&!W.isOptional)Z.push([b,l])}return Z}case"Refinement":return _6(I.from,G);case"Suspend":return _6(I.f(),G);case"Transformation":return _6(G?I.from:I.to,G)}return[]},RbG=(I,G)=>{let Z={},b=[],W=[];for(let l=0;l<I.length;l++){let Y=I[l],N=_6(Y,G);if(N.length>0){W.push(Y);for(let c=0;c<N.length;c++){let[X,d]=N[c],F=String(d.literal);Z[X]=Z[X]||{buckets:{},literals:[],candidates:[]};let Q=Z[X].buckets;if(Object.prototype.hasOwnProperty.call(Q,F)){if(c<N.length-1)continue;Q[F].push(Y),Z[X].literals.push(d),Z[X].candidates.push(Y)}else{Q[F]=[Y],Z[X].literals.push(d),Z[X].candidates.push(Y);break}}}else b.push(Y)}return{keys:Z,otherwise:b,candidates:W}},HbG=(I)=>Qv(I)?HbG(I.from):I,n6=(I,G,Z,b)=>{if(b?.isEffectAllowed===!0)return I;if(Wd(I))return I;let W=new GM,l=RK(I,{scheduler:W});W.flush();let Y=l.unsafePoll();if(Y){if(YQ(Y))return dG(Y.value);let N=Y.cause;if(i2I(N))return FG(N.error);return FG(new KRI(G,Z,r2I(N)))}return FG(new KRI(G,Z,"cannot be be resolved synchronously, this is caused by using runSync on an effect that performs async work"))},pKZ=([I],[G])=>I>G?1:I<G?-1:0,zKZ=(I,G)=>{switch(I._tag){case"FinalTransformation":return G?I.decode:I.encode;case"ComposeTransformation":return dG;case"TypeLiteralTransformation":return(Z)=>{let b=dG(Z);for(let W of I.propertySignatureTransformations){let[l,Y]=G?[W.from,W.to]:[W.to,W.from],N=G?W.decode:W.encode;b=ld(b,(X)=>{let d=N(Object.prototype.hasOwnProperty.call(X,l)?lI(X[l]):FI());if(delete X[l],rG(d))X[Y]=d.value;return X})}return b}}},bX=(I,G=[])=>({value:I,forest:G}),P6,kKZ=(I)=>I.value+hbG(`
@@ -418,7 +418,7 @@ ${VFG}
418
418
  <available_skills>
419
419
  ${m}
420
420
  </available_skills>
421
- ${h}`;Q=Q+E}return this.systemPromptCache.set(W,Q),Q}.bind(this))}buildUserPrompt(I,G,Z){return w.gen(function*(){return(yield*this.resolvePersona(I,Z)).userPromptTemplate.replace("{userInput}",G.userInput)}.bind(this))}buildAgentMessages(I,G,Z){return w.gen(function*(){let b=yield*this.buildSystemPrompt(I,G,Z),W=yield*this.buildUserPrompt(I,G,Z),l=[{role:"system",content:b}];if(G.conversationHistory&&G.conversationHistory.length>0){let X=G.conversationHistory.filter((d)=>d.role!=="system");l.push(...X)}let Y=G.conversationHistory?.[G.conversationHistory.length-1],N=W&&W.trim().length>0?W:G.userInput;if(!(Y?.role==="user"&&Y.content===N)&&N&&N.trim().length>0)l.push({role:"user",content:N});return l}.bind(this))}}var LfZ,mFG;var RFG=g(()=>{gI();FFG();LfZ={name:"Default Agent",description:"A general-purpose agent that can assist with various tasks.",systemPrompt:dFG,userPromptTemplate:"{userInput}"};mFG=new QFG});var Fd;var uv=g(()=>{gI();Fd=bZ.GenericTag("LLMService")});var vV=128000,Qd,gv;var ER=g(()=>{Qd={openai:[{id:"gpt-5.4-pro",displayName:"GPT-5.4 Pro"},{id:"gpt-5.4-mini",displayName:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",displayName:"GPT-5.4 Nano"},{id:"gpt-5.4",displayName:"GPT-5.4"},{id:"gpt-5.2-pro",displayName:"GPT-5.2 Pro"},{id:"gpt-5.2",displayName:"GPT-5.2"},{id:"gpt-5.2-codex",displayName:"GPT-5.2 Codex"},{id:"gpt-5.1",displayName:"GPT-5.1"},{id:"gpt-5.1-codex",displayName:"GPT-5.1 Codex"},{id:"gpt-5.1-codex-mini",displayName:"GPT-5.1 Codex Mini"},{id:"gpt-5-pro",displayName:"GPT-5 Pro"},{id:"gpt-5",displayName:"GPT-5"},{id:"gpt-5-mini",displayName:"GPT-5 Mini"},{id:"gpt-5-nano",displayName:"GPT-5 Nano"},{id:"gpt-5-codex",displayName:"GPT-5 Codex"},{id:"gpt-4.1",displayName:"GPT-4.1"},{id:"gpt-4.1-mini",displayName:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",displayName:"GPT-4.1 Nano"},{id:"gpt-4o",displayName:"GPT-4o"},{id:"gpt-4o-mini",displayName:"GPT-4o Mini"}],anthropic:[{id:"claude-opus-4-6",displayName:"Claude Opus 4.6"},{id:"claude-opus-4-5",displayName:"Claude Opus 4.5"},{id:"claude-sonnet-4-5",displayName:"Claude Sonnet 4.5"},{id:"claude-haiku-4-5",displayName:"Claude Haiku 4.5"},{id:"claude-opus-4-1",displayName:"Claude Opus 4.1"}],google:[{id:"gemini-3-pro-preview",displayName:"Gemini 3 Pro"},{id:"gemini-3-flash-preview",displayName:"Gemini 3 Flash"},{id:"gemini-2.5-pro",displayName:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",displayName:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",displayName:"Gemini 2.5 Flash Lite"}],openrouter:[],xai:[{id:"grok-4-1-fast-reasoning",displayName:"Grok 4.1 Fast (Reasoning)"},{id:"grok-4-1-fast-non-reasoning",displayName:"Grok 4.1 Fast (Non-Reasoning)"},{id:"grok-4-fast-reasoning",displayName:"Grok 4 Fast (Reasoning)"},{id:"grok-4-fast-non-reasoning",displayName:"Grok 4 Fast (Non-Reasoning)"},{id:"grok-code-fast-1",displayName:"Grok Code Fast"},{id:"grok-4-0709",displayName:"Grok 4 (0709)"},{id:"grok-3-mini",displayName:"Grok 3 Mini"}],ai_gateway:[],alibaba:[{id:"qwen3-max",displayName:"Qwen3 Max"},{id:"qwen3-plus",displayName:"Qwen3 Plus"},{id:"qwen-plus",displayName:"Qwen Plus"},{id:"qwen-turbo",displayName:"Qwen Turbo"},{id:"qwen-max",displayName:"Qwen Max"}],cerebras:[],deepseek:[{id:"deepseek-chat",displayName:"DeepSeek Chat"}],fireworks:[],groq:[],llamacpp:[],minimax:[{id:"MiniMax-M2",displayName:"MiniMax M2"},{id:"MiniMax-M2-Stable",displayName:"MiniMax M2 Stable"}],mistral:[{id:"mistral-large-latest",displayName:"Mistral Large"},{id:"mistral-medium-latest",displayName:"Mistral Medium"},{id:"mistral-small-latest",displayName:"Mistral Small"},{id:"ministral-14b-latest",displayName:"Ministral 14B"},{id:"ministral-8b-latest",displayName:"Ministral 8B"},{id:"ministral-3b-latest",displayName:"Ministral 3B"},{id:"magistral-medium-latest",displayName:"Magistral Medium"},{id:"magistral-small-latest",displayName:"Magistral Small"}],moonshotai:[{id:"kimi-k2.5",displayName:"Kimi K2.5"},{id:"kimi-k2",displayName:"Kimi K2"},{id:"kimi-k2-thinking",displayName:"Kimi K2 Thinking"},{id:"kimi-k2-thinking-turbo",displayName:"Kimi K2 Thinking Turbo"},{id:"kimi-k2-turbo",displayName:"Kimi K2 Turbo"},{id:"moonshot-v1-128k",displayName:"Moonshot V1 128K"},{id:"moonshot-v1-32k",displayName:"Moonshot V1 32K"},{id:"moonshot-v1-8k",displayName:"Moonshot V1 8K"}],ollama:[],togetherai:[]},gv=Object.keys(Qd)});function HFG(I){let G=I.toLowerCase().trim(),Z=[G],b=G.split(":")[0];if(typeof b==="string"&&b!==G)Z.push(b);if(G.includes("/")){let W=G.indexOf("/"),l=G.slice(W+1),Y=G.slice(0,W);if(l)Z.push(l);if(Y&&l)Z.push(`${Y}:${l}`)}return Z}function kfZ(I){let G=new Map;for(let[Z,b]of Object.entries(I)){let W=b.models;if(!W||typeof W!=="object")continue;let l=Z.toLowerCase().trim();for(let[Y,N]of Object.entries(W)){if(!N||typeof N!=="object")continue;let c=N.limit?.context,X=typeof c==="number"&&c>0?c:vV,d=typeof N.cost?.input==="number"&&N.cost.input>=0?N.cost.input:void 0,F=typeof N.cost?.output==="number"&&N.cost.output>=0?N.cost.output:void 0,Q=Array.isArray(N.modalities?.input)?N.modalities.input:[],m={contextWindow:X,supportsTools:Boolean(N.tool_call),isReasoningModel:Boolean(N.reasoning),supportsVision:Q.includes("image"),supportsPdf:Q.includes("pdf"),...d!==void 0&&{inputPricePerMillion:d},...F!==void 0&&{outputPricePerMillion:F}},R=Y.toLowerCase().trim();G.set(R,m),G.set(`${l}:${R}`,m)}}return G}async function qy(){let I=Date.now();if(dw!==null&&I<p5I)return dw;try{let G=await fetch(pfZ,{headers:{Accept:"application/json"}});if(!G.ok)return dw;let Z=await G.json();if(!Z||typeof Z!=="object")return dw;return dw=kfZ(Z),p5I=I+zfZ,dw}catch{return dw}}function uH(I,G,Z){if(!I)return;let b=G.toLowerCase().trim();if(Z){let W=Z.toLowerCase().trim();for(let l of HFG(b)){let Y=I.get(`${W}:${l}`);if(Y)return Y}}for(let W of HFG(G)){let l=I.get(W);if(l)return l}return}async function EV(I,G){let Z=await qy();return uH(Z,I,G)}function zo(I,G){if(dw===null||Date.now()>=p5I)return;return uH(dw,I,G)}var pfZ="https://models.dev/api.json",zfZ=3600000,dw=null,p5I=0;var yR=g(()=>{ER()});var hFG,wFG,ufZ,JFG;var vFG=g(()=>{hFG=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~",[161],[162],[163],[164],[165],[166],[167],[168],[169],[170],[171],[172],[174],[175],[176],[177],[178],[179],[180],[181],[182],[183],[184],[185],[186],[187],[188],[189],[190],[191],[192],[193],[194],[195],[196],[197],[198],[199],[200],[201],[202],[203],[204],[205],[206],[207],[208],[209],[210],[211],[212],[213],[214],[215],[216],[217],[218],[219],[220],[221],[222],[223],[224],[225],[226],[227],[228],[229],[230],[231],[232],[233],[234],[235],[236],[237],[238],[239],[240],[241],[242],[243],[244],[245],[246],[247],[248],[249],[250],[251],[252],[253],[254],[255],"\x00","\x01","\x02","\x03","\x04","\x05","\x06","\x07","\b","\t",`
421
+ ${h}`;Q=Q+E}return this.systemPromptCache.set(W,Q),Q}.bind(this))}buildUserPrompt(I,G,Z){return w.gen(function*(){return(yield*this.resolvePersona(I,Z)).userPromptTemplate.replace("{userInput}",G.userInput)}.bind(this))}buildAgentMessages(I,G,Z){return w.gen(function*(){let b=yield*this.buildSystemPrompt(I,G,Z),W=yield*this.buildUserPrompt(I,G,Z),l=[{role:"system",content:b}];if(G.conversationHistory&&G.conversationHistory.length>0){let X=G.conversationHistory.filter((d)=>d.role!=="system");l.push(...X)}let Y=G.conversationHistory?.[G.conversationHistory.length-1],N=W&&W.trim().length>0?W:G.userInput;if(!(Y?.role==="user"&&Y.content===N)&&N&&N.trim().length>0)l.push({role:"user",content:N});return l}.bind(this))}}var LfZ,mFG;var RFG=g(()=>{gI();FFG();LfZ={name:"Default Agent",description:"A general-purpose agent that can assist with various tasks.",systemPrompt:dFG,userPromptTemplate:"{userInput}"};mFG=new QFG});var Fd;var uv=g(()=>{gI();Fd=bZ.GenericTag("LLMService")});var vV=128000,Qd,gv;var ER=g(()=>{Qd={openai:[{id:"gpt-5.4-pro",displayName:"GPT-5.4 Pro"},{id:"gpt-5.4-mini",displayName:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",displayName:"GPT-5.4 Nano"},{id:"gpt-5.4",displayName:"GPT-5.4"},{id:"gpt-5.2-pro",displayName:"GPT-5.2 Pro"},{id:"gpt-5.2",displayName:"GPT-5.2"},{id:"gpt-5.2-codex",displayName:"GPT-5.2 Codex"},{id:"gpt-5.1",displayName:"GPT-5.1"},{id:"gpt-5.1-codex",displayName:"GPT-5.1 Codex"},{id:"gpt-5.1-codex-mini",displayName:"GPT-5.1 Codex Mini"},{id:"gpt-5-pro",displayName:"GPT-5 Pro"},{id:"gpt-5",displayName:"GPT-5"},{id:"gpt-5-mini",displayName:"GPT-5 Mini"},{id:"gpt-5-nano",displayName:"GPT-5 Nano"},{id:"gpt-5-codex",displayName:"GPT-5 Codex"},{id:"gpt-4.1",displayName:"GPT-4.1"},{id:"gpt-4.1-mini",displayName:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",displayName:"GPT-4.1 Nano"},{id:"gpt-4o",displayName:"GPT-4o"},{id:"gpt-4o-mini",displayName:"GPT-4o Mini"}],anthropic:[{id:"claude-opus-4-6",displayName:"Claude Opus 4.6"},{id:"claude-opus-4-5",displayName:"Claude Opus 4.5"},{id:"claude-sonnet-4-5",displayName:"Claude Sonnet 4.5"},{id:"claude-haiku-4-5",displayName:"Claude Haiku 4.5"},{id:"claude-opus-4-1",displayName:"Claude Opus 4.1"}],google:[{id:"gemini-3-pro-preview",displayName:"Gemini 3 Pro"},{id:"gemini-3-flash-preview",displayName:"Gemini 3 Flash"},{id:"gemini-2.5-pro",displayName:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",displayName:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",displayName:"Gemini 2.5 Flash Lite"}],openrouter:[],xai:[{id:"grok-4-1-fast-reasoning",displayName:"Grok 4.1 Fast (Reasoning)"},{id:"grok-4-1-fast-non-reasoning",displayName:"Grok 4.1 Fast (Non-Reasoning)"},{id:"grok-4-fast-reasoning",displayName:"Grok 4 Fast (Reasoning)"},{id:"grok-4-fast-non-reasoning",displayName:"Grok 4 Fast (Non-Reasoning)"},{id:"grok-code-fast-1",displayName:"Grok Code Fast"},{id:"grok-4-0709",displayName:"Grok 4 (0709)"},{id:"grok-3-mini",displayName:"Grok 3 Mini"}],ai_gateway:[],alibaba:[{id:"qwen3-max",displayName:"Qwen3 Max"},{id:"qwen3-plus",displayName:"Qwen3 Plus"},{id:"qwen-plus",displayName:"Qwen Plus"},{id:"qwen-turbo",displayName:"Qwen Turbo"},{id:"qwen-max",displayName:"Qwen Max"}],cerebras:[],deepseek:[{id:"deepseek-chat",displayName:"DeepSeek Chat"}],fireworks:[],groq:[],llamacpp:[],minimax:[{id:"MiniMax-M2",displayName:"MiniMax M2"},{id:"MiniMax-M2-Stable",displayName:"MiniMax M2 Stable"}],mistral:[{id:"mistral-large-latest",displayName:"Mistral Large"},{id:"mistral-medium-latest",displayName:"Mistral Medium"},{id:"mistral-small-latest",displayName:"Mistral Small"},{id:"ministral-14b-latest",displayName:"Ministral 14B"},{id:"ministral-8b-latest",displayName:"Ministral 8B"},{id:"ministral-3b-latest",displayName:"Ministral 3B"},{id:"magistral-medium-latest",displayName:"Magistral Medium"},{id:"magistral-small-latest",displayName:"Magistral Small"}],moonshotai:[{id:"kimi-k2.5",displayName:"Kimi K2.5"},{id:"kimi-k2",displayName:"Kimi K2"},{id:"kimi-k2-thinking",displayName:"Kimi K2 Thinking"},{id:"kimi-k2-thinking-turbo",displayName:"Kimi K2 Thinking Turbo"},{id:"kimi-k2-turbo",displayName:"Kimi K2 Turbo"},{id:"moonshot-v1-128k",displayName:"Moonshot V1 128K"},{id:"moonshot-v1-32k",displayName:"Moonshot V1 32K"},{id:"moonshot-v1-8k",displayName:"Moonshot V1 8K"}],ollama:[],togetherai:[]},gv=Object.keys(Qd)});function HFG(I){let G=I.toLowerCase().trim(),Z=[G],b=G.split(":")[0];if(typeof b==="string"&&b!==G)Z.push(b);if(G.includes("/")){let W=G.indexOf("/"),l=G.slice(W+1),Y=G.slice(0,W);if(l)Z.push(l);if(Y&&l)Z.push(`${Y}:${l}`)}return Z}function kfZ(I){let G=new Map;for(let[Z,b]of Object.entries(I)){let W=b.models;if(!W||typeof W!=="object")continue;let l=Z.toLowerCase().trim();for(let[Y,N]of Object.entries(W)){if(!N||typeof N!=="object")continue;let c=N.limit?.context,X=typeof c==="number"&&c>0?c:vV,d=typeof N.cost?.input==="number"&&N.cost.input>=0?N.cost.input:void 0,F=typeof N.cost?.output==="number"&&N.cost.output>=0?N.cost.output:void 0,Q=Array.isArray(N.modalities?.input)?N.modalities.input:[],m={contextWindow:X,supportsTools:Boolean(N.tool_call),isReasoningModel:Boolean(N.reasoning),supportsVision:Q.includes("image"),supportsPdf:Q.includes("pdf"),supportsTemperature:N.temperature!==!1,...d!==void 0&&{inputPricePerMillion:d},...F!==void 0&&{outputPricePerMillion:F}},R=Y.toLowerCase().trim();G.set(R,m),G.set(`${l}:${R}`,m)}}return G}async function qy(){let I=Date.now();if(dw!==null&&I<p5I)return dw;try{let G=await fetch(pfZ,{headers:{Accept:"application/json"}});if(!G.ok)return dw;let Z=await G.json();if(!Z||typeof Z!=="object")return dw;return dw=kfZ(Z),p5I=I+zfZ,dw}catch{return dw}}function uH(I,G,Z){if(!I)return;let b=G.toLowerCase().trim();if(Z){let W=Z.toLowerCase().trim();for(let l of HFG(b)){let Y=I.get(`${W}:${l}`);if(Y)return Y}}for(let W of HFG(G)){let l=I.get(W);if(l)return l}return}async function EV(I,G){let Z=await qy();return uH(Z,I,G)}function zo(I,G){if(dw===null||Date.now()>=p5I)return;return uH(dw,I,G)}var pfZ="https://models.dev/api.json",zfZ=3600000,dw=null,p5I=0;var yR=g(()=>{ER()});var hFG,wFG,ufZ,JFG;var vFG=g(()=>{hFG=["!",'"',"#","$","%","&","'","(",")","*","+",",","-",".","/","0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","?","@","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","[","\\","]","^","_","`","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","{","|","}","~",[161],[162],[163],[164],[165],[166],[167],[168],[169],[170],[171],[172],[174],[175],[176],[177],[178],[179],[180],[181],[182],[183],[184],[185],[186],[187],[188],[189],[190],[191],[192],[193],[194],[195],[196],[197],[198],[199],[200],[201],[202],[203],[204],[205],[206],[207],[208],[209],[210],[211],[212],[213],[214],[215],[216],[217],[218],[219],[220],[221],[222],[223],[224],[225],[226],[227],[228],[229],[230],[231],[232],[233],[234],[235],[236],[237],[238],[239],[240],[241],[242],[243],[244],[245],[246],[247],[248],[249],[250],[251],[252],[253],[254],[255],"\x00","\x01","\x02","\x03","\x04","\x05","\x06","\x07","\b","\t",`
422
422
  `,"\v","\f","\r","\x0E","\x0F","\x10","\x11","\x12","\x13","\x14","\x15","\x16","\x17","\x18","\x19","\x1A","\x1B","\x1C","\x1D","\x1E","\x1F"," ","",[128],[129],[130],[131],[132],[133],[134],[135],[136],[137],[138],[139],[140],[141],[142],[143],[144],[145],[146],[147],[148],[149],[150],[151],[152],[153],[154],[155],[156],[157],[158],[159],[160],[173]," "," ","in"," t"," ","er"," ","on"," a","re","at","st","en","or"," th",`
423
423
 
424
424
  `," c","le"," s","it","an","ar","al"," the",`;
@@ -7048,7 +7048,7 @@ Or update it in the interactive wizard: jazz wizard -> Update configuration`;W=n
7048
7048
  `)}function l(c){let X=iZ(c.path),d=iZ(c.content),F=c.truncated===!0,Q=[];if(X)Q.push(X);if(d){if(Q.length>0)Q.push("");Q.push(d)}if(F)Q.push(""),Q.push("[truncated]");return Q.join(`
7049
7049
  `)}function Y(c){let X=iZ(c.stdout),d=iZ(c.stderr),F=iZ(c.exitCode);if(!X&&!d)return F?`exitCode: ${F}`:"";let Q=[];if(X)Q.push(X);if(d){if(X)Q.push("");Q.push("stderr:"),Q.push(d)}if(F&&F!=="0")Q.push(""),Q.push(`exitCode: ${F}`);return Q.join(`
7050
7050
  `)}function N(c){return JSON.stringify(c,null,2)}try{let c=JSON.parse(G);if(I==="load_skill"&&typeof c==="string")return oNb(c);if(I==="load_skill_section"&&typeof c==="string")return rNb(c);if(typeof c==="string"||typeof c==="number"||typeof c==="boolean")return Z(String(c));if(c===null)return"null";if(Array.isArray(c))return Z(JSON.stringify(c,null,2));let X=c;switch(I){case"list_todos":return Z(b(X));case"manage_todos":return Z(b(X)||iZ(X.message));case"context_info":return Z(W(X));case"load_skill":case"load_skill_section":{if(X.success===!0)return` ${ZI.dim("(loaded)")}`;return` ${ZI.red(`(error: ${iZ(X.error||X.result)})`)}`}case"spawn_subagent":{if(X.success===!0)return` ${ZI.dim("(sub-agent completed)")}`;return` ${ZI.red(`(error: ${iZ(X.error||X.result)})`)}`}case"git_status":{let d=iZ(X.branch),F=Array.isArray(X.modified)?X.modified.length:0,Q=Array.isArray(X.staged)?X.staged.length:0,m=[];if(d)m.push(ZI.cyan(d));if(F>0)m.push(ZI.yellow(`${F} modified`));if(Q>0)m.push(ZI.green(`${Q} staged`));return m.length>0?` ${ZI.dim("(")}${m.join(ZI.dim(", "))}${ZI.dim(")")}`:""}case"git_log":{let d=X.commits||X,F=Array.isArray(d)?d.length:0;return F>0?` ${ZI.dim(`(${F} commit${F!==1?"s":""})`)}`:""}case"git_diff":{let d=[],F=X.paths,Q=X.nameOnly===!0;if(Array.isArray(F)&&F.length>0){if(d.push(ZI.cyan(`${F.length} file${F.length!==1?"s":""}`)),Q)d.push(ZI.dim("(names only)"))}if(X.truncated===!0)d.push(ZI.yellow("truncated"));if(X.hasChanges===!1&&!Q)d.push(ZI.dim("no diff"));return d.length>0?` ${ZI.dim("(")}${d.join(ZI.dim(", "))}${ZI.dim(")")}`:""}case"grep":{let d=X.matches||X,F=Array.isArray(d)?d.length:0;return F>0?` ${ZI.dim(`(${F} match${F!==1?"es":""})`)}`:""}case"ls":{let d=X.items||X.files||X,F=Array.isArray(d)?d.length:0;return F>0?` ${ZI.dim(`(${F} item${F!==1?"s":""})`)}`:""}case"read_file":return Z(l(X));case"cd":{let d=iZ(X.path||X.currentDirectory);return d?` ${ZI.dim("→")} ${ZI.cyan(d)}`:""}case"execute_command":case"execute_execute_command":return Z(Y(X));case"http_request":{let d=X.statusCode;if(d!==void 0&&d!==null){let F=iZ(d);return F?` ${ZI.dim(`(${F})`)}`:""}return""}case"edit_file":case"execute_edit_file":case"write_file":case"execute_write_file":{let d=X.diff;if(typeof d==="string"&&d.length>0)return`
7051
- ${d}`;return""}case"read_pdf":{let{pageCount:d,pagesExtracted:F,truncated:Q,path:m,tables:R,totalLines:H}=X,h=[];if(m)h.push(`file: ${iZ(m)}`);if(Array.isArray(F)&&F.length>0)h.push(`pages: ${F.join(", ")}`);if(typeof d==="number")h.push(`total: ${d}`);if(typeof H==="number")h.push(`lines: ${H}`);if(Array.isArray(R))h.push(`tables: ${R.length}`);if(Q)h.push(ZI.yellow("truncated"));return h.length>0?` ${ZI.dim("(")}${h.join(", ")}${ZI.dim(")")}`:""}default:return Z(N(X))}}catch{return Z(G)}}var sNb=12,MEG=1200;var QD=g(()=>{C0();UR()});var ou;var ce=g(()=>{gI();ou=bZ.GenericTag("TelemetryService")});import{randomUUID as tNb}from"node:crypto";function KEG(I){let{agent:G,conversationId:Z,userId:b,provider:W,model:l,reasoningEffort:Y,maxIterations:N}=I;return{runId:tNb(),agentId:G.id,agentName:G.name,persona:G.config.persona,agentUpdatedAt:G.updatedAt,conversationId:Z,...b?{userId:b}:{},...W?{provider:W}:{},...l?{model:l}:{},...Y?{reasoningEffort:Y}:{},maxIterations:N,startedAt:new Date,totalPromptTokens:0,totalCompletionTokens:0,totalReasoningTokens:0,totalCacheReadTokens:0,totalCacheWriteTokens:0,llmRetryCount:0,toolCalls:0,toolErrors:0,toolsUsed:new Set,toolCallCounts:{},toolInvocationSequence:[],errors:[],iterationSummaries:[],currentIteration:void 0,firstTokenLatencyMs:void 0,totalToolDefinitionTokens:0,totalToolResultTokens:0,toolDefinitionsOffered:0}}function aEG(I,G){if(I.totalPromptTokens+=G.promptTokens,I.totalCompletionTokens+=G.completionTokens,G.reasoningTokens!=null)I.totalReasoningTokens+=G.reasoningTokens;if(G.cacheReadTokens!=null)I.totalCacheReadTokens+=G.cacheReadTokens;if(G.cacheWriteTokens!=null)I.totalCacheWriteTokens+=G.cacheWriteTokens}function jEG(I){Kv.calibrate(I.authoritativePromptTokens,I.messagesAtCallTime,{provider:I.provider,modelId:I.modelId})}function mD(I,G){I.llmRetryCount+=1,I.lastError=iEG(I,G,"llm-retry")}function DEG(I,G){let Z={iteration:G,toolCalls:0,toolsUsed:new Set,toolCallCounts:{},errors:[],toolSequence:[],toolDefinitionTokens:0,toolResultTokens:0,toolResultSizes:{}};I.currentIteration=Z,I.iterationSummaries.push(Z)}function qEG(I){I.currentIteration=void 0}function TEG(I,G){I.toolCalls+=1,I.toolsUsed.add(G),I.toolCallCounts[G]=(I.toolCallCounts[G]??0)+1,I.toolInvocationSequence.push(G);let Z=I.currentIteration;if(Z)Z.toolCalls+=1,Z.toolsUsed.add(G),Z.toolCallCounts[G]=(Z.toolCallCounts[G]??0)+1,Z.toolSequence.push(G)}function SEG(I,G,Z){I.toolErrors+=1,I.lastError=iEG(I,Z,`tool:${G}`)}function $9I(I){return Math.ceil(I/4)}function _EG(I,G,Z){if(I.totalToolDefinitionTokens+=G,I.toolDefinitionsOffered+=Z,I.currentIteration)I.currentIteration.toolDefinitionTokens=G}function nEG(I,G,Z){let b=$9I(Z);if(I.totalToolResultTokens+=b,I.currentIteration)I.currentIteration.toolResultTokens+=b,I.currentIteration.toolResultSizes[G]=(I.currentIteration.toolResultSizes[G]??0)+b}function PEG(I,G){if(I.firstTokenLatencyMs===void 0)I.firstTokenLatencyMs=G}function $EG(I,G){let Z=new Date,b=Z.getTime()-I.startedAt.getTime(),W=I.totalPromptTokens+I.totalCompletionTokens,l=Array.from(I.toolsUsed.values()).sort(),Y=Object.fromEntries(Object.entries(I.toolCallCounts).sort(([X],[d])=>X.localeCompare(d))),N=I.lastError&&I.lastError.trim().length>0?I.lastError:void 0,c=I.iterationSummaries.map((X)=>({iteration:X.iteration,toolCalls:X.toolCalls,toolsUsed:Array.from(X.toolsUsed.values()).sort(),toolCallCounts:Object.fromEntries(Object.entries(X.toolCallCounts).sort(([d],[F])=>d.localeCompare(F))),errors:X.errors,toolSequence:X.toolSequence,toolDefinitionTokens:X.toolDefinitionTokens,toolResultTokens:X.toolResultTokens,toolResultSizes:X.toolResultSizes}));return w.gen(function*(){yield*eNb({runId:I.runId,agentId:I.agentId,agentName:I.agentName,persona:I.persona,agentUpdatedAt:I.agentUpdatedAt,conversationId:I.conversationId,...I.userId?{userId:I.userId}:{},...I.provider?{provider:I.provider}:{},...I.model?{model:I.model}:{},...I.reasoningEffort?{reasoningEffort:I.reasoningEffort}:{},promptTokens:I.totalPromptTokens,completionTokens:I.totalCompletionTokens,totalTokens:W,...I.totalReasoningTokens>0&&{reasoningTokens:I.totalReasoningTokens},...I.totalCacheReadTokens>0&&{cacheReadTokens:I.totalCacheReadTokens},...I.totalCacheWriteTokens>0&&{cacheWriteTokens:I.totalCacheWriteTokens},iterations:G.iterationsUsed,maxIterations:I.maxIterations,finished:G.finished,startedAt:I.startedAt,endedAt:Z,durationMs:b,retryCount:I.llmRetryCount,...N?{lastError:N}:{},toolCalls:I.toolCalls,toolsUsed:l,toolErrors:I.toolErrors,toolCallCounts:Y,toolInvocationSequence:I.toolInvocationSequence,errors:I.errors,iterationSummaries:c,...I.firstTokenLatencyMs!==void 0?{firstTokenLatencyMs:I.firstTokenLatencyMs}:{},toolDefinitionTokens:I.totalToolDefinitionTokens,toolResultTokens:I.totalToolResultTokens,toolDefinitionsOffered:I.toolDefinitionsOffered}),yield*G2b(I,W,b,G)})}function eNb(I){return w.gen(function*(){let G=yield*MG,Z={runId:I.runId,agentId:I.agentId,agentName:I.agentName,persona:I.persona,agentUpdatedAt:I.agentUpdatedAt.toISOString(),conversationId:I.conversationId,userId:I.userId??"anonymous",provider:I.provider??"unknown",model:I.model??"unknown",reasoningEffort:I.reasoningEffort??"disable",iterations:I.iterations,maxIterations:I.maxIterations,finished:I.finished,retryCount:I.retryCount,...I.lastError?{lastError:I.lastError}:{},promptTokens:I.promptTokens,completionTokens:I.completionTokens,totalTokens:I.totalTokens,...I.reasoningTokens!=null&&{reasoningTokens:I.reasoningTokens},...I.cacheReadTokens!=null&&{cacheReadTokens:I.cacheReadTokens},...I.cacheWriteTokens!=null&&{cacheWriteTokens:I.cacheWriteTokens},...I.firstTokenLatencyMs!==void 0?{firstTokenLatencyMs:I.firstTokenLatencyMs}:{},toolCalls:I.toolCalls,toolErrors:I.toolErrors,toolsUsed:I.toolsUsed,toolCallCounts:I.toolCallCounts,toolInvocationSequence:I.toolInvocationSequence,errors:I.errors,iterationSummaries:I.iterationSummaries,startedAt:I.startedAt.toISOString(),endedAt:I.endedAt.toISOString(),durationMs:I.durationMs,toolDefinitionTokens:I.toolDefinitionTokens,toolResultTokens:I.toolResultTokens,toolDefinitionsOffered:I.toolDefinitionsOffered};yield*G.info("Agent token usage",Z)})}function I2b(I,G,Z,b){let W={promptTokens:I.totalPromptTokens,completionTokens:I.totalCompletionTokens,totalTokens:G,...I.totalReasoningTokens>0&&{reasoningTokens:I.totalReasoningTokens},...I.totalCacheReadTokens>0&&{cacheReadTokens:I.totalCacheReadTokens},...I.totalCacheWriteTokens>0&&{cacheWriteTokens:I.totalCacheWriteTokens},...I.totalToolDefinitionTokens>0&&{toolDefinitionTokens:I.totalToolDefinitionTokens},...I.totalToolResultTokens>0&&{toolResultTokens:I.totalToolResultTokens},...I.toolDefinitionsOffered>0&&{toolDefinitionsOffered:I.toolDefinitionsOffered}};return{runId:I.runId,agentId:I.agentId,agentName:I.agentName,conversationId:I.conversationId,...I.provider&&{provider:I.provider},...I.model&&{model:I.model},durationMs:Z,iterationsUsed:b.iterationsUsed,finished:b.finished,usage:W,toolCalls:I.toolCalls,toolErrors:I.toolErrors}}function G2b(I,G,Z,b){return w.flatMap(w.context(),(W)=>{let l=bZ.getOption(W,ou);if(l._tag==="None")return w.void;let Y=l.value,N=I2b(I,G,Z,b);return Y.recordAgentRunCompleted(N).pipe(w.catchAll(()=>w.void))}).pipe(w.catchAll(()=>w.void))}function Z2b(I){return(I instanceof Error?I.message:String(I)).replace(/\s+/g," ").trim()}function iEG(I,G,Z){let b=Z2b(G),W=Z?`${Z}: ${b}`:b;if(I.errors.push(W),I.currentIteration)I.currentIteration.errors.push(W);return W}var ru=g(()=>{gI();Il();ce();ao()});class EC{static executeTool(I,G,Z,b){return w.gen(function*(){let W=yield*Dl,l=yield*MG,Y=b,N=Y===void 0?yield*W.getTool(I).pipe(w.catchAll(()=>w.succeed(void 0))):void 0;if(Y===void 0){if(Y=N?.timeoutMs,Y===void 0&&!N?.longRunning)Y=GNG}let c=W.executeTool(I,G,Z);return yield*Y!==void 0?c.pipe(w.timeoutFail({duration:Y,onTimeout:()=>{let d=Math.round(Y/60000);return Error(`Operation timed out after '${d}m'`)}}),w.catchAll((d)=>{let F=d instanceof Error?d.message:String(d);if(F.includes("timed out"))return l.warn(`Tool timeout: ${I}: ${F}`),w.succeed({success:!1,result:null,error:F});return w.fail(d)})):c})}static executeToolCall(I,G,Z,b,W,l,Y,N){return w.gen(function*(){let c=yield*Gl,X=yield*MG;if(I.type!=="function")return{toolCallId:I.id,result:null,success:!1,name:"unknown"};let{name:d,arguments:F}=I.function;TEG(W,d);let Q=Date.now();try{let m;try{m=JSON.parse(F)}catch(L){throw Error(`Invalid JSON in tool arguments: ${L instanceof Error?L.message:String(L)}`)}let R=m&&typeof m==="object"&&!Array.isArray(m)?m:{};yield*X.logToolCall(d,R);let h=yield*(yield*Dl).getTool(d).pipe(w.catchAll(()=>w.succeed(void 0))),E=h?.longRunning===!0,C=N.has(d);if(Z.showToolExecution&&!C){let L;if(d==="web_search")L={provider:(yield*(yield*YZ).appConfig).web_search?.provider??"builtin"};if(b)yield*b.handleEvent({type:"tool_execution_start",toolName:d,toolCallId:I.id,arguments:R,...L?{metadata:L}:{},...E?{longRunning:!0}:{}});else{let z=yield*c.formatToolExecutionStart(d,R,L?{metadata:L}:void 0);yield*c.writeBlankLine(),yield*c.writeOutput(z)}}let J=yield*EC.executeTool(d,R,G,h?.timeoutMs),y=Date.now()-Q,v=d;if(JEG(J.result)){let L=J.result,U=(yield*(yield*Dl).getTool(d).pipe(w.catchAll(()=>w.succeed({riskLevel:"high-risk"})))).riskLevel,x=()=>G.getAutoApprovePolicy?.(),D=x(),a=()=>wEG(U,x())||W2b(d,G.autoApprovedTools)||b2b(d,L.executeArgs,G.autoApprovedCommands),j=a();if(j)yield*X.info("Tool auto-approved by policy",{toolName:d,executeToolName:L.executeToolName,riskLevel:U,autoApprovePolicy:D});else yield*X.debug("Tool requires approval, showing approval prompt",{toolName:d,executeToolName:L.executeToolName,riskLevel:U,autoApprovePolicy:D});let q=j?{approved:!0}:yield*c.requestApproval({toolName:d,message:L.message,executeToolName:L.executeToolName,executeArgs:L.executeArgs,...L.previewDiff?{previewDiff:L.previewDiff}:{},isAutoApproved:a});if(q.approved){if(q.alwaysApproveCommand&&G.onAutoApproveCommand)yield*G.onAutoApproveCommand(q.alwaysApproveCommand),yield*X.info("User chose to always approve command",{command:q.alwaysApproveCommand});if(q.alwaysApproveTool&&G.onAutoApproveTool)G.onAutoApproveTool(q.alwaysApproveTool),yield*X.info("User chose to always approve tool",{toolName:q.alwaysApproveTool});if(!j)yield*X.info("User approved tool execution",{toolName:d,executeToolName:L.executeToolName});let r=Date.now();if(Z.showToolExecution){let _;if(L.executeToolName==="web_search")_={provider:(yield*(yield*YZ).appConfig).web_search?.provider??"builtin"};if(b)yield*b.handleEvent({type:"tool_execution_start",toolName:d,toolCallId:I.id,arguments:L.executeArgs,..._?{metadata:_}:{}});else{let i=yield*c.formatToolExecutionStart(d,L.executeArgs,_?{metadata:_}:void 0);yield*c.writeBlankLine(),yield*c.writeOutput(i)}}yield*c.signalToolExecutionStarted(),J=yield*EC.executeTool(L.executeToolName,L.executeArgs,G),y=Date.now()-r,v=L.executeToolName,yield*X.debug("Execution tool completed after approval",{executeToolName:L.executeToolName,success:J.success,durationMs:y,autoApproved:j})}else yield*X.info("User rejected tool execution",{toolName:d,userMessage:q.userMessage}),J={success:!1,result:{rejected:!0,message:q.userMessage?.trim()||"User rejected the operation. Please acknowledge this and ask if they'd like to try something different."},error:"User rejected the operation"}}let A=JSON.stringify(J.result);if(yield*X.debug("Tool execution succeeded",{agentId:l,conversationId:Y,toolName:v,toolCallId:I.id,durationMs:y,success:J.success,resultSize:A.length,resultPreview:A.substring(0,200)}),Z.showToolExecution)if(b)yield*b.handleEvent({type:"tool_execution_complete",toolCallId:I.id,result:A,durationMs:y});else if(J.success){let L=c.formatToolResult(v,A),z=yield*c.formatToolExecutionComplete(L,y);yield*c.writeOutput(z)}else{let L=J.error||"Tool execution failed",z=yield*c.formatToolExecutionError(L,y);yield*c.writeOutput(z)}let u=J.success?J.result:{error:J.error??"Tool execution failed",result:J.result};return{toolCallId:I.id,result:u,success:J.success,name:v}}catch(m){let R=Date.now()-Q,H=m instanceof Error?m.message:String(m);if(Z.showToolExecution)if(b)yield*b.handleEvent({type:"tool_execution_complete",toolCallId:I.id,result:`Error: ${H}`,durationMs:R});else{let h=yield*c.formatToolExecutionError(H,R);yield*c.writeOutput(h)}return SEG(W,d,m),yield*X.error("Tool execution failed",{agentId:l,conversationId:Y,toolName:d,toolCallId:I.id,error:H}),{toolCallId:I.id,result:{error:H},success:!1,name:d}}})}static executeToolCalls(I,G,Z,b,W,l,Y,N,c){return w.gen(function*(){let X=yield*Gl,d=yield*MG,F=yield*Dl,Q=I.map((u)=>u.function.name),m=Array.from(new Set(Q)),R=yield*w.all(m.map((u)=>w.either(F.getTool(u))),{concurrency:FHI}),H=new Set;for(let u=0;u<m.length;u++){let L=m[u],z=R[u];if(L&&z&&c2.isRight(z)&&z.right.approvalExecuteToolName)H.add(L)}let h=Q.filter((u)=>H.has(u));if(Z.showToolExecution)if(b)yield*b.handleEvent({type:"tools_detected",toolNames:Q,toolsRequiringApproval:h,agentName:N});else{let u=yield*X.formatToolsDetected(N,Q,h);yield*X.writeOutput(u)}let E=[];for(let u of I)if(u.type==="function"){let{name:L,arguments:z}=u.function;try{let O=JSON.parse(z),U=O&&typeof O==="object"&&!Array.isArray(O)?O:{},x=Lw(L,U,{style:"plain"});E.push(x?`${L} ${x}`:L)}catch{E.push(L)}}let C=E.join(", ");yield*d.info(`${N} is using tools: ${C}`);let J=new Set(h),y=yield*w.all(I.map((u)=>w.fork(EC.executeToolCall(u,G,Z,b,W,l,Y,J))),{concurrency:FHI}),v=w.all(y.map((u)=>j2.join(u)),{concurrency:"unbounded"});if(!c)return yield*v;let A=yield*w.race(v.pipe(w.map((u)=>({type:"results",results:u}))),c.pipe(w.as({type:"interrupt"})));if(A.type==="interrupt")return yield*w.all(y.map((u)=>j2.interrupt(u)),{concurrency:"unbounded"}),yield*w.fail(new H1I({reason:"Tool execution interrupted by user"}));return A.results})}}function b2b(I,G,Z){if(!Z?.length)return!1;if(I!=="execute_command")return!1;let b=G.command;if(typeof b!=="string")return!1;let W=iu(b);return Z.some((l)=>W===l||W.startsWith(l+" "))}function W2b(I,G){if(!G?.length)return!1;return G.includes(I)}var i9I=g(()=>{gI();oY();Il();m0();Av();cN();XD();QD();ru()});function l2b(I,G){let Z=I/G;if(Z>=0.9)return{role:"user",content:`[BUDGET CRITICAL: Iteration ${I}/${G} (${Math.round(Z*100)}%). Write your final output NOW. No further research or subagent spawning. Use what you have collected so far.]`};if(Z>=0.7)return{role:"user",content:`[BUDGET WARNING: Iteration ${I}/${G} (${Math.round(Z*100)}%). Begin consolidating results. Stop spawning new research subagents. Move to consolidation and output phases.]`};return null}function Y2b(I,G=f9I){if(I.length<G)return!1;let b=I.slice(-G).map((l)=>`${l.name}:${l.arguments}`);return new Set(b).size/G<0.4}function Xe(I,G,Z,b,W){return w.acquireUseRelease(w.gen(function*(){let l=yield*MG;yield*l.setSessionId(I.sessionId);let Y=yield*kZ.make(KI.none());return{logger:l,finalizeFiberRef:Y}}),({logger:l,finalizeFiberRef:Y})=>w.gen(function*(){let{agent:N,maxIterations:c}=I,X=c??gy,d=yield*Gl,{actualConversationId:F,context:Q,tools:m,messages:R,runMetrics:H,provider:h,model:E}=G,C=yield*w.tryPromise({try:()=>EV(E,h),catch:()=>Error("Failed to fetch model metadata")}).pipe(w.catchAll(()=>w.succeed(void 0))),J=C?.contextWindow??vV,y=Ba.getConfig().maxTokens,v=Ba.getConfig().protectedRecentTurns,A=new jo({maxTokens:y,...v!==void 0&&{protectedRecentTurns:v},modelHint:{provider:h,modelId:E}});yield*l.debug("Using model context window",{model:E,provider:h,contextWindow:J,source:C?"models.dev":"default"});let u=[R[0],...R.slice(1)],L={content:"",conversationId:F},z=!1,O=!1,U=0,x=[];for(let r=0;r<X;r++){yield*w.sync(()=>DEG(H,r+1));try{if(!I.internal&&b.shouldShowThinking)yield*d.presentThinking(N.name,r===0);u=yield*Fw.compactIfNeeded(u,N,I.sessionId,F,W,J);let _;for(let f=u.length-1;f>=0;f--)if(u[f]?.role==="user"){_=u[f]?.content;break}yield*l.debug("Sending LLM request",{agentId:N.id,conversationId:F,iteration:r+1,provider:h,model:E,messageCount:u.length,toolsAvailable:m.length,reasoningEffort:N.config.reasoningEffort,lastUserMessage:_});let i=l2b(r+1,X),n=i?[...u,i]:u,T=yield*b.getCompletion(n,r);if(T.interrupted){let f=T.completion;if(L={...L,content:f.content,...f.toolCalls?{toolCalls:f.toolCalls}:{}},f.content.length>0)u.push({role:"assistant",content:f.content});yield*d.presentWarning(N.name,"generation stopped by user"),z=!0,O=!0,yield*l.debug("Interruption handled, breaking loop");break}let{completion:K}=T;if(yield*l.debug("LLM response received",{agentId:N.id,conversationId:F,iteration:r+1,contentLength:K.content.length,toolCallsCount:K.toolCalls?.length??0,tokenUsage:K.usage,contentPreview:K.content.substring(0,300)}),K.usage)aEG(H,K.usage),jEG({authoritativePromptTokens:K.usage.promptTokens,messagesAtCallTime:u,provider:h,modelId:E});if(K.toolDefinitionChars!=null)_EG(H,$9I(K.toolDefinitionChars),K.toolDefinitionCount??0);if(K.toolsDisabled)L={...L,toolsDisabled:!0};let S={role:"assistant",content:K.content,...K.toolCalls?{tool_calls:K.toolCalls.map((f)=>({id:f.id,type:f.type,function:{name:f.function.name,arguments:f.function.arguments},...f.thought_signature?{thought_signature:f.thought_signature}:{}}))}:{}};if(u.push(S),u=(yield*A.trim(u,l,N.id,F)).messages,K.toolCalls&&K.toolCalls.length>0){yield*l.info("Agent decided to use tools",{agentId:N.id,conversationId:F,iteration:r+1,toolsChosen:K.toolCalls.map(($)=>$.function.name),reasoning:K.content});for(let $ of K.toolCalls)if($.type==="function")x.push({name:$.function.name,arguments:$.function.arguments});if(x.length>f9I)x.splice(0,x.length-f9I);if(Y2b(x))yield*l.warn("Meltdown detected — injecting recovery signal",{agentId:N.id,recentTools:x.slice(-10).map(($)=>$.name)}),u.push({role:"user",content:"[MELTDOWN DETECTED: You have been repeating the same tool calls without progress. Stop the current approach. Summarize what you have found so far, identify what is still missing, and either proceed directly to output or try a fundamentally different search strategy. Do not repeat your last action.]"}),x.length=0;let f={...Q,tokenStats:{currentTokens:A.calculateTotalTokens(u),maxTokens:J},conversationMessages:u,parentAgent:N,parentMaxIterations:X,compactConversation:($)=>{u=[u[0],...$.slice(1)]}},t=yield*EC.executeToolCalls(K.toolCalls,f,Z,b.getRenderer(),H,N.id,F,N.name,b.getInterruptSignal?.()),II=new Map(t.map(($)=>[$.toolCallId,$.result])),P=[];for(let $ of K.toolCalls)if($.type==="function"&&!II.has($.id))P.push($.id);if(P.length>0)return yield*l.error("Missing tool results for some tool calls",{agentId:N.id,conversationId:F,missingToolCallIds:P,expectedCount:K.toolCalls.length,actualCount:t.length}),yield*w.fail(Error(`Missing tool results for ${P.length} tool call(s). This indicates a bug in tool execution.`));for(let $ of K.toolCalls)if($.type==="function"){let dI=II.get($.id);if(dI===void 0)yield*l.error("Tool result is undefined despite validation",{agentId:N.id,conversationId:F,toolCallId:$.id,toolName:$.function.name}),u.push({role:"tool",name:$.function.name,content:T9I($.function.name,{error:"Tool execution result was undefined"}),tool_call_id:$.id});else{let NI=T9I($.function.name,dI);u.push({role:"tool",name:$.function.name,content:NI,tool_call_id:$.id}),nEG(H,$.function.name,NI.length)}}L={...L,toolCalls:K.toolCalls,toolResults:Object.fromEntries(t.map(($)=>[$.name,$.result]))};let s=I.checkQueuedMessage?.();if(s)u.push({role:"user",content:s});continue}yield*l.info("Agent provided final response",{agentId:N.id,conversationId:F,iteration:r+1,completionLength:K.content.length,totalToolsUsed:H.toolCalls});let bI=K.content?.trim().length?K.content:K.reasoning??K.content;L={...L,content:bI,...K.reasoning?{reasoning:K.reasoning}:{}},yield*b.presentResponse(N.name,bI,K),yield*d.presentCompletion(N.name),yield*b.onComplete(N.name,K),U=r+1,z=!0;break}finally{yield*w.sync(()=>qEG(H))}}if(!z)U=X,yield*d.presentWarning(N.name,`iteration limit reached (${X}) - type 'continue' to resume`);else if(!L.content?.trim()&&!L.reasoning?.trim()&&!L.toolCalls&&!O)yield*d.presentWarning(N.name,"model returned an empty response");yield*l.debug("Finalizing agent run",{interrupted:O,finished:z});let D=yield*$EG(H,{iterationsUsed:U,finished:z}).pipe(w.catchAll((r)=>l.warn("Failed to write agent token usage log",{error:r.message})),w.fork);yield*kZ.set(Y,KI.some(D));let a=C?.inputPricePerMillion??0,j=C?.outputPricePerMillion??0,q=a>0||j>0?parseFloat((H.totalPromptTokens/1e6*a+H.totalCompletionTokens/1e6*j).toFixed(8)):void 0;return{...L,messages:u,usage:{promptTokens:H.totalPromptTokens,completionTokens:H.totalCompletionTokens},...q!==void 0?{costUSD:q}:{}}}),({logger:l,finalizeFiberRef:Y})=>w.gen(function*(){let N=yield*kZ.get(Y);if(KI.isSome(N))yield*j2.await(N.value).pipe(w.asVoid,w.catchAll(()=>w.void));yield*l.clearSessionId()}))}var f9I=10;var s9I=g(()=>{gI();ER();Il();m0();yR();hEG();i9I();K5I();Do();ru()});function o9I(I,G,Z,b,W){return w.gen(function*(){let l=yield*Fd,Y=yield*MG,N=yield*Gl,{agent:c}=I,{runMetrics:X,provider:d,model:F}=G,Q=G.maxRetries??uk,m=c.config.reasoningEffort??"disable",R=Z.showThinking&&m!=="disable",H=N.emitsToolEventsViaRenderer?.()===!0?yield*N.createStreamingRenderer({displayConfig:Z,streamingConfig:{enabled:!0},showMetrics:b,agentName:c.name,reasoningEffort:m}):null;return yield*Xe(I,G,Z,{shouldShowThinking:R,getCompletion(E,C){return w.gen(function*(){let J={model:F,messages:E,tools:G.tools,toolChoice:"auto",reasoning_effort:m,...c.config.llmApiKeys?{providerApiKeys:c.config.llmApiKeys}:{}},y=(L,z)=>N.presentStatus(L,z),v=yield*kZ.make(0),A=VD(Q,c.name,y,v);return{completion:yield*w.retry(ND(c.name,y,w.gen(function*(){try{return yield*l.createChatCompletion(d,J)}catch(L){throw mD(X,L),L}})),A).pipe(w.timeout(Ml.seconds(ma)),w.tapError((L)=>uY.isTimeoutException(L)?y(`${c.name} exceeded the maximum wait time for this step (including retries). Check connectivity or try again.`,"warning"):w.void)),interrupted:!1}})},presentResponse(E,C,J){return w.gen(function*(){let y=C;if(y&&Z.mode==="rendered")y=yield*N.renderMarkdown(y);if(y&&y.trim().length>0)yield*N.writeBlankLine(),yield*N.presentAgentResponse(c.name,y),yield*N.writeBlankLine();if(b&&J.usage){let v=[];if(J.usage.totalTokens)v.push(`Total: ${J.usage.totalTokens} tokens`);if(J.usage.promptTokens)v.push(`Prompt: ${J.usage.promptTokens}`);if(J.usage.completionTokens)v.push(`Completion: ${J.usage.completionTokens}`);if(v.length>0)yield*Y.info(`[${v.join(" | ")}]`)}})},onComplete(E,C){return w.void},getRenderer(){return H}},W)})}var fEG=g(()=>{gI();q9I();uv();Il();m0();s9I();ru()});var tu;var de=g(()=>{gI();tu=bZ.GenericTag("NotificationService")});function r9I(I,G,Z,b,W,l){return w.gen(function*(){let Y=yield*Fd,N=yield*MG,c=yield*Gl,X=yield*w.serviceOption(tu),{agent:d}=I,{runMetrics:F,provider:Q,model:m,actualConversationId:R}=G,H=G.maxRetries??uk,h=d.config.reasoningEffort??"disable",E=Z.showThinking&&h!=="disable",C={enabled:!0,...b.textBufferMs!==void 0&&{textBufferMs:b.textBufferMs}},J=yield*c.createStreamingRenderer({displayConfig:Z,streamingConfig:C,showMetrics:W,agentName:d.name,reasoningEffort:h,...I.ephemeralRegionId!==void 0&&{streamTarget:{kind:"ephemeral",regionId:I.ephemeralRegionId}}}),y=yield*r0.make(),v=()=>{w.runSync(r0.succeed(y,void 0))};yield*J.setInterruptHandler(v);let A=yield*kZ.make(void 0),u=yield*kZ.make("");return yield*Xe(I,G,Z,{shouldShowThinking:E,getCompletion(O,U){return w.gen(function*(){yield*kZ.set(A,void 0),yield*kZ.set(u,"");let x={model:m,messages:O,tools:G.tools,toolChoice:"auto",reasoning_effort:h,...d.config.llmApiKeys?{providerApiKeys:d.config.llmApiKeys}:{}},D=(K,S)=>c.presentStatus(K,S),a=yield*kZ.make(0),j=VD(H,d.name,D,a),q=yield*w.retry(ND(d.name,D,w.gen(function*(){try{return yield*Y.createStreamingChatCompletion(Q,x)}catch(K){if(mD(F,K),K instanceof RR||K instanceof bw||K instanceof yQ)yield*N.error("LLM request error",{provider:Q,model:d.config.llmModel,errorType:K._tag,message:K.message,agentId:d.id,conversationId:R});throw K}})),j).pipe(w.timeout(Ml.seconds(ma)),w.tapError((K)=>uY.isTimeoutException(K)?D(`${d.name} exceeded the maximum wait time for this step (including retries). Check connectivity or try again.`,"warning"):w.void),w.catchIf((K)=>JC(K),(K)=>w.gen(function*(){yield*N.warn("Streaming failed, falling back to non-streaming mode",{provider:Q,model:d.config.llmModel,errorType:K._tag,message:K.message,agentId:d.id,conversationId:R});let S=yield*kZ.make(0),o=VD(H,d.name,D,S),bI=yield*w.retry(ND(d.name,D,w.gen(function*(){try{return yield*Y.createChatCompletion(Q,x)}catch(f){throw mD(F,f),f}})),o).pipe(w.timeout(Ml.seconds(ma)),w.tapError((f)=>uY.isTimeoutException(f)?D(`${d.name} exceeded the maximum wait time for this step (including retries). Check connectivity or try again.`,"warning"):w.void));return{stream:sh.empty,response:w.succeed(bI),cancel:w.void}}))),r=yield*w.fork(sh.runForEach(q.stream,(K)=>w.gen(function*(){if(yield*J.handleEvent(K),K.type==="text_chunk")yield*kZ.set(u,K.accumulated);if(K.type==="complete"){if(yield*kZ.set(A,K.response),K.metrics?.firstTokenLatencyMs)PEG(F,K.metrics.firstTokenLatencyMs)}if(K.type==="error"){let S=K.error;if(yield*N.error("Stream event error",{provider:Q,model:d.config.llmModel,errorType:S._tag,message:S.message,recoverable:K.recoverable,agentId:d.id,conversationId:R}),!K.recoverable)yield*q.cancel}}))),_=yield*j2.await(r).pipe(w.raceFirst(r0.await(y)));if(yield*r0.isDone(y)){yield*q.cancel.pipe(w.catchAll((bI)=>N.debug(`Stream cancel error (safe to ignore): ${String(bI)}`))),yield*j2.interrupt(r).pipe(w.catchAll((bI)=>N.debug(`Fiber interrupt error (safe to ignore): ${String(bI)}`)));let K=yield*kZ.get(u);return yield*J.flush().pipe(w.catchAll((bI)=>N.debug(`Renderer flush error (safe to ignore): ${String(bI)}`))),{completion:(yield*kZ.get(A))??{id:"interrupted",model:m,content:K},interrupted:!0}}let n,T=_;if(YN.isFailure(T)){yield*q.cancel;let K=uY.failureOption(T.cause);if(KI.isSome(K))return yield*N.error("Stream processing failed",{error:K.value instanceof Error?K.value.message:String(K.value)}),yield*w.fail(K.value);else{let S=uY.dieOption(T.cause);if(KI.isSome(S))return yield*w.die(S.value);let o=yield*kZ.get(A);if(o)n=o;else n=yield*q.response.pipe(w.timeout(sEG),w.catchAll(()=>w.gen(function*(){return yield*q.cancel,yield*Y.createChatCompletion(Q,x)})))}}else{let K=yield*kZ.get(A);if(K)n=K;else n=yield*q.response.pipe(w.timeout(sEG),w.catchAll(()=>w.gen(function*(){return yield*q.cancel,yield*Y.createChatCompletion(Q,x)})))}return{completion:n,interrupted:!1}})},presentResponse(O,U,x){return w.void},onComplete(O,U){return w.gen(function*(){if(KI.isSome(X))yield*X.value.notify(`${O} has completed the task.`,{title:"Jazz Task Complete",sound:!0}).pipe(w.catchAll(()=>w.void))})},getRenderer(){return J},getInterruptSignal(){return r0.await(y)}},l).pipe(w.ensuring(J.setInterruptHandler(null)))})}var sEG;var oEG=g(()=>{gI();q9I();uv();Il();de();m0();cN();YD();s9I();ru();sEG=Ml.seconds(15)});var rEG=g(()=>{fEG();oEG();i9I()});function Fe(I){return I.transport===void 0||I.transport==="stdio"}function Qe(I){return I.transport==="http"}var zc;var pw=g(()=>{gI();zc=bZ.GenericTag("MCPServerManager")});function tEG(){return{name:"get_time",description:"Get current date and time. Use for scheduling, relative times (yesterday, next Monday), and timestamps.",parameters:V.object({}).strict(),riskLevel:"read-only",hidden:!1,createSummary:void 0,execute:()=>{let I=new Date,G=I.toISOString(),Z=N2b[I.getDay()],b=I.toLocaleDateString(),W=I.toLocaleTimeString(),l=Intl.DateTimeFormat().resolvedOptions().timeZone;return w.succeed({success:!0,result:{iso:G,timestamp:I.getTime(),dayOfWeek:Z,localDate:b,localTime:W,timezone:l}})}}}function eEG(){return{name:"context_info",description:"Get current context window token usage statistics.",parameters:V.object({}),riskLevel:"read-only",hidden:!1,createSummary:void 0,execute:(I,G)=>{let Z=G.tokenStats?.currentTokens??0,b=G.tokenStats?.maxTokens??50000,W=Math.round(Z/b*100),l=b-Z,Y;if(W<50)Y="Context budget is healthy. Proceed normally.";else if(W<80)Y="Context is moderately used. Consider being concise.";else Y="Context is limited. Complete current task or consider summarizing earlier context.";return w.succeed({success:!0,result:{estimatedTokensUsed:Z,maxTokens:b,remainingTokens:l,percentUsed:W,recommendation:Y}})}}}var N2b;var I3G=g(()=>{gI();Wb();N2b=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]});var QG;var YW=g(()=>{gI();QG=bZ.GenericTag("FileSystemContextService")});function UZ(I){let G=I.approvalExecuteToolName?"high-risk":"read-only";return{name:I.name,description:I.description,tags:I.tags??[],...I.aliases?{aliases:I.aliases}:{},parameters:I.parameters,hidden:I.hidden===!0,riskLevel:I.riskLevel??G,...I.approvalExecuteToolName?{approvalExecuteToolName:I.approvalExecuteToolName}:{},...I.longRunning?{longRunning:!0}:{},...I.timeoutMs!==void 0?{timeoutMs:I.timeoutMs}:{},createSummary:I.createSummary,execute(Z,b){if(I.validate){let W=I.validate(Z);if(!W.valid){let Y=(W.errors||["Invalid arguments"]).join("; ");return w.succeed({success:!1,result:null,error:Y})}let l=W.value;return I.handler(l,b)}return I.handler(Z,b)}}}function jG(I){return(G)=>{let Z=I.safeParse(G);if(!Z.success)return{valid:!1,errors:Z.error.issues.map((W)=>{let l=W.path.join(".");return l.length>0?`${l}: ${W.message}`:W.message})};return{valid:!0,value:Z.data}}}function V2b(I){return`⚠️ APPROVAL REQUIRED: ${I}`}function c2b(I){return`\uD83D\uDD27 EXECUTION TOOL: ${I}`}function gl(I){let G=`execute_${I.name}`,Z=I.riskLevel??"high-risk",b=I.validate??((N)=>{let c=I.parameters.safeParse(N);return c.success?{valid:!0,value:c.data}:{valid:!1,errors:c.error.issues.map((X)=>X.message)}}),W=I.approvalErrorMessage??`Approval required: ${I.name} requires user confirmation.`,l=UZ({name:I.name,description:V2b(I.description),...I.tags?{tags:I.tags}:{},parameters:I.parameters,riskLevel:Z,validate:b,approvalExecuteToolName:G,handler:(N,c)=>w.gen(function*(){let X=yield*I.approvalMessage(N,c);if(typeof X==="object"&&"skipApproval"in X)return X.toolResult;let d=typeof X==="string"?X:X.message,F=typeof X==="string"?void 0:X.previewDiff;return{success:!1,result:{approvalRequired:!0,message:d,previewDiff:F,executeToolName:G,executeArgs:N},error:W}})}),Y=UZ({name:G,description:c2b(`Performs the actual ${I.name} operation after user approval. This tool should only be called by the system after approval.`),hidden:!0,riskLevel:Z,parameters:I.parameters,validate:b,handler:I.handler,...I.createSummary?{createSummary:I.createSummary}:{},...I.timeoutMs!==void 0?{timeoutMs:I.timeoutMs}:{}});return{approval:l,execute:Y,all:()=>[l,Y]}}var nb=g(()=>{gI()});function aZ(I){return I.conversationId?{agentId:I.agentId,conversationId:I.conversationId}:{agentId:I.agentId}}function G3G(){let I=V.object({path:V.string().min(1).describe("Absolute or relative path to change to")}).strict();return UZ({name:"cd",description:"Change the working directory for this session. Persists across subsequent tool calls.",tags:["filesystem","navigation"],parameters:I,validate:jG(I),handler:(G,Z)=>w.gen(function*(){let b=yield*bG.FileSystem,W=yield*QG,l=yield*W.resolvePath(aZ(Z),G.path).pipe(w.catchAll(()=>w.succeed(null)));if(l===null)return{success:!1,result:null,error:`Path not found: ${G.path}`};try{if((yield*b.stat(l)).type!=="Directory")return{success:!1,result:null,error:`Not a directory: ${l}`};return yield*W.setCwd(aZ(Z),l),{success:!0,result:l}}catch(Y){return{success:!1,result:null,error:`cd failed: ${Y instanceof Error?Y.message:String(Y)}`}}})})}var Z3G=g(()=>{_b();gI();Wb();YW();nb()});function W3G(){let I={name:"cp",description:"Copy a file or directory. Equivalent to shell cp/cp -r. Directories are copied recursively.",tags:["filesystem","write"],parameters:b3G,validate:jG(b3G),approvalMessage:(G,Z)=>w.gen(function*(){let b=yield*QG,W=yield*b.resolvePath(aZ(Z),G.source),l=yield*b.resolvePath(aZ(Z),G.destination,{skipExistenceCheck:!0}),Y=G.force===!0?" (will overwrite if exists)":"";return`About to copy: ${W}
7051
+ ${d}`;return""}case"read_pdf":{let{pageCount:d,pagesExtracted:F,truncated:Q,path:m,tables:R,totalLines:H}=X,h=[];if(m)h.push(`file: ${iZ(m)}`);if(Array.isArray(F)&&F.length>0)h.push(`pages: ${F.join(", ")}`);if(typeof d==="number")h.push(`total: ${d}`);if(typeof H==="number")h.push(`lines: ${H}`);if(Array.isArray(R))h.push(`tables: ${R.length}`);if(Q)h.push(ZI.yellow("truncated"));return h.length>0?` ${ZI.dim("(")}${h.join(", ")}${ZI.dim(")")}`:""}default:return Z(N(X))}}catch{return Z(G)}}var sNb=12,MEG=1200;var QD=g(()=>{C0();UR()});var ou;var ce=g(()=>{gI();ou=bZ.GenericTag("TelemetryService")});import{randomUUID as tNb}from"node:crypto";function KEG(I){let{agent:G,conversationId:Z,userId:b,provider:W,model:l,reasoningEffort:Y,maxIterations:N}=I;return{runId:tNb(),agentId:G.id,agentName:G.name,persona:G.config.persona,agentUpdatedAt:G.updatedAt,conversationId:Z,...b?{userId:b}:{},...W?{provider:W}:{},...l?{model:l}:{},...Y?{reasoningEffort:Y}:{},maxIterations:N,startedAt:new Date,totalPromptTokens:0,totalCompletionTokens:0,totalReasoningTokens:0,totalCacheReadTokens:0,totalCacheWriteTokens:0,llmRetryCount:0,toolCalls:0,toolErrors:0,toolsUsed:new Set,toolCallCounts:{},toolInvocationSequence:[],errors:[],iterationSummaries:[],currentIteration:void 0,firstTokenLatencyMs:void 0,totalToolDefinitionTokens:0,totalToolResultTokens:0,toolDefinitionsOffered:0}}function aEG(I,G){if(I.totalPromptTokens+=G.promptTokens,I.totalCompletionTokens+=G.completionTokens,G.reasoningTokens!=null)I.totalReasoningTokens+=G.reasoningTokens;if(G.cacheReadTokens!=null)I.totalCacheReadTokens+=G.cacheReadTokens;if(G.cacheWriteTokens!=null)I.totalCacheWriteTokens+=G.cacheWriteTokens}function jEG(I){Kv.calibrate(I.authoritativePromptTokens,I.messagesAtCallTime,{provider:I.provider,modelId:I.modelId})}function mD(I,G){I.llmRetryCount+=1,I.lastError=iEG(I,G,"llm-retry")}function DEG(I,G){let Z={iteration:G,toolCalls:0,toolsUsed:new Set,toolCallCounts:{},errors:[],toolSequence:[],toolDefinitionTokens:0,toolResultTokens:0,toolResultSizes:{}};I.currentIteration=Z,I.iterationSummaries.push(Z)}function qEG(I){I.currentIteration=void 0}function TEG(I,G){I.toolCalls+=1,I.toolsUsed.add(G),I.toolCallCounts[G]=(I.toolCallCounts[G]??0)+1,I.toolInvocationSequence.push(G);let Z=I.currentIteration;if(Z)Z.toolCalls+=1,Z.toolsUsed.add(G),Z.toolCallCounts[G]=(Z.toolCallCounts[G]??0)+1,Z.toolSequence.push(G)}function SEG(I,G,Z){I.toolErrors+=1,I.lastError=iEG(I,Z,`tool:${G}`)}function $9I(I){return Math.ceil(I/4)}function _EG(I,G,Z){if(I.totalToolDefinitionTokens+=G,I.toolDefinitionsOffered+=Z,I.currentIteration)I.currentIteration.toolDefinitionTokens=G}function nEG(I,G,Z){let b=$9I(Z);if(I.totalToolResultTokens+=b,I.currentIteration)I.currentIteration.toolResultTokens+=b,I.currentIteration.toolResultSizes[G]=(I.currentIteration.toolResultSizes[G]??0)+b}function PEG(I,G){if(I.firstTokenLatencyMs===void 0)I.firstTokenLatencyMs=G}function $EG(I,G){let Z=new Date,b=Z.getTime()-I.startedAt.getTime(),W=I.totalPromptTokens+I.totalCompletionTokens,l=Array.from(I.toolsUsed.values()).sort(),Y=Object.fromEntries(Object.entries(I.toolCallCounts).sort(([X],[d])=>X.localeCompare(d))),N=I.lastError&&I.lastError.trim().length>0?I.lastError:void 0,c=I.iterationSummaries.map((X)=>({iteration:X.iteration,toolCalls:X.toolCalls,toolsUsed:Array.from(X.toolsUsed.values()).sort(),toolCallCounts:Object.fromEntries(Object.entries(X.toolCallCounts).sort(([d],[F])=>d.localeCompare(F))),errors:X.errors,toolSequence:X.toolSequence,toolDefinitionTokens:X.toolDefinitionTokens,toolResultTokens:X.toolResultTokens,toolResultSizes:X.toolResultSizes}));return w.gen(function*(){yield*eNb({runId:I.runId,agentId:I.agentId,agentName:I.agentName,persona:I.persona,agentUpdatedAt:I.agentUpdatedAt,conversationId:I.conversationId,...I.userId?{userId:I.userId}:{},...I.provider?{provider:I.provider}:{},...I.model?{model:I.model}:{},...I.reasoningEffort?{reasoningEffort:I.reasoningEffort}:{},promptTokens:I.totalPromptTokens,completionTokens:I.totalCompletionTokens,totalTokens:W,...I.totalReasoningTokens>0&&{reasoningTokens:I.totalReasoningTokens},...I.totalCacheReadTokens>0&&{cacheReadTokens:I.totalCacheReadTokens},...I.totalCacheWriteTokens>0&&{cacheWriteTokens:I.totalCacheWriteTokens},iterations:G.iterationsUsed,maxIterations:I.maxIterations,finished:G.finished,startedAt:I.startedAt,endedAt:Z,durationMs:b,retryCount:I.llmRetryCount,...N?{lastError:N}:{},toolCalls:I.toolCalls,toolsUsed:l,toolErrors:I.toolErrors,toolCallCounts:Y,toolInvocationSequence:I.toolInvocationSequence,errors:I.errors,iterationSummaries:c,...I.firstTokenLatencyMs!==void 0?{firstTokenLatencyMs:I.firstTokenLatencyMs}:{},toolDefinitionTokens:I.totalToolDefinitionTokens,toolResultTokens:I.totalToolResultTokens,toolDefinitionsOffered:I.toolDefinitionsOffered}),yield*G2b(I,W,b,G)})}function eNb(I){return w.gen(function*(){let G=yield*MG,Z={runId:I.runId,agentId:I.agentId,agentName:I.agentName,persona:I.persona,agentUpdatedAt:I.agentUpdatedAt.toISOString(),conversationId:I.conversationId,userId:I.userId??"anonymous",provider:I.provider??"unknown",model:I.model??"unknown",reasoningEffort:I.reasoningEffort??"disable",iterations:I.iterations,maxIterations:I.maxIterations,finished:I.finished,retryCount:I.retryCount,...I.lastError?{lastError:I.lastError}:{},promptTokens:I.promptTokens,completionTokens:I.completionTokens,totalTokens:I.totalTokens,...I.reasoningTokens!=null&&{reasoningTokens:I.reasoningTokens},...I.cacheReadTokens!=null&&{cacheReadTokens:I.cacheReadTokens},...I.cacheWriteTokens!=null&&{cacheWriteTokens:I.cacheWriteTokens},...I.firstTokenLatencyMs!==void 0?{firstTokenLatencyMs:I.firstTokenLatencyMs}:{},toolCalls:I.toolCalls,toolErrors:I.toolErrors,toolsUsed:I.toolsUsed,toolCallCounts:I.toolCallCounts,toolInvocationSequence:I.toolInvocationSequence,errors:I.errors,iterationSummaries:I.iterationSummaries,startedAt:I.startedAt.toISOString(),endedAt:I.endedAt.toISOString(),durationMs:I.durationMs,toolDefinitionTokens:I.toolDefinitionTokens,toolResultTokens:I.toolResultTokens,toolDefinitionsOffered:I.toolDefinitionsOffered};yield*G.info("Agent token usage",Z)})}function I2b(I,G,Z,b){let W={promptTokens:I.totalPromptTokens,completionTokens:I.totalCompletionTokens,totalTokens:G,...I.totalReasoningTokens>0&&{reasoningTokens:I.totalReasoningTokens},...I.totalCacheReadTokens>0&&{cacheReadTokens:I.totalCacheReadTokens},...I.totalCacheWriteTokens>0&&{cacheWriteTokens:I.totalCacheWriteTokens},...I.totalToolDefinitionTokens>0&&{toolDefinitionTokens:I.totalToolDefinitionTokens},...I.totalToolResultTokens>0&&{toolResultTokens:I.totalToolResultTokens},...I.toolDefinitionsOffered>0&&{toolDefinitionsOffered:I.toolDefinitionsOffered}};return{runId:I.runId,agentId:I.agentId,agentName:I.agentName,conversationId:I.conversationId,...I.provider&&{provider:I.provider},...I.model&&{model:I.model},durationMs:Z,iterationsUsed:b.iterationsUsed,finished:b.finished,usage:W,toolCalls:I.toolCalls,toolErrors:I.toolErrors}}function G2b(I,G,Z,b){return w.flatMap(w.context(),(W)=>{let l=bZ.getOption(W,ou);if(l._tag==="None")return w.void;let Y=l.value,N=I2b(I,G,Z,b);return Y.recordAgentRunCompleted(N).pipe(w.catchAll(()=>w.void))}).pipe(w.catchAll(()=>w.void))}function Z2b(I){return(I instanceof Error?I.message:String(I)).replace(/\s+/g," ").trim()}function iEG(I,G,Z){let b=Z2b(G),W=Z?`${Z}: ${b}`:b;if(I.errors.push(W),I.currentIteration)I.currentIteration.errors.push(W);return W}var ru=g(()=>{gI();Il();ce();ao()});class EC{static executeTool(I,G,Z,b){return w.gen(function*(){let W=yield*Dl,l=yield*MG,Y=b,N=Y===void 0?yield*W.getTool(I).pipe(w.catchAll(()=>w.succeed(void 0))):void 0;if(Y===void 0){if(Y=N?.timeoutMs,Y===void 0&&!N?.longRunning)Y=GNG}let c=W.executeTool(I,G,Z);return yield*Y!==void 0?c.pipe(w.timeoutFail({duration:Y,onTimeout:()=>{let d=Math.round(Y/60000);return Error(`Operation timed out after '${d}m'`)}}),w.catchAll((d)=>{let F=d instanceof Error?d.message:String(d);if(F.includes("timed out"))return l.warn(`Tool timeout: ${I}: ${F}`),w.succeed({success:!1,result:null,error:F});return w.fail(d)})):c})}static executeToolCall(I,G,Z,b,W,l,Y,N){return w.gen(function*(){let c=yield*Gl,X=yield*MG;if(I.type!=="function")return{toolCallId:I.id,result:null,success:!1,name:"unknown"};let{name:d,arguments:F}=I.function;TEG(W,d);let Q=Date.now();try{let m;try{m=JSON.parse(F)}catch(L){throw Error(`Invalid JSON in tool arguments: ${L instanceof Error?L.message:String(L)}`)}let R=m&&typeof m==="object"&&!Array.isArray(m)?m:{};yield*X.logToolCall(d,R);let h=yield*(yield*Dl).getTool(d).pipe(w.catchAll(()=>w.succeed(void 0))),E=h?.longRunning===!0,C=N.has(d);if(Z.showToolExecution&&!C){let L;if(d==="web_search")L={provider:(yield*(yield*YZ).appConfig).web_search?.provider??"builtin"};if(b)yield*b.handleEvent({type:"tool_execution_start",toolName:d,toolCallId:I.id,arguments:R,...L?{metadata:L}:{},...E?{longRunning:!0}:{}});else{let z=yield*c.formatToolExecutionStart(d,R,L?{metadata:L}:void 0);yield*c.writeBlankLine(),yield*c.writeOutput(z)}}let J=yield*EC.executeTool(d,R,G,h?.timeoutMs),y=Date.now()-Q,v=d;if(JEG(J.result)){let L=J.result,U=(yield*(yield*Dl).getTool(d).pipe(w.catchAll(()=>w.succeed({riskLevel:"high-risk"})))).riskLevel,x=()=>G.getAutoApprovePolicy?.(),D=x(),a=()=>wEG(U,x())||W2b(d,G.autoApprovedTools)||b2b(d,L.executeArgs,G.autoApprovedCommands),j=a();if(j)yield*X.info("Tool auto-approved by policy",{toolName:d,executeToolName:L.executeToolName,riskLevel:U,autoApprovePolicy:D});else yield*X.debug("Tool requires approval, showing approval prompt",{toolName:d,executeToolName:L.executeToolName,riskLevel:U,autoApprovePolicy:D});let q=j?{approved:!0}:yield*c.requestApproval({toolName:d,message:L.message,executeToolName:L.executeToolName,executeArgs:L.executeArgs,...L.previewDiff?{previewDiff:L.previewDiff}:{},isAutoApproved:a});if(q.approved){if(q.alwaysApproveCommand&&G.onAutoApproveCommand)yield*G.onAutoApproveCommand(q.alwaysApproveCommand),yield*X.info("User chose to always approve command",{command:q.alwaysApproveCommand});if(q.alwaysApproveTool&&G.onAutoApproveTool)G.onAutoApproveTool(q.alwaysApproveTool),yield*X.info("User chose to always approve tool",{toolName:q.alwaysApproveTool});if(!j)yield*X.info("User approved tool execution",{toolName:d,executeToolName:L.executeToolName});let r=Date.now();if(Z.showToolExecution){let _;if(L.executeToolName==="web_search")_={provider:(yield*(yield*YZ).appConfig).web_search?.provider??"builtin"};if(b)yield*b.handleEvent({type:"tool_execution_start",toolName:d,toolCallId:I.id,arguments:L.executeArgs,..._?{metadata:_}:{}});else{let i=yield*c.formatToolExecutionStart(d,L.executeArgs,_?{metadata:_}:void 0);yield*c.writeBlankLine(),yield*c.writeOutput(i)}}yield*c.signalToolExecutionStarted(),J=yield*EC.executeTool(L.executeToolName,L.executeArgs,G),y=Date.now()-r,v=L.executeToolName,yield*X.debug("Execution tool completed after approval",{executeToolName:L.executeToolName,success:J.success,durationMs:y,autoApproved:j})}else yield*X.info("User rejected tool execution",{toolName:d,userMessage:q.userMessage}),J={success:!1,result:{rejected:!0,message:q.userMessage?.trim()||"User rejected the operation. Please acknowledge this and ask if they'd like to try something different."},error:"User rejected the operation"}}let A=JSON.stringify(J.result);if(yield*X.debug("Tool execution succeeded",{agentId:l,conversationId:Y,toolName:v,toolCallId:I.id,durationMs:y,success:J.success,resultSize:A.length,resultPreview:A.substring(0,200)}),Z.showToolExecution)if(b)yield*b.handleEvent({type:"tool_execution_complete",toolCallId:I.id,result:A,durationMs:y});else if(J.success){let L=c.formatToolResult(v,A),z=yield*c.formatToolExecutionComplete(L,y);yield*c.writeOutput(z)}else{let L=J.error||"Tool execution failed",z=yield*c.formatToolExecutionError(L,y);yield*c.writeOutput(z)}let u=J.success?J.result:{error:J.error??"Tool execution failed",result:J.result};return{toolCallId:I.id,result:u,success:J.success,name:v}}catch(m){let R=Date.now()-Q,H=m instanceof Error?m.message:String(m);if(Z.showToolExecution)if(b)yield*b.handleEvent({type:"tool_execution_complete",toolCallId:I.id,result:`Error: ${H}`,durationMs:R});else{let h=yield*c.formatToolExecutionError(H,R);yield*c.writeOutput(h)}return SEG(W,d,m),yield*X.error("Tool execution failed",{agentId:l,conversationId:Y,toolName:d,toolCallId:I.id,error:H}),{toolCallId:I.id,result:{error:H},success:!1,name:d}}})}static executeToolCalls(I,G,Z,b,W,l,Y,N,c){return w.gen(function*(){let X=yield*Gl,d=yield*MG,F=yield*Dl,Q=I.map((u)=>u.function.name),m=Array.from(new Set(Q)),R=yield*w.all(m.map((u)=>w.either(F.getTool(u))),{concurrency:FHI}),H=new Set;for(let u=0;u<m.length;u++){let L=m[u],z=R[u];if(L&&z&&c2.isRight(z)&&z.right.approvalExecuteToolName)H.add(L)}let h=Q.filter((u)=>H.has(u));if(Z.showToolExecution)if(b)yield*b.handleEvent({type:"tools_detected",toolNames:Q,toolsRequiringApproval:h,agentName:N});else{let u=yield*X.formatToolsDetected(N,Q,h);yield*X.writeOutput(u)}let E=[];for(let u of I)if(u.type==="function"){let{name:L,arguments:z}=u.function;try{let O=JSON.parse(z),U=O&&typeof O==="object"&&!Array.isArray(O)?O:{},x=Lw(L,U,{style:"plain"});E.push(x?`${L} ${x}`:L)}catch{E.push(L)}}let C=E.join(", ");yield*d.info(`${N} is using tools: ${C}`);let J=new Set(h),y=yield*w.all(I.map((u)=>w.fork(EC.executeToolCall(u,G,Z,b,W,l,Y,J))),{concurrency:FHI}),v=w.all(y.map((u)=>j2.join(u)),{concurrency:"unbounded"});if(!c)return yield*v;let A=yield*w.race(v.pipe(w.map((u)=>({type:"results",results:u}))),c.pipe(w.as({type:"interrupt"})));if(A.type==="interrupt")return yield*w.all(y.map((u)=>j2.interrupt(u)),{concurrency:"unbounded"}),yield*w.fail(new H1I({reason:"Tool execution interrupted by user"}));return A.results})}}function b2b(I,G,Z){if(!Z?.length)return!1;if(I!=="execute_command")return!1;let b=G.command;if(typeof b!=="string")return!1;let W=iu(b);return Z.some((l)=>W===l||W.startsWith(l+" "))}function W2b(I,G){if(!G?.length)return!1;return G.includes(I)}var i9I=g(()=>{gI();oY();Il();m0();Av();cN();XD();QD();ru()});function l2b(I,G){let Z=I/G;if(Z>=0.9)return{role:"user",content:`[BUDGET CRITICAL: Iteration ${I}/${G} (${Math.round(Z*100)}%). Write your final output NOW. No further research or subagent spawning. Use what you have collected so far.]`};if(Z>=0.7)return{role:"user",content:`[BUDGET WARNING: Iteration ${I}/${G} (${Math.round(Z*100)}%). Begin consolidating results. Stop spawning new research subagents. Move to consolidation and output phases.]`};return null}function Y2b(I,G=f9I){if(I.length<G)return!1;let b=I.slice(-G).map((l)=>`${l.name}:${l.arguments}`);return new Set(b).size/G<0.4}function Xe(I,G,Z,b,W){return w.acquireUseRelease(w.gen(function*(){let l=yield*MG;yield*l.setSessionId(I.sessionId);let Y=yield*kZ.make(KI.none());return{logger:l,finalizeFiberRef:Y}}),({logger:l,finalizeFiberRef:Y})=>w.gen(function*(){let{agent:N,maxIterations:c}=I,X=c??gy,d=yield*Gl,{actualConversationId:F,context:Q,tools:m,messages:R,runMetrics:H,provider:h,model:E}=G,C=yield*w.tryPromise({try:()=>EV(E,h),catch:()=>Error("Failed to fetch model metadata")}).pipe(w.catchAll(()=>w.succeed(void 0))),J=C?.contextWindow??vV,y=Ba.getConfig().maxTokens,v=Ba.getConfig().protectedRecentTurns,A=new jo({maxTokens:y,...v!==void 0&&{protectedRecentTurns:v},modelHint:{provider:h,modelId:E}});yield*l.debug("Using model context window",{model:E,provider:h,contextWindow:J,source:C?"models.dev":"default"});let u=[R[0],...R.slice(1)],L={content:"",conversationId:F},z=!1,O=!1,U=0,x=[];for(let r=0;r<X;r++){yield*w.sync(()=>DEG(H,r+1));try{if(!I.internal&&b.shouldShowThinking)yield*d.presentThinking(N.name,r===0);u=yield*Fw.compactIfNeeded(u,N,I.sessionId,F,W,J);let _;for(let f=u.length-1;f>=0;f--)if(u[f]?.role==="user"){_=u[f]?.content;break}yield*l.debug("Sending LLM request",{agentId:N.id,conversationId:F,iteration:r+1,provider:h,model:E,messageCount:u.length,toolsAvailable:m.length,reasoningEffort:N.config.reasoningEffort,lastUserMessage:_});let i=l2b(r+1,X),n=i?[...u,i]:u,T=yield*b.getCompletion(n,r);if(T.interrupted){let f=T.completion;if(L={...L,content:f.content,...f.toolCalls?{toolCalls:f.toolCalls}:{}},f.content.length>0)u.push({role:"assistant",content:f.content});yield*d.presentWarning(N.name,"generation stopped by user"),z=!0,O=!0,yield*l.debug("Interruption handled, breaking loop");break}let{completion:K}=T;if(yield*l.debug("LLM response received",{agentId:N.id,conversationId:F,iteration:r+1,contentLength:K.content.length,toolCallsCount:K.toolCalls?.length??0,tokenUsage:K.usage,contentPreview:K.content.substring(0,300)}),K.usage)aEG(H,K.usage),jEG({authoritativePromptTokens:K.usage.promptTokens,messagesAtCallTime:u,provider:h,modelId:E});if(K.toolDefinitionChars!=null)_EG(H,$9I(K.toolDefinitionChars),K.toolDefinitionCount??0);if(K.toolsDisabled)L={...L,toolsDisabled:!0};let S={role:"assistant",content:K.content,...K.toolCalls?{tool_calls:K.toolCalls.map((f)=>({id:f.id,type:f.type,function:{name:f.function.name,arguments:f.function.arguments},...f.thought_signature?{thought_signature:f.thought_signature}:{}}))}:{}};if(u.push(S),u=(yield*A.trim(u,l,N.id,F)).messages,K.toolCalls&&K.toolCalls.length>0){yield*l.info("Agent decided to use tools",{agentId:N.id,conversationId:F,iteration:r+1,toolsChosen:K.toolCalls.map(($)=>$.function.name),reasoning:K.content});for(let $ of K.toolCalls)if($.type==="function")x.push({name:$.function.name,arguments:$.function.arguments});if(x.length>f9I)x.splice(0,x.length-f9I);if(Y2b(x))yield*l.warn("Meltdown detected — injecting recovery signal",{agentId:N.id,recentTools:x.slice(-10).map(($)=>$.name)}),u.push({role:"user",content:"[MELTDOWN DETECTED: You have been repeating the same tool calls without progress. Stop the current approach. Summarize what you have found so far, identify what is still missing, and either proceed directly to output or try a fundamentally different search strategy. Do not repeat your last action.]"}),x.length=0;let f={...Q,tokenStats:{currentTokens:A.calculateTotalTokens(u),maxTokens:J},conversationMessages:u,parentAgent:N,parentMaxIterations:X,compactConversation:($)=>{u=[u[0],...$.slice(1)]}},t=yield*EC.executeToolCalls(K.toolCalls,f,Z,b.getRenderer(),H,N.id,F,N.name,b.getInterruptSignal?.()),II=new Map(t.map(($)=>[$.toolCallId,$.result])),P=[];for(let $ of K.toolCalls)if($.type==="function"&&!II.has($.id))P.push($.id);if(P.length>0)return yield*l.error("Missing tool results for some tool calls",{agentId:N.id,conversationId:F,missingToolCallIds:P,expectedCount:K.toolCalls.length,actualCount:t.length}),yield*w.fail(Error(`Missing tool results for ${P.length} tool call(s). This indicates a bug in tool execution.`));for(let $ of K.toolCalls)if($.type==="function"){let dI=II.get($.id);if(dI===void 0)yield*l.error("Tool result is undefined despite validation",{agentId:N.id,conversationId:F,toolCallId:$.id,toolName:$.function.name}),u.push({role:"tool",name:$.function.name,content:T9I($.function.name,{error:"Tool execution result was undefined"}),tool_call_id:$.id});else{let NI=T9I($.function.name,dI);u.push({role:"tool",name:$.function.name,content:NI,tool_call_id:$.id}),nEG(H,$.function.name,NI.length)}}L={...L,toolCalls:K.toolCalls,toolResults:Object.fromEntries(t.map(($)=>[$.name,$.result]))};let s=I.checkQueuedMessage?.();if(s)u.push({role:"user",content:s});continue}yield*l.info("Agent provided final response",{agentId:N.id,conversationId:F,iteration:r+1,completionLength:K.content.length,totalToolsUsed:H.toolCalls});let bI=K.content?.trim().length?K.content:K.reasoning??K.content;L={...L,content:bI,...K.reasoning?{reasoning:K.reasoning}:{}},yield*b.presentResponse(N.name,bI,K),yield*d.presentCompletion(N.name),yield*b.onComplete(N.name,K),U=r+1,z=!0;break}finally{yield*w.sync(()=>qEG(H))}}if(!z)U=X,yield*d.presentWarning(N.name,`iteration limit reached (${X}) - type 'continue' to resume`);else if(!L.content?.trim()&&!L.reasoning?.trim()&&!L.toolCalls&&!O)yield*d.presentWarning(N.name,"model returned an empty response");yield*l.debug("Finalizing agent run",{interrupted:O,finished:z});let D=yield*$EG(H,{iterationsUsed:U,finished:z}).pipe(w.catchAll((r)=>l.warn("Failed to write agent token usage log",{error:r.message})),w.fork);yield*kZ.set(Y,KI.some(D));let a=C?.inputPricePerMillion??0,j=C?.outputPricePerMillion??0,q=a>0||j>0?parseFloat((H.totalPromptTokens/1e6*a+H.totalCompletionTokens/1e6*j).toFixed(8)):void 0;return{...L,messages:u,usage:{promptTokens:H.totalPromptTokens,completionTokens:H.totalCompletionTokens},...q!==void 0?{costUSD:q}:{}}}),({logger:l,finalizeFiberRef:Y})=>w.gen(function*(){let N=yield*kZ.get(Y);if(KI.isSome(N))yield*j2.await(N.value).pipe(w.asVoid,w.catchAll(()=>w.void));yield*l.clearSessionId()}))}var f9I=10;var s9I=g(()=>{gI();ER();Il();m0();yR();hEG();i9I();K5I();Do();ru()});function o9I(I,G,Z,b,W){return w.gen(function*(){let l=yield*Fd,Y=yield*MG,N=yield*Gl,{agent:c}=I,{runMetrics:X,provider:d,model:F}=G,Q=G.maxRetries??uk,m=c.config.reasoningEffort??"disable",R=Z.showThinking&&m!=="disable",H=N.emitsToolEventsViaRenderer?.()===!0?yield*N.createStreamingRenderer({displayConfig:Z,streamingConfig:{enabled:!0},showMetrics:b,agentName:c.name,reasoningEffort:m}):null;return yield*Xe(I,G,Z,{shouldShowThinking:R,getCompletion(E,C){return w.gen(function*(){let J={model:F,messages:E,tools:G.tools,toolChoice:"auto",reasoning_effort:m,...typeof c.config.temperature==="number"?{temperature:c.config.temperature}:{},...c.config.llmApiKeys?{providerApiKeys:c.config.llmApiKeys}:{}},y=(L,z)=>N.presentStatus(L,z),v=yield*kZ.make(0),A=VD(Q,c.name,y,v);return{completion:yield*w.retry(ND(c.name,y,w.gen(function*(){try{return yield*l.createChatCompletion(d,J)}catch(L){throw mD(X,L),L}})),A).pipe(w.timeout(Ml.seconds(ma)),w.tapError((L)=>uY.isTimeoutException(L)?y(`${c.name} exceeded the maximum wait time for this step (including retries). Check connectivity or try again.`,"warning"):w.void)),interrupted:!1}})},presentResponse(E,C,J){return w.gen(function*(){let y=C;if(y&&Z.mode==="rendered")y=yield*N.renderMarkdown(y);if(y&&y.trim().length>0)yield*N.writeBlankLine(),yield*N.presentAgentResponse(c.name,y),yield*N.writeBlankLine();if(b&&J.usage){let v=[];if(J.usage.totalTokens)v.push(`Total: ${J.usage.totalTokens} tokens`);if(J.usage.promptTokens)v.push(`Prompt: ${J.usage.promptTokens}`);if(J.usage.completionTokens)v.push(`Completion: ${J.usage.completionTokens}`);if(v.length>0)yield*Y.info(`[${v.join(" | ")}]`)}})},onComplete(E,C){return w.void},getRenderer(){return H}},W)})}var fEG=g(()=>{gI();q9I();uv();Il();m0();s9I();ru()});var tu;var de=g(()=>{gI();tu=bZ.GenericTag("NotificationService")});function r9I(I,G,Z,b,W,l){return w.gen(function*(){let Y=yield*Fd,N=yield*MG,c=yield*Gl,X=yield*w.serviceOption(tu),{agent:d}=I,{runMetrics:F,provider:Q,model:m,actualConversationId:R}=G,H=G.maxRetries??uk,h=d.config.reasoningEffort??"disable",E=Z.showThinking&&h!=="disable",C={enabled:!0,...b.textBufferMs!==void 0&&{textBufferMs:b.textBufferMs}},J=yield*c.createStreamingRenderer({displayConfig:Z,streamingConfig:C,showMetrics:W,agentName:d.name,reasoningEffort:h,...I.ephemeralRegionId!==void 0&&{streamTarget:{kind:"ephemeral",regionId:I.ephemeralRegionId}}}),y=yield*r0.make(),v=()=>{w.runSync(r0.succeed(y,void 0))};yield*J.setInterruptHandler(v);let A=yield*kZ.make(void 0),u=yield*kZ.make("");return yield*Xe(I,G,Z,{shouldShowThinking:E,getCompletion(O,U){return w.gen(function*(){yield*kZ.set(A,void 0),yield*kZ.set(u,"");let x={model:m,messages:O,tools:G.tools,toolChoice:"auto",reasoning_effort:h,...typeof d.config.temperature==="number"?{temperature:d.config.temperature}:{},...d.config.llmApiKeys?{providerApiKeys:d.config.llmApiKeys}:{}},D=(K,S)=>c.presentStatus(K,S),a=yield*kZ.make(0),j=VD(H,d.name,D,a),q=yield*w.retry(ND(d.name,D,w.gen(function*(){try{return yield*Y.createStreamingChatCompletion(Q,x)}catch(K){if(mD(F,K),K instanceof RR||K instanceof bw||K instanceof yQ)yield*N.error("LLM request error",{provider:Q,model:d.config.llmModel,errorType:K._tag,message:K.message,agentId:d.id,conversationId:R});throw K}})),j).pipe(w.timeout(Ml.seconds(ma)),w.tapError((K)=>uY.isTimeoutException(K)?D(`${d.name} exceeded the maximum wait time for this step (including retries). Check connectivity or try again.`,"warning"):w.void),w.catchIf((K)=>JC(K),(K)=>w.gen(function*(){yield*N.warn("Streaming failed, falling back to non-streaming mode",{provider:Q,model:d.config.llmModel,errorType:K._tag,message:K.message,agentId:d.id,conversationId:R});let S=yield*kZ.make(0),o=VD(H,d.name,D,S),bI=yield*w.retry(ND(d.name,D,w.gen(function*(){try{return yield*Y.createChatCompletion(Q,x)}catch(f){throw mD(F,f),f}})),o).pipe(w.timeout(Ml.seconds(ma)),w.tapError((f)=>uY.isTimeoutException(f)?D(`${d.name} exceeded the maximum wait time for this step (including retries). Check connectivity or try again.`,"warning"):w.void));return{stream:sh.empty,response:w.succeed(bI),cancel:w.void}}))),r=yield*w.fork(sh.runForEach(q.stream,(K)=>w.gen(function*(){if(yield*J.handleEvent(K),K.type==="text_chunk")yield*kZ.set(u,K.accumulated);if(K.type==="complete"){if(yield*kZ.set(A,K.response),K.metrics?.firstTokenLatencyMs)PEG(F,K.metrics.firstTokenLatencyMs)}if(K.type==="error"){let S=K.error;if(yield*N.error("Stream event error",{provider:Q,model:d.config.llmModel,errorType:S._tag,message:S.message,recoverable:K.recoverable,agentId:d.id,conversationId:R}),!K.recoverable)yield*q.cancel}}))),_=yield*j2.await(r).pipe(w.raceFirst(r0.await(y)));if(yield*r0.isDone(y)){yield*q.cancel.pipe(w.catchAll((bI)=>N.debug(`Stream cancel error (safe to ignore): ${String(bI)}`))),yield*j2.interrupt(r).pipe(w.catchAll((bI)=>N.debug(`Fiber interrupt error (safe to ignore): ${String(bI)}`)));let K=yield*kZ.get(u);return yield*J.flush().pipe(w.catchAll((bI)=>N.debug(`Renderer flush error (safe to ignore): ${String(bI)}`))),{completion:(yield*kZ.get(A))??{id:"interrupted",model:m,content:K},interrupted:!0}}let n,T=_;if(YN.isFailure(T)){yield*q.cancel;let K=uY.failureOption(T.cause);if(KI.isSome(K))return yield*N.error("Stream processing failed",{error:K.value instanceof Error?K.value.message:String(K.value)}),yield*w.fail(K.value);else{let S=uY.dieOption(T.cause);if(KI.isSome(S))return yield*w.die(S.value);let o=yield*kZ.get(A);if(o)n=o;else n=yield*q.response.pipe(w.timeout(sEG),w.catchAll(()=>w.gen(function*(){return yield*q.cancel,yield*Y.createChatCompletion(Q,x)})))}}else{let K=yield*kZ.get(A);if(K)n=K;else n=yield*q.response.pipe(w.timeout(sEG),w.catchAll(()=>w.gen(function*(){return yield*q.cancel,yield*Y.createChatCompletion(Q,x)})))}return{completion:n,interrupted:!1}})},presentResponse(O,U,x){return w.void},onComplete(O,U){return w.gen(function*(){if(KI.isSome(X))yield*X.value.notify(`${O} has completed the task.`,{title:"Jazz Task Complete",sound:!0}).pipe(w.catchAll(()=>w.void))})},getRenderer(){return J},getInterruptSignal(){return r0.await(y)}},l).pipe(w.ensuring(J.setInterruptHandler(null)))})}var sEG;var oEG=g(()=>{gI();q9I();uv();Il();de();m0();cN();YD();s9I();ru();sEG=Ml.seconds(15)});var rEG=g(()=>{fEG();oEG();i9I()});function Fe(I){return I.transport===void 0||I.transport==="stdio"}function Qe(I){return I.transport==="http"}var zc;var pw=g(()=>{gI();zc=bZ.GenericTag("MCPServerManager")});function tEG(){return{name:"get_time",description:"Get current date and time. Use for scheduling, relative times (yesterday, next Monday), and timestamps.",parameters:V.object({}).strict(),riskLevel:"read-only",hidden:!1,createSummary:void 0,execute:()=>{let I=new Date,G=I.toISOString(),Z=N2b[I.getDay()],b=I.toLocaleDateString(),W=I.toLocaleTimeString(),l=Intl.DateTimeFormat().resolvedOptions().timeZone;return w.succeed({success:!0,result:{iso:G,timestamp:I.getTime(),dayOfWeek:Z,localDate:b,localTime:W,timezone:l}})}}}function eEG(){return{name:"context_info",description:"Get current context window token usage statistics.",parameters:V.object({}),riskLevel:"read-only",hidden:!1,createSummary:void 0,execute:(I,G)=>{let Z=G.tokenStats?.currentTokens??0,b=G.tokenStats?.maxTokens??50000,W=Math.round(Z/b*100),l=b-Z,Y;if(W<50)Y="Context budget is healthy. Proceed normally.";else if(W<80)Y="Context is moderately used. Consider being concise.";else Y="Context is limited. Complete current task or consider summarizing earlier context.";return w.succeed({success:!0,result:{estimatedTokensUsed:Z,maxTokens:b,remainingTokens:l,percentUsed:W,recommendation:Y}})}}}var N2b;var I3G=g(()=>{gI();Wb();N2b=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]});var QG;var YW=g(()=>{gI();QG=bZ.GenericTag("FileSystemContextService")});function UZ(I){let G=I.approvalExecuteToolName?"high-risk":"read-only";return{name:I.name,description:I.description,tags:I.tags??[],...I.aliases?{aliases:I.aliases}:{},parameters:I.parameters,hidden:I.hidden===!0,riskLevel:I.riskLevel??G,...I.approvalExecuteToolName?{approvalExecuteToolName:I.approvalExecuteToolName}:{},...I.longRunning?{longRunning:!0}:{},...I.timeoutMs!==void 0?{timeoutMs:I.timeoutMs}:{},createSummary:I.createSummary,execute(Z,b){if(I.validate){let W=I.validate(Z);if(!W.valid){let Y=(W.errors||["Invalid arguments"]).join("; ");return w.succeed({success:!1,result:null,error:Y})}let l=W.value;return I.handler(l,b)}return I.handler(Z,b)}}}function jG(I){return(G)=>{let Z=I.safeParse(G);if(!Z.success)return{valid:!1,errors:Z.error.issues.map((W)=>{let l=W.path.join(".");return l.length>0?`${l}: ${W.message}`:W.message})};return{valid:!0,value:Z.data}}}function V2b(I){return`⚠️ APPROVAL REQUIRED: ${I}`}function c2b(I){return`\uD83D\uDD27 EXECUTION TOOL: ${I}`}function gl(I){let G=`execute_${I.name}`,Z=I.riskLevel??"high-risk",b=I.validate??((N)=>{let c=I.parameters.safeParse(N);return c.success?{valid:!0,value:c.data}:{valid:!1,errors:c.error.issues.map((X)=>X.message)}}),W=I.approvalErrorMessage??`Approval required: ${I.name} requires user confirmation.`,l=UZ({name:I.name,description:V2b(I.description),...I.tags?{tags:I.tags}:{},parameters:I.parameters,riskLevel:Z,validate:b,approvalExecuteToolName:G,handler:(N,c)=>w.gen(function*(){let X=yield*I.approvalMessage(N,c);if(typeof X==="object"&&"skipApproval"in X)return X.toolResult;let d=typeof X==="string"?X:X.message,F=typeof X==="string"?void 0:X.previewDiff;return{success:!1,result:{approvalRequired:!0,message:d,previewDiff:F,executeToolName:G,executeArgs:N},error:W}})}),Y=UZ({name:G,description:c2b(`Performs the actual ${I.name} operation after user approval. This tool should only be called by the system after approval.`),hidden:!0,riskLevel:Z,parameters:I.parameters,validate:b,handler:I.handler,...I.createSummary?{createSummary:I.createSummary}:{},...I.timeoutMs!==void 0?{timeoutMs:I.timeoutMs}:{}});return{approval:l,execute:Y,all:()=>[l,Y]}}var nb=g(()=>{gI()});function aZ(I){return I.conversationId?{agentId:I.agentId,conversationId:I.conversationId}:{agentId:I.agentId}}function G3G(){let I=V.object({path:V.string().min(1).describe("Absolute or relative path to change to")}).strict();return UZ({name:"cd",description:"Change the working directory for this session. Persists across subsequent tool calls.",tags:["filesystem","navigation"],parameters:I,validate:jG(I),handler:(G,Z)=>w.gen(function*(){let b=yield*bG.FileSystem,W=yield*QG,l=yield*W.resolvePath(aZ(Z),G.path).pipe(w.catchAll(()=>w.succeed(null)));if(l===null)return{success:!1,result:null,error:`Path not found: ${G.path}`};try{if((yield*b.stat(l)).type!=="Directory")return{success:!1,result:null,error:`Not a directory: ${l}`};return yield*W.setCwd(aZ(Z),l),{success:!0,result:l}}catch(Y){return{success:!1,result:null,error:`cd failed: ${Y instanceof Error?Y.message:String(Y)}`}}})})}var Z3G=g(()=>{_b();gI();Wb();YW();nb()});function W3G(){let I={name:"cp",description:"Copy a file or directory. Equivalent to shell cp/cp -r. Directories are copied recursively.",tags:["filesystem","write"],parameters:b3G,validate:jG(b3G),approvalMessage:(G,Z)=>w.gen(function*(){let b=yield*QG,W=yield*b.resolvePath(aZ(Z),G.source),l=yield*b.resolvePath(aZ(Z),G.destination,{skipExistenceCheck:!0}),Y=G.force===!0?" (will overwrite if exists)":"";return`About to copy: ${W}
7052
7052
  to: ${l}${Y}`}),handler:(G,Z)=>w.gen(function*(){let b=yield*bG.FileSystem,W=yield*QG,l=yield*W.resolvePath(aZ(Z),G.source),Y=yield*W.resolvePath(aZ(Z),G.destination,{skipExistenceCheck:!0}),N=l.endsWith("/")?l:`${l}/`;if((Y.endsWith("/")?Y:`${Y}/`).startsWith(N))return{success:!1,result:null,error:`Destination must not be within source: ${Y}`};let X=yield*b.exists(Y).pipe(w.catchAll(()=>w.succeed(!1)));if(X&&G.force!==!0)return{success:!1,result:null,error:`Destination exists: ${Y}. Use force: true to overwrite.`};if(X&&G.force===!0)yield*b.remove(Y,{recursive:!0});return yield*b.copy(l,Y,{overwrite:G.force===!0}).pipe(w.map(()=>({success:!0,result:`Copied: ${l} → ${Y}`})),w.catchAll((d)=>w.succeed({success:!1,result:null,error:`cp failed: ${d instanceof Error?d.message:String(d)}`})))})};return gl(I)}var b3G;var l3G=g(()=>{_b();gI();Wb();YW();nb();b3G=V.object({source:V.string().min(1).describe("Path to copy (file or directory)"),destination:V.string().min(1).describe("Destination path"),force:V.boolean().optional().describe("Overwrite destination if it exists (default: false)")}).strict()});class me{diff(I,G,Z={}){let b;if(typeof Z==="function")b=Z,Z={};else if("callback"in Z)b=Z.callback;let W=this.castInput(I,Z),l=this.castInput(G,Z),Y=this.removeEmpty(this.tokenize(W,Z)),N=this.removeEmpty(this.tokenize(l,Z));return this.diffWithOptionsObj(Y,N,Z,b)}diffWithOptionsObj(I,G,Z,b){var W;let l=(E)=>{if(E=this.postProcess(E,Z),b){setTimeout(function(){b(E)},0);return}else return E},Y=G.length,N=I.length,c=1,X=Y+N;if(Z.maxEditLength!=null)X=Math.min(X,Z.maxEditLength);let d=(W=Z.timeout)!==null&&W!==void 0?W:1/0,F=Date.now()+d,Q=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(Q[0],G,I,0,Z);if(Q[0].oldPos+1>=N&&m+1>=Y)return l(this.buildValues(Q[0].lastComponent,G,I));let R=-1/0,H=1/0,h=()=>{for(let E=Math.max(R,-c);E<=Math.min(H,c);E+=2){let C,J=Q[E-1],y=Q[E+1];if(J)Q[E-1]=void 0;let v=!1;if(y){let u=y.oldPos-E;v=y&&0<=u&&u<Y}let A=J&&J.oldPos+1<N;if(!v&&!A){Q[E]=void 0;continue}if(!A||v&&J.oldPos<y.oldPos)C=this.addToPath(y,!0,!1,0,Z);else C=this.addToPath(J,!1,!0,1,Z);if(m=this.extractCommon(C,G,I,E,Z),C.oldPos+1>=N&&m+1>=Y)return l(this.buildValues(C.lastComponent,G,I))||!0;else{if(Q[E]=C,C.oldPos+1>=N)H=Math.min(H,E-1);if(m+1>=Y)R=Math.max(R,E+1)}}c++};if(b)(function E(){setTimeout(function(){if(c>X||Date.now()>F)return b(void 0);if(!h())E()},0)})();else while(c<=X&&Date.now()<=F){let E=h();if(E)return E}}addToPath(I,G,Z,b,W){let l=I.lastComponent;if(l&&!W.oneChangePerToken&&l.added===G&&l.removed===Z)return{oldPos:I.oldPos+b,lastComponent:{count:l.count+1,added:G,removed:Z,previousComponent:l.previousComponent}};else return{oldPos:I.oldPos+b,lastComponent:{count:1,added:G,removed:Z,previousComponent:l}}}extractCommon(I,G,Z,b,W){let l=G.length,Y=Z.length,N=I.oldPos,c=N-b,X=0;while(c+1<l&&N+1<Y&&this.equals(Z[N+1],G[c+1],W))if(c++,N++,X++,W.oneChangePerToken)I.lastComponent={count:1,previousComponent:I.lastComponent,added:!1,removed:!1};if(X&&!W.oneChangePerToken)I.lastComponent={count:X,previousComponent:I.lastComponent,added:!1,removed:!1};return I.oldPos=N,c}equals(I,G,Z){if(Z.comparator)return Z.comparator(I,G);else return I===G||!!Z.ignoreCase&&I.toLowerCase()===G.toLowerCase()}removeEmpty(I){let G=[];for(let Z=0;Z<I.length;Z++)if(I[Z])G.push(I[Z]);return G}castInput(I,G){return I}tokenize(I,G){return Array.from(I)}join(I){return I.join("")}postProcess(I,G){return I}get useLongestToken(){return!1}buildValues(I,G,Z){let b=[],W;while(I)b.push(I),W=I.previousComponent,delete I.previousComponent,I=W;b.reverse();let l=b.length,Y=0,N=0,c=0;for(;Y<l;Y++){let X=b[Y];if(!X.removed){if(!X.added&&this.useLongestToken){let d=G.slice(N,N+X.count);d=d.map(function(F,Q){let m=Z[c+Q];return m.length>F.length?m:F}),X.value=this.join(d)}else X.value=this.join(G.slice(N,N+X.count));if(N+=X.count,!X.added)c+=X.count}else X.value=this.join(Z.slice(c,c+X.count)),c+=X.count}return b}}function t9I(I,G,Z){return X2b.diff(I,G,Z)}function d2b(I,G){if(G.stripTrailingCr)I=I.replace(/\r\n/g,`
7053
7053
  `);let Z=[],b=I.split(/(\n|\r\n)/);if(!b[b.length-1])b.pop();for(let W=0;W<b.length;W++){let l=b[W];if(W%2&&!G.newlineIsToken)Z[Z.length-1]+=l;else Z.push(l)}return Z}var Y3G,X2b;var N3G=g(()=>{Y3G=class Y3G extends me{constructor(){super(...arguments);this.tokenize=d2b}equals(I,G,Z){if(Z.ignoreWhitespace){if(!Z.newlineIsToken||!I.includes(`
7054
7054
  `))I=I.trim();if(!Z.newlineIsToken||!G.includes(`
@@ -7515,7 +7515,7 @@ ${Z}`,timestamp:new Date}),EI.printOutput({type:"log",message:`${IZ.primary("\uD
7515
7515
  `}function uoG(I){NWI=I}function BTb(){return NWI}function goG(I){CoG=I}function Pq(I,G,Z){let b=iq(),W=gB.join(b,"jazz.log"),l=zoG(I,G,Z);VWI.enqueue(W,l)}function $q(I,G,Z,b){let W=iq(),l=G.replace(/[^a-zA-Z0-9_-]/g,"_"),Y=gB.join(W,`${l}.log`),N=zoG(I,Z,b,G);VWI.enqueue(Y,N)}function OTb(I,G,Z){let b=iq(),W=I.replace(/[^a-zA-Z0-9_-]/g,"_"),l=gB.join(b,`${W}.log`);if(BTb()==="json"){let d=koG("info",`Tool Call: ${G}`,Z,I);VWI.enqueue(l,d);return}let Y=new Date().toISOString(),N=JSON.stringify(Z),c=`${G} ${N}`,X=`[${Y}] [TOOL_CALL] ${c}
7516
7516
  `;VWI.enqueue(l,X)}function xTb(){let I=process.env.JAZZ_LOG_DIR;if(I&&I.trim().length>0)return gB.resolve(I);return gB.join(Hv(),"logs")}var NWI="plain",CoG="info",yoG,VWI,suI;var ouI=g(()=>{EoG();gI();Il();UuI();Q0();yoG={debug:0,info:1,warn:2,error:3};VWI=new AoG});import{appendFile as MTb,mkdir as KTb}from"node:fs/promises";import aTb from"node:path";function cWI(I,G){return w.gen(function*(){let Z={agentId:I.id,conversationId:G},b=yield*QG,W=yield*MG;yield*b.setCwd(Z,process.cwd()).pipe(w.catchAll(()=>w.void)),yield*W.info(`Initialized agent working directory to: ${process.cwd()}`)})}function UB(I,G,Z,b){w.gen(function*(){let W=yield*Z.getCwd(G?{agentId:I,conversationId:G}:{agentId:I});if(b)b(W)}).pipe(w.runSync)}function BB(I,G){return w.tryPromise({try:async()=>{let Z=iq();await KTb(Z,{recursive:!0});let b=aTb.join(Z,`${I}.log`),W=new Date().toISOString(),l=G.role.toUpperCase(),Y=G.content||"",N=`[${W}] [${l}] ${Y}
7517
7517
  `;await MTb(b,N,{encoding:"utf8"})},catch:()=>{return}}).pipe(w.catchAll(()=>w.void))}function ruI(I){let G=new Date,Z=G.getFullYear(),b=String(G.getMonth()+1).padStart(2,"0"),W=String(G.getDate()).padStart(2,"0"),l=String(G.getHours()).padStart(2,"0"),Y=String(G.getMinutes()).padStart(2,"0"),N=String(G.getSeconds()).padStart(2,"0");return`${I}-${Z}${b}${W}-${l}${Y}${N}`}function OB(){return UoG.default.generate()}var UoG;var BoG=g(()=>{gI();YW();Il();ouI();UoG=$b(tbI(),1)});var tuI=g(()=>{QoG();BoG()});import{spawn as jTb}from"node:child_process";function IgI(I,G){let{agent:Z,conversationId:b,conversationHistory:W,sessionId:l}=G;return w.gen(function*(){let Y=yield*ZZ;switch(I.type){case"new":return yield*DTb(Y,Z);case"fork":return yield*qTb(Y,W);case"help":return yield*TTb(Y);case"tools":return yield*STb(Y,Z);case"agents":return yield*nTb(Y,Z);case"switch":return yield*PTb(Y,Z,I.args);case"compact":return yield*$Tb(Y,Z,W,l,b);case"copy":return yield*iTb(Y,W);case"model":return yield*fTb(Y,Z,I.args);case"config":return yield*sTb(Y,Z,I.args);case"skills":return yield*ISb(Y);case"context":return yield*VSb(Y,Z,W);case"cost":return yield*cSb(Y,Z,G.sessionUsage);case"workflows":return yield*rTb(Y);case"stats":return yield*GSb(Y,Z,G);case"mcp":return yield*ZSb(Y);case"mode":return yield*bSb(Y,I.args,G.autoApprovePolicy,G.autoApprovedCommands,G.persistedAutoApprovedCommands,G.autoApprovedTools);case"resume":return yield*eTb(Y,Z);case"clear":return yield*oTb(Y,Z);case"unknown":return yield*tTb(Y,I.args);default:return{shouldContinue:!0}}})}function DTb(I,G){return w.gen(function*(){yield*I.info("Starting new conversation..."),yield*I.log(OF("Conversation context cleared")),yield*I.log(OF("Fresh start with the agent"));let Z=yield*w.promise(()=>EV(G.config.llmModel,G.config.llmProvider));if(Z&&!Z.supportsTools&&G.config.tools&&G.config.tools.length>0)yield*I.log(""),yield*I.warn(`⚠️ The current model (${G.config.llmModel}) does not support tools. Your configured tools will not be available.`);return yield*I.log(Db()),yield*I.log(Db()),{shouldContinue:!0,newConversationId:OB(),newHistory:[],saveCurrentHistory:!0}})}function qTb(I,G){return w.gen(function*(){if(G.length===0)return yield*I.warn("Cannot fork: no messages in history."),yield*I.log(Db()),{shouldContinue:!0};let Z=G.find((l)=>l.role==="system"),b=[...G].reverse().find((l)=>l.role==="user");if(!b)return yield*I.warn("No user message found to fork from."),yield*I.log(Db()),{shouldContinue:!0};let W=[];if(Z)W.push(Z);return W.push(b),yield*I.info("Forking conversation..."),yield*I.log(OF("New conversation branch created")),yield*I.log(OF("Kept last user message as starting point")),yield*I.log(Db()),yield*I.log(Db()),{shouldContinue:!0,newConversationId:OB(),newHistory:W,saveCurrentHistory:!0}})}function TTb(I){return w.gen(function*(){return yield*I.log(Xm("Available Commands")),yield*I.log([C2("/new","Start a new conversation (clear context)"),C2("/fork","Fork conversation (new branch from last message)"),C2("/tools","List all agent tools by category"),C2("/agents","List all available agents"),C2("/switch [agent]","Switch to a different agent"),C2("/clear","Clear the screen"),C2("/compact","Summarize history to save tokens"),C2("/context","Show context window usage"),C2("/cost","Show token usage and estimated cost"),C2("/copy","Copy last agent response to clipboard"),C2("/model","Show or change model and reasoning"),C2("/config","Show or modify agent configuration"),C2("/skills","List and view available skills"),C2("/workflows","List or create workflows"),C2("/stats","Show session statistics"),C2("/mcp","Show MCP server status"),C2("/mode","Switch approval modes"),C2("/resume","Browse and resume a past conversation"),C2("/help","Show this help message"),C2("/exit","Exit the chat")].join(`
7518
- `)),{shouldContinue:!0}})}function STb(I,G){return w.gen(function*(){let b=yield*(yield*Dl).listToolsByCategory(),W=JX(G.config.tools,{agentId:G.id}),l=new Set(W),Y={};for(let[c,X]of Object.entries(b)){let d=X.filter((F)=>l.has(F));if(d.length>0)Y[c]=d}let N=yield*_Tb(G);if(yield*I.log(Xm(`Tools Available to ${G.name}`)),Object.keys(Y).length===0)yield*I.warn("This agent has no tools configured.");else{let c=Object.keys(Y).sort();for(let d of c){let F=Y[d];if(F&&F.length>0){yield*I.log(BF(d,F.length,"tool"));for(let Q of F)if(Q==="web_search"&&N)yield*I.log(E5(Q,N));else yield*I.log(OF(Q));yield*I.log(Db())}}let X=Object.values(Y).reduce((d,F)=>d+(F?.length||0),0);yield*I.log(LB(`Total: ${X} tools across ${c.length} categories`))}return yield*I.log(Db()),{shouldContinue:!0}})}function _Tb(I){return w.gen(function*(){let b=(yield*(yield*YZ).appConfig).web_search?.provider;if(b)return`via ${Z1.find((N)=>N.value===b)?.name??b}`;if(yield*(yield*Fd).supportsNativeWebSearch(I.config.llmProvider))return`via ${I.config.llmProvider.charAt(0).toUpperCase()+I.config.llmProvider.slice(1)} (native)`;return"no provider configured"}).pipe(w.catchAll(()=>w.succeed(null)))}function nTb(I,G){return w.gen(function*(){let Z=yield*lc,b=yield*YZ,W=yield*Z.listAgents();if(yield*I.log(Xm("Available Agents")),W.length===0)yield*I.warn("No agents found."),yield*I.info("Create one with: jazz agent create");else{let l=yield*b.get("wizard.lastUsedAgentId").pipe(w.map((N)=>typeof N==="string"?N:null),w.catchAll(()=>w.succeed(null))),Y=TA(W,l);for(let N of Y){if(N.id===G.id)yield*I.log(loG(N.name,"(current)"));else yield*I.log(YoG(N.name));if(yield*I.log(jd("ID",N.id)),N.description){let X=N.description.length>80?N.description.substring(0,77)+"...":N.description;yield*I.log(jd("Description",X))}if(yield*I.log(jd("Model",`${N.config.llmProvider}/${N.config.llmModel}`)),N.config.reasoningEffort)yield*I.log(jd("Reasoning",N.config.reasoningEffort));yield*I.log(Db())}yield*I.log(LB(`Total: ${Y.length} agent${Y.length===1?"":"s"}`))}return yield*I.log(Db()),{shouldContinue:!0}})}function PTb(I,G,Z){return w.gen(function*(){let b=yield*lc;if(Z.length>0){let Q=Z.join(" ").trim(),m=yield*U0(Q).pipe(w.map((R)=>({success:!0,agent:R})),w.catchAll((R)=>w.gen(function*(){if(R._tag==="StorageNotFoundError")yield*I.error(`Agent not found: ${Q}`),yield*I.info("Use '/agents' to see all available agents."),yield*I.log("");else yield*I.error(`Error loading agent: ${R instanceof Error?R.message:String(R)}`),yield*I.log("");return{success:!1}})));if(m.success){let R=m.agent;yield*I.success(`Switched to ${R.name} (${R.config.llmProvider}/${R.config.llmModel})`);let H=yield*w.promise(()=>EV(R.config.llmModel,R.config.llmProvider));if(H&&!H.supportsTools&&R.config.tools&&R.config.tools.length>0)yield*I.log(""),yield*I.warn(`⚠️ The current model (${R.config.llmModel}) does not support tools. Your configured tools will not be available.`);return yield*I.log(""),{shouldContinue:!0,newAgent:R}}return{shouldContinue:!0}}let W=yield*b.listAgents();if(W.length===0)return yield*I.warn("No agents available to switch to."),yield*I.info("Create one with: jazz agent create"),yield*I.log(""),{shouldContinue:!0};if(W.length===1)return yield*I.warn("Only one agent available. Cannot switch."),yield*I.info("Create more agents with: jazz agent create"),yield*I.log(""),{shouldContinue:!0};let Y=yield*(yield*YZ).get("wizard.lastUsedAgentId").pipe(w.map((Q)=>typeof Q==="string"?Q:null),w.catchAll(()=>w.succeed(null))),N=TA(W,Y);yield*I.info("History will be preserved after switching.");let c=N.map((Q)=>({name:`${Q.name} - ${Q.config.llmProvider}/${Q.config.llmModel}${Q.id===G.id?" (current)":""}`,value:Q.id})),X=yield*I.select("Select an agent to switch to:",{choices:c,default:G.id});if(!X)return{shouldContinue:!0};if(X===G.id)return yield*I.info("Already using this agent."),yield*I.log(""),{shouldContinue:!0};let d=yield*b.getAgent(X);yield*I.success(`Switched to ${d.name} (${d.config.llmProvider}/${d.config.llmModel})`);let F=yield*w.promise(()=>EV(d.config.llmModel,d.config.llmProvider));if(F&&!F.supportsTools&&d.config.tools&&d.config.tools.length>0)yield*I.log(""),yield*I.warn(`⚠️ The current model (${d.config.llmModel}) does not support tools. Your configured tools will not be available.`);return yield*I.log(""),{shouldContinue:!0,newAgent:d}})}function $Tb(I,G,Z,b,W){return w.gen(function*(){if(!Z||Z.length<5)return yield*I.warn("Not enough history to compact (minimum 5 messages)."),yield*I.log(""),{shouldContinue:!0};let l=Z.length-1;yield*I.info(`\uD83D\uDCD6 Reading ${l} messages from conversation history...`);try{let Y=Z.slice(1);yield*I.success(`\uD83D\uDCD6 Read ${l} messages from conversation history`),yield*I.log(""),yield*I.info("Analyzing content and extracting key information..."),yield*I.success("Analyzed content and extracted key information"),yield*I.log(""),yield*I.info("✨ Generating high-density summary...");let N=yield*uc.summarizeHistory(Y,G,b,W||"manual-compact");yield*I.success("✨ Generated high-density summary"),yield*I.log("");let c=[Z[0],N];return yield*I.success("Conversation context compacted successfully!"),yield*I.log(` Reduced from ${l+1} messages to 2 (system + summary)`),yield*I.log(" Earlier context compressed while preserving key information"),yield*I.log(""),{shouldContinue:!0,newHistory:c}}catch(Y){return yield*I.error(`Failed to compact history: ${Y instanceof Error?Y.message:String(Y)}`),yield*I.log(""),{shouldContinue:!0}}})}function iTb(I,G){return w.gen(function*(){let Z=null;for(let b=G.length-1;b>=0;b--){let W=G[b];if(W&&W.role==="assistant"&&W.content){Z=W.content;break}}if(!Z)return yield*I.warn("No agent response found to copy."),yield*I.log(""),{shouldContinue:!0};return yield*w.tryPromise({try:()=>new Promise((b,W)=>{let l=jTb("pbcopy");l.stdin.write(Z),l.stdin.end(),l.on("close",(Y)=>{if(Y===0)b();else W(Error(`pbcopy exited with code ${Y}`))}),l.on("error",(Y)=>{W(Y)})}),catch:(b)=>b instanceof Error?b:Error(String(b))}).pipe(w.flatMap(()=>w.all([I.success("Last agent response copied to clipboard!"),I.log("")])),w.catchAll((b)=>w.all([I.error(`Failed to copy to clipboard: ${b.message}`),I.log(" (Note: /copy currently requires pbcopy on macOS)"),I.log("")]))),{shouldContinue:!0}})}function fTb(I,G,Z){return w.gen(function*(){let b=yield*lc;if(Z.length===0)return yield*I.log(Xm("Current Model")),yield*I.log(vN("Provider",G.config.llmProvider)),yield*I.log(vN("Model",G.config.llmModel)),yield*I.log(vN("Reasoning",G.config.reasoningEffort??"default")),yield*I.log(Db()),yield*I.info("Usage: /model <provider>/<model> or /model reasoning <level>"),yield*I.log(Db()),{shouldContinue:!0};if(Z[0]==="reasoning"){let F=Z[1],Q=["low","medium","high","disable"];if(!F||!Q.includes(F))return yield*I.error(`Invalid reasoning level. Use: ${Q.join(", ")}`),yield*I.log(""),{shouldContinue:!0};let m={...G.config,reasoningEffort:F},R=yield*b.updateAgent(G.id,{config:m});yield*I.success(`Reasoning effort set to: ${F}`);let H=yield*w.promise(()=>EV(R.config.llmModel,R.config.llmProvider));if(H&&!H.supportsTools&&R.config.tools&&R.config.tools.length>0)yield*I.log(""),yield*I.warn(`⚠️ The current model (${R.config.llmModel}) does not support tools. Your configured tools will not be available.`);return yield*I.log(""),{shouldContinue:!0,newAgent:R}}let W=Z.join(" "),l=W.indexOf("/");if(l===-1)return yield*I.error("Format: /model <provider>/<model>"),yield*I.info("Example: /model openai/gpt-4o"),yield*I.log(""),{shouldContinue:!0};let Y=W.substring(0,l),N=W.substring(l+1);if(!(Y in Qd))return yield*I.error(`Unknown provider: ${Y}`),yield*I.info(`Available: ${Object.keys(Qd).join(", ")}`),yield*I.log(""),{shouldContinue:!0};let c={...G.config,llmProvider:Y,llmModel:N},X=yield*b.updateAgent(G.id,{config:c});yield*I.success(`Model switched to: ${Y}/${N}`);let d=yield*w.promise(()=>EV(X.config.llmModel,X.config.llmProvider));if(d&&!d.supportsTools&&X.config.tools&&X.config.tools.length>0)yield*I.log(""),yield*I.warn(`⚠️ The current model (${X.config.llmModel}) does not support tools. Your configured tools will not be available.`);return yield*I.log(""),{shouldContinue:!0,newAgent:X}})}function sTb(I,G,Z){return w.gen(function*(){let b=yield*lc;if(Z[0]==="tools"){let Y=yield*(yield*Dl).listToolsByCategory(),N=Object.values(Y).flat(),c=JX(G.config.tools,{agentId:G.id}),X=new Set(c),d=N.map((E)=>({name:E,value:E})),Q=[...yield*I.checkbox("Select tools to enable:",{choices:d,default:c})],m=Q.filter((E)=>!X.has(E)),R=c.filter((E)=>!Q.includes(E));for(let E of m)yield*I.success(`Enabled tool: ${E}`);for(let E of R)yield*I.success(`Disabled tool: ${E}`);if(m.length===0&&R.length===0)return yield*I.info("No changes made."),{shouldContinue:!0};let H={...G.config,tools:Q},h=yield*b.updateAgent(G.id,{config:H});return yield*I.log(""),{shouldContinue:!0,newAgent:h}}if(yield*I.log(Xm("Agent Configuration")),yield*I.log(vN("Name",G.name)),G.description)yield*I.log(vN("Description",G.description));yield*I.log(vN("Persona",G.config.persona)),yield*I.log(vN("Model",`${G.config.llmProvider}/${G.config.llmModel}`)),yield*I.log(vN("Reasoning",G.config.reasoningEffort??"—"));let W=JX(G.config.tools,{agentId:G.id});if(yield*I.log(vN("Tools",`${W.length} enabled`)),W.length>0){for(let l of W.slice(0,10))yield*I.log(OF(l));if(W.length>10)yield*I.log(coG(W.length-10))}return yield*I.log(Db()),yield*I.info("Subcommands: /config tools"),yield*I.log(Db()),{shouldContinue:!0}})}function oTb(I,G){return w.gen(function*(){return yield*I.clear(),yield*I.info(`Chat with ${G.name} - Screen cleared`),yield*I.info("Type '/help' to see available commands."),yield*I.info("Type '/exit' to end the conversation."),yield*I.log(""),{shouldContinue:!0}})}function rTb(I){return w.gen(function*(){let G=yield*W1;yield*I.log(Xm("Available Workflows"));let Z=yield*G.listWorkflows();if(Z.length===0)return yield*I.info("No workflows found."),yield*I.log(Db()),yield*I.info("Create a workflow by adding a WORKFLOW.md file to:"),yield*I.log(OF("./workflows/<name>/WORKFLOW.md (local)")),yield*I.log(OF("~/.jazz/workflows/<name>/WORKFLOW.md (global)")),yield*I.info("Or type /workflows create and the agent will guide you."),yield*I.log(Db()),{shouldContinue:!0};let{local:b,global:W,builtin:l}=GWI(Z);if(b.length>0){yield*I.log(BF("Local",b.length,"workflow"));for(let Y of b)yield*I.log(E5(Y.name,euI(Y)));yield*I.log(Db())}if(W.length>0){yield*I.log(BF("Global",W.length,"workflow"));for(let Y of W)yield*I.log(E5(Y.name,euI(Y)));yield*I.log(Db())}if(l.length>0){yield*I.log(BF("Built-in",l.length,"workflow"));for(let Y of l)yield*I.log(E5(Y.name,euI(Y)));yield*I.log(Db())}return yield*I.log(LB(`Total: ${Z.length} workflow(s)`)),yield*I.log(Db()),{shouldContinue:!0}})}function euI(I){let G=[I.description],Z=I.schedule?BE(I.schedule):null;if(I.schedule)G.push(Z?`(${Z})`:`[${I.schedule}]`);if(I.agent)G.push(`(agent: ${I.agent})`);return G.join(" ")}function tTb(I,G){return w.gen(function*(){return yield*I.error(`Unknown command: /${G.join(" ")}`),yield*I.info("Type '/help' to see available commands."),yield*I.log(""),{shouldContinue:!0}})}function eTb(I,G){return w.gen(function*(){let Z=yield*Tq(G.id).pipe(w.catchAll(()=>w.succeed({agentId:G.id,conversations:[]})));if(Z.conversations.length===0)return yield*I.info("No past conversations found for this agent."),yield*I.log(""),{shouldContinue:!0};let b=Z.conversations.map((d)=>{let Q=new Date(d.startedAt).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"});return{name:`${d.title} (${Q}, ${d.messageCount} messages)`,value:d.conversationId}}),W=yield*I.select("Select a conversation to resume:",{choices:b});if(!W)return yield*I.log("Resume cancelled"),yield*I.log(""),{shouldContinue:!0};let l=Z.conversations.find((d)=>d.conversationId===W);if(!l)return{shouldContinue:!0};let Y={role:"system",content:`Resuming conversation from ${new Date(l.startedAt).toLocaleString()}: ${l.title}`},N=l.messages.find((d)=>d.role==="system"),c=l.messages.filter((d)=>d.role!=="system"),X=[...N?[N]:[],Y,...c];return yield*I.success(`Resumed: ${l.title}`),yield*I.log(""),{shouldContinue:!0,newHistory:X,saveCurrentHistory:!0,resetStartedAt:!0}})}function ISb(I){return w.gen(function*(){let G=yield*Xw,{builtin:Z,global:b,agents:W,local:l}=yield*G.listSkillsBySource(),Y=Z.length+b.length+W.length+l.length;if(Y===0)return yield*I.warn("No skills found."),yield*I.log(Db()),yield*I.info("Create a skill by adding a SKILL.md file to:"),yield*I.log(OF("./skills/<name>/SKILL.md (local)")),yield*I.log(OF("~/.jazz/skills/<name>/SKILL.md (global)")),yield*I.log(OF("~/.agents/skills/<name>/SKILL.md (shared agents)")),yield*I.log(Db()),{shouldContinue:!0};yield*I.log(Xm("Available Skills"));let N=0;if(Z.length>0){N++;let c=[...Z].sort((X,d)=>X.name.localeCompare(d.name));yield*I.log(BF("Built-in",Z.length,"skill"));for(let X of c)yield*I.log(E5(X.name,X.description));yield*I.log(Db())}if(b.length>0){N++;let c=[...b].sort((X,d)=>X.name.localeCompare(d.name));yield*I.log(BF("Global",b.length,"skill"));for(let X of c)yield*I.log(E5(X.name,X.description));yield*I.log(Db())}if(W.length>0){N++;let c=[...W].sort((X,d)=>X.name.localeCompare(d.name));yield*I.log(BF("Agents",W.length,"skill"));for(let X of c)yield*I.log(E5(X.name,X.description));yield*I.log(Db())}if(l.length>0){N++;let c=[...l].sort((X,d)=>X.name.localeCompare(d.name));yield*I.log(BF("Local",l.length,"skill"));for(let X of c)yield*I.log(E5(X.name,X.description));yield*I.log(Db())}return yield*I.log(LB(`Total: ${Y} ${Y===1?"skill":"skills"} across ${N} ${N===1?"source":"sources"}`)),yield*I.log(Db()),{shouldContinue:!0}})}function GSb(I,G,Z){return w.gen(function*(){yield*I.log(Xm("Session Statistics"));let W=new Date().getTime()-Z.sessionStartedAt.getTime(),l=Math.floor(W/1000),Y=Math.floor(l/60),N=Math.floor(Y/60),c=[];if(N>0)c.push(`${N}h`);if(Y%60>0||N>0)c.push(`${Y%60}m`);c.push(`${l%60}s`);let X=c.join(" ");yield*I.log(vN("Agent",`${G.name} (${G.id})`)),yield*I.log(vN("Model",`${G.config.llmProvider}/${G.config.llmModel}`)),yield*I.log(vN("Reasoning",G.config.reasoningEffort??"default"));let d=G.config.tools?.length??0;yield*I.log(vN("Tools",`${d} available`));let Q=yield*(yield*QG).getCwd(Z.conversationId?{agentId:G.id,conversationId:Z.conversationId}:{agentId:G.id});yield*I.log(vN("Directory",Q)),yield*I.log(Db()),yield*I.log(vN("Duration",X)),yield*I.log(vN("Messages",`${Z.conversationHistory.length}`));let{promptTokens:m,completionTokens:R}=Z.sessionUsage,H=m+R;yield*I.log(vN("Tokens",`${H.toLocaleString()} (in: ${m.toLocaleString()}, out: ${R.toLocaleString()})`));let h=yield*w.promise(()=>EV(G.config.llmModel,G.config.llmProvider)),E=h?.inputPricePerMillion??0,C=h?.outputPricePerMillion??0,J=m/1e6*E,y=R/1e6*C,v=J+y;return yield*I.log(vN("Est. cost",XWI(v))),yield*I.log(Db()),{shouldContinue:!0}})}function ZSb(I){return w.gen(function*(){let G=yield*zc,Z=yield*G.listServers();if(yield*I.log(Xm("MCP Servers")),Z.length===0)return yield*I.info("No MCP servers configured."),yield*I.log(vN("Config","~/.agents/mcp.json")),yield*I.log(Db()),{shouldContinue:!0};for(let b of Z){let W=yield*G.isConnected(b.name),l=b.enabled===!1?"disabled":"enabled",Y=W?"connected":"disconnected";if(W)yield*I.log(NoG(b.name));else yield*I.log(VoG(b.name));if(yield*I.log(jd("Status",`${l}, ${Y}`)),yield*I.log(jd("Transport",b.transport??"stdio")),Fe(b)){let N=`${b.command}${b.args?.length?" "+b.args.join(" "):""}`;yield*I.log(jd("Command",N))}else if(Qe(b))yield*I.log(jd("URL",b.url));yield*I.log(Db())}return yield*I.log(LB(`Total: ${Z.length} server(s)`)),yield*I.log(Db()),{shouldContinue:!0}})}function bSb(I,G,Z,b,W,l){return w.gen(function*(){let Y=G[0]?.toLowerCase();if(Y==="allow"){let d=G.slice(1).join(" ").trim();if(!d)return yield*I.error("Usage: /mode allow <command prefix>"),yield*I.info("Example: /mode allow git status"),yield*I.log(""),{shouldContinue:!0};return yield*I.success(`Auto-approving command: ${d}`),yield*I.log(""),{shouldContinue:!0,addAutoApprovedCommand:d}}if(Y==="disallow"){let d=G.slice(1).join(" ").trim();if(!d)return yield*I.error("Usage: /mode disallow <command prefix>"),yield*I.log(""),{shouldContinue:!0};return yield*I.success(`Removed auto-approval for: ${d}`),yield*I.log(""),{shouldContinue:!0,removeAutoApprovedCommand:d}}if(Y==="safe")return yield*I.success("Switched to safe mode — all tool calls require approval"),yield*I.log(""),{shouldContinue:!0,newAutoApprovePolicy:!1};if(Y==="yolo")return yield*I.success("Switched to yolo mode — all tool calls auto-approved"),yield*I.log(""),{shouldContinue:!0,newAutoApprovePolicy:!0};if(Y)return yield*I.error(`Unknown mode: ${Y}`),yield*I.info("Available modes: safe, yolo, allow <cmd>, disallow <cmd>"),yield*I.log(""),{shouldContinue:!0};let N=!Z,c=Z===!0||Z==="high-risk",X=yield*I.select("Select tool approval mode:",{choices:[{name:`safe — require approval for every tool call${N?" (current)":""}`,value:"safe"},{name:`yolo — auto-approve all tool calls${c?" (current)":""}`,value:"yolo"}]});if(b?.length){let d=new Set(W??[]);yield*I.log(Db()),yield*I.log(BF("Auto-approved Commands"));for(let F of b){let Q=d.has(F)?"(always)":"(session)";yield*I.log(E5(F,Q))}}if(l?.length){yield*I.log(Db()),yield*I.log(BF("Auto-approved Tools"));for(let d of l)yield*I.log(OF(d))}if(!X)return{shouldContinue:!0};if(X==="yolo")return yield*I.success("Switched to yolo mode — all tool calls auto-approved"),yield*I.log(""),{shouldContinue:!0,newAutoApprovePolicy:!0};return yield*I.success("Switched to safe mode — all tool calls require approval"),yield*I.log(""),{shouldContinue:!0,newAutoApprovePolicy:!1}})}function lSb(I,G){return w.tryPromise({try:async()=>{return(await EV(I,G))?.contextWindow??vV},catch:()=>Error("Failed to fetch model metadata")}).pipe(w.catchAll(()=>w.succeed(vV)))}function OoG(I){let G=0;if(I.content)G=Math.ceil(I.content.length/4);let Z=0;if(I.tool_calls)Z=Math.ceil(JSON.stringify(I.tool_calls).length/4);else if(I.role==="tool"&&I.tool_call_id)Z=10;return G+Z+4}function b3(I){if(I>=1e6)return`${(I/1e6).toFixed(1)}M`;if(I>=1000)return`${(I/1000).toFixed(1)}k`;return I.toString()}function YSb(I,G){let Z=Math.floor(G*WSb),b=G-Z,W=I.find((Q)=>Q.role==="system"),l=I.filter((Q)=>Q.role!=="system"),Y=W?OoG(W):0,N=0;if(W?.content){let Q=W.content.match(/\nSkills:\n[\s\S]*?<available_skills>[\s\S]*?<\/available_skills>\n/);if(Q){let m=Math.ceil(Q[0].length/4);N+=m,Y-=m}}let c=0,X=0;for(let Q of l){let m=OoG(Q);if(Q.role==="tool"&&(Q.name==="load_skill"||Q.name==="load_skill_section"))N+=m;else if(Q.role==="tool"||Q.role==="assistant"&&Q.tool_calls)c+=m;else X+=m}let d=Y+c+N+X,F=Math.max(0,b-d);return{systemPromptTokens:Y,toolsTokens:c,skillsTokens:N,messagesTokens:X,totalUsed:d,freeSpace:F,autocompactBuffer:Z,contextWindow:G}}function NSb(I){let{totalUsed:G,freeSpace:Z,autocompactBuffer:b,contextWindow:W}=I,l=Math.round(G/W*nA),Y=Math.round(Z/W*nA),N=Math.round(b/W*nA),c=l+Y+N,X=Y;if(c!==nA)X=nA-l-N;let d=[];for(let Q=0;Q<l;Q++)d.push(C5.used);for(let Q=0;Q<Math.max(0,X);Q++)d.push(C5.free);for(let Q=0;Q<N;Q++)d.push(C5.buffer);while(d.length<nA)d.push(C5.free);d.length=nA;let F=[];for(let Q=0;Q<fq;Q++){let m=d.slice(Q*fq,(Q+1)*fq);F.push(m.join(" "))}return F}function VSb(I,G,Z){return w.gen(function*(){let b=yield*Dl,W=G.config.llmProvider,l=G.config.llmModel,Y=yield*lSb(l,W),N=yield*b.getToolDefinitions(),c=JSON.stringify(N),X=Math.ceil(c.length/4),d=YSb(Z,Y),F={...d,toolsTokens:d.toolsTokens+X,totalUsed:d.totalUsed+X,freeSpace:Math.max(0,d.freeSpace-X)},Q=Math.round(F.totalUsed/Y*100),m=(F.systemPromptTokens/Y*100).toFixed(1),R=(F.toolsTokens/Y*100).toFixed(1),H=(F.skillsTokens/Y*100).toFixed(1),h=(F.messagesTokens/Y*100).toFixed(1),E=(F.freeSpace/Y*100).toFixed(1),C=(F.autocompactBuffer/Y*100).toFixed(1),J=NSb(F);yield*I.log(Xm("Context Usage"));let y=`${W}/${l}`,v=`${b3(F.totalUsed)}/${b3(Y)} tokens (${Q}%)`;return yield*I.log(` ${J[0]} ${y} · ${v}`),yield*I.log(` ${J[1]}`),yield*I.log(` ${J[2]} Estimated usage by category`),yield*I.log(` ${J[3]} ${C5.used} System prompt: ${b3(F.systemPromptTokens)} tokens (${m}%)`),yield*I.log(` ${J[4]} ${C5.used} System tools: ${b3(F.toolsTokens)} tokens (${R}%)`),yield*I.log(` ${J[5]} ${C5.used} Skills: ${b3(F.skillsTokens)} tokens (${H}%)`),yield*I.log(` ${J[6]} ${C5.used} Messages: ${b3(F.messagesTokens)} tokens (${h}%)`),yield*I.log(` ${J[7]} ${C5.free} Free space: ${b3(F.freeSpace)} (${E}%)`),yield*I.log(` ${J[8]} ${C5.buffer} Autocompact buffer: ${b3(F.autocompactBuffer)} tokens (${C}%)`),yield*I.log(` ${J[9]}`),yield*I.log(""),{shouldContinue:!0}})}function XWI(I){if(I===0)return"$0.00";if(I>=0.01)return`$${I.toFixed(2)}`;if(I>=0.0001)return`$${I.toFixed(4)}`;return`$${I.toExponential(2)}`}function cSb(I,G,Z){return w.gen(function*(){yield*I.log(Xm("Conversation Cost"));let{promptTokens:b,completionTokens:W}=Z,l=b+W;if(yield*I.log(vN("Model",`${G.config.llmProvider}/${G.config.llmModel}`)),yield*I.log(vN("Input tokens",b.toLocaleString())),yield*I.log(vN("Output tokens",W.toLocaleString())),yield*I.log(vN("Total tokens",l.toLocaleString())),l===0)return yield*I.log(Db()),yield*I.info("No tokens used yet in this conversation."),yield*I.log(Db()),{shouldContinue:!0};let Y=yield*w.promise(()=>EV(G.config.llmModel,G.config.llmProvider)),N=Y?.inputPricePerMillion??0,c=Y?.outputPricePerMillion??0;yield*I.log(Db()),yield*I.log(BF("Pricing",void 0,void 0)),yield*I.log(jd("Input",`$${N.toFixed(2)}/1M tokens`)),yield*I.log(jd("Output",`$${c.toFixed(2)}/1M tokens`));let X=b/1e6*N,d=W/1e6*c,F=X+d;if(yield*I.log(Db()),yield*I.log(BF("Estimated Cost")),yield*I.log(jd("Input",XWI(X))),yield*I.log(jd("Output",XWI(d))),yield*I.log(jd("Total",XWI(F))),Y?.inputPricePerMillion===void 0&&Y?.outputPricePerMillion===void 0)yield*I.log(Db()),yield*I.warn("Pricing not available for this model on models.dev; total shown as $0.00.");return yield*I.log(Db()),{shouldContinue:!0}})}var C5,fq=10,nA,WSb=0.165;var xoG=g(()=>{gI();XoG();pC();UE();EU();JA();ER();oY();gE();YW();uv();pw();fN();Av();ga();pU();yR();Gq();nuI();bWI();tuI();C5={used:"⛁",free:"⛶",buffer:"⛝"},nA=fq*fq});function GgI(I){let G=I.trim();if(!G.startsWith("/"))return{type:"unknown",args:[]};let Z=G.slice(1).split(/\s+/),b=Z[0]?.toLowerCase()||"",W=Z.slice(1);switch(b){case"new":return{type:"new",args:W};case"fork":return{type:"fork",args:W};case"help":return{type:"help",args:W};case"clear":return{type:"clear",args:W};case"tools":return{type:"tools",args:W};case"agents":return{type:"agents",args:W};case"switch":return{type:"switch",args:W};case"compact":return{type:"compact",args:W};case"copy":return{type:"copy",args:W};case"model":return{type:"model",args:W};case"config":return{type:"config",args:W};case"skills":return{type:"skills",args:W};case"context":return{type:"context",args:W};case"cost":return{type:"cost",args:W};case"workflows":return{type:"workflows",args:W};case"stats":return{type:"stats",args:W};case"mcp":return{type:"mcp",args:W};case"mode":return{type:"mode",args:W};case"resume":return{type:"resume",args:W};default:return{type:"unknown",args:[b,...W]}}}var ZgI=g(()=>{boG();xoG()});import*as sq from"node:path";function MoG(){return sq.join(Vk(),"command-approvals.json")}function oq(){return w.gen(function*(){let I=yield*bG.FileSystem,G=MoG(),Z=yield*I.readFileString(G).pipe(w.catchAll((b)=>b&&typeof b==="object"&&("_tag"in b)&&b._tag==="SystemError"&&b.reason==="NotFound"?w.succeed(""):w.fail(b instanceof Error?b:Error(String(b)))));if(Z==="")return{};try{let b=JSON.parse(Z);return b&&typeof b==="object"?b:{}}catch{return{}}})}function bgI(I){return w.gen(function*(){let G=yield*bG.FileSystem,Z=MoG(),b=sq.dirname(Z),W=sq.join(b,`.command-approvals-${Date.now()}-${Math.random().toString(36).slice(2)}.tmp`);yield*G.makeDirectory(b,{recursive:!0}).pipe(w.catchAll((l)=>w.fail(l instanceof Error?l:Error(String(l))))),yield*G.writeFileString(W,JSON.stringify(I,null,2)).pipe(w.catchAll((l)=>w.fail(l instanceof Error?l:Error(String(l))))),yield*G.rename(W,Z).pipe(w.tapError(()=>G.remove(W).pipe(w.catchAll(()=>w.void))),w.catchAll((l)=>w.fail(l instanceof Error?l:Error(String(l)))))})}function WgI(I,G){return w.gen(function*(){let Z=yield*oq(),b=Z[I];if(b&&b.lastSessionId===G)return b.sessionCount;let W=(b?.sessionCount??0)+1,l=b?.nextPromptAt??XSb;return Z[I]={sessionCount:W,lastSessionId:G,nextPromptAt:l},yield*bgI(Z),W})}function KoG(I){return w.gen(function*(){let G=yield*oq();delete G[I],yield*bgI(G)})}function aoG(I){return w.gen(function*(){let G=yield*oq(),Z=G[I];if(!Z)return;let b=Z.nextPromptAt;G[I]={...Z,nextPromptAt:Z.sessionCount+b*dSb},yield*bgI(G)})}var XSb=3,dSb=3;var joG=g(()=>{_b();gI();Q0()});class DoG{startChatSession(I,G){return w.gen(function*(){let Z=yield*ZZ,b=yield*MG,W=ruI(I.name);yield*b.setSessionId(W);let l=OB(),Y=yield*QG;yield*cWI(I,l).pipe(w.catchAll(()=>w.gen(function*(){yield*b.error("Session initialization error")}))),UB(I.id,l,Y,EI.setWorkingDirectory),yield*$uI(I,W),EI.resetRunStats({provider:I.config.llmProvider,model:I.config.llmModel});let N=!0,c=G?.initialHistory??[],X=0,d={promptTokens:0,completionTokens:0},F=void 0,Q=[],m=[],R=new Date,H=R.toISOString(),h=G?.initialConversationTitle??null,E=yield*YZ,C=yield*E.appConfig;if(C.autoApprovedCommands?.length)Q=[...C.autoApprovedCommands];EI.registerModeSwitchHandler((v)=>{let A=v==="yolo";if(F!==A){F=A,EI.setModeIsYolo(A);let u=v==="yolo"?"\uD83D\uDE80 Switched to yolo mode — all tool calls auto-approved":"\uD83D\uDEE1️ Switched to safe mode — all tool calls require approval";EI.showModeToast(u)}});let J=2000,y=!1;while(N){let v,A=EI.peekQueue();if(A.length>0&&!y)EI.takeQueue(),v=A,yield*Z.user(v);else{let O={commandSuggestions:!0,...A.length>0?{defaultValue:A}:{}};if(v=yield*Z.ask("You:",O).pipe(w.catchAll((U)=>{if(U instanceof Error&&(U.name==="ExitPromptError"||U.message.includes("SIGINT")))return w.succeed("/exit");return w.fail(U instanceof Error?U:Error(String(U)))})),A.length>0)EI.clearQueue()}y=!1;let u=(v??"").trim(),L=u.toLowerCase();if(L==="/exit"||L==="exit"||L==="quit"){yield*Z.info("\uD83D\uDC4B Goodbye!"),EI.registerModeSwitchHandler(null);try{yield*(yield*zc).disconnectAllServers().pipe(w.catchAll((U)=>w.gen(function*(){let x=yield*MG,D=U instanceof Error?U.message:String(U);yield*x.debug(`Error during MCP cleanup: ${D}`)})))}catch{}N=!1;continue}if(!v||u.length===0){yield*Z.log("(Tip) Type a message and press Enter, '/help' for commands, or '/exit' to quit.");continue}if(h===null&&u.length>0&&!u.startsWith("/"))h=u.slice(0,80);let z=v;if(u.startsWith("/")){let O=GgI(v),U=O.type==="workflows"&&O.args.length>0?O.args.join(" ").trim():null;if(U!==null)z=U;else{let x=yield*E.appConfig,D={agent:I,conversationId:l,conversationHistory:c,sessionId:W,sessionUsage:d,sessionStartedAt:R,...F!==void 0?{autoApprovePolicy:F}:{},...Q.length>0?{autoApprovedCommands:Q}:{},...x.autoApprovedCommands?.length?{persistedAutoApprovedCommands:x.autoApprovedCommands}:{},...m.length>0?{autoApprovedTools:m}:{}},a=yield*IgI(O,D);if(a.saveCurrentHistory&&h!==null&&c.length>0){let j={conversationId:l,title:h,agentId:I.id,startedAt:H,endedAt:new Date().toISOString(),messageCount:c.length,messages:c};yield*PuI(j).pipe(w.catchAll(()=>w.void))}if(a.newConversationId!==void 0){l=a.newConversationId,h=null,H=new Date().toISOString(),d={promptTokens:0,completionTokens:0};let j=yield*QG;yield*cWI(I,l).pipe(w.catchAll(()=>w.gen(function*(){yield*b.error("Session initialization error")}))),UB(I.id,l,j,EI.setWorkingDirectory)}if(a.newAgent!==void 0){I=a.newAgent;let j=yield*QG;UB(I.id,l,j,EI.setWorkingDirectory)}if(a.newHistory!==void 0)c=a.newHistory,X=0,h=null;if(a.resetStartedAt)H=new Date().toISOString();if(a.newAutoApprovePolicy!==void 0)F=a.newAutoApprovePolicy||void 0,EI.setModeIsYolo(F===!0||F==="high-risk");if(a.addAutoApprovedCommand){if(!Q.includes(a.addAutoApprovedCommand))Q.push(a.addAutoApprovedCommand);let j=yield*bG.FileSystem,q=AG.succeed(bG.FileSystem,j);yield*w.forkDaemon(WgI(a.addAutoApprovedCommand,W).pipe(w.catchAll(()=>w.void),w.provide(q)))}if(a.removeAutoApprovedCommand)Q=Q.filter((j)=>j!==a.removeAutoApprovedCommand);continue}}yield*w.gen(function*(){let O=yield*bG.FileSystem,U=AG.succeed(bG.FileSystem,O),x=()=>F,D={agent:I,userInput:z,conversationId:l,sessionId:W,conversationHistory:c,...G?.stream!==void 0?{stream:G.stream}:{},...G?.maxIterations!==void 0?{maxIterations:G.maxIterations}:{},autoApprovePolicy:x,autoApprovedCommands:Q,autoApprovedTools:m,onAutoApproveCommand:(n)=>w.gen(function*(){if(!Q.includes(n))Q.push(n);yield*w.forkDaemon(WgI(n,W).pipe(w.catchAll(()=>w.void),w.provide(U)))}),onAutoApproveTool:(n)=>{if(!m.includes(n))m.push(n)},checkQueuedMessage:()=>{let n=EI.takeQueue();if(n.length===0)return;return w.runSync(Z.user(n)),n}};EI.setChatBusy(!0);let a=yield*uc.run(D).pipe(w.catchAll((n)=>w.gen(function*(){y=!0,EI.setActivity({phase:"idle"});let T={agentId:I.id,conversationId:l||void 0,errorMessage:String(n)};if(n instanceof bw||n instanceof RR||n instanceof yQ)T.errorType=n._tag,T.provider=n.provider;if(n instanceof Error&&n.stack)T.stack=n.stack;if(yield*b.error("Agent execution error",T),yield*Z.log(""),n instanceof bw)yield*Z.warn("Rate limit exceeded. The request was too large or you've hit your API limits."),yield*Z.log(" Please try again in a moment or consider using a smaller context."),yield*Z.log(` Error details: ${n.message}`);else if(n instanceof RR){let K=n.message.split(" | ")[0]||n.message;if(JC(n))yield*Z.warn(`Could not reach the LLM API (retries exhausted): ${K}`),yield*Z.log(" Check your network connection and try again.");else yield*Z.error(`LLM request failed: ${K}`),yield*Z.log(" This might be a temporary issue. Please try again.")}else if(n instanceof yQ)yield*Z.error(`Authentication failed: ${n.message}`),yield*Z.log(` Run 'jazz config set llm.${n.provider}.api_key <key>' or 'jazz wizard' to fix.`);else yield*Z.error(`Error: ${String(n)}`);return yield*Z.log(""),{conversationId:l||"",messages:c,content:""}})),w.ensuring(w.sync(()=>EI.setChatBusy(!1))));if(l=a.conversationId,"usage"in a&&a.usage)d={promptTokens:d.promptTokens+a.usage.promptTokens,completionTokens:d.completionTokens+a.usage.completionTokens};if(a.messages){let n=a.messages.slice(X);for(let T of n)yield*BB(W,T);if(X=a.messages.length,c=a.messages,c.length>J)c=c.slice(-J),X=c.length}else if(a.content){yield*BB(W,{role:"user",content:v});let T={role:"assistant",content:a.content};yield*BB(W,T),X+=2}else yield*BB(W,{role:"user",content:v}),X+=1;let j=yield*QG;UB(I.id,l,j,EI.setWorkingDirectory);let q=yield*E.appConfig,r=new Set(q.autoApprovedCommands??[]),_={},i=yield*oq().pipe(w.catchAll(()=>w.succeed(_)));for(let n of Q){if(r.has(n))continue;let T=i[n];if(!T||T.sessionCount<T.nextPromptAt)continue;if(yield*Z.confirm(`You've approved "${n}" in ${T.sessionCount} sessions. Always approve it?`,!0)){let S=[...q.autoApprovedCommands??[]];if(!S.includes(n))S.push(n),yield*E.set("autoApprovedCommands",S);yield*KoG(n).pipe(w.catchAll(()=>w.void)),yield*Z.success(`"${n}" will be auto-approved in all future sessions.`)}else yield*aoG(n).pipe(w.catchAll(()=>w.void))}})}if(h!==null&&c.length>0){let v={conversationId:l,title:h,agentId:I.id,startedAt:H,endedAt:new Date().toISOString(),messageCount:c.length,messages:c};yield*PuI(v).pipe(w.catchAll(()=>w.void))}}).pipe(w.catchAll(()=>w.void))}}function qoG(){return AG.succeed(AB,new DoG)}var ToG=g(()=>{_b();gI();OR();pC();oY();ebI();YW();Il();pw();fN();cN();YD();ZgI();tuI();joG();bWI()});function W3(I){try{return KI.some(JSON.parse(I))}catch{return KI.none()}}function SoG(I){return w.try({try:()=>JSON.parse(I),catch:(G)=>{let Z=G instanceof Error?G.message:typeof G==="string"?G:"Unknown parse error";return Error(`Failed to parse JSON: ${Z}`)}})}var dWI=g(()=>{gI()});function NgI(I){if(!I||typeof I!=="object")return;let G=I;if(typeof G.enabled!=="boolean")return;return{enabled:G.enabled}}function FSb(I,G){let b={...I};return b.mcpServers=Object.keys(G).length>0?G:void 0,b}class PoG{currentConfig;mcpOverrides;configPath;fs;currentRevision;constructor(I,G,Z,b){this.currentConfig=I,this.mcpOverrides=G,this.configPath=Z,this.fs=b,this.currentRevision=0}get(I){return w.sync(()=>FWI(this.currentConfig,I))}getOrElse(I,G){return w.sync(()=>{let Z=FWI(this.currentConfig,I);return Z===void 0||Z===null?G:Z})}getOrFail(I){return w.sync(()=>FWI(this.currentConfig,I))}has(I){return w.sync(()=>RSb(this.currentConfig,I))}setMcpOverride(I,G){if(I==="mcpServers")return w.gen(function*(){let l=G;this.mcpOverrides=Object.fromEntries(Object.entries(l??{}).map(([N,c])=>[N,NgI(c)]).filter((N)=>N[1]!==void 0));let Y=yield*foG(this.fs);return this.currentConfig={...this.currentConfig,mcpServers:$oG(Y,this.mcpOverrides)},!0}.bind(this));if(!I.startsWith("mcpServers."))return w.succeed(!1);let Z=I.slice(11),b=Z.indexOf("."),W=b===-1?Z:Z.slice(0,b);if(!W)return w.succeed(!1);if(b===-1){let l=G,Y=NgI(l)??{};this.mcpOverrides[W]={...this.mcpOverrides[W],...Y};let N=this.currentConfig.mcpServers?.[W];YgI(this.currentConfig,I,{...N,...l})}else{if(Z.slice(b+1)==="enabled")this.mcpOverrides[W]={...this.mcpOverrides[W],enabled:G};YgI(this.currentConfig,I,G)}return w.succeed(!0)}set(I,G){return w.gen(function*(){if(!(yield*this.setMcpOverride(I,G)))YgI(this.currentConfig,I,G);let b=this.configPath??`${Hv()}/config.json`;if(!this.configPath){this.configPath=b;let l=b.substring(0,b.lastIndexOf("/"));yield*this.fs.makeDirectory(l,{recursive:!0}).pipe(w.catchAll(()=>w.void))}let W=FSb(this.currentConfig,this.mcpOverrides);yield*this.fs.writeFileString(b,JSON.stringify(W,null,2)).pipe(w.catchAll(()=>w.void)),this.currentRevision+=1}.bind(this)).pipe(w.catchAll(()=>w.void))}get revision(){return w.succeed(this.currentRevision)}get appConfig(){return w.succeed(this.currentConfig)}}function $oG(I,G){let Z={};for(let[b,W]of Object.entries(I)){let l=G[b];Z[b]={...W,...l?.enabled!==void 0?{enabled:l.enabled}:{}}}return Z}function ioG(I,G){return AG.effect(YZ,w.gen(function*(){let Z=yield*bG.FileSystem,b=yield*QSb(Z,G),W=VgI(),l=b.fileConfig??void 0,Y=l?(()=>{let{mcpServers:F,...Q}=l;return Q})():void 0,N=I?xB(W,{...Y,logging:{...W.logging,...l?.logging,level:"debug"}}):xB(W,Y),c=yield*foG(Z),X={...noG(b.globalConfig?.mcpServers),...noG(b.localConfig?.mcpServers)},d=mSb(N,c,X);return new PoG(d,X,b.configPath,Z)}))}function VgI(){return{storage:{type:"file",path:WX()},logging:{level:"info",format:"plain"},google:{clientId:"",clientSecret:""},llm:{},web_search:{}}}function xB(I,G){if(!G)return I;return{storage:{...I.storage,...G.storage??{}},logging:{...I.logging,...G.logging??{}},...G.output&&{output:{...I.output,...G.output.showThinking!==void 0?{showThinking:G.output.showThinking}:{},...G.output.showToolExecution!==void 0?{showToolExecution:G.output.showToolExecution}:{},...G.output.mode!==void 0?{mode:G.output.mode}:{},...G.output.colorProfile!==void 0?{colorProfile:G.output.colorProfile}:{},...G.output.showMetrics!==void 0?{showMetrics:G.output.showMetrics}:{},...G.output.streaming&&{streaming:{...I.output?.streaming??{},...G.output.streaming}}}},...G.google&&{google:{...I.google,...G.google}},...G.llm&&{llm:{...I.llm??{},...G.llm}},...G.web_search&&{web_search:{...I.web_search??{},...G.web_search}},...G.mcpServers&&{mcpServers:{...I.mcpServers??{},...G.mcpServers}},...G.notifications&&{notifications:{...I.notifications??{},...G.notifications}},...G.autoApprovedCommands&&{autoApprovedCommands:G.autoApprovedCommands}}}function rq(I){if(I.startsWith("~")){let G=process.env.HOME||process.env.USERPROFILE||"";return G?I.replace(/^~/,G):I}return I}function _oG(I){let{storage:G,...Z}=I;return Z}function lgI(I,G){return w.gen(function*(){if(!(yield*I.exists(G).pipe(w.catchAll(()=>w.succeed(!1)))))return;let b=yield*I.readFileString(G).pipe(w.catchAll(()=>w.succeed("")));if(!b.trim())return;let W=W3(b);if(KI.isNone(W))return;let l=W.value;if(typeof l!=="object"||l===null)return;return l})}function QSb(I,G){return w.gen(function*(){if(G){let Q=rq(G);if(!(yield*I.exists(Q).pipe(w.catchAll(()=>w.succeed(!1)))))return yield*w.fail(new w1I({path:Q,suggestion:"Please ensure the file exists and the path is correct."}));let H=yield*I.readFileString(Q).pipe(w.catchAll((z)=>w.fail(new Xk({field:"file",message:`Cannot read config file at: ${Q}. Reason: ${String(z)}`,suggestion:"Check file permissions and ensure the file is readable."}))));if(!H)return yield*w.fail(new Xk({field:"file",message:`Config file is empty: ${Q}`,suggestion:"Add valid JSON configuration to the file."}));let h=W3(H);if(KI.isNone(h))return yield*w.fail(new Xk({field:"format",message:`Invalid JSON in config file: ${Q}`,suggestion:"Please ensure the file contains valid JSON."}));let E=h.value;if(typeof E!=="object"||E===null)return yield*w.fail(new Xk({field:"structure",message:`Config file must contain a valid configuration object: ${Q}`,value:E,suggestion:'Expected format: { "llm": {...}, "storage": {...}, ... }'}));let C=`${F1I()}/config.json`,J=yield*lgI(I,C),y=J?_oG(J):void 0,v=VgI(),A=xB(v,E),u=y?xB(A,y):A,L={configPath:Q,fileConfig:u,globalConfig:E};if(J)L.localConfig=J;return L}let Z=process.env.JAZZ_CONFIG_PATH,b=Z?rq(Z):`${Hv()}/config.json`,W=`${F1I()}/config.json`,l=yield*lgI(I,b),Y=yield*lgI(I,W),N=Y?_oG(Y):void 0;if(!l&&!N)return{configPath:b};let c=VgI(),X=l?xB(c,l):c,d=N?xB(X,N):X,F={configPath:b,fileConfig:d};if(l)F.globalConfig=l;if(Y)F.localConfig=Y;return F})}function foG(I){return w.gen(function*(){let G=[`${rq("~/.agents")}/mcp.json`,`${process.cwd()}/.agents/mcp.json`],Z={};for(let b of G){if(!(yield*I.exists(b).pipe(w.catchAll(()=>w.succeed(!1)))))continue;let l=yield*I.readFileString(b).pipe(w.catchAll(()=>w.succeed("")));if(!l.trim())continue;let Y=W3(l);if(KI.isNone(Y))continue;let N=Y.value;if(typeof N!=="object"||N===null)continue;let c=N,X="mcpServers"in c&&typeof c.mcpServers==="object"?c.mcpServers:c;for(let[d,F]of Object.entries(X))if(F&&typeof F==="object")Z[d]=F}return Z})}function noG(I){if(!I||typeof I!=="object")return{};let G={};for(let[Z,b]of Object.entries(I)){let W=NgI(b);if(W)G[Z]=W}return G}function mSb(I,G,Z){if(Object.keys(G).length===0)return I;return{...I,mcpServers:$oG(G,Z)}}function soG(I,G,Z){return w.gen(function*(){let b=`${rq("~/.agents")}/mcp.json`,W=b.substring(0,b.lastIndexOf("/"));yield*I.makeDirectory(W,{recursive:!0}).pipe(w.catchAll(()=>w.void));let l={};if(yield*I.exists(b).pipe(w.catchAll(()=>w.succeed(!1)))){let X=yield*I.readFileString(b).pipe(w.catchAll(()=>w.succeed("")));if(X.trim()){let d=W3(X);if(KI.isSome(d)&&typeof d.value==="object"&&d.value!==null){let F=d.value;if("mcpServers"in F&&typeof F.mcpServers==="object")l=F.mcpServers;else l=F}}}let N={...l,[G]:Z},c=JSON.stringify({mcpServers:N},null,2);yield*I.writeFileString(b,c).pipe(w.catchAll(()=>w.void))})}function ooG(I,G){return w.gen(function*(){let Z=`${rq("~/.agents")}/mcp.json`;if(!(yield*I.exists(Z).pipe(w.catchAll(()=>w.succeed(!1)))))return;let W=yield*I.readFileString(Z).pipe(w.catchAll(()=>w.succeed("")));if(!W.trim())return;let l=W3(W);if(KI.isNone(l)||typeof l.value!=="object"||l.value===null)return;let Y=l.value,N;if("mcpServers"in Y&&typeof Y.mcpServers==="object")N={...Y.mcpServers};else N={...Y};delete N[G];let c=JSON.stringify({mcpServers:N},null,2);yield*I.writeFileString(Z,c).pipe(w.catchAll(()=>w.void))})}function FWI(I,G){let Z=G.split(".").filter(Boolean),b=I;for(let W of Z)if(b&&typeof b==="object"&&W in b)b=b[W];else return;return b}function RSb(I,G){return FWI(I,G)!==void 0}function YgI(I,G,Z){let b=G.split(".").filter(Boolean),W=I;for(let l=0;l<b.length;l++){let Y=b[l];if(l===b.length-1)W[Y]=Z;else{let N=W[Y];if(!N||typeof N!=="object")W[Y]={};W=W[Y]}}}var cgI=g(()=>{_b();gI();oY();cN();dWI();Q0()});import{spawn as HSb}from"child_process";import{homedir as hSb}from"os";import*as tq from"path";function roG(){return AG.effect(QG,w.gen(function*(){let I=yield*bG.FileSystem,G=hSb(),Z=new Map;function b(c){return c.conversationId?`${c.agentId}:${c.conversationId}`:c.agentId}function W(c){let X=c;if(X.startsWith('"')&&X.endsWith('"')||X.startsWith("'")&&X.endsWith("'"))X=X.slice(1,-1);if(X==="~")X=G;else if(X.startsWith("~/"))X=tq.join(G,X.slice(2));return X=X.replace(/\\(.)/g,"$1"),X}function l(c){if(c.includes(" ")||c.includes("(")||c.includes(")")||c.includes("&")||c.includes("|")){if(c.startsWith('"')&&c.endsWith('"')||c.startsWith("'")&&c.endsWith("'"))return c;return`"${c.replace(/"/g,"\\\"")}"`}return c}function Y(c,X,d){return w.gen(function*(){let F=yield*w.promise(()=>new Promise((R,H)=>{let h=HSb("find",[c,"-maxdepth",String(d),"-type","d","-iname",`*${X}*`],{stdio:["ignore","pipe","pipe"],timeout:1e4}),E="",C="";if(h.stdout)h.stdout.on("data",(J)=>{E+=J.toString()});if(h.stderr)h.stderr.on("data",(J)=>{C+=J.toString()});h.on("close",(J)=>{R({stdout:E.trim(),stderr:C.trim(),exitCode:J||0})}),h.on("error",(J)=>{H(J)})})).pipe(w.catchAll((R)=>w.succeed({stdout:"",stderr:R.message,exitCode:1}))),Q=F.stdout.split(`
7518
+ `)),{shouldContinue:!0}})}function STb(I,G){return w.gen(function*(){let b=yield*(yield*Dl).listToolsByCategory(),W=JX(G.config.tools,{agentId:G.id}),l=new Set(W),Y={};for(let[c,X]of Object.entries(b)){let d=X.filter((F)=>l.has(F));if(d.length>0)Y[c]=d}let N=yield*_Tb(G);if(yield*I.log(Xm(`Tools Available to ${G.name}`)),Object.keys(Y).length===0)yield*I.warn("This agent has no tools configured.");else{let c=Object.keys(Y).sort();for(let d of c){let F=Y[d];if(F&&F.length>0){yield*I.log(BF(d,F.length,"tool"));for(let Q of F)if(Q==="web_search"&&N)yield*I.log(E5(Q,N));else yield*I.log(OF(Q));yield*I.log(Db())}}let X=Object.values(Y).reduce((d,F)=>d+(F?.length||0),0);yield*I.log(LB(`Total: ${X} tools across ${c.length} categories`))}return yield*I.log(Db()),{shouldContinue:!0}})}function _Tb(I){return w.gen(function*(){let b=(yield*(yield*YZ).appConfig).web_search?.provider;if(b)return`via ${Z1.find((N)=>N.value===b)?.name??b}`;if(yield*(yield*Fd).supportsNativeWebSearch(I.config.llmProvider))return`via ${I.config.llmProvider.charAt(0).toUpperCase()+I.config.llmProvider.slice(1)} (native)`;return"no provider configured"}).pipe(w.catchAll(()=>w.succeed(null)))}function nTb(I,G){return w.gen(function*(){let Z=yield*lc,b=yield*YZ,W=yield*Z.listAgents();if(yield*I.log(Xm("Available Agents")),W.length===0)yield*I.warn("No agents found."),yield*I.info("Create one with: jazz agent create");else{let l=yield*b.get("wizard.lastUsedAgentId").pipe(w.map((N)=>typeof N==="string"?N:null),w.catchAll(()=>w.succeed(null))),Y=TA(W,l);for(let N of Y){if(N.id===G.id)yield*I.log(loG(N.name,"(current)"));else yield*I.log(YoG(N.name));if(yield*I.log(jd("ID",N.id)),N.description){let X=N.description.length>80?N.description.substring(0,77)+"...":N.description;yield*I.log(jd("Description",X))}if(yield*I.log(jd("Model",`${N.config.llmProvider}/${N.config.llmModel}`)),N.config.reasoningEffort)yield*I.log(jd("Reasoning",N.config.reasoningEffort));yield*I.log(Db())}yield*I.log(LB(`Total: ${Y.length} agent${Y.length===1?"":"s"}`))}return yield*I.log(Db()),{shouldContinue:!0}})}function PTb(I,G,Z){return w.gen(function*(){let b=yield*lc;if(Z.length>0){let Q=Z.join(" ").trim(),m=yield*U0(Q).pipe(w.map((R)=>({success:!0,agent:R})),w.catchAll((R)=>w.gen(function*(){if(R._tag==="StorageNotFoundError")yield*I.error(`Agent not found: ${Q}`),yield*I.info("Use '/agents' to see all available agents."),yield*I.log("");else yield*I.error(`Error loading agent: ${R instanceof Error?R.message:String(R)}`),yield*I.log("");return{success:!1}})));if(m.success){let R=m.agent;yield*I.success(`Switched to ${R.name} (${R.config.llmProvider}/${R.config.llmModel})`);let H=yield*w.promise(()=>EV(R.config.llmModel,R.config.llmProvider));if(H&&!H.supportsTools&&R.config.tools&&R.config.tools.length>0)yield*I.log(""),yield*I.warn(`⚠️ The current model (${R.config.llmModel}) does not support tools. Your configured tools will not be available.`);return yield*I.log(""),{shouldContinue:!0,newAgent:R}}return{shouldContinue:!0}}let W=yield*b.listAgents();if(W.length===0)return yield*I.warn("No agents available to switch to."),yield*I.info("Create one with: jazz agent create"),yield*I.log(""),{shouldContinue:!0};if(W.length===1)return yield*I.warn("Only one agent available. Cannot switch."),yield*I.info("Create more agents with: jazz agent create"),yield*I.log(""),{shouldContinue:!0};let Y=yield*(yield*YZ).get("wizard.lastUsedAgentId").pipe(w.map((Q)=>typeof Q==="string"?Q:null),w.catchAll(()=>w.succeed(null))),N=TA(W,Y);yield*I.info("History will be preserved after switching.");let c=N.map((Q)=>({name:`${Q.name} - ${Q.config.llmProvider}/${Q.config.llmModel}${Q.id===G.id?" (current)":""}`,value:Q.id})),X=yield*I.select("Select an agent to switch to:",{choices:c,default:G.id});if(!X)return{shouldContinue:!0};if(X===G.id)return yield*I.info("Already using this agent."),yield*I.log(""),{shouldContinue:!0};let d=yield*b.getAgent(X);yield*I.success(`Switched to ${d.name} (${d.config.llmProvider}/${d.config.llmModel})`);let F=yield*w.promise(()=>EV(d.config.llmModel,d.config.llmProvider));if(F&&!F.supportsTools&&d.config.tools&&d.config.tools.length>0)yield*I.log(""),yield*I.warn(`⚠️ The current model (${d.config.llmModel}) does not support tools. Your configured tools will not be available.`);return yield*I.log(""),{shouldContinue:!0,newAgent:d}})}function $Tb(I,G,Z,b,W){return w.gen(function*(){if(!Z||Z.length<5)return yield*I.warn("Not enough history to compact (minimum 5 messages)."),yield*I.log(""),{shouldContinue:!0};let l=Z.length-1;yield*I.info(`\uD83D\uDCD6 Reading ${l} messages from conversation history...`);try{let Y=Z.slice(1);yield*I.success(`\uD83D\uDCD6 Read ${l} messages from conversation history`),yield*I.log(""),yield*I.info("Analyzing content and extracting key information..."),yield*I.success("Analyzed content and extracted key information"),yield*I.log(""),yield*I.info("✨ Generating high-density summary...");let N=yield*uc.summarizeHistory(Y,G,b,W||"manual-compact");yield*I.success("✨ Generated high-density summary"),yield*I.log("");let c=[Z[0],N];return yield*I.success("Conversation context compacted successfully!"),yield*I.log(` Reduced from ${l+1} messages to 2 (system + summary)`),yield*I.log(" Earlier context compressed while preserving key information"),yield*I.log(""),{shouldContinue:!0,newHistory:c}}catch(Y){return yield*I.error(`Failed to compact history: ${Y instanceof Error?Y.message:String(Y)}`),yield*I.log(""),{shouldContinue:!0}}})}function iTb(I,G){return w.gen(function*(){let Z=null;for(let b=G.length-1;b>=0;b--){let W=G[b];if(W&&W.role==="assistant"&&W.content){Z=W.content;break}}if(!Z)return yield*I.warn("No agent response found to copy."),yield*I.log(""),{shouldContinue:!0};return yield*w.tryPromise({try:()=>new Promise((b,W)=>{let l=jTb("pbcopy");l.stdin.write(Z),l.stdin.end(),l.on("close",(Y)=>{if(Y===0)b();else W(Error(`pbcopy exited with code ${Y}`))}),l.on("error",(Y)=>{W(Y)})}),catch:(b)=>b instanceof Error?b:Error(String(b))}).pipe(w.flatMap(()=>w.all([I.success("Last agent response copied to clipboard!"),I.log("")])),w.catchAll((b)=>w.all([I.error(`Failed to copy to clipboard: ${b.message}`),I.log(" (Note: /copy currently requires pbcopy on macOS)"),I.log("")]))),{shouldContinue:!0}})}function fTb(I,G,Z){return w.gen(function*(){let b=yield*lc;if(Z.length===0)return yield*I.log(Xm("Current Model")),yield*I.log(vN("Provider",G.config.llmProvider)),yield*I.log(vN("Model",G.config.llmModel)),yield*I.log(vN("Reasoning",G.config.reasoningEffort??"default")),yield*I.log(Db()),yield*I.info("Usage: /model <provider>/<model> or /model reasoning <level>"),yield*I.log(Db()),{shouldContinue:!0};if(Z[0]==="reasoning"){let F=Z[1],Q=["low","medium","high","disable"];if(!F||!Q.includes(F))return yield*I.error(`Invalid reasoning level. Use: ${Q.join(", ")}`),yield*I.log(""),{shouldContinue:!0};let m={...G.config,reasoningEffort:F},R=yield*b.updateAgent(G.id,{config:m});yield*I.success(`Reasoning effort set to: ${F}`);let H=yield*w.promise(()=>EV(R.config.llmModel,R.config.llmProvider));if(H&&!H.supportsTools&&R.config.tools&&R.config.tools.length>0)yield*I.log(""),yield*I.warn(`⚠️ The current model (${R.config.llmModel}) does not support tools. Your configured tools will not be available.`);return yield*I.log(""),{shouldContinue:!0,newAgent:R}}let W=Z.join(" "),l=W.indexOf("/");if(l===-1)return yield*I.error("Format: /model <provider>/<model>"),yield*I.info("Example: /model openai/gpt-4o"),yield*I.log(""),{shouldContinue:!0};let Y=W.substring(0,l),N=W.substring(l+1);if(!(Y in Qd))return yield*I.error(`Unknown provider: ${Y}`),yield*I.info(`Available: ${Object.keys(Qd).join(", ")}`),yield*I.log(""),{shouldContinue:!0};let c={...G.config,llmProvider:Y,llmModel:N},X=yield*b.updateAgent(G.id,{config:c});yield*I.success(`Model switched to: ${Y}/${N}`);let d=yield*w.promise(()=>EV(X.config.llmModel,X.config.llmProvider));if(d&&!d.supportsTools&&X.config.tools&&X.config.tools.length>0)yield*I.log(""),yield*I.warn(`⚠️ The current model (${X.config.llmModel}) does not support tools. Your configured tools will not be available.`);return yield*I.log(""),{shouldContinue:!0,newAgent:X}})}function sTb(I,G,Z){return w.gen(function*(){let b=yield*lc;if(Z[0]==="tools"){let Y=yield*(yield*Dl).listToolsByCategory(),N=Object.values(Y).flat(),c=JX(G.config.tools,{agentId:G.id}),X=new Set(c),d=N.map((E)=>({name:E,value:E})),Q=[...yield*I.checkbox("Select tools to enable:",{choices:d,default:c})],m=Q.filter((E)=>!X.has(E)),R=c.filter((E)=>!Q.includes(E));for(let E of m)yield*I.success(`Enabled tool: ${E}`);for(let E of R)yield*I.success(`Disabled tool: ${E}`);if(m.length===0&&R.length===0)return yield*I.info("No changes made."),{shouldContinue:!0};let H={...G.config,tools:Q},h=yield*b.updateAgent(G.id,{config:H});return yield*I.log(""),{shouldContinue:!0,newAgent:h}}if(yield*I.log(Xm("Agent Configuration")),yield*I.log(vN("Name",G.name)),G.description)yield*I.log(vN("Description",G.description));yield*I.log(vN("Persona",G.config.persona)),yield*I.log(vN("Model",`${G.config.llmProvider}/${G.config.llmModel}`)),yield*I.log(vN("Reasoning",G.config.reasoningEffort??"—"));let W=JX(G.config.tools,{agentId:G.id});if(yield*I.log(vN("Tools",`${W.length} enabled`)),W.length>0){for(let l of W.slice(0,10))yield*I.log(OF(l));if(W.length>10)yield*I.log(coG(W.length-10))}return yield*I.log(Db()),yield*I.info("Subcommands: /config tools"),yield*I.log(Db()),{shouldContinue:!0}})}function oTb(I,G){return w.gen(function*(){return yield*I.clear(),yield*I.info(`Chat with ${G.name} - Screen cleared`),yield*I.info("Type '/help' to see available commands."),yield*I.info("Type '/exit' to end the conversation."),yield*I.log(""),{shouldContinue:!0}})}function rTb(I){return w.gen(function*(){let G=yield*W1;yield*I.log(Xm("Available Workflows"));let Z=yield*G.listWorkflows();if(Z.length===0)return yield*I.info("No workflows found."),yield*I.log(Db()),yield*I.info("Create a workflow by adding a WORKFLOW.md file to:"),yield*I.log(OF("./workflows/<name>/WORKFLOW.md (local)")),yield*I.log(OF("~/.jazz/workflows/<name>/WORKFLOW.md (global)")),yield*I.info("Or type /workflows create and the agent will guide you."),yield*I.log(Db()),{shouldContinue:!0};let{local:b,global:W,builtin:l}=GWI(Z);if(b.length>0){yield*I.log(BF("Local",b.length,"workflow"));for(let Y of b)yield*I.log(E5(Y.name,euI(Y)));yield*I.log(Db())}if(W.length>0){yield*I.log(BF("Global",W.length,"workflow"));for(let Y of W)yield*I.log(E5(Y.name,euI(Y)));yield*I.log(Db())}if(l.length>0){yield*I.log(BF("Built-in",l.length,"workflow"));for(let Y of l)yield*I.log(E5(Y.name,euI(Y)));yield*I.log(Db())}return yield*I.log(LB(`Total: ${Z.length} workflow(s)`)),yield*I.log(Db()),{shouldContinue:!0}})}function euI(I){let G=[I.description],Z=I.schedule?BE(I.schedule):null;if(I.schedule)G.push(Z?`(${Z})`:`[${I.schedule}]`);if(I.agent)G.push(`(agent: ${I.agent})`);return G.join(" ")}function tTb(I,G){return w.gen(function*(){return yield*I.error(`Unknown command: /${G.join(" ")}`),yield*I.info("Type '/help' to see available commands."),yield*I.log(""),{shouldContinue:!0}})}function eTb(I,G){return w.gen(function*(){let Z=yield*Tq(G.id).pipe(w.catchAll(()=>w.succeed({agentId:G.id,conversations:[]})));if(Z.conversations.length===0)return yield*I.info("No past conversations found for this agent."),yield*I.log(""),{shouldContinue:!0};let b=Z.conversations.map((d)=>{let Q=new Date(d.startedAt).toLocaleDateString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"});return{name:`${d.title} (${Q}, ${d.messageCount} messages)`,value:d.conversationId}}),W=yield*I.select("Select a conversation to resume:",{choices:b});if(!W)return yield*I.log("Resume cancelled"),yield*I.log(""),{shouldContinue:!0};let l=Z.conversations.find((d)=>d.conversationId===W);if(!l)return{shouldContinue:!0};let Y={role:"system",content:`Resuming conversation from ${new Date(l.startedAt).toLocaleString()}: ${l.title}`},N=l.messages.find((d)=>d.role==="system"),c=l.messages.filter((d)=>d.role!=="system"),X=[...N?[N]:[],Y,...c];return yield*I.success(`Resumed: ${l.title}`),yield*I.log(""),{shouldContinue:!0,newHistory:X,saveCurrentHistory:!0,resetStartedAt:!0}})}function ISb(I){return w.gen(function*(){let G=yield*Xw,{builtin:Z,global:b,agents:W,local:l}=yield*G.listSkillsBySource(),Y=Z.length+b.length+W.length+l.length;if(Y===0)return yield*I.warn("No skills found."),yield*I.log(Db()),yield*I.info("Create a skill by adding a SKILL.md file to:"),yield*I.log(OF("./skills/<name>/SKILL.md (local)")),yield*I.log(OF("~/.jazz/skills/<name>/SKILL.md (global)")),yield*I.log(OF("~/.agents/skills/<name>/SKILL.md (shared agents)")),yield*I.log(Db()),{shouldContinue:!0};yield*I.log(Xm("Available Skills"));let N=0;if(Z.length>0){N++;let c=[...Z].sort((X,d)=>X.name.localeCompare(d.name));yield*I.log(BF("Built-in",Z.length,"skill"));for(let X of c)yield*I.log(E5(X.name,X.description));yield*I.log(Db())}if(b.length>0){N++;let c=[...b].sort((X,d)=>X.name.localeCompare(d.name));yield*I.log(BF("Global",b.length,"skill"));for(let X of c)yield*I.log(E5(X.name,X.description));yield*I.log(Db())}if(W.length>0){N++;let c=[...W].sort((X,d)=>X.name.localeCompare(d.name));yield*I.log(BF("Agents",W.length,"skill"));for(let X of c)yield*I.log(E5(X.name,X.description));yield*I.log(Db())}if(l.length>0){N++;let c=[...l].sort((X,d)=>X.name.localeCompare(d.name));yield*I.log(BF("Local",l.length,"skill"));for(let X of c)yield*I.log(E5(X.name,X.description));yield*I.log(Db())}return yield*I.log(LB(`Total: ${Y} ${Y===1?"skill":"skills"} across ${N} ${N===1?"source":"sources"}`)),yield*I.log(Db()),{shouldContinue:!0}})}function GSb(I,G,Z){return w.gen(function*(){yield*I.log(Xm("Session Statistics"));let W=new Date().getTime()-Z.sessionStartedAt.getTime(),l=Math.floor(W/1000),Y=Math.floor(l/60),N=Math.floor(Y/60),c=[];if(N>0)c.push(`${N}h`);if(Y%60>0||N>0)c.push(`${Y%60}m`);c.push(`${l%60}s`);let X=c.join(" ");yield*I.log(vN("Agent",`${G.name} (${G.id})`)),yield*I.log(vN("Model",`${G.config.llmProvider}/${G.config.llmModel}`)),yield*I.log(vN("Reasoning",G.config.reasoningEffort??"default"));let d=G.config.tools?.length??0;yield*I.log(vN("Tools",`${d} available`));let Q=yield*(yield*QG).getCwd(Z.conversationId?{agentId:G.id,conversationId:Z.conversationId}:{agentId:G.id});yield*I.log(vN("Directory",Q)),yield*I.log(Db()),yield*I.log(vN("Duration",X)),yield*I.log(vN("Messages",`${Z.conversationHistory.length}`));let{promptTokens:m,completionTokens:R}=Z.sessionUsage,H=m+R;yield*I.log(vN("Tokens",`${H.toLocaleString()} (in: ${m.toLocaleString()}, out: ${R.toLocaleString()})`));let h=yield*w.promise(()=>EV(G.config.llmModel,G.config.llmProvider)),E=h?.inputPricePerMillion??0,C=h?.outputPricePerMillion??0,J=m/1e6*E,y=R/1e6*C,v=J+y;return yield*I.log(vN("Est. cost",XWI(v))),yield*I.log(Db()),{shouldContinue:!0}})}function ZSb(I){return w.gen(function*(){let G=yield*zc,Z=yield*G.listServers();if(yield*I.log(Xm("MCP Servers")),Z.length===0)return yield*I.info("No MCP servers configured."),yield*I.log(vN("Config","~/.agents/mcp.json")),yield*I.log(Db()),{shouldContinue:!0};for(let b of Z){let W=yield*G.isConnected(b.name),l=b.enabled===!1?"disabled":"enabled",Y=W?"connected":"disconnected";if(W)yield*I.log(NoG(b.name));else yield*I.log(VoG(b.name));if(yield*I.log(jd("Status",`${l}, ${Y}`)),yield*I.log(jd("Transport",b.transport??"stdio")),Fe(b)){let N=`${b.command}${b.args?.length?" "+b.args.join(" "):""}`;yield*I.log(jd("Command",N))}else if(Qe(b))yield*I.log(jd("URL",b.url));yield*I.log(Db())}return yield*I.log(LB(`Total: ${Z.length} server(s)`)),yield*I.log(Db()),{shouldContinue:!0}})}function bSb(I,G,Z,b,W,l){return w.gen(function*(){let Y=G[0]?.toLowerCase();if(Y==="allow"){let d=G.slice(1).join(" ").trim();if(!d)return yield*I.error("Usage: /mode allow <command prefix>"),yield*I.info("Example: /mode allow git status"),yield*I.log(""),{shouldContinue:!0};return yield*I.success(`Auto-approving command: ${d}`),yield*I.log(""),{shouldContinue:!0,addAutoApprovedCommand:d}}if(Y==="disallow"){let d=G.slice(1).join(" ").trim();if(!d)return yield*I.error("Usage: /mode disallow <command prefix>"),yield*I.log(""),{shouldContinue:!0};return yield*I.success(`Removed auto-approval for: ${d}`),yield*I.log(""),{shouldContinue:!0,removeAutoApprovedCommand:d}}if(Y==="safe")return yield*I.success("Switched to safe mode — all tool calls require approval"),yield*I.log(""),{shouldContinue:!0,newAutoApprovePolicy:!1};if(Y==="yolo")return yield*I.success("Switched to yolo mode — all tool calls auto-approved"),yield*I.log(""),{shouldContinue:!0,newAutoApprovePolicy:!0};if(Y)return yield*I.error(`Unknown mode: ${Y}`),yield*I.info("Available modes: safe, yolo, allow <cmd>, disallow <cmd>"),yield*I.log(""),{shouldContinue:!0};let N=!Z,c=Z===!0||Z==="high-risk",X=yield*I.select("Select tool approval mode:",{choices:[{name:`safe — require approval for every tool call${N?" (current)":""}`,value:"safe"},{name:`yolo — auto-approve all tool calls${c?" (current)":""}`,value:"yolo"}]});if(b?.length){let d=new Set(W??[]);yield*I.log(Db()),yield*I.log(BF("Auto-approved Commands"));for(let F of b){let Q=d.has(F)?"(always)":"(session)";yield*I.log(E5(F,Q))}}if(l?.length){yield*I.log(Db()),yield*I.log(BF("Auto-approved Tools"));for(let d of l)yield*I.log(OF(d))}if(!X)return{shouldContinue:!0};if(X==="yolo")return yield*I.success("Switched to yolo mode — all tool calls auto-approved"),yield*I.log(""),{shouldContinue:!0,newAutoApprovePolicy:!0};return yield*I.success("Switched to safe mode — all tool calls require approval"),yield*I.log(""),{shouldContinue:!0,newAutoApprovePolicy:!1}})}function lSb(I,G){return w.tryPromise({try:async()=>{return(await EV(I,G))?.contextWindow??vV},catch:()=>Error("Failed to fetch model metadata")}).pipe(w.catchAll(()=>w.succeed(vV)))}function OoG(I){let G=0;if(I.content)G=Math.ceil(I.content.length/4);let Z=0;if(I.tool_calls)Z=Math.ceil(JSON.stringify(I.tool_calls).length/4);else if(I.role==="tool"&&I.tool_call_id)Z=10;return G+Z+4}function b3(I){if(I>=1e6)return`${(I/1e6).toFixed(1)}M`;if(I>=1000)return`${(I/1000).toFixed(1)}k`;return I.toString()}function YSb(I,G){let Z=Math.floor(G*WSb),b=G-Z,W=I.find((Q)=>Q.role==="system"),l=I.filter((Q)=>Q.role!=="system"),Y=W?OoG(W):0,N=0;if(W?.content){let Q=W.content.match(/\nSkills:\n[\s\S]*?<available_skills>[\s\S]*?<\/available_skills>\n/);if(Q){let m=Math.ceil(Q[0].length/4);N+=m,Y-=m}}let c=0,X=0;for(let Q of l){let m=OoG(Q);if(Q.role==="tool"&&(Q.name==="load_skill"||Q.name==="load_skill_section"))N+=m;else if(Q.role==="tool"||Q.role==="assistant"&&Q.tool_calls)c+=m;else X+=m}let d=Y+c+N+X,F=Math.max(0,b-d);return{systemPromptTokens:Y,toolsTokens:c,skillsTokens:N,messagesTokens:X,totalUsed:d,freeSpace:F,autocompactBuffer:Z,contextWindow:G}}function NSb(I){let{totalUsed:G,freeSpace:Z,autocompactBuffer:b,contextWindow:W}=I,l=Math.round(G/W*nA),Y=Math.round(Z/W*nA),N=Math.round(b/W*nA),c=l+Y+N,X=Y;if(c!==nA)X=nA-l-N;let d=[];for(let Q=0;Q<l;Q++)d.push(C5.used);for(let Q=0;Q<Math.max(0,X);Q++)d.push(C5.free);for(let Q=0;Q<N;Q++)d.push(C5.buffer);while(d.length<nA)d.push(C5.free);d.length=nA;let F=[];for(let Q=0;Q<fq;Q++){let m=d.slice(Q*fq,(Q+1)*fq);F.push(m.join(" "))}return F}function VSb(I,G,Z){return w.gen(function*(){let b=yield*Dl,W=G.config.llmProvider,l=G.config.llmModel,Y=yield*lSb(l,W),N=yield*b.getToolDefinitions(),c=JSON.stringify(N),X=Math.ceil(c.length/4),d=YSb(Z,Y),F={...d,toolsTokens:d.toolsTokens+X,totalUsed:d.totalUsed+X,freeSpace:Math.max(0,d.freeSpace-X)},Q=Math.round(F.totalUsed/Y*100),m=(F.systemPromptTokens/Y*100).toFixed(1),R=(F.toolsTokens/Y*100).toFixed(1),H=(F.skillsTokens/Y*100).toFixed(1),h=(F.messagesTokens/Y*100).toFixed(1),E=(F.freeSpace/Y*100).toFixed(1),C=(F.autocompactBuffer/Y*100).toFixed(1),J=NSb(F);yield*I.log(Xm("Context Usage"));let y=`${W}/${l}`,v=`${b3(F.totalUsed)}/${b3(Y)} tokens (${Q}%)`;return yield*I.log(` ${J[0]} ${y} · ${v}`),yield*I.log(` ${J[1]}`),yield*I.log(` ${J[2]} Estimated usage by category`),yield*I.log(` ${J[3]} ${C5.used} System prompt: ${b3(F.systemPromptTokens)} tokens (${m}%)`),yield*I.log(` ${J[4]} ${C5.used} System tools: ${b3(F.toolsTokens)} tokens (${R}%)`),yield*I.log(` ${J[5]} ${C5.used} Skills: ${b3(F.skillsTokens)} tokens (${H}%)`),yield*I.log(` ${J[6]} ${C5.used} Messages: ${b3(F.messagesTokens)} tokens (${h}%)`),yield*I.log(` ${J[7]} ${C5.free} Free space: ${b3(F.freeSpace)} (${E}%)`),yield*I.log(` ${J[8]} ${C5.buffer} Autocompact buffer: ${b3(F.autocompactBuffer)} tokens (${C}%)`),yield*I.log(` ${J[9]}`),yield*I.log(""),{shouldContinue:!0}})}function XWI(I){if(I===0)return"$0.00";if(I>=0.01)return`$${I.toFixed(2)}`;if(I>=0.0001)return`$${I.toFixed(4)}`;return`$${I.toExponential(2)}`}function cSb(I,G,Z){return w.gen(function*(){yield*I.log(Xm("Conversation Cost"));let{promptTokens:b,completionTokens:W}=Z,l=b+W;if(yield*I.log(vN("Model",`${G.config.llmProvider}/${G.config.llmModel}`)),yield*I.log(vN("Input tokens",b.toLocaleString())),yield*I.log(vN("Output tokens",W.toLocaleString())),yield*I.log(vN("Total tokens",l.toLocaleString())),l===0)return yield*I.log(Db()),yield*I.info("No tokens used yet in this conversation."),yield*I.log(Db()),{shouldContinue:!0};let Y=yield*w.promise(()=>EV(G.config.llmModel,G.config.llmProvider)),N=Y?.inputPricePerMillion??0,c=Y?.outputPricePerMillion??0;yield*I.log(Db()),yield*I.log(BF("Pricing",void 0,void 0)),yield*I.log(jd("Input",`$${N.toFixed(2)}/1M tokens`)),yield*I.log(jd("Output",`$${c.toFixed(2)}/1M tokens`));let X=b/1e6*N,d=W/1e6*c,F=X+d;if(yield*I.log(Db()),yield*I.log(BF("Estimated Cost")),yield*I.log(jd("Input",XWI(X))),yield*I.log(jd("Output",XWI(d))),yield*I.log(jd("Total",XWI(F))),Y?.inputPricePerMillion===void 0&&Y?.outputPricePerMillion===void 0)yield*I.log(Db()),yield*I.warn("Pricing not available for this model on models.dev; total shown as $0.00.");return yield*I.log(Db()),{shouldContinue:!0}})}var C5,fq=10,nA,WSb=0.165;var xoG=g(()=>{gI();XoG();pC();UE();EU();JA();ER();oY();gE();YW();uv();pw();fN();Av();ga();pU();yR();Gq();nuI();bWI();tuI();C5={used:"⛁",free:"⛶",buffer:"⛝"},nA=fq*fq});function GgI(I){let G=I.trim();if(!G.startsWith("/"))return{type:"unknown",args:[]};let Z=G.slice(1).split(/\s+/),b=Z[0]?.toLowerCase()||"",W=Z.slice(1);switch(b){case"new":return{type:"new",args:W};case"fork":return{type:"fork",args:W};case"help":return{type:"help",args:W};case"clear":return{type:"clear",args:W};case"tools":return{type:"tools",args:W};case"agents":return{type:"agents",args:W};case"switch":return{type:"switch",args:W};case"compact":return{type:"compact",args:W};case"copy":return{type:"copy",args:W};case"model":return{type:"model",args:W};case"config":return{type:"config",args:W};case"skills":return{type:"skills",args:W};case"context":return{type:"context",args:W};case"cost":return{type:"cost",args:W};case"workflows":return{type:"workflows",args:W};case"stats":return{type:"stats",args:W};case"mcp":return{type:"mcp",args:W};case"mode":return{type:"mode",args:W};case"resume":return{type:"resume",args:W};default:return{type:"unknown",args:[b,...W]}}}var ZgI=g(()=>{boG();xoG()});import*as sq from"node:path";function MoG(){return sq.join(Vk(),"command-approvals.json")}function oq(){return w.gen(function*(){let I=yield*bG.FileSystem,G=MoG(),Z=yield*I.readFileString(G).pipe(w.catchAll((b)=>b&&typeof b==="object"&&("_tag"in b)&&b._tag==="SystemError"&&b.reason==="NotFound"?w.succeed(""):w.fail(b instanceof Error?b:Error(String(b)))));if(Z==="")return{};try{let b=JSON.parse(Z);return b&&typeof b==="object"?b:{}}catch{return{}}})}function bgI(I){return w.gen(function*(){let G=yield*bG.FileSystem,Z=MoG(),b=sq.dirname(Z),W=sq.join(b,`.command-approvals-${Date.now()}-${Math.random().toString(36).slice(2)}.tmp`);yield*G.makeDirectory(b,{recursive:!0}).pipe(w.catchAll((l)=>w.fail(l instanceof Error?l:Error(String(l))))),yield*G.writeFileString(W,JSON.stringify(I,null,2)).pipe(w.catchAll((l)=>w.fail(l instanceof Error?l:Error(String(l))))),yield*G.rename(W,Z).pipe(w.tapError(()=>G.remove(W).pipe(w.catchAll(()=>w.void))),w.catchAll((l)=>w.fail(l instanceof Error?l:Error(String(l)))))})}function WgI(I,G){return w.gen(function*(){let Z=yield*oq(),b=Z[I];if(b&&b.lastSessionId===G)return b.sessionCount;let W=(b?.sessionCount??0)+1,l=b?.nextPromptAt??XSb;return Z[I]={sessionCount:W,lastSessionId:G,nextPromptAt:l},yield*bgI(Z),W})}function KoG(I){return w.gen(function*(){let G=yield*oq();delete G[I],yield*bgI(G)})}function aoG(I){return w.gen(function*(){let G=yield*oq(),Z=G[I];if(!Z)return;let b=Z.nextPromptAt;G[I]={...Z,nextPromptAt:Z.sessionCount+b*dSb},yield*bgI(G)})}var XSb=3,dSb=3;var joG=g(()=>{_b();gI();Q0()});class DoG{startChatSession(I,G){return w.gen(function*(){let Z=yield*ZZ,b=yield*MG,W=ruI(I.name);yield*b.setSessionId(W);let l=OB(),Y=yield*QG;yield*cWI(I,l).pipe(w.catchAll(()=>w.gen(function*(){yield*b.error("Session initialization error")}))),UB(I.id,l,Y,EI.setWorkingDirectory),yield*$uI(I,W),EI.resetRunStats({provider:I.config.llmProvider,model:I.config.llmModel});let N=!0,c=G?.initialHistory??[],X=0,d={promptTokens:0,completionTokens:0},F=void 0,Q=[],m=[],R=new Date,H=R.toISOString(),h=G?.initialConversationTitle??null,E=yield*YZ,C=yield*E.appConfig;if(C.autoApprovedCommands?.length)Q=[...C.autoApprovedCommands];EI.registerModeSwitchHandler((v)=>{let A=v==="yolo";if(F!==A){F=A,EI.setModeIsYolo(A);let u=v==="yolo"?"\uD83D\uDE80 Switched to yolo mode — all tool calls auto-approved":"\uD83D\uDEE1️ Switched to safe mode — all tool calls require approval";EI.showModeToast(u)}});let J=2000,y=!1;while(N){let v,A=EI.peekQueue();if(A.length>0&&!y)EI.takeQueue(),v=A,yield*Z.user(v);else{let O={commandSuggestions:!0,...A.length>0?{defaultValue:A}:{}};if(v=yield*Z.ask("You:",O).pipe(w.catchAll((U)=>{if(U instanceof Error&&(U.name==="ExitPromptError"||U.message.includes("SIGINT")))return w.succeed("/exit");return w.fail(U instanceof Error?U:Error(String(U)))})),A.length>0)EI.clearQueue()}y=!1;let u=(v??"").trim(),L=u.toLowerCase();if(L==="/exit"||L==="exit"||L==="quit"){yield*Z.info("\uD83D\uDC4B Goodbye!"),EI.registerModeSwitchHandler(null);try{yield*(yield*zc).disconnectAllServers().pipe(w.catchAll((U)=>w.gen(function*(){let x=yield*MG,D=U instanceof Error?U.message:String(U);yield*x.debug(`Error during MCP cleanup: ${D}`)})))}catch{}N=!1;continue}if(!v||u.length===0){yield*Z.log("(Tip) Type a message and press Enter, '/help' for commands, or '/exit' to quit.");continue}if(h===null&&u.length>0&&!u.startsWith("/"))h=u.slice(0,80);let z=v;if(u.startsWith("/")){let O=GgI(v),U=O.type==="workflows"&&O.args.length>0?O.args.join(" ").trim():null;if(U!==null)z=U;else{let x=yield*E.appConfig,D={agent:I,conversationId:l,conversationHistory:c,sessionId:W,sessionUsage:d,sessionStartedAt:R,...F!==void 0?{autoApprovePolicy:F}:{},...Q.length>0?{autoApprovedCommands:Q}:{},...x.autoApprovedCommands?.length?{persistedAutoApprovedCommands:x.autoApprovedCommands}:{},...m.length>0?{autoApprovedTools:m}:{}},a=yield*IgI(O,D);if(a.saveCurrentHistory&&h!==null&&c.length>0){let j={conversationId:l,title:h,agentId:I.id,startedAt:H,endedAt:new Date().toISOString(),messageCount:c.length,messages:c};yield*PuI(j).pipe(w.catchAll(()=>w.void))}if(a.newConversationId!==void 0){l=a.newConversationId,h=null,H=new Date().toISOString(),d={promptTokens:0,completionTokens:0};let j=yield*QG;yield*cWI(I,l).pipe(w.catchAll(()=>w.gen(function*(){yield*b.error("Session initialization error")}))),UB(I.id,l,j,EI.setWorkingDirectory)}if(a.newAgent!==void 0){I=a.newAgent;let j=yield*QG;UB(I.id,l,j,EI.setWorkingDirectory)}if(a.newHistory!==void 0)c=a.newHistory,X=0,h=null;if(a.resetStartedAt)H=new Date().toISOString();if(a.newAutoApprovePolicy!==void 0)F=a.newAutoApprovePolicy||void 0,EI.setModeIsYolo(F===!0||F==="high-risk");if(a.addAutoApprovedCommand){if(!Q.includes(a.addAutoApprovedCommand))Q.push(a.addAutoApprovedCommand);let j=yield*bG.FileSystem,q=AG.succeed(bG.FileSystem,j);yield*w.forkDaemon(WgI(a.addAutoApprovedCommand,W).pipe(w.catchAll(()=>w.void),w.provide(q)))}if(a.removeAutoApprovedCommand)Q=Q.filter((j)=>j!==a.removeAutoApprovedCommand);continue}}yield*w.gen(function*(){let O=yield*bG.FileSystem,U=AG.succeed(bG.FileSystem,O),x=()=>F,D={agent:I,userInput:z,conversationId:l,sessionId:W,conversationHistory:c,...G?.stream!==void 0?{stream:G.stream}:{},...G?.maxIterations!==void 0?{maxIterations:G.maxIterations}:{},autoApprovePolicy:x,autoApprovedCommands:Q,autoApprovedTools:m,onAutoApproveCommand:(n)=>w.gen(function*(){if(!Q.includes(n))Q.push(n);yield*w.forkDaemon(WgI(n,W).pipe(w.catchAll(()=>w.void),w.provide(U)))}),onAutoApproveTool:(n)=>{if(!m.includes(n))m.push(n)},checkQueuedMessage:()=>{let n=EI.takeQueue();if(n.length===0)return;return w.runSync(Z.user(n)),n}};EI.setChatBusy(!0);let a=yield*uc.run(D).pipe(w.catchAll((n)=>w.gen(function*(){y=!0,EI.setActivity({phase:"idle"});let T={agentId:I.id,conversationId:l||void 0,errorMessage:String(n)};if(n instanceof bw||n instanceof RR||n instanceof yQ)T.errorType=n._tag,T.provider=n.provider;if(n instanceof Error&&n.stack)T.stack=n.stack;if(yield*b.error("Agent execution error",T),yield*Z.log(""),n instanceof bw)yield*Z.warn("Rate limit exceeded. The request was too large or you've hit your API limits."),yield*Z.log(" Please try again in a moment or consider using a smaller context."),yield*Z.log(` Error details: ${n.message}`);else if(n instanceof RR){let K=n.message.split(" | ")[0]||n.message;if(JC(n))yield*Z.warn(`Could not reach the LLM API (retries exhausted): ${K}`),yield*Z.log(" Check your network connection and try again.");else yield*Z.error(`LLM request failed: ${K}`),yield*Z.log(" This might be a temporary issue. Please try again.")}else if(n instanceof yQ)yield*Z.error(`Authentication failed: ${n.message}`),yield*Z.log(` Run 'jazz config set llm.${n.provider}.api_key <key>' or 'jazz wizard' to fix.`);else yield*Z.error(`Error: ${String(n)}`);return yield*Z.log(""),{conversationId:l||"",messages:c,content:""}})),w.ensuring(w.sync(()=>EI.setChatBusy(!1))));if(l=a.conversationId,"usage"in a&&a.usage)d={promptTokens:d.promptTokens+a.usage.promptTokens,completionTokens:d.completionTokens+a.usage.completionTokens};if(a.messages){let n=a.messages.slice(X);for(let T of n)yield*BB(W,T);if(X=a.messages.length,c=a.messages,c.length>J)c=c.slice(-J),X=c.length}else if(a.content){yield*BB(W,{role:"user",content:v});let T={role:"assistant",content:a.content};yield*BB(W,T),X+=2}else yield*BB(W,{role:"user",content:v}),X+=1;let j=yield*QG;UB(I.id,l,j,EI.setWorkingDirectory);let q=yield*E.appConfig,r=new Set(q.autoApprovedCommands??[]),_={},i=yield*oq().pipe(w.catchAll(()=>w.succeed(_)));for(let n of Q){if(r.has(n))continue;let T=i[n];if(!T||T.sessionCount<T.nextPromptAt)continue;if(yield*Z.confirm(`You've approved "${n}" in ${T.sessionCount} sessions. Always approve it?`,!0)){let S=[...q.autoApprovedCommands??[]];if(!S.includes(n))S.push(n),yield*E.set("autoApprovedCommands",S);yield*KoG(n).pipe(w.catchAll(()=>w.void)),yield*Z.success(`"${n}" will be auto-approved in all future sessions.`)}else yield*aoG(n).pipe(w.catchAll(()=>w.void))}})}if(h!==null&&c.length>0){let v={conversationId:l,title:h,agentId:I.id,startedAt:H,endedAt:new Date().toISOString(),messageCount:c.length,messages:c};yield*PuI(v).pipe(w.catchAll(()=>w.void))}}).pipe(w.catchAll(()=>w.void))}}function qoG(){return AG.succeed(AB,new DoG)}var ToG=g(()=>{_b();gI();OR();pC();oY();ebI();YW();Il();pw();fN();cN();YD();ZgI();tuI();joG();bWI()});function W3(I){try{return KI.some(JSON.parse(I))}catch{return KI.none()}}function SoG(I){return w.try({try:()=>JSON.parse(I),catch:(G)=>{let Z=G instanceof Error?G.message:typeof G==="string"?G:"Unknown parse error";return Error(`Failed to parse JSON: ${Z}`)}})}var dWI=g(()=>{gI()});function NgI(I){if(!I||typeof I!=="object")return;let G=I;if(typeof G.enabled!=="boolean")return;return{enabled:G.enabled}}function FSb(I,G){let b={...I};return b.mcpServers=Object.keys(G).length>0?G:void 0,b}class PoG{currentConfig;mcpOverrides;configPath;fs;currentRevision;constructor(I,G,Z,b){this.currentConfig=I,this.mcpOverrides=G,this.configPath=Z,this.fs=b,this.currentRevision=0}get(I){return w.sync(()=>FWI(this.currentConfig,I))}getOrElse(I,G){return w.sync(()=>{let Z=FWI(this.currentConfig,I);return Z===void 0||Z===null?G:Z})}getOrFail(I){return w.sync(()=>FWI(this.currentConfig,I))}has(I){return w.sync(()=>RSb(this.currentConfig,I))}setMcpOverride(I,G){if(I==="mcpServers")return w.gen(function*(){let l=G;this.mcpOverrides=Object.fromEntries(Object.entries(l??{}).map(([N,c])=>[N,NgI(c)]).filter((N)=>N[1]!==void 0));let Y=yield*foG(this.fs);return this.currentConfig={...this.currentConfig,mcpServers:$oG(Y,this.mcpOverrides)},!0}.bind(this));if(!I.startsWith("mcpServers."))return w.succeed(!1);let Z=I.slice(11),b=Z.indexOf("."),W=b===-1?Z:Z.slice(0,b);if(!W)return w.succeed(!1);if(b===-1){let l=G,Y=NgI(l)??{};this.mcpOverrides[W]={...this.mcpOverrides[W],...Y};let N=this.currentConfig.mcpServers?.[W];YgI(this.currentConfig,I,{...N,...l})}else{if(Z.slice(b+1)==="enabled")this.mcpOverrides[W]={...this.mcpOverrides[W],enabled:G};YgI(this.currentConfig,I,G)}return w.succeed(!0)}set(I,G){return w.gen(function*(){if(!(yield*this.setMcpOverride(I,G)))YgI(this.currentConfig,I,G);let b=this.configPath??`${Hv()}/config.json`;if(!this.configPath){this.configPath=b;let l=b.substring(0,b.lastIndexOf("/"));yield*this.fs.makeDirectory(l,{recursive:!0}).pipe(w.catchAll(()=>w.void))}let W=FSb(this.currentConfig,this.mcpOverrides);yield*this.fs.writeFileString(b,JSON.stringify(W,null,2)).pipe(w.catchAll(()=>w.void)),this.currentRevision+=1}.bind(this)).pipe(w.catchAll(()=>w.void))}get revision(){return w.succeed(this.currentRevision)}get appConfig(){return w.succeed(this.currentConfig)}}function $oG(I,G){let Z={};for(let[b,W]of Object.entries(I)){let l=G[b];Z[b]={...W,...l?.enabled!==void 0?{enabled:l.enabled}:{}}}return Z}function ioG(I,G){return AG.effect(YZ,w.gen(function*(){let Z=yield*bG.FileSystem,b=yield*QSb(Z,G),W=VgI(),l=b.fileConfig??void 0,Y=l?(()=>{let{mcpServers:F,...Q}=l;return Q})():void 0,N=I?xB(W,{...Y,logging:{...W.logging,...l?.logging,level:"debug"}}):xB(W,Y),c=yield*foG(Z),X={...noG(b.globalConfig?.mcpServers),...noG(b.localConfig?.mcpServers)},d=mSb(N,c,X);return new PoG(d,X,b.configPath,Z)}))}function VgI(){return{storage:{type:"file",path:WX()},logging:{level:"info",format:"plain"},google:{clientId:"",clientSecret:""},llm:{},web_search:{}}}function xB(I,G){if(!G)return I;return{storage:{...I.storage,...G.storage??{}},logging:{...I.logging,...G.logging??{}},...G.output&&{output:{...I.output,...G.output.showThinking!==void 0?{showThinking:G.output.showThinking}:{},...G.output.showToolExecution!==void 0?{showToolExecution:G.output.showToolExecution}:{},...G.output.mode!==void 0?{mode:G.output.mode}:{},...G.output.colorProfile!==void 0?{colorProfile:G.output.colorProfile}:{},...G.output.showMetrics!==void 0?{showMetrics:G.output.showMetrics}:{},...G.output.streaming&&{streaming:{...I.output?.streaming??{},...G.output.streaming}}}},...G.google&&{google:{...I.google,...G.google}},...G.llm&&{llm:{...I.llm??{},...G.llm}},...G.web_search&&{web_search:{...I.web_search??{},...G.web_search}},...G.mcpServers&&{mcpServers:{...I.mcpServers??{},...G.mcpServers}},...G.notifications&&{notifications:{...I.notifications??{},...G.notifications}},...G.autoApprovedCommands&&{autoApprovedCommands:G.autoApprovedCommands},...G.maxRetries!==void 0&&{maxRetries:G.maxRetries},...G.telemetry&&{telemetry:{...I.telemetry??{},...G.telemetry}}}}function rq(I){if(I.startsWith("~")){let G=process.env.HOME||process.env.USERPROFILE||"";return G?I.replace(/^~/,G):I}return I}function _oG(I){let{storage:G,...Z}=I;return Z}function lgI(I,G){return w.gen(function*(){if(!(yield*I.exists(G).pipe(w.catchAll(()=>w.succeed(!1)))))return;let b=yield*I.readFileString(G).pipe(w.catchAll(()=>w.succeed("")));if(!b.trim())return;let W=W3(b);if(KI.isNone(W))return;let l=W.value;if(typeof l!=="object"||l===null)return;return l})}function QSb(I,G){return w.gen(function*(){if(G){let Q=rq(G);if(!(yield*I.exists(Q).pipe(w.catchAll(()=>w.succeed(!1)))))return yield*w.fail(new w1I({path:Q,suggestion:"Please ensure the file exists and the path is correct."}));let H=yield*I.readFileString(Q).pipe(w.catchAll((z)=>w.fail(new Xk({field:"file",message:`Cannot read config file at: ${Q}. Reason: ${String(z)}`,suggestion:"Check file permissions and ensure the file is readable."}))));if(!H)return yield*w.fail(new Xk({field:"file",message:`Config file is empty: ${Q}`,suggestion:"Add valid JSON configuration to the file."}));let h=W3(H);if(KI.isNone(h))return yield*w.fail(new Xk({field:"format",message:`Invalid JSON in config file: ${Q}`,suggestion:"Please ensure the file contains valid JSON."}));let E=h.value;if(typeof E!=="object"||E===null)return yield*w.fail(new Xk({field:"structure",message:`Config file must contain a valid configuration object: ${Q}`,value:E,suggestion:'Expected format: { "llm": {...}, "storage": {...}, ... }'}));let C=`${F1I()}/config.json`,J=yield*lgI(I,C),y=J?_oG(J):void 0,v=VgI(),A=xB(v,E),u=y?xB(A,y):A,L={configPath:Q,fileConfig:u,globalConfig:E};if(J)L.localConfig=J;return L}let Z=process.env.JAZZ_CONFIG_PATH,b=Z?rq(Z):`${Hv()}/config.json`,W=`${F1I()}/config.json`,l=yield*lgI(I,b),Y=yield*lgI(I,W),N=Y?_oG(Y):void 0;if(!l&&!N)return{configPath:b};let c=VgI(),X=l?xB(c,l):c,d=N?xB(X,N):X,F={configPath:b,fileConfig:d};if(l)F.globalConfig=l;if(Y)F.localConfig=Y;return F})}function foG(I){return w.gen(function*(){let G=[`${rq("~/.agents")}/mcp.json`,`${process.cwd()}/.agents/mcp.json`],Z={};for(let b of G){if(!(yield*I.exists(b).pipe(w.catchAll(()=>w.succeed(!1)))))continue;let l=yield*I.readFileString(b).pipe(w.catchAll(()=>w.succeed("")));if(!l.trim())continue;let Y=W3(l);if(KI.isNone(Y))continue;let N=Y.value;if(typeof N!=="object"||N===null)continue;let c=N,X="mcpServers"in c&&typeof c.mcpServers==="object"?c.mcpServers:c;for(let[d,F]of Object.entries(X))if(F&&typeof F==="object")Z[d]=F}return Z})}function noG(I){if(!I||typeof I!=="object")return{};let G={};for(let[Z,b]of Object.entries(I)){let W=NgI(b);if(W)G[Z]=W}return G}function mSb(I,G,Z){if(Object.keys(G).length===0)return I;return{...I,mcpServers:$oG(G,Z)}}function soG(I,G,Z){return w.gen(function*(){let b=`${rq("~/.agents")}/mcp.json`,W=b.substring(0,b.lastIndexOf("/"));yield*I.makeDirectory(W,{recursive:!0}).pipe(w.catchAll(()=>w.void));let l={};if(yield*I.exists(b).pipe(w.catchAll(()=>w.succeed(!1)))){let X=yield*I.readFileString(b).pipe(w.catchAll(()=>w.succeed("")));if(X.trim()){let d=W3(X);if(KI.isSome(d)&&typeof d.value==="object"&&d.value!==null){let F=d.value;if("mcpServers"in F&&typeof F.mcpServers==="object")l=F.mcpServers;else l=F}}}let N={...l,[G]:Z},c=JSON.stringify({mcpServers:N},null,2);yield*I.writeFileString(b,c).pipe(w.catchAll(()=>w.void))})}function ooG(I,G){return w.gen(function*(){let Z=`${rq("~/.agents")}/mcp.json`;if(!(yield*I.exists(Z).pipe(w.catchAll(()=>w.succeed(!1)))))return;let W=yield*I.readFileString(Z).pipe(w.catchAll(()=>w.succeed("")));if(!W.trim())return;let l=W3(W);if(KI.isNone(l)||typeof l.value!=="object"||l.value===null)return;let Y=l.value,N;if("mcpServers"in Y&&typeof Y.mcpServers==="object")N={...Y.mcpServers};else N={...Y};delete N[G];let c=JSON.stringify({mcpServers:N},null,2);yield*I.writeFileString(Z,c).pipe(w.catchAll(()=>w.void))})}function FWI(I,G){let Z=G.split(".").filter(Boolean),b=I;for(let W of Z)if(b&&typeof b==="object"&&W in b)b=b[W];else return;return b}function RSb(I,G){return FWI(I,G)!==void 0}function YgI(I,G,Z){let b=G.split(".").filter(Boolean),W=I;for(let l=0;l<b.length;l++){let Y=b[l];if(l===b.length-1)W[Y]=Z;else{let N=W[Y];if(!N||typeof N!=="object")W[Y]={};W=W[Y]}}}var cgI=g(()=>{_b();gI();oY();cN();dWI();Q0()});import{spawn as HSb}from"child_process";import{homedir as hSb}from"os";import*as tq from"path";function roG(){return AG.effect(QG,w.gen(function*(){let I=yield*bG.FileSystem,G=hSb(),Z=new Map;function b(c){return c.conversationId?`${c.agentId}:${c.conversationId}`:c.agentId}function W(c){let X=c;if(X.startsWith('"')&&X.endsWith('"')||X.startsWith("'")&&X.endsWith("'"))X=X.slice(1,-1);if(X==="~")X=G;else if(X.startsWith("~/"))X=tq.join(G,X.slice(2));return X=X.replace(/\\(.)/g,"$1"),X}function l(c){if(c.includes(" ")||c.includes("(")||c.includes(")")||c.includes("&")||c.includes("|")){if(c.startsWith('"')&&c.endsWith('"')||c.startsWith("'")&&c.endsWith("'"))return c;return`"${c.replace(/"/g,"\\\"")}"`}return c}function Y(c,X,d){return w.gen(function*(){let F=yield*w.promise(()=>new Promise((R,H)=>{let h=HSb("find",[c,"-maxdepth",String(d),"-type","d","-iname",`*${X}*`],{stdio:["ignore","pipe","pipe"],timeout:1e4}),E="",C="";if(h.stdout)h.stdout.on("data",(J)=>{E+=J.toString()});if(h.stderr)h.stderr.on("data",(J)=>{C+=J.toString()});h.on("close",(J)=>{R({stdout:E.trim(),stderr:C.trim(),exitCode:J||0})}),h.on("error",(J)=>{H(J)})})).pipe(w.catchAll((R)=>w.succeed({stdout:"",stderr:R.message,exitCode:1}))),Q=F.stdout.split(`
7519
7519
  `).filter((R)=>R.trim()).sort(),m=[];if(F.exitCode!==0&&F.stderr)m.push(`Find command encountered issues: ${F.stderr}`);if(Q.length===0&&F.exitCode===0)m.push(`No directories found matching "${X}" in ${c} (max depth: ${d})`);return{results:Q,...m.length>0&&{warnings:m}}})}return{getCwd:(c)=>w.sync(()=>Z.get(b(c))??process.cwd()),setCwd:(c,X)=>w.gen(function*(){let d=W(X),F=yield*I.stat(d).pipe(w.catchAll(()=>w.succeed(null)));if(!F)return yield*w.fail(Error(`Directory does not exist: ${d}`));if(F.type!=="Directory")return yield*w.fail(Error(`Not a directory: ${d}`));Z.set(b(c),d)}),resolvePath:(c,X,d={})=>w.gen(function*(){let F=Z.get(b(c))??process.cwd(),Q=W(X),m;if(Q===".")m=F;else if(Q==="..")m=F.substring(0,F.lastIndexOf("/"))||"/";else if(Q.startsWith("/"))m=Q;else m=`${F}/${Q}`;let R=tq.normalize(m);if(d.skipExistenceCheck)return R;if(yield*I.stat(R).pipe(w.catchAll(()=>w.succeed(null))))return R;else{if(!Q.startsWith("/")){let h=Q.split("/"),E=h[h.length-1];if(E){let C=yield*Y(F,E,3);if(C.results.length>0){let J=C.results[0];return yield*w.fail(Error(`Path not found: ${R}
7520
7520
  Did you mean: ${J}?
7521
7521
  Found ${C.results.length} similar directory${C.results.length>1?"ies":"y"}: ${C.results.join(", ")}`))}}}return yield*w.fail(Error(`Path not found: ${R}`))}}),findDirectory:(c,X,d=3)=>w.gen(function*(){let F=Z.get(b(c))??process.cwd();return yield*Y(F,X,d)}),resolvePathForMkdir:(c,X)=>w.gen(function*(){let d=Z.get(b(c))??process.cwd(),F=W(X),Q;if(F===".")Q=d;else if(F==="..")Q=d.substring(0,d.lastIndexOf("/"))||"/";else if(F.startsWith("/"))Q=F;else Q=`${d}/${F}`;let m=tq.normalize(Q),R=m.substring(0,m.lastIndexOf("/"));if(R==="")return m;let H=yield*I.stat(R).pipe(w.catchAll(()=>w.succeed(null)));if(!H)return yield*w.fail(Error(`Cannot create directory '${m}': parent directory '${R}' does not exist. Use recursive=true to create parent directories.`));if(H.type!=="Directory")return yield*w.fail(Error(`Cannot create directory '${m}': '${R}' is not a directory.`));return m}),escapePath:(c)=>l(c)}}))}var toG=g(()=>{_b();gI();YW()});function eoG(I){var G,Z,b,W,l,Y;if(I==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let N=(G=I.prompt_tokens)!=null?G:0,c=(Z=I.completion_tokens)!=null?Z:0,X=(W=(b=I.prompt_tokens_details)==null?void 0:b.cached_tokens)!=null?W:0,d=(Y=(l=I.completion_tokens_details)==null?void 0:l.reasoning_tokens)!=null?Y:0;return{inputTokens:{total:N,noCache:N-X,cacheRead:X,cacheWrite:void 0},outputTokens:{total:c,text:c-d,reasoning:d},raw:I}}function XgI(I){switch(I){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}function dgI({id:I,model:G,created:Z}){return{id:I!=null?I:void 0,modelId:G!=null?G:void 0,timestamp:Z!=null?new Date(Z*1000):void 0}}function IrG({tools:I,toolChoice:G}){I=(I==null?void 0:I.length)?I:void 0;let Z=[];if(I==null)return{tools:void 0,toolChoice:void 0,toolWarnings:Z};let b=[];for(let l of I)if(l.type==="provider")Z.push({type:"unsupported",feature:`provider-defined tool ${l.id}`});else b.push({type:"function",function:{name:l.name,description:l.description,parameters:l.inputSchema,...l.strict!=null?{strict:l.strict}:{}}});if(G==null)return{tools:b,toolChoice:void 0,toolWarnings:Z};let W=G.type;switch(W){case"auto":case"none":case"required":return{tools:b,toolChoice:W,toolWarnings:Z};case"tool":return{tools:b,toolChoice:{type:"function",function:{name:G.toolName}},toolWarnings:Z};default:throw new GZ({functionality:`tool choice type: ${W}`})}}var FgI=g(()=>{hG()});function ZrG(I){var G,Z,b,W;let l=eoG(I),Y=(Z=(G=I==null?void 0:I.prompt_tokens_details)==null?void 0:G.cache_creation_input_tokens)!=null?Z:0,N=((b=l.inputTokens.total)!=null?b:0)-((W=l.inputTokens.cacheRead)!=null?W:0)-Y;return{...l,inputTokens:{...l.inputTokens,cacheWrite:Y,noCache:N}}}function vSb({data:I,mediaType:G}){return I instanceof URL?I.toString():`data:${G};base64,${_W(I)}`}function ESb({prompt:I,cacheControlValidator:G}){var Z,b;let W=[];for(let{role:l,content:Y,...N}of I){let c=G==null?void 0:G.getCacheControl(N.providerOptions);switch(l){case"system":{if(c)W.push({role:"system",content:[{type:"text",text:Y,cache_control:c}]});else W.push({role:"system",content:Y});break}case"user":{W.push({role:"user",content:Y.map((X,d)=>{var F;let Q=d===Y.length-1,m=(F=G==null?void 0:G.getCacheControl(X.providerOptions))!=null?F:Q?c:void 0;switch(X.type){case"text":return{type:"text",text:X.text,...m?{cache_control:m}:{}};case"file":if(X.mediaType.startsWith("image/")){let R=X.mediaType==="image/*"?"image/jpeg":X.mediaType;return{type:"image_url",image_url:{url:vSb({data:X.data,mediaType:R})},...m?{cache_control:m}:{}}}else throw new GZ({functionality:"Only image file parts are supported"})}})});break}case"assistant":{let X="",d=[];for(let F of Y)switch(F.type){case"text":{X+=F.text;break}case"tool-call":{d.push({id:F.toolCallId,type:"function",function:{name:F.toolName,arguments:JSON.stringify(F.input)}});break}case"reasoning":{X+=F.text;break}}W.push({role:"assistant",content:c?[{type:"text",text:X,cache_control:c}]:X||null,tool_calls:d.length>0?d:void 0});break}case"tool":{let X=Y.filter((d)=>d.type!=="tool-approval-response");for(let d=0;d<X.length;d++){let F=X[d],Q=F.output,m=d===X.length-1,R=(Z=G==null?void 0:G.getCacheControl(F.providerOptions))!=null?Z:m?c:void 0,H;switch(Q.type){case"text":case"error-text":H=Q.value;break;case"execution-denied":H=(b=Q.reason)!=null?b:"Tool execution denied.";break;case"content":case"json":case"error-json":H=JSON.stringify(Q.value);break}W.push({role:"tool",tool_call_id:F.toolCallId,content:R?[{type:"text",text:H,cache_control:R}]:H})}break}default:throw Error(`Unsupported role: ${l}`)}}return W}function ySb(I){var G;let Z=I==null?void 0:I.alibaba;return(G=Z==null?void 0:Z.cacheControl)!=null?G:Z==null?void 0:Z.cache_control}function KSb(I){if(I.includes("-i2v"))return"i2v";if(I.includes("-r2v"))return"r2v";return"t2v"}function QgI(I={}){var G,Z,b;let W=(G=bl(I.baseURL))!=null?G:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1",l=(Z=bl(I.videoBaseURL))!=null?Z:"https://dashscope-intl.aliyuncs.com",Y=(b=bl(I.embeddingBaseURL))!=null?b:"https://dashscope-intl.aliyuncs.com/api/v1",N=()=>Kb({Authorization:`Bearer ${FN({apiKey:I.apiKey,environmentVariableName:"ALIBABA_API_KEY",description:"Alibaba Cloud (DashScope)"})}`,...I.headers},`ai-sdk/alibaba/${jSb}`),c=(Q)=>{var m;return new ASb(Q,{provider:"alibaba.chat",baseURL:W,headers:N,fetch:I.fetch,includeUsage:(m=I.includeUsage)!=null?m:!0})},X=(Q)=>new uSb(Q,{provider:"alibaba.embedding",baseURL:Y,headers:N,fetch:I.fetch}),d=(Q)=>new aSb(Q,{provider:"alibaba.video",baseURL:l,headers:N,fetch:I.fetch}),F=function(Q){if(new.target)throw Error("The Alibaba model function cannot be called with the new keyword.");return c(Q)};return F.specificationVersion="v3",F.languageModel=c,F.chatModel=c,F.embedding=X,F.embeddingModel=X,F.textEmbedding=X,F.textEmbeddingModel=X,F.video=d,F.videoModel=d,F.imageModel=(Q)=>{throw new dN({modelId:Q,modelType:"imageModel"})},F}var wSb,JSb,GrG,brG=4,CSb=class{constructor(){this.breakpointCount=0,this.warnings=[]}getCacheControl(I){let G=ySb(I);if(!G)return;if(this.breakpointCount++,this.breakpointCount>brG)this.warnings.push({type:"other",message:`Max breakpoint limit exceeded. Only the last ${brG} cache markers will take effect.`});return G}getWarnings(){return this.warnings}},ASb=class{constructor(I,G){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=I,this.config=G}get provider(){return this.config.provider}async getArgs({prompt:I,maxOutputTokens:G,temperature:Z,topP:b,topK:W,frequencyPenalty:l,presencePenalty:Y,stopSequences:N,responseFormat:c,seed:X,providerOptions:d,tools:F,toolChoice:Q}){var m;let R=[],H=new CSb,h=await KG({provider:"alibaba",providerOptions:d,schema:wSb});if(l!=null)R.push({type:"unsupported",feature:"frequencyPenalty"});let E={model:this.modelId,max_tokens:G,temperature:Z,top_p:b,top_k:W,presence_penalty:Y,stop:N,seed:X,response_format:(c==null?void 0:c.type)==="json"?c.schema!=null?{type:"json_schema",json_schema:{schema:c.schema,name:(m=c.name)!=null?m:"response",description:c.description}}:{type:"json_object"}:void 0,...(h==null?void 0:h.enableThinking)!=null?{enable_thinking:h.enableThinking}:{},...(h==null?void 0:h.thinkingBudget)!=null?{thinking_budget:h.thinkingBudget}:{},messages:ESb({prompt:I,cacheControlValidator:H})},{tools:C,toolChoice:J,toolWarnings:y}=IrG({tools:F,toolChoice:Q});return R.push(...H.getWarnings()),{args:{...E,tools:C,tool_choice:J,...C!=null&&(h==null?void 0:h.parallelToolCalls)!==void 0?{parallel_tool_calls:h.parallelToolCalls}:{}},warnings:[...R,...y]}}async doGenerate(I){var G;let{args:Z,warnings:b}=await this.getArgs(I),{responseHeaders:W,value:l,rawValue:Y}=await YG({url:`${this.config.baseURL}/chat/completions`,headers:rI(this.config.headers(),I.headers),body:Z,failedResponseHandler:GrG,successfulResponseHandler:XG(LSb),abortSignal:I.abortSignal,fetch:this.config.fetch}),N=l.choices[0],c=[],X=N.message.content;if(X!=null&&X.length>0)c.push({type:"text",text:X});let d=N.message.reasoning_content;if(d!=null&&d.length>0)c.push({type:"reasoning",text:d});if(N.message.tool_calls!=null)for(let F of N.message.tool_calls)c.push({type:"tool-call",toolCallId:F.id,toolName:F.function.name,input:F.function.arguments});return{content:c,finishReason:{unified:XgI(N.finish_reason),raw:(G=N.finish_reason)!=null?G:void 0},usage:ZrG(l.usage),request:{body:JSON.stringify(Z)},response:{...dgI(l),headers:W,body:Y},warnings:b}}async doStream(I){let{args:G,warnings:Z}=await this.getArgs(I),b={...G,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},{responseHeaders:W,value:l}=await YG({url:`${this.config.baseURL}/chat/completions`,headers:rI(this.config.headers(),I.headers),body:b,failedResponseHandler:GrG,successfulResponseHandler:Zl(pSb),abortSignal:I.abortSignal,fetch:this.config.fetch}),Y={unified:"other",raw:void 0},N=void 0,c=!0,X=!1,d=null,F=[];return{stream:l.pipeThrough(new TransformStream({start(Q){Q.enqueue({type:"stream-start",warnings:Z})},transform(Q,m){var R,H,h,E;if(I.includeRawChunks)m.enqueue({type:"raw",rawValue:Q.rawValue});if(!Q.success){m.enqueue({type:"error",error:Q.error});return}let C=Q.value;if(c)c=!1,m.enqueue({type:"response-metadata",...dgI(C)});if(C.usage!=null)N=C.usage;if(C.choices.length===0)return;let J=C.choices[0],y=J.delta;if(y.reasoning_content!=null&&y.reasoning_content.length>0){if(d==null){if(X)m.enqueue({type:"text-end",id:"0"}),X=!1;d=NZ(),m.enqueue({type:"reasoning-start",id:d})}m.enqueue({type:"reasoning-delta",id:d,delta:y.reasoning_content})}if(y.content!=null&&y.content.length>0){if(d!=null)m.enqueue({type:"reasoning-end",id:d}),d=null;if(!X)m.enqueue({type:"text-start",id:"0"}),X=!0;m.enqueue({type:"text-delta",id:"0",delta:y.content})}if(y.tool_calls!=null){if(d!=null)m.enqueue({type:"reasoning-end",id:d}),d=null;if(X)m.enqueue({type:"text-end",id:"0"}),X=!1;for(let v of y.tool_calls){let A=(R=v.index)!=null?R:F.length;if(F[A]==null){if(v.id==null)throw new _2({data:v,message:"Expected 'id' to be a string."});if(((H=v.function)==null?void 0:H.name)==null)throw new _2({data:v,message:"Expected 'function.name' to be a string."});m.enqueue({type:"tool-input-start",id:v.id,toolName:v.function.name}),F[A]={id:v.id,type:"function",function:{name:v.function.name,arguments:(h=v.function.arguments)!=null?h:""},hasFinished:!1};let L=F[A];if(L.function.arguments.length>0)m.enqueue({type:"tool-input-delta",id:L.id,delta:L.function.arguments});if(QX(L.function.arguments))m.enqueue({type:"tool-input-end",id:L.id}),m.enqueue({type:"tool-call",toolCallId:L.id,toolName:L.function.name,input:L.function.arguments}),L.hasFinished=!0;continue}let u=F[A];if(u.hasFinished)continue;if(((E=v.function)==null?void 0:E.arguments)!=null)u.function.arguments+=v.function.arguments,m.enqueue({type:"tool-input-delta",id:u.id,delta:v.function.arguments});if(QX(u.function.arguments))m.enqueue({type:"tool-input-end",id:u.id}),m.enqueue({type:"tool-call",toolCallId:u.id,toolName:u.function.name,input:u.function.arguments}),u.hasFinished=!0}}if(J.finish_reason!=null)Y={unified:XgI(J.finish_reason),raw:J.finish_reason}},flush(Q){if(d!=null)Q.enqueue({type:"reasoning-end",id:d});if(X)Q.enqueue({type:"text-end",id:"0"});Q.enqueue({type:"finish",finishReason:Y,usage:ZrG(N)})}})),request:{body:JSON.stringify(b)},response:{headers:W}}}},lrG,LSb,pSb,zSb,kSb,uSb=class{constructor(I,G){this.specificationVersion="v3",this.maxEmbeddingsPerCall=10,this.supportsParallelCalls=!1,this.modelId=I,this.config=G}get provider(){return this.config.provider}async doEmbed({values:I,headers:G,abortSignal:Z,providerOptions:b}){if(I.length>this.maxEmbeddingsPerCall)throw new mF({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:I});let W=await KG({provider:"alibaba",providerOptions:b,schema:zSb});if((W==null?void 0:W.outputType)==="sparse")throw new GZ({functionality:"Alibaba embedding outputType 'sparse'",message:"Alibaba embedding outputType 'sparse' is not supported because AI SDK embeddings require dense number arrays. Use 'dense' or 'dense&sparse' instead."});let{responseHeaders:l,value:Y,rawValue:N}=await YG({url:`${this.config.baseURL}/services/embeddings/text-embedding/text-embedding`,headers:rI(this.config.headers(),G),body:{model:this.modelId,input:{texts:I},parameters:{text_type:W==null?void 0:W.textType,dimension:W==null?void 0:W.dimension,output_type:W==null?void 0:W.outputType}},failedResponseHandler:kSb,successfulResponseHandler:XG(USb),abortSignal:Z,fetch:this.config.fetch}),c=Y.output.embeddings.sort((d,F)=>d.text_index-F.text_index),X=c.map((d)=>d.sparse_embedding==null?void 0:{textIndex:d.text_index,sparseEmbedding:d.sparse_embedding}).filter((d)=>d!=null);return{warnings:[],embeddings:c.map((d)=>d.embedding),usage:Y.usage?{tokens:Y.usage.total_tokens}:void 0,providerMetadata:X.length>0?{alibaba:{sparseEmbeddings:X}}:void 0,response:{headers:l,body:N}}}},gSb,USb,BSb,OSb,WrG,xSb,MSb,aSb=class{constructor(I,G){this.modelId=I,this.config=G,this.specificationVersion="v3",this.maxVideosPerCall=1}get provider(){return this.config.provider}async doGenerate(I){var G,Z,b,W,l,Y,N,c,X,d,F;let Q=(b=(Z=(G=this.config._internal)==null?void 0:G.currentDate)==null?void 0:Z.call(G))!=null?b:new Date,m=[],R=KSb(this.modelId),H=await KG({provider:"alibaba",providerOptions:I.providerOptions,schema:BSb}),h={};if(I.prompt!=null)h.prompt=I.prompt;if((H==null?void 0:H.negativePrompt)!=null)h.negative_prompt=H.negativePrompt;if((H==null?void 0:H.audioUrl)!=null)h.audio_url=H.audioUrl;if(R==="i2v"&&I.image!=null)if(I.image.type==="url")h.img_url=I.image.url;else{let O=typeof I.image.data==="string"?I.image.data:yV(I.image.data);h.img_url=O}if(R==="r2v"&&(H==null?void 0:H.referenceUrls)!=null)h.reference_urls=H.referenceUrls;let E={};if(I.duration!=null)E.duration=I.duration;if(I.seed!=null)E.seed=I.seed;if(I.resolution!=null)if(R==="i2v"){let O={"1280x720":"720P","720x1280":"720P","960x960":"720P","1088x832":"720P","832x1088":"720P","1920x1080":"1080P","1080x1920":"1080P","1440x1440":"1080P","1632x1248":"1080P","1248x1632":"1080P","832x480":"480P","480x832":"480P","624x624":"480P"};E.resolution=O[I.resolution]||I.resolution}else E.size=I.resolution.replace("x","*");if((H==null?void 0:H.promptExtend)!=null)E.prompt_extend=H.promptExtend;if((H==null?void 0:H.shotType)!=null)E.shot_type=H.shotType;if((H==null?void 0:H.watermark)!=null)E.watermark=H.watermark;if((H==null?void 0:H.audio)!=null)E.audio=H.audio;if(I.aspectRatio)m.push({type:"unsupported",feature:"aspectRatio",details:"Alibaba video models use explicit size/resolution dimensions. Use the resolution option or providerOptions.alibaba for size control."});if(I.fps)m.push({type:"unsupported",feature:"fps",details:"Alibaba video models do not support custom FPS."});if(I.n!=null&&I.n>1)m.push({type:"unsupported",feature:"n",details:"Alibaba video models only support generating 1 video per call."});let{value:C}=await YG({url:`${this.config.baseURL}/api/v1/services/aigc/video-generation/video-synthesis`,headers:rI(await bb(this.config.headers),I.headers,{"X-DashScope-Async":"enable"}),body:{model:this.modelId,input:h,parameters:E},successfulResponseHandler:XG(xSb),failedResponseHandler:WrG,abortSignal:I.abortSignal,fetch:this.config.fetch}),J=(W=C.output)==null?void 0:W.task_id;if(!J)throw new IG({name:"ALIBABA_VIDEO_GENERATION_ERROR",message:`No task_id returned from Alibaba API. Response: ${JSON.stringify(C)}`});let y=(l=H==null?void 0:H.pollIntervalMs)!=null?l:5000,v=(Y=H==null?void 0:H.pollTimeoutMs)!=null?Y:600000,A=Date.now(),u,L;while(!0){if(await y0(y,{abortSignal:I.abortSignal}),Date.now()-A>v)throw new IG({name:"ALIBABA_VIDEO_GENERATION_TIMEOUT",message:`Video generation timed out after ${v}ms`});let{value:O,responseHeaders:U}=await w2({url:`${this.config.baseURL}/api/v1/tasks/${J}`,headers:rI(await bb(this.config.headers),I.headers),successfulResponseHandler:XG(MSb),failedResponseHandler:WrG,abortSignal:I.abortSignal,fetch:this.config.fetch});L=U;let x=(N=O.output)==null?void 0:N.task_status;if(x==="SUCCEEDED"){u=O;break}if(x==="FAILED"||x==="CANCELED")throw new IG({name:"ALIBABA_VIDEO_GENERATION_FAILED",message:`Video generation ${x.toLowerCase()}. Task ID: ${J}. ${(X=(c=O.output)==null?void 0:c.message)!=null?X:""}`})}let z=(d=u==null?void 0:u.output)==null?void 0:d.video_url;if(!z)throw new IG({name:"ALIBABA_VIDEO_GENERATION_ERROR",message:`No video URL in response. Task ID: ${J}`});return{videos:[{type:"url",url:z,mediaType:"video/mp4"}],warnings:m,response:{timestamp:Q,modelId:this.modelId,headers:L},providerMetadata:{alibaba:{taskId:J,videoUrl:z,...((F=u==null?void 0:u.output)==null?void 0:F.actual_prompt)?{actualPrompt:u.output.actual_prompt}:{},...(u==null?void 0:u.usage)?{usage:{duration:u.usage.duration,outputVideoDuration:u.usage.output_video_duration,resolution:u.usage.SR,size:u.usage.size}}:{}}}}}},jSb="1.0.29",YrG;var NrG=g(()=>{hG();JI();FgI();hG();JI();CI();CI();JI();CI();FgI();hG();JI();hG();JI();CI();CI();hG();JI();CI();wSb=V.object({enableThinking:V.boolean().optional(),thinkingBudget:V.number().positive().optional(),parallelToolCalls:V.boolean().optional()}),JSb=V.object({error:V.object({message:V.string(),code:V.string().nullish(),type:V.string().nullish()})}),GrG=KZ({errorSchema:JSb,errorToMessage:(I)=>I.error.message});lrG=V.object({prompt_tokens:V.number(),completion_tokens:V.number(),total_tokens:V.number(),prompt_tokens_details:V.object({cached_tokens:V.number().nullish(),cache_creation_input_tokens:V.number().nullish()}).nullish(),completion_tokens_details:V.object({reasoning_tokens:V.number().nullish()}).nullish()}),LSb=V.object({id:V.string().nullish(),created:V.number().nullish(),model:V.string().nullish(),choices:V.array(V.object({message:V.object({role:V.literal("assistant").nullish(),content:V.string().nullish(),reasoning_content:V.string().nullish(),tool_calls:V.array(V.object({id:V.string(),type:V.literal("function"),function:V.object({name:V.string(),arguments:V.string()})})).nullish()}),finish_reason:V.string().nullish(),index:V.number()})),usage:lrG.nullish()}),pSb=V.object({id:V.string().nullish(),created:V.number().nullish(),model:V.string().nullish(),choices:V.array(V.object({delta:V.object({role:V.enum(["assistant"]).nullish(),content:V.string().nullish(),reasoning_content:V.string().nullish(),tool_calls:V.array(V.object({index:V.number().nullish(),id:V.string().nullish(),type:V.literal("function").nullish(),function:V.object({name:V.string().nullish(),arguments:V.string().nullish()}).nullish()})).nullish()}),finish_reason:V.string().nullish(),index:V.number()})),usage:lrG.nullish()}),zSb=V.object({textType:V.enum(["query","document"]).optional(),dimension:V.number().optional(),outputType:V.enum(["dense","sparse","dense&sparse"]).optional()}),kSb=KZ({errorSchema:V.object({code:V.string().nullish(),message:V.string(),request_id:V.string().nullish()}),errorToMessage:(I)=>I.message}),gSb=V.object({index:V.number(),value:V.number(),token:V.string().nullish()}),USb=V.object({output:V.object({embeddings:V.array(V.object({embedding:V.array(V.number()),text_index:V.number(),sparse_embedding:V.array(gSb).nullish()}))}),usage:V.object({total_tokens:V.number()}).nullish()}),BSb=cI(()=>VI(V.object({negativePrompt:V.string().nullish(),audioUrl:V.string().nullish(),promptExtend:V.boolean().nullish(),shotType:V.enum(["single","multi"]).nullish(),watermark:V.boolean().nullish(),audio:V.boolean().nullish(),referenceUrls:V.array(V.string()).nullish(),pollIntervalMs:V.number().positive().nullish(),pollTimeoutMs:V.number().positive().nullish()}).passthrough())),OSb=V.object({code:V.string().nullish(),message:V.string(),request_id:V.string().nullish()}),WrG=KZ({errorSchema:OSb,errorToMessage:(I)=>I.message}),xSb=V.object({output:V.object({task_status:V.string(),task_id:V.string()}).nullish(),request_id:V.string().nullish()}),MSb=V.object({output:V.object({task_id:V.string(),task_status:V.string(),video_url:V.string().nullish(),submit_time:V.string().nullish(),scheduled_time:V.string().nullish(),end_time:V.string().nullish(),orig_prompt:V.string().nullish(),actual_prompt:V.string().nullish(),code:V.string().nullish(),message:V.string().nullish()}).nullish(),usage:V.object({duration:V.number().nullish(),output_video_duration:V.number().nullish(),SR:V.number().nullish(),size:V.string().nullish()}).nullish(),request_id:V.string().nullish()});YrG=QgI()});function nSb(I){var G;let Z=I==null?void 0:I.anthropic;return(G=Z==null?void 0:Z.cacheControl)!=null?G:Z==null?void 0:Z.cache_control}async function h_b({tools:I,toolChoice:G,disableParallelToolUse:Z,cacheControlValidator:b,supportsStructuredOutput:W,supportsStrictTools:l,defaultEagerInputStreaming:Y=!1}){var N,c;I=(I==null?void 0:I.length)?I:void 0;let X=[],d=new Set,F=b||new hgI;if(I==null)return{tools:void 0,toolChoice:void 0,toolWarnings:X,betas:d};let Q=[];for(let R of I)switch(R.type){case"function":{let H=F.getCacheControl(R.providerOptions,{type:"tool definition",canCache:!0}),h=(N=R.providerOptions)==null?void 0:N.anthropic,E=(c=h==null?void 0:h.eagerInputStreaming)!=null?c:Y,C=h==null?void 0:h.deferLoading,J=h==null?void 0:h.allowedCallers;if(!l&&R.strict!=null)X.push({type:"unsupported",feature:"strict",details:`Tool '${R.name}' has strict: ${R.strict}, but strict mode is not supported by this provider. The strict property will be ignored.`});if(Q.push({name:R.name,description:R.description,input_schema:R.inputSchema,cache_control:H,...E?{eager_input_streaming:!0}:{},...l===!0&&R.strict!=null?{strict:R.strict}:{},...C!=null?{defer_loading:C}:{},...J!=null?{allowed_callers:J}:{},...R.inputExamples!=null?{input_examples:R.inputExamples.map((y)=>y.input)}:{}}),W===!0)d.add("structured-outputs-2025-11-13");if(R.inputExamples!=null||J!=null)d.add("advanced-tool-use-2025-11-20");break}case"provider":{switch(R.id){case"anthropic.code_execution_20250522":{d.add("code-execution-2025-05-22"),Q.push({type:"code_execution_20250522",name:"code_execution",cache_control:void 0});break}case"anthropic.code_execution_20250825":{d.add("code-execution-2025-08-25"),Q.push({type:"code_execution_20250825",name:"code_execution"});break}case"anthropic.code_execution_20260120":{Q.push({type:"code_execution_20260120",name:"code_execution"});break}case"anthropic.computer_20250124":{d.add("computer-use-2025-01-24"),Q.push({name:"computer",type:"computer_20250124",display_width_px:R.args.displayWidthPx,display_height_px:R.args.displayHeightPx,display_number:R.args.displayNumber,cache_control:void 0});break}case"anthropic.computer_20251124":{d.add("computer-use-2025-11-24"),Q.push({name:"computer",type:"computer_20251124",display_width_px:R.args.displayWidthPx,display_height_px:R.args.displayHeightPx,display_number:R.args.displayNumber,enable_zoom:R.args.enableZoom,cache_control:void 0});break}case"anthropic.computer_20241022":{d.add("computer-use-2024-10-22"),Q.push({name:"computer",type:"computer_20241022",display_width_px:R.args.displayWidthPx,display_height_px:R.args.displayHeightPx,display_number:R.args.displayNumber,cache_control:void 0});break}case"anthropic.text_editor_20250124":{d.add("computer-use-2025-01-24"),Q.push({name:"str_replace_editor",type:"text_editor_20250124",cache_control:void 0});break}case"anthropic.text_editor_20241022":{d.add("computer-use-2024-10-22"),Q.push({name:"str_replace_editor",type:"text_editor_20241022",cache_control:void 0});break}case"anthropic.text_editor_20250429":{d.add("computer-use-2025-01-24"),Q.push({name:"str_replace_based_edit_tool",type:"text_editor_20250429",cache_control:void 0});break}case"anthropic.text_editor_20250728":{let H=await db({value:R.args,schema:sSb});Q.push({name:"str_replace_based_edit_tool",type:"text_editor_20250728",max_characters:H.maxCharacters,cache_control:void 0});break}case"anthropic.bash_20250124":{d.add("computer-use-2025-01-24"),Q.push({name:"bash",type:"bash_20250124",cache_control:void 0});break}case"anthropic.bash_20241022":{d.add("computer-use-2024-10-22"),Q.push({name:"bash",type:"bash_20241022",cache_control:void 0});break}case"anthropic.memory_20250818":{d.add("context-management-2025-06-27"),Q.push({name:"memory",type:"memory_20250818"});break}case"anthropic.web_fetch_20250910":{d.add("web-fetch-2025-09-10");let H=await db({value:R.args,schema:Q_b});Q.push({type:"web_fetch_20250910",name:"web_fetch",max_uses:H.maxUses,allowed_domains:H.allowedDomains,blocked_domains:H.blockedDomains,citations:H.citations,max_content_tokens:H.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260209":{d.add("code-execution-web-tools-2026-02-09");let H=await db({value:R.args,schema:V_b});Q.push({type:"web_fetch_20260209",name:"web_fetch",max_uses:H.maxUses,allowed_domains:H.allowedDomains,blocked_domains:H.blockedDomains,citations:H.citations,max_content_tokens:H.maxContentTokens,cache_control:void 0});break}case"anthropic.web_search_20250305":{let H=await db({value:R.args,schema:W_b});Q.push({type:"web_search_20250305",name:"web_search",max_uses:H.maxUses,allowed_domains:H.allowedDomains,blocked_domains:H.blockedDomains,user_location:H.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260209":{d.add("code-execution-web-tools-2026-02-09");let H=await db({value:R.args,schema:eSb});Q.push({type:"web_search_20260209",name:"web_search",max_uses:H.maxUses,allowed_domains:H.allowedDomains,blocked_domains:H.blockedDomains,user_location:H.userLocation,cache_control:void 0});break}case"anthropic.tool_search_regex_20251119":{Q.push({type:"tool_search_tool_regex_20251119",name:"tool_search_tool_regex"});break}case"anthropic.tool_search_bm25_20251119":{Q.push({type:"tool_search_tool_bm25_20251119",name:"tool_search_tool_bm25"});break}case"anthropic.advisor_20260301":{d.add("advisor-tool-2026-03-01");let H=await db({value:R.args,schema:PSb});Q.push({type:"advisor_20260301",name:"advisor",model:H.model,...H.maxUses!==void 0&&{max_uses:H.maxUses},...H.caching!==void 0&&{caching:H.caching}});break}default:{X.push({type:"unsupported",feature:`provider-defined tool ${R.id}`});break}}break}default:{X.push({type:"unsupported",feature:`tool ${R}`});break}}if(G==null)return{tools:Q,toolChoice:Z?{type:"auto",disable_parallel_tool_use:Z}:void 0,toolWarnings:X,betas:d};let m=G.type;switch(m){case"auto":return{tools:Q,toolChoice:{type:"auto",disable_parallel_tool_use:Z},toolWarnings:X,betas:d};case"required":return{tools:Q,toolChoice:{type:"any",disable_parallel_tool_use:Z},toolWarnings:X,betas:d};case"none":return{tools:void 0,toolChoice:void 0,toolWarnings:X,betas:d};case"tool":return{tools:Q,toolChoice:{type:"tool",name:G.toolName,disable_parallel_tool_use:Z},toolWarnings:X,betas:d};default:throw new GZ({functionality:`tool choice type: ${m}`})}}function FrG({usage:I,rawUsage:G}){var Z,b,W;let l=(Z=I.cache_creation_input_tokens)!=null?Z:0,Y=(b=I.cache_read_input_tokens)!=null?b:0,N,c,X=(W=I.iterations)==null?void 0:W.some((d)=>d.type==="fallback_message");if(I.iterations&&I.iterations.length>0&&!X){let d=I.iterations.filter((F)=>F.type==="compaction"||F.type==="message");if(d.length>0){let F=d.reduce((Q,m)=>({input:Q.input+m.input_tokens,output:Q.output+m.output_tokens}),{input:0,output:0});N=F.input,c=F.output}else N=I.input_tokens,c=I.output_tokens}else N=I.input_tokens,c=I.output_tokens;return{inputTokens:{total:N+l+Y,noCache:N,cacheRead:Y,cacheWrite:l},outputTokens:{total:c,text:void 0,reasoning:void 0},raw:G!=null?G:I}}function g_b(I){if(typeof I==="string")return new TextDecoder().decode(h2(I));if(I instanceof Uint8Array)return new TextDecoder().decode(I);if(I instanceof URL)throw new GZ({functionality:"URL-based text documents are not supported for citations"});throw new GZ({functionality:`unsupported data type for text documents: ${typeof I}`})}function mgI(I){return I instanceof URL||U_b(I)}function U_b(I){return typeof I==="string"&&/^https?:\/\//i.test(I)}function RgI(I){return I instanceof URL?I.toString():I}async function QrG(I){if(typeof I==="string"){let G=await P2({text:I});if(G.success&&typeof G.value==="object"&&G.value!==null)return G.value;return{errorCode:"unavailable"}}if(typeof I==="object"&&I!==null)return I;return{}}async function B_b({prompt:I,sendReasoning:G,warnings:Z,cacheControlValidator:b,toolNameMapping:W}){var l,Y,N,c,X,d,F,Q,m,R,H,h,E,C,J,y,v,A,u,L,z;let O=new Set,U=O_b(I),x=b||new hgI,D=void 0,a=[];async function j(r){var _,i;let n=await KG({provider:"anthropic",providerOptions:r,schema:crG});return(i=(_=n==null?void 0:n.citations)==null?void 0:_.enabled)!=null?i:!1}async function q(r){let _=await KG({provider:"anthropic",providerOptions:r,schema:crG});return{title:_==null?void 0:_.title,context:_==null?void 0:_.context}}for(let r=0;r<U.length;r++){let _=U[r],i=r===U.length-1,n=_.type;switch(n){case"system":{let T=_.messages.map(({content:K,providerOptions:S})=>({type:"text",text:K,cache_control:x.getCacheControl(S,{type:"system message",canCache:!0})}));if(D==null)D=T;else a.push({role:"system",content:T}),O.add("mid-conversation-system-2026-04-07");break}case"user":{let T=[];for(let K of _.messages){let{role:S,content:o}=K;switch(S){case"user":{for(let bI=0;bI<o.length;bI++){let f=o[bI],t=bI===o.length-1,II=(l=x.getCacheControl(f.providerOptions,{type:"user message part",canCache:!0}))!=null?l:t?x.getCacheControl(K.providerOptions,{type:"user message",canCache:!0}):void 0;switch(f.type){case"text":{T.push({type:"text",text:f.text,cache_control:II});break}case"file":{if(f.mediaType.startsWith("image/"))T.push({type:"image",source:mgI(f.data)?{type:"url",url:RgI(f.data)}:{type:"base64",media_type:f.mediaType==="image/*"?"image/jpeg":f.mediaType,data:_W(f.data)},cache_control:II});else if(f.mediaType==="application/pdf"){O.add("pdfs-2024-09-25");let P=await j(f.providerOptions),s=await q(f.providerOptions);T.push({type:"document",source:mgI(f.data)?{type:"url",url:RgI(f.data)}:{type:"base64",media_type:"application/pdf",data:_W(f.data)},title:(Y=s.title)!=null?Y:f.filename,...s.context&&{context:s.context},...P&&{citations:{enabled:!0}},cache_control:II})}else if(f.mediaType==="text/plain"){let P=await j(f.providerOptions),s=await q(f.providerOptions);T.push({type:"document",source:mgI(f.data)?{type:"url",url:RgI(f.data)}:{type:"text",media_type:"text/plain",data:g_b(f.data)},title:(N=s.title)!=null?N:f.filename,...s.context&&{context:s.context},...P&&{citations:{enabled:!0}},cache_control:II})}else throw new GZ({functionality:`media type: ${f.mediaType}`});break}}}break}case"tool":{for(let bI=0;bI<o.length;bI++){let f=o[bI];if(f.type==="tool-approval-response")continue;let t=f.output,II="providerOptions"in t?t.providerOptions:t.type==="content"?(c=t.value.find((dI)=>dI.providerOptions!=null))==null?void 0:c.providerOptions:void 0,P=bI===o.length-1,s=(d=(X=x.getCacheControl(f.providerOptions,{type:"tool result part",canCache:!0}))!=null?X:x.getCacheControl(II,{type:"tool result output",canCache:!0}))!=null?d:P?x.getCacheControl(K.providerOptions,{type:"tool result message",canCache:!0}):void 0,$;switch(t.type){case"content":$=t.value.map((dI)=>{var NI;switch(dI.type){case"text":return{type:"text",text:dI.text};case"image-data":return{type:"image",source:{type:"base64",media_type:dI.mediaType,data:dI.data}};case"image-url":return{type:"image",source:{type:"url",url:dI.url}};case"file-url":return{type:"document",source:{type:"url",url:dI.url}};case"file-data":{if(dI.mediaType==="application/pdf")return O.add("pdfs-2024-09-25"),{type:"document",source:{type:"base64",media_type:dI.mediaType,data:dI.data}};Z.push({type:"other",message:`unsupported tool content part type: ${dI.type} with media type: ${dI.mediaType}`});return}case"custom":{let RI=(NI=dI.providerOptions)==null?void 0:NI.anthropic;if((RI==null?void 0:RI.type)==="tool-reference")return{type:"tool_reference",tool_name:RI.toolName};Z.push({type:"other",message:"unsupported custom tool content part"});return}default:{Z.push({type:"other",message:`unsupported tool content part type: ${dI.type}`});return}}}).filter(jj);break;case"text":case"error-text":$=t.value;break;case"execution-denied":$=(F=t.reason)!=null?F:"Tool execution denied.";break;case"json":case"error-json":default:$=JSON.stringify(t.value);break}T.push({type:"tool_result",tool_use_id:f.toolCallId,content:$,is_error:t.type==="error-text"||t.type==="error-json"?!0:void 0,cache_control:s})}break}default:throw Error(`Unsupported role: ${S}`)}}a.push({role:"user",content:T});break}case"assistant":{let T=[],K=new Set;for(let S=0;S<_.messages.length;S++){let o=_.messages[S],bI=S===_.messages.length-1,{content:f}=o;for(let t=0;t<f.length;t++){let II=f[t],P=t===f.length-1,s=(Q=x.getCacheControl(II.providerOptions,{type:"assistant message part",canCache:!0}))!=null?Q:P?x.getCacheControl(o.providerOptions,{type:"assistant message",canCache:!0}):void 0;switch(II.type){case"text":{let $=(m=II.providerOptions)==null?void 0:m.anthropic;if(($==null?void 0:$.type)==="compaction")T.push({type:"compaction",content:II.text,cache_control:s});else T.push({type:"text",text:i&&bI&&P?II.text.trim():II.text,cache_control:s});break}case"reasoning":{if(G){let $=await KG({provider:"anthropic",providerOptions:II.providerOptions,schema:_Sb});if($!=null)if($.signature!=null)x.getCacheControl(II.providerOptions,{type:"thinking block",canCache:!1}),T.push({type:"thinking",thinking:II.text,signature:$.signature});else if($.redactedData!=null)x.getCacheControl(II.providerOptions,{type:"redacted thinking block",canCache:!1}),T.push({type:"redacted_thinking",data:$.redactedData});else Z.push({type:"other",message:"unsupported reasoning metadata"});else Z.push({type:"other",message:"unsupported reasoning metadata"})}else Z.push({type:"other",message:"sending reasoning content is disabled for this model"});break}case"tool-call":{if(II.providerExecuted){let NI=W.toProviderToolName(II.toolName);if(((H=(R=II.providerOptions)==null?void 0:R.anthropic)==null?void 0:H.type)==="mcp-tool-use"){K.add(II.toolCallId);let WG=(E=(h=II.providerOptions)==null?void 0:h.anthropic)==null?void 0:E.serverName;if(WG==null||typeof WG!=="string"){Z.push({type:"other",message:"mcp tool use server name is required and must be a string"});break}T.push({type:"mcp_tool_use",id:II.toolCallId,name:II.toolName,input:II.input,server_name:WG,cache_control:s})}else if(NI==="code_execution"&&II.input!=null&&typeof II.input==="object"&&"type"in II.input&&typeof II.input.type==="string"&&(II.input.type==="bash_code_execution"||II.input.type==="text_editor_code_execution"))T.push({type:"server_tool_use",id:II.toolCallId,name:II.input.type,input:II.input,cache_control:s});else if(NI==="code_execution"&&II.input!=null&&typeof II.input==="object"&&"type"in II.input&&II.input.type==="programmatic-tool-call"){let{type:WG,...DI}=II.input;T.push({type:"server_tool_use",id:II.toolCallId,name:"code_execution",input:DI,cache_control:s})}else if(NI==="code_execution"||NI==="web_fetch"||NI==="web_search")T.push({type:"server_tool_use",id:II.toolCallId,name:NI,input:II.input,cache_control:s});else if(NI==="tool_search_tool_regex"||NI==="tool_search_tool_bm25")T.push({type:"server_tool_use",id:II.toolCallId,name:NI,input:II.input,cache_control:s});else if(NI==="advisor")T.push({type:"server_tool_use",id:II.toolCallId,name:"advisor",input:{},cache_control:s});else Z.push({type:"other",message:`provider executed tool call for tool ${II.toolName} is not supported`});break}let $=(C=II.providerOptions)==null?void 0:C.anthropic,dI=($==null?void 0:$.caller)?($.caller.type==="code_execution_20250825"||$.caller.type==="code_execution_20260120")&&$.caller.toolId?{type:$.caller.type,tool_id:$.caller.toolId}:$.caller.type==="direct"?{type:"direct"}:void 0:void 0;T.push({type:"tool_use",id:II.toolCallId,name:II.toolName,input:II.input,...dI&&{caller:dI},cache_control:s});break}case"tool-result":{let $=W.toProviderToolName(II.toolName);if(K.has(II.toolCallId)){let dI=II.output;if(dI.type!=="json"&&dI.type!=="error-json"){Z.push({type:"other",message:`provider executed tool result output type ${dI.type} for tool ${II.toolName} is not supported`});break}T.push({type:"mcp_tool_result",tool_use_id:II.toolCallId,is_error:dI.type==="error-json",content:dI.value,cache_control:s})}else if($==="code_execution"){let dI=II.output;if(dI.type==="error-text"||dI.type==="error-json"){let NI={};try{if(typeof dI.value==="string")NI=JSON.parse(dI.value);else if(typeof dI.value==="object"&&dI.value!==null)NI=dI.value}catch(RI){}if(NI.type==="code_execution_tool_result_error")T.push({type:"code_execution_tool_result",tool_use_id:II.toolCallId,content:{type:"code_execution_tool_result_error",error_code:(J=NI.errorCode)!=null?J:"unknown"},cache_control:s});else T.push({type:"bash_code_execution_tool_result",tool_use_id:II.toolCallId,cache_control:s,content:{type:"bash_code_execution_tool_result_error",error_code:(y=NI.errorCode)!=null?y:"unknown"}});break}if(dI.type!=="json"){Z.push({type:"other",message:`provider executed tool result output type ${dI.type} for tool ${II.toolName} is not supported`});break}if(dI.value==null||typeof dI.value!=="object"||!("type"in dI.value)||typeof dI.value.type!=="string"){Z.push({type:"other",message:`provider executed tool result output value is not a valid code execution result for tool ${II.toolName}`});break}if(dI.value.type==="code_execution_result"){let NI=await db({value:dI.value,schema:yrG});T.push({type:"code_execution_tool_result",tool_use_id:II.toolCallId,content:{type:NI.type,stdout:NI.stdout,stderr:NI.stderr,return_code:NI.return_code,content:(v=NI.content)!=null?v:[]},cache_control:s})}else if(dI.value.type==="encrypted_code_execution_result"){let NI=await db({value:dI.value,schema:ArG});if(NI.type==="encrypted_code_execution_result")T.push({type:"code_execution_tool_result",tool_use_id:II.toolCallId,content:{type:NI.type,encrypted_stdout:NI.encrypted_stdout,stderr:NI.stderr,return_code:NI.return_code,content:(A=NI.content)!=null?A:[]},cache_control:s})}else{let NI=await db({value:dI.value,schema:CrG});if(NI.type==="code_execution_result")T.push({type:"code_execution_tool_result",tool_use_id:II.toolCallId,content:{type:NI.type,stdout:NI.stdout,stderr:NI.stderr,return_code:NI.return_code,content:(u=NI.content)!=null?u:[]},cache_control:s});else if(NI.type==="bash_code_execution_result"||NI.type==="bash_code_execution_tool_result_error")T.push({type:"bash_code_execution_tool_result",tool_use_id:II.toolCallId,cache_control:s,content:NI});else T.push({type:"text_editor_code_execution_tool_result",tool_use_id:II.toolCallId,cache_control:s,content:NI})}break}if($==="web_fetch"){let dI=II.output;if(dI.type==="error-json"){T.push({type:"web_fetch_tool_result",tool_use_id:II.toolCallId,content:{type:"web_fetch_tool_result_error",error_code:(L=(await QrG(dI.value)).errorCode)!=null?L:"unavailable"},cache_control:s});break}if(dI.type!=="json"){Z.push({type:"other",message:`provider executed tool result output type ${dI.type} for tool ${II.toolName} is not supported`});break}let NI=await db({value:dI.value,schema:ErG});T.push({type:"web_fetch_tool_result",tool_use_id:II.toolCallId,content:{type:"web_fetch_result",url:NI.url,retrieved_at:NI.retrievedAt,content:{type:"document",title:NI.content.title,citations:NI.content.citations,source:{type:NI.content.source.type,media_type:NI.content.source.mediaType,data:NI.content.source.data}}},cache_control:s});break}if($==="web_search"){let dI=II.output;if(dI.type==="error-json"){T.push({type:"web_search_tool_result",tool_use_id:II.toolCallId,content:{type:"web_search_tool_result_error",error_code:(z=(await QrG(dI.value)).errorCode)!=null?z:"unavailable"},cache_control:s});break}if(dI.type!=="json"){Z.push({type:"other",message:`provider executed tool result output type ${dI.type} for tool ${II.toolName} is not supported`});break}let NI=await db({value:dI.value,schema:vrG});T.push({type:"web_search_tool_result",tool_use_id:II.toolCallId,content:NI.map((RI)=>({url:RI.url,title:RI.title,page_age:RI.pageAge,encrypted_content:RI.encryptedContent,type:RI.type})),cache_control:s});break}if($==="tool_search_tool_regex"||$==="tool_search_tool_bm25"){let dI=II.output;if(dI.type!=="json"){Z.push({type:"other",message:`provider executed tool result output type ${dI.type} for tool ${II.toolName} is not supported`});break}let RI=(await db({value:dI.value,schema:LrG})).map((WG)=>({type:"tool_reference",tool_name:WG.toolName}));T.push({type:"tool_search_tool_result",tool_use_id:II.toolCallId,content:{type:"tool_search_tool_search_result",tool_references:RI},cache_control:s});break}if($==="advisor"){let dI=II.output;if(dI.type!=="json"&&dI.type!=="error-json"){Z.push({type:"other",message:`provider executed tool result output type ${dI.type} for tool ${II.toolName} is not supported`});break}let NI=await db({value:dI.value,schema:JrG});if(NI.type==="advisor_result")T.push({type:"advisor_tool_result",tool_use_id:II.toolCallId,content:{type:"advisor_result",text:NI.text},cache_control:s});else if(NI.type==="advisor_redacted_result")T.push({type:"advisor_tool_result",tool_use_id:II.toolCallId,content:{type:"advisor_redacted_result",encrypted_content:NI.encryptedContent},cache_control:s});else T.push({type:"advisor_tool_result",tool_use_id:II.toolCallId,content:{type:"advisor_tool_result_error",error_code:NI.errorCode},cache_control:s});break}Z.push({type:"other",message:`provider executed tool result for tool ${II.toolName} is not supported`});break}}}}a.push({role:"assistant",content:T});break}default:throw Error(`content type: ${n}`)}}return{prompt:{system:D,messages:a},betas:O}}function O_b(I){let G=[],Z=void 0;for(let b of I){let{role:W}=b;switch(W){case"system":{if((Z==null?void 0:Z.type)!=="system")Z={type:"system",messages:[]},G.push(Z);Z.messages.push(b);break}case"assistant":{if((Z==null?void 0:Z.type)!=="assistant")Z={type:"assistant",messages:[]},G.push(Z);Z.messages.push(b);break}case"user":{if((Z==null?void 0:Z.type)!=="user")Z={type:"user",messages:[]},G.push(Z);Z.messages.push(b);break}case"tool":{if((Z==null?void 0:Z.type)!=="user")Z={type:"user",messages:[]},G.push(Z);Z.messages.push(b);break}default:throw Error(`Unsupported role: ${W}`)}}return G}function HgI({finishReason:I,isJsonResponseFromTool:G}){switch(I){case"pause_turn":case"end_turn":case"stop_sequence":return"stop";case"refusal":return"content-filter";case"tool_use":return G?"stop":"tool-calls";case"max_tokens":case"model_context_window_exceeded":return"length";case"compaction":return"other";default:return"other"}}function M_b(I){return zrG(I)}function l3(I){if(typeof I==="boolean"||!D_b(I))return I;return zrG(I)}function zrG(I){let G={},Z=I;if(I.$ref!=null)return{$ref:I.$ref};if(I.$schema!=null)G.$schema=I.$schema;if(I.$id!=null)G.$id=I.$id;if(I.title!=null)G.title=I.title;if(I.description!=null)G.description=I.description;if(I.default!==void 0)G.default=I.default;if(I.const!==void 0)G.const=I.const;if(I.enum!=null)G.enum=I.enum;if(I.type!=null)G.type=I.type;if(I.anyOf!=null)G.anyOf=I.anyOf.map(l3);else if(I.oneOf!=null)G.anyOf=I.oneOf.map(l3);if(I.allOf!=null)G.allOf=I.allOf.map(l3);if(I.definitions!=null)G.definitions=Object.fromEntries(Object.entries(I.definitions).map(([W,l])=>[W,l3(l)]));if(Z.$defs!=null){let W=G;W.$defs=Object.fromEntries(Object.entries(Z.$defs).map(([l,Y])=>[l,l3(Y)]))}if(I.type==="object"||I.properties!=null){if(I.properties!=null)G.properties=Object.fromEntries(Object.entries(I.properties).map(([W,l])=>[W,l3(l)]));if(G.additionalProperties=!1,I.required!=null)G.required=I.required}if(I.items!=null)G.items=Array.isArray(I.items)?I.items.map(l3):l3(I.items);if(typeof I.format==="string"&&prG.has(I.format))G.format=I.format;let b=K_b(I);if(b!=null)G.description=G.description==null?b:`${G.description}
@@ -7608,7 +7608,7 @@ Error message: ${nbZ(Z)}`,cause:Z});this[xbZ]=!0,this.value=G}static isInstance(
7608
7608
  ]))`;continue}else if(W[X]==="$"){l+=`($|(?=[\r
7609
7609
  ]))`;continue}}if(b.s&&W[X]==="."){l+=N?`${W[X]}\r
7610
7610
  `:`[${W[X]}\r
7611
- ]`;continue}if(l+=W[X],W[X]==="\\")Y=!0;else if(N&&W[X]==="]")N=!1;else if(!N&&W[X]==="[")N=!0}try{new RegExp(l)}catch(X){return console.warn(`Could not convert regex pattern at ${G.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),I.source}return l}function LWZ(I,G){var Z,b,W,l,Y,N;let c={type:"object",additionalProperties:(Z=rl(I.valueType._def,{...G,currentPath:[...G.currentPath,"additionalProperties"]}))!=null?Z:G.allowedAdditionalProperties};if(((b=I.keyType)==null?void 0:b._def.typeName)===GI.ZodString&&((W=I.keyType._def.checks)==null?void 0:W.length)){let{type:X,...d}=AWZ(I.keyType._def,G);return{...c,propertyNames:d}}else if(((l=I.keyType)==null?void 0:l._def.typeName)===GI.ZodEnum)return{...c,propertyNames:{enum:I.keyType._def.values}};else if(((Y=I.keyType)==null?void 0:Y._def.typeName)===GI.ZodBranded&&I.keyType._def.type._def.typeName===GI.ZodString&&((N=I.keyType._def.type._def.checks)==null?void 0:N.length)){let{type:X,...d}=yWZ(I.keyType._def,G);return{...c,propertyNames:d}}return c}function CGW(I,G){if(G.mapStrategy==="record")return LWZ(I,G);let Z=rl(I.keyType._def,{...G,currentPath:[...G.currentPath,"items","items","0"]})||jF(),b=rl(I.valueType._def,{...G,currentPath:[...G.currentPath,"items","items","1"]})||jF();return{type:"array",maxItems:125,items:{type:"array",items:[Z,b],minItems:2,maxItems:2}}}function AGW(I){let G=I.values,b=Object.keys(I.values).filter((l)=>{return typeof G[G[l]]!=="number"}).map((l)=>G[l]),W=Array.from(new Set(b.map((l)=>typeof l)));return{type:W.length===1?W[0]==="string"?"string":"number":["string","number"],enum:b}}function LGW(){return{not:jF()}}function pGW(){return{type:"null"}}function zGW(I,G){let Z=I.options instanceof Map?Array.from(I.options.values()):I.options;if(Z.every((b)=>(b._def.typeName in TUI)&&(!b._def.checks||!b._def.checks.length))){let b=Z.reduce((W,l)=>{let Y=TUI[l._def.typeName];return Y&&!W.includes(Y)?[...W,Y]:W},[]);return{type:b.length>1?b:b[0]}}else if(Z.every((b)=>b._def.typeName==="ZodLiteral"&&!b.description)){let b=Z.reduce((W,l)=>{let Y=typeof l._def.value;switch(Y){case"string":case"number":case"boolean":return[...W,Y];case"bigint":return[...W,"integer"];case"object":if(l._def.value===null)return[...W,"null"];case"symbol":case"undefined":case"function":default:return W}},[]);if(b.length===Z.length){let W=b.filter((l,Y,N)=>N.indexOf(l)===Y);return{type:W.length>1?W:W[0],enum:Z.reduce((l,Y)=>{return l.includes(Y._def.value)?l:[...l,Y._def.value]},[])}}}else if(Z.every((b)=>b._def.typeName==="ZodEnum"))return{type:"string",enum:Z.reduce((b,W)=>[...b,...W._def.values.filter((l)=>!b.includes(l))],[])};return kGW(I,G)}function uGW(I,G){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(I.innerType._def.typeName)&&(!I.innerType._def.checks||!I.innerType._def.checks.length))return{type:[TUI[I.innerType._def.typeName],"null"]};let Z=rl(I.innerType._def,{...G,currentPath:[...G.currentPath,"anyOf","0"]});return Z&&{anyOf:[Z,{type:"null"}]}}function gGW(I){let G={type:"number"};if(!I.checks)return G;for(let Z of I.checks)switch(Z.kind){case"int":G.type="integer";break;case"min":if(Z.inclusive)G.minimum=Z.value;else G.exclusiveMinimum=Z.value;break;case"max":if(Z.inclusive)G.maximum=Z.value;else G.exclusiveMaximum=Z.value;break;case"multipleOf":G.multipleOf=Z.value;break}return G}function UGW(I,G){let Z={type:"object",properties:{}},b=[],W=I.shape();for(let Y in W){let N=W[Y];if(N===void 0||N._def===void 0)continue;let c=OGW(N),X=rl(N._def,{...G,currentPath:[...G.currentPath,"properties",Y],propertyPath:[...G.currentPath,"properties",Y]});if(X===void 0)continue;if(Z.properties[Y]=X,!c)b.push(Y)}if(b.length)Z.required=b;let l=BGW(I,G);if(l!==void 0)Z.additionalProperties=l;return Z}function BGW(I,G){if(I.catchall._def.typeName!=="ZodNever")return rl(I.catchall._def,{...G,currentPath:[...G.currentPath,"additionalProperties"]});switch(I.unknownKeys){case"passthrough":return G.allowedAdditionalProperties;case"strict":return G.rejectedAdditionalProperties;case"strip":return G.removeAdditionalStrategy==="strict"?G.allowedAdditionalProperties:G.rejectedAdditionalProperties}}function OGW(I){try{return I.isOptional()}catch(G){return!0}}function KGW(I,G){return rl(I.type._def,G)}function aGW(I,G){let b={type:"array",uniqueItems:!0,items:rl(I.valueType._def,{...G,currentPath:[...G.currentPath,"items"]})};if(I.minSize)b.minItems=I.minSize.value;if(I.maxSize)b.maxItems=I.maxSize.value;return b}function jGW(I,G){if(I.rest)return{type:"array",minItems:I.items.length,items:I.items.map((Z,b)=>rl(Z._def,{...G,currentPath:[...G.currentPath,"items",`${b}`]})).reduce((Z,b)=>b===void 0?Z:[...Z,b],[]),additionalItems:rl(I.rest._def,{...G,currentPath:[...G.currentPath,"additionalItems"]})};else return{type:"array",minItems:I.items.length,maxItems:I.items.length,items:I.items.map((Z,b)=>rl(Z._def,{...G,currentPath:[...G.currentPath,"items",`${b}`]})).reduce((Z,b)=>b===void 0?Z:[...Z,b],[])}}function DGW(){return{not:jF()}}function qGW(){return jF()}function rl(I,G,Z=!1){var b;let W=G.seen.get(I);if(G.override){let c=(b=G.override)==null?void 0:b.call(G,I,G,W,Z);if(c!==VGW)return c}if(W&&!Z){let c=nGW(W,G);if(c!==void 0)return c}let l={def:I,path:G.currentPath,jsonSchema:void 0};G.seen.set(I,l);let Y=SGW(I,I.typeName,G),N=typeof Y==="function"?rl(Y(),G):Y;if(N)PGW(I,G,N);if(G.postProcess){let c=G.postProcess(N,I,G);return l.jsonSchema=N,c}return l.jsonSchema=N,N}function TWI(I,{validate:G}={}){return{[SUI]:!0,_type:void 0,get jsonSchema(){if(typeof I==="function")I=I();return I},validate:G}}function fGW(I){return typeof I==="object"&&I!==null&&SUI in I&&I[SUI]===!0&&"jsonSchema"in I&&"validate"in I}function sGW(I){return I==null?TWI({properties:{},additionalProperties:!1}):fGW(I)?I:("~standard"in I)?I["~standard"].vendor==="zod"?IZW(I):oGW(I):I()}function oGW(I){return TWI(()=>I["~standard"].jsonSchema.input({target:"draft-07"}),{validate:async(G)=>{let Z=await I["~standard"].validate(G);return"value"in Z?{success:!0,value:Z.value}:{success:!1,error:new c3({value:G,cause:Z.issues})}}})}function rGW(I,G){var Z;let b=(Z=G==null?void 0:G.useReferences)!=null?Z:!1;return TWI(()=>iGW(I,{$refStrategy:b?"root":"none"}),{validate:async(W)=>{let l=await I.safeParseAsync(W);return l.success?{success:!0,value:l.data}:{success:!1,error:l.error}}})}function tGW(I,G){var Z;let b=(Z=G==null?void 0:G.useReferences)!=null?Z:!1;return TWI(()=>EWZ(jQ(I,{target:"draft-7",io:"input",reused:b?"ref":"inline"})),{validate:async(W)=>{let l=await AR(I,W);return l.success?{success:!0,value:l.data}:{success:!1,error:l.error}}})}function eGW(I){return"_zod"in I}function IZW(I,G){if(eGW(I))return tGW(I,G);else return rGW(I,G)}async function GZW({value:I,schema:G}){let Z=await PUI({value:I,schema:G});if(!Z.success)throw c3.wrap({value:I,cause:Z.error});return Z.value}async function PUI({value:I,schema:G}){let Z=sGW(G);try{if(Z.validate==null)return{success:!0,value:I,rawValue:I};let b=await Z.validate(I);if(b.success)return{success:!0,value:b.value,rawValue:I};return{success:!1,error:c3.wrap({value:I,cause:b.error}),rawValue:I}}catch(b){return{success:!1,error:c3.wrap({value:I,cause:b}),rawValue:I}}}async function ZZW({text:I,schema:G}){try{let Z=nUI(I);if(G==null)return Z;return GZW({value:Z,schema:G})}catch(Z){if(mT.isInstance(Z)||c3.isInstance(Z))throw Z;throw new mT({text:I,cause:Z})}}async function pWZ({text:I,schema:G}){try{let Z=nUI(I);if(G==null)return{success:!0,value:Z,rawValue:Z};return await PUI({value:Z,schema:G})}catch(Z){return{success:!1,error:mT.isInstance(Z)?Z:new mT({text:I,cause:Z}),rawValue:void 0}}}function $UI(I){try{return nUI(I),!0}catch(G){return!1}}function bZW({stream:I,schema:G}){return I.pipeThrough(new TextDecoderStream).pipeThrough(new eA).pipeThrough(new TransformStream({async transform({data:Z},b){if(Z==="[DONE]")return;b.enqueue(await pWZ({text:Z,schema:G}))}}))}async function iUI({provider:I,providerOptions:G,schema:Z}){if((G==null?void 0:G[I])==null)return;let b=await PUI({value:G[I],schema:Z});if(!b.success)throw new aWI({argument:"providerOptions",message:`invalid ${I} provider options`,cause:b.error});return b.value}function SWI(I){return I==null?void 0:I.replace(/\/$/,"")}var oIW,MEl,JWZ="AI_DownloadError",vWZ,tIW,QWZ,mWZ,aEl,eIW=({prefix:I,size:G=16,alphabet:Z="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:b="-"}={})=>{let W=()=>{let l=Z.length,Y=Array(G);for(let N=0;N<G;N++)Y[N]=Z[Math.random()*l|0];return Y.join("")};if(I==null)return W;if(Z.includes(b))throw new aWI({argument:"separator",message:`The separator "${b}" must not be part of the alphabet "${Z}".`});return()=>`${I}${b}${W()}`},ZL,IGW,WGW="4.0.4",lGW,YGW,VGW,HWZ,cGW=(I)=>typeof I==="string"?{...HWZ,name:I}:{...HWZ,...I},QGW=(I,G)=>{return rl(I.innerType._def,G)},mGW=(I)=>{let G={type:"integer",format:"unix-time"};for(let Z of I.checks)switch(Z.kind){case"min":G.minimum=Z.value;break;case"max":G.maximum=Z.value;break}return G},wGW=(I)=>{if("type"in I&&I.type==="string")return!1;return"allOf"in I},jUI=void 0,v1,EGW,TUI,kGW=(I,G)=>{let Z=(I.options instanceof Map?Array.from(I.options.values()):I.options).map((b,W)=>rl(b._def,{...G,currentPath:[...G.currentPath,"anyOf",`${W}`]})).filter((b)=>!!b&&(!G.strictUnions||typeof b==="object"&&Object.keys(b).length>0));return Z.length?{anyOf:Z}:void 0},xGW=(I,G)=>{var Z;if(G.currentPath.toString()===((Z=G.propertyPath)==null?void 0:Z.toString()))return rl(I.innerType._def,G);let b=rl(I.innerType._def,{...G,currentPath:[...G.currentPath,"anyOf","1"]});return b?{anyOf:[{not:jF()},b]}:jF()},MGW=(I,G)=>{if(G.pipeStrategy==="input")return rl(I.in._def,G);else if(G.pipeStrategy==="output")return rl(I.out._def,G);let Z=rl(I.in._def,{...G,currentPath:[...G.currentPath,"allOf","0"]}),b=rl(I.out._def,{...G,currentPath:[...G.currentPath,"allOf",Z?"1":"0"]});return{allOf:[Z,b].filter((W)=>W!==void 0)}},TGW=(I,G)=>{return rl(I.innerType._def,G)},SGW=(I,G,Z)=>{switch(G){case GI.ZodString:return AWZ(I,Z);case GI.ZodNumber:return gGW(I);case GI.ZodObject:return UGW(I,Z);case GI.ZodBigInt:return dGW(I);case GI.ZodBoolean:return FGW();case GI.ZodDate:return CWZ(I,Z);case GI.ZodUndefined:return DGW();case GI.ZodNull:return pGW();case GI.ZodArray:return XGW(I,Z);case GI.ZodUnion:case GI.ZodDiscriminatedUnion:return zGW(I,Z);case GI.ZodIntersection:return JGW(I,Z);case GI.ZodTuple:return jGW(I,Z);case GI.ZodRecord:return LWZ(I,Z);case GI.ZodLiteral:return vGW(I);case GI.ZodEnum:return hGW(I);case GI.ZodNativeEnum:return AGW(I);case GI.ZodNullable:return uGW(I,Z);case GI.ZodOptional:return xGW(I,Z);case GI.ZodMap:return CGW(I,Z);case GI.ZodSet:return aGW(I,Z);case GI.ZodLazy:return()=>I.getter()._def;case GI.ZodPromise:return KGW(I,Z);case GI.ZodNaN:case GI.ZodNever:return LGW();case GI.ZodEffects:return HGW(I,Z);case GI.ZodAny:return jF();case GI.ZodUnknown:return qGW();case GI.ZodDefault:return RGW(I,Z);case GI.ZodBranded:return yWZ(I,Z);case GI.ZodReadonly:return TGW(I,Z);case GI.ZodCatch:return QGW(I,Z);case GI.ZodPipeline:return MGW(I,Z);case GI.ZodFunction:case GI.ZodVoid:case GI.ZodSymbol:return;default:return((b)=>{return})(G)}},_GW=(I,G)=>{let Z=0;for(;Z<I.length&&Z<G.length;Z++)if(I[Z]!==G[Z])break;return[(I.length-Z).toString(),...G.slice(Z)].join("/")},nGW=(I,G)=>{switch(G.$refStrategy){case"root":return{$ref:I.path.join("/")};case"relative":return{$ref:_GW(G.currentPath,I.path)};case"none":case"seen":{if(I.path.length<G.currentPath.length&&I.path.every((Z,b)=>G.currentPath[b]===Z))return console.warn(`Recursive reference detected at ${G.currentPath.join("/")}! Defaulting to any`),jF();return G.$refStrategy==="seen"?jF():void 0}}},PGW=(I,G,Z)=>{if(I.description)Z.description=I.description;return Z},$GW=(I)=>{let G=cGW(I),Z=G.name!==void 0?[...G.basePath,G.definitionPath,G.name]:G.basePath;return{...G,currentPath:Z,propertyPath:void 0,seen:new Map(Object.entries(G.definitions).map(([b,W])=>[W._def,{def:W._def,path:[...G.basePath,G.definitionPath,b],jsonSchema:void 0}]))}},iGW=(I,G)=>{var Z;let b=$GW(G),W=typeof G==="object"&&G.definitions?Object.entries(G.definitions).reduce((X,[d,F])=>{var Q;return{...X,[d]:(Q=rl(F._def,{...b,currentPath:[...b.basePath,b.definitionPath,d]},!0))!=null?Q:jF()}},{}):void 0,l=typeof G==="string"?G:(G==null?void 0:G.nameStrategy)==="title"?void 0:G==null?void 0:G.name,Y=(Z=rl(I._def,l===void 0?b:{...b,currentPath:[...b.basePath,b.definitionPath,l]},!1))!=null?Z:jF(),N=typeof G==="object"&&G.name!==void 0&&G.nameStrategy==="title"?G.name:void 0;if(N!==void 0)Y.title=N;let c=l===void 0?W?{...Y,[b.definitionPath]:W}:Y:{$ref:[...b.$refStrategy==="relative"?[]:b.basePath,b.definitionPath,l].join("/"),[b.definitionPath]:{...W,[l]:Y}};return c.$schema="http://json-schema.org/draft-07/schema#",c},SUI,WZW=()=>globalThis.fetch,fUI=async({url:I,headers:G,body:Z,failedResponseHandler:b,successfulResponseHandler:W,abortSignal:l,fetch:Y})=>lZW({url:I,headers:{"Content-Type":"application/json",...G},body:{content:JSON.stringify(Z),values:Z},failedResponseHandler:b,successfulResponseHandler:W,abortSignal:l,fetch:Y}),lZW=async({url:I,headers:G={},body:Z,successfulResponseHandler:b,failedResponseHandler:W,abortSignal:l,fetch:Y=WZW()})=>{try{let N=await Y(I,{method:"POST",headers:HT(G,`ai-sdk/provider-utils/${WGW}`,ZGW()),body:Z.content,signal:l}),c=DWI(N);if(!N.ok){let X;try{X=await W({response:N,url:I,requestBodyValues:Z.values})}catch(d){if(qUI(d)||mm.isInstance(d))throw d;throw new mm({message:"Failed to process error response",cause:d,statusCode:N.status,url:I,responseHeaders:c,requestBodyValues:Z.values})}throw X.value}try{return await b({response:N,url:I,requestBodyValues:Z.values})}catch(X){if(X instanceof Error){if(qUI(X)||mm.isInstance(X))throw X}throw new mm({message:"Failed to process successful response",cause:X,statusCode:N.status,url:I,responseHeaders:c,requestBodyValues:Z.values})}}catch(N){throw GGW({error:N,url:I,requestBodyValues:Z.values})}},zWZ=({errorSchema:I,errorToMessage:G,isRetryable:Z})=>async({response:b,url:W,requestBodyValues:l})=>{let Y=await b.text(),N=DWI(b);if(Y.trim()==="")return{responseHeaders:N,value:new mm({message:b.statusText,url:W,requestBodyValues:l,statusCode:b.status,responseHeaders:N,responseBody:Y,isRetryable:Z==null?void 0:Z(b)})};try{let c=await ZZW({text:Y,schema:I});return{responseHeaders:N,value:new mm({message:G(c),url:W,requestBodyValues:l,statusCode:b.status,responseHeaders:N,responseBody:Y,data:c,isRetryable:Z==null?void 0:Z(b,c)})}}catch(c){return{responseHeaders:N,value:new mm({message:b.statusText,url:W,requestBodyValues:l,statusCode:b.status,responseHeaders:N,responseBody:Y,isRetryable:Z==null?void 0:Z(b)})}}},kWZ=(I)=>async({response:G})=>{let Z=DWI(G);if(G.body==null)throw new _bZ({});return{responseHeaders:Z,value:bZW({stream:G.body,schema:I})}},uWZ=(I)=>async({response:G,url:Z,requestBodyValues:b})=>{let W=await G.text(),l=await pWZ({text:W,schema:I}),Y=DWI(G);if(!l.success)throw new mm({message:"Invalid JSON response",cause:l.error,statusCode:G.status,responseHeaders:Y,responseBody:W,url:Z,requestBodyValues:b});return{responseHeaders:Y,value:l.value,rawValue:l.rawValue}};var hT=g(()=>{x0();x0();x0();x0();x0();x0();x0();CI();E0();E0();E0();xWI();x0();x0();x0();LUI();({btoa:oIW,atob:MEl}=globalThis);vWZ=`vercel.ai.error.${JWZ}`,tIW=Symbol.for(vWZ),aEl=class extends(mWZ=ol,QWZ=tIW,mWZ){constructor({url:I,statusCode:G,statusText:Z,cause:b,message:W=b==null?`Failed to download ${I}: ${G} ${Z}`:`Failed to download ${I}: ${b}`}){super({name:JWZ,message:W,cause:b});this[QWZ]=!0,this.url=I,this.statusCode=G,this.statusText=Z}static isInstance(I){return ol.hasMarker(I,vWZ)}},ZL=eIW();IGW=["fetch failed","failed to fetch"];lGW=/"__proto__"\s*:/,YGW=/"constructor"\s*:/;VGW=Symbol("Let zodToJsonSchema decide on which parser to use"),HWZ={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};v1={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(jUI===void 0)jUI=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return jUI},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};EGW=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");TUI={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};SUI=Symbol.for("vercel.ai.schema")});function YZW(I={}){let G=SWI(I.baseURL??"https://api.minimax.io/anthropic/v1"),Z=()=>HT({"anthropic-version":"2023-06-01","x-api-key":qWI({apiKey:I.apiKey,environmentVariableName:"MINIMAX_API_KEY",description:"MiniMax API key"}),...I.headers},"minimax-ai-provider"),b=(l)=>{return new VbZ(l,{provider:"minimax.messages",baseURL:G,headers:Z,fetch:I.fetch,generateId:ZL,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/]})})},W=(l)=>b(l);return W.languageModel=b,W.chat=b,W.specificationVersion="v3",W.embeddingModel=(l)=>{throw new qB({modelId:l,modelType:"embeddingModel"})},W.imageModel=(l)=>{throw new qB({modelId:l,modelType:"imageModel"})},W}function gWZ(I){if(I==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let G=I.prompt_tokens??0,Z=I.completion_tokens??0,b=I.prompt_tokens_details?.cached_tokens??0,W=I.completion_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:G,noCache:G-b,cacheRead:b,cacheWrite:void 0},outputTokens:{total:Z,text:Z-W,reasoning:W},raw:I}}function wT(I){return I?.providerOptions?.openaiCompatible??{}}function cZW(I){return I?.providerOptions?.minimax??{}}function XZW(I){let G=[];for(let{role:Z,content:b,...W}of I){let l=wT({...W});switch(Z){case"system":{G.push({role:"system",content:b,...l});break}case"user":{if(b.length===1&&b[0].type==="text"){G.push({role:"user",content:b[0].text,...wT(b[0])});break}G.push({role:"user",content:b.map((Y)=>{let N=wT(Y);switch(Y.type){case"text":return{type:"text",text:Y.text,...N};case"file":if(Y.mediaType.startsWith("image/")){let c=Y.mediaType==="image/*"?"image/jpeg":Y.mediaType;return{type:"image_url",image_url:{url:Y.data instanceof URL?Y.data.toString():`data:${c};base64,${wWZ(Y.data)}`},...N}}else throw new jWI({functionality:`file part media type ${Y.mediaType}`})}}),...l});break}case"assistant":{let Y="",N=[],c=void 0;for(let d of b){let F=wT(d),Q=cZW(d);switch(d.type){case"text":{Y+=d.text;break}case"tool-call":{N.push({id:d.toolCallId,type:"function",function:{name:d.toolName,arguments:JSON.stringify(d.input)},...F});break}case"reasoning":{if(Q?.reasoningDetails)c=Q.reasoningDetails;break}}}let X={role:"assistant",content:Y,tool_calls:N.length>0?N:void 0,...l};if(c)X.reasoning_details=c;G.push(X);break}case"tool":{for(let Y of b){if(Y.type==="tool-approval-response")continue;let N=Y.output,c;switch(N.type){case"text":case"error-text":c=N.value;break;case"execution-denied":c=N.reason??"Tool execution denied.";break;case"content":case"json":case"error-json":c=JSON.stringify(N.value);break}let X=wT(Y);G.push({role:"tool",tool_call_id:Y.toolCallId,content:c,...X})}break}default:throw Error(`Unsupported role: ${Z}`)}}return G}function UWZ(I){switch(I){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}function dZW({tools:I,toolChoice:G}){I=I?.length?I:void 0;let Z=[];if(I==null)return{tools:void 0,toolChoice:void 0,toolWarnings:Z};let b=[];for(let l of I)if(l.type==="provider")Z.push({type:"unsupported",feature:`provider-defined tool ${l.id}`});else b.push({type:"function",function:{name:l.name,description:l.description,parameters:l.inputSchema,...l.strict!=null?{strict:l.strict}:{}}});if(G==null)return{tools:b,toolChoice:void 0,toolWarnings:Z};let W=G.type;switch(W){case"auto":case"none":case"required":return{tools:b,toolChoice:W,toolWarnings:Z};case"tool":return{tools:b,toolChoice:{type:"function",function:{name:G.toolName}},toolWarnings:Z};default:throw new jWI({functionality:`tool choice type: ${W}`})}}function BWZ({id:I,model:G,created:Z}){return{id:I??void 0,modelId:G??void 0,timestamp:Z!=null?new Date(Z*1000):void 0}}function MWZ(I={}){let G=SWI(I.baseURL??"https://api.minimax.io/v1"),Z=()=>HT({Authorization:`Bearer ${qWI({apiKey:I.apiKey,environmentVariableName:"MINIMAX_API_KEY",description:"MiniMax API key"})}`,...I.headers},"minimax-ai-provider"),b=(l)=>{return new FZW(l,{provider:"minimax.chat",url:({path:Y})=>`${G}${Y}`,headers:Z,fetch:I.fetch})},W=(l)=>b(l);return W.languageModel=b,W.chat=b,W.specificationVersion="v3",W.embeddingModel=(l)=>{throw new qB({modelId:l,modelType:"embeddingModel"})},W.imageModel=(l)=>{throw new qB({modelId:l,modelType:"imageModel"})},W}var OWZ,sUI,NZW,VZW,FZW=class{constructor(I,G){this.specificationVersion="v3",this.modelId=I,this.config=G;let Z=G.errorStructure??VZW;this.chunkSchema=RZW(Z.errorSchema),this.failedResponseHandler=zWZ(Z),this.supportsStructuredOutputs=G.supportsStructuredOutputs??!1}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){return this.config.supportedUrls?.()??{}}async getArgs({prompt:I,maxOutputTokens:G,temperature:Z,topP:b,topK:W,frequencyPenalty:l,presencePenalty:Y,providerOptions:N,stopSequences:c,responseFormat:X,seed:d,toolChoice:F,tools:Q}){let m=[],R=Object.assign(await iUI({provider:"openai-compatible",providerOptions:N,schema:sUI})??{},await iUI({provider:this.providerOptionsName,providerOptions:N,schema:sUI})??{});if(W!=null)m.push({type:"unsupported",feature:"topK"});if(X?.type==="json"&&X.schema!=null&&!this.supportsStructuredOutputs)m.push({type:"unsupported",feature:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let{tools:H,toolChoice:h,toolWarnings:E}=dZW({tools:Q,toolChoice:F});return{args:{model:this.modelId,user:R.user,max_tokens:G,temperature:Z,top_p:b,frequency_penalty:l,presence_penalty:Y,response_format:X?.type==="json"?this.supportsStructuredOutputs===!0&&X.schema!=null?{type:"json_schema",json_schema:{schema:X.schema,name:X.name??"response",description:X.description}}:{type:"json_object"}:void 0,stop:c,seed:d,...Object.fromEntries(Object.entries(N?.[this.providerOptionsName]??{}).filter(([C])=>!Object.keys(sUI.shape).includes(C))),reasoning_effort:R.reasoningEffort,verbosity:R.textVerbosity,reasoning_split:!0,messages:XZW(I),tools:H,tool_choice:h},warnings:[...m,...E]}}async doGenerate(I){let{args:G,warnings:Z}=await this.getArgs({...I}),b=JSON.stringify(G),{responseHeaders:W,value:l,rawValue:Y}=await fUI({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:_UI(this.config.headers(),I.headers),body:G,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:uWZ(QZW),abortSignal:I.abortSignal,fetch:this.config.fetch}),N=l.choices[0],c=[],X=N.message.content;if(X!=null&&X.length>0)c.push({type:"text",text:X});if(N.message.reasoning_details?.length){let Q=N.message.reasoning_details.find((m)=>m.type==="reasoning.text");if(Q?.text)c.push({type:"reasoning",text:Q.text,providerMetadata:{minimax:{reasoningDetails:N.message.reasoning_details}}})}if(N.message.tool_calls!=null)for(let Q of N.message.tool_calls)c.push({type:"tool-call",toolCallId:Q.id??ZL(),toolName:Q.function.name,input:Q.function.arguments});let d={[this.providerOptionsName]:{},...await this.config.metadataExtractor?.extractMetadata?.({parsedBody:Y})},F=l.usage?.completion_tokens_details;if(F?.accepted_prediction_tokens!=null)d[this.providerOptionsName].acceptedPredictionTokens=F?.accepted_prediction_tokens;if(F?.rejected_prediction_tokens!=null)d[this.providerOptionsName].rejectedPredictionTokens=F?.rejected_prediction_tokens;return{content:c,finishReason:{unified:UWZ(N.finish_reason),raw:N.finish_reason??void 0},usage:gWZ(l.usage),providerMetadata:d,request:{body:b},response:{...BWZ(l),headers:W,body:Y},warnings:Z}}async doStream(I){let{args:G,warnings:Z}=await this.getArgs({...I}),b={...G,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},W=this.config.metadataExtractor?.createStreamExtractor(),{responseHeaders:l,value:Y}=await fUI({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:_UI(this.config.headers(),I.headers),body:b,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:kWZ(this.chunkSchema),abortSignal:I.abortSignal,fetch:this.config.fetch}),N=[],c={unified:"other",raw:void 0},X=void 0,d=!0,F=this.providerOptionsName,Q=!1,m=!1,R=[];return{stream:Y.pipeThrough(new TransformStream({start(H){H.enqueue({type:"stream-start",warnings:Z})},transform(H,h){if(I.includeRawChunks)h.enqueue({type:"raw",rawValue:H.rawValue});if(!H.success){c={unified:"error",raw:void 0},h.enqueue({type:"error",error:H.error});return}if(W?.processChunk(H.rawValue),"error"in H.value){c={unified:"error",raw:void 0},h.enqueue({type:"error",error:H.value.error.message});return}let E=H.value;if(d)d=!1,h.enqueue({type:"response-metadata",...BWZ(E)});if(E.usage!=null)X=E.usage;let C=E.choices[0];if(C?.finish_reason!=null)c={unified:UWZ(C.finish_reason),raw:C.finish_reason??void 0};if(C?.delta==null)return;let J=C.delta;if(J.reasoning_details?.length){if(R.length===0)R=J.reasoning_details;else for(let v of J.reasoning_details){let A=R.findIndex((u)=>u.type===v.type&&u.id===v.id);if(A>=0){let u=R[A];if(v.text)u.text=(u.text||"")+v.text}else R.push({...v})}let y=J.reasoning_details.find((v)=>v.type==="reasoning.text");if(y?.text){if(!Q)h.enqueue({type:"reasoning-start",id:"reasoning-0"}),Q=!0;h.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:y.text})}}if(J.content){if(!m)h.enqueue({type:"text-start",id:"txt-0"}),m=!0;h.enqueue({type:"text-delta",id:"txt-0",delta:J.content})}if(J.tool_calls!=null)for(let y of J.tool_calls){let v=y.index;if(N[v]==null){if(y.id==null)throw new aUI({data:y,message:"Expected 'id' to be a string."});if(y.function?.name==null)throw new aUI({data:y,message:"Expected 'function.name' to be a string."});h.enqueue({type:"tool-input-start",id:y.id,toolName:y.function.name}),N[v]={id:y.id,type:"function",function:{name:y.function.name,arguments:y.function.arguments??""},hasFinished:!1};let u=N[v];if(u.function?.name!=null&&u.function?.arguments!=null){if(u.function.arguments.length>0)h.enqueue({type:"tool-input-delta",id:u.id,delta:u.function.arguments});if($UI(u.function.arguments))h.enqueue({type:"tool-input-end",id:u.id}),h.enqueue({type:"tool-call",toolCallId:u.id??ZL(),toolName:u.function.name,input:u.function.arguments}),u.hasFinished=!0}continue}let A=N[v];if(A.hasFinished)continue;if(y.function?.arguments!=null)A.function.arguments+=y.function?.arguments??"";if(h.enqueue({type:"tool-input-delta",id:A.id,delta:y.function.arguments??""}),A.function?.name!=null&&A.function?.arguments!=null&&$UI(A.function.arguments))h.enqueue({type:"tool-input-end",id:A.id}),h.enqueue({type:"tool-call",toolCallId:A.id??ZL(),toolName:A.function.name,input:A.function.arguments}),A.hasFinished=!0}},flush(H){if(Q)H.enqueue({type:"reasoning-end",id:"reasoning-0",providerMetadata:R.length>0?{minimax:{reasoningDetails:R}}:void 0});if(m)H.enqueue({type:"text-end",id:"txt-0"});for(let E of N.filter((C)=>!C.hasFinished))H.enqueue({type:"tool-input-end",id:E.id}),H.enqueue({type:"tool-call",toolCallId:E.id??ZL(),toolName:E.function.name,input:E.function.arguments});let h={[F]:{},...W?.buildMetadata()};if(X?.completion_tokens_details?.accepted_prediction_tokens!=null)h[F].acceptedPredictionTokens=X?.completion_tokens_details?.accepted_prediction_tokens;if(X?.completion_tokens_details?.rejected_prediction_tokens!=null)h[F].rejectedPredictionTokens=X?.completion_tokens_details?.rejected_prediction_tokens;H.enqueue({type:"finish",finishReason:c,usage:gWZ(X),providerMetadata:h})}})),request:{body:b},response:{headers:l}}}},xWZ,QZW,mZW,RZW=(I)=>V.union([mZW,I]),F3l,Q3l;var KWZ=g(()=>{cbZ();x0();hT();x0();hT();x0();hT();CI();CI();x0();hT();x0();OWZ=YZW(),sUI=V.object({user:V.string().optional(),reasoningEffort:V.string().optional(),textVerbosity:V.string().optional()}),NZW=V.object({error:V.object({message:V.string(),type:V.string().nullish(),param:V.any().nullish(),code:V.union([V.string(),V.number()]).nullish()})}),VZW={errorSchema:NZW,errorToMessage:(I)=>I.error.message};xWZ=V.object({prompt_tokens:V.number().nullish(),completion_tokens:V.number().nullish(),total_tokens:V.number().nullish(),prompt_tokens_details:V.object({cached_tokens:V.number().nullish()}).nullish(),completion_tokens_details:V.object({reasoning_tokens:V.number().nullish(),accepted_prediction_tokens:V.number().nullish(),rejected_prediction_tokens:V.number().nullish()}).nullish()}).nullish(),QZW=V.object({id:V.string().nullish(),created:V.number().nullish(),model:V.string().nullish(),choices:V.array(V.object({message:V.object({role:V.literal("assistant").nullish(),content:V.string().nullish(),reasoning_details:V.array(V.any()).nullish(),tool_calls:V.array(V.object({id:V.string().nullish(),function:V.object({name:V.string(),arguments:V.string()})})).nullish()}),finish_reason:V.string().nullish()})),usage:xWZ}),mZW=V.object({id:V.string().nullish(),created:V.number().nullish(),model:V.string().nullish(),choices:V.array(V.object({delta:V.object({role:V.enum(["assistant"]).nullish(),content:V.string().nullish(),reasoning_details:V.array(V.any()).nullish(),tool_calls:V.array(V.object({index:V.number(),id:V.string().nullish(),function:V.object({name:V.string().nullish(),arguments:V.string().nullish()})})).nullish()}).nullish(),finish_reason:V.string().nullish()})),usage:xWZ});F3l=MWZ(),Q3l=MWZ()});function aWZ(){let I,G,Z=new Promise((b,W)=>{I=b,G=W});return Z.catch(()=>{}),{promise:Z,resolve:I,reject:G}}function jWZ(I,G){let Z=I.toLowerCase(),b=!1;for(let W of G){if(Z===W)return"match";if(W.startsWith(Z))b=!0}return b?"partial":"fail"}class JT{state="OUTSIDE";buffer="";sawThinkingContent=!1;pendingThinking="";feed(I){let G="",Z="",b=!1,W=!1;for(let l of I){let Y=this.consume(l);if(G+=Y.visibleText,Z+=Y.thinkingText,Y.thinkingStarted)b=!0;if(Y.thinkingEnded)W=!0}return this.makeChunk(G,Z,b,W)}flush(){let I="",G="",Z=!1,b=!1;if(this.state==="MAYBE_OPEN")I+=this.buffer,this.buffer="",this.state="OUTSIDE";else if(this.state==="MAYBE_CLOSE"){let W=this.pendingThinking+this.buffer;if(this.sawThinkingContent)G+=W;else if(/\S/.test(W))Z=!0,G+=W,this.sawThinkingContent=!0;this.buffer="",this.pendingThinking="",this.state="INSIDE"}if(this.state==="INSIDE"&&this.sawThinkingContent)b=!0;return this.makeChunk(I,G,Z,b)}consume(I){let G="",Z="",b=!1,W=!1;switch(this.state){case"OUTSIDE":{if(I==="<")this.buffer="<",this.state="MAYBE_OPEN";else G+=I;break}case"MAYBE_OPEN":{this.buffer+=I;let l=jWZ(this.buffer,DWZ);if(l==="match")this.state="INSIDE",this.sawThinkingContent=!1,this.pendingThinking="",this.buffer="";else if(l==="fail"||this.buffer.length>HZW)G+=this.buffer,this.buffer="",this.state="OUTSIDE";break}case"INSIDE":{if(I==="<")this.buffer="<",this.state="MAYBE_CLOSE";else if(this.sawThinkingContent)Z+=I;else if(/\s/.test(I))this.pendingThinking+=I;else this.sawThinkingContent=!0,b=!0,Z+=this.pendingThinking+I,this.pendingThinking="";break}case"MAYBE_CLOSE":{this.buffer+=I;let l=jWZ(this.buffer,qWZ);if(l==="match"){if(this.sawThinkingContent)W=!0;this.buffer="",this.pendingThinking="",this.sawThinkingContent=!1,this.state="OUTSIDE"}else if(l==="fail"||this.buffer.length>hZW){if(this.sawThinkingContent)Z+=this.buffer;else if(this.buffer.search(/\S/)!==-1)this.sawThinkingContent=!0,b=!0,Z+=this.pendingThinking+this.buffer,this.pendingThinking="";else this.pendingThinking+=this.buffer;this.buffer="",this.state="INSIDE"}break}}return{visibleText:G,thinkingText:Z,thinkingStarted:b,thinkingEnded:W}}makeChunk(I,G,Z,b){let W={visibleText:I,thinkingText:G};if(Z)W.thinkingStarted=!0;if(b)W.thinkingEnded=!0;return W}}var DWZ,qWZ,HZW,hZW,oUI;var rUI=g(()=>{DWZ=["<think>","<thinking>"],qWZ=["</think>","</thinking>"],HZW=Math.max(...DWZ.map((I)=>I.length)),hZW=Math.max(...qWZ.map((I)=>I.length));oUI={id:"tag-pair",canHandle(I){if(I.chatTemplate){if(/<\|channel\|>analysis/.test(I.chatTemplate))return!1;if(/<think(ing)?>/i.test(I.chatTemplate))return!0}if(I.capabilities?.includes("thinking"))return!0;return!1},create(){return new JT}}});function tUI(I){for(let G of TWZ)if(G.canHandle(I))return G.create();if(I.chatTemplate&&/<\|channel\|>analysis/.test(I.chatTemplate))return null;return new JT}function _WI(I){return TWZ.some((G)=>G.canHandle(I))}var TWZ;var SWZ=g(()=>{rUI();TWZ=[oUI]});var eUI=g(()=>{SWZ();rUI()});function vT(I,G){let Z=uH(G,I.id);if(Z)return{id:I.id,displayName:I.displayName,contextWindow:Z.contextWindow,supportsTools:Z.supportsTools,isReasoningModel:Z.isReasoningModel,supportsVision:Z.supportsVision,supportsPdf:Z.supportsPdf};let b=I.fallback;return{id:I.id,displayName:I.displayName,contextWindow:b?.contextWindow??vV,supportsTools:b?.supportsTools??!1,isReasoningModel:b?.isReasoningModel??!1,supportsVision:b?.supportsVision??!1,supportsPdf:b?.supportsPdf??!1}}function wZW(I){return I.replace(/\/v1\/?$/,"").replace(/\/$/,"")}async function JZW(I){try{let G=await fetch(`${wZW(I)}/props`,{method:"GET",headers:{"Content-Type":"application/json"}});if(!G.ok)return;return await G.json()}catch{return}}function vZW(I){if(!I)return;for(let[G,Z]of Object.entries(I))if(G.endsWith(".context_length")&&typeof Z==="number")return Z;return}async function EZW(I,G){try{let Z=await fetch(`${I}/show`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:G})});if(!Z.ok)return{};let b=await Z.json(),W={},l=vZW(b.model_info);if(l!==void 0)W.contextWindow=l;if(typeof b.template==="string")W.template=b.template;if(Array.isArray(b.capabilities))W.capabilities=b.capabilities;return W}catch{return{}}}function CZW(I){if(!I)return!1;return I.includes("tools")}function AZW(I){let G=I.details?.metadata;if(!G||typeof G!=="object")return!1;let Z=G.supports_tools??G.tool_use??G.function_calling;return typeof Z==="boolean"&&Z}function LZW(I,G,Z){if(I!==void 0)return CZW(I);if(G)return G.supportsTools;return AZW(Z)}async function pZW(I,G,Z){let W=I.models??[],l=5,Y=[];for(let N=0;N<W.length;N+=5){let c=W.slice(N,N+5),X=await Promise.all(c.map(async(d)=>{let F=await EZW(G,d.name),Q={id:d.name,displayName:d.name},m=uH(Z,d.name),R=LZW(F.capabilities,m,d),H;if(m)H=vT(Q,Z);else Q.fallback={contextWindow:F.contextWindow??vV,supportsTools:R,isReasoningModel:_WI({provider:"ollama",modelId:d.name,...F.template?{chatTemplate:F.template}:{},...F.capabilities?{capabilities:F.capabilities}:{}})},H=vT(Q,null);return{...H,supportsTools:R,...F.template?{chatTemplate:F.template}:{},...F.capabilities?{capabilities:F.capabilities}:{}}}));Y.push(...X)}return Y}async function zZW(I,G,Z){let W=I.data??[];if(W.length===0)throw Error("No models loaded. Start `llama-server` with `-m <path>.gguf` first.");let l=await JZW(G),Y=l?.default_generation_settings?.n_ctx,N=l?.chat_template_caps??{},c=N.supports_tools===!0&&N.supports_tool_calls===!0,X=l?.chat_template,d=_WI({provider:"llamacpp",modelId:"",...X?{chatTemplate:X}:{}});return W.map((F)=>{let Q={id:F.id,displayName:F.id},m=uH(Z,F.id);if(!m)Q.fallback={contextWindow:Y??vV,supportsTools:c,isReasoningModel:d};let R=vT(Q,m?Z:null);return X?{...R,chatTemplate:X}:R})}function nWZ(){return{fetchModels:(I,G,Z,b)=>w.tryPromise({try:async()=>{let W=`${G}${Z}`,l={"Content-Type":"application/json"};if(b)l.Authorization=`Bearer ${b}`;let Y=await qy();if(I==="ai_gateway"){let F=await FC.getAvailableModels(),Q=_WZ.ai_gateway;return Q(F.models).map((R)=>vT(R,Y))}let N=await fetch(W,{method:"GET",headers:l});if(!N.ok){if(N.status===404){if(I==="ollama")throw Error("Failed to fetch models: No models found. Pull a model using `ollama pull` first.")}throw Error(`Failed to fetch models: ${N.status} ${N.statusText}`)}let c=await N.json();if(I==="ollama")return pZW(c,G,Y);if(I==="llamacpp")return zZW(c,G,Y);let X=_WZ[I];if(!X)throw Error(`No list extractor found for provider: ${I}`);return X(c).map((F)=>vT(F,Y))},catch:(W)=>new mk({provider:I,message:`Model discovery failed: ${W instanceof Error?W.message:String(W)}`})})}}var yZW,_WZ;var PWZ=g(()=>{le();gI();ER();cN();yR();eUI();yZW=new Set(["tools","tool_choice","function_call","functions","response_format:json_schema"]);_WZ={openrouter:(I)=>{return(I.data??[]).map((Z)=>{let b=Z.supported_parameters??[],W=b.includes("reasoning")||b.includes("include_reasoning"),l=b.some((Y)=>yZW.has(Y));return{id:Z.id,displayName:Z.name,fallback:{contextWindow:Z.context_length??vV,supportsTools:l,isReasoningModel:W}}})},ai_gateway:(I)=>{return I.map((Z)=>({id:Z.id,displayName:Z.name,fallback:{contextWindow:vV,supportsTools:Z.tags?.includes("tool-use")??!1,isReasoningModel:Z.tags?.includes("reasoning")??!1}}))},groq:(I)=>{return I.data.map((Z)=>({id:Z.id,displayName:`${Z.owned_by.toLowerCase()}/${Z.id.toLowerCase()}`}))},fireworks:(I)=>{return(I.models??[]).filter((Z)=>Z.state==="READY"&&Z.conversationConfig&&Z.supportsServerless).map((Z)=>({id:Z.name,displayName:Z.displayName??Z.name,fallback:{contextWindow:Z.contextLength??vV,supportsTools:Z.supportsTools??!1,supportsVision:Z.supportsImageInput??!1}}))},cerebras:(I)=>{return I.data.map((Z)=>({id:Z.id,displayName:Z.id}))},togetherai:(I)=>{return I.filter((Z)=>Z.type==="chat").map((Z)=>({id:Z.id,displayName:Z.display_name??Z.id,fallback:{contextWindow:Z.context_length??vV}}))}}});function gZW(I){let G=I.replace(/\/+$/,"");if(G.length===0)return G;return/\/api$/.test(G)?G:`${G}/api`}function nWI(I,G){let Z=G?.[I]?.base_url,b=I==="llamacpp"?"LLAMACPP_BASE_URL":"OLLAMA_BASE_URL",W=process.env[b],l=IBI[I],Y=l.type==="dynamic"?l.defaultBaseUrl:void 0,N;if(Z&&Z.length>0)N=Z;else if(W&&W.length>0)N=W;else N=Y??"";return I==="ollama"?gZW(N):N}var kZW="http://localhost:11434/api",uZW="http://localhost:8080/v1",IBI;var $WZ=g(()=>{ER();IBI={anthropic:{type:"static",models:Qd.anthropic},openai:{type:"static",models:Qd.openai},google:{type:"static",models:Qd.google},xai:{type:"static",models:Qd.xai},openrouter:{type:"dynamic",endpointPath:"/api/v1/models",defaultBaseUrl:"https://openrouter.ai"},ai_gateway:{type:"dynamic",endpointPath:""},alibaba:{type:"static",models:Qd.alibaba},cerebras:{type:"dynamic",endpointPath:"/v1/models",defaultBaseUrl:"https://api.cerebras.ai"},deepseek:{type:"static",models:Qd.deepseek},fireworks:{type:"dynamic",endpointPath:"/v1/accounts/fireworks/models?pageSize=200",defaultBaseUrl:"https://api.fireworks.ai"},groq:{type:"dynamic",endpointPath:"/models",defaultBaseUrl:"https://api.groq.com/openai/v1"},minimax:{type:"static",models:Qd.minimax},mistral:{type:"static",models:Qd.mistral},moonshotai:{type:"static",models:Qd.moonshotai},ollama:{type:"dynamic",endpointPath:"/tags",defaultBaseUrl:kZW},llamacpp:{type:"dynamic",endpointPath:"/models",defaultBaseUrl:uZW},togetherai:{type:"dynamic",endpointPath:"/v1/models",defaultBaseUrl:"https://api.together.xyz"}}});function UZW(){return{accumulatedText:"",textSequence:0,hasStartedText:!1,reasoningSequence:0,reasoningTokens:void 0,reasoningStreamCompleted:!1,accumulatedReasoning:"",collectedToolCalls:[],pendingNativeToolCalls:new Map,firstTokenTime:null,firstTextTime:null,firstReasoningTime:null,finishEventReceived:!1,finishReason:void 0,cancelled:!1}}class GBI{config;emit;logger;state;completionResolver=null;completionPromise;constructor(I,G,Z){this.config=I;this.emit=G;this.logger=Z;this.state=UZW(),this.completionPromise=new Promise((b)=>{this.completionResolver=b})}cancel(){this.state.cancelled=!0}get completion(){return this.completionPromise}async process(I){this.emitEvent({type:"stream_start",provider:this.config.providerName,model:this.config.modelName,timestamp:this.config.startTime}),this.logger.debug("[LLM Timing] \uD83D\uDD04 Starting to process fullStream...");let G=Date.now();if(await this.processFullStream(I),this.config.reasoningParser)this.routeParsedChunk(this.config.reasoningParser.flush());if(this.logger.debug(`[LLM Timing] ✓ Stream processing completed in ${Date.now()-G}ms`),await this.completionPromise,!this.state.finishEventReceived&&!this.state.cancelled)throw Error("Stream completed without finish event");let Z=await this.buildFinalResponse(I);return this.emitCompleteEvent(Z),Z}async processFullStream(I){try{for await(let G of I.fullStream){if(this.state.finishEventReceived)break;switch(G.type){case"text-delta":{if(this.state.reasoningSequence>0&&!this.state.reasoningStreamCompleted)this.state.reasoningStreamCompleted=!0,this.emitEvent({type:"thinking_complete",...this.state.reasoningTokens!==void 0&&{totalTokens:this.state.reasoningTokens}}),this.state.reasoningSequence=0,this.state.reasoningStreamCompleted=!1;let Z;if(typeof G.text==="string")Z=G.text;else if(Array.isArray(G.text))Z=G.text.map((W)=>{if(typeof W==="object"&&W!==null){let l=W;if(l.type==="text"&&"text"in l)return String(l.text);if(l.type==="reference")return""}return typeof W==="string"?W:""}).join("");else Z=String(G.text??"");if(Z.length===0)break;if(this.config.reasoningParser)this.routeParsedChunk(this.config.reasoningParser.feed(Z));else this.emitVisibleText(Z);break}case"reasoning-start":{if(this.state.reasoningSequence===0){let Z=Date.now()-this.config.startTime;this.logger.debug(`[LLM Timing] \uD83E\uDDE0 REASONING START arrived after ${Z}ms`),this.emitEvent({type:"thinking_start",provider:this.config.providerName}),this.recordFirstToken("reasoning")}break}case"reasoning-delta":{let Z=G.text;if(Z&&Z.length>0){if(this.state.accumulatedReasoning+=Z,this.state.reasoningSequence===0){let b=Date.now()-this.config.startTime;this.logger.debug(`[LLM Timing] \uD83E\uDDE0 FIRST REASONING TOKEN arrived after ${b}ms`),this.emitEvent({type:"thinking_start",provider:this.config.providerName}),this.recordFirstToken("reasoning")}this.emitEvent({type:"thinking_chunk",content:Z,sequence:this.state.reasoningSequence++})}break}case"reasoning-end":{let Z="totalUsage"in G?G.totalUsage:void 0,b="usage"in G?G.usage:void 0,W=Z&&typeof Z==="object"&&"reasoningTokens"in Z?Z.reasoningTokens:b&&typeof b==="object"&&("reasoningTokens"in b)?b.reasoningTokens:void 0;if(W!==void 0)this.state.reasoningTokens=W;if(this.state.reasoningSequence>0&&!this.state.reasoningStreamCompleted)this.state.reasoningStreamCompleted=!0,this.emitEvent({type:"thinking_complete",...this.state.reasoningTokens!==void 0&&{totalTokens:this.state.reasoningTokens}}),this.state.reasoningSequence=0,this.state.reasoningStreamCompleted=!1;break}case"tool-call":{let Z=this.config.providerNativeToolNames?.has(G.toolName)??!1,b={id:G.toolCallId,type:"function",function:{name:G.toolName,arguments:JSON.stringify(G.input)}};if("providerMetadata"in G&&G.providerMetadata){let W=G.providerMetadata;if(W?.google?.thoughtSignature)b.thought_signature=W.google.thoughtSignature}if(Z)this.state.pendingNativeToolCalls.set(b.id,{toolCall:b,sequence:this.state.textSequence++});else this.emitEvent({type:"tool_call",toolCall:b,sequence:this.state.textSequence++}),this.state.collectedToolCalls.push(b);break}case"tool-result":{let Z=this.state.pendingNativeToolCalls.get(G.toolCallId);if(!Z)break;this.state.pendingNativeToolCalls.delete(G.toolCallId);let W=G.output?.action;if(W?.type==="search"&&typeof W.query==="string")Z.toolCall.function.arguments=JSON.stringify({query:W.query});this.emitEvent({type:"tool_call",toolCall:Z.toolCall,sequence:Z.sequence,providerNative:!0});break}case"finish":{for(let[b,W]of this.state.pendingNativeToolCalls)this.emitEvent({type:"tool_call",toolCall:W.toolCall,sequence:W.sequence,providerNative:!0}),this.state.pendingNativeToolCalls.delete(b);let Z=G.finishReason||"unknown";if(this.state.finishEventReceived=!0,this.state.finishReason=Z,Z==="error")throw Error(`Unexpected error during stream processing: ${JSON.stringify(G)}`);if(Z!=="stop"&&Z!=="length"&&Z!=="tool-calls")this.logger.warn(`[StreamProcessor] Unexpected finish reason: ${Z}`);break}case"error":throw G.error}}}catch(G){if(G instanceof Error&&G.name==="AI_TypeValidationError")throw this.logger.warn(`[StreamProcessor] AI SDK validation error (likely due to provider-specific content format): ${G.message}`,{provider:this.config.providerName,model:this.config.modelName,errorName:G.name}),G;throw G}finally{this.resolveCompletion()}}emitVisibleText(I){if(!this.state.hasStartedText){let G=Date.now()-this.config.startTime;this.logger.debug(`[LLM Timing] \uD83C\uDFAF FIRST TOKEN arrived after ${G}ms`),this.emitEvent({type:"text_start"}),this.state.hasStartedText=!0,this.recordFirstToken("text")}this.state.accumulatedText+=I,this.emitEvent({type:"text_chunk",delta:I,accumulated:this.state.accumulatedText,sequence:this.state.textSequence++})}routeParsedChunk(I){if(I.thinkingStarted&&this.state.reasoningSequence===0){let G=Date.now()-this.config.startTime;this.logger.debug(`[LLM Timing] \uD83E\uDDE0 PARSER REASONING START after ${G}ms`),this.emitEvent({type:"thinking_start",provider:this.config.providerName}),this.recordFirstToken("reasoning")}if(I.thinkingText.length>0)this.state.accumulatedReasoning+=I.thinkingText,this.emitEvent({type:"thinking_chunk",content:I.thinkingText,sequence:this.state.reasoningSequence++});if(I.thinkingEnded&&this.state.reasoningSequence>0&&!this.state.reasoningStreamCompleted)this.state.reasoningStreamCompleted=!0,this.emitEvent({type:"thinking_complete",...this.state.reasoningTokens!==void 0&&{totalTokens:this.state.reasoningTokens}}),this.state.reasoningSequence=0,this.state.reasoningStreamCompleted=!1;if(I.visibleText.length>0)this.emitVisibleText(I.visibleText)}async buildFinalResponse(I){let G=this.state.accumulatedText,Z=this.state.collectedToolCalls.length>0?this.state.collectedToolCalls:void 0,b;try{let l=await Promise.race([I.usage,new Promise((Y)=>setTimeout(()=>Y(void 0),50))]);if(l)b={promptTokens:l.inputTokens??0,completionTokens:l.outputTokens??0,totalTokens:l.totalTokens??0,...this.state.reasoningTokens!==void 0&&{reasoningTokens:this.state.reasoningTokens},...l.outputTokenDetails?.reasoningTokens!=null&&this.state.reasoningTokens===void 0&&{reasoningTokens:l.outputTokenDetails.reasoningTokens},...l.inputTokenDetails?.cacheReadTokens!=null&&{cacheReadTokens:l.inputTokenDetails.cacheReadTokens},...l.inputTokenDetails?.cacheWriteTokens!=null&&{cacheWriteTokens:l.inputTokenDetails.cacheWriteTokens}},this.emitEvent({type:"usage_update",usage:b})}catch{}let W=this.state.accumulatedReasoning;return{id:"",model:this.config.modelName,content:G,...W.length>0&&{reasoning:W},...Z&&{toolCalls:Z},...b&&{usage:b},...this.config.toolsDisabled?{toolsDisabled:!0}:{},...this.config.toolDefinitionChars!=null?{toolDefinitionChars:this.config.toolDefinitionChars}:{},...this.config.toolDefinitionCount!=null?{toolDefinitionCount:this.config.toolDefinitionCount}:{}}}emitCompleteEvent(I){let Z=Date.now()-this.config.startTime,b;if(this.state.firstTokenTime){if(b={firstTokenLatencyMs:this.state.firstTokenTime-this.config.startTime},this.state.firstTextTime)b.firstTextLatencyMs=this.state.firstTextTime-this.config.startTime;if(this.state.firstReasoningTime)b.firstReasoningLatencyMs=this.state.firstReasoningTime-this.config.startTime;if(I.usage?.totalTokens)b.tokensPerSecond=I.usage.totalTokens/Z*1000,b.totalTokens=I.usage.totalTokens}this.emitEvent({type:"complete",response:I,totalDurationMs:Z,...b&&{metrics:b}})}recordFirstToken(I){let G=Date.now();if(!this.state.firstTokenTime)this.state.firstTokenTime=G;if(I==="text"&&!this.state.firstTextTime)this.state.firstTextTime=G;else if(I==="reasoning"&&!this.state.firstReasoningTime)this.state.firstReasoningTime=G}resolveCompletion(){if(this.completionResolver)this.completionResolver(),this.completionResolver=null}emitEvent(I){this.emit(w.succeed(oW.of(I)))}close(){this.emit(w.fail(KI.none()))}}var iWZ=g(()=>{gI()});function OZW(I){let G=I;for(let Z of BZW){let b=G[Z];if(b!=null&&typeof b.then==="function")Promise.resolve(b).catch(()=>{})}}function fWZ(I,G){if(!G||Object.keys(G).length===0)return I;let Z={...I??{}};for(let[b,W]of Object.entries(G)){if(typeof W!=="string"||W.length===0)continue;let l=Z[b]&&typeof Z[b]==="object"?Z[b]:{};Z[b]={...l,api_key:W}}return Z}function xZW(I){let G=W3(I);return KI.match(G,{onNone:()=>({}),onSome:(Z)=>Z&&typeof Z==="object"?Z:{}})}function MZW(I){if(!I)return;if(I==="auto"||I==="none")return I;return{type:"tool",toolName:I.function.name}}function sWZ(I,G,Z){if(!G||G.length===0||!I)return{tools:void 0,toolChoice:void 0,toolsDisabled:!!G&&G.length>0&&!I};return{tools:G,toolChoice:MZW(Z),toolsDisabled:!1}}function oWZ(I,G){return I.map((b)=>{let W=b.role,l=a9I(b.content);if(W==="system"){let Y={role:"system",content:l},N=G?.toLowerCase();if(N==="anthropic"||N==="ai_gateway")Y.providerOptions={anthropic:{cacheControl:{type:"ephemeral"}}};else if(N==="openai")Y.providerOptions={openai:{promptCacheKey:"system-prompt"}};else if(N==="openrouter")Y.providerOptions={openrouter:{cacheControl:{type:"ephemeral"}}};return Y}if(W==="user")return{role:"user",content:l};if(W==="assistant"){let Y=[];if(l&&l.length>0)Y.push({type:"text",text:l});if(b.tool_calls&&b.tool_calls.length>0)for(let N of b.tool_calls){let c=a9I(N.function.arguments),X={type:"tool-call",toolCallId:N.id,toolName:N.function.name,input:xZW(c)};if(N.thought_signature)X.providerOptions={google:{thoughtSignature:N.thought_signature}};Y.push(X)}return{role:"assistant",content:Y}}if(W==="tool"){let Y=[];return Y.push({type:"tool-result",toolCallId:b.tool_call_id??"",toolName:b.name??"tool",output:{type:"text",value:l}}),{role:"tool",content:Y}}throw Error(`Unsupported message role: ${String(W)}`)})}function GlZ(I,G){let Z=I.toLowerCase();try{switch(Z){case"openai":{let b=igI;if(typeof b.tools?.webSearch==="function")return b.tools.webSearch({externalWebAccess:!0,searchContextSize:"high"});return null}case"anthropic":{let b=JgI;if(typeof b.tools?.webSearch_20250305==="function")return b.tools.webSearch_20250305({maxUses:5});return null}case"google":{let b=BgI;if(typeof b.tools?.googleSearch==="function")return b.tools.googleSearch({});return null}case"xai":return null;case"groq":{let b=xgI;if(typeof b.tools?.browserSearch==="function")return b.tools.browserSearch({});return null}case"openrouter":{if(typeof JUI.tools?.webSearch==="function")return JUI.tools.webSearch({});return null}default:return null}}catch(b){if(G)G.warn(`[Web Search Error] Failed to get native web search tool for ${I}: ${b instanceof Error?b.message:String(b)}`);return null}}function aZW(I){if(I.toLowerCase()==="openrouter")return KZW({});return null}function jZW(I,G){if(I.toLowerCase()==="xai")return!0;return GlZ(I,G)!==null}function blZ(I){let G=[],Z=new Set;if(I){if(I.ai_gateway?.api_key)G.push({name:"ai_gateway",displayName:"ai gateway",apiKey:I.ai_gateway.api_key}),Z.add("ai_gateway");if(I.alibaba?.api_key)G.push({name:"alibaba",apiKey:I.alibaba.api_key}),Z.add("alibaba");if(I.anthropic?.api_key)G.push({name:"anthropic",apiKey:I.anthropic.api_key}),Z.add("anthropic");if(I.cerebras?.api_key)G.push({name:"cerebras",apiKey:I.cerebras.api_key}),Z.add("cerebras");if(I.deepseek?.api_key)G.push({name:"deepseek",apiKey:I.deepseek.api_key}),Z.add("deepseek");if(I.fireworks?.api_key)G.push({name:"fireworks",apiKey:I.fireworks.api_key}),Z.add("fireworks");if(I.google?.api_key)G.push({name:"google",apiKey:I.google.api_key}),Z.add("google");if(I.groq?.api_key)G.push({name:"groq",apiKey:I.groq.api_key}),Z.add("groq");if(I.minimax?.api_key)G.push({name:"minimax",apiKey:I.minimax.api_key}),Z.add("minimax");if(I.mistral?.api_key)G.push({name:"mistral",apiKey:I.mistral.api_key}),Z.add("mistral");if(I.moonshotai?.api_key)G.push({name:"moonshotai",apiKey:I.moonshotai.api_key}),Z.add("moonshotai");if(I.openai?.api_key)G.push({name:"openai",apiKey:I.openai.api_key}),Z.add("openai");if(I.openrouter?.api_key)G.push({name:"openrouter",apiKey:I.openrouter.api_key}),Z.add("openrouter");if(I.togetherai?.api_key)G.push({name:"togetherai",apiKey:I.togetherai.api_key}),Z.add("togetherai");if(I.xai?.api_key)G.push({name:"xai",apiKey:I.xai.api_key}),Z.add("xai")}for(let[b,W]of Object.entries(ZlZ))if(!Z.has(b)){let l=process.env[W];if(l)G.push({name:b,apiKey:l}),Z.add(b)}if(!Z.has("ollama"))G.push({name:"ollama",apiKey:I?.ollama?.api_key??""});if(!Z.has("llamacpp"))G.push({name:"llamacpp",apiKey:I?.llamacpp?.api_key??""});return G}function tWZ(I,G,Z,b){let W=`${I}:${G}:${DZW(I,Z)}`;if(b?.has(W))return b.get(W);let l,Y=(N)=>{let c=ZlZ[N];return Z?.[N]?.api_key??(c?process.env[c]:void 0)};switch(I.toLowerCase()){case"openai":{let N=Y("openai");l=N?$gI({apiKey:N})(G):igI(G);break}case"anthropic":{let N=Y("anthropic");l=N?wgI({apiKey:N})(G):JgI(G);break}case"google":{let N=Y("google");l=N?UgI({apiKey:N})(G):BgI(G);break}case"mistral":{let N=Y("mistral");l=N?KgI({apiKey:N})(G):etG(G);break}case"xai":{let N=Y("xai");l=N?GUI({apiKey:N})(G):xeG(G);break}case"deepseek":{let N=Y("deepseek");l=N?ygI({apiKey:N})(G):frG(G);break}case"moonshotai":{let N=Y("moonshotai");l=N?agI({apiKey:N})(G):ZeG(G);break}case"minimax":l=OWZ(G);break;case"alibaba":{let N=Y("alibaba");l=N?QgI({apiKey:N})(G):YrG(G);break}case"cerebras":{let N=Y("cerebras");l=N?EgI({apiKey:N})(G):TrG(G);break}case"fireworks":{let N=Y("fireworks");l=N?AgI({apiKey:N})(G):erG(G);break}case"togetherai":{let N=Y("togetherai");l=N?fgI({apiKey:N})(G):ueG(G);break}case"ollama":{let N=Z?.ollama?.api_key?{Authorization:`Bearer ${Z.ollama.api_key}`}:{},c=nWI("ollama",Z);l=yUI({baseURL:c,headers:N})(G);break}case"llamacpp":{let N=Z?.llamacpp?.api_key,c=nWI("llamacpp",Z),X=N?{Authorization:`Bearer ${N}`}:void 0;l=DrG({name:"llamacpp",baseURL:c,...X?{headers:X}:{}})(G);break}case"openrouter":{let N=Z?.openrouter?.api_key,X={...N?{apiKey:N}:{},compatibility:"strict",headers:{"HTTP-Referer":"https://github.com/lvndry/jazz","X-Title":"Jazz CLI"}};l=wUI(X)(G);break}case"ai_gateway":{l=FC(G);break}case"groq":{l=xgI(G);break}default:throw Error(`Unsupported provider: ${I}`)}return b?.set(W,l),l}function DZW(I,G){if(!G)return"";switch(I){case"ollama":{let Z=G.ollama;return`${Z?.api_key??""}|${Z?.base_url??""}`}case"llamacpp":{let Z=G.llamacpp;return`${Z?.api_key??""}|${Z?.base_url??""}`}default:return G[I]?.api_key??""}}function eWZ(I,G,Z){switch(I.toLowerCase()){case"openai":{let W=G.reasoning_effort;if(W&&W!=="disable")return{openai:{reasoningEffort:W,reasoningSummary:"auto",systemMessageMode:"system",promptCacheKey:"conversation"}};break}case"anthropic":{let W=G.reasoning_effort;if(W&&W!=="disable")return{anthropic:{thinking:{type:"enabled"}}};break}case"google":{let W=G.reasoning_effort;if(W&&W!=="disable"){let l=G.model.includes("gemini-3")?W:void 0;return{google:{thinkingConfig:{includeThoughts:!0,...l?{thinkingLevel:l}:{}}}}}break}case"xai":{let W={},l=G.reasoning_effort;if(l&&l!=="disable")W.reasoningEffort=l==="medium"?"low":l;let Y=G.tools?.some((X)=>X.function.name==="web_search"),N=Z?.provider,c=N?!!Z?.[N]?.api_key:!1;if(Y&&!N&&!c)W.searchParameters={mode:"auto",returnCitations:!0,sources:[{type:"web"},{type:"news"}]};if(Object.keys(W).length>0)return{xai:W};break}case"ollama":{if(G.reasoning_effort&&G.reasoning_effort!=="disable")return{ollama:{think:!0}};return{ollama:{think:!1}}}case"openrouter":{let W=G.reasoning_effort;if(W&&W!=="disable")return{openrouter:{reasoning:{enabled:!0,effort:{low:"low",medium:"medium",high:"high"}[W]??"medium"}}};break}case"moonshotai":{let W=G.reasoning_effort;if(W&&W!=="disable")return{moonshotai:{thinking:{type:"enabled",budgetTokens:{low:1024,medium:4096,high:16384}[W]??4096},reasoningHistory:"interleaved"}};break}case"alibaba":{let W=G.reasoning_effort;if(W&&W!=="disable")return{alibaba:{enableThinking:!0,thinkingBudget:{low:1024,medium:4096,high:16384}[W]??4096}};break}case"cerebras":{let W=G.reasoning_effort;if(W&&W!=="disable")return{cerebras:{reasoningEffort:W}};break}case"fireworks":{let W=G.reasoning_effort;if(W&&W!=="disable")return{fireworks:{thinking:{type:"enabled",budgetTokens:{low:1024,medium:4096,high:16384}[W]??4096},reasoningHistory:"interleaved"}};break}default:break}return}class WlZ{logger;config;providerModels=IBI;modelFetcher;configService;lastSeenConfigRevision=-1;modelCache=new Map;modelInfoCache=new Map;constructor(I,G,Z){this.logger=Z;this.config=I,this.configService=G,this.modelFetcher=nWZ()}isProviderName(I){return Object.hasOwn(this.providerModels,I)}async refreshRuntimeConfigIfChanged(){let I=w.runSync(this.configService.revision);if(I===this.lastSeenConfigRevision)return;let G=await w.runPromise(this.configService.appConfig),Z=JSON.stringify(G.llm??{})!==JSON.stringify(this.config.llmConfig??{});if(this.config={...G.llm?{llmConfig:G.llm}:{},...G.web_search?{webSearchConfig:G.web_search}:{}},this.lastSeenConfigRevision=I,Z)this.modelCache.clear()}getProviderModels(I){let G=this.modelInfoCache.get(I);if(G)return w.succeed(G);let Z=this.providerModels[I];if(Z.type==="static")return w.tryPromise({try:async()=>{let Y=await qy(),N=Z.models.map((c)=>{let X=uH(Y,c.id,I);return{id:c.id,displayName:c.displayName??c.id,contextWindow:X?.contextWindow??vV,supportsTools:X?.supportsTools??!1,isReasoningModel:X?.isReasoningModel??!1,supportsVision:X?.supportsVision??!1,supportsPdf:X?.supportsPdf??!1}});return this.modelInfoCache.set(I,N),N},catch:(Y)=>new mk({provider:I,message:`Failed to resolve static models from models.dev: ${Y instanceof Error?Y.message:String(Y)}`})});let b=this.config.llmConfig?.[I],W=I==="ollama"||I==="llamacpp"?nWI(I,this.config.llmConfig):Z.defaultBaseUrl;if(!W)return this.logger.warn(`[LLM Warning] Provider '${I}' requires dynamic model fetching but no defaultBaseUrl is defined. Skipping provider.`),w.succeed([]);let l=b?.api_key;return this.modelFetcher.fetchModels(I,W,Z.endpointPath,l).pipe(w.tap((Y)=>w.sync(()=>{this.modelInfoCache.set(I,Y)})))}async resolveModelInfo(I,G){return(await w.runPromise(this.getProviderModels(I).pipe(w.catchAll(()=>w.succeed([]))))).find((b)=>b.id===G)}getProvider=(I)=>{return this.getProviderModels(I).pipe(w.map((G)=>{return{name:I,supportedModels:G.map((b)=>b),defaultModel:G[0]?.id??"",authenticate:()=>{let W=this.config.llmConfig?.[I]?.api_key;if(!W){let l=I.toLowerCase();if(l==="ollama"||l==="llamacpp")return w.succeed(void 0);return w.fail(new yQ({provider:I,message:"API key not configured"}))}return w.succeed(W)}}}))};listProviders(){let I=blZ(this.config.llmConfig),G=new Set(I.map((b)=>b.name)),Z=Object.keys(this.providerModels).filter((b)=>this.isProviderName(b)).map((b)=>({name:b,displayName:CV(b),configured:G.has(b)}));return w.succeed(Z)}prepareTools(I,G){if(!G||G.length===0)return;let Z=Date.now(),b={},W=new Set;for(let c of G)b[c.function.name]=VC({description:c.function.description,inputSchema:c.function.parameters});if(G.some((c)=>c.function.name==="web_search")){let c=GlZ(I,this.logger),X=this.config.webSearchConfig?.provider,d=X?!!this.config.webSearchConfig?.[X]?.api_key:!1,F=I.toLowerCase()==="xai"&&!X&&!d;if(F)this.logger.debug(`[Web Search] Using xAI Live Search (searchParameters) for ${I}`),delete b.web_search,W.add("web_search");let Q=!X&&c,m=X&&d;if(!F&&Q)this.logger.debug(`[Web Search] Using provider-native web search tool for ${I} (builtin selected, no external provider configured)`),b.web_search=c,W.add("web_search");else if(m)this.logger.debug(`[Web Search] Using Jazz web_search tool with external provider: ${X}`);else if(!F&&!c&&!m)this.logger.debug(`[Web Search] web_search tool available but may fail: provider ${I} has no native support and no external provider configured`)}if(G.some((c)=>c.function.name==="web_fetch")){let c=aZW(I);if(c)this.logger.debug(`[Web Fetch] Using provider-native web fetch tool for ${I}`),b.web_fetch=c,W.add("web_fetch")}let N=0;for(let c of G)N+=c.function.name.length+c.function.description.length+JSON.stringify(c.function.parameters).length;return this.logger.debug(`[Tool Telemetry] ${Object.keys(b).length} tools, ~${N} chars (~${Math.ceil(N/4)} tokens est.) sent to ${I}`),this.logger.debug(`[LLM Timing] Tool conversion (${Object.keys(b).length} tools) took ${Date.now()-Z}ms`),{tools:b,providerNativeToolNames:W,toolDefinitionChars:N}}createChatCompletion(I,G){return w.tryPromise({try:async()=>{await this.refreshRuntimeConfigIfChanged();let Z=fWZ(this.config.llmConfig,G.providerApiKeys),b=Date.now();this.logger.debug(`[LLM Timing] Starting non-streaming completion for ${I}:${G.model}`);let W=Date.now(),l=tWZ(I,G.model,Z,this.modelCache);this.logger.debug(`[LLM Timing] Model selection took ${Date.now()-W}ms`);let Y=await this.resolveModelInfo(I,G.model),c=rWZ.has(G.model)||(Y?.supportsTools??!1),{tools:X,toolChoice:d,toolsDisabled:F}=sWZ(c,G.tools,G.toolChoice),Q=this.prepareTools(I,X),m=Q?.tools,R=Q?.providerNativeToolNames??new Set,H=eWZ(I,G,this.config.webSearchConfig),h=Date.now(),E=oWZ(G.messages,I);this.logger.debug(`[LLM Timing] Message conversion (${G.messages.length} messages) took ${Date.now()-h}ms`);let C=Date.now();this.logger.debug("[LLM Timing] Calling generateText...");let J=await lEG({model:l,messages:E,allowSystemInMessages:!0,maxRetries:QHI,...typeof G.temperature==="number"?{temperature:G.temperature}:{},...m?{tools:m}:{},...d?{toolChoice:d}:{},...H?{providerOptions:H}:{},stopWhen:bD(gy)});if(this.logger.debug(`[LLM Timing] generateText completed in ${Date.now()-C}ms`),this.logger.info(`[LLM Timing] Total completion time: ${Date.now()-b}ms`),F)this.logger.info(`Tools were provided but skipped because ${G.model} does not support tools`);let y=G.model,v=J.text??"",A=void 0,u=void 0;if(J.usage){let z=J.usage;u={promptTokens:z.inputTokens??0,completionTokens:z.outputTokens??0,totalTokens:z.totalTokens??0,...z.outputTokenDetails?.reasoningTokens!=null&&{reasoningTokens:z.outputTokenDetails.reasoningTokens},...z.inputTokenDetails?.cacheReadTokens!=null&&{cacheReadTokens:z.inputTokenDetails.cacheReadTokens},...z.inputTokenDetails?.cacheWriteTokens!=null&&{cacheWriteTokens:z.inputTokenDetails.cacheWriteTokens}}}if(J.toolCalls&&J.toolCalls.length>0){for(let O of J.toolCalls)if(R.has(O.toolName))this.logger.info(`Provider-native tool used: ${O.toolName}`,{provider:I,toolName:O.toolName});let z=J.toolCalls.filter((O)=>!R.has(O.toolName));if(z.length>0)A=z.map((O)=>{let U={id:O.toolCallId,type:"function",function:{name:O.toolName,arguments:JSON.stringify(O.input??{})}};if("providerMetadata"in O&&O.providerMetadata){let x=O.providerMetadata;if(x?.google?.thoughtSignature)U.thought_signature=x.google.thoughtSignature}return U})}return{id:IlZ.default.generate(),model:y,content:v,...A?{toolCalls:A}:{},...u?{usage:u}:{},...F?{toolsDisabled:F}:{},...Q?{toolDefinitionChars:Q.toolDefinitionChars,toolDefinitionCount:Object.keys(Q.tools).length}:{}}},catch:(Z)=>{let b=lD(Z,I),W=WD(Z);this.logger.error(`LLM Error: ${b._tag} - ${W}`);let l={provider:I,errorType:b._tag,message:b.message};if(Z instanceof Error){let N=Z;if(N.code)l.code=N.code;if(N.status)l.status=N.status;if(N.statusCode)l.statusCode=N.statusCode;if(N.type)l.type=N.type}let Y=D9I(Z);if(Y)l.requestBodyValues=Y;return this.logger.debug("LLM Error Details",l),b}})}supportsNativeWebSearch=(I)=>{return w.succeed(jZW(I,this.logger))};createStreamingChatCompletion(I,G){return w.tryPromise({try:async()=>{await this.refreshRuntimeConfigIfChanged();let Z=fWZ(this.config.llmConfig,G.providerApiKeys),b=Date.now();this.logger.debug(`[LLM Timing] ⏱️ Starting streaming completion for ${I}:${G.model}`);let W=Date.now(),l=tWZ(I,G.model,Z,this.modelCache);this.logger.debug(`[LLM Timing] Model selection took ${Date.now()-W}ms`);let Y=eWZ(I,G,this.config.webSearchConfig),N=Date.now(),c=oWZ(G.messages,I);return this.logger.debug(`[LLM Timing] Message conversion (${G.messages.length} messages) took ${Date.now()-N}ms`),{timingStart:b,model:l,providerOptions:Y,coreMessages:c}},catch:(Z)=>lD(Z,I)}).pipe(w.flatMap(({timingStart:Z,model:b,providerOptions:W,coreMessages:l})=>{let Y=new AbortController,N=aWZ(),c=null,X=sh.async((d)=>{(async()=>{let F;try{let Q=Date.now();this.logger.debug(`[LLM Timing] \uD83D\uDE80 Calling streamText at +${Q-Z}ms...`);let m=await this.resolveModelInfo(I,G.model),R=tUI({provider:I,modelId:G.model,...m?.chatTemplate?{chatTemplate:m.chatTemplate}:{},...m?.capabilities?{capabilities:m.capabilities}:{}}),h=rWZ.has(G.model)||(m?.supportsTools??!1),{tools:E,toolChoice:C,toolsDisabled:J}=sWZ(h,G.tools,G.toolChoice),y=this.prepareTools(I,E),v=y?.tools;if(J)this.logger.info(`Tools were provided but skipped because ${G.model} does not support tools`);F=cEG({model:b,messages:l,allowSystemInMessages:!0,maxRetries:QHI,...typeof G.temperature==="number"?{temperature:G.temperature}:{},...v?{tools:v}:{},...C?{toolChoice:C}:{},...W?{providerOptions:W}:{},abortSignal:Y.signal,stopWhen:bD(gy)});let A=F;this.logger.debug(`[LLM Timing] ✓ streamText returned (initialization) in ${Date.now()-Q}ms`);let u=y?.providerNativeToolNames,L=new GBI({providerName:I,modelName:G.model,hasReasoningEnabled:!!(G.reasoning_effort&&G.reasoning_effort!=="disable"),startTime:Date.now(),toolsDisabled:J,...u&&{providerNativeToolNames:u},...R?{reasoningParser:R}:{},...y?{toolDefinitionChars:y.toolDefinitionChars,toolDefinitionCount:Object.keys(y.tools).length}:{}},d,this.logger);c=L;let z=await L.process(A);N.resolve(z),L.close()}catch(Q){if(F)OZW(F);let m=lD(Q,I),R={provider:I,errorType:m._tag,message:m.message};if(Q instanceof Error){let E=Q;if(E.code)R.code=E.code;if(E.status)R.status=E.status;if(E.statusCode)R.statusCode=E.statusCode;if(E.type)R.type=E.type;if(typeof Q==="object"&&Q!==null)try{let C=Q;if(C.param)R.param=C.param}catch{}}let H=D9I(Q,5);if(H)R.requestBodyValues=H;let h=WD(Q);this.logger.error(`LLM Error: ${m._tag} - ${h}`),this.logger.debug("LLM Error Details",R),d(w.fail(KI.some(m))),N.reject(m)}finally{if(c&&!Y.signal.aborted)c.cancel()}})()});return w.succeed({stream:X,response:w.tryPromise({try:()=>N.promise,catch:(d)=>lD(d,I)}),cancel:w.sync(()=>{if(c)c.cancel();Y.abort()})})}))}}function llZ(){return AG.effect(Fd,w.gen(function*(){let I=yield*YZ,G=yield*MG,Z=yield*I.appConfig;if(blZ(Z.llm).length===0)return yield*w.fail(new mk({provider:"unknown",message:"No LLM API keys configured. Set config.llm.<provider>.api_key or env (e.g., OPENAI_API_KEY)."}));let W={...Z.llm?{llmConfig:Z.llm}:{},...Z.web_search?{webSearchConfig:Z.web_search}:{}};return new WlZ(W,I,G)}))}var IlZ,BZW,rWZ,KZW,ZlZ;var YlZ=g(()=>{NrG();krG();SrG();srG();ItG();jtG();ntG();IeG();beG();keG();KB();JI();geG();MeG();vGZ();le();gI();CGZ();KWZ();Wb();ER();oY();uv();Il();cN();dWI();YD();yR();UR();PWZ();$WZ();eUI();iWZ();IlZ=$b(tbI(),1),BZW=["content","text","reasoning","reasoningText","files","sources","toolCalls","staticToolCalls","dynamicToolCalls","staticToolResults","dynamicToolResults","toolResults","finishReason","rawFinishReason","usage","totalUsage","warnings","steps","request","response","providerMetadata","experimental_output","output"];rWZ=new Set(["openrouter/free","openrouter/auto"]);KZW=lW({id:"openrouter.web_fetch",inputSchema:V.object({url:V.string().url().describe("The URL to fetch content from")})});ZlZ={alibaba:"ALIBABA_API_KEY",anthropic:"ANTHROPIC_API_KEY",cerebras:"CEREBRAS_API_KEY",deepseek:"DEEPSEEK_API_KEY",fireworks:"FIREWORKS_API_KEY",google:"GOOGLE_GENERATIVE_AI_API_KEY",groq:"GROQ_API_KEY",llamacpp:"LLAMACPP_API_KEY",minimax:"MINIMAX_API_KEY",mistral:"MISTRAL_API_KEY",moonshotai:"MOONSHOT_API_KEY",openai:"OPENAI_API_KEY",openrouter:"OPENROUTER_API_KEY",togetherai:"TOGETHER_AI_API_KEY",xai:"XAI_API_KEY"}});async function qZW(I){return(await ZBI).getRandomValues(new Uint8Array(I))}async function TZW(I){let Z=Math.pow(2,8)-Math.pow(2,8)%66,b="";while(b.length<I){let W=await qZW(I-b.length);for(let l of W)if(l<Z)b+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[l%66]}return b}async function SZW(I){return await TZW(I)}async function _ZW(I){let G=await(await ZBI).subtle.digest("SHA-256",new TextEncoder().encode(I));return btoa(String.fromCharCode(...new Uint8Array(G))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function ET(I){if(!I)I=43;if(I<43||I>128)throw`Expected a length between 43 and 128. Received ${I}.`;let G=await SZW(I),Z=await _ZW(G);return{code_verifier:G,code_challenge:Z}}var ZBI;var bBI=g(()=>{ZBI=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((I)=>I.webcrypto)});async function YBI(I){return lBI.parse(await NC({text:I}))}function pbW(I){let G=typeof I==="string"?new URL(I):new URL(I.href);return G.hash="",G}function cBI(I){let G=I.href;if(I.pathname==="/"&&G.endsWith("/"))return G.slice(0,-1);return G}function zbW({requestedResource:I,configuredResource:G}){let Z=typeof I==="string"?new URL(I):new URL(I.href),b=typeof G==="string"?new URL(G):new URL(G.href);if(Z.origin!==b.origin)return!1;if(Z.pathname.length<b.pathname.length)return!1;let W=Z.pathname.endsWith("/")?Z.pathname:Z.pathname+"/",l=b.pathname.endsWith("/")?b.pathname:b.pathname+"/";return W.startsWith(l)}function SB(I){return new URL(I).href}function kbW(I,G){return{authorizationServerUrl:SB(I),tokenEndpoint:SB((G==null?void 0:G.token_endpoint)?new URL(G.token_endpoint):new URL("/token",I))}}function FlZ(I,G){return{...I,authorization_server:G.authorizationServerUrl,token_endpoint:G.tokenEndpoint}}function xlZ(I,G){return{...I,authorization_server:G.authorizationServerUrl,token_endpoint:G.tokenEndpoint}}function QlZ(I){if(!(I==null?void 0:I.authorization_server)||!I.token_endpoint)return;return{authorizationServerUrl:SB(I.authorization_server),tokenEndpoint:SB(I.token_endpoint)}}async function mlZ({provider:I,clientInformation:G,tokens:Z}){var b;let W=QlZ(Z);if(W)return W;let l=await((b=I.authorizationServerInformation)==null?void 0:b.call(I));if(l)return{authorizationServerUrl:SB(l.authorizationServerUrl),tokenEndpoint:SB(l.tokenEndpoint)};return QlZ(G)}async function ubW({provider:I,clientInformation:G,authorizationServerInformation:Z}){if(I.saveAuthorizationServerInformation)return await I.saveAuthorizationServerInformation(Z),!0;if(I.saveClientInformation)return await I.saveClientInformation(xlZ(G,Z)),!0;return!1}function gbW(I,G){if(!G)return;let Z=new URL(I).origin;if(G.origin!==Z)throw new L5({message:`OAuth protected resource metadata URL ${G.href} must have the same origin as the MCP server URL ${Z}`})}function RlZ({storedAuthorizationServerInformation:I,currentAuthorizationServerInformation:G}){if(I.authorizationServerUrl!==G.authorizationServerUrl||I.tokenEndpoint!==G.tokenEndpoint)throw new L5({message:"OAuth authorization server metadata does not match the metadata that issued the stored credentials"})}function sWI(I){var G;let Z=(G=I.headers.get("www-authenticate"))!=null?G:I.headers.get("WWW-Authenticate");if(!Z)return;let[b,W]=Z.split(" ");if(b.toLowerCase()!=="bearer"||!W)return;let l=/resource_metadata="([^"]*)"/,Y=Z.match(l);if(!Y)return;try{return new URL(Y[1])}catch(N){return}}function UbW(I,G="",Z={}){if(G.endsWith("/"))G=G.slice(0,-1);return Z.prependPathname?`${G}/.well-known/${I}`:`/.well-known/${I}${G}`}async function XBI(I,G,Z=fetch){try{return await Z(I,{headers:G})}catch(b){if(b instanceof TypeError)if(G)return XBI(I,void 0,Z);else return;throw b}}async function HlZ(I,G,Z=fetch){return await XBI(I,{"MCP-Protocol-Version":G},Z)}function BbW(I,G){return!I||I.status>=400&&I.status<500&&G!=="/"}async function ObW(I,G,Z,b){var W,l;let Y=new URL(I),N=(W=b==null?void 0:b.protocolVersion)!=null?W:_B,c;if(b==null?void 0:b.metadataUrl)c=new URL(b.metadataUrl);else{let d=UbW(G,Y.pathname);c=new URL(d,(l=b==null?void 0:b.metadataServerUrl)!=null?l:Y),c.search=Y.search}let X=await HlZ(c,N,Z);if(!(b==null?void 0:b.metadataUrl)&&BbW(X,Y.pathname)){let d=new URL(`/.well-known/${G}`,Y);X=await HlZ(d,N,Z)}return X}async function xbW(I,G,Z=fetch){let b=await ObW(I,"oauth-protected-resource",Z,{protocolVersion:G==null?void 0:G.protocolVersion,metadataUrl:G==null?void 0:G.resourceMetadataUrl});if(!b||b.status===404)throw Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!b.ok)throw Error(`HTTP ${b.status} trying to load well-known OAuth protected resource metadata.`);return HbW.parse(await b.json())}function MbW(I){let G=typeof I==="string"?new URL(I):I,Z=G.pathname!=="/",b=G.origin,W=[];if(!Z)return W.push({url:new URL("/.well-known/oauth-authorization-server",G.origin),type:"oauth",expectedIssuer:b}),W.push({url:new URL("/.well-known/openid-configuration",G.origin),type:"oidc",expectedIssuer:b}),W;let l=G.pathname;if(l.endsWith("/"))l=l.slice(0,-1);let Y=`${G.origin}${l}`;return W.push({url:new URL(`/.well-known/oauth-authorization-server${l}`,G.origin),type:"oauth",expectedIssuer:Y}),W.push({url:new URL("/.well-known/oauth-authorization-server",G.origin),type:"oauth",expectedIssuer:b}),W.push({url:new URL(`/.well-known/openid-configuration${l}`,G.origin),type:"oidc",expectedIssuer:Y}),W.push({url:new URL(`${l}/.well-known/openid-configuration`,G.origin),type:"oidc",expectedIssuer:Y}),W}function hlZ(I,G){if(I.issuer!==G)throw new L5({message:`OAuth authorization server metadata issuer ${I.issuer} does not match expected issuer ${G}`})}async function KbW(I,{fetchFn:G=fetch,protocolVersion:Z=_B}={}){var b;let W={"MCP-Protocol-Version":Z},l=MbW(I);for(let{url:Y,type:N,expectedIssuer:c}of l){let X=await XBI(Y,W,G);if(!X)continue;if(!X.ok){if(X.status>=400&&X.status<500)continue;throw Error(`HTTP ${X.status} trying to load ${N==="oauth"?"OAuth":"OpenID provider"} metadata from ${Y}`)}if(N==="oauth"){let d=BlZ.parse(await X.json());return hlZ(d,c),d}else{let d=wbW.parse(await X.json());if(hlZ(d,c),!((b=d.code_challenge_methods_supported)==null?void 0:b.includes("S256")))throw Error(`Incompatible OIDC provider at ${Y}: does not support S256 code challenge method required by MCP specification`);return d}}return}async function abW(I,{metadata:G,clientInformation:Z,redirectUrl:b,scope:W,state:l,resource:Y}){let X;if(G){if(X=new URL(G.authorization_endpoint),!G.response_types_supported.includes("code"))throw Error("Incompatible auth server: does not support response type code");if(!G.code_challenge_methods_supported||!G.code_challenge_methods_supported.includes("S256"))throw Error("Incompatible auth server: does not support code challenge method S256")}else X=new URL("/authorize",I);let d=await ET(),F=d.code_verifier,Q=d.code_challenge;if(X.searchParams.set("response_type","code"),X.searchParams.set("client_id",Z.client_id),X.searchParams.set("code_challenge",Q),X.searchParams.set("code_challenge_method","S256"),X.searchParams.set("redirect_uri",String(b)),l)X.searchParams.set("state",l);if(W)X.searchParams.set("scope",W);if(W==null?void 0:W.includes("offline_access"))X.searchParams.append("prompt","consent");if(Y)X.searchParams.set("resource",cBI(Y));return{authorizationUrl:X,codeVerifier:F}}function MlZ(I,G){let Z=I.client_secret!==void 0;if(G.length===0)return Z?"client_secret_post":"none";if(Z&&G.includes("client_secret_basic"))return"client_secret_basic";if(Z&&G.includes("client_secret_post"))return"client_secret_post";if(G.includes("none"))return"none";return Z?"client_secret_post":"none"}function KlZ(I,G,Z,b){let{client_id:W,client_secret:l}=G;switch(I){case"client_secret_basic":jbW(W,l,Z);return;case"client_secret_post":DbW(W,l,b);return;case"none":qbW(W,b);return;default:throw Error(`Unsupported client authentication method: ${I}`)}}function jbW(I,G,Z){if(!G)throw Error("client_secret_basic authentication requires a client_secret");let b=btoa(`${I}:${G}`);Z.set("Authorization",`Basic ${b}`)}function DbW(I,G,Z){if(Z.set("client_id",I),G)Z.set("client_secret",G)}function qbW(I,G){G.set("client_id",I)}async function dBI(I){let G=I instanceof Response?I.status:void 0,Z=I instanceof Response?await I.text():I;try{let b=EbW.parse(await NC({text:Z})),{error:W,error_description:l,error_uri:Y}=b;return new(LbW[W]||TB)({message:l||"",cause:Y})}catch(b){let W=`${G?`HTTP ${G}: `:""}Invalid OAuth error response: ${b}. Raw body: ${Z}`;return new TB({message:W})}}async function TbW(I,{metadata:G,clientInformation:Z,authorizationCode:b,codeVerifier:W,redirectUri:l,resource:Y,addClientAuthentication:N,fetchFn:c}){var X;let d="authorization_code",F=(G==null?void 0:G.token_endpoint)?new URL(G.token_endpoint):new URL("/token",I);if((G==null?void 0:G.grant_types_supported)&&!G.grant_types_supported.includes("authorization_code"))throw Error("Incompatible auth server: does not support grant type authorization_code");let Q=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),m=new URLSearchParams({grant_type:"authorization_code",code:b,code_verifier:W,redirect_uri:String(l)});if(N)await N(Q,m,I,G);else{let H=(X=G==null?void 0:G.token_endpoint_auth_methods_supported)!=null?X:[],h=MlZ(Z,H);KlZ(h,Z,Q,m)}if(Y)m.set("resource",cBI(Y));let R=await(c!=null?c:fetch)(F,{method:"POST",headers:Q,body:m});if(!R.ok)throw await dBI(R);return UlZ.parse(await R.json())}async function SbW(I,{metadata:G,clientInformation:Z,refreshToken:b,resource:W,addClientAuthentication:l,fetchFn:Y}){var N;let c="refresh_token",X;if(G){if(X=new URL(G.token_endpoint),G.grant_types_supported&&!G.grant_types_supported.includes("refresh_token"))throw Error("Incompatible auth server: does not support grant type refresh_token")}else X=new URL("/token",I);let d=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),F=new URLSearchParams({grant_type:"refresh_token",refresh_token:b});if(l)await l(d,F,I,G);else{let m=(N=G==null?void 0:G.token_endpoint_auth_methods_supported)!=null?N:[],R=MlZ(Z,m);KlZ(R,Z,d,F)}if(W)F.set("resource",cBI(W));let Q=await(Y!=null?Y:fetch)(X,{method:"POST",headers:d,body:F});if(!Q.ok)throw await dBI(Q);return UlZ.parse({refresh_token:b,...await Q.json()})}async function _bW(I,{metadata:G,clientMetadata:Z,fetchFn:b}){let W;if(G){if(!G.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");W=new URL(G.registration_endpoint)}else W=new URL("/register",I);let l=await(b!=null?b:fetch)(W,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Z)});if(!l.ok)throw await dBI(l);return ybW.parse(await l.json())}async function NBI(I,G){var Z,b;try{return await WBI(I,G)}catch(W){if(W instanceof PWI||W instanceof iWI)return await((Z=I.invalidateCredentials)==null?void 0:Z.call(I,"all")),await WBI(I,G);else if(W instanceof $WI)return await((b=I.invalidateCredentials)==null?void 0:b.call(I,"tokens")),await WBI(I,G);throw W}}async function nbW(I,G,Z){let b=pbW(I);if(G.validateResourceURL)return await G.validateResourceURL(b,Z==null?void 0:Z.resource);if(!Z)return;if(!zbW({requestedResource:b,configuredResource:Z.resource}))throw Error(`Protected resource ${Z.resource} does not match expected ${b} (or origin)`);return new URL(Z.resource)}async function WBI(I,{serverUrl:G,authorizationCode:Z,callbackState:b,scope:W,resourceMetadataUrl:l,fetchFn:Y}){var N,c;let X,d;gbW(G,l);try{if(X=await xbW(G,{resourceMetadataUrl:l},Y),X.authorization_servers&&X.authorization_servers.length>0)d=X.authorization_servers[0]}catch(y){}if(!d)d=G;let F=await nbW(G,I,X);await((N=I.validateAuthorizationServerURL)==null?void 0:N.call(I,G,d));let Q=await KbW(d,{fetchFn:Y}),m=kbW(d,Q),R=await Promise.resolve(I.clientInformation());if(!R){if(Z!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");if(!I.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let y=await _bW(d,{metadata:Q,clientMetadata:I.clientMetadata,fetchFn:Y});R=xlZ(y,m),await I.saveClientInformation(R)}if(Z!==void 0){if(I.storedState){let u=await I.storedState();if(u!==void 0&&u!==b)throw Error("OAuth state parameter mismatch - possible CSRF attack")}let y=await mlZ({provider:I,clientInformation:R});if(!y)throw new L5({message:"Stored OAuth authorization server metadata is required when exchanging an authorization code"});RlZ({storedAuthorizationServerInformation:y,currentAuthorizationServerInformation:m});let v=await I.codeVerifier(),A=await TbW(d,{metadata:Q,clientInformation:R,authorizationCode:Z,codeVerifier:v,redirectUri:I.redirectUrl,resource:F,addClientAuthentication:I.addClientAuthentication,fetchFn:Y});return await I.saveTokens(FlZ(A,m)),"AUTHORIZED"}let H=await I.tokens();if(H==null?void 0:H.refresh_token){let y=await mlZ({provider:I,clientInformation:R,tokens:H});if(y)RlZ({storedAuthorizationServerInformation:y,currentAuthorizationServerInformation:m});else await((c=I.invalidateCredentials)==null?void 0:c.call(I,"tokens"));try{if(y){let v=await SbW(d,{metadata:Q,clientInformation:R,refreshToken:H.refresh_token,resource:F,addClientAuthentication:I.addClientAuthentication,fetchFn:Y});return await I.saveTokens(FlZ(v,m)),"AUTHORIZED"}}catch(v){if(!(v instanceof L5)||v instanceof TB);else throw v}}let h=I.state?await I.state():void 0;if(h&&I.saveState)await I.saveState(h);let{authorizationUrl:E,codeVerifier:C}=await abW(d,{metadata:Q,clientInformation:R,state:h,redirectUrl:I.redirectUrl,scope:W||I.clientMetadata.scope,resource:F});if(!await ubW({provider:I,clientInformation:R,authorizationServerInformation:m}))throw new L5({message:"OAuth authorization server metadata must be saveable before starting authorization"});return await I.saveCodeVerifier(C),await I.redirectToAuthorization(E),"REDIRECT"}function PbW(I){return I===void 0||I==="message"}function wlZ(I){return I===void 0||I==="message"}function fbW(I){switch(I.type){case"sse":return new $bW(I);case"http":return new ibW(I);default:throw new Vl({message:"Unsupported or invalid transport configuration. If you are using a custom transport, make sure it implements the MCPTransport interface."})}}function sbW(I){return"start"in I&&typeof I.start==="function"&&"send"in I&&typeof I.send==="function"&&"close"in I&&typeof I.close==="function"}function JlZ({output:I}){let G=I;if(!("content"in G)||!Array.isArray(G.content))return{type:"json",value:G};return{type:"content",value:G.content.map((b)=>{if(b.type==="text"&&"text"in b)return{type:"text",text:b.text};if(b.type==="image"&&"data"in b&&"mimeType"in b)return{type:"image-data",data:b.data,mediaType:b.mimeType};return{type:"text",text:JSON.stringify(b)}})}}async function alZ(I){let G=new rbW(I);return await G.init(),G}var nZW="AI_MCPClientError",vlZ,PZW,NlZ,VlZ,Vl,_B="2025-11-25",$ZW,iZW,fZW,oWI,cJ,ElZ,ylZ,sZW,A9l,oZW,VBI,rZW,tZW,ClZ,AlZ,eZW,IbW,LlZ,plZ,zlZ,klZ,ulZ,GbW,ZbW,bbW,WbW,lbW,YbW,NbW,VbW,cbW,XbW,clZ,dbW,rWI="2.0",FbW,QbW,mbW,RbW,lBI,glZ,cc,UlZ,HbW,BlZ,hbW,wbW,JbW,vbW,EbW,ybW,CbW="AI_MCPClientOAuthError",OlZ,AbW,XlZ,dlZ,L5,TB,PWI,$WI,iWI,LbW,fWI,$bW=class{constructor({url:I,headers:G,authProvider:Z,redirect:b="follow",fetch:W}){this.connected=!1,this.url=new URL(I),this.headers=G,this.authProvider=Z,this.redirectMode=b,this.fetchFn=W!=null?W:globalThis.fetch}setProtocolVersion(I){this.protocolVersion=I}async commonHeaders(I){var G;let Z={...this.headers,...I,"mcp-protocol-version":(G=this.protocolVersion)!=null?G:_B};if(this.authProvider){let b=await this.authProvider.tokens();if(b==null?void 0:b.access_token)Z.Authorization=`Bearer ${b.access_token}`}return Kb(Z,`ai-sdk/${glZ}`,qH())}async start(){return new Promise((I,G)=>{if(this.connected)return I();this.abortController=new AbortController;let Z=async(b=!1)=>{var W,l,Y,N,c;try{let X=await this.commonHeaders({Accept:"text/event-stream"}),d=await this.fetchFn(this.url.href,{headers:X,signal:(W=this.abortController)==null?void 0:W.signal,redirect:this.redirectMode});if(d.status===401&&this.authProvider&&!b){this.resourceMetadataUrl=sWI(d);try{if(await NBI(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl,fetchFn:this.fetchFn})!=="AUTHORIZED"){let H=new fWI;return(l=this.onerror)==null||l.call(this,H),G(H)}}catch(R){return(Y=this.onerror)==null||Y.call(this,R),G(R)}return Z(!0)}if(!d.ok||!d.body){let R=`MCP SSE Transport Error: ${d.status} ${d.statusText}`;if(d.status===405)R+=". This server does not support SSE transport. Try using `http` transport instead";let H=new Vl({message:R});return(N=this.onerror)==null||N.call(this,H),G(H)}let Q=d.body.pipeThrough(new TextDecoderStream).pipeThrough(new Ew).getReader(),m=async()=>{var R,H,h,E,C;try{while(!0){let{done:J,value:y}=await Q.read();if(J){if(this.connected)throw this.connected=!1,new Vl({message:"MCP SSE Transport Error: Connection closed unexpectedly"});return}let{event:v,data:A}=y;if(v==="endpoint"){if(this.endpoint)continue;let u=new URL(A,this.url);if(u.origin!==this.url.origin)throw this.connected=!1,this.endpoint=void 0,(R=this.sseConnection)==null||R.close(),(H=this.abortController)==null||H.abort(),new Vl({message:`MCP SSE Transport Error: Endpoint origin does not match connection origin: ${u.origin}`});this.endpoint=u,this.connected=!0,I()}else if(PbW(v))try{let u=await YBI(A);(h=this.onmessage)==null||h.call(this,u)}catch(u){let L=new Vl({message:"MCP SSE Transport Error: Failed to parse message",cause:u});(E=this.onerror)==null||E.call(this,L)}}}catch(J){if(J instanceof Error&&J.name==="AbortError")return;(C=this.onerror)==null||C.call(this,J),G(J)}};this.sseConnection={close:()=>Q.cancel()},m()}catch(X){if(X instanceof Error&&X.name==="AbortError")return;(c=this.onerror)==null||c.call(this,X),G(X)}};Z()})}async close(){var I,G,Z;this.connected=!1,this.endpoint=void 0,(I=this.sseConnection)==null||I.close(),(G=this.abortController)==null||G.abort(),(Z=this.onclose)==null||Z.call(this)}async send(I){if(!this.endpoint||!this.connected)throw new Vl({message:"MCP SSE Transport Error: Not connected"});let G=this.endpoint,Z=async(b=!1)=>{var W,l,Y,N,c;try{let d={method:"POST",headers:await this.commonHeaders({"Content-Type":"application/json"}),body:JSON.stringify(I),signal:(W=this.abortController)==null?void 0:W.signal,redirect:this.redirectMode},F=await this.fetchFn(G.href,d);if(F.status===401&&this.authProvider&&!b){this.resourceMetadataUrl=sWI(F);try{if(await NBI(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl,fetchFn:this.fetchFn})!=="AUTHORIZED"){let m=new fWI;(l=this.onerror)==null||l.call(this,m);return}}catch(Q){(Y=this.onerror)==null||Y.call(this,Q);return}return Z(!0)}if(!F.ok){let Q=await F.text().catch(()=>null),m=new Vl({message:`MCP SSE Transport Error: POSTing to endpoint (HTTP ${F.status}): ${Q}`});(N=this.onerror)==null||N.call(this,m);return}}catch(X){(c=this.onerror)==null||c.call(this,X);return}};await Z()}},ibW=class{constructor({url:I,headers:G,authProvider:Z,redirect:b="follow",fetch:W}){this.inboundReconnectAttempts=0,this.reconnectionOptions={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2},this.url=new URL(I),this.headers=G,this.authProvider=Z,this.redirectMode=b,this.fetchFn=W!=null?W:globalThis.fetch}setProtocolVersion(I){this.protocolVersion=I}async commonHeaders(I){var G;let Z={...this.headers,...I,"mcp-protocol-version":(G=this.protocolVersion)!=null?G:_B};if(this.sessionId)Z["mcp-session-id"]=this.sessionId;if(this.authProvider){let b=await this.authProvider.tokens();if(b==null?void 0:b.access_token)Z.Authorization=`Bearer ${b.access_token}`}return Kb(Z,`ai-sdk/${glZ}`,qH())}authorizeOnce(I){if(!this.authProvider)return Promise.resolve("REDIRECT");if(!this.authPromise)this.authPromise=NBI(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:I,fetchFn:this.fetchFn}).finally(()=>{this.authPromise=void 0});return this.authPromise}async start(){if(this.abortController)throw new Vl({message:"MCP HTTP Transport Error: Transport already started. Note: client.connect() calls start() automatically."});this.abortController=new AbortController,this.openInboundSse()}async close(){var I,G,Z;(I=this.inboundSseConnection)==null||I.close();try{if(this.sessionId&&this.abortController&&!this.abortController.signal.aborted){let b=await this.commonHeaders({});await this.fetchFn(this.url.href,{method:"DELETE",headers:b,signal:this.abortController.signal,redirect:this.redirectMode}).catch(()=>{return})}}catch(b){}(G=this.abortController)==null||G.abort(),(Z=this.onclose)==null||Z.call(this)}async send(I){let G=async(Z=!1)=>{var b,W,l,Y,N,c,X;try{let F={method:"POST",headers:await this.commonHeaders({"Content-Type":"application/json",Accept:"application/json, text/event-stream"}),body:JSON.stringify(I),signal:(b=this.abortController)==null?void 0:b.signal,redirect:this.redirectMode},Q=await this.fetchFn(this.url.href,F),m=Q.headers.get("mcp-session-id");if(m)this.sessionId=m;if(Q.status===401&&this.authProvider&&!Z){this.resourceMetadataUrl=sWI(Q);try{if(await this.authorizeOnce(this.resourceMetadataUrl)!=="AUTHORIZED")throw new fWI}catch(E){throw(W=this.onerror)==null||W.call(this,E),E}return G(!0)}if(Q.status===202){if(!this.inboundSseConnection)this.openInboundSse();return}if(!Q.ok){let E=await Q.text().catch(()=>null),C=`MCP HTTP Transport Error: POSTing to endpoint (HTTP ${Q.status}): ${E}`;if(Q.status===404)C+=". This server does not support HTTP transport. Try using `sse` transport instead";let J=new Vl({message:C,statusCode:Q.status,url:this.url.href,responseBody:E!=null?E:void 0});throw(l=this.onerror)==null||l.call(this,J),J}if(!("id"in I))return;let H=Q.headers.get("content-type")||"";if(H.includes("application/json")){let E=await Q.json(),C=Array.isArray(E)?E.map((J)=>lBI.parse(J)):[lBI.parse(E)];for(let J of C)(Y=this.onmessage)==null||Y.call(this,J);return}if(H.includes("text/event-stream")){if(!Q.body){let y=new Vl({message:"MCP HTTP Transport Error: text/event-stream response without body",statusCode:Q.status,url:this.url.href});throw(N=this.onerror)==null||N.call(this,y),y}let C=Q.body.pipeThrough(new TextDecoderStream).pipeThrough(new Ew).getReader();(async()=>{var y,v,A;try{while(!0){let{done:u,value:L}=await C.read();if(u)return;let{event:z,data:O}=L;if(wlZ(z))try{let U=await YBI(O);(y=this.onmessage)==null||y.call(this,U)}catch(U){let x=new Vl({message:"MCP HTTP Transport Error: Failed to parse message",cause:U});(v=this.onerror)==null||v.call(this,x)}}}catch(u){if(u instanceof Error&&u.name==="AbortError")return;(A=this.onerror)==null||A.call(this,u)}})();return}let h=new Vl({message:`MCP HTTP Transport Error: Unexpected content type: ${H}`,statusCode:Q.status,url:this.url.href});throw(c=this.onerror)==null||c.call(this,h),h}catch(d){throw(X=this.onerror)==null||X.call(this,d),d}};await G()}getNextReconnectionDelay(I){let{initialReconnectionDelay:G,reconnectionDelayGrowFactor:Z,maxReconnectionDelay:b}=this.reconnectionOptions;return Math.min(G*Math.pow(Z,I),b)}scheduleInboundSseReconnection(){var I;let{maxRetries:G}=this.reconnectionOptions;if(G>0&&this.inboundReconnectAttempts>=G){(I=this.onerror)==null||I.call(this,new Vl({message:`MCP HTTP Transport Error: Maximum reconnection attempts (${G}) exceeded.`}));return}let Z=this.getNextReconnectionDelay(this.inboundReconnectAttempts);this.inboundReconnectAttempts+=1,setTimeout(async()=>{var b;if((b=this.abortController)==null?void 0:b.signal.aborted)return;await this.openInboundSse(!1,this.lastInboundEventId)},Z)}async openInboundSse(I=!1,G){var Z,b,W,l,Y,N;try{let c=await this.commonHeaders({Accept:"text/event-stream"});if(G)c["last-event-id"]=G;let X=await this.fetchFn(this.url.href,{method:"GET",headers:c,signal:(Z=this.abortController)==null?void 0:Z.signal,redirect:this.redirectMode}),d=X.headers.get("mcp-session-id");if(d)this.sessionId=d;if(X.status===401&&this.authProvider&&!I){this.resourceMetadataUrl=sWI(X);try{if(await this.authorizeOnce(this.resourceMetadataUrl)!=="AUTHORIZED"){let H=new fWI;(b=this.onerror)==null||b.call(this,H);return}}catch(R){(W=this.onerror)==null||W.call(this,R);return}return this.openInboundSse(!0,G)}if(X.status===405)return;if(!X.ok||!X.body){let R=new Vl({message:`MCP HTTP Transport Error: GET SSE failed: ${X.status} ${X.statusText}`,statusCode:X.status,url:this.url.href});(l=this.onerror)==null||l.call(this,R);return}let Q=X.body.pipeThrough(new TextDecoderStream).pipeThrough(new Ew).getReader(),m=async()=>{var R,H,h,E;try{while(!0){let{done:C,value:J}=await Q.read();if(C)return;let{event:y,data:v,id:A}=J;if(A)this.lastInboundEventId=A;if(wlZ(y))try{let u=await YBI(v);(R=this.onmessage)==null||R.call(this,u)}catch(u){let L=new Vl({message:"MCP HTTP Transport Error: Failed to parse message",cause:u});(H=this.onerror)==null||H.call(this,L)}}}catch(C){if(C instanceof Error&&C.name==="AbortError")return;if((h=this.onerror)==null||h.call(this,C),!((E=this.abortController)==null?void 0:E.signal.aborted))this.scheduleInboundSseReconnection()}};this.inboundSseConnection={close:()=>Q.cancel()},this.inboundReconnectAttempts=0,m()}catch(c){if(c instanceof Error&&c.name==="AbortError")return;if((Y=this.onerror)==null||Y.call(this,c),!((N=this.abortController)==null?void 0:N.signal.aborted))this.scheduleInboundSseReconnection()}}},obW="1.0.0",rbW=class{constructor({transport:I,name:G,clientName:Z=G!=null?G:"ai-sdk-mcp-client",version:b=obW,onUncaughtError:W,capabilities:l}){if(this.requestMessageId=0,this.responseHandlers=new Map,this.serverCapabilities={},this._serverInfo={name:"",version:""},this.isClosed=!0,this.onUncaughtError=W,this.clientCapabilities=l!=null?l:{},sbW(I))this.transport=I;else this.transport=fbW(I);this.transport.onclose=()=>this.onClose(),this.transport.onerror=(Y)=>this.onError(Y),this.transport.onmessage=(Y)=>{if("method"in Y){if("id"in Y)this.onRequestMessage(Y);else this.onError(new Vl({message:"Unsupported message type"}));return}this.onResponse(Y)},this.clientInfo={name:Z,version:b}}get serverInfo(){return this._serverInfo}get instructions(){return this._serverInstructions}async init(){try{await this.transport.start(),this.isClosed=!1;let I=await this.request({request:{method:"initialize",params:{protocolVersion:_B,capabilities:this.clientCapabilities,clientInfo:this.clientInfo}},resultSchema:oZW});if(I===void 0)throw new Vl({message:"Server sent invalid initialize result"});if(!$ZW.includes(I.protocolVersion))throw new Vl({message:`Server's protocol version is not supported: ${I.protocolVersion}`});if(this.serverCapabilities=I.capabilities,this._serverInfo=I.serverInfo,this.transport.setProtocolVersion)this.transport.setProtocolVersion(I.protocolVersion);else this.transport.protocolVersion=I.protocolVersion;return this._serverInstructions=I.instructions,await this.notification({method:"notifications/initialized"}),this}catch(I){throw await this.close(),I}}async close(){var I;if(this.isClosed)return;await((I=this.transport)==null?void 0:I.close()),this.onClose()}assertCapability(I){switch(I){case"initialize":break;case"tools/list":case"tools/call":if(!this.serverCapabilities.tools)throw new Vl({message:"Server does not support tools"});break;case"resources/list":case"resources/read":case"resources/templates/list":if(!this.serverCapabilities.resources)throw new Vl({message:"Server does not support resources"});break;case"prompts/list":case"prompts/get":if(!this.serverCapabilities.prompts)throw new Vl({message:"Server does not support prompts"});break;default:throw new Vl({message:`Unsupported method: ${I}`})}}async request({request:I,resultSchema:G,options:Z}){return new Promise((b,W)=>{if(this.isClosed)return W(new Vl({message:"Attempted to send a request from a closed client"}));this.assertCapability(I.method);let l=Z==null?void 0:Z.signal;l==null||l.throwIfAborted();let Y=this.requestMessageId++,N={...I,jsonrpc:"2.0",id:Y},c=()=>{this.responseHandlers.delete(Y)};this.responseHandlers.set(Y,(X)=>{if(l==null?void 0:l.aborted)return W(new Vl({message:"Request was aborted",cause:l.reason}));if(X instanceof Error)return W(X);try{let d=G.parse(X.result);b(d)}catch(d){let F=new Vl({message:"Failed to parse server response",cause:d});W(F)}}),this.transport.send(N).catch((X)=>{c(),W(X)})})}async listTools({params:I,options:G}={}){return this.request({request:{method:"tools/list",params:I},resultSchema:tZW,options:G})}async callTool({name:I,args:G,options:Z}){try{return this.request({request:{method:"tools/call",params:{name:I,arguments:G}},resultSchema:GbW,options:{signal:Z==null?void 0:Z.abortSignal}})}catch(b){throw b}}async listResourcesInternal({params:I,options:G}={}){try{return this.request({request:{method:"resources/list",params:I},resultSchema:IbW,options:G})}catch(Z){throw Z}}async readResourceInternal({uri:I,options:G}){try{return this.request({request:{method:"resources/read",params:{uri:I}},resultSchema:WbW,options:G})}catch(Z){throw Z}}async listResourceTemplatesInternal({options:I}={}){try{return this.request({request:{method:"resources/templates/list"},resultSchema:bbW,options:I})}catch(G){throw G}}async listPromptsInternal({params:I,options:G}={}){try{return this.request({request:{method:"prompts/list",params:I},resultSchema:NbW,options:G})}catch(Z){throw Z}}async getPromptInternal({name:I,args:G,options:Z}){try{return this.request({request:{method:"prompts/get",params:{name:I,arguments:G}},resultSchema:cbW,options:Z})}catch(b){throw b}}async notification(I){let G={...I,jsonrpc:"2.0"};await this.transport.send(G)}async tools({schemas:I="automatic"}={}){let G=await this.listTools();return this.toolsFromDefinitions(G,{schemas:I})}toolsFromDefinitions(I,{schemas:G="automatic"}={}){var Z,b;let W={};for(let{name:l,title:Y,description:N,inputSchema:c,annotations:X,_meta:d}of I.tools){let F=Y!=null?Y:X==null?void 0:X.title;if(G!=="automatic"&&!Object.prototype.hasOwnProperty.call(G,l))continue;let Q=this,m=G!=="automatic"?(Z=G[l])==null?void 0:Z.outputSchema:void 0,R=async(h,E)=>{var C;(C=E==null?void 0:E.abortSignal)==null||C.throwIfAborted();let J=await Q.callTool({name:l,args:h,options:E});if(J.isError)return J;if(m!=null)return Q.extractStructuredContent(J,m,l);return J},H=G==="automatic"?X3I({description:N,title:F,metadata:{clientName:this.clientInfo.name},inputSchema:YC({...c,properties:(b=c.properties)!=null?b:{},additionalProperties:!1}),execute:R,toModelOutput:JlZ}):VC({description:N,title:F,metadata:{clientName:this.clientInfo.name},inputSchema:G[l].inputSchema,...m!=null?{outputSchema:m}:{},execute:R,toModelOutput:JlZ});W[l]={...H,_meta:d}}return W}async extractStructuredContent(I,G,Z){if("structuredContent"in I&&I.structuredContent!=null){let b=await n2({value:I.structuredContent,schema:Jd(G)});if(!b.success)throw new Vl({message:`Tool "${Z}" returned structuredContent that does not match the expected outputSchema`,cause:b.error});return b.value}if("content"in I&&Array.isArray(I.content)){let b=I.content.find((W)=>W.type==="text");if(b&&"text"in b){let W=await P2({text:b.text,schema:G});if(!W.success)throw new Vl({message:`Tool "${Z}" returned content that does not match the expected outputSchema`,cause:W.error});return W.value}}throw new Vl({message:`Tool "${Z}" did not return structuredContent or parseable text content`})}listResources({params:I,options:G}={}){return this.listResourcesInternal({params:I,options:G})}readResource({uri:I,options:G}){return this.readResourceInternal({uri:I,options:G})}listResourceTemplates({options:I}={}){return this.listResourceTemplatesInternal({options:I})}experimental_listPrompts({params:I,options:G}={}){return this.listPromptsInternal({params:I,options:G})}experimental_getPrompt({name:I,arguments:G,options:Z}){return this.getPromptInternal({name:I,args:G,options:Z})}onElicitationRequest(I,G){if(I!==clZ)throw new Vl({message:"Unsupported request schema. Only ElicitationRequestSchema is supported."});this.elicitationRequestHandler=G}async onRequestMessage(I){try{if(I.method==="ping"){await this.transport.send({jsonrpc:"2.0",id:I.id,result:{}});return}if(I.method!=="elicitation/create"){await this.transport.send({jsonrpc:"2.0",id:I.id,error:{code:-32601,message:`Unsupported request method: ${I.method}`}});return}if(!this.elicitationRequestHandler){await this.transport.send({jsonrpc:"2.0",id:I.id,error:{code:-32601,message:"No elicitation handler registered on client"}});return}let G=clZ.safeParse({method:I.method,params:I.params});if(!G.success){await this.transport.send({jsonrpc:"2.0",id:I.id,error:{code:-32602,message:`Invalid elicitation request: ${G.error.message}`,data:G.error.issues}});return}try{let Z=await this.elicitationRequestHandler(G.data),b=dbW.parse(Z);await this.transport.send({jsonrpc:"2.0",id:I.id,result:b})}catch(Z){await this.transport.send({jsonrpc:"2.0",id:I.id,error:{code:-32603,message:Z instanceof Error?Z.message:"Failed to handle elicitation request"}}),this.onError(Z)}}catch(G){this.onError(G)}}onClose(){if(this.isClosed)return;this.isClosed=!0;let I=new Vl({message:"Connection closed"});for(let G of this.responseHandlers.values())G(I);this.responseHandlers.clear()}onError(I){if(this.onUncaughtError)this.onUncaughtError(I)}onResponse(I){let G=Number(I.id),Z=this.responseHandlers.get(G);if(Z===void 0)throw new Vl({message:`Protocol error: Received a response for an unknown message ID: ${JSON.stringify(I)}`});this.responseHandlers.delete(G),Z("result"in I?I:new Vl({message:I.error.message,code:I.error.code,data:I.error.data,cause:I.error}))}};var jlZ=g(()=>{JI();hG();JI();JI();CI();CI();bBI();CI();hG();JI();JI();vlZ=`vercel.ai.error.${nZW}`,PZW=Symbol.for(vlZ),Vl=class extends(VlZ=IG,NlZ=PZW,VlZ){constructor({name:I="MCPClientError",message:G,cause:Z,data:b,code:W,statusCode:l,url:Y,responseBody:N}){super({name:I,message:G,cause:Z});this[NlZ]=!0,this.data=b,this.code=W,this.statusCode=l,this.url=Y,this.responseBody=N}static isInstance(I){return IG.hasMarker(I,vlZ)}},$ZW=[_B,"2025-06-18","2025-03-26","2024-11-05"],iZW=V.optional(V.record(V.string(),V.unknown())),fZW=V.looseObject({name:V.string(),version:V.string(),title:V.optional(V.string())}),oWI=V.looseObject({_meta:V.optional(V.object({}).loose())}),cJ=oWI,ElZ=V.object({method:V.string(),params:V.optional(oWI)}),ylZ=V.object({applyDefaults:V.optional(V.boolean())}).loose(),sZW=V.looseObject({experimental:V.optional(V.object({}).loose()),logging:V.optional(V.object({}).loose()),prompts:V.optional(V.looseObject({listChanged:V.optional(V.boolean())})),resources:V.optional(V.looseObject({subscribe:V.optional(V.boolean()),listChanged:V.optional(V.boolean())})),tools:V.optional(V.looseObject({listChanged:V.optional(V.boolean())})),elicitation:V.optional(ylZ)}),A9l=V.object({elicitation:V.optional(ylZ)}).loose(),oZW=cJ.extend({protocolVersion:V.string(),capabilities:sZW,serverInfo:fZW,instructions:V.optional(V.string())}),VBI=cJ.extend({nextCursor:V.optional(V.string())}),rZW=V.object({name:V.string(),title:V.optional(V.string()),description:V.optional(V.string()),inputSchema:V.object({type:V.literal("object"),properties:V.optional(V.object({}).loose())}).loose(),outputSchema:V.optional(V.object({}).loose()),annotations:V.optional(V.object({title:V.optional(V.string())}).loose()),_meta:iZW}).loose(),tZW=VBI.extend({tools:V.array(rZW)}),ClZ=V.object({type:V.literal("text"),text:V.string()}).loose(),AlZ=V.object({type:V.literal("image"),data:V.base64(),mimeType:V.string()}).loose(),eZW=V.object({uri:V.string(),name:V.string(),title:V.optional(V.string()),description:V.optional(V.string()),mimeType:V.optional(V.string()),size:V.optional(V.number())}).loose(),IbW=VBI.extend({resources:V.array(eZW)}),LlZ=V.object({uri:V.string(),name:V.optional(V.string()),title:V.optional(V.string()),mimeType:V.optional(V.string())}).loose(),plZ=LlZ.extend({text:V.string()}),zlZ=LlZ.extend({blob:V.base64()}),klZ=V.object({type:V.literal("resource"),resource:V.union([plZ,zlZ])}).loose(),ulZ=V.object({type:V.literal("resource_link"),uri:V.string(),name:V.string(),description:V.optional(V.string()),mimeType:V.optional(V.string())}).loose(),GbW=cJ.extend({content:V.array(V.union([ClZ,AlZ,klZ,ulZ])),structuredContent:V.optional(V.unknown()),isError:V.boolean().default(!1).optional()}).or(cJ.extend({toolResult:V.unknown()})),ZbW=V.object({uriTemplate:V.string(),name:V.string(),title:V.optional(V.string()),description:V.optional(V.string()),mimeType:V.optional(V.string())}).loose(),bbW=cJ.extend({resourceTemplates:V.array(ZbW)}),WbW=cJ.extend({contents:V.array(V.union([plZ,zlZ]))}),lbW=V.object({name:V.string(),description:V.optional(V.string()),required:V.optional(V.boolean())}).loose(),YbW=V.object({name:V.string(),title:V.optional(V.string()),description:V.optional(V.string()),arguments:V.optional(V.array(lbW))}).loose(),NbW=VBI.extend({prompts:V.array(YbW)}),VbW=V.object({role:V.union([V.literal("user"),V.literal("assistant")]),content:V.union([ClZ,AlZ,klZ,ulZ])}).loose(),cbW=cJ.extend({description:V.optional(V.string()),messages:V.array(VbW)}),XbW=oWI.extend({message:V.string(),requestedSchema:V.unknown()}),clZ=ElZ.extend({method:V.literal("elicitation/create"),params:XbW}),dbW=cJ.extend({action:V.union([V.literal("accept"),V.literal("decline"),V.literal("cancel")]),content:V.optional(V.record(V.string(),V.unknown()))}),FbW=V.object({jsonrpc:V.literal(rWI),id:V.union([V.string(),V.number().int()])}).merge(ElZ).strict(),QbW=V.object({jsonrpc:V.literal(rWI),id:V.union([V.string(),V.number().int()]),result:cJ}).strict(),mbW=V.object({jsonrpc:V.literal(rWI),id:V.union([V.string(),V.number().int()]),error:V.object({code:V.number().int(),message:V.string(),data:V.optional(V.unknown())})}).strict(),RbW=V.object({jsonrpc:V.literal(rWI)}).merge(V.object({method:V.string(),params:V.optional(oWI)})).strict(),lBI=V.union([FbW,RbW,QbW,mbW]);glZ=typeof __PACKAGE_VERSION__<"u"?__PACKAGE_VERSION__:"0.0.0-test",cc=V.string().url().superRefine((I,G)=>{if(!URL.canParse(I))return G.addIssue({code:V.ZodIssueCode.custom,message:"URL must be parseable",fatal:!0}),V.NEVER}).refine((I)=>{let G=new URL(I);return G.protocol!=="javascript:"&&G.protocol!=="data:"&&G.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),UlZ=V.object({access_token:V.string(),id_token:V.string().optional(),token_type:V.string(),expires_in:V.number().optional(),scope:V.string().optional(),refresh_token:V.string().optional(),authorization_server:cc.optional(),token_endpoint:cc.optional()}).strip(),HbW=V.object({resource:V.string().url(),authorization_servers:V.array(cc).optional(),jwks_uri:V.string().url().optional(),scopes_supported:V.array(V.string()).optional(),bearer_methods_supported:V.array(V.string()).optional(),resource_signing_alg_values_supported:V.array(V.string()).optional(),resource_name:V.string().optional(),resource_documentation:V.string().optional(),resource_policy_uri:V.string().url().optional(),resource_tos_uri:V.string().url().optional(),tls_client_certificate_bound_access_tokens:V.boolean().optional(),authorization_details_types_supported:V.array(V.string()).optional(),dpop_signing_alg_values_supported:V.array(V.string()).optional(),dpop_bound_access_tokens_required:V.boolean().optional()}).passthrough(),BlZ=V.object({issuer:V.string(),authorization_endpoint:cc,token_endpoint:cc,registration_endpoint:cc.optional(),scopes_supported:V.array(V.string()).optional(),response_types_supported:V.array(V.string()),grant_types_supported:V.array(V.string()).optional(),code_challenge_methods_supported:V.array(V.string()),token_endpoint_auth_methods_supported:V.array(V.string()).optional(),token_endpoint_auth_signing_alg_values_supported:V.array(V.string()).optional()}).passthrough(),hbW=V.object({issuer:V.string(),authorization_endpoint:cc,token_endpoint:cc,userinfo_endpoint:cc.optional(),jwks_uri:cc,registration_endpoint:cc.optional(),scopes_supported:V.array(V.string()).optional(),response_types_supported:V.array(V.string()),grant_types_supported:V.array(V.string()).optional(),subject_types_supported:V.array(V.string()),id_token_signing_alg_values_supported:V.array(V.string()),claims_supported:V.array(V.string()).optional(),token_endpoint_auth_methods_supported:V.array(V.string()).optional()}).passthrough(),wbW=hbW.merge(BlZ.pick({code_challenge_methods_supported:!0})),JbW=V.object({client_id:V.string(),client_secret:V.string().optional(),client_id_issued_at:V.number().optional(),client_secret_expires_at:V.number().optional(),authorization_server:cc.optional(),token_endpoint:cc.optional()}).strip(),vbW=V.object({redirect_uris:V.array(cc),token_endpoint_auth_method:V.string().optional(),grant_types:V.array(V.string()).optional(),response_types:V.array(V.string()).optional(),client_name:V.string().optional(),client_uri:cc.optional(),logo_uri:cc.optional(),scope:V.string().optional(),contacts:V.array(V.string()).optional(),tos_uri:cc.optional(),policy_uri:V.string().optional(),jwks_uri:cc.optional(),jwks:V.any().optional(),software_id:V.string().optional(),software_version:V.string().optional(),software_statement:V.string().optional()}).strip(),EbW=V.object({error:V.string(),error_description:V.string().optional(),error_uri:V.string().optional()}),ybW=vbW.merge(JbW),OlZ=`vercel.ai.error.${CbW}`,AbW=Symbol.for(OlZ),L5=class extends(dlZ=IG,XlZ=AbW,dlZ){constructor({name:I="MCPClientOAuthError",message:G,cause:Z}){super({name:I,message:G,cause:Z});this[XlZ]=!0}static isInstance(I){return IG.hasMarker(I,OlZ)}},TB=class extends L5{};TB.errorCode="server_error";PWI=class extends L5{};PWI.errorCode="invalid_client";$WI=class extends L5{};$WI.errorCode="invalid_grant";iWI=class extends L5{};iWI.errorCode="unauthorized_client";LbW={[TB.errorCode]:TB,[PWI.errorCode]:PWI,[$WI.errorCode]:$WI,[iWI.errorCode]:iWI};fWI=class extends Error{constructor(I="Unauthorized"){super(I);this.name="UnauthorizedError"}}});var _lZ=B((T9l,SlZ)=>{SlZ.exports=TlZ;TlZ.sync=ebW;var DlZ=PI("fs");function tbW(I,G){var Z=G.pathExt!==void 0?G.pathExt:process.env.PATHEXT;if(!Z)return!0;if(Z=Z.split(";"),Z.indexOf("")!==-1)return!0;for(var b=0;b<Z.length;b++){var W=Z[b].toLowerCase();if(W&&I.substr(-W.length).toLowerCase()===W)return!0}return!1}function qlZ(I,G,Z){if(!I.isSymbolicLink()&&!I.isFile())return!1;return tbW(G,Z)}function TlZ(I,G,Z){DlZ.stat(I,function(b,W){Z(b,b?!1:qlZ(W,I,G))})}function ebW(I,G){return qlZ(DlZ.statSync(I),I,G)}});var flZ=B((S9l,ilZ)=>{ilZ.exports=PlZ;PlZ.sync=IWW;var nlZ=PI("fs");function PlZ(I,G,Z){nlZ.stat(I,function(b,W){Z(b,b?!1:$lZ(W,G))})}function IWW(I,G){return $lZ(nlZ.statSync(I),G)}function $lZ(I,G){return I.isFile()&&GWW(I,G)}function GWW(I,G){var{mode:Z,uid:b,gid:W}=I,l=G.uid!==void 0?G.uid:process.getuid&&process.getuid(),Y=G.gid!==void 0?G.gid:process.getgid&&process.getgid(),N=parseInt("100",8),c=parseInt("010",8),X=parseInt("001",8),d=N|c,F=Z&X||Z&c&&W===Y||Z&N&&b===l||Z&d&&l===0;return F}});var olZ=B((n9l,slZ)=>{var _9l=PI("fs"),tWI;if(process.platform==="win32"||global.TESTING_WINDOWS)tWI=_lZ();else tWI=flZ();slZ.exports=FBI;FBI.sync=ZWW;function FBI(I,G,Z){if(typeof G==="function")Z=G,G={};if(!Z){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(b,W){FBI(I,G||{},function(l,Y){if(l)W(l);else b(Y)})})}tWI(I,G||{},function(b,W){if(b){if(b.code==="EACCES"||G&&G.ignoreErrors)b=null,W=!1}Z(b,W)})}function ZWW(I,G){try{return tWI.sync(I,G||{})}catch(Z){if(G&&G.ignoreErrors||Z.code==="EACCES")return!1;else throw Z}}});var bYZ=B((P9l,ZYZ)=>{var nB=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",rlZ=PI("path"),bWW=nB?";":":",tlZ=olZ(),elZ=(I)=>Object.assign(Error(`not found: ${I}`),{code:"ENOENT"}),IYZ=(I,G)=>{let Z=G.colon||bWW,b=I.match(/\//)||nB&&I.match(/\\/)?[""]:[...nB?[process.cwd()]:[],...(G.path||process.env.PATH||"").split(Z)],W=nB?G.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",l=nB?W.split(Z):[""];if(nB){if(I.indexOf(".")!==-1&&l[0]!=="")l.unshift("")}return{pathEnv:b,pathExt:l,pathExtExe:W}},GYZ=(I,G,Z)=>{if(typeof G==="function")Z=G,G={};if(!G)G={};let{pathEnv:b,pathExt:W,pathExtExe:l}=IYZ(I,G),Y=[],N=(X)=>new Promise((d,F)=>{if(X===b.length)return G.all&&Y.length?d(Y):F(elZ(I));let Q=b[X],m=/^".*"$/.test(Q)?Q.slice(1,-1):Q,R=rlZ.join(m,I),H=!m&&/^\.[\\\/]/.test(I)?I.slice(0,2)+R:R;d(c(H,X,0))}),c=(X,d,F)=>new Promise((Q,m)=>{if(F===W.length)return Q(N(d+1));let R=W[F];tlZ(X+R,{pathExt:l},(H,h)=>{if(!H&&h)if(G.all)Y.push(X+R);else return Q(X+R);return Q(c(X,d,F+1))})});return Z?N(0).then((X)=>Z(null,X),Z):N(0)},WWW=(I,G)=>{G=G||{};let{pathEnv:Z,pathExt:b,pathExtExe:W}=IYZ(I,G),l=[];for(let Y=0;Y<Z.length;Y++){let N=Z[Y],c=/^".*"$/.test(N)?N.slice(1,-1):N,X=rlZ.join(c,I),d=!c&&/^\.[\\\/]/.test(I)?I.slice(0,2)+X:X;for(let F=0;F<b.length;F++){let Q=d+b[F];try{if(tlZ.sync(Q,{pathExt:W}))if(G.all)l.push(Q);else return Q}catch(m){}}}if(G.all&&l.length)return l;if(G.nothrow)return null;throw elZ(I)};ZYZ.exports=GYZ;GYZ.sync=WWW});var lYZ=B(($9l,QBI)=>{var WYZ=(I={})=>{let G=I.env||process.env;if((I.platform||process.platform)!=="win32")return"PATH";return Object.keys(G).reverse().find((b)=>b.toUpperCase()==="PATH")||"Path"};QBI.exports=WYZ;QBI.exports.default=WYZ});var cYZ=B((i9l,VYZ)=>{var YYZ=PI("path"),lWW=bYZ(),YWW=lYZ();function NYZ(I,G){let Z=I.options.env||process.env,b=process.cwd(),W=I.options.cwd!=null,l=W&&process.chdir!==void 0&&!process.chdir.disabled;if(l)try{process.chdir(I.options.cwd)}catch(N){}let Y;try{Y=lWW.sync(I.command,{path:Z[YWW({env:Z})],pathExt:G?YYZ.delimiter:void 0})}catch(N){}finally{if(l)process.chdir(b)}if(Y)Y=YYZ.resolve(W?I.options.cwd:"",Y);return Y}function NWW(I){return NYZ(I)||NYZ(I,!0)}VYZ.exports=NWW});var XYZ=B((XWW,RBI)=>{var mBI=/([()\][%!^"`<>&|;, *?])/g;function VWW(I){return I=I.replace(mBI,"^$1"),I}function cWW(I,G){if(I=`${I}`,I=I.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),I=I.replace(/(?=(\\+?)?)\1$/,"$1$1"),I=`"${I}"`,I=I.replace(mBI,"^$1"),G)I=I.replace(mBI,"^$1");return I}XWW.command=VWW;XWW.argument=cWW});var FYZ=B((f9l,dYZ)=>{dYZ.exports=/^#!(.*)/});var mYZ=B((s9l,QYZ)=>{var QWW=FYZ();QYZ.exports=(I="")=>{let G=I.match(QWW);if(!G)return null;let[Z,b]=G[0].replace(/#! ?/,"").split(" "),W=Z.split("/").pop();if(W==="env")return b;return b?`${W} ${b}`:W}});var HYZ=B((o9l,RYZ)=>{var HBI=PI("fs"),mWW=mYZ();function RWW(I){let Z=Buffer.alloc(150),b;try{b=HBI.openSync(I,"r"),HBI.readSync(b,Z,0,150,0),HBI.closeSync(b)}catch(W){}return mWW(Z.toString())}RYZ.exports=RWW});var vYZ=B((r9l,JYZ)=>{var HWW=PI("path"),hYZ=cYZ(),wYZ=XYZ(),hWW=HYZ(),wWW=process.platform==="win32",JWW=/\.(?:com|exe)$/i,vWW=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function EWW(I){I.file=hYZ(I);let G=I.file&&hWW(I.file);if(G)return I.args.unshift(I.file),I.command=G,hYZ(I);return I.file}function yWW(I){if(!wWW)return I;let G=EWW(I),Z=!JWW.test(G);if(I.options.forceShell||Z){let b=vWW.test(G);I.command=HWW.normalize(I.command),I.command=wYZ.command(I.command),I.args=I.args.map((l)=>wYZ.argument(l,b));let W=[I.command].concat(I.args).join(" ");I.args=["/d","/s","/c",`"${W}"`],I.command=process.env.comspec||"cmd.exe",I.options.windowsVerbatimArguments=!0}return I}function CWW(I,G,Z){if(G&&!Array.isArray(G))Z=G,G=null;G=G?G.slice(0):[],Z=Object.assign({},Z);let b={command:I,args:G,options:Z,file:void 0,original:{command:I,args:G}};return Z.shell?b:yWW(b)}JYZ.exports=CWW});var CYZ=B((t9l,yYZ)=>{var hBI=process.platform==="win32";function wBI(I,G){return Object.assign(Error(`${G} ${I.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${G} ${I.command}`,path:I.command,spawnargs:I.args})}function AWW(I,G){if(!hBI)return;let Z=I.emit;I.emit=function(b,W){if(b==="exit"){let l=EYZ(W,G);if(l)return Z.call(I,"error",l)}return Z.apply(I,arguments)}}function EYZ(I,G){if(hBI&&I===1&&!G.file)return wBI(G.original,"spawn");return null}function LWW(I,G){if(hBI&&I===1&&!G.file)return wBI(G.original,"spawnSync");return null}yYZ.exports={hookChildProcess:AWW,verifyENOENT:EYZ,verifyENOENTSync:LWW,notFoundError:wBI}});var pYZ=B((e9l,PB)=>{var AYZ=PI("child_process"),JBI=vYZ(),vBI=CYZ();function LYZ(I,G,Z){let b=JBI(I,G,Z),W=AYZ.spawn(b.command,b.args,b.options);return vBI.hookChildProcess(W,b),W}function pWW(I,G,Z){let b=JBI(I,G,Z),W=AYZ.spawnSync(b.command,b.args,b.options);return W.error=W.error||vBI.verifyENOENTSync(W.status,b),W}PB.exports=LYZ;PB.exports.spawn=LYZ;PB.exports.sync=pWW;PB.exports._parse=JBI;PB.exports._enoent=vBI});function UI(I,G,Z){function b(N,c){if(!N._zod)Object.defineProperty(N,"_zod",{value:{def:c,constr:Y,traits:new Set},enumerable:!1});if(N._zod.traits.has(I))return;N._zod.traits.add(I),G(N,c);let X=Y.prototype,d=Object.keys(X);for(let F=0;F<d.length;F++){let Q=d[F];if(!(Q in N))N[Q]=X[Q].bind(N)}}let W=Z?.Parent??Object;class l extends W{}Object.defineProperty(l,"name",{value:I});function Y(N){var c;let X=Z?.Parent?new l:this;b(X,N),(c=X._zod).deferred??(c.deferred=[]);for(let d of X._zod.deferred)d();return X}return Object.defineProperty(Y,"init",{value:b}),Object.defineProperty(Y,Symbol.hasInstance,{value:(N)=>{if(Z?.Parent&&N instanceof Z.Parent)return!0;return N?._zod?.traits?.has(I)}}),Object.defineProperty(Y,"name",{value:I}),Y}function qd(I){if(I)Object.assign($B,I);return $B}var zYZ,EBI,zWW,XJ,yT,$B;var bL=g(()=>{EBI=Object.freeze({status:"aborted"});zWW=Symbol("zod_brand");XJ=class XJ extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};yT=class yT extends Error{constructor(I){super(`Encountered unidirectional transform during encode: ${I}`);this.name="ZodEncodeError"}};(zYZ=globalThis).__zod_globalConfig??(zYZ.__zod_globalConfig={});$B=globalThis.__zod_globalConfig});var kW={};iW(kW,{unwrapMessage:()=>CT,uint8ArrayToHex:()=>tWW,uint8ArrayToBase64url:()=>oWW,uint8ArrayToBase64:()=>xYZ,stringifyPrimitive:()=>ZlI,slugify:()=>ABI,shallowClone:()=>uYZ,safeExtend:()=>nWW,required:()=>iWW,randomString:()=>aWW,propertyKeyTypes:()=>pBI,promiseAllObject:()=>KWW,primitiveTypes:()=>gYZ,prefixIssues:()=>QJ,pick:()=>TWW,partial:()=>$WW,parsedType:()=>gBI,optionalKeys:()=>zBI,omit:()=>SWW,objectClone:()=>OWW,numKeys:()=>jWW,nullish:()=>LT,normalizeParams:()=>uZ,mergeDefs:()=>dJ,merge:()=>PWW,jsonStringifyReplacer:()=>iB,joinValues:()=>eWI,issue:()=>sB,isPlainObject:()=>d3,isObject:()=>WL,hexToUint8Array:()=>rWW,getSizableOrigin:()=>BYZ,getParsedType:()=>DWW,getLengthableOrigin:()=>zT,getEnumValues:()=>AT,getElementAtPath:()=>MWW,floatSafeRemainder:()=>CBI,finalizeIssue:()=>Hm,extend:()=>_WW,explicitlyAborted:()=>uBI,escapeRegex:()=>FJ,esc:()=>IlI,defineLazy:()=>nW,createTransparentProxy:()=>qWW,cloneDef:()=>xWW,clone:()=>Rm,cleanRegex:()=>pT,cleanEnum:()=>fWW,captureStackTrace:()=>GlI,cached:()=>fB,base64urlToUint8Array:()=>sWW,base64ToUint8Array:()=>OYZ,assignProp:()=>X3,assertNotEqual:()=>uWW,assertNever:()=>UWW,assertIs:()=>gWW,assertEqual:()=>kWW,assert:()=>BWW,allowsEval:()=>LBI,aborted:()=>F3,NUMBER_FORMAT_RANGES:()=>kBI,Class:()=>MYZ,BIGINT_FORMAT_RANGES:()=>UYZ});function kWW(I){return I}function uWW(I){return I}function gWW(I){}function UWW(I){throw Error("Unexpected value in exhaustive check")}function BWW(I){}function AT(I){let G=Object.values(I).filter((b)=>typeof b==="number");return Object.entries(I).filter(([b,W])=>G.indexOf(+b)===-1).map(([b,W])=>W)}function eWI(I,G="|"){return I.map((Z)=>ZlI(Z)).join(G)}function iB(I,G){if(typeof G==="bigint")return G.toString();return G}function fB(I){return{get value(){{let Z=I();return Object.defineProperty(this,"value",{value:Z}),Z}throw Error("cached value already set")}}}function LT(I){return I===null||I===void 0}function pT(I){let G=I.startsWith("^")?1:0,Z=I.endsWith("$")?I.length-1:I.length;return I.slice(G,Z)}function CBI(I,G){let Z=I/G,b=Math.round(Z),W=Number.EPSILON*Math.max(Math.abs(Z),1);if(Math.abs(Z-b)<W)return 0;return Z-b}function nW(I,G,Z){let b=void 0;Object.defineProperty(I,G,{get(){if(b===kYZ)return;if(b===void 0)b=kYZ,b=Z();return b},set(W){Object.defineProperty(I,G,{value:W})},configurable:!0})}function OWW(I){return Object.create(Object.getPrototypeOf(I),Object.getOwnPropertyDescriptors(I))}function X3(I,G,Z){Object.defineProperty(I,G,{value:Z,writable:!0,enumerable:!0,configurable:!0})}function dJ(...I){let G={};for(let Z of I){let b=Object.getOwnPropertyDescriptors(Z);Object.assign(G,b)}return Object.defineProperties({},G)}function xWW(I){return dJ(I._zod.def)}function MWW(I,G){if(!G)return I;return G.reduce((Z,b)=>Z?.[b],I)}function KWW(I){let G=Object.keys(I),Z=G.map((b)=>I[b]);return Promise.all(Z).then((b)=>{let W={};for(let l=0;l<G.length;l++)W[G[l]]=b[l];return W})}function aWW(I=10){let Z="";for(let b=0;b<I;b++)Z+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Z}function IlI(I){return JSON.stringify(I)}function ABI(I){return I.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function WL(I){return typeof I==="object"&&I!==null&&!Array.isArray(I)}function d3(I){if(WL(I)===!1)return!1;let G=I.constructor;if(G===void 0)return!0;if(typeof G!=="function")return!0;let Z=G.prototype;if(WL(Z)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Z,"isPrototypeOf")===!1)return!1;return!0}function uYZ(I){if(d3(I))return{...I};if(Array.isArray(I))return[...I];if(I instanceof Map)return new Map(I);if(I instanceof Set)return new Set(I);return I}function jWW(I){let G=0;for(let Z in I)if(Object.prototype.hasOwnProperty.call(I,Z))G++;return G}function FJ(I){return I.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Rm(I,G,Z){let b=new I._zod.constr(G??I._zod.def);if(!G||Z?.parent)b._zod.parent=I;return b}function uZ(I){let G=I;if(!G)return{};if(typeof G==="string")return{error:()=>G};if(G?.message!==void 0){if(G?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");G.error=G.message}if(delete G.message,typeof G.error==="string")return{...G,error:()=>G.error};return G}function qWW(I){let G;return new Proxy({},{get(Z,b,W){return G??(G=I()),Reflect.get(G,b,W)},set(Z,b,W,l){return G??(G=I()),Reflect.set(G,b,W,l)},has(Z,b){return G??(G=I()),Reflect.has(G,b)},deleteProperty(Z,b){return G??(G=I()),Reflect.deleteProperty(G,b)},ownKeys(Z){return G??(G=I()),Reflect.ownKeys(G)},getOwnPropertyDescriptor(Z,b){return G??(G=I()),Reflect.getOwnPropertyDescriptor(G,b)},defineProperty(Z,b,W){return G??(G=I()),Reflect.defineProperty(G,b,W)}})}function ZlI(I){if(typeof I==="bigint")return I.toString()+"n";if(typeof I==="string")return`"${I}"`;return`${I}`}function zBI(I){return Object.keys(I).filter((G)=>{return I[G]._zod.optin==="optional"&&I[G]._zod.optout==="optional"})}function TWW(I,G){let Z=I._zod.def,b=Z.checks;if(b&&b.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let l=dJ(I._zod.def,{get shape(){let Y={};for(let N in G){if(!(N in Z.shape))throw Error(`Unrecognized key: "${N}"`);if(!G[N])continue;Y[N]=Z.shape[N]}return X3(this,"shape",Y),Y},checks:[]});return Rm(I,l)}function SWW(I,G){let Z=I._zod.def,b=Z.checks;if(b&&b.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let l=dJ(I._zod.def,{get shape(){let Y={...I._zod.def.shape};for(let N in G){if(!(N in Z.shape))throw Error(`Unrecognized key: "${N}"`);if(!G[N])continue;delete Y[N]}return X3(this,"shape",Y),Y},checks:[]});return Rm(I,l)}function _WW(I,G){if(!d3(G))throw Error("Invalid input to extend: expected a plain object");let Z=I._zod.def.checks;if(Z&&Z.length>0){let l=I._zod.def.shape;for(let Y in G)if(Object.getOwnPropertyDescriptor(l,Y)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let W=dJ(I._zod.def,{get shape(){let l={...I._zod.def.shape,...G};return X3(this,"shape",l),l}});return Rm(I,W)}function nWW(I,G){if(!d3(G))throw Error("Invalid input to safeExtend: expected a plain object");let Z=dJ(I._zod.def,{get shape(){let b={...I._zod.def.shape,...G};return X3(this,"shape",b),b}});return Rm(I,Z)}function PWW(I,G){if(I._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let Z=dJ(I._zod.def,{get shape(){let b={...I._zod.def.shape,...G._zod.def.shape};return X3(this,"shape",b),b},get catchall(){return G._zod.def.catchall},checks:G._zod.def.checks??[]});return Rm(I,Z)}function $WW(I,G,Z){let W=G._zod.def.checks;if(W&&W.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let Y=dJ(G._zod.def,{get shape(){let N=G._zod.def.shape,c={...N};if(Z)for(let X in Z){if(!(X in N))throw Error(`Unrecognized key: "${X}"`);if(!Z[X])continue;c[X]=I?new I({type:"optional",innerType:N[X]}):N[X]}else for(let X in N)c[X]=I?new I({type:"optional",innerType:N[X]}):N[X];return X3(this,"shape",c),c},checks:[]});return Rm(G,Y)}function iWW(I,G,Z){let b=dJ(G._zod.def,{get shape(){let W=G._zod.def.shape,l={...W};if(Z)for(let Y in Z){if(!(Y in l))throw Error(`Unrecognized key: "${Y}"`);if(!Z[Y])continue;l[Y]=new I({type:"nonoptional",innerType:W[Y]})}else for(let Y in W)l[Y]=new I({type:"nonoptional",innerType:W[Y]});return X3(this,"shape",l),l}});return Rm(G,b)}function F3(I,G=0){if(I.aborted===!0)return!0;for(let Z=G;Z<I.issues.length;Z++)if(I.issues[Z]?.continue!==!0)return!0;return!1}function uBI(I,G=0){if(I.aborted===!0)return!0;for(let Z=G;Z<I.issues.length;Z++)if(I.issues[Z]?.continue===!1)return!0;return!1}function QJ(I,G){return G.map((Z)=>{var b;return(b=Z).path??(b.path=[]),Z.path.unshift(I),Z})}function CT(I){return typeof I==="string"?I:I?.message}function Hm(I,G,Z){let b=I.message?I.message:CT(I.inst?._zod.def?.error?.(I))??CT(G?.error?.(I))??CT(Z.customError?.(I))??CT(Z.localeError?.(I))??"Invalid input",{inst:W,continue:l,input:Y,...N}=I;if(N.path??(N.path=[]),N.message=b,G?.reportInput)N.input=Y;return N}function BYZ(I){if(I instanceof Set)return"set";if(I instanceof Map)return"map";if(I instanceof File)return"file";return"unknown"}function zT(I){if(Array.isArray(I))return"array";if(typeof I==="string")return"string";return"unknown"}function gBI(I){let G=typeof I;switch(G){case"number":return Number.isNaN(I)?"nan":"number";case"object":{if(I===null)return"null";if(Array.isArray(I))return"array";let Z=I;if(Z&&Object.getPrototypeOf(Z)!==Object.prototype&&"constructor"in Z&&Z.constructor)return Z.constructor.name}}return G}function sB(...I){let[G,Z,b]=I;if(typeof G==="string")return{message:G,code:"custom",input:Z,inst:b};return{...G}}function fWW(I){return Object.entries(I).filter(([G,Z])=>{return Number.isNaN(Number.parseInt(G,10))}).map((G)=>G[1])}function OYZ(I){let G=atob(I),Z=new Uint8Array(G.length);for(let b=0;b<G.length;b++)Z[b]=G.charCodeAt(b);return Z}function xYZ(I){let G="";for(let Z=0;Z<I.length;Z++)G+=String.fromCharCode(I[Z]);return btoa(G)}function sWW(I){let G=I.replace(/-/g,"+").replace(/_/g,"/"),Z="=".repeat((4-G.length%4)%4);return OYZ(G+Z)}function oWW(I){return xYZ(I).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function rWW(I){let G=I.replace(/^0x/,"");if(G.length%2!==0)throw Error("Invalid hex string length");let Z=new Uint8Array(G.length/2);for(let b=0;b<G.length;b+=2)Z[b/2]=Number.parseInt(G.slice(b,b+2),16);return Z}function tWW(I){return Array.from(I).map((G)=>G.toString(16).padStart(2,"0")).join("")}class MYZ{constructor(...I){}}var kYZ,GlI,LBI,DWW=(I)=>{let G=typeof I;switch(G){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(I)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(I))return"array";if(I===null)return"null";if(I.then&&typeof I.then==="function"&&I.catch&&typeof I.catch==="function")return"promise";if(typeof Map<"u"&&I instanceof Map)return"map";if(typeof Set<"u"&&I instanceof Set)return"set";if(typeof Date<"u"&&I instanceof Date)return"date";if(typeof File<"u"&&I instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${G}`)}},pBI,gYZ,kBI,UYZ;var y1=g(()=>{bL();kYZ=Symbol("evaluating");GlI="captureStackTrace"in Error?Error.captureStackTrace:(...I)=>{};LBI=fB(()=>{if($B.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(I){return!1}});pBI=new Set(["string","number","symbol"]),gYZ=new Set(["string","number","bigint","boolean","symbol","undefined"]);kBI={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},UYZ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function BBI(I,G=(Z)=>Z.message){let Z={},b=[];for(let W of I.issues)if(W.path.length>0)Z[W.path[0]]=Z[W.path[0]]||[],Z[W.path[0]].push(G(W));else b.push(G(W));return{formErrors:b,fieldErrors:Z}}function OBI(I,G=(Z)=>Z.message){let Z={_errors:[]},b=(W,l=[])=>{for(let Y of W.issues)if(Y.code==="invalid_union"&&Y.errors.length)Y.errors.map((N)=>b({issues:N},[...l,...Y.path]));else if(Y.code==="invalid_key")b({issues:Y.issues},[...l,...Y.path]);else if(Y.code==="invalid_element")b({issues:Y.issues},[...l,...Y.path]);else{let N=[...l,...Y.path];if(N.length===0)Z._errors.push(G(Y));else{let c=Z,X=0;while(X<N.length){let d=N[X];if(X!==N.length-1)c[d]=c[d]||{_errors:[]};else c[d]=c[d]||{_errors:[]},c[d]._errors.push(G(Y));c=c[d],X++}}}};return b(I),Z}var KYZ=(I,G)=>{I.name="$ZodError",Object.defineProperty(I,"_zod",{value:I._zod,enumerable:!1}),Object.defineProperty(I,"issues",{value:G,enumerable:!1}),I.message=JSON.stringify(G,iB,2),Object.defineProperty(I,"toString",{value:()=>I.message,enumerable:!1})},blI,UBI;var xBI=g(()=>{bL();y1();blI=UI("$ZodError",KYZ),UBI=UI("$ZodError",KYZ,{Parent:Error})});var WlI=(I)=>(G,Z,b,W)=>{let l=b?{...b,async:!1}:{async:!1},Y=G._zod.run({value:Z,issues:[]},l);if(Y instanceof Promise)throw new XJ;if(Y.issues.length){let N=new(W?.Err??I)(Y.issues.map((c)=>Hm(c,l,qd())));throw GlI(N,W?.callee),N}return Y.value},llI=(I)=>async(G,Z,b,W)=>{let l=b?{...b,async:!0}:{async:!0},Y=G._zod.run({value:Z,issues:[]},l);if(Y instanceof Promise)Y=await Y;if(Y.issues.length){let N=new(W?.Err??I)(Y.issues.map((c)=>Hm(c,l,qd())));throw GlI(N,W?.callee),N}return Y.value},kT=(I)=>(G,Z,b)=>{let W=b?{...b,async:!1}:{async:!1},l=G._zod.run({value:Z,issues:[]},W);if(l instanceof Promise)throw new XJ;return l.issues.length?{success:!1,error:new(I??blI)(l.issues.map((Y)=>Hm(Y,W,qd())))}:{success:!0,data:l.value}},aYZ,uT=(I)=>async(G,Z,b)=>{let W=b?{...b,async:!0}:{async:!0},l=G._zod.run({value:Z,issues:[]},W);if(l instanceof Promise)l=await l;return l.issues.length?{success:!1,error:new I(l.issues.map((Y)=>Hm(Y,W,qd())))}:{success:!0,data:l.value}},jYZ,DYZ=(I)=>(G,Z,b)=>{let W=b?{...b,direction:"backward"}:{direction:"backward"};return WlI(I)(G,Z,W)},qYZ=(I)=>(G,Z,b)=>{return WlI(I)(G,Z,b)},TYZ=(I)=>async(G,Z,b)=>{let W=b?{...b,direction:"backward"}:{direction:"backward"};return llI(I)(G,Z,W)},SYZ=(I)=>async(G,Z,b)=>{return llI(I)(G,Z,b)},_YZ=(I)=>(G,Z,b)=>{let W=b?{...b,direction:"backward"}:{direction:"backward"};return kT(I)(G,Z,W)},nYZ=(I)=>(G,Z,b)=>{return kT(I)(G,Z,b)},PYZ=(I)=>async(G,Z,b)=>{let W=b?{...b,direction:"backward"}:{direction:"backward"};return uT(I)(G,Z,W)},$YZ=(I)=>async(G,Z,b)=>{return uT(I)(G,Z,b)};var MBI=g(()=>{bL();xBI();y1();aYZ=kT(UBI),jYZ=uT(UBI)});function ZNZ(){return new RegExp(IlW,"u")}function FNZ(I){return typeof I.precision==="number"?I.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":I.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${I.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function QNZ(I){return new RegExp(`^${FNZ(I)}$`)}function mNZ(I){let G=FNZ({precision:I.precision}),Z=["Z"];if(I.local)Z.push("");if(I.offset)Z.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let b=`${G}(?:${Z.join("|")})`;return new RegExp(`^${XNZ}T(?:${b})$`)}var iYZ,fYZ,sYZ,oYZ,rYZ,tYZ,eYZ,INZ,KBI=(I)=>{if(!I)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${I}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},GNZ,IlW="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",bNZ,WNZ,lNZ,YNZ,NNZ,aBI,VNZ,cNZ,XNZ="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",dNZ,RNZ=(I)=>{let G=I?`[\\s\\S]{${I?.minimum??0},${I?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${G}$`)},HNZ,hNZ,YlI,wNZ,JNZ,vNZ,ENZ;var NlI=g(()=>{iYZ=/^[cC][0-9a-z]{6,}$/,fYZ=/^[0-9a-z]+$/,sYZ=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,oYZ=/^[0-9a-vA-V]{20}$/,rYZ=/^[A-Za-z0-9]{27}$/,tYZ=/^[a-zA-Z0-9_-]{21}$/,eYZ=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,INZ=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,GNZ=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;bNZ=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,WNZ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,lNZ=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,YNZ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,NNZ=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,aBI=/^[A-Za-z0-9_-]*$/,VNZ=/^https?$/,cNZ=/^\+[1-9]\d{6,14}$/,dNZ=new RegExp(`^${XNZ}$`);HNZ=/^-?\d+n?$/,hNZ=/^-?\d+$/,YlI=/^-?\d+(?:\.\d+)?$/,wNZ=/^(?:true|false)$/i,JNZ=/^null$/i,vNZ=/^[^A-Z]*$/,ENZ=/^[^a-z]*$/});var Dc,yNZ,jBI,DBI,CNZ,ANZ,LNZ,pNZ,zNZ,UT,kNZ,uNZ,gNZ,UNZ,BNZ,ONZ,xNZ;var VlI=g(()=>{bL();NlI();y1();Dc=UI("$ZodCheck",(I,G)=>{var Z;I._zod??(I._zod={}),I._zod.def=G,(Z=I._zod).onattach??(Z.onattach=[])}),yNZ={number:"number",bigint:"bigint",object:"date"},jBI=UI("$ZodCheckLessThan",(I,G)=>{Dc.init(I,G);let Z=yNZ[typeof G.value];I._zod.onattach.push((b)=>{let W=b._zod.bag,l=(G.inclusive?W.maximum:W.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(G.value<l)if(G.inclusive)W.maximum=G.value;else W.exclusiveMaximum=G.value}),I._zod.check=(b)=>{if(G.inclusive?b.value<=G.value:b.value<G.value)return;b.issues.push({origin:Z,code:"too_big",maximum:typeof G.value==="object"?G.value.getTime():G.value,input:b.value,inclusive:G.inclusive,inst:I,continue:!G.abort})}}),DBI=UI("$ZodCheckGreaterThan",(I,G)=>{Dc.init(I,G);let Z=yNZ[typeof G.value];I._zod.onattach.push((b)=>{let W=b._zod.bag,l=(G.inclusive?W.minimum:W.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(G.value>l)if(G.inclusive)W.minimum=G.value;else W.exclusiveMinimum=G.value}),I._zod.check=(b)=>{if(G.inclusive?b.value>=G.value:b.value>G.value)return;b.issues.push({origin:Z,code:"too_small",minimum:typeof G.value==="object"?G.value.getTime():G.value,input:b.value,inclusive:G.inclusive,inst:I,continue:!G.abort})}}),CNZ=UI("$ZodCheckMultipleOf",(I,G)=>{Dc.init(I,G),I._zod.onattach.push((Z)=>{var b;(b=Z._zod.bag).multipleOf??(b.multipleOf=G.value)}),I._zod.check=(Z)=>{if(typeof Z.value!==typeof G.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Z.value==="bigint"?Z.value%G.value===BigInt(0):CBI(Z.value,G.value)===0)return;Z.issues.push({origin:typeof Z.value,code:"not_multiple_of",divisor:G.value,input:Z.value,inst:I,continue:!G.abort})}}),ANZ=UI("$ZodCheckNumberFormat",(I,G)=>{Dc.init(I,G),G.format=G.format||"float64";let Z=G.format?.includes("int"),b=Z?"int":"number",[W,l]=kBI[G.format];I._zod.onattach.push((Y)=>{let N=Y._zod.bag;if(N.format=G.format,N.minimum=W,N.maximum=l,Z)N.pattern=hNZ}),I._zod.check=(Y)=>{let N=Y.value;if(Z){if(!Number.isInteger(N)){Y.issues.push({expected:b,format:G.format,code:"invalid_type",continue:!1,input:N,inst:I});return}if(!Number.isSafeInteger(N)){if(N>0)Y.issues.push({input:N,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:I,origin:b,inclusive:!0,continue:!G.abort});else Y.issues.push({input:N,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:I,origin:b,inclusive:!0,continue:!G.abort});return}}if(N<W)Y.issues.push({origin:"number",input:N,code:"too_small",minimum:W,inclusive:!0,inst:I,continue:!G.abort});if(N>l)Y.issues.push({origin:"number",input:N,code:"too_big",maximum:l,inclusive:!0,inst:I,continue:!G.abort})}}),LNZ=UI("$ZodCheckMaxLength",(I,G)=>{var Z;Dc.init(I,G),(Z=I._zod.def).when??(Z.when=(b)=>{let W=b.value;return!LT(W)&&W.length!==void 0}),I._zod.onattach.push((b)=>{let W=b._zod.bag.maximum??Number.POSITIVE_INFINITY;if(G.maximum<W)b._zod.bag.maximum=G.maximum}),I._zod.check=(b)=>{let W=b.value;if(W.length<=G.maximum)return;let Y=zT(W);b.issues.push({origin:Y,code:"too_big",maximum:G.maximum,inclusive:!0,input:W,inst:I,continue:!G.abort})}}),pNZ=UI("$ZodCheckMinLength",(I,G)=>{var Z;Dc.init(I,G),(Z=I._zod.def).when??(Z.when=(b)=>{let W=b.value;return!LT(W)&&W.length!==void 0}),I._zod.onattach.push((b)=>{let W=b._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(G.minimum>W)b._zod.bag.minimum=G.minimum}),I._zod.check=(b)=>{let W=b.value;if(W.length>=G.minimum)return;let Y=zT(W);b.issues.push({origin:Y,code:"too_small",minimum:G.minimum,inclusive:!0,input:W,inst:I,continue:!G.abort})}}),zNZ=UI("$ZodCheckLengthEquals",(I,G)=>{var Z;Dc.init(I,G),(Z=I._zod.def).when??(Z.when=(b)=>{let W=b.value;return!LT(W)&&W.length!==void 0}),I._zod.onattach.push((b)=>{let W=b._zod.bag;W.minimum=G.length,W.maximum=G.length,W.length=G.length}),I._zod.check=(b)=>{let W=b.value,l=W.length;if(l===G.length)return;let Y=zT(W),N=l>G.length;b.issues.push({origin:Y,...N?{code:"too_big",maximum:G.length}:{code:"too_small",minimum:G.length},inclusive:!0,exact:!0,input:b.value,inst:I,continue:!G.abort})}}),UT=UI("$ZodCheckStringFormat",(I,G)=>{var Z,b;if(Dc.init(I,G),I._zod.onattach.push((W)=>{let l=W._zod.bag;if(l.format=G.format,G.pattern)l.patterns??(l.patterns=new Set),l.patterns.add(G.pattern)}),G.pattern)(Z=I._zod).check??(Z.check=(W)=>{if(G.pattern.lastIndex=0,G.pattern.test(W.value))return;W.issues.push({origin:"string",code:"invalid_format",format:G.format,input:W.value,...G.pattern?{pattern:G.pattern.toString()}:{},inst:I,continue:!G.abort})});else(b=I._zod).check??(b.check=()=>{})}),kNZ=UI("$ZodCheckRegex",(I,G)=>{UT.init(I,G),I._zod.check=(Z)=>{if(G.pattern.lastIndex=0,G.pattern.test(Z.value))return;Z.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Z.value,pattern:G.pattern.toString(),inst:I,continue:!G.abort})}}),uNZ=UI("$ZodCheckLowerCase",(I,G)=>{G.pattern??(G.pattern=vNZ),UT.init(I,G)}),gNZ=UI("$ZodCheckUpperCase",(I,G)=>{G.pattern??(G.pattern=ENZ),UT.init(I,G)}),UNZ=UI("$ZodCheckIncludes",(I,G)=>{Dc.init(I,G);let Z=FJ(G.includes),b=new RegExp(typeof G.position==="number"?`^.{${G.position}}${Z}`:Z);G.pattern=b,I._zod.onattach.push((W)=>{let l=W._zod.bag;l.patterns??(l.patterns=new Set),l.patterns.add(b)}),I._zod.check=(W)=>{if(W.value.includes(G.includes,G.position))return;W.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:G.includes,input:W.value,inst:I,continue:!G.abort})}}),BNZ=UI("$ZodCheckStartsWith",(I,G)=>{Dc.init(I,G);let Z=new RegExp(`^${FJ(G.prefix)}.*`);G.pattern??(G.pattern=Z),I._zod.onattach.push((b)=>{let W=b._zod.bag;W.patterns??(W.patterns=new Set),W.patterns.add(Z)}),I._zod.check=(b)=>{if(b.value.startsWith(G.prefix))return;b.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:G.prefix,input:b.value,inst:I,continue:!G.abort})}}),ONZ=UI("$ZodCheckEndsWith",(I,G)=>{Dc.init(I,G);let Z=new RegExp(`.*${FJ(G.suffix)}$`);G.pattern??(G.pattern=Z),I._zod.onattach.push((b)=>{let W=b._zod.bag;W.patterns??(W.patterns=new Set),W.patterns.add(Z)}),I._zod.check=(b)=>{if(b.value.endsWith(G.suffix))return;b.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:G.suffix,input:b.value,inst:I,continue:!G.abort})}}),xNZ=UI("$ZodCheckOverwrite",(I,G)=>{Dc.init(I,G),I._zod.check=(Z)=>{Z.value=G.tx(Z.value)}})});class qBI{constructor(I=[]){if(this.content=[],this.indent=0,this)this.args=I}indented(I){this.indent+=1,I(this),this.indent-=1}write(I){if(typeof I==="function"){I(this,{execution:"sync"}),I(this,{execution:"async"});return}let Z=I.split(`
7611
+ ]`;continue}if(l+=W[X],W[X]==="\\")Y=!0;else if(N&&W[X]==="]")N=!1;else if(!N&&W[X]==="[")N=!0}try{new RegExp(l)}catch(X){return console.warn(`Could not convert regex pattern at ${G.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),I.source}return l}function LWZ(I,G){var Z,b,W,l,Y,N;let c={type:"object",additionalProperties:(Z=rl(I.valueType._def,{...G,currentPath:[...G.currentPath,"additionalProperties"]}))!=null?Z:G.allowedAdditionalProperties};if(((b=I.keyType)==null?void 0:b._def.typeName)===GI.ZodString&&((W=I.keyType._def.checks)==null?void 0:W.length)){let{type:X,...d}=AWZ(I.keyType._def,G);return{...c,propertyNames:d}}else if(((l=I.keyType)==null?void 0:l._def.typeName)===GI.ZodEnum)return{...c,propertyNames:{enum:I.keyType._def.values}};else if(((Y=I.keyType)==null?void 0:Y._def.typeName)===GI.ZodBranded&&I.keyType._def.type._def.typeName===GI.ZodString&&((N=I.keyType._def.type._def.checks)==null?void 0:N.length)){let{type:X,...d}=yWZ(I.keyType._def,G);return{...c,propertyNames:d}}return c}function CGW(I,G){if(G.mapStrategy==="record")return LWZ(I,G);let Z=rl(I.keyType._def,{...G,currentPath:[...G.currentPath,"items","items","0"]})||jF(),b=rl(I.valueType._def,{...G,currentPath:[...G.currentPath,"items","items","1"]})||jF();return{type:"array",maxItems:125,items:{type:"array",items:[Z,b],minItems:2,maxItems:2}}}function AGW(I){let G=I.values,b=Object.keys(I.values).filter((l)=>{return typeof G[G[l]]!=="number"}).map((l)=>G[l]),W=Array.from(new Set(b.map((l)=>typeof l)));return{type:W.length===1?W[0]==="string"?"string":"number":["string","number"],enum:b}}function LGW(){return{not:jF()}}function pGW(){return{type:"null"}}function zGW(I,G){let Z=I.options instanceof Map?Array.from(I.options.values()):I.options;if(Z.every((b)=>(b._def.typeName in TUI)&&(!b._def.checks||!b._def.checks.length))){let b=Z.reduce((W,l)=>{let Y=TUI[l._def.typeName];return Y&&!W.includes(Y)?[...W,Y]:W},[]);return{type:b.length>1?b:b[0]}}else if(Z.every((b)=>b._def.typeName==="ZodLiteral"&&!b.description)){let b=Z.reduce((W,l)=>{let Y=typeof l._def.value;switch(Y){case"string":case"number":case"boolean":return[...W,Y];case"bigint":return[...W,"integer"];case"object":if(l._def.value===null)return[...W,"null"];case"symbol":case"undefined":case"function":default:return W}},[]);if(b.length===Z.length){let W=b.filter((l,Y,N)=>N.indexOf(l)===Y);return{type:W.length>1?W:W[0],enum:Z.reduce((l,Y)=>{return l.includes(Y._def.value)?l:[...l,Y._def.value]},[])}}}else if(Z.every((b)=>b._def.typeName==="ZodEnum"))return{type:"string",enum:Z.reduce((b,W)=>[...b,...W._def.values.filter((l)=>!b.includes(l))],[])};return kGW(I,G)}function uGW(I,G){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(I.innerType._def.typeName)&&(!I.innerType._def.checks||!I.innerType._def.checks.length))return{type:[TUI[I.innerType._def.typeName],"null"]};let Z=rl(I.innerType._def,{...G,currentPath:[...G.currentPath,"anyOf","0"]});return Z&&{anyOf:[Z,{type:"null"}]}}function gGW(I){let G={type:"number"};if(!I.checks)return G;for(let Z of I.checks)switch(Z.kind){case"int":G.type="integer";break;case"min":if(Z.inclusive)G.minimum=Z.value;else G.exclusiveMinimum=Z.value;break;case"max":if(Z.inclusive)G.maximum=Z.value;else G.exclusiveMaximum=Z.value;break;case"multipleOf":G.multipleOf=Z.value;break}return G}function UGW(I,G){let Z={type:"object",properties:{}},b=[],W=I.shape();for(let Y in W){let N=W[Y];if(N===void 0||N._def===void 0)continue;let c=OGW(N),X=rl(N._def,{...G,currentPath:[...G.currentPath,"properties",Y],propertyPath:[...G.currentPath,"properties",Y]});if(X===void 0)continue;if(Z.properties[Y]=X,!c)b.push(Y)}if(b.length)Z.required=b;let l=BGW(I,G);if(l!==void 0)Z.additionalProperties=l;return Z}function BGW(I,G){if(I.catchall._def.typeName!=="ZodNever")return rl(I.catchall._def,{...G,currentPath:[...G.currentPath,"additionalProperties"]});switch(I.unknownKeys){case"passthrough":return G.allowedAdditionalProperties;case"strict":return G.rejectedAdditionalProperties;case"strip":return G.removeAdditionalStrategy==="strict"?G.allowedAdditionalProperties:G.rejectedAdditionalProperties}}function OGW(I){try{return I.isOptional()}catch(G){return!0}}function KGW(I,G){return rl(I.type._def,G)}function aGW(I,G){let b={type:"array",uniqueItems:!0,items:rl(I.valueType._def,{...G,currentPath:[...G.currentPath,"items"]})};if(I.minSize)b.minItems=I.minSize.value;if(I.maxSize)b.maxItems=I.maxSize.value;return b}function jGW(I,G){if(I.rest)return{type:"array",minItems:I.items.length,items:I.items.map((Z,b)=>rl(Z._def,{...G,currentPath:[...G.currentPath,"items",`${b}`]})).reduce((Z,b)=>b===void 0?Z:[...Z,b],[]),additionalItems:rl(I.rest._def,{...G,currentPath:[...G.currentPath,"additionalItems"]})};else return{type:"array",minItems:I.items.length,maxItems:I.items.length,items:I.items.map((Z,b)=>rl(Z._def,{...G,currentPath:[...G.currentPath,"items",`${b}`]})).reduce((Z,b)=>b===void 0?Z:[...Z,b],[])}}function DGW(){return{not:jF()}}function qGW(){return jF()}function rl(I,G,Z=!1){var b;let W=G.seen.get(I);if(G.override){let c=(b=G.override)==null?void 0:b.call(G,I,G,W,Z);if(c!==VGW)return c}if(W&&!Z){let c=nGW(W,G);if(c!==void 0)return c}let l={def:I,path:G.currentPath,jsonSchema:void 0};G.seen.set(I,l);let Y=SGW(I,I.typeName,G),N=typeof Y==="function"?rl(Y(),G):Y;if(N)PGW(I,G,N);if(G.postProcess){let c=G.postProcess(N,I,G);return l.jsonSchema=N,c}return l.jsonSchema=N,N}function TWI(I,{validate:G}={}){return{[SUI]:!0,_type:void 0,get jsonSchema(){if(typeof I==="function")I=I();return I},validate:G}}function fGW(I){return typeof I==="object"&&I!==null&&SUI in I&&I[SUI]===!0&&"jsonSchema"in I&&"validate"in I}function sGW(I){return I==null?TWI({properties:{},additionalProperties:!1}):fGW(I)?I:("~standard"in I)?I["~standard"].vendor==="zod"?IZW(I):oGW(I):I()}function oGW(I){return TWI(()=>I["~standard"].jsonSchema.input({target:"draft-07"}),{validate:async(G)=>{let Z=await I["~standard"].validate(G);return"value"in Z?{success:!0,value:Z.value}:{success:!1,error:new c3({value:G,cause:Z.issues})}}})}function rGW(I,G){var Z;let b=(Z=G==null?void 0:G.useReferences)!=null?Z:!1;return TWI(()=>iGW(I,{$refStrategy:b?"root":"none"}),{validate:async(W)=>{let l=await I.safeParseAsync(W);return l.success?{success:!0,value:l.data}:{success:!1,error:l.error}}})}function tGW(I,G){var Z;let b=(Z=G==null?void 0:G.useReferences)!=null?Z:!1;return TWI(()=>EWZ(jQ(I,{target:"draft-7",io:"input",reused:b?"ref":"inline"})),{validate:async(W)=>{let l=await AR(I,W);return l.success?{success:!0,value:l.data}:{success:!1,error:l.error}}})}function eGW(I){return"_zod"in I}function IZW(I,G){if(eGW(I))return tGW(I,G);else return rGW(I,G)}async function GZW({value:I,schema:G}){let Z=await PUI({value:I,schema:G});if(!Z.success)throw c3.wrap({value:I,cause:Z.error});return Z.value}async function PUI({value:I,schema:G}){let Z=sGW(G);try{if(Z.validate==null)return{success:!0,value:I,rawValue:I};let b=await Z.validate(I);if(b.success)return{success:!0,value:b.value,rawValue:I};return{success:!1,error:c3.wrap({value:I,cause:b.error}),rawValue:I}}catch(b){return{success:!1,error:c3.wrap({value:I,cause:b}),rawValue:I}}}async function ZZW({text:I,schema:G}){try{let Z=nUI(I);if(G==null)return Z;return GZW({value:Z,schema:G})}catch(Z){if(mT.isInstance(Z)||c3.isInstance(Z))throw Z;throw new mT({text:I,cause:Z})}}async function pWZ({text:I,schema:G}){try{let Z=nUI(I);if(G==null)return{success:!0,value:Z,rawValue:Z};return await PUI({value:Z,schema:G})}catch(Z){return{success:!1,error:mT.isInstance(Z)?Z:new mT({text:I,cause:Z}),rawValue:void 0}}}function $UI(I){try{return nUI(I),!0}catch(G){return!1}}function bZW({stream:I,schema:G}){return I.pipeThrough(new TextDecoderStream).pipeThrough(new eA).pipeThrough(new TransformStream({async transform({data:Z},b){if(Z==="[DONE]")return;b.enqueue(await pWZ({text:Z,schema:G}))}}))}async function iUI({provider:I,providerOptions:G,schema:Z}){if((G==null?void 0:G[I])==null)return;let b=await PUI({value:G[I],schema:Z});if(!b.success)throw new aWI({argument:"providerOptions",message:`invalid ${I} provider options`,cause:b.error});return b.value}function SWI(I){return I==null?void 0:I.replace(/\/$/,"")}var oIW,MEl,JWZ="AI_DownloadError",vWZ,tIW,QWZ,mWZ,aEl,eIW=({prefix:I,size:G=16,alphabet:Z="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:b="-"}={})=>{let W=()=>{let l=Z.length,Y=Array(G);for(let N=0;N<G;N++)Y[N]=Z[Math.random()*l|0];return Y.join("")};if(I==null)return W;if(Z.includes(b))throw new aWI({argument:"separator",message:`The separator "${b}" must not be part of the alphabet "${Z}".`});return()=>`${I}${b}${W()}`},ZL,IGW,WGW="4.0.4",lGW,YGW,VGW,HWZ,cGW=(I)=>typeof I==="string"?{...HWZ,name:I}:{...HWZ,...I},QGW=(I,G)=>{return rl(I.innerType._def,G)},mGW=(I)=>{let G={type:"integer",format:"unix-time"};for(let Z of I.checks)switch(Z.kind){case"min":G.minimum=Z.value;break;case"max":G.maximum=Z.value;break}return G},wGW=(I)=>{if("type"in I&&I.type==="string")return!1;return"allOf"in I},jUI=void 0,v1,EGW,TUI,kGW=(I,G)=>{let Z=(I.options instanceof Map?Array.from(I.options.values()):I.options).map((b,W)=>rl(b._def,{...G,currentPath:[...G.currentPath,"anyOf",`${W}`]})).filter((b)=>!!b&&(!G.strictUnions||typeof b==="object"&&Object.keys(b).length>0));return Z.length?{anyOf:Z}:void 0},xGW=(I,G)=>{var Z;if(G.currentPath.toString()===((Z=G.propertyPath)==null?void 0:Z.toString()))return rl(I.innerType._def,G);let b=rl(I.innerType._def,{...G,currentPath:[...G.currentPath,"anyOf","1"]});return b?{anyOf:[{not:jF()},b]}:jF()},MGW=(I,G)=>{if(G.pipeStrategy==="input")return rl(I.in._def,G);else if(G.pipeStrategy==="output")return rl(I.out._def,G);let Z=rl(I.in._def,{...G,currentPath:[...G.currentPath,"allOf","0"]}),b=rl(I.out._def,{...G,currentPath:[...G.currentPath,"allOf",Z?"1":"0"]});return{allOf:[Z,b].filter((W)=>W!==void 0)}},TGW=(I,G)=>{return rl(I.innerType._def,G)},SGW=(I,G,Z)=>{switch(G){case GI.ZodString:return AWZ(I,Z);case GI.ZodNumber:return gGW(I);case GI.ZodObject:return UGW(I,Z);case GI.ZodBigInt:return dGW(I);case GI.ZodBoolean:return FGW();case GI.ZodDate:return CWZ(I,Z);case GI.ZodUndefined:return DGW();case GI.ZodNull:return pGW();case GI.ZodArray:return XGW(I,Z);case GI.ZodUnion:case GI.ZodDiscriminatedUnion:return zGW(I,Z);case GI.ZodIntersection:return JGW(I,Z);case GI.ZodTuple:return jGW(I,Z);case GI.ZodRecord:return LWZ(I,Z);case GI.ZodLiteral:return vGW(I);case GI.ZodEnum:return hGW(I);case GI.ZodNativeEnum:return AGW(I);case GI.ZodNullable:return uGW(I,Z);case GI.ZodOptional:return xGW(I,Z);case GI.ZodMap:return CGW(I,Z);case GI.ZodSet:return aGW(I,Z);case GI.ZodLazy:return()=>I.getter()._def;case GI.ZodPromise:return KGW(I,Z);case GI.ZodNaN:case GI.ZodNever:return LGW();case GI.ZodEffects:return HGW(I,Z);case GI.ZodAny:return jF();case GI.ZodUnknown:return qGW();case GI.ZodDefault:return RGW(I,Z);case GI.ZodBranded:return yWZ(I,Z);case GI.ZodReadonly:return TGW(I,Z);case GI.ZodCatch:return QGW(I,Z);case GI.ZodPipeline:return MGW(I,Z);case GI.ZodFunction:case GI.ZodVoid:case GI.ZodSymbol:return;default:return((b)=>{return})(G)}},_GW=(I,G)=>{let Z=0;for(;Z<I.length&&Z<G.length;Z++)if(I[Z]!==G[Z])break;return[(I.length-Z).toString(),...G.slice(Z)].join("/")},nGW=(I,G)=>{switch(G.$refStrategy){case"root":return{$ref:I.path.join("/")};case"relative":return{$ref:_GW(G.currentPath,I.path)};case"none":case"seen":{if(I.path.length<G.currentPath.length&&I.path.every((Z,b)=>G.currentPath[b]===Z))return console.warn(`Recursive reference detected at ${G.currentPath.join("/")}! Defaulting to any`),jF();return G.$refStrategy==="seen"?jF():void 0}}},PGW=(I,G,Z)=>{if(I.description)Z.description=I.description;return Z},$GW=(I)=>{let G=cGW(I),Z=G.name!==void 0?[...G.basePath,G.definitionPath,G.name]:G.basePath;return{...G,currentPath:Z,propertyPath:void 0,seen:new Map(Object.entries(G.definitions).map(([b,W])=>[W._def,{def:W._def,path:[...G.basePath,G.definitionPath,b],jsonSchema:void 0}]))}},iGW=(I,G)=>{var Z;let b=$GW(G),W=typeof G==="object"&&G.definitions?Object.entries(G.definitions).reduce((X,[d,F])=>{var Q;return{...X,[d]:(Q=rl(F._def,{...b,currentPath:[...b.basePath,b.definitionPath,d]},!0))!=null?Q:jF()}},{}):void 0,l=typeof G==="string"?G:(G==null?void 0:G.nameStrategy)==="title"?void 0:G==null?void 0:G.name,Y=(Z=rl(I._def,l===void 0?b:{...b,currentPath:[...b.basePath,b.definitionPath,l]},!1))!=null?Z:jF(),N=typeof G==="object"&&G.name!==void 0&&G.nameStrategy==="title"?G.name:void 0;if(N!==void 0)Y.title=N;let c=l===void 0?W?{...Y,[b.definitionPath]:W}:Y:{$ref:[...b.$refStrategy==="relative"?[]:b.basePath,b.definitionPath,l].join("/"),[b.definitionPath]:{...W,[l]:Y}};return c.$schema="http://json-schema.org/draft-07/schema#",c},SUI,WZW=()=>globalThis.fetch,fUI=async({url:I,headers:G,body:Z,failedResponseHandler:b,successfulResponseHandler:W,abortSignal:l,fetch:Y})=>lZW({url:I,headers:{"Content-Type":"application/json",...G},body:{content:JSON.stringify(Z),values:Z},failedResponseHandler:b,successfulResponseHandler:W,abortSignal:l,fetch:Y}),lZW=async({url:I,headers:G={},body:Z,successfulResponseHandler:b,failedResponseHandler:W,abortSignal:l,fetch:Y=WZW()})=>{try{let N=await Y(I,{method:"POST",headers:HT(G,`ai-sdk/provider-utils/${WGW}`,ZGW()),body:Z.content,signal:l}),c=DWI(N);if(!N.ok){let X;try{X=await W({response:N,url:I,requestBodyValues:Z.values})}catch(d){if(qUI(d)||mm.isInstance(d))throw d;throw new mm({message:"Failed to process error response",cause:d,statusCode:N.status,url:I,responseHeaders:c,requestBodyValues:Z.values})}throw X.value}try{return await b({response:N,url:I,requestBodyValues:Z.values})}catch(X){if(X instanceof Error){if(qUI(X)||mm.isInstance(X))throw X}throw new mm({message:"Failed to process successful response",cause:X,statusCode:N.status,url:I,responseHeaders:c,requestBodyValues:Z.values})}}catch(N){throw GGW({error:N,url:I,requestBodyValues:Z.values})}},zWZ=({errorSchema:I,errorToMessage:G,isRetryable:Z})=>async({response:b,url:W,requestBodyValues:l})=>{let Y=await b.text(),N=DWI(b);if(Y.trim()==="")return{responseHeaders:N,value:new mm({message:b.statusText,url:W,requestBodyValues:l,statusCode:b.status,responseHeaders:N,responseBody:Y,isRetryable:Z==null?void 0:Z(b)})};try{let c=await ZZW({text:Y,schema:I});return{responseHeaders:N,value:new mm({message:G(c),url:W,requestBodyValues:l,statusCode:b.status,responseHeaders:N,responseBody:Y,data:c,isRetryable:Z==null?void 0:Z(b,c)})}}catch(c){return{responseHeaders:N,value:new mm({message:b.statusText,url:W,requestBodyValues:l,statusCode:b.status,responseHeaders:N,responseBody:Y,isRetryable:Z==null?void 0:Z(b)})}}},kWZ=(I)=>async({response:G})=>{let Z=DWI(G);if(G.body==null)throw new _bZ({});return{responseHeaders:Z,value:bZW({stream:G.body,schema:I})}},uWZ=(I)=>async({response:G,url:Z,requestBodyValues:b})=>{let W=await G.text(),l=await pWZ({text:W,schema:I}),Y=DWI(G);if(!l.success)throw new mm({message:"Invalid JSON response",cause:l.error,statusCode:G.status,responseHeaders:Y,responseBody:W,url:Z,requestBodyValues:b});return{responseHeaders:Y,value:l.value,rawValue:l.rawValue}};var hT=g(()=>{x0();x0();x0();x0();x0();x0();x0();CI();E0();E0();E0();xWI();x0();x0();x0();LUI();({btoa:oIW,atob:MEl}=globalThis);vWZ=`vercel.ai.error.${JWZ}`,tIW=Symbol.for(vWZ),aEl=class extends(mWZ=ol,QWZ=tIW,mWZ){constructor({url:I,statusCode:G,statusText:Z,cause:b,message:W=b==null?`Failed to download ${I}: ${G} ${Z}`:`Failed to download ${I}: ${b}`}){super({name:JWZ,message:W,cause:b});this[QWZ]=!0,this.url=I,this.statusCode=G,this.statusText=Z}static isInstance(I){return ol.hasMarker(I,vWZ)}},ZL=eIW();IGW=["fetch failed","failed to fetch"];lGW=/"__proto__"\s*:/,YGW=/"constructor"\s*:/;VGW=Symbol("Let zodToJsonSchema decide on which parser to use"),HWZ={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};v1={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(jUI===void 0)jUI=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return jUI},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};EGW=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");TUI={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};SUI=Symbol.for("vercel.ai.schema")});function YZW(I={}){let G=SWI(I.baseURL??"https://api.minimax.io/anthropic/v1"),Z=()=>HT({"anthropic-version":"2023-06-01","x-api-key":qWI({apiKey:I.apiKey,environmentVariableName:"MINIMAX_API_KEY",description:"MiniMax API key"}),...I.headers},"minimax-ai-provider"),b=(l)=>{return new VbZ(l,{provider:"minimax.messages",baseURL:G,headers:Z,fetch:I.fetch,generateId:ZL,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/]})})},W=(l)=>b(l);return W.languageModel=b,W.chat=b,W.specificationVersion="v3",W.embeddingModel=(l)=>{throw new qB({modelId:l,modelType:"embeddingModel"})},W.imageModel=(l)=>{throw new qB({modelId:l,modelType:"imageModel"})},W}function gWZ(I){if(I==null)return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0};let G=I.prompt_tokens??0,Z=I.completion_tokens??0,b=I.prompt_tokens_details?.cached_tokens??0,W=I.completion_tokens_details?.reasoning_tokens??0;return{inputTokens:{total:G,noCache:G-b,cacheRead:b,cacheWrite:void 0},outputTokens:{total:Z,text:Z-W,reasoning:W},raw:I}}function wT(I){return I?.providerOptions?.openaiCompatible??{}}function cZW(I){return I?.providerOptions?.minimax??{}}function XZW(I){let G=[];for(let{role:Z,content:b,...W}of I){let l=wT({...W});switch(Z){case"system":{G.push({role:"system",content:b,...l});break}case"user":{if(b.length===1&&b[0].type==="text"){G.push({role:"user",content:b[0].text,...wT(b[0])});break}G.push({role:"user",content:b.map((Y)=>{let N=wT(Y);switch(Y.type){case"text":return{type:"text",text:Y.text,...N};case"file":if(Y.mediaType.startsWith("image/")){let c=Y.mediaType==="image/*"?"image/jpeg":Y.mediaType;return{type:"image_url",image_url:{url:Y.data instanceof URL?Y.data.toString():`data:${c};base64,${wWZ(Y.data)}`},...N}}else throw new jWI({functionality:`file part media type ${Y.mediaType}`})}}),...l});break}case"assistant":{let Y="",N=[],c=void 0;for(let d of b){let F=wT(d),Q=cZW(d);switch(d.type){case"text":{Y+=d.text;break}case"tool-call":{N.push({id:d.toolCallId,type:"function",function:{name:d.toolName,arguments:JSON.stringify(d.input)},...F});break}case"reasoning":{if(Q?.reasoningDetails)c=Q.reasoningDetails;break}}}let X={role:"assistant",content:Y,tool_calls:N.length>0?N:void 0,...l};if(c)X.reasoning_details=c;G.push(X);break}case"tool":{for(let Y of b){if(Y.type==="tool-approval-response")continue;let N=Y.output,c;switch(N.type){case"text":case"error-text":c=N.value;break;case"execution-denied":c=N.reason??"Tool execution denied.";break;case"content":case"json":case"error-json":c=JSON.stringify(N.value);break}let X=wT(Y);G.push({role:"tool",tool_call_id:Y.toolCallId,content:c,...X})}break}default:throw Error(`Unsupported role: ${Z}`)}}return G}function UWZ(I){switch(I){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}function dZW({tools:I,toolChoice:G}){I=I?.length?I:void 0;let Z=[];if(I==null)return{tools:void 0,toolChoice:void 0,toolWarnings:Z};let b=[];for(let l of I)if(l.type==="provider")Z.push({type:"unsupported",feature:`provider-defined tool ${l.id}`});else b.push({type:"function",function:{name:l.name,description:l.description,parameters:l.inputSchema,...l.strict!=null?{strict:l.strict}:{}}});if(G==null)return{tools:b,toolChoice:void 0,toolWarnings:Z};let W=G.type;switch(W){case"auto":case"none":case"required":return{tools:b,toolChoice:W,toolWarnings:Z};case"tool":return{tools:b,toolChoice:{type:"function",function:{name:G.toolName}},toolWarnings:Z};default:throw new jWI({functionality:`tool choice type: ${W}`})}}function BWZ({id:I,model:G,created:Z}){return{id:I??void 0,modelId:G??void 0,timestamp:Z!=null?new Date(Z*1000):void 0}}function MWZ(I={}){let G=SWI(I.baseURL??"https://api.minimax.io/v1"),Z=()=>HT({Authorization:`Bearer ${qWI({apiKey:I.apiKey,environmentVariableName:"MINIMAX_API_KEY",description:"MiniMax API key"})}`,...I.headers},"minimax-ai-provider"),b=(l)=>{return new FZW(l,{provider:"minimax.chat",url:({path:Y})=>`${G}${Y}`,headers:Z,fetch:I.fetch})},W=(l)=>b(l);return W.languageModel=b,W.chat=b,W.specificationVersion="v3",W.embeddingModel=(l)=>{throw new qB({modelId:l,modelType:"embeddingModel"})},W.imageModel=(l)=>{throw new qB({modelId:l,modelType:"imageModel"})},W}var OWZ,sUI,NZW,VZW,FZW=class{constructor(I,G){this.specificationVersion="v3",this.modelId=I,this.config=G;let Z=G.errorStructure??VZW;this.chunkSchema=RZW(Z.errorSchema),this.failedResponseHandler=zWZ(Z),this.supportsStructuredOutputs=G.supportsStructuredOutputs??!1}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){return this.config.supportedUrls?.()??{}}async getArgs({prompt:I,maxOutputTokens:G,temperature:Z,topP:b,topK:W,frequencyPenalty:l,presencePenalty:Y,providerOptions:N,stopSequences:c,responseFormat:X,seed:d,toolChoice:F,tools:Q}){let m=[],R=Object.assign(await iUI({provider:"openai-compatible",providerOptions:N,schema:sUI})??{},await iUI({provider:this.providerOptionsName,providerOptions:N,schema:sUI})??{});if(W!=null)m.push({type:"unsupported",feature:"topK"});if(X?.type==="json"&&X.schema!=null&&!this.supportsStructuredOutputs)m.push({type:"unsupported",feature:"responseFormat",details:"JSON response format schema is only supported with structuredOutputs"});let{tools:H,toolChoice:h,toolWarnings:E}=dZW({tools:Q,toolChoice:F});return{args:{model:this.modelId,user:R.user,max_tokens:G,temperature:Z,top_p:b,frequency_penalty:l,presence_penalty:Y,response_format:X?.type==="json"?this.supportsStructuredOutputs===!0&&X.schema!=null?{type:"json_schema",json_schema:{schema:X.schema,name:X.name??"response",description:X.description}}:{type:"json_object"}:void 0,stop:c,seed:d,...Object.fromEntries(Object.entries(N?.[this.providerOptionsName]??{}).filter(([C])=>!Object.keys(sUI.shape).includes(C))),reasoning_effort:R.reasoningEffort,verbosity:R.textVerbosity,reasoning_split:!0,messages:XZW(I),tools:H,tool_choice:h},warnings:[...m,...E]}}async doGenerate(I){let{args:G,warnings:Z}=await this.getArgs({...I}),b=JSON.stringify(G),{responseHeaders:W,value:l,rawValue:Y}=await fUI({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:_UI(this.config.headers(),I.headers),body:G,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:uWZ(QZW),abortSignal:I.abortSignal,fetch:this.config.fetch}),N=l.choices[0],c=[],X=N.message.content;if(X!=null&&X.length>0)c.push({type:"text",text:X});if(N.message.reasoning_details?.length){let Q=N.message.reasoning_details.find((m)=>m.type==="reasoning.text");if(Q?.text)c.push({type:"reasoning",text:Q.text,providerMetadata:{minimax:{reasoningDetails:N.message.reasoning_details}}})}if(N.message.tool_calls!=null)for(let Q of N.message.tool_calls)c.push({type:"tool-call",toolCallId:Q.id??ZL(),toolName:Q.function.name,input:Q.function.arguments});let d={[this.providerOptionsName]:{},...await this.config.metadataExtractor?.extractMetadata?.({parsedBody:Y})},F=l.usage?.completion_tokens_details;if(F?.accepted_prediction_tokens!=null)d[this.providerOptionsName].acceptedPredictionTokens=F?.accepted_prediction_tokens;if(F?.rejected_prediction_tokens!=null)d[this.providerOptionsName].rejectedPredictionTokens=F?.rejected_prediction_tokens;return{content:c,finishReason:{unified:UWZ(N.finish_reason),raw:N.finish_reason??void 0},usage:gWZ(l.usage),providerMetadata:d,request:{body:b},response:{...BWZ(l),headers:W,body:Y},warnings:Z}}async doStream(I){let{args:G,warnings:Z}=await this.getArgs({...I}),b={...G,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},W=this.config.metadataExtractor?.createStreamExtractor(),{responseHeaders:l,value:Y}=await fUI({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:_UI(this.config.headers(),I.headers),body:b,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:kWZ(this.chunkSchema),abortSignal:I.abortSignal,fetch:this.config.fetch}),N=[],c={unified:"other",raw:void 0},X=void 0,d=!0,F=this.providerOptionsName,Q=!1,m=!1,R=[];return{stream:Y.pipeThrough(new TransformStream({start(H){H.enqueue({type:"stream-start",warnings:Z})},transform(H,h){if(I.includeRawChunks)h.enqueue({type:"raw",rawValue:H.rawValue});if(!H.success){c={unified:"error",raw:void 0},h.enqueue({type:"error",error:H.error});return}if(W?.processChunk(H.rawValue),"error"in H.value){c={unified:"error",raw:void 0},h.enqueue({type:"error",error:H.value.error.message});return}let E=H.value;if(d)d=!1,h.enqueue({type:"response-metadata",...BWZ(E)});if(E.usage!=null)X=E.usage;let C=E.choices[0];if(C?.finish_reason!=null)c={unified:UWZ(C.finish_reason),raw:C.finish_reason??void 0};if(C?.delta==null)return;let J=C.delta;if(J.reasoning_details?.length){if(R.length===0)R=J.reasoning_details;else for(let v of J.reasoning_details){let A=R.findIndex((u)=>u.type===v.type&&u.id===v.id);if(A>=0){let u=R[A];if(v.text)u.text=(u.text||"")+v.text}else R.push({...v})}let y=J.reasoning_details.find((v)=>v.type==="reasoning.text");if(y?.text){if(!Q)h.enqueue({type:"reasoning-start",id:"reasoning-0"}),Q=!0;h.enqueue({type:"reasoning-delta",id:"reasoning-0",delta:y.text})}}if(J.content){if(!m)h.enqueue({type:"text-start",id:"txt-0"}),m=!0;h.enqueue({type:"text-delta",id:"txt-0",delta:J.content})}if(J.tool_calls!=null)for(let y of J.tool_calls){let v=y.index;if(N[v]==null){if(y.id==null)throw new aUI({data:y,message:"Expected 'id' to be a string."});if(y.function?.name==null)throw new aUI({data:y,message:"Expected 'function.name' to be a string."});h.enqueue({type:"tool-input-start",id:y.id,toolName:y.function.name}),N[v]={id:y.id,type:"function",function:{name:y.function.name,arguments:y.function.arguments??""},hasFinished:!1};let u=N[v];if(u.function?.name!=null&&u.function?.arguments!=null){if(u.function.arguments.length>0)h.enqueue({type:"tool-input-delta",id:u.id,delta:u.function.arguments});if($UI(u.function.arguments))h.enqueue({type:"tool-input-end",id:u.id}),h.enqueue({type:"tool-call",toolCallId:u.id??ZL(),toolName:u.function.name,input:u.function.arguments}),u.hasFinished=!0}continue}let A=N[v];if(A.hasFinished)continue;if(y.function?.arguments!=null)A.function.arguments+=y.function?.arguments??"";if(h.enqueue({type:"tool-input-delta",id:A.id,delta:y.function.arguments??""}),A.function?.name!=null&&A.function?.arguments!=null&&$UI(A.function.arguments))h.enqueue({type:"tool-input-end",id:A.id}),h.enqueue({type:"tool-call",toolCallId:A.id??ZL(),toolName:A.function.name,input:A.function.arguments}),A.hasFinished=!0}},flush(H){if(Q)H.enqueue({type:"reasoning-end",id:"reasoning-0",providerMetadata:R.length>0?{minimax:{reasoningDetails:R}}:void 0});if(m)H.enqueue({type:"text-end",id:"txt-0"});for(let E of N.filter((C)=>!C.hasFinished))H.enqueue({type:"tool-input-end",id:E.id}),H.enqueue({type:"tool-call",toolCallId:E.id??ZL(),toolName:E.function.name,input:E.function.arguments});let h={[F]:{},...W?.buildMetadata()};if(X?.completion_tokens_details?.accepted_prediction_tokens!=null)h[F].acceptedPredictionTokens=X?.completion_tokens_details?.accepted_prediction_tokens;if(X?.completion_tokens_details?.rejected_prediction_tokens!=null)h[F].rejectedPredictionTokens=X?.completion_tokens_details?.rejected_prediction_tokens;H.enqueue({type:"finish",finishReason:c,usage:gWZ(X),providerMetadata:h})}})),request:{body:b},response:{headers:l}}}},xWZ,QZW,mZW,RZW=(I)=>V.union([mZW,I]),F3l,Q3l;var KWZ=g(()=>{cbZ();x0();hT();x0();hT();x0();hT();CI();CI();x0();hT();x0();OWZ=YZW(),sUI=V.object({user:V.string().optional(),reasoningEffort:V.string().optional(),textVerbosity:V.string().optional()}),NZW=V.object({error:V.object({message:V.string(),type:V.string().nullish(),param:V.any().nullish(),code:V.union([V.string(),V.number()]).nullish()})}),VZW={errorSchema:NZW,errorToMessage:(I)=>I.error.message};xWZ=V.object({prompt_tokens:V.number().nullish(),completion_tokens:V.number().nullish(),total_tokens:V.number().nullish(),prompt_tokens_details:V.object({cached_tokens:V.number().nullish()}).nullish(),completion_tokens_details:V.object({reasoning_tokens:V.number().nullish(),accepted_prediction_tokens:V.number().nullish(),rejected_prediction_tokens:V.number().nullish()}).nullish()}).nullish(),QZW=V.object({id:V.string().nullish(),created:V.number().nullish(),model:V.string().nullish(),choices:V.array(V.object({message:V.object({role:V.literal("assistant").nullish(),content:V.string().nullish(),reasoning_details:V.array(V.any()).nullish(),tool_calls:V.array(V.object({id:V.string().nullish(),function:V.object({name:V.string(),arguments:V.string()})})).nullish()}),finish_reason:V.string().nullish()})),usage:xWZ}),mZW=V.object({id:V.string().nullish(),created:V.number().nullish(),model:V.string().nullish(),choices:V.array(V.object({delta:V.object({role:V.enum(["assistant"]).nullish(),content:V.string().nullish(),reasoning_details:V.array(V.any()).nullish(),tool_calls:V.array(V.object({index:V.number(),id:V.string().nullish(),function:V.object({name:V.string().nullish(),arguments:V.string().nullish()})})).nullish()}).nullish(),finish_reason:V.string().nullish()})),usage:xWZ});F3l=MWZ(),Q3l=MWZ()});function aWZ(){let I,G,Z=new Promise((b,W)=>{I=b,G=W});return Z.catch(()=>{}),{promise:Z,resolve:I,reject:G}}function jWZ(I,G){let Z=I.toLowerCase(),b=!1;for(let W of G){if(Z===W)return"match";if(W.startsWith(Z))b=!0}return b?"partial":"fail"}class JT{state="OUTSIDE";buffer="";sawThinkingContent=!1;pendingThinking="";feed(I){let G="",Z="",b=!1,W=!1;for(let l of I){let Y=this.consume(l);if(G+=Y.visibleText,Z+=Y.thinkingText,Y.thinkingStarted)b=!0;if(Y.thinkingEnded)W=!0}return this.makeChunk(G,Z,b,W)}flush(){let I="",G="",Z=!1,b=!1;if(this.state==="MAYBE_OPEN")I+=this.buffer,this.buffer="",this.state="OUTSIDE";else if(this.state==="MAYBE_CLOSE"){let W=this.pendingThinking+this.buffer;if(this.sawThinkingContent)G+=W;else if(/\S/.test(W))Z=!0,G+=W,this.sawThinkingContent=!0;this.buffer="",this.pendingThinking="",this.state="INSIDE"}if(this.state==="INSIDE"&&this.sawThinkingContent)b=!0;return this.makeChunk(I,G,Z,b)}consume(I){let G="",Z="",b=!1,W=!1;switch(this.state){case"OUTSIDE":{if(I==="<")this.buffer="<",this.state="MAYBE_OPEN";else G+=I;break}case"MAYBE_OPEN":{this.buffer+=I;let l=jWZ(this.buffer,DWZ);if(l==="match")this.state="INSIDE",this.sawThinkingContent=!1,this.pendingThinking="",this.buffer="";else if(l==="fail"||this.buffer.length>HZW)G+=this.buffer,this.buffer="",this.state="OUTSIDE";break}case"INSIDE":{if(I==="<")this.buffer="<",this.state="MAYBE_CLOSE";else if(this.sawThinkingContent)Z+=I;else if(/\s/.test(I))this.pendingThinking+=I;else this.sawThinkingContent=!0,b=!0,Z+=this.pendingThinking+I,this.pendingThinking="";break}case"MAYBE_CLOSE":{this.buffer+=I;let l=jWZ(this.buffer,qWZ);if(l==="match"){if(this.sawThinkingContent)W=!0;this.buffer="",this.pendingThinking="",this.sawThinkingContent=!1,this.state="OUTSIDE"}else if(l==="fail"||this.buffer.length>hZW){if(this.sawThinkingContent)Z+=this.buffer;else if(this.buffer.search(/\S/)!==-1)this.sawThinkingContent=!0,b=!0,Z+=this.pendingThinking+this.buffer,this.pendingThinking="";else this.pendingThinking+=this.buffer;this.buffer="",this.state="INSIDE"}break}}return{visibleText:G,thinkingText:Z,thinkingStarted:b,thinkingEnded:W}}makeChunk(I,G,Z,b){let W={visibleText:I,thinkingText:G};if(Z)W.thinkingStarted=!0;if(b)W.thinkingEnded=!0;return W}}var DWZ,qWZ,HZW,hZW,oUI;var rUI=g(()=>{DWZ=["<think>","<thinking>"],qWZ=["</think>","</thinking>"],HZW=Math.max(...DWZ.map((I)=>I.length)),hZW=Math.max(...qWZ.map((I)=>I.length));oUI={id:"tag-pair",canHandle(I){if(I.chatTemplate){if(/<\|channel\|>analysis/.test(I.chatTemplate))return!1;if(/<think(ing)?>/i.test(I.chatTemplate))return!0}if(I.capabilities?.includes("thinking"))return!0;return!1},create(){return new JT}}});function tUI(I){for(let G of TWZ)if(G.canHandle(I))return G.create();if(I.chatTemplate&&/<\|channel\|>analysis/.test(I.chatTemplate))return null;return new JT}function _WI(I){return TWZ.some((G)=>G.canHandle(I))}var TWZ;var SWZ=g(()=>{rUI();TWZ=[oUI]});var eUI=g(()=>{SWZ();rUI()});function vT(I,G){let Z=uH(G,I.id);if(Z)return{id:I.id,displayName:I.displayName,contextWindow:Z.contextWindow,supportsTools:Z.supportsTools,isReasoningModel:Z.isReasoningModel,supportsVision:Z.supportsVision,supportsPdf:Z.supportsPdf,supportsTemperature:Z.supportsTemperature};let b=I.fallback;return{id:I.id,displayName:I.displayName,contextWindow:b?.contextWindow??vV,supportsTools:b?.supportsTools??!1,isReasoningModel:b?.isReasoningModel??!1,supportsVision:b?.supportsVision??!1,supportsPdf:b?.supportsPdf??!1,supportsTemperature:b?.supportsTemperature??!0}}function wZW(I){return I.replace(/\/v1\/?$/,"").replace(/\/$/,"")}async function JZW(I){try{let G=await fetch(`${wZW(I)}/props`,{method:"GET",headers:{"Content-Type":"application/json"}});if(!G.ok)return;return await G.json()}catch{return}}function vZW(I){if(!I)return;for(let[G,Z]of Object.entries(I))if(G.endsWith(".context_length")&&typeof Z==="number")return Z;return}async function EZW(I,G){try{let Z=await fetch(`${I}/show`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:G})});if(!Z.ok)return{};let b=await Z.json(),W={},l=vZW(b.model_info);if(l!==void 0)W.contextWindow=l;if(typeof b.template==="string")W.template=b.template;if(Array.isArray(b.capabilities))W.capabilities=b.capabilities;return W}catch{return{}}}function CZW(I){if(!I)return!1;return I.includes("tools")}function AZW(I){let G=I.details?.metadata;if(!G||typeof G!=="object")return!1;let Z=G.supports_tools??G.tool_use??G.function_calling;return typeof Z==="boolean"&&Z}function LZW(I,G,Z){if(I!==void 0)return CZW(I);if(G)return G.supportsTools;return AZW(Z)}async function pZW(I,G,Z){let W=I.models??[],l=5,Y=[];for(let N=0;N<W.length;N+=5){let c=W.slice(N,N+5),X=await Promise.all(c.map(async(d)=>{let F=await EZW(G,d.name),Q={id:d.name,displayName:d.name},m=uH(Z,d.name),R=LZW(F.capabilities,m,d),H;if(m)H=vT(Q,Z);else Q.fallback={contextWindow:F.contextWindow??vV,supportsTools:R,isReasoningModel:_WI({provider:"ollama",modelId:d.name,...F.template?{chatTemplate:F.template}:{},...F.capabilities?{capabilities:F.capabilities}:{}})},H=vT(Q,null);return{...H,supportsTools:R,...F.template?{chatTemplate:F.template}:{},...F.capabilities?{capabilities:F.capabilities}:{}}}));Y.push(...X)}return Y}async function zZW(I,G,Z){let W=I.data??[];if(W.length===0)throw Error("No models loaded. Start `llama-server` with `-m <path>.gguf` first.");let l=await JZW(G),Y=l?.default_generation_settings?.n_ctx,N=l?.chat_template_caps??{},c=N.supports_tools===!0&&N.supports_tool_calls===!0,X=l?.chat_template,d=_WI({provider:"llamacpp",modelId:"",...X?{chatTemplate:X}:{}});return W.map((F)=>{let Q={id:F.id,displayName:F.id},m=uH(Z,F.id);if(!m)Q.fallback={contextWindow:Y??vV,supportsTools:c,isReasoningModel:d};let R=vT(Q,m?Z:null);return X?{...R,chatTemplate:X}:R})}function nWZ(){return{fetchModels:(I,G,Z,b)=>w.tryPromise({try:async()=>{let W=`${G}${Z}`,l={"Content-Type":"application/json"};if(b)l.Authorization=`Bearer ${b}`;let Y=await qy();if(I==="ai_gateway"){let F=await FC.getAvailableModels(),Q=_WZ.ai_gateway;return Q(F.models).map((R)=>vT(R,Y))}let N=await fetch(W,{method:"GET",headers:l});if(!N.ok){if(N.status===404){if(I==="ollama")throw Error("Failed to fetch models: No models found. Pull a model using `ollama pull` first.")}throw Error(`Failed to fetch models: ${N.status} ${N.statusText}`)}let c=await N.json();if(I==="ollama")return pZW(c,G,Y);if(I==="llamacpp")return zZW(c,G,Y);let X=_WZ[I];if(!X)throw Error(`No list extractor found for provider: ${I}`);return X(c).map((F)=>vT(F,Y))},catch:(W)=>new mk({provider:I,message:`Model discovery failed: ${W instanceof Error?W.message:String(W)}`})})}}var yZW,_WZ;var PWZ=g(()=>{le();gI();ER();cN();yR();eUI();yZW=new Set(["tools","tool_choice","function_call","functions","response_format:json_schema"]);_WZ={openrouter:(I)=>{return(I.data??[]).map((Z)=>{let b=Z.supported_parameters??[],W=b.includes("reasoning")||b.includes("include_reasoning"),l=b.some((Y)=>yZW.has(Y));return{id:Z.id,displayName:Z.name,fallback:{contextWindow:Z.context_length??vV,supportsTools:l,isReasoningModel:W,supportsTemperature:b.includes("temperature")}}})},ai_gateway:(I)=>{return I.map((Z)=>({id:Z.id,displayName:Z.name,fallback:{contextWindow:vV,supportsTools:Z.tags?.includes("tool-use")??!1,isReasoningModel:Z.tags?.includes("reasoning")??!1}}))},groq:(I)=>{return I.data.map((Z)=>({id:Z.id,displayName:`${Z.owned_by.toLowerCase()}/${Z.id.toLowerCase()}`}))},fireworks:(I)=>{return(I.models??[]).filter((Z)=>Z.state==="READY"&&Z.conversationConfig&&Z.supportsServerless).map((Z)=>({id:Z.name,displayName:Z.displayName??Z.name,fallback:{contextWindow:Z.contextLength??vV,supportsTools:Z.supportsTools??!1,supportsVision:Z.supportsImageInput??!1}}))},cerebras:(I)=>{return I.data.map((Z)=>({id:Z.id,displayName:Z.id}))},togetherai:(I)=>{return I.filter((Z)=>Z.type==="chat").map((Z)=>({id:Z.id,displayName:Z.display_name??Z.id,fallback:{contextWindow:Z.context_length??vV}}))}}});function gZW(I){let G=I.replace(/\/+$/,"");if(G.length===0)return G;return/\/api$/.test(G)?G:`${G}/api`}function nWI(I,G){let Z=G?.[I]?.base_url,b=I==="llamacpp"?"LLAMACPP_BASE_URL":"OLLAMA_BASE_URL",W=process.env[b],l=IBI[I],Y=l.type==="dynamic"?l.defaultBaseUrl:void 0,N;if(Z&&Z.length>0)N=Z;else if(W&&W.length>0)N=W;else N=Y??"";return I==="ollama"?gZW(N):N}var kZW="http://localhost:11434/api",uZW="http://localhost:8080/v1",IBI;var $WZ=g(()=>{ER();IBI={anthropic:{type:"static",models:Qd.anthropic},openai:{type:"static",models:Qd.openai},google:{type:"static",models:Qd.google},xai:{type:"static",models:Qd.xai},openrouter:{type:"dynamic",endpointPath:"/api/v1/models",defaultBaseUrl:"https://openrouter.ai"},ai_gateway:{type:"dynamic",endpointPath:""},alibaba:{type:"static",models:Qd.alibaba},cerebras:{type:"dynamic",endpointPath:"/v1/models",defaultBaseUrl:"https://api.cerebras.ai"},deepseek:{type:"static",models:Qd.deepseek},fireworks:{type:"dynamic",endpointPath:"/v1/accounts/fireworks/models?pageSize=200",defaultBaseUrl:"https://api.fireworks.ai"},groq:{type:"dynamic",endpointPath:"/models",defaultBaseUrl:"https://api.groq.com/openai/v1"},minimax:{type:"static",models:Qd.minimax},mistral:{type:"static",models:Qd.mistral},moonshotai:{type:"static",models:Qd.moonshotai},ollama:{type:"dynamic",endpointPath:"/tags",defaultBaseUrl:kZW},llamacpp:{type:"dynamic",endpointPath:"/models",defaultBaseUrl:uZW},togetherai:{type:"dynamic",endpointPath:"/v1/models",defaultBaseUrl:"https://api.together.xyz"}}});function UZW(){return{accumulatedText:"",textSequence:0,hasStartedText:!1,reasoningSequence:0,reasoningTokens:void 0,reasoningStreamCompleted:!1,accumulatedReasoning:"",collectedToolCalls:[],pendingNativeToolCalls:new Map,firstTokenTime:null,firstTextTime:null,firstReasoningTime:null,finishEventReceived:!1,finishReason:void 0,cancelled:!1}}class GBI{config;emit;logger;state;completionResolver=null;completionPromise;constructor(I,G,Z){this.config=I;this.emit=G;this.logger=Z;this.state=UZW(),this.completionPromise=new Promise((b)=>{this.completionResolver=b})}cancel(){this.state.cancelled=!0}get completion(){return this.completionPromise}async process(I){this.emitEvent({type:"stream_start",provider:this.config.providerName,model:this.config.modelName,timestamp:this.config.startTime}),this.logger.debug("[LLM Timing] \uD83D\uDD04 Starting to process fullStream...");let G=Date.now();if(await this.processFullStream(I),this.config.reasoningParser)this.routeParsedChunk(this.config.reasoningParser.flush());if(this.logger.debug(`[LLM Timing] ✓ Stream processing completed in ${Date.now()-G}ms`),await this.completionPromise,!this.state.finishEventReceived&&!this.state.cancelled)throw Error("Stream completed without finish event");let Z=await this.buildFinalResponse(I);return this.emitCompleteEvent(Z),Z}async processFullStream(I){try{for await(let G of I.fullStream){if(this.state.finishEventReceived)break;switch(G.type){case"text-delta":{if(this.state.reasoningSequence>0&&!this.state.reasoningStreamCompleted)this.state.reasoningStreamCompleted=!0,this.emitEvent({type:"thinking_complete",...this.state.reasoningTokens!==void 0&&{totalTokens:this.state.reasoningTokens}}),this.state.reasoningSequence=0,this.state.reasoningStreamCompleted=!1;let Z;if(typeof G.text==="string")Z=G.text;else if(Array.isArray(G.text))Z=G.text.map((W)=>{if(typeof W==="object"&&W!==null){let l=W;if(l.type==="text"&&"text"in l)return String(l.text);if(l.type==="reference")return""}return typeof W==="string"?W:""}).join("");else Z=String(G.text??"");if(Z.length===0)break;if(this.config.reasoningParser)this.routeParsedChunk(this.config.reasoningParser.feed(Z));else this.emitVisibleText(Z);break}case"reasoning-start":{if(this.state.reasoningSequence===0){let Z=Date.now()-this.config.startTime;this.logger.debug(`[LLM Timing] \uD83E\uDDE0 REASONING START arrived after ${Z}ms`),this.emitEvent({type:"thinking_start",provider:this.config.providerName}),this.recordFirstToken("reasoning")}break}case"reasoning-delta":{let Z=G.text;if(Z&&Z.length>0){if(this.state.accumulatedReasoning+=Z,this.state.reasoningSequence===0){let b=Date.now()-this.config.startTime;this.logger.debug(`[LLM Timing] \uD83E\uDDE0 FIRST REASONING TOKEN arrived after ${b}ms`),this.emitEvent({type:"thinking_start",provider:this.config.providerName}),this.recordFirstToken("reasoning")}this.emitEvent({type:"thinking_chunk",content:Z,sequence:this.state.reasoningSequence++})}break}case"reasoning-end":{let Z="totalUsage"in G?G.totalUsage:void 0,b="usage"in G?G.usage:void 0,W=Z&&typeof Z==="object"&&"reasoningTokens"in Z?Z.reasoningTokens:b&&typeof b==="object"&&("reasoningTokens"in b)?b.reasoningTokens:void 0;if(W!==void 0)this.state.reasoningTokens=W;if(this.state.reasoningSequence>0&&!this.state.reasoningStreamCompleted)this.state.reasoningStreamCompleted=!0,this.emitEvent({type:"thinking_complete",...this.state.reasoningTokens!==void 0&&{totalTokens:this.state.reasoningTokens}}),this.state.reasoningSequence=0,this.state.reasoningStreamCompleted=!1;break}case"tool-call":{let Z=this.config.providerNativeToolNames?.has(G.toolName)??!1,b={id:G.toolCallId,type:"function",function:{name:G.toolName,arguments:JSON.stringify(G.input)}};if("providerMetadata"in G&&G.providerMetadata){let W=G.providerMetadata;if(W?.google?.thoughtSignature)b.thought_signature=W.google.thoughtSignature}if(Z)this.state.pendingNativeToolCalls.set(b.id,{toolCall:b,sequence:this.state.textSequence++});else this.emitEvent({type:"tool_call",toolCall:b,sequence:this.state.textSequence++}),this.state.collectedToolCalls.push(b);break}case"tool-result":{let Z=this.state.pendingNativeToolCalls.get(G.toolCallId);if(!Z)break;this.state.pendingNativeToolCalls.delete(G.toolCallId);let W=G.output?.action;if(W?.type==="search"&&typeof W.query==="string")Z.toolCall.function.arguments=JSON.stringify({query:W.query});this.emitEvent({type:"tool_call",toolCall:Z.toolCall,sequence:Z.sequence,providerNative:!0});break}case"finish":{for(let[b,W]of this.state.pendingNativeToolCalls)this.emitEvent({type:"tool_call",toolCall:W.toolCall,sequence:W.sequence,providerNative:!0}),this.state.pendingNativeToolCalls.delete(b);let Z=G.finishReason||"unknown";if(this.state.finishEventReceived=!0,this.state.finishReason=Z,Z==="error")throw Error(`Unexpected error during stream processing: ${JSON.stringify(G)}`);if(Z!=="stop"&&Z!=="length"&&Z!=="tool-calls")this.logger.warn(`[StreamProcessor] Unexpected finish reason: ${Z}`);break}case"error":throw G.error}}}catch(G){if(G instanceof Error&&G.name==="AI_TypeValidationError")throw this.logger.warn(`[StreamProcessor] AI SDK validation error (likely due to provider-specific content format): ${G.message}`,{provider:this.config.providerName,model:this.config.modelName,errorName:G.name}),G;throw G}finally{this.resolveCompletion()}}emitVisibleText(I){if(!this.state.hasStartedText){let G=Date.now()-this.config.startTime;this.logger.debug(`[LLM Timing] \uD83C\uDFAF FIRST TOKEN arrived after ${G}ms`),this.emitEvent({type:"text_start"}),this.state.hasStartedText=!0,this.recordFirstToken("text")}this.state.accumulatedText+=I,this.emitEvent({type:"text_chunk",delta:I,accumulated:this.state.accumulatedText,sequence:this.state.textSequence++})}routeParsedChunk(I){if(I.thinkingStarted&&this.state.reasoningSequence===0){let G=Date.now()-this.config.startTime;this.logger.debug(`[LLM Timing] \uD83E\uDDE0 PARSER REASONING START after ${G}ms`),this.emitEvent({type:"thinking_start",provider:this.config.providerName}),this.recordFirstToken("reasoning")}if(I.thinkingText.length>0)this.state.accumulatedReasoning+=I.thinkingText,this.emitEvent({type:"thinking_chunk",content:I.thinkingText,sequence:this.state.reasoningSequence++});if(I.thinkingEnded&&this.state.reasoningSequence>0&&!this.state.reasoningStreamCompleted)this.state.reasoningStreamCompleted=!0,this.emitEvent({type:"thinking_complete",...this.state.reasoningTokens!==void 0&&{totalTokens:this.state.reasoningTokens}}),this.state.reasoningSequence=0,this.state.reasoningStreamCompleted=!1;if(I.visibleText.length>0)this.emitVisibleText(I.visibleText)}async buildFinalResponse(I){let G=this.state.accumulatedText,Z=this.state.collectedToolCalls.length>0?this.state.collectedToolCalls:void 0,b;try{let l=await Promise.race([I.usage,new Promise((Y)=>setTimeout(()=>Y(void 0),50))]);if(l)b={promptTokens:l.inputTokens??0,completionTokens:l.outputTokens??0,totalTokens:l.totalTokens??0,...this.state.reasoningTokens!==void 0&&{reasoningTokens:this.state.reasoningTokens},...l.outputTokenDetails?.reasoningTokens!=null&&this.state.reasoningTokens===void 0&&{reasoningTokens:l.outputTokenDetails.reasoningTokens},...l.inputTokenDetails?.cacheReadTokens!=null&&{cacheReadTokens:l.inputTokenDetails.cacheReadTokens},...l.inputTokenDetails?.cacheWriteTokens!=null&&{cacheWriteTokens:l.inputTokenDetails.cacheWriteTokens}},this.emitEvent({type:"usage_update",usage:b})}catch{}let W=this.state.accumulatedReasoning;return{id:"",model:this.config.modelName,content:G,...W.length>0&&{reasoning:W},...Z&&{toolCalls:Z},...b&&{usage:b},...this.config.toolsDisabled?{toolsDisabled:!0}:{},...this.config.toolDefinitionChars!=null?{toolDefinitionChars:this.config.toolDefinitionChars}:{},...this.config.toolDefinitionCount!=null?{toolDefinitionCount:this.config.toolDefinitionCount}:{}}}emitCompleteEvent(I){let Z=Date.now()-this.config.startTime,b;if(this.state.firstTokenTime){if(b={firstTokenLatencyMs:this.state.firstTokenTime-this.config.startTime},this.state.firstTextTime)b.firstTextLatencyMs=this.state.firstTextTime-this.config.startTime;if(this.state.firstReasoningTime)b.firstReasoningLatencyMs=this.state.firstReasoningTime-this.config.startTime;if(I.usage?.totalTokens)b.tokensPerSecond=I.usage.totalTokens/Z*1000,b.totalTokens=I.usage.totalTokens}this.emitEvent({type:"complete",response:I,totalDurationMs:Z,...b&&{metrics:b}})}recordFirstToken(I){let G=Date.now();if(!this.state.firstTokenTime)this.state.firstTokenTime=G;if(I==="text"&&!this.state.firstTextTime)this.state.firstTextTime=G;else if(I==="reasoning"&&!this.state.firstReasoningTime)this.state.firstReasoningTime=G}resolveCompletion(){if(this.completionResolver)this.completionResolver(),this.completionResolver=null}emitEvent(I){this.emit(w.succeed(oW.of(I)))}close(){this.emit(w.fail(KI.none()))}}var iWZ=g(()=>{gI()});function OZW(I){let G=I;for(let Z of BZW){let b=G[Z];if(b!=null&&typeof b.then==="function")Promise.resolve(b).catch(()=>{})}}function fWZ(I,G){if(!G||Object.keys(G).length===0)return I;let Z={...I??{}};for(let[b,W]of Object.entries(G)){if(typeof W!=="string"||W.length===0)continue;let l=Z[b]&&typeof Z[b]==="object"?Z[b]:{};Z[b]={...l,api_key:W}}return Z}function xZW(I){let G=W3(I);return KI.match(G,{onNone:()=>({}),onSome:(Z)=>Z&&typeof Z==="object"?Z:{}})}function MZW(I){if(!I)return;if(I==="auto"||I==="none")return I;return{type:"tool",toolName:I.function.name}}function sWZ(I,G,Z){if(!G||G.length===0||!I)return{tools:void 0,toolChoice:void 0,toolsDisabled:!!G&&G.length>0&&!I};return{tools:G,toolChoice:MZW(Z),toolsDisabled:!1}}function oWZ(I,G){return I.map((b)=>{let W=b.role,l=a9I(b.content);if(W==="system"){let Y={role:"system",content:l},N=G?.toLowerCase();if(N==="anthropic"||N==="ai_gateway")Y.providerOptions={anthropic:{cacheControl:{type:"ephemeral"}}};else if(N==="openai")Y.providerOptions={openai:{promptCacheKey:"system-prompt"}};else if(N==="openrouter")Y.providerOptions={openrouter:{cacheControl:{type:"ephemeral"}}};return Y}if(W==="user")return{role:"user",content:l};if(W==="assistant"){let Y=[];if(l&&l.length>0)Y.push({type:"text",text:l});if(b.tool_calls&&b.tool_calls.length>0)for(let N of b.tool_calls){let c=a9I(N.function.arguments),X={type:"tool-call",toolCallId:N.id,toolName:N.function.name,input:xZW(c)};if(N.thought_signature)X.providerOptions={google:{thoughtSignature:N.thought_signature}};Y.push(X)}return{role:"assistant",content:Y}}if(W==="tool"){let Y=[];return Y.push({type:"tool-result",toolCallId:b.tool_call_id??"",toolName:b.name??"tool",output:{type:"text",value:l}}),{role:"tool",content:Y}}throw Error(`Unsupported message role: ${String(W)}`)})}function GlZ(I,G){let Z=I.toLowerCase();try{switch(Z){case"openai":{let b=igI;if(typeof b.tools?.webSearch==="function")return b.tools.webSearch({externalWebAccess:!0,searchContextSize:"high"});return null}case"anthropic":{let b=JgI;if(typeof b.tools?.webSearch_20250305==="function")return b.tools.webSearch_20250305({maxUses:5});return null}case"google":{let b=BgI;if(typeof b.tools?.googleSearch==="function")return b.tools.googleSearch({});return null}case"xai":return null;case"groq":{let b=xgI;if(typeof b.tools?.browserSearch==="function")return b.tools.browserSearch({});return null}case"openrouter":{if(typeof JUI.tools?.webSearch==="function")return JUI.tools.webSearch({});return null}default:return null}}catch(b){if(G)G.warn(`[Web Search Error] Failed to get native web search tool for ${I}: ${b instanceof Error?b.message:String(b)}`);return null}}function aZW(I){if(I.toLowerCase()==="openrouter")return KZW({});return null}function jZW(I,G){if(I.toLowerCase()==="xai")return!0;return GlZ(I,G)!==null}function blZ(I){let G=[],Z=new Set;if(I){if(I.ai_gateway?.api_key)G.push({name:"ai_gateway",displayName:"ai gateway",apiKey:I.ai_gateway.api_key}),Z.add("ai_gateway");if(I.alibaba?.api_key)G.push({name:"alibaba",apiKey:I.alibaba.api_key}),Z.add("alibaba");if(I.anthropic?.api_key)G.push({name:"anthropic",apiKey:I.anthropic.api_key}),Z.add("anthropic");if(I.cerebras?.api_key)G.push({name:"cerebras",apiKey:I.cerebras.api_key}),Z.add("cerebras");if(I.deepseek?.api_key)G.push({name:"deepseek",apiKey:I.deepseek.api_key}),Z.add("deepseek");if(I.fireworks?.api_key)G.push({name:"fireworks",apiKey:I.fireworks.api_key}),Z.add("fireworks");if(I.google?.api_key)G.push({name:"google",apiKey:I.google.api_key}),Z.add("google");if(I.groq?.api_key)G.push({name:"groq",apiKey:I.groq.api_key}),Z.add("groq");if(I.minimax?.api_key)G.push({name:"minimax",apiKey:I.minimax.api_key}),Z.add("minimax");if(I.mistral?.api_key)G.push({name:"mistral",apiKey:I.mistral.api_key}),Z.add("mistral");if(I.moonshotai?.api_key)G.push({name:"moonshotai",apiKey:I.moonshotai.api_key}),Z.add("moonshotai");if(I.openai?.api_key)G.push({name:"openai",apiKey:I.openai.api_key}),Z.add("openai");if(I.openrouter?.api_key)G.push({name:"openrouter",apiKey:I.openrouter.api_key}),Z.add("openrouter");if(I.togetherai?.api_key)G.push({name:"togetherai",apiKey:I.togetherai.api_key}),Z.add("togetherai");if(I.xai?.api_key)G.push({name:"xai",apiKey:I.xai.api_key}),Z.add("xai")}for(let[b,W]of Object.entries(ZlZ))if(!Z.has(b)){let l=process.env[W];if(l)G.push({name:b,apiKey:l}),Z.add(b)}if(!Z.has("ollama"))G.push({name:"ollama",apiKey:I?.ollama?.api_key??""});if(!Z.has("llamacpp"))G.push({name:"llamacpp",apiKey:I?.llamacpp?.api_key??""});return G}function tWZ(I,G,Z,b){let W=`${I}:${G}:${DZW(I,Z)}`;if(b?.has(W))return b.get(W);let l,Y=(N)=>{let c=ZlZ[N];return Z?.[N]?.api_key??(c?process.env[c]:void 0)};switch(I.toLowerCase()){case"openai":{let N=Y("openai");l=N?$gI({apiKey:N})(G):igI(G);break}case"anthropic":{let N=Y("anthropic");l=N?wgI({apiKey:N})(G):JgI(G);break}case"google":{let N=Y("google");l=N?UgI({apiKey:N})(G):BgI(G);break}case"mistral":{let N=Y("mistral");l=N?KgI({apiKey:N})(G):etG(G);break}case"xai":{let N=Y("xai");l=N?GUI({apiKey:N})(G):xeG(G);break}case"deepseek":{let N=Y("deepseek");l=N?ygI({apiKey:N})(G):frG(G);break}case"moonshotai":{let N=Y("moonshotai");l=N?agI({apiKey:N})(G):ZeG(G);break}case"minimax":l=OWZ(G);break;case"alibaba":{let N=Y("alibaba");l=N?QgI({apiKey:N})(G):YrG(G);break}case"cerebras":{let N=Y("cerebras");l=N?EgI({apiKey:N})(G):TrG(G);break}case"fireworks":{let N=Y("fireworks");l=N?AgI({apiKey:N})(G):erG(G);break}case"togetherai":{let N=Y("togetherai");l=N?fgI({apiKey:N})(G):ueG(G);break}case"ollama":{let N=Z?.ollama?.api_key?{Authorization:`Bearer ${Z.ollama.api_key}`}:{},c=nWI("ollama",Z);l=yUI({baseURL:c,headers:N})(G);break}case"llamacpp":{let N=Z?.llamacpp?.api_key,c=nWI("llamacpp",Z),X=N?{Authorization:`Bearer ${N}`}:void 0;l=DrG({name:"llamacpp",baseURL:c,...X?{headers:X}:{}})(G);break}case"openrouter":{let N=Z?.openrouter?.api_key,X={...N?{apiKey:N}:{},compatibility:"strict",headers:{"HTTP-Referer":"https://github.com/lvndry/jazz","X-Title":"Jazz CLI"}};l=wUI(X)(G);break}case"ai_gateway":{l=FC(G);break}case"groq":{l=xgI(G);break}default:throw Error(`Unsupported provider: ${I}`)}return b?.set(W,l),l}function DZW(I,G){if(!G)return"";switch(I){case"ollama":{let Z=G.ollama;return`${Z?.api_key??""}|${Z?.base_url??""}`}case"llamacpp":{let Z=G.llamacpp;return`${Z?.api_key??""}|${Z?.base_url??""}`}default:return G[I]?.api_key??""}}function eWZ(I,G,Z){switch(I.toLowerCase()){case"openai":{let W=G.reasoning_effort;if(W&&W!=="disable")return{openai:{reasoningEffort:W,reasoningSummary:"auto",systemMessageMode:"system",promptCacheKey:"conversation"}};break}case"anthropic":{let W=G.reasoning_effort;if(W&&W!=="disable")return{anthropic:{thinking:{type:"enabled"}}};break}case"google":{let W=G.reasoning_effort;if(W&&W!=="disable"){let l=G.model.includes("gemini-3")?W:void 0;return{google:{thinkingConfig:{includeThoughts:!0,...l?{thinkingLevel:l}:{}}}}}break}case"xai":{let W={},l=G.reasoning_effort;if(l&&l!=="disable")W.reasoningEffort=l==="medium"?"low":l;let Y=G.tools?.some((X)=>X.function.name==="web_search"),N=Z?.provider,c=N?!!Z?.[N]?.api_key:!1;if(Y&&!N&&!c)W.searchParameters={mode:"auto",returnCitations:!0,sources:[{type:"web"},{type:"news"}]};if(Object.keys(W).length>0)return{xai:W};break}case"ollama":{if(G.reasoning_effort&&G.reasoning_effort!=="disable")return{ollama:{think:!0}};return{ollama:{think:!1}}}case"openrouter":{let W=G.reasoning_effort;if(W&&W!=="disable")return{openrouter:{reasoning:{enabled:!0,effort:{low:"low",medium:"medium",high:"high"}[W]??"medium"}}};break}case"moonshotai":{let W=G.reasoning_effort;if(W&&W!=="disable")return{moonshotai:{thinking:{type:"enabled",budgetTokens:{low:1024,medium:4096,high:16384}[W]??4096},reasoningHistory:"interleaved"}};break}case"alibaba":{let W=G.reasoning_effort;if(W&&W!=="disable")return{alibaba:{enableThinking:!0,thinkingBudget:{low:1024,medium:4096,high:16384}[W]??4096}};break}case"cerebras":{let W=G.reasoning_effort;if(W&&W!=="disable")return{cerebras:{reasoningEffort:W}};break}case"fireworks":{let W=G.reasoning_effort;if(W&&W!=="disable")return{fireworks:{thinking:{type:"enabled",budgetTokens:{low:1024,medium:4096,high:16384}[W]??4096},reasoningHistory:"interleaved"}};break}default:break}return}class WlZ{logger;config;providerModels=IBI;modelFetcher;configService;lastSeenConfigRevision=-1;modelCache=new Map;modelInfoCache=new Map;constructor(I,G,Z){this.logger=Z;this.config=I,this.configService=G,this.modelFetcher=nWZ()}isProviderName(I){return Object.hasOwn(this.providerModels,I)}async refreshRuntimeConfigIfChanged(){let I=w.runSync(this.configService.revision);if(I===this.lastSeenConfigRevision)return;let G=await w.runPromise(this.configService.appConfig),Z=JSON.stringify(G.llm??{})!==JSON.stringify(this.config.llmConfig??{});if(this.config={...G.llm?{llmConfig:G.llm}:{},...G.web_search?{webSearchConfig:G.web_search}:{}},this.lastSeenConfigRevision=I,Z)this.modelCache.clear()}getProviderModels(I){let G=this.modelInfoCache.get(I);if(G)return w.succeed(G);let Z=this.providerModels[I];if(Z.type==="static")return w.tryPromise({try:async()=>{let Y=await qy(),N=Z.models.map((c)=>{let X=uH(Y,c.id,I);return{id:c.id,displayName:c.displayName??c.id,contextWindow:X?.contextWindow??vV,supportsTools:X?.supportsTools??!1,isReasoningModel:X?.isReasoningModel??!1,supportsVision:X?.supportsVision??!1,supportsPdf:X?.supportsPdf??!1,supportsTemperature:X?.supportsTemperature??!0}});return this.modelInfoCache.set(I,N),N},catch:(Y)=>new mk({provider:I,message:`Failed to resolve static models from models.dev: ${Y instanceof Error?Y.message:String(Y)}`})});let b=this.config.llmConfig?.[I],W=I==="ollama"||I==="llamacpp"?nWI(I,this.config.llmConfig):Z.defaultBaseUrl;if(!W)return this.logger.warn(`[LLM Warning] Provider '${I}' requires dynamic model fetching but no defaultBaseUrl is defined. Skipping provider.`),w.succeed([]);let l=b?.api_key;return this.modelFetcher.fetchModels(I,W,Z.endpointPath,l).pipe(w.tap((Y)=>w.sync(()=>{this.modelInfoCache.set(I,Y)})))}async resolveModelInfo(I,G){return(await w.runPromise(this.getProviderModels(I).pipe(w.catchAll(()=>w.succeed([]))))).find((b)=>b.id===G)}getProvider=(I)=>{return this.getProviderModels(I).pipe(w.map((G)=>{return{name:I,supportedModels:G.map((b)=>b),defaultModel:G[0]?.id??"",authenticate:()=>{let W=this.config.llmConfig?.[I]?.api_key;if(!W){let l=I.toLowerCase();if(l==="ollama"||l==="llamacpp")return w.succeed(void 0);return w.fail(new yQ({provider:I,message:"API key not configured"}))}return w.succeed(W)}}}))};listProviders(){let I=blZ(this.config.llmConfig),G=new Set(I.map((b)=>b.name)),Z=Object.keys(this.providerModels).filter((b)=>this.isProviderName(b)).map((b)=>({name:b,displayName:CV(b),configured:G.has(b)}));return w.succeed(Z)}prepareTools(I,G){if(!G||G.length===0)return;let Z=Date.now(),b={},W=new Set;for(let c of G)b[c.function.name]=VC({description:c.function.description,inputSchema:c.function.parameters});if(G.some((c)=>c.function.name==="web_search")){let c=GlZ(I,this.logger),X=this.config.webSearchConfig?.provider,d=X?!!this.config.webSearchConfig?.[X]?.api_key:!1,F=I.toLowerCase()==="xai"&&!X&&!d;if(F)this.logger.debug(`[Web Search] Using xAI Live Search (searchParameters) for ${I}`),delete b.web_search,W.add("web_search");let Q=!X&&c,m=X&&d;if(!F&&Q)this.logger.debug(`[Web Search] Using provider-native web search tool for ${I} (builtin selected, no external provider configured)`),b.web_search=c,W.add("web_search");else if(m)this.logger.debug(`[Web Search] Using Jazz web_search tool with external provider: ${X}`);else if(!F&&!c&&!m)this.logger.debug(`[Web Search] web_search tool available but may fail: provider ${I} has no native support and no external provider configured`)}if(G.some((c)=>c.function.name==="web_fetch")){let c=aZW(I);if(c)this.logger.debug(`[Web Fetch] Using provider-native web fetch tool for ${I}`),b.web_fetch=c,W.add("web_fetch")}let N=0;for(let c of G)N+=c.function.name.length+c.function.description.length+JSON.stringify(c.function.parameters).length;return this.logger.debug(`[Tool Telemetry] ${Object.keys(b).length} tools, ~${N} chars (~${Math.ceil(N/4)} tokens est.) sent to ${I}`),this.logger.debug(`[LLM Timing] Tool conversion (${Object.keys(b).length} tools) took ${Date.now()-Z}ms`),{tools:b,providerNativeToolNames:W,toolDefinitionChars:N}}createChatCompletion(I,G){return w.tryPromise({try:async()=>{await this.refreshRuntimeConfigIfChanged();let Z=fWZ(this.config.llmConfig,G.providerApiKeys),b=Date.now();this.logger.debug(`[LLM Timing] Starting non-streaming completion for ${I}:${G.model}`);let W=Date.now(),l=tWZ(I,G.model,Z,this.modelCache);this.logger.debug(`[LLM Timing] Model selection took ${Date.now()-W}ms`);let Y=await this.resolveModelInfo(I,G.model),c=rWZ.has(G.model)||(Y?.supportsTools??!1),{tools:X,toolChoice:d,toolsDisabled:F}=sWZ(c,G.tools,G.toolChoice),Q=this.prepareTools(I,X),m=Q?.tools,R=Q?.providerNativeToolNames??new Set,H=eWZ(I,G,this.config.webSearchConfig),h=Date.now(),E=oWZ(G.messages,I);this.logger.debug(`[LLM Timing] Message conversion (${G.messages.length} messages) took ${Date.now()-h}ms`);let C=Date.now();this.logger.debug("[LLM Timing] Calling generateText...");let J=await lEG({model:l,messages:E,allowSystemInMessages:!0,maxRetries:QHI,...typeof G.temperature==="number"&&Y?.supportsTemperature!==!1?{temperature:G.temperature}:{},...m?{tools:m}:{},...d?{toolChoice:d}:{},...H?{providerOptions:H}:{},stopWhen:bD(gy)});if(this.logger.debug(`[LLM Timing] generateText completed in ${Date.now()-C}ms`),this.logger.info(`[LLM Timing] Total completion time: ${Date.now()-b}ms`),F)this.logger.info(`Tools were provided but skipped because ${G.model} does not support tools`);let y=G.model,v=J.text??"",A=void 0,u=void 0;if(J.usage){let z=J.usage;u={promptTokens:z.inputTokens??0,completionTokens:z.outputTokens??0,totalTokens:z.totalTokens??0,...z.outputTokenDetails?.reasoningTokens!=null&&{reasoningTokens:z.outputTokenDetails.reasoningTokens},...z.inputTokenDetails?.cacheReadTokens!=null&&{cacheReadTokens:z.inputTokenDetails.cacheReadTokens},...z.inputTokenDetails?.cacheWriteTokens!=null&&{cacheWriteTokens:z.inputTokenDetails.cacheWriteTokens}}}if(J.toolCalls&&J.toolCalls.length>0){for(let O of J.toolCalls)if(R.has(O.toolName))this.logger.info(`Provider-native tool used: ${O.toolName}`,{provider:I,toolName:O.toolName});let z=J.toolCalls.filter((O)=>!R.has(O.toolName));if(z.length>0)A=z.map((O)=>{let U={id:O.toolCallId,type:"function",function:{name:O.toolName,arguments:JSON.stringify(O.input??{})}};if("providerMetadata"in O&&O.providerMetadata){let x=O.providerMetadata;if(x?.google?.thoughtSignature)U.thought_signature=x.google.thoughtSignature}return U})}return{id:IlZ.default.generate(),model:y,content:v,...A?{toolCalls:A}:{},...u?{usage:u}:{},...F?{toolsDisabled:F}:{},...Q?{toolDefinitionChars:Q.toolDefinitionChars,toolDefinitionCount:Object.keys(Q.tools).length}:{}}},catch:(Z)=>{let b=lD(Z,I),W=WD(Z);this.logger.error(`LLM Error: ${b._tag} - ${W}`);let l={provider:I,errorType:b._tag,message:b.message};if(Z instanceof Error){let N=Z;if(N.code)l.code=N.code;if(N.status)l.status=N.status;if(N.statusCode)l.statusCode=N.statusCode;if(N.type)l.type=N.type}let Y=D9I(Z);if(Y)l.requestBodyValues=Y;return this.logger.debug("LLM Error Details",l),b}})}supportsNativeWebSearch=(I)=>{return w.succeed(jZW(I,this.logger))};createStreamingChatCompletion(I,G){return w.tryPromise({try:async()=>{await this.refreshRuntimeConfigIfChanged();let Z=fWZ(this.config.llmConfig,G.providerApiKeys),b=Date.now();this.logger.debug(`[LLM Timing] ⏱️ Starting streaming completion for ${I}:${G.model}`);let W=Date.now(),l=tWZ(I,G.model,Z,this.modelCache);this.logger.debug(`[LLM Timing] Model selection took ${Date.now()-W}ms`);let Y=eWZ(I,G,this.config.webSearchConfig),N=Date.now(),c=oWZ(G.messages,I);return this.logger.debug(`[LLM Timing] Message conversion (${G.messages.length} messages) took ${Date.now()-N}ms`),{timingStart:b,model:l,providerOptions:Y,coreMessages:c}},catch:(Z)=>lD(Z,I)}).pipe(w.flatMap(({timingStart:Z,model:b,providerOptions:W,coreMessages:l})=>{let Y=new AbortController,N=aWZ(),c=null,X=sh.async((d)=>{(async()=>{let F;try{let Q=Date.now();this.logger.debug(`[LLM Timing] \uD83D\uDE80 Calling streamText at +${Q-Z}ms...`);let m=await this.resolveModelInfo(I,G.model),R=tUI({provider:I,modelId:G.model,...m?.chatTemplate?{chatTemplate:m.chatTemplate}:{},...m?.capabilities?{capabilities:m.capabilities}:{}}),h=rWZ.has(G.model)||(m?.supportsTools??!1),{tools:E,toolChoice:C,toolsDisabled:J}=sWZ(h,G.tools,G.toolChoice),y=this.prepareTools(I,E),v=y?.tools;if(J)this.logger.info(`Tools were provided but skipped because ${G.model} does not support tools`);F=cEG({model:b,messages:l,allowSystemInMessages:!0,maxRetries:QHI,...typeof G.temperature==="number"&&m?.supportsTemperature!==!1?{temperature:G.temperature}:{},...v?{tools:v}:{},...C?{toolChoice:C}:{},...W?{providerOptions:W}:{},abortSignal:Y.signal,stopWhen:bD(gy)});let A=F;this.logger.debug(`[LLM Timing] ✓ streamText returned (initialization) in ${Date.now()-Q}ms`);let u=y?.providerNativeToolNames,L=new GBI({providerName:I,modelName:G.model,hasReasoningEnabled:!!(G.reasoning_effort&&G.reasoning_effort!=="disable"),startTime:Date.now(),toolsDisabled:J,...u&&{providerNativeToolNames:u},...R?{reasoningParser:R}:{},...y?{toolDefinitionChars:y.toolDefinitionChars,toolDefinitionCount:Object.keys(y.tools).length}:{}},d,this.logger);c=L;let z=await L.process(A);N.resolve(z),L.close()}catch(Q){if(F)OZW(F);let m=lD(Q,I),R={provider:I,errorType:m._tag,message:m.message};if(Q instanceof Error){let E=Q;if(E.code)R.code=E.code;if(E.status)R.status=E.status;if(E.statusCode)R.statusCode=E.statusCode;if(E.type)R.type=E.type;if(typeof Q==="object"&&Q!==null)try{let C=Q;if(C.param)R.param=C.param}catch{}}let H=D9I(Q,5);if(H)R.requestBodyValues=H;let h=WD(Q);this.logger.error(`LLM Error: ${m._tag} - ${h}`),this.logger.debug("LLM Error Details",R),d(w.fail(KI.some(m))),N.reject(m)}finally{if(c&&!Y.signal.aborted)c.cancel()}})()});return w.succeed({stream:X,response:w.tryPromise({try:()=>N.promise,catch:(d)=>lD(d,I)}),cancel:w.sync(()=>{if(c)c.cancel();Y.abort()})})}))}}function llZ(){return AG.effect(Fd,w.gen(function*(){let I=yield*YZ,G=yield*MG,Z=yield*I.appConfig;if(blZ(Z.llm).length===0)return yield*w.fail(new mk({provider:"unknown",message:"No LLM API keys configured. Set config.llm.<provider>.api_key or env (e.g., OPENAI_API_KEY)."}));let W={...Z.llm?{llmConfig:Z.llm}:{},...Z.web_search?{webSearchConfig:Z.web_search}:{}};return new WlZ(W,I,G)}))}var IlZ,BZW,rWZ,KZW,ZlZ;var YlZ=g(()=>{NrG();krG();SrG();srG();ItG();jtG();ntG();IeG();beG();keG();KB();JI();geG();MeG();vGZ();le();gI();CGZ();KWZ();Wb();ER();oY();uv();Il();cN();dWI();YD();yR();UR();PWZ();$WZ();eUI();iWZ();IlZ=$b(tbI(),1),BZW=["content","text","reasoning","reasoningText","files","sources","toolCalls","staticToolCalls","dynamicToolCalls","staticToolResults","dynamicToolResults","toolResults","finishReason","rawFinishReason","usage","totalUsage","warnings","steps","request","response","providerMetadata","experimental_output","output"];rWZ=new Set(["openrouter/free","openrouter/auto"]);KZW=lW({id:"openrouter.web_fetch",inputSchema:V.object({url:V.string().url().describe("The URL to fetch content from")})});ZlZ={alibaba:"ALIBABA_API_KEY",anthropic:"ANTHROPIC_API_KEY",cerebras:"CEREBRAS_API_KEY",deepseek:"DEEPSEEK_API_KEY",fireworks:"FIREWORKS_API_KEY",google:"GOOGLE_GENERATIVE_AI_API_KEY",groq:"GROQ_API_KEY",llamacpp:"LLAMACPP_API_KEY",minimax:"MINIMAX_API_KEY",mistral:"MISTRAL_API_KEY",moonshotai:"MOONSHOT_API_KEY",openai:"OPENAI_API_KEY",openrouter:"OPENROUTER_API_KEY",togetherai:"TOGETHER_AI_API_KEY",xai:"XAI_API_KEY"}});async function qZW(I){return(await ZBI).getRandomValues(new Uint8Array(I))}async function TZW(I){let Z=Math.pow(2,8)-Math.pow(2,8)%66,b="";while(b.length<I){let W=await qZW(I-b.length);for(let l of W)if(l<Z)b+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[l%66]}return b}async function SZW(I){return await TZW(I)}async function _ZW(I){let G=await(await ZBI).subtle.digest("SHA-256",new TextEncoder().encode(I));return btoa(String.fromCharCode(...new Uint8Array(G))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function ET(I){if(!I)I=43;if(I<43||I>128)throw`Expected a length between 43 and 128. Received ${I}.`;let G=await SZW(I),Z=await _ZW(G);return{code_verifier:G,code_challenge:Z}}var ZBI;var bBI=g(()=>{ZBI=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((I)=>I.webcrypto)});async function YBI(I){return lBI.parse(await NC({text:I}))}function pbW(I){let G=typeof I==="string"?new URL(I):new URL(I.href);return G.hash="",G}function cBI(I){let G=I.href;if(I.pathname==="/"&&G.endsWith("/"))return G.slice(0,-1);return G}function zbW({requestedResource:I,configuredResource:G}){let Z=typeof I==="string"?new URL(I):new URL(I.href),b=typeof G==="string"?new URL(G):new URL(G.href);if(Z.origin!==b.origin)return!1;if(Z.pathname.length<b.pathname.length)return!1;let W=Z.pathname.endsWith("/")?Z.pathname:Z.pathname+"/",l=b.pathname.endsWith("/")?b.pathname:b.pathname+"/";return W.startsWith(l)}function SB(I){return new URL(I).href}function kbW(I,G){return{authorizationServerUrl:SB(I),tokenEndpoint:SB((G==null?void 0:G.token_endpoint)?new URL(G.token_endpoint):new URL("/token",I))}}function FlZ(I,G){return{...I,authorization_server:G.authorizationServerUrl,token_endpoint:G.tokenEndpoint}}function xlZ(I,G){return{...I,authorization_server:G.authorizationServerUrl,token_endpoint:G.tokenEndpoint}}function QlZ(I){if(!(I==null?void 0:I.authorization_server)||!I.token_endpoint)return;return{authorizationServerUrl:SB(I.authorization_server),tokenEndpoint:SB(I.token_endpoint)}}async function mlZ({provider:I,clientInformation:G,tokens:Z}){var b;let W=QlZ(Z);if(W)return W;let l=await((b=I.authorizationServerInformation)==null?void 0:b.call(I));if(l)return{authorizationServerUrl:SB(l.authorizationServerUrl),tokenEndpoint:SB(l.tokenEndpoint)};return QlZ(G)}async function ubW({provider:I,clientInformation:G,authorizationServerInformation:Z}){if(I.saveAuthorizationServerInformation)return await I.saveAuthorizationServerInformation(Z),!0;if(I.saveClientInformation)return await I.saveClientInformation(xlZ(G,Z)),!0;return!1}function gbW(I,G){if(!G)return;let Z=new URL(I).origin;if(G.origin!==Z)throw new L5({message:`OAuth protected resource metadata URL ${G.href} must have the same origin as the MCP server URL ${Z}`})}function RlZ({storedAuthorizationServerInformation:I,currentAuthorizationServerInformation:G}){if(I.authorizationServerUrl!==G.authorizationServerUrl||I.tokenEndpoint!==G.tokenEndpoint)throw new L5({message:"OAuth authorization server metadata does not match the metadata that issued the stored credentials"})}function sWI(I){var G;let Z=(G=I.headers.get("www-authenticate"))!=null?G:I.headers.get("WWW-Authenticate");if(!Z)return;let[b,W]=Z.split(" ");if(b.toLowerCase()!=="bearer"||!W)return;let l=/resource_metadata="([^"]*)"/,Y=Z.match(l);if(!Y)return;try{return new URL(Y[1])}catch(N){return}}function UbW(I,G="",Z={}){if(G.endsWith("/"))G=G.slice(0,-1);return Z.prependPathname?`${G}/.well-known/${I}`:`/.well-known/${I}${G}`}async function XBI(I,G,Z=fetch){try{return await Z(I,{headers:G})}catch(b){if(b instanceof TypeError)if(G)return XBI(I,void 0,Z);else return;throw b}}async function HlZ(I,G,Z=fetch){return await XBI(I,{"MCP-Protocol-Version":G},Z)}function BbW(I,G){return!I||I.status>=400&&I.status<500&&G!=="/"}async function ObW(I,G,Z,b){var W,l;let Y=new URL(I),N=(W=b==null?void 0:b.protocolVersion)!=null?W:_B,c;if(b==null?void 0:b.metadataUrl)c=new URL(b.metadataUrl);else{let d=UbW(G,Y.pathname);c=new URL(d,(l=b==null?void 0:b.metadataServerUrl)!=null?l:Y),c.search=Y.search}let X=await HlZ(c,N,Z);if(!(b==null?void 0:b.metadataUrl)&&BbW(X,Y.pathname)){let d=new URL(`/.well-known/${G}`,Y);X=await HlZ(d,N,Z)}return X}async function xbW(I,G,Z=fetch){let b=await ObW(I,"oauth-protected-resource",Z,{protocolVersion:G==null?void 0:G.protocolVersion,metadataUrl:G==null?void 0:G.resourceMetadataUrl});if(!b||b.status===404)throw Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!b.ok)throw Error(`HTTP ${b.status} trying to load well-known OAuth protected resource metadata.`);return HbW.parse(await b.json())}function MbW(I){let G=typeof I==="string"?new URL(I):I,Z=G.pathname!=="/",b=G.origin,W=[];if(!Z)return W.push({url:new URL("/.well-known/oauth-authorization-server",G.origin),type:"oauth",expectedIssuer:b}),W.push({url:new URL("/.well-known/openid-configuration",G.origin),type:"oidc",expectedIssuer:b}),W;let l=G.pathname;if(l.endsWith("/"))l=l.slice(0,-1);let Y=`${G.origin}${l}`;return W.push({url:new URL(`/.well-known/oauth-authorization-server${l}`,G.origin),type:"oauth",expectedIssuer:Y}),W.push({url:new URL("/.well-known/oauth-authorization-server",G.origin),type:"oauth",expectedIssuer:b}),W.push({url:new URL(`/.well-known/openid-configuration${l}`,G.origin),type:"oidc",expectedIssuer:Y}),W.push({url:new URL(`${l}/.well-known/openid-configuration`,G.origin),type:"oidc",expectedIssuer:Y}),W}function hlZ(I,G){if(I.issuer!==G)throw new L5({message:`OAuth authorization server metadata issuer ${I.issuer} does not match expected issuer ${G}`})}async function KbW(I,{fetchFn:G=fetch,protocolVersion:Z=_B}={}){var b;let W={"MCP-Protocol-Version":Z},l=MbW(I);for(let{url:Y,type:N,expectedIssuer:c}of l){let X=await XBI(Y,W,G);if(!X)continue;if(!X.ok){if(X.status>=400&&X.status<500)continue;throw Error(`HTTP ${X.status} trying to load ${N==="oauth"?"OAuth":"OpenID provider"} metadata from ${Y}`)}if(N==="oauth"){let d=BlZ.parse(await X.json());return hlZ(d,c),d}else{let d=wbW.parse(await X.json());if(hlZ(d,c),!((b=d.code_challenge_methods_supported)==null?void 0:b.includes("S256")))throw Error(`Incompatible OIDC provider at ${Y}: does not support S256 code challenge method required by MCP specification`);return d}}return}async function abW(I,{metadata:G,clientInformation:Z,redirectUrl:b,scope:W,state:l,resource:Y}){let X;if(G){if(X=new URL(G.authorization_endpoint),!G.response_types_supported.includes("code"))throw Error("Incompatible auth server: does not support response type code");if(!G.code_challenge_methods_supported||!G.code_challenge_methods_supported.includes("S256"))throw Error("Incompatible auth server: does not support code challenge method S256")}else X=new URL("/authorize",I);let d=await ET(),F=d.code_verifier,Q=d.code_challenge;if(X.searchParams.set("response_type","code"),X.searchParams.set("client_id",Z.client_id),X.searchParams.set("code_challenge",Q),X.searchParams.set("code_challenge_method","S256"),X.searchParams.set("redirect_uri",String(b)),l)X.searchParams.set("state",l);if(W)X.searchParams.set("scope",W);if(W==null?void 0:W.includes("offline_access"))X.searchParams.append("prompt","consent");if(Y)X.searchParams.set("resource",cBI(Y));return{authorizationUrl:X,codeVerifier:F}}function MlZ(I,G){let Z=I.client_secret!==void 0;if(G.length===0)return Z?"client_secret_post":"none";if(Z&&G.includes("client_secret_basic"))return"client_secret_basic";if(Z&&G.includes("client_secret_post"))return"client_secret_post";if(G.includes("none"))return"none";return Z?"client_secret_post":"none"}function KlZ(I,G,Z,b){let{client_id:W,client_secret:l}=G;switch(I){case"client_secret_basic":jbW(W,l,Z);return;case"client_secret_post":DbW(W,l,b);return;case"none":qbW(W,b);return;default:throw Error(`Unsupported client authentication method: ${I}`)}}function jbW(I,G,Z){if(!G)throw Error("client_secret_basic authentication requires a client_secret");let b=btoa(`${I}:${G}`);Z.set("Authorization",`Basic ${b}`)}function DbW(I,G,Z){if(Z.set("client_id",I),G)Z.set("client_secret",G)}function qbW(I,G){G.set("client_id",I)}async function dBI(I){let G=I instanceof Response?I.status:void 0,Z=I instanceof Response?await I.text():I;try{let b=EbW.parse(await NC({text:Z})),{error:W,error_description:l,error_uri:Y}=b;return new(LbW[W]||TB)({message:l||"",cause:Y})}catch(b){let W=`${G?`HTTP ${G}: `:""}Invalid OAuth error response: ${b}. Raw body: ${Z}`;return new TB({message:W})}}async function TbW(I,{metadata:G,clientInformation:Z,authorizationCode:b,codeVerifier:W,redirectUri:l,resource:Y,addClientAuthentication:N,fetchFn:c}){var X;let d="authorization_code",F=(G==null?void 0:G.token_endpoint)?new URL(G.token_endpoint):new URL("/token",I);if((G==null?void 0:G.grant_types_supported)&&!G.grant_types_supported.includes("authorization_code"))throw Error("Incompatible auth server: does not support grant type authorization_code");let Q=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),m=new URLSearchParams({grant_type:"authorization_code",code:b,code_verifier:W,redirect_uri:String(l)});if(N)await N(Q,m,I,G);else{let H=(X=G==null?void 0:G.token_endpoint_auth_methods_supported)!=null?X:[],h=MlZ(Z,H);KlZ(h,Z,Q,m)}if(Y)m.set("resource",cBI(Y));let R=await(c!=null?c:fetch)(F,{method:"POST",headers:Q,body:m});if(!R.ok)throw await dBI(R);return UlZ.parse(await R.json())}async function SbW(I,{metadata:G,clientInformation:Z,refreshToken:b,resource:W,addClientAuthentication:l,fetchFn:Y}){var N;let c="refresh_token",X;if(G){if(X=new URL(G.token_endpoint),G.grant_types_supported&&!G.grant_types_supported.includes("refresh_token"))throw Error("Incompatible auth server: does not support grant type refresh_token")}else X=new URL("/token",I);let d=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"}),F=new URLSearchParams({grant_type:"refresh_token",refresh_token:b});if(l)await l(d,F,I,G);else{let m=(N=G==null?void 0:G.token_endpoint_auth_methods_supported)!=null?N:[],R=MlZ(Z,m);KlZ(R,Z,d,F)}if(W)F.set("resource",cBI(W));let Q=await(Y!=null?Y:fetch)(X,{method:"POST",headers:d,body:F});if(!Q.ok)throw await dBI(Q);return UlZ.parse({refresh_token:b,...await Q.json()})}async function _bW(I,{metadata:G,clientMetadata:Z,fetchFn:b}){let W;if(G){if(!G.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");W=new URL(G.registration_endpoint)}else W=new URL("/register",I);let l=await(b!=null?b:fetch)(W,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Z)});if(!l.ok)throw await dBI(l);return ybW.parse(await l.json())}async function NBI(I,G){var Z,b;try{return await WBI(I,G)}catch(W){if(W instanceof PWI||W instanceof iWI)return await((Z=I.invalidateCredentials)==null?void 0:Z.call(I,"all")),await WBI(I,G);else if(W instanceof $WI)return await((b=I.invalidateCredentials)==null?void 0:b.call(I,"tokens")),await WBI(I,G);throw W}}async function nbW(I,G,Z){let b=pbW(I);if(G.validateResourceURL)return await G.validateResourceURL(b,Z==null?void 0:Z.resource);if(!Z)return;if(!zbW({requestedResource:b,configuredResource:Z.resource}))throw Error(`Protected resource ${Z.resource} does not match expected ${b} (or origin)`);return new URL(Z.resource)}async function WBI(I,{serverUrl:G,authorizationCode:Z,callbackState:b,scope:W,resourceMetadataUrl:l,fetchFn:Y}){var N,c;let X,d;gbW(G,l);try{if(X=await xbW(G,{resourceMetadataUrl:l},Y),X.authorization_servers&&X.authorization_servers.length>0)d=X.authorization_servers[0]}catch(y){}if(!d)d=G;let F=await nbW(G,I,X);await((N=I.validateAuthorizationServerURL)==null?void 0:N.call(I,G,d));let Q=await KbW(d,{fetchFn:Y}),m=kbW(d,Q),R=await Promise.resolve(I.clientInformation());if(!R){if(Z!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");if(!I.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let y=await _bW(d,{metadata:Q,clientMetadata:I.clientMetadata,fetchFn:Y});R=xlZ(y,m),await I.saveClientInformation(R)}if(Z!==void 0){if(I.storedState){let u=await I.storedState();if(u!==void 0&&u!==b)throw Error("OAuth state parameter mismatch - possible CSRF attack")}let y=await mlZ({provider:I,clientInformation:R});if(!y)throw new L5({message:"Stored OAuth authorization server metadata is required when exchanging an authorization code"});RlZ({storedAuthorizationServerInformation:y,currentAuthorizationServerInformation:m});let v=await I.codeVerifier(),A=await TbW(d,{metadata:Q,clientInformation:R,authorizationCode:Z,codeVerifier:v,redirectUri:I.redirectUrl,resource:F,addClientAuthentication:I.addClientAuthentication,fetchFn:Y});return await I.saveTokens(FlZ(A,m)),"AUTHORIZED"}let H=await I.tokens();if(H==null?void 0:H.refresh_token){let y=await mlZ({provider:I,clientInformation:R,tokens:H});if(y)RlZ({storedAuthorizationServerInformation:y,currentAuthorizationServerInformation:m});else await((c=I.invalidateCredentials)==null?void 0:c.call(I,"tokens"));try{if(y){let v=await SbW(d,{metadata:Q,clientInformation:R,refreshToken:H.refresh_token,resource:F,addClientAuthentication:I.addClientAuthentication,fetchFn:Y});return await I.saveTokens(FlZ(v,m)),"AUTHORIZED"}}catch(v){if(!(v instanceof L5)||v instanceof TB);else throw v}}let h=I.state?await I.state():void 0;if(h&&I.saveState)await I.saveState(h);let{authorizationUrl:E,codeVerifier:C}=await abW(d,{metadata:Q,clientInformation:R,state:h,redirectUrl:I.redirectUrl,scope:W||I.clientMetadata.scope,resource:F});if(!await ubW({provider:I,clientInformation:R,authorizationServerInformation:m}))throw new L5({message:"OAuth authorization server metadata must be saveable before starting authorization"});return await I.saveCodeVerifier(C),await I.redirectToAuthorization(E),"REDIRECT"}function PbW(I){return I===void 0||I==="message"}function wlZ(I){return I===void 0||I==="message"}function fbW(I){switch(I.type){case"sse":return new $bW(I);case"http":return new ibW(I);default:throw new Vl({message:"Unsupported or invalid transport configuration. If you are using a custom transport, make sure it implements the MCPTransport interface."})}}function sbW(I){return"start"in I&&typeof I.start==="function"&&"send"in I&&typeof I.send==="function"&&"close"in I&&typeof I.close==="function"}function JlZ({output:I}){let G=I;if(!("content"in G)||!Array.isArray(G.content))return{type:"json",value:G};return{type:"content",value:G.content.map((b)=>{if(b.type==="text"&&"text"in b)return{type:"text",text:b.text};if(b.type==="image"&&"data"in b&&"mimeType"in b)return{type:"image-data",data:b.data,mediaType:b.mimeType};return{type:"text",text:JSON.stringify(b)}})}}async function alZ(I){let G=new rbW(I);return await G.init(),G}var nZW="AI_MCPClientError",vlZ,PZW,NlZ,VlZ,Vl,_B="2025-11-25",$ZW,iZW,fZW,oWI,cJ,ElZ,ylZ,sZW,A9l,oZW,VBI,rZW,tZW,ClZ,AlZ,eZW,IbW,LlZ,plZ,zlZ,klZ,ulZ,GbW,ZbW,bbW,WbW,lbW,YbW,NbW,VbW,cbW,XbW,clZ,dbW,rWI="2.0",FbW,QbW,mbW,RbW,lBI,glZ,cc,UlZ,HbW,BlZ,hbW,wbW,JbW,vbW,EbW,ybW,CbW="AI_MCPClientOAuthError",OlZ,AbW,XlZ,dlZ,L5,TB,PWI,$WI,iWI,LbW,fWI,$bW=class{constructor({url:I,headers:G,authProvider:Z,redirect:b="follow",fetch:W}){this.connected=!1,this.url=new URL(I),this.headers=G,this.authProvider=Z,this.redirectMode=b,this.fetchFn=W!=null?W:globalThis.fetch}setProtocolVersion(I){this.protocolVersion=I}async commonHeaders(I){var G;let Z={...this.headers,...I,"mcp-protocol-version":(G=this.protocolVersion)!=null?G:_B};if(this.authProvider){let b=await this.authProvider.tokens();if(b==null?void 0:b.access_token)Z.Authorization=`Bearer ${b.access_token}`}return Kb(Z,`ai-sdk/${glZ}`,qH())}async start(){return new Promise((I,G)=>{if(this.connected)return I();this.abortController=new AbortController;let Z=async(b=!1)=>{var W,l,Y,N,c;try{let X=await this.commonHeaders({Accept:"text/event-stream"}),d=await this.fetchFn(this.url.href,{headers:X,signal:(W=this.abortController)==null?void 0:W.signal,redirect:this.redirectMode});if(d.status===401&&this.authProvider&&!b){this.resourceMetadataUrl=sWI(d);try{if(await NBI(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl,fetchFn:this.fetchFn})!=="AUTHORIZED"){let H=new fWI;return(l=this.onerror)==null||l.call(this,H),G(H)}}catch(R){return(Y=this.onerror)==null||Y.call(this,R),G(R)}return Z(!0)}if(!d.ok||!d.body){let R=`MCP SSE Transport Error: ${d.status} ${d.statusText}`;if(d.status===405)R+=". This server does not support SSE transport. Try using `http` transport instead";let H=new Vl({message:R});return(N=this.onerror)==null||N.call(this,H),G(H)}let Q=d.body.pipeThrough(new TextDecoderStream).pipeThrough(new Ew).getReader(),m=async()=>{var R,H,h,E,C;try{while(!0){let{done:J,value:y}=await Q.read();if(J){if(this.connected)throw this.connected=!1,new Vl({message:"MCP SSE Transport Error: Connection closed unexpectedly"});return}let{event:v,data:A}=y;if(v==="endpoint"){if(this.endpoint)continue;let u=new URL(A,this.url);if(u.origin!==this.url.origin)throw this.connected=!1,this.endpoint=void 0,(R=this.sseConnection)==null||R.close(),(H=this.abortController)==null||H.abort(),new Vl({message:`MCP SSE Transport Error: Endpoint origin does not match connection origin: ${u.origin}`});this.endpoint=u,this.connected=!0,I()}else if(PbW(v))try{let u=await YBI(A);(h=this.onmessage)==null||h.call(this,u)}catch(u){let L=new Vl({message:"MCP SSE Transport Error: Failed to parse message",cause:u});(E=this.onerror)==null||E.call(this,L)}}}catch(J){if(J instanceof Error&&J.name==="AbortError")return;(C=this.onerror)==null||C.call(this,J),G(J)}};this.sseConnection={close:()=>Q.cancel()},m()}catch(X){if(X instanceof Error&&X.name==="AbortError")return;(c=this.onerror)==null||c.call(this,X),G(X)}};Z()})}async close(){var I,G,Z;this.connected=!1,this.endpoint=void 0,(I=this.sseConnection)==null||I.close(),(G=this.abortController)==null||G.abort(),(Z=this.onclose)==null||Z.call(this)}async send(I){if(!this.endpoint||!this.connected)throw new Vl({message:"MCP SSE Transport Error: Not connected"});let G=this.endpoint,Z=async(b=!1)=>{var W,l,Y,N,c;try{let d={method:"POST",headers:await this.commonHeaders({"Content-Type":"application/json"}),body:JSON.stringify(I),signal:(W=this.abortController)==null?void 0:W.signal,redirect:this.redirectMode},F=await this.fetchFn(G.href,d);if(F.status===401&&this.authProvider&&!b){this.resourceMetadataUrl=sWI(F);try{if(await NBI(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:this.resourceMetadataUrl,fetchFn:this.fetchFn})!=="AUTHORIZED"){let m=new fWI;(l=this.onerror)==null||l.call(this,m);return}}catch(Q){(Y=this.onerror)==null||Y.call(this,Q);return}return Z(!0)}if(!F.ok){let Q=await F.text().catch(()=>null),m=new Vl({message:`MCP SSE Transport Error: POSTing to endpoint (HTTP ${F.status}): ${Q}`});(N=this.onerror)==null||N.call(this,m);return}}catch(X){(c=this.onerror)==null||c.call(this,X);return}};await Z()}},ibW=class{constructor({url:I,headers:G,authProvider:Z,redirect:b="follow",fetch:W}){this.inboundReconnectAttempts=0,this.reconnectionOptions={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2},this.url=new URL(I),this.headers=G,this.authProvider=Z,this.redirectMode=b,this.fetchFn=W!=null?W:globalThis.fetch}setProtocolVersion(I){this.protocolVersion=I}async commonHeaders(I){var G;let Z={...this.headers,...I,"mcp-protocol-version":(G=this.protocolVersion)!=null?G:_B};if(this.sessionId)Z["mcp-session-id"]=this.sessionId;if(this.authProvider){let b=await this.authProvider.tokens();if(b==null?void 0:b.access_token)Z.Authorization=`Bearer ${b.access_token}`}return Kb(Z,`ai-sdk/${glZ}`,qH())}authorizeOnce(I){if(!this.authProvider)return Promise.resolve("REDIRECT");if(!this.authPromise)this.authPromise=NBI(this.authProvider,{serverUrl:this.url,resourceMetadataUrl:I,fetchFn:this.fetchFn}).finally(()=>{this.authPromise=void 0});return this.authPromise}async start(){if(this.abortController)throw new Vl({message:"MCP HTTP Transport Error: Transport already started. Note: client.connect() calls start() automatically."});this.abortController=new AbortController,this.openInboundSse()}async close(){var I,G,Z;(I=this.inboundSseConnection)==null||I.close();try{if(this.sessionId&&this.abortController&&!this.abortController.signal.aborted){let b=await this.commonHeaders({});await this.fetchFn(this.url.href,{method:"DELETE",headers:b,signal:this.abortController.signal,redirect:this.redirectMode}).catch(()=>{return})}}catch(b){}(G=this.abortController)==null||G.abort(),(Z=this.onclose)==null||Z.call(this)}async send(I){let G=async(Z=!1)=>{var b,W,l,Y,N,c,X;try{let F={method:"POST",headers:await this.commonHeaders({"Content-Type":"application/json",Accept:"application/json, text/event-stream"}),body:JSON.stringify(I),signal:(b=this.abortController)==null?void 0:b.signal,redirect:this.redirectMode},Q=await this.fetchFn(this.url.href,F),m=Q.headers.get("mcp-session-id");if(m)this.sessionId=m;if(Q.status===401&&this.authProvider&&!Z){this.resourceMetadataUrl=sWI(Q);try{if(await this.authorizeOnce(this.resourceMetadataUrl)!=="AUTHORIZED")throw new fWI}catch(E){throw(W=this.onerror)==null||W.call(this,E),E}return G(!0)}if(Q.status===202){if(!this.inboundSseConnection)this.openInboundSse();return}if(!Q.ok){let E=await Q.text().catch(()=>null),C=`MCP HTTP Transport Error: POSTing to endpoint (HTTP ${Q.status}): ${E}`;if(Q.status===404)C+=". This server does not support HTTP transport. Try using `sse` transport instead";let J=new Vl({message:C,statusCode:Q.status,url:this.url.href,responseBody:E!=null?E:void 0});throw(l=this.onerror)==null||l.call(this,J),J}if(!("id"in I))return;let H=Q.headers.get("content-type")||"";if(H.includes("application/json")){let E=await Q.json(),C=Array.isArray(E)?E.map((J)=>lBI.parse(J)):[lBI.parse(E)];for(let J of C)(Y=this.onmessage)==null||Y.call(this,J);return}if(H.includes("text/event-stream")){if(!Q.body){let y=new Vl({message:"MCP HTTP Transport Error: text/event-stream response without body",statusCode:Q.status,url:this.url.href});throw(N=this.onerror)==null||N.call(this,y),y}let C=Q.body.pipeThrough(new TextDecoderStream).pipeThrough(new Ew).getReader();(async()=>{var y,v,A;try{while(!0){let{done:u,value:L}=await C.read();if(u)return;let{event:z,data:O}=L;if(wlZ(z))try{let U=await YBI(O);(y=this.onmessage)==null||y.call(this,U)}catch(U){let x=new Vl({message:"MCP HTTP Transport Error: Failed to parse message",cause:U});(v=this.onerror)==null||v.call(this,x)}}}catch(u){if(u instanceof Error&&u.name==="AbortError")return;(A=this.onerror)==null||A.call(this,u)}})();return}let h=new Vl({message:`MCP HTTP Transport Error: Unexpected content type: ${H}`,statusCode:Q.status,url:this.url.href});throw(c=this.onerror)==null||c.call(this,h),h}catch(d){throw(X=this.onerror)==null||X.call(this,d),d}};await G()}getNextReconnectionDelay(I){let{initialReconnectionDelay:G,reconnectionDelayGrowFactor:Z,maxReconnectionDelay:b}=this.reconnectionOptions;return Math.min(G*Math.pow(Z,I),b)}scheduleInboundSseReconnection(){var I;let{maxRetries:G}=this.reconnectionOptions;if(G>0&&this.inboundReconnectAttempts>=G){(I=this.onerror)==null||I.call(this,new Vl({message:`MCP HTTP Transport Error: Maximum reconnection attempts (${G}) exceeded.`}));return}let Z=this.getNextReconnectionDelay(this.inboundReconnectAttempts);this.inboundReconnectAttempts+=1,setTimeout(async()=>{var b;if((b=this.abortController)==null?void 0:b.signal.aborted)return;await this.openInboundSse(!1,this.lastInboundEventId)},Z)}async openInboundSse(I=!1,G){var Z,b,W,l,Y,N;try{let c=await this.commonHeaders({Accept:"text/event-stream"});if(G)c["last-event-id"]=G;let X=await this.fetchFn(this.url.href,{method:"GET",headers:c,signal:(Z=this.abortController)==null?void 0:Z.signal,redirect:this.redirectMode}),d=X.headers.get("mcp-session-id");if(d)this.sessionId=d;if(X.status===401&&this.authProvider&&!I){this.resourceMetadataUrl=sWI(X);try{if(await this.authorizeOnce(this.resourceMetadataUrl)!=="AUTHORIZED"){let H=new fWI;(b=this.onerror)==null||b.call(this,H);return}}catch(R){(W=this.onerror)==null||W.call(this,R);return}return this.openInboundSse(!0,G)}if(X.status===405)return;if(!X.ok||!X.body){let R=new Vl({message:`MCP HTTP Transport Error: GET SSE failed: ${X.status} ${X.statusText}`,statusCode:X.status,url:this.url.href});(l=this.onerror)==null||l.call(this,R);return}let Q=X.body.pipeThrough(new TextDecoderStream).pipeThrough(new Ew).getReader(),m=async()=>{var R,H,h,E;try{while(!0){let{done:C,value:J}=await Q.read();if(C)return;let{event:y,data:v,id:A}=J;if(A)this.lastInboundEventId=A;if(wlZ(y))try{let u=await YBI(v);(R=this.onmessage)==null||R.call(this,u)}catch(u){let L=new Vl({message:"MCP HTTP Transport Error: Failed to parse message",cause:u});(H=this.onerror)==null||H.call(this,L)}}}catch(C){if(C instanceof Error&&C.name==="AbortError")return;if((h=this.onerror)==null||h.call(this,C),!((E=this.abortController)==null?void 0:E.signal.aborted))this.scheduleInboundSseReconnection()}};this.inboundSseConnection={close:()=>Q.cancel()},this.inboundReconnectAttempts=0,m()}catch(c){if(c instanceof Error&&c.name==="AbortError")return;if((Y=this.onerror)==null||Y.call(this,c),!((N=this.abortController)==null?void 0:N.signal.aborted))this.scheduleInboundSseReconnection()}}},obW="1.0.0",rbW=class{constructor({transport:I,name:G,clientName:Z=G!=null?G:"ai-sdk-mcp-client",version:b=obW,onUncaughtError:W,capabilities:l}){if(this.requestMessageId=0,this.responseHandlers=new Map,this.serverCapabilities={},this._serverInfo={name:"",version:""},this.isClosed=!0,this.onUncaughtError=W,this.clientCapabilities=l!=null?l:{},sbW(I))this.transport=I;else this.transport=fbW(I);this.transport.onclose=()=>this.onClose(),this.transport.onerror=(Y)=>this.onError(Y),this.transport.onmessage=(Y)=>{if("method"in Y){if("id"in Y)this.onRequestMessage(Y);else this.onError(new Vl({message:"Unsupported message type"}));return}this.onResponse(Y)},this.clientInfo={name:Z,version:b}}get serverInfo(){return this._serverInfo}get instructions(){return this._serverInstructions}async init(){try{await this.transport.start(),this.isClosed=!1;let I=await this.request({request:{method:"initialize",params:{protocolVersion:_B,capabilities:this.clientCapabilities,clientInfo:this.clientInfo}},resultSchema:oZW});if(I===void 0)throw new Vl({message:"Server sent invalid initialize result"});if(!$ZW.includes(I.protocolVersion))throw new Vl({message:`Server's protocol version is not supported: ${I.protocolVersion}`});if(this.serverCapabilities=I.capabilities,this._serverInfo=I.serverInfo,this.transport.setProtocolVersion)this.transport.setProtocolVersion(I.protocolVersion);else this.transport.protocolVersion=I.protocolVersion;return this._serverInstructions=I.instructions,await this.notification({method:"notifications/initialized"}),this}catch(I){throw await this.close(),I}}async close(){var I;if(this.isClosed)return;await((I=this.transport)==null?void 0:I.close()),this.onClose()}assertCapability(I){switch(I){case"initialize":break;case"tools/list":case"tools/call":if(!this.serverCapabilities.tools)throw new Vl({message:"Server does not support tools"});break;case"resources/list":case"resources/read":case"resources/templates/list":if(!this.serverCapabilities.resources)throw new Vl({message:"Server does not support resources"});break;case"prompts/list":case"prompts/get":if(!this.serverCapabilities.prompts)throw new Vl({message:"Server does not support prompts"});break;default:throw new Vl({message:`Unsupported method: ${I}`})}}async request({request:I,resultSchema:G,options:Z}){return new Promise((b,W)=>{if(this.isClosed)return W(new Vl({message:"Attempted to send a request from a closed client"}));this.assertCapability(I.method);let l=Z==null?void 0:Z.signal;l==null||l.throwIfAborted();let Y=this.requestMessageId++,N={...I,jsonrpc:"2.0",id:Y},c=()=>{this.responseHandlers.delete(Y)};this.responseHandlers.set(Y,(X)=>{if(l==null?void 0:l.aborted)return W(new Vl({message:"Request was aborted",cause:l.reason}));if(X instanceof Error)return W(X);try{let d=G.parse(X.result);b(d)}catch(d){let F=new Vl({message:"Failed to parse server response",cause:d});W(F)}}),this.transport.send(N).catch((X)=>{c(),W(X)})})}async listTools({params:I,options:G}={}){return this.request({request:{method:"tools/list",params:I},resultSchema:tZW,options:G})}async callTool({name:I,args:G,options:Z}){try{return this.request({request:{method:"tools/call",params:{name:I,arguments:G}},resultSchema:GbW,options:{signal:Z==null?void 0:Z.abortSignal}})}catch(b){throw b}}async listResourcesInternal({params:I,options:G}={}){try{return this.request({request:{method:"resources/list",params:I},resultSchema:IbW,options:G})}catch(Z){throw Z}}async readResourceInternal({uri:I,options:G}){try{return this.request({request:{method:"resources/read",params:{uri:I}},resultSchema:WbW,options:G})}catch(Z){throw Z}}async listResourceTemplatesInternal({options:I}={}){try{return this.request({request:{method:"resources/templates/list"},resultSchema:bbW,options:I})}catch(G){throw G}}async listPromptsInternal({params:I,options:G}={}){try{return this.request({request:{method:"prompts/list",params:I},resultSchema:NbW,options:G})}catch(Z){throw Z}}async getPromptInternal({name:I,args:G,options:Z}){try{return this.request({request:{method:"prompts/get",params:{name:I,arguments:G}},resultSchema:cbW,options:Z})}catch(b){throw b}}async notification(I){let G={...I,jsonrpc:"2.0"};await this.transport.send(G)}async tools({schemas:I="automatic"}={}){let G=await this.listTools();return this.toolsFromDefinitions(G,{schemas:I})}toolsFromDefinitions(I,{schemas:G="automatic"}={}){var Z,b;let W={};for(let{name:l,title:Y,description:N,inputSchema:c,annotations:X,_meta:d}of I.tools){let F=Y!=null?Y:X==null?void 0:X.title;if(G!=="automatic"&&!Object.prototype.hasOwnProperty.call(G,l))continue;let Q=this,m=G!=="automatic"?(Z=G[l])==null?void 0:Z.outputSchema:void 0,R=async(h,E)=>{var C;(C=E==null?void 0:E.abortSignal)==null||C.throwIfAborted();let J=await Q.callTool({name:l,args:h,options:E});if(J.isError)return J;if(m!=null)return Q.extractStructuredContent(J,m,l);return J},H=G==="automatic"?X3I({description:N,title:F,metadata:{clientName:this.clientInfo.name},inputSchema:YC({...c,properties:(b=c.properties)!=null?b:{},additionalProperties:!1}),execute:R,toModelOutput:JlZ}):VC({description:N,title:F,metadata:{clientName:this.clientInfo.name},inputSchema:G[l].inputSchema,...m!=null?{outputSchema:m}:{},execute:R,toModelOutput:JlZ});W[l]={...H,_meta:d}}return W}async extractStructuredContent(I,G,Z){if("structuredContent"in I&&I.structuredContent!=null){let b=await n2({value:I.structuredContent,schema:Jd(G)});if(!b.success)throw new Vl({message:`Tool "${Z}" returned structuredContent that does not match the expected outputSchema`,cause:b.error});return b.value}if("content"in I&&Array.isArray(I.content)){let b=I.content.find((W)=>W.type==="text");if(b&&"text"in b){let W=await P2({text:b.text,schema:G});if(!W.success)throw new Vl({message:`Tool "${Z}" returned content that does not match the expected outputSchema`,cause:W.error});return W.value}}throw new Vl({message:`Tool "${Z}" did not return structuredContent or parseable text content`})}listResources({params:I,options:G}={}){return this.listResourcesInternal({params:I,options:G})}readResource({uri:I,options:G}){return this.readResourceInternal({uri:I,options:G})}listResourceTemplates({options:I}={}){return this.listResourceTemplatesInternal({options:I})}experimental_listPrompts({params:I,options:G}={}){return this.listPromptsInternal({params:I,options:G})}experimental_getPrompt({name:I,arguments:G,options:Z}){return this.getPromptInternal({name:I,args:G,options:Z})}onElicitationRequest(I,G){if(I!==clZ)throw new Vl({message:"Unsupported request schema. Only ElicitationRequestSchema is supported."});this.elicitationRequestHandler=G}async onRequestMessage(I){try{if(I.method==="ping"){await this.transport.send({jsonrpc:"2.0",id:I.id,result:{}});return}if(I.method!=="elicitation/create"){await this.transport.send({jsonrpc:"2.0",id:I.id,error:{code:-32601,message:`Unsupported request method: ${I.method}`}});return}if(!this.elicitationRequestHandler){await this.transport.send({jsonrpc:"2.0",id:I.id,error:{code:-32601,message:"No elicitation handler registered on client"}});return}let G=clZ.safeParse({method:I.method,params:I.params});if(!G.success){await this.transport.send({jsonrpc:"2.0",id:I.id,error:{code:-32602,message:`Invalid elicitation request: ${G.error.message}`,data:G.error.issues}});return}try{let Z=await this.elicitationRequestHandler(G.data),b=dbW.parse(Z);await this.transport.send({jsonrpc:"2.0",id:I.id,result:b})}catch(Z){await this.transport.send({jsonrpc:"2.0",id:I.id,error:{code:-32603,message:Z instanceof Error?Z.message:"Failed to handle elicitation request"}}),this.onError(Z)}}catch(G){this.onError(G)}}onClose(){if(this.isClosed)return;this.isClosed=!0;let I=new Vl({message:"Connection closed"});for(let G of this.responseHandlers.values())G(I);this.responseHandlers.clear()}onError(I){if(this.onUncaughtError)this.onUncaughtError(I)}onResponse(I){let G=Number(I.id),Z=this.responseHandlers.get(G);if(Z===void 0)throw new Vl({message:`Protocol error: Received a response for an unknown message ID: ${JSON.stringify(I)}`});this.responseHandlers.delete(G),Z("result"in I?I:new Vl({message:I.error.message,code:I.error.code,data:I.error.data,cause:I.error}))}};var jlZ=g(()=>{JI();hG();JI();JI();CI();CI();bBI();CI();hG();JI();JI();vlZ=`vercel.ai.error.${nZW}`,PZW=Symbol.for(vlZ),Vl=class extends(VlZ=IG,NlZ=PZW,VlZ){constructor({name:I="MCPClientError",message:G,cause:Z,data:b,code:W,statusCode:l,url:Y,responseBody:N}){super({name:I,message:G,cause:Z});this[NlZ]=!0,this.data=b,this.code=W,this.statusCode=l,this.url=Y,this.responseBody=N}static isInstance(I){return IG.hasMarker(I,vlZ)}},$ZW=[_B,"2025-06-18","2025-03-26","2024-11-05"],iZW=V.optional(V.record(V.string(),V.unknown())),fZW=V.looseObject({name:V.string(),version:V.string(),title:V.optional(V.string())}),oWI=V.looseObject({_meta:V.optional(V.object({}).loose())}),cJ=oWI,ElZ=V.object({method:V.string(),params:V.optional(oWI)}),ylZ=V.object({applyDefaults:V.optional(V.boolean())}).loose(),sZW=V.looseObject({experimental:V.optional(V.object({}).loose()),logging:V.optional(V.object({}).loose()),prompts:V.optional(V.looseObject({listChanged:V.optional(V.boolean())})),resources:V.optional(V.looseObject({subscribe:V.optional(V.boolean()),listChanged:V.optional(V.boolean())})),tools:V.optional(V.looseObject({listChanged:V.optional(V.boolean())})),elicitation:V.optional(ylZ)}),A9l=V.object({elicitation:V.optional(ylZ)}).loose(),oZW=cJ.extend({protocolVersion:V.string(),capabilities:sZW,serverInfo:fZW,instructions:V.optional(V.string())}),VBI=cJ.extend({nextCursor:V.optional(V.string())}),rZW=V.object({name:V.string(),title:V.optional(V.string()),description:V.optional(V.string()),inputSchema:V.object({type:V.literal("object"),properties:V.optional(V.object({}).loose())}).loose(),outputSchema:V.optional(V.object({}).loose()),annotations:V.optional(V.object({title:V.optional(V.string())}).loose()),_meta:iZW}).loose(),tZW=VBI.extend({tools:V.array(rZW)}),ClZ=V.object({type:V.literal("text"),text:V.string()}).loose(),AlZ=V.object({type:V.literal("image"),data:V.base64(),mimeType:V.string()}).loose(),eZW=V.object({uri:V.string(),name:V.string(),title:V.optional(V.string()),description:V.optional(V.string()),mimeType:V.optional(V.string()),size:V.optional(V.number())}).loose(),IbW=VBI.extend({resources:V.array(eZW)}),LlZ=V.object({uri:V.string(),name:V.optional(V.string()),title:V.optional(V.string()),mimeType:V.optional(V.string())}).loose(),plZ=LlZ.extend({text:V.string()}),zlZ=LlZ.extend({blob:V.base64()}),klZ=V.object({type:V.literal("resource"),resource:V.union([plZ,zlZ])}).loose(),ulZ=V.object({type:V.literal("resource_link"),uri:V.string(),name:V.string(),description:V.optional(V.string()),mimeType:V.optional(V.string())}).loose(),GbW=cJ.extend({content:V.array(V.union([ClZ,AlZ,klZ,ulZ])),structuredContent:V.optional(V.unknown()),isError:V.boolean().default(!1).optional()}).or(cJ.extend({toolResult:V.unknown()})),ZbW=V.object({uriTemplate:V.string(),name:V.string(),title:V.optional(V.string()),description:V.optional(V.string()),mimeType:V.optional(V.string())}).loose(),bbW=cJ.extend({resourceTemplates:V.array(ZbW)}),WbW=cJ.extend({contents:V.array(V.union([plZ,zlZ]))}),lbW=V.object({name:V.string(),description:V.optional(V.string()),required:V.optional(V.boolean())}).loose(),YbW=V.object({name:V.string(),title:V.optional(V.string()),description:V.optional(V.string()),arguments:V.optional(V.array(lbW))}).loose(),NbW=VBI.extend({prompts:V.array(YbW)}),VbW=V.object({role:V.union([V.literal("user"),V.literal("assistant")]),content:V.union([ClZ,AlZ,klZ,ulZ])}).loose(),cbW=cJ.extend({description:V.optional(V.string()),messages:V.array(VbW)}),XbW=oWI.extend({message:V.string(),requestedSchema:V.unknown()}),clZ=ElZ.extend({method:V.literal("elicitation/create"),params:XbW}),dbW=cJ.extend({action:V.union([V.literal("accept"),V.literal("decline"),V.literal("cancel")]),content:V.optional(V.record(V.string(),V.unknown()))}),FbW=V.object({jsonrpc:V.literal(rWI),id:V.union([V.string(),V.number().int()])}).merge(ElZ).strict(),QbW=V.object({jsonrpc:V.literal(rWI),id:V.union([V.string(),V.number().int()]),result:cJ}).strict(),mbW=V.object({jsonrpc:V.literal(rWI),id:V.union([V.string(),V.number().int()]),error:V.object({code:V.number().int(),message:V.string(),data:V.optional(V.unknown())})}).strict(),RbW=V.object({jsonrpc:V.literal(rWI)}).merge(V.object({method:V.string(),params:V.optional(oWI)})).strict(),lBI=V.union([FbW,RbW,QbW,mbW]);glZ=typeof __PACKAGE_VERSION__<"u"?__PACKAGE_VERSION__:"0.0.0-test",cc=V.string().url().superRefine((I,G)=>{if(!URL.canParse(I))return G.addIssue({code:V.ZodIssueCode.custom,message:"URL must be parseable",fatal:!0}),V.NEVER}).refine((I)=>{let G=new URL(I);return G.protocol!=="javascript:"&&G.protocol!=="data:"&&G.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),UlZ=V.object({access_token:V.string(),id_token:V.string().optional(),token_type:V.string(),expires_in:V.number().optional(),scope:V.string().optional(),refresh_token:V.string().optional(),authorization_server:cc.optional(),token_endpoint:cc.optional()}).strip(),HbW=V.object({resource:V.string().url(),authorization_servers:V.array(cc).optional(),jwks_uri:V.string().url().optional(),scopes_supported:V.array(V.string()).optional(),bearer_methods_supported:V.array(V.string()).optional(),resource_signing_alg_values_supported:V.array(V.string()).optional(),resource_name:V.string().optional(),resource_documentation:V.string().optional(),resource_policy_uri:V.string().url().optional(),resource_tos_uri:V.string().url().optional(),tls_client_certificate_bound_access_tokens:V.boolean().optional(),authorization_details_types_supported:V.array(V.string()).optional(),dpop_signing_alg_values_supported:V.array(V.string()).optional(),dpop_bound_access_tokens_required:V.boolean().optional()}).passthrough(),BlZ=V.object({issuer:V.string(),authorization_endpoint:cc,token_endpoint:cc,registration_endpoint:cc.optional(),scopes_supported:V.array(V.string()).optional(),response_types_supported:V.array(V.string()),grant_types_supported:V.array(V.string()).optional(),code_challenge_methods_supported:V.array(V.string()),token_endpoint_auth_methods_supported:V.array(V.string()).optional(),token_endpoint_auth_signing_alg_values_supported:V.array(V.string()).optional()}).passthrough(),hbW=V.object({issuer:V.string(),authorization_endpoint:cc,token_endpoint:cc,userinfo_endpoint:cc.optional(),jwks_uri:cc,registration_endpoint:cc.optional(),scopes_supported:V.array(V.string()).optional(),response_types_supported:V.array(V.string()),grant_types_supported:V.array(V.string()).optional(),subject_types_supported:V.array(V.string()),id_token_signing_alg_values_supported:V.array(V.string()),claims_supported:V.array(V.string()).optional(),token_endpoint_auth_methods_supported:V.array(V.string()).optional()}).passthrough(),wbW=hbW.merge(BlZ.pick({code_challenge_methods_supported:!0})),JbW=V.object({client_id:V.string(),client_secret:V.string().optional(),client_id_issued_at:V.number().optional(),client_secret_expires_at:V.number().optional(),authorization_server:cc.optional(),token_endpoint:cc.optional()}).strip(),vbW=V.object({redirect_uris:V.array(cc),token_endpoint_auth_method:V.string().optional(),grant_types:V.array(V.string()).optional(),response_types:V.array(V.string()).optional(),client_name:V.string().optional(),client_uri:cc.optional(),logo_uri:cc.optional(),scope:V.string().optional(),contacts:V.array(V.string()).optional(),tos_uri:cc.optional(),policy_uri:V.string().optional(),jwks_uri:cc.optional(),jwks:V.any().optional(),software_id:V.string().optional(),software_version:V.string().optional(),software_statement:V.string().optional()}).strip(),EbW=V.object({error:V.string(),error_description:V.string().optional(),error_uri:V.string().optional()}),ybW=vbW.merge(JbW),OlZ=`vercel.ai.error.${CbW}`,AbW=Symbol.for(OlZ),L5=class extends(dlZ=IG,XlZ=AbW,dlZ){constructor({name:I="MCPClientOAuthError",message:G,cause:Z}){super({name:I,message:G,cause:Z});this[XlZ]=!0}static isInstance(I){return IG.hasMarker(I,OlZ)}},TB=class extends L5{};TB.errorCode="server_error";PWI=class extends L5{};PWI.errorCode="invalid_client";$WI=class extends L5{};$WI.errorCode="invalid_grant";iWI=class extends L5{};iWI.errorCode="unauthorized_client";LbW={[TB.errorCode]:TB,[PWI.errorCode]:PWI,[$WI.errorCode]:$WI,[iWI.errorCode]:iWI};fWI=class extends Error{constructor(I="Unauthorized"){super(I);this.name="UnauthorizedError"}}});var _lZ=B((T9l,SlZ)=>{SlZ.exports=TlZ;TlZ.sync=ebW;var DlZ=PI("fs");function tbW(I,G){var Z=G.pathExt!==void 0?G.pathExt:process.env.PATHEXT;if(!Z)return!0;if(Z=Z.split(";"),Z.indexOf("")!==-1)return!0;for(var b=0;b<Z.length;b++){var W=Z[b].toLowerCase();if(W&&I.substr(-W.length).toLowerCase()===W)return!0}return!1}function qlZ(I,G,Z){if(!I.isSymbolicLink()&&!I.isFile())return!1;return tbW(G,Z)}function TlZ(I,G,Z){DlZ.stat(I,function(b,W){Z(b,b?!1:qlZ(W,I,G))})}function ebW(I,G){return qlZ(DlZ.statSync(I),I,G)}});var flZ=B((S9l,ilZ)=>{ilZ.exports=PlZ;PlZ.sync=IWW;var nlZ=PI("fs");function PlZ(I,G,Z){nlZ.stat(I,function(b,W){Z(b,b?!1:$lZ(W,G))})}function IWW(I,G){return $lZ(nlZ.statSync(I),G)}function $lZ(I,G){return I.isFile()&&GWW(I,G)}function GWW(I,G){var{mode:Z,uid:b,gid:W}=I,l=G.uid!==void 0?G.uid:process.getuid&&process.getuid(),Y=G.gid!==void 0?G.gid:process.getgid&&process.getgid(),N=parseInt("100",8),c=parseInt("010",8),X=parseInt("001",8),d=N|c,F=Z&X||Z&c&&W===Y||Z&N&&b===l||Z&d&&l===0;return F}});var olZ=B((n9l,slZ)=>{var _9l=PI("fs"),tWI;if(process.platform==="win32"||global.TESTING_WINDOWS)tWI=_lZ();else tWI=flZ();slZ.exports=FBI;FBI.sync=ZWW;function FBI(I,G,Z){if(typeof G==="function")Z=G,G={};if(!Z){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(b,W){FBI(I,G||{},function(l,Y){if(l)W(l);else b(Y)})})}tWI(I,G||{},function(b,W){if(b){if(b.code==="EACCES"||G&&G.ignoreErrors)b=null,W=!1}Z(b,W)})}function ZWW(I,G){try{return tWI.sync(I,G||{})}catch(Z){if(G&&G.ignoreErrors||Z.code==="EACCES")return!1;else throw Z}}});var bYZ=B((P9l,ZYZ)=>{var nB=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",rlZ=PI("path"),bWW=nB?";":":",tlZ=olZ(),elZ=(I)=>Object.assign(Error(`not found: ${I}`),{code:"ENOENT"}),IYZ=(I,G)=>{let Z=G.colon||bWW,b=I.match(/\//)||nB&&I.match(/\\/)?[""]:[...nB?[process.cwd()]:[],...(G.path||process.env.PATH||"").split(Z)],W=nB?G.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",l=nB?W.split(Z):[""];if(nB){if(I.indexOf(".")!==-1&&l[0]!=="")l.unshift("")}return{pathEnv:b,pathExt:l,pathExtExe:W}},GYZ=(I,G,Z)=>{if(typeof G==="function")Z=G,G={};if(!G)G={};let{pathEnv:b,pathExt:W,pathExtExe:l}=IYZ(I,G),Y=[],N=(X)=>new Promise((d,F)=>{if(X===b.length)return G.all&&Y.length?d(Y):F(elZ(I));let Q=b[X],m=/^".*"$/.test(Q)?Q.slice(1,-1):Q,R=rlZ.join(m,I),H=!m&&/^\.[\\\/]/.test(I)?I.slice(0,2)+R:R;d(c(H,X,0))}),c=(X,d,F)=>new Promise((Q,m)=>{if(F===W.length)return Q(N(d+1));let R=W[F];tlZ(X+R,{pathExt:l},(H,h)=>{if(!H&&h)if(G.all)Y.push(X+R);else return Q(X+R);return Q(c(X,d,F+1))})});return Z?N(0).then((X)=>Z(null,X),Z):N(0)},WWW=(I,G)=>{G=G||{};let{pathEnv:Z,pathExt:b,pathExtExe:W}=IYZ(I,G),l=[];for(let Y=0;Y<Z.length;Y++){let N=Z[Y],c=/^".*"$/.test(N)?N.slice(1,-1):N,X=rlZ.join(c,I),d=!c&&/^\.[\\\/]/.test(I)?I.slice(0,2)+X:X;for(let F=0;F<b.length;F++){let Q=d+b[F];try{if(tlZ.sync(Q,{pathExt:W}))if(G.all)l.push(Q);else return Q}catch(m){}}}if(G.all&&l.length)return l;if(G.nothrow)return null;throw elZ(I)};ZYZ.exports=GYZ;GYZ.sync=WWW});var lYZ=B(($9l,QBI)=>{var WYZ=(I={})=>{let G=I.env||process.env;if((I.platform||process.platform)!=="win32")return"PATH";return Object.keys(G).reverse().find((b)=>b.toUpperCase()==="PATH")||"Path"};QBI.exports=WYZ;QBI.exports.default=WYZ});var cYZ=B((i9l,VYZ)=>{var YYZ=PI("path"),lWW=bYZ(),YWW=lYZ();function NYZ(I,G){let Z=I.options.env||process.env,b=process.cwd(),W=I.options.cwd!=null,l=W&&process.chdir!==void 0&&!process.chdir.disabled;if(l)try{process.chdir(I.options.cwd)}catch(N){}let Y;try{Y=lWW.sync(I.command,{path:Z[YWW({env:Z})],pathExt:G?YYZ.delimiter:void 0})}catch(N){}finally{if(l)process.chdir(b)}if(Y)Y=YYZ.resolve(W?I.options.cwd:"",Y);return Y}function NWW(I){return NYZ(I)||NYZ(I,!0)}VYZ.exports=NWW});var XYZ=B((XWW,RBI)=>{var mBI=/([()\][%!^"`<>&|;, *?])/g;function VWW(I){return I=I.replace(mBI,"^$1"),I}function cWW(I,G){if(I=`${I}`,I=I.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),I=I.replace(/(?=(\\+?)?)\1$/,"$1$1"),I=`"${I}"`,I=I.replace(mBI,"^$1"),G)I=I.replace(mBI,"^$1");return I}XWW.command=VWW;XWW.argument=cWW});var FYZ=B((f9l,dYZ)=>{dYZ.exports=/^#!(.*)/});var mYZ=B((s9l,QYZ)=>{var QWW=FYZ();QYZ.exports=(I="")=>{let G=I.match(QWW);if(!G)return null;let[Z,b]=G[0].replace(/#! ?/,"").split(" "),W=Z.split("/").pop();if(W==="env")return b;return b?`${W} ${b}`:W}});var HYZ=B((o9l,RYZ)=>{var HBI=PI("fs"),mWW=mYZ();function RWW(I){let Z=Buffer.alloc(150),b;try{b=HBI.openSync(I,"r"),HBI.readSync(b,Z,0,150,0),HBI.closeSync(b)}catch(W){}return mWW(Z.toString())}RYZ.exports=RWW});var vYZ=B((r9l,JYZ)=>{var HWW=PI("path"),hYZ=cYZ(),wYZ=XYZ(),hWW=HYZ(),wWW=process.platform==="win32",JWW=/\.(?:com|exe)$/i,vWW=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function EWW(I){I.file=hYZ(I);let G=I.file&&hWW(I.file);if(G)return I.args.unshift(I.file),I.command=G,hYZ(I);return I.file}function yWW(I){if(!wWW)return I;let G=EWW(I),Z=!JWW.test(G);if(I.options.forceShell||Z){let b=vWW.test(G);I.command=HWW.normalize(I.command),I.command=wYZ.command(I.command),I.args=I.args.map((l)=>wYZ.argument(l,b));let W=[I.command].concat(I.args).join(" ");I.args=["/d","/s","/c",`"${W}"`],I.command=process.env.comspec||"cmd.exe",I.options.windowsVerbatimArguments=!0}return I}function CWW(I,G,Z){if(G&&!Array.isArray(G))Z=G,G=null;G=G?G.slice(0):[],Z=Object.assign({},Z);let b={command:I,args:G,options:Z,file:void 0,original:{command:I,args:G}};return Z.shell?b:yWW(b)}JYZ.exports=CWW});var CYZ=B((t9l,yYZ)=>{var hBI=process.platform==="win32";function wBI(I,G){return Object.assign(Error(`${G} ${I.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${G} ${I.command}`,path:I.command,spawnargs:I.args})}function AWW(I,G){if(!hBI)return;let Z=I.emit;I.emit=function(b,W){if(b==="exit"){let l=EYZ(W,G);if(l)return Z.call(I,"error",l)}return Z.apply(I,arguments)}}function EYZ(I,G){if(hBI&&I===1&&!G.file)return wBI(G.original,"spawn");return null}function LWW(I,G){if(hBI&&I===1&&!G.file)return wBI(G.original,"spawnSync");return null}yYZ.exports={hookChildProcess:AWW,verifyENOENT:EYZ,verifyENOENTSync:LWW,notFoundError:wBI}});var pYZ=B((e9l,PB)=>{var AYZ=PI("child_process"),JBI=vYZ(),vBI=CYZ();function LYZ(I,G,Z){let b=JBI(I,G,Z),W=AYZ.spawn(b.command,b.args,b.options);return vBI.hookChildProcess(W,b),W}function pWW(I,G,Z){let b=JBI(I,G,Z),W=AYZ.spawnSync(b.command,b.args,b.options);return W.error=W.error||vBI.verifyENOENTSync(W.status,b),W}PB.exports=LYZ;PB.exports.spawn=LYZ;PB.exports.sync=pWW;PB.exports._parse=JBI;PB.exports._enoent=vBI});function UI(I,G,Z){function b(N,c){if(!N._zod)Object.defineProperty(N,"_zod",{value:{def:c,constr:Y,traits:new Set},enumerable:!1});if(N._zod.traits.has(I))return;N._zod.traits.add(I),G(N,c);let X=Y.prototype,d=Object.keys(X);for(let F=0;F<d.length;F++){let Q=d[F];if(!(Q in N))N[Q]=X[Q].bind(N)}}let W=Z?.Parent??Object;class l extends W{}Object.defineProperty(l,"name",{value:I});function Y(N){var c;let X=Z?.Parent?new l:this;b(X,N),(c=X._zod).deferred??(c.deferred=[]);for(let d of X._zod.deferred)d();return X}return Object.defineProperty(Y,"init",{value:b}),Object.defineProperty(Y,Symbol.hasInstance,{value:(N)=>{if(Z?.Parent&&N instanceof Z.Parent)return!0;return N?._zod?.traits?.has(I)}}),Object.defineProperty(Y,"name",{value:I}),Y}function qd(I){if(I)Object.assign($B,I);return $B}var zYZ,EBI,zWW,XJ,yT,$B;var bL=g(()=>{EBI=Object.freeze({status:"aborted"});zWW=Symbol("zod_brand");XJ=class XJ extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};yT=class yT extends Error{constructor(I){super(`Encountered unidirectional transform during encode: ${I}`);this.name="ZodEncodeError"}};(zYZ=globalThis).__zod_globalConfig??(zYZ.__zod_globalConfig={});$B=globalThis.__zod_globalConfig});var kW={};iW(kW,{unwrapMessage:()=>CT,uint8ArrayToHex:()=>tWW,uint8ArrayToBase64url:()=>oWW,uint8ArrayToBase64:()=>xYZ,stringifyPrimitive:()=>ZlI,slugify:()=>ABI,shallowClone:()=>uYZ,safeExtend:()=>nWW,required:()=>iWW,randomString:()=>aWW,propertyKeyTypes:()=>pBI,promiseAllObject:()=>KWW,primitiveTypes:()=>gYZ,prefixIssues:()=>QJ,pick:()=>TWW,partial:()=>$WW,parsedType:()=>gBI,optionalKeys:()=>zBI,omit:()=>SWW,objectClone:()=>OWW,numKeys:()=>jWW,nullish:()=>LT,normalizeParams:()=>uZ,mergeDefs:()=>dJ,merge:()=>PWW,jsonStringifyReplacer:()=>iB,joinValues:()=>eWI,issue:()=>sB,isPlainObject:()=>d3,isObject:()=>WL,hexToUint8Array:()=>rWW,getSizableOrigin:()=>BYZ,getParsedType:()=>DWW,getLengthableOrigin:()=>zT,getEnumValues:()=>AT,getElementAtPath:()=>MWW,floatSafeRemainder:()=>CBI,finalizeIssue:()=>Hm,extend:()=>_WW,explicitlyAborted:()=>uBI,escapeRegex:()=>FJ,esc:()=>IlI,defineLazy:()=>nW,createTransparentProxy:()=>qWW,cloneDef:()=>xWW,clone:()=>Rm,cleanRegex:()=>pT,cleanEnum:()=>fWW,captureStackTrace:()=>GlI,cached:()=>fB,base64urlToUint8Array:()=>sWW,base64ToUint8Array:()=>OYZ,assignProp:()=>X3,assertNotEqual:()=>uWW,assertNever:()=>UWW,assertIs:()=>gWW,assertEqual:()=>kWW,assert:()=>BWW,allowsEval:()=>LBI,aborted:()=>F3,NUMBER_FORMAT_RANGES:()=>kBI,Class:()=>MYZ,BIGINT_FORMAT_RANGES:()=>UYZ});function kWW(I){return I}function uWW(I){return I}function gWW(I){}function UWW(I){throw Error("Unexpected value in exhaustive check")}function BWW(I){}function AT(I){let G=Object.values(I).filter((b)=>typeof b==="number");return Object.entries(I).filter(([b,W])=>G.indexOf(+b)===-1).map(([b,W])=>W)}function eWI(I,G="|"){return I.map((Z)=>ZlI(Z)).join(G)}function iB(I,G){if(typeof G==="bigint")return G.toString();return G}function fB(I){return{get value(){{let Z=I();return Object.defineProperty(this,"value",{value:Z}),Z}throw Error("cached value already set")}}}function LT(I){return I===null||I===void 0}function pT(I){let G=I.startsWith("^")?1:0,Z=I.endsWith("$")?I.length-1:I.length;return I.slice(G,Z)}function CBI(I,G){let Z=I/G,b=Math.round(Z),W=Number.EPSILON*Math.max(Math.abs(Z),1);if(Math.abs(Z-b)<W)return 0;return Z-b}function nW(I,G,Z){let b=void 0;Object.defineProperty(I,G,{get(){if(b===kYZ)return;if(b===void 0)b=kYZ,b=Z();return b},set(W){Object.defineProperty(I,G,{value:W})},configurable:!0})}function OWW(I){return Object.create(Object.getPrototypeOf(I),Object.getOwnPropertyDescriptors(I))}function X3(I,G,Z){Object.defineProperty(I,G,{value:Z,writable:!0,enumerable:!0,configurable:!0})}function dJ(...I){let G={};for(let Z of I){let b=Object.getOwnPropertyDescriptors(Z);Object.assign(G,b)}return Object.defineProperties({},G)}function xWW(I){return dJ(I._zod.def)}function MWW(I,G){if(!G)return I;return G.reduce((Z,b)=>Z?.[b],I)}function KWW(I){let G=Object.keys(I),Z=G.map((b)=>I[b]);return Promise.all(Z).then((b)=>{let W={};for(let l=0;l<G.length;l++)W[G[l]]=b[l];return W})}function aWW(I=10){let Z="";for(let b=0;b<I;b++)Z+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Z}function IlI(I){return JSON.stringify(I)}function ABI(I){return I.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function WL(I){return typeof I==="object"&&I!==null&&!Array.isArray(I)}function d3(I){if(WL(I)===!1)return!1;let G=I.constructor;if(G===void 0)return!0;if(typeof G!=="function")return!0;let Z=G.prototype;if(WL(Z)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Z,"isPrototypeOf")===!1)return!1;return!0}function uYZ(I){if(d3(I))return{...I};if(Array.isArray(I))return[...I];if(I instanceof Map)return new Map(I);if(I instanceof Set)return new Set(I);return I}function jWW(I){let G=0;for(let Z in I)if(Object.prototype.hasOwnProperty.call(I,Z))G++;return G}function FJ(I){return I.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Rm(I,G,Z){let b=new I._zod.constr(G??I._zod.def);if(!G||Z?.parent)b._zod.parent=I;return b}function uZ(I){let G=I;if(!G)return{};if(typeof G==="string")return{error:()=>G};if(G?.message!==void 0){if(G?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");G.error=G.message}if(delete G.message,typeof G.error==="string")return{...G,error:()=>G.error};return G}function qWW(I){let G;return new Proxy({},{get(Z,b,W){return G??(G=I()),Reflect.get(G,b,W)},set(Z,b,W,l){return G??(G=I()),Reflect.set(G,b,W,l)},has(Z,b){return G??(G=I()),Reflect.has(G,b)},deleteProperty(Z,b){return G??(G=I()),Reflect.deleteProperty(G,b)},ownKeys(Z){return G??(G=I()),Reflect.ownKeys(G)},getOwnPropertyDescriptor(Z,b){return G??(G=I()),Reflect.getOwnPropertyDescriptor(G,b)},defineProperty(Z,b,W){return G??(G=I()),Reflect.defineProperty(G,b,W)}})}function ZlI(I){if(typeof I==="bigint")return I.toString()+"n";if(typeof I==="string")return`"${I}"`;return`${I}`}function zBI(I){return Object.keys(I).filter((G)=>{return I[G]._zod.optin==="optional"&&I[G]._zod.optout==="optional"})}function TWW(I,G){let Z=I._zod.def,b=Z.checks;if(b&&b.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let l=dJ(I._zod.def,{get shape(){let Y={};for(let N in G){if(!(N in Z.shape))throw Error(`Unrecognized key: "${N}"`);if(!G[N])continue;Y[N]=Z.shape[N]}return X3(this,"shape",Y),Y},checks:[]});return Rm(I,l)}function SWW(I,G){let Z=I._zod.def,b=Z.checks;if(b&&b.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let l=dJ(I._zod.def,{get shape(){let Y={...I._zod.def.shape};for(let N in G){if(!(N in Z.shape))throw Error(`Unrecognized key: "${N}"`);if(!G[N])continue;delete Y[N]}return X3(this,"shape",Y),Y},checks:[]});return Rm(I,l)}function _WW(I,G){if(!d3(G))throw Error("Invalid input to extend: expected a plain object");let Z=I._zod.def.checks;if(Z&&Z.length>0){let l=I._zod.def.shape;for(let Y in G)if(Object.getOwnPropertyDescriptor(l,Y)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let W=dJ(I._zod.def,{get shape(){let l={...I._zod.def.shape,...G};return X3(this,"shape",l),l}});return Rm(I,W)}function nWW(I,G){if(!d3(G))throw Error("Invalid input to safeExtend: expected a plain object");let Z=dJ(I._zod.def,{get shape(){let b={...I._zod.def.shape,...G};return X3(this,"shape",b),b}});return Rm(I,Z)}function PWW(I,G){if(I._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let Z=dJ(I._zod.def,{get shape(){let b={...I._zod.def.shape,...G._zod.def.shape};return X3(this,"shape",b),b},get catchall(){return G._zod.def.catchall},checks:G._zod.def.checks??[]});return Rm(I,Z)}function $WW(I,G,Z){let W=G._zod.def.checks;if(W&&W.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let Y=dJ(G._zod.def,{get shape(){let N=G._zod.def.shape,c={...N};if(Z)for(let X in Z){if(!(X in N))throw Error(`Unrecognized key: "${X}"`);if(!Z[X])continue;c[X]=I?new I({type:"optional",innerType:N[X]}):N[X]}else for(let X in N)c[X]=I?new I({type:"optional",innerType:N[X]}):N[X];return X3(this,"shape",c),c},checks:[]});return Rm(G,Y)}function iWW(I,G,Z){let b=dJ(G._zod.def,{get shape(){let W=G._zod.def.shape,l={...W};if(Z)for(let Y in Z){if(!(Y in l))throw Error(`Unrecognized key: "${Y}"`);if(!Z[Y])continue;l[Y]=new I({type:"nonoptional",innerType:W[Y]})}else for(let Y in W)l[Y]=new I({type:"nonoptional",innerType:W[Y]});return X3(this,"shape",l),l}});return Rm(G,b)}function F3(I,G=0){if(I.aborted===!0)return!0;for(let Z=G;Z<I.issues.length;Z++)if(I.issues[Z]?.continue!==!0)return!0;return!1}function uBI(I,G=0){if(I.aborted===!0)return!0;for(let Z=G;Z<I.issues.length;Z++)if(I.issues[Z]?.continue===!1)return!0;return!1}function QJ(I,G){return G.map((Z)=>{var b;return(b=Z).path??(b.path=[]),Z.path.unshift(I),Z})}function CT(I){return typeof I==="string"?I:I?.message}function Hm(I,G,Z){let b=I.message?I.message:CT(I.inst?._zod.def?.error?.(I))??CT(G?.error?.(I))??CT(Z.customError?.(I))??CT(Z.localeError?.(I))??"Invalid input",{inst:W,continue:l,input:Y,...N}=I;if(N.path??(N.path=[]),N.message=b,G?.reportInput)N.input=Y;return N}function BYZ(I){if(I instanceof Set)return"set";if(I instanceof Map)return"map";if(I instanceof File)return"file";return"unknown"}function zT(I){if(Array.isArray(I))return"array";if(typeof I==="string")return"string";return"unknown"}function gBI(I){let G=typeof I;switch(G){case"number":return Number.isNaN(I)?"nan":"number";case"object":{if(I===null)return"null";if(Array.isArray(I))return"array";let Z=I;if(Z&&Object.getPrototypeOf(Z)!==Object.prototype&&"constructor"in Z&&Z.constructor)return Z.constructor.name}}return G}function sB(...I){let[G,Z,b]=I;if(typeof G==="string")return{message:G,code:"custom",input:Z,inst:b};return{...G}}function fWW(I){return Object.entries(I).filter(([G,Z])=>{return Number.isNaN(Number.parseInt(G,10))}).map((G)=>G[1])}function OYZ(I){let G=atob(I),Z=new Uint8Array(G.length);for(let b=0;b<G.length;b++)Z[b]=G.charCodeAt(b);return Z}function xYZ(I){let G="";for(let Z=0;Z<I.length;Z++)G+=String.fromCharCode(I[Z]);return btoa(G)}function sWW(I){let G=I.replace(/-/g,"+").replace(/_/g,"/"),Z="=".repeat((4-G.length%4)%4);return OYZ(G+Z)}function oWW(I){return xYZ(I).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function rWW(I){let G=I.replace(/^0x/,"");if(G.length%2!==0)throw Error("Invalid hex string length");let Z=new Uint8Array(G.length/2);for(let b=0;b<G.length;b+=2)Z[b/2]=Number.parseInt(G.slice(b,b+2),16);return Z}function tWW(I){return Array.from(I).map((G)=>G.toString(16).padStart(2,"0")).join("")}class MYZ{constructor(...I){}}var kYZ,GlI,LBI,DWW=(I)=>{let G=typeof I;switch(G){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(I)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(I))return"array";if(I===null)return"null";if(I.then&&typeof I.then==="function"&&I.catch&&typeof I.catch==="function")return"promise";if(typeof Map<"u"&&I instanceof Map)return"map";if(typeof Set<"u"&&I instanceof Set)return"set";if(typeof Date<"u"&&I instanceof Date)return"date";if(typeof File<"u"&&I instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${G}`)}},pBI,gYZ,kBI,UYZ;var y1=g(()=>{bL();kYZ=Symbol("evaluating");GlI="captureStackTrace"in Error?Error.captureStackTrace:(...I)=>{};LBI=fB(()=>{if($B.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(I){return!1}});pBI=new Set(["string","number","symbol"]),gYZ=new Set(["string","number","bigint","boolean","symbol","undefined"]);kBI={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},UYZ={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function BBI(I,G=(Z)=>Z.message){let Z={},b=[];for(let W of I.issues)if(W.path.length>0)Z[W.path[0]]=Z[W.path[0]]||[],Z[W.path[0]].push(G(W));else b.push(G(W));return{formErrors:b,fieldErrors:Z}}function OBI(I,G=(Z)=>Z.message){let Z={_errors:[]},b=(W,l=[])=>{for(let Y of W.issues)if(Y.code==="invalid_union"&&Y.errors.length)Y.errors.map((N)=>b({issues:N},[...l,...Y.path]));else if(Y.code==="invalid_key")b({issues:Y.issues},[...l,...Y.path]);else if(Y.code==="invalid_element")b({issues:Y.issues},[...l,...Y.path]);else{let N=[...l,...Y.path];if(N.length===0)Z._errors.push(G(Y));else{let c=Z,X=0;while(X<N.length){let d=N[X];if(X!==N.length-1)c[d]=c[d]||{_errors:[]};else c[d]=c[d]||{_errors:[]},c[d]._errors.push(G(Y));c=c[d],X++}}}};return b(I),Z}var KYZ=(I,G)=>{I.name="$ZodError",Object.defineProperty(I,"_zod",{value:I._zod,enumerable:!1}),Object.defineProperty(I,"issues",{value:G,enumerable:!1}),I.message=JSON.stringify(G,iB,2),Object.defineProperty(I,"toString",{value:()=>I.message,enumerable:!1})},blI,UBI;var xBI=g(()=>{bL();y1();blI=UI("$ZodError",KYZ),UBI=UI("$ZodError",KYZ,{Parent:Error})});var WlI=(I)=>(G,Z,b,W)=>{let l=b?{...b,async:!1}:{async:!1},Y=G._zod.run({value:Z,issues:[]},l);if(Y instanceof Promise)throw new XJ;if(Y.issues.length){let N=new(W?.Err??I)(Y.issues.map((c)=>Hm(c,l,qd())));throw GlI(N,W?.callee),N}return Y.value},llI=(I)=>async(G,Z,b,W)=>{let l=b?{...b,async:!0}:{async:!0},Y=G._zod.run({value:Z,issues:[]},l);if(Y instanceof Promise)Y=await Y;if(Y.issues.length){let N=new(W?.Err??I)(Y.issues.map((c)=>Hm(c,l,qd())));throw GlI(N,W?.callee),N}return Y.value},kT=(I)=>(G,Z,b)=>{let W=b?{...b,async:!1}:{async:!1},l=G._zod.run({value:Z,issues:[]},W);if(l instanceof Promise)throw new XJ;return l.issues.length?{success:!1,error:new(I??blI)(l.issues.map((Y)=>Hm(Y,W,qd())))}:{success:!0,data:l.value}},aYZ,uT=(I)=>async(G,Z,b)=>{let W=b?{...b,async:!0}:{async:!0},l=G._zod.run({value:Z,issues:[]},W);if(l instanceof Promise)l=await l;return l.issues.length?{success:!1,error:new I(l.issues.map((Y)=>Hm(Y,W,qd())))}:{success:!0,data:l.value}},jYZ,DYZ=(I)=>(G,Z,b)=>{let W=b?{...b,direction:"backward"}:{direction:"backward"};return WlI(I)(G,Z,W)},qYZ=(I)=>(G,Z,b)=>{return WlI(I)(G,Z,b)},TYZ=(I)=>async(G,Z,b)=>{let W=b?{...b,direction:"backward"}:{direction:"backward"};return llI(I)(G,Z,W)},SYZ=(I)=>async(G,Z,b)=>{return llI(I)(G,Z,b)},_YZ=(I)=>(G,Z,b)=>{let W=b?{...b,direction:"backward"}:{direction:"backward"};return kT(I)(G,Z,W)},nYZ=(I)=>(G,Z,b)=>{return kT(I)(G,Z,b)},PYZ=(I)=>async(G,Z,b)=>{let W=b?{...b,direction:"backward"}:{direction:"backward"};return uT(I)(G,Z,W)},$YZ=(I)=>async(G,Z,b)=>{return uT(I)(G,Z,b)};var MBI=g(()=>{bL();xBI();y1();aYZ=kT(UBI),jYZ=uT(UBI)});function ZNZ(){return new RegExp(IlW,"u")}function FNZ(I){return typeof I.precision==="number"?I.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":I.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${I.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function QNZ(I){return new RegExp(`^${FNZ(I)}$`)}function mNZ(I){let G=FNZ({precision:I.precision}),Z=["Z"];if(I.local)Z.push("");if(I.offset)Z.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let b=`${G}(?:${Z.join("|")})`;return new RegExp(`^${XNZ}T(?:${b})$`)}var iYZ,fYZ,sYZ,oYZ,rYZ,tYZ,eYZ,INZ,KBI=(I)=>{if(!I)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${I}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},GNZ,IlW="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",bNZ,WNZ,lNZ,YNZ,NNZ,aBI,VNZ,cNZ,XNZ="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",dNZ,RNZ=(I)=>{let G=I?`[\\s\\S]{${I?.minimum??0},${I?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${G}$`)},HNZ,hNZ,YlI,wNZ,JNZ,vNZ,ENZ;var NlI=g(()=>{iYZ=/^[cC][0-9a-z]{6,}$/,fYZ=/^[0-9a-z]+$/,sYZ=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,oYZ=/^[0-9a-vA-V]{20}$/,rYZ=/^[A-Za-z0-9]{27}$/,tYZ=/^[a-zA-Z0-9_-]{21}$/,eYZ=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,INZ=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,GNZ=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;bNZ=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,WNZ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,lNZ=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,YNZ=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,NNZ=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,aBI=/^[A-Za-z0-9_-]*$/,VNZ=/^https?$/,cNZ=/^\+[1-9]\d{6,14}$/,dNZ=new RegExp(`^${XNZ}$`);HNZ=/^-?\d+n?$/,hNZ=/^-?\d+$/,YlI=/^-?\d+(?:\.\d+)?$/,wNZ=/^(?:true|false)$/i,JNZ=/^null$/i,vNZ=/^[^A-Z]*$/,ENZ=/^[^a-z]*$/});var Dc,yNZ,jBI,DBI,CNZ,ANZ,LNZ,pNZ,zNZ,UT,kNZ,uNZ,gNZ,UNZ,BNZ,ONZ,xNZ;var VlI=g(()=>{bL();NlI();y1();Dc=UI("$ZodCheck",(I,G)=>{var Z;I._zod??(I._zod={}),I._zod.def=G,(Z=I._zod).onattach??(Z.onattach=[])}),yNZ={number:"number",bigint:"bigint",object:"date"},jBI=UI("$ZodCheckLessThan",(I,G)=>{Dc.init(I,G);let Z=yNZ[typeof G.value];I._zod.onattach.push((b)=>{let W=b._zod.bag,l=(G.inclusive?W.maximum:W.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(G.value<l)if(G.inclusive)W.maximum=G.value;else W.exclusiveMaximum=G.value}),I._zod.check=(b)=>{if(G.inclusive?b.value<=G.value:b.value<G.value)return;b.issues.push({origin:Z,code:"too_big",maximum:typeof G.value==="object"?G.value.getTime():G.value,input:b.value,inclusive:G.inclusive,inst:I,continue:!G.abort})}}),DBI=UI("$ZodCheckGreaterThan",(I,G)=>{Dc.init(I,G);let Z=yNZ[typeof G.value];I._zod.onattach.push((b)=>{let W=b._zod.bag,l=(G.inclusive?W.minimum:W.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(G.value>l)if(G.inclusive)W.minimum=G.value;else W.exclusiveMinimum=G.value}),I._zod.check=(b)=>{if(G.inclusive?b.value>=G.value:b.value>G.value)return;b.issues.push({origin:Z,code:"too_small",minimum:typeof G.value==="object"?G.value.getTime():G.value,input:b.value,inclusive:G.inclusive,inst:I,continue:!G.abort})}}),CNZ=UI("$ZodCheckMultipleOf",(I,G)=>{Dc.init(I,G),I._zod.onattach.push((Z)=>{var b;(b=Z._zod.bag).multipleOf??(b.multipleOf=G.value)}),I._zod.check=(Z)=>{if(typeof Z.value!==typeof G.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Z.value==="bigint"?Z.value%G.value===BigInt(0):CBI(Z.value,G.value)===0)return;Z.issues.push({origin:typeof Z.value,code:"not_multiple_of",divisor:G.value,input:Z.value,inst:I,continue:!G.abort})}}),ANZ=UI("$ZodCheckNumberFormat",(I,G)=>{Dc.init(I,G),G.format=G.format||"float64";let Z=G.format?.includes("int"),b=Z?"int":"number",[W,l]=kBI[G.format];I._zod.onattach.push((Y)=>{let N=Y._zod.bag;if(N.format=G.format,N.minimum=W,N.maximum=l,Z)N.pattern=hNZ}),I._zod.check=(Y)=>{let N=Y.value;if(Z){if(!Number.isInteger(N)){Y.issues.push({expected:b,format:G.format,code:"invalid_type",continue:!1,input:N,inst:I});return}if(!Number.isSafeInteger(N)){if(N>0)Y.issues.push({input:N,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:I,origin:b,inclusive:!0,continue:!G.abort});else Y.issues.push({input:N,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:I,origin:b,inclusive:!0,continue:!G.abort});return}}if(N<W)Y.issues.push({origin:"number",input:N,code:"too_small",minimum:W,inclusive:!0,inst:I,continue:!G.abort});if(N>l)Y.issues.push({origin:"number",input:N,code:"too_big",maximum:l,inclusive:!0,inst:I,continue:!G.abort})}}),LNZ=UI("$ZodCheckMaxLength",(I,G)=>{var Z;Dc.init(I,G),(Z=I._zod.def).when??(Z.when=(b)=>{let W=b.value;return!LT(W)&&W.length!==void 0}),I._zod.onattach.push((b)=>{let W=b._zod.bag.maximum??Number.POSITIVE_INFINITY;if(G.maximum<W)b._zod.bag.maximum=G.maximum}),I._zod.check=(b)=>{let W=b.value;if(W.length<=G.maximum)return;let Y=zT(W);b.issues.push({origin:Y,code:"too_big",maximum:G.maximum,inclusive:!0,input:W,inst:I,continue:!G.abort})}}),pNZ=UI("$ZodCheckMinLength",(I,G)=>{var Z;Dc.init(I,G),(Z=I._zod.def).when??(Z.when=(b)=>{let W=b.value;return!LT(W)&&W.length!==void 0}),I._zod.onattach.push((b)=>{let W=b._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(G.minimum>W)b._zod.bag.minimum=G.minimum}),I._zod.check=(b)=>{let W=b.value;if(W.length>=G.minimum)return;let Y=zT(W);b.issues.push({origin:Y,code:"too_small",minimum:G.minimum,inclusive:!0,input:W,inst:I,continue:!G.abort})}}),zNZ=UI("$ZodCheckLengthEquals",(I,G)=>{var Z;Dc.init(I,G),(Z=I._zod.def).when??(Z.when=(b)=>{let W=b.value;return!LT(W)&&W.length!==void 0}),I._zod.onattach.push((b)=>{let W=b._zod.bag;W.minimum=G.length,W.maximum=G.length,W.length=G.length}),I._zod.check=(b)=>{let W=b.value,l=W.length;if(l===G.length)return;let Y=zT(W),N=l>G.length;b.issues.push({origin:Y,...N?{code:"too_big",maximum:G.length}:{code:"too_small",minimum:G.length},inclusive:!0,exact:!0,input:b.value,inst:I,continue:!G.abort})}}),UT=UI("$ZodCheckStringFormat",(I,G)=>{var Z,b;if(Dc.init(I,G),I._zod.onattach.push((W)=>{let l=W._zod.bag;if(l.format=G.format,G.pattern)l.patterns??(l.patterns=new Set),l.patterns.add(G.pattern)}),G.pattern)(Z=I._zod).check??(Z.check=(W)=>{if(G.pattern.lastIndex=0,G.pattern.test(W.value))return;W.issues.push({origin:"string",code:"invalid_format",format:G.format,input:W.value,...G.pattern?{pattern:G.pattern.toString()}:{},inst:I,continue:!G.abort})});else(b=I._zod).check??(b.check=()=>{})}),kNZ=UI("$ZodCheckRegex",(I,G)=>{UT.init(I,G),I._zod.check=(Z)=>{if(G.pattern.lastIndex=0,G.pattern.test(Z.value))return;Z.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Z.value,pattern:G.pattern.toString(),inst:I,continue:!G.abort})}}),uNZ=UI("$ZodCheckLowerCase",(I,G)=>{G.pattern??(G.pattern=vNZ),UT.init(I,G)}),gNZ=UI("$ZodCheckUpperCase",(I,G)=>{G.pattern??(G.pattern=ENZ),UT.init(I,G)}),UNZ=UI("$ZodCheckIncludes",(I,G)=>{Dc.init(I,G);let Z=FJ(G.includes),b=new RegExp(typeof G.position==="number"?`^.{${G.position}}${Z}`:Z);G.pattern=b,I._zod.onattach.push((W)=>{let l=W._zod.bag;l.patterns??(l.patterns=new Set),l.patterns.add(b)}),I._zod.check=(W)=>{if(W.value.includes(G.includes,G.position))return;W.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:G.includes,input:W.value,inst:I,continue:!G.abort})}}),BNZ=UI("$ZodCheckStartsWith",(I,G)=>{Dc.init(I,G);let Z=new RegExp(`^${FJ(G.prefix)}.*`);G.pattern??(G.pattern=Z),I._zod.onattach.push((b)=>{let W=b._zod.bag;W.patterns??(W.patterns=new Set),W.patterns.add(Z)}),I._zod.check=(b)=>{if(b.value.startsWith(G.prefix))return;b.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:G.prefix,input:b.value,inst:I,continue:!G.abort})}}),ONZ=UI("$ZodCheckEndsWith",(I,G)=>{Dc.init(I,G);let Z=new RegExp(`.*${FJ(G.suffix)}$`);G.pattern??(G.pattern=Z),I._zod.onattach.push((b)=>{let W=b._zod.bag;W.patterns??(W.patterns=new Set),W.patterns.add(Z)}),I._zod.check=(b)=>{if(b.value.endsWith(G.suffix))return;b.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:G.suffix,input:b.value,inst:I,continue:!G.abort})}}),xNZ=UI("$ZodCheckOverwrite",(I,G)=>{Dc.init(I,G),I._zod.check=(Z)=>{Z.value=G.tx(Z.value)}})});class qBI{constructor(I=[]){if(this.content=[],this.indent=0,this)this.args=I}indented(I){this.indent+=1,I(this),this.indent-=1}write(I){if(typeof I==="function"){I(this,{execution:"sync"}),I(this,{execution:"async"});return}let Z=I.split(`
7612
7612
  `).filter((l)=>l),b=Math.min(...Z.map((l)=>l.length-l.trimStart().length)),W=Z.map((l)=>l.slice(b)).map((l)=>" ".repeat(this.indent*2)+l);for(let l of W)this.content.push(l)}compile(){let I=Function,G=this?.args,b=[...(this?.content??[""]).map((W)=>` ${W}`)];return new I(...G,b.join(`
7613
7613
  `))}}var KNZ;var TBI=g(()=>{KNZ={major:4,minor:4,patch:2}});function X2Z(I){if(I==="")return!0;if(/\s/.test(I))return!1;if(I.length%4!==0)return!1;try{return atob(I),!0}catch{return!1}}function GlW(I){if(!aBI.test(I))return!1;let G=I.replace(/[-_]/g,(b)=>b==="-"?"+":"/"),Z=G.padEnd(Math.ceil(G.length/4)*4,"=");return X2Z(Z)}function ZlW(I,G=null){try{let Z=I.split(".");if(Z.length!==3)return!1;let[b]=Z;if(!b)return!1;let W=JSON.parse(atob(b));if("typ"in W&&W?.typ!=="JWT")return!1;if(!W.alg)return!1;if(G&&(!("alg"in W)||W.alg!==G))return!1;return!0}catch{return!1}}function aNZ(I,G,Z){if(I.issues.length)G.issues.push(...QJ(Z,I.issues));G.value[Z]=I.value}function XlI(I,G,Z,b,W,l){let Y=Z in b;if(I.issues.length){if(W&&l&&!Y)return;G.issues.push(...QJ(Z,I.issues))}if(!Y&&!W){if(!I.issues.length)G.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[Z]});return}if(I.value===void 0){if(Y)G.value[Z]=void 0}else G.value[Z]=I.value}function A2Z(I){let G=Object.keys(I.shape);for(let b of G)if(!I.shape?.[b]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${b}": expected a Zod schema`);let Z=zBI(I.shape);return{...I,keys:G,keySet:new Set(G),numKeys:G.length,optionalKeys:new Set(Z)}}function L2Z(I,G,Z,b,W,l){let Y=[],N=W.keySet,c=W.catchall._zod,X=c.def.type,d=c.optin==="optional",F=c.optout==="optional";for(let Q in G){if(Q==="__proto__")continue;if(N.has(Q))continue;if(X==="never"){Y.push(Q);continue}let m=c.run({value:G[Q],issues:[]},b);if(m instanceof Promise)I.push(m.then((R)=>XlI(R,Z,Q,G,d,F)));else XlI(m,Z,Q,G,d,F)}if(Y.length)Z.issues.push({code:"unrecognized_keys",keys:Y,input:G,inst:l});if(!I.length)return Z;return Promise.all(I).then(()=>{return Z})}function jNZ(I,G,Z,b){for(let l of I)if(l.issues.length===0)return G.value=l.value,G;let W=I.filter((l)=>!F3(l));if(W.length===1)return G.value=W[0].value,W[0];return G.issues.push({code:"invalid_union",input:G.value,inst:Z,errors:I.map((l)=>l.issues.map((Y)=>Hm(Y,b,qd())))}),G}function SBI(I,G){if(I===G)return{valid:!0,data:I};if(I instanceof Date&&G instanceof Date&&+I===+G)return{valid:!0,data:I};if(d3(I)&&d3(G)){let Z=Object.keys(G),b=Object.keys(I).filter((l)=>Z.indexOf(l)!==-1),W={...I,...G};for(let l of b){let Y=SBI(I[l],G[l]);if(!Y.valid)return{valid:!1,mergeErrorPath:[l,...Y.mergeErrorPath]};W[l]=Y.data}return{valid:!0,data:W}}if(Array.isArray(I)&&Array.isArray(G)){if(I.length!==G.length)return{valid:!1,mergeErrorPath:[]};let Z=[];for(let b=0;b<I.length;b++){let W=I[b],l=G[b],Y=SBI(W,l);if(!Y.valid)return{valid:!1,mergeErrorPath:[b,...Y.mergeErrorPath]};Z.push(Y.data)}return{valid:!0,data:Z}}return{valid:!1,mergeErrorPath:[]}}function DNZ(I,G,Z){let b=new Map,W;for(let N of G.issues)if(N.code==="unrecognized_keys"){W??(W=N);for(let c of N.keys){if(!b.has(c))b.set(c,{});b.get(c).l=!0}}else I.issues.push(N);for(let N of Z.issues)if(N.code==="unrecognized_keys")for(let c of N.keys){if(!b.has(c))b.set(c,{});b.get(c).r=!0}else I.issues.push(N);let l=[...b].filter(([,N])=>N.l&&N.r).map(([N])=>N);if(l.length&&W)I.issues.push({...W,keys:l});if(F3(I))return I;let Y=SBI(G.value,Z.value);if(!Y.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(Y.mergeErrorPath)}`);return I.value=Y.data,I}function qNZ(I,G){if(I.issues.length&&G===void 0)return{issues:[],value:void 0};return I}function TNZ(I,G){if(I.value===void 0)I.value=G.defaultValue;return I}function SNZ(I,G){if(!I.issues.length&&I.value===void 0)I.issues.push({code:"invalid_type",expected:"nonoptional",input:I.value,inst:G});return I}function clI(I,G,Z){if(I.issues.length)return I.aborted=!0,I;return G._zod.run({value:I.value,issues:I.issues},Z)}function _NZ(I){return I.value=Object.freeze(I.value),I}function nNZ(I,G,Z,b){if(!I){let W={code:"custom",input:Z,inst:b,path:[...b._zod.def.path??[]],continue:!b._zod.def.abort};if(b._zod.def.params)W.params=b._zod.def.params;G.issues.push(sB(W))}}var VY,dlI,ZN,PNZ,$NZ,iNZ,fNZ,sNZ,oNZ,rNZ,tNZ,eNZ,I2Z,G2Z,Z2Z,b2Z,W2Z,l2Z,Y2Z,N2Z,V2Z,c2Z,d2Z,F2Z,Q2Z,m2Z,_BI,R2Z,H2Z,h2Z,w2Z,J2Z,v2Z,E2Z,y2Z,C2Z,blW,p2Z,nBI,z2Z,k2Z,u2Z,g2Z,U2Z,B2Z,PBI,O2Z,x2Z,M2Z,K2Z,a2Z,j2Z,$BI,D2Z,q2Z,T2Z;var S2Z=g(()=>{VlI();bL();MBI();NlI();y1();TBI();y1();VY=UI("$ZodType",(I,G)=>{var Z;I??(I={}),I._zod.def=G,I._zod.bag=I._zod.bag||{},I._zod.version=KNZ;let b=[...I._zod.def.checks??[]];if(I._zod.traits.has("$ZodCheck"))b.unshift(I);for(let W of b)for(let l of W._zod.onattach)l(I);if(b.length===0)(Z=I._zod).deferred??(Z.deferred=[]),I._zod.deferred?.push(()=>{I._zod.run=I._zod.parse});else{let W=(Y,N,c)=>{let X=F3(Y),d;for(let F of N){if(F._zod.def.when){if(uBI(Y))continue;if(!F._zod.def.when(Y))continue}else if(X)continue;let Q=Y.issues.length,m=F._zod.check(Y);if(m instanceof Promise&&c?.async===!1)throw new XJ;if(d||m instanceof Promise)d=(d??Promise.resolve()).then(async()=>{if(await m,Y.issues.length===Q)return;if(!X)X=F3(Y,Q)});else{if(Y.issues.length===Q)continue;if(!X)X=F3(Y,Q)}}if(d)return d.then(()=>{return Y});return Y},l=(Y,N,c)=>{if(F3(Y))return Y.aborted=!0,Y;let X=W(N,b,c);if(X instanceof Promise){if(c.async===!1)throw new XJ;return X.then((d)=>I._zod.parse(d,c))}return I._zod.parse(X,c)};I._zod.run=(Y,N)=>{if(N.skipChecks)return I._zod.parse(Y,N);if(N.direction==="backward"){let X=I._zod.parse({value:Y.value,issues:[]},{...N,skipChecks:!0});if(X instanceof Promise)return X.then((d)=>{return l(d,Y,N)});return l(X,Y,N)}let c=I._zod.parse(Y,N);if(c instanceof Promise){if(N.async===!1)throw new XJ;return c.then((X)=>W(X,b,N))}return W(c,b,N)}}nW(I,"~standard",()=>({validate:(W)=>{try{let l=aYZ(I,W);return l.success?{value:l.data}:{issues:l.error?.issues}}catch(l){return jYZ(I,W).then((Y)=>Y.success?{value:Y.data}:{issues:Y.error?.issues})}},vendor:"zod",version:1}))}),dlI=UI("$ZodString",(I,G)=>{VY.init(I,G),I._zod.pattern=[...I?._zod.bag?.patterns??[]].pop()??RNZ(I._zod.bag),I._zod.parse=(Z,b)=>{if(G.coerce)try{Z.value=String(Z.value)}catch(W){}if(typeof Z.value==="string")return Z;return Z.issues.push({expected:"string",code:"invalid_type",input:Z.value,inst:I}),Z}}),ZN=UI("$ZodStringFormat",(I,G)=>{UT.init(I,G),dlI.init(I,G)}),PNZ=UI("$ZodGUID",(I,G)=>{G.pattern??(G.pattern=INZ),ZN.init(I,G)}),$NZ=UI("$ZodUUID",(I,G)=>{if(G.version){let b={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[G.version];if(b===void 0)throw Error(`Invalid UUID version: "${G.version}"`);G.pattern??(G.pattern=KBI(b))}else G.pattern??(G.pattern=KBI());ZN.init(I,G)}),iNZ=UI("$ZodEmail",(I,G)=>{G.pattern??(G.pattern=GNZ),ZN.init(I,G)}),fNZ=UI("$ZodURL",(I,G)=>{ZN.init(I,G),I._zod.check=(Z)=>{try{let b=Z.value.trim();if(!G.normalize&&G.protocol?.source===VNZ.source){if(!/^https?:\/\//i.test(b)){Z.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:Z.value,inst:I,continue:!G.abort});return}}let W=new URL(b);if(G.hostname){if(G.hostname.lastIndex=0,!G.hostname.test(W.hostname))Z.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:G.hostname.source,input:Z.value,inst:I,continue:!G.abort})}if(G.protocol){if(G.protocol.lastIndex=0,!G.protocol.test(W.protocol.endsWith(":")?W.protocol.slice(0,-1):W.protocol))Z.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:G.protocol.source,input:Z.value,inst:I,continue:!G.abort})}if(G.normalize)Z.value=W.href;else Z.value=b;return}catch(b){Z.issues.push({code:"invalid_format",format:"url",input:Z.value,inst:I,continue:!G.abort})}}}),sNZ=UI("$ZodEmoji",(I,G)=>{G.pattern??(G.pattern=ZNZ()),ZN.init(I,G)}),oNZ=UI("$ZodNanoID",(I,G)=>{G.pattern??(G.pattern=tYZ),ZN.init(I,G)}),rNZ=UI("$ZodCUID",(I,G)=>{G.pattern??(G.pattern=iYZ),ZN.init(I,G)}),tNZ=UI("$ZodCUID2",(I,G)=>{G.pattern??(G.pattern=fYZ),ZN.init(I,G)}),eNZ=UI("$ZodULID",(I,G)=>{G.pattern??(G.pattern=sYZ),ZN.init(I,G)}),I2Z=UI("$ZodXID",(I,G)=>{G.pattern??(G.pattern=oYZ),ZN.init(I,G)}),G2Z=UI("$ZodKSUID",(I,G)=>{G.pattern??(G.pattern=rYZ),ZN.init(I,G)}),Z2Z=UI("$ZodISODateTime",(I,G)=>{G.pattern??(G.pattern=mNZ(G)),ZN.init(I,G)}),b2Z=UI("$ZodISODate",(I,G)=>{G.pattern??(G.pattern=dNZ),ZN.init(I,G)}),W2Z=UI("$ZodISOTime",(I,G)=>{G.pattern??(G.pattern=QNZ(G)),ZN.init(I,G)}),l2Z=UI("$ZodISODuration",(I,G)=>{G.pattern??(G.pattern=eYZ),ZN.init(I,G)}),Y2Z=UI("$ZodIPv4",(I,G)=>{G.pattern??(G.pattern=bNZ),ZN.init(I,G),I._zod.bag.format="ipv4"}),N2Z=UI("$ZodIPv6",(I,G)=>{G.pattern??(G.pattern=WNZ),ZN.init(I,G),I._zod.bag.format="ipv6",I._zod.check=(Z)=>{try{new URL(`http://[${Z.value}]`)}catch{Z.issues.push({code:"invalid_format",format:"ipv6",input:Z.value,inst:I,continue:!G.abort})}}}),V2Z=UI("$ZodCIDRv4",(I,G)=>{G.pattern??(G.pattern=lNZ),ZN.init(I,G)}),c2Z=UI("$ZodCIDRv6",(I,G)=>{G.pattern??(G.pattern=YNZ),ZN.init(I,G),I._zod.check=(Z)=>{let b=Z.value.split("/");try{if(b.length!==2)throw Error();let[W,l]=b;if(!l)throw Error();let Y=Number(l);if(`${Y}`!==l)throw Error();if(Y<0||Y>128)throw Error();new URL(`http://[${W}]`)}catch{Z.issues.push({code:"invalid_format",format:"cidrv6",input:Z.value,inst:I,continue:!G.abort})}}});d2Z=UI("$ZodBase64",(I,G)=>{G.pattern??(G.pattern=NNZ),ZN.init(I,G),I._zod.bag.contentEncoding="base64",I._zod.check=(Z)=>{if(X2Z(Z.value))return;Z.issues.push({code:"invalid_format",format:"base64",input:Z.value,inst:I,continue:!G.abort})}});F2Z=UI("$ZodBase64URL",(I,G)=>{G.pattern??(G.pattern=aBI),ZN.init(I,G),I._zod.bag.contentEncoding="base64url",I._zod.check=(Z)=>{if(GlW(Z.value))return;Z.issues.push({code:"invalid_format",format:"base64url",input:Z.value,inst:I,continue:!G.abort})}}),Q2Z=UI("$ZodE164",(I,G)=>{G.pattern??(G.pattern=cNZ),ZN.init(I,G)});m2Z=UI("$ZodJWT",(I,G)=>{ZN.init(I,G),I._zod.check=(Z)=>{if(ZlW(Z.value,G.alg))return;Z.issues.push({code:"invalid_format",format:"jwt",input:Z.value,inst:I,continue:!G.abort})}}),_BI=UI("$ZodNumber",(I,G)=>{VY.init(I,G),I._zod.pattern=I._zod.bag.pattern??YlI,I._zod.parse=(Z,b)=>{if(G.coerce)try{Z.value=Number(Z.value)}catch(Y){}let W=Z.value;if(typeof W==="number"&&!Number.isNaN(W)&&Number.isFinite(W))return Z;let l=typeof W==="number"?Number.isNaN(W)?"NaN":!Number.isFinite(W)?"Infinity":void 0:void 0;return Z.issues.push({expected:"number",code:"invalid_type",input:W,inst:I,...l?{received:l}:{}}),Z}}),R2Z=UI("$ZodNumberFormat",(I,G)=>{ANZ.init(I,G),_BI.init(I,G)}),H2Z=UI("$ZodBoolean",(I,G)=>{VY.init(I,G),I._zod.pattern=wNZ,I._zod.parse=(Z,b)=>{if(G.coerce)try{Z.value=Boolean(Z.value)}catch(l){}let W=Z.value;if(typeof W==="boolean")return Z;return Z.issues.push({expected:"boolean",code:"invalid_type",input:W,inst:I}),Z}}),h2Z=UI("$ZodBigInt",(I,G)=>{VY.init(I,G),I._zod.pattern=HNZ,I._zod.parse=(Z,b)=>{if(G.coerce)try{Z.value=BigInt(Z.value)}catch(W){}if(typeof Z.value==="bigint")return Z;return Z.issues.push({expected:"bigint",code:"invalid_type",input:Z.value,inst:I}),Z}}),w2Z=UI("$ZodNull",(I,G)=>{VY.init(I,G),I._zod.pattern=JNZ,I._zod.values=new Set([null]),I._zod.parse=(Z,b)=>{let W=Z.value;if(W===null)return Z;return Z.issues.push({expected:"null",code:"invalid_type",input:W,inst:I}),Z}}),J2Z=UI("$ZodAny",(I,G)=>{VY.init(I,G),I._zod.parse=(Z)=>Z}),v2Z=UI("$ZodUnknown",(I,G)=>{VY.init(I,G),I._zod.parse=(Z)=>Z}),E2Z=UI("$ZodNever",(I,G)=>{VY.init(I,G),I._zod.parse=(Z,b)=>{return Z.issues.push({expected:"never",code:"invalid_type",input:Z.value,inst:I}),Z}}),y2Z=UI("$ZodDate",(I,G)=>{VY.init(I,G),I._zod.parse=(Z,b)=>{if(G.coerce)try{Z.value=new Date(Z.value)}catch(N){}let W=Z.value,l=W instanceof Date;if(l&&!Number.isNaN(W.getTime()))return Z;return Z.issues.push({expected:"date",code:"invalid_type",input:W,...l?{received:"Invalid Date"}:{},inst:I}),Z}});C2Z=UI("$ZodArray",(I,G)=>{VY.init(I,G),I._zod.parse=(Z,b)=>{let W=Z.value;if(!Array.isArray(W))return Z.issues.push({expected:"array",code:"invalid_type",input:W,inst:I}),Z;Z.value=Array(W.length);let l=[];for(let Y=0;Y<W.length;Y++){let N=W[Y],c=G.element._zod.run({value:N,issues:[]},b);if(c instanceof Promise)l.push(c.then((X)=>aNZ(X,Z,Y)));else aNZ(c,Z,Y)}if(l.length)return Promise.all(l).then(()=>Z);return Z}});blW=UI("$ZodObject",(I,G)=>{if(VY.init(I,G),!Object.getOwnPropertyDescriptor(G,"shape")?.get){let N=G.shape;Object.defineProperty(G,"shape",{get:()=>{let c={...N};return Object.defineProperty(G,"shape",{value:c}),c}})}let b=fB(()=>A2Z(G));nW(I._zod,"propValues",()=>{let N=G.shape,c={};for(let X in N){let d=N[X]._zod;if(d.values){c[X]??(c[X]=new Set);for(let F of d.values)c[X].add(F)}}return c});let W=WL,l=G.catchall,Y;I._zod.parse=(N,c)=>{Y??(Y=b.value);let X=N.value;if(!W(X))return N.issues.push({expected:"object",code:"invalid_type",input:X,inst:I}),N;N.value={};let d=[],F=Y.shape;for(let Q of Y.keys){let m=F[Q],R=m._zod.optin==="optional",H=m._zod.optout==="optional",h=m._zod.run({value:X[Q],issues:[]},c);if(h instanceof Promise)d.push(h.then((E)=>XlI(E,N,Q,X,R,H)));else XlI(h,N,Q,X,R,H)}if(!l)return d.length?Promise.all(d).then(()=>N):N;return L2Z(d,X,N,c,b.value,I)}}),p2Z=UI("$ZodObjectJIT",(I,G)=>{blW.init(I,G);let Z=I._zod.parse,b=fB(()=>A2Z(G)),W=(Q)=>{let m=new qBI(["shape","payload","ctx"]),R=b.value,H=(J)=>{let y=IlI(J);return`shape[${y}]._zod.run({ value: input[${y}], issues: [] }, ctx)`};m.write("const input = payload.value;");let h=Object.create(null),E=0;for(let J of R.keys)h[J]=`key_${E++}`;m.write("const newResult = {};");for(let J of R.keys){let y=h[J],v=IlI(J),A=Q[J],u=A?._zod?.optin==="optional",L=A?._zod?.optout==="optional";if(m.write(`const ${y} = ${H(J)};`),u&&L)m.write(`
7614
7614
  if (${y}.issues.length) {