eve 0.76.3 → 0.78.0
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.
- package/CHANGELOG.md +43 -0
- package/dist/src/channel/adapter.d.ts +13 -4
- package/dist/src/channel/channel-address.js +1 -1
- package/dist/src/channel/send-input.d.ts +6 -2
- package/dist/src/channel/send-input.js +1 -1
- package/dist/src/channel/session.js +1 -1
- package/dist/src/chunks/{use-eve-agent-BtKWTEpm.js → use-eve-agent-B8brxCk-.js} +46 -28
- package/dist/src/chunks/{use-eve-agent-jI6EsYAu.js → use-eve-agent-BSYe_Re7.js} +46 -28
- package/dist/src/cli/commands/vercel-non-interactive.d.ts +5 -3
- package/dist/src/cli/commands/vercel-non-interactive.js +1 -1
- package/dist/src/client/eve-agent-store.d.ts +2 -2
- package/dist/src/client/message-response.d.ts +2 -0
- package/dist/src/client/message-response.js +1 -1
- package/dist/src/client/session.js +1 -1
- package/dist/src/compiled/.vendor-stamp.json +9 -9
- package/dist/src/compiled/@ai-sdk/anthropic/index.d.ts +6 -1
- package/dist/src/compiled/@ai-sdk/anthropic/index.js +1 -1
- package/dist/src/compiled/@ai-sdk/google/index.d.ts +16 -3
- package/dist/src/compiled/@ai-sdk/google/index.js +6 -6
- package/dist/src/compiled/@ai-sdk/mcp/index.d.ts +681 -348
- package/dist/src/compiled/@ai-sdk/mcp/index.js +1 -1
- package/dist/src/compiled/@ai-sdk/openai/index.d.ts +56 -42
- package/dist/src/compiled/@ai-sdk/openai/index.js +5 -3
- package/dist/src/compiled/@ai-sdk/otel/index.js +3 -3
- package/dist/src/compiled/@ai-sdk/provider/index.d.ts +49 -15
- package/dist/src/compiled/@ai-sdk/provider/index.js +1 -1
- package/dist/src/compiled/@ai-sdk/provider-utils/index.d.ts +4 -1
- package/dist/src/compiled/_chunks/workflow/{dist-DXLdlucM.js → dist-C8k3N3BQ.js} +2 -4
- package/dist/src/compiled/_chunks/workflow/dist-DsNhwdzf.js +1 -0
- package/dist/src/compiled/_chunks/workflow/experimental-decision-DlvnsBD-.js +3 -0
- package/dist/src/compiler/extension-compatibility.d.ts +18 -18
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/compiler/normalize-agent-config.js +1 -1
- package/dist/src/context/dynamic-model-lifecycle.js +1 -1
- package/dist/src/context/keys.d.ts +16 -0
- package/dist/src/context/keys.js +1 -1
- package/dist/src/evals/judge.js +1 -1
- package/dist/src/eve-channel/index.js +1 -1
- package/dist/src/eve-channel/types.d.ts +14 -1
- package/dist/src/execution/agent-sessions/steps.d.ts +2 -0
- package/dist/src/execution/agent-sessions/steps.js +1 -1
- package/dist/src/execution/cancelled-model-call-batch.js +1 -1
- package/dist/src/execution/catalog/connection-entry.js +1 -1
- package/dist/src/execution/catalog/search.js +1 -1
- package/dist/src/execution/catalog/step-catalog.d.ts +12 -3
- package/dist/src/execution/catalog/step-catalog.js +1 -1
- package/dist/src/execution/coordination-dispatch-shared.d.ts +1 -2
- package/dist/src/execution/coordination-dispatch-shared.js +1 -1
- package/dist/src/execution/coordination-dispatch-step.js +1 -1
- package/dist/src/execution/dynamic-workflow/tool.js +1 -1
- package/dist/src/execution/publish-session-events.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker-container.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker.js +1 -1
- package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
- package/dist/src/execution/sandbox/bindings/just-bash.d.ts +1 -1
- package/dist/src/execution/sandbox/bindings/just-bash.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +1 -1
- package/dist/src/execution/sandbox/bindings/microsandbox-runtime.js +1 -1
- package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
- package/dist/src/execution/sandbox/read-file.d.ts +5 -5
- package/dist/src/execution/sandbox/read-file.js +2 -2
- package/dist/src/execution/sandbox/session.d.ts +6 -0
- package/dist/src/execution/sandbox/session.js +2 -2
- package/dist/src/execution/session/active-turn.d.ts +9 -1
- package/dist/src/execution/session/active-turn.js +1 -1
- package/dist/src/execution/session/checkpoint-migrations.js +1 -1
- package/dist/src/execution/session/end-sandbox-step.js +1 -1
- package/dist/src/execution/session/handoff.d.ts +1 -1
- package/dist/src/execution/session/handoff.js +1 -1
- package/dist/src/execution/session/next-input.js +1 -1
- package/dist/src/execution/session/turn-step.js +1 -1
- package/dist/src/execution/session/turn.d.ts +11 -4
- package/dist/src/execution/session/turn.js +1 -1
- package/dist/src/execution/session-inbox/inbox.d.ts +3 -0
- package/dist/src/execution/session-inbox/inbox.js +1 -1
- package/dist/src/execution/session-workflow-tool-run.d.ts +14 -12
- package/dist/src/execution/session-workflow-tool-run.js +1 -1
- package/dist/src/execution/tasks/start.d.ts +14 -1
- package/dist/src/execution/tasks/start.js +1 -1
- package/dist/src/execution/tasks/steps.d.ts +7 -4
- package/dist/src/execution/tasks/steps.js +1 -1
- package/dist/src/execution/tools/agent-router-workflow.js +1 -1
- package/dist/src/execution/tools/workflow/apply-run-messages-step.d.ts +20 -0
- package/dist/src/execution/tools/workflow/apply-run-messages-step.js +1 -0
- package/dist/src/execution/tools/workflow/ask.d.ts +0 -1
- package/dist/src/execution/tools/workflow/ask.js +1 -1
- package/dist/src/execution/tools/workflow/interrupt.d.ts +5 -2
- package/dist/src/execution/tools/workflow/interrupt.js +1 -1
- package/dist/src/execution/tools/workflow/messages.d.ts +14 -0
- package/dist/src/execution/tools/workflow/messages.js +1 -1
- package/dist/src/execution/tools/workflow/owner.d.ts +18 -6
- package/dist/src/execution/tools/workflow/owner.js +1 -1
- package/dist/src/execution/tools/workflow/start.d.ts +10 -0
- package/dist/src/execution/tools/workflow/start.js +1 -1
- package/dist/src/execution/tools/workflow/step.js +1 -1
- package/dist/src/execution/tools/workflow/workflow-owner-blocking.d.ts +12 -0
- package/dist/src/execution/tools/workflow/workflow-owner-blocking.js +1 -1
- package/dist/src/execution/tools/workflow/workflow.js +1 -1
- package/dist/src/execution/web-fetch/request.js +1 -1
- package/dist/src/execution/workflow-runtime.d.ts +18 -3
- package/dist/src/execution/workflow-runtime.js +1 -1
- package/dist/src/harness/attachment-staging.d.ts +13 -12
- package/dist/src/harness/attachment-staging.js +1 -1
- package/dist/src/harness/compaction/step.js +1 -1
- package/dist/src/harness/emission.js +1 -1
- package/dist/src/harness/hitl/approvals.d.ts +4 -7
- package/dist/src/harness/hitl/approvals.js +1 -1
- package/dist/src/harness/hitl/approved-calls.d.ts +11 -0
- package/dist/src/harness/hitl/approved-calls.js +1 -1
- package/dist/src/harness/hitl/candidates.d.ts +0 -4
- package/dist/src/harness/hitl/candidates.js +1 -1
- package/dist/src/harness/hitl/delivery.d.ts +0 -1
- package/dist/src/harness/hitl/delivery.js +1 -1
- package/dist/src/harness/hitl/index.d.ts +2 -2
- package/dist/src/harness/hitl/index.js +1 -1
- package/dist/src/harness/hitl/intake.d.ts +2 -2
- package/dist/src/harness/hitl/intake.js +1 -1
- package/dist/src/harness/model-call/call.js +1 -1
- package/dist/src/harness/model-call/errors.d.ts +10 -0
- package/dist/src/harness/model-call/errors.js +1 -1
- package/dist/src/harness/model-call/run.js +1 -1
- package/dist/src/harness/session-machine/state.d.ts +0 -2
- package/dist/src/harness/session-machine/transitions.js +1 -1
- package/dist/src/harness/session-machine/view.d.ts +0 -3
- package/dist/src/harness/session-machine/view.js +1 -1
- package/dist/src/harness/step/after-model.js +1 -1
- package/dist/src/harness/token-estimate.js +1 -1
- package/dist/src/harness/tool-loop.js +1 -1
- package/dist/src/harness/tools.js +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/application/stamped-package-version.js +1 -1
- package/dist/src/internal/attachments/data.d.ts +29 -10
- package/dist/src/internal/attachments/data.js +1 -1
- package/dist/src/internal/attachments/errors.d.ts +2 -2
- package/dist/src/internal/attachments/media-metadata.d.ts +15 -0
- package/dist/src/internal/attachments/media-metadata.js +1 -1
- package/dist/src/internal/attachments/public-link.d.ts +5 -0
- package/dist/src/internal/attachments/public-link.js +1 -0
- package/dist/src/internal/attachments/sandbox-refs.d.ts +7 -6
- package/dist/src/internal/attachments/sandbox-refs.js +1 -1
- package/dist/src/internal/attachments/url-refs.js +1 -1
- package/dist/src/protocol/message.d.ts +7 -0
- package/dist/src/protocol/message.js +2 -2
- package/dist/src/public/channels/attachment-error.d.ts +14 -0
- package/dist/src/public/channels/attachment-error.js +1 -0
- package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +1 -1
- package/dist/src/public/channels/discord/defaults.js +1 -1
- package/dist/src/public/channels/github/defaults.js +1 -1
- package/dist/src/public/channels/index.d.ts +2 -0
- package/dist/src/public/channels/index.js +1 -1
- package/dist/src/public/channels/linear/defaults.js +1 -1
- package/dist/src/public/channels/slack/api.d.ts +10 -0
- package/dist/src/public/channels/slack/api.js +1 -1
- package/dist/src/public/channels/slack/approval-cards.js +1 -1
- package/dist/src/public/channels/slack/attachments.d.ts +29 -19
- package/dist/src/public/channels/slack/attachments.js +1 -1
- package/dist/src/public/channels/slack/defaults.js +1 -1
- package/dist/src/public/channels/slack/inbound.d.ts +6 -0
- package/dist/src/public/channels/slack/inbound.js +1 -1
- package/dist/src/public/channels/slack/interaction-cards.d.ts +6 -0
- package/dist/src/public/channels/slack/interaction-cards.js +1 -1
- package/dist/src/public/channels/slack/interactions.js +1 -1
- package/dist/src/public/channels/slack/slackChannel.js +1 -1
- package/dist/src/public/channels/teams/defaults.js +1 -1
- package/dist/src/public/channels/teams/teamsChannel.js +1 -1
- package/dist/src/public/channels/telegram/defaults.js +1 -1
- package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
- package/dist/src/public/channels/twilio/defaults.js +1 -1
- package/dist/src/public/definitions/channel.js +1 -1
- package/dist/src/runtime/channels/registry.js +1 -1
- package/dist/src/setup/scaffold/create/add-to-project.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +2 -2
- package/dist/src/setup/scaffold/update/web-options.js +1 -1
- package/dist/src/shared/agent-definition.d.ts +2 -1
- package/dist/src/shared/channel-definition.d.ts +16 -4
- package/dist/src/svelte/index.d.ts +0 -1
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/tools/provided/ask-question-workflow.js +1 -1
- package/dist/src/tools/provided/read-file.d.ts +3 -2
- package/dist/src/tools/provided/read-file.js +2 -2
- package/dist/src/tools/provided/sleep-workflow.js +1 -1
- package/dist/src/vue/index.d.ts +0 -1
- package/dist/src/vue/index.js +1 -1
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/agent-config.md +12 -4
- package/docs/channels/chat-sdk.mdx +1 -1
- package/docs/channels/custom.mdx +30 -3
- package/docs/channels/eve.mdx +34 -0
- package/docs/channels/slack.mdx +5 -1
- package/docs/concepts/built-in-tools.md +10 -10
- package/docs/concepts/sessions-runs-and-streaming.md +2 -2
- package/docs/evals/overview.mdx +1 -1
- package/docs/guides/client/streaming.mdx +1 -1
- package/docs/guides/dynamic-capabilities.md +6 -2
- package/docs/memory/custom-provider.md +3 -1
- package/docs/sandbox/index.mdx +10 -4
- package/docs/tools/human-in-the-loop.md +1 -1
- package/docs/tools/overview.mdx +1 -1
- package/package.json +11 -11
- package/dist/src/compiled/_chunks/workflow/experimental-decision-BrfWf6-n.js +0 -3
- package/dist/src/context/caller-scope.d.ts +0 -7
- package/dist/src/context/caller-scope.js +0 -1
- package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.d.ts +0 -13
- package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.js +0 -1
- package/dist/src/harness/hitl/approved-call-callers.d.ts +0 -14
- package/dist/src/harness/hitl/approved-call-callers.js +0 -1
- package/dist/src/internal/attachments/refs.d.ts +0 -55
- package/dist/src/internal/attachments/refs.js +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{APICallError as e}from"../provider/index.js";import{l as t,r as n,s as r,u as i}from"../../_chunks/workflow/esm-DtrPCf49.js";import{RetryError as a,convertDataContentToBase64String as o}from"ai";function s(e){let t=e.toLowerCase();for(let[e,n]of[[`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`]])if(t===e||t.startsWith(e+`.`)||t.startsWith(e+`-`))return n;return e}function c(e){return{"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`,"ai.generateSpeech":`ai.generateSpeech`,"ai.transcribe":`ai.transcribe`,"ai.streamTranscribe":`ai.streamTranscribe`}[e]??e}function l(e){return typeof e==`string`?[{type:`text`,content:e}]:Array.isArray(e)?e.map(e=>({type:`text`,content:e.content})):[{type:`text`,content:e.content}]}function u(e){switch(e.type){case`text`:return{type:`text`,content:e.text};case`reasoning`:return{type:`reasoning`,content:e.text};case`tool-call`:return{type:`tool_call`,id:e.toolCallId??null,name:e.toolName,arguments:e.input};case`tool-result`:{let t=e.output,n;return t&&(n=t.type===`text`||t.type===`error-text`||t.type===`json`||t.type===`error-json`?t.value:t.type===`execution-denied`?{denied:!0,reason:t.reason}:t),{type:`tool_call_response`,id:e.toolCallId??null,response:n}}case`file`:{let t=e.data,n=(()=>{if(typeof t==`object`&&t&&!(t instanceof URL)&&!(t instanceof Uint8Array)&&!(t instanceof ArrayBuffer)&&`type`in t)switch(t.type){case`data`:return t.data;case`url`:return t.url;case`text`:return t.text;default:return``}return t})(),r;if(n instanceof Uint8Array)r=o(n);else if(typeof n==`string`){if(n.startsWith(`http://`)||n.startsWith(`https://`))return{type:`uri`,modality:d(e.mediaType),mime_type:e.mediaType??null,uri:n};r=n}else if(n instanceof URL)return{type:`uri`,modality:d(e.mediaType),mime_type:e.mediaType??null,uri:n.toString()};else r=String(n);return{type:`blob`,modality:d(e.mediaType),mime_type:e.mediaType??null,content:r}}case`tool-approval-response`:return{type:`tool_approval_response`,approval_id:e.approvalId,approved:e.approved,reason:e.reason};case`custom`:return{type:`custom`,kind:e.kind};case`reasoning-file`:return{type:String(e.type)};default:return{type:String(e.type)}}}function d(e){return!e||e.startsWith(`image/`)?`image`:e.startsWith(`video/`)?`video`:e.startsWith(`audio/`)?`audio`:`image`}function f(e){return e.map(e=>{if(e.role===`system`)return{role:`system`,parts:[{type:`text`,content:e.content}]};let t=e.content.map(u);return{role:e.role,parts:t}})}function p({prompt:e,messages:t}){let n=[];if(typeof e==`string`)n.push({role:`user`,parts:[{type:`text`,content:e}]});else if(Array.isArray(e))for(let t of e){let e=m(t);e&&n.push(e)}if(t)for(let e of t){let t=m(e);t&&n.push(t)}return n}function m(e){return e.role===`system`?{role:`system`,parts:[{type:`text`,content:e.content}]}:e.role===`user`?typeof e.content==`string`?{role:`user`,parts:[{type:`text`,content:e.content}]}:{role:`user`,parts:e.content.map(e=>{switch(e.type){case`text`:return{type:`text`,content:e.text};case`image`:{let t=e.image;return t instanceof URL?{type:`uri`,modality:`image`,mime_type:e.mediaType??null,uri:t.toString()}:typeof t==`string`?t.startsWith(`http://`)||t.startsWith(`https://`)?{type:`uri`,modality:`image`,mime_type:e.mediaType??null,uri:t}:{type:`blob`,modality:`image`,mime_type:e.mediaType??null,content:t}:{type:`blob`,modality:`image`,mime_type:e.mediaType??null,content:o(t)}}case`file`:{let t=e.data,n=(()=>{if(typeof t==`object`&&t&&!(t instanceof URL)&&!(t instanceof Uint8Array)&&!(t instanceof ArrayBuffer)&&`type`in t)switch(t.type){case`data`:return t.data;case`url`:return t.url;case`text`:return t.text;default:return``}return t})();return n instanceof URL?{type:`uri`,modality:d(e.mediaType),mime_type:e.mediaType??null,uri:n.toString()}:typeof n==`string`?n.startsWith(`http://`)||n.startsWith(`https://`)?{type:`uri`,modality:d(e.mediaType),mime_type:e.mediaType??null,uri:n}:{type:`blob`,modality:d(e.mediaType),mime_type:e.mediaType??null,content:n}:{type:`blob`,modality:d(e.mediaType),mime_type:e.mediaType??null,content:o(n)}}default:return{type:String(e.type)}}})}:e.role===`assistant`?typeof e.content==`string`?{role:`assistant`,parts:[{type:`text`,content:e.content}]}:{role:`assistant`,parts:e.content.map(e=>{switch(e.type){case`text`:return{type:`text`,content:e.text};case`reasoning`:return{type:`reasoning`,content:e.text};case`tool-call`:return{type:`tool_call`,id:e.toolCallId??null,name:e.toolName,arguments:e.input};case`tool-result`:{let t=e.output,n;return t&&(n=t.type===`text`||t.type===`error-text`||t.type===`json`||t.type===`error-json`?t.value:t.type===`execution-denied`?{denied:!0,reason:t.reason}:t),{type:`tool_call_response`,id:e.toolCallId??null,response:n}}default:return{type:String(e.type)}}})}:e.role===`tool`?{role:`tool`,parts:e.content.map(e=>{if(e.type===`tool-result`){let t=e.output,n;return t&&(n=t.type===`text`||t.type===`error-text`||t.type===`json`||t.type===`error-json`?t.value:t.type===`execution-denied`?{denied:!0,reason:t.reason}:t),{type:`tool_call_response`,id:e.toolCallId??null,response:n}}return{type:String(e.type)}})}:e}function h({text:e,reasoning:t,toolCalls:n,toolResults:r,files:i,finishReason:a}){let o=[];if(t)for(let e of t)`text`in e&&e.text&&o.push({type:`reasoning`,content:e.text});if(e!=null&&e.length>0&&o.push({type:`text`,content:e}),n)for(let e of n)o.push({type:`tool_call`,id:e.toolCallId,name:e.toolName,arguments:e.input});if(r)for(let e of r)o.push({type:`tool_call_response`,id:e.toolCallId,response:e.output});if(i)for(let e of i)o.push({type:`blob`,modality:d(e.mediaType),mime_type:e.mediaType,content:e.base64});return[{role:`assistant`,parts:o,finish_reason:_(a)}]}function g({objectText:e,finishReason:t}){return[{role:`assistant`,parts:[{type:`text`,content:e}],finish_reason:_(t)}]}function _(e){return{stop:`stop`,length:`length`,"content-filter":`content_filter`,"tool-calls":`tool_call`,error:`error`,other:`stop`,unknown:`stop`}[e]??e}function v(n,r){let i=a.isInstance(r)?r.lastError:r;e.isInstance(i)&&i.statusCode!=null&&n.setAttribute(`http.response.status_code`,i.statusCode),r instanceof Error?(n.recordException({name:r.name,message:r.message,stack:r.stack}),n.setStatus({code:t.ERROR,message:r.message})):n.setStatus({code:t.ERROR})}const y={inputtokens:`input_tokens`,prompttokens:`input_tokens`,prompttokencount:`input_tokens`,totalinputtokens:`input_tokens`,outputtokens:`output_tokens`,completiontokens:`output_tokens`,completiontokencount:`output_tokens`,candidatestokencount:`output_tokens`,totaltokens:`total_tokens`,totaltokencount:`total_tokens`};function b(e){let t=e.replace(/[^a-zA-Z0-9]/g,``).toLowerCase();return y[t]??e.replace(/([a-z0-9])([A-Z])/g,`$1_$2`).replace(/[^a-zA-Z0-9]+/g,`_`).replace(/^_+|_+$/g,``).toLowerCase()}function x({usage:e,prefix:t}){let n={},r=(e,i)=>{if(typeof e==`number`){Number.isFinite(e)&&i.length>0&&(n[`${t}.${i.join(`.`)}`]=e);return}if(typeof e==`object`&&e&&!Array.isArray(e))for(let[t,n]of Object.entries(e)){let e=b(t);e!==``&&r(n,[...i,e])}};return r(e,[]),n}function S(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`}function C(e){if(!Array.isArray(e))return typeof e==`number`&&!Number.isFinite(e)?void 0:e;let t=new Set(e.filter(S).map(e=>typeof e));if(t.size!==1)return;let[n]=t;if(n===`string`)return e.filter(e=>typeof e==`string`);if(n===`number`){let t=e.filter(e=>typeof e==`number`);return t.every(Number.isFinite)?t:void 0}return e.filter(e=>typeof e==`boolean`)}function w(e){let t={};for(let[n,r]of Object.entries(e??{})){if(r==null)continue;let e=C(r);e!=null&&(t[n]=e)}return t}function T(e){return e?.isEnabled!==!1}function E(e,t){if(!T(e))return{};let n={};for(let[r,i]of Object.entries(t)){if(i==null)continue;if(typeof i==`object`&&`input`in i&&typeof i.input==`function`){if(e?.recordInputs===!1)continue;let t=i.input();if(t!=null){let e=C(t);e!=null&&(n[r]=e)}continue}if(typeof i==`object`&&`output`in i&&typeof i.output==`function`){if(e?.recordOutputs===!1)continue;let t=i.output();if(t!=null){let e=C(t);e!=null&&(n[r]=e)}continue}let t=C(i);t!=null&&(n[r]=t)}return n}const D={usage:!1,providerMetadata:!1,embedding:!1,reranking:!1,experimental_decision:!1,runtimeContext:!1,headers:!1,toolChoice:!1,schema:!1};function O(e){return{...D,usage:e.usage??!1,providerMetadata:e.providerMetadata??!1,embedding:e.embedding??!1,reranking:e.reranking??!1,experimental_decision:e.experimental_decision??e.experimental_evaluation??!1,runtimeContext:e.runtimeContext??!1,headers:e.headers??!1,toolChoice:e.toolChoice??!1,schema:e.schema??!1}}function k(e){let t={};for(let[n,r]of Object.entries(e??{}))A(t,`ai.settings.context.${n}`,r);return t}function A(e,t,n){if(n!=null){if(Array.isArray(n)||typeof n!=`object`){e[t]=n;return}for(let[r,i]of Object.entries(n))A(e,`${t}.${r}`,i)}}function j(e){return Object.fromEntries(Object.entries(e??{}).filter(([,e])=>e!=null).map(([e,t])=>[`ai.request.headers.${e}`,t]))}function M(e){return{"ai.usage.inputTokenDetails.noCacheTokens":e.inputTokenDetails?.noCacheTokens,"ai.usage.outputTokenDetails.textTokens":e.outputTokenDetails?.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":e.outputTokenDetails?.reasoningTokens}}function N(e,t,n){let r={};for(let[i,a]of Object.entries(n))t[i]&&a!=null&&Object.assign(r,E(e,a));return r}function P(e){return e==null?void 0:e/1e3}function F(e){return{"gen_ai.client.operation.duration":P(e.responseTimeMs),"gen_ai.client.operation.time_to_first_chunk":P(e.timeToFirstOutputMs),"gen_ai.client.operation.time_per_output_chunk":P(e.timeBetweenOutputChunksMs?.avg)}}var I=class{constructor(e={}){this.callStates=new Map,this.tracer=e.tracer??n.getTracer(`gen_ai`),this.supplementalAttributes=O(e),this.enrichSpan=e.enrichSpan}getCallState(e){return this.callStates.get(e)}cleanupCallState(e){this.callStates.delete(e)}getSpanAttributes({attributes:e,spanType:t,operationId:n,callId:r,runtimeContext:i}){let a;try{a=this.enrichSpan?.({spanType:t,operationId:n,callId:r,runtimeContext:i})}catch{a=void 0}return{...w(a),...e}}executeTool({callId:e,toolCallId:t,execute:n}){let i=this.getCallState(e)?.toolSpans.get(t);return i==null?n():r.with(i.context,n)}executeLanguageModelCall({callId:e,execute:t}){let n=this.getCallState(e),i=n?.inferenceContext??n?.stepContext;return i==null?t():r.with(i,t)}onStart(e){if(e.operationId===`ai.generateSpeech`){this.onAudioOperationStart(e);return}if(e.operationId===`ai.transcribe`){this.onAudioOperationStart(e);return}if(e.operationId===`ai.embed`||e.operationId===`ai.embedMany`){this.onEmbedOperationStart(e);return}if(e.operationId===`ai.rerank`){this.onRerankOperationStart(e);return}if(e.operationId===`ai.generateObject`||e.operationId===`ai.streamObject`){this.onObjectOperationStart(e);return}this.onGenerateStart(e)}experimental_onStreamTranscriptionStart(e){this.onAudioOperationStart(e)}onAudioOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a=s(e.provider),o=c(e.operationId),l=`audio`in e?e.audio:void 0,u=`text`in e?e.text:void 0,d=N(t,this.supplementalAttributes,{headers:j(e.headers)}),f=E(t,{"gen_ai.operation.name":o,"gen_ai.provider.name":a,"gen_ai.request.model":e.modelId,"gen_ai.agent.name":t.functionId,"gen_ai.output.type":e.operationId===`ai.generateSpeech`?`speech`:`text`,"gen_ai.request.stream":e.operationId===`ai.streamTranscribe`,"gen_ai.input.messages":u==null?void 0:{input:()=>JSON.stringify([{role:`user`,parts:[{type:`text`,content:u}]}])},"ai.request.text":u==null?void 0:{input:()=>u},"ai.request.audio.size":l?.byteLength==null?void 0:{input:()=>l.byteLength},"ai.request.audio.media_type":l==null?void 0:{input:()=>l.mediaType},...d}),p=this.tracer.startSpan(`${o} ${e.modelId}`,{attributes:this.getSpanAttributes({attributes:f,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:void 0}),kind:i.CLIENT}),m=n.setSpan(r.active(),p);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:p,rootContext:m,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:{},provider:e.provider,modelId:e.modelId,runtimeContext:void 0,baseSupplementalAttributes:d})}onGenerateStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a={maxOutputTokens:e.maxOutputTokens,temperature:e.temperature,topP:e.topP,topK:e.topK,presencePenalty:e.presencePenalty,frequencyPenalty:e.frequencyPenalty,stopSequences:e.stopSequences,seed:e.seed,maxRetries:e.maxRetries},o=s(e.provider),u=c(e.operationId),d=e.runtimeContext,f=N(t,this.supplementalAttributes,{runtimeContext:k(d),headers:j(e.headers)}),m=E(t,{"gen_ai.operation.name":u,"gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,"gen_ai.agent.name":t.functionId,"gen_ai.request.frequency_penalty":e.frequencyPenalty,"gen_ai.request.max_tokens":e.maxOutputTokens,"gen_ai.request.presence_penalty":e.presencePenalty,"gen_ai.request.temperature":e.temperature??void 0,"gen_ai.request.top_k":e.topK,"gen_ai.request.top_p":e.topP,"gen_ai.request.stop_sequences":e.stopSequences,"gen_ai.request.seed":e.seed,"gen_ai.system_instructions":e.instructions==null?void 0:{input:()=>JSON.stringify(l(e.instructions))},"gen_ai.input.messages":{input:()=>JSON.stringify(p({prompt:void 0,messages:e.messages}))},...f}),h=`${u} ${e.modelId}`,g=this.tracer.startSpan(h,{attributes:this.getSpanAttributes({attributes:m,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:d}),kind:i.INTERNAL}),_=n.setSpan(r.active(),g);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:g,rootContext:_,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:a,provider:e.provider,modelId:e.modelId,runtimeContext:d,baseSupplementalAttributes:f})}onObjectOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a={maxOutputTokens:e.maxOutputTokens,temperature:e.temperature,topP:e.topP,topK:e.topK,presencePenalty:e.presencePenalty,frequencyPenalty:e.frequencyPenalty,seed:e.seed,maxRetries:e.maxRetries},o=s(e.provider),u=c(e.operationId),d=N(t,this.supplementalAttributes,{headers:j(e.headers)}),f=E(t,{"gen_ai.operation.name":u,"gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,"gen_ai.agent.name":t.functionId,"gen_ai.output.type":`json`,"gen_ai.request.frequency_penalty":e.frequencyPenalty,"gen_ai.request.max_tokens":e.maxOutputTokens,"gen_ai.request.presence_penalty":e.presencePenalty,"gen_ai.request.temperature":e.temperature??void 0,"gen_ai.request.top_k":e.topK,"gen_ai.request.top_p":e.topP,"gen_ai.request.seed":e.seed,"gen_ai.system_instructions":e.system?{input:()=>JSON.stringify(l(e.system))}:void 0,"gen_ai.input.messages":{input:()=>JSON.stringify(p({prompt:e.prompt,messages:e.messages}))},...d,...N(t,this.supplementalAttributes,{schema:{"ai.schema":e.schema?{input:()=>JSON.stringify(e.schema)}:void 0,"ai.schema.name":e.schemaName,"ai.schema.description":e.schemaDescription,"ai.settings.output":e.output}})}),m=`${u} ${e.modelId}`,h=this.tracer.startSpan(m,{attributes:this.getSpanAttributes({attributes:f,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:void 0}),kind:i.INTERNAL}),g=n.setSpan(r.active(),h);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:h,rootContext:g,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:a,provider:e.provider,modelId:e.modelId,runtimeContext:void 0,baseSupplementalAttributes:d,objectSystemInstructions:e.system})}onObjectStepStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,a=s(e.provider),o=t.objectSystemInstructions==null?0:l(t.objectSystemInstructions).length,c=e.promptMessages?.slice(o),u=E(r,{"gen_ai.operation.name":`chat`,"gen_ai.provider.name":a,"gen_ai.request.model":e.modelId,"gen_ai.output.type":`json`,"gen_ai.request.frequency_penalty":t.settings.frequencyPenalty,"gen_ai.request.max_tokens":t.settings.maxOutputTokens,"gen_ai.request.presence_penalty":t.settings.presencePenalty,"gen_ai.request.temperature":t.settings.temperature??void 0,"gen_ai.request.top_k":t.settings.topK,"gen_ai.request.top_p":t.settings.topP,"gen_ai.system_instructions":t.objectSystemInstructions==null?void 0:{input:()=>JSON.stringify(l(t.objectSystemInstructions))},"gen_ai.input.messages":{input:()=>c?JSON.stringify(f(c)):void 0},...t.baseSupplementalAttributes}),d=`chat ${e.modelId}`;t.inferenceSpan=this.tracer.startSpan(d,{attributes:this.getSpanAttributes({attributes:u,spanType:`languageModel`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.CLIENT},t.rootContext),t.inferenceContext=n.setSpan(t.rootContext,t.inferenceSpan)}onObjectStepEnd(e){let n=this.getCallState(e.callId);if(!n?.inferenceSpan)return;e.finishReason===`error`&&n.inferenceSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.inferenceSpan.setAttributes(E(r,{"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.response.id":e.response.id,"gen_ai.response.model":e.response.modelId,"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":e.usage.inputTokenDetails?.cacheReadTokens,"gen_ai.output.messages":{output:()=>{try{return JSON.stringify(g({objectText:e.objectText,finishReason:e.finishReason}))}catch{return e.objectText}}},...N(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0},usage:M(e.usage)})})),n.inferenceSpan.end(),n.inferenceSpan=void 0,n.inferenceContext=void 0}onEmbedOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a=e.runtimeContext,o=s(e.provider),l=N(t,this.supplementalAttributes,{runtimeContext:k(a),headers:j(e.headers)}),u=e.value,d=e.operationId===`ai.embedMany`,f=c(e.operationId),p=E(t,{"gen_ai.operation.name":f,"gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...l,...N(t,this.supplementalAttributes,{embedding:d?{"ai.values":{input:()=>u.map(e=>JSON.stringify(e))}}:{"ai.value":{input:()=>JSON.stringify(u)}}})}),m=`${f} ${e.modelId}`,h=this.tracer.startSpan(m,{attributes:this.getSpanAttributes({attributes:p,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:a}),kind:i.CLIENT}),g=n.setSpan(r.active(),h);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:h,rootContext:g,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:{maxRetries:e.maxRetries},provider:e.provider,modelId:e.modelId,runtimeContext:a,baseSupplementalAttributes:l})}onStepStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t;t.runtimeContext=e.runtimeContext;let a=E(r,{"gen_ai.operation.name":`agent_step`,...t.baseSupplementalAttributes,...N(r,this.supplementalAttributes,{toolChoice:{"ai.prompt.toolChoice":{input:()=>e.stepToolChoice==null?void 0:JSON.stringify(e.stepToolChoice)}}})});t.stepSpan=this.tracer.startSpan(`step ${e.steps.length+1}`,{attributes:this.getSpanAttributes({attributes:a,spanType:`step`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.INTERNAL},t.rootContext),t.stepContext=n.setSpan(t.rootContext,t.stepSpan)}onLanguageModelCallStart(e){let t=this.getCallState(e.callId);if(!t?.stepContext)return;let{telemetry:r}=t,a=s(e.provider);t.inferenceToolDefinitions=e.tools;let o=E(r,{"gen_ai.operation.name":`chat`,"gen_ai.provider.name":a,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":t.settings.frequencyPenalty,"gen_ai.request.max_tokens":t.settings.maxOutputTokens,"gen_ai.request.presence_penalty":t.settings.presencePenalty,"gen_ai.request.stop_sequences":t.settings.stopSequences,"gen_ai.request.temperature":t.settings.temperature??void 0,"gen_ai.request.top_k":t.settings.topK,"gen_ai.request.top_p":t.settings.topP,"gen_ai.system_instructions":e.instructions==null?void 0:{input:()=>JSON.stringify(l(e.instructions))},"gen_ai.input.messages":{input:()=>{let t=p({prompt:void 0,messages:e.messages});return t.length>0?JSON.stringify(t):void 0}},"gen_ai.tool.definitions":{input:()=>e.tools?JSON.stringify(e.tools):void 0}});t.inferenceSpan=this.tracer.startSpan(`chat ${e.modelId}`,{attributes:this.getSpanAttributes({attributes:o,spanType:`languageModel`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.CLIENT},t.stepContext),t.inferenceContext=n.setSpan(t.stepContext,t.inferenceSpan)}onLanguageModelCallEnd(e){let n=this.getCallState(e.callId);if(!n?.inferenceSpan)return;e.finishReason===`error`&&n.inferenceSpan.setStatus({code:t.ERROR});let{telemetry:r}=n,a=s(e.provider),o=[...n.inferenceToolDefinitions??[]],c=new Set(o.flatMap(e=>typeof e.name==`string`?[e.name]:[])),l=!1;for(let t of e.content)t.type===`tool-call`&&t.providerExecuted&&!c.has(t.toolName)&&(o.push({type:`extension`,name:t.toolName}),c.add(t.toolName),l=!0);n.inferenceSpan.setAttributes(E(r,{...F(e.performance),"gen_ai.provider.name":a,"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.response.id":e.responseId,"gen_ai.response.model":e.modelId,"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":e.usage.inputTokenDetails?.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":e.usage.inputTokenDetails?.cacheWriteTokens,"gen_ai.output.messages":{output:()=>JSON.stringify(h({text:e.content.filter(e=>e.type===`text`).map(e=>e.text).join(``)||void 0,reasoning:e.content.filter(e=>e.type===`reasoning`),toolCalls:e.content.filter(e=>e.type===`tool-call`),toolResults:e.content.filter(e=>e.type===`tool-result`),files:e.content.filter(e=>e.type===`file`).map(e=>e.file),finishReason:e.finishReason}))},"gen_ai.tool.definitions":l?{input:()=>JSON.stringify(o)}:void 0,...N(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0},usage:M(e.usage)})}));let u=new Map;for(let t of e.content)(t.type===`tool-error`||t.type===`tool-result`&&t.preliminary!==!0)&&u.set(t.toolCallId,t);let d=new Set;for(let t of e.content){if(t.type!==`tool-call`||!t.providerExecuted||d.has(t.toolCallId))continue;d.add(t.toolCallId);let a=this.tracer.startSpan(`execute_tool ${t.toolName}`,{attributes:this.getSpanAttributes({attributes:E(r,{"gen_ai.operation.name":`execute_tool`,"gen_ai.tool.name":t.toolName,"gen_ai.tool.call.id":t.toolCallId,"gen_ai.tool.type":`extension`,"gen_ai.tool.call.arguments":{input:()=>JSON.stringify(t.input)}}),spanType:`tool`,operationId:n.operationId,callId:e.callId,runtimeContext:n.runtimeContext}),kind:i.INTERNAL},n.inferenceContext),o=u.get(t.toolCallId);if(o?.type===`tool-result`)try{a.setAttributes(E(r,{"gen_ai.tool.call.result":{output:()=>JSON.stringify(o.output)}}))}catch{}else o?.type===`tool-error`&&v(a,o.error);a.end()}n.inferenceSpan.end(),n.inferenceSpan=void 0,n.inferenceContext=void 0,n.inferenceToolDefinitions=void 0}onToolExecutionStart(e){let t=this.getCallState(e.callId),r=t?.stepContext??t?.rootContext;if(!t||!r)return;let{telemetry:a}=t,{toolCall:o}=e,s=E(a,{"gen_ai.operation.name":`execute_tool`,"gen_ai.tool.name":o.toolName,"gen_ai.tool.call.id":o.toolCallId,"gen_ai.tool.type":o.providerExecuted?`extension`:`function`,"gen_ai.tool.call.arguments":{input:()=>JSON.stringify(o.input)}}),c=`execute_tool ${o.toolName}`,l=this.tracer.startSpan(c,{attributes:this.getSpanAttributes({attributes:s,spanType:`tool`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.INTERNAL},r),u=n.setSpan(r,l);t.toolSpans.set(o.toolCallId,{span:l,context:u})}onToolExecutionEnd(e){let t=this.getCallState(e.callId);if(!t)return;let n=t.toolSpans.get(e.toolCall.toolCallId);if(!n)return;let{span:r}=n,{telemetry:i}=t,{toolOutput:a}=e;if(r.setAttributes(E(i,{"gen_ai.execute_tool.duration":P(e.toolExecutionMs)})),a.type===`tool-result`)try{r.setAttributes(E(i,{"gen_ai.tool.call.result":{output:()=>JSON.stringify(a.output)}}))}catch{}else v(r,a.error);r.end(),t.toolSpans.delete(e.toolCall.toolCallId)}onStepEnd(e){let n=this.getCallState(e.callId);if(!n?.stepSpan)return;e.finishReason===`error`&&n.stepSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.stepSpan.setAttributes(N(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0},usage:M(e.usage)})),n.stepSpan.end(),n.stepSpan=void 0,n.stepContext=void 0}onStepFinish(e){this.onStepEnd(e)}onEnd(e){let t=this.getCallState(e.callId);if(t?.rootSpan){if(t.operationId===`ai.embed`||t.operationId===`ai.embedMany`){this.onEmbedOperationEnd(e);return}if(t.operationId===`ai.rerank`){this.onRerankOperationEnd(e);return}if(t.operationId===`ai.generateSpeech`||t.operationId===`ai.transcribe`){this.onAudioOperationEnd(e);return}if(t.operationId===`ai.generateObject`||t.operationId===`ai.streamObject`){this.onObjectOperationEnd(e);return}this.onGenerateEnd(e)}}experimental_onStreamTranscriptionEnd(e){this.onAudioOperationEnd(e)}onAudioOperationEnd(e){let t=this.getCallState(e.callId);if(!t?.rootSpan)return;let n=e.operationId===`ai.generateSpeech`?e.audio:void 0,r=e.operationId===`ai.generateSpeech`?void 0:e.audio,i=`segments`in e?e.text:void 0;t.rootSpan.setAttributes(E(t.telemetry,{"ai.request.audio.size":r==null?void 0:{input:()=>r.byteLength},"ai.request.audio.media_type":r==null?void 0:{input:()=>r.mediaType},"ai.response.text":i==null?void 0:{output:()=>i},"gen_ai.output.messages":i==null?void 0:{output:()=>JSON.stringify([{role:`assistant`,parts:[{type:`text`,content:i}]}])},"ai.response.audio.size":n==null?void 0:{output:()=>n.byteLength},"ai.response.audio.media_type":n==null?void 0:{output:()=>n.mediaType},"ai.response.audio.format":n==null||!(`format`in n)?void 0:{output:()=>String(n.format)},...x({usage:e.usage,prefix:`gen_ai.usage`}),...N(t.telemetry,this.supplementalAttributes,{usage:{"ai.response.usage":e.usage==null?void 0:JSON.stringify(e.usage)},providerMetadata:{"ai.response.providerMetadata":e.providerMetadata==null?void 0:JSON.stringify(e.providerMetadata)}})})),t.rootSpan.end(),this.cleanupCallState(e.callId)}onGenerateEnd(e){let n=this.getCallState(e.callId);if(!n?.rootSpan)return;e.finishReason===`error`&&n.rootSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.rootSpan.setAttributes(E(r,{"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":e.usage.inputTokenDetails?.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":e.usage.inputTokenDetails?.cacheWriteTokens,"gen_ai.output.messages":{output:()=>JSON.stringify(h({text:e.text??void 0,reasoning:e.finalStep.reasoning,toolCalls:e.toolCalls,toolResults:e.toolResults,files:e.files,finishReason:e.finishReason}))},...N(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":e.finalStep.providerMetadata?JSON.stringify(e.finalStep.providerMetadata):void 0},usage:M(e.usage)})})),n.rootSpan.end(),this.cleanupCallState(e.callId)}onObjectOperationEnd(e){let n=this.getCallState(e.callId);if(!n?.rootSpan)return;e.finishReason===`error`&&n.rootSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.rootSpan.setAttributes(E(r,{"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":e.usage.inputTokenDetails?.cacheReadTokens,"gen_ai.output.messages":{output:()=>e.object==null?void 0:JSON.stringify(g({objectText:JSON.stringify(e.object),finishReason:e.finishReason}))},...N(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0},usage:M(e.usage)})})),n.rootSpan.end(),this.cleanupCallState(e.callId)}onEmbedOperationEnd(e){let t=this.getCallState(e.callId);if(!t?.rootSpan)return;let{telemetry:n}=t,r=t.operationId===`ai.embedMany`;t.rootSpan.setAttributes(E(n,{...N(n,this.supplementalAttributes,{embedding:r?{"ai.embeddings":{output:()=>e.embedding.map(e=>JSON.stringify(e))}}:{"ai.embedding":{output:()=>JSON.stringify(e.embedding)}}})})),t.rootSpan.end(),this.cleanupCallState(e.callId)}onEmbedStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,a=E(r,{"gen_ai.operation.name":`embeddings`,"gen_ai.provider.name":s(t.provider),"gen_ai.request.model":t.modelId,...t.baseSupplementalAttributes,...N(r,this.supplementalAttributes,{embedding:{"ai.values":{input:()=>e.values.map(e=>JSON.stringify(e))}}})}),o=`embeddings ${t.modelId}`,c=this.tracer.startSpan(o,{attributes:this.getSpanAttributes({attributes:a,spanType:`embedding`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.CLIENT},t.rootContext),l=n.setSpan(t.rootContext,c);t.embedSpans.set(e.embedCallId,{span:c,context:l})}onEmbedEnd(e){let t=this.getCallState(e.callId);if(!t)return;let n=t.embedSpans.get(e.embedCallId);if(!n)return;let{span:r}=n,{telemetry:i}=t;r.setAttributes(E(i,{"gen_ai.usage.input_tokens":e.usage.tokens,...N(i,this.supplementalAttributes,{embedding:{"ai.embeddings":{output:()=>e.embeddings.map(e=>JSON.stringify(e))}}})})),r.end(),t.embedSpans.delete(e.embedCallId)}onRerankOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a=e.runtimeContext,o=s(e.provider),c=N(t,this.supplementalAttributes,{runtimeContext:k(a),headers:j(e.headers)}),l=E(t,{"gen_ai.operation.name":`rerank`,"gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...c,...N(t,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>e.documents.map(e=>JSON.stringify(e))}}})}),u=`rerank ${e.modelId}`,d=this.tracer.startSpan(u,{attributes:this.getSpanAttributes({attributes:l,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:a}),kind:i.CLIENT}),f=n.setSpan(r.active(),d);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:d,rootContext:f,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:{maxRetries:e.maxRetries},provider:e.provider,modelId:e.modelId,runtimeContext:a,baseSupplementalAttributes:c})}onRerankOperationEnd(e){let t=this.getCallState(e.callId);t?.rootSpan&&(t.rootSpan.end(),this.cleanupCallState(e.callId))}onRerankStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,a=E(r,{"gen_ai.operation.name":`rerank`,"gen_ai.provider.name":s(t.provider),"gen_ai.request.model":t.modelId,...t.baseSupplementalAttributes,...N(r,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>e.documents.map(e=>JSON.stringify(e))}}})}),o=`rerank ${t.modelId}`,c=this.tracer.startSpan(o,{attributes:this.getSpanAttributes({attributes:a,spanType:`reranking`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.CLIENT},t.rootContext);t.rerankSpan={span:c,context:n.setSpan(t.rootContext,c)}}onRerankEnd(e){let t=this.getCallState(e.callId);if(!t?.rerankSpan)return;let{span:n}=t.rerankSpan,{telemetry:r}=t;n.setAttributes(N(r,this.supplementalAttributes,{reranking:{"ai.ranking.type":e.documentsType,"ai.ranking":{output:()=>e.ranking.map(e=>JSON.stringify(e))}}})),n.end(),t.rerankSpan=void 0}onDecideOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a=e.runtimeContext,o=N(t,this.supplementalAttributes,{runtimeContext:k(a),headers:j(e.headers)}),c=E(t,{"gen_ai.operation.name":`decide`,"gen_ai.provider.name":s(e.provider),"gen_ai.request.model":e.modelId,...o,...N(t,this.supplementalAttributes,{experimental_decision:{"ai.decision.state":{input:()=>JSON.stringify(e.state)},"ai.decision.questions":{input:()=>JSON.stringify(e.questions)}}})}),l=this.tracer.startSpan(`decide ${e.modelId}`,{attributes:this.getSpanAttributes({attributes:c,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:a}),kind:i.CLIENT}),u=n.setSpan(r.active(),l);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:l,rootContext:u,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:{maxRetries:e.maxRetries},provider:e.provider,modelId:e.modelId,runtimeContext:a,baseSupplementalAttributes:o})}onDecideOperationEnd(e){let t=this.getCallState(e.callId);t?.rootSpan&&(t.rootSpan.setAttributes(N(t.telemetry,this.supplementalAttributes,{experimental_decision:{"ai.decision.answers":{output:()=>JSON.stringify(e.answers)}}})),t.rootSpan.end(),this.cleanupCallState(e.callId))}experimental_onDecideStart(e){this.experimental_onEvaluateStart(e)}experimental_onDecideEnd(e){this.experimental_onEvaluateEnd(e)}experimental_onDecisionModelCallStart(e){this.experimental_onEvaluationModelCallStart(e)}experimental_onDecisionModelCallEnd(e){this.experimental_onEvaluationModelCallEnd(e)}experimental_onEvaluateStart(e){this.onDecideOperationStart(e)}experimental_onEvaluateEnd(e){this.onDecideOperationEnd(e)}experimental_onEvaluationModelCallStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let r=E(t.telemetry,{"gen_ai.operation.name":`decide`,"gen_ai.provider.name":s(t.provider),"gen_ai.request.model":t.modelId,...t.baseSupplementalAttributes,...N(t.telemetry,this.supplementalAttributes,{experimental_decision:{"ai.decision.state":{input:()=>JSON.stringify(e.state)},"ai.decision.questions":{input:()=>JSON.stringify(e.questions)}}})}),a=this.tracer.startSpan(`decide ${t.modelId}`,{attributes:this.getSpanAttributes({attributes:r,spanType:`experimental_decision`,operationId:e.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.CLIENT},t.rootContext);t.decisionSpan={span:a,context:n.setSpan(t.rootContext,a)}}experimental_onEvaluationModelCallEnd(e){let t=this.getCallState(e.callId);t?.decisionSpan&&(t.decisionSpan.span.setAttributes(E(t.telemetry,{"gen_ai.usage.input_tokens":e.usage?.inputTokens,"gen_ai.usage.output_tokens":e.usage?.outputTokens,...N(t.telemetry,this.supplementalAttributes,{experimental_decision:{"ai.decision.answers":{output:()=>JSON.stringify(e.answers)}},providerMetadata:{"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0}})})),t.decisionSpan.span.end(),t.decisionSpan=void 0)}onAbort(e){let t=this.getCallState(e.callId);if(t?.rootSpan){for(let{span:e}of t.toolSpans.values())e.end();t.toolSpans.clear(),t.inferenceSpan&&(t.inferenceSpan.end(),t.inferenceSpan=void 0,t.inferenceContext=void 0),t.stepSpan&&(t.stepSpan.end(),t.stepSpan=void 0,t.stepContext=void 0);for(let{span:e}of t.embedSpans.values())e.end();t.embedSpans.clear(),t.rerankSpan&&=(t.rerankSpan.span.end(),void 0),t.decisionSpan&&=(t.decisionSpan.span.end(),void 0),t.rootSpan.end(),this.cleanupCallState(e.callId)}}onError(e){let t=e;if(!t?.callId)return;let n=this.getCallState(t.callId);if(!n?.rootSpan)return;let r=t.error??e;for(let{span:e}of n.toolSpans.values())v(e,r),e.end();n.toolSpans.clear(),n.inferenceSpan&&(v(n.inferenceSpan,r),n.inferenceSpan.end(),n.inferenceSpan=void 0,n.inferenceContext=void 0),n.stepSpan&&(v(n.stepSpan,r),n.stepSpan.end(),n.stepSpan=void 0,n.stepContext=void 0);for(let{span:e}of n.embedSpans.values())v(e,r),e.end();n.embedSpans.clear(),n.rerankSpan&&=(v(n.rerankSpan.span,r),n.rerankSpan.span.end(),void 0),n.decisionSpan&&=(v(n.decisionSpan.span,r),n.decisionSpan.span.end(),void 0),v(n.rootSpan,r),n.rootSpan.end(),this.cleanupCallState(t.callId)}};function L({operationId:e,telemetry:t}){return{"operation.name":`${e}${t?.functionId==null?``:` ${t.functionId}`}`,"resource.name":t?.functionId,"ai.operationId":e,"ai.telemetry.functionId":t?.functionId}}function R({model:e,settings:t,headers:n,context:r}){return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((e,[t,n])=>(e[`ai.settings.${t}`]=n,e),{}),...k(r),...Object.entries(n??{}).reduce((e,[t,n])=>(n!==void 0&&(e[`ai.request.headers.${t}`]=n),e),{})}}function z(e){return JSON.stringify(e.map(e=>({...e,content:typeof e.content==`string`?e.content:e.content.map(e=>e.type===`file`?{...e,data:B(e.data)}:e)})))}function B(e){switch(e.type){case`data`:return e.data instanceof Uint8Array?o(e.data):e.data;case`url`:return e.url.toString();case`reference`:return e.reference;case`text`:return e.text}}function V(e,n){n instanceof Error?(e.recordException({name:n.name,message:n.message,stack:n.stack}),e.setStatus({code:t.ERROR,message:n.message})):e.setStatus({code:t.ERROR})}function H(e){return e?.isEnabled!==!1}function U(e,t){if(!H(e))return{};let n={};for(let[r,i]of Object.entries(t)){if(i==null)continue;if(typeof i==`object`&&`input`in i&&typeof i.input==`function`){if(e?.recordInputs===!1)continue;let t=i.input();if(t!=null){let e=C(t);e!=null&&(n[r]=e)}continue}if(typeof i==`object`&&`output`in i&&typeof i.output==`function`){if(e?.recordOutputs===!1)continue;let t=i.output();if(t!=null){let e=C(t);e!=null&&(n[r]=e)}continue}let t=C(i);t!=null&&(n[r]=t)}return n}var W=class{constructor(e={}){this.callStates=new Map,this.tracer=e.tracer??n.getTracer(`ai`)}getCallState(e){return this.callStates.get(e)}cleanupCallState(e){this.callStates.delete(e)}executeTool({callId:e,toolCallId:t,execute:n}){let i=this.getCallState(e)?.toolSpans.get(t);return i==null?n():r.with(i.context,n)}executeLanguageModelCall({callId:e,execute:t}){let n=this.getCallState(e)?.stepContext;return n==null?t():r.with(n,t)}onStart(e){if(e.operationId===`ai.generateSpeech`){this.onAudioOperationStart(e);return}if(e.operationId===`ai.transcribe`){this.onAudioOperationStart(e);return}if(e.operationId===`ai.embed`||e.operationId===`ai.embedMany`){this.onEmbedOperationStart(e);return}if(e.operationId===`ai.rerank`){this.onRerankOperationStart(e);return}if(e.operationId===`ai.generateObject`||e.operationId===`ai.streamObject`){this.onObjectOperationStart(e);return}this.onGenerateStart(e)}experimental_onStreamTranscriptionStart(e){this.onAudioOperationStart(e)}onAudioOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},i=`audio`in e?e.audio:void 0,a=`text`in e?e.text:void 0,o={"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.fromEntries(Object.entries(e.headers??{}).map(([e,t])=>[`ai.request.headers.${e}`,t]))},s=U(t,{...L({operationId:e.operationId,telemetry:t}),...o,"ai.request.text":a==null?void 0:{input:()=>a},"ai.request.audio.size":i?.byteLength==null?void 0:{input:()=>i.byteLength},"ai.request.audio.mediaType":i==null?void 0:{input:()=>i.mediaType}}),c=this.tracer.startSpan(e.operationId,{attributes:s}),l=n.setSpan(r.active(),c);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:c,rootContext:l,stepSpan:void 0,stepContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,baseTelemetryAttributes:o,settings:{}})}onGenerateStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},i={maxOutputTokens:e.maxOutputTokens,temperature:e.temperature,topP:e.topP,topK:e.topK,presencePenalty:e.presencePenalty,frequencyPenalty:e.frequencyPenalty,stopSequences:e.stopSequences,seed:e.seed,maxRetries:e.maxRetries},a=R({model:{provider:e.provider,modelId:e.modelId},headers:e.headers,settings:i,context:e.runtimeContext}),o=U(t,{...L({operationId:e.operationId,telemetry:t}),...a,"ai.model.provider":e.provider,"ai.model.id":e.modelId,"ai.prompt":{input:()=>JSON.stringify({system:e.instructions,messages:e.messages})}}),s=this.tracer.startSpan(e.operationId,{attributes:o}),c=n.setSpan(r.active(),s);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:s,rootContext:c,stepSpan:void 0,stepContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,baseTelemetryAttributes:a,settings:i})}onObjectOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},i={maxOutputTokens:e.maxOutputTokens,temperature:e.temperature,topP:e.topP,topK:e.topK,presencePenalty:e.presencePenalty,frequencyPenalty:e.frequencyPenalty,seed:e.seed,maxRetries:e.maxRetries},a=R({model:{provider:e.provider,modelId:e.modelId},headers:e.headers,settings:i,context:void 0}),o=U(t,{...L({operationId:e.operationId,telemetry:t}),...a,"ai.prompt":{input:()=>JSON.stringify({system:e.system,prompt:e.prompt,messages:e.messages})},"ai.schema":e.schema?{input:()=>JSON.stringify(e.schema)}:void 0,"ai.schema.name":e.schemaName,"ai.schema.description":e.schemaDescription,"ai.settings.output":e.output}),s=this.tracer.startSpan(e.operationId,{attributes:o}),c=n.setSpan(r.active(),s);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:s,rootContext:c,stepSpan:void 0,stepContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,baseTelemetryAttributes:a,settings:i})}onObjectStepStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,i=t.operationId===`ai.streamObject`?`ai.streamObject.doStream`:`ai.generateObject.doGenerate`,a=U(r,{...L({operationId:i,telemetry:r}),...t.baseTelemetryAttributes,"ai.prompt.messages":{input:()=>e.promptMessages?z(e.promptMessages):void 0},"gen_ai.system":e.provider,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":t.settings.frequencyPenalty,"gen_ai.request.max_tokens":t.settings.maxOutputTokens,"gen_ai.request.presence_penalty":t.settings.presencePenalty,"gen_ai.request.temperature":t.settings.temperature??void 0,"gen_ai.request.top_k":t.settings.topK,"gen_ai.request.top_p":t.settings.topP});t.stepSpan=this.tracer.startSpan(i,{attributes:a},t.rootContext),t.stepContext=n.setSpan(t.rootContext,t.stepSpan)}onObjectStepEnd(e){let n=this.getCallState(e.callId);if(!n?.stepSpan)return;e.finishReason===`error`&&n.stepSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.stepSpan.setAttributes(U(r,{"ai.response.finishReason":e.finishReason,"ai.response.object":{output:()=>{try{return JSON.stringify(JSON.parse(e.objectText))}catch{return e.objectText}}},"ai.response.id":e.response.id,"ai.response.model":e.response.modelId,"ai.response.timestamp":e.response.timestamp.toISOString(),"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0,"ai.usage.inputTokens":e.usage.inputTokens,"ai.usage.outputTokens":e.usage.outputTokens,"ai.usage.totalTokens":e.usage.totalTokens,"ai.usage.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens,"ai.usage.cachedInputTokens":e.usage.inputTokenDetails?.cacheReadTokens,"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.response.id":e.response.id,"gen_ai.response.model":e.response.modelId,"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens})),e.msToFirstChunk!=null&&(n.stepSpan.addEvent(`ai.stream.firstChunk`,{"ai.stream.msToFirstChunk":e.msToFirstChunk}),n.stepSpan.setAttributes({"ai.stream.msToFirstChunk":e.msToFirstChunk})),n.stepSpan.end(),n.stepSpan=void 0,n.stepContext=void 0}onEmbedOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},i={maxRetries:e.maxRetries},a=R({model:{provider:e.provider,modelId:e.modelId},headers:e.headers,settings:i,context:e.runtimeContext}),o=e.value,s=e.operationId===`ai.embedMany`,c=U(t,{...L({operationId:e.operationId,telemetry:t}),...a,...s?{"ai.values":{input:()=>o.map(e=>JSON.stringify(e))}}:{"ai.value":{input:()=>JSON.stringify(o)}}}),l=this.tracer.startSpan(e.operationId,{attributes:c}),u=n.setSpan(r.active(),l);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:l,rootContext:u,stepSpan:void 0,stepContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,baseTelemetryAttributes:a,settings:i})}onStepStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,i=t.operationId===`ai.streamText`?`ai.streamText.doStream`:`ai.generateText.doGenerate`,a=U(r,{...L({operationId:i,telemetry:r}),...t.baseTelemetryAttributes,"ai.model.provider":e.provider,"ai.model.id":e.modelId,"ai.prompt.messages":{input:()=>e.promptMessages?z(e.promptMessages):void 0},"ai.prompt.tools":{input:()=>e.stepTools?.map(e=>JSON.stringify(e))},"ai.prompt.toolChoice":{input:()=>e.stepToolChoice==null?void 0:JSON.stringify(e.stepToolChoice)},"gen_ai.system":e.provider,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":t.settings.frequencyPenalty,"gen_ai.request.max_tokens":t.settings.maxOutputTokens,"gen_ai.request.presence_penalty":t.settings.presencePenalty,"gen_ai.request.stop_sequences":t.settings.stopSequences,"gen_ai.request.temperature":t.settings.temperature??void 0,"gen_ai.request.top_k":t.settings.topK,"gen_ai.request.top_p":t.settings.topP});t.stepSpan=this.tracer.startSpan(i,{attributes:a},t.rootContext),t.stepContext=n.setSpan(t.rootContext,t.stepSpan)}onToolExecutionStart(e){let t=this.getCallState(e.callId);if(!t?.stepContext)return;let{telemetry:r}=t,{toolCall:i}=e,a=U(r,{...L({operationId:`ai.toolCall`,telemetry:r}),...Object.fromEntries(Object.entries(t.baseTelemetryAttributes).filter(([e])=>e.startsWith(`ai.settings.context.`))),"ai.toolCall.name":i.toolName,"ai.toolCall.id":i.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(i.input)}}),o=this.tracer.startSpan(`ai.toolCall`,{attributes:a},t.stepContext),s=n.setSpan(t.stepContext,o);t.toolSpans.set(i.toolCallId,{span:o,context:s})}onToolExecutionEnd(e){let t=this.getCallState(e.callId);if(!t)return;let n=t.toolSpans.get(e.toolCall.toolCallId);if(!n)return;let{span:r}=n,{telemetry:i}=t,{toolOutput:a}=e;if(a.type===`tool-result`)try{r.setAttributes(U(i,{"ai.toolCall.result":{output:()=>JSON.stringify(a.output)}}))}catch{}else V(r,a.error);r.end(),t.toolSpans.delete(e.toolCall.toolCallId)}onStepEnd(e){let n=this.getCallState(e.callId);if(!n?.stepSpan)return;e.finishReason===`error`&&n.stepSpan.setStatus({code:t.ERROR});let{telemetry:r}=n,i=n.operationId===`ai.streamText`;n.stepSpan.setAttributes(U(r,{"ai.response.finishReason":e.finishReason,"ai.response.text":{output:()=>e.text??void 0},"ai.response.reasoning":{output:()=>e.reasoning.length>0?e.reasoning.filter(e=>`text`in e).map(e=>e.text).join(`
|
|
2
|
-
`):void 0},"ai.response.toolCalls":{output:()=>e.toolCalls.length>0?JSON.stringify(e.toolCalls.map(e=>({toolCallId:e.toolCallId,toolName:e.toolName,input:e.input}))):void 0},"ai.response.files":{output:()=>e.files.length>0?JSON.stringify(e.files.map(e=>({type:`file`,mediaType:e.mediaType,data:e.base64}))):void 0},"ai.response.id":e.response.id,"ai.response.model":e.response.modelId,"ai.response.timestamp":e.response.timestamp.toISOString(),"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0,"ai.response.msToFirstChunk":i?e.performance.timeToFirstOutputMs:void 0,"ai.response.msToFinish":i?e.performance.responseTimeMs:void 0,"ai.response.avgOutputTokensPerSecond":i?e.performance.effectiveOutputTokensPerSecond:void 0,"ai.usage.inputTokens":e.usage.inputTokens,"ai.usage.outputTokens":e.usage.outputTokens,"ai.usage.totalTokens":e.usage.totalTokens,"ai.usage.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens,"ai.usage.cachedInputTokens":e.usage.inputTokenDetails?.cacheReadTokens,"ai.usage.inputTokenDetails.noCacheTokens":e.usage.inputTokenDetails?.noCacheTokens,"ai.usage.inputTokenDetails.cacheReadTokens":e.usage.inputTokenDetails?.cacheReadTokens,"ai.usage.inputTokenDetails.cacheWriteTokens":e.usage.inputTokenDetails?.cacheWriteTokens,"ai.usage.outputTokenDetails.textTokens":e.usage.outputTokenDetails?.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens,"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.response.id":e.response.id,"gen_ai.response.model":e.response.modelId,"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens})),i&&e.performance.timeToFirstOutputMs!=null&&n.stepSpan.addEvent(`ai.stream.firstChunk`,{"ai.response.msToFirstChunk":e.performance.timeToFirstOutputMs}),i&&n.stepSpan.addEvent(`ai.stream.finish`,{"ai.response.msToFinish":e.performance.responseTimeMs,"ai.response.avgOutputTokensPerSecond":e.performance.effectiveOutputTokensPerSecond}),n.stepSpan.end(),n.stepSpan=void 0,n.stepContext=void 0}onStepFinish(e){this.onStepEnd(e)}onEnd(e){let t=this.getCallState(e.callId);if(t?.rootSpan){if(t.operationId===`ai.embed`||t.operationId===`ai.embedMany`){this.onEmbedOperationEnd(e);return}if(t.operationId===`ai.rerank`){this.onRerankOperationEnd(e);return}if(t.operationId===`ai.generateSpeech`||t.operationId===`ai.transcribe`){this.onAudioOperationEnd(e);return}if(t.operationId===`ai.generateObject`||t.operationId===`ai.streamObject`){this.onObjectOperationEnd(e);return}this.onGenerateEnd(e)}}experimental_onStreamTranscriptionEnd(e){this.onAudioOperationEnd(e)}onAudioOperationEnd(e){let t=this.getCallState(e.callId);if(!t?.rootSpan)return;let n=e.operationId===`ai.generateSpeech`,r=e.audio;t.rootSpan.setAttributes(
|
|
3
|
-
`):void 0},"ai.response.toolCalls":{output:()=>e.toolCalls.length>0?JSON.stringify(e.toolCalls.map(e=>({toolCallId:e.toolCallId,toolName:e.toolName,input:e.input}))):void 0},"ai.response.files":{output:()=>e.files.length>0?JSON.stringify(e.files.map(e=>({type:`file`,mediaType:e.mediaType,data:e.base64}))):void 0},"ai.response.providerMetadata":e.finalStep.providerMetadata?JSON.stringify(e.finalStep.providerMetadata):void 0,"ai.usage.inputTokens":e.usage.inputTokens,"ai.usage.outputTokens":e.usage.outputTokens,"ai.usage.totalTokens":e.usage.totalTokens,"ai.usage.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens,"ai.usage.cachedInputTokens":e.usage.inputTokenDetails?.cacheReadTokens,"ai.usage.inputTokenDetails.noCacheTokens":e.usage.inputTokenDetails?.noCacheTokens,"ai.usage.inputTokenDetails.cacheReadTokens":e.usage.inputTokenDetails?.cacheReadTokens,"ai.usage.inputTokenDetails.cacheWriteTokens":e.usage.inputTokenDetails?.cacheWriteTokens,"ai.usage.outputTokenDetails.textTokens":e.usage.outputTokenDetails?.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens})),n.rootSpan.end(),this.cleanupCallState(e.callId)}onObjectOperationEnd(e){let n=this.getCallState(e.callId);if(!n?.rootSpan)return;e.finishReason===`error`&&n.rootSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.rootSpan.setAttributes(
|
|
1
|
+
import{APICallError as e}from"../provider/index.js";import{l as t,r as n,s as r,u as i}from"../../_chunks/workflow/esm-DtrPCf49.js";import{RetryError as a,convertDataContentToBase64String as o}from"ai";function s(e){let t=e.toLowerCase();for(let[e,n]of[[`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`]])if(t===e||t.startsWith(e+`.`)||t.startsWith(e+`-`))return n;return e}function c(e){return{"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`,"ai.generateSpeech":`ai.generateSpeech`,"ai.transcribe":`ai.transcribe`,"ai.streamTranscribe":`ai.streamTranscribe`}[e]??e}function l(e){return typeof e==`string`?[{type:`text`,content:e}]:Array.isArray(e)?e.map(e=>({type:`text`,content:e.content})):[{type:`text`,content:e.content}]}function u(e){switch(e.type){case`text`:return{type:`text`,content:e.text};case`reasoning`:return{type:`reasoning`,content:e.text};case`tool-call`:return{type:`tool_call`,id:e.toolCallId??null,name:e.toolName,arguments:e.input};case`tool-result`:{let t=e.output,n;return t&&(n=t.type===`text`||t.type===`error-text`||t.type===`json`||t.type===`error-json`?t.value:t.type===`execution-denied`?{denied:!0,reason:t.reason}:t),{type:`tool_call_response`,id:e.toolCallId??null,response:n}}case`file`:{let t=e.data,n=(()=>{if(typeof t==`object`&&t&&!(t instanceof URL)&&!(t instanceof Uint8Array)&&!(t instanceof ArrayBuffer)&&`type`in t)switch(t.type){case`data`:return t.data;case`url`:return t.url;case`text`:return t.text;default:return``}return t})(),r;if(n instanceof Uint8Array)r=o(n);else if(typeof n==`string`){if(n.startsWith(`http://`)||n.startsWith(`https://`))return{type:`uri`,modality:d(e.mediaType),mime_type:e.mediaType??null,uri:n};r=n}else if(n instanceof URL)return{type:`uri`,modality:d(e.mediaType),mime_type:e.mediaType??null,uri:n.toString()};else r=String(n);return{type:`blob`,modality:d(e.mediaType),mime_type:e.mediaType??null,content:r}}case`tool-approval-response`:return{type:`tool_approval_response`,approval_id:e.approvalId,approved:e.approved,reason:e.reason};case`custom`:return{type:`custom`,kind:e.kind};case`reasoning-file`:return{type:String(e.type)};default:return{type:String(e.type)}}}function d(e){return!e||e.startsWith(`image/`)?`image`:e.startsWith(`video/`)?`video`:e.startsWith(`audio/`)?`audio`:`image`}function f(e){return e.map(e=>{if(e.role===`system`)return{role:`system`,parts:[{type:`text`,content:e.content}]};let t=e.content.map(u);return{role:e.role,parts:t}})}function p({prompt:e,messages:t}){let n=[];if(typeof e==`string`)n.push({role:`user`,parts:[{type:`text`,content:e}]});else if(Array.isArray(e))for(let t of e){let e=m(t);e&&n.push(e)}if(t)for(let e of t){let t=m(e);t&&n.push(t)}return n}function m(e){return e.role===`system`?{role:`system`,parts:[{type:`text`,content:e.content}]}:e.role===`user`?typeof e.content==`string`?{role:`user`,parts:[{type:`text`,content:e.content}]}:{role:`user`,parts:e.content.map(e=>{switch(e.type){case`text`:return{type:`text`,content:e.text};case`image`:{let t=e.image;return t instanceof URL?{type:`uri`,modality:`image`,mime_type:e.mediaType??null,uri:t.toString()}:typeof t==`string`?t.startsWith(`http://`)||t.startsWith(`https://`)?{type:`uri`,modality:`image`,mime_type:e.mediaType??null,uri:t}:{type:`blob`,modality:`image`,mime_type:e.mediaType??null,content:t}:{type:`blob`,modality:`image`,mime_type:e.mediaType??null,content:o(t)}}case`file`:{let t=e.data,n=(()=>{if(typeof t==`object`&&t&&!(t instanceof URL)&&!(t instanceof Uint8Array)&&!(t instanceof ArrayBuffer)&&`type`in t)switch(t.type){case`data`:return t.data;case`url`:return t.url;case`text`:return t.text;default:return``}return t})();return n instanceof URL?{type:`uri`,modality:d(e.mediaType),mime_type:e.mediaType??null,uri:n.toString()}:typeof n==`string`?n.startsWith(`http://`)||n.startsWith(`https://`)?{type:`uri`,modality:d(e.mediaType),mime_type:e.mediaType??null,uri:n}:{type:`blob`,modality:d(e.mediaType),mime_type:e.mediaType??null,content:n}:{type:`blob`,modality:d(e.mediaType),mime_type:e.mediaType??null,content:o(n)}}default:return{type:String(e.type)}}})}:e.role===`assistant`?typeof e.content==`string`?{role:`assistant`,parts:[{type:`text`,content:e.content}]}:{role:`assistant`,parts:e.content.map(e=>{switch(e.type){case`text`:return{type:`text`,content:e.text};case`reasoning`:return{type:`reasoning`,content:e.text};case`tool-call`:return{type:`tool_call`,id:e.toolCallId??null,name:e.toolName,arguments:e.input};case`tool-result`:{let t=e.output,n;return t&&(n=t.type===`text`||t.type===`error-text`||t.type===`json`||t.type===`error-json`?t.value:t.type===`execution-denied`?{denied:!0,reason:t.reason}:t),{type:`tool_call_response`,id:e.toolCallId??null,response:n}}default:return{type:String(e.type)}}})}:e.role===`tool`?{role:`tool`,parts:e.content.map(e=>{if(e.type===`tool-result`){let t=e.output,n;return t&&(n=t.type===`text`||t.type===`error-text`||t.type===`json`||t.type===`error-json`?t.value:t.type===`execution-denied`?{denied:!0,reason:t.reason}:t),{type:`tool_call_response`,id:e.toolCallId??null,response:n}}return{type:String(e.type)}})}:e}function h({text:e,reasoning:t,toolCalls:n,toolResults:r,files:i,finishReason:a}){let o=[];if(t)for(let e of t)`text`in e&&e.text&&o.push({type:`reasoning`,content:e.text});if(e!=null&&e.length>0&&o.push({type:`text`,content:e}),n)for(let e of n)o.push({type:`tool_call`,id:e.toolCallId,name:e.toolName,arguments:e.input});if(r)for(let e of r)o.push({type:`tool_call_response`,id:e.toolCallId,response:e.output});if(i)for(let e of i)o.push({type:`blob`,modality:d(e.mediaType),mime_type:e.mediaType,content:e.base64});return[{role:`assistant`,parts:o,finish_reason:_(a)}]}function g({objectText:e,finishReason:t}){return[{role:`assistant`,parts:[{type:`text`,content:e}],finish_reason:_(t)}]}function _(e){return{stop:`stop`,length:`length`,"content-filter":`content_filter`,"tool-calls":`tool_call`,error:`error`,other:`stop`,unknown:`stop`}[e]??e}function v(e){return JSON.stringify(e.map(e=>({...e,content:typeof e.content==`string`?e.content:e.content.map(e=>e.type===`file`?{...e,data:x(e.data)}:e)})))}function y(e){return Array.isArray(e)}function b(e){return JSON.stringify(y(e)?e.map(e=>e.type===`file`?{...e,data:x(e.data)}:e):e)}function x(e){if(typeof e==`string`)return e;if(e instanceof URL)return e.toString();if(e instanceof Uint8Array||e instanceof ArrayBuffer)return o(e);switch(e.type){case`data`:return o(e.data);case`url`:return e.url.toString();case`reference`:return e.reference;case`text`:return e.text;default:return e}}function S(n,r){let i=a.isInstance(r)?r.lastError:r;e.isInstance(i)&&i.statusCode!=null&&n.setAttribute(`http.response.status_code`,i.statusCode),r instanceof Error?(n.recordException({name:r.name,message:r.message,stack:r.stack}),n.setStatus({code:t.ERROR,message:r.message})):n.setStatus({code:t.ERROR})}const C={inputtokens:`input_tokens`,prompttokens:`input_tokens`,prompttokencount:`input_tokens`,totalinputtokens:`input_tokens`,outputtokens:`output_tokens`,completiontokens:`output_tokens`,completiontokencount:`output_tokens`,candidatestokencount:`output_tokens`,totaltokens:`total_tokens`,totaltokencount:`total_tokens`};function w(e){let t=e.replace(/[^a-zA-Z0-9]/g,``).toLowerCase();return C[t]??e.replace(/([a-z0-9])([A-Z])/g,`$1_$2`).replace(/[^a-zA-Z0-9]+/g,`_`).replace(/^_+|_+$/g,``).toLowerCase()}function T({usage:e,prefix:t}){let n={},r=(e,i)=>{if(typeof e==`number`){Number.isFinite(e)&&i.length>0&&(n[`${t}.${i.join(`.`)}`]=e);return}if(typeof e==`object`&&e&&!Array.isArray(e))for(let[t,n]of Object.entries(e)){let e=w(t);e!==``&&r(n,[...i,e])}};return r(e,[]),n}function E(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`}function D(e){if(!Array.isArray(e))return typeof e==`number`&&!Number.isFinite(e)?void 0:e;let t=new Set(e.filter(E).map(e=>typeof e));if(t.size!==1)return;let[n]=t;if(n===`string`)return e.filter(e=>typeof e==`string`);if(n===`number`){let t=e.filter(e=>typeof e==`number`);return t.every(Number.isFinite)?t:void 0}return e.filter(e=>typeof e==`boolean`)}function O(e){let t={};for(let[n,r]of Object.entries(e??{})){if(r==null)continue;let e=D(r);e!=null&&(t[n]=e)}return t}function k(e){return e?.isEnabled!==!1}function A(e,t){if(!k(e))return{};let n={};for(let[r,i]of Object.entries(t)){if(i==null)continue;if(typeof i==`object`&&`input`in i&&typeof i.input==`function`){if(e?.recordInputs===!1)continue;let t=i.input();if(t!=null){let e=D(t);e!=null&&(n[r]=e)}continue}if(typeof i==`object`&&`output`in i&&typeof i.output==`function`){if(e?.recordOutputs===!1)continue;let t=i.output();if(t!=null){let e=D(t);e!=null&&(n[r]=e)}continue}let t=D(i);t!=null&&(n[r]=t)}return n}const j={usage:!1,providerMetadata:!1,embedding:!1,reranking:!1,experimental_decision:!1,runtimeContext:!1,headers:!1,toolChoice:!1,schema:!1};function M(e){return{...j,usage:e.usage??!1,providerMetadata:e.providerMetadata??!1,embedding:e.embedding??!1,reranking:e.reranking??!1,experimental_decision:e.experimental_decision??e.experimental_evaluation??!1,runtimeContext:e.runtimeContext??!1,headers:e.headers??!1,toolChoice:e.toolChoice??!1,schema:e.schema??!1}}function N(e){let t={};for(let[n,r]of Object.entries(e??{}))P(t,`ai.settings.context.${n}`,r);return t}function P(e,t,n){if(n!=null){if(Array.isArray(n)||typeof n!=`object`){e[t]=n;return}for(let[r,i]of Object.entries(n))P(e,`${t}.${r}`,i)}}function F(e){return Object.fromEntries(Object.entries(e??{}).filter(([,e])=>e!=null).map(([e,t])=>[`ai.request.headers.${e}`,t]))}function I(e){return{"ai.usage.inputTokenDetails.noCacheTokens":e.inputTokenDetails?.noCacheTokens,"ai.usage.outputTokenDetails.textTokens":e.outputTokenDetails?.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":e.outputTokenDetails?.reasoningTokens}}function L(e,t,n){let r={};for(let[i,a]of Object.entries(n))t[i]&&a!=null&&Object.assign(r,A(e,a));return r}function R(e){return e==null?void 0:e/1e3}function z(e){return{"gen_ai.client.operation.duration":R(e.responseTimeMs),"gen_ai.client.operation.time_to_first_chunk":R(e.timeToFirstOutputMs),"gen_ai.client.operation.time_per_output_chunk":R(e.timeBetweenOutputChunksMs?.avg)}}var B=class{constructor(e={}){this.callStates=new Map,this.tracer=e.tracer??n.getTracer(`gen_ai`),this.supplementalAttributes=M(e),this.enrichSpan=e.enrichSpan}getCallState(e){return this.callStates.get(e)}cleanupCallState(e){this.callStates.delete(e)}getSpanAttributes({attributes:e,spanType:t,operationId:n,callId:r,runtimeContext:i}){let a;try{a=this.enrichSpan?.({spanType:t,operationId:n,callId:r,runtimeContext:i})}catch{a=void 0}return{...O(a),...e}}executeTool({callId:e,toolCallId:t,execute:n}){let i=this.getCallState(e)?.toolSpans.get(t);return i==null?n():r.with(i.context,n)}executeLanguageModelCall({callId:e,execute:t}){let n=this.getCallState(e),i=n?.inferenceContext??n?.stepContext;return i==null?t():r.with(i,t)}onStart(e){if(e.operationId===`ai.generateSpeech`){this.onAudioOperationStart(e);return}if(e.operationId===`ai.transcribe`){this.onAudioOperationStart(e);return}if(e.operationId===`ai.embed`||e.operationId===`ai.embedMany`){this.onEmbedOperationStart(e);return}if(e.operationId===`ai.rerank`){this.onRerankOperationStart(e);return}if(e.operationId===`ai.generateObject`||e.operationId===`ai.streamObject`){this.onObjectOperationStart(e);return}this.onGenerateStart(e)}experimental_onStreamTranscriptionStart(e){this.onAudioOperationStart(e)}onAudioOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a=s(e.provider),o=c(e.operationId),l=`audio`in e?e.audio:void 0,u=`text`in e?e.text:void 0,d=L(t,this.supplementalAttributes,{headers:F(e.headers)}),f=A(t,{"gen_ai.operation.name":o,"gen_ai.provider.name":a,"gen_ai.request.model":e.modelId,"gen_ai.agent.name":t.functionId,"gen_ai.output.type":e.operationId===`ai.generateSpeech`?`speech`:`text`,"gen_ai.request.stream":e.operationId===`ai.streamTranscribe`,"gen_ai.input.messages":u==null?void 0:{input:()=>JSON.stringify([{role:`user`,parts:[{type:`text`,content:u}]}])},"ai.request.text":u==null?void 0:{input:()=>u},"ai.request.audio.size":l?.byteLength==null?void 0:{input:()=>l.byteLength},"ai.request.audio.media_type":l==null?void 0:{input:()=>l.mediaType},...d}),p=this.tracer.startSpan(`${o} ${e.modelId}`,{attributes:this.getSpanAttributes({attributes:f,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:void 0}),kind:i.CLIENT}),m=n.setSpan(r.active(),p);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:p,rootContext:m,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:{},provider:e.provider,modelId:e.modelId,runtimeContext:void 0,baseSupplementalAttributes:d})}onGenerateStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a={maxOutputTokens:e.maxOutputTokens,temperature:e.temperature,topP:e.topP,topK:e.topK,presencePenalty:e.presencePenalty,frequencyPenalty:e.frequencyPenalty,stopSequences:e.stopSequences,seed:e.seed,maxRetries:e.maxRetries},o=s(e.provider),u=c(e.operationId),d=e.runtimeContext,f=L(t,this.supplementalAttributes,{runtimeContext:N(d),headers:F(e.headers)}),m=A(t,{"gen_ai.operation.name":u,"gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,"gen_ai.agent.name":t.functionId,"gen_ai.request.frequency_penalty":e.frequencyPenalty,"gen_ai.request.max_tokens":e.maxOutputTokens,"gen_ai.request.presence_penalty":e.presencePenalty,"gen_ai.request.temperature":e.temperature??void 0,"gen_ai.request.top_k":e.topK,"gen_ai.request.top_p":e.topP,"gen_ai.request.stop_sequences":e.stopSequences,"gen_ai.request.seed":e.seed,"gen_ai.system_instructions":e.instructions==null?void 0:{input:()=>JSON.stringify(l(e.instructions))},"gen_ai.input.messages":{input:()=>JSON.stringify(p({prompt:void 0,messages:e.messages}))},...f}),h=`${u} ${e.modelId}`,g=this.tracer.startSpan(h,{attributes:this.getSpanAttributes({attributes:m,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:d}),kind:i.INTERNAL}),_=n.setSpan(r.active(),g);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:g,rootContext:_,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:a,provider:e.provider,modelId:e.modelId,runtimeContext:d,baseSupplementalAttributes:f})}onObjectOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a={maxOutputTokens:e.maxOutputTokens,temperature:e.temperature,topP:e.topP,topK:e.topK,presencePenalty:e.presencePenalty,frequencyPenalty:e.frequencyPenalty,seed:e.seed,maxRetries:e.maxRetries},o=s(e.provider),u=c(e.operationId),d=L(t,this.supplementalAttributes,{headers:F(e.headers)}),f=A(t,{"gen_ai.operation.name":u,"gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,"gen_ai.agent.name":t.functionId,"gen_ai.output.type":`json`,"gen_ai.request.frequency_penalty":e.frequencyPenalty,"gen_ai.request.max_tokens":e.maxOutputTokens,"gen_ai.request.presence_penalty":e.presencePenalty,"gen_ai.request.temperature":e.temperature??void 0,"gen_ai.request.top_k":e.topK,"gen_ai.request.top_p":e.topP,"gen_ai.request.seed":e.seed,"gen_ai.system_instructions":e.system?{input:()=>JSON.stringify(l(e.system))}:void 0,"gen_ai.input.messages":{input:()=>JSON.stringify(p({prompt:e.prompt,messages:e.messages}))},...d,...L(t,this.supplementalAttributes,{schema:{"ai.schema":e.schema?{input:()=>JSON.stringify(e.schema)}:void 0,"ai.schema.name":e.schemaName,"ai.schema.description":e.schemaDescription,"ai.settings.output":e.output}})}),m=`${u} ${e.modelId}`,h=this.tracer.startSpan(m,{attributes:this.getSpanAttributes({attributes:f,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:void 0}),kind:i.INTERNAL}),g=n.setSpan(r.active(),h);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:h,rootContext:g,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:a,provider:e.provider,modelId:e.modelId,runtimeContext:void 0,baseSupplementalAttributes:d,objectSystemInstructions:e.system})}onObjectStepStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,a=s(e.provider),o=t.objectSystemInstructions==null?0:l(t.objectSystemInstructions).length,c=e.promptMessages?.slice(o),u=A(r,{"gen_ai.operation.name":`chat`,"gen_ai.provider.name":a,"gen_ai.request.model":e.modelId,"gen_ai.output.type":`json`,"gen_ai.request.frequency_penalty":t.settings.frequencyPenalty,"gen_ai.request.max_tokens":t.settings.maxOutputTokens,"gen_ai.request.presence_penalty":t.settings.presencePenalty,"gen_ai.request.temperature":t.settings.temperature??void 0,"gen_ai.request.top_k":t.settings.topK,"gen_ai.request.top_p":t.settings.topP,"gen_ai.system_instructions":t.objectSystemInstructions==null?void 0:{input:()=>JSON.stringify(l(t.objectSystemInstructions))},"gen_ai.input.messages":{input:()=>c?JSON.stringify(f(c)):void 0},...t.baseSupplementalAttributes}),d=`chat ${e.modelId}`;t.inferenceSpan=this.tracer.startSpan(d,{attributes:this.getSpanAttributes({attributes:u,spanType:`languageModel`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.CLIENT},t.rootContext),t.inferenceContext=n.setSpan(t.rootContext,t.inferenceSpan)}onObjectStepEnd(e){let n=this.getCallState(e.callId);if(!n?.inferenceSpan)return;e.finishReason===`error`&&n.inferenceSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.inferenceSpan.setAttributes(A(r,{"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.response.id":e.response.id,"gen_ai.response.model":e.response.modelId,"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":e.usage.inputTokenDetails?.cacheReadTokens,"gen_ai.output.messages":{output:()=>{try{return JSON.stringify(g({objectText:e.objectText,finishReason:e.finishReason}))}catch{return e.objectText}}},...L(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0},usage:I(e.usage)})})),n.inferenceSpan.end(),n.inferenceSpan=void 0,n.inferenceContext=void 0}onEmbedOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a=e.runtimeContext,o=s(e.provider),l=L(t,this.supplementalAttributes,{runtimeContext:N(a),headers:F(e.headers)}),u=e.value,d=e.operationId===`ai.embedMany`,f=c(e.operationId),p=A(t,{"gen_ai.operation.name":f,"gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...l,...L(t,this.supplementalAttributes,{embedding:d?{"ai.values":{input:()=>u.map(e=>JSON.stringify(e))}}:{"ai.value":{input:()=>JSON.stringify(u)}}})}),m=`${f} ${e.modelId}`,h=this.tracer.startSpan(m,{attributes:this.getSpanAttributes({attributes:p,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:a}),kind:i.CLIENT}),g=n.setSpan(r.active(),h);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:h,rootContext:g,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:{maxRetries:e.maxRetries},provider:e.provider,modelId:e.modelId,runtimeContext:a,baseSupplementalAttributes:l})}onStepStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t;t.runtimeContext=e.runtimeContext;let a=A(r,{"gen_ai.operation.name":`agent_step`,...t.baseSupplementalAttributes,...L(r,this.supplementalAttributes,{toolChoice:{"ai.prompt.toolChoice":{input:()=>e.stepToolChoice==null?void 0:JSON.stringify(e.stepToolChoice)}}})});t.stepSpan=this.tracer.startSpan(`step ${e.steps.length+1}`,{attributes:this.getSpanAttributes({attributes:a,spanType:`step`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.INTERNAL},t.rootContext),t.stepContext=n.setSpan(t.rootContext,t.stepSpan)}onLanguageModelCallStart(e){let t=this.getCallState(e.callId);if(!t?.stepContext)return;let{telemetry:r}=t,a=s(e.provider);t.inferenceToolDefinitions=e.tools;let o=A(r,{"gen_ai.operation.name":`chat`,"gen_ai.provider.name":a,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":t.settings.frequencyPenalty,"gen_ai.request.max_tokens":t.settings.maxOutputTokens,"gen_ai.request.presence_penalty":t.settings.presencePenalty,"gen_ai.request.stop_sequences":t.settings.stopSequences,"gen_ai.request.temperature":t.settings.temperature??void 0,"gen_ai.request.top_k":t.settings.topK,"gen_ai.request.top_p":t.settings.topP,"gen_ai.system_instructions":e.instructions==null?void 0:{input:()=>JSON.stringify(l(e.instructions))},"gen_ai.input.messages":{input:()=>{let t=p({prompt:void 0,messages:e.messages});return t.length>0?JSON.stringify(t):void 0}},"gen_ai.tool.definitions":{input:()=>e.tools?JSON.stringify(e.tools):void 0}});t.inferenceSpan=this.tracer.startSpan(`chat ${e.modelId}`,{attributes:this.getSpanAttributes({attributes:o,spanType:`languageModel`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.CLIENT},t.stepContext),t.inferenceContext=n.setSpan(t.stepContext,t.inferenceSpan)}onLanguageModelCallEnd(e){let n=this.getCallState(e.callId);if(!n?.inferenceSpan)return;e.finishReason===`error`&&n.inferenceSpan.setStatus({code:t.ERROR});let{telemetry:r}=n,a=s(e.provider),o=[...n.inferenceToolDefinitions??[]],c=new Set(o.flatMap(e=>typeof e.name==`string`?[e.name]:[])),l=!1;for(let t of e.content)t.type===`tool-call`&&t.providerExecuted&&!c.has(t.toolName)&&(o.push({type:`extension`,name:t.toolName}),c.add(t.toolName),l=!0);n.inferenceSpan.setAttributes(A(r,{...z(e.performance),"gen_ai.provider.name":a,"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.response.id":e.responseId,"gen_ai.response.model":e.modelId,"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":e.usage.inputTokenDetails?.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":e.usage.inputTokenDetails?.cacheWriteTokens,"gen_ai.output.messages":{output:()=>JSON.stringify(h({text:e.content.filter(e=>e.type===`text`).map(e=>e.text).join(``)||void 0,reasoning:e.content.filter(e=>e.type===`reasoning`),toolCalls:e.content.filter(e=>e.type===`tool-call`),toolResults:e.content.filter(e=>e.type===`tool-result`),files:e.content.filter(e=>e.type===`file`).map(e=>e.file),finishReason:e.finishReason}))},"gen_ai.tool.definitions":l?{input:()=>JSON.stringify(o)}:void 0,...L(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0},usage:I(e.usage)})}));let u=new Map;for(let t of e.content)(t.type===`tool-error`||t.type===`tool-result`&&t.preliminary!==!0)&&u.set(t.toolCallId,t);let d=new Set;for(let t of e.content){if(t.type!==`tool-call`||!t.providerExecuted||d.has(t.toolCallId))continue;d.add(t.toolCallId);let a=this.tracer.startSpan(`execute_tool ${t.toolName}`,{attributes:this.getSpanAttributes({attributes:A(r,{"gen_ai.operation.name":`execute_tool`,"gen_ai.tool.name":t.toolName,"gen_ai.tool.call.id":t.toolCallId,"gen_ai.tool.type":`extension`,"gen_ai.tool.call.arguments":{input:()=>JSON.stringify(t.input)}}),spanType:`tool`,operationId:n.operationId,callId:e.callId,runtimeContext:n.runtimeContext}),kind:i.INTERNAL},n.inferenceContext),o=u.get(t.toolCallId);if(o?.type===`tool-result`)try{a.setAttributes(A(r,{"gen_ai.tool.call.result":{output:()=>JSON.stringify(o.output)}}))}catch{}else o?.type===`tool-error`&&S(a,o.error);a.end()}n.inferenceSpan.end(),n.inferenceSpan=void 0,n.inferenceContext=void 0,n.inferenceToolDefinitions=void 0}onToolExecutionStart(e){let t=this.getCallState(e.callId),r=t?.stepContext??t?.rootContext;if(!t||!r)return;let{telemetry:a}=t,{toolCall:o}=e,s=A(a,{"gen_ai.operation.name":`execute_tool`,"gen_ai.tool.name":o.toolName,"gen_ai.tool.call.id":o.toolCallId,"gen_ai.tool.type":o.providerExecuted?`extension`:`function`,"gen_ai.tool.call.arguments":{input:()=>JSON.stringify(o.input)}}),c=`execute_tool ${o.toolName}`,l=this.tracer.startSpan(c,{attributes:this.getSpanAttributes({attributes:s,spanType:`tool`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.INTERNAL},r),u=n.setSpan(r,l);t.toolSpans.set(o.toolCallId,{span:l,context:u})}onToolExecutionEnd(e){let t=this.getCallState(e.callId);if(!t)return;let n=t.toolSpans.get(e.toolCall.toolCallId);if(!n)return;let{span:r}=n,{telemetry:i}=t,{toolOutput:a}=e;if(r.setAttributes(A(i,{"gen_ai.execute_tool.duration":R(e.toolExecutionMs)})),a.type===`tool-result`)try{r.setAttributes(A(i,{"gen_ai.tool.call.result":{output:()=>JSON.stringify(a.output)}}))}catch{}else S(r,a.error);r.end(),t.toolSpans.delete(e.toolCall.toolCallId)}onStepEnd(e){let n=this.getCallState(e.callId);if(!n?.stepSpan)return;e.finishReason===`error`&&n.stepSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.stepSpan.setAttributes(L(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0},usage:I(e.usage)})),n.stepSpan.end(),n.stepSpan=void 0,n.stepContext=void 0}onStepFinish(e){this.onStepEnd(e)}onEnd(e){let t=this.getCallState(e.callId);if(t?.rootSpan){if(t.operationId===`ai.embed`||t.operationId===`ai.embedMany`){this.onEmbedOperationEnd(e);return}if(t.operationId===`ai.rerank`){this.onRerankOperationEnd(e);return}if(t.operationId===`ai.generateSpeech`||t.operationId===`ai.transcribe`){this.onAudioOperationEnd(e);return}if(t.operationId===`ai.generateObject`||t.operationId===`ai.streamObject`){this.onObjectOperationEnd(e);return}this.onGenerateEnd(e)}}experimental_onStreamTranscriptionEnd(e){this.onAudioOperationEnd(e)}onAudioOperationEnd(e){let t=this.getCallState(e.callId);if(!t?.rootSpan)return;let n=e.operationId===`ai.generateSpeech`?e.audio:void 0,r=e.operationId===`ai.generateSpeech`?void 0:e.audio,i=`segments`in e?e.text:void 0;t.rootSpan.setAttributes(A(t.telemetry,{"ai.request.audio.size":r==null?void 0:{input:()=>r.byteLength},"ai.request.audio.media_type":r==null?void 0:{input:()=>r.mediaType},"ai.response.text":i==null?void 0:{output:()=>i},"gen_ai.output.messages":i==null?void 0:{output:()=>JSON.stringify([{role:`assistant`,parts:[{type:`text`,content:i}]}])},"ai.response.audio.size":n==null?void 0:{output:()=>n.byteLength},"ai.response.audio.media_type":n==null?void 0:{output:()=>n.mediaType},"ai.response.audio.format":n==null||!(`format`in n)?void 0:{output:()=>String(n.format)},...T({usage:e.usage,prefix:`gen_ai.usage`}),...L(t.telemetry,this.supplementalAttributes,{usage:{"ai.response.usage":e.usage==null?void 0:JSON.stringify(e.usage)},providerMetadata:{"ai.response.providerMetadata":e.providerMetadata==null?void 0:JSON.stringify(e.providerMetadata)}})})),t.rootSpan.end(),this.cleanupCallState(e.callId)}onGenerateEnd(e){let n=this.getCallState(e.callId);if(!n?.rootSpan)return;e.finishReason===`error`&&n.rootSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.rootSpan.setAttributes(A(r,{"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":e.usage.inputTokenDetails?.cacheReadTokens,"gen_ai.usage.cache_creation.input_tokens":e.usage.inputTokenDetails?.cacheWriteTokens,"gen_ai.output.messages":{output:()=>JSON.stringify(h({text:e.text??void 0,reasoning:e.finalStep.reasoning,toolCalls:e.toolCalls,toolResults:e.toolResults,files:e.files,finishReason:e.finishReason}))},...L(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":e.finalStep.providerMetadata?JSON.stringify(e.finalStep.providerMetadata):void 0},usage:I(e.usage)})})),n.rootSpan.end(),this.cleanupCallState(e.callId)}onObjectOperationEnd(e){let n=this.getCallState(e.callId);if(!n?.rootSpan)return;e.finishReason===`error`&&n.rootSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.rootSpan.setAttributes(A(r,{"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens,"gen_ai.usage.cache_read.input_tokens":e.usage.inputTokenDetails?.cacheReadTokens,"gen_ai.output.messages":{output:()=>e.object==null?void 0:JSON.stringify(g({objectText:JSON.stringify(e.object),finishReason:e.finishReason}))},...L(r,this.supplementalAttributes,{providerMetadata:{"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0},usage:I(e.usage)})})),n.rootSpan.end(),this.cleanupCallState(e.callId)}onEmbedOperationEnd(e){let t=this.getCallState(e.callId);if(!t?.rootSpan)return;let{telemetry:n}=t,r=t.operationId===`ai.embedMany`;t.rootSpan.setAttributes(A(n,{...L(n,this.supplementalAttributes,{embedding:r?{"ai.embeddings":{output:()=>e.embedding.map(e=>JSON.stringify(e))}}:{"ai.embedding":{output:()=>JSON.stringify(e.embedding)}}})})),t.rootSpan.end(),this.cleanupCallState(e.callId)}onEmbedStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,a=A(r,{"gen_ai.operation.name":`embeddings`,"gen_ai.provider.name":s(t.provider),"gen_ai.request.model":t.modelId,...t.baseSupplementalAttributes,...L(r,this.supplementalAttributes,{embedding:{"ai.values":{input:()=>e.values.map(e=>JSON.stringify(e))}}})}),o=`embeddings ${t.modelId}`,c=this.tracer.startSpan(o,{attributes:this.getSpanAttributes({attributes:a,spanType:`embedding`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.CLIENT},t.rootContext),l=n.setSpan(t.rootContext,c);t.embedSpans.set(e.embedCallId,{span:c,context:l})}onEmbedEnd(e){let t=this.getCallState(e.callId);if(!t)return;let n=t.embedSpans.get(e.embedCallId);if(!n)return;let{span:r}=n,{telemetry:i}=t;r.setAttributes(A(i,{"gen_ai.usage.input_tokens":e.usage.tokens,...L(i,this.supplementalAttributes,{embedding:{"ai.embeddings":{output:()=>e.embeddings.map(e=>JSON.stringify(e))}}})})),r.end(),t.embedSpans.delete(e.embedCallId)}onRerankOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a=e.runtimeContext,o=s(e.provider),c=L(t,this.supplementalAttributes,{runtimeContext:N(a),headers:F(e.headers)}),l=A(t,{"gen_ai.operation.name":`rerank`,"gen_ai.provider.name":o,"gen_ai.request.model":e.modelId,...c,...L(t,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>e.documents.map(e=>JSON.stringify(e))}}})}),u=`rerank ${e.modelId}`,d=this.tracer.startSpan(u,{attributes:this.getSpanAttributes({attributes:l,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:a}),kind:i.CLIENT}),f=n.setSpan(r.active(),d);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:d,rootContext:f,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:{maxRetries:e.maxRetries},provider:e.provider,modelId:e.modelId,runtimeContext:a,baseSupplementalAttributes:c})}onRerankOperationEnd(e){let t=this.getCallState(e.callId);t?.rootSpan&&(t.rootSpan.end(),this.cleanupCallState(e.callId))}onRerankStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,a=A(r,{"gen_ai.operation.name":`rerank`,"gen_ai.provider.name":s(t.provider),"gen_ai.request.model":t.modelId,...t.baseSupplementalAttributes,...L(r,this.supplementalAttributes,{reranking:{"ai.documents":{input:()=>e.documents.map(e=>JSON.stringify(e))}}})}),o=`rerank ${t.modelId}`,c=this.tracer.startSpan(o,{attributes:this.getSpanAttributes({attributes:a,spanType:`reranking`,operationId:t.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.CLIENT},t.rootContext);t.rerankSpan={span:c,context:n.setSpan(t.rootContext,c)}}onRerankEnd(e){let t=this.getCallState(e.callId);if(!t?.rerankSpan)return;let{span:n}=t.rerankSpan,{telemetry:r}=t;n.setAttributes(L(r,this.supplementalAttributes,{reranking:{"ai.ranking.type":e.documentsType,"ai.ranking":{output:()=>e.ranking.map(e=>JSON.stringify(e))}}})),n.end(),t.rerankSpan=void 0}onDecideOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},a=e.runtimeContext,o=L(t,this.supplementalAttributes,{runtimeContext:N(a),headers:F(e.headers)}),c=A(t,{"gen_ai.operation.name":`decide`,"gen_ai.provider.name":s(e.provider),"gen_ai.request.model":e.modelId,...o,...L(t,this.supplementalAttributes,{experimental_decision:{"ai.decision.state":{input:()=>b(e.state)},"ai.decision.questions":{input:()=>JSON.stringify(e.questions)}}})}),l=this.tracer.startSpan(`decide ${e.modelId}`,{attributes:this.getSpanAttributes({attributes:c,spanType:`operation`,operationId:e.operationId,callId:e.callId,runtimeContext:a}),kind:i.CLIENT}),u=n.setSpan(r.active(),l);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:l,rootContext:u,stepSpan:void 0,stepContext:void 0,inferenceSpan:void 0,inferenceContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,settings:{maxRetries:e.maxRetries},provider:e.provider,modelId:e.modelId,runtimeContext:a,baseSupplementalAttributes:o})}onDecideOperationEnd(e){let t=this.getCallState(e.callId);t?.rootSpan&&(t.rootSpan.setAttributes(L(t.telemetry,this.supplementalAttributes,{experimental_decision:{"ai.decision.answers":{output:()=>JSON.stringify(e.answers)}}})),t.rootSpan.end(),this.cleanupCallState(e.callId))}experimental_onDecideStart(e){this.experimental_onEvaluateStart(e)}experimental_onDecideEnd(e){this.experimental_onEvaluateEnd(e)}experimental_onDecisionModelCallStart(e){this.experimental_onEvaluationModelCallStart(e)}experimental_onDecisionModelCallEnd(e){this.experimental_onEvaluationModelCallEnd(e)}experimental_onEvaluateStart(e){this.onDecideOperationStart(e)}experimental_onEvaluateEnd(e){this.onDecideOperationEnd(e)}experimental_onEvaluationModelCallStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let r=A(t.telemetry,{"gen_ai.operation.name":`decide`,"gen_ai.provider.name":s(t.provider),"gen_ai.request.model":t.modelId,...t.baseSupplementalAttributes,...L(t.telemetry,this.supplementalAttributes,{experimental_decision:{"ai.decision.state":{input:()=>b(e.state)},"ai.decision.questions":{input:()=>JSON.stringify(e.questions)}}})}),a=this.tracer.startSpan(`decide ${t.modelId}`,{attributes:this.getSpanAttributes({attributes:r,spanType:`experimental_decision`,operationId:e.operationId,callId:e.callId,runtimeContext:t.runtimeContext}),kind:i.CLIENT},t.rootContext);t.decisionSpan={span:a,context:n.setSpan(t.rootContext,a)}}experimental_onEvaluationModelCallEnd(e){let t=this.getCallState(e.callId);t?.decisionSpan&&(t.decisionSpan.span.setAttributes(A(t.telemetry,{"gen_ai.usage.input_tokens":e.usage?.inputTokens,"gen_ai.usage.output_tokens":e.usage?.outputTokens,...L(t.telemetry,this.supplementalAttributes,{experimental_decision:{"ai.decision.answers":{output:()=>JSON.stringify(e.answers)}},providerMetadata:{"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0}})})),t.decisionSpan.span.end(),t.decisionSpan=void 0)}onAbort(e){let t=this.getCallState(e.callId);if(t?.rootSpan){for(let{span:e}of t.toolSpans.values())e.end();t.toolSpans.clear(),t.inferenceSpan&&(t.inferenceSpan.end(),t.inferenceSpan=void 0,t.inferenceContext=void 0),t.stepSpan&&(t.stepSpan.end(),t.stepSpan=void 0,t.stepContext=void 0);for(let{span:e}of t.embedSpans.values())e.end();t.embedSpans.clear(),t.rerankSpan&&=(t.rerankSpan.span.end(),void 0),t.decisionSpan&&=(t.decisionSpan.span.end(),void 0),t.rootSpan.end(),this.cleanupCallState(e.callId)}}onError(e){let t=e;if(!t?.callId)return;let n=this.getCallState(t.callId);if(!n?.rootSpan)return;let r=t.error??e;for(let{span:e}of n.toolSpans.values())S(e,r),e.end();n.toolSpans.clear(),n.inferenceSpan&&(S(n.inferenceSpan,r),n.inferenceSpan.end(),n.inferenceSpan=void 0,n.inferenceContext=void 0),n.stepSpan&&(S(n.stepSpan,r),n.stepSpan.end(),n.stepSpan=void 0,n.stepContext=void 0);for(let{span:e}of n.embedSpans.values())S(e,r),e.end();n.embedSpans.clear(),n.rerankSpan&&=(S(n.rerankSpan.span,r),n.rerankSpan.span.end(),void 0),n.decisionSpan&&=(S(n.decisionSpan.span,r),n.decisionSpan.span.end(),void 0),S(n.rootSpan,r),n.rootSpan.end(),this.cleanupCallState(t.callId)}};function V({operationId:e,telemetry:t}){return{"operation.name":`${e}${t?.functionId==null?``:` ${t.functionId}`}`,"resource.name":t?.functionId,"ai.operationId":e,"ai.telemetry.functionId":t?.functionId}}function H({model:e,settings:t,headers:n,context:r}){return{"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.entries(t).reduce((e,[t,n])=>(e[`ai.settings.${t}`]=n,e),{}),...N(r),...Object.entries(n??{}).reduce((e,[t,n])=>(n!==void 0&&(e[`ai.request.headers.${t}`]=n),e),{})}}function U(e,n){n instanceof Error?(e.recordException({name:n.name,message:n.message,stack:n.stack}),e.setStatus({code:t.ERROR,message:n.message})):e.setStatus({code:t.ERROR})}function W(e){return e?.isEnabled!==!1}function G(e,t){if(!W(e))return{};let n={};for(let[r,i]of Object.entries(t)){if(i==null)continue;if(typeof i==`object`&&`input`in i&&typeof i.input==`function`){if(e?.recordInputs===!1)continue;let t=i.input();if(t!=null){let e=D(t);e!=null&&(n[r]=e)}continue}if(typeof i==`object`&&`output`in i&&typeof i.output==`function`){if(e?.recordOutputs===!1)continue;let t=i.output();if(t!=null){let e=D(t);e!=null&&(n[r]=e)}continue}let t=D(i);t!=null&&(n[r]=t)}return n}var K=class{constructor(e={}){this.callStates=new Map,this.tracer=e.tracer??n.getTracer(`ai`)}getCallState(e){return this.callStates.get(e)}cleanupCallState(e){this.callStates.delete(e)}executeTool({callId:e,toolCallId:t,execute:n}){let i=this.getCallState(e)?.toolSpans.get(t);return i==null?n():r.with(i.context,n)}executeLanguageModelCall({callId:e,execute:t}){let n=this.getCallState(e)?.stepContext;return n==null?t():r.with(n,t)}onStart(e){if(e.operationId===`ai.generateSpeech`){this.onAudioOperationStart(e);return}if(e.operationId===`ai.transcribe`){this.onAudioOperationStart(e);return}if(e.operationId===`ai.embed`||e.operationId===`ai.embedMany`){this.onEmbedOperationStart(e);return}if(e.operationId===`ai.rerank`){this.onRerankOperationStart(e);return}if(e.operationId===`ai.generateObject`||e.operationId===`ai.streamObject`){this.onObjectOperationStart(e);return}this.onGenerateStart(e)}experimental_onStreamTranscriptionStart(e){this.onAudioOperationStart(e)}onAudioOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},i=`audio`in e?e.audio:void 0,a=`text`in e?e.text:void 0,o={"ai.model.provider":e.provider,"ai.model.id":e.modelId,...Object.fromEntries(Object.entries(e.headers??{}).map(([e,t])=>[`ai.request.headers.${e}`,t]))},s=G(t,{...V({operationId:e.operationId,telemetry:t}),...o,"ai.request.text":a==null?void 0:{input:()=>a},"ai.request.audio.size":i?.byteLength==null?void 0:{input:()=>i.byteLength},"ai.request.audio.mediaType":i==null?void 0:{input:()=>i.mediaType}}),c=this.tracer.startSpan(e.operationId,{attributes:s}),l=n.setSpan(r.active(),c);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:c,rootContext:l,stepSpan:void 0,stepContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,baseTelemetryAttributes:o,settings:{}})}onGenerateStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},i={maxOutputTokens:e.maxOutputTokens,temperature:e.temperature,topP:e.topP,topK:e.topK,presencePenalty:e.presencePenalty,frequencyPenalty:e.frequencyPenalty,stopSequences:e.stopSequences,seed:e.seed,maxRetries:e.maxRetries},a=H({model:{provider:e.provider,modelId:e.modelId},headers:e.headers,settings:i,context:e.runtimeContext}),o=G(t,{...V({operationId:e.operationId,telemetry:t}),...a,"ai.model.provider":e.provider,"ai.model.id":e.modelId,"ai.prompt":{input:()=>JSON.stringify({system:e.instructions,messages:e.messages})}}),s=this.tracer.startSpan(e.operationId,{attributes:o}),c=n.setSpan(r.active(),s);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:s,rootContext:c,stepSpan:void 0,stepContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,baseTelemetryAttributes:a,settings:i})}onObjectOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},i={maxOutputTokens:e.maxOutputTokens,temperature:e.temperature,topP:e.topP,topK:e.topK,presencePenalty:e.presencePenalty,frequencyPenalty:e.frequencyPenalty,seed:e.seed,maxRetries:e.maxRetries},a=H({model:{provider:e.provider,modelId:e.modelId},headers:e.headers,settings:i,context:void 0}),o=G(t,{...V({operationId:e.operationId,telemetry:t}),...a,"ai.prompt":{input:()=>JSON.stringify({system:e.system,prompt:e.prompt,messages:e.messages})},"ai.schema":e.schema?{input:()=>JSON.stringify(e.schema)}:void 0,"ai.schema.name":e.schemaName,"ai.schema.description":e.schemaDescription,"ai.settings.output":e.output}),s=this.tracer.startSpan(e.operationId,{attributes:o}),c=n.setSpan(r.active(),s);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:s,rootContext:c,stepSpan:void 0,stepContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,baseTelemetryAttributes:a,settings:i})}onObjectStepStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,i=t.operationId===`ai.streamObject`?`ai.streamObject.doStream`:`ai.generateObject.doGenerate`,a=G(r,{...V({operationId:i,telemetry:r}),...t.baseTelemetryAttributes,"ai.prompt.messages":{input:()=>e.promptMessages?v(e.promptMessages):void 0},"gen_ai.system":e.provider,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":t.settings.frequencyPenalty,"gen_ai.request.max_tokens":t.settings.maxOutputTokens,"gen_ai.request.presence_penalty":t.settings.presencePenalty,"gen_ai.request.temperature":t.settings.temperature??void 0,"gen_ai.request.top_k":t.settings.topK,"gen_ai.request.top_p":t.settings.topP});t.stepSpan=this.tracer.startSpan(i,{attributes:a},t.rootContext),t.stepContext=n.setSpan(t.rootContext,t.stepSpan)}onObjectStepEnd(e){let n=this.getCallState(e.callId);if(!n?.stepSpan)return;e.finishReason===`error`&&n.stepSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.stepSpan.setAttributes(G(r,{"ai.response.finishReason":e.finishReason,"ai.response.object":{output:()=>{try{return JSON.stringify(JSON.parse(e.objectText))}catch{return e.objectText}}},"ai.response.id":e.response.id,"ai.response.model":e.response.modelId,"ai.response.timestamp":e.response.timestamp.toISOString(),"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0,"ai.usage.inputTokens":e.usage.inputTokens,"ai.usage.outputTokens":e.usage.outputTokens,"ai.usage.totalTokens":e.usage.totalTokens,"ai.usage.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens,"ai.usage.cachedInputTokens":e.usage.inputTokenDetails?.cacheReadTokens,"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.response.id":e.response.id,"gen_ai.response.model":e.response.modelId,"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens})),e.msToFirstChunk!=null&&(n.stepSpan.addEvent(`ai.stream.firstChunk`,{"ai.stream.msToFirstChunk":e.msToFirstChunk}),n.stepSpan.setAttributes({"ai.stream.msToFirstChunk":e.msToFirstChunk})),n.stepSpan.end(),n.stepSpan=void 0,n.stepContext=void 0}onEmbedOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},i={maxRetries:e.maxRetries},a=H({model:{provider:e.provider,modelId:e.modelId},headers:e.headers,settings:i,context:e.runtimeContext}),o=e.value,s=e.operationId===`ai.embedMany`,c=G(t,{...V({operationId:e.operationId,telemetry:t}),...a,...s?{"ai.values":{input:()=>o.map(e=>JSON.stringify(e))}}:{"ai.value":{input:()=>JSON.stringify(o)}}}),l=this.tracer.startSpan(e.operationId,{attributes:c}),u=n.setSpan(r.active(),l);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:l,rootContext:u,stepSpan:void 0,stepContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,baseTelemetryAttributes:a,settings:i})}onStepStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,i=t.operationId===`ai.streamText`?`ai.streamText.doStream`:`ai.generateText.doGenerate`,a=G(r,{...V({operationId:i,telemetry:r}),...t.baseTelemetryAttributes,"ai.model.provider":e.provider,"ai.model.id":e.modelId,"ai.prompt.messages":{input:()=>e.promptMessages?v(e.promptMessages):void 0},"ai.prompt.tools":{input:()=>e.stepTools?.map(e=>JSON.stringify(e))},"ai.prompt.toolChoice":{input:()=>e.stepToolChoice==null?void 0:JSON.stringify(e.stepToolChoice)},"gen_ai.system":e.provider,"gen_ai.request.model":e.modelId,"gen_ai.request.frequency_penalty":t.settings.frequencyPenalty,"gen_ai.request.max_tokens":t.settings.maxOutputTokens,"gen_ai.request.presence_penalty":t.settings.presencePenalty,"gen_ai.request.stop_sequences":t.settings.stopSequences,"gen_ai.request.temperature":t.settings.temperature??void 0,"gen_ai.request.top_k":t.settings.topK,"gen_ai.request.top_p":t.settings.topP});t.stepSpan=this.tracer.startSpan(i,{attributes:a},t.rootContext),t.stepContext=n.setSpan(t.rootContext,t.stepSpan)}onToolExecutionStart(e){let t=this.getCallState(e.callId);if(!t?.stepContext)return;let{telemetry:r}=t,{toolCall:i}=e,a=G(r,{...V({operationId:`ai.toolCall`,telemetry:r}),...Object.fromEntries(Object.entries(t.baseTelemetryAttributes).filter(([e])=>e.startsWith(`ai.settings.context.`))),"ai.toolCall.name":i.toolName,"ai.toolCall.id":i.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(i.input)}}),o=this.tracer.startSpan(`ai.toolCall`,{attributes:a},t.stepContext),s=n.setSpan(t.stepContext,o);t.toolSpans.set(i.toolCallId,{span:o,context:s})}onToolExecutionEnd(e){let t=this.getCallState(e.callId);if(!t)return;let n=t.toolSpans.get(e.toolCall.toolCallId);if(!n)return;let{span:r}=n,{telemetry:i}=t,{toolOutput:a}=e;if(a.type===`tool-result`)try{r.setAttributes(G(i,{"ai.toolCall.result":{output:()=>JSON.stringify(a.output)}}))}catch{}else U(r,a.error);r.end(),t.toolSpans.delete(e.toolCall.toolCallId)}onStepEnd(e){let n=this.getCallState(e.callId);if(!n?.stepSpan)return;e.finishReason===`error`&&n.stepSpan.setStatus({code:t.ERROR});let{telemetry:r}=n,i=n.operationId===`ai.streamText`;n.stepSpan.setAttributes(G(r,{"ai.response.finishReason":e.finishReason,"ai.response.text":{output:()=>e.text??void 0},"ai.response.reasoning":{output:()=>e.reasoning.length>0?e.reasoning.filter(e=>`text`in e).map(e=>e.text).join(`
|
|
2
|
+
`):void 0},"ai.response.toolCalls":{output:()=>e.toolCalls.length>0?JSON.stringify(e.toolCalls.map(e=>({toolCallId:e.toolCallId,toolName:e.toolName,input:e.input}))):void 0},"ai.response.files":{output:()=>e.files.length>0?JSON.stringify(e.files.map(e=>({type:`file`,mediaType:e.mediaType,data:e.base64}))):void 0},"ai.response.id":e.response.id,"ai.response.model":e.response.modelId,"ai.response.timestamp":e.response.timestamp.toISOString(),"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0,"ai.response.msToFirstChunk":i?e.performance.timeToFirstOutputMs:void 0,"ai.response.msToFinish":i?e.performance.responseTimeMs:void 0,"ai.response.avgOutputTokensPerSecond":i?e.performance.effectiveOutputTokensPerSecond:void 0,"ai.usage.inputTokens":e.usage.inputTokens,"ai.usage.outputTokens":e.usage.outputTokens,"ai.usage.totalTokens":e.usage.totalTokens,"ai.usage.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens,"ai.usage.cachedInputTokens":e.usage.inputTokenDetails?.cacheReadTokens,"ai.usage.inputTokenDetails.noCacheTokens":e.usage.inputTokenDetails?.noCacheTokens,"ai.usage.inputTokenDetails.cacheReadTokens":e.usage.inputTokenDetails?.cacheReadTokens,"ai.usage.inputTokenDetails.cacheWriteTokens":e.usage.inputTokenDetails?.cacheWriteTokens,"ai.usage.outputTokenDetails.textTokens":e.usage.outputTokenDetails?.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens,"gen_ai.response.finish_reasons":[e.finishReason],"gen_ai.response.id":e.response.id,"gen_ai.response.model":e.response.modelId,"gen_ai.usage.input_tokens":e.usage.inputTokens,"gen_ai.usage.output_tokens":e.usage.outputTokens})),i&&e.performance.timeToFirstOutputMs!=null&&n.stepSpan.addEvent(`ai.stream.firstChunk`,{"ai.response.msToFirstChunk":e.performance.timeToFirstOutputMs}),i&&n.stepSpan.addEvent(`ai.stream.finish`,{"ai.response.msToFinish":e.performance.responseTimeMs,"ai.response.avgOutputTokensPerSecond":e.performance.effectiveOutputTokensPerSecond}),n.stepSpan.end(),n.stepSpan=void 0,n.stepContext=void 0}onStepFinish(e){this.onStepEnd(e)}onEnd(e){let t=this.getCallState(e.callId);if(t?.rootSpan){if(t.operationId===`ai.embed`||t.operationId===`ai.embedMany`){this.onEmbedOperationEnd(e);return}if(t.operationId===`ai.rerank`){this.onRerankOperationEnd(e);return}if(t.operationId===`ai.generateSpeech`||t.operationId===`ai.transcribe`){this.onAudioOperationEnd(e);return}if(t.operationId===`ai.generateObject`||t.operationId===`ai.streamObject`){this.onObjectOperationEnd(e);return}this.onGenerateEnd(e)}}experimental_onStreamTranscriptionEnd(e){this.onAudioOperationEnd(e)}onAudioOperationEnd(e){let t=this.getCallState(e.callId);if(!t?.rootSpan)return;let n=e.operationId===`ai.generateSpeech`,r=e.audio;t.rootSpan.setAttributes(G(t.telemetry,{"ai.request.audio.size":n?void 0:{input:()=>r.byteLength},"ai.request.audio.mediaType":n?void 0:{input:()=>r.mediaType},"ai.response.text":`segments`in e?{output:()=>e.text}:void 0,"ai.response.audio.size":n?{output:()=>r.byteLength}:void 0,"ai.response.audio.mediaType":n?{output:()=>r.mediaType}:void 0,"ai.response.audio.format":n&&`format`in r?{output:()=>r.format}:void 0,...T({usage:e.usage,prefix:`ai.usage`}),"ai.response.usage":e.usage==null?void 0:JSON.stringify(e.usage),"ai.response.providerMetadata":e.providerMetadata==null?void 0:JSON.stringify(e.providerMetadata)})),t.rootSpan.end(),this.cleanupCallState(e.callId)}onGenerateEnd(e){let n=this.getCallState(e.callId);if(!n?.rootSpan)return;e.finishReason===`error`&&n.rootSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.rootSpan.setAttributes(G(r,{"ai.response.finishReason":e.finishReason,"ai.response.text":{output:()=>e.text??void 0},"ai.response.reasoning":{output:()=>e.finalStep.reasoning.length>0?e.finalStep.reasoning.filter(e=>`text`in e).map(e=>e.text).join(`
|
|
3
|
+
`):void 0},"ai.response.toolCalls":{output:()=>e.toolCalls.length>0?JSON.stringify(e.toolCalls.map(e=>({toolCallId:e.toolCallId,toolName:e.toolName,input:e.input}))):void 0},"ai.response.files":{output:()=>e.files.length>0?JSON.stringify(e.files.map(e=>({type:`file`,mediaType:e.mediaType,data:e.base64}))):void 0},"ai.response.providerMetadata":e.finalStep.providerMetadata?JSON.stringify(e.finalStep.providerMetadata):void 0,"ai.usage.inputTokens":e.usage.inputTokens,"ai.usage.outputTokens":e.usage.outputTokens,"ai.usage.totalTokens":e.usage.totalTokens,"ai.usage.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens,"ai.usage.cachedInputTokens":e.usage.inputTokenDetails?.cacheReadTokens,"ai.usage.inputTokenDetails.noCacheTokens":e.usage.inputTokenDetails?.noCacheTokens,"ai.usage.inputTokenDetails.cacheReadTokens":e.usage.inputTokenDetails?.cacheReadTokens,"ai.usage.inputTokenDetails.cacheWriteTokens":e.usage.inputTokenDetails?.cacheWriteTokens,"ai.usage.outputTokenDetails.textTokens":e.usage.outputTokenDetails?.textTokens,"ai.usage.outputTokenDetails.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens})),n.rootSpan.end(),this.cleanupCallState(e.callId)}onObjectOperationEnd(e){let n=this.getCallState(e.callId);if(!n?.rootSpan)return;e.finishReason===`error`&&n.rootSpan.setStatus({code:t.ERROR});let{telemetry:r}=n;n.rootSpan.setAttributes(G(r,{"ai.response.finishReason":e.finishReason,"ai.response.object":{output:()=>e.object==null?void 0:JSON.stringify(e.object)},"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0,"ai.usage.inputTokens":e.usage.inputTokens,"ai.usage.outputTokens":e.usage.outputTokens,"ai.usage.totalTokens":e.usage.totalTokens,"ai.usage.reasoningTokens":e.usage.outputTokenDetails?.reasoningTokens,"ai.usage.cachedInputTokens":e.usage.inputTokenDetails?.cacheReadTokens})),n.rootSpan.end(),this.cleanupCallState(e.callId)}onEmbedOperationEnd(e){let t=this.getCallState(e.callId);if(!t?.rootSpan)return;let{telemetry:n}=t,r=t.operationId===`ai.embedMany`;t.rootSpan.setAttributes(G(n,{...r?{"ai.embeddings":{output:()=>e.embedding.map(e=>JSON.stringify(e))}}:{"ai.embedding":{output:()=>JSON.stringify(e.embedding)}},"ai.usage.tokens":e.usage.tokens})),t.rootSpan.end(),this.cleanupCallState(e.callId)}onEmbedStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,i=G(r,{...V({operationId:e.operationId,telemetry:r}),...t.baseTelemetryAttributes,"ai.values":{input:()=>e.values.map(e=>JSON.stringify(e))}}),a=this.tracer.startSpan(e.operationId,{attributes:i},t.rootContext),o=n.setSpan(t.rootContext,a);t.embedSpans.set(e.embedCallId,{span:a,context:o})}onEmbedEnd(e){let t=this.getCallState(e.callId);if(!t)return;let n=t.embedSpans.get(e.embedCallId);if(!n)return;let{span:r}=n,{telemetry:i}=t;r.setAttributes(G(i,{"ai.embeddings":{output:()=>e.embeddings.map(e=>JSON.stringify(e))},"ai.usage.tokens":e.usage.tokens})),r.end(),t.embedSpans.delete(e.embedCallId)}onRerankOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},i={maxRetries:e.maxRetries},a=H({model:{provider:e.provider,modelId:e.modelId},headers:e.headers,settings:i,context:e.runtimeContext}),o=G(t,{...V({operationId:e.operationId,telemetry:t}),...a,"ai.documents":{input:()=>e.documents.map(e=>JSON.stringify(e))}}),s=this.tracer.startSpan(e.operationId,{attributes:o}),c=n.setSpan(r.active(),s);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:s,rootContext:c,stepSpan:void 0,stepContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,baseTelemetryAttributes:a,settings:i})}onRerankOperationEnd(e){let t=this.getCallState(e.callId);t?.rootSpan&&(t.rootSpan.end(),this.cleanupCallState(e.callId))}onRerankStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let{telemetry:r}=t,i=G(r,{...V({operationId:e.operationId,telemetry:r}),...t.baseTelemetryAttributes,"ai.documents":{input:()=>e.documents.map(e=>JSON.stringify(e))}}),a=this.tracer.startSpan(e.operationId,{attributes:i},t.rootContext);t.rerankSpan={span:a,context:n.setSpan(t.rootContext,a)}}onRerankEnd(e){let t=this.getCallState(e.callId);if(!t?.rerankSpan)return;let{span:n}=t.rerankSpan,{telemetry:r}=t;n.setAttributes(G(r,{"ai.ranking.type":e.documentsType,"ai.ranking":{output:()=>e.ranking.map(e=>JSON.stringify(e))}})),n.end(),t.rerankSpan=void 0}onDecideOperationStart(e){let t={recordInputs:e.recordInputs,recordOutputs:e.recordOutputs,functionId:e.functionId},i={maxRetries:e.maxRetries},a=H({model:{provider:e.provider,modelId:e.modelId},headers:e.headers,settings:i,context:e.runtimeContext}),o=G(t,{...V({operationId:e.operationId,telemetry:t}),...a,"ai.decision.state":{input:()=>b(e.state)},"ai.decision.questions":{input:()=>JSON.stringify(e.questions)}}),s=this.tracer.startSpan(e.operationId,{attributes:o}),c=n.setSpan(r.active(),s);this.callStates.set(e.callId,{operationId:e.operationId,telemetry:t,rootSpan:s,rootContext:c,stepSpan:void 0,stepContext:void 0,embedSpans:new Map,rerankSpan:void 0,decisionSpan:void 0,toolSpans:new Map,baseTelemetryAttributes:a,settings:i})}onDecideOperationEnd(e){let t=this.getCallState(e.callId);t?.rootSpan&&(t.rootSpan.setAttributes(G(t.telemetry,{"ai.decision.answers":{output:()=>JSON.stringify(e.answers)}})),t.rootSpan.end(),this.cleanupCallState(e.callId))}experimental_onDecideStart(e){this.experimental_onEvaluateStart(e)}experimental_onDecideEnd(e){this.experimental_onEvaluateEnd(e)}experimental_onDecisionModelCallStart(e){this.experimental_onEvaluationModelCallStart(e)}experimental_onDecisionModelCallEnd(e){this.experimental_onEvaluationModelCallEnd(e)}experimental_onEvaluateStart(e){this.onDecideOperationStart(e)}experimental_onEvaluateEnd(e){this.onDecideOperationEnd(e)}experimental_onEvaluationModelCallStart(e){let t=this.getCallState(e.callId);if(!t?.rootSpan||!t.rootContext)return;let r=G(t.telemetry,{...V({operationId:e.operationId,telemetry:t.telemetry}),...t.baseTelemetryAttributes,"ai.decision.state":{input:()=>b(e.state)},"ai.decision.questions":{input:()=>JSON.stringify(e.questions)}}),i=this.tracer.startSpan(e.operationId,{attributes:r},t.rootContext);t.decisionSpan={span:i,context:n.setSpan(t.rootContext,i)}}experimental_onEvaluationModelCallEnd(e){let t=this.getCallState(e.callId);t?.decisionSpan&&(t.decisionSpan.span.setAttributes(G(t.telemetry,{"ai.decision.answers":{output:()=>JSON.stringify(e.answers)},"ai.usage.inputTokens":e.usage?.inputTokens,"ai.usage.outputTokens":e.usage?.outputTokens,"ai.response.providerMetadata":e.providerMetadata?JSON.stringify(e.providerMetadata):void 0})),t.decisionSpan.span.end(),t.decisionSpan=void 0)}onAbort(e){let t=this.getCallState(e.callId);if(t?.rootSpan){for(let{span:e}of t.toolSpans.values())e.end();t.toolSpans.clear(),t.stepSpan&&(t.stepSpan.end(),t.stepSpan=void 0,t.stepContext=void 0);for(let{span:e}of t.embedSpans.values())e.end();t.embedSpans.clear(),t.rerankSpan&&=(t.rerankSpan.span.end(),void 0),t.decisionSpan&&=(t.decisionSpan.span.end(),void 0),t.rootSpan.end(),this.cleanupCallState(e.callId)}}onError(e){let t=e;if(!t?.callId)return;let n=this.getCallState(t.callId);if(!n?.rootSpan)return;let r=t.error??e;n.stepSpan&&(U(n.stepSpan,r),n.stepSpan.end());for(let{span:e}of n.embedSpans.values())U(e,r),e.end();n.embedSpans.clear(),n.rerankSpan&&=(U(n.rerankSpan.span,r),n.rerankSpan.span.end(),void 0),n.decisionSpan&&=(U(n.decisionSpan.span,r),n.decisionSpan.span.end(),void 0),U(n.rootSpan,r),n.rootSpan.end(),this.cleanupCallState(t.callId)}};export{K as LegacyOpenTelemetry,B as OpenTelemetry};
|
|
@@ -1542,7 +1542,7 @@ export type LanguageModelV4CallOptions = {
|
|
|
1542
1542
|
* Reasoning effort level for the model. Controls how much reasoning
|
|
1543
1543
|
* the model performs before generating a response. Defaults to 'provider-default'.
|
|
1544
1544
|
*/
|
|
1545
|
-
reasoning?: 'provider-default' | 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
|
|
1545
|
+
reasoning?: 'provider-default' | 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
1546
1546
|
/**
|
|
1547
1547
|
* Additional provider-specific options. They are passed through
|
|
1548
1548
|
* to the provider from the AI SDK and enable provider-specific
|
|
@@ -1725,6 +1725,12 @@ export type EmbeddingModelV4CallOptions = {
|
|
|
1725
1725
|
* List of text values to generate embeddings for.
|
|
1726
1726
|
*/
|
|
1727
1727
|
values: Array<string>;
|
|
1728
|
+
/**
|
|
1729
|
+
* The requested number of dimensions for the output embeddings.
|
|
1730
|
+
* Must be a positive integer. Support and allowed values depend on the model
|
|
1731
|
+
* and provider implementation.
|
|
1732
|
+
*/
|
|
1733
|
+
dimensions?: number;
|
|
1728
1734
|
/**
|
|
1729
1735
|
* Abort signal for cancelling the operation.
|
|
1730
1736
|
*/
|
|
@@ -2048,13 +2054,13 @@ export type EmbeddingModelV2<VALUE> = {
|
|
|
2048
2054
|
};
|
|
2049
2055
|
//#endregion
|
|
2050
2056
|
//#region src/errors/ai-sdk-error.d.ts
|
|
2051
|
-
declare const symbol$
|
|
2057
|
+
declare const symbol$16: unique symbol;
|
|
2052
2058
|
/**
|
|
2053
2059
|
* Custom error class for AI SDK related errors.
|
|
2054
2060
|
* @extends Error
|
|
2055
2061
|
*/
|
|
2056
2062
|
export declare class AISDKError extends Error {
|
|
2057
|
-
private readonly [symbol$
|
|
2063
|
+
private readonly [symbol$16];
|
|
2058
2064
|
/**
|
|
2059
2065
|
* The underlying cause of the error, if any.
|
|
2060
2066
|
*/
|
|
@@ -2082,12 +2088,12 @@ export declare class AISDKError extends Error {
|
|
|
2082
2088
|
}
|
|
2083
2089
|
//#endregion
|
|
2084
2090
|
//#region src/errors/decision-unsupported-question-type-error.d.ts
|
|
2085
|
-
declare const symbol$
|
|
2091
|
+
declare const symbol$15: unique symbol;
|
|
2086
2092
|
/**
|
|
2087
2093
|
* A decision model does not support the type of a requested question.
|
|
2088
2094
|
*/
|
|
2089
2095
|
declare class DecisionUnsupportedQuestionTypeError extends AISDKError {
|
|
2090
|
-
private readonly [symbol$
|
|
2096
|
+
private readonly [symbol$15];
|
|
2091
2097
|
readonly questionId: string;
|
|
2092
2098
|
readonly questionType: string;
|
|
2093
2099
|
readonly provider: string;
|
|
@@ -2103,9 +2109,9 @@ declare class DecisionUnsupportedQuestionTypeError extends AISDKError {
|
|
|
2103
2109
|
}
|
|
2104
2110
|
//#endregion
|
|
2105
2111
|
//#region src/errors/api-call-error.d.ts
|
|
2106
|
-
declare const symbol$
|
|
2112
|
+
declare const symbol$14: unique symbol;
|
|
2107
2113
|
export declare class APICallError extends AISDKError {
|
|
2108
|
-
private readonly [symbol$
|
|
2114
|
+
private readonly [symbol$14];
|
|
2109
2115
|
readonly url: string;
|
|
2110
2116
|
readonly requestBodyValues: unknown;
|
|
2111
2117
|
readonly statusCode?: number;
|
|
@@ -2128,15 +2134,34 @@ export declare class APICallError extends AISDKError {
|
|
|
2128
2134
|
}
|
|
2129
2135
|
//#endregion
|
|
2130
2136
|
//#region src/errors/empty-response-body-error.d.ts
|
|
2131
|
-
declare const symbol$
|
|
2137
|
+
declare const symbol$13: unique symbol;
|
|
2132
2138
|
export declare class EmptyResponseBodyError extends AISDKError {
|
|
2133
|
-
private readonly [symbol$
|
|
2139
|
+
private readonly [symbol$13];
|
|
2134
2140
|
constructor({ message }?: {
|
|
2135
2141
|
message?: string;
|
|
2136
2142
|
});
|
|
2137
2143
|
static isInstance(error: unknown): error is EmptyResponseBodyError;
|
|
2138
2144
|
}
|
|
2139
2145
|
//#endregion
|
|
2146
|
+
//#region src/errors/decision-refusal-error.d.ts
|
|
2147
|
+
declare const symbol$12: unique symbol;
|
|
2148
|
+
/**
|
|
2149
|
+
* A decision model declined to answer one or more questions.
|
|
2150
|
+
*/
|
|
2151
|
+
declare class DecisionRefusalError extends AISDKError {
|
|
2152
|
+
private readonly [symbol$12];
|
|
2153
|
+
readonly questionIds: string[];
|
|
2154
|
+
readonly provider: string;
|
|
2155
|
+
readonly modelId: string;
|
|
2156
|
+
constructor({ questionIds, provider, modelId, message }: {
|
|
2157
|
+
questionIds: string[];
|
|
2158
|
+
provider: string;
|
|
2159
|
+
modelId: string;
|
|
2160
|
+
message?: string;
|
|
2161
|
+
});
|
|
2162
|
+
static isInstance(error: unknown): error is DecisionRefusalError;
|
|
2163
|
+
}
|
|
2164
|
+
//#endregion
|
|
2140
2165
|
//#region src/errors/get-error-message.d.ts
|
|
2141
2166
|
export declare function getErrorMessage(error: unknown | undefined): string;
|
|
2142
2167
|
//#endregion
|
|
@@ -2351,7 +2376,7 @@ export declare const Experimental_EvaluationUnsupportedQuestionTypeError: typeof
|
|
|
2351
2376
|
export type Experimental_EvaluationUnsupportedQuestionTypeError = DecisionUnsupportedQuestionTypeError;
|
|
2352
2377
|
//#endregion
|
|
2353
2378
|
//#region src/decision-model/v4/decision-model-v4-question.d.ts
|
|
2354
|
-
/**
|
|
2379
|
+
/** Content for decision instructions and criteria descriptions. */
|
|
2355
2380
|
type DecisionModelV4Input = string | Readonly<JSONObject> | readonly JSONValue[];
|
|
2356
2381
|
/** A judgment to make about the shared state. */
|
|
2357
2382
|
type DecisionModelV4Question = {
|
|
@@ -2373,10 +2398,16 @@ type DecisionModelV4Question = {
|
|
|
2373
2398
|
};
|
|
2374
2399
|
};
|
|
2375
2400
|
//#endregion
|
|
2401
|
+
//#region src/decision-model/v4/decision-model-v4-state.d.ts
|
|
2402
|
+
type DecisionModelV4State = readonly DecisionModelV4StatePart[];
|
|
2403
|
+
type DecisionModelV4StatePart = LanguageModelV4TextPart | LanguageModelV4FilePart | {
|
|
2404
|
+
type: 'json';
|
|
2405
|
+
value: JSONValue;
|
|
2406
|
+
};
|
|
2407
|
+
//#endregion
|
|
2376
2408
|
//#region src/decision-model/v4/decision-model-v4-call-options.d.ts
|
|
2377
2409
|
type DecisionModelV4CallOptions = {
|
|
2378
|
-
|
|
2379
|
-
state: DecisionModelV4Input;
|
|
2410
|
+
state: DecisionModelV4State;
|
|
2380
2411
|
questions: Readonly<Record<string, DecisionModelV4Question>>;
|
|
2381
2412
|
abortSignal?: AbortSignal;
|
|
2382
2413
|
headers?: SharedV4Headers;
|
|
@@ -2403,6 +2434,9 @@ type DecisionModelV4Answer = {
|
|
|
2403
2434
|
type: 'boolean';
|
|
2404
2435
|
/** Model-estimated P(true), in [0, 1]. Not confidence in either outcome. */
|
|
2405
2436
|
probability: number;
|
|
2437
|
+
} | {
|
|
2438
|
+
/** The model declined to answer this question. Valid for any question type. */
|
|
2439
|
+
type: 'refusal';
|
|
2406
2440
|
};
|
|
2407
2441
|
type DecisionModelV4Result = {
|
|
2408
2442
|
/** Exactly one answer per question, under the original question IDs. */
|
|
@@ -2450,14 +2484,14 @@ export type Experimental_EvaluationModelV4 = Omit<DecisionModelV4, 'doDecide'> &
|
|
|
2450
2484
|
};
|
|
2451
2485
|
/** @deprecated Use `Experimental_DecisionModelV4CallOptions` instead. */
|
|
2452
2486
|
export type Experimental_EvaluationModelV4CallOptions = DecisionModelV4CallOptions;
|
|
2453
|
-
/** @deprecated Use `Experimental_DecisionModelV4Input` instead. */
|
|
2454
|
-
export type Experimental_EvaluationModelV4Input = DecisionModelV4Input;
|
|
2455
2487
|
/** @deprecated Use `Experimental_DecisionModelV4Question` instead. */
|
|
2456
2488
|
export type Experimental_EvaluationModelV4Question = DecisionModelV4Question;
|
|
2457
2489
|
/** @deprecated Use `Experimental_DecisionModelV4Answer` instead. */
|
|
2458
2490
|
export type Experimental_EvaluationModelV4Answer = DecisionModelV4Answer;
|
|
2459
2491
|
/** @deprecated Use `Experimental_DecisionModelV4Result` instead. */
|
|
2460
2492
|
export type Experimental_EvaluationModelV4Result = DecisionModelV4Result;
|
|
2493
|
+
/** @deprecated Use `Experimental_DecisionModelV4Input` instead. */
|
|
2494
|
+
export type Experimental_EvaluationModelV4Input = DecisionModelV4Input;
|
|
2461
2495
|
//#endregion
|
|
2462
2496
|
//#region src/files/v4/files-v4-delete-file-call-options.d.ts
|
|
2463
2497
|
/**
|
|
@@ -8737,5 +8771,5 @@ type VideoModelV3 = {
|
|
|
8737
8771
|
}>;
|
|
8738
8772
|
};
|
|
8739
8773
|
//#endregion
|
|
8740
|
-
export { type BatchV4 as Experimental_BatchV4, type BatchV4CancelResult as Experimental_BatchV4CancelResult, type BatchV4Error as Experimental_BatchV4Error, type BatchV4ItemResult as Experimental_BatchV4ItemResult, type BatchV4ListItem as Experimental_BatchV4ListItem, type BatchV4ListOptions as Experimental_BatchV4ListOptions, type BatchV4ListResult as Experimental_BatchV4ListResult, type BatchV4ModelIds as Experimental_BatchV4ModelIds, type BatchV4OperationOptions as Experimental_BatchV4OperationOptions, type BatchV4Request as Experimental_BatchV4Request, type BatchV4RequestBase as Experimental_BatchV4RequestBase, type BatchV4StartOptions as Experimental_BatchV4StartOptions, type BatchV4StartResult as Experimental_BatchV4StartResult, type BatchV4Status as Experimental_BatchV4Status, type DecisionModelV4 as Experimental_DecisionModelV4, type DecisionModelV4Answer as Experimental_DecisionModelV4Answer, type DecisionModelV4CallOptions as Experimental_DecisionModelV4CallOptions, type DecisionModelV4Input as Experimental_DecisionModelV4Input, type DecisionModelV4Question as Experimental_DecisionModelV4Question, type DecisionModelV4Result as Experimental_DecisionModelV4Result, DecisionUnsupportedQuestionTypeError as Experimental_DecisionUnsupportedQuestionTypeError, type ImageBatchV4ItemResult as Experimental_ImageBatchV4ItemResult, type ImageBatchV4Request as Experimental_ImageBatchV4Request, type RealtimeFactoryV4 as Experimental_RealtimeFactoryV4, type RealtimeFactoryV4GetTokenOptions as Experimental_RealtimeFactoryV4GetTokenOptions, type RealtimeFactoryV4GetTokenResult as Experimental_RealtimeFactoryV4GetTokenResult, type RealtimeModelV4 as Experimental_RealtimeModelV4, type RealtimeModelV4AudioMessage as Experimental_RealtimeModelV4AudioMessage, type RealtimeModelV4ClientEvent as Experimental_RealtimeModelV4ClientEvent, type RealtimeModelV4ClientSecretOptions as Experimental_RealtimeModelV4ClientSecretOptions, type RealtimeModelV4ClientSecretResult as Experimental_RealtimeModelV4ClientSecretResult, type RealtimeModelV4ConversationItem as Experimental_RealtimeModelV4ConversationItem, type RealtimeModelV4FunctionCallOutput as Experimental_RealtimeModelV4FunctionCallOutput, type RealtimeModelV4ServerEvent as Experimental_RealtimeModelV4ServerEvent, type RealtimeModelV4SessionConfig as Experimental_RealtimeModelV4SessionConfig, type RealtimeModelV4TextMessage as Experimental_RealtimeModelV4TextMessage, type RealtimeModelV4ToolDefinition as Experimental_RealtimeModelV4ToolDefinition, type SpeechTranslationModelV4 as Experimental_SpeechTranslationModelV4, type SpeechTranslationModelV4StreamOptions as Experimental_SpeechTranslationModelV4StreamOptions, type SpeechTranslationModelV4StreamPart as Experimental_SpeechTranslationModelV4StreamPart, type SpeechTranslationModelV4StreamResult as Experimental_SpeechTranslationModelV4StreamResult, type SpeechTranslationModelV4Usage as Experimental_SpeechTranslationModelV4Usage, type TextBatchV4ItemResult as Experimental_TextBatchV4ItemResult, type TextBatchV4Request as Experimental_TextBatchV4Request, type TranscriptionModelV4StreamOptions as Experimental_TranscriptionModelV4StreamOptions, type TranscriptionModelV4StreamPart as Experimental_TranscriptionModelV4StreamPart, type TranscriptionModelV4StreamResult as Experimental_TranscriptionModelV4StreamResult, type VideoModelV3 as Experimental_VideoModelV3, type VideoModelV3CallOptions as Experimental_VideoModelV3CallOptions, type VideoModelV3File as Experimental_VideoModelV3File, type VideoModelV3FrameImage as Experimental_VideoModelV3FrameImage, type VideoModelV3FrameType as Experimental_VideoModelV3FrameType, type VideoModelV3VideoData as Experimental_VideoModelV3VideoData, type VideoModelV4 as Experimental_VideoModelV4, type VideoModelV4CallOptions as Experimental_VideoModelV4CallOptions, type VideoModelV4File as Experimental_VideoModelV4File, type VideoModelV4FrameImage as Experimental_VideoModelV4FrameImage, type VideoModelV4FrameType as Experimental_VideoModelV4FrameType, type VideoModelV4OperationStartResult as Experimental_VideoModelV4OperationStartResult, type VideoModelV4OperationStatusResult as Experimental_VideoModelV4OperationStatusResult, type VideoModelV4OperationWebhook as Experimental_VideoModelV4OperationWebhook, type VideoModelV4Result as Experimental_VideoModelV4Result, type VideoModelV4VideoData as Experimental_VideoModelV4VideoData, type FilesV4, type FilesV4DeleteFileCallOptions, type FilesV4DeleteFileResult, type FilesV4DownloadFileCallOptions, type FilesV4DownloadFileResult, type FilesV4GetFileMetadataCallOptions, type FilesV4GetFileMetadataResult, type FilesV4UploadFileCallOptions, type FilesV4UploadFileResult, type FilesV4UploadFileStreamData, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3File, type ImageModelV3ProviderMetadata, type ImageModelV3Usage, type ImageModelV4, type ImageModelV4CallOptions, type ImageModelV4File, type ImageModelV4ProviderMetadata, type ImageModelV4Result, type ImageModelV4Usage, type JSONArray, type JSONObject, type JSONSchema7, type JSONSchema7Definition, type JSONValue, type ProviderV2, type ProviderV3, type ProviderV4, type RerankingModelV3, type RerankingModelV3CallOptions, type RerankingModelV4, type RerankingModelV4CallOptions, type RerankingModelV4Result, type SkillsV4, type SkillsV4File, type SkillsV4UploadSkillCallOptions, type SkillsV4UploadSkillResult, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, type SpeechModelV4, type SpeechModelV4CallOptions, type SpeechModelV4Result, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, type TranscriptionModelV4, type TranscriptionModelV4CallOptions, type TranscriptionModelV4Result, type TypeValidationContext };
|
|
8774
|
+
export { type BatchV4 as Experimental_BatchV4, type BatchV4CancelResult as Experimental_BatchV4CancelResult, type BatchV4Error as Experimental_BatchV4Error, type BatchV4ItemResult as Experimental_BatchV4ItemResult, type BatchV4ListItem as Experimental_BatchV4ListItem, type BatchV4ListOptions as Experimental_BatchV4ListOptions, type BatchV4ListResult as Experimental_BatchV4ListResult, type BatchV4ModelIds as Experimental_BatchV4ModelIds, type BatchV4OperationOptions as Experimental_BatchV4OperationOptions, type BatchV4Request as Experimental_BatchV4Request, type BatchV4RequestBase as Experimental_BatchV4RequestBase, type BatchV4StartOptions as Experimental_BatchV4StartOptions, type BatchV4StartResult as Experimental_BatchV4StartResult, type BatchV4Status as Experimental_BatchV4Status, type DecisionModelV4 as Experimental_DecisionModelV4, type DecisionModelV4Answer as Experimental_DecisionModelV4Answer, type DecisionModelV4CallOptions as Experimental_DecisionModelV4CallOptions, type DecisionModelV4Input as Experimental_DecisionModelV4Input, type DecisionModelV4Question as Experimental_DecisionModelV4Question, type DecisionModelV4Result as Experimental_DecisionModelV4Result, type DecisionModelV4State as Experimental_DecisionModelV4State, type DecisionModelV4StatePart as Experimental_DecisionModelV4StatePart, DecisionRefusalError as Experimental_DecisionRefusalError, DecisionUnsupportedQuestionTypeError as Experimental_DecisionUnsupportedQuestionTypeError, type ImageBatchV4ItemResult as Experimental_ImageBatchV4ItemResult, type ImageBatchV4Request as Experimental_ImageBatchV4Request, type RealtimeFactoryV4 as Experimental_RealtimeFactoryV4, type RealtimeFactoryV4GetTokenOptions as Experimental_RealtimeFactoryV4GetTokenOptions, type RealtimeFactoryV4GetTokenResult as Experimental_RealtimeFactoryV4GetTokenResult, type RealtimeModelV4 as Experimental_RealtimeModelV4, type RealtimeModelV4AudioMessage as Experimental_RealtimeModelV4AudioMessage, type RealtimeModelV4ClientEvent as Experimental_RealtimeModelV4ClientEvent, type RealtimeModelV4ClientSecretOptions as Experimental_RealtimeModelV4ClientSecretOptions, type RealtimeModelV4ClientSecretResult as Experimental_RealtimeModelV4ClientSecretResult, type RealtimeModelV4ConversationItem as Experimental_RealtimeModelV4ConversationItem, type RealtimeModelV4FunctionCallOutput as Experimental_RealtimeModelV4FunctionCallOutput, type RealtimeModelV4ServerEvent as Experimental_RealtimeModelV4ServerEvent, type RealtimeModelV4SessionConfig as Experimental_RealtimeModelV4SessionConfig, type RealtimeModelV4TextMessage as Experimental_RealtimeModelV4TextMessage, type RealtimeModelV4ToolDefinition as Experimental_RealtimeModelV4ToolDefinition, type SpeechTranslationModelV4 as Experimental_SpeechTranslationModelV4, type SpeechTranslationModelV4StreamOptions as Experimental_SpeechTranslationModelV4StreamOptions, type SpeechTranslationModelV4StreamPart as Experimental_SpeechTranslationModelV4StreamPart, type SpeechTranslationModelV4StreamResult as Experimental_SpeechTranslationModelV4StreamResult, type SpeechTranslationModelV4Usage as Experimental_SpeechTranslationModelV4Usage, type TextBatchV4ItemResult as Experimental_TextBatchV4ItemResult, type TextBatchV4Request as Experimental_TextBatchV4Request, type TranscriptionModelV4StreamOptions as Experimental_TranscriptionModelV4StreamOptions, type TranscriptionModelV4StreamPart as Experimental_TranscriptionModelV4StreamPart, type TranscriptionModelV4StreamResult as Experimental_TranscriptionModelV4StreamResult, type VideoModelV3 as Experimental_VideoModelV3, type VideoModelV3CallOptions as Experimental_VideoModelV3CallOptions, type VideoModelV3File as Experimental_VideoModelV3File, type VideoModelV3FrameImage as Experimental_VideoModelV3FrameImage, type VideoModelV3FrameType as Experimental_VideoModelV3FrameType, type VideoModelV3VideoData as Experimental_VideoModelV3VideoData, type VideoModelV4 as Experimental_VideoModelV4, type VideoModelV4CallOptions as Experimental_VideoModelV4CallOptions, type VideoModelV4File as Experimental_VideoModelV4File, type VideoModelV4FrameImage as Experimental_VideoModelV4FrameImage, type VideoModelV4FrameType as Experimental_VideoModelV4FrameType, type VideoModelV4OperationStartResult as Experimental_VideoModelV4OperationStartResult, type VideoModelV4OperationStatusResult as Experimental_VideoModelV4OperationStatusResult, type VideoModelV4OperationWebhook as Experimental_VideoModelV4OperationWebhook, type VideoModelV4Result as Experimental_VideoModelV4Result, type VideoModelV4VideoData as Experimental_VideoModelV4VideoData, type FilesV4, type FilesV4DeleteFileCallOptions, type FilesV4DeleteFileResult, type FilesV4DownloadFileCallOptions, type FilesV4DownloadFileResult, type FilesV4GetFileMetadataCallOptions, type FilesV4GetFileMetadataResult, type FilesV4UploadFileCallOptions, type FilesV4UploadFileResult, type FilesV4UploadFileStreamData, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3File, type ImageModelV3ProviderMetadata, type ImageModelV3Usage, type ImageModelV4, type ImageModelV4CallOptions, type ImageModelV4File, type ImageModelV4ProviderMetadata, type ImageModelV4Result, type ImageModelV4Usage, type JSONArray, type JSONObject, type JSONSchema7, type JSONSchema7Definition, type JSONValue, type ProviderV2, type ProviderV3, type ProviderV4, type RerankingModelV3, type RerankingModelV3CallOptions, type RerankingModelV4, type RerankingModelV4CallOptions, type RerankingModelV4Result, type SkillsV4, type SkillsV4File, type SkillsV4UploadSkillCallOptions, type SkillsV4UploadSkillResult, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, type SpeechModelV4, type SpeechModelV4CallOptions, type SpeechModelV4Result, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, type TranscriptionModelV4, type TranscriptionModelV4CallOptions, type TranscriptionModelV4Result, type TypeValidationContext };
|
|
8741
8775
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=`vercel.ai.error`,t=Symbol.for(e);var n=class n extends Error{constructor({name:e,message:n,cause:r}){super(n),this[t]=!0,this.name=e,this.cause=r}static isInstance(t){return n.hasMarker(t,e)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};const r=`AI_DecisionUnsupportedQuestionTypeError`,i=`vercel.ai.error.${r}`,a=Symbol.for(i);var o=class extends n{constructor({questionId:e,questionType:t,provider:n,modelId:i,message:o=`Question "${e}" has type "${t}", which is not supported by provider "${n}" and model "${i}".`}){super({name:r,message:o}),this[a]=!0,this.questionId=e,this.questionType=t,this.provider=n,this.modelId=i}static isInstance(e){return n.hasMarker(e,i)}};const s=`AI_APICallError`,c=`vercel.ai.error.${s}`,ee=Symbol.for(c);var l=class extends n{constructor({message:e,url:t,requestBodyValues:n,statusCode:r,responseHeaders:i,responseBody:a,cause:o,isRetryable:c=r!=null&&(r===408||r===409||r===429||r>=500),data:l}){super({name:s,message:e,cause:o}),this[ee]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=r,this.responseHeaders=i,this.responseBody=a,this.isRetryable=c,this.data=l}static isInstance(e){return n.hasMarker(e,c)}};const u=`AI_EmptyResponseBodyError`,d=`vercel.ai.error.${u}`,
|
|
1
|
+
const e=`vercel.ai.error`,t=Symbol.for(e);var n=class n extends Error{constructor({name:e,message:n,cause:r}){super(n),this[t]=!0,this.name=e,this.cause=r}static isInstance(t){return n.hasMarker(t,e)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};const r=`AI_DecisionUnsupportedQuestionTypeError`,i=`vercel.ai.error.${r}`,a=Symbol.for(i);var o=class extends n{constructor({questionId:e,questionType:t,provider:n,modelId:i,message:o=`Question "${e}" has type "${t}", which is not supported by provider "${n}" and model "${i}".`}){super({name:r,message:o}),this[a]=!0,this.questionId=e,this.questionType=t,this.provider=n,this.modelId=i}static isInstance(e){return n.hasMarker(e,i)}};const s=`AI_APICallError`,c=`vercel.ai.error.${s}`,ee=Symbol.for(c);var l=class extends n{constructor({message:e,url:t,requestBodyValues:n,statusCode:r,responseHeaders:i,responseBody:a,cause:o,isRetryable:c=r!=null&&(r===408||r===409||r===429||r>=500),data:l}){super({name:s,message:e,cause:o}),this[ee]=!0,this.url=t,this.requestBodyValues=n,this.statusCode=r,this.responseHeaders=i,this.responseBody=a,this.isRetryable=c,this.data=l}static isInstance(e){return n.hasMarker(e,c)}};const u=`AI_EmptyResponseBodyError`,d=`vercel.ai.error.${u}`,te=Symbol.for(d);var f=class extends n{constructor({message:e=`Empty response body`}={}){super({name:u,message:e}),this[te]=!0}static isInstance(e){return n.hasMarker(e,d)}};const p=`AI_DecisionRefusalError`,m=`vercel.ai.error.${p}`,h=Symbol.for(m);var ne=class extends n{constructor({questionIds:e,provider:t,modelId:n,message:r=`Decision model "${n}" from provider "${t}" refused ${e.length===1?`question`:`questions`} ${e.map(e=>JSON.stringify(e)).join(`, `)}.`}){super({name:p,message:r}),this[h]=!0,this.questionIds=e,this.provider=t,this.modelId=n}static isInstance(e){return n.hasMarker(e,m)}};function g(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.toString():JSON.stringify(e)}const _=`AI_InvalidArgumentError`,v=`vercel.ai.error.${_}`,y=Symbol.for(v);var b=class extends n{constructor({message:e,cause:t,argument:n}){super({name:_,message:e,cause:t}),this[y]=!0,this.argument=n}static isInstance(e){return n.hasMarker(e,v)}};const x=`AI_InvalidPromptError`,S=`vercel.ai.error.${x}`,re=Symbol.for(S);var C=class extends n{constructor({prompt:e,message:t,cause:n}){super({name:x,message:`Invalid prompt: ${t}`,cause:n}),this[re]=!0,this.prompt=e}static isInstance(e){return n.hasMarker(e,S)}};const w=`AI_InvalidResponseDataError`,T=`vercel.ai.error.${w}`,E=Symbol.for(T);var D=class extends n{constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:w,message:t}),this[E]=!0,this.data=e}static isInstance(e){return n.hasMarker(e,T)}};const O=`AI_JSONParseError`,k=`vercel.ai.error.${O}`,ie=Symbol.for(k);var ae=class extends n{constructor({text:e,cause:t}){super({name:O,message:`JSON parsing failed: Text: ${e}.\nError message: ${g(t)}`,cause:t}),this[ie]=!0,this.text=e}static isInstance(e){return n.hasMarker(e,k)}};const A=`AI_LoadAPIKeyError`,j=`vercel.ai.error.${A}`,oe=Symbol.for(j);var se=class extends n{constructor({message:e}){super({name:A,message:e}),this[oe]=!0}static isInstance(e){return n.hasMarker(e,j)}};const M=`AI_LoadSettingError`,N=`vercel.ai.error.${M}`,P=Symbol.for(N);var F=class extends n{constructor({message:e}){super({name:M,message:e}),this[P]=!0}static isInstance(e){return n.hasMarker(e,N)}};const I=`AI_NoContentGeneratedError`,L=`vercel.ai.error.${I}`,R=Symbol.for(L);var z=class extends n{constructor({message:e=`No content generated.`}={}){super({name:I,message:e}),this[R]=!0}static isInstance(e){return n.hasMarker(e,L)}};const B=`AI_NoSuchModelError`,V=`vercel.ai.error.${B}`,H=Symbol.for(V);var U=class extends n{constructor({errorName:e=B,modelId:t,modelType:n,message:r=`No such ${n}: ${t}`}){super({name:e,message:r}),this[H]=!0,this.modelId=t,this.modelType=n}static isInstance(e){return n.hasMarker(e,V)}};const W=`AI_NoSuchProviderReferenceError`,G=`vercel.ai.error.${W}`,ce=Symbol.for(G);var le=class extends n{constructor({provider:e,reference:t,message:n=`No provider reference found for provider '${e}'. Available providers: ${Object.keys(t).join(`, `)}`}){super({name:W,message:n}),this[ce]=!0,this.provider=e,this.reference=t}static isInstance(e){return n.hasMarker(e,G)}};const K=`AI_TooManyEmbeddingValuesForCallError`,q=`vercel.ai.error.${K}`,ue=Symbol.for(q);var J=class extends n{constructor(e){super({name:K,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[ue]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return n.hasMarker(e,q)}};const Y=`AI_TypeValidationError`,X=`vercel.ai.error.${Y}`,de=Symbol.for(X);var fe=class e extends n{constructor({value:e,cause:t,context:n}){let r=`Type validation failed`;if(n?.field&&(r+=` for ${n.field}`),n?.entityName||n?.entityId){r+=` (`;let e=[];n.entityName&&e.push(n.entityName),n.entityId&&e.push(`id: "${n.entityId}"`),r+=e.join(`, `),r+=`)`}super({name:Y,message:`${r}: Value: ${JSON.stringify(e)}.\nError message: ${g(t)}`,cause:t}),this[de]=!0,this.value=e,this.context=n}static isInstance(e){return n.hasMarker(e,X)}static wrap({value:t,cause:n,context:r}){return e.isInstance(n)&&n.value===t&&n.context?.field===r?.field&&n.context?.entityName===r?.entityName&&n.context?.entityId===r?.entityId?n:new e({value:t,cause:n,context:r})}};const Z=`AI_UnsupportedFunctionalityError`,Q=`vercel.ai.error.${Z}`,pe=Symbol.for(Q);var me=class extends n{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:Z,message:t}),this[pe]=!0,this.functionality=e}static isInstance(e){return n.hasMarker(e,Q)}};const he=o;function $(e){return e===null||typeof e==`string`||typeof e==`number`||typeof e==`boolean`?!0:Array.isArray(e)?e.every($):typeof e==`object`&&Object.entries(e).every(([e,t])=>typeof e==`string`&&(t===void 0||$(t)))}function ge(e){return Array.isArray(e)&&e.every($)}function _e(e){return typeof e==`object`&&!!e&&Object.entries(e).every(([e,t])=>typeof e==`string`&&(t===void 0||$(t)))}export{n as AISDKError,l as APICallError,f as EmptyResponseBodyError,ne as Experimental_DecisionRefusalError,o as Experimental_DecisionUnsupportedQuestionTypeError,he as Experimental_EvaluationUnsupportedQuestionTypeError,b as InvalidArgumentError,C as InvalidPromptError,D as InvalidResponseDataError,ae as JSONParseError,se as LoadAPIKeyError,F as LoadSettingError,z as NoContentGeneratedError,U as NoSuchModelError,le as NoSuchProviderReferenceError,J as TooManyEmbeddingValuesForCallError,fe as TypeValidationError,me as UnsupportedFunctionalityError,g as getErrorMessage,ge as isJSONArray,_e as isJSONObject,$ as isJSONValue};
|
|
@@ -964,7 +964,9 @@ export declare const createJsonErrorResponseHandler: <T>({ errorSchema, errorToM
|
|
|
964
964
|
}) => ResponseHandler<APICallError>;
|
|
965
965
|
export declare const createEventSourceResponseHandler: <T>(chunkSchema: FlexibleSchema<T>) => ResponseHandler<ReadableStream<ParseResult<T>>>;
|
|
966
966
|
export declare const createJsonResponseHandler: <T>(responseSchema: FlexibleSchema<T>) => ResponseHandler<T>;
|
|
967
|
-
export declare const createJsonLinesResponseHandler: <T>(responseSchema: FlexibleSchema<T
|
|
967
|
+
export declare const createJsonLinesResponseHandler: <T>(responseSchema: FlexibleSchema<T>, { maxLineBytes }?: {
|
|
968
|
+
maxLineBytes?: number;
|
|
969
|
+
}) => ResponseHandler<AsyncGenerator<T>>;
|
|
968
970
|
export declare const createBinaryResponseHandler: () => ResponseHandler<Uint8Array>;
|
|
969
971
|
/**
|
|
970
972
|
* Passes the response body through as a `ReadableStream<Uint8Array>` without
|
|
@@ -2640,6 +2642,7 @@ export declare class StreamingToolCallTracker<DELTA extends StreamingToolCallDel
|
|
|
2640
2642
|
* | known | matching | any | matching call, new call, or ambiguity |
|
|
2641
2643
|
* | known | conflicting | named | new call |
|
|
2642
2644
|
* | unseen | matching | structured start | new call |
|
|
2645
|
+
* | unseen | matching | named empty arguments | incomplete call, new call, or ambiguity |
|
|
2643
2646
|
* | unseen | matching | continuation | matching call or ambiguity |
|
|
2644
2647
|
* | absent | matching | any | matching call, new call, or ambiguity |
|
|
2645
2648
|
* | absent | absent | named | new call |
|