@sylphx/flow 0.2.13 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/CHANGELOG.md +318 -0
  2. package/LOOP_MODE.md +446 -0
  3. package/dist/index.d.ts +10 -0
  4. package/dist/index.js +59398 -698
  5. package/dist/lancedb.linux-x64-gnu-b7f0jgsz.node +0 -0
  6. package/dist/lancedb.linux-x64-musl-tgcv22rx.node +0 -0
  7. package/dist/shared/chunk-25dwp0dp.js +89 -0
  8. package/dist/shared/chunk-3pjb6063.js +208 -0
  9. package/dist/shared/chunk-4d6ydpw7.js +2854 -0
  10. package/dist/shared/chunk-4wjcadjk.js +225 -0
  11. package/dist/shared/chunk-5j4w74t6.js +30 -0
  12. package/dist/shared/chunk-5j8m3dh3.js +58 -0
  13. package/dist/shared/chunk-5thh3qem.js +91 -0
  14. package/dist/shared/chunk-6g9xy73m.js +252 -0
  15. package/dist/shared/chunk-7eq34c42.js +23 -0
  16. package/dist/shared/chunk-c2gwgx3r.js +115 -0
  17. package/dist/shared/chunk-cjd3mk4c.js +1320 -0
  18. package/dist/shared/chunk-g5cv6703.js +368 -0
  19. package/dist/shared/chunk-hpkhykhq.js +574 -0
  20. package/dist/shared/chunk-m2322pdk.js +122 -0
  21. package/dist/shared/chunk-nd5fdvaq.js +26 -0
  22. package/dist/shared/chunk-pgd3m6zf.js +108 -0
  23. package/dist/shared/chunk-qk8n91hw.js +494 -0
  24. package/dist/shared/chunk-rkkn8szp.js +16855 -0
  25. package/dist/shared/chunk-t16rfxh0.js +61 -0
  26. package/dist/shared/chunk-t4fbfa5v.js +19 -0
  27. package/dist/shared/chunk-t77h86w6.js +276 -0
  28. package/dist/shared/chunk-v0ez4aef.js +71 -0
  29. package/dist/shared/chunk-v29j2r3s.js +32051 -0
  30. package/dist/shared/chunk-vfbc6ew5.js +765 -0
  31. package/dist/shared/chunk-vmeqwm1c.js +204 -0
  32. package/dist/shared/chunk-x66eh37x.js +137 -0
  33. package/package.json +45 -93
  34. package/README.md +0 -625
  35. package/assets/agents/coder.md +0 -32
  36. package/assets/agents/orchestrator.md +0 -36
  37. package/assets/agents/reviewer.md +0 -30
  38. package/assets/agents/writer.md +0 -30
  39. package/assets/knowledge/data/sql.md +0 -216
  40. package/assets/knowledge/guides/saas-template.md +0 -85
  41. package/assets/knowledge/guides/system-prompt.md +0 -344
  42. package/assets/knowledge/guides/tech-stack.md +0 -92
  43. package/assets/knowledge/guides/ui-ux.md +0 -44
  44. package/assets/knowledge/stacks/nextjs-app.md +0 -165
  45. package/assets/knowledge/stacks/node-api.md +0 -220
  46. package/assets/knowledge/stacks/react-app.md +0 -232
  47. package/assets/knowledge/universal/deployment.md +0 -109
  48. package/assets/knowledge/universal/performance.md +0 -121
  49. package/assets/knowledge/universal/security.md +0 -79
  50. package/assets/knowledge/universal/testing.md +0 -111
  51. package/assets/output-styles/silent.md +0 -23
  52. package/assets/rules/core.md +0 -197
  53. package/assets/slash-commands/commit.md +0 -23
  54. package/assets/slash-commands/context.md +0 -112
  55. package/assets/slash-commands/explain.md +0 -35
  56. package/assets/slash-commands/mep.md +0 -63
  57. package/assets/slash-commands/review.md +0 -39
  58. package/assets/slash-commands/test.md +0 -30
  59. package/dist/assets/agents/coder.md +0 -32
  60. package/dist/assets/agents/orchestrator.md +0 -36
  61. package/dist/assets/agents/reviewer.md +0 -30
  62. package/dist/assets/agents/writer.md +0 -30
  63. package/dist/assets/knowledge/data/sql.md +0 -216
  64. package/dist/assets/knowledge/guides/saas-template.md +0 -85
  65. package/dist/assets/knowledge/guides/system-prompt.md +0 -344
  66. package/dist/assets/knowledge/guides/tech-stack.md +0 -92
  67. package/dist/assets/knowledge/guides/ui-ux.md +0 -44
  68. package/dist/assets/knowledge/stacks/nextjs-app.md +0 -165
  69. package/dist/assets/knowledge/stacks/node-api.md +0 -220
  70. package/dist/assets/knowledge/stacks/react-app.md +0 -232
  71. package/dist/assets/knowledge/universal/deployment.md +0 -109
  72. package/dist/assets/knowledge/universal/performance.md +0 -121
  73. package/dist/assets/knowledge/universal/security.md +0 -79
  74. package/dist/assets/knowledge/universal/testing.md +0 -111
  75. package/dist/assets/output-styles/silent.md +0 -23
  76. package/dist/assets/rules/core.md +0 -197
  77. package/dist/assets/slash-commands/commit.md +0 -23
  78. package/dist/assets/slash-commands/context.md +0 -112
  79. package/dist/assets/slash-commands/explain.md +0 -35
  80. package/dist/assets/slash-commands/mep.md +0 -63
  81. package/dist/assets/slash-commands/review.md +0 -39
  82. package/dist/assets/slash-commands/test.md +0 -30
  83. package/dist/chunk-01gv4qey.js +0 -4
  84. package/dist/chunk-01gv4qey.js.map +0 -11
  85. package/dist/chunk-1e8xf3f6.js +0 -27
  86. package/dist/chunk-1e8xf3f6.js.map +0 -23
  87. package/dist/chunk-3m9whg4q.js +0 -4
  88. package/dist/chunk-3m9whg4q.js.map +0 -9
  89. package/dist/chunk-3qxj0zy3.js +0 -23
  90. package/dist/chunk-3qxj0zy3.js.map +0 -11
  91. package/dist/chunk-3w6pd43t.js +0 -25
  92. package/dist/chunk-3w6pd43t.js.map +0 -61
  93. package/dist/chunk-4e5g3df9.js +0 -105
  94. package/dist/chunk-4e5g3df9.js.map +0 -27
  95. package/dist/chunk-4nm4ere4.js +0 -4
  96. package/dist/chunk-4nm4ere4.js.map +0 -11
  97. package/dist/chunk-4vrj3f8r.js +0 -26
  98. package/dist/chunk-4vrj3f8r.js.map +0 -75
  99. package/dist/chunk-5njgv5k5.js +0 -161
  100. package/dist/chunk-5njgv5k5.js.map +0 -83
  101. package/dist/chunk-67n29s4q.js +0 -7
  102. package/dist/chunk-67n29s4q.js.map +0 -10
  103. package/dist/chunk-7yyg008s.js +0 -27
  104. package/dist/chunk-7yyg008s.js.map +0 -14
  105. package/dist/chunk-86ce45n6.js +0 -3
  106. package/dist/chunk-86ce45n6.js.map +0 -10
  107. package/dist/chunk-99pz5wm0.js +0 -75
  108. package/dist/chunk-99pz5wm0.js.map +0 -12
  109. package/dist/chunk-cv1nhr27.js +0 -2
  110. package/dist/chunk-cv1nhr27.js.map +0 -9
  111. package/dist/chunk-g4baca7p.js +0 -10
  112. package/dist/chunk-g4baca7p.js.map +0 -23
  113. package/dist/chunk-gc66xe7z.js +0 -4
  114. package/dist/chunk-gc66xe7z.js.map +0 -11
  115. package/dist/chunk-hj6qtsqp.js +0 -15
  116. package/dist/chunk-hj6qtsqp.js.map +0 -10
  117. package/dist/chunk-jbd95k1f.js +0 -14
  118. package/dist/chunk-jbd95k1f.js.map +0 -20
  119. package/dist/chunk-jk1ebfqn.js +0 -23
  120. package/dist/chunk-jk1ebfqn.js.map +0 -132
  121. package/dist/chunk-kn908zkk.js +0 -4
  122. package/dist/chunk-kn908zkk.js.map +0 -10
  123. package/dist/chunk-mw13a082.js +0 -4
  124. package/dist/chunk-mw13a082.js.map +0 -10
  125. package/dist/chunk-n8vzewr3.js +0 -4
  126. package/dist/chunk-n8vzewr3.js.map +0 -12
  127. package/dist/chunk-nke51f3c.js +0 -4
  128. package/dist/chunk-nke51f3c.js.map +0 -10
  129. package/dist/chunk-ns5atzyz.js +0 -3
  130. package/dist/chunk-ns5atzyz.js.map +0 -10
  131. package/dist/chunk-q4nh3vst.js +0 -54
  132. package/dist/chunk-q4nh3vst.js.map +0 -53
  133. package/dist/chunk-q5gqgs0p.js +0 -4
  134. package/dist/chunk-q5gqgs0p.js.map +0 -10
  135. package/dist/chunk-qpej66sh.js +0 -6
  136. package/dist/chunk-qpej66sh.js.map +0 -11
  137. package/dist/chunk-s9bsh0gp.js +0 -4
  138. package/dist/chunk-s9bsh0gp.js.map +0 -10
  139. package/dist/chunk-waemzsf4.js +0 -4
  140. package/dist/chunk-waemzsf4.js.map +0 -10
  141. package/dist/chunk-wnhhwtsy.js +0 -19
  142. package/dist/chunk-wnhhwtsy.js.map +0 -11
  143. package/dist/chunk-xs370t8p.js +0 -119
  144. package/dist/chunk-xs370t8p.js.map +0 -26
  145. package/dist/chunk-xtrn4wn0.js +0 -3
  146. package/dist/chunk-xtrn4wn0.js.map +0 -10
  147. package/dist/index.js.map +0 -920
  148. package/drizzle/0000_wooden_lady_bullseye.sql +0 -52
  149. package/drizzle/0001_material_pyro.sql +0 -85
  150. package/drizzle/0002_lyrical_random.sql +0 -2
  151. package/drizzle/0003_romantic_lockjaw.sql +0 -4
  152. package/drizzle/0004_blushing_meteorite.sql +0 -6
  153. package/drizzle/meta/0000_snapshot.json +0 -310
  154. package/drizzle/meta/0001_snapshot.json +0 -906
  155. package/drizzle/meta/0002_snapshot.json +0 -920
  156. package/drizzle/meta/0003_snapshot.json +0 -920
  157. package/drizzle/meta/0004_snapshot.json +0 -921
  158. package/drizzle/meta/_journal.json +0 -41
@@ -1,11 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/core/ai-sdk.ts", "../src/utils/todo-context.ts"],
4
- "sourcesContent": [
5
- "/**\n * Sylphx Flow AI SDK\n * Unified AI streaming interface with tool support\n * Content parts based design - own type system with proper conversion\n */\n\nimport { streamText, type AssistantContent, type ModelMessage } from 'ai';\nimport type { LanguageModelV2, LanguageModelV2ToolResultOutput } from '@ai-sdk/provider';\nimport * as os from 'node:os';\nimport { getAISDKTools } from '../tools/index.js';\nimport { hasUserInputHandler } from '../tools/interaction.js';\nimport { getCurrentSystemPrompt } from './agent-manager.js';\nimport { getEnabledRulesContent } from './rule-manager.js';\nimport { buildTodoContext } from '../utils/todo-context.js';\n\n// Legacy system prompt - kept for backwards compatibility and fallback\nconst LEGACY_SYSTEM_PROMPT = `You are a helpful coding assistant.\n\nYou help users with:\n- Programming tasks and code review\n- Debugging and troubleshooting\n- File operations and system tasks\n- Software development best practices\n\nGuidelines:\n- Write clean, functional, well-documented code\n- Use tools proactively when needed to complete tasks\n- Explain complex concepts clearly\n- Follow language-specific best practices\n- Test and verify your work when possible`;\n\n/**\n * Base system prompt - introduces Sylphx\n */\nconst BASE_SYSTEM_PROMPT = `You are Sylphx, an AI development assistant.`;\n\n/**\n * Get the system prompt to use (combines base + rules + agent)\n */\nexport function getSystemPrompt(): string {\n const parts: string[] = [];\n\n // 1. Base prompt (introduces Sylphx)\n parts.push(BASE_SYSTEM_PROMPT);\n\n // 2. Enabled rules (shared across all agents)\n try {\n const rulesContent = getEnabledRulesContent();\n if (rulesContent) {\n parts.push(rulesContent);\n }\n } catch {\n // Rule manager not initialized or no rules enabled\n }\n\n // 3. Agent-specific prompt\n try {\n const agentPrompt = getCurrentSystemPrompt();\n parts.push(agentPrompt);\n } catch {\n // Fallback to legacy if agent manager not initialized\n parts.push(LEGACY_SYSTEM_PROMPT);\n }\n\n return parts.join('\\n\\n');\n}\n\n// Export for backwards compatibility\nexport const SYSTEM_PROMPT = LEGACY_SYSTEM_PROMPT;\n\n/**\n * Stream chunk types (our own)\n */\nexport type TextStartChunk = {\n type: 'text-start';\n};\n\nexport type TextDeltaChunk = {\n type: 'text-delta';\n textDelta: string;\n};\n\nexport type TextEndChunk = {\n type: 'text-end';\n};\n\nexport type ReasoningStartChunk = {\n type: 'reasoning-start';\n};\n\nexport type ReasoningDeltaChunk = {\n type: 'reasoning-delta';\n textDelta: string;\n};\n\nexport type ReasoningEndChunk = {\n type: 'reasoning-end';\n};\n\nexport type ToolCallChunk = {\n type: 'tool-call';\n toolCallId: string;\n toolName: string;\n args: unknown;\n};\n\nexport type ToolInputStartChunk = {\n type: 'tool-input-start';\n toolCallId: string;\n toolName: string;\n};\n\nexport type ToolInputDeltaChunk = {\n type: 'tool-input-delta';\n toolCallId: string;\n argsTextDelta: string;\n};\n\nexport type ToolInputEndChunk = {\n type: 'tool-input-end';\n toolCallId: string;\n};\n\nexport type ToolResultChunk = {\n type: 'tool-result';\n toolCallId: string;\n toolName: string;\n result: unknown;\n};\n\nexport type ToolErrorChunk = {\n type: 'tool-error';\n toolCallId: string;\n toolName: string;\n error: string;\n};\n\nexport type StreamErrorChunk = {\n type: 'error';\n error: string;\n};\n\nexport type AbortChunk = {\n type: 'abort';\n};\n\nexport type FinishChunk = {\n type: 'finish';\n finishReason: string;\n usage: {\n promptTokens: number;\n completionTokens: number;\n totalTokens: number;\n };\n};\n\nexport type StreamChunk =\n | TextStartChunk\n | TextDeltaChunk\n | TextEndChunk\n | ReasoningStartChunk\n | ReasoningDeltaChunk\n | ReasoningEndChunk\n | ToolCallChunk\n | ToolInputStartChunk\n | ToolInputDeltaChunk\n | ToolInputEndChunk\n | ToolResultChunk\n | ToolErrorChunk\n | StreamErrorChunk\n | AbortChunk\n | FinishChunk;\n\n/**\n * Step info (our own)\n */\nexport interface StepInfo {\n finishReason: string;\n usage: {\n promptTokens: number;\n completionTokens: number;\n totalTokens: number;\n };\n content: AssistantContent[];\n}\n\n/**\n * Create AI stream options\n */\nexport interface CreateAIStreamOptions {\n model: LanguageModelV2;\n messages: ModelMessage[];\n systemPrompt?: string;\n /**\n * Optional abort signal to cancel the stream\n */\n abortSignal?: AbortSignal;\n onStepFinish?: (step: StepInfo) => void;\n /**\n * Called before each step to prepare messages\n * Can be used to inject context (e.g., todo list, system status)\n * @param messages - Current message history\n * @param stepNumber - Current step number\n * @returns Modified messages array\n */\n onPrepareMessages?: (messages: ModelMessage[], stepNumber: number) => ModelMessage[];\n /**\n * Called to transform tool result output before saving to history\n * Can be used to inject metadata (e.g., system status, timestamp)\n * @param output - Tool result output\n * @param toolName - Name of the tool\n * @returns Modified output\n */\n onTransformToolResult?: (\n output: LanguageModelV2ToolResultOutput,\n toolName: string\n ) => LanguageModelV2ToolResultOutput;\n}\n\n/**\n * System status object (captured at message creation time)\n *\n * Design: Separation of capture vs construction\n * ==============================================\n *\n * Why we have TWO functions (getSystemStatus + buildSystemStatusFromMetadata):\n *\n * 1. getSystemStatus() - Captures CURRENT system state\n * - Called when creating a NEW message\n * - Returns object { timestamp, cpu, memory }\n * - Stored in SessionMessage.metadata\n * - NEVER called again for historical messages\n *\n * 2. buildSystemStatusFromMetadata() - Constructs string from STORED values\n * - Called when building ModelMessage from SessionMessage\n * - Uses HISTORICAL values from metadata (never current values)\n * - Ensures prompt cache works (historical messages never change)\n *\n * ⚠️ CRITICAL for prompt cache:\n * - Historical messages must be IMMUTABLE\n * - If we use current values, messages change every request → cache miss\n * - Using stored metadata values → messages stay same → cache hit ✅\n *\n * Example timeline:\n * T1: User sends \"hi\"\n * → getSystemStatus() returns { cpu: \"45%\", memory: \"4.2GB\" }\n * → Store in message.metadata\n * T2: User sends \"bye\" (10 minutes later)\n * → getSystemStatus() returns { cpu: \"67%\", memory: \"5.1GB\" } for NEW message\n * → buildSystemStatusFromMetadata(T1.metadata) still returns \"45%, 4.2GB\" for T1 ✅\n * → Prompt cache recognizes T1 message as unchanged → cache hit!\n */\nexport interface SystemStatus {\n timestamp: string; // ISO format\n cpu: string; // e.g., \"45.3% (8 cores)\"\n memory: string; // e.g., \"4.2GB/16.0GB\"\n}\n\n/**\n * Get CURRENT system status (called only when creating NEW messages)\n *\n * ⚠️ IMPORTANT: Never call this for historical messages!\n * Use buildSystemStatusFromMetadata() instead to preserve prompt cache.\n */\nfunction getSystemStatus(): SystemStatus {\n const timestamp = new Date().toISOString();\n\n // Get memory usage\n const totalMem = os.totalmem();\n const freeMem = os.freemem();\n const usedMem = totalMem - freeMem;\n const memUsageGB = (usedMem / 1024 / 1024 / 1024).toFixed(1);\n const totalMemGB = (totalMem / 1024 / 1024 / 1024).toFixed(1);\n\n // Get CPU usage (average load)\n const cpus = os.cpus();\n const cpuCount = cpus.length;\n\n // Calculate average CPU usage from all cores\n let totalIdle = 0;\n let totalTick = 0;\n\n cpus.forEach((cpu) => {\n for (const type in cpu.times) {\n totalTick += cpu.times[type as keyof typeof cpu.times];\n }\n totalIdle += cpu.times.idle;\n });\n\n const cpuUsage = (100 - (100 * totalIdle) / totalTick).toFixed(1);\n\n return {\n timestamp,\n cpu: `${cpuUsage}% (${cpuCount} cores)`,\n memory: `${memUsageGB}GB/${totalMemGB}GB`,\n };\n}\n\n/**\n * Build system status string from STORED metadata (not current values)\n *\n * ⚠️ CRITICAL: This function MUST use the metadata parameter values,\n * NEVER call getSystemStatus() or use current system values!\n *\n * Why: Prompt cache requires historical messages to be immutable.\n * Using stored metadata ensures the same message always produces the same output.\n *\n * Called by:\n * - useChat when building ModelMessage from SessionMessage (historical messages)\n * - Tool result injection (for current step's system status)\n *\n * @param metadata - Stored SystemStatus from SessionMessage.metadata\n * @returns Formatted system status string for LLM\n */\nfunction buildSystemStatusFromMetadata(metadata: SystemStatus): string {\n return `<system_status>\nTime: ${metadata.timestamp}\nCPU: ${metadata.cpu}\nMemory: ${metadata.memory}\n</system_status>`;\n}\n\n/**\n * Inject system status into tool result output\n * Convert all types to content type and prepend system status as text part\n */\nfunction injectSystemStatusToOutput(output: LanguageModelV2ToolResultOutput, systemStatus: SystemStatus): Extract<\n LanguageModelV2ToolResultOutput,\n { type: 'content' }\n> {\n if (!output || typeof output !== 'object') {\n return output;\n }\n\n // Convert to content type if not already\n const content: Extract<\n LanguageModelV2ToolResultOutput,\n { type: 'content' }\n > = {\n type: 'content',\n value: [],\n }\n\n if (output.type === 'content') {\n // Already content type\n content.value = output.value;\n } else if (output.type === 'text' || output.type === 'error-text') {\n content.value.push({\n type: 'text',\n text: output.value,\n });\n } else if (output.type === 'json' || output.type === 'error-json') {\n // Convert JSON to content (stringify)\n content.value.push({\n type: 'text',\n text: JSON.stringify(output.value, null, 2),\n });\n }\n\n // Prepend system status as text part\n const systemStatusString = buildSystemStatusFromMetadata(systemStatus);\n\n content.value.unshift({\n type: 'text',\n text: systemStatusString,\n })\n return content;\n}\n\n/**\n * Normalize content to modern array format\n * Converts legacy string content to Array<TextPart | ImagePart | FilePart | ... >\n */\nfunction normalizeMessage(message: ModelMessage): ModelMessage {\n const content = message.content;\n if (typeof content === 'string') {\n // Legacy string format → convert to TextPart array\n message.content = [\n {\n type: 'text',\n text: content,\n },\n ];\n }\n\n // Already array format (or other object)\n return message;\n}\n\n/**\n * Create AI stream with Sylphx tools pre-configured\n * Uses manual loop to control message history with timestamps\n */\nexport async function* createAIStream(\n options: CreateAIStreamOptions\n): AsyncIterable<StreamChunk> {\n const {\n systemPrompt = getSystemPrompt(),\n model,\n messages: initialMessages,\n abortSignal,\n onStepFinish,\n onPrepareMessages,\n onTransformToolResult,\n } = options;\n\n // Normalize all messages to array format\n let messageHistory = initialMessages.map(normalizeMessage);\n\n let stepNumber = 0;\n const MAX_STEPS = 1000;\n\n while (stepNumber < MAX_STEPS) {\n // Emit step-start event\n yield {\n type: 'step-start' as any,\n stepNumber,\n };\n\n\n // Prepare messages for this step (caller can inject context)\n const preparedMessages = onPrepareMessages\n ? onPrepareMessages(messageHistory, stepNumber)\n : messageHistory;\n\n // Call AI SDK with single step\n const { fullStream, response, finishReason, usage, content } = streamText({\n model,\n messages: preparedMessages,\n system: systemPrompt,\n tools: getAISDKTools({ interactive: hasUserInputHandler() }),\n // Only pass abortSignal if provided (exactOptionalPropertyTypes compliance)\n ...(abortSignal ? { abortSignal } : {}),\n // Don't handle errors here - let them propagate to the caller\n // onError callback is for non-fatal errors, fatal ones should throw\n });\n\n // Stream all chunks to user\n for await (const chunk of fullStream) {\n // DEBUG: Log every chunk\n\n switch (chunk.type) {\n case 'text-start':\n yield { type: 'text-start' };\n break;\n\n case 'text-delta':\n yield { type: 'text-delta', textDelta: chunk.text };\n break;\n\n case 'text-end':\n yield { type: 'text-end' };\n break;\n\n case 'reasoning-start':\n yield { type: 'reasoning-start' };\n break;\n\n case 'reasoning-delta':\n yield { type: 'reasoning-delta', textDelta: chunk.text };\n break;\n\n case 'reasoning-end':\n yield { type: 'reasoning-end' };\n break;\n\n case 'tool-call':\n yield {\n type: 'tool-call',\n toolCallId: chunk.toolCallId,\n toolName: chunk.toolName,\n args: chunk.input,\n };\n break;\n\n case 'tool-input-start':\n yield {\n type: 'tool-input-start',\n toolCallId: chunk.id,\n toolName: chunk.toolName,\n };\n break;\n\n case 'tool-input-delta':\n yield {\n type: 'tool-input-delta',\n toolCallId: chunk.id,\n argsTextDelta: chunk.delta,\n };\n break;\n\n case 'tool-input-end':\n yield {\n type: 'tool-input-end',\n toolCallId: chunk.id,\n };\n break;\n\n case 'tool-result':\n yield {\n type: 'tool-result',\n toolCallId: chunk.toolCallId,\n toolName: chunk.toolName,\n result: chunk.output,\n };\n break;\n\n case 'finish':\n yield {\n type: 'finish',\n finishReason: chunk.finishReason,\n usage: {\n promptTokens: chunk.totalUsage.inputTokens ?? 0,\n completionTokens: chunk.totalUsage.outputTokens ?? 0,\n totalTokens: chunk.totalUsage.totalTokens ?? 0,\n },\n };\n break;\n\n case 'error':\n yield {\n type: 'error',\n error: chunk.error instanceof Error ? chunk.error.message : String(chunk.error),\n };\n break;\n\n case 'tool-error':\n yield {\n type: 'tool-error',\n toolCallId: chunk.toolCallId,\n toolName: chunk.toolName,\n error: chunk.error instanceof Error ? chunk.error.message : String(chunk.error),\n };\n break;\n\n case 'abort':\n yield {\n type: 'abort',\n };\n break;\n\n default:\n break;\n }\n }\n\n // Call onStepFinish callback if provided\n if (onStepFinish) {\n const stepInfo: StepInfo = {\n finishReason: await finishReason,\n usage: {\n promptTokens: (await usage).inputTokens ?? 0,\n completionTokens: (await usage).outputTokens ?? 0,\n totalTokens: (await usage).totalTokens ?? 0,\n },\n content: await content,\n };\n onStepFinish(stepInfo);\n }\n\n // Save LLM response messages to history\n const responseMessages = (await response).messages;\n\n for (const msg of responseMessages) {\n // Transform tool result output if callback provided\n if (msg.role === 'tool' && onTransformToolResult) {\n messageHistory.push({\n ...msg,\n content: msg.content.map((part) => ({\n ...part,\n output: onTransformToolResult(part.output, part.toolName),\n })),\n });\n } else {\n messageHistory.push(msg);\n }\n }\n\n const currentFinishReason = await finishReason;\n\n\n // Emit step-end event\n yield {\n type: 'step-end' as any,\n stepNumber,\n finishReason: currentFinishReason,\n };\n\n // Check if we should continue the loop\n if (currentFinishReason !== 'tool-calls') {\n // No more tool calls, exit loop\n break;\n }\n\n stepNumber++;\n }\n\n}\n\n/**\n * Export helper functions\n */\nexport { getAISDKTools, getSystemStatus, buildSystemStatusFromMetadata, injectSystemStatusToOutput, buildTodoContext, normalizeMessage };\n",
6
- "/**\n * Todo Context Builder\n * Builds todo reminder context for LLM messages\n */\n\nimport type { Todo } from '../types/todo.types.js';\n\n/**\n * Build todo context string from todos\n */\nexport function buildTodoContext(todos: Todo[]): string {\n // Filter active todos (exclude completed and removed)\n const activeTodos = todos.filter((t) => t.status !== 'completed' && t.status !== 'removed');\n\n // If no active todos, return minimal reminder\n if (activeTodos.length === 0) {\n return '<todo_reminder>For multi-step tasks, use updateTodos tool</todo_reminder>';\n }\n\n // Sort by ordering ASC, id ASC (first added = first to do)\n const sortedTodos = [...activeTodos].sort((a, b) => {\n if (a.ordering !== b.ordering) {\n return a.ordering - b.ordering;\n }\n return a.id - b.id;\n });\n\n const pendingTodos = sortedTodos.filter((t) => t.status === 'pending');\n const inProgressTodos = sortedTodos.filter((t) => t.status === 'in_progress');\n\n const todoLines: string[] = ['<pending_tasks>'];\n\n if (inProgressTodos.length > 0) {\n todoLines.push('In Progress:');\n inProgressTodos.forEach((t) => todoLines.push(` - [${t.id}] ${t.activeForm}`));\n }\n\n if (pendingTodos.length > 0) {\n todoLines.push('Pending:');\n pendingTodos.forEach((t) => todoLines.push(` - [${t.id}] ${t.content}`));\n }\n\n todoLines.push('</pending_tasks>');\n\n return todoLines.join('\\n');\n}\n"
7
- ],
8
- "mappings": "6gBAQA,oBCEO,GAAS,LAAgB,LAAC,JAAuB,LAEtD,FAAM,JAAc,JAAM,CAAO,LAAC,FAAM,JAAE,SAAW,aAAe,EAAE,SAAW,SAAS,EAG1F,GAAI,EAAY,SAAW,EACzB,MAAO,4EAIT,IAAM,EAAc,CAAC,GAAG,CAAW,EAAE,KAAK,CAAC,EAAG,IAAM,CAClD,GAAI,EAAE,WAAa,EAAE,SACnB,OAAO,EAAE,SAAW,EAAE,SAExB,OAAO,EAAE,GAAK,EAAE,GACjB,EAEK,EAAe,EAAY,OAAO,CAAC,IAAM,EAAE,SAAW,SAAS,EAC/D,EAAkB,EAAY,OAAO,CAAC,IAAM,EAAE,SAAW,aAAa,EAEtE,EAAsB,CAAC,iBAAiB,EAE9C,GAAI,EAAgB,OAAS,EAC3B,EAAU,KAAK,cAAc,EAC7B,EAAgB,QAAQ,CAAC,IAAM,EAAU,KAAK,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,EAGhF,GAAI,EAAa,OAAS,EACxB,EAAU,KAAK,UAAU,EACzB,EAAa,QAAQ,CAAC,IAAM,EAAU,KAAK,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAK1E,OAFA,EAAU,KAAK,kBAAkB,EAE1B,EAAU,KAAK;AAAA,CAAI,ED5B5B,IAAM,EAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2CAkBvB,EAAqB,+CAKpB,SAAS,CAAe,EAAW,CACxC,IAAM,EAAkB,CAAC,EAGzB,EAAM,KAAK,CAAkB,EAG7B,GAAI,CACF,IAAM,EAAe,EAAuB,EAC5C,GAAI,EACF,EAAM,KAAK,CAAY,EAEzB,KAAM,EAKR,GAAI,CACF,IAAM,EAAc,EAAuB,EAC3C,EAAM,KAAK,CAAW,EACtB,KAAM,CAEN,EAAM,KAAK,CAAoB,EAGjC,OAAO,EAAM,KAAK;AAAA;AAAA,CAAM,EAInB,IAAM,EAAgB,EAoM7B,SAAS,CAAe,EAAiB,CACvC,IAAM,EAAY,IAAI,KAAK,EAAE,YAAY,EAGnC,EAAc,WAAS,EACvB,EAAa,UAAQ,EAErB,IADU,EAAW,GACG,KAAO,KAAO,MAAM,QAAQ,CAAC,EACrD,GAAc,EAAW,KAAO,KAAO,MAAM,QAAQ,CAAC,EAGtD,EAAU,OAAK,EACf,EAAW,EAAK,OAGlB,EAAY,EACZ,EAAY,EAEhB,EAAK,QAAQ,CAAC,IAAQ,CACpB,QAAW,KAAQ,EAAI,MACrB,GAAa,EAAI,MAAM,GAEzB,GAAa,EAAI,MAAM,KACxB,EAED,IAAM,GAAY,IAAO,IAAM,EAAa,GAAW,QAAQ,CAAC,EAEhE,MAAO,CACL,YACA,IAAK,GAAG,OAAc,WACtB,OAAQ,GAAG,OAAgB,KAC7B,EAmBF,SAAS,CAA6B,CAAC,EAAgC,CACrE,MAAO;AAAA,QACD,EAAS;AAAA,OACV,EAAS;AAAA,UACN,EAAS;AAAA,kBAQnB,SAAS,CAA0B,CAAC,EAAyC,EAG3E,CACA,GAAI,CAAC,GAAU,OAAO,IAAW,SAC/B,OAAO,EAIT,IAAM,EAGF,CACF,KAAM,UACN,MAAO,CAAC,CACV,EAEA,GAAI,EAAO,OAAS,UAElB,EAAQ,MAAQ,EAAO,MAClB,QAAI,EAAO,OAAS,QAAU,EAAO,OAAS,aACnD,EAAQ,MAAM,KAAK,CACf,KAAM,OACN,KAAM,EAAO,KACjB,CAAC,EACI,QAAI,EAAO,OAAS,QAAU,EAAO,OAAS,aAEnD,EAAQ,MAAM,KAAK,CACf,KAAM,OACN,KAAM,KAAK,UAAU,EAAO,MAAO,KAAM,CAAC,CAC9C,CAAC,EAIH,IAAM,EAAqB,EAA8B,CAAY,EAMrE,OAJA,EAAQ,MAAM,QAAQ,CAClB,KAAM,OACN,KAAM,CACV,CAAC,EACM,EAOT,SAAS,CAAgB,CAAC,EAAqC,CAC7D,IAAM,EAAU,EAAQ,QACxB,GAAI,OAAO,IAAY,SAErB,EAAQ,QAAW,CACjB,CACE,KAAM,OACN,KAAM,CACR,CACF,EAIF,OAAO,EAOT,eAAuB,CAAc,CACnC,EAC4B,CAC5B,IACE,eAAe,EAAgB,EAC/B,QACA,SAAU,EACV,cACA,eACA,oBACA,yBACE,EAGA,EAAiB,EAAgB,IAAI,CAAgB,EAErD,EAAa,EACX,EAAY,KAElB,MAAO,EAAa,EAAW,CAE7B,KAAM,CACJ,KAAM,aACN,YACF,EAIA,IAAM,EAAmB,EACrB,EAAkB,EAAgB,CAAU,EAC5C,GAGI,aAAY,WAAU,eAAc,QAAO,WAAY,EAAW,CACxE,QACA,SAAU,EACV,OAAQ,EACR,MAAO,EAAc,CAAE,YAAa,EAAoB,CAAE,CAAC,KAEvD,EAAc,CAAE,aAAY,EAAI,CAAC,CAGvC,CAAC,EAGD,cAAiB,KAAS,EAGxB,OAAQ,EAAM,UACP,aACH,KAAM,CAAE,KAAM,YAAa,EAC3B,UAEG,aACH,KAAM,CAAE,KAAM,aAAc,UAAW,EAAM,IAAK,EAClD,UAEG,WACH,KAAM,CAAE,KAAM,UAAW,EACzB,UAEG,kBACH,KAAM,CAAE,KAAM,iBAAkB,EAChC,UAEG,kBACH,KAAM,CAAE,KAAM,kBAAmB,UAAW,EAAM,IAAK,EACvD,UAEG,gBACH,KAAM,CAAE,KAAM,eAAgB,EAC9B,UAEG,YACH,KAAM,CACJ,KAAM,YACN,WAAY,EAAM,WAClB,SAAU,EAAM,SAChB,KAAM,EAAM,KACd,EACA,UAEG,mBACH,KAAM,CACJ,KAAM,mBACN,WAAY,EAAM,GAClB,SAAU,EAAM,QAClB,EACA,UAEG,mBACH,KAAM,CACJ,KAAM,mBACN,WAAY,EAAM,GAClB,cAAe,EAAM,KACvB,EACA,UAEG,iBACH,KAAM,CACJ,KAAM,iBACN,WAAY,EAAM,EACpB,EACA,UAEG,cACH,KAAM,CACJ,KAAM,cACN,WAAY,EAAM,WAClB,SAAU,EAAM,SAChB,OAAQ,EAAM,MAChB,EACA,UAEG,SACH,KAAM,CACJ,KAAM,SACN,aAAc,EAAM,aACpB,MAAO,CACL,aAAc,EAAM,WAAW,aAAe,EAC9C,iBAAkB,EAAM,WAAW,cAAgB,EACnD,YAAa,EAAM,WAAW,aAAe,CAC/C,CACF,EACA,UAEG,QACH,KAAM,CACJ,KAAM,QACN,MAAO,EAAM,iBAAiB,MAAQ,EAAM,MAAM,QAAU,OAAO,EAAM,KAAK,CAChF,EACA,UAEG,aACH,KAAM,CACJ,KAAM,aACN,WAAY,EAAM,WAClB,SAAU,EAAM,SAChB,MAAO,EAAM,iBAAiB,MAAQ,EAAM,MAAM,QAAU,OAAO,EAAM,KAAK,CAChF,EACA,UAEG,QACH,KAAM,CACJ,KAAM,OACR,EACA,cAGA,MAKN,GAAI,EAAc,CAChB,IAAM,EAAqB,CACzB,aAAc,MAAM,EACpB,MAAO,CACL,cAAe,MAAM,GAAO,aAAe,EAC3C,kBAAmB,MAAM,GAAO,cAAgB,EAChD,aAAc,MAAM,GAAO,aAAe,CAC5C,EACA,QAAS,MAAM,CACjB,EACA,EAAa,CAAQ,EAIvB,IAAM,GAAoB,MAAM,GAAU,SAE1C,QAAW,KAAO,EAEhB,GAAI,EAAI,OAAS,QAAU,EACzB,EAAe,KAAK,IACf,EACH,QAAS,EAAI,QAAQ,IAAI,CAAC,KAAU,IAC/B,EACH,OAAQ,EAAsB,EAAK,OAAQ,EAAK,QAAQ,CAC1D,EAAE,CACJ,CAAC,EAED,OAAe,KAAK,CAAG,EAI3B,IAAM,EAAsB,MAAM,EAWlC,GAPA,KAAM,CACJ,KAAM,WACN,aACA,aAAc,CAChB,EAGI,IAAwB,aAE1B,MAGF",
9
- "debugId": "4CED270AC8FA640164756E2164756E21",
10
- "names": []
11
- }
@@ -1,25 +0,0 @@
1
- import{U as CJ}from"./chunk-s9bsh0gp.js";import{$a as h0,Bb as JZ,Cb as pZ,Db as PQ,Eb as oZ,Gb as GZ,Ib as mz,Jb as MZ,Kb as z0,La as I,Lb as g0,Ma as M0,Na as Sz,Nb as IQ,Oa as nZ,Ob as W1,Pa as u9,Qa as lZ,Ra as yz,Sa as v$,Ta as vz,Ua as _z,Va as xz,Wa as YZ,Xa as kz,Ya as PZ,Za as u0,_a as M$,ab as f0,bb as V0,cb as uZ,db as Y0,eb as sZ,fb as H1,gb as Q0,hb as $0,ib as o,jb as T1,kb as c9,mb as I0,ob as BZ,pb as mZ,qb as qZ,rb as vZ,tb as c0,vb as R0,xb as hz,yb as gz}from"./chunk-jbd95k1f.js";import{Sb as z}from"./chunk-4vrj3f8r.js";import{Tb as q0,Ub as T,Wb as s$}from"./chunk-3m9whg4q.js";var A1=T((RH,n$)=>{var{defineProperty:w1,getOwnPropertyDescriptor:EJ,getOwnPropertyNames:PJ}=Object,IJ=Object.prototype.hasOwnProperty,fJ=(Z,$)=>{for(var Q in $)w1(Z,Q,{get:$[Q],enumerable:!0})},RJ=(Z,$,Q,X)=>{if($&&typeof $==="object"||typeof $==="function"){for(let Y of PJ($))if(!IJ.call(Z,Y)&&Y!==Q)w1(Z,Y,{get:()=>$[Y],enumerable:!(X=EJ($,Y))||X.enumerable})}return Z},TJ=(Z)=>RJ(w1({},"__esModule",{value:!0}),Z),p$={};fJ(p$,{SYMBOL_FOR_REQ_CONTEXT:()=>l$,getContext:()=>MJ});n$.exports=TJ(p$);var l$=Symbol.for("@vercel/request-context");function MJ(){return globalThis[l$]?.get?.()??{}}});var a$=T((TH,r$)=>{var{defineProperty:P1,getOwnPropertyDescriptor:bJ,getOwnPropertyNames:SJ}=Object,yJ=Object.prototype.hasOwnProperty,vJ=(Z,$)=>{for(var Q in $)P1(Z,Q,{get:$[Q],enumerable:!0})},_J=(Z,$,Q,X)=>{if($&&typeof $==="object"||typeof $==="function"){for(let Y of SJ($))if(!yJ.call(Z,Y)&&Y!==Q)P1(Z,Y,{get:()=>$[Y],enumerable:!(X=bJ($,Y))||X.enumerable})}return Z},xJ=(Z)=>_J(P1({},"__esModule",{value:!0}),Z),o$={};vJ(o$,{getVercelOidcToken:()=>gJ,getVercelOidcTokenSync:()=>E1});r$.exports=xJ(o$);var kJ=A1(),hJ=CJ();async function gJ(){let Z="",$;try{Z=E1()}catch(Q){$=Q}try{let[{getTokenPayload:Q,isExpired:X},{refreshToken:Y}]=await Promise.all([await import("./chunk-gc66xe7z.js"),await import("./chunk-xtrn4wn0.js")]);if(!Z||X(Q(Z)))await Y(),Z=E1()}catch(Q){if($?.message&&Q instanceof Error)Q.message=`${$.message}
2
- ${Q.message}`;throw new hJ.VercelOidcTokenError("Failed to refresh OIDC token",Q)}return Z}function E1(){let Z=(0,kJ.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!Z)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return Z}});var f1=T((MH,ZQ)=>{var{defineProperty:I1,getOwnPropertyDescriptor:mJ,getOwnPropertyNames:dJ}=Object,uJ=Object.prototype.hasOwnProperty,cJ=(Z,$)=>{for(var Q in $)I1(Z,Q,{get:$[Q],enumerable:!0})},iJ=(Z,$,Q,X)=>{if($&&typeof $==="object"||typeof $==="function"){for(let Y of dJ($))if(!uJ.call(Z,Y)&&Y!==Q)I1(Z,Y,{get:()=>$[Y],enumerable:!(X=mJ($,Y))||X.enumerable})}return Z},pJ=(Z)=>iJ(I1({},"__esModule",{value:!0}),Z),e$={};cJ(e$,{getContext:()=>lJ.getContext,getVercelOidcToken:()=>t$.getVercelOidcToken,getVercelOidcTokenSync:()=>t$.getVercelOidcTokenSync});ZQ.exports=pJ(e$);var t$=a$(),lJ=A1()});var hQ=T((xQ)=>{Object.defineProperty(xQ,"__esModule",{value:!0});xQ._globalThis=void 0;xQ._globalThis=typeof globalThis==="object"?globalThis:global});var gQ=T((aZ)=>{var N8=aZ&&aZ.__createBinding||(Object.create?function(Z,$,Q,X){if(X===void 0)X=Q;Object.defineProperty(Z,X,{enumerable:!0,get:function(){return $[Q]}})}:function(Z,$,Q,X){if(X===void 0)X=Q;Z[X]=$[Q]}),O8=aZ&&aZ.__exportStar||function(Z,$){for(var Q in Z)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call($,Q))N8($,Z,Q)};Object.defineProperty(aZ,"__esModule",{value:!0});O8(hQ(),aZ)});var mQ=T((tZ)=>{var V8=tZ&&tZ.__createBinding||(Object.create?function(Z,$,Q,X){if(X===void 0)X=Q;Object.defineProperty(Z,X,{enumerable:!0,get:function(){return $[Q]}})}:function(Z,$,Q,X){if(X===void 0)X=Q;Z[X]=$[Q]}),D8=tZ&&tZ.__exportStar||function(Z,$){for(var Q in Z)if(Q!=="default"&&!Object.prototype.hasOwnProperty.call($,Q))V8($,Z,Q)};Object.defineProperty(tZ,"__esModule",{value:!0});D8(gQ(),tZ)});var b1=T((dQ)=>{Object.defineProperty(dQ,"__esModule",{value:!0});dQ.VERSION=void 0;dQ.VERSION="1.9.0"});var nQ=T((pQ)=>{Object.defineProperty(pQ,"__esModule",{value:!0});pQ.isCompatible=pQ._makeCompatibilityCheck=void 0;var L8=b1(),cQ=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function iQ(Z){let $=new Set([Z]),Q=new Set,X=Z.match(cQ);if(!X)return()=>!1;let Y={major:+X[1],minor:+X[2],patch:+X[3],prerelease:X[4]};if(Y.prerelease!=null)return function(K){return K===Z};function J(H){return Q.add(H),!1}function W(H){return $.add(H),!0}return function(K){if($.has(K))return!0;if(Q.has(K))return!1;let G=K.match(cQ);if(!G)return J(K);let F={major:+G[1],minor:+G[2],patch:+G[3],prerelease:G[4]};if(F.prerelease!=null)return J(K);if(Y.major!==F.major)return J(K);if(Y.major===0){if(Y.minor===F.minor&&Y.patch<=F.patch)return W(K);return J(K)}if(Y.minor<=F.minor)return W(K);return J(K)}}pQ._makeCompatibilityCheck=iQ;pQ.isCompatible=iQ(L8.VERSION)});var eZ=T((sQ)=>{Object.defineProperty(sQ,"__esModule",{value:!0});sQ.unregisterGlobal=sQ.getGlobal=sQ.registerGlobal=void 0;var A8=mQ(),B0=b1(),E8=nQ(),P8=B0.VERSION.split(".")[0],C0=Symbol.for(`opentelemetry.js.api.${P8}`),b0=A8._globalThis;function I8(Z,$,Q,X=!1){var Y;let J=b0[C0]=(Y=b0[C0])!==null&&Y!==void 0?Y:{version:B0.VERSION};if(!X&&J[Z]){let W=Error(`@opentelemetry/api: Attempted duplicate registration of API: ${Z}`);return Q.error(W.stack||W.message),!1}if(J.version!==B0.VERSION){let W=Error(`@opentelemetry/api: Registration of version v${J.version} for ${Z} does not match previously registered API v${B0.VERSION}`);return Q.error(W.stack||W.message),!1}return J[Z]=$,Q.debug(`@opentelemetry/api: Registered a global for ${Z} v${B0.VERSION}.`),!0}sQ.registerGlobal=I8;function f8(Z){var $,Q;let X=($=b0[C0])===null||$===void 0?void 0:$.version;if(!X||!(0,E8.isCompatible)(X))return;return(Q=b0[C0])===null||Q===void 0?void 0:Q[Z]}sQ.getGlobal=f8;function R8(Z,$){$.debug(`@opentelemetry/api: Unregistering a global for ${Z} v${B0.VERSION}.`);let Q=b0[C0];if(Q)delete Q[Z]}sQ.unregisterGlobal=R8});var eQ=T((aQ)=>{Object.defineProperty(aQ,"__esModule",{value:!0});aQ.DiagComponentLogger=void 0;var C8=eZ();class rQ{constructor(Z){this._namespace=Z.namespace||"DiagComponentLogger"}debug(...Z){return S0("debug",this._namespace,Z)}error(...Z){return S0("error",this._namespace,Z)}info(...Z){return S0("info",this._namespace,Z)}warn(...Z){return S0("warn",this._namespace,Z)}verbose(...Z){return S0("verbose",this._namespace,Z)}}aQ.DiagComponentLogger=rQ;function S0(Z,$,Q){let X=(0,C8.getGlobal)("diag");if(!X)return;return Q.unshift($),X[Z](...Q)}});var r0=T((Z6)=>{Object.defineProperty(Z6,"__esModule",{value:!0});Z6.DiagLogLevel=void 0;var b8;(function(Z){Z[Z.NONE=0]="NONE",Z[Z.ERROR=30]="ERROR",Z[Z.WARN=50]="WARN",Z[Z.INFO=60]="INFO",Z[Z.DEBUG=70]="DEBUG",Z[Z.VERBOSE=80]="VERBOSE",Z[Z.ALL=9999]="ALL"})(b8=Z6.DiagLogLevel||(Z6.DiagLogLevel={}))});var X6=T(($6)=>{Object.defineProperty($6,"__esModule",{value:!0});$6.createLogLevelDiagLogger=void 0;var gZ=r0();function S8(Z,$){if(Z<gZ.DiagLogLevel.NONE)Z=gZ.DiagLogLevel.NONE;else if(Z>gZ.DiagLogLevel.ALL)Z=gZ.DiagLogLevel.ALL;$=$||{};function Q(X,Y){let J=$[X];if(typeof J==="function"&&Z>=Y)return J.bind($);return function(){}}return{error:Q("error",gZ.DiagLogLevel.ERROR),warn:Q("warn",gZ.DiagLogLevel.WARN),info:Q("info",gZ.DiagLogLevel.INFO),debug:Q("debug",gZ.DiagLogLevel.DEBUG),verbose:Q("verbose",gZ.DiagLogLevel.VERBOSE)}}$6.createLogLevelDiagLogger=S8});var Z0=T((Y6)=>{Object.defineProperty(Y6,"__esModule",{value:!0});Y6.DiagAPI=void 0;var y8=eQ(),v8=X6(),J6=r0(),a0=eZ(),_8="diag";class y1{constructor(){function Z(X){return function(...Y){let J=(0,a0.getGlobal)("diag");if(!J)return;return J[X](...Y)}}let $=this,Q=(X,Y={logLevel:J6.DiagLogLevel.INFO})=>{var J,W,H;if(X===$){let F=Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return $.error((J=F.stack)!==null&&J!==void 0?J:F.message),!1}if(typeof Y==="number")Y={logLevel:Y};let K=(0,a0.getGlobal)("diag"),G=(0,v8.createLogLevelDiagLogger)((W=Y.logLevel)!==null&&W!==void 0?W:J6.DiagLogLevel.INFO,X);if(K&&!Y.suppressOverrideMessage){let F=(H=Error().stack)!==null&&H!==void 0?H:"<failed to generate stacktrace>";K.warn(`Current logger will be overwritten from ${F}`),G.warn(`Current logger will overwrite one already registered from ${F}`)}return(0,a0.registerGlobal)("diag",G,$,!0)};$.setLogger=Q,$.disable=()=>{(0,a0.unregisterGlobal)(_8,$)},$.createComponentLogger=(X)=>{return new y8.DiagComponentLogger(X)},$.verbose=Z("verbose"),$.debug=Z("debug"),$.info=Z("info"),$.warn=Z("warn"),$.error=Z("error")}static instance(){if(!this._instance)this._instance=new y1;return this._instance}}Y6.DiagAPI=y1});var G6=T((H6)=>{Object.defineProperty(H6,"__esModule",{value:!0});H6.BaggageImpl=void 0;class F0{constructor(Z){this._entries=Z?new Map(Z):new Map}getEntry(Z){let $=this._entries.get(Z);if(!$)return;return Object.assign({},$)}getAllEntries(){return Array.from(this._entries.entries()).map(([Z,$])=>[Z,$])}setEntry(Z,$){let Q=new F0(this._entries);return Q._entries.set(Z,$),Q}removeEntry(Z){let $=new F0(this._entries);return $._entries.delete(Z),$}removeEntries(...Z){let $=new F0(this._entries);for(let Q of Z)$._entries.delete(Q);return $}clear(){return new F0}}H6.BaggageImpl=F0});var B6=T((K6)=>{Object.defineProperty(K6,"__esModule",{value:!0});K6.baggageEntryMetadataSymbol=void 0;K6.baggageEntryMetadataSymbol=Symbol("BaggageEntryMetadata")});var v1=T((F6)=>{Object.defineProperty(F6,"__esModule",{value:!0});F6.baggageEntryMetadataFromString=F6.createBaggage=void 0;var x8=Z0(),k8=G6(),h8=B6(),g8=x8.DiagAPI.instance();function m8(Z={}){return new k8.BaggageImpl(new Map(Object.entries(Z)))}F6.createBaggage=m8;function d8(Z){if(typeof Z!=="string")g8.error(`Cannot create baggage metadata from unknown type: ${typeof Z}`),Z="";return{__TYPE__:h8.baggageEntryMetadataSymbol,toString(){return Z}}}F6.baggageEntryMetadataFromString=d8});var y0=T((j6)=>{Object.defineProperty(j6,"__esModule",{value:!0});j6.ROOT_CONTEXT=j6.createContextKey=void 0;function c8(Z){return Symbol.for(Z)}j6.createContextKey=c8;class t0{constructor(Z){let $=this;$._currentContext=Z?new Map(Z):new Map,$.getValue=(Q)=>$._currentContext.get(Q),$.setValue=(Q,X)=>{let Y=new t0($._currentContext);return Y._currentContext.set(Q,X),Y},$.deleteValue=(Q)=>{let X=new t0($._currentContext);return X._currentContext.delete(Q),X}}}j6.ROOT_CONTEXT=new t0});var L6=T((V6)=>{Object.defineProperty(V6,"__esModule",{value:!0});V6.DiagConsoleLogger=void 0;var _1=[{n:"error",c:"error"},{n:"warn",c:"warn"},{n:"info",c:"info"},{n:"debug",c:"debug"},{n:"verbose",c:"trace"}];class O6{constructor(){function Z($){return function(...Q){if(console){let X=console[$];if(typeof X!=="function")X=console.log;if(typeof X==="function")return X.apply(console,Q)}}}for(let $=0;$<_1.length;$++)this[_1[$].n]=Z(_1[$].c)}}V6.DiagConsoleLogger=O6});var i1=T((w6)=>{Object.defineProperty(w6,"__esModule",{value:!0});w6.createNoopMeter=w6.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=w6.NOOP_OBSERVABLE_GAUGE_METRIC=w6.NOOP_OBSERVABLE_COUNTER_METRIC=w6.NOOP_UP_DOWN_COUNTER_METRIC=w6.NOOP_HISTOGRAM_METRIC=w6.NOOP_GAUGE_METRIC=w6.NOOP_COUNTER_METRIC=w6.NOOP_METER=w6.NoopObservableUpDownCounterMetric=w6.NoopObservableGaugeMetric=w6.NoopObservableCounterMetric=w6.NoopObservableMetric=w6.NoopHistogramMetric=w6.NoopGaugeMetric=w6.NoopUpDownCounterMetric=w6.NoopCounterMetric=w6.NoopMetric=w6.NoopMeter=void 0;class x1{constructor(){}createGauge(Z,$){return w6.NOOP_GAUGE_METRIC}createHistogram(Z,$){return w6.NOOP_HISTOGRAM_METRIC}createCounter(Z,$){return w6.NOOP_COUNTER_METRIC}createUpDownCounter(Z,$){return w6.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(Z,$){return w6.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(Z,$){return w6.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(Z,$){return w6.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(Z,$){}removeBatchObservableCallback(Z){}}w6.NoopMeter=x1;class U0{}w6.NoopMetric=U0;class k1 extends U0{add(Z,$){}}w6.NoopCounterMetric=k1;class h1 extends U0{add(Z,$){}}w6.NoopUpDownCounterMetric=h1;class g1 extends U0{record(Z,$){}}w6.NoopGaugeMetric=g1;class m1 extends U0{record(Z,$){}}w6.NoopHistogramMetric=m1;class v0{addCallback(Z){}removeCallback(Z){}}w6.NoopObservableMetric=v0;class d1 extends v0{}w6.NoopObservableCounterMetric=d1;class u1 extends v0{}w6.NoopObservableGaugeMetric=u1;class c1 extends v0{}w6.NoopObservableUpDownCounterMetric=c1;w6.NOOP_METER=new x1;w6.NOOP_COUNTER_METRIC=new k1;w6.NOOP_GAUGE_METRIC=new g1;w6.NOOP_HISTOGRAM_METRIC=new m1;w6.NOOP_UP_DOWN_COUNTER_METRIC=new h1;w6.NOOP_OBSERVABLE_COUNTER_METRIC=new d1;w6.NOOP_OBSERVABLE_GAUGE_METRIC=new u1;w6.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new c1;function p8(){return w6.NOOP_METER}w6.createNoopMeter=p8});var S6=T((b6)=>{Object.defineProperty(b6,"__esModule",{value:!0});b6.ValueType=void 0;var QY;(function(Z){Z[Z.INT=0]="INT",Z[Z.DOUBLE=1]="DOUBLE"})(QY=b6.ValueType||(b6.ValueType={}))});var l1=T((y6)=>{Object.defineProperty(y6,"__esModule",{value:!0});y6.defaultTextMapSetter=y6.defaultTextMapGetter=void 0;y6.defaultTextMapGetter={get(Z,$){if(Z==null)return;return Z[$]},keys(Z){if(Z==null)return[];return Object.keys(Z)}};y6.defaultTextMapSetter={set(Z,$,Q){if(Z==null)return;Z[$]=Q}}});var h6=T((x6)=>{Object.defineProperty(x6,"__esModule",{value:!0});x6.NoopContextManager=void 0;var JY=y0();class _6{active(){return JY.ROOT_CONTEXT}with(Z,$,Q,...X){return $.call(Q,...X)}bind(Z,$){return $}enable(){return this}disable(){return this}}x6.NoopContextManager=_6});var _0=T((m6)=>{Object.defineProperty(m6,"__esModule",{value:!0});m6.ContextAPI=void 0;var YY=h6(),n1=eZ(),g6=Z0(),s1="context",zY=new YY.NoopContextManager;class o1{constructor(){}static getInstance(){if(!this._instance)this._instance=new o1;return this._instance}setGlobalContextManager(Z){return(0,n1.registerGlobal)(s1,Z,g6.DiagAPI.instance())}active(){return this._getContextManager().active()}with(Z,$,Q,...X){return this._getContextManager().with(Z,$,Q,...X)}bind(Z,$){return this._getContextManager().bind(Z,$)}_getContextManager(){return(0,n1.getGlobal)(s1)||zY}disable(){this._getContextManager().disable(),(0,n1.unregisterGlobal)(s1,g6.DiagAPI.instance())}}m6.ContextAPI=o1});var a1=T((u6)=>{Object.defineProperty(u6,"__esModule",{value:!0});u6.TraceFlags=void 0;var HY;(function(Z){Z[Z.NONE=0]="NONE",Z[Z.SAMPLED=1]="SAMPLED"})(HY=u6.TraceFlags||(u6.TraceFlags={}))});var e0=T((c6)=>{Object.defineProperty(c6,"__esModule",{value:!0});c6.INVALID_SPAN_CONTEXT=c6.INVALID_TRACEID=c6.INVALID_SPANID=void 0;var WY=a1();c6.INVALID_SPANID="0000000000000000";c6.INVALID_TRACEID="00000000000000000000000000000000";c6.INVALID_SPAN_CONTEXT={traceId:c6.INVALID_TRACEID,spanId:c6.INVALID_SPANID,traceFlags:WY.TraceFlags.NONE}});var Z1=T((s6)=>{Object.defineProperty(s6,"__esModule",{value:!0});s6.NonRecordingSpan=void 0;var GY=e0();class n6{constructor(Z=GY.INVALID_SPAN_CONTEXT){this._spanContext=Z}spanContext(){return this._spanContext}setAttribute(Z,$){return this}setAttributes(Z){return this}addEvent(Z,$){return this}addLink(Z){return this}addLinks(Z){return this}setStatus(Z){return this}updateName(Z){return this}end(Z){}isRecording(){return!1}recordException(Z,$){}}s6.NonRecordingSpan=n6});var Z$=T((a6)=>{Object.defineProperty(a6,"__esModule",{value:!0});a6.getSpanContext=a6.setSpanContext=a6.deleteSpan=a6.setSpan=a6.getActiveSpan=a6.getSpan=void 0;var KY=y0(),qY=Z1(),BY=_0(),t1=(0,KY.createContextKey)("OpenTelemetry Context Key SPAN");function e1(Z){return Z.getValue(t1)||void 0}a6.getSpan=e1;function FY(){return e1(BY.ContextAPI.getInstance().active())}a6.getActiveSpan=FY;function r6(Z,$){return Z.setValue(t1,$)}a6.setSpan=r6;function UY(Z){return Z.deleteValue(t1)}a6.deleteSpan=UY;function jY(Z,$){return r6(Z,new qY.NonRecordingSpan($))}a6.setSpanContext=jY;function NY(Z){var $;return($=e1(Z))===null||$===void 0?void 0:$.spanContext()}a6.getSpanContext=NY});var $1=T((QX)=>{Object.defineProperty(QX,"__esModule",{value:!0});QX.wrapSpanContext=QX.isSpanContextValid=QX.isValidSpanId=QX.isValidTraceId=void 0;var e6=e0(),AY=Z1(),EY=/^([0-9a-f]{32})$/i,PY=/^[0-9a-f]{16}$/i;function ZX(Z){return EY.test(Z)&&Z!==e6.INVALID_TRACEID}QX.isValidTraceId=ZX;function $X(Z){return PY.test(Z)&&Z!==e6.INVALID_SPANID}QX.isValidSpanId=$X;function IY(Z){return ZX(Z.traceId)&&$X(Z.spanId)}QX.isSpanContextValid=IY;function fY(Z){return new AY.NonRecordingSpan(Z)}QX.wrapSpanContext=fY});var X$=T((zX)=>{Object.defineProperty(zX,"__esModule",{value:!0});zX.NoopTracer=void 0;var CY=_0(),JX=Z$(),$$=Z1(),bY=$1(),Q$=CY.ContextAPI.getInstance();class YX{startSpan(Z,$,Q=Q$.active()){if(Boolean($===null||$===void 0?void 0:$.root))return new $$.NonRecordingSpan;let Y=Q&&(0,JX.getSpanContext)(Q);if(SY(Y)&&(0,bY.isSpanContextValid)(Y))return new $$.NonRecordingSpan(Y);else return new $$.NonRecordingSpan}startActiveSpan(Z,$,Q,X){let Y,J,W;if(arguments.length<2)return;else if(arguments.length===2)W=$;else if(arguments.length===3)Y=$,W=Q;else Y=$,J=Q,W=X;let H=J!==null&&J!==void 0?J:Q$.active(),K=this.startSpan(Z,Y,H),G=(0,JX.setSpan)(H,K);return Q$.with(G,W,void 0,K)}}zX.NoopTracer=YX;function SY(Z){return typeof Z==="object"&&typeof Z.spanId==="string"&&typeof Z.traceId==="string"&&typeof Z.traceFlags==="number"}});var J$=T((GX)=>{Object.defineProperty(GX,"__esModule",{value:!0});GX.ProxyTracer=void 0;var yY=X$(),vY=new yY.NoopTracer;class WX{constructor(Z,$,Q,X){this._provider=Z,this.name=$,this.version=Q,this.options=X}startSpan(Z,$,Q){return this._getTracer().startSpan(Z,$,Q)}startActiveSpan(Z,$,Q,X){let Y=this._getTracer();return Reflect.apply(Y.startActiveSpan,Y,arguments)}_getTracer(){if(this._delegate)return this._delegate;let Z=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!Z)return vY;return this._delegate=Z,this._delegate}}GX.ProxyTracer=WX});var UX=T((BX)=>{Object.defineProperty(BX,"__esModule",{value:!0});BX.NoopTracerProvider=void 0;var _Y=X$();class qX{getTracer(Z,$,Q){return new _Y.NoopTracer}}BX.NoopTracerProvider=qX});var Y$=T((NX)=>{Object.defineProperty(NX,"__esModule",{value:!0});NX.ProxyTracerProvider=void 0;var xY=J$(),kY=UX(),hY=new kY.NoopTracerProvider;class jX{getTracer(Z,$,Q){var X;return(X=this.getDelegateTracer(Z,$,Q))!==null&&X!==void 0?X:new xY.ProxyTracer(this,Z,$,Q)}getDelegate(){var Z;return(Z=this._delegate)!==null&&Z!==void 0?Z:hY}setDelegate(Z){this._delegate=Z}getDelegateTracer(Z,$,Q){var X;return(X=this._delegate)===null||X===void 0?void 0:X.getTracer(Z,$,Q)}}NX.ProxyTracerProvider=jX});var DX=T((VX)=>{Object.defineProperty(VX,"__esModule",{value:!0});VX.SamplingDecision=void 0;var gY;(function(Z){Z[Z.NOT_RECORD=0]="NOT_RECORD",Z[Z.RECORD=1]="RECORD",Z[Z.RECORD_AND_SAMPLED=2]="RECORD_AND_SAMPLED"})(gY=VX.SamplingDecision||(VX.SamplingDecision={}))});var wX=T((LX)=>{Object.defineProperty(LX,"__esModule",{value:!0});LX.SpanKind=void 0;var mY;(function(Z){Z[Z.INTERNAL=0]="INTERNAL",Z[Z.SERVER=1]="SERVER",Z[Z.CLIENT=2]="CLIENT",Z[Z.PRODUCER=3]="PRODUCER",Z[Z.CONSUMER=4]="CONSUMER"})(mY=LX.SpanKind||(LX.SpanKind={}))});var EX=T((AX)=>{Object.defineProperty(AX,"__esModule",{value:!0});AX.SpanStatusCode=void 0;var dY;(function(Z){Z[Z.UNSET=0]="UNSET",Z[Z.OK=1]="OK",Z[Z.ERROR=2]="ERROR"})(dY=AX.SpanStatusCode||(AX.SpanStatusCode={}))});var fX=T((PX)=>{Object.defineProperty(PX,"__esModule",{value:!0});PX.validateValue=PX.validateKey=void 0;var G$="[_0-9a-z-*/]",uY=`[a-z]${G$}{0,255}`,cY=`[a-z0-9]${G$}{0,240}@[a-z]${G$}{0,13}`,iY=new RegExp(`^(?:${uY}|${cY})$`),pY=/^[ -~]{0,255}[!-~]$/,lY=/,|=/;function nY(Z){return iY.test(Z)}PX.validateKey=nY;function sY(Z){return pY.test(Z)&&!lY.test(Z)}PX.validateValue=sY});var yX=T((bX)=>{Object.defineProperty(bX,"__esModule",{value:!0});bX.TraceStateImpl=void 0;var RX=fX(),TX=32,rY=512,MX=",",CX="=";class K${constructor(Z){if(this._internalState=new Map,Z)this._parse(Z)}set(Z,$){let Q=this._clone();if(Q._internalState.has(Z))Q._internalState.delete(Z);return Q._internalState.set(Z,$),Q}unset(Z){let $=this._clone();return $._internalState.delete(Z),$}get(Z){return this._internalState.get(Z)}serialize(){return this._keys().reduce((Z,$)=>{return Z.push($+CX+this.get($)),Z},[]).join(MX)}_parse(Z){if(Z.length>rY)return;if(this._internalState=Z.split(MX).reverse().reduce(($,Q)=>{let X=Q.trim(),Y=X.indexOf(CX);if(Y!==-1){let J=X.slice(0,Y),W=X.slice(Y+1,Q.length);if((0,RX.validateKey)(J)&&(0,RX.validateValue)(W))$.set(J,W)}return $},new Map),this._internalState.size>TX)this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,TX))}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){let Z=new K$;return Z._internalState=new Map(this._internalState),Z}}bX.TraceStateImpl=K$});var xX=T((vX)=>{Object.defineProperty(vX,"__esModule",{value:!0});vX.createTraceState=void 0;var aY=yX();function tY(Z){return new aY.TraceStateImpl(Z)}vX.createTraceState=tY});var gX=T((kX)=>{Object.defineProperty(kX,"__esModule",{value:!0});kX.context=void 0;var eY=_0();kX.context=eY.ContextAPI.getInstance()});var uX=T((mX)=>{Object.defineProperty(mX,"__esModule",{value:!0});mX.diag=void 0;var Zz=Z0();mX.diag=Zz.DiagAPI.instance()});var pX=T((cX)=>{Object.defineProperty(cX,"__esModule",{value:!0});cX.NOOP_METER_PROVIDER=cX.NoopMeterProvider=void 0;var $z=i1();class q${getMeter(Z,$,Q){return $z.NOOP_METER}}cX.NoopMeterProvider=q$;cX.NOOP_METER_PROVIDER=new q$});var oX=T((nX)=>{Object.defineProperty(nX,"__esModule",{value:!0});nX.MetricsAPI=void 0;var Xz=pX(),B$=eZ(),lX=Z0(),F$="metrics";class U${constructor(){}static getInstance(){if(!this._instance)this._instance=new U$;return this._instance}setGlobalMeterProvider(Z){return(0,B$.registerGlobal)(F$,Z,lX.DiagAPI.instance())}getMeterProvider(){return(0,B$.getGlobal)(F$)||Xz.NOOP_METER_PROVIDER}getMeter(Z,$,Q){return this.getMeterProvider().getMeter(Z,$,Q)}disable(){(0,B$.unregisterGlobal)(F$,lX.DiagAPI.instance())}}nX.MetricsAPI=U$});var tX=T((rX)=>{Object.defineProperty(rX,"__esModule",{value:!0});rX.metrics=void 0;var Jz=oX();rX.metrics=Jz.MetricsAPI.getInstance()});var Q9=T((Z9)=>{Object.defineProperty(Z9,"__esModule",{value:!0});Z9.NoopTextMapPropagator=void 0;class eX{inject(Z,$){}extract(Z,$){return Z}fields(){return[]}}Z9.NoopTextMapPropagator=eX});var z9=T((J9)=>{Object.defineProperty(J9,"__esModule",{value:!0});J9.deleteBaggage=J9.setBaggage=J9.getActiveBaggage=J9.getBaggage=void 0;var Yz=_0(),zz=y0(),j$=(0,zz.createContextKey)("OpenTelemetry Baggage Key");function X9(Z){return Z.getValue(j$)||void 0}J9.getBaggage=X9;function Hz(){return X9(Yz.ContextAPI.getInstance().active())}J9.getActiveBaggage=Hz;function Wz(Z,$){return Z.setValue(j$,$)}J9.setBaggage=Wz;function Gz(Z){return Z.deleteValue(j$)}J9.deleteBaggage=Gz});var q9=T((G9)=>{Object.defineProperty(G9,"__esModule",{value:!0});G9.PropagationAPI=void 0;var N$=eZ(),Fz=Q9(),H9=l1(),Q1=z9(),Uz=v1(),W9=Z0(),O$="propagation",jz=new Fz.NoopTextMapPropagator;class V${constructor(){this.createBaggage=Uz.createBaggage,this.getBaggage=Q1.getBaggage,this.getActiveBaggage=Q1.getActiveBaggage,this.setBaggage=Q1.setBaggage,this.deleteBaggage=Q1.deleteBaggage}static getInstance(){if(!this._instance)this._instance=new V$;return this._instance}setGlobalPropagator(Z){return(0,N$.registerGlobal)(O$,Z,W9.DiagAPI.instance())}inject(Z,$,Q=H9.defaultTextMapSetter){return this._getGlobalPropagator().inject(Z,$,Q)}extract(Z,$,Q=H9.defaultTextMapGetter){return this._getGlobalPropagator().extract(Z,$,Q)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,N$.unregisterGlobal)(O$,W9.DiagAPI.instance())}_getGlobalPropagator(){return(0,N$.getGlobal)(O$)||jz}}G9.PropagationAPI=V$});var U9=T((B9)=>{Object.defineProperty(B9,"__esModule",{value:!0});B9.propagation=void 0;var Nz=q9();B9.propagation=Nz.PropagationAPI.getInstance()});var L9=T((V9)=>{Object.defineProperty(V9,"__esModule",{value:!0});V9.TraceAPI=void 0;var D$=eZ(),j9=Y$(),N9=$1(),j0=Z$(),O9=Z0(),L$="trace";class w${constructor(){this._proxyTracerProvider=new j9.ProxyTracerProvider,this.wrapSpanContext=N9.wrapSpanContext,this.isSpanContextValid=N9.isSpanContextValid,this.deleteSpan=j0.deleteSpan,this.getSpan=j0.getSpan,this.getActiveSpan=j0.getActiveSpan,this.getSpanContext=j0.getSpanContext,this.setSpan=j0.setSpan,this.setSpanContext=j0.setSpanContext}static getInstance(){if(!this._instance)this._instance=new w$;return this._instance}setGlobalTracerProvider(Z){let $=(0,D$.registerGlobal)(L$,this._proxyTracerProvider,O9.DiagAPI.instance());if($)this._proxyTracerProvider.setDelegate(Z);return $}getTracerProvider(){return(0,D$.getGlobal)(L$)||this._proxyTracerProvider}getTracer(Z,$){return this.getTracerProvider().getTracer(Z,$)}disable(){(0,D$.unregisterGlobal)(L$,O9.DiagAPI.instance()),this._proxyTracerProvider=new j9.ProxyTracerProvider}}V9.TraceAPI=w$});var E9=T((w9)=>{Object.defineProperty(w9,"__esModule",{value:!0});w9.trace=void 0;var Oz=L9();w9.trace=Oz.TraceAPI.getInstance()});var P$=T((d)=>{Object.defineProperty(d,"__esModule",{value:!0});d.trace=d.propagation=d.metrics=d.diag=d.context=d.INVALID_SPAN_CONTEXT=d.INVALID_TRACEID=d.INVALID_SPANID=d.isValidSpanId=d.isValidTraceId=d.isSpanContextValid=d.createTraceState=d.TraceFlags=d.SpanStatusCode=d.SpanKind=d.SamplingDecision=d.ProxyTracerProvider=d.ProxyTracer=d.defaultTextMapSetter=d.defaultTextMapGetter=d.ValueType=d.createNoopMeter=d.DiagLogLevel=d.DiagConsoleLogger=d.ROOT_CONTEXT=d.createContextKey=d.baggageEntryMetadataFromString=void 0;var Vz=v1();Object.defineProperty(d,"baggageEntryMetadataFromString",{enumerable:!0,get:function(){return Vz.baggageEntryMetadataFromString}});var P9=y0();Object.defineProperty(d,"createContextKey",{enumerable:!0,get:function(){return P9.createContextKey}});Object.defineProperty(d,"ROOT_CONTEXT",{enumerable:!0,get:function(){return P9.ROOT_CONTEXT}});var Dz=L6();Object.defineProperty(d,"DiagConsoleLogger",{enumerable:!0,get:function(){return Dz.DiagConsoleLogger}});var Lz=r0();Object.defineProperty(d,"DiagLogLevel",{enumerable:!0,get:function(){return Lz.DiagLogLevel}});var wz=i1();Object.defineProperty(d,"createNoopMeter",{enumerable:!0,get:function(){return wz.createNoopMeter}});var Az=S6();Object.defineProperty(d,"ValueType",{enumerable:!0,get:function(){return Az.ValueType}});var I9=l1();Object.defineProperty(d,"defaultTextMapGetter",{enumerable:!0,get:function(){return I9.defaultTextMapGetter}});Object.defineProperty(d,"defaultTextMapSetter",{enumerable:!0,get:function(){return I9.defaultTextMapSetter}});var Ez=J$();Object.defineProperty(d,"ProxyTracer",{enumerable:!0,get:function(){return Ez.ProxyTracer}});var Pz=Y$();Object.defineProperty(d,"ProxyTracerProvider",{enumerable:!0,get:function(){return Pz.ProxyTracerProvider}});var Iz=DX();Object.defineProperty(d,"SamplingDecision",{enumerable:!0,get:function(){return Iz.SamplingDecision}});var fz=wX();Object.defineProperty(d,"SpanKind",{enumerable:!0,get:function(){return fz.SpanKind}});var Rz=EX();Object.defineProperty(d,"SpanStatusCode",{enumerable:!0,get:function(){return Rz.SpanStatusCode}});var Tz=a1();Object.defineProperty(d,"TraceFlags",{enumerable:!0,get:function(){return Tz.TraceFlags}});var Mz=xX();Object.defineProperty(d,"createTraceState",{enumerable:!0,get:function(){return Mz.createTraceState}});var A$=$1();Object.defineProperty(d,"isSpanContextValid",{enumerable:!0,get:function(){return A$.isSpanContextValid}});Object.defineProperty(d,"isValidTraceId",{enumerable:!0,get:function(){return A$.isValidTraceId}});Object.defineProperty(d,"isValidSpanId",{enumerable:!0,get:function(){return A$.isValidSpanId}});var E$=e0();Object.defineProperty(d,"INVALID_SPANID",{enumerable:!0,get:function(){return E$.INVALID_SPANID}});Object.defineProperty(d,"INVALID_TRACEID",{enumerable:!0,get:function(){return E$.INVALID_TRACEID}});Object.defineProperty(d,"INVALID_SPAN_CONTEXT",{enumerable:!0,get:function(){return E$.INVALID_SPAN_CONTEXT}});var f9=gX();Object.defineProperty(d,"context",{enumerable:!0,get:function(){return f9.context}});var R9=uX();Object.defineProperty(d,"diag",{enumerable:!0,get:function(){return R9.diag}});var T9=tX();Object.defineProperty(d,"metrics",{enumerable:!0,get:function(){return T9.metrics}});var M9=U9();Object.defineProperty(d,"propagation",{enumerable:!0,get:function(){return M9.propagation}});var C9=E9();Object.defineProperty(d,"trace",{enumerable:!0,get:function(){return C9.trace}});d.default={context:f9.context,diag:R9.diag,metrics:T9.metrics,propagation:M9.propagation,trace:C9.trace}});var yQ=q0(f1(),1),vQ=q0(f1(),1);var nJ="vercel.ai.gateway.error",R1=Symbol.for(nJ),$Q,QQ,EZ=class Z extends(QQ=Error,$Q=R1,QQ){constructor({message:$,statusCode:Q=500,cause:X}){super($);this[$Q]=!0,this.statusCode=Q,this.cause=X}static isInstance($){return Z.hasMarker($)}static hasMarker($){return typeof $==="object"&&$!==null&&R1 in $&&$[R1]===!0}},fQ="GatewayAuthenticationError",sJ=`vercel.ai.gateway.error.${fQ}`,XQ=Symbol.for(sJ),JQ,YQ,o0=class Z extends(YQ=EZ,JQ=XQ,YQ){constructor({message:$="Authentication failed",statusCode:Q=401,cause:X}={}){super({message:$,statusCode:Q,cause:X});this[JQ]=!0,this.name=fQ,this.type="authentication_error"}static isInstance($){return EZ.hasMarker($)&&XQ in $}static createContextualError({apiKeyProvided:$,oidcTokenProvided:Q,message:X="Authentication failed",statusCode:Y=401,cause:J}){let W;if($)W=`AI Gateway authentication failed: Invalid API key.
3
-
4
- Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
5
-
6
- Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`;else if(Q)W=`AI Gateway authentication failed: Invalid OIDC token.
7
-
8
- Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
9
-
10
- Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys`;else W=`AI Gateway authentication failed: No authentication provided.
11
-
12
- Option 1 - API key:
13
- Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
14
- Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
15
-
16
- Option 2 - OIDC token:
17
- Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`;return new Z({message:W,statusCode:Y,cause:J})}},RQ="GatewayInvalidRequestError",oJ=`vercel.ai.gateway.error.${RQ}`,zQ=Symbol.for(oJ),HQ,WQ,rJ=class extends(WQ=EZ,HQ=zQ,WQ){constructor({message:Z="Invalid request",statusCode:$=400,cause:Q}={}){super({message:Z,statusCode:$,cause:Q});this[HQ]=!0,this.name=RQ,this.type="invalid_request_error"}static isInstance(Z){return EZ.hasMarker(Z)&&zQ in Z}},TQ="GatewayRateLimitError",aJ=`vercel.ai.gateway.error.${TQ}`,GQ=Symbol.for(aJ),KQ,qQ,tJ=class extends(qQ=EZ,KQ=GQ,qQ){constructor({message:Z="Rate limit exceeded",statusCode:$=429,cause:Q}={}){super({message:Z,statusCode:$,cause:Q});this[KQ]=!0,this.name=TQ,this.type="rate_limit_exceeded"}static isInstance(Z){return EZ.hasMarker(Z)&&GQ in Z}},MQ="GatewayModelNotFoundError",eJ=`vercel.ai.gateway.error.${MQ}`,BQ=Symbol.for(eJ),Z8=BZ(()=>GZ(z.object({modelId:z.string()}))),FQ,UQ,M1=class extends(UQ=EZ,FQ=BQ,UQ){constructor({message:Z="Model not found",statusCode:$=404,modelId:Q,cause:X}={}){super({message:Z,statusCode:$,cause:X});this[FQ]=!0,this.name=MQ,this.type="model_not_found",this.modelId=Q}static isInstance(Z){return EZ.hasMarker(Z)&&BQ in Z}},CQ="GatewayInternalServerError",$8=`vercel.ai.gateway.error.${CQ}`,jQ=Symbol.for($8),NQ,OQ,VQ=class extends(OQ=EZ,NQ=jQ,OQ){constructor({message:Z="Internal server error",statusCode:$=500,cause:Q}={}){super({message:Z,statusCode:$,cause:Q});this[NQ]=!0,this.name=CQ,this.type="internal_server_error"}static isInstance(Z){return EZ.hasMarker(Z)&&jQ in Z}},bQ="GatewayResponseError",Q8=`vercel.ai.gateway.error.${bQ}`,DQ=Symbol.for(Q8),LQ,wQ,X8=class extends(wQ=EZ,LQ=DQ,wQ){constructor({message:Z="Invalid response from Gateway",statusCode:$=502,response:Q,validationError:X,cause:Y}={}){super({message:Z,statusCode:$,cause:Y});this[LQ]=!0,this.name=bQ,this.type="response_error",this.response=Q,this.validationError=X}static isInstance(Z){return EZ.hasMarker(Z)&&DQ in Z}};async function AQ({response:Z,statusCode:$,defaultMessage:Q="Gateway request failed",cause:X,authMethod:Y}){let J=await qZ({value:Z,schema:J8});if(!J.success)return new X8({message:`Invalid error response format: ${Q}`,statusCode:$,response:Z,validationError:J.error,cause:X});let W=J.value,H=W.error.type,K=W.error.message;switch(H){case"authentication_error":return o0.createContextualError({apiKeyProvided:Y==="api-key",oidcTokenProvided:Y==="oidc",statusCode:$,cause:X});case"invalid_request_error":return new rJ({message:K,statusCode:$,cause:X});case"rate_limit_exceeded":return new tJ({message:K,statusCode:$,cause:X});case"model_not_found":{let G=await qZ({value:W.error.param,schema:Z8});return new M1({message:K,statusCode:$,modelId:G.success?G.value.modelId:void 0,cause:X})}case"internal_server_error":return new VQ({message:K,statusCode:$,cause:X});default:return new VQ({message:K,statusCode:$,cause:X})}}var J8=BZ(()=>GZ(z.object({error:z.object({message:z.string(),type:z.string().nullish(),param:z.unknown().nullish(),code:z.union([z.string(),z.number()]).nullish()})})));function rZ(Z,$){var Q;if(EZ.isInstance(Z))return Z;if(M0.isInstance(Z))return AQ({response:Y8(Z),statusCode:(Q=Z.statusCode)!=null?Q:500,defaultMessage:"Gateway request failed",cause:Z,authMethod:$});return AQ({response:{},statusCode:500,defaultMessage:Z instanceof Error?`Gateway request failed: ${Z.message}`:"Unknown Gateway error",cause:Z,authMethod:$})}function Y8(Z){if(Z.data!==void 0)return Z.data;if(Z.responseBody!=null)try{return JSON.parse(Z.responseBody)}catch($){return Z.responseBody}return{}}var SQ="ai-gateway-auth-method";async function T0(Z){let $=await qZ({value:Z[SQ],schema:z8});return $.success?$.value:void 0}var z8=BZ(()=>GZ(z.union([z.literal("api-key"),z.literal("oidc")]))),EQ=class{constructor(Z){this.config=Z}async getAvailableModels(){try{let{value:Z}=await T1({url:`${this.config.baseURL}/config`,headers:await JZ(this.config.headers()),successfulResponseHandler:oZ(H8),failedResponseHandler:pZ({errorSchema:z.any(),errorToMessage:($)=>$}),fetch:this.config.fetch});return Z}catch(Z){throw await rZ(Z)}}async getCredits(){try{let Z=new URL(this.config.baseURL),{value:$}=await T1({url:`${Z.origin}/v1/credits`,headers:await JZ(this.config.headers()),successfulResponseHandler:oZ(W8),failedResponseHandler:pZ({errorSchema:z.any(),errorToMessage:(Q)=>Q}),fetch:this.config.fetch});return $}catch(Z){throw await rZ(Z)}}},H8=BZ(()=>GZ(z.object({models:z.array(z.object({id:z.string(),name:z.string(),description:z.string().nullish(),pricing:z.object({input:z.string(),output:z.string(),input_cache_read:z.string().nullish(),input_cache_write:z.string().nullish()}).transform(({input:Z,output:$,input_cache_read:Q,input_cache_write:X})=>({input:Z,output:$,...Q?{cachedInputTokens:Q}:{},...X?{cacheCreationInputTokens:X}:{}})).nullish(),specification:z.object({specificationVersion:z.literal("v2"),provider:z.string(),modelId:z.string()}),modelType:z.enum(["language","embedding","image"]).nullish()}))}))),W8=BZ(()=>GZ(z.object({balance:z.string(),total_used:z.string()}).transform(({balance:Z,total_used:$})=>({balance:Z,totalUsed:$})))),G8=class{constructor(Z,$){this.modelId=Z,this.config=$,this.specificationVersion="v2",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(Z){let{abortSignal:$,...Q}=Z;return{args:this.maybeEncodeFileParts(Q),warnings:[]}}async doGenerate(Z){let{args:$,warnings:Q}=await this.getArgs(Z),{abortSignal:X}=Z,Y=await JZ(this.config.headers());try{let{responseHeaders:J,value:W,rawValue:H}=await R0({url:this.getUrl(),headers:f0(Y,Z.headers,this.getModelConfigHeaders(this.modelId,!1),await JZ(this.config.o11yHeaders)),body:$,successfulResponseHandler:oZ(z.any()),failedResponseHandler:pZ({errorSchema:z.any(),errorToMessage:(K)=>K}),...X&&{abortSignal:X},fetch:this.config.fetch});return{...W,request:{body:$},response:{headers:J,body:H},warnings:Q}}catch(J){throw await rZ(J,await T0(Y))}}async doStream(Z){let{args:$,warnings:Q}=await this.getArgs(Z),{abortSignal:X}=Z,Y=await JZ(this.config.headers());try{let{value:J,responseHeaders:W}=await R0({url:this.getUrl(),headers:f0(Y,Z.headers,this.getModelConfigHeaders(this.modelId,!0),await JZ(this.config.o11yHeaders)),body:$,successfulResponseHandler:PQ(z.any()),failedResponseHandler:pZ({errorSchema:z.any(),errorToMessage:(H)=>H}),...X&&{abortSignal:X},fetch:this.config.fetch});return{stream:J.pipeThrough(new TransformStream({start(H){if(Q.length>0)H.enqueue({type:"stream-start",warnings:Q})},transform(H,K){if(H.success){let G=H.value;if(G.type==="raw"&&!Z.includeRawChunks)return;if(G.type==="response-metadata"&&G.timestamp&&typeof G.timestamp==="string")G.timestamp=new Date(G.timestamp);K.enqueue(G)}else K.error(H.error)}})),request:{body:$},response:{headers:W}}}catch(J){throw await rZ(J,await T0(Y))}}isFilePart(Z){return Z&&typeof Z==="object"&&"type"in Z&&Z.type==="file"}maybeEncodeFileParts(Z){for(let $ of Z.prompt)for(let Q of $.content)if(this.isFilePart(Q)){let X=Q;if(X.data instanceof Uint8Array){let Y=Uint8Array.from(X.data),J=Buffer.from(Y).toString("base64");X.data=new URL(`data:${X.mediaType||"application/octet-stream"};base64,${J}`)}}return Z}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(Z,$){return{"ai-language-model-specification-version":"2","ai-language-model-id":Z,"ai-language-model-streaming":String($)}}},K8=class{constructor(Z,$){this.modelId=Z,this.config=$,this.specificationVersion="v2",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:Z,headers:$,abortSignal:Q,providerOptions:X}){var Y;let J=await JZ(this.config.headers());try{let{responseHeaders:W,value:H,rawValue:K}=await R0({url:this.getUrl(),headers:f0(J,$!=null?$:{},this.getModelConfigHeaders(),await JZ(this.config.o11yHeaders)),body:{input:Z.length===1?Z[0]:Z,...X?{providerOptions:X}:{}},successfulResponseHandler:oZ(q8),failedResponseHandler:pZ({errorSchema:z.any(),errorToMessage:(G)=>G}),...Q&&{abortSignal:Q},fetch:this.config.fetch});return{embeddings:H.embeddings,usage:(Y=H.usage)!=null?Y:void 0,providerMetadata:H.providerMetadata,response:{headers:W,body:K}}}catch(W){throw await rZ(W,await T0(J))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"2","ai-model-id":this.modelId}}},q8=BZ(()=>GZ(z.object({embeddings:z.array(z.array(z.number())),usage:z.object({tokens:z.number()}).nullish(),providerMetadata:z.record(z.string(),z.record(z.string(),z.unknown())).optional()})));async function B8(){var Z;return(Z=yQ.getContext().headers)==null?void 0:Z["x-vercel-id"]}var F8="2.0.5",U8="0.0.1";function _Q(Z={}){var $,Q;let X=null,Y=null,J=($=Z.metadataCacheRefreshMillis)!=null?$:300000,W=0,H=(Q=IQ(Z.baseURL))!=null?Q:"https://ai-gateway.vercel.sh/v1/ai",K=async()=>{let j=await j8(Z);if(j)return o({Authorization:`Bearer ${j.token}`,"ai-gateway-protocol-version":U8,[SQ]:j.authMethod,...Z.headers},`ai-sdk/gateway/${F8}`);throw o0.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401})},G=()=>{let j=I0({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),V=I0({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),L=I0({settingValue:void 0,environmentVariableName:"VERCEL_REGION"});return async()=>{let O=await B8();return{...j&&{"ai-o11y-deployment-id":j},...V&&{"ai-o11y-environment":V},...L&&{"ai-o11y-region":L},...O&&{"ai-o11y-request-id":O}}}},F=(j)=>{return new G8(j,{provider:"gateway",baseURL:H,headers:K,fetch:Z.fetch,o11yHeaders:G()})},U=async()=>{var j,V,L;let O=(L=(V=(j=Z._internal)==null?void 0:j.currentDate)==null?void 0:V.call(j).getTime())!=null?L:Date.now();if(!X||O-W>J)W=O,X=new EQ({baseURL:H,headers:K,fetch:Z.fetch}).getAvailableModels().then((P)=>{return Y=P,P}).catch(async(P)=>{throw await rZ(P,await T0(await K()))});return Y?Promise.resolve(Y):X},q=async()=>{return new EQ({baseURL:H,headers:K,fetch:Z.fetch}).getCredits().catch(async(j)=>{throw await rZ(j,await T0(await K()))})},B=function(j){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return F(j)};return B.getAvailableModels=U,B.getCredits=q,B.imageModel=(j)=>{throw new YZ({modelId:j,modelType:"imageModel"})},B.languageModel=F,B.textEmbeddingModel=(j)=>{return new K8(j,{provider:"gateway",baseURL:H,headers:K,fetch:Z.fetch,o11yHeaders:G()})},B}var C1=_Q();async function j8(Z){let $=I0({settingValue:Z.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});if($)return{token:$,authMethod:"api-key"};try{return{token:await vQ.getVercelOidcToken(),authMethod:"oidc"}}catch(Q){return null}}var r5=q0(P$(),1),b$=q0(P$(),1);var dz=Object.defineProperty,uz=(Z,$)=>{for(var Q in $)dz(Z,Q,{get:$[Q],enumerable:!0})},i9="AI_NoOutputSpecifiedError",p9=`vercel.ai.error.${i9}`,cz=Symbol.for(p9),l9,n9=class extends I{constructor({message:Z="No output specified."}={}){super({name:i9,message:Z});this[l9]=!0}static isInstance(Z){return I.hasMarker(Z,p9)}};l9=cz;function iz(Z){switch(Z.type){case"unsupported-setting":{let Q=`AI SDK Warning: The "${Z.setting}" setting is not supported by this model`;if(Z.details)Q+=` - ${Z.details}`;return Q}case"unsupported-tool":{let X=`AI SDK Warning: The tool "${"name"in Z.tool?Z.tool.name:"unknown tool"}" is not supported by this model`;if(Z.details)X+=` - ${Z.details}`;return X}case"other":return`AI SDK Warning: ${Z.message}`;default:return`AI SDK Warning: ${JSON.stringify(Z,null,2)}`}}var pz="AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",b9=!1,H0=(Z)=>{if(Z.length===0)return;let $=globalThis.AI_SDK_LOG_WARNINGS;if($===!1)return;if(typeof $==="function"){$(Z);return}if(!b9)b9=!0,console.info(pz);for(let Q of Z)console.warn(iz(Q))},s9="AI_InvalidArgumentError",o9=`vercel.ai.error.${s9}`,lz=Symbol.for(o9),r9,l=class extends I{constructor({parameter:Z,value:$,message:Q}){super({name:s9,message:`Invalid argument for parameter ${Z}: ${Q}`});this[r9]=!0,this.parameter=Z,this.value=$}static isInstance(Z){return I.hasMarker(Z,o9)}};r9=lz;var a9="AI_InvalidStreamPartError",t9=`vercel.ai.error.${a9}`,nz=Symbol.for(t9),e9,TG=class extends I{constructor({chunk:Z,message:$}){super({name:a9,message:$});this[e9]=!0,this.chunk=Z}static isInstance(Z){return I.hasMarker(Z,t9)}};e9=nz;var Z5="AI_InvalidToolInputError",$5=`vercel.ai.error.${Z5}`,sz=Symbol.for($5),Q5,X5=class extends I{constructor({toolInput:Z,toolName:$,cause:Q,message:X=`Invalid input for tool ${$}: ${nZ(Q)}`}){super({name:Z5,message:X,cause:Q});this[Q5]=!0,this.toolInput=Z,this.toolName=$}static isInstance(Z){return I.hasMarker(Z,$5)}};Q5=sz;var J5="AI_NoImageGeneratedError",Y5=`vercel.ai.error.${J5}`,oz=Symbol.for(Y5),z5,rz=class extends I{constructor({message:Z="No image generated.",cause:$,responses:Q}){super({name:J5,message:Z,cause:$});this[z5]=!0,this.responses=Q}static isInstance(Z){return I.hasMarker(Z,Y5)}};z5=oz;var H5="AI_NoObjectGeneratedError",W5=`vercel.ai.error.${H5}`,az=Symbol.for(W5),G5,X0=class extends I{constructor({message:Z="No object generated.",cause:$,text:Q,response:X,usage:Y,finishReason:J}){super({name:H5,message:Z,cause:$});this[G5]=!0,this.text=Q,this.response=X,this.usage=Y,this.finishReason=J}static isInstance(Z){return I.hasMarker(Z,W5)}};G5=az;var K5="AI_NoOutputGeneratedError",q5=`vercel.ai.error.${K5}`,tz=Symbol.for(q5),B5,ez=class extends I{constructor({message:Z="No output generated.",cause:$}={}){super({name:K5,message:Z,cause:$});this[B5]=!0}static isInstance(Z){return I.hasMarker(Z,q5)}};B5=tz;var Z4=class extends I{constructor(Z){super({name:"AI_NoSpeechGeneratedError",message:"No speech audio generated."});this.responses=Z.responses}},F5="AI_NoSuchToolError",U5=`vercel.ai.error.${F5}`,$4=Symbol.for(U5),j5,C$=class extends I{constructor({toolName:Z,availableTools:$=void 0,message:Q=`Model tried to call unavailable tool '${Z}'. ${$===void 0?"No tools are available.":`Available tools: ${$.join(", ")}.`}`}){super({name:F5,message:Q});this[j5]=!0,this.toolName=Z,this.availableTools=$}static isInstance(Z){return I.hasMarker(Z,U5)}};j5=$4;var N5="AI_ToolCallRepairError",O5=`vercel.ai.error.${N5}`,Q4=Symbol.for(O5),V5,X4=class extends I{constructor({cause:Z,originalError:$,message:Q=`Error repairing tool call: ${nZ(Z)}`}){super({name:N5,message:Q,cause:Z});this[V5]=!0,this.originalError=$}static isInstance(Z){return I.hasMarker(Z,O5)}};V5=Q4;var i0=class extends I{constructor(Z){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${Z.version} for provider "${Z.provider}" and model "${Z.modelId}". AI SDK 5 only supports models that implement specification version "v2".`});this.version=Z.version,this.provider=Z.provider,this.modelId=Z.modelId}},D5="AI_InvalidDataContentError",L5=`vercel.ai.error.${D5}`,J4=Symbol.for(L5),w5,S9=class extends I{constructor({content:Z,cause:$,message:Q=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof Z}.`}){super({name:D5,message:Q,cause:$});this[w5]=!0,this.content=Z}static isInstance(Z){return I.hasMarker(Z,L5)}};w5=J4;var A5="AI_InvalidMessageRoleError",E5=`vercel.ai.error.${A5}`,Y4=Symbol.for(E5),P5,z4=class extends I{constructor({role:Z,message:$=`Invalid message role: '${Z}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:A5,message:$});this[P5]=!0,this.role=Z}static isInstance(Z){return I.hasMarker(Z,E5)}};P5=Y4;var I5="AI_MessageConversionError",f5=`vercel.ai.error.${I5}`,H4=Symbol.for(f5),R5,W4=class extends I{constructor({originalMessage:Z,message:$}){super({name:I5,message:$});this[R5]=!0,this.originalMessage=Z}static isInstance(Z){return I.hasMarker(Z,f5)}};R5=H4;var T5="AI_DownloadError",M5=`vercel.ai.error.${T5}`,G4=Symbol.for(M5),C5,I$=class extends I{constructor({url:Z,statusCode:$,statusText:Q,cause:X,message:Y=X==null?`Failed to download ${Z}: ${$} ${Q}`:`Failed to download ${Z}: ${X}`}){super({name:T5,message:Y,cause:X});this[C5]=!0,this.url=Z,this.statusCode=$,this.statusText=Q}static isInstance(Z){return I.hasMarker(Z,M5)}};C5=G4;var b5="AI_RetryError",S5=`vercel.ai.error.${b5}`,K4=Symbol.for(S5),y5,y9=class extends I{constructor({message:Z,reason:$,errors:Q}){super({name:b5,message:Z});this[y5]=!0,this.reason=$,this.errors=Q,this.lastError=Q[Q.length-1]}static isInstance(Z){return I.hasMarker(Z,S5)}};y5=K4;function O0(Z){if(typeof Z!=="string"){if(Z.specificationVersion!=="v2")throw new i0({version:Z.specificationVersion,provider:Z.provider,modelId:Z.modelId});return Z}return _5().languageModel(Z)}function v5(Z){if(typeof Z!=="string"){if(Z.specificationVersion!=="v2")throw new i0({version:Z.specificationVersion,provider:Z.provider,modelId:Z.modelId});return Z}return _5().textEmbeddingModel(Z)}function _5(){var Z;return(Z=globalThis.AI_SDK_DEFAULT_PROVIDER)!=null?Z:C1}var x5=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}],k5=[{mediaType:"audio/mpeg",bytesPrefix:[255,251]},{mediaType:"audio/mpeg",bytesPrefix:[255,250]},{mediaType:"audio/mpeg",bytesPrefix:[255,243]},{mediaType:"audio/mpeg",bytesPrefix:[255,242]},{mediaType:"audio/mpeg",bytesPrefix:[255,227]},{mediaType:"audio/mpeg",bytesPrefix:[255,226]},{mediaType:"audio/wav",bytesPrefix:[82,73,70,70,null,null,null,null,87,65,86,69]},{mediaType:"audio/ogg",bytesPrefix:[79,103,103,83]},{mediaType:"audio/flac",bytesPrefix:[102,76,97,67]},{mediaType:"audio/aac",bytesPrefix:[64,21,0,0]},{mediaType:"audio/mp4",bytesPrefix:[102,116,121,112]},{mediaType:"audio/webm",bytesPrefix:[26,69,223,163]}],q4=(Z)=>{let $=typeof Z==="string"?z0(Z):Z,Q=($[6]&127)<<21|($[7]&127)<<14|($[8]&127)<<7|$[9]&127;return $.slice(Q+10)};function B4(Z){return typeof Z==="string"&&Z.startsWith("SUQz")||typeof Z!=="string"&&Z.length>10&&Z[0]===73&&Z[1]===68&&Z[2]===51?q4(Z):Z}function G1({data:Z,signatures:$}){let Q=B4(Z),X=typeof Q==="string"?z0(Q.substring(0,Math.min(Q.length,24))):Q;for(let Y of $)if(X.length>=Y.bytesPrefix.length&&Y.bytesPrefix.every((J,W)=>J===null||X[W]===J))return Y.mediaType;return}var CZ="5.0.86",h5=async({url:Z})=>{var $;let Q=Z.toString();try{let X=await fetch(Q,{headers:o({},`ai-sdk/${CZ}`,Q0())});if(!X.ok)throw new I$({url:Q,statusCode:X.status,statusText:X.statusText});return{data:new Uint8Array(await X.arrayBuffer()),mediaType:($=X.headers.get("content-type"))!=null?$:void 0}}catch(X){if(I$.isInstance(X))throw X;throw new I$({url:Q,cause:X})}},F4=(Z=h5)=>($)=>Promise.all($.map(async(Q)=>Q.isUrlSupportedByModel?null:Z(Q)));function U4(Z){try{let[$,Q]=Z.split(",");return{mediaType:$.split(";")[0].split(":")[1],base64Content:Q}}catch($){return{mediaType:void 0,base64Content:void 0}}}var g5=z.union([z.string(),z.instanceof(Uint8Array),z.instanceof(ArrayBuffer),z.custom((Z)=>{var $,Q;return(Q=($=globalThis.Buffer)==null?void 0:$.isBuffer(Z))!=null?Q:!1},{message:"Must be a Buffer"})]);function m5(Z){if(Z instanceof Uint8Array)return{data:Z,mediaType:void 0};if(Z instanceof ArrayBuffer)return{data:new Uint8Array(Z),mediaType:void 0};if(typeof Z==="string")try{Z=new URL(Z)}catch($){}if(Z instanceof URL&&Z.protocol==="data:"){let{mediaType:$,base64Content:Q}=U4(Z.toString());if($==null||Q==null)throw new I({name:"InvalidDataContentError",message:`Invalid data URL format in content ${Z.toString()}`});return{data:Q,mediaType:$}}return{data:Z,mediaType:void 0}}function j4(Z){if(typeof Z==="string")return Z;if(Z instanceof ArrayBuffer)return g0(new Uint8Array(Z));return g0(Z)}function N4(Z){if(Z instanceof Uint8Array)return Z;if(typeof Z==="string")try{return z0(Z)}catch($){throw new S9({message:"Invalid data content. Content string is not a base64-encoded media.",content:Z,cause:$})}if(Z instanceof ArrayBuffer)return new Uint8Array(Z);throw new S9({content:Z})}async function K1({prompt:Z,supportedUrls:$,download:Q=F4()}){let X=await V4(Z.messages,Q,$);return[...Z.system!=null?[{role:"system",content:Z.system}]:[],...Z.messages.map((Y)=>O4({message:Y,downloadedAssets:X}))]}function O4({message:Z,downloadedAssets:$}){let Q=Z.role;switch(Q){case"system":return{role:"system",content:Z.content,providerOptions:Z.providerOptions};case"user":{if(typeof Z.content==="string")return{role:"user",content:[{type:"text",text:Z.content}],providerOptions:Z.providerOptions};return{role:"user",content:Z.content.map((X)=>D4(X,$)).filter((X)=>X.type!=="text"||X.text!==""),providerOptions:Z.providerOptions}}case"assistant":{if(typeof Z.content==="string")return{role:"assistant",content:[{type:"text",text:Z.content}],providerOptions:Z.providerOptions};return{role:"assistant",content:Z.content.filter((X)=>X.type!=="text"||X.text!==""||X.providerOptions!=null).map((X)=>{let Y=X.providerOptions;switch(X.type){case"file":{let{data:J,mediaType:W}=m5(X.data);return{type:"file",data:J,filename:X.filename,mediaType:W!=null?W:X.mediaType,providerOptions:Y}}case"reasoning":return{type:"reasoning",text:X.text,providerOptions:Y};case"text":return{type:"text",text:X.text,providerOptions:Y};case"tool-call":return{type:"tool-call",toolCallId:X.toolCallId,toolName:X.toolName,input:X.input,providerExecuted:X.providerExecuted,providerOptions:Y};case"tool-result":return{type:"tool-result",toolCallId:X.toolCallId,toolName:X.toolName,output:X.output,providerOptions:Y}}}),providerOptions:Z.providerOptions}}case"tool":return{role:"tool",content:Z.content.map((X)=>({type:"tool-result",toolCallId:X.toolCallId,toolName:X.toolName,output:X.output,providerOptions:X.providerOptions})),providerOptions:Z.providerOptions};default:throw new z4({role:Q})}}async function V4(Z,$,Q){let X=Z.filter((J)=>J.role==="user").map((J)=>J.content).filter((J)=>Array.isArray(J)).flat().filter((J)=>J.type==="image"||J.type==="file").map((J)=>{var W;let H=(W=J.mediaType)!=null?W:J.type==="image"?"image/*":void 0,K=J.type==="image"?J.image:J.data;if(typeof K==="string")try{K=new URL(K)}catch(G){}return{mediaType:H,data:K}}).filter((J)=>J.data instanceof URL).map((J)=>({url:J.data,isUrlSupportedByModel:J.mediaType!=null&&c9({url:J.data.toString(),mediaType:J.mediaType,supportedUrls:Q})})),Y=await $(X);return Object.fromEntries(Y.map((J,W)=>J==null?null:[X[W].url.toString(),{data:J.data,mediaType:J.mediaType}]).filter((J)=>J!=null))}function D4(Z,$){var Q;if(Z.type==="text")return{type:"text",text:Z.text,providerOptions:Z.providerOptions};let X,Y=Z.type;switch(Y){case"image":X=Z.image;break;case"file":X=Z.data;break;default:throw Error(`Unsupported part type: ${Y}`)}let{data:J,mediaType:W}=m5(X),H=W!=null?W:Z.mediaType,K=J;if(K instanceof URL){let G=$[K.toString()];if(G)K=G.data,H!=null||(H=G.mediaType)}switch(Y){case"image":{if(K instanceof Uint8Array||typeof K==="string")H=(Q=G1({data:K,signatures:x5}))!=null?Q:H;return{type:"file",mediaType:H!=null?H:"image/*",filename:void 0,data:K,providerOptions:Z.providerOptions}}case"file":{if(H==null)throw Error("Media type is missing for file part");return{type:"file",mediaType:H,filename:Z.filename,data:K,providerOptions:Z.providerOptions}}}}function J0({maxOutputTokens:Z,temperature:$,topP:Q,topK:X,presencePenalty:Y,frequencyPenalty:J,seed:W,stopSequences:H}){if(Z!=null){if(!Number.isInteger(Z))throw new l({parameter:"maxOutputTokens",value:Z,message:"maxOutputTokens must be an integer"});if(Z<1)throw new l({parameter:"maxOutputTokens",value:Z,message:"maxOutputTokens must be >= 1"})}if($!=null){if(typeof $!=="number")throw new l({parameter:"temperature",value:$,message:"temperature must be a number"})}if(Q!=null){if(typeof Q!=="number")throw new l({parameter:"topP",value:Q,message:"topP must be a number"})}if(X!=null){if(typeof X!=="number")throw new l({parameter:"topK",value:X,message:"topK must be a number"})}if(Y!=null){if(typeof Y!=="number")throw new l({parameter:"presencePenalty",value:Y,message:"presencePenalty must be a number"})}if(J!=null){if(typeof J!=="number")throw new l({parameter:"frequencyPenalty",value:J,message:"frequencyPenalty must be a number"})}if(W!=null){if(!Number.isInteger(W))throw new l({parameter:"seed",value:W,message:"seed must be an integer"})}return{maxOutputTokens:Z,temperature:$,topP:Q,topK:X,presencePenalty:Y,frequencyPenalty:J,stopSequences:H,seed:W}}function L4(Z){return Z!=null&&Object.keys(Z).length>0}function d5({tools:Z,toolChoice:$,activeTools:Q}){if(!L4(Z))return{tools:void 0,toolChoice:void 0};return{tools:(Q!=null?Object.entries(Z).filter(([Y])=>Q.includes(Y)):Object.entries(Z)).map(([Y,J])=>{let W=J.type;switch(W){case void 0:case"dynamic":case"function":return{type:"function",name:Y,description:J.description,inputSchema:MZ(J.inputSchema).jsonSchema,providerOptions:J.providerOptions};case"provider-defined":return{type:"provider-defined",name:Y,id:J.id,args:J.args};default:throw Error(`Unsupported tool type: ${W}`)}}),toolChoice:$==null?{type:"auto"}:typeof $==="string"?{type:$}:{type:"tool",toolName:$.toolName}}}var m0=z.lazy(()=>z.union([z.null(),z.string(),z.number(),z.boolean(),z.record(z.string(),m0),z.array(m0)])),k=z.record(z.string(),z.record(z.string(),m0)),u5=z.object({type:z.literal("text"),text:z.string(),providerOptions:k.optional()}),w4=z.object({type:z.literal("image"),image:z.union([g5,z.instanceof(URL)]),mediaType:z.string().optional(),providerOptions:k.optional()}),c5=z.object({type:z.literal("file"),data:z.union([g5,z.instanceof(URL)]),filename:z.string().optional(),mediaType:z.string(),providerOptions:k.optional()}),A4=z.object({type:z.literal("reasoning"),text:z.string(),providerOptions:k.optional()}),E4=z.object({type:z.literal("tool-call"),toolCallId:z.string(),toolName:z.string(),input:z.unknown(),providerOptions:k.optional(),providerExecuted:z.boolean().optional()}),P4=z.discriminatedUnion("type",[z.object({type:z.literal("text"),value:z.string()}),z.object({type:z.literal("json"),value:m0}),z.object({type:z.literal("error-text"),value:z.string()}),z.object({type:z.literal("error-json"),value:m0}),z.object({type:z.literal("content"),value:z.array(z.union([z.object({type:z.literal("text"),text:z.string()}),z.object({type:z.literal("media"),data:z.string(),mediaType:z.string()})]))})]),i5=z.object({type:z.literal("tool-result"),toolCallId:z.string(),toolName:z.string(),output:P4,providerOptions:k.optional()}),p5=z.object({role:z.literal("system"),content:z.string(),providerOptions:k.optional()}),QK=p5,l5=z.object({role:z.literal("user"),content:z.union([z.string(),z.array(z.union([u5,w4,c5]))]),providerOptions:k.optional()}),XK=l5,n5=z.object({role:z.literal("assistant"),content:z.union([z.string(),z.array(z.union([u5,c5,A4,E4,i5]))]),providerOptions:k.optional()}),JK=n5,s5=z.object({role:z.literal("tool"),content:z.array(i5),providerOptions:k.optional()}),YK=s5,o5=z.union([p5,l5,n5,s5]),zK=o5;async function q1(Z){if(Z.prompt==null&&Z.messages==null)throw new lZ({prompt:Z,message:"prompt or messages must be defined"});if(Z.prompt!=null&&Z.messages!=null)throw new lZ({prompt:Z,message:"prompt and messages cannot be defined at the same time"});if(Z.system!=null&&typeof Z.system!=="string")throw new lZ({prompt:Z,message:"system must be a string"});let $;if(Z.prompt!=null&&typeof Z.prompt==="string")$=[{role:"user",content:Z.prompt}];else if(Z.prompt!=null&&Array.isArray(Z.prompt))$=Z.prompt;else if(Z.messages!=null)$=Z.messages;else throw new lZ({prompt:Z,message:"prompt or messages must be defined"});if($.length===0)throw new lZ({prompt:Z,message:"messages must not be empty"});let Q=await qZ({value:$,schema:z.array(o5)});if(!Q.success)throw new lZ({prompt:Z,message:"The messages must be a ModelMessage[]. If you have passed a UIMessage[], you can use convertToModelMessages to convert them.",cause:Q.error});return{messages:$,system:Z.system}}function B1(Z){if(o0.isInstance(Z)||M1.isInstance(Z))return new I({name:"GatewayError",message:"Vercel AI Gateway access failed. If you want to use AI SDK providers directly, use the providers, e.g. @ai-sdk/openai, or register a different global default provider.",cause:Z});return Z}function FZ({operationId:Z,telemetry:$}){return{"operation.name":`${Z}${($==null?void 0:$.functionId)!=null?` ${$.functionId}`:""}`,"resource.name":$==null?void 0:$.functionId,"ai.operationId":Z,"ai.telemetry.functionId":$==null?void 0:$.functionId}}function D0({model:Z,settings:$,telemetry:Q,headers:X}){var Y;return{"ai.model.provider":Z.provider,"ai.model.id":Z.modelId,...Object.entries($).reduce((J,[W,H])=>{return J[`ai.settings.${W}`]=H,J},{}),...Object.entries((Y=Q==null?void 0:Q.metadata)!=null?Y:{}).reduce((J,[W,H])=>{return J[`ai.telemetry.metadata.${W}`]=H,J},{}),...Object.entries(X!=null?X:{}).reduce((J,[W,H])=>{if(H!==void 0)J[`ai.request.headers.${W}`]=H;return J},{})}}var I4={startSpan(){return X1},startActiveSpan(Z,$,Q,X){if(typeof $==="function")return $(X1);if(typeof Q==="function")return Q(X1);if(typeof X==="function")return X(X1)}},X1={spanContext(){return f4},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},addLink(){return this},addLinks(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this}},f4={traceId:"",spanId:"",traceFlags:0};function L0({isEnabled:Z=!1,tracer:$}={}){if(!Z)return I4;if($)return $;return r5.trace.getTracer("ai")}function UZ({name:Z,tracer:$,attributes:Q,fn:X,endWhenDone:Y=!0}){return $.startActiveSpan(Z,{attributes:Q},async(J)=>{try{let W=await X(J);if(Y)J.end();return W}catch(W){try{_$(J,W)}finally{J.end()}throw W}})}function _$(Z,$){if($ instanceof Error)Z.recordException({name:$.name,message:$.message,stack:$.stack}),Z.setStatus({code:b$.SpanStatusCode.ERROR,message:$.message});else Z.setStatus({code:b$.SpanStatusCode.ERROR})}function m({telemetry:Z,attributes:$}){if((Z==null?void 0:Z.isEnabled)!==!0)return{};return Object.entries($).reduce((Q,[X,Y])=>{if(Y==null)return Q;if(typeof Y==="object"&&"input"in Y&&typeof Y.input==="function"){if((Z==null?void 0:Z.recordInputs)===!1)return Q;let J=Y.input();return J==null?Q:{...Q,[X]:J}}if(typeof Y==="object"&&"output"in Y&&typeof Y.output==="function"){if((Z==null?void 0:Z.recordOutputs)===!1)return Q;let J=Y.output();return J==null?Q:{...Q,[X]:J}}return{...Q,[X]:Y}},{})}function F1(Z){return JSON.stringify(Z.map(($)=>({...$,content:typeof $.content==="string"?$.content:$.content.map((Q)=>Q.type==="file"?{...Q,data:Q.data instanceof Uint8Array?j4(Q.data):Q.data}:Q)})))}function a5(Z,$){return{inputTokens:x0(Z.inputTokens,$.inputTokens),outputTokens:x0(Z.outputTokens,$.outputTokens),totalTokens:x0(Z.totalTokens,$.totalTokens),reasoningTokens:x0(Z.reasoningTokens,$.reasoningTokens),cachedInputTokens:x0(Z.cachedInputTokens,$.cachedInputTokens)}}function x0(Z,$){return Z==null&&$==null?void 0:(Z!=null?Z:0)+($!=null?$:0)}function J1(Z){return Z===void 0?[]:Array.isArray(Z)?Z:[Z]}function R4({error:Z,exponentialBackoffDelay:$}){let Q=Z.responseHeaders;if(!Q)return $;let X,Y=Q["retry-after-ms"];if(Y){let W=parseFloat(Y);if(!Number.isNaN(W))X=W}let J=Q["retry-after"];if(J&&X===void 0){let W=parseFloat(J);if(!Number.isNaN(W))X=W*1000;else X=Date.parse(J)-Date.now()}if(X!=null&&!Number.isNaN(X)&&0<=X&&(X<60000||X<$))return X;return $}var T4=({maxRetries:Z=2,initialDelayInMs:$=2000,backoffFactor:Q=2,abortSignal:X}={})=>async(Y)=>t5(Y,{maxRetries:Z,delayInMs:$,backoffFactor:Q,abortSignal:X});async function t5(Z,{maxRetries:$,delayInMs:Q,backoffFactor:X,abortSignal:Y},J=[]){try{return await Z()}catch(W){if(H1(W))throw W;if($===0)throw W;let H=sZ(W),K=[...J,W],G=K.length;if(G>$)throw new y9({message:`Failed after ${G} attempts. Last error: ${H}`,reason:"maxRetriesExceeded",errors:K});if(W instanceof Error&&M0.isInstance(W)&&W.isRetryable===!0&&G<=$)return await V0(R4({error:W,exponentialBackoffDelay:Q}),{abortSignal:Y}),t5(Z,{maxRetries:$,delayInMs:X*Q,backoffFactor:X,abortSignal:Y},K);if(G===1)throw W;throw new y9({message:`Failed after ${G} attempts with non-retryable error: '${H}'`,reason:"errorNotRetryable",errors:K})}}function cZ({maxRetries:Z,abortSignal:$}){if(Z!=null){if(!Number.isInteger(Z))throw new l({parameter:"maxRetries",value:Z,message:"maxRetries must be an integer"});if(Z<0)throw new l({parameter:"maxRetries",value:Z,message:"maxRetries must be >= 0"})}let Q=Z!=null?Z:2;return{maxRetries:Q,retry:T4({maxRetries:Q,abortSignal:$})}}function S$(Z){let $=Z.filter((Q)=>Q.type==="text");if($.length===0)return;return $.map((Q)=>Q.text).join("")}var U1=class{constructor({data:Z,mediaType:$}){let Q=Z instanceof Uint8Array;this.base64Data=Q?void 0:Z,this.uint8ArrayData=Q?Z:void 0,this.mediaType=$}get base64(){if(this.base64Data==null)this.base64Data=g0(this.uint8ArrayData);return this.base64Data}get uint8Array(){if(this.uint8ArrayData==null)this.uint8ArrayData=z0(this.base64Data);return this.uint8ArrayData}},M4=class extends U1{constructor(Z){super(Z);this.type="file"}};async function e5({toolCall:Z,tools:$,repairToolCall:Q,system:X,messages:Y}){try{if($==null)throw new C$({toolName:Z.toolName});try{return await v9({toolCall:Z,tools:$})}catch(J){if(Q==null||!(C$.isInstance(J)||X5.isInstance(J)))throw J;let W=null;try{W=await Q({toolCall:Z,tools:$,inputSchema:({toolName:H})=>{let{inputSchema:K}=$[H];return MZ(K).jsonSchema},system:X,messages:Y,error:J})}catch(H){throw new X4({cause:H,originalError:J})}if(W==null)throw J;return await v9({toolCall:W,tools:$})}}catch(J){let W=await vZ({text:Z.input}),H=W.success?W.value:Z.input;return{type:"tool-call",toolCallId:Z.toolCallId,toolName:Z.toolName,input:H,dynamic:!0,invalid:!0,error:J}}}async function v9({toolCall:Z,tools:$}){let Q=Z.toolName,X=$[Q];if(X==null)throw new C$({toolName:Z.toolName,availableTools:Object.keys($)});let Y=MZ(X.inputSchema),J=Z.input.trim()===""?await qZ({value:{},schema:Y}):await vZ({text:Z.input,schema:Y});if(J.success===!1)throw new X5({toolName:Q,toolInput:Z.input,cause:J.error});return X.type==="dynamic"?{type:"tool-call",toolCallId:Z.toolCallId,toolName:Z.toolName,input:J.value,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata,dynamic:!0}:{type:"tool-call",toolCallId:Z.toolCallId,toolName:Q,input:J.value,providerExecuted:Z.providerExecuted,providerMetadata:Z.providerMetadata}}var ZJ=class{constructor({content:Z,finishReason:$,usage:Q,warnings:X,request:Y,response:J,providerMetadata:W}){this.content=Z,this.finishReason=$,this.usage=Q,this.warnings=X,this.request=Y,this.response=J,this.providerMetadata=W}get text(){return this.content.filter((Z)=>Z.type==="text").map((Z)=>Z.text).join("")}get reasoning(){return this.content.filter((Z)=>Z.type==="reasoning")}get reasoningText(){return this.reasoning.length===0?void 0:this.reasoning.map((Z)=>Z.text).join("")}get files(){return this.content.filter((Z)=>Z.type==="file").map((Z)=>Z.file)}get sources(){return this.content.filter((Z)=>Z.type==="source")}get toolCalls(){return this.content.filter((Z)=>Z.type==="tool-call")}get staticToolCalls(){return this.toolCalls.filter((Z)=>Z.dynamic!==!0)}get dynamicToolCalls(){return this.toolCalls.filter((Z)=>Z.dynamic===!0)}get toolResults(){return this.content.filter((Z)=>Z.type==="tool-result")}get staticToolResults(){return this.toolResults.filter((Z)=>Z.dynamic!==!0)}get dynamicToolResults(){return this.toolResults.filter((Z)=>Z.dynamic===!0)}};function $J(Z){return({steps:$})=>$.length===Z}function FK(Z){return({steps:$})=>{var Q,X,Y;return(Y=(X=(Q=$[$.length-1])==null?void 0:Q.toolCalls)==null?void 0:X.some((J)=>J.toolName===Z))!=null?Y:!1}}async function QJ({stopConditions:Z,steps:$}){return(await Promise.all(Z.map((Q)=>Q({steps:$})))).some((Q)=>Q)}function k0({output:Z,tool:$,errorMode:Q}){if(Q==="text")return{type:"error-text",value:nZ(Z)};else if(Q==="json")return{type:"error-json",value:_9(Z)};if($==null?void 0:$.toModelOutput)return $.toModelOutput(Z);return typeof Z==="string"?{type:"text",value:Z}:{type:"json",value:_9(Z)}}function _9(Z){return Z===void 0?null:Z}function y$({content:Z,tools:$}){let Q=[],X=Z.filter((J)=>J.type!=="source").filter((J)=>(J.type!=="tool-result"||J.providerExecuted)&&(J.type!=="tool-error"||J.providerExecuted)).filter((J)=>J.type!=="text"||J.text.length>0).map((J)=>{switch(J.type){case"text":return{type:"text",text:J.text,providerOptions:J.providerMetadata};case"reasoning":return{type:"reasoning",text:J.text,providerOptions:J.providerMetadata};case"file":return{type:"file",data:J.file.base64,mediaType:J.file.mediaType,providerOptions:J.providerMetadata};case"tool-call":return{type:"tool-call",toolCallId:J.toolCallId,toolName:J.toolName,input:J.input,providerExecuted:J.providerExecuted,providerOptions:J.providerMetadata};case"tool-result":return{type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:k0({tool:$==null?void 0:$[J.toolName],output:J.output,errorMode:"none"}),providerExecuted:!0,providerOptions:J.providerMetadata};case"tool-error":return{type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:k0({tool:$==null?void 0:$[J.toolName],output:J.error,errorMode:"json"}),providerOptions:J.providerMetadata}}});if(X.length>0)Q.push({role:"assistant",content:X});let Y=Z.filter((J)=>J.type==="tool-result"||J.type==="tool-error").filter((J)=>!J.providerExecuted).map((J)=>({type:"tool-result",toolCallId:J.toolCallId,toolName:J.toolName,output:k0({tool:$==null?void 0:$[J.toolName],output:J.type==="tool-result"?J.output:J.error,errorMode:J.type==="tool-error"?"text":"none"})}));if(Y.length>0)Q.push({role:"tool",content:Y});return Q}var C4=uZ({prefix:"aitxt",size:24});async function b4({model:Z,tools:$,toolChoice:Q,system:X,prompt:Y,messages:J,maxRetries:W,abortSignal:H,headers:K,stopWhen:G=$J(1),experimental_output:F,experimental_telemetry:U,providerOptions:q,experimental_activeTools:B,activeTools:j=B,experimental_prepareStep:V,prepareStep:L=V,experimental_repairToolCall:O,experimental_download:P,experimental_context:y,_internal:{generateId:N=C4,currentDate:b=()=>new Date}={},onStepFinish:R,...D}){let A=O0(Z),S=J1(G),{maxRetries:v,retry:n}=cZ({maxRetries:W,abortSignal:H}),r=J0(D),u=o(K!=null?K:{},`ai/${CZ}`),h=D0({model:A,telemetry:U,headers:u,settings:{...r,maxRetries:v}}),$Z=await q1({system:X,prompt:Y,messages:J}),t=L0(U);try{return await UZ({name:"ai.generateText",attributes:m({telemetry:U,attributes:{...FZ({operationId:"ai.generateText",telemetry:U}),...h,"ai.model.provider":A.provider,"ai.model.id":A.modelId,"ai.prompt":{input:()=>JSON.stringify({system:X,prompt:Y,messages:J})}}}),tracer:t,fn:async(KZ)=>{var jZ,IZ,s,fZ,zZ,QZ,e;let WZ=J0(D),p,NZ=[],OZ=[],VZ=[],c=[];do{let i=[...$Z.messages,...VZ],_=await(L==null?void 0:L({model:A,steps:c,stepNumber:c.length,messages:i})),C=O0((jZ=_==null?void 0:_.model)!=null?jZ:A),f=await K1({prompt:{system:(IZ=_==null?void 0:_.system)!=null?IZ:$Z.system,messages:(s=_==null?void 0:_.messages)!=null?s:i},supportedUrls:await C.supportedUrls,download:P}),{toolChoice:E,tools:ZZ}=d5({tools:$,toolChoice:(fZ=_==null?void 0:_.toolChoice)!=null?fZ:Q,activeTools:(zZ=_==null?void 0:_.activeTools)!=null?zZ:j});p=await n(()=>{var g;return UZ({name:"ai.generateText.doGenerate",attributes:m({telemetry:U,attributes:{...FZ({operationId:"ai.generateText.doGenerate",telemetry:U}),...h,"ai.model.provider":C.provider,"ai.model.id":C.modelId,"ai.prompt.messages":{input:()=>F1(f)},"ai.prompt.tools":{input:()=>ZZ==null?void 0:ZZ.map((SZ)=>JSON.stringify(SZ))},"ai.prompt.toolChoice":{input:()=>E!=null?JSON.stringify(E):void 0},"gen_ai.system":C.provider,"gen_ai.request.model":C.modelId,"gen_ai.request.frequency_penalty":D.frequencyPenalty,"gen_ai.request.max_tokens":D.maxOutputTokens,"gen_ai.request.presence_penalty":D.presencePenalty,"gen_ai.request.stop_sequences":D.stopSequences,"gen_ai.request.temperature":(g=D.temperature)!=null?g:void 0,"gen_ai.request.top_k":D.topK,"gen_ai.request.top_p":D.topP}}),tracer:t,fn:async(SZ)=>{var w0,iZ,AZ,_Z,A0,W0,G0,l0;let XZ=await C.doGenerate({...WZ,tools:ZZ,toolChoice:E,responseFormat:F==null?void 0:F.responseFormat,prompt:f,providerOptions:q,abortSignal:H,headers:u}),xZ={id:(iZ=(w0=XZ.response)==null?void 0:w0.id)!=null?iZ:N(),timestamp:(_Z=(AZ=XZ.response)==null?void 0:AZ.timestamp)!=null?_Z:b(),modelId:(W0=(A0=XZ.response)==null?void 0:A0.modelId)!=null?W0:C.modelId,headers:(G0=XZ.response)==null?void 0:G0.headers,body:(l0=XZ.response)==null?void 0:l0.body};return SZ.setAttributes(m({telemetry:U,attributes:{"ai.response.finishReason":XZ.finishReason,"ai.response.text":{output:()=>S$(XZ.content)},"ai.response.toolCalls":{output:()=>{let kZ=x9(XZ.content);return kZ==null?void 0:JSON.stringify(kZ)}},"ai.response.id":xZ.id,"ai.response.model":xZ.modelId,"ai.response.timestamp":xZ.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(XZ.providerMetadata),"ai.usage.promptTokens":XZ.usage.inputTokens,"ai.usage.completionTokens":XZ.usage.outputTokens,"gen_ai.response.finish_reasons":[XZ.finishReason],"gen_ai.response.id":xZ.id,"gen_ai.response.model":xZ.modelId,"gen_ai.usage.input_tokens":XZ.usage.inputTokens,"gen_ai.usage.output_tokens":XZ.usage.outputTokens}})),{...XZ,response:xZ}}})});let wZ=await Promise.all(p.content.filter((g)=>g.type==="tool-call").map((g)=>e5({toolCall:g,tools:$,repairToolCall:O,system:X,messages:i})));for(let g of wZ){if(g.invalid)continue;let SZ=$[g.toolName];if((SZ==null?void 0:SZ.onInputAvailable)!=null)await SZ.onInputAvailable({input:g.input,toolCallId:g.toolCallId,messages:i,abortSignal:H,experimental_context:y})}let w=wZ.filter((g)=>g.invalid&&g.dynamic);OZ=[];for(let g of w)OZ.push({type:"tool-error",toolCallId:g.toolCallId,toolName:g.toolName,input:g.input,error:sZ(g.error),dynamic:!0});if(NZ=wZ.filter((g)=>!g.providerExecuted),$!=null)OZ.push(...await S4({toolCalls:NZ.filter((g)=>!g.invalid),tools:$,tracer:t,telemetry:U,messages:i,abortSignal:H,experimental_context:y}));let x=v4({content:p.content,toolCalls:wZ,toolOutputs:OZ});VZ.push(...y$({content:x,tools:$}));let bZ=new ZJ({content:x,finishReason:p.finishReason,usage:p.usage,warnings:p.warnings,providerMetadata:p.providerMetadata,request:(QZ=p.request)!=null?QZ:{},response:{...p.response,messages:structuredClone(VZ)}});H0((e=p.warnings)!=null?e:[]),c.push(bZ),await(R==null?void 0:R(bZ))}while(NZ.length>0&&OZ.length===NZ.length&&!await QJ({stopConditions:S,steps:c}));KZ.setAttributes(m({telemetry:U,attributes:{"ai.response.finishReason":p.finishReason,"ai.response.text":{output:()=>S$(p.content)},"ai.response.toolCalls":{output:()=>{let i=x9(p.content);return i==null?void 0:JSON.stringify(i)}},"ai.response.providerMetadata":JSON.stringify(p.providerMetadata),"ai.usage.promptTokens":p.usage.inputTokens,"ai.usage.completionTokens":p.usage.outputTokens}}));let a=c[c.length-1],LZ;if(a.finishReason==="stop")LZ=await(F==null?void 0:F.parseOutput({text:a.text},{response:a.response,usage:a.usage,finishReason:a.finishReason}));return new y4({steps:c,resolvedOutput:LZ})}})}catch(KZ){throw B1(KZ)}}async function S4({toolCalls:Z,tools:$,tracer:Q,telemetry:X,messages:Y,abortSignal:J,experimental_context:W}){return(await Promise.all(Z.map(async({toolCallId:K,toolName:G,input:F})=>{let U=$[G];if((U==null?void 0:U.execute)==null)return;return UZ({name:"ai.toolCall",attributes:m({telemetry:X,attributes:{...FZ({operationId:"ai.toolCall",telemetry:X}),"ai.toolCall.name":G,"ai.toolCall.id":K,"ai.toolCall.args":{output:()=>JSON.stringify(F)}}}),tracer:Q,fn:async(q)=>{try{let B=W1({execute:U.execute.bind(U),input:F,options:{toolCallId:K,messages:Y,abortSignal:J,experimental_context:W}}),j;for await(let V of B)if(V.type==="final")j=V.output;try{q.setAttributes(m({telemetry:X,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(j)}}}))}catch(V){}return{type:"tool-result",toolCallId:K,toolName:G,input:F,output:j,dynamic:U.type==="dynamic"}}catch(B){return _$(q,B),{type:"tool-error",toolCallId:K,toolName:G,input:F,error:B,dynamic:U.type==="dynamic"}}}})}))).filter((K)=>K!=null)}var y4=class{constructor(Z){this.steps=Z.steps,this.resolvedOutput=Z.resolvedOutput}get finalStep(){return this.steps[this.steps.length-1]}get content(){return this.finalStep.content}get text(){return this.finalStep.text}get files(){return this.finalStep.files}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return this.finalStep.reasoning}get toolCalls(){return this.finalStep.toolCalls}get staticToolCalls(){return this.finalStep.staticToolCalls}get dynamicToolCalls(){return this.finalStep.dynamicToolCalls}get toolResults(){return this.finalStep.toolResults}get staticToolResults(){return this.finalStep.staticToolResults}get dynamicToolResults(){return this.finalStep.dynamicToolResults}get sources(){return this.finalStep.sources}get finishReason(){return this.finalStep.finishReason}get warnings(){return this.finalStep.warnings}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get request(){return this.finalStep.request}get usage(){return this.finalStep.usage}get totalUsage(){return this.steps.reduce((Z,$)=>{return a5(Z,$.usage)},{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0,reasoningTokens:void 0,cachedInputTokens:void 0})}get experimental_output(){if(this.resolvedOutput==null)throw new n9;return this.resolvedOutput}};function x9(Z){let $=Z.filter((Q)=>Q.type==="tool-call");if($.length===0)return;return $.map((Q)=>({toolCallId:Q.toolCallId,toolName:Q.toolName,input:Q.input}))}function v4({content:Z,toolCalls:$,toolOutputs:Q}){return[...Z.map((X)=>{switch(X.type){case"text":case"reasoning":case"source":return X;case"file":return{type:"file",file:new U1(X)};case"tool-call":return $.find((Y)=>Y.toolCallId===X.toolCallId);case"tool-result":{let Y=$.find((J)=>J.toolCallId===X.toolCallId);if(Y==null)throw Error(`Tool call ${X.toolCallId} not found.`);if(X.isError)return{type:"tool-error",toolCallId:X.toolCallId,toolName:X.toolName,input:Y.input,error:X.result,providerExecuted:!0,dynamic:Y.dynamic};return{type:"tool-result",toolCallId:X.toolCallId,toolName:X.toolName,input:Y.input,output:X.result,providerExecuted:!0,dynamic:Y.dynamic}}}}),...Q]}function p0(Z,$){let Q=new Headers(Z!=null?Z:{});for(let[X,Y]of Object.entries($))if(!Q.has(X))Q.set(X,Y);return Q}function XJ({status:Z,statusText:$,headers:Q,textStream:X}){return new Response(X.pipeThrough(new TextEncoderStream),{status:Z!=null?Z:200,statusText:$,headers:p0(Q,{"content-type":"text/plain; charset=utf-8"})})}function JJ({response:Z,status:$,statusText:Q,headers:X,stream:Y}){Z.writeHead($!=null?$:200,Q,X);let J=Y.getReader();(async()=>{try{while(!0){let{done:H,value:K}=await J.read();if(H)break;if(!Z.write(K))await new Promise((F)=>{Z.once("drain",F)})}}catch(H){throw H}finally{Z.end()}})()}function YJ({response:Z,status:$,statusText:Q,headers:X,textStream:Y}){JJ({response:Z,status:$,statusText:Q,headers:Object.fromEntries(p0(X,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:Y.pipeThrough(new TextEncoderStream)})}var zJ=class extends TransformStream{constructor(){super({transform(Z,$){$.enqueue(`data: ${JSON.stringify(Z)}
18
-
19
- `)},flush(Z){Z.enqueue(`data: [DONE]
20
-
21
- `)}})}},HJ={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"};function _4({status:Z,statusText:$,headers:Q,stream:X,consumeSseStream:Y}){let J=X.pipeThrough(new zJ);if(Y){let[W,H]=J.tee();J=W,Y({stream:H})}return new Response(J.pipeThrough(new TextEncoderStream),{status:Z,statusText:$,headers:p0(Q,HJ)})}function x4({originalMessages:Z,responseMessageId:$}){if(Z==null)return;let Q=Z[Z.length-1];return(Q==null?void 0:Q.role)==="assistant"?Q.id:typeof $==="function"?$():$}var WJ=BZ(()=>GZ(z.union([z.strictObject({type:z.literal("text-start"),id:z.string(),providerMetadata:k.optional()}),z.strictObject({type:z.literal("text-delta"),id:z.string(),delta:z.string(),providerMetadata:k.optional()}),z.strictObject({type:z.literal("text-end"),id:z.string(),providerMetadata:k.optional()}),z.strictObject({type:z.literal("error"),errorText:z.string()}),z.strictObject({type:z.literal("tool-input-start"),toolCallId:z.string(),toolName:z.string(),providerExecuted:z.boolean().optional(),dynamic:z.boolean().optional()}),z.strictObject({type:z.literal("tool-input-delta"),toolCallId:z.string(),inputTextDelta:z.string()}),z.strictObject({type:z.literal("tool-input-available"),toolCallId:z.string(),toolName:z.string(),input:z.unknown(),providerExecuted:z.boolean().optional(),providerMetadata:k.optional(),dynamic:z.boolean().optional()}),z.strictObject({type:z.literal("tool-input-error"),toolCallId:z.string(),toolName:z.string(),input:z.unknown(),providerExecuted:z.boolean().optional(),providerMetadata:k.optional(),dynamic:z.boolean().optional(),errorText:z.string()}),z.strictObject({type:z.literal("tool-output-available"),toolCallId:z.string(),output:z.unknown(),providerExecuted:z.boolean().optional(),dynamic:z.boolean().optional(),preliminary:z.boolean().optional()}),z.strictObject({type:z.literal("tool-output-error"),toolCallId:z.string(),errorText:z.string(),providerExecuted:z.boolean().optional(),dynamic:z.boolean().optional()}),z.strictObject({type:z.literal("reasoning-start"),id:z.string(),providerMetadata:k.optional()}),z.strictObject({type:z.literal("reasoning-delta"),id:z.string(),delta:z.string(),providerMetadata:k.optional()}),z.strictObject({type:z.literal("reasoning-end"),id:z.string(),providerMetadata:k.optional()}),z.strictObject({type:z.literal("source-url"),sourceId:z.string(),url:z.string(),title:z.string().optional(),providerMetadata:k.optional()}),z.strictObject({type:z.literal("source-document"),sourceId:z.string(),mediaType:z.string(),title:z.string(),filename:z.string().optional(),providerMetadata:k.optional()}),z.strictObject({type:z.literal("file"),url:z.string(),mediaType:z.string(),providerMetadata:k.optional()}),z.strictObject({type:z.custom((Z)=>typeof Z==="string"&&Z.startsWith("data-"),{message:'Type must start with "data-"'}),id:z.string().optional(),data:z.unknown(),transient:z.boolean().optional()}),z.strictObject({type:z.literal("start-step")}),z.strictObject({type:z.literal("finish-step")}),z.strictObject({type:z.literal("start"),messageId:z.string().optional(),messageMetadata:z.unknown().optional()}),z.strictObject({type:z.literal("finish"),messageMetadata:z.unknown().optional()}),z.strictObject({type:z.literal("abort")}),z.strictObject({type:z.literal("message-metadata"),messageMetadata:z.unknown()})])));function k4(Z){return Z.type.startsWith("data-")}function x$(Z,$){if(Z===void 0&&$===void 0)return;if(Z===void 0)return $;if($===void 0)return Z;let Q={...Z};for(let X in $)if(Object.prototype.hasOwnProperty.call($,X)){let Y=$[X];if(Y===void 0)continue;let J=X in Z?Z[X]:void 0,W=Y!==null&&typeof Y==="object"&&!Array.isArray(Y)&&!(Y instanceof Date)&&!(Y instanceof RegExp),H=J!==null&&J!==void 0&&typeof J==="object"&&!Array.isArray(J)&&!(J instanceof Date)&&!(J instanceof RegExp);if(W&&H)Q[X]=x$(J,Y);else Q[X]=Y}return Q}function h4(Z){let $=["ROOT"],Q=-1,X=null;function Y(K,G,F){switch(K){case'"':{Q=G,$.pop(),$.push(F),$.push("INSIDE_STRING");break}case"f":case"t":case"n":{Q=G,X=G,$.pop(),$.push(F),$.push("INSIDE_LITERAL");break}case"-":{$.pop(),$.push(F),$.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{Q=G,$.pop(),$.push(F),$.push("INSIDE_NUMBER");break}case"{":{Q=G,$.pop(),$.push(F),$.push("INSIDE_OBJECT_START");break}case"[":{Q=G,$.pop(),$.push(F),$.push("INSIDE_ARRAY_START");break}}}function J(K,G){switch(K){case",":{$.pop(),$.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{Q=G,$.pop();break}}}function W(K,G){switch(K){case",":{$.pop(),$.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{Q=G,$.pop();break}}}for(let K=0;K<Z.length;K++){let G=Z[K];switch($[$.length-1]){case"ROOT":Y(G,K,"FINISH");break;case"INSIDE_OBJECT_START":{switch(G){case'"':{$.pop(),$.push("INSIDE_OBJECT_KEY");break}case"}":{Q=K,$.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{switch(G){case'"':{$.pop(),$.push("INSIDE_OBJECT_KEY");break}}break}case"INSIDE_OBJECT_KEY":{switch(G){case'"':{$.pop(),$.push("INSIDE_OBJECT_AFTER_KEY");break}}break}case"INSIDE_OBJECT_AFTER_KEY":{switch(G){case":":{$.pop(),$.push("INSIDE_OBJECT_BEFORE_VALUE");break}}break}case"INSIDE_OBJECT_BEFORE_VALUE":{Y(G,K,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{J(G,K);break}case"INSIDE_STRING":{switch(G){case'"':{$.pop(),Q=K;break}case"\\":{$.push("INSIDE_STRING_ESCAPE");break}default:Q=K}break}case"INSIDE_ARRAY_START":{switch(G){case"]":{Q=K,$.pop();break}default:{Q=K,Y(G,K,"INSIDE_ARRAY_AFTER_VALUE");break}}break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(G){case",":{$.pop(),$.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{Q=K,$.pop();break}default:{Q=K;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{Y(G,K,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{$.pop(),Q=K;break}case"INSIDE_NUMBER":{switch(G){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{Q=K;break}case"e":case"E":case"-":case".":break;case",":{if($.pop(),$[$.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W(G,K);if($[$.length-1]==="INSIDE_OBJECT_AFTER_VALUE")J(G,K);break}case"}":{if($.pop(),$[$.length-1]==="INSIDE_OBJECT_AFTER_VALUE")J(G,K);break}case"]":{if($.pop(),$[$.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W(G,K);break}default:{$.pop();break}}break}case"INSIDE_LITERAL":{let U=Z.substring(X,K+1);if(!"false".startsWith(U)&&!"true".startsWith(U)&&!"null".startsWith(U)){if($.pop(),$[$.length-1]==="INSIDE_OBJECT_AFTER_VALUE")J(G,K);else if($[$.length-1]==="INSIDE_ARRAY_AFTER_VALUE")W(G,K)}else Q=K;break}}}let H=Z.slice(0,Q+1);for(let K=$.length-1;K>=0;K--)switch($[K]){case"INSIDE_STRING":{H+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{H+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{H+="]";break}case"INSIDE_LITERAL":{let F=Z.substring(X,Z.length);if("true".startsWith(F))H+="true".slice(F.length);else if("false".startsWith(F))H+="false".slice(F.length);else if("null".startsWith(F))H+="null".slice(F.length)}}return H}async function k$(Z){if(Z===void 0)return{value:void 0,state:"undefined-input"};let $=await vZ({text:Z});if($.success)return{value:$.value,state:"successful-parse"};if($=await vZ({text:h4(Z)}),$.success)return{value:$.value,state:"repaired-parse"};return{value:void 0,state:"failed-parse"}}function f$(Z){return Z.type.startsWith("data-")}function R$(Z){return Z.type==="text"}function T$(Z){return Z.type==="file"}function k9(Z){return Z.type==="reasoning"}function N0(Z){return Z.type.startsWith("tool-")}function h$(Z){return Z.type==="dynamic-tool"}function d0(Z){return N0(Z)||h$(Z)}function Y1(Z){return Z.type.split("-").slice(1).join("-")}function g4(Z){return h$(Z)?Z.toolName:Y1(Z)}function g$({lastMessage:Z,messageId:$}){return{message:(Z==null?void 0:Z.role)==="assistant"?Z:{id:$,metadata:void 0,role:"assistant",parts:[]},activeTextParts:{},activeReasoningParts:{},partialToolCalls:{}}}function m$({stream:Z,messageMetadataSchema:$,dataPartSchemas:Q,runUpdateMessageJob:X,onError:Y,onToolCall:J,onData:W}){return Z.pipeThrough(new TransformStream({async transform(H,K){await X(async({state:G,write:F})=>{var U,q,B,j;function V(N){let R=G.message.parts.filter(N0).find((D)=>D.toolCallId===N);if(R==null)throw Error("tool-output-error must be preceded by a tool-input-available");return R}function L(N){let R=G.message.parts.filter((D)=>D.type==="dynamic-tool").find((D)=>D.toolCallId===N);if(R==null)throw Error("tool-output-error must be preceded by a tool-input-available");return R}function O(N){var b;let R=G.message.parts.find((S)=>N0(S)&&S.toolCallId===N.toolCallId),D=N,A=R;if(R!=null){if(R.state=N.state,A.input=D.input,A.output=D.output,A.errorText=D.errorText,A.rawInput=D.rawInput,A.preliminary=D.preliminary,A.providerExecuted=(b=D.providerExecuted)!=null?b:R.providerExecuted,D.providerMetadata!=null&&R.state==="input-available")R.callProviderMetadata=D.providerMetadata}else G.message.parts.push({type:`tool-${N.toolName}`,toolCallId:N.toolCallId,state:N.state,input:D.input,output:D.output,rawInput:D.rawInput,errorText:D.errorText,providerExecuted:D.providerExecuted,preliminary:D.preliminary,...D.providerMetadata!=null?{callProviderMetadata:D.providerMetadata}:{}})}function P(N){var b,R;let D=G.message.parts.find((v)=>v.type==="dynamic-tool"&&v.toolCallId===N.toolCallId),A=N,S=D;if(D!=null){if(D.state=N.state,S.toolName=N.toolName,S.input=A.input,S.output=A.output,S.errorText=A.errorText,S.rawInput=(b=A.rawInput)!=null?b:S.rawInput,S.preliminary=A.preliminary,S.providerExecuted=(R=A.providerExecuted)!=null?R:D.providerExecuted,A.providerMetadata!=null&&D.state==="input-available")D.callProviderMetadata=A.providerMetadata}else G.message.parts.push({type:"dynamic-tool",toolName:N.toolName,toolCallId:N.toolCallId,state:N.state,input:A.input,output:A.output,errorText:A.errorText,preliminary:A.preliminary,providerExecuted:A.providerExecuted,...A.providerMetadata!=null?{callProviderMetadata:A.providerMetadata}:{}})}async function y(N){if(N!=null){let b=G.message.metadata!=null?x$(G.message.metadata,N):N;if($!=null)await mZ({value:b,schema:$});G.message.metadata=b}}switch(H.type){case"text-start":{let N={type:"text",text:"",providerMetadata:H.providerMetadata,state:"streaming"};G.activeTextParts[H.id]=N,G.message.parts.push(N),F();break}case"text-delta":{let N=G.activeTextParts[H.id];N.text+=H.delta,N.providerMetadata=(U=H.providerMetadata)!=null?U:N.providerMetadata,F();break}case"text-end":{let N=G.activeTextParts[H.id];N.state="done",N.providerMetadata=(q=H.providerMetadata)!=null?q:N.providerMetadata,delete G.activeTextParts[H.id],F();break}case"reasoning-start":{let N={type:"reasoning",text:"",providerMetadata:H.providerMetadata,state:"streaming"};G.activeReasoningParts[H.id]=N,G.message.parts.push(N),F();break}case"reasoning-delta":{let N=G.activeReasoningParts[H.id];N.text+=H.delta,N.providerMetadata=(B=H.providerMetadata)!=null?B:N.providerMetadata,F();break}case"reasoning-end":{let N=G.activeReasoningParts[H.id];N.providerMetadata=(j=H.providerMetadata)!=null?j:N.providerMetadata,N.state="done",delete G.activeReasoningParts[H.id],F();break}case"file":{G.message.parts.push({type:"file",mediaType:H.mediaType,url:H.url}),F();break}case"source-url":{G.message.parts.push({type:"source-url",sourceId:H.sourceId,url:H.url,title:H.title,providerMetadata:H.providerMetadata}),F();break}case"source-document":{G.message.parts.push({type:"source-document",sourceId:H.sourceId,mediaType:H.mediaType,title:H.title,filename:H.filename,providerMetadata:H.providerMetadata}),F();break}case"tool-input-start":{let N=G.message.parts.filter(N0);if(G.partialToolCalls[H.toolCallId]={text:"",toolName:H.toolName,index:N.length,dynamic:H.dynamic},H.dynamic)P({toolCallId:H.toolCallId,toolName:H.toolName,state:"input-streaming",input:void 0,providerExecuted:H.providerExecuted});else O({toolCallId:H.toolCallId,toolName:H.toolName,state:"input-streaming",input:void 0,providerExecuted:H.providerExecuted});F();break}case"tool-input-delta":{let N=G.partialToolCalls[H.toolCallId];N.text+=H.inputTextDelta;let{value:b}=await k$(N.text);if(N.dynamic)P({toolCallId:H.toolCallId,toolName:N.toolName,state:"input-streaming",input:b});else O({toolCallId:H.toolCallId,toolName:N.toolName,state:"input-streaming",input:b});F();break}case"tool-input-available":{if(H.dynamic)P({toolCallId:H.toolCallId,toolName:H.toolName,state:"input-available",input:H.input,providerExecuted:H.providerExecuted,providerMetadata:H.providerMetadata});else O({toolCallId:H.toolCallId,toolName:H.toolName,state:"input-available",input:H.input,providerExecuted:H.providerExecuted,providerMetadata:H.providerMetadata});if(F(),J&&!H.providerExecuted)await J({toolCall:H});break}case"tool-input-error":{if(H.dynamic)P({toolCallId:H.toolCallId,toolName:H.toolName,state:"output-error",input:H.input,errorText:H.errorText,providerExecuted:H.providerExecuted,providerMetadata:H.providerMetadata});else O({toolCallId:H.toolCallId,toolName:H.toolName,state:"output-error",input:void 0,rawInput:H.input,errorText:H.errorText,providerExecuted:H.providerExecuted,providerMetadata:H.providerMetadata});F();break}case"tool-output-available":{if(H.dynamic){let N=L(H.toolCallId);P({toolCallId:H.toolCallId,toolName:N.toolName,state:"output-available",input:N.input,output:H.output,preliminary:H.preliminary})}else{let N=V(H.toolCallId);O({toolCallId:H.toolCallId,toolName:Y1(N),state:"output-available",input:N.input,output:H.output,providerExecuted:H.providerExecuted,preliminary:H.preliminary})}F();break}case"tool-output-error":{if(H.dynamic){let N=L(H.toolCallId);P({toolCallId:H.toolCallId,toolName:N.toolName,state:"output-error",input:N.input,errorText:H.errorText,providerExecuted:H.providerExecuted})}else{let N=V(H.toolCallId);O({toolCallId:H.toolCallId,toolName:Y1(N),state:"output-error",input:N.input,rawInput:N.rawInput,errorText:H.errorText,providerExecuted:H.providerExecuted})}F();break}case"start-step":{G.message.parts.push({type:"step-start"});break}case"finish-step":{G.activeTextParts={},G.activeReasoningParts={};break}case"start":{if(H.messageId!=null)G.message.id=H.messageId;if(await y(H.messageMetadata),H.messageId!=null||H.messageMetadata!=null)F();break}case"finish":{if(await y(H.messageMetadata),H.messageMetadata!=null)F();break}case"message-metadata":{if(await y(H.messageMetadata),H.messageMetadata!=null)F();break}case"error":{Y==null||Y(Error(H.errorText));break}default:if(k4(H)){if((Q==null?void 0:Q[H.type])!=null)await mZ({value:H.data,schema:Q[H.type]});let N=H;if(N.transient){W==null||W(N);break}let b=N.id!=null?G.message.parts.find((R)=>N.type===R.type&&N.id===R.id):void 0;if(b!=null)b.data=N.data;else G.message.parts.push(N);W==null||W(N),F()}}K.enqueue(H)})}}))}function GJ({messageId:Z,originalMessages:$=[],onFinish:Q,onError:X,stream:Y}){let J=$==null?void 0:$[$.length-1];if((J==null?void 0:J.role)!=="assistant")J=void 0;else Z=J.id;let W=!1,H=Y.pipeThrough(new TransformStream({transform(q,B){if(q.type==="start"){let j=q;if(j.messageId==null&&Z!=null)j.messageId=Z}if(q.type==="abort")W=!0;B.enqueue(q)}}));if(Q==null)return H;let K=g$({lastMessage:J?structuredClone(J):void 0,messageId:Z!=null?Z:""}),G=async(q)=>{await q({state:K,write:()=>{}})},F=!1,U=async()=>{if(F||!Q)return;F=!0;let q=K.message.id===(J==null?void 0:J.id);await Q({isAborted:W,isContinuation:q,responseMessage:K.message,messages:[...q?$.slice(0,-1):$,K.message]})};return m$({stream:H,runUpdateMessageJob:G,onError:X}).pipeThrough(new TransformStream({transform(q,B){B.enqueue(q)},async cancel(){await U()},async flush(){await U()}}))}function m4({response:Z,status:$,statusText:Q,headers:X,stream:Y,consumeSseStream:J}){let W=Y.pipeThrough(new zJ);if(J){let[H,K]=W.tee();W=H,J({stream:K})}JJ({response:Z,status:$,statusText:Q,headers:Object.fromEntries(p0(X,HJ).entries()),stream:W.pipeThrough(new TextEncoderStream)})}function dZ(Z){let $=Z.pipeThrough(new TransformStream);return $[Symbol.asyncIterator]=function(){let Q=this.getReader(),X=!1;async function Y(J){var W;X=!0;try{if(J)await((W=Q.cancel)==null?void 0:W.call(Q))}finally{try{Q.releaseLock()}catch(H){}}}return{async next(){if(X)return{done:!0,value:void 0};let{done:J,value:W}=await Q.read();if(J)return await Y(!0),{done:!0,value:void 0};return{done:!1,value:W}},async return(){return await Y(!0),{done:!0,value:void 0}},async throw(J){throw await Y(!0),J}}},$}async function j1({stream:Z,onError:$}){let Q=Z.getReader();try{while(!0){let{done:X}=await Q.read();if(X)break}}catch(X){$==null||$(X)}finally{Q.releaseLock()}}function h9(){let Z,$;return{promise:new Promise((X,Y)=>{Z=X,$=Y}),resolve:Z,reject:$}}function KJ(){let Z=[],$=null,Q=!1,X=h9(),Y=()=>{Q=!0,X.resolve(),Z.forEach((W)=>W.cancel()),Z=[],$==null||$.close()},J=async()=>{if(Q&&Z.length===0){$==null||$.close();return}if(Z.length===0)return X=h9(),await X.promise,J();try{let{value:W,done:H}=await Z[0].read();if(H){if(Z.shift(),Z.length>0)await J();else if(Q)$==null||$.close()}else $==null||$.enqueue(W)}catch(W){$==null||$.error(W),Z.shift(),Y()}};return{stream:new ReadableStream({start(W){$=W},pull:J,async cancel(){for(let W of Z)await W.cancel();Z=[],Q=!0}}),addStream:(W)=>{if(Q)throw Error("Cannot add inner stream: outer stream is closed");Z.push(W.getReader()),X.resolve()},close:()=>{if(Q=!0,X.resolve(),Z.length===0)$==null||$.close()},terminate:Y}}var TZ=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){if(this._promise)return this._promise;return this._promise=new Promise((Z,$)=>{if(this.status.type==="resolved")Z(this.status.value);else if(this.status.type==="rejected")$(this.status.error);this._resolve=Z,this._reject=$}),this._promise}resolve(Z){var $;if(this.status={type:"resolved",value:Z},this._promise)($=this._resolve)==null||$.call(this,Z)}reject(Z){var $;if(this.status={type:"rejected",error:Z},this._promise)($=this._reject)==null||$.call(this,Z)}};function qJ(){var Z,$;return($=(Z=globalThis==null?void 0:globalThis.performance)==null?void 0:Z.now())!=null?$:Date.now()}function d4({tools:Z,generatorStream:$,tracer:Q,telemetry:X,system:Y,messages:J,abortSignal:W,repairToolCall:H,experimental_context:K}){let G=null,F=new ReadableStream({start(O){G=O}}),U=new Set,q=new Map,B=!1,j=void 0;function V(){if(B&&U.size===0){if(j!=null)G.enqueue(j);G.close()}}let L=new TransformStream({async transform(O,P){let y=O.type;switch(y){case"stream-start":case"text-start":case"text-delta":case"text-end":case"reasoning-start":case"reasoning-delta":case"reasoning-end":case"tool-input-start":case"tool-input-delta":case"tool-input-end":case"source":case"response-metadata":case"error":case"raw":{P.enqueue(O);break}case"file":{P.enqueue({type:"file",file:new M4({data:O.data,mediaType:O.mediaType})});break}case"finish":{j={type:"finish",finishReason:O.finishReason,usage:O.usage,providerMetadata:O.providerMetadata};break}case"tool-call":{try{let N=await e5({toolCall:O,tools:Z,repairToolCall:H,system:Y,messages:J});if(P.enqueue(N),N.invalid){G.enqueue({type:"tool-error",toolCallId:N.toolCallId,toolName:N.toolName,input:N.input,error:sZ(N.error),dynamic:!0});break}let b=Z[N.toolName];if(q.set(N.toolCallId,N.input),b.onInputAvailable!=null)await b.onInputAvailable({input:N.input,toolCallId:N.toolCallId,messages:J,abortSignal:W,experimental_context:K});if(b.execute!=null&&N.providerExecuted!==!0){let R=Y0();U.add(R),UZ({name:"ai.toolCall",attributes:m({telemetry:X,attributes:{...FZ({operationId:"ai.toolCall",telemetry:X}),"ai.toolCall.name":N.toolName,"ai.toolCall.id":N.toolCallId,"ai.toolCall.args":{output:()=>JSON.stringify(N.input)}}}),tracer:Q,fn:async(D)=>{let A;try{let S=W1({execute:b.execute.bind(b),input:N.input,options:{toolCallId:N.toolCallId,messages:J,abortSignal:W,experimental_context:K}});for await(let v of S)if(G.enqueue({...N,type:"tool-result",output:v.output,...v.type==="preliminary"&&{preliminary:!0}}),v.type==="final")A=v.output}catch(S){_$(D,S),G.enqueue({...N,type:"tool-error",error:S}),U.delete(R),V();return}U.delete(R),V();try{D.setAttributes(m({telemetry:X,attributes:{"ai.toolCall.result":{output:()=>JSON.stringify(A)}}}))}catch(S){}}})}}catch(N){G.enqueue({type:"error",error:N})}break}case"tool-result":{let N=O.toolName;if(O.isError)G.enqueue({type:"tool-error",toolCallId:O.toolCallId,toolName:N,input:q.get(O.toolCallId),providerExecuted:O.providerExecuted,error:O.result});else P.enqueue({type:"tool-result",toolCallId:O.toolCallId,toolName:N,input:q.get(O.toolCallId),output:O.result,providerExecuted:O.providerExecuted});break}default:throw Error(`Unhandled chunk type: ${y}`)}},flush(){B=!0,V()}});return new ReadableStream({async start(O){return Promise.all([$.pipeThrough(L).pipeTo(new WritableStream({write(P){O.enqueue(P)},close(){}})),F.pipeTo(new WritableStream({write(P){O.enqueue(P)},close(){O.close()}}))])}})}var u4=uZ({prefix:"aitxt",size:24});function c4({model:Z,tools:$,toolChoice:Q,system:X,prompt:Y,messages:J,maxRetries:W,abortSignal:H,headers:K,stopWhen:G=$J(1),experimental_output:F,experimental_telemetry:U,prepareStep:q,providerOptions:B,experimental_activeTools:j,activeTools:V=j,experimental_repairToolCall:L,experimental_transform:O,experimental_download:P,includeRawChunks:y=!1,onChunk:N,onError:b=({error:h})=>{console.error(h)},onFinish:R,onAbort:D,onStepFinish:A,experimental_context:S,_internal:{now:v=qJ,generateId:n=u4,currentDate:r=()=>new Date}={},...u}){return new p4({model:O0(Z),telemetry:U,headers:K,settings:u,maxRetries:W,abortSignal:H,system:X,prompt:Y,messages:J,tools:$,toolChoice:Q,transforms:J1(O),activeTools:V,repairToolCall:L,stopConditions:J1(G),output:F,providerOptions:B,prepareStep:q,includeRawChunks:y,onChunk:N,onError:b,onFinish:R,onAbort:D,onStepFinish:A,now:v,currentDate:r,generateId:n,experimental_context:S,download:P})}function i4(Z){if(!Z)return new TransformStream({transform(W,H){H.enqueue({part:W,partialOutput:void 0})}});let $=void 0,Q="",X="",Y="";function J({controller:W,partialOutput:H=void 0}){W.enqueue({part:{type:"text-delta",id:$,text:X},partialOutput:H}),X=""}return new TransformStream({async transform(W,H){if(W.type==="finish-step"&&X.length>0)J({controller:H});if(W.type!=="text-delta"&&W.type!=="text-start"&&W.type!=="text-end"){H.enqueue({part:W,partialOutput:void 0});return}if($==null)$=W.id;else if(W.id!==$){H.enqueue({part:W,partialOutput:void 0});return}if(W.type==="text-start"){H.enqueue({part:W,partialOutput:void 0});return}if(W.type==="text-end"){if(X.length>0)J({controller:H});H.enqueue({part:W,partialOutput:void 0});return}Q+=W.text,X+=W.text;let K=await Z.parsePartial({text:Q});if(K!=null){let G=JSON.stringify(K.partial);if(G!==Y)J({controller:H,partialOutput:K.partial}),Y=G}}})}var p4=class{constructor({model:Z,telemetry:$,headers:Q,settings:X,maxRetries:Y,abortSignal:J,system:W,prompt:H,messages:K,tools:G,toolChoice:F,transforms:U,activeTools:q,repairToolCall:B,stopConditions:j,output:V,providerOptions:L,prepareStep:O,includeRawChunks:P,now:y,currentDate:N,generateId:b,onChunk:R,onError:D,onFinish:A,onAbort:S,onStepFinish:v,experimental_context:n,download:r}){this._totalUsage=new TZ,this._finishReason=new TZ,this._steps=new TZ,this.output=V,this.includeRawChunks=P,this.tools=G;let u,h=[],$Z=[],t=void 0,KZ=void 0,jZ={},IZ=[],s=[],fZ,zZ={},QZ={},e=new TransformStream({async transform(_,C){var f,E,ZZ,wZ;C.enqueue(_);let{part:w}=_;if(w.type==="text-delta"||w.type==="reasoning-delta"||w.type==="source"||w.type==="tool-call"||w.type==="tool-result"||w.type==="tool-input-start"||w.type==="tool-input-delta"||w.type==="raw")await(R==null?void 0:R({chunk:w}));if(w.type==="error")await D({error:B1(w.error)});if(w.type==="text-start")zZ[w.id]={type:"text",text:"",providerMetadata:w.providerMetadata},h.push(zZ[w.id]);if(w.type==="text-delta"){let x=zZ[w.id];if(x==null){C.enqueue({part:{type:"error",error:`text part ${w.id} not found`},partialOutput:void 0});return}x.text+=w.text,x.providerMetadata=(f=w.providerMetadata)!=null?f:x.providerMetadata}if(w.type==="text-end"){let x=zZ[w.id];if(x==null){C.enqueue({part:{type:"error",error:`text part ${w.id} not found`},partialOutput:void 0});return}x.providerMetadata=(E=w.providerMetadata)!=null?E:x.providerMetadata,delete zZ[w.id]}if(w.type==="reasoning-start")QZ[w.id]={type:"reasoning",text:"",providerMetadata:w.providerMetadata},h.push(QZ[w.id]);if(w.type==="reasoning-delta"){let x=QZ[w.id];if(x==null){C.enqueue({part:{type:"error",error:`reasoning part ${w.id} not found`},partialOutput:void 0});return}x.text+=w.text,x.providerMetadata=(ZZ=w.providerMetadata)!=null?ZZ:x.providerMetadata}if(w.type==="reasoning-end"){let x=QZ[w.id];if(x==null){C.enqueue({part:{type:"error",error:`reasoning part ${w.id} not found`},partialOutput:void 0});return}x.providerMetadata=(wZ=w.providerMetadata)!=null?wZ:x.providerMetadata,delete QZ[w.id]}if(w.type==="file")h.push({type:"file",file:w.file});if(w.type==="source")h.push(w);if(w.type==="tool-call")h.push(w);if(w.type==="tool-result"&&!w.preliminary)h.push(w);if(w.type==="tool-error")h.push(w);if(w.type==="start-step")jZ=w.request,IZ=w.warnings;if(w.type==="finish-step"){let x=y$({content:h,tools:G}),bZ=new ZJ({content:h,finishReason:w.finishReason,usage:w.usage,warnings:IZ,request:jZ,response:{...w.response,messages:[...$Z,...x]},providerMetadata:w.providerMetadata});await(v==null?void 0:v(bZ)),H0(IZ),s.push(bZ),h=[],QZ={},zZ={},$Z.push(...x),u.resolve()}if(w.type==="finish")KZ=w.totalUsage,t=w.finishReason},async flush(_){try{if(s.length===0){let ZZ=new ez({message:"No output generated. Check the stream for errors."});i._finishReason.reject(ZZ),i._totalUsage.reject(ZZ),i._steps.reject(ZZ);return}let C=t!=null?t:"unknown",f=KZ!=null?KZ:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};i._finishReason.resolve(C),i._totalUsage.resolve(f),i._steps.resolve(s);let E=s[s.length-1];await(A==null?void 0:A({finishReason:C,totalUsage:f,usage:E.usage,content:E.content,text:E.text,reasoningText:E.reasoningText,reasoning:E.reasoning,files:E.files,sources:E.sources,toolCalls:E.toolCalls,staticToolCalls:E.staticToolCalls,dynamicToolCalls:E.dynamicToolCalls,toolResults:E.toolResults,staticToolResults:E.staticToolResults,dynamicToolResults:E.dynamicToolResults,request:E.request,response:E.response,warnings:E.warnings,providerMetadata:E.providerMetadata,steps:s})),fZ.setAttributes(m({telemetry:$,attributes:{"ai.response.finishReason":C,"ai.response.text":{output:()=>E.text},"ai.response.toolCalls":{output:()=>{var ZZ;return((ZZ=E.toolCalls)==null?void 0:ZZ.length)?JSON.stringify(E.toolCalls):void 0}},"ai.response.providerMetadata":JSON.stringify(E.providerMetadata),"ai.usage.inputTokens":f.inputTokens,"ai.usage.outputTokens":f.outputTokens,"ai.usage.totalTokens":f.totalTokens,"ai.usage.reasoningTokens":f.reasoningTokens,"ai.usage.cachedInputTokens":f.cachedInputTokens}}))}catch(C){_.error(C)}finally{fZ.end()}}}),WZ=KJ();this.addStream=WZ.addStream,this.closeStream=WZ.close;let p=WZ.stream.getReader(),NZ=new ReadableStream({async start(_){_.enqueue({type:"start"})},async pull(_){function C(){S==null||S({steps:s}),_.enqueue({type:"abort"}),_.close()}try{let{done:f,value:E}=await p.read();if(f){_.close();return}if(J==null?void 0:J.aborted){C();return}_.enqueue(E)}catch(f){if(H1(f)&&(J==null?void 0:J.aborted))C();else _.error(f)}},cancel(_){return WZ.stream.cancel(_)}});for(let _ of U)NZ=NZ.pipeThrough(_({tools:G,stopStream(){WZ.terminate()}}));this.baseStream=NZ.pipeThrough(i4(V)).pipeThrough(e);let{maxRetries:OZ,retry:VZ}=cZ({maxRetries:Y,abortSignal:J}),c=L0($),a=J0(X),LZ=D0({model:Z,telemetry:$,headers:Q,settings:{...a,maxRetries:OZ}}),i=this;UZ({name:"ai.streamText",attributes:m({telemetry:$,attributes:{...FZ({operationId:"ai.streamText",telemetry:$}),...LZ,"ai.prompt":{input:()=>JSON.stringify({system:W,prompt:H,messages:K})}}}),tracer:c,endWhenDone:!1,fn:async(_)=>{fZ=_;async function C({currentStep:f,responseMessages:E,usage:ZZ}){var wZ,w,x,bZ,g;let SZ=i.includeRawChunks;u=new TZ;let w0=await q1({system:W,prompt:H,messages:K}),iZ=[...w0.messages,...E],AZ=await(O==null?void 0:O({model:Z,steps:s,stepNumber:s.length,messages:iZ})),_Z=O0((wZ=AZ==null?void 0:AZ.model)!=null?wZ:Z),A0=await K1({prompt:{system:(w=AZ==null?void 0:AZ.system)!=null?w:w0.system,messages:(x=AZ==null?void 0:AZ.messages)!=null?x:iZ},supportedUrls:await _Z.supportedUrls,download:r}),{toolChoice:W0,tools:G0}=d5({tools:G,toolChoice:(bZ=AZ==null?void 0:AZ.toolChoice)!=null?bZ:F,activeTools:(g=AZ==null?void 0:AZ.activeTools)!=null?g:q}),{result:{stream:l0,response:XZ,request:xZ},doStreamSpan:kZ,startTimestampMs:d$}=await VZ(()=>UZ({name:"ai.streamText.doStream",attributes:m({telemetry:$,attributes:{...FZ({operationId:"ai.streamText.doStream",telemetry:$}),...LZ,"ai.model.provider":_Z.provider,"ai.model.id":_Z.modelId,"ai.prompt.messages":{input:()=>F1(A0)},"ai.prompt.tools":{input:()=>G0==null?void 0:G0.map((M)=>JSON.stringify(M))},"ai.prompt.toolChoice":{input:()=>W0!=null?JSON.stringify(W0):void 0},"gen_ai.system":_Z.provider,"gen_ai.request.model":_Z.modelId,"gen_ai.request.frequency_penalty":a.frequencyPenalty,"gen_ai.request.max_tokens":a.maxOutputTokens,"gen_ai.request.presence_penalty":a.presencePenalty,"gen_ai.request.stop_sequences":a.stopSequences,"gen_ai.request.temperature":a.temperature,"gen_ai.request.top_k":a.topK,"gen_ai.request.top_p":a.topP}}),tracer:c,endWhenDone:!1,fn:async(M)=>{return{startTimestampMs:y(),doStreamSpan:M,result:await _Z.doStream({...a,tools:G0,toolChoice:W0,responseFormat:V==null?void 0:V.responseFormat,prompt:A0,providerOptions:L,abortSignal:J,headers:Q,includeRawChunks:SZ})}}})),wJ=d4({tools:G,generatorStream:l0,tracer:c,telemetry:$,system:W,messages:iZ,repairToolCall:B,abortSignal:J,experimental_context:n}),AJ=xZ!=null?xZ:{},n0=[],N1=[],O1,V1={},K0="unknown",RZ={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},D1,u$=!0,yZ={id:b(),timestamp:N(),modelId:Z.modelId},c$="";i.addStream(wJ.pipeThrough(new TransformStream({async transform(M,HZ){var E0,P0,s0,hZ;if(M.type==="stream-start"){O1=M.warnings;return}if(u$){let DZ=y()-d$;u$=!1,kZ.addEvent("ai.stream.firstChunk",{"ai.response.msToFirstChunk":DZ}),kZ.setAttributes({"ai.response.msToFirstChunk":DZ}),HZ.enqueue({type:"start-step",request:AJ,warnings:O1!=null?O1:[]})}let i$=M.type;switch(i$){case"text-start":case"text-end":{HZ.enqueue(M);break}case"text-delta":{if(M.delta.length>0)HZ.enqueue({type:"text-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata}),c$+=M.delta;break}case"reasoning-start":case"reasoning-end":{HZ.enqueue(M);break}case"reasoning-delta":{HZ.enqueue({type:"reasoning-delta",id:M.id,text:M.delta,providerMetadata:M.providerMetadata});break}case"tool-call":{HZ.enqueue(M),n0.push(M);break}case"tool-result":{if(HZ.enqueue(M),!M.preliminary)N1.push(M);break}case"tool-error":{HZ.enqueue(M),N1.push(M);break}case"response-metadata":{yZ={id:(E0=M.id)!=null?E0:yZ.id,timestamp:(P0=M.timestamp)!=null?P0:yZ.timestamp,modelId:(s0=M.modelId)!=null?s0:yZ.modelId};break}case"finish":{RZ=M.usage,K0=M.finishReason,D1=M.providerMetadata;let DZ=y()-d$;kZ.addEvent("ai.stream.finish"),kZ.setAttributes({"ai.response.msToFinish":DZ,"ai.response.avgOutputTokensPerSecond":1000*((hZ=RZ.outputTokens)!=null?hZ:0)/DZ});break}case"file":{HZ.enqueue(M);break}case"source":{HZ.enqueue(M);break}case"tool-input-start":{V1[M.id]=M.toolName;let DZ=G==null?void 0:G[M.toolName];if((DZ==null?void 0:DZ.onInputStart)!=null)await DZ.onInputStart({toolCallId:M.id,messages:iZ,abortSignal:J,experimental_context:n});HZ.enqueue({...M,dynamic:(DZ==null?void 0:DZ.type)==="dynamic"});break}case"tool-input-end":{delete V1[M.id],HZ.enqueue(M);break}case"tool-input-delta":{let DZ=V1[M.id],L1=G==null?void 0:G[DZ];if((L1==null?void 0:L1.onInputDelta)!=null)await L1.onInputDelta({inputTextDelta:M.delta,toolCallId:M.id,messages:iZ,abortSignal:J,experimental_context:n});HZ.enqueue(M);break}case"error":{HZ.enqueue(M),K0="error";break}case"raw":{if(SZ)HZ.enqueue(M);break}default:throw Error(`Unknown chunk type: ${i$}`)}},async flush(M){let HZ=n0.length>0?JSON.stringify(n0):void 0;try{kZ.setAttributes(m({telemetry:$,attributes:{"ai.response.finishReason":K0,"ai.response.text":{output:()=>c$},"ai.response.toolCalls":{output:()=>HZ},"ai.response.id":yZ.id,"ai.response.model":yZ.modelId,"ai.response.timestamp":yZ.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(D1),"ai.usage.inputTokens":RZ.inputTokens,"ai.usage.outputTokens":RZ.outputTokens,"ai.usage.totalTokens":RZ.totalTokens,"ai.usage.reasoningTokens":RZ.reasoningTokens,"ai.usage.cachedInputTokens":RZ.cachedInputTokens,"gen_ai.response.finish_reasons":[K0],"gen_ai.response.id":yZ.id,"gen_ai.response.model":yZ.modelId,"gen_ai.usage.input_tokens":RZ.inputTokens,"gen_ai.usage.output_tokens":RZ.outputTokens}}))}catch(hZ){}finally{kZ.end()}M.enqueue({type:"finish-step",finishReason:K0,usage:RZ,providerMetadata:D1,response:{...yZ,headers:XZ==null?void 0:XZ.headers}});let E0=a5(ZZ,RZ);await u.promise;let P0=n0.filter((hZ)=>hZ.providerExecuted!==!0),s0=N1.filter((hZ)=>hZ.providerExecuted!==!0);if(P0.length>0&&s0.length===P0.length&&!await QJ({stopConditions:j,steps:s})){E.push(...y$({content:s[s.length-1].content,tools:G}));try{await C({currentStep:f+1,responseMessages:E,usage:E0})}catch(hZ){M.enqueue({type:"error",error:hZ}),i.closeStream()}}else M.enqueue({type:"finish",finishReason:K0,totalUsage:E0}),i.closeStream()}})))}await C({currentStep:0,responseMessages:[],usage:{inputTokens:void 0,outputTokens:void 0,totalTokens:void 0}})}}).catch((_)=>{i.addStream(new ReadableStream({start(C){C.enqueue({type:"error",error:_}),C.close()}})),i.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then((Z)=>Z[Z.length-1])}get content(){return this.finalStep.then((Z)=>Z.content)}get warnings(){return this.finalStep.then((Z)=>Z.warnings)}get providerMetadata(){return this.finalStep.then((Z)=>Z.providerMetadata)}get text(){return this.finalStep.then((Z)=>Z.text)}get reasoningText(){return this.finalStep.then((Z)=>Z.reasoningText)}get reasoning(){return this.finalStep.then((Z)=>Z.reasoning)}get sources(){return this.finalStep.then((Z)=>Z.sources)}get files(){return this.finalStep.then((Z)=>Z.files)}get toolCalls(){return this.finalStep.then((Z)=>Z.toolCalls)}get staticToolCalls(){return this.finalStep.then((Z)=>Z.staticToolCalls)}get dynamicToolCalls(){return this.finalStep.then((Z)=>Z.dynamicToolCalls)}get toolResults(){return this.finalStep.then((Z)=>Z.toolResults)}get staticToolResults(){return this.finalStep.then((Z)=>Z.staticToolResults)}get dynamicToolResults(){return this.finalStep.then((Z)=>Z.dynamicToolResults)}get usage(){return this.finalStep.then((Z)=>Z.usage)}get request(){return this.finalStep.then((Z)=>Z.request)}get response(){return this.finalStep.then((Z)=>Z.response)}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}teeStream(){let[Z,$]=this.baseStream.tee();return this.baseStream=$,Z}get textStream(){return dZ(this.teeStream().pipeThrough(new TransformStream({transform({part:Z},$){if(Z.type==="text-delta")$.enqueue(Z.text)}})))}get fullStream(){return dZ(this.teeStream().pipeThrough(new TransformStream({transform({part:Z},$){$.enqueue(Z)}})))}async consumeStream(Z){var $;try{await j1({stream:this.fullStream,onError:Z==null?void 0:Z.onError})}catch(Q){($=Z==null?void 0:Z.onError)==null||$.call(Z,Q)}}get experimental_partialOutputStream(){if(this.output==null)throw new n9;return dZ(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:Z},$){if(Z!=null)$.enqueue(Z)}})))}toUIMessageStream({originalMessages:Z,generateMessageId:$,onFinish:Q,messageMetadata:X,sendReasoning:Y=!0,sendSources:J=!1,sendStart:W=!0,sendFinish:H=!0,onError:K=nZ}={}){let G=$!=null?x4({originalMessages:Z,responseMessageId:$}):void 0,F={},U=(B)=>{var j,V;let L=F[B];return((V=(j=this.tools)==null?void 0:j[L])==null?void 0:V.type)==="dynamic"?!0:void 0},q=this.fullStream.pipeThrough(new TransformStream({transform:async(B,j)=>{let V=X==null?void 0:X({part:B}),L=B.type;switch(L){case"text-start":{j.enqueue({type:"text-start",id:B.id,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"text-delta":{j.enqueue({type:"text-delta",id:B.id,delta:B.text,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"text-end":{j.enqueue({type:"text-end",id:B.id,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"reasoning-start":{j.enqueue({type:"reasoning-start",id:B.id,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"reasoning-delta":{if(Y)j.enqueue({type:"reasoning-delta",id:B.id,delta:B.text,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"reasoning-end":{j.enqueue({type:"reasoning-end",id:B.id,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"file":{j.enqueue({type:"file",mediaType:B.file.mediaType,url:`data:${B.file.mediaType};base64,${B.file.base64}`});break}case"source":{if(J&&B.sourceType==="url")j.enqueue({type:"source-url",sourceId:B.id,url:B.url,title:B.title,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});if(J&&B.sourceType==="document")j.enqueue({type:"source-document",sourceId:B.id,mediaType:B.mediaType,title:B.title,filename:B.filename,...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{}});break}case"tool-input-start":{F[B.id]=B.toolName;let O=U(B.id);j.enqueue({type:"tool-input-start",toolCallId:B.id,toolName:B.toolName,...B.providerExecuted!=null?{providerExecuted:B.providerExecuted}:{},...O!=null?{dynamic:O}:{}});break}case"tool-input-delta":{j.enqueue({type:"tool-input-delta",toolCallId:B.id,inputTextDelta:B.delta});break}case"tool-call":{F[B.toolCallId]=B.toolName;let O=U(B.toolCallId);if(B.invalid)j.enqueue({type:"tool-input-error",toolCallId:B.toolCallId,toolName:B.toolName,input:B.input,...B.providerExecuted!=null?{providerExecuted:B.providerExecuted}:{},...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{},...O!=null?{dynamic:O}:{},errorText:K(B.error)});else j.enqueue({type:"tool-input-available",toolCallId:B.toolCallId,toolName:B.toolName,input:B.input,...B.providerExecuted!=null?{providerExecuted:B.providerExecuted}:{},...B.providerMetadata!=null?{providerMetadata:B.providerMetadata}:{},...O!=null?{dynamic:O}:{}});break}case"tool-result":{let O=U(B.toolCallId);j.enqueue({type:"tool-output-available",toolCallId:B.toolCallId,output:B.output,...B.providerExecuted!=null?{providerExecuted:B.providerExecuted}:{},...B.preliminary!=null?{preliminary:B.preliminary}:{},...O!=null?{dynamic:O}:{}});break}case"tool-error":{let O=U(B.toolCallId);j.enqueue({type:"tool-output-error",toolCallId:B.toolCallId,errorText:K(B.error),...B.providerExecuted!=null?{providerExecuted:B.providerExecuted}:{},...O!=null?{dynamic:O}:{}});break}case"error":{j.enqueue({type:"error",errorText:K(B.error)});break}case"start-step":{j.enqueue({type:"start-step"});break}case"finish-step":{j.enqueue({type:"finish-step"});break}case"start":{if(W)j.enqueue({type:"start",...V!=null?{messageMetadata:V}:{},...G!=null?{messageId:G}:{}});break}case"finish":{if(H)j.enqueue({type:"finish",...V!=null?{messageMetadata:V}:{}});break}case"abort":{j.enqueue(B);break}case"tool-input-end":break;case"raw":break;default:throw Error(`Unknown chunk type: ${L}`)}if(V!=null&&L!=="start"&&L!=="finish")j.enqueue({type:"message-metadata",messageMetadata:V})}}));return dZ(GJ({stream:q,messageId:G!=null?G:$==null?void 0:$(),originalMessages:Z,onFinish:Q,onError:K}))}pipeUIMessageStreamToResponse(Z,{originalMessages:$,generateMessageId:Q,onFinish:X,messageMetadata:Y,sendReasoning:J,sendSources:W,sendFinish:H,sendStart:K,onError:G,...F}={}){m4({response:Z,stream:this.toUIMessageStream({originalMessages:$,generateMessageId:Q,onFinish:X,messageMetadata:Y,sendReasoning:J,sendSources:W,sendFinish:H,sendStart:K,onError:G}),...F})}pipeTextStreamToResponse(Z,$){YJ({response:Z,textStream:this.textStream,...$})}toUIMessageStreamResponse({originalMessages:Z,generateMessageId:$,onFinish:Q,messageMetadata:X,sendReasoning:Y,sendSources:J,sendFinish:W,sendStart:H,onError:K,...G}={}){return _4({stream:this.toUIMessageStream({originalMessages:Z,generateMessageId:$,onFinish:Q,messageMetadata:X,sendReasoning:Y,sendSources:J,sendFinish:W,sendStart:H,onError:K}),...G})}toTextStreamResponse(Z){return XJ({textStream:this.textStream,...Z})}};function BJ(Z,$){let Q=[];if($==null?void 0:$.ignoreIncompleteToolCalls)Z=Z.map((Y)=>({...Y,parts:Y.parts.filter((J)=>!d0(J)||J.state!=="input-streaming"&&J.state!=="input-available")}));for(let Y of Z)switch(Y.role){case"system":{let J=Y.parts.filter((H)=>H.type==="text"),W=J.reduce((H,K)=>{if(K.providerMetadata!=null)return{...H,...K.providerMetadata};return H},{});Q.push({role:"system",content:J.map((H)=>H.text).join(""),...Object.keys(W).length>0?{providerOptions:W}:{}});break}case"user":{Q.push({role:"user",content:Y.parts.map((J)=>{var W;if(R$(J))return{type:"text",text:J.text,...J.providerMetadata!=null?{providerOptions:J.providerMetadata}:{}};if(T$(J))return{type:"file",mediaType:J.mediaType,filename:J.filename,data:J.url,...J.providerMetadata!=null?{providerOptions:J.providerMetadata}:{}};if(f$(J))return(W=$==null?void 0:$.convertDataPart)==null?void 0:W.call($,J)}).filter((J)=>J!=null)});break}case"assistant":{if(Y.parts!=null){let J=function(){var H,K,G;if(W.length===0)return;let F=[];for(let q of W)if(R$(q))F.push({type:"text",text:q.text,...q.providerMetadata!=null?{providerOptions:q.providerMetadata}:{}});else if(T$(q))F.push({type:"file",mediaType:q.mediaType,filename:q.filename,data:q.url});else if(k9(q))F.push({type:"reasoning",text:q.text,providerOptions:q.providerMetadata});else if(h$(q)){let B=q.toolName;if(q.state!=="input-streaming")F.push({type:"tool-call",toolCallId:q.toolCallId,toolName:B,input:q.input,...q.callProviderMetadata!=null?{providerOptions:q.callProviderMetadata}:{}})}else if(N0(q)){let B=Y1(q);if(q.state!=="input-streaming"){if(F.push({type:"tool-call",toolCallId:q.toolCallId,toolName:B,input:q.state==="output-error"?(H=q.input)!=null?H:q.rawInput:q.input,providerExecuted:q.providerExecuted,...q.callProviderMetadata!=null?{providerOptions:q.callProviderMetadata}:{}}),q.providerExecuted===!0&&(q.state==="output-available"||q.state==="output-error"))F.push({type:"tool-result",toolCallId:q.toolCallId,toolName:B,output:k0({output:q.state==="output-error"?q.errorText:q.output,tool:(K=$==null?void 0:$.tools)==null?void 0:K[B],errorMode:q.state==="output-error"?"json":"none"})})}}else if(f$(q)){let B=(G=$==null?void 0:$.convertDataPart)==null?void 0:G.call($,q);if(B!=null)F.push(B)}else throw Error(`Unsupported part: ${q}`);Q.push({role:"assistant",content:F});let U=W.filter((q)=>N0(q)&&q.providerExecuted!==!0||q.type==="dynamic-tool");if(U.length>0)Q.push({role:"tool",content:U.map((q)=>{var B;switch(q.state){case"output-error":case"output-available":{let j=g4(q);return{type:"tool-result",toolCallId:q.toolCallId,toolName:j,output:k0({output:q.state==="output-error"?q.errorText:q.output,tool:(B=$==null?void 0:$.tools)==null?void 0:B[j],errorMode:q.state==="output-error"?"text":"none"})}}default:return null}}).filter((q)=>q!=null)});W=[]};var X=J;let W=[];for(let H of Y.parts)if(R$(H)||k9(H)||T$(H)||d0(H)||f$(H))W.push(H);else if(H.type==="step-start")J();J();break}break}default:{let J=Y.role;throw new W4({originalMessage:Y,message:`Unsupported role: ${J}`})}}return Q}var AK=BJ,EK=class{constructor(Z){this.settings=Z}get tools(){return this.settings.tools}async generate(Z){return b4({...this.settings,...Z})}stream(Z){return c4({...this.settings,...Z})}respond(Z){return this.stream({prompt:BJ(Z.messages)}).toUIMessageStreamResponse()}};async function IK({model:Z,value:$,providerOptions:Q,maxRetries:X,abortSignal:Y,headers:J,experimental_telemetry:W}){let H=v5(Z),{maxRetries:K,retry:G}=cZ({maxRetries:X,abortSignal:Y}),F=o(J!=null?J:{},`ai/${CZ}`),U=D0({model:H,telemetry:W,headers:F,settings:{maxRetries:K}}),q=L0(W);return UZ({name:"ai.embed",attributes:m({telemetry:W,attributes:{...FZ({operationId:"ai.embed",telemetry:W}),...U,"ai.value":{input:()=>JSON.stringify($)}}}),tracer:q,fn:async(B)=>{let{embedding:j,usage:V,response:L,providerMetadata:O}=await G(()=>UZ({name:"ai.embed.doEmbed",attributes:m({telemetry:W,attributes:{...FZ({operationId:"ai.embed.doEmbed",telemetry:W}),...U,"ai.values":{input:()=>[JSON.stringify($)]}}}),tracer:q,fn:async(P)=>{var y;let N=await H.doEmbed({values:[$],abortSignal:Y,headers:F,providerOptions:Q}),b=N.embeddings[0],R=(y=N.usage)!=null?y:{tokens:NaN};return P.setAttributes(m({telemetry:W,attributes:{"ai.embeddings":{output:()=>N.embeddings.map((D)=>JSON.stringify(D))},"ai.usage.tokens":R.tokens}})),{embedding:b,usage:R,providerMetadata:N.providerMetadata,response:N.response}}}));return B.setAttributes(m({telemetry:W,attributes:{"ai.embedding":{output:()=>JSON.stringify(j)},"ai.usage.tokens":V.tokens}})),new l4({value:$,embedding:j,usage:V,providerMetadata:O,response:L})}})}var l4=class{constructor(Z){this.value=Z.value,this.embedding=Z.embedding,this.usage=Z.usage,this.providerMetadata=Z.providerMetadata,this.response=Z.response}};function g9(Z,$){if($<=0)throw Error("chunkSize must be greater than 0");let Q=[];for(let X=0;X<Z.length;X+=$)Q.push(Z.slice(X,X+$));return Q}async function RK({model:Z,values:$,maxParallelCalls:Q=1/0,maxRetries:X,abortSignal:Y,headers:J,providerOptions:W,experimental_telemetry:H}){let K=v5(Z),{maxRetries:G,retry:F}=cZ({maxRetries:X,abortSignal:Y}),U=o(J!=null?J:{},`ai/${CZ}`),q=D0({model:K,telemetry:H,headers:U,settings:{maxRetries:G}}),B=L0(H);return UZ({name:"ai.embedMany",attributes:m({telemetry:H,attributes:{...FZ({operationId:"ai.embedMany",telemetry:H}),...q,"ai.values":{input:()=>$.map((j)=>JSON.stringify(j))}}}),tracer:B,fn:async(j)=>{var V;let[L,O]=await Promise.all([K.maxEmbeddingsPerCall,K.supportsParallelCalls]);if(L==null||L===1/0){let{embeddings:A,usage:S,response:v,providerMetadata:n}=await F(()=>{return UZ({name:"ai.embedMany.doEmbed",attributes:m({telemetry:H,attributes:{...FZ({operationId:"ai.embedMany.doEmbed",telemetry:H}),...q,"ai.values":{input:()=>$.map((r)=>JSON.stringify(r))}}}),tracer:B,fn:async(r)=>{var u;let h=await K.doEmbed({values:$,abortSignal:Y,headers:U,providerOptions:W}),$Z=h.embeddings,t=(u=h.usage)!=null?u:{tokens:NaN};return r.setAttributes(m({telemetry:H,attributes:{"ai.embeddings":{output:()=>$Z.map((KZ)=>JSON.stringify(KZ))},"ai.usage.tokens":t.tokens}})),{embeddings:$Z,usage:t,providerMetadata:h.providerMetadata,response:h.response}}})});return j.setAttributes(m({telemetry:H,attributes:{"ai.embeddings":{output:()=>A.map((r)=>JSON.stringify(r))},"ai.usage.tokens":S.tokens}})),new m9({values:$,embeddings:A,usage:S,providerMetadata:n,responses:[v]})}let P=g9($,L),y=[],N=[],b=0,R,D=g9(P,O?Q:1);for(let A of D){let S=await Promise.all(A.map((v)=>{return F(()=>{return UZ({name:"ai.embedMany.doEmbed",attributes:m({telemetry:H,attributes:{...FZ({operationId:"ai.embedMany.doEmbed",telemetry:H}),...q,"ai.values":{input:()=>v.map((n)=>JSON.stringify(n))}}}),tracer:B,fn:async(n)=>{var r;let u=await K.doEmbed({values:v,abortSignal:Y,headers:U,providerOptions:W}),h=u.embeddings,$Z=(r=u.usage)!=null?r:{tokens:NaN};return n.setAttributes(m({telemetry:H,attributes:{"ai.embeddings":{output:()=>h.map((t)=>JSON.stringify(t))},"ai.usage.tokens":$Z.tokens}})),{embeddings:h,usage:$Z,providerMetadata:u.providerMetadata,response:u.response}}})})}));for(let v of S)if(y.push(...v.embeddings),N.push(v.response),b+=v.usage.tokens,v.providerMetadata)if(!R)R={...v.providerMetadata};else for(let[n,r]of Object.entries(v.providerMetadata))R[n]={...(V=R[n])!=null?V:{},...r}}return j.setAttributes(m({telemetry:H,attributes:{"ai.embeddings":{output:()=>y.map((A)=>JSON.stringify(A))},"ai.usage.tokens":b}})),new m9({values:$,embeddings:y,usage:{tokens:b},providerMetadata:R,responses:N})}})}var m9=class{constructor(Z){this.values=Z.values,this.embeddings=Z.embeddings,this.usage=Z.usage,this.providerMetadata=Z.providerMetadata,this.responses=Z.responses}};async function MK({model:Z,prompt:$,n:Q=1,maxImagesPerCall:X,size:Y,aspectRatio:J,seed:W,providerOptions:H,maxRetries:K,abortSignal:G,headers:F}){var U,q;if(Z.specificationVersion!=="v2")throw new i0({version:Z.specificationVersion,provider:Z.provider,modelId:Z.modelId});let B=o(F!=null?F:{},`ai/${CZ}`),{retry:j}=cZ({maxRetries:K,abortSignal:G}),V=(U=X!=null?X:await s4(Z))!=null?U:1,L=Math.ceil(Q/V),O=Array.from({length:L},(D,A)=>{if(A<L-1)return V;let S=Q%V;return S===0?V:S}),P=await Promise.all(O.map(async(D)=>j(()=>Z.doGenerate({prompt:$,n:D,abortSignal:G,headers:B,size:Y,aspectRatio:J,seed:W,providerOptions:H!=null?H:{}})))),y=[],N=[],b=[],R={};for(let D of P){if(y.push(...D.images.map((A)=>{var S;return new U1({data:A,mediaType:(S=G1({data:A,signatures:x5}))!=null?S:"image/png"})})),N.push(...D.warnings),D.providerMetadata)for(let[A,S]of Object.entries(D.providerMetadata))(q=R[A])!=null||(R[A]={images:[]}),R[A].images.push(...D.providerMetadata[A].images);b.push(D.response)}if(H0(N),!y.length)throw new rz({responses:b});return new n4({images:y,warnings:N,responses:b,providerMetadata:R})}var n4=class{constructor(Z){this.images=Z.images,this.warnings=Z.warnings,this.responses=Z.responses,this.providerMetadata=Z.providerMetadata}get image(){return this.images[0]}};async function s4(Z){if(!(Z.maxImagesPerCall instanceof Function))return Z.maxImagesPerCall;return Z.maxImagesPerCall({modelId:Z.modelId})}function o4(Z){let $=Z.filter((Q)=>Q.type==="reasoning");return $.length===0?void 0:$.map((Q)=>Q.text).join(`
22
- `)}var r4={type:"no-schema",jsonSchema:void 0,async validatePartialResult({value:Z,textDelta:$}){return{success:!0,value:{partial:Z,textDelta:$}}},async validateFinalResult(Z,$){return Z===void 0?{success:!1,error:new X0({message:"No object generated: response did not match schema.",text:$.text,response:$.response,usage:$.usage,finishReason:$.finishReason})}:{success:!0,value:Z}},createElementStream(){throw new u0({functionality:"element streams in no-schema mode"})}},a4=(Z)=>({type:"object",jsonSchema:Z.jsonSchema,async validatePartialResult({value:$,textDelta:Q}){return{success:!0,value:{partial:$,textDelta:Q}}},async validateFinalResult($){return qZ({value:$,schema:Z})},createElementStream(){throw new u0({functionality:"element streams in object mode"})}}),t4=(Z)=>{let{$schema:$,...Q}=Z.jsonSchema;return{type:"array",jsonSchema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:Q}},required:["elements"],additionalProperties:!1},async validatePartialResult({value:X,latestObject:Y,isFirstDelta:J,isFinalDelta:W}){var H;if(!h0(X)||!M$(X.elements))return{success:!1,error:new PZ({value:X,cause:"value must be an object that contains an array of elements"})};let K=X.elements,G=[];for(let q=0;q<K.length;q++){let B=K[q],j=await qZ({value:B,schema:Z});if(q===K.length-1&&!W)continue;if(!j.success)return j;G.push(j.value)}let F=(H=Y==null?void 0:Y.length)!=null?H:0,U="";if(J)U+="[";if(F>0)U+=",";if(U+=G.slice(F).map((q)=>JSON.stringify(q)).join(","),W)U+="]";return{success:!0,value:{partial:G,textDelta:U}}},async validateFinalResult(X){if(!h0(X)||!M$(X.elements))return{success:!1,error:new PZ({value:X,cause:"value must be an object that contains an array of elements"})};let Y=X.elements;for(let J of Y){let W=await qZ({value:J,schema:Z});if(!W.success)return W}return{success:!0,value:Y}},createElementStream(X){let Y=0;return dZ(X.pipeThrough(new TransformStream({transform(J,W){switch(J.type){case"object":{let H=J.object;for(;Y<H.length;Y++)W.enqueue(H[Y]);break}case"text-delta":case"finish":case"error":break;default:throw Error(`Unsupported chunk type: ${J}`)}}})))}}},e4=(Z)=>{return{type:"enum",jsonSchema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:Z}},required:["result"],additionalProperties:!1},async validateFinalResult($){if(!h0($)||typeof $.result!=="string")return{success:!1,error:new PZ({value:$,cause:'value must be an object that contains a string in the "result" property.'})};let Q=$.result;return Z.includes(Q)?{success:!0,value:Q}:{success:!1,error:new PZ({value:$,cause:"value must be a string in the enum"})}},async validatePartialResult({value:$,textDelta:Q}){if(!h0($)||typeof $.result!=="string")return{success:!1,error:new PZ({value:$,cause:'value must be an object that contains a string in the "result" property.'})};let X=$.result,Y=Z.filter((J)=>J.startsWith(X));if($.result.length===0||Y.length===0)return{success:!1,error:new PZ({value:$,cause:"value must be a string in the enum"})};return{success:!0,value:{partial:Y.length>1?X:Y[0],textDelta:Q}}},createElementStream(){throw new u0({functionality:"element streams in enum mode"})}}};function FJ({output:Z,schema:$,enumValues:Q}){switch(Z){case"object":return a4(MZ($));case"array":return t4(MZ($));case"enum":return e4(Q);case"no-schema":return r4;default:throw Error(`Unsupported output: ${Z}`)}}async function d9(Z,$,Q){let X=await vZ({text:Z});if(!X.success)throw new X0({message:"No object generated: could not parse the response.",cause:X.error,text:Z,response:Q.response,usage:Q.usage,finishReason:Q.finishReason});let Y=await $.validateFinalResult(X.value,{text:Z,response:Q.response,usage:Q.usage});if(!Y.success)throw new X0({message:"No object generated: response did not match schema.",cause:Y.error,text:Z,response:Q.response,usage:Q.usage,finishReason:Q.finishReason});return Y.value}async function UJ(Z,$,Q,X){try{return await d9(Z,$,X)}catch(Y){if(Q!=null&&X0.isInstance(Y)&&(v$.isInstance(Y.cause)||PZ.isInstance(Y.cause))){let J=await Q({text:Z,error:Y.cause});if(J===null)throw Y;return await d9(J,$,X)}throw Y}}function jJ({output:Z,schema:$,schemaName:Q,schemaDescription:X,enumValues:Y}){if(Z!=null&&Z!=="object"&&Z!=="array"&&Z!=="enum"&&Z!=="no-schema")throw new l({parameter:"output",value:Z,message:"Invalid output type."});if(Z==="no-schema"){if($!=null)throw new l({parameter:"schema",value:$,message:"Schema is not supported for no-schema output."});if(X!=null)throw new l({parameter:"schemaDescription",value:X,message:"Schema description is not supported for no-schema output."});if(Q!=null)throw new l({parameter:"schemaName",value:Q,message:"Schema name is not supported for no-schema output."});if(Y!=null)throw new l({parameter:"enumValues",value:Y,message:"Enum values are not supported for no-schema output."})}if(Z==="object"){if($==null)throw new l({parameter:"schema",value:$,message:"Schema is required for object output."});if(Y!=null)throw new l({parameter:"enumValues",value:Y,message:"Enum values are not supported for object output."})}if(Z==="array"){if($==null)throw new l({parameter:"schema",value:$,message:"Element schema is required for array output."});if(Y!=null)throw new l({parameter:"enumValues",value:Y,message:"Enum values are not supported for array output."})}if(Z==="enum"){if($!=null)throw new l({parameter:"schema",value:$,message:"Schema is not supported for enum output."});if(X!=null)throw new l({parameter:"schemaDescription",value:X,message:"Schema description is not supported for enum output."});if(Q!=null)throw new l({parameter:"schemaName",value:Q,message:"Schema name is not supported for enum output."});if(Y==null)throw new l({parameter:"enumValues",value:Y,message:"Enum values are required for enum output."});for(let J of Y)if(typeof J!=="string")throw new l({parameter:"enumValues",value:J,message:"Enum values must be strings."})}}var ZH=uZ({prefix:"aiobj",size:24});async function _K(Z){let{model:$,output:Q="object",system:X,prompt:Y,messages:J,maxRetries:W,abortSignal:H,headers:K,experimental_repairText:G,experimental_telemetry:F,experimental_download:U,providerOptions:q,_internal:{generateId:B=ZH,currentDate:j=()=>new Date}={},...V}=Z,L=O0($),O="enum"in Z?Z.enum:void 0,{schema:P,schemaDescription:y,schemaName:N}="schema"in Z?Z:{};jJ({output:Q,schema:P,schemaName:N,schemaDescription:y,enumValues:O});let{maxRetries:b,retry:R}=cZ({maxRetries:W,abortSignal:H}),D=FJ({output:Q,schema:P,enumValues:O}),A=J0(V),S=o(K!=null?K:{},`ai/${CZ}`),v=D0({model:L,telemetry:F,headers:S,settings:{...A,maxRetries:b}}),n=L0(F);try{return await UZ({name:"ai.generateObject",attributes:m({telemetry:F,attributes:{...FZ({operationId:"ai.generateObject",telemetry:F}),...v,"ai.prompt":{input:()=>JSON.stringify({system:X,prompt:Y,messages:J})},"ai.schema":D.jsonSchema!=null?{input:()=>JSON.stringify(D.jsonSchema)}:void 0,"ai.schema.name":N,"ai.schema.description":y,"ai.settings.output":D.type}}),tracer:n,fn:async(r)=>{var u;let h,$Z,t,KZ,jZ,IZ,s,fZ,zZ=await q1({system:X,prompt:Y,messages:J}),QZ=await K1({prompt:zZ,supportedUrls:await L.supportedUrls,download:U}),e=await R(()=>UZ({name:"ai.generateObject.doGenerate",attributes:m({telemetry:F,attributes:{...FZ({operationId:"ai.generateObject.doGenerate",telemetry:F}),...v,"ai.prompt.messages":{input:()=>F1(QZ)},"gen_ai.system":L.provider,"gen_ai.request.model":L.modelId,"gen_ai.request.frequency_penalty":A.frequencyPenalty,"gen_ai.request.max_tokens":A.maxOutputTokens,"gen_ai.request.presence_penalty":A.presencePenalty,"gen_ai.request.temperature":A.temperature,"gen_ai.request.top_k":A.topK,"gen_ai.request.top_p":A.topP}}),tracer:n,fn:async(p)=>{var NZ,OZ,VZ,c,a,LZ,i,_;let C=await L.doGenerate({responseFormat:{type:"json",schema:D.jsonSchema,name:N,description:y},...J0(V),prompt:QZ,providerOptions:q,abortSignal:H,headers:S}),f={id:(OZ=(NZ=C.response)==null?void 0:NZ.id)!=null?OZ:B(),timestamp:(c=(VZ=C.response)==null?void 0:VZ.timestamp)!=null?c:j(),modelId:(LZ=(a=C.response)==null?void 0:a.modelId)!=null?LZ:L.modelId,headers:(i=C.response)==null?void 0:i.headers,body:(_=C.response)==null?void 0:_.body},E=S$(C.content),ZZ=o4(C.content);if(E===void 0)throw new X0({message:"No object generated: the model did not return a response.",response:f,usage:C.usage,finishReason:C.finishReason});return p.setAttributes(m({telemetry:F,attributes:{"ai.response.finishReason":C.finishReason,"ai.response.object":{output:()=>E},"ai.response.id":f.id,"ai.response.model":f.modelId,"ai.response.timestamp":f.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(C.providerMetadata),"ai.usage.promptTokens":C.usage.inputTokens,"ai.usage.completionTokens":C.usage.outputTokens,"gen_ai.response.finish_reasons":[C.finishReason],"gen_ai.response.id":f.id,"gen_ai.response.model":f.modelId,"gen_ai.usage.input_tokens":C.usage.inputTokens,"gen_ai.usage.output_tokens":C.usage.outputTokens}})),{...C,objectText:E,reasoning:ZZ,responseData:f}}}));h=e.objectText,$Z=e.finishReason,t=e.usage,KZ=e.warnings,s=e.providerMetadata,IZ=(u=e.request)!=null?u:{},jZ=e.responseData,fZ=e.reasoning,H0(KZ);let WZ=await UJ(h,D,G,{response:jZ,usage:t,finishReason:$Z});return r.setAttributes(m({telemetry:F,attributes:{"ai.response.finishReason":$Z,"ai.response.object":{output:()=>JSON.stringify(WZ)},"ai.response.providerMetadata":JSON.stringify(s),"ai.usage.promptTokens":t.inputTokens,"ai.usage.completionTokens":t.outputTokens}})),new $H({object:WZ,reasoning:fZ,finishReason:$Z,usage:t,warnings:KZ,request:IZ,response:jZ,providerMetadata:s})}})}catch(r){throw B1(r)}}var $H=class{constructor(Z){this.object=Z.object,this.finishReason=Z.finishReason,this.usage=Z.usage,this.warnings=Z.warnings,this.providerMetadata=Z.providerMetadata,this.response=Z.response,this.request=Z.request,this.reasoning=Z.reasoning}toJsonResponse(Z){var $;return new Response(JSON.stringify(this.object),{status:($=Z==null?void 0:Z.status)!=null?$:200,headers:p0(Z==null?void 0:Z.headers,{"content-type":"application/json; charset=utf-8"})})}};function kK(Z,$){if(Z.length!==$.length)throw new l({parameter:"vector1,vector2",value:{vector1Length:Z.length,vector2Length:$.length},message:"Vectors must have the same length"});let Q=Z.length;if(Q===0)return 0;let X=0,Y=0,J=0;for(let W=0;W<Q;W++){let H=Z[W],K=$[W];X+=H*H,Y+=K*K,J+=H*K}return X===0||Y===0?0:J/(Math.sqrt(X)*Math.sqrt(Y))}function hK(Z){let[$,Q]=Z.split(",");if($.split(";")[0].split(":")[1]==null||Q==null)throw Error("Invalid data URL format");try{return window.atob(Q)}catch(Y){throw Error("Error decoding data URL")}}function z1(Z,$){if(Z===$)return!0;if(Z==null||$==null)return!1;if(typeof Z!=="object"&&typeof $!=="object")return Z===$;if(Z.constructor!==$.constructor)return!1;if(Z instanceof Date&&$ instanceof Date)return Z.getTime()===$.getTime();if(Array.isArray(Z)){if(Z.length!==$.length)return!1;for(let Y=0;Y<Z.length;Y++)if(!z1(Z[Y],$[Y]))return!1;return!0}let Q=Object.keys(Z),X=Object.keys($);if(Q.length!==X.length)return!1;for(let Y of Q){if(!X.includes(Y))return!1;if(!z1(Z[Y],$[Y]))return!1}return!0}var QH=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(this.isProcessing)return;this.isProcessing=!0;while(this.queue.length>0)await this.queue[0](),this.queue.shift();this.isProcessing=!1}async run(Z){return new Promise(($,Q)=>{this.queue.push(async()=>{try{await Z(),$()}catch(X){Q(X)}}),this.processQueue()})}};function mK({chunks:Z,initialDelayInMs:$=0,chunkDelayInMs:Q=0,_internal:X}){var Y;let J=(Y=X==null?void 0:X.delay)!=null?Y:V0,W=0;return new ReadableStream({async pull(H){if(W<Z.length)await J(W===0?$:Q),H.enqueue(Z[W++]);else H.close()}})}var XH=uZ({prefix:"aiobj",size:24});function dK(Z){let{model:$,output:Q="object",system:X,prompt:Y,messages:J,maxRetries:W,abortSignal:H,headers:K,experimental_repairText:G,experimental_telemetry:F,experimental_download:U,providerOptions:q,onError:B=({error:A})=>{console.error(A)},onFinish:j,_internal:{generateId:V=XH,currentDate:L=()=>new Date,now:O=qJ}={},...P}=Z,y="enum"in Z&&Z.enum?Z.enum:void 0,{schema:N,schemaDescription:b,schemaName:R}="schema"in Z?Z:{};jJ({output:Q,schema:N,schemaName:R,schemaDescription:b,enumValues:y});let D=FJ({output:Q,schema:N,enumValues:y});return new JH({model:$,telemetry:F,headers:K,settings:P,maxRetries:W,abortSignal:H,outputStrategy:D,system:X,prompt:Y,messages:J,schemaName:R,schemaDescription:b,providerOptions:q,repairText:G,onError:B,onFinish:j,download:U,generateId:V,currentDate:L,now:O})}var JH=class{constructor({model:Z,headers:$,telemetry:Q,settings:X,maxRetries:Y,abortSignal:J,outputStrategy:W,system:H,prompt:K,messages:G,schemaName:F,schemaDescription:U,providerOptions:q,repairText:B,onError:j,onFinish:V,download:L,generateId:O,currentDate:P,now:y}){this._object=new TZ,this._usage=new TZ,this._providerMetadata=new TZ,this._warnings=new TZ,this._request=new TZ,this._response=new TZ,this._finishReason=new TZ;let N=O0(Z),{maxRetries:b,retry:R}=cZ({maxRetries:Y,abortSignal:J}),D=J0(X),A=D0({model:N,telemetry:Q,headers:$,settings:{...D,maxRetries:b}}),S=L0(Q),v=this,n=KJ(),r=new TransformStream({transform(u,h){if(h.enqueue(u),u.type==="error")j({error:B1(u.error)})}});this.baseStream=n.stream.pipeThrough(r),UZ({name:"ai.streamObject",attributes:m({telemetry:Q,attributes:{...FZ({operationId:"ai.streamObject",telemetry:Q}),...A,"ai.prompt":{input:()=>JSON.stringify({system:H,prompt:K,messages:G})},"ai.schema":W.jsonSchema!=null?{input:()=>JSON.stringify(W.jsonSchema)}:void 0,"ai.schema.name":F,"ai.schema.description":U,"ai.settings.output":W.type}}),tracer:S,endWhenDone:!1,fn:async(u)=>{let h=await q1({system:H,prompt:K,messages:G}),$Z={responseFormat:{type:"json",schema:W.jsonSchema,name:F,description:U},...J0(X),prompt:await K1({prompt:h,supportedUrls:await N.supportedUrls,download:L}),providerOptions:q,abortSignal:J,headers:$,includeRawChunks:!1},t={transform:(f,E)=>{switch(f.type){case"text-delta":E.enqueue(f.delta);break;case"response-metadata":case"finish":case"error":case"stream-start":E.enqueue(f);break}}},{result:{stream:KZ,response:jZ,request:IZ},doStreamSpan:s,startTimestampMs:fZ}=await R(()=>UZ({name:"ai.streamObject.doStream",attributes:m({telemetry:Q,attributes:{...FZ({operationId:"ai.streamObject.doStream",telemetry:Q}),...A,"ai.prompt.messages":{input:()=>F1($Z.prompt)},"gen_ai.system":N.provider,"gen_ai.request.model":N.modelId,"gen_ai.request.frequency_penalty":D.frequencyPenalty,"gen_ai.request.max_tokens":D.maxOutputTokens,"gen_ai.request.presence_penalty":D.presencePenalty,"gen_ai.request.temperature":D.temperature,"gen_ai.request.top_k":D.topK,"gen_ai.request.top_p":D.topP}}),tracer:S,endWhenDone:!1,fn:async(f)=>({startTimestampMs:y(),doStreamSpan:f,result:await N.doStream($Z)})}));v._request.resolve(IZ!=null?IZ:{});let zZ,QZ={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},e,WZ,p,NZ,OZ="",VZ="",c={id:O(),timestamp:P(),modelId:N.modelId},a=void 0,LZ=void 0,i=!0,_=!0,C=KZ.pipeThrough(new TransformStream(t)).pipeThrough(new TransformStream({async transform(f,E){var ZZ,wZ,w;if(typeof f==="object"&&f.type==="stream-start"){zZ=f.warnings;return}if(i){let x=y()-fZ;i=!1,s.addEvent("ai.stream.firstChunk",{"ai.stream.msToFirstChunk":x}),s.setAttributes({"ai.stream.msToFirstChunk":x})}if(typeof f==="string"){OZ+=f,VZ+=f;let{value:x,state:bZ}=await k$(OZ);if(x!==void 0&&!z1(a,x)){let g=await W.validatePartialResult({value:x,textDelta:VZ,latestObject:LZ,isFirstDelta:_,isFinalDelta:bZ==="successful-parse"});if(g.success&&!z1(LZ,g.value.partial))a=x,LZ=g.value.partial,E.enqueue({type:"object",object:LZ}),E.enqueue({type:"text-delta",textDelta:g.value.textDelta}),VZ="",_=!1}return}switch(f.type){case"response-metadata":{c={id:(ZZ=f.id)!=null?ZZ:c.id,timestamp:(wZ=f.timestamp)!=null?wZ:c.timestamp,modelId:(w=f.modelId)!=null?w:c.modelId};break}case"finish":{if(VZ!=="")E.enqueue({type:"text-delta",textDelta:VZ});e=f.finishReason,QZ=f.usage,WZ=f.providerMetadata,E.enqueue({...f,usage:QZ,response:c}),H0(zZ!=null?zZ:[]),v._usage.resolve(QZ),v._providerMetadata.resolve(WZ),v._warnings.resolve(zZ),v._response.resolve({...c,headers:jZ==null?void 0:jZ.headers}),v._finishReason.resolve(e!=null?e:"unknown");try{p=await UJ(OZ,W,B,{response:c,usage:QZ,finishReason:e}),v._object.resolve(p)}catch(x){NZ=x,v._object.reject(x)}break}default:{E.enqueue(f);break}}},async flush(f){try{let E=QZ!=null?QZ:{promptTokens:NaN,completionTokens:NaN,totalTokens:NaN};s.setAttributes(m({telemetry:Q,attributes:{"ai.response.finishReason":e,"ai.response.object":{output:()=>JSON.stringify(p)},"ai.response.id":c.id,"ai.response.model":c.modelId,"ai.response.timestamp":c.timestamp.toISOString(),"ai.response.providerMetadata":JSON.stringify(WZ),"ai.usage.inputTokens":E.inputTokens,"ai.usage.outputTokens":E.outputTokens,"ai.usage.totalTokens":E.totalTokens,"ai.usage.reasoningTokens":E.reasoningTokens,"ai.usage.cachedInputTokens":E.cachedInputTokens,"gen_ai.response.finish_reasons":[e],"gen_ai.response.id":c.id,"gen_ai.response.model":c.modelId,"gen_ai.usage.input_tokens":E.inputTokens,"gen_ai.usage.output_tokens":E.outputTokens}})),s.end(),u.setAttributes(m({telemetry:Q,attributes:{"ai.usage.inputTokens":E.inputTokens,"ai.usage.outputTokens":E.outputTokens,"ai.usage.totalTokens":E.totalTokens,"ai.usage.reasoningTokens":E.reasoningTokens,"ai.usage.cachedInputTokens":E.cachedInputTokens,"ai.response.object":{output:()=>JSON.stringify(p)},"ai.response.providerMetadata":JSON.stringify(WZ)}})),await(V==null?void 0:V({usage:E,object:p,error:NZ,response:{...c,headers:jZ==null?void 0:jZ.headers},warnings:zZ,providerMetadata:WZ}))}catch(E){f.enqueue({type:"error",error:E})}finally{u.end()}}}));n.addStream(C)}}).catch((u)=>{n.addStream(new ReadableStream({start(h){h.enqueue({type:"error",error:u}),h.close()}}))}).finally(()=>{n.close()}),this.outputStrategy=W}get object(){return this._object.promise}get usage(){return this._usage.promise}get providerMetadata(){return this._providerMetadata.promise}get warnings(){return this._warnings.promise}get request(){return this._request.promise}get response(){return this._response.promise}get finishReason(){return this._finishReason.promise}get partialObjectStream(){return dZ(this.baseStream.pipeThrough(new TransformStream({transform(Z,$){switch(Z.type){case"object":$.enqueue(Z.object);break;case"text-delta":case"finish":case"error":break;default:throw Error(`Unsupported chunk type: ${Z}`)}}})))}get elementStream(){return this.outputStrategy.createElementStream(this.baseStream)}get textStream(){return dZ(this.baseStream.pipeThrough(new TransformStream({transform(Z,$){switch(Z.type){case"text-delta":$.enqueue(Z.textDelta);break;case"object":case"finish":case"error":break;default:throw Error(`Unsupported chunk type: ${Z}`)}}})))}get fullStream(){return dZ(this.baseStream)}pipeTextStreamToResponse(Z,$){YJ({response:Z,textStream:this.textStream,...$})}toTextStreamResponse(Z){return XJ({textStream:this.textStream,...Z})}},YH=class extends U1{constructor({data:Z,mediaType:$}){super({data:Z,mediaType:$});let Q="mp3";if($){let X=$.split("/");if(X.length===2){if($!=="audio/mpeg")Q=X[1]}}if(!Q)throw Error("Audio format must be provided or determinable from media type");this.format=Q}};async function cK({model:Z,text:$,voice:Q,outputFormat:X,instructions:Y,speed:J,language:W,providerOptions:H={},maxRetries:K,abortSignal:G,headers:F}){var U;if(Z.specificationVersion!=="v2")throw new i0({version:Z.specificationVersion,provider:Z.provider,modelId:Z.modelId});let q=o(F!=null?F:{},`ai/${CZ}`),{retry:B}=cZ({maxRetries:K,abortSignal:G}),j=await B(()=>Z.doGenerate({text:$,voice:Q,outputFormat:X,instructions:Y,speed:J,language:W,abortSignal:G,headers:q,providerOptions:H}));if(!j.audio||j.audio.length===0)throw new Z4({responses:[j.response]});return H0(j.warnings),new zH({audio:new YH({data:j.audio,mediaType:(U=G1({data:j.audio,signatures:k5}))!=null?U:"audio/mp3"}),warnings:j.warnings,responses:[j.response],providerMetadata:j.providerMetadata})}var zH=class{constructor(Z){var $;this.audio=Z.audio,this.warnings=Z.warnings,this.responses=Z.responses,this.providerMetadata=($=Z.providerMetadata)!=null?$:{}}},HH={};uz(HH,{object:()=>GH,text:()=>WH});var WH=()=>({type:"text",responseFormat:{type:"text"},async parsePartial({text:Z}){return{partial:Z}},async parseOutput({text:Z}){return Z}}),GH=({schema:Z})=>{let $=MZ(Z);return{type:"object",responseFormat:{type:"json",schema:$.jsonSchema},async parsePartial({text:Q}){let X=await k$(Q);switch(X.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:X.value};default:{let Y=X.state;throw Error(`Unsupported parse state: ${Y}`)}}},async parseOutput({text:Q},X){let Y=await vZ({text:Q});if(!Y.success)throw new X0({message:"No object generated: could not parse the response.",cause:Y.error,text:Q,response:X.response,usage:X.usage,finishReason:X.finishReason});let J=await qZ({value:Y.value,schema:$});if(!J.success)throw new X0({message:"No object generated: response did not match schema.",cause:J.error,text:Q,response:X.response,usage:X.usage,finishReason:X.finishReason});return J.value}}};function pK({messages:Z,reasoning:$="none",toolCalls:Q=[],emptyMessages:X="remove"}){if($==="all"||$==="before-last-message")Z=Z.map((Y,J)=>{if(Y.role!=="assistant"||typeof Y.content==="string"||$==="before-last-message"&&J===Z.length-1)return Y;return{...Y,content:Y.content.filter((W)=>W.type!=="reasoning")}});if(Q==="none")Q=[];else if(Q==="all")Q=[{type:"all"}];else if(Q==="before-last-message")Q=[{type:"before-last-message"}];else if(typeof Q==="string")Q=[{type:Q}];for(let Y of Q){let J=Y.type==="all"?void 0:Y.type==="before-last-message"?1:Number(Y.type.slice(12).slice(0,-9)),W=new Set,H=new Set;if(J!=null){for(let K of Z.slice(0,-J))if((K.role==="assistant"||K.role==="tool")&&typeof K.content!=="string"){for(let G of K.content)if(G.type==="tool-call"||G.type==="tool-result")W.add(G.toolCallId)}}Z=Z.map((K,G)=>{if(K.role!=="assistant"&&K.role!=="tool"||typeof K.content==="string"||J&&G>=Z.length-J)return K;let F={};return{...K,content:K.content.filter((U)=>{if(U.type!=="tool-call"&&U.type!=="tool-result")return!0;if(U.type==="tool-call")F[U.toolCallId]=U.toolName;if((U.type==="tool-call"||U.type==="tool-result")&&W.has(U.toolCallId))return!0;return Y.tools!=null&&!Y.tools.includes(U.toolName)})}})}if(X==="remove")Z=Z.filter((Y)=>Y.content.length>0);return Z}var KH={word:/\S+\s+/m,line:/\n+/m};function sK({delayInMs:Z=10,chunking:$="word",_internal:{delay:Q=V0}={}}={}){let X;if(typeof $==="function")X=(Y)=>{let J=$(Y);if(J==null)return null;if(!J.length)throw Error("Chunking function must return a non-empty string.");if(!Y.startsWith(J))throw Error(`Chunking function must return a match that is a prefix of the buffer. Received: "${J}" expected to start with "${Y}"`);return J};else{let Y=typeof $==="string"?KH[$]:$;if(Y==null)throw new u9({argument:"chunking",message:`Chunking must be "word" or "line" or a RegExp. Received: ${$}`});X=(J)=>{let W=Y.exec(J);if(!W)return null;return J.slice(0,W.index)+(W==null?void 0:W[0])}}return()=>{let Y="",J="";return new TransformStream({async transform(W,H){if(W.type!=="text-delta"){if(Y.length>0)H.enqueue({type:"text-delta",text:Y,id:J}),Y="";H.enqueue(W);return}if(W.id!==J&&Y.length>0)H.enqueue({type:"text-delta",text:Y,id:J}),Y="";Y+=W.text,J=W.id;let K;while((K=X(Y))!=null)H.enqueue({type:"text-delta",text:K,id:J}),Y=Y.slice(K.length),await Q(Z)}})}}function oK({settings:Z}){return{middlewareVersion:"v2",transformParams:async({params:$})=>{return x$(Z,$)}}}function qH(Z,$){if($.length===0)return null;let Q=Z.indexOf($);if(Q!==-1)return Q;for(let X=Z.length-1;X>=0;X--){let Y=Z.substring(X);if($.startsWith(Y))return X}return null}function rK({tagName:Z,separator:$=`
23
- `,startWithReasoning:Q=!1}){let X=`<${Z}>`,Y=`</${Z}>`;return{middlewareVersion:"v2",wrapGenerate:async({doGenerate:J})=>{let{content:W,...H}=await J(),K=[];for(let G of W){if(G.type!=="text"){K.push(G);continue}let F=Q?X+G.text:G.text,U=new RegExp(`${X}(.*?)${Y}`,"gs"),q=Array.from(F.matchAll(U));if(!q.length){K.push(G);continue}let B=q.map((V)=>V[1]).join($),j=F;for(let V=q.length-1;V>=0;V--){let L=q[V],O=j.slice(0,L.index),P=j.slice(L.index+L[0].length);j=O+(O.length>0&&P.length>0?$:"")+P}K.push({type:"reasoning",text:B}),K.push({type:"text",text:j})}return{content:K,...H}},wrapStream:async({doStream:J})=>{let{stream:W,...H}=await J(),K={},G;return{stream:W.pipeThrough(new TransformStream({transform:(F,U)=>{if(F.type==="text-start"){G=F;return}if(F.type==="text-end"&&G)U.enqueue(G),G=void 0;if(F.type!=="text-delta"){U.enqueue(F);return}if(K[F.id]==null)K[F.id]={isFirstReasoning:!0,isFirstText:!0,afterSwitch:!1,isReasoning:Q,buffer:"",idCounter:0,textId:F.id};let q=K[F.id];q.buffer+=F.delta;function B(j){if(j.length>0){let V=q.afterSwitch&&(q.isReasoning?!q.isFirstReasoning:!q.isFirstText)?$:"";if(q.isReasoning&&(q.afterSwitch||q.isFirstReasoning))U.enqueue({type:"reasoning-start",id:`reasoning-${q.idCounter}`});if(q.isReasoning)U.enqueue({type:"reasoning-delta",delta:V+j,id:`reasoning-${q.idCounter}`});else{if(G)U.enqueue(G),G=void 0;U.enqueue({type:"text-delta",delta:V+j,id:q.textId})}if(q.afterSwitch=!1,q.isReasoning)q.isFirstReasoning=!1;else q.isFirstText=!1}}do{let j=q.isReasoning?Y:X,V=qH(q.buffer,j);if(V==null){B(q.buffer),q.buffer="";break}if(B(q.buffer.slice(0,V)),V+j.length<=q.buffer.length){if(q.buffer=q.buffer.slice(V+j.length),q.isReasoning)U.enqueue({type:"reasoning-end",id:`reasoning-${q.idCounter++}`});q.isReasoning=!q.isReasoning,q.afterSwitch=!0}else{q.buffer=q.buffer.slice(V);break}}while(!0)}})),...H}}}}function aK(){return{middlewareVersion:"v2",wrapStream:async({doGenerate:Z})=>{let $=await Z(),Q=0;return{stream:new ReadableStream({start(Y){Y.enqueue({type:"stream-start",warnings:$.warnings}),Y.enqueue({type:"response-metadata",...$.response});for(let J of $.content)switch(J.type){case"text":{if(J.text.length>0)Y.enqueue({type:"text-start",id:String(Q)}),Y.enqueue({type:"text-delta",id:String(Q),delta:J.text}),Y.enqueue({type:"text-end",id:String(Q)}),Q++;break}case"reasoning":{Y.enqueue({type:"reasoning-start",id:String(Q),providerMetadata:J.providerMetadata}),Y.enqueue({type:"reasoning-delta",id:String(Q),delta:J.text}),Y.enqueue({type:"reasoning-end",id:String(Q)}),Q++;break}default:{Y.enqueue(J);break}}Y.enqueue({type:"finish",finishReason:$.finishReason,usage:$.usage,providerMetadata:$.providerMetadata}),Y.close()}}),request:$.request,response:$.response}}}}var NJ=({model:Z,middleware:$,modelId:Q,providerId:X})=>{return[...J1($)].reverse().reduce((Y,J)=>{return BH({model:Y,middleware:J,modelId:Q,providerId:X})},Z)},BH=({model:Z,middleware:{transformParams:$,wrapGenerate:Q,wrapStream:X,overrideProvider:Y,overrideModelId:J,overrideSupportedUrls:W},modelId:H,providerId:K})=>{var G,F,U;async function q({params:B,type:j}){return $?await $({params:B,type:j,model:Z}):B}return{specificationVersion:"v2",provider:(G=K!=null?K:Y==null?void 0:Y({model:Z}))!=null?G:Z.provider,modelId:(F=H!=null?H:J==null?void 0:J({model:Z}))!=null?F:Z.modelId,supportedUrls:(U=W==null?void 0:W({model:Z}))!=null?U:Z.supportedUrls,async doGenerate(B){let j=await q({params:B,type:"generate"}),V=async()=>Z.doGenerate(j);return Q?Q({doGenerate:V,doStream:async()=>Z.doStream(j),params:j,model:Z}):V()},async doStream(B){let j=await q({params:B,type:"stream"}),V=async()=>Z.doGenerate(j),L=async()=>Z.doStream(j);return X?X({doGenerate:V,doStream:L,params:j,model:Z}):L()}}};function tK({provider:Z,languageModelMiddleware:$}){return{languageModel(X){let Y=Z.languageModel(X);return Y=NJ({model:Y,middleware:$}),Y},textEmbeddingModel:Z.textEmbeddingModel,imageModel:Z.imageModel,transcriptionModel:Z.transcriptionModel,speechModel:Z.speechModel}}function FH({languageModels:Z,textEmbeddingModels:$,imageModels:Q,transcriptionModels:X,speechModels:Y,fallbackProvider:J}){return{languageModel(W){if(Z!=null&&W in Z)return Z[W];if(J)return J.languageModel(W);throw new YZ({modelId:W,modelType:"languageModel"})},textEmbeddingModel(W){if($!=null&&W in $)return $[W];if(J)return J.textEmbeddingModel(W);throw new YZ({modelId:W,modelType:"textEmbeddingModel"})},imageModel(W){if(Q!=null&&W in Q)return Q[W];if(J==null?void 0:J.imageModel)return J.imageModel(W);throw new YZ({modelId:W,modelType:"imageModel"})},transcriptionModel(W){if(X!=null&&W in X)return X[W];if(J==null?void 0:J.transcriptionModel)return J.transcriptionModel(W);throw new YZ({modelId:W,modelType:"transcriptionModel"})},speechModel(W){if(Y!=null&&W in Y)return Y[W];if(J==null?void 0:J.speechModel)return J.speechModel(W);throw new YZ({modelId:W,modelType:"speechModel"})}}}var Zq=FH,OJ="AI_NoSuchProviderError",VJ=`vercel.ai.error.${OJ}`,UH=Symbol.for(VJ),DJ,jH=class extends YZ{constructor({modelId:Z,modelType:$,providerId:Q,availableProviders:X,message:Y=`No such provider: ${Q} (available providers: ${X.join()})`}){super({errorName:OJ,modelId:Z,modelType:$,message:Y});this[DJ]=!0,this.providerId=Q,this.availableProviders=X}static isInstance(Z){return I.hasMarker(Z,VJ)}};DJ=UH;function NH(Z,{separator:$=":",languageModelMiddleware:Q}={}){let X=new OH({separator:$,languageModelMiddleware:Q});for(let[Y,J]of Object.entries(Z))X.registerProvider({id:Y,provider:J});return X}var Xq=NH,OH=class{constructor({separator:Z,languageModelMiddleware:$}){this.providers={},this.separator=Z,this.languageModelMiddleware=$}registerProvider({id:Z,provider:$}){this.providers[Z]=$}getProvider(Z,$){let Q=this.providers[Z];if(Q==null)throw new jH({modelId:Z,modelType:$,providerId:Z,availableProviders:Object.keys(this.providers)});return Q}splitId(Z,$){let Q=Z.indexOf(this.separator);if(Q===-1)throw new YZ({modelId:Z,modelType:$,message:`Invalid ${$} id for registry: ${Z} (must be in the format "providerId${this.separator}modelId")`});return[Z.slice(0,Q),Z.slice(Q+this.separator.length)]}languageModel(Z){var $,Q;let[X,Y]=this.splitId(Z,"languageModel"),J=(Q=($=this.getProvider(X,"languageModel")).languageModel)==null?void 0:Q.call($,Y);if(J==null)throw new YZ({modelId:Z,modelType:"languageModel"});if(this.languageModelMiddleware!=null)J=NJ({model:J,middleware:this.languageModelMiddleware});return J}textEmbeddingModel(Z){var $;let[Q,X]=this.splitId(Z,"textEmbeddingModel"),Y=this.getProvider(Q,"textEmbeddingModel"),J=($=Y.textEmbeddingModel)==null?void 0:$.call(Y,X);if(J==null)throw new YZ({modelId:Z,modelType:"textEmbeddingModel"});return J}imageModel(Z){var $;let[Q,X]=this.splitId(Z,"imageModel"),Y=this.getProvider(Q,"imageModel"),J=($=Y.imageModel)==null?void 0:$.call(Y,X);if(J==null)throw new YZ({modelId:Z,modelType:"imageModel"});return J}transcriptionModel(Z){var $;let[Q,X]=this.splitId(Z,"transcriptionModel"),Y=this.getProvider(Q,"transcriptionModel"),J=($=Y.transcriptionModel)==null?void 0:$.call(Y,X);if(J==null)throw new YZ({modelId:Z,modelType:"transcriptionModel"});return J}speechModel(Z){var $;let[Q,X]=this.splitId(Z,"speechModel"),Y=this.getProvider(Q,"speechModel"),J=($=Y.speechModel)==null?void 0:$.call(Y,X);if(J==null)throw new YZ({modelId:Z,modelType:"speechModel"});return J}},VH=class extends I{constructor(Z){super({name:"AI_NoTranscriptGeneratedError",message:"No transcript generated."});this.responses=Z.responses}};async function zq({model:Z,audio:$,providerOptions:Q={},maxRetries:X,abortSignal:Y,headers:J}){if(Z.specificationVersion!=="v2")throw new i0({version:Z.specificationVersion,provider:Z.provider,modelId:Z.modelId});let{retry:W}=cZ({maxRetries:X,abortSignal:Y}),H=o(J!=null?J:{},`ai/${CZ}`),K=$ instanceof URL?(await h5({url:$})).data:N4($),G=await W(()=>{var F;return Z.doGenerate({audio:K,abortSignal:Y,headers:H,providerOptions:Q,mediaType:(F=G1({data:K,signatures:k5}))!=null?F:"audio/wav"})});if(H0(G.warnings),!G.text)throw new VH({responses:[G.response]});return new DH({text:G.text,segments:G.segments,language:G.language,durationInSeconds:G.durationInSeconds,warnings:G.warnings,responses:[G.response],providerMetadata:G.providerMetadata})}var DH=class{constructor(Z){var $;this.text=Z.text,this.segments=Z.segments,this.language=Z.language,this.durationInSeconds=Z.durationInSeconds,this.warnings=Z.warnings,this.responses=Z.responses,this.providerMetadata=($=Z.providerMetadata)!=null?$:{}}};async function LH({stream:Z,onTextPart:$}){let Q=Z.pipeThrough(new TextDecoderStream).getReader();while(!0){let{done:X,value:Y}=await Q.read();if(X)break;await $(Y)}}var wH=()=>fetch;async function Wq({api:Z,prompt:$,credentials:Q,headers:X,body:Y,streamProtocol:J="data",setCompletion:W,setLoading:H,setError:K,setAbortController:G,onFinish:F,onError:U,fetch:q=wH()}){var B;try{H(!0),K(void 0);let j=new AbortController;G(j),W("");let V=await q(Z,{method:"POST",body:JSON.stringify({prompt:$,...Y}),credentials:Q,headers:o({"Content-Type":"application/json",...X},`ai-sdk/${CZ}`,Q0()),signal:j.signal}).catch((O)=>{throw O});if(!V.ok)throw Error((B=await V.text())!=null?B:"Failed to fetch the chat response.");if(!V.body)throw Error("The response body is empty.");let L="";switch(J){case"text":{await LH({stream:V.body,onTextPart:(O)=>{L+=O,W(L)}});break}case"data":{await j1({stream:c0({stream:V.body,schema:WJ}).pipeThrough(new TransformStream({async transform(O){if(!O.success)throw O.error;let P=O.value;if(P.type==="text-delta")L+=P.delta,W(L);else if(P.type==="error")throw Error(P.errorText)}})),onError:(O)=>{throw O}});break}default:throw Error(`Unknown stream protocol: ${J}`)}if(F)F($,L);return G(null),L}catch(j){if(j.name==="AbortError")return G(null),null;if(j instanceof Error){if(U)U(j)}K(j)}finally{H(!1)}}async function AH(Z){if(Z==null)return[];if(!globalThis.FileList||!(Z instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(Z).map(async($)=>{let{name:Q,type:X}=$,Y=await new Promise((J,W)=>{let H=new FileReader;H.onload=(K)=>{var G;J((G=K.target)==null?void 0:G.result)},H.onerror=(K)=>W(K),H.readAsDataURL($)});return{type:"file",mediaType:X,filename:Q,url:Y}}))}var LJ=class{constructor({api:Z="/api/chat",credentials:$,headers:Q,body:X,fetch:Y,prepareSendMessagesRequest:J,prepareReconnectToStreamRequest:W}){this.api=Z,this.credentials=$,this.headers=Q,this.body=X,this.fetch=Y,this.prepareSendMessagesRequest=J,this.prepareReconnectToStreamRequest=W}async sendMessages({abortSignal:Z,...$}){var Q,X,Y,J,W;let H=await JZ(this.body),K=await JZ(this.headers),G=await JZ(this.credentials),F={...$0(K),...$0($.headers)},U=await((Q=this.prepareSendMessagesRequest)==null?void 0:Q.call(this,{api:this.api,id:$.chatId,messages:$.messages,body:{...H,...$.body},headers:F,credentials:G,requestMetadata:$.metadata,trigger:$.trigger,messageId:$.messageId})),q=(X=U==null?void 0:U.api)!=null?X:this.api,B=(U==null?void 0:U.headers)!==void 0?$0(U.headers):F,j=(U==null?void 0:U.body)!==void 0?U.body:{...H,...$.body,id:$.chatId,messages:$.messages,trigger:$.trigger,messageId:$.messageId},V=(Y=U==null?void 0:U.credentials)!=null?Y:G,O=await((J=this.fetch)!=null?J:globalThis.fetch)(q,{method:"POST",headers:o({"Content-Type":"application/json",...B},`ai-sdk/${CZ}`,Q0()),body:JSON.stringify(j),credentials:V,signal:Z});if(!O.ok)throw Error((W=await O.text())!=null?W:"Failed to fetch the chat response.");if(!O.body)throw Error("The response body is empty.");return this.processResponseStream(O.body)}async reconnectToStream(Z){var $,Q,X,Y,J;let W=await JZ(this.body),H=await JZ(this.headers),K=await JZ(this.credentials),G={...$0(H),...$0(Z.headers)},F=await(($=this.prepareReconnectToStreamRequest)==null?void 0:$.call(this,{api:this.api,id:Z.chatId,body:{...W,...Z.body},headers:G,credentials:K,requestMetadata:Z.metadata})),U=(Q=F==null?void 0:F.api)!=null?Q:`${this.api}/${Z.chatId}/stream`,q=(F==null?void 0:F.headers)!==void 0?$0(F.headers):G,B=(X=F==null?void 0:F.credentials)!=null?X:K,V=await((Y=this.fetch)!=null?Y:globalThis.fetch)(U,{method:"GET",headers:o(q,`ai-sdk/${CZ}`,Q0()),credentials:B});if(V.status===204)return null;if(!V.ok)throw Error((J=await V.text())!=null?J:"Failed to fetch the chat response.");if(!V.body)throw Error("The response body is empty.");return this.processResponseStream(V.body)}},EH=class extends LJ{constructor(Z={}){super(Z)}processResponseStream(Z){return c0({stream:Z,schema:WJ}).pipeThrough(new TransformStream({async transform($,Q){if(!$.success)throw $.error;Q.enqueue($.value)}}))}},Bq=class{constructor({generateId:Z=Y0,id:$=Z(),transport:Q=new EH,messageMetadataSchema:X,dataPartSchemas:Y,state:J,onError:W,onToolCall:H,onFinish:K,onData:G,sendAutomaticallyWhen:F}){this.activeResponse=void 0,this.jobExecutor=new QH,this.sendMessage=async(U,q)=>{var B,j,V,L;if(U==null){await this.makeRequest({trigger:"submit-message",messageId:(B=this.lastMessage)==null?void 0:B.id,...q});return}let O;if("text"in U||"files"in U)O={parts:[...Array.isArray(U.files)?U.files:await AH(U.files),..."text"in U&&U.text!=null?[{type:"text",text:U.text}]:[]]};else O=U;if(U.messageId!=null){let P=this.state.messages.findIndex((y)=>y.id===U.messageId);if(P===-1)throw Error(`message with id ${U.messageId} not found`);if(this.state.messages[P].role!=="user")throw Error(`message with id ${U.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,P+1),this.state.replaceMessage(P,{...O,id:U.messageId,role:(j=O.role)!=null?j:"user",metadata:U.metadata})}else this.state.pushMessage({...O,id:(V=O.id)!=null?V:this.generateId(),role:(L=O.role)!=null?L:"user",metadata:U.metadata});await this.makeRequest({trigger:"submit-message",messageId:U.messageId,...q})},this.regenerate=async({messageId:U,...q}={})=>{let B=U==null?this.state.messages.length-1:this.state.messages.findIndex((j)=>j.id===U);if(B===-1)throw Error(`message ${U} not found`);this.state.messages=this.state.messages.slice(0,this.messages[B].role==="assistant"?B:B+1),await this.makeRequest({trigger:"regenerate-message",messageId:U,...q})},this.resumeStream=async(U={})=>{await this.makeRequest({trigger:"resume-stream",...U})},this.clearError=()=>{if(this.status==="error")this.state.error=void 0,this.setStatus({status:"ready"})},this.addToolResult=async({state:U="output-available",tool:q,toolCallId:B,output:j,errorText:V})=>this.jobExecutor.run(async()=>{var L,O;let P=this.state.messages,y=P[P.length-1];if(this.state.replaceMessage(P.length-1,{...y,parts:y.parts.map((N)=>d0(N)&&N.toolCallId===B?{...N,state:U,output:j,errorText:V}:N)}),this.activeResponse)this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map((N)=>d0(N)&&N.toolCallId===B?{...N,state:U,output:j,errorText:V}:N);if(this.status!=="streaming"&&this.status!=="submitted"&&((L=this.sendAutomaticallyWhen)==null?void 0:L.call(this,{messages:this.state.messages})))this.makeRequest({trigger:"submit-message",messageId:(O=this.lastMessage)==null?void 0:O.id})}),this.stop=async()=>{var U;if(this.status!=="streaming"&&this.status!=="submitted")return;if((U=this.activeResponse)==null?void 0:U.abortController)this.activeResponse.abortController.abort()},this.id=$,this.transport=Q,this.generateId=Z,this.messageMetadataSchema=X,this.dataPartSchemas=Y,this.state=J,this.onError=W,this.onToolCall=H,this.onFinish=K,this.onData=G,this.sendAutomaticallyWhen=F}get status(){return this.state.status}setStatus({status:Z,error:$}){if(this.status===Z)return;this.state.status=Z,this.state.error=$}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(Z){this.state.messages=Z}async makeRequest({trigger:Z,metadata:$,headers:Q,body:X,messageId:Y}){var J,W,H;this.setStatus({status:"submitted",error:void 0});let K=this.lastMessage,G=!1,F=!1,U=!1;try{let q={state:g$({lastMessage:this.state.snapshot(K),messageId:this.generateId()}),abortController:new AbortController};q.abortController.signal.addEventListener("abort",()=>{G=!0}),this.activeResponse=q;let B;if(Z==="resume-stream"){let V=await this.transport.reconnectToStream({chatId:this.id,metadata:$,headers:Q,body:X});if(V==null){this.setStatus({status:"ready"});return}B=V}else B=await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:q.abortController.signal,metadata:$,headers:Q,body:X,trigger:Z,messageId:Y});let j=(V)=>this.jobExecutor.run(()=>V({state:q.state,write:()=>{var L;if(this.setStatus({status:"streaming"}),q.state.message.id===((L=this.lastMessage)==null?void 0:L.id))this.state.replaceMessage(this.state.messages.length-1,q.state.message);else this.state.pushMessage(q.state.message)}}));await j1({stream:m$({stream:B,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:j,onError:(V)=>{throw V}}),onError:(V)=>{throw V}}),this.setStatus({status:"ready"})}catch(q){if(G||q.name==="AbortError")return G=!0,this.setStatus({status:"ready"}),null;if(U=!0,q instanceof TypeError&&(q.message.toLowerCase().includes("fetch")||q.message.toLowerCase().includes("network")))F=!0;if(this.onError&&q instanceof Error)this.onError(q);this.setStatus({status:"error",error:q})}finally{try{(J=this.onFinish)==null||J.call(this,{message:this.activeResponse.state.message,messages:this.state.messages,isAbort:G,isDisconnect:F,isError:U})}catch(q){console.error(q)}this.activeResponse=void 0}if(((W=this.sendAutomaticallyWhen)==null?void 0:W.call(this,{messages:this.state.messages}))&&!U)await this.makeRequest({trigger:"submit-message",messageId:(H=this.lastMessage)==null?void 0:H.id,metadata:$,headers:Q,body:X})}};function Fq({messages:Z}){let $=Z[Z.length-1];if(!$)return!1;if($.role!=="assistant")return!1;let Q=$.parts.reduce((Y,J,W)=>{return J.type==="step-start"?W:Y},-1),X=$.parts.slice(Q+1).filter(d0).filter((Y)=>!Y.providerExecuted);return X.length>0&&X.every((Y)=>Y.state==="output-available"||Y.state==="output-error")}function PH({stream:Z}){return Z.pipeThrough(new TransformStream({start($){$.enqueue({type:"start"}),$.enqueue({type:"start-step"}),$.enqueue({type:"text-start",id:"text-1"})},async transform($,Q){Q.enqueue({type:"text-delta",id:"text-1",delta:$})},async flush($){$.enqueue({type:"text-end",id:"text-1"}),$.enqueue({type:"finish-step"}),$.enqueue({type:"finish"})}}))}var Uq=class extends LJ{constructor(Z={}){super(Z)}processResponseStream(Z){return PH({stream:Z.pipeThrough(new TextDecoderStream)})}},IH=BZ(()=>GZ(z.array(z.object({id:z.string(),role:z.enum(["system","user","assistant"]),metadata:z.unknown().optional(),parts:z.array(z.union([z.object({type:z.literal("text"),text:z.string(),state:z.enum(["streaming","done"]).optional(),providerMetadata:k.optional()}),z.object({type:z.literal("reasoning"),text:z.string(),state:z.enum(["streaming","done"]).optional(),providerMetadata:k.optional()}),z.object({type:z.literal("source-url"),sourceId:z.string(),url:z.string(),title:z.string().optional(),providerMetadata:k.optional()}),z.object({type:z.literal("source-document"),sourceId:z.string(),mediaType:z.string(),title:z.string(),filename:z.string().optional(),providerMetadata:k.optional()}),z.object({type:z.literal("file"),mediaType:z.string(),filename:z.string().optional(),url:z.string(),providerMetadata:k.optional()}),z.object({type:z.literal("step-start")}),z.object({type:z.string().startsWith("data-"),id:z.string().optional(),data:z.unknown()}),z.object({type:z.literal("dynamic-tool"),toolName:z.string(),toolCallId:z.string(),state:z.literal("input-streaming"),input:z.unknown().optional(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.never().optional()}),z.object({type:z.literal("dynamic-tool"),toolName:z.string(),toolCallId:z.string(),state:z.literal("input-available"),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:k.optional()}),z.object({type:z.literal("dynamic-tool"),toolName:z.string(),toolCallId:z.string(),state:z.literal("output-available"),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.unknown(),errorText:z.never().optional(),callProviderMetadata:k.optional(),preliminary:z.boolean().optional()}),z.object({type:z.literal("dynamic-tool"),toolName:z.string(),toolCallId:z.string(),state:z.literal("output-error"),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.string(),callProviderMetadata:k.optional()}),z.object({type:z.string().startsWith("tool-"),toolCallId:z.string(),state:z.literal("input-streaming"),providerExecuted:z.boolean().optional(),input:z.unknown().optional(),output:z.never().optional(),errorText:z.never().optional(),approval:z.never().optional()}),z.object({type:z.string().startsWith("tool-"),toolCallId:z.string(),state:z.literal("input-available"),providerExecuted:z.boolean().optional(),input:z.unknown(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:k.optional(),approval:z.never().optional()}),z.object({type:z.string().startsWith("tool-"),toolCallId:z.string(),state:z.literal("approval-requested"),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:k.optional(),approval:z.object({id:z.string(),approved:z.never().optional(),reason:z.never().optional()})}),z.object({type:z.string().startsWith("tool-"),toolCallId:z.string(),state:z.literal("approval-responded"),input:z.unknown(),providerExecuted:z.boolean().optional(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:k.optional(),approval:z.object({id:z.string(),approved:z.boolean(),reason:z.string().optional()})}),z.object({type:z.string().startsWith("tool-"),toolCallId:z.string(),state:z.literal("output-available"),providerExecuted:z.boolean().optional(),input:z.unknown(),output:z.unknown(),errorText:z.never().optional(),callProviderMetadata:k.optional(),preliminary:z.boolean().optional(),approval:z.object({id:z.string(),approved:z.literal(!0),reason:z.string().optional()}).optional()}),z.object({type:z.string().startsWith("tool-"),toolCallId:z.string(),state:z.literal("output-error"),providerExecuted:z.boolean().optional(),input:z.unknown(),output:z.never().optional(),errorText:z.string(),callProviderMetadata:k.optional(),approval:z.object({id:z.string(),approved:z.literal(!0),reason:z.string().optional()}).optional()}),z.object({type:z.string().startsWith("tool-"),toolCallId:z.string(),state:z.literal("output-denied"),providerExecuted:z.boolean().optional(),input:z.unknown(),output:z.never().optional(),errorText:z.never().optional(),callProviderMetadata:k.optional(),approval:z.object({id:z.string(),approved:z.literal(!1),reason:z.string().optional()})})]))}))));async function fH({messages:Z,metadataSchema:$,dataSchemas:Q,tools:X}){try{if(Z==null)return{success:!1,error:new l({parameter:"messages",value:Z,message:"messages parameter must be provided"})};let Y=await mZ({value:Z,schema:IH});if($)for(let J of Y)await mZ({value:J.metadata,schema:$});if(Q)for(let J of Y){let W=J.parts.filter((H)=>H.type.startsWith("data-"));for(let H of W){let K=H.type.slice(5),G=Q[K];if(!G)return{success:!1,error:new PZ({value:H.data,cause:`No data schema found for data part ${K}`})};await mZ({value:H.data,schema:G})}}if(X)for(let J of Y){let W=J.parts.filter((H)=>H.type.startsWith("tool-"));for(let H of W){let K=H.type.slice(5),G=X[K];if(!G)return{success:!1,error:new PZ({value:H.input,cause:`No tool schema found for tool part ${K}`})};if(H.state==="input-available"||H.state==="output-available"||H.state==="output-error")await mZ({value:H.input,schema:G.inputSchema});if(H.state==="output-available"&&G.outputSchema)await mZ({value:H.output,schema:G.outputSchema})}}return{success:!0,data:Y}}catch(Y){return{success:!1,error:Y}}}async function Vq({messages:Z,metadataSchema:$,dataSchemas:Q,tools:X}){let Y=await fH({messages:Z,metadataSchema:$,dataSchemas:Q,tools:X});if(!Y.success)throw Y.error;return Y.data}function Lq({execute:Z,onError:$=sZ,originalMessages:Q,onFinish:X,generateId:Y=Y0}){let J,W=[],H=new ReadableStream({start(F){J=F}});function K(F){try{J.enqueue(F)}catch(U){}}try{let F=Z({writer:{write(U){K(U)},merge(U){W.push((async()=>{let q=U.getReader();while(!0){let{done:B,value:j}=await q.read();if(B)break;K(j)}})().catch((q)=>{K({type:"error",errorText:$(q)})}))},onError:$}});if(F)W.push(F.catch((U)=>{K({type:"error",errorText:$(U)})}))}catch(F){K({type:"error",errorText:$(F)})}return new Promise(async(F)=>{while(W.length>0)await W.shift();F()}).finally(()=>{try{J.close()}catch(F){}}),GJ({stream:H,messageId:Y(),originalMessages:Q,onFinish:X,onError:$})}function wq({message:Z,stream:$,onError:Q,terminateOnError:X=!1}){var Y;let J,W=!1,H=new ReadableStream({start(F){J=F}}),K=g$({messageId:(Y=Z==null?void 0:Z.id)!=null?Y:"",lastMessage:Z}),G=(F)=>{if(Q==null||Q(F),!W&&X)W=!0,J==null||J.error(F)};return j1({stream:m$({stream:$,runUpdateMessageJob(F){return F({state:K,write:()=>{J==null||J.enqueue(structuredClone(K.message))}})},onError:G}),onError:G}).finally(()=>{if(!W)J==null||J.close()}),dZ(H)}export{GZ as zodSchema,tK as wrapProvider,NJ as wrapLanguageModel,Vq as validateUIMessages,l5 as userModelMessageSchema,WJ as uiMessageChunkSchema,s5 as toolModelMessageSchema,hz as tool,p5 as systemModelMessageSchema,c4 as streamText,dK as streamObject,$J as stepCountIs,sK as smoothStream,aK as simulateStreamingMiddleware,mK as simulateReadableStream,fH as safeValidateUIMessages,wq as readUIMessageStream,pK as pruneMessages,m4 as pipeUIMessageStreamToResponse,YJ as pipeTextStreamToResponse,k$ as parsePartialJson,c0 as parseJsonEventStream,o5 as modelMessageSchema,Fq as lastAssistantMessageIsCompleteWithToolCalls,mz as jsonSchema,N0 as isToolUIPart,d0 as isToolOrDynamicToolUIPart,R$ as isTextUIPart,k9 as isReasoningUIPart,T$ as isFileUIPart,z1 as isDeepEqualData,f$ as isDataUIPart,FK as hasToolCall,g4 as getToolOrDynamicToolName,Y1 as getToolName,hK as getTextFromDataUrl,b4 as generateText,_K as generateObject,Y0 as generateId,C1 as gateway,rK as extractReasoningMiddleware,zq as experimental_transcribe,cK as experimental_generateSpeech,MK as experimental_generateImage,Zq as experimental_customProvider,Xq as experimental_createProviderRegistry,RK as embedMany,IK as embed,gz as dynamicTool,oK as defaultSettingsMiddleware,FH as customProvider,_4 as createUIMessageStreamResponse,Lq as createUIMessageStream,XJ as createTextStreamResponse,NH as createProviderRegistry,uZ as createIdGenerator,_Q as createGateway,kK as cosineSimilarity,XK as coreUserMessageSchema,YK as coreToolMessageSchema,QK as coreSystemMessageSchema,zK as coreMessageSchema,JK as coreAssistantMessageSchema,BJ as convertToModelMessages,AK as convertToCoreMessages,AH as convertFileListToFileUIParts,j1 as consumeStream,Wq as callCompletionApi,n5 as assistantModelMessageSchema,MZ as asSchema,i0 as UnsupportedModelVersionError,u0 as UnsupportedFunctionalityError,HJ as UI_MESSAGE_STREAM_HEADERS,PZ as TypeValidationError,X4 as ToolCallRepairError,kz as TooManyEmbeddingValuesForCallError,Uq as TextStreamChatTransport,QH as SerialJobExecutor,y9 as RetryError,HH as Output,C$ as NoSuchToolError,jH as NoSuchProviderError,YZ as NoSuchModelError,Z4 as NoSpeechGeneratedError,n9 as NoOutputSpecifiedError,ez as NoOutputGeneratedError,X0 as NoObjectGeneratedError,rz as NoImageGeneratedError,xz as NoContentGeneratedError,W4 as MessageConversionError,_z as LoadSettingError,vz as LoadAPIKeyError,zJ as JsonToSseTransformStream,v$ as JSONParseError,X5 as InvalidToolInputError,TG as InvalidStreamPartError,yz as InvalidResponseDataError,lZ as InvalidPromptError,z4 as InvalidMessageRoleError,S9 as InvalidDataContentError,l as InvalidArgumentError,LJ as HttpChatTransport,EK as Experimental_Agent,Sz as EmptyResponseBodyError,I$ as DownloadError,EH as DefaultChatTransport,Bq as AbstractChat,M0 as APICallError,I as AISDKError};export{c4 as S};
24
-
25
- //# debugId=ADBD0C590B8DDFAE64756E2164756E21