@redocly/replay 0.27.0 → 0.27.1

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 (51) hide show
  1. package/dist/{replay-AiChatProvider-LQhrLIDL.js → replay-AiChatProvider-Cdve_kxz.js} +6 -6
  2. package/dist/{replay-AiChatProvider-Oms5CFgT.js → replay-AiChatProvider-IuOVaWMC.js} +1 -1
  3. package/dist/{replay-AiChatSqliteDBStorage-3-p1mthX.js → replay-AiChatSqliteDBStorage-B3aaY0Uo.js} +1 -1
  4. package/dist/{replay-AiChatSqliteDBStorage-GZibdHOQ.js → replay-AiChatSqliteDBStorage-jEhfZgK3.js} +1 -1
  5. package/dist/{replay-AiPanel-BvwwBTh1.js → replay-AiPanel-0GXuobhF.js} +1 -1
  6. package/dist/{replay-AiPanel-lcDNvgo0.js → replay-AiPanel-BT_RLVeR.js} +4 -4
  7. package/dist/{replay-FileWatcher-DR-wJLe2.js → replay-FileWatcher-CtHVgewC.js} +2 -2
  8. package/dist/{replay-FileWatcher-ClVd_wG0.js → replay-FileWatcher-NkpXJA-C.js} +1 -1
  9. package/dist/{replay-SemanticSearchService-CCqwCRo6.js → replay-SemanticSearchService--QXHzf7_.js} +1 -1
  10. package/dist/{replay-SemanticSearchService-U1eXQGfF.js → replay-SemanticSearchService-DJ_jBUyi.js} +1 -1
  11. package/dist/{replay-SqliteDBStorage-Dn6DoVWW.js → replay-SqliteDBStorage-0JYq0UPY.js} +1 -1
  12. package/dist/{replay-SqliteDBStorage-d_ZK6ScA.js → replay-SqliteDBStorage-ClD7MBeX.js} +1 -1
  13. package/dist/{replay-TauriFileSystemAdapter-CpiUuG3T.js → replay-TauriFileSystemAdapter-BnSXgnQc.js} +1 -1
  14. package/dist/{replay-TauriFileSystemAdapter-dwJ0xBYr.js → replay-TauriFileSystemAdapter-BuHbmM-L.js} +1 -1
  15. package/dist/{replay-TauriRootStorage-DhzbAahU.js → replay-TauriRootStorage-B1vFT2Rg.js} +1 -1
  16. package/dist/{replay-TauriRootStorage-CuVbYMXX.js → replay-TauriRootStorage-D6K0MuWv.js} +2 -2
  17. package/dist/{replay-agent-loop-BLSu4v_O.js → replay-agent-loop-X2MrvEk-.js} +1 -1
  18. package/dist/{replay-agent-loop-DgEHdXUt.js → replay-agent-loop-jUYXZfye.js} +3 -3
  19. package/dist/{replay-ai-chat-mappers-BvfcEubB.js → replay-ai-chat-mappers-B0Ay6VKi.js} +1 -1
  20. package/dist/{replay-ai-chat-mappers-Dy2kJ7ZG.js → replay-ai-chat-mappers-sgE5XiwA.js} +1 -1
  21. package/dist/{replay-create-model-bOIDB-e8.js → replay-create-model-DB6xE5Ap.js} +3 -3
  22. package/dist/{replay-create-model-DNPFcOIp.js → replay-create-model-NrGYVueM.js} +3 -3
  23. package/dist/{replay-db-BQGv3PGw.js → replay-db-BZNR8xEd.js} +1 -1
  24. package/dist/{replay-db-CMXZZs9v.js → replay-db-BiP6dME4.js} +1 -1
  25. package/dist/{replay-external-resolver-mrykFC2h.js → replay-external-resolver-DPAdPRks.js} +2 -2
  26. package/dist/{replay-external-resolver-n5OvQMRF.js → replay-external-resolver-PLyV0HZs.js} +1 -1
  27. package/dist/{replay-index-Bc5RHu5L.js → replay-index-B2RZCGOF.js} +21 -21
  28. package/dist/{replay-index-CepJ5Z0m.js → replay-index-D85qPcEF.js} +11 -11
  29. package/dist/{replay-index-CFLu-XMV.js → replay-index-DDUSidTx.js} +2 -2
  30. package/dist/{replay-index-QXosJxRc.js → replay-index-DKNhWzy4.js} +5 -5
  31. package/dist/{replay-index-CgCGhu4l.js → replay-index-DTD47ryK.js} +1 -1
  32. package/dist/{replay-index-DDjmUXWm.js → replay-index-DmAVD_C4.js} +1 -1
  33. package/dist/{replay-index-CSR_qlua.js → replay-index-HHtp5T42.js} +1 -1
  34. package/dist/{replay-index-CHGVyIdG.js → replay-index-yAV5TCua.js} +1 -1
  35. package/dist/{replay-lint-PWaLESz5.js → replay-lint-Bico-a-1.js} +3 -3
  36. package/dist/{replay-lint-DoHQIATV.js → replay-lint-DyUeemr_.js} +3 -3
  37. package/dist/{replay-lint-graphql-xh8VoAwd.js → replay-lint-graphql-D_p-TkyV.js} +1 -1
  38. package/dist/{replay-lint-graphql-zO8zunug.js → replay-lint-graphql-pt1vf5MX.js} +1 -1
  39. package/dist/{replay-resolve-B0AjmaE9.js → replay-resolve-CQzlNcS2.js} +1 -1
  40. package/dist/{replay-resolve-MVe_8Ube.js → replay-resolve-IKJYgmPW.js} +1 -1
  41. package/dist/{replay-respect-run-X4PSO6Fj.js → replay-respect-run-CtDn7oS8.js} +3 -3
  42. package/dist/{replay-respect-run-BJsR4a4m.js → replay-respect-run-rx_nPWZM.js} +1 -1
  43. package/dist/{replay-tauri-path-CkGiQWsb.js → replay-tauri-path-DrwBKGJP.js} +2 -2
  44. package/dist/{replay-tauri-path-D8FJsoZb.js → replay-tauri-path-iA6pF5e0.js} +1 -1
  45. package/dist/{replay-useAiChatQueries-BXL-_N2Q.js → replay-useAiChatQueries-BIZfilWh.js} +1 -1
  46. package/dist/{replay-useAiChatQueries-D7sHNAfV.js → replay-useAiChatQueries-PECgHJpT.js} +4 -4
  47. package/dist/{replay-validate-key-CmzSfORv.js → replay-validate-key-CTJn216O.js} +1 -1
  48. package/dist/{replay-validate-key-CtZEJRP7.js → replay-validate-key-CvZaTfXj.js} +2 -2
  49. package/dist/replay.cjs +1 -1
  50. package/dist/replay.js +1 -1
  51. package/package.json +2 -2
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("./replay-create-model-bOIDB-e8.js"),l=require("./replay-index-CepJ5Z0m.js"),j=require("./replay-db-BQGv3PGw.js"),T=require("./replay-defaults-DVvOnvnR.js");function S(t){const e=t.toLowerCase(),n=[["google.vertex","gcp.vertex_ai"],["google.generative-ai","gcp.gemini"],["google-vertex","gcp.vertex_ai"],["amazon-bedrock","aws.bedrock"],["azure-openai","azure.ai.openai"],["anthropic","anthropic"],["openai","openai"],["azure","azure.ai.inference"],["google","gcp.gemini"],["mistral","mistral_ai"],["cohere","cohere"],["bedrock","aws.bedrock"],["groq","groq"],["deepseek","deepseek"],["perplexity","perplexity"],["xai","x_ai"]];for(const[o,r]of n)if(e===o||e.startsWith(o+".")||e.startsWith(o+"-"))return r;return t}function A(t){var e;return(e={"ai.generateText":"invoke_agent","ai.streamText":"invoke_agent","ai.generateObject":"invoke_agent","ai.streamObject":"invoke_agent","ai.embed":"embeddings","ai.embedMany":"embeddings","ai.rerank":"rerank"}[t])!=null?e:t}function O(t){return typeof t=="string"?[{type:"text",content:t}]:Array.isArray(t)?t.map(e=>({type:"text",content:e.content})):[{type:"text",content:t.content}]}function P(t){var e,n,o,r,a;switch(t.type){case"text":return{type:"text",content:t.text};case"reasoning":return{type:"reasoning",content:t.text};case"tool-call":return{type:"tool_call",id:(e=t.toolCallId)!=null?e:null,name:t.toolName,arguments:t.input};case"tool-result":{const i=t.output;let s;return i&&(i.type==="text"||i.type==="error-text"||i.type==="json"||i.type==="error-json"?s=i.value:i.type==="execution-denied"?s={denied:!0,reason:i.reason}:s=i),{type:"tool_call_response",id:(n=t.toolCallId)!=null?n:null,response:s}}case"file":{const i=t.data,s=(()=>{if(typeof i=="object"&&i!==null&&!(i instanceof URL)&&!(i instanceof Uint8Array)&&!(i instanceof ArrayBuffer)&&"type"in i)switch(i.type){case"data":return i.data;case"url":return i.url;case"text":return i.text;default:return""}return i})();let p;if(s instanceof Uint8Array)p=y.convertDataContentToBase64String(s);else if(typeof s=="string"){if(s.startsWith("http://")||s.startsWith("https://"))return{type:"uri",modality:_(t.mediaType),mime_type:(o=t.mediaType)!=null?o:null,uri:s};p=s}else{if(s instanceof URL)return{type:"uri",modality:_(t.mediaType),mime_type:(r=t.mediaType)!=null?r:null,uri:s.toString()};p=String(s)}return{type:"blob",modality:_(t.mediaType),mime_type:(a=t.mediaType)!=null?a:null,content:p}}case"tool-approval-response":return{type:"tool_approval_response",approval_id:t.approvalId,approved:t.approved,reason:t.reason};case"custom":return{type:"custom",kind:t.kind};case"reasoning-file":return{type:String(t.type)};default:return{type:String(t.type)}}}function _(t){return!t||t.startsWith("image/")?"image":t.startsWith("video/")?"video":t.startsWith("audio/")?"audio":"image"}function v(t){return t.filter(e=>e.role!=="system").map(e=>{if(e.role==="system")return{role:"system",parts:[{type:"text",content:e.content}]};const n=e.content.map(P);return{role:e.role,parts:n}})}function k({prompt:t,messages:e}){const n=[];if(typeof t=="string")n.push({role:"user",parts:[{type:"text",content:t}]});else if(Array.isArray(t))for(const o of t){const r=M(o);r&&n.push(r)}if(e)for(const o of e){const r=M(o);r&&n.push(r)}return n}function M(t){if(t.role!=="system"){if(t.role==="user")return typeof t.content=="string"?{role:"user",parts:[{type:"text",content:t.content}]}:{role:"user",parts:t.content.map(n=>{var o,r,a,i,s,p,c,g;switch(n.type){case"text":return{type:"text",content:n.text};case"image":{const u=n.image;return u instanceof URL?{type:"uri",modality:"image",mime_type:(o=n.mediaType)!=null?o:null,uri:u.toString()}:typeof u=="string"?u.startsWith("http://")||u.startsWith("https://")?{type:"uri",modality:"image",mime_type:(r=n.mediaType)!=null?r:null,uri:u}:{type:"blob",modality:"image",mime_type:(a=n.mediaType)!=null?a:null,content:u}:{type:"blob",modality:"image",mime_type:(i=n.mediaType)!=null?i:null,content:y.convertDataContentToBase64String(u)}}case"file":{const u=n.data,f=(()=>{if(typeof u=="object"&&u!==null&&!(u instanceof URL)&&!(u instanceof Uint8Array)&&!(u instanceof ArrayBuffer)&&"type"in u)switch(u.type){case"data":return u.data;case"url":return u.url;case"text":return u.text;default:return""}return u})();return f instanceof URL?{type:"uri",modality:_(n.mediaType),mime_type:(s=n.mediaType)!=null?s:null,uri:f.toString()}:typeof f=="string"?f.startsWith("http://")||f.startsWith("https://")?{type:"uri",modality:_(n.mediaType),mime_type:(p=n.mediaType)!=null?p:null,uri:f}:{type:"blob",modality:_(n.mediaType),mime_type:(c=n.mediaType)!=null?c:null,content:f}:{type:"blob",modality:_(n.mediaType),mime_type:(g=n.mediaType)!=null?g:null,content:y.convertDataContentToBase64String(f)}}default:return{type:String(n.type)}}})};if(t.role==="assistant")return typeof t.content=="string"?{role:"assistant",parts:[{type:"text",content:t.content}]}:{role:"assistant",parts:t.content.map(n=>{var o,r;switch(n.type){case"text":return{type:"text",content:n.text};case"reasoning":return{type:"reasoning",content:n.text};case"tool-call":return{type:"tool_call",id:(o=n.toolCallId)!=null?o:null,name:n.toolName,arguments:n.input};case"tool-result":{const a=n.output;let i;return a&&(a.type==="text"||a.type==="error-text"||a.type==="json"||a.type==="error-json"?i=a.value:a.type==="execution-denied"?i={denied:!0,reason:a.reason}:i=a),{type:"tool_call_response",id:(r=n.toolCallId)!=null?r:null,response:i}}default:return{type:String(n.type)}}})};if(t.role==="tool")return{role:"tool",parts:t.content.map(n=>{var o;if(n.type==="tool-result"){const r=n.output;let a;return r&&(r.type==="text"||r.type==="error-text"||r.type==="json"||r.type==="error-json"?a=r.value:r.type==="execution-denied"?a={denied:!0,reason:r.reason}:a=r),{type:"tool_call_response",id:(o=n.toolCallId)!=null?o:null,response:a}}return{type:String(n.type)}})}}}function N({text:t,reasoning:e,toolCalls:n,files:o,finishReason:r}){const a=[];if(e)for(const i of e)"text"in i&&i.text&&a.push({type:"reasoning",content:i.text});if(t!=null&&t.length>0&&a.push({type:"text",content:t}),n)for(const i of n)a.push({type:"tool_call",id:i.toolCallId,name:i.toolName,arguments:i.input});if(o)for(const i of o)a.push({type:"blob",modality:_(i.mediaType),mime_type:i.mediaType,content:i.base64});return[{role:"assistant",parts:a,finish_reason:q(r)}]}function E({objectText:t,finishReason:e}){return[{role:"assistant",parts:[{type:"text",content:t}],finish_reason:q(e)}]}function q(t){var e;return(e={stop:"stop",length:"length","content-filter":"content_filter","tool-calls":"tool_call",error:"error",other:"stop",unknown:"stop"}[t])!=null?e:t}function h(t,e){e instanceof Error?(t.recordException({name:e.name,message:e.message,stack:e.stack}),t.setStatus({code:l.SpanStatusCode.ERROR,message:e.message})):t.setStatus({code:l.SpanStatusCode.ERROR})}function w(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"}function I(t){if(!Array.isArray(t))return t;const e=new Set(t.filter(w).map(o=>typeof o));if(e.size!==1)return;const[n]=e;return n==="string"?t.filter(o=>typeof o=="string"):n==="number"?t.filter(o=>typeof o=="number"):t.filter(o=>typeof o=="boolean")}function L(t){const e={};for(const[n,o]of Object.entries(t??{})){if(o==null)continue;const r=I(o);r!=null&&(e[n]=r)}return e}function J(t){return t?.isEnabled!==!1}function d(t,e){if(!J(t))return{};const n={};for(const[o,r]of Object.entries(e)){if(r==null)continue;if(typeof r=="object"&&"input"in r&&typeof r.input=="function"){if(t?.recordInputs===!1)continue;const i=r.input();if(i!=null){const s=I(i);s!=null&&(n[o]=s)}continue}if(typeof r=="object"&&"output"in r&&typeof r.output=="function"){if(t?.recordOutputs===!1)continue;const i=r.output();if(i!=null){const s=I(i);s!=null&&(n[o]=s)}continue}const a=I(r);a!=null&&(n[o]=a)}return n}var D={usage:!1,providerMetadata:!1,embedding:!1,reranking:!1,runtimeContext:!1,headers:!1,toolChoice:!1,schema:!1};function K(t){var e,n,o,r,a,i,s,p;return{...D,usage:(e=t.usage)!=null?e:!1,providerMetadata:(n=t.providerMetadata)!=null?n:!1,embedding:(o=t.embedding)!=null?o:!1,reranking:(r=t.reranking)!=null?r:!1,runtimeContext:(a=t.runtimeContext)!=null?a:!1,headers:(i=t.headers)!=null?i:!1,toolChoice:(s=t.toolChoice)!=null?s:!1,schema:(p=t.schema)!=null?p:!1}}function $(t){const e={};for(const[n,o]of Object.entries(t??{}))R(e,`ai.settings.context.${n}`,o);return e}function R(t,e,n){if(n!=null){if(Array.isArray(n)||typeof n!="object"){t[e]=n;return}for(const[o,r]of Object.entries(n))R(t,`${e}.${o}`,r)}}function x(t){return Object.fromEntries(Object.entries(t??{}).filter(([,e])=>e!=null).map(([e,n])=>[`ai.request.headers.${e}`,n]))}function b(t){var e,n,o;return{"ai.usage.inputTokenDetails.noCacheTokens":(e=t.inputTokenDetails)==null?void 0:e.noCacheTokens,"ai.usage.outputTokenDetails.textTokens":(n=t.outputTokenDetails)==null?void 0:n.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":(o=t.outputTokenDetails)==null?void 0:o.reasoningTokens}}function m(t,e,n){const o={};for(const[r,a]of Object.entries(n))!e[r]||a==null||Object.assign(o,d(t,a));return o}function C(t){return t==null?void 0:t/1e3}function W(t){var e;return{"gen_ai.client.operation.duration":C(t.responseTimeMs),"gen_ai.client.operation.time_to_first_chunk":C(t.timeToFirstOutputMs),"gen_ai.client.operation.time_per_output_chunk":C((e=t.timeBetweenOutputChunksMs)==null?void 0:e.avg)}}var z=class{constructor(t={}){this.callStates=new Map;var e;this.tracer=(e=t.tracer)!=null?e:l.trace.getTracer("gen_ai"),this.supplementalAttributes=K(t),this.enrichSpan=t.enrichSpan}getCallState(t){return this.callStates.get(t)}cleanupCallState(t){this.callStates.delete(t)}getSpanAttributes({attributes:t,spanType:e,operationId:n,callId:o,runtimeContext:r}){var a;let i;try{i=(a=this.enrichSpan)==null?void 0:a.call(this,{spanType:e,operationId:n,callId:o,runtimeContext:r})}catch{i=void 0}return{...L(i),...t}}executeTool({callId:t,toolCallId:e,execute:n}){var o;const r=(o=this.getCallState(t))==null?void 0:o.toolSpans.get(e);return r==null?n():l.context.with(r.context,n)}executeLanguageModelCall({callId:t,execute:e}){var n;const o=this.getCallState(t),r=(n=o?.inferenceContext)!=null?n:o?.stepContext;return r==null?e():l.context.with(r,e)}onStart(t){if(t.operationId==="ai.embed"||t.operationId==="ai.embedMany"){this.onEmbedOperationStart(t);return}if(t.operationId==="ai.rerank"){this.onRerankOperationStart(t);return}if(t.operationId==="ai.generateObject"||t.operationId==="ai.streamObject"){this.onObjectOperationStart(t);return}this.onGenerateStart(t)}onGenerateStart(t){var e;const n={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},o={maxOutputTokens:t.maxOutputTokens,temperature:t.temperature,topP:t.topP,topK:t.topK,presencePenalty:t.presencePenalty,frequencyPenalty:t.frequencyPenalty,stopSequences:t.stopSequences,seed:t.seed,maxRetries:t.maxRetries},r=S(t.provider),a=A(t.operationId),i=t.runtimeContext,s=m(n,this.supplementalAttributes,{runtimeContext:$(i),headers:x(t.headers)}),p=d(n,{"gen_ai.operation.name":a,"gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.agent.name":n.functionId,"gen_ai.request.frequency_penalty":t.frequencyPenalty,"gen_ai.request.max_tokens":t.maxOutputTokens,"gen_ai.request.presence_penalty":t.presencePenalty,"gen_ai.request.temperature":(e=t.temperature)!=null?e:void 0,"gen_ai.request.top_k":t.topK,"gen_ai.request.top_p":t.topP,"gen_ai.request.stop_sequences":t.stopSequences,"gen_ai.request.seed":t.seed,"gen_ai.system_instructions":t.instructions?{input:()=>JSON.stringify(O(t.instructions))}:void 0,"gen_ai.input.messages":{input:()=>JSON.stringify(k({prompt:void 0,messages:t.messages}))},...s}),c=`${a} ${t.modelId}`,g=this.tracer.startSpan(c,{attributes:this.getSpanAttributes({attributes:p,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:i}),kind:l.SpanKind.INTERNAL}),u=l.trace.setSpan(l.context.active(),g);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:n,rootSpan:g,rootContext:u,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:o,provider:t.provider,modelId:t.modelId,runtimeContext:i,baseSupplementalAttributes:s})}onObjectOperationStart(t){var e;const n={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},o={maxOutputTokens:t.maxOutputTokens,temperature:t.temperature,topP:t.topP,topK:t.topK,presencePenalty:t.presencePenalty,frequencyPenalty:t.frequencyPenalty,seed:t.seed,maxRetries:t.maxRetries},r=S(t.provider),a=A(t.operationId),i=m(n,this.supplementalAttributes,{headers:x(t.headers)}),s=d(n,{"gen_ai.operation.name":a,"gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.agent.name":n.functionId,"gen_ai.output.type":"json","gen_ai.request.frequency_penalty":t.frequencyPenalty,"gen_ai.request.max_tokens":t.maxOutputTokens,"gen_ai.request.presence_penalty":t.presencePenalty,"gen_ai.request.temperature":(e=t.temperature)!=null?e:void 0,"gen_ai.request.top_k":t.topK,"gen_ai.request.top_p":t.topP,"gen_ai.request.seed":t.seed,"gen_ai.system_instructions":t.system?{input:()=>JSON.stringify(O(t.system))}:void 0,"gen_ai.input.messages":{input:()=>JSON.stringify(k({prompt:t.prompt,messages:t.messages}))},...i,...m(n,this.supplementalAttributes,{schema:{"ai.schema":t.schema?{input:()=>JSON.stringify(t.schema)}:void 0,"ai.schema.name":t.schemaName,"ai.schema.description":t.schemaDescription,"ai.settings.output":t.output}})}),p=`${a} ${t.modelId}`,c=this.tracer.startSpan(p,{attributes:this.getSpanAttributes({attributes:s,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.INTERNAL}),g=l.trace.setSpan(l.context.active(),c);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:n,rootSpan:c,rootContext:g,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:o,provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:i})}onObjectStepStart(t){var e;const n=this.getCallState(t.callId);if(!n?.rootSpan||!n.rootContext)return;const{telemetry:o}=n,r=S(t.provider),a=d(o,{"gen_ai.operation.name":"chat","gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.output.type":"json","gen_ai.request.frequency_penalty":n.settings.frequencyPenalty,"gen_ai.request.max_tokens":n.settings.maxOutputTokens,"gen_ai.request.presence_penalty":n.settings.presencePenalty,"gen_ai.request.temperature":(e=n.settings.temperature)!=null?e:void 0,"gen_ai.request.top_k":n.settings.topK,"gen_ai.request.top_p":n.settings.topP,"gen_ai.input.messages":{input:()=>t.promptMessages?JSON.stringify(v(t.promptMessages)):void 0},...n.baseSupplementalAttributes}),i=`chat ${t.modelId}`;n.inferenceSpan=this.tracer.startSpan(i,{attributes:this.getSpanAttributes({attributes:a,spanType:"languageModel",operationId:n.operationId,callId:t.callId,runtimeContext:n.runtimeContext}),kind:l.SpanKind.CLIENT},n.rootContext),n.inferenceContext=l.trace.setSpan(n.rootContext,n.inferenceSpan)}onObjectStepEnd(t){var e;const n=this.getCallState(t.callId);if(!n?.inferenceSpan)return;const{telemetry:o}=n;n.inferenceSpan.setAttributes(d(o,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.response.id":t.response.id,"gen_ai.response.model":t.response.modelId,"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.output.messages":{output:()=>{try{return JSON.stringify(E({objectText:t.objectText,finishReason:t.finishReason}))}catch{return t.objectText}}},...m(o,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})})),n.inferenceSpan.end(),n.inferenceSpan=void 0,n.inferenceContext=void 0}onEmbedOperationStart(t){const e={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},n=S(t.provider),o=m(e,this.supplementalAttributes,{headers:x(t.headers)}),r=t.value,a=t.operationId==="ai.embedMany",i=d(e,{"gen_ai.operation.name":"embeddings","gen_ai.provider.name":n,"gen_ai.request.model":t.modelId,...o,...m(e,this.supplementalAttributes,{embedding:a?{"ai.values":{input:()=>r.map(g=>JSON.stringify(g))}}:{"ai.value":{input:()=>JSON.stringify(r)}}})}),s=`embeddings ${t.modelId}`,p=this.tracer.startSpan(s,{attributes:this.getSpanAttributes({attributes:i,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.CLIENT}),c=l.trace.setSpan(l.context.active(),p);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:e,rootSpan:p,rootContext:c,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:{maxRetries:t.maxRetries},provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:o})}onStepStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e;e.runtimeContext=t.runtimeContext;const o=d(n,{"gen_ai.operation.name":"agent_step",...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{toolChoice:{"ai.prompt.toolChoice":{input:()=>t.stepToolChoice!=null?JSON.stringify(t.stepToolChoice):void 0}}})});e.stepSpan=this.tracer.startSpan(`step ${t.steps.length+1}`,{attributes:this.getSpanAttributes({attributes:o,spanType:"step",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.INTERNAL},e.rootContext),e.stepContext=l.trace.setSpan(e.rootContext,e.stepSpan)}onLanguageModelCallStart(t){var e;const n=this.getCallState(t.callId);if(!n?.stepContext)return;const{telemetry:o}=n,r=S(t.provider),a=d(o,{"gen_ai.operation.name":"chat","gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.request.frequency_penalty":n.settings.frequencyPenalty,"gen_ai.request.max_tokens":n.settings.maxOutputTokens,"gen_ai.request.presence_penalty":n.settings.presencePenalty,"gen_ai.request.stop_sequences":n.settings.stopSequences,"gen_ai.request.temperature":(e=n.settings.temperature)!=null?e:void 0,"gen_ai.request.top_k":n.settings.topK,"gen_ai.request.top_p":n.settings.topP,"gen_ai.input.messages":{input:()=>{const i=k({prompt:void 0,messages:t.messages});return i.length>0?JSON.stringify(i):void 0}},"gen_ai.tool.definitions":{input:()=>t.tools?JSON.stringify(t.tools):void 0}});n.inferenceSpan=this.tracer.startSpan(`chat ${t.modelId}`,{attributes:this.getSpanAttributes({attributes:a,spanType:"languageModel",operationId:n.operationId,callId:t.callId,runtimeContext:n.runtimeContext}),kind:l.SpanKind.CLIENT},n.stepContext),n.inferenceContext=l.trace.setSpan(n.stepContext,n.inferenceSpan)}onLanguageModelCallEnd(t){var e,n;const o=this.getCallState(t.callId);if(!o?.inferenceSpan)return;const{telemetry:r}=o;o.inferenceSpan.setAttributes(d(r,{...W(t.performance),"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.response.id":t.responseId,"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":(n=t.usage.inputTokenDetails)==null?void 0:n.cacheWriteTokens,"gen_ai.output.messages":{output:()=>JSON.stringify(N({text:t.content.filter(a=>a.type==="text").map(a=>a.text).join("")||void 0,reasoning:t.content.filter(a=>a.type==="reasoning"),toolCalls:t.content.filter(a=>a.type==="tool-call"),files:t.content.filter(a=>a.type==="file").map(a=>a.file),finishReason:t.finishReason}))},...m(r,this.supplementalAttributes,{usage:b(t.usage)})})),o.inferenceSpan.end(),o.inferenceSpan=void 0,o.inferenceContext=void 0}onToolExecutionStart(t){const e=this.getCallState(t.callId);if(!e?.stepContext)return;const{telemetry:n}=e,{toolCall:o}=t,r=d(n,{"gen_ai.operation.name":"execute_tool","gen_ai.tool.name":o.toolName,"gen_ai.tool.call.id":o.toolCallId,"gen_ai.tool.type":"function","gen_ai.tool.call.arguments":{input:()=>JSON.stringify(o.input)}}),a=`execute_tool ${o.toolName}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"tool",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.INTERNAL},e.stepContext),s=l.trace.setSpan(e.stepContext,i);e.toolSpans.set(o.toolCallId,{span:i,context:s})}onToolExecutionEnd(t){const e=this.getCallState(t.callId);if(!e)return;const n=e.toolSpans.get(t.toolCall.toolCallId);if(!n)return;const{span:o}=n,{telemetry:r}=e,{toolOutput:a}=t;if(o.setAttributes(d(r,{"gen_ai.execute_tool.duration":C(t.toolExecutionMs)})),a.type==="tool-result")try{o.setAttributes(d(r,{"gen_ai.tool.call.result":{output:()=>JSON.stringify(a.output)}}))}catch{}else h(o,a.error);o.end(),e.toolSpans.delete(t.toolCall.toolCallId)}onStepEnd(t){const e=this.getCallState(t.callId);if(!e?.stepSpan)return;const{telemetry:n}=e;e.stepSpan.setAttributes(m(n,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})),e.stepSpan.end(),e.stepSpan=void 0,e.stepContext=void 0}onStepFinish(t){this.onStepEnd(t)}onEnd(t){const e=this.getCallState(t.callId);if(e?.rootSpan){if(e.operationId==="ai.embed"||e.operationId==="ai.embedMany"){this.onEmbedOperationEnd(t);return}if(e.operationId==="ai.rerank"){this.onRerankOperationEnd(t);return}if(e.operationId==="ai.generateObject"||e.operationId==="ai.streamObject"){this.onObjectOperationEnd(t);return}this.onGenerateEnd(t)}}onGenerateEnd(t){var e,n;const o=this.getCallState(t.callId);if(!o?.rootSpan)return;const{telemetry:r}=o;o.rootSpan.setAttributes(d(r,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":(n=t.usage.inputTokenDetails)==null?void 0:n.cacheWriteTokens,"gen_ai.output.messages":{output:()=>{var a;return JSON.stringify(N({text:(a=t.text)!=null?a:void 0,reasoning:t.finalStep.reasoning,toolCalls:t.toolCalls,files:t.files,finishReason:t.finishReason}))}},...m(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.finalStep.providerMetadata?JSON.stringify(t.finalStep.providerMetadata):void 0},usage:b(t.usage)})})),o.rootSpan.end(),this.cleanupCallState(t.callId)}onObjectOperationEnd(t){var e;const n=this.getCallState(t.callId);if(!n?.rootSpan)return;const{telemetry:o}=n;n.rootSpan.setAttributes(d(o,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.output.messages":{output:()=>t.object!=null?JSON.stringify(E({objectText:JSON.stringify(t.object),finishReason:t.finishReason})):void 0},...m(o,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})})),n.rootSpan.end(),this.cleanupCallState(t.callId)}onEmbedOperationEnd(t){const e=this.getCallState(t.callId);if(!e?.rootSpan)return;const{telemetry:n}=e,o=e.operationId==="ai.embedMany";e.rootSpan.setAttributes(d(n,{"gen_ai.usage.input_tokens":t.usage.tokens,...m(n,this.supplementalAttributes,{embedding:o?{"ai.embeddings":{output:()=>t.embedding.map(r=>JSON.stringify(r))}}:{"ai.embedding":{output:()=>JSON.stringify(t.embedding)}}})})),e.rootSpan.end(),this.cleanupCallState(t.callId)}onEmbedStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e,o=S(e.provider),r=d(n,{"gen_ai.operation.name":"embeddings","gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{embedding:{"ai.values":{input:()=>t.values.map(p=>JSON.stringify(p))}}})}),a=`embeddings ${e.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"embedding",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.CLIENT},e.rootContext),s=l.trace.setSpan(e.rootContext,i);e.embedSpans.set(t.embedCallId,{span:i,context:s})}onEmbedEnd(t){const e=this.getCallState(t.callId);if(!e)return;const n=e.embedSpans.get(t.embedCallId);if(!n)return;const{span:o}=n,{telemetry:r}=e;o.setAttributes(d(r,{"gen_ai.usage.input_tokens":t.usage.tokens,...m(r,this.supplementalAttributes,{embedding:{"ai.embeddings":{output:()=>t.embeddings.map(a=>JSON.stringify(a))}}})})),o.end(),e.embedSpans.delete(t.embedCallId)}onRerankOperationStart(t){const e={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},n=S(t.provider),o=m(e,this.supplementalAttributes,{headers:x(t.headers)}),r=d(e,{"gen_ai.operation.name":"rerank","gen_ai.provider.name":n,"gen_ai.request.model":t.modelId,...o,...m(e,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>t.documents.map(p=>JSON.stringify(p))}}})}),a=`rerank ${t.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.CLIENT}),s=l.trace.setSpan(l.context.active(),i);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:e,rootSpan:i,rootContext:s,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:{maxRetries:t.maxRetries},provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:o})}onRerankOperationEnd(t){const e=this.getCallState(t.callId);e?.rootSpan&&(e.rootSpan.end(),this.cleanupCallState(t.callId))}onRerankStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e,o=S(e.provider),r=d(n,{"gen_ai.operation.name":"rerank","gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>t.documents.map(p=>JSON.stringify(p))}}})}),a=`rerank ${e.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"reranking",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.CLIENT},e.rootContext),s=l.trace.setSpan(e.rootContext,i);e.rerankSpan={span:i,context:s}}onRerankEnd(t){const e=this.getCallState(t.callId);if(!e?.rerankSpan)return;const{span:n}=e.rerankSpan,{telemetry:o}=e;n.setAttributes(m(o,this.supplementalAttributes,{reranking:{"ai.ranking.type":t.documentsType,"ai.ranking":{output:()=>t.ranking.map(r=>JSON.stringify(r))}}})),n.end(),e.rerankSpan=void 0}onAbort(t){const e=this.getCallState(t.callId);if(e?.rootSpan){for(const{span:n}of e.toolSpans.values())n.end();e.toolSpans.clear(),e.inferenceSpan&&(e.inferenceSpan.end(),e.inferenceSpan=void 0,e.inferenceContext=void 0),e.stepSpan&&(e.stepSpan.end(),e.stepSpan=void 0,e.stepContext=void 0);for(const{span:n}of e.embedSpans.values())n.end();e.embedSpans.clear(),e.rerankSpan&&(e.rerankSpan.span.end(),e.rerankSpan=void 0),e.rootSpan.end(),this.cleanupCallState(t.callId)}}onError(t){var e;const n=t;if(!n?.callId)return;const o=this.getCallState(n.callId);if(!o?.rootSpan)return;const r=(e=n.error)!=null?e:t;for(const{span:a}of o.toolSpans.values())h(a,r),a.end();o.toolSpans.clear(),o.inferenceSpan&&(h(o.inferenceSpan,r),o.inferenceSpan.end(),o.inferenceSpan=void 0,o.inferenceContext=void 0),o.stepSpan&&(h(o.stepSpan,r),o.stepSpan.end(),o.stepSpan=void 0,o.stepContext=void 0);for(const{span:a}of o.embedSpans.values())h(a,r),a.end();o.embedSpans.clear(),o.rerankSpan&&(h(o.rerankSpan.span,r),o.rerankSpan.span.end(),o.rerankSpan=void 0),h(o.rootSpan,r),o.rootSpan.end(),this.cleanupCallState(n.callId)}};function U(t){return y.pruneMessages({messages:t,emptyMessages:"remove",reasoning:"none",toolCalls:`before-last-${l.TOOL_CALL_MESSAGES_TO_KEEP}-messages`})}function B(t){return typeof t=="object"&&t!==null&&"role"in t&&"content"in t}function G(t){return Array.isArray(t)&&t.every(B)}function F(t,{conversationId:e,getModel:n}){let o=0;const r=()=>{const a=n?.();return a?{model_provider:a.provider,model_id:a.modelId}:{}};return{onStepStart:()=>{o+=1},onToolExecutionStart:a=>{t("com.redocly.aiChat.toolCallStarted",[{conversation_id:e,...l.createResource("toolCall",a.toolCall.toolCallId,"ai"),tool_name:a.toolCall.toolName,input:a.toolCall.input,step_number:o,...r()}])},onToolExecutionEnd:a=>{const i=a.toolOutput.type==="tool-error";t("com.redocly.aiChat.toolCallFinished",[{conversation_id:e,...l.createResource("toolCall",a.toolCall.toolCallId,"ai"),tool_name:a.toolCall.toolName,input:a.toolCall.input,step_number:o,success:!i,duration_ms:a.toolExecutionMs,...r(),...i&&{error:a.toolOutput.error instanceof Error?a.toolOutput.error.message:String(a.toolOutput.error)}}])},onStart:a=>{o=0,t("com.redocly.aiChat.conversationStarted",[{...l.createResource("conversation",e,"ai"),model_provider:"provider"in a?a.provider:"unknown",model_id:"modelId"in a?a.modelId:"unknown"}])},onEnd:a=>{if(!("steps"in a))return;const i=a.usage;t("com.redocly.aiChat.conversationFinished",[{...l.createResource("conversation",e,"ai"),model_provider:a.model.provider,model_id:a.model.modelId,success:!0,step_count:a.steps.length,finish_reason:a.finishReason,input_tokens:i.inputTokens,output_tokens:i.outputTokens,total_tokens:i.totalTokens}])}}}function V(t,e){const n=()=>l.trace.getSpan(l.context.active())?l.context.active():e;return{startSpan:(o,r,a)=>t.startSpan(o,r,a??e),startActiveSpan:((o,r,a,i)=>{if(typeof r=="function")return t.startActiveSpan(o,{},n(),r);if(typeof a=="function")return t.startActiveSpan(o,r,n(),a);if(i)return t.startActiveSpan(o,r,a,i);throw new Error("withParentContext: invalid startActiveSpan invocation")})}}class H{model;tools;toolLoopAgent;maxSteps;context=[];systemInstructions=j.getSystemInstructions();getActiveStateMessage;constructor(e){const{activeConversationId:n,onFinish:o,onStepFinish:r,tools:a}=e;this.maxSteps=e.maxSteps??l.DEFAULT_MAX_STEPS,this.getActiveStateMessage=e.getActiveStateMessage,this.model=this.createModel(e.model);const i=({stepNumber:c,messages:g})=>{const u=[],f=this.buildActiveStateMessage();return f&&u.push({role:"user",content:f}),c===this.maxSteps-1&&u.push({role:"user",content:T.LAST_STEP_PROMPT}),u.length===0?void 0:{messages:[...g,...u]}},s=c=>{const g=c.messages?this.prepareMessages(c.messages):void 0,u=c.prompt?this.preparePrompt(c.prompt):void 0;return{...c,model:this.model,messages:g,prompt:u,instructions:[...this.systemInstructions,...this.context],tools:this.tools??c.tools}},p=new z({...e.parentCtx&&{tracer:V(l.trace.getTracer("ai"),e.parentCtx)}});this.toolLoopAgent=new y.ToolLoopAgent({model:this.model,tools:a,stopWhen:y.isStepCount(this.maxSteps),onStepFinish:r,onFinish:o,maxOutputTokens:e.maxOutputTokens,maxRetries:e.maxRetries??l.DEFAULT_MAX_RETRIES,prepareStep:i,prepareCall:s,telemetry:{isEnabled:!0,recordInputs:!0,recordOutputs:!0,functionId:"replay-ai-chat",integrations:[p,F(e.sendEvent,{conversationId:n,getModel:()=>({provider:this.model.provider,modelId:this.model.modelId})})]}})}createModel(e){return y.createModel(e)}setModel(e){this.model=this.createModel(e)}getAgent(){return this.toolLoopAgent}addContext(e){this.context.push(...e)}registerTools(e){this.tools=e}async generateTitle(e,n){return y.streamText({model:this.model,system:T.CONVERSATION_TITLE_PROMPT,prompt:e,temperature:0,abortSignal:n}).text}buildActiveStateMessage(){if(!this.getActiveStateMessage)return null;try{return this.getActiveStateMessage()||null}catch(e){return console.error(e),null}}prepareMessages(e){return U(e)}preparePrompt(e){return G(e)?this.prepareMessages(e):e}}exports.AgentLoop=H;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("./replay-create-model-DB6xE5Ap.js"),l=require("./replay-index-D85qPcEF.js"),j=require("./replay-db-BZNR8xEd.js"),T=require("./replay-defaults-DVvOnvnR.js");function S(t){const e=t.toLowerCase(),n=[["google.vertex","gcp.vertex_ai"],["google.generative-ai","gcp.gemini"],["google-vertex","gcp.vertex_ai"],["amazon-bedrock","aws.bedrock"],["azure-openai","azure.ai.openai"],["anthropic","anthropic"],["openai","openai"],["azure","azure.ai.inference"],["google","gcp.gemini"],["mistral","mistral_ai"],["cohere","cohere"],["bedrock","aws.bedrock"],["groq","groq"],["deepseek","deepseek"],["perplexity","perplexity"],["xai","x_ai"]];for(const[o,r]of n)if(e===o||e.startsWith(o+".")||e.startsWith(o+"-"))return r;return t}function A(t){var e;return(e={"ai.generateText":"invoke_agent","ai.streamText":"invoke_agent","ai.generateObject":"invoke_agent","ai.streamObject":"invoke_agent","ai.embed":"embeddings","ai.embedMany":"embeddings","ai.rerank":"rerank"}[t])!=null?e:t}function O(t){return typeof t=="string"?[{type:"text",content:t}]:Array.isArray(t)?t.map(e=>({type:"text",content:e.content})):[{type:"text",content:t.content}]}function P(t){var e,n,o,r,a;switch(t.type){case"text":return{type:"text",content:t.text};case"reasoning":return{type:"reasoning",content:t.text};case"tool-call":return{type:"tool_call",id:(e=t.toolCallId)!=null?e:null,name:t.toolName,arguments:t.input};case"tool-result":{const i=t.output;let s;return i&&(i.type==="text"||i.type==="error-text"||i.type==="json"||i.type==="error-json"?s=i.value:i.type==="execution-denied"?s={denied:!0,reason:i.reason}:s=i),{type:"tool_call_response",id:(n=t.toolCallId)!=null?n:null,response:s}}case"file":{const i=t.data,s=(()=>{if(typeof i=="object"&&i!==null&&!(i instanceof URL)&&!(i instanceof Uint8Array)&&!(i instanceof ArrayBuffer)&&"type"in i)switch(i.type){case"data":return i.data;case"url":return i.url;case"text":return i.text;default:return""}return i})();let p;if(s instanceof Uint8Array)p=y.convertDataContentToBase64String(s);else if(typeof s=="string"){if(s.startsWith("http://")||s.startsWith("https://"))return{type:"uri",modality:_(t.mediaType),mime_type:(o=t.mediaType)!=null?o:null,uri:s};p=s}else{if(s instanceof URL)return{type:"uri",modality:_(t.mediaType),mime_type:(r=t.mediaType)!=null?r:null,uri:s.toString()};p=String(s)}return{type:"blob",modality:_(t.mediaType),mime_type:(a=t.mediaType)!=null?a:null,content:p}}case"tool-approval-response":return{type:"tool_approval_response",approval_id:t.approvalId,approved:t.approved,reason:t.reason};case"custom":return{type:"custom",kind:t.kind};case"reasoning-file":return{type:String(t.type)};default:return{type:String(t.type)}}}function _(t){return!t||t.startsWith("image/")?"image":t.startsWith("video/")?"video":t.startsWith("audio/")?"audio":"image"}function v(t){return t.filter(e=>e.role!=="system").map(e=>{if(e.role==="system")return{role:"system",parts:[{type:"text",content:e.content}]};const n=e.content.map(P);return{role:e.role,parts:n}})}function k({prompt:t,messages:e}){const n=[];if(typeof t=="string")n.push({role:"user",parts:[{type:"text",content:t}]});else if(Array.isArray(t))for(const o of t){const r=M(o);r&&n.push(r)}if(e)for(const o of e){const r=M(o);r&&n.push(r)}return n}function M(t){if(t.role!=="system"){if(t.role==="user")return typeof t.content=="string"?{role:"user",parts:[{type:"text",content:t.content}]}:{role:"user",parts:t.content.map(n=>{var o,r,a,i,s,p,c,g;switch(n.type){case"text":return{type:"text",content:n.text};case"image":{const u=n.image;return u instanceof URL?{type:"uri",modality:"image",mime_type:(o=n.mediaType)!=null?o:null,uri:u.toString()}:typeof u=="string"?u.startsWith("http://")||u.startsWith("https://")?{type:"uri",modality:"image",mime_type:(r=n.mediaType)!=null?r:null,uri:u}:{type:"blob",modality:"image",mime_type:(a=n.mediaType)!=null?a:null,content:u}:{type:"blob",modality:"image",mime_type:(i=n.mediaType)!=null?i:null,content:y.convertDataContentToBase64String(u)}}case"file":{const u=n.data,f=(()=>{if(typeof u=="object"&&u!==null&&!(u instanceof URL)&&!(u instanceof Uint8Array)&&!(u instanceof ArrayBuffer)&&"type"in u)switch(u.type){case"data":return u.data;case"url":return u.url;case"text":return u.text;default:return""}return u})();return f instanceof URL?{type:"uri",modality:_(n.mediaType),mime_type:(s=n.mediaType)!=null?s:null,uri:f.toString()}:typeof f=="string"?f.startsWith("http://")||f.startsWith("https://")?{type:"uri",modality:_(n.mediaType),mime_type:(p=n.mediaType)!=null?p:null,uri:f}:{type:"blob",modality:_(n.mediaType),mime_type:(c=n.mediaType)!=null?c:null,content:f}:{type:"blob",modality:_(n.mediaType),mime_type:(g=n.mediaType)!=null?g:null,content:y.convertDataContentToBase64String(f)}}default:return{type:String(n.type)}}})};if(t.role==="assistant")return typeof t.content=="string"?{role:"assistant",parts:[{type:"text",content:t.content}]}:{role:"assistant",parts:t.content.map(n=>{var o,r;switch(n.type){case"text":return{type:"text",content:n.text};case"reasoning":return{type:"reasoning",content:n.text};case"tool-call":return{type:"tool_call",id:(o=n.toolCallId)!=null?o:null,name:n.toolName,arguments:n.input};case"tool-result":{const a=n.output;let i;return a&&(a.type==="text"||a.type==="error-text"||a.type==="json"||a.type==="error-json"?i=a.value:a.type==="execution-denied"?i={denied:!0,reason:a.reason}:i=a),{type:"tool_call_response",id:(r=n.toolCallId)!=null?r:null,response:i}}default:return{type:String(n.type)}}})};if(t.role==="tool")return{role:"tool",parts:t.content.map(n=>{var o;if(n.type==="tool-result"){const r=n.output;let a;return r&&(r.type==="text"||r.type==="error-text"||r.type==="json"||r.type==="error-json"?a=r.value:r.type==="execution-denied"?a={denied:!0,reason:r.reason}:a=r),{type:"tool_call_response",id:(o=n.toolCallId)!=null?o:null,response:a}}return{type:String(n.type)}})}}}function N({text:t,reasoning:e,toolCalls:n,files:o,finishReason:r}){const a=[];if(e)for(const i of e)"text"in i&&i.text&&a.push({type:"reasoning",content:i.text});if(t!=null&&t.length>0&&a.push({type:"text",content:t}),n)for(const i of n)a.push({type:"tool_call",id:i.toolCallId,name:i.toolName,arguments:i.input});if(o)for(const i of o)a.push({type:"blob",modality:_(i.mediaType),mime_type:i.mediaType,content:i.base64});return[{role:"assistant",parts:a,finish_reason:q(r)}]}function E({objectText:t,finishReason:e}){return[{role:"assistant",parts:[{type:"text",content:t}],finish_reason:q(e)}]}function q(t){var e;return(e={stop:"stop",length:"length","content-filter":"content_filter","tool-calls":"tool_call",error:"error",other:"stop",unknown:"stop"}[t])!=null?e:t}function h(t,e){e instanceof Error?(t.recordException({name:e.name,message:e.message,stack:e.stack}),t.setStatus({code:l.SpanStatusCode.ERROR,message:e.message})):t.setStatus({code:l.SpanStatusCode.ERROR})}function w(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"}function I(t){if(!Array.isArray(t))return t;const e=new Set(t.filter(w).map(o=>typeof o));if(e.size!==1)return;const[n]=e;return n==="string"?t.filter(o=>typeof o=="string"):n==="number"?t.filter(o=>typeof o=="number"):t.filter(o=>typeof o=="boolean")}function L(t){const e={};for(const[n,o]of Object.entries(t??{})){if(o==null)continue;const r=I(o);r!=null&&(e[n]=r)}return e}function J(t){return t?.isEnabled!==!1}function d(t,e){if(!J(t))return{};const n={};for(const[o,r]of Object.entries(e)){if(r==null)continue;if(typeof r=="object"&&"input"in r&&typeof r.input=="function"){if(t?.recordInputs===!1)continue;const i=r.input();if(i!=null){const s=I(i);s!=null&&(n[o]=s)}continue}if(typeof r=="object"&&"output"in r&&typeof r.output=="function"){if(t?.recordOutputs===!1)continue;const i=r.output();if(i!=null){const s=I(i);s!=null&&(n[o]=s)}continue}const a=I(r);a!=null&&(n[o]=a)}return n}var D={usage:!1,providerMetadata:!1,embedding:!1,reranking:!1,runtimeContext:!1,headers:!1,toolChoice:!1,schema:!1};function K(t){var e,n,o,r,a,i,s,p;return{...D,usage:(e=t.usage)!=null?e:!1,providerMetadata:(n=t.providerMetadata)!=null?n:!1,embedding:(o=t.embedding)!=null?o:!1,reranking:(r=t.reranking)!=null?r:!1,runtimeContext:(a=t.runtimeContext)!=null?a:!1,headers:(i=t.headers)!=null?i:!1,toolChoice:(s=t.toolChoice)!=null?s:!1,schema:(p=t.schema)!=null?p:!1}}function $(t){const e={};for(const[n,o]of Object.entries(t??{}))R(e,`ai.settings.context.${n}`,o);return e}function R(t,e,n){if(n!=null){if(Array.isArray(n)||typeof n!="object"){t[e]=n;return}for(const[o,r]of Object.entries(n))R(t,`${e}.${o}`,r)}}function x(t){return Object.fromEntries(Object.entries(t??{}).filter(([,e])=>e!=null).map(([e,n])=>[`ai.request.headers.${e}`,n]))}function b(t){var e,n,o;return{"ai.usage.inputTokenDetails.noCacheTokens":(e=t.inputTokenDetails)==null?void 0:e.noCacheTokens,"ai.usage.outputTokenDetails.textTokens":(n=t.outputTokenDetails)==null?void 0:n.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":(o=t.outputTokenDetails)==null?void 0:o.reasoningTokens}}function m(t,e,n){const o={};for(const[r,a]of Object.entries(n))!e[r]||a==null||Object.assign(o,d(t,a));return o}function C(t){return t==null?void 0:t/1e3}function W(t){var e;return{"gen_ai.client.operation.duration":C(t.responseTimeMs),"gen_ai.client.operation.time_to_first_chunk":C(t.timeToFirstOutputMs),"gen_ai.client.operation.time_per_output_chunk":C((e=t.timeBetweenOutputChunksMs)==null?void 0:e.avg)}}var z=class{constructor(t={}){this.callStates=new Map;var e;this.tracer=(e=t.tracer)!=null?e:l.trace.getTracer("gen_ai"),this.supplementalAttributes=K(t),this.enrichSpan=t.enrichSpan}getCallState(t){return this.callStates.get(t)}cleanupCallState(t){this.callStates.delete(t)}getSpanAttributes({attributes:t,spanType:e,operationId:n,callId:o,runtimeContext:r}){var a;let i;try{i=(a=this.enrichSpan)==null?void 0:a.call(this,{spanType:e,operationId:n,callId:o,runtimeContext:r})}catch{i=void 0}return{...L(i),...t}}executeTool({callId:t,toolCallId:e,execute:n}){var o;const r=(o=this.getCallState(t))==null?void 0:o.toolSpans.get(e);return r==null?n():l.context.with(r.context,n)}executeLanguageModelCall({callId:t,execute:e}){var n;const o=this.getCallState(t),r=(n=o?.inferenceContext)!=null?n:o?.stepContext;return r==null?e():l.context.with(r,e)}onStart(t){if(t.operationId==="ai.embed"||t.operationId==="ai.embedMany"){this.onEmbedOperationStart(t);return}if(t.operationId==="ai.rerank"){this.onRerankOperationStart(t);return}if(t.operationId==="ai.generateObject"||t.operationId==="ai.streamObject"){this.onObjectOperationStart(t);return}this.onGenerateStart(t)}onGenerateStart(t){var e;const n={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},o={maxOutputTokens:t.maxOutputTokens,temperature:t.temperature,topP:t.topP,topK:t.topK,presencePenalty:t.presencePenalty,frequencyPenalty:t.frequencyPenalty,stopSequences:t.stopSequences,seed:t.seed,maxRetries:t.maxRetries},r=S(t.provider),a=A(t.operationId),i=t.runtimeContext,s=m(n,this.supplementalAttributes,{runtimeContext:$(i),headers:x(t.headers)}),p=d(n,{"gen_ai.operation.name":a,"gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.agent.name":n.functionId,"gen_ai.request.frequency_penalty":t.frequencyPenalty,"gen_ai.request.max_tokens":t.maxOutputTokens,"gen_ai.request.presence_penalty":t.presencePenalty,"gen_ai.request.temperature":(e=t.temperature)!=null?e:void 0,"gen_ai.request.top_k":t.topK,"gen_ai.request.top_p":t.topP,"gen_ai.request.stop_sequences":t.stopSequences,"gen_ai.request.seed":t.seed,"gen_ai.system_instructions":t.instructions?{input:()=>JSON.stringify(O(t.instructions))}:void 0,"gen_ai.input.messages":{input:()=>JSON.stringify(k({prompt:void 0,messages:t.messages}))},...s}),c=`${a} ${t.modelId}`,g=this.tracer.startSpan(c,{attributes:this.getSpanAttributes({attributes:p,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:i}),kind:l.SpanKind.INTERNAL}),u=l.trace.setSpan(l.context.active(),g);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:n,rootSpan:g,rootContext:u,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:o,provider:t.provider,modelId:t.modelId,runtimeContext:i,baseSupplementalAttributes:s})}onObjectOperationStart(t){var e;const n={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},o={maxOutputTokens:t.maxOutputTokens,temperature:t.temperature,topP:t.topP,topK:t.topK,presencePenalty:t.presencePenalty,frequencyPenalty:t.frequencyPenalty,seed:t.seed,maxRetries:t.maxRetries},r=S(t.provider),a=A(t.operationId),i=m(n,this.supplementalAttributes,{headers:x(t.headers)}),s=d(n,{"gen_ai.operation.name":a,"gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.agent.name":n.functionId,"gen_ai.output.type":"json","gen_ai.request.frequency_penalty":t.frequencyPenalty,"gen_ai.request.max_tokens":t.maxOutputTokens,"gen_ai.request.presence_penalty":t.presencePenalty,"gen_ai.request.temperature":(e=t.temperature)!=null?e:void 0,"gen_ai.request.top_k":t.topK,"gen_ai.request.top_p":t.topP,"gen_ai.request.seed":t.seed,"gen_ai.system_instructions":t.system?{input:()=>JSON.stringify(O(t.system))}:void 0,"gen_ai.input.messages":{input:()=>JSON.stringify(k({prompt:t.prompt,messages:t.messages}))},...i,...m(n,this.supplementalAttributes,{schema:{"ai.schema":t.schema?{input:()=>JSON.stringify(t.schema)}:void 0,"ai.schema.name":t.schemaName,"ai.schema.description":t.schemaDescription,"ai.settings.output":t.output}})}),p=`${a} ${t.modelId}`,c=this.tracer.startSpan(p,{attributes:this.getSpanAttributes({attributes:s,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.INTERNAL}),g=l.trace.setSpan(l.context.active(),c);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:n,rootSpan:c,rootContext:g,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:o,provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:i})}onObjectStepStart(t){var e;const n=this.getCallState(t.callId);if(!n?.rootSpan||!n.rootContext)return;const{telemetry:o}=n,r=S(t.provider),a=d(o,{"gen_ai.operation.name":"chat","gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.output.type":"json","gen_ai.request.frequency_penalty":n.settings.frequencyPenalty,"gen_ai.request.max_tokens":n.settings.maxOutputTokens,"gen_ai.request.presence_penalty":n.settings.presencePenalty,"gen_ai.request.temperature":(e=n.settings.temperature)!=null?e:void 0,"gen_ai.request.top_k":n.settings.topK,"gen_ai.request.top_p":n.settings.topP,"gen_ai.input.messages":{input:()=>t.promptMessages?JSON.stringify(v(t.promptMessages)):void 0},...n.baseSupplementalAttributes}),i=`chat ${t.modelId}`;n.inferenceSpan=this.tracer.startSpan(i,{attributes:this.getSpanAttributes({attributes:a,spanType:"languageModel",operationId:n.operationId,callId:t.callId,runtimeContext:n.runtimeContext}),kind:l.SpanKind.CLIENT},n.rootContext),n.inferenceContext=l.trace.setSpan(n.rootContext,n.inferenceSpan)}onObjectStepEnd(t){var e;const n=this.getCallState(t.callId);if(!n?.inferenceSpan)return;const{telemetry:o}=n;n.inferenceSpan.setAttributes(d(o,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.response.id":t.response.id,"gen_ai.response.model":t.response.modelId,"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.output.messages":{output:()=>{try{return JSON.stringify(E({objectText:t.objectText,finishReason:t.finishReason}))}catch{return t.objectText}}},...m(o,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})})),n.inferenceSpan.end(),n.inferenceSpan=void 0,n.inferenceContext=void 0}onEmbedOperationStart(t){const e={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},n=S(t.provider),o=m(e,this.supplementalAttributes,{headers:x(t.headers)}),r=t.value,a=t.operationId==="ai.embedMany",i=d(e,{"gen_ai.operation.name":"embeddings","gen_ai.provider.name":n,"gen_ai.request.model":t.modelId,...o,...m(e,this.supplementalAttributes,{embedding:a?{"ai.values":{input:()=>r.map(g=>JSON.stringify(g))}}:{"ai.value":{input:()=>JSON.stringify(r)}}})}),s=`embeddings ${t.modelId}`,p=this.tracer.startSpan(s,{attributes:this.getSpanAttributes({attributes:i,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.CLIENT}),c=l.trace.setSpan(l.context.active(),p);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:e,rootSpan:p,rootContext:c,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:{maxRetries:t.maxRetries},provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:o})}onStepStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e;e.runtimeContext=t.runtimeContext;const o=d(n,{"gen_ai.operation.name":"agent_step",...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{toolChoice:{"ai.prompt.toolChoice":{input:()=>t.stepToolChoice!=null?JSON.stringify(t.stepToolChoice):void 0}}})});e.stepSpan=this.tracer.startSpan(`step ${t.steps.length+1}`,{attributes:this.getSpanAttributes({attributes:o,spanType:"step",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.INTERNAL},e.rootContext),e.stepContext=l.trace.setSpan(e.rootContext,e.stepSpan)}onLanguageModelCallStart(t){var e;const n=this.getCallState(t.callId);if(!n?.stepContext)return;const{telemetry:o}=n,r=S(t.provider),a=d(o,{"gen_ai.operation.name":"chat","gen_ai.provider.name":r,"gen_ai.request.model":t.modelId,"gen_ai.request.frequency_penalty":n.settings.frequencyPenalty,"gen_ai.request.max_tokens":n.settings.maxOutputTokens,"gen_ai.request.presence_penalty":n.settings.presencePenalty,"gen_ai.request.stop_sequences":n.settings.stopSequences,"gen_ai.request.temperature":(e=n.settings.temperature)!=null?e:void 0,"gen_ai.request.top_k":n.settings.topK,"gen_ai.request.top_p":n.settings.topP,"gen_ai.input.messages":{input:()=>{const i=k({prompt:void 0,messages:t.messages});return i.length>0?JSON.stringify(i):void 0}},"gen_ai.tool.definitions":{input:()=>t.tools?JSON.stringify(t.tools):void 0}});n.inferenceSpan=this.tracer.startSpan(`chat ${t.modelId}`,{attributes:this.getSpanAttributes({attributes:a,spanType:"languageModel",operationId:n.operationId,callId:t.callId,runtimeContext:n.runtimeContext}),kind:l.SpanKind.CLIENT},n.stepContext),n.inferenceContext=l.trace.setSpan(n.stepContext,n.inferenceSpan)}onLanguageModelCallEnd(t){var e,n;const o=this.getCallState(t.callId);if(!o?.inferenceSpan)return;const{telemetry:r}=o;o.inferenceSpan.setAttributes(d(r,{...W(t.performance),"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.response.id":t.responseId,"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":(n=t.usage.inputTokenDetails)==null?void 0:n.cacheWriteTokens,"gen_ai.output.messages":{output:()=>JSON.stringify(N({text:t.content.filter(a=>a.type==="text").map(a=>a.text).join("")||void 0,reasoning:t.content.filter(a=>a.type==="reasoning"),toolCalls:t.content.filter(a=>a.type==="tool-call"),files:t.content.filter(a=>a.type==="file").map(a=>a.file),finishReason:t.finishReason}))},...m(r,this.supplementalAttributes,{usage:b(t.usage)})})),o.inferenceSpan.end(),o.inferenceSpan=void 0,o.inferenceContext=void 0}onToolExecutionStart(t){const e=this.getCallState(t.callId);if(!e?.stepContext)return;const{telemetry:n}=e,{toolCall:o}=t,r=d(n,{"gen_ai.operation.name":"execute_tool","gen_ai.tool.name":o.toolName,"gen_ai.tool.call.id":o.toolCallId,"gen_ai.tool.type":"function","gen_ai.tool.call.arguments":{input:()=>JSON.stringify(o.input)}}),a=`execute_tool ${o.toolName}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"tool",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.INTERNAL},e.stepContext),s=l.trace.setSpan(e.stepContext,i);e.toolSpans.set(o.toolCallId,{span:i,context:s})}onToolExecutionEnd(t){const e=this.getCallState(t.callId);if(!e)return;const n=e.toolSpans.get(t.toolCall.toolCallId);if(!n)return;const{span:o}=n,{telemetry:r}=e,{toolOutput:a}=t;if(o.setAttributes(d(r,{"gen_ai.execute_tool.duration":C(t.toolExecutionMs)})),a.type==="tool-result")try{o.setAttributes(d(r,{"gen_ai.tool.call.result":{output:()=>JSON.stringify(a.output)}}))}catch{}else h(o,a.error);o.end(),e.toolSpans.delete(t.toolCall.toolCallId)}onStepEnd(t){const e=this.getCallState(t.callId);if(!e?.stepSpan)return;const{telemetry:n}=e;e.stepSpan.setAttributes(m(n,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})),e.stepSpan.end(),e.stepSpan=void 0,e.stepContext=void 0}onStepFinish(t){this.onStepEnd(t)}onEnd(t){const e=this.getCallState(t.callId);if(e?.rootSpan){if(e.operationId==="ai.embed"||e.operationId==="ai.embedMany"){this.onEmbedOperationEnd(t);return}if(e.operationId==="ai.rerank"){this.onRerankOperationEnd(t);return}if(e.operationId==="ai.generateObject"||e.operationId==="ai.streamObject"){this.onObjectOperationEnd(t);return}this.onGenerateEnd(t)}}onGenerateEnd(t){var e,n;const o=this.getCallState(t.callId);if(!o?.rootSpan)return;const{telemetry:r}=o;o.rootSpan.setAttributes(d(r,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":(n=t.usage.inputTokenDetails)==null?void 0:n.cacheWriteTokens,"gen_ai.output.messages":{output:()=>{var a;return JSON.stringify(N({text:(a=t.text)!=null?a:void 0,reasoning:t.finalStep.reasoning,toolCalls:t.toolCalls,files:t.files,finishReason:t.finishReason}))}},...m(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.finalStep.providerMetadata?JSON.stringify(t.finalStep.providerMetadata):void 0},usage:b(t.usage)})})),o.rootSpan.end(),this.cleanupCallState(t.callId)}onObjectOperationEnd(t){var e;const n=this.getCallState(t.callId);if(!n?.rootSpan)return;const{telemetry:o}=n;n.rootSpan.setAttributes(d(o,{"gen_ai.response.finish_reasons":[t.finishReason],"gen_ai.usage.input_tokens":t.usage.inputTokens,"gen_ai.usage.output_tokens":t.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":(e=t.usage.inputTokenDetails)==null?void 0:e.cacheReadTokens,"gen_ai.output.messages":{output:()=>t.object!=null?JSON.stringify(E({objectText:JSON.stringify(t.object),finishReason:t.finishReason})):void 0},...m(o,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":t.providerMetadata?JSON.stringify(t.providerMetadata):void 0},usage:b(t.usage)})})),n.rootSpan.end(),this.cleanupCallState(t.callId)}onEmbedOperationEnd(t){const e=this.getCallState(t.callId);if(!e?.rootSpan)return;const{telemetry:n}=e,o=e.operationId==="ai.embedMany";e.rootSpan.setAttributes(d(n,{"gen_ai.usage.input_tokens":t.usage.tokens,...m(n,this.supplementalAttributes,{embedding:o?{"ai.embeddings":{output:()=>t.embedding.map(r=>JSON.stringify(r))}}:{"ai.embedding":{output:()=>JSON.stringify(t.embedding)}}})})),e.rootSpan.end(),this.cleanupCallState(t.callId)}onEmbedStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e,o=S(e.provider),r=d(n,{"gen_ai.operation.name":"embeddings","gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{embedding:{"ai.values":{input:()=>t.values.map(p=>JSON.stringify(p))}}})}),a=`embeddings ${e.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"embedding",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.CLIENT},e.rootContext),s=l.trace.setSpan(e.rootContext,i);e.embedSpans.set(t.embedCallId,{span:i,context:s})}onEmbedEnd(t){const e=this.getCallState(t.callId);if(!e)return;const n=e.embedSpans.get(t.embedCallId);if(!n)return;const{span:o}=n,{telemetry:r}=e;o.setAttributes(d(r,{"gen_ai.usage.input_tokens":t.usage.tokens,...m(r,this.supplementalAttributes,{embedding:{"ai.embeddings":{output:()=>t.embeddings.map(a=>JSON.stringify(a))}}})})),o.end(),e.embedSpans.delete(t.embedCallId)}onRerankOperationStart(t){const e={recordInputs:t.recordInputs,recordOutputs:t.recordOutputs,functionId:t.functionId},n=S(t.provider),o=m(e,this.supplementalAttributes,{headers:x(t.headers)}),r=d(e,{"gen_ai.operation.name":"rerank","gen_ai.provider.name":n,"gen_ai.request.model":t.modelId,...o,...m(e,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>t.documents.map(p=>JSON.stringify(p))}}})}),a=`rerank ${t.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"operation",operationId:t.operationId,callId:t.callId,runtimeContext:void 0}),kind:l.SpanKind.CLIENT}),s=l.trace.setSpan(l.context.active(),i);this.callStates.set(t.callId,{operationId:t.operationId,telemetry:e,rootSpan:i,rootContext:s,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,toolSpans:new Map,settings:{maxRetries:t.maxRetries},provider:t.provider,modelId:t.modelId,runtimeContext:void 0,baseSupplementalAttributes:o})}onRerankOperationEnd(t){const e=this.getCallState(t.callId);e?.rootSpan&&(e.rootSpan.end(),this.cleanupCallState(t.callId))}onRerankStart(t){const e=this.getCallState(t.callId);if(!e?.rootSpan||!e.rootContext)return;const{telemetry:n}=e,o=S(e.provider),r=d(n,{"gen_ai.operation.name":"rerank","gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...e.baseSupplementalAttributes,...m(n,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>t.documents.map(p=>JSON.stringify(p))}}})}),a=`rerank ${e.modelId}`,i=this.tracer.startSpan(a,{attributes:this.getSpanAttributes({attributes:r,spanType:"reranking",operationId:e.operationId,callId:t.callId,runtimeContext:e.runtimeContext}),kind:l.SpanKind.CLIENT},e.rootContext),s=l.trace.setSpan(e.rootContext,i);e.rerankSpan={span:i,context:s}}onRerankEnd(t){const e=this.getCallState(t.callId);if(!e?.rerankSpan)return;const{span:n}=e.rerankSpan,{telemetry:o}=e;n.setAttributes(m(o,this.supplementalAttributes,{reranking:{"ai.ranking.type":t.documentsType,"ai.ranking":{output:()=>t.ranking.map(r=>JSON.stringify(r))}}})),n.end(),e.rerankSpan=void 0}onAbort(t){const e=this.getCallState(t.callId);if(e?.rootSpan){for(const{span:n}of e.toolSpans.values())n.end();e.toolSpans.clear(),e.inferenceSpan&&(e.inferenceSpan.end(),e.inferenceSpan=void 0,e.inferenceContext=void 0),e.stepSpan&&(e.stepSpan.end(),e.stepSpan=void 0,e.stepContext=void 0);for(const{span:n}of e.embedSpans.values())n.end();e.embedSpans.clear(),e.rerankSpan&&(e.rerankSpan.span.end(),e.rerankSpan=void 0),e.rootSpan.end(),this.cleanupCallState(t.callId)}}onError(t){var e;const n=t;if(!n?.callId)return;const o=this.getCallState(n.callId);if(!o?.rootSpan)return;const r=(e=n.error)!=null?e:t;for(const{span:a}of o.toolSpans.values())h(a,r),a.end();o.toolSpans.clear(),o.inferenceSpan&&(h(o.inferenceSpan,r),o.inferenceSpan.end(),o.inferenceSpan=void 0,o.inferenceContext=void 0),o.stepSpan&&(h(o.stepSpan,r),o.stepSpan.end(),o.stepSpan=void 0,o.stepContext=void 0);for(const{span:a}of o.embedSpans.values())h(a,r),a.end();o.embedSpans.clear(),o.rerankSpan&&(h(o.rerankSpan.span,r),o.rerankSpan.span.end(),o.rerankSpan=void 0),h(o.rootSpan,r),o.rootSpan.end(),this.cleanupCallState(n.callId)}};function U(t){return y.pruneMessages({messages:t,emptyMessages:"remove",reasoning:"none",toolCalls:`before-last-${l.TOOL_CALL_MESSAGES_TO_KEEP}-messages`})}function B(t){return typeof t=="object"&&t!==null&&"role"in t&&"content"in t}function G(t){return Array.isArray(t)&&t.every(B)}function F(t,{conversationId:e,getModel:n}){let o=0;const r=()=>{const a=n?.();return a?{model_provider:a.provider,model_id:a.modelId}:{}};return{onStepStart:()=>{o+=1},onToolExecutionStart:a=>{t("com.redocly.aiChat.toolCallStarted",[{conversation_id:e,...l.createResource("toolCall",a.toolCall.toolCallId,"ai"),tool_name:a.toolCall.toolName,input:a.toolCall.input,step_number:o,...r()}])},onToolExecutionEnd:a=>{const i=a.toolOutput.type==="tool-error";t("com.redocly.aiChat.toolCallFinished",[{conversation_id:e,...l.createResource("toolCall",a.toolCall.toolCallId,"ai"),tool_name:a.toolCall.toolName,input:a.toolCall.input,step_number:o,success:!i,duration_ms:a.toolExecutionMs,...r(),...i&&{error:a.toolOutput.error instanceof Error?a.toolOutput.error.message:String(a.toolOutput.error)}}])},onStart:a=>{o=0,t("com.redocly.aiChat.conversationStarted",[{...l.createResource("conversation",e,"ai"),model_provider:"provider"in a?a.provider:"unknown",model_id:"modelId"in a?a.modelId:"unknown"}])},onEnd:a=>{if(!("steps"in a))return;const i=a.usage;t("com.redocly.aiChat.conversationFinished",[{...l.createResource("conversation",e,"ai"),model_provider:a.model.provider,model_id:a.model.modelId,success:!0,step_count:a.steps.length,finish_reason:a.finishReason,input_tokens:i.inputTokens,output_tokens:i.outputTokens,total_tokens:i.totalTokens}])}}}function V(t,e){const n=()=>l.trace.getSpan(l.context.active())?l.context.active():e;return{startSpan:(o,r,a)=>t.startSpan(o,r,a??e),startActiveSpan:((o,r,a,i)=>{if(typeof r=="function")return t.startActiveSpan(o,{},n(),r);if(typeof a=="function")return t.startActiveSpan(o,r,n(),a);if(i)return t.startActiveSpan(o,r,a,i);throw new Error("withParentContext: invalid startActiveSpan invocation")})}}class H{model;tools;toolLoopAgent;maxSteps;context=[];systemInstructions=j.getSystemInstructions();getActiveStateMessage;constructor(e){const{activeConversationId:n,onFinish:o,onStepFinish:r,tools:a}=e;this.maxSteps=e.maxSteps??l.DEFAULT_MAX_STEPS,this.getActiveStateMessage=e.getActiveStateMessage,this.model=this.createModel(e.model);const i=({stepNumber:c,messages:g})=>{const u=[],f=this.buildActiveStateMessage();return f&&u.push({role:"user",content:f}),c===this.maxSteps-1&&u.push({role:"user",content:T.LAST_STEP_PROMPT}),u.length===0?void 0:{messages:[...g,...u]}},s=c=>{const g=c.messages?this.prepareMessages(c.messages):void 0,u=c.prompt?this.preparePrompt(c.prompt):void 0;return{...c,model:this.model,messages:g,prompt:u,instructions:[...this.systemInstructions,...this.context],tools:this.tools??c.tools}},p=new z({...e.parentCtx&&{tracer:V(l.trace.getTracer("ai"),e.parentCtx)}});this.toolLoopAgent=new y.ToolLoopAgent({model:this.model,tools:a,stopWhen:y.isStepCount(this.maxSteps),onStepFinish:r,onFinish:o,maxOutputTokens:e.maxOutputTokens,maxRetries:e.maxRetries??l.DEFAULT_MAX_RETRIES,prepareStep:i,prepareCall:s,telemetry:{isEnabled:!0,recordInputs:!0,recordOutputs:!0,functionId:"replay-ai-chat",integrations:[p,F(e.sendEvent,{conversationId:n,getModel:()=>({provider:this.model.provider,modelId:this.model.modelId})})]}})}createModel(e){return y.createModel(e)}setModel(e){this.model=this.createModel(e)}getAgent(){return this.toolLoopAgent}addContext(e){this.context.push(...e)}registerTools(e){this.tools=e}async generateTitle(e,n){return y.streamText({model:this.model,system:T.CONVERSATION_TITLE_PROMPT,prompt:e,temperature:0,abortSignal:n}).text}buildActiveStateMessage(){if(!this.getActiveStateMessage)return null;try{return this.getActiveStateMessage()||null}catch(e){return console.error(e),null}}prepareMessages(e){return U(e)}preparePrompt(e){return G(e)?this.prepareMessages(e):e}}exports.AgentLoop=H;
@@ -1,6 +1,6 @@
1
- import { a as O, p as w, T as L, i as J, c as D, s as $ } from "./replay-create-model-DNPFcOIp.js";
2
- import { D as g, E as _, L as S, d as M, N as W, b as I, O as z, Q as K } from "./replay-index-Bc5RHu5L.js";
3
- import { g as U } from "./replay-db-CMXZZs9v.js";
1
+ import { a as O, p as w, T as L, i as J, c as D, s as $ } from "./replay-create-model-NrGYVueM.js";
2
+ import { D as g, E as _, L as S, d as M, N as W, b as I, O as z, Q as K } from "./replay-index-B2RZCGOF.js";
3
+ import { g as U } from "./replay-db-BiP6dME4.js";
4
4
  import { L as G, C as B } from "./replay-defaults-CzR6jw9a.js";
5
5
  function y(t) {
6
6
  const e = t.toLowerCase(), n = [
@@ -1,4 +1,4 @@
1
- import { U as n, F as d, V as i } from "./replay-index-Bc5RHu5L.js";
1
+ import { U as n, F as d, V as i } from "./replay-index-B2RZCGOF.js";
2
2
  function A() {
3
3
  return `aichat_${n()}`;
4
4
  }
@@ -1 +1 @@
1
- "use strict";const i=require("./replay-index-CepJ5Z0m.js");function d(){return`aichat_${i.ulid()}`}function u(){return`aimsg_${i.ulid()}`}function c(){return`aimpt_${i.ulid()}`}function l(e){return{id:e.id,title:e.title??void 0,modelConfig:e.modelConfig,messages:e.messages.map(g),createdAt:new Date(e.createdAt),updatedAt:new Date(e.updatedAt)}}function g(e){return{id:e.uiId,role:e.role,metadata:e.metadata,parts:e.parts.map(C)}}function C(e){return e.self}function f(e){const a=e.id;return{id:a,title:e.title,modelConfig:e.modelConfig,messages:e.messages.map((t,r)=>n(a,r,t))}}function n(e,a,t,r=u()){return{id:r,uiId:t.id,role:t.role,metadata:t.metadata,aiChatId:e,indexWithinInsertBatch:a,parts:t.parts.map((s,o)=>I(r,o,s))}}function I(e,a,t){return{id:c(),text:t.type==="text"?t.text:null,index:a,self:t,aiMessageId:e}}function A(e){return{id:e.id,title:e.title,modelConfig:h(e.model),messages:e.messages.map(p)}}function h(e){switch(e.provider){case i.AI_PROVIDERS.OPENAI:case i.AI_PROVIDERS.ANTHROPIC:case i.AI_PROVIDERS.GEMINI:return{provider:e.provider,modelId:e.modelId};case i.REUNITE_AI_PROVIDER:return{provider:e.provider,baseUrl:e.baseUrl};default:throw new Error("Cannot create model config")}}function p(e){return{...e,parts:e.parts.filter(a=>a.type!=="file")}}exports.buildPersistableUiChat=A;exports.convertAiChatRowToUiChat=l;exports.convertUiChatToAiChatRow=f;exports.convertUiMessageToAiChatMessage=n;exports.generateAiChatId=d;
1
+ "use strict";const i=require("./replay-index-D85qPcEF.js");function d(){return`aichat_${i.ulid()}`}function u(){return`aimsg_${i.ulid()}`}function c(){return`aimpt_${i.ulid()}`}function l(e){return{id:e.id,title:e.title??void 0,modelConfig:e.modelConfig,messages:e.messages.map(g),createdAt:new Date(e.createdAt),updatedAt:new Date(e.updatedAt)}}function g(e){return{id:e.uiId,role:e.role,metadata:e.metadata,parts:e.parts.map(C)}}function C(e){return e.self}function f(e){const a=e.id;return{id:a,title:e.title,modelConfig:e.modelConfig,messages:e.messages.map((t,r)=>n(a,r,t))}}function n(e,a,t,r=u()){return{id:r,uiId:t.id,role:t.role,metadata:t.metadata,aiChatId:e,indexWithinInsertBatch:a,parts:t.parts.map((s,o)=>I(r,o,s))}}function I(e,a,t){return{id:c(),text:t.type==="text"?t.text:null,index:a,self:t,aiMessageId:e}}function A(e){return{id:e.id,title:e.title,modelConfig:h(e.model),messages:e.messages.map(p)}}function h(e){switch(e.provider){case i.AI_PROVIDERS.OPENAI:case i.AI_PROVIDERS.ANTHROPIC:case i.AI_PROVIDERS.GEMINI:return{provider:e.provider,modelId:e.modelId};case i.REUNITE_AI_PROVIDER:return{provider:e.provider,baseUrl:e.baseUrl};default:throw new Error("Cannot create model config")}}function p(e){return{...e,parts:e.parts.filter(a=>a.type!=="file")}}exports.buildPersistableUiChat=A;exports.convertAiChatRowToUiChat=l;exports.convertUiChatToAiChatRow=f;exports.convertUiMessageToAiChatMessage=n;exports.generateAiChatId=d;
@@ -1,4 +1,4 @@
1
- "use strict";const ta=require("./replay-index-CepJ5Z0m.js");var nd="vercel.ai.error",Fh=Symbol.for(nd),Js,Ks,ve=class ad extends(Ks=Error,Js=Fh,Ks){constructor({name:t,message:o,cause:n}){super(o),this[Js]=!0,this.name=t,this.cause=n}static isInstance(t){return ad.hasMarker(t,nd)}static hasMarker(t,o){const n=Symbol.for(o);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}},rd="AI_APICallError",id=`vercel.ai.error.${rd}`,Zh=Symbol.for(id),Ys,Xs,et=class extends(Xs=ve,Ys=Zh,Xs){constructor({message:e,url:t,requestBodyValues:o,statusCode:n,responseHeaders:a,responseBody:r,cause:s,isRetryable:l=n!=null&&(n===408||n===409||n===429||n>=500),data:c}){super({name:rd,message:e,cause:s}),this[Ys]=!0,this.url=t,this.requestBodyValues=o,this.statusCode=n,this.responseHeaders=a,this.responseBody=r,this.isRetryable=l,this.data=c}static isInstance(e){return ve.hasMarker(e,id)}},sd="AI_EmptyResponseBodyError",ld=`vercel.ai.error.${sd}`,Vh=Symbol.for(ld),Qs,el,Gh=class extends(el=ve,Qs=Vh,el){constructor({message:e="Empty response body"}={}){super({name:sd,message:e}),this[Qs]=!0}static isInstance(e){return ve.hasMarker(e,ld)}};function Yo(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.toString():JSON.stringify(e)}var ud="AI_InvalidArgumentError",cd=`vercel.ai.error.${ud}`,Bh=Symbol.for(cd),tl,ol,ss=class extends(ol=ve,tl=Bh,ol){constructor({message:t,cause:o,argument:n}){super({name:ud,message:t,cause:o}),this[tl]=!0,this.argument=n}static isInstance(t){return ve.hasMarker(t,cd)}},dd="AI_InvalidPromptError",pd=`vercel.ai.error.${dd}`,Hh=Symbol.for(pd),nl,al,rn=class extends(al=ve,nl=Hh,al){constructor({prompt:e,message:t,cause:o}){super({name:dd,message:`Invalid prompt: ${t}`,cause:o}),this[nl]=!0,this.prompt=e}static isInstance(e){return ve.hasMarker(e,pd)}},md="AI_InvalidResponseDataError",fd=`vercel.ai.error.${md}`,Wh=Symbol.for(fd),rl,il,or=class extends(il=ve,rl=Wh,il){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:md,message:t}),this[rl]=!0,this.data=e}static isInstance(e){return ve.hasMarker(e,fd)}},hd="AI_JSONParseError",gd=`vercel.ai.error.${hd}`,Jh=Symbol.for(gd),sl,ll,fr=class extends(ll=ve,sl=Jh,ll){constructor({text:e,cause:t}){super({name:hd,message:`JSON parsing failed: Text: ${e}.
1
+ "use strict";const ta=require("./replay-index-D85qPcEF.js");var nd="vercel.ai.error",Fh=Symbol.for(nd),Js,Ks,ve=class ad extends(Ks=Error,Js=Fh,Ks){constructor({name:t,message:o,cause:n}){super(o),this[Js]=!0,this.name=t,this.cause=n}static isInstance(t){return ad.hasMarker(t,nd)}static hasMarker(t,o){const n=Symbol.for(o);return t!=null&&typeof t=="object"&&n in t&&typeof t[n]=="boolean"&&t[n]===!0}},rd="AI_APICallError",id=`vercel.ai.error.${rd}`,Zh=Symbol.for(id),Ys,Xs,et=class extends(Xs=ve,Ys=Zh,Xs){constructor({message:e,url:t,requestBodyValues:o,statusCode:n,responseHeaders:a,responseBody:r,cause:s,isRetryable:l=n!=null&&(n===408||n===409||n===429||n>=500),data:c}){super({name:rd,message:e,cause:s}),this[Ys]=!0,this.url=t,this.requestBodyValues=o,this.statusCode=n,this.responseHeaders=a,this.responseBody=r,this.isRetryable=l,this.data=c}static isInstance(e){return ve.hasMarker(e,id)}},sd="AI_EmptyResponseBodyError",ld=`vercel.ai.error.${sd}`,Vh=Symbol.for(ld),Qs,el,Gh=class extends(el=ve,Qs=Vh,el){constructor({message:e="Empty response body"}={}){super({name:sd,message:e}),this[Qs]=!0}static isInstance(e){return ve.hasMarker(e,ld)}};function Yo(e){return e==null?"unknown error":typeof e=="string"?e:e instanceof Error?e.toString():JSON.stringify(e)}var ud="AI_InvalidArgumentError",cd=`vercel.ai.error.${ud}`,Bh=Symbol.for(cd),tl,ol,ss=class extends(ol=ve,tl=Bh,ol){constructor({message:t,cause:o,argument:n}){super({name:ud,message:t,cause:o}),this[tl]=!0,this.argument=n}static isInstance(t){return ve.hasMarker(t,cd)}},dd="AI_InvalidPromptError",pd=`vercel.ai.error.${dd}`,Hh=Symbol.for(pd),nl,al,rn=class extends(al=ve,nl=Hh,al){constructor({prompt:e,message:t,cause:o}){super({name:dd,message:`Invalid prompt: ${t}`,cause:o}),this[nl]=!0,this.prompt=e}static isInstance(e){return ve.hasMarker(e,pd)}},md="AI_InvalidResponseDataError",fd=`vercel.ai.error.${md}`,Wh=Symbol.for(fd),rl,il,or=class extends(il=ve,rl=Wh,il){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:md,message:t}),this[rl]=!0,this.data=e}static isInstance(e){return ve.hasMarker(e,fd)}},hd="AI_JSONParseError",gd=`vercel.ai.error.${hd}`,Jh=Symbol.for(gd),sl,ll,fr=class extends(ll=ve,sl=Jh,ll){constructor({text:e,cause:t}){super({name:hd,message:`JSON parsing failed: Text: ${e}.
2
2
  Error message: ${Yo(t)}`,cause:t}),this[sl]=!0,this.text=e}static isInstance(e){return ve.hasMarker(e,gd)}},vd="AI_LoadAPIKeyError",yd=`vercel.ai.error.${vd}`,Kh=Symbol.for(yd),ul,cl,nr=class extends(cl=ve,ul=Kh,cl){constructor({message:e}){super({name:vd,message:e}),this[ul]=!0}static isInstance(e){return ve.hasMarker(e,yd)}},_d="AI_NoSuchModelError",bd=`vercel.ai.error.${_d}`,Yh=Symbol.for(bd),dl,pl,ml=class extends(pl=ve,dl=Yh,pl){constructor({errorName:e=_d,modelId:t,modelType:o,message:n=`No such ${o}: ${t}`}){super({name:e,message:n}),this[dl]=!0,this.modelId=t,this.modelType=o}static isInstance(e){return ve.hasMarker(e,bd)}},wd="AI_NoSuchProviderReferenceError",xd=`vercel.ai.error.${wd}`,Xh=Symbol.for(xd),fl,hl,Qh=class extends(hl=ve,fl=Xh,hl){constructor({provider:e,reference:t,message:o=`No provider reference found for provider '${e}'. Available providers: ${Object.keys(t).join(", ")}`}){super({name:wd,message:o}),this[fl]=!0,this.provider=e,this.reference=t}static isInstance(e){return ve.hasMarker(e,xd)}},Td="AI_TooManyEmbeddingValuesForCallError",Id=`vercel.ai.error.${Td}`,eg=Symbol.for(Id),gl,vl,kd=class extends(vl=ve,gl=eg,vl){constructor(e){super({name:Td,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[gl]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return ve.hasMarker(e,Id)}},Sd="AI_TypeValidationError",Cd=`vercel.ai.error.${Sd}`,tg=Symbol.for(Cd),yl,_l,Bo=class Ii extends(_l=ve,yl=tg,_l){constructor({value:t,cause:o,context:n}){let a="Type validation failed";if(n?.field&&(a+=` for ${n.field}`),n?.entityName||n?.entityId){a+=" (";const r=[];n.entityName&&r.push(n.entityName),n.entityId&&r.push(`id: "${n.entityId}"`),a+=r.join(", "),a+=")"}super({name:Sd,message:`${a}: Value: ${JSON.stringify(t)}.
3
3
  Error message: ${Yo(o)}`,cause:o}),this[yl]=!0,this.value=t,this.context=n}static isInstance(t){return ve.hasMarker(t,Cd)}static wrap({value:t,cause:o,context:n}){var a,r,s;return Ii.isInstance(o)&&o.value===t&&((a=o.context)==null?void 0:a.field)===n?.field&&((r=o.context)==null?void 0:r.entityName)===n?.entityName&&((s=o.context)==null?void 0:s.entityId)===n?.entityId?o:new Ii({value:t,cause:o,context:n})}},Ed="AI_UnsupportedFunctionalityError",Md=`vercel.ai.error.${Ed}`,og=Symbol.for(Md),bl,wl,pt=class extends(wl=ve,bl=og,wl){constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:Ed,message:t}),this[bl]=!0,this.functionality=e}static isInstance(e){return ve.hasMarker(e,Md)}};function ki(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"?!0:Array.isArray(e)?e.every(ki):typeof e=="object"?Object.entries(e).every(([t,o])=>typeof t=="string"&&(o===void 0||ki(o))):!1}function Ia(e){return e!=null&&typeof e=="object"&&Object.entries(e).every(([t,o])=>typeof t=="string"&&(o===void 0||ki(o)))}function Q(e,t,o){function n(l,c){var p;Object.defineProperty(l,"_zod",{value:l._zod??{},enumerable:!1}),(p=l._zod).traits??(p.traits=new Set),l._zod.traits.add(e),t(l,c);for(const d in s.prototype)d in l||Object.defineProperty(l,d,{value:s.prototype[d].bind(l)});l._zod.constr=s,l._zod.def=c}const a=o?.Parent??Object;class r extends a{}Object.defineProperty(r,"name",{value:e});function s(l){var c;const p=o?.Parent?new r:this;n(p,l),(c=p._zod).deferred??(c.deferred=[]);for(const d of p._zod.deferred)d();return p}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:l=>o?.Parent&&l instanceof o.Parent?!0:l?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}class Ea extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const Rd={};function pn(e){return Rd}function Od(e){const t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,a])=>t.indexOf(+n)===-1).map(([n,a])=>a)}function ng(e,t){return typeof t=="bigint"?t.toString():t}function ls(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function us(e){return e==null}function cs(e){const t=e.startsWith("^")?1:0,o=e.endsWith("$")?e.length-1:e.length;return e.slice(t,o)}function ag(e,t){const o=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,a=o>n?o:n,r=Number.parseInt(e.toFixed(a).replace(".","")),s=Number.parseInt(t.toFixed(a).replace(".",""));return r%s/10**a}function We(e,t,o){Object.defineProperty(e,t,{get(){{const n=o();return e[t]=n,n}},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function Da(e,t,o){Object.defineProperty(e,t,{value:o,writable:!0,enumerable:!0,configurable:!0})}function ga(e){return JSON.stringify(e)}const Ad=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function hr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const rg=ls(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function gr(e){if(hr(e)===!1)return!1;const t=e.constructor;if(t===void 0)return!0;const o=t.prototype;return!(hr(o)===!1||Object.prototype.hasOwnProperty.call(o,"isPrototypeOf")===!1)}const ig=new Set(["string","number","symbol"]);function qa(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Dn(e,t,o){const n=new e._zod.constr(t??e._zod.def);return(!t||o?.parent)&&(n._zod.parent=e),n}function we(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function sg(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const lg={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function ug(e,t){const o={},n=e._zod.def;for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&(o[a]=n.shape[a])}return Dn(e,{...e._zod.def,shape:o,checks:[]})}function cg(e,t){const o={...e._zod.def.shape},n=e._zod.def;for(const a in t){if(!(a in n.shape))throw new Error(`Unrecognized key: "${a}"`);t[a]&&delete o[a]}return Dn(e,{...e._zod.def,shape:o,checks:[]})}function dg(e,t){if(!gr(t))throw new Error("Invalid input to extend: expected a plain object");const o={...e._zod.def,get shape(){const n={...e._zod.def.shape,...t};return Da(this,"shape",n),n},checks:[]};return Dn(e,o)}function pg(e,t){return Dn(e,{...e._zod.def,get shape(){const o={...e._zod.def.shape,...t._zod.def.shape};return Da(this,"shape",o),o},catchall:t._zod.def.catchall,checks:[]})}function mg(e,t,o){const n=t._zod.def.shape,a={...n};if(o)for(const r in o){if(!(r in n))throw new Error(`Unrecognized key: "${r}"`);o[r]&&(a[r]=e?new e({type:"optional",innerType:n[r]}):n[r])}else for(const r in n)a[r]=e?new e({type:"optional",innerType:n[r]}):n[r];return Dn(t,{...t._zod.def,shape:a,checks:[]})}function fg(e,t,o){const n=t._zod.def.shape,a={...n};if(o)for(const r in o){if(!(r in a))throw new Error(`Unrecognized key: "${r}"`);o[r]&&(a[r]=new e({type:"nonoptional",innerType:n[r]}))}else for(const r in n)a[r]=new e({type:"nonoptional",innerType:n[r]});return Dn(t,{...t._zod.def,shape:a,checks:[]})}function ka(e,t=0){for(let o=t;o<e.issues.length;o++)if(e.issues[o]?.continue!==!0)return!0;return!1}function ln(e,t){return t.map(o=>{var n;return(n=o).path??(n.path=[]),o.path.unshift(e),o})}function ar(e){return typeof e=="string"?e:e?.message}function mn(e,t,o){const n={...e,path:e.path??[]};if(!e.message){const a=ar(e.inst?._zod.def?.error?.(e))??ar(t?.error?.(e))??ar(o.customError?.(e))??ar(o.localeError?.(e))??"Invalid input";n.message=a}return delete n.inst,delete n.continue,t?.reportInput||delete n.input,n}function ds(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function Ma(...e){const[t,o,n]=e;return typeof t=="string"?{message:t,code:"custom",input:o,inst:n}:{...t}}const Nd=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,ng,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},$d=Q("$ZodError",Nd),Pd=Q("$ZodError",Nd,{Parent:Error});function hg(e,t=o=>o.message){const o={},n=[];for(const a of e.issues)a.path.length>0?(o[a.path[0]]=o[a.path[0]]||[],o[a.path[0]].push(t(a))):n.push(t(a));return{formErrors:n,fieldErrors:o}}function gg(e,t){const o=t||function(r){return r.message},n={_errors:[]},a=r=>{for(const s of r.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(l=>a({issues:l}));else if(s.code==="invalid_key")a({issues:s.issues});else if(s.code==="invalid_element")a({issues:s.issues});else if(s.path.length===0)n._errors.push(o(s));else{let l=n,c=0;for(;c<s.path.length;){const p=s.path[c];c===s.path.length-1?(l[p]=l[p]||{_errors:[]},l[p]._errors.push(o(s))):l[p]=l[p]||{_errors:[]},l=l[p],c++}}};return a(e),n}const vg=e=>(t,o,n,a)=>{const r=n?Object.assign(n,{async:!1}):{async:!1},s=t._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw new Ea;if(s.issues.length){const l=new(a?.Err??e)(s.issues.map(c=>mn(c,r,pn())));throw Ad(l,a?.callee),l}return s.value},yg=e=>async(t,o,n,a)=>{const r=n?Object.assign(n,{async:!0}):{async:!0};let s=t._zod.run({value:o,issues:[]},r);if(s instanceof Promise&&(s=await s),s.issues.length){const l=new(a?.Err??e)(s.issues.map(c=>mn(c,r,pn())));throw Ad(l,a?.callee),l}return s.value},Dd=e=>(t,o,n)=>{const a=n?{...n,async:!1}:{async:!1},r=t._zod.run({value:o,issues:[]},a);if(r instanceof Promise)throw new Ea;return r.issues.length?{success:!1,error:new(e??$d)(r.issues.map(s=>mn(s,a,pn())))}:{success:!0,data:r.value}},_g=Dd(Pd),qd=e=>async(t,o,n)=>{const a=n?Object.assign(n,{async:!0}):{async:!0};let r=t._zod.run({value:o,issues:[]},a);return r instanceof Promise&&(r=await r),r.issues.length?{success:!1,error:new e(r.issues.map(s=>mn(s,a,pn())))}:{success:!0,data:r.value}},bg=qd(Pd),wg=/^[cC][^\s-]{8,}$/,xg=/^[0-9a-z]+$/,Tg=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Ig=/^[0-9a-vA-V]{20}$/,kg=/^[A-Za-z0-9]{27}$/,Sg=/^[a-zA-Z0-9_-]{21}$/,Cg=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Eg=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,xl=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/,Mg=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Rg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";function Og(){return new RegExp(Rg,"u")}const Ag=/^(?:(?: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])$/,Ng=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,$g=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Pg=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Dg=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,jd=/^[A-Za-z0-9_-]*$/,qg=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/,jg=/^\+(?:[0-9]){6,14}[0-9]$/,Ud="(?:(?:\\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])))",Ug=new RegExp(`^${Ud}$`);function Ld(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Lg(e){return new RegExp(`^${Ld(e)}$`)}function zg(e){const t=Ld({precision:e.precision}),o=["Z"];e.local&&o.push(""),e.offset&&o.push("([+-]\\d{2}:\\d{2})");const n=`${t}(?:${o.join("|")})`;return new RegExp(`^${Ud}T(?:${n})$`)}const Fg=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Zg=/^\d+$/,Vg=/^-?\d+(?:\.\d+)?/i,Gg=/true|false/i,Bg=/null/i,Hg=/^[^A-Z]*$/,Wg=/^[^a-z]*$/,eo=Q("$ZodCheck",(e,t)=>{var o;e._zod??(e._zod={}),e._zod.def=t,(o=e._zod).onattach??(o.onattach=[])}),zd={number:"number",bigint:"bigint",object:"date"},Fd=Q("$ZodCheckLessThan",(e,t)=>{eo.init(e,t);const o=zd[typeof t.value];e._zod.onattach.push(n=>{const a=n._zod.bag,r=(t.inclusive?a.maximum:a.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<r&&(t.inclusive?a.maximum=t.value:a.exclusiveMaximum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value<=t.value:n.value<t.value)||n.issues.push({origin:o,code:"too_big",maximum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Zd=Q("$ZodCheckGreaterThan",(e,t)=>{eo.init(e,t);const o=zd[typeof t.value];e._zod.onattach.push(n=>{const a=n._zod.bag,r=(t.inclusive?a.minimum:a.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>r&&(t.inclusive?a.minimum=t.value:a.exclusiveMinimum=t.value)}),e._zod.check=n=>{(t.inclusive?n.value>=t.value:n.value>t.value)||n.issues.push({origin:o,code:"too_small",minimum:t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Jg=Q("$ZodCheckMultipleOf",(e,t)=>{eo.init(e,t),e._zod.onattach.push(o=>{var n;(n=o._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=o=>{if(typeof o.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof o.value=="bigint"?o.value%t.value===BigInt(0):ag(o.value,t.value)===0)||o.issues.push({origin:typeof o.value,code:"not_multiple_of",divisor:t.value,input:o.value,inst:e,continue:!t.abort})}}),Kg=Q("$ZodCheckNumberFormat",(e,t)=>{eo.init(e,t),t.format=t.format||"float64";const o=t.format?.includes("int"),n=o?"int":"number",[a,r]=lg[t.format];e._zod.onattach.push(s=>{const l=s._zod.bag;l.format=t.format,l.minimum=a,l.maximum=r,o&&(l.pattern=Zg)}),e._zod.check=s=>{const l=s.value;if(o){if(!Number.isInteger(l)){s.issues.push({expected:n,format:t.format,code:"invalid_type",input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?s.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort}):s.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,continue:!t.abort});return}}l<a&&s.issues.push({origin:"number",input:l,code:"too_small",minimum:a,inclusive:!0,inst:e,continue:!t.abort}),l>r&&s.issues.push({origin:"number",input:l,code:"too_big",maximum:r,inst:e})}}),Yg=Q("$ZodCheckMaxLength",(e,t)=>{var o;eo.init(e,t),(o=e._zod.def).when??(o.when=n=>{const a=n.value;return!us(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<a&&(n._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{const a=n.value;if(a.length<=t.maximum)return;const s=ds(a);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Xg=Q("$ZodCheckMinLength",(e,t)=>{var o;eo.init(e,t),(o=e._zod.def).when??(o.when=n=>{const a=n.value;return!us(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>a&&(n._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{const a=n.value;if(a.length>=t.minimum)return;const s=ds(a);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:a,inst:e,continue:!t.abort})}}),Qg=Q("$ZodCheckLengthEquals",(e,t)=>{var o;eo.init(e,t),(o=e._zod.def).when??(o.when=n=>{const a=n.value;return!us(a)&&a.length!==void 0}),e._zod.onattach.push(n=>{const a=n._zod.bag;a.minimum=t.length,a.maximum=t.length,a.length=t.length}),e._zod.check=n=>{const a=n.value,r=a.length;if(r===t.length)return;const s=ds(a),l=r>t.length;n.issues.push({origin:s,...l?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Pr=Q("$ZodCheckStringFormat",(e,t)=>{var o,n;eo.init(e,t),e._zod.onattach.push(a=>{const r=a._zod.bag;r.format=t.format,t.pattern&&(r.patterns??(r.patterns=new Set),r.patterns.add(t.pattern))}),t.pattern?(o=e._zod).check??(o.check=a=>{t.pattern.lastIndex=0,!t.pattern.test(a.value)&&a.issues.push({origin:"string",code:"invalid_format",format:t.format,input:a.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),ev=Q("$ZodCheckRegex",(e,t)=>{Pr.init(e,t),e._zod.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:"regex",input:o.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),tv=Q("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Hg),Pr.init(e,t)}),ov=Q("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Wg),Pr.init(e,t)}),nv=Q("$ZodCheckIncludes",(e,t)=>{eo.init(e,t);const o=qa(t.includes),n=new RegExp(typeof t.position=="number"?`^.{${t.position}}${o}`:o);t.pattern=n,e._zod.onattach.push(a=>{const r=a._zod.bag;r.patterns??(r.patterns=new Set),r.patterns.add(n)}),e._zod.check=a=>{a.value.includes(t.includes,t.position)||a.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:a.value,inst:e,continue:!t.abort})}}),av=Q("$ZodCheckStartsWith",(e,t)=>{eo.init(e,t);const o=new RegExp(`^${qa(t.prefix)}.*`);t.pattern??(t.pattern=o),e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(o)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),rv=Q("$ZodCheckEndsWith",(e,t)=>{eo.init(e,t);const o=new RegExp(`.*${qa(t.suffix)}$`);t.pattern??(t.pattern=o),e._zod.onattach.push(n=>{const a=n._zod.bag;a.patterns??(a.patterns=new Set),a.patterns.add(o)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),iv=Q("$ZodCheckOverwrite",(e,t)=>{eo.init(e,t),e._zod.check=o=>{o.value=t.tx(o.value)}});class sv{constructor(t=[]){this.content=[],this.indent=0,this&&(this.args=t)}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const n=t.split(`
4
4
  `).filter(s=>s),a=Math.min(...n.map(s=>s.length-s.trimStart().length)),r=n.map(s=>s.slice(a)).map(s=>" ".repeat(this.indent*2)+s);for(const s of r)this.content.push(s)}compile(){const t=Function,o=this?.args,a=[...(this?.content??[""]).map(r=>` ${r}`)];return new t(...o,a.join(`
@@ -69,7 +69,7 @@ Alternatively, you can use a provider module instead of the AI Gateway.
69
69
 
70
70
  Learn more: \x1B[34m${o}\x1B[0m
71
71
 
72
- `),{name:"GatewayAuthenticationError"})}function af(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:zo(e.inputTokens.total,e.outputTokens.total),raw:e.raw}}function mi(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function rf(e,t){var o,n,a,r,s,l,c,p,d,m;return{inputTokens:zo(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:zo((o=e.inputTokenDetails)==null?void 0:o.noCacheTokens,(n=t.inputTokenDetails)==null?void 0:n.noCacheTokens),cacheReadTokens:zo((a=e.inputTokenDetails)==null?void 0:a.cacheReadTokens,(r=t.inputTokenDetails)==null?void 0:r.cacheReadTokens),cacheWriteTokens:zo((s=e.inputTokenDetails)==null?void 0:s.cacheWriteTokens,(l=t.inputTokenDetails)==null?void 0:l.cacheWriteTokens)},outputTokens:zo(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:zo((c=e.outputTokenDetails)==null?void 0:c.textTokens,(p=t.outputTokenDetails)==null?void 0:p.textTokens),reasoningTokens:zo((d=e.outputTokenDetails)==null?void 0:d.reasoningTokens,(m=t.outputTokenDetails)==null?void 0:m.reasoningTokens)},totalTokens:zo(e.totalTokens,t.totalTokens)}}function zo(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}function Os(...e){const t=Tn(...e).map(o=>o instanceof AbortSignal?o:AbortSignal.timeout(o));return t.length===0?void 0:t.length===1?t[0]:AbortSignal.any(t)}function Vr(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const o={...e};for(const n in t)if(!(n==="__proto__"||n==="constructor"||n==="prototype")&&Object.prototype.hasOwnProperty.call(t,n)){const a=t[n];if(a===void 0)continue;const r=n in e?e[n]:void 0,s=a!==null&&typeof a=="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp),l=r!=null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp);s&&l?o[n]=Vr(r,a):o[n]=a}return o}function Na(){var e,t;return(t=(e=globalThis?.performance)==null?void 0:e.now())!=null?t:Date.now()}async function yt(e){await Promise.all($n(e.callbacks).map(async t=>{try{await t?.(e.event)}catch{}}))}function BT({error:e,exponentialBackoffDelay:t}){const o=et.isInstance(e)?e.responseHeaders:et.isInstance(e.cause)?e.cause.responseHeaders:void 0;if(!o)return t;let n;const a=o["retry-after-ms"];if(a){const s=parseFloat(a);Number.isNaN(s)||(n=s)}const r=o["retry-after"];if(r&&n===void 0){const s=parseFloat(r);Number.isNaN(s)?n=Date.parse(r)-Date.now():n=s*1e3}return n!=null&&!Number.isNaN(n)&&0<=n&&(n<60*1e3||n<t)?n:t}var HT=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:o=2,abortSignal:n}={})=>async a=>sf(a,{maxRetries:e,delayInMs:t,backoffFactor:o,abortSignal:n});async function sf(e,{maxRetries:t,delayInMs:o,backoffFactor:n,abortSignal:a},r=[]){try{return await e()}catch(s){if(Ao(s)||t===0)throw s;const l=Yo(s),c=[...r,s],p=c.length;if(p>t)throw new Ju({message:`Failed after ${p} attempts. Last error: ${l}`,reason:"maxRetriesExceeded",errors:c});if(s instanceof Error&&(et.isInstance(s)&&s.isRetryable===!0||It.isInstance(s)&&s.isRetryable===!0)&&p<=t)return await Sn(BT({error:s,exponentialBackoffDelay:o}),{abortSignal:a}),sf(e,{maxRetries:t,delayInMs:n*o,backoffFactor:n,abortSignal:a},c);throw p===1?s:new Ju({message:`Failed after ${p} attempts with non-retryable error: '${l}'`,reason:"errorNotRetryable",errors:c})}}function zi({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new To({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new To({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}const o=e??2;return{maxRetries:o,retry:HT({maxRetries:o,abortSignal:t})}}function Fi({abortController:e,label:t,timeoutMs:o}){if(!(e==null||o==null))return setTimeout(()=>e.abort(new DOMException(`${t} timeout of ${o}ms exceeded`,"TimeoutError")),o)}function un({tokens:e,durationMs:t}){const o=1e3*(e??0)/(t??0);return Number.isFinite(o)?o:0}function lf({messages:e}){const t=e.at(-1);if(t?.role!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};const o={};for(const c of e)if(c.role==="assistant"&&typeof c.content!="string"){const p=c.content;for(const d of p)d.type==="tool-call"&&(o[d.toolCallId]=d)}const n={};for(const c of e)if(c.role==="assistant"&&typeof c.content!="string"){const p=c.content;for(const d of p)d.type==="tool-approval-request"&&(n[d.approvalId]=d)}const a={};for(const c of t.content)c.type==="tool-result"&&(a[c.toolCallId]=c);const r=[],s=[],l=t.content.filter(c=>c.type==="tool-approval-response");for(const c of l){const p=n[c.approvalId];if(p==null)throw new Gx({approvalId:c.approvalId});if(a[p.toolCallId]!=null)continue;const d=o[p.toolCallId];if(d==null)throw new Ss({toolCallId:p.toolCallId,approvalId:p.approvalId});const m={approvalRequest:p,approvalResponse:c,toolCall:d};c.approved?r.push(m):s.push(m)}return{approvedToolApprovals:r,deniedToolApprovals:s}}async function Zi({toolName:e,context:t,contextSchema:o}){return o==null?t:await $e({value:t,schema:o,context:{field:"tool context",entityName:e}})}async function As({toolCall:e,tools:t,toolsContext:o,callId:n,messages:a,abortSignal:r,timeout:s,experimental_sandbox:l,onPreliminaryToolResult:c,onToolExecutionStart:p,onToolExecutionEnd:d,executeToolInTelemetryContext:m=async({execute:y})=>await y(),runInTracingChannelSpan:v=async({execute:y})=>await y()}){const{toolName:y,toolCallId:g,input:b}=e,x=t?.[y];if(!Mp(x))return;const w=await Zi({toolName:y,context:o?.[y],contextSchema:x.contextSchema}),_={toolCall:e,messages:a,toolContext:w},k={callId:n,..._};return await v({type:"executeTool",event:k,execute:async()=>{let h;await yt({event:k,callbacks:p});const S=OT(s,y),E=Os(r,S);let O=0;try{await m({callId:n,toolCallId:g,..._,execute:async()=>{const C=Na();try{const P=dw({tool:x,input:b,options:{toolCallId:g,messages:a,abortSignal:E,context:w,experimental_sandbox:l}});for await(const H of P)H.type==="preliminary"?c?.({...e,type:"tool-result",output:H.output,preliminary:!0}):h=H.output}finally{O=Na()-C}}})}catch(C){const P={type:"tool-error",toolCallId:g,toolName:y,input:b,error:C,dynamic:x.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{},...e.toolMetadata!=null?{toolMetadata:e.toolMetadata}:{}};return await yt({event:{...k,toolOutput:P,toolExecutionMs:O},callbacks:d}),{output:P,toolExecutionMs:O}}const R={type:"tool-result",toolCallId:g,toolName:y,input:b,output:h,dynamic:x.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{},...e.toolMetadata!=null?{toolMetadata:e.toolMetadata}:{}};return await yt({event:{...k,toolOutput:R,toolExecutionMs:O},callbacks:d}),{output:R,toolExecutionMs:O}}})}function uf({tools:e,activeTools:t}){return e==null||t==null?e:Object.fromEntries(Object.entries(e).filter(([o])=>t.includes(o)))}var Ns=class{constructor({data:e,mediaType:t}){const o=e instanceof Uint8Array;this.base64Data=o?void 0:e,this.uint8ArrayData=o?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=Wo(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=No(this.base64Data)),this.uint8ArrayData}},WT=class extends Ns{constructor(e){super(e),this.type="file"}},JT={};Fx(JT,{array:()=>XT,choice:()=>QT,json:()=>eI,object:()=>YT,text:()=>Nr});function KT(e){const t=["ROOT"];let o=-1,n=null,a=0;function r(d){return d>="0"&&d<="9"||d>="A"&&d<="F"||d>="a"&&d<="f"}function s(d,m,v){switch(d){case'"':{o=m,t.pop(),t.push(v),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{o=m,n=m,t.pop(),t.push(v),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(v),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":{o=m,t.pop(),t.push(v),t.push("INSIDE_NUMBER");break}case"{":{o=m,t.pop(),t.push(v),t.push("INSIDE_OBJECT_START");break}case"[":{o=m,t.pop(),t.push(v),t.push("INSIDE_ARRAY_START");break}}}function l(d,m){switch(d){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{o=m,t.pop();break}}}function c(d,m){switch(d){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{o=m,t.pop();break}}}for(let d=0;d<e.length;d++){const m=e[d];switch(t[t.length-1]){case"ROOT":s(m,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(m){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{o=d,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{m==='"'&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break}case"INSIDE_OBJECT_KEY":{m==='"'&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break}case"INSIDE_OBJECT_AFTER_KEY":{m===":"&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(m,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{l(m,d);break}case"INSIDE_STRING":{switch(m){case'"':{t.pop(),o=d;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:o=d}break}case"INSIDE_ARRAY_START":{m==="]"?(o=d,t.pop()):(o=d,s(m,d,"INSIDE_ARRAY_AFTER_VALUE"));break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(m){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{o=d,t.pop();break}default:{o=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(m,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),m==="u"?(a=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):o=d;break}case"INSIDE_STRING_UNICODE_ESCAPE":{r(m)&&(a++,a===4&&(t.pop(),o=d));break}case"INSIDE_NUMBER":{switch(m){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{o=d;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(m,d);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(m,d);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const y=e.substring(n,d+1);!"false".startsWith(y)&&!"true".startsWith(y)&&!"null".startsWith(y)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?l(m,d):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d)):o=d;break}}}let p=e.slice(0,o+1);for(let d=t.length-1;d>=0;d--)switch(t[d]){case"INSIDE_STRING":{p+='"';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":{p+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{p+="]";break}case"INSIDE_LITERAL":{const v=e.substring(n,e.length);"true".startsWith(v)?p+="true".slice(v.length):"false".startsWith(v)?p+="false".slice(v.length):"null".startsWith(v)&&(p+="null".slice(v.length))}}return p}async function Za(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await mo({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await mo({text:KT(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var Nr=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),YT=({schema:e,name:t,description:o})=>{const n=qn(e);return{name:"object",responseFormat:De(n.jsonSchema).then(a=>({type:"json",schema:a,...t!=null&&{name:t},...o!=null&&{description:o}})),async parseCompleteOutput({text:a},r){const s=await mo({text:a});if(!s.success)throw new dn({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const l=await po({value:s.value,schema:n});if(!l.success)throw new dn({message:"No object generated: response did not match schema.",cause:l.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});return l.value},async parsePartialOutput({text:a}){const r=await Za(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:r.value}}},createElementStreamTransform(){}}},XT=({element:e,name:t,description:o})=>{const n=qn(e);return{name:"array",responseFormat:De(n.jsonSchema).then(a=>{const{$schema:r,...s}=a;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},...o!=null&&{description:o}}}),async parseCompleteOutput({text:a},r){const s=await mo({text:a});if(!s.success)throw new dn({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const l=s.value;if(l==null||typeof l!="object"||!("elements"in l)||!Array.isArray(l.elements))throw new dn({message:"No object generated: response did not match schema.",cause:new Bo({value:l,cause:"response must be an object with an elements array"}),text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const c=[];for(const p of l.elements){const d=await po({value:p,schema:n});if(!d.success)throw new dn({message:"No object generated: response did not match schema.",cause:d.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});c.push(d.value)}return c},async parsePartialOutput({text:a}){const r=await Za(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const s=r.value;if(s==null||typeof s!="object"||!("elements"in s)||!Array.isArray(s.elements))return;const l=r.state==="repaired-parse"&&s.elements.length>0?s.elements.slice(0,-1):s.elements,c=[];for(const p of l){const d=await po({value:p,schema:n});d.success&&c.push(d.value)}return{partial:c}}}},createElementStreamTransform(){let a=0;return new TransformStream({transform({partialOutput:r},s){if(r!=null)for(;a<r.length;a++)s.enqueue(r[a])}})}}},QT=({options:e,name:t,description:o})=>({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},...o!=null&&{description:o}}),async parseCompleteOutput({text:n},a){const r=await mo({text:n});if(!r.success)throw new dn({message:"No object generated: could not parse the response.",cause:r.error,text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});const s=r.value;if(s==null||typeof s!="object"||!("result"in s)||typeof s.result!="string"||!e.includes(s.result))throw new dn({message:"No object generated: response did not match schema.",cause:new Bo({value:s,cause:"response must be an object that contains a choice value."}),text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});return s.result},async parsePartialOutput({text:n}){const a=await Za(n);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const r=a.value;if(r==null||typeof r!="object"||!("result"in r)||typeof r.result!="string")return;const s=e.filter(l=>l.startsWith(r.result));return a.state==="successful-parse"?s.includes(r.result)?{partial:r.result}:void 0:s.length===1?{partial:s[0]}:void 0}}},createElementStreamTransform(){}}),eI=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:o},n){const a=await mo({text:o});if(!a.success)throw new dn({message:"No object generated: could not parse the response.",cause:a.error,text:o,response:n.response,usage:n.usage,finishReason:n.finishReason});return a.value},async parsePartialOutput({text:o}){const n=await Za(o);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return n.value===void 0?void 0:{partial:n.value}}},createElementStreamTransform(){}});async function cf({toolCall:e,tools:t,repairToolCall:o,refineToolInput:n,messages:a,instructions:r}){try{if(t==null){if(e.providerExecuted&&e.dynamic)return await fi({toolCall:await df(e),refineToolInput:n});throw new ji({toolName:e.toolName})}try{return await fi({toolCall:await tc({toolCall:e,tools:t}),refineToolInput:n})}catch(s){if(o==null||!(ji.isInstance(s)||Zr.isInstance(s)))throw s;let l=null;try{l=await o({toolCall:e,tools:t,inputSchema:async({toolName:c})=>{const{inputSchema:p}=t[c];return await qn(p).jsonSchema},instructions:r,system:r,messages:a,error:s})}catch(c){throw new eT({cause:c,originalError:s})}if(l==null)throw s;return await fi({toolCall:await tc({toolCall:l,tools:t}),refineToolInput:n})}}catch(s){const l=await mo({text:e.input}),c=l.success?l.value:e.input,p=t?.[e.toolName];return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:c,dynamic:!0,invalid:!0,error:s,title:p?.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...p?.metadata!=null?{toolMetadata:p.metadata}:{}}}}async function fi({toolCall:e,refineToolInput:t}){const o=t?.[e.toolName];return o==null?e:{...e,input:await o(e.input)}}async function df(e){const t=e.input.trim()===""?{success:!0,value:{}}:await mo({text:e.input});if(t.success===!1)throw new Zr({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 tc({toolCall:e,tools:t}){const o=e.toolName,n=t[o];if(n==null){if(e.providerExecuted&&e.dynamic)return await df(e);throw new ji({toolName:e.toolName,availableTools:Object.keys(t)})}const a=qn(n.inputSchema),r=e.input.trim()===""?await po({value:{},schema:a}):await mo({text:e.input,schema:a});if(r.success===!1)throw new Zr({toolName:o,toolInput:e.input,cause:r.error});return n.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:r.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...n.metadata!=null?{toolMetadata:n.metadata}:{},dynamic:!0,title:n.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:o,input:r.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...n.metadata!=null?{toolMetadata:n.metadata}:{},title:n.title}}function tI(e){return typeof e=="object"&&e!==null&&"type"in e?e.type==="data"?e.data:e.url:e}function oI(e){return e.map(t=>t.type==="reasoning"?{type:"reasoning",text:t.text,...t.providerMetadata!=null?{providerOptions:t.providerMetadata}:{}}:{type:"reasoning-file",data:t.file.base64,mediaType:t.file.mediaType,...t.providerMetadata!=null?{providerOptions:t.providerMetadata}:{}})}function pf(e){return e.map(t=>{if(t.type==="reasoning")return{type:"reasoning",text:t.text,...t.providerOptions!=null?{providerMetadata:t.providerOptions}:{}};const o=tI(t.data),n=o instanceof ArrayBuffer?new Uint8Array(o):o instanceof URL?o.toString():o;return{type:"reasoning-file",file:new Ns({data:n,mediaType:t.mediaType}),...t.providerOptions!=null?{providerMetadata:t.providerOptions}:{}}})}async function $s({tools:e,toolCall:t,toolApproval:o,messages:n,toolsContext:a,runtimeContext:r}){if(o!=null&&typeof o=="function")return oc(await o({toolCall:t,tools:e,toolsContext:a,messages:n,runtimeContext:r}));const s=t.toolName,l=e?.[s],c=t.input,p=o?.[s];if(p!=null){const m=typeof p=="function"?await p(c,{toolCallId:t.toolCallId,messages:n,toolContext:await Zi({toolName:s,context:a?.[s],contextSchema:l?.contextSchema}),runtimeContext:r}):p;return oc(m)}return l?.needsApproval==null?{type:"not-applicable"}:(typeof l.needsApproval=="function"?await l.needsApproval(c,{toolCallId:t.toolCallId,messages:n,context:await Zi({toolName:s,context:a?.[s],contextSchema:l?.contextSchema})}):l.needsApproval)?{type:"user-approval"}:{type:"not-applicable"}}function oc(e){return e===void 0?{type:"not-applicable"}:typeof e=="string"?{type:e}:e}function Xt(...e){return async t=>{await Promise.allSettled(e.map(async o=>{await o?.(t)}))}}var mf="ai:telemetry";function ff(){var e;return typeof process<"u"&&((e=process.release)==null?void 0:e.name)==="node"}var hi;async function nI(){if(ff())return hi==null&&(hi=Promise.resolve().then(()=>require("./replay-index-CepJ5Z0m.js")).then(e=>e.tty).catch(()=>{})),hi}function nc(e){var t;const o=globalThis.process;try{return(t=o?.getBuiltinModule)==null?void 0:t.call(o,e)}catch{return}}async function ac(e,t){var o;const n=await nI(),a=(o=n?.tracingChannel)==null?void 0:o.call(n,mf);if(a==null||a.hasSubscribers===!1)return await t();let r,s,l,c=!1,p=!1;const d=()=>{try{r=Promise.resolve(t())}catch(m){r=Promise.reject(m)}return r=r.then(m=>(s=m,c=!0,m),m=>{throw l=m,p=!0,m}),r};try{return await a.tracePromise(d,e)}catch{if(p)throw l;return c?s:r!=null?await r:await t()}}function aI({message:e,completion:t}){var o;if(!ff())return;const n=nc("node:diagnostics_channel"),a=nc("node:async_hooks"),r=(o=n?.tracingChannel)==null?void 0:o.call(n,mf);if(r==null||r.hasSubscribers===!1||a==null){Promise.resolve(t).catch(()=>{});return}const s=e;let l,c=!1;const p=m=>{try{m()}catch{}},d=({result:m,error:v})=>{c||(c=!0,v!==void 0&&(s.error=v,p(()=>r.error.publish(s))),m!==void 0&&(s.result=m),p(()=>r.asyncEnd.publish(s)))};return p(()=>{r.start.runStores(s,()=>{l=new a.AsyncResource("ai.telemetry")})}),p(()=>r.end.publish(s)),Promise.resolve(t).then(m=>d({result:m}),m=>d({error:m})),{run:m=>l==null?m():l.runInAsyncScope(m)}}function rI(){var e;return(e=globalThis.AI_SDK_TELEMETRY_INTEGRATIONS)!=null?e:[]}function va(e,t){return Object.assign(Object.create(Object.getPrototypeOf(e)),e,t)}function iI({telemetry:e}){if(e?.isEnabled===!1)return{};const t=e?.integrations,o=t!=null?$n(t):rI(),n={recordInputs:e?.recordInputs,recordOutputs:e?.recordOutputs,functionId:e?.functionId},a=l=>{const c=o.map(d=>{var m;return(m=d[l])==null?void 0:m.bind(d)}).filter(Boolean).map(d=>m=>d(va(m,n))),p=Xt(...c);return async d=>{await p(d)}},r=o.map(l=>{var c;return(c=l.executeLanguageModelCall)==null?void 0:c.bind(l)}).filter(Boolean),s=o.map(l=>{var c;return(c=l.executeTool)==null?void 0:c.bind(l)}).filter(Boolean);return{runInTracingChannelSpan:async({type:l,event:c,execute:p})=>await ac({type:l,event:va(c,n)},p),startTracingChannelContext:({type:l,event:c,completion:p})=>aI({message:{type:l,event:va(c,n)},completion:p}),onStart:a("onStart"),onStepStart:a("onStepStart"),onLanguageModelCallStart:a("onLanguageModelCallStart"),onLanguageModelCallEnd:a("onLanguageModelCallEnd"),onToolExecutionStart:a("onToolExecutionStart"),onToolExecutionEnd:a("onToolExecutionEnd"),onStepEnd:Xt(a("onStepEnd"),a("onStepFinish")),onObjectStepStart:a("onObjectStepStart"),onObjectStepEnd:a("onObjectStepEnd"),onEmbedStart:a("onEmbedStart"),onEmbedEnd:a("onEmbedEnd"),onRerankStart:a("onRerankStart"),onRerankEnd:a("onRerankEnd"),onEnd:a("onEnd"),onAbort:a("onAbort"),onError:a("onError"),executeLanguageModelCall:async({execute:l,...c})=>{const p=va(c,n);let d=l;for(const m of r){const v=d;d=()=>m({...p,execute:v})}return await ac({type:"languageModelCall",event:p},d)},executeTool:async({execute:l,...c})=>{const p=va(c,n);let d=l;for(const m of s){const v=d;d=()=>m({...p,execute:v})}return await d()}}}function sI(e){const t=e.map(o=>"text"in o?o.text:"").join("");return t.length>0?t:void 0}var Ps=class{constructor({callId:e,stepNumber:t,provider:o,modelId:n,runtimeContext:a,toolsContext:r,content:s,finishReason:l,rawFinishReason:c,usage:p,performance:d,warnings:m,request:v,response:y,providerMetadata:g}){this.callId=e,this.stepNumber=t,this.model={provider:o,modelId:n},this.runtimeContext=a,this.toolsContext=r,this.content=s,this.finishReason=l,this.rawFinishReason=c,this.usage=p,this.performance=d,this.warnings=m,this.request=v,this.response=y,this.providerMetadata=g}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return oI(this.content.filter(e=>e.type==="reasoning"||e.type==="reasoning-file"))}get reasoningText(){return sI(this.reasoning)}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 Ca({context:e,includeContext:t}){return e==null?{}:Object.fromEntries(Object.entries(e).filter(([o])=>t?.[o]===!0))}function ya({step:e,includeRuntimeContext:t,includeToolsContext:o}){return new Ps({callId:e.callId,stepNumber:e.stepNumber,provider:e.model.provider,modelId:e.model.modelId,runtimeContext:Ca({context:e.runtimeContext,includeContext:t}),toolsContext:mr({toolsContext:e.toolsContext,includeToolsContext:o}),content:e.content,finishReason:e.finishReason,rawFinishReason:e.rawFinishReason,usage:e.usage,performance:e.performance,warnings:e.warnings,request:e.request,response:e.response,providerMetadata:e.providerMetadata})}function mr({toolsContext:e,includeToolsContext:t}){return t==null?{}:Object.fromEntries(Object.entries(e).map(([o,n])=>[o,Vi({toolName:o,toolContext:n,includeToolsContext:t})]))}function Vi({toolName:e,toolContext:t,includeToolsContext:o}){const n=o?.[e];return Ca({context:t,includeContext:n})}function hf({telemetry:e,includeRuntimeContext:t,includeToolsContext:o}){const n=iI({telemetry:e});return{...n,onStart:a=>{var r;return(r=n.onStart)==null?void 0:r.call(n,{...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})})},onStepStart:a=>{var r;return(r=n.onStepStart)==null?void 0:r.call(n,{...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),steps:a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o})),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})})},onStepEnd:a=>{var r;return(r=n.onStepEnd)==null?void 0:r.call(n,ya({step:a,includeRuntimeContext:t,includeToolsContext:o}))},onStepFinish:a=>{var r;return(r=n.onStepEnd)==null?void 0:r.call(n,ya({step:a,includeRuntimeContext:t,includeToolsContext:o}))},onEnd:a=>{var r;return(r=n.onEnd)==null?void 0:r.call(n,(s=>({...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),steps:s,finalStep:s.at(-1),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})}))(a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o}))))},onAbort:a=>{var r;return(r=n.onAbort)==null?void 0:r.call(n,{...a,steps:a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o}))})},onToolExecutionStart:a=>{var r;return(r=n.onToolExecutionStart)==null?void 0:r.call(n,{...a,toolContext:Vi({toolName:a.toolCall.toolName,toolContext:a.toolContext,includeToolsContext:o})})},onToolExecutionEnd:a=>{var r;return(r=n.onToolExecutionEnd)==null?void 0:r.call(n,{...a,toolContext:Vi({toolName:a.toolCall.toolName,toolContext:a.toolContext,includeToolsContext:o})})}}}function Gr(e){return({steps:t})=>t.length===e}function lI(...e){return({steps:t})=>{var o,n,a;return(a=(n=(o=t[t.length-1])==null?void 0:o.toolCalls)==null?void 0:n.some(r=>e.includes(r.toolName)))!=null?a:!1}}async function gf({stopConditions:e,steps:t}){return(await Promise.all(e.map(o=>o({steps:t})))).some(o=>o)}function Gi(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}async function vf({content:e,tools:t}){const o=[],n=[];for(const r of e)if(r.type!=="source"&&!((r.type==="tool-result"||r.type==="tool-error")&&!r.providerExecuted)&&!(r.type==="text"&&r.text.length===0))switch(r.type){case"text":n.push({type:"text",text:r.text,providerOptions:r.providerMetadata});break;case"custom":n.push({type:"custom",kind:r.kind,providerOptions:r.providerMetadata});break;case"reasoning":n.push({type:"reasoning",text:r.text,providerOptions:r.providerMetadata});break;case"file":n.push({type:"file",data:r.file.base64,mediaType:r.file.mediaType,providerOptions:r.providerMetadata});break;case"reasoning-file":n.push({type:"reasoning-file",data:r.file.base64,mediaType:r.file.mediaType,providerOptions:r.providerMetadata});break;case"tool-call":n.push({type:"tool-call",toolCallId:r.toolCallId,toolName:r.toolName,input:r.invalid&&typeof r.input!="object"?{}:r.input,providerExecuted:r.providerExecuted,providerOptions:r.providerMetadata});break;case"tool-result":{const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.output,errorMode:"none"});n.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,providerOptions:r.providerMetadata});break}case"tool-error":{const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.error,errorMode:"json"});n.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,providerOptions:r.providerMetadata});break}case"tool-approval-request":n.push({type:"tool-approval-request",approvalId:r.approvalId,toolCallId:r.toolCall.toolCallId,isAutomatic:r.isAutomatic,...r.signature!=null?{signature:r.signature}:{}});break}n.length>0&&o.push({role:"assistant",content:n});const a=[];for(const r of e){if(r.type!=="tool-approval-response"&&r.type!=="tool-result"&&r.type!=="tool-error")continue;if(r.type==="tool-approval-response"){a.push({type:"tool-approval-response",approvalId:r.approvalId,approved:r.approved,reason:r.reason,providerExecuted:r.providerExecuted}),r.approved===!1&&a.push({type:"tool-result",toolCallId:r.toolCall.toolCallId,toolName:r.toolCall.toolName,output:{type:"execution-denied",reason:r.reason}});continue}if(r.providerExecuted)continue;const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.type==="tool-result"?r.output:r.error,errorMode:r.type==="tool-error"?"text":"none"});a.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,...r.providerMetadata!=null?{providerOptions:r.providerMetadata}:{}})}return a.length>0&&o.push({role:"tool",content:a}),o}var Ds=new TextEncoder;function Bi(e){return e==null||typeof e!="object"?JSON.stringify(e):Array.isArray(e)?`[${e.map(Bi).join(",")}]`:`{${Object.keys(e).sort().map(n=>`${JSON.stringify(n)}:${Bi(e[n])}`).join(",")}}`}function yf(e){return Wo(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function uI(e){return No(e)}async function _f(e){const t=typeof e=="string"?Ds.encode(e):e;return crypto.subtle.importKey("raw",t,{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function bf(e){const t=Bi(e),o=await crypto.subtle.digest("SHA-256",Ds.encode(t));return yf(new Uint8Array(o))}function wf(e,t,o,n){return Ds.encode(`${e}
72
+ `),{name:"GatewayAuthenticationError"})}function af(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:zo(e.inputTokens.total,e.outputTokens.total),raw:e.raw}}function mi(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function rf(e,t){var o,n,a,r,s,l,c,p,d,m;return{inputTokens:zo(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:zo((o=e.inputTokenDetails)==null?void 0:o.noCacheTokens,(n=t.inputTokenDetails)==null?void 0:n.noCacheTokens),cacheReadTokens:zo((a=e.inputTokenDetails)==null?void 0:a.cacheReadTokens,(r=t.inputTokenDetails)==null?void 0:r.cacheReadTokens),cacheWriteTokens:zo((s=e.inputTokenDetails)==null?void 0:s.cacheWriteTokens,(l=t.inputTokenDetails)==null?void 0:l.cacheWriteTokens)},outputTokens:zo(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:zo((c=e.outputTokenDetails)==null?void 0:c.textTokens,(p=t.outputTokenDetails)==null?void 0:p.textTokens),reasoningTokens:zo((d=e.outputTokenDetails)==null?void 0:d.reasoningTokens,(m=t.outputTokenDetails)==null?void 0:m.reasoningTokens)},totalTokens:zo(e.totalTokens,t.totalTokens)}}function zo(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}function Os(...e){const t=Tn(...e).map(o=>o instanceof AbortSignal?o:AbortSignal.timeout(o));return t.length===0?void 0:t.length===1?t[0]:AbortSignal.any(t)}function Vr(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;const o={...e};for(const n in t)if(!(n==="__proto__"||n==="constructor"||n==="prototype")&&Object.prototype.hasOwnProperty.call(t,n)){const a=t[n];if(a===void 0)continue;const r=n in e?e[n]:void 0,s=a!==null&&typeof a=="object"&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp),l=r!=null&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp);s&&l?o[n]=Vr(r,a):o[n]=a}return o}function Na(){var e,t;return(t=(e=globalThis?.performance)==null?void 0:e.now())!=null?t:Date.now()}async function yt(e){await Promise.all($n(e.callbacks).map(async t=>{try{await t?.(e.event)}catch{}}))}function BT({error:e,exponentialBackoffDelay:t}){const o=et.isInstance(e)?e.responseHeaders:et.isInstance(e.cause)?e.cause.responseHeaders:void 0;if(!o)return t;let n;const a=o["retry-after-ms"];if(a){const s=parseFloat(a);Number.isNaN(s)||(n=s)}const r=o["retry-after"];if(r&&n===void 0){const s=parseFloat(r);Number.isNaN(s)?n=Date.parse(r)-Date.now():n=s*1e3}return n!=null&&!Number.isNaN(n)&&0<=n&&(n<60*1e3||n<t)?n:t}var HT=({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:o=2,abortSignal:n}={})=>async a=>sf(a,{maxRetries:e,delayInMs:t,backoffFactor:o,abortSignal:n});async function sf(e,{maxRetries:t,delayInMs:o,backoffFactor:n,abortSignal:a},r=[]){try{return await e()}catch(s){if(Ao(s)||t===0)throw s;const l=Yo(s),c=[...r,s],p=c.length;if(p>t)throw new Ju({message:`Failed after ${p} attempts. Last error: ${l}`,reason:"maxRetriesExceeded",errors:c});if(s instanceof Error&&(et.isInstance(s)&&s.isRetryable===!0||It.isInstance(s)&&s.isRetryable===!0)&&p<=t)return await Sn(BT({error:s,exponentialBackoffDelay:o}),{abortSignal:a}),sf(e,{maxRetries:t,delayInMs:n*o,backoffFactor:n,abortSignal:a},c);throw p===1?s:new Ju({message:`Failed after ${p} attempts with non-retryable error: '${l}'`,reason:"errorNotRetryable",errors:c})}}function zi({maxRetries:e,abortSignal:t}){if(e!=null){if(!Number.isInteger(e))throw new To({parameter:"maxRetries",value:e,message:"maxRetries must be an integer"});if(e<0)throw new To({parameter:"maxRetries",value:e,message:"maxRetries must be >= 0"})}const o=e??2;return{maxRetries:o,retry:HT({maxRetries:o,abortSignal:t})}}function Fi({abortController:e,label:t,timeoutMs:o}){if(!(e==null||o==null))return setTimeout(()=>e.abort(new DOMException(`${t} timeout of ${o}ms exceeded`,"TimeoutError")),o)}function un({tokens:e,durationMs:t}){const o=1e3*(e??0)/(t??0);return Number.isFinite(o)?o:0}function lf({messages:e}){const t=e.at(-1);if(t?.role!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};const o={};for(const c of e)if(c.role==="assistant"&&typeof c.content!="string"){const p=c.content;for(const d of p)d.type==="tool-call"&&(o[d.toolCallId]=d)}const n={};for(const c of e)if(c.role==="assistant"&&typeof c.content!="string"){const p=c.content;for(const d of p)d.type==="tool-approval-request"&&(n[d.approvalId]=d)}const a={};for(const c of t.content)c.type==="tool-result"&&(a[c.toolCallId]=c);const r=[],s=[],l=t.content.filter(c=>c.type==="tool-approval-response");for(const c of l){const p=n[c.approvalId];if(p==null)throw new Gx({approvalId:c.approvalId});if(a[p.toolCallId]!=null)continue;const d=o[p.toolCallId];if(d==null)throw new Ss({toolCallId:p.toolCallId,approvalId:p.approvalId});const m={approvalRequest:p,approvalResponse:c,toolCall:d};c.approved?r.push(m):s.push(m)}return{approvedToolApprovals:r,deniedToolApprovals:s}}async function Zi({toolName:e,context:t,contextSchema:o}){return o==null?t:await $e({value:t,schema:o,context:{field:"tool context",entityName:e}})}async function As({toolCall:e,tools:t,toolsContext:o,callId:n,messages:a,abortSignal:r,timeout:s,experimental_sandbox:l,onPreliminaryToolResult:c,onToolExecutionStart:p,onToolExecutionEnd:d,executeToolInTelemetryContext:m=async({execute:y})=>await y(),runInTracingChannelSpan:v=async({execute:y})=>await y()}){const{toolName:y,toolCallId:g,input:b}=e,x=t?.[y];if(!Mp(x))return;const w=await Zi({toolName:y,context:o?.[y],contextSchema:x.contextSchema}),_={toolCall:e,messages:a,toolContext:w},k={callId:n,..._};return await v({type:"executeTool",event:k,execute:async()=>{let h;await yt({event:k,callbacks:p});const S=OT(s,y),E=Os(r,S);let O=0;try{await m({callId:n,toolCallId:g,..._,execute:async()=>{const C=Na();try{const P=dw({tool:x,input:b,options:{toolCallId:g,messages:a,abortSignal:E,context:w,experimental_sandbox:l}});for await(const H of P)H.type==="preliminary"?c?.({...e,type:"tool-result",output:H.output,preliminary:!0}):h=H.output}finally{O=Na()-C}}})}catch(C){const P={type:"tool-error",toolCallId:g,toolName:y,input:b,error:C,dynamic:x.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{},...e.toolMetadata!=null?{toolMetadata:e.toolMetadata}:{}};return await yt({event:{...k,toolOutput:P,toolExecutionMs:O},callbacks:d}),{output:P,toolExecutionMs:O}}const R={type:"tool-result",toolCallId:g,toolName:y,input:b,output:h,dynamic:x.type==="dynamic",...e.providerMetadata!=null?{providerMetadata:e.providerMetadata}:{},...e.toolMetadata!=null?{toolMetadata:e.toolMetadata}:{}};return await yt({event:{...k,toolOutput:R,toolExecutionMs:O},callbacks:d}),{output:R,toolExecutionMs:O}}})}function uf({tools:e,activeTools:t}){return e==null||t==null?e:Object.fromEntries(Object.entries(e).filter(([o])=>t.includes(o)))}var Ns=class{constructor({data:e,mediaType:t}){const o=e instanceof Uint8Array;this.base64Data=o?void 0:e,this.uint8ArrayData=o?e:void 0,this.mediaType=t}get base64(){return this.base64Data==null&&(this.base64Data=Wo(this.uint8ArrayData)),this.base64Data}get uint8Array(){return this.uint8ArrayData==null&&(this.uint8ArrayData=No(this.base64Data)),this.uint8ArrayData}},WT=class extends Ns{constructor(e){super(e),this.type="file"}},JT={};Fx(JT,{array:()=>XT,choice:()=>QT,json:()=>eI,object:()=>YT,text:()=>Nr});function KT(e){const t=["ROOT"];let o=-1,n=null,a=0;function r(d){return d>="0"&&d<="9"||d>="A"&&d<="F"||d>="a"&&d<="f"}function s(d,m,v){switch(d){case'"':{o=m,t.pop(),t.push(v),t.push("INSIDE_STRING");break}case"f":case"t":case"n":{o=m,n=m,t.pop(),t.push(v),t.push("INSIDE_LITERAL");break}case"-":{t.pop(),t.push(v),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":{o=m,t.pop(),t.push(v),t.push("INSIDE_NUMBER");break}case"{":{o=m,t.pop(),t.push(v),t.push("INSIDE_OBJECT_START");break}case"[":{o=m,t.pop(),t.push(v),t.push("INSIDE_ARRAY_START");break}}}function l(d,m){switch(d){case",":{t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{o=m,t.pop();break}}}function c(d,m){switch(d){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{o=m,t.pop();break}}}for(let d=0;d<e.length;d++){const m=e[d];switch(t[t.length-1]){case"ROOT":s(m,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(m){case'"':{t.pop(),t.push("INSIDE_OBJECT_KEY");break}case"}":{o=d,t.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{m==='"'&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break}case"INSIDE_OBJECT_KEY":{m==='"'&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break}case"INSIDE_OBJECT_AFTER_KEY":{m===":"&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break}case"INSIDE_OBJECT_BEFORE_VALUE":{s(m,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{l(m,d);break}case"INSIDE_STRING":{switch(m){case'"':{t.pop(),o=d;break}case"\\":{t.push("INSIDE_STRING_ESCAPE");break}default:o=d}break}case"INSIDE_ARRAY_START":{m==="]"?(o=d,t.pop()):(o=d,s(m,d,"INSIDE_ARRAY_AFTER_VALUE"));break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(m){case",":{t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{o=d,t.pop();break}default:{o=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{s(m,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{t.pop(),m==="u"?(a=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):o=d;break}case"INSIDE_STRING_UNICODE_ESCAPE":{r(m)&&(a++,a===4&&(t.pop(),o=d));break}case"INSIDE_NUMBER":{switch(m){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{o=d;break}case"e":case"E":case"-":case".":break;case",":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(m,d);break}case"}":{t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&l(m,d);break}case"]":{t.pop(),t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d);break}default:{t.pop();break}}break}case"INSIDE_LITERAL":{const y=e.substring(n,d+1);!"false".startsWith(y)&&!"true".startsWith(y)&&!"null".startsWith(y)?(t.pop(),t[t.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?l(m,d):t[t.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&c(m,d)):o=d;break}}}let p=e.slice(0,o+1);for(let d=t.length-1;d>=0;d--)switch(t[d]){case"INSIDE_STRING":{p+='"';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":{p+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{p+="]";break}case"INSIDE_LITERAL":{const v=e.substring(n,e.length);"true".startsWith(v)?p+="true".slice(v.length):"false".startsWith(v)?p+="false".slice(v.length):"null".startsWith(v)&&(p+="null".slice(v.length))}}return p}async function Za(e){if(e===void 0)return{value:void 0,state:"undefined-input"};let t=await mo({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await mo({text:KT(e)}),t.success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var Nr=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),YT=({schema:e,name:t,description:o})=>{const n=qn(e);return{name:"object",responseFormat:De(n.jsonSchema).then(a=>({type:"json",schema:a,...t!=null&&{name:t},...o!=null&&{description:o}})),async parseCompleteOutput({text:a},r){const s=await mo({text:a});if(!s.success)throw new dn({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const l=await po({value:s.value,schema:n});if(!l.success)throw new dn({message:"No object generated: response did not match schema.",cause:l.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});return l.value},async parsePartialOutput({text:a}){const r=await Za(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:r.value}}},createElementStreamTransform(){}}},XT=({element:e,name:t,description:o})=>{const n=qn(e);return{name:"array",responseFormat:De(n.jsonSchema).then(a=>{const{$schema:r,...s}=a;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},...o!=null&&{description:o}}}),async parseCompleteOutput({text:a},r){const s=await mo({text:a});if(!s.success)throw new dn({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const l=s.value;if(l==null||typeof l!="object"||!("elements"in l)||!Array.isArray(l.elements))throw new dn({message:"No object generated: response did not match schema.",cause:new Bo({value:l,cause:"response must be an object with an elements array"}),text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});const c=[];for(const p of l.elements){const d=await po({value:p,schema:n});if(!d.success)throw new dn({message:"No object generated: response did not match schema.",cause:d.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});c.push(d.value)}return c},async parsePartialOutput({text:a}){const r=await Za(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const s=r.value;if(s==null||typeof s!="object"||!("elements"in s)||!Array.isArray(s.elements))return;const l=r.state==="repaired-parse"&&s.elements.length>0?s.elements.slice(0,-1):s.elements,c=[];for(const p of l){const d=await po({value:p,schema:n});d.success&&c.push(d.value)}return{partial:c}}}},createElementStreamTransform(){let a=0;return new TransformStream({transform({partialOutput:r},s){if(r!=null)for(;a<r.length;a++)s.enqueue(r[a])}})}}},QT=({options:e,name:t,description:o})=>({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},...o!=null&&{description:o}}),async parseCompleteOutput({text:n},a){const r=await mo({text:n});if(!r.success)throw new dn({message:"No object generated: could not parse the response.",cause:r.error,text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});const s=r.value;if(s==null||typeof s!="object"||!("result"in s)||typeof s.result!="string"||!e.includes(s.result))throw new dn({message:"No object generated: response did not match schema.",cause:new Bo({value:s,cause:"response must be an object that contains a choice value."}),text:n,response:a.response,usage:a.usage,finishReason:a.finishReason});return s.result},async parsePartialOutput({text:n}){const a=await Za(n);switch(a.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const r=a.value;if(r==null||typeof r!="object"||!("result"in r)||typeof r.result!="string")return;const s=e.filter(l=>l.startsWith(r.result));return a.state==="successful-parse"?s.includes(r.result)?{partial:r.result}:void 0:s.length===1?{partial:s[0]}:void 0}}},createElementStreamTransform(){}}),eI=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:o},n){const a=await mo({text:o});if(!a.success)throw new dn({message:"No object generated: could not parse the response.",cause:a.error,text:o,response:n.response,usage:n.usage,finishReason:n.finishReason});return a.value},async parsePartialOutput({text:o}){const n=await Za(o);switch(n.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return n.value===void 0?void 0:{partial:n.value}}},createElementStreamTransform(){}});async function cf({toolCall:e,tools:t,repairToolCall:o,refineToolInput:n,messages:a,instructions:r}){try{if(t==null){if(e.providerExecuted&&e.dynamic)return await fi({toolCall:await df(e),refineToolInput:n});throw new ji({toolName:e.toolName})}try{return await fi({toolCall:await tc({toolCall:e,tools:t}),refineToolInput:n})}catch(s){if(o==null||!(ji.isInstance(s)||Zr.isInstance(s)))throw s;let l=null;try{l=await o({toolCall:e,tools:t,inputSchema:async({toolName:c})=>{const{inputSchema:p}=t[c];return await qn(p).jsonSchema},instructions:r,system:r,messages:a,error:s})}catch(c){throw new eT({cause:c,originalError:s})}if(l==null)throw s;return await fi({toolCall:await tc({toolCall:l,tools:t}),refineToolInput:n})}}catch(s){const l=await mo({text:e.input}),c=l.success?l.value:e.input,p=t?.[e.toolName];return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:c,dynamic:!0,invalid:!0,error:s,title:p?.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...p?.metadata!=null?{toolMetadata:p.metadata}:{}}}}async function fi({toolCall:e,refineToolInput:t}){const o=t?.[e.toolName];return o==null?e:{...e,input:await o(e.input)}}async function df(e){const t=e.input.trim()===""?{success:!0,value:{}}:await mo({text:e.input});if(t.success===!1)throw new Zr({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 tc({toolCall:e,tools:t}){const o=e.toolName,n=t[o];if(n==null){if(e.providerExecuted&&e.dynamic)return await df(e);throw new ji({toolName:e.toolName,availableTools:Object.keys(t)})}const a=qn(n.inputSchema),r=e.input.trim()===""?await po({value:{},schema:a}):await mo({text:e.input,schema:a});if(r.success===!1)throw new Zr({toolName:o,toolInput:e.input,cause:r.error});return n.type==="dynamic"?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:r.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...n.metadata!=null?{toolMetadata:n.metadata}:{},dynamic:!0,title:n.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:o,input:r.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...n.metadata!=null?{toolMetadata:n.metadata}:{},title:n.title}}function tI(e){return typeof e=="object"&&e!==null&&"type"in e?e.type==="data"?e.data:e.url:e}function oI(e){return e.map(t=>t.type==="reasoning"?{type:"reasoning",text:t.text,...t.providerMetadata!=null?{providerOptions:t.providerMetadata}:{}}:{type:"reasoning-file",data:t.file.base64,mediaType:t.file.mediaType,...t.providerMetadata!=null?{providerOptions:t.providerMetadata}:{}})}function pf(e){return e.map(t=>{if(t.type==="reasoning")return{type:"reasoning",text:t.text,...t.providerOptions!=null?{providerMetadata:t.providerOptions}:{}};const o=tI(t.data),n=o instanceof ArrayBuffer?new Uint8Array(o):o instanceof URL?o.toString():o;return{type:"reasoning-file",file:new Ns({data:n,mediaType:t.mediaType}),...t.providerOptions!=null?{providerMetadata:t.providerOptions}:{}}})}async function $s({tools:e,toolCall:t,toolApproval:o,messages:n,toolsContext:a,runtimeContext:r}){if(o!=null&&typeof o=="function")return oc(await o({toolCall:t,tools:e,toolsContext:a,messages:n,runtimeContext:r}));const s=t.toolName,l=e?.[s],c=t.input,p=o?.[s];if(p!=null){const m=typeof p=="function"?await p(c,{toolCallId:t.toolCallId,messages:n,toolContext:await Zi({toolName:s,context:a?.[s],contextSchema:l?.contextSchema}),runtimeContext:r}):p;return oc(m)}return l?.needsApproval==null?{type:"not-applicable"}:(typeof l.needsApproval=="function"?await l.needsApproval(c,{toolCallId:t.toolCallId,messages:n,context:await Zi({toolName:s,context:a?.[s],contextSchema:l?.contextSchema})}):l.needsApproval)?{type:"user-approval"}:{type:"not-applicable"}}function oc(e){return e===void 0?{type:"not-applicable"}:typeof e=="string"?{type:e}:e}function Xt(...e){return async t=>{await Promise.allSettled(e.map(async o=>{await o?.(t)}))}}var mf="ai:telemetry";function ff(){var e;return typeof process<"u"&&((e=process.release)==null?void 0:e.name)==="node"}var hi;async function nI(){if(ff())return hi==null&&(hi=Promise.resolve().then(()=>require("./replay-index-D85qPcEF.js")).then(e=>e.tty).catch(()=>{})),hi}function nc(e){var t;const o=globalThis.process;try{return(t=o?.getBuiltinModule)==null?void 0:t.call(o,e)}catch{return}}async function ac(e,t){var o;const n=await nI(),a=(o=n?.tracingChannel)==null?void 0:o.call(n,mf);if(a==null||a.hasSubscribers===!1)return await t();let r,s,l,c=!1,p=!1;const d=()=>{try{r=Promise.resolve(t())}catch(m){r=Promise.reject(m)}return r=r.then(m=>(s=m,c=!0,m),m=>{throw l=m,p=!0,m}),r};try{return await a.tracePromise(d,e)}catch{if(p)throw l;return c?s:r!=null?await r:await t()}}function aI({message:e,completion:t}){var o;if(!ff())return;const n=nc("node:diagnostics_channel"),a=nc("node:async_hooks"),r=(o=n?.tracingChannel)==null?void 0:o.call(n,mf);if(r==null||r.hasSubscribers===!1||a==null){Promise.resolve(t).catch(()=>{});return}const s=e;let l,c=!1;const p=m=>{try{m()}catch{}},d=({result:m,error:v})=>{c||(c=!0,v!==void 0&&(s.error=v,p(()=>r.error.publish(s))),m!==void 0&&(s.result=m),p(()=>r.asyncEnd.publish(s)))};return p(()=>{r.start.runStores(s,()=>{l=new a.AsyncResource("ai.telemetry")})}),p(()=>r.end.publish(s)),Promise.resolve(t).then(m=>d({result:m}),m=>d({error:m})),{run:m=>l==null?m():l.runInAsyncScope(m)}}function rI(){var e;return(e=globalThis.AI_SDK_TELEMETRY_INTEGRATIONS)!=null?e:[]}function va(e,t){return Object.assign(Object.create(Object.getPrototypeOf(e)),e,t)}function iI({telemetry:e}){if(e?.isEnabled===!1)return{};const t=e?.integrations,o=t!=null?$n(t):rI(),n={recordInputs:e?.recordInputs,recordOutputs:e?.recordOutputs,functionId:e?.functionId},a=l=>{const c=o.map(d=>{var m;return(m=d[l])==null?void 0:m.bind(d)}).filter(Boolean).map(d=>m=>d(va(m,n))),p=Xt(...c);return async d=>{await p(d)}},r=o.map(l=>{var c;return(c=l.executeLanguageModelCall)==null?void 0:c.bind(l)}).filter(Boolean),s=o.map(l=>{var c;return(c=l.executeTool)==null?void 0:c.bind(l)}).filter(Boolean);return{runInTracingChannelSpan:async({type:l,event:c,execute:p})=>await ac({type:l,event:va(c,n)},p),startTracingChannelContext:({type:l,event:c,completion:p})=>aI({message:{type:l,event:va(c,n)},completion:p}),onStart:a("onStart"),onStepStart:a("onStepStart"),onLanguageModelCallStart:a("onLanguageModelCallStart"),onLanguageModelCallEnd:a("onLanguageModelCallEnd"),onToolExecutionStart:a("onToolExecutionStart"),onToolExecutionEnd:a("onToolExecutionEnd"),onStepEnd:Xt(a("onStepEnd"),a("onStepFinish")),onObjectStepStart:a("onObjectStepStart"),onObjectStepEnd:a("onObjectStepEnd"),onEmbedStart:a("onEmbedStart"),onEmbedEnd:a("onEmbedEnd"),onRerankStart:a("onRerankStart"),onRerankEnd:a("onRerankEnd"),onEnd:a("onEnd"),onAbort:a("onAbort"),onError:a("onError"),executeLanguageModelCall:async({execute:l,...c})=>{const p=va(c,n);let d=l;for(const m of r){const v=d;d=()=>m({...p,execute:v})}return await ac({type:"languageModelCall",event:p},d)},executeTool:async({execute:l,...c})=>{const p=va(c,n);let d=l;for(const m of s){const v=d;d=()=>m({...p,execute:v})}return await d()}}}function sI(e){const t=e.map(o=>"text"in o?o.text:"").join("");return t.length>0?t:void 0}var Ps=class{constructor({callId:e,stepNumber:t,provider:o,modelId:n,runtimeContext:a,toolsContext:r,content:s,finishReason:l,rawFinishReason:c,usage:p,performance:d,warnings:m,request:v,response:y,providerMetadata:g}){this.callId=e,this.stepNumber=t,this.model={provider:o,modelId:n},this.runtimeContext=a,this.toolsContext=r,this.content=s,this.finishReason=l,this.rawFinishReason=c,this.usage=p,this.performance=d,this.warnings=m,this.request=v,this.response=y,this.providerMetadata=g}get text(){return this.content.filter(e=>e.type==="text").map(e=>e.text).join("")}get reasoning(){return oI(this.content.filter(e=>e.type==="reasoning"||e.type==="reasoning-file"))}get reasoningText(){return sI(this.reasoning)}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 Ca({context:e,includeContext:t}){return e==null?{}:Object.fromEntries(Object.entries(e).filter(([o])=>t?.[o]===!0))}function ya({step:e,includeRuntimeContext:t,includeToolsContext:o}){return new Ps({callId:e.callId,stepNumber:e.stepNumber,provider:e.model.provider,modelId:e.model.modelId,runtimeContext:Ca({context:e.runtimeContext,includeContext:t}),toolsContext:mr({toolsContext:e.toolsContext,includeToolsContext:o}),content:e.content,finishReason:e.finishReason,rawFinishReason:e.rawFinishReason,usage:e.usage,performance:e.performance,warnings:e.warnings,request:e.request,response:e.response,providerMetadata:e.providerMetadata})}function mr({toolsContext:e,includeToolsContext:t}){return t==null?{}:Object.fromEntries(Object.entries(e).map(([o,n])=>[o,Vi({toolName:o,toolContext:n,includeToolsContext:t})]))}function Vi({toolName:e,toolContext:t,includeToolsContext:o}){const n=o?.[e];return Ca({context:t,includeContext:n})}function hf({telemetry:e,includeRuntimeContext:t,includeToolsContext:o}){const n=iI({telemetry:e});return{...n,onStart:a=>{var r;return(r=n.onStart)==null?void 0:r.call(n,{...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})})},onStepStart:a=>{var r;return(r=n.onStepStart)==null?void 0:r.call(n,{...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),steps:a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o})),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})})},onStepEnd:a=>{var r;return(r=n.onStepEnd)==null?void 0:r.call(n,ya({step:a,includeRuntimeContext:t,includeToolsContext:o}))},onStepFinish:a=>{var r;return(r=n.onStepEnd)==null?void 0:r.call(n,ya({step:a,includeRuntimeContext:t,includeToolsContext:o}))},onEnd:a=>{var r;return(r=n.onEnd)==null?void 0:r.call(n,(s=>({...a,runtimeContext:Ca({context:a.runtimeContext,includeContext:t}),steps:s,finalStep:s.at(-1),toolsContext:mr({toolsContext:a.toolsContext,includeToolsContext:o})}))(a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o}))))},onAbort:a=>{var r;return(r=n.onAbort)==null?void 0:r.call(n,{...a,steps:a.steps.map(s=>ya({step:s,includeRuntimeContext:t,includeToolsContext:o}))})},onToolExecutionStart:a=>{var r;return(r=n.onToolExecutionStart)==null?void 0:r.call(n,{...a,toolContext:Vi({toolName:a.toolCall.toolName,toolContext:a.toolContext,includeToolsContext:o})})},onToolExecutionEnd:a=>{var r;return(r=n.onToolExecutionEnd)==null?void 0:r.call(n,{...a,toolContext:Vi({toolName:a.toolCall.toolName,toolContext:a.toolContext,includeToolsContext:o})})}}}function Gr(e){return({steps:t})=>t.length===e}function lI(...e){return({steps:t})=>{var o,n,a;return(a=(n=(o=t[t.length-1])==null?void 0:o.toolCalls)==null?void 0:n.some(r=>e.includes(r.toolName)))!=null?a:!1}}async function gf({stopConditions:e,steps:t}){return(await Promise.all(e.map(o=>o({steps:t})))).some(o=>o)}function Gi(e,t){return e==null&&t==null?void 0:(e??0)+(t??0)}async function vf({content:e,tools:t}){const o=[],n=[];for(const r of e)if(r.type!=="source"&&!((r.type==="tool-result"||r.type==="tool-error")&&!r.providerExecuted)&&!(r.type==="text"&&r.text.length===0))switch(r.type){case"text":n.push({type:"text",text:r.text,providerOptions:r.providerMetadata});break;case"custom":n.push({type:"custom",kind:r.kind,providerOptions:r.providerMetadata});break;case"reasoning":n.push({type:"reasoning",text:r.text,providerOptions:r.providerMetadata});break;case"file":n.push({type:"file",data:r.file.base64,mediaType:r.file.mediaType,providerOptions:r.providerMetadata});break;case"reasoning-file":n.push({type:"reasoning-file",data:r.file.base64,mediaType:r.file.mediaType,providerOptions:r.providerMetadata});break;case"tool-call":n.push({type:"tool-call",toolCallId:r.toolCallId,toolName:r.toolName,input:r.invalid&&typeof r.input!="object"?{}:r.input,providerExecuted:r.providerExecuted,providerOptions:r.providerMetadata});break;case"tool-result":{const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.output,errorMode:"none"});n.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,providerOptions:r.providerMetadata});break}case"tool-error":{const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.error,errorMode:"json"});n.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,providerOptions:r.providerMetadata});break}case"tool-approval-request":n.push({type:"tool-approval-request",approvalId:r.approvalId,toolCallId:r.toolCall.toolCallId,isAutomatic:r.isAutomatic,...r.signature!=null?{signature:r.signature}:{}});break}n.length>0&&o.push({role:"assistant",content:n});const a=[];for(const r of e){if(r.type!=="tool-approval-response"&&r.type!=="tool-result"&&r.type!=="tool-error")continue;if(r.type==="tool-approval-response"){a.push({type:"tool-approval-response",approvalId:r.approvalId,approved:r.approved,reason:r.reason,providerExecuted:r.providerExecuted}),r.approved===!1&&a.push({type:"tool-result",toolCallId:r.toolCall.toolCallId,toolName:r.toolCall.toolName,output:{type:"execution-denied",reason:r.reason}});continue}if(r.providerExecuted)continue;const s=await Cn({toolCallId:r.toolCallId,input:r.input,tool:t?.[r.toolName],output:r.type==="tool-result"?r.output:r.error,errorMode:r.type==="tool-error"?"text":"none"});a.push({type:"tool-result",toolCallId:r.toolCallId,toolName:r.toolName,output:s,...r.providerMetadata!=null?{providerOptions:r.providerMetadata}:{}})}return a.length>0&&o.push({role:"tool",content:a}),o}var Ds=new TextEncoder;function Bi(e){return e==null||typeof e!="object"?JSON.stringify(e):Array.isArray(e)?`[${e.map(Bi).join(",")}]`:`{${Object.keys(e).sort().map(n=>`${JSON.stringify(n)}:${Bi(e[n])}`).join(",")}}`}function yf(e){return Wo(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function uI(e){return No(e)}async function _f(e){const t=typeof e=="string"?Ds.encode(e):e;return crypto.subtle.importKey("raw",t,{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}async function bf(e){const t=Bi(e),o=await crypto.subtle.digest("SHA-256",Ds.encode(t));return yf(new Uint8Array(o))}function wf(e,t,o,n){return Ds.encode(`${e}
73
73
  ${t}
74
74
  ${o}
75
75
  ${n}`)}async function cI({secret:e,approvalId:t,toolCallId:o,toolName:n,input:a}){const r=await _f(e),s=await bf(a),l=wf(t,o,n,s),c=await crypto.subtle.sign("HMAC",r,l);return yf(new Uint8Array(c))}async function dI({secret:e,signature:t,approvalId:o,toolCallId:n,toolName:a,input:r}){const s=await _f(e),l=await bf(r),c=wf(o,n,a,l),p=uI(t);return crypto.subtle.verify("HMAC",s,p,c)}async function xf({secret:e,approvalId:t,toolCallId:o,toolName:n,input:a}){if(e!=null)return cI({secret:e,approvalId:t,toolCallId:o,toolName:n,input:a})}async function Tf({approvedToolApprovals:e,tools:t,toolApproval:o,messages:n,toolsContext:a,runtimeContext:r,toolApprovalSecret:s}){var l;const c=[],p=[];for(const d of e){const{toolCall:m,approvalRequest:v}=d,y=t?.[m.toolName];if(s!=null){if(v.signature==null)throw new Hu({approvalId:v.approvalId,toolCallId:m.toolCallId,reason:"missing signature"});if(!await dI({secret:s,signature:v.signature,approvalId:v.approvalId,toolCallId:m.toolCallId,toolName:m.toolName,input:m.input}))throw new Hu({approvalId:v.approvalId,toolCallId:m.toolCallId,reason:"invalid signature"})}if(Mp(y)&&y.inputSchema!=null){const b=await po({value:m.input,schema:qn(y.inputSchema)});if(!b.success)throw new Zr({toolName:m.toolName,toolInput:JSON.stringify(m.input),cause:b.error})}const g=await $s({tools:t,toolApproval:o,toolCall:m,messages:n,toolsContext:a,runtimeContext:r});g.type==="denied"?p.push({...d,approvalResponse:{...d.approvalResponse,approved:!1,reason:(l=g.reason)!=null?l:d.approvalResponse.reason}}):c.push(d)}return{approvedToolApprovals:c,deniedToolApprovals:p}}var pI=ho({prefix:"aitxt",size:24}),mI=ho({prefix:"call",size:24});async function If({model:e,tools:t,toolChoice:o,instructions:n,system:a,prompt:r,messages:s,allowSystemInMessages:l,maxRetries:c,abortSignal:p,timeout:d,headers:m,stopWhen:v=Gr(1),experimental_sandbox:y,output:g,toolApproval:b,experimental_toolApprovalSecret:x,experimental_telemetry:w,telemetry:_=w,providerOptions:k,activeTools:h,toolOrder:S,prepareStep:E,experimental_repairToolCall:O,experimental_refineToolInput:R,experimental_download:C,runtimeContext:P={},toolsContext:H={},experimental_include:Y,include:z=Y,_internal:{generateId:D=pI,generateCallId:re=mI,now:F=Na}={},onStart:J,experimental_onStart:G,onStepStart:$,experimental_onStepStart:V,onLanguageModelCallStart:L,experimental_onLanguageModelCallStart:oe,onLanguageModelCallEnd:ne,experimental_onLanguageModelCallEnd:pe,onToolExecutionStart:ye,onToolExecutionEnd:le,experimental_onToolCallStart:B,experimental_onToolCallFinish:Z,onStepEnd:te,onStepFinish:j,onFinish:ue,onEnd:q=ue,...I}){var N,U,ie,Pe;z={requestBody:(N=z?.requestBody)!=null?N:!1,requestMessages:(U=z?.requestMessages)!=null?U:!1,responseBody:(ie=z?.responseBody)!=null?ie:!1};const ct=Aa(e),Ze=$n(v),Ue=J??G,Oe=$??V,_t=L??oe,Jt=ne??pe,to=ye??B,Kt=le??Z,Mt=te??j,be=Ym(d),Vt=Xm(d),So=Vt!=null?new AbortController:void 0,Pt=Os(p,be,So?.signal),{maxRetries:Xo,retry:ro}=zi({maxRetries:c,abortSignal:Pt}),Rt=Li(I),Co=$o(m??{},`ai/${Hm}`),M=await Rs({instructions:n,system:a,prompt:r,messages:s,allowSystemInMessages:l}),X=re(),Se=hf({telemetry:_,includeRuntimeContext:_?.includeRuntimeContext,includeToolsContext:_?.includeToolsContext}),Me=(Pe=Se.runInTracingChannelSpan)!=null?Pe:async({execute:at})=>await at(),Ke={callId:X,operationId:"ai.generateText",provider:ct.provider,modelId:ct.modelId,instructions:M.instructions,messages:M.messages,tools:t,toolChoice:o,activeTools:h,toolOrder:S,maxOutputTokens:Rt.maxOutputTokens,temperature:Rt.temperature,topP:Rt.topP,topK:Rt.topK,presencePenalty:Rt.presencePenalty,frequencyPenalty:Rt.frequencyPenalty,stopSequences:Rt.stopSequences,seed:Rt.seed,reasoning:Rt.reasoning,maxRetries:Xo,timeout:d,headers:Co,providerOptions:k,output:g,runtimeContext:P,toolsContext:H};return await Me({type:"generateText",event:Ke,execute:async()=>{var at;await yt({event:Ke,callbacks:[Ue,Se.onStart]});try{const Dt=M.messages,qt=[],{approvedToolApprovals:ge,deniedToolApprovals:Be}=lf({messages:Dt}),{approvedToolApprovals:go,deniedToolApprovals:jn}=await Tf({approvedToolApprovals:ge.filter(xe=>!xe.toolCall.providerExecuted),tools:t,toolApproval:b,messages:Dt,toolsContext:H,runtimeContext:P,toolApprovalSecret:x}),io=[...Be,...jn];if(io.length>0||go.length>0){const xe=await rc({toolCalls:go.map(kt=>kt.toolCall),tools:t,callId:X,messages:Dt,abortSignal:Pt,timeout:d,experimental_sandbox:y,toolsContext:H,onToolExecutionStart:kt=>yt({event:kt,callbacks:[to,Se.onToolExecutionStart]}),onToolExecutionEnd:kt=>yt({event:kt,callbacks:[Kt,Se.onToolExecutionEnd]}),executeToolInTelemetryContext:Se.executeTool,runInTracingChannelSpan:Me}),jt=[];for(const kt of xe){const Gt=kt.output,en=await Cn({toolCallId:Gt.toolCallId,input:Gt.input,tool:t?.[Gt.toolName],output:Gt.type==="tool-result"?Gt.output:Gt.error,errorMode:Gt.type==="tool-error"?"text":"none"});jt.push({type:"tool-result",toolCallId:Gt.toolCallId,toolName:Gt.toolName,output:en})}for(const kt of io)jt.push({type:"tool-result",toolCallId:kt.toolCall.toolCallId,toolName:kt.toolCall.toolName,output:{type:"execution-denied",reason:kt.approvalResponse.reason,...kt.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:kt.approvalResponse.approvalId}}}}});qt.push({role:"tool",content:jt})}const vo=Li(I);let ot,yo=[],Ne=[],_o=[],Ot=[];const Le=[];let st=M.instructions,gn=[...Dt,...qt];const Un=new Map;do{const xe=Fi({abortController:So,label:"Step",timeoutMs:Vt}),jt=Le.length;try{await Me({type:"step",event:{callId:X,stepNumber:jt},execute:async()=>{var kt,Gt,en,Ha,Wa,Po,Vn,ua,Ja,Ka,Ya,Gn,ca,Xa,Qa,er,da;const pa=[...qt,...Le.flatMap(ke=>ke.response.messages)],Do=gn,He=await E?.({model:ct,steps:Le,stepNumber:Le.length,instructions:st,initialInstructions:M.instructions,messages:Do,initialMessages:Dt,responseMessages:pa,runtimeContext:P,toolsContext:H,experimental_sandbox:y}),Bn=(kt=He?.experimental_sandbox)!=null?kt:y,St=Aa((Gt=He?.model)!=null?Gt:ct),qo=(Ha=(en=He?.instructions)!=null?en:He?.system)!=null?Ha:st,Hn=await Wm({prompt:{instructions:qo,messages:(Wa=He?.messages)!=null?Wa:Do},supportedUrls:await St.supportedUrls,download:C,provider:St.provider.split(".")[0]});P=(Po=He?.runtimeContext)!=null?Po:P,H=(Vn=He?.toolsContext)!=null?Vn:H;const tr=uf({tools:t,activeTools:(ua=He?.activeTools)!=null?ua:h}),Wn=(Ja=He?.toolOrder)!=null?Ja:S,Jn=await Es({tools:tr,toolOrder:Wn,toolsContext:H,experimental_sandbox:Bn}),ma=Cs({toolChoice:(Ka=He?.toolChoice)!=null?Ka:o}),bo=(Ya=He?.messages)!=null?Ya:Do,fa=Vr(k,He?.providerOptions);await yt({event:{callId:X,provider:St.provider,modelId:St.modelId,stepNumber:jt,instructions:qo,messages:bo,tools:t,toolChoice:(Gn=He?.toolChoice)!=null?Gn:o,activeTools:(ca=He?.activeTools)!=null?ca:h,toolOrder:Wn,steps:[...Le],providerOptions:fa,output:g,runtimeContext:P,promptMessages:Hn,stepTools:Jn,stepToolChoice:ma,toolsContext:H},callbacks:[Oe,Se.onStepStart]});const vn={provider:St.provider,modelId:St.modelId,instructions:qo,messages:bo,tools:Jn,...vo},Ae={callId:X,...vn},wt=F();await yt({event:Ae,callbacks:[_t,Se.onLanguageModelCallStart]});const tn=(Xa=Se.executeLanguageModelCall)!=null?Xa:async({execute:ke})=>await ke();ot=await ro(async()=>{var ke,ft,nn,lo,jo,Bs,Hs,Ws;const Kn=await tn({...Ae,execute:async()=>await St.doGenerate({...vo,tools:Jn,toolChoice:ma,responseFormat:await g?.responseFormat,prompt:Hn,providerOptions:fa,abortSignal:Pt,headers:Co})}),zh={id:(ft=(ke=Kn.response)==null?void 0:ke.id)!=null?ft:D(),timestamp:(lo=(nn=Kn.response)==null?void 0:nn.timestamp)!=null?lo:new Date,modelId:(Bs=(jo=Kn.response)==null?void 0:jo.modelId)!=null?Bs:St.modelId,headers:(Hs=Kn.response)==null?void 0:Hs.headers,body:(Ws=Kn.response)==null?void 0:Ws.body};return{...Kn,response:zh}});const Bt=F()-wt,At=af(ot.usage),so=await Promise.all(ot.content.filter(ke=>ke.type==="tool-call").map(ke=>cf({toolCall:ke,tools:t,repairToolCall:O,refineToolInput:R,instructions:qo,messages:bo}))),on={},gt={},yn=new Set,Fs=ic({content:ot.content,toolCalls:so,toolOutputs:[],toolApprovalRequests:[],toolApprovalResponses:[],tools:t});await yt({event:{callId:X,provider:St.provider,modelId:St.modelId,finishReason:ot.finishReason.unified,usage:At,content:Fs,responseId:ot.response.id,performance:{responseTimeMs:Bt,effectiveOutputTokensPerSecond:un({tokens:At.outputTokens,durationMs:Bt}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:un({tokens:Gi(At.inputTokens,At.outputTokens),durationMs:Bt}),timeToFirstOutputMs:void 0}},callbacks:[Jt,Se.onLanguageModelCallEnd]});for(const ke of so){if(ke.invalid)continue;const ft=t?.[ke.toolName];if(ft==null)continue;ft?.onInputAvailable!=null&&await ft.onInputAvailable({input:ke.input,toolCallId:ke.toolCallId,messages:bo,abortSignal:Pt,context:P});const nn=await $s({tools:t,toolApproval:b,toolCall:ke,messages:bo,toolsContext:H,runtimeContext:P});if(nn.type==="not-applicable")continue;const lo=D(),jo=await xf({secret:x,approvalId:lo,toolCallId:ke.toolCallId,toolName:ke.toolName,input:ke.input});switch(nn.type){case"user-approval":{on[ke.toolCallId]={type:"tool-approval-request",approvalId:lo,toolCall:ke,...jo!=null?{signature:jo}:{}},yn.add(ke.toolCallId);break}case"approved":{on[ke.toolCallId]={type:"tool-approval-request",approvalId:lo,toolCall:ke,isAutomatic:!0,...jo!=null?{signature:jo}:{}},gt[ke.toolCallId]={type:"tool-approval-response",approvalId:lo,toolCall:ke,approved:!0,reason:nn.reason,providerExecuted:ke.providerExecuted};break}case"denied":{on[ke.toolCallId]={type:"tool-approval-request",approvalId:lo,toolCall:ke,isAutomatic:!0,...jo!=null?{signature:jo}:{}},gt[ke.toolCallId]={type:"tool-approval-response",approvalId:lo,toolCall:ke,approved:!1,reason:nn.reason,providerExecuted:ke.providerExecuted},yn.add(ke.toolCallId);break}}}const ha=so.filter(ke=>ke.invalid&&ke.dynamic);Ne=[];for(const ke of ha)Ne.push({type:"tool-error",toolCallId:ke.toolCallId,toolName:ke.toolName,input:ke.input,error:Yo(ke.error),dynamic:!0});yo=so.filter(ke=>!ke.providerExecuted),_o=Object.values(gt),Ot=_o.filter(ke=>ke.approved===!1);const Zs={};if(t!=null){const ke=await rc({toolCalls:yo.filter(ft=>!ft.invalid&&!yn.has(ft.toolCallId)),tools:t,callId:X,messages:bo,abortSignal:Pt,timeout:d,experimental_sandbox:Bn,toolsContext:H,onToolExecutionStart:ft=>yt({event:ft,callbacks:[to,Se.onToolExecutionStart]}),onToolExecutionEnd:ft=>yt({event:ft,callbacks:[Kt,Se.onToolExecutionEnd]}),executeToolInTelemetryContext:Se.executeTool,runInTracingChannelSpan:Me});for(const ft of ke)Zs[ft.output.toolCallId]=ft.toolExecutionMs,Ne.push(ft.output)}const qh=F()-wt,jh={effectiveOutputTokensPerSecond:un({tokens:At.outputTokens,durationMs:Bt}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:un({tokens:Gi(At.inputTokens,At.outputTokens),durationMs:Bt}),stepTimeMs:qh,responseTimeMs:Bt,toolExecutionMs:Zs,timeToFirstOutputMs:void 0};for(const ke of so){if(!ke.providerExecuted)continue;const ft=t?.[ke.toolName];ft?.type==="provider"&&ft.supportsDeferredResults&&(ot.content.some(lo=>lo.type==="tool-result"&&lo.toolCallId===ke.toolCallId)||Un.set(ke.toolCallId,{toolName:ke.toolName}))}for(const ke of ot.content)ke.type==="tool-result"&&Un.delete(ke.toolCallId);const Vs=ic({content:ot.content,toolCalls:so,toolOutputs:Ne,toolApprovalRequests:Object.values(on),toolApprovalResponses:_o,tools:t}),Gs=await vf({content:Vs,tools:t}),Uh={...ot.request,body:z.requestBody?(Qa=ot.request)==null?void 0:Qa.body:void 0,messages:z.requestMessages?Sa(bo):void 0},Lh={...ot.response,messages:Sa(Gs),body:z.responseBody?(er=ot.response)==null?void 0:er.body:void 0},Xr=new Ps({callId:X,stepNumber:jt,provider:St.provider,modelId:St.modelId,runtimeContext:P,content:Vs,finishReason:ot.finishReason.unified,rawFinishReason:ot.finishReason.raw,usage:At,performance:jh,warnings:ot.warnings,providerMetadata:ot.providerMetadata,request:Uh,response:Lh,toolsContext:H});return na({warnings:(da=ot.warnings)!=null?da:[],provider:St.provider,model:St.modelId}),Le.push(Xr),st=qo,gn=[...bo,...Gs],await yt({event:Xr,callbacks:[Mt,Se.onStepEnd]}),Xr}})}finally{xe!=null&&clearTimeout(xe)}}while((yo.length>0&&Ne.length+Ot.length===yo.length||Un.size>0)&&!await gf({stopConditions:Ze,steps:Le}));const bt=Le[Le.length-1],Ln=Le.reduce((xe,jt)=>rf(xe,jt.usage),{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0}),Va=Le.flatMap(xe=>xe.files),Ga=Le.flatMap(xe=>xe.sources),Qo=Le.flatMap(xe=>xe.toolCalls),Jr=Le.flatMap(xe=>xe.staticToolCalls),zn=Le.flatMap(xe=>xe.dynamicToolCalls),Fn=Le.flatMap(xe=>xe.toolResults),Zn=Le.flatMap(xe=>xe.staticToolResults),Ba=Le.flatMap(xe=>xe.dynamicToolResults),Kr=Le.flatMap(xe=>{var jt;return(jt=xe.warnings)!=null?jt:[]}),Yr={callId:X,stepNumber:bt.stepNumber,model:bt.model,runtimeContext:bt.runtimeContext,finishReason:bt.finishReason,rawFinishReason:bt.rawFinishReason,usage:Ln,totalUsage:Ln,content:Le.flatMap(xe=>xe.content),text:bt.text,reasoning:bt.reasoning,reasoningText:bt.reasoningText,files:Va,sources:Ga,toolCalls:Qo,staticToolCalls:Jr,dynamicToolCalls:zn,toolResults:Fn,staticToolResults:Zn,dynamicToolResults:Ba,responseMessages:[...qt,...Le.flatMap(xe=>xe.response.messages)],warnings:Kr,request:bt.request,response:bt.response,providerMetadata:bt.providerMetadata,steps:Le,finalStep:bt,toolsContext:H};await yt({event:Yr,callbacks:[q,Se.onEnd]});let la;return bt.finishReason==="stop"&&(la=await(g??Nr()).parseCompleteOutput({text:bt.text},{response:bt.response,usage:bt.usage,finishReason:bt.finishReason})),new fI({initialResponseMessages:qt,steps:Le,totalUsage:Ln,output:la})}catch(Dt){throw await((at=Se.onError)==null?void 0:at.call(Se,{callId:X,error:Dt})),nf(Dt)}}})}async function rc({toolCalls:e,tools:t,callId:o,messages:n,abortSignal:a,timeout:r,experimental_sandbox:s,toolsContext:l,onToolExecutionStart:c,onToolExecutionEnd:p,executeToolInTelemetryContext:d,runInTracingChannelSpan:m}){return(await Promise.all(e.map(async y=>await As({toolCall:y,tools:t,callId:o,messages:n,abortSignal:a,timeout:r,experimental_sandbox:s,toolsContext:l,onToolExecutionStart:c,onToolExecutionEnd:p,executeToolInTelemetryContext:d,runInTracingChannelSpan:m})))).filter(y=>y!=null)}var fI=class{constructor(e){this.initialResponseMessages=e.initialResponseMessages,this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps.at(-1)}get content(){return this.steps.flatMap(e=>e.content)}get text(){return this.finalStep.text}get files(){return this.steps.flatMap(e=>e.files)}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return pf(this.finalStep.reasoning)}get toolCalls(){return this.steps.flatMap(e=>e.toolCalls)}get staticToolCalls(){return this.steps.flatMap(e=>e.staticToolCalls)}get dynamicToolCalls(){return this.steps.flatMap(e=>e.dynamicToolCalls)}get toolResults(){return this.steps.flatMap(e=>e.toolResults)}get staticToolResults(){return this.steps.flatMap(e=>e.staticToolResults)}get dynamicToolResults(){return this.steps.flatMap(e=>e.dynamicToolResults)}get sources(){return this.steps.flatMap(e=>e.sources)}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.steps.flatMap(e=>{var t;return(t=e.warnings)!=null?t:[]})}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get responseMessages(){return[...this.initialResponseMessages,...this.steps.flatMap(e=>e.response.messages)]}get request(){return this.finalStep.request}get usage(){return this.totalUsage}get output(){if(this._output==null)throw new pr;return this._output}};function ic({content:e,toolCalls:t,toolOutputs:o,toolApprovalRequests:n,toolApprovalResponses:a,tools:r}){const s=[],l=[],c=[],p=new Set(a.map(d=>d.toolCall.toolCallId));for(const d of e)switch(d.type){case"text":case"reasoning":case"custom":case"source":s.push(d);break;case"file":case"reasoning-file":{s.push({type:d.type,file:new Ns({data:d.data.type==="data"?d.data.data:d.data.url.toString(),mediaType:d.mediaType}),...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{}});break}case"tool-call":{s.push(t.find(m=>m.toolCallId===d.toolCallId));break}case"tool-result":{const m=t.find(v=>v.toolCallId===d.toolCallId);if(m==null){const v=r?.[d.toolName];if(!(v?.type==="provider"&&v.supportsDeferredResults))throw new Error(`Tool call ${d.toolCallId} not found.`);d.isError?s.push({type:"tool-error",toolCallId:d.toolCallId,toolName:d.toolName,input:void 0,error:d.result,providerExecuted:!0,dynamic:d.dynamic,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...v?.metadata!=null?{toolMetadata:v.metadata}:{}}):s.push({type:"tool-result",toolCallId:d.toolCallId,toolName:d.toolName,input:void 0,output:d.result,providerExecuted:!0,dynamic:d.dynamic,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...v?.metadata!=null?{toolMetadata:v.metadata}:{}});break}d.isError?s.push({type:"tool-error",toolCallId:d.toolCallId,toolName:d.toolName,input:m.input,error:d.result,providerExecuted:!0,dynamic:m.dynamic,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...m.toolMetadata!=null?{toolMetadata:m.toolMetadata}:{}}):s.push({type:"tool-result",toolCallId:d.toolCallId,toolName:d.toolName,input:m.input,output:d.result,providerExecuted:!0,dynamic:m.dynamic,...d.providerMetadata!=null?{providerMetadata:d.providerMetadata}:{},...m.toolMetadata!=null?{toolMetadata:m.toolMetadata}:{}});break}case"tool-approval-request":{const m=t.find(v=>v.toolCallId===d.toolCallId);if(m==null)throw new Ss({toolCallId:d.toolCallId,approvalId:d.approvalId});s.push({type:"tool-approval-request",approvalId:d.approvalId,toolCall:m});break}}for(const d of o)p.has(d.toolCallId)?l.push(d):c.push(d);return[...s,...c,...n,...a,...l]}function Br(e,t){const o=new Headers(e??{});for(const[n,a]of Object.entries(t))o.has(n)||o.set(n,a);return o}function hI({status:e,statusText:t,headers:o,stream:n}){return new Response(n.pipeThrough(new TextEncoderStream),{status:e??200,statusText:t,headers:Br(o,{"content-type":"text/plain; charset=utf-8"})})}function kf({response:e,status:t,statusText:o,headers:n,stream:a}){const r=t??200;o!==void 0?e.writeHead(r,o,n):e.writeHead(r,n);const s=a.getReader();(async()=>{try{for(;;){const{done:c,value:p}=await s.read();if(c)break;e.write(p)||await new Promise(m=>{e.once("drain",m)})}}catch(c){throw c}finally{e.end()}})()}function gI({response:e,status:t,statusText:o,headers:n,stream:a}){kf({response:e,status:t,statusText:o,headers:Object.fromEntries(Br(n,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:a.pipeThrough(new TextEncoderStream)})}function vI({stream:e}){return e.pipeThrough(new TransformStream({transform(t,o){t.type==="text-delta"&&o.enqueue(t.text)}}))}var Sf=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
@@ -80,7 +80,7 @@ ${n}`)}async function cI({secret:e,approvalId:t,toolCallId:o,toolName:n,input:a}
80
80
  `),d=p.pop()??"";r=l?"":d;const m=p.join(`
81
81
  `)+(l&&d?`
82
82
  `+d:"");if(m&&(yield*mk(m,a)),l)break}}finally{o.releaseLock()}}function*mk(e,t){for(const o of fk(e)){if(o.type==="error"){yield{type:"error",error:new Error(Tk(o.error))};return}yield o.type==="text-delta"&&!o.id?{...o,id:t}:o}}function fk(e){const t=[];for(const o of e.split(`
83
- `)){if(!o.startsWith(pc))continue;const n=o.slice(pc.length);if(!(!n||uk.includes(n)))try{const a=JSON.parse(n),r=a?.type;if(typeof r!="string"||!ck.has(r))continue;if(r==="text-delta"){t.push(hk(a));continue}if(r==="finish"){t.push(_k(a));continue}if(r==="tool-call"){t.push(gk(a));continue}if(r==="tool-result"){t.push(vk(a));continue}t.push(a)}catch{}}return t}function hk(e){const t="text-delta",o=typeof e.id=="string"?e.id:"",n=typeof e.text=="string"?e.text:typeof e.delta=="string"?e.delta:"",a="providerMetadata"in e?Wr(e.providerMetadata):Mo;return Hr({type:t,id:o,delta:n},{providerMetadata:a})}function gk(e){const t="tool-call",o=typeof e.toolCallId=="string"?e.toolCallId:"",n=typeof e.toolName=="string"?e.toolName:"",a=e.input??e.args,r=typeof a=="string"?a:typeof a=="object"&&a!==null?JSON.stringify(a):"{}",s=typeof e.providerExecuted=="boolean"?e.providerExecuted:Mo,l=typeof e.dynamic=="boolean"?e.dynamic:Mo,c="providerMetadata"in e?Wr(e.providerMetadata):Mo;return Hr({type:t,toolCallId:o,toolName:n,input:r},{providerExecuted:s,dynamic:l,providerMetadata:c})}function vk(e){const t="tool-result",o=typeof e.toolCallId=="string"?e.toolCallId:"",n=typeof e.toolName=="string"?e.toolName:"",a=yk(e.result??e.output),r=typeof e.isError=="boolean"?e.isError:Mo,s=typeof e.preliminary=="boolean"?e.preliminary:Mo,l=typeof e.dynamic=="boolean"?e.dynamic:Mo,c="providerMetadata"in e?Wr(e.providerMetadata):Mo;return Hr({type:t,toolCallId:o,toolName:n,result:a},{isError:r,preliminary:s,dynamic:l,providerMetadata:c})}function yk(e){return e==null?{}:typeof e=="string"||typeof e=="number"||typeof e=="boolean"||Array.isArray(e)||typeof e=="object"&&e!==null?e:{}}function _k(e){const t="finish",o=e.usage??e.totalUsage??{},n=bk(o.inputTokens??e.inputTokens),a=wk(o.outputTokens??e.outputTokens),r={inputTokens:n,outputTokens:a},s=xk(e.finishReason),l="providerMetadata"in e?Wr(e.providerMetadata):Mo;return Hr({type:t,usage:r,finishReason:s},{providerMetadata:l})}function bk(e){return{total:$f(e),noCache:void 0,cacheRead:void 0,cacheWrite:void 0}}function wk(e){return{total:$f(e),text:void 0,reasoning:void 0}}function $f(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(e!=null&&typeof e=="object"&&"total"in e){const t=e.total;return typeof t=="number"&&Number.isFinite(t)?t:void 0}}function xk(e){return typeof e=="string"&&dk.has(e)?{unified:e,raw:void 0}:e!==null&&typeof e=="object"&&"unified"in e?e:{unified:"stop",raw:void 0}}function Wr(e){if(!Ia(e))return{};const t={};for(const[o,n]of Object.entries(e))Ia(n)&&(t[o]=n);return t}function Tk(e){if(Ia(e)){if(e.message!==void 0)return String(e.message);const t=e.data;if(Ia(t)&&Ia(t.error)&&t.error.message!==void 0)return String(t.error.message)}return"Unknown error"}const Ik="replay/ai-conversations",kk="replay",Sk="0.27.0";function Ck(e){const t=e.baseUrl.replace(/\/$/,""),o=e.accessToken;return{provider:ta.REUNITE_AI_PROVIDER,modelId:"reunite-endpoint",specificationVersion:"v4",supportedUrls:Promise.resolve({}),async doGenerate(){throw new Error("Reunite provider only supports streaming; use stream() instead of generate()")},async doStream(n){const a=`${t}/${Ik}`,r=tk(n),s=await ta.fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream","x-redocly-client":`${kk}/${Sk}`,Cookie:`accessToken=${o};`,...n.headers??{}},body:JSON.stringify(r),signal:n.abortSignal});if(!s.ok){const l=await s.text();throw new Error(`Reunite provider: ${s.status} ${s.statusText}${l?` - ${l}`:""}`)}return{stream:Ek(s,n.abortSignal),request:{body:r},response:{headers:Object.fromEntries(s.headers.entries())}}}}}function Ek(e,t){const o=e.body;if(!o)throw new Error("Reunite provider: response has no body");return new ReadableStream({async start(n){try{for await(const a of pk(o,t))n.enqueue(a)}catch(a){n.enqueue({type:"error",error:a instanceof Error?a:new Error(String(a))})}finally{n.close()}}})}var Mk="4.0.3",Rk=K(()=>W(u({error:u({code:T().nullable(),message:i(),status:i()})}))),Qt=Lt({errorSchema:Rk,errorToMessage:e=>e.error.message}),Ok=ce([u({text:i()}),u({inlineData:u({mimeType:i(),data:i()})}),u({fileData:u({fileUri:i(),mimeType:i()})})]),Ak=K(()=>W(u({outputDimensionality:T().optional(),taskType:ee(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:A(A(Ok).min(1).nullable()).optional()}))),Nk=class Pf{constructor(t,o){this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=t,this.config=o}static[zt](t){return Zt({modelId:t.modelId,config:t.config})}static[Ft](t){return new Pf(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:t,headers:o,abortSignal:n,providerOptions:a}){const r=await tt({provider:"google",providerOptions:a,schema:Ak});if(t.length>this.maxEmbeddingsPerCall)throw new kd({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:t});const s=ze(this.config.headers?await De(this.config.headers):void 0,o),l=r?.content;if(l!=null&&l.length!==t.length)throw new Error(`The number of multimodal content entries (${l.length}) must match the number of values (${t.length}).`);if(t.length===1){const m=l?.[0],v=t[0]?[{text:t[0]}]:[],y=m!=null?[...v,...m]:[{text:t[0]}],{responseHeaders:g,value:b,rawValue:x}=await Je({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:s,body:{model:`models/${this.modelId}`,content:{parts:y},outputDimensionality:r?.outputDimensionality,taskType:r?.taskType},failedResponseHandler:Qt,successfulResponseHandler:Fe(Pk),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:[b.embedding.values],usage:void 0,response:{headers:g,body:x}}}const{responseHeaders:c,value:p,rawValue:d}=await Je({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:s,body:{requests:t.map((m,v)=>{const y=l?.[v],g=m?[{text:m}]:[];return{model:`models/${this.modelId}`,content:{role:"user",parts:y!=null?[...g,...y]:[{text:m}]},outputDimensionality:r?.outputDimensionality,taskType:r?.taskType}})},failedResponseHandler:Qt,successfulResponseHandler:Fe($k),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:p.embeddings.map(m=>m.values),usage:void 0,response:{headers:c,body:d}}}},$k=K(()=>W(u({embeddings:A(u({values:A(T())}))}))),Pk=K(()=>W(u({embedding:u({values:A(T())})})));function mc(e){var t,o,n,a;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};const r=(t=e.promptTokenCount)!=null?t:0,s=(o=e.candidatesTokenCount)!=null?o:0,l=(n=e.cachedContentTokenCount)!=null?n:0,c=(a=e.thoughtsTokenCount)!=null?a:0;return{inputTokens:{total:r,noCache:r-l,cacheRead:l,cacheWrite:void 0},outputTokens:{total:s+c,text:s,reasoning:c},raw:e}}function uo(e,t=!0){if(e==null)return;if(Dk(e))return t?void 0:typeof e=="object"&&e.description?{type:"object",description:e.description}:{type:"object"};if(typeof e=="boolean")return{type:"boolean",properties:{}};const{type:o,description:n,required:a,properties:r,items:s,allOf:l,anyOf:c,oneOf:p,format:d,const:m,minLength:v,enum:y}=e,g={};if(n&&(g.description=n),a&&(g.required=a),d&&(g.format=d),m!==void 0&&(g.enum=[m]),o)if(Array.isArray(o)){const b=o.includes("null"),x=o.filter(w=>w!=="null");x.length===0?g.type="null":(g.anyOf=x.map(w=>({type:w})),b&&(g.nullable=!0))}else g.type=o;if(y!==void 0&&(g.enum=y),r!=null&&(g.properties=Object.entries(r).reduce((b,[x,w])=>(b[x]=uo(w,!1),b),{})),s&&(g.items=Array.isArray(s)?s.map(b=>uo(b,!1)):uo(s,!1)),l&&(g.allOf=l.map(b=>uo(b,!1))),c)if(c.some(b=>typeof b=="object"&&b?.type==="null")){const b=c.filter(x=>!(typeof x=="object"&&x?.type==="null"));if(b.length===1){const x=uo(b[0],!1);typeof x=="object"&&(g.nullable=!0,Object.assign(g,x))}else g.anyOf=b.map(x=>uo(x,!1)),g.nullable=!0}else g.anyOf=c.map(b=>uo(b,!1));return p&&(g.oneOf=p.map(b=>uo(b,!1))),v!==void 0&&(g.minLength=v),g}function Dk(e){return e!=null&&typeof e=="object"&&e.type==="object"&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}var qk="skip_thought_signature_validator",jk=/^data:([^;,]+);base64,(.+)$/s;function Uk(e){const t=jk.exec(e);if(t!=null)return{mediaType:t[1],data:t[2]}}function Lk(e){const t=Uk(e);if(t!=null)return{inlineData:{mimeType:t.mediaType,data:t.data}}}function zk(e,t,o,n){const a=[],r=[];for(const s of o)switch(s.type){case"text":{r.push(s.text);break}case"file":{if(s.data.type==="data")a.push({inlineData:{mimeType:$t({part:s}),data:lt(s.data.data)}});else if(s.data.type==="url"){const l=Lk(s.data.url.toString());l!=null?a.push(l):r.push(JSON.stringify(s))}else r.push(JSON.stringify(s));break}default:{r.push(JSON.stringify(s));break}}e.push({functionResponse:{...n!=null?{id:n}:{},name:t,response:{name:t,content:r.length>0?r.join(`
83
+ `)){if(!o.startsWith(pc))continue;const n=o.slice(pc.length);if(!(!n||uk.includes(n)))try{const a=JSON.parse(n),r=a?.type;if(typeof r!="string"||!ck.has(r))continue;if(r==="text-delta"){t.push(hk(a));continue}if(r==="finish"){t.push(_k(a));continue}if(r==="tool-call"){t.push(gk(a));continue}if(r==="tool-result"){t.push(vk(a));continue}t.push(a)}catch{}}return t}function hk(e){const t="text-delta",o=typeof e.id=="string"?e.id:"",n=typeof e.text=="string"?e.text:typeof e.delta=="string"?e.delta:"",a="providerMetadata"in e?Wr(e.providerMetadata):Mo;return Hr({type:t,id:o,delta:n},{providerMetadata:a})}function gk(e){const t="tool-call",o=typeof e.toolCallId=="string"?e.toolCallId:"",n=typeof e.toolName=="string"?e.toolName:"",a=e.input??e.args,r=typeof a=="string"?a:typeof a=="object"&&a!==null?JSON.stringify(a):"{}",s=typeof e.providerExecuted=="boolean"?e.providerExecuted:Mo,l=typeof e.dynamic=="boolean"?e.dynamic:Mo,c="providerMetadata"in e?Wr(e.providerMetadata):Mo;return Hr({type:t,toolCallId:o,toolName:n,input:r},{providerExecuted:s,dynamic:l,providerMetadata:c})}function vk(e){const t="tool-result",o=typeof e.toolCallId=="string"?e.toolCallId:"",n=typeof e.toolName=="string"?e.toolName:"",a=yk(e.result??e.output),r=typeof e.isError=="boolean"?e.isError:Mo,s=typeof e.preliminary=="boolean"?e.preliminary:Mo,l=typeof e.dynamic=="boolean"?e.dynamic:Mo,c="providerMetadata"in e?Wr(e.providerMetadata):Mo;return Hr({type:t,toolCallId:o,toolName:n,result:a},{isError:r,preliminary:s,dynamic:l,providerMetadata:c})}function yk(e){return e==null?{}:typeof e=="string"||typeof e=="number"||typeof e=="boolean"||Array.isArray(e)||typeof e=="object"&&e!==null?e:{}}function _k(e){const t="finish",o=e.usage??e.totalUsage??{},n=bk(o.inputTokens??e.inputTokens),a=wk(o.outputTokens??e.outputTokens),r={inputTokens:n,outputTokens:a},s=xk(e.finishReason),l="providerMetadata"in e?Wr(e.providerMetadata):Mo;return Hr({type:t,usage:r,finishReason:s},{providerMetadata:l})}function bk(e){return{total:$f(e),noCache:void 0,cacheRead:void 0,cacheWrite:void 0}}function wk(e){return{total:$f(e),text:void 0,reasoning:void 0}}function $f(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(e!=null&&typeof e=="object"&&"total"in e){const t=e.total;return typeof t=="number"&&Number.isFinite(t)?t:void 0}}function xk(e){return typeof e=="string"&&dk.has(e)?{unified:e,raw:void 0}:e!==null&&typeof e=="object"&&"unified"in e?e:{unified:"stop",raw:void 0}}function Wr(e){if(!Ia(e))return{};const t={};for(const[o,n]of Object.entries(e))Ia(n)&&(t[o]=n);return t}function Tk(e){if(Ia(e)){if(e.message!==void 0)return String(e.message);const t=e.data;if(Ia(t)&&Ia(t.error)&&t.error.message!==void 0)return String(t.error.message)}return"Unknown error"}const Ik="replay/ai-conversations",kk="replay",Sk="0.27.1";function Ck(e){const t=e.baseUrl.replace(/\/$/,""),o=e.accessToken;return{provider:ta.REUNITE_AI_PROVIDER,modelId:"reunite-endpoint",specificationVersion:"v4",supportedUrls:Promise.resolve({}),async doGenerate(){throw new Error("Reunite provider only supports streaming; use stream() instead of generate()")},async doStream(n){const a=`${t}/${Ik}`,r=tk(n),s=await ta.fetch(a,{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream","x-redocly-client":`${kk}/${Sk}`,Cookie:`accessToken=${o};`,...n.headers??{}},body:JSON.stringify(r),signal:n.abortSignal});if(!s.ok){const l=await s.text();throw new Error(`Reunite provider: ${s.status} ${s.statusText}${l?` - ${l}`:""}`)}return{stream:Ek(s,n.abortSignal),request:{body:r},response:{headers:Object.fromEntries(s.headers.entries())}}}}}function Ek(e,t){const o=e.body;if(!o)throw new Error("Reunite provider: response has no body");return new ReadableStream({async start(n){try{for await(const a of pk(o,t))n.enqueue(a)}catch(a){n.enqueue({type:"error",error:a instanceof Error?a:new Error(String(a))})}finally{n.close()}}})}var Mk="4.0.3",Rk=K(()=>W(u({error:u({code:T().nullable(),message:i(),status:i()})}))),Qt=Lt({errorSchema:Rk,errorToMessage:e=>e.error.message}),Ok=ce([u({text:i()}),u({inlineData:u({mimeType:i(),data:i()})}),u({fileData:u({fileUri:i(),mimeType:i()})})]),Ak=K(()=>W(u({outputDimensionality:T().optional(),taskType:ee(["SEMANTIC_SIMILARITY","CLASSIFICATION","CLUSTERING","RETRIEVAL_DOCUMENT","RETRIEVAL_QUERY","QUESTION_ANSWERING","FACT_VERIFICATION","CODE_RETRIEVAL_QUERY"]).optional(),content:A(A(Ok).min(1).nullable()).optional()}))),Nk=class Pf{constructor(t,o){this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0,this.modelId=t,this.config=o}static[zt](t){return Zt({modelId:t.modelId,config:t.config})}static[Ft](t){return new Pf(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:t,headers:o,abortSignal:n,providerOptions:a}){const r=await tt({provider:"google",providerOptions:a,schema:Ak});if(t.length>this.maxEmbeddingsPerCall)throw new kd({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:t});const s=ze(this.config.headers?await De(this.config.headers):void 0,o),l=r?.content;if(l!=null&&l.length!==t.length)throw new Error(`The number of multimodal content entries (${l.length}) must match the number of values (${t.length}).`);if(t.length===1){const m=l?.[0],v=t[0]?[{text:t[0]}]:[],y=m!=null?[...v,...m]:[{text:t[0]}],{responseHeaders:g,value:b,rawValue:x}=await Je({url:`${this.config.baseURL}/models/${this.modelId}:embedContent`,headers:s,body:{model:`models/${this.modelId}`,content:{parts:y},outputDimensionality:r?.outputDimensionality,taskType:r?.taskType},failedResponseHandler:Qt,successfulResponseHandler:Fe(Pk),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:[b.embedding.values],usage:void 0,response:{headers:g,body:x}}}const{responseHeaders:c,value:p,rawValue:d}=await Je({url:`${this.config.baseURL}/models/${this.modelId}:batchEmbedContents`,headers:s,body:{requests:t.map((m,v)=>{const y=l?.[v],g=m?[{text:m}]:[];return{model:`models/${this.modelId}`,content:{role:"user",parts:y!=null?[...g,...y]:[{text:m}]},outputDimensionality:r?.outputDimensionality,taskType:r?.taskType}})},failedResponseHandler:Qt,successfulResponseHandler:Fe($k),abortSignal:n,fetch:this.config.fetch});return{warnings:[],embeddings:p.embeddings.map(m=>m.values),usage:void 0,response:{headers:c,body:d}}}},$k=K(()=>W(u({embeddings:A(u({values:A(T())}))}))),Pk=K(()=>W(u({embedding:u({values:A(T())})})));function mc(e){var t,o,n,a;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};const r=(t=e.promptTokenCount)!=null?t:0,s=(o=e.candidatesTokenCount)!=null?o:0,l=(n=e.cachedContentTokenCount)!=null?n:0,c=(a=e.thoughtsTokenCount)!=null?a:0;return{inputTokens:{total:r,noCache:r-l,cacheRead:l,cacheWrite:void 0},outputTokens:{total:s+c,text:s,reasoning:c},raw:e}}function uo(e,t=!0){if(e==null)return;if(Dk(e))return t?void 0:typeof e=="object"&&e.description?{type:"object",description:e.description}:{type:"object"};if(typeof e=="boolean")return{type:"boolean",properties:{}};const{type:o,description:n,required:a,properties:r,items:s,allOf:l,anyOf:c,oneOf:p,format:d,const:m,minLength:v,enum:y}=e,g={};if(n&&(g.description=n),a&&(g.required=a),d&&(g.format=d),m!==void 0&&(g.enum=[m]),o)if(Array.isArray(o)){const b=o.includes("null"),x=o.filter(w=>w!=="null");x.length===0?g.type="null":(g.anyOf=x.map(w=>({type:w})),b&&(g.nullable=!0))}else g.type=o;if(y!==void 0&&(g.enum=y),r!=null&&(g.properties=Object.entries(r).reduce((b,[x,w])=>(b[x]=uo(w,!1),b),{})),s&&(g.items=Array.isArray(s)?s.map(b=>uo(b,!1)):uo(s,!1)),l&&(g.allOf=l.map(b=>uo(b,!1))),c)if(c.some(b=>typeof b=="object"&&b?.type==="null")){const b=c.filter(x=>!(typeof x=="object"&&x?.type==="null"));if(b.length===1){const x=uo(b[0],!1);typeof x=="object"&&(g.nullable=!0,Object.assign(g,x))}else g.anyOf=b.map(x=>uo(x,!1)),g.nullable=!0}else g.anyOf=c.map(b=>uo(b,!1));return p&&(g.oneOf=p.map(b=>uo(b,!1))),v!==void 0&&(g.minLength=v),g}function Dk(e){return e!=null&&typeof e=="object"&&e.type==="object"&&(e.properties==null||Object.keys(e.properties).length===0)&&!e.additionalProperties}var qk="skip_thought_signature_validator",jk=/^data:([^;,]+);base64,(.+)$/s;function Uk(e){const t=jk.exec(e);if(t!=null)return{mediaType:t[1],data:t[2]}}function Lk(e){const t=Uk(e);if(t!=null)return{inlineData:{mimeType:t.mediaType,data:t.data}}}function zk(e,t,o,n){const a=[],r=[];for(const s of o)switch(s.type){case"text":{r.push(s.text);break}case"file":{if(s.data.type==="data")a.push({inlineData:{mimeType:$t({part:s}),data:lt(s.data.data)}});else if(s.data.type==="url"){const l=Lk(s.data.url.toString());l!=null?a.push(l):r.push(JSON.stringify(s))}else r.push(JSON.stringify(s));break}default:{r.push(JSON.stringify(s));break}}e.push({functionResponse:{...n!=null?{id:n}:{},name:t,response:{name:t,content:r.length>0?r.join(`
84
84
  `):"Tool executed successfully."},...a.length>0?{parts:a}:{}}})}function Fk(e,t,o,n){for(const a of o)switch(a.type){case"text":e.push({functionResponse:{...n!=null?{id:n}:{},name:t,response:{name:t,content:a.text}}});break;case"file":{a.data.type==="data"&&co(a.mediaType)==="image"?e.push({inlineData:{mimeType:$t({part:a}),data:lt(a.data.data)}},{text:"Tool executed successfully and returned this image as a response"}):e.push({text:JSON.stringify(a)});break}default:e.push({text:JSON.stringify(a)});break}}function Zk(e,t){var o,n,a,r,s;const l=[],c=[];let p=!0;const d=(o=t?.isGemmaModel)!=null?o:!1,m=(n=t?.isGemini3Model)!=null?n:!1,v=t?.onWarning,y=(a=t?.providerOptionsNames)!=null?a:["google"],g=!y.includes("google"),b=(r=t?.supportsFunctionResponseParts)!=null?r:!0;let x=!1;const w=[],_=h=>(w.push(h),x=!0,qk),k=h=>{var S,E,O,R,C;for(const P of y){const H=(S=h.providerOptions)==null?void 0:S[P];if(H!=null)return H}return g?(E=h.providerOptions)==null?void 0:E.google:(C=(O=h.providerOptions)==null?void 0:O.googleVertex)!=null?C:(R=h.providerOptions)==null?void 0:R.vertex};for(const{role:h,content:S}of e)switch(h){case"system":{if(!p)throw new pt({functionality:"system messages are only supported at the beginning of the conversation"});l.push({text:S});break}case"user":{p=!1;const E=[];for(const O of S)switch(O.type){case"text":{E.push({text:O.text});break}case"file":{switch(O.data.type){case"url":{E.push({fileData:{mimeType:$t({part:O}),fileUri:O.data.url.toString()}});break}case"reference":{if(g)throw new pt({functionality:"file parts with provider references"});E.push({fileData:{mimeType:$t({part:O}),fileUri:Ko({reference:O.data.reference,provider:"google"})}});break}case"text":{E.push({inlineData:{mimeType:Go(O.mediaType)?O.mediaType:"text/plain",data:lt(new TextEncoder().encode(O.data.text))}});break}case"data":{E.push({inlineData:{mimeType:$t({part:O}),data:lt(O.data.data)}});break}}break}}c.push({role:"user",parts:E});break}case"assistant":{p=!1,c.push({role:"model",parts:S.map(E=>{const O=k(E),R=O?.thoughtSignature!=null?String(O.thoughtSignature):void 0;switch(E.type){case"text":return E.text.length===0?void 0:{text:E.text,thoughtSignature:R};case"reasoning":return E.text.length===0?void 0:{text:E.text,thought:!0,thoughtSignature:R};case"reasoning-file":{switch(E.data.type){case"url":throw new pt({functionality:"File data URLs in assistant messages are not supported"});case"data":return{inlineData:{mimeType:E.mediaType,data:lt(E.data.data)},thought:!0,thoughtSignature:R}}break}case"file":{switch(E.data.type){case"url":throw new pt({functionality:"File data URLs in assistant messages are not supported"});case"reference":{if(g)throw new pt({functionality:"file parts with provider references"});return{fileData:{mimeType:E.mediaType,fileUri:Ko({reference:E.data.reference,provider:"google"})},...O?.thought===!0?{thought:!0}:{},thoughtSignature:R}}case"text":return{inlineData:{mimeType:Go(E.mediaType)?E.mediaType:"text/plain",data:lt(new TextEncoder().encode(E.data.text))},...O?.thought===!0?{thought:!0}:{},thoughtSignature:R};case"data":return{inlineData:{mimeType:E.mediaType,data:lt(E.data.data)},...O?.thought===!0?{thought:!0}:{},thoughtSignature:R}}break}case"tool-call":{const C=O?.serverToolCallId!=null?String(O.serverToolCallId):void 0,P=O?.serverToolType!=null?String(O.serverToolType):void 0,H=R??(m?_(E.toolName):void 0);return C&&P?{toolCall:{toolType:P,args:typeof E.input=="string"?JSON.parse(E.input):E.input,id:C},thoughtSignature:H}:{functionCall:{...E.toolCallId!=null?{id:E.toolCallId}:{},name:E.toolName,args:E.input},thoughtSignature:H}}case"tool-result":{const C=O?.serverToolCallId!=null?String(O.serverToolCallId):void 0,P=O?.serverToolType!=null?String(O.serverToolType):void 0;return C&&P?{toolResponse:{toolType:P,response:E.output.type==="json"?E.output.value:{},id:C},thoughtSignature:R}:void 0}}}).filter(E=>E!==void 0)});break}case"tool":{p=!1;const E=[];for(const O of S){if(O.type==="tool-approval-response")continue;const R=k(O),C=R?.serverToolCallId!=null?String(R.serverToolCallId):void 0,P=R?.serverToolType!=null?String(R.serverToolType):void 0;if(C&&P){const Y=R?.thoughtSignature!=null?String(R.thoughtSignature):void 0;if(c.length>0){const z=c[c.length-1];if(z.role==="model"){z.parts.push({toolResponse:{toolType:P,response:O.output.type==="json"?O.output.value:{},id:C},thoughtSignature:Y});continue}}}const H=O.output;H.type==="content"?b?zk(E,O.toolName,H.value,O.toolCallId):Fk(E,O.toolName,H.value,O.toolCallId):E.push({functionResponse:{...O.toolCallId!=null?{id:O.toolCallId}:{},name:O.toolName,response:{name:O.toolName,content:H.type==="execution-denied"?(s=H.reason)!=null?s:"Tool call execution denied.":H.value}}})}c.push({role:"user",parts:E});break}}if(d&&l.length>0&&c.length>0&&c[0].role==="user"){const h=l.map(S=>S.text).join(`
85
85
 
86
86
  `);c[0].parts.unshift({text:h+`
@@ -1,4 +1,4 @@
1
- import { F as nd, aO as zh, V as Kr } from "./replay-index-Bc5RHu5L.js";
1
+ import { F as nd, aO as zh, V as Kr } from "./replay-index-B2RZCGOF.js";
2
2
  var ad = "vercel.ai.error", Fh = Symbol.for(ad), Js, Ks, ve = class rd extends (Ks = Error, Js = Fh, Ks) {
3
3
  /**
4
4
  * Creates an AI SDK Error.
@@ -13622,7 +13622,7 @@ async function KT() {
13622
13622
  if (hf())
13623
13623
  return fi == null && (fi = import(
13624
13624
  /* webpackIgnore: true */
13625
- "./replay-index-Bc5RHu5L.js"
13625
+ "./replay-index-B2RZCGOF.js"
13626
13626
  ).then((e) => e.bh).catch(() => {
13627
13627
  })), fi;
13628
13628
  }
@@ -20219,7 +20219,7 @@ function dk(e) {
20219
20219
  }
20220
20220
  return "Unknown error";
20221
20221
  }
20222
- const pk = "replay/ai-conversations", mk = "replay", fk = "0.27.0";
20222
+ const pk = "replay/ai-conversations", mk = "replay", fk = "0.27.1";
20223
20223
  function hk(e) {
20224
20224
  const t = e.baseUrl.replace(/\/$/, ""), o = e.accessToken;
20225
20225
  return {
@@ -1,4 +1,4 @@
1
- "use strict";const r=require("./replay-index-CepJ5Z0m.js"),y=4e3;function c(t,e=`
1
+ "use strict";const r=require("./replay-index-D85qPcEF.js"),y=4e3;function c(t,e=`
2
2
  `){return t.length===0?"":t.filter(Boolean).join(e)}function b(t){return t.map(e=>c([e.description!=null?`Description: ${e.description}`:null,`Status Code: ${e.statusCode}`,e.schemaProperties!=null?`Schema Properties: ${e.schemaProperties}`:null],", ")).join(`
3
3
  `)}function g(t){return t.map(e=>c([`Name: ${e.name}`,`In: ${e.in}`,`Required: ${e.required}`,e.description!=null?`Description: ${e.description}`:null,e.example!=null?`Example: ${e.example}`:null,e.pattern!=null?`Pattern: ${e.pattern}`:null,e.type!=null?`Type: ${e.type}`:null],", ")).join(`
4
4
  `)}function w(t){const e=[];for(const s of t){const o=[];for(const i of Object.keys(s)){const l=s[i];o.push(`${i}=${l}`)}const n=c(o,"; ");e.push(n)}return c(e)}function S(t){if("key"in t){const s=[`id=${t.id}`,`value=${t.value}`,`active=${t.active}`];return c(s," ")}const e=[`reference=${t.reference}`,`value=${t.value??""}`,`active=${t.active}`];return c(e," ")}function $(t){const e=[],s=[["queryParameters",t.queryParameters],["headers",t.headers],["cookies",t.cookies],["pathParameters",t.pathParameters]];for(const[o,n]of s)if(n?.length){const i=n.map(l=>` ${S(l)}`);e.push(`${o}:
@@ -1,4 +1,4 @@
1
- import { a8 as i, aM as c, aN as m } from "./replay-index-Bc5RHu5L.js";
1
+ import { a8 as i, aM as c, aN as m } from "./replay-index-B2RZCGOF.js";
2
2
  const C = 4e3;
3
3
  function l(t, e = `
4
4
  `) {