@rizom/brain 0.2.0-alpha.562 → 0.2.0-alpha.563

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 (32) hide show
  1. package/dist/brain.js +102 -102
  2. package/dist/chunks/{app-a7vxvxy9.js → app-m9vywjmb.js} +2 -2
  3. package/dist/chunks/{blog-post-adapter-cc701qpv.js → blog-post-adapter-k2s1gtyd.js} +2 -2
  4. package/dist/chunks/{index-wx77bxhg.js → index-1japmzr5.js} +3 -3
  5. package/dist/chunks/{index-wx77bxhg.js.map → index-1japmzr5.js.map} +1 -1
  6. package/dist/chunks/{index-h9xpqxzp.js → index-gz7t3d03.js} +9 -9
  7. package/dist/chunks/{index-h9xpqxzp.js.map → index-gz7t3d03.js.map} +8 -8
  8. package/dist/chunks/{index-pp913f7a.js → index-kx66vcbc.js} +2 -2
  9. package/dist/chunks/{index-yx9vsh2j.js → index-qsvhvhw2.js} +5 -5
  10. package/dist/chunks/{index-yx9vsh2j.js.map → index-qsvhvhw2.js.map} +3 -3
  11. package/dist/chunks/{index-mrvc27y1.js → index-vfz52jnm.js} +2 -2
  12. package/dist/chunks/{index-z7xwqb76.js → index-ycpbraxz.js} +2 -2
  13. package/dist/chunks/{linkedin-template-rt27nj4a.js → linkedin-template-tz7j2s0x.js} +2 -2
  14. package/dist/chunks/{rss-datasource-8v1t5gw4.js → rss-datasource-k9bvb8x4.js} +2 -2
  15. package/dist/entities.js +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/interfaces.js +1 -1
  18. package/dist/migrations/job-queue/meta/0000_snapshot.json +4 -13
  19. package/dist/model.d.ts +6 -0
  20. package/dist/model.js +42 -42
  21. package/dist/model.js.map +2 -2
  22. package/dist/plugins.js +1 -1
  23. package/dist/services.js +1 -1
  24. package/dist/ui/studio-chunks/main-1ct8r3ev.js.map +3 -3
  25. package/package.json +1 -1
  26. /package/dist/chunks/{app-a7vxvxy9.js.map → app-m9vywjmb.js.map} +0 -0
  27. /package/dist/chunks/{blog-post-adapter-cc701qpv.js.map → blog-post-adapter-k2s1gtyd.js.map} +0 -0
  28. /package/dist/chunks/{index-pp913f7a.js.map → index-kx66vcbc.js.map} +0 -0
  29. /package/dist/chunks/{index-mrvc27y1.js.map → index-vfz52jnm.js.map} +0 -0
  30. /package/dist/chunks/{index-z7xwqb76.js.map → index-ycpbraxz.js.map} +0 -0
  31. /package/dist/chunks/{linkedin-template-rt27nj4a.js.map → linkedin-template-tz7j2s0x.js.map} +0 -0
  32. /package/dist/chunks/{rss-datasource-8v1t5gw4.js.map → rss-datasource-k9bvb8x4.js.map} +0 -0
@@ -127,7 +127,7 @@ Instructions:
127
127
  2. Search through available entities for relevant information
128
128
  3. Provide accurate, contextual responses based on the data
129
129
  4. If information is missing, clearly state what additional data might be helpful
130
- 5. Structure your response clearly and concisely`,dataSourceId:"shell:ai-content",requiredPermission:"public",useKnowledgeContext:!0,schema:bS,formatter:new yg};var whe=o.object({type:o.string().describe("Type of source (e.g., note, article)"),title:o.string().describe("Title or identifier of the source"),relevance:o.number().min(0).max(1).describe("Relevance score")}),C2=o.object({answer:o.string().describe("The answer to the user's query"),sources:o.array(whe).optional().describe("Sources used to generate the answer"),confidence:o.enum(["high","medium","low"]).optional().describe("Confidence level of the answer"),suggestions:o.array(o.string()).optional().describe("Related topics or follow-up questions")});function ks(e,t){return e.parse(t)}class Rs{callback;heartbeatInterval;constructor(e){this.callback=e}static from(e){if(!e)return;return new Rs(e)}static noop(){return new Rs(async()=>{})}createSub(e){let{scale:t}=e??{};if(t){let{start:n,end:r}=t,i=r-n;return new Rs(async(a)=>{let s=n+a.progress/(a.total??100)*i;await this.callback({...a,progress:s,total:100})})}return new Rs(this.callback)}async report(e){await this.callback(e)}startHeartbeat(e,t=5000){this.stopHeartbeat(),this.heartbeatInterval=setInterval(()=>{this.report({message:e,progress:0}).catch(()=>{})},t)}stopHeartbeat(){if(this.heartbeatInterval)clearInterval(this.heartbeatInterval),this.heartbeatInterval=void 0}toCallback(){return this.callback}}var _he=o.object({enabled:o.boolean().describe("Whether the plugin is enabled"),debug:o.boolean().describe("Enable debug logging for this plugin")});function Ihe(e,t){return t.reduce((n,r)=>typeof n==="object"&&n!==null?Reflect.get(n,r):void 0,e)}function Che(e){return e.map((t)=>`${t.path||"<root>"}: ${t.message}`).join("; ")}class gp extends Error{pluginId;issues;constructor(e,t){super(`Invalid plugin config for ${e} at ${Che(t)}; correct the listed fields in brain.yaml or the package's use() configuration`);this.name="PluginConfigValidationError",this.pluginId=e,this.issues=t}static fromZod(e,t,n){return new gp(e,t.issues.map((r)=>({path:r.path.map(String).join("."),code:r.code,message:r.message,missing:r.code==="custom"&&r.params?.missing===!0||(r.code==="invalid_type"||r.code==="custom")&&Ihe(n,r.path)===void 0})))}}var Ehe=o.object({toolName:o.string(),args:o.unknown(),progressToken:o.union([o.string(),o.number()]).optional(),hasProgress:o.boolean().optional(),interfaceType:o.string(),actor:ki,displayName:o.string().optional(),conversationId:o.string().optional(),channelId:o.string().optional(),channelName:o.string().optional(),runId:o.string().optional(),toolCallId:o.string().optional(),userPermissionLevel:o.enum(["admin","trusted","public"]).optional(),isAnchor:o.boolean().optional(),signal:o.custom((e)=>e instanceof AbortSignal).optional()}),khe=o.object({resourceUri:o.string()});class lu{id;version;description;packageName;config;context;retryScope;get logger(){return this.context?.logger??Ti.createFresh({context:this.id})}get retries(){return this.retryScope??=new Hf({logger:this.logger}),this.retryScope}constructor(e,t,n,r){this.id=e,this.packageName=t.name,this.version=t.version,this.description=t.description??`${t.name} plugin`;let i=r.safeParse(n);if(!i.success)throw gp.fromZod(e,i.error,n);this.config=i.data}setupMessageHandlers(e){e.messaging.subscribe(bg.toolExecute(this.id),async(t)=>{try{let n=Ehe.safeParse(t.payload);if(!n.success)return{success:!1,error:"Invalid tool execution request format"};let{toolName:r,args:i,progressToken:a,hasProgress:s,interfaceType:l,actor:c,displayName:u,conversationId:d,channelId:p,channelName:f,runId:m,toolCallId:g,userPermissionLevel:h,isAnchor:b,signal:w}=n.data,y=(await this.getTools()).find((v)=>v.name===r);if(!y)return{success:!1,error:`Tool not found: ${r}`};let S={interfaceType:l,actor:c,...u&&{displayName:u},...d&&{conversationId:d},...p&&{channelId:p},...f&&{channelName:f},...m&&{runId:m},...g&&{toolCallId:g},...h&&{userPermissionLevel:h},...b!==void 0&&{isAnchor:b},...w&&{signal:w},...s&&a!==void 0&&{progressToken:a,sendProgress:async(v)=>{await e.messaging.send({type:bg.progress(this.id),payload:{progressToken:a,notification:v}})}}};return{success:!0,data:await y.handler(i,S)}}catch(n){return this.logger.error("Tool execution error",n),{success:!1,error:$e(n)}}}),e.messaging.subscribe(bg.resourceGet(this.id),async(t)=>{try{let n=khe.safeParse(t.payload);if(!n.success)return{success:!1,error:"Invalid resource get request format"};let{resourceUri:r}=n.data,a=(await this.getResources()).find((l)=>l.uri===r);if(!a)return{success:!1,error:`Resource not found: ${r}`};return{success:!0,data:await a.handler()}}catch(n){return this.logger.error("Resource fetch error",n),{success:!1,error:$e(n)}}})}async onRegister(e){}async onRegistrationComplete(e){}async finalizeRegistration(){await this.onRegistrationComplete(this.getContext())}async onReady(e){}async ready(){await this.onReady(this.getContext())}async getCapabilities(){let e=await this.getInstructions();return{tools:await this.getTools(),resources:await this.getResources(),...e&&{instructions:e}}}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}async shutdown(){await this.retryScope?.dispose(),await this.onShutdown()}async onShutdown(){}getContext(){if(!this.context)throw Error(`Plugin ${this.id}: Plugin not registered yet`);return this.context}determineUserPermissionLevel(e){return"public"}createProgressBridge(e){if(!e)return;let t=this.context;if(!t)return;let n=this.id;return Rs.from(async(r)=>{await t.messaging.send({type:bg.progress(n),payload:{progressToken:e,notification:{progress:r.progress,total:r.total,message:r.message}}})})}}var k2=["primary","secondary"];var Rhe=o.custom((e)=>typeof e==="function","Expected a React component"),Ahe=o.strictObject({show:o.boolean().optional(),label:o.string().min(1).optional(),slot:o.enum(k2).optional(),priority:o.number().optional()}),Phe=o.strictObject({id:o.string().min(1),template:o.string().min(1),content:o.unknown().optional(),dataQuery:o.looseObject({entityType:o.string().optional(),template:o.string().optional(),query:o.record(o.string(),o.unknown()).optional()}).optional(),order:o.number().optional()}),Ohe=o.strictObject({id:o.string().min(1),path:o.string().startsWith("/"),title:o.string().optional(),pageLabel:o.string().optional(),description:o.string().optional(),sections:o.array(Phe).optional(),layout:o.string().min(1).optional(),fullscreen:o.boolean().optional(),pluginId:o.string().optional(),sourceEntityType:o.string().optional(),external:o.boolean().optional(),navigation:Ahe.optional()}),Kk=o.strictObject({label:o.string().min(1),pluralName:o.string().min(1).optional(),layout:o.string().min(1).optional(),detailTemplate:o.string().min(1).optional(),paginate:o.boolean().optional(),pageSize:o.number().int().positive().optional(),citable:o.boolean().optional(),navigation:o.strictObject({show:o.boolean().optional(),slot:o.enum(k2).optional(),priority:o.number().optional()}).optional()}),Mhe=o.strictObject({schema:o.custom((e)=>e instanceof o.ZodType,"Expected a Zod schema"),component:o.custom((e)=>typeof e==="function","Expected a React component"),title:o.string().min(1),description:o.string(),requiredPermission:o.enum(["admin","trusted","public"]).optional(),fullscreen:o.boolean().optional()}),E2=o.strictObject({namespace:o.string().min(1),sections:o.record(o.string(),Mhe)}),jhe=o.record(o.string(),o.json()),Dhe=o.record(o.string(),o.record(o.string(),jhe)),R2={layouts:o.record(o.string(),Rhe).refine((e)=>typeof e.default==="function",{message:'Site layouts must include a "default" component'}),routes:o.array(Ohe),content:Dhe.optional(),sections:o.union([E2,o.array(E2)]).optional(),themeOverride:o.string().optional(),headScripts:o.array(o.string()).optional(),entityDisplay:o.record(o.string(),Kk),staticAssets:o.record(o.string(),o.string()).optional()},flt=o.strictObject(R2).partial();var A2=o.strictObject(R2).superRefine((e,t)=>{let n=new Set;for(let[a,s]of e.routes.entries()){if(n.has(s.id))t.addIssue({code:"custom",path:["routes",a,"id"],message:`Duplicate route id "${s.id}"`});n.add(s.id);let l=s.layout??"default";if(!e.layouts[l])t.addIssue({code:"custom",path:["routes",a,"layout"],message:`Unknown layout "${l}"`})}let r=Array.isArray(e.sections)?e.sections:e.sections?[e.sections]:[],i=new Map(r.map((a)=>[a.namespace,a]));if(i.size!==r.length)t.addIssue({code:"custom",path:["sections"],message:"Section group namespaces must be unique"});for(let[a,s]of Object.entries(e.content??{})){let l=i.get(a);if(!l){t.addIssue({code:"custom",path:["content",a],message:`Content namespace "${a}" has no section group`});continue}for(let[c,u]of Object.entries(s)){let d=l.sections[c];if(!d){t.addIssue({code:"custom",path:["content",a,c],message:`Content section "${a}.${c}" is not defined`});continue}let p=d.schema.safeParse(u);if(!p.success)t.addIssue({code:"custom",path:["content",a,c],message:`Content does not satisfy the "${a}.${c}" schema: ${o.prettifyError(p.error)}`})}}});var P2=o.object({id:o.string(),template:o.string(),content:o.unknown().optional(),dataQuery:o.looseObject({entityType:o.string().optional(),template:o.string().optional(),query:o.looseObject({id:o.string().optional(),limit:o.number().optional(),offset:o.number().optional()}).optional()}).optional(),order:o.number().optional()}),Qk=["primary","secondary"],O2=o.object({show:o.boolean().default(!1),label:o.string().optional(),slot:o.enum(Qk).default("primary"),priority:o.number().min(0).max(100).default(50)}).optional(),Yk=o.object({id:o.string(),path:o.string(),title:o.string().default(""),pageLabel:o.string().optional(),description:o.string().default(""),sections:o.array(P2).default([]),layout:o.string().default("default"),fullscreen:o.boolean().optional(),pluginId:o.string().optional(),sourceEntityType:o.string().optional(),external:o.boolean().optional(),navigation:O2}),M2=o.object({routes:o.array(Yk),pluginId:o.string()}),j2=o.object({paths:o.array(o.string()).optional(),pluginId:o.string().optional()}),D2=o.object({pluginId:o.string().optional()}),N2=o.object({path:o.string()}),vS=o.object({label:o.string(),href:o.string(),priority:o.number()});var Nhe="site:metadata:get",zhe="site:metadata:updated",Xk=o.object({heading:o.string().describe("Main CTA heading text"),buttonText:o.string().describe("Call-to-action button text"),buttonLink:o.string().describe("URL or anchor for the CTA button")}),z2=o.object({blurb:o.string().optional().describe("Short italic subtitle under the section title")}),SS=o.object({represents:o.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:o.string().describe("The site's title"),description:o.string().describe("The site's description"),url:o.string().optional().describe("Canonical site URL"),copyright:o.string().optional().describe("Copyright notice text"),logo:o.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:o.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:o.string().optional().describe("Analytics script HTML"),cta:Xk.optional().describe("Call-to-action configuration"),sections:o.record(o.string(),z2).optional().describe("Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers.")});var Bhe=o.object({platform:o.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:o.string().describe("Profile or contact URL"),label:o.string().optional().describe("Optional display label")}),Fhe=SS.extend({copyright:o.string(),navigation:o.object({primary:o.array(vS),secondary:o.array(vS)}),socialLinks:o.array(Bhe).optional().describe("Social media links from profile metadata")});function vg(e,t){return t?e.nullable().default(null):e}function tR(e){switch(e.type){case"string":return vg(o.string(),e.optional);case"number":return vg(o.number(),e.optional);case"enum":return vg(o.enum(e.options),e.optional);case"object":{let t={};for(let[n,r]of Object.entries(e.fields))t[n]=tR(r);return vg(o.object(t),e.optional)}case"array":{let t=o.array(qhe(e));if(e.minItems!==void 0)t=t.min(e.minItems);if(e.length!==void 0)t=t.length(e.length);return vg(t,e.optional)}}}function qhe(e){let{items:t}=e;switch(t.type){case"string":return o.string();case"number":return o.number();case"enum":return o.enum(t.options);case"object":{let n={};for(let[r,i]of Object.entries(t.fields))n[r]=tR(i);return o.object(n)}}}function eR(e,t){switch(t.type){case"string":case"enum":return{key:e,label:t.label,type:"string"};case"number":return{key:e,label:t.label,type:"number"};case"object":return{key:e,label:t.label,type:"object",children:Object.entries(t.fields).map(([n,r])=>eR(n,r))};case"array":{let n={key:e,label:t.label,type:"array"};switch(t.items.type){case"string":case"enum":return n.itemType="string",n;case"number":return n.itemType="number",n;case"object":return n.itemType="object",n.itemMappings=Object.entries(t.items.fields).map(([r,i])=>eR(r,i)),n}}}}function B2(e,t){let n={};for(let[a,s]of Object.entries(t.fields))n[a]=tR(s);let r=o.object(n),i=new Dl(r,{title:t.title,mappings:Object.entries(t.fields).map(([a,s])=>eR(a,s))});return{name:e,description:t.description,schema:r,formatter:i,requiredPermission:t.requiredPermission??"public",layout:{component:t.layout,...t.fullscreen!==void 0?{fullscreen:t.fullscreen}:{}},...t.runtimeScripts?{runtimeScripts:t.runtimeScripts}:{}}}function Lhe(e){let t={};for(let[n,r]of Object.entries(e.sections))t[n]=B2(n,r);return t}var $he=SS.omit({url:!0,analyticsScript:!0}),F2=$he.extend({title:o.string().optional().describe("Optional site title override"),description:o.string().optional().describe("Optional site description override")});function q2(e){return F2.parse(up(e).frontmatter)}async function Uhe(e){let n=(await e.listEntities({entityType:"site-info",options:{limit:1}}))[0];if(!n)throw Error("Site info not found \u2014 create a site-info entity");return q2(n.content)}function nR(e,t={}){let n=L2(e),r=L2(t.sharedDomain??"rizom.ai").replace(/^\./,""),i=`.${r}`;if(n.endsWith(i)){let a=n.slice(0,-i.length);if(a.length>0&&!a.includes("."))return`${a}-preview.${r}`}return`preview.${n}`}function L2(e){return e.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}class $2{entityDisplay;constructor(e){this.entityDisplay=e}hasRoute(e){return this.entityDisplay?.[e]!==void 0}isCitable(e){if(this.entityDisplay?.[e]?.citable===!1)return!1;if(!Object.values(this.entityDisplay??{}).some((n)=>n.citable===!0))return this.hasRoute(e);return this.entityDisplay?.[e]?.citable===!0}generateUrl(e,t){let n=this.entityDisplay?.[e];if(n)return`/${n.pluralName??n.label.toLowerCase()+"s"}/${t}`;return`/${lC(e)}/${t}`}}var Zhe=o.string(),Whe=o.custom((e)=>{if(!cr(e))return!1;let{plugin:t,...n}=e;if(t!==void 0&&typeof t!=="function")return!1;return A2.safeParse(n).success});var rR=o.enum(["file_operations","content_operations","data_processing","batch_processing"]),Ghe=o.looseObject({pluginId:o.string().optional(),progressToken:o.union([o.string(),o.number()]).optional(),operationType:rR,operationTarget:o.string().optional(),interfaceType:o.string().optional(),conversationId:o.string().optional(),channelId:o.string().optional(),requestedByActor:ki.optional(),requestedByUserId:o.string().optional(),requestedByInterface:o.string().optional(),silent:o.boolean().optional(),provenance:La.optional()}),cu=o.looseObject({pluginId:o.string().optional(),progressToken:o.union([o.string(),o.number()]).optional(),operationType:rR,operationTarget:o.string().optional(),interfaceType:o.string().optional(),conversationId:o.string().optional(),channelId:o.string().optional(),requestedByActor:ki.optional(),requestedByUserId:o.string().optional(),requestedByInterface:o.string().optional(),silent:o.boolean().optional(),provenance:La.optional(),rootJobId:o.string()}),nct=o.enum(["none","skip","replace","coalesce"]);var Jhe=o.object({id:o.string(),type:o.string(),data:o.string(),status:o.enum(["pending","processing","completed","failed"]),source:o.string().nullable(),priority:o.number(),retryCount:o.number(),maxRetries:o.number(),lastError:o.string().nullable(),createdAt:o.number(),scheduledFor:o.number(),startedAt:o.number().nullable(),completedAt:o.number().nullable(),attemptId:o.string().nullable(),workerSlotId:o.string().nullable(),workerSessionId:o.string().nullable(),leaseExpiresAt:o.number().nullable(),attemptHeartbeatAt:o.number().nullable(),runtimeUpdatedAt:o.number().nullable(),metadata:cu,progress:o.custom((e)=>typeof e==="object"&&e!==null&&("progress"in e)&&typeof e.progress==="number").nullable(),result:o.unknown().nullable().optional()}),As=15000;var oR=o.enum(["pending","processing","completed","failed"]),U2=o.enum(["completed","failed"]),ot={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},Vhe=o.object({id:o.string(),type:o.string(),status:oR,data:o.unknown(),result:o.unknown().optional(),lastError:o.string().optional().nullable(),attempts:o.number(),maxRetries:o.number(),priority:o.number(),createdAt:o.date(),updatedAt:o.date(),processedAt:o.date().optional().nullable(),completedAt:o.date().optional().nullable(),failedAt:o.date().optional().nullable()}),Hhe=o.object({jobId:o.string(),type:o.string(),status:U2,result:o.unknown().optional(),error:o.string().optional()}),iR=o.object({success:o.literal(!1),error:o.string().optional()}),xS=o.object({id:o.string(),type:o.enum(["job","batch"]),status:oR,message:o.string().optional(),progress:o.object({current:o.number(),total:o.number(),percentage:o.number()}).optional(),aggregationKey:o.string().optional(),batchDetails:o.object({totalOperations:o.number(),completedOperations:o.number(),failedOperations:o.number(),currentOperation:o.string().optional(),errors:o.array(o.string()).optional()}).optional(),jobDetails:o.object({jobType:o.string(),priority:o.number(),retryCount:o.number()}).optional(),metadata:cu});var ue=un("job_queue",{id:Te("id").primaryKey().$defaultFn(()=>ln()),type:Te("type").notNull(),data:Te("data").notNull(),result:Te("result",{mode:"json"}),progress:Te("progress",{mode:"json"}).$type(),source:Te("source"),metadata:Te("metadata",{mode:"json"}).$type().notNull(),status:Te("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:at("priority").notNull().default(0),retryCount:at("retryCount").notNull().default(0),maxRetries:at("maxRetries").notNull().default(3),lastError:Te("lastError"),createdAt:at("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:at("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:at("startedAt"),completedAt:at("completedAt"),attemptId:Te("attemptId"),workerSlotId:Te("workerSlotId"),workerSessionId:Te("workerSessionId"),leaseExpiresAt:at("leaseExpiresAt"),attemptHeartbeatAt:at("attemptHeartbeatAt"),runtimeUpdatedAt:at("runtimeUpdatedAt")},(e)=>({queueReadyIdx:sn("idx_job_queue_ready").on(e.status,e.priority,e.scheduledFor),jobTypeIdx:sn("idx_job_queue_type").on(e.type,e.status),runtimeUpdatesIdx:sn("idx_job_queue_runtime_updates").on(e.runtimeUpdatedAt,e.id),jobSourceIdx:sn("idx_job_queue_source").on(e.source)})),_n=un("job_worker_sessions",{slotId:Te("slotId").primaryKey(),sessionId:Te("sessionId").notNull().unique(),startedAt:at("startedAt").notNull(),heartbeatAt:at("heartbeatAt").notNull(),expiresAt:at("expiresAt").notNull().default(0)},(e)=>({heartbeatIdx:sn("idx_job_worker_sessions_heartbeat").on(e.heartbeatAt),expiresIdx:sn("idx_job_worker_sessions_expires").on(e.expiresAt)}));function Z2(e){return Xi({url:e.url,schema:{jobQueue:ue,jobWorkerSessions:_n},authToken:e.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN",contentionRetryBudgetMs:0})}class aR{declarations=new Map;handlers=new Map;validators=new Map;logger;mode;finalizedRegistrations;constructor(e,t){this.logger=e.child("HandlerRegistry"),this.mode=t}registerHandler(e,t,n){if(this.finalizedRegistrations)throw Error("Job handler registrations are finalized");if(this.declarations.has(e))throw Error(`Job handler is already registered for type: ${e}`);if(this.declarations.set(e,{handler:t,pluginId:n}),this.validators.set(e,t),this.mode!=="validation-only")this.handlers.set(e,t);this.logger.debug("Registered job execution declaration",{type:e,pluginId:n,mode:this.mode})}unregisterHandler(e){this.declarations.delete(e),this.handlers.delete(e),this.validators.delete(e),this.logger.debug("Unregistered job handler",{type:e})}unregisterPluginHandlers(e){let t=[...this.declarations.entries()].filter(([,n])=>n.pluginId===e).map(([n])=>n);for(let n of t)this.declarations.delete(n),this.handlers.delete(n),this.validators.delete(n);if(t.length>0)this.logger.debug("Unregistered plugin handlers",{pluginId:e,count:t.length,types:t})}finalizeRegistrations(){return this.finalizedRegistrations??=Object.freeze([...this.declarations.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>Object.freeze({type:e,pluginId:t.pluginId}))),this.finalizedRegistrations}getExecutionRegistrations(){return this.finalizedRegistrations}getRegisteredTypes(){return[...this.handlers.keys()]}getExclusiveTypes(){return[...this.handlers].filter(([,e])=>e.exclusive===!0).map(([e])=>e)}getHandler(e){return this.handlers.get(e)}getValidator(e){return this.validators.get(e)}}var Khe=o.looseObject({deduplicationKey:o.string().optional()});class sR{findDuplicate(e,t,n){if(!t||t==="none")return null;let r=this.filterByDeduplicationKey(e,n).sort((a,s)=>s.createdAt-a.createdAt||s.id.localeCompare(a.id)),i=r.find((a)=>a.status===ot.PENDING)??null;if(t==="skip"||t==="replace")return i;return i??r[0]??null}filterByDeduplicationKey(e,t){if(!t)return e;return e.filter((n)=>{let r=Khe.safeParse(n.metadata);return r.success&&r.data.deduplicationKey===t})}}var Qhe=2000,Yhe=5,Xhe=40,eye=o.number().int().min(0).max(1000),tye=new IE;class lR{db;transactionClient;databaseUrl;logger;deduplicator=new sR;writeRetryBudgetMs;constructor(e,t,n,r,i){this.db=e,this.transactionClient=t,this.databaseUrl=n,this.logger=r.child("JobQueueRepository"),this.writeRetryBudgetMs=i?.writeRetryBudgetMs??Qhe}async insert(e){await this.write("insert",async()=>this.db.insert(ue).values(e))}async enqueueAtomic(e){return tye.run(this.databaseUrl,async()=>{let t=Date.now()+this.writeRetryBudgetMs;return this.attemptEnqueue(e,t,1)})}async attemptEnqueue(e,t,n){let r=await this.runEnqueueTransaction(e,t,n);if(r.retry)return this.attemptEnqueue(e,t,n+1);return r.decision}async runEnqueueTransaction(e,t,n){let r=await this.acquireWriteTransaction(e,t),i={prepared:!1},a=!1;try{let s=await this.decideEnqueue(r,e,()=>{i.prepared=!0});return a=!0,await r.commit(),{retry:!1,decision:s}}catch(s){let l=a&&this.isSerializationConflict(s)&&!r.closed,c=!0;if(!r.closed)try{await r.rollback()}catch(u){c=!1,this.logger.error("Failed to roll back atomic enqueue",{type:e.jobData.type,rollbackError:u})}if(i.prepared)e.onInsertRollback?.();if(!l||!c)throw s;return await this.waitForConflictRetry("commit",e,t,n,s),{retry:!0}}finally{r.close()}}async decideEnqueue(e,t,n){let{jobData:r,strategy:i,deduplicationKey:a,beforeInsert:s}=t,l=i??"none",c=async()=>{await s?.(),n()},u=async()=>{await c(),await this.insertJob(e,r)};if(l==="none")return await u(),{kind:"inserted",jobId:r.id};let d=await this.getActiveDeduplicationCandidates(e,r.type),p=this.deduplicator.findDuplicate(d,l,a);if(!p)return await u(),{kind:"inserted",jobId:r.id};if(l==="skip")return{kind:"skipped",jobId:p.id};if(l==="coalesce"){if((await e.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),p.id,p.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${p.id}`);return{kind:"coalesced",jobId:p.id}}await c();let f=Date.now();if((await e.execute({sql:"UPDATE `job_queue`\n SET `status` = ?,\n `lastError` = ?,\n `completedAt` = ?,\n `runtimeUpdatedAt` = max(?, coalesce((SELECT max(`runtimeUpdatedAt`) FROM `job_queue`), 0) + 1)\n WHERE `id` = ? AND `status` = ?",args:[ot.FAILED,"Replaced by newer job",f,f,p.id,ot.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${p.id}`);return await this.insertJob(e,r),{kind:"replaced",jobId:r.id,replacedJobId:p.id}}async getActiveDeduplicationCandidates(e,t){return(await e.execute({sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[t,ot.PENDING,ot.PROCESSING]})).rows.map((r)=>this.parseDeduplicationCandidate(r))}parseDeduplicationCandidate(e){let{id:t,status:n,createdAt:r,metadata:i}=e;if(typeof t!=="string"||n!==ot.PENDING&&n!==ot.PROCESSING||typeof r!=="number"&&typeof r!=="bigint"||typeof i!=="string")throw Error("Invalid active job row returned during atomic enqueue");let a=JSON.parse(i);return{id:t,status:n,createdAt:Number(r),metadata:a}}async insertJob(e,t){if((await e.execute({sql:"INSERT INTO `job_queue` (\n `id`, `type`, `data`, `result`, `source`, `metadata`,\n `status`, `priority`, `retryCount`, `maxRetries`,\n `lastError`, `createdAt`, `scheduledFor`, `startedAt`,\n `completedAt`\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",args:[t.id,t.type,t.data,this.serializeJson(t.result),t.source,JSON.stringify(t.metadata),t.status,t.priority,t.retryCount,t.maxRetries,t.lastError,t.createdAt,t.scheduledFor,t.startedAt,t.completedAt]})).rowsAffected!==1)throw Error(`Atomic enqueue did not insert job ${t.id}`)}serializeJson(e){if(e===void 0||e===null)return null;return JSON.stringify(e)}acquireWriteTransaction(e,t){return this.retryOnConflict("acquire",e,()=>this.transactionClient.transaction("write"),(n)=>this.isSerializationConflict(n),t)}async waitForConflictRetry(e,t,n,r,i){let a=Math.min(Yhe*2**(r-1),Xhe),s=a/2+Math.random()*(a/2);if(Date.now()+s>=n)throw this.transactionConflictError(e,t,r,i);await new Promise((l)=>setTimeout(l,s))}async retryOnConflict(e,t,n,r,i=Date.now()+this.writeRetryBudgetMs,a=1){try{return await n()}catch(s){if(!r(s))throw s;return await this.waitForConflictRetry(e,t,i,a,s),this.retryOnConflict(e,t,n,r,i,a+1)}}transactionConflictError(e,t,n,r){if(typeof t==="string")return Error(`Failed job queue write "${t}" within ${this.writeRetryBudgetMs}ms after ${n} attempts`,{cause:r});let i=t.strategy??"none",a=t.deduplicationKey?"present":"absent";return Error(`Failed to ${e} atomic enqueue transaction for type "${t.jobData.type}" within ${this.writeRetryBudgetMs}ms after ${n} attempts (strategy: ${i}, key: ${a})`,{cause:r})}write(e,t){return this.retryOnConflict("write",e,t,(n)=>{let r=new Set;for(let i=n;i!==void 0&&!r.has(i);){if(r.add(i),typeof i==="object"&&i!==null&&"code"in i&&/^SQLITE_(?:BUSY|LOCKED)(?:_|$)/u.test(String(i.code)))return!0;i=i instanceof Error?i.cause:void 0}return!1})}isSerializationConflict(e){for(let t=e;t!==void 0;){let n=typeof t==="object"&&t!==null&&"code"in t?String(t.code):"",r=$e(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(n)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(r))return!0;t=t instanceof Error?t.cause:void 0}return!1}async startWorkerSession(e,t,n=Date.now(),r=As){let i=n+r;await this.write("start worker session",async()=>this.db.insert(_n).values({slotId:e,sessionId:t,startedAt:n,heartbeatAt:n,expiresAt:i}).onConflictDoUpdate({target:_n.slotId,set:{sessionId:t,startedAt:n,heartbeatAt:n,expiresAt:i}}))}async heartbeatWorkerSession(e,t,n=Date.now(),r=As){return(await this.write("heartbeat worker session",async()=>this.db.update(_n).set({heartbeatAt:n,expiresAt:n+r}).where(Se(V(_n.slotId,e),V(_n.sessionId,t))).returning({slotId:_n.slotId}))).length===1}async endWorkerSession(e,t){return(await this.write("end worker session",async()=>this.db.delete(_n).where(Se(V(_n.slotId,e),V(_n.sessionId,t))).returning({slotId:_n.slotId}))).length===1}async complete(e,t,n){let r=Date.now(),a=(await this.write("complete",async()=>this.db.update(ue).set({status:ot.COMPLETED,result:t,lastError:null,completedAt:r,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r)}).where(this.attemptWriteGuard(e,n)).returning({id:ue.id}))).length===1;if(a)this.logger.debug("Job completed",{jobId:e,hasResult:t!==void 0});return a}async update(e,t,n){let i=(await this.write("update",async()=>this.db.update(ue).set({data:JSON.stringify(t)}).where(this.attemptWriteGuard(e,n)).returning({id:ue.id}))).length===1;if(i)this.logger.debug("Job data updated",{jobId:e});return i}async recordAttemptProgress(e,t,n,r=Date.now()){return(await this.write("record progress",async()=>this.db.update(ue).set({attemptHeartbeatAt:r,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r),progress:n}).where(this.attemptWriteGuard(e,t)).returning({id:ue.id}))).length===1}async renewAttemptLease(e,t,n,r){return(await this.write("renew attempt lease",async()=>this.db.update(ue).set({attemptHeartbeatAt:n,leaseExpiresAt:n+r}).where(this.attemptWriteGuard(e,t)).returning({id:ue.id}))).length===1}async fail(e,t,n,r=Date.now()){let a=(await this.db.select({retryCount:ue.retryCount,maxRetries:ue.maxRetries,type:ue.type,scheduledFor:ue.scheduledFor,startedAt:ue.startedAt,runtimeUpdatedAt:ue.runtimeUpdatedAt}).from(ue).where(this.attemptWriteGuard(e,n)).limit(1))[0];if(!a)return!1;let s=a.retryCount<a.maxRetries,l=s?a.retryCount+1:a.retryCount,c=Math.min(1000*2**a.retryCount,60000),u=s?r+c:a.scheduledFor;if((await this.write("fail",async()=>this.db.update(ue).set({status:s?ot.PENDING:ot.FAILED,retryCount:l,lastError:t.message,scheduledFor:u,completedAt:s?null:r,runtimeUpdatedAt:s?a.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r),startedAt:s?null:a.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(Se(this.attemptWriteGuard(e,n),V(ue.retryCount,a.retryCount))).returning({id:ue.id}))).length!==1)return!1;if(s)this.logger.debug("Job scheduled for retry",{jobId:e,retryCount:l,backoffMs:c,scheduledFor:new Date(u).toISOString()});else this.logger.error("Job failed after max retries",{jobId:e,type:a.type,retryCount:a.retryCount,error:t.message});return!0}async retireUnownedActiveJob(e){let t=e.reason.trim();if(t.length===0)throw Error("Retired job reason must not be empty");let r=(await this.write("retire unowned job",async()=>this.db.update(ue).set({status:ot.FAILED,lastError:t,completedAt:e.now,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(e.now)}).where(Se(V(ue.id,e.jobId),V(ue.type,e.expectedType),Er(V(ue.status,ot.PENDING),V(ue.status,ot.PROCESSING)),kr(ue.attemptId),kr(ue.workerSlotId),kr(ue.workerSessionId),kr(ue.leaseExpiresAt),kr(ue.attemptHeartbeatAt),kr(ue.progress),kr(ue.result))).returning()))[0]??null;if(r)this.logger.warn("Retired unowned legacy job",{jobId:r.id,type:r.type,reason:t});return r}async getStatus(e){return(await this.db.select().from(ue).where(V(ue.id,e)).limit(1))[0]??null}async getJobsByRootJobId(e){return this.db.select().from(ue).where(k`json_extract(${ue.metadata}, '$.rootJobId') = ${e}`).orderBy(Bt(ue.createdAt),Bt(ue.id))}async getStatusByEntityId(e){return(await this.db.select().from(ue).where(k`json_extract(${ue.data}, '$.id') = ${e}`).orderBy(Mn(ue.createdAt)).limit(1))[0]??null}async getStats(){let e=await this.db.select({status:ue.status,count:k`count(*)`}).from(ue).groupBy(ue.status),t={pending:0,processing:0,failed:0,completed:0,total:0};for(let n of e){let r=Number(n.count);t[n.status]=r,t.total+=r}return t}async getDiagnostics(e=Date.now()){let[t,n,r]=await Promise.all([this.db.select({type:ue.type,status:ue.status,count:k`count(*)`}).from(ue).groupBy(ue.type,ue.status),this.db.select({oldestPendingAt:k`min(case when ${ue.status} = ${ot.PENDING} then ${ue.createdAt} end)`,duePending:k`coalesce(sum(case when ${ue.status} = ${ot.PENDING} and ${ue.scheduledFor} <= ${e} then 1 else 0 end), 0)`,oldestDuePendingAt:k`min(case when ${ue.status} = ${ot.PENDING} and ${ue.scheduledFor} <= ${e} then ${ue.scheduledFor} end)`,latestClaimAt:k`max(${ue.startedAt})`,oldestProcessingAt:k`min(case when ${ue.status} = ${ot.PROCESSING} then ${ue.startedAt} end)`,staleLeaseCount:k`coalesce(sum(case when ${ue.status} = ${ot.PROCESSING} and ${ue.leaseExpiresAt} is not null and ${ue.leaseExpiresAt} <= ${e} then 1 else 0 end), 0)`}).from(ue),this.db.select({total:k`count(*)`,active:k`coalesce(sum(case when ${_n.expiresAt} > ${e} then 1 else 0 end), 0)`,stale:k`coalesce(sum(case when ${_n.expiresAt} <= ${e} then 1 else 0 end), 0)`,latestHeartbeatAt:k`max(${_n.heartbeatAt})`}).from(_n)]),i={pending:0,processing:0,completed:0,failed:0},a=t.map((u)=>{let d=Number(u.count);return i[u.status]+=d,{type:u.type,status:u.status,count:d}}),s=n[0],l=r[0],c=(u)=>u===null||u===void 0?null:Math.max(0,e-Number(u));return{totals:i,byType:a,oldestPendingAgeMs:c(s?.oldestPendingAt),duePending:Number(s?.duePending??0),oldestDuePendingAgeMs:c(s?.oldestDuePendingAt),latestClaimAgeMs:c(s?.latestClaimAt),oldestProcessingAgeMs:c(s?.oldestProcessingAt),staleLeaseCount:Number(s?.staleLeaseCount??0),workerSessions:{total:Number(l?.total??0),active:Number(l?.active??0),stale:Number(l?.stale??0),latestHeartbeatAgeMs:c(l?.latestHeartbeatAt)}}}async getRuntimeUpdates(e,t){let n=eye.parse(t);if(n===0)return[];return(await this.db.select().from(ue).where(k`(${ue.runtimeUpdatedAt}, ${ue.id}) > (${e.updatedAt}, ${e.jobId})`).orderBy(Bt(ue.runtimeUpdatedAt),Bt(ue.id)).limit(n)).map((i)=>({job:i,cursor:{updatedAt:i.runtimeUpdatedAt??0,jobId:i.id}}))}async cleanup(e){let t=Date.now()-e;return(await this.write("cleanup",async()=>this.db.delete(ue).where(Se(Er(V(ue.status,ot.COMPLETED),V(ue.status,ot.FAILED)),po(ue.completedAt,t))))).rowsAffected}async getActiveJobs(e){let t=Er(V(ue.status,ot.PENDING),V(ue.status,ot.PROCESSING)),n=e&&e.length>0?Se(t,Ht(ue.type,e)):t;return this.db.select().from(ue).where(n).orderBy(Mn(ue.createdAt))}async getRecentJobs(e,t=20){let n=e&&e.length>0?Ht(ue.type,e):void 0;return this.db.select().from(ue).where(n).orderBy(Mn(ue.createdAt)).limit(t)}async getFailedJobs(e){let t=V(ue.status,ot.FAILED),n=e&&e.length>0?Se(t,Ht(ue.type,e)):t;return this.db.select().from(ue).where(n).orderBy(Mn(ue.createdAt))}async claimNextReady(e){let{now:t,attemptId:n,workerSlotId:r,workerSessionId:i,leaseDurationMs:a,executableTypes:s,exclusiveTypes:l=[]}=e,c=this.db.select({slotId:_n.slotId}).from(_n).where(Se(V(_n.slotId,r),V(_n.sessionId,i),Da(_n.expiresAt,t))),u=this.db.select({slotId:_n.slotId}).from(_n).where(Se(V(_n.slotId,ue.workerSlotId),V(_n.sessionId,ue.workerSessionId))),d=Se(V(ue.status,ot.PROCESSING),Er(kr(ue.attemptId),Uf(u),po(ue.leaseExpiresAt,t))),p=Iq(ue,"running"),f=this.db.select({id:p.id}).from(p).where(Se(V(p.type,ue.type),V(p.status,ot.PROCESSING),Da(p.leaseExpiresAt,t),k`${p.id} <> ${ue.id}`)),m=l.length===0?void 0:Er(ev(ue.type,[...l]),Uf(f)),g=k`${ue.status} = ${ot.PROCESSING} AND ${ue.retryCount} + 1 > ${ue.maxRetries}`,h=this.db.select({id:ue.id}).from(ue).where(Se(Ht(ue.type,s),m,Er(Se(V(ue.status,ot.PENDING),po(ue.scheduledFor,t)),d))).orderBy(Bt(ue.priority),Bt(ue.createdAt)).limit(1),w=(await this.write("claim",async()=>this.db.update(ue).set({status:k`CASE WHEN ${g} THEN ${ot.FAILED} ELSE ${ot.PROCESSING} END`,retryCount:k`CASE WHEN ${ue.status} = ${ot.PROCESSING} THEN ${ue.retryCount} + 1 ELSE ${ue.retryCount} END`,lastError:k`CASE WHEN ${ue.status} = ${ot.PROCESSING} THEN 'Attempt lease expired' ELSE ${ue.lastError} END`,startedAt:k`CASE WHEN ${g} THEN ${ue.startedAt} ELSE ${t} END`,completedAt:k`CASE WHEN ${g} THEN ${t} ELSE NULL END`,attemptId:k`CASE WHEN ${g} THEN ${ue.attemptId} ELSE ${n} END`,workerSlotId:k`CASE WHEN ${g} THEN ${ue.workerSlotId} ELSE ${r} END`,workerSessionId:k`CASE WHEN ${g} THEN ${ue.workerSessionId} ELSE ${i} END`,leaseExpiresAt:k`CASE WHEN ${g} THEN ${ue.leaseExpiresAt} ELSE ${t+a} END`,attemptHeartbeatAt:k`CASE WHEN ${g} THEN ${ue.attemptHeartbeatAt} ELSE ${t} END`,runtimeUpdatedAt:k`CASE WHEN ${g} THEN ${this.nextRuntimeUpdatedAt(t)} ELSE ${ue.runtimeUpdatedAt} END`}).where(Se(Ht(ue.id,h),Gc(c))).returning()))[0];if(w?.status!==ot.PROCESSING)return null;return this.logger.debug("Job claimed",{jobId:w.id,attemptId:w.attemptId,workerSlotId:r,workerSessionId:i}),w}nextRuntimeUpdatedAt(e){return k`max(${e}, coalesce((select max(${ue.runtimeUpdatedAt}) from ${ue}), 0) + 1)`}attemptWriteGuard(e,t){return t?Se(V(ue.id,e),V(ue.status,ot.PROCESSING),V(ue.attemptId,t)):Se(V(ue.id,e),kr(ue.attemptId),Er(V(ue.status,ot.PENDING),V(ue.status,ot.PROCESSING)))}}import{AsyncLocalStorage as nye}from"async_hooks";class Nl{storage=new nye;static createFresh(){return new Nl}constructor(){}current(){return this.storage.getStore()}run(e,t,n){if(t.length===0)throw Error("Operation ID must not be empty");let r=La.parse(e),i=rye(r);return this.storage.run(Object.freeze({provenance:i,operationId:t}),n)}}function rye(e){if(Object.freeze(e.projectionLineage),e.sourceEntity)Object.freeze(e.sourceEntity);return Object.freeze(e)}class cR{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${ln()}`;directWorkerSessionId=ln();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh(e,t,n){return new cR(e,t??Ti.getInstance(),n)}constructor(e,t,n){let{db:r,client:i,url:a}=Z2(e);this.client=i,this.databaseUrl=a,this.logger=t.child("JobQueueService"),this.operationContext=n?.operationContext??Nl.createFresh(),this.projectionAdmission=n?.projectionAdmission,this.handlerRegistry=new aR(this.logger,n?.handlerRegistrationMode??"combined"),this.repository=new lR(r,i,a,this.logger),this.directLeaseDurationMs=e.claimTimeoutMs??300000}initialize(){if(this.closeRequested)return Promise.resolve();return this.walInitialization??=this.initializeWALMode(),this.walInitialization}async initializeWALMode(){try{await ea(this.client,this.databaseUrl)}catch(e){this.logger.warn("Failed to enable WAL mode (non-fatal)",e)}finally{this.walInitializationSettled=!0,this.closeClientWhenReady()}}closeClientWhenReady(){if(!this.closeRequested||this.inFlightEnqueues>0||this.walInitialization!==null&&!this.walInitializationSettled)return;this.closeClient()}closeClient(){if(this.clientClosed)return;this.clientClosed=!0,this.client.close()}registerHandler(e,t,n){this.handlerRegistry.registerHandler(e,t,n)}unregisterHandler(e){this.handlerRegistry.unregisterHandler(e)}unregisterPluginHandlers(e){this.handlerRegistry.unregisterPluginHandlers(e)}getRegisteredTypes(){return this.handlerRegistry.getRegisteredTypes()}getHandler(e){return this.handlerRegistry.getHandler(e)}getValidator(e){return this.handlerRegistry.getValidator(e)}finalizeHandlerRegistrations(){return this.handlerRegistry.finalizeRegistrations()}getExecutionRegistrations(){return this.handlerRegistry.getExecutionRegistrations()}async enqueue(e){if(this.closeRequested)throw Error("Cannot enqueue a job after the queue service is closed");this.inFlightEnqueues++;try{return await this.enqueueValidated(e)}finally{this.inFlightEnqueues--,this.closeClientWhenReady()}}async enqueueValidated(e){let{type:t,data:n,options:r}=e,i=this.handlerRegistry.getValidator(t);if(!i)throw Error(`No job type declared: ${t}`);let a=i.validateAndParse(n);if(a===null)throw Error(`Invalid job data for type: ${t}`);let s=Date.now(),l=ln(),c=r?.rootJobId??this.operationContext.current()?.provenance.rootJobId??l,u=this.createJobProvenance(l,c,r),d=r?.metadata??{operationType:"data_processing"},{provenance:p,...f}=d,m={id:l,type:t,data:JSON.stringify(a),status:ot.PENDING,priority:r?.priority??0,maxRetries:r?.maxRetries??3,retryCount:0,source:r?.source??null,metadata:{...f,...r?.deduplicationKey&&{deduplicationKey:r.deduplicationKey},rootJobId:c,provenance:u},createdAt:s,scheduledFor:r?.delayMs?s+r.delayMs:s,result:null,lastError:null,startedAt:null,completedAt:null},g,h=()=>{g?.rollback(),g=void 0};try{let b=await this.repository.enqueueAtomic({jobData:m,strategy:r?.deduplication,deduplicationKey:r?.deduplicationKey,beforeInsert:async()=>{g=await this.projectionAdmission?.reserveJobAdmission(u)},onInsertRollback:h});if(g?.commit(),g=void 0,b.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:t,existingJobId:b.jobId});else if(b.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:t,existingJobId:b.jobId});else{if(b.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:t,oldJobId:b.replacedJobId});this.logger.debug("Job enqueued",{id:b.jobId,type:t,priority:m.priority,rootJobId:m.metadata.rootJobId})}return b.jobId}catch(b){throw h(),this.logger.error("Failed to enqueue job",{type:t,error:$e(b)}),b}}createJobProvenance(e,t,n){let r=this.operationContext.current(),i=n?.metadata.provenance??r?.provenance,a=i?.rootJobId===t?i:void 0,s=r?.provenance.rootJobId===t?r.operationId:void 0,l=n?.projection,c=l?[...a?.projectionLineage??[],l.id]:[...a?.projectionLineage??[]],u=l?.id??a?.projectionId;return La.parse({rootJobId:t,causationId:s??a?.causationId??e,...u?{projectionId:u}:{},projectionLineage:c,...l?.sourceEntity?{sourceEntity:l.sourceEntity}:a?.sourceEntity?{sourceEntity:a.sourceEntity}:{},derivationDepth:c.length})}async dequeue(e){let t=this.handlerRegistry.getRegisteredTypes();if(t.length===0)return null;let n=e??await this.getDirectClaimOptions(),r=Date.now(),i=await this.repository.claimNextReady({...n,now:r,attemptId:ln(),executableTypes:t,exclusiveTypes:this.handlerRegistry.getExclusiveTypes()});if(!i)return null;return this.logger.debug("Job dequeued",{id:i.id,type:i.type,priority:i.priority,retryCount:i.retryCount,attemptId:i.attemptId,workerSlotId:i.workerSlotId,workerSessionId:i.workerSessionId}),i}async startWorkerSession(e,t,n=As){await this.repository.startWorkerSession(e,t,Date.now(),n)}heartbeatWorkerSession(e,t,n=As){return this.repository.heartbeatWorkerSession(e,t,Date.now(),n)}endWorkerSession(e,t){return this.repository.endWorkerSession(e,t)}renewAttemptLease(e,t,n){return this.repository.renewAttemptLease(e,t,Date.now(),n)}recordAttemptProgress(e,t,n){return this.repository.recordAttemptProgress(e,t,n)}complete(e,t,n){return this.repository.complete(e,t,n)}update(e,t,n){return this.repository.update(e,t,n)}fail(e,t,n){return this.repository.fail(e,t,n)}retireUnownedActiveJob(e){return this.repository.retireUnownedActiveJob(e)}async getDirectClaimOptions(){return this.directSessionStart??=this.repository.startWorkerSession(this.directWorkerSlotId,this.directWorkerSessionId,Date.now(),this.directLeaseDurationMs),await this.directSessionStart,{workerSlotId:this.directWorkerSlotId,workerSessionId:this.directWorkerSessionId,leaseDurationMs:this.directLeaseDurationMs}}async getStatus(e){return this.repository.getStatus(e)}async getJobsByRootJobId(e){return this.repository.getJobsByRootJobId(e)}async getStatusByEntityId(e){return this.repository.getStatusByEntityId(e)}async getStats(){return this.repository.getStats()}getDiagnostics(e){return this.repository.getDiagnostics(e)}async waitForIdle(e={}){let t=e.quietMs??250,n=e.pollIntervalMs??25,r=Date.now()+(e.timeoutMs??30000),i=async(a)=>{e.signal?.throwIfAborted();let{totals:s}=await this.getDiagnostics(),c=s.pending===0&&s.processing===0?a??Date.now():null;if(c!==null&&Date.now()-c>=t)return;if(Date.now()>=r)throw Error(`Timed out waiting for the job queue to settle: ${s.pending} pending, ${s.processing} processing`);return await Bun.sleep(n),i(c)};return i(null)}getRuntimeUpdates(e,t=1000){return this.repository.getRuntimeUpdates(e,t)}async cleanup(e){let t=await this.repository.cleanup(e);if(t>0)this.logger.info("Cleaned up old jobs",{deletedCount:t,olderThanMs:e});return t}async getActiveJobs(e){return this.repository.getActiveJobs(e)}async getRecentJobs(e,t){return this.repository.getRecentJobs(e,t)}async getFailedJobs(e){return this.repository.getFailedJobs(e)}}function uR(e){let t,n=()=>{return},r=!1,i=new Promise((s)=>{n=()=>{r=!0,s({kind:"timeout"})}}),a=()=>{if(r)return;if(t)clearTimeout(t);t=setTimeout(n,Math.max(1,e))};return a(),{expired:i,renew:a,cancel:()=>{if(r=!0,t)clearTimeout(t)}}}function W2(e,t){let n,r=(a)=>{let s=JSON.stringify([a.progress,a.total,a.message]);if(s===n)return;n=s,t()},i=(a)=>({createSub:(s)=>i(a.createSub(s)),report:async(s)=>{r(s),await a.report(s)},startHeartbeat:(s,l)=>a.startHeartbeat(s,l),stopHeartbeat:()=>a.stopHeartbeat(),toCallback:()=>{let s=a.toCallback();return async(l)=>{r(l),await s(l)}}});return i(e)}class G2 extends Error{constructor(e,t){super(`Job ${e} exceeded its ${t}ms execution deadline`);this.name="JobDeadlineExceededError"}}class dR{logger;jobQueueService;progressMonitor;config;isRunning=!1;shouldStop=!1;activeJobs=new Set;stats;startTime=0;pollFiber=null;currentPoll=null;workerScope=null;jobFibers=null;activeTransition=null;transitionQueue=[];clock;operationContext;projectionBatchScope;workerSessionId=null;workerHeartbeatStop=null;static createFresh(e,t,n,r,i){return new dR(e,t,n,r,i)}constructor(e,t,n,r,i){if(this.logger=n.child("JobQueueWorker"),this.jobQueueService=e,this.progressMonitor=t,this.clock=i?.clock,this.operationContext=i?.operationContext??Nl.createFresh(),this.projectionBatchScope=i?.projectionBatchScope,this.config={concurrency:r?.concurrency??1,pollInterval:r?.pollInterval??1000,maxJobs:r?.maxJobs??0,autoStart:r?.autoStart??!1,workerSlotId:r?.workerSlotId??process.env.BRAIN_JOB_WORKER_SLOT_ID??"default",defaultExecutionTimeoutMs:r?.defaultExecutionTimeoutMs??300000,cancellationGraceMs:r?.cancellationGraceMs??5000,errorCallbackTimeoutMs:r?.errorCallbackTimeoutMs??1e4,leaseDurationMs:r?.leaseDurationMs??30000,attemptHeartbeatIntervalMs:r?.attemptHeartbeatIntervalMs??1e4,workerHeartbeatIntervalMs:r?.workerHeartbeatIntervalMs??5000,workerSessionTimeoutMs:r?.workerSessionTimeoutMs??As,onUnhealthy:r?.onUnhealthy??(()=>{return})},this.stats={processedJobs:0,failedJobs:0,activeJobs:0,uptime:0,isRunning:!1,isHealthy:!0},this.logger.debug("JobQueueWorker initialized",{concurrency:this.config.concurrency,pollInterval:this.config.pollInterval,maxJobs:this.config.maxJobs,autoStart:this.config.autoStart}),this.config.autoStart)this.start().catch((a)=>{this.logger.error("Failed to auto-start JobQueueWorker",{error:a})})}start(){return this.requestTransition("start",!0)}async startWorker(){if(this.isRunning){this.logger.warn("Worker is already running");return}this.logger.debug("Starting JobQueueWorker");let e=ln();await this.jobQueueService.startWorkerSession(this.config.workerSlotId,e,this.config.workerSessionTimeoutMs),this.workerSessionId=e,this.isRunning=!0,this.shouldStop=!1,this.startTime=Date.now(),this.stats.isRunning=!0,this.stats.isHealthy=!0,delete this.stats.unhealthyReason,this.startWorkerHeartbeat(),this.workerScope=ge.runSync(en.make()),this.jobFibers=ge.runSync(en.provide(vr.make(),this.workerScope)),this.pollFiber=ge.runFork(this.runPollingLoop())}stop(){return this.requestTransition("stop",!0)}async stopWorker(e){if(!this.isRunning){this.logger.warn("Worker is not running");return}if(this.logger.debug("Stopping JobQueueWorker"),this.shouldStop=!0,e.awaitInFlightPoll&&this.pollFiber){let n=this.pollFiber;await ge.runPromise(Uo.interrupt(n)),this.pollFiber=null}if(e.awaitInFlightPoll&&this.currentPoll)await this.currentPoll,this.currentPoll=null;if(this.jobFibers)this.logger.debug("Waiting for active jobs to complete",{activeJobs:this.activeJobs.size}),await ge.runPromise(vr.awaitEmpty(this.jobFibers));await this.closeWorkerScope(),await this.stopWorkerHeartbeat();let t=this.workerSessionId;if(this.workerSessionId=null,t)await this.jobQueueService.endWorkerSession(this.config.workerSlotId,t);this.isRunning=!1,this.stats.isRunning=!1,this.logger.debug("JobQueueWorker stopped")}getStats(){return{...this.stats,activeJobs:this.activeJobs.size,uptime:this.isRunning?Date.now()-this.startTime:0}}isWorkerRunning(){return this.isRunning}isStopRequested(){return this.shouldStop}async processAvailableJobs(){if(!this.isRunning||this.shouldStop)return;try{let e=this.config.concurrency-this.activeJobs.size;if(e<=0)return;if(this.config.maxJobs>0){let n=this.stats.processedJobs+this.stats.failedJobs,r=this.config.maxJobs-n-this.activeJobs.size;if(r<=0){this.logger.debug("Maximum job limit reached, stopping worker",{maxJobs:this.config.maxJobs,processedJobs:this.stats.processedJobs,failedJobs:this.stats.failedJobs}),await this.requestTransition("stop",!1);return}e=Math.min(e,r)}let t=this.jobFibers;if(!t)throw Error("Worker job fiber scope is not available");for(let n=0;n<e;n++){if(this.isStopRequested())break;let r=this.workerSessionId;if(!r)throw Error("Worker session is not available");let i=await this.jobQueueService.dequeue({workerSlotId:this.config.workerSlotId,workerSessionId:r,leaseDurationMs:this.config.leaseDurationMs});if(!i)break;this.activeJobs.add(i.id),await ge.runPromise(vr.run(t,i.id,ge.promise(()=>this.processJobWrapper(i))))}}catch(e){this.logger.error("Error processing available jobs",{error:e}),this.stats.lastError=$e(e)}}async processJobWrapper(e){let t=e.id;try{this.logger.debug("Processing job",{jobId:t,type:e.type,priority:e.priority,retryCount:e.retryCount});let n=await this.processJob(e);if(n.status==="completed")this.stats.processedJobs++,this.logger.debug("Job completed successfully",{jobId:t,type:n.type});else this.stats.failedJobs++,this.logger.warn("Job failed",{jobId:t,type:n.type,error:n.error})}catch(n){this.stats.failedJobs++,this.logger.error("Error processing job",{jobId:t,type:e.type,error:n}),this.stats.lastError=$e(n)}finally{this.activeJobs.delete(t)}}runPollingLoop(){let t=ge.suspend(()=>{if(!this.isWorkerRunning()||this.isStopRequested())return ge.interrupt;return this.currentPoll=this.processAvailableJobs(),ge.promise(()=>this.currentPoll??Promise.resolve()).pipe(ge.andThen(ge.suspend(()=>(this.currentPoll=null,!this.isWorkerRunning()||this.isStopRequested()?ge.interrupt:ge.void))))}).pipe(ge.schedule(gi.spaced(this.config.pollInterval)),ge.asVoid);return yi(t,this.clock).pipe(ge.ensuring(ge.sync(()=>{this.pollFiber=null})))}requestTransition(e,t){let n=this.transitionQueue.at(-1)??this.activeTransition;if(n?.kind===e)return n.promise;let r=()=>{return},i=()=>{return},a=new Promise((l,c)=>{r=l,i=c}),s={kind:e,awaitInFlightPoll:t,promise:a,resolve:r,reject:i};return this.transitionQueue.push(s),this.runNextTransition(),a}runNextTransition(){if(this.activeTransition)return;let e=this.transitionQueue.shift();if(!e)return;this.activeTransition=e,(e.kind==="start"?this.startWorker():this.stopWorker({awaitInFlightPoll:e.awaitInFlightPoll})).then(()=>this.completeTransition(e,!0),(n)=>this.completeTransition(e,!1,n))}completeTransition(e,t,n){if(this.activeTransition!==e)return;if(this.activeTransition=null,t)e.resolve();else e.reject(n);queueMicrotask(()=>this.runNextTransition())}async closeWorkerScope(){let e=this.workerScope;if(this.workerScope=null,this.jobFibers=null,e)await ge.runPromise(en.close(e,Yt.void))}startHeartbeatLoop(e){let t=null,n=!1,r=setInterval(()=>{if(n||t)return;t=e.beat().then((i)=>{if(!i)e.onStale()}).catch(e.onError).finally(()=>{t=null})},Math.max(1,e.intervalMs));return async()=>{if(n)return;n=!0,clearInterval(r),await t}}startWorkerHeartbeat(){this.workerHeartbeatStop=this.startHeartbeatLoop({intervalMs:this.config.workerHeartbeatIntervalMs,beat:async()=>{let e=this.workerSessionId;if(!e)return!0;return this.jobQueueService.heartbeatWorkerSession(this.config.workerSlotId,e,this.config.workerSessionTimeoutMs)},onStale:()=>this.markUnhealthy("Worker session was superseded"),onError:(e)=>this.markUnhealthy(`Worker session heartbeat failed: ${$e(e)}`)})}async stopWorkerHeartbeat(){await this.workerHeartbeatStop?.(),this.workerHeartbeatStop=null}startAttemptHeartbeat(e,t){let n=e.attemptId;if(!n)return async()=>{return};return this.startHeartbeatLoop({intervalMs:this.config.attemptHeartbeatIntervalMs,beat:()=>this.jobQueueService.renewAttemptLease(e.id,n,this.config.leaseDurationMs),onStale:()=>{let r=Error("Job attempt was superseded");t.abort(r),this.markUnhealthy(r.message)},onError:(r)=>{let i=hp(r);t.abort(i),this.markUnhealthy(`Attempt lease heartbeat failed: ${i.message}`)}})}markUnhealthy(e){if(!this.stats.isHealthy)return;this.stats.isHealthy=!1,this.stats.unhealthyReason=e,this.stats.lastError=e,this.shouldStop=!0,this.logger.error("Job queue worker is unhealthy",{reason:e});try{this.config.onUnhealthy(e)}catch(t){this.logger.error("Job queue worker unhealthy callback failed",{reason:e,error:$e(t)})}}async raceOutcome(e,t){let n,r=new Promise((i)=>{n=setTimeout(()=>i({kind:"timeout"}),Math.max(1,t))});try{return await Promise.race([e,r])}finally{if(n)clearTimeout(n)}}async executeWithDeadline(e,t,n,r,i=uR(t)){let a=Promise.resolve().then(r).then((u)=>({kind:"success",value:u}),(u)=>({kind:"failure",error:u})),s=await Promise.race([a,i.expired]).finally(()=>i.cancel());if(s.kind!=="timeout"){if(s.kind==="failure")throw s.error;return s.value}let l=new G2(e,t);if(n.abort(l),(await this.raceOutcome(a,this.config.cancellationGraceMs)).kind!=="timeout")throw l;throw this.markUnhealthy(`${l.message}; handler ignored cancellation grace`),await a,l}processJob(e){let t=e.metadata.provenance??{rootJobId:e.metadata.rootJobId,causationId:e.id,projectionLineage:[],derivationDepth:0};return this.operationContext.run(t,e.id,()=>{let n=this.projectionBatchScope;return n?n.runFreshBatchScope(()=>this.processJobWithinContext(e)):this.processJobWithinContext(e)})}async processJobWithinContext(e){let t=e.attemptId;if(!t){let l=Error(`Claimed job ${e.id} has no attempt fencing token`);return this.markUnhealthy(l.message),{jobId:e.id,type:e.type,status:ot.FAILED,error:l.message}}let n=this.jobQueueService.getHandler(e.type);if(!n){let l=Error(`No handler registered for job type: ${e.type}`);return await this.jobQueueService.fail(e.id,l,t),{jobId:e.id,type:e.type,status:ot.FAILED,error:l.message}}let r=new AbortController,i=this.startAttemptHeartbeat(e,r),a=!1,s=async()=>{if(a)return;a=!0,await i()};try{this.logger.debug("Processing job",{jobId:e.id,type:e.type,attemptId:t});let l=JSON.parse(e.data),c=n.validateAndParse(l);if(c===null)throw Error(`Invalid job data for type: ${e.type}`);let u=this.progressMonitor.createProgressReporter(e.id,t),d=n.executionTimeoutMs??this.config.defaultExecutionTimeoutMs,p=uR(d),f=await this.executeWithDeadline(e.type,d,r,()=>n.process(c,e.id,W2(u,p.renew),r.signal),p);await s();let m=iR.safeParse(f);if(m.success){let h=m.data.error??"Handler returned failure",b=Error(h);if(await this.jobQueueService.fail(e.id,b,t))await this.emitTerminalFailure(e,b,n,t);return{jobId:e.id,type:e.type,status:ot.FAILED,error:h}}if(!await this.jobQueueService.complete(e.id,f,t))return{jobId:e.id,type:e.type,status:ot.FAILED,error:"Job attempt no longer owns the claim"};return await this.runHandlerSuccessCallback(n,e,t),await this.progressMonitor.handleJobStatusChange(e.id,"completed",e.metadata),{jobId:e.id,type:e.type,status:ot.COMPLETED,result:f}}catch(l){let c=hp(l);if(await s(),await this.runHandlerErrorCallback("onError",n,e,c,t),await this.jobQueueService.fail(e.id,c,t))await this.emitTerminalFailure(e,c,n,t);return{jobId:e.id,type:e.type,status:ot.FAILED,error:c.message}}}async runHandlerSuccessCallback(e,t,n){let r=e.onTerminalSuccess;if(!r)return;try{let i=e.validateAndParse(JSON.parse(t.data));if(i===null)return;let a=this.progressMonitor.createProgressReporter(t.id,n),s=new AbortController;await this.executeWithDeadline(`${t.type}:onTerminalSuccess`,this.config.errorCallbackTimeoutMs,s,()=>r.call(e,i,t.id,a,s.signal))}catch(i){this.logger.error("Terminal job success callback failed",{jobId:t.id,type:t.type,error:i})}}async emitTerminalFailure(e,t,n,r){if((await this.jobQueueService.getStatus(e.id))?.status!==ot.FAILED)return;await this.runHandlerErrorCallback("onTerminalError",n,e,t,r),await this.progressMonitor.handleJobStatusChange(e.id,"failed",e.metadata)}async runHandlerErrorCallback(e,t,n,r,i){let a=t[e];if(!a)return;try{let s=t.validateAndParse(JSON.parse(n.data));if(s===null)return;let l=this.progressMonitor.createProgressReporter(n.id,i),c=new AbortController;await this.executeWithDeadline(`${n.type}:${e}`,this.config.errorCallbackTimeoutMs,c,()=>a.call(t,r,s,n.id,l,c.signal))}catch(s){this.logger.error(e==="onError"?"Job handler error callback failed":"Job handler terminal error callback failed",{jobId:n.id,error:s})}}}var oye=86400000,J2=3600000;class pR{jobQueue;logger;batches=new Map;cleanupFiber=null;cleanupSupervisor=null;inFlightCleanups=new Set;activeTransition=null;transitionQueue=[];acceptingCleanup=!0;clock;static createFresh(e,t,n){return new pR(e,t,n)}constructor(e,t,n){this.jobQueue=e,this.logger=t,this.clock=n?.clock}start(e=J2){return this.requestTransition("start",e)}stop(){return this.requestTransition("stop",J2)}async startCleanup(e){if(this.acceptingCleanup=!0,this.cleanupFiber)return;this.cleanupFiber=ge.runFork(this.runCleanupLoop(e))}runCleanupLoop(e){let t=this.cleanupTerminalBatchMetadata().pipe(ge.schedule(gi.spaced(e)),ge.asVoid);return yi(t,this.clock)}scheduleTerminalBatchCleanup(){if(!this.acceptingCleanup)return;this.cleanupSupervisor??=this.createCleanupSupervisor();let e=ge.runFork(this.cleanupTerminalBatchMetadata());ka.addUnsafe(this.cleanupSupervisor.fibers,e)}async stopCleanup(){this.acceptingCleanup=!1;let e=this.cleanupFiber;if(this.cleanupFiber=null,e)await ge.runPromise(Uo.interrupt(e));let t=this.cleanupSupervisor;if(t)await ge.runPromise(ka.awaitEmpty(t.fibers));while(this.inFlightCleanups.size>0)await Promise.allSettled(this.inFlightCleanups);if(t)await ge.runPromise(en.close(t.scope,Yt.void)),this.cleanupSupervisor=null}requestTransition(e,t){let n=this.transitionQueue.at(-1)??this.activeTransition;if(n?.kind===e)return n.promise;let r=()=>{return},i=()=>{return},a=new Promise((l,c)=>{r=l,i=c}),s={kind:e,intervalMs:t,promise:a,resolve:r,reject:i};return this.transitionQueue.push(s),this.runNextTransition(),a}runNextTransition(){if(this.activeTransition)return;let e=this.transitionQueue.shift();if(!e)return;this.activeTransition=e,(e.kind==="start"?this.startCleanup(e.intervalMs):this.stopCleanup()).then(()=>this.completeTransition(e,!0),(n)=>this.completeTransition(e,!1,n))}completeTransition(e,t,n){if(this.activeTransition!==e)return;if(this.activeTransition=null,t)e.resolve();else e.reject(n);queueMicrotask(()=>this.runNextTransition())}createCleanupSupervisor(){let e=ge.runSync(en.make()),t=ge.runSync(en.provide(ka.make(),e));return{scope:e,fibers:t}}cleanupTerminalBatchMetadata(){return ge.tryPromise({try:()=>{let e=this.cleanup(oye);return this.inFlightCleanups.add(e),e.then(()=>this.inFlightCleanups.delete(e),()=>this.inFlightCleanups.delete(e)),e},catch:(e)=>e}).pipe(ge.asVoid,ge.catch((e)=>ge.sync(()=>{this.logger.warn("Failed to clean up terminal batch metadata",{error:e})})))}validateOperations(e){for(let t of e){let n=this.jobQueue.getValidator(t.type);if(!n)throw Error(`No job type declared: ${t.type}`);if(n.validateAndParse(t.data)===null)throw Error(`Invalid job data for type: ${t.type}`)}}async enqueueBatch(e,t,n,r){if(e.length===0)throw Error("Cannot enqueue empty batch");this.validateOperations(e);let i=[];this.batches.set(n,{jobIds:i,operations:e,source:t.source,startedAt:new Date().toISOString(),metadata:{...t.metadata,rootJobId:n}});try{for(let a of e){let s={...t,rootJobId:n,metadata:{...t.metadata,operationTarget:a.type}},l=await this.jobQueue.enqueue({type:a.type,data:a.data,options:s});i.push(l)}return this.logger.debug("Enqueued batch operations",{batchId:n,operationCount:e.length,jobIds:i,rootJobId:n}),this.scheduleTerminalBatchCleanup(),n}catch(a){throw this.batches.delete(n),this.logger.error("Failed to enqueue batch operations",{error:a,operationCount:e.length,enqueuedJobs:i.length}),a}}async getBatchStatus(e){let t=this.batches.get(e);if(!t)return null;try{let n=await Promise.all(t.jobIds.map((u)=>this.jobQueue.getStatus(u))),r=0,i=0,a=0,s=[];for(let[u,d]of n.entries()){if(!d){i++;let p=t.operations[u],f=t.jobIds[u]??"unknown";s.push(`Missing job ${f}${p?` for ${p.type}`:""}`);continue}switch(d.status){case"completed":r++;break;case"failed":if(i++,d.lastError)s.push(d.lastError);break;case"processing":case"pending":a++;break}}a+=t.operations.length-t.jobIds.length;let l;if(a>0)l=ot.PROCESSING;else if(i>0)l=ot.FAILED;else l=ot.COMPLETED;if(t.terminalAt===void 0&&(l===ot.COMPLETED||l===ot.FAILED))t.terminalAt=Date.now();let c;for(let u=0;u<t.jobIds.length;u++){let d=n[u];if(d&&d.status!=="completed"&&d.status!=="failed"){let p=t.operations[u];if(p)c=`Processing ${p.type}`;break}}return{batchId:e,totalOperations:t.operations.length,completedOperations:r,failedOperations:i,errors:s,status:l,currentOperation:c,metadata:t.metadata}}catch(n){throw this.logger.error("Failed to get batch status",{batchId:e,error:n}),n}}inspectRetention(e){let t=this.batches.get(e);return t?{terminalAt:t.terminalAt}:void 0}async cleanup(e){let t=Date.now()-e,n=0;for(let[r,i]of this.batches.entries()){if(i.terminalAt!==void 0){if(i.terminalAt<=t)this.batches.delete(r),n++;continue}if(new Date(i.startedAt).getTime()<=t){let s=await this.getBatchStatus(r);if(s&&(s.status===ot.COMPLETED||s.status===ot.FAILED))this.batches.delete(r),n++}}return this.logger.debug("Cleaned up batch metadata",{cleaned:n}),n}registerBatch(e,t,n,r,i){this.batches.set(e,{jobIds:t,operations:n,source:r,startedAt:new Date().toISOString(),metadata:i}),this.logger.debug("Registered batch metadata",{batchId:e,operationCount:n.length,jobIds:t})}async getActiveBatches(){let e=[];try{for(let[t,n]of this.batches){let r=await this.getBatchStatus(t);if(r&&(r.status==="pending"||r.status==="processing"))e.push({batchId:t,status:r,metadata:{operations:n.operations,source:n.source,startedAt:n.startedAt,metadata:n.metadata}})}return this.logger.debug("Retrieved active batches",{count:e.length}),e}catch(t){throw this.logger.error("Failed to get active batches",{error:t}),t}}}var iye=o.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},o.record(o.string(),o.unknown()));class mR{jobQueueService;messageBus;batchJobManager;logger;mode;pollTimer;pollCursor={updatedAt:0,jobId:""};activePoll;stopPromise;stopped=!1;static createFresh(e,t,n,r,i="combined"){return new mR(e,t,n,r,i)}constructor(e,t,n,r,i){this.jobQueueService=e,this.messageBus=t,this.batchJobManager=n,this.logger=r,this.mode=i}start(){if(this.stopped)throw Error("Cannot start a stopped job progress monitor");if(this.mode==="durable-reader"&&!this.pollTimer){this.pollCursor={updatedAt:Date.now(),jobId:""},this.pollTimer=setInterval(()=>{this.pollDurableUpdates()},250),this.pollTimer.unref(),this.logger.debug("Job progress monitor ready (durable polling mode)");return}this.logger.debug("Job progress monitor ready (event-driven mode)")}stop(){return this.stopPromise??=this.stopMonitor(),this.stopPromise}async stopMonitor(){if(this.stopped=!0,this.pollTimer)clearInterval(this.pollTimer);this.pollTimer=void 0,await this.activePoll,this.logger.debug("Job progress monitor stopped")}pollDurableUpdates(){if(this.stopped)return Promise.resolve();if(this.activePoll)return this.activePoll;let e=Promise.resolve().then(()=>this.pollPage());this.activePoll=e;let t=()=>{this.activePoll=void 0};return e.then(t,t),e}async pollPage(){try{let e=await this.jobQueueService.getRuntimeUpdates(this.pollCursor,100);for(let t of e)if(this.pollCursor=t.cursor,t.job.status==="processing"&&t.job.progress)await this.publishJobProgress(t.job,t.job.progress);else if(t.job.status==="completed"||t.job.status==="failed")await this.handleJobStatusChange(t.job.id,t.job.status,t.job.metadata)}catch(e){this.logger.error("Failed to poll durable job progress",{error:e})}}createProgressReporter(e,t){let n=Rs.from(async(r)=>{await this.emitJobProgress(e,r,t)});if(!n)throw Error("Failed to create ProgressReporter");return n}async emitBatchProgress(e,t,n){try{let r={totalOperations:t.totalOperations,completedOperations:t.completedOperations,failedOperations:t.failedOperations,currentOperation:t.currentOperation??"Processing batch...",errors:t.errors},i={id:e,type:"batch",status:t.status,metadata:n,batchDetails:r};if(t.totalOperations>0)i.progress={current:t.completedOperations,total:t.totalOperations,percentage:Math.round(t.completedOperations/t.totalOperations*100)};await this.messageBus.send({type:Sg.progress,payload:i,sender:"job-progress-monitor",broadcast:!0}),this.logger.debug("Emitted batch progress update",{batchId:e,status:t.status,progress:`${t.completedOperations}/${t.totalOperations}`})}catch(r){this.logger.error("Error emitting batch progress update",{batchId:e,error:r})}}isBatchChild(e,t){return!!t&&t!==e}get publishesEvents(){return this.mode!=="durable-writer"}async broadcastEvent(e){await this.messageBus.send({type:Sg.progress,payload:e,sender:"job-progress-monitor",broadcast:!0})}async emitJobProgress(e,t,n){try{if(n&&!await this.jobQueueService.recordAttemptProgress(e,n,t)){this.logger.debug("Discarding progress from obsolete job attempt",{jobId:e,attemptId:n});return}if(!this.publishesEvents)return;let r=await this.jobQueueService.getStatus(e);if(!r){this.logger.warn("Job not found for progress update",{jobId:e});return}await this.publishJobProgress(r,t)}catch(r){this.logger.error("Error emitting job progress",{jobId:e,error:r})}}async publishJobProgress(e,t){if(e.metadata.silent)return;if(this.isBatchChild(e.id,e.metadata.rootJobId))return;let n=t.total??0,r={id:e.id,type:"job",status:"processing",metadata:e.metadata,message:t.message};if(n>0)r.progress={current:t.progress,total:n,percentage:Math.round(t.progress/n*100)};await this.broadcastEvent(r)}async emitJobCompletion(e){await this.emitJobStatusEvent(e,"completed")}async emitJobFailure(e){await this.emitJobStatusEvent(e,"failed")}async emitJobStatusEvent(e,t){if(!this.publishesEvents)return;try{let n=await this.jobQueueService.getStatus(e);if(!n){this.logger.warn(`Cannot emit ${t} for unknown job`,{jobId:e});return}if(n.metadata.silent)return;if(this.isBatchChild(e,n.metadata.rootJobId)){this.logger.debug(`Skipping individual job ${t} for batch operation`,{jobId:e,rootJobId:n.metadata.rootJobId});return}let r={id:e,type:"job",status:t,message:this.extractStatusMessage(n,t),metadata:n.metadata,jobDetails:{jobType:n.type,priority:n.priority,retryCount:n.retryCount}};await this.broadcastEvent(r),this.logger.debug(`Emitted job ${t} event`,{jobId:e})}catch(n){this.logger.error(`Error emitting job ${t} event`,{jobId:e,error:n})}}extractStatusMessage(e,t){if(t==="failed")return e.lastError??void 0;if(!e.result)return;try{let n=iye.parse(e.result),r=n.message;if(r)return String(r);let i=n.routesBuilt;if(i!==void 0)return`${i} routes built`}catch{}return}getStats(){return{isRunning:!this.stopped&&(this.mode!=="durable-reader"||this.pollTimer!==void 0)}}async handleJobStatusChange(e,t,n){if(!this.publishesEvents)return;let r=n?cu.safeParse(n):void 0,i=r?.success?r.data:void 0;if(i?.silent)return;try{if(await this.emitJobStatusEvent(e,t),i&&this.isBatchChild(e,i.rootJobId))try{let a=i.rootJobId,s=await this.batchJobManager.getBatchStatus(a);if(s){let l=s.metadata??i;await this.emitBatchProgress(a,s,l)}}catch(a){this.logger.warn("Failed to emit batch progress",{jobId:e,rootJobId:i.rootJobId,error:a})}}catch(a){this.logger.error("Failed to handle job status change",{jobId:e,status:t,error:a})}}}var aye=o.record(o.string(),o.unknown());class xg{logger;schema;jobTypeName;executionTimeoutMs;exclusive;constructor(e,t){this.logger=e,this.schema=t.schema,this.jobTypeName=t.jobTypeName,this.executionTimeoutMs=t.executionTimeoutMs,this.exclusive=t.exclusive}validateAndParse(e){if(!this.schema)throw Error(`${this.jobTypeName}: No schema provided. Override validateAndParse() or provide a schema.`);let t=this.schema.safeParse(e);if(!t.success)return this.logger.warn(`Invalid ${this.jobTypeName} job data`,{data:e,validationError:t.error.issues}),null;return this.logger.debug(`${this.jobTypeName} job data validation successful`,{data:this.summarizeDataForLog(t.data)}),t.data}async onError(e,t,n,r,i){this.logger.error(`${this.jobTypeName} job error handler triggered`,{jobId:n,errorMessage:e.message,errorStack:e.stack,data:this.summarizeDataForLog(t)})}async reportProgress(e,t){await e.report({progress:t.progress,total:t.total??100,message:t.message})}summarizeDataForLog(e){let t=aye.safeParse(e);return t.success?t.data:{}}}function wg(e,t,n){return async(r)=>{let{type:i,data:a,toolContext:s=null,options:l,projection:c}=r,u=s?V2(s):void 0,{metadata:d,...p}=l??{},f={operationType:"data_processing",pluginId:t,...d,...s&&{interfaceType:s.interfaceType,conversationId:s.conversationId,channelId:s.channelId,requestedByActor:s.actor,...u?{requestedByUserId:u}:{},requestedByInterface:s.interfaceType,...s.progressToken!==void 0&&{progressToken:s.progressToken}}};if(s&&!u)delete f.requestedByUserId;let m={...p,source:t,...l?.rootJobId&&{rootJobId:l.rootJobId},...c&&{projection:c},metadata:f},g=n&&!i.includes(":")?`${t}:${i}`:i;return e.enqueue({type:g,data:a,options:m})}}function fR(e,t){return async(n,r)=>{let i=r?.rootJobId??ln(),a=n.map((l)=>({...l,type:l.type.includes(":")?l.type:`${t}:${l.type}`})),s={...r,source:t,rootJobId:i,metadata:{...r?.metadata,operationType:"batch_processing",pluginId:t}};return await e.enqueueBatch(a,s,i,t),i}}function gR(e,t){return(n,r)=>{let i=n.includes(":")?n:`${t}:${n}`;e.registerHandler(i,r,t)}}var sye=o.custom((e)=>typeof e==="object"&&e!==null&&("safeParse"in e)),lye=o.object({name:o.string(),schema:sye});function H2(e){return lye.safeParse(e).success}function cye(e){if(!e)return;return{status:e.status,message:e.message,lastCheck:e.lastCheck?.toISOString(),details:e.details}}function K2(e){return{model:e.model,version:e.version,uptime:e.uptime,entities:e.entities,entityCounts:e.entityCounts,embeddings:e.embeddings,ai:e.ai,daemons:e.daemons.map((t)=>({name:t.name,pluginId:t.pluginId,status:t.status,health:cye(t.health)})),endpoints:e.endpoints,interactions:e.interactions}}var Q2={digest:"conversation:digest"};var uye="/api/chat",Vt="web-chat-guest",wS=o.strictObject({idleSeconds:o.number().int().positive().max(Math.floor(Number.MAX_SAFE_INTEGER/1000)),maxAgeSeconds:o.number().int().positive().max(Math.floor(Number.MAX_SAFE_INTEGER/1000))}).refine((e)=>e.idleSeconds<=e.maxAgeSeconds,"Guest idle expiry must not exceed maximum age"),TS=o.strictObject({visitorId:o.string().uuid(),retention:wS}),dt=o.string().trim().min(1).max(256),ldt="x-brain-conversation-id",cdt=o.strictObject({expiresAt:o.number().int().positive(),provider:o.string().min(1),notice:o.string().min(1),deletionLimitations:o.string().min(1),retention:wS,messageCharacters:o.number().int().positive(),canSend:o.boolean(),presentation:eZ.optional()}),dye=o.strictObject({conversationId:dt,state:o.enum(["active","completed","failed","interrupted","uncertain"])}),rZ=o.string().regex(/^upload-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i),bR=o.string().trim().min(1).max(48),vR=o.string().datetime(),Y2=o.string().regex(/^\/(?!\/)/).max(2048),yp=o.string().regex(/^(?:\/(?!\/)|https?:\/\/)/).max(2048),pye=o.looseObject({kind:o.literal("tool-approval"),id:dt,toolCallId:dt.optional(),toolName:o.string().trim().min(1).max(256),input:o.record(o.string(),o.unknown()).optional(),summary:o.string().max(4096),completionSummary:o.string().max(4096).optional(),preview:o.string().max(1e5).optional(),state:o.enum(["approval-requested","approval-responded","output-available","output-denied","output-error"]),output:o.unknown().optional(),error:o.string().max(4096).optional()}),mye=o.looseObject({entityType:o.string().trim().min(1).max(128).optional(),entityId:dt.optional(),attachmentType:o.string().trim().min(1).max(128).optional()}),fye=o.looseObject({mediaType:o.string().trim().min(1).max(255),url:yp,downloadUrl:yp.optional(),previewUrl:yp.optional(),filename:o.string().trim().min(1).max(255).optional(),sizeBytes:o.number().int().nonnegative().optional(),source:mye.optional()}),oZ=o.looseObject({kind:o.literal("attachment"),id:dt,jobId:dt.optional(),title:o.string().max(4096),description:o.string().max(20000).optional(),attachment:fye}),gye=o.looseObject({id:dt,title:o.string().max(4096).optional(),source:o.string().trim().min(1).max(512),url:yp.optional(),entityType:o.string().trim().min(1).max(128).optional(),entityId:dt.optional(),excerpt:o.string().max(20000).optional(),provenance:o.record(o.string(),o.unknown()).optional(),brain:tZ.optional()}),SR=o.looseObject({kind:o.literal("sources"),id:dt,title:o.string().max(4096).optional(),sources:o.array(gye).min(1).max(100)}),hye=o.discriminatedUnion("type",[o.object({type:o.literal("prompt"),id:dt,label:o.string().trim().min(1).max(256),prompt:o.string().min(1).max(1e5),description:o.string().max(4096).optional()}),o.object({type:o.literal("event"),id:dt,label:o.string().trim().min(1).max(256),event:o.string().trim().min(1).max(256),fromState:o.string().trim().min(1).max(256).optional(),description:o.string().max(4096).optional()})]),iZ=o.looseObject({kind:o.literal("actions"),id:dt,title:o.string().max(4096).optional(),actions:o.array(hye).min(1).max(100)}),aZ=o.discriminatedUnion("kind",[pye,oZ,SR,iZ]);function X2(e){if(!e||e.length>512)return;let t;try{t=new URL(e)}catch{return}return t.protocol==="https:"&&!t.username&&!t.password&&t.href.length<=512?t.href:void 0}function sZ(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e.slice(0,10)){let i=SR.safeParse(r);if(!i.success||i.data.id!=="sources:tool-results")continue;for(let a of i.data.sources){if(t.length>=15)break;if(!a.entityType||!a.entityId||a.entityId.length>256||a.source!==a.entityType||a.id!==`${a.entityType}:${a.entityId}`||n.has(a.id))continue;n.add(a.id);let s=X2(a.url),l=X2(a.brain?.url);t.push({id:a.id,source:a.entityType,entityType:a.entityType,entityId:a.entityId,title:(a.title??a.entityId).slice(0,160),...a.excerpt?{excerpt:a.excerpt.slice(0,280)}:{},...s?{url:s}:{},...a.brain?{brain:{name:a.brain.name.slice(0,120),...l?{url:l}:{}}}:{}})}}return t.length?[{kind:"sources",id:"sources:tool-results",title:"Retrieved sources",sources:t}]:[]}var yye=o.object({id:dt,toolCallId:dt.optional(),toolName:o.string().trim().min(1).max(256),summary:o.string().max(4096),completionSummary:o.string().max(4096).optional(),preview:o.string().max(1e5).optional(),args:o.unknown()}),lZ=o.object({toolName:o.string().trim().min(1).max(256),args:o.record(o.string(),o.unknown()).optional(),jobId:dt.optional(),data:o.unknown().optional(),error:o.object({message:o.string().max(4096),code:o.string().trim().min(1).max(256).optional()}).optional()}),udt=o.looseObject({text:o.string().max(1e6),toolResults:o.array(lZ).max(100).optional(),cards:o.array(aZ).max(100).optional(),pendingConfirmations:o.array(yye).max(100).optional(),usage:o.object({promptTokens:o.number().int().nonnegative(),completionTokens:o.number().int().nonnegative(),totalTokens:o.number().int().nonnegative()})});function ddt(e=uye){let t=bye(e);return{stream:t,actions:`${t}/actions`,sessions:`${t}/sessions`,sessionArchive:`${t}/sessions/archive`,messages:`${t}/messages`,uploads:`${t}/uploads`,contextSessions:`${t}/context-sessions`,documentAttachments:`${t}/attachments/document`,imageAttachments:`${t}/attachments/image`,jobStatus:`${t}/jobs/status`}}function bye(e){let t=e.trim();if(!t.startsWith("/")||t.startsWith("//")||t.length>512||/[\s"'<>\\]/u.test(t)||t.includes("?")||t.includes("#"))throw Error("Chat API path must be a same-origin absolute path without query or fragment");let n=t.replace(/\/+$/,"");if(n.length===0)throw Error("Chat API path must not be the site root");return n}var vye=o.strictObject({version:o.literal(1),sourceId:o.string().trim().regex(/^[a-z][a-z0-9-]*$/).max(64),itemId:o.string().trim().min(1).max(300),titleSeed:o.string().trim().min(1).max(160).refine((e)=>!/[\p{Cc}\p{Cf}]/u.test(e))}),pdt=o.object({query:o.string().trim().max(200).default(""),archived:o.boolean().default(!1),offset:o.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER).default(0),limit:o.number().int().min(1).max(100).default(25)}),Sye=o.looseObject({id:dt,title:bR,lastActiveAt:vR,archived:o.boolean().optional(),contextHandoff:vye.optional()}),mdt=o.looseObject({sessions:o.array(Sye).max(100)}),xye=o.looseObject({kind:o.string().trim().min(1).max(64),id:dt}),wye=o.looseObject({kind:o.literal("text"),filename:o.string().trim().min(1).max(255),mediaType:o.string().trim().min(1).max(255),sizeBytes:o.number().int().nonnegative(),createdAt:vR,source:xye.optional()}),cZ=o.looseObject({id:dt,role:o.enum(["user","assistant"]),content:o.string().max(1e6),attachments:o.array(wye).max(100).optional(),cards:o.array(aZ).max(100).optional(),askedBefore:yR.optional()}),fdt=o.looseObject({messages:o.array(cZ).max(100)}),gdt=o.string().min(1).max(256).refine((e)=>e.trim().length>0),hdt=o.strictObject({messages:o.array(cZ).max(100),submission:dye.nullable()}),ydt=o.object({type:o.literal("text"),text:o.string().max(1e6)}),bdt=o.object({type:o.literal("file"),mediaType:o.string().trim().min(1).max(255).optional(),filename:o.string().trim().min(1).max(255).optional(),url:o.string().min(1).max(2000000)}),uZ=o.object({kind:o.literal("upload"),id:rZ}),vdt=o.object({type:o.literal("data-upload"),data:o.looseObject({ref:uZ})}),Tye=o.object({id:dt,approved:o.boolean(),toolCallId:dt.optional(),toolName:o.string().trim().min(1).max(256).optional(),input:o.record(o.string(),o.unknown()).optional(),title:o.string().max(4096).optional()}),Sdt=o.looseObject({state:o.literal("approval-responded"),toolCallId:dt.optional(),toolName:o.string().trim().min(1).max(256).optional(),input:o.record(o.string(),o.unknown()).optional(),title:o.string().max(4096).optional(),approval:Tye}),_ye=o.object({id:dt.optional(),role:o.enum(["user","assistant","system"]),parts:o.array(o.unknown()).max(1000).optional(),content:o.string().max(1e6).optional()}),xdt=o.object({id:dt.optional(),messages:o.array(_ye).min(1).max(200),trigger:o.string().trim().min(1).max(64).optional()}).strict(),wdt=o.strictObject({id:dt.optional(),messages:o.array(o.strictObject({id:dt,role:o.literal("user"),parts:o.array(o.strictObject({type:o.literal("text"),text:o.string()})).min(1).max(16)})).length(1)}),dZ=o.enum(["pending","processing","completed","failed"]),Iye=o.looseObject({type:o.enum(["job","batch"]),status:dZ,operationType:o.enum(["file_operations","content_operations","data_processing","batch_processing"]),operationTarget:o.string().max(1024).optional(),message:o.string().max(4096).optional(),progress:o.object({current:o.number().nonnegative(),total:o.number().nonnegative(),percentage:o.number().min(0).max(100)}).optional()}),Cye=o.looseObject({status:o.enum(["tool-running","tool-completed","tool-awaiting-approval","tool-failed"]),toolName:o.string().trim().min(1).max(256),error:o.string().max(4096).optional()}),Tdt=o.discriminatedUnion("type",[o.looseObject({type:o.literal("start"),messageId:dt.optional()}),o.looseObject({type:o.literal("start-step")}),o.looseObject({type:o.literal("finish-step")}),o.looseObject({type:o.literal("finish"),finishReason:o.enum(["length","error","stop","content-filter","tool-calls","other"]).optional()}),o.looseObject({type:o.literal("abort"),reason:o.string().max(4096).optional()}),o.looseObject({type:o.literal("error"),errorText:o.string().max(20000)}),o.looseObject({type:o.literal("text-start"),id:dt}),o.looseObject({type:o.literal("text-delta"),id:dt,delta:o.string().max(1e6)}),o.looseObject({type:o.literal("text-end"),id:dt}),o.looseObject({type:o.literal("reasoning-start"),id:dt}),o.looseObject({type:o.literal("reasoning-delta"),id:dt,delta:o.string().max(1e6)}),o.looseObject({type:o.literal("reasoning-end"),id:dt}),o.looseObject({type:o.literal("tool-input-start"),toolCallId:dt,toolName:o.string().trim().min(1).max(256),title:o.string().max(4096).optional()}),o.looseObject({type:o.literal("tool-input-delta"),toolCallId:dt,inputTextDelta:o.string().max(1e6)}),o.looseObject({type:o.literal("tool-input-available"),toolCallId:dt,toolName:o.string().trim().min(1).max(256),input:o.unknown(),title:o.string().max(4096).optional()}),o.looseObject({type:o.literal("tool-input-error"),toolCallId:dt,toolName:o.string().trim().min(1).max(256),input:o.unknown(),errorText:o.string().max(20000),title:o.string().max(4096).optional()}),o.looseObject({type:o.literal("tool-approval-request"),approvalId:dt,toolCallId:dt}),o.looseObject({type:o.literal("tool-output-available"),toolCallId:dt,output:o.unknown(),preliminary:o.boolean().optional()}),o.looseObject({type:o.literal("tool-output-error"),toolCallId:dt,errorText:o.string().max(20000)}),o.looseObject({type:o.literal("tool-output-denied"),toolCallId:dt}),o.looseObject({type:o.literal("source-url"),sourceId:dt,url:yp,title:o.string().max(4096).optional()}),o.looseObject({type:o.literal("source-document"),sourceId:dt,mediaType:o.string().trim().min(1).max(255),title:o.string().max(4096),filename:o.string().trim().min(1).max(255).optional()}),o.looseObject({type:o.literal("file"),url:yp,mediaType:o.string().trim().min(1).max(255)}),o.looseObject({type:o.literal("data-progress"),id:dt.optional(),data:Iye,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-status"),id:dt.optional(),data:Cye,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-tool-result"),id:dt.optional(),data:lZ,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-actions"),id:dt.optional(),data:iZ,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-sources"),id:dt.optional(),data:SR,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-asked-before"),id:dt.optional(),data:yR,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-attachment"),id:dt.optional(),data:oZ,transient:o.boolean().optional()})]),_dt=o.strictObject({conversationId:dt}),Idt=o.object({title:bR}).strict(),Cdt=o.object({renamed:o.boolean(),title:bR}),Edt=o.object({archived:o.boolean()}),kdt=o.object({deleted:o.boolean()}),Rdt=o.object({conversationId:dt,action:nZ}).strict(),Adt=o.looseObject({id:dt,status:dZ,message:o.string().max(4096).optional()}),Pdt=o.looseObject({id:rZ,ref:uZ,filename:o.string().trim().min(1).max(255),mediaType:o.string().trim().min(1).max(255),sizeBytes:o.number().int().nonnegative(),createdAt:vR,url:Y2,downloadUrl:Y2}).refine((e)=>e.id===e.ref.id,{path:["ref","id"],message:"Upload response ids must match"});var Be=un("conversations",{id:Te("id").primaryKey(),sessionId:Te("session_id").notNull(),interfaceType:Te("interface_type").notNull(),channelId:Te("channel_id").notNull(),personId:Te("person_id"),started:Te("started").notNull(),lastActive:Te("last_active").notNull(),metadata:Te("metadata"),created:Te("created").notNull(),updated:Te("updated").notNull()},(e)=>({sessionIdx:sn("idx_conversations_session").on(e.sessionId),channelIdx:sn("idx_conversations_channel").on(e.channelId),personIdx:sn("idx_conversations_person").on(e.personId),interfaceSessionIdx:sn("idx_conversations_interface_session").on(e.interfaceType,e.sessionId),interfaceChannelIdx:sn("idx_conversations_interface_channel").on(e.interfaceType,e.channelId)})),dr=un("messages",{id:Te("id").primaryKey(),conversationId:Te("conversation_id").notNull().references(()=>Be.id,{onDelete:"cascade"}),role:Te("role").notNull(),content:Te("content").notNull(),timestamp:Te("timestamp").notNull(),metadata:Te("metadata")},(e)=>({conversationIdx:sn("idx_messages_conversation").on(e.conversationId),timestampIdx:sn("idx_messages_timestamp").on(e.timestamp)})),du=un("summary_tracking",{conversationId:Te("conversation_id").primaryKey().references(()=>Be.id,{onDelete:"cascade"}),lastSummarizedAt:Te("last_summarized_at"),lastMessageId:Te("last_message_id"),messagesSinceSummary:at("messages_since_summary").default(0),updated:Te("updated").notNull()});function pZ(e){return Xi({url:e.url,schema:{conversations:Be,messages:dr,summaryTracking:du},authToken:e.authToken,authTokenEnv:"CONVERSATION_DATABASE_AUTH_TOKEN"})}var Eye=o.preprocess((e)=>{if(typeof e!=="string")return e;try{return JSON.parse(e)}catch{return}},o.record(o.string(),o.unknown())).catch({});function Ps(e){return Eye.parse(e)}var _S="conversation:messageAdded",IS="conversation:guestMessageAdded",xR="conversation:started",_g=o.object({identity:ki,interfaceType:o.string(),role:dp,displayName:o.string().optional(),username:o.string().optional(),isBot:o.boolean().optional()}),kye=o.preprocess(Rye,_g);function Rye(e){if(!cr(e)||"identity"in e)return e;let{actorId:t,interfaceType:n,role:r}=e;if(typeof t!=="string"||typeof n!=="string"||r!=="user"&&r!=="assistant")return e;let{userId:i,canonicalId:a}=e;return{identity:mZ({actorId:t,interfaceType:n,role:r,...typeof i==="string"?{userId:i}:{},...typeof a==="string"?{canonicalId:a}:{}}),interfaceType:n,role:r,...typeof e.displayName==="string"?{displayName:e.displayName}:{},...typeof e.username==="string"?{username:e.username}:{},...typeof e.isBot==="boolean"?{isBot:e.isBot}:{}}}var Ig=o.object({messageId:o.string().optional(),channelId:o.string().optional(),channelName:o.string().optional(),threadId:o.string().optional(),metadata:o.record(o.string(),o.unknown()).optional()}),fZ=o.looseObject({actor:kye.optional(),source:Ig.optional()});function gZ(e){if(typeof e==="string")try{let t=JSON.parse(e);return cr(t)?t:null}catch{return null}return cr(e)?e:null}function Aye(e){if(e.role!=="assistant")return!1;if(e.content.trim().length===0)return!1;let t=gZ(e.metadata),n=t?.entityMemoryRefs;if(Array.isArray(n)&&n.length>0)return!1;let r=t?.cards;if(!Array.isArray(r))return!0;return!r.some((i)=>{if(!cr(i))return!1;if(i.kind==="tool-approval")return!0;return i.kind==="actions"&&i.id==="actions:upload-intent"})}var Pye=o.object({id:o.string(),conversationId:o.string(),role:o.string(),content:o.string(),timestamp:o.string(),metadata:o.string().nullable()}),hZ=o.object({conversationId:o.string(),messageCount:o.number(),messages:o.array(Pye),windowStart:o.number(),windowEnd:o.number(),windowSize:o.number(),timestamp:o.string()});var oa=k`strftime('%Y-%m-%dT%H:%M:%fZ', 'now')`;function wR(){return bZ(!1)}function yZ(){return bZ(!0)}function bZ(e){let t=wS.shape.maxAgeSeconds.maxValue,n=k`(
130
+ 5. Structure your response clearly and concisely`,dataSourceId:"shell:ai-content",requiredPermission:"public",useKnowledgeContext:!0,schema:bS,formatter:new yg};var whe=o.object({type:o.string().describe("Type of source (e.g., note, article)"),title:o.string().describe("Title or identifier of the source"),relevance:o.number().min(0).max(1).describe("Relevance score")}),C2=o.object({answer:o.string().describe("The answer to the user's query"),sources:o.array(whe).optional().describe("Sources used to generate the answer"),confidence:o.enum(["high","medium","low"]).optional().describe("Confidence level of the answer"),suggestions:o.array(o.string()).optional().describe("Related topics or follow-up questions")});function ks(e,t){return e.parse(t)}class Rs{callback;heartbeatInterval;constructor(e){this.callback=e}static from(e){if(!e)return;return new Rs(e)}static noop(){return new Rs(async()=>{})}createSub(e){let{scale:t}=e??{};if(t){let{start:n,end:r}=t,i=r-n;return new Rs(async(a)=>{let s=n+a.progress/(a.total??100)*i;await this.callback({...a,progress:s,total:100})})}return new Rs(this.callback)}async report(e){await this.callback(e)}startHeartbeat(e,t=5000){this.stopHeartbeat(),this.heartbeatInterval=setInterval(()=>{this.report({message:e,progress:0}).catch(()=>{})},t)}stopHeartbeat(){if(this.heartbeatInterval)clearInterval(this.heartbeatInterval),this.heartbeatInterval=void 0}toCallback(){return this.callback}}var _he=o.object({enabled:o.boolean().describe("Whether the plugin is enabled"),debug:o.boolean().describe("Enable debug logging for this plugin")});function Ihe(e,t){return t.reduce((n,r)=>typeof n==="object"&&n!==null?Reflect.get(n,r):void 0,e)}function Che(e){return e.map((t)=>`${t.path||"<root>"}: ${t.message}`).join("; ")}class gp extends Error{pluginId;issues;constructor(e,t){super(`Invalid plugin config for ${e} at ${Che(t)}; correct the listed fields in brain.yaml or the package's use() configuration`);this.name="PluginConfigValidationError",this.pluginId=e,this.issues=t}static fromZod(e,t,n){return new gp(e,t.issues.map((r)=>({path:r.path.map(String).join("."),code:r.code,message:r.message,missing:r.code==="custom"&&r.params?.missing===!0||(r.code==="invalid_type"||r.code==="custom")&&Ihe(n,r.path)===void 0})))}}var Ehe=o.object({toolName:o.string(),args:o.unknown(),progressToken:o.union([o.string(),o.number()]).optional(),hasProgress:o.boolean().optional(),interfaceType:o.string(),actor:ki,displayName:o.string().optional(),conversationId:o.string().optional(),channelId:o.string().optional(),channelName:o.string().optional(),runId:o.string().optional(),toolCallId:o.string().optional(),userPermissionLevel:o.enum(["admin","trusted","public"]).optional(),isAnchor:o.boolean().optional(),signal:o.custom((e)=>e instanceof AbortSignal).optional()}),khe=o.object({resourceUri:o.string()});class lu{id;version;description;packageName;config;context;retryScope;get logger(){return this.context?.logger??Ti.createFresh({context:this.id})}get retries(){return this.retryScope??=new Hf({logger:this.logger}),this.retryScope}constructor(e,t,n,r){this.id=e,this.packageName=t.name,this.version=t.version,this.description=t.description??`${t.name} plugin`;let i=r.safeParse(n);if(!i.success)throw gp.fromZod(e,i.error,n);this.config=i.data}setupMessageHandlers(e){e.messaging.subscribe(bg.toolExecute(this.id),async(t)=>{try{let n=Ehe.safeParse(t.payload);if(!n.success)return{success:!1,error:"Invalid tool execution request format"};let{toolName:r,args:i,progressToken:a,hasProgress:s,interfaceType:l,actor:c,displayName:u,conversationId:d,channelId:p,channelName:f,runId:m,toolCallId:g,userPermissionLevel:h,isAnchor:b,signal:w}=n.data,y=(await this.getTools()).find((v)=>v.name===r);if(!y)return{success:!1,error:`Tool not found: ${r}`};let S={interfaceType:l,actor:c,...u&&{displayName:u},...d&&{conversationId:d},...p&&{channelId:p},...f&&{channelName:f},...m&&{runId:m},...g&&{toolCallId:g},...h&&{userPermissionLevel:h},...b!==void 0&&{isAnchor:b},...w&&{signal:w},...s&&a!==void 0&&{progressToken:a,sendProgress:async(v)=>{await e.messaging.send({type:bg.progress(this.id),payload:{progressToken:a,notification:v}})}}};return{success:!0,data:await y.handler(i,S)}}catch(n){return this.logger.error("Tool execution error",n),{success:!1,error:$e(n)}}}),e.messaging.subscribe(bg.resourceGet(this.id),async(t)=>{try{let n=khe.safeParse(t.payload);if(!n.success)return{success:!1,error:"Invalid resource get request format"};let{resourceUri:r}=n.data,a=(await this.getResources()).find((l)=>l.uri===r);if(!a)return{success:!1,error:`Resource not found: ${r}`};return{success:!0,data:await a.handler()}}catch(n){return this.logger.error("Resource fetch error",n),{success:!1,error:$e(n)}}})}async onRegister(e){}async onRegistrationComplete(e){}async finalizeRegistration(){await this.onRegistrationComplete(this.getContext())}async onReady(e){}async ready(){await this.onReady(this.getContext())}async getCapabilities(){let e=await this.getInstructions();return{tools:await this.getTools(),resources:await this.getResources(),...e&&{instructions:e}}}async getTools(){return[]}async getResources(){return[]}async getInstructions(){return}async shutdown(){await this.retryScope?.dispose(),await this.onShutdown()}async onShutdown(){}getContext(){if(!this.context)throw Error(`Plugin ${this.id}: Plugin not registered yet`);return this.context}determineUserPermissionLevel(e){return"public"}createProgressBridge(e){if(!e)return;let t=this.context;if(!t)return;let n=this.id;return Rs.from(async(r)=>{await t.messaging.send({type:bg.progress(n),payload:{progressToken:e,notification:{progress:r.progress,total:r.total,message:r.message}}})})}}var k2=["primary","secondary"];var Rhe=o.custom((e)=>typeof e==="function","Expected a React component"),Ahe=o.strictObject({show:o.boolean().optional(),label:o.string().min(1).optional(),slot:o.enum(k2).optional(),priority:o.number().optional()}),Phe=o.strictObject({id:o.string().min(1),template:o.string().min(1),content:o.unknown().optional(),dataQuery:o.looseObject({entityType:o.string().optional(),template:o.string().optional(),query:o.record(o.string(),o.unknown()).optional()}).optional(),order:o.number().optional()}),Ohe=o.strictObject({id:o.string().min(1),path:o.string().startsWith("/"),title:o.string().optional(),pageLabel:o.string().optional(),description:o.string().optional(),sections:o.array(Phe).optional(),layout:o.string().min(1).optional(),fullscreen:o.boolean().optional(),pluginId:o.string().optional(),sourceEntityType:o.string().optional(),external:o.boolean().optional(),navigation:Ahe.optional()}),Kk=o.strictObject({label:o.string().min(1),pluralName:o.string().min(1).optional(),layout:o.string().min(1).optional(),detailTemplate:o.string().min(1).optional(),paginate:o.boolean().optional(),pageSize:o.number().int().positive().optional(),citable:o.boolean().optional(),navigation:o.strictObject({show:o.boolean().optional(),slot:o.enum(k2).optional(),priority:o.number().optional()}).optional()}),Mhe=o.strictObject({schema:o.custom((e)=>e instanceof o.ZodType,"Expected a Zod schema"),component:o.custom((e)=>typeof e==="function","Expected a React component"),title:o.string().min(1),description:o.string(),requiredPermission:o.enum(["admin","trusted","public"]).optional(),fullscreen:o.boolean().optional()}),E2=o.strictObject({namespace:o.string().min(1),sections:o.record(o.string(),Mhe)}),jhe=o.record(o.string(),o.json()),Dhe=o.record(o.string(),o.record(o.string(),jhe)),R2={layouts:o.record(o.string(),Rhe).refine((e)=>typeof e.default==="function",{message:'Site layouts must include a "default" component'}),routes:o.array(Ohe),content:Dhe.optional(),sections:o.union([E2,o.array(E2)]).optional(),themeOverride:o.string().optional(),headScripts:o.array(o.string()).optional(),entityDisplay:o.record(o.string(),Kk),staticAssets:o.record(o.string(),o.string()).optional()},flt=o.strictObject(R2).partial();var A2=o.strictObject(R2).superRefine((e,t)=>{let n=new Set;for(let[a,s]of e.routes.entries()){if(n.has(s.id))t.addIssue({code:"custom",path:["routes",a,"id"],message:`Duplicate route id "${s.id}"`});n.add(s.id);let l=s.layout??"default";if(!e.layouts[l])t.addIssue({code:"custom",path:["routes",a,"layout"],message:`Unknown layout "${l}"`})}let r=Array.isArray(e.sections)?e.sections:e.sections?[e.sections]:[],i=new Map(r.map((a)=>[a.namespace,a]));if(i.size!==r.length)t.addIssue({code:"custom",path:["sections"],message:"Section group namespaces must be unique"});for(let[a,s]of Object.entries(e.content??{})){let l=i.get(a);if(!l){t.addIssue({code:"custom",path:["content",a],message:`Content namespace "${a}" has no section group`});continue}for(let[c,u]of Object.entries(s)){let d=l.sections[c];if(!d){t.addIssue({code:"custom",path:["content",a,c],message:`Content section "${a}.${c}" is not defined`});continue}let p=d.schema.safeParse(u);if(!p.success)t.addIssue({code:"custom",path:["content",a,c],message:`Content does not satisfy the "${a}.${c}" schema: ${o.prettifyError(p.error)}`})}}});var P2=o.object({id:o.string(),template:o.string(),content:o.unknown().optional(),dataQuery:o.looseObject({entityType:o.string().optional(),template:o.string().optional(),query:o.looseObject({id:o.string().optional(),limit:o.number().optional(),offset:o.number().optional()}).optional()}).optional(),order:o.number().optional()}),Qk=["primary","secondary"],O2=o.object({show:o.boolean().default(!1),label:o.string().optional(),slot:o.enum(Qk).default("primary"),priority:o.number().min(0).max(100).default(50)}).optional(),Yk=o.object({id:o.string(),path:o.string(),title:o.string().default(""),pageLabel:o.string().optional(),description:o.string().default(""),sections:o.array(P2).default([]),layout:o.string().default("default"),fullscreen:o.boolean().optional(),pluginId:o.string().optional(),sourceEntityType:o.string().optional(),external:o.boolean().optional(),navigation:O2}),M2=o.object({routes:o.array(Yk),pluginId:o.string()}),j2=o.object({paths:o.array(o.string()).optional(),pluginId:o.string().optional()}),D2=o.object({pluginId:o.string().optional()}),N2=o.object({path:o.string()}),vS=o.object({label:o.string(),href:o.string(),priority:o.number()});var Nhe="site:metadata:get",zhe="site:metadata:updated",Xk=o.object({heading:o.string().describe("Main CTA heading text"),buttonText:o.string().describe("Call-to-action button text"),buttonLink:o.string().describe("URL or anchor for the CTA button")}),z2=o.object({blurb:o.string().optional().describe("Short italic subtitle under the section title")}),SS=o.object({represents:o.enum(["brain","anchor"]).default("anchor").describe("Identity represented by the site"),title:o.string().describe("The site's title"),description:o.string().describe("The site's description"),url:o.string().optional().describe("Canonical site URL"),copyright:o.string().optional().describe("Copyright notice text"),logo:o.boolean().optional().describe("Whether to display logo instead of title text in header"),themeMode:o.enum(["light","dark"]).optional().describe("Default theme mode"),analyticsScript:o.string().optional().describe("Analytics script HTML"),cta:Xk.optional().describe("Call-to-action configuration"),sections:o.record(o.string(),z2).optional().describe("Optional per-section blurbs, keyed by section id (e.g. 'essays', 'presentations', 'about'). Used by homepage templates that render editorial section headers.")});var Bhe=o.object({platform:o.enum(["github","instagram","linkedin","email","website"]).describe("Social media platform"),url:o.string().describe("Profile or contact URL"),label:o.string().optional().describe("Optional display label")}),Fhe=SS.extend({copyright:o.string(),navigation:o.object({primary:o.array(vS),secondary:o.array(vS)}),socialLinks:o.array(Bhe).optional().describe("Social media links from profile metadata")});function vg(e,t){return t?e.nullable().default(null):e}function tR(e){switch(e.type){case"string":return vg(o.string(),e.optional);case"number":return vg(o.number(),e.optional);case"enum":return vg(o.enum(e.options),e.optional);case"object":{let t={};for(let[n,r]of Object.entries(e.fields))t[n]=tR(r);return vg(o.object(t),e.optional)}case"array":{let t=o.array(qhe(e));if(e.minItems!==void 0)t=t.min(e.minItems);if(e.length!==void 0)t=t.length(e.length);return vg(t,e.optional)}}}function qhe(e){let{items:t}=e;switch(t.type){case"string":return o.string();case"number":return o.number();case"enum":return o.enum(t.options);case"object":{let n={};for(let[r,i]of Object.entries(t.fields))n[r]=tR(i);return o.object(n)}}}function eR(e,t){switch(t.type){case"string":case"enum":return{key:e,label:t.label,type:"string"};case"number":return{key:e,label:t.label,type:"number"};case"object":return{key:e,label:t.label,type:"object",children:Object.entries(t.fields).map(([n,r])=>eR(n,r))};case"array":{let n={key:e,label:t.label,type:"array"};switch(t.items.type){case"string":case"enum":return n.itemType="string",n;case"number":return n.itemType="number",n;case"object":return n.itemType="object",n.itemMappings=Object.entries(t.items.fields).map(([r,i])=>eR(r,i)),n}}}}function B2(e,t){let n={};for(let[a,s]of Object.entries(t.fields))n[a]=tR(s);let r=o.object(n),i=new Dl(r,{title:t.title,mappings:Object.entries(t.fields).map(([a,s])=>eR(a,s))});return{name:e,description:t.description,schema:r,formatter:i,requiredPermission:t.requiredPermission??"public",layout:{component:t.layout,...t.fullscreen!==void 0?{fullscreen:t.fullscreen}:{}},...t.runtimeScripts?{runtimeScripts:t.runtimeScripts}:{}}}function Lhe(e){let t={};for(let[n,r]of Object.entries(e.sections))t[n]=B2(n,r);return t}var $he=SS.omit({url:!0,analyticsScript:!0}),F2=$he.extend({title:o.string().optional().describe("Optional site title override"),description:o.string().optional().describe("Optional site description override")});function q2(e){return F2.parse(up(e).frontmatter)}async function Uhe(e){let n=(await e.listEntities({entityType:"site-info",options:{limit:1}}))[0];if(!n)throw Error("Site info not found \u2014 create a site-info entity");return q2(n.content)}function nR(e,t={}){let n=L2(e),r=L2(t.sharedDomain??"rizom.ai").replace(/^\./,""),i=`.${r}`;if(n.endsWith(i)){let a=n.slice(0,-i.length);if(a.length>0&&!a.includes("."))return`${a}-preview.${r}`}return`preview.${n}`}function L2(e){return e.trim().replace(/^https?:\/\//i,"").replace(/\/$/,"").toLowerCase()}class $2{entityDisplay;constructor(e){this.entityDisplay=e}hasRoute(e){return this.entityDisplay?.[e]!==void 0}isCitable(e){if(this.entityDisplay?.[e]?.citable===!1)return!1;if(!Object.values(this.entityDisplay??{}).some((n)=>n.citable===!0))return this.hasRoute(e);return this.entityDisplay?.[e]?.citable===!0}generateUrl(e,t){let n=this.entityDisplay?.[e];if(n)return`/${n.pluralName??n.label.toLowerCase()+"s"}/${t}`;return`/${lC(e)}/${t}`}}var Zhe=o.string(),Whe=o.custom((e)=>{if(!cr(e))return!1;let{plugin:t,...n}=e;if(t!==void 0&&typeof t!=="function")return!1;return A2.safeParse(n).success});var rR=o.enum(["file_operations","content_operations","data_processing","batch_processing"]),Ghe=o.looseObject({pluginId:o.string().optional(),progressToken:o.union([o.string(),o.number()]).optional(),operationType:rR,operationTarget:o.string().optional(),interfaceType:o.string().optional(),conversationId:o.string().optional(),channelId:o.string().optional(),requestedByActor:ki.optional(),requestedByUserId:o.string().optional(),requestedByInterface:o.string().optional(),silent:o.boolean().optional(),provenance:La.optional()}),cu=o.looseObject({pluginId:o.string().optional(),progressToken:o.union([o.string(),o.number()]).optional(),operationType:rR,operationTarget:o.string().optional(),interfaceType:o.string().optional(),conversationId:o.string().optional(),channelId:o.string().optional(),requestedByActor:ki.optional(),requestedByUserId:o.string().optional(),requestedByInterface:o.string().optional(),silent:o.boolean().optional(),provenance:La.optional(),rootJobId:o.string()}),nct=o.enum(["none","skip","replace","coalesce"]);var Jhe=o.object({id:o.string(),type:o.string(),data:o.string(),status:o.enum(["pending","processing","completed","failed"]),source:o.string().nullable(),priority:o.number(),retryCount:o.number(),maxRetries:o.number(),lastError:o.string().nullable(),createdAt:o.number(),scheduledFor:o.number(),startedAt:o.number().nullable(),completedAt:o.number().nullable(),attemptId:o.string().nullable(),workerSlotId:o.string().nullable(),workerSessionId:o.string().nullable(),leaseExpiresAt:o.number().nullable(),attemptHeartbeatAt:o.number().nullable(),runtimeUpdatedAt:o.number().nullable(),metadata:cu,progress:o.custom((e)=>typeof e==="object"&&e!==null&&("progress"in e)&&typeof e.progress==="number").nullable(),result:o.unknown().nullable().optional()}),As=15000;var oR=o.enum(["pending","processing","completed","failed"]),U2=o.enum(["completed","failed"]),nt={PENDING:"pending",PROCESSING:"processing",COMPLETED:"completed",FAILED:"failed"},Vhe=o.object({id:o.string(),type:o.string(),status:oR,data:o.unknown(),result:o.unknown().optional(),lastError:o.string().optional().nullable(),attempts:o.number(),maxRetries:o.number(),priority:o.number(),createdAt:o.date(),updatedAt:o.date(),processedAt:o.date().optional().nullable(),completedAt:o.date().optional().nullable(),failedAt:o.date().optional().nullable()}),Hhe=o.object({jobId:o.string(),type:o.string(),status:U2,result:o.unknown().optional(),error:o.string().optional()}),iR=o.object({success:o.literal(!1),error:o.string().optional()}),xS=o.object({id:o.string(),type:o.enum(["job","batch"]),status:oR,message:o.string().optional(),progress:o.object({current:o.number(),total:o.number(),percentage:o.number()}).optional(),aggregationKey:o.string().optional(),batchDetails:o.object({totalOperations:o.number(),completedOperations:o.number(),failedOperations:o.number(),currentOperation:o.string().optional(),errors:o.array(o.string()).optional()}).optional(),jobDetails:o.object({jobType:o.string(),priority:o.number(),retryCount:o.number()}).optional(),metadata:cu});var ue=un("job_queue",{id:Te("id").primaryKey().$defaultFn(()=>ln()),type:Te("type").notNull(),data:Te("data").notNull(),result:Te("result",{mode:"json"}),progress:Te("progress",{mode:"json"}).$type(),source:Te("source"),metadata:Te("metadata",{mode:"json"}).$type().notNull(),status:Te("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:at("priority").notNull().default(0),retryCount:at("retryCount").notNull().default(0),maxRetries:at("maxRetries").notNull().default(3),lastError:Te("lastError"),createdAt:at("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:at("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:at("startedAt"),completedAt:at("completedAt"),attemptId:Te("attemptId"),workerSlotId:Te("workerSlotId"),workerSessionId:Te("workerSessionId"),leaseExpiresAt:at("leaseExpiresAt"),attemptHeartbeatAt:at("attemptHeartbeatAt"),runtimeUpdatedAt:at("runtimeUpdatedAt")},(e)=>({queueReadyIdx:sn("idx_job_queue_ready").on(e.status,e.priority,e.scheduledFor),jobTypeIdx:sn("idx_job_queue_type").on(e.type,e.status),runtimeUpdatesIdx:sn("idx_job_queue_runtime_updates").on(e.runtimeUpdatedAt,e.id),jobSourceIdx:sn("idx_job_queue_source").on(e.source)})),_n=un("job_worker_sessions",{slotId:Te("slotId").primaryKey(),sessionId:Te("sessionId").notNull().unique(),startedAt:at("startedAt").notNull(),heartbeatAt:at("heartbeatAt").notNull(),expiresAt:at("expiresAt").notNull().default(0)},(e)=>({heartbeatIdx:sn("idx_job_worker_sessions_heartbeat").on(e.heartbeatAt),expiresIdx:sn("idx_job_worker_sessions_expires").on(e.expiresAt)}));function Z2(e){return Xi({url:e.url,schema:{jobQueue:ue,jobWorkerSessions:_n},authToken:e.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN",contentionRetryBudgetMs:0})}class aR{declarations=new Map;handlers=new Map;validators=new Map;logger;mode;finalizedRegistrations;constructor(e,t){this.logger=e.child("HandlerRegistry"),this.mode=t}registerHandler(e,t,n){if(this.finalizedRegistrations)throw Error("Job handler registrations are finalized");if(this.declarations.has(e))throw Error(`Job handler is already registered for type: ${e}`);if(this.declarations.set(e,{handler:t,pluginId:n}),this.validators.set(e,t),this.mode!=="validation-only")this.handlers.set(e,t);this.logger.debug("Registered job execution declaration",{type:e,pluginId:n,mode:this.mode})}unregisterHandler(e){this.declarations.delete(e),this.handlers.delete(e),this.validators.delete(e),this.logger.debug("Unregistered job handler",{type:e})}unregisterPluginHandlers(e){let t=[...this.declarations.entries()].filter(([,n])=>n.pluginId===e).map(([n])=>n);for(let n of t)this.declarations.delete(n),this.handlers.delete(n),this.validators.delete(n);if(t.length>0)this.logger.debug("Unregistered plugin handlers",{pluginId:e,count:t.length,types:t})}finalizeRegistrations(){return this.finalizedRegistrations??=Object.freeze([...this.declarations.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>Object.freeze({type:e,pluginId:t.pluginId}))),this.finalizedRegistrations}getExecutionRegistrations(){return this.finalizedRegistrations}getRegisteredTypes(){return[...this.handlers.keys()]}getExclusiveTypes(){return[...this.handlers].filter(([,e])=>e.exclusive===!0).map(([e])=>e)}getHandler(e){return this.handlers.get(e)}getValidator(e){return this.validators.get(e)}}var Khe=o.looseObject({deduplicationKey:o.string().optional()});class sR{findDuplicate(e,t,n){if(!t||t==="none")return null;let r=this.filterByDeduplicationKey(e,n).sort((a,s)=>s.createdAt-a.createdAt||s.id.localeCompare(a.id)),i=r.find((a)=>a.status===nt.PENDING)??null;if(t==="skip"||t==="replace")return i;return i??r[0]??null}filterByDeduplicationKey(e,t){if(!t)return e;return e.filter((n)=>{let r=Khe.safeParse(n.metadata);return r.success&&r.data.deduplicationKey===t})}}var Qhe=2000,Yhe=5,Xhe=40,eye=o.number().int().min(0).max(1000),tye=new IE;class lR{db;transactionClient;databaseUrl;logger;deduplicator=new sR;writeRetryBudgetMs;constructor(e,t,n,r,i){this.db=e,this.transactionClient=t,this.databaseUrl=n,this.logger=r.child("JobQueueRepository"),this.writeRetryBudgetMs=i?.writeRetryBudgetMs??Qhe}async insert(e){await this.write("insert",async()=>this.db.insert(ue).values(e))}async enqueueAtomic(e){return tye.run(this.databaseUrl,async()=>{let t=Date.now()+this.writeRetryBudgetMs;return this.attemptEnqueue(e,t,1)})}async attemptEnqueue(e,t,n){let r=await this.runEnqueueTransaction(e,t,n);if(r.retry)return this.attemptEnqueue(e,t,n+1);return r.decision}async runEnqueueTransaction(e,t,n){let r=await this.acquireWriteTransaction(e,t),i={prepared:!1},a=!1;try{let s=await this.decideEnqueue(r,e,()=>{i.prepared=!0});return a=!0,await r.commit(),{retry:!1,decision:s}}catch(s){let l=a&&this.isSerializationConflict(s)&&!r.closed,c=!0;if(!r.closed)try{await r.rollback()}catch(u){c=!1,this.logger.error("Failed to roll back atomic enqueue",{type:e.jobData.type,rollbackError:u})}if(i.prepared)e.onInsertRollback?.();if(!l||!c)throw s;return await this.waitForConflictRetry("commit",e,t,n,s),{retry:!0}}finally{r.close()}}async decideEnqueue(e,t,n){let{jobData:r,strategy:i,deduplicationKey:a,beforeInsert:s}=t,l=i??"none",c=async()=>{await s?.(),n()},u=async()=>{await c(),await this.insertJob(e,r)};if(l==="none")return await u(),{kind:"inserted",jobId:r.id};let d=await this.getActiveDeduplicationCandidates(e,r.type),p=this.deduplicator.findDuplicate(d,l,a);if(!p)return await u(),{kind:"inserted",jobId:r.id};if(l==="skip")return{kind:"skipped",jobId:p.id};if(l==="coalesce"){if((await e.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),p.id,p.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${p.id}`);return{kind:"coalesced",jobId:p.id}}await c();let f=Date.now();if((await e.execute({sql:"UPDATE `job_queue`\n SET `status` = ?,\n `lastError` = ?,\n `completedAt` = ?,\n `runtimeUpdatedAt` = max(?, coalesce((SELECT max(`runtimeUpdatedAt`) FROM `job_queue`), 0) + 1)\n WHERE `id` = ? AND `status` = ?",args:[nt.FAILED,"Replaced by newer job",f,f,p.id,nt.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${p.id}`);return await this.insertJob(e,r),{kind:"replaced",jobId:r.id,replacedJobId:p.id}}async getActiveDeduplicationCandidates(e,t){return(await e.execute({sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[t,nt.PENDING,nt.PROCESSING]})).rows.map((r)=>this.parseDeduplicationCandidate(r))}parseDeduplicationCandidate(e){let{id:t,status:n,createdAt:r,metadata:i}=e;if(typeof t!=="string"||n!==nt.PENDING&&n!==nt.PROCESSING||typeof r!=="number"&&typeof r!=="bigint"||typeof i!=="string")throw Error("Invalid active job row returned during atomic enqueue");let a=JSON.parse(i);return{id:t,status:n,createdAt:Number(r),metadata:a}}async insertJob(e,t){if((await e.execute({sql:"INSERT INTO `job_queue` (\n `id`, `type`, `data`, `result`, `source`, `metadata`,\n `status`, `priority`, `retryCount`, `maxRetries`,\n `lastError`, `createdAt`, `scheduledFor`, `startedAt`,\n `completedAt`\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",args:[t.id,t.type,t.data,this.serializeJson(t.result),t.source,JSON.stringify(t.metadata),t.status,t.priority,t.retryCount,t.maxRetries,t.lastError,t.createdAt,t.scheduledFor,t.startedAt,t.completedAt]})).rowsAffected!==1)throw Error(`Atomic enqueue did not insert job ${t.id}`)}serializeJson(e){if(e===void 0||e===null)return null;return JSON.stringify(e)}acquireWriteTransaction(e,t){return this.retryOnConflict("acquire",e,()=>this.transactionClient.transaction("write"),(n)=>this.isSerializationConflict(n),t)}async waitForConflictRetry(e,t,n,r,i){let a=Math.min(Yhe*2**(r-1),Xhe),s=a/2+Math.random()*(a/2);if(Date.now()+s>=n)throw this.transactionConflictError(e,t,r,i);await new Promise((l)=>setTimeout(l,s))}async retryOnConflict(e,t,n,r,i=Date.now()+this.writeRetryBudgetMs,a=1){try{return await n()}catch(s){if(!r(s))throw s;return await this.waitForConflictRetry(e,t,i,a,s),this.retryOnConflict(e,t,n,r,i,a+1)}}transactionConflictError(e,t,n,r){if(typeof t==="string")return Error(`Failed job queue write "${t}" within ${this.writeRetryBudgetMs}ms after ${n} attempts`,{cause:r});let i=t.strategy??"none",a=t.deduplicationKey?"present":"absent";return Error(`Failed to ${e} atomic enqueue transaction for type "${t.jobData.type}" within ${this.writeRetryBudgetMs}ms after ${n} attempts (strategy: ${i}, key: ${a})`,{cause:r})}write(e,t){return this.retryOnConflict("write",e,t,(n)=>{let r=new Set;for(let i=n;i!==void 0&&!r.has(i);){if(r.add(i),typeof i==="object"&&i!==null&&"code"in i&&/^SQLITE_(?:BUSY|LOCKED)(?:_|$)/u.test(String(i.code)))return!0;i=i instanceof Error?i.cause:void 0}return!1})}isSerializationConflict(e){for(let t=e;t!==void 0;){let n=typeof t==="object"&&t!==null&&"code"in t?String(t.code):"",r=$e(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(n)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(r))return!0;t=t instanceof Error?t.cause:void 0}return!1}async startWorkerSession(e,t,n=Date.now(),r=As){let i=n+r;await this.write("start worker session",async()=>this.db.insert(_n).values({slotId:e,sessionId:t,startedAt:n,heartbeatAt:n,expiresAt:i}).onConflictDoUpdate({target:_n.slotId,set:{sessionId:t,startedAt:n,heartbeatAt:n,expiresAt:i}}))}async heartbeatWorkerSession(e,t,n=Date.now(),r=As){return(await this.write("heartbeat worker session",async()=>this.db.update(_n).set({heartbeatAt:n,expiresAt:n+r}).where(Se(V(_n.slotId,e),V(_n.sessionId,t))).returning({slotId:_n.slotId}))).length===1}async endWorkerSession(e,t){return(await this.write("end worker session",async()=>this.db.delete(_n).where(Se(V(_n.slotId,e),V(_n.sessionId,t))).returning({slotId:_n.slotId}))).length===1}async complete(e,t,n){let r=Date.now(),a=(await this.write("complete",async()=>this.db.update(ue).set({status:nt.COMPLETED,result:t,lastError:null,completedAt:r,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r)}).where(this.attemptWriteGuard(e,n)).returning({id:ue.id}))).length===1;if(a)this.logger.debug("Job completed",{jobId:e,hasResult:t!==void 0});return a}async update(e,t,n){let i=(await this.write("update",async()=>this.db.update(ue).set({data:JSON.stringify(t)}).where(this.attemptWriteGuard(e,n)).returning({id:ue.id}))).length===1;if(i)this.logger.debug("Job data updated",{jobId:e});return i}async recordAttemptProgress(e,t,n,r=Date.now()){return(await this.write("record progress",async()=>this.db.update(ue).set({attemptHeartbeatAt:r,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r),progress:n}).where(this.attemptWriteGuard(e,t)).returning({id:ue.id}))).length===1}async renewAttemptLease(e,t,n,r){return(await this.write("renew attempt lease",async()=>this.db.update(ue).set({attemptHeartbeatAt:n,leaseExpiresAt:n+r}).where(this.attemptWriteGuard(e,t)).returning({id:ue.id}))).length===1}async fail(e,t,n,r=Date.now()){let a=(await this.db.select({retryCount:ue.retryCount,maxRetries:ue.maxRetries,type:ue.type,scheduledFor:ue.scheduledFor,startedAt:ue.startedAt,runtimeUpdatedAt:ue.runtimeUpdatedAt}).from(ue).where(this.attemptWriteGuard(e,n)).limit(1))[0];if(!a)return!1;let s=a.retryCount<a.maxRetries,l=s?a.retryCount+1:a.retryCount,c=Math.min(1000*2**a.retryCount,60000),u=s?r+c:a.scheduledFor;if((await this.write("fail",async()=>this.db.update(ue).set({status:s?nt.PENDING:nt.FAILED,retryCount:l,lastError:t.message,scheduledFor:u,completedAt:s?null:r,runtimeUpdatedAt:s?a.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(r),startedAt:s?null:a.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(Se(this.attemptWriteGuard(e,n),V(ue.retryCount,a.retryCount))).returning({id:ue.id}))).length!==1)return!1;if(s)this.logger.debug("Job scheduled for retry",{jobId:e,retryCount:l,backoffMs:c,scheduledFor:new Date(u).toISOString()});else this.logger.error("Job failed after max retries",{jobId:e,type:a.type,retryCount:a.retryCount,error:t.message});return!0}async retireUnownedActiveJob(e){let t=e.reason.trim();if(t.length===0)throw Error("Retired job reason must not be empty");let r=(await this.write("retire unowned job",async()=>this.db.update(ue).set({status:nt.FAILED,lastError:t,completedAt:e.now,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(e.now)}).where(Se(V(ue.id,e.jobId),V(ue.type,e.expectedType),Er(V(ue.status,nt.PENDING),V(ue.status,nt.PROCESSING)),kr(ue.attemptId),kr(ue.workerSlotId),kr(ue.workerSessionId),kr(ue.leaseExpiresAt),kr(ue.attemptHeartbeatAt),kr(ue.progress),kr(ue.result))).returning()))[0]??null;if(r)this.logger.warn("Retired unowned legacy job",{jobId:r.id,type:r.type,reason:t});return r}async getStatus(e){return(await this.db.select().from(ue).where(V(ue.id,e)).limit(1))[0]??null}async getJobsByRootJobId(e){return this.db.select().from(ue).where(k`json_extract(${ue.metadata}, '$.rootJobId') = ${e}`).orderBy(Bt(ue.createdAt),Bt(ue.id))}async getStatusByEntityId(e){return(await this.db.select().from(ue).where(k`json_extract(${ue.data}, '$.id') = ${e}`).orderBy(Mn(ue.createdAt)).limit(1))[0]??null}async getStats(){let e=await this.db.select({status:ue.status,count:k`count(*)`}).from(ue).groupBy(ue.status),t={pending:0,processing:0,failed:0,completed:0,total:0};for(let n of e){let r=Number(n.count);t[n.status]=r,t.total+=r}return t}async getDiagnostics(e=Date.now()){let[t,n,r]=await Promise.all([this.db.select({type:ue.type,status:ue.status,count:k`count(*)`}).from(ue).groupBy(ue.type,ue.status),this.db.select({oldestPendingAt:k`min(case when ${ue.status} = ${nt.PENDING} then ${ue.createdAt} end)`,duePending:k`coalesce(sum(case when ${ue.status} = ${nt.PENDING} and ${ue.scheduledFor} <= ${e} then 1 else 0 end), 0)`,oldestDuePendingAt:k`min(case when ${ue.status} = ${nt.PENDING} and ${ue.scheduledFor} <= ${e} then ${ue.scheduledFor} end)`,latestClaimAt:k`max(${ue.startedAt})`,oldestProcessingAt:k`min(case when ${ue.status} = ${nt.PROCESSING} then ${ue.startedAt} end)`,staleLeaseCount:k`coalesce(sum(case when ${ue.status} = ${nt.PROCESSING} and ${ue.leaseExpiresAt} is not null and ${ue.leaseExpiresAt} <= ${e} then 1 else 0 end), 0)`}).from(ue),this.db.select({total:k`count(*)`,active:k`coalesce(sum(case when ${_n.expiresAt} > ${e} then 1 else 0 end), 0)`,stale:k`coalesce(sum(case when ${_n.expiresAt} <= ${e} then 1 else 0 end), 0)`,latestHeartbeatAt:k`max(${_n.heartbeatAt})`}).from(_n)]),i={pending:0,processing:0,completed:0,failed:0},a=t.map((u)=>{let d=Number(u.count);return i[u.status]+=d,{type:u.type,status:u.status,count:d}}),s=n[0],l=r[0],c=(u)=>u===null||u===void 0?null:Math.max(0,e-Number(u));return{totals:i,byType:a,oldestPendingAgeMs:c(s?.oldestPendingAt),duePending:Number(s?.duePending??0),oldestDuePendingAgeMs:c(s?.oldestDuePendingAt),latestClaimAgeMs:c(s?.latestClaimAt),oldestProcessingAgeMs:c(s?.oldestProcessingAt),staleLeaseCount:Number(s?.staleLeaseCount??0),workerSessions:{total:Number(l?.total??0),active:Number(l?.active??0),stale:Number(l?.stale??0),latestHeartbeatAgeMs:c(l?.latestHeartbeatAt)}}}async getRuntimeUpdates(e,t){let n=eye.parse(t);if(n===0)return[];return(await this.db.select().from(ue).where(k`(${ue.runtimeUpdatedAt}, ${ue.id}) > (${e.updatedAt}, ${e.jobId})`).orderBy(Bt(ue.runtimeUpdatedAt),Bt(ue.id)).limit(n)).map((i)=>({job:i,cursor:{updatedAt:i.runtimeUpdatedAt??0,jobId:i.id}}))}async cleanup(e){let t=Date.now()-e;return(await this.write("cleanup",async()=>this.db.delete(ue).where(Se(Er(V(ue.status,nt.COMPLETED),V(ue.status,nt.FAILED)),po(ue.completedAt,t))))).rowsAffected}async getActiveJobs(e){let t=Er(V(ue.status,nt.PENDING),V(ue.status,nt.PROCESSING)),n=e&&e.length>0?Se(t,Ht(ue.type,e)):t;return this.db.select().from(ue).where(n).orderBy(Mn(ue.createdAt))}async getRecentJobs(e,t=20){let n=e&&e.length>0?Ht(ue.type,e):void 0;return this.db.select().from(ue).where(n).orderBy(Mn(ue.createdAt)).limit(t)}async getFailedJobs(e){let t=V(ue.status,nt.FAILED),n=e&&e.length>0?Se(t,Ht(ue.type,e)):t;return this.db.select().from(ue).where(n).orderBy(Mn(ue.createdAt))}async claimNextReady(e){let{now:t,attemptId:n,workerSlotId:r,workerSessionId:i,leaseDurationMs:a,executableTypes:s,exclusiveTypes:l=[]}=e,c=this.db.select({slotId:_n.slotId}).from(_n).where(Se(V(_n.slotId,r),V(_n.sessionId,i),Da(_n.expiresAt,t))),u=this.db.select({slotId:_n.slotId}).from(_n).where(Se(V(_n.slotId,ue.workerSlotId),V(_n.sessionId,ue.workerSessionId))),d=Se(V(ue.status,nt.PROCESSING),Er(kr(ue.attemptId),Uf(u),po(ue.leaseExpiresAt,t))),p=Iq(ue,"running"),f=this.db.select({id:p.id}).from(p).where(Se(V(p.type,ue.type),V(p.status,nt.PROCESSING),Da(p.leaseExpiresAt,t),k`${p.id} <> ${ue.id}`)),m=l.length===0?void 0:Er(ev(ue.type,[...l]),Uf(f)),g=k`${ue.status} = ${nt.PROCESSING} AND ${ue.retryCount} + 1 > ${ue.maxRetries}`,h=this.db.select({id:ue.id}).from(ue).where(Se(Ht(ue.type,s),m,Er(Se(V(ue.status,nt.PENDING),po(ue.scheduledFor,t)),d))).orderBy(Bt(ue.priority),Bt(ue.createdAt)).limit(1),w=(await this.write("claim",async()=>this.db.update(ue).set({status:k`CASE WHEN ${g} THEN ${nt.FAILED} ELSE ${nt.PROCESSING} END`,retryCount:k`CASE WHEN ${ue.status} = ${nt.PROCESSING} THEN ${ue.retryCount} + 1 ELSE ${ue.retryCount} END`,lastError:k`CASE WHEN ${ue.status} = ${nt.PROCESSING} THEN 'Attempt lease expired' ELSE ${ue.lastError} END`,startedAt:k`CASE WHEN ${g} THEN ${ue.startedAt} ELSE ${t} END`,completedAt:k`CASE WHEN ${g} THEN ${t} ELSE NULL END`,attemptId:k`CASE WHEN ${g} THEN ${ue.attemptId} ELSE ${n} END`,workerSlotId:k`CASE WHEN ${g} THEN ${ue.workerSlotId} ELSE ${r} END`,workerSessionId:k`CASE WHEN ${g} THEN ${ue.workerSessionId} ELSE ${i} END`,leaseExpiresAt:k`CASE WHEN ${g} THEN ${ue.leaseExpiresAt} ELSE ${t+a} END`,attemptHeartbeatAt:k`CASE WHEN ${g} THEN ${ue.attemptHeartbeatAt} ELSE ${t} END`,runtimeUpdatedAt:k`CASE WHEN ${g} THEN ${this.nextRuntimeUpdatedAt(t)} ELSE ${ue.runtimeUpdatedAt} END`}).where(Se(Ht(ue.id,h),Gc(c))).returning()))[0];if(!w)return null;if(w.status===nt.FAILED)return w;return this.logger.debug("Job claimed",{jobId:w.id,attemptId:w.attemptId,workerSlotId:r,workerSessionId:i}),w}nextRuntimeUpdatedAt(e){return k`max(${e}, coalesce((select max(${ue.runtimeUpdatedAt}) from ${ue}), 0) + 1)`}attemptWriteGuard(e,t){return t?Se(V(ue.id,e),V(ue.status,nt.PROCESSING),V(ue.attemptId,t)):Se(V(ue.id,e),kr(ue.attemptId),Er(V(ue.status,nt.PENDING),V(ue.status,nt.PROCESSING)))}}import{AsyncLocalStorage as nye}from"async_hooks";class Nl{storage=new nye;static createFresh(){return new Nl}constructor(){}current(){return this.storage.getStore()}run(e,t,n){if(t.length===0)throw Error("Operation ID must not be empty");let r=La.parse(e),i=rye(r);return this.storage.run(Object.freeze({provenance:i,operationId:t}),n)}}function rye(e){if(Object.freeze(e.projectionLineage),e.sourceEntity)Object.freeze(e.sourceEntity);return Object.freeze(e)}class cR{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${ln()}`;directWorkerSessionId=ln();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh(e,t,n){return new cR(e,t??Ti.getInstance(),n)}constructor(e,t,n){let{db:r,client:i,url:a}=Z2(e);this.client=i,this.databaseUrl=a,this.logger=t.child("JobQueueService"),this.operationContext=n?.operationContext??Nl.createFresh(),this.projectionAdmission=n?.projectionAdmission,this.handlerRegistry=new aR(this.logger,n?.handlerRegistrationMode??"combined"),this.repository=new lR(r,i,a,this.logger),this.directLeaseDurationMs=e.claimTimeoutMs??300000}initialize(){if(this.closeRequested)return Promise.resolve();return this.walInitialization??=this.initializeWALMode(),this.walInitialization}async initializeWALMode(){try{await ea(this.client,this.databaseUrl)}catch(e){this.logger.warn("Failed to enable WAL mode (non-fatal)",e)}finally{this.walInitializationSettled=!0,this.closeClientWhenReady()}}closeClientWhenReady(){if(!this.closeRequested||this.inFlightEnqueues>0||this.walInitialization!==null&&!this.walInitializationSettled)return;this.closeClient()}closeClient(){if(this.clientClosed)return;this.clientClosed=!0,this.client.close()}registerHandler(e,t,n){this.handlerRegistry.registerHandler(e,t,n)}unregisterHandler(e){this.handlerRegistry.unregisterHandler(e)}unregisterPluginHandlers(e){this.handlerRegistry.unregisterPluginHandlers(e)}getRegisteredTypes(){return this.handlerRegistry.getRegisteredTypes()}getHandler(e){return this.handlerRegistry.getHandler(e)}getValidator(e){return this.handlerRegistry.getValidator(e)}finalizeHandlerRegistrations(){return this.handlerRegistry.finalizeRegistrations()}getExecutionRegistrations(){return this.handlerRegistry.getExecutionRegistrations()}async enqueue(e){if(this.closeRequested)throw Error("Cannot enqueue a job after the queue service is closed");this.inFlightEnqueues++;try{return await this.enqueueValidated(e)}finally{this.inFlightEnqueues--,this.closeClientWhenReady()}}async enqueueValidated(e){let{type:t,data:n,options:r}=e,i=this.handlerRegistry.getValidator(t);if(!i)throw Error(`No job type declared: ${t}`);let a=i.validateAndParse(n);if(a===null)throw Error(`Invalid job data for type: ${t}`);let s=Date.now(),l=ln(),c=r?.rootJobId??this.operationContext.current()?.provenance.rootJobId??l,u=this.createJobProvenance(l,c,r),d=r?.metadata??{operationType:"data_processing"},{provenance:p,...f}=d,m={id:l,type:t,data:JSON.stringify(a),status:nt.PENDING,priority:r?.priority??0,maxRetries:r?.maxRetries??3,retryCount:0,source:r?.source??null,metadata:{...f,...r?.deduplicationKey&&{deduplicationKey:r.deduplicationKey},rootJobId:c,provenance:u},createdAt:s,scheduledFor:r?.delayMs?s+r.delayMs:s,result:null,lastError:null,startedAt:null,completedAt:null},g,h=()=>{g?.rollback(),g=void 0};try{let b=await this.repository.enqueueAtomic({jobData:m,strategy:r?.deduplication,deduplicationKey:r?.deduplicationKey,beforeInsert:async()=>{g=await this.projectionAdmission?.reserveJobAdmission(u)},onInsertRollback:h});if(g?.commit(),g=void 0,b.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:t,existingJobId:b.jobId});else if(b.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:t,existingJobId:b.jobId});else{if(b.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:t,oldJobId:b.replacedJobId});this.logger.debug("Job enqueued",{id:b.jobId,type:t,priority:m.priority,rootJobId:m.metadata.rootJobId})}return b.jobId}catch(b){throw h(),this.logger.error("Failed to enqueue job",{type:t,error:$e(b)}),b}}createJobProvenance(e,t,n){let r=this.operationContext.current(),i=n?.metadata.provenance??r?.provenance,a=i?.rootJobId===t?i:void 0,s=r?.provenance.rootJobId===t?r.operationId:void 0,l=n?.projection,c=l?[...a?.projectionLineage??[],l.id]:[...a?.projectionLineage??[]],u=l?.id??a?.projectionId;return La.parse({rootJobId:t,causationId:s??a?.causationId??e,...u?{projectionId:u}:{},projectionLineage:c,...l?.sourceEntity?{sourceEntity:l.sourceEntity}:a?.sourceEntity?{sourceEntity:a.sourceEntity}:{},derivationDepth:c.length})}async dequeue(e){let t=this.handlerRegistry.getRegisteredTypes();if(t.length===0)return null;let{onTerminalReclaim:n,...r}=e??await this.getDirectClaimOptions(),i=Date.now(),a=await this.repository.claimNextReady({...r,now:i,attemptId:ln(),executableTypes:t,exclusiveTypes:this.handlerRegistry.getExclusiveTypes()});if(!a)return null;if(a.status===nt.FAILED)return this.logger.warn("Expired attempt failed terminally on reclaim",{id:a.id,type:a.type,retryCount:a.retryCount}),await n?.(a),null;return this.logger.debug("Job dequeued",{id:a.id,type:a.type,priority:a.priority,retryCount:a.retryCount,attemptId:a.attemptId,workerSlotId:a.workerSlotId,workerSessionId:a.workerSessionId}),a}async startWorkerSession(e,t,n=As){await this.repository.startWorkerSession(e,t,Date.now(),n)}heartbeatWorkerSession(e,t,n=As){return this.repository.heartbeatWorkerSession(e,t,Date.now(),n)}endWorkerSession(e,t){return this.repository.endWorkerSession(e,t)}renewAttemptLease(e,t,n){return this.repository.renewAttemptLease(e,t,Date.now(),n)}recordAttemptProgress(e,t,n){return this.repository.recordAttemptProgress(e,t,n)}complete(e,t,n){return this.repository.complete(e,t,n)}update(e,t,n){return this.repository.update(e,t,n)}fail(e,t,n){return this.repository.fail(e,t,n)}retireUnownedActiveJob(e){return this.repository.retireUnownedActiveJob(e)}async getDirectClaimOptions(){return this.directSessionStart??=this.repository.startWorkerSession(this.directWorkerSlotId,this.directWorkerSessionId,Date.now(),this.directLeaseDurationMs),await this.directSessionStart,{workerSlotId:this.directWorkerSlotId,workerSessionId:this.directWorkerSessionId,leaseDurationMs:this.directLeaseDurationMs}}async getStatus(e){return this.repository.getStatus(e)}async getJobsByRootJobId(e){return this.repository.getJobsByRootJobId(e)}async getStatusByEntityId(e){return this.repository.getStatusByEntityId(e)}async getStats(){return this.repository.getStats()}getDiagnostics(e){return this.repository.getDiagnostics(e)}async waitForIdle(e={}){let t=e.quietMs??250,n=e.pollIntervalMs??25,r=Date.now()+(e.timeoutMs??30000),i=async(a)=>{e.signal?.throwIfAborted();let{totals:s}=await this.getDiagnostics(),c=s.pending===0&&s.processing===0?a??Date.now():null;if(c!==null&&Date.now()-c>=t)return;if(Date.now()>=r)throw Error(`Timed out waiting for the job queue to settle: ${s.pending} pending, ${s.processing} processing`);return await Bun.sleep(n),i(c)};return i(null)}getRuntimeUpdates(e,t=1000){return this.repository.getRuntimeUpdates(e,t)}async cleanup(e){let t=await this.repository.cleanup(e);if(t>0)this.logger.info("Cleaned up old jobs",{deletedCount:t,olderThanMs:e});return t}async getActiveJobs(e){return this.repository.getActiveJobs(e)}async getRecentJobs(e,t){return this.repository.getRecentJobs(e,t)}async getFailedJobs(e){return this.repository.getFailedJobs(e)}}function uR(e){let t,n=()=>{return},r=!1,i=new Promise((s)=>{n=()=>{r=!0,s({kind:"timeout"})}}),a=()=>{if(r)return;if(t)clearTimeout(t);t=setTimeout(n,Math.max(1,e))};return a(),{expired:i,renew:a,cancel:()=>{if(r=!0,t)clearTimeout(t)}}}function W2(e,t){let n,r=(a)=>{let s=JSON.stringify([a.progress,a.total,a.message]);if(s===n)return;n=s,t()},i=(a)=>({createSub:(s)=>i(a.createSub(s)),report:async(s)=>{r(s),await a.report(s)},startHeartbeat:(s,l)=>a.startHeartbeat(s,l),stopHeartbeat:()=>a.stopHeartbeat(),toCallback:()=>{let s=a.toCallback();return async(l)=>{r(l),await s(l)}}});return i(e)}class G2 extends Error{constructor(e,t){super(`Job ${e} exceeded its ${t}ms execution deadline`);this.name="JobDeadlineExceededError"}}class dR{logger;jobQueueService;progressMonitor;config;isRunning=!1;shouldStop=!1;activeJobs=new Set;stats;startTime=0;pollFiber=null;currentPoll=null;workerScope=null;jobFibers=null;activeTransition=null;transitionQueue=[];clock;operationContext;projectionBatchScope;workerSessionId=null;workerHeartbeatStop=null;static createFresh(e,t,n,r,i){return new dR(e,t,n,r,i)}constructor(e,t,n,r,i){if(this.logger=n.child("JobQueueWorker"),this.jobQueueService=e,this.progressMonitor=t,this.clock=i?.clock,this.operationContext=i?.operationContext??Nl.createFresh(),this.projectionBatchScope=i?.projectionBatchScope,this.config={concurrency:r?.concurrency??1,pollInterval:r?.pollInterval??1000,maxJobs:r?.maxJobs??0,autoStart:r?.autoStart??!1,workerSlotId:r?.workerSlotId??process.env.BRAIN_JOB_WORKER_SLOT_ID??"default",defaultExecutionTimeoutMs:r?.defaultExecutionTimeoutMs??300000,cancellationGraceMs:r?.cancellationGraceMs??5000,errorCallbackTimeoutMs:r?.errorCallbackTimeoutMs??1e4,leaseDurationMs:r?.leaseDurationMs??30000,attemptHeartbeatIntervalMs:r?.attemptHeartbeatIntervalMs??1e4,workerHeartbeatIntervalMs:r?.workerHeartbeatIntervalMs??5000,workerSessionTimeoutMs:r?.workerSessionTimeoutMs??As,onUnhealthy:r?.onUnhealthy??(()=>{return})},this.stats={processedJobs:0,failedJobs:0,activeJobs:0,uptime:0,isRunning:!1,isHealthy:!0},this.logger.debug("JobQueueWorker initialized",{concurrency:this.config.concurrency,pollInterval:this.config.pollInterval,maxJobs:this.config.maxJobs,autoStart:this.config.autoStart}),this.config.autoStart)this.start().catch((a)=>{this.logger.error("Failed to auto-start JobQueueWorker",{error:a})})}start(){return this.requestTransition("start",!0)}async startWorker(){if(this.isRunning){this.logger.warn("Worker is already running");return}this.logger.debug("Starting JobQueueWorker");let e=ln();await this.jobQueueService.startWorkerSession(this.config.workerSlotId,e,this.config.workerSessionTimeoutMs),this.workerSessionId=e,this.isRunning=!0,this.shouldStop=!1,this.startTime=Date.now(),this.stats.isRunning=!0,this.stats.isHealthy=!0,delete this.stats.unhealthyReason,this.startWorkerHeartbeat(),this.workerScope=ge.runSync(en.make()),this.jobFibers=ge.runSync(en.provide(vr.make(),this.workerScope)),this.pollFiber=ge.runFork(this.runPollingLoop())}stop(){return this.requestTransition("stop",!0)}async stopWorker(e){if(!this.isRunning){this.logger.warn("Worker is not running");return}if(this.logger.debug("Stopping JobQueueWorker"),this.shouldStop=!0,e.awaitInFlightPoll&&this.pollFiber){let n=this.pollFiber;await ge.runPromise(Uo.interrupt(n)),this.pollFiber=null}if(e.awaitInFlightPoll&&this.currentPoll)await this.currentPoll,this.currentPoll=null;if(this.jobFibers)this.logger.debug("Waiting for active jobs to complete",{activeJobs:this.activeJobs.size}),await ge.runPromise(vr.awaitEmpty(this.jobFibers));await this.closeWorkerScope(),await this.stopWorkerHeartbeat();let t=this.workerSessionId;if(this.workerSessionId=null,t)await this.jobQueueService.endWorkerSession(this.config.workerSlotId,t);this.isRunning=!1,this.stats.isRunning=!1,this.logger.debug("JobQueueWorker stopped")}getStats(){return{...this.stats,activeJobs:this.activeJobs.size,uptime:this.isRunning?Date.now()-this.startTime:0}}isWorkerRunning(){return this.isRunning}isStopRequested(){return this.shouldStop}async processAvailableJobs(){if(!this.isRunning||this.shouldStop)return;try{let e=this.config.concurrency-this.activeJobs.size;if(e<=0)return;if(this.config.maxJobs>0){let n=this.stats.processedJobs+this.stats.failedJobs,r=this.config.maxJobs-n-this.activeJobs.size;if(r<=0){this.logger.debug("Maximum job limit reached, stopping worker",{maxJobs:this.config.maxJobs,processedJobs:this.stats.processedJobs,failedJobs:this.stats.failedJobs}),await this.requestTransition("stop",!1);return}e=Math.min(e,r)}let t=this.jobFibers;if(!t)throw Error("Worker job fiber scope is not available");for(let n=0;n<e;n++){if(this.isStopRequested())break;let r=this.workerSessionId;if(!r)throw Error("Worker session is not available");let i=await this.jobQueueService.dequeue({workerSlotId:this.config.workerSlotId,workerSessionId:r,leaseDurationMs:this.config.leaseDurationMs,onTerminalReclaim:(a)=>this.emitTerminalReclaim(a)});if(!i)break;this.activeJobs.add(i.id),await ge.runPromise(vr.run(t,i.id,ge.promise(()=>this.processJobWrapper(i))))}}catch(e){this.logger.error("Error processing available jobs",{error:e}),this.stats.lastError=$e(e)}}async processJobWrapper(e){let t=e.id;try{this.logger.debug("Processing job",{jobId:t,type:e.type,priority:e.priority,retryCount:e.retryCount});let n=await this.processJob(e);if(n.status==="completed")this.stats.processedJobs++,this.logger.debug("Job completed successfully",{jobId:t,type:n.type});else this.stats.failedJobs++,this.logger.warn("Job failed",{jobId:t,type:n.type,error:n.error})}catch(n){this.stats.failedJobs++,this.logger.error("Error processing job",{jobId:t,type:e.type,error:n}),this.stats.lastError=$e(n)}finally{this.activeJobs.delete(t)}}runPollingLoop(){let t=ge.suspend(()=>{if(!this.isWorkerRunning()||this.isStopRequested())return ge.interrupt;return this.currentPoll=this.processAvailableJobs(),ge.promise(()=>this.currentPoll??Promise.resolve()).pipe(ge.andThen(ge.suspend(()=>(this.currentPoll=null,!this.isWorkerRunning()||this.isStopRequested()?ge.interrupt:ge.void))))}).pipe(ge.schedule(gi.spaced(this.config.pollInterval)),ge.asVoid);return yi(t,this.clock).pipe(ge.ensuring(ge.sync(()=>{this.pollFiber=null})))}requestTransition(e,t){let n=this.transitionQueue.at(-1)??this.activeTransition;if(n?.kind===e)return n.promise;let r=()=>{return},i=()=>{return},a=new Promise((l,c)=>{r=l,i=c}),s={kind:e,awaitInFlightPoll:t,promise:a,resolve:r,reject:i};return this.transitionQueue.push(s),this.runNextTransition(),a}runNextTransition(){if(this.activeTransition)return;let e=this.transitionQueue.shift();if(!e)return;this.activeTransition=e,(e.kind==="start"?this.startWorker():this.stopWorker({awaitInFlightPoll:e.awaitInFlightPoll})).then(()=>this.completeTransition(e,!0),(n)=>this.completeTransition(e,!1,n))}completeTransition(e,t,n){if(this.activeTransition!==e)return;if(this.activeTransition=null,t)e.resolve();else e.reject(n);queueMicrotask(()=>this.runNextTransition())}async closeWorkerScope(){let e=this.workerScope;if(this.workerScope=null,this.jobFibers=null,e)await ge.runPromise(en.close(e,Yt.void))}startHeartbeatLoop(e){let t=null,n=!1,r=setInterval(()=>{if(n||t)return;t=e.beat().then((i)=>{if(!i)e.onStale()}).catch(e.onError).finally(()=>{t=null})},Math.max(1,e.intervalMs));return async()=>{if(n)return;n=!0,clearInterval(r),await t}}startWorkerHeartbeat(){this.workerHeartbeatStop=this.startHeartbeatLoop({intervalMs:this.config.workerHeartbeatIntervalMs,beat:async()=>{let e=this.workerSessionId;if(!e)return!0;return this.jobQueueService.heartbeatWorkerSession(this.config.workerSlotId,e,this.config.workerSessionTimeoutMs)},onStale:()=>this.markUnhealthy("Worker session was superseded"),onError:(e)=>this.markUnhealthy(`Worker session heartbeat failed: ${$e(e)}`)})}async stopWorkerHeartbeat(){await this.workerHeartbeatStop?.(),this.workerHeartbeatStop=null}startAttemptHeartbeat(e,t){let n=e.attemptId;if(!n)return async()=>{return};return this.startHeartbeatLoop({intervalMs:this.config.attemptHeartbeatIntervalMs,beat:()=>this.jobQueueService.renewAttemptLease(e.id,n,this.config.leaseDurationMs),onStale:()=>{let r=Error("Job attempt was superseded");t.abort(r),this.markUnhealthy(r.message)},onError:(r)=>{let i=hp(r);t.abort(i),this.markUnhealthy(`Attempt lease heartbeat failed: ${i.message}`)}})}markUnhealthy(e){if(!this.stats.isHealthy)return;this.stats.isHealthy=!1,this.stats.unhealthyReason=e,this.stats.lastError=e,this.shouldStop=!0,this.logger.error("Job queue worker is unhealthy",{reason:e});try{this.config.onUnhealthy(e)}catch(t){this.logger.error("Job queue worker unhealthy callback failed",{reason:e,error:$e(t)})}}async raceOutcome(e,t){let n,r=new Promise((i)=>{n=setTimeout(()=>i({kind:"timeout"}),Math.max(1,t))});try{return await Promise.race([e,r])}finally{if(n)clearTimeout(n)}}async executeWithDeadline(e,t,n,r,i=uR(t)){let a=Promise.resolve().then(r).then((u)=>({kind:"success",value:u}),(u)=>({kind:"failure",error:u})),s=await Promise.race([a,i.expired]).finally(()=>i.cancel());if(s.kind!=="timeout"){if(s.kind==="failure")throw s.error;return s.value}let l=new G2(e,t);if(n.abort(l),(await this.raceOutcome(a,this.config.cancellationGraceMs)).kind!=="timeout")throw l;throw this.markUnhealthy(`${l.message}; handler ignored cancellation grace`),await a,l}processJob(e){let t=e.metadata.provenance??{rootJobId:e.metadata.rootJobId,causationId:e.id,projectionLineage:[],derivationDepth:0};return this.operationContext.run(t,e.id,()=>{let n=this.projectionBatchScope;return n?n.runFreshBatchScope(()=>this.processJobWithinContext(e)):this.processJobWithinContext(e)})}async processJobWithinContext(e){let t=e.attemptId;if(!t){let l=Error(`Claimed job ${e.id} has no attempt fencing token`);return this.markUnhealthy(l.message),{jobId:e.id,type:e.type,status:nt.FAILED,error:l.message}}let n=this.jobQueueService.getHandler(e.type);if(!n){let l=Error(`No handler registered for job type: ${e.type}`);return await this.jobQueueService.fail(e.id,l,t),{jobId:e.id,type:e.type,status:nt.FAILED,error:l.message}}let r=new AbortController,i=this.startAttemptHeartbeat(e,r),a=!1,s=async()=>{if(a)return;a=!0,await i()};try{this.logger.debug("Processing job",{jobId:e.id,type:e.type,attemptId:t});let l=JSON.parse(e.data),c=n.validateAndParse(l);if(c===null)throw Error(`Invalid job data for type: ${e.type}`);let u=this.progressMonitor.createProgressReporter(e.id,t),d=n.executionTimeoutMs??this.config.defaultExecutionTimeoutMs,p=uR(d),f=await this.executeWithDeadline(e.type,d,r,()=>n.process(c,e.id,W2(u,p.renew),r.signal),p);await s();let m=iR.safeParse(f);if(m.success){let h=m.data.error??"Handler returned failure",b=Error(h);if(await this.jobQueueService.fail(e.id,b,t))await this.emitTerminalFailure(e,b,n,t);return{jobId:e.id,type:e.type,status:nt.FAILED,error:h}}if(!await this.jobQueueService.complete(e.id,f,t))return{jobId:e.id,type:e.type,status:nt.FAILED,error:"Job attempt no longer owns the claim"};return await this.runHandlerSuccessCallback(n,e,t),await this.progressMonitor.handleJobStatusChange(e.id,"completed",e.metadata),{jobId:e.id,type:e.type,status:nt.COMPLETED,result:f}}catch(l){let c=hp(l);if(await s(),await this.runHandlerErrorCallback("onError",n,e,c,t),await this.jobQueueService.fail(e.id,c,t))await this.emitTerminalFailure(e,c,n,t);return{jobId:e.id,type:e.type,status:nt.FAILED,error:c.message}}}async runHandlerSuccessCallback(e,t,n){let r=e.onTerminalSuccess;if(!r)return;try{let i=e.validateAndParse(JSON.parse(t.data));if(i===null)return;let a=this.progressMonitor.createProgressReporter(t.id,n),s=new AbortController;await this.executeWithDeadline(`${t.type}:onTerminalSuccess`,this.config.errorCallbackTimeoutMs,s,()=>r.call(e,i,t.id,a,s.signal))}catch(i){this.logger.error("Terminal job success callback failed",{jobId:t.id,type:t.type,error:i})}}async emitTerminalFailure(e,t,n,r){if((await this.jobQueueService.getStatus(e.id))?.status!==nt.FAILED)return;await this.runHandlerErrorCallback("onTerminalError",n,e,t,r),await this.progressMonitor.handleJobStatusChange(e.id,"failed",e.metadata)}async emitTerminalReclaim(e){let t=this.jobQueueService.getHandler(e.type);if(t)await this.runHandlerErrorCallback("onTerminalError",t,e,Error(e.lastError??"Attempt lease expired"),e.attemptId??e.id);await this.progressMonitor.handleJobStatusChange(e.id,"failed",e.metadata)}async runHandlerErrorCallback(e,t,n,r,i){let a=t[e];if(!a)return;try{let s=t.validateAndParse(JSON.parse(n.data));if(s===null)return;let l=this.progressMonitor.createProgressReporter(n.id,i),c=new AbortController;await this.executeWithDeadline(`${n.type}:${e}`,this.config.errorCallbackTimeoutMs,c,()=>a.call(t,r,s,n.id,l,c.signal))}catch(s){this.logger.error(e==="onError"?"Job handler error callback failed":"Job handler terminal error callback failed",{jobId:n.id,error:s})}}}var oye=86400000,J2=3600000;class pR{jobQueue;logger;batches=new Map;cleanupFiber=null;cleanupSupervisor=null;inFlightCleanups=new Set;activeTransition=null;transitionQueue=[];acceptingCleanup=!0;clock;static createFresh(e,t,n){return new pR(e,t,n)}constructor(e,t,n){this.jobQueue=e,this.logger=t,this.clock=n?.clock}start(e=J2){return this.requestTransition("start",e)}stop(){return this.requestTransition("stop",J2)}async startCleanup(e){if(this.acceptingCleanup=!0,this.cleanupFiber)return;this.cleanupFiber=ge.runFork(this.runCleanupLoop(e))}runCleanupLoop(e){let t=this.cleanupTerminalBatchMetadata().pipe(ge.schedule(gi.spaced(e)),ge.asVoid);return yi(t,this.clock)}scheduleTerminalBatchCleanup(){if(!this.acceptingCleanup)return;this.cleanupSupervisor??=this.createCleanupSupervisor();let e=ge.runFork(this.cleanupTerminalBatchMetadata());ka.addUnsafe(this.cleanupSupervisor.fibers,e)}async stopCleanup(){this.acceptingCleanup=!1;let e=this.cleanupFiber;if(this.cleanupFiber=null,e)await ge.runPromise(Uo.interrupt(e));let t=this.cleanupSupervisor;if(t)await ge.runPromise(ka.awaitEmpty(t.fibers));while(this.inFlightCleanups.size>0)await Promise.allSettled(this.inFlightCleanups);if(t)await ge.runPromise(en.close(t.scope,Yt.void)),this.cleanupSupervisor=null}requestTransition(e,t){let n=this.transitionQueue.at(-1)??this.activeTransition;if(n?.kind===e)return n.promise;let r=()=>{return},i=()=>{return},a=new Promise((l,c)=>{r=l,i=c}),s={kind:e,intervalMs:t,promise:a,resolve:r,reject:i};return this.transitionQueue.push(s),this.runNextTransition(),a}runNextTransition(){if(this.activeTransition)return;let e=this.transitionQueue.shift();if(!e)return;this.activeTransition=e,(e.kind==="start"?this.startCleanup(e.intervalMs):this.stopCleanup()).then(()=>this.completeTransition(e,!0),(n)=>this.completeTransition(e,!1,n))}completeTransition(e,t,n){if(this.activeTransition!==e)return;if(this.activeTransition=null,t)e.resolve();else e.reject(n);queueMicrotask(()=>this.runNextTransition())}createCleanupSupervisor(){let e=ge.runSync(en.make()),t=ge.runSync(en.provide(ka.make(),e));return{scope:e,fibers:t}}cleanupTerminalBatchMetadata(){return ge.tryPromise({try:()=>{let e=this.cleanup(oye);return this.inFlightCleanups.add(e),e.then(()=>this.inFlightCleanups.delete(e),()=>this.inFlightCleanups.delete(e)),e},catch:(e)=>e}).pipe(ge.asVoid,ge.catch((e)=>ge.sync(()=>{this.logger.warn("Failed to clean up terminal batch metadata",{error:e})})))}validateOperations(e){for(let t of e){let n=this.jobQueue.getValidator(t.type);if(!n)throw Error(`No job type declared: ${t.type}`);if(n.validateAndParse(t.data)===null)throw Error(`Invalid job data for type: ${t.type}`)}}async enqueueBatch(e,t,n,r){if(e.length===0)throw Error("Cannot enqueue empty batch");this.validateOperations(e);let i=[];this.batches.set(n,{jobIds:i,operations:e,source:t.source,startedAt:new Date().toISOString(),metadata:{...t.metadata,rootJobId:n}});try{for(let a of e){let s={...t,rootJobId:n,metadata:{...t.metadata,operationTarget:a.type}},l=await this.jobQueue.enqueue({type:a.type,data:a.data,options:s});i.push(l)}return this.logger.debug("Enqueued batch operations",{batchId:n,operationCount:e.length,jobIds:i,rootJobId:n}),this.scheduleTerminalBatchCleanup(),n}catch(a){throw this.batches.delete(n),this.logger.error("Failed to enqueue batch operations",{error:a,operationCount:e.length,enqueuedJobs:i.length}),a}}async getBatchStatus(e){let t=this.batches.get(e);if(!t)return null;try{let n=await Promise.all(t.jobIds.map((u)=>this.jobQueue.getStatus(u))),r=0,i=0,a=0,s=[];for(let[u,d]of n.entries()){if(!d){i++;let p=t.operations[u],f=t.jobIds[u]??"unknown";s.push(`Missing job ${f}${p?` for ${p.type}`:""}`);continue}switch(d.status){case"completed":r++;break;case"failed":if(i++,d.lastError)s.push(d.lastError);break;case"processing":case"pending":a++;break}}a+=t.operations.length-t.jobIds.length;let l;if(a>0)l=nt.PROCESSING;else if(i>0)l=nt.FAILED;else l=nt.COMPLETED;if(t.terminalAt===void 0&&(l===nt.COMPLETED||l===nt.FAILED))t.terminalAt=Date.now();let c;for(let u=0;u<t.jobIds.length;u++){let d=n[u];if(d&&d.status!=="completed"&&d.status!=="failed"){let p=t.operations[u];if(p)c=`Processing ${p.type}`;break}}return{batchId:e,totalOperations:t.operations.length,completedOperations:r,failedOperations:i,errors:s,status:l,currentOperation:c,metadata:t.metadata}}catch(n){throw this.logger.error("Failed to get batch status",{batchId:e,error:n}),n}}inspectRetention(e){let t=this.batches.get(e);return t?{terminalAt:t.terminalAt}:void 0}async cleanup(e){let t=Date.now()-e,n=0;for(let[r,i]of this.batches.entries()){if(i.terminalAt!==void 0){if(i.terminalAt<=t)this.batches.delete(r),n++;continue}if(new Date(i.startedAt).getTime()<=t){let s=await this.getBatchStatus(r);if(s&&(s.status===nt.COMPLETED||s.status===nt.FAILED))this.batches.delete(r),n++}}return this.logger.debug("Cleaned up batch metadata",{cleaned:n}),n}registerBatch(e,t,n,r,i){this.batches.set(e,{jobIds:t,operations:n,source:r,startedAt:new Date().toISOString(),metadata:i}),this.logger.debug("Registered batch metadata",{batchId:e,operationCount:n.length,jobIds:t})}async getActiveBatches(){let e=[];try{for(let[t,n]of this.batches){let r=await this.getBatchStatus(t);if(r&&(r.status==="pending"||r.status==="processing"))e.push({batchId:t,status:r,metadata:{operations:n.operations,source:n.source,startedAt:n.startedAt,metadata:n.metadata}})}return this.logger.debug("Retrieved active batches",{count:e.length}),e}catch(t){throw this.logger.error("Failed to get active batches",{error:t}),t}}}var iye=o.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},o.record(o.string(),o.unknown()));class mR{jobQueueService;messageBus;batchJobManager;logger;mode;pollTimer;pollCursor={updatedAt:0,jobId:""};activePoll;stopPromise;stopped=!1;static createFresh(e,t,n,r,i="combined"){return new mR(e,t,n,r,i)}constructor(e,t,n,r,i){this.jobQueueService=e,this.messageBus=t,this.batchJobManager=n,this.logger=r,this.mode=i}start(){if(this.stopped)throw Error("Cannot start a stopped job progress monitor");if(this.mode==="durable-reader"&&!this.pollTimer){this.pollCursor={updatedAt:Date.now(),jobId:""},this.pollTimer=setInterval(()=>{this.pollDurableUpdates()},250),this.pollTimer.unref(),this.logger.debug("Job progress monitor ready (durable polling mode)");return}this.logger.debug("Job progress monitor ready (event-driven mode)")}stop(){return this.stopPromise??=this.stopMonitor(),this.stopPromise}async stopMonitor(){if(this.stopped=!0,this.pollTimer)clearInterval(this.pollTimer);this.pollTimer=void 0,await this.activePoll,this.logger.debug("Job progress monitor stopped")}pollDurableUpdates(){if(this.stopped)return Promise.resolve();if(this.activePoll)return this.activePoll;let e=Promise.resolve().then(()=>this.pollPage());this.activePoll=e;let t=()=>{this.activePoll=void 0};return e.then(t,t),e}async pollPage(){try{let e=await this.jobQueueService.getRuntimeUpdates(this.pollCursor,100);for(let t of e)if(this.pollCursor=t.cursor,t.job.status==="processing"&&t.job.progress)await this.publishJobProgress(t.job,t.job.progress);else if(t.job.status==="completed"||t.job.status==="failed")await this.handleJobStatusChange(t.job.id,t.job.status,t.job.metadata)}catch(e){this.logger.error("Failed to poll durable job progress",{error:e})}}createProgressReporter(e,t){let n=Rs.from(async(r)=>{await this.emitJobProgress(e,r,t)});if(!n)throw Error("Failed to create ProgressReporter");return n}async emitBatchProgress(e,t,n){try{let r={totalOperations:t.totalOperations,completedOperations:t.completedOperations,failedOperations:t.failedOperations,currentOperation:t.currentOperation??"Processing batch...",errors:t.errors},i={id:e,type:"batch",status:t.status,metadata:n,batchDetails:r};if(t.totalOperations>0)i.progress={current:t.completedOperations,total:t.totalOperations,percentage:Math.round(t.completedOperations/t.totalOperations*100)};await this.messageBus.send({type:Sg.progress,payload:i,sender:"job-progress-monitor",broadcast:!0}),this.logger.debug("Emitted batch progress update",{batchId:e,status:t.status,progress:`${t.completedOperations}/${t.totalOperations}`})}catch(r){this.logger.error("Error emitting batch progress update",{batchId:e,error:r})}}isBatchChild(e,t){return!!t&&t!==e}get publishesEvents(){return this.mode!=="durable-writer"}async broadcastEvent(e){await this.messageBus.send({type:Sg.progress,payload:e,sender:"job-progress-monitor",broadcast:!0})}async emitJobProgress(e,t,n){try{if(n&&!await this.jobQueueService.recordAttemptProgress(e,n,t)){this.logger.debug("Discarding progress from obsolete job attempt",{jobId:e,attemptId:n});return}if(!this.publishesEvents)return;let r=await this.jobQueueService.getStatus(e);if(!r){this.logger.warn("Job not found for progress update",{jobId:e});return}await this.publishJobProgress(r,t)}catch(r){this.logger.error("Error emitting job progress",{jobId:e,error:r})}}async publishJobProgress(e,t){if(e.metadata.silent)return;if(this.isBatchChild(e.id,e.metadata.rootJobId))return;let n=t.total??0,r={id:e.id,type:"job",status:"processing",metadata:e.metadata,message:t.message};if(n>0)r.progress={current:t.progress,total:n,percentage:Math.round(t.progress/n*100)};await this.broadcastEvent(r)}async emitJobCompletion(e){await this.emitJobStatusEvent(e,"completed")}async emitJobFailure(e){await this.emitJobStatusEvent(e,"failed")}async emitJobStatusEvent(e,t){if(!this.publishesEvents)return;try{let n=await this.jobQueueService.getStatus(e);if(!n){this.logger.warn(`Cannot emit ${t} for unknown job`,{jobId:e});return}if(n.metadata.silent)return;if(this.isBatchChild(e,n.metadata.rootJobId)){this.logger.debug(`Skipping individual job ${t} for batch operation`,{jobId:e,rootJobId:n.metadata.rootJobId});return}let r={id:e,type:"job",status:t,message:this.extractStatusMessage(n,t),metadata:n.metadata,jobDetails:{jobType:n.type,priority:n.priority,retryCount:n.retryCount}};await this.broadcastEvent(r),this.logger.debug(`Emitted job ${t} event`,{jobId:e})}catch(n){this.logger.error(`Error emitting job ${t} event`,{jobId:e,error:n})}}extractStatusMessage(e,t){if(t==="failed")return e.lastError??void 0;if(!e.result)return;try{let n=iye.parse(e.result),r=n.message;if(r)return String(r);let i=n.routesBuilt;if(i!==void 0)return`${i} routes built`}catch{}return}getStats(){return{isRunning:!this.stopped&&(this.mode!=="durable-reader"||this.pollTimer!==void 0)}}async handleJobStatusChange(e,t,n){if(!this.publishesEvents)return;let r=n?cu.safeParse(n):void 0,i=r?.success?r.data:void 0;if(i?.silent)return;try{if(await this.emitJobStatusEvent(e,t),i&&this.isBatchChild(e,i.rootJobId))try{let a=i.rootJobId,s=await this.batchJobManager.getBatchStatus(a);if(s){let l=s.metadata??i;await this.emitBatchProgress(a,s,l)}}catch(a){this.logger.warn("Failed to emit batch progress",{jobId:e,rootJobId:i.rootJobId,error:a})}}catch(a){this.logger.error("Failed to handle job status change",{jobId:e,status:t,error:a})}}}var aye=o.record(o.string(),o.unknown());class xg{logger;schema;jobTypeName;executionTimeoutMs;exclusive;constructor(e,t){this.logger=e,this.schema=t.schema,this.jobTypeName=t.jobTypeName,this.executionTimeoutMs=t.executionTimeoutMs,this.exclusive=t.exclusive}validateAndParse(e){if(!this.schema)throw Error(`${this.jobTypeName}: No schema provided. Override validateAndParse() or provide a schema.`);let t=this.schema.safeParse(e);if(!t.success)return this.logger.warn(`Invalid ${this.jobTypeName} job data`,{data:e,validationError:t.error.issues}),null;return this.logger.debug(`${this.jobTypeName} job data validation successful`,{data:this.summarizeDataForLog(t.data)}),t.data}async onError(e,t,n,r,i){this.logger.error(`${this.jobTypeName} job error handler triggered`,{jobId:n,errorMessage:e.message,errorStack:e.stack,data:this.summarizeDataForLog(t)})}async reportProgress(e,t){await e.report({progress:t.progress,total:t.total??100,message:t.message})}summarizeDataForLog(e){let t=aye.safeParse(e);return t.success?t.data:{}}}function wg(e,t,n){return async(r)=>{let{type:i,data:a,toolContext:s=null,options:l,projection:c}=r,u=s?V2(s):void 0,{metadata:d,...p}=l??{},f={operationType:"data_processing",pluginId:t,...d,...s&&{interfaceType:s.interfaceType,conversationId:s.conversationId,channelId:s.channelId,requestedByActor:s.actor,...u?{requestedByUserId:u}:{},requestedByInterface:s.interfaceType,...s.progressToken!==void 0&&{progressToken:s.progressToken}}};if(s&&!u)delete f.requestedByUserId;let m={...p,source:t,...l?.rootJobId&&{rootJobId:l.rootJobId},...c&&{projection:c},metadata:f},g=n&&!i.includes(":")?`${t}:${i}`:i;return e.enqueue({type:g,data:a,options:m})}}function fR(e,t){return async(n,r)=>{let i=r?.rootJobId??ln(),a=n.map((l)=>({...l,type:l.type.includes(":")?l.type:`${t}:${l.type}`})),s={...r,source:t,rootJobId:i,metadata:{...r?.metadata,operationType:"batch_processing",pluginId:t}};return await e.enqueueBatch(a,s,i,t),i}}function gR(e,t){return(n,r)=>{let i=n.includes(":")?n:`${t}:${n}`;e.registerHandler(i,r,t)}}var sye=o.custom((e)=>typeof e==="object"&&e!==null&&("safeParse"in e)),lye=o.object({name:o.string(),schema:sye});function H2(e){return lye.safeParse(e).success}function cye(e){if(!e)return;return{status:e.status,message:e.message,lastCheck:e.lastCheck?.toISOString(),details:e.details}}function K2(e){return{model:e.model,version:e.version,uptime:e.uptime,entities:e.entities,entityCounts:e.entityCounts,embeddings:e.embeddings,ai:e.ai,daemons:e.daemons.map((t)=>({name:t.name,pluginId:t.pluginId,status:t.status,health:cye(t.health)})),endpoints:e.endpoints,interactions:e.interactions}}var Q2={digest:"conversation:digest"};var uye="/api/chat",Vt="web-chat-guest",wS=o.strictObject({idleSeconds:o.number().int().positive().max(Math.floor(Number.MAX_SAFE_INTEGER/1000)),maxAgeSeconds:o.number().int().positive().max(Math.floor(Number.MAX_SAFE_INTEGER/1000))}).refine((e)=>e.idleSeconds<=e.maxAgeSeconds,"Guest idle expiry must not exceed maximum age"),TS=o.strictObject({visitorId:o.string().uuid(),retention:wS}),dt=o.string().trim().min(1).max(256),ldt="x-brain-conversation-id",cdt=o.strictObject({expiresAt:o.number().int().positive(),provider:o.string().min(1),notice:o.string().min(1),deletionLimitations:o.string().min(1),retention:wS,messageCharacters:o.number().int().positive(),canSend:o.boolean(),presentation:eZ.optional()}),dye=o.strictObject({conversationId:dt,state:o.enum(["active","completed","failed","interrupted","uncertain"])}),rZ=o.string().regex(/^upload-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i),bR=o.string().trim().min(1).max(48),vR=o.string().datetime(),Y2=o.string().regex(/^\/(?!\/)/).max(2048),yp=o.string().regex(/^(?:\/(?!\/)|https?:\/\/)/).max(2048),pye=o.looseObject({kind:o.literal("tool-approval"),id:dt,toolCallId:dt.optional(),toolName:o.string().trim().min(1).max(256),input:o.record(o.string(),o.unknown()).optional(),summary:o.string().max(4096),completionSummary:o.string().max(4096).optional(),preview:o.string().max(1e5).optional(),state:o.enum(["approval-requested","approval-responded","output-available","output-denied","output-error"]),output:o.unknown().optional(),error:o.string().max(4096).optional()}),mye=o.looseObject({entityType:o.string().trim().min(1).max(128).optional(),entityId:dt.optional(),attachmentType:o.string().trim().min(1).max(128).optional()}),fye=o.looseObject({mediaType:o.string().trim().min(1).max(255),url:yp,downloadUrl:yp.optional(),previewUrl:yp.optional(),filename:o.string().trim().min(1).max(255).optional(),sizeBytes:o.number().int().nonnegative().optional(),source:mye.optional()}),oZ=o.looseObject({kind:o.literal("attachment"),id:dt,jobId:dt.optional(),title:o.string().max(4096),description:o.string().max(20000).optional(),attachment:fye}),gye=o.looseObject({id:dt,title:o.string().max(4096).optional(),source:o.string().trim().min(1).max(512),url:yp.optional(),entityType:o.string().trim().min(1).max(128).optional(),entityId:dt.optional(),excerpt:o.string().max(20000).optional(),provenance:o.record(o.string(),o.unknown()).optional(),brain:tZ.optional()}),SR=o.looseObject({kind:o.literal("sources"),id:dt,title:o.string().max(4096).optional(),sources:o.array(gye).min(1).max(100)}),hye=o.discriminatedUnion("type",[o.object({type:o.literal("prompt"),id:dt,label:o.string().trim().min(1).max(256),prompt:o.string().min(1).max(1e5),description:o.string().max(4096).optional()}),o.object({type:o.literal("event"),id:dt,label:o.string().trim().min(1).max(256),event:o.string().trim().min(1).max(256),fromState:o.string().trim().min(1).max(256).optional(),description:o.string().max(4096).optional()})]),iZ=o.looseObject({kind:o.literal("actions"),id:dt,title:o.string().max(4096).optional(),actions:o.array(hye).min(1).max(100)}),aZ=o.discriminatedUnion("kind",[pye,oZ,SR,iZ]);function X2(e){if(!e||e.length>512)return;let t;try{t=new URL(e)}catch{return}return t.protocol==="https:"&&!t.username&&!t.password&&t.href.length<=512?t.href:void 0}function sZ(e){if(!Array.isArray(e))return[];let t=[],n=new Set;for(let r of e.slice(0,10)){let i=SR.safeParse(r);if(!i.success||i.data.id!=="sources:tool-results")continue;for(let a of i.data.sources){if(t.length>=15)break;if(!a.entityType||!a.entityId||a.entityId.length>256||a.source!==a.entityType||a.id!==`${a.entityType}:${a.entityId}`||n.has(a.id))continue;n.add(a.id);let s=X2(a.url),l=X2(a.brain?.url);t.push({id:a.id,source:a.entityType,entityType:a.entityType,entityId:a.entityId,title:(a.title??a.entityId).slice(0,160),...a.excerpt?{excerpt:a.excerpt.slice(0,280)}:{},...s?{url:s}:{},...a.brain?{brain:{name:a.brain.name.slice(0,120),...l?{url:l}:{}}}:{}})}}return t.length?[{kind:"sources",id:"sources:tool-results",title:"Retrieved sources",sources:t}]:[]}var yye=o.object({id:dt,toolCallId:dt.optional(),toolName:o.string().trim().min(1).max(256),summary:o.string().max(4096),completionSummary:o.string().max(4096).optional(),preview:o.string().max(1e5).optional(),args:o.unknown()}),lZ=o.object({toolName:o.string().trim().min(1).max(256),args:o.record(o.string(),o.unknown()).optional(),jobId:dt.optional(),data:o.unknown().optional(),error:o.object({message:o.string().max(4096),code:o.string().trim().min(1).max(256).optional()}).optional()}),udt=o.looseObject({text:o.string().max(1e6),toolResults:o.array(lZ).max(100).optional(),cards:o.array(aZ).max(100).optional(),pendingConfirmations:o.array(yye).max(100).optional(),usage:o.object({promptTokens:o.number().int().nonnegative(),completionTokens:o.number().int().nonnegative(),totalTokens:o.number().int().nonnegative()})});function ddt(e=uye){let t=bye(e);return{stream:t,actions:`${t}/actions`,sessions:`${t}/sessions`,sessionArchive:`${t}/sessions/archive`,messages:`${t}/messages`,uploads:`${t}/uploads`,contextSessions:`${t}/context-sessions`,documentAttachments:`${t}/attachments/document`,imageAttachments:`${t}/attachments/image`,jobStatus:`${t}/jobs/status`}}function bye(e){let t=e.trim();if(!t.startsWith("/")||t.startsWith("//")||t.length>512||/[\s"'<>\\]/u.test(t)||t.includes("?")||t.includes("#"))throw Error("Chat API path must be a same-origin absolute path without query or fragment");let n=t.replace(/\/+$/,"");if(n.length===0)throw Error("Chat API path must not be the site root");return n}var vye=o.strictObject({version:o.literal(1),sourceId:o.string().trim().regex(/^[a-z][a-z0-9-]*$/).max(64),itemId:o.string().trim().min(1).max(300),titleSeed:o.string().trim().min(1).max(160).refine((e)=>!/[\p{Cc}\p{Cf}]/u.test(e))}),pdt=o.object({query:o.string().trim().max(200).default(""),archived:o.boolean().default(!1),offset:o.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER).default(0),limit:o.number().int().min(1).max(100).default(25)}),Sye=o.looseObject({id:dt,title:bR,lastActiveAt:vR,archived:o.boolean().optional(),contextHandoff:vye.optional()}),mdt=o.looseObject({sessions:o.array(Sye).max(100)}),xye=o.looseObject({kind:o.string().trim().min(1).max(64),id:dt}),wye=o.looseObject({kind:o.literal("text"),filename:o.string().trim().min(1).max(255),mediaType:o.string().trim().min(1).max(255),sizeBytes:o.number().int().nonnegative(),createdAt:vR,source:xye.optional()}),cZ=o.looseObject({id:dt,role:o.enum(["user","assistant"]),content:o.string().max(1e6),attachments:o.array(wye).max(100).optional(),cards:o.array(aZ).max(100).optional(),askedBefore:yR.optional()}),fdt=o.looseObject({messages:o.array(cZ).max(100)}),gdt=o.string().min(1).max(256).refine((e)=>e.trim().length>0),hdt=o.strictObject({messages:o.array(cZ).max(100),submission:dye.nullable()}),ydt=o.object({type:o.literal("text"),text:o.string().max(1e6)}),bdt=o.object({type:o.literal("file"),mediaType:o.string().trim().min(1).max(255).optional(),filename:o.string().trim().min(1).max(255).optional(),url:o.string().min(1).max(2000000)}),uZ=o.object({kind:o.literal("upload"),id:rZ}),vdt=o.object({type:o.literal("data-upload"),data:o.looseObject({ref:uZ})}),Tye=o.object({id:dt,approved:o.boolean(),toolCallId:dt.optional(),toolName:o.string().trim().min(1).max(256).optional(),input:o.record(o.string(),o.unknown()).optional(),title:o.string().max(4096).optional()}),Sdt=o.looseObject({state:o.literal("approval-responded"),toolCallId:dt.optional(),toolName:o.string().trim().min(1).max(256).optional(),input:o.record(o.string(),o.unknown()).optional(),title:o.string().max(4096).optional(),approval:Tye}),_ye=o.object({id:dt.optional(),role:o.enum(["user","assistant","system"]),parts:o.array(o.unknown()).max(1000).optional(),content:o.string().max(1e6).optional()}),xdt=o.object({id:dt.optional(),messages:o.array(_ye).min(1).max(200),trigger:o.string().trim().min(1).max(64).optional()}).strict(),wdt=o.strictObject({id:dt.optional(),messages:o.array(o.strictObject({id:dt,role:o.literal("user"),parts:o.array(o.strictObject({type:o.literal("text"),text:o.string()})).min(1).max(16)})).length(1)}),dZ=o.enum(["pending","processing","completed","failed"]),Iye=o.looseObject({type:o.enum(["job","batch"]),status:dZ,operationType:o.enum(["file_operations","content_operations","data_processing","batch_processing"]),operationTarget:o.string().max(1024).optional(),message:o.string().max(4096).optional(),progress:o.object({current:o.number().nonnegative(),total:o.number().nonnegative(),percentage:o.number().min(0).max(100)}).optional()}),Cye=o.looseObject({status:o.enum(["tool-running","tool-completed","tool-awaiting-approval","tool-failed"]),toolName:o.string().trim().min(1).max(256),error:o.string().max(4096).optional()}),Tdt=o.discriminatedUnion("type",[o.looseObject({type:o.literal("start"),messageId:dt.optional()}),o.looseObject({type:o.literal("start-step")}),o.looseObject({type:o.literal("finish-step")}),o.looseObject({type:o.literal("finish"),finishReason:o.enum(["length","error","stop","content-filter","tool-calls","other"]).optional()}),o.looseObject({type:o.literal("abort"),reason:o.string().max(4096).optional()}),o.looseObject({type:o.literal("error"),errorText:o.string().max(20000)}),o.looseObject({type:o.literal("text-start"),id:dt}),o.looseObject({type:o.literal("text-delta"),id:dt,delta:o.string().max(1e6)}),o.looseObject({type:o.literal("text-end"),id:dt}),o.looseObject({type:o.literal("reasoning-start"),id:dt}),o.looseObject({type:o.literal("reasoning-delta"),id:dt,delta:o.string().max(1e6)}),o.looseObject({type:o.literal("reasoning-end"),id:dt}),o.looseObject({type:o.literal("tool-input-start"),toolCallId:dt,toolName:o.string().trim().min(1).max(256),title:o.string().max(4096).optional()}),o.looseObject({type:o.literal("tool-input-delta"),toolCallId:dt,inputTextDelta:o.string().max(1e6)}),o.looseObject({type:o.literal("tool-input-available"),toolCallId:dt,toolName:o.string().trim().min(1).max(256),input:o.unknown(),title:o.string().max(4096).optional()}),o.looseObject({type:o.literal("tool-input-error"),toolCallId:dt,toolName:o.string().trim().min(1).max(256),input:o.unknown(),errorText:o.string().max(20000),title:o.string().max(4096).optional()}),o.looseObject({type:o.literal("tool-approval-request"),approvalId:dt,toolCallId:dt}),o.looseObject({type:o.literal("tool-output-available"),toolCallId:dt,output:o.unknown(),preliminary:o.boolean().optional()}),o.looseObject({type:o.literal("tool-output-error"),toolCallId:dt,errorText:o.string().max(20000)}),o.looseObject({type:o.literal("tool-output-denied"),toolCallId:dt}),o.looseObject({type:o.literal("source-url"),sourceId:dt,url:yp,title:o.string().max(4096).optional()}),o.looseObject({type:o.literal("source-document"),sourceId:dt,mediaType:o.string().trim().min(1).max(255),title:o.string().max(4096),filename:o.string().trim().min(1).max(255).optional()}),o.looseObject({type:o.literal("file"),url:yp,mediaType:o.string().trim().min(1).max(255)}),o.looseObject({type:o.literal("data-progress"),id:dt.optional(),data:Iye,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-status"),id:dt.optional(),data:Cye,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-tool-result"),id:dt.optional(),data:lZ,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-actions"),id:dt.optional(),data:iZ,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-sources"),id:dt.optional(),data:SR,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-asked-before"),id:dt.optional(),data:yR,transient:o.boolean().optional()}),o.looseObject({type:o.literal("data-attachment"),id:dt.optional(),data:oZ,transient:o.boolean().optional()})]),_dt=o.strictObject({conversationId:dt}),Idt=o.object({title:bR}).strict(),Cdt=o.object({renamed:o.boolean(),title:bR}),Edt=o.object({archived:o.boolean()}),kdt=o.object({deleted:o.boolean()}),Rdt=o.object({conversationId:dt,action:nZ}).strict(),Adt=o.looseObject({id:dt,status:dZ,message:o.string().max(4096).optional()}),Pdt=o.looseObject({id:rZ,ref:uZ,filename:o.string().trim().min(1).max(255),mediaType:o.string().trim().min(1).max(255),sizeBytes:o.number().int().nonnegative(),createdAt:vR,url:Y2,downloadUrl:Y2}).refine((e)=>e.id===e.ref.id,{path:["ref","id"],message:"Upload response ids must match"});var Be=un("conversations",{id:Te("id").primaryKey(),sessionId:Te("session_id").notNull(),interfaceType:Te("interface_type").notNull(),channelId:Te("channel_id").notNull(),personId:Te("person_id"),started:Te("started").notNull(),lastActive:Te("last_active").notNull(),metadata:Te("metadata"),created:Te("created").notNull(),updated:Te("updated").notNull()},(e)=>({sessionIdx:sn("idx_conversations_session").on(e.sessionId),channelIdx:sn("idx_conversations_channel").on(e.channelId),personIdx:sn("idx_conversations_person").on(e.personId),interfaceSessionIdx:sn("idx_conversations_interface_session").on(e.interfaceType,e.sessionId),interfaceChannelIdx:sn("idx_conversations_interface_channel").on(e.interfaceType,e.channelId)})),dr=un("messages",{id:Te("id").primaryKey(),conversationId:Te("conversation_id").notNull().references(()=>Be.id,{onDelete:"cascade"}),role:Te("role").notNull(),content:Te("content").notNull(),timestamp:Te("timestamp").notNull(),metadata:Te("metadata")},(e)=>({conversationIdx:sn("idx_messages_conversation").on(e.conversationId),timestampIdx:sn("idx_messages_timestamp").on(e.timestamp)})),du=un("summary_tracking",{conversationId:Te("conversation_id").primaryKey().references(()=>Be.id,{onDelete:"cascade"}),lastSummarizedAt:Te("last_summarized_at"),lastMessageId:Te("last_message_id"),messagesSinceSummary:at("messages_since_summary").default(0),updated:Te("updated").notNull()});function pZ(e){return Xi({url:e.url,schema:{conversations:Be,messages:dr,summaryTracking:du},authToken:e.authToken,authTokenEnv:"CONVERSATION_DATABASE_AUTH_TOKEN"})}var Eye=o.preprocess((e)=>{if(typeof e!=="string")return e;try{return JSON.parse(e)}catch{return}},o.record(o.string(),o.unknown())).catch({});function Ps(e){return Eye.parse(e)}var _S="conversation:messageAdded",IS="conversation:guestMessageAdded",xR="conversation:started",_g=o.object({identity:ki,interfaceType:o.string(),role:dp,displayName:o.string().optional(),username:o.string().optional(),isBot:o.boolean().optional()}),kye=o.preprocess(Rye,_g);function Rye(e){if(!cr(e)||"identity"in e)return e;let{actorId:t,interfaceType:n,role:r}=e;if(typeof t!=="string"||typeof n!=="string"||r!=="user"&&r!=="assistant")return e;let{userId:i,canonicalId:a}=e;return{identity:mZ({actorId:t,interfaceType:n,role:r,...typeof i==="string"?{userId:i}:{},...typeof a==="string"?{canonicalId:a}:{}}),interfaceType:n,role:r,...typeof e.displayName==="string"?{displayName:e.displayName}:{},...typeof e.username==="string"?{username:e.username}:{},...typeof e.isBot==="boolean"?{isBot:e.isBot}:{}}}var Ig=o.object({messageId:o.string().optional(),channelId:o.string().optional(),channelName:o.string().optional(),threadId:o.string().optional(),metadata:o.record(o.string(),o.unknown()).optional()}),fZ=o.looseObject({actor:kye.optional(),source:Ig.optional()});function gZ(e){if(typeof e==="string")try{let t=JSON.parse(e);return cr(t)?t:null}catch{return null}return cr(e)?e:null}function Aye(e){if(e.role!=="assistant")return!1;if(e.content.trim().length===0)return!1;let t=gZ(e.metadata),n=t?.entityMemoryRefs;if(Array.isArray(n)&&n.length>0)return!1;let r=t?.cards;if(!Array.isArray(r))return!0;return!r.some((i)=>{if(!cr(i))return!1;if(i.kind==="tool-approval")return!0;return i.kind==="actions"&&i.id==="actions:upload-intent"})}var Pye=o.object({id:o.string(),conversationId:o.string(),role:o.string(),content:o.string(),timestamp:o.string(),metadata:o.string().nullable()}),hZ=o.object({conversationId:o.string(),messageCount:o.number(),messages:o.array(Pye),windowStart:o.number(),windowEnd:o.number(),windowSize:o.number(),timestamp:o.string()});var oa=k`strftime('%Y-%m-%dT%H:%M:%fZ', 'now')`;function wR(){return bZ(!1)}function yZ(){return bZ(!0)}function bZ(e){let t=wS.shape.maxAgeSeconds.maxValue,n=k`(
131
131
  CAST(round((julianday(${oa}) - julianday(${Be.started})) * 86400000) AS INTEGER) >= json_extract(${Be.metadata}, '$.guest.retention.maxAgeSeconds') * 1000
132
132
  OR CAST(round((julianday(${oa}) - julianday(${Be.lastActive})) * 86400000) AS INTEGER) >= json_extract(${Be.metadata}, '$.guest.retention.idleSeconds') * 1000
133
133
  )`;return k`CASE WHEN json_valid(${Be.metadata}) THEN coalesce(
@@ -155,7 +155,7 @@ ${e.message}`;return a}function gA(e){let t=e.metadata.operationType.replace(/_/
155
155
  ${e.message}`;return r}var Bve=o.enum(["tool:invoking","tool:completed","tool:failed"]),Fve=o.object({toolName:o.string().min(1),conversationId:o.string().min(1),interfaceType:o.string().min(1),channelId:o.string().min(1).optional(),channelName:o.string().min(1).optional(),toolCallId:o.string().min(1).optional(),error:o.string().optional()}),qve=["tool:invoking","tool:completed","tool:failed"];function hA(e,t){for(let n of qve)e.messaging.subscribe(n,async(r)=>{try{let i=Bve.safeParse(r.type),a=Fve.safeParse(r.payload);if(!i.success||!a.success)return t.onInvalidSchema(),{success:!1};return await t.onToolActivity({type:i.data,...a.data}),{success:!0}}catch(i){return t.onError(i),{success:!1}}})}class yA{scope;fibers;delayMs;clock;closePromise=null;closed=!1;constructor(e,t){this.delayMs=e,this.clock=t?.clock,this.scope=ge.runSync(en.make()),this.fibers=ge.runSync(en.provide(vr.make(),this.scope))}schedule(e,t){if(this.closed)return;let n=ge.sleep(this.delayMs).pipe(ge.andThen(ge.sync(t))),r=yi(n,this.clock),i=ge.runFork(r);vr.setUnsafe(this.fibers,e,i)}close(){return this.closed=!0,this.closePromise??=ge.runPromise(en.close(this.scope,Yt.void)),this.closePromise}}function Fg(e,t){return{state:t,toolName:e.toolName,conversationId:e.conversationId,interfaceType:e.interfaceType,...e.channelId!==void 0&&{channelId:e.channelId},...e.channelName!==void 0&&{channelName:e.channelName},...e.error!==void 0&&{error:e.error}}}function bA(e){return`${e.conversationId}:${e.toolName}`}function vA(e){if(e.startsWith("playbook_"))return"playbook";return(e.startsWith("system_")?e.slice(7):e).replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").trim().toLowerCase()}function OG(e){switch(e){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Approval required";case"failed":return"Tool failed"}}function MG(e){switch(e){case"running":return"Tool running";case"completed":return"Tool completed";case"awaiting-approval":return"Tool awaiting approval";case"failed":return"Tool failed"}}function jG(e){let t=bA(e),n=vA(e.toolName),r=OG(e.state),i=MG(e.state),a=`${i}: ${n}`;return{key:t,label:n,title:r,fallbackPrefix:i,fallback:e.error?`${a}: ${e.error}`:a}}function DG(e,t){return e.pendingConfirmations?.some((n)=>n.toolName===t)===!0||Lve(e.cards).some((n)=>n.toolName===t)}function Lve(e){return e?.filter((t)=>t.kind==="tool-approval"&&t.state==="approval-requested")??[]}var NG=500,$ve=500;class SA{transport;cleanupSupervisor=new yA($ve);progressEvents=new Map;progressMessageTracking=new Map;agentResponseTracking=new Map;pendingToolCompletions=new Map;progressCallback;isProcessingInput=!1;currentChannelId=null;bufferedCompletionMessages=[];constructor(e){this.transport=e}hasProgressCallback(){return this.progressCallback!==void 0}registerProgressCallback(e){this.progressCallback=e,e(this.getActiveProgressEvents())}unregisterProgressCallback(){this.progressCallback=void 0}getProgressEvents(){return Array.from(this.progressEvents.values())}getActiveProgressEvents(){return Array.from(this.progressEvents.values()).filter((e)=>e.status==="processing")}trackAgentResponseForJob(e,t,n){this.agentResponseTracking.set(e,{messageId:t,channelId:n,lastUpdate:Date.now()}),this.transport.logger().debug("Tracking agent response for job",{jobId:e,messageId:t,channelId:n})}startProcessingInput(e=null){this.isProcessingInput=!0,this.currentChannelId=e}endProcessingInput(){this.isProcessingInput=!1;for(let{message:e,channelId:t}of this.bufferedCompletionMessages)this.transport.sendMessageToChannel({channelId:t,message:e});this.bufferedCompletionMessages=[],this.currentChannelId=null}getCurrentChannelId(){return this.currentChannelId}async close(){await this.cleanupSupervisor.close(),this.progressEvents.clear(),this.progressMessageTracking.clear(),this.agentResponseTracking.clear(),this.pendingToolCompletions.clear(),this.bufferedCompletionMessages=[],this.isProcessingInput=!1,this.currentChannelId=null,this.progressCallback=void 0}async handleProgressEvent(e){if(!this.shouldHandleProgressEvent(e))return;this.updateProgressState(e);let t=e.metadata.channelId??null,n=e.metadata.rootJobId;if(await this.handleProcessingProgress(e,t,n))return;if(e.status==="completed"||e.status==="failed")await this.handleTerminalProgress(e,t,n);await this.transport.onProgressUpdate(e),this.logProgressProcessed(e)}async handleToolActivityEvent(e){if(e.interfaceType!==this.transport.interfaceId())return;switch(e.type){case"tool:invoking":this.pendingToolCompletions.delete(this.getToolCompletionKey(e)),await this.transport.handleToolStatusUpdate(Fg(e,"running"));return;case"tool:completed":if(this.isProcessingInput){this.pendingToolCompletions.set(this.getToolCompletionKey(e),e);return}await this.transport.handleToolStatusUpdate(Fg(e,"completed"));return;case"tool:failed":this.pendingToolCompletions.delete(this.getToolCompletionKey(e)),await this.transport.handleToolStatusUpdate(Fg(e,"failed"));return}}async handleAgentResponseToolStatuses(e,t){if(this.pendingToolCompletions.size===0)return;let n=this.transport.interfaceId(),r=Array.from(this.pendingToolCompletions.values()).filter((i)=>i.interfaceType===n&&i.conversationId===t);for(let i of r){this.pendingToolCompletions.delete(this.getToolCompletionKey(i));let a=DG(e,i.toolName)?"awaiting-approval":"completed";await this.transport.handleToolStatusUpdate(Fg(i,a))}}shouldHandleProgressEvent(e){let t=e.metadata.interfaceType;return!t||t===this.transport.interfaceId()}updateProgressState(e){this.progressEvents.set(e.id,e),this.notifyProgressCallback()}async handleProcessingProgress(e,t,n){if(e.status!=="processing"||!this.transport.supportsMessageEditing())return!1;let r=this.agentResponseTracking.get(e.id);if(r)return await this.editTrackedProgressMessage(e,r),!0;let i=this.transport.formatProgressOutput(e),a=this.progressMessageTracking.get(n),s=Date.now();if(a){if(s-a.lastUpdate>=NG)await this.transport.editMessage({channelId:a.channelId,messageId:a.messageId,newMessage:i}),a.lastUpdate=s}else if(t&&!this.isProcessingInput)await this.sendInitialProgressMessage(n,t,i,s);return!1}async editTrackedProgressMessage(e,t){let n=Date.now();if(n-t.lastUpdate<NG)return;await this.transport.editMessage({channelId:t.channelId,messageId:t.messageId,newMessage:this.transport.formatProgressOutput(e)}),t.lastUpdate=n}async sendInitialProgressMessage(e,t,n,r){let i=await this.transport.sendMessageWithId({channelId:t,message:n});if(!i)return;this.progressMessageTracking.set(e,{messageId:i,channelId:t,lastUpdate:r}),this.transport.logger().debug("Tracking progress message",{rootJobId:e,messageId:i,channelId:t})}async handleTerminalProgress(e,t,n){let r=this.transport.formatCompletionOutput(e),i=this.progressMessageTracking.get(n),a=this.agentResponseTracking.get(e.id);if(this.transport.logger().debug("Completion event received",{eventId:e.id,rootJobId:n,hasProgressTracking:!!i,hasAgentTracking:!!a,supportsEditing:this.transport.supportsMessageEditing()}),this.transport.supportsMessageEditing())await this.updateTrackedCompletion(e,r,i,a,n);if(!i&&!a&&t)this.sendOrBufferCompletionMessage(r,t);this.scheduleProgressCleanup(e.id)}async updateTrackedCompletion(e,t,n,r,i){if(r){if(await this.transport.editMessage({channelId:r.channelId,messageId:r.messageId,newMessage:t}),this.agentResponseTracking.delete(e.id),n)this.progressMessageTracking.delete(i);return}if(n)await this.transport.editMessage({channelId:n.channelId,messageId:n.messageId,newMessage:t}),this.progressMessageTracking.delete(i)}sendOrBufferCompletionMessage(e,t){if(this.isProcessingInput){this.bufferedCompletionMessages.push({message:e,channelId:t});return}this.transport.sendMessageToChannel({channelId:t,message:e})}scheduleProgressCleanup(e){this.cleanupSupervisor.schedule(e,()=>{this.progressEvents.delete(e),this.notifyProgressCallback()})}logProgressProcessed(e){this.transport.logger().debug("Progress event processed",{eventId:e.id,status:e.status,operationType:e.metadata.operationType,targetChannel:e.metadata.channelId})}getToolCompletionKey(e){return`${e.interfaceType}:${e.conversationId}:${e.toolName}`}notifyProgressCallback(){this.progressCallback?.(this.getProgressEvents())}}var xA=1e5,Uve=[".md",".txt",".markdown"],Zve=["text/plain","text/markdown","text/x-markdown"],Wve=/https?:\/\/[^\s<>"{}|\\^`[\]]+?(?=[,;:\s]|$)/gi,Gve=["meet.google.com","zoom.us","teams.microsoft.com","whereby.com","gather.town","calendly.com","cal.com","discord.com","discord.gg","cdn.discordapp.com","media.discordapp.net","giphy.com","tenor.com","wetransfer.com","file.io"],wA=o.object({captureUrls:o.boolean().default(!1),blockedUrlDomains:o.array(o.string()).default(Gve)});function zG(e,t){if(t&&Zve.some((n)=>t.startsWith(n)))return!0;return Uve.some((n)=>e.toLowerCase().endsWith(n))}function BG(e){return e<=xA}function FG(e){if(e.includes(0))return!1;try{return new TextDecoder("utf-8",{fatal:!0}).decode(e),!0}catch{return!1}}function qG(e,t){return`User uploaded a file "${e}":
156
156
 
157
157
  ${t}`}function LG(e,t){let n=e.match(Wve)??[];return[...new Set(n)].filter((r)=>{try{let{hostname:i}=new URL(r);return!t.some((a)=>i===a||i.endsWith(`.${a}`))}catch{return!1}})}function Cp(e,t){let n=e.attachment.source;if((n?.entityType==="document"||n?.entityType==="image")&&n.entityId)return{entityType:n.entityType,id:n.entityId};return TA(e.attachment.downloadUrl??e.attachment.url,t)}function TA(e,t="http://local"){if(!e)return;let n;try{n=new URL(e,t)}catch{return}let r=n.searchParams.get("id")?.trim();if(!r)return;if(n.pathname==="/api/chat/attachments/document")return{entityType:"document",id:r};if(n.pathname==="/api/chat/attachments/image")return{entityType:"image",id:r};return}function JS(e,t){let n=Jve(t,e==="document"?/^application\/pdf$/i:/^image\/[a-z0-9.+-]+$/i);if(!n)return;if(e==="document"&&n.mimeType.toLowerCase()!=="application/pdf")return;return n}function VS(e,t,n,r){let i=e?.filename;if(typeof i==="string"&&i.trim())return i;if(n==="document")return`${t}.pdf`;let a=e?.format;if(typeof a==="string"&&a.trim())return`${t}.${a==="jpeg"?"jpg":a}`;let s=r.split("/")[1]?.split("+")[0]??"png";return`${t}.${s}`}function Jve(e,t){let n=e.match(/^data:([^;]+);base64,(.+)$/i),r=n?.[1],i=n?.[2];if(!r||!i||!t.test(r))return;let a=Buffer.from(i,"base64");return{mimeType:r,data:a.buffer.slice(a.byteOffset,a.byteOffset+a.byteLength)}}async function qg({entityRef:e,userLevel:t,getEntity:n}){let r=await n(e,bi(t));if(r)return{status:"visible",entity:r};return Boolean(await n(e,"restricted"))?{status:"denied"}:{status:"missing"}}function HS(e){return e==="admin"||e==="trusted"}async function $G(e){let t=new Set;for(let n of e.cards??[]){if(n.kind!=="attachment")continue;let r=Cp(n,e.displayBaseUrl);if(!r)continue;if((await qg({entityRef:r,userLevel:e.userLevel,getEntity:e.getEntity})).status==="denied")t.add(n.id)}return t}class Lg extends Ip{createContext(e,t){return pA(e,this.id,t)}isUploadableTextFile(e,t){return zG(e,t)}isFileSizeAllowed(e){return BG(e)}formatFileUploadMessage(e,t){return qG(e,t)}getMaxFileUploadBytes(){return xA}isLikelyTextContent(e){return FG(e)}async resolveNativeArtifactDelivery(e){let t=[],n=new Set;if(!this.context||!e.cards)return{files:t,deniedCardIds:n};let r=this.context;for(let i of e.cards){if(i.kind!=="attachment")continue;let a=Cp(i,e.displayBaseUrl);if(!a)continue;let s=await qg({entityRef:a,userLevel:e.userPermissionLevel,getEntity:(c,u)=>r.entityService.getEntity({...c,visibilityScope:u})});if(s.status==="denied"){n.add(i.id);continue}if(s.status!=="visible")continue;if(!HS(e.userPermissionLevel))continue;if(typeof s.entity.content!=="string")continue;let l=JS(a.entityType,s.entity.content);if(!l)continue;if(e.maxBytes!==void 0&&l.data.byteLength>e.maxBytes){this.logger.debug("Skipping oversized native artifact upload",{cardId:i.id,sizeBytes:l.data.byteLength});continue}t.push({cardId:i.id,data:new Uint8Array(l.data),filename:i.attachment.filename??VS(s.entity.metadata,a.id,a.entityType,l.mimeType),mimeType:l.mimeType})}return{files:t,deniedCardIds:n}}extractCaptureableUrls(e,t){return LG(e,t)}async captureUrlViaAgent(e,t,n,r,i){if(!this.context)return;let a=this.context.permissions.getUserLevel(r,n,i);await this.context.agent.chat(`Save this link: ${e}`,`links-${t}`,{userPermissionLevel:a,interfaceType:r,channelId:t})}progress=new SA({interfaceId:()=>this.id,logger:()=>this.logger,sendMessageToChannel:(e)=>this.sendMessageToChannel(e),sendMessageWithId:(e)=>this.sendMessageWithId(e),editMessage:(e)=>this.editMessage(e),supportsMessageEditing:()=>this.supportsMessageEditing(),formatProgressOutput:(e)=>this.formatProgressOutput(e),formatCompletionOutput:(e)=>this.formatCompletionOutput(e),onProgressUpdate:(e)=>this.onProgressUpdate(e),handleToolStatusUpdate:(e)=>this.handleToolStatusUpdate(e)});sendMessageToChannel(e){return}sendMessageWithId(e){return Promise.resolve(void 0)}editMessage(e){return Promise.resolve(!1)}supportsMessageEditing(){return!1}registerProgressCallback(e){this.progress.registerProgressCallback(e)}unregisterProgressCallback(){this.progress.unregisterProgressCallback()}hasProgressCallback(){return this.progress.hasProgressCallback()}trackAgentResponseForJob(e,t,n){this.progress.trackAgentResponseForJob(e,t,n)}registerChannels(e){}async registerChannelsForExecution(e,t){let n=this.createContext(e,{...t,executionOnly:!0});this.context=n,await this.registerChannels(n)}async onRegister(e){await super.onRegister(e),await this.registerChannels(e),mA(e,{onProgress:async(t,n)=>{await this.handleProgressEvent(t,n)},onError:(t)=>{this.logger.error("Error handling progress event",{error:t,interfaceId:this.id})},onInvalidSchema:()=>{this.logger.warn("Invalid progress event schema",{interfaceId:this.id})}}),hA(e,{onToolActivity:async(t)=>{await this.handleToolActivityEvent(t)},onError:(t)=>{this.logger.error("Error handling tool activity event",{error:t,interfaceId:this.id})},onInvalidSchema:()=>{this.logger.warn("Invalid tool activity event schema",{interfaceId:this.id})}}),this.logger.debug("Message interface registered with progress and tool handlers",{id:this.id})}async onShutdown(){await this.progress.close(),await super.onShutdown()}async handleProgressEvent(e,t){await this.progress.handleProgressEvent(e)}formatProgressOutput(e){return gA(e)}formatCompletionOutput(e){return fA(e)}async onProgressUpdate(e){}async handleToolActivityEvent(e){await this.progress.handleToolActivityEvent(e)}async handleToolStatusUpdate(e){}async handleAgentResponseToolStatuses(e,t){await this.progress.handleAgentResponseToolStatuses(e,t)}getProgressEvents(){return this.progress.getProgressEvents()}getActiveProgressEvents(){return this.progress.getActiveProgressEvents()}startProcessingInput(e=null){this.progress.startProcessingInput(e)}endProcessingInput(){this.progress.endProcessingInput()}getCurrentChannelId(){return this.progress.getCurrentChannelId()}}function _A(e){if(typeof e==="string")return{text:e};return{text:e.fallbackText??"Message update"}}async function Vve(e,t){let n=await fetch(e.url,{signal:t});if(!n.ok)throw Error(`Attachment "${e.name}" could not be downloaded (${n.status})`);let r=new Uint8Array(await n.arrayBuffer());if(e.mediaType.startsWith("text/"))return{kind:"text",filename:e.name,mediaType:e.mediaType,content:new TextDecoder().decode(r),sizeBytes:r.byteLength};return{kind:"file",filename:e.name,mediaType:e.mediaType,data:r,sizeBytes:r.byteLength}}class ZG extends Lg{definition;accountSettingsRegistration;hasRequiredDaemon=!1;state;constructor(e,t,n,r){super(r,n,t,xp());this.definition=e}async registerChannels(e){if(this.state=this.definition.setup?await this.definition.setup({config:this.config}):zS(),e.channels.registerDescriptor({type:this.definition.channel.type,displayName:this.definition.channel.displayName,subjectLabel:this.definition.channel.subjectLabel,...this.definition.deliver?{manualDelivery:!0}:{}}),this.definition.deliver)e.channels.registerDeliveryProvider({channelType:this.definition.channel.type,isAvailable:()=>Promise.resolve(this.state!==void 0),send:(t)=>this.deliver(t)})}async onRegister(e){if(await super.onRegister(e),this.definition.accountSettings)this.accountSettingsRegistration=e.accountSettings.register({ownerPluginId:this.id,packageName:this.packageName,definitionId:this.definition.id,definition:this.definition.accountSettings});let t=this.definition.daemons?.({config:this.config,state:this.requireState()})??[],n=new Set;for(let r of t){if(n.has(r.id)||r.id==="listener")throw Error(`Message interface "${this.definition.id}" defines daemon "${r.id}" more than once`);if(n.add(r.id),this.hasRequiredDaemon||=r.required,r.forAccounts){if(r.forAccounts!==this.definition.accountSettings)throw Error(`Message interface "${this.definition.id}" account-bound daemon "${r.id}" must reference its attached account settings`);let i=this.accountSettingsRegistration;if(!i)throw Error(`Message interface "${this.definition.id}" account-bound daemon "${r.id}" has no registered account settings`);e.daemons.register(r.id,US(r,i,e.accountSettings));continue}e.daemons.register(r.id,Bg(r))}if(this.definition.listen)e.daemons.register("listener",Bg({kind:"rizom-interface-daemon",id:"listener",required:!1,run:({signal:r,health:i})=>this.definition.listen?.({config:this.config,state:this.requireState(),signal:r,health:i,messages:{receiveAuthenticated:(a)=>this.receiveAuthenticated(a,r)}})??Promise.resolve()}))}async onRegistrationComplete(e){if(this.accountSettingsRegistration&&!e.accountSettings.hasBackend())throw Error(`Message interface "${this.definition.id}" account settings require auth-service and an account settings encryption key`)}requiresDaemonStartup(){return this.hasRequiredDaemon}sendMessageToChannel(e){let t=e.channelId,n=this.definition.send;if(!t||!n)return;Promise.resolve().then(()=>n({config:this.config,state:this.requireState(),channel:{id:t},message:_A(e.message)})).catch((r)=>{this.logger.error("Message delivery failed",{error:r})})}async sendMessageWithId(e){if(!e.channelId||!this.definition.send)return;let t=await this.definition.send({config:this.config,state:this.requireState(),channel:{id:e.channelId},message:_A(e.message)});return typeof t==="string"?t:void 0}async editMessage(e){if(!e.channelId||!this.definition.edit)return!1;return await this.definition.edit({config:this.config,state:this.requireState(),channel:{id:e.channelId},messageId:e.messageId,message:_A(e.newMessage)}),!0}supportsMessageEditing(){return this.definition.edit!==void 0}async onShutdown(){this.accountSettingsRegistration=void 0,this.hasRequiredDaemon=!1,this.state=void 0,await super.onShutdown()}requireState(){if(!this.state)throw Error(`Message interface "${this.definition.id}" has not completed setup`);return this.state}async deliver(e){if(!this.definition.deliver)return{status:"failed",failureCode:"delivery_not_supported"};try{let t=this.parseRecipient(e.recipient),n=await this.definition.deliver({config:this.config,state:this.requireState(),recipient:t,message:{text:e.text}});return{status:"sent",...typeof n==="string"?{providerDeliveryId:n}:{}}}catch(t){return this.logger.warn("Outbound channel delivery failed",{error:t}),{status:"failed",failureCode:"delivery_failed"}}}parseRecipient(e){let t=this.definition.channel.recipient.safeParse(e);if(t.success)return t.data;try{let a=this.definition.channel.recipient.safeParse(JSON.parse(e));if(a.success)return a.data}catch{}let n=Reflect.get(this.definition.channel.recipient,"shape"),r=n!==null&&typeof n==="object"?Object.keys(n):[],i=r.length===1?r[0]:void 0;if(i)return this.definition.channel.recipient.parse({[i]:e});return this.definition.channel.recipient.parse(e)}async receiveAuthenticated(e,t){if(!e.sender.id.trim()||!e.channel.id.trim())throw Error("Authenticated messages require sender and channel ids");let n=this.getContext(),r=this.definition.channel.type,i=n.permissions.getUserLevel(r,e.sender.id),a=n.permissions.isAnchor(r,e.sender.id),s=[r,e.channel.id,e.channel.threadId].filter((c)=>c!==void 0).join(":"),l=[];if(e.attachments){let c=await e.attachments();for(let u of c)l.push(await Vve(u,t))}this.startProcessingInput(e.channel.id);try{let c=await n.agent.chat(e.text,s,{userPermissionLevel:i,isAnchor:a,interfaceType:r,channelId:e.channel.id,actor:{identity:{kind:"external",externalActorId:UG(r,e.sender.id)},interfaceType:r,role:"user",...e.sender.displayName?{displayName:e.sender.displayName}:{}},source:{channelId:e.channel.id,...e.channel.threadId?{threadId:e.channel.threadId}:{}},...l.length>0?{attachments:l}:{}},t),u=await this.sendMessageWithId({channelId:e.channel.id,message:c.text});if(u){for(let d of c.toolResults??[])if(d.jobId)this.trackAgentResponseForJob(d.jobId,u,e.channel.id)}await this.handleAgentResponseToolStatuses(c,s)}finally{this.endProcessingInput()}}}function WG(e,t,n,r){return new ZG(e,t,n,r)}function Hve(e){return Object.freeze({kind:"protocol",...e})}function Kve(e){if(!PG.includes(e.method))throw Error(`Unsupported interface route method "${e.method}"`);if(!e.path.startsWith("/"))throw Error(`Interface route path "${e.path}" must be absolute`);return Object.freeze({kind:"rizom-interface-route",...e})}function Qve(e){Pr(e.id,"Daemon id");let{required:t=!1,...n}=e,r={kind:"rizom-interface-daemon",...n,required:t};return Bl(r)}function Yve(e){return zl({family:"interface",id:e.id,config:e.config,instantiate:({config:t,package:n,scope:r})=>AG(e,t,n,r(e.id))})}function Xve(e){if(Pr(e.channel.type,"Channel type"),e.listen&&!e.send)throw Error(`Message interface "${e.id}" must define send when it defines listen`);if(e.edit&&!e.send)throw Error(`Message interface "${e.id}" must define send when it defines edit`);return zl({family:"message-interface",id:e.id,config:e.config,instantiate:({config:t,package:n,scope:r})=>WG(e,t,n,r(e.id))})}var IA=o.object({kind:o.string().min(1),id:o.string().min(1)}),GG=o.object({kind:o.literal("text"),filename:o.string().min(1),mediaType:o.string().min(1),content:o.string(),sizeBytes:o.number().nonnegative().optional(),source:IA.optional()}),uSe=o.custom((e)=>e instanceof Uint8Array),dSe=o.object({kind:o.literal("file"),filename:o.string().min(1),mediaType:o.string().min(1),data:uSe,sizeBytes:o.number().nonnegative().optional(),source:IA.optional()}),JG=o.discriminatedUnion("kind",[GG,dSe]),pSe=o.object({guestExecution:uu.optional(),guestScreening:Tg.optional(),userPermissionLevel:o.enum(["admin","trusted","public"]).optional(),isAnchor:o.boolean().optional(),interfaceType:o.string().optional(),channelId:o.string().optional(),channelName:o.string().optional(),actor:_g.optional(),source:Ig.optional(),attachments:o.array(JG).optional()});var mSe=o.object({status:o.enum(["healthy","warning","error","unknown"]),message:o.string().optional(),lastCheck:o.date().optional(),details:o.record(o.string(),o.unknown()).optional()}),VG=o.object({name:o.string(),pluginId:o.string(),status:o.string(),health:mSe.optional()});var HG=o.enum(["admin","trusted","public"]),$g=o.object({label:o.string(),url:o.string(),pluginId:o.string(),priority:o.number().default(100),visibility:HG.default("public"),requiresActiveSession:o.boolean().optional()}),CA=o.enum(["human","agent","admin","protocol"]),EA=o.enum(["available","coming-soon","disabled"]),Ug=o.object({id:o.string(),label:o.string(),description:o.string().optional(),href:o.string(),kind:CA,pluginId:o.string(),priority:o.number().default(100),visibility:HG.default("public"),requiresActiveSession:o.boolean().optional(),status:EA.default("available")}),ex=o.object({entityType:o.string(),count:o.number()}),kA=o.object({status:o.enum(["operational","degraded"]),reasons:o.array(o.string()),worker:o.object({state:o.enum(["active","missing","stale"]),activeSessions:o.number().int().nonnegative(),staleSessions:o.number().int().nonnegative(),latestHeartbeatAgeMs:o.number().nonnegative().nullable()}),queue:o.object({duePending:o.number().int().nonnegative(),processing:o.number().int().nonnegative(),oldestDuePendingAgeMs:o.number().nonnegative().nullable(),latestClaimAgeMs:o.number().nonnegative().nullable(),stalled:o.boolean()})}),KG=o.object({model:o.string(),version:o.string(),uptime:o.number(),entities:o.number(),entityCounts:o.array(ex),embeddings:o.number(),backgroundWork:kA,ai:o.object({model:o.string(),embeddingModel:o.string()}),daemons:o.array(VG),endpoints:o.array($g),interactions:o.array(Ug)});var fSe=o.object({status:o.enum(["healthy","warning","error","unknown"]),message:o.string().optional(),lastCheck:o.string().optional(),details:o.record(o.string(),o.unknown()).optional()}),gSe=o.object({name:o.string(),pluginId:o.string(),status:o.string(),health:fSe.optional()}),hSe=o.object({model:o.string(),version:o.string(),uptime:o.number(),entities:o.number(),entityCounts:o.array(ex),embeddings:o.number(),ai:o.object({model:o.string(),embeddingModel:o.string()}),daemons:o.array(gSe),endpoints:o.array($g),interactions:o.array(Ug)});var tx=o.object({name:o.string().min(1),status:o.enum(["healthy","degraded","unhealthy"]),message:o.string().optional(),details:o.record(o.string(),o.unknown()).optional()}),QG={total:o.number().int().nonnegative(),active:o.number().int().nonnegative(),stale:o.number().int().nonnegative(),latestHeartbeatAgeMs:o.number().nonnegative().nullable()},YG=o.object({totals:o.object({pending:o.number().int().nonnegative(),processing:o.number().int().nonnegative(),completed:o.number().int().nonnegative(),failed:o.number().int().nonnegative()}),byType:o.array(o.object({type:o.string().min(1),status:o.enum(["pending","processing","completed","failed"]),count:o.number().int().nonnegative()})),oldestPendingAgeMs:o.number().nonnegative().nullable(),duePending:o.number().int().nonnegative(),oldestDuePendingAgeMs:o.number().nonnegative().nullable(),latestClaimAgeMs:o.number().nonnegative().nullable(),oldestProcessingAgeMs:o.number().nonnegative().nullable(),staleLeaseCount:o.number().int().nonnegative(),workerSessions:o.object(QG)}),XG=o.object({memory:o.object({rssBytes:o.number().int().nonnegative(),heapUsedBytes:o.number().int().nonnegative(),heapTotalBytes:o.number().int().nonnegative()}),fileDescriptors:o.number().int().nonnegative().nullable(),processes:o.object({total:o.number().int().nonnegative().nullable(),zombies:o.number().int().nonnegative().nullable()}),queue:YG.nullable(),projection:o.object({initialized:o.boolean(),trackedRoots:o.number().int().nonnegative(),openCircuits:o.array(o.object({projectionId:o.string().min(1),reason:o.string().min(1),openedAt:o.number().int().nonnegative(),expiresAt:o.number().int().nonnegative()}))}),worker:o.object(QG)}),ySe=o.object({status:o.enum(["ready","not_ready"]),operationalStatus:o.enum(["operational","degraded"]),checkedAt:o.iso.datetime(),checks:o.array(tx),resources:XG});var nx=o.object({success:o.boolean(),data:o.unknown().optional(),error:o.string().optional()}),rx=o.object({id:o.string().min(1),timestamp:o.string(),type:o.string().min(1),source:o.string().min(1),target:o.string().optional(),metadata:o.record(o.string(),o.unknown()).optional()});var vSe=o.object({id:o.string().min(1),requestId:o.string().min(1),success:o.boolean(),data:o.unknown().optional(),error:o.object({message:o.string(),code:o.string().optional()}).optional(),timestamp:o.string().datetime()});function nJ(e){return{...e,...e.source!==void 0&&{source:eJ(e.source)},...e.target!==void 0&&{target:eJ(e.target)}}}function eJ(e){if(e instanceof RegExp)return e;if(!e.includes("*"))return e;let t=e.split("*").map((n)=>n.replace(/[.+?^${}()|[\]\\]/g,"\\$&")).join(".*");return new RegExp(`^${t}$`)}function rJ(e,t){if(!t)return!0;if(!tJ(e.source,t.source))return!1;if(!tJ(e.target,t.target,!0))return!1;if(!SSe(e.metadata,t.metadata))return!1;return t.predicate?t.predicate(e):!0}function tJ(e,t,n=!1){if(!t)return!0;if(n&&!e)return!1;return xSe(e,t)}function SSe(e,t){if(!t)return!0;if(!e)return!1;return Object.entries(t).every(([n,r])=>e[n]===r)}function xSe(e,t){if(!e)return!1;if(t instanceof RegExp){t.lastIndex=0;let n=t.test(e);return t.lastIndex=0,n}return e===t}var wSe=o.union([o.object({noop:o.literal(!0)}),nx]);function oJ(e){let t=wSe.safeParse(e);if(!t.success)throw Error("Invalid message response format");return t.data}function RA(e,t,n,r,i){return{id:aJ("msg"),type:e,timestamp:sJ(),source:n,target:r,metadata:i,payload:t}}function ox(e,t){let n=oJ(t);if("noop"in n)return iJ(e,!0);return iJ(e,n.success,n.data,n.error)}function AA(e,t){if(t?.success)return{success:!0,data:t.data};return{success:!1,error:t?.error?.message??`No handler found for message type: ${e}`}}function iJ(e,t,n,r){return{id:aJ("resp"),requestId:e,timestamp:sJ(),success:t,data:n,error:r?{message:r}:void 0}}function aJ(e){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}function sJ(){return new Date().toISOString()}class ix{handlers=new Map;add(e,t,n){let r=this.createHandlerEntry(t,n);return this.getOrCreateHandlers(e).add(r),r}remove(e,t){let n=this.handlers.get(e);if(!n)return!1;let r=n.delete(t);return this.deleteEmptyHandlerSet(e,n),r}removeHandler(e,t){let n=this.handlers.get(e);if(!n)return;for(let r of Array.from(n))if(r.originalHandler===t)n.delete(r);this.deleteEmptyHandlerSet(e,n)}getMatchingHandlers(e,t){let n=this.handlers.get(e);if(!n||n.size===0)return;return{entries:Array.from(n).filter((r)=>rJ(t,r.filter)),totalHandlers:n.size}}hasHandlers(e){let t=this.handlers.get(e);return t!==void 0&&t.size>0}clearHandlers(e){return this.handlers.delete(e)}clearAllHandlers(){this.handlers.clear()}getHandlerCount(e){return this.handlers.get(e)?.size??0}getTargetedHandlerCount(e,t){let n=this.handlers.get(e);if(!n)return 0;return Array.from(n).filter((r)=>r.filter?.target===t).length}createHandlerEntry(e,t){let n={handler:this.wrapHandler(e),originalHandler:e};return t?{...n,filter:nJ(t)}:n}wrapHandler(e){return async(t)=>{let r=await e(t);return ox(t.id,r)}}getOrCreateHandlers(e){let t=this.handlers.get(e);if(!t)t=new Set,this.handlers.set(e,t);return t}deleteEmptyHandlerSet(e,t){if(t.size===0)this.handlers.delete(e)}}async function lJ(e,t,n){return await Promise.all(t.map((r)=>PA(r,e,n))),null}async function cJ(e,t,n){for(let r of t){let i=await PA(r,e,n);if(i)return i}return null}async function uJ(e,t,n){return(await Promise.all(t.map((i)=>PA(i,e,n)))).map((i)=>i??ox(e.id,{success:!1,error:`Message handler failed for message type: ${e.type}`}))}async function PA(e,t,n){try{return await e.handler(t)}catch(r){return n.error(`Error in message handler for ${t.type}`,r),null}}class ax{registry;logger;constructor(e,t){this.registry=e,this.logger=t}async publish(e,t){let n=this.resolveMatchingHandlers(e);if(!n)return null;return t===!0?lJ(e,n,this.logger):cJ(e,n,this.logger)}async collect(e){let t=this.resolveMatchingHandlers(e);if(!t)return[];return uJ(e,t,this.logger)}resolveMatchingHandlers(e){if(typeof e!=="object"||!e.type||!e.id){this.logger.error("Invalid message structure - missing required fields 'id' or 'type'");return}let{type:t}=e;this.logger.debug(`Publishing message of type: ${t}`,{source:e.source,target:e.target,hasMetadata:!!e.metadata});let n=this.registry.getMatchingHandlers(t,e);if(!n){this.logger.debug(`No handlers found for message type: ${t}`);return}if(n.entries.length===0){this.logger.debug(`No matching handlers for message type: ${t}`,{totalHandlers:n.totalHandlers,target:e.target});return}return n.entries}}var TSe=o.looseObject({issues:o.array(o.looseObject({message:o.string()})).optional()});function OA(e,t){try{return{valid:!0,data:t.parse(e)}}catch(n){let r=TSe.safeParse(n);if(r.success)return{valid:!1,error:r.data.issues?.[0]?.message??"Validation failed"};return{valid:!1,error:"Unknown validation error"}}}class MA{registry=new ix;publisher;peerRegistry=new ix;peerPublisher;logger;operationContext;static createFresh(e,t){return new MA(e,t)}constructor(e,t){this.logger=e,this.operationContext=t??Nl.createFresh(),this.publisher=new ax(this.registry,e),this.peerPublisher=new ax(this.peerRegistry,e)}subscribe(e,t,n){let r=this.registry.add(e,t,n);return this.logger.debug(`Registered handler for message type: ${e}`,{hasFilter:!!n,filterTarget:n?.target}),()=>{this.registry.remove(e,r)}}observe(e,t){let n=this.subscribe(e,t),r=this.peerRegistry.add(e,t);return()=>{n(),this.peerRegistry.remove(e,r)}}async deliverPeer(e,t){await this.peerPublisher.publish(RA(e,t,"peer"),!0)}async send(e){let t=await this.dispatchWithProvenance(e,(n)=>this.publisher.publish(n,e.broadcast));return AA(e.type,t)}async collect(e){return(await this.dispatchWithProvenance(e,(n)=>this.publisher.collect(n))).map((n)=>AA(e.type,n))}dispatchWithProvenance(e,t){let{type:n,payload:r,sender:i,target:a,metadata:s}=e,l=RA(n,r,i,a,s),c=this.operationContext.current(),u=s?.provenance,d=u===void 0?c?.provenance:La.parse(u),p=La.parse(d?{...d,causationId:c?.operationId??d.causationId}:{rootJobId:l.id,causationId:l.id,projectionLineage:[],derivationDepth:0}),f={...l,metadata:{...s,provenance:p}};return this.operationContext.run(p,f.id,()=>t(f))}validateMessage(e,t){return OA(e,t)}hasHandlers(e){return this.registry.hasHandlers(e)}unsubscribe(e,t){this.registry.removeHandler(e,t)}clearHandlers(e){if(this.registry.clearHandlers(e))this.logger.info(`Cleared all handlers for message type: ${e}`)}clearAllHandlers(){this.registry.clearAllHandlers(),this.logger.info("Cleared all message handlers")}getHandlerCount(e){return this.registry.getHandlerCount(e)}getTargetedHandlerCount(e,t){return this.registry.getTargetedHandlerCount(e,t)}}var _Se=o.union([o.object({success:o.boolean(),data:o.unknown().optional(),error:o.string().optional()}),o.object({noop:o.literal(!0)})]);async function ISe(e,t){let n=await e.searchWithDistances({query:t.query,types:[t.entityType],maxDistance:t.maxDistance}),i=(await Promise.all(n.filter((l)=>l.entityType===t.entityType&&l.distance<=t.maxDistance&&!t.excludeIds?.includes(l.entityId)).map((l)=>e.getEntity({entityType:t.entityType,id:l.entityId,visibilityScope:t.visibility})))).filter((l)=>l?.visibility===t.visibility),a=t.confirm;if(!a)return i[0];let s=async(l)=>{let c=i[l];if(!c)return;return await a(c)?c:s(l+1)};return s(0)}async function CSe(e,t={}){let n=t.pollMs??100,r=Date.now()+(t.timeoutMs??60000),i=async()=>{if((await e.getActiveJobs([Jo.embedding])).length===0)return;if(Date.now()>=r)throw Error("Embeddings did not drain before the deadline");return await new Promise((s)=>setTimeout(s,n)),i()};return i()}async function ESe({context:e,targetType:t,entitySchema:n,desired:r,getId:i,toEntityInput:a,equals:s,deleteStale:l=!1,outputVisibility:c="public",concurrency:u=1,logger:d}){let p=new Map;for(let y of r)p.set(i(y),y);let f=(await e.entityService.listEntities({entityType:t,options:{filter:{visibilityScope:c}}},n)).filter((y)=>y.visibility===c),m=new Map(f.map((y)=>[y.id,y])),g=0,h=0,b=0,w=0,_=Math.max(1,u);if(l){let y=f.filter((S)=>!p.has(S.id));await dJ(y,_,async(S)=>{await e.entityService.deleteEntity({entityType:t,id:S.id}),b++})}return await dJ(Array.from(p),_,async([y,S])=>{let A=m.get(y),v={...a(S,y),visibility:c};try{if(!A){await e.entityService.createEntity({entity:v}),g++;return}if(s?.(A,S)??!1){w++;return}await e.entityService.updateEntity({entity:{...A,...v,id:y,entityType:t,visibility:c}}),h++}catch(R){d?.error("Failed to reconcile entity",{targetType:t,id:y,error:$e(R)})}}),{created:g,updated:h,deleted:b,skipped:w}}async function dJ(e,t,n){let r=await ge.runPromiseExit(ge.forEach(e,(i)=>ge.tryPromise({try:()=>n(i),catch:(a)=>a}),{concurrency:t,discard:!0}));if(Yt.isFailure(r))throw br.squash(r.cause)}async function kSe({entityService:e,entity:t,options:n}){let r=await e.getEntity({entityType:t.entityType,id:t.id,visibilityScope:Na("pending entity identity check")});if(r)return{entityId:r.id,created:!1,existingEntity:r};let i=await e.createEntity({entity:t,...n?{options:n}:{}});return{entityId:i.entityId,created:!0,mutation:i}}async function RSe({entityService:e,entity:t,expectedContentHash:n}){let r=await e.getEntity({entityType:t.entityType,id:t.id,visibilityScope:Na("pending entity completion")});if(r){let a={...r,content:t.content,metadata:t.metadata,updated:t.updated??new Date().toISOString()},s=await e.updateEntity({entity:a,...n!==void 0?{options:{expectedContentHash:n}}:{}});return{entityId:s.entityId,updated:!0,mutation:s,previousEntity:r}}if(n!==void 0)return{entityId:t.id,updated:!1,mutation:{entityId:t.id,jobId:"",skipped:!0,skipReason:"content-conflict"}};let i=await e.createEntity({entity:t});return{entityId:i.entityId,updated:!1,mutation:i}}async function ASe({entityService:e,entityType:t,id:n,error:r,content:i}){let a=await e.getEntity({entityType:t,id:n,visibilityScope:Na("pending entity failure")});if(!a)return{found:!1};let s={...a,content:i??a.content,metadata:{...a.metadata,status:"failed",processingError:r},updated:new Date().toISOString()},l=await e.updateEntity({entity:s});return{found:!0,entityId:l.entityId,mutation:l,previousEntity:a}}var pJ=o.union([o.string(),o.number().finite(),o.boolean(),o.null()]);function PSe(e,t){return e.definition===t}function OSe(e,t){return Buffer.from(JSON.stringify([e,t])).toString("base64url")}function sx(e,t){return{packageName:e.packageName,definitionId:e.definitionId,actorId:t}}function MSe(e){let t=e.replaceAll(/([a-z0-9])([A-Z])/g,"$1 $2").replaceAll(/[-_]+/g," ").trim();return t?`${t[0]?.toUpperCase()??""}${t.slice(1)}`:e}function jA(e){return e.schema.shape}function mJ(e){let t=e!==null&&typeof e==="object"?Reflect.get(e,"safeParse"):void 0;if(typeof t!=="function")return{success:!1};let n=t.call(e,void 0);if(n!==null&&typeof n==="object"&&Reflect.get(n,"success")===!0)return{success:!0,data:Reflect.get(n,"data")};return{success:!1}}function jSe(e){let t=mJ(e);if(!t.success)return;let n=pJ.safeParse(t.data);return n.success?n.data:void 0}function DSe(e,t){let n={};for(let r of Object.keys(jA(e))){let i=Reflect.get(t,r);if(i!==void 0)n[r]=pJ.parse(i)}return Object.freeze(n)}function NSe(e,t){let n=Object.entries(e),r=Object.entries(t);return n.length===r.length&&n.every(([i,a])=>Object.hasOwn(t,i)&&Object.is(a,t[i]))}class fJ{registrations=new Map;listeners=new Map;mutationTails=new Map;backend;register(e){if(!e.ownerPluginId.trim())throw Error("Account settings owner plugin id must not be empty");if(!e.packageName.trim())throw Error("Account settings package name must not be empty");if(!e.definitionId.trim())throw Error("Account settings definition id must not be empty");let t=OSe(e.packageName,e.definitionId),n=this.registrations.get(t);if(n){if(n.ownerPluginId===e.ownerPluginId&&PSe(n,e.definition))return n;throw Error(`Account settings definition "${e.packageName}:${e.definitionId}" is already registered`)}let r=Object.freeze({id:t,...e});return this.registrations.set(t,r),r}unregister(e){if(this.registrations.get(e.id)!==e)return;this.registrations.delete(e.id),this.listeners.delete(e.id)}bindBackend(e){if(this.backend&&this.backend!==e)throw Error("Account settings backend is already bound");this.backend=e;for(let n of this.registrations.values())this.notify(n.id);let t=!0;return()=>{if(!t)return;if(t=!1,this.backend===e)this.backend=void 0}}hasRegistrations(){return this.registrations.size>0}hasBackend(){return this.backend!==void 0}listRegistrations(){return[...this.registrations.values()].sort((e,t)=>e.id.localeCompare(t.id))}async listForms(e){let t=[];for(let n of this.listRegistrations()){let r=await this.requireBackend(n).read(sx(n,e));t.push(this.formFor(n,r))}return t}async save(e,t,n){let r=this.requireRegistration(e);return this.serializeMutation(`${r.id}:${t}`,async()=>{let i=this.requireBackend(r),a=sx(r,t),s=await i.read(a),l=jA(r.definition),c=Object.keys(n).find((m)=>!Object.hasOwn(l,m));if(c)throw Error(`Account settings field "${c}" is not declared by "${r.packageName}:${r.definitionId}"`);let u={};for(let m of Object.keys(l)){let g=r.definition.fields[m]?.secret===!0;if(!Object.hasOwn(n,m)){if(g&&s?.values[m]!==void 0)u[m]=s.values[m];continue}let h=n[m];if(g&&(h===""||h===void 0)){if(s?.values[m]!==void 0)u[m]=s.values[m];continue}if(h!==void 0)u[m]=h}let d=r.definition.schema.parse(u),p=DSe(r.definition,d),f=s&&NSe(s.values,p)?s:await i.write(a,p);if(f!==s)this.notify(r.id);return this.formFor(r,f)})}async delete(e,t){let n=this.requireRegistration(e);return this.serializeMutation(`${n.id}:${t}`,async()=>{let r=await this.requireBackend(n).delete(sx(n,t));if(r)this.notify(n.id);return r})}async deleteActor(e){let t=this.backend,n=t?await t.deleteActor(e):0;return this.refreshActor(e),n}accountDeleted(e){this.refreshActor(e)}refreshActor(e){for(let t of this.registrations.values())this.notify(t.id)}async getForActor(e,t){this.requireAttached(e);let n=await this.requireBackend(e).read(sx(e,t));return n?Bl(ks(e.definition.schema,n.values)):null}async listConfigured(e){return this.requireAttached(e),(await this.requireBackend(e).list({packageName:e.packageName,definitionId:e.definitionId})).map((n)=>Object.freeze({id:n.actorId,settings:Bl(ks(e.definition.schema,n.values)),revision:n.revision}))}subscribe(e,t){this.requireAttached(e);let n=this.listeners.get(e.id)??new Set;return n.add(t),this.listeners.set(e.id,n),()=>{if(n.delete(t),n.size===0)this.listeners.delete(e.id)}}formFor(e,t){let n=Object.entries(jA(e.definition)).map(([r,i])=>{let a=e.definition.fields[r],s=a?.secret===!0,l=t?.values[r],c=l!==void 0?l:jSe(i);return Object.freeze({name:r,label:a?.label??MSe(r),control:a?.control??"text",secret:s,required:!mJ(i).success,...s?{set:l!==void 0}:c!==void 0?{value:c}:{}})});return Object.freeze({id:e.id,title:e.definition.title,...e.definition.description?{description:e.definition.description}:{},configured:t!==null,revision:t?.revision??null,fields:Object.freeze(n)})}requireRegistration(e){let t=this.registrations.get(e);if(!t)throw Error("Account settings definition not found");return t}requireAttached(e){if(this.registrations.get(e.id)!==e)throw Error("Account settings definition is not registered")}requireBackend(e){if(!this.backend)throw Error(`Account settings runtime is unavailable for "${e.packageName}:${e.definitionId}"`);return this.backend}notify(e){for(let t of this.listeners.get(e)??[])t()}serializeMutation(e,t){let r=(this.mutationTails.get(e)??Promise.resolve()).catch(()=>{return}).then(t),i=r.then(()=>{return},()=>{return});return this.mutationTails.set(e,i),i.finally(()=>{if(this.mutationTails.get(e)===i)this.mutationTails.delete(e)}),r}}var yJ=/^[a-z][a-z0-9-]*$/,zSe=o.strictObject({source:o.string().min(1).max(500),flags:o.string().regex(/^[imu]*$/).optional()}),BSe=o.strictObject({type:o.string().trim().regex(yJ),displayName:o.string().trim().min(1).max(100),subjectLabel:o.string().trim().min(1).max(100),subjectPattern:zSe.optional(),manualDelivery:o.boolean().optional()});class bJ{descriptorRegistrations=new Map;providerRegistrations=new Map;activeDescriptors=new Map;activeProviders=new Map;finalized=!1;registerDescriptor(e,t){this.assertRegistrationOpen();let n=gJ(e),r=BSe.parse(t);if(r.subjectPattern)new RegExp(r.subjectPattern.source,r.subjectPattern.flags);let i=Object.freeze({type:r.type,displayName:r.displayName,subjectLabel:r.subjectLabel,...r.subjectPattern?{subjectPattern:Object.freeze({...r.subjectPattern})}:{},...r.manualDelivery!==void 0?{manualDelivery:r.manualDelivery}:{}}),a=this.descriptorRegistrations.get(r.type)??[];a.push({pluginId:n,descriptor:i}),this.descriptorRegistrations.set(r.type,a)}registerDeliveryProvider(e,t){this.assertRegistrationOpen();let n=gJ(e),r=DA(t.channelType);if(typeof t.isAvailable!=="function"||typeof t.send!=="function")throw Error("Channel delivery provider operations are required");let i=Object.freeze({channelType:r,isAvailable:t.isAvailable.bind(t),send:t.send.bind(t)}),a=this.providerRegistrations.get(r)??[];a.push({pluginId:n,provider:i}),this.providerRegistrations.set(r,a)}unregisterPlugin(e){let t=e.trim();for(let[n,r]of this.descriptorRegistrations){let i=r.filter((a)=>a.pluginId!==t);if(i.length===0)this.descriptorRegistrations.delete(n);else this.descriptorRegistrations.set(n,i)}for(let[n,r]of this.providerRegistrations){let i=r.filter((a)=>a.pluginId!==t);if(i.length===0)this.providerRegistrations.delete(n);else this.providerRegistrations.set(n,i)}if(this.finalized)this.rebuildActiveState(!1)}finalize(){if(this.finalized)return;this.rebuildActiveState(!0),this.finalized=!0}listDescriptors(){return this.assertFinalized(),[...this.activeDescriptors.values()].sort((e,t)=>e.type.localeCompare(t.type))}getDescriptor(e){return this.assertFinalized(),this.activeDescriptors.get(DA(e))}getDeliveryProvider(e){return this.assertFinalized(),this.activeProviders.get(DA(e))}isFinalized(){return this.finalized}rebuildActiveState(e){let t=new Map,n=new Map;for(let[r,i]of this.descriptorRegistrations){if(i.length>1){if(!e)continue;throw hJ("Channel",r,i)}let a=i[0]?.descriptor;if(a)t.set(r,a)}for(let[r,i]of this.providerRegistrations){if(i.length>1){if(!e)continue;throw hJ("Delivery provider for channel",r,i)}if(!t.has(r)){if(e)throw Error(`Delivery provider for channel "${r}" has no descriptor`);continue}let a=this.descriptorRegistrations.get(r)?.[0]?.pluginId,s=i[0]?.pluginId;if(a!==s){if(e)throw Error(`Delivery provider for channel "${r}" must be registered by descriptor owner "${a??"unknown"}", not "${s??"unknown"}"`);continue}let l=i[0]?.provider;if(l)n.set(r,l)}this.activeDescriptors=t,this.activeProviders=n}assertRegistrationOpen(){if(this.finalized)throw Error("Channel registration is closed")}assertFinalized(){if(!this.finalized)throw Error("Channel registry is not finalized")}}function gJ(e){let t=e.trim();if(!t)throw Error("Channel registration plugin id is required");return t}function DA(e){let t=e.trim();if(!yJ.test(t))throw Error(`Invalid channel type: ${e}`);return t}function hJ(e,t,n){let r=n.map((i)=>i.pluginId).sort().join(", ");return Error(`${e} "${t}" is registered by multiple plugins: ${r}`)}var vJ=/[\s\\\p{Cc}\p{Cf}]/u;function NA(e){if(typeof e!=="string"||e!==e.trim()||e.length===0||e.length>2048||!e.startsWith("/")||e.startsWith("//")||vJ.test(e))return;try{let t=new URL(e,"https://brains.invalid");if(t.origin!=="https://brains.invalid")return;let n=`${t.pathname}${t.search}${t.hash}`;return n.length>0&&n.length<=2048&&n.startsWith("/")&&!n.startsWith("//")&&!vJ.test(n)?n:void 0}catch{return}}var FSe=/^[a-z][a-z0-9-]*$/,ho=o.string().trim().regex(FSe),lx=o.string().trim().min(1).max(300),SJ=o.enum(["high","normal"]),zA=ho.max(40),BA=ho.max(40),xJ=o.strictObject({value:BA,label:o.string().trim().min(1).max(100)}),wJ=o.strictObject({key:zA,label:o.string().trim().min(1).max(100),values:o.array(xJ).min(1).max(20)}).superRefine((e,t)=>{let n=new Set;for(let r of e.values){if(n.has(r.value))t.addIssue({code:"custom",path:["values"],message:`Duplicate inbox facet value: ${r.value}`});n.add(r.value)}}),TJ=o.array(wJ).max(8).superRefine((e,t)=>{let n=new Set;for(let r of e){if(n.has(r.key))t.addIssue({code:"custom",path:[],message:`Duplicate inbox facet key: ${r.key}`});n.add(r.key)}}),FA=o.record(zA,BA).refine((e)=>Object.keys(e).length<=8,{message:"Inbox items may declare at most eight facets"}),qSe=o.string().regex(/^[a-z][A-Za-z0-9]{0,39}$/),LSe=o.string().min(1).max(300).refine((e)=>!/[\p{Cc}\p{Cf}]/u.test(e),{message:"Inbox follow-up context values cannot contain controls"}),$Se=o.strictObject({kind:ho,context:o.record(qSe,LSe).refine((e)=>Object.keys(e).length<=8,{message:"Inbox follow-up context may contain at most eight entries"})}),USe=o.array($Se).max(8).superRefine((e,t)=>{let n=new Set;for(let r of e){if(n.has(r.kind))t.addIssue({code:"custom",path:[],message:`Duplicate inbox follow-up kind: ${r.kind}`});n.add(r.kind)}}),_J=o.strictObject({id:ho,label:o.string().trim().min(1).max(100),confirm:o.boolean().optional()}),IJ=o.strictObject({entityType:o.string().trim().min(1).max(100),entityId:o.string().trim().min(1).max(300)}),CJ=o.strictObject({label:o.string().trim().min(1).max(300),personId:o.string().trim().min(1).max(200).optional()}),Zg=o.strictObject({id:lx,title:o.string().trim().min(1).max(160),summary:o.string().trim().min(1).max(1000).optional(),contact:CJ.optional(),threadOrdinal:o.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),receivedAt:o.iso.datetime(),urgency:SJ,entityRef:IJ.optional(),facets:FA.optional(),followUps:USe.optional(),actions:o.array(_J).max(10)}).superRefine((e,t)=>{let n=new Set;for(let r of e.actions){if(n.has(r.id))t.addIssue({code:"custom",path:["actions"],message:`Duplicate inbox action id: ${r.id}`});n.add(r.id)}}),EJ=o.array(Zg).max(1000),kp=o.strictObject({permissionLevel:o.enum(["admin","trusted","public"])}),kJ=o.strictObject({kind:o.literal("plain"),text:o.string().max(1e5),truncated:o.boolean()}),ZSe=o.strictObject({sourceId:ho,displayName:o.string().trim().min(1).max(100)}),RJ=o.strictObject({sourceId:ho,displayName:o.string().trim().min(1).max(100),facets:TJ.optional()});class AJ{registrations=new Map;activeSources=new Map;finalized=!1;registerSource(e,t){this.assertRegistrationOpen();let n=HSe(e),r=RJ.parse({sourceId:t.sourceId,displayName:t.displayName,...t.facets?{facets:t.facets}:{}});if(typeof t.list!=="function"||typeof t.act!=="function")throw Error("Inbox source operations are required");let i=WSe(r,r.facets??[],t),a=this.registrations.get(r.sourceId)??[];a.push({pluginId:n,source:i}),this.registrations.set(r.sourceId,a)}unregisterPlugin(e){let t=e.trim();for(let[n,r]of this.registrations){let i=r.filter((a)=>a.pluginId!==t);if(i.length===0)this.registrations.delete(n);else this.registrations.set(n,i)}if(this.finalized)this.rebuildActiveState(!1)}finalize(){if(this.finalized)return;this.rebuildActiveState(!0),this.finalized=!0}listSources(){return this.assertFinalized(),[...this.activeSources.values()].sort((e,t)=>e.sourceId.localeCompare(t.sourceId))}getSource(e){return this.assertFinalized(),this.activeSources.get(KSe(e))}isFinalized(){return this.finalized}rebuildActiveState(e){let t=new Map;for(let[n,r]of this.registrations){if(r.length>1){if(!e)continue;let a=r.map((s)=>s.pluginId).sort().join(", ");throw Error(`Inbox source "${n}" is registered by multiple plugins: ${a}`)}let i=r[0]?.source;if(i)t.set(n,i)}this.activeSources=t}assertRegistrationOpen(){if(this.finalized)throw Error("Inbox registration is closed")}assertFinalized(){if(!this.finalized)throw Error("Inbox registry is not finalized")}}function WSe(e,t,n){let r=JSe(t),i=VSe(r);return Object.freeze({...e,...r.length>0?{facets:r}:{},list:async()=>{let a=EJ.parse(await n.list());for(let s of a)if(s.facets!==void 0)i.parse(s.facets);return a.map(GSe)},...n.resolveDetail?{resolveDetail:async(a,s,l)=>{if(!(l instanceof AbortSignal))throw Error("Inbox detail signal is invalid");return kJ.parse(await n.resolveDetail?.(lx.parse(a),kp.parse(s),l))}}:{},act:async(a,s,l)=>{let c=lx.parse(a),u=ho.parse(s);await n.act(c,u,kp.parse(l))}})}function GSe(e){let t=e.actions.map((r)=>Object.freeze({...r})),n=e.followUps?.map((r)=>Object.freeze({...r,context:Object.freeze({...r.context})}));if(Object.freeze(t),n)Object.freeze(n);return Object.freeze({...e,...e.contact?{contact:Object.freeze({...e.contact})}:{},...e.entityRef?{entityRef:Object.freeze({...e.entityRef})}:{},...e.facets?{facets:Object.freeze({...e.facets})}:{},...n?{followUps:n}:{},actions:t})}function JSe(e){let t=e.map((n)=>{let r=n.values.map((i)=>Object.freeze({...i}));return Object.freeze(r),Object.freeze({...n,values:r})});return Object.freeze(t),t}function VSe(e){let t=new Map(e.map((n)=>[n.key,new Set(n.values.map((r)=>r.value))]));return FA.superRefine((n,r)=>{for(let[i,a]of Object.entries(n))if(!t.get(i)?.has(a))r.addIssue({code:"custom",path:[i],message:`Undeclared inbox facet value: ${i}=${a}`})})}function HSe(e){let t=e.trim();if(!t)throw Error("Inbox registration plugin id is required");return t}function KSe(e){return ho.parse(e)}var QSe=2048,YSe=8192,XSe=o.strictObject({kind:ho,label:o.string().trim().min(1).max(100),priority:o.number().int().min(0).max(1000),mode:o.enum(["universal","declared"]),permissionLevel:pp,contextSchema:o.custom((e)=>typeof e==="object"&&e!==null&&("safeParse"in e)&&typeof e.safeParse==="function").optional(),applies:o.custom((e)=>typeof e==="function"),resolve:o.custom((e)=>typeof e==="function")}).superRefine((e,t)=>{if(e.mode==="declared"&&e.contextSchema===void 0)t.addIssue({code:"custom",path:["contextSchema"],message:"Declared inbox follow-up kinds require a context schema"});if(e.mode==="universal"&&e.contextSchema!==void 0)t.addIssue({code:"custom",path:["contextSchema"],message:"Universal inbox follow-up kinds cannot accept context"})});var exe=o.strictObject({href:o.string(),state:o.unknown().optional()}),PJ=o.record(o.string(),o.json()).refine((e)=>new TextEncoder().encode(JSON.stringify(e)).byteLength<=YSe,{message:"Inbox follow-up state is too large"}),txe=o.strictObject({kind:ho,label:o.string().trim().min(1).max(100),href:o.string().min(1).max(QSe).refine((e)=>NA(e)===e),state:PJ.optional()});class OJ{registrations=new Map;activeKinds=new Map;finalized=!1;logger;constructor(e){this.logger=e}registerKind(e,t){this.assertRegistrationOpen();let n=ixe(e),r=Object.freeze(XSe.parse(t)),i=this.registrations.get(r.kind)??[];i.push({pluginId:n,kind:r}),this.registrations.set(r.kind,i)}unregisterPlugin(e){let t=e.trim();for(let[n,r]of this.registrations){let i=r.filter((a)=>a.pluginId!==t);if(i.length===0)this.registrations.delete(n);else this.registrations.set(n,i)}if(this.finalized)this.rebuildActiveState(!1)}finalize(){if(this.finalized)return;this.rebuildActiveState(!0),this.finalized=!0}listKinds(){return this.assertFinalized(),[...this.activeKinds.values()].sort(oxe)}getKind(e){return this.assertFinalized(),this.activeKinds.get(ho.parse(e))}async resolve(e){this.assertFinalized();let t=Object.freeze({sourceId:ho.parse(e.sourceId),item:Zg.parse(e.item),actor:kp.parse(e.actor)}),n=new Map((t.item.followUps??[]).map((s)=>[s.kind,s.context])),r=this.listKinds(),i=await Promise.all(r.filter((s)=>s.mode==="declared").map(async(s)=>{let l=n.get(s.kind);if(!l||!s.contextSchema)return;let c=s.contextSchema.safeParse(l);if(!c.success)return;return qA(s,Object.freeze({...t,context:c.data}),this.logger)})),a=await Promise.all(r.filter((s)=>s.mode==="universal").map(async(s)=>qA(s,t,this.logger)));return[...i,...a].filter((s)=>s!==void 0)}async resolveUniversal(e){this.assertFinalized();let t=Object.freeze({sourceId:ho.parse(e.sourceId),item:Zg.parse(e.item),actor:kp.parse(e.actor)});return(await Promise.all(this.listKinds().filter((r)=>r.mode==="universal").map(async(r)=>qA(r,t,this.logger)))).filter((r)=>r!==void 0)}isFinalized(){return this.finalized}rebuildActiveState(e){let t=new Map;for(let[n,r]of this.registrations){if(r.length>1){if(!e)continue;let a=r.map((s)=>s.pluginId).sort().join(", ");throw Error(`Inbox follow-up kind "${n}" is registered by multiple plugins: ${a}`)}let i=r[0]?.kind;if(i)t.set(n,i)}this.activeKinds=t}assertRegistrationOpen(){if(this.finalized)throw Error("Inbox follow-up registration is closed")}assertFinalized(){if(!this.finalized)throw Error("Inbox follow-up registry is not finalized")}}async function qA(e,t,n){if(!ra.hasPermission(t.actor.permissionLevel,e.permissionLevel))return;try{if(!await e.applies(t))return;let r=await e.resolve(t);if(!r)return;let i=nxe(r);return Object.freeze({kind:e.kind,label:e.label,href:i.href,...i.state?{state:i.state}:{}})}catch(r){n?.debug("Inbox follow-up kind did not resolve",{kind:e.kind,sourceId:t.sourceId,error:r});return}}function nxe(e){let t=exe.parse(e),n=NA(t.href);if(!n)throw Error("Invalid inbox follow-up target");let r=t.state===void 0?void 0:rxe(t.state);return{href:n,...r?{state:r}:{}}}function rxe(e){return Object.freeze(PJ.parse(e))}function oxe(e,t){return e.priority-t.priority||e.kind.localeCompare(t.kind)}function ixe(e){let t=e.trim();if(!t)throw Error("Inbox follow-up registration plugin id is required");return t}var axe={pluginsRegistered:"system:plugins:registered",initialSyncCompleted:"sync:initial:completed",startupContentSettled:"system:startup-content:settled",shellReady:"system:shell:ready",identityChanged:"system:identity:changed"},sxe=o.object({initialSyncPending:o.boolean()});function lxe(e){return o.discriminatedUnion("success",[o.strictObject({success:o.literal(!0),data:e}),o.strictObject({success:o.literal(!1),error:o.string().min(1)})])}function cxe(e){return{name:e.name,description:e.description,inputSchema:e.inputSchema,outputSchema:e.outputSchema,visibility:"admin",sideEffects:"none",handler:async(t,n)=>{if(n.userPermissionLevel!=="admin")return{success:!1,error:e.errors.permission};let r=e.filterSchema.safeParse(t);if(!r.success)return{success:!1,error:e.errors.invalidFilter};try{return{success:!0,data:await e.list(r.data)}}catch{return{success:!1,error:e.errors.failed}}}}}function uxe(e){return{register:(t,n,r)=>e.register(t,n,r),resolve:(t)=>e.resolve(t),hasProvider:(t,n)=>e.has(t,n),getProviderMetadata:(t,n)=>e.getMetadata(t,n)}}class LA{providers=new Map;static createFresh(){return new LA}constructor(){}register(e,t,n){let r=this.getOrCreateSourceProviders(e),i={provider:n};return r.set(t,i),()=>{if(this.providers.get(e)?.get(t)===i)this.unregister(e,t)}}async resolve(e){let t=this.get(e.sourceEntityType,e.attachmentType);if(!t)return;return t.resolve(e)}get(e,t){return this.providers.get(e)?.get(t)?.provider}has(e,t){return this.get(e,t)!==void 0}getMetadata(e,t){return this.get(e,t)?.metadata}unregister(e,t){let n=this.providers.get(e);if(!n)return;if(n.delete(t),n.size===0)this.providers.delete(e)}getRegisteredAttachmentTypes(e){return Array.from(this.providers.get(e)?.keys()??[])}clear(){this.providers.clear()}getOrCreateSourceProviders(e){let t=this.providers.get(e);if(t)return t;let n=new Map;return this.providers.set(e,n),n}}import{mkdir as dxe,readdir as pxe,readFile as MJ,rm as jJ,stat as mxe,writeFile as DJ}from"fs/promises";import{basename as fxe,dirname as gxe,join as Ms}from"path";var ux=/^upload-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i,NJ=86400000,zJ=200;function cx(e){return typeof e==="object"&&e!==null&&"code"in e&&e.code==="ENOENT"}class js extends Error{code;constructor(e,t){super(t);this.code=e,this.name="RuntimeUploadStoreError"}}var hxe=o.object({id:o.string().regex(ux),ref:o.object({kind:o.string().min(1),id:o.string().regex(ux)}),filename:o.string().min(1),mediaType:o.string().min(1),sizeBytes:o.number().nonnegative(),createdAt:o.string().datetime(),metadata:o.record(o.string(),o.unknown()).optional()});function yxe(e){return{scoped:(t)=>e.scoped(t)}}function BJ(e){return fxe(e)==="brain-data"?Ms(gxe(e),"data"):e}class $A{dataDir;logger;constructor(e){this.dataDir=BJ(e.dataDir),this.logger=e.logger}static createFresh(e){return new $A(e)}scoped(e){return new UA({...e,dataDir:this.dataDir,...this.logger!==void 0&&{logger:this.logger}})}}class UA{options;retentionMs;maxCount;createUploadId;getNow;logger;constructor(e){this.options=e,this.logger=e.logger,this.retentionMs=e.retentionMs??NJ,this.maxCount=e.maxCount??zJ,this.createUploadId=e.createId??(()=>`upload-${crypto.randomUUID()}`),this.getNow=e.now??(()=>new Date)}async save(e){let t=this.createUploadId();this.assertValidUploadId(t);let n={id:t,ref:{kind:this.options.refKind,id:t},filename:e.filename,mediaType:e.mediaType,sizeBytes:e.content.byteLength,createdAt:this.getNow().toISOString(),...e.metadata!==void 0&&{metadata:e.metadata}},r=this.getUploadDir(t);return await dxe(r,{recursive:!0}),await DJ(Ms(r,"content"),e.content),await DJ(Ms(r,"metadata.json"),`${JSON.stringify(n,null,2)}
158
- `,"utf8"),await this.prune().catch((i)=>{this.logger?.warn("Failed to prune runtime uploads",{error:$e(i)})}),n}async remove(e){this.assertValidUploadId(e),await jJ(this.getUploadDir(e),{recursive:!0,force:!0})}async read(e){let t=await this.readRecord(e);try{let n=await MJ(Ms(this.getUploadDir(e),"content"));return{record:t,content:n}}catch(n){if(cx(n))throw new js("not_found","Upload not found");throw new js("invalid_metadata","Upload content could not be read")}}async readRecord(e){this.assertValidUploadId(e);try{let t=await MJ(Ms(this.getUploadDir(e),"metadata.json"),"utf8"),n=hxe.safeParse(JSON.parse(t));if(!n.success||n.data.id!==e||n.data.ref.id!==e||n.data.ref.kind!==this.options.refKind)throw new js("invalid_metadata","Invalid upload metadata");return n.data}catch(t){if(t instanceof js)throw t;if(cx(t))throw new js("not_found","Upload not found");throw new js("invalid_metadata","Upload metadata could not be read")}}toResponseBody(e){return{...e,url:this.getUploadUrl(e.id),downloadUrl:this.getUploadUrl(e.id,!0)}}async prune(){let e=this.getUploadsRoot(),t;try{t=await pxe(e)}catch(s){if(cx(s))return;throw s}let r=(await Promise.all(t.map(async(s)=>{try{let l=await mxe(Ms(e,s));return l.isDirectory()?{entry:s,mtimeMs:l.mtimeMs}:null}catch(l){if(cx(l))return null;throw l}}))).filter((s)=>s!==null).sort((s,l)=>l.mtimeMs-s.mtimeMs),i=this.getNow().getTime()-this.retentionMs,a=r.filter((s,l)=>l>=this.maxCount||s.mtimeMs<i);await Promise.all(a.map((s)=>jJ(Ms(e,s.entry),{recursive:!0,force:!0})))}getUploadDir(e){return this.assertValidUploadId(e),Ms(this.getUploadsRoot(),e)}getUploadsRoot(){return Ms(this.options.dataDir,this.options.namespace,"uploads")}getUploadUrl(e,t=!1){this.assertValidUploadId(e);let n=encodeURIComponent(e);return`${this.options.routePath}?id=${n}${t?"&download=1":""}`}assertValidUploadId(e){if(!ux.test(e))throw new js("invalid_ref","Invalid upload ref")}}function ZA(e,t,n){let r=Bun.cron.parse(e,t,n?{tz:n}:void 0);if(r===null)throw Error(`Cron expression ${JSON.stringify(e)} has no future occurrences`);return r}function FJ(e){ZA(e,Date.now())}class GA{options;nextJobId=0;constructor(e={}){this.options=e}scheduleCron(e,t,n={}){ZA(e,Date.now(),n.timezone);let r=`cron:${this.nextJobId++}:${e}`,i={},a=new WA(r,t,this.options,()=>i.current?.stop());return i.current=Bun.cron(e,()=>{a.trigger()},n.timezone?{tz:n.timezone}:void 0),a}scheduleInterval(e,t){bxe(e);let n=`interval:${this.nextJobId++}:${e}`,r=new WA(n,t,this.options);return r.startInterval(e),r}validateCron(e){FJ(e)}}class WA{key;callback;options;stopTrigger;scope;cycles;intervalFiber=null;stopPromise=null;stopped=!1;constructor(e,t,n,r=()=>{}){this.key=e,this.callback=t,this.options=n,this.stopTrigger=r,this.scope=ge.runSync(en.make()),this.cycles=ge.runSync(en.provide(vr.make(),this.scope))}startInterval(e){let t=ge.sleep(e).pipe(ge.andThen(ge.sync(()=>{this.trigger()})),ge.forever),n=yi(t,this.options.clock);this.intervalFiber=ge.runFork(n)}trigger(){if(this.stopped)return;if(vr.hasUnsafe(this.cycles,this.key)){this.options.onOverlapSkipped?.(this.key);return}let e=ge.tryPromise({try:async()=>{await this.callback()},catch:(n)=>n}).pipe(ge.catch((n)=>ge.sync(()=>{this.options.onCallbackError?.(this.key,n)}))),t=ge.runFork(e);vr.setUnsafe(this.cycles,this.key,t,{onlyIfMissing:!0})}stop(){return this.stopPromise??=this.stopScheduledJob(),this.stopPromise}async stopScheduledJob(){this.stopped=!0;let e=[];try{this.stopTrigger()}catch(r){e.push(r)}let t=this.intervalFiber;this.intervalFiber=null;let n=[...t?[Uo.interrupt(t)]:[],vr.awaitEmpty(this.cycles),en.close(this.scope,Yt.void)];for(let r of n)try{await ge.runPromise(r)}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw AggregateError(e,"Scheduled job cleanup failed")}}function bxe(e){if(!Number.isFinite(e)||e<=0)throw Error("Scheduler interval must be a positive finite number")}function vxe(e){let t=e.scheduler??new GA,n=e.now??Date.now,r,i,a,s=!1,l=!1,c={status:"unknown"},u=0,d=0,p=async()=>{if(!s||l)return;l=!0,r=n();try{await e.run(),u++,c={status:"healthy",lastCheck:new Date(n()),details:{successes:u,failures:d}}}catch{d++,c={status:"warning",message:"Maintenance cycle failed",lastCheck:new Date(n()),details:{successes:u,failures:d}},e.logger.warn("Maintenance cycle failed",{successes:u,failures:d})}finally{l=!1}};return{start:async()=>{if(a)await a;if(i)return;c={status:"unknown"},r=n(),i=t.scheduleInterval(e.intervalMs,p),s=!0},stop:()=>{if(a)return a;if(s=!1,!i)return Promise.resolve();return a=i.stop().then(()=>{i=void 0,a=void 0}),a},healthCheck:async()=>{let f=n();if(!Number.isSafeInteger(f)||f<0||r!==void 0&&!Number.isSafeInteger(r))return{status:"warning",message:"Maintenance clock unavailable"};if(s&&r!==void 0&&(f<r||f-r>e.intervalMs*2))return{status:"warning",message:l?"Maintenance cycle is still running":"Maintenance cycle is overdue"};return{...c,...c.lastCheck?{lastCheck:new Date(c.lastCheck)}:{},...c.details?{details:{...c.details}}:{}}}}}var wbt=o.object({id:o.string(),type:o.string(),version:o.string(),status:o.string()}),Tbt=o.object({name:o.string(),description:o.string()});var Sxe=o.object({id:o.string(),version:o.string(),type:o.enum(["core","entity","service","interface"]),description:o.string().optional(),dependencies:o.array(o.string()).optional(),packageName:o.string()});var qJ=o.looseObject({id:o.string().optional(),limit:o.number().optional(),page:o.number().optional(),pageSize:o.number().optional(),baseUrl:o.string().optional()}),LJ=o.looseObject({entityType:o.string().optional(),query:qJ.optional()});class $J{logger;constructor(e){this.logger=e}buildDetailResult(e,t){throw Error(`${this.id}: buildDetailResult() not implemented. Override this method or override fetch() to handle detail views.`)}parseQuery(e){let t=LJ.parse(e);return{entityType:t.entityType??this.config.entityType,query:t.query??{}}}async fetch(e,t,n){let r=this.parseQuery(e),i=n.entityService;if(r.query.id){let s=await this.fetchDetail(r.query.id,i);return t.parse(this.buildDetailResult(s.item,s.navigation))}let a=await this.fetchList(r.query,i);return t.parse(this.buildListResult(a.items,a.pagination,r.query))}async fetchDetail(e,t){let n=await this.lookupEntity(e,t),r=this.transformEntity(n),i=null;if(this.config.enableNavigation)i=await this.resolveNavigation(n,t);return{item:r,navigation:i}}async fetchList(e,t,n){let r=e.page??1,i=e.pageSize??e.limit??this.config.defaultLimit??100,a=(r-1)*i,s=e.page!==void 0,[l,c]=await Promise.all([t.listEntities({entityType:this.config.entityType,options:{limit:i,offset:a,sortFields:this.config.defaultSort,...n}},this.config.entitySchema),s?t.countEntities({entityType:this.config.entityType,options:n?.filter?{filter:n.filter}:void 0}):Promise.resolve(0)]),u=l.map((p)=>this.transformEntity(p)),d=s?Rk(c,r,i):null;return{items:u,pagination:d}}async resolveNavigation(e,t,n){let r=this.config.navigationLimit??1000,i=await t.listEntities({entityType:this.config.entityType,options:{limit:r,sortFields:n??this.config.defaultSort}},this.config.entitySchema),a=i.findIndex((d)=>d.id===e.id),s=a>0?i[a-1]:void 0,l=a<i.length-1?i[a+1]:void 0,c=s?this.transformEntity(s):null,u=l?this.transformEntity(l):null;return{prev:c,next:u}}async lookupEntity(e,t){if(this.config.lookupField==="id"){let i=await t.getEntity({entityType:this.config.entityType,id:e},this.config.entitySchema);if(!i)throw Error(`${this.config.entityType} not found: ${e}`);return i}let r=(await t.listEntities({entityType:this.config.entityType,options:{filter:{metadata:{slug:e}},limit:1}},this.config.entitySchema))[0];if(!r)throw Error(`${this.config.entityType} not found with slug: ${e}`);return r}}function xxe(e){let t=e.metadata.slug;return typeof t==="string"?t:null}async function wxe(e,t){let n=await e.nearestToEntity({origin:t.origin,types:t.types,maxDistance:t.maxDistance,limit:t.limit}).catch(()=>[]);return(await Promise.all(n.map(async(i)=>{let a=await e.getEntity({entityType:i.entityType,id:i.entityId});return a?{entity:a,title:iC(a)??a.id,slug:xxe(a),distance:i.distance}:null}))).filter((i)=>i!==null)}function JA(e){if(typeof e!=="object"||e===null||!("entityId"in e))return;let t=e.entityId;return typeof t==="string"&&t.trim().length>0?t.trim():void 0}function UJ(e){if(!Eo(e)||!("coverImage"in e))return;let t=e.coverImage;if(t===void 0||t===!1)return;if(t===!0)return{generate:!0};if(!Eo(t))return;if(t.generate===!1)return;let n=t.prompt,r=typeof n==="string"?n.trim():void 0;return{generate:!0,...r&&{prompt:r}}}function mx(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}function ZJ(e){let t={...e};return delete t.status,delete t.error,mx(t)}class JJ extends xg{context;entityType;retries;constructor(e,t,n){super(e,{schema:n.schema,jobTypeName:n.jobTypeName});this.context=t,this.entityType=n.entityType,this.retries=n.retries}async enqueueFollowUp(e,t,n){if(!this.retries){await e();return}await this.retries.run(e,t,n)}async afterCreate(e,t,n,r){}async onGenerationFailure(e,t){}validateAndParse(e){let t=super.validateAndParse(e);if(!t)return null;let n=UJ(e);if(typeof t!=="object")return t;let r=JA(e);if(!n&&!r)return t;return Object.assign(t,{...n&&{coverImage:n},...r&&{entityId:r}}),t}async process(e,t,n){try{await this.reportProgress(n,{progress:px.START,message:`Starting ${this.jobTypeName}`});let r=await this.generate(e,n),i=JA(e),a=i?this.applyPreallocatedEntityId(i,r):r;await this.reportProgress(n,{progress:px.SAVE,message:`Saving ${this.entityType} to database`});let s=i?await this.updatePreallocatedStub(i,a):await this.context.entityService.createEntity({entity:{id:a.id,entityType:this.entityType,content:a.content,metadata:a.metadata},options:a.createOptions});return await this.afterCreate(e,s.entityId,n,a),await this.enqueueGenericCoverImageIfRequested(e,s.entityId,n,a),await this.reportProgress(n,{progress:px.COMPLETE,message:`${a.title??this.entityType} created successfully`}),this.toResult({success:!0,entityId:s.entityId,...a.resultExtras})}catch(r){if(r instanceof VA)return await this.markPreallocatedStubFailed(e,r.message),await this.onGenerationFailure(e,r.message),this.toResult({success:!1,error:r.message});let i=$e(r);return this.logger.error(`${this.jobTypeName} job failed`,{error:r,jobId:t,data:this.summarizeDataForLog(e)}),await this.markPreallocatedStubFailed(e,i),await this.onGenerationFailure(e,i),this.toResult(WJ.failure(r))}}toResult(e){return e}applyPreallocatedEntityId(e,t){let n={...t.metadata},r=t.content,i=t.resultExtras;if(typeof n.slug==="string")n.slug=e,r=pg(r,"slug",e),i={...i,slug:e};return{...t,id:e,content:r,metadata:n,...i&&{resultExtras:i}}}async updatePreallocatedStub(e,t){let n=await this.context.entityService.getEntity({entityType:this.entityType,id:e,visibilityScope:"restricted"});if(!n)throw Error(`Pre-allocated entity stub not found: ${this.entityType}/${e}`);let r=this.mergeStubWithGenerated(n,t);return this.context.entityService.updateEntity({entity:{...n,id:e,entityType:this.entityType,content:r.content,metadata:r.metadata}})}mergeStubWithGenerated(e,t){let n=ZJ(up(e.content).frontmatter),r=ZJ(e.metadata),i=mx(t.metadata),a=up(t.content),s=mx(a.frontmatter),l=mx({...n,...i,...s});return this.context.entities.getEffectiveFrontmatterSchema(this.entityType)?.parse(l),{content:bl(l,a.content),metadata:{...r,...i}}}async markPreallocatedStubFailed(e,t){let n=JA(e);if(!n)return;try{let r=await this.context.entityService.getEntity({entityType:this.entityType,id:n,visibilityScope:"restricted"});if(!r)return;await this.context.entityService.updateEntity({entity:{...r,content:pg(pg(r.content,"status","failed"),"error",t),metadata:{...r.metadata,status:"failed",error:t}}})}catch(r){this.logger.warn("Failed to mark generation stub as failed",{error:r,entityId:n,entityType:this.entityType})}}async enqueueGenericCoverImageIfRequested(e,t,n,r){let i=UJ(e);if(!i)return;await this.reportProgress(n,{progress:90,message:"Queueing cover image generation"});let a=r.title??t;await this.enqueueFollowUp(()=>this.context.jobs.enqueue({type:GJ.generate,data:{prompt:i.prompt??`Editorial cover image for: ${a}. `,title:`${a} Cover`,aspectRatio:"16:9",targetEntityType:this.entityType,targetEntityId:t,entityTitle:a,entityContent:r.content},toolContext:{interfaceType:"job",actor:{kind:"service",serviceId:"generation-job-handler"}}}),`queue the cover image for ${this.entityType}:${t}`,`cover-image:${this.entityType}:${t}`)}failEarly(e){throw new VA(e)}}class VA extends Error{constructor(e){super(e);this.name="GenerationFailure"}}var Txe=o.string().trim().min(1).max(200),_xe=o.string().trim().min(1).max(100).regex(/^[a-z0-9][a-z0-9.-]*$/);class VJ{registrations=new Map;register(e,t,n){let r=Txe.parse(e),i=_xe.parse(t),a=`${r}:${i}`;if(this.registrations.has(a))throw Error(`Operational health check already registered: ${a}`);return this.registrations.set(a,{pluginId:r,name:a,provider:n}),()=>this.registrations.delete(a)}unregisterPlugin(e){let t=e.trim();for(let[n,r]of this.registrations)if(r.pluginId===t)this.registrations.delete(n)}async getChecks(){let e=[...this.registrations.values()].sort((t,n)=>t.name.localeCompare(n.name));return Promise.all(e.map(async(t)=>{try{return tx.parse({name:t.name,...await t.provider()})}catch{return{name:t.name,status:"degraded",message:"Operational health check failed"}}}))}}var TV="vercel.ai.error",Ixe=Symbol.for(TV),HJ,KJ,Re=class e extends(KJ=Error,HJ=Ixe,KJ){constructor({name:t,message:n,cause:r}){super(n);this[HJ]=!0,this.name=t,this.cause=r}static isInstance(t){return e.hasMarker(t,TV)}static hasMarker(t,n){let r=Symbol.for(n);return t!=null&&typeof t==="object"&&r in t&&typeof t[r]==="boolean"&&t[r]===!0}},_V="AI_APICallError",IV=`vercel.ai.error.${_V}`,Cxe=Symbol.for(IV),QJ,YJ,Dt=class extends(YJ=Re,QJ=Cxe,YJ){constructor({message:e,url:t,requestBodyValues:n,statusCode:r,responseHeaders:i,responseBody:a,cause:s,isRetryable:l=r!=null&&(r===408||r===409||r===429||r>=500),data:c}){super({name:_V,message:e,cause:s});this[QJ]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=r,this.responseHeaders=i,this.responseBody=a,this.isRetryable=l,this.data=c}static isInstance(e){return Re.hasMarker(e,IV)}},CV="AI_EmptyResponseBodyError",EV=`vercel.ai.error.${CV}`,Exe=Symbol.for(EV),XJ,eV,kV=class extends(eV=Re,XJ=Exe,eV){constructor({message:e="Empty response body"}={}){super({name:CV,message:e});this[XJ]=!0}static isInstance(e){return Re.hasMarker(e,EV)}};function aa(e){if(e==null)return"unknown error";if(typeof e==="string")return e;if(e instanceof Error)return e.message;return JSON.stringify(e)}var RV="AI_InvalidArgumentError",AV=`vercel.ai.error.${RV}`,kxe=Symbol.for(AV),tV,nV,ql=class extends(nV=Re,tV=kxe,nV){constructor({message:e,cause:t,argument:n}){super({name:RV,message:e,cause:t});this[tV]=!0,this.argument=n}static isInstance(e){return Re.hasMarker(e,AV)}},PV="AI_InvalidPromptError",OV=`vercel.ai.error.${PV}`,Rxe=Symbol.for(OV),rV,oV,$a=class extends(oV=Re,rV=Rxe,oV){constructor({prompt:e,message:t,cause:n}){super({name:PV,message:`Invalid prompt: ${t}`,cause:n});this[rV]=!0,this.prompt=e}static isInstance(e){return Re.hasMarker(e,OV)}},MV="AI_InvalidResponseDataError",jV=`vercel.ai.error.${MV}`,Axe=Symbol.for(jV),iV,aV,Ll=class extends(aV=Re,iV=Axe,aV){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:MV,message:t});this[iV]=!0,this.data=e}static isInstance(e){return Re.hasMarker(e,jV)}},DV="AI_JSONParseError",NV=`vercel.ai.error.${DV}`,Pxe=Symbol.for(NV),sV,lV,yu=class extends(lV=Re,sV=Pxe,lV){constructor({text:e,cause:t}){super({name:DV,message:`JSON parsing failed: Text: ${e}.
158
+ `,"utf8"),await this.prune().catch((i)=>{this.logger?.warn("Failed to prune runtime uploads",{error:$e(i)})}),n}async remove(e){this.assertValidUploadId(e),await jJ(this.getUploadDir(e),{recursive:!0,force:!0})}async read(e){let t=await this.readRecord(e);try{let n=await MJ(Ms(this.getUploadDir(e),"content"));return{record:t,content:n}}catch(n){if(cx(n))throw new js("not_found","Upload not found");throw new js("invalid_metadata","Upload content could not be read")}}async readRecord(e){this.assertValidUploadId(e);try{let t=await MJ(Ms(this.getUploadDir(e),"metadata.json"),"utf8"),n=hxe.safeParse(JSON.parse(t));if(!n.success||n.data.id!==e||n.data.ref.id!==e||n.data.ref.kind!==this.options.refKind)throw new js("invalid_metadata","Invalid upload metadata");return n.data}catch(t){if(t instanceof js)throw t;if(cx(t))throw new js("not_found","Upload not found");throw new js("invalid_metadata","Upload metadata could not be read")}}toResponseBody(e){return{...e,url:this.getUploadUrl(e.id),downloadUrl:this.getUploadUrl(e.id,!0)}}async prune(){let e=this.getUploadsRoot(),t;try{t=await pxe(e)}catch(s){if(cx(s))return;throw s}let r=(await Promise.all(t.map(async(s)=>{try{let l=await mxe(Ms(e,s));return l.isDirectory()?{entry:s,mtimeMs:l.mtimeMs}:null}catch(l){if(cx(l))return null;throw l}}))).filter((s)=>s!==null).sort((s,l)=>l.mtimeMs-s.mtimeMs),i=this.getNow().getTime()-this.retentionMs,a=r.filter((s,l)=>l>=this.maxCount||s.mtimeMs<i);await Promise.all(a.map((s)=>jJ(Ms(e,s.entry),{recursive:!0,force:!0})))}getUploadDir(e){return this.assertValidUploadId(e),Ms(this.getUploadsRoot(),e)}getUploadsRoot(){return Ms(this.options.dataDir,this.options.namespace,"uploads")}getUploadUrl(e,t=!1){this.assertValidUploadId(e);let n=encodeURIComponent(e);return`${this.options.routePath}?id=${n}${t?"&download=1":""}`}assertValidUploadId(e){if(!ux.test(e))throw new js("invalid_ref","Invalid upload ref")}}function ZA(e,t,n){let r=Bun.cron.parse(e,t,n?{tz:n}:void 0);if(r===null)throw Error(`Cron expression ${JSON.stringify(e)} has no future occurrences`);return r}function FJ(e){ZA(e,Date.now())}class GA{options;nextJobId=0;constructor(e={}){this.options=e}scheduleCron(e,t,n={}){ZA(e,Date.now(),n.timezone);let r=`cron:${this.nextJobId++}:${e}`,i={},a=new WA(r,t,this.options,()=>i.current?.stop());return i.current=Bun.cron(e,()=>{a.trigger()},n.timezone?{tz:n.timezone}:void 0),a}scheduleInterval(e,t){bxe(e);let n=`interval:${this.nextJobId++}:${e}`,r=new WA(n,t,this.options);return r.startInterval(e),r}validateCron(e){FJ(e)}}class WA{key;callback;options;stopTrigger;scope;cycles;intervalFiber=null;stopPromise=null;stopped=!1;constructor(e,t,n,r=()=>{}){this.key=e,this.callback=t,this.options=n,this.stopTrigger=r,this.scope=ge.runSync(en.make()),this.cycles=ge.runSync(en.provide(vr.make(),this.scope))}startInterval(e){let t=ge.sleep(e).pipe(ge.andThen(ge.sync(()=>{this.trigger()})),ge.forever),n=yi(t,this.options.clock);this.intervalFiber=ge.runFork(n)}trigger(){if(this.stopped)return;if(vr.hasUnsafe(this.cycles,this.key)){this.options.onOverlapSkipped?.(this.key);return}let e=ge.tryPromise({try:async()=>{await this.callback()},catch:(n)=>n}).pipe(ge.catch((n)=>ge.sync(()=>{this.options.onCallbackError?.(this.key,n)}))),t=ge.runFork(e);vr.setUnsafe(this.cycles,this.key,t,{onlyIfMissing:!0})}stop(){return this.stopPromise??=this.stopScheduledJob(),this.stopPromise}async stopScheduledJob(){this.stopped=!0;let e=[];try{this.stopTrigger()}catch(r){e.push(r)}let t=this.intervalFiber;this.intervalFiber=null;let n=[...t?[Uo.interrupt(t)]:[],vr.awaitEmpty(this.cycles),en.close(this.scope,Yt.void)];for(let r of n)try{await ge.runPromise(r)}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw AggregateError(e,"Scheduled job cleanup failed")}}function bxe(e){if(!Number.isFinite(e)||e<=0)throw Error("Scheduler interval must be a positive finite number")}function vxe(e){let t=e.scheduler??new GA,n=e.now??Date.now,r,i,a,s=!1,l=!1,c={status:"unknown"},u=0,d=0,p=async()=>{if(!s||l)return;l=!0,r=n();try{await e.run(),u++,c={status:"healthy",lastCheck:new Date(n()),details:{successes:u,failures:d}}}catch{d++,c={status:"warning",message:"Maintenance cycle failed",lastCheck:new Date(n()),details:{successes:u,failures:d}},e.logger.warn("Maintenance cycle failed",{successes:u,failures:d})}finally{l=!1}};return{start:async()=>{if(a)await a;if(i)return;c={status:"unknown"},r=n(),i=t.scheduleInterval(e.intervalMs,p),s=!0},stop:()=>{if(a)return a;if(s=!1,!i)return Promise.resolve();return a=i.stop().then(()=>{i=void 0,a=void 0}),a},healthCheck:async()=>{let f=n();if(!Number.isSafeInteger(f)||f<0||r!==void 0&&!Number.isSafeInteger(r))return{status:"warning",message:"Maintenance clock unavailable"};if(s&&r!==void 0&&(f<r||f-r>e.intervalMs*2))return{status:"warning",message:l?"Maintenance cycle is still running":"Maintenance cycle is overdue"};return{...c,...c.lastCheck?{lastCheck:new Date(c.lastCheck)}:{},...c.details?{details:{...c.details}}:{}}}}}var wbt=o.object({id:o.string(),type:o.string(),version:o.string(),status:o.string()}),Tbt=o.object({name:o.string(),description:o.string()});var Sxe=o.object({id:o.string(),version:o.string(),type:o.enum(["core","entity","service","interface"]),description:o.string().optional(),dependencies:o.array(o.string()).optional(),packageName:o.string()});var qJ=o.looseObject({id:o.string().optional(),limit:o.number().optional(),page:o.number().optional(),pageSize:o.number().optional(),baseUrl:o.string().optional()}),LJ=o.looseObject({entityType:o.string().optional(),query:qJ.optional()});class $J{logger;constructor(e){this.logger=e}buildDetailResult(e,t){throw Error(`${this.id}: buildDetailResult() not implemented. Override this method or override fetch() to handle detail views.`)}parseQuery(e){let t=LJ.parse(e);return{entityType:t.entityType??this.config.entityType,query:t.query??{}}}async fetch(e,t,n){let r=this.parseQuery(e),i=n.entityService;if(r.query.id){let s=await this.fetchDetail(r.query.id,i);return t.parse(this.buildDetailResult(s.item,s.navigation))}let a=await this.fetchList(r.query,i);return t.parse(this.buildListResult(a.items,a.pagination,r.query))}async fetchDetail(e,t){let n=await this.lookupEntity(e,t),r=this.transformEntity(n),i=null;if(this.config.enableNavigation)i=await this.resolveNavigation(n,t);return{item:r,navigation:i}}async fetchList(e,t,n){let r=e.page??1,i=e.pageSize??e.limit??this.config.defaultLimit??100,a=(r-1)*i,s=e.page!==void 0,[l,c]=await Promise.all([t.listEntities({entityType:this.config.entityType,options:{limit:i,offset:a,sortFields:this.config.defaultSort,...n}},this.config.entitySchema),s?t.countEntities({entityType:this.config.entityType,options:n?.filter?{filter:n.filter}:void 0}):Promise.resolve(0)]),u=l.map((p)=>this.transformEntity(p)),d=s?Rk(c,r,i):null;return{items:u,pagination:d}}async resolveNavigation(e,t,n){let r=this.config.navigationLimit??1000,i=await t.listEntities({entityType:this.config.entityType,options:{limit:r,sortFields:n??this.config.defaultSort}},this.config.entitySchema),a=i.findIndex((d)=>d.id===e.id),s=a>0?i[a-1]:void 0,l=a<i.length-1?i[a+1]:void 0,c=s?this.transformEntity(s):null,u=l?this.transformEntity(l):null;return{prev:c,next:u}}async lookupEntity(e,t){if(this.config.lookupField==="id"){let i=await t.getEntity({entityType:this.config.entityType,id:e},this.config.entitySchema);if(!i)throw Error(`${this.config.entityType} not found: ${e}`);return i}let r=(await t.listEntities({entityType:this.config.entityType,options:{filter:{metadata:{slug:e}},limit:1}},this.config.entitySchema))[0];if(!r)throw Error(`${this.config.entityType} not found with slug: ${e}`);return r}}function xxe(e){let t=e.metadata.slug;return typeof t==="string"?t:null}async function wxe(e,t){let n=await e.nearestToEntity({origin:t.origin,types:t.types,maxDistance:t.maxDistance,limit:t.limit}).catch(()=>[]);return(await Promise.all(n.map(async(i)=>{let a=await e.getEntity({entityType:i.entityType,id:i.entityId});return a?{entity:a,title:iC(a)??a.id,slug:xxe(a),distance:i.distance}:null}))).filter((i)=>i!==null)}function JA(e){if(typeof e!=="object"||e===null||!("entityId"in e))return;let t=e.entityId;return typeof t==="string"&&t.trim().length>0?t.trim():void 0}function UJ(e){if(!Eo(e)||!("coverImage"in e))return;let t=e.coverImage;if(t===void 0||t===!1)return;if(t===!0)return{generate:!0};if(!Eo(t))return;if(t.generate===!1)return;let n=t.prompt,r=typeof n==="string"?n.trim():void 0;return{generate:!0,...r&&{prompt:r}}}function mx(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!==void 0))}function ZJ(e){let t={...e};return delete t.status,delete t.error,mx(t)}class JJ extends xg{context;entityType;retries;constructor(e,t,n){super(e,{schema:n.schema,jobTypeName:n.jobTypeName});this.context=t,this.entityType=n.entityType,this.retries=n.retries}async enqueueFollowUp(e,t,n){if(!this.retries){await e();return}await this.retries.run(e,t,n)}async afterCreate(e,t,n,r){}async onGenerationFailure(e,t){}validateAndParse(e){let t=super.validateAndParse(e);if(!t)return null;let n=UJ(e);if(typeof t!=="object")return t;let r=JA(e);if(!n&&!r)return t;return Object.assign(t,{...n&&{coverImage:n},...r&&{entityId:r}}),t}async process(e,t,n){try{await this.reportProgress(n,{progress:px.START,message:`Starting ${this.jobTypeName}`});let r=await this.generate(e,n),i=JA(e),a=i?this.applyPreallocatedEntityId(i,r):r;await this.reportProgress(n,{progress:px.SAVE,message:`Saving ${this.entityType} to database`});let s=i?await this.updatePreallocatedStub(i,a):await this.context.entityService.createEntity({entity:{id:a.id,entityType:this.entityType,content:a.content,metadata:a.metadata},options:a.createOptions});return await this.afterCreate(e,s.entityId,n,a),await this.enqueueGenericCoverImageIfRequested(e,s.entityId,n,a),await this.reportProgress(n,{progress:px.COMPLETE,message:`${a.title??this.entityType} created successfully`}),this.toResult({success:!0,entityId:s.entityId,...a.resultExtras})}catch(r){if(r instanceof VA)return await this.markPreallocatedStubFailed(e,r.message),await this.onGenerationFailure(e,r.message),this.toResult({success:!1,error:r.message});let i=$e(r);return this.logger.error(`${this.jobTypeName} job failed`,{error:r,jobId:t,data:this.summarizeDataForLog(e)}),await this.markPreallocatedStubFailed(e,i),await this.onGenerationFailure(e,i),this.toResult(WJ.failure(r))}}toResult(e){return e}applyPreallocatedEntityId(e,t){let n={...t.metadata},r=t.content,i=t.resultExtras;if(typeof n.slug==="string")n.slug=e,r=pg(r,"slug",e),i={...i,slug:e};return{...t,id:e,content:r,metadata:n,...i&&{resultExtras:i}}}async updatePreallocatedStub(e,t){let n=await this.context.entityService.getEntity({entityType:this.entityType,id:e,visibilityScope:"restricted"});if(!n)throw Error(`Pre-allocated entity stub not found: ${this.entityType}/${e}`);let r=this.mergeStubWithGenerated(n,t);return this.context.entityService.updateEntity({entity:{...n,id:e,entityType:this.entityType,content:r.content,metadata:r.metadata}})}mergeStubWithGenerated(e,t){let n=ZJ(up(e.content).frontmatter),r=ZJ(e.metadata),i=mx(t.metadata),a=up(t.content),s=mx(a.frontmatter),l=mx({...n,...i,...s});return this.context.entities.getEffectiveFrontmatterSchema(this.entityType)?.parse(l),{content:bl(l,a.content),metadata:{...r,...i}}}async onTerminalError(e,t){await this.markPreallocatedStubFailed(t,e.message,{onlyWhileGenerating:!0})}async markPreallocatedStubFailed(e,t,n={}){let r=JA(e);if(!r)return;try{let i=await this.context.entityService.getEntity({entityType:this.entityType,id:r,visibilityScope:"restricted"});if(!i)return;if(n.onlyWhileGenerating&&i.metadata.status!=="generating")return;await this.context.entityService.updateEntity({entity:{...i,content:pg(pg(i.content,"status","failed"),"error",t),metadata:{...i.metadata,status:"failed",error:t}}})}catch(i){this.logger.warn("Failed to mark generation stub as failed",{error:i,entityId:r,entityType:this.entityType})}}async enqueueGenericCoverImageIfRequested(e,t,n,r){let i=UJ(e);if(!i)return;await this.reportProgress(n,{progress:90,message:"Queueing cover image generation"});let a=r.title??t;await this.enqueueFollowUp(()=>this.context.jobs.enqueue({type:GJ.generate,data:{prompt:i.prompt??`Editorial cover image for: ${a}. `,title:`${a} Cover`,aspectRatio:"16:9",targetEntityType:this.entityType,targetEntityId:t,entityTitle:a,entityContent:r.content},toolContext:{interfaceType:"job",actor:{kind:"service",serviceId:"generation-job-handler"}}}),`queue the cover image for ${this.entityType}:${t}`,`cover-image:${this.entityType}:${t}`)}failEarly(e){throw new VA(e)}}class VA extends Error{constructor(e){super(e);this.name="GenerationFailure"}}var Txe=o.string().trim().min(1).max(200),_xe=o.string().trim().min(1).max(100).regex(/^[a-z0-9][a-z0-9.-]*$/);class VJ{registrations=new Map;register(e,t,n){let r=Txe.parse(e),i=_xe.parse(t),a=`${r}:${i}`;if(this.registrations.has(a))throw Error(`Operational health check already registered: ${a}`);return this.registrations.set(a,{pluginId:r,name:a,provider:n}),()=>this.registrations.delete(a)}unregisterPlugin(e){let t=e.trim();for(let[n,r]of this.registrations)if(r.pluginId===t)this.registrations.delete(n)}async getChecks(){let e=[...this.registrations.values()].sort((t,n)=>t.name.localeCompare(n.name));return Promise.all(e.map(async(t)=>{try{return tx.parse({name:t.name,...await t.provider()})}catch{return{name:t.name,status:"degraded",message:"Operational health check failed"}}}))}}var TV="vercel.ai.error",Ixe=Symbol.for(TV),HJ,KJ,Re=class e extends(KJ=Error,HJ=Ixe,KJ){constructor({name:t,message:n,cause:r}){super(n);this[HJ]=!0,this.name=t,this.cause=r}static isInstance(t){return e.hasMarker(t,TV)}static hasMarker(t,n){let r=Symbol.for(n);return t!=null&&typeof t==="object"&&r in t&&typeof t[r]==="boolean"&&t[r]===!0}},_V="AI_APICallError",IV=`vercel.ai.error.${_V}`,Cxe=Symbol.for(IV),QJ,YJ,Dt=class extends(YJ=Re,QJ=Cxe,YJ){constructor({message:e,url:t,requestBodyValues:n,statusCode:r,responseHeaders:i,responseBody:a,cause:s,isRetryable:l=r!=null&&(r===408||r===409||r===429||r>=500),data:c}){super({name:_V,message:e,cause:s});this[QJ]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=r,this.responseHeaders=i,this.responseBody=a,this.isRetryable=l,this.data=c}static isInstance(e){return Re.hasMarker(e,IV)}},CV="AI_EmptyResponseBodyError",EV=`vercel.ai.error.${CV}`,Exe=Symbol.for(EV),XJ,eV,kV=class extends(eV=Re,XJ=Exe,eV){constructor({message:e="Empty response body"}={}){super({name:CV,message:e});this[XJ]=!0}static isInstance(e){return Re.hasMarker(e,EV)}};function aa(e){if(e==null)return"unknown error";if(typeof e==="string")return e;if(e instanceof Error)return e.message;return JSON.stringify(e)}var RV="AI_InvalidArgumentError",AV=`vercel.ai.error.${RV}`,kxe=Symbol.for(AV),tV,nV,ql=class extends(nV=Re,tV=kxe,nV){constructor({message:e,cause:t,argument:n}){super({name:RV,message:e,cause:t});this[tV]=!0,this.argument=n}static isInstance(e){return Re.hasMarker(e,AV)}},PV="AI_InvalidPromptError",OV=`vercel.ai.error.${PV}`,Rxe=Symbol.for(OV),rV,oV,$a=class extends(oV=Re,rV=Rxe,oV){constructor({prompt:e,message:t,cause:n}){super({name:PV,message:`Invalid prompt: ${t}`,cause:n});this[rV]=!0,this.prompt=e}static isInstance(e){return Re.hasMarker(e,OV)}},MV="AI_InvalidResponseDataError",jV=`vercel.ai.error.${MV}`,Axe=Symbol.for(jV),iV,aV,Ll=class extends(aV=Re,iV=Axe,aV){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:MV,message:t});this[iV]=!0,this.data=e}static isInstance(e){return Re.hasMarker(e,jV)}},DV="AI_JSONParseError",NV=`vercel.ai.error.${DV}`,Pxe=Symbol.for(NV),sV,lV,yu=class extends(lV=Re,sV=Pxe,lV){constructor({text:e,cause:t}){super({name:DV,message:`JSON parsing failed: Text: ${e}.
159
159
  Error message: ${aa(t)}`,cause:t});this[sV]=!0,this.text=e}static isInstance(e){return Re.hasMarker(e,NV)}},zV="AI_LoadAPIKeyError",BV=`vercel.ai.error.${zV}`,Oxe=Symbol.for(BV),cV,uV,Wg=class extends(uV=Re,cV=Oxe,uV){constructor({message:e}){super({name:zV,message:e});this[cV]=!0}static isInstance(e){return Re.hasMarker(e,BV)}},FV="AI_LoadSettingError",qV=`vercel.ai.error.${FV}`,Mxe=Symbol.for(qV),dV,pV,Lbt=class extends(pV=Re,dV=Mxe,pV){constructor({message:e}){super({name:FV,message:e});this[dV]=!0}static isInstance(e){return Re.hasMarker(e,qV)}},LV="AI_NoContentGeneratedError",$V=`vercel.ai.error.${LV}`,jxe=Symbol.for($V),mV,fV,$bt=class extends(fV=Re,mV=jxe,fV){constructor({message:e="No content generated."}={}){super({name:LV,message:e});this[mV]=!0}static isInstance(e){return Re.hasMarker(e,$V)}},UV="AI_NoSuchModelError",ZV=`vercel.ai.error.${UV}`,Dxe=Symbol.for(ZV),gV,hV,HA=class extends(hV=Re,gV=Dxe,hV){constructor({errorName:e=UV,modelId:t,modelType:n,message:r=`No such ${n}: ${t}`}){super({name:e,message:r});this[gV]=!0,this.modelId=t,this.modelType=n}static isInstance(e){return Re.hasMarker(e,ZV)}},WV="AI_TooManyEmbeddingValuesForCallError",GV=`vercel.ai.error.${WV}`,Nxe=Symbol.for(GV),yV,bV,gx=class extends(bV=Re,yV=Nxe,bV){constructor(e){super({name:WV,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`});this[yV]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return Re.hasMarker(e,GV)}},JV="AI_TypeValidationError",VV=`vercel.ai.error.${JV}`,zxe=Symbol.for(VV),vV,SV,pr=class e extends(SV=Re,vV=zxe,SV){constructor({value:t,cause:n,context:r}){let i="Type validation failed";if(r==null?void 0:r.field)i+=` for ${r.field}`;if((r==null?void 0:r.entityName)||(r==null?void 0:r.entityId)){i+=" (";let a=[];if(r.entityName)a.push(r.entityName);if(r.entityId)a.push(`id: "${r.entityId}"`);i+=a.join(", "),i+=")"}super({name:JV,message:`${i}: Value: ${JSON.stringify(t)}.
160
160
  Error message: ${aa(n)}`,cause:n});this[vV]=!0,this.value=t,this.context=r}static isInstance(t){return Re.hasMarker(t,VV)}static wrap({value:t,cause:n,context:r}){var i,a,s;if(e.isInstance(n)&&n.value===t&&((i=n.context)==null?void 0:i.field)===(r==null?void 0:r.field)&&((a=n.context)==null?void 0:a.entityName)===(r==null?void 0:r.entityName)&&((s=n.context)==null?void 0:s.entityId)===(r==null?void 0:r.entityId))return n;return new e({value:t,cause:n,context:r})}},HV="AI_UnsupportedFunctionalityError",KV=`vercel.ai.error.${HV}`,Bxe=Symbol.for(KV),xV,wV,Nt=class extends(wV=Re,xV=Bxe,wV){constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:HV,message:t});this[xV]=!0,this.functionality=e}static isInstance(e){return Re.hasMarker(e,KV)}};function fx(e){if(e===null||typeof e==="string"||typeof e==="number"||typeof e==="boolean")return!0;if(Array.isArray(e))return e.every(fx);if(typeof e==="object")return Object.entries(e).every(([t,n])=>typeof t==="string"&&(n===void 0||fx(n)));return!1}function KA(e){return Array.isArray(e)&&e.every(fx)}function Ua(e){return e!=null&&typeof e==="object"&&Object.entries(e).every(([t,n])=>typeof t==="string"&&(n===void 0||fx(n)))}var Zt;(function(e){e.assertEqual=(i)=>{};function t(i){}e.assertIs=t;function n(i){throw Error()}e.assertNever=n,e.arrayToEnum=(i)=>{let a={};for(let s of i)a[s]=s;return a},e.getValidEnumValues=(i)=>{let a=e.objectKeys(i).filter((l)=>typeof i[i[l]]!=="number"),s={};for(let l of a)s[l]=i[l];return e.objectValues(s)},e.objectValues=(i)=>e.objectKeys(i).map(function(a){return i[a]}),e.objectKeys=typeof Object.keys==="function"?(i)=>Object.keys(i):(i)=>{let a=[];for(let s in i)if(Object.prototype.hasOwnProperty.call(i,s))a.push(s);return a},e.find=(i,a)=>{for(let s of i)if(a(s))return s;return},e.isInteger=typeof Number.isInteger==="function"?(i)=>Number.isInteger(i):(i)=>typeof i==="number"&&Number.isFinite(i)&&Math.floor(i)===i;function r(i,a=" | "){return i.map((s)=>typeof s==="string"?`'${s}'`:s).join(a)}e.joinValues=r,e.jsonStringifyReplacer=(i,a)=>{if(typeof a==="bigint")return a.toString();return a}})(Zt||(Zt={}));var QV;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(QV||(QV={}));var De=Zt.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ds=(e)=>{switch(typeof e){case"undefined":return De.undefined;case"string":return De.string;case"number":return Number.isNaN(e)?De.nan:De.number;case"boolean":return De.boolean;case"function":return De.function;case"bigint":return De.bigint;case"symbol":return De.symbol;case"object":if(Array.isArray(e))return De.array;if(e===null)return De.null;if(e.then&&typeof e.then==="function"&&e.catch&&typeof e.catch==="function")return De.promise;if(typeof Map<"u"&&e instanceof Map)return De.map;if(typeof Set<"u"&&e instanceof Set)return De.set;if(typeof Date<"u"&&e instanceof Date)return De.date;return De.object;default:return De.unknown}};var Ie=Zt.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class Xo extends Error{get errors(){return this.issues}constructor(e){super();this.issues=[],this.addIssue=(n)=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let t=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,t);else this.__proto__=t;this.name="ZodError",this.issues=e}format(e){let t=e||function(i){return i.message},n={_errors:[]},r=(i)=>{for(let a of i.issues)if(a.code==="invalid_union")a.unionErrors.map(r);else if(a.code==="invalid_return_type")r(a.returnTypeError);else if(a.code==="invalid_arguments")r(a.argumentsError);else if(a.path.length===0)n._errors.push(t(a));else{let s=n,l=0;while(l<a.path.length){let c=a.path[l];if(l!==a.path.length-1)s[c]=s[c]||{_errors:[]};else s[c]=s[c]||{_errors:[]},s[c]._errors.push(t(a));s=s[c],l++}}};return r(this),n}static assert(e){if(!(e instanceof Xo))throw Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,Zt.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=(t)=>t.message){let t=Object.create(null),n=[];for(let r of this.issues)if(r.path.length>0){let i=r.path[0];t[i]=t[i]||[],t[i].push(e(r))}else n.push(e(r));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}Xo.create=(e)=>new Xo(e);var Fxe=(e,t)=>{let n;switch(e.code){case Ie.invalid_type:if(e.received===De.undefined)n="Required";else n=`Expected ${e.expected}, received ${e.received}`;break;case Ie.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,Zt.jsonStringifyReplacer)}`;break;case Ie.unrecognized_keys:n=`Unrecognized key(s) in object: ${Zt.joinValues(e.keys,", ")}`;break;case Ie.invalid_union:n="Invalid input";break;case Ie.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${Zt.joinValues(e.options)}`;break;case Ie.invalid_enum_value:n=`Invalid enum value. Expected ${Zt.joinValues(e.options)}, received '${e.received}'`;break;case Ie.invalid_arguments:n="Invalid function arguments";break;case Ie.invalid_return_type:n="Invalid function return type";break;case Ie.invalid_date:n="Invalid date";break;case Ie.invalid_string:if(typeof e.validation==="object")if("includes"in e.validation){if(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position==="number")n=`${n} at one or more positions greater than or equal to ${e.validation.position}`}else if("startsWith"in e.validation)n=`Invalid input: must start with "${e.validation.startsWith}"`;else if("endsWith"in e.validation)n=`Invalid input: must end with "${e.validation.endsWith}"`;else Zt.assertNever(e.validation);else if(e.validation!=="regex")n=`Invalid ${e.validation}`;else n="Invalid";break;case Ie.too_small:if(e.type==="array")n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`;else if(e.type==="string")n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`;else if(e.type==="number")n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`;else if(e.type==="bigint")n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`;else if(e.type==="date")n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`;else n="Invalid input";break;case Ie.too_big:if(e.type==="array")n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`;else if(e.type==="string")n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`;else if(e.type==="number")n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`;else if(e.type==="bigint")n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`;else if(e.type==="date")n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`;else n="Invalid input";break;case Ie.custom:n="Invalid input";break;case Ie.invalid_intersection_types:n="Intersection results could not be merged";break;case Ie.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case Ie.not_finite:n="Number must be finite";break;default:n=t.defaultError,Zt.assertNever(e)}return{message:n}},$l=Fxe;var qxe=$l;function Gg(){return qxe}var hx=(e)=>{let{data:t,path:n,errorMaps:r,issueData:i}=e,a=[...n,...i.path||[]],s={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let l="",c=r.filter((u)=>!!u).slice().reverse();for(let u of c)l=u(s,{data:t,defaultError:l}).message;return{...i,path:a,message:l}};function Fe(e,t){let n=Gg(),r=hx({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===$l?void 0:$l].filter((i)=>!!i)});e.common.issues.push(r)}class Yr{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(e,t){let n=[];for(let r of t){if(r.status==="aborted")return vt;if(r.status==="dirty")e.dirty();n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){let n=[];for(let r of t){let i=await r.key,a=await r.value;n.push({key:i,value:a})}return Yr.mergeObjectSync(e,n)}static mergeObjectSync(e,t){let n={};for(let r of t){let{key:i,value:a}=r;if(i.status==="aborted")return vt;if(a.status==="aborted")return vt;if(i.status==="dirty")e.dirty();if(a.status==="dirty")e.dirty();if(i.value!=="__proto__"&&(typeof a.value<"u"||r.alwaysSet))n[i.value]=a.value}return{status:e.value,value:n}}}var vt=Object.freeze({status:"aborted"}),Rp=(e)=>({status:"dirty",value:e}),yo=(e)=>({status:"valid",value:e}),QA=(e)=>e.status==="aborted",YA=(e)=>e.status==="dirty",bu=(e)=>e.status==="valid",Jg=(e)=>typeof Promise<"u"&&e instanceof Promise;var tt;(function(e){e.errToObj=(t)=>typeof t==="string"?{message:t}:t||{},e.toString=(t)=>typeof t==="string"?t:t?.message})(tt||(tt={}));class sa{constructor(e,t,n,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=r}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var YV=(e,t)=>{if(bu(t))return{success:!0,data:t.value};else{if(!e.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new Xo(e.common.issues);return this._error=n,this._error}}}};function Mt(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(t)return{errorMap:t,description:i};return{errorMap:(s,l)=>{let{message:c}=e;if(s.code==="invalid_enum_value")return{message:c??l.defaultError};if(typeof l.data>"u")return{message:c??r??l.defaultError};if(s.code!=="invalid_type")return{message:l.defaultError};return{message:c??n??l.defaultError}},description:i}}class Lt{get description(){return this._def.description}_getType(e){return Ds(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Ds(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Yr,ctx:{common:e.parent.common,data:e.data,parsedType:Ds(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Jg(t))throw Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){let n={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ds(e)},r=this._parseSync({data:e,path:n.path,parent:n});return YV(n,r)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ds(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:t});return bu(n)?{value:n.value}:{issues:t.common.issues}}catch(n){if(n?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then((n)=>bu(n)?{value:n.value}:{issues:t.common.issues})}async parseAsync(e,t){let n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){let n={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ds(e)},r=this._parse({data:e,path:n.path,parent:n}),i=await(Jg(r)?r:Promise.resolve(r));return YV(n,i)}refine(e,t){let n=(r)=>{if(typeof t==="string"||typeof t>"u")return{message:t};else if(typeof t==="function")return t(r);else return t};return this._refinement((r,i)=>{let a=e(r),s=()=>i.addIssue({code:Ie.custom,...n(r)});if(typeof Promise<"u"&&a instanceof Promise)return a.then((l)=>{if(!l)return s(),!1;else return!0});if(!a)return s(),!1;else return!0})}refinement(e,t){return this._refinement((n,r)=>{if(!e(n))return r.addIssue(typeof t==="function"?t(n,r):t),!1;else return!0})}_refinement(e){return new Ga({schema:this,typeName:Ee.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(t)=>this["~validate"](t)}}optional(){return Wa.create(this,this._def)}nullable(){return Ul.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Za.create(this)}promise(){return jp.create(this,this._def)}or(e){return Yg.create([this,e],this._def)}and(e){return Xg.create(this,e,this._def)}transform(e){return new Ga({...Mt(this._def),schema:this,typeName:Ee.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e==="function"?e:()=>e;return new rh({...Mt(this._def),innerType:this,defaultValue:t,typeName:Ee.ZodDefault})}brand(){return new nP({typeName:Ee.ZodBranded,type:this,...Mt(this._def)})}catch(e){let t=typeof e==="function"?e:()=>e;return new oh({...Mt(this._def),innerType:this,catchValue:t,typeName:Ee.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return _x.create(this,e)}readonly(){return ih.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var Lxe=/^c[^\s-]{8,}$/i,$xe=/^[0-9a-z]+$/,Uxe=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Zxe=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Wxe=/^[a-z0-9_-]{21}$/i,Gxe=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Jxe=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Vxe=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Hxe="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",XA,Kxe=/^(?:(?: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])$/,Qxe=/^(?:(?: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])$/,Yxe=/^(([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]))$/,Xxe=/^(([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])$/,ewe=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,twe=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,XV="((\\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])))",nwe=new RegExp(`^${XV}$`);function eH(e){let t="[0-5]\\d";if(e.precision)t=`${t}\\.\\d{${e.precision}}`;else if(e.precision==null)t=`${t}(\\.\\d+)?`;let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function rwe(e){return new RegExp(`^${eH(e)}$`)}function owe(e){let t=`${XV}T${eH(e)}`,n=[];if(n.push(e.local?"Z?":"Z"),e.offset)n.push("([+-]\\d{2}:?\\d{2})");return t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function iwe(e,t){if((t==="v4"||!t)&&Kxe.test(e))return!0;if((t==="v6"||!t)&&Yxe.test(e))return!0;return!1}function awe(e,t){if(!Gxe.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),i=JSON.parse(atob(r));if(typeof i!=="object"||i===null)return!1;if("typ"in i&&i?.typ!=="JWT")return!1;if(!i.alg)return!1;if(t&&i.alg!==t)return!1;return!0}catch{return!1}}function swe(e,t){if((t==="v4"||!t)&&Qxe.test(e))return!0;if((t==="v6"||!t)&&Xxe.test(e))return!0;return!1}class zs extends Lt{_parse(e){if(this._def.coerce)e.data=String(e.data);if(this._getType(e)!==De.string){let i=this._getOrReturnCtx(e);return Fe(i,{code:Ie.invalid_type,expected:De.string,received:i.parsedType}),vt}let n=new Yr,r=void 0;for(let i of this._def.checks)if(i.kind==="min"){if(e.data.length<i.value)r=this._getOrReturnCtx(e,r),Fe(r,{code:Ie.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty()}else if(i.kind==="max"){if(e.data.length>i.value)r=this._getOrReturnCtx(e,r),Fe(r,{code:Ie.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty()}else if(i.kind==="length"){let a=e.data.length>i.value,s=e.data.length<i.value;if(a||s){if(r=this._getOrReturnCtx(e,r),a)Fe(r,{code:Ie.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message});else if(s)Fe(r,{code:Ie.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message});n.dirty()}}else if(i.kind==="email"){if(!Vxe.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"email",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="emoji"){if(!XA)XA=new RegExp(Hxe,"u");if(!XA.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"emoji",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="uuid"){if(!Zxe.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"uuid",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="nanoid"){if(!Wxe.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"nanoid",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="cuid"){if(!Lxe.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"cuid",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="cuid2"){if(!$xe.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"cuid2",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="ulid"){if(!Uxe.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"ulid",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="url")try{new URL(e.data)}catch{r=this._getOrReturnCtx(e,r),Fe(r,{validation:"url",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="regex"){if(i.regex.lastIndex=0,!i.regex.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"regex",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="trim")e.data=e.data.trim();else if(i.kind==="includes"){if(!e.data.includes(i.value,i.position))r=this._getOrReturnCtx(e,r),Fe(r,{code:Ie.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()}else if(i.kind==="toLowerCase")e.data=e.data.toLowerCase();else if(i.kind==="toUpperCase")e.data=e.data.toUpperCase();else if(i.kind==="startsWith"){if(!e.data.startsWith(i.value))r=this._getOrReturnCtx(e,r),Fe(r,{code:Ie.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()}else if(i.kind==="endsWith"){if(!e.data.endsWith(i.value))r=this._getOrReturnCtx(e,r),Fe(r,{code:Ie.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()}else if(i.kind==="datetime"){if(!owe(i).test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{code:Ie.invalid_string,validation:"datetime",message:i.message}),n.dirty()}else if(i.kind==="date"){if(!nwe.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{code:Ie.invalid_string,validation:"date",message:i.message}),n.dirty()}else if(i.kind==="time"){if(!rwe(i).test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{code:Ie.invalid_string,validation:"time",message:i.message}),n.dirty()}else if(i.kind==="duration"){if(!Jxe.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"duration",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="ip"){if(!iwe(e.data,i.version))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"ip",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="jwt"){if(!awe(e.data,i.alg))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"jwt",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="cidr"){if(!swe(e.data,i.version))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"cidr",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="base64"){if(!ewe.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"base64",code:Ie.invalid_string,message:i.message}),n.dirty()}else if(i.kind==="base64url"){if(!twe.test(e.data))r=this._getOrReturnCtx(e,r),Fe(r,{validation:"base64url",code:Ie.invalid_string,message:i.message}),n.dirty()}else Zt.assertNever(i);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement((r)=>e.test(r),{validation:t,code:Ie.invalid_string,...tt.errToObj(n)})}_addCheck(e){return new zs({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...tt.errToObj(e)})}url(e){return this._addCheck({kind:"url",...tt.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...tt.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...tt.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...tt.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...tt.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...tt.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...tt.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...tt.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...tt.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...tt.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...tt.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...tt.errToObj(e)})}datetime(e){if(typeof e==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e});return this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...tt.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){if(typeof e==="string")return this._addCheck({kind:"time",precision:null,message:e});return this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...tt.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...tt.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...tt.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...tt.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...tt.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...tt.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...tt.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...tt.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...tt.errToObj(t)})}nonempty(e){return this.min(1,tt.errToObj(e))}trim(){return new zs({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new zs({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new zs({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((e)=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find((e)=>e.kind==="date")}get isTime(){return!!this._def.checks.find((e)=>e.kind==="time")}get isDuration(){return!!this._def.checks.find((e)=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find((e)=>e.kind==="email")}get isURL(){return!!this._def.checks.find((e)=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find((e)=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find((e)=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((e)=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((e)=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((e)=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find((e)=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find((e)=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find((e)=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find((e)=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find((e)=>e.kind==="base64url")}get minLength(){let e=null;for(let t of this._def.checks)if(t.kind==="min"){if(e===null||t.value>e)e=t.value}return e}get maxLength(){let e=null;for(let t of this._def.checks)if(t.kind==="max"){if(e===null||t.value<e)e=t.value}return e}}zs.create=(e)=>new zs({checks:[],typeName:Ee.ZodString,coerce:e?.coerce??!1,...Mt(e)});function lwe(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,a=Number.parseInt(e.toFixed(i).replace(".","")),s=Number.parseInt(t.toFixed(i).replace(".",""));return a%s/10**i}class Pp extends Lt{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce)e.data=Number(e.data);if(this._getType(e)!==De.number){let i=this._getOrReturnCtx(e);return Fe(i,{code:Ie.invalid_type,expected:De.number,received:i.parsedType}),vt}let n=void 0,r=new Yr;for(let i of this._def.checks)if(i.kind==="int"){if(!Zt.isInteger(e.data))n=this._getOrReturnCtx(e,n),Fe(n,{code:Ie.invalid_type,expected:"integer",received:"float",message:i.message}),r.dirty()}else if(i.kind==="min"){if(i.inclusive?e.data<i.value:e.data<=i.value)n=this._getOrReturnCtx(e,n),Fe(n,{code:Ie.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()}else if(i.kind==="max"){if(i.inclusive?e.data>i.value:e.data>=i.value)n=this._getOrReturnCtx(e,n),Fe(n,{code:Ie.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),r.dirty()}else if(i.kind==="multipleOf"){if(lwe(e.data,i.value)!==0)n=this._getOrReturnCtx(e,n),Fe(n,{code:Ie.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()}else if(i.kind==="finite"){if(!Number.isFinite(e.data))n=this._getOrReturnCtx(e,n),Fe(n,{code:Ie.not_finite,message:i.message}),r.dirty()}else Zt.assertNever(i);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,tt.toString(t))}gt(e,t){return this.setLimit("min",e,!1,tt.toString(t))}lte(e,t){return this.setLimit("max",e,!0,tt.toString(t))}lt(e,t){return this.setLimit("max",e,!1,tt.toString(t))}setLimit(e,t,n,r){return new Pp({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:tt.toString(r)}]})}_addCheck(e){return new Pp({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:tt.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:tt.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:tt.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:tt.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:tt.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:tt.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:tt.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:tt.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:tt.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)if(t.kind==="min"){if(e===null||t.value>e)e=t.value}return e}get maxValue(){let e=null;for(let t of this._def.checks)if(t.kind==="max"){if(e===null||t.value<e)e=t.value}return e}get isInt(){return!!this._def.checks.find((e)=>e.kind==="int"||e.kind==="multipleOf"&&Zt.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let n of this._def.checks)if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;else if(n.kind==="min"){if(t===null||n.value>t)t=n.value}else if(n.kind==="max"){if(e===null||n.value<e)e=n.value}return Number.isFinite(t)&&Number.isFinite(e)}}Pp.create=(e)=>new Pp({checks:[],typeName:Ee.ZodNumber,coerce:e?.coerce||!1,...Mt(e)});class Op extends Lt{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==De.bigint)return this._getInvalidInput(e);let n=void 0,r=new Yr;for(let i of this._def.checks)if(i.kind==="min"){if(i.inclusive?e.data<i.value:e.data<=i.value)n=this._getOrReturnCtx(e,n),Fe(n,{code:Ie.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()}else if(i.kind==="max"){if(i.inclusive?e.data>i.value:e.data>=i.value)n=this._getOrReturnCtx(e,n),Fe(n,{code:Ie.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),r.dirty()}else if(i.kind==="multipleOf"){if(e.data%i.value!==BigInt(0))n=this._getOrReturnCtx(e,n),Fe(n,{code:Ie.not_multiple_of,multipleOf:i.value,message:i.message}),r.dirty()}else Zt.assertNever(i);return{status:r.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return Fe(t,{code:Ie.invalid_type,expected:De.bigint,received:t.parsedType}),vt}gte(e,t){return this.setLimit("min",e,!0,tt.toString(t))}gt(e,t){return this.setLimit("min",e,!1,tt.toString(t))}lte(e,t){return this.setLimit("max",e,!0,tt.toString(t))}lt(e,t){return this.setLimit("max",e,!1,tt.toString(t))}setLimit(e,t,n,r){return new Op({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:tt.toString(r)}]})}_addCheck(e){return new Op({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:tt.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:tt.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:tt.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:tt.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:tt.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)if(t.kind==="min"){if(e===null||t.value>e)e=t.value}return e}get maxValue(){let e=null;for(let t of this._def.checks)if(t.kind==="max"){if(e===null||t.value<e)e=t.value}return e}}Op.create=(e)=>new Op({checks:[],typeName:Ee.ZodBigInt,coerce:e?.coerce??!1,...Mt(e)});class yx extends Lt{_parse(e){if(this._def.coerce)e.data=Boolean(e.data);if(this._getType(e)!==De.boolean){let n=this._getOrReturnCtx(e);return Fe(n,{code:Ie.invalid_type,expected:De.boolean,received:n.parsedType}),vt}return yo(e.data)}}yx.create=(e)=>new yx({typeName:Ee.ZodBoolean,coerce:e?.coerce||!1,...Mt(e)});class Hg extends Lt{_parse(e){if(this._def.coerce)e.data=new Date(e.data);if(this._getType(e)!==De.date){let i=this._getOrReturnCtx(e);return Fe(i,{code:Ie.invalid_type,expected:De.date,received:i.parsedType}),vt}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return Fe(i,{code:Ie.invalid_date}),vt}let n=new Yr,r=void 0;for(let i of this._def.checks)if(i.kind==="min"){if(e.data.getTime()<i.value)r=this._getOrReturnCtx(e,r),Fe(r,{code:Ie.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()}else if(i.kind==="max"){if(e.data.getTime()>i.value)r=this._getOrReturnCtx(e,r),Fe(r,{code:Ie.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()}else Zt.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Hg({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:tt.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:tt.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)if(t.kind==="min"){if(e===null||t.value>e)e=t.value}return e!=null?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)if(t.kind==="max"){if(e===null||t.value<e)e=t.value}return e!=null?new Date(e):null}}Hg.create=(e)=>new Hg({checks:[],coerce:e?.coerce||!1,typeName:Ee.ZodDate,...Mt(e)});class bx extends Lt{_parse(e){if(this._getType(e)!==De.symbol){let n=this._getOrReturnCtx(e);return Fe(n,{code:Ie.invalid_type,expected:De.symbol,received:n.parsedType}),vt}return yo(e.data)}}bx.create=(e)=>new bx({typeName:Ee.ZodSymbol,...Mt(e)});class Kg extends Lt{_parse(e){if(this._getType(e)!==De.undefined){let n=this._getOrReturnCtx(e);return Fe(n,{code:Ie.invalid_type,expected:De.undefined,received:n.parsedType}),vt}return yo(e.data)}}Kg.create=(e)=>new Kg({typeName:Ee.ZodUndefined,...Mt(e)});class Qg extends Lt{_parse(e){if(this._getType(e)!==De.null){let n=this._getOrReturnCtx(e);return Fe(n,{code:Ie.invalid_type,expected:De.null,received:n.parsedType}),vt}return yo(e.data)}}Qg.create=(e)=>new Qg({typeName:Ee.ZodNull,...Mt(e)});class vx extends Lt{constructor(){super(...arguments);this._any=!0}_parse(e){return yo(e.data)}}vx.create=(e)=>new vx({typeName:Ee.ZodAny,...Mt(e)});class vu extends Lt{constructor(){super(...arguments);this._unknown=!0}_parse(e){return yo(e.data)}}vu.create=(e)=>new vu({typeName:Ee.ZodUnknown,...Mt(e)});class Bs extends Lt{_parse(e){let t=this._getOrReturnCtx(e);return Fe(t,{code:Ie.invalid_type,expected:De.never,received:t.parsedType}),vt}}Bs.create=(e)=>new Bs({typeName:Ee.ZodNever,...Mt(e)});class Sx extends Lt{_parse(e){if(this._getType(e)!==De.undefined){let n=this._getOrReturnCtx(e);return Fe(n,{code:Ie.invalid_type,expected:De.void,received:n.parsedType}),vt}return yo(e.data)}}Sx.create=(e)=>new Sx({typeName:Ee.ZodVoid,...Mt(e)});class Za extends Lt{_parse(e){let{ctx:t,status:n}=this._processInputParams(e),r=this._def;if(t.parsedType!==De.array)return Fe(t,{code:Ie.invalid_type,expected:De.array,received:t.parsedType}),vt;if(r.exactLength!==null){let a=t.data.length>r.exactLength.value,s=t.data.length<r.exactLength.value;if(a||s)Fe(t,{code:a?Ie.too_big:Ie.too_small,minimum:s?r.exactLength.value:void 0,maximum:a?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),n.dirty()}if(r.minLength!==null){if(t.data.length<r.minLength.value)Fe(t,{code:Ie.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),n.dirty()}if(r.maxLength!==null){if(t.data.length>r.maxLength.value)Fe(t,{code:Ie.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),n.dirty()}if(t.common.async)return Promise.all([...t.data].map((a,s)=>r.type._parseAsync(new sa(t,a,t.path,s)))).then((a)=>Yr.mergeArray(n,a));let i=[...t.data].map((a,s)=>r.type._parseSync(new sa(t,a,t.path,s)));return Yr.mergeArray(n,i)}get element(){return this._def.type}min(e,t){return new Za({...this._def,minLength:{value:e,message:tt.toString(t)}})}max(e,t){return new Za({...this._def,maxLength:{value:e,message:tt.toString(t)}})}length(e,t){return new Za({...this._def,exactLength:{value:e,message:tt.toString(t)}})}nonempty(e){return this.min(1,e)}}Za.create=(e,t)=>new Za({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Ee.ZodArray,...Mt(t)});function Ap(e){if(e instanceof Qn){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=Wa.create(Ap(r))}return new Qn({...e._def,shape:()=>t})}else if(e instanceof Za)return new Za({...e._def,type:Ap(e.element)});else if(e instanceof Wa)return Wa.create(Ap(e.unwrap()));else if(e instanceof Ul)return Ul.create(Ap(e.unwrap()));else if(e instanceof Fs)return Fs.create(e.items.map((t)=>Ap(t)));else return e}class Qn extends Lt{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=Zt.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==De.object){let c=this._getOrReturnCtx(e);return Fe(c,{code:Ie.invalid_type,expected:De.object,received:c.parsedType}),vt}let{status:n,ctx:r}=this._processInputParams(e),{shape:i,keys:a}=this._getCached(),s=[];if(!(this._def.catchall instanceof Bs&&this._def.unknownKeys==="strip")){for(let c in r.data)if(!a.includes(c))s.push(c)}let l=[];for(let c of a){let u=i[c],d=r.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new sa(r,d,r.path,c)),alwaysSet:c in r.data})}if(this._def.catchall instanceof Bs){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of s)l.push({key:{status:"valid",value:u},value:{status:"valid",value:r.data[u]}});else if(c==="strict"){if(s.length>0)Fe(r,{code:Ie.unrecognized_keys,keys:s}),n.dirty()}else if(c==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of s){let d=r.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new sa(r,d,r.path,u)),alwaysSet:u in r.data})}}if(r.common.async)return Promise.resolve().then(async()=>{let c=[];for(let u of l){let d=await u.key,p=await u.value;c.push({key:d,value:p,alwaysSet:u.alwaysSet})}return c}).then((c)=>Yr.mergeObjectSync(n,c));else return Yr.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return tt.errToObj,new Qn({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{let r=this._def.errorMap?.(t,n).message??n.defaultError;if(t.code==="unrecognized_keys")return{message:tt.errToObj(e).message??r};return{message:r}}}:{}})}strip(){return new Qn({...this._def,unknownKeys:"strip"})}passthrough(){return new Qn({...this._def,unknownKeys:"passthrough"})}extend(e){return new Qn({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new Qn({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:Ee.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new Qn({...this._def,catchall:e})}pick(e){let t={};for(let n of Zt.objectKeys(e))if(e[n]&&this.shape[n])t[n]=this.shape[n];return new Qn({...this._def,shape:()=>t})}omit(e){let t={};for(let n of Zt.objectKeys(this.shape))if(!e[n])t[n]=this.shape[n];return new Qn({...this._def,shape:()=>t})}deepPartial(){return Ap(this)}partial(e){let t={};for(let n of Zt.objectKeys(this.shape)){let r=this.shape[n];if(e&&!e[n])t[n]=r;else t[n]=r.optional()}return new Qn({...this._def,shape:()=>t})}required(e){let t={};for(let n of Zt.objectKeys(this.shape))if(e&&!e[n])t[n]=this.shape[n];else{let i=this.shape[n];while(i instanceof Wa)i=i._def.innerType;t[n]=i}return new Qn({...this._def,shape:()=>t})}keyof(){return tH(Zt.objectKeys(this.shape))}}Qn.create=(e,t)=>new Qn({shape:()=>e,unknownKeys:"strip",catchall:Bs.create(),typeName:Ee.ZodObject,...Mt(t)});Qn.strictCreate=(e,t)=>new Qn({shape:()=>e,unknownKeys:"strict",catchall:Bs.create(),typeName:Ee.ZodObject,...Mt(t)});Qn.lazycreate=(e,t)=>new Qn({shape:e,unknownKeys:"strip",catchall:Bs.create(),typeName:Ee.ZodObject,...Mt(t)});class Yg extends Lt{_parse(e){let{ctx:t}=this._processInputParams(e),n=this._def.options;function r(i){for(let s of i)if(s.result.status==="valid")return s.result;for(let s of i)if(s.result.status==="dirty")return t.common.issues.push(...s.ctx.common.issues),s.result;let a=i.map((s)=>new Xo(s.ctx.common.issues));return Fe(t,{code:Ie.invalid_union,unionErrors:a}),vt}if(t.common.async)return Promise.all(n.map(async(i)=>{let a={...t,common:{...t.common,issues:[]},parent:null};return{result:await i._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(r);else{let i=void 0,a=[];for(let l of n){let c={...t,common:{...t.common,issues:[]},parent:null},u=l._parseSync({data:t.data,path:t.path,parent:c});if(u.status==="valid")return u;else if(u.status==="dirty"&&!i)i={result:u,ctx:c};if(c.common.issues.length)a.push(c.common.issues)}if(i)return t.common.issues.push(...i.ctx.common.issues),i.result;let s=a.map((l)=>new Xo(l));return Fe(t,{code:Ie.invalid_union,unionErrors:s}),vt}}get options(){return this._def.options}}Yg.create=(e,t)=>new Yg({options:e,typeName:Ee.ZodUnion,...Mt(t)});var Ns=(e)=>{if(e instanceof eh)return Ns(e.schema);else if(e instanceof Ga)return Ns(e.innerType());else if(e instanceof th)return[e.value];else if(e instanceof Su)return e.options;else if(e instanceof nh)return Zt.objectValues(e.enum);else if(e instanceof rh)return Ns(e._def.innerType);else if(e instanceof Kg)return[void 0];else if(e instanceof Qg)return[null];else if(e instanceof Wa)return[void 0,...Ns(e.unwrap())];else if(e instanceof Ul)return[null,...Ns(e.unwrap())];else if(e instanceof nP)return Ns(e.unwrap());else if(e instanceof ih)return Ns(e.unwrap());else if(e instanceof oh)return Ns(e._def.innerType);else return[]};class tP extends Lt{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==De.object)return Fe(t,{code:Ie.invalid_type,expected:De.object,received:t.parsedType}),vt;let n=this.discriminator,r=t.data[n],i=this.optionsMap.get(r);if(!i)return Fe(t,{code:Ie.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),vt;if(t.common.async)return i._parseAsync({data:t.data,path:t.path,parent:t});else return i._parseSync({data:t.data,path:t.path,parent:t})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){let r=new Map;for(let i of t){let a=Ns(i.shape[e]);if(!a.length)throw Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let s of a){if(r.has(s))throw Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);r.set(s,i)}}return new tP({typeName:Ee.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:r,...Mt(n)})}}function eP(e,t){let n=Ds(e),r=Ds(t);if(e===t)return{valid:!0,data:e};else if(n===De.object&&r===De.object){let i=Zt.objectKeys(t),a=Zt.objectKeys(e).filter((l)=>i.indexOf(l)!==-1),s={...e,...t};for(let l of a){let c=eP(e[l],t[l]);if(!c.valid)return{valid:!1};s[l]=c.data}return{valid:!0,data:s}}else if(n===De.array&&r===De.array){if(e.length!==t.length)return{valid:!1};let i=[];for(let a=0;a<e.length;a++){let s=e[a],l=t[a],c=eP(s,l);if(!c.valid)return{valid:!1};i.push(c.data)}return{valid:!0,data:i}}else if(n===De.date&&r===De.date&&+e===+t)return{valid:!0,data:e};else return{valid:!1}}class Xg extends Lt{_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=(i,a)=>{if(QA(i)||QA(a))return vt;let s=eP(i.value,a.value);if(!s.valid)return Fe(n,{code:Ie.invalid_intersection_types}),vt;if(YA(i)||YA(a))t.dirty();return{status:t.value,value:s.data}};if(n.common.async)return Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,a])=>r(i,a));else return r(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}Xg.create=(e,t,n)=>new Xg({left:e,right:t,typeName:Ee.ZodIntersection,...Mt(n)});class Fs extends Lt{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==De.array)return Fe(n,{code:Ie.invalid_type,expected:De.array,received:n.parsedType}),vt;if(n.data.length<this._def.items.length)return Fe(n,{code:Ie.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),vt;if(!this._def.rest&&n.data.length>this._def.items.length)Fe(n,{code:Ie.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty();let i=[...n.data].map((a,s)=>{let l=this._def.items[s]||this._def.rest;if(!l)return null;return l._parse(new sa(n,a,n.path,s))}).filter((a)=>!!a);if(n.common.async)return Promise.all(i).then((a)=>Yr.mergeArray(t,a));else return Yr.mergeArray(t,i)}get items(){return this._def.items}rest(e){return new Fs({...this._def,rest:e})}}Fs.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new Fs({items:e,typeName:Ee.ZodTuple,rest:null,...Mt(t)})};class xx extends Lt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==De.object)return Fe(n,{code:Ie.invalid_type,expected:De.object,received:n.parsedType}),vt;let r=[],i=this._def.keyType,a=this._def.valueType;for(let s in n.data)r.push({key:i._parse(new sa(n,s,n.path,s)),value:a._parse(new sa(n,n.data[s],n.path,s)),alwaysSet:s in n.data});if(n.common.async)return Yr.mergeObjectAsync(t,r);else return Yr.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(e,t,n){if(t instanceof Lt)return new xx({keyType:e,valueType:t,typeName:Ee.ZodRecord,...Mt(n)});return new xx({keyType:zs.create(),valueType:e,typeName:Ee.ZodRecord,...Mt(t)})}}class wx extends Lt{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==De.map)return Fe(n,{code:Ie.invalid_type,expected:De.map,received:n.parsedType}),vt;let r=this._def.keyType,i=this._def.valueType,a=[...n.data.entries()].map(([s,l],c)=>({key:r._parse(new sa(n,s,n.path,[c,"key"])),value:i._parse(new sa(n,l,n.path,[c,"value"]))}));if(n.common.async){let s=new Map;return Promise.resolve().then(async()=>{for(let l of a){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return vt;if(c.status==="dirty"||u.status==="dirty")t.dirty();s.set(c.value,u.value)}return{status:t.value,value:s}})}else{let s=new Map;for(let l of a){let{key:c,value:u}=l;if(c.status==="aborted"||u.status==="aborted")return vt;if(c.status==="dirty"||u.status==="dirty")t.dirty();s.set(c.value,u.value)}return{status:t.value,value:s}}}}wx.create=(e,t,n)=>new wx({valueType:t,keyType:e,typeName:Ee.ZodMap,...Mt(n)});class Mp extends Lt{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==De.set)return Fe(n,{code:Ie.invalid_type,expected:De.set,received:n.parsedType}),vt;let r=this._def;if(r.minSize!==null){if(n.data.size<r.minSize.value)Fe(n,{code:Ie.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()}if(r.maxSize!==null){if(n.data.size>r.maxSize.value)Fe(n,{code:Ie.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty()}let i=this._def.valueType;function a(l){let c=new Set;for(let u of l){if(u.status==="aborted")return vt;if(u.status==="dirty")t.dirty();c.add(u.value)}return{status:t.value,value:c}}let s=[...n.data.values()].map((l,c)=>i._parse(new sa(n,l,n.path,c)));if(n.common.async)return Promise.all(s).then((l)=>a(l));else return a(s)}min(e,t){return new Mp({...this._def,minSize:{value:e,message:tt.toString(t)}})}max(e,t){return new Mp({...this._def,maxSize:{value:e,message:tt.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Mp.create=(e,t)=>new Mp({valueType:e,minSize:null,maxSize:null,typeName:Ee.ZodSet,...Mt(t)});class Vg extends Lt{constructor(){super(...arguments);this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==De.function)return Fe(t,{code:Ie.invalid_type,expected:De.function,received:t.parsedType}),vt;function n(s,l){return hx({data:s,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Gg(),$l].filter((c)=>!!c),issueData:{code:Ie.invalid_arguments,argumentsError:l}})}function r(s,l){return hx({data:s,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Gg(),$l].filter((c)=>!!c),issueData:{code:Ie.invalid_return_type,returnTypeError:l}})}let i={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof jp){let s=this;return yo(async function(...l){let c=new Xo([]),u=await s._def.args.parseAsync(l,i).catch((f)=>{throw c.addIssue(n(l,f)),c}),d=await Reflect.apply(a,this,u);return await s._def.returns._def.type.parseAsync(d,i).catch((f)=>{throw c.addIssue(r(d,f)),c})})}else{let s=this;return yo(function(...l){let c=s._def.args.safeParse(l,i);if(!c.success)throw new Xo([n(l,c.error)]);let u=Reflect.apply(a,this,c.data),d=s._def.returns.safeParse(u,i);if(!d.success)throw new Xo([r(u,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Vg({...this._def,args:Fs.create(e).rest(vu.create())})}returns(e){return new Vg({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new Vg({args:e?e:Fs.create([]).rest(vu.create()),returns:t||vu.create(),typeName:Ee.ZodFunction,...Mt(n)})}}class eh extends Lt{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}eh.create=(e,t)=>new eh({getter:e,typeName:Ee.ZodLazy,...Mt(t)});class th extends Lt{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return Fe(t,{received:t.data,code:Ie.invalid_literal,expected:this._def.value}),vt}return{status:"valid",value:e.data}}get value(){return this._def.value}}th.create=(e,t)=>new th({value:e,typeName:Ee.ZodLiteral,...Mt(t)});function tH(e,t){return new Su({values:e,typeName:Ee.ZodEnum,...Mt(t)})}class Su extends Lt{_parse(e){if(typeof e.data!=="string"){let t=this._getOrReturnCtx(e),n=this._def.values;return Fe(t,{expected:Zt.joinValues(n),received:t.parsedType,code:Ie.invalid_type}),vt}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),n=this._def.values;return Fe(t,{received:t.data,code:Ie.invalid_enum_value,options:n}),vt}return yo(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Su.create(e,{...this._def,...t})}exclude(e,t=this._def){return Su.create(this.options.filter((n)=>!e.includes(n)),{...this._def,...t})}}Su.create=tH;class nh extends Lt{_parse(e){let t=Zt.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==De.string&&n.parsedType!==De.number){let r=Zt.objectValues(t);return Fe(n,{expected:Zt.joinValues(r),received:n.parsedType,code:Ie.invalid_type}),vt}if(!this._cache)this._cache=new Set(Zt.getValidEnumValues(this._def.values));if(!this._cache.has(e.data)){let r=Zt.objectValues(t);return Fe(n,{received:n.data,code:Ie.invalid_enum_value,options:r}),vt}return yo(e.data)}get enum(){return this._def.values}}nh.create=(e,t)=>new nh({values:e,typeName:Ee.ZodNativeEnum,...Mt(t)});class jp extends Lt{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==De.promise&&t.common.async===!1)return Fe(t,{code:Ie.invalid_type,expected:De.promise,received:t.parsedType}),vt;let n=t.parsedType===De.promise?t.data:Promise.resolve(t.data);return yo(n.then((r)=>this._def.type.parseAsync(r,{path:t.path,errorMap:t.common.contextualErrorMap})))}}jp.create=(e,t)=>new jp({type:e,typeName:Ee.ZodPromise,...Mt(t)});class Ga extends Lt{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Ee.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:n}=this._processInputParams(e),r=this._def.effect||null,i={addIssue:(a)=>{if(Fe(n,a),a.fatal)t.abort();else t.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),r.type==="preprocess"){let a=r.transform(n.data,i);if(n.common.async)return Promise.resolve(a).then(async(s)=>{if(t.value==="aborted")return vt;let l=await this._def.schema._parseAsync({data:s,path:n.path,parent:n});if(l.status==="aborted")return vt;if(l.status==="dirty")return Rp(l.value);if(t.value==="dirty")return Rp(l.value);return l});else{if(t.value==="aborted")return vt;let s=this._def.schema._parseSync({data:a,path:n.path,parent:n});if(s.status==="aborted")return vt;if(s.status==="dirty")return Rp(s.value);if(t.value==="dirty")return Rp(s.value);return s}}if(r.type==="refinement"){let a=(s)=>{let l=r.refinement(s,i);if(n.common.async)return Promise.resolve(l);if(l instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(n.common.async===!1){let s=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(s.status==="aborted")return vt;if(s.status==="dirty")t.dirty();return a(s.value),{status:t.value,value:s.value}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((s)=>{if(s.status==="aborted")return vt;if(s.status==="dirty")t.dirty();return a(s.value).then(()=>({status:t.value,value:s.value}))})}if(r.type==="transform")if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!bu(a))return vt;let s=r.transform(a.value,i);if(s instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:s}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then((a)=>{if(!bu(a))return vt;return Promise.resolve(r.transform(a.value,i)).then((s)=>({status:t.value,value:s}))});Zt.assertNever(r)}}Ga.create=(e,t,n)=>new Ga({schema:e,typeName:Ee.ZodEffects,effect:t,...Mt(n)});Ga.createWithPreprocess=(e,t,n)=>new Ga({schema:t,effect:{type:"preprocess",transform:e},typeName:Ee.ZodEffects,...Mt(n)});class Wa extends Lt{_parse(e){if(this._getType(e)===De.undefined)return yo(void 0);return this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Wa.create=(e,t)=>new Wa({innerType:e,typeName:Ee.ZodOptional,...Mt(t)});class Ul extends Lt{_parse(e){if(this._getType(e)===De.null)return yo(null);return this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ul.create=(e,t)=>new Ul({innerType:e,typeName:Ee.ZodNullable,...Mt(t)});class rh extends Lt{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;if(t.parsedType===De.undefined)n=this._def.defaultValue();return this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}rh.create=(e,t)=>new rh({innerType:e,typeName:Ee.ZodDefault,defaultValue:typeof t.default==="function"?t.default:()=>t.default,...Mt(t)});class oh extends Lt{_parse(e){let{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});if(Jg(r))return r.then((i)=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new Xo(n.common.issues)},input:n.data})}));else return{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new Xo(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}oh.create=(e,t)=>new oh({innerType:e,typeName:Ee.ZodCatch,catchValue:typeof t.catch==="function"?t.catch:()=>t.catch,...Mt(t)});class Tx extends Lt{_parse(e){if(this._getType(e)!==De.nan){let n=this._getOrReturnCtx(e);return Fe(n,{code:Ie.invalid_type,expected:De.nan,received:n.parsedType}),vt}return{status:"valid",value:e.data}}}Tx.create=(e)=>new Tx({typeName:Ee.ZodNaN,...Mt(e)});var vvt=Symbol("zod_brand");class nP extends Lt{_parse(e){let{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class _x extends Lt{_parse(e){let{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});if(i.status==="aborted")return vt;if(i.status==="dirty")return t.dirty(),Rp(i.value);else return this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();else{let r=this._def.in._parseSync({data:n.data,path:n.path,parent:n});if(r.status==="aborted")return vt;if(r.status==="dirty")return t.dirty(),{status:"dirty",value:r.value};else return this._def.out._parseSync({data:r.value,path:n.path,parent:n})}}static create(e,t){return new _x({in:e,out:t,typeName:Ee.ZodPipeline})}}class ih extends Lt{_parse(e){let t=this._def.innerType._parse(e),n=(r)=>{if(bu(r))r.value=Object.freeze(r.value);return r};return Jg(t)?t.then((r)=>n(r)):n(t)}unwrap(){return this._def.innerType}}ih.create=(e,t)=>new ih({innerType:e,typeName:Ee.ZodReadonly,...Mt(t)});var Svt={object:Qn.lazycreate},Ee;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(Ee||(Ee={}));var xvt=zs.create,wvt=Pp.create,Tvt=Tx.create,_vt=Op.create,Ivt=yx.create,Cvt=Hg.create,Evt=bx.create,kvt=Kg.create,Rvt=Qg.create,Avt=vx.create,Pvt=vu.create,Ovt=Bs.create,Mvt=Sx.create,jvt=Za.create,Dvt=Qn.create,Nvt=Qn.strictCreate,zvt=Yg.create,Bvt=tP.create,Fvt=Xg.create,qvt=Fs.create,Lvt=xx.create,$vt=wx.create,Uvt=Mp.create,Zvt=Vg.create,Wvt=eh.create,Gvt=th.create,Jvt=Su.create,Vvt=nh.create,Hvt=jp.create,Kvt=Ga.create,Qvt=Wa.create,Yvt=Ul.create,Xvt=Ga.createWithPreprocess,eSt=_x.create;class Ix extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}var nH=10,cwe=13,xu=32;function rP(e){}function iH(e){if(typeof e=="function")throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=rP,onError:n=rP,onRetry:r=rP,onComment:i,maxBufferSize:a}=e,s=[],l=0,c=!0,u,d="",p=0,f,m=!1;function g(A){if(m)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,A.charCodeAt(0)===239&&A.charCodeAt(1)===187&&A.charCodeAt(2)===191&&(A=A.slice(3))),s.length===0){let z=b(A);z!==""&&(s.push(z),l=z.length),h();return}if(A.indexOf(`
161
161
  `)===-1&&A.indexOf("\r")===-1){s.push(A),l+=A.length,h();return}s.push(A);let v=s.join("");s.length=0,l=0;let R=b(v);R!==""&&(s.push(R),l=R.length),h()}function h(){a!==void 0&&(l+d.length<=a||(m=!0,s.length=0,l=0,u=void 0,d="",p=0,f=void 0,n(new Ix(`Buffered data exceeded max buffer size of ${a} characters`,{type:"max-buffer-size-exceeded"}))))}function b(A){let v=0;if(A.indexOf("\r")===-1){let R=A.indexOf(`
@@ -187,7 +187,7 @@ Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
187
187
  Option 2 - OIDC token:
188
188
  Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`;return new e({message:l,statusCode:i,cause:a,generationId:s})}},CK="GatewayInvalidRequestError",o_e=`vercel.ai.gateway.error.${CK}`,VH=Symbol.for(o_e),HH,KH,i_e=class extends(KH=ir,HH=VH,KH){constructor({message:e="Invalid request",statusCode:t=400,cause:n,generationId:r}={}){super({message:e,statusCode:t,cause:n,generationId:r});this[HH]=!0,this.name=CK,this.type="invalid_request_error"}static isInstance(e){return ir.hasMarker(e)&&VH in e}},EK="GatewayRateLimitError",a_e=`vercel.ai.gateway.error.${EK}`,QH=Symbol.for(a_e),YH,XH,s_e=class extends(XH=ir,YH=QH,XH){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:n,generationId:r}={}){super({message:e,statusCode:t,cause:n,generationId:r});this[YH]=!0,this.name=EK,this.type="rate_limit_exceeded"}static isInstance(e){return ir.hasMarker(e)&&QH in e}},kK="GatewayModelNotFoundError",l_e=`vercel.ai.gateway.error.${kK}`,eK=Symbol.for(l_e),c_e=G(()=>W(o.object({modelId:o.string()}))),tK,nK,u_e=class extends(nK=ir,tK=eK,nK){constructor({message:e="Model not found",statusCode:t=404,modelId:n,cause:r,generationId:i}={}){super({message:e,statusCode:t,cause:r,generationId:i});this[tK]=!0,this.name=kK,this.type="model_not_found",this.modelId=n}static isInstance(e){return ir.hasMarker(e)&&eK in e}},RK="GatewayInternalServerError",d_e=`vercel.ai.gateway.error.${RK}`,rK=Symbol.for(d_e),oK,iK,aK=class extends(iK=ir,oK=rK,iK){constructor({message:e="Internal server error",statusCode:t=500,cause:n,generationId:r}={}){super({message:e,statusCode:t,cause:n,generationId:r});this[oK]=!0,this.name=RK,this.type="internal_server_error"}static isInstance(e){return ir.hasMarker(e)&&rK in e}},AK="GatewayFailedDependencyError",p_e=`vercel.ai.gateway.error.${AK}`,sK=Symbol.for(p_e),lK,cK,m_e=class extends(cK=ir,lK=sK,cK){constructor({message:e="Failed dependency",statusCode:t=424,cause:n,generationId:r}={}){super({message:e,statusCode:t,cause:n,generationId:r});this[lK]=!0,this.name=AK,this.type="failed_dependency"}static isInstance(e){return ir.hasMarker(e)&&sK in e}},PK="GatewayForbiddenError",f_e=`vercel.ai.gateway.error.${PK}`,uK=Symbol.for(f_e),g_e=G(()=>W(o.object({ruleId:o.string()}))),dK,pK,h_e=class extends(pK=ir,dK=uK,pK){constructor({message:e="Forbidden",statusCode:t=403,cause:n,generationId:r,ruleId:i}={}){super({message:e,statusCode:t,cause:n,generationId:r});this[dK]=!0,this.name=PK,this.type="forbidden",this.ruleId=i}static isInstance(e){return ir.hasMarker(e)&&uK in e}},OK="GatewayResponseError",y_e=`vercel.ai.gateway.error.${OK}`,mK=Symbol.for(y_e),fK,gK,b_e=class extends(gK=ir,fK=mK,gK){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:n,validationError:r,cause:i,generationId:a,isRetryable:s}={}){super({message:e,statusCode:t,cause:i,generationId:a,isRetryable:s});this[fK]=!0,this.name=OK,this.type="response_error",this.response=n,this.validationError=r}static isInstance(e){return ir.hasMarker(e)&&mK in e}};async function hK({response:e,statusCode:t,defaultMessage:n="Gateway request failed",cause:r,authMethod:i,isRetryable:a}){var s;let l=await Cn({value:e,schema:v_e});if(!l.success){let f=typeof e==="object"&&e!==null&&"generationId"in e?e.generationId:void 0;return new b_e({message:`Invalid error response format: ${n}`,statusCode:t,response:e,validationError:l.error,cause:r,generationId:f,isRetryable:a})}let c=l.value,u=c.error.type,d=c.error.message,p=(s=c.generationId)!=null?s:void 0;switch(u){case"authentication_error":return Mx.createContextualError({apiKeyProvided:i==="api-key",oidcTokenProvided:i==="oidc",statusCode:t,cause:r,generationId:p});case"invalid_request_error":return new i_e({message:d,statusCode:t,cause:r,generationId:p});case"rate_limit_exceeded":return new s_e({message:d,statusCode:t,cause:r,generationId:p});case"model_not_found":{let f=await Cn({value:c.error.param,schema:c_e});return new u_e({message:d,statusCode:t,modelId:f.success?f.value.modelId:void 0,cause:r,generationId:p})}case"internal_server_error":return new aK({message:d,statusCode:t,cause:r,generationId:p});case"failed_dependency":return new m_e({message:d,statusCode:t,cause:r,generationId:p});case"forbidden":{let f=await Cn({value:c.error.param,schema:g_e});return new h_e({message:d,statusCode:t,cause:r,generationId:p,ruleId:f.success?f.value.ruleId:void 0})}default:return new aK({message:d,statusCode:t,cause:r,generationId:p})}}var v_e=G(()=>W(o.object({error:o.object({message:o.string(),type:o.string().nullish(),param:o.unknown().nullish(),code:o.union([o.string(),o.number()]).nullish()}),generationId:o.string().nullish()})));function S_e(e){if(e.data!==void 0)return e.data;if(e.responseBody!=null)try{return ni(e.responseBody)}catch(t){return e.responseBody}return{}}var MK="GatewayTimeoutError",x_e=`vercel.ai.gateway.error.${MK}`,yK=Symbol.for(x_e),bK,vK,SK=class e extends(vK=ir,bK=yK,vK){constructor({message:t="Request timed out",statusCode:n=408,cause:r,generationId:i}={}){super({message:t,statusCode:n,cause:r,generationId:i});this[bK]=!0,this.name=MK,this.type="timeout_error"}static isInstance(t){return ir.hasMarker(t)&&yK in t}static createTimeoutError({originalMessage:t,statusCode:n=408,cause:r,generationId:i}){let a=`Gateway request timed out: ${t}
189
189
 
190
- This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`;return new e({message:a,statusCode:n,cause:r,generationId:i})}};function xK(e){if(!(e instanceof Error))return!1;let t=e.code;if(typeof t==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(t);return!1}async function eo(e,t){var n;if(ir.isInstance(e))return e;if(xK(e))return SK.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e});if(Dt.isInstance(e)){if(e.cause&&xK(e.cause))return SK.createTimeoutError({originalMessage:e.message,cause:e});return await hK({response:S_e(e),statusCode:(n=e.statusCode)!=null?n:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t,isRetryable:e.isRetryable&&(e.statusCode==null||e.statusCode<400)?!0:void 0})}return await hK({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}var jK="ai-gateway-auth-method";async function Ai(e){let t=await Cn({value:e[jK],schema:w_e});return t.success?t.value:void 0}var w_e=G(()=>W(o.union([o.literal("api-key"),o.literal("oidc")]))),T_e=["embedding","image","language","reranking","speech","transcription","video"],wK=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await ti({url:`${this.config.baseURL}/config`,headers:await mt(this.config.headers()),successfulResponseHandler:ht(__e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(t)=>{var n;return(n=wn(t))!=null?n:"unknown error"}}),fetch:this.config.fetch});return e}catch(e){throw await eo(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await ti({url:`${e.origin}/v1/credits`,headers:await mt(this.config.headers()),successfulResponseHandler:ht(I_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(n)=>{var r;return(r=wn(n))!=null?r:"unknown error"}}),fetch:this.config.fetch});return t}catch(e){throw await eo(e)}}},__e=G(()=>W(o.object({models:o.array(o.object({id:o.string(),name:o.string(),description:o.string().nullish(),pricing:o.object({input:o.string(),output:o.string(),input_cache_read:o.string().nullish(),input_cache_write:o.string().nullish()}).transform(({input:e,output:t,input_cache_read:n,input_cache_write:r})=>({input:e,output:t,...n?{cachedInputTokens:n}:{},...r?{cacheCreationInputTokens:r}:{}})).nullish(),specification:o.object({specificationVersion:o.literal("v3"),provider:o.string(),modelId:o.string()}),modelType:o.string().nullish()})).transform((e)=>e.filter((t)=>t.modelType==null||T_e.includes(t.modelType)))}))),I_e=G(()=>W(o.object({balance:o.string(),total_used:o.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),C_e=class{constructor(e){this.config=e}async getSpendReport(e){try{let t=new URL(this.config.baseURL),n=new URLSearchParams;if(n.set("start_date",e.startDate),n.set("end_date",e.endDate),e.groupBy)n.set("group_by",e.groupBy);if(e.datePart)n.set("date_part",e.datePart);if(e.userId)n.set("user_id",e.userId);if(e.model)n.set("model",e.model);if(e.provider)n.set("provider",e.provider);if(e.credentialType)n.set("credential_type",e.credentialType);if(e.tags&&e.tags.length>0)n.set("tags",e.tags.join(","));let{value:r}=await ti({url:`${t.origin}/v1/report?${n.toString()}`,headers:await mt(this.config.headers()),successfulResponseHandler:ht(E_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(i)=>{var a;return(a=wn(i))!=null?a:"unknown error"}}),fetch:this.config.fetch});return r}catch(t){throw await eo(t)}}},E_e=G(()=>W(o.object({results:o.array(o.object({day:o.string().optional(),hour:o.string().optional(),user:o.string().optional(),model:o.string().optional(),tag:o.string().optional(),provider:o.string().optional(),credential_type:o.enum(["byok","system"]).optional(),total_cost:o.number(),market_cost:o.number().optional(),input_tokens:o.number().optional(),output_tokens:o.number().optional(),cached_input_tokens:o.number().optional(),cache_creation_input_tokens:o.number().optional(),reasoning_tokens:o.number().optional(),request_count:o.number().optional()}).transform(({credential_type:e,total_cost:t,market_cost:n,input_tokens:r,output_tokens:i,cached_input_tokens:a,cache_creation_input_tokens:s,reasoning_tokens:l,request_count:c,...u})=>({...u,...e!==void 0?{credentialType:e}:{},totalCost:t,...n!==void 0?{marketCost:n}:{},...r!==void 0?{inputTokens:r}:{},...i!==void 0?{outputTokens:i}:{},...a!==void 0?{cachedInputTokens:a}:{},...s!==void 0?{cacheCreationInputTokens:s}:{},...l!==void 0?{reasoningTokens:l}:{},...c!==void 0?{requestCount:c}:{}})))}))),k_e=class{constructor(e){this.config=e}async getGenerationInfo(e){try{let t=new URL(this.config.baseURL),{value:n}=await ti({url:`${t.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,headers:await mt(this.config.headers()),successfulResponseHandler:ht(R_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(r)=>{var i;return(i=wn(r))!=null?i:"unknown error"}}),fetch:this.config.fetch});return n}catch(t){throw await eo(t)}}},R_e=G(()=>W(o.object({data:o.object({id:o.string(),total_cost:o.number(),upstream_inference_cost:o.number(),usage:o.number(),created_at:o.string(),model:o.string(),is_byok:o.boolean(),provider_name:o.string(),streamed:o.boolean(),finish_reason:o.string(),latency:o.number(),generation_time:o.number(),native_tokens_prompt:o.number(),native_tokens_completion:o.number(),native_tokens_reasoning:o.number(),native_tokens_cached:o.number(),native_tokens_cache_creation:o.number(),billable_web_search_calls:o.number()}).transform(({total_cost:e,upstream_inference_cost:t,created_at:n,is_byok:r,provider_name:i,finish_reason:a,generation_time:s,native_tokens_prompt:l,native_tokens_completion:c,native_tokens_reasoning:u,native_tokens_cached:d,native_tokens_cache_creation:p,billable_web_search_calls:f,...m})=>({...m,totalCost:e,upstreamInferenceCost:t,createdAt:n,isByok:r,providerName:i,finishReason:a,generationTime:s,promptTokens:l,completionTokens:c,reasoningTokens:u,cachedTokens:d,cacheCreationTokens:p,billableWebSearchCalls:f}))}).transform(({data:e})=>e))),A_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...n}=e;return{args:this.maybeEncodeFileParts(n),warnings:[]}}async doGenerate(e){var t;let{args:n,warnings:r}=await this.getArgs(e),{abortSignal:i}=e,a=await mt(this.config.headers());try{let{responseHeaders:s,value:l,rawValue:c}=await St({url:this.getUrl(),headers:pt(a,e.headers,this.getModelConfigHeaders(this.modelId,!1),await mt(this.config.o11yHeaders)),body:n,successfulResponseHandler:ht(o.any()),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(u)=>{var d;return(d=wn(u))!=null?d:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{...l,request:{body:n},response:{headers:s,body:c},warnings:[...(t=l.warnings)!=null?t:[],...r]}}catch(s){throw await eo(s,await Ai(a))}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),{abortSignal:r}=e,i=await mt(this.config.headers());try{let{value:a,responseHeaders:s}=await St({url:this.getUrl(),headers:pt(i,e.headers,this.getModelConfigHeaders(this.modelId,!0),await mt(this.config.o11yHeaders)),body:t,successfulResponseHandler:Xr(o.any()),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(l)=>{var c;return(c=wn(l))!=null?c:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{stream:a.pipeThrough(new TransformStream({start(l){if(n.length>0)l.enqueue({type:"stream-start",warnings:n})},transform(l,c){if(l.success){let u=l.value;if(u.type==="raw"&&!e.includeRawChunks)return;if(u.type==="response-metadata"&&u.timestamp&&typeof u.timestamp==="string")u.timestamp=new Date(u.timestamp);c.enqueue(u)}else c.error(l.error)}})),request:{body:t},response:{headers:s}}}catch(a){throw await eo(a,await Ai(i))}}isFilePart(e){return e&&typeof e==="object"&&"type"in e&&e.type==="file"}maybeEncodeFileParts(e){for(let t of e.prompt)for(let n of t.content)if(this.isFilePart(n)){let r=n;if(r.data instanceof Uint8Array){let i=Uint8Array.from(r.data),a=Buffer.from(i).toString("base64");r.data=new URL(`data:${r.mediaType||"application/octet-stream"};base64,${a}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"3","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}},P_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){var i,a;let s=await mt(this.config.headers());try{let{responseHeaders:l,value:c,rawValue:u}=await St({url:this.getUrl(),headers:pt(s,t!=null?t:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders)),body:{values:e,...r?{providerOptions:r}:{}},successfulResponseHandler:ht(M_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(d)=>{var p;return(p=wn(d))!=null?p:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{embeddings:c.embeddings,usage:(i=c.usage)!=null?i:void 0,providerMetadata:c.providerMetadata,response:{headers:l,body:u},warnings:(a=c.warnings)!=null?a:[]}}catch(l){throw await eo(l,await Ai(s))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},O_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("other"),message:o.string()})]),M_e=G(()=>W(o.object({embeddings:o.array(o.array(o.number())),usage:o.object({tokens:o.number()}).nullish(),warnings:o.array(O_e).optional(),providerMetadata:o.record(o.string(),o.record(o.string(),o.unknown())).optional()})));function jx(e){return(e!=null?e:[]).map((t)=>t.type==="deprecated"?{type:"other",message:t.message}:t)}var j_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,files:a,mask:s,providerOptions:l,headers:c,abortSignal:u}){var d,p,f;let m=await mt(this.config.headers());try{let{responseHeaders:g,value:h,rawValue:b}=await St({url:this.getUrl(),headers:pt(m,c!=null?c:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders)),body:{prompt:e,n:t,...n&&{size:n},...r&&{aspectRatio:r},...i&&{seed:i},...l&&{providerOptions:l},...a&&{files:a.map((w)=>TK(w))},...s&&{mask:TK(s)}},successfulResponseHandler:ht(B_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(w)=>{var _;return(_=wn(w))!=null?_:"unknown error"}}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:h.images,...h.isRetryable!=null&&{isRetryable:h.isRetryable},warnings:jx(h.warnings),providerMetadata:h.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:g},...h.usage!=null&&{usage:{inputTokens:(d=h.usage.inputTokens)!=null?d:void 0,outputTokens:(p=h.usage.outputTokens)!=null?p:void 0,totalTokens:(f=h.usage.totalTokens)!=null?f:void 0}}}}catch(g){throw await eo(g,await Ai(m))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function TK(e){if(e.type==="file"&&e.data instanceof Uint8Array)return{...e,data:jr(e.data)};return e}var D_e=o.object({images:o.array(o.unknown()).optional()}).catchall(o.unknown()),N_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("deprecated"),setting:o.string(),message:o.string()}),o.object({type:o.literal("other"),message:o.string()})]),z_e=o.object({inputTokens:o.number().nullish(),outputTokens:o.number().nullish(),totalTokens:o.number().nullish()}),B_e=o.object({images:o.array(o.string()),isRetryable:o.boolean().optional(),warnings:o.array(N_e).optional(),providerMetadata:o.record(o.string(),D_e).optional(),usage:z_e.optional()}),F_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,aspectRatio:n,resolution:r,duration:i,fps:a,seed:s,generateAudio:l,image:c,frameImages:u,inputReferences:d,providerOptions:p,headers:f,abortSignal:m}){let g=await mt(this.config.headers());try{let{responseHeaders:h,value:b}=await St({url:this.getUrl(),headers:pt(g,f!=null?f:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:e,n:t,...n&&{aspectRatio:n},...r&&{resolution:r},...i&&{duration:i},...a&&{fps:a},...s&&{seed:s},...l!==void 0&&{generateAudio:l},...p&&{providerOptions:p},...c&&{image:CP(c)},...u&&{frameImages:u.map((w)=>({...w,image:CP(w.image)}))},...d&&{inputReferences:d.map((w)=>CP(w))}},successfulResponseHandler:async({response:w,url:_,requestBodyValues:y})=>{if(w.body==null)throw new Dt({message:"SSE response body is empty",url:_,requestBodyValues:y,statusCode:w.status});let A=Px({stream:w.body,schema:U_e}).getReader(),{done:v,value:R}=await A.read();if(A.releaseLock(),v||!R)throw new Dt({message:"SSE stream ended without a data event",url:_,requestBodyValues:y,statusCode:w.status});if(!R.success)throw new Dt({message:"Failed to parse video SSE event",cause:R.error,url:_,requestBodyValues:y,statusCode:w.status});let z=R.value;if(z.type==="error")throw new Dt({message:z.message,statusCode:z.statusCode,url:_,requestBodyValues:y,responseHeaders:Object.fromEntries([...w.headers]),responseBody:JSON.stringify(z),data:{error:{message:z.message,type:z.errorType,param:z.param}}});return{value:{videos:z.videos,warnings:z.warnings,providerMetadata:z.providerMetadata},responseHeaders:Object.fromEntries([...w.headers])}},failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(w)=>{var _;return(_=wn(w))!=null?_:"unknown error"}}),...m&&{abortSignal:m},fetch:this.config.fetch});return{videos:b.videos,warnings:jx(b.warnings),providerMetadata:b.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:h}}}catch(h){throw await eo(h,await Ai(g))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}};function CP(e){if(e.type==="file"&&e.data instanceof Uint8Array)return{...e,data:jr(e.data)};return e}var q_e=o.object({videos:o.array(o.unknown()).optional()}).catchall(o.unknown()),L_e=o.union([o.object({type:o.literal("url"),url:o.string(),mediaType:o.string()}),o.object({type:o.literal("base64"),data:o.string(),mediaType:o.string()})]),$_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("deprecated"),setting:o.string(),message:o.string()}),o.object({type:o.literal("other"),message:o.string()})]),U_e=o.discriminatedUnion("type",[o.object({type:o.literal("result"),videos:o.array(L_e),warnings:o.array($_e).optional(),providerMetadata:o.record(o.string(),q_e).optional()}),o.object({type:o.literal("error"),message:o.string(),errorType:o.string(),statusCode:o.number(),param:o.unknown().nullable()})]),Z_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async doRerank({documents:e,query:t,topN:n,headers:r,abortSignal:i,providerOptions:a}){var s;let l=await mt(this.config.headers());try{let{responseHeaders:c,value:u,rawValue:d}=await St({url:this.getUrl(),headers:pt(l,r!=null?r:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders)),body:{documents:e,query:t,...n!=null?{topN:n}:{},...a?{providerOptions:a}:{}},successfulResponseHandler:ht(G_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(p)=>{var f;return(f=wn(p))!=null?f:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{ranking:u.ranking,providerMetadata:u.providerMetadata,response:{headers:c,body:d},warnings:(s=u.warnings)!=null?s:[]}}catch(c){throw await eo(c,await Ai(l))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"3","ai-model-id":this.modelId}}},W_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("other"),message:o.string()})]),G_e=G(()=>W(o.object({ranking:o.array(o.object({index:o.number(),relevanceScore:o.number()})),warnings:o.array(W_e).optional(),providerMetadata:o.record(o.string(),o.record(o.string(),o.unknown())).optional()}))),J_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async doGenerate({text:e,voice:t,outputFormat:n,instructions:r,speed:i,language:a,providerOptions:s,headers:l,abortSignal:c}){let u=await mt(this.config.headers());try{let{responseHeaders:d,value:p,rawValue:f}=await St({url:this.getUrl(),headers:pt(u,l!=null?l:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders)),body:{text:e,...t&&{voice:t},...n&&{outputFormat:n},...r&&{instructions:r},...i!=null&&{speed:i},...a&&{language:a},...s&&{providerOptions:s}},successfulResponseHandler:ht(K_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(m)=>{var g;return(g=wn(m))!=null?g:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return{audio:p.audio,warnings:jx(p.warnings),providerMetadata:p.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d,body:f}}}catch(d){throw await eo(d,await Ai(u!=null?u:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"3","ai-model-id":this.modelId}}},V_e=o.object({}).catchall(o.unknown()),H_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("deprecated"),setting:o.string(),message:o.string()}),o.object({type:o.literal("other"),message:o.string()})]),K_e=o.object({audio:o.string(),warnings:o.array(H_e).optional(),providerMetadata:o.record(o.string(),V_e).optional()}),Q_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async doGenerate({audio:e,mediaType:t,providerOptions:n,headers:r,abortSignal:i}){var a,s,l;let c=await mt(this.config.headers());try{let{responseHeaders:u,value:d,rawValue:p}=await St({url:this.getUrl(),headers:pt(c,r!=null?r:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders)),body:{audio:e instanceof Uint8Array?jr(e):e,mediaType:t,...n&&{providerOptions:n}},successfulResponseHandler:ht(eIe),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(f)=>{var m;return(m=wn(f))!=null?m:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{text:d.text,segments:(a=d.segments)!=null?a:[],language:(s=d.language)!=null?s:void 0,durationInSeconds:(l=d.durationInSeconds)!=null?l:void 0,warnings:jx(d.warnings),providerMetadata:d.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:u,body:p}}}catch(u){throw await eo(u,await Ai(c!=null?c:{}))}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"3","ai-model-id":this.modelId}}},Y_e=o.object({}).catchall(o.unknown()),X_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("deprecated"),setting:o.string(),message:o.string()}),o.object({type:o.literal("other"),message:o.string()})]),eIe=o.object({text:o.string(),segments:o.array(o.object({text:o.string(),startSecond:o.number(),endSecond:o.number()})).optional(),language:o.string().nullish(),durationInSeconds:o.number().nullish(),warnings:o.array(X_e).optional(),providerMetadata:o.record(o.string(),Y_e).optional()}),DK=o.record(o.string(),o.unknown()),tIe=G(()=>W(o.object({url:o.string().url().describe("URL of the page to fetch."),allow_redirects:o.boolean().optional().describe("Whether to follow HTTP redirects (default: false)."),allow_insecure_ssl:o.boolean().optional().describe("Whether to bypass TLS certificate verification (default: false). Only use for trusted hosts."),proxies:o.boolean().optional().describe("Whether to route the request through Browserbase proxies (default: false)."),format:o.enum(["raw","json","markdown"]).optional().describe("Output format. raw returns the response body unchanged, markdown returns page content as Markdown, and json returns structured content using schema."),schema:DK.optional().describe("JSON Schema for structured extraction. Only use with format set to json.")}))),nIe=G(()=>W(o.union([o.object({id:o.string(),content:o.union([o.string(),DK]),contentType:o.string(),encoding:o.string(),headers:o.record(o.string(),o.string()),statusCode:o.number()}),o.object({error:o.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown"]),statusCode:o.number().optional(),message:o.string()})]))),rIe=ut({id:"gateway.browserbase_fetch",inputSchema:tIe,outputSchema:nIe}),oIe=(e={})=>rIe(e),iIe=G(()=>W(o.object({query:o.string().min(1).max(200).describe("Web search query. Must be between 1 and 200 characters."),num_results:o.number().int().min(1).max(25).optional().describe("Maximum number of results to return (1-25, default: 10).")}))),aIe=G(()=>W(o.union([o.object({query:o.string(),requestId:o.string(),results:o.array(o.object({id:o.string(),title:o.string(),url:o.string(),author:o.string().optional(),favicon:o.string().optional(),image:o.string().optional(),publishedDate:o.string().optional()}))}),o.object({error:o.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown"]),statusCode:o.number().optional(),message:o.string()})]))),sIe=ut({id:"gateway.browserbase_search",inputSchema:iIe,outputSchema:aIe}),lIe=(e={})=>sIe(e),cIe=G(()=>W(o.object({query:o.string().describe("Natural-language web search query. This is required."),type:o.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:o.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:o.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:o.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:o.array(o.string()).optional().describe("Only return results from these domains."),exclude_domains:o.array(o.string()).optional().describe("Exclude results from these domains."),start_published_date:o.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:o.string().optional().describe("Only return links published before this ISO 8601 date."),contents:o.object({text:o.union([o.boolean(),o.object({max_characters:o.number().optional(),include_html_tags:o.boolean().optional(),verbosity:o.enum(["compact","standard","full"]).optional(),include_sections:o.array(o.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:o.array(o.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:o.union([o.boolean(),o.object({query:o.string().optional(),max_characters:o.number().optional()})]).optional(),max_age_hours:o.number().optional(),livecrawl_timeout:o.number().optional(),subpages:o.number().optional(),subpage_target:o.union([o.string(),o.array(o.string())]).optional(),extras:o.object({links:o.number().optional(),image_links:o.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),uIe=G(()=>W(o.union([o.object({requestId:o.string(),searchType:o.string().optional(),resolvedSearchType:o.string().optional(),results:o.array(o.object({title:o.string(),url:o.string(),id:o.string(),publishedDate:o.string().nullable().optional(),author:o.string().nullable().optional(),image:o.string().nullable().optional(),favicon:o.string().nullable().optional(),text:o.string().optional(),highlights:o.array(o.string()).optional(),highlightScores:o.array(o.number()).optional(),summary:o.string().optional(),subpages:o.array(o.any()).optional(),extras:o.object({links:o.array(o.string()).optional(),imageLinks:o.array(o.string()).optional()}).optional()})),costDollars:o.object({total:o.number().optional(),search:o.record(o.number()).optional()}).optional()}),o.object({error:o.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:o.number().optional(),message:o.string()})]))),dIe=ut({id:"gateway.exa_search",inputSchema:cIe,outputSchema:uIe}),pIe=(e={})=>dIe(e),mIe=G(()=>W(o.object({objective:o.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:o.array(o.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:o.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:o.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:o.object({include_domains:o.array(o.string()).optional().describe("Limit results to these domains. Use plain domain names only \u2014 e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),exclude_domains:o.array(o.string()).optional().describe("Exclude results from these domains. Use plain domain names only \u2014 e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),after_date:o.string().optional().describe("Only include results published after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:o.object({max_chars_per_result:o.number().optional().describe("Maximum characters per result."),max_chars_total:o.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:o.object({max_age_seconds:o.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),fIe=G(()=>W(o.union([o.object({searchId:o.string(),results:o.array(o.object({url:o.string(),title:o.string(),excerpt:o.string(),publishDate:o.string().nullable().optional(),relevanceScore:o.number().optional()}))}),o.object({error:o.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:o.number().optional(),message:o.string()})]))),gIe=ut({id:"gateway.parallel_search",inputSchema:mIe,outputSchema:fIe}),hIe=(e={})=>gIe(e),yIe=G(()=>W(o.object({query:o.union([o.string(),o.array(o.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:o.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:o.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:o.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:o.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:o.array(o.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:o.array(o.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:o.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:o.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:o.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:o.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:o.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),bIe=G(()=>W(o.union([o.object({results:o.array(o.object({title:o.string(),url:o.string(),snippet:o.string(),date:o.string().optional(),lastUpdated:o.string().optional()})),id:o.string()}),o.object({error:o.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:o.number().optional(),message:o.string()})]))),vIe=ut({id:"gateway.perplexity_search",inputSchema:yIe,outputSchema:bIe}),SIe=(e={})=>vIe(e),xIe=o.object({count:o.number().optional().describe("Maximum number of data results to return (1-20). When include_contents is true, each additional result adds its own data surcharge."),include_contents:o.boolean().optional().describe("Inline rows for each data result. This adds a data surcharge based on row count and dataset source. To estimate cost, search with include_contents disabled and inspect cards.content.export_pricing. This applies to every returned card; limit sources.data.count and sources.data.max_rows to control cost."),mode:o.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:o.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:o.number().optional().describe("Maximum rows to inline per result. Omit to use the allowance in cards.content.export_pricing. A data surcharge applies per 1,000 exported rows; lower values reduce cost."),node_ids:o.array(o.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:o.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),wIe=o.object({count:o.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:o.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:o.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:o.array(o.string()).optional().describe("Only return results from these bare domains."),exclude_domains:o.array(o.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:o.number().optional().describe("Maximum characters in each web-result snippet."),highlights:o.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:o.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:o.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:o.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),TIe=G(()=>W(o.object({query:o.string().describe('Natural-language search query. Include the entity, metric, and time period. Quote a phrase to force it to one entity, for example "Tesla":PRODUCT price.'),effort:o.enum(["deep","fast","instant"]).optional().describe("Search effort. fast is the balanced default, instant favors cached results and low latency, and deep broadens retrieval with reranking at higher cost and latency."),sources:o.object({data:xIe.optional(),web:wIe.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:o.object({latitude:o.number().describe("Latitude between -90 and 90."),longitude:o.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:o.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:o.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:o.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:o.object({image_dark_mode:o.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:o.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:o.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),_K=o.union([o.boolean(),o.number(),o.string()]).nullable(),NK=o.object({content_format:o.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:o.number().optional(),data:o.string().nullish(),records:o.array(o.record(o.string(),_K)).nullish(),dataset:o.object({columns:o.array(o.object({name:o.string(),type:o.enum(["boolean","date","datetime","number","string"]),unit:o.string().nullish()})),rows:o.array(o.array(_K)),total_rows:o.number(),truncated:o.boolean(),ref:o.string(),sources:o.array(o.object({name:o.string(),index:o.enum(["data","web"]).optional()})),provenance:o.enum(["query","web_extraction"]).optional()}).nullish(),card_data:o.object({}).passthrough().nullish(),card_data_schema:o.object({}).passthrough().nullish(),url:o.string().nullish(),expires_at:o.string().nullish(),total_rows:o.number().nullish(),truncated:o.boolean().optional(),export_pricing:o.object({baseline_usd:o.number(),free_rows:o.number(),max_rows_ceiling:o.number(),row_cpm_usd:o.number()}).nullish(),manifest:o.array(o.object({dtype:o.enum(["boolean","date","datetime","number","string"]).nullish(),entity:o.string().nullish(),metric:o.string().nullish(),name:o.string().nullish(),unit:o.string().nullish()})).nullish()}).passthrough(),_Ie=o.object({card_id:o.string().nullish(),title:o.string().nullish(),description:o.string().nullish(),semantic_description:o.string().nullish(),webpage_url:o.string().nullish(),image_url:o.string().nullish(),embed_url:o.string().nullish(),sources:o.array(o.object({source_name:o.string().nullish(),source_description:o.string().nullish(),source_index:o.enum(["data","web"]),source_text:o.string().nullish(),url:o.string().nullish()})).nullish(),methodologies:o.array(o.object({methodology_name:o.string().nullable(),methodology_description:o.string().nullable()})).nullish(),source_indexes:o.array(o.enum(["data","web"])).nullish(),card_type:o.string().nullish(),relevance:o.enum(["High","Low","Medium"]).nullish(),content:NK.nullish(),exportable:o.boolean().optional(),nodes:o.array(o.object({id:o.string(),type:o.enum(["entity","metric"]),name:o.string(),description:o.string().nullish()})).nullish(),metric_definitions:o.array(o.object({name:o.string(),definition:o.string()})).nullish(),data_freshness:o.object({coverage_end:o.string().nullish(),data_as_of:o.string().nullish(),last_updated:o.string().nullish()}).nullish()}).passthrough(),IIe=o.object({title:o.string(),url:o.string(),snippet:o.string().nullish(),source_name:o.string().nullish(),publish_date:o.string().nullish(),content:NK.nullish()}).passthrough(),CIe=G(()=>W(o.union([o.object({request_id:o.string(),cards:o.array(_Ie).optional(),web_results:o.array(IIe).optional(),usage:o.object({total_cost_usd:o.number(),compute:o.object({cost_usd:o.number()}).nullish(),data:o.object({cost_usd:o.number(),datasets:o.number()}).nullish()}).nullish(),related:o.array(o.object({}).passthrough()).nullish()}).passthrough(),o.object({error:o.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:o.number().optional(),message:o.string()})]))),EIe=ut({id:"gateway.tako_search",inputSchema:TIe,outputSchema:CIe}),kIe=(e={})=>EIe(e),RIe={browserbaseFetch:oIe,browserbaseSearch:lIe,exaSearch:pIe,parallelSearch:hIe,perplexitySearch:SIe,takoSearch:kIe};async function AIe(){var e;return(e=zK.getContext().headers)==null?void 0:e["x-vercel-id"]}var PIe="3.0.212",OIe="0.0.1";function MIe(e={}){var t,n;let r=null,i=null,a=(t=e.metadataCacheRefreshMillis)!=null?t:300000,s=0,l=(n=Wl(e.baseURL))!=null?n:"https://ai-gateway.vercel.sh/v3/ai",c=async()=>{try{let S=await jIe(e);return Yn({Authorization:`Bearer ${S.token}`,"ai-gateway-protocol-version":OIe,[jK]:S.authMethod,...e.headers},`ai-sdk/gateway/${PIe}`)}catch(S){throw Mx.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:S})}},u=()=>{let S=Va({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),A=Va({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),v=Va({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),R=Va({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let z=await AIe();return{...S&&{"ai-o11y-deployment-id":S},...A&&{"ai-o11y-environment":A},...v&&{"ai-o11y-region":v},...z&&{"ai-o11y-request-id":z},...R&&{"ai-o11y-project-id":R}}}},d=(S)=>new A_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()}),p=async()=>{var S,A,v;let R=(v=(A=(S=e._internal)==null?void 0:S.currentDate)==null?void 0:A.call(S).getTime())!=null?v:Date.now();if(!r||R-s>a)s=R,r=new wK({baseURL:l,headers:c,fetch:e.fetch}).getAvailableModels().then((z)=>(i=z,z)).catch(async(z)=>{throw await eo(z,await Ai(await c()))});return i?Promise.resolve(i):r},f=async()=>new wK({baseURL:l,headers:c,fetch:e.fetch}).getCredits().catch(async(S)=>{throw await eo(S,await Ai(await c()))}),m=async(S)=>new C_e({baseURL:l,headers:c,fetch:e.fetch}).getSpendReport(S).catch(async(A)=>{throw await eo(A,await Ai(await c()))}),g=async(S)=>new k_e({baseURL:l,headers:c,fetch:e.fetch}).getGenerationInfo(S).catch(async(A)=>{throw await eo(A,await Ai(await c()))}),h=function(S){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return d(S)};h.specificationVersion="v3",h.getAvailableModels=p,h.getCredits=f,h.getSpendReport=m,h.getGenerationInfo=g,h.imageModel=(S)=>new j_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()}),h.languageModel=d;let b=(S)=>new P_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()});h.embeddingModel=b,h.textEmbeddingModel=b,h.videoModel=(S)=>new F_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()});let w=(S)=>new Z_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()});h.rerankingModel=w,h.reranking=w;let _=(S)=>new J_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()});h.speechModel=_,h.speech=_;let y=(S)=>new Q_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()});return h.transcriptionModel=y,h.transcription=y,h.chat=h.languageModel,h.embedding=h.embeddingModel,h.image=h.imageModel,h.video=h.videoModel,h.tools=RIe,h}var FK=MIe();async function jIe(e){let t=Va({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(t)return{token:t,authMethod:"api-key"};return{token:await BK.getVercelOidcToken(),authMethod:"oidc"}}var QQ=Es(S0(),1),Jp=Es(S0(),1);var ZEe=Object.defineProperty,WEe=(e,t)=>{for(var n in t)ZEe(e,n,{get:t[n],enumerable:!0})},G5="AI_InvalidArgumentError",J5=`vercel.ai.error.${G5}`,GEe=Symbol.for(J5),V5,jn=class extends Re{constructor({parameter:e,value:t,message:n}){super({name:G5,message:`Invalid argument for parameter ${e}: ${n}`});this[V5]=!0,this.parameter=e,this.value=t}static isInstance(e){return Re.hasMarker(e,J5)}};V5=GEe;var JEe="AI_InvalidStreamPartError",VEe=`vercel.ai.error.${JEe}`,HEe=Symbol.for(VEe),KEe;KEe=HEe;var H5="AI_InvalidToolApprovalError",K5=`vercel.ai.error.${H5}`,QEe=Symbol.for(K5),Q5,YEe=class extends Re{constructor({approvalId:e}){super({name:H5,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`});this[Q5]=!0,this.approvalId=e}static isInstance(e){return Re.hasMarker(e,K5)}};Q5=QEe;var Y5="AI_InvalidToolApprovalSignatureError",X5=`vercel.ai.error.${Y5}`,XEe=Symbol.for(X5),eQ,P5=class extends Re{constructor({approvalId:e,toolCallId:t,reason:n}){super({name:Y5,message:`Tool approval signature verification failed for approval "${e}" (tool call "${t}"): ${n}`});this[eQ]=!0,this.approvalId=e,this.toolCallId=t}static isInstance(e){return Re.hasMarker(e,X5)}};eQ=XEe;var tQ="AI_InvalidToolInputError",nQ=`vercel.ai.error.${tQ}`,eke=Symbol.for(nQ),rQ,Xx=class extends Re{constructor({toolInput:e,toolName:t,cause:n,message:r=`Invalid input for tool ${t}: ${aa(n)}`}){super({name:tQ,message:r,cause:n});this[rQ]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return Re.hasMarker(e,nQ)}};rQ=eke;var oQ="AI_ToolCallNotFoundForApprovalError",iQ=`vercel.ai.error.${oQ}`,tke=Symbol.for(iQ),aQ,O0=class extends Re{constructor({toolCallId:e,approvalId:t}){super({name:oQ,message:`Tool call "${e}" not found for approval request "${t}".`});this[aQ]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return Re.hasMarker(e,iQ)}};aQ=tke;var sQ="AI_MissingToolResultsError",lQ=`vercel.ai.error.${sQ}`,nke=Symbol.for(lQ),cQ,O5=class extends Re{constructor({toolCallIds:e}){super({name:sQ,message:`Tool result${e.length>1?"s are":" is"} missing for tool call${e.length>1?"s":""} ${e.join(", ")}.`});this[cQ]=!0,this.toolCallIds=e}static isInstance(e){return Re.hasMarker(e,lQ)}};cQ=nke;var uQ="AI_NoImageGeneratedError",dQ=`vercel.ai.error.${uQ}`,rke=Symbol.for(dQ),pQ,oke=class extends Re{constructor({message:e="No image generated.",cause:t,responses:n}){super({name:uQ,message:e,cause:t});this[pQ]=!0,this.responses=n}static isInstance(e){return Re.hasMarker(e,dQ)}};pQ=rke;var mQ="AI_NoObjectGeneratedError",fQ=`vercel.ai.error.${mQ}`,ike=Symbol.for(fQ),gQ,$r=class extends Re{constructor({message:e="No object generated.",cause:t,text:n,response:r,usage:i,finishReason:a}){super({name:mQ,message:e,cause:t});this[gQ]=!0,this.text=n,this.response=r,this.usage=i,this.finishReason=a}static isInstance(e){return Re.hasMarker(e,fQ)}};gQ=ike;var hQ="AI_NoOutputGeneratedError",yQ=`vercel.ai.error.${hQ}`,ake=Symbol.for(yQ),bQ,Gx=class extends Re{constructor({message:e="No output generated.",cause:t}={}){super({name:hQ,message:e,cause:t});this[bQ]=!0}static isInstance(e){return Re.hasMarker(e,yQ)}};bQ=ake;var ske="AI_NoSpeechGeneratedError",lke=`vercel.ai.error.${ske}`,cke=Symbol.for(lke),uke;uke=cke;var dke="AI_NoTranscriptGeneratedError",pke=`vercel.ai.error.${dke}`,mke=Symbol.for(pke),fke;fke=mke;var gke="AI_NoVideoGeneratedError",hke=`vercel.ai.error.${gke}`,yke=Symbol.for(hke),bke;bke=yke;var vQ="AI_NoSuchToolError",SQ=`vercel.ai.error.${vQ}`,vke=Symbol.for(SQ),xQ,T0=class extends Re{constructor({toolName:e,availableTools:t=void 0,message:n=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:vQ,message:n});this[xQ]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return Re.hasMarker(e,SQ)}};xQ=vke;var wQ="AI_ToolChoiceViolationError",TQ=`vercel.ai.error.${wQ}`,Ske=Symbol.for(TQ),_Q,xke=class extends Re{constructor({toolChoice:e,finishReason:t,provider:n,modelId:r,content:i,message:a=e.type==="required"?"Model response did not contain a tool call even though tool choice was required.":`Model response did not contain a call to the required tool '${e.toolName}'.`}){super({name:wQ,message:a});this[_Q]=!0,this.toolChoice=e,this.finishReason=t,this.provider=n,this.modelId=r,this.content=i}static isInstance(e){return Re.hasMarker(e,TQ)}};_Q=Ske;var IQ="AI_ToolCallRepairError",CQ=`vercel.ai.error.${IQ}`,wke=Symbol.for(CQ),EQ,Tke=class extends Re{constructor({cause:e,originalError:t,message:n=`Error repairing tool call: ${aa(e)}`}){super({name:IQ,message:n,cause:e});this[EQ]=!0,this.originalError=t}static isInstance(e){return Re.hasMarker(e,CQ)}};EQ=wke;var M0=class extends Re{constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},kQ="AI_UIMessageStreamError",RQ=`vercel.ai.error.${kQ}`,_ke=Symbol.for(RQ),AQ,Zp=class extends Re{constructor({chunkType:e,chunkId:t,message:n}){super({name:kQ,message:n});this[AQ]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return Re.hasMarker(e,RQ)}};AQ=_ke;var PQ="AI_InvalidDataContentError",OQ=`vercel.ai.error.${PQ}`,Ike=Symbol.for(OQ),MQ,M5=class extends Re{constructor({content:e,cause:t,message:n=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof e}.`}){super({name:PQ,message:n,cause:t});this[MQ]=!0,this.content=e}static isInstance(e){return Re.hasMarker(e,OQ)}};MQ=Ike;var jQ="AI_InvalidMessageRoleError",DQ=`vercel.ai.error.${jQ}`,Cke=Symbol.for(DQ),NQ,Eke=class extends Re{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:jQ,message:t});this[NQ]=!0,this.role=e}static isInstance(e){return Re.hasMarker(e,DQ)}};NQ=Cke;var kke="AI_MessageConversionError",Rke=`vercel.ai.error.${kke}`,Ake=Symbol.for(Rke),Pke;Pke=Ake;var zQ="AI_RetryError",BQ=`vercel.ai.error.${zQ}`,Oke=Symbol.for(BQ),FQ,qQ=class extends Re{constructor({message:e,reason:t,errors:n}){super({name:zQ,message:e});this[FQ]=!0,this.reason=t,this.errors=n,this.lastError=n[n.length-1]}static isInstance(e){return Re.hasMarker(e,BQ)}};FQ=Oke;function Eu(e){return e===void 0?[]:Array.isArray(e)?e:[e]}async function Mo(e){for(let t of Eu(e.callbacks)){if(t==null)continue;try{await t(e.event)}catch(n){}}}function Mke({warning:e,provider:t,model:n}){let r=`AI SDK Warning (${t} / ${n}):`;switch(e.type){case"unsupported":{let i=`${r} The feature "${e.feature}" is not supported.`;if(e.details)i+=` ${e.details}`;return i}case"compatibility":{let i=`${r} The feature "${e.feature}" is used in a compatibility mode.`;if(e.details)i+=` ${e.details}`;return i}case"other":return`${r} ${e.message}`;default:return`${r} ${JSON.stringify(e,null,2)}`}}var jke="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",j5=!1,ku=(e)=>{if(e.warnings.length===0)return;let t=globalThis.AI_SDK_LOG_WARNINGS;if(t===!1)return;if(typeof t==="function"){t(e);return}if(!j5)j5=!0,console.info(jke);for(let n of e.warnings)console.warn(Mke({warning:n,provider:e.provider,model:e.model}))};function j0({provider:e,modelId:t}){ku({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:e,model:t})}function Dke(e){if(e.specificationVersion==="v3")return e;return j0({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,n){if(n==="specificationVersion")return"v3";return t[n]}})}function Nke(e){if(e.specificationVersion==="v3")return e;return j0({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,n){if(n==="specificationVersion")return"v3";return t[n]}})}function zke(e){if(e.specificationVersion==="v3")return e;return j0({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,n){switch(n){case"specificationVersion":return"v3";case"doGenerate":return async(...r)=>{let i=await t.doGenerate(...r);return{...i,finishReason:LQ(i.finishReason),usage:$Q(i.usage)}};case"doStream":return async(...r)=>{let i=await t.doStream(...r);return{...i,stream:Bke(i.stream)}};default:return t[n]}}})}function Bke(e){return e.pipeThrough(new TransformStream({transform(t,n){switch(t.type){case"finish":n.enqueue({...t,finishReason:LQ(t.finishReason),usage:$Q(t.usage)});break;default:n.enqueue(t);break}}}))}function LQ(e){return{unified:e==="unknown"?"other":e,raw:void 0}}function $Q(e){return{inputTokens:{total:e.inputTokens,noCache:void 0,cacheRead:e.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:e.outputTokens,text:void 0,reasoning:e.reasoningTokens},raw:e.totalTokens==null?void 0:{totalTokens:e.totalTokens}}}function gh(e){if(typeof e!=="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){let t=e;throw new M0({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return zke(e)}return D0().languageModel(e)}function Fke(e){if(typeof e!=="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){let t=e;throw new M0({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return Dke(e)}return D0().embeddingModel(e)}function qke(e){if(typeof e!=="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){let t=e;throw new M0({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return Nke(e)}return D0().imageModel(e)}function D0(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:FK}function N0(e){if(e==null)return;if(typeof e==="number")return e;return e.totalMs}function UQ(e){if(e==null||typeof e==="number")return;return e.stepMs}function Lke(e){if(e==null||typeof e==="number")return;return e.chunkMs}var Hx=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}];var $ke=18,Uke=12,Zke=131072,Wke=Zke+Uke;function D5(e,t){if(typeof e!=="string")return e.length>t?e.subarray(0,t):e;let n=Math.ceil(t/3)*4,r=Lr(e.substring(0,Math.min(e.length,n)));return r.length>t?r.subarray(0,t):r}function Gke(e){return e.length>10&&e[0]===73&&e[1]===68&&e[2]===51}var Jke=(e)=>{let t=(e[6]&127)<<21|(e[7]&127)<<14|(e[8]&127)<<7|e[9]&127;return e.subarray(t+10)};function Kx({data:e,signatures:t}){let n=D5(e,$ke);if(Gke(n))n=Jke(D5(e,Wke));for(let r of t)if(n.length>=r.bytesPrefix.length&&r.bytesPrefix.every((i,a)=>i===null||n[a]===i))return r.mediaType;return}var bh="6.0.303",ZQ=async({url:e,maxBytes:t,abortSignal:n})=>{var r;let i=e.toString();try{let a=Yn({},`ai-sdk/${bh}`,Np()),s=await mP({url:i,headers:a,abortSignal:n});if(!s.ok)throw await ah(s),new Mr({url:i,statusCode:s.status,statusText:s.statusText});return{data:await kx({response:s,url:i,maxBytes:t!=null?t:Ex}),mediaType:(r=s.headers.get("content-type"))!=null?r:void 0}}catch(a){if(Mr.isInstance(a))throw a;throw new Mr({url:i,cause:a})}},Vke=(e=ZQ,t)=>(n)=>Promise.all(n.map(async(r)=>r.isUrlSupportedByModel?null:await e({...r,abortSignal:t})));function vh(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let n={...e};for(let r in t){if(r==="__proto__"||r==="constructor"||r==="prototype")continue;if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(i===void 0)continue;let a=r in e?e[r]:void 0,s=i!==null&&typeof i==="object"&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp),l=a!==null&&a!==void 0&&typeof a==="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);if(s&&l)n[r]=vh(a,i);else n[r]=i}}return n}function WQ(e){try{let[t,n]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:n}}catch(t){return{mediaType:void 0,base64Content:void 0}}}var GQ=o.union([o.string(),o.instanceof(Uint8Array),o.instanceof(ArrayBuffer),o.custom((e)=>{var t,n;return(n=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?n:!1},{message:"Must be a Buffer"})]);function z0(e){let t;if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if(typeof e==="string")try{let n=new URL(e);t=n.toString()!==e?e:void 0,e=n}catch(n){}if(e instanceof URL&&e.protocol==="data:"){let{mediaType:n,base64Content:r}=WQ(e.toString());if(n==null||r==null)throw new Re({name:"InvalidDataContentError",message:`Invalid data URL format in content ${e.toString()}`});return{data:r,mediaType:n}}return{data:e,mediaType:void 0,...t!=null?{originalUrl:t}:{}}}function _0(e){if(typeof e==="string")return e;if(e instanceof ArrayBuffer)return jr(new Uint8Array(e));return jr(e)}function Hke(e){if(e instanceof Uint8Array)return e;if(typeof e==="string")try{return Lr(e)}catch(t){throw new M5({message:"Invalid data content. Content string is not a base64-encoded media.",content:e,cause:t})}if(e instanceof ArrayBuffer)return new Uint8Array(e);throw new M5({content:e})}async function B0({prompt:e,supportedUrls:t,download:n,abortSignal:r}){let i=await Qke(e.messages,n!=null?n:Vke(void 0,r),t),a=new Map;for(let d of e.messages)if(d.role==="assistant"&&Array.isArray(d.content)){for(let p of d.content)if(p.type==="tool-approval-request"&&"approvalId"in p&&"toolCallId"in p)a.set(p.approvalId,p.toolCallId)}let s=new Set;for(let d of e.messages)if(d.role==="tool"){for(let p of d.content)if(p.type==="tool-approval-response"){let f=a.get(p.approvalId);if(f)s.add(f)}}let l=[...e.system!=null?typeof e.system==="string"?[{role:"system",content:e.system}]:Eu(e.system).map((d)=>({role:"system",content:d.content,providerOptions:d.providerOptions})):[],...e.messages.map((d)=>Kke({message:d,downloadedAssets:i}))],c=[];for(let d of l){if(d.role!=="tool"){c.push(d);continue}let p=c.at(-1);if((p==null?void 0:p.role)==="tool"){let f=p.content.at(-1);if(f!=null&&p.providerOptions!=null)f.providerOptions=vh(p.providerOptions,f.providerOptions);p.content.push(...d.content),p.providerOptions=d.providerOptions}else c.push(d)}let u=new Set;for(let d of c)switch(d.role){case"assistant":{for(let p of d.content)if(p.type==="tool-call"&&!p.providerExecuted)u.add(p.toolCallId);break}case"tool":{for(let p of d.content)if(p.type==="tool-result")u.delete(p.toolCallId);break}case"user":case"system":for(let p of s)u.delete(p);if(u.size>0)throw new O5({toolCallIds:Array.from(u)});break}for(let d of s)u.delete(d);if(u.size>0)throw new O5({toolCallIds:Array.from(u)});return c.filter((d)=>d.role!=="tool"||d.content.length>0)}function Kke({message:e,downloadedAssets:t}){let n=e.role;switch(n){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":{if(typeof e.content==="string")return{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions};return{role:"user",content:e.content.map((r)=>Yke(r,t)).filter((r)=>r.type!=="text"||r.text!==""),providerOptions:e.providerOptions}}case"assistant":{if(typeof e.content==="string")return{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions};return{role:"assistant",content:e.content.filter((r)=>r.type!=="text"||r.text!==""||r.providerOptions!=null).filter((r)=>r.type!=="tool-approval-request").map((r)=>{let i=r.providerOptions;switch(r.type){case"file":{let{data:a,mediaType:s}=z0(r.data);return{type:"file",data:a,filename:r.filename,mediaType:s!=null?s:r.mediaType,providerOptions:i}}case"reasoning":return{type:"reasoning",text:r.text,providerOptions:i};case"text":return{type:"text",text:r.text,providerOptions:i};case"tool-call":return{type:"tool-call",toolCallId:r.toolCallId,toolName:r.toolName,input:r.input,providerExecuted:r.providerExecuted,providerOptions:i};case"tool-result":return{type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:N5({output:r.output,downloadedAssets:t}),providerOptions:i}}}),providerOptions:e.providerOptions}}case"tool":return{role:"tool",content:e.content.filter((r)=>r.type!=="tool-approval-response"||r.providerExecuted).map((r)=>{switch(r.type){case"tool-result":return{type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:N5({output:r.output,downloadedAssets:t}),providerOptions:r.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:r.approvalId,approved:r.approved,reason:r.reason}}}),providerOptions:e.providerOptions};default:throw new Eke({role:n})}}async function Qke(e,t,n){var r;let i=[];for(let l of e){if(l.role==="user"&&Array.isArray(l.content)){for(let c of l.content)if(c.type==="image"||c.type==="file")i.push({data:c.type==="image"?c.image:c.data,mediaType:(r=c.mediaType)!=null?r:c.type==="image"?"image/*":void 0})}if(l.role==="tool"||l.role==="assistant"){if(!Array.isArray(l.content))continue;for(let c of l.content){if(c.type!=="tool-result")continue;if(c.output.type!=="content")continue;for(let u of c.output.value)if(u.type==="image-url"||u.type==="file-url")i.push({data:new URL(u.url),mediaType:u.type==="image-url"?"image/*":u.mediaType})}}}let a=i.map((l)=>{let c=l.mediaType,{data:u}=z0(l.data);return{mediaType:c,data:u}}).filter((l)=>l.data instanceof URL).map((l)=>({url:l.data,isUrlSupportedByModel:l.mediaType!=null&&Bp({url:l.data.toString(),mediaType:l.mediaType,supportedUrls:n})})),s=await t(a);return Object.fromEntries(s.map((l,c)=>l==null?null:[a[c].url.toString(),{data:l.data,mediaType:l.mediaType}]).filter((l)=>l!=null))}function Yke(e,t){var n;if(e.type==="text")return{type:"text",text:e.text,providerOptions:e.providerOptions};let r,i=e.type;switch(i){case"image":r=e.image;break;case"file":r=e.data;break;default:throw Error(`Unsupported part type: ${i}`)}let{data:a,mediaType:s,originalUrl:l}=z0(r),c=s!=null?s:e.mediaType,u=a;if(u instanceof URL){let d=t[u.toString()];if(d)u=d.data,c!=null||(c=d.mediaType)}switch(i){case"image":{if(u instanceof Uint8Array||typeof u==="string")c=(n=Kx({data:u,signatures:Hx}))!=null?n:c;return{type:"file",mediaType:c!=null?c:"image/*",filename:void 0,data:u,...u instanceof URL&&l!=null?{originalUrl:l}:{},providerOptions:e.providerOptions}}case"file":{if(c==null)throw Error("Media type is missing for file part");return{type:"file",mediaType:c,filename:e.filename,data:u,...u instanceof URL&&l!=null?{originalUrl:l}:{},providerOptions:e.providerOptions}}}}function N5({output:e,downloadedAssets:t}){if(e.type!=="content")return e;return{type:"content",value:e.value.map((n)=>{var r,i;if(n.type==="image-url"){let a=t[new URL(n.url).toString()];if(a)return{type:"image-data",data:_0(a.data),mediaType:(r=a.mediaType)!=null?r:"image/*",providerOptions:n.providerOptions};return n}if(n.type==="file-url"){let a=t[new URL(n.url).toString()];if(a)return{type:"file-data",data:_0(a.data),mediaType:(i=a.mediaType)!=null?i:"application/octet-stream",providerOptions:n.providerOptions};return n}if(n.type!=="media")return n;if(n.mediaType.startsWith("image/"))return{type:"image-data",data:n.data,mediaType:n.mediaType};return{type:"file-data",data:n.data,mediaType:n.mediaType}})}}async function Cu({toolCallId:e,input:t,output:n,tool:r,errorMode:i}){if(i==="text")return{type:"error-text",value:aa(n)};else if(i==="json")return{type:"error-json",value:z5(n)};if(r==null?void 0:r.toModelOutput)return await r.toModelOutput({toolCallId:e,input:t,output:n});return typeof n==="string"?{type:"text",value:n}:{type:"json",value:z5(n)}}function z5(e){return e===void 0?null:e}function Gp({maxOutputTokens:e,temperature:t,topP:n,topK:r,presencePenalty:i,frequencyPenalty:a,seed:s,stopSequences:l}){if(e!=null){if(!Number.isInteger(e))throw new jn({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new jn({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(t!=null){if(typeof t!=="number")throw new jn({parameter:"temperature",value:t,message:"temperature must be a number"})}if(n!=null){if(typeof n!=="number")throw new jn({parameter:"topP",value:n,message:"topP must be a number"})}if(r!=null){if(typeof r!=="number")throw new jn({parameter:"topK",value:r,message:"topK must be a number"})}if(i!=null){if(typeof i!=="number")throw new jn({parameter:"presencePenalty",value:i,message:"presencePenalty must be a number"})}if(a!=null){if(typeof a!=="number")throw new jn({parameter:"frequencyPenalty",value:a,message:"frequencyPenalty must be a number"})}if(s!=null){if(!Number.isInteger(s))throw new jn({parameter:"seed",value:s,message:"seed must be an integer"})}return{maxOutputTokens:e,temperature:t,topP:n,topK:r,presencePenalty:i,frequencyPenalty:a,stopSequences:l,seed:s}}function Xke(e){return e!=null&&Object.keys(e).length>0}async function JQ({tools:e,toolChoice:t,activeTools:n}){if(!Xke(e))return{tools:void 0,toolChoice:void 0};let r=n!=null?Object.entries(e).filter(([a])=>n.includes(a)):Object.entries(e),i=[];for(let[a,s]of r){let l=s.type;switch(l){case void 0:case"dynamic":case"function":i.push({type:"function",name:a,description:s.description,inputSchema:await vo(s.inputSchema).jsonSchema,...s.inputExamples!=null?{inputExamples:s.inputExamples}:{},providerOptions:s.providerOptions,...s.strict!=null?{strict:s.strict}:{}});break;case"provider":i.push({type:"provider",name:a,id:s.id,args:s.args});break;default:throw Error(`Unsupported tool type: ${l}`)}}return{tools:i,toolChoice:t==null?{type:"auto"}:typeof t==="string"?{type:t}:{type:"tool",toolName:t.toolName}}}var Ru=o.lazy(()=>o.union([o.null(),o.string(),o.number(),o.boolean(),o.record(o.string(),Ru.optional()),o.array(Ru)])),nt=o.record(o.string(),o.record(o.string(),Ru.optional())),VQ=o.object({type:o.literal("text"),text:o.string(),providerOptions:nt.optional()}),eRe=o.object({type:o.literal("image"),image:o.union([GQ,o.instanceof(URL)]),mediaType:o.string().optional(),providerOptions:nt.optional()}),HQ=o.object({type:o.literal("file"),data:o.union([GQ,o.instanceof(URL)]),filename:o.string().optional(),mediaType:o.string(),providerOptions:nt.optional()}),tRe=o.object({type:o.literal("reasoning"),text:o.string(),providerOptions:nt.optional()}),nRe=o.object({type:o.literal("tool-call"),toolCallId:o.string(),toolName:o.string(),input:o.unknown(),providerOptions:nt.optional(),providerExecuted:o.boolean().optional()}),rRe=o.discriminatedUnion("type",[o.object({type:o.literal("text"),value:o.string(),providerOptions:nt.optional()}),o.object({type:o.literal("json"),value:Ru,providerOptions:nt.optional()}),o.object({type:o.literal("execution-denied"),reason:o.string().optional(),providerOptions:nt.optional()}),o.object({type:o.literal("error-text"),value:o.string(),providerOptions:nt.optional()}),o.object({type:o.literal("error-json"),value:Ru,providerOptions:nt.optional()}),o.object({type:o.literal("content"),value:o.array(o.union([o.object({type:o.literal("text"),text:o.string(),providerOptions:nt.optional()}),o.object({type:o.literal("media"),data:o.string(),mediaType:o.string()}),o.object({type:o.literal("file-data"),data:o.string(),mediaType:o.string(),filename:o.string().optional(),providerOptions:nt.optional()}),o.object({type:o.literal("file-url"),url:o.string(),mediaType:o.string().optional(),providerOptions:nt.optional()}),o.object({type:o.literal("file-id"),fileId:o.union([o.string(),o.record(o.string(),o.string())]),providerOptions:nt.optional()}),o.object({type:o.literal("image-data"),data:o.string(),mediaType:o.string(),providerOptions:nt.optional()}),o.object({type:o.literal("image-url"),url:o.string(),providerOptions:nt.optional()}),o.object({type:o.literal("image-file-id"),fileId:o.union([o.string(),o.record(o.string(),o.string())]),providerOptions:nt.optional()}),o.object({type:o.literal("custom"),providerOptions:nt.optional()})]))})]),KQ=o.object({type:o.literal("tool-result"),toolCallId:o.string(),toolName:o.string(),output:rRe,providerOptions:nt.optional()}),oRe=o.object({type:o.literal("tool-approval-request"),approvalId:o.string(),toolCallId:o.string(),signature:o.string().optional(),inputSchemaInput:o.unknown().optional()}),iRe=o.object({type:o.literal("tool-approval-response"),approvalId:o.string(),approved:o.boolean(),reason:o.string().optional()}),aRe=o.object({role:o.literal("system"),content:o.string(),providerOptions:nt.optional()}),sRe=o.object({role:o.literal("user"),content:o.union([o.string(),o.array(o.union([VQ,eRe,HQ]))]),providerOptions:nt.optional()}),lRe=o.object({role:o.literal("assistant"),content:o.union([o.string(),o.array(o.union([VQ,HQ,tRe,nRe,KQ,oRe]))]),providerOptions:nt.optional()}),cRe=o.object({role:o.literal("tool"),content:o.array(o.union([KQ,iRe])),providerOptions:nt.optional()}),uRe=o.union([aRe,sRe,lRe,cRe]);async function F0({allowSystemInMessages:e,system:t,prompt:n,messages:r}){if(n==null&&r==null)throw new $a({prompt:n,message:"prompt or messages must be defined"});if(n!=null&&r!=null)throw new $a({prompt:n,message:"prompt and messages cannot be defined at the same time"});if(typeof t!=="string"&&!Eu(t).every((a)=>a.role==="system"))throw new $a({prompt:n,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});if(n!=null&&typeof n==="string")r=[{role:"user",content:n}];else if(n!=null&&Array.isArray(n))r=n;else if(r==null)throw new $a({prompt:n,message:"prompt or messages must be defined"});if(r.length===0)throw new $a({prompt:n,message:"messages must not be empty"});if(r.some((a)=>a.role==="system")){if(e===!1)throw new $a({prompt:n,message:"System messages are not allowed in the prompt or messages fields. Use the system option instead."});if(e===void 0)console.warn("AI SDK Warning: System messages in the prompt or messages fields can be a security risk because they may enable prompt injection attacks. Use the system option instead when possible. Set allowSystemInMessages to true to suppress this warning, or false to throw an error.")}let i=await Cn({value:r,schema:o.array(uRe)});if(!i.success)throw new $a({prompt:n,message:"The messages do not match the ModelMessage[] schema.",cause:i.error});return{messages:r,system:t}}function q0(e){if(!Mx.isInstance(e))return e;let t=(process==null?void 0:"development")==="production",n="https://ai-sdk.dev/unauthenticated-ai-gateway";if(t)return new Re({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${n}`});return Object.assign(Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
190
+ This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`;return new e({message:a,statusCode:n,cause:r,generationId:i})}};function xK(e){if(!(e instanceof Error))return!1;let t=e.code;if(typeof t==="string")return["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(t);return!1}async function eo(e,t){var n;if(ir.isInstance(e))return e;if(xK(e))return SK.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e});if(Dt.isInstance(e)){if(e.cause&&xK(e.cause))return SK.createTimeoutError({originalMessage:e.message,cause:e});return await hK({response:S_e(e),statusCode:(n=e.statusCode)!=null?n:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t,isRetryable:e.isRetryable&&(e.statusCode==null||e.statusCode<400)?!0:void 0})}return await hK({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}var jK="ai-gateway-auth-method";async function Ai(e){let t=await Cn({value:e[jK],schema:w_e});return t.success?t.value:void 0}var w_e=G(()=>W(o.union([o.literal("api-key"),o.literal("oidc")]))),T_e=["embedding","image","language","reranking","speech","transcription","video"],wK=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await ti({url:`${this.config.baseURL}/config`,headers:await mt(this.config.headers()),successfulResponseHandler:ht(__e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(t)=>{var n;return(n=wn(t))!=null?n:"unknown error"}}),fetch:this.config.fetch});return e}catch(e){throw await eo(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await ti({url:`${e.origin}/v1/credits`,headers:await mt(this.config.headers()),successfulResponseHandler:ht(I_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(n)=>{var r;return(r=wn(n))!=null?r:"unknown error"}}),fetch:this.config.fetch});return t}catch(e){throw await eo(e)}}},__e=G(()=>W(o.object({models:o.array(o.object({id:o.string(),name:o.string(),description:o.string().nullish(),pricing:o.object({input:o.string(),output:o.string(),input_cache_read:o.string().nullish(),input_cache_write:o.string().nullish()}).transform(({input:e,output:t,input_cache_read:n,input_cache_write:r})=>({input:e,output:t,...n?{cachedInputTokens:n}:{},...r?{cacheCreationInputTokens:r}:{}})).nullish(),specification:o.object({specificationVersion:o.literal("v3"),provider:o.string(),modelId:o.string()}),modelType:o.string().nullish()})).transform((e)=>e.filter((t)=>t.modelType==null||T_e.includes(t.modelType)))}))),I_e=G(()=>W(o.object({balance:o.string(),total_used:o.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),C_e=class{constructor(e){this.config=e}async getSpendReport(e){try{let t=new URL(this.config.baseURL),n=new URLSearchParams;if(n.set("start_date",e.startDate),n.set("end_date",e.endDate),e.groupBy)n.set("group_by",e.groupBy);if(e.datePart)n.set("date_part",e.datePart);if(e.userId)n.set("user_id",e.userId);if(e.model)n.set("model",e.model);if(e.provider)n.set("provider",e.provider);if(e.credentialType)n.set("credential_type",e.credentialType);if(e.tags&&e.tags.length>0)n.set("tags",e.tags.join(","));let{value:r}=await ti({url:`${t.origin}/v1/report?${n.toString()}`,headers:await mt(this.config.headers()),successfulResponseHandler:ht(E_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(i)=>{var a;return(a=wn(i))!=null?a:"unknown error"}}),fetch:this.config.fetch});return r}catch(t){throw await eo(t)}}},E_e=G(()=>W(o.object({results:o.array(o.object({day:o.string().optional(),hour:o.string().optional(),user:o.string().optional(),model:o.string().optional(),tag:o.string().optional(),provider:o.string().optional(),credential_type:o.enum(["byok","system"]).optional(),total_cost:o.number(),market_cost:o.number().optional(),input_tokens:o.number().optional(),output_tokens:o.number().optional(),cached_input_tokens:o.number().optional(),cache_creation_input_tokens:o.number().optional(),reasoning_tokens:o.number().optional(),request_count:o.number().optional()}).transform(({credential_type:e,total_cost:t,market_cost:n,input_tokens:r,output_tokens:i,cached_input_tokens:a,cache_creation_input_tokens:s,reasoning_tokens:l,request_count:c,...u})=>({...u,...e!==void 0?{credentialType:e}:{},totalCost:t,...n!==void 0?{marketCost:n}:{},...r!==void 0?{inputTokens:r}:{},...i!==void 0?{outputTokens:i}:{},...a!==void 0?{cachedInputTokens:a}:{},...s!==void 0?{cacheCreationInputTokens:s}:{},...l!==void 0?{reasoningTokens:l}:{},...c!==void 0?{requestCount:c}:{}})))}))),k_e=class{constructor(e){this.config=e}async getGenerationInfo(e){try{let t=new URL(this.config.baseURL),{value:n}=await ti({url:`${t.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,headers:await mt(this.config.headers()),successfulResponseHandler:ht(R_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(r)=>{var i;return(i=wn(r))!=null?i:"unknown error"}}),fetch:this.config.fetch});return n}catch(t){throw await eo(t)}}},R_e=G(()=>W(o.object({data:o.object({id:o.string(),total_cost:o.number(),upstream_inference_cost:o.number(),usage:o.number(),created_at:o.string(),model:o.string(),is_byok:o.boolean(),provider_name:o.string(),streamed:o.boolean(),finish_reason:o.string(),latency:o.number(),generation_time:o.number(),native_tokens_prompt:o.number(),native_tokens_completion:o.number(),native_tokens_reasoning:o.number(),native_tokens_cached:o.number(),native_tokens_cache_creation:o.number(),billable_web_search_calls:o.number()}).transform(({total_cost:e,upstream_inference_cost:t,created_at:n,is_byok:r,provider_name:i,finish_reason:a,generation_time:s,native_tokens_prompt:l,native_tokens_completion:c,native_tokens_reasoning:u,native_tokens_cached:d,native_tokens_cache_creation:p,billable_web_search_calls:f,...m})=>({...m,totalCost:e,upstreamInferenceCost:t,createdAt:n,isByok:r,providerName:i,finishReason:a,generationTime:s,promptTokens:l,completionTokens:c,reasoningTokens:u,cachedTokens:d,cacheCreationTokens:p,billableWebSearchCalls:f}))}).transform(({data:e})=>e))),A_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...n}=e;return{args:this.maybeEncodeFileParts(n),warnings:[]}}async doGenerate(e){var t;let{args:n,warnings:r}=await this.getArgs(e),{abortSignal:i}=e,a=await mt(this.config.headers());try{let{responseHeaders:s,value:l,rawValue:c}=await St({url:this.getUrl(),headers:pt(a,e.headers,this.getModelConfigHeaders(this.modelId,!1),await mt(this.config.o11yHeaders)),body:n,successfulResponseHandler:ht(o.any()),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(u)=>{var d;return(d=wn(u))!=null?d:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{...l,request:{body:n},response:{headers:s,body:c},warnings:[...(t=l.warnings)!=null?t:[],...r]}}catch(s){throw await eo(s,await Ai(a))}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),{abortSignal:r}=e,i=await mt(this.config.headers());try{let{value:a,responseHeaders:s}=await St({url:this.getUrl(),headers:pt(i,e.headers,this.getModelConfigHeaders(this.modelId,!0),await mt(this.config.o11yHeaders)),body:t,successfulResponseHandler:Xr(o.any()),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(l)=>{var c;return(c=wn(l))!=null?c:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{stream:a.pipeThrough(new TransformStream({start(l){if(n.length>0)l.enqueue({type:"stream-start",warnings:n})},transform(l,c){if(l.success){let u=l.value;if(u.type==="raw"&&!e.includeRawChunks)return;if(u.type==="response-metadata"&&u.timestamp&&typeof u.timestamp==="string")u.timestamp=new Date(u.timestamp);c.enqueue(u)}else c.error(l.error)}})),request:{body:t},response:{headers:s}}}catch(a){throw await eo(a,await Ai(i))}}isFilePart(e){return e&&typeof e==="object"&&"type"in e&&e.type==="file"}maybeEncodeFileParts(e){for(let t of e.prompt)for(let n of t.content)if(this.isFilePart(n)){let r=n;if(r.data instanceof Uint8Array){let i=Uint8Array.from(r.data),a=Buffer.from(i).toString("base64");r.data=new URL(`data:${r.mediaType||"application/octet-stream"};base64,${a}`)}}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"3","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}},P_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){var i,a;let s=await mt(this.config.headers());try{let{responseHeaders:l,value:c,rawValue:u}=await St({url:this.getUrl(),headers:pt(s,t!=null?t:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders)),body:{values:e,...r?{providerOptions:r}:{}},successfulResponseHandler:ht(M_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(d)=>{var p;return(p=wn(d))!=null?p:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{embeddings:c.embeddings,usage:(i=c.usage)!=null?i:void 0,providerMetadata:c.providerMetadata,response:{headers:l,body:u},warnings:(a=c.warnings)!=null?a:[]}}catch(l){throw await eo(l,await Ai(s))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"3","ai-model-id":this.modelId}}},O_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("other"),message:o.string()})]),M_e=G(()=>W(o.object({embeddings:o.array(o.array(o.number())),usage:o.object({tokens:o.number()}).nullish(),warnings:o.array(O_e).optional(),providerMetadata:o.record(o.string(),o.record(o.string(),o.unknown())).optional()})));function jx(e){return(e!=null?e:[]).map((t)=>t.type==="deprecated"?{type:"other",message:t.message}:t)}var j_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:n,aspectRatio:r,seed:i,files:a,mask:s,providerOptions:l,headers:c,abortSignal:u}){var d,p,f;let m=await mt(this.config.headers());try{let{responseHeaders:g,value:h,rawValue:b}=await St({url:this.getUrl(),headers:pt(m,c!=null?c:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders)),body:{prompt:e,n:t,...n&&{size:n},...r&&{aspectRatio:r},...i&&{seed:i},...l&&{providerOptions:l},...a&&{files:a.map((w)=>TK(w))},...s&&{mask:TK(s)}},successfulResponseHandler:ht(B_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(w)=>{var _;return(_=wn(w))!=null?_:"unknown error"}}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:h.images,...h.isRetryable!=null&&{isRetryable:h.isRetryable},warnings:jx(h.warnings),providerMetadata:h.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:g},...h.usage!=null&&{usage:{inputTokens:(d=h.usage.inputTokens)!=null?d:void 0,outputTokens:(p=h.usage.outputTokens)!=null?p:void 0,totalTokens:(f=h.usage.totalTokens)!=null?f:void 0}}}}catch(g){throw await eo(g,await Ai(m))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"3","ai-model-id":this.modelId}}};function TK(e){if(e.type==="file"&&e.data instanceof Uint8Array)return{...e,data:jr(e.data)};return e}var D_e=o.object({images:o.array(o.unknown()).optional()}).catchall(o.unknown()),N_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("deprecated"),setting:o.string(),message:o.string()}),o.object({type:o.literal("other"),message:o.string()})]),z_e=o.object({inputTokens:o.number().nullish(),outputTokens:o.number().nullish(),totalTokens:o.number().nullish()}),B_e=o.object({images:o.array(o.string()),isRetryable:o.boolean().optional(),warnings:o.array(N_e).optional(),providerMetadata:o.record(o.string(),D_e).optional(),usage:z_e.optional()}),F_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,aspectRatio:n,resolution:r,duration:i,fps:a,seed:s,generateAudio:l,image:c,frameImages:u,inputReferences:d,providerOptions:p,headers:f,abortSignal:m}){let g=await mt(this.config.headers());try{let{responseHeaders:h,value:b}=await St({url:this.getUrl(),headers:pt(g,f!=null?f:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders),{accept:"text/event-stream"}),body:{prompt:e,n:t,...n&&{aspectRatio:n},...r&&{resolution:r},...i&&{duration:i},...a&&{fps:a},...s&&{seed:s},...l!==void 0&&{generateAudio:l},...p&&{providerOptions:p},...c&&{image:CP(c)},...u&&{frameImages:u.map((w)=>({...w,image:CP(w.image)}))},...d&&{inputReferences:d.map((w)=>CP(w))}},successfulResponseHandler:async({response:w,url:_,requestBodyValues:y})=>{if(w.body==null)throw new Dt({message:"SSE response body is empty",url:_,requestBodyValues:y,statusCode:w.status});let A=Px({stream:w.body,schema:U_e}).getReader(),{done:v,value:R}=await A.read();if(A.releaseLock(),v||!R)throw new Dt({message:"SSE stream ended without a data event",url:_,requestBodyValues:y,statusCode:w.status});if(!R.success)throw new Dt({message:"Failed to parse video SSE event",cause:R.error,url:_,requestBodyValues:y,statusCode:w.status});let z=R.value;if(z.type==="error")throw new Dt({message:z.message,statusCode:z.statusCode,url:_,requestBodyValues:y,responseHeaders:Object.fromEntries([...w.headers]),responseBody:JSON.stringify(z),data:{error:{message:z.message,type:z.errorType,param:z.param}}});return{value:{videos:z.videos,warnings:z.warnings,providerMetadata:z.providerMetadata},responseHeaders:Object.fromEntries([...w.headers])}},failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(w)=>{var _;return(_=wn(w))!=null?_:"unknown error"}}),...m&&{abortSignal:m},fetch:this.config.fetch});return{videos:b.videos,warnings:jx(b.warnings),providerMetadata:b.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:h}}}catch(h){throw await eo(h,await Ai(g))}}getUrl(){return`${this.config.baseURL}/video-model`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"3","ai-model-id":this.modelId}}};function CP(e){if(e.type==="file"&&e.data instanceof Uint8Array)return{...e,data:jr(e.data)};return e}var q_e=o.object({videos:o.array(o.unknown()).optional()}).catchall(o.unknown()),L_e=o.union([o.object({type:o.literal("url"),url:o.string(),mediaType:o.string()}),o.object({type:o.literal("base64"),data:o.string(),mediaType:o.string()})]),$_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("deprecated"),setting:o.string(),message:o.string()}),o.object({type:o.literal("other"),message:o.string()})]),U_e=o.discriminatedUnion("type",[o.object({type:o.literal("result"),videos:o.array(L_e),warnings:o.array($_e).optional(),providerMetadata:o.record(o.string(),q_e).optional()}),o.object({type:o.literal("error"),message:o.string(),errorType:o.string(),statusCode:o.number(),param:o.unknown().nullable()})]),Z_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async doRerank({documents:e,query:t,topN:n,headers:r,abortSignal:i,providerOptions:a}){var s;let l=await mt(this.config.headers());try{let{responseHeaders:c,value:u,rawValue:d}=await St({url:this.getUrl(),headers:pt(l,r!=null?r:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders)),body:{documents:e,query:t,...n!=null?{topN:n}:{},...a?{providerOptions:a}:{}},successfulResponseHandler:ht(G_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(p)=>{var f;return(f=wn(p))!=null?f:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{ranking:u.ranking,providerMetadata:u.providerMetadata,response:{headers:c,body:d},warnings:(s=u.warnings)!=null?s:[]}}catch(c){throw await eo(c,await Ai(l))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"3","ai-model-id":this.modelId}}},W_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("other"),message:o.string()})]),G_e=G(()=>W(o.object({ranking:o.array(o.object({index:o.number(),relevanceScore:o.number()})),warnings:o.array(W_e).optional(),providerMetadata:o.record(o.string(),o.record(o.string(),o.unknown())).optional()}))),J_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async doGenerate({text:e,voice:t,outputFormat:n,instructions:r,speed:i,language:a,providerOptions:s,headers:l,abortSignal:c}){let u=await mt(this.config.headers());try{let{responseHeaders:d,value:p,rawValue:f}=await St({url:this.getUrl(),headers:pt(u,l!=null?l:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders)),body:{text:e,...t&&{voice:t},...n&&{outputFormat:n},...r&&{instructions:r},...i!=null&&{speed:i},...a&&{language:a},...s&&{providerOptions:s}},successfulResponseHandler:ht(K_e),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(m)=>{var g;return(g=wn(m))!=null?g:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return{audio:p.audio,warnings:jx(p.warnings),providerMetadata:p.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d,body:f}}}catch(d){throw await eo(d,await Ai(u!=null?u:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"3","ai-model-id":this.modelId}}},V_e=o.object({}).catchall(o.unknown()),H_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("deprecated"),setting:o.string(),message:o.string()}),o.object({type:o.literal("other"),message:o.string()})]),K_e=o.object({audio:o.string(),warnings:o.array(H_e).optional(),providerMetadata:o.record(o.string(),V_e).optional()}),Q_e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async doGenerate({audio:e,mediaType:t,providerOptions:n,headers:r,abortSignal:i}){var a,s,l;let c=await mt(this.config.headers());try{let{responseHeaders:u,value:d,rawValue:p}=await St({url:this.getUrl(),headers:pt(c,r!=null?r:{},this.getModelConfigHeaders(),await mt(this.config.o11yHeaders)),body:{audio:e instanceof Uint8Array?jr(e):e,mediaType:t,...n&&{providerOptions:n}},successfulResponseHandler:ht(eIe),failedResponseHandler:yn({errorSchema:o.any(),errorToMessage:(f)=>{var m;return(m=wn(f))!=null?m:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{text:d.text,segments:(a=d.segments)!=null?a:[],language:(s=d.language)!=null?s:void 0,durationInSeconds:(l=d.durationInSeconds)!=null?l:void 0,warnings:jx(d.warnings),providerMetadata:d.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:u,body:p}}}catch(u){throw await eo(u,await Ai(c!=null?c:{}))}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"3","ai-model-id":this.modelId}}},Y_e=o.object({}).catchall(o.unknown()),X_e=o.discriminatedUnion("type",[o.object({type:o.literal("unsupported"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("compatibility"),feature:o.string(),details:o.string().optional()}),o.object({type:o.literal("deprecated"),setting:o.string(),message:o.string()}),o.object({type:o.literal("other"),message:o.string()})]),eIe=o.object({text:o.string(),segments:o.array(o.object({text:o.string(),startSecond:o.number(),endSecond:o.number()})).optional(),language:o.string().nullish(),durationInSeconds:o.number().nullish(),warnings:o.array(X_e).optional(),providerMetadata:o.record(o.string(),Y_e).optional()}),DK=o.record(o.string(),o.unknown()),tIe=G(()=>W(o.object({url:o.string().url().describe("URL of the page to fetch."),allow_redirects:o.boolean().optional().describe("Whether to follow HTTP redirects (default: false)."),allow_insecure_ssl:o.boolean().optional().describe("Whether to bypass TLS certificate verification (default: false). Only use for trusted hosts."),proxies:o.boolean().optional().describe("Whether to route the request through Browserbase proxies (default: false)."),format:o.enum(["raw","json","markdown"]).optional().describe("Output format. raw returns the response body unchanged, markdown returns page content as Markdown, and json returns structured content using schema."),schema:DK.optional().describe("JSON Schema for structured extraction. Only use with format set to json.")}))),nIe=G(()=>W(o.union([o.object({id:o.string(),content:o.union([o.string(),DK]),contentType:o.string(),encoding:o.string(),headers:o.record(o.string(),o.string()),statusCode:o.number()}),o.object({error:o.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown"]),statusCode:o.number().optional(),message:o.string()})]))),rIe=ut({id:"gateway.browserbase_fetch",inputSchema:tIe,outputSchema:nIe}),oIe=(e={})=>rIe(e),iIe=G(()=>W(o.object({query:o.string().min(1).max(200).describe("Web search query. Must be between 1 and 200 characters."),num_results:o.number().int().min(1).max(25).optional().describe("Maximum number of results to return (1-25, default: 10).")}))),aIe=G(()=>W(o.union([o.object({query:o.string(),requestId:o.string(),results:o.array(o.object({id:o.string(),title:o.string(),url:o.string(),author:o.string().optional(),favicon:o.string().optional(),image:o.string().optional(),publishedDate:o.string().optional()}))}),o.object({error:o.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown"]),statusCode:o.number().optional(),message:o.string()})]))),sIe=ut({id:"gateway.browserbase_search",inputSchema:iIe,outputSchema:aIe}),lIe=(e={})=>sIe(e),cIe=G(()=>W(o.object({query:o.string().describe("Natural-language web search query. This is required."),type:o.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:o.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:o.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:o.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:o.array(o.string()).optional().describe("Only return results from these domains."),exclude_domains:o.array(o.string()).optional().describe("Exclude results from these domains."),start_published_date:o.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:o.string().optional().describe("Only return links published before this ISO 8601 date."),contents:o.object({text:o.union([o.boolean(),o.object({max_characters:o.number().optional(),include_html_tags:o.boolean().optional(),verbosity:o.enum(["compact","standard","full"]).optional(),include_sections:o.array(o.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:o.array(o.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:o.union([o.boolean(),o.object({query:o.string().optional(),max_characters:o.number().optional()})]).optional(),max_age_hours:o.number().optional(),livecrawl_timeout:o.number().optional(),subpages:o.number().optional(),subpage_target:o.union([o.string(),o.array(o.string())]).optional(),extras:o.object({links:o.number().optional(),image_links:o.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),uIe=G(()=>W(o.union([o.object({requestId:o.string(),searchType:o.string().optional(),resolvedSearchType:o.string().optional(),results:o.array(o.object({title:o.string(),url:o.string(),id:o.string(),publishedDate:o.string().nullable().optional(),author:o.string().nullable().optional(),image:o.string().nullable().optional(),favicon:o.string().nullable().optional(),text:o.string().optional(),highlights:o.array(o.string()).optional(),highlightScores:o.array(o.number()).optional(),summary:o.string().optional(),subpages:o.array(o.any()).optional(),extras:o.object({links:o.array(o.string()).optional(),imageLinks:o.array(o.string()).optional()}).optional()})),costDollars:o.object({total:o.number().optional(),search:o.record(o.number()).optional()}).optional()}),o.object({error:o.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:o.number().optional(),message:o.string()})]))),dIe=ut({id:"gateway.exa_search",inputSchema:cIe,outputSchema:uIe}),pIe=(e={})=>dIe(e),mIe=G(()=>W(o.object({objective:o.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:o.array(o.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:o.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:o.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:o.object({include_domains:o.array(o.string()).optional().describe("Limit results to these domains. Use plain domain names only \u2014 e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),exclude_domains:o.array(o.string()).optional().describe("Exclude results from these domains. Use plain domain names only \u2014 e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),after_date:o.string().optional().describe("Only include results published after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:o.object({max_chars_per_result:o.number().optional().describe("Maximum characters per result."),max_chars_total:o.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:o.object({max_age_seconds:o.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),fIe=G(()=>W(o.union([o.object({searchId:o.string(),results:o.array(o.object({url:o.string(),title:o.string(),excerpt:o.string(),publishDate:o.string().nullable().optional(),relevanceScore:o.number().optional()}))}),o.object({error:o.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:o.number().optional(),message:o.string()})]))),gIe=ut({id:"gateway.parallel_search",inputSchema:mIe,outputSchema:fIe}),hIe=(e={})=>gIe(e),yIe=G(()=>W(o.object({query:o.union([o.string(),o.array(o.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:o.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:o.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:o.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:o.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:o.array(o.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:o.array(o.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:o.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:o.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:o.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:o.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:o.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),bIe=G(()=>W(o.union([o.object({results:o.array(o.object({title:o.string(),url:o.string(),snippet:o.string(),date:o.string().optional(),lastUpdated:o.string().optional()})),id:o.string()}),o.object({error:o.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:o.number().optional(),message:o.string()})]))),vIe=ut({id:"gateway.perplexity_search",inputSchema:yIe,outputSchema:bIe}),SIe=(e={})=>vIe(e),xIe=o.object({count:o.number().optional().describe("Maximum number of data results to return (1-20). When include_contents is true, each additional result adds its own data surcharge."),include_contents:o.boolean().optional().describe("Inline rows for each data result. This adds a data surcharge based on row count and dataset source. To estimate cost, search with include_contents disabled and inspect cards.content.export_pricing. This applies to every returned card; limit sources.data.count and sources.data.max_rows to control cost."),mode:o.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:o.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:o.number().optional().describe("Maximum rows to inline per result. Omit to use the allowance in cards.content.export_pricing. A data surcharge applies per 1,000 exported rows; lower values reduce cost."),node_ids:o.array(o.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:o.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),wIe=o.object({count:o.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:o.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:o.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:o.array(o.string()).optional().describe("Only return results from these bare domains."),exclude_domains:o.array(o.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:o.number().optional().describe("Maximum characters in each web-result snippet."),highlights:o.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:o.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:o.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:o.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),TIe=G(()=>W(o.object({query:o.string().describe('Natural-language search query. Include the entity, metric, and time period. Quote a phrase to force it to one entity, for example "Tesla":PRODUCT price.'),effort:o.enum(["deep","fast","instant"]).optional().describe("Search effort. fast is the balanced default, instant favors cached results and low latency, and deep broadens retrieval with reranking at higher cost and latency."),sources:o.object({data:xIe.optional(),web:wIe.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:o.object({latitude:o.number().describe("Latitude between -90 and 90."),longitude:o.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:o.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:o.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:o.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:o.object({image_dark_mode:o.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:o.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:o.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),_K=o.union([o.boolean(),o.number(),o.string()]).nullable(),NK=o.object({content_format:o.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:o.number().optional(),data:o.string().nullish(),records:o.array(o.record(o.string(),_K)).nullish(),dataset:o.object({columns:o.array(o.object({name:o.string(),type:o.enum(["boolean","date","datetime","number","string"]),unit:o.string().nullish()})),rows:o.array(o.array(_K)),total_rows:o.number(),truncated:o.boolean(),ref:o.string(),sources:o.array(o.object({name:o.string(),index:o.enum(["data","web"]).optional()})),provenance:o.enum(["query","web_extraction"]).optional()}).nullish(),card_data:o.object({}).passthrough().nullish(),card_data_schema:o.object({}).passthrough().nullish(),url:o.string().nullish(),expires_at:o.string().nullish(),total_rows:o.number().nullish(),truncated:o.boolean().optional(),export_pricing:o.object({baseline_usd:o.number(),free_rows:o.number(),max_rows_ceiling:o.number(),row_cpm_usd:o.number()}).nullish(),manifest:o.array(o.object({dtype:o.enum(["boolean","date","datetime","number","string"]).nullish(),entity:o.string().nullish(),metric:o.string().nullish(),name:o.string().nullish(),unit:o.string().nullish()})).nullish()}).passthrough(),_Ie=o.object({card_id:o.string().nullish(),title:o.string().nullish(),description:o.string().nullish(),semantic_description:o.string().nullish(),webpage_url:o.string().nullish(),image_url:o.string().nullish(),embed_url:o.string().nullish(),sources:o.array(o.object({source_name:o.string().nullish(),source_description:o.string().nullish(),source_index:o.enum(["data","web"]),source_text:o.string().nullish(),url:o.string().nullish()})).nullish(),methodologies:o.array(o.object({methodology_name:o.string().nullable(),methodology_description:o.string().nullable()})).nullish(),source_indexes:o.array(o.enum(["data","web"])).nullish(),card_type:o.string().nullish(),relevance:o.enum(["High","Low","Medium"]).nullish(),content:NK.nullish(),exportable:o.boolean().optional(),nodes:o.array(o.object({id:o.string(),type:o.enum(["entity","metric"]),name:o.string(),description:o.string().nullish()})).nullish(),metric_definitions:o.array(o.object({name:o.string(),definition:o.string()})).nullish(),data_freshness:o.object({coverage_end:o.string().nullish(),data_as_of:o.string().nullish(),last_updated:o.string().nullish()}).nullish()}).passthrough(),IIe=o.object({title:o.string(),url:o.string(),snippet:o.string().nullish(),source_name:o.string().nullish(),publish_date:o.string().nullish(),content:NK.nullish()}).passthrough(),CIe=G(()=>W(o.union([o.object({request_id:o.string(),cards:o.array(_Ie).optional(),web_results:o.array(IIe).optional(),usage:o.object({total_cost_usd:o.number(),compute:o.object({cost_usd:o.number()}).nullish(),data:o.object({cost_usd:o.number(),datasets:o.number()}).nullish()}).nullish(),related:o.array(o.object({}).passthrough()).nullish()}).passthrough(),o.object({error:o.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:o.number().optional(),message:o.string()})]))),EIe=ut({id:"gateway.tako_search",inputSchema:TIe,outputSchema:CIe}),kIe=(e={})=>EIe(e),RIe={browserbaseFetch:oIe,browserbaseSearch:lIe,exaSearch:pIe,parallelSearch:hIe,perplexitySearch:SIe,takoSearch:kIe};async function AIe(){var e;return(e=zK.getContext().headers)==null?void 0:e["x-vercel-id"]}var PIe="3.0.212",OIe="0.0.1";function MIe(e={}){var t,n;let r=null,i=null,a=(t=e.metadataCacheRefreshMillis)!=null?t:300000,s=0,l=(n=Wl(e.baseURL))!=null?n:"https://ai-gateway.vercel.sh/v3/ai",c=async()=>{try{let S=await jIe(e);return Yn({Authorization:`Bearer ${S.token}`,"ai-gateway-protocol-version":OIe,[jK]:S.authMethod,...e.headers},`ai-sdk/gateway/${PIe}`)}catch(S){throw Mx.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:S})}},u=()=>{let S=Va({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),A=Va({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),v=Va({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),R=Va({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let z=await AIe();return{...S&&{"ai-o11y-deployment-id":S},...A&&{"ai-o11y-environment":A},...v&&{"ai-o11y-region":v},...z&&{"ai-o11y-request-id":z},...R&&{"ai-o11y-project-id":R}}}},d=(S)=>new A_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()}),p=async()=>{var S,A,v;let R=(v=(A=(S=e._internal)==null?void 0:S.currentDate)==null?void 0:A.call(S).getTime())!=null?v:Date.now();if(!r||R-s>a)s=R,r=new wK({baseURL:l,headers:c,fetch:e.fetch}).getAvailableModels().then((z)=>(i=z,z)).catch(async(z)=>{throw await eo(z,await Ai(await c()))});return i?Promise.resolve(i):r},f=async()=>new wK({baseURL:l,headers:c,fetch:e.fetch}).getCredits().catch(async(S)=>{throw await eo(S,await Ai(await c()))}),m=async(S)=>new C_e({baseURL:l,headers:c,fetch:e.fetch}).getSpendReport(S).catch(async(A)=>{throw await eo(A,await Ai(await c()))}),g=async(S)=>new k_e({baseURL:l,headers:c,fetch:e.fetch}).getGenerationInfo(S).catch(async(A)=>{throw await eo(A,await Ai(await c()))}),h=function(S){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return d(S)};h.specificationVersion="v3",h.getAvailableModels=p,h.getCredits=f,h.getSpendReport=m,h.getGenerationInfo=g,h.imageModel=(S)=>new j_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()}),h.languageModel=d;let b=(S)=>new P_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()});h.embeddingModel=b,h.textEmbeddingModel=b,h.videoModel=(S)=>new F_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()});let w=(S)=>new Z_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()});h.rerankingModel=w,h.reranking=w;let _=(S)=>new J_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()});h.speechModel=_,h.speech=_;let y=(S)=>new Q_e(S,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:u()});return h.transcriptionModel=y,h.transcription=y,h.chat=h.languageModel,h.embedding=h.embeddingModel,h.image=h.imageModel,h.video=h.videoModel,h.tools=RIe,h}var FK=MIe();async function jIe(e){let t=Va({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if(t)return{token:t,authMethod:"api-key"};return{token:await BK.getVercelOidcToken(),authMethod:"oidc"}}var QQ=Es(S0(),1),Jp=Es(S0(),1);var ZEe=Object.defineProperty,WEe=(e,t)=>{for(var n in t)ZEe(e,n,{get:t[n],enumerable:!0})},G5="AI_InvalidArgumentError",J5=`vercel.ai.error.${G5}`,GEe=Symbol.for(J5),V5,jn=class extends Re{constructor({parameter:e,value:t,message:n}){super({name:G5,message:`Invalid argument for parameter ${e}: ${n}`});this[V5]=!0,this.parameter=e,this.value=t}static isInstance(e){return Re.hasMarker(e,J5)}};V5=GEe;var JEe="AI_InvalidStreamPartError",VEe=`vercel.ai.error.${JEe}`,HEe=Symbol.for(VEe),KEe;KEe=HEe;var H5="AI_InvalidToolApprovalError",K5=`vercel.ai.error.${H5}`,QEe=Symbol.for(K5),Q5,YEe=class extends Re{constructor({approvalId:e}){super({name:H5,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`});this[Q5]=!0,this.approvalId=e}static isInstance(e){return Re.hasMarker(e,K5)}};Q5=QEe;var Y5="AI_InvalidToolApprovalSignatureError",X5=`vercel.ai.error.${Y5}`,XEe=Symbol.for(X5),eQ,P5=class extends Re{constructor({approvalId:e,toolCallId:t,reason:n}){super({name:Y5,message:`Tool approval signature verification failed for approval "${e}" (tool call "${t}"): ${n}`});this[eQ]=!0,this.approvalId=e,this.toolCallId=t}static isInstance(e){return Re.hasMarker(e,X5)}};eQ=XEe;var tQ="AI_InvalidToolInputError",nQ=`vercel.ai.error.${tQ}`,eke=Symbol.for(nQ),rQ,Xx=class extends Re{constructor({toolInput:e,toolName:t,cause:n,message:r=`Invalid input for tool ${t}: ${aa(n)}`}){super({name:tQ,message:r,cause:n});this[rQ]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return Re.hasMarker(e,nQ)}};rQ=eke;var oQ="AI_ToolCallNotFoundForApprovalError",iQ=`vercel.ai.error.${oQ}`,tke=Symbol.for(iQ),aQ,O0=class extends Re{constructor({toolCallId:e,approvalId:t}){super({name:oQ,message:`Tool call "${e}" not found for approval request "${t}".`});this[aQ]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return Re.hasMarker(e,iQ)}};aQ=tke;var sQ="AI_MissingToolResultsError",lQ=`vercel.ai.error.${sQ}`,nke=Symbol.for(lQ),cQ,O5=class extends Re{constructor({toolCallIds:e}){super({name:sQ,message:`Tool result${e.length>1?"s are":" is"} missing for tool call${e.length>1?"s":""} ${e.join(", ")}.`});this[cQ]=!0,this.toolCallIds=e}static isInstance(e){return Re.hasMarker(e,lQ)}};cQ=nke;var uQ="AI_NoImageGeneratedError",dQ=`vercel.ai.error.${uQ}`,rke=Symbol.for(dQ),pQ,oke=class extends Re{constructor({message:e="No image generated.",cause:t,responses:n}){super({name:uQ,message:e,cause:t});this[pQ]=!0,this.responses=n}static isInstance(e){return Re.hasMarker(e,dQ)}};pQ=rke;var mQ="AI_NoObjectGeneratedError",fQ=`vercel.ai.error.${mQ}`,ike=Symbol.for(fQ),gQ,$r=class extends Re{constructor({message:e="No object generated.",cause:t,text:n,response:r,usage:i,finishReason:a}){super({name:mQ,message:e,cause:t});this[gQ]=!0,this.text=n,this.response=r,this.usage=i,this.finishReason=a}static isInstance(e){return Re.hasMarker(e,fQ)}};gQ=ike;var hQ="AI_NoOutputGeneratedError",yQ=`vercel.ai.error.${hQ}`,ake=Symbol.for(yQ),bQ,Gx=class extends Re{constructor({message:e="No output generated.",cause:t}={}){super({name:hQ,message:e,cause:t});this[bQ]=!0}static isInstance(e){return Re.hasMarker(e,yQ)}};bQ=ake;var ske="AI_NoSpeechGeneratedError",lke=`vercel.ai.error.${ske}`,cke=Symbol.for(lke),uke;uke=cke;var dke="AI_NoTranscriptGeneratedError",pke=`vercel.ai.error.${dke}`,mke=Symbol.for(pke),fke;fke=mke;var gke="AI_NoVideoGeneratedError",hke=`vercel.ai.error.${gke}`,yke=Symbol.for(hke),bke;bke=yke;var vQ="AI_NoSuchToolError",SQ=`vercel.ai.error.${vQ}`,vke=Symbol.for(SQ),xQ,T0=class extends Re{constructor({toolName:e,availableTools:t=void 0,message:n=`Model tried to call unavailable tool '${e}'. ${t===void 0?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:vQ,message:n});this[xQ]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return Re.hasMarker(e,SQ)}};xQ=vke;var wQ="AI_ToolChoiceViolationError",TQ=`vercel.ai.error.${wQ}`,Ske=Symbol.for(TQ),_Q,xke=class extends Re{constructor({toolChoice:e,finishReason:t,provider:n,modelId:r,content:i,message:a=e.type==="required"?"Model response did not contain a tool call even though tool choice was required.":`Model response did not contain a call to the required tool '${e.toolName}'.`}){super({name:wQ,message:a});this[_Q]=!0,this.toolChoice=e,this.finishReason=t,this.provider=n,this.modelId=r,this.content=i}static isInstance(e){return Re.hasMarker(e,TQ)}};_Q=Ske;var IQ="AI_ToolCallRepairError",CQ=`vercel.ai.error.${IQ}`,wke=Symbol.for(CQ),EQ,Tke=class extends Re{constructor({cause:e,originalError:t,message:n=`Error repairing tool call: ${aa(e)}`}){super({name:IQ,message:n,cause:e});this[EQ]=!0,this.originalError=t}static isInstance(e){return Re.hasMarker(e,CQ)}};EQ=wke;var M0=class extends Re{constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},kQ="AI_UIMessageStreamError",RQ=`vercel.ai.error.${kQ}`,_ke=Symbol.for(RQ),AQ,Zp=class extends Re{constructor({chunkType:e,chunkId:t,message:n}){super({name:kQ,message:n});this[AQ]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return Re.hasMarker(e,RQ)}};AQ=_ke;var PQ="AI_InvalidDataContentError",OQ=`vercel.ai.error.${PQ}`,Ike=Symbol.for(OQ),MQ,M5=class extends Re{constructor({content:e,cause:t,message:n=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof e}.`}){super({name:PQ,message:n,cause:t});this[MQ]=!0,this.content=e}static isInstance(e){return Re.hasMarker(e,OQ)}};MQ=Ike;var jQ="AI_InvalidMessageRoleError",DQ=`vercel.ai.error.${jQ}`,Cke=Symbol.for(DQ),NQ,Eke=class extends Re{constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:jQ,message:t});this[NQ]=!0,this.role=e}static isInstance(e){return Re.hasMarker(e,DQ)}};NQ=Cke;var kke="AI_MessageConversionError",Rke=`vercel.ai.error.${kke}`,Ake=Symbol.for(Rke),Pke;Pke=Ake;var zQ="AI_RetryError",BQ=`vercel.ai.error.${zQ}`,Oke=Symbol.for(BQ),FQ,qQ=class extends Re{constructor({message:e,reason:t,errors:n}){super({name:zQ,message:e});this[FQ]=!0,this.reason=t,this.errors=n,this.lastError=n[n.length-1]}static isInstance(e){return Re.hasMarker(e,BQ)}};FQ=Oke;function Eu(e){return e===void 0?[]:Array.isArray(e)?e:[e]}async function Mo(e){for(let t of Eu(e.callbacks)){if(t==null)continue;try{await t(e.event)}catch(n){}}}function Mke({warning:e,provider:t,model:n}){let r=`AI SDK Warning (${t} / ${n}):`;switch(e.type){case"unsupported":{let i=`${r} The feature "${e.feature}" is not supported.`;if(e.details)i+=` ${e.details}`;return i}case"compatibility":{let i=`${r} The feature "${e.feature}" is used in a compatibility mode.`;if(e.details)i+=` ${e.details}`;return i}case"other":return`${r} ${e.message}`;default:return`${r} ${JSON.stringify(e,null,2)}`}}var jke="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",j5=!1,ku=(e)=>{if(e.warnings.length===0)return;let t=globalThis.AI_SDK_LOG_WARNINGS;if(t===!1)return;if(typeof t==="function"){t(e);return}if(!j5)j5=!0,console.info(jke);for(let n of e.warnings)console.warn(Mke({warning:n,provider:e.provider,model:e.model}))};function j0({provider:e,modelId:t}){ku({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:e,model:t})}function Dke(e){if(e.specificationVersion==="v3")return e;return j0({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,n){if(n==="specificationVersion")return"v3";return t[n]}})}function Nke(e){if(e.specificationVersion==="v3")return e;return j0({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,n){if(n==="specificationVersion")return"v3";return t[n]}})}function zke(e){if(e.specificationVersion==="v3")return e;return j0({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(t,n){switch(n){case"specificationVersion":return"v3";case"doGenerate":return async(...r)=>{let i=await t.doGenerate(...r);return{...i,finishReason:LQ(i.finishReason),usage:$Q(i.usage)}};case"doStream":return async(...r)=>{let i=await t.doStream(...r);return{...i,stream:Bke(i.stream)}};default:return t[n]}}})}function Bke(e){return e.pipeThrough(new TransformStream({transform(t,n){switch(t.type){case"finish":n.enqueue({...t,finishReason:LQ(t.finishReason),usage:$Q(t.usage)});break;default:n.enqueue(t);break}}}))}function LQ(e){return{unified:e==="unknown"?"other":e,raw:void 0}}function $Q(e){return{inputTokens:{total:e.inputTokens,noCache:void 0,cacheRead:e.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:e.outputTokens,text:void 0,reasoning:e.reasoningTokens},raw:e.totalTokens==null?void 0:{totalTokens:e.totalTokens}}}function gh(e){if(typeof e!=="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){let t=e;throw new M0({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return zke(e)}return D0().languageModel(e)}function Fke(e){if(typeof e!=="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){let t=e;throw new M0({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return Dke(e)}return D0().embeddingModel(e)}function qke(e){if(typeof e!=="string"){if(e.specificationVersion!=="v3"&&e.specificationVersion!=="v2"){let t=e;throw new M0({version:t.specificationVersion,provider:t.provider,modelId:t.modelId})}return Nke(e)}return D0().imageModel(e)}function D0(){var e;return(e=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?e:FK}function N0(e){if(e==null)return;if(typeof e==="number")return e;return e.totalMs}function UQ(e){if(e==null||typeof e==="number")return;return e.stepMs}function Lke(e){if(e==null||typeof e==="number")return;return e.chunkMs}var Hx=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}];var $ke=18,Uke=12,Zke=131072,Wke=Zke+Uke;function D5(e,t){if(typeof e!=="string")return e.length>t?e.subarray(0,t):e;let n=Math.ceil(t/3)*4,r=Lr(e.substring(0,Math.min(e.length,n)));return r.length>t?r.subarray(0,t):r}function Gke(e){return e.length>10&&e[0]===73&&e[1]===68&&e[2]===51}var Jke=(e)=>{let t=(e[6]&127)<<21|(e[7]&127)<<14|(e[8]&127)<<7|e[9]&127;return e.subarray(t+10)};function Kx({data:e,signatures:t}){let n=D5(e,$ke);if(Gke(n))n=Jke(D5(e,Wke));for(let r of t)if(n.length>=r.bytesPrefix.length&&r.bytesPrefix.every((i,a)=>i===null||n[a]===i))return r.mediaType;return}var bh="6.0.303",ZQ=async({url:e,maxBytes:t,abortSignal:n})=>{var r;let i=e.toString();try{let a=Yn({},`ai-sdk/${bh}`,Np()),s=await mP({url:i,headers:a,abortSignal:n});if(!s.ok)throw await ah(s),new Mr({url:i,statusCode:s.status,statusText:s.statusText});return{data:await kx({response:s,url:i,maxBytes:t!=null?t:Ex}),mediaType:(r=s.headers.get("content-type"))!=null?r:void 0}}catch(a){if(Mr.isInstance(a))throw a;throw new Mr({url:i,cause:a})}},Vke=(e=ZQ,t)=>(n)=>Promise.all(n.map(async(r)=>r.isUrlSupportedByModel?null:await e({...r,abortSignal:t})));function vh(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let n={...e};for(let r in t){if(r==="__proto__"||r==="constructor"||r==="prototype")continue;if(Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(i===void 0)continue;let a=r in e?e[r]:void 0,s=i!==null&&typeof i==="object"&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp),l=a!==null&&a!==void 0&&typeof a==="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);if(s&&l)n[r]=vh(a,i);else n[r]=i}}return n}function WQ(e){try{let[t,n]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:n}}catch(t){return{mediaType:void 0,base64Content:void 0}}}var GQ=o.union([o.string(),o.instanceof(Uint8Array),o.instanceof(ArrayBuffer),o.custom((e)=>{var t,n;return(n=(t=globalThis.Buffer)==null?void 0:t.isBuffer(e))!=null?n:!1},{message:"Must be a Buffer"})]);function z0(e){let t;if(e instanceof Uint8Array)return{data:e,mediaType:void 0};if(e instanceof ArrayBuffer)return{data:new Uint8Array(e),mediaType:void 0};if(typeof e==="string")try{let n=new URL(e);t=n.toString()!==e?e:void 0,e=n}catch(n){}if(e instanceof URL&&e.protocol==="data:"){let{mediaType:n,base64Content:r}=WQ(e.toString());if(n==null||r==null)throw new Re({name:"InvalidDataContentError",message:`Invalid data URL format in content ${e.toString()}`});return{data:r,mediaType:n}}return{data:e,mediaType:void 0,...t!=null?{originalUrl:t}:{}}}function _0(e){if(typeof e==="string")return e;if(e instanceof ArrayBuffer)return jr(new Uint8Array(e));return jr(e)}function Hke(e){if(e instanceof Uint8Array)return e;if(typeof e==="string")try{return Lr(e)}catch(t){throw new M5({message:"Invalid data content. Content string is not a base64-encoded media.",content:e,cause:t})}if(e instanceof ArrayBuffer)return new Uint8Array(e);throw new M5({content:e})}async function B0({prompt:e,supportedUrls:t,download:n,abortSignal:r}){let i=await Qke(e.messages,n!=null?n:Vke(void 0,r),t),a=new Map;for(let d of e.messages)if(d.role==="assistant"&&Array.isArray(d.content)){for(let p of d.content)if(p.type==="tool-approval-request"&&"approvalId"in p&&"toolCallId"in p)a.set(p.approvalId,p.toolCallId)}let s=new Set;for(let d of e.messages)if(d.role==="tool"){for(let p of d.content)if(p.type==="tool-approval-response"){let f=a.get(p.approvalId);if(f)s.add(f)}}let l=[...e.system!=null?typeof e.system==="string"?[{role:"system",content:e.system}]:Eu(e.system).map((d)=>({role:"system",content:d.content,providerOptions:d.providerOptions})):[],...e.messages.map((d)=>Kke({message:d,downloadedAssets:i}))],c=[];for(let d of l){if(d.role!=="tool"){c.push(d);continue}let p=c.at(-1);if((p==null?void 0:p.role)==="tool"){let f=p.content.at(-1);if(f!=null&&p.providerOptions!=null)f.providerOptions=vh(p.providerOptions,f.providerOptions);p.content.push(...d.content),p.providerOptions=d.providerOptions}else c.push(d)}let u=new Set;for(let d of c)switch(d.role){case"assistant":{for(let p of d.content)if(p.type==="tool-call"&&!p.providerExecuted)u.add(p.toolCallId);break}case"tool":{for(let p of d.content)if(p.type==="tool-result")u.delete(p.toolCallId);break}case"user":case"system":for(let p of s)u.delete(p);if(u.size>0)throw new O5({toolCallIds:Array.from(u)});break}for(let d of s)u.delete(d);if(u.size>0)throw new O5({toolCallIds:Array.from(u)});return c.filter((d)=>d.role!=="tool"||d.content.length>0)}function Kke({message:e,downloadedAssets:t}){let n=e.role;switch(n){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":{if(typeof e.content==="string")return{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions};return{role:"user",content:e.content.map((r)=>Yke(r,t)).filter((r)=>r.type!=="text"||r.text!==""),providerOptions:e.providerOptions}}case"assistant":{if(typeof e.content==="string")return{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions};return{role:"assistant",content:e.content.filter((r)=>r.type!=="text"||r.text!==""||r.providerOptions!=null).filter((r)=>r.type!=="tool-approval-request").map((r)=>{let i=r.providerOptions;switch(r.type){case"file":{let{data:a,mediaType:s}=z0(r.data);return{type:"file",data:a,filename:r.filename,mediaType:s!=null?s:r.mediaType,providerOptions:i}}case"reasoning":return{type:"reasoning",text:r.text,providerOptions:i};case"text":return{type:"text",text:r.text,providerOptions:i};case"tool-call":return{type:"tool-call",toolCallId:r.toolCallId,toolName:r.toolName,input:r.input,providerExecuted:r.providerExecuted,providerOptions:i};case"tool-result":return{type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:N5({output:r.output,downloadedAssets:t}),providerOptions:i}}}),providerOptions:e.providerOptions}}case"tool":return{role:"tool",content:e.content.filter((r)=>r.type!=="tool-approval-response"||r.providerExecuted).map((r)=>{switch(r.type){case"tool-result":return{type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:N5({output:r.output,downloadedAssets:t}),providerOptions:r.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:r.approvalId,approved:r.approved,reason:r.reason}}}),providerOptions:e.providerOptions};default:throw new Eke({role:n})}}async function Qke(e,t,n){var r;let i=[];for(let l of e){if(l.role==="user"&&Array.isArray(l.content)){for(let c of l.content)if(c.type==="image"||c.type==="file")i.push({data:c.type==="image"?c.image:c.data,mediaType:(r=c.mediaType)!=null?r:c.type==="image"?"image/*":void 0})}if(l.role==="tool"||l.role==="assistant"){if(!Array.isArray(l.content))continue;for(let c of l.content){if(c.type!=="tool-result")continue;if(c.output.type!=="content")continue;for(let u of c.output.value)if(u.type==="image-url"||u.type==="file-url")i.push({data:new URL(u.url),mediaType:u.type==="image-url"?"image/*":u.mediaType})}}}let a=i.map((l)=>{let c=l.mediaType,{data:u}=z0(l.data);return{mediaType:c,data:u}}).filter((l)=>l.data instanceof URL).map((l)=>({url:l.data,isUrlSupportedByModel:l.mediaType!=null&&Bp({url:l.data.toString(),mediaType:l.mediaType,supportedUrls:n})})),s=await t(a);return Object.fromEntries(s.map((l,c)=>l==null?null:[a[c].url.toString(),{data:l.data,mediaType:l.mediaType}]).filter((l)=>l!=null))}function Yke(e,t){var n;if(e.type==="text")return{type:"text",text:e.text,providerOptions:e.providerOptions};let r,i=e.type;switch(i){case"image":r=e.image;break;case"file":r=e.data;break;default:throw Error(`Unsupported part type: ${i}`)}let{data:a,mediaType:s,originalUrl:l}=z0(r),c=s!=null?s:e.mediaType,u=a;if(u instanceof URL){let d=t[u.toString()];if(d)u=d.data,c!=null||(c=d.mediaType)}switch(i){case"image":{if(u instanceof Uint8Array||typeof u==="string")c=(n=Kx({data:u,signatures:Hx}))!=null?n:c;return{type:"file",mediaType:c!=null?c:"image/*",filename:void 0,data:u,...u instanceof URL&&l!=null?{originalUrl:l}:{},providerOptions:e.providerOptions}}case"file":{if(c==null)throw Error("Media type is missing for file part");return{type:"file",mediaType:c,filename:e.filename,data:u,...u instanceof URL&&l!=null?{originalUrl:l}:{},providerOptions:e.providerOptions}}}}function N5({output:e,downloadedAssets:t}){if(e.type!=="content")return e;return{type:"content",value:e.value.map((n)=>{var r,i;if(n.type==="image-url"){let a=t[new URL(n.url).toString()];if(a)return{type:"image-data",data:_0(a.data),mediaType:(r=a.mediaType)!=null?r:"image/*",providerOptions:n.providerOptions};return n}if(n.type==="file-url"){let a=t[new URL(n.url).toString()];if(a)return{type:"file-data",data:_0(a.data),mediaType:(i=a.mediaType)!=null?i:"application/octet-stream",providerOptions:n.providerOptions};return n}if(n.type!=="media")return n;if(n.mediaType.startsWith("image/"))return{type:"image-data",data:n.data,mediaType:n.mediaType};return{type:"file-data",data:n.data,mediaType:n.mediaType}})}}async function Cu({toolCallId:e,input:t,output:n,tool:r,errorMode:i}){if(i==="text")return{type:"error-text",value:aa(n)};else if(i==="json")return{type:"error-json",value:z5(n)};if(r==null?void 0:r.toModelOutput)return await r.toModelOutput({toolCallId:e,input:t,output:n});return typeof n==="string"?{type:"text",value:n}:{type:"json",value:z5(n)}}function z5(e){return e===void 0?null:e}function Gp({maxOutputTokens:e,temperature:t,topP:n,topK:r,presencePenalty:i,frequencyPenalty:a,seed:s,stopSequences:l}){if(e!=null){if(!Number.isInteger(e))throw new jn({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new jn({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(t!=null){if(typeof t!=="number")throw new jn({parameter:"temperature",value:t,message:"temperature must be a number"})}if(n!=null){if(typeof n!=="number")throw new jn({parameter:"topP",value:n,message:"topP must be a number"})}if(r!=null){if(typeof r!=="number")throw new jn({parameter:"topK",value:r,message:"topK must be a number"})}if(i!=null){if(typeof i!=="number")throw new jn({parameter:"presencePenalty",value:i,message:"presencePenalty must be a number"})}if(a!=null){if(typeof a!=="number")throw new jn({parameter:"frequencyPenalty",value:a,message:"frequencyPenalty must be a number"})}if(s!=null){if(!Number.isInteger(s))throw new jn({parameter:"seed",value:s,message:"seed must be an integer"})}return{maxOutputTokens:e,temperature:t,topP:n,topK:r,presencePenalty:i,frequencyPenalty:a,stopSequences:l,seed:s}}function Xke(e){return e!=null&&Object.keys(e).length>0}async function JQ({tools:e,toolChoice:t,activeTools:n}){if(!Xke(e))return{tools:void 0,toolChoice:void 0};let r=n!=null?Object.entries(e).filter(([a])=>n.includes(a)):Object.entries(e),i=[];for(let[a,s]of r){let l=s.type;switch(l){case void 0:case"dynamic":case"function":i.push({type:"function",name:a,description:s.description,inputSchema:await vo(s.inputSchema).jsonSchema,...s.inputExamples!=null?{inputExamples:s.inputExamples}:{},providerOptions:s.providerOptions,...s.strict!=null?{strict:s.strict}:{}});break;case"provider":i.push({type:"provider",name:a,id:s.id,args:s.args});break;default:throw Error(`Unsupported tool type: ${l}`)}}return{tools:i,toolChoice:t==null?{type:"auto"}:typeof t==="string"?{type:t}:{type:"tool",toolName:t.toolName}}}var Ru=o.lazy(()=>o.union([o.null(),o.string(),o.number(),o.boolean(),o.record(o.string(),Ru.optional()),o.array(Ru)])),rt=o.record(o.string(),o.record(o.string(),Ru.optional())),VQ=o.object({type:o.literal("text"),text:o.string(),providerOptions:rt.optional()}),eRe=o.object({type:o.literal("image"),image:o.union([GQ,o.instanceof(URL)]),mediaType:o.string().optional(),providerOptions:rt.optional()}),HQ=o.object({type:o.literal("file"),data:o.union([GQ,o.instanceof(URL)]),filename:o.string().optional(),mediaType:o.string(),providerOptions:rt.optional()}),tRe=o.object({type:o.literal("reasoning"),text:o.string(),providerOptions:rt.optional()}),nRe=o.object({type:o.literal("tool-call"),toolCallId:o.string(),toolName:o.string(),input:o.unknown(),providerOptions:rt.optional(),providerExecuted:o.boolean().optional()}),rRe=o.discriminatedUnion("type",[o.object({type:o.literal("text"),value:o.string(),providerOptions:rt.optional()}),o.object({type:o.literal("json"),value:Ru,providerOptions:rt.optional()}),o.object({type:o.literal("execution-denied"),reason:o.string().optional(),providerOptions:rt.optional()}),o.object({type:o.literal("error-text"),value:o.string(),providerOptions:rt.optional()}),o.object({type:o.literal("error-json"),value:Ru,providerOptions:rt.optional()}),o.object({type:o.literal("content"),value:o.array(o.union([o.object({type:o.literal("text"),text:o.string(),providerOptions:rt.optional()}),o.object({type:o.literal("media"),data:o.string(),mediaType:o.string()}),o.object({type:o.literal("file-data"),data:o.string(),mediaType:o.string(),filename:o.string().optional(),providerOptions:rt.optional()}),o.object({type:o.literal("file-url"),url:o.string(),mediaType:o.string().optional(),providerOptions:rt.optional()}),o.object({type:o.literal("file-id"),fileId:o.union([o.string(),o.record(o.string(),o.string())]),providerOptions:rt.optional()}),o.object({type:o.literal("image-data"),data:o.string(),mediaType:o.string(),providerOptions:rt.optional()}),o.object({type:o.literal("image-url"),url:o.string(),providerOptions:rt.optional()}),o.object({type:o.literal("image-file-id"),fileId:o.union([o.string(),o.record(o.string(),o.string())]),providerOptions:rt.optional()}),o.object({type:o.literal("custom"),providerOptions:rt.optional()})]))})]),KQ=o.object({type:o.literal("tool-result"),toolCallId:o.string(),toolName:o.string(),output:rRe,providerOptions:rt.optional()}),oRe=o.object({type:o.literal("tool-approval-request"),approvalId:o.string(),toolCallId:o.string(),signature:o.string().optional(),inputSchemaInput:o.unknown().optional()}),iRe=o.object({type:o.literal("tool-approval-response"),approvalId:o.string(),approved:o.boolean(),reason:o.string().optional()}),aRe=o.object({role:o.literal("system"),content:o.string(),providerOptions:rt.optional()}),sRe=o.object({role:o.literal("user"),content:o.union([o.string(),o.array(o.union([VQ,eRe,HQ]))]),providerOptions:rt.optional()}),lRe=o.object({role:o.literal("assistant"),content:o.union([o.string(),o.array(o.union([VQ,HQ,tRe,nRe,KQ,oRe]))]),providerOptions:rt.optional()}),cRe=o.object({role:o.literal("tool"),content:o.array(o.union([KQ,iRe])),providerOptions:rt.optional()}),uRe=o.union([aRe,sRe,lRe,cRe]);async function F0({allowSystemInMessages:e,system:t,prompt:n,messages:r}){if(n==null&&r==null)throw new $a({prompt:n,message:"prompt or messages must be defined"});if(n!=null&&r!=null)throw new $a({prompt:n,message:"prompt and messages cannot be defined at the same time"});if(typeof t!=="string"&&!Eu(t).every((a)=>a.role==="system"))throw new $a({prompt:n,message:"system must be a string, SystemModelMessage, or array of SystemModelMessage"});if(n!=null&&typeof n==="string")r=[{role:"user",content:n}];else if(n!=null&&Array.isArray(n))r=n;else if(r==null)throw new $a({prompt:n,message:"prompt or messages must be defined"});if(r.length===0)throw new $a({prompt:n,message:"messages must not be empty"});if(r.some((a)=>a.role==="system")){if(e===!1)throw new $a({prompt:n,message:"System messages are not allowed in the prompt or messages fields. Use the system option instead."});if(e===void 0)console.warn("AI SDK Warning: System messages in the prompt or messages fields can be a security risk because they may enable prompt injection attacks. Use the system option instead when possible. Set allowSystemInMessages to true to suppress this warning, or false to throw an error.")}let i=await Cn({value:r,schema:o.array(uRe)});if(!i.success)throw new $a({prompt:n,message:"The messages do not match the ModelMessage[] schema.",cause:i.error});return{messages:r,system:t}}function q0(e){if(!Mx.isInstance(e))return e;let t=(process==null?void 0:"development")==="production",n="https://ai-sdk.dev/unauthenticated-ai-gateway";if(t)return new Re({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${n}`});return Object.assign(Error(`\x1B[1m\x1B[31mUnauthenticated request to AI Gateway.\x1B[0m
191
191
 
192
192
  To authenticate, set the \x1B[33mAI_GATEWAY_API_KEY\x1B[0m environment variable with your API key.
193
193
 
@@ -199,7 +199,7 @@ Learn more: \x1B[34m${n}\x1B[0m
199
199
  `)}function E0(e){let t=e.filter((n)=>n.type==="text");if(t.length===0)return;return t.map((n)=>n.text).join("")}function n6({tools:e,activeTools:t}){if(e==null||t==null)return e;return Object.fromEntries(Object.entries(e).filter(([n])=>t.includes(n)))}var U0=class{constructor({data:e,mediaType:t}){let n=e instanceof Uint8Array;this.base64Data=n?void 0:e,this.uint8ArrayData=n?e:void 0,this.mediaType=t}get base64(){if(this.base64Data==null)this.base64Data=jr(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=Lr(this.base64Data);return this.uint8ArrayData}},bRe=class extends U0{constructor(){super(...arguments);this.type="file"}};async function Z0({tool:e,toolCall:t,messages:n,experimental_context:r}){if(e.needsApproval==null)return!1;if(typeof e.needsApproval==="boolean")return e.needsApproval;return await e.needsApproval(t.input,{toolCallId:t.toolCallId,messages:n,experimental_context:r})}function r6(e){return e==="stop"||e==="tool-calls"}var W0=new TextEncoder;function k0(e){if(e===null||e===void 0)return JSON.stringify(e);if(typeof e!=="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(k0).join(",")}]`;return`{${Object.keys(e).sort().map((r)=>`${JSON.stringify(r)}:${k0(e[r])}`).join(",")}}`}function o6(e){return jr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function vRe(e){return Lr(e)}async function i6(e){let t=typeof e==="string"?W0.encode(e):e;return crypto.subtle.importKey("raw",t,{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function a6(e){let t=k0(e),n=await crypto.subtle.digest("SHA-256",W0.encode(t));return o6(new Uint8Array(n))}function s6(e,t,n,r){return W0.encode(`${e}
200
200
  ${t}
201
201
  ${n}
202
- ${r}`)}async function SRe({secret:e,approvalId:t,toolCallId:n,toolName:r,input:i}){let a=await i6(e),s=await a6(i),l=s6(t,n,r,s),c=await crypto.subtle.sign("HMAC",a,l);return o6(new Uint8Array(c))}async function xRe({secret:e,signature:t,approvalId:n,toolCallId:r,toolName:i,input:a}){let s=await i6(e),l=await a6(a),c=s6(n,r,i,l),u=vRe(t);return crypto.subtle.verify("HMAC",s,u,c)}async function l6({secret:e,approvalId:t,toolCallId:n,toolName:r,input:i}){if(e==null)return;return SRe({secret:e,approvalId:t,toolCallId:n,toolName:r,input:i})}function yh(e,t){if(e===t)return!0;if(e==null||t==null)return!1;if(typeof e!=="object"&&typeof t!=="object")return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(Array.isArray(e)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!yh(e[i],t[i]))return!1;return!0}let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i of n){if(!r.includes(i))return!1;if(!yh(e[i],t[i]))return!1}return!0}async function c6({approvedToolApprovals:e,tools:t,messages:n,experimental_context:r,toolApprovalSecret:i}){var a;let s=[],l=[],c=[];for(let u of e){let{toolCall:d,approvalRequest:p}=u,f=t==null?void 0:t[d.toolName];if(i!=null){if(p.signature==null)throw new P5({approvalId:p.approvalId,toolCallId:d.toolCallId,reason:"missing signature"});if(!await xRe({secret:i,signature:p.signature,approvalId:p.approvalId,toolCallId:d.toolCallId,toolName:d.toolName,input:d.input}))throw new P5({approvalId:p.approvalId,toolCallId:d.toolCallId,reason:"invalid signature"})}if(f!=null&&typeof f.execute==="function"&&f.inputSchema!=null){let g=Object.prototype.hasOwnProperty.call(p,"inputSchemaInput"),h=await Cn({value:g?p.inputSchemaInput:d.input,schema:vo(f.inputSchema)}),b;if(!h.success)b=h.error;else if(!yh(h.value,d.input))b=Error("Approved tool input does not match the validated schema output.");if(b!=null){c.push({...u,error:new Xx({toolName:d.toolName,toolInput:JSON.stringify(d.input),cause:b})});continue}}if(f!=null&&await Z0({tool:f,toolCall:d,messages:n,experimental_context:r}))s.push(u);else l.push({...u,approvalResponse:{...u.approvalResponse,approved:!1,reason:(a=u.approvalResponse.reason)!=null?a:`Tool "${d.toolName}" does not require approval`}})}return{approvedToolApprovals:s,deniedToolApprovals:l,invalidToolApprovals:c}}var G0={};WEe(G0,{array:()=>_Re,choice:()=>IRe,json:()=>CRe,object:()=>TRe,text:()=>Qx});function wRe(e){let t=["ROOT"],n=-1,r=null,i=0;function a(d){return d>="0"&&d<="9"||d>="A"&&d<="F"||d>="a"&&d<="f"}function s(d,p,f){switch(d){case'"':{n=p,t.pop(),t.push(f),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{n=p,r=p,t.pop(),t.push(f),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(f),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=p,t.pop(),t.push(f),t.push("INSIDE_NUMBER");break}case"{":{n=p,t.pop(),t.push(f),t.push("INSIDE_OBJECT_START");break}case"[":{n=p,t.pop(),t.push(f),t.push("INSIDE_ARRAY_START");break}}}function l(d,p){switch(d){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{n=p,t.pop();break}}}function c(d,p){switch(d){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=p,t.pop();break}}}for(let d=0;d<e.length;d++){let p=e[d];switch(t[t.length-1]){case"ROOT":s(p,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{n=d,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(p){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(p,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{l(p,d);break}case"INSIDE_STRING":{switch(p){case'"':{t.pop(),n=d;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:n=d}break}case"INSIDE_ARRAY_START":{switch(p){case"]":{n=d,t.pop();break}default:{n=d,s(p,d,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(p){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=d,t.pop();break}default:{n=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(p,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{if(t.pop(),p==="u")i=0,t.push("INSIDE_STRING_UNICODE_ESCAPE");else n=d;break}case"INSIDE_STRING_UNICODE_ESCAPE":{if(a(p)){if(i++,i===4)t.pop(),n=d}break}case"INSIDE_NUMBER":{switch(p){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=d;break}case"e":case"E":case"-":case".":break;case",":{if(t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE")c(p,d);if(t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE")l(p,d);break}case"}":{if(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE")l(p,d);break}case"]":{if(t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE")c(p,d);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{let m=e.substring(r,d+1);if(!"false".startsWith(m)&&!"true".startsWith(m)&&!"null".startsWith(m)){if(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE")l(p,d);else if(t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE")c(p,d)}else n=d;break}}}let u=e.slice(0,n+1);for(let d=t.length-1;d>=0;d--)switch(t[d]){case"INSIDE_STRING":{u+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{u+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{u+="]";break}case"INSIDE_LITERAL":{let f=e.substring(r,e.length);if("true".startsWith(f))u+="true".slice(f.length);else if("false".startsWith(f))u+="false".slice(f.length);else if("null".startsWith(f))u+="null".slice(f.length)}}return u}async function xh(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await mr({text:e});if(t.success)return{value:t.value,state:"successful-parse"};if(t=await mr({text:wRe(e)}),t.success)return{value:t.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}var Qx=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){return}}),TRe=({schema:e,name:t,description:n})=>{let r=vo(e);return{name:"object",responseFormat:mt(r.jsonSchema).then((i)=>({type:"json",schema:i,...t!=null&&{name:t},...n!=null&&{description:n}})),async parseCompleteOutput({text:i},a){let s=await mr({text:i});if(!s.success)throw new $r({message:"No object generated: could not parse the response.",cause:s.error,text:i,response:a.response,usage:a.usage,finishReason:a.finishReason});let l=await Cn({value:s.value,schema:r});if(!l.success)throw new $r({message:"No object generated: response did not match schema.",cause:l.error,text:i,response:a.response,usage:a.usage,finishReason:a.finishReason});return l.value},async parsePartialOutput({text:i}){let a=await xh(i);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:a.value}}},createElementStreamTransform(){return}}},_Re=({element:e,name:t,description:n})=>{let r=vo(e);return{name:"array",responseFormat:mt(r.jsonSchema).then((i)=>{let{$schema:a,...s}=i;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:s}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}}),async parseCompleteOutput({text:i},a){let s=await mr({text:i});if(!s.success)throw new $r({message:"No object generated: could not parse the response.",cause:s.error,text:i,response:a.response,usage:a.usage,finishReason:a.finishReason});let l=s.value;if(l==null||typeof l!=="object"||!("elements"in l)||!Array.isArray(l.elements))throw new $r({message:"No object generated: response did not match schema.",cause:new pr({value:l,cause:"response must be an object with an elements array"}),text:i,response:a.response,usage:a.usage,finishReason:a.finishReason});let c=[];for(let u of l.elements){let d=await Cn({value:u,schema:r});if(!d.success)throw new $r({message:"No object generated: response did not match schema.",cause:d.error,text:i,response:a.response,usage:a.usage,finishReason:a.finishReason});c.push(d.value)}return c},async parsePartialOutput({text:i}){let a=await xh(i);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let s=a.value;if(s==null||typeof s!=="object"||!("elements"in s)||!Array.isArray(s.elements))return;let l=a.state==="repaired-parse"&&s.elements.length>0?s.elements.slice(0,-1):s.elements,c=[];for(let u of l){let d=await Cn({value:u,schema:r});if(d.success)c.push(d.value)}return{partial:c}}}},createElementStreamTransform(){let i=0;return new TransformStream({transform({partialOutput:a},s){if(a!=null)for(;i<a.length;i++)s.enqueue(a[i])}})}}},IRe=({options:e,name:t,description:n})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}),async parseCompleteOutput({text:r},i){let a=await mr({text:r});if(!a.success)throw new $r({message:"No object generated: could not parse the response.",cause:a.error,text:r,response:i.response,usage:i.usage,finishReason:i.finishReason});let s=a.value;if(s==null||typeof s!=="object"||!("result"in s)||typeof s.result!=="string"||!e.includes(s.result))throw new $r({message:"No object generated: response did not match schema.",cause:new pr({value:s,cause:"response must be an object that contains a choice value."}),text:r,response:i.response,usage:i.usage,finishReason:i.finishReason});return s.result},async parsePartialOutput({text:r}){let i=await xh(r);switch(i.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let a=i.value;if(a==null||typeof a!=="object"||!("result"in a)||typeof a.result!=="string")return;let s=e.filter((l)=>l.startsWith(a.result));if(i.state==="successful-parse")return s.includes(a.result)?{partial:a.result}:void 0;else return s.length===1?{partial:s[0]}:void 0}}},createElementStreamTransform(){return}}),CRe=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:n},r){let i=await mr({text:n});if(!i.success)throw new $r({message:"No object generated: could not parse the response.",cause:i.error,text:n,response:r.response,usage:r.usage,finishReason:r.finishReason});return i.value},async parsePartialOutput({text:n}){let r=await xh(n);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return r.value===void 0?void 0:{partial:r.value}}},createElementStreamTransform(){return}}),R0=Symbol("ai-sdk-tool-call-input-schema-input");function ERe(e,t){return Object.defineProperty(e,R0,{value:t}),e}function u6(e){return R0 in e?{value:e[R0]}:void 0}async function d6({toolCall:e,tools:t,repairToolCall:n,system:r,messages:i}){try{if(t==null){if(e.providerExecuted&&e.dynamic)return await p6(e);throw new T0({toolName:e.toolName})}try{return await F5({toolCall:e,tools:t})}catch(a){if(n==null||!(T0.isInstance(a)||Xx.isInstance(a)))throw a;let s=null;try{s=await n({toolCall:e,tools:t,inputSchema:async({toolName:l})=>{let{inputSchema:c}=t[l];return await vo(c).jsonSchema},system:r,messages:i,error:a})}catch(l){throw new Tke({cause:l,originalError:a})}if(s==null)throw a;return await F5({toolCall:s,tools:t})}}catch(a){let s=await mr({text:e.input}),l=s.success?s.value:e.input,c=t==null?void 0:t[e.toolName];return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:l,dynamic:!0,invalid:!0,error:a,title:c==null?void 0:c.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...(c==null?void 0:c.metadata)!=null?{toolMetadata:c.metadata}:{}}}}async function p6(e){let t=e.input.trim()===""?{success:!0,value:{}}:await mr({text:e.input});if(t.success===!1)throw new Xx({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}async function F5({toolCall:e,tools:t}){let n=e.toolName,r=t[n];if(r==null){if(e.providerExecuted&&e.dynamic)return await p6(e);throw new T0({toolName:e.toolName,availableTools:Object.keys(t)})}let i=vo(r.inputSchema),a=e.input.trim()===""?await Cn({value:{},schema:i}):await mr({text:e.input,schema:i});if(a.success===!1)throw new Xx({toolName:n,toolInput:e.input,cause:a.error});return ERe(r.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:a.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...r.metadata!=null?{toolMetadata:r.metadata}:{},dynamic:!0,title:r.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:n,input:a.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...r.metadata!=null?{toolMetadata:r.metadata}:{},title:r.title},a.rawValue)}function m6({callSettings:e,stepSettings:t}){var n,r,i,a,s,l,c,u;return Gp({maxOutputTokens:(n=t==null?void 0:t.maxOutputTokens)!=null?n:e.maxOutputTokens,temperature:(r=t==null?void 0:t.temperature)!=null?r:e.temperature,topP:(i=t==null?void 0:t.topP)!=null?i:e.topP,topK:(a=t==null?void 0:t.topK)!=null?a:e.topK,presencePenalty:(s=t==null?void 0:t.presencePenalty)!=null?s:e.presencePenalty,frequencyPenalty:(l=t==null?void 0:t.frequencyPenalty)!=null?l:e.frequencyPenalty,stopSequences:(c=t==null?void 0:t.stopSequences)!=null?c:e.stopSequences,seed:(u=t==null?void 0:t.seed)!=null?u:e.seed})}var f6=class{constructor({stepNumber:e,model:t,functionId:n,metadata:r,experimental_context:i,content:a,finishReason:s,rawFinishReason:l,usage:c,warnings:u,request:d,response:p,providerMetadata:f}){this.stepNumber=e,this.model=t,this.functionId=n,this.metadata=r,this.experimental_context=i,this.content=a,this.finishReason=s,this.rawFinishReason=l,this.usage=c,this.warnings=u,this.request=d,this.response=p,this.providerMetadata=f}get text(){return this.content.filter((e)=>e.type==="text").map((e)=>e.text).join("")}get reasoning(){return this.content.filter((e)=>e.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map((e)=>e.text).join("")}get files(){return this.content.filter((e)=>e.type==="file").map((e)=>e.file)}get sources(){return this.content.filter((e)=>e.type==="source")}get toolCalls(){return this.content.filter((e)=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter((e)=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter((e)=>e.dynamic===!0)}get toolResults(){return this.content.filter((e)=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter((e)=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter((e)=>e.dynamic===!0)}};function wh(e){return({steps:t})=>t.length===e}async function g6({stopConditions:e,steps:t}){return(await Promise.all(e.map((n)=>n({steps:t})))).some((n)=>n)}async function A0({content:e,tools:t}){let n=[],r=new Map,i=[];for(let s of e){if(s.type==="source")continue;if((s.type==="tool-result"||s.type==="tool-error")&&!s.providerExecuted)continue;if(s.type==="text"&&s.text.length===0)continue;switch(s.type){case"text":i.push({type:"text",text:s.text,providerOptions:s.providerMetadata});break;case"reasoning":i.push({type:"reasoning",text:s.text,providerOptions:s.providerMetadata});break;case"file":i.push({type:"file",data:s.file.base64,mediaType:s.file.mediaType,providerOptions:s.providerMetadata});break;case"tool-call":if(!r.has(s.toolCallId))r.set(s.toolCallId,r.size);i.push({type:"tool-call",toolCallId:s.toolCallId,toolName:s.toolName,input:s.invalid&&typeof s.input!=="object"?{}:s.input,providerExecuted:s.providerExecuted,providerOptions:s.providerMetadata});break;case"tool-result":{let c=await Cu({toolCallId:s.toolCallId,input:s.input,tool:t==null?void 0:t[s.toolName],output:s.output,errorMode:"none"});i.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:c,providerOptions:s.providerMetadata});break}case"tool-error":{let c=await Cu({toolCallId:s.toolCallId,input:s.input,tool:t==null?void 0:t[s.toolName],output:s.error,errorMode:"json"});i.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:c,providerOptions:s.providerMetadata});break}case"tool-approval-request":let l=u6(s.toolCall);i.push({type:"tool-approval-request",approvalId:s.approvalId,toolCallId:s.toolCall.toolCallId,...s.signature!=null?{signature:s.signature}:{},...l!=null&&!yh(l.value,s.toolCall.input)?{inputSchemaInput:l.value}:{}});break}}if(i.length>0)n.push({role:"assistant",content:i});let a=[];for(let s of e){if(!(s.type==="tool-result"||s.type==="tool-error")||s.providerExecuted)continue;let l=await Cu({toolCallId:s.toolCallId,input:s.input,tool:t==null?void 0:t[s.toolName],output:s.type==="tool-result"?s.output:s.error,errorMode:s.type==="tool-error"?"text":"none"});a.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:l,...s.providerMetadata!=null?{providerOptions:s.providerMetadata}:{}})}if(a.length>0)n.push({role:"tool",content:kRe({toolResultContent:a,toolCallOrder:r})});return n}function kRe({toolResultContent:e,toolCallOrder:t}){let n=e.filter((i)=>i.type==="tool-result").map((i,a)=>({part:i,index:a})).sort((i,a)=>{let s=t.get(i.part.toolCallId),l=t.get(a.part.toolCallId);if(s==null&&l==null)return i.index-a.index;if(s==null)return 1;if(l==null)return-1;return s-l||i.index-a.index}).map(({part:i})=>i),r=0;return e.map((i)=>i.type==="tool-result"?n[r++]:i)}function h6(...e){let t=e.filter((r)=>r!=null);if(t.length===0)return;if(t.length===1)return t[0];let n=new AbortController;for(let r of t){if(r.aborted)return n.abort(r.reason),n.signal;r.addEventListener("abort",()=>{n.abort(r.reason)},{once:!0})}return n.signal}var RRe=Ja({prefix:"aitxt",size:24});async function Th({model:e,tools:t,toolChoice:n,system:r,prompt:i,messages:a,allowSystemInMessages:s,maxRetries:l,abortSignal:c,timeout:u,headers:d,stopWhen:p=wh(1),experimental_output:f,output:m=f,experimental_telemetry:g,providerOptions:h,experimental_activeTools:b,activeTools:w=b,experimental_prepareStep:_,prepareStep:y=_,experimental_repairToolCall:S,experimental_download:A,experimental_context:v,experimental_toolApprovalSecret:R,experimental_include:z,_internal:{generateId:F=RRe}={},experimental_onStart:x,experimental_onStepStart:M,experimental_onToolCallStart:q,experimental_onToolCallFinish:E,onStepFinish:N,onFinish:Q,...ae}){let J=gh(e),oe=XQ(),be=Eu(p),P=N0(u),L=UQ(u),se=L!=null?new AbortController:void 0,T=h6(c,P!=null?AbortSignal.timeout(P):void 0,se==null?void 0:se.signal),{maxRetries:le,retry:X}=Sh({maxRetries:l,abortSignal:T}),re=Gp(ae),de=Yn(d!=null?d:{},`ai/${bh}`),ze=ew({model:J,telemetry:g,headers:de,settings:{...re,maxRetries:le}}),Ne={provider:J.provider,modelId:J.modelId},We=await F0({system:r,prompt:i,messages:a,allowSystemInMessages:s}),ee=oe(g==null?void 0:g.integrations);await Mo({event:{model:Ne,system:r,prompt:i,messages:a,tools:t,toolChoice:n,activeTools:w,maxOutputTokens:re.maxOutputTokens,temperature:re.temperature,topP:re.topP,topK:re.topK,presencePenalty:re.presencePenalty,frequencyPenalty:re.frequencyPenalty,stopSequences:re.stopSequences,seed:re.seed,maxRetries:le,timeout:u,headers:d,providerOptions:h,stopWhen:p,output:m,abortSignal:c,include:z,functionId:g==null?void 0:g.functionId,metadata:g==null?void 0:g.metadata,experimental_context:v},callbacks:[x,ee.onStart]});let we=tw(g);try{return await Ka({name:"ai.generateText",attributes:Un({telemetry:g,attributes:{...Ha({operationId:"ai.generateText",telemetry:g}),...ze,"ai.model.provider":J.provider,"ai.model.id":J.modelId,"ai.prompt":{input:()=>JSON.stringify({system:r,prompt:i,messages:a})}}}),tracer:we,fn:async(B)=>{var ne,xe,ce,ve,Z,D,Pe,Oe,ye,Ce,Ke,qe,K,te,he,pe,st,Ue,Tn,Nn;let bn=We.messages,fr=[],{approvedToolApprovals:Ft,deniedToolApprovals:En}=t6({messages:bn}),{approvedToolApprovals:gr,deniedToolApprovals:on,invalidToolApprovals:mn}=await c6({approvedToolApprovals:Ft.filter((cn)=>!cn.toolCall.providerExecuted),tools:t,messages:bn,experimental_context:v,toolApprovalSecret:R}),Pn=[...En,...on];if(Pn.length>0||gr.length>0||mn.length>0){let cn=await q5({toolCalls:gr.map((Xe)=>Xe.toolCall),tools:t,tracer:we,telemetry:g,messages:bn,abortSignal:T,experimental_context:v,stepNumber:0,model:Ne,onToolCallStart:[q,ee.onToolCallStart],onToolCallFinish:[E,ee.onToolCallFinish]}),an=[];for(let Xe of cn){let Gt=await Cu({toolCallId:Xe.toolCallId,input:Xe.input,tool:t==null?void 0:t[Xe.toolName],output:Xe.type==="tool-result"?Xe.output:Xe.error,errorMode:Xe.type==="tool-error"?"text":"none"});an.push({type:"tool-result",toolCallId:Xe.toolCallId,toolName:Xe.toolName,output:Gt})}for(let Xe of mn)an.push({type:"tool-result",toolCallId:Xe.toolCall.toolCallId,toolName:Xe.toolCall.toolName,output:await Cu({toolCallId:Xe.toolCall.toolCallId,input:Xe.toolCall.input,tool:t==null?void 0:t[Xe.toolCall.toolName],output:Xe.error,errorMode:"text"})});for(let Xe of Pn)an.push({type:"tool-result",toolCallId:Xe.toolCall.toolCallId,toolName:Xe.toolCall.toolName,output:{type:"execution-denied",reason:Xe.approvalResponse.reason,...Xe.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:Xe.approvalResponse.approvalId}}}}});fr.push({role:"tool",content:an})}let Xn=Gp(ae),O,ie=[],fe=[],Ge=[],zn=new Map;do{if(Ge.length>0)T==null||T.throwIfAborted();let cn=I0({abortController:se,label:"Step",timeoutMs:L});try{let an=[...bn,...fr],Xe=await(y==null?void 0:y({model:J,steps:Ge,stepNumber:Ge.length,messages:an,experimental_context:v})),Gt=gh((ne=Xe==null?void 0:Xe.model)!=null?ne:J),Qt={provider:Gt.provider,modelId:Gt.modelId},Yl=await B0({prompt:{system:(xe=Xe==null?void 0:Xe.system)!=null?xe:We.system,messages:(ce=Xe==null?void 0:Xe.messages)!=null?ce:an},supportedUrls:await Gt.supportedUrls,download:A,abortSignal:T});v=(ve=Xe==null?void 0:Xe.experimental_context)!=null?ve:v;let Du=(Z=Xe==null?void 0:Xe.activeTools)!=null?Z:w,ii=n6({tools:t,activeTools:Du}),{toolChoice:ai,tools:pa}=await JQ({tools:t,toolChoice:(D=Xe==null?void 0:Xe.toolChoice)!=null?D:n,activeTools:Du}),Zw=(Pe=Xe==null?void 0:Xe.messages)!=null?Pe:an,Ww=(Oe=Xe==null?void 0:Xe.system)!=null?Oe:We.system,Hh=vh(h,Xe==null?void 0:Xe.providerOptions),ma=m6({callSettings:Xn,stepSettings:Xe});await Mo({event:{stepNumber:Ge.length,model:Qt,system:Ww,messages:Zw,tools:t,toolChoice:ai,activeTools:Du,steps:[...Ge],providerOptions:Hh,timeout:u,headers:d,stopWhen:p,output:m,abortSignal:c,include:z,functionId:g==null?void 0:g.functionId,metadata:g==null?void 0:g.metadata,experimental_context:v},callbacks:[M,ee.onStepStart]}),O=await X(()=>Ka({name:"ai.generateText.doGenerate",attributes:Un({telemetry:g,attributes:{...Ha({operationId:"ai.generateText.doGenerate",telemetry:g}),...ze,"ai.model.provider":Gt.provider,"ai.model.id":Gt.modelId,"ai.prompt.messages":{input:()=>L0(Yl)},"ai.prompt.tools":{input:()=>pa==null?void 0:pa.map((xt)=>JSON.stringify(xt))},"ai.prompt.toolChoice":{input:()=>ai!=null?JSON.stringify(ai):void 0},"gen_ai.system":Gt.provider,"gen_ai.request.model":Gt.modelId,"gen_ai.request.frequency_penalty":ma.frequencyPenalty,"gen_ai.request.max_tokens":ma.maxOutputTokens,"gen_ai.request.presence_penalty":ma.presencePenalty,"gen_ai.request.stop_sequences":ma.stopSequences,"gen_ai.request.temperature":ma.temperature,"gen_ai.request.top_k":ma.topK,"gen_ai.request.top_p":ma.topP}}),tracer:we,fn:async(xt)=>{var to,Hs,Di,Ni,Qh,mm,zu,zi;let vn=await Gt.doGenerate({...ma,tools:pa,toolChoice:ai,responseFormat:await(m==null?void 0:m.responseFormat),prompt:Yl,providerOptions:Hh,abortSignal:T,headers:de}),Ks={id:(Hs=(to=vn.response)==null?void 0:to.id)!=null?Hs:F(),timestamp:(Ni=(Di=vn.response)==null?void 0:Di.timestamp)!=null?Ni:new Date,modelId:(mm=(Qh=vn.response)==null?void 0:Qh.modelId)!=null?mm:Gt.modelId,headers:(zu=vn.response)==null?void 0:zu.headers,body:(zi=vn.response)==null?void 0:zi.body},Gw=hh(vn.usage);return xt.setAttributes(await Un({telemetry:g,attributes:{"ai.response.finishReason":vn.finishReason.unified,"ai.response.text":{output:()=>E0(vn.content)},"ai.response.reasoning":{output:()=>C0(vn.content)},"ai.response.toolCalls":{output:()=>{let Qs=L5(vn.content);return Qs==null?void 0:JSON.stringify(Qs)}},"ai.response.id":Ks.id,"ai.response.model":Ks.modelId,"ai.response.timestamp":Ks.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(vn.providerMetadata),"ai.usage.inputTokens":vn.usage.inputTokens.total,"ai.usage.inputTokenDetails.noCacheTokens":vn.usage.inputTokens.noCache,"ai.usage.inputTokenDetails.cacheReadTokens":vn.usage.inputTokens.cacheRead,"ai.usage.inputTokenDetails.cacheWriteTokens":vn.usage.inputTokens.cacheWrite,"ai.usage.outputTokens":vn.usage.outputTokens.total,"ai.usage.outputTokenDetails.textTokens":vn.usage.outputTokens.text,"ai.usage.outputTokenDetails.reasoningTokens":vn.usage.outputTokens.reasoning,"ai.usage.totalTokens":Gw.totalTokens,"ai.usage.reasoningTokens":vn.usage.outputTokens.reasoning,"ai.usage.cachedInputTokens":vn.usage.inputTokens.cacheRead,"gen_ai.response.finish_reasons":[vn.finishReason.unified],"gen_ai.response.id":Ks.id,"gen_ai.response.model":Ks.modelId,"gen_ai.usage.input_tokens":vn.usage.inputTokens.total,"gen_ai.usage.output_tokens":vn.usage.outputTokens.total}})),{...vn,response:Ks}}}));let So=await Promise.all(O.content.filter((xt)=>xt.type==="tool-call").map((xt)=>d6({toolCall:xt,tools:ii,repairToolCall:S,system:r,messages:an}))),Mi=(ai==null?void 0:ai.type)==="required"||(ai==null?void 0:ai.type)==="tool"?ai:void 0;if(Mi!=null&&!So.some((xt)=>Mi.type==="required"||xt.toolName===Mi.toolName))throw new xke({toolChoice:Mi,finishReason:O.finishReason.unified,provider:Gt.provider,modelId:Gt.modelId,content:O.content});let Bn={};for(let xt of So){if(xt.invalid)continue;let to=ii==null?void 0:ii[xt.toolName];if(to==null)continue;if(to.onInputStart!=null)await to.onInputStart({toolCallId:xt.toolCallId,messages:an,abortSignal:T,experimental_context:v});if(to.onInputAvailable!=null)await to.onInputAvailable({input:xt.input,toolCallId:xt.toolCallId,messages:an,abortSignal:T,experimental_context:v});if(await Z0({tool:to,toolCall:xt,messages:an,experimental_context:v})){let Hs=F(),Di=await l6({secret:R,approvalId:Hs,toolCallId:xt.toolCallId,toolName:xt.toolName,input:xt.input});Bn[xt.toolCallId]={type:"tool-approval-request",approvalId:Hs,toolCall:xt,...Di!=null?{signature:Di}:{}}}}let ji=So.filter((xt)=>xt.invalid&&xt.dynamic&&!xt.providerExecuted);fe=[];for(let xt of ji)fe.push({type:"tool-error",toolCallId:xt.toolCallId,toolName:xt.toolName,input:xt.input,error:wn(xt.error),dynamic:!0});if(ie=So.filter((xt)=>!xt.providerExecuted),ii!=null&&r6(O.finishReason.unified))fe.push(...await q5({toolCalls:ie.filter((xt)=>!xt.invalid&&Bn[xt.toolCallId]==null),tools:ii,tracer:we,telemetry:g,messages:an,abortSignal:T,experimental_context:v,stepNumber:Ge.length,model:Qt,onToolCallStart:[q,ee.onToolCallStart],onToolCallFinish:[E,ee.onToolCallFinish]}));for(let xt of So){if(!xt.providerExecuted)continue;let to=ii==null?void 0:ii[xt.toolName];if((to==null?void 0:to.type)==="provider"&&to.supportsDeferredResults){if(!O.content.some((Di)=>Di.type==="tool-result"&&Di.toolCallId===xt.toolCallId))zn.set(xt.toolCallId,{toolName:xt.toolName})}}for(let xt of O.content)if(xt.type==="tool-result")zn.delete(xt.toolCallId);let Nu=PRe({content:O.content,toolCalls:So,toolOutputs:fe,toolApprovalRequests:Object.values(Bn),tools:ii});fr.push(...await A0({content:Nu,tools:ii}));let Kh=((ye=z==null?void 0:z.requestBody)!=null?ye:!0)?(Ce=O.request)!=null?Ce:{}:{...O.request,body:void 0},pm={...O.response,messages:structuredClone(fr),body:((Ke=z==null?void 0:z.responseBody)!=null?Ke:!0)?(qe=O.response)==null?void 0:qe.body:void 0},ts=Ge.length,Xl=new f6({stepNumber:ts,model:Qt,functionId:g==null?void 0:g.functionId,metadata:g==null?void 0:g.metadata,experimental_context:v,content:Nu,finishReason:O.finishReason.unified,rawFinishReason:O.finishReason.raw,usage:hh(O.usage),warnings:O.warnings,providerMetadata:O.providerMetadata,request:Kh,response:pm});ku({warnings:(K=O.warnings)!=null?K:[],provider:Qt.provider,model:Qt.modelId}),Ge.push(Xl),await Mo({event:Xl,callbacks:[N,ee.onStepFinish]})}finally{if(cn!=null)clearTimeout(cn)}}while((ie.length>0&&fe.length===ie.length||zn.size>0)&&!await g6({stopConditions:be,steps:Ge}));B.setAttributes(await Un({telemetry:g,attributes:{"ai.response.finishReason":O.finishReason.unified,"ai.response.text":{output:()=>E0(O.content)},"ai.response.reasoning":{output:()=>C0(O.content)},"ai.response.toolCalls":{output:()=>{let cn=L5(O.content);return cn==null?void 0:JSON.stringify(cn)}},"ai.response.providerMetadata":JSON.stringify(O.providerMetadata)}}));let lt=Ge[Ge.length-1],rt=Ge.reduce((cn,an)=>e6(cn,an.usage),{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});B.setAttributes(await Un({telemetry:g,attributes:{"ai.usage.inputTokens":rt.inputTokens,"ai.usage.inputTokenDetails.noCacheTokens":(te=rt.inputTokenDetails)==null?void 0:te.noCacheTokens,"ai.usage.inputTokenDetails.cacheReadTokens":(he=rt.inputTokenDetails)==null?void 0:he.cacheReadTokens,"ai.usage.inputTokenDetails.cacheWriteTokens":(pe=rt.inputTokenDetails)==null?void 0:pe.cacheWriteTokens,"ai.usage.outputTokens":rt.outputTokens,"ai.usage.outputTokenDetails.textTokens":(st=rt.outputTokenDetails)==null?void 0:st.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":(Ue=rt.outputTokenDetails)==null?void 0:Ue.reasoningTokens,"ai.usage.totalTokens":rt.totalTokens,"ai.usage.reasoningTokens":(Tn=rt.outputTokenDetails)==null?void 0:Tn.reasoningTokens,"ai.usage.cachedInputTokens":(Nn=rt.inputTokenDetails)==null?void 0:Nn.cacheReadTokens}})),await Mo({event:{stepNumber:lt.stepNumber,model:lt.model,functionId:lt.functionId,metadata:lt.metadata,experimental_context:lt.experimental_context,finishReason:lt.finishReason,rawFinishReason:lt.rawFinishReason,usage:lt.usage,content:lt.content,text:lt.text,reasoningText:lt.reasoningText,reasoning:lt.reasoning,files:lt.files,sources:lt.sources,toolCalls:lt.toolCalls,staticToolCalls:lt.staticToolCalls,dynamicToolCalls:lt.dynamicToolCalls,toolResults:lt.toolResults,staticToolResults:lt.staticToolResults,dynamicToolResults:lt.dynamicToolResults,request:lt.request,response:lt.response,warnings:lt.warnings,providerMetadata:lt.providerMetadata,steps:Ge,totalUsage:rt},callbacks:[Q,ee.onFinish]});let oi;if(lt.finishReason==="stop"||lt.finishReason!=="tool-calls"&&lt.text.length>0)oi=await(m!=null?m:Qx()).parseCompleteOutput({text:lt.text},{response:lt.response,usage:lt.usage,finishReason:lt.finishReason});return new ARe({steps:Ge,totalUsage:rt,output:oi})}})}catch(B){throw q0(B)}}async function q5({toolCalls:e,tools:t,tracer:n,telemetry:r,messages:i,abortSignal:a,experimental_context:s,stepNumber:l,model:c,onToolCallStart:u,onToolCallFinish:d}){return(await Promise.all(e.map(async(f)=>$0({toolCall:f,tools:t,tracer:n,telemetry:r,messages:i,abortSignal:a,experimental_context:s,stepNumber:l,model:c,onToolCallStart:u,onToolCallFinish:d})))).filter((f)=>f!=null)}var ARe=class{constructor(e){this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new Gx;return this._output}};function L5(e){let t=e.filter((n)=>n.type==="tool-call");if(t.length===0)return;return t.map((n)=>({toolCallId:n.toolCallId,toolName:n.toolName,input:n.input}))}function PRe({content:e,toolCalls:t,toolOutputs:n,toolApprovalRequests:r,tools:i}){let a=[];for(let s of e)switch(s.type){case"text":case"reasoning":case"source":a.push(s);break;case"file":{a.push({type:"file",file:new U0(s),...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{}});break}case"tool-call":{a.push(t.find((l)=>l.toolCallId===s.toolCallId));break}case"tool-result":{let l=t.find((c)=>c.toolCallId===s.toolCallId);if(l==null){let c=i==null?void 0:i[s.toolName];if(!((c==null?void 0:c.type)==="provider"&&c.supportsDeferredResults))throw Error(`Tool call ${s.toolCallId} not found.`);if(s.isError)a.push({type:"tool-error",toolCallId:s.toolCallId,toolName:s.toolName,input:void 0,error:s.result,providerExecuted:!0,dynamic:s.dynamic,...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{},...(c==null?void 0:c.metadata)!=null?{toolMetadata:c.metadata}:{}});else a.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,input:void 0,output:s.result,providerExecuted:!0,dynamic:s.dynamic,...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{},...(c==null?void 0:c.metadata)!=null?{toolMetadata:c.metadata}:{}});break}if(s.isError)a.push({type:"tool-error",toolCallId:s.toolCallId,toolName:s.toolName,input:l.input,error:s.result,providerExecuted:!0,dynamic:l.dynamic,...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{},...l.toolMetadata!=null?{toolMetadata:l.toolMetadata}:{}});else a.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,input:l.input,output:s.result,providerExecuted:!0,dynamic:l.dynamic,...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{},...l.toolMetadata!=null?{toolMetadata:l.toolMetadata}:{}});break}case"tool-approval-request":{let l=t.find((c)=>c.toolCallId===s.toolCallId);if(l==null)throw new O0({toolCallId:s.toolCallId,approvalId:s.approvalId});a.push({type:"tool-approval-request",approvalId:s.approvalId,toolCall:l});break}}return[...a,...n,...r]}function _h(e,t){let n=new Headers(e!=null?e:{});for(let[r,i]of Object.entries(t))if(!n.has(r))n.set(r,i);return n}function ORe({status:e,statusText:t,headers:n,textStream:r}){return new Response(r.pipeThrough(new TextEncoderStream),{status:e!=null?e:200,statusText:t,headers:_h(n,{"content-type":"text/plain; charset=utf-8"})})}function y6({response:e,status:t,statusText:n,headers:r,stream:i}){let a=t!=null?t:200;if(n!==void 0)e.writeHead(a,n,r);else e.writeHead(a,r);let s=i.getReader(),l=!1,c,u=()=>{if(e.writableFinished)return;l=!0,c==null||c(),s.cancel(Error("Client disconnected.")).catch(()=>{})};if(e.once("close",u),e.destroyed)u();return(async()=>{try{while(!0){let{done:p,value:f}=await s.read();if(p||l||e.destroyed)break;if(!e.write(f))await new Promise((g)=>{c=g,e.once("drain",g)}),c=void 0}}finally{if(e.off("close",u),l||e.destroyed)s.cancel().catch(()=>{});else e.end()}})()}function MRe({response:e,status:t,statusText:n,headers:r,textStream:i}){return y6({response:e,status:t,statusText:n,headers:Object.fromEntries(_h(r,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:i.pipeThrough(new TextEncoderStream)})}var jRe=`: stream-open
202
+ ${r}`)}async function SRe({secret:e,approvalId:t,toolCallId:n,toolName:r,input:i}){let a=await i6(e),s=await a6(i),l=s6(t,n,r,s),c=await crypto.subtle.sign("HMAC",a,l);return o6(new Uint8Array(c))}async function xRe({secret:e,signature:t,approvalId:n,toolCallId:r,toolName:i,input:a}){let s=await i6(e),l=await a6(a),c=s6(n,r,i,l),u=vRe(t);return crypto.subtle.verify("HMAC",s,u,c)}async function l6({secret:e,approvalId:t,toolCallId:n,toolName:r,input:i}){if(e==null)return;return SRe({secret:e,approvalId:t,toolCallId:n,toolName:r,input:i})}function yh(e,t){if(e===t)return!0;if(e==null||t==null)return!1;if(typeof e!=="object"&&typeof t!=="object")return e===t;if(e.constructor!==t.constructor)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(Array.isArray(e)){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!yh(e[i],t[i]))return!1;return!0}let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i of n){if(!r.includes(i))return!1;if(!yh(e[i],t[i]))return!1}return!0}async function c6({approvedToolApprovals:e,tools:t,messages:n,experimental_context:r,toolApprovalSecret:i}){var a;let s=[],l=[],c=[];for(let u of e){let{toolCall:d,approvalRequest:p}=u,f=t==null?void 0:t[d.toolName];if(i!=null){if(p.signature==null)throw new P5({approvalId:p.approvalId,toolCallId:d.toolCallId,reason:"missing signature"});if(!await xRe({secret:i,signature:p.signature,approvalId:p.approvalId,toolCallId:d.toolCallId,toolName:d.toolName,input:d.input}))throw new P5({approvalId:p.approvalId,toolCallId:d.toolCallId,reason:"invalid signature"})}if(f!=null&&typeof f.execute==="function"&&f.inputSchema!=null){let g=Object.prototype.hasOwnProperty.call(p,"inputSchemaInput"),h=await Cn({value:g?p.inputSchemaInput:d.input,schema:vo(f.inputSchema)}),b;if(!h.success)b=h.error;else if(!yh(h.value,d.input))b=Error("Approved tool input does not match the validated schema output.");if(b!=null){c.push({...u,error:new Xx({toolName:d.toolName,toolInput:JSON.stringify(d.input),cause:b})});continue}}if(f!=null&&await Z0({tool:f,toolCall:d,messages:n,experimental_context:r}))s.push(u);else l.push({...u,approvalResponse:{...u.approvalResponse,approved:!1,reason:(a=u.approvalResponse.reason)!=null?a:`Tool "${d.toolName}" does not require approval`}})}return{approvedToolApprovals:s,deniedToolApprovals:l,invalidToolApprovals:c}}var G0={};WEe(G0,{array:()=>_Re,choice:()=>IRe,json:()=>CRe,object:()=>TRe,text:()=>Qx});function wRe(e){let t=["ROOT"],n=-1,r=null,i=0;function a(d){return d>="0"&&d<="9"||d>="A"&&d<="F"||d>="a"&&d<="f"}function s(d,p,f){switch(d){case'"':{n=p,t.pop(),t.push(f),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{n=p,r=p,t.pop(),t.push(f),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(f),t.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=p,t.pop(),t.push(f),t.push("INSIDE_NUMBER");break}case"{":{n=p,t.pop(),t.push(f),t.push("INSIDE_OBJECT_START");break}case"[":{n=p,t.pop(),t.push(f),t.push("INSIDE_ARRAY_START");break}}}function l(d,p){switch(d){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{n=p,t.pop();break}}}function c(d,p){switch(d){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=p,t.pop();break}}}for(let d=0;d<e.length;d++){let p=e[d];switch(t[t.length-1]){case"ROOT":s(p,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{n=d,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(p){case'"':{t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(p){case":":{t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(p,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{l(p,d);break}case"INSIDE_STRING":{switch(p){case'"':{t.pop(),n=d;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:n=d}break}case"INSIDE_ARRAY_START":{switch(p){case"]":{n=d,t.pop();break}default:{n=d,s(p,d,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(p){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{n=d,t.pop();break}default:{n=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(p,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{if(t.pop(),p==="u")i=0,t.push("INSIDE_STRING_UNICODE_ESCAPE");else n=d;break}case"INSIDE_STRING_UNICODE_ESCAPE":{if(a(p)){if(i++,i===4)t.pop(),n=d}break}case"INSIDE_NUMBER":{switch(p){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{n=d;break}case"e":case"E":case"-":case".":break;case",":{if(t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE")c(p,d);if(t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE")l(p,d);break}case"}":{if(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE")l(p,d);break}case"]":{if(t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE")c(p,d);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{let m=e.substring(r,d+1);if(!"false".startsWith(m)&&!"true".startsWith(m)&&!"null".startsWith(m)){if(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE")l(p,d);else if(t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE")c(p,d)}else n=d;break}}}let u=e.slice(0,n+1);for(let d=t.length-1;d>=0;d--)switch(t[d]){case"INSIDE_STRING":{u+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{u+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{u+="]";break}case"INSIDE_LITERAL":{let f=e.substring(r,e.length);if("true".startsWith(f))u+="true".slice(f.length);else if("false".startsWith(f))u+="false".slice(f.length);else if("null".startsWith(f))u+="null".slice(f.length)}}return u}async function xh(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await mr({text:e});if(t.success)return{value:t.value,state:"successful-parse"};if(t=await mr({text:wRe(e)}),t.success)return{value:t.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}var Qx=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){return}}),TRe=({schema:e,name:t,description:n})=>{let r=vo(e);return{name:"object",responseFormat:mt(r.jsonSchema).then((i)=>({type:"json",schema:i,...t!=null&&{name:t},...n!=null&&{description:n}})),async parseCompleteOutput({text:i},a){let s=await mr({text:i});if(!s.success)throw new $r({message:"No object generated: could not parse the response.",cause:s.error,text:i,response:a.response,usage:a.usage,finishReason:a.finishReason});let l=await Cn({value:s.value,schema:r});if(!l.success)throw new $r({message:"No object generated: response did not match schema.",cause:l.error,text:i,response:a.response,usage:a.usage,finishReason:a.finishReason});return l.value},async parsePartialOutput({text:i}){let a=await xh(i);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:a.value}}},createElementStreamTransform(){return}}},_Re=({element:e,name:t,description:n})=>{let r=vo(e);return{name:"array",responseFormat:mt(r.jsonSchema).then((i)=>{let{$schema:a,...s}=i;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:s}},required:["elements"],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}}),async parseCompleteOutput({text:i},a){let s=await mr({text:i});if(!s.success)throw new $r({message:"No object generated: could not parse the response.",cause:s.error,text:i,response:a.response,usage:a.usage,finishReason:a.finishReason});let l=s.value;if(l==null||typeof l!=="object"||!("elements"in l)||!Array.isArray(l.elements))throw new $r({message:"No object generated: response did not match schema.",cause:new pr({value:l,cause:"response must be an object with an elements array"}),text:i,response:a.response,usage:a.usage,finishReason:a.finishReason});let c=[];for(let u of l.elements){let d=await Cn({value:u,schema:r});if(!d.success)throw new $r({message:"No object generated: response did not match schema.",cause:d.error,text:i,response:a.response,usage:a.usage,finishReason:a.finishReason});c.push(d.value)}return c},async parsePartialOutput({text:i}){let a=await xh(i);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let s=a.value;if(s==null||typeof s!=="object"||!("elements"in s)||!Array.isArray(s.elements))return;let l=a.state==="repaired-parse"&&s.elements.length>0?s.elements.slice(0,-1):s.elements,c=[];for(let u of l){let d=await Cn({value:u,schema:r});if(d.success)c.push(d.value)}return{partial:c}}}},createElementStreamTransform(){let i=0;return new TransformStream({transform({partialOutput:a},s){if(a!=null)for(;i<a.length;i++)s.enqueue(a[i])}})}}},IRe=({options:e,name:t,description:n})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}),async parseCompleteOutput({text:r},i){let a=await mr({text:r});if(!a.success)throw new $r({message:"No object generated: could not parse the response.",cause:a.error,text:r,response:i.response,usage:i.usage,finishReason:i.finishReason});let s=a.value;if(s==null||typeof s!=="object"||!("result"in s)||typeof s.result!=="string"||!e.includes(s.result))throw new $r({message:"No object generated: response did not match schema.",cause:new pr({value:s,cause:"response must be an object that contains a choice value."}),text:r,response:i.response,usage:i.usage,finishReason:i.finishReason});return s.result},async parsePartialOutput({text:r}){let i=await xh(r);switch(i.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let a=i.value;if(a==null||typeof a!=="object"||!("result"in a)||typeof a.result!=="string")return;let s=e.filter((l)=>l.startsWith(a.result));if(i.state==="successful-parse")return s.includes(a.result)?{partial:a.result}:void 0;else return s.length===1?{partial:s[0]}:void 0}}},createElementStreamTransform(){return}}),CRe=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:n},r){let i=await mr({text:n});if(!i.success)throw new $r({message:"No object generated: could not parse the response.",cause:i.error,text:n,response:r.response,usage:r.usage,finishReason:r.finishReason});return i.value},async parsePartialOutput({text:n}){let r=await xh(n);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return r.value===void 0?void 0:{partial:r.value}}},createElementStreamTransform(){return}}),R0=Symbol("ai-sdk-tool-call-input-schema-input");function ERe(e,t){return Object.defineProperty(e,R0,{value:t}),e}function u6(e){return R0 in e?{value:e[R0]}:void 0}async function d6({toolCall:e,tools:t,repairToolCall:n,system:r,messages:i}){try{if(t==null){if(e.providerExecuted&&e.dynamic)return await p6(e);throw new T0({toolName:e.toolName})}try{return await F5({toolCall:e,tools:t})}catch(a){if(n==null||!(T0.isInstance(a)||Xx.isInstance(a)))throw a;let s=null;try{s=await n({toolCall:e,tools:t,inputSchema:async({toolName:l})=>{let{inputSchema:c}=t[l];return await vo(c).jsonSchema},system:r,messages:i,error:a})}catch(l){throw new Tke({cause:l,originalError:a})}if(s==null)throw a;return await F5({toolCall:s,tools:t})}}catch(a){let s=await mr({text:e.input}),l=s.success?s.value:e.input,c=t==null?void 0:t[e.toolName];return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:l,dynamic:!0,invalid:!0,error:a,title:c==null?void 0:c.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...(c==null?void 0:c.metadata)!=null?{toolMetadata:c.metadata}:{}}}}async function p6(e){let t=e.input.trim()===""?{success:!0,value:{}}:await mr({text:e.input});if(t.success===!1)throw new Xx({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}async function F5({toolCall:e,tools:t}){let n=e.toolName,r=t[n];if(r==null){if(e.providerExecuted&&e.dynamic)return await p6(e);throw new T0({toolName:e.toolName,availableTools:Object.keys(t)})}let i=vo(r.inputSchema),a=e.input.trim()===""?await Cn({value:{},schema:i}):await mr({text:e.input,schema:i});if(a.success===!1)throw new Xx({toolName:n,toolInput:e.input,cause:a.error});return ERe(r.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:a.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...r.metadata!=null?{toolMetadata:r.metadata}:{},dynamic:!0,title:r.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:n,input:a.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...r.metadata!=null?{toolMetadata:r.metadata}:{},title:r.title},a.rawValue)}function m6({callSettings:e,stepSettings:t}){var n,r,i,a,s,l,c,u;return Gp({maxOutputTokens:(n=t==null?void 0:t.maxOutputTokens)!=null?n:e.maxOutputTokens,temperature:(r=t==null?void 0:t.temperature)!=null?r:e.temperature,topP:(i=t==null?void 0:t.topP)!=null?i:e.topP,topK:(a=t==null?void 0:t.topK)!=null?a:e.topK,presencePenalty:(s=t==null?void 0:t.presencePenalty)!=null?s:e.presencePenalty,frequencyPenalty:(l=t==null?void 0:t.frequencyPenalty)!=null?l:e.frequencyPenalty,stopSequences:(c=t==null?void 0:t.stopSequences)!=null?c:e.stopSequences,seed:(u=t==null?void 0:t.seed)!=null?u:e.seed})}var f6=class{constructor({stepNumber:e,model:t,functionId:n,metadata:r,experimental_context:i,content:a,finishReason:s,rawFinishReason:l,usage:c,warnings:u,request:d,response:p,providerMetadata:f}){this.stepNumber=e,this.model=t,this.functionId=n,this.metadata=r,this.experimental_context=i,this.content=a,this.finishReason=s,this.rawFinishReason=l,this.usage=c,this.warnings=u,this.request=d,this.response=p,this.providerMetadata=f}get text(){return this.content.filter((e)=>e.type==="text").map((e)=>e.text).join("")}get reasoning(){return this.content.filter((e)=>e.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map((e)=>e.text).join("")}get files(){return this.content.filter((e)=>e.type==="file").map((e)=>e.file)}get sources(){return this.content.filter((e)=>e.type==="source")}get toolCalls(){return this.content.filter((e)=>e.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter((e)=>e.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter((e)=>e.dynamic===!0)}get toolResults(){return this.content.filter((e)=>e.type==="tool-result")}get staticToolResults(){return this.toolResults.filter((e)=>e.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter((e)=>e.dynamic===!0)}};function wh(e){return({steps:t})=>t.length===e}async function g6({stopConditions:e,steps:t}){return(await Promise.all(e.map((n)=>n({steps:t})))).some((n)=>n)}async function A0({content:e,tools:t}){let n=[],r=new Map,i=[];for(let s of e){if(s.type==="source")continue;if((s.type==="tool-result"||s.type==="tool-error")&&!s.providerExecuted)continue;if(s.type==="text"&&s.text.length===0)continue;switch(s.type){case"text":i.push({type:"text",text:s.text,providerOptions:s.providerMetadata});break;case"reasoning":i.push({type:"reasoning",text:s.text,providerOptions:s.providerMetadata});break;case"file":i.push({type:"file",data:s.file.base64,mediaType:s.file.mediaType,providerOptions:s.providerMetadata});break;case"tool-call":if(!r.has(s.toolCallId))r.set(s.toolCallId,r.size);i.push({type:"tool-call",toolCallId:s.toolCallId,toolName:s.toolName,input:s.invalid&&typeof s.input!=="object"?{}:s.input,providerExecuted:s.providerExecuted,providerOptions:s.providerMetadata});break;case"tool-result":{let c=await Cu({toolCallId:s.toolCallId,input:s.input,tool:t==null?void 0:t[s.toolName],output:s.output,errorMode:"none"});i.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:c,providerOptions:s.providerMetadata});break}case"tool-error":{let c=await Cu({toolCallId:s.toolCallId,input:s.input,tool:t==null?void 0:t[s.toolName],output:s.error,errorMode:"json"});i.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:c,providerOptions:s.providerMetadata});break}case"tool-approval-request":let l=u6(s.toolCall);i.push({type:"tool-approval-request",approvalId:s.approvalId,toolCallId:s.toolCall.toolCallId,...s.signature!=null?{signature:s.signature}:{},...l!=null&&!yh(l.value,s.toolCall.input)?{inputSchemaInput:l.value}:{}});break}}if(i.length>0)n.push({role:"assistant",content:i});let a=[];for(let s of e){if(!(s.type==="tool-result"||s.type==="tool-error")||s.providerExecuted)continue;let l=await Cu({toolCallId:s.toolCallId,input:s.input,tool:t==null?void 0:t[s.toolName],output:s.type==="tool-result"?s.output:s.error,errorMode:s.type==="tool-error"?"text":"none"});a.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,output:l,...s.providerMetadata!=null?{providerOptions:s.providerMetadata}:{}})}if(a.length>0)n.push({role:"tool",content:kRe({toolResultContent:a,toolCallOrder:r})});return n}function kRe({toolResultContent:e,toolCallOrder:t}){let n=e.filter((i)=>i.type==="tool-result").map((i,a)=>({part:i,index:a})).sort((i,a)=>{let s=t.get(i.part.toolCallId),l=t.get(a.part.toolCallId);if(s==null&&l==null)return i.index-a.index;if(s==null)return 1;if(l==null)return-1;return s-l||i.index-a.index}).map(({part:i})=>i),r=0;return e.map((i)=>i.type==="tool-result"?n[r++]:i)}function h6(...e){let t=e.filter((r)=>r!=null);if(t.length===0)return;if(t.length===1)return t[0];let n=new AbortController;for(let r of t){if(r.aborted)return n.abort(r.reason),n.signal;r.addEventListener("abort",()=>{n.abort(r.reason)},{once:!0})}return n.signal}var RRe=Ja({prefix:"aitxt",size:24});async function Th({model:e,tools:t,toolChoice:n,system:r,prompt:i,messages:a,allowSystemInMessages:s,maxRetries:l,abortSignal:c,timeout:u,headers:d,stopWhen:p=wh(1),experimental_output:f,output:m=f,experimental_telemetry:g,providerOptions:h,experimental_activeTools:b,activeTools:w=b,experimental_prepareStep:_,prepareStep:y=_,experimental_repairToolCall:S,experimental_download:A,experimental_context:v,experimental_toolApprovalSecret:R,experimental_include:z,_internal:{generateId:F=RRe}={},experimental_onStart:x,experimental_onStepStart:M,experimental_onToolCallStart:q,experimental_onToolCallFinish:E,onStepFinish:N,onFinish:Q,...ae}){let J=gh(e),oe=XQ(),be=Eu(p),P=N0(u),L=UQ(u),se=L!=null?new AbortController:void 0,T=h6(c,P!=null?AbortSignal.timeout(P):void 0,se==null?void 0:se.signal),{maxRetries:le,retry:X}=Sh({maxRetries:l,abortSignal:T}),re=Gp(ae),de=Yn(d!=null?d:{},`ai/${bh}`),ze=ew({model:J,telemetry:g,headers:de,settings:{...re,maxRetries:le}}),Ne={provider:J.provider,modelId:J.modelId},We=await F0({system:r,prompt:i,messages:a,allowSystemInMessages:s}),ee=oe(g==null?void 0:g.integrations);await Mo({event:{model:Ne,system:r,prompt:i,messages:a,tools:t,toolChoice:n,activeTools:w,maxOutputTokens:re.maxOutputTokens,temperature:re.temperature,topP:re.topP,topK:re.topK,presencePenalty:re.presencePenalty,frequencyPenalty:re.frequencyPenalty,stopSequences:re.stopSequences,seed:re.seed,maxRetries:le,timeout:u,headers:d,providerOptions:h,stopWhen:p,output:m,abortSignal:c,include:z,functionId:g==null?void 0:g.functionId,metadata:g==null?void 0:g.metadata,experimental_context:v},callbacks:[x,ee.onStart]});let we=tw(g);try{return await Ka({name:"ai.generateText",attributes:Un({telemetry:g,attributes:{...Ha({operationId:"ai.generateText",telemetry:g}),...ze,"ai.model.provider":J.provider,"ai.model.id":J.modelId,"ai.prompt":{input:()=>JSON.stringify({system:r,prompt:i,messages:a})}}}),tracer:we,fn:async(B)=>{var ne,xe,ce,ve,Z,D,Pe,Oe,ye,Ce,Ke,qe,K,te,he,pe,st,Ue,Tn,Nn;let bn=We.messages,fr=[],{approvedToolApprovals:Ft,deniedToolApprovals:En}=t6({messages:bn}),{approvedToolApprovals:gr,deniedToolApprovals:on,invalidToolApprovals:mn}=await c6({approvedToolApprovals:Ft.filter((cn)=>!cn.toolCall.providerExecuted),tools:t,messages:bn,experimental_context:v,toolApprovalSecret:R}),Pn=[...En,...on];if(Pn.length>0||gr.length>0||mn.length>0){let cn=await q5({toolCalls:gr.map((Xe)=>Xe.toolCall),tools:t,tracer:we,telemetry:g,messages:bn,abortSignal:T,experimental_context:v,stepNumber:0,model:Ne,onToolCallStart:[q,ee.onToolCallStart],onToolCallFinish:[E,ee.onToolCallFinish]}),an=[];for(let Xe of cn){let Gt=await Cu({toolCallId:Xe.toolCallId,input:Xe.input,tool:t==null?void 0:t[Xe.toolName],output:Xe.type==="tool-result"?Xe.output:Xe.error,errorMode:Xe.type==="tool-error"?"text":"none"});an.push({type:"tool-result",toolCallId:Xe.toolCallId,toolName:Xe.toolName,output:Gt})}for(let Xe of mn)an.push({type:"tool-result",toolCallId:Xe.toolCall.toolCallId,toolName:Xe.toolCall.toolName,output:await Cu({toolCallId:Xe.toolCall.toolCallId,input:Xe.toolCall.input,tool:t==null?void 0:t[Xe.toolCall.toolName],output:Xe.error,errorMode:"text"})});for(let Xe of Pn)an.push({type:"tool-result",toolCallId:Xe.toolCall.toolCallId,toolName:Xe.toolCall.toolName,output:{type:"execution-denied",reason:Xe.approvalResponse.reason,...Xe.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:Xe.approvalResponse.approvalId}}}}});fr.push({role:"tool",content:an})}let Xn=Gp(ae),O,ie=[],fe=[],Ge=[],zn=new Map;do{if(Ge.length>0)T==null||T.throwIfAborted();let cn=I0({abortController:se,label:"Step",timeoutMs:L});try{let an=[...bn,...fr],Xe=await(y==null?void 0:y({model:J,steps:Ge,stepNumber:Ge.length,messages:an,experimental_context:v})),Gt=gh((ne=Xe==null?void 0:Xe.model)!=null?ne:J),Qt={provider:Gt.provider,modelId:Gt.modelId},Yl=await B0({prompt:{system:(xe=Xe==null?void 0:Xe.system)!=null?xe:We.system,messages:(ce=Xe==null?void 0:Xe.messages)!=null?ce:an},supportedUrls:await Gt.supportedUrls,download:A,abortSignal:T});v=(ve=Xe==null?void 0:Xe.experimental_context)!=null?ve:v;let Du=(Z=Xe==null?void 0:Xe.activeTools)!=null?Z:w,ii=n6({tools:t,activeTools:Du}),{toolChoice:ai,tools:pa}=await JQ({tools:t,toolChoice:(D=Xe==null?void 0:Xe.toolChoice)!=null?D:n,activeTools:Du}),Zw=(Pe=Xe==null?void 0:Xe.messages)!=null?Pe:an,Ww=(Oe=Xe==null?void 0:Xe.system)!=null?Oe:We.system,Hh=vh(h,Xe==null?void 0:Xe.providerOptions),ma=m6({callSettings:Xn,stepSettings:Xe});await Mo({event:{stepNumber:Ge.length,model:Qt,system:Ww,messages:Zw,tools:t,toolChoice:ai,activeTools:Du,steps:[...Ge],providerOptions:Hh,timeout:u,headers:d,stopWhen:p,output:m,abortSignal:c,include:z,functionId:g==null?void 0:g.functionId,metadata:g==null?void 0:g.metadata,experimental_context:v},callbacks:[M,ee.onStepStart]}),O=await X(()=>Ka({name:"ai.generateText.doGenerate",attributes:Un({telemetry:g,attributes:{...Ha({operationId:"ai.generateText.doGenerate",telemetry:g}),...ze,"ai.model.provider":Gt.provider,"ai.model.id":Gt.modelId,"ai.prompt.messages":{input:()=>L0(Yl)},"ai.prompt.tools":{input:()=>pa==null?void 0:pa.map((xt)=>JSON.stringify(xt))},"ai.prompt.toolChoice":{input:()=>ai!=null?JSON.stringify(ai):void 0},"gen_ai.system":Gt.provider,"gen_ai.request.model":Gt.modelId,"gen_ai.request.frequency_penalty":ma.frequencyPenalty,"gen_ai.request.max_tokens":ma.maxOutputTokens,"gen_ai.request.presence_penalty":ma.presencePenalty,"gen_ai.request.stop_sequences":ma.stopSequences,"gen_ai.request.temperature":ma.temperature,"gen_ai.request.top_k":ma.topK,"gen_ai.request.top_p":ma.topP}}),tracer:we,fn:async(xt)=>{var to,Hs,Di,Ni,Qh,mm,zu,zi;let vn=await Gt.doGenerate({...ma,tools:pa,toolChoice:ai,responseFormat:await(m==null?void 0:m.responseFormat),prompt:Yl,providerOptions:Hh,abortSignal:T,headers:de}),Ks={id:(Hs=(to=vn.response)==null?void 0:to.id)!=null?Hs:F(),timestamp:(Ni=(Di=vn.response)==null?void 0:Di.timestamp)!=null?Ni:new Date,modelId:(mm=(Qh=vn.response)==null?void 0:Qh.modelId)!=null?mm:Gt.modelId,headers:(zu=vn.response)==null?void 0:zu.headers,body:(zi=vn.response)==null?void 0:zi.body},Gw=hh(vn.usage);return xt.setAttributes(await Un({telemetry:g,attributes:{"ai.response.finishReason":vn.finishReason.unified,"ai.response.text":{output:()=>E0(vn.content)},"ai.response.reasoning":{output:()=>C0(vn.content)},"ai.response.toolCalls":{output:()=>{let Qs=L5(vn.content);return Qs==null?void 0:JSON.stringify(Qs)}},"ai.response.id":Ks.id,"ai.response.model":Ks.modelId,"ai.response.timestamp":Ks.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(vn.providerMetadata),"ai.usage.inputTokens":vn.usage.inputTokens.total,"ai.usage.inputTokenDetails.noCacheTokens":vn.usage.inputTokens.noCache,"ai.usage.inputTokenDetails.cacheReadTokens":vn.usage.inputTokens.cacheRead,"ai.usage.inputTokenDetails.cacheWriteTokens":vn.usage.inputTokens.cacheWrite,"ai.usage.outputTokens":vn.usage.outputTokens.total,"ai.usage.outputTokenDetails.textTokens":vn.usage.outputTokens.text,"ai.usage.outputTokenDetails.reasoningTokens":vn.usage.outputTokens.reasoning,"ai.usage.totalTokens":Gw.totalTokens,"ai.usage.reasoningTokens":vn.usage.outputTokens.reasoning,"ai.usage.cachedInputTokens":vn.usage.inputTokens.cacheRead,"gen_ai.response.finish_reasons":[vn.finishReason.unified],"gen_ai.response.id":Ks.id,"gen_ai.response.model":Ks.modelId,"gen_ai.usage.input_tokens":vn.usage.inputTokens.total,"gen_ai.usage.output_tokens":vn.usage.outputTokens.total}})),{...vn,response:Ks}}}));let So=await Promise.all(O.content.filter((xt)=>xt.type==="tool-call").map((xt)=>d6({toolCall:xt,tools:ii,repairToolCall:S,system:r,messages:an}))),Mi=(ai==null?void 0:ai.type)==="required"||(ai==null?void 0:ai.type)==="tool"?ai:void 0;if(Mi!=null&&!So.some((xt)=>Mi.type==="required"||xt.toolName===Mi.toolName))throw new xke({toolChoice:Mi,finishReason:O.finishReason.unified,provider:Gt.provider,modelId:Gt.modelId,content:O.content});let Bn={};for(let xt of So){if(xt.invalid)continue;let to=ii==null?void 0:ii[xt.toolName];if(to==null)continue;if(to.onInputStart!=null)await to.onInputStart({toolCallId:xt.toolCallId,messages:an,abortSignal:T,experimental_context:v});if(to.onInputAvailable!=null)await to.onInputAvailable({input:xt.input,toolCallId:xt.toolCallId,messages:an,abortSignal:T,experimental_context:v});if(await Z0({tool:to,toolCall:xt,messages:an,experimental_context:v})){let Hs=F(),Di=await l6({secret:R,approvalId:Hs,toolCallId:xt.toolCallId,toolName:xt.toolName,input:xt.input});Bn[xt.toolCallId]={type:"tool-approval-request",approvalId:Hs,toolCall:xt,...Di!=null?{signature:Di}:{}}}}let ji=So.filter((xt)=>xt.invalid&&xt.dynamic&&!xt.providerExecuted);fe=[];for(let xt of ji)fe.push({type:"tool-error",toolCallId:xt.toolCallId,toolName:xt.toolName,input:xt.input,error:wn(xt.error),dynamic:!0});if(ie=So.filter((xt)=>!xt.providerExecuted),ii!=null&&r6(O.finishReason.unified))fe.push(...await q5({toolCalls:ie.filter((xt)=>!xt.invalid&&Bn[xt.toolCallId]==null),tools:ii,tracer:we,telemetry:g,messages:an,abortSignal:T,experimental_context:v,stepNumber:Ge.length,model:Qt,onToolCallStart:[q,ee.onToolCallStart],onToolCallFinish:[E,ee.onToolCallFinish]}));for(let xt of So){if(!xt.providerExecuted)continue;let to=ii==null?void 0:ii[xt.toolName];if((to==null?void 0:to.type)==="provider"&&to.supportsDeferredResults){if(!O.content.some((Di)=>Di.type==="tool-result"&&Di.toolCallId===xt.toolCallId))zn.set(xt.toolCallId,{toolName:xt.toolName})}}for(let xt of O.content)if(xt.type==="tool-result")zn.delete(xt.toolCallId);let Nu=PRe({content:O.content,toolCalls:So,toolOutputs:fe,toolApprovalRequests:Object.values(Bn),tools:ii});fr.push(...await A0({content:Nu,tools:ii}));let Kh=((ye=z==null?void 0:z.requestBody)!=null?ye:!0)?(Ce=O.request)!=null?Ce:{}:{...O.request,body:void 0},pm={...O.response,messages:structuredClone(fr),body:((Ke=z==null?void 0:z.responseBody)!=null?Ke:!0)?(qe=O.response)==null?void 0:qe.body:void 0},ts=Ge.length,Xl=new f6({stepNumber:ts,model:Qt,functionId:g==null?void 0:g.functionId,metadata:g==null?void 0:g.metadata,experimental_context:v,content:Nu,finishReason:O.finishReason.unified,rawFinishReason:O.finishReason.raw,usage:hh(O.usage),warnings:O.warnings,providerMetadata:O.providerMetadata,request:Kh,response:pm});ku({warnings:(K=O.warnings)!=null?K:[],provider:Qt.provider,model:Qt.modelId}),Ge.push(Xl),await Mo({event:Xl,callbacks:[N,ee.onStepFinish]})}finally{if(cn!=null)clearTimeout(cn)}}while((ie.length>0&&fe.length===ie.length||zn.size>0)&&!await g6({stopConditions:be,steps:Ge}));B.setAttributes(await Un({telemetry:g,attributes:{"ai.response.finishReason":O.finishReason.unified,"ai.response.text":{output:()=>E0(O.content)},"ai.response.reasoning":{output:()=>C0(O.content)},"ai.response.toolCalls":{output:()=>{let cn=L5(O.content);return cn==null?void 0:JSON.stringify(cn)}},"ai.response.providerMetadata":JSON.stringify(O.providerMetadata)}}));let lt=Ge[Ge.length-1],ot=Ge.reduce((cn,an)=>e6(cn,an.usage),{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0});B.setAttributes(await Un({telemetry:g,attributes:{"ai.usage.inputTokens":ot.inputTokens,"ai.usage.inputTokenDetails.noCacheTokens":(te=ot.inputTokenDetails)==null?void 0:te.noCacheTokens,"ai.usage.inputTokenDetails.cacheReadTokens":(he=ot.inputTokenDetails)==null?void 0:he.cacheReadTokens,"ai.usage.inputTokenDetails.cacheWriteTokens":(pe=ot.inputTokenDetails)==null?void 0:pe.cacheWriteTokens,"ai.usage.outputTokens":ot.outputTokens,"ai.usage.outputTokenDetails.textTokens":(st=ot.outputTokenDetails)==null?void 0:st.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":(Ue=ot.outputTokenDetails)==null?void 0:Ue.reasoningTokens,"ai.usage.totalTokens":ot.totalTokens,"ai.usage.reasoningTokens":(Tn=ot.outputTokenDetails)==null?void 0:Tn.reasoningTokens,"ai.usage.cachedInputTokens":(Nn=ot.inputTokenDetails)==null?void 0:Nn.cacheReadTokens}})),await Mo({event:{stepNumber:lt.stepNumber,model:lt.model,functionId:lt.functionId,metadata:lt.metadata,experimental_context:lt.experimental_context,finishReason:lt.finishReason,rawFinishReason:lt.rawFinishReason,usage:lt.usage,content:lt.content,text:lt.text,reasoningText:lt.reasoningText,reasoning:lt.reasoning,files:lt.files,sources:lt.sources,toolCalls:lt.toolCalls,staticToolCalls:lt.staticToolCalls,dynamicToolCalls:lt.dynamicToolCalls,toolResults:lt.toolResults,staticToolResults:lt.staticToolResults,dynamicToolResults:lt.dynamicToolResults,request:lt.request,response:lt.response,warnings:lt.warnings,providerMetadata:lt.providerMetadata,steps:Ge,totalUsage:ot},callbacks:[Q,ee.onFinish]});let oi;if(lt.finishReason==="stop"||lt.finishReason!=="tool-calls"&&lt.text.length>0)oi=await(m!=null?m:Qx()).parseCompleteOutput({text:lt.text},{response:lt.response,usage:lt.usage,finishReason:lt.finishReason});return new ARe({steps:Ge,totalUsage:ot,output:oi})}})}catch(B){throw q0(B)}}async function q5({toolCalls:e,tools:t,tracer:n,telemetry:r,messages:i,abortSignal:a,experimental_context:s,stepNumber:l,model:c,onToolCallStart:u,onToolCallFinish:d}){return(await Promise.all(e.map(async(f)=>$0({toolCall:f,tools:t,tracer:n,telemetry:r,messages:i,abortSignal:a,experimental_context:s,stepNumber:l,model:c,onToolCallStart:u,onToolCallFinish:d})))).filter((f)=>f!=null)}var ARe=class{constructor(e){this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get experimental_output(){return this.output}get output(){if(this._output==null)throw new Gx;return this._output}};function L5(e){let t=e.filter((n)=>n.type==="tool-call");if(t.length===0)return;return t.map((n)=>({toolCallId:n.toolCallId,toolName:n.toolName,input:n.input}))}function PRe({content:e,toolCalls:t,toolOutputs:n,toolApprovalRequests:r,tools:i}){let a=[];for(let s of e)switch(s.type){case"text":case"reasoning":case"source":a.push(s);break;case"file":{a.push({type:"file",file:new U0(s),...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{}});break}case"tool-call":{a.push(t.find((l)=>l.toolCallId===s.toolCallId));break}case"tool-result":{let l=t.find((c)=>c.toolCallId===s.toolCallId);if(l==null){let c=i==null?void 0:i[s.toolName];if(!((c==null?void 0:c.type)==="provider"&&c.supportsDeferredResults))throw Error(`Tool call ${s.toolCallId} not found.`);if(s.isError)a.push({type:"tool-error",toolCallId:s.toolCallId,toolName:s.toolName,input:void 0,error:s.result,providerExecuted:!0,dynamic:s.dynamic,...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{},...(c==null?void 0:c.metadata)!=null?{toolMetadata:c.metadata}:{}});else a.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,input:void 0,output:s.result,providerExecuted:!0,dynamic:s.dynamic,...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{},...(c==null?void 0:c.metadata)!=null?{toolMetadata:c.metadata}:{}});break}if(s.isError)a.push({type:"tool-error",toolCallId:s.toolCallId,toolName:s.toolName,input:l.input,error:s.result,providerExecuted:!0,dynamic:l.dynamic,...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{},...l.toolMetadata!=null?{toolMetadata:l.toolMetadata}:{}});else a.push({type:"tool-result",toolCallId:s.toolCallId,toolName:s.toolName,input:l.input,output:s.result,providerExecuted:!0,dynamic:l.dynamic,...s.providerMetadata!=null?{providerMetadata:s.providerMetadata}:{},...l.toolMetadata!=null?{toolMetadata:l.toolMetadata}:{}});break}case"tool-approval-request":{let l=t.find((c)=>c.toolCallId===s.toolCallId);if(l==null)throw new O0({toolCallId:s.toolCallId,approvalId:s.approvalId});a.push({type:"tool-approval-request",approvalId:s.approvalId,toolCall:l});break}}return[...a,...n,...r]}function _h(e,t){let n=new Headers(e!=null?e:{});for(let[r,i]of Object.entries(t))if(!n.has(r))n.set(r,i);return n}function ORe({status:e,statusText:t,headers:n,textStream:r}){return new Response(r.pipeThrough(new TextEncoderStream),{status:e!=null?e:200,statusText:t,headers:_h(n,{"content-type":"text/plain; charset=utf-8"})})}function y6({response:e,status:t,statusText:n,headers:r,stream:i}){let a=t!=null?t:200;if(n!==void 0)e.writeHead(a,n,r);else e.writeHead(a,r);let s=i.getReader(),l=!1,c,u=()=>{if(e.writableFinished)return;l=!0,c==null||c(),s.cancel(Error("Client disconnected.")).catch(()=>{})};if(e.once("close",u),e.destroyed)u();return(async()=>{try{while(!0){let{done:p,value:f}=await s.read();if(p||l||e.destroyed)break;if(!e.write(f))await new Promise((g)=>{c=g,e.once("drain",g)}),c=void 0}}finally{if(e.off("close",u),l||e.destroyed)s.cancel().catch(()=>{});else e.end()}})()}function MRe({response:e,status:t,statusText:n,headers:r,textStream:i}){return y6({response:e,status:t,statusText:n,headers:Object.fromEntries(_h(r,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:i.pipeThrough(new TextEncoderStream)})}var jRe=`: stream-open
203
203
 
204
204
  `,DRe=`: keep-alive
205
205
 
@@ -207,7 +207,7 @@ ${r}`)}async function SRe({secret:e,approvalId:t,toolCallId:n,toolName:r,input:i
207
207
 
208
208
  `)},flush(e){e.enqueue(`data: [DONE]
209
209
 
210
- `)}})}},S6={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function NRe({status:e,statusText:t,headers:n,stream:r,keepAliveMs:i,consumeSseStream:a}){let s=b6({stream:r.pipeThrough(new v6),keepAliveMs:i});if(a){let[l,c]=s.tee();s=l,a({stream:c})}return new Response(s.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:_h(n,S6)})}function zRe({originalMessages:e,responseMessageId:t}){if(e==null)return;let n=e[e.length-1];return(n==null?void 0:n.role)==="assistant"?n.id:typeof t==="function"?t():t}var fh=o.record(o.string(),Ru.optional()),n_t=G(()=>W(o.union([o.looseObject({type:o.literal("text-start"),id:o.string(),providerMetadata:nt.optional()}),o.looseObject({type:o.literal("text-delta"),id:o.string(),delta:o.string(),providerMetadata:nt.optional()}),o.looseObject({type:o.literal("text-end"),id:o.string(),providerMetadata:nt.optional()}),o.looseObject({type:o.literal("error"),errorText:o.string()}),o.looseObject({type:o.literal("tool-input-start"),toolCallId:o.string(),toolName:o.string(),providerExecuted:o.boolean().optional(),providerMetadata:nt.optional(),toolMetadata:fh.optional(),dynamic:o.boolean().optional(),title:o.string().optional()}),o.looseObject({type:o.literal("tool-input-delta"),toolCallId:o.string(),inputTextDelta:o.string()}),o.looseObject({type:o.literal("tool-input-available"),toolCallId:o.string(),toolName:o.string(),input:o.unknown(),providerExecuted:o.boolean().optional(),providerMetadata:nt.optional(),toolMetadata:fh.optional(),dynamic:o.boolean().optional(),title:o.string().optional()}),o.looseObject({type:o.literal("tool-input-error"),toolCallId:o.string(),toolName:o.string(),input:o.unknown(),providerExecuted:o.boolean().optional(),providerMetadata:nt.optional(),toolMetadata:fh.optional(),dynamic:o.boolean().optional(),errorText:o.string(),title:o.string().optional()}),o.looseObject({type:o.literal("tool-approval-request"),approvalId:o.string(),toolCallId:o.string(),approvalDescriptor:o.unknown().optional(),inputSchemaInput:o.unknown().optional(),signature:o.string().optional()}),o.looseObject({type:o.literal("tool-output-available"),toolCallId:o.string(),output:o.unknown(),providerExecuted:o.boolean().optional(),providerMetadata:nt.optional(),toolMetadata:fh.optional(),dynamic:o.boolean().optional(),preliminary:o.boolean().optional()}),o.looseObject({type:o.literal("tool-output-error"),toolCallId:o.string(),errorText:o.string(),providerExecuted:o.boolean().optional(),providerMetadata:nt.optional(),toolMetadata:fh.optional(),dynamic:o.boolean().optional()}),o.looseObject({type:o.literal("tool-output-denied"),toolCallId:o.string()}),o.looseObject({type:o.literal("reasoning-start"),id:o.string(),providerMetadata:nt.optional()}),o.looseObject({type:o.literal("reasoning-delta"),id:o.string(),delta:o.string(),providerMetadata:nt.optional()}),o.looseObject({type:o.literal("reasoning-end"),id:o.string(),providerMetadata:nt.optional()}),o.looseObject({type:o.literal("source-url"),sourceId:o.string(),url:o.string(),title:o.string().optional(),providerMetadata:nt.optional()}),o.looseObject({type:o.literal("source-document"),sourceId:o.string(),mediaType:o.string(),title:o.string(),filename:o.string().optional(),providerMetadata:nt.optional()}),o.looseObject({type:o.literal("file"),url:o.string(),mediaType:o.string(),providerMetadata:nt.optional()}),o.looseObject({type:o.custom((e)=>typeof e==="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:o.string().optional(),data:o.unknown(),transient:o.boolean().optional()}),o.looseObject({type:o.literal("start-step")}),o.looseObject({type:o.literal("finish-step")}),o.looseObject({type:o.literal("start"),messageId:o.string().optional(),messageMetadata:o.unknown().optional()}),o.looseObject({type:o.literal("finish"),finishReason:o.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:o.unknown().optional()}),o.looseObject({type:o.literal("abort"),reason:o.string().optional()}),o.looseObject({type:o.literal("message-metadata"),messageMetadata:o.unknown()})])));function BRe(e){return e.type.startsWith("data-")}function $s(){return Object.create(null)}function Yx(e){return e.type.startsWith("tool-")}function FRe(e){return e.type==="dynamic-tool"}function Vx(e){return Yx(e)||FRe(e)}function P0(e){return e.type.split("-").slice(1).join("-")}function x6({lastMessage:e,messageId:t}){var n;let r=(e==null?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},i=$s(),a=r.parts.findLastIndex((l)=>l.type==="step-start"),s=0;for(let l of r.parts.slice(a+1)){if(!Vx(l))continue;let c=s;if(Yx(l))s++;if(l.state!=="input-streaming")continue;i[l.toolCallId]={text:(n=l.rawInput)!=null?n:"",index:c,toolName:l.type==="dynamic-tool"?l.toolName:P0(l),dynamic:l.type==="dynamic-tool",title:l.title,toolMetadata:l.toolMetadata}}return{message:r,activeTextParts:$s(),activeReasoningParts:$s(),partialToolCalls:i}}function qRe({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:i,onToolCall:a,onData:s,resetStateOnMessageIdChange:l=!1}){return e.pipeThrough(new TransformStream({async transform(c,u){await r(async({state:d,write:p})=>{var f,m,g,h,b,w,_,y;function S(){let x=d.message.parts,M=x.length-1;while(M>=0&&x[M].type!=="step-start")M--;return x.slice(M+1)}function A(){return S().filter(Vx)}function v(x){let q=A().find((E)=>E.toolCallId===x);if(q==null){let E=d.message.parts;for(let N=E.length-1;N>=0;N--){let Q=E[N];if(Vx(Q)&&Q.toolCallId===x){q=Q;break}}}if(q==null)throw new Zp({chunkType:"tool-invocation",chunkId:x,message:`No tool invocation found for tool call ID "${x}".`});return q}function R(x,M){var q;let E=M!=null?M:S().find((ae)=>Yx(ae)&&ae.toolCallId===x.toolCallId),N=x,Q=E;if(E!=null){if(E.state=x.state,Q.input=N.input,Q.output=N.output,Q.errorText=N.errorText,Q.rawInput=N.rawInput,Q.preliminary=N.preliminary,x.title!==void 0)Q.title=x.title;if(x.toolMetadata!==void 0)Q.toolMetadata=x.toolMetadata;Q.providerExecuted=(q=N.providerExecuted)!=null?q:E.providerExecuted;let ae=N.providerMetadata;if(ae!=null)if(x.state==="output-available"||x.state==="output-error"){let J=E;J.resultProviderMetadata=ae}else E.callProviderMetadata=ae}else d.message.parts.push({type:`tool-${x.toolName}`,toolCallId:x.toolCallId,state:x.state,title:x.title,...x.toolMetadata!==void 0?{toolMetadata:x.toolMetadata}:{},input:N.input,output:N.output,rawInput:N.rawInput,errorText:N.errorText,providerExecuted:N.providerExecuted,preliminary:N.preliminary,...N.providerMetadata!=null&&(x.state==="output-available"||x.state==="output-error")?{resultProviderMetadata:N.providerMetadata}:{},...N.providerMetadata!=null&&!(x.state==="output-available"||x.state==="output-error")?{callProviderMetadata:N.providerMetadata}:{}})}function z(x,M){var q;let E=M!=null?M:S().find((ae)=>ae.type==="dynamic-tool"&&ae.toolCallId===x.toolCallId),N=x,Q=E;if(E!=null){if(E.state=x.state,Q.toolName=x.toolName,Q.input=N.input,Q.output=N.output,Q.errorText=N.errorText,Q.rawInput=N.rawInput,Q.preliminary=N.preliminary,x.title!==void 0)Q.title=x.title;if(x.toolMetadata!==void 0)Q.toolMetadata=x.toolMetadata;Q.providerExecuted=(q=N.providerExecuted)!=null?q:E.providerExecuted;let ae=N.providerMetadata;if(ae!=null)if(x.state==="output-available"||x.state==="output-error"){let J=E;J.resultProviderMetadata=ae}else E.callProviderMetadata=ae}else d.message.parts.push({type:"dynamic-tool",toolName:x.toolName,toolCallId:x.toolCallId,state:x.state,input:N.input,output:N.output,errorText:N.errorText,preliminary:N.preliminary,providerExecuted:N.providerExecuted,title:x.title,...x.toolMetadata!==void 0?{toolMetadata:x.toolMetadata}:{},...N.providerMetadata!=null&&(x.state==="output-available"||x.state==="output-error")?{resultProviderMetadata:N.providerMetadata}:{},...N.providerMetadata!=null&&!(x.state==="output-available"||x.state==="output-error")?{callProviderMetadata:N.providerMetadata}:{}})}async function F(x){if(x!=null){let M=d.message.metadata!=null?vh(d.message.metadata,x):x;if(t!=null)await kt({value:M,schema:t,context:{field:"message.metadata",entityId:d.message.id}});d.message.metadata=M}}switch(c.type){case"text-start":{let x={type:"text",text:"",providerMetadata:c.providerMetadata,state:"streaming"};d.activeTextParts[c.id]=x,d.message.parts.push(x),p();break}case"text-delta":{let x=d.activeTextParts[c.id];if(x==null)throw new Zp({chunkType:"text-delta",chunkId:c.id,message:`Received text-delta for missing text part with ID "${c.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});x.text+=c.delta,x.providerMetadata=(f=c.providerMetadata)!=null?f:x.providerMetadata,p();break}case"text-end":{let x=d.activeTextParts[c.id];if(x==null)throw new Zp({chunkType:"text-end",chunkId:c.id,message:`Received text-end for missing text part with ID "${c.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});x.state="done",x.providerMetadata=(m=c.providerMetadata)!=null?m:x.providerMetadata,delete d.activeTextParts[c.id],p();break}case"reasoning-start":{let x={type:"reasoning",id:c.id,text:"",providerMetadata:c.providerMetadata,state:"streaming"};d.activeReasoningParts[c.id]=x,d.message.parts.push(x),p();break}case"reasoning-delta":{let x=d.activeReasoningParts[c.id];if(x==null)throw new Zp({chunkType:"reasoning-delta",chunkId:c.id,message:`Received reasoning-delta for missing reasoning part with ID "${c.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});x.text+=c.delta,x.providerMetadata=(g=c.providerMetadata)!=null?g:x.providerMetadata,p();break}case"reasoning-end":{let x=d.activeReasoningParts[c.id];if(x==null)throw new Zp({chunkType:"reasoning-end",chunkId:c.id,message:`Received reasoning-end for missing reasoning part with ID "${c.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});x.providerMetadata=(h=c.providerMetadata)!=null?h:x.providerMetadata,x.state="done",delete d.activeReasoningParts[c.id],p();break}case"file":{d.message.parts.push({type:"file",mediaType:c.mediaType,url:c.url,...c.providerMetadata!=null?{providerMetadata:c.providerMetadata}:{}}),p();break}case"source-url":{d.message.parts.push({type:"source-url",sourceId:c.sourceId,url:c.url,title:c.title,providerMetadata:c.providerMetadata}),p();break}case"source-document":{d.message.parts.push({type:"source-document",sourceId:c.sourceId,mediaType:c.mediaType,title:c.title,filename:c.filename,providerMetadata:c.providerMetadata}),p();break}case"tool-input-start":{let x=S().filter(Yx);if(d.partialToolCalls[c.toolCallId]={text:"",toolName:c.toolName,index:x.length,dynamic:c.dynamic,title:c.title,toolMetadata:c.toolMetadata},c.dynamic)z({toolCallId:c.toolCallId,toolName:c.toolName,state:"input-streaming",input:void 0,providerExecuted:c.providerExecuted,title:c.title,toolMetadata:c.toolMetadata,providerMetadata:c.providerMetadata});else R({toolCallId:c.toolCallId,toolName:c.toolName,state:"input-streaming",input:void 0,providerExecuted:c.providerExecuted,title:c.title,toolMetadata:c.toolMetadata,providerMetadata:c.providerMetadata});p();break}case"tool-input-delta":{let x=d.partialToolCalls[c.toolCallId];if(x==null)throw new Zp({chunkType:"tool-input-delta",chunkId:c.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${c.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});x.text+=c.inputTextDelta;let{value:M}=await xh(x.text);if(x.dynamic)z({toolCallId:c.toolCallId,toolName:x.toolName,state:"input-streaming",input:M,rawInput:x.text,title:x.title,toolMetadata:x.toolMetadata});else R({toolCallId:c.toolCallId,toolName:x.toolName,state:"input-streaming",input:M,rawInput:x.text,title:x.title,toolMetadata:x.toolMetadata});p();break}case"tool-input-available":{if(c.dynamic)z({toolCallId:c.toolCallId,toolName:c.toolName,state:"input-available",input:c.input,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,title:c.title,toolMetadata:c.toolMetadata});else R({toolCallId:c.toolCallId,toolName:c.toolName,state:"input-available",input:c.input,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,title:c.title,toolMetadata:c.toolMetadata});if(p(),a&&!c.providerExecuted)await a({toolCall:c});break}case"tool-input-error":{let x=S().filter(Vx).find((q)=>q.toolCallId===c.toolCallId);if(x!=null?x.type==="dynamic-tool":!!c.dynamic)z({toolCallId:c.toolCallId,toolName:c.toolName,state:"output-error",input:c.input,errorText:c.errorText,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,toolMetadata:c.toolMetadata});else R({toolCallId:c.toolCallId,toolName:c.toolName,state:"output-error",input:void 0,rawInput:c.input,errorText:c.errorText,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,toolMetadata:c.toolMetadata});p();break}case"tool-approval-request":{let x=v(c.toolCallId);x.state="approval-requested",x.approval={id:c.approvalId,...c.approvalDescriptor!=null?{descriptor:c.approvalDescriptor}:{},...Object.prototype.hasOwnProperty.call(c,"inputSchemaInput")?{inputSchemaInput:c.inputSchemaInput}:{},...c.signature!=null?{signature:c.signature}:{}},p();break}case"tool-output-denied":{let x=v(c.toolCallId);x.state="output-denied",p();break}case"tool-output-available":{let x=v(c.toolCallId);if(x.type==="dynamic-tool")z({toolCallId:c.toolCallId,toolName:x.toolName,state:"output-available",input:x.input,output:c.output,preliminary:c.preliminary,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,title:x.title,toolMetadata:(b=c.toolMetadata)!=null?b:x.toolMetadata},x);else R({toolCallId:c.toolCallId,toolName:P0(x),state:"output-available",input:x.input,output:c.output,providerExecuted:c.providerExecuted,preliminary:c.preliminary,providerMetadata:c.providerMetadata,title:x.title,toolMetadata:(w=c.toolMetadata)!=null?w:x.toolMetadata},x);p();break}case"tool-output-error":{let x=v(c.toolCallId);if(x.type==="dynamic-tool")z({toolCallId:c.toolCallId,toolName:x.toolName,state:"output-error",input:x.input,errorText:c.errorText,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,title:x.title,toolMetadata:(_=c.toolMetadata)!=null?_:x.toolMetadata},x);else R({toolCallId:c.toolCallId,toolName:P0(x),state:"output-error",input:x.input,rawInput:x.rawInput,errorText:c.errorText,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,title:x.title,toolMetadata:(y=c.toolMetadata)!=null?y:x.toolMetadata},x);p();break}case"start-step":{d.message.parts.push({type:"step-start"});break}case"finish-step":{d.activeTextParts=$s(),d.activeReasoningParts=$s();break}case"start":{if(l&&c.messageId!=null&&c.messageId!==d.message.id)Object.assign(d,x6({lastMessage:void 0,messageId:c.messageId}),{finishReason:void 0});if(c.messageId!=null)d.message.id=c.messageId;if(await F(c.messageMetadata),c.messageId!=null||c.messageMetadata!=null)p({updateStatus:!1});break}case"finish":{if(c.finishReason!=null)d.finishReason=c.finishReason;if(await F(c.messageMetadata),c.messageMetadata!=null)p();break}case"message-metadata":{if(await F(c.messageMetadata),c.messageMetadata!=null)p();break}case"error":{i==null||i(Error(c.errorText));break}default:if(BRe(c)){if((n==null?void 0:n[c.type])!=null){let q=d.message.parts.findIndex((N)=>("id"in N)&&("data"in N)&&N.id===c.id&&N.type===c.type),E=q>=0?q:d.message.parts.length;await kt({value:c.data,schema:n[c.type],context:{field:`message.parts[${E}].data`,entityName:c.type,entityId:c.id}})}let x=c;if(x.transient){s==null||s(x);break}let M=x.id!=null?d.message.parts.find((q)=>x.type===q.type&&x.id===q.id):void 0;if(M!=null)M.data=x.data;else d.message.parts.push(x);s==null||s(x),p()}}u.enqueue(c)})}}))}function w6({messageId:e,originalMessages:t=[],onStepFinish:n,onFinish:r,onError:i,stream:a,getOutcome:s}){let l=t==null?void 0:t[t.length-1];if((l==null?void 0:l.role)!=="assistant")l=void 0;else e=l.id;let c=!1,u=!1,d,p=(_)=>{u=!0,d=_},f=a.pipeThrough(new TransformStream({transform(_,y){try{let S=_;if(_.type==="start"){let A=_;if(A.messageId==null&&e!=null)S={...A,messageId:e}}if(_.type==="abort")c=!0;y.enqueue(S)}catch(S){throw p(S),S}}}));if(r==null&&n==null)return f;let m=x6({lastMessage:l?structuredClone(l):void 0,messageId:e!=null?e:""}),g=async(_)=>{try{await _({state:m,write:()=>{}})}catch(y){throw p(y),y}},h=!1,b=async()=>{var _;if(h||!r)return;h=!0;let y=m.message.id===(l==null?void 0:l.id),S=(_=s==null?void 0:s())!=null?_:{status:"unknown"},A=u?{status:"failed",error:d}:S.status==="unknown"&&c?{status:"aborted"}:S;await r({isAborted:c||A.status==="aborted",isContinuation:y,outcome:A,responseMessage:m.message,messages:[...y?t.slice(0,-1):t,m.message],finishReason:m.finishReason})},w=async()=>{if(!n)return;let _=m.message.id===(l==null?void 0:l.id);try{await n({isContinuation:_,responseMessage:structuredClone(m.message),messages:[..._?t.slice(0,-1):t,structuredClone(m.message)]})}catch(y){try{i(y)}catch(S){throw p(S),await b(),S}}};return qRe({stream:f,runUpdateMessageJob:g,onError:i}).pipeThrough(new TransformStream({async transform(_,y){if(_.type==="finish-step")await w();y.enqueue(_)},async cancel(){await b()},async flush(){await b()}}))}function LRe({response:e,status:t,statusText:n,headers:r,stream:i,keepAliveMs:a,consumeSseStream:s}){let l=b6({stream:i.pipeThrough(new v6),keepAliveMs:a});if(s){let[c,u]=l.tee();l=c,s({stream:u})}return y6({response:e,status:t,statusText:n,headers:Object.fromEntries(_h(r,S6).entries()),stream:l.pipeThrough(new TextEncoderStream)})}function Wp(e){let t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){let n=this.getReader(),r=!1;async function i(a){var s;if(r)return;r=!0;try{if(a)await((s=n.cancel)==null?void 0:s.call(n))}finally{try{n.releaseLock()}catch(l){}}}return{async next(){if(r)return{done:!0,value:void 0};let{done:a,value:s}=await n.read();if(a)return await i(!0),{done:!0,value:void 0};return{done:!1,value:s}},async return(){return await i(!0),{done:!0,value:void 0}},async throw(a){throw await i(!0),a}}},t}async function $Re({stream:e,onError:t,abortSignal:n}){let r=e.getReader(),i=()=>{r.cancel().catch(()=>{})};if(n==null?void 0:n.aborted)i();else n==null||n.addEventListener("abort",i,{once:!0});try{while(!0){let{done:a}=await r.read();if(a)break}}catch(a){t==null||t(a)}finally{n==null||n.removeEventListener("abort",i),r.releaseLock()}}function $5(){let e,t;return{promise:new Promise((r,i)=>{e=r,t=i}),resolve:e,reject:t}}function URe(){let e=[],t=null,n=!1,r=!1,i=$5(),a=()=>{if(r)return;n=!0,i.resolve(),e.forEach(({reader:l,onCancel:c})=>{c==null||c(),l.cancel()}),e=[],t==null||t.close()},s=async()=>{var l;if(r)return;if(n&&e.length===0){t==null||t.close();return}if(e.length===0)return i=$5(),await i.promise,s();let c=e[0];try{let{value:u,done:d}=await c.reader.read();if(r)return;if(d)if(e.shift(),e.length===0&&n)t==null||t.close();else await s();else t==null||t.enqueue(u)}catch(u){if(r)return;(l=c.onError)==null||l.call(c,u),t==null||t.error(u),e.shift(),a()}};return{stream:new ReadableStream({start(l){t=l},pull:s,async cancel(){r=!0,n=!0,i.resolve();for(let{reader:l,onCancel:c}of e)c==null||c(),await l.cancel();e=[]}}),addStream:(l,c)=>{var u;if(r){(u=c==null?void 0:c.onCancel)==null||u.call(c),l.cancel().catch(()=>{});return}if(n)throw Error("Cannot add inner stream: outer stream is closed");e.push({reader:l.getReader(),...c}),i.resolve()},close:()=>{if(r)return;if(n=!0,i.resolve(),e.length===0)t==null||t.close()},terminate:a}}function ZRe({tools:e,generatorStream:t,tracer:n,telemetry:r,system:i,messages:a,abortSignal:s,repairToolCall:l,experimental_context:c,toolApprovalSecret:u,generateId:d,stepNumber:p,model:f,onToolCallStart:m,onToolCallFinish:g}){let h=null,b=!1,w=new ReadableStream({start(E){h=E},cancel(){b=!0}});function _(E){if(b)return;try{h.enqueue(E)}catch(N){b=!0}}function y(){if(b)return;b=!0;try{h.close()}catch(E){}}let S=new Set,A=[],v=new Map,R=!1,z=void 0;function F(){if(R&&S.size===0){if(z!=null)_(z);y()}}function x(E){let N=d();S.add(N),$0({toolCall:E,tools:e,tracer:n,telemetry:r,messages:a,abortSignal:s,experimental_context:c,stepNumber:p,model:f,onToolCallStart:m,onToolCallFinish:g,onPreliminaryToolResult:(Q)=>{_(Q)}}).then((Q)=>{_(Q)}).catch((Q)=>{_({type:"error",error:Q})}).finally(()=>{S.delete(N),F()})}let M=new Map,q=new TransformStream({async transform(E,N){var Q,ae,J,oe;let be=E.type;switch(be){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"source":case"response-metadata":case"error":case"raw":{N.enqueue(E);break}case"tool-input-start":{M.set(E.id,E.toolName),await((ae=(Q=e==null?void 0:e[E.toolName])==null?void 0:Q.onInputStart)==null?void 0:ae.call(Q,{toolCallId:E.id,messages:a,abortSignal:s,experimental_context:c})),N.enqueue(E);break}case"tool-input-delta":{let P=M.get(E.id);if(P!=null)await((oe=(J=e==null?void 0:e[P])==null?void 0:J.onInputDelta)==null?void 0:oe.call(J,{inputTextDelta:E.delta,toolCallId:E.id,messages:a,abortSignal:s,experimental_context:c}));N.enqueue(E);break}case"tool-input-end":{M.delete(E.id),N.enqueue(E);break}case"file":{N.enqueue({type:"file",file:new bRe({data:E.data,mediaType:E.mediaType}),...E.providerMetadata!=null?{providerMetadata:E.providerMetadata}:{}});break}case"finish":{if(z={type:"finish",finishReason:E.finishReason.unified,rawFinishReason:E.finishReason.raw,usage:hh(E.usage),providerMetadata:E.providerMetadata},r6(E.finishReason.unified))for(let P of A.splice(0))x(P);else A.length=0;break}case"tool-approval-request":{let P=v.get(E.toolCallId);if(P==null){_({type:"error",error:new O0({toolCallId:E.toolCallId,approvalId:E.approvalId})});break}N.enqueue({type:"tool-approval-request",approvalId:E.approvalId,toolCall:P});break}case"tool-call":{try{let P=await d6({toolCall:E,tools:e,repairToolCall:l,system:i,messages:a});if(v.set(P.toolCallId,P),N.enqueue({...P}),P.invalid){if(!P.providerExecuted)_({type:"tool-error",toolCallId:P.toolCallId,toolName:P.toolName,input:P.input,error:wn(P.error),dynamic:!0,title:P.title,...P.toolMetadata!=null?{toolMetadata:P.toolMetadata}:{}});break}let L=e==null?void 0:e[P.toolName];if(L==null)break;if(L.onInputAvailable!=null)await L.onInputAvailable({input:P.input,toolCallId:P.toolCallId,messages:a,abortSignal:s,experimental_context:c});if(await Z0({tool:L,toolCall:P,messages:a,experimental_context:c})){let se=d(),T=await l6({secret:u,approvalId:se,toolCallId:P.toolCallId,toolName:P.toolName,input:P.input});_({type:"tool-approval-request",approvalId:se,toolCall:P,...T!=null?{signature:T}:{}});break}if(L.execute!=null&&P.providerExecuted!==!0)A.push(P)}catch(P){_({type:"error",error:P})}break}case"tool-result":{let P=E.toolName,L=v.get(E.toolCallId);if(E.isError)_({type:"tool-error",toolCallId:E.toolCallId,toolName:P,input:L==null?void 0:L.input,providerExecuted:!0,error:E.result,dynamic:E.dynamic,...E.providerMetadata!=null?{providerMetadata:E.providerMetadata}:{},...(L==null?void 0:L.toolMetadata)!=null?{toolMetadata:L.toolMetadata}:{}});else N.enqueue({type:"tool-result",toolCallId:E.toolCallId,toolName:P,input:L==null?void 0:L.input,output:E.result,providerExecuted:!0,dynamic:E.dynamic,...E.providerMetadata!=null?{providerMetadata:E.providerMetadata}:{},...(L==null?void 0:L.toolMetadata)!=null?{toolMetadata:L.toolMetadata}:{}});break}default:throw Error(`Unhandled chunk type: ${be}`)}},flush(){R=!0,F()}});return new ReadableStream({async start(E){return Promise.all([t.pipeThrough(q).pipeTo(new WritableStream({write(N){E.enqueue(N)},close(){}})),w.pipeTo(new WritableStream({write(N){E.enqueue(N)},close(){E.close()}}))])}})}var WRe=Ja({prefix:"aitxt",size:24}),GRe={file:!0,source:!0,"text-start":!0,"text-end":!0,"text-delta":!0,"reasoning-start":!0,"reasoning-end":!0,"reasoning-delta":!0,"tool-input-start":!0,"tool-input-end":!0,"tool-input-delta":!0,"tool-approval-request":!0,"tool-call":!0,"tool-result":!0,"tool-error":!0,"stream-start":!1,"response-metadata":!1,finish:!1,error:!1,raw:!1};function JRe({model:e,tools:t,toolChoice:n,system:r,prompt:i,messages:a,allowSystemInMessages:s,maxRetries:l,abortSignal:c,timeout:u,headers:d,stopWhen:p=wh(1),experimental_output:f,output:m=f,experimental_telemetry:g,prepareStep:h,providerOptions:b,experimental_activeTools:w,activeTools:_=w,experimental_repairToolCall:y,experimental_transform:S,experimental_download:A,includeRawChunks:v=!1,onChunk:R,onError:z=({error:se})=>{console.error(se)},onFinish:F,onAbort:x,onStepFinish:M,experimental_onStart:q,experimental_onStepStart:E,experimental_onToolCallStart:N,experimental_onToolCallFinish:Q,experimental_context:ae,experimental_toolApprovalSecret:J,experimental_include:oe,_internal:{now:be=Jx,generateId:P=WRe}={},...L}){let se=N0(u),T=UQ(u),le=Lke(u),X=T!=null?new AbortController:void 0,re=le!=null?new AbortController:void 0;return new HRe({model:gh(e),telemetry:g,headers:d,settings:L,maxRetries:l,abortSignal:h6(c,se!=null?AbortSignal.timeout(se):void 0,X==null?void 0:X.signal,re==null?void 0:re.signal),stepTimeoutMs:T,stepAbortController:X,chunkTimeoutMs:le,chunkAbortController:re,system:r,prompt:i,messages:a,allowSystemInMessages:s,tools:t,toolChoice:n,transforms:Eu(S),activeTools:_,repairToolCall:y,stopConditions:Eu(p),output:m,providerOptions:b,prepareStep:h,includeRawChunks:v,timeout:u,stopWhen:p,originalAbortSignal:c,onChunk:R,onError:z,onFinish:F,onAbort:x,onStepFinish:M,onStart:q,onStepStart:E,onToolCallStart:N,onToolCallFinish:Q,now:be,generateId:P,experimental_context:ae,experimental_toolApprovalSecret:J,download:A,include:oe})}function VRe(e){let t=void 0,n="",r="",i=void 0,a=void 0,s=!1;function l(){t=void 0,n="",r="",i=void 0,a=""}function c({controller:u,partialOutput:d=void 0}){u.enqueue({part:{type:"text-delta",id:t,text:r,providerMetadata:i},partialOutput:d}),r=""}return new TransformStream({async transform(u,d){var p;if(u.type==="start-step")l();if(u.type==="finish-step"&&r.length>0)c({controller:d});if(u.type!=="text-delta"&&u.type!=="text-start"&&u.type!=="text-end"){d.enqueue({part:u,partialOutput:void 0});return}if(t==null)t=u.id;else if(u.id!==t){d.enqueue({part:u,partialOutput:void 0});return}if(u.type==="text-start"){d.enqueue({part:u,partialOutput:void 0});return}if(u.type==="text-end"){if(r.length>0)c({controller:d});d.enqueue({part:u,partialOutput:void 0});return}if(n+=u.text,r+=u.text,i=(p=u.providerMetadata)!=null?p:i,u.text.length===0&&u.providerMetadata!=null){d.enqueue({part:u,partialOutput:void 0});return}let f=await e.parsePartialOutput({text:n});if(f!==void 0){let m=typeof f.partial==="string"?f.partial:JSON.stringify(f.partial);if(!s||m!==a)c({controller:d,partialOutput:f.partial}),a=m,s=!0}}})}var HRe=class{constructor({model:e,telemetry:t,headers:n,settings:r,maxRetries:i,abortSignal:a,stepTimeoutMs:s,stepAbortController:l,chunkTimeoutMs:c,chunkAbortController:u,system:d,prompt:p,messages:f,allowSystemInMessages:m,tools:g,toolChoice:h,transforms:b,activeTools:w,repairToolCall:_,stopConditions:y,output:S,providerOptions:A,prepareStep:v,includeRawChunks:R,now:z,generateId:F,timeout:x,stopWhen:M,originalAbortSignal:q,onChunk:E,onError:N,onFinish:Q,onAbort:ae,onStepFinish:J,onStart:oe,onStepStart:be,onToolCallStart:P,onToolCallFinish:L,experimental_context:se,experimental_toolApprovalSecret:T,download:le,include:X}){this._totalUsage=new wu,this._finishReason=new wu,this._rawFinishReason=new wu,this._steps=new wu,this.outputSpecification=S,this.includeRawChunks=R,this.tools=g;let de=XQ()(t==null?void 0:t.integrations),ze,Ne=[],We=[],ee=void 0,we=void 0,B=void 0,ne={},xe=[],ce=[],ve,Z=g,D=e,Pe=()=>{let on=new Set;return(mn)=>{if(!on.has(mn))return on.add(mn),mn;let Pn=F(),Xn=Pn,O=0;while(on.has(Xn))Xn=`${Pn}-${++O}`;return on.add(Xn),Xn}},Oe=Pe(),ye=Pe(),Ce=new Map,Ke,qe=$s(),K=$s(),te=new TransformStream({async transform(on,mn){var Pn,Xn,O,ie;mn.enqueue(on);let{part:fe}=on;if(fe.type==="text-delta"||fe.type==="reasoning-delta"||fe.type==="source"||fe.type==="tool-call"||fe.type==="tool-result"||fe.type==="tool-input-start"||fe.type==="tool-input-delta"||fe.type==="raw")await Mo({event:{chunk:fe},callbacks:E});if(fe.type==="error"){let Ge=q0(fe.error);if(Gx.isInstance(Ge))ve=Ge;await Mo({event:{error:Ge},callbacks:N})}if(fe.type==="text-start")qe[fe.id]={type:"text",text:"",providerMetadata:fe.providerMetadata},Ne.push(qe[fe.id]);if(fe.type==="text-delta"){let Ge=qe[fe.id];if(Ge==null){mn.enqueue({part:{type:"error",error:`text part ${fe.id} not found`},partialOutput:void 0});return}Ge.text+=fe.text,Ge.providerMetadata=(Pn=fe.providerMetadata)!=null?Pn:Ge.providerMetadata}if(fe.type==="text-end"){let Ge=qe[fe.id];if(Ge==null){mn.enqueue({part:{type:"error",error:`text part ${fe.id} not found`},partialOutput:void 0});return}Ge.providerMetadata=(Xn=fe.providerMetadata)!=null?Xn:Ge.providerMetadata,delete qe[fe.id]}if(fe.type==="reasoning-start")K[fe.id]={type:"reasoning",text:"",providerMetadata:fe.providerMetadata},Ne.push(K[fe.id]);if(fe.type==="reasoning-delta"){let Ge=K[fe.id];if(Ge==null){mn.enqueue({part:{type:"error",error:`reasoning part ${fe.id} not found`},partialOutput:void 0});return}Ge.text+=fe.text,Ge.providerMetadata=(O=fe.providerMetadata)!=null?O:Ge.providerMetadata}if(fe.type==="reasoning-end"){let Ge=K[fe.id];if(Ge==null){mn.enqueue({part:{type:"error",error:`reasoning part ${fe.id} not found`},partialOutput:void 0});return}Ge.providerMetadata=(ie=fe.providerMetadata)!=null?ie:Ge.providerMetadata,delete K[fe.id]}if(fe.type==="file")Ne.push({type:"file",file:fe.file,...fe.providerMetadata!=null?{providerMetadata:fe.providerMetadata}:{}});if(fe.type==="source")Ne.push(fe);if(fe.type==="tool-call")Ne.push(fe);if(fe.type==="tool-result"&&!fe.preliminary)Ne.push(fe);if(fe.type==="tool-approval-request")Ne.push(fe);if(fe.type==="tool-error")Ne.push(fe);if(fe.type==="start-step")Ne=[],K=$s(),qe=$s(),ne=fe.request,xe=fe.warnings;if(fe.type==="finish-step"){let Ge=await A0({content:Ne,tools:Z}),zn=new f6({stepNumber:ce.length,model:{provider:D.provider,modelId:D.modelId},...gr,experimental_context:se,content:Ne,finishReason:fe.finishReason,rawFinishReason:fe.rawFinishReason,usage:fe.usage,warnings:xe,request:ne,response:{...fe.response,messages:[...We,...Ge]},providerMetadata:fe.providerMetadata});await Mo({event:zn,callbacks:[J,de.onStepFinish]}),ku({warnings:xe,provider:D.provider,model:D.modelId}),ce.push(zn),We.push(...Ge),ze.resolve()}if(fe.type==="finish")B=fe.totalUsage,ee=fe.finishReason,we=fe.rawFinishReason},async flush(on){var mn,Pn,Xn,O,ie,fe,Ge;try{if(ce.length===0||ve!=null){let an=(a==null?void 0:a.aborted)?a.reason:ve!=null?ve:new Gx({message:"No output generated. Check the stream for errors."});Ft._finishReason.reject(an),Ft._rawFinishReason.reject(an),Ft._totalUsage.reject(an),Ft._steps.reject(an);return}let zn=ee!=null?ee:"other",lt=B!=null?B:w0();Ft._finishReason.resolve(zn),Ft._rawFinishReason.resolve(we),Ft._totalUsage.resolve(lt),Ft._steps.resolve(ce);let rt=ce[ce.length-1],oi={stepNumber:rt.stepNumber,model:rt.model,functionId:rt.functionId,metadata:rt.metadata,experimental_context:rt.experimental_context,finishReason:rt.finishReason,rawFinishReason:rt.rawFinishReason,totalUsage:lt,usage:rt.usage,content:rt.content,text:rt.text,reasoningText:rt.reasoningText,reasoning:rt.reasoning,files:rt.files,sources:rt.sources,toolCalls:rt.toolCalls,staticToolCalls:rt.staticToolCalls,dynamicToolCalls:rt.dynamicToolCalls,toolResults:rt.toolResults,staticToolResults:rt.staticToolResults,dynamicToolResults:rt.dynamicToolResults,request:rt.request,response:rt.response,warnings:rt.warnings,providerMetadata:rt.providerMetadata,steps:ce},cn=Q==null?void 0:async(an)=>{let Xe=S==null?void 0:await Ft.getOutputPromise().catch(()=>{return});await Q({...an,...S!=null?{output:Xe}:{}})};await Promise.all([Mo({event:oi,callbacks:cn}),Mo({event:oi,callbacks:de.onFinish})]),Ke.setAttributes(await Un({telemetry:t,attributes:{"ai.response.finishReason":zn,"ai.response.text":{output:()=>rt.text},"ai.response.reasoning":{output:()=>rt.reasoningText},"ai.response.toolCalls":{output:()=>{var an;return((an=rt.toolCalls)==null?void 0:an.length)?JSON.stringify(rt.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(rt.providerMetadata),"ai.usage.inputTokens":lt.inputTokens,"ai.usage.inputTokenDetails.noCacheTokens":(mn=lt.inputTokenDetails)==null?void 0:mn.noCacheTokens,"ai.usage.inputTokenDetails.cacheReadTokens":(Pn=lt.inputTokenDetails)==null?void 0:Pn.cacheReadTokens,"ai.usage.inputTokenDetails.cacheWriteTokens":(Xn=lt.inputTokenDetails)==null?void 0:Xn.cacheWriteTokens,"ai.usage.outputTokens":lt.outputTokens,"ai.usage.outputTokenDetails.textTokens":(O=lt.outputTokenDetails)==null?void 0:O.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":(ie=lt.outputTokenDetails)==null?void 0:ie.reasoningTokens,"ai.usage.totalTokens":lt.totalTokens,"ai.usage.reasoningTokens":(fe=lt.outputTokenDetails)==null?void 0:fe.reasoningTokens,"ai.usage.cachedInputTokens":(Ge=lt.inputTokenDetails)==null?void 0:Ge.cacheReadTokens}}))}catch(zn){on.error(zn)}finally{Ke.end()}}}),he=URe();this.addStream=he.addStream,this.closeStream=he.close;let pe=he.stream.getReader(),st=new ReadableStream({async start(on){on.enqueue({type:"start"})},async pull(on){function mn(){ae==null||ae({steps:ce}),on.enqueue({type:"abort",...(a==null?void 0:a.reason)!==void 0?{reason:aa(a.reason)}:{}}),on.close()}try{let{done:Pn,value:Xn}=await pe.read();if(Pn){on.close();return}if(a==null?void 0:a.aborted){mn();return}on.enqueue(Xn)}catch(Pn){if(Ao(Pn)&&(a==null?void 0:a.aborted))mn();else on.error(Pn)}},cancel(on){return he.stream.cancel(on)}});for(let on of b)st=st.pipeThrough(on({tools:g,stopStream(){he.terminate()}}));this.baseStream=st.pipeThrough(VRe(S!=null?S:Qx())).pipeThrough(te);let{maxRetries:Ue,retry:Tn}=Sh({maxRetries:i,abortSignal:a}),Nn=tw(t),bn=Gp(r),fr=ew({model:e,telemetry:t,headers:n,settings:{...bn,maxRetries:Ue}}),Ft=this,En={provider:e.provider,modelId:e.modelId},gr={functionId:t==null?void 0:t.functionId,metadata:t==null?void 0:t.metadata};Ka({name:"ai.streamText",attributes:Un({telemetry:t,attributes:{...Ha({operationId:"ai.streamText",telemetry:t}),...fr,"ai.prompt":{input:()=>JSON.stringify({system:d,prompt:p,messages:f})}}}),tracer:Nn,endWhenDone:!1,fn:async(on)=>{Ke=on;let mn=await F0({system:d,prompt:p,messages:f,allowSystemInMessages:m});await Mo({event:{model:En,system:d,prompt:p,messages:f,tools:g,toolChoice:h,activeTools:w,maxOutputTokens:bn.maxOutputTokens,temperature:bn.temperature,topP:bn.topP,topK:bn.topK,presencePenalty:bn.presencePenalty,frequencyPenalty:bn.frequencyPenalty,stopSequences:bn.stopSequences,seed:bn.seed,maxRetries:Ue,timeout:x,headers:n,providerOptions:A,stopWhen:M,output:S,abortSignal:q,include:X,...gr,experimental_context:se},callbacks:[oe,de.onStart]});let Pn=mn.messages,Xn=[],{approvedToolApprovals:O,deniedToolApprovals:ie}=t6({messages:Pn});if(ie.length>0||O.length>0){let{approvedToolApprovals:Ge,deniedToolApprovals:zn,invalidToolApprovals:lt}=await c6({approvedToolApprovals:O.filter((Xe)=>!Xe.toolCall.providerExecuted),tools:g,messages:Pn,experimental_context:se,toolApprovalSecret:T}),rt=[...ie.filter((Xe)=>!Xe.toolCall.providerExecuted),...zn],oi=ie.filter((Xe)=>Xe.toolCall.providerExecuted),cn,an=new ReadableStream({start(Xe){cn=Xe}});Ft.addStream(an);try{for(let Gt of[...rt,...oi])cn==null||cn.enqueue({type:"tool-output-denied",toolCallId:Gt.toolCall.toolCallId,toolName:Gt.toolCall.toolName});for(let Gt of lt)cn==null||cn.enqueue({type:"tool-error",toolCallId:Gt.toolCall.toolCallId,toolName:Gt.toolCall.toolName,input:Gt.toolCall.input,error:aa(Gt.error),title:Gt.toolCall.title,...Gt.toolCall.dynamic===!0?{dynamic:!0}:{},...Gt.toolCall.toolMetadata!=null?{toolMetadata:Gt.toolCall.toolMetadata}:{}});let Xe=[];if(await Promise.all(Ge.map(async(Gt)=>{let Qt=await $0({toolCall:Gt.toolCall,tools:g,tracer:Nn,telemetry:t,messages:Pn,abortSignal:a,experimental_context:se,stepNumber:ce.length,model:En,onToolCallStart:[P,de.onToolCallStart],onToolCallFinish:[L,de.onToolCallFinish],onPreliminaryToolResult:(Yl)=>{cn==null||cn.enqueue(Yl)}});if(Qt!=null)cn==null||cn.enqueue(Qt),Xe.push(Qt)})),Xe.length>0||rt.length>0||lt.length>0){let Gt=[];for(let Qt of Xe)Gt.push({type:"tool-result",toolCallId:Qt.toolCallId,toolName:Qt.toolName,output:await Cu({toolCallId:Qt.toolCallId,input:Qt.input,tool:g==null?void 0:g[Qt.toolName],output:Qt.type==="tool-result"?Qt.output:Qt.error,errorMode:Qt.type==="tool-error"?"text":"none"})});for(let Qt of lt)Gt.push({type:"tool-result",toolCallId:Qt.toolCall.toolCallId,toolName:Qt.toolCall.toolName,output:await Cu({toolCallId:Qt.toolCall.toolCallId,input:Qt.toolCall.input,tool:g==null?void 0:g[Qt.toolCall.toolName],output:Qt.error,errorMode:"text"})});for(let Qt of rt)Gt.push({type:"tool-result",toolCallId:Qt.toolCall.toolCallId,toolName:Qt.toolCall.toolName,output:{type:"execution-denied",reason:Qt.approvalResponse.reason}});Xn.push({role:"tool",content:Gt})}}finally{cn==null||cn.close()}}We.push(...Xn);async function fe({currentStep:Ge,responseMessages:zn,usage:lt}){var rt,oi,cn,an,Xe,Gt,Qt,Yl,Du;let ii=Ft.includeRawChunks,ai=I0({abortController:l,label:"Step",timeoutMs:s}),pa=void 0;function Zw(){if(pa!=null)clearTimeout(pa);pa=I0({abortController:u,label:"Chunk",timeoutMs:c})}function Ww(){if(pa!=null)clearTimeout(pa),pa=void 0}function Hh(){if(ai!=null)clearTimeout(ai)}function ma(){Hh(),Ww()}function So(){a==null||a.removeEventListener("abort",So),ma()}a==null||a.addEventListener("abort",So,{once:!0});try{ze=new wu;let Mi=[...Pn,...zn],Bn=await(v==null?void 0:v({model:e,steps:ce,stepNumber:ce.length,messages:Mi,experimental_context:se})),ji=gh((rt=Bn==null?void 0:Bn.model)!=null?rt:e);D=ji;let Nu={provider:ji.provider,modelId:ji.modelId},Kh=await B0({prompt:{system:(oi=Bn==null?void 0:Bn.system)!=null?oi:mn.system,messages:(cn=Bn==null?void 0:Bn.messages)!=null?cn:Mi},supportedUrls:await ji.supportedUrls,download:le,abortSignal:a}),pm=(an=Bn==null?void 0:Bn.activeTools)!=null?an:w,ts=n6({tools:g,activeTools:pm});Z=ts;let{toolChoice:Xl,tools:xt}=await JQ({tools:g,toolChoice:(Xe=Bn==null?void 0:Bn.toolChoice)!=null?Xe:h,activeTools:pm});se=(Gt=Bn==null?void 0:Bn.experimental_context)!=null?Gt:se;let to=(Qt=Bn==null?void 0:Bn.messages)!=null?Qt:Mi,Hs=(Yl=Bn==null?void 0:Bn.system)!=null?Yl:mn.system,Di=vh(A,Bn==null?void 0:Bn.providerOptions),Ni=m6({callSettings:bn,stepSettings:Bn});await Mo({event:{stepNumber:ce.length,model:Nu,system:Hs,messages:to,tools:g,toolChoice:Xl,activeTools:pm,steps:[...ce],providerOptions:Di,timeout:x,headers:n,stopWhen:M,output:S,abortSignal:q,include:X,...gr,experimental_context:se},callbacks:[be,de.onStepStart]});let{result:{stream:Qh,response:mm,request:zu},doStreamSpan:zi,startTimestampMs:vn}=await Tn(()=>Ka({name:"ai.streamText.doStream",attributes:Un({telemetry:t,attributes:{...Ha({operationId:"ai.streamText.doStream",telemetry:t}),...fr,"ai.model.provider":ji.provider,"ai.model.id":ji.modelId,"ai.prompt.messages":{input:()=>L0(Kh)},"ai.prompt.tools":{input:()=>xt==null?void 0:xt.map((et)=>JSON.stringify(et))},"ai.prompt.toolChoice":{input:()=>Xl!=null?JSON.stringify(Xl):void 0},"gen_ai.system":ji.provider,"gen_ai.request.model":ji.modelId,"gen_ai.request.frequency_penalty":Ni.frequencyPenalty,"gen_ai.request.max_tokens":Ni.maxOutputTokens,"gen_ai.request.presence_penalty":Ni.presencePenalty,"gen_ai.request.stop_sequences":Ni.stopSequences,"gen_ai.request.temperature":Ni.temperature,"gen_ai.request.top_k":Ni.topK,"gen_ai.request.top_p":Ni.topP}}),tracer:Nn,endWhenDone:!1,endOnError:!0,fn:async(et)=>({startTimestampMs:z(),doStreamSpan:et,result:await ji.doStream({...Ni,tools:xt,toolChoice:Xl,responseFormat:await(S==null?void 0:S.responseFormat),prompt:Kh,providerOptions:Di,abortSignal:a,headers:n,includeRawChunks:ii})})})),Ks=ZRe({tools:ts,generatorStream:Qh,tracer:Nn,telemetry:t,system:d,messages:Mi,repairToolCall:_,abortSignal:a,experimental_context:se,toolApprovalSecret:T,generateId:F,stepNumber:ce.length,model:Nu,onToolCallStart:[P,de.onToolCallStart],onToolCallFinish:[L,de.onToolCallFinish]}),Gw=((Du=X==null?void 0:X.requestBody)!=null?Du:!0)?zu!=null?zu:{}:{...zu,body:void 0},Qs=[],fm=[],Jw,Bu="other",Vw=void 0,Hw=!1,YM=!1,Ur=w0(),XM,ej=!0,fa={id:F(),timestamp:new Date,modelId:Nu.modelId},CX="",Yh=new Map,Xh=new Map;Ft.addStream(Ks.pipeThrough(new TransformStream({async transform(et,er){var gm,hm,ym,bm,vm,Sm,ey,xm,Fu;if(Zw(),et.type==="stream-start"){Jw=et.warnings;return}if(ej){let hr=z()-vn;ej=!1,zi.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":hr}),zi.setAttributes({"ai.response.msToFirstChunk":hr}),er.enqueue({type:"start-step",request:Gw,warnings:Jw!=null?Jw:[]})}let qu=et.type;if(GRe[qu])YM=!0;switch(qu){case"tool-approval-request":{er.enqueue(et);break}case"text-start":{let hr=Oe(et.id);Yh.set(et.id,hr),er.enqueue({...et,id:hr});break}case"text-end":{er.enqueue({...et,id:(gm=Yh.get(et.id))!=null?gm:et.id}),Yh.delete(et.id);break}case"text-delta":{if(et.delta.length>0||et.providerMetadata!=null)er.enqueue({type:"text-delta",id:(hm=Yh.get(et.id))!=null?hm:et.id,text:et.delta,providerMetadata:et.providerMetadata});CX+=et.delta;break}case"reasoning-start":{let hr=ye(et.id);Xh.set(et.id,hr),er.enqueue({...et,id:hr});break}case"reasoning-end":{er.enqueue({...et,id:(ym=Xh.get(et.id))!=null?ym:et.id}),Xh.delete(et.id);break}case"reasoning-delta":{er.enqueue({type:"reasoning-delta",id:(bm=Xh.get(et.id))!=null?bm:et.id,text:et.delta,providerMetadata:et.providerMetadata});break}case"tool-call":{er.enqueue(et),Qs.push(et);break}case"tool-result":{if(er.enqueue(et),!et.preliminary)fm.push(et);break}case"tool-error":{er.enqueue(et),fm.push(et);break}case"response-metadata":{fa={id:(vm=et.id)!=null?vm:fa.id,timestamp:(Sm=et.timestamp)!=null?Sm:fa.timestamp,modelId:(ey=et.modelId)!=null?ey:fa.modelId};break}case"finish":{Hw=!0,Ur=et.usage,Bu=et.finishReason,Vw=et.rawFinishReason,XM=et.providerMetadata;let hr=z()-vn;zi.addEvent("ai.stream.finish"),zi.setAttributes({"ai.response.msToFinish":hr,"ai.response.avgOutputTokensPerSecond":1000*((xm=Ur.outputTokens)!=null?xm:0)/hr});break}case"file":{er.enqueue(et);break}case"source":{er.enqueue(et);break}case"tool-input-start":{let hr=ts==null?void 0:ts[et.toolName];er.enqueue({...et,dynamic:(Fu=et.dynamic)!=null?Fu:(hr==null?void 0:hr.type)==="dynamic",title:hr==null?void 0:hr.title});break}case"tool-input-end":{er.enqueue(et);break}case"tool-input-delta":{er.enqueue(et);break}case"error":{Hw=!0,er.enqueue(et),Bu="error";break}case"raw":{if(ii)er.enqueue(et);break}default:throw Error(`Unknown chunk type: ${qu}`)}},async flush(et){var er,gm,hm,ym,bm,vm,Sm;if(!Hw&&!YM){et.enqueue({type:"error",error:new Gx({message:"No output generated. The model stream ended without a finish chunk."})}),zi.end(),So(),Ft.closeStream();return}let ey=Qs.length>0?JSON.stringify(Qs):void 0;try{zi.setAttributes(await Un({telemetry:t,attributes:{"ai.response.finishReason":Bu,"ai.response.toolCalls":{output:()=>ey},"ai.response.id":fa.id,"ai.response.model":fa.modelId,"ai.response.timestamp":fa.timestamp.toISOString(),"ai.usage.inputTokens":Ur.inputTokens,"ai.usage.inputTokenDetails.noCacheTokens":(er=Ur.inputTokenDetails)==null?void 0:er.noCacheTokens,"ai.usage.inputTokenDetails.cacheReadTokens":(gm=Ur.inputTokenDetails)==null?void 0:gm.cacheReadTokens,"ai.usage.inputTokenDetails.cacheWriteTokens":(hm=Ur.inputTokenDetails)==null?void 0:hm.cacheWriteTokens,"ai.usage.outputTokens":Ur.outputTokens,"ai.usage.outputTokenDetails.textTokens":(ym=Ur.outputTokenDetails)==null?void 0:ym.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":(bm=Ur.outputTokenDetails)==null?void 0:bm.reasoningTokens,"ai.usage.totalTokens":Ur.totalTokens,"ai.usage.reasoningTokens":(vm=Ur.outputTokenDetails)==null?void 0:vm.reasoningTokens,"ai.usage.cachedInputTokens":(Sm=Ur.inputTokenDetails)==null?void 0:Sm.cacheReadTokens,"gen_ai.response.finish_reasons":[Bu],"gen_ai.response.id":fa.id,"gen_ai.response.model":fa.modelId,"gen_ai.usage.input_tokens":Ur.inputTokens,"gen_ai.usage.output_tokens":Ur.outputTokens}}))}catch(Nr){}et.enqueue({type:"finish-step",finishReason:Bu,rawFinishReason:Vw,usage:Ur,providerMetadata:XM,response:{...fa,headers:mm==null?void 0:mm.headers}});let xm=e6(lt,Ur);await ze.promise;let Fu=ce[ce.length-1];try{zi.setAttributes(await Un({telemetry:t,attributes:{"ai.response.text":{output:()=>Fu.text},"ai.response.reasoning":{output:()=>Fu.reasoningText},"ai.response.providerMetadata":JSON.stringify(Fu.providerMetadata)}}))}catch(Nr){}finally{zi.end()}let qu=Qs.filter((Nr)=>Nr.providerExecuted!==!0),hr=fm.filter((Nr)=>Nr.providerExecuted!==!0);for(let Nr of Qs){if(Nr.providerExecuted!==!0)continue;let Kw=ts==null?void 0:ts[Nr.toolName];if((Kw==null?void 0:Kw.type)==="provider"&&Kw.supportsDeferredResults){if(!fm.some((Qw)=>(Qw.type==="tool-result"||Qw.type==="tool-error")&&Qw.toolCallId===Nr.toolCallId))Ce.set(Nr.toolCallId,{toolName:Nr.toolName})}}for(let Nr of fm)if(Nr.type==="tool-result"||Nr.type==="tool-error")Ce.delete(Nr.toolCallId);if(So(),(qu.length>0&&hr.length===qu.length||Ce.size>0)&&!await g6({stopConditions:y,steps:ce})){zn.push(...await A0({content:ce[ce.length-1].content,tools:ts}));try{await fe({currentStep:Ge+1,responseMessages:zn,usage:xm})}catch(Nr){et.enqueue({type:"error",error:Nr}),Ft.closeStream()}}else et.enqueue({type:"finish",finishReason:Bu,rawFinishReason:Vw,totalUsage:xm}),Ft.closeStream()}})),{onError:So,onCancel:So})}catch(Mi){throw So(),Mi}}await fe({currentStep:0,responseMessages:Xn,usage:w0()})}}).catch((on)=>{Ft.addStream(new ReadableStream({start(mn){mn.enqueue({type:"error",error:on}),mn.close()}})),Ft.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then((e)=>e[e.length-1])}get content(){return this.finalStep.then((e)=>e.content)}get warnings(){return this.finalStep.then((e)=>e.warnings)}get providerMetadata(){return this.finalStep.then((e)=>e.providerMetadata)}get text(){return this.finalStep.then((e)=>e.text)}get reasoningText(){return this.finalStep.then((e)=>e.reasoningText)}get reasoning(){return this.finalStep.then((e)=>e.reasoning)}get sources(){return this.finalStep.then((e)=>e.sources)}get files(){return this.finalStep.then((e)=>e.files)}get toolCalls(){return this.finalStep.then((e)=>e.toolCalls)}get staticToolCalls(){return this.finalStep.then((e)=>e.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then((e)=>e.dynamicToolCalls)}get toolResults(){return this.finalStep.then((e)=>e.toolResults)}get staticToolResults(){return this.finalStep.then((e)=>e.staticToolResults)}get dynamicToolResults(){return this.finalStep.then((e)=>e.dynamicToolResults)}get usage(){return this.finalStep.then((e)=>e.usage)}get request(){return this.finalStep.then((e)=>e.request)}get response(){return this.finalStep.then((e)=>e.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){let[e,t]=this.baseStream.tee();return this.baseStream=t,e}get textStream(){return Wp(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){if(e.type==="text-delta")t.enqueue(e.text)}})))}get fullStream(){return Wp(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}rejectResultPromises(e){if(this._finishReason.isPending())this._finishReason.reject(e);if(this._rawFinishReason.isPending())this._rawFinishReason.reject(e);if(this._totalUsage.isPending())this._totalUsage.reject(e);if(this._steps.isPending())this._steps.reject(e)}async consumeStream(e){var t;try{await $Re({stream:this.fullStream,onError:(n)=>{var r;this.rejectResultPromises(n),(r=e==null?void 0:e.onError)==null||r.call(e,n)}})}catch(n){this.rejectResultPromises(n),(t=e==null?void 0:e.onError)==null||t.call(e,n)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return Wp(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){if(e!==void 0)t.enqueue(e)}})))}get elementStream(){var e,t,n;let r=(e=this.outputSpecification)==null?void 0:e.createElementStreamTransform();if(r==null)throw new Nt({functionality:`element streams in ${(n=(t=this.outputSpecification)==null?void 0:t.name)!=null?n:"text"} mode`});return Wp(this.teeStream().pipeThrough(r))}getOutputPromise(){if(this.outputPromise==null)this.outputPromise=this.finalStep.then((e)=>{var t;return((t=this.outputSpecification)!=null?t:Qx()).parseCompleteOutput({text:e.text},{response:e.response,usage:e.usage,finishReason:e.finishReason})});return this.outputPromise}get output(){return this.getOutputPromise()}toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:n,messageMetadata:r,sendReasoning:i=!0,sendSources:a=!1,sendStart:s=!0,sendFinish:l=!0,onError:c=()=>"An error occurred."}={}){let u={status:"unknown"},d=!1,p=(y)=>{if(!d&&u.status!=="completed"&&u.status!=="aborted"&&y.status!=="unknown"&&(u.status==="unknown"||y.status!=="failed"))u=y},f=(y)=>{d=!0,u={status:"failed",error:y}},m=t!=null?zRe({originalMessages:e,responseMessageId:t}):void 0,g=(y)=>{var S;let A=(S=this.tools)==null?void 0:S[y.toolName];if(A==null)return y.dynamic;return(A==null?void 0:A.type)==="dynamic"?!0:void 0},h=(y)=>{let S=y.getReader(),A=!1,v=!1,R=()=>{if(!A)S.releaseLock(),A=!0};return new ReadableStream({async pull(z){try{let{done:F,value:x}=await S.read();if(F){if(R(),!v)z.close()}else z.enqueue(x)}catch(F){if(R(),!v)f(F),z.error(F)}},async cancel(z){if(v=!0,A)return;try{await S.cancel(z)}finally{R()}}})},w=h(this.fullStream).pipeThrough(new TransformStream({transform:async(y,S)=>{let A=r==null?void 0:r({part:y}),v=y.type;switch(v){case"text-start":{S.enqueue({type:"text-start",id:y.id,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"text-delta":{S.enqueue({type:"text-delta",id:y.id,delta:y.text,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"text-end":{S.enqueue({type:"text-end",id:y.id,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"reasoning-start":case"reasoning-end":{if(i)S.enqueue({type:v,id:y.id,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"reasoning-delta":{if(i)S.enqueue({type:"reasoning-delta",id:y.id,delta:y.text,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"file":{S.enqueue({type:"file",mediaType:y.file.mediaType,url:`data:${y.file.mediaType};base64,${y.file.base64}`,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"source":{if(a&&y.sourceType==="url")S.enqueue({type:"source-url",sourceId:y.id,url:y.url,title:y.title,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});if(a&&y.sourceType==="document")S.enqueue({type:"source-document",sourceId:y.id,mediaType:y.mediaType,title:y.title,filename:y.filename,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"tool-input-start":{let R=g(y);S.enqueue({type:"tool-input-start",toolCallId:y.id,toolName:y.toolName,...y.providerExecuted!=null?{providerExecuted:y.providerExecuted}:{},...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{},...y.toolMetadata!=null?{toolMetadata:y.toolMetadata}:{},...R!=null?{dynamic:R}:{},...y.title!=null?{title:y.title}:{}});break}case"tool-input-delta":{S.enqueue({type:"tool-input-delta",toolCallId:y.id,inputTextDelta:y.delta});break}case"tool-call":{let R=g(y);if(y.invalid)S.enqueue({type:"tool-input-error",toolCallId:y.toolCallId,toolName:y.toolName,input:y.input,...y.providerExecuted!=null?{providerExecuted:y.providerExecuted}:{},...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{},...y.toolMetadata!=null?{toolMetadata:y.toolMetadata}:{},...R!=null?{dynamic:R}:{},errorText:c(y.error),...y.title!=null?{title:y.title}:{}});else S.enqueue({type:"tool-input-available",toolCallId:y.toolCallId,toolName:y.toolName,input:y.input,...y.providerExecuted!=null?{providerExecuted:y.providerExecuted}:{},...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{},...y.toolMetadata!=null?{toolMetadata:y.toolMetadata}:{},...R!=null?{dynamic:R}:{},...y.title!=null?{title:y.title}:{}});break}case"tool-approval-request":{let R=u6(y.toolCall);S.enqueue({type:"tool-approval-request",approvalId:y.approvalId,toolCallId:y.toolCall.toolCallId,...R!=null&&!yh(R.value,y.toolCall.input)?{inputSchemaInput:R.value}:{},...y.signature!=null?{signature:y.signature}:{}});break}case"tool-result":{let R=g(y);S.enqueue({type:"tool-output-available",toolCallId:y.toolCallId,output:y.output===void 0?null:y.output,...y.providerExecuted!=null?{providerExecuted:y.providerExecuted}:{},...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{},...y.toolMetadata!=null?{toolMetadata:y.toolMetadata}:{},...y.preliminary!=null?{preliminary:y.preliminary}:{},...R!=null?{dynamic:R}:{}});break}case"tool-error":{let R=g(y);S.enqueue({type:"tool-output-error",toolCallId:y.toolCallId,errorText:y.providerExecuted?typeof y.error==="string"?y.error:JSON.stringify(y.error):c(y.error),...y.providerExecuted!=null?{providerExecuted:y.providerExecuted}:{},...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{},...y.toolMetadata!=null?{toolMetadata:y.toolMetadata}:{},...R!=null?{dynamic:R}:{}});break}case"tool-output-denied":{S.enqueue({type:"tool-output-denied",toolCallId:y.toolCallId});break}case"error":{S.enqueue({type:"error",errorText:c(y.error)});break}case"start-step":{S.enqueue({type:"start-step"});break}case"finish-step":{S.enqueue({type:"finish-step"});break}case"start":{if(s)S.enqueue({type:"start",...A!=null?{messageMetadata:A}:{},...m!=null?{messageId:m}:{}});break}case"finish":{if(l)S.enqueue({type:"finish",finishReason:y.finishReason,...A!=null?{messageMetadata:A}:{}});break}case"abort":{S.enqueue(y);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${v}`)}if(A!=null&&v!=="start"&&v!=="finish")S.enqueue({type:"message-metadata",messageMetadata:A});if(y.type==="finish")p({status:"completed"});else if(y.type==="abort")p({status:"aborted"});else if(y.type==="error")p({status:"failed",error:y.error})}})),_=h(w);return Wp(w6({stream:_,messageId:m!=null?m:t==null?void 0:t(),originalMessages:e,onFinish:n,onError:c,getOutcome:()=>u}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:n,onFinish:r,messageMetadata:i,sendReasoning:a,sendSources:s,sendFinish:l,sendStart:c,onError:u,...d}={}){return LRe({response:e,stream:this.toUIMessageStream({originalMessages:t,generateMessageId:n,onFinish:r,messageMetadata:i,sendReasoning:a,sendSources:s,sendFinish:l,sendStart:c,onError:u}),...d})}pipeTextStreamToResponse(e,t){return MRe({response:e,textStream:this.textStream,...t})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:t,onFinish:n,messageMetadata:r,sendReasoning:i,sendSources:a,sendFinish:s,sendStart:l,onError:c,...u}={}){return NRe({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:n,messageMetadata:r,sendReasoning:i,sendSources:a,sendFinish:s,sendStart:l,onError:c}),...u})}toTextStreamResponse(e){return ORe({textStream:this.textStream,...e})}},T6=class{constructor(e){this.version="agent-v1",this.settings=e}get id(){return this.settings.id}get tools(){return this.settings.tools}async prepareCall(e){var t,n,r,i;if(this.settings.callOptionsSchema!=null&&e.options!==void 0){let g=await kt({value:e.options,schema:this.settings.callOptionsSchema,context:{field:"options"}});e={...e,options:g}}let{onStepFinish:a,...s}=this.settings,l={...s,stopWhen:(t=this.settings.stopWhen)!=null?t:wh(20),...e},c=(i=await((r=(n=this.settings).prepareCall)==null?void 0:r.call(n,l)))!=null?i:l,{instructions:u,allowSystemInMessages:d,messages:p,prompt:f,...m}=c;return{...m,...{system:u,allowSystemInMessages:d,messages:p,prompt:f}}}mergeOnStepFinishCallbacks(e){let t=this.settings.onStepFinish;if(e&&t)return async(n)=>{await t(n),await e(n)};return e!=null?e:t}async generate({abortSignal:e,timeout:t,onStepFinish:n,...r}){let i=await this.prepareCall(r);return Th({...i,abortSignal:e,timeout:t!=null?t:i.timeout,onStepFinish:this.mergeOnStepFinishCallbacks(n)})}async stream({abortSignal:e,timeout:t,experimental_transform:n,onStepFinish:r,...i}){let a=await this.prepareCall(i);return JRe({...a,abortSignal:e,timeout:t!=null?t:a.timeout,experimental_transform:n,onStepFinish:this.mergeOnStepFinishCallbacks(r)})}};function i_t({execute:e,onError:t=()=>"An error occurred.",originalMessages:n,onStepFinish:r,onFinish:i,generateId:a=$t}){let s,l=[],c={status:"unknown"},u=new ReadableStream({start(b){s=b}});function d(b){try{s.enqueue(b)}catch(w){}}function p(b){if(c.status==="unknown"&&b.status!=="unknown")c=b}function f(b){c={status:"failed",error:b}}function m(b){try{s.error(b)}catch(w){}}function g(b){f(b);let w;try{w=t(b)}catch(_){f(_),m(_);return}d({type:"error",errorText:w})}try{let b=e({writer:{write(w){d(w)},merge(w){l.push((async()=>{let _=w.getReader();while(!0){let{done:y,value:S}=await _.read();if(y)break;d(S)}})().catch((_)=>{g(_)}))},setOutcome:p,onError:t}});if(b)l.push(b.catch((w)=>{g(w)}))}catch(b){g(b)}return(async()=>{while(l.length>0)await l.shift()})().finally(()=>{try{s.close()}catch(b){}}),w6({stream:u,messageId:a(),originalMessages:n,onStepFinish:r,onFinish:i,onError:t,getOutcome:()=>c})}function _6(e,t){return e!=null&&Object.hasOwn(e,t)?e[t]:void 0}var Po=o.record(o.string(),Ru.optional());var l_t=G(()=>{let e=o.object({id:o.string(),approved:o.never().optional(),descriptor:o.unknown().optional(),reason:o.never().optional(),signature:o.string().optional(),inputSchemaInput:o.unknown().optional()}),t=e.extend({approved:o.boolean(),reason:o.string().optional()}),n=t.extend({approved:o.literal(!0)}),r=t.extend({approved:o.literal(!1)});return W(o.array(o.object({id:o.string(),role:o.enum(["system","user","assistant"]),metadata:o.unknown().optional(),parts:o.array(o.union([o.object({type:o.literal("text"),text:o.string(),state:o.enum(["streaming","done"]).optional(),providerMetadata:nt.optional()}),o.object({type:o.literal("reasoning"),id:o.string().optional(),text:o.string(),state:o.enum(["streaming","done"]).optional(),providerMetadata:nt.optional()}),o.object({type:o.literal("source-url"),sourceId:o.string(),url:o.string(),title:o.string().optional(),providerMetadata:nt.optional()}),o.object({type:o.literal("source-document"),sourceId:o.string(),mediaType:o.string(),title:o.string(),filename:o.string().optional(),providerMetadata:nt.optional()}),o.object({type:o.literal("file"),mediaType:o.string(),filename:o.string().optional(),url:o.string(),providerMetadata:nt.optional()}),o.object({type:o.literal("step-start")}),o.object({type:o.string().startsWith("data-"),id:o.string().optional(),data:o.unknown()}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("input-streaming"),input:o.unknown().optional(),rawInput:o.string().optional(),providerExecuted:o.boolean().optional(),callProviderMetadata:nt.optional(),output:o.never().optional(),errorText:o.never().optional(),approval:o.never().optional()}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("input-available"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:nt.optional(),approval:o.never().optional()}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("approval-requested"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:nt.optional(),approval:e}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("approval-responded"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:nt.optional(),approval:t}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-available"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.unknown(),errorText:o.never().optional(),callProviderMetadata:nt.optional(),resultProviderMetadata:nt.optional(),preliminary:o.boolean().optional(),approval:n.optional()}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-error"),input:o.unknown().optional(),rawInput:o.unknown().optional(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.string(),callProviderMetadata:nt.optional(),resultProviderMetadata:nt.optional(),approval:n.optional()}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-denied"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:nt.optional(),approval:r}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("input-streaming"),providerExecuted:o.boolean().optional(),callProviderMetadata:nt.optional(),input:o.unknown().optional(),rawInput:o.string().optional(),output:o.never().optional(),errorText:o.never().optional(),approval:o.never().optional()}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("input-available"),providerExecuted:o.boolean().optional(),input:o.unknown(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:nt.optional(),approval:o.never().optional()}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("approval-requested"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:nt.optional(),approval:e}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("approval-responded"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:nt.optional(),approval:t}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-available"),providerExecuted:o.boolean().optional(),input:o.unknown(),output:o.unknown(),errorText:o.never().optional(),callProviderMetadata:nt.optional(),resultProviderMetadata:nt.optional(),preliminary:o.boolean().optional(),approval:n.optional()}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-error"),providerExecuted:o.boolean().optional(),input:o.unknown().optional(),rawInput:o.unknown().optional(),output:o.never().optional(),errorText:o.string(),callProviderMetadata:nt.optional(),resultProviderMetadata:nt.optional(),approval:n.optional()}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-denied"),providerExecuted:o.boolean().optional(),input:o.unknown(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:nt.optional(),approval:r})]))}).superRefine((i,a)=>{if(i.role!=="assistant"&&i.parts.length===0)a.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:i.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))});function I6(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0})}function KRe(e){return e[Rx]}function QRe(e){return e[Ax]}function YRe(e,t){if(t<=0)throw Error("chunkSize must be greater than 0");let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}async function C6({model:e,values:t,maxParallelCalls:n=1/0,maxRetries:r,abortSignal:i,headers:a,providerOptions:s,experimental_telemetry:l}){let c=Fke(e),{maxRetries:u,retry:d}=Sh({maxRetries:r,abortSignal:i}),p=Yn(a!=null?a:{},`ai/${bh}`),f=ew({model:c,telemetry:l,headers:p,settings:{maxRetries:u}}),m=tw(l);return Ka({name:"ai.embedMany",attributes:Un({telemetry:l,attributes:{...Ha({operationId:"ai.embedMany",telemetry:l}),...f,"ai.values":{input:()=>t.map((g)=>JSON.stringify(g))}}}),tracer:m,fn:async(g)=>{let[h,b,w]=await Promise.all([c.maxEmbeddingsPerCall,KRe(c),c.supportsParallelCalls]),_=h!=null&&h!==1/0,y=b!=null&&b!==1/0;if(!_&&!y){let{embeddings:E,usage:N,warnings:Q,response:ae,providerMetadata:J}=await d(()=>Ka({name:"ai.embedMany.doEmbed",attributes:Un({telemetry:l,attributes:{...Ha({operationId:"ai.embedMany.doEmbed",telemetry:l}),...f,"ai.values":{input:()=>t.map((oe)=>JSON.stringify(oe))}}}),tracer:m,fn:async(oe)=>{var be,P;let L=await c.doEmbed({values:t,abortSignal:i,headers:p,providerOptions:s}),se=L.embeddings,T=(be=L.usage)!=null?be:{tokens:NaN};return oe.setAttributes(await Un({telemetry:l,attributes:{"ai.embeddings":{output:()=>se.map((le)=>JSON.stringify(le))},"ai.usage.tokens":T.tokens}})),{embeddings:se,usage:T,warnings:(P=L.warnings)!=null?P:[],providerMetadata:L.providerMetadata,response:L.response}}}));return g.setAttributes(await Un({telemetry:l,attributes:{"ai.embeddings":{output:()=>E.map((oe)=>JSON.stringify(oe))},"ai.usage.tokens":N.tokens}})),ku({warnings:Q,provider:c.provider,model:c.modelId}),new U5({values:t,embeddings:E,usage:N,warnings:Q,providerMetadata:J,responses:[ae]})}let S=eAe({values:t,maxEmbeddingsPerCall:_?h:1/0,maxInputBytesPerCall:y?b:1/0}),A=QRe(c),v=[],R=[],z=[],F=0,x,M=YRe(S,w?n:1),q=0;for(let E of M){let N=await Promise.all(E.map(async(Q)=>{let ae=q;q+=Q.length;let J=A?await A({providerOptions:s,values:t,startIndex:ae,endIndex:ae+Q.length}):s;return d(()=>Ka({name:"ai.embedMany.doEmbed",attributes:Un({telemetry:l,attributes:{...Ha({operationId:"ai.embedMany.doEmbed",telemetry:l}),...f,"ai.values":{input:()=>Q.map((oe)=>JSON.stringify(oe))}}}),tracer:m,fn:async(oe)=>{var be,P;let L=await c.doEmbed({values:Q,abortSignal:i,headers:p,providerOptions:J}),se=L.embeddings,T=(be=L.usage)!=null?be:{tokens:NaN};return oe.setAttributes(await Un({telemetry:l,attributes:{"ai.embeddings":{output:()=>se.map((le)=>JSON.stringify(le))},"ai.usage.tokens":T.tokens}})),{embeddings:se,usage:T,warnings:(P=L.warnings)!=null?P:[],providerMetadata:L.providerMetadata,response:L.response}}}))}));for(let Q of N)if(v.push(...Q.embeddings),R.push(...Q.warnings),z.push(Q.response),F+=Q.usage.tokens,Q.providerMetadata)if(!x)x={...Q.providerMetadata};else for(let[ae,J]of Object.entries(Q.providerMetadata))I6(x,ae,{..._6(x,ae),...J})}return g.setAttributes(await Un({telemetry:l,attributes:{"ai.embeddings":{output:()=>v.map((E)=>JSON.stringify(E))},"ai.usage.tokens":F}})),ku({warnings:R,provider:c.provider,model:c.modelId}),new U5({values:t,embeddings:v,usage:{tokens:F},warnings:R,providerMetadata:x,responses:z})}})}var XRe=new TextEncoder;function eAe({values:e,maxEmbeddingsPerCall:t,maxInputBytesPerCall:n}){if(t<=0)throw Error("maxEmbeddingsPerCall must be greater than 0");if(n<=0)throw Error("maxInputBytesPerCall must be greater than 0");if(e.length===0)return[];let r=[],i=[],a=0;for(let s of e){let l=XRe.encode(s).length;if(i.length>0&&(i.length>=t||a+l>n))r.push(i),i=[],a=0;i.push(s),a+=l}return r.push(i),r}var U5=class{constructor(e){this.values=e.values,this.embeddings=e.embeddings,this.usage=e.usage,this.warnings=e.warnings,this.providerMetadata=e.providerMetadata,this.responses=e.responses}},Wx=class extends Error{constructor(){super("No image generated.");this.name="RetryableNoImageResultError"}};async function J0({model:e,prompt:t,n=1,maxImagesPerCall:r,size:i,aspectRatio:a,seed:s,providerOptions:l,maxRetries:c,abortSignal:u,headers:d}){var p,f;let m=qke(e),g=Yn(d!=null?d:{},`ai/${bh}`),{retry:h}=Sh({maxRetries:c,abortSignal:u,additionalRetryableError:(x)=>x instanceof Wx}),b=(p=r!=null?r:await nAe(m))!=null?p:1,w=Math.ceil(n/b),_=Array.from({length:w},(x,M)=>{if(M<w-1)return b;let q=n%b;return q===0?b:q}),S=(await Promise.all(_.map(async(x)=>{let M=[];try{return await h(async()=>{let{prompt:q,files:E,mask:N}=rAe(t),Q=await m.doGenerate({prompt:q,files:E,mask:N,n:x,abortSignal:u,headers:g,size:i,aspectRatio:a,seed:s,providerOptions:l!=null?l:{}});if(M.push(Q),Q.images.length===0&&Q.isRetryable!==!1)throw new Wx;return Q}),M}catch(q){if((q instanceof Wx?q:qQ.isInstance(q)&&q.lastError instanceof Wx?q.lastError:void 0)!=null)return M;throw q}}))).flat(),A=[],v=[],R=[],z={},F={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};for(let x of S){if(A.push(...x.images.map((M)=>{var q;return new U0({data:M,mediaType:(q=Kx({data:M,signatures:Hx}))!=null?q:"image/png"})})),v.push(...x.warnings),x.usage!=null)F=gRe(F,x.usage);if(x.providerMetadata)for(let[M,q]of Object.entries(x.providerMetadata))if(M==="gateway"){let E=z[M];if(E!=null&&typeof E==="object")z[M]={...E,...q};else z[M]=q;let N=z[M].images;if(Array.isArray(N)&&N.length===0)delete z[M].images}else{let E=(f=_6(z,M))!=null?f:{images:[]};E.images.push(...x.providerMetadata[M].images),I6(z,M,E)}R.push(x.response)}if(ku({warnings:v,provider:m.provider,model:m.modelId}),!A.length)throw new oke({responses:R});return new tAe({images:A,warnings:v,responses:R,providerMetadata:z,usage:F})}var tAe=class{constructor(e){this.images=e.images,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=e.providerMetadata,this.usage=e.usage}get image(){return this.images[0]}};async function nAe(e){if(!(e.maxImagesPerCall instanceof Function))return e.maxImagesPerCall;return e.maxImagesPerCall({modelId:e.modelId})}function rAe(e){if(typeof e==="string")return{prompt:e,files:void 0,mask:void 0};return{prompt:e.text,files:e.images.map(Z5),mask:e.mask?Z5(e.mask):void 0}}function Z5(e){if(typeof e==="string"&&e.startsWith("http"))return{type:"url",url:e};if(typeof e==="string"&&e.startsWith("data:")){let{mediaType:n,base64Content:r}=WQ(e);if(r!=null){let i=Lr(r);return{type:"file",data:i,mediaType:n||Kx({data:i,signatures:Hx})||"image/png"}}}let t=Hke(e);return{type:"file",data:t,mediaType:Kx({data:t,signatures:Hx})||"image/png"}}var oAe={type:"no-schema",jsonSchema:async()=>{return},async validatePartialResult({value:e,textDelta:t}){return{success:!0,value:{partial:e,textDelta:t}}},async validateFinalResult(e,t){return e===void 0?{success:!1,error:new $r({message:"No object generated: response did not match schema.",text:t.text,response:t.response,usage:t.usage,finishReason:t.finishReason})}:{success:!0,value:e}},createElementStream(){throw new Nt({functionality:"element streams in no-schema mode"})}},iAe=(e)=>({type:"object",jsonSchema:async()=>await e.jsonSchema,async validatePartialResult({value:t,textDelta:n}){return{success:!0,value:{partial:t,textDelta:n}}},async validateFinalResult(t){return Cn({value:t,schema:e})},createElementStream(){throw new Nt({functionality:"element streams in object mode"})}}),aAe=(e)=>({type:"array",jsonSchema:async()=>{let{$schema:t,...n}=await e.jsonSchema;return{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:n}},required:["elements"],additionalProperties:!1}},async validatePartialResult({value:t,latestObject:n,isFirstDelta:r,isFinalDelta:i}){var a;if(!Ua(t)||!KA(t.elements))return{success:!1,error:new pr({value:t,cause:"value must be an object that contains an array of elements"})};let s=t.elements,l=[];for(let d=0;d<s.length;d++){let p=s[d],f=await Cn({value:p,schema:e});if(d===s.length-1&&!i)continue;if(!f.success)return f;l.push(f.value)}let c=(a=n==null?void 0:n.length)!=null?a:0,u="";if(r)u+="[";if(c>0)u+=",";if(u+=l.slice(c).map((d)=>JSON.stringify(d)).join(","),i)u+="]";return{success:!0,value:{partial:l,textDelta:u}}},async validateFinalResult(t){if(!Ua(t)||!KA(t.elements))return{success:!1,error:new pr({value:t,cause:"value must be an object that contains an array of elements"})};let n=t.elements,r=[];for(let i of n){let a=await Cn({value:i,schema:e});if(!a.success)return a;r.push(a.value)}return{success:!0,value:r}},createElementStream(t){let n=0;return Wp(t.pipeThrough(new TransformStream({transform(r,i){switch(r.type){case"object":{let a=r.object;for(;n<a.length;n++)i.enqueue(a[n]);break}case"text-delta":case"finish":case"error":break;default:throw Error(`Unsupported chunk type: ${r}`)}}})))}}),sAe=(e)=>({type:"enum",jsonSchema:async()=>({$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1}),async validateFinalResult(t){if(!Ua(t)||typeof t.result!=="string")return{success:!1,error:new pr({value:t,cause:'value must be an object that contains a string in the "result" property.'})};let n=t.result;return e.includes(n)?{success:!0,value:n}:{success:!1,error:new pr({value:t,cause:"value must be a string in the enum"})}},async validatePartialResult({value:t,textDelta:n}){if(!Ua(t)||typeof t.result!=="string")return{success:!1,error:new pr({value:t,cause:'value must be an object that contains a string in the "result" property.'})};let r=t.result,i=e.filter((a)=>a.startsWith(r));if(t.result.length===0||i.length===0)return{success:!1,error:new pr({value:t,cause:"value must be a string in the enum"})};return{success:!0,value:{partial:i.length>1?r:i[0],textDelta:n}}},createElementStream(){throw new Nt({functionality:"element streams in enum mode"})}});function lAe({output:e,schema:t,enumValues:n}){switch(e){case"object":return iAe(vo(t));case"array":return aAe(vo(t));case"enum":return sAe(n);case"no-schema":return oAe;default:throw Error(`Unsupported output: ${e}`)}}async function W5(e,t,n){let r=await mr({text:e});if(!r.success)throw new $r({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:n.response,usage:n.usage,finishReason:n.finishReason});let i=await t.validateFinalResult(r.value,{text:e,response:n.response,usage:n.usage});if(!i.success)throw new $r({message:"No object generated: response did not match schema.",cause:i.error,text:e,response:n.response,usage:n.usage,finishReason:n.finishReason});return i.value}async function cAe(e,t,n,r){try{return await W5(e,t,r)}catch(i){if(n!=null&&$r.isInstance(i)&&(yu.isInstance(i.cause)||pr.isInstance(i.cause))){let a=await n({text:e,error:i.cause});if(a===null)throw i;return await W5(a,t,r)}throw i}}function uAe({output:e,schema:t,schemaName:n,schemaDescription:r,enumValues:i}){if(e!=null&&e!=="object"&&e!=="array"&&e!=="enum"&&e!=="no-schema")throw new jn({parameter:"output",value:e,message:"Invalid output type."});if(e==="no-schema"){if(t!=null)throw new jn({parameter:"schema",value:t,message:"Schema is not supported for no-schema output."});if(r!=null)throw new jn({parameter:"schemaDescription",value:r,message:"Schema description is not supported for no-schema output."});if(n!=null)throw new jn({parameter:"schemaName",value:n,message:"Schema name is not supported for no-schema output."});if(i!=null)throw new jn({parameter:"enumValues",value:i,message:"Enum values are not supported for no-schema output."})}if(e==="object"){if(t==null)throw new jn({parameter:"schema",value:t,message:"Schema is required for object output."});if(i!=null)throw new jn({parameter:"enumValues",value:i,message:"Enum values are not supported for object output."})}if(e==="array"){if(t==null)throw new jn({parameter:"schema",value:t,message:"Element schema is required for array output."});if(i!=null)throw new jn({parameter:"enumValues",value:i,message:"Enum values are not supported for array output."})}if(e==="enum"){if(t!=null)throw new jn({parameter:"schema",value:t,message:"Schema is not supported for enum output."});if(r!=null)throw new jn({parameter:"schemaDescription",value:r,message:"Schema description is not supported for enum output."});if(n!=null)throw new jn({parameter:"schemaName",value:n,message:"Schema name is not supported for enum output."});if(i==null)throw new jn({parameter:"enumValues",value:i,message:"Enum values are required for enum output."});for(let a of i)if(typeof a!=="string")throw new jn({parameter:"enumValues",value:a,message:"Enum values must be strings."})}}var dAe=Ja({prefix:"aiobj",size:24});async function E6(e){let{model:t,output:n="object",system:r,prompt:i,messages:a,allowSystemInMessages:s,maxRetries:l,abortSignal:c,headers:u,experimental_repairText:d,experimental_telemetry:p,experimental_download:f,providerOptions:m,_internal:{generateId:g=dAe,currentDate:h=()=>new Date}={},...b}=e,w=gh(t),_="enum"in e?e.enum:void 0,{schema:y,schemaDescription:S,schemaName:A}="schema"in e?e:{};uAe({output:n,schema:y,schemaName:A,schemaDescription:S,enumValues:_});let{maxRetries:v,retry:R}=Sh({maxRetries:l,abortSignal:c}),z=lAe({output:n,schema:y,enumValues:_}),F=Gp(b),x=Yn(u!=null?u:{},`ai/${bh}`),M=ew({model:w,telemetry:p,headers:x,settings:{...F,maxRetries:v}}),q=tw(p),E=await z.jsonSchema();try{return await Ka({name:"ai.generateObject",attributes:Un({telemetry:p,attributes:{...Ha({operationId:"ai.generateObject",telemetry:p}),...M,"ai.prompt":{input:()=>JSON.stringify({system:r,prompt:i,messages:a})},"ai.schema":E!=null?{input:()=>JSON.stringify(E)}:void 0,"ai.schema.name":A,"ai.schema.description":S,"ai.settings.output":z.type}}),tracer:q,fn:async(N)=>{var Q;let ae,J,oe,be,P,L,se,T,le=await F0({system:r,prompt:i,messages:a,allowSystemInMessages:s}),X=await B0({prompt:le,supportedUrls:await w.supportedUrls,download:f,abortSignal:c}),re=await R(()=>Ka({name:"ai.generateObject.doGenerate",attributes:Un({telemetry:p,attributes:{...Ha({operationId:"ai.generateObject.doGenerate",telemetry:p}),...M,"ai.prompt.messages":{input:()=>L0(X)},"gen_ai.system":w.provider,"gen_ai.request.model":w.modelId,"gen_ai.request.frequency_penalty":F.frequencyPenalty,"gen_ai.request.max_tokens":F.maxOutputTokens,"gen_ai.request.presence_penalty":F.presencePenalty,"gen_ai.request.temperature":F.temperature,"gen_ai.request.top_k":F.topK,"gen_ai.request.top_p":F.topP}}),tracer:q,fn:async(ze)=>{var Ne,We,ee,we,B,ne,xe,ce;let ve=await w.doGenerate({responseFormat:{type:"json",schema:E,name:A,description:S},...Gp(b),prompt:X,providerOptions:m,abortSignal:c,headers:x}),Z={id:(We=(Ne=ve.response)==null?void 0:Ne.id)!=null?We:g(),timestamp:(we=(ee=ve.response)==null?void 0:ee.timestamp)!=null?we:h(),modelId:(ne=(B=ve.response)==null?void 0:B.modelId)!=null?ne:w.modelId,headers:(xe=ve.response)==null?void 0:xe.headers,body:(ce=ve.response)==null?void 0:ce.body},D=E0(ve.content),Pe=C0(ve.content);if(D===void 0)throw new $r({message:"No object generated: the model did not return a response.",response:Z,usage:hh(ve.usage),finishReason:ve.finishReason.unified});return ze.setAttributes(await Un({telemetry:p,attributes:{"ai.response.finishReason":ve.finishReason.unified,"ai.response.object":{output:()=>D},"ai.response.id":Z.id,"ai.response.model":Z.modelId,"ai.response.timestamp":Z.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(ve.providerMetadata),"ai.usage.promptTokens":ve.usage.inputTokens.total,"ai.usage.completionTokens":ve.usage.outputTokens.total,"gen_ai.response.finish_reasons":[ve.finishReason.unified],"gen_ai.response.id":Z.id,"gen_ai.response.model":Z.modelId,"gen_ai.usage.input_tokens":ve.usage.inputTokens.total,"gen_ai.usage.output_tokens":ve.usage.outputTokens.total}})),{...ve,objectText:D,reasoning:Pe,responseData:Z}}}));ae=re.objectText,J=re.finishReason.unified,oe=hh(re.usage),be=re.warnings,se=re.providerMetadata,L=(Q=re.request)!=null?Q:{},P=re.responseData,T=re.reasoning,ku({warnings:be,provider:w.provider,model:w.modelId});let de=await cAe(ae,z,d,{response:P,usage:oe,finishReason:J});return N.setAttributes(await Un({telemetry:p,attributes:{"ai.response.finishReason":J,"ai.response.object":{output:()=>JSON.stringify(de)},"ai.response.providerMetadata":JSON.stringify(se),"ai.usage.promptTokens":oe.inputTokens,"ai.usage.completionTokens":oe.outputTokens}})),new pAe({object:de,reasoning:T,finishReason:J,usage:oe,warnings:be,request:L,response:P,providerMetadata:se})}})}catch(N){throw q0(N)}}var pAe=class{constructor(e){this.object=e.object,this.finishReason=e.finishReason,this.usage=e.usage,this.warnings=e.warnings,this.providerMetadata=e.providerMetadata,this.response=e.response,this.request=e.request,this.reasoning=e.reasoning}toJsonResponse(e){var t;return new Response(JSON.stringify(this.object),{status:(t=e==null?void 0:e.status)!=null?t:200,headers:_h(e==null?void 0:e.headers,{"content-type":"application/json; charset=utf-8"})})}};function k6(e){return({url:t,abortSignal:n})=>ZQ({url:t,maxBytes:e==null?void 0:e.maxBytes,abortSignal:n})}var v_t=Ja({prefix:"aiobj",size:24});var S_t=k6();var mAe="AI_NoSuchProviderError",fAe=`vercel.ai.error.${mAe}`,gAe=Symbol.for(fAe),hAe;hAe=gAe;var x_t=k6();class nw extends Error{constructor(e){super("AI object generation failed: invalid structured output",{cause:e});this.name="AIOutputValidationError"}}var yAe=[[/^claude/,"anthropic"],[/^gpt-/,"openai"],[/^o[13]-/,"openai"],[/^gemini/,"google"],[/^llama/,"ollama"],[/^mistral/,"ollama"],[/^phi-/,"ollama"],[/^qwen/,"ollama"]];function R6(e){let t=e.indexOf(":");if(t>0)return{provider:e.slice(0,t),modelId:e.slice(t+1)};return null}function Vp(e){let t=R6(e);if(t)return t;for(let[n,r]of yAe)if(n.test(e))return{provider:r,modelId:e};return{provider:"anthropic",modelId:e}}function V0(e){if(!e)return"anthropic";return Vp(e).provider}var bAe=[[/^gpt-image/,"openai"],[/^dall-e/,"openai"],[/^gemini/,"google"]],vAe="gpt-image-1.5";function H0(e){if(!e)return{provider:"openai",modelId:vAe};let t=R6(e);if(t)return t;for(let[n,r]of bAe)if(n.test(e))return{provider:r,modelId:e};return{provider:"openai",modelId:e}}var SAe=/^(gpt-(?:5|6)|o[1-9])(?:[.-]|$)/;function xAe(e){if(e.provider!=="openai")return!0;return!SAe.test(e.modelId)}function Ih(e){if(!e)return{provider:"anthropic",supportsTemperature:!0};let t=Vp(e);return{provider:t.provider,supportsTemperature:xAe(t)}}var wAe="3.0.129",TAe=G(()=>W(o.object({type:o.literal("error"),error:o.object({type:o.string(),message:o.string()})}))),A6=yn({errorSchema:TAe,errorToMessage:(e)=>e.error.message}),U6=o.object({type:o.string(),category:o.string().nullish(),explanation:o.string().nullish(),recommended_model:o.string().nullish()}),Z6=o.object({type:o.string(),status:o.object({type:o.string(),tool_uses:o.record(o.string(),o.object({type:o.string(),outcome:o.string().nullish(),explanation:o.string().nullish()})).nullish()})}),Us=o.union([o.object({type:o.literal("code_execution_20250825"),tool_id:o.string()}),o.object({type:o.literal("code_execution_20260120"),tool_id:o.string()}),o.object({type:o.literal("direct")})]),eO=o.object({type:o.string(),path:o.string(),reason:o.string()}),_Ae=G(()=>W(o.object({type:o.literal("message"),id:o.string().nullish(),model:o.string().nullish(),content:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("text"),text:o.string(),citations:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("web_search_result_location"),cited_text:o.string(),url:o.string(),title:o.string(),encrypted_index:o.string()}),o.object({type:o.literal("page_location"),cited_text:o.string(),document_index:o.number(),document_title:o.string().nullable(),start_page_number:o.number(),end_page_number:o.number()}),o.object({type:o.literal("char_location"),cited_text:o.string(),document_index:o.number(),document_title:o.string().nullable(),start_char_index:o.number(),end_char_index:o.number()})])).optional()}),o.object({type:o.literal("thinking"),thinking:o.string(),signature:o.string()}),o.object({type:o.literal("redacted_thinking"),data:o.string()}),o.object({type:o.literal("compaction"),content:o.string()}),o.object({type:o.literal("tool_use"),id:o.string(),name:o.string(),input:o.unknown(),caller:Us.optional(),toolset_name:o.string().nullish()}),o.object({type:o.literal("server_tool_use"),id:o.string(),name:o.string(),input:o.record(o.string(),o.unknown()).nullish(),caller:Us.optional()}),o.object({type:o.literal("mcp_tool_use"),id:o.string(),name:o.string(),input:o.unknown(),server_name:o.string()}),o.object({type:o.literal("mcp_tool_result"),tool_use_id:o.string(),is_error:o.boolean(),content:o.array(o.union([o.string(),o.object({type:o.literal("text"),text:o.string()})]))}),o.object({type:o.literal("web_fetch_tool_result"),tool_use_id:o.string(),caller:Us.optional(),content:o.union([o.object({type:o.literal("web_fetch_result"),url:o.string(),retrieved_at:o.string(),content:o.object({type:o.literal("document"),title:o.string().nullable(),citations:o.object({enabled:o.boolean()}).optional(),source:o.union([o.object({type:o.literal("base64"),media_type:o.literal("application/pdf"),data:o.string()}),o.object({type:o.literal("text"),media_type:o.literal("text/plain"),data:o.string()})])})}),o.object({type:o.literal("web_fetch_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("web_search_tool_result"),tool_use_id:o.string(),caller:Us.optional(),content:o.union([o.array(o.object({type:o.literal("web_search_result"),url:o.string(),title:o.string(),encrypted_content:o.string(),page_age:o.string().nullish()})),o.object({type:o.literal("web_search_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("code_execution_tool_result"),tool_use_id:o.string(),content:o.union([o.object({type:o.literal("code_execution_result"),stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("encrypted_code_execution_result"),encrypted_stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("code_execution_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("bash_code_execution_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("bash_code_execution_result"),content:o.array(o.object({type:o.literal("bash_code_execution_output"),file_id:o.string()})),stdout:o.string(),stderr:o.string(),return_code:o.number()}),o.object({type:o.literal("bash_code_execution_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("text_editor_code_execution_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("text_editor_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_view_result"),content:o.string(),file_type:o.string(),num_lines:o.number().nullable(),start_line:o.number().nullable(),total_lines:o.number().nullable()}),o.object({type:o.literal("text_editor_code_execution_create_result"),is_file_update:o.boolean()}),o.object({type:o.literal("text_editor_code_execution_str_replace_result"),lines:o.array(o.string()).nullable(),new_lines:o.number().nullable(),new_start:o.number().nullable(),old_lines:o.number().nullable(),old_start:o.number().nullable()})])}),o.object({type:o.literal("tool_search_tool_result"),tool_use_id:o.string(),content:o.union([o.object({type:o.literal("tool_search_tool_search_result"),tool_references:o.array(o.object({type:o.literal("tool_reference"),tool_name:o.string()}))}),o.object({type:o.literal("tool_search_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("advisor_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("advisor_result"),text:o.string()}),o.object({type:o.literal("advisor_redacted_result"),encrypted_content:o.string()}),o.object({type:o.literal("advisor_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("fallback")})])),stop_reason:o.string().nullish(),stop_sequence:o.string().nullish(),stop_details:U6.nullish(),input_transformations:o.array(eO).nullish(),safeguard_results:o.array(Z6).nullish(),usage:o.looseObject({input_tokens:o.number(),output_tokens:o.number(),output_tokens_details:o.object({thinking_tokens:o.number().nullish()}).nullish(),cache_creation_input_tokens:o.number().nullish(),cache_read_input_tokens:o.number().nullish(),iterations:o.array(o.object({type:o.union([o.literal("compaction"),o.literal("message"),o.literal("advisor_message"),o.literal("fallback_message")]),model:o.string().nullish(),input_tokens:o.number(),output_tokens:o.number(),cache_creation_input_tokens:o.number().nullish(),cache_read_input_tokens:o.number().nullish()})).nullish()}),container:o.object({expires_at:o.string(),id:o.string(),skills:o.array(o.object({type:o.union([o.literal("anthropic"),o.literal("custom")]),skill_id:o.string(),version:o.string()})).nullish()}).nullish(),context_management:o.object({applied_edits:o.array(o.union([o.object({type:o.literal("clear_tool_uses_20250919"),cleared_tool_uses:o.number(),cleared_input_tokens:o.number()}),o.object({type:o.literal("clear_thinking_20251015"),cleared_thinking_turns:o.number(),cleared_input_tokens:o.number()}),o.object({type:o.literal("compact_20260112")})]))}).nullish()}))),IAe=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("message_start"),message:o.object({id:o.string().nullish(),model:o.string().nullish(),role:o.string().nullish(),usage:o.looseObject({input_tokens:o.number(),cache_creation_input_tokens:o.number().nullish(),cache_read_input_tokens:o.number().nullish()}),content:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("tool_use"),id:o.string(),name:o.string(),input:o.unknown(),caller:Us.optional(),toolset_name:o.string().nullish()})])).nullish(),stop_reason:o.string().nullish(),input_transformations:o.array(eO).nullish(),container:o.object({expires_at:o.string(),id:o.string()}).nullish()})}),o.object({type:o.literal("content_block_start"),index:o.number(),content_block:o.discriminatedUnion("type",[o.object({type:o.literal("text"),text:o.string()}),o.object({type:o.literal("thinking"),thinking:o.string()}),o.object({type:o.literal("tool_use"),id:o.string(),name:o.string(),input:o.record(o.string(),o.unknown()).optional(),caller:Us.optional(),toolset_name:o.string().nullish()}),o.object({type:o.literal("redacted_thinking"),data:o.string()}),o.object({type:o.literal("compaction"),content:o.string().nullish()}),o.object({type:o.literal("server_tool_use"),id:o.string(),name:o.string(),input:o.record(o.string(),o.unknown()).nullish(),caller:Us.optional()}),o.object({type:o.literal("mcp_tool_use"),id:o.string(),name:o.string(),input:o.unknown(),server_name:o.string()}),o.object({type:o.literal("mcp_tool_result"),tool_use_id:o.string(),is_error:o.boolean(),content:o.array(o.union([o.string(),o.object({type:o.literal("text"),text:o.string()})]))}),o.object({type:o.literal("web_fetch_tool_result"),tool_use_id:o.string(),caller:Us.optional(),content:o.union([o.object({type:o.literal("web_fetch_result"),url:o.string(),retrieved_at:o.string(),content:o.object({type:o.literal("document"),title:o.string().nullable(),citations:o.object({enabled:o.boolean()}).optional(),source:o.union([o.object({type:o.literal("base64"),media_type:o.literal("application/pdf"),data:o.string()}),o.object({type:o.literal("text"),media_type:o.literal("text/plain"),data:o.string()})])})}),o.object({type:o.literal("web_fetch_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("web_search_tool_result"),tool_use_id:o.string(),caller:Us.optional(),content:o.union([o.array(o.object({type:o.literal("web_search_result"),url:o.string(),title:o.string(),encrypted_content:o.string(),page_age:o.string().nullish()})),o.object({type:o.literal("web_search_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("code_execution_tool_result"),tool_use_id:o.string(),content:o.union([o.object({type:o.literal("code_execution_result"),stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("encrypted_code_execution_result"),encrypted_stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("code_execution_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("bash_code_execution_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("bash_code_execution_result"),content:o.array(o.object({type:o.literal("bash_code_execution_output"),file_id:o.string()})),stdout:o.string(),stderr:o.string(),return_code:o.number()}),o.object({type:o.literal("bash_code_execution_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("text_editor_code_execution_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("text_editor_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_view_result"),content:o.string(),file_type:o.string(),num_lines:o.number().nullable(),start_line:o.number().nullable(),total_lines:o.number().nullable()}),o.object({type:o.literal("text_editor_code_execution_create_result"),is_file_update:o.boolean()}),o.object({type:o.literal("text_editor_code_execution_str_replace_result"),lines:o.array(o.string()).nullable(),new_lines:o.number().nullable(),new_start:o.number().nullable(),old_lines:o.number().nullable(),old_start:o.number().nullable()})])}),o.object({type:o.literal("tool_search_tool_result"),tool_use_id:o.string(),content:o.union([o.object({type:o.literal("tool_search_tool_search_result"),tool_references:o.array(o.object({type:o.literal("tool_reference"),tool_name:o.string()}))}),o.object({type:o.literal("tool_search_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("advisor_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("advisor_result"),text:o.string()}),o.object({type:o.literal("advisor_redacted_result"),encrypted_content:o.string()}),o.object({type:o.literal("advisor_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("fallback")})])}),o.object({type:o.literal("content_block_delta"),index:o.number(),delta:o.discriminatedUnion("type",[o.object({type:o.literal("input_json_delta"),partial_json:o.string()}),o.object({type:o.literal("text_delta"),text:o.string()}),o.object({type:o.literal("thinking_delta"),thinking:o.string()}),o.object({type:o.literal("signature_delta"),signature:o.string()}),o.object({type:o.literal("compaction_delta"),content:o.string().nullish()}),o.object({type:o.literal("citations_delta"),citation:o.discriminatedUnion("type",[o.object({type:o.literal("web_search_result_location"),cited_text:o.string(),url:o.string(),title:o.string(),encrypted_index:o.string()}),o.object({type:o.literal("page_location"),cited_text:o.string(),document_index:o.number(),document_title:o.string().nullable(),start_page_number:o.number(),end_page_number:o.number()}),o.object({type:o.literal("char_location"),cited_text:o.string(),document_index:o.number(),document_title:o.string().nullable(),start_char_index:o.number(),end_char_index:o.number()})])})])}),o.object({type:o.literal("content_block_stop"),index:o.number()}),o.object({type:o.literal("error"),error:o.object({type:o.string(),message:o.string()})}),o.object({type:o.literal("message_delta"),delta:o.object({stop_reason:o.string().nullish(),stop_sequence:o.string().nullish(),stop_details:U6.nullish(),safeguard_results:o.array(Z6).nullish(),container:o.object({expires_at:o.string(),id:o.string(),skills:o.array(o.object({type:o.union([o.literal("anthropic"),o.literal("custom")]),skill_id:o.string(),version:o.string()})).nullish()}).nullish()}),usage:o.looseObject({input_tokens:o.number().nullish(),output_tokens:o.number(),output_tokens_details:o.object({thinking_tokens:o.number().nullish()}).nullish(),cache_creation_input_tokens:o.number().nullish(),cache_read_input_tokens:o.number().nullish(),iterations:o.array(o.object({type:o.union([o.literal("compaction"),o.literal("message"),o.literal("advisor_message"),o.literal("fallback_message")]),model:o.string().nullish(),input_tokens:o.number(),output_tokens:o.number(),cache_creation_input_tokens:o.number().nullish(),cache_read_input_tokens:o.number().nullish()})).nullish()}),input_transformations:o.array(eO).nullish(),context_management:o.object({applied_edits:o.array(o.union([o.object({type:o.literal("clear_tool_uses_20250919"),cleared_tool_uses:o.number(),cleared_input_tokens:o.number()}),o.object({type:o.literal("clear_thinking_20251015"),cleared_thinking_turns:o.number(),cleared_input_tokens:o.number()}),o.object({type:o.literal("compact_20260112")})]))}).nullish()}),o.object({type:o.literal("message_stop")}),o.object({type:o.literal("ping")})]))),CAe=G(()=>W(o.object({signature:o.string().optional(),redactedData:o.string().optional()}))),P6=o.object({citations:o.object({enabled:o.boolean()}).optional(),title:o.string().optional(),context:o.string().optional()}),EAe=o.object({clearAt:o.literal("next_user_message").optional(),effort:o.enum(["low","medium","high","xhigh","max"]).optional(),toolChanges:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("tool_addition"),toolName:o.string()}),o.object({type:o.literal("tool_removal"),toolName:o.string()})])).optional()}),O6=o.object({prefixMismatchBehavior:o.enum(["error","drop_block"])}),M6=o.object({sendReasoning:o.boolean().optional(),structuredOutputMode:o.enum(["outputFormat","jsonTool","auto"]).optional(),thinking:o.union([o.discriminatedUnion("type",[o.object({type:o.literal("adaptive"),display:o.enum(["omitted","summarized","updates"]).optional(),blockBinding:O6.optional()}),o.object({type:o.literal("enabled"),budgetTokens:o.number().optional()}),o.object({type:o.literal("disabled")}),o.object({type:o.literal("between_tools")})]),o.object({blockBinding:O6})]).optional(),disableParallelToolUse:o.boolean().optional(),cacheControl:o.object({type:o.literal("ephemeral"),ttl:o.union([o.literal("5m"),o.literal("1h")]).optional()}).optional(),metadata:o.object({userId:o.string().optional()}).optional(),mcpServers:o.array(o.object({type:o.literal("url"),name:o.string(),url:o.string(),authorizationToken:o.string().nullish(),toolConfiguration:o.object({enabled:o.boolean().nullish(),allowedTools:o.array(o.string()).nullish()}).nullish()})).optional(),container:o.object({id:o.string().optional(),skills:o.array(o.object({type:o.union([o.literal("anthropic"),o.literal("custom")]),skillId:o.string(),version:o.string().optional()})).optional()}).optional(),toolStreaming:o.boolean().optional(),effort:o.enum(["low","medium","high","xhigh","max"]).optional(),taskBudget:o.object({type:o.literal("tokens"),total:o.number().int().min(20000),remaining:o.number().int().min(0).optional()}).optional(),speed:o.enum(["fast","standard"]).optional(),inferenceGeo:o.enum(["us","global"]).optional(),fallbacks:o.union([o.literal("default"),o.array(o.object({model:o.string(),max_tokens:o.number().int().optional(),thinking:o.record(o.string(),o.unknown()).optional(),output_config:o.record(o.string(),o.unknown()).optional(),speed:o.enum(["fast","standard"]).optional()}))]).optional(),anthropicBeta:o.array(o.string()).optional(),safeguards:o.array(o.object({type:o.literal("dangerous_tool_use"),classifierContext:o.record(o.string(),o.unknown()).optional()})).optional(),contextManagement:o.object({edits:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("clear_tool_uses_20250919"),trigger:o.discriminatedUnion("type",[o.object({type:o.literal("input_tokens"),value:o.number()}),o.object({type:o.literal("tool_uses"),value:o.number()})]).optional(),keep:o.object({type:o.literal("tool_uses"),value:o.number()}).optional(),clearAtLeast:o.object({type:o.literal("input_tokens"),value:o.number()}).optional(),clearToolInputs:o.boolean().optional(),excludeTools:o.array(o.string()).optional()}),o.object({type:o.literal("clear_thinking_20251015"),keep:o.union([o.literal("all"),o.object({type:o.literal("thinking_turns"),value:o.number()})]).optional()}),o.object({type:o.literal("compact_20260112"),trigger:o.object({type:o.literal("input_tokens"),value:o.number()}).optional(),pauseAfterCompaction:o.boolean().optional(),instructions:o.string().optional()})]))}).optional()}),j6=4;function kAe(e){var t;let n=e==null?void 0:e.anthropic;return(t=n==null?void 0:n.cacheControl)!=null?t:n==null?void 0:n.cache_control}var tO=class{constructor(){this.breakpointCount=0,this.warnings=[]}getCacheControl(e,t){let n=kAe(e);if(!n)return;if(!t.canCache){this.warnings.push({type:"unsupported",feature:"cache_control on non-cacheable context",details:`cache_control cannot be set on ${t.type}. It will be ignored.`});return}if(this.breakpointCount++,this.breakpointCount>j6){this.warnings.push({type:"unsupported",feature:"cacheControl breakpoint limit",details:`Maximum ${j6} cache breakpoints exceeded (found ${this.breakpointCount}). This breakpoint will be ignored.`});return}return n}getWarnings(){return this.warnings}},RAe=G(()=>W(o.object({model:o.string(),maxUses:o.number().optional(),caching:o.object({type:o.literal("ephemeral"),ttl:o.union([o.literal("5m"),o.literal("1h")])}).optional()}))),W6=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("advisor_result"),text:o.string()}),o.object({type:o.literal("advisor_redacted_result"),encryptedContent:o.string()}),o.object({type:o.literal("advisor_tool_result_error"),errorCode:o.string()})]))),AAe=G(()=>W(o.object({}).strict())),PAe=ut({id:"anthropic.advisor_20260301",inputSchema:AAe,outputSchema:W6,supportsDeferredResults:!0}),OAe=(e)=>PAe(e),G6=["screenshot","zoom","left_click","right_click","middle_click","double_click","triple_click","left_click_drag","mouse_move","left_mouse_down","left_mouse_up","cursor_position","scroll","type","key","hold_key","wait"],MAe=G(()=>W(o.object({action:o.enum(G6),coordinate:o.tuple([o.number().int(),o.number().int()]).optional(),duration:o.number().optional(),region:o.tuple([o.number().int(),o.number().int(),o.number().int(),o.number().int()]).optional(),repeat:o.number().int().optional(),scroll_amount:o.number().optional(),scroll_direction:o.enum(["up","down","left","right"]).optional(),start_coordinate:o.tuple([o.number().int(),o.number().int()]).optional(),text:o.string().optional()}))),jAe=G(()=>W(o.object({configs:o.partialRecord(o.enum(G6),o.object({enabled:o.boolean().optional(),deferLoading:o.boolean().optional()})).optional()}))),DAe=Wt({id:"anthropic.computer_toolset_20260801",inputSchema:MAe}),NAe=G(()=>W(o.object({maxCharacters:o.number().optional()}))),zAe=G(()=>W(o.object({command:o.enum(["view","create","str_replace","insert"]),path:o.string(),file_text:o.string().optional(),insert_line:o.number().int().optional(),new_str:o.string().optional(),insert_text:o.string().optional(),old_str:o.string().optional(),view_range:o.array(o.number().int()).optional()}))),BAe=Wt({id:"anthropic.text_editor_20250728",inputSchema:zAe}),FAe=(e={})=>BAe(e),qAe=G(()=>W(o.object({maxUses:o.number().optional(),allowedDomains:o.array(o.string()).optional(),blockedDomains:o.array(o.string()).optional(),userLocation:o.object({type:o.literal("approximate"),city:o.string().optional(),region:o.string().optional(),country:o.string().optional(),timezone:o.string().optional()}).optional()}))),LAe=G(()=>W(o.array(o.object({url:o.string(),title:o.string().nullable(),pageAge:o.string().nullable(),encryptedContent:o.string(),type:o.literal("web_search_result")})))),$Ae=G(()=>W(o.object({query:o.string()}))),UAe=ut({id:"anthropic.web_search_20260209",inputSchema:$Ae,outputSchema:LAe,supportsDeferredResults:!0}),ZAe=(e={})=>UAe(e),WAe=G(()=>W(o.object({maxUses:o.number().optional(),allowedDomains:o.array(o.string()).optional(),blockedDomains:o.array(o.string()).optional(),userLocation:o.object({type:o.literal("approximate"),city:o.string().optional(),region:o.string().optional(),country:o.string().optional(),timezone:o.string().optional()}).optional()}))),J6=G(()=>W(o.array(o.object({url:o.string(),title:o.string().nullable(),pageAge:o.string().nullable(),encryptedContent:o.string(),type:o.literal("web_search_result")})))),GAe=G(()=>W(o.object({query:o.string()}))),JAe=ut({id:"anthropic.web_search_20250305",inputSchema:GAe,outputSchema:J6,supportsDeferredResults:!0}),VAe=(e={})=>JAe(e),HAe=G(()=>W(o.object({maxUses:o.number().optional(),allowedDomains:o.array(o.string()).optional(),blockedDomains:o.array(o.string()).optional(),citations:o.object({enabled:o.boolean()}).optional(),maxContentTokens:o.number().optional()}))),KAe=G(()=>W(o.object({type:o.literal("web_fetch_result"),url:o.string(),content:o.object({type:o.literal("document"),title:o.string().nullable(),citations:o.object({enabled:o.boolean()}).optional(),source:o.union([o.object({type:o.literal("base64"),mediaType:o.literal("application/pdf"),data:o.string()}),o.object({type:o.literal("text"),mediaType:o.literal("text/plain"),data:o.string()})])}),retrievedAt:o.string().nullable()}))),QAe=G(()=>W(o.object({url:o.string()}))),YAe=ut({id:"anthropic.web_fetch_20260209",inputSchema:QAe,outputSchema:KAe,supportsDeferredResults:!0}),XAe=(e={})=>YAe(e),ePe=G(()=>W(o.object({maxUses:o.number().optional(),allowedDomains:o.array(o.string()).optional(),blockedDomains:o.array(o.string()).optional(),citations:o.object({enabled:o.boolean()}).optional(),maxContentTokens:o.number().optional()}))),V6=G(()=>W(o.object({type:o.literal("web_fetch_result"),url:o.string(),content:o.object({type:o.literal("document"),title:o.string().nullable(),citations:o.object({enabled:o.boolean()}).optional(),source:o.union([o.object({type:o.literal("base64"),mediaType:o.literal("application/pdf"),data:o.string()}),o.object({type:o.literal("text"),mediaType:o.literal("text/plain"),data:o.string()})])}),retrievedAt:o.string().nullable()}))),tPe=G(()=>W(o.object({url:o.string()}))),nPe=ut({id:"anthropic.web_fetch_20250910",inputSchema:tPe,outputSchema:V6,supportsDeferredResults:!0}),rPe=(e={})=>nPe(e);async function oPe({tools:e,toolChoice:t,disableParallelToolUse:n,cacheControlValidator:r,supportsStructuredOutput:i,supportsStrictTools:a,defaultEagerInputStreaming:s=!1,rejectsForcedToolUse:l=!1}){var c,u;e=(e==null?void 0:e.length)?e:void 0;let d=[],p=new Set,f=r||new tO;if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:d,betas:p};let m=[];for(let h of e)switch(h.type){case"function":{let b=f.getCacheControl(h.providerOptions,{type:"tool definition",canCache:!0}),w=(c=h.providerOptions)==null?void 0:c.anthropic,_=(u=w==null?void 0:w.eagerInputStreaming)!=null?u:s,y=w==null?void 0:w.deferLoading,S=w==null?void 0:w.allowedCallers;if(!a&&h.strict!=null)d.push({type:"unsupported",feature:"strict",details:`Tool '${h.name}' has strict: ${h.strict}, but strict mode is not supported by this provider. The strict property will be ignored.`});if(m.push({name:h.name,description:h.description,input_schema:h.inputSchema,cache_control:b,..._?{eager_input_streaming:!0}:{},...a===!0&&h.strict!=null?{strict:h.strict}:{},...y!=null?{defer_loading:y}:{},...S!=null?{allowed_callers:S}:{},...h.inputExamples!=null?{input_examples:h.inputExamples.map((A)=>A.input)}:{}}),i===!0)p.add("structured-outputs-2025-11-13");if(h.inputExamples!=null||S!=null)p.add("advanced-tool-use-2025-11-20");break}case"provider":{switch(h.id){case"anthropic.code_execution_20250522":{p.add("code-execution-2025-05-22"),m.push({type:"code_execution_20250522",name:"code_execution",cache_control:void 0});break}case"anthropic.code_execution_20250825":{p.add("code-execution-2025-08-25"),m.push({type:"code_execution_20250825",name:"code_execution"});break}case"anthropic.code_execution_20260120":{m.push({type:"code_execution_20260120",name:"code_execution"});break}case"anthropic.computer_20250124":{p.add("computer-use-2025-01-24"),m.push({name:"computer",type:"computer_20250124",display_width_px:h.args.displayWidthPx,display_height_px:h.args.displayHeightPx,display_number:h.args.displayNumber,cache_control:void 0});break}case"anthropic.computer_20251124":{p.add("computer-use-2025-11-24"),m.push({name:"computer",type:"computer_20251124",display_width_px:h.args.displayWidthPx,display_height_px:h.args.displayHeightPx,display_number:h.args.displayNumber,enable_zoom:h.args.enableZoom,cache_control:void 0});break}case"anthropic.computer_toolset_20260801":{let b=await kt({value:h.args,schema:jAe}),w=b.configs!=null?Object.fromEntries(Object.entries(b.configs).map(([_,y])=>[_,{...(y==null?void 0:y.enabled)!=null&&{enabled:y.enabled},...(y==null?void 0:y.deferLoading)!=null&&{defer_loading:y.deferLoading}}])):void 0;m.push({type:"computer_toolset_20260801",...w!=null&&{configs:w},cache_control:void 0});break}case"anthropic.computer_20241022":{p.add("computer-use-2024-10-22"),m.push({name:"computer",type:"computer_20241022",display_width_px:h.args.displayWidthPx,display_height_px:h.args.displayHeightPx,display_number:h.args.displayNumber,cache_control:void 0});break}case"anthropic.text_editor_20250124":{p.add("computer-use-2025-01-24"),m.push({name:"str_replace_editor",type:"text_editor_20250124",cache_control:void 0});break}case"anthropic.text_editor_20241022":{p.add("computer-use-2024-10-22"),m.push({name:"str_replace_editor",type:"text_editor_20241022",cache_control:void 0});break}case"anthropic.text_editor_20250429":{p.add("computer-use-2025-01-24"),m.push({name:"str_replace_based_edit_tool",type:"text_editor_20250429",cache_control:void 0});break}case"anthropic.text_editor_20250728":{let b=await kt({value:h.args,schema:NAe});m.push({name:"str_replace_based_edit_tool",type:"text_editor_20250728",max_characters:b.maxCharacters,cache_control:void 0});break}case"anthropic.bash_20250124":{p.add("computer-use-2025-01-24"),m.push({name:"bash",type:"bash_20250124",cache_control:void 0});break}case"anthropic.bash_20241022":{p.add("computer-use-2024-10-22"),m.push({name:"bash",type:"bash_20241022",cache_control:void 0});break}case"anthropic.memory_20250818":{p.add("context-management-2025-06-27"),m.push({name:"memory",type:"memory_20250818"});break}case"anthropic.web_fetch_20250910":{p.add("web-fetch-2025-09-10");let b=await kt({value:h.args,schema:ePe});m.push({type:"web_fetch_20250910",name:"web_fetch",max_uses:b.maxUses,allowed_domains:b.allowedDomains,blocked_domains:b.blockedDomains,citations:b.citations,max_content_tokens:b.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260209":{p.add("code-execution-web-tools-2026-02-09");let b=await kt({value:h.args,schema:HAe});m.push({type:"web_fetch_20260209",name:"web_fetch",max_uses:b.maxUses,allowed_domains:b.allowedDomains,blocked_domains:b.blockedDomains,citations:b.citations,max_content_tokens:b.maxContentTokens,cache_control:void 0});break}case"anthropic.web_search_20250305":{let b=await kt({value:h.args,schema:WAe});m.push({type:"web_search_20250305",name:"web_search",max_uses:b.maxUses,allowed_domains:b.allowedDomains,blocked_domains:b.blockedDomains,user_location:b.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260209":{p.add("code-execution-web-tools-2026-02-09");let b=await kt({value:h.args,schema:qAe});m.push({type:"web_search_20260209",name:"web_search",max_uses:b.maxUses,allowed_domains:b.allowedDomains,blocked_domains:b.blockedDomains,user_location:b.userLocation,cache_control:void 0});break}case"anthropic.tool_search_regex_20251119":{m.push({type:"tool_search_tool_regex_20251119",name:"tool_search_tool_regex"});break}case"anthropic.tool_search_bm25_20251119":{m.push({type:"tool_search_tool_bm25_20251119",name:"tool_search_tool_bm25"});break}case"anthropic.advisor_20260301":{p.add("advisor-tool-2026-03-01");let b=await kt({value:h.args,schema:RAe});m.push({type:"advisor_20260301",name:"advisor",model:b.model,...b.maxUses!==void 0&&{max_uses:b.maxUses},...b.caching!==void 0&&{caching:b.caching}});break}default:{d.push({type:"unsupported",feature:`provider-defined tool ${h.id}`});break}}break}default:{d.push({type:"unsupported",feature:`tool ${h}`});break}}if(t==null)return{tools:m,toolChoice:n?{type:"auto",disable_parallel_tool_use:n}:void 0,toolWarnings:d,betas:p};let g=t.type;switch(g){case"auto":return{tools:m,toolChoice:{type:"auto",disable_parallel_tool_use:n},toolWarnings:d,betas:p};case"required":if(l)return d.push({type:"unsupported",feature:"toolChoice",details:"toolChoice 'required' is not supported by this model because it rejects forced tool use. Using 'auto' instead. Instruct the model to use a tool in the prompt and verify that a tool call was made."}),{tools:m,toolChoice:{type:"auto",disable_parallel_tool_use:n},toolWarnings:d,betas:p};return{tools:m,toolChoice:{type:"any",disable_parallel_tool_use:n},toolWarnings:d,betas:p};case"none":return{tools:m,toolChoice:{type:"none"},toolWarnings:d,betas:p};case"tool":if(l)return d.push({type:"unsupported",feature:"toolChoice",details:`toolChoice 'tool' is not supported by this model because it rejects forced tool use. Only the '${t.toolName}' tool is sent with 'auto' tool choice. Instruct the model to use the tool in the prompt and verify that a tool call was made.`}),{tools:m.filter((h)=>("name"in h)&&h.name===t.toolName),toolChoice:{type:"auto",disable_parallel_tool_use:n},toolWarnings:d,betas:p};return{tools:m,toolChoice:{type:"tool",name:t.toolName,disable_parallel_tool_use:n},toolWarnings:d,betas:p};default:throw new Nt({functionality:`tool choice type: ${g}`})}}function D6({usage:e,rawUsage:t}){var n,r,i,a,s;let l=(n=e.cache_creation_input_tokens)!=null?n:0,c=(r=e.cache_read_input_tokens)!=null?r:0,u=(a=(i=e.output_tokens_details)==null?void 0:i.thinking_tokens)!=null?a:void 0,d,p,f=(s=e.iterations)==null?void 0:s.some((m)=>m.type==="fallback_message");if(e.iterations&&e.iterations.length>0&&!f){let m=e.iterations.filter((g)=>g.type==="compaction"||g.type==="message");if(m.length>0){let g=m.reduce((h,b)=>({input:h.input+b.input_tokens,output:h.output+b.output_tokens}),{input:0,output:0});d=g.input,p=g.output}else d=e.input_tokens,p=e.output_tokens}else d=e.input_tokens,p=e.output_tokens;return{inputTokens:{total:d+l+c,noCache:d,cacheRead:c,cacheWrite:l},outputTokens:{total:p,text:u==null?void 0:p-u,reasoning:u},raw:t!=null?t:e}}var H6=G(()=>W(o.object({type:o.literal("code_execution_result"),stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}))),iPe=G(()=>W(o.object({code:o.string()}))),aPe=ut({id:"anthropic.code_execution_20250522",inputSchema:iPe,outputSchema:H6}),sPe=(e={})=>aPe(e),K6=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("code_execution_result"),stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("bash_code_execution_result"),content:o.array(o.object({type:o.literal("bash_code_execution_output"),file_id:o.string()})),stdout:o.string(),stderr:o.string(),return_code:o.number()}),o.object({type:o.literal("bash_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_view_result"),content:o.string(),file_type:o.string(),num_lines:o.number().nullable(),start_line:o.number().nullable(),total_lines:o.number().nullable()}),o.object({type:o.literal("text_editor_code_execution_create_result"),is_file_update:o.boolean()}),o.object({type:o.literal("text_editor_code_execution_str_replace_result"),lines:o.array(o.string()).nullable(),new_lines:o.number().nullable(),new_start:o.number().nullable(),old_lines:o.number().nullable(),old_start:o.number().nullable()})]))),lPe=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("programmatic-tool-call"),code:o.string()}),o.object({type:o.literal("bash_code_execution"),command:o.string()}),o.discriminatedUnion("command",[o.object({type:o.literal("text_editor_code_execution"),command:o.literal("view"),path:o.string()}),o.object({type:o.literal("text_editor_code_execution"),command:o.literal("create"),path:o.string(),file_text:o.string().nullish()}),o.object({type:o.literal("text_editor_code_execution"),command:o.literal("str_replace"),path:o.string(),old_str:o.string(),new_str:o.string()})])]))),cPe=ut({id:"anthropic.code_execution_20250825",inputSchema:lPe,outputSchema:K6,supportsDeferredResults:!0}),uPe=(e={})=>cPe(e),Q6=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("code_execution_result"),stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("encrypted_code_execution_result"),encrypted_stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("bash_code_execution_result"),content:o.array(o.object({type:o.literal("bash_code_execution_output"),file_id:o.string()})),stdout:o.string(),stderr:o.string(),return_code:o.number()}),o.object({type:o.literal("bash_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_view_result"),content:o.string(),file_type:o.string(),num_lines:o.number().nullable(),start_line:o.number().nullable(),total_lines:o.number().nullable()}),o.object({type:o.literal("text_editor_code_execution_create_result"),is_file_update:o.boolean()}),o.object({type:o.literal("text_editor_code_execution_str_replace_result"),lines:o.array(o.string()).nullable(),new_lines:o.number().nullable(),new_start:o.number().nullable(),old_lines:o.number().nullable(),old_start:o.number().nullable()})]))),dPe=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("programmatic-tool-call"),code:o.string()}),o.object({type:o.literal("bash_code_execution"),command:o.string()}),o.discriminatedUnion("command",[o.object({type:o.literal("text_editor_code_execution"),command:o.literal("view"),path:o.string()}),o.object({type:o.literal("text_editor_code_execution"),command:o.literal("create"),path:o.string(),file_text:o.string().nullish()}),o.object({type:o.literal("text_editor_code_execution"),command:o.literal("str_replace"),path:o.string(),old_str:o.string(),new_str:o.string()})])]))),pPe=ut({id:"anthropic.code_execution_20260120",inputSchema:dPe,outputSchema:Q6,supportsDeferredResults:!0}),mPe=(e={})=>pPe(e),Y6=G(()=>W(o.array(o.object({type:o.literal("tool_reference"),toolName:o.string()})))),fPe=G(()=>W(o.object({pattern:o.string(),limit:o.number().optional()}))),gPe=ut({id:"anthropic.tool_search_regex_20251119",inputSchema:fPe,outputSchema:Y6,supportsDeferredResults:!0}),hPe=(e={})=>gPe(e);function yPe(e){if(typeof e==="string")return new TextDecoder().decode(Lr(e));if(e instanceof Uint8Array)return new TextDecoder().decode(e);if(e instanceof URL)throw new Nt({functionality:"URL-based text documents are not supported for citations"});throw new Nt({functionality:`unsupported data type for text documents: ${typeof e}`})}function K0(e){return e instanceof URL||bPe(e)}function bPe(e){return typeof e==="string"&&/^https?:\/\//i.test(e)}function Q0(e){return e instanceof URL?e.toString():e}async function Y0(e){if(typeof e==="string"){let t=await mr({text:e});if(t.success&&typeof t.value==="object"&&t.value!==null)return t.value;return{errorCode:"unavailable"}}if(typeof e==="object"&&e!==null)return e;return{}}async function vPe({prompt:e,sendReasoning:t,warnings:n,cacheControlValidator:r,toolNameMapping:i,toolsetNames:a={}}){var s,l,c,u,d,p,f,m,g,h,b,w,_,y,S,A,v,R,z,F,x,M;let q=new Set,E=SPe(e),N=r||new tO,Q=void 0,ae=[],J=-1;async function oe(se){var T,le;let X=await Pt({provider:"anthropic",providerOptions:se,schema:P6});return(le=(T=X==null?void 0:X.citations)==null?void 0:T.enabled)!=null?le:!1}async function be(se){let T=await Pt({provider:"anthropic",providerOptions:se,schema:P6});return{title:T==null?void 0:T.title,context:T==null?void 0:T.context}}for(let se=0;se<E.length;se++){let T=E[se],le=se===E.length-1,X=T.type;switch(X){case"system":{let re=[],de=0,ze=!1;for(let{content:Ne,providerOptions:We}of T.messages){let ee=await Pt({provider:"anthropic",providerOptions:We,schema:EAe}),we=(s=ee==null?void 0:ee.toolChanges)!=null?s:[],B=ee==null?void 0:ee.clearAt,ne=ee==null?void 0:ee.effort,xe=[];if(Ne!==""||we.length===0&&B==null&&ne==null)xe.push({type:"text",text:Ne,cache_control:N.getCacheControl(We,{type:"system message",canCache:!0})});for(let ce of we)de++,xe.push({type:ce.type,tool:{type:"tool_reference",name:i.toProviderToolName(ce.toolName)}});ze||(ze=B!=null||ne!=null),re.push({role:"system",content:xe,...B!=null&&{clear_at:B},...ne!=null&&{output_config:{effort:ne}}})}if(se===0||Q==null&&de===0&&!ze){if(de>0)n.push({type:"other",message:"tool changes on the initial system message are not supported by Anthropic. Configure the initial tool set via the tools option instead. The tool changes have been ignored."});for(let Ne of re)if(Ne.content.length===0&&Ne.clear_at==null&&Ne.output_config!=null)ae.push(Ne),q.add("mid-conversation-output-config-2026-07-01");else if(Ne.clear_at!=null||Ne.output_config!=null)n.push({type:"other",message:"clearAt and effort on this initial system message are not supported by Anthropic. Use a separate effort-only system message with empty content to set effort. These options have been ignored."});Q=re.flatMap((Ne)=>Ne.content.filter((We)=>We.type==="text"))}else{if(ae.push(...re),q.add("mid-conversation-system-2026-04-07"),de>0)q.add("mid-conversation-tool-changes-2026-07-01");if(re.some((Ne)=>Ne.clear_at!=null))q.add("mid-conversation-system-clear-at-2026-08-21");if(re.some((Ne)=>Ne.output_config!=null))q.add("mid-conversation-output-config-2026-07-01")}break}case"user":{let re=[];for(let de of T.messages){let{role:ze,content:Ne}=de;switch(ze){case"user":{if(Ne.length>0)J=ae.length;for(let We=0;We<Ne.length;We++){let ee=Ne[We],we=We===Ne.length-1,B=(l=N.getCacheControl(ee.providerOptions,{type:"user message part",canCache:!0}))!=null?l:we?N.getCacheControl(de.providerOptions,{type:"user message",canCache:!0}):void 0;switch(ee.type){case"text":{re.push({type:"text",text:ee.text,cache_control:B});break}case"file":{if(ee.mediaType.startsWith("image/"))re.push({type:"image",source:K0(ee.data)?{type:"url",url:Q0(ee.data)}:{type:"base64",media_type:ee.mediaType==="image/*"?"image/jpeg":ee.mediaType,data:or(ee.data)},cache_control:B});else if(ee.mediaType==="application/pdf"){q.add("pdfs-2024-09-25");let ne=await oe(ee.providerOptions),xe=await be(ee.providerOptions);re.push({type:"document",source:K0(ee.data)?{type:"url",url:Q0(ee.data)}:{type:"base64",media_type:"application/pdf",data:or(ee.data)},title:(c=xe.title)!=null?c:ee.filename,...xe.context&&{context:xe.context},...ne&&{citations:{enabled:!0}},cache_control:B})}else if(ee.mediaType==="text/plain"){let ne=await oe(ee.providerOptions),xe=await be(ee.providerOptions);re.push({type:"document",source:K0(ee.data)?{type:"url",url:Q0(ee.data)}:{type:"text",media_type:"text/plain",data:yPe(ee.data)},title:(u=xe.title)!=null?u:ee.filename,...xe.context&&{context:xe.context},...ne&&{citations:{enabled:!0}},cache_control:B})}else throw new Nt({functionality:`media type: ${ee.mediaType}`});break}}}break}case"tool":{for(let We=0;We<Ne.length;We++){let ee=Ne[We];if(ee.type==="tool-approval-response")continue;let we=ee.output,B="providerOptions"in we?we.providerOptions:we.type==="content"?(d=we.value.find((Z)=>Z.providerOptions!=null))==null?void 0:d.providerOptions:void 0,ne=We===Ne.length-1,xe=(f=(p=N.getCacheControl(ee.providerOptions,{type:"tool result part",canCache:!0}))!=null?p:N.getCacheControl(B,{type:"tool result output",canCache:!0}))!=null?f:ne?N.getCacheControl(de.providerOptions,{type:"tool result message",canCache:!0}):void 0,ce;switch(we.type){case"content":ce=we.value.map((Z)=>{var D;switch(Z.type){case"text":return{type:"text",text:Z.text};case"image-data":return{type:"image",source:{type:"base64",media_type:Z.mediaType,data:Z.data}};case"image-url":return{type:"image",source:{type:"url",url:Z.url}};case"file-url":return{type:"document",source:{type:"url",url:Z.url}};case"file-data":{if(Z.mediaType==="application/pdf")return q.add("pdfs-2024-09-25"),{type:"document",source:{type:"base64",media_type:Z.mediaType,data:Z.data}};n.push({type:"other",message:`unsupported tool content part type: ${Z.type} with media type: ${Z.mediaType}`});return}case"custom":{let Pe=(D=Z.providerOptions)==null?void 0:D.anthropic;if((Pe==null?void 0:Pe.type)==="tool-reference")return{type:"tool_reference",tool_name:Pe.toolName};n.push({type:"other",message:"unsupported custom tool content part"});return}default:{n.push({type:"other",message:`unsupported tool content part type: ${Z.type}`});return}}}).filter(zp);break;case"text":case"error-text":ce=we.value;break;case"execution-denied":ce=(m=we.reason)!=null?m:"Tool call execution denied.";break;case"json":case"error-json":default:ce=JSON.stringify(we.value);break}let ve=N6({toolName:ee.toolName,providerOptions:ee.providerOptions,toolsetNames:a});re.push({type:"tool_result",tool_use_id:ee.toolCallId,...ve!=null&&{toolset_name:ve},content:ce,is_error:we.type==="error-text"||we.type==="error-json"?!0:void 0,cache_control:xe})}break}default:throw Error(`Unsupported role: ${ze}`)}}ae.push({role:"user",content:re});break}case"assistant":{let re=[],de=new Set;for(let ze=0;ze<T.messages.length;ze++){let Ne=T.messages[ze],We=ze===T.messages.length-1,{content:ee}=Ne;for(let we=0;we<ee.length;we++){let B=ee[we],ne=we===ee.length-1,xe=(g=N.getCacheControl(B.providerOptions,{type:"assistant message part",canCache:!0}))!=null?g:ne?N.getCacheControl(Ne.providerOptions,{type:"assistant message",canCache:!0}):void 0;switch(B.type){case"text":{let ce=(h=B.providerOptions)==null?void 0:h.anthropic;if((ce==null?void 0:ce.type)==="compaction")re.push({type:"compaction",content:B.text,cache_control:xe});else re.push({type:"text",text:le&&We&&ne?B.text.trim():B.text,...(ce==null?void 0:ce.citations)!=null&&{citations:ce.citations},cache_control:xe});break}case"reasoning":{if(t){let ce=await Pt({provider:"anthropic",providerOptions:B.providerOptions,schema:CAe});if(ce!=null)if(ce.signature!=null)N.getCacheControl(B.providerOptions,{type:"thinking block",canCache:!1}),re.push({type:"thinking",thinking:B.text,signature:ce.signature});else if(ce.redactedData!=null)N.getCacheControl(B.providerOptions,{type:"redacted thinking block",canCache:!1}),re.push({type:"redacted_thinking",data:ce.redactedData});else n.push({type:"other",message:"unsupported reasoning metadata"});else n.push({type:"other",message:"unsupported reasoning metadata"})}else n.push({type:"other",message:"sending reasoning content is disabled for this model"});break}case"tool-call":{let ce=z6(B.providerOptions);if(B.providerExecuted){let Z=i.toProviderToolName(B.toolName);if(((w=(b=B.providerOptions)==null?void 0:b.anthropic)==null?void 0:w.type)==="mcp-tool-use"){de.add(B.toolCallId);let Pe=(y=(_=B.providerOptions)==null?void 0:_.anthropic)==null?void 0:y.serverName;if(Pe==null||typeof Pe!=="string"){n.push({type:"other",message:"mcp tool use server name is required and must be a string"});break}re.push({type:"mcp_tool_use",id:B.toolCallId,name:B.toolName,input:B.input,server_name:Pe,cache_control:xe})}else if(Z==="code_execution"&&B.input!=null&&typeof B.input==="object"&&"type"in B.input&&typeof B.input.type==="string"&&(B.input.type==="bash_code_execution"||B.input.type==="text_editor_code_execution")){let{type:Pe,...Oe}=B.input;re.push({type:"server_tool_use",id:B.toolCallId,name:Pe,input:Oe,...ce&&{caller:ce},cache_control:xe})}else if(Z==="code_execution"&&B.input!=null&&typeof B.input==="object"&&"type"in B.input&&B.input.type==="programmatic-tool-call"){let{type:Pe,...Oe}=B.input;re.push({type:"server_tool_use",id:B.toolCallId,name:"code_execution",input:Oe,...ce&&{caller:ce},cache_control:xe})}else if(Z==="code_execution"||Z==="web_fetch"||Z==="web_search")re.push({type:"server_tool_use",id:B.toolCallId,name:Z,input:B.input,...ce&&{caller:ce},cache_control:xe});else if(Z==="tool_search_tool_regex"||Z==="tool_search_tool_bm25")re.push({type:"server_tool_use",id:B.toolCallId,name:Z,input:B.input,...ce&&{caller:ce},cache_control:xe});else if(Z==="advisor")re.push({type:"server_tool_use",id:B.toolCallId,name:"advisor",input:{},...ce&&{caller:ce},cache_control:xe});else n.push({type:"other",message:`provider executed tool call for tool ${B.toolName} is not supported`});break}let ve=N6({toolName:B.toolName,providerOptions:B.providerOptions,toolsetNames:a});if(ve!=null){let{action:Z,...D}=typeof B.input==="object"&&B.input!==null&&!Array.isArray(B.input)?B.input:{};if(typeof Z!=="string"){n.push({type:"other",message:`toolset tool call for tool ${B.toolName} is missing the action`});break}re.push({type:"tool_use",id:B.toolCallId,name:Z,toolset_name:ve,input:D,...ce&&{caller:ce},cache_control:xe});break}re.push({type:"tool_use",id:B.toolCallId,name:B.toolName,input:B.input,...ce&&{caller:ce},cache_control:xe});break}case"tool-result":{let ce=i.toProviderToolName(B.toolName),ve=z6(B.providerOptions);if(de.has(B.toolCallId)){let Z=B.output;if(Z.type!=="json"&&Z.type!=="error-json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}re.push({type:"mcp_tool_result",tool_use_id:B.toolCallId,is_error:Z.type==="error-json",content:Z.value,cache_control:xe})}else if(ce==="code_execution"){let Z=B.output;if(Z.type==="error-text"||Z.type==="error-json"){let D={};try{if(typeof Z.value==="string")D=ni(Z.value);else if(typeof Z.value==="object"&&Z.value!==null)D=Z.value}catch(Pe){}if(D.type==="code_execution_tool_result_error")re.push({type:"code_execution_tool_result",tool_use_id:B.toolCallId,content:{type:"code_execution_tool_result_error",error_code:(S=D.errorCode)!=null?S:"unknown"},cache_control:xe});else re.push({type:"bash_code_execution_tool_result",tool_use_id:B.toolCallId,cache_control:xe,content:{type:"bash_code_execution_tool_result_error",error_code:(A=D.errorCode)!=null?A:"unknown"}});break}if(Z.type!=="json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}if(Z.value==null||typeof Z.value!=="object"||!("type"in Z.value)||typeof Z.value.type!=="string"){n.push({type:"other",message:`provider executed tool result output value is not a valid code execution result for tool ${B.toolName}`});break}if(Z.value.type==="code_execution_result"){let D=await kt({value:Z.value,schema:H6});re.push({type:"code_execution_tool_result",tool_use_id:B.toolCallId,content:{type:D.type,stdout:D.stdout,stderr:D.stderr,return_code:D.return_code,content:(v=D.content)!=null?v:[]},cache_control:xe})}else if(Z.value.type==="encrypted_code_execution_result"){let D=await kt({value:Z.value,schema:Q6});if(D.type==="encrypted_code_execution_result")re.push({type:"code_execution_tool_result",tool_use_id:B.toolCallId,content:{type:D.type,encrypted_stdout:D.encrypted_stdout,stderr:D.stderr,return_code:D.return_code,content:(R=D.content)!=null?R:[]},cache_control:xe})}else{let D=await kt({value:Z.value,schema:K6});if(D.type==="code_execution_result")re.push({type:"code_execution_tool_result",tool_use_id:B.toolCallId,content:{type:D.type,stdout:D.stdout,stderr:D.stderr,return_code:D.return_code,content:(z=D.content)!=null?z:[]},cache_control:xe});else if(D.type==="bash_code_execution_result"||D.type==="bash_code_execution_tool_result_error")re.push({type:"bash_code_execution_tool_result",tool_use_id:B.toolCallId,cache_control:xe,content:D.type==="bash_code_execution_result"?{type:D.type,stdout:D.stdout,stderr:D.stderr,return_code:D.return_code,content:D.content}:D});else re.push({type:"text_editor_code_execution_tool_result",tool_use_id:B.toolCallId,cache_control:xe,content:D})}break}if(ce==="web_fetch"){let Z=B.output;if(Z.type==="error-json"){re.push({type:"web_fetch_tool_result",tool_use_id:B.toolCallId,content:{type:"web_fetch_tool_result_error",error_code:(F=(await Y0(Z.value)).errorCode)!=null?F:"unavailable"},...ve&&{caller:ve},cache_control:xe});break}if(Z.type!=="json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}let D=await kt({value:Z.value,schema:V6});re.push({type:"web_fetch_tool_result",tool_use_id:B.toolCallId,content:{type:"web_fetch_result",url:D.url,retrieved_at:D.retrievedAt,content:{type:"document",title:D.content.title,citations:D.content.citations,source:{type:D.content.source.type,media_type:D.content.source.mediaType,data:D.content.source.data}}},...ve&&{caller:ve},cache_control:xe});break}if(ce==="web_search"){let Z=B.output;if(Z.type==="error-json"){re.push({type:"web_search_tool_result",tool_use_id:B.toolCallId,content:{type:"web_search_tool_result_error",error_code:(x=(await Y0(Z.value)).errorCode)!=null?x:"unavailable"},...ve&&{caller:ve},cache_control:xe});break}if(Z.type!=="json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}let D=await kt({value:Z.value,schema:J6});re.push({type:"web_search_tool_result",tool_use_id:B.toolCallId,content:D.map((Pe)=>({url:Pe.url,title:Pe.title,page_age:Pe.pageAge,encrypted_content:Pe.encryptedContent,type:Pe.type})),...ve&&{caller:ve},cache_control:xe});break}if(ce==="tool_search_tool_regex"||ce==="tool_search_tool_bm25"){let Z=B.output;if(Z.type==="error-json"||Z.type==="json"&&Z.value!=null&&typeof Z.value==="object"&&!Array.isArray(Z.value)&&"type"in Z.value&&Z.value.type==="tool_search_tool_result_error"){re.push({type:"tool_search_tool_result",tool_use_id:B.toolCallId,content:{type:"tool_search_tool_result_error",error_code:(M=(await Y0(Z.value)).errorCode)!=null?M:"unavailable"},cache_control:xe});break}if(Z.type!=="json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}let Pe=(await kt({value:Z.value,schema:Y6})).map((Oe)=>({type:"tool_reference",tool_name:Oe.toolName}));re.push({type:"tool_search_tool_result",tool_use_id:B.toolCallId,content:{type:"tool_search_tool_search_result",tool_references:Pe},cache_control:xe});break}if(ce==="advisor"){let Z=B.output;if(Z.type!=="json"&&Z.type!=="error-json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}let D=await kt({value:Z.value,schema:W6});if(D.type==="advisor_result")re.push({type:"advisor_tool_result",tool_use_id:B.toolCallId,content:{type:"advisor_result",text:D.text},cache_control:xe});else if(D.type==="advisor_redacted_result")re.push({type:"advisor_tool_result",tool_use_id:B.toolCallId,content:{type:"advisor_redacted_result",encrypted_content:D.encryptedContent},cache_control:xe});else re.push({type:"advisor_tool_result",tool_use_id:B.toolCallId,content:{type:"advisor_tool_result_error",error_code:D.errorCode},cache_control:xe});break}n.push({type:"other",message:`provider executed tool result for tool ${B.toolName} is not supported`});break}}}}ae.push({role:"assistant",content:xPe(re)});break}default:throw Error(`content type: ${X}`)}}let P=new Set;for(let se of ae){if(se.role!=="assistant")continue;for(let T of se.content)if(T.type==="server_tool_use"&&T.name==="code_execution")P.add(T.id)}let L=new Set;for(let se=0;se<J;se++){let T=ae[se];if(T.role!=="assistant")continue;for(let le of T.content){if(!("caller"in le))continue;let X=le.caller;if(X==null||X.type==="direct"||P.has(X.tool_id))continue;let re="id"in le?le.id:le.tool_use_id;if(delete le.caller,!L.has(re))L.add(re),n.push({type:"other",message:`Omitted caller metadata for tool ${re} because source code execution tool ${X.tool_id} is missing from the conversation history.`})}}return{prompt:{system:Q,messages:ae},betas:q}}function SPe(e){let t=[],n=void 0;for(let r of e){let{role:i}=r;switch(i){case"system":{if((n==null?void 0:n.type)!=="system")n={type:"system",messages:[]},t.push(n);n.messages.push(r);break}case"assistant":{if((n==null?void 0:n.type)!=="assistant")n={type:"assistant",messages:[]},t.push(n);n.messages.push(r);break}case"user":{if((n==null?void 0:n.type)!=="user")n={type:"user",messages:[]},t.push(n);n.messages.push(r);break}case"tool":{if((n==null?void 0:n.type)!=="user")n={type:"user",messages:[]},t.push(n);n.messages.push(r);break}default:throw Error(`Unsupported role: ${i}`)}}return t}function xPe(e){let t=[],n=[];function r(){t.push(...n.filter((i)=>i.type!=="tool_use"),...n.filter((i)=>i.type==="tool_use")),n=[]}for(let i of e)if(i.type==="thinking"||i.type==="redacted_thinking")r(),t.push(i);else n.push(i);return r(),t}function N6({toolName:e,providerOptions:t,toolsetNames:n}){var r;let i=n[e];if(i!=null)return i;let a=(r=t==null?void 0:t.anthropic)==null?void 0:r.toolsetName;return typeof a==="string"?a:void 0}function z6(e){var t;let n=(t=e==null?void 0:e.anthropic)==null?void 0:t.caller;if(((n==null?void 0:n.type)==="code_execution_20250825"||(n==null?void 0:n.type)==="code_execution_20260120")&&n.toolId)return{type:n.type,tool_id:n.toolId};return(n==null?void 0:n.type)==="direct"?{type:"direct"}:void 0}function X0({finishReason:e,isJsonResponseFromTool:t}){switch(e){case"pause_turn":case"end_turn":case"stop_sequence":return"stop";case"refusal":return"content-filter";case"tool_use":return t?"stop":"tool-calls";case"max_tokens":case"model_context_window_exceeded":return"length";case"compaction":return"other";default:return"other"}}var X6=new Set(["date-time","time","date","duration","email","hostname","uri","ipv4","ipv6","uuid"]),wPe=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","minItems","maxItems","uniqueItems","minProperties","maxProperties","not"];function TPe(e){return e9(e)}function Gl(e){if(typeof e==="boolean"||!EPe(e))return e;return e9(e)}function e9(e){let t={},n=e;if(e.$ref!=null)return{$ref:e.$ref};if(e.$schema!=null)t.$schema=e.$schema;if(e.$id!=null)t.$id=e.$id;if(e.title!=null)t.title=e.title;if(e.description!=null)t.description=e.description;if(e.default!==void 0)t.default=e.default;if(e.const!==void 0)t.const=e.const;if(e.enum!=null)t.enum=e.enum;if(e.type!=null)t.type=e.type;if(e.anyOf!=null)t.anyOf=e.anyOf.map(Gl);else if(e.oneOf!=null)t.anyOf=e.oneOf.map(Gl);if(e.allOf!=null)t.allOf=e.allOf.map(Gl);if(e.definitions!=null)t.definitions=Object.fromEntries(Object.entries(e.definitions).map(([i,a])=>[i,Gl(a)]));if(n.$defs!=null){let i=t;i.$defs=Object.fromEntries(Object.entries(n.$defs).map(([a,s])=>[a,Gl(s)]))}if(e.type==="object"||e.properties!=null){if(e.properties!=null)t.properties=Object.fromEntries(Object.entries(e.properties).map(([i,a])=>[i,Gl(a)]));if(t.additionalProperties=!1,e.required!=null)t.required=e.required}if(e.items!=null)t.items=Array.isArray(e.items)?e.items.map(Gl):Gl(e.items);if(typeof e.format==="string"&&X6.has(e.format))t.format=e.format;let r=_Pe(e);if(r!=null)t.description=t.description==null?r:`${t.description}
210
+ `)}})}},S6={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function NRe({status:e,statusText:t,headers:n,stream:r,keepAliveMs:i,consumeSseStream:a}){let s=b6({stream:r.pipeThrough(new v6),keepAliveMs:i});if(a){let[l,c]=s.tee();s=l,a({stream:c})}return new Response(s.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:_h(n,S6)})}function zRe({originalMessages:e,responseMessageId:t}){if(e==null)return;let n=e[e.length-1];return(n==null?void 0:n.role)==="assistant"?n.id:typeof t==="function"?t():t}var fh=o.record(o.string(),Ru.optional()),n_t=G(()=>W(o.union([o.looseObject({type:o.literal("text-start"),id:o.string(),providerMetadata:rt.optional()}),o.looseObject({type:o.literal("text-delta"),id:o.string(),delta:o.string(),providerMetadata:rt.optional()}),o.looseObject({type:o.literal("text-end"),id:o.string(),providerMetadata:rt.optional()}),o.looseObject({type:o.literal("error"),errorText:o.string()}),o.looseObject({type:o.literal("tool-input-start"),toolCallId:o.string(),toolName:o.string(),providerExecuted:o.boolean().optional(),providerMetadata:rt.optional(),toolMetadata:fh.optional(),dynamic:o.boolean().optional(),title:o.string().optional()}),o.looseObject({type:o.literal("tool-input-delta"),toolCallId:o.string(),inputTextDelta:o.string()}),o.looseObject({type:o.literal("tool-input-available"),toolCallId:o.string(),toolName:o.string(),input:o.unknown(),providerExecuted:o.boolean().optional(),providerMetadata:rt.optional(),toolMetadata:fh.optional(),dynamic:o.boolean().optional(),title:o.string().optional()}),o.looseObject({type:o.literal("tool-input-error"),toolCallId:o.string(),toolName:o.string(),input:o.unknown(),providerExecuted:o.boolean().optional(),providerMetadata:rt.optional(),toolMetadata:fh.optional(),dynamic:o.boolean().optional(),errorText:o.string(),title:o.string().optional()}),o.looseObject({type:o.literal("tool-approval-request"),approvalId:o.string(),toolCallId:o.string(),approvalDescriptor:o.unknown().optional(),inputSchemaInput:o.unknown().optional(),signature:o.string().optional()}),o.looseObject({type:o.literal("tool-output-available"),toolCallId:o.string(),output:o.unknown(),providerExecuted:o.boolean().optional(),providerMetadata:rt.optional(),toolMetadata:fh.optional(),dynamic:o.boolean().optional(),preliminary:o.boolean().optional()}),o.looseObject({type:o.literal("tool-output-error"),toolCallId:o.string(),errorText:o.string(),providerExecuted:o.boolean().optional(),providerMetadata:rt.optional(),toolMetadata:fh.optional(),dynamic:o.boolean().optional()}),o.looseObject({type:o.literal("tool-output-denied"),toolCallId:o.string()}),o.looseObject({type:o.literal("reasoning-start"),id:o.string(),providerMetadata:rt.optional()}),o.looseObject({type:o.literal("reasoning-delta"),id:o.string(),delta:o.string(),providerMetadata:rt.optional()}),o.looseObject({type:o.literal("reasoning-end"),id:o.string(),providerMetadata:rt.optional()}),o.looseObject({type:o.literal("source-url"),sourceId:o.string(),url:o.string(),title:o.string().optional(),providerMetadata:rt.optional()}),o.looseObject({type:o.literal("source-document"),sourceId:o.string(),mediaType:o.string(),title:o.string(),filename:o.string().optional(),providerMetadata:rt.optional()}),o.looseObject({type:o.literal("file"),url:o.string(),mediaType:o.string(),providerMetadata:rt.optional()}),o.looseObject({type:o.custom((e)=>typeof e==="string"&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:o.string().optional(),data:o.unknown(),transient:o.boolean().optional()}),o.looseObject({type:o.literal("start-step")}),o.looseObject({type:o.literal("finish-step")}),o.looseObject({type:o.literal("start"),messageId:o.string().optional(),messageMetadata:o.unknown().optional()}),o.looseObject({type:o.literal("finish"),finishReason:o.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:o.unknown().optional()}),o.looseObject({type:o.literal("abort"),reason:o.string().optional()}),o.looseObject({type:o.literal("message-metadata"),messageMetadata:o.unknown()})])));function BRe(e){return e.type.startsWith("data-")}function $s(){return Object.create(null)}function Yx(e){return e.type.startsWith("tool-")}function FRe(e){return e.type==="dynamic-tool"}function Vx(e){return Yx(e)||FRe(e)}function P0(e){return e.type.split("-").slice(1).join("-")}function x6({lastMessage:e,messageId:t}){var n;let r=(e==null?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},i=$s(),a=r.parts.findLastIndex((l)=>l.type==="step-start"),s=0;for(let l of r.parts.slice(a+1)){if(!Vx(l))continue;let c=s;if(Yx(l))s++;if(l.state!=="input-streaming")continue;i[l.toolCallId]={text:(n=l.rawInput)!=null?n:"",index:c,toolName:l.type==="dynamic-tool"?l.toolName:P0(l),dynamic:l.type==="dynamic-tool",title:l.title,toolMetadata:l.toolMetadata}}return{message:r,activeTextParts:$s(),activeReasoningParts:$s(),partialToolCalls:i}}function qRe({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:i,onToolCall:a,onData:s,resetStateOnMessageIdChange:l=!1}){return e.pipeThrough(new TransformStream({async transform(c,u){await r(async({state:d,write:p})=>{var f,m,g,h,b,w,_,y;function S(){let x=d.message.parts,M=x.length-1;while(M>=0&&x[M].type!=="step-start")M--;return x.slice(M+1)}function A(){return S().filter(Vx)}function v(x){let q=A().find((E)=>E.toolCallId===x);if(q==null){let E=d.message.parts;for(let N=E.length-1;N>=0;N--){let Q=E[N];if(Vx(Q)&&Q.toolCallId===x){q=Q;break}}}if(q==null)throw new Zp({chunkType:"tool-invocation",chunkId:x,message:`No tool invocation found for tool call ID "${x}".`});return q}function R(x,M){var q;let E=M!=null?M:S().find((ae)=>Yx(ae)&&ae.toolCallId===x.toolCallId),N=x,Q=E;if(E!=null){if(E.state=x.state,Q.input=N.input,Q.output=N.output,Q.errorText=N.errorText,Q.rawInput=N.rawInput,Q.preliminary=N.preliminary,x.title!==void 0)Q.title=x.title;if(x.toolMetadata!==void 0)Q.toolMetadata=x.toolMetadata;Q.providerExecuted=(q=N.providerExecuted)!=null?q:E.providerExecuted;let ae=N.providerMetadata;if(ae!=null)if(x.state==="output-available"||x.state==="output-error"){let J=E;J.resultProviderMetadata=ae}else E.callProviderMetadata=ae}else d.message.parts.push({type:`tool-${x.toolName}`,toolCallId:x.toolCallId,state:x.state,title:x.title,...x.toolMetadata!==void 0?{toolMetadata:x.toolMetadata}:{},input:N.input,output:N.output,rawInput:N.rawInput,errorText:N.errorText,providerExecuted:N.providerExecuted,preliminary:N.preliminary,...N.providerMetadata!=null&&(x.state==="output-available"||x.state==="output-error")?{resultProviderMetadata:N.providerMetadata}:{},...N.providerMetadata!=null&&!(x.state==="output-available"||x.state==="output-error")?{callProviderMetadata:N.providerMetadata}:{}})}function z(x,M){var q;let E=M!=null?M:S().find((ae)=>ae.type==="dynamic-tool"&&ae.toolCallId===x.toolCallId),N=x,Q=E;if(E!=null){if(E.state=x.state,Q.toolName=x.toolName,Q.input=N.input,Q.output=N.output,Q.errorText=N.errorText,Q.rawInput=N.rawInput,Q.preliminary=N.preliminary,x.title!==void 0)Q.title=x.title;if(x.toolMetadata!==void 0)Q.toolMetadata=x.toolMetadata;Q.providerExecuted=(q=N.providerExecuted)!=null?q:E.providerExecuted;let ae=N.providerMetadata;if(ae!=null)if(x.state==="output-available"||x.state==="output-error"){let J=E;J.resultProviderMetadata=ae}else E.callProviderMetadata=ae}else d.message.parts.push({type:"dynamic-tool",toolName:x.toolName,toolCallId:x.toolCallId,state:x.state,input:N.input,output:N.output,errorText:N.errorText,preliminary:N.preliminary,providerExecuted:N.providerExecuted,title:x.title,...x.toolMetadata!==void 0?{toolMetadata:x.toolMetadata}:{},...N.providerMetadata!=null&&(x.state==="output-available"||x.state==="output-error")?{resultProviderMetadata:N.providerMetadata}:{},...N.providerMetadata!=null&&!(x.state==="output-available"||x.state==="output-error")?{callProviderMetadata:N.providerMetadata}:{}})}async function F(x){if(x!=null){let M=d.message.metadata!=null?vh(d.message.metadata,x):x;if(t!=null)await kt({value:M,schema:t,context:{field:"message.metadata",entityId:d.message.id}});d.message.metadata=M}}switch(c.type){case"text-start":{let x={type:"text",text:"",providerMetadata:c.providerMetadata,state:"streaming"};d.activeTextParts[c.id]=x,d.message.parts.push(x),p();break}case"text-delta":{let x=d.activeTextParts[c.id];if(x==null)throw new Zp({chunkType:"text-delta",chunkId:c.id,message:`Received text-delta for missing text part with ID "${c.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});x.text+=c.delta,x.providerMetadata=(f=c.providerMetadata)!=null?f:x.providerMetadata,p();break}case"text-end":{let x=d.activeTextParts[c.id];if(x==null)throw new Zp({chunkType:"text-end",chunkId:c.id,message:`Received text-end for missing text part with ID "${c.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});x.state="done",x.providerMetadata=(m=c.providerMetadata)!=null?m:x.providerMetadata,delete d.activeTextParts[c.id],p();break}case"reasoning-start":{let x={type:"reasoning",id:c.id,text:"",providerMetadata:c.providerMetadata,state:"streaming"};d.activeReasoningParts[c.id]=x,d.message.parts.push(x),p();break}case"reasoning-delta":{let x=d.activeReasoningParts[c.id];if(x==null)throw new Zp({chunkType:"reasoning-delta",chunkId:c.id,message:`Received reasoning-delta for missing reasoning part with ID "${c.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});x.text+=c.delta,x.providerMetadata=(g=c.providerMetadata)!=null?g:x.providerMetadata,p();break}case"reasoning-end":{let x=d.activeReasoningParts[c.id];if(x==null)throw new Zp({chunkType:"reasoning-end",chunkId:c.id,message:`Received reasoning-end for missing reasoning part with ID "${c.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});x.providerMetadata=(h=c.providerMetadata)!=null?h:x.providerMetadata,x.state="done",delete d.activeReasoningParts[c.id],p();break}case"file":{d.message.parts.push({type:"file",mediaType:c.mediaType,url:c.url,...c.providerMetadata!=null?{providerMetadata:c.providerMetadata}:{}}),p();break}case"source-url":{d.message.parts.push({type:"source-url",sourceId:c.sourceId,url:c.url,title:c.title,providerMetadata:c.providerMetadata}),p();break}case"source-document":{d.message.parts.push({type:"source-document",sourceId:c.sourceId,mediaType:c.mediaType,title:c.title,filename:c.filename,providerMetadata:c.providerMetadata}),p();break}case"tool-input-start":{let x=S().filter(Yx);if(d.partialToolCalls[c.toolCallId]={text:"",toolName:c.toolName,index:x.length,dynamic:c.dynamic,title:c.title,toolMetadata:c.toolMetadata},c.dynamic)z({toolCallId:c.toolCallId,toolName:c.toolName,state:"input-streaming",input:void 0,providerExecuted:c.providerExecuted,title:c.title,toolMetadata:c.toolMetadata,providerMetadata:c.providerMetadata});else R({toolCallId:c.toolCallId,toolName:c.toolName,state:"input-streaming",input:void 0,providerExecuted:c.providerExecuted,title:c.title,toolMetadata:c.toolMetadata,providerMetadata:c.providerMetadata});p();break}case"tool-input-delta":{let x=d.partialToolCalls[c.toolCallId];if(x==null)throw new Zp({chunkType:"tool-input-delta",chunkId:c.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${c.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});x.text+=c.inputTextDelta;let{value:M}=await xh(x.text);if(x.dynamic)z({toolCallId:c.toolCallId,toolName:x.toolName,state:"input-streaming",input:M,rawInput:x.text,title:x.title,toolMetadata:x.toolMetadata});else R({toolCallId:c.toolCallId,toolName:x.toolName,state:"input-streaming",input:M,rawInput:x.text,title:x.title,toolMetadata:x.toolMetadata});p();break}case"tool-input-available":{if(c.dynamic)z({toolCallId:c.toolCallId,toolName:c.toolName,state:"input-available",input:c.input,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,title:c.title,toolMetadata:c.toolMetadata});else R({toolCallId:c.toolCallId,toolName:c.toolName,state:"input-available",input:c.input,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,title:c.title,toolMetadata:c.toolMetadata});if(p(),a&&!c.providerExecuted)await a({toolCall:c});break}case"tool-input-error":{let x=S().filter(Vx).find((q)=>q.toolCallId===c.toolCallId);if(x!=null?x.type==="dynamic-tool":!!c.dynamic)z({toolCallId:c.toolCallId,toolName:c.toolName,state:"output-error",input:c.input,errorText:c.errorText,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,toolMetadata:c.toolMetadata});else R({toolCallId:c.toolCallId,toolName:c.toolName,state:"output-error",input:void 0,rawInput:c.input,errorText:c.errorText,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,toolMetadata:c.toolMetadata});p();break}case"tool-approval-request":{let x=v(c.toolCallId);x.state="approval-requested",x.approval={id:c.approvalId,...c.approvalDescriptor!=null?{descriptor:c.approvalDescriptor}:{},...Object.prototype.hasOwnProperty.call(c,"inputSchemaInput")?{inputSchemaInput:c.inputSchemaInput}:{},...c.signature!=null?{signature:c.signature}:{}},p();break}case"tool-output-denied":{let x=v(c.toolCallId);x.state="output-denied",p();break}case"tool-output-available":{let x=v(c.toolCallId);if(x.type==="dynamic-tool")z({toolCallId:c.toolCallId,toolName:x.toolName,state:"output-available",input:x.input,output:c.output,preliminary:c.preliminary,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,title:x.title,toolMetadata:(b=c.toolMetadata)!=null?b:x.toolMetadata},x);else R({toolCallId:c.toolCallId,toolName:P0(x),state:"output-available",input:x.input,output:c.output,providerExecuted:c.providerExecuted,preliminary:c.preliminary,providerMetadata:c.providerMetadata,title:x.title,toolMetadata:(w=c.toolMetadata)!=null?w:x.toolMetadata},x);p();break}case"tool-output-error":{let x=v(c.toolCallId);if(x.type==="dynamic-tool")z({toolCallId:c.toolCallId,toolName:x.toolName,state:"output-error",input:x.input,errorText:c.errorText,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,title:x.title,toolMetadata:(_=c.toolMetadata)!=null?_:x.toolMetadata},x);else R({toolCallId:c.toolCallId,toolName:P0(x),state:"output-error",input:x.input,rawInput:x.rawInput,errorText:c.errorText,providerExecuted:c.providerExecuted,providerMetadata:c.providerMetadata,title:x.title,toolMetadata:(y=c.toolMetadata)!=null?y:x.toolMetadata},x);p();break}case"start-step":{d.message.parts.push({type:"step-start"});break}case"finish-step":{d.activeTextParts=$s(),d.activeReasoningParts=$s();break}case"start":{if(l&&c.messageId!=null&&c.messageId!==d.message.id)Object.assign(d,x6({lastMessage:void 0,messageId:c.messageId}),{finishReason:void 0});if(c.messageId!=null)d.message.id=c.messageId;if(await F(c.messageMetadata),c.messageId!=null||c.messageMetadata!=null)p({updateStatus:!1});break}case"finish":{if(c.finishReason!=null)d.finishReason=c.finishReason;if(await F(c.messageMetadata),c.messageMetadata!=null)p();break}case"message-metadata":{if(await F(c.messageMetadata),c.messageMetadata!=null)p();break}case"error":{i==null||i(Error(c.errorText));break}default:if(BRe(c)){if((n==null?void 0:n[c.type])!=null){let q=d.message.parts.findIndex((N)=>("id"in N)&&("data"in N)&&N.id===c.id&&N.type===c.type),E=q>=0?q:d.message.parts.length;await kt({value:c.data,schema:n[c.type],context:{field:`message.parts[${E}].data`,entityName:c.type,entityId:c.id}})}let x=c;if(x.transient){s==null||s(x);break}let M=x.id!=null?d.message.parts.find((q)=>x.type===q.type&&x.id===q.id):void 0;if(M!=null)M.data=x.data;else d.message.parts.push(x);s==null||s(x),p()}}u.enqueue(c)})}}))}function w6({messageId:e,originalMessages:t=[],onStepFinish:n,onFinish:r,onError:i,stream:a,getOutcome:s}){let l=t==null?void 0:t[t.length-1];if((l==null?void 0:l.role)!=="assistant")l=void 0;else e=l.id;let c=!1,u=!1,d,p=(_)=>{u=!0,d=_},f=a.pipeThrough(new TransformStream({transform(_,y){try{let S=_;if(_.type==="start"){let A=_;if(A.messageId==null&&e!=null)S={...A,messageId:e}}if(_.type==="abort")c=!0;y.enqueue(S)}catch(S){throw p(S),S}}}));if(r==null&&n==null)return f;let m=x6({lastMessage:l?structuredClone(l):void 0,messageId:e!=null?e:""}),g=async(_)=>{try{await _({state:m,write:()=>{}})}catch(y){throw p(y),y}},h=!1,b=async()=>{var _;if(h||!r)return;h=!0;let y=m.message.id===(l==null?void 0:l.id),S=(_=s==null?void 0:s())!=null?_:{status:"unknown"},A=u?{status:"failed",error:d}:S.status==="unknown"&&c?{status:"aborted"}:S;await r({isAborted:c||A.status==="aborted",isContinuation:y,outcome:A,responseMessage:m.message,messages:[...y?t.slice(0,-1):t,m.message],finishReason:m.finishReason})},w=async()=>{if(!n)return;let _=m.message.id===(l==null?void 0:l.id);try{await n({isContinuation:_,responseMessage:structuredClone(m.message),messages:[..._?t.slice(0,-1):t,structuredClone(m.message)]})}catch(y){try{i(y)}catch(S){throw p(S),await b(),S}}};return qRe({stream:f,runUpdateMessageJob:g,onError:i}).pipeThrough(new TransformStream({async transform(_,y){if(_.type==="finish-step")await w();y.enqueue(_)},async cancel(){await b()},async flush(){await b()}}))}function LRe({response:e,status:t,statusText:n,headers:r,stream:i,keepAliveMs:a,consumeSseStream:s}){let l=b6({stream:i.pipeThrough(new v6),keepAliveMs:a});if(s){let[c,u]=l.tee();l=c,s({stream:u})}return y6({response:e,status:t,statusText:n,headers:Object.fromEntries(_h(r,S6).entries()),stream:l.pipeThrough(new TextEncoderStream)})}function Wp(e){let t=e.pipeThrough(new TransformStream);return t[Symbol.asyncIterator]=function(){let n=this.getReader(),r=!1;async function i(a){var s;if(r)return;r=!0;try{if(a)await((s=n.cancel)==null?void 0:s.call(n))}finally{try{n.releaseLock()}catch(l){}}}return{async next(){if(r)return{done:!0,value:void 0};let{done:a,value:s}=await n.read();if(a)return await i(!0),{done:!0,value:void 0};return{done:!1,value:s}},async return(){return await i(!0),{done:!0,value:void 0}},async throw(a){throw await i(!0),a}}},t}async function $Re({stream:e,onError:t,abortSignal:n}){let r=e.getReader(),i=()=>{r.cancel().catch(()=>{})};if(n==null?void 0:n.aborted)i();else n==null||n.addEventListener("abort",i,{once:!0});try{while(!0){let{done:a}=await r.read();if(a)break}}catch(a){t==null||t(a)}finally{n==null||n.removeEventListener("abort",i),r.releaseLock()}}function $5(){let e,t;return{promise:new Promise((r,i)=>{e=r,t=i}),resolve:e,reject:t}}function URe(){let e=[],t=null,n=!1,r=!1,i=$5(),a=()=>{if(r)return;n=!0,i.resolve(),e.forEach(({reader:l,onCancel:c})=>{c==null||c(),l.cancel()}),e=[],t==null||t.close()},s=async()=>{var l;if(r)return;if(n&&e.length===0){t==null||t.close();return}if(e.length===0)return i=$5(),await i.promise,s();let c=e[0];try{let{value:u,done:d}=await c.reader.read();if(r)return;if(d)if(e.shift(),e.length===0&&n)t==null||t.close();else await s();else t==null||t.enqueue(u)}catch(u){if(r)return;(l=c.onError)==null||l.call(c,u),t==null||t.error(u),e.shift(),a()}};return{stream:new ReadableStream({start(l){t=l},pull:s,async cancel(){r=!0,n=!0,i.resolve();for(let{reader:l,onCancel:c}of e)c==null||c(),await l.cancel();e=[]}}),addStream:(l,c)=>{var u;if(r){(u=c==null?void 0:c.onCancel)==null||u.call(c),l.cancel().catch(()=>{});return}if(n)throw Error("Cannot add inner stream: outer stream is closed");e.push({reader:l.getReader(),...c}),i.resolve()},close:()=>{if(r)return;if(n=!0,i.resolve(),e.length===0)t==null||t.close()},terminate:a}}function ZRe({tools:e,generatorStream:t,tracer:n,telemetry:r,system:i,messages:a,abortSignal:s,repairToolCall:l,experimental_context:c,toolApprovalSecret:u,generateId:d,stepNumber:p,model:f,onToolCallStart:m,onToolCallFinish:g}){let h=null,b=!1,w=new ReadableStream({start(E){h=E},cancel(){b=!0}});function _(E){if(b)return;try{h.enqueue(E)}catch(N){b=!0}}function y(){if(b)return;b=!0;try{h.close()}catch(E){}}let S=new Set,A=[],v=new Map,R=!1,z=void 0;function F(){if(R&&S.size===0){if(z!=null)_(z);y()}}function x(E){let N=d();S.add(N),$0({toolCall:E,tools:e,tracer:n,telemetry:r,messages:a,abortSignal:s,experimental_context:c,stepNumber:p,model:f,onToolCallStart:m,onToolCallFinish:g,onPreliminaryToolResult:(Q)=>{_(Q)}}).then((Q)=>{_(Q)}).catch((Q)=>{_({type:"error",error:Q})}).finally(()=>{S.delete(N),F()})}let M=new Map,q=new TransformStream({async transform(E,N){var Q,ae,J,oe;let be=E.type;switch(be){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"source":case"response-metadata":case"error":case"raw":{N.enqueue(E);break}case"tool-input-start":{M.set(E.id,E.toolName),await((ae=(Q=e==null?void 0:e[E.toolName])==null?void 0:Q.onInputStart)==null?void 0:ae.call(Q,{toolCallId:E.id,messages:a,abortSignal:s,experimental_context:c})),N.enqueue(E);break}case"tool-input-delta":{let P=M.get(E.id);if(P!=null)await((oe=(J=e==null?void 0:e[P])==null?void 0:J.onInputDelta)==null?void 0:oe.call(J,{inputTextDelta:E.delta,toolCallId:E.id,messages:a,abortSignal:s,experimental_context:c}));N.enqueue(E);break}case"tool-input-end":{M.delete(E.id),N.enqueue(E);break}case"file":{N.enqueue({type:"file",file:new bRe({data:E.data,mediaType:E.mediaType}),...E.providerMetadata!=null?{providerMetadata:E.providerMetadata}:{}});break}case"finish":{if(z={type:"finish",finishReason:E.finishReason.unified,rawFinishReason:E.finishReason.raw,usage:hh(E.usage),providerMetadata:E.providerMetadata},r6(E.finishReason.unified))for(let P of A.splice(0))x(P);else A.length=0;break}case"tool-approval-request":{let P=v.get(E.toolCallId);if(P==null){_({type:"error",error:new O0({toolCallId:E.toolCallId,approvalId:E.approvalId})});break}N.enqueue({type:"tool-approval-request",approvalId:E.approvalId,toolCall:P});break}case"tool-call":{try{let P=await d6({toolCall:E,tools:e,repairToolCall:l,system:i,messages:a});if(v.set(P.toolCallId,P),N.enqueue({...P}),P.invalid){if(!P.providerExecuted)_({type:"tool-error",toolCallId:P.toolCallId,toolName:P.toolName,input:P.input,error:wn(P.error),dynamic:!0,title:P.title,...P.toolMetadata!=null?{toolMetadata:P.toolMetadata}:{}});break}let L=e==null?void 0:e[P.toolName];if(L==null)break;if(L.onInputAvailable!=null)await L.onInputAvailable({input:P.input,toolCallId:P.toolCallId,messages:a,abortSignal:s,experimental_context:c});if(await Z0({tool:L,toolCall:P,messages:a,experimental_context:c})){let se=d(),T=await l6({secret:u,approvalId:se,toolCallId:P.toolCallId,toolName:P.toolName,input:P.input});_({type:"tool-approval-request",approvalId:se,toolCall:P,...T!=null?{signature:T}:{}});break}if(L.execute!=null&&P.providerExecuted!==!0)A.push(P)}catch(P){_({type:"error",error:P})}break}case"tool-result":{let P=E.toolName,L=v.get(E.toolCallId);if(E.isError)_({type:"tool-error",toolCallId:E.toolCallId,toolName:P,input:L==null?void 0:L.input,providerExecuted:!0,error:E.result,dynamic:E.dynamic,...E.providerMetadata!=null?{providerMetadata:E.providerMetadata}:{},...(L==null?void 0:L.toolMetadata)!=null?{toolMetadata:L.toolMetadata}:{}});else N.enqueue({type:"tool-result",toolCallId:E.toolCallId,toolName:P,input:L==null?void 0:L.input,output:E.result,providerExecuted:!0,dynamic:E.dynamic,...E.providerMetadata!=null?{providerMetadata:E.providerMetadata}:{},...(L==null?void 0:L.toolMetadata)!=null?{toolMetadata:L.toolMetadata}:{}});break}default:throw Error(`Unhandled chunk type: ${be}`)}},flush(){R=!0,F()}});return new ReadableStream({async start(E){return Promise.all([t.pipeThrough(q).pipeTo(new WritableStream({write(N){E.enqueue(N)},close(){}})),w.pipeTo(new WritableStream({write(N){E.enqueue(N)},close(){E.close()}}))])}})}var WRe=Ja({prefix:"aitxt",size:24}),GRe={file:!0,source:!0,"text-start":!0,"text-end":!0,"text-delta":!0,"reasoning-start":!0,"reasoning-end":!0,"reasoning-delta":!0,"tool-input-start":!0,"tool-input-end":!0,"tool-input-delta":!0,"tool-approval-request":!0,"tool-call":!0,"tool-result":!0,"tool-error":!0,"stream-start":!1,"response-metadata":!1,finish:!1,error:!1,raw:!1};function JRe({model:e,tools:t,toolChoice:n,system:r,prompt:i,messages:a,allowSystemInMessages:s,maxRetries:l,abortSignal:c,timeout:u,headers:d,stopWhen:p=wh(1),experimental_output:f,output:m=f,experimental_telemetry:g,prepareStep:h,providerOptions:b,experimental_activeTools:w,activeTools:_=w,experimental_repairToolCall:y,experimental_transform:S,experimental_download:A,includeRawChunks:v=!1,onChunk:R,onError:z=({error:se})=>{console.error(se)},onFinish:F,onAbort:x,onStepFinish:M,experimental_onStart:q,experimental_onStepStart:E,experimental_onToolCallStart:N,experimental_onToolCallFinish:Q,experimental_context:ae,experimental_toolApprovalSecret:J,experimental_include:oe,_internal:{now:be=Jx,generateId:P=WRe}={},...L}){let se=N0(u),T=UQ(u),le=Lke(u),X=T!=null?new AbortController:void 0,re=le!=null?new AbortController:void 0;return new HRe({model:gh(e),telemetry:g,headers:d,settings:L,maxRetries:l,abortSignal:h6(c,se!=null?AbortSignal.timeout(se):void 0,X==null?void 0:X.signal,re==null?void 0:re.signal),stepTimeoutMs:T,stepAbortController:X,chunkTimeoutMs:le,chunkAbortController:re,system:r,prompt:i,messages:a,allowSystemInMessages:s,tools:t,toolChoice:n,transforms:Eu(S),activeTools:_,repairToolCall:y,stopConditions:Eu(p),output:m,providerOptions:b,prepareStep:h,includeRawChunks:v,timeout:u,stopWhen:p,originalAbortSignal:c,onChunk:R,onError:z,onFinish:F,onAbort:x,onStepFinish:M,onStart:q,onStepStart:E,onToolCallStart:N,onToolCallFinish:Q,now:be,generateId:P,experimental_context:ae,experimental_toolApprovalSecret:J,download:A,include:oe})}function VRe(e){let t=void 0,n="",r="",i=void 0,a=void 0,s=!1;function l(){t=void 0,n="",r="",i=void 0,a=""}function c({controller:u,partialOutput:d=void 0}){u.enqueue({part:{type:"text-delta",id:t,text:r,providerMetadata:i},partialOutput:d}),r=""}return new TransformStream({async transform(u,d){var p;if(u.type==="start-step")l();if(u.type==="finish-step"&&r.length>0)c({controller:d});if(u.type!=="text-delta"&&u.type!=="text-start"&&u.type!=="text-end"){d.enqueue({part:u,partialOutput:void 0});return}if(t==null)t=u.id;else if(u.id!==t){d.enqueue({part:u,partialOutput:void 0});return}if(u.type==="text-start"){d.enqueue({part:u,partialOutput:void 0});return}if(u.type==="text-end"){if(r.length>0)c({controller:d});d.enqueue({part:u,partialOutput:void 0});return}if(n+=u.text,r+=u.text,i=(p=u.providerMetadata)!=null?p:i,u.text.length===0&&u.providerMetadata!=null){d.enqueue({part:u,partialOutput:void 0});return}let f=await e.parsePartialOutput({text:n});if(f!==void 0){let m=typeof f.partial==="string"?f.partial:JSON.stringify(f.partial);if(!s||m!==a)c({controller:d,partialOutput:f.partial}),a=m,s=!0}}})}var HRe=class{constructor({model:e,telemetry:t,headers:n,settings:r,maxRetries:i,abortSignal:a,stepTimeoutMs:s,stepAbortController:l,chunkTimeoutMs:c,chunkAbortController:u,system:d,prompt:p,messages:f,allowSystemInMessages:m,tools:g,toolChoice:h,transforms:b,activeTools:w,repairToolCall:_,stopConditions:y,output:S,providerOptions:A,prepareStep:v,includeRawChunks:R,now:z,generateId:F,timeout:x,stopWhen:M,originalAbortSignal:q,onChunk:E,onError:N,onFinish:Q,onAbort:ae,onStepFinish:J,onStart:oe,onStepStart:be,onToolCallStart:P,onToolCallFinish:L,experimental_context:se,experimental_toolApprovalSecret:T,download:le,include:X}){this._totalUsage=new wu,this._finishReason=new wu,this._rawFinishReason=new wu,this._steps=new wu,this.outputSpecification=S,this.includeRawChunks=R,this.tools=g;let de=XQ()(t==null?void 0:t.integrations),ze,Ne=[],We=[],ee=void 0,we=void 0,B=void 0,ne={},xe=[],ce=[],ve,Z=g,D=e,Pe=()=>{let on=new Set;return(mn)=>{if(!on.has(mn))return on.add(mn),mn;let Pn=F(),Xn=Pn,O=0;while(on.has(Xn))Xn=`${Pn}-${++O}`;return on.add(Xn),Xn}},Oe=Pe(),ye=Pe(),Ce=new Map,Ke,qe=$s(),K=$s(),te=new TransformStream({async transform(on,mn){var Pn,Xn,O,ie;mn.enqueue(on);let{part:fe}=on;if(fe.type==="text-delta"||fe.type==="reasoning-delta"||fe.type==="source"||fe.type==="tool-call"||fe.type==="tool-result"||fe.type==="tool-input-start"||fe.type==="tool-input-delta"||fe.type==="raw")await Mo({event:{chunk:fe},callbacks:E});if(fe.type==="error"){let Ge=q0(fe.error);if(Gx.isInstance(Ge))ve=Ge;await Mo({event:{error:Ge},callbacks:N})}if(fe.type==="text-start")qe[fe.id]={type:"text",text:"",providerMetadata:fe.providerMetadata},Ne.push(qe[fe.id]);if(fe.type==="text-delta"){let Ge=qe[fe.id];if(Ge==null){mn.enqueue({part:{type:"error",error:`text part ${fe.id} not found`},partialOutput:void 0});return}Ge.text+=fe.text,Ge.providerMetadata=(Pn=fe.providerMetadata)!=null?Pn:Ge.providerMetadata}if(fe.type==="text-end"){let Ge=qe[fe.id];if(Ge==null){mn.enqueue({part:{type:"error",error:`text part ${fe.id} not found`},partialOutput:void 0});return}Ge.providerMetadata=(Xn=fe.providerMetadata)!=null?Xn:Ge.providerMetadata,delete qe[fe.id]}if(fe.type==="reasoning-start")K[fe.id]={type:"reasoning",text:"",providerMetadata:fe.providerMetadata},Ne.push(K[fe.id]);if(fe.type==="reasoning-delta"){let Ge=K[fe.id];if(Ge==null){mn.enqueue({part:{type:"error",error:`reasoning part ${fe.id} not found`},partialOutput:void 0});return}Ge.text+=fe.text,Ge.providerMetadata=(O=fe.providerMetadata)!=null?O:Ge.providerMetadata}if(fe.type==="reasoning-end"){let Ge=K[fe.id];if(Ge==null){mn.enqueue({part:{type:"error",error:`reasoning part ${fe.id} not found`},partialOutput:void 0});return}Ge.providerMetadata=(ie=fe.providerMetadata)!=null?ie:Ge.providerMetadata,delete K[fe.id]}if(fe.type==="file")Ne.push({type:"file",file:fe.file,...fe.providerMetadata!=null?{providerMetadata:fe.providerMetadata}:{}});if(fe.type==="source")Ne.push(fe);if(fe.type==="tool-call")Ne.push(fe);if(fe.type==="tool-result"&&!fe.preliminary)Ne.push(fe);if(fe.type==="tool-approval-request")Ne.push(fe);if(fe.type==="tool-error")Ne.push(fe);if(fe.type==="start-step")Ne=[],K=$s(),qe=$s(),ne=fe.request,xe=fe.warnings;if(fe.type==="finish-step"){let Ge=await A0({content:Ne,tools:Z}),zn=new f6({stepNumber:ce.length,model:{provider:D.provider,modelId:D.modelId},...gr,experimental_context:se,content:Ne,finishReason:fe.finishReason,rawFinishReason:fe.rawFinishReason,usage:fe.usage,warnings:xe,request:ne,response:{...fe.response,messages:[...We,...Ge]},providerMetadata:fe.providerMetadata});await Mo({event:zn,callbacks:[J,de.onStepFinish]}),ku({warnings:xe,provider:D.provider,model:D.modelId}),ce.push(zn),We.push(...Ge),ze.resolve()}if(fe.type==="finish")B=fe.totalUsage,ee=fe.finishReason,we=fe.rawFinishReason},async flush(on){var mn,Pn,Xn,O,ie,fe,Ge;try{if(ce.length===0||ve!=null){let an=(a==null?void 0:a.aborted)?a.reason:ve!=null?ve:new Gx({message:"No output generated. Check the stream for errors."});Ft._finishReason.reject(an),Ft._rawFinishReason.reject(an),Ft._totalUsage.reject(an),Ft._steps.reject(an);return}let zn=ee!=null?ee:"other",lt=B!=null?B:w0();Ft._finishReason.resolve(zn),Ft._rawFinishReason.resolve(we),Ft._totalUsage.resolve(lt),Ft._steps.resolve(ce);let ot=ce[ce.length-1],oi={stepNumber:ot.stepNumber,model:ot.model,functionId:ot.functionId,metadata:ot.metadata,experimental_context:ot.experimental_context,finishReason:ot.finishReason,rawFinishReason:ot.rawFinishReason,totalUsage:lt,usage:ot.usage,content:ot.content,text:ot.text,reasoningText:ot.reasoningText,reasoning:ot.reasoning,files:ot.files,sources:ot.sources,toolCalls:ot.toolCalls,staticToolCalls:ot.staticToolCalls,dynamicToolCalls:ot.dynamicToolCalls,toolResults:ot.toolResults,staticToolResults:ot.staticToolResults,dynamicToolResults:ot.dynamicToolResults,request:ot.request,response:ot.response,warnings:ot.warnings,providerMetadata:ot.providerMetadata,steps:ce},cn=Q==null?void 0:async(an)=>{let Xe=S==null?void 0:await Ft.getOutputPromise().catch(()=>{return});await Q({...an,...S!=null?{output:Xe}:{}})};await Promise.all([Mo({event:oi,callbacks:cn}),Mo({event:oi,callbacks:de.onFinish})]),Ke.setAttributes(await Un({telemetry:t,attributes:{"ai.response.finishReason":zn,"ai.response.text":{output:()=>ot.text},"ai.response.reasoning":{output:()=>ot.reasoningText},"ai.response.toolCalls":{output:()=>{var an;return((an=ot.toolCalls)==null?void 0:an.length)?JSON.stringify(ot.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(ot.providerMetadata),"ai.usage.inputTokens":lt.inputTokens,"ai.usage.inputTokenDetails.noCacheTokens":(mn=lt.inputTokenDetails)==null?void 0:mn.noCacheTokens,"ai.usage.inputTokenDetails.cacheReadTokens":(Pn=lt.inputTokenDetails)==null?void 0:Pn.cacheReadTokens,"ai.usage.inputTokenDetails.cacheWriteTokens":(Xn=lt.inputTokenDetails)==null?void 0:Xn.cacheWriteTokens,"ai.usage.outputTokens":lt.outputTokens,"ai.usage.outputTokenDetails.textTokens":(O=lt.outputTokenDetails)==null?void 0:O.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":(ie=lt.outputTokenDetails)==null?void 0:ie.reasoningTokens,"ai.usage.totalTokens":lt.totalTokens,"ai.usage.reasoningTokens":(fe=lt.outputTokenDetails)==null?void 0:fe.reasoningTokens,"ai.usage.cachedInputTokens":(Ge=lt.inputTokenDetails)==null?void 0:Ge.cacheReadTokens}}))}catch(zn){on.error(zn)}finally{Ke.end()}}}),he=URe();this.addStream=he.addStream,this.closeStream=he.close;let pe=he.stream.getReader(),st=new ReadableStream({async start(on){on.enqueue({type:"start"})},async pull(on){function mn(){ae==null||ae({steps:ce}),on.enqueue({type:"abort",...(a==null?void 0:a.reason)!==void 0?{reason:aa(a.reason)}:{}}),on.close()}try{let{done:Pn,value:Xn}=await pe.read();if(Pn){on.close();return}if(a==null?void 0:a.aborted){mn();return}on.enqueue(Xn)}catch(Pn){if(Ao(Pn)&&(a==null?void 0:a.aborted))mn();else on.error(Pn)}},cancel(on){return he.stream.cancel(on)}});for(let on of b)st=st.pipeThrough(on({tools:g,stopStream(){he.terminate()}}));this.baseStream=st.pipeThrough(VRe(S!=null?S:Qx())).pipeThrough(te);let{maxRetries:Ue,retry:Tn}=Sh({maxRetries:i,abortSignal:a}),Nn=tw(t),bn=Gp(r),fr=ew({model:e,telemetry:t,headers:n,settings:{...bn,maxRetries:Ue}}),Ft=this,En={provider:e.provider,modelId:e.modelId},gr={functionId:t==null?void 0:t.functionId,metadata:t==null?void 0:t.metadata};Ka({name:"ai.streamText",attributes:Un({telemetry:t,attributes:{...Ha({operationId:"ai.streamText",telemetry:t}),...fr,"ai.prompt":{input:()=>JSON.stringify({system:d,prompt:p,messages:f})}}}),tracer:Nn,endWhenDone:!1,fn:async(on)=>{Ke=on;let mn=await F0({system:d,prompt:p,messages:f,allowSystemInMessages:m});await Mo({event:{model:En,system:d,prompt:p,messages:f,tools:g,toolChoice:h,activeTools:w,maxOutputTokens:bn.maxOutputTokens,temperature:bn.temperature,topP:bn.topP,topK:bn.topK,presencePenalty:bn.presencePenalty,frequencyPenalty:bn.frequencyPenalty,stopSequences:bn.stopSequences,seed:bn.seed,maxRetries:Ue,timeout:x,headers:n,providerOptions:A,stopWhen:M,output:S,abortSignal:q,include:X,...gr,experimental_context:se},callbacks:[oe,de.onStart]});let Pn=mn.messages,Xn=[],{approvedToolApprovals:O,deniedToolApprovals:ie}=t6({messages:Pn});if(ie.length>0||O.length>0){let{approvedToolApprovals:Ge,deniedToolApprovals:zn,invalidToolApprovals:lt}=await c6({approvedToolApprovals:O.filter((Xe)=>!Xe.toolCall.providerExecuted),tools:g,messages:Pn,experimental_context:se,toolApprovalSecret:T}),ot=[...ie.filter((Xe)=>!Xe.toolCall.providerExecuted),...zn],oi=ie.filter((Xe)=>Xe.toolCall.providerExecuted),cn,an=new ReadableStream({start(Xe){cn=Xe}});Ft.addStream(an);try{for(let Gt of[...ot,...oi])cn==null||cn.enqueue({type:"tool-output-denied",toolCallId:Gt.toolCall.toolCallId,toolName:Gt.toolCall.toolName});for(let Gt of lt)cn==null||cn.enqueue({type:"tool-error",toolCallId:Gt.toolCall.toolCallId,toolName:Gt.toolCall.toolName,input:Gt.toolCall.input,error:aa(Gt.error),title:Gt.toolCall.title,...Gt.toolCall.dynamic===!0?{dynamic:!0}:{},...Gt.toolCall.toolMetadata!=null?{toolMetadata:Gt.toolCall.toolMetadata}:{}});let Xe=[];if(await Promise.all(Ge.map(async(Gt)=>{let Qt=await $0({toolCall:Gt.toolCall,tools:g,tracer:Nn,telemetry:t,messages:Pn,abortSignal:a,experimental_context:se,stepNumber:ce.length,model:En,onToolCallStart:[P,de.onToolCallStart],onToolCallFinish:[L,de.onToolCallFinish],onPreliminaryToolResult:(Yl)=>{cn==null||cn.enqueue(Yl)}});if(Qt!=null)cn==null||cn.enqueue(Qt),Xe.push(Qt)})),Xe.length>0||ot.length>0||lt.length>0){let Gt=[];for(let Qt of Xe)Gt.push({type:"tool-result",toolCallId:Qt.toolCallId,toolName:Qt.toolName,output:await Cu({toolCallId:Qt.toolCallId,input:Qt.input,tool:g==null?void 0:g[Qt.toolName],output:Qt.type==="tool-result"?Qt.output:Qt.error,errorMode:Qt.type==="tool-error"?"text":"none"})});for(let Qt of lt)Gt.push({type:"tool-result",toolCallId:Qt.toolCall.toolCallId,toolName:Qt.toolCall.toolName,output:await Cu({toolCallId:Qt.toolCall.toolCallId,input:Qt.toolCall.input,tool:g==null?void 0:g[Qt.toolCall.toolName],output:Qt.error,errorMode:"text"})});for(let Qt of ot)Gt.push({type:"tool-result",toolCallId:Qt.toolCall.toolCallId,toolName:Qt.toolCall.toolName,output:{type:"execution-denied",reason:Qt.approvalResponse.reason}});Xn.push({role:"tool",content:Gt})}}finally{cn==null||cn.close()}}We.push(...Xn);async function fe({currentStep:Ge,responseMessages:zn,usage:lt}){var ot,oi,cn,an,Xe,Gt,Qt,Yl,Du;let ii=Ft.includeRawChunks,ai=I0({abortController:l,label:"Step",timeoutMs:s}),pa=void 0;function Zw(){if(pa!=null)clearTimeout(pa);pa=I0({abortController:u,label:"Chunk",timeoutMs:c})}function Ww(){if(pa!=null)clearTimeout(pa),pa=void 0}function Hh(){if(ai!=null)clearTimeout(ai)}function ma(){Hh(),Ww()}function So(){a==null||a.removeEventListener("abort",So),ma()}a==null||a.addEventListener("abort",So,{once:!0});try{ze=new wu;let Mi=[...Pn,...zn],Bn=await(v==null?void 0:v({model:e,steps:ce,stepNumber:ce.length,messages:Mi,experimental_context:se})),ji=gh((ot=Bn==null?void 0:Bn.model)!=null?ot:e);D=ji;let Nu={provider:ji.provider,modelId:ji.modelId},Kh=await B0({prompt:{system:(oi=Bn==null?void 0:Bn.system)!=null?oi:mn.system,messages:(cn=Bn==null?void 0:Bn.messages)!=null?cn:Mi},supportedUrls:await ji.supportedUrls,download:le,abortSignal:a}),pm=(an=Bn==null?void 0:Bn.activeTools)!=null?an:w,ts=n6({tools:g,activeTools:pm});Z=ts;let{toolChoice:Xl,tools:xt}=await JQ({tools:g,toolChoice:(Xe=Bn==null?void 0:Bn.toolChoice)!=null?Xe:h,activeTools:pm});se=(Gt=Bn==null?void 0:Bn.experimental_context)!=null?Gt:se;let to=(Qt=Bn==null?void 0:Bn.messages)!=null?Qt:Mi,Hs=(Yl=Bn==null?void 0:Bn.system)!=null?Yl:mn.system,Di=vh(A,Bn==null?void 0:Bn.providerOptions),Ni=m6({callSettings:bn,stepSettings:Bn});await Mo({event:{stepNumber:ce.length,model:Nu,system:Hs,messages:to,tools:g,toolChoice:Xl,activeTools:pm,steps:[...ce],providerOptions:Di,timeout:x,headers:n,stopWhen:M,output:S,abortSignal:q,include:X,...gr,experimental_context:se},callbacks:[be,de.onStepStart]});let{result:{stream:Qh,response:mm,request:zu},doStreamSpan:zi,startTimestampMs:vn}=await Tn(()=>Ka({name:"ai.streamText.doStream",attributes:Un({telemetry:t,attributes:{...Ha({operationId:"ai.streamText.doStream",telemetry:t}),...fr,"ai.model.provider":ji.provider,"ai.model.id":ji.modelId,"ai.prompt.messages":{input:()=>L0(Kh)},"ai.prompt.tools":{input:()=>xt==null?void 0:xt.map((et)=>JSON.stringify(et))},"ai.prompt.toolChoice":{input:()=>Xl!=null?JSON.stringify(Xl):void 0},"gen_ai.system":ji.provider,"gen_ai.request.model":ji.modelId,"gen_ai.request.frequency_penalty":Ni.frequencyPenalty,"gen_ai.request.max_tokens":Ni.maxOutputTokens,"gen_ai.request.presence_penalty":Ni.presencePenalty,"gen_ai.request.stop_sequences":Ni.stopSequences,"gen_ai.request.temperature":Ni.temperature,"gen_ai.request.top_k":Ni.topK,"gen_ai.request.top_p":Ni.topP}}),tracer:Nn,endWhenDone:!1,endOnError:!0,fn:async(et)=>({startTimestampMs:z(),doStreamSpan:et,result:await ji.doStream({...Ni,tools:xt,toolChoice:Xl,responseFormat:await(S==null?void 0:S.responseFormat),prompt:Kh,providerOptions:Di,abortSignal:a,headers:n,includeRawChunks:ii})})})),Ks=ZRe({tools:ts,generatorStream:Qh,tracer:Nn,telemetry:t,system:d,messages:Mi,repairToolCall:_,abortSignal:a,experimental_context:se,toolApprovalSecret:T,generateId:F,stepNumber:ce.length,model:Nu,onToolCallStart:[P,de.onToolCallStart],onToolCallFinish:[L,de.onToolCallFinish]}),Gw=((Du=X==null?void 0:X.requestBody)!=null?Du:!0)?zu!=null?zu:{}:{...zu,body:void 0},Qs=[],fm=[],Jw,Bu="other",Vw=void 0,Hw=!1,YM=!1,Ur=w0(),XM,ej=!0,fa={id:F(),timestamp:new Date,modelId:Nu.modelId},CX="",Yh=new Map,Xh=new Map;Ft.addStream(Ks.pipeThrough(new TransformStream({async transform(et,er){var gm,hm,ym,bm,vm,Sm,ey,xm,Fu;if(Zw(),et.type==="stream-start"){Jw=et.warnings;return}if(ej){let hr=z()-vn;ej=!1,zi.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":hr}),zi.setAttributes({"ai.response.msToFirstChunk":hr}),er.enqueue({type:"start-step",request:Gw,warnings:Jw!=null?Jw:[]})}let qu=et.type;if(GRe[qu])YM=!0;switch(qu){case"tool-approval-request":{er.enqueue(et);break}case"text-start":{let hr=Oe(et.id);Yh.set(et.id,hr),er.enqueue({...et,id:hr});break}case"text-end":{er.enqueue({...et,id:(gm=Yh.get(et.id))!=null?gm:et.id}),Yh.delete(et.id);break}case"text-delta":{if(et.delta.length>0||et.providerMetadata!=null)er.enqueue({type:"text-delta",id:(hm=Yh.get(et.id))!=null?hm:et.id,text:et.delta,providerMetadata:et.providerMetadata});CX+=et.delta;break}case"reasoning-start":{let hr=ye(et.id);Xh.set(et.id,hr),er.enqueue({...et,id:hr});break}case"reasoning-end":{er.enqueue({...et,id:(ym=Xh.get(et.id))!=null?ym:et.id}),Xh.delete(et.id);break}case"reasoning-delta":{er.enqueue({type:"reasoning-delta",id:(bm=Xh.get(et.id))!=null?bm:et.id,text:et.delta,providerMetadata:et.providerMetadata});break}case"tool-call":{er.enqueue(et),Qs.push(et);break}case"tool-result":{if(er.enqueue(et),!et.preliminary)fm.push(et);break}case"tool-error":{er.enqueue(et),fm.push(et);break}case"response-metadata":{fa={id:(vm=et.id)!=null?vm:fa.id,timestamp:(Sm=et.timestamp)!=null?Sm:fa.timestamp,modelId:(ey=et.modelId)!=null?ey:fa.modelId};break}case"finish":{Hw=!0,Ur=et.usage,Bu=et.finishReason,Vw=et.rawFinishReason,XM=et.providerMetadata;let hr=z()-vn;zi.addEvent("ai.stream.finish"),zi.setAttributes({"ai.response.msToFinish":hr,"ai.response.avgOutputTokensPerSecond":1000*((xm=Ur.outputTokens)!=null?xm:0)/hr});break}case"file":{er.enqueue(et);break}case"source":{er.enqueue(et);break}case"tool-input-start":{let hr=ts==null?void 0:ts[et.toolName];er.enqueue({...et,dynamic:(Fu=et.dynamic)!=null?Fu:(hr==null?void 0:hr.type)==="dynamic",title:hr==null?void 0:hr.title});break}case"tool-input-end":{er.enqueue(et);break}case"tool-input-delta":{er.enqueue(et);break}case"error":{Hw=!0,er.enqueue(et),Bu="error";break}case"raw":{if(ii)er.enqueue(et);break}default:throw Error(`Unknown chunk type: ${qu}`)}},async flush(et){var er,gm,hm,ym,bm,vm,Sm;if(!Hw&&!YM){et.enqueue({type:"error",error:new Gx({message:"No output generated. The model stream ended without a finish chunk."})}),zi.end(),So(),Ft.closeStream();return}let ey=Qs.length>0?JSON.stringify(Qs):void 0;try{zi.setAttributes(await Un({telemetry:t,attributes:{"ai.response.finishReason":Bu,"ai.response.toolCalls":{output:()=>ey},"ai.response.id":fa.id,"ai.response.model":fa.modelId,"ai.response.timestamp":fa.timestamp.toISOString(),"ai.usage.inputTokens":Ur.inputTokens,"ai.usage.inputTokenDetails.noCacheTokens":(er=Ur.inputTokenDetails)==null?void 0:er.noCacheTokens,"ai.usage.inputTokenDetails.cacheReadTokens":(gm=Ur.inputTokenDetails)==null?void 0:gm.cacheReadTokens,"ai.usage.inputTokenDetails.cacheWriteTokens":(hm=Ur.inputTokenDetails)==null?void 0:hm.cacheWriteTokens,"ai.usage.outputTokens":Ur.outputTokens,"ai.usage.outputTokenDetails.textTokens":(ym=Ur.outputTokenDetails)==null?void 0:ym.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":(bm=Ur.outputTokenDetails)==null?void 0:bm.reasoningTokens,"ai.usage.totalTokens":Ur.totalTokens,"ai.usage.reasoningTokens":(vm=Ur.outputTokenDetails)==null?void 0:vm.reasoningTokens,"ai.usage.cachedInputTokens":(Sm=Ur.inputTokenDetails)==null?void 0:Sm.cacheReadTokens,"gen_ai.response.finish_reasons":[Bu],"gen_ai.response.id":fa.id,"gen_ai.response.model":fa.modelId,"gen_ai.usage.input_tokens":Ur.inputTokens,"gen_ai.usage.output_tokens":Ur.outputTokens}}))}catch(Nr){}et.enqueue({type:"finish-step",finishReason:Bu,rawFinishReason:Vw,usage:Ur,providerMetadata:XM,response:{...fa,headers:mm==null?void 0:mm.headers}});let xm=e6(lt,Ur);await ze.promise;let Fu=ce[ce.length-1];try{zi.setAttributes(await Un({telemetry:t,attributes:{"ai.response.text":{output:()=>Fu.text},"ai.response.reasoning":{output:()=>Fu.reasoningText},"ai.response.providerMetadata":JSON.stringify(Fu.providerMetadata)}}))}catch(Nr){}finally{zi.end()}let qu=Qs.filter((Nr)=>Nr.providerExecuted!==!0),hr=fm.filter((Nr)=>Nr.providerExecuted!==!0);for(let Nr of Qs){if(Nr.providerExecuted!==!0)continue;let Kw=ts==null?void 0:ts[Nr.toolName];if((Kw==null?void 0:Kw.type)==="provider"&&Kw.supportsDeferredResults){if(!fm.some((Qw)=>(Qw.type==="tool-result"||Qw.type==="tool-error")&&Qw.toolCallId===Nr.toolCallId))Ce.set(Nr.toolCallId,{toolName:Nr.toolName})}}for(let Nr of fm)if(Nr.type==="tool-result"||Nr.type==="tool-error")Ce.delete(Nr.toolCallId);if(So(),(qu.length>0&&hr.length===qu.length||Ce.size>0)&&!await g6({stopConditions:y,steps:ce})){zn.push(...await A0({content:ce[ce.length-1].content,tools:ts}));try{await fe({currentStep:Ge+1,responseMessages:zn,usage:xm})}catch(Nr){et.enqueue({type:"error",error:Nr}),Ft.closeStream()}}else et.enqueue({type:"finish",finishReason:Bu,rawFinishReason:Vw,totalUsage:xm}),Ft.closeStream()}})),{onError:So,onCancel:So})}catch(Mi){throw So(),Mi}}await fe({currentStep:0,responseMessages:Xn,usage:w0()})}}).catch((on)=>{Ft.addStream(new ReadableStream({start(mn){mn.enqueue({type:"error",error:on}),mn.close()}})),Ft.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then((e)=>e[e.length-1])}get content(){return this.finalStep.then((e)=>e.content)}get warnings(){return this.finalStep.then((e)=>e.warnings)}get providerMetadata(){return this.finalStep.then((e)=>e.providerMetadata)}get text(){return this.finalStep.then((e)=>e.text)}get reasoningText(){return this.finalStep.then((e)=>e.reasoningText)}get reasoning(){return this.finalStep.then((e)=>e.reasoning)}get sources(){return this.finalStep.then((e)=>e.sources)}get files(){return this.finalStep.then((e)=>e.files)}get toolCalls(){return this.finalStep.then((e)=>e.toolCalls)}get staticToolCalls(){return this.finalStep.then((e)=>e.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then((e)=>e.dynamicToolCalls)}get toolResults(){return this.finalStep.then((e)=>e.toolResults)}get staticToolResults(){return this.finalStep.then((e)=>e.staticToolResults)}get dynamicToolResults(){return this.finalStep.then((e)=>e.dynamicToolResults)}get usage(){return this.finalStep.then((e)=>e.usage)}get request(){return this.finalStep.then((e)=>e.request)}get response(){return this.finalStep.then((e)=>e.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){let[e,t]=this.baseStream.tee();return this.baseStream=t,e}get textStream(){return Wp(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){if(e.type==="text-delta")t.enqueue(e.text)}})))}get fullStream(){return Wp(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}rejectResultPromises(e){if(this._finishReason.isPending())this._finishReason.reject(e);if(this._rawFinishReason.isPending())this._rawFinishReason.reject(e);if(this._totalUsage.isPending())this._totalUsage.reject(e);if(this._steps.isPending())this._steps.reject(e)}async consumeStream(e){var t;try{await $Re({stream:this.fullStream,onError:(n)=>{var r;this.rejectResultPromises(n),(r=e==null?void 0:e.onError)==null||r.call(e,n)}})}catch(n){this.rejectResultPromises(n),(t=e==null?void 0:e.onError)==null||t.call(e,n)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return Wp(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){if(e!==void 0)t.enqueue(e)}})))}get elementStream(){var e,t,n;let r=(e=this.outputSpecification)==null?void 0:e.createElementStreamTransform();if(r==null)throw new Nt({functionality:`element streams in ${(n=(t=this.outputSpecification)==null?void 0:t.name)!=null?n:"text"} mode`});return Wp(this.teeStream().pipeThrough(r))}getOutputPromise(){if(this.outputPromise==null)this.outputPromise=this.finalStep.then((e)=>{var t;return((t=this.outputSpecification)!=null?t:Qx()).parseCompleteOutput({text:e.text},{response:e.response,usage:e.usage,finishReason:e.finishReason})});return this.outputPromise}get output(){return this.getOutputPromise()}toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:n,messageMetadata:r,sendReasoning:i=!0,sendSources:a=!1,sendStart:s=!0,sendFinish:l=!0,onError:c=()=>"An error occurred."}={}){let u={status:"unknown"},d=!1,p=(y)=>{if(!d&&u.status!=="completed"&&u.status!=="aborted"&&y.status!=="unknown"&&(u.status==="unknown"||y.status!=="failed"))u=y},f=(y)=>{d=!0,u={status:"failed",error:y}},m=t!=null?zRe({originalMessages:e,responseMessageId:t}):void 0,g=(y)=>{var S;let A=(S=this.tools)==null?void 0:S[y.toolName];if(A==null)return y.dynamic;return(A==null?void 0:A.type)==="dynamic"?!0:void 0},h=(y)=>{let S=y.getReader(),A=!1,v=!1,R=()=>{if(!A)S.releaseLock(),A=!0};return new ReadableStream({async pull(z){try{let{done:F,value:x}=await S.read();if(F){if(R(),!v)z.close()}else z.enqueue(x)}catch(F){if(R(),!v)f(F),z.error(F)}},async cancel(z){if(v=!0,A)return;try{await S.cancel(z)}finally{R()}}})},w=h(this.fullStream).pipeThrough(new TransformStream({transform:async(y,S)=>{let A=r==null?void 0:r({part:y}),v=y.type;switch(v){case"text-start":{S.enqueue({type:"text-start",id:y.id,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"text-delta":{S.enqueue({type:"text-delta",id:y.id,delta:y.text,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"text-end":{S.enqueue({type:"text-end",id:y.id,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"reasoning-start":case"reasoning-end":{if(i)S.enqueue({type:v,id:y.id,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"reasoning-delta":{if(i)S.enqueue({type:"reasoning-delta",id:y.id,delta:y.text,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"file":{S.enqueue({type:"file",mediaType:y.file.mediaType,url:`data:${y.file.mediaType};base64,${y.file.base64}`,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"source":{if(a&&y.sourceType==="url")S.enqueue({type:"source-url",sourceId:y.id,url:y.url,title:y.title,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});if(a&&y.sourceType==="document")S.enqueue({type:"source-document",sourceId:y.id,mediaType:y.mediaType,title:y.title,filename:y.filename,...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{}});break}case"tool-input-start":{let R=g(y);S.enqueue({type:"tool-input-start",toolCallId:y.id,toolName:y.toolName,...y.providerExecuted!=null?{providerExecuted:y.providerExecuted}:{},...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{},...y.toolMetadata!=null?{toolMetadata:y.toolMetadata}:{},...R!=null?{dynamic:R}:{},...y.title!=null?{title:y.title}:{}});break}case"tool-input-delta":{S.enqueue({type:"tool-input-delta",toolCallId:y.id,inputTextDelta:y.delta});break}case"tool-call":{let R=g(y);if(y.invalid)S.enqueue({type:"tool-input-error",toolCallId:y.toolCallId,toolName:y.toolName,input:y.input,...y.providerExecuted!=null?{providerExecuted:y.providerExecuted}:{},...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{},...y.toolMetadata!=null?{toolMetadata:y.toolMetadata}:{},...R!=null?{dynamic:R}:{},errorText:c(y.error),...y.title!=null?{title:y.title}:{}});else S.enqueue({type:"tool-input-available",toolCallId:y.toolCallId,toolName:y.toolName,input:y.input,...y.providerExecuted!=null?{providerExecuted:y.providerExecuted}:{},...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{},...y.toolMetadata!=null?{toolMetadata:y.toolMetadata}:{},...R!=null?{dynamic:R}:{},...y.title!=null?{title:y.title}:{}});break}case"tool-approval-request":{let R=u6(y.toolCall);S.enqueue({type:"tool-approval-request",approvalId:y.approvalId,toolCallId:y.toolCall.toolCallId,...R!=null&&!yh(R.value,y.toolCall.input)?{inputSchemaInput:R.value}:{},...y.signature!=null?{signature:y.signature}:{}});break}case"tool-result":{let R=g(y);S.enqueue({type:"tool-output-available",toolCallId:y.toolCallId,output:y.output===void 0?null:y.output,...y.providerExecuted!=null?{providerExecuted:y.providerExecuted}:{},...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{},...y.toolMetadata!=null?{toolMetadata:y.toolMetadata}:{},...y.preliminary!=null?{preliminary:y.preliminary}:{},...R!=null?{dynamic:R}:{}});break}case"tool-error":{let R=g(y);S.enqueue({type:"tool-output-error",toolCallId:y.toolCallId,errorText:y.providerExecuted?typeof y.error==="string"?y.error:JSON.stringify(y.error):c(y.error),...y.providerExecuted!=null?{providerExecuted:y.providerExecuted}:{},...y.providerMetadata!=null?{providerMetadata:y.providerMetadata}:{},...y.toolMetadata!=null?{toolMetadata:y.toolMetadata}:{},...R!=null?{dynamic:R}:{}});break}case"tool-output-denied":{S.enqueue({type:"tool-output-denied",toolCallId:y.toolCallId});break}case"error":{S.enqueue({type:"error",errorText:c(y.error)});break}case"start-step":{S.enqueue({type:"start-step"});break}case"finish-step":{S.enqueue({type:"finish-step"});break}case"start":{if(s)S.enqueue({type:"start",...A!=null?{messageMetadata:A}:{},...m!=null?{messageId:m}:{}});break}case"finish":{if(l)S.enqueue({type:"finish",finishReason:y.finishReason,...A!=null?{messageMetadata:A}:{}});break}case"abort":{S.enqueue(y);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${v}`)}if(A!=null&&v!=="start"&&v!=="finish")S.enqueue({type:"message-metadata",messageMetadata:A});if(y.type==="finish")p({status:"completed"});else if(y.type==="abort")p({status:"aborted"});else if(y.type==="error")p({status:"failed",error:y.error})}})),_=h(w);return Wp(w6({stream:_,messageId:m!=null?m:t==null?void 0:t(),originalMessages:e,onFinish:n,onError:c,getOutcome:()=>u}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:n,onFinish:r,messageMetadata:i,sendReasoning:a,sendSources:s,sendFinish:l,sendStart:c,onError:u,...d}={}){return LRe({response:e,stream:this.toUIMessageStream({originalMessages:t,generateMessageId:n,onFinish:r,messageMetadata:i,sendReasoning:a,sendSources:s,sendFinish:l,sendStart:c,onError:u}),...d})}pipeTextStreamToResponse(e,t){return MRe({response:e,textStream:this.textStream,...t})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:t,onFinish:n,messageMetadata:r,sendReasoning:i,sendSources:a,sendFinish:s,sendStart:l,onError:c,...u}={}){return NRe({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:t,onFinish:n,messageMetadata:r,sendReasoning:i,sendSources:a,sendFinish:s,sendStart:l,onError:c}),...u})}toTextStreamResponse(e){return ORe({textStream:this.textStream,...e})}},T6=class{constructor(e){this.version="agent-v1",this.settings=e}get id(){return this.settings.id}get tools(){return this.settings.tools}async prepareCall(e){var t,n,r,i;if(this.settings.callOptionsSchema!=null&&e.options!==void 0){let g=await kt({value:e.options,schema:this.settings.callOptionsSchema,context:{field:"options"}});e={...e,options:g}}let{onStepFinish:a,...s}=this.settings,l={...s,stopWhen:(t=this.settings.stopWhen)!=null?t:wh(20),...e},c=(i=await((r=(n=this.settings).prepareCall)==null?void 0:r.call(n,l)))!=null?i:l,{instructions:u,allowSystemInMessages:d,messages:p,prompt:f,...m}=c;return{...m,...{system:u,allowSystemInMessages:d,messages:p,prompt:f}}}mergeOnStepFinishCallbacks(e){let t=this.settings.onStepFinish;if(e&&t)return async(n)=>{await t(n),await e(n)};return e!=null?e:t}async generate({abortSignal:e,timeout:t,onStepFinish:n,...r}){let i=await this.prepareCall(r);return Th({...i,abortSignal:e,timeout:t!=null?t:i.timeout,onStepFinish:this.mergeOnStepFinishCallbacks(n)})}async stream({abortSignal:e,timeout:t,experimental_transform:n,onStepFinish:r,...i}){let a=await this.prepareCall(i);return JRe({...a,abortSignal:e,timeout:t!=null?t:a.timeout,experimental_transform:n,onStepFinish:this.mergeOnStepFinishCallbacks(r)})}};function i_t({execute:e,onError:t=()=>"An error occurred.",originalMessages:n,onStepFinish:r,onFinish:i,generateId:a=$t}){let s,l=[],c={status:"unknown"},u=new ReadableStream({start(b){s=b}});function d(b){try{s.enqueue(b)}catch(w){}}function p(b){if(c.status==="unknown"&&b.status!=="unknown")c=b}function f(b){c={status:"failed",error:b}}function m(b){try{s.error(b)}catch(w){}}function g(b){f(b);let w;try{w=t(b)}catch(_){f(_),m(_);return}d({type:"error",errorText:w})}try{let b=e({writer:{write(w){d(w)},merge(w){l.push((async()=>{let _=w.getReader();while(!0){let{done:y,value:S}=await _.read();if(y)break;d(S)}})().catch((_)=>{g(_)}))},setOutcome:p,onError:t}});if(b)l.push(b.catch((w)=>{g(w)}))}catch(b){g(b)}return(async()=>{while(l.length>0)await l.shift()})().finally(()=>{try{s.close()}catch(b){}}),w6({stream:u,messageId:a(),originalMessages:n,onStepFinish:r,onFinish:i,onError:t,getOutcome:()=>c})}function _6(e,t){return e!=null&&Object.hasOwn(e,t)?e[t]:void 0}var Po=o.record(o.string(),Ru.optional());var l_t=G(()=>{let e=o.object({id:o.string(),approved:o.never().optional(),descriptor:o.unknown().optional(),reason:o.never().optional(),signature:o.string().optional(),inputSchemaInput:o.unknown().optional()}),t=e.extend({approved:o.boolean(),reason:o.string().optional()}),n=t.extend({approved:o.literal(!0)}),r=t.extend({approved:o.literal(!1)});return W(o.array(o.object({id:o.string(),role:o.enum(["system","user","assistant"]),metadata:o.unknown().optional(),parts:o.array(o.union([o.object({type:o.literal("text"),text:o.string(),state:o.enum(["streaming","done"]).optional(),providerMetadata:rt.optional()}),o.object({type:o.literal("reasoning"),id:o.string().optional(),text:o.string(),state:o.enum(["streaming","done"]).optional(),providerMetadata:rt.optional()}),o.object({type:o.literal("source-url"),sourceId:o.string(),url:o.string(),title:o.string().optional(),providerMetadata:rt.optional()}),o.object({type:o.literal("source-document"),sourceId:o.string(),mediaType:o.string(),title:o.string(),filename:o.string().optional(),providerMetadata:rt.optional()}),o.object({type:o.literal("file"),mediaType:o.string(),filename:o.string().optional(),url:o.string(),providerMetadata:rt.optional()}),o.object({type:o.literal("step-start")}),o.object({type:o.string().startsWith("data-"),id:o.string().optional(),data:o.unknown()}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("input-streaming"),input:o.unknown().optional(),rawInput:o.string().optional(),providerExecuted:o.boolean().optional(),callProviderMetadata:rt.optional(),output:o.never().optional(),errorText:o.never().optional(),approval:o.never().optional()}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("input-available"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:rt.optional(),approval:o.never().optional()}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("approval-requested"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:rt.optional(),approval:e}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("approval-responded"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:rt.optional(),approval:t}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-available"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.unknown(),errorText:o.never().optional(),callProviderMetadata:rt.optional(),resultProviderMetadata:rt.optional(),preliminary:o.boolean().optional(),approval:n.optional()}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-error"),input:o.unknown().optional(),rawInput:o.unknown().optional(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.string(),callProviderMetadata:rt.optional(),resultProviderMetadata:rt.optional(),approval:n.optional()}),o.object({type:o.literal("dynamic-tool"),dynamic:o.literal(!1).optional(),toolName:o.string(),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-denied"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:rt.optional(),approval:r}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("input-streaming"),providerExecuted:o.boolean().optional(),callProviderMetadata:rt.optional(),input:o.unknown().optional(),rawInput:o.string().optional(),output:o.never().optional(),errorText:o.never().optional(),approval:o.never().optional()}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("input-available"),providerExecuted:o.boolean().optional(),input:o.unknown(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:rt.optional(),approval:o.never().optional()}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("approval-requested"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:rt.optional(),approval:e}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("approval-responded"),input:o.unknown(),providerExecuted:o.boolean().optional(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:rt.optional(),approval:t}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-available"),providerExecuted:o.boolean().optional(),input:o.unknown(),output:o.unknown(),errorText:o.never().optional(),callProviderMetadata:rt.optional(),resultProviderMetadata:rt.optional(),preliminary:o.boolean().optional(),approval:n.optional()}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-error"),providerExecuted:o.boolean().optional(),input:o.unknown().optional(),rawInput:o.unknown().optional(),output:o.never().optional(),errorText:o.string(),callProviderMetadata:rt.optional(),resultProviderMetadata:rt.optional(),approval:n.optional()}),o.object({type:o.string().startsWith("tool-"),toolCallId:o.string(),toolMetadata:Po.optional(),state:o.literal("output-denied"),providerExecuted:o.boolean().optional(),input:o.unknown(),output:o.never().optional(),errorText:o.never().optional(),callProviderMetadata:rt.optional(),approval:r})]))}).superRefine((i,a)=>{if(i.role!=="assistant"&&i.parts.length===0)a.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:i.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))});function I6(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0})}function KRe(e){return e[Rx]}function QRe(e){return e[Ax]}function YRe(e,t){if(t<=0)throw Error("chunkSize must be greater than 0");let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}async function C6({model:e,values:t,maxParallelCalls:n=1/0,maxRetries:r,abortSignal:i,headers:a,providerOptions:s,experimental_telemetry:l}){let c=Fke(e),{maxRetries:u,retry:d}=Sh({maxRetries:r,abortSignal:i}),p=Yn(a!=null?a:{},`ai/${bh}`),f=ew({model:c,telemetry:l,headers:p,settings:{maxRetries:u}}),m=tw(l);return Ka({name:"ai.embedMany",attributes:Un({telemetry:l,attributes:{...Ha({operationId:"ai.embedMany",telemetry:l}),...f,"ai.values":{input:()=>t.map((g)=>JSON.stringify(g))}}}),tracer:m,fn:async(g)=>{let[h,b,w]=await Promise.all([c.maxEmbeddingsPerCall,KRe(c),c.supportsParallelCalls]),_=h!=null&&h!==1/0,y=b!=null&&b!==1/0;if(!_&&!y){let{embeddings:E,usage:N,warnings:Q,response:ae,providerMetadata:J}=await d(()=>Ka({name:"ai.embedMany.doEmbed",attributes:Un({telemetry:l,attributes:{...Ha({operationId:"ai.embedMany.doEmbed",telemetry:l}),...f,"ai.values":{input:()=>t.map((oe)=>JSON.stringify(oe))}}}),tracer:m,fn:async(oe)=>{var be,P;let L=await c.doEmbed({values:t,abortSignal:i,headers:p,providerOptions:s}),se=L.embeddings,T=(be=L.usage)!=null?be:{tokens:NaN};return oe.setAttributes(await Un({telemetry:l,attributes:{"ai.embeddings":{output:()=>se.map((le)=>JSON.stringify(le))},"ai.usage.tokens":T.tokens}})),{embeddings:se,usage:T,warnings:(P=L.warnings)!=null?P:[],providerMetadata:L.providerMetadata,response:L.response}}}));return g.setAttributes(await Un({telemetry:l,attributes:{"ai.embeddings":{output:()=>E.map((oe)=>JSON.stringify(oe))},"ai.usage.tokens":N.tokens}})),ku({warnings:Q,provider:c.provider,model:c.modelId}),new U5({values:t,embeddings:E,usage:N,warnings:Q,providerMetadata:J,responses:[ae]})}let S=eAe({values:t,maxEmbeddingsPerCall:_?h:1/0,maxInputBytesPerCall:y?b:1/0}),A=QRe(c),v=[],R=[],z=[],F=0,x,M=YRe(S,w?n:1),q=0;for(let E of M){let N=await Promise.all(E.map(async(Q)=>{let ae=q;q+=Q.length;let J=A?await A({providerOptions:s,values:t,startIndex:ae,endIndex:ae+Q.length}):s;return d(()=>Ka({name:"ai.embedMany.doEmbed",attributes:Un({telemetry:l,attributes:{...Ha({operationId:"ai.embedMany.doEmbed",telemetry:l}),...f,"ai.values":{input:()=>Q.map((oe)=>JSON.stringify(oe))}}}),tracer:m,fn:async(oe)=>{var be,P;let L=await c.doEmbed({values:Q,abortSignal:i,headers:p,providerOptions:J}),se=L.embeddings,T=(be=L.usage)!=null?be:{tokens:NaN};return oe.setAttributes(await Un({telemetry:l,attributes:{"ai.embeddings":{output:()=>se.map((le)=>JSON.stringify(le))},"ai.usage.tokens":T.tokens}})),{embeddings:se,usage:T,warnings:(P=L.warnings)!=null?P:[],providerMetadata:L.providerMetadata,response:L.response}}}))}));for(let Q of N)if(v.push(...Q.embeddings),R.push(...Q.warnings),z.push(Q.response),F+=Q.usage.tokens,Q.providerMetadata)if(!x)x={...Q.providerMetadata};else for(let[ae,J]of Object.entries(Q.providerMetadata))I6(x,ae,{..._6(x,ae),...J})}return g.setAttributes(await Un({telemetry:l,attributes:{"ai.embeddings":{output:()=>v.map((E)=>JSON.stringify(E))},"ai.usage.tokens":F}})),ku({warnings:R,provider:c.provider,model:c.modelId}),new U5({values:t,embeddings:v,usage:{tokens:F},warnings:R,providerMetadata:x,responses:z})}})}var XRe=new TextEncoder;function eAe({values:e,maxEmbeddingsPerCall:t,maxInputBytesPerCall:n}){if(t<=0)throw Error("maxEmbeddingsPerCall must be greater than 0");if(n<=0)throw Error("maxInputBytesPerCall must be greater than 0");if(e.length===0)return[];let r=[],i=[],a=0;for(let s of e){let l=XRe.encode(s).length;if(i.length>0&&(i.length>=t||a+l>n))r.push(i),i=[],a=0;i.push(s),a+=l}return r.push(i),r}var U5=class{constructor(e){this.values=e.values,this.embeddings=e.embeddings,this.usage=e.usage,this.warnings=e.warnings,this.providerMetadata=e.providerMetadata,this.responses=e.responses}},Wx=class extends Error{constructor(){super("No image generated.");this.name="RetryableNoImageResultError"}};async function J0({model:e,prompt:t,n=1,maxImagesPerCall:r,size:i,aspectRatio:a,seed:s,providerOptions:l,maxRetries:c,abortSignal:u,headers:d}){var p,f;let m=qke(e),g=Yn(d!=null?d:{},`ai/${bh}`),{retry:h}=Sh({maxRetries:c,abortSignal:u,additionalRetryableError:(x)=>x instanceof Wx}),b=(p=r!=null?r:await nAe(m))!=null?p:1,w=Math.ceil(n/b),_=Array.from({length:w},(x,M)=>{if(M<w-1)return b;let q=n%b;return q===0?b:q}),S=(await Promise.all(_.map(async(x)=>{let M=[];try{return await h(async()=>{let{prompt:q,files:E,mask:N}=rAe(t),Q=await m.doGenerate({prompt:q,files:E,mask:N,n:x,abortSignal:u,headers:g,size:i,aspectRatio:a,seed:s,providerOptions:l!=null?l:{}});if(M.push(Q),Q.images.length===0&&Q.isRetryable!==!1)throw new Wx;return Q}),M}catch(q){if((q instanceof Wx?q:qQ.isInstance(q)&&q.lastError instanceof Wx?q.lastError:void 0)!=null)return M;throw q}}))).flat(),A=[],v=[],R=[],z={},F={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};for(let x of S){if(A.push(...x.images.map((M)=>{var q;return new U0({data:M,mediaType:(q=Kx({data:M,signatures:Hx}))!=null?q:"image/png"})})),v.push(...x.warnings),x.usage!=null)F=gRe(F,x.usage);if(x.providerMetadata)for(let[M,q]of Object.entries(x.providerMetadata))if(M==="gateway"){let E=z[M];if(E!=null&&typeof E==="object")z[M]={...E,...q};else z[M]=q;let N=z[M].images;if(Array.isArray(N)&&N.length===0)delete z[M].images}else{let E=(f=_6(z,M))!=null?f:{images:[]};E.images.push(...x.providerMetadata[M].images),I6(z,M,E)}R.push(x.response)}if(ku({warnings:v,provider:m.provider,model:m.modelId}),!A.length)throw new oke({responses:R});return new tAe({images:A,warnings:v,responses:R,providerMetadata:z,usage:F})}var tAe=class{constructor(e){this.images=e.images,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=e.providerMetadata,this.usage=e.usage}get image(){return this.images[0]}};async function nAe(e){if(!(e.maxImagesPerCall instanceof Function))return e.maxImagesPerCall;return e.maxImagesPerCall({modelId:e.modelId})}function rAe(e){if(typeof e==="string")return{prompt:e,files:void 0,mask:void 0};return{prompt:e.text,files:e.images.map(Z5),mask:e.mask?Z5(e.mask):void 0}}function Z5(e){if(typeof e==="string"&&e.startsWith("http"))return{type:"url",url:e};if(typeof e==="string"&&e.startsWith("data:")){let{mediaType:n,base64Content:r}=WQ(e);if(r!=null){let i=Lr(r);return{type:"file",data:i,mediaType:n||Kx({data:i,signatures:Hx})||"image/png"}}}let t=Hke(e);return{type:"file",data:t,mediaType:Kx({data:t,signatures:Hx})||"image/png"}}var oAe={type:"no-schema",jsonSchema:async()=>{return},async validatePartialResult({value:e,textDelta:t}){return{success:!0,value:{partial:e,textDelta:t}}},async validateFinalResult(e,t){return e===void 0?{success:!1,error:new $r({message:"No object generated: response did not match schema.",text:t.text,response:t.response,usage:t.usage,finishReason:t.finishReason})}:{success:!0,value:e}},createElementStream(){throw new Nt({functionality:"element streams in no-schema mode"})}},iAe=(e)=>({type:"object",jsonSchema:async()=>await e.jsonSchema,async validatePartialResult({value:t,textDelta:n}){return{success:!0,value:{partial:t,textDelta:n}}},async validateFinalResult(t){return Cn({value:t,schema:e})},createElementStream(){throw new Nt({functionality:"element streams in object mode"})}}),aAe=(e)=>({type:"array",jsonSchema:async()=>{let{$schema:t,...n}=await e.jsonSchema;return{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:n}},required:["elements"],additionalProperties:!1}},async validatePartialResult({value:t,latestObject:n,isFirstDelta:r,isFinalDelta:i}){var a;if(!Ua(t)||!KA(t.elements))return{success:!1,error:new pr({value:t,cause:"value must be an object that contains an array of elements"})};let s=t.elements,l=[];for(let d=0;d<s.length;d++){let p=s[d],f=await Cn({value:p,schema:e});if(d===s.length-1&&!i)continue;if(!f.success)return f;l.push(f.value)}let c=(a=n==null?void 0:n.length)!=null?a:0,u="";if(r)u+="[";if(c>0)u+=",";if(u+=l.slice(c).map((d)=>JSON.stringify(d)).join(","),i)u+="]";return{success:!0,value:{partial:l,textDelta:u}}},async validateFinalResult(t){if(!Ua(t)||!KA(t.elements))return{success:!1,error:new pr({value:t,cause:"value must be an object that contains an array of elements"})};let n=t.elements,r=[];for(let i of n){let a=await Cn({value:i,schema:e});if(!a.success)return a;r.push(a.value)}return{success:!0,value:r}},createElementStream(t){let n=0;return Wp(t.pipeThrough(new TransformStream({transform(r,i){switch(r.type){case"object":{let a=r.object;for(;n<a.length;n++)i.enqueue(a[n]);break}case"text-delta":case"finish":case"error":break;default:throw Error(`Unsupported chunk type: ${r}`)}}})))}}),sAe=(e)=>({type:"enum",jsonSchema:async()=>({$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1}),async validateFinalResult(t){if(!Ua(t)||typeof t.result!=="string")return{success:!1,error:new pr({value:t,cause:'value must be an object that contains a string in the "result" property.'})};let n=t.result;return e.includes(n)?{success:!0,value:n}:{success:!1,error:new pr({value:t,cause:"value must be a string in the enum"})}},async validatePartialResult({value:t,textDelta:n}){if(!Ua(t)||typeof t.result!=="string")return{success:!1,error:new pr({value:t,cause:'value must be an object that contains a string in the "result" property.'})};let r=t.result,i=e.filter((a)=>a.startsWith(r));if(t.result.length===0||i.length===0)return{success:!1,error:new pr({value:t,cause:"value must be a string in the enum"})};return{success:!0,value:{partial:i.length>1?r:i[0],textDelta:n}}},createElementStream(){throw new Nt({functionality:"element streams in enum mode"})}});function lAe({output:e,schema:t,enumValues:n}){switch(e){case"object":return iAe(vo(t));case"array":return aAe(vo(t));case"enum":return sAe(n);case"no-schema":return oAe;default:throw Error(`Unsupported output: ${e}`)}}async function W5(e,t,n){let r=await mr({text:e});if(!r.success)throw new $r({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:n.response,usage:n.usage,finishReason:n.finishReason});let i=await t.validateFinalResult(r.value,{text:e,response:n.response,usage:n.usage});if(!i.success)throw new $r({message:"No object generated: response did not match schema.",cause:i.error,text:e,response:n.response,usage:n.usage,finishReason:n.finishReason});return i.value}async function cAe(e,t,n,r){try{return await W5(e,t,r)}catch(i){if(n!=null&&$r.isInstance(i)&&(yu.isInstance(i.cause)||pr.isInstance(i.cause))){let a=await n({text:e,error:i.cause});if(a===null)throw i;return await W5(a,t,r)}throw i}}function uAe({output:e,schema:t,schemaName:n,schemaDescription:r,enumValues:i}){if(e!=null&&e!=="object"&&e!=="array"&&e!=="enum"&&e!=="no-schema")throw new jn({parameter:"output",value:e,message:"Invalid output type."});if(e==="no-schema"){if(t!=null)throw new jn({parameter:"schema",value:t,message:"Schema is not supported for no-schema output."});if(r!=null)throw new jn({parameter:"schemaDescription",value:r,message:"Schema description is not supported for no-schema output."});if(n!=null)throw new jn({parameter:"schemaName",value:n,message:"Schema name is not supported for no-schema output."});if(i!=null)throw new jn({parameter:"enumValues",value:i,message:"Enum values are not supported for no-schema output."})}if(e==="object"){if(t==null)throw new jn({parameter:"schema",value:t,message:"Schema is required for object output."});if(i!=null)throw new jn({parameter:"enumValues",value:i,message:"Enum values are not supported for object output."})}if(e==="array"){if(t==null)throw new jn({parameter:"schema",value:t,message:"Element schema is required for array output."});if(i!=null)throw new jn({parameter:"enumValues",value:i,message:"Enum values are not supported for array output."})}if(e==="enum"){if(t!=null)throw new jn({parameter:"schema",value:t,message:"Schema is not supported for enum output."});if(r!=null)throw new jn({parameter:"schemaDescription",value:r,message:"Schema description is not supported for enum output."});if(n!=null)throw new jn({parameter:"schemaName",value:n,message:"Schema name is not supported for enum output."});if(i==null)throw new jn({parameter:"enumValues",value:i,message:"Enum values are required for enum output."});for(let a of i)if(typeof a!=="string")throw new jn({parameter:"enumValues",value:a,message:"Enum values must be strings."})}}var dAe=Ja({prefix:"aiobj",size:24});async function E6(e){let{model:t,output:n="object",system:r,prompt:i,messages:a,allowSystemInMessages:s,maxRetries:l,abortSignal:c,headers:u,experimental_repairText:d,experimental_telemetry:p,experimental_download:f,providerOptions:m,_internal:{generateId:g=dAe,currentDate:h=()=>new Date}={},...b}=e,w=gh(t),_="enum"in e?e.enum:void 0,{schema:y,schemaDescription:S,schemaName:A}="schema"in e?e:{};uAe({output:n,schema:y,schemaName:A,schemaDescription:S,enumValues:_});let{maxRetries:v,retry:R}=Sh({maxRetries:l,abortSignal:c}),z=lAe({output:n,schema:y,enumValues:_}),F=Gp(b),x=Yn(u!=null?u:{},`ai/${bh}`),M=ew({model:w,telemetry:p,headers:x,settings:{...F,maxRetries:v}}),q=tw(p),E=await z.jsonSchema();try{return await Ka({name:"ai.generateObject",attributes:Un({telemetry:p,attributes:{...Ha({operationId:"ai.generateObject",telemetry:p}),...M,"ai.prompt":{input:()=>JSON.stringify({system:r,prompt:i,messages:a})},"ai.schema":E!=null?{input:()=>JSON.stringify(E)}:void 0,"ai.schema.name":A,"ai.schema.description":S,"ai.settings.output":z.type}}),tracer:q,fn:async(N)=>{var Q;let ae,J,oe,be,P,L,se,T,le=await F0({system:r,prompt:i,messages:a,allowSystemInMessages:s}),X=await B0({prompt:le,supportedUrls:await w.supportedUrls,download:f,abortSignal:c}),re=await R(()=>Ka({name:"ai.generateObject.doGenerate",attributes:Un({telemetry:p,attributes:{...Ha({operationId:"ai.generateObject.doGenerate",telemetry:p}),...M,"ai.prompt.messages":{input:()=>L0(X)},"gen_ai.system":w.provider,"gen_ai.request.model":w.modelId,"gen_ai.request.frequency_penalty":F.frequencyPenalty,"gen_ai.request.max_tokens":F.maxOutputTokens,"gen_ai.request.presence_penalty":F.presencePenalty,"gen_ai.request.temperature":F.temperature,"gen_ai.request.top_k":F.topK,"gen_ai.request.top_p":F.topP}}),tracer:q,fn:async(ze)=>{var Ne,We,ee,we,B,ne,xe,ce;let ve=await w.doGenerate({responseFormat:{type:"json",schema:E,name:A,description:S},...Gp(b),prompt:X,providerOptions:m,abortSignal:c,headers:x}),Z={id:(We=(Ne=ve.response)==null?void 0:Ne.id)!=null?We:g(),timestamp:(we=(ee=ve.response)==null?void 0:ee.timestamp)!=null?we:h(),modelId:(ne=(B=ve.response)==null?void 0:B.modelId)!=null?ne:w.modelId,headers:(xe=ve.response)==null?void 0:xe.headers,body:(ce=ve.response)==null?void 0:ce.body},D=E0(ve.content),Pe=C0(ve.content);if(D===void 0)throw new $r({message:"No object generated: the model did not return a response.",response:Z,usage:hh(ve.usage),finishReason:ve.finishReason.unified});return ze.setAttributes(await Un({telemetry:p,attributes:{"ai.response.finishReason":ve.finishReason.unified,"ai.response.object":{output:()=>D},"ai.response.id":Z.id,"ai.response.model":Z.modelId,"ai.response.timestamp":Z.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(ve.providerMetadata),"ai.usage.promptTokens":ve.usage.inputTokens.total,"ai.usage.completionTokens":ve.usage.outputTokens.total,"gen_ai.response.finish_reasons":[ve.finishReason.unified],"gen_ai.response.id":Z.id,"gen_ai.response.model":Z.modelId,"gen_ai.usage.input_tokens":ve.usage.inputTokens.total,"gen_ai.usage.output_tokens":ve.usage.outputTokens.total}})),{...ve,objectText:D,reasoning:Pe,responseData:Z}}}));ae=re.objectText,J=re.finishReason.unified,oe=hh(re.usage),be=re.warnings,se=re.providerMetadata,L=(Q=re.request)!=null?Q:{},P=re.responseData,T=re.reasoning,ku({warnings:be,provider:w.provider,model:w.modelId});let de=await cAe(ae,z,d,{response:P,usage:oe,finishReason:J});return N.setAttributes(await Un({telemetry:p,attributes:{"ai.response.finishReason":J,"ai.response.object":{output:()=>JSON.stringify(de)},"ai.response.providerMetadata":JSON.stringify(se),"ai.usage.promptTokens":oe.inputTokens,"ai.usage.completionTokens":oe.outputTokens}})),new pAe({object:de,reasoning:T,finishReason:J,usage:oe,warnings:be,request:L,response:P,providerMetadata:se})}})}catch(N){throw q0(N)}}var pAe=class{constructor(e){this.object=e.object,this.finishReason=e.finishReason,this.usage=e.usage,this.warnings=e.warnings,this.providerMetadata=e.providerMetadata,this.response=e.response,this.request=e.request,this.reasoning=e.reasoning}toJsonResponse(e){var t;return new Response(JSON.stringify(this.object),{status:(t=e==null?void 0:e.status)!=null?t:200,headers:_h(e==null?void 0:e.headers,{"content-type":"application/json; charset=utf-8"})})}};function k6(e){return({url:t,abortSignal:n})=>ZQ({url:t,maxBytes:e==null?void 0:e.maxBytes,abortSignal:n})}var v_t=Ja({prefix:"aiobj",size:24});var S_t=k6();var mAe="AI_NoSuchProviderError",fAe=`vercel.ai.error.${mAe}`,gAe=Symbol.for(fAe),hAe;hAe=gAe;var x_t=k6();class nw extends Error{constructor(e){super("AI object generation failed: invalid structured output",{cause:e});this.name="AIOutputValidationError"}}var yAe=[[/^claude/,"anthropic"],[/^gpt-/,"openai"],[/^o[13]-/,"openai"],[/^gemini/,"google"],[/^llama/,"ollama"],[/^mistral/,"ollama"],[/^phi-/,"ollama"],[/^qwen/,"ollama"]];function R6(e){let t=e.indexOf(":");if(t>0)return{provider:e.slice(0,t),modelId:e.slice(t+1)};return null}function Vp(e){let t=R6(e);if(t)return t;for(let[n,r]of yAe)if(n.test(e))return{provider:r,modelId:e};return{provider:"anthropic",modelId:e}}function V0(e){if(!e)return"anthropic";return Vp(e).provider}var bAe=[[/^gpt-image/,"openai"],[/^dall-e/,"openai"],[/^gemini/,"google"]],vAe="gpt-image-1.5";function H0(e){if(!e)return{provider:"openai",modelId:vAe};let t=R6(e);if(t)return t;for(let[n,r]of bAe)if(n.test(e))return{provider:r,modelId:e};return{provider:"openai",modelId:e}}var SAe=/^(gpt-(?:5|6)|o[1-9])(?:[.-]|$)/;function xAe(e){if(e.provider!=="openai")return!0;return!SAe.test(e.modelId)}function Ih(e){if(!e)return{provider:"anthropic",supportsTemperature:!0};let t=Vp(e);return{provider:t.provider,supportsTemperature:xAe(t)}}var wAe="3.0.129",TAe=G(()=>W(o.object({type:o.literal("error"),error:o.object({type:o.string(),message:o.string()})}))),A6=yn({errorSchema:TAe,errorToMessage:(e)=>e.error.message}),U6=o.object({type:o.string(),category:o.string().nullish(),explanation:o.string().nullish(),recommended_model:o.string().nullish()}),Z6=o.object({type:o.string(),status:o.object({type:o.string(),tool_uses:o.record(o.string(),o.object({type:o.string(),outcome:o.string().nullish(),explanation:o.string().nullish()})).nullish()})}),Us=o.union([o.object({type:o.literal("code_execution_20250825"),tool_id:o.string()}),o.object({type:o.literal("code_execution_20260120"),tool_id:o.string()}),o.object({type:o.literal("direct")})]),eO=o.object({type:o.string(),path:o.string(),reason:o.string()}),_Ae=G(()=>W(o.object({type:o.literal("message"),id:o.string().nullish(),model:o.string().nullish(),content:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("text"),text:o.string(),citations:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("web_search_result_location"),cited_text:o.string(),url:o.string(),title:o.string(),encrypted_index:o.string()}),o.object({type:o.literal("page_location"),cited_text:o.string(),document_index:o.number(),document_title:o.string().nullable(),start_page_number:o.number(),end_page_number:o.number()}),o.object({type:o.literal("char_location"),cited_text:o.string(),document_index:o.number(),document_title:o.string().nullable(),start_char_index:o.number(),end_char_index:o.number()})])).optional()}),o.object({type:o.literal("thinking"),thinking:o.string(),signature:o.string()}),o.object({type:o.literal("redacted_thinking"),data:o.string()}),o.object({type:o.literal("compaction"),content:o.string()}),o.object({type:o.literal("tool_use"),id:o.string(),name:o.string(),input:o.unknown(),caller:Us.optional(),toolset_name:o.string().nullish()}),o.object({type:o.literal("server_tool_use"),id:o.string(),name:o.string(),input:o.record(o.string(),o.unknown()).nullish(),caller:Us.optional()}),o.object({type:o.literal("mcp_tool_use"),id:o.string(),name:o.string(),input:o.unknown(),server_name:o.string()}),o.object({type:o.literal("mcp_tool_result"),tool_use_id:o.string(),is_error:o.boolean(),content:o.array(o.union([o.string(),o.object({type:o.literal("text"),text:o.string()})]))}),o.object({type:o.literal("web_fetch_tool_result"),tool_use_id:o.string(),caller:Us.optional(),content:o.union([o.object({type:o.literal("web_fetch_result"),url:o.string(),retrieved_at:o.string(),content:o.object({type:o.literal("document"),title:o.string().nullable(),citations:o.object({enabled:o.boolean()}).optional(),source:o.union([o.object({type:o.literal("base64"),media_type:o.literal("application/pdf"),data:o.string()}),o.object({type:o.literal("text"),media_type:o.literal("text/plain"),data:o.string()})])})}),o.object({type:o.literal("web_fetch_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("web_search_tool_result"),tool_use_id:o.string(),caller:Us.optional(),content:o.union([o.array(o.object({type:o.literal("web_search_result"),url:o.string(),title:o.string(),encrypted_content:o.string(),page_age:o.string().nullish()})),o.object({type:o.literal("web_search_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("code_execution_tool_result"),tool_use_id:o.string(),content:o.union([o.object({type:o.literal("code_execution_result"),stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("encrypted_code_execution_result"),encrypted_stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("code_execution_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("bash_code_execution_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("bash_code_execution_result"),content:o.array(o.object({type:o.literal("bash_code_execution_output"),file_id:o.string()})),stdout:o.string(),stderr:o.string(),return_code:o.number()}),o.object({type:o.literal("bash_code_execution_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("text_editor_code_execution_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("text_editor_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_view_result"),content:o.string(),file_type:o.string(),num_lines:o.number().nullable(),start_line:o.number().nullable(),total_lines:o.number().nullable()}),o.object({type:o.literal("text_editor_code_execution_create_result"),is_file_update:o.boolean()}),o.object({type:o.literal("text_editor_code_execution_str_replace_result"),lines:o.array(o.string()).nullable(),new_lines:o.number().nullable(),new_start:o.number().nullable(),old_lines:o.number().nullable(),old_start:o.number().nullable()})])}),o.object({type:o.literal("tool_search_tool_result"),tool_use_id:o.string(),content:o.union([o.object({type:o.literal("tool_search_tool_search_result"),tool_references:o.array(o.object({type:o.literal("tool_reference"),tool_name:o.string()}))}),o.object({type:o.literal("tool_search_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("advisor_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("advisor_result"),text:o.string()}),o.object({type:o.literal("advisor_redacted_result"),encrypted_content:o.string()}),o.object({type:o.literal("advisor_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("fallback")})])),stop_reason:o.string().nullish(),stop_sequence:o.string().nullish(),stop_details:U6.nullish(),input_transformations:o.array(eO).nullish(),safeguard_results:o.array(Z6).nullish(),usage:o.looseObject({input_tokens:o.number(),output_tokens:o.number(),output_tokens_details:o.object({thinking_tokens:o.number().nullish()}).nullish(),cache_creation_input_tokens:o.number().nullish(),cache_read_input_tokens:o.number().nullish(),iterations:o.array(o.object({type:o.union([o.literal("compaction"),o.literal("message"),o.literal("advisor_message"),o.literal("fallback_message")]),model:o.string().nullish(),input_tokens:o.number(),output_tokens:o.number(),cache_creation_input_tokens:o.number().nullish(),cache_read_input_tokens:o.number().nullish()})).nullish()}),container:o.object({expires_at:o.string(),id:o.string(),skills:o.array(o.object({type:o.union([o.literal("anthropic"),o.literal("custom")]),skill_id:o.string(),version:o.string()})).nullish()}).nullish(),context_management:o.object({applied_edits:o.array(o.union([o.object({type:o.literal("clear_tool_uses_20250919"),cleared_tool_uses:o.number(),cleared_input_tokens:o.number()}),o.object({type:o.literal("clear_thinking_20251015"),cleared_thinking_turns:o.number(),cleared_input_tokens:o.number()}),o.object({type:o.literal("compact_20260112")})]))}).nullish()}))),IAe=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("message_start"),message:o.object({id:o.string().nullish(),model:o.string().nullish(),role:o.string().nullish(),usage:o.looseObject({input_tokens:o.number(),cache_creation_input_tokens:o.number().nullish(),cache_read_input_tokens:o.number().nullish()}),content:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("tool_use"),id:o.string(),name:o.string(),input:o.unknown(),caller:Us.optional(),toolset_name:o.string().nullish()})])).nullish(),stop_reason:o.string().nullish(),input_transformations:o.array(eO).nullish(),container:o.object({expires_at:o.string(),id:o.string()}).nullish()})}),o.object({type:o.literal("content_block_start"),index:o.number(),content_block:o.discriminatedUnion("type",[o.object({type:o.literal("text"),text:o.string()}),o.object({type:o.literal("thinking"),thinking:o.string()}),o.object({type:o.literal("tool_use"),id:o.string(),name:o.string(),input:o.record(o.string(),o.unknown()).optional(),caller:Us.optional(),toolset_name:o.string().nullish()}),o.object({type:o.literal("redacted_thinking"),data:o.string()}),o.object({type:o.literal("compaction"),content:o.string().nullish()}),o.object({type:o.literal("server_tool_use"),id:o.string(),name:o.string(),input:o.record(o.string(),o.unknown()).nullish(),caller:Us.optional()}),o.object({type:o.literal("mcp_tool_use"),id:o.string(),name:o.string(),input:o.unknown(),server_name:o.string()}),o.object({type:o.literal("mcp_tool_result"),tool_use_id:o.string(),is_error:o.boolean(),content:o.array(o.union([o.string(),o.object({type:o.literal("text"),text:o.string()})]))}),o.object({type:o.literal("web_fetch_tool_result"),tool_use_id:o.string(),caller:Us.optional(),content:o.union([o.object({type:o.literal("web_fetch_result"),url:o.string(),retrieved_at:o.string(),content:o.object({type:o.literal("document"),title:o.string().nullable(),citations:o.object({enabled:o.boolean()}).optional(),source:o.union([o.object({type:o.literal("base64"),media_type:o.literal("application/pdf"),data:o.string()}),o.object({type:o.literal("text"),media_type:o.literal("text/plain"),data:o.string()})])})}),o.object({type:o.literal("web_fetch_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("web_search_tool_result"),tool_use_id:o.string(),caller:Us.optional(),content:o.union([o.array(o.object({type:o.literal("web_search_result"),url:o.string(),title:o.string(),encrypted_content:o.string(),page_age:o.string().nullish()})),o.object({type:o.literal("web_search_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("code_execution_tool_result"),tool_use_id:o.string(),content:o.union([o.object({type:o.literal("code_execution_result"),stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("encrypted_code_execution_result"),encrypted_stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("code_execution_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("bash_code_execution_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("bash_code_execution_result"),content:o.array(o.object({type:o.literal("bash_code_execution_output"),file_id:o.string()})),stdout:o.string(),stderr:o.string(),return_code:o.number()}),o.object({type:o.literal("bash_code_execution_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("text_editor_code_execution_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("text_editor_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_view_result"),content:o.string(),file_type:o.string(),num_lines:o.number().nullable(),start_line:o.number().nullable(),total_lines:o.number().nullable()}),o.object({type:o.literal("text_editor_code_execution_create_result"),is_file_update:o.boolean()}),o.object({type:o.literal("text_editor_code_execution_str_replace_result"),lines:o.array(o.string()).nullable(),new_lines:o.number().nullable(),new_start:o.number().nullable(),old_lines:o.number().nullable(),old_start:o.number().nullable()})])}),o.object({type:o.literal("tool_search_tool_result"),tool_use_id:o.string(),content:o.union([o.object({type:o.literal("tool_search_tool_search_result"),tool_references:o.array(o.object({type:o.literal("tool_reference"),tool_name:o.string()}))}),o.object({type:o.literal("tool_search_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("advisor_tool_result"),tool_use_id:o.string(),content:o.discriminatedUnion("type",[o.object({type:o.literal("advisor_result"),text:o.string()}),o.object({type:o.literal("advisor_redacted_result"),encrypted_content:o.string()}),o.object({type:o.literal("advisor_tool_result_error"),error_code:o.string()})])}),o.object({type:o.literal("fallback")})])}),o.object({type:o.literal("content_block_delta"),index:o.number(),delta:o.discriminatedUnion("type",[o.object({type:o.literal("input_json_delta"),partial_json:o.string()}),o.object({type:o.literal("text_delta"),text:o.string()}),o.object({type:o.literal("thinking_delta"),thinking:o.string()}),o.object({type:o.literal("signature_delta"),signature:o.string()}),o.object({type:o.literal("compaction_delta"),content:o.string().nullish()}),o.object({type:o.literal("citations_delta"),citation:o.discriminatedUnion("type",[o.object({type:o.literal("web_search_result_location"),cited_text:o.string(),url:o.string(),title:o.string(),encrypted_index:o.string()}),o.object({type:o.literal("page_location"),cited_text:o.string(),document_index:o.number(),document_title:o.string().nullable(),start_page_number:o.number(),end_page_number:o.number()}),o.object({type:o.literal("char_location"),cited_text:o.string(),document_index:o.number(),document_title:o.string().nullable(),start_char_index:o.number(),end_char_index:o.number()})])})])}),o.object({type:o.literal("content_block_stop"),index:o.number()}),o.object({type:o.literal("error"),error:o.object({type:o.string(),message:o.string()})}),o.object({type:o.literal("message_delta"),delta:o.object({stop_reason:o.string().nullish(),stop_sequence:o.string().nullish(),stop_details:U6.nullish(),safeguard_results:o.array(Z6).nullish(),container:o.object({expires_at:o.string(),id:o.string(),skills:o.array(o.object({type:o.union([o.literal("anthropic"),o.literal("custom")]),skill_id:o.string(),version:o.string()})).nullish()}).nullish()}),usage:o.looseObject({input_tokens:o.number().nullish(),output_tokens:o.number(),output_tokens_details:o.object({thinking_tokens:o.number().nullish()}).nullish(),cache_creation_input_tokens:o.number().nullish(),cache_read_input_tokens:o.number().nullish(),iterations:o.array(o.object({type:o.union([o.literal("compaction"),o.literal("message"),o.literal("advisor_message"),o.literal("fallback_message")]),model:o.string().nullish(),input_tokens:o.number(),output_tokens:o.number(),cache_creation_input_tokens:o.number().nullish(),cache_read_input_tokens:o.number().nullish()})).nullish()}),input_transformations:o.array(eO).nullish(),context_management:o.object({applied_edits:o.array(o.union([o.object({type:o.literal("clear_tool_uses_20250919"),cleared_tool_uses:o.number(),cleared_input_tokens:o.number()}),o.object({type:o.literal("clear_thinking_20251015"),cleared_thinking_turns:o.number(),cleared_input_tokens:o.number()}),o.object({type:o.literal("compact_20260112")})]))}).nullish()}),o.object({type:o.literal("message_stop")}),o.object({type:o.literal("ping")})]))),CAe=G(()=>W(o.object({signature:o.string().optional(),redactedData:o.string().optional()}))),P6=o.object({citations:o.object({enabled:o.boolean()}).optional(),title:o.string().optional(),context:o.string().optional()}),EAe=o.object({clearAt:o.literal("next_user_message").optional(),effort:o.enum(["low","medium","high","xhigh","max"]).optional(),toolChanges:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("tool_addition"),toolName:o.string()}),o.object({type:o.literal("tool_removal"),toolName:o.string()})])).optional()}),O6=o.object({prefixMismatchBehavior:o.enum(["error","drop_block"])}),M6=o.object({sendReasoning:o.boolean().optional(),structuredOutputMode:o.enum(["outputFormat","jsonTool","auto"]).optional(),thinking:o.union([o.discriminatedUnion("type",[o.object({type:o.literal("adaptive"),display:o.enum(["omitted","summarized","updates"]).optional(),blockBinding:O6.optional()}),o.object({type:o.literal("enabled"),budgetTokens:o.number().optional()}),o.object({type:o.literal("disabled")}),o.object({type:o.literal("between_tools")})]),o.object({blockBinding:O6})]).optional(),disableParallelToolUse:o.boolean().optional(),cacheControl:o.object({type:o.literal("ephemeral"),ttl:o.union([o.literal("5m"),o.literal("1h")]).optional()}).optional(),metadata:o.object({userId:o.string().optional()}).optional(),mcpServers:o.array(o.object({type:o.literal("url"),name:o.string(),url:o.string(),authorizationToken:o.string().nullish(),toolConfiguration:o.object({enabled:o.boolean().nullish(),allowedTools:o.array(o.string()).nullish()}).nullish()})).optional(),container:o.object({id:o.string().optional(),skills:o.array(o.object({type:o.union([o.literal("anthropic"),o.literal("custom")]),skillId:o.string(),version:o.string().optional()})).optional()}).optional(),toolStreaming:o.boolean().optional(),effort:o.enum(["low","medium","high","xhigh","max"]).optional(),taskBudget:o.object({type:o.literal("tokens"),total:o.number().int().min(20000),remaining:o.number().int().min(0).optional()}).optional(),speed:o.enum(["fast","standard"]).optional(),inferenceGeo:o.enum(["us","global"]).optional(),fallbacks:o.union([o.literal("default"),o.array(o.object({model:o.string(),max_tokens:o.number().int().optional(),thinking:o.record(o.string(),o.unknown()).optional(),output_config:o.record(o.string(),o.unknown()).optional(),speed:o.enum(["fast","standard"]).optional()}))]).optional(),anthropicBeta:o.array(o.string()).optional(),safeguards:o.array(o.object({type:o.literal("dangerous_tool_use"),classifierContext:o.record(o.string(),o.unknown()).optional()})).optional(),contextManagement:o.object({edits:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("clear_tool_uses_20250919"),trigger:o.discriminatedUnion("type",[o.object({type:o.literal("input_tokens"),value:o.number()}),o.object({type:o.literal("tool_uses"),value:o.number()})]).optional(),keep:o.object({type:o.literal("tool_uses"),value:o.number()}).optional(),clearAtLeast:o.object({type:o.literal("input_tokens"),value:o.number()}).optional(),clearToolInputs:o.boolean().optional(),excludeTools:o.array(o.string()).optional()}),o.object({type:o.literal("clear_thinking_20251015"),keep:o.union([o.literal("all"),o.object({type:o.literal("thinking_turns"),value:o.number()})]).optional()}),o.object({type:o.literal("compact_20260112"),trigger:o.object({type:o.literal("input_tokens"),value:o.number()}).optional(),pauseAfterCompaction:o.boolean().optional(),instructions:o.string().optional()})]))}).optional()}),j6=4;function kAe(e){var t;let n=e==null?void 0:e.anthropic;return(t=n==null?void 0:n.cacheControl)!=null?t:n==null?void 0:n.cache_control}var tO=class{constructor(){this.breakpointCount=0,this.warnings=[]}getCacheControl(e,t){let n=kAe(e);if(!n)return;if(!t.canCache){this.warnings.push({type:"unsupported",feature:"cache_control on non-cacheable context",details:`cache_control cannot be set on ${t.type}. It will be ignored.`});return}if(this.breakpointCount++,this.breakpointCount>j6){this.warnings.push({type:"unsupported",feature:"cacheControl breakpoint limit",details:`Maximum ${j6} cache breakpoints exceeded (found ${this.breakpointCount}). This breakpoint will be ignored.`});return}return n}getWarnings(){return this.warnings}},RAe=G(()=>W(o.object({model:o.string(),maxUses:o.number().optional(),caching:o.object({type:o.literal("ephemeral"),ttl:o.union([o.literal("5m"),o.literal("1h")])}).optional()}))),W6=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("advisor_result"),text:o.string()}),o.object({type:o.literal("advisor_redacted_result"),encryptedContent:o.string()}),o.object({type:o.literal("advisor_tool_result_error"),errorCode:o.string()})]))),AAe=G(()=>W(o.object({}).strict())),PAe=ut({id:"anthropic.advisor_20260301",inputSchema:AAe,outputSchema:W6,supportsDeferredResults:!0}),OAe=(e)=>PAe(e),G6=["screenshot","zoom","left_click","right_click","middle_click","double_click","triple_click","left_click_drag","mouse_move","left_mouse_down","left_mouse_up","cursor_position","scroll","type","key","hold_key","wait"],MAe=G(()=>W(o.object({action:o.enum(G6),coordinate:o.tuple([o.number().int(),o.number().int()]).optional(),duration:o.number().optional(),region:o.tuple([o.number().int(),o.number().int(),o.number().int(),o.number().int()]).optional(),repeat:o.number().int().optional(),scroll_amount:o.number().optional(),scroll_direction:o.enum(["up","down","left","right"]).optional(),start_coordinate:o.tuple([o.number().int(),o.number().int()]).optional(),text:o.string().optional()}))),jAe=G(()=>W(o.object({configs:o.partialRecord(o.enum(G6),o.object({enabled:o.boolean().optional(),deferLoading:o.boolean().optional()})).optional()}))),DAe=Wt({id:"anthropic.computer_toolset_20260801",inputSchema:MAe}),NAe=G(()=>W(o.object({maxCharacters:o.number().optional()}))),zAe=G(()=>W(o.object({command:o.enum(["view","create","str_replace","insert"]),path:o.string(),file_text:o.string().optional(),insert_line:o.number().int().optional(),new_str:o.string().optional(),insert_text:o.string().optional(),old_str:o.string().optional(),view_range:o.array(o.number().int()).optional()}))),BAe=Wt({id:"anthropic.text_editor_20250728",inputSchema:zAe}),FAe=(e={})=>BAe(e),qAe=G(()=>W(o.object({maxUses:o.number().optional(),allowedDomains:o.array(o.string()).optional(),blockedDomains:o.array(o.string()).optional(),userLocation:o.object({type:o.literal("approximate"),city:o.string().optional(),region:o.string().optional(),country:o.string().optional(),timezone:o.string().optional()}).optional()}))),LAe=G(()=>W(o.array(o.object({url:o.string(),title:o.string().nullable(),pageAge:o.string().nullable(),encryptedContent:o.string(),type:o.literal("web_search_result")})))),$Ae=G(()=>W(o.object({query:o.string()}))),UAe=ut({id:"anthropic.web_search_20260209",inputSchema:$Ae,outputSchema:LAe,supportsDeferredResults:!0}),ZAe=(e={})=>UAe(e),WAe=G(()=>W(o.object({maxUses:o.number().optional(),allowedDomains:o.array(o.string()).optional(),blockedDomains:o.array(o.string()).optional(),userLocation:o.object({type:o.literal("approximate"),city:o.string().optional(),region:o.string().optional(),country:o.string().optional(),timezone:o.string().optional()}).optional()}))),J6=G(()=>W(o.array(o.object({url:o.string(),title:o.string().nullable(),pageAge:o.string().nullable(),encryptedContent:o.string(),type:o.literal("web_search_result")})))),GAe=G(()=>W(o.object({query:o.string()}))),JAe=ut({id:"anthropic.web_search_20250305",inputSchema:GAe,outputSchema:J6,supportsDeferredResults:!0}),VAe=(e={})=>JAe(e),HAe=G(()=>W(o.object({maxUses:o.number().optional(),allowedDomains:o.array(o.string()).optional(),blockedDomains:o.array(o.string()).optional(),citations:o.object({enabled:o.boolean()}).optional(),maxContentTokens:o.number().optional()}))),KAe=G(()=>W(o.object({type:o.literal("web_fetch_result"),url:o.string(),content:o.object({type:o.literal("document"),title:o.string().nullable(),citations:o.object({enabled:o.boolean()}).optional(),source:o.union([o.object({type:o.literal("base64"),mediaType:o.literal("application/pdf"),data:o.string()}),o.object({type:o.literal("text"),mediaType:o.literal("text/plain"),data:o.string()})])}),retrievedAt:o.string().nullable()}))),QAe=G(()=>W(o.object({url:o.string()}))),YAe=ut({id:"anthropic.web_fetch_20260209",inputSchema:QAe,outputSchema:KAe,supportsDeferredResults:!0}),XAe=(e={})=>YAe(e),ePe=G(()=>W(o.object({maxUses:o.number().optional(),allowedDomains:o.array(o.string()).optional(),blockedDomains:o.array(o.string()).optional(),citations:o.object({enabled:o.boolean()}).optional(),maxContentTokens:o.number().optional()}))),V6=G(()=>W(o.object({type:o.literal("web_fetch_result"),url:o.string(),content:o.object({type:o.literal("document"),title:o.string().nullable(),citations:o.object({enabled:o.boolean()}).optional(),source:o.union([o.object({type:o.literal("base64"),mediaType:o.literal("application/pdf"),data:o.string()}),o.object({type:o.literal("text"),mediaType:o.literal("text/plain"),data:o.string()})])}),retrievedAt:o.string().nullable()}))),tPe=G(()=>W(o.object({url:o.string()}))),nPe=ut({id:"anthropic.web_fetch_20250910",inputSchema:tPe,outputSchema:V6,supportsDeferredResults:!0}),rPe=(e={})=>nPe(e);async function oPe({tools:e,toolChoice:t,disableParallelToolUse:n,cacheControlValidator:r,supportsStructuredOutput:i,supportsStrictTools:a,defaultEagerInputStreaming:s=!1,rejectsForcedToolUse:l=!1}){var c,u;e=(e==null?void 0:e.length)?e:void 0;let d=[],p=new Set,f=r||new tO;if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:d,betas:p};let m=[];for(let h of e)switch(h.type){case"function":{let b=f.getCacheControl(h.providerOptions,{type:"tool definition",canCache:!0}),w=(c=h.providerOptions)==null?void 0:c.anthropic,_=(u=w==null?void 0:w.eagerInputStreaming)!=null?u:s,y=w==null?void 0:w.deferLoading,S=w==null?void 0:w.allowedCallers;if(!a&&h.strict!=null)d.push({type:"unsupported",feature:"strict",details:`Tool '${h.name}' has strict: ${h.strict}, but strict mode is not supported by this provider. The strict property will be ignored.`});if(m.push({name:h.name,description:h.description,input_schema:h.inputSchema,cache_control:b,..._?{eager_input_streaming:!0}:{},...a===!0&&h.strict!=null?{strict:h.strict}:{},...y!=null?{defer_loading:y}:{},...S!=null?{allowed_callers:S}:{},...h.inputExamples!=null?{input_examples:h.inputExamples.map((A)=>A.input)}:{}}),i===!0)p.add("structured-outputs-2025-11-13");if(h.inputExamples!=null||S!=null)p.add("advanced-tool-use-2025-11-20");break}case"provider":{switch(h.id){case"anthropic.code_execution_20250522":{p.add("code-execution-2025-05-22"),m.push({type:"code_execution_20250522",name:"code_execution",cache_control:void 0});break}case"anthropic.code_execution_20250825":{p.add("code-execution-2025-08-25"),m.push({type:"code_execution_20250825",name:"code_execution"});break}case"anthropic.code_execution_20260120":{m.push({type:"code_execution_20260120",name:"code_execution"});break}case"anthropic.computer_20250124":{p.add("computer-use-2025-01-24"),m.push({name:"computer",type:"computer_20250124",display_width_px:h.args.displayWidthPx,display_height_px:h.args.displayHeightPx,display_number:h.args.displayNumber,cache_control:void 0});break}case"anthropic.computer_20251124":{p.add("computer-use-2025-11-24"),m.push({name:"computer",type:"computer_20251124",display_width_px:h.args.displayWidthPx,display_height_px:h.args.displayHeightPx,display_number:h.args.displayNumber,enable_zoom:h.args.enableZoom,cache_control:void 0});break}case"anthropic.computer_toolset_20260801":{let b=await kt({value:h.args,schema:jAe}),w=b.configs!=null?Object.fromEntries(Object.entries(b.configs).map(([_,y])=>[_,{...(y==null?void 0:y.enabled)!=null&&{enabled:y.enabled},...(y==null?void 0:y.deferLoading)!=null&&{defer_loading:y.deferLoading}}])):void 0;m.push({type:"computer_toolset_20260801",...w!=null&&{configs:w},cache_control:void 0});break}case"anthropic.computer_20241022":{p.add("computer-use-2024-10-22"),m.push({name:"computer",type:"computer_20241022",display_width_px:h.args.displayWidthPx,display_height_px:h.args.displayHeightPx,display_number:h.args.displayNumber,cache_control:void 0});break}case"anthropic.text_editor_20250124":{p.add("computer-use-2025-01-24"),m.push({name:"str_replace_editor",type:"text_editor_20250124",cache_control:void 0});break}case"anthropic.text_editor_20241022":{p.add("computer-use-2024-10-22"),m.push({name:"str_replace_editor",type:"text_editor_20241022",cache_control:void 0});break}case"anthropic.text_editor_20250429":{p.add("computer-use-2025-01-24"),m.push({name:"str_replace_based_edit_tool",type:"text_editor_20250429",cache_control:void 0});break}case"anthropic.text_editor_20250728":{let b=await kt({value:h.args,schema:NAe});m.push({name:"str_replace_based_edit_tool",type:"text_editor_20250728",max_characters:b.maxCharacters,cache_control:void 0});break}case"anthropic.bash_20250124":{p.add("computer-use-2025-01-24"),m.push({name:"bash",type:"bash_20250124",cache_control:void 0});break}case"anthropic.bash_20241022":{p.add("computer-use-2024-10-22"),m.push({name:"bash",type:"bash_20241022",cache_control:void 0});break}case"anthropic.memory_20250818":{p.add("context-management-2025-06-27"),m.push({name:"memory",type:"memory_20250818"});break}case"anthropic.web_fetch_20250910":{p.add("web-fetch-2025-09-10");let b=await kt({value:h.args,schema:ePe});m.push({type:"web_fetch_20250910",name:"web_fetch",max_uses:b.maxUses,allowed_domains:b.allowedDomains,blocked_domains:b.blockedDomains,citations:b.citations,max_content_tokens:b.maxContentTokens,cache_control:void 0});break}case"anthropic.web_fetch_20260209":{p.add("code-execution-web-tools-2026-02-09");let b=await kt({value:h.args,schema:HAe});m.push({type:"web_fetch_20260209",name:"web_fetch",max_uses:b.maxUses,allowed_domains:b.allowedDomains,blocked_domains:b.blockedDomains,citations:b.citations,max_content_tokens:b.maxContentTokens,cache_control:void 0});break}case"anthropic.web_search_20250305":{let b=await kt({value:h.args,schema:WAe});m.push({type:"web_search_20250305",name:"web_search",max_uses:b.maxUses,allowed_domains:b.allowedDomains,blocked_domains:b.blockedDomains,user_location:b.userLocation,cache_control:void 0});break}case"anthropic.web_search_20260209":{p.add("code-execution-web-tools-2026-02-09");let b=await kt({value:h.args,schema:qAe});m.push({type:"web_search_20260209",name:"web_search",max_uses:b.maxUses,allowed_domains:b.allowedDomains,blocked_domains:b.blockedDomains,user_location:b.userLocation,cache_control:void 0});break}case"anthropic.tool_search_regex_20251119":{m.push({type:"tool_search_tool_regex_20251119",name:"tool_search_tool_regex"});break}case"anthropic.tool_search_bm25_20251119":{m.push({type:"tool_search_tool_bm25_20251119",name:"tool_search_tool_bm25"});break}case"anthropic.advisor_20260301":{p.add("advisor-tool-2026-03-01");let b=await kt({value:h.args,schema:RAe});m.push({type:"advisor_20260301",name:"advisor",model:b.model,...b.maxUses!==void 0&&{max_uses:b.maxUses},...b.caching!==void 0&&{caching:b.caching}});break}default:{d.push({type:"unsupported",feature:`provider-defined tool ${h.id}`});break}}break}default:{d.push({type:"unsupported",feature:`tool ${h}`});break}}if(t==null)return{tools:m,toolChoice:n?{type:"auto",disable_parallel_tool_use:n}:void 0,toolWarnings:d,betas:p};let g=t.type;switch(g){case"auto":return{tools:m,toolChoice:{type:"auto",disable_parallel_tool_use:n},toolWarnings:d,betas:p};case"required":if(l)return d.push({type:"unsupported",feature:"toolChoice",details:"toolChoice 'required' is not supported by this model because it rejects forced tool use. Using 'auto' instead. Instruct the model to use a tool in the prompt and verify that a tool call was made."}),{tools:m,toolChoice:{type:"auto",disable_parallel_tool_use:n},toolWarnings:d,betas:p};return{tools:m,toolChoice:{type:"any",disable_parallel_tool_use:n},toolWarnings:d,betas:p};case"none":return{tools:m,toolChoice:{type:"none"},toolWarnings:d,betas:p};case"tool":if(l)return d.push({type:"unsupported",feature:"toolChoice",details:`toolChoice 'tool' is not supported by this model because it rejects forced tool use. Only the '${t.toolName}' tool is sent with 'auto' tool choice. Instruct the model to use the tool in the prompt and verify that a tool call was made.`}),{tools:m.filter((h)=>("name"in h)&&h.name===t.toolName),toolChoice:{type:"auto",disable_parallel_tool_use:n},toolWarnings:d,betas:p};return{tools:m,toolChoice:{type:"tool",name:t.toolName,disable_parallel_tool_use:n},toolWarnings:d,betas:p};default:throw new Nt({functionality:`tool choice type: ${g}`})}}function D6({usage:e,rawUsage:t}){var n,r,i,a,s;let l=(n=e.cache_creation_input_tokens)!=null?n:0,c=(r=e.cache_read_input_tokens)!=null?r:0,u=(a=(i=e.output_tokens_details)==null?void 0:i.thinking_tokens)!=null?a:void 0,d,p,f=(s=e.iterations)==null?void 0:s.some((m)=>m.type==="fallback_message");if(e.iterations&&e.iterations.length>0&&!f){let m=e.iterations.filter((g)=>g.type==="compaction"||g.type==="message");if(m.length>0){let g=m.reduce((h,b)=>({input:h.input+b.input_tokens,output:h.output+b.output_tokens}),{input:0,output:0});d=g.input,p=g.output}else d=e.input_tokens,p=e.output_tokens}else d=e.input_tokens,p=e.output_tokens;return{inputTokens:{total:d+l+c,noCache:d,cacheRead:c,cacheWrite:l},outputTokens:{total:p,text:u==null?void 0:p-u,reasoning:u},raw:t!=null?t:e}}var H6=G(()=>W(o.object({type:o.literal("code_execution_result"),stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}))),iPe=G(()=>W(o.object({code:o.string()}))),aPe=ut({id:"anthropic.code_execution_20250522",inputSchema:iPe,outputSchema:H6}),sPe=(e={})=>aPe(e),K6=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("code_execution_result"),stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("bash_code_execution_result"),content:o.array(o.object({type:o.literal("bash_code_execution_output"),file_id:o.string()})),stdout:o.string(),stderr:o.string(),return_code:o.number()}),o.object({type:o.literal("bash_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_view_result"),content:o.string(),file_type:o.string(),num_lines:o.number().nullable(),start_line:o.number().nullable(),total_lines:o.number().nullable()}),o.object({type:o.literal("text_editor_code_execution_create_result"),is_file_update:o.boolean()}),o.object({type:o.literal("text_editor_code_execution_str_replace_result"),lines:o.array(o.string()).nullable(),new_lines:o.number().nullable(),new_start:o.number().nullable(),old_lines:o.number().nullable(),old_start:o.number().nullable()})]))),lPe=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("programmatic-tool-call"),code:o.string()}),o.object({type:o.literal("bash_code_execution"),command:o.string()}),o.discriminatedUnion("command",[o.object({type:o.literal("text_editor_code_execution"),command:o.literal("view"),path:o.string()}),o.object({type:o.literal("text_editor_code_execution"),command:o.literal("create"),path:o.string(),file_text:o.string().nullish()}),o.object({type:o.literal("text_editor_code_execution"),command:o.literal("str_replace"),path:o.string(),old_str:o.string(),new_str:o.string()})])]))),cPe=ut({id:"anthropic.code_execution_20250825",inputSchema:lPe,outputSchema:K6,supportsDeferredResults:!0}),uPe=(e={})=>cPe(e),Q6=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("code_execution_result"),stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("encrypted_code_execution_result"),encrypted_stdout:o.string(),stderr:o.string(),return_code:o.number(),content:o.array(o.object({type:o.literal("code_execution_output"),file_id:o.string()})).optional().default([])}),o.object({type:o.literal("bash_code_execution_result"),content:o.array(o.object({type:o.literal("bash_code_execution_output"),file_id:o.string()})),stdout:o.string(),stderr:o.string(),return_code:o.number()}),o.object({type:o.literal("bash_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_tool_result_error"),error_code:o.string()}),o.object({type:o.literal("text_editor_code_execution_view_result"),content:o.string(),file_type:o.string(),num_lines:o.number().nullable(),start_line:o.number().nullable(),total_lines:o.number().nullable()}),o.object({type:o.literal("text_editor_code_execution_create_result"),is_file_update:o.boolean()}),o.object({type:o.literal("text_editor_code_execution_str_replace_result"),lines:o.array(o.string()).nullable(),new_lines:o.number().nullable(),new_start:o.number().nullable(),old_lines:o.number().nullable(),old_start:o.number().nullable()})]))),dPe=G(()=>W(o.discriminatedUnion("type",[o.object({type:o.literal("programmatic-tool-call"),code:o.string()}),o.object({type:o.literal("bash_code_execution"),command:o.string()}),o.discriminatedUnion("command",[o.object({type:o.literal("text_editor_code_execution"),command:o.literal("view"),path:o.string()}),o.object({type:o.literal("text_editor_code_execution"),command:o.literal("create"),path:o.string(),file_text:o.string().nullish()}),o.object({type:o.literal("text_editor_code_execution"),command:o.literal("str_replace"),path:o.string(),old_str:o.string(),new_str:o.string()})])]))),pPe=ut({id:"anthropic.code_execution_20260120",inputSchema:dPe,outputSchema:Q6,supportsDeferredResults:!0}),mPe=(e={})=>pPe(e),Y6=G(()=>W(o.array(o.object({type:o.literal("tool_reference"),toolName:o.string()})))),fPe=G(()=>W(o.object({pattern:o.string(),limit:o.number().optional()}))),gPe=ut({id:"anthropic.tool_search_regex_20251119",inputSchema:fPe,outputSchema:Y6,supportsDeferredResults:!0}),hPe=(e={})=>gPe(e);function yPe(e){if(typeof e==="string")return new TextDecoder().decode(Lr(e));if(e instanceof Uint8Array)return new TextDecoder().decode(e);if(e instanceof URL)throw new Nt({functionality:"URL-based text documents are not supported for citations"});throw new Nt({functionality:`unsupported data type for text documents: ${typeof e}`})}function K0(e){return e instanceof URL||bPe(e)}function bPe(e){return typeof e==="string"&&/^https?:\/\//i.test(e)}function Q0(e){return e instanceof URL?e.toString():e}async function Y0(e){if(typeof e==="string"){let t=await mr({text:e});if(t.success&&typeof t.value==="object"&&t.value!==null)return t.value;return{errorCode:"unavailable"}}if(typeof e==="object"&&e!==null)return e;return{}}async function vPe({prompt:e,sendReasoning:t,warnings:n,cacheControlValidator:r,toolNameMapping:i,toolsetNames:a={}}){var s,l,c,u,d,p,f,m,g,h,b,w,_,y,S,A,v,R,z,F,x,M;let q=new Set,E=SPe(e),N=r||new tO,Q=void 0,ae=[],J=-1;async function oe(se){var T,le;let X=await Pt({provider:"anthropic",providerOptions:se,schema:P6});return(le=(T=X==null?void 0:X.citations)==null?void 0:T.enabled)!=null?le:!1}async function be(se){let T=await Pt({provider:"anthropic",providerOptions:se,schema:P6});return{title:T==null?void 0:T.title,context:T==null?void 0:T.context}}for(let se=0;se<E.length;se++){let T=E[se],le=se===E.length-1,X=T.type;switch(X){case"system":{let re=[],de=0,ze=!1;for(let{content:Ne,providerOptions:We}of T.messages){let ee=await Pt({provider:"anthropic",providerOptions:We,schema:EAe}),we=(s=ee==null?void 0:ee.toolChanges)!=null?s:[],B=ee==null?void 0:ee.clearAt,ne=ee==null?void 0:ee.effort,xe=[];if(Ne!==""||we.length===0&&B==null&&ne==null)xe.push({type:"text",text:Ne,cache_control:N.getCacheControl(We,{type:"system message",canCache:!0})});for(let ce of we)de++,xe.push({type:ce.type,tool:{type:"tool_reference",name:i.toProviderToolName(ce.toolName)}});ze||(ze=B!=null||ne!=null),re.push({role:"system",content:xe,...B!=null&&{clear_at:B},...ne!=null&&{output_config:{effort:ne}}})}if(se===0||Q==null&&de===0&&!ze){if(de>0)n.push({type:"other",message:"tool changes on the initial system message are not supported by Anthropic. Configure the initial tool set via the tools option instead. The tool changes have been ignored."});for(let Ne of re)if(Ne.content.length===0&&Ne.clear_at==null&&Ne.output_config!=null)ae.push(Ne),q.add("mid-conversation-output-config-2026-07-01");else if(Ne.clear_at!=null||Ne.output_config!=null)n.push({type:"other",message:"clearAt and effort on this initial system message are not supported by Anthropic. Use a separate effort-only system message with empty content to set effort. These options have been ignored."});Q=re.flatMap((Ne)=>Ne.content.filter((We)=>We.type==="text"))}else{if(ae.push(...re),q.add("mid-conversation-system-2026-04-07"),de>0)q.add("mid-conversation-tool-changes-2026-07-01");if(re.some((Ne)=>Ne.clear_at!=null))q.add("mid-conversation-system-clear-at-2026-08-21");if(re.some((Ne)=>Ne.output_config!=null))q.add("mid-conversation-output-config-2026-07-01")}break}case"user":{let re=[];for(let de of T.messages){let{role:ze,content:Ne}=de;switch(ze){case"user":{if(Ne.length>0)J=ae.length;for(let We=0;We<Ne.length;We++){let ee=Ne[We],we=We===Ne.length-1,B=(l=N.getCacheControl(ee.providerOptions,{type:"user message part",canCache:!0}))!=null?l:we?N.getCacheControl(de.providerOptions,{type:"user message",canCache:!0}):void 0;switch(ee.type){case"text":{re.push({type:"text",text:ee.text,cache_control:B});break}case"file":{if(ee.mediaType.startsWith("image/"))re.push({type:"image",source:K0(ee.data)?{type:"url",url:Q0(ee.data)}:{type:"base64",media_type:ee.mediaType==="image/*"?"image/jpeg":ee.mediaType,data:or(ee.data)},cache_control:B});else if(ee.mediaType==="application/pdf"){q.add("pdfs-2024-09-25");let ne=await oe(ee.providerOptions),xe=await be(ee.providerOptions);re.push({type:"document",source:K0(ee.data)?{type:"url",url:Q0(ee.data)}:{type:"base64",media_type:"application/pdf",data:or(ee.data)},title:(c=xe.title)!=null?c:ee.filename,...xe.context&&{context:xe.context},...ne&&{citations:{enabled:!0}},cache_control:B})}else if(ee.mediaType==="text/plain"){let ne=await oe(ee.providerOptions),xe=await be(ee.providerOptions);re.push({type:"document",source:K0(ee.data)?{type:"url",url:Q0(ee.data)}:{type:"text",media_type:"text/plain",data:yPe(ee.data)},title:(u=xe.title)!=null?u:ee.filename,...xe.context&&{context:xe.context},...ne&&{citations:{enabled:!0}},cache_control:B})}else throw new Nt({functionality:`media type: ${ee.mediaType}`});break}}}break}case"tool":{for(let We=0;We<Ne.length;We++){let ee=Ne[We];if(ee.type==="tool-approval-response")continue;let we=ee.output,B="providerOptions"in we?we.providerOptions:we.type==="content"?(d=we.value.find((Z)=>Z.providerOptions!=null))==null?void 0:d.providerOptions:void 0,ne=We===Ne.length-1,xe=(f=(p=N.getCacheControl(ee.providerOptions,{type:"tool result part",canCache:!0}))!=null?p:N.getCacheControl(B,{type:"tool result output",canCache:!0}))!=null?f:ne?N.getCacheControl(de.providerOptions,{type:"tool result message",canCache:!0}):void 0,ce;switch(we.type){case"content":ce=we.value.map((Z)=>{var D;switch(Z.type){case"text":return{type:"text",text:Z.text};case"image-data":return{type:"image",source:{type:"base64",media_type:Z.mediaType,data:Z.data}};case"image-url":return{type:"image",source:{type:"url",url:Z.url}};case"file-url":return{type:"document",source:{type:"url",url:Z.url}};case"file-data":{if(Z.mediaType==="application/pdf")return q.add("pdfs-2024-09-25"),{type:"document",source:{type:"base64",media_type:Z.mediaType,data:Z.data}};n.push({type:"other",message:`unsupported tool content part type: ${Z.type} with media type: ${Z.mediaType}`});return}case"custom":{let Pe=(D=Z.providerOptions)==null?void 0:D.anthropic;if((Pe==null?void 0:Pe.type)==="tool-reference")return{type:"tool_reference",tool_name:Pe.toolName};n.push({type:"other",message:"unsupported custom tool content part"});return}default:{n.push({type:"other",message:`unsupported tool content part type: ${Z.type}`});return}}}).filter(zp);break;case"text":case"error-text":ce=we.value;break;case"execution-denied":ce=(m=we.reason)!=null?m:"Tool call execution denied.";break;case"json":case"error-json":default:ce=JSON.stringify(we.value);break}let ve=N6({toolName:ee.toolName,providerOptions:ee.providerOptions,toolsetNames:a});re.push({type:"tool_result",tool_use_id:ee.toolCallId,...ve!=null&&{toolset_name:ve},content:ce,is_error:we.type==="error-text"||we.type==="error-json"?!0:void 0,cache_control:xe})}break}default:throw Error(`Unsupported role: ${ze}`)}}ae.push({role:"user",content:re});break}case"assistant":{let re=[],de=new Set;for(let ze=0;ze<T.messages.length;ze++){let Ne=T.messages[ze],We=ze===T.messages.length-1,{content:ee}=Ne;for(let we=0;we<ee.length;we++){let B=ee[we],ne=we===ee.length-1,xe=(g=N.getCacheControl(B.providerOptions,{type:"assistant message part",canCache:!0}))!=null?g:ne?N.getCacheControl(Ne.providerOptions,{type:"assistant message",canCache:!0}):void 0;switch(B.type){case"text":{let ce=(h=B.providerOptions)==null?void 0:h.anthropic;if((ce==null?void 0:ce.type)==="compaction")re.push({type:"compaction",content:B.text,cache_control:xe});else re.push({type:"text",text:le&&We&&ne?B.text.trim():B.text,...(ce==null?void 0:ce.citations)!=null&&{citations:ce.citations},cache_control:xe});break}case"reasoning":{if(t){let ce=await Pt({provider:"anthropic",providerOptions:B.providerOptions,schema:CAe});if(ce!=null)if(ce.signature!=null)N.getCacheControl(B.providerOptions,{type:"thinking block",canCache:!1}),re.push({type:"thinking",thinking:B.text,signature:ce.signature});else if(ce.redactedData!=null)N.getCacheControl(B.providerOptions,{type:"redacted thinking block",canCache:!1}),re.push({type:"redacted_thinking",data:ce.redactedData});else n.push({type:"other",message:"unsupported reasoning metadata"});else n.push({type:"other",message:"unsupported reasoning metadata"})}else n.push({type:"other",message:"sending reasoning content is disabled for this model"});break}case"tool-call":{let ce=z6(B.providerOptions);if(B.providerExecuted){let Z=i.toProviderToolName(B.toolName);if(((w=(b=B.providerOptions)==null?void 0:b.anthropic)==null?void 0:w.type)==="mcp-tool-use"){de.add(B.toolCallId);let Pe=(y=(_=B.providerOptions)==null?void 0:_.anthropic)==null?void 0:y.serverName;if(Pe==null||typeof Pe!=="string"){n.push({type:"other",message:"mcp tool use server name is required and must be a string"});break}re.push({type:"mcp_tool_use",id:B.toolCallId,name:B.toolName,input:B.input,server_name:Pe,cache_control:xe})}else if(Z==="code_execution"&&B.input!=null&&typeof B.input==="object"&&"type"in B.input&&typeof B.input.type==="string"&&(B.input.type==="bash_code_execution"||B.input.type==="text_editor_code_execution")){let{type:Pe,...Oe}=B.input;re.push({type:"server_tool_use",id:B.toolCallId,name:Pe,input:Oe,...ce&&{caller:ce},cache_control:xe})}else if(Z==="code_execution"&&B.input!=null&&typeof B.input==="object"&&"type"in B.input&&B.input.type==="programmatic-tool-call"){let{type:Pe,...Oe}=B.input;re.push({type:"server_tool_use",id:B.toolCallId,name:"code_execution",input:Oe,...ce&&{caller:ce},cache_control:xe})}else if(Z==="code_execution"||Z==="web_fetch"||Z==="web_search")re.push({type:"server_tool_use",id:B.toolCallId,name:Z,input:B.input,...ce&&{caller:ce},cache_control:xe});else if(Z==="tool_search_tool_regex"||Z==="tool_search_tool_bm25")re.push({type:"server_tool_use",id:B.toolCallId,name:Z,input:B.input,...ce&&{caller:ce},cache_control:xe});else if(Z==="advisor")re.push({type:"server_tool_use",id:B.toolCallId,name:"advisor",input:{},...ce&&{caller:ce},cache_control:xe});else n.push({type:"other",message:`provider executed tool call for tool ${B.toolName} is not supported`});break}let ve=N6({toolName:B.toolName,providerOptions:B.providerOptions,toolsetNames:a});if(ve!=null){let{action:Z,...D}=typeof B.input==="object"&&B.input!==null&&!Array.isArray(B.input)?B.input:{};if(typeof Z!=="string"){n.push({type:"other",message:`toolset tool call for tool ${B.toolName} is missing the action`});break}re.push({type:"tool_use",id:B.toolCallId,name:Z,toolset_name:ve,input:D,...ce&&{caller:ce},cache_control:xe});break}re.push({type:"tool_use",id:B.toolCallId,name:B.toolName,input:B.input,...ce&&{caller:ce},cache_control:xe});break}case"tool-result":{let ce=i.toProviderToolName(B.toolName),ve=z6(B.providerOptions);if(de.has(B.toolCallId)){let Z=B.output;if(Z.type!=="json"&&Z.type!=="error-json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}re.push({type:"mcp_tool_result",tool_use_id:B.toolCallId,is_error:Z.type==="error-json",content:Z.value,cache_control:xe})}else if(ce==="code_execution"){let Z=B.output;if(Z.type==="error-text"||Z.type==="error-json"){let D={};try{if(typeof Z.value==="string")D=ni(Z.value);else if(typeof Z.value==="object"&&Z.value!==null)D=Z.value}catch(Pe){}if(D.type==="code_execution_tool_result_error")re.push({type:"code_execution_tool_result",tool_use_id:B.toolCallId,content:{type:"code_execution_tool_result_error",error_code:(S=D.errorCode)!=null?S:"unknown"},cache_control:xe});else re.push({type:"bash_code_execution_tool_result",tool_use_id:B.toolCallId,cache_control:xe,content:{type:"bash_code_execution_tool_result_error",error_code:(A=D.errorCode)!=null?A:"unknown"}});break}if(Z.type!=="json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}if(Z.value==null||typeof Z.value!=="object"||!("type"in Z.value)||typeof Z.value.type!=="string"){n.push({type:"other",message:`provider executed tool result output value is not a valid code execution result for tool ${B.toolName}`});break}if(Z.value.type==="code_execution_result"){let D=await kt({value:Z.value,schema:H6});re.push({type:"code_execution_tool_result",tool_use_id:B.toolCallId,content:{type:D.type,stdout:D.stdout,stderr:D.stderr,return_code:D.return_code,content:(v=D.content)!=null?v:[]},cache_control:xe})}else if(Z.value.type==="encrypted_code_execution_result"){let D=await kt({value:Z.value,schema:Q6});if(D.type==="encrypted_code_execution_result")re.push({type:"code_execution_tool_result",tool_use_id:B.toolCallId,content:{type:D.type,encrypted_stdout:D.encrypted_stdout,stderr:D.stderr,return_code:D.return_code,content:(R=D.content)!=null?R:[]},cache_control:xe})}else{let D=await kt({value:Z.value,schema:K6});if(D.type==="code_execution_result")re.push({type:"code_execution_tool_result",tool_use_id:B.toolCallId,content:{type:D.type,stdout:D.stdout,stderr:D.stderr,return_code:D.return_code,content:(z=D.content)!=null?z:[]},cache_control:xe});else if(D.type==="bash_code_execution_result"||D.type==="bash_code_execution_tool_result_error")re.push({type:"bash_code_execution_tool_result",tool_use_id:B.toolCallId,cache_control:xe,content:D.type==="bash_code_execution_result"?{type:D.type,stdout:D.stdout,stderr:D.stderr,return_code:D.return_code,content:D.content}:D});else re.push({type:"text_editor_code_execution_tool_result",tool_use_id:B.toolCallId,cache_control:xe,content:D})}break}if(ce==="web_fetch"){let Z=B.output;if(Z.type==="error-json"){re.push({type:"web_fetch_tool_result",tool_use_id:B.toolCallId,content:{type:"web_fetch_tool_result_error",error_code:(F=(await Y0(Z.value)).errorCode)!=null?F:"unavailable"},...ve&&{caller:ve},cache_control:xe});break}if(Z.type!=="json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}let D=await kt({value:Z.value,schema:V6});re.push({type:"web_fetch_tool_result",tool_use_id:B.toolCallId,content:{type:"web_fetch_result",url:D.url,retrieved_at:D.retrievedAt,content:{type:"document",title:D.content.title,citations:D.content.citations,source:{type:D.content.source.type,media_type:D.content.source.mediaType,data:D.content.source.data}}},...ve&&{caller:ve},cache_control:xe});break}if(ce==="web_search"){let Z=B.output;if(Z.type==="error-json"){re.push({type:"web_search_tool_result",tool_use_id:B.toolCallId,content:{type:"web_search_tool_result_error",error_code:(x=(await Y0(Z.value)).errorCode)!=null?x:"unavailable"},...ve&&{caller:ve},cache_control:xe});break}if(Z.type!=="json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}let D=await kt({value:Z.value,schema:J6});re.push({type:"web_search_tool_result",tool_use_id:B.toolCallId,content:D.map((Pe)=>({url:Pe.url,title:Pe.title,page_age:Pe.pageAge,encrypted_content:Pe.encryptedContent,type:Pe.type})),...ve&&{caller:ve},cache_control:xe});break}if(ce==="tool_search_tool_regex"||ce==="tool_search_tool_bm25"){let Z=B.output;if(Z.type==="error-json"||Z.type==="json"&&Z.value!=null&&typeof Z.value==="object"&&!Array.isArray(Z.value)&&"type"in Z.value&&Z.value.type==="tool_search_tool_result_error"){re.push({type:"tool_search_tool_result",tool_use_id:B.toolCallId,content:{type:"tool_search_tool_result_error",error_code:(M=(await Y0(Z.value)).errorCode)!=null?M:"unavailable"},cache_control:xe});break}if(Z.type!=="json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}let Pe=(await kt({value:Z.value,schema:Y6})).map((Oe)=>({type:"tool_reference",tool_name:Oe.toolName}));re.push({type:"tool_search_tool_result",tool_use_id:B.toolCallId,content:{type:"tool_search_tool_search_result",tool_references:Pe},cache_control:xe});break}if(ce==="advisor"){let Z=B.output;if(Z.type!=="json"&&Z.type!=="error-json"){n.push({type:"other",message:`provider executed tool result output type ${Z.type} for tool ${B.toolName} is not supported`});break}let D=await kt({value:Z.value,schema:W6});if(D.type==="advisor_result")re.push({type:"advisor_tool_result",tool_use_id:B.toolCallId,content:{type:"advisor_result",text:D.text},cache_control:xe});else if(D.type==="advisor_redacted_result")re.push({type:"advisor_tool_result",tool_use_id:B.toolCallId,content:{type:"advisor_redacted_result",encrypted_content:D.encryptedContent},cache_control:xe});else re.push({type:"advisor_tool_result",tool_use_id:B.toolCallId,content:{type:"advisor_tool_result_error",error_code:D.errorCode},cache_control:xe});break}n.push({type:"other",message:`provider executed tool result for tool ${B.toolName} is not supported`});break}}}}ae.push({role:"assistant",content:xPe(re)});break}default:throw Error(`content type: ${X}`)}}let P=new Set;for(let se of ae){if(se.role!=="assistant")continue;for(let T of se.content)if(T.type==="server_tool_use"&&T.name==="code_execution")P.add(T.id)}let L=new Set;for(let se=0;se<J;se++){let T=ae[se];if(T.role!=="assistant")continue;for(let le of T.content){if(!("caller"in le))continue;let X=le.caller;if(X==null||X.type==="direct"||P.has(X.tool_id))continue;let re="id"in le?le.id:le.tool_use_id;if(delete le.caller,!L.has(re))L.add(re),n.push({type:"other",message:`Omitted caller metadata for tool ${re} because source code execution tool ${X.tool_id} is missing from the conversation history.`})}}return{prompt:{system:Q,messages:ae},betas:q}}function SPe(e){let t=[],n=void 0;for(let r of e){let{role:i}=r;switch(i){case"system":{if((n==null?void 0:n.type)!=="system")n={type:"system",messages:[]},t.push(n);n.messages.push(r);break}case"assistant":{if((n==null?void 0:n.type)!=="assistant")n={type:"assistant",messages:[]},t.push(n);n.messages.push(r);break}case"user":{if((n==null?void 0:n.type)!=="user")n={type:"user",messages:[]},t.push(n);n.messages.push(r);break}case"tool":{if((n==null?void 0:n.type)!=="user")n={type:"user",messages:[]},t.push(n);n.messages.push(r);break}default:throw Error(`Unsupported role: ${i}`)}}return t}function xPe(e){let t=[],n=[];function r(){t.push(...n.filter((i)=>i.type!=="tool_use"),...n.filter((i)=>i.type==="tool_use")),n=[]}for(let i of e)if(i.type==="thinking"||i.type==="redacted_thinking")r(),t.push(i);else n.push(i);return r(),t}function N6({toolName:e,providerOptions:t,toolsetNames:n}){var r;let i=n[e];if(i!=null)return i;let a=(r=t==null?void 0:t.anthropic)==null?void 0:r.toolsetName;return typeof a==="string"?a:void 0}function z6(e){var t;let n=(t=e==null?void 0:e.anthropic)==null?void 0:t.caller;if(((n==null?void 0:n.type)==="code_execution_20250825"||(n==null?void 0:n.type)==="code_execution_20260120")&&n.toolId)return{type:n.type,tool_id:n.toolId};return(n==null?void 0:n.type)==="direct"?{type:"direct"}:void 0}function X0({finishReason:e,isJsonResponseFromTool:t}){switch(e){case"pause_turn":case"end_turn":case"stop_sequence":return"stop";case"refusal":return"content-filter";case"tool_use":return t?"stop":"tool-calls";case"max_tokens":case"model_context_window_exceeded":return"length";case"compaction":return"other";default:return"other"}}var X6=new Set(["date-time","time","date","duration","email","hostname","uri","ipv4","ipv6","uuid"]),wPe=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","minLength","maxLength","pattern","minItems","maxItems","uniqueItems","minProperties","maxProperties","not"];function TPe(e){return e9(e)}function Gl(e){if(typeof e==="boolean"||!EPe(e))return e;return e9(e)}function e9(e){let t={},n=e;if(e.$ref!=null)return{$ref:e.$ref};if(e.$schema!=null)t.$schema=e.$schema;if(e.$id!=null)t.$id=e.$id;if(e.title!=null)t.title=e.title;if(e.description!=null)t.description=e.description;if(e.default!==void 0)t.default=e.default;if(e.const!==void 0)t.const=e.const;if(e.enum!=null)t.enum=e.enum;if(e.type!=null)t.type=e.type;if(e.anyOf!=null)t.anyOf=e.anyOf.map(Gl);else if(e.oneOf!=null)t.anyOf=e.oneOf.map(Gl);if(e.allOf!=null)t.allOf=e.allOf.map(Gl);if(e.definitions!=null)t.definitions=Object.fromEntries(Object.entries(e.definitions).map(([i,a])=>[i,Gl(a)]));if(n.$defs!=null){let i=t;i.$defs=Object.fromEntries(Object.entries(n.$defs).map(([a,s])=>[a,Gl(s)]))}if(e.type==="object"||e.properties!=null){if(e.properties!=null)t.properties=Object.fromEntries(Object.entries(e.properties).map(([i,a])=>[i,Gl(a)]));if(t.additionalProperties=!1,e.required!=null)t.required=e.required}if(e.items!=null)t.items=Array.isArray(e.items)?e.items.map(Gl):Gl(e.items);if(typeof e.format==="string"&&X6.has(e.format))t.format=e.format;let r=_Pe(e);if(r!=null)t.description=t.description==null?r:`${t.description}
211
211
  ${r}`;return t}function _Pe(e){let t=wPe.flatMap((n)=>{let r=e[n];if(r==null||r===!1)return[];return`${IPe(n)}: ${CPe(r)}`});if(typeof e.format==="string"&&!X6.has(e.format))t.push(`format: ${e.format}`);return t.length===0?void 0:`${t.join("; ")}.`}function IPe(e){return e.replace(/[A-Z]/g,(t)=>` ${t.toLowerCase()}`)}function CPe(e){if(typeof e==="string")return e;return JSON.stringify(e)}function EPe(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function B6(e,t,n){var r;if(e.type==="web_search_result_location")return{type:"source",sourceType:"url",id:n(),url:e.url,title:e.title,providerMetadata:{anthropic:{citedText:e.cited_text,encryptedIndex:e.encrypted_index}}};if(e.type!=="page_location"&&e.type!=="char_location")return;let i=t[e.document_index];if(!i)return;return{type:"source",sourceType:"document",id:n(),mediaType:i.mediaType,title:(r=e.document_title)!=null?r:i.title,filename:i.filename,providerMetadata:{anthropic:e.type==="page_location"?{citedText:e.cited_text,startPageNumber:e.start_page_number,endPageNumber:e.end_page_number}:{citedText:e.cited_text,startCharIndex:e.start_char_index,endCharIndex:e.end_char_index}}}}function Ch(e){return e==null?void 0:{type:e.type,toolId:"tool_id"in e?e.tool_id:void 0}}function jo(e){let t=Ch(e);return t==null?{}:{providerMetadata:{anthropic:{caller:t}}}}function kPe(e){let t={};for(let n of e!=null?e:[])if(n.type==="provider"&&n.id==="anthropic.computer_toolset_20260801")t[n.name]="computer";return t}function F6({memberName:e,input:t}){return{action:e,...typeof t==="object"&&t!==null&&!Array.isArray(t)?t:{}}}var RPe=class{constructor(e,t){this.specificationVersion="v3";var n;this.modelId=e,this.config=t,this.generateId=(n=t.generateId)!=null?n:$t}supportsUrl(e){return e.protocol==="https:"}get provider(){return this.config.provider}get providerOptionsName(){let e=this.config.provider,t=e.indexOf(".");return t===-1?e:e.substring(0,t)}get supportedUrls(){var e,t,n;return(n=(t=(e=this.config).supportedUrls)==null?void 0:t.call(e))!=null?n:{}}async getArgs({userSuppliedBetas:e,prompt:t,maxOutputTokens:n,temperature:r,topP:i,topK:a,frequencyPenalty:s,presencePenalty:l,stopSequences:c,responseFormat:u,seed:d,tools:p,toolChoice:f,providerOptions:m,stream:g}){var h,b,w,_,y,S,A;let v=[];if(s!=null)v.push({type:"unsupported",feature:"frequencyPenalty"});if(l!=null)v.push({type:"unsupported",feature:"presencePenalty"});if(d!=null)v.push({type:"unsupported",feature:"seed"});if(r!=null&&r>1)v.push({type:"unsupported",feature:"temperature",details:`${r} exceeds anthropic maximum of 1.0. clamped to 1.0`}),r=1;else if(r!=null&&r<0)v.push({type:"unsupported",feature:"temperature",details:`${r} is below anthropic minimum of 0. clamped to 0`}),r=0;if((u==null?void 0:u.type)==="json"){if(u.schema==null)v.push({type:"unsupported",feature:"responseFormat",details:"JSON response format requires a schema. The response format is ignored."})}let R=this.providerOptionsName,z=await Pt({provider:"anthropic",providerOptions:m,schema:M6}),F=R!=="anthropic"?await Pt({provider:R,providerOptions:m,schema:M6}):null,x=F!=null,M=Object.assign({},z!=null?z:{},F!=null?F:{}),{maxOutputTokens:q,supportsStructuredOutput:E,rejectsSamplingParameters:N,rejectsThinkingDisabledAboveHighEffort:Q,rejectsThinkingDisabled:ae,rejectsBudgetThinking:J,rejectsForcedToolUse:oe,supportsBetweenToolsThinking:be,isKnownModel:P}=APe(this.modelId);if(!P&&n==null)v.push({type:"compatibility",feature:"maxOutputTokens",details:`The model "${this.modelId}" is unknown. The max output tokens have been limited to ${q}. Set maxOutputTokens explicitly to override this limit.`});if(N){if(r!=null)v.push({type:"unsupported",feature:"temperature",details:`temperature is not supported by ${this.modelId} and will be ignored`}),r=void 0;if(a!=null)v.push({type:"unsupported",feature:"topK",details:`topK is not supported by ${this.modelId} and will be ignored`}),a=void 0;if(i!=null)v.push({type:"unsupported",feature:"topP",details:`topP is not supported by ${this.modelId} and will be ignored`}),i=void 0}let L=P||this.modelId.includes("claude-"),se=((h=this.config.supportsNativeStructuredOutput)!=null?h:!0)&&E,T=((b=this.config.supportsStrictTools)!=null?b:!0)&&E,le=(w=M==null?void 0:M.structuredOutputMode)!=null?w:"auto",X=le==="outputFormat"||le==="auto"&&se;if(!X&&oe&&se&&(u==null?void 0:u.type)==="json"&&u.schema!=null)v.push({type:"unsupported",feature:"providerOptions.anthropic.structuredOutputMode",details:`structuredOutputMode 'jsonTool' is not supported by ${this.modelId} because it rejects forced tool use. Using 'outputFormat' instead.`}),X=!0;let re=(u==null?void 0:u.type)==="json"&&u.schema!=null&&!X?{type:"function",name:"json",description:"Respond with a JSON object.",inputSchema:u.schema}:void 0;if(re!=null&&(M==null?void 0:M.disableParallelToolUse)===!1)v.push({type:"unsupported",feature:"providerOptions.anthropic.disableParallelToolUse",details:"`disableParallelToolUse: false` is ignored when using the JSON response tool. Parallel tool use is disabled to ensure a single coherent JSON tool call."});let de=M==null?void 0:M.contextManagement,ze=new tO,Ne=Cx({tools:p,providerToolNames:{"anthropic.code_execution_20250522":"code_execution","anthropic.code_execution_20250825":"code_execution","anthropic.code_execution_20260120":"code_execution","anthropic.computer_20241022":"computer","anthropic.computer_20250124":"computer","anthropic.computer_20251124":"computer","anthropic.computer_toolset_20260801":"computer","anthropic.text_editor_20241022":"str_replace_editor","anthropic.text_editor_20250124":"str_replace_editor","anthropic.text_editor_20250429":"str_replace_based_edit_tool","anthropic.text_editor_20250728":"str_replace_based_edit_tool","anthropic.bash_20241022":"bash","anthropic.bash_20250124":"bash","anthropic.memory_20250818":"memory","anthropic.web_search_20250305":"web_search","anthropic.web_search_20260209":"web_search","anthropic.web_fetch_20250910":"web_fetch","anthropic.web_fetch_20260209":"web_fetch","anthropic.tool_search_regex_20251119":"tool_search_tool_regex","anthropic.tool_search_bm25_20251119":"tool_search_tool_bm25","anthropic.advisor_20260301":"advisor"}}),We=kPe(p),{prompt:ee,betas:we}=await vPe({prompt:t,sendReasoning:(_=M==null?void 0:M.sendReasoning)!=null?_:!0,warnings:v,cacheControlValidator:ze,toolNameMapping:Ne,toolsetNames:We});if(ae&&(M==null?void 0:M.thinking)!=null){let pe=M.thinking,st="type"in pe?pe.type:void 0;if(st==="disabled"&&be)v.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:`thinking cannot be disabled for ${this.modelId}. Using 'between_tools' thinking, the lowest thinking setting, instead.`}),M.thinking={type:"between_tools"};else if(st==="disabled")v.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:`thinking cannot be disabled for ${this.modelId}; it always uses adaptive thinking. The thinking setting has been removed. Lower 'effort' to reduce thinking.`}),M.thinking=void 0}if(J&&(M==null?void 0:M.thinking)!=null&&"type"in M.thinking&&M.thinking.type==="enabled")v.push({type:"unsupported",feature:"providerOptions.anthropic.thinking",details:ae?`budget-based thinking is not supported by ${this.modelId}; it always uses adaptive thinking. Using adaptive thinking instead. Use 'effort' to control how much the model thinks.`:`budget-based thinking is not supported by ${this.modelId}. Using adaptive thinking instead. Use 'effort' to control how much the model thinks.`}),M.thinking={type:"adaptive"};let B=M==null?void 0:M.thinking,ne=B!=null&&"type"in B?B.type:void 0;if(Q&&ne==="disabled"&&(M.effort==="xhigh"||M.effort==="max"))v.push({type:"unsupported",feature:"providerOptions.anthropic.effort",details:`effort '${M.effort}' is not supported by ${this.modelId} when thinking is disabled. The effort has been lowered to 'high'.`}),M.effort="high";if(ne==="between_tools"&&(M.effort==="xhigh"||M.effort==="max"))v.push({type:"unsupported",feature:"providerOptions.anthropic.effort",details:`effort '${M.effort}' is not supported with 'between_tools' thinking. The effort has been lowered to 'high'.`}),M.effort="high";let xe=ne==="enabled"||ne==="adaptive"||ne==="between_tools",ce=xe||ne==="disabled",ve=ne==="enabled"&&B!=null&&"budgetTokens"in B?B.budgetTokens:void 0,Z=ne==="adaptive"&&B!=null&&"display"in B?B.display:void 0,D=B!=null&&"blockBinding"in B?B.blockBinding:void 0,Pe=ce||D!=null,Oe=n!=null?n:q,ye={model:this.modelId,max_tokens:Oe,temperature:r,top_k:a,top_p:i,stop_sequences:c,...Pe&&{thinking:{...ne!=null&&{type:ne},...ve!=null&&{budget_tokens:ve},...Z!=null&&{display:Z},...D!=null&&{block_binding:{prefix_mismatch_behavior:D.prefixMismatchBehavior}}}},...((M==null?void 0:M.effort)||(M==null?void 0:M.taskBudget)||X&&(u==null?void 0:u.type)==="json"&&u.schema!=null)&&{output_config:{...(M==null?void 0:M.effort)&&{effort:M.effort},...(M==null?void 0:M.taskBudget)&&{task_budget:{type:M.taskBudget.type,total:M.taskBudget.total,...M.taskBudget.remaining!=null&&{remaining:M.taskBudget.remaining}}},...X&&(u==null?void 0:u.type)==="json"&&u.schema!=null&&{format:{type:"json_schema",schema:TPe(u.schema)}}}},...(M==null?void 0:M.speed)&&{speed:M.speed},...(M==null?void 0:M.inferenceGeo)&&{inference_geo:M.inferenceGeo},...(M==null?void 0:M.fallbacks)!=null&&(M.fallbacks==="default"||M.fallbacks.length>0)&&{fallbacks:M.fallbacks},...(M==null?void 0:M.cacheControl)&&{cache_control:M.cacheControl},...((y=M==null?void 0:M.metadata)==null?void 0:y.userId)!=null&&{metadata:{user_id:M.metadata.userId}},...(M==null?void 0:M.mcpServers)&&M.mcpServers.length>0&&{mcp_servers:M.mcpServers.map((pe)=>({type:pe.type,name:pe.name,url:pe.url,authorization_token:pe.authorizationToken,tool_configuration:pe.toolConfiguration?{allowed_tools:pe.toolConfiguration.allowedTools,enabled:pe.toolConfiguration.enabled}:void 0}))},...(M==null?void 0:M.container)&&{container:M.container.skills&&M.container.skills.length>0?{id:M.container.id,skills:M.container.skills.map((pe)=>({type:pe.type,skill_id:pe.skillId,version:pe.version}))}:M.container.id},system:ee.system,messages:ee.messages,...(M==null?void 0:M.safeguards)&&M.safeguards.length>0&&{safeguards:M.safeguards.map((pe)=>({type:pe.type,...pe.classifierContext!==void 0&&{classifier_context:pe.classifierContext}}))},...de&&{context_management:{edits:de.edits.map((pe)=>{let st=pe.type;switch(st){case"clear_tool_uses_20250919":return{type:pe.type,...pe.trigger!==void 0&&{trigger:pe.trigger},...pe.keep!==void 0&&{keep:pe.keep},...pe.clearAtLeast!==void 0&&{clear_at_least:pe.clearAtLeast},...pe.clearToolInputs!==void 0&&{clear_tool_inputs:pe.clearToolInputs},...pe.excludeTools!==void 0&&{exclude_tools:pe.excludeTools}};case"clear_thinking_20251015":return{type:pe.type,...pe.keep!==void 0&&{keep:pe.keep}};case"compact_20260112":return{type:pe.type,...pe.trigger!==void 0&&{trigger:pe.trigger},...pe.pauseAfterCompaction!==void 0&&{pause_after_compaction:pe.pauseAfterCompaction},...pe.instructions!==void 0&&{instructions:pe.instructions}};default:v.push({type:"other",message:`Unknown context management strategy: ${st}`});return}}).filter((pe)=>pe!==void 0)}}};if(xe){if(ne==="enabled"&&ve==null)v.push({type:"compatibility",feature:"extended thinking",details:"thinking budget is required when thinking is enabled. using default budget of 1024 tokens."}),ye.thinking={type:"enabled",budget_tokens:1024},ve=1024;if(ye.temperature!=null)ye.temperature=void 0,v.push({type:"unsupported",feature:"temperature",details:"temperature is not supported when thinking is enabled"});if(a!=null)ye.top_k=void 0,v.push({type:"unsupported",feature:"topK",details:"topK is not supported when thinking is enabled"});if(i!=null)ye.top_p=void 0,v.push({type:"unsupported",feature:"topP",details:"topP is not supported when thinking is enabled"});ye.max_tokens=Oe+(ve!=null?ve:0)}else if(L&&i!=null&&r!=null)v.push({type:"unsupported",feature:"topP",details:"topP is not supported when temperature is set. topP is ignored."}),ye.top_p=void 0;if(P&&ye.max_tokens>q){if(n!=null)v.push({type:"unsupported",feature:"maxOutputTokens",details:`${ye.max_tokens} (maxOutputTokens + thinkingBudget) is greater than ${this.modelId} ${q} max output tokens. The max output tokens have been limited to ${q}.`});ye.max_tokens=q}if((M==null?void 0:M.mcpServers)&&M.mcpServers.length>0)we.add("mcp-client-2025-04-04");if((M==null?void 0:M.safeguards)&&M.safeguards.length>0)we.add("dangerous-tool-use-2026-09-03");if(de){if(we.add("context-management-2025-06-27"),de.edits.some((pe)=>pe.type==="compact_20260112"))we.add("compact-2026-01-12")}if((M==null?void 0:M.container)&&M.container.skills&&M.container.skills.length>0){if(we.add("code-execution-2025-08-25"),we.add("skills-2025-10-02"),we.add("files-api-2025-04-14"),!(p==null?void 0:p.some((pe)=>pe.type==="provider"&&(pe.id==="anthropic.code_execution_20250825"||pe.id==="anthropic.code_execution_20260120"))))v.push({type:"other",message:"code execution tool is required when using skills"})}if(M==null?void 0:M.taskBudget)we.add("task-budgets-2026-03-13");if(Z==="updates")we.add("thinking-display-updates-2026-08-18");if(D!=null)we.add("thinking-binding-controls-2026-08-01");if((M==null?void 0:M.speed)==="fast")we.add("fast-mode-2026-02-01");if((M==null?void 0:M.fallbacks)==="default")we.add("server-side-fallback-2026-07-01");else if((M==null?void 0:M.fallbacks)&&M.fallbacks.length>0)we.add("server-side-fallback-2026-06-01");let Ce=g&&((S=M==null?void 0:M.toolStreaming)!=null?S:!0),{tools:Ke,toolChoice:qe,toolWarnings:K,betas:te}=await oPe(re!=null?{tools:[...p!=null?p:[],re],toolChoice:{type:"required"},disableParallelToolUse:!0,cacheControlValidator:ze,supportsStructuredOutput:!1,supportsStrictTools:T,defaultEagerInputStreaming:Ce,rejectsForcedToolUse:oe}:{tools:p!=null?p:[],toolChoice:f,disableParallelToolUse:M==null?void 0:M.disableParallelToolUse,cacheControlValidator:ze,supportsStructuredOutput:se,supportsStrictTools:T,defaultEagerInputStreaming:Ce,rejectsForcedToolUse:oe}),he=ze.getWarnings();return{args:{...ye,tools:Ke,tool_choice:qe,stream:g===!0?!0:void 0},warnings:[...v,...K,...he],betas:new Set([...we,...te,...e,...(A=M==null?void 0:M.anthropicBeta)!=null?A:[]]),usesJsonResponseTool:re!=null,toolNameMapping:Ne,providerOptionsName:R,usedCustomProviderKey:x}}async getHeaders({betas:e,headers:t}){return pt(await mt(this.config.headers),t,e.size>0?{"anthropic-beta":Array.from(e).join(",")}:{})}async getBetasFromHeaders(e){var t,n;let i=(t=(await mt(this.config.headers))["anthropic-beta"])!=null?t:"",a=(n=e==null?void 0:e["anthropic-beta"])!=null?n:"";return new Set([...i.toLowerCase().split(","),...a.toLowerCase().split(",")].map((s)=>s.trim()).filter((s)=>s!==""))}buildRequestUrl(e){var t,n,r;return(r=(n=(t=this.config).buildRequestUrl)==null?void 0:n.call(t,this.config.baseURL,e))!=null?r:`${this.config.baseURL}/messages`}transformRequestBody(e,t){var n,r,i;return(i=(r=(n=this.config).transformRequestBody)==null?void 0:r.call(n,e,t))!=null?i:e}extractCitationDocuments(e){let t=(n)=>{var r,i;if(n.type!=="file")return!1;if(n.mediaType!=="application/pdf"&&n.mediaType!=="text/plain")return!1;let a=(r=n.providerOptions)==null?void 0:r.anthropic,s=a==null?void 0:a.citations;return(i=s==null?void 0:s.enabled)!=null?i:!1};return e.filter((n)=>n.role==="user").flatMap((n)=>n.content).filter(t).map((n)=>{var r;let i=n;return{title:(r=i.filename)!=null?r:"Untitled Document",filename:i.filename,mediaType:i.mediaType}})}async doGenerate(e){var t,n,r,i,a,s,l,c,u;let{args:d,warnings:p,betas:f,usesJsonResponseTool:m,toolNameMapping:g,providerOptionsName:h,usedCustomProviderKey:b}=await this.getArgs({...e,stream:!1,userSuppliedBetas:await this.getBetasFromHeaders(e.headers)}),w=[...this.extractCitationDocuments(e.prompt)],_=q6(d.tools),{responseHeaders:y,value:S,rawValue:A}=await St({url:this.buildRequestUrl(!1),headers:await this.getHeaders({betas:f,headers:e.headers}),body:this.transformRequestBody(d,f),failedResponseHandler:A6,successfulResponseHandler:ht(_Ae),abortSignal:e.abortSignal,fetch:this.config.fetch}),v=[],R={},z={},F=!1;for(let x of S.content)switch(x.type){case"text":{if(!m){let M=(t=x.citations)==null?void 0:t.filter((q)=>q.type==="web_search_result_location");if(v.push({type:"text",text:x.text,...M!=null&&M.length>0&&{providerMetadata:{anthropic:{citations:M}}}}),x.citations)for(let q of x.citations){let E=B6(q,w,this.generateId);if(E)v.push(E)}}break}case"thinking":{v.push({type:"reasoning",text:x.thinking,providerMetadata:{anthropic:{signature:x.signature}}});break}case"redacted_thinking":{v.push({type:"reasoning",text:"",providerMetadata:{anthropic:{redactedData:x.data}}});break}case"compaction":{v.push({type:"text",text:x.content,providerMetadata:{anthropic:{type:"compaction"}}});break}case"tool_use":{if(m&&x.name==="json")F=!0,v.push({type:"text",text:JSON.stringify(x.input)});else if(x.toolset_name!=null)v.push({type:"tool-call",toolCallId:x.id,toolName:g.toCustomToolName(x.toolset_name),input:JSON.stringify(F6({memberName:x.name,input:x.input})),providerMetadata:{anthropic:{toolsetName:x.toolset_name,...(n=jo(x.caller).providerMetadata)==null?void 0:n.anthropic}}});else v.push({type:"tool-call",toolCallId:x.id,toolName:x.name,input:JSON.stringify(x.input),...jo(x.caller)});break}case"server_tool_use":{if(x.name==="text_editor_code_execution"||x.name==="bash_code_execution")v.push({type:"tool-call",toolCallId:x.id,toolName:g.toCustomToolName("code_execution"),input:JSON.stringify({type:x.name,...x.input}),providerExecuted:!0,..._?{dynamic:!0}:{},...jo(x.caller)});else if(x.name==="web_search"||x.name==="code_execution"||x.name==="web_fetch"){let M=x.name==="code_execution"&&x.input!=null&&typeof x.input==="object"&&"code"in x.input&&!("type"in x.input)?{type:"programmatic-tool-call",...x.input}:x.input;v.push({type:"tool-call",toolCallId:x.id,toolName:g.toCustomToolName(x.name),input:JSON.stringify(M),providerExecuted:!0,..._&&x.name==="code_execution"?{dynamic:!0}:{},...jo(x.caller)})}else if(x.name==="tool_search_tool_regex"||x.name==="tool_search_tool_bm25")z[x.id]=x.name,v.push({type:"tool-call",toolCallId:x.id,toolName:g.toCustomToolName(x.name),input:JSON.stringify(x.input),providerExecuted:!0,...jo(x.caller)});else if(x.name==="advisor")v.push({type:"tool-call",toolCallId:x.id,toolName:g.toCustomToolName("advisor"),input:JSON.stringify(x.input),providerExecuted:!0,...jo(x.caller)});break}case"mcp_tool_use":{R[x.id]={type:"tool-call",toolCallId:x.id,toolName:x.name,input:JSON.stringify(x.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:x.server_name}}},v.push(R[x.id]);break}case"mcp_tool_result":{v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:R[x.tool_use_id].toolName,isError:x.is_error,result:x.content,dynamic:!0,providerMetadata:R[x.tool_use_id].providerMetadata});break}case"web_fetch_tool_result":{if(x.content.type==="web_fetch_result")w.push({title:(r=x.content.content.title)!=null?r:x.content.url,mediaType:x.content.content.source.media_type}),v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:g.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:x.content.url,retrievedAt:x.content.retrieved_at,content:{type:x.content.content.type,title:x.content.content.title,citations:x.content.content.citations,source:{type:x.content.content.source.type,mediaType:x.content.content.source.media_type,data:x.content.content.source.data}}},...jo(x.caller)});else if(x.content.type==="web_fetch_tool_result_error")v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:g.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:x.content.error_code},...jo(x.caller)});break}case"web_search_tool_result":{if(Array.isArray(x.content)){v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:g.toCustomToolName("web_search"),result:x.content.map((M)=>{var q;return{url:M.url,title:M.title,pageAge:(q=M.page_age)!=null?q:null,encryptedContent:M.encrypted_content,type:M.type}}),...jo(x.caller)});for(let M of x.content)v.push({type:"source",sourceType:"url",id:this.generateId(),url:M.url,title:M.title,providerMetadata:{anthropic:{pageAge:(i=M.page_age)!=null?i:null}}})}else v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:g.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:x.content.error_code},...jo(x.caller)});break}case"code_execution_tool_result":{if(x.content.type==="code_execution_result")v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:g.toCustomToolName("code_execution"),result:{type:x.content.type,stdout:x.content.stdout,stderr:x.content.stderr,return_code:x.content.return_code,content:(a=x.content.content)!=null?a:[]}});else if(x.content.type==="encrypted_code_execution_result")v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:g.toCustomToolName("code_execution"),result:{type:x.content.type,encrypted_stdout:x.content.encrypted_stdout,stderr:x.content.stderr,return_code:x.content.return_code,content:(s=x.content.content)!=null?s:[]}});else if(x.content.type==="code_execution_tool_result_error")v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:g.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:x.content.error_code}});break}case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":{v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:g.toCustomToolName("code_execution"),result:x.content});break}case"tool_search_tool_result":{let M=z[x.tool_use_id];if(M==null){let q=g.toCustomToolName("tool_search_tool_bm25"),E=g.toCustomToolName("tool_search_tool_regex");if(q!=="tool_search_tool_bm25")M="tool_search_tool_bm25";else if(E!=="tool_search_tool_regex")M="tool_search_tool_regex";else M="tool_search_tool_regex"}if(x.content.type==="tool_search_tool_search_result")v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:g.toCustomToolName(M),result:x.content.tool_references.map((q)=>({type:q.type,toolName:q.tool_name}))});else v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:g.toCustomToolName(M),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:x.content.error_code}});break}case"advisor_tool_result":{let M=g.toCustomToolName("advisor");if(x.content.type==="advisor_result")v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:M,result:{type:"advisor_result",text:x.content.text}});else if(x.content.type==="advisor_redacted_result")v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:M,result:{type:"advisor_redacted_result",encryptedContent:x.content.encrypted_content}});else v.push({type:"tool-result",toolCallId:x.tool_use_id,toolName:M,isError:!0,result:{type:"advisor_tool_result_error",errorCode:x.content.error_code}});break}case"fallback":break}return{content:v,finishReason:{unified:X0({finishReason:S.stop_reason,isJsonResponseFromTool:F}),raw:(l=S.stop_reason)!=null?l:void 0},usage:D6({usage:S.usage}),request:{body:d},response:{id:(c=S.id)!=null?c:void 0,modelId:(u=S.model)!=null?u:void 0,headers:y,body:A},warnings:p,providerMetadata:(()=>{var x,M,q,E,N;let Q=$6(S.stop_details),ae={usage:S.usage,cacheCreationInputTokens:(x=S.usage.cache_creation_input_tokens)!=null?x:null,stopSequence:(M=S.stop_sequence)!=null?M:null,...Q!=null?{stopDetails:Q}:{},...S.input_transformations!=null?{inputTransformations:S.input_transformations}:{},...S.safeguard_results!=null?{safeguardResults:S.safeguard_results}:{},iterations:S.usage.iterations?S.usage.iterations.map((oe)=>({type:oe.type,...oe.model!=null?{model:oe.model}:{},inputTokens:oe.input_tokens,outputTokens:oe.output_tokens,...oe.cache_creation_input_tokens?{cacheCreationInputTokens:oe.cache_creation_input_tokens}:{},...oe.cache_read_input_tokens?{cacheReadInputTokens:oe.cache_read_input_tokens}:{}})):null,container:S.container?{expiresAt:S.container.expires_at,id:S.container.id,skills:(E=(q=S.container.skills)==null?void 0:q.map((oe)=>({type:oe.type,skillId:oe.skill_id,version:oe.version})))!=null?E:null}:null,contextManagement:(N=L6(S.context_management))!=null?N:null},J={anthropic:ae};if(b&&h!=="anthropic")J[h]=ae;return J})()}}async doStream(e){var t,n;let{args:r,warnings:i,betas:a,usesJsonResponseTool:s,toolNameMapping:l,providerOptionsName:c,usedCustomProviderKey:u}=await this.getArgs({...e,stream:!0,userSuppliedBetas:await this.getBetasFromHeaders(e.headers)}),d=[...this.extractCitationDocuments(e.prompt)],p=q6(r.tools),f=this.buildRequestUrl(!0),{responseHeaders:m,value:g}=await St({url:f,headers:await this.getHeaders({betas:a,headers:e.headers}),body:this.transformRequestBody(r,a),failedResponseHandler:A6,successfulResponseHandler:Xr(IAe),abortSignal:e.abortSignal,fetch:this.config.fetch}),h={unified:"other",raw:void 0},b={input_tokens:0,output_tokens:0,cache_creation_input_tokens:0,cache_read_input_tokens:0,iterations:null},w={},_={},y={},S=null,A=void 0,v=null,R=null,z=void 0,F,x,M=null,q=!1,E=!1,N,Q=!1,ae=void 0,J=this.generateId,oe=g.pipeThrough(new TransformStream({start(se){se.enqueue({type:"stream-start",warnings:i})},transform(se,T){var le,X,re,de,ze,Ne,We,ee,we,B,ne,xe,ce,ve;if(Q)return;if(e.includeRawChunks)T.enqueue({type:"raw",rawValue:se.rawValue});if(!se.success){T.enqueue({type:"error",error:se.error});return}let Z=se.value;switch(Z.type){case"ping":return;case"content_block_start":{let D=Z.content_block,Pe=D.type;if(Pe==="fallback")return;switch(ae=Pe,Pe){case"text":{if(s)return;w[Z.index]={type:"text",citations:[]},T.enqueue({type:"text-start",id:String(Z.index)});return}case"thinking":{w[Z.index]={type:"reasoning"},T.enqueue({type:"reasoning-start",id:String(Z.index)});return}case"redacted_thinking":{w[Z.index]={type:"reasoning"},T.enqueue({type:"reasoning-start",id:String(Z.index),providerMetadata:{anthropic:{redactedData:D.data}}});return}case"compaction":{w[Z.index]={type:"text",citations:[]},T.enqueue({type:"text-start",id:String(Z.index),providerMetadata:{anthropic:{type:"compaction"}}});return}case"tool_use":{if(s&&D.name==="json")q=!0,w[Z.index]={type:"text",citations:[]},T.enqueue({type:"text-start",id:String(Z.index)});else if(D.toolset_name!=null){let ye=Ch(D.caller),Ce=l.toCustomToolName(D.toolset_name),Ke=D.input&&Object.keys(D.input).length>0;w[Z.index]={type:"tool-call",toolCallId:D.id,toolName:Ce,input:Ke?JSON.stringify(D.input):"",firstDelta:!0,toolset:{name:D.toolset_name,memberName:D.name},...ye&&{caller:ye}},T.enqueue({type:"tool-input-start",id:D.id,toolName:Ce})}else{let ye=Ch(D.caller),Ke=D.input&&Object.keys(D.input).length>0?JSON.stringify(D.input):"";w[Z.index]={type:"tool-call",toolCallId:D.id,toolName:D.name,input:Ke,firstDelta:Ke.length===0,...ye&&{caller:ye}},T.enqueue({type:"tool-input-start",id:D.id,toolName:D.name})}return}case"server_tool_use":{let Oe=Ch(D.caller);if(["web_fetch","web_search","code_execution","text_editor_code_execution","bash_code_execution"].includes(D.name)){let ye=D.name==="text_editor_code_execution"||D.name==="bash_code_execution"?"code_execution":D.name,Ce=D.name==="text_editor_code_execution"||D.name==="bash_code_execution"?D.name:D.name==="code_execution"?"programmatic-tool-call":void 0,Ke=l.toCustomToolName(ye),qe=D.input!=null&&typeof D.input==="object"&&Object.keys(D.input).length>0?JSON.stringify(D.input):"";w[Z.index]={type:"tool-call",toolCallId:D.id,toolName:Ke,input:qe,providerExecuted:!0,...p&&ye==="code_execution"?{dynamic:!0}:{},firstDelta:qe.length===0,providerToolName:ye,providerToolInputType:Ce,...Oe&&{caller:Oe}},T.enqueue({type:"tool-input-start",id:D.id,toolName:Ke,providerExecuted:!0,...p&&ye==="code_execution"?{dynamic:!0}:{}})}else if(D.name==="tool_search_tool_regex"||D.name==="tool_search_tool_bm25"){y[D.id]=D.name;let ye=l.toCustomToolName(D.name);w[Z.index]={type:"tool-call",toolCallId:D.id,toolName:ye,input:"",providerExecuted:!0,firstDelta:!0,providerToolName:D.name,...Oe&&{caller:Oe}},T.enqueue({type:"tool-input-start",id:D.id,toolName:ye,providerExecuted:!0})}else if(D.name==="advisor"){let ye=l.toCustomToolName("advisor");w[Z.index]={type:"tool-call",toolCallId:D.id,toolName:ye,input:"{}",providerExecuted:!0,firstDelta:!0,providerToolName:D.name,...Oe&&{caller:Oe}},T.enqueue({type:"tool-input-start",id:D.id,toolName:ye,providerExecuted:!0})}return}case"web_fetch_tool_result":{if(D.content.type==="web_fetch_result")d.push({title:(le=D.content.content.title)!=null?le:D.content.url,mediaType:D.content.content.source.media_type}),T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:l.toCustomToolName("web_fetch"),result:{type:"web_fetch_result",url:D.content.url,retrievedAt:D.content.retrieved_at,content:{type:D.content.content.type,title:D.content.content.title,citations:D.content.content.citations,source:{type:D.content.content.source.type,mediaType:D.content.content.source.media_type,data:D.content.content.source.data}}},...jo(D.caller)});else if(D.content.type==="web_fetch_tool_result_error")T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:l.toCustomToolName("web_fetch"),isError:!0,result:{type:"web_fetch_tool_result_error",errorCode:D.content.error_code},...jo(D.caller)});return}case"web_search_tool_result":{if(Array.isArray(D.content)){T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:l.toCustomToolName("web_search"),result:D.content.map((Oe)=>{var ye;return{url:Oe.url,title:Oe.title,pageAge:(ye=Oe.page_age)!=null?ye:null,encryptedContent:Oe.encrypted_content,type:Oe.type}}),...jo(D.caller)});for(let Oe of D.content)T.enqueue({type:"source",sourceType:"url",id:J(),url:Oe.url,title:Oe.title,providerMetadata:{anthropic:{pageAge:(X=Oe.page_age)!=null?X:null}}})}else T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:l.toCustomToolName("web_search"),isError:!0,result:{type:"web_search_tool_result_error",errorCode:D.content.error_code},...jo(D.caller)});return}case"code_execution_tool_result":{if(D.content.type==="code_execution_result")T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:l.toCustomToolName("code_execution"),result:{type:D.content.type,stdout:D.content.stdout,stderr:D.content.stderr,return_code:D.content.return_code,content:(re=D.content.content)!=null?re:[]}});else if(D.content.type==="encrypted_code_execution_result")T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:l.toCustomToolName("code_execution"),result:{type:D.content.type,encrypted_stdout:D.content.encrypted_stdout,stderr:D.content.stderr,return_code:D.content.return_code,content:(de=D.content.content)!=null?de:[]}});else if(D.content.type==="code_execution_tool_result_error")T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:l.toCustomToolName("code_execution"),isError:!0,result:{type:"code_execution_tool_result_error",errorCode:D.content.error_code}});return}case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":{T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:l.toCustomToolName("code_execution"),result:D.content});return}case"tool_search_tool_result":{let Oe=y[D.tool_use_id];if(Oe==null){let ye=l.toCustomToolName("tool_search_tool_bm25"),Ce=l.toCustomToolName("tool_search_tool_regex");if(ye!=="tool_search_tool_bm25")Oe="tool_search_tool_bm25";else if(Ce!=="tool_search_tool_regex")Oe="tool_search_tool_regex";else Oe="tool_search_tool_regex"}if(D.content.type==="tool_search_tool_search_result")T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:l.toCustomToolName(Oe),result:D.content.tool_references.map((ye)=>({type:ye.type,toolName:ye.tool_name}))});else T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:l.toCustomToolName(Oe),isError:!0,result:{type:"tool_search_tool_result_error",errorCode:D.content.error_code}});return}case"advisor_tool_result":{let Oe=l.toCustomToolName("advisor");if(D.content.type==="advisor_result")T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:Oe,result:{type:"advisor_result",text:D.content.text}});else if(D.content.type==="advisor_redacted_result")T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:Oe,result:{type:"advisor_redacted_result",encryptedContent:D.content.encrypted_content}});else T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:Oe,isError:!0,result:{type:"advisor_tool_result_error",errorCode:D.content.error_code}});return}case"mcp_tool_use":{_[D.id]={type:"tool-call",toolCallId:D.id,toolName:D.name,input:JSON.stringify(D.input),providerExecuted:!0,dynamic:!0,providerMetadata:{anthropic:{type:"mcp-tool-use",serverName:D.server_name}}},T.enqueue(_[D.id]);return}case"mcp_tool_result":{T.enqueue({type:"tool-result",toolCallId:D.tool_use_id,toolName:_[D.tool_use_id].toolName,isError:D.is_error,result:D.content,dynamic:!0,providerMetadata:_[D.tool_use_id].providerMetadata});return}default:throw Error(`Unsupported content block type: ${Pe}`)}}case"content_block_stop":{if(w[Z.index]!=null){let D=w[Z.index];switch(D.type){case"text":{T.enqueue({type:"text-end",id:String(Z.index),...D.citations.length>0&&{providerMetadata:{anthropic:{citations:D.citations}}}});break}case"reasoning":{T.enqueue({type:"reasoning-end",id:String(Z.index)});break}case"tool-call":if(!(s&&D.toolName==="json")){if(D.toolset!=null){let ye={};try{ye=D.input===""?{}:ni(D.input)}catch(Ce){ye=void 0}D.input=ye===void 0?D.input:JSON.stringify(F6({memberName:D.toolset.memberName,input:ye})),T.enqueue({type:"tool-input-delta",id:D.toolCallId,delta:D.input})}T.enqueue({type:"tool-input-end",id:D.toolCallId});let Oe=D.input===""?"{}":D.input;if(D.providerToolName==="code_execution")try{let ye=ni(Oe);if(ye!=null&&typeof ye==="object"&&"code"in ye&&!("type"in ye))Oe=JSON.stringify({type:"programmatic-tool-call",...ye})}catch(ye){}T.enqueue({type:"tool-call",toolCallId:D.toolCallId,toolName:D.toolName,input:Oe,providerExecuted:D.providerExecuted,...p&&D.providerToolName==="code_execution"?{dynamic:!0}:{},...(D.caller||D.toolset)&&{providerMetadata:{anthropic:{...D.toolset&&{toolsetName:D.toolset.name},...D.caller&&{caller:D.caller}}}}})}break}delete w[Z.index]}ae=void 0;return}case"content_block_delta":{let D=Z.delta.type;switch(D){case"text_delta":{if(s)return;T.enqueue({type:"text-delta",id:String(Z.index),delta:Z.delta.text});return}case"thinking_delta":{T.enqueue({type:"reasoning-delta",id:String(Z.index),delta:Z.delta.thinking});return}case"signature_delta":{if(ae==="thinking")T.enqueue({type:"reasoning-delta",id:String(Z.index),delta:"",providerMetadata:{anthropic:{signature:Z.delta.signature}}});return}case"compaction_delta":{if(Z.delta.content!=null)T.enqueue({type:"text-delta",id:String(Z.index),delta:Z.delta.content});return}case"input_json_delta":{let Pe=w[Z.index],Oe=Z.delta.partial_json;if(Oe.length===0)return;if(q){if((Pe==null?void 0:Pe.type)!=="text")return;T.enqueue({type:"text-delta",id:String(Z.index),delta:Oe})}else{if((Pe==null?void 0:Pe.type)!=="tool-call")return;if(Pe.toolset!=null){Pe.input+=Oe;return}if(Pe.firstDelta&&Pe.providerToolInputType!=null)Oe=`{"type": "${Pe.providerToolInputType}",${Oe.substring(1)}`;T.enqueue({type:"tool-input-delta",id:Pe.toolCallId,delta:Oe}),Pe.input+=Oe,Pe.firstDelta=!1}return}case"citations_delta":{let Pe=Z.delta.citation,Oe=w[Z.index];if((Oe==null?void 0:Oe.type)==="text"&&Pe.type==="web_search_result_location")Oe.citations.push(Pe);let ye=B6(Pe,d,J);if(ye)T.enqueue(ye);return}default:throw Error(`Unsupported delta type: ${D}`)}}case"message_start":{if(E){if(N===Z.message.id)return;Q=!0,T.enqueue({type:"error",error:new Ll({data:Z,message:`Received message_start for message ${JSON.stringify(Z.message.id)} while message ${JSON.stringify(N)} is still open.`})});return}if(E=!0,N=Z.message.id,b.input_tokens=Z.message.usage.input_tokens,b.cache_read_input_tokens=(ze=Z.message.usage.cache_read_input_tokens)!=null?ze:0,b.cache_creation_input_tokens=(Ne=Z.message.usage.cache_creation_input_tokens)!=null?Ne:0,A={...Z.message.usage},v=(We=Z.message.usage.cache_creation_input_tokens)!=null?We:null,Z.message.input_transformations!=null)F=Z.message.input_transformations;if(Z.message.container!=null)M={expiresAt:Z.message.container.expires_at,id:Z.message.container.id,skills:null};if(Z.message.stop_reason!=null)h={unified:X0({finishReason:Z.message.stop_reason,isJsonResponseFromTool:q}),raw:Z.message.stop_reason};if(T.enqueue({type:"response-metadata",id:(ee=Z.message.id)!=null?ee:void 0,modelId:(we=Z.message.model)!=null?we:void 0}),Z.message.content!=null)for(let D=0;D<Z.message.content.length;D++){let Pe=Z.message.content[D];if(Pe.type==="tool_use"){let Oe=Ch(Pe.caller);T.enqueue({type:"tool-input-start",id:Pe.id,toolName:Pe.name});let ye=JSON.stringify((B=Pe.input)!=null?B:{});T.enqueue({type:"tool-input-delta",id:Pe.id,delta:ye}),T.enqueue({type:"tool-input-end",id:Pe.id}),T.enqueue({type:"tool-call",toolCallId:Pe.id,toolName:Pe.name,input:ye,...Oe&&{providerMetadata:{anthropic:{caller:Oe}}}})}}return}case"message_delta":{if(Z.usage.input_tokens!=null&&b.input_tokens!==Z.usage.input_tokens)b.input_tokens=Z.usage.input_tokens;if(b.output_tokens=Z.usage.output_tokens,Z.usage.output_tokens_details!=null)b.output_tokens_details=Z.usage.output_tokens_details;if(Z.usage.cache_read_input_tokens!=null)b.cache_read_input_tokens=Z.usage.cache_read_input_tokens;if(Z.usage.cache_creation_input_tokens!=null)b.cache_creation_input_tokens=Z.usage.cache_creation_input_tokens,v=Z.usage.cache_creation_input_tokens;if(Z.usage.iterations!=null)b.iterations=Z.usage.iterations;if(h={unified:X0({finishReason:Z.delta.stop_reason,isJsonResponseFromTool:q}),raw:(ne=Z.delta.stop_reason)!=null?ne:void 0},R=(xe=Z.delta.stop_sequence)!=null?xe:null,z=$6(Z.delta.stop_details),M=Z.delta.container!=null?{expiresAt:Z.delta.container.expires_at,id:Z.delta.container.id,skills:(ve=(ce=Z.delta.container.skills)==null?void 0:ce.map((D)=>({type:D.type,skillId:D.skill_id,version:D.version})))!=null?ve:null}:null,Z.context_management)S=L6(Z.context_management);if(Z.input_transformations!=null)F=Z.input_transformations;if(Z.delta.safeguard_results!=null)x=Z.delta.safeguard_results;A={...A,...Z.usage};return}case"message_stop":{E=!1,N=void 0;let D={usage:A!=null?A:null,cacheCreationInputTokens:v,stopSequence:R,...z!=null?{stopDetails:z}:{},...F!=null?{inputTransformations:F}:{},...x!=null?{safeguardResults:x}:{},iterations:b.iterations?b.iterations.map((Oe)=>({type:Oe.type,...Oe.model!=null?{model:Oe.model}:{},inputTokens:Oe.input_tokens,outputTokens:Oe.output_tokens,...Oe.cache_creation_input_tokens?{cacheCreationInputTokens:Oe.cache_creation_input_tokens}:{},...Oe.cache_read_input_tokens?{cacheReadInputTokens:Oe.cache_read_input_tokens}:{}})):null,container:M,contextManagement:S},Pe={anthropic:D};if(u&&c!=="anthropic")Pe[c]=D;T.enqueue({type:"finish",finishReason:h,usage:D6({usage:b,rawUsage:A}),providerMetadata:Pe});return}case"error":{T.enqueue({type:"error",error:Z.error});return}default:throw Error(`Unsupported chunk type: ${Z}`)}}})),[be,P]=oe.tee(),L=be.getReader();try{await L.read();let se=await L.read();if(((t=se.value)==null?void 0:t.type)==="raw")se=await L.read();if(((n=se.value)==null?void 0:n.type)==="error"){let T=se.value.error;throw new Dt({message:T.message,url:f,requestBodyValues:r,statusCode:T.type==="overloaded_error"?529:500,responseHeaders:m,responseBody:JSON.stringify(T),isRetryable:T.type==="overloaded_error"})}}finally{L.cancel().catch(()=>{}),L.releaseLock()}return{stream:P,request:{body:r},response:{headers:m}}}};function APe(e){if(e.includes("claude-sonnet-5-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!0,rejectsBudgetThinking:!0,rejectsForcedToolUse:!0,supportsBetweenToolsThinking:!0,isKnownModel:!0};else if(e.includes("claude-opus-5-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!0,rejectsBudgetThinking:!0,rejectsForcedToolUse:!0,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-haiku-5-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!0,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-opus-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-fable-5-1"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!0,rejectsBudgetThinking:!0,rejectsForcedToolUse:!0,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-fable-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!0,rejectsBudgetThinking:!0,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-opus-4-8")||e.includes("claude-opus-4-7")||e.includes("claude-sonnet-5"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!0,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-sonnet-4-6")||e.includes("claude-opus-4-6"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-sonnet-4-5")||e.includes("claude-opus-4-5")||e.includes("claude-haiku-4-5"))return{maxOutputTokens:64000,supportsStructuredOutput:!0,rejectsSamplingParameters:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-opus-4-1"))return{maxOutputTokens:32000,supportsStructuredOutput:!0,rejectsSamplingParameters:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-sonnet-4-"))return{maxOutputTokens:64000,supportsStructuredOutput:!1,rejectsSamplingParameters:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-opus-4-"))return{maxOutputTokens:32000,supportsStructuredOutput:!1,rejectsSamplingParameters:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(e.includes("claude-3-haiku"))return{maxOutputTokens:4096,supportsStructuredOutput:!1,rejectsSamplingParameters:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!0};else if(/claude-(?:instant(?:-|$)|v?2(?=$|[-.:])|3(?=$|[-.]))/.test(e))return{maxOutputTokens:4096,supportsStructuredOutput:!1,rejectsSamplingParameters:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!1};else if(e.includes("claude-"))return{maxOutputTokens:128000,supportsStructuredOutput:!0,rejectsSamplingParameters:!0,rejectsThinkingDisabledAboveHighEffort:!0,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!1};else return{maxOutputTokens:4096,supportsStructuredOutput:!1,rejectsSamplingParameters:!1,rejectsThinkingDisabledAboveHighEffort:!1,rejectsThinkingDisabled:!1,rejectsBudgetThinking:!1,rejectsForcedToolUse:!1,supportsBetweenToolsThinking:!1,isKnownModel:!1}}function q6(e){if(!e)return!1;let t=!1,n=!1;for(let r of e){if("type"in r&&(r.type==="web_fetch_20260209"||r.type==="web_search_20260209")){t=!0;continue}if("name"in r&&r.name==="code_execution"){n=!0;break}}return t&&!n}function L6(e){return e?{appliedEdits:e.applied_edits.map((t)=>{switch(t.type){case"clear_tool_uses_20250919":return{type:t.type,clearedToolUses:t.cleared_tool_uses,clearedInputTokens:t.cleared_input_tokens};case"clear_thinking_20251015":return{type:t.type,clearedThinkingTurns:t.cleared_thinking_turns,clearedInputTokens:t.cleared_input_tokens};case"compact_20260112":return{type:t.type}}}).filter((t)=>t!==void 0)}:null}function $6(e){if(e==null)return;return{type:e.type,...e.category!=null?{category:e.category}:{},...e.explanation!=null?{explanation:e.explanation}:{},...e.recommended_model!=null?{recommendedModel:e.recommended_model}:{}}}var PPe=G(()=>W(o.object({command:o.string(),restart:o.boolean().optional()}))),OPe=Wt({id:"anthropic.bash_20241022",inputSchema:PPe}),MPe=G(()=>W(o.object({command:o.string(),restart:o.boolean().optional()}))),jPe=Wt({id:"anthropic.bash_20250124",inputSchema:MPe}),DPe=G(()=>W(o.object({action:o.enum(["key","type","mouse_move","left_click","left_click_drag","right_click","middle_click","double_click","screenshot","cursor_position"]),coordinate:o.array(o.number().int()).optional(),text:o.string().optional()}))),NPe=Wt({id:"anthropic.computer_20241022",inputSchema:DPe}),zPe=G(()=>W(o.object({action:o.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot"]),coordinate:o.tuple([o.number().int(),o.number().int()]).optional(),duration:o.number().optional(),scroll_amount:o.number().optional(),scroll_direction:o.enum(["up","down","left","right"]).optional(),start_coordinate:o.tuple([o.number().int(),o.number().int()]).optional(),text:o.string().optional()}))),BPe=Wt({id:"anthropic.computer_20250124",inputSchema:zPe}),FPe=G(()=>W(o.object({action:o.enum(["key","hold_key","type","cursor_position","mouse_move","left_mouse_down","left_mouse_up","left_click","left_click_drag","right_click","middle_click","double_click","triple_click","scroll","wait","screenshot","zoom"]),coordinate:o.tuple([o.number().int(),o.number().int()]).optional(),duration:o.number().optional(),region:o.tuple([o.number().int(),o.number().int(),o.number().int(),o.number().int()]).optional(),scroll_amount:o.number().optional(),scroll_direction:o.enum(["up","down","left","right"]).optional(),start_coordinate:o.tuple([o.number().int(),o.number().int()]).optional(),text:o.string().optional()}))),qPe=Wt({id:"anthropic.computer_20251124",inputSchema:FPe}),LPe=G(()=>W(o.discriminatedUnion("command",[o.object({command:o.literal("view"),path:o.string(),view_range:o.tuple([o.number(),o.number()]).optional()}),o.object({command:o.literal("create"),path:o.string(),file_text:o.string()}),o.object({command:o.literal("str_replace"),path:o.string(),old_str:o.string(),new_str:o.string()}),o.object({command:o.literal("insert"),path:o.string(),insert_line:o.number(),insert_text:o.string()}),o.object({command:o.literal("delete"),path:o.string()}),o.object({command:o.literal("rename"),old_path:o.string(),new_path:o.string()})]))),$Pe=Wt({id:"anthropic.memory_20250818",inputSchema:LPe}),UPe=G(()=>W(o.object({command:o.enum(["view","create","str_replace","insert","undo_edit"]),path:o.string(),file_text:o.string().optional(),insert_line:o.number().int().optional(),new_str:o.string().optional(),insert_text:o.string().optional(),old_str:o.string().optional(),view_range:o.array(o.number().int()).optional()}))),ZPe=Wt({id:"anthropic.text_editor_20241022",inputSchema:UPe}),WPe=G(()=>W(o.object({command:o.enum(["view","create","str_replace","insert","undo_edit"]),path:o.string(),file_text:o.string().optional(),insert_line:o.number().int().optional(),new_str:o.string().optional(),insert_text:o.string().optional(),old_str:o.string().optional(),view_range:o.array(o.number().int()).optional()}))),GPe=Wt({id:"anthropic.text_editor_20250124",inputSchema:WPe}),JPe=G(()=>W(o.object({command:o.enum(["view","create","str_replace","insert"]),path:o.string(),file_text:o.string().optional(),insert_line:o.number().int().optional(),new_str:o.string().optional(),insert_text:o.string().optional(),old_str:o.string().optional(),view_range:o.array(o.number().int()).optional()}))),VPe=Wt({id:"anthropic.text_editor_20250429",inputSchema:JPe}),HPe=G(()=>W(o.array(o.object({type:o.literal("tool_reference"),toolName:o.string()})))),KPe=G(()=>W(o.object({query:o.string(),limit:o.number().optional()}))),QPe=ut({id:"anthropic.tool_search_bm25_20251119",inputSchema:KPe,outputSchema:HPe,supportsDeferredResults:!0}),YPe=(e={})=>QPe(e),XPe={advisor_20260301:OAe,bash_20241022:OPe,bash_20250124:jPe,codeExecution_20250522:sPe,codeExecution_20250825:uPe,codeExecution_20260120:mPe,computer_20241022:NPe,computer_20250124:BPe,computer_20251124:qPe,computerToolset_20260801:DAe,memory_20250818:$Pe,textEditor_20241022:ZPe,textEditor_20250124:GPe,textEditor_20250429:VPe,textEditor_20250728:FAe,webFetch_20250910:rPe,webFetch_20260209:XAe,webSearch_20250305:VAe,webSearch_20260209:ZAe,toolSearchRegex_20251119:hPe,toolSearchBm25_20251119:YPe},t9="https://api.anthropic.com",n9=`${t9}/v1`;function e0e(e){let t=Wl(e);return t===t9?n9:t}function nO(e={}){var t,n;let r=(t=e0e(Va({settingValue:e.baseURL,environmentVariableName:"ANTHROPIC_BASE_URL"})))!=null?t:n9,i=(n=e.name)!=null?n:"anthropic.messages";if(e.apiKey&&e.authToken)throw new ql({argument:"apiKey/authToken",message:"Both apiKey and authToken were provided. Please use only one authentication method."});let a=()=>{let c=e.authToken?{Authorization:`Bearer ${e.authToken}`}:{"x-api-key":Fp({apiKey:e.apiKey,environmentVariableName:"ANTHROPIC_API_KEY",description:"Anthropic"})};return Yn({"anthropic-version":"2023-06-01",...c,...e.headers},`ai-sdk/anthropic/${wAe}`)},s=(c)=>{var u;return new RPe(c,{provider:i,baseURL:r,headers:a,fetch:e.fetch,generateId:(u=e.generateId)!=null?u:$t,supportedUrls:()=>({"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]})})},l=function(c){if(new.target)throw Error("The Anthropic model function cannot be called with the new keyword.");return s(c)};return l.specificationVersion="v3",l.languageModel=s,l.chat=s,l.messages=s,l.embeddingModel=(c)=>{throw new HA({modelId:c,modelType:"embeddingModel"})},l.textEmbeddingModel=l.embeddingModel,l.imageModel=(c)=>{throw new HA({modelId:c,modelType:"imageModel"})},l.tools=XPe,l}var r9=nO();var yO=o.object({error:o.object({message:o.string(),type:o.string().nullish(),param:o.any().nullish(),code:o.union([o.string(),o.number()]).nullish()})}),ua=yn({errorSchema:yO,errorToMessage:(e)=>e.error.message});function P9(e){var t,n,r,i,a;let s=t0e(e),l=n0e(e),c=(l==null?void 0:l.minor)==null&&((n=(t=l==null?void 0:l.variant)==null?void 0:t.startsWith("chat"))!=null?n:!1),u=(i=(r=l==null?void 0:l.variant)==null?void 0:r.startsWith("nano"))!=null?i:!1,d=l!=null&&l.major>=6,p=e==="gpt-6-sol"||e==="gpt-6-luna",f=s!=null&&s>=3||l!=null&&l.major>=5&&!c,m=e.startsWith("gpt-4")||l!=null&&l.major>=5&&!u&&!c||s!=null&&s>=3,g=s!=null||l!=null&&l.major>=5&&!c,h=!d&&l!=null&&(l.major>5||l.major===5&&((a=l.minor)!=null?a:0)>=1);return{supportsFlexProcessing:f,supportsPriorityProcessing:m,supportsConfigurationUpdate:d,supportsAsyncToolCalling:d,supportedReasoningEfforts:p?["none","low","medium","high","xhigh","max"]:d?["low","medium","high","xhigh","max"]:void 0,isReasoningModel:g,systemMessageMode:g?"developer":"system",supportsNonReasoningParameters:h}}function t0e(e){let t=/^o(\d+)(?:-|$)/.exec(e);return t==null?void 0:Number(t[1])}function n0e(e){let t=/^gpt-(\d+)(?:\.(\d+))?(?:-(.+))?$/.exec(e);if(t==null)return;return{major:Number(t[1]),minor:t[2]==null?void 0:Number(t[2]),variant:t[3]}}function O9(e){let t=s(e,!0),n=c(t);if(n==null)return t;let{allOf:r,...i}=t,a=u(n,t);return typeof a!=="object"||a==null?t:{...a,...i};function s(d,p=!1){if(typeof d!=="object"||d==null)return d;let f={...d};if(f.properties!=null)f.properties=l(f.properties);if(f.patternProperties!=null)f.patternProperties=l(f.patternProperties);if(f.definitions!=null)f.definitions=l(f.definitions);if(f.$defs!=null)f.$defs=l(f.$defs);if(f.items!=null)f.items=Array.isArray(f.items)?f.items.map((b)=>s(b)):s(f.items);if(f.allOf!=null)f.allOf=f.allOf.map((b)=>s(b));if(f.anyOf!=null)f.anyOf=f.anyOf.map((b)=>s(b));if(f.oneOf!=null)f.oneOf=f.oneOf.map((b)=>s(b));if(typeof f.additionalProperties==="object"&&f.additionalProperties!=null)f.additionalProperties=s(f.additionalProperties);let m=c(f);if(m==null||p)return f;let{allOf:g,...h}=f;return{...h,$ref:m}}function l(d){return Object.fromEntries(Object.entries(d).map(([p,f])=>[p,s(f)]))}function c(d){var p;if(((p=d.allOf)==null?void 0:p.length)!==1)return;let[f]=d.allOf;return typeof f==="object"&&f!=null&&Object.keys(f).length===1&&typeof f.$ref==="string"?f.$ref:void 0}function u(d,p){var f,m;let g=/^#\/(definitions|\$defs)\/(.+)$/.exec(d);if(g==null)return;let[,h,b]=g,w=b.replace(/~1/g,"/").replace(/~0/g,"~");return h==="definitions"?(f=p.definitions)==null?void 0:f[w]:(m=p.$defs)==null?void 0:m[w]}}function o9(e){var t,n;let r=M9(e);if(r==null)return;let i=sO(r);return{message:r.message,type:(t=r.type)!=null?t:void 0,code:(n=r.code)!=null?n:void 0,statusCode:i,isRetryable:j9(r,i),data:e}}async function bO({stream:e,getError:t,isOutputChunk:n,url:r,requestBodyValues:i,responseHeaders:a}){let[s,l]=e.tee(),c=s.getReader();try{while(!0){let u=await c.read();if(u.done)return l;let d=u.value;if(!d.success)return l;let p=t(d.value);if(p!=null)throw l.cancel().catch(()=>{}),r0e({frame:p,url:r,requestBodyValues:i,responseHeaders:a});if(n(d.value))return l}}finally{c.cancel().catch(()=>{}),c.releaseLock()}}function r0e({frame:e,url:t,requestBodyValues:n,responseHeaders:r}){var i;let a=M9(e);return new Dt({message:(i=a==null?void 0:a.message)!=null?i:"OpenAI stream failed before any output was generated",url:t,requestBodyValues:n,statusCode:a==null?500:sO(a),responseHeaders:r,responseBody:JSON.stringify(e),data:e,isRetryable:a==null?!0:j9(a,sO(a))})}function M9(e){var t;let n=Eh(e);if(n==null)return;if(n.type==="response.failed"){let i=Eh(n.response),a=Eh(i==null?void 0:i.error);return typeof(a==null?void 0:a.message)==="string"?{message:a.message,code:i9(a.code),type:"response.failed"}:void 0}let r=(t=Eh(n.error))!=null?t:n;return typeof r.message==="string"&&(Eh(n.error)!=null||typeof r.type==="string"||("code"in r)||("param"in r))?{message:r.message,code:i9(r.code),type:typeof r.type==="string"?r.type:void 0}:void 0}function sO(e){if(typeof e.code==="number"&&a9(e.code))return e.code;if(typeof e.code==="string"&&/^\d{3}$/.test(e.code)){let n=Number(e.code);if(a9(n))return n}let t=[e.code,e.type].filter((n)=>typeof n==="string"||typeof n==="number").join(" ").toLowerCase();if(["insufficient_quota","rate_limit"].some((n)=>t.includes(n)))return 429;if(t.includes("authentication"))return 401;if(t.includes("permission"))return 403;if(t.includes("not_found"))return 404;if(["invalid","bad_request","context_length"].some((n)=>t.includes(n)))return 400;if(t.includes("overload"))return 503;if(t.includes("timeout"))return 504;return 500}function Eh(e){return typeof e==="object"&&e!=null?e:void 0}function i9(e){return typeof e==="string"||typeof e==="number"?e:void 0}function a9(e){return Number.isInteger(e)&&e>=400&&e<=599}function o0e(e){return e===408||e===409||e===429||e>=500}function j9(e,t){if(e.code==="insufficient_quota"||e.type==="insufficient_quota")return!1;return o0e(t)}function s9(e){var t,n,r,i,a,s,l,c;if(e==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 u=(t=e.prompt_tokens)!=null?t:0,d=(n=e.completion_tokens)!=null?n:0,p=(i=(r=e.prompt_tokens_details)==null?void 0:r.cached_tokens)!=null?i:0,f=(s=(a=e.prompt_tokens_details)==null?void 0:a.cache_write_tokens)!=null?s:void 0,m=(c=(l=e.completion_tokens_details)==null?void 0:l.reasoning_tokens)!=null?c:0;return{inputTokens:{total:u,noCache:u-p-(f!=null?f:0),cacheRead:p,cacheWrite:f},outputTokens:{total:d,text:Math.max(0,d-m),reasoning:m},raw:e}}function i0e(e){return JSON.stringify(typeof e==="object"&&e!==null&&!Array.isArray(e)?e:{})}function Zs(e){var t;return(t=e==null?void 0:e.openai)==null?void 0:t.promptCacheBreakpoint}function a0e({prompt:e,systemMessageMode:t="system"}){var n,r;let i=[],a=[];for(let{role:s,content:l,providerOptions:c}of e)switch(s){case"system":{switch(t){case"system":{let u=Zs(c);i.push({role:"system",content:u==null?l:[{type:"text",text:l,prompt_cache_breakpoint:u}]});break}case"developer":{let u=Zs(c);i.push({role:"developer",content:u==null?l:[{type:"text",text:l,prompt_cache_breakpoint:u}]});break}case"remove":{a.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${t}`)}break}case"user":{if(l.length===1&&l[0].type==="text"&&Zs(l[0].providerOptions)==null){i.push({role:"user",content:l[0].text});break}i.push({role:"user",content:l.map((u,d)=>{var p,f,m;switch(u.type){case"text":{let g=Zs(u.providerOptions);return{type:"text",text:u.text,...g!=null&&{prompt_cache_breakpoint:g}}}case"file":{let g=Zs(u.providerOptions);if(u.mediaType.startsWith("image/")){let h=u.mediaType==="image/*"?"image/jpeg":u.mediaType;return{type:"image_url",image_url:{url:u.data instanceof URL?u.data.toString():`data:${h};base64,${or(u.data)}`,detail:(f=(p=u.providerOptions)==null?void 0:p.openai)==null?void 0:f.imageDetail},...g!=null&&{prompt_cache_breakpoint:g}}}else if(u.mediaType.startsWith("audio/")){if(u.data instanceof URL)throw new Nt({functionality:"audio file parts with URLs"});switch(u.mediaType){case"audio/wav":return{type:"input_audio",input_audio:{data:or(u.data),format:"wav"},...g!=null&&{prompt_cache_breakpoint:g}};case"audio/mp3":case"audio/mpeg":return{type:"input_audio",input_audio:{data:or(u.data),format:"mp3"},...g!=null&&{prompt_cache_breakpoint:g}};default:throw new Nt({functionality:`audio content parts with media type ${u.mediaType}`})}}else if(u.mediaType==="application/pdf"){if(u.data instanceof URL)throw new Nt({functionality:"PDF file parts with URLs"});return{type:"file",file:typeof u.data==="string"&&u.data.startsWith("file-")?{file_id:u.data}:{filename:(m=u.filename)!=null?m:`part-${d}.pdf`,file_data:`data:application/pdf;base64,${or(u.data)}`},...g!=null&&{prompt_cache_breakpoint:g}}}else throw new Nt({functionality:`file part media type ${u.mediaType}`})}}})});break}case"assistant":{let u="",d=[],p=!1,f=[];for(let m of l)switch(m.type){case"text":{let g=Zs(m.providerOptions);u+=m.text,d.push({type:"text",text:m.text,...g!=null&&{prompt_cache_breakpoint:g}}),p||(p=g!=null);break}case"tool-call":{f.push({id:m.toolCallId,type:"function",function:{name:m.toolName,arguments:i0e(m.input)}});break}}i.push({role:"assistant",content:p?d:f.length>0?u||null:u,tool_calls:f.length>0?f:void 0});break}case"tool":{for(let u of l){if(u.type==="tool-approval-response")continue;let d=u.output,p=(n=d.type==="content"?d.value.map((m)=>Zs(m.providerOptions)).find((m)=>m!=null):Zs(d.providerOptions))!=null?n:Zs(u.providerOptions),f;switch(d.type){case"text":case"error-text":f=d.value;break;case"execution-denied":f=(r=d.reason)!=null?r:"Tool call execution denied.";break;case"content":case"json":case"error-json":f=JSON.stringify(d.value);break}i.push({role:"tool",tool_call_id:u.toolCallId,content:p==null?f:[{type:"text",text:f,prompt_cache_breakpoint:p}]})}break}default:throw Error(`Unsupported role: ${s}`)}return{messages:i,warnings:a}}function rO({id:e,model:t,created:n}){return{id:e!=null?e:void 0,modelId:t!=null?t:void 0,timestamp:n?new Date(n*1000):void 0}}function l9(e){switch(e){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"}}var s0e=G(()=>W(o.object({id:o.string().nullish(),created:o.number().nullish(),model:o.string().nullish(),choices:o.array(o.object({message:o.object({role:o.literal("assistant").nullish(),content:o.string().nullish(),audio:o.object({transcript:o.string().nullish()}).nullish(),tool_calls:o.array(o.object({id:o.string().nullish(),type:o.literal("function"),function:o.object({name:o.string(),arguments:o.string()})})).nullish(),annotations:o.array(o.object({type:o.literal("url_citation"),url_citation:o.object({start_index:o.number(),end_index:o.number(),url:o.string(),title:o.string()})})).nullish()}),index:o.number(),logprobs:o.object({content:o.array(o.object({token:o.string(),logprob:o.number(),top_logprobs:o.array(o.object({token:o.string(),logprob:o.number()}))})).nullish()}).nullish(),finish_reason:o.string().nullish()})),usage:o.object({prompt_tokens:o.number().nullish(),completion_tokens:o.number().nullish(),total_tokens:o.number().nullish(),prompt_tokens_details:o.object({cached_tokens:o.number().nullish(),cache_write_tokens:o.number().nullish()}).nullish(),completion_tokens_details:o.object({reasoning_tokens:o.number().nullish(),accepted_prediction_tokens:o.number().nullish(),rejected_prediction_tokens:o.number().nullish()}).nullish()}).nullish()}))),l0e=G(()=>W(o.union([o.object({id:o.string().nullish(),created:o.number().nullish(),model:o.string().nullish(),choices:o.array(o.object({delta:o.object({role:o.enum(["assistant"]).nullish(),content:o.string().nullish(),tool_calls:o.array(o.object({index:o.number(),id:o.string().nullish(),type:o.literal("function").nullish(),function:o.object({name:o.string().nullish(),arguments:o.string().nullish()})})).nullish(),annotations:o.array(o.object({type:o.literal("url_citation"),url_citation:o.object({start_index:o.number(),end_index:o.number(),url:o.string(),title:o.string()})})).nullish()}).nullish(),logprobs:o.object({content:o.array(o.object({token:o.string(),logprob:o.number(),top_logprobs:o.array(o.object({token:o.string(),logprob:o.number()}))})).nullish()}).nullish(),finish_reason:o.string().nullish(),index:o.number()})),usage:o.object({prompt_tokens:o.number().nullish(),completion_tokens:o.number().nullish(),total_tokens:o.number().nullish(),prompt_tokens_details:o.object({cached_tokens:o.number().nullish(),cache_write_tokens:o.number().nullish()}).nullish(),completion_tokens_details:o.object({reasoning_tokens:o.number().nullish(),accepted_prediction_tokens:o.number().nullish(),rejected_prediction_tokens:o.number().nullish()}).nullish()}).nullish()}),yO]))),c0e=G(()=>W(o.object({logitBias:o.record(o.coerce.number(),o.number()).optional(),logprobs:o.union([o.boolean(),o.number()]).optional(),parallelToolCalls:o.boolean().optional(),user:o.string().optional(),reasoningEffort:o.enum(["none","minimal","low","medium","high","xhigh","max"]).optional(),maxCompletionTokens:o.number().optional(),store:o.boolean().optional(),metadata:o.record(o.string().max(64),o.string().max(512)).optional(),prediction:o.record(o.string(),o.any()).optional(),serviceTier:o.enum(["auto","flex","priority","fast","ultrafast","default"]).optional(),strictJsonSchema:o.boolean().optional(),textVerbosity:o.enum(["low","medium","high"]).optional(),promptCacheKey:o.string().optional(),promptCacheOptions:o.object({mode:o.enum(["implicit","explicit"]).optional(),ttl:o.literal("30m").optional()}).optional(),promptCacheRetention:o.enum(["in_memory","24h"]).optional(),safetyIdentifier:o.string().optional(),systemMessageMode:o.enum(["system","developer","remove"]).optional(),forceReasoning:o.boolean().optional()})));function u0e({tools:e,toolChoice:t}){e=(e==null?void 0:e.length)?e:void 0;let n=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:n};let r=[];for(let a of e)switch(a.type){case"function":r.push({type:"function",function:{name:a.name,description:a.description,parameters:a.inputSchema,...a.strict!=null?{strict:a.strict}:{}}});break;default:n.push({type:"unsupported",feature:`tool type: ${a.type}`});break}if(t==null)return{tools:r,toolChoice:void 0,toolWarnings:n};let i=t.type;switch(i){case"auto":case"none":case"required":return{tools:r,toolChoice:i,toolWarnings:n};case"tool":return{tools:r,toolChoice:{type:"function",function:{name:t.toolName}},toolWarnings:n};default:throw new Nt({functionality:`tool choice type: ${i}`})}}var d0e=class{constructor(e,t){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:s,stopSequences:l,responseFormat:c,seed:u,tools:d,toolChoice:p,providerOptions:f}){var m,g,h,b,w;let _=[],y=(m=await Pt({provider:"openai",providerOptions:f,schema:c0e}))!=null?m:{},S=P9(this.modelId),A=(g=y.forceReasoning)!=null?g:S.isReasoningModel,v=y.reasoningEffort;if(v!=null&&S.supportedReasoningEfforts!=null&&!S.supportedReasoningEfforts.includes(v))_.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${S.supportedReasoningEfforts.join(", ")}`}),v=void 0;if(i!=null)_.push({type:"unsupported",feature:"topK"});let{messages:R,warnings:z}=a0e({prompt:e,systemMessageMode:(h=y.systemMessageMode)!=null?h:A?"developer":S.systemMessageMode});_.push(...z);let F=(b=y.strictJsonSchema)!=null?b:!0,x={model:this.modelId,logit_bias:y.logitBias,logprobs:y.logprobs===!0||typeof y.logprobs==="number"?!0:void 0,top_logprobs:typeof y.logprobs==="number"?y.logprobs:typeof y.logprobs==="boolean"?y.logprobs?0:void 0:void 0,user:y.user,parallel_tool_calls:y.parallelToolCalls,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:s,response_format:(c==null?void 0:c.type)==="json"?c.schema!=null?{type:"json_schema",json_schema:{schema:O9(c.schema),strict:F,name:(w=c.name)!=null?w:"response",description:c.description}}:{type:"json_object"}:void 0,stop:l,seed:u,verbosity:y.textVerbosity,max_completion_tokens:y.maxCompletionTokens,store:y.store,metadata:y.metadata,prediction:y.prediction,reasoning_effort:v,service_tier:y.serviceTier,prompt_cache_key:y.promptCacheKey,prompt_cache_options:y.promptCacheOptions,prompt_cache_retention:y.promptCacheRetention,safety_identifier:y.safetyIdentifier,messages:R};if(S.supportedReasoningEfforts!=null&&x.prompt_cache_retention!=null)x.prompt_cache_retention=void 0,_.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"});if(A){if(y.reasoningEffort!=="none"||!S.supportsNonReasoningParameters){if(x.temperature!=null)x.temperature=void 0,_.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(x.top_p!=null)x.top_p=void 0,_.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"});if(x.logprobs!=null)x.logprobs=void 0,_.push({type:"other",message:"logprobs is not supported for reasoning models"})}if(x.frequency_penalty!=null)x.frequency_penalty=void 0,_.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"});if(x.presence_penalty!=null)x.presence_penalty=void 0,_.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"});if(x.logit_bias!=null)x.logit_bias=void 0,_.push({type:"other",message:"logitBias is not supported for reasoning models"});if(x.top_logprobs!=null)x.top_logprobs=void 0,_.push({type:"other",message:"topLogprobs is not supported for reasoning models"});if(x.max_tokens!=null){if(x.max_completion_tokens==null)x.max_completion_tokens=x.max_tokens;x.max_tokens=void 0}}else if(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview")){if(x.temperature!=null)x.temperature=void 0,_.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})}if(y.serviceTier==="flex"&&!S.supportsFlexProcessing)_.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),x.service_tier=void 0;if((y.serviceTier==="priority"||y.serviceTier==="fast")&&!S.supportsPriorityProcessing)_.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),x.service_tier=void 0;let{tools:M,toolChoice:q,toolWarnings:E}=u0e({tools:d,toolChoice:p});return{args:{...x,tools:M,tool_choice:q},warnings:[..._,...E]}}async doGenerate(e){var t,n,r,i,a,s,l,c;let{args:u,warnings:d}=await this.getArgs(e),{responseHeaders:p,value:f,rawValue:m}=await St({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:pt(this.config.headers(),e.headers),body:u,failedResponseHandler:ua,successfulResponseHandler:ht(s0e),abortSignal:e.abortSignal,fetch:this.config.fetch}),g=f.choices[0];if(g==null)throw new Ll({data:m,message:"Response did not contain any choices."});let h=[],b=g.message.content!=null&&g.message.content.length>0?g.message.content:(t=g.message.audio)==null?void 0:t.transcript;if(b!=null&&b.length>0)h.push({type:"text",text:b});for(let S of(n=g.message.tool_calls)!=null?n:[])h.push({type:"tool-call",toolCallId:(r=S.id)!=null?r:$t(),toolName:S.function.name,input:S.function.arguments});for(let S of(i=g.message.annotations)!=null?i:[])h.push({type:"source",sourceType:"url",id:$t(),url:S.url_citation.url,title:S.url_citation.title});let w=(a=f.usage)==null?void 0:a.completion_tokens_details,_=(s=f.usage)==null?void 0:s.prompt_tokens_details,y={openai:{}};if((w==null?void 0:w.accepted_prediction_tokens)!=null)y.openai.acceptedPredictionTokens=w==null?void 0:w.accepted_prediction_tokens;if((w==null?void 0:w.rejected_prediction_tokens)!=null)y.openai.rejectedPredictionTokens=w==null?void 0:w.rejected_prediction_tokens;if(((l=g.logprobs)==null?void 0:l.content)!=null)y.openai.logprobs=g.logprobs.content;return{content:h,finishReason:{unified:l9(g.finish_reason),raw:(c=g.finish_reason)!=null?c:void 0},usage:s9(f.usage),request:{body:u},response:{...rO(f),headers:p,body:m},warnings:d,providerMetadata:y}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},i=this.config.url({path:"/chat/completions",modelId:this.modelId}),{responseHeaders:a,value:s}=await St({url:i,headers:pt(this.config.headers(),e.headers),body:r,failedResponseHandler:ua,successfulResponseHandler:Xr(l0e),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=await bO({stream:s,getError:(h)=>("error"in h)?h.error:void 0,isOutputChunk:p0e,url:i,requestBodyValues:r,responseHeaders:a}),c,u={unified:"other",raw:void 0},d=void 0,p=!1,f=!1,m={openai:{}};return{stream:l.pipeThrough(new TransformStream({start(h){c=new PH(h,{generateId:$t,typeValidation:"if-present"}),h.enqueue({type:"stream-start",warnings:n})},transform(h,b){var w,_,y,S,A;if(e.includeRawChunks)b.enqueue({type:"raw",rawValue:h.rawValue});if(!h.success){u={unified:"error",raw:void 0},b.enqueue({type:"error",error:h.error});return}let v=h.value;if("error"in v){u={unified:"error",raw:void 0},b.enqueue({type:"error",error:v.error});return}if(!p){let F=rO(v);if(Object.values(F).some(Boolean))p=!0,b.enqueue({type:"response-metadata",...rO(v)})}if(v.usage!=null){if(d=v.usage,((w=v.usage.completion_tokens_details)==null?void 0:w.accepted_prediction_tokens)!=null)m.openai.acceptedPredictionTokens=(_=v.usage.completion_tokens_details)==null?void 0:_.accepted_prediction_tokens;if(((y=v.usage.completion_tokens_details)==null?void 0:y.rejected_prediction_tokens)!=null)m.openai.rejectedPredictionTokens=(S=v.usage.completion_tokens_details)==null?void 0:S.rejected_prediction_tokens}let R=v.choices[0];if((R==null?void 0:R.finish_reason)!=null)u={unified:l9(R.finish_reason),raw:R.finish_reason};if(((A=R==null?void 0:R.logprobs)==null?void 0:A.content)!=null)m.openai.logprobs=R.logprobs.content;if((R==null?void 0:R.delta)==null)return;let z=R.delta;if(z.content!=null){if(!f)b.enqueue({type:"text-start",id:"0"}),f=!0;b.enqueue({type:"text-delta",id:"0",delta:z.content})}if(z.tool_calls!=null)for(let F of z.tool_calls)c.processDelta(F);if(z.annotations!=null)for(let F of z.annotations)b.enqueue({type:"source",sourceType:"url",id:$t(),url:F.url_citation.url,title:F.url_citation.title})},flush(h){if(f)h.enqueue({type:"text-end",id:"0"});c.flush(),h.enqueue({type:"finish",finishReason:u,usage:s9(d),...m!=null?{providerMetadata:m}:{}})}})),request:{body:r},response:{headers:a}}}};function p0e(e){if("error"in e)return!1;return e.choices.some((t)=>{let n=t.delta;return(n==null?void 0:n.content)!=null&&n.content.length>0||(n==null?void 0:n.tool_calls)!=null&&n.tool_calls.length>0||(n==null?void 0:n.annotations)!=null&&n.annotations.length>0})}function c9(e){var t,n,r,i;if(e==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 a=(t=e.prompt_tokens)!=null?t:0,s=(n=e.completion_tokens)!=null?n:0;return{inputTokens:{total:(r=e.prompt_tokens)!=null?r:void 0,noCache:a,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:(i=e.completion_tokens)!=null?i:void 0,text:s,reasoning:void 0},raw:e}}function m0e({prompt:e,user:t="user",assistant:n="assistant"}){let r="";if(e[0].role==="system")r+=`${e[0].content}
212
212
 
213
213
  `,e=e.slice(1);for(let{role:i,content:a}of e)switch(i){case"system":throw new $a({message:"Unexpected system message in prompt: ${content}",prompt:e});case"user":{let s=a.map((l)=>{switch(l.type){case"text":return l.text}}).filter(Boolean).join("");r+=`${t}:
@@ -220,7 +220,7 @@ ${s}
220
220
  `,{prompt:r,stopSequences:[`
221
221
  ${t}:`]}}function u9({id:e,model:t,created:n}){return{id:e!=null?e:void 0,modelId:t!=null?t:void 0,timestamp:n!=null?new Date(n*1000):void 0}}function d9(e){switch(e){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"}}var f0e=G(()=>W(o.object({id:o.string().nullish(),created:o.number().nullish(),model:o.string().nullish(),choices:o.array(o.object({text:o.string(),finish_reason:o.string(),logprobs:o.object({tokens:o.array(o.string()),token_logprobs:o.array(o.number()),top_logprobs:o.array(o.record(o.string(),o.number())).nullish()}).nullish()})),usage:o.object({prompt_tokens:o.number(),completion_tokens:o.number(),total_tokens:o.number()}).nullish()}))),g0e=G(()=>W(o.union([o.object({id:o.string().nullish(),created:o.number().nullish(),model:o.string().nullish(),choices:o.array(o.object({text:o.string(),finish_reason:o.string().nullish(),index:o.number(),logprobs:o.object({tokens:o.array(o.string()),token_logprobs:o.array(o.number()),top_logprobs:o.array(o.record(o.string(),o.number())).nullish()}).nullish()})),usage:o.object({prompt_tokens:o.number(),completion_tokens:o.number(),total_tokens:o.number()}).nullish()}),yO]))),p9=G(()=>W(o.object({echo:o.boolean().optional(),logitBias:o.record(o.string(),o.number()).optional(),suffix:o.string().optional(),user:o.string().optional(),logprobs:o.union([o.boolean(),o.number()]).optional()}))),h0e=class{constructor(e,t){this.specificationVersion="v3",this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:n,topP:r,topK:i,frequencyPenalty:a,presencePenalty:s,stopSequences:l,responseFormat:c,tools:u,toolChoice:d,seed:p,providerOptions:f}){let m=[],g={...await Pt({provider:"openai",providerOptions:f,schema:p9}),...await Pt({provider:this.providerOptionsName,providerOptions:f,schema:p9})};if(i!=null)m.push({type:"unsupported",feature:"topK"});if(u==null?void 0:u.length)m.push({type:"unsupported",feature:"tools"});if(d!=null)m.push({type:"unsupported",feature:"toolChoice"});if(c!=null&&c.type!=="text")m.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:h,stopSequences:b}=m0e({prompt:e}),w=[...b!=null?b:[],...l!=null?l:[]];return{args:{model:this.modelId,echo:g.echo,logit_bias:g.logitBias,logprobs:(g==null?void 0:g.logprobs)===!0?0:(g==null?void 0:g.logprobs)===!1?void 0:g==null?void 0:g.logprobs,suffix:g.suffix,user:g.user,max_tokens:t,temperature:n,top_p:r,frequency_penalty:a,presence_penalty:s,seed:p,prompt:h,stop:w.length>0?w:void 0},warnings:m}}async doGenerate(e){var t;let{args:n,warnings:r}=await this.getArgs(e),{responseHeaders:i,value:a,rawValue:s}=await St({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:pt(this.config.headers(),e.headers),body:n,failedResponseHandler:ua,successfulResponseHandler:ht(f0e),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=a.choices[0],c={openai:{}};if(l.logprobs!=null)c.openai.logprobs=l.logprobs;return{content:[{type:"text",text:l.text}],usage:c9(a.usage),finishReason:{unified:d9(l.finish_reason),raw:(t=l.finish_reason)!=null?t:void 0},request:{body:n},response:{...u9(a),headers:i,body:s},providerMetadata:c,warnings:r}}async doStream(e){let{args:t,warnings:n}=await this.getArgs(e),r={...t,stream:!0,stream_options:{include_usage:!0}},i=this.config.url({path:"/completions",modelId:this.modelId}),{responseHeaders:a,value:s}=await St({url:i,headers:pt(this.config.headers(),e.headers),body:r,failedResponseHandler:ua,successfulResponseHandler:Xr(g0e),abortSignal:e.abortSignal,fetch:this.config.fetch}),l=await bO({stream:s,getError:(m)=>("error"in m)?m.error:void 0,isOutputChunk:y0e,url:i,requestBodyValues:r,responseHeaders:a}),c={unified:"other",raw:void 0},u={openai:{}},d=void 0,p=!0;return{stream:l.pipeThrough(new TransformStream({start(m){m.enqueue({type:"stream-start",warnings:n})},transform(m,g){if(e.includeRawChunks)g.enqueue({type:"raw",rawValue:m.rawValue});if(!m.success){c={unified:"error",raw:void 0},g.enqueue({type:"error",error:m.error});return}let h=m.value;if("error"in h){c={unified:"error",raw:void 0},g.enqueue({type:"error",error:h.error});return}if(p)p=!1,g.enqueue({type:"response-metadata",...u9(h)}),g.enqueue({type:"text-start",id:"0"});if(h.usage!=null)d=h.usage;let b=h.choices[0];if((b==null?void 0:b.finish_reason)!=null)c={unified:d9(b.finish_reason),raw:b.finish_reason};if((b==null?void 0:b.logprobs)!=null)u.openai.logprobs=b.logprobs;if((b==null?void 0:b.text)!=null&&b.text.length>0)g.enqueue({type:"text-delta",id:"0",delta:b.text})},flush(m){if(!p)m.enqueue({type:"text-end",id:"0"});m.enqueue({type:"finish",finishReason:c,providerMetadata:u,usage:c9(d)})}})),request:{body:r},response:{headers:a}}}};function y0e(e){return!("error"in e)&&e.choices.some((t)=>t.text.length>0)}var b0e=G(()=>W(o.object({dimensions:o.number().optional(),user:o.string().optional()}))),v0e=G(()=>W(o.object({data:o.array(o.object({embedding:o.array(o.number())})),usage:o.object({prompt_tokens:o.number()}).nullish()}))),D9;D9=Rx;var S0e=class{constructor(e,t){this.specificationVersion="v3",this.maxEmbeddingsPerCall=2048,this[D9]=300000,this.supportsParallelCalls=!0,this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){var i;if(e.length>this.maxEmbeddingsPerCall)throw new gx({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=(i=await Pt({provider:"openai",providerOptions:r,schema:b0e}))!=null?i:{},{responseHeaders:s,value:l,rawValue:c}=await St({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:pt(this.config.headers(),t),body:{model:this.modelId,input:e,encoding_format:"float",dimensions:a.dimensions,user:a.user},failedResponseHandler:ua,successfulResponseHandler:ht(v0e),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:l.data.map((u)=>u.embedding),usage:l.usage?{tokens:l.usage.prompt_tokens}:void 0,response:{headers:s,body:c}}}},m9=G(()=>W(o.object({created:o.number().nullish(),data:o.array(o.object({b64_json:o.string(),revised_prompt:o.string().nullish()})),background:o.string().nullish(),output_format:o.string().nullish(),size:o.string().nullish(),quality:o.string().nullish(),usage:o.object({input_tokens:o.number().nullish(),output_tokens:o.number().nullish(),total_tokens:o.number().nullish(),input_tokens_details:o.object({image_tokens:o.number().nullish(),text_tokens:o.number().nullish()}).nullish()}).nullish()}))),x0e={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"gpt-image-2":10,"gpt-image-2.5-flare":10,"gpt-image-2.5-flare-2026-09-08":10,"gpt-image-2.5-sunburst":10,"gpt-image-2.5-sunburst-2026-09-08":10,"chatgpt-image-latest":10},w0e=["chatgpt-image-","gpt-image-"];function T0e(e){return w0e.some((t)=>e.startsWith(t))}function _0e(e){var t;return(t=x0e[e])!=null?t:e.startsWith("gpt-image-")?10:1}var vO=o.object({quality:o.enum(["standard","hd","low","medium","high","xhigh","max","auto"]).optional(),background:o.enum(["transparent","opaque","auto"]).optional(),outputFormat:o.enum(["png","jpeg","webp"]).optional(),outputCompression:o.number().int().min(0).max(100).optional(),user:o.string().optional()}),MCt=G(()=>W(vO)),I0e=G(()=>W(vO.extend({style:o.enum(["vivid","natural"]).optional(),moderation:o.enum(["auto","low"]).optional()}))),C0e=G(()=>W(vO.extend({inputFidelity:o.enum(["high","low"]).optional()}))),E0e=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get maxImagesPerCall(){return _0e(this.modelId)}get provider(){return this.config.provider}async doGenerate({prompt:e,files:t,mask:n,n:r,size:i,aspectRatio:a,seed:s,providerOptions:l,headers:c,abortSignal:u}){var d,p,f,m,g,h,b,w,_,y,S;let A=[];if(a!=null)A.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(s!=null)A.push({type:"unsupported",feature:"seed"});let v=(f=(p=(d=this.config._internal)==null?void 0:d.currentDate)==null?void 0:p.call(d))!=null?f:new Date;if(t!=null){let x=(m=await Pt({provider:"openai",providerOptions:l,schema:C0e}))!=null?m:{},{value:M,responseHeaders:q}=await Ox({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:pt(this.config.headers(),c),formData:gH({model:this.modelId,prompt:e,image:await Promise.all(t.map((E)=>E.type==="file"?new Blob([E.data instanceof Uint8Array?new Blob([E.data],{type:E.mediaType}):new Blob([Lr(E.data)],{type:E.mediaType})],{type:E.mediaType}):sh(E.url))),mask:n!=null?await k0e(n):void 0,n:r,size:i,quality:x.quality,background:x.background,output_format:x.outputFormat,output_compression:x.outputCompression,input_fidelity:x.inputFidelity,user:x.user}),failedResponseHandler:ua,successfulResponseHandler:ht(m9),abortSignal:u,fetch:this.config.fetch});return{images:M.data.map((E)=>E.b64_json),warnings:A,usage:M.usage!=null?{inputTokens:(g=M.usage.input_tokens)!=null?g:void 0,outputTokens:(h=M.usage.output_tokens)!=null?h:void 0,totalTokens:(b=M.usage.total_tokens)!=null?b:void 0}:void 0,response:{timestamp:v,modelId:this.modelId,headers:q},providerMetadata:{openai:{images:M.data.map((E,N)=>{var Q,ae,J,oe,be,P;return{...E.revised_prompt?{revisedPrompt:E.revised_prompt}:{},created:(Q=M.created)!=null?Q:void 0,size:(ae=M.size)!=null?ae:void 0,quality:(J=M.quality)!=null?J:void 0,background:(oe=M.background)!=null?oe:void 0,outputFormat:(be=M.output_format)!=null?be:void 0,...f9((P=M.usage)==null?void 0:P.input_tokens_details,N,M.data.length)}})}}}}let R=(w=await Pt({provider:"openai",providerOptions:l,schema:I0e}))!=null?w:{},{value:z,responseHeaders:F}=await St({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:pt(this.config.headers(),c),body:{model:this.modelId,prompt:e,n:r,size:i,quality:R.quality,style:R.style,background:R.background,moderation:R.moderation,output_format:R.outputFormat,output_compression:R.outputCompression,user:R.user,...!T0e(this.modelId)?{response_format:"b64_json"}:{}},failedResponseHandler:ua,successfulResponseHandler:ht(m9),abortSignal:u,fetch:this.config.fetch});return{images:z.data.map((x)=>x.b64_json),warnings:A,usage:z.usage!=null?{inputTokens:(_=z.usage.input_tokens)!=null?_:void 0,outputTokens:(y=z.usage.output_tokens)!=null?y:void 0,totalTokens:(S=z.usage.total_tokens)!=null?S:void 0}:void 0,response:{timestamp:v,modelId:this.modelId,headers:F},providerMetadata:{openai:{images:z.data.map((x,M)=>{var q,E,N,Q,ae,J;return{...x.revised_prompt?{revisedPrompt:x.revised_prompt}:{},created:(q=z.created)!=null?q:void 0,size:(E=z.size)!=null?E:void 0,quality:(N=z.quality)!=null?N:void 0,background:(Q=z.background)!=null?Q:void 0,outputFormat:(ae=z.output_format)!=null?ae:void 0,...f9((J=z.usage)==null?void 0:J.input_tokens_details,M,z.data.length)}})}}}}};function f9(e,t,n){if(e==null)return{};let r={};if(e.image_tokens!=null){let i=Math.floor(e.image_tokens/n),a=e.image_tokens-i*(n-1);r.imageTokens=t===n-1?a:i}if(e.text_tokens!=null){let i=Math.floor(e.text_tokens/n),a=e.text_tokens-i*(n-1);r.textTokens=t===n-1?a:i}return r}async function k0e(e){if(!e)return;if(e.type==="url")return sh(e.url);let t=e.data instanceof Uint8Array?e.data:Lr(e.data);return new Blob([t],{type:e.mediaType})}var N9=G(()=>W(o.object({callId:o.string(),operation:o.discriminatedUnion("type",[o.object({type:o.literal("create_file"),path:o.string(),diff:o.string()}),o.object({type:o.literal("delete_file"),path:o.string()}),o.object({type:o.literal("update_file"),path:o.string(),diff:o.string()})])}))),z9=G(()=>W(o.object({status:o.enum(["completed","failed"]),output:o.string().optional()}))),NCt=G(()=>W(o.object({}))),R0e=ut({id:"openai.apply_patch",inputSchema:N9,outputSchema:z9}),A0e=R0e,P0e=G(()=>W(o.object({code:o.string().nullish(),containerId:o.string()}))),O0e=G(()=>W(o.object({outputs:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("logs"),logs:o.string()}),o.object({type:o.literal("image"),url:o.string()})])).nullish()}))),M0e=G(()=>W(o.object({container:o.union([o.string(),o.object({fileIds:o.array(o.string()).optional()})]).optional()}))),j0e=ut({id:"openai.code_interpreter",inputSchema:P0e,outputSchema:O0e}),D0e=(e={})=>j0e(e),N0e=G(()=>W(o.object({name:o.string(),description:o.string().optional(),async:o.boolean().optional(),format:o.union([o.object({type:o.literal("grammar"),syntax:o.enum(["regex","lark"]),definition:o.string()}),o.object({type:o.literal("text")})]).optional()}))),z0e=G(()=>W(o.string())),B0e=Wt({id:"openai.custom",inputSchema:z0e}),F0e=(e)=>B0e(e),B9=o.object({key:o.string(),type:o.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:o.union([o.string(),o.number(),o.boolean(),o.array(o.string())])}),F9=o.object({type:o.enum(["and","or"]),filters:o.array(o.union([B9,o.lazy(()=>F9)]))}),q0e=G(()=>W(o.object({vectorStoreIds:o.array(o.string()),maxNumResults:o.number().optional(),ranking:o.object({ranker:o.string().optional(),scoreThreshold:o.number().optional()}).optional(),filters:o.union([B9,F9]).optional()}))),L0e=G(()=>W(o.object({queries:o.array(o.string()),results:o.array(o.object({attributes:o.record(o.string(),o.unknown()),fileId:o.string(),filename:o.string(),score:o.number(),text:o.string()})).nullable()}))),$0e=ut({id:"openai.file_search",inputSchema:o.object({}),outputSchema:L0e}),U0e=G(()=>W(o.object({background:o.enum(["auto","opaque","transparent"]).optional(),inputFidelity:o.enum(["low","high"]).optional(),inputImageMask:o.object({fileId:o.string().optional(),imageUrl:o.string().optional()}).optional(),model:o.string().optional(),moderation:o.enum(["auto"]).optional(),outputCompression:o.number().int().min(0).max(100).optional(),outputFormat:o.enum(["png","jpeg","webp"]).optional(),partialImages:o.number().int().min(0).max(3).optional(),quality:o.enum(["auto","low","medium","high","xhigh","max"]).optional(),size:o.enum(["1024x1024","1024x1536","1536x1024","auto"]).optional()}).strict())),Z0e=G(()=>W(o.object({}))),W0e=G(()=>W(o.object({result:o.string()}))),G0e=ut({id:"openai.image_generation",inputSchema:Z0e,outputSchema:W0e}),J0e=(e={})=>G0e(e),q9=G(()=>W(o.object({action:o.object({type:o.literal("exec"),command:o.array(o.string()),timeoutMs:o.number().optional(),user:o.string().optional(),workingDirectory:o.string().optional(),env:o.record(o.string(),o.string()).optional()})}))),L9=G(()=>W(o.object({output:o.string()}))),V0e=ut({id:"openai.local_shell",inputSchema:q9,outputSchema:L9}),$9=G(()=>W(o.object({action:o.object({commands:o.array(o.string()),timeoutMs:o.number().optional(),maxOutputLength:o.number().optional()})}))),lO=G(()=>W(o.object({output:o.array(o.object({stdout:o.string(),stderr:o.string(),outcome:o.discriminatedUnion("type",[o.object({type:o.literal("timeout")}),o.object({type:o.literal("exit"),exitCode:o.number()})])}))}))),H0e=o.array(o.discriminatedUnion("type",[o.object({type:o.literal("skillReference"),skillId:o.string(),version:o.string().optional()}),o.object({type:o.literal("inline"),name:o.string(),description:o.string(),source:o.object({type:o.literal("base64"),mediaType:o.literal("application/zip"),data:o.string()})})])).optional(),K0e=G(()=>W(o.object({environment:o.union([o.object({type:o.literal("containerAuto"),fileIds:o.array(o.string()).optional(),memoryLimit:o.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:o.discriminatedUnion("type",[o.object({type:o.literal("disabled")}),o.object({type:o.literal("allowlist"),allowedDomains:o.array(o.string()),domainSecrets:o.array(o.object({domain:o.string(),name:o.string(),value:o.string()})).optional()})]).optional(),skills:H0e}),o.object({type:o.literal("containerReference"),containerId:o.string()}),o.object({type:o.literal("local").optional(),skills:o.array(o.object({name:o.string(),description:o.string(),path:o.string()})).optional()})]).optional()}))),Q0e=ut({id:"openai.shell",inputSchema:$9,outputSchema:lO}),Y0e=G(()=>W(o.object({execution:o.enum(["server","client"]).optional(),description:o.string().optional(),parameters:o.record(o.string(),o.unknown()).optional()}))),cO=G(()=>W(o.object({arguments:o.unknown().optional(),call_id:o.string().nullish()}))),uO=G(()=>W(o.object({tools:o.array(o.record(o.string(),o.unknown()))}))),X0e=ut({id:"openai.tool_search",inputSchema:cO,outputSchema:uO}),eOe=(e={})=>X0e(e),tOe=G(()=>W(o.object({externalWebAccess:o.boolean().optional(),filters:o.object({allowedDomains:o.array(o.string()).optional(),blockedDomains:o.array(o.string()).optional()}).optional(),searchContextSize:o.enum(["low","medium","high"]).optional(),userLocation:o.object({type:o.literal("approximate"),country:o.string().optional(),city:o.string().optional(),region:o.string().optional(),timezone:o.string().optional()}).optional()}))),nOe=G(()=>W(o.object({}))),U9=G(()=>W(o.object({action:o.discriminatedUnion("type",[o.object({type:o.literal("search"),query:o.string().optional(),queries:o.array(o.string()).optional()}),o.object({type:o.literal("openPage"),url:o.string().nullish()}),o.object({type:o.literal("findInPage"),url:o.string().nullish(),pattern:o.string().nullish()})]).optional(),sources:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("url"),url:o.string()}),o.object({type:o.literal("api"),name:o.string()})])).optional()}))),rOe=ut({id:"openai.web_search",inputSchema:nOe,outputSchema:U9}),oOe=(e={})=>rOe(e),iOe=G(()=>W(o.object({searchContextSize:o.enum(["low","medium","high"]).optional(),userLocation:o.object({type:o.literal("approximate"),country:o.string().optional(),city:o.string().optional(),region:o.string().optional(),timezone:o.string().optional()}).optional()}))),aOe=G(()=>W(o.object({}))),sOe=G(()=>W(o.object({action:o.discriminatedUnion("type",[o.object({type:o.literal("search"),query:o.string().optional()}),o.object({type:o.literal("openPage"),url:o.string().nullish()}),o.object({type:o.literal("findInPage"),url:o.string().nullish(),pattern:o.string().nullish()})]).optional()}))),lOe=ut({id:"openai.web_search_preview",inputSchema:aOe,outputSchema:sOe}),dO=o.lazy(()=>o.union([o.string(),o.number(),o.boolean(),o.null(),o.array(dO),o.record(o.string(),dO)])),cOe=G(()=>W(o.object({serverLabel:o.string(),allowedTools:o.union([o.array(o.string()),o.object({readOnly:o.boolean().optional(),toolNames:o.array(o.string()).optional()})]).optional(),authorization:o.string().optional(),connectorId:o.string().optional(),headers:o.record(o.string(),o.string()).optional(),requireApproval:o.union([o.enum(["always","never"]),o.object({never:o.object({toolNames:o.array(o.string()).optional()}).optional()})]).optional(),serverDescription:o.string().optional(),serverUrl:o.string().optional()}).refine((e)=>e.serverUrl!=null||e.connectorId!=null,"One of serverUrl or connectorId must be provided."))),uOe=G(()=>W(o.object({}))),dOe=G(()=>W(o.object({type:o.literal("call"),serverLabel:o.string(),name:o.string(),arguments:o.string(),output:o.string().nullish(),error:o.union([o.string(),dO]).optional()}))),pOe=ut({id:"openai.mcp",inputSchema:uOe,outputSchema:dOe}),mOe=(e)=>pOe(e),fOe={applyPatch:A0e,customTool:F0e,codeInterpreter:D0e,fileSearch:$0e,imageGeneration:J0e,localShell:V0e,shell:Q0e,webSearchPreview:lOe,webSearch:oOe,mcp:mOe,toolSearch:eOe};function g9(e){var t,n,r,i,a,s;if(e==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{input_tokens:l,output_tokens:c}=e,u=(n=(t=e.input_tokens_details)==null?void 0:t.cached_tokens)!=null?n:0,d=(i=(r=e.input_tokens_details)==null?void 0:r.cache_write_tokens)!=null?i:void 0,p=(s=(a=e.output_tokens_details)==null?void 0:a.reasoning_tokens)!=null?s:0;return{inputTokens:{total:l,noCache:l-u-(d!=null?d:0),cacheRead:u,cacheWrite:d},outputTokens:{total:c,text:c-p,reasoning:p},raw:e}}var Z9=20,gOe=["o1","o1-2024-12-17","o3","o3-2025-04-16","o3-mini","o3-mini-2025-01-31","o4-mini","o4-mini-2025-04-16","gpt-5","gpt-5-2025-08-07","gpt-5-codex","gpt-5-mini","gpt-5-mini-2025-08-07","gpt-5-nano","gpt-5-nano-2025-08-07","gpt-5-pro","gpt-5-pro-2025-10-06","gpt-5.1","gpt-5.1-chat-latest","gpt-5.1-codex-mini","gpt-5.1-codex","gpt-5.1-codex-max","gpt-5.2","gpt-5.2-chat-latest","gpt-5.2-pro","gpt-5.2-codex","gpt-5.3-chat-latest","gpt-5.3-codex","gpt-5.4","gpt-5.4-2026-03-05","gpt-5.4-mini","gpt-5.4-mini-2026-03-17","gpt-5.4-nano","gpt-5.4-nano-2026-03-17","gpt-5.4-pro","gpt-5.4-pro-2026-03-05","gpt-5.5","gpt-5.5-2026-04-23","gpt-5.6","gpt-5.6-luna","gpt-5.6-sol","gpt-5.6-terra","gpt-6-astra","gpt-6.1-sol","gpt-6-luna","gpt-6-sol"],uEt=["gpt-4.1","gpt-4.1-2025-04-14","gpt-4.1-mini","gpt-4.1-mini-2025-04-14","gpt-4.1-nano","gpt-4.1-nano-2025-04-14","gpt-4o","gpt-4o-2024-05-13","gpt-4o-2024-08-06","gpt-4o-2024-11-20","gpt-4o-audio-preview","gpt-4o-audio-preview-2024-12-17","gpt-4o-search-preview","gpt-4o-search-preview-2025-03-11","gpt-4o-mini-search-preview","gpt-4o-mini-search-preview-2025-03-11","gpt-4o-mini","gpt-4o-mini-2024-07-18","gpt-3.5-turbo-0125","gpt-3.5-turbo","gpt-3.5-turbo-1106","gpt-5-chat-latest",...gOe],h9=G(()=>W(o.object({conversation:o.string().nullish(),include:o.array(o.enum(["reasoning.encrypted_content","file_search_call.results","web_search_call.results","message.output_text.logprobs"])).nullish(),instructions:o.string().nullish(),logprobs:o.union([o.boolean(),o.number().min(1).max(Z9)]).optional(),maxToolCalls:o.number().nullish(),metadata:o.any().nullish(),parallelToolCalls:o.boolean().nullish(),previousResponseId:o.string().nullish(),promptCacheKey:o.string().nullish(),promptCacheOptions:o.object({mode:o.enum(["implicit","explicit"]).optional(),ttl:o.literal("30m").optional()}).optional(),promptCacheRetention:o.enum(["in_memory","24h"]).nullish(),reasoningEffort:o.string().nullish(),reasoningEffortUpdate:o.enum(["low","medium","high","xhigh","max"]).optional(),reasoningMode:o.enum(["standard","pro"]).optional(),reasoningContext:o.enum(["auto","current_turn","all_turns"]).optional(),reasoningSummary:o.string().nullish(),safetyIdentifier:o.string().nullish(),serviceTier:o.enum(["auto","flex","priority","fast","ultrafast","default"]).nullish(),store:o.boolean().nullish(),passThroughUnsupportedFiles:o.boolean().optional(),strictJsonSchema:o.boolean().nullish(),textVerbosity:o.enum(["low","medium","high"]).nullish(),truncation:o.enum(["auto","disabled"]).nullish(),user:o.string().nullish(),systemMessageMode:o.enum(["system","developer","remove"]).optional(),forceReasoning:o.boolean().optional(),allowedTools:o.object({toolNames:o.array(o.string()).min(1),mode:o.enum(["auto","required"]).optional()}).optional()}))),y9=G(()=>W(o.object({reasoningEffortUpdate:o.enum(["low","medium","high","xhigh","max"]).optional()}))),b9="parallel",v9="functions.";function pO({providerOptions:e,providerOptionsName:t}){var n;let r=(n=e==null?void 0:e[t])==null?void 0:n.parallelToolCall;if(!Ua(r)||typeof r.itemId!=="string"||typeof r.toolCallId!=="string"||typeof r.toolName!=="string"||typeof r.input!=="string"||typeof r.index!=="number"||!Number.isInteger(r.index)||typeof r.count!=="number"||!Number.isInteger(r.count)||r.index<0||r.count<=r.index)return;return r}function mO({toolName:e,tools:t}){return e===b9&&!t.some((n)=>n.name===b9)}async function S9({toolCall:e,tools:t,providerOptionsName:n,itemId:r}){if(!mO({toolName:e.toolName,tools:t}))return;let i=await mr({text:e.input});if(!i.success||!Ua(i.value))return;let a=i.value.tool_uses;if(!Array.isArray(a)||a.length===0)return;let s=new Set(t.map((c)=>c.name)),l=[];for(let[c,u]of a.entries()){if(!Ua(u))return;let{recipient_name:d,parameters:p}=u;if(typeof d!=="string"||!d.startsWith(v9)||!Ua(p))return;let f=d.slice(v9.length);if(f.length===0||!s.has(f))return;l.push({type:"tool-call",toolCallId:`${e.toolCallId}_${c}`,toolName:f,input:JSON.stringify(p),providerMetadata:{[n]:{parallelToolCall:{itemId:r,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,index:c,count:a.length}}}})}return l}function hOe(e){return JSON.stringify(e===void 0?{}:e)}async function yOe({output:e,id:t}){if(e.type!=="json")return;let n=await Cn({value:e.value,schema:U9});if(!n.success||n.value.action==null)return;let{action:r,sources:i}=n.value;switch(r.type){case"search":return{type:"web_search_call",id:t,status:"completed",action:{type:"search",...r.query!=null&&{query:r.query},...r.queries!=null&&{queries:r.queries},...i!=null&&{sources:i}}};case"openPage":return{type:"web_search_call",id:t,status:"completed",action:{type:"open_page",url:r.url}};case"findInPage":return{type:"web_search_call",id:t,status:"completed",action:{type:"find_in_page",url:r.url,pattern:r.pattern}}}}async function x9({output:e,promptCacheBreakpoint:t,providerOptionsName:n,warnings:r}){var i;let a=(s)=>t==null?s:[{type:"input_text",text:s,prompt_cache_breakpoint:t}];switch(e.type){case"text":case"error-text":return a(e.value);case"execution-denied":return a((i=e.reason)!=null?i:"Tool call execution denied.");case"json":case"error-json":return a(JSON.stringify(e.value));case"content":return e.value.map((s)=>{var l,c,u,d,p,f,m;let g=Jl(s.providerOptions,n);switch(s.type){case"text":return{type:"input_text",text:s.text,...g!=null&&{prompt_cache_breakpoint:g}};case"image-data":return{type:"input_image",image_url:`data:${s.mediaType};base64,${s.data}`,detail:(c=(l=s.providerOptions)==null?void 0:l[n])==null?void 0:c.imageDetail,...g!=null&&{prompt_cache_breakpoint:g}};case"image-url":return{type:"input_image",image_url:s.url,detail:(d=(u=s.providerOptions)==null?void 0:u[n])==null?void 0:d.imageDetail,...g!=null&&{prompt_cache_breakpoint:g}};case"file-id":return{type:"input_file",file_id:typeof s.fileId==="string"?s.fileId:s.fileId[n],...g!=null&&{prompt_cache_breakpoint:g}};case"image-file-id":return{type:"input_image",file_id:typeof s.fileId==="string"?s.fileId:s.fileId[n],detail:(f=(p=s.providerOptions)==null?void 0:p[n])==null?void 0:f.imageDetail,...g!=null&&{prompt_cache_breakpoint:g}};case"file-data":return{type:"input_file",filename:(m=s.filename)!=null?m:"data",file_data:`data:${s.mediaType};base64,${s.data}`,...g!=null&&{prompt_cache_breakpoint:g}};case"file-url":return{type:"input_file",file_url:s.url,...g!=null&&{prompt_cache_breakpoint:g}};default:{r.push({type:"other",message:`unsupported tool content part type: ${s.type}`});return}}}).filter(zp)}}function fO(e,t){return e.itemId===t.itemId&&e.toolCallId===t.toolCallId&&e.toolName===t.toolName&&e.input===t.input&&e.count===t.count}function bOe({prompt:e,providerOptionsName:t}){let n=new Map;for(let i of e){if(i.role!=="tool")continue;for(let a of i.content){if(a.type!=="tool-result")continue;let s=pO({providerOptions:a.providerOptions,providerOptionsName:t});if(s==null)continue;let l=n.get(s.toolCallId);if(l==null){n.set(s.toolCallId,{metadata:s,results:new Map([[s.index,a]]),invalid:!1});continue}if(!fO(l.metadata,s)||l.results.has(s.index)){l.invalid=!0;continue}l.results.set(s.index,a)}}let r=new Map;for(let[i,a]of n){if(a.invalid||a.results.size!==a.metadata.count)continue;let s=Array.from({length:a.metadata.count},(l,c)=>a.results.get(c));if(s.every(zp))r.set(i,{metadata:a.metadata,results:s})}return r}function Jl(e,t){var n;return(n=e==null?void 0:e[t])==null?void 0:n.promptCacheBreakpoint}function oO({output:e,toolResultProviderOptions:t,providerOptionsName:n}){var r;return e.type==="content"?void 0:(r=Jl(e.providerOptions,n))!=null?r:Jl(t,n)}function w9(e,t){if(!t)return!1;return t.some((n)=>e.startsWith(n))}async function vOe({prompt:e,toolNameMapping:t,systemMessageMode:n,providerOptionsName:r,explicitMessageItemType:i=!1,fileIdPrefixes:a,passThroughUnsupportedFiles:s=!1,store:l,hasConversation:c=!1,hasPreviousResponseId:u=!1,configurationUpdateUnsupportedReason:d,hasLocalShellTool:p=!1,hasShellTool:f=!1,hasApplyPatchTool:m=!1,toolSearchToolName:g,customProviderToolNames:h}){var b,w,_,y,S,A,v,R,z,F,x,M,q,E,N,Q,ae,J,oe,be,P,L,se,T,le,X,re,de,ze,Ne,We,ee,we;let B=[],ne=[],xe=new Set,ce=c||u?bOe({prompt:e,providerOptionsName:r}):new Map,ve=new Set,Z=new Set;for(let{role:D,content:Pe,providerOptions:Oe}of e)switch(D){case"system":{let ye=await Pt({provider:r,providerOptions:Oe,schema:y9});if(ye==null&&r!=="openai")ye=await Pt({provider:"openai",providerOptions:Oe,schema:y9});let Ce=ye==null?void 0:ye.reasoningEffortUpdate;if(Ce!=null){let Ke=Pe!==""?"Message-level reasoningEffortUpdate requires empty system message content.":d;if(Ke!=null)throw new Nt({functionality:"Message-level reasoningEffortUpdate",message:Ke});B.push({type:"configuration_update",reasoning:{effort:Ce}});break}switch(n){case"system":{let Ke=Jl(Oe,r);B.push({...i&&{type:"message"},role:"system",content:Ke==null?Pe:[{type:"input_text",text:Pe,prompt_cache_breakpoint:Ke}]});break}case"developer":{let Ke=Jl(Oe,r);B.push({...i&&{type:"message"},role:"developer",content:Ke==null?Pe:[{type:"input_text",text:Pe,prompt_cache_breakpoint:Ke}]});break}case"remove":{ne.push({type:"other",message:"system messages are removed for this model"});break}default:throw Error(`Unsupported system message mode: ${n}`)}break}case"user":{B.push({...i&&{type:"message"},role:"user",content:Pe.map((ye,Ce)=>{var Ke,qe,K;switch(ye.type){case"text":{let te=Jl(ye.providerOptions,r);return{type:"input_text",text:ye.text,...te!=null&&{prompt_cache_breakpoint:te}}}case"file":{let te=Jl(ye.providerOptions,r),he=ye.mediaType==="image/*"?"image/jpeg":ye.mediaType;if(he.startsWith("image/"))return{type:"input_image",...ye.data instanceof URL?{image_url:ye.data.toString()}:typeof ye.data==="string"&&w9(ye.data,a)?{file_id:ye.data}:{image_url:`data:${he};base64,${or(ye.data)}`},detail:(qe=(Ke=ye.providerOptions)==null?void 0:Ke[r])==null?void 0:qe.imageDetail,...te!=null&&{prompt_cache_breakpoint:te}};if(ye.data instanceof URL)return{type:"input_file",file_url:ye.data.toString(),...te!=null&&{prompt_cache_breakpoint:te}};if(he!=="application/pdf"&&!s)throw new Nt({functionality:`file part media type ${he}`});return{type:"input_file",...typeof ye.data==="string"&&w9(ye.data,a)?{file_id:ye.data}:{filename:(K=ye.filename)!=null?K:he==="application/pdf"?`part-${Ce}.pdf`:`part-${Ce}`,file_data:`data:${he};base64,${or(ye.data)}`},...te!=null&&{prompt_cache_breakpoint:te}}}}})});break}case"assistant":{let ye={};for(let Ce of Pe)switch(Ce.type){case"text":{let Ke=(b=Ce.providerOptions)==null?void 0:b[r],qe=Ke==null?void 0:Ke.itemId,K=Ke==null?void 0:Ke.phase;if(c&&qe!=null)break;if(l&&qe!=null){B.push({type:"item_reference",id:qe});break}B.push({...i&&{type:"message"},role:"assistant",content:[{type:"output_text",text:Ce.text}],id:qe,...K!=null&&{phase:K}});break}case"tool-call":{let Ke=pO({providerOptions:Ce.providerOptions,providerOptionsName:r}),qe=Ke==null?void 0:ce.get(Ke.toolCallId);if(Ke!=null&&qe!=null&&fO(qe.metadata,Ke)){if(!ve.has(qe.metadata.toolCallId)){if(ve.add(qe.metadata.toolCallId),!c)B.push({type:"function_call",call_id:qe.metadata.toolCallId,name:qe.metadata.toolName,arguments:qe.metadata.input})}break}let K=(A=(_=(w=Ce.providerOptions)==null?void 0:w[r])==null?void 0:_.itemId)!=null?A:(S=(y=Ce.providerMetadata)==null?void 0:y[r])==null?void 0:S.itemId,te=(x=(R=(v=Ce.providerOptions)==null?void 0:v[r])==null?void 0:R.namespace)!=null?x:(F=(z=Ce.providerMetadata)==null?void 0:z[r])==null?void 0:F.namespace,he=(Q=(q=(M=Ce.providerOptions)==null?void 0:M[r])==null?void 0:q.async)!=null?Q:(N=(E=Ce.providerMetadata)==null?void 0:E[r])==null?void 0:N.async;if(c&&K!=null)break;let pe=t.toProviderToolName(Ce.toolName);if(Ce.toolName===g){if(l&&K!=null){B.push({type:"item_reference",id:K});break}let Ue=typeof Ce.input==="string"?await hP({text:Ce.input,schema:cO}):await kt({value:Ce.input,schema:cO}),Tn=Ue.call_id!=null?"client":"server";B.push({type:"tool_search_call",id:K!=null?K:Ce.toolCallId,execution:Tn,call_id:(ae=Ue.call_id)!=null?ae:null,status:"completed",arguments:Ue.arguments});break}if(Ce.providerExecuted){if(l&&K!=null)B.push({type:"item_reference",id:K});if(l||!f||pe!=="shell")break}let st=p&&pe==="local_shell"||f&&pe==="shell"||m&&pe==="apply_patch"||((J=h==null?void 0:h.has(pe))!=null?J:!1);if(u&&l&&K!=null&&st)break;if(l&&K!=null&&st){B.push({type:"item_reference",id:K});break}if(p&&pe==="local_shell"){let Ue=await kt({value:Ce.input,schema:q9});B.push({type:"local_shell_call",call_id:Ce.toolCallId,id:K,action:{type:"exec",command:Ue.action.command,timeout_ms:Ue.action.timeoutMs,user:Ue.action.user,working_directory:Ue.action.workingDirectory,env:Ue.action.env}});break}if(f&&pe==="shell"){let Ue=await kt({value:Ce.input,schema:$9});B.push({type:"shell_call",call_id:Ce.toolCallId,id:K,status:"completed",action:{commands:Ue.action.commands,timeout_ms:Ue.action.timeoutMs,max_output_length:Ue.action.maxOutputLength}});break}if(m&&pe==="apply_patch"){let Ue=await kt({value:Ce.input,schema:N9});B.push({type:"apply_patch_call",call_id:Ue.callId,id:K,status:"completed",operation:Ue.operation});break}if(h==null?void 0:h.has(pe)){B.push({type:"custom_tool_call",call_id:Ce.toolCallId,name:pe,input:typeof Ce.input==="string"?Ce.input:JSON.stringify(Ce.input),...he!=null&&{async:he},id:K});break}B.push({type:"function_call",call_id:Ce.toolCallId,name:pe,arguments:hOe(Ce.input),...he!=null&&{async:he},...te!=null&&{namespace:te}});break}case"tool-result":{if(Ce.output.type==="execution-denied"||Ce.output.type==="json"&&typeof Ce.output.value==="object"&&Ce.output.value!=null&&"type"in Ce.output.value&&Ce.output.value.type==="execution-denied")break;if(c)break;let Ke=t.toProviderToolName(Ce.toolName);if(Ke==="web_search"||Ke==="web_search_preview"){let qe=(P=(be=(oe=Ce.providerOptions)==null?void 0:oe[r])==null?void 0:be.itemId)!=null?P:Ce.toolCallId;if(l){B.push({type:"item_reference",id:qe});break}let K=await yOe({output:Ce.output,id:qe});if(K!=null){B.push(K);break}}if(Ce.toolName===g){let qe=(re=(X=(se=(L=Ce.providerOptions)==null?void 0:L[r])==null?void 0:se.itemId)!=null?X:(le=(T=Ce.providerMetadata)==null?void 0:T[r])==null?void 0:le.itemId)!=null?re:Ce.toolCallId;if(l)B.push({type:"item_reference",id:qe});else if(Ce.output.type==="json"){let K=await kt({value:Ce.output.value,schema:uO});B.push({type:"tool_search_output",id:qe,execution:"server",call_id:null,status:"completed",tools:K.tools})}break}if(f&&Ke==="shell"){if(Ce.output.type==="json"){let qe=await kt({value:Ce.output.value,schema:lO});B.push({type:"shell_call_output",call_id:Ce.toolCallId,output:qe.output.map((K)=>({stdout:K.stdout,stderr:K.stderr,outcome:K.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:K.outcome.exitCode}}))})}break}if(l){let qe=(Ne=(ze=(de=Ce.providerOptions)==null?void 0:de[r])==null?void 0:ze.itemId)!=null?Ne:Ce.toolCallId;B.push({type:"item_reference",id:qe})}else ne.push({type:"other",message:`Results for OpenAI tool ${Ce.toolName} are not sent to the API when store is false`});break}case"reasoning":{let Ke=await Pt({provider:r,providerOptions:Ce.providerOptions,schema:SOe}),qe=Ke==null?void 0:Ke.itemId;if((c||u)&&qe!=null)break;if(qe!=null){let K=ye[qe];if(l){if(K===void 0)B.push({type:"item_reference",id:qe}),ye[qe]={type:"reasoning",id:qe,summary:[]}}else{let te=[];if(Ce.text.length>0)te.push({type:"summary_text",text:Ce.text});else if(K!==void 0)ne.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(Ce)}.`});if(K===void 0)ye[qe]={type:"reasoning",id:qe,encrypted_content:Ke==null?void 0:Ke.reasoningEncryptedContent,summary:te},B.push(ye[qe]);else if(K.summary.push(...te),(Ke==null?void 0:Ke.reasoningEncryptedContent)!=null)K.encrypted_content=Ke.reasoningEncryptedContent}}else{let K=Ke==null?void 0:Ke.reasoningEncryptedContent;if(K!=null){let te=[];if(Ce.text.length>0)te.push({type:"summary_text",text:Ce.text});B.push({type:"reasoning",encrypted_content:K,summary:te})}else ne.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(Ce)}.`})}break}}break}case"tool":{for(let ye of Pe){if(ye.type==="tool-approval-response"){let he=ye;if(xe.has(he.approvalId))continue;if(xe.add(he.approvalId),l&&!c&&!u)B.push({type:"item_reference",id:he.approvalId});B.push({type:"mcp_approval_response",approval_request_id:he.approvalId,approve:he.approved});continue}let Ce=pO({providerOptions:ye.providerOptions,providerOptionsName:r}),Ke=Ce==null?void 0:ce.get(Ce.toolCallId);if(Ce!=null&&Ke!=null&&fO(Ke.metadata,Ce)){if(!Z.has(Ke.metadata.toolCallId)){Z.add(Ke.metadata.toolCallId);let he=await Promise.all(Ke.results.map(async(Ue)=>{let Tn=oO({output:Ue.output,toolResultProviderOptions:Ue.providerOptions,providerOptionsName:r});return{output:await x9({output:Ue.output,providerOptionsName:r,warnings:ne}),promptCacheBreakpoint:Tn}})),pe=he.map(({output:Ue})=>typeof Ue==="string"?Ue:JSON.stringify(Ue)),st=he.some(({promptCacheBreakpoint:Ue})=>Ue!=null);B.push({type:"function_call_output",call_id:Ke.metadata.toolCallId,output:st?pe.map((Ue,Tn)=>({type:"input_text",text:Tn===0?Ue:`
222
222
  ${Ue}`,...he[Tn].promptCacheBreakpoint!=null&&{prompt_cache_breakpoint:he[Tn].promptCacheBreakpoint}})):pe.join(`
223
- `)})}continue}let qe=ye.output;if(qe.type==="execution-denied"){if((ee=(We=qe.providerOptions)==null?void 0:We.openai)==null?void 0:ee.approvalId)continue}let K=t.toProviderToolName(ye.toolName);if(ye.toolName===g&&qe.type==="json"){let he=await kt({value:qe.value,schema:uO});B.push({type:"tool_search_output",execution:"client",call_id:ye.toolCallId,status:"completed",tools:he.tools});continue}if(p&&K==="local_shell"&&qe.type==="json"){let he=await kt({value:qe.value,schema:L9});B.push({type:"local_shell_call_output",call_id:ye.toolCallId,output:he.output});continue}if(f&&K==="shell"&&qe.type==="json"){let he=await kt({value:qe.value,schema:lO});B.push({type:"shell_call_output",call_id:ye.toolCallId,output:he.output.map((pe)=>({stdout:pe.stdout,stderr:pe.stderr,outcome:pe.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:pe.outcome.exitCode}}))});continue}if(m&&ye.toolName==="apply_patch"&&qe.type==="json"){let he=await kt({value:qe.value,schema:z9});B.push({type:"apply_patch_call_output",call_id:ye.toolCallId,status:he.status,output:he.output});continue}if(h==null?void 0:h.has(K)){let he=oO({output:qe,toolResultProviderOptions:ye.providerOptions,providerOptionsName:r}),pe=(Ue)=>he==null?Ue:[{type:"input_text",text:Ue,prompt_cache_breakpoint:he}],st;switch(qe.type){case"text":case"error-text":st=pe(qe.value);break;case"execution-denied":st=pe((we=qe.reason)!=null?we:"Tool call execution denied.");break;case"json":case"error-json":st=pe(JSON.stringify(qe.value));break;case"content":st=qe.value.map((Ue)=>{var Tn,Nn,bn,fr,Ft;let En=Jl(Ue.providerOptions,r);switch(Ue.type){case"text":return{type:"input_text",text:Ue.text,...En!=null&&{prompt_cache_breakpoint:En}};case"image-data":return{type:"input_image",image_url:`data:${Ue.mediaType};base64,${Ue.data}`,detail:(Nn=(Tn=Ue.providerOptions)==null?void 0:Tn[r])==null?void 0:Nn.imageDetail,...En!=null&&{prompt_cache_breakpoint:En}};case"image-url":return{type:"input_image",image_url:Ue.url,detail:(fr=(bn=Ue.providerOptions)==null?void 0:bn[r])==null?void 0:fr.imageDetail,...En!=null&&{prompt_cache_breakpoint:En}};case"file-data":return{type:"input_file",filename:(Ft=Ue.filename)!=null?Ft:"data",file_data:`data:${Ue.mediaType};base64,${Ue.data}`,...En!=null&&{prompt_cache_breakpoint:En}};case"file-url":return{type:"input_file",file_url:Ue.url,...En!=null&&{prompt_cache_breakpoint:En}};default:ne.push({type:"other",message:`unsupported custom tool content part type: ${Ue.type}`});return}}).filter(zp);break;default:st=""}B.push({type:"custom_tool_call_output",call_id:ye.toolCallId,output:st});continue}let te=await x9({output:qe,promptCacheBreakpoint:oO({output:qe,toolResultProviderOptions:ye.providerOptions,providerOptionsName:r}),providerOptionsName:r,warnings:ne});B.push({type:"function_call_output",call_id:ye.toolCallId,output:te})}break}default:throw Error(`Unsupported role: ${D}`)}if(!l&&B.some((D)=>("type"in D)&&D.type==="reasoning"&&D.encrypted_content==null))ne.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),B=B.filter((D)=>!("type"in D)||D.type!=="reasoning"||D.encrypted_content!=null);return{input:B,warnings:ne}}var SOe=o.object({itemId:o.string().nullish(),reasoningEncryptedContent:o.string().nullish()});function iO({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return t?"tool-calls":"other"}}var Hp=o.lazy(()=>o.union([o.string(),o.number(),o.boolean(),o.null(),o.array(Hp),o.record(o.string(),Hp.optional())])),aO=o.record(o.string(),Hp.optional()),gO=o.intersection(aO,o.object({input_tokens:o.number(),input_tokens_details:o.intersection(aO,o.object({cached_tokens:o.number().nullish(),cache_write_tokens:o.number().nullish(),orchestration_input_tokens:o.number().nullish(),orchestration_input_cached_tokens:o.number().nullish()})).nullish(),output_tokens:o.number(),output_tokens_details:o.intersection(aO,o.object({reasoning_tokens:o.number().nullish(),orchestration_output_tokens:o.number().nullish()})).nullish(),total_tokens:o.number().optional()}));function xOe(e){return e!=null&&typeof e==="object"&&!Array.isArray(e)}var hO=o.object({type:o.literal("local_shell_call"),id:o.string(),call_id:o.string(),action:o.object({type:o.literal("exec"),command:o.array(o.string()),timeout_ms:o.number().optional(),user:o.string().optional(),working_directory:o.string().optional(),env:o.record(o.string(),o.string()).optional()})}),wOe=o.object({type:o.literal("error"),sequence_number:o.number(),error:o.object({type:o.string(),code:o.string().nullish(),message:o.string(),param:o.string().nullish()})}),TOe=o.object({type:o.literal("error"),sequence_number:o.number(),code:o.string().nullish(),message:o.string(),param:o.string().nullish()}),_Oe=new Set(["error","response.apply_patch_call_operation_diff.delta","response.apply_patch_call_operation_diff.done","response.code_interpreter_call_code.delta","response.code_interpreter_call_code.done","response.completed","response.created","response.custom_tool_call_input.delta","response.failed","response.function_call_arguments.delta","response.function_call_arguments.done","response.image_generation_call.partial_image","response.incomplete","response.output_item.added","response.output_item.done","response.output_text.annotation.added","response.output_text.delta","response.reasoning_summary_part.added","response.reasoning_summary_part.done","response.reasoning_summary_text.delta"]),IOe=new Set(["apply_patch_call","code_interpreter_call","computer_call","custom_tool_call","file_search_call","function_call","image_generation_call","local_shell_call","mcp_approval_request","mcp_call","mcp_list_tools","message","reasoning","shell_call","shell_call_output","tool_search_call","tool_search_output","web_search_call"]);function COe(e){if(typeof e.type!=="string"||!_Oe.has(e.type))return!1;if(e.type!=="response.output_item.added"&&e.type!=="response.output_item.done")return!0;if(!xOe(e.item)||typeof e.item.type!=="string")return!0;return IOe.has(e.item.type)}var EOe=G(()=>W(o.union([o.object({type:o.literal("response.output_text.delta"),item_id:o.string(),delta:o.string(),logprobs:o.array(o.object({token:o.string(),logprob:o.number(),top_logprobs:o.array(o.object({token:o.string(),logprob:o.number()}))})).nullish()}),o.object({type:o.enum(["response.completed","response.incomplete"]),response:o.object({incomplete_details:o.object({reason:o.string()}).nullish(),usage:gO.nullish(),reasoning:o.object({context:o.string().nullish()}).nullish(),service_tier:o.string().nullish()})}),o.object({type:o.literal("response.failed"),sequence_number:o.number(),response:o.object({error:o.object({code:o.string().nullish(),message:o.string()}).nullish(),incomplete_details:o.object({reason:o.string()}).nullish(),usage:gO.nullish(),reasoning:o.object({context:o.string().nullish()}).nullish(),service_tier:o.string().nullish()})}),o.object({type:o.literal("response.created"),response:o.object({id:o.string(),created_at:o.number(),model:o.string(),service_tier:o.string().nullish()})}),o.object({type:o.literal("response.output_item.added"),output_index:o.number(),item:o.discriminatedUnion("type",[o.object({type:o.literal("message"),id:o.string(),phase:o.enum(["commentary","final_answer"]).nullish()}),o.object({type:o.literal("reasoning"),id:o.string(),encrypted_content:o.string().nullish()}),o.object({type:o.literal("function_call"),id:o.string(),call_id:o.string(),name:o.string(),arguments:o.string(),async:o.boolean().nullish(),namespace:o.string().nullish()}),o.object({type:o.literal("web_search_call"),id:o.string(),status:o.string()}),o.object({type:o.literal("computer_call"),id:o.string(),status:o.string()}),o.object({type:o.literal("file_search_call"),id:o.string()}),hO,o.object({type:o.literal("image_generation_call"),id:o.string()}),o.object({type:o.literal("code_interpreter_call"),id:o.string(),container_id:o.string(),code:o.string().nullable(),outputs:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("logs"),logs:o.string()}),o.object({type:o.literal("image"),url:o.string()})])).nullable(),status:o.string()}),o.object({type:o.literal("mcp_call"),id:o.string(),status:o.string(),approval_request_id:o.string().nullish()}),o.object({type:o.literal("mcp_list_tools"),id:o.string()}),o.object({type:o.literal("mcp_approval_request"),id:o.string()}),o.object({type:o.literal("apply_patch_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed"]),operation:o.discriminatedUnion("type",[o.object({type:o.literal("create_file"),path:o.string(),diff:o.string()}),o.object({type:o.literal("delete_file"),path:o.string()}),o.object({type:o.literal("update_file"),path:o.string(),diff:o.string()})])}),o.object({type:o.literal("custom_tool_call"),id:o.string(),call_id:o.string(),name:o.string(),input:o.string(),async:o.boolean().nullish()}),o.object({type:o.literal("shell_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),action:o.object({commands:o.array(o.string())})}),o.object({type:o.literal("shell_call_output"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),output:o.array(o.object({stdout:o.string(),stderr:o.string(),outcome:o.discriminatedUnion("type",[o.object({type:o.literal("timeout")}),o.object({type:o.literal("exit"),exit_code:o.number()})])}))}),o.object({type:o.literal("tool_search_call"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),arguments:o.unknown()}),o.object({type:o.literal("tool_search_output"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),tools:o.array(o.record(o.string(),Hp.optional()))})])}),o.object({type:o.literal("response.output_item.done"),output_index:o.number(),item:o.discriminatedUnion("type",[o.object({type:o.literal("message"),id:o.string(),phase:o.enum(["commentary","final_answer"]).nullish()}),o.object({type:o.literal("reasoning"),id:o.string(),encrypted_content:o.string().nullish()}),o.object({type:o.literal("function_call"),id:o.string(),call_id:o.string(),name:o.string(),arguments:o.string(),async:o.boolean().nullish(),status:o.enum(["in_progress","completed","incomplete"]),namespace:o.string().nullish()}),o.object({type:o.literal("custom_tool_call"),id:o.string(),call_id:o.string(),name:o.string(),input:o.string(),async:o.boolean().nullish(),status:o.enum(["in_progress","completed","incomplete"])}),o.object({type:o.literal("code_interpreter_call"),id:o.string(),code:o.string().nullable(),container_id:o.string(),outputs:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("logs"),logs:o.string()}),o.object({type:o.literal("image"),url:o.string()})])).nullable()}),o.object({type:o.literal("image_generation_call"),id:o.string(),result:o.string()}),o.object({type:o.literal("web_search_call"),id:o.string(),status:o.string(),action:o.discriminatedUnion("type",[o.object({type:o.literal("search"),query:o.string().nullish(),queries:o.array(o.string()).nullish(),sources:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("url"),url:o.string()}),o.object({type:o.literal("api"),name:o.string()})])).nullish()}),o.object({type:o.literal("open_page"),url:o.string().nullish()}),o.object({type:o.literal("find_in_page"),url:o.string().nullish(),pattern:o.string().nullish()})]).nullish()}),o.object({type:o.literal("file_search_call"),id:o.string(),queries:o.array(o.string()),results:o.array(o.object({attributes:o.record(o.string(),o.union([o.string(),o.number(),o.boolean()])),file_id:o.string(),filename:o.string(),score:o.number(),text:o.string()})).nullish()}),hO,o.object({type:o.literal("computer_call"),id:o.string(),status:o.literal("completed")}),o.object({type:o.literal("mcp_call"),id:o.string(),status:o.string(),arguments:o.string(),name:o.string(),server_label:o.string(),output:o.string().nullish(),error:o.union([o.string(),o.object({type:o.string().optional(),code:o.union([o.number(),o.string()]).optional(),message:o.string().optional()}).loose()]).nullish(),approval_request_id:o.string().nullish()}),o.object({type:o.literal("mcp_list_tools"),id:o.string(),server_label:o.string(),tools:o.array(o.object({name:o.string(),description:o.string().optional(),input_schema:o.any(),annotations:o.record(o.string(),o.unknown()).optional()})),error:o.union([o.string(),o.object({type:o.string().optional(),code:o.union([o.number(),o.string()]).optional(),message:o.string().optional()}).loose()]).optional()}),o.object({type:o.literal("mcp_approval_request"),id:o.string(),server_label:o.string(),name:o.string(),arguments:o.string(),approval_request_id:o.string().optional()}),o.object({type:o.literal("apply_patch_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed"]),operation:o.discriminatedUnion("type",[o.object({type:o.literal("create_file"),path:o.string(),diff:o.string()}),o.object({type:o.literal("delete_file"),path:o.string()}),o.object({type:o.literal("update_file"),path:o.string(),diff:o.string()})])}),o.object({type:o.literal("shell_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),action:o.object({commands:o.array(o.string())})}),o.object({type:o.literal("shell_call_output"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),output:o.array(o.object({stdout:o.string(),stderr:o.string(),outcome:o.discriminatedUnion("type",[o.object({type:o.literal("timeout")}),o.object({type:o.literal("exit"),exit_code:o.number()})])}))}),o.object({type:o.literal("tool_search_call"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),arguments:o.unknown()}),o.object({type:o.literal("tool_search_output"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),tools:o.array(o.record(o.string(),Hp.optional()))})])}),o.object({type:o.literal("response.function_call_arguments.delta"),item_id:o.string(),output_index:o.number(),delta:o.string()}),o.object({type:o.literal("response.function_call_arguments.done"),item_id:o.string(),output_index:o.number(),arguments:o.string()}),o.object({type:o.literal("response.custom_tool_call_input.delta"),item_id:o.string(),output_index:o.number(),delta:o.string()}),o.object({type:o.literal("response.image_generation_call.partial_image"),item_id:o.string(),output_index:o.number(),partial_image_b64:o.string()}),o.object({type:o.literal("response.code_interpreter_call_code.delta"),item_id:o.string(),output_index:o.number(),delta:o.string()}),o.object({type:o.literal("response.code_interpreter_call_code.done"),item_id:o.string(),output_index:o.number(),code:o.string()}),o.object({type:o.literal("response.output_text.annotation.added"),annotation:o.discriminatedUnion("type",[o.object({type:o.literal("url_citation"),start_index:o.number(),end_index:o.number(),url:o.string(),title:o.string()}),o.object({type:o.literal("file_citation"),file_id:o.string(),filename:o.string(),index:o.number()}),o.object({type:o.literal("container_file_citation"),container_id:o.string(),file_id:o.string(),filename:o.string(),start_index:o.number(),end_index:o.number()}),o.object({type:o.literal("file_path"),file_id:o.string(),index:o.number()})])}),o.object({type:o.literal("response.reasoning_summary_part.added"),item_id:o.string(),summary_index:o.number()}),o.object({type:o.literal("response.reasoning_summary_text.delta"),item_id:o.string(),summary_index:o.number(),delta:o.string()}),o.object({type:o.literal("response.reasoning_summary_part.done"),item_id:o.string(),summary_index:o.number()}),o.object({type:o.literal("response.apply_patch_call_operation_diff.delta"),item_id:o.string(),output_index:o.number(),delta:o.string(),obfuscation:o.string().nullish()}),o.object({type:o.literal("response.apply_patch_call_operation_diff.done"),item_id:o.string(),output_index:o.number(),diff:o.string()}),wOe,TOe,o.object({type:o.string()}).loose().refine((e)=>!COe(e),{message:"Known response chunk failed schema validation"}).transform((e)=>({type:"unknown_chunk",message:e.type}))]))),kOe=G(()=>W(o.object({id:o.string().optional(),created_at:o.number().optional(),error:o.object({message:o.string(),type:o.string(),param:o.string().nullish(),code:o.string()}).nullish(),model:o.string().optional(),output:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("message"),role:o.literal("assistant"),id:o.string(),phase:o.enum(["commentary","final_answer"]).nullish(),content:o.array(o.object({type:o.literal("output_text"),text:o.string(),logprobs:o.array(o.object({token:o.string(),logprob:o.number(),top_logprobs:o.array(o.object({token:o.string(),logprob:o.number()}))})).nullish(),annotations:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("url_citation"),start_index:o.number(),end_index:o.number(),url:o.string(),title:o.string()}),o.object({type:o.literal("file_citation"),file_id:o.string(),filename:o.string(),index:o.number()}),o.object({type:o.literal("container_file_citation"),container_id:o.string(),file_id:o.string(),filename:o.string(),start_index:o.number(),end_index:o.number()}),o.object({type:o.literal("file_path"),file_id:o.string(),index:o.number()})]))}))}),o.object({type:o.literal("web_search_call"),id:o.string(),status:o.string(),action:o.discriminatedUnion("type",[o.object({type:o.literal("search"),query:o.string().nullish(),queries:o.array(o.string()).nullish(),sources:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("url"),url:o.string()}),o.object({type:o.literal("api"),name:o.string()})])).nullish()}),o.object({type:o.literal("open_page"),url:o.string().nullish()}),o.object({type:o.literal("find_in_page"),url:o.string().nullish(),pattern:o.string().nullish()})]).nullish()}),o.object({type:o.literal("file_search_call"),id:o.string(),queries:o.array(o.string()),results:o.array(o.object({attributes:o.record(o.string(),o.union([o.string(),o.number(),o.boolean()])),file_id:o.string(),filename:o.string(),score:o.number(),text:o.string()})).nullish()}),o.object({type:o.literal("code_interpreter_call"),id:o.string(),code:o.string().nullable(),container_id:o.string(),outputs:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("logs"),logs:o.string()}),o.object({type:o.literal("image"),url:o.string()})])).nullable()}),o.object({type:o.literal("image_generation_call"),id:o.string(),result:o.string()}),hO,o.object({type:o.literal("function_call"),call_id:o.string(),name:o.string(),arguments:o.string(),id:o.string(),async:o.boolean().nullish(),namespace:o.string().nullish()}),o.object({type:o.literal("custom_tool_call"),call_id:o.string(),name:o.string(),input:o.string(),id:o.string(),async:o.boolean().nullish()}),o.object({type:o.literal("computer_call"),id:o.string(),status:o.string().optional()}),o.object({type:o.literal("reasoning"),id:o.string(),encrypted_content:o.string().nullish(),summary:o.array(o.object({type:o.literal("summary_text"),text:o.string()}))}),o.object({type:o.literal("mcp_call"),id:o.string(),status:o.string(),arguments:o.string(),name:o.string(),server_label:o.string(),output:o.string().nullish(),error:o.union([o.string(),o.object({type:o.string().optional(),code:o.union([o.number(),o.string()]).optional(),message:o.string().optional()}).loose()]).nullish(),approval_request_id:o.string().nullish()}),o.object({type:o.literal("mcp_list_tools"),id:o.string(),server_label:o.string(),tools:o.array(o.object({name:o.string(),description:o.string().optional(),input_schema:o.any(),annotations:o.record(o.string(),o.unknown()).optional()})),error:o.union([o.string(),o.object({type:o.string().optional(),code:o.union([o.number(),o.string()]).optional(),message:o.string().optional()}).loose()]).optional()}),o.object({type:o.literal("mcp_approval_request"),id:o.string(),server_label:o.string(),name:o.string(),arguments:o.string(),approval_request_id:o.string().optional()}),o.object({type:o.literal("apply_patch_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed"]),operation:o.discriminatedUnion("type",[o.object({type:o.literal("create_file"),path:o.string(),diff:o.string()}),o.object({type:o.literal("delete_file"),path:o.string()}),o.object({type:o.literal("update_file"),path:o.string(),diff:o.string()})])}),o.object({type:o.literal("shell_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),action:o.object({commands:o.array(o.string())})}),o.object({type:o.literal("shell_call_output"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),output:o.array(o.object({stdout:o.string(),stderr:o.string(),outcome:o.discriminatedUnion("type",[o.object({type:o.literal("timeout")}),o.object({type:o.literal("exit"),exit_code:o.number()})])}))}),o.object({type:o.literal("tool_search_call"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),arguments:o.unknown()}),o.object({type:o.literal("tool_search_output"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),tools:o.array(o.record(o.string(),Hp.optional()))})])).optional(),service_tier:o.string().nullish(),reasoning:o.object({context:o.string().nullish()}).nullish(),incomplete_details:o.object({reason:o.string()}).nullish(),usage:gO.nullish()})));async function ROe({tools:e,toolChoice:t,allowedTools:n,toolNameMapping:r,customProviderToolNames:i,supportsAsyncToolCalling:a=!0}){var s,l,c,u;e=(e==null?void 0:e.length)?e:void 0;let d=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:d};let p=[],f=new Map,m=i!=null?i:new Set,g=new Map,h=new Map,b=(_,y,S)=>{if(g.set(_,y),S==null||S===_)return;let A=h.get(S);if(A==null)h.set(S,y);else if(A!=="ambiguous"&&!AOe(A,y))h.set(S,"ambiguous")};for(let _ of e)switch(_.type){case"function":{let y=(s=_.providerOptions)==null?void 0:s.openai,S=OOe({tool:_,options:y,async:_9({value:y==null?void 0:y.async,supportsAsyncToolCalling:a,toolName:_.name,toolWarnings:d})}),A=y==null?void 0:y.namespace;if(A==null)p.push(S);else{let v=f.get(A.name);if(v==null)v={type:"namespace",name:A.name,description:A.description,tools:[]},f.set(A.name,v),p.push(v);else if(v.description!==A.description)throw new Nt({functionality:`conflicting descriptions for OpenAI tool namespace "${A.name}"`});v.tools.push(S)}b(_.name,A!=null?{supported:!1,reason:"tools inside an OpenAI tool namespace are not visible to tool_choice.allowed_tools"}:(y==null?void 0:y.deferLoading)===!0?{supported:!1,reason:"deferred tools are not visible to tool_choice.allowed_tools"}:{supported:!0,entry:{type:"function",name:_.name}},void 0);break}case"provider":{let y=p.length;switch(_.id){case"openai.file_search":{let S=await kt({value:_.args,schema:q0e});p.push({type:"file_search",vector_store_ids:S.vectorStoreIds,max_num_results:S.maxNumResults,ranking_options:S.ranking?{ranker:S.ranking.ranker,score_threshold:S.ranking.scoreThreshold}:void 0,filters:S.filters});break}case"openai.local_shell":{p.push({type:"local_shell"});break}case"openai.shell":{let S=await kt({value:_.args,schema:K0e});p.push({type:"shell",...S.environment&&{environment:MOe(S.environment)}});break}case"openai.apply_patch":{p.push({type:"apply_patch"});break}case"openai.web_search_preview":{let S=await kt({value:_.args,schema:iOe});p.push({type:"web_search_preview",search_context_size:S.searchContextSize,user_location:S.userLocation});break}case"openai.web_search":{let S=await kt({value:_.args,schema:tOe});p.push({type:"web_search",filters:S.filters!=null?{allowed_domains:S.filters.allowedDomains,blocked_domains:S.filters.blockedDomains}:void 0,external_web_access:S.externalWebAccess,search_context_size:S.searchContextSize,user_location:S.userLocation});break}case"openai.code_interpreter":{let S=await kt({value:_.args,schema:M0e});p.push({type:"code_interpreter",container:S.container==null?{type:"auto",file_ids:void 0}:typeof S.container==="string"?S.container:{type:"auto",file_ids:S.container.fileIds}});break}case"openai.image_generation":{let S=await kt({value:_.args,schema:U0e});p.push({type:"image_generation",background:S.background,input_fidelity:S.inputFidelity,input_image_mask:S.inputImageMask?{file_id:S.inputImageMask.fileId,image_url:S.inputImageMask.imageUrl}:void 0,model:S.model,moderation:S.moderation,partial_images:S.partialImages,quality:S.quality,output_compression:S.outputCompression,output_format:S.outputFormat,size:S.size});break}case"openai.mcp":{let S=await kt({value:_.args,schema:cOe}),A=(z)=>({tool_names:z.toolNames}),v=S.requireApproval,R=v==null?void 0:typeof v==="string"?v:v.never!=null?{never:A(v.never)}:void 0;p.push({type:"mcp",server_label:S.serverLabel,allowed_tools:Array.isArray(S.allowedTools)?S.allowedTools:S.allowedTools?{read_only:S.allowedTools.readOnly,tool_names:S.allowedTools.toolNames}:void 0,authorization:S.authorization,connector_id:S.connectorId,headers:S.headers,require_approval:R!=null?R:"never",server_description:S.serverDescription,server_url:S.serverUrl});break}case"openai.custom":{let S=await kt({value:_.args,schema:N0e});p.push({type:"custom",name:S.name,description:S.description,..._9({value:S.async,supportsAsyncToolCalling:a,toolName:S.name,toolWarnings:d})!=null?{async:S.async}:{},format:S.format}),m.add(S.name);break}case"openai.tool_search":{let S=await kt({value:_.args,schema:Y0e});p.push({type:"tool_search",...S.execution!=null?{execution:S.execution}:{},...S.description!=null?{description:S.description}:{},...S.parameters!=null?{parameters:S.parameters}:{}});break}}if(p.length>y){let S=p[y];b(_.name,POe(S),r==null?void 0:r.toProviderToolName(_.name))}break}default:d.push({type:"unsupported",feature:`function tool ${_}`});break}if(n!=null){let _=[],y=[];for(let S of n.toolNames){let A=g.get(S),v=A!=null?A:h.get(S);if(A!=null&&h.has(S))d.push({type:"unsupported",feature:`allowedTools entry "${S}"`,details:"this name is both a tool name and the provider tool name of another tool in this request; the tool with this name is allowed"});if(v==="ambiguous"){d.push({type:"unsupported",feature:`allowedTools entry "${S}"`,details:"several tools in this request share this provider tool name; use the tool name from the tools for this request instead"}),y.push(S);continue}if(v==null){d.push({type:"unsupported",feature:`allowedTools entry "${S}"`,details:"the tool is not part of the tools for this request and is sent as a function tool"}),_.push({type:"function",name:(l=r==null?void 0:r.toProviderToolName(S))!=null?l:S});continue}if(!v.supported){d.push({type:"unsupported",feature:`allowedTools entry "${S}"`,details:`${v.reason}; the tool is removed from the allowed tools`}),y.push(S);continue}_.push(v.entry)}if(_.length===0)throw new Nt({functionality:`allowedTools with only tools that cannot be allow-listed (${y.join(", ")})`});return{tools:p,toolChoice:{type:"allowed_tools",mode:(c=n.mode)!=null?c:"auto",tools:_},toolWarnings:d}}if(t==null)return{tools:p,toolChoice:void 0,toolWarnings:d};let w=t.type;switch(w){case"auto":case"none":case"required":return{tools:p,toolChoice:w,toolWarnings:d};case"tool":{let _=(u=r==null?void 0:r.toProviderToolName(t.toolName))!=null?u:t.toolName;return{tools:p,toolChoice:_==="code_interpreter"||_==="file_search"||_==="image_generation"||_==="web_search_preview"||_==="web_search"||_==="mcp"||_==="apply_patch"?{type:_}:m.has(_)?{type:"custom",name:_}:{type:"function",name:_},toolWarnings:d}}default:throw new Nt({functionality:`tool choice type: ${w}`})}}function T9(e){switch(e.type){case"mcp":return`mcp:${e.server_label}`;case"function":case"custom":return`${e.type}:${e.name}`;default:return e.type}}function AOe(e,t){if(e.supported&&t.supported)return T9(e.entry)===T9(t.entry);if(!e.supported&&!t.supported)return e.reason===t.reason;return!1}function POe(e){switch(e.type){case"custom":return{supported:!0,entry:{type:"custom",name:e.name}};case"mcp":return{supported:!0,entry:{type:"mcp",server_label:e.server_label}};case"file_search":case"web_search":case"web_search_preview":case"image_generation":case"code_interpreter":case"apply_patch":case"shell":case"local_shell":return{supported:!0,entry:{type:e.type}};default:return{supported:!1,reason:`OpenAI does not support ${e.type} tools in tool_choice.allowed_tools`}}}function OOe({tool:e,options:t,async:n}){let r=t==null?void 0:t.deferLoading;return{type:"function",name:e.name,description:e.description,parameters:e.inputSchema,...n!=null?{async:n}:{},...e.strict!=null?{strict:e.strict}:{},...r!=null?{defer_loading:r}:{}}}function _9({value:e,supportsAsyncToolCalling:t,toolName:n,toolWarnings:r}){if(e!==!0||t)return e;r.push({type:"unsupported",feature:`async tool calling for "${n}"`,details:"Async tool calling is only supported by GPT-6 and later models."});return}function MOe(e){if(e.type==="containerReference")return{type:"container_reference",container_id:e.containerId};if(e.type==="containerAuto"){let n=e;return{type:"container_auto",file_ids:n.fileIds,memory_limit:n.memoryLimit,network_policy:n.networkPolicy==null?void 0:n.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:n.networkPolicy.allowedDomains,domain_secrets:n.networkPolicy.domainSecrets},skills:jOe(n.skills)}}return{type:"local",skills:e.skills}}function jOe(e){return e==null?void 0:e.map((t)=>t.type==="skillReference"?{type:"skill_reference",skill_id:t.skillId,version:t.version}:{type:"inline",name:t.name,description:t.description,source:{type:"base64",media_type:t.source.mediaType,data:t.source.data}})}function I9(e){var t,n;let r={};for(let i of e){if(i.role!=="assistant")continue;for(let a of i.content){if(a.type!=="tool-call")continue;let s=(n=(t=a.providerOptions)==null?void 0:t.openai)==null?void 0:n.approvalRequestId;if(s!=null)r[s]=a.toolCallId}}return r}function DOe({modelCapabilities:e,options:t}){if(!e.supportsConfigurationUpdate)return"reasoningEffortUpdate is only supported by GPT-6 and later models";if((t==null?void 0:t.reasoningMode)==="pro"||(t==null?void 0:t.truncation)==="auto")return"reasoningEffortUpdate requires standard reasoning mode without automatic truncation";return}var NOe=class{constructor(e,t){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:s,seed:l,prompt:c,providerOptions:u,tools:d,toolChoice:p,responseFormat:f}){var m,g,h,b,w,_,y,S,A,v,R,z,F;let x=[],M=P9(this.modelId);if(i!=null)x.push({type:"unsupported",feature:"topK"});if(l!=null)x.push({type:"unsupported",feature:"seed"});if(a!=null)x.push({type:"unsupported",feature:"presencePenalty"});if(s!=null)x.push({type:"unsupported",feature:"frequencyPenalty"});if(n!=null)x.push({type:"unsupported",feature:"stopSequences"});let q=this.config.provider.includes("azure")?"azure":"openai",E=await Pt({provider:q,providerOptions:u,schema:h9});if(E==null&&q!=="openai")E=await Pt({provider:"openai",providerOptions:u,schema:h9});let N=(m=E==null?void 0:E.forceReasoning)!=null?m:M.isReasoningModel,Q=E==null?void 0:E.reasoningEffort;if(Q!=null&&M.supportedReasoningEfforts!=null&&!M.supportedReasoningEfforts.includes(Q))x.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${M.supportedReasoningEfforts.join(", ")}`}),Q=void 0;if((E==null?void 0:E.conversation)&&(E==null?void 0:E.previousResponseId))x.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let ae=Cx({tools:d,providerToolNames:{"openai.code_interpreter":"code_interpreter","openai.file_search":"file_search","openai.image_generation":"image_generation","openai.local_shell":"local_shell","openai.shell":"shell","openai.web_search":"web_search","openai.web_search_preview":"web_search_preview","openai.mcp":"mcp","openai.apply_patch":"apply_patch","openai.tool_search":"tool_search"},resolveProviderToolName:(ce)=>ce.id==="openai.custom"?ce.args.name:void 0}),J=new Set,{tools:oe,toolChoice:be,toolWarnings:P}=await ROe({tools:d,toolChoice:p,allowedTools:(g=E==null?void 0:E.allowedTools)!=null?g:void 0,toolNameMapping:ae,customProviderToolNames:J,supportsAsyncToolCalling:M.supportsAsyncToolCalling}),L=DOe({modelCapabilities:M,options:E}),{input:se,warnings:T}=await vOe({prompt:c,configurationUpdateUnsupportedReason:L,toolNameMapping:ae,systemMessageMode:(h=E==null?void 0:E.systemMessageMode)!=null?h:N?"developer":M.systemMessageMode,providerOptionsName:q,explicitMessageItemType:this.config.explicitMessageItemType,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:(b=E==null?void 0:E.passThroughUnsupportedFiles)!=null?b:!1,store:(w=E==null?void 0:E.store)!=null?w:!0,hasConversation:(E==null?void 0:E.conversation)!=null,hasPreviousResponseId:(E==null?void 0:E.previousResponseId)!=null,hasLocalShellTool:Ne("openai.local_shell"),hasShellTool:Ne("openai.shell"),hasApplyPatchTool:Ne("openai.apply_patch"),toolSearchToolName:ze("openai.tool_search"),customProviderToolNames:J.size>0?J:void 0});x.push(...T);let le=E==null?void 0:E.reasoningEffortUpdate;if(le!=null&&L!=null)x.push({type:"unsupported",feature:"reasoningEffortUpdate",details:L});else if(le!=null){let ce=se[0];if((ce==null?void 0:ce.type)!=="configuration_update"||ce.reasoning.effort!==le)se.unshift({type:"configuration_update",reasoning:{effort:le}})}for(let ce=1;ce<se.length;ce++)if(se[ce-1].type==="configuration_update"&&se[ce].type==="configuration_update")throw new Nt({functionality:"Adjacent reasoning effort configuration updates"});let X=(_=E==null?void 0:E.strictJsonSchema)!=null?_:!0,re=E==null?void 0:E.include;function de(ce){if(re==null)re=[ce];else if(!re.includes(ce))re=[...re,ce]}function ze(ce){var ve;return(ve=d==null?void 0:d.find((Z)=>Z.type==="provider"&&Z.id===ce))==null?void 0:ve.name}function Ne(ce){return ze(ce)!=null}let We=typeof(E==null?void 0:E.logprobs)==="number"?E==null?void 0:E.logprobs:(E==null?void 0:E.logprobs)===!0?Z9:void 0;if(We)de("message.output_text.logprobs");let ee=(y=d==null?void 0:d.find((ce)=>ce.type==="provider"&&(ce.id==="openai.web_search"||ce.id==="openai.web_search_preview")))==null?void 0:y.name;if(ee)de("web_search_call.action.sources");if(Ne("openai.code_interpreter"))de("code_interpreter_call.outputs");let we=E==null?void 0:E.store;if(we===!1&&N)de("reasoning.encrypted_content");let B={model:this.modelId,input:se,temperature:t,top_p:r,max_output_tokens:e,...((f==null?void 0:f.type)==="json"||(E==null?void 0:E.textVerbosity))&&{text:{...(f==null?void 0:f.type)==="json"&&{format:f.schema!=null?{type:"json_schema",strict:X,name:(S=f.name)!=null?S:"response",description:f.description,schema:O9(f.schema)}:{type:"json_object"}},...(E==null?void 0:E.textVerbosity)&&{verbosity:E.textVerbosity}}},conversation:E==null?void 0:E.conversation,max_tool_calls:E==null?void 0:E.maxToolCalls,metadata:E==null?void 0:E.metadata,parallel_tool_calls:E==null?void 0:E.parallelToolCalls,previous_response_id:E==null?void 0:E.previousResponseId,store:we,user:E==null?void 0:E.user,instructions:E==null?void 0:E.instructions,service_tier:E==null?void 0:E.serviceTier,include:re,prompt_cache_key:E==null?void 0:E.promptCacheKey,prompt_cache_options:E==null?void 0:E.promptCacheOptions,prompt_cache_retention:E==null?void 0:E.promptCacheRetention,safety_identifier:E==null?void 0:E.safetyIdentifier,top_logprobs:We,truncation:E==null?void 0:E.truncation,...N&&(Q!=null||(E==null?void 0:E.reasoningSummary)!=null||(E==null?void 0:E.reasoningMode)!=null||(E==null?void 0:E.reasoningContext)!=null)&&{reasoning:{...Q!=null&&{effort:Q},...(E==null?void 0:E.reasoningSummary)!=null&&{summary:E.reasoningSummary},...(E==null?void 0:E.reasoningMode)!=null&&{mode:E.reasoningMode},...(E==null?void 0:E.reasoningContext)!=null&&{context:E.reasoningContext}}}};if(M.supportsConfigurationUpdate&&B.prompt_cache_retention!=null)B.prompt_cache_retention=void 0,x.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"});if(N){if(!((E==null?void 0:E.reasoningEffort)==="none"&&M.supportsNonReasoningParameters)){if(B.temperature!=null)B.temperature=void 0,x.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(B.top_p!=null)B.top_p=void 0,x.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})}if(M.supportedReasoningEfforts!=null&&(B.top_logprobs!=null||((A=B.include)==null?void 0:A.includes("message.output_text.logprobs")))){B.top_logprobs=void 0;let ce=(v=B.include)==null?void 0:v.filter((ve)=>ve!=="message.output_text.logprobs");B.include=ce!=null&&ce.length>0?ce:void 0,x.push({type:"unsupported",feature:"logprobs",details:"logprobs is not supported for reasoning models"})}}else{if((E==null?void 0:E.reasoningEffort)!=null)x.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((E==null?void 0:E.reasoningSummary)!=null)x.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"});if((E==null?void 0:E.reasoningMode)!=null)x.push({type:"unsupported",feature:"reasoningMode",details:"reasoningMode is not supported for non-reasoning models"});if((E==null?void 0:E.reasoningContext)!=null)x.push({type:"unsupported",feature:"reasoningContext",details:"reasoningContext is not supported for non-reasoning models"})}if((E==null?void 0:E.serviceTier)==="flex"&&!M.supportsFlexProcessing)x.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete B.service_tier;if(((E==null?void 0:E.serviceTier)==="priority"||(E==null?void 0:E.serviceTier)==="fast")&&!M.supportsPriorityProcessing)x.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete B.service_tier;let ne=(F=(z=(R=d==null?void 0:d.find((ce)=>ce.type==="provider"&&ce.id==="openai.shell"))==null?void 0:R.args)==null?void 0:z.environment)==null?void 0:F.type,xe=ne==="containerAuto"||ne==="containerReference";return{webSearchToolName:ee,args:{...B,tools:oe,tool_choice:be},warnings:[...x,...P],store:we,toolNameMapping:ae,providerOptionsName:q,isShellProviderExecuted:xe}}async doGenerate(e){var t,n,r,i,a,s,l,c,u,d,p,f,m,g,h,b,w,_,y,S,A,v,R,z,F,x,M,q,E,N,Q;let{args:ae,warnings:J,webSearchToolName:oe,toolNameMapping:be,providerOptionsName:P,isShellProviderExecuted:L}=await this.getArgs(e),se=this.config.url({path:"/responses",modelId:this.modelId}),T=I9(e.prompt),{responseHeaders:le,value:X,rawValue:re}=await St({url:se,headers:pt(this.config.headers(),e.headers),body:ae,failedResponseHandler:ua,successfulResponseHandler:ht(kOe),abortSignal:e.abortSignal,fetch:this.config.fetch});if(X.error)throw new Dt({message:X.error.message,url:se,requestBodyValues:ae,statusCode:400,responseHeaders:le,responseBody:re,isRetryable:!1});let de=[],ze=[],Ne=(n=(t=e.tools)==null?void 0:t.filter((ne)=>ne.type==="function"))!=null?n:[],We=!1,ee=[];for(let ne of X.output)switch(ne.type){case"reasoning":{if(ne.summary.length===0)ne.summary.push({type:"summary_text",text:""});for(let xe of ne.summary)de.push({type:"reasoning",text:xe.text,providerMetadata:{[P]:{itemId:ne.id,reasoningEncryptedContent:(r=ne.encrypted_content)!=null?r:null}}});break}case"image_generation_call":{de.push({type:"tool-call",toolCallId:ne.id,toolName:be.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),de.push({type:"tool-result",toolCallId:ne.id,toolName:be.toCustomToolName("image_generation"),result:{result:ne.result}});break}case"tool_search_call":{let xe=(i=ne.call_id)!=null?i:ne.id,ce=ne.execution==="server";if(ce)ee.push(xe);de.push({type:"tool-call",toolCallId:xe,toolName:be.toCustomToolName("tool_search"),input:JSON.stringify({arguments:ne.arguments,call_id:ne.call_id}),...ce?{providerExecuted:!0}:{},providerMetadata:{[P]:{itemId:ne.id}}});break}case"tool_search_output":{let xe=(s=(a=ne.call_id)!=null?a:ee.shift())!=null?s:ne.id;de.push({type:"tool-result",toolCallId:xe,toolName:be.toCustomToolName("tool_search"),result:{tools:ne.tools},providerMetadata:{[P]:{itemId:ne.id}}});break}case"local_shell_call":{de.push({type:"tool-call",toolCallId:ne.call_id,toolName:be.toCustomToolName("local_shell"),input:JSON.stringify({action:ne.action}),providerMetadata:{[P]:{itemId:ne.id}}});break}case"shell_call":{de.push({type:"tool-call",toolCallId:ne.call_id,toolName:be.toCustomToolName("shell"),input:JSON.stringify({action:{commands:ne.action.commands}}),...L&&{providerExecuted:!0},providerMetadata:{[P]:{itemId:ne.id}}});break}case"shell_call_output":{de.push({type:"tool-result",toolCallId:ne.call_id,toolName:be.toCustomToolName("shell"),result:{output:ne.output.map((xe)=>({stdout:xe.stdout,stderr:xe.stderr,outcome:xe.outcome.type==="exit"?{type:"exit",exitCode:xe.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let xe of ne.content){if(((c=(l=e.providerOptions)==null?void 0:l[P])==null?void 0:c.logprobs)&&xe.logprobs)ze.push(xe.logprobs);let ce={itemId:ne.id,...ne.phase!=null&&{phase:ne.phase},...xe.annotations.length>0&&{annotations:xe.annotations}};de.push({type:"text",text:xe.text,providerMetadata:{[P]:ce}});for(let ve of xe.annotations)if(ve.type==="url_citation")de.push({type:"source",sourceType:"url",id:(p=(d=(u=this.config).generateId)==null?void 0:d.call(u))!=null?p:$t(),url:ve.url,title:ve.title});else if(ve.type==="file_citation")de.push({type:"source",sourceType:"document",id:(g=(m=(f=this.config).generateId)==null?void 0:m.call(f))!=null?g:$t(),mediaType:"text/plain",title:ve.filename,filename:ve.filename,providerMetadata:{[P]:{type:ve.type,fileId:ve.file_id,index:ve.index}}});else if(ve.type==="container_file_citation")de.push({type:"source",sourceType:"document",id:(w=(b=(h=this.config).generateId)==null?void 0:b.call(h))!=null?w:$t(),mediaType:"text/plain",title:ve.filename,filename:ve.filename,providerMetadata:{[P]:{type:ve.type,fileId:ve.file_id,containerId:ve.container_id}}});else if(ve.type==="file_path")de.push({type:"source",sourceType:"document",id:(S=(y=(_=this.config).generateId)==null?void 0:y.call(_))!=null?S:$t(),mediaType:"application/octet-stream",title:ve.file_id,filename:ve.file_id,providerMetadata:{[P]:{type:ve.type,fileId:ve.file_id,index:ve.index}}})}break}case"function_call":{We=!0;let xe=await S9({toolCall:{toolCallId:ne.call_id,toolName:ne.name,input:ne.arguments},tools:Ne,providerOptionsName:P,itemId:ne.id});if(xe!=null){de.push(...xe);break}de.push({type:"tool-call",toolCallId:ne.call_id,toolName:ne.name,input:ne.arguments,providerMetadata:{[P]:{itemId:ne.id,...ne.async!=null&&{async:ne.async},...ne.namespace!=null&&{namespace:ne.namespace}}}});break}case"custom_tool_call":{We=!0;let xe=be.toCustomToolName(ne.name);de.push({type:"tool-call",toolCallId:ne.call_id,toolName:xe,input:JSON.stringify(ne.input),providerMetadata:{[P]:{itemId:ne.id,...ne.async!=null&&{async:ne.async}}}});break}case"web_search_call":{de.push({type:"tool-call",toolCallId:ne.id,toolName:be.toCustomToolName(oe!=null?oe:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),de.push({type:"tool-result",toolCallId:ne.id,toolName:be.toCustomToolName(oe!=null?oe:"web_search"),result:R9(ne.action)});break}case"mcp_call":{let xe=ne.approval_request_id!=null?(A=T[ne.approval_request_id])!=null?A:ne.id:ne.id,ce=`mcp.${ne.name}`;de.push({type:"tool-call",toolCallId:xe,toolName:ce,input:ne.arguments,providerExecuted:!0,dynamic:!0}),de.push({type:"tool-result",toolCallId:xe,toolName:ce,result:{type:"call",serverLabel:ne.server_label,name:ne.name,arguments:ne.arguments,...ne.output!=null?{output:ne.output}:{},...ne.error!=null?{error:ne.error}:{}},providerMetadata:{[P]:{itemId:ne.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let xe=(v=ne.approval_request_id)!=null?v:ne.id,ce=(F=(z=(R=this.config).generateId)==null?void 0:z.call(R))!=null?F:$t(),ve=`mcp.${ne.name}`;de.push({type:"tool-call",toolCallId:ce,toolName:ve,input:ne.arguments,providerExecuted:!0,dynamic:!0}),de.push({type:"tool-approval-request",approvalId:xe,toolCallId:ce});break}case"computer_call":{de.push({type:"tool-call",toolCallId:ne.id,toolName:be.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),de.push({type:"tool-result",toolCallId:ne.id,toolName:be.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:ne.status||"completed"}});break}case"file_search_call":{de.push({type:"tool-call",toolCallId:ne.id,toolName:be.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),de.push({type:"tool-result",toolCallId:ne.id,toolName:be.toCustomToolName("file_search"),result:{queries:ne.queries,results:(M=(x=ne.results)==null?void 0:x.map((xe)=>({attributes:xe.attributes,fileId:xe.file_id,filename:xe.filename,score:xe.score,text:xe.text})))!=null?M:null}});break}case"code_interpreter_call":{de.push({type:"tool-call",toolCallId:ne.id,toolName:be.toCustomToolName("code_interpreter"),input:JSON.stringify({code:ne.code,containerId:ne.container_id}),providerExecuted:!0}),de.push({type:"tool-result",toolCallId:ne.id,toolName:be.toCustomToolName("code_interpreter"),result:{outputs:ne.outputs}});break}case"apply_patch_call":{We=!0,de.push({type:"tool-call",toolCallId:ne.call_id,toolName:be.toCustomToolName("apply_patch"),input:JSON.stringify({callId:ne.call_id,operation:ne.operation}),providerMetadata:{[P]:{itemId:ne.id}}});break}}let we={[P]:{responseId:X.id,...ze.length>0?{logprobs:ze}:{},...typeof X.service_tier==="string"?{serviceTier:X.service_tier}:{},...((q=X.reasoning)==null?void 0:q.context)!=null?{reasoningContext:X.reasoning.context}:{}}},B=X.usage;return{content:de,finishReason:{unified:iO({finishReason:(E=X.incomplete_details)==null?void 0:E.reason,hasFunctionCall:We}),raw:(Q=(N=X.incomplete_details)==null?void 0:N.reason)!=null?Q:void 0},usage:g9(B),request:{body:ae},response:{id:X.id,timestamp:new Date(X.created_at*1000),modelId:X.model,headers:le,body:re},providerMetadata:we,warnings:J}}async doStream(e){var t,n;let{args:r,warnings:i,webSearchToolName:a,toolNameMapping:s,store:l,providerOptionsName:c,isShellProviderExecuted:u}=await this.getArgs(e),d=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:p,value:f}=await St({url:d,headers:pt(this.config.headers(),e.headers),body:{...r,stream:!0},failedResponseHandler:ua,successfulResponseHandler:Xr(EOe),abortSignal:e.abortSignal,fetch:this.config.fetch}),m=await bO({stream:f,getError:(ae)=>k9(ae)||C9(ae)&&ae.response.error!=null?ae:void 0,isOutputChunk:YOe,url:d,requestBodyValues:r,responseHeaders:p}),g=this,h=I9(e.prompt),b=(n=(t=e.tools)==null?void 0:t.filter((ae)=>ae.type==="function"))!=null?n:[],w=new Map,_={unified:"other",raw:void 0},y=void 0,S=[],A=null,v={},R=[],z,F=!1,x={},M,q,E=[],N=!1;return{stream:m.pipeThrough(new TransformStream({start(ae){ae.enqueue({type:"stream-start",warnings:i})},transform(ae,J){var oe,be,P,L,se,T,le,X,re,de,ze,Ne,We,ee,we,B,ne,xe,ce,ve,Z,D,Pe,Oe,ye,Ce,Ke,qe,K,te,he,pe,st,Ue,Tn,Nn,bn,fr,Ft,En,gr,on,mn,Pn,Xn;if(e.includeRawChunks)J.enqueue({type:"raw",rawValue:ae.rawValue});if(!ae.success){let ie=BOe(ae.rawValue)?FOe({value:ae.rawValue,cause:ae.error,url:d,requestBodyValues:r,responseHeaders:p}):ae.error;N=!0,_={unified:"error",raw:void 0},J.enqueue({type:"error",error:ie});return}let O=ae.value;if(E9(O)){if(O.item.type==="function_call"){let ie=mO({toolName:O.item.name,tools:b});if(v[O.output_index]={toolName:O.item.name,toolCallId:O.item.call_id,suppressInputStreaming:ie,bufferedInputDeltas:ie?[]:void 0,async:O.item.async},!ie)J.enqueue({type:"tool-input-start",id:O.item.call_id,toolName:O.item.name})}else if(O.item.type==="custom_tool_call"){let ie=s.toCustomToolName(O.item.name);v[O.output_index]={toolName:ie,toolCallId:O.item.call_id,async:O.item.async},J.enqueue({type:"tool-input-start",id:O.item.call_id,toolName:ie})}else if(O.item.type==="web_search_call")v[O.output_index]={toolName:s.toCustomToolName(a!=null?a:"web_search"),toolCallId:O.item.id},J.enqueue({type:"tool-input-start",id:O.item.id,toolName:s.toCustomToolName(a!=null?a:"web_search"),providerExecuted:!0}),J.enqueue({type:"tool-input-end",id:O.item.id}),J.enqueue({type:"tool-call",toolCallId:O.item.id,toolName:s.toCustomToolName(a!=null?a:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(O.item.type==="computer_call")v[O.output_index]={toolName:s.toCustomToolName("computer_use"),toolCallId:O.item.id},J.enqueue({type:"tool-input-start",id:O.item.id,toolName:s.toCustomToolName("computer_use"),providerExecuted:!0});else if(O.item.type==="code_interpreter_call")v[O.output_index]={toolName:s.toCustomToolName("code_interpreter"),toolCallId:O.item.id,codeInterpreter:{containerId:O.item.container_id}},J.enqueue({type:"tool-input-start",id:O.item.id,toolName:s.toCustomToolName("code_interpreter"),providerExecuted:!0}),J.enqueue({type:"tool-input-delta",id:O.item.id,delta:`{"containerId":"${O.item.container_id}","code":"`});else if(O.item.type==="file_search_call")J.enqueue({type:"tool-call",toolCallId:O.item.id,toolName:s.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(O.item.type==="image_generation_call")J.enqueue({type:"tool-call",toolCallId:O.item.id,toolName:s.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(O.item.type==="tool_search_call"){let ie=O.item.id,fe=s.toCustomToolName("tool_search"),Ge=O.item.execution==="server";if(v[O.output_index]={toolName:fe,toolCallId:ie,toolSearchExecution:(oe=O.item.execution)!=null?oe:"server"},Ge)J.enqueue({type:"tool-input-start",id:ie,toolName:fe,providerExecuted:!0})}else if(O.item.type==="tool_search_output");else if(O.item.type==="mcp_call"||O.item.type==="mcp_list_tools"||O.item.type==="mcp_approval_request");else if(O.item.type==="apply_patch_call"){let{call_id:ie,operation:fe}=O.item;if(v[O.output_index]={toolName:s.toCustomToolName("apply_patch"),toolCallId:ie,applyPatch:{hasDiff:fe.type==="delete_file",endEmitted:fe.type==="delete_file"}},J.enqueue({type:"tool-input-start",id:ie,toolName:s.toCustomToolName("apply_patch")}),fe.type==="delete_file"){let Ge=JSON.stringify({callId:ie,operation:fe});J.enqueue({type:"tool-input-delta",id:ie,delta:Ge}),J.enqueue({type:"tool-input-end",id:ie})}else J.enqueue({type:"tool-input-delta",id:ie,delta:`{"callId":"${Au(ie)}","operation":{"type":"${Au(fe.type)}","path":"${Au(fe.path)}","diff":"`})}else if(O.item.type==="shell_call")v[O.output_index]={toolName:s.toCustomToolName("shell"),toolCallId:O.item.call_id};else if(O.item.type==="shell_call_output");else if(O.item.type==="message")R.splice(0),z=(be=O.item.phase)!=null?be:void 0,J.enqueue({type:"text-start",id:O.item.id,providerMetadata:{[c]:{itemId:O.item.id,...O.item.phase!=null&&{phase:O.item.phase}}}});else if(E9(O)&&O.item.type==="reasoning")x[O.item.id]={encryptedContent:O.item.encrypted_content,summaryParts:{0:"active"}},J.enqueue({type:"reasoning-start",id:`${O.item.id}:0`,providerMetadata:{[c]:{itemId:O.item.id,reasoningEncryptedContent:(P=O.item.encrypted_content)!=null?P:null}}})}else if(LOe(O)){if(O.item.type==="message"){let ie=(L=O.item.phase)!=null?L:z;z=void 0,J.enqueue({type:"text-end",id:O.item.id,providerMetadata:{[c]:{itemId:O.item.id,...ie!=null&&{phase:ie},...R.length>0&&{annotations:R}}}})}else if(O.item.type==="function_call"){let ie=O.item,fe=v[O.output_index];v[O.output_index]=void 0,F=!0;let Ge=(se=fe==null?void 0:fe.suppressInputStreaming)!=null?se:mO({toolName:ie.name,tools:b}),zn=()=>{var lt;if(Ge){J.enqueue({type:"tool-input-start",id:ie.call_id,toolName:ie.name});let rt=(lt=fe==null?void 0:fe.bufferedInputDeltas)!=null?lt:[];if(rt.length>0)for(let oi of rt)J.enqueue({type:"tool-input-delta",id:ie.call_id,delta:oi});else if(ie.arguments.length>0)J.enqueue({type:"tool-input-delta",id:ie.call_id,delta:ie.arguments})}J.enqueue({type:"tool-input-end",id:ie.call_id,...ie.namespace!=null&&{providerMetadata:{[c]:{namespace:ie.namespace}}}}),J.enqueue({type:"tool-call",toolCallId:ie.call_id,toolName:ie.name,input:ie.arguments,providerMetadata:{[c]:{itemId:ie.id,...ie.async!=null?{async:ie.async}:(fe==null?void 0:fe.async)!=null?{async:fe.async}:{},...ie.namespace!=null&&{namespace:ie.namespace}}}})};if(!Ge){zn();return}return S9({toolCall:{toolCallId:ie.call_id,toolName:ie.name,input:ie.arguments},tools:b,providerOptionsName:c,itemId:ie.id}).then((lt)=>{if(lt==null){zn();return}for(let rt of lt)J.enqueue({type:"tool-input-start",id:rt.toolCallId,toolName:rt.toolName}),J.enqueue({type:"tool-input-delta",id:rt.toolCallId,delta:rt.input}),J.enqueue({type:"tool-input-end",id:rt.toolCallId}),J.enqueue(rt)})}else if(O.item.type==="custom_tool_call"){let ie=v[O.output_index];v[O.output_index]=void 0,F=!0;let fe=s.toCustomToolName(O.item.name);J.enqueue({type:"tool-input-end",id:O.item.call_id}),J.enqueue({type:"tool-call",toolCallId:O.item.call_id,toolName:fe,input:JSON.stringify(O.item.input),providerMetadata:{[c]:{itemId:O.item.id,...O.item.async!=null?{async:O.item.async}:(ie==null?void 0:ie.async)!=null?{async:ie.async}:{}}}})}else if(O.item.type==="web_search_call")v[O.output_index]=void 0,J.enqueue({type:"tool-result",toolCallId:O.item.id,toolName:s.toCustomToolName(a!=null?a:"web_search"),result:R9(O.item.action)});else if(O.item.type==="computer_call")v[O.output_index]=void 0,J.enqueue({type:"tool-input-end",id:O.item.id}),J.enqueue({type:"tool-call",toolCallId:O.item.id,toolName:s.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),J.enqueue({type:"tool-result",toolCallId:O.item.id,toolName:s.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:O.item.status||"completed"}});else if(O.item.type==="file_search_call")v[O.output_index]=void 0,J.enqueue({type:"tool-result",toolCallId:O.item.id,toolName:s.toCustomToolName("file_search"),result:{queries:O.item.queries,results:(le=(T=O.item.results)==null?void 0:T.map((ie)=>({attributes:ie.attributes,fileId:ie.file_id,filename:ie.filename,score:ie.score,text:ie.text})))!=null?le:null}});else if(O.item.type==="code_interpreter_call")v[O.output_index]=void 0,J.enqueue({type:"tool-result",toolCallId:O.item.id,toolName:s.toCustomToolName("code_interpreter"),result:{outputs:O.item.outputs}});else if(O.item.type==="image_generation_call")J.enqueue({type:"tool-result",toolCallId:O.item.id,toolName:s.toCustomToolName("image_generation"),result:{result:O.item.result}});else if(O.item.type==="tool_search_call"){let ie=v[O.output_index],fe=O.item.execution==="server";if(ie!=null){let Ge=fe?ie.toolCallId:(X=O.item.call_id)!=null?X:O.item.id;if(fe)E.push(Ge);else J.enqueue({type:"tool-input-start",id:Ge,toolName:ie.toolName});J.enqueue({type:"tool-input-end",id:Ge}),J.enqueue({type:"tool-call",toolCallId:Ge,toolName:ie.toolName,input:JSON.stringify({arguments:O.item.arguments,call_id:fe?null:Ge}),...fe?{providerExecuted:!0}:{},providerMetadata:{[c]:{itemId:O.item.id}}})}v[O.output_index]=void 0}else if(O.item.type==="tool_search_output"){let ie=(de=(re=O.item.call_id)!=null?re:E.shift())!=null?de:O.item.id;J.enqueue({type:"tool-result",toolCallId:ie,toolName:s.toCustomToolName("tool_search"),result:{tools:O.item.tools},providerMetadata:{[c]:{itemId:O.item.id}}})}else if(O.item.type==="mcp_call"){v[O.output_index]=void 0;let ie=(ze=O.item.approval_request_id)!=null?ze:void 0,fe=ie!=null?(We=(Ne=w.get(ie))!=null?Ne:h[ie])!=null?We:O.item.id:O.item.id,Ge=`mcp.${O.item.name}`;J.enqueue({type:"tool-call",toolCallId:fe,toolName:Ge,input:O.item.arguments,providerExecuted:!0,dynamic:!0}),J.enqueue({type:"tool-result",toolCallId:fe,toolName:Ge,result:{type:"call",serverLabel:O.item.server_label,name:O.item.name,arguments:O.item.arguments,...O.item.output!=null?{output:O.item.output}:{},...O.item.error!=null?{error:O.item.error}:{}},providerMetadata:{[c]:{itemId:O.item.id}}})}else if(O.item.type==="mcp_list_tools")v[O.output_index]=void 0;else if(O.item.type==="apply_patch_call"){let ie=v[O.output_index];if((ie==null?void 0:ie.applyPatch)&&!ie.applyPatch.endEmitted&&O.item.operation.type!=="delete_file"){if(!ie.applyPatch.hasDiff)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:Au(O.item.operation.diff)});J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:'"}}'}),J.enqueue({type:"tool-input-end",id:ie.toolCallId}),ie.applyPatch.endEmitted=!0}if(ie&&O.item.status==="completed")F=!0,J.enqueue({type:"tool-call",toolCallId:ie.toolCallId,toolName:s.toCustomToolName("apply_patch"),input:JSON.stringify({callId:O.item.call_id,operation:O.item.operation}),providerMetadata:{[c]:{itemId:O.item.id}}});v[O.output_index]=void 0}else if(O.item.type==="mcp_approval_request"){v[O.output_index]=void 0;let ie=(B=(we=(ee=g.config).generateId)==null?void 0:we.call(ee))!=null?B:$t(),fe=(ne=O.item.approval_request_id)!=null?ne:O.item.id;w.set(fe,ie);let Ge=`mcp.${O.item.name}`;J.enqueue({type:"tool-call",toolCallId:ie,toolName:Ge,input:O.item.arguments,providerExecuted:!0,dynamic:!0}),J.enqueue({type:"tool-approval-request",approvalId:fe,toolCallId:ie})}else if(O.item.type==="local_shell_call")v[O.output_index]=void 0,J.enqueue({type:"tool-call",toolCallId:O.item.call_id,toolName:s.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:O.item.action.command,timeoutMs:O.item.action.timeout_ms,user:O.item.action.user,workingDirectory:O.item.action.working_directory,env:O.item.action.env}}),providerMetadata:{[c]:{itemId:O.item.id}}});else if(O.item.type==="shell_call")v[O.output_index]=void 0,J.enqueue({type:"tool-call",toolCallId:O.item.call_id,toolName:s.toCustomToolName("shell"),input:JSON.stringify({action:{commands:O.item.action.commands}}),...u&&{providerExecuted:!0},providerMetadata:{[c]:{itemId:O.item.id}}});else if(O.item.type==="shell_call_output")J.enqueue({type:"tool-result",toolCallId:O.item.call_id,toolName:s.toCustomToolName("shell"),result:{output:O.item.output.map((ie)=>({stdout:ie.stdout,stderr:ie.stderr,outcome:ie.outcome.type==="exit"?{type:"exit",exitCode:ie.outcome.exit_code}:{type:"timeout"}}))}});else if(O.item.type==="reasoning"){let ie=x[O.item.id],fe=Object.entries(ie.summaryParts).filter(([Ge,zn])=>zn==="active"||zn==="can-conclude").map(([Ge])=>Ge);for(let Ge of fe)J.enqueue({type:"reasoning-end",id:`${O.item.id}:${Ge}`,providerMetadata:{[c]:{itemId:O.item.id,reasoningEncryptedContent:(xe=O.item.encrypted_content)!=null?xe:null}}});delete x[O.item.id]}}else if(ZOe(O)){let ie=v[O.output_index];if(ie!=null)if(ie.suppressInputStreaming)(ce=ie.bufferedInputDeltas)==null||ce.push(O.delta);else J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:O.delta})}else if(WOe(O)){let ie=v[O.output_index];if(ie!=null)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:O.delta})}else if(HOe(O)){let ie=v[O.output_index];if(ie==null?void 0:ie.applyPatch)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:Au(O.delta)}),ie.applyPatch.hasDiff=!0}else if(KOe(O)){let ie=v[O.output_index];if((ie==null?void 0:ie.applyPatch)&&!ie.applyPatch.endEmitted){if(!ie.applyPatch.hasDiff)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:Au(O.diff)}),ie.applyPatch.hasDiff=!0;J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:'"}}'}),J.enqueue({type:"tool-input-end",id:ie.toolCallId}),ie.applyPatch.endEmitted=!0}}else if(GOe(O))J.enqueue({type:"tool-result",toolCallId:O.item_id,toolName:s.toCustomToolName("image_generation"),result:{result:O.partial_image_b64},preliminary:!0});else if(JOe(O)){let ie=v[O.output_index];if(ie!=null)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:Au(O.delta)})}else if(VOe(O)){let ie=v[O.output_index];if(ie!=null)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:'"}'}),J.enqueue({type:"tool-input-end",id:ie.toolCallId}),J.enqueue({type:"tool-call",toolCallId:ie.toolCallId,toolName:s.toCustomToolName("code_interpreter"),input:JSON.stringify({code:O.code,containerId:ie.codeInterpreter.containerId}),providerExecuted:!0})}else if(UOe(O))A=O.response.id,J.enqueue({type:"response-metadata",id:O.response.id,timestamp:new Date(O.response.created_at*1000),modelId:O.response.model});else if(zOe(O)){if(J.enqueue({type:"text-delta",id:O.item_id,delta:O.delta}),((Z=(ve=e.providerOptions)==null?void 0:ve[c])==null?void 0:Z.logprobs)&&O.logprobs)S.push(O.logprobs)}else if(O.type==="response.reasoning_summary_part.added"){if(O.summary_index>0){let ie=x[O.item_id];ie.summaryParts[O.summary_index]="active";for(let fe of Object.keys(ie.summaryParts))if(ie.summaryParts[fe]==="can-conclude")J.enqueue({type:"reasoning-end",id:`${O.item_id}:${fe}`,providerMetadata:{[c]:{itemId:O.item_id}}}),ie.summaryParts[fe]="concluded";J.enqueue({type:"reasoning-start",id:`${O.item_id}:${O.summary_index}`,providerMetadata:{[c]:{itemId:O.item_id,reasoningEncryptedContent:(Pe=(D=x[O.item_id])==null?void 0:D.encryptedContent)!=null?Pe:null}}})}}else if(O.type==="response.reasoning_summary_text.delta")J.enqueue({type:"reasoning-delta",id:`${O.item_id}:${O.summary_index}`,delta:O.delta,providerMetadata:{[c]:{itemId:O.item_id}}});else if(O.type==="response.reasoning_summary_part.done")if(l)J.enqueue({type:"reasoning-end",id:`${O.item_id}:${O.summary_index}`,providerMetadata:{[c]:{itemId:O.item_id}}}),x[O.item_id].summaryParts[O.summary_index]="concluded";else x[O.item_id].summaryParts[O.summary_index]="can-conclude";else if($Oe(O)){if(!N)_={unified:iO({finishReason:(Oe=O.response.incomplete_details)==null?void 0:Oe.reason,hasFunctionCall:F}),raw:(Ce=(ye=O.response.incomplete_details)==null?void 0:ye.reason)!=null?Ce:void 0};if(y=(Ke=O.response.usage)!=null?Ke:void 0,typeof O.response.service_tier==="string")M=O.response.service_tier;if(((qe=O.response.reasoning)==null?void 0:qe.context)!=null)q=O.response.reasoning.context}else if(C9(O)){let ie=(K=O.response.incomplete_details)==null?void 0:K.reason;if(_={unified:ie?iO({finishReason:ie,hasFunctionCall:F}):"error",raw:ie!=null?ie:"error"},y=(te=O.response.usage)!=null?te:void 0,((he=O.response.reasoning)==null?void 0:he.context)!=null)q=O.response.reasoning.context;if(!N&&O.response.error!=null){N=!0;let fe={type:"response.failed",sequence_number:O.sequence_number,response:{error:O.response.error,incomplete_details:O.response.incomplete_details,service_tier:O.response.service_tier}};J.enqueue({type:"error",error:(pe=o9(fe))!=null?pe:fe})}}else if(QOe(O)){if(R.push(O.annotation),O.annotation.type==="url_citation")J.enqueue({type:"source",sourceType:"url",id:(Tn=(Ue=(st=g.config).generateId)==null?void 0:Ue.call(st))!=null?Tn:$t(),url:O.annotation.url,title:O.annotation.title});else if(O.annotation.type==="file_citation")J.enqueue({type:"source",sourceType:"document",id:(fr=(bn=(Nn=g.config).generateId)==null?void 0:bn.call(Nn))!=null?fr:$t(),mediaType:"text/plain",title:O.annotation.filename,filename:O.annotation.filename,providerMetadata:{[c]:{type:O.annotation.type,fileId:O.annotation.file_id,index:O.annotation.index}}});else if(O.annotation.type==="container_file_citation")J.enqueue({type:"source",sourceType:"document",id:(gr=(En=(Ft=g.config).generateId)==null?void 0:En.call(Ft))!=null?gr:$t(),mediaType:"text/plain",title:O.annotation.filename,filename:O.annotation.filename,providerMetadata:{[c]:{type:O.annotation.type,fileId:O.annotation.file_id,containerId:O.annotation.container_id}}});else if(O.annotation.type==="file_path")J.enqueue({type:"source",sourceType:"document",id:(Pn=(mn=(on=g.config).generateId)==null?void 0:mn.call(on))!=null?Pn:$t(),mediaType:"application/octet-stream",title:O.annotation.file_id,filename:O.annotation.file_id,providerMetadata:{[c]:{type:O.annotation.type,fileId:O.annotation.file_id,index:O.annotation.index}}})}else if(k9(O))N=!0,_={unified:"error",raw:"error"},J.enqueue({type:"error",error:(Xn=o9(O))!=null?Xn:O})},flush(ae){var J;for(let be of Object.values(v)){if(!(be==null?void 0:be.suppressInputStreaming))continue;ae.enqueue({type:"tool-input-start",id:be.toolCallId,toolName:be.toolName});for(let P of(J=be.bufferedInputDeltas)!=null?J:[])ae.enqueue({type:"tool-input-delta",id:be.toolCallId,delta:P})}let oe={[c]:{responseId:A,...S.length>0?{logprobs:S}:{},...M!==void 0?{serviceTier:M}:{},...q!==void 0?{reasoningContext:q}:{}}};ae.enqueue({type:"finish",finishReason:_,usage:g9(y),providerMetadata:oe})}})),request:{body:r},response:{headers:p}}}};function zOe(e){return e.type==="response.output_text.delta"}function BOe(e){let t=qOe(e);return t!=null&&Array.isArray(t.choices)&&typeof t.type!=="string"}function FOe({value:e,cause:t,url:n,requestBodyValues:r,responseHeaders:i}){return new Dt({message:"Received a Chat Completions stream while using the OpenAI Responses API. The default OpenAI provider model uses the Responses API. If your custom baseURL targets a Chat Completions-compatible endpoint, use openai.chat('model-id') or createOpenAI(...).chat('model-id') instead. You can also use @ai-sdk/openai-compatible for OpenAI-compatible providers.",url:n,requestBodyValues:r,responseHeaders:i,responseBody:JSON.stringify(e),cause:t,data:e,isRetryable:!1})}function qOe(e){return typeof e==="object"&&e!=null?e:void 0}function LOe(e){return e.type==="response.output_item.done"}function $Oe(e){return e.type==="response.completed"||e.type==="response.incomplete"}function C9(e){return e.type==="response.failed"}function UOe(e){return e.type==="response.created"}function ZOe(e){return e.type==="response.function_call_arguments.delta"}function WOe(e){return e.type==="response.custom_tool_call_input.delta"}function GOe(e){return e.type==="response.image_generation_call.partial_image"}function JOe(e){return e.type==="response.code_interpreter_call_code.delta"}function VOe(e){return e.type==="response.code_interpreter_call_code.done"}function HOe(e){return e.type==="response.apply_patch_call_operation_diff.delta"}function KOe(e){return e.type==="response.apply_patch_call_operation_diff.done"}function E9(e){return e.type==="response.output_item.added"}function QOe(e){return e.type==="response.output_text.annotation.added"}function k9(e){return e.type==="error"}function YOe(e){return!(e.type==="response.created"||e.type==="response.failed"||e.type==="error"||e.type==="unknown_chunk")}function R9(e){var t;if(e==null)return{};switch(e.type){case"search":return{action:{type:"search",query:(t=e.query)!=null?t:void 0,...e.queries!=null&&{queries:e.queries}},...e.sources!=null&&{sources:e.sources}};case"open_page":return{action:{type:"openPage",url:e.url}};case"find_in_page":return{action:{type:"findInPage",url:e.url,pattern:e.pattern}}}}function Au(e){return JSON.stringify(e).slice(1,-1)}var XOe=G(()=>W(o.object({instructions:o.string().nullish(),speed:o.number().min(0.25).max(4).default(1).nullish()}))),eMe=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:e,voice:t="alloy",outputFormat:n="mp3",speed:r,instructions:i,language:a,providerOptions:s}){let l=[],c=await Pt({provider:"openai",providerOptions:s,schema:XOe}),u={model:this.modelId,input:e,voice:t,response_format:"mp3",speed:r,instructions:i};if(n)if(["mp3","opus","aac","flac","wav","pcm"].includes(n))u.response_format=n;else l.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${n}. Using mp3 instead.`});if(c){let d={};for(let p in d){let f=d[p];if(f!==void 0)u[p]=f}}if(a)l.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`});return{requestBody:u,warnings:l}}async doGenerate(e){var t,n,r;let i=(r=(n=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:n.call(t))!=null?r:new Date,{requestBody:a,warnings:s}=await this.getArgs(e),{value:l,responseHeaders:c,rawValue:u}=await St({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:pt(this.config.headers(),e.headers),body:a,failedResponseHandler:ua,successfulResponseHandler:AH(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:l,warnings:s,request:{body:JSON.stringify(a)},response:{timestamp:i,modelId:this.modelId,headers:c,body:u}}}},tMe=G(()=>W(o.object({text:o.string(),language:o.string().nullish(),duration:o.number().nullish(),words:o.array(o.object({word:o.string(),start:o.number(),end:o.number()})).nullish(),segments:o.array(o.object({id:o.number(),seek:o.number(),start:o.number(),end:o.number(),text:o.string(),tokens:o.array(o.number()),temperature:o.number(),avg_logprob:o.number(),compression_ratio:o.number(),no_speech_prob:o.number()})).nullish()}))),nMe=G(()=>W(o.object({include:o.array(o.string()).optional(),language:o.string().optional(),prompt:o.string().optional(),temperature:o.number().min(0).max(1).default(0).optional(),timestampGranularities:o.array(o.enum(["word","segment"])).default(["segment"]).optional()}))),A9={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"},rMe=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await Pt({provider:"openai",providerOptions:n,schema:nMe}),a=new FormData,s=e instanceof Uint8Array?new Blob([e]):new Blob([Lr(e)]);a.append("model",this.modelId);let l=xH(t);if(a.append("file",new File([s],"audio",{type:t}),`audio.${l}`),i){let c={include:i.include,language:i.language,prompt:i.prompt,response_format:["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId)?"json":"verbose_json",temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[u,d]of Object.entries(c))if(d!=null)if(Array.isArray(d))for(let p of d)a.append(`${u}[]`,String(p));else a.append(u,String(d))}return{formData:a,warnings:r}}async doGenerate(e){var t,n,r,i,a,s,l,c;let u=(r=(n=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:n.call(t))!=null?r:new Date,{formData:d,warnings:p}=await this.getArgs(e),{value:f,responseHeaders:m,rawValue:g}=await Ox({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:pt(this.config.headers(),e.headers),formData:d,failedResponseHandler:ua,successfulResponseHandler:ht(tMe),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=f.language!=null&&f.language in A9?A9[f.language]:void 0;return{text:f.text,segments:(l=(s=(i=f.segments)==null?void 0:i.map((b)=>({text:b.text,startSecond:b.start,endSecond:b.end})))!=null?s:(a=f.words)==null?void 0:a.map((b)=>({text:b.word,startSecond:b.start,endSecond:b.end})))!=null?l:[],language:h,durationInSeconds:(c=f.duration)!=null?c:void 0,warnings:p,response:{timestamp:u,modelId:this.modelId,headers:m,body:g}}}},oMe="3.0.125";function Kp(e={}){var t,n;let r=(t=Wl(Va({settingValue:e.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))!=null?t:"https://api.openai.com/v1",i=(n=e.name)!=null?n:"openai",a=()=>Yn({Authorization:`Bearer ${Fp({apiKey:e.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${oMe}`),s=(h)=>new d0e(h,{provider:`${i}.chat`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),l=(h)=>new h0e(h,{provider:`${i}.completion`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),c=(h)=>new S0e(h,{provider:`${i}.embedding`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),u=(h)=>new E0e(h,{provider:`${i}.image`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),d=(h)=>new rMe(h,{provider:`${i}.transcription`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),p=(h)=>new eMe(h,{provider:`${i}.speech`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),f=(h)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return m(h)},m=(h)=>new NOe(h,{provider:`${i}.responses`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch,fileIdPrefixes:["file-"]}),g=function(h){return f(h)};return g.specificationVersion="v3",g.languageModel=f,g.chat=s,g.completion=l,g.responses=m,g.embedding=c,g.embeddingModel=c,g.textEmbedding=c,g.textEmbeddingModel=c,g.image=u,g.imageModel=u,g.transcription=d,g.transcriptionModel=d,g.speech=p,g.speechModel=p,g.tools=fOe,g}var IEt=Kp();var iMe=G(()=>W(o.object({error:o.object({code:o.number().nullable(),message:o.string(),status:o.string(),details:o.array(o.unknown()).nullish()})}))),ri=yn({errorSchema:iMe,errorToMessage:(e)=>e.error.message}),aMe=o.object({languageCodes:o.array(o.string()).optional(),customVocabulary:o.array(o.string()).optional(),wordTimestamp:o.boolean().optional(),diarization:o.boolean().optional(),mode:o.enum(["SMART","VERBATIM"]).optional()});function sMe(e){return e.includes("-live")}var lMe=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async parseOptions(e){return Pt({provider:"google",providerOptions:e,schema:aMe})}async doGenerate(e){var t,n,r,i,a,s;if(sMe(this.modelId))throw new ql({argument:"modelId",message:`Model '${this.modelId}' only supports streaming transcription, which requires AI SDK v7. Use a unary model such as 'gemini-3.5-transcribe'.`});let l=(r=(n=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:n.call(t))!=null?r:new Date,c=[],u=await this.parseOptions(e.providerOptions),d=cMe(u),p={model:this.modelId,input:[{type:"audio",data:or(e.audio),mime_type:e.mediaType}],...d!=null?{generation_config:{transcription_config:d}}:{}},{value:f,responseHeaders:m,rawValue:g}=await St({url:`${this.config.baseURL}/interactions`,headers:pt(this.config.headers?await mt(this.config.headers):void 0,e.headers),body:p,failedResponseHandler:ri,successfulResponseHandler:ht(dMe),abortSignal:e.abortSignal,fetch:this.config.fetch}),h="",b=[];for(let w of(i=f.steps)!=null?i:[])for(let _ of(a=w.content)!=null?a:[]){if(_.type!=="text"||_.text==null)continue;h+=_.text;for(let y of(s=_.annotations)!=null?s:[]){if(y.type!=="word_info")continue;let S=W9(y.start_offset),A=W9(y.end_offset);if(y.text==null||S==null||A==null)continue;b.push({text:y.text,startSecond:S,endSecond:A})}}return{text:h,segments:b,language:void 0,durationInSeconds:void 0,warnings:c,response:{timestamp:l,modelId:this.modelId,headers:m,body:g},...f.usage!=null?{providerMetadata:{google:{usage:f.usage}}}:{}}}};function cMe(e){var t;if(e==null)return;let n={};if(e.languageCodes!=null)n.language_codes=e.languageCodes;if(e.customVocabulary!=null)n.custom_vocabulary=e.customVocabulary;if(e.mode!=null||e.diarization===!0||e.wordTimestamp===!0)n.mode={type:((t=e.mode)!=null?t:"VERBATIM").toLowerCase(),...e.diarization===!0?{diarization_mode:"speaker"}:{},...e.wordTimestamp===!0?{timestamp_granularities:["word"]}:{}};return Object.keys(n).length>0?n:void 0}function W9(e){if(e==null)return;let t=Number.parseFloat(e);return Number.isFinite(t)?t:void 0}var uMe=o.object({type:o.string().nullish(),text:o.string().nullish(),speaker:o.string().nullish(),start_offset:o.string().nullish(),end_offset:o.string().nullish()}),dMe=o.object({status:o.string().nullish(),steps:o.array(o.object({type:o.string().nullish(),content:o.array(o.object({type:o.string().nullish(),text:o.string().nullish(),annotations:o.array(uMe).nullish()})).nullish()})).nullish(),usage:o.record(o.string(),o.unknown()).nullish()}),pMe="3.0.131",mMe=o.union([o.object({text:o.string()}),o.object({inlineData:o.object({mimeType:o.string(),data:o.string()})}),o.object({fileData:o.object({fileUri:o.string(),mimeType:o.string()})})]),fMe=G(()=>W(o.object({outputDimensionality:o.number().optional(),taskType:o.enum(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:o.array(o.array(mMe).min(1).nullable()).optional()}))),u8;u8=Ax;var gMe=class{constructor(e,t){this.specificationVersion="v3",this.maxEmbeddingsPerCall=100,this.supportsParallelCalls=!0,this[u8]=({providerOptions:n,values:r,startIndex:i,endIndex:a})=>{var s;let l=(s=n==null?void 0:n.google)==null?void 0:s.content;if(!Array.isArray(l))return n;return G9({multimodalContent:l,values:r}),{...n,google:{...n==null?void 0:n.google,content:l.slice(i,a)}}},this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){let i=await Pt({provider:"google",providerOptions:r,schema:fMe});if(e.length>this.maxEmbeddingsPerCall)throw new gx({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=pt(await mt(this.config.headers),t),s=i==null?void 0:i.content;if(G9({multimodalContent:s,values:e}),e.length===1){let d=s==null?void 0:s[0],p=e[0]?[{text:e[0]}]:[],f=d!=null?[...p,...d]:[{text:e[0]}],{responseHeaders:m,value:g,rawValue:h}=await St({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:a,body:{model:`models/${this.modelId}`,content:{parts:f},outputDimensionality:i==null?void 0:i.outputDimensionality,taskType:i==null?void 0:i.taskType},failedResponseHandler:ri,successfulResponseHandler:ht(yMe),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:[g.embedding.values],usage:void 0,response:{headers:m,body:h}}}let{responseHeaders:l,value:c,rawValue:u}=await St({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:a,body:{requests:e.map((d,p)=>{let f=s==null?void 0:s[p],m=d?[{text:d}]:[];return{model:`models/${this.modelId}`,content:{role:"user",parts:f!=null?[...m,...f]:[{text:d}]},outputDimensionality:i==null?void 0:i.outputDimensionality,taskType:i==null?void 0:i.taskType}})},failedResponseHandler:ri,successfulResponseHandler:ht(hMe),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:c.embeddings.map((d)=>d.values),usage:void 0,response:{headers:l,body:u}}}},hMe=G(()=>W(o.object({embeddings:o.array(o.object({values:o.array(o.number())}))}))),yMe=G(()=>W(o.object({embedding:o.object({values:o.array(o.number())})})));function G9({multimodalContent:e,values:t}){if(e!=null&&e.length!==t.length)throw Error(`The number of multimodal content entries (${e.length}) must match the number of values (${t.length}).`)}function J9(e){var t,n,r,i;if(e==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 a=(t=e.promptTokenCount)!=null?t:0,s=(n=e.candidatesTokenCount)!=null?n:0,l=(r=e.cachedContentTokenCount)!=null?r:0,c=(i=e.thoughtsTokenCount)!=null?i:0;return{inputTokens:{total:a,noCache:a-l,cacheRead:l,cacheWrite:void 0},outputTokens:{total:s+c,text:s,reasoning:c},raw:e}}var d8="recursive JSON Schema reference:";function bMe(e){return Nt.isInstance(e)&&e.functionality.startsWith(d8)}function p8(e,t=!0){let n=typeof e==="object"?e:void 0;return Ya(e,t,{definitions:n==null?void 0:n.definitions,dollarDefinitions:n==null?void 0:n.$defs,resolvingReferences:new Set})}function Ya(e,t,n){if(e==null)return;if(typeof e==="boolean")return{type:"boolean",properties:{}};if(e.$ref!=null)return xMe({jsonSchema:e,reference:e.$ref,isRoot:t,referenceContext:n});if(TMe(e)){if(t)return;if(e.description)return{type:"object",description:e.description};return{type:"object"}}let{type:r,description:i,required:a,properties:s,items:l,allOf:c,anyOf:u,oneOf:d,format:p,const:f,minLength:m,enum:g}=e,h={};if(i)h.description=i;if(a)h.required=a;if(p)h.format=p;if(r)if(Array.isArray(r)){let w=r.includes("null"),_=r.filter((y)=>y!=="null");if(_.length===0)h.type="null";else if(h.anyOf=_.map((y)=>({type:y})),w)h.nullable=!0}else h.type=r;let b=g!=null?g:f!==void 0?[f]:void 0;if(b!==void 0)vMe({values:b,type:r,result:h});if(s!=null)h.properties=Object.entries(s).reduce((w,[_,y])=>(w[_]=Ya(y,!1,n),w),{});if(l)h.items=Array.isArray(l)?l.map((w)=>Ya(w,!1,n)):Ya(l,!1,n);if(c)h.allOf=c.map((w)=>Ya(w,!1,n));if(u)if(u.some((w)=>typeof w==="object"&&(w==null?void 0:w.type)==="null")){let w=u.filter((_)=>!(typeof _==="object"&&(_==null?void 0:_.type)==="null"));if(w.length===1){let _=Ya(w[0],!1,n);if(typeof _==="object")h.nullable=!0,Object.assign(h,_)}else h.anyOf=w.map((_)=>Ya(_,!1,n)),h.nullable=!0}else h.anyOf=u.map((w)=>Ya(w,!1,n));if(d)h.oneOf=d.map((w)=>Ya(w,!1,n));if(m!==void 0)h.minLength=m;return h}function vMe({values:e,type:t,result:n}){let r=Array.isArray(t)&&t.includes("null")||t===void 0&&e.includes(null),i=r?e.filter((s)=>s!==null):e;if(e.length>0&&e.every((s)=>s===null)){if(t===void 0||t==="null"||Array.isArray(t)&&t.includes("null")){if(n.type="null",Array.isArray(t))delete n.anyOf;return}}let a=SMe({values:i,type:t});if(a===void 0)throw new Nt({functionality:"JSON Schema enum with mixed or unsupported values",message:"Google does not support this JSON Schema enum. Enum values must share one supported primitive type and match the schema type."});if(n.type=a,Array.isArray(t))delete n.anyOf;if(r)n.nullable=!0;if(a==="string")n.enum=i;else n.format="enum",n.enum=i.map(String)}function SMe({values:e,type:t}){if(e.length===0)return;let n=(r)=>t===void 0||t===r||Array.isArray(t)&&t.includes(r);if(n("string")&&e.every((r)=>typeof r==="string"))return"string";if((n("number")||n("integer"))&&e.every((r)=>typeof r==="number"&&Number.isFinite(r))){if(n("number"))return"number";if(e.every((r)=>Number.isInteger(r)))return"integer"}if(n("boolean")&&e.every((r)=>typeof r==="boolean"))return"boolean";return}function xMe({jsonSchema:e,reference:t,isRoot:n,referenceContext:r}){let{definition:i,referenceKey:a}=wMe(t,r);if(r.resolvingReferences.has(a))throw new Nt({functionality:`${d8} ${t}`,message:"Google schema conversion does not support recursive JSON Schema references."});let s=new Set(r.resolvingReferences);s.add(a);let{$ref:l,...c}=e,u=typeof i==="boolean"?i?c:!1:{...i,...c};return Ya(u,n,{...r,resolvingReferences:s})}function wMe(e,t){let r=[{prefix:"#/$defs/",definitions:t.dollarDefinitions},{prefix:"#/definitions/",definitions:t.definitions}].find(({prefix:l})=>e.startsWith(l)),i=r?e.slice(r.prefix.length):void 0;if(r==null||i==null||i.length===0||i.includes("/"))rw(e);let a;try{a=decodeURIComponent(i)}catch(l){rw(e)}if(a.includes("/")||/~(?![01])/u.test(a)||r.definitions==null)rw(e);let s=a.replace(/~[01]/g,(l)=>l==="~1"?"/":"~");if(!Object.prototype.hasOwnProperty.call(r.definitions,s))rw(e);return{definition:r.definitions[s],referenceKey:`${r.prefix}${s}`}}function rw(e){throw new Nt({functionality:`JSON Schema reference: ${e}`,message:"Google schema conversion only supports references to direct children of root-level $defs or definitions."})}function TMe(e){return e!=null&&typeof e==="object"&&e.type==="object"&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}var _Me="skip_thought_signature_validator";function V9(e,t){let n=[t,"google","googleVertex","vertex"].filter((r,i,a)=>a.indexOf(r)===i);for(let r of n){let i=e==null?void 0:e[r];if(i!=null)return i}}var IMe=/^data:([^;,]+);base64,(.+)$/s;function CMe(e){let t=IMe.exec(e);if(t==null)return;return{mediaType:t[1],data:t[2]}}function EMe(e,t,n){let r=CMe(e);if(r!=null)return{inlineData:{mimeType:r.mediaType,data:r.data}};return t!=null&&Bp({url:e,mediaType:t,supportedUrls:n})?{fileData:{mimeType:t,fileUri:e}}:void 0}function kMe(e,t,n,r,i=!0,a={}){let s=[],l=[];for(let c of n)switch(c.type){case"text":{l.push(c.text);break}case"image-data":case"file-data":{s.push({inlineData:{mimeType:c.mediaType,data:c.data}});break}case"image-url":case"file-url":{let u=EMe(c.url,c.mediaType,a);if(u!=null)s.push(u);else l.push(JSON.stringify(c));break}default:{l.push(JSON.stringify(c));break}}e.push({functionResponse:{...i&&r!=null?{id:r}:{},name:t,response:{name:t,content:l.length>0?l.join(`
223
+ `)})}continue}let qe=ye.output;if(qe.type==="execution-denied"){if((ee=(We=qe.providerOptions)==null?void 0:We.openai)==null?void 0:ee.approvalId)continue}let K=t.toProviderToolName(ye.toolName);if(ye.toolName===g&&qe.type==="json"){let he=await kt({value:qe.value,schema:uO});B.push({type:"tool_search_output",execution:"client",call_id:ye.toolCallId,status:"completed",tools:he.tools});continue}if(p&&K==="local_shell"&&qe.type==="json"){let he=await kt({value:qe.value,schema:L9});B.push({type:"local_shell_call_output",call_id:ye.toolCallId,output:he.output});continue}if(f&&K==="shell"&&qe.type==="json"){let he=await kt({value:qe.value,schema:lO});B.push({type:"shell_call_output",call_id:ye.toolCallId,output:he.output.map((pe)=>({stdout:pe.stdout,stderr:pe.stderr,outcome:pe.outcome.type==="timeout"?{type:"timeout"}:{type:"exit",exit_code:pe.outcome.exitCode}}))});continue}if(m&&ye.toolName==="apply_patch"&&qe.type==="json"){let he=await kt({value:qe.value,schema:z9});B.push({type:"apply_patch_call_output",call_id:ye.toolCallId,status:he.status,output:he.output});continue}if(h==null?void 0:h.has(K)){let he=oO({output:qe,toolResultProviderOptions:ye.providerOptions,providerOptionsName:r}),pe=(Ue)=>he==null?Ue:[{type:"input_text",text:Ue,prompt_cache_breakpoint:he}],st;switch(qe.type){case"text":case"error-text":st=pe(qe.value);break;case"execution-denied":st=pe((we=qe.reason)!=null?we:"Tool call execution denied.");break;case"json":case"error-json":st=pe(JSON.stringify(qe.value));break;case"content":st=qe.value.map((Ue)=>{var Tn,Nn,bn,fr,Ft;let En=Jl(Ue.providerOptions,r);switch(Ue.type){case"text":return{type:"input_text",text:Ue.text,...En!=null&&{prompt_cache_breakpoint:En}};case"image-data":return{type:"input_image",image_url:`data:${Ue.mediaType};base64,${Ue.data}`,detail:(Nn=(Tn=Ue.providerOptions)==null?void 0:Tn[r])==null?void 0:Nn.imageDetail,...En!=null&&{prompt_cache_breakpoint:En}};case"image-url":return{type:"input_image",image_url:Ue.url,detail:(fr=(bn=Ue.providerOptions)==null?void 0:bn[r])==null?void 0:fr.imageDetail,...En!=null&&{prompt_cache_breakpoint:En}};case"file-data":return{type:"input_file",filename:(Ft=Ue.filename)!=null?Ft:"data",file_data:`data:${Ue.mediaType};base64,${Ue.data}`,...En!=null&&{prompt_cache_breakpoint:En}};case"file-url":return{type:"input_file",file_url:Ue.url,...En!=null&&{prompt_cache_breakpoint:En}};default:ne.push({type:"other",message:`unsupported custom tool content part type: ${Ue.type}`});return}}).filter(zp);break;default:st=""}B.push({type:"custom_tool_call_output",call_id:ye.toolCallId,output:st});continue}let te=await x9({output:qe,promptCacheBreakpoint:oO({output:qe,toolResultProviderOptions:ye.providerOptions,providerOptionsName:r}),providerOptionsName:r,warnings:ne});B.push({type:"function_call_output",call_id:ye.toolCallId,output:te})}break}default:throw Error(`Unsupported role: ${D}`)}if(!l&&B.some((D)=>("type"in D)&&D.type==="reasoning"&&D.encrypted_content==null))ne.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),B=B.filter((D)=>!("type"in D)||D.type!=="reasoning"||D.encrypted_content!=null);return{input:B,warnings:ne}}var SOe=o.object({itemId:o.string().nullish(),reasoningEncryptedContent:o.string().nullish()});function iO({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return t?"tool-calls":"other"}}var Hp=o.lazy(()=>o.union([o.string(),o.number(),o.boolean(),o.null(),o.array(Hp),o.record(o.string(),Hp.optional())])),aO=o.record(o.string(),Hp.optional()),gO=o.intersection(aO,o.object({input_tokens:o.number(),input_tokens_details:o.intersection(aO,o.object({cached_tokens:o.number().nullish(),cache_write_tokens:o.number().nullish(),orchestration_input_tokens:o.number().nullish(),orchestration_input_cached_tokens:o.number().nullish()})).nullish(),output_tokens:o.number(),output_tokens_details:o.intersection(aO,o.object({reasoning_tokens:o.number().nullish(),orchestration_output_tokens:o.number().nullish()})).nullish(),total_tokens:o.number().optional()}));function xOe(e){return e!=null&&typeof e==="object"&&!Array.isArray(e)}var hO=o.object({type:o.literal("local_shell_call"),id:o.string(),call_id:o.string(),action:o.object({type:o.literal("exec"),command:o.array(o.string()),timeout_ms:o.number().optional(),user:o.string().optional(),working_directory:o.string().optional(),env:o.record(o.string(),o.string()).optional()})}),wOe=o.object({type:o.literal("error"),sequence_number:o.number(),error:o.object({type:o.string(),code:o.string().nullish(),message:o.string(),param:o.string().nullish()})}),TOe=o.object({type:o.literal("error"),sequence_number:o.number(),code:o.string().nullish(),message:o.string(),param:o.string().nullish()}),_Oe=new Set(["error","response.apply_patch_call_operation_diff.delta","response.apply_patch_call_operation_diff.done","response.code_interpreter_call_code.delta","response.code_interpreter_call_code.done","response.completed","response.created","response.custom_tool_call_input.delta","response.failed","response.function_call_arguments.delta","response.function_call_arguments.done","response.image_generation_call.partial_image","response.incomplete","response.output_item.added","response.output_item.done","response.output_text.annotation.added","response.output_text.delta","response.reasoning_summary_part.added","response.reasoning_summary_part.done","response.reasoning_summary_text.delta"]),IOe=new Set(["apply_patch_call","code_interpreter_call","computer_call","custom_tool_call","file_search_call","function_call","image_generation_call","local_shell_call","mcp_approval_request","mcp_call","mcp_list_tools","message","reasoning","shell_call","shell_call_output","tool_search_call","tool_search_output","web_search_call"]);function COe(e){if(typeof e.type!=="string"||!_Oe.has(e.type))return!1;if(e.type!=="response.output_item.added"&&e.type!=="response.output_item.done")return!0;if(!xOe(e.item)||typeof e.item.type!=="string")return!0;return IOe.has(e.item.type)}var EOe=G(()=>W(o.union([o.object({type:o.literal("response.output_text.delta"),item_id:o.string(),delta:o.string(),logprobs:o.array(o.object({token:o.string(),logprob:o.number(),top_logprobs:o.array(o.object({token:o.string(),logprob:o.number()}))})).nullish()}),o.object({type:o.enum(["response.completed","response.incomplete"]),response:o.object({incomplete_details:o.object({reason:o.string()}).nullish(),usage:gO.nullish(),reasoning:o.object({context:o.string().nullish()}).nullish(),service_tier:o.string().nullish()})}),o.object({type:o.literal("response.failed"),sequence_number:o.number(),response:o.object({error:o.object({code:o.string().nullish(),message:o.string()}).nullish(),incomplete_details:o.object({reason:o.string()}).nullish(),usage:gO.nullish(),reasoning:o.object({context:o.string().nullish()}).nullish(),service_tier:o.string().nullish()})}),o.object({type:o.literal("response.created"),response:o.object({id:o.string(),created_at:o.number(),model:o.string(),service_tier:o.string().nullish()})}),o.object({type:o.literal("response.output_item.added"),output_index:o.number(),item:o.discriminatedUnion("type",[o.object({type:o.literal("message"),id:o.string(),phase:o.enum(["commentary","final_answer"]).nullish()}),o.object({type:o.literal("reasoning"),id:o.string(),encrypted_content:o.string().nullish()}),o.object({type:o.literal("function_call"),id:o.string(),call_id:o.string(),name:o.string(),arguments:o.string(),async:o.boolean().nullish(),namespace:o.string().nullish()}),o.object({type:o.literal("web_search_call"),id:o.string(),status:o.string()}),o.object({type:o.literal("computer_call"),id:o.string(),status:o.string()}),o.object({type:o.literal("file_search_call"),id:o.string()}),hO,o.object({type:o.literal("image_generation_call"),id:o.string()}),o.object({type:o.literal("code_interpreter_call"),id:o.string(),container_id:o.string(),code:o.string().nullable(),outputs:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("logs"),logs:o.string()}),o.object({type:o.literal("image"),url:o.string()})])).nullable(),status:o.string()}),o.object({type:o.literal("mcp_call"),id:o.string(),status:o.string(),approval_request_id:o.string().nullish()}),o.object({type:o.literal("mcp_list_tools"),id:o.string()}),o.object({type:o.literal("mcp_approval_request"),id:o.string()}),o.object({type:o.literal("apply_patch_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed"]),operation:o.discriminatedUnion("type",[o.object({type:o.literal("create_file"),path:o.string(),diff:o.string()}),o.object({type:o.literal("delete_file"),path:o.string()}),o.object({type:o.literal("update_file"),path:o.string(),diff:o.string()})])}),o.object({type:o.literal("custom_tool_call"),id:o.string(),call_id:o.string(),name:o.string(),input:o.string(),async:o.boolean().nullish()}),o.object({type:o.literal("shell_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),action:o.object({commands:o.array(o.string())})}),o.object({type:o.literal("shell_call_output"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),output:o.array(o.object({stdout:o.string(),stderr:o.string(),outcome:o.discriminatedUnion("type",[o.object({type:o.literal("timeout")}),o.object({type:o.literal("exit"),exit_code:o.number()})])}))}),o.object({type:o.literal("tool_search_call"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),arguments:o.unknown()}),o.object({type:o.literal("tool_search_output"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),tools:o.array(o.record(o.string(),Hp.optional()))})])}),o.object({type:o.literal("response.output_item.done"),output_index:o.number(),item:o.discriminatedUnion("type",[o.object({type:o.literal("message"),id:o.string(),phase:o.enum(["commentary","final_answer"]).nullish()}),o.object({type:o.literal("reasoning"),id:o.string(),encrypted_content:o.string().nullish()}),o.object({type:o.literal("function_call"),id:o.string(),call_id:o.string(),name:o.string(),arguments:o.string(),async:o.boolean().nullish(),status:o.enum(["in_progress","completed","incomplete"]),namespace:o.string().nullish()}),o.object({type:o.literal("custom_tool_call"),id:o.string(),call_id:o.string(),name:o.string(),input:o.string(),async:o.boolean().nullish(),status:o.enum(["in_progress","completed","incomplete"])}),o.object({type:o.literal("code_interpreter_call"),id:o.string(),code:o.string().nullable(),container_id:o.string(),outputs:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("logs"),logs:o.string()}),o.object({type:o.literal("image"),url:o.string()})])).nullable()}),o.object({type:o.literal("image_generation_call"),id:o.string(),result:o.string()}),o.object({type:o.literal("web_search_call"),id:o.string(),status:o.string(),action:o.discriminatedUnion("type",[o.object({type:o.literal("search"),query:o.string().nullish(),queries:o.array(o.string()).nullish(),sources:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("url"),url:o.string()}),o.object({type:o.literal("api"),name:o.string()})])).nullish()}),o.object({type:o.literal("open_page"),url:o.string().nullish()}),o.object({type:o.literal("find_in_page"),url:o.string().nullish(),pattern:o.string().nullish()})]).nullish()}),o.object({type:o.literal("file_search_call"),id:o.string(),queries:o.array(o.string()),results:o.array(o.object({attributes:o.record(o.string(),o.union([o.string(),o.number(),o.boolean()])),file_id:o.string(),filename:o.string(),score:o.number(),text:o.string()})).nullish()}),hO,o.object({type:o.literal("computer_call"),id:o.string(),status:o.literal("completed")}),o.object({type:o.literal("mcp_call"),id:o.string(),status:o.string(),arguments:o.string(),name:o.string(),server_label:o.string(),output:o.string().nullish(),error:o.union([o.string(),o.object({type:o.string().optional(),code:o.union([o.number(),o.string()]).optional(),message:o.string().optional()}).loose()]).nullish(),approval_request_id:o.string().nullish()}),o.object({type:o.literal("mcp_list_tools"),id:o.string(),server_label:o.string(),tools:o.array(o.object({name:o.string(),description:o.string().optional(),input_schema:o.any(),annotations:o.record(o.string(),o.unknown()).optional()})),error:o.union([o.string(),o.object({type:o.string().optional(),code:o.union([o.number(),o.string()]).optional(),message:o.string().optional()}).loose()]).optional()}),o.object({type:o.literal("mcp_approval_request"),id:o.string(),server_label:o.string(),name:o.string(),arguments:o.string(),approval_request_id:o.string().optional()}),o.object({type:o.literal("apply_patch_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed"]),operation:o.discriminatedUnion("type",[o.object({type:o.literal("create_file"),path:o.string(),diff:o.string()}),o.object({type:o.literal("delete_file"),path:o.string()}),o.object({type:o.literal("update_file"),path:o.string(),diff:o.string()})])}),o.object({type:o.literal("shell_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),action:o.object({commands:o.array(o.string())})}),o.object({type:o.literal("shell_call_output"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),output:o.array(o.object({stdout:o.string(),stderr:o.string(),outcome:o.discriminatedUnion("type",[o.object({type:o.literal("timeout")}),o.object({type:o.literal("exit"),exit_code:o.number()})])}))}),o.object({type:o.literal("tool_search_call"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),arguments:o.unknown()}),o.object({type:o.literal("tool_search_output"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),tools:o.array(o.record(o.string(),Hp.optional()))})])}),o.object({type:o.literal("response.function_call_arguments.delta"),item_id:o.string(),output_index:o.number(),delta:o.string()}),o.object({type:o.literal("response.function_call_arguments.done"),item_id:o.string(),output_index:o.number(),arguments:o.string()}),o.object({type:o.literal("response.custom_tool_call_input.delta"),item_id:o.string(),output_index:o.number(),delta:o.string()}),o.object({type:o.literal("response.image_generation_call.partial_image"),item_id:o.string(),output_index:o.number(),partial_image_b64:o.string()}),o.object({type:o.literal("response.code_interpreter_call_code.delta"),item_id:o.string(),output_index:o.number(),delta:o.string()}),o.object({type:o.literal("response.code_interpreter_call_code.done"),item_id:o.string(),output_index:o.number(),code:o.string()}),o.object({type:o.literal("response.output_text.annotation.added"),annotation:o.discriminatedUnion("type",[o.object({type:o.literal("url_citation"),start_index:o.number(),end_index:o.number(),url:o.string(),title:o.string()}),o.object({type:o.literal("file_citation"),file_id:o.string(),filename:o.string(),index:o.number()}),o.object({type:o.literal("container_file_citation"),container_id:o.string(),file_id:o.string(),filename:o.string(),start_index:o.number(),end_index:o.number()}),o.object({type:o.literal("file_path"),file_id:o.string(),index:o.number()})])}),o.object({type:o.literal("response.reasoning_summary_part.added"),item_id:o.string(),summary_index:o.number()}),o.object({type:o.literal("response.reasoning_summary_text.delta"),item_id:o.string(),summary_index:o.number(),delta:o.string()}),o.object({type:o.literal("response.reasoning_summary_part.done"),item_id:o.string(),summary_index:o.number()}),o.object({type:o.literal("response.apply_patch_call_operation_diff.delta"),item_id:o.string(),output_index:o.number(),delta:o.string(),obfuscation:o.string().nullish()}),o.object({type:o.literal("response.apply_patch_call_operation_diff.done"),item_id:o.string(),output_index:o.number(),diff:o.string()}),wOe,TOe,o.object({type:o.string()}).loose().refine((e)=>!COe(e),{message:"Known response chunk failed schema validation"}).transform((e)=>({type:"unknown_chunk",message:e.type}))]))),kOe=G(()=>W(o.object({id:o.string().optional(),created_at:o.number().optional(),error:o.object({message:o.string(),type:o.string(),param:o.string().nullish(),code:o.string()}).nullish(),model:o.string().optional(),output:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("message"),role:o.literal("assistant"),id:o.string(),phase:o.enum(["commentary","final_answer"]).nullish(),content:o.array(o.object({type:o.literal("output_text"),text:o.string(),logprobs:o.array(o.object({token:o.string(),logprob:o.number(),top_logprobs:o.array(o.object({token:o.string(),logprob:o.number()}))})).nullish(),annotations:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("url_citation"),start_index:o.number(),end_index:o.number(),url:o.string(),title:o.string()}),o.object({type:o.literal("file_citation"),file_id:o.string(),filename:o.string(),index:o.number()}),o.object({type:o.literal("container_file_citation"),container_id:o.string(),file_id:o.string(),filename:o.string(),start_index:o.number(),end_index:o.number()}),o.object({type:o.literal("file_path"),file_id:o.string(),index:o.number()})]))}))}),o.object({type:o.literal("web_search_call"),id:o.string(),status:o.string(),action:o.discriminatedUnion("type",[o.object({type:o.literal("search"),query:o.string().nullish(),queries:o.array(o.string()).nullish(),sources:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("url"),url:o.string()}),o.object({type:o.literal("api"),name:o.string()})])).nullish()}),o.object({type:o.literal("open_page"),url:o.string().nullish()}),o.object({type:o.literal("find_in_page"),url:o.string().nullish(),pattern:o.string().nullish()})]).nullish()}),o.object({type:o.literal("file_search_call"),id:o.string(),queries:o.array(o.string()),results:o.array(o.object({attributes:o.record(o.string(),o.union([o.string(),o.number(),o.boolean()])),file_id:o.string(),filename:o.string(),score:o.number(),text:o.string()})).nullish()}),o.object({type:o.literal("code_interpreter_call"),id:o.string(),code:o.string().nullable(),container_id:o.string(),outputs:o.array(o.discriminatedUnion("type",[o.object({type:o.literal("logs"),logs:o.string()}),o.object({type:o.literal("image"),url:o.string()})])).nullable()}),o.object({type:o.literal("image_generation_call"),id:o.string(),result:o.string()}),hO,o.object({type:o.literal("function_call"),call_id:o.string(),name:o.string(),arguments:o.string(),id:o.string(),async:o.boolean().nullish(),namespace:o.string().nullish()}),o.object({type:o.literal("custom_tool_call"),call_id:o.string(),name:o.string(),input:o.string(),id:o.string(),async:o.boolean().nullish()}),o.object({type:o.literal("computer_call"),id:o.string(),status:o.string().optional()}),o.object({type:o.literal("reasoning"),id:o.string(),encrypted_content:o.string().nullish(),summary:o.array(o.object({type:o.literal("summary_text"),text:o.string()}))}),o.object({type:o.literal("mcp_call"),id:o.string(),status:o.string(),arguments:o.string(),name:o.string(),server_label:o.string(),output:o.string().nullish(),error:o.union([o.string(),o.object({type:o.string().optional(),code:o.union([o.number(),o.string()]).optional(),message:o.string().optional()}).loose()]).nullish(),approval_request_id:o.string().nullish()}),o.object({type:o.literal("mcp_list_tools"),id:o.string(),server_label:o.string(),tools:o.array(o.object({name:o.string(),description:o.string().optional(),input_schema:o.any(),annotations:o.record(o.string(),o.unknown()).optional()})),error:o.union([o.string(),o.object({type:o.string().optional(),code:o.union([o.number(),o.string()]).optional(),message:o.string().optional()}).loose()]).optional()}),o.object({type:o.literal("mcp_approval_request"),id:o.string(),server_label:o.string(),name:o.string(),arguments:o.string(),approval_request_id:o.string().optional()}),o.object({type:o.literal("apply_patch_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed"]),operation:o.discriminatedUnion("type",[o.object({type:o.literal("create_file"),path:o.string(),diff:o.string()}),o.object({type:o.literal("delete_file"),path:o.string()}),o.object({type:o.literal("update_file"),path:o.string(),diff:o.string()})])}),o.object({type:o.literal("shell_call"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),action:o.object({commands:o.array(o.string())})}),o.object({type:o.literal("shell_call_output"),id:o.string(),call_id:o.string(),status:o.enum(["in_progress","completed","incomplete"]),output:o.array(o.object({stdout:o.string(),stderr:o.string(),outcome:o.discriminatedUnion("type",[o.object({type:o.literal("timeout")}),o.object({type:o.literal("exit"),exit_code:o.number()})])}))}),o.object({type:o.literal("tool_search_call"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),arguments:o.unknown()}),o.object({type:o.literal("tool_search_output"),id:o.string(),execution:o.enum(["server","client"]),call_id:o.string().nullable(),status:o.enum(["in_progress","completed","incomplete"]),tools:o.array(o.record(o.string(),Hp.optional()))})])).optional(),service_tier:o.string().nullish(),reasoning:o.object({context:o.string().nullish()}).nullish(),incomplete_details:o.object({reason:o.string()}).nullish(),usage:gO.nullish()})));async function ROe({tools:e,toolChoice:t,allowedTools:n,toolNameMapping:r,customProviderToolNames:i,supportsAsyncToolCalling:a=!0}){var s,l,c,u;e=(e==null?void 0:e.length)?e:void 0;let d=[];if(e==null)return{tools:void 0,toolChoice:void 0,toolWarnings:d};let p=[],f=new Map,m=i!=null?i:new Set,g=new Map,h=new Map,b=(_,y,S)=>{if(g.set(_,y),S==null||S===_)return;let A=h.get(S);if(A==null)h.set(S,y);else if(A!=="ambiguous"&&!AOe(A,y))h.set(S,"ambiguous")};for(let _ of e)switch(_.type){case"function":{let y=(s=_.providerOptions)==null?void 0:s.openai,S=OOe({tool:_,options:y,async:_9({value:y==null?void 0:y.async,supportsAsyncToolCalling:a,toolName:_.name,toolWarnings:d})}),A=y==null?void 0:y.namespace;if(A==null)p.push(S);else{let v=f.get(A.name);if(v==null)v={type:"namespace",name:A.name,description:A.description,tools:[]},f.set(A.name,v),p.push(v);else if(v.description!==A.description)throw new Nt({functionality:`conflicting descriptions for OpenAI tool namespace "${A.name}"`});v.tools.push(S)}b(_.name,A!=null?{supported:!1,reason:"tools inside an OpenAI tool namespace are not visible to tool_choice.allowed_tools"}:(y==null?void 0:y.deferLoading)===!0?{supported:!1,reason:"deferred tools are not visible to tool_choice.allowed_tools"}:{supported:!0,entry:{type:"function",name:_.name}},void 0);break}case"provider":{let y=p.length;switch(_.id){case"openai.file_search":{let S=await kt({value:_.args,schema:q0e});p.push({type:"file_search",vector_store_ids:S.vectorStoreIds,max_num_results:S.maxNumResults,ranking_options:S.ranking?{ranker:S.ranking.ranker,score_threshold:S.ranking.scoreThreshold}:void 0,filters:S.filters});break}case"openai.local_shell":{p.push({type:"local_shell"});break}case"openai.shell":{let S=await kt({value:_.args,schema:K0e});p.push({type:"shell",...S.environment&&{environment:MOe(S.environment)}});break}case"openai.apply_patch":{p.push({type:"apply_patch"});break}case"openai.web_search_preview":{let S=await kt({value:_.args,schema:iOe});p.push({type:"web_search_preview",search_context_size:S.searchContextSize,user_location:S.userLocation});break}case"openai.web_search":{let S=await kt({value:_.args,schema:tOe});p.push({type:"web_search",filters:S.filters!=null?{allowed_domains:S.filters.allowedDomains,blocked_domains:S.filters.blockedDomains}:void 0,external_web_access:S.externalWebAccess,search_context_size:S.searchContextSize,user_location:S.userLocation});break}case"openai.code_interpreter":{let S=await kt({value:_.args,schema:M0e});p.push({type:"code_interpreter",container:S.container==null?{type:"auto",file_ids:void 0}:typeof S.container==="string"?S.container:{type:"auto",file_ids:S.container.fileIds}});break}case"openai.image_generation":{let S=await kt({value:_.args,schema:U0e});p.push({type:"image_generation",background:S.background,input_fidelity:S.inputFidelity,input_image_mask:S.inputImageMask?{file_id:S.inputImageMask.fileId,image_url:S.inputImageMask.imageUrl}:void 0,model:S.model,moderation:S.moderation,partial_images:S.partialImages,quality:S.quality,output_compression:S.outputCompression,output_format:S.outputFormat,size:S.size});break}case"openai.mcp":{let S=await kt({value:_.args,schema:cOe}),A=(z)=>({tool_names:z.toolNames}),v=S.requireApproval,R=v==null?void 0:typeof v==="string"?v:v.never!=null?{never:A(v.never)}:void 0;p.push({type:"mcp",server_label:S.serverLabel,allowed_tools:Array.isArray(S.allowedTools)?S.allowedTools:S.allowedTools?{read_only:S.allowedTools.readOnly,tool_names:S.allowedTools.toolNames}:void 0,authorization:S.authorization,connector_id:S.connectorId,headers:S.headers,require_approval:R!=null?R:"never",server_description:S.serverDescription,server_url:S.serverUrl});break}case"openai.custom":{let S=await kt({value:_.args,schema:N0e});p.push({type:"custom",name:S.name,description:S.description,..._9({value:S.async,supportsAsyncToolCalling:a,toolName:S.name,toolWarnings:d})!=null?{async:S.async}:{},format:S.format}),m.add(S.name);break}case"openai.tool_search":{let S=await kt({value:_.args,schema:Y0e});p.push({type:"tool_search",...S.execution!=null?{execution:S.execution}:{},...S.description!=null?{description:S.description}:{},...S.parameters!=null?{parameters:S.parameters}:{}});break}}if(p.length>y){let S=p[y];b(_.name,POe(S),r==null?void 0:r.toProviderToolName(_.name))}break}default:d.push({type:"unsupported",feature:`function tool ${_}`});break}if(n!=null){let _=[],y=[];for(let S of n.toolNames){let A=g.get(S),v=A!=null?A:h.get(S);if(A!=null&&h.has(S))d.push({type:"unsupported",feature:`allowedTools entry "${S}"`,details:"this name is both a tool name and the provider tool name of another tool in this request; the tool with this name is allowed"});if(v==="ambiguous"){d.push({type:"unsupported",feature:`allowedTools entry "${S}"`,details:"several tools in this request share this provider tool name; use the tool name from the tools for this request instead"}),y.push(S);continue}if(v==null){d.push({type:"unsupported",feature:`allowedTools entry "${S}"`,details:"the tool is not part of the tools for this request and is sent as a function tool"}),_.push({type:"function",name:(l=r==null?void 0:r.toProviderToolName(S))!=null?l:S});continue}if(!v.supported){d.push({type:"unsupported",feature:`allowedTools entry "${S}"`,details:`${v.reason}; the tool is removed from the allowed tools`}),y.push(S);continue}_.push(v.entry)}if(_.length===0)throw new Nt({functionality:`allowedTools with only tools that cannot be allow-listed (${y.join(", ")})`});return{tools:p,toolChoice:{type:"allowed_tools",mode:(c=n.mode)!=null?c:"auto",tools:_},toolWarnings:d}}if(t==null)return{tools:p,toolChoice:void 0,toolWarnings:d};let w=t.type;switch(w){case"auto":case"none":case"required":return{tools:p,toolChoice:w,toolWarnings:d};case"tool":{let _=(u=r==null?void 0:r.toProviderToolName(t.toolName))!=null?u:t.toolName;return{tools:p,toolChoice:_==="code_interpreter"||_==="file_search"||_==="image_generation"||_==="web_search_preview"||_==="web_search"||_==="mcp"||_==="apply_patch"?{type:_}:m.has(_)?{type:"custom",name:_}:{type:"function",name:_},toolWarnings:d}}default:throw new Nt({functionality:`tool choice type: ${w}`})}}function T9(e){switch(e.type){case"mcp":return`mcp:${e.server_label}`;case"function":case"custom":return`${e.type}:${e.name}`;default:return e.type}}function AOe(e,t){if(e.supported&&t.supported)return T9(e.entry)===T9(t.entry);if(!e.supported&&!t.supported)return e.reason===t.reason;return!1}function POe(e){switch(e.type){case"custom":return{supported:!0,entry:{type:"custom",name:e.name}};case"mcp":return{supported:!0,entry:{type:"mcp",server_label:e.server_label}};case"file_search":case"web_search":case"web_search_preview":case"image_generation":case"code_interpreter":case"apply_patch":case"shell":case"local_shell":return{supported:!0,entry:{type:e.type}};default:return{supported:!1,reason:`OpenAI does not support ${e.type} tools in tool_choice.allowed_tools`}}}function OOe({tool:e,options:t,async:n}){let r=t==null?void 0:t.deferLoading;return{type:"function",name:e.name,description:e.description,parameters:e.inputSchema,...n!=null?{async:n}:{},...e.strict!=null?{strict:e.strict}:{},...r!=null?{defer_loading:r}:{}}}function _9({value:e,supportsAsyncToolCalling:t,toolName:n,toolWarnings:r}){if(e!==!0||t)return e;r.push({type:"unsupported",feature:`async tool calling for "${n}"`,details:"Async tool calling is only supported by GPT-6 and later models."});return}function MOe(e){if(e.type==="containerReference")return{type:"container_reference",container_id:e.containerId};if(e.type==="containerAuto"){let n=e;return{type:"container_auto",file_ids:n.fileIds,memory_limit:n.memoryLimit,network_policy:n.networkPolicy==null?void 0:n.networkPolicy.type==="disabled"?{type:"disabled"}:{type:"allowlist",allowed_domains:n.networkPolicy.allowedDomains,domain_secrets:n.networkPolicy.domainSecrets},skills:jOe(n.skills)}}return{type:"local",skills:e.skills}}function jOe(e){return e==null?void 0:e.map((t)=>t.type==="skillReference"?{type:"skill_reference",skill_id:t.skillId,version:t.version}:{type:"inline",name:t.name,description:t.description,source:{type:"base64",media_type:t.source.mediaType,data:t.source.data}})}function I9(e){var t,n;let r={};for(let i of e){if(i.role!=="assistant")continue;for(let a of i.content){if(a.type!=="tool-call")continue;let s=(n=(t=a.providerOptions)==null?void 0:t.openai)==null?void 0:n.approvalRequestId;if(s!=null)r[s]=a.toolCallId}}return r}function DOe({modelCapabilities:e,options:t}){if(!e.supportsConfigurationUpdate)return"reasoningEffortUpdate is only supported by GPT-6 and later models";if((t==null?void 0:t.reasoningMode)==="pro"||(t==null?void 0:t.truncation)==="auto")return"reasoningEffortUpdate requires standard reasoning mode without automatic truncation";return}var NOe=class{constructor(e,t){this.specificationVersion="v3",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:n,topP:r,topK:i,presencePenalty:a,frequencyPenalty:s,seed:l,prompt:c,providerOptions:u,tools:d,toolChoice:p,responseFormat:f}){var m,g,h,b,w,_,y,S,A,v,R,z,F;let x=[],M=P9(this.modelId);if(i!=null)x.push({type:"unsupported",feature:"topK"});if(l!=null)x.push({type:"unsupported",feature:"seed"});if(a!=null)x.push({type:"unsupported",feature:"presencePenalty"});if(s!=null)x.push({type:"unsupported",feature:"frequencyPenalty"});if(n!=null)x.push({type:"unsupported",feature:"stopSequences"});let q=this.config.provider.includes("azure")?"azure":"openai",E=await Pt({provider:q,providerOptions:u,schema:h9});if(E==null&&q!=="openai")E=await Pt({provider:"openai",providerOptions:u,schema:h9});let N=(m=E==null?void 0:E.forceReasoning)!=null?m:M.isReasoningModel,Q=E==null?void 0:E.reasoningEffort;if(Q!=null&&M.supportedReasoningEfforts!=null&&!M.supportedReasoningEfforts.includes(Q))x.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${M.supportedReasoningEfforts.join(", ")}`}),Q=void 0;if((E==null?void 0:E.conversation)&&(E==null?void 0:E.previousResponseId))x.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let ae=Cx({tools:d,providerToolNames:{"openai.code_interpreter":"code_interpreter","openai.file_search":"file_search","openai.image_generation":"image_generation","openai.local_shell":"local_shell","openai.shell":"shell","openai.web_search":"web_search","openai.web_search_preview":"web_search_preview","openai.mcp":"mcp","openai.apply_patch":"apply_patch","openai.tool_search":"tool_search"},resolveProviderToolName:(ce)=>ce.id==="openai.custom"?ce.args.name:void 0}),J=new Set,{tools:oe,toolChoice:be,toolWarnings:P}=await ROe({tools:d,toolChoice:p,allowedTools:(g=E==null?void 0:E.allowedTools)!=null?g:void 0,toolNameMapping:ae,customProviderToolNames:J,supportsAsyncToolCalling:M.supportsAsyncToolCalling}),L=DOe({modelCapabilities:M,options:E}),{input:se,warnings:T}=await vOe({prompt:c,configurationUpdateUnsupportedReason:L,toolNameMapping:ae,systemMessageMode:(h=E==null?void 0:E.systemMessageMode)!=null?h:N?"developer":M.systemMessageMode,providerOptionsName:q,explicitMessageItemType:this.config.explicitMessageItemType,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:(b=E==null?void 0:E.passThroughUnsupportedFiles)!=null?b:!1,store:(w=E==null?void 0:E.store)!=null?w:!0,hasConversation:(E==null?void 0:E.conversation)!=null,hasPreviousResponseId:(E==null?void 0:E.previousResponseId)!=null,hasLocalShellTool:Ne("openai.local_shell"),hasShellTool:Ne("openai.shell"),hasApplyPatchTool:Ne("openai.apply_patch"),toolSearchToolName:ze("openai.tool_search"),customProviderToolNames:J.size>0?J:void 0});x.push(...T);let le=E==null?void 0:E.reasoningEffortUpdate;if(le!=null&&L!=null)x.push({type:"unsupported",feature:"reasoningEffortUpdate",details:L});else if(le!=null){let ce=se[0];if((ce==null?void 0:ce.type)!=="configuration_update"||ce.reasoning.effort!==le)se.unshift({type:"configuration_update",reasoning:{effort:le}})}for(let ce=1;ce<se.length;ce++)if(se[ce-1].type==="configuration_update"&&se[ce].type==="configuration_update")throw new Nt({functionality:"Adjacent reasoning effort configuration updates"});let X=(_=E==null?void 0:E.strictJsonSchema)!=null?_:!0,re=E==null?void 0:E.include;function de(ce){if(re==null)re=[ce];else if(!re.includes(ce))re=[...re,ce]}function ze(ce){var ve;return(ve=d==null?void 0:d.find((Z)=>Z.type==="provider"&&Z.id===ce))==null?void 0:ve.name}function Ne(ce){return ze(ce)!=null}let We=typeof(E==null?void 0:E.logprobs)==="number"?E==null?void 0:E.logprobs:(E==null?void 0:E.logprobs)===!0?Z9:void 0;if(We)de("message.output_text.logprobs");let ee=(y=d==null?void 0:d.find((ce)=>ce.type==="provider"&&(ce.id==="openai.web_search"||ce.id==="openai.web_search_preview")))==null?void 0:y.name;if(ee)de("web_search_call.action.sources");if(Ne("openai.code_interpreter"))de("code_interpreter_call.outputs");let we=E==null?void 0:E.store;if(we===!1&&N)de("reasoning.encrypted_content");let B={model:this.modelId,input:se,temperature:t,top_p:r,max_output_tokens:e,...((f==null?void 0:f.type)==="json"||(E==null?void 0:E.textVerbosity))&&{text:{...(f==null?void 0:f.type)==="json"&&{format:f.schema!=null?{type:"json_schema",strict:X,name:(S=f.name)!=null?S:"response",description:f.description,schema:O9(f.schema)}:{type:"json_object"}},...(E==null?void 0:E.textVerbosity)&&{verbosity:E.textVerbosity}}},conversation:E==null?void 0:E.conversation,max_tool_calls:E==null?void 0:E.maxToolCalls,metadata:E==null?void 0:E.metadata,parallel_tool_calls:E==null?void 0:E.parallelToolCalls,previous_response_id:E==null?void 0:E.previousResponseId,store:we,user:E==null?void 0:E.user,instructions:E==null?void 0:E.instructions,service_tier:E==null?void 0:E.serviceTier,include:re,prompt_cache_key:E==null?void 0:E.promptCacheKey,prompt_cache_options:E==null?void 0:E.promptCacheOptions,prompt_cache_retention:E==null?void 0:E.promptCacheRetention,safety_identifier:E==null?void 0:E.safetyIdentifier,top_logprobs:We,truncation:E==null?void 0:E.truncation,...N&&(Q!=null||(E==null?void 0:E.reasoningSummary)!=null||(E==null?void 0:E.reasoningMode)!=null||(E==null?void 0:E.reasoningContext)!=null)&&{reasoning:{...Q!=null&&{effort:Q},...(E==null?void 0:E.reasoningSummary)!=null&&{summary:E.reasoningSummary},...(E==null?void 0:E.reasoningMode)!=null&&{mode:E.reasoningMode},...(E==null?void 0:E.reasoningContext)!=null&&{context:E.reasoningContext}}}};if(M.supportsConfigurationUpdate&&B.prompt_cache_retention!=null)B.prompt_cache_retention=void 0,x.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"});if(N){if(!((E==null?void 0:E.reasoningEffort)==="none"&&M.supportsNonReasoningParameters)){if(B.temperature!=null)B.temperature=void 0,x.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"});if(B.top_p!=null)B.top_p=void 0,x.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})}if(M.supportedReasoningEfforts!=null&&(B.top_logprobs!=null||((A=B.include)==null?void 0:A.includes("message.output_text.logprobs")))){B.top_logprobs=void 0;let ce=(v=B.include)==null?void 0:v.filter((ve)=>ve!=="message.output_text.logprobs");B.include=ce!=null&&ce.length>0?ce:void 0,x.push({type:"unsupported",feature:"logprobs",details:"logprobs is not supported for reasoning models"})}}else{if((E==null?void 0:E.reasoningEffort)!=null)x.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"});if((E==null?void 0:E.reasoningSummary)!=null)x.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"});if((E==null?void 0:E.reasoningMode)!=null)x.push({type:"unsupported",feature:"reasoningMode",details:"reasoningMode is not supported for non-reasoning models"});if((E==null?void 0:E.reasoningContext)!=null)x.push({type:"unsupported",feature:"reasoningContext",details:"reasoningContext is not supported for non-reasoning models"})}if((E==null?void 0:E.serviceTier)==="flex"&&!M.supportsFlexProcessing)x.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete B.service_tier;if(((E==null?void 0:E.serviceTier)==="priority"||(E==null?void 0:E.serviceTier)==="fast")&&!M.supportsPriorityProcessing)x.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete B.service_tier;let ne=(F=(z=(R=d==null?void 0:d.find((ce)=>ce.type==="provider"&&ce.id==="openai.shell"))==null?void 0:R.args)==null?void 0:z.environment)==null?void 0:F.type,xe=ne==="containerAuto"||ne==="containerReference";return{webSearchToolName:ee,args:{...B,tools:oe,tool_choice:be},warnings:[...x,...P],store:we,toolNameMapping:ae,providerOptionsName:q,isShellProviderExecuted:xe}}async doGenerate(e){var t,n,r,i,a,s,l,c,u,d,p,f,m,g,h,b,w,_,y,S,A,v,R,z,F,x,M,q,E,N,Q;let{args:ae,warnings:J,webSearchToolName:oe,toolNameMapping:be,providerOptionsName:P,isShellProviderExecuted:L}=await this.getArgs(e),se=this.config.url({path:"/responses",modelId:this.modelId}),T=I9(e.prompt),{responseHeaders:le,value:X,rawValue:re}=await St({url:se,headers:pt(this.config.headers(),e.headers),body:ae,failedResponseHandler:ua,successfulResponseHandler:ht(kOe),abortSignal:e.abortSignal,fetch:this.config.fetch});if(X.error)throw new Dt({message:X.error.message,url:se,requestBodyValues:ae,statusCode:400,responseHeaders:le,responseBody:re,isRetryable:!1});let de=[],ze=[],Ne=(n=(t=e.tools)==null?void 0:t.filter((ne)=>ne.type==="function"))!=null?n:[],We=!1,ee=[];for(let ne of X.output)switch(ne.type){case"reasoning":{if(ne.summary.length===0)ne.summary.push({type:"summary_text",text:""});for(let xe of ne.summary)de.push({type:"reasoning",text:xe.text,providerMetadata:{[P]:{itemId:ne.id,reasoningEncryptedContent:(r=ne.encrypted_content)!=null?r:null}}});break}case"image_generation_call":{de.push({type:"tool-call",toolCallId:ne.id,toolName:be.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),de.push({type:"tool-result",toolCallId:ne.id,toolName:be.toCustomToolName("image_generation"),result:{result:ne.result}});break}case"tool_search_call":{let xe=(i=ne.call_id)!=null?i:ne.id,ce=ne.execution==="server";if(ce)ee.push(xe);de.push({type:"tool-call",toolCallId:xe,toolName:be.toCustomToolName("tool_search"),input:JSON.stringify({arguments:ne.arguments,call_id:ne.call_id}),...ce?{providerExecuted:!0}:{},providerMetadata:{[P]:{itemId:ne.id}}});break}case"tool_search_output":{let xe=(s=(a=ne.call_id)!=null?a:ee.shift())!=null?s:ne.id;de.push({type:"tool-result",toolCallId:xe,toolName:be.toCustomToolName("tool_search"),result:{tools:ne.tools},providerMetadata:{[P]:{itemId:ne.id}}});break}case"local_shell_call":{de.push({type:"tool-call",toolCallId:ne.call_id,toolName:be.toCustomToolName("local_shell"),input:JSON.stringify({action:ne.action}),providerMetadata:{[P]:{itemId:ne.id}}});break}case"shell_call":{de.push({type:"tool-call",toolCallId:ne.call_id,toolName:be.toCustomToolName("shell"),input:JSON.stringify({action:{commands:ne.action.commands}}),...L&&{providerExecuted:!0},providerMetadata:{[P]:{itemId:ne.id}}});break}case"shell_call_output":{de.push({type:"tool-result",toolCallId:ne.call_id,toolName:be.toCustomToolName("shell"),result:{output:ne.output.map((xe)=>({stdout:xe.stdout,stderr:xe.stderr,outcome:xe.outcome.type==="exit"?{type:"exit",exitCode:xe.outcome.exit_code}:{type:"timeout"}}))}});break}case"message":{for(let xe of ne.content){if(((c=(l=e.providerOptions)==null?void 0:l[P])==null?void 0:c.logprobs)&&xe.logprobs)ze.push(xe.logprobs);let ce={itemId:ne.id,...ne.phase!=null&&{phase:ne.phase},...xe.annotations.length>0&&{annotations:xe.annotations}};de.push({type:"text",text:xe.text,providerMetadata:{[P]:ce}});for(let ve of xe.annotations)if(ve.type==="url_citation")de.push({type:"source",sourceType:"url",id:(p=(d=(u=this.config).generateId)==null?void 0:d.call(u))!=null?p:$t(),url:ve.url,title:ve.title});else if(ve.type==="file_citation")de.push({type:"source",sourceType:"document",id:(g=(m=(f=this.config).generateId)==null?void 0:m.call(f))!=null?g:$t(),mediaType:"text/plain",title:ve.filename,filename:ve.filename,providerMetadata:{[P]:{type:ve.type,fileId:ve.file_id,index:ve.index}}});else if(ve.type==="container_file_citation")de.push({type:"source",sourceType:"document",id:(w=(b=(h=this.config).generateId)==null?void 0:b.call(h))!=null?w:$t(),mediaType:"text/plain",title:ve.filename,filename:ve.filename,providerMetadata:{[P]:{type:ve.type,fileId:ve.file_id,containerId:ve.container_id}}});else if(ve.type==="file_path")de.push({type:"source",sourceType:"document",id:(S=(y=(_=this.config).generateId)==null?void 0:y.call(_))!=null?S:$t(),mediaType:"application/octet-stream",title:ve.file_id,filename:ve.file_id,providerMetadata:{[P]:{type:ve.type,fileId:ve.file_id,index:ve.index}}})}break}case"function_call":{We=!0;let xe=await S9({toolCall:{toolCallId:ne.call_id,toolName:ne.name,input:ne.arguments},tools:Ne,providerOptionsName:P,itemId:ne.id});if(xe!=null){de.push(...xe);break}de.push({type:"tool-call",toolCallId:ne.call_id,toolName:ne.name,input:ne.arguments,providerMetadata:{[P]:{itemId:ne.id,...ne.async!=null&&{async:ne.async},...ne.namespace!=null&&{namespace:ne.namespace}}}});break}case"custom_tool_call":{We=!0;let xe=be.toCustomToolName(ne.name);de.push({type:"tool-call",toolCallId:ne.call_id,toolName:xe,input:JSON.stringify(ne.input),providerMetadata:{[P]:{itemId:ne.id,...ne.async!=null&&{async:ne.async}}}});break}case"web_search_call":{de.push({type:"tool-call",toolCallId:ne.id,toolName:be.toCustomToolName(oe!=null?oe:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),de.push({type:"tool-result",toolCallId:ne.id,toolName:be.toCustomToolName(oe!=null?oe:"web_search"),result:R9(ne.action)});break}case"mcp_call":{let xe=ne.approval_request_id!=null?(A=T[ne.approval_request_id])!=null?A:ne.id:ne.id,ce=`mcp.${ne.name}`;de.push({type:"tool-call",toolCallId:xe,toolName:ce,input:ne.arguments,providerExecuted:!0,dynamic:!0}),de.push({type:"tool-result",toolCallId:xe,toolName:ce,result:{type:"call",serverLabel:ne.server_label,name:ne.name,arguments:ne.arguments,...ne.output!=null?{output:ne.output}:{},...ne.error!=null?{error:ne.error}:{}},providerMetadata:{[P]:{itemId:ne.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let xe=(v=ne.approval_request_id)!=null?v:ne.id,ce=(F=(z=(R=this.config).generateId)==null?void 0:z.call(R))!=null?F:$t(),ve=`mcp.${ne.name}`;de.push({type:"tool-call",toolCallId:ce,toolName:ve,input:ne.arguments,providerExecuted:!0,dynamic:!0}),de.push({type:"tool-approval-request",approvalId:xe,toolCallId:ce});break}case"computer_call":{de.push({type:"tool-call",toolCallId:ne.id,toolName:be.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),de.push({type:"tool-result",toolCallId:ne.id,toolName:be.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:ne.status||"completed"}});break}case"file_search_call":{de.push({type:"tool-call",toolCallId:ne.id,toolName:be.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),de.push({type:"tool-result",toolCallId:ne.id,toolName:be.toCustomToolName("file_search"),result:{queries:ne.queries,results:(M=(x=ne.results)==null?void 0:x.map((xe)=>({attributes:xe.attributes,fileId:xe.file_id,filename:xe.filename,score:xe.score,text:xe.text})))!=null?M:null}});break}case"code_interpreter_call":{de.push({type:"tool-call",toolCallId:ne.id,toolName:be.toCustomToolName("code_interpreter"),input:JSON.stringify({code:ne.code,containerId:ne.container_id}),providerExecuted:!0}),de.push({type:"tool-result",toolCallId:ne.id,toolName:be.toCustomToolName("code_interpreter"),result:{outputs:ne.outputs}});break}case"apply_patch_call":{We=!0,de.push({type:"tool-call",toolCallId:ne.call_id,toolName:be.toCustomToolName("apply_patch"),input:JSON.stringify({callId:ne.call_id,operation:ne.operation}),providerMetadata:{[P]:{itemId:ne.id}}});break}}let we={[P]:{responseId:X.id,...ze.length>0?{logprobs:ze}:{},...typeof X.service_tier==="string"?{serviceTier:X.service_tier}:{},...((q=X.reasoning)==null?void 0:q.context)!=null?{reasoningContext:X.reasoning.context}:{}}},B=X.usage;return{content:de,finishReason:{unified:iO({finishReason:(E=X.incomplete_details)==null?void 0:E.reason,hasFunctionCall:We}),raw:(Q=(N=X.incomplete_details)==null?void 0:N.reason)!=null?Q:void 0},usage:g9(B),request:{body:ae},response:{id:X.id,timestamp:new Date(X.created_at*1000),modelId:X.model,headers:le,body:re},providerMetadata:we,warnings:J}}async doStream(e){var t,n;let{args:r,warnings:i,webSearchToolName:a,toolNameMapping:s,store:l,providerOptionsName:c,isShellProviderExecuted:u}=await this.getArgs(e),d=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:p,value:f}=await St({url:d,headers:pt(this.config.headers(),e.headers),body:{...r,stream:!0},failedResponseHandler:ua,successfulResponseHandler:Xr(EOe),abortSignal:e.abortSignal,fetch:this.config.fetch}),m=await bO({stream:f,getError:(ae)=>k9(ae)||C9(ae)&&ae.response.error!=null?ae:void 0,isOutputChunk:YOe,url:d,requestBodyValues:r,responseHeaders:p}),g=this,h=I9(e.prompt),b=(n=(t=e.tools)==null?void 0:t.filter((ae)=>ae.type==="function"))!=null?n:[],w=new Map,_={unified:"other",raw:void 0},y=void 0,S=[],A=null,v={},R=[],z,F=!1,x={},M,q,E=[],N=!1;return{stream:m.pipeThrough(new TransformStream({start(ae){ae.enqueue({type:"stream-start",warnings:i})},transform(ae,J){var oe,be,P,L,se,T,le,X,re,de,ze,Ne,We,ee,we,B,ne,xe,ce,ve,Z,D,Pe,Oe,ye,Ce,Ke,qe,K,te,he,pe,st,Ue,Tn,Nn,bn,fr,Ft,En,gr,on,mn,Pn,Xn;if(e.includeRawChunks)J.enqueue({type:"raw",rawValue:ae.rawValue});if(!ae.success){let ie=BOe(ae.rawValue)?FOe({value:ae.rawValue,cause:ae.error,url:d,requestBodyValues:r,responseHeaders:p}):ae.error;N=!0,_={unified:"error",raw:void 0},J.enqueue({type:"error",error:ie});return}let O=ae.value;if(E9(O)){if(O.item.type==="function_call"){let ie=mO({toolName:O.item.name,tools:b});if(v[O.output_index]={toolName:O.item.name,toolCallId:O.item.call_id,suppressInputStreaming:ie,bufferedInputDeltas:ie?[]:void 0,async:O.item.async},!ie)J.enqueue({type:"tool-input-start",id:O.item.call_id,toolName:O.item.name})}else if(O.item.type==="custom_tool_call"){let ie=s.toCustomToolName(O.item.name);v[O.output_index]={toolName:ie,toolCallId:O.item.call_id,async:O.item.async},J.enqueue({type:"tool-input-start",id:O.item.call_id,toolName:ie})}else if(O.item.type==="web_search_call")v[O.output_index]={toolName:s.toCustomToolName(a!=null?a:"web_search"),toolCallId:O.item.id},J.enqueue({type:"tool-input-start",id:O.item.id,toolName:s.toCustomToolName(a!=null?a:"web_search"),providerExecuted:!0}),J.enqueue({type:"tool-input-end",id:O.item.id}),J.enqueue({type:"tool-call",toolCallId:O.item.id,toolName:s.toCustomToolName(a!=null?a:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if(O.item.type==="computer_call")v[O.output_index]={toolName:s.toCustomToolName("computer_use"),toolCallId:O.item.id},J.enqueue({type:"tool-input-start",id:O.item.id,toolName:s.toCustomToolName("computer_use"),providerExecuted:!0});else if(O.item.type==="code_interpreter_call")v[O.output_index]={toolName:s.toCustomToolName("code_interpreter"),toolCallId:O.item.id,codeInterpreter:{containerId:O.item.container_id}},J.enqueue({type:"tool-input-start",id:O.item.id,toolName:s.toCustomToolName("code_interpreter"),providerExecuted:!0}),J.enqueue({type:"tool-input-delta",id:O.item.id,delta:`{"containerId":"${O.item.container_id}","code":"`});else if(O.item.type==="file_search_call")J.enqueue({type:"tool-call",toolCallId:O.item.id,toolName:s.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if(O.item.type==="image_generation_call")J.enqueue({type:"tool-call",toolCallId:O.item.id,toolName:s.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if(O.item.type==="tool_search_call"){let ie=O.item.id,fe=s.toCustomToolName("tool_search"),Ge=O.item.execution==="server";if(v[O.output_index]={toolName:fe,toolCallId:ie,toolSearchExecution:(oe=O.item.execution)!=null?oe:"server"},Ge)J.enqueue({type:"tool-input-start",id:ie,toolName:fe,providerExecuted:!0})}else if(O.item.type==="tool_search_output");else if(O.item.type==="mcp_call"||O.item.type==="mcp_list_tools"||O.item.type==="mcp_approval_request");else if(O.item.type==="apply_patch_call"){let{call_id:ie,operation:fe}=O.item;if(v[O.output_index]={toolName:s.toCustomToolName("apply_patch"),toolCallId:ie,applyPatch:{hasDiff:fe.type==="delete_file",endEmitted:fe.type==="delete_file"}},J.enqueue({type:"tool-input-start",id:ie,toolName:s.toCustomToolName("apply_patch")}),fe.type==="delete_file"){let Ge=JSON.stringify({callId:ie,operation:fe});J.enqueue({type:"tool-input-delta",id:ie,delta:Ge}),J.enqueue({type:"tool-input-end",id:ie})}else J.enqueue({type:"tool-input-delta",id:ie,delta:`{"callId":"${Au(ie)}","operation":{"type":"${Au(fe.type)}","path":"${Au(fe.path)}","diff":"`})}else if(O.item.type==="shell_call")v[O.output_index]={toolName:s.toCustomToolName("shell"),toolCallId:O.item.call_id};else if(O.item.type==="shell_call_output");else if(O.item.type==="message")R.splice(0),z=(be=O.item.phase)!=null?be:void 0,J.enqueue({type:"text-start",id:O.item.id,providerMetadata:{[c]:{itemId:O.item.id,...O.item.phase!=null&&{phase:O.item.phase}}}});else if(E9(O)&&O.item.type==="reasoning")x[O.item.id]={encryptedContent:O.item.encrypted_content,summaryParts:{0:"active"}},J.enqueue({type:"reasoning-start",id:`${O.item.id}:0`,providerMetadata:{[c]:{itemId:O.item.id,reasoningEncryptedContent:(P=O.item.encrypted_content)!=null?P:null}}})}else if(LOe(O)){if(O.item.type==="message"){let ie=(L=O.item.phase)!=null?L:z;z=void 0,J.enqueue({type:"text-end",id:O.item.id,providerMetadata:{[c]:{itemId:O.item.id,...ie!=null&&{phase:ie},...R.length>0&&{annotations:R}}}})}else if(O.item.type==="function_call"){let ie=O.item,fe=v[O.output_index];v[O.output_index]=void 0,F=!0;let Ge=(se=fe==null?void 0:fe.suppressInputStreaming)!=null?se:mO({toolName:ie.name,tools:b}),zn=()=>{var lt;if(Ge){J.enqueue({type:"tool-input-start",id:ie.call_id,toolName:ie.name});let ot=(lt=fe==null?void 0:fe.bufferedInputDeltas)!=null?lt:[];if(ot.length>0)for(let oi of ot)J.enqueue({type:"tool-input-delta",id:ie.call_id,delta:oi});else if(ie.arguments.length>0)J.enqueue({type:"tool-input-delta",id:ie.call_id,delta:ie.arguments})}J.enqueue({type:"tool-input-end",id:ie.call_id,...ie.namespace!=null&&{providerMetadata:{[c]:{namespace:ie.namespace}}}}),J.enqueue({type:"tool-call",toolCallId:ie.call_id,toolName:ie.name,input:ie.arguments,providerMetadata:{[c]:{itemId:ie.id,...ie.async!=null?{async:ie.async}:(fe==null?void 0:fe.async)!=null?{async:fe.async}:{},...ie.namespace!=null&&{namespace:ie.namespace}}}})};if(!Ge){zn();return}return S9({toolCall:{toolCallId:ie.call_id,toolName:ie.name,input:ie.arguments},tools:b,providerOptionsName:c,itemId:ie.id}).then((lt)=>{if(lt==null){zn();return}for(let ot of lt)J.enqueue({type:"tool-input-start",id:ot.toolCallId,toolName:ot.toolName}),J.enqueue({type:"tool-input-delta",id:ot.toolCallId,delta:ot.input}),J.enqueue({type:"tool-input-end",id:ot.toolCallId}),J.enqueue(ot)})}else if(O.item.type==="custom_tool_call"){let ie=v[O.output_index];v[O.output_index]=void 0,F=!0;let fe=s.toCustomToolName(O.item.name);J.enqueue({type:"tool-input-end",id:O.item.call_id}),J.enqueue({type:"tool-call",toolCallId:O.item.call_id,toolName:fe,input:JSON.stringify(O.item.input),providerMetadata:{[c]:{itemId:O.item.id,...O.item.async!=null?{async:O.item.async}:(ie==null?void 0:ie.async)!=null?{async:ie.async}:{}}}})}else if(O.item.type==="web_search_call")v[O.output_index]=void 0,J.enqueue({type:"tool-result",toolCallId:O.item.id,toolName:s.toCustomToolName(a!=null?a:"web_search"),result:R9(O.item.action)});else if(O.item.type==="computer_call")v[O.output_index]=void 0,J.enqueue({type:"tool-input-end",id:O.item.id}),J.enqueue({type:"tool-call",toolCallId:O.item.id,toolName:s.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),J.enqueue({type:"tool-result",toolCallId:O.item.id,toolName:s.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:O.item.status||"completed"}});else if(O.item.type==="file_search_call")v[O.output_index]=void 0,J.enqueue({type:"tool-result",toolCallId:O.item.id,toolName:s.toCustomToolName("file_search"),result:{queries:O.item.queries,results:(le=(T=O.item.results)==null?void 0:T.map((ie)=>({attributes:ie.attributes,fileId:ie.file_id,filename:ie.filename,score:ie.score,text:ie.text})))!=null?le:null}});else if(O.item.type==="code_interpreter_call")v[O.output_index]=void 0,J.enqueue({type:"tool-result",toolCallId:O.item.id,toolName:s.toCustomToolName("code_interpreter"),result:{outputs:O.item.outputs}});else if(O.item.type==="image_generation_call")J.enqueue({type:"tool-result",toolCallId:O.item.id,toolName:s.toCustomToolName("image_generation"),result:{result:O.item.result}});else if(O.item.type==="tool_search_call"){let ie=v[O.output_index],fe=O.item.execution==="server";if(ie!=null){let Ge=fe?ie.toolCallId:(X=O.item.call_id)!=null?X:O.item.id;if(fe)E.push(Ge);else J.enqueue({type:"tool-input-start",id:Ge,toolName:ie.toolName});J.enqueue({type:"tool-input-end",id:Ge}),J.enqueue({type:"tool-call",toolCallId:Ge,toolName:ie.toolName,input:JSON.stringify({arguments:O.item.arguments,call_id:fe?null:Ge}),...fe?{providerExecuted:!0}:{},providerMetadata:{[c]:{itemId:O.item.id}}})}v[O.output_index]=void 0}else if(O.item.type==="tool_search_output"){let ie=(de=(re=O.item.call_id)!=null?re:E.shift())!=null?de:O.item.id;J.enqueue({type:"tool-result",toolCallId:ie,toolName:s.toCustomToolName("tool_search"),result:{tools:O.item.tools},providerMetadata:{[c]:{itemId:O.item.id}}})}else if(O.item.type==="mcp_call"){v[O.output_index]=void 0;let ie=(ze=O.item.approval_request_id)!=null?ze:void 0,fe=ie!=null?(We=(Ne=w.get(ie))!=null?Ne:h[ie])!=null?We:O.item.id:O.item.id,Ge=`mcp.${O.item.name}`;J.enqueue({type:"tool-call",toolCallId:fe,toolName:Ge,input:O.item.arguments,providerExecuted:!0,dynamic:!0}),J.enqueue({type:"tool-result",toolCallId:fe,toolName:Ge,result:{type:"call",serverLabel:O.item.server_label,name:O.item.name,arguments:O.item.arguments,...O.item.output!=null?{output:O.item.output}:{},...O.item.error!=null?{error:O.item.error}:{}},providerMetadata:{[c]:{itemId:O.item.id}}})}else if(O.item.type==="mcp_list_tools")v[O.output_index]=void 0;else if(O.item.type==="apply_patch_call"){let ie=v[O.output_index];if((ie==null?void 0:ie.applyPatch)&&!ie.applyPatch.endEmitted&&O.item.operation.type!=="delete_file"){if(!ie.applyPatch.hasDiff)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:Au(O.item.operation.diff)});J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:'"}}'}),J.enqueue({type:"tool-input-end",id:ie.toolCallId}),ie.applyPatch.endEmitted=!0}if(ie&&O.item.status==="completed")F=!0,J.enqueue({type:"tool-call",toolCallId:ie.toolCallId,toolName:s.toCustomToolName("apply_patch"),input:JSON.stringify({callId:O.item.call_id,operation:O.item.operation}),providerMetadata:{[c]:{itemId:O.item.id}}});v[O.output_index]=void 0}else if(O.item.type==="mcp_approval_request"){v[O.output_index]=void 0;let ie=(B=(we=(ee=g.config).generateId)==null?void 0:we.call(ee))!=null?B:$t(),fe=(ne=O.item.approval_request_id)!=null?ne:O.item.id;w.set(fe,ie);let Ge=`mcp.${O.item.name}`;J.enqueue({type:"tool-call",toolCallId:ie,toolName:Ge,input:O.item.arguments,providerExecuted:!0,dynamic:!0}),J.enqueue({type:"tool-approval-request",approvalId:fe,toolCallId:ie})}else if(O.item.type==="local_shell_call")v[O.output_index]=void 0,J.enqueue({type:"tool-call",toolCallId:O.item.call_id,toolName:s.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:O.item.action.command,timeoutMs:O.item.action.timeout_ms,user:O.item.action.user,workingDirectory:O.item.action.working_directory,env:O.item.action.env}}),providerMetadata:{[c]:{itemId:O.item.id}}});else if(O.item.type==="shell_call")v[O.output_index]=void 0,J.enqueue({type:"tool-call",toolCallId:O.item.call_id,toolName:s.toCustomToolName("shell"),input:JSON.stringify({action:{commands:O.item.action.commands}}),...u&&{providerExecuted:!0},providerMetadata:{[c]:{itemId:O.item.id}}});else if(O.item.type==="shell_call_output")J.enqueue({type:"tool-result",toolCallId:O.item.call_id,toolName:s.toCustomToolName("shell"),result:{output:O.item.output.map((ie)=>({stdout:ie.stdout,stderr:ie.stderr,outcome:ie.outcome.type==="exit"?{type:"exit",exitCode:ie.outcome.exit_code}:{type:"timeout"}}))}});else if(O.item.type==="reasoning"){let ie=x[O.item.id],fe=Object.entries(ie.summaryParts).filter(([Ge,zn])=>zn==="active"||zn==="can-conclude").map(([Ge])=>Ge);for(let Ge of fe)J.enqueue({type:"reasoning-end",id:`${O.item.id}:${Ge}`,providerMetadata:{[c]:{itemId:O.item.id,reasoningEncryptedContent:(xe=O.item.encrypted_content)!=null?xe:null}}});delete x[O.item.id]}}else if(ZOe(O)){let ie=v[O.output_index];if(ie!=null)if(ie.suppressInputStreaming)(ce=ie.bufferedInputDeltas)==null||ce.push(O.delta);else J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:O.delta})}else if(WOe(O)){let ie=v[O.output_index];if(ie!=null)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:O.delta})}else if(HOe(O)){let ie=v[O.output_index];if(ie==null?void 0:ie.applyPatch)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:Au(O.delta)}),ie.applyPatch.hasDiff=!0}else if(KOe(O)){let ie=v[O.output_index];if((ie==null?void 0:ie.applyPatch)&&!ie.applyPatch.endEmitted){if(!ie.applyPatch.hasDiff)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:Au(O.diff)}),ie.applyPatch.hasDiff=!0;J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:'"}}'}),J.enqueue({type:"tool-input-end",id:ie.toolCallId}),ie.applyPatch.endEmitted=!0}}else if(GOe(O))J.enqueue({type:"tool-result",toolCallId:O.item_id,toolName:s.toCustomToolName("image_generation"),result:{result:O.partial_image_b64},preliminary:!0});else if(JOe(O)){let ie=v[O.output_index];if(ie!=null)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:Au(O.delta)})}else if(VOe(O)){let ie=v[O.output_index];if(ie!=null)J.enqueue({type:"tool-input-delta",id:ie.toolCallId,delta:'"}'}),J.enqueue({type:"tool-input-end",id:ie.toolCallId}),J.enqueue({type:"tool-call",toolCallId:ie.toolCallId,toolName:s.toCustomToolName("code_interpreter"),input:JSON.stringify({code:O.code,containerId:ie.codeInterpreter.containerId}),providerExecuted:!0})}else if(UOe(O))A=O.response.id,J.enqueue({type:"response-metadata",id:O.response.id,timestamp:new Date(O.response.created_at*1000),modelId:O.response.model});else if(zOe(O)){if(J.enqueue({type:"text-delta",id:O.item_id,delta:O.delta}),((Z=(ve=e.providerOptions)==null?void 0:ve[c])==null?void 0:Z.logprobs)&&O.logprobs)S.push(O.logprobs)}else if(O.type==="response.reasoning_summary_part.added"){if(O.summary_index>0){let ie=x[O.item_id];ie.summaryParts[O.summary_index]="active";for(let fe of Object.keys(ie.summaryParts))if(ie.summaryParts[fe]==="can-conclude")J.enqueue({type:"reasoning-end",id:`${O.item_id}:${fe}`,providerMetadata:{[c]:{itemId:O.item_id}}}),ie.summaryParts[fe]="concluded";J.enqueue({type:"reasoning-start",id:`${O.item_id}:${O.summary_index}`,providerMetadata:{[c]:{itemId:O.item_id,reasoningEncryptedContent:(Pe=(D=x[O.item_id])==null?void 0:D.encryptedContent)!=null?Pe:null}}})}}else if(O.type==="response.reasoning_summary_text.delta")J.enqueue({type:"reasoning-delta",id:`${O.item_id}:${O.summary_index}`,delta:O.delta,providerMetadata:{[c]:{itemId:O.item_id}}});else if(O.type==="response.reasoning_summary_part.done")if(l)J.enqueue({type:"reasoning-end",id:`${O.item_id}:${O.summary_index}`,providerMetadata:{[c]:{itemId:O.item_id}}}),x[O.item_id].summaryParts[O.summary_index]="concluded";else x[O.item_id].summaryParts[O.summary_index]="can-conclude";else if($Oe(O)){if(!N)_={unified:iO({finishReason:(Oe=O.response.incomplete_details)==null?void 0:Oe.reason,hasFunctionCall:F}),raw:(Ce=(ye=O.response.incomplete_details)==null?void 0:ye.reason)!=null?Ce:void 0};if(y=(Ke=O.response.usage)!=null?Ke:void 0,typeof O.response.service_tier==="string")M=O.response.service_tier;if(((qe=O.response.reasoning)==null?void 0:qe.context)!=null)q=O.response.reasoning.context}else if(C9(O)){let ie=(K=O.response.incomplete_details)==null?void 0:K.reason;if(_={unified:ie?iO({finishReason:ie,hasFunctionCall:F}):"error",raw:ie!=null?ie:"error"},y=(te=O.response.usage)!=null?te:void 0,((he=O.response.reasoning)==null?void 0:he.context)!=null)q=O.response.reasoning.context;if(!N&&O.response.error!=null){N=!0;let fe={type:"response.failed",sequence_number:O.sequence_number,response:{error:O.response.error,incomplete_details:O.response.incomplete_details,service_tier:O.response.service_tier}};J.enqueue({type:"error",error:(pe=o9(fe))!=null?pe:fe})}}else if(QOe(O)){if(R.push(O.annotation),O.annotation.type==="url_citation")J.enqueue({type:"source",sourceType:"url",id:(Tn=(Ue=(st=g.config).generateId)==null?void 0:Ue.call(st))!=null?Tn:$t(),url:O.annotation.url,title:O.annotation.title});else if(O.annotation.type==="file_citation")J.enqueue({type:"source",sourceType:"document",id:(fr=(bn=(Nn=g.config).generateId)==null?void 0:bn.call(Nn))!=null?fr:$t(),mediaType:"text/plain",title:O.annotation.filename,filename:O.annotation.filename,providerMetadata:{[c]:{type:O.annotation.type,fileId:O.annotation.file_id,index:O.annotation.index}}});else if(O.annotation.type==="container_file_citation")J.enqueue({type:"source",sourceType:"document",id:(gr=(En=(Ft=g.config).generateId)==null?void 0:En.call(Ft))!=null?gr:$t(),mediaType:"text/plain",title:O.annotation.filename,filename:O.annotation.filename,providerMetadata:{[c]:{type:O.annotation.type,fileId:O.annotation.file_id,containerId:O.annotation.container_id}}});else if(O.annotation.type==="file_path")J.enqueue({type:"source",sourceType:"document",id:(Pn=(mn=(on=g.config).generateId)==null?void 0:mn.call(on))!=null?Pn:$t(),mediaType:"application/octet-stream",title:O.annotation.file_id,filename:O.annotation.file_id,providerMetadata:{[c]:{type:O.annotation.type,fileId:O.annotation.file_id,index:O.annotation.index}}})}else if(k9(O))N=!0,_={unified:"error",raw:"error"},J.enqueue({type:"error",error:(Xn=o9(O))!=null?Xn:O})},flush(ae){var J;for(let be of Object.values(v)){if(!(be==null?void 0:be.suppressInputStreaming))continue;ae.enqueue({type:"tool-input-start",id:be.toolCallId,toolName:be.toolName});for(let P of(J=be.bufferedInputDeltas)!=null?J:[])ae.enqueue({type:"tool-input-delta",id:be.toolCallId,delta:P})}let oe={[c]:{responseId:A,...S.length>0?{logprobs:S}:{},...M!==void 0?{serviceTier:M}:{},...q!==void 0?{reasoningContext:q}:{}}};ae.enqueue({type:"finish",finishReason:_,usage:g9(y),providerMetadata:oe})}})),request:{body:r},response:{headers:p}}}};function zOe(e){return e.type==="response.output_text.delta"}function BOe(e){let t=qOe(e);return t!=null&&Array.isArray(t.choices)&&typeof t.type!=="string"}function FOe({value:e,cause:t,url:n,requestBodyValues:r,responseHeaders:i}){return new Dt({message:"Received a Chat Completions stream while using the OpenAI Responses API. The default OpenAI provider model uses the Responses API. If your custom baseURL targets a Chat Completions-compatible endpoint, use openai.chat('model-id') or createOpenAI(...).chat('model-id') instead. You can also use @ai-sdk/openai-compatible for OpenAI-compatible providers.",url:n,requestBodyValues:r,responseHeaders:i,responseBody:JSON.stringify(e),cause:t,data:e,isRetryable:!1})}function qOe(e){return typeof e==="object"&&e!=null?e:void 0}function LOe(e){return e.type==="response.output_item.done"}function $Oe(e){return e.type==="response.completed"||e.type==="response.incomplete"}function C9(e){return e.type==="response.failed"}function UOe(e){return e.type==="response.created"}function ZOe(e){return e.type==="response.function_call_arguments.delta"}function WOe(e){return e.type==="response.custom_tool_call_input.delta"}function GOe(e){return e.type==="response.image_generation_call.partial_image"}function JOe(e){return e.type==="response.code_interpreter_call_code.delta"}function VOe(e){return e.type==="response.code_interpreter_call_code.done"}function HOe(e){return e.type==="response.apply_patch_call_operation_diff.delta"}function KOe(e){return e.type==="response.apply_patch_call_operation_diff.done"}function E9(e){return e.type==="response.output_item.added"}function QOe(e){return e.type==="response.output_text.annotation.added"}function k9(e){return e.type==="error"}function YOe(e){return!(e.type==="response.created"||e.type==="response.failed"||e.type==="error"||e.type==="unknown_chunk")}function R9(e){var t;if(e==null)return{};switch(e.type){case"search":return{action:{type:"search",query:(t=e.query)!=null?t:void 0,...e.queries!=null&&{queries:e.queries}},...e.sources!=null&&{sources:e.sources}};case"open_page":return{action:{type:"openPage",url:e.url}};case"find_in_page":return{action:{type:"findInPage",url:e.url,pattern:e.pattern}}}}function Au(e){return JSON.stringify(e).slice(1,-1)}var XOe=G(()=>W(o.object({instructions:o.string().nullish(),speed:o.number().min(0.25).max(4).default(1).nullish()}))),eMe=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({text:e,voice:t="alloy",outputFormat:n="mp3",speed:r,instructions:i,language:a,providerOptions:s}){let l=[],c=await Pt({provider:"openai",providerOptions:s,schema:XOe}),u={model:this.modelId,input:e,voice:t,response_format:"mp3",speed:r,instructions:i};if(n)if(["mp3","opus","aac","flac","wav","pcm"].includes(n))u.response_format=n;else l.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${n}. Using mp3 instead.`});if(c){let d={};for(let p in d){let f=d[p];if(f!==void 0)u[p]=f}}if(a)l.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${a}" was ignored.`});return{requestBody:u,warnings:l}}async doGenerate(e){var t,n,r;let i=(r=(n=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:n.call(t))!=null?r:new Date,{requestBody:a,warnings:s}=await this.getArgs(e),{value:l,responseHeaders:c,rawValue:u}=await St({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:pt(this.config.headers(),e.headers),body:a,failedResponseHandler:ua,successfulResponseHandler:AH(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:l,warnings:s,request:{body:JSON.stringify(a)},response:{timestamp:i,modelId:this.modelId,headers:c,body:u}}}},tMe=G(()=>W(o.object({text:o.string(),language:o.string().nullish(),duration:o.number().nullish(),words:o.array(o.object({word:o.string(),start:o.number(),end:o.number()})).nullish(),segments:o.array(o.object({id:o.number(),seek:o.number(),start:o.number(),end:o.number(),text:o.string(),tokens:o.array(o.number()),temperature:o.number(),avg_logprob:o.number(),compression_ratio:o.number(),no_speech_prob:o.number()})).nullish()}))),nMe=G(()=>W(o.object({include:o.array(o.string()).optional(),language:o.string().optional(),prompt:o.string().optional(),temperature:o.number().min(0).max(1).default(0).optional(),timestampGranularities:o.array(o.enum(["word","segment"])).default(["segment"]).optional()}))),A9={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"},rMe=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:n}){let r=[],i=await Pt({provider:"openai",providerOptions:n,schema:nMe}),a=new FormData,s=e instanceof Uint8Array?new Blob([e]):new Blob([Lr(e)]);a.append("model",this.modelId);let l=xH(t);if(a.append("file",new File([s],"audio",{type:t}),`audio.${l}`),i){let c={include:i.include,language:i.language,prompt:i.prompt,response_format:["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId)?"json":"verbose_json",temperature:i.temperature,timestamp_granularities:i.timestampGranularities};for(let[u,d]of Object.entries(c))if(d!=null)if(Array.isArray(d))for(let p of d)a.append(`${u}[]`,String(p));else a.append(u,String(d))}return{formData:a,warnings:r}}async doGenerate(e){var t,n,r,i,a,s,l,c;let u=(r=(n=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:n.call(t))!=null?r:new Date,{formData:d,warnings:p}=await this.getArgs(e),{value:f,responseHeaders:m,rawValue:g}=await Ox({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:pt(this.config.headers(),e.headers),formData:d,failedResponseHandler:ua,successfulResponseHandler:ht(tMe),abortSignal:e.abortSignal,fetch:this.config.fetch}),h=f.language!=null&&f.language in A9?A9[f.language]:void 0;return{text:f.text,segments:(l=(s=(i=f.segments)==null?void 0:i.map((b)=>({text:b.text,startSecond:b.start,endSecond:b.end})))!=null?s:(a=f.words)==null?void 0:a.map((b)=>({text:b.word,startSecond:b.start,endSecond:b.end})))!=null?l:[],language:h,durationInSeconds:(c=f.duration)!=null?c:void 0,warnings:p,response:{timestamp:u,modelId:this.modelId,headers:m,body:g}}}},oMe="3.0.125";function Kp(e={}){var t,n;let r=(t=Wl(Va({settingValue:e.baseURL,environmentVariableName:"OPENAI_BASE_URL"})))!=null?t:"https://api.openai.com/v1",i=(n=e.name)!=null?n:"openai",a=()=>Yn({Authorization:`Bearer ${Fp({apiKey:e.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},`ai-sdk/openai/${oMe}`),s=(h)=>new d0e(h,{provider:`${i}.chat`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),l=(h)=>new h0e(h,{provider:`${i}.completion`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),c=(h)=>new S0e(h,{provider:`${i}.embedding`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),u=(h)=>new E0e(h,{provider:`${i}.image`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),d=(h)=>new rMe(h,{provider:`${i}.transcription`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),p=(h)=>new eMe(h,{provider:`${i}.speech`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch}),f=(h)=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return m(h)},m=(h)=>new NOe(h,{provider:`${i}.responses`,url:({path:b})=>`${r}${b}`,headers:a,fetch:e.fetch,fileIdPrefixes:["file-"]}),g=function(h){return f(h)};return g.specificationVersion="v3",g.languageModel=f,g.chat=s,g.completion=l,g.responses=m,g.embedding=c,g.embeddingModel=c,g.textEmbedding=c,g.textEmbeddingModel=c,g.image=u,g.imageModel=u,g.transcription=d,g.transcriptionModel=d,g.speech=p,g.speechModel=p,g.tools=fOe,g}var IEt=Kp();var iMe=G(()=>W(o.object({error:o.object({code:o.number().nullable(),message:o.string(),status:o.string(),details:o.array(o.unknown()).nullish()})}))),ri=yn({errorSchema:iMe,errorToMessage:(e)=>e.error.message}),aMe=o.object({languageCodes:o.array(o.string()).optional(),customVocabulary:o.array(o.string()).optional(),wordTimestamp:o.boolean().optional(),diarization:o.boolean().optional(),mode:o.enum(["SMART","VERBATIM"]).optional()});function sMe(e){return e.includes("-live")}var lMe=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v3"}get provider(){return this.config.provider}async parseOptions(e){return Pt({provider:"google",providerOptions:e,schema:aMe})}async doGenerate(e){var t,n,r,i,a,s;if(sMe(this.modelId))throw new ql({argument:"modelId",message:`Model '${this.modelId}' only supports streaming transcription, which requires AI SDK v7. Use a unary model such as 'gemini-3.5-transcribe'.`});let l=(r=(n=(t=this.config._internal)==null?void 0:t.currentDate)==null?void 0:n.call(t))!=null?r:new Date,c=[],u=await this.parseOptions(e.providerOptions),d=cMe(u),p={model:this.modelId,input:[{type:"audio",data:or(e.audio),mime_type:e.mediaType}],...d!=null?{generation_config:{transcription_config:d}}:{}},{value:f,responseHeaders:m,rawValue:g}=await St({url:`${this.config.baseURL}/interactions`,headers:pt(this.config.headers?await mt(this.config.headers):void 0,e.headers),body:p,failedResponseHandler:ri,successfulResponseHandler:ht(dMe),abortSignal:e.abortSignal,fetch:this.config.fetch}),h="",b=[];for(let w of(i=f.steps)!=null?i:[])for(let _ of(a=w.content)!=null?a:[]){if(_.type!=="text"||_.text==null)continue;h+=_.text;for(let y of(s=_.annotations)!=null?s:[]){if(y.type!=="word_info")continue;let S=W9(y.start_offset),A=W9(y.end_offset);if(y.text==null||S==null||A==null)continue;b.push({text:y.text,startSecond:S,endSecond:A})}}return{text:h,segments:b,language:void 0,durationInSeconds:void 0,warnings:c,response:{timestamp:l,modelId:this.modelId,headers:m,body:g},...f.usage!=null?{providerMetadata:{google:{usage:f.usage}}}:{}}}};function cMe(e){var t;if(e==null)return;let n={};if(e.languageCodes!=null)n.language_codes=e.languageCodes;if(e.customVocabulary!=null)n.custom_vocabulary=e.customVocabulary;if(e.mode!=null||e.diarization===!0||e.wordTimestamp===!0)n.mode={type:((t=e.mode)!=null?t:"VERBATIM").toLowerCase(),...e.diarization===!0?{diarization_mode:"speaker"}:{},...e.wordTimestamp===!0?{timestamp_granularities:["word"]}:{}};return Object.keys(n).length>0?n:void 0}function W9(e){if(e==null)return;let t=Number.parseFloat(e);return Number.isFinite(t)?t:void 0}var uMe=o.object({type:o.string().nullish(),text:o.string().nullish(),speaker:o.string().nullish(),start_offset:o.string().nullish(),end_offset:o.string().nullish()}),dMe=o.object({status:o.string().nullish(),steps:o.array(o.object({type:o.string().nullish(),content:o.array(o.object({type:o.string().nullish(),text:o.string().nullish(),annotations:o.array(uMe).nullish()})).nullish()})).nullish(),usage:o.record(o.string(),o.unknown()).nullish()}),pMe="3.0.131",mMe=o.union([o.object({text:o.string()}),o.object({inlineData:o.object({mimeType:o.string(),data:o.string()})}),o.object({fileData:o.object({fileUri:o.string(),mimeType:o.string()})})]),fMe=G(()=>W(o.object({outputDimensionality:o.number().optional(),taskType:o.enum(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:o.array(o.array(mMe).min(1).nullable()).optional()}))),u8;u8=Ax;var gMe=class{constructor(e,t){this.specificationVersion="v3",this.maxEmbeddingsPerCall=100,this.supportsParallelCalls=!0,this[u8]=({providerOptions:n,values:r,startIndex:i,endIndex:a})=>{var s;let l=(s=n==null?void 0:n.google)==null?void 0:s.content;if(!Array.isArray(l))return n;return G9({multimodalContent:l,values:r}),{...n,google:{...n==null?void 0:n.google,content:l.slice(i,a)}}},this.modelId=e,this.config=t}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:n,providerOptions:r}){let i=await Pt({provider:"google",providerOptions:r,schema:fMe});if(e.length>this.maxEmbeddingsPerCall)throw new gx({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let a=pt(await mt(this.config.headers),t),s=i==null?void 0:i.content;if(G9({multimodalContent:s,values:e}),e.length===1){let d=s==null?void 0:s[0],p=e[0]?[{text:e[0]}]:[],f=d!=null?[...p,...d]:[{text:e[0]}],{responseHeaders:m,value:g,rawValue:h}=await St({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:a,body:{model:`models/${this.modelId}`,content:{parts:f},outputDimensionality:i==null?void 0:i.outputDimensionality,taskType:i==null?void 0:i.taskType},failedResponseHandler:ri,successfulResponseHandler:ht(yMe),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:[g.embedding.values],usage:void 0,response:{headers:m,body:h}}}let{responseHeaders:l,value:c,rawValue:u}=await St({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:a,body:{requests:e.map((d,p)=>{let f=s==null?void 0:s[p],m=d?[{text:d}]:[];return{model:`models/${this.modelId}`,content:{role:"user",parts:f!=null?[...m,...f]:[{text:d}]},outputDimensionality:i==null?void 0:i.outputDimensionality,taskType:i==null?void 0:i.taskType}})},failedResponseHandler:ri,successfulResponseHandler:ht(hMe),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:c.embeddings.map((d)=>d.values),usage:void 0,response:{headers:l,body:u}}}},hMe=G(()=>W(o.object({embeddings:o.array(o.object({values:o.array(o.number())}))}))),yMe=G(()=>W(o.object({embedding:o.object({values:o.array(o.number())})})));function G9({multimodalContent:e,values:t}){if(e!=null&&e.length!==t.length)throw Error(`The number of multimodal content entries (${e.length}) must match the number of values (${t.length}).`)}function J9(e){var t,n,r,i;if(e==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 a=(t=e.promptTokenCount)!=null?t:0,s=(n=e.candidatesTokenCount)!=null?n:0,l=(r=e.cachedContentTokenCount)!=null?r:0,c=(i=e.thoughtsTokenCount)!=null?i:0;return{inputTokens:{total:a,noCache:a-l,cacheRead:l,cacheWrite:void 0},outputTokens:{total:s+c,text:s,reasoning:c},raw:e}}var d8="recursive JSON Schema reference:";function bMe(e){return Nt.isInstance(e)&&e.functionality.startsWith(d8)}function p8(e,t=!0){let n=typeof e==="object"?e:void 0;return Ya(e,t,{definitions:n==null?void 0:n.definitions,dollarDefinitions:n==null?void 0:n.$defs,resolvingReferences:new Set})}function Ya(e,t,n){if(e==null)return;if(typeof e==="boolean")return{type:"boolean",properties:{}};if(e.$ref!=null)return xMe({jsonSchema:e,reference:e.$ref,isRoot:t,referenceContext:n});if(TMe(e)){if(t)return;if(e.description)return{type:"object",description:e.description};return{type:"object"}}let{type:r,description:i,required:a,properties:s,items:l,allOf:c,anyOf:u,oneOf:d,format:p,const:f,minLength:m,enum:g}=e,h={};if(i)h.description=i;if(a)h.required=a;if(p)h.format=p;if(r)if(Array.isArray(r)){let w=r.includes("null"),_=r.filter((y)=>y!=="null");if(_.length===0)h.type="null";else if(h.anyOf=_.map((y)=>({type:y})),w)h.nullable=!0}else h.type=r;let b=g!=null?g:f!==void 0?[f]:void 0;if(b!==void 0)vMe({values:b,type:r,result:h});if(s!=null)h.properties=Object.entries(s).reduce((w,[_,y])=>(w[_]=Ya(y,!1,n),w),{});if(l)h.items=Array.isArray(l)?l.map((w)=>Ya(w,!1,n)):Ya(l,!1,n);if(c)h.allOf=c.map((w)=>Ya(w,!1,n));if(u)if(u.some((w)=>typeof w==="object"&&(w==null?void 0:w.type)==="null")){let w=u.filter((_)=>!(typeof _==="object"&&(_==null?void 0:_.type)==="null"));if(w.length===1){let _=Ya(w[0],!1,n);if(typeof _==="object")h.nullable=!0,Object.assign(h,_)}else h.anyOf=w.map((_)=>Ya(_,!1,n)),h.nullable=!0}else h.anyOf=u.map((w)=>Ya(w,!1,n));if(d)h.oneOf=d.map((w)=>Ya(w,!1,n));if(m!==void 0)h.minLength=m;return h}function vMe({values:e,type:t,result:n}){let r=Array.isArray(t)&&t.includes("null")||t===void 0&&e.includes(null),i=r?e.filter((s)=>s!==null):e;if(e.length>0&&e.every((s)=>s===null)){if(t===void 0||t==="null"||Array.isArray(t)&&t.includes("null")){if(n.type="null",Array.isArray(t))delete n.anyOf;return}}let a=SMe({values:i,type:t});if(a===void 0)throw new Nt({functionality:"JSON Schema enum with mixed or unsupported values",message:"Google does not support this JSON Schema enum. Enum values must share one supported primitive type and match the schema type."});if(n.type=a,Array.isArray(t))delete n.anyOf;if(r)n.nullable=!0;if(a==="string")n.enum=i;else n.format="enum",n.enum=i.map(String)}function SMe({values:e,type:t}){if(e.length===0)return;let n=(r)=>t===void 0||t===r||Array.isArray(t)&&t.includes(r);if(n("string")&&e.every((r)=>typeof r==="string"))return"string";if((n("number")||n("integer"))&&e.every((r)=>typeof r==="number"&&Number.isFinite(r))){if(n("number"))return"number";if(e.every((r)=>Number.isInteger(r)))return"integer"}if(n("boolean")&&e.every((r)=>typeof r==="boolean"))return"boolean";return}function xMe({jsonSchema:e,reference:t,isRoot:n,referenceContext:r}){let{definition:i,referenceKey:a}=wMe(t,r);if(r.resolvingReferences.has(a))throw new Nt({functionality:`${d8} ${t}`,message:"Google schema conversion does not support recursive JSON Schema references."});let s=new Set(r.resolvingReferences);s.add(a);let{$ref:l,...c}=e,u=typeof i==="boolean"?i?c:!1:{...i,...c};return Ya(u,n,{...r,resolvingReferences:s})}function wMe(e,t){let r=[{prefix:"#/$defs/",definitions:t.dollarDefinitions},{prefix:"#/definitions/",definitions:t.definitions}].find(({prefix:l})=>e.startsWith(l)),i=r?e.slice(r.prefix.length):void 0;if(r==null||i==null||i.length===0||i.includes("/"))rw(e);let a;try{a=decodeURIComponent(i)}catch(l){rw(e)}if(a.includes("/")||/~(?![01])/u.test(a)||r.definitions==null)rw(e);let s=a.replace(/~[01]/g,(l)=>l==="~1"?"/":"~");if(!Object.prototype.hasOwnProperty.call(r.definitions,s))rw(e);return{definition:r.definitions[s],referenceKey:`${r.prefix}${s}`}}function rw(e){throw new Nt({functionality:`JSON Schema reference: ${e}`,message:"Google schema conversion only supports references to direct children of root-level $defs or definitions."})}function TMe(e){return e!=null&&typeof e==="object"&&e.type==="object"&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}var _Me="skip_thought_signature_validator";function V9(e,t){let n=[t,"google","googleVertex","vertex"].filter((r,i,a)=>a.indexOf(r)===i);for(let r of n){let i=e==null?void 0:e[r];if(i!=null)return i}}var IMe=/^data:([^;,]+);base64,(.+)$/s;function CMe(e){let t=IMe.exec(e);if(t==null)return;return{mediaType:t[1],data:t[2]}}function EMe(e,t,n){let r=CMe(e);if(r!=null)return{inlineData:{mimeType:r.mediaType,data:r.data}};return t!=null&&Bp({url:e,mediaType:t,supportedUrls:n})?{fileData:{mimeType:t,fileUri:e}}:void 0}function kMe(e,t,n,r,i=!0,a={}){let s=[],l=[];for(let c of n)switch(c.type){case"text":{l.push(c.text);break}case"image-data":case"file-data":{s.push({inlineData:{mimeType:c.mediaType,data:c.data}});break}case"image-url":case"file-url":{let u=EMe(c.url,c.mediaType,a);if(u!=null)s.push(u);else l.push(JSON.stringify(c));break}default:{l.push(JSON.stringify(c));break}}e.push({functionResponse:{...i&&r!=null?{id:r}:{},name:t,response:{name:t,content:l.length>0?l.join(`
224
224
  `):"Tool executed successfully."},...s.length>0?{parts:s}:{}}})}function RMe(e,t,n,r,i=!0){for(let a of n)switch(a.type){case"text":e.push({functionResponse:{...i&&r!=null?{id:r}:{},name:t,response:{name:t,content:a.text}}});break;case"image-data":case"file-data":{let s=String(a.mediaType).split("/")[0];e.push({inlineData:{mimeType:String(a.mediaType),data:String(a.data)}},{text:`Tool executed successfully and returned this ${s==="image"?"image":"file"} as a response`});break}default:e.push({text:JSON.stringify(a)});break}}function AMe(e,t){var n,r,i,a,s,l,c;let u=[],d=[],p=!0,f=(n=t==null?void 0:t.isGemmaModel)!=null?n:!1,m=(r=t==null?void 0:t.isGemini3Model)!=null?r:!1,g=(i=t==null?void 0:t.providerOptionsName)!=null?i:"google",h=(a=t==null?void 0:t.supportsFunctionResponseParts)!=null?a:!0,b=t==null?void 0:t.onWarning,w=(s=t==null?void 0:t.includeFunctionCallIds)!=null?s:!0,_=(l=t==null?void 0:t.supportedFunctionResponseUrls)!=null?l:{},y=!1,S=[],A=(v)=>(S.push(v),y=!0,_Me);for(let{role:v,content:R}of e)switch(v){case"system":{if(!p)throw new Nt({functionality:"system messages are only supported at the beginning of the conversation"});u.push({text:R});break}case"user":{p=!1;let z=[];for(let F of R)switch(F.type){case"text":{z.push({text:F.text});break}case"file":{let x=F.mediaType==="image/*"?"image/jpeg":F.mediaType;z.push(F.data instanceof URL?{fileData:{mimeType:x,fileUri:F.data.protocol==="gs:"&&F.originalUrl!=null?F.originalUrl:F.data.toString()}}:{inlineData:{mimeType:x,data:or(F.data)}});break}}d.push({role:"user",parts:z});break}case"assistant":{p=!1;let z=!1;d.push({role:"model",parts:R.map((F)=>{let x=V9(F.providerOptions,g),M=(x==null?void 0:x.thoughtSignature)!=null?String(x.thoughtSignature):void 0;switch(F.type){case"text":return F.text.length===0?void 0:{text:F.text,thoughtSignature:M};case"reasoning":return F.text.length===0?void 0:{text:F.text,thought:!0,thoughtSignature:M};case"file":{if(F.data instanceof URL)throw new Nt({functionality:"File data URLs in assistant messages are not supported"});return{inlineData:{mimeType:F.mediaType,data:or(F.data)},...(x==null?void 0:x.thought)===!0?{thought:!0}:{},thoughtSignature:M}}case"tool-call":{let q=(x==null?void 0:x.serverToolCallId)!=null?String(x.serverToolCallId):void 0,E=(x==null?void 0:x.serverToolType)!=null?String(x.serverToolType):void 0,N=q!=null&&E!=null,Q=!N&&M==null&&z,ae=M!=null?M:m&&!Q?A(F.toolName):void 0;if(!N&&M!=null)z=!0;if(N)return{toolCall:{toolType:E,args:typeof F.input==="string"?ni(F.input):F.input,id:q},thoughtSignature:ae};return{functionCall:{...w&&F.toolCallId!=null?{id:F.toolCallId}:{},name:F.toolName,args:F.input},thoughtSignature:ae}}case"tool-result":{let q=(x==null?void 0:x.serverToolCallId)!=null?String(x.serverToolCallId):void 0,E=(x==null?void 0:x.serverToolType)!=null?String(x.serverToolType):void 0;if(q&&E)return{toolResponse:{toolType:E,response:F.output.type==="json"?F.output.value:{},id:q},thoughtSignature:M};return}}}).filter((F)=>F!==void 0)});break}case"tool":{p=!1;let z=[];for(let F of R){if(F.type==="tool-approval-response")continue;let x=V9(F.providerOptions,g),M=(x==null?void 0:x.serverToolCallId)!=null?String(x.serverToolCallId):void 0,q=(x==null?void 0:x.serverToolType)!=null?String(x.serverToolType):void 0;if(M&&q){let N=(x==null?void 0:x.thoughtSignature)!=null?String(x.thoughtSignature):void 0;if(d.length>0){let Q=d[d.length-1];if(Q.role==="model"){Q.parts.push({toolResponse:{toolType:q,response:F.output.type==="json"?F.output.value:{},id:M},thoughtSignature:N});continue}}}let E=F.output;if(E.type==="content")if(h)kMe(z,F.toolName,E.value,F.toolCallId,w,_);else RMe(z,F.toolName,E.value,F.toolCallId,w);else z.push({functionResponse:{...w&&F.toolCallId!=null?{id:F.toolCallId}:{},name:F.toolName,response:{name:F.toolName,content:E.type==="execution-denied"?(c=E.reason)!=null?c:"Tool call execution denied.":E.value}}})}d.push({role:"user",parts:z});break}}if(f&&u.length>0&&d.length>0&&d[0].role==="user"){let v=u.map((R)=>R.text).join(`
225
225
 
226
226
  `);d[0].parts.unshift({text:v+`
@@ -252,7 +252,7 @@ ${e.map((n)=>`- ${[n.entityType!==void 0?`entityType: ${n.entityType}`:void 0,`e
252
252
 
253
253
  `),s=r.filter((l)=>l.kind==="file");if(s.length===0)return a;return[...a.length>0?[{type:"text",text:a}]:[],...s.map((l)=>({type:"file",data:l.data,mediaType:l.mediaType,filename:l.filename}))]}function yFe(e){return`User uploaded a file "${e.filename}":
254
254
 
255
- ${e.content}`}function bFe(e,t,n){let r=e.map(m7).filter(xM),i=wM([...t,...r]).map(vFe),a=n?["Available system_create candidate for saving the prior assistant response (call without confirmed to request confirmation):",`{ entityType: "note", source: { kind: "prior-response", messageId: "${n.messageId}" } }`].join(" "):"";if(i.length===0)return a;return['Available upload refs from this conversation. Refs are ordered newest-first. Treat this as structured candidate data; resolve any user reference to a specific upload in typed tool arguments, or ask a clarification if the candidates are insufficient. For phrases like "the uploaded image" or "the uploaded PDF" without a filename, use the newest ref matching that media type; do not ask for clarification just because older uploads exist. Describe, summarize, analyze, or discuss uploads directly from the file bytes as read-only chat responses; do not call system_create unless the user explicitly asks to save, import, preserve, or create an entity. In read-only upload summaries, answer the request directly and do not offer to save/import/create unless asked. Upload candidates are file bytes; previous assistant answers are saved separately. If the user says "save it" after your summary/answer about an upload, save the prior assistant response as a note with source.kind "prior-response" unless they explicitly ask to save the uploaded file/document itself. Use system_create source.kind upload with transform "preserve" for preserving raw file bytes as a document/image, or transform "extract-markdown" for extracting/importing upload text as a note. Choose exactly one transform for the user request.',a,...i].filter((l)=>l.length>0).join(`
255
+ ${e.content}`}function bFe(e,t,n){let r=e.map(m7).filter(xM),i=wM([...t,...r]).map(vFe),a=n?["Available system_create candidate for saving the prior assistant response (call without confirmed to request confirmation):",`{ entityType: "note", source: { kind: "prior-response", messageId: "${n.messageId}" } }`].join(" "):"";if(i.length===0)return a;return['Available upload refs from this conversation. Refs are ordered newest-first. Treat this as structured candidate data; resolve any user reference to a specific upload in typed tool arguments, or ask a clarification if the candidates are insufficient. For phrases like "the uploaded image" or "the uploaded PDF" without a filename, use the newest ref matching that media type; do not ask for clarification just because older uploads exist. Describe, summarize, analyze, or discuss uploads directly from the file bytes as read-only chat responses; do not call system_create unless the user explicitly asks to save, import, preserve, or create an entity. In read-only upload summaries, answer the request directly and do not offer to save/import/create unless asked. Upload candidates are file bytes; previous assistant answers are saved separately. If the user says "save it" after your summary/answer about an upload, save the prior assistant response as a note with source.kind "prior-response" unless they explicitly ask to save the uploaded file/document itself. Use system_create source.kind upload with transform "preserve" for preserving raw file bytes as a document/image, or transform "extract-markdown" for extracting/importing upload text as a note. These upload transforms preserve the source wording: extract-markdown does not apply edits, summaries, translations, or restructuring. When the user asks to create a new note with such changes to an upload, use system_generate with operation.kind "prompt" instead of importing the original. Request only generation confirmation for that note; do not also call system_create to import the source as a second action. Include the readable source content and all requested changes in operation.prompt; the generation job does not receive this conversation or its attachments. An upload ref or filename alone is not source content, and is not a durable entity ref for prompt-from-source. Once a note has been created, use system_get to read its current content when asked to show it; do not substitute the original upload or reconstruct the note from chat.',a,...i].filter((l)=>l.length>0).join(`
256
256
  `)}function vFe(e){return[`- ${e.filename}`,`upload: { kind: "${e.source.kind}", id: "${e.source.id}" }`,`mediaType: ${e.mediaType}`].join("; ")}function TM(e){if(e===void 0)return;return e.length===0?SFe():xFe(e)}function SFe(){return"No relevant conversation memory was retrieved for this turn. If the user asks about conversation memory available in this turn, say none was retrieved rather than inferring from general instructions or other background knowledge."}function xFe(e){return["Relevant conversation memory retrieved for this turn.",'Use it only when it helps answer the user. If the user asks what conversation memory says, explicitly ground the answer in the retrieved memory (for example, "According to conversation memory...") rather than general background knowledge. Preserve source/provenance when referencing memory. Ignore unrelated memory; when memory conflicts, prefer the most specific or newest source and mention uncertainty if the conflict remains unresolved.',"",e.map((n,r)=>wFe(n,r)).join(`
257
257
 
258
258
  `)].join(`
@@ -334,5 +334,5 @@ Result:`);if(n===-1)return;let r=e.slice(n+9).trim();if(!r)return;try{return JSO
334
334
  `)}function Kqe(e){return e.split(`
335
335
  `).flatMap((t)=>{let n=t.match(Vqe);if(!n)return[];let r=(n[3]??"").split(",").map((i)=>i.trim()).filter(Boolean);return[{name:n[1]??"",description:n[2]??"",tags:r}]})}var bX=new Dl(Lw,{title:"Agent",mappings:[{key:"about",label:"About",type:"string"},{key:"skills",label:"Skills",type:"custom",formatter:Hqe,parser:Kqe},{key:"notes",label:"Notes",type:"string"}]});function Qqe(e){return bX.format(e)}function Yqe(e){if(!e.trim())return Lw.parse({});try{return bX.parse(e)}catch{return Lw.parse({})}}import{EventEmitter as TX}from"events";var Dn={REGISTERED:"registered",INITIALIZED:"initialized",ERROR:"error",DISABLED:"disabled"},Pi={REGISTERED:"plugin:registered",BEFORE_INITIALIZE:"plugin:before_initialize",INITIALIZED:"plugin:initialized",ERROR:"plugin:error",DISABLED:"plugin:disabled"};class Oi extends Error{pluginId;constructor(e,t){super(`Plugin ${e}: ${t}`);this.name="PluginError",this.pluginId=e}}function vX(e,t){return Reflect.get(e,t,e)}function SX(e,t,n){if(typeof e!=="function")throw TypeError("Cannot apply a non-callable trapped member");return Reflect.apply(e,t,n)}class VM{scope;ingress=new Set;closePromise=null;closed=!1;constructor(){this.scope=ge.runSync(en.make())}assertOpen(){if(this.closed)throw Error("Cannot register a resource after plugin teardown")}acquire(e,t){this.assertOpen();let n=e();try{this.addFinalizer(()=>t(n))}catch(r){try{t(n)}catch(i){throw AggregateError([r,i],"Plugin acquisition rollback failed",{cause:i})}throw r}return n}addFinalizer(e){this.assertOpen(),ge.runSync(en.addFinalizer(this.scope,ge.promise(async()=>{await e()})))}addIngress(e){this.assertOpen(),this.ingress.add(e)}close(e=Yt.void){return this.closed=!0,this.closePromise??=this.closeScope(e),this.closePromise}async closeScope(e){let t,n=!1,r=[...this.ingress].reverse();for(let l of r)try{l.stopAdmission()}catch(c){if(!n)t=c;n=!0}let i=await Promise.allSettled(r.map((l)=>Promise.resolve().then(()=>l.drain())));this.ingress.clear();let a=i.find((l)=>l.status==="rejected");if(!n&&a)t=a.reason,n=!0;let s=await ge.runPromiseExit(en.close(this.scope,e));if(!n&&Yt.isFailure(s))t=br.squash(s.cause),n=!0;if(n)throw t}}function Vh(e,t,n,r){return new Proxy(e,{get(i,a){let s=vX(i,a);if(typeof a==="string"&&t.some((l)=>l===a)&&typeof s==="function")return(...l)=>n.acquire(()=>SX(s,i,l),(c)=>r(l,c));return typeof s==="function"?s.bind(i):s}})}function Jh(e,t,n){return Vh(e,t,n,(r)=>{let i=r[0];if(typeof i==="string")e.unregisterPlugin(i)})}function xX(e,t){let n=e.getMessageBus(),r=new Set,i=(v,R,z)=>{t.assertOpen();let F=!0,x=new Set,q=z((N)=>{if(!F)return{noop:!0};let Q,ae=new Promise((be)=>{Q=be});x.add(ae);let J=()=>{x.delete(ae),Q()},oe;try{oe=Promise.resolve(R(N))}catch(be){throw J(),be}return oe.then((be)=>(J(),be),(be)=>{throw J(),be})}),E={type:v,originalHandler:R,stopAdmission:()=>{if(!F)return;F=!1,q(),r.delete(E)}};r.add(E);try{t.addIngress({stopAdmission:E.stopAdmission,drain:async()=>{await Promise.all(x)}})}catch(N){throw E.stopAdmission(),N}return E.stopAdmission},a={send:(v)=>n.send(v),hasHandlers:(v)=>n.hasHandlers?.(v)??!1,subscribe:(v,R,z)=>i(v,R,(F)=>n.subscribe(v,F,z)),observe:(v,R)=>i(v,R,(z)=>n.observe(v,z)),deliverPeer:(v,R)=>n.deliverPeer(v,R),unsubscribe:(v,R)=>{let z=[...r].filter((F)=>F.type===v&&F.originalHandler===R);if(z.length===0){n.unsubscribe(v,R);return}for(let F of z)F.stopAdmission()},collect:(v)=>n.collect(v),validateMessage:(v,R)=>n.validateMessage(v,R),getHandlerCount:(v)=>n.getHandlerCount(v),getTargetedHandlerCount:(v,R)=>n.getTargetedHandlerCount(v,R),clearHandlers:(v)=>n.clearHandlers(v),clearAllHandlers:()=>n.clearAllHandlers()},s=e.getAttachmentRegistry(),l={...s,register:(v,R,z)=>t.acquire(()=>s.register(v,R,z),(F)=>F())},c=e.getEntityRegistry(),u=Vh(c,["registerEntityType"],t,(v)=>{let R=v[0];if(typeof R==="string")c.unregisterEntityType(R)}),d=Jh(e.getProfileKindRegistry(),["register"],t),p=Jh(e.getChannelRegistry(),["registerDescriptor","registerDeliveryProvider"],t),f=Jh(e.getInboxRegistry(),["registerSource"],t),m=Jh(e.getInboxFollowUpRegistry(),["registerKind"],t),g=e.getAccountSettingsRegistry(),h=Vh(g,["register"],t,(v,R)=>{SX(g.unregister,g,[R])}),b=Jh(e.getOperationalHealthRegistry(),["register"],t),w=e.getDataSourceRegistry(),_=Vh(w,["register"],t,(v)=>{let R=v[0];if(typeof R==="object"&&R!==null&&"id"in R&&typeof R.id==="string"){let z=R.id.includes(":")?R.id:`shell:${R.id}`;w.unregister(z)}}),y=e.getAnalyticsRegistry(),S=Vh(y,["register"],t,(v)=>{let R=v[0];if(typeof R==="object"&&R!==null&&"type"in R&&typeof R.type==="string")y.unregister(R.type)}),A=new Proxy(e,{get(v,R){if(R==="getMessageBus")return()=>a;if(R==="getAttachmentRegistry")return()=>l;if(R==="getEntityRegistry")return()=>u;if(R==="getDataSourceRegistry")return()=>_;if(R==="getProfileKindRegistry")return()=>d;if(R==="getChannelRegistry")return()=>p;if(R==="getInboxRegistry")return()=>f;if(R==="getInboxFollowUpRegistry")return()=>m;if(R==="getOperationalHealthRegistry")return()=>b;if(R==="getAccountSettingsRegistry")return()=>h;if(R==="getAnalyticsRegistry")return()=>S;let z=vX(v,R);return typeof z==="function"?z.bind(v):z}});return EG(e,A),A}class HM{plugins;events;daemonRegistry;logger;projectionRegistry;resourceScopes=new Map;releasePromises=new Map;constructor(e,t,n,r,i){this.plugins=e,this.events=t,this.daemonRegistry=n,this.projectionRegistry=r,this.logger=i.child("PluginLifecycle")}async initializePlugin(e,t,n){let r=this.plugins.get(e);if(!r)throw new Oi(e,"Registration failed: Plugin is not registered");let i=r.plugin,a=new VM;a.addFinalizer(()=>t.unregisterPluginCapabilities?.(e)),a.addFinalizer(()=>t.getJobQueueService().unregisterPluginHandlers(e)),a.addFinalizer(()=>this.projectionRegistry.unregisterPlugin(e)),this.resourceScopes.set(e,a),this.releasePromises.delete(e),this.logger.debug(`Initializing plugin: ${e}`);try{this.events.emit(Pi.BEFORE_INITIALIZE,e,i);let s=await i.register(xX(t,a),n);return r.status=Dn.INITIALIZED,this.logger.debug(`Initialized plugin: ${e}`),this.events.emit(Pi.INITIALIZED,e,i),s}catch(s){throw this.logger.error(`Error initializing plugin ${e}: ${$e(s)}`),await this.failPluginInitialization(e,s),s}}async finalizePluginRegistration(e){let t=this.plugins.get(e);if(!t)throw new Oi(e,"Registration finalization failed: Plugin is not registered");if(t.status!==Dn.INITIALIZED)return;try{await t.plugin.finalizeRegistration?.(),this.logger.debug(`Registration finalized for plugin: ${e}`)}catch(n){throw await this.failPluginInitialization(e,n),n}}async readyPlugin(e){let t=this.plugins.get(e);if(!t)throw new Oi(e,"Ready failed: Plugin is not registered");if(t.status!==Dn.INITIALIZED){this.logger.debug(`Skipping ready hook for non-initialized plugin: ${e}`);return}try{await t.plugin.ready?.(),this.logger.debug(`Ready hook completed for plugin: ${e}`)}catch(n){let r=hp(n);t.status=Dn.ERROR,t.error=r;try{this.events.emit(Pi.ERROR,e,r)}catch(i){this.logger.error(`Plugin error listener failed for ${e}`,i)}throw r}}async startPluginDaemons(e){let t=this.plugins.get(e);if(t?.status!==Dn.INITIALIZED)return;try{await this.daemonRegistry.startPlugin(e),this.logger.debug(`Started daemons for plugin: ${e}`)}catch(n){if(t.plugin.requiresDaemonStartup?.())throw n;this.logger.warn(`Daemon ${e} failed to start: ${$e(n)}`)}}async failPluginInitialization(e,t){let n=this.plugins.get(e);if(!n)return;let r=n.status!==Dn.ERROR,i=hp(t);if(n.status=Dn.ERROR,n.error=i,await this.releasePluginResources(e,Yt.fail(t)),r)try{this.events.emit(Pi.ERROR,e,i)}catch(a){this.logger.error(`Plugin error listener failed for ${e}`,a)}}async disablePlugin(e){let t=this.plugins.get(e);if(!t){this.logger.warn(`Cannot disable plugin ${e}: not registered`);return}if(t.status===Dn.DISABLED)return;this.logger.debug(`Disabling plugin: ${e}`);let n=t.status===Dn.ERROR;await this.releasePluginResources(e,Yt.void);let r=this.plugins.get(e);if(!n&&r&&r.status!==Dn.DISABLED)r.status=Dn.DISABLED,this.events.emit(Pi.DISABLED,e,r.plugin);this.logger.debug(`Disabled plugin: ${e}`)}releasePluginResources(e,t){let n=this.releasePromises.get(e);if(n)return n;let r=this.releasePluginResourcesOnce(e,t);return this.releasePromises.set(e,r),r}async releasePluginResourcesOnce(e,t){let n=this.plugins.get(e);if(!n)return;try{await this.daemonRegistry.stopPlugin(e),this.logger.debug(`Stopped daemons for plugin: ${e}`)}catch(i){this.logger.error(`Failed to stop daemons for plugin: ${e}`,i)}let r=this.resourceScopes.get(e);if(this.resourceScopes.delete(e),r)try{await r.close(t)}catch(i){this.logger.error(`Failed to close resources for plugin ${e}`,i)}if(n.plugin.shutdown)try{await n.plugin.shutdown(),this.logger.debug(`Shutdown completed for plugin: ${e}`)}catch(i){this.logger.error(`Plugin shutdown failed for ${e}:`,i)}for(let i of this.daemonRegistry.getByPlugin(e))try{await this.daemonRegistry.unregister(i.name)}catch(a){this.logger.error(`Failed to unregister daemon ${i.name} for plugin ${e}`,a)}}}class KM{plugins;events;logger;constructor(e,t,n){this.plugins=e,this.events=t,this.logger=n.child("DependencyResolver")}async resolveInitializationOrder(e){this.logger.debug("Resolving plugin initialization order...");let t=Array.from(this.plugins.keys()),n=new Set,r=!0;while(r&&n.size<t.length){r=!1;for(let s of t){if(n.has(s))continue;if(!this.plugins.get(s))continue;if(this.getUnmetDependencies(s).length===0)try{await e(s),n.add(s),r=!0}catch(u){let d=$e(u);this.logger.error(`Failed to initialize plugin ${s}: ${d}`),n.add(s),r=!0}}}let i=t.filter((s)=>!n.has(s));if(i.length>0){let s=i.join(", ");this.logger.error(`Failed to initialize plugins due to dependency issues: ${s}`);for(let l of i){let c=this.getUnmetDependencies(l);this.logger.error(`Plugin ${l} has unmet dependencies: ${c.join(", ")}`);let u=this.plugins.get(l);if(u)u.status=Dn.ERROR,u.error=new Oi(l,`Unmet dependencies: ${c.join(", ")}`);this.events.emit(Pi.ERROR,l,u?.error)}}let a=new Set;for(let[s,l]of this.plugins)if(l.status===Dn.INITIALIZED)a.add(s);return this.logger.debug(`Resolved ${a.size} of ${t.length} plugins`),{initialized:a,failed:i}}getUnmetDependencies(e){let t=this.plugins.get(e);if(!t)return[];let{dependencies:n}=t,r=[];for(let i of n){let a=this.plugins.get(i);if(!a){r.push(i);continue}if(a.status!==Dn.INITIALIZED)r.push(i)}return r}}class QM{logger;projectionRegistry;constructor(e,t){this.logger=e.child("CapabilityRegistrar"),this.projectionRegistry=t}async registerCapabilities(e,t,n,r){if(!r?.executionOnly&&n.tools.length>0)e.registerTools(t,n.tools),this.logger.debug(`Registered ${n.tools.length} tools from ${t}`);if(!r?.executionOnly&&n.resources.length>0)e.registerResources(t,n.resources),this.logger.debug(`Registered ${n.resources.length} resources from ${t}`);if(!r?.executionOnly&&n.instructions)e.registerInstructions(t,n.instructions),this.logger.debug(`Registered instructions from ${t}`);let i=n.projectionRules??[];try{for(let a of i)this.projectionRegistry.registerRule(t,a)}catch(a){throw this.projectionRegistry.unregisterPlugin(t),a}if(i.length>0)this.logger.debug(`Registered ${i.length} projection rules from ${t}`)}}class $w{projections=new Map;rules=new Map;static createFresh(){return new $w}constructor(){}registerRule(e,t){if(!Object.isFrozen(t))throw Error(`Projection rule "${t.id}" must be created with defineProjectionRule`);let n=this.projections.get(t.id);if(n)throw Error(`Projection "${t.id}" is already registered by "${n.pluginId}"`);let r={id:t.id,pluginId:e,targetType:t.targetType,sources:t.sources.map((a)=>({kind:a.kind,types:[...a.types],...a.excludeTypes?{excludeTypes:[...a.excludeTypes]}:{}}))};this.projections.set(t.id,r),this.rules.set(t.id,t);let i=!0;return()=>{if(!i)return;if(i=!1,this.rules.get(t.id)===t)this.rules.delete(t.id);if(this.projections.get(t.id)===r)this.projections.delete(t.id)}}unregisterPlugin(e){for(let[t,n]of this.projections)if(n.pluginId===e)this.projections.delete(t),this.rules.delete(t)}list(){return Array.from(this.projections.values()).sort((e,t)=>e.id.localeCompare(t.id)).map(tLe)}listRules(){return[...this.rules.values()].sort((e,t)=>e.id.localeCompare(t.id))}validate(e){let t=this.list(),n=new Set(e.map(({type:s})=>s));for(let s of t)if(!n.has(s.targetType))throw Error(`Projection "${s.id}" targets unregistered entity type "${s.targetType}"`);let r=e.filter(({projectionSource:s})=>s).map(({type:s})=>s).sort(),i=nLe(t,r),a=oLe(t,i)[0];if(a){let s=iLe(a,i);throw Error(`Projection cycle is not supported: ${[...s,s[0]].join(" -> ")}`)}return eLe({projections:t,edges:i,unknownSourceTypes:Xqe(t,n)})}}function Xqe(e,t){let n=[];for(let r of e){let i=[...new Set(r.sources.flatMap((a)=>[...a.types,...a.excludeTypes??[]]).filter((a)=>a!=="*"&&!t.has(a)))].sort();if(i.length>0)n.push({projectionId:r.id,types:i})}return n}function eLe(e){for(let t of e.projections){for(let n of t.sources){if(Object.freeze(n.types),n.excludeTypes)Object.freeze(n.excludeTypes);Object.freeze(n)}Object.freeze(t.sources),Object.freeze(t)}for(let t of e.edges)Object.freeze(t.causes),Object.freeze(t);for(let t of e.unknownSourceTypes)Object.freeze(t.types),Object.freeze(t);return Object.freeze(e.unknownSourceTypes),Object.freeze(e.projections),Object.freeze(e.edges),Object.freeze(e)}function tLe(e){return{...e,sources:e.sources.map((t)=>({...t,types:[...t.types],...t.excludeTypes?{excludeTypes:[...t.excludeTypes]}:{}}))}}function nLe(e,t){let n=new Map;for(let r of e)for(let i of e){let a=rLe(r,i,t);if(a.length===0)continue;n.set(`${r.id}\x00${i.id}`,new Set(a))}return Array.from(n,([r,i])=>{let[a="",s=""]=r.split("\x00");return{from:a,to:s,causes:[...i].sort()}}).sort((r,i)=>r.from.localeCompare(i.from)||r.to.localeCompare(i.to))}function rLe(e,t,n){let r=[];for(let i of t.sources){let a=new Set(i.excludeTypes??[]);if((i.types.includes("*")?[...i.types.filter((l)=>l!=="*"),...n]:i.types).includes(e.targetType)&&!a.has(e.targetType))r.push(`entity:${e.targetType}`)}return[...new Set(r)]}function oLe(e,t){let n=e.map(({id:p})=>p).sort(),r=wX(n,t),i=new Map,a=new Map,s=[],l=new Set,c=[],u=0,d=(p)=>{i.set(p,u),a.set(p,u),u++,s.push(p),l.add(p);for(let h of r.get(p)??[])if(!i.has(h))d(h),a.set(p,Math.min(a.get(p)??0,a.get(h)??0));else if(l.has(h))a.set(p,Math.min(a.get(p)??0,i.get(h)??0));if(a.get(p)!==i.get(p))return;let f=[],m;do{if(m=s.pop(),!m)break;l.delete(m),f.push(m)}while(m!==p);let g=r.get(p)?.includes(p)??!1;if(f.length>1||g)c.push(f.sort())};for(let p of n)if(!i.has(p))d(p);return c.sort((p,f)=>(p[0]??"").localeCompare(f[0]??""))}function iLe(e,t){let n=new Set(e),r=wX(e,t),i=[...e].sort()[0];if(!i)return[];if(r.get(i)?.includes(i))return[i];let a=(s,l)=>{for(let c of r.get(s)??[]){if(!n.has(c))continue;if(c===i)return l;if(l.includes(c))continue;let u=a(c,[...l,c]);if(u)return u}return};return a(i,[i])??[...e].sort()}function wX(e,t){let n=new Map;for(let r of e)n.set(r,[]);for(let r of t){let i=n.get(r.from);if(i&&!i.includes(r.to))i.push(r.to)}for(let r of n.values())r.sort();return n}class Uw{plugins=new Map;logger;events=new TX;daemonRegistry;shell=null;initializedPluginIds=[];pluginLifecycle;dependencyResolver;capabilityRegistrar;projectionRegistry=$w.createFresh();projectionGraph;static createFresh(e,t){return new Uw(e,t)}setShell(e){this.shell=e}constructor(e,t){this.logger=e.child("PluginManager"),this.events=new TX,this.daemonRegistry=t,this.pluginLifecycle=new HM(this.plugins,this.events,this.daemonRegistry,this.projectionRegistry,e),this.dependencyResolver=new KM(this.plugins,this.events,e),this.capabilityRegistrar=new QM(e,this.projectionRegistry)}registerPlugin(e){if(!e.id)throw new Oi("unknown","Registration failed: Plugin must have an id");if(this.logger.debug(`Registering plugin: ${e.id} (${e.version})`),this.plugins.has(e.id)){let i=this.plugins.get(e.id)?.plugin.version;throw new Oi(e.id,`Registration failed: Plugin is already registered with version ${i}`)}let t=e.dependencies??[],n={plugin:e,status:Dn.REGISTERED,dependencies:t};this.plugins.set(e.id,n),this.logger.debug(`Registered plugin: ${e.id} (${e.version})`),this.events.emit(Pi.REGISTERED,e.id,e)}async initializePlugins(e){this.logger.debug("Initializing plugins..."),this.initializedPluginIds=[];let t=await this.dependencyResolver.resolveInitializationOrder(async(n)=>{await this.initializePlugin(n,e)});this.logger.debug(`Initialized ${t.initialized.size} of ${this.plugins.size} plugins`)}async registerInterfaceChannels(e,t){let n=this.shell;if(!n)throw Error("Cannot register interface channels: Shell not set. Call setShell() first.");for(let r of e)try{await r.registerChannelsForExecution?.(n,t)}catch(i){this.logger.error(`Channel registration failed for interface ${r.id}: ${$e(i)}`)}}async initializePlugin(e,t){if(!this.shell)throw new Oi(e,"Cannot initialize plugin: Shell not set. Call setShell() first.");let n=this.shell;try{let r=await this.pluginLifecycle.initializePlugin(e,n,t);await this.capabilityRegistrar.registerCapabilities(n,e,r,{executionOnly:t?.executionOnly}),this.initializedPluginIds.push(e)}catch(r){throw await this.pluginLifecycle.failPluginInitialization(e,r),r}}async finalizePluginRegistrations(){this.logger.debug("Finalizing plugin registrations...");for(let n of this.initializedPluginIds)await this.pluginLifecycle.finalizePluginRegistration(n);if(!this.shell)throw Error("Cannot validate projections before the shell is set");let e=this.shell.getEntityRegistry(),t=this.projectionRegistry.validate(e.getAllEntityTypes().map((n)=>{let r=e.getEntityTypeConfig(n);return{type:n,projectionSource:r.projectionSource!==!1&&r.projectionSourceRole!=="excluded"}}));this.projectionGraph=t;for(let n of t.unknownSourceTypes)this.logger.warn("Projection declares entity source types no installed plugin registers",{projectionId:n.projectionId,types:n.types});this.logger.debug("Validated projection graph",{projections:t.projections.length,edges:t.edges.length})}getProjectionGraphSnapshot(){if(!this.projectionGraph)throw Error("Projection graph has not been finalized");return this.projectionGraph}getProjectionRulesSnapshot(){if(!this.projectionGraph)throw Error("Projection graph has not been finalized");return Object.freeze(this.projectionRegistry.listRules())}async readyPlugins(){this.logger.debug("Dispatching plugin ready hooks...");try{await rC(this.initializedPluginIds.map((e)=>()=>this.pluginLifecycle.readyPlugin(e)))}catch(e){for(let t of this.initializedPluginIds){let n=this.plugins.get(t);if(n?.status===Dn.ERROR)await this.pluginLifecycle.failPluginInitialization(t,n.error??e)}throw e}}async startPluginDaemons(){this.logger.debug("Starting plugin daemons..."),await rC(this.initializedPluginIds.map((e)=>()=>this.pluginLifecycle.startPluginDaemons(e)))}getPlugin(e){return this.plugins.get(e)?.plugin}getPluginStatus(e){return this.plugins.get(e)?.status}hasPlugin(e){return this.plugins.has(e)}isPluginInitialized(e){return this.plugins.get(e)?.status===Dn.INITIALIZED}getAllPluginIds(){return Array.from(this.plugins.keys())}getAllPlugins(){return new Map(this.plugins)}getFailedPlugins(){return Array.from(this.plugins.entries()).filter((e)=>e[1].status===Dn.ERROR&&e[1].error!==void 0).map(([e,t])=>({id:e,error:t.error}))}getPluginPackageName(e){return this.plugins.get(e)?.plugin.packageName}async disablePlugin(e){await this.pluginLifecycle.disablePlugin(e)}async shutdownPlugins(){let e=new Set;for(let t of[...this.initializedPluginIds].reverse())await this.disablePlugin(t),e.add(t);for(let t of[...this.plugins.keys()].reverse())if(!e.has(t))await this.disablePlugin(t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}getEventEmitter(){return this.events}}var _X={public:0,trusted:1,admin:2},aLe=[{id:"dashboard",pluginId:"dashboard",label:"Dashboard",visibility:"public",requiresActiveSession:!1},{id:"web-chat",pluginId:"web-chat",label:"Chat",visibility:"trusted",requiresActiveSession:!0},{id:"studio",pluginId:"studio",label:"Studio",visibility:"public",requiresActiveSession:!0}];function sLe(e,t){let n=_X[t.permissionLevel??"public"],r=[];for(let{id:i,pluginId:a,label:s,visibility:l,requiresActiveSession:c}of aLe){let u=t.self?.id===i;if(!u&&(n<_X[l]||c&&t.hasActiveSession!==!0))continue;let d=e.filter((m)=>m.pluginId===a&&!(i==="studio"&&m.fullPath==="/chat")).map((m)=>m.fullPath).sort((m,g)=>m.length-g.length),p=i==="web-chat"&&d.length>0?e.find((m)=>m.pluginId==="studio"&&m.fullPath==="/chat")?.fullPath:void 0,f=u?t.self?.href:p??d[0];if(f!==void 0)r.push({id:i,label:s,href:f,isActive:i===t.activeId,...c?{requiresActiveSession:!0}:{}})}return r}class IX{definitions=new Map;register(e){this.definitions.set(e.type,e)}unregister(e){this.definitions.delete(e)}getDefinitions(){return Array.from(this.definitions.values())}async run(e){let t=this.definitions.get(e.type);if(!t)throw Error(`Unknown analytics report: ${e.type}. Available: ${Array.from(this.definitions.keys()).join(", ")}`);let n=t.minVisibility??"public";if(!ra.hasPermission(e.permission,n))throw Error(`The ${t.type} report answers ${n} callers only`);let r=t.params.safeParse(e.params??{});if(!r.success){let s=r.error.issues.map((l)=>`${l.path.join(".")||"params"}: ${l.message}`).join("; ");throw Error(`Invalid params for ${t.type}: ${s}`)}let i=bi(e.permission),a=i==="public"?mg(e.entityService,{publishedOnly:!0,visibilityScope:i}):e.entityService;return t.handler(r.data,{entityService:a,visibilityScope:i})}}function lLe(e){return e}export{qd as oa,Jb as pa,k as qa,Zd as ra,V as sa,wl as ta,Se as ua,Er as va,Da as wa,dq as xa,po as ya,Ht as za,kr as Aa,Ss as Ba,Gc as Ca,Uf as Da,Bt as Ea,Mn as Fa,_q as Ga,Iq as Ha,_l as Ia,at as Ja,Te as Ka,un as La,sn as Ma,MC as Na,mo as Oa,H as Pa,fv as Qa,QC as Ra,Xi as Sa,ea as Ta,IL as Ua,hpe as Va,ype as Wa,ur as Xa,Il as Ya,Vn as Za,$n as _a,Go as $a,xs as ab,Kt as bb,_i as cb,CL as db,tn as eb,EX as fb,tj as gb,j as hb,Et as ib,Zn as jb,ns as kb,xo as lb,Bi as mb,nj as nb,dLe as ob,pLe as pb,mLe as qb,ry as rb,ec as sb,Yw as tb,oj as ub,bLe as vb,RX as wb,vLe as xb,Ys as yb,aj as zb,SLe as Ab,xLe as Bb,wLe as Cb,TLe as Db,_Le as Eb,ILe as Fb,AX as Gb,Qe as Hb,Xs as Ib,CLe as Jb,Sn as Kb,jt as Lb,fn as Mb,el as Nb,tl as Ob,_r as Pb,rT as Qb,Fi as Rb,xn as Sb,gn as Tb,OLe as Ub,qX as Vb,_m as Wb,$u as Xb,tr as Yb,lT as Zb,zLe as _b,ZX as $b,Im as ac,no as bc,ga as cc,LLe as dc,GX as ec,ha as fc,No as gc,zr as hc,nn as ic,Li as jc,dT as kc,kn as lc,Zr as mc,$i as nc,wt as oc,fT as pc,gT as qc,Sa as rc,Cj as sc,dy as tc,al as uc,u$e as vc,Mm as wc,d$e as xc,p$e as yc,Fj as zc,yy as Ac,TT as Bc,qj as Cc,it as Dc,gt as Ec,vy as Fc,qt as Gc,Br as Hc,pee as Ic,CT as Jc,ET as Kc,kT as Lc,xee as Mc,Tee as Nc,pc as Oc,sl as Pc,_ee as Qc,xa as Rc,Ree as Sc,Fee as Tc,Wr as Uc,To as Vc,cs as Wc,Ey as Xc,Gr as Yc,Ta as Zc,oo as _c,Nm as $c,td as ad,_a as bd,Wn as cd,nd as dd,Ut as ed,Jr as fd,bT as gd,py as hd,_t as id,Tt as jd,nte as kd,Vj as ld,Ot as md,li as nd,Hj as od,wa as pd,Sy as qd,PT as rd,Qj as sd,xy as td,y$e as ud,x$e as vd,wy as wd,T$e as xd,_$e as yd,E$e as zd,Fn as Ad,k$e as Bd,R$e as Cd,A$e as Dd,P$e as Ed,tD as Fd,O$e as Gd,M$e as Hd,j$e as Id,D$e as Jd,N$e as Kd,jm as Ld,z$e as Md,B$e as Nd,F$e as Od,q$e as Pd,L$e as Qd,Gn as Rd,K$e as Sd,Yte as Td,Q$e as Ud,Xte as Vd,Ir as Wd,rd as Xd,Bm as Yd,fc as Zd,ci as _d,nne as $d,Ui as ae,Y$e as be,X$e as ce,Fy as de,tUe as ee,nUe as fe,qy as ge,Ly as he,aUe as ie,gne as je,sUe as ke,hc as le,cUe as me,ll as ne,xc as oe,sd as pe,Ae as qe,yt as re,bt as se,Qm as te,Rt as ue,Vr as ve,Hr as we,nb as xe,Ia as ye,He as ze,_o as Ae,rb as Be,qo as Ce,TUe as De,ds as Ee,gd as Fe,hd as Ge,nf as He,fl as Ie,bd as Je,H_ as Ke,Fz as Le,gl as Me,gs as Ne,nre as Oe,_Ue as Pe,IUe as Qe,ore as Re,CUe as Se,k1 as Te,ui as Ue,xre as Ve,Ooe as We,Moe as Xe,joe as Ye,wI as Ze,Foe as _e,Loe as $e,$oe as af,Uoe as bf,df as cf,Zoe as df,pf as ef,Goe as ff,Voe as gf,Koe as hf,Yoe as if,Xoe as jf,tie as kf,rie as lf,TI as mf,lie as nf,Vi as of,hie as pf,gB as qf,br as rf,Cie as sf,Oc as tf,wre as uf,cI as vf,uI as wf,Tre as xf,_re as yf,Ire as zf,Cre as Af,Ic as Bf,lf as Cf,Rre as Df,Nre as Ef,Yt as Ff,PUe as Gf,Cc as Hf,OUe as If,xd as Jf,MUe as Kf,jUe as Lf,Ec as Mf,DUe as Nf,NUe as Of,dI as Pf,Wre as Qf,pI as Rf,Sd as Sf,Gre as Tf,Jre as Uf,Vre as Vf,cf as Wf,xb as Xf,Hre as Yf,en as Zf,Td as _f,kc as $f,uf as ag,SI as bg,sB as cg,Rc as dg,ioe as eg,Cb as fg,xI as gg,aoe as hg,wd as ig,coe as jg,Pc as kg,fB as lg,yf as mg,Mc as ng,VUe as og,wB as pg,HUe as qg,Nie as rg,KUe as sg,TB as tg,Rb as ug,QUe as vg,YUe as wg,XUe as xg,Uie as yg,CI as zg,Zie as Ag,kI as Bg,e2e as Cg,_d as Dg,Jie as Eg,t2e as Fg,Kie as Gg,o2e as Hg,i2e as Ig,l2e as Jg,c2e as Kg,Ob as Lg,y2e as Mg,DI as Ng,b2e as Og,v2e as Pg,bf as Qg,yl as Rg,Ea as Sg,Pd as Tg,Sae as Ug,kae as Vg,Aae as Wg,UB as Xg,Nb as Yg,gi as Zg,Uae as _g,VB as $g,Ki as ah,use as bh,Md as ch,pse as dh,mse as eh,Nc as fh,fse as gh,gse as hh,ys as ih,$o as jh,hi as kh,hse as lh,LI as mh,yse as nh,wse as oh,qI as ph,Tse as qh,_se as rh,Ise as sh,aF as th,Cse as uh,Ese as vh,jd as wh,Ase as xh,bs as yh,jse as zh,Dse as Ah,sF as Bh,lF as Ch,zc as Dh,Bse as Eh,Fse as Fh,qse as Gh,$se as Hh,Zse as Ih,Wse as Jh,Jse as Kh,Kse as Lh,Qse as Mh,tle as Nh,nle as Oh,rle as Ph,ile as Qh,cF as Rh,uF as Sh,ule as Th,dle as Uh,ple as Vh,mle as Wh,fle as Xh,vle as Yh,xle as Zh,wle as _h,Tle as $h,Ile as ai,kle as bi,Rle as ci,Ple as di,Nle as ei,zle as fi,$le as gi,Ule as hi,Tf as ii,Gle as ji,Jle as ki,Vle as li,Kle as mi,Qle as ni,Yle as oi,Xle as pi,pF as qi,nce as ri,rce as si,oce as ti,_f as ui,lce as vi,cce as wi,pce as xi,$I as yi,gce as zi,Bc as Ai,bce as Bi,vce as Ci,Sce as Di,mF as Ei,Tce as Fi,Ece as Gi,qce as Hi,Lce as Ii,$ce as Ji,Uce as Ki,Wce as Li,Vce as Mi,Hce as Ni,Kce as Oi,Qce as Pi,If as Qi,Cf as Ri,rue as Si,oue as Ti,iue as Ui,sue as Vi,cue as Wi,due as Xi,gF as Yi,mue as Zi,gue as _i,yue as $i,vue as aj,wue as bj,Bue as cj,Fue as dj,que as ej,Lue as fj,$ue as gj,Uue as hj,ge as ij,Ef as jj,Wue as kj,Gue as lj,Jue as mj,Hue as nj,Kue as oj,Uo as pj,bF as qj,Dd as rj,SF as sj,xF as tj,W2e as uj,GI as vj,vr as wj,ka as xj,wGe as yj,yi as zj,rC as Aj,bpe as Bj,vpe as Cj,Spe as Dj,Hf as Ej,Na as Fj,Aa as Gj,Pa as Hj,Wb as Ij,bi as Jj,Fd as Kj,vi as Lj,jF as Mj,IGe as Nj,CGe as Oj,Ra as Pj,Sr as Qj,iC as Rj,$b as Sj,zd as Tj,co as Uj,OF as Vj,qc as Wj,bv as Xj,vv as Yj,aE as Zj,sE as _j,Sv as $j,xv as ak,cE as bk,Tv as ck,Kd as dk,ws as ek,Yf as fk,ln as gk,_Qe as hk,Vo as ik,ta as jk,_E as kk,IE as lk,nme as mk,rme as nk,AE as ok,OE as pk,Ba as qk,zv as rk,g$ as sk,Rl as tk,h$ as uk,B9e as vk,F9e as wk,Bv as xk,U as yk,Is as zk,C as Ak,_e as Bk,I as Ck,Fr as Dk,x$ as Ek,Cs as Fk,Ko as Gk,go as Hk,rg as Ik,je as Jk,rr as Kk,Ct as Lk,I$ as Mk,C$ as Nk,At as Ok,ep as Pk,tp as Qk,Pl as Rk,eU as Sk,eS as Tk,lp as Uk,ik as Vk,ak as Wk,hk as Xk,sS as Yk,Ek as Zk,mS as _k,i2 as $k,a2 as al,vl as bl,sC as cl,Yge as dl,s2 as el,gS as fl,kk as gl,l2 as hl,Lc as il,XGe as jl,eJe as kl,tJe as ll,nJe as ml,lC as nl,rJe as ol,oJe as pl,iJe as ql,aJe as rl,sJe as sl,lJe as tl,cJe as ul,uJe as vl,Ak as wl,c2 as xl,Rs as yl,gp as zl,flt as Al,Qk as Bl,Yk as Cl,M2 as Dl,j2 as El,D2 as Fl,N2 as Gl,Nhe as Hl,zhe as Il,SS as Jl,Fhe as Kl,fp as Ll,Dl as Ml,Lhe as Nl,F2 as Ol,Uhe as Pl,$2 as Ql,Whe as Rl,xS as Sl,ue as Tl,_n as Ul,Nl as Vl,cR as Wl,dR as Xl,pR as Yl,mR as Zl,xg as _l,wg as $l,fR as am,gR as bm,uye as cm,Vt as dm,wS as em,TS as fm,ldt as gm,cdt as hm,dye as im,sZ as jm,ddt as km,vye as lm,pdt as mm,mdt as nm,fdt as om,gdt as pm,hdt as qm,ydt as rm,bdt as sm,vdt as tm,Sdt as um,xdt as vm,wdt as wm,Iye as xm,Cye as ym,_dt as zm,Idt as Am,Cdt as Bm,Edt as Cm,kdt as Dm,Rdt as Em,Adt as Fm,Pdt as Gm,Be as Hm,dr as Im,du as Jm,Ps as Km,_S as Lm,IS as Mm,fZ as Nm,gZ as Om,Aye as Pm,CS as Qm,Pk as Rm,Xge as Sm,ehe as Tm,Ok as Um,Mk as Vm,Cg as Wm,kS as Xm,_R as Ym,Dye as Zm,CR as _m,PS as $m,IR as an,ER as bn,Fye as cn,PR as dn,$ye as en,DS as fn,h2 as gn,hS as hn,T2 as in,$k as jn,Vk as kn,I2 as ln,LS as mn,MR as nn,Eg as on,DR as pn,ISe as qn,CSe as rn,ESe as sn,zR as tn,kSe as un,RSe as vn,ASe as wn,Nve as xn,Ip as yn,fJ as zn,bJ as An,NA as Bn,ho as Cn,lx as Dn,SJ as En,FA as Fn,CJ as Gn,Zg as Hn,EJ as In,kp as Jn,kJ as Kn,ZSe as Ln,RJ as Mn,AJ as Nn,txe as On,OJ as Pn,axe as Qn,sxe as Rn,lxe as Sn,cxe as Tn,uxe as Un,LA as Vn,js as Wn,yxe as Xn,$A as Yn,GA as Zn,vxe as _n,Pr as $n,Hye as ao,Kye as bo,Qye as co,Xye as do,eW as eo,rW as fo,aW as go,rA as ho,lW as io,pG as jo,Ive as ko,Rve as lo,uW as mo,pW as no,VR as oo,jve as po,Rgt as qo,Dve as ro,xG as so,ZS as to,bA as uo,vA as vo,jG as wo,Cp as xo,JS as yo,VS as zo,qg as Ao,HS as Bo,$G as Co,Lg as Do,Hve as Eo,Kve as Fo,Qve as Go,Yve as Ho,Xve as Io,$g as Jo,Ug as Ko,Sxe as Lo,$J as Mo,wxe as No,JJ as Oo,pSe as Po,hSe as Qo,tx as Ro,YG as So,XG as To,ySe as Uo,VJ as Vo,rx as Wo,MA as Xo,_Se as Yo,NRe as Zo,i_t as _o,Vp as $o,PO as ap,MO as bp,jO as cp,Le as dp,TBe as ep,uM as fp,EFe as gp,x7 as hp,RM as ip,eqe as jp,R7 as kp,M7 as lp,j7 as mp,D7 as np,N7 as op,B7 as pp,jM as qp,DM as rp,$7 as sp,NM as tp,Iw as up,W7 as vp,Cw as wp,zM as xp,G7 as yp,J7 as zp,H7 as Ap,K7 as Bp,Ew as Cp,X7 as Dp,eX as Ep,Rw as Fp,Lh as Gp,$h as Hp,tX as Ip,nX as Jp,rX as Kp,UM as Lp,Uh as Mp,iX as Np,aX as Op,sX as Pp,lX as Qp,cX as Rp,Lqe as Sp,Dw as Tp,uX as Up,Nw as Vp,zw as Wp,Bw as Xp,dX as Yp,ju as Zp,Fw as _p,Gh as $p,pX as aq,GM as bq,fX as cq,Jqe as dq,JM as eq,Qqe as fq,Yqe as gq,Oi as hq,Uw as iq,sLe as jq,IX as kq,lLe as lq};
336
336
 
337
- //# debugId=FB9C21942BE0B09164756E2164756E21
338
- //# sourceMappingURL=index-h9xpqxzp.js.map
337
+ //# debugId=65AB24EB08035D2064756E2164756E21
338
+ //# sourceMappingURL=index-gz7t3d03.js.map