@sylphx/flow 0.2.11 → 0.2.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -0
- package/dist/chunk-01gv4qey.js +4 -0
- package/dist/chunk-01gv4qey.js.map +11 -0
- package/dist/{chunk-f9yb2zk3.js → chunk-3m9whg4q.js} +2 -2
- package/dist/{chunk-f9yb2zk3.js.map → chunk-3m9whg4q.js.map} +1 -1
- package/dist/{chunk-sgafqzer.js → chunk-3w6pd43t.js} +3 -3
- package/dist/{chunk-sgafqzer.js.map → chunk-3w6pd43t.js.map} +2 -2
- package/dist/{chunk-d6k94684.js → chunk-4nm4ere4.js} +3 -3
- package/dist/{chunk-d6k94684.js.map → chunk-4nm4ere4.js.map} +1 -1
- package/dist/{chunk-ceyg2zjg.js → chunk-4vrj3f8r.js} +3 -3
- package/dist/{chunk-ceyg2zjg.js.map → chunk-4vrj3f8r.js.map} +1 -1
- package/dist/chunk-5njgv5k5.js +161 -0
- package/dist/{chunk-rsagxdqj.js.map → chunk-5njgv5k5.js.map} +4 -6
- package/dist/{chunk-6eb5a8kv.js → chunk-67n29s4q.js} +4 -4
- package/dist/chunk-67n29s4q.js.map +10 -0
- package/dist/{chunk-66qzap9m.js → chunk-86ce45n6.js} +2 -2
- package/dist/{chunk-66qzap9m.js.map → chunk-86ce45n6.js.map} +1 -1
- package/dist/{chunk-fyvtp08n.js → chunk-99pz5wm0.js} +2 -2
- package/dist/{chunk-fyvtp08n.js.map → chunk-99pz5wm0.js.map} +1 -1
- package/dist/chunk-d409xn8f.js +6 -0
- package/dist/{chunk-cjy100rr.js.map → chunk-d409xn8f.js.map} +2 -2
- package/dist/chunk-g0qpndpd.js +23 -0
- package/dist/{chunk-1ej6vegq.js.map → chunk-g0qpndpd.js.map} +5 -5
- package/dist/{chunk-51kpynby.js → chunk-g4baca7p.js} +3 -3
- package/dist/{chunk-51kpynby.js.map → chunk-g4baca7p.js.map} +1 -1
- package/dist/chunk-gc66xe7z.js +4 -0
- package/dist/{chunk-8ep9gk6d.js.map → chunk-gc66xe7z.js.map} +2 -2
- package/dist/{chunk-2nfq57ym.js → chunk-hj6qtsqp.js} +2 -2
- package/dist/{chunk-2nfq57ym.js.map → chunk-hj6qtsqp.js.map} +2 -2
- package/dist/{chunk-etqfkn4f.js → chunk-jbd95k1f.js} +3 -3
- package/dist/{chunk-etqfkn4f.js.map → chunk-jbd95k1f.js.map} +1 -1
- package/dist/{chunk-z61qdct1.js → chunk-kn908zkk.js} +2 -2
- package/dist/{chunk-z61qdct1.js.map → chunk-kn908zkk.js.map} +1 -1
- package/dist/{chunk-rvx8bgqk.js → chunk-mw13a082.js} +3 -3
- package/dist/{chunk-rvx8bgqk.js.map → chunk-mw13a082.js.map} +1 -1
- package/dist/chunk-nke51f3c.js +4 -0
- package/dist/chunk-nke51f3c.js.map +10 -0
- package/dist/{chunk-ny1s8fnh.js → chunk-ns5atzyz.js} +2 -2
- package/dist/{chunk-ny1s8fnh.js.map → chunk-ns5atzyz.js.map} +1 -1
- package/dist/chunk-pp4r3hp4.js +105 -0
- package/dist/chunk-pp4r3hp4.js.map +27 -0
- package/dist/{chunk-372bgp30.js → chunk-q4nh3vst.js} +3 -3
- package/dist/{chunk-372bgp30.js.map → chunk-q4nh3vst.js.map} +1 -1
- package/dist/{chunk-585jp0rg.js → chunk-q5gqgs0p.js} +3 -3
- package/dist/chunk-q5gqgs0p.js.map +10 -0
- package/dist/{chunk-f676awyz.js → chunk-s9bsh0gp.js} +3 -3
- package/dist/{chunk-f676awyz.js.map → chunk-s9bsh0gp.js.map} +1 -1
- package/dist/chunk-ss51dw5h.js +27 -0
- package/dist/{chunk-s323r5xg.js.map → chunk-ss51dw5h.js.map} +5 -5
- package/dist/{chunk-mtrcdhzn.js → chunk-xs370t8p.js} +3 -3
- package/dist/{chunk-mtrcdhzn.js.map → chunk-xs370t8p.js.map} +8 -8
- package/dist/chunk-xtrn4wn0.js +3 -0
- package/dist/{chunk-b0047ggx.js.map → chunk-xtrn4wn0.js.map} +2 -2
- package/dist/{chunk-7h737bp8.js → chunk-xvfz960r.js} +3 -3
- package/dist/{chunk-7h737bp8.js.map → chunk-xvfz960r.js.map} +1 -1
- package/dist/chunk-xytc0fks.js +27 -0
- package/dist/{chunk-pzp2kw7j.js.map → chunk-xytc0fks.js.map} +2 -2
- package/dist/chunk-yxv7hqse.js +23 -0
- package/dist/chunk-yxv7hqse.js.map +11 -0
- package/dist/chunk-zv5y8yfq.js +19 -0
- package/dist/chunk-zv5y8yfq.js.map +11 -0
- package/dist/index.js +278 -285
- package/dist/index.js.map +34 -30
- package/drizzle/0002_lyrical_random.sql +2 -0
- package/drizzle/0003_romantic_lockjaw.sql +4 -0
- package/drizzle/0004_blushing_meteorite.sql +6 -0
- package/drizzle/meta/0002_snapshot.json +920 -0
- package/drizzle/meta/0003_snapshot.json +920 -0
- package/drizzle/meta/0004_snapshot.json +921 -0
- package/drizzle/meta/_journal.json +21 -0
- package/package.json +4 -1
- package/dist/chunk-057m762a.js +0 -4
- package/dist/chunk-057m762a.js.map +0 -10
- package/dist/chunk-1ej6vegq.js +0 -23
- package/dist/chunk-585jp0rg.js.map +0 -10
- package/dist/chunk-5hcagq8j.js +0 -107
- package/dist/chunk-5hcagq8j.js.map +0 -25
- package/dist/chunk-6eb5a8kv.js.map +0 -10
- package/dist/chunk-8ep9gk6d.js +0 -4
- package/dist/chunk-b0047ggx.js +0 -3
- package/dist/chunk-cjy100rr.js +0 -6
- package/dist/chunk-dpba9y5x.js +0 -23
- package/dist/chunk-dpba9y5x.js.map +0 -11
- package/dist/chunk-pzp2kw7j.js +0 -27
- package/dist/chunk-r19ma0z2.js +0 -19
- package/dist/chunk-r19ma0z2.js.map +0 -10
- package/dist/chunk-rsagxdqj.js +0 -161
- package/dist/chunk-s323r5xg.js +0 -27
package/README.md
CHANGED
|
@@ -500,6 +500,42 @@ flow codebase reindex # After major code changes
|
|
|
500
500
|
- **[Codebase Search](https://github.com/sylphxltd/flow/wiki/Codebase-Search)** - Semantic search deep dive
|
|
501
501
|
- **[Agent Framework](https://github.com/sylphxltd/flow/wiki/Agent-Framework)** - How agents work
|
|
502
502
|
|
|
503
|
+
### Project Documentation Structure
|
|
504
|
+
|
|
505
|
+
```
|
|
506
|
+
📁 Project Root
|
|
507
|
+
├── README.md # This file - project overview
|
|
508
|
+
├── CHANGELOG.md # Version history
|
|
509
|
+
└── AGENTS.md # AI agent system prompt
|
|
510
|
+
|
|
511
|
+
📁 docs/
|
|
512
|
+
├── reports/ # Code analysis & optimization reports
|
|
513
|
+
│ ├── ANALYSIS_RESULTS.md # Automated code analysis
|
|
514
|
+
│ ├── CIRCULAR_DEPENDENCY_ELIMINATION.md # Circular dependency fixes
|
|
515
|
+
│ └── SYSTEMATIC_OPTIMIZATION_PLAN.md # Optimization strategy
|
|
516
|
+
├── claude-code-session-management.md # Session management guide
|
|
517
|
+
├── tool-display-guide.md # Tool UI guide
|
|
518
|
+
└── ... # Technical documentation
|
|
519
|
+
|
|
520
|
+
📁 wiki-pages/
|
|
521
|
+
├── Installation-&-Setup.md # Setup guide
|
|
522
|
+
├── MEP-Design-Philosophy.md # MEP concepts
|
|
523
|
+
└── ... # Feature documentation
|
|
524
|
+
|
|
525
|
+
📁 .github/
|
|
526
|
+
└── workflows/ # GitHub Actions only
|
|
527
|
+
|
|
528
|
+
📁 .archive/
|
|
529
|
+
└── refactoring-history/ # Historical documentation
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
**Navigation Tips:**
|
|
533
|
+
- **Getting Started**: Start with this README and `wiki-pages/Installation-&-Setup.md`
|
|
534
|
+
- **Understanding MEP**: Read `wiki-pages/MEP-Design-Philosophy.md`
|
|
535
|
+
- **Technical Details**: Check `docs/` folder
|
|
536
|
+
- **Code Quality Reports**: See `docs/reports/` for analysis
|
|
537
|
+
- **Historical Context**: View `.archive/` for refactoring history
|
|
538
|
+
|
|
503
539
|
---
|
|
504
540
|
|
|
505
541
|
## 🔧 Integration
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Sb as $}from"./chunk-4vrj3f8r.js";import M from"node:fs";import Z from"node:path";import{fileURLToPath as b}from"node:url";import{execFile as U}from"node:child_process";import Y from"node:path";import{promisify as I}from"node:util";var _=I(U),C={projectName:$.string().min(1,"Project name is required").max(100,"Project name too long").regex(/^[a-zA-Z0-9_-]+$/,"Project name can only contain letters, numbers, hyphens, and underscores").refine((G)=>!/^\.+$/.test(G),"Project name cannot be only dots").refine((G)=>!/[<>:"|?*]/.test(G),"Project name contains invalid characters"),branchName:$.string().min(1,"Branch name is required").max(255,"Branch name too long").regex(/^[a-zA-Z0-9/_-]+$/,"Branch name can only contain letters, numbers, slashes, hyphens, and underscores").refine((G)=>!G.includes(".."),'Branch name cannot contain ".."').refine((G)=>!/^[/\\]/.test(G),"Branch name cannot start with path separators").refine((G)=>!/[<>:"|?*$]/.test(G),"Branch name contains invalid characters"),filePath:$.string().min(1,"File path is required").max(1000,"File path too long").refine((G)=>!G.includes(".."),'File path cannot contain ".." for path traversal protection').refine((G)=>!/^[<>:"|?*]/.test(G),"File path contains invalid characters"),commandArg:$.string().max(1000,"Command argument too long").refine((G)=>!/[<>|;&$`'"\\]/.test(G),"Command argument contains potentially dangerous characters"),envVarName:$.string().regex(/^[A-Z_][A-Z0-9_]*$/,"Invalid environment variable name format").max(100,"Environment variable name too long"),url:$.string().url("Invalid URL format").refine((G)=>G.startsWith("https://")||G.startsWith("http://localhost"),"URL must be HTTPS or localhost").refine((G)=>!G.includes("javascript:"),"URL cannot contain javascript protocol"),apiKey:$.string().min(10,"API key too short").max(500,"API key too long").regex(/^[a-zA-Z0-9._-]+$/,"Invalid API key format")},F={validatePath:(G,K)=>{let H=C.filePath.parse(G),Q=Y.normalize(H);if(Q.includes(".."))throw Error("Path traversal detected in file path");if(K){let W=Y.resolve(K,Q),X=Y.resolve(K);if(!W.startsWith(X))throw Error("File path escapes allowed base directory");return W}return Q},isPathSafe:(G,K)=>{try{let H=Y.resolve(G),Q=Y.resolve(K);return H.startsWith(Q)}catch{return!1}},safeJoin:(G,...K)=>{let H=Y.join(G,...K),Q=Y.normalize(H),W=Y.resolve(G),X=Y.resolve(Q);if(!X.startsWith(W))throw Error("Path traversal attempt detected in safeJoin");return X}};var B={string:(G,K=1000)=>{if(typeof G!=="string")throw Error("Input must be a string");return G.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"").substring(0,K)},logMessage:(G)=>{return G.replace(/[\r\n]/g," ").replace(/\t/g," ").substring(0,500)},fileName:(G)=>{return G.replace(/[^a-zA-Z0-9._-]/g,"_").replace(/_{2,}/g,"_").replace(/^_|_$/g,"").toLowerCase()},yamlContent:(G)=>{return G.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"").replace(/<!\[CDATA\[.*?\]\]>/gs,"").replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"")}},k={validateEnvVar:(G,K)=>{let H=C.envVarName.parse(G);if(K===void 0)throw Error(`Environment variable ${H} is required but not set`);if(H.includes("URL")||H.includes("BASE_URL"))C.url.parse(K);else if(H.includes("KEY")||H.includes("SECRET")){if(K.length<10)throw Error(`API key ${H} is too short`)}return{name:H,value:K}},getEnvVar:(G,K)=>{try{let H=process.env[G];if(H===void 0){if(K!==void 0)return K;throw Error(`Environment variable ${G} is not set`)}return k.validateEnvVar(G,H).value}catch(H){return console.warn(`Environment variable validation failed for ${G}:`,H),K}},validateEnvVars:(G)=>{let K={};for(let[H,Q]of Object.entries(G)){let W=process.env[H];if(W===void 0){if(Q.required)throw Error(`Required environment variable ${H} is not set`);continue}try{if(Q.schema)K[H]=Q.schema.parse(W);else{let X=k.validateEnvVar(H,W);K[H]=X.value}}catch(X){throw Error(`Environment variable ${H} validation failed: ${X}`)}}return K}};function L(G){let K=b(import.meta.url),H=Z.dirname(K);for(let W=0;W<10;W++){let X=Z.join(H,"package.json");if(M.existsSync(X))return H;let J=Z.dirname(H);if(J===H)break;H=J}let Q=G?`Cannot find package.json - ${G} location unknown`:"Cannot find package.json";throw Error(Q)}var j=Z.join(L(),"assets");function w(){return Z.join(j,"agents")}function q(){return Z.join(j,"rules")}function O(){return Z.join(j,"knowledge")}function P(){return Z.join(j,"output-styles")}function y(){return Z.join(j,"slash-commands")}function S(G){if(!G||typeof G!=="string")throw Error("Filename must be a non-empty string");if(G.includes("..")||G.includes("/")||G.includes("\\"))throw Error(`Invalid filename: ${G}. Path traversal not allowed.`);if(!/^[a-zA-Z0-9._-]+$/.test(G))throw Error(`Filename contains invalid characters: ${G}`);let K=q(),H=F.safeJoin(K,G);if(!M.existsSync(H))throw Error(`Rule file not found: ${G} (looked in ${K})`);return H}
|
|
2
|
+
export{C as na,F as oa,B as pa,k as qa,L as ra,w as sa,q as ta,O as ua,P as va,y as wa,S as xa};
|
|
3
|
+
|
|
4
|
+
//# debugId=B36B269C3826F9AF64756E2164756E21
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/utils/paths.ts", "../src/utils/security.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"/**\n * Centralized path resolution for all static assets\n *\n * Structure:\n * assets/ (at project root) - single source of truth\n *\n * Path resolution:\n * - Development: src/utils/paths.ts reads ../assets\n * - Production: dist/xxx.js reads ../assets\n * - No copying needed, both read same location\n */\n\nimport fs from 'node:fs';\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { pathSecurity } from './security.js';\n\n/**\n * Find package root by walking up directory tree\n * Pure function - finds package.json location\n *\n * @param context - Optional context for error message (e.g., 'assets', 'migrations')\n * @returns Absolute path to package root directory\n * @throws Error if package.json cannot be found within 10 levels\n *\n * @example\n * const root = findPackageRoot(); // 'Cannot find package.json'\n * const root = findPackageRoot('drizzle migrations'); // 'Cannot find package.json - drizzle migrations location unknown'\n */\nexport function findPackageRoot(context?: string): string {\n const __filename = fileURLToPath(import.meta.url);\n let currentDir = path.dirname(__filename);\n\n // Walk up max 10 levels to find package.json\n for (let i = 0; i < 10; i++) {\n const packageJsonPath = path.join(currentDir, 'package.json');\n if (fs.existsSync(packageJsonPath)) {\n return currentDir;\n }\n\n const parentDir = path.dirname(currentDir);\n if (parentDir === currentDir) break; // reached filesystem root\n currentDir = parentDir;\n }\n\n const errorMsg = context\n ? `Cannot find package.json - ${context} location unknown`\n : 'Cannot find package.json';\n throw new Error(errorMsg);\n}\n\nconst ASSETS_ROOT = path.join(findPackageRoot(), 'assets');\n\n/**\n * Get path to agents directory\n */\nexport function getAgentsDir(): string {\n return path.join(ASSETS_ROOT, 'agents');\n}\n\n/**\n * Get path to templates directory\n */\nexport function getTemplatesDir(): string {\n return path.join(ASSETS_ROOT, 'templates');\n}\n\n/**\n * Get path to rules directory\n */\nexport function getRulesDir(): string {\n return path.join(ASSETS_ROOT, 'rules');\n}\n\n/**\n * Get path to knowledge directory\n */\nexport function getKnowledgeDir(): string {\n return path.join(ASSETS_ROOT, 'knowledge');\n}\n\n/**\n * Get path to output styles directory\n */\nexport function getOutputStylesDir(): string {\n return path.join(ASSETS_ROOT, 'output-styles');\n}\n\n/**\n * Get path to slash commands directory\n */\nexport function getSlashCommandsDir(): string {\n return path.join(ASSETS_ROOT, 'slash-commands');\n}\n\n/**\n * Get path to a specific rule file with path traversal protection\n */\nexport function getRuleFile(filename: string): string {\n // Validate filename to prevent path traversal\n if (!filename || typeof filename !== 'string') {\n throw new Error('Filename must be a non-empty string');\n }\n\n // Check for path traversal attempts\n if (filename.includes('..') || filename.includes('/') || filename.includes('\\\\')) {\n throw new Error(`Invalid filename: ${filename}. Path traversal not allowed.`);\n }\n\n // Validate filename contains only safe characters\n if (!/^[a-zA-Z0-9._-]+$/.test(filename)) {\n throw new Error(`Filename contains invalid characters: ${filename}`);\n }\n\n // Safely join paths\n const rulesDir = getRulesDir();\n const filePath = pathSecurity.safeJoin(rulesDir, filename);\n\n if (!fs.existsSync(filePath)) {\n throw new Error(`Rule file not found: ${filename} (looked in ${rulesDir})`);\n }\n\n return filePath;\n}\n\n/**\n * Debug info - shows where assets are resolved from\n */\nexport function getPathsInfo() {\n return {\n assetsRoot: ASSETS_ROOT,\n agents: getAgentsDir(),\n templates: getTemplatesDir(),\n rules: getRulesDir(),\n outputStyles: getOutputStylesDir(),\n slashCommands: getSlashCommandsDir(),\n };\n}\n",
|
|
6
|
+
"/**\n * Security utilities for input validation, sanitization, and safe operations\n * Implements defense-in-depth security principles\n */\n\nimport { execFile } from 'node:child_process';\nimport crypto from 'node:crypto';\nimport path from 'node:path';\nimport { promisify } from 'node:util';\nimport { z } from 'zod';\n\nconst execFileAsync = promisify(execFile);\n\n// ============================================================================\n// INPUT VALIDATION SCHEMAS\n// ============================================================================\n\n/**\n * Security-focused validation schemas\n */\nexport const securitySchemas = {\n /** Project name validation - prevents command injection and path traversal */\n projectName: z\n .string()\n .min(1, 'Project name is required')\n .max(100, 'Project name too long')\n .regex(\n /^[a-zA-Z0-9_-]+$/,\n 'Project name can only contain letters, numbers, hyphens, and underscores'\n )\n .refine((name) => !/^\\.+$/.test(name), 'Project name cannot be only dots')\n .refine((name) => !/[<>:\"|?*]/.test(name), 'Project name contains invalid characters'),\n\n /** Branch name validation - prevents command injection */\n branchName: z\n .string()\n .min(1, 'Branch name is required')\n .max(255, 'Branch name too long')\n .regex(\n /^[a-zA-Z0-9/_-]+$/,\n 'Branch name can only contain letters, numbers, slashes, hyphens, and underscores'\n )\n .refine((name) => !name.includes('..'), 'Branch name cannot contain \"..\"')\n .refine((name) => !/^[/\\\\]/.test(name), 'Branch name cannot start with path separators')\n .refine((name) => !/[<>:\"|?*$]/.test(name), 'Branch name contains invalid characters'),\n\n /** File path validation - prevents path traversal */\n filePath: z\n .string()\n .min(1, 'File path is required')\n .max(1000, 'File path too long')\n .refine(\n (filePath) => !filePath.includes('..'),\n 'File path cannot contain \"..\" for path traversal protection'\n )\n .refine((filePath) => !/^[<>:\"|?*]/.test(filePath), 'File path contains invalid characters'),\n\n /** Command argument validation - prevents command injection */\n commandArg: z\n .string()\n .max(1000, 'Command argument too long')\n .refine(\n (arg) => !/[<>|;&$`'\"\\\\]/.test(arg),\n 'Command argument contains potentially dangerous characters'\n ),\n\n /** Environment variable validation */\n envVarName: z\n .string()\n .regex(/^[A-Z_][A-Z0-9_]*$/, 'Invalid environment variable name format')\n .max(100, 'Environment variable name too long'),\n\n /** URL validation for API endpoints */\n url: z\n .string()\n .url('Invalid URL format')\n .refine(\n (url) => url.startsWith('https://') || url.startsWith('http://localhost'),\n 'URL must be HTTPS or localhost'\n )\n .refine((url) => !url.includes('javascript:'), 'URL cannot contain javascript protocol'),\n\n /** API key validation */\n apiKey: z\n .string()\n .min(10, 'API key too short')\n .max(500, 'API key too long')\n .regex(/^[a-zA-Z0-9._-]+$/, 'Invalid API key format'),\n};\n\n// ============================================================================\n// PATH SECURITY UTILITIES\n// ============================================================================\n\n/**\n * Secure path utilities to prevent path traversal attacks\n */\nexport const pathSecurity = {\n /**\n * Validates and sanitizes a file path to prevent path traversal\n */\n validatePath: (inputPath: string, allowedBase?: string): string => {\n const validated = securitySchemas.filePath.parse(inputPath);\n\n // Normalize the path\n const normalizedPath = path.normalize(validated);\n\n // Check for path traversal attempts\n if (normalizedPath.includes('..')) {\n throw new Error('Path traversal detected in file path');\n }\n\n // If base path is provided, ensure the resolved path is within bounds\n if (allowedBase) {\n const resolvedPath = path.resolve(allowedBase, normalizedPath);\n const resolvedBase = path.resolve(allowedBase);\n\n if (!resolvedPath.startsWith(resolvedBase)) {\n throw new Error('File path escapes allowed base directory');\n }\n\n return resolvedPath;\n }\n\n return normalizedPath;\n },\n\n /**\n * Checks if a path is within allowed boundaries\n */\n isPathSafe: (targetPath: string, allowedBase: string): boolean => {\n try {\n const resolvedTarget = path.resolve(targetPath);\n const resolvedBase = path.resolve(allowedBase);\n return resolvedTarget.startsWith(resolvedBase);\n } catch {\n return false;\n }\n },\n\n /**\n * Creates a safe file path within a base directory\n */\n safeJoin: (basePath: string, ...paths: string[]): string => {\n const result = path.join(basePath, ...paths);\n\n // Normalize and verify it stays within base\n const normalized = path.normalize(result);\n const resolvedBase = path.resolve(basePath);\n const resolvedResult = path.resolve(normalized);\n\n if (!resolvedResult.startsWith(resolvedBase)) {\n throw new Error('Path traversal attempt detected in safeJoin');\n }\n\n return resolvedResult;\n },\n};\n\n// ============================================================================\n// COMMAND EXECUTION SECURITY\n// ============================================================================\n\n/**\n * Secure command execution utilities to prevent command injection\n */\nexport const commandSecurity = {\n /**\n * Safely executes a command with arguments, preventing command injection\n */\n async safeExecFile(\n command: string,\n args: string[],\n options: {\n cwd?: string;\n timeout?: number;\n maxBuffer?: number;\n env?: Record<string, string>;\n } = {}\n ): Promise<{ stdout: string; stderr: string }> {\n // Validate command\n if (!/^[a-zA-Z0-9._-]+$/.test(command)) {\n throw new Error(`Invalid command: ${command}`);\n }\n\n // Validate arguments\n const validatedArgs = args.map((arg) => {\n try {\n return securitySchemas.commandArg.parse(arg);\n } catch (_error) {\n throw new Error(`Invalid command argument: ${arg}`);\n }\n });\n\n // Set secure defaults\n const secureOptions = {\n timeout: options.timeout || 30000, // 30 seconds default\n maxBuffer: options.maxBuffer || 1024 * 1024, // 1MB default\n env: { ...process.env, ...options.env },\n cwd: options.cwd || process.cwd(),\n shell: false, // Never use shell to prevent injection\n encoding: 'utf8' as const,\n };\n\n // Validate working directory\n if (secureOptions.cwd) {\n pathSecurity.validatePath(secureOptions.cwd);\n }\n\n try {\n return await execFileAsync(command, validatedArgs, secureOptions);\n } catch (error: any) {\n // Sanitize error message to prevent information disclosure\n const sanitizedError = new Error(`Command execution failed: ${command}`);\n sanitizedError.code = error.code;\n sanitizedError.signal = error.signal;\n throw sanitizedError;\n }\n },\n\n /**\n * Validates that a command argument is safe for execution\n */\n validateCommandArgs: (args: string[]): string[] => {\n return args.map((arg) => {\n const validated = securitySchemas.commandArg.parse(arg);\n\n // Additional checks for common injection patterns\n const dangerousPatterns = [\n /[;&|`'\"\\\\$()]/,\n /\\.\\./,\n /\\/etc\\//,\n /\\/proc\\//,\n /windows\\\\system32/i,\n ];\n\n for (const pattern of dangerousPatterns) {\n if (pattern.test(validated)) {\n throw new Error(`Dangerous pattern detected in command argument: ${arg}`);\n }\n }\n\n return validated;\n });\n },\n};\n\n// ============================================================================\n// INPUT SANITIZATION UTILITIES\n// ============================================================================\n\n/**\n * Input sanitization utilities\n */\nexport const sanitize = {\n /**\n * Sanitizes a string for safe display\n */\n string: (input: string, maxLength = 1000): string => {\n if (typeof input !== 'string') {\n throw new Error('Input must be a string');\n }\n\n // Remove null bytes and control characters except newlines and tabs\n const sanitized = input\n .replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]/g, '')\n .substring(0, maxLength);\n\n return sanitized;\n },\n\n /**\n * Sanitizes text for log messages (prevents log injection)\n */\n logMessage: (input: string): string => {\n return input\n .replace(/[\\r\\n]/g, ' ') // Remove line breaks\n .replace(/\\t/g, ' ') // Replace tabs with spaces\n .substring(0, 500); // Limit length\n },\n\n /**\n * Sanitizes user input for file names\n */\n fileName: (input: string): string => {\n return input\n .replace(/[^a-zA-Z0-9._-]/g, '_') // Replace invalid chars with underscores\n .replace(/_{2,}/g, '_') // Replace multiple underscores\n .replace(/^_|_$/g, '') // Remove leading/trailing underscores\n .toLowerCase();\n },\n\n /**\n * Sanitizes content for YAML front matter\n */\n yamlContent: (input: string): string => {\n // Basic YAML sanitization - remove potentially dangerous content\n return input\n .replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F]/g, '')\n .replace(/<!\\[CDATA\\[.*?\\]\\]>/gs, '') // Remove CDATA sections\n .replace(/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi, ''); // Remove scripts\n },\n};\n\n// ============================================================================\n// ENVIRONMENT VARIABLE SECURITY\n// ============================================================================\n\n/**\n * Environment variable validation utilities\n */\nexport const envSecurity = {\n /**\n * Validates an environment variable name and value\n */\n validateEnvVar: (name: string, value?: string): { name: string; value: string } => {\n const validatedName = securitySchemas.envVarName.parse(name);\n\n if (value === undefined) {\n throw new Error(`Environment variable ${validatedName} is required but not set`);\n }\n\n // Validate based on variable type\n if (validatedName.includes('URL') || validatedName.includes('BASE_URL')) {\n securitySchemas.url.parse(value);\n } else if (validatedName.includes('KEY') || validatedName.includes('SECRET')) {\n // For keys, check minimum length and allowed characters\n if (value.length < 10) {\n throw new Error(`API key ${validatedName} is too short`);\n }\n }\n\n return { name: validatedName, value };\n },\n\n /**\n * Safely gets an environment variable with validation\n */\n getEnvVar: (name: string, defaultValue?: string): string | undefined => {\n try {\n const value = process.env[name];\n if (value === undefined) {\n if (defaultValue !== undefined) {\n return defaultValue;\n }\n throw new Error(`Environment variable ${name} is not set`);\n }\n\n const validated = envSecurity.validateEnvVar(name, value);\n return validated.value;\n } catch (error) {\n console.warn(`Environment variable validation failed for ${name}:`, error);\n return defaultValue;\n }\n },\n\n /**\n * Validates multiple environment variables\n */\n validateEnvVars: (\n vars: Record<string, { required?: boolean; schema?: z.ZodSchema }>\n ): Record<string, string> => {\n const result: Record<string, string> = {};\n\n for (const [name, config] of Object.entries(vars)) {\n const value = process.env[name];\n\n if (value === undefined) {\n if (config.required) {\n throw new Error(`Required environment variable ${name} is not set`);\n }\n continue;\n }\n\n try {\n // Use custom schema if provided, otherwise use default validation\n if (config.schema) {\n result[name] = config.schema.parse(value);\n } else {\n const validated = envSecurity.validateEnvVar(name, value);\n result[name] = validated.value;\n }\n } catch (error) {\n throw new Error(`Environment variable ${name} validation failed: ${error}`);\n }\n }\n\n return result;\n },\n};\n\n// ============================================================================\n// CRYPTOGRAPHIC UTILITIES\n// ============================================================================\n\n/**\n * Cryptographic utilities for security\n */\nexport const cryptoUtils = {\n /**\n * Generates a secure random string\n */\n generateSecureRandom: (length = 32): string => {\n return crypto.randomBytes(length).toString('hex');\n },\n\n /**\n * Generates a cryptographically secure random ID\n */\n generateSecureId: (): string => {\n const timestamp = Date.now().toString(36);\n const random = crypto.randomBytes(16).toString('hex');\n return `${timestamp}-${random}`;\n },\n\n /**\n * Creates a secure hash of data\n */\n hash: (data: string): string => {\n return crypto.createHash('sha256').update(data).digest('hex');\n },\n\n /**\n * Verifies data integrity with HMAC\n */\n verifyHMAC: (data: string, signature: string, secret: string): boolean => {\n const expectedSignature = crypto.createHmac('sha256', secret).update(data).digest('hex');\n\n return crypto.timingSafeEqual(\n Buffer.from(signature, 'hex'),\n Buffer.from(expectedSignature, 'hex')\n );\n },\n};\n\n// ============================================================================\n// RATE LIMITING UTILITIES\n// ============================================================================\n\n/**\n * Simple in-memory rate limiting\n */\nexport class RateLimiter {\n private requests: Map<string, number[]> = new Map();\n\n constructor(\n private maxRequests = 100,\n private windowMs = 60000 // 1 minute\n ) {}\n\n isAllowed(identifier: string): boolean {\n const now = Date.now();\n const windowStart = now - this.windowMs;\n\n // Get existing requests for this identifier\n let timestamps = this.requests.get(identifier) || [];\n\n // Remove old requests outside the window\n timestamps = timestamps.filter((timestamp) => timestamp > windowStart);\n\n // Check if limit exceeded\n if (timestamps.length >= this.maxRequests) {\n return false;\n }\n\n // Add current request\n timestamps.push(now);\n this.requests.set(identifier, timestamps);\n\n return true;\n }\n\n cleanup(): void {\n const now = Date.now();\n const windowStart = now - this.windowMs;\n\n for (const [identifier, timestamps] of this.requests.entries()) {\n const filtered = timestamps.filter((timestamp) => timestamp > windowStart);\n if (filtered.length === 0) {\n this.requests.delete(identifier);\n } else {\n this.requests.set(identifier, filtered);\n }\n }\n }\n}\n\n// ============================================================================\n// SECURITY MIDDLEWARE\n// ============================================================================\n\n/**\n * Security middleware for common patterns\n */\nexport const securityMiddleware = {\n /**\n * Rate limiting middleware\n */\n rateLimit: (limiter: RateLimiter, getIdentifier: (req: any) => string) => {\n return (req: any, res: any, next: any) => {\n const identifier = getIdentifier(req);\n\n if (!limiter.isAllowed(identifier)) {\n return res.status(429).json({ error: 'Too many requests' });\n }\n\n next();\n };\n },\n\n /**\n * Input validation middleware\n */\n validateInput: (schema: z.ZodSchema, source: 'body' | 'query' | 'params' = 'body') => {\n return (req: any, res: any, next: any) => {\n try {\n const data = req[source];\n const validated = schema.parse(data);\n req[source] = validated;\n next();\n } catch (error) {\n return res.status(400).json({ error: 'Invalid input', details: error });\n }\n };\n },\n};\n\nexport default {\n securitySchemas,\n pathSecurity,\n commandSecurity,\n sanitize,\n envSecurity,\n cryptoUtils,\n RateLimiter,\n securityMiddleware,\n};\n"
|
|
7
|
+
],
|
|
8
|
+
"mappings": "yCAYA,uBACA,yBACA,wBAAS,iBCTT,mBAAS,2BAET,yBACA,oBAAS,kBAGT,IAAM,EAAgB,EAAU,CAAQ,EAS3B,EAAkB,CAE7B,YAAa,EACV,OAAO,EACP,IAAI,EAAG,0BAA0B,EACjC,IAAI,IAAK,uBAAuB,EAChC,MACC,mBACA,0EACF,EACC,OAAO,CAAC,IAAS,CAAC,QAAQ,KAAK,CAAI,EAAG,kCAAkC,EACxE,OAAO,CAAC,IAAS,CAAC,YAAY,KAAK,CAAI,EAAG,0CAA0C,EAGvF,WAAY,EACT,OAAO,EACP,IAAI,EAAG,yBAAyB,EAChC,IAAI,IAAK,sBAAsB,EAC/B,MACC,oBACA,kFACF,EACC,OAAO,CAAC,IAAS,CAAC,EAAK,SAAS,IAAI,EAAG,iCAAiC,EACxE,OAAO,CAAC,IAAS,CAAC,SAAS,KAAK,CAAI,EAAG,+CAA+C,EACtF,OAAO,CAAC,IAAS,CAAC,aAAa,KAAK,CAAI,EAAG,yCAAyC,EAGvF,SAAU,EACP,OAAO,EACP,IAAI,EAAG,uBAAuB,EAC9B,IAAI,KAAM,oBAAoB,EAC9B,OACC,CAAC,IAAa,CAAC,EAAS,SAAS,IAAI,EACrC,6DACF,EACC,OAAO,CAAC,IAAa,CAAC,aAAa,KAAK,CAAQ,EAAG,uCAAuC,EAG7F,WAAY,EACT,OAAO,EACP,IAAI,KAAM,2BAA2B,EACrC,OACC,CAAC,IAAQ,CAAC,gBAAgB,KAAK,CAAG,EAClC,4DACF,EAGF,WAAY,EACT,OAAO,EACP,MAAM,qBAAsB,0CAA0C,EACtE,IAAI,IAAK,oCAAoC,EAGhD,IAAK,EACF,OAAO,EACP,IAAI,oBAAoB,EACxB,OACC,CAAC,IAAQ,EAAI,WAAW,UAAU,GAAK,EAAI,WAAW,kBAAkB,EACxE,gCACF,EACC,OAAO,CAAC,IAAQ,CAAC,EAAI,SAAS,aAAa,EAAG,wCAAwC,EAGzF,OAAQ,EACL,OAAO,EACP,IAAI,GAAI,mBAAmB,EAC3B,IAAI,IAAK,kBAAkB,EAC3B,MAAM,oBAAqB,wBAAwB,CACxD,EASa,EAAe,CAI1B,aAAc,CAAC,EAAmB,IAAiC,CACjE,IAAM,EAAY,EAAgB,SAAS,MAAM,CAAS,EAGpD,EAAiB,EAAK,UAAU,CAAS,EAG/C,GAAI,EAAe,SAAS,IAAI,EAC9B,MAAU,MAAM,sCAAsC,EAIxD,GAAI,EAAa,CACf,IAAM,EAAe,EAAK,QAAQ,EAAa,CAAc,EACvD,EAAe,EAAK,QAAQ,CAAW,EAE7C,GAAI,CAAC,EAAa,WAAW,CAAY,EACvC,MAAU,MAAM,0CAA0C,EAG5D,OAAO,EAGT,OAAO,GAMT,WAAY,CAAC,EAAoB,IAAiC,CAChE,GAAI,CACF,IAAM,EAAiB,EAAK,QAAQ,CAAU,EACxC,EAAe,EAAK,QAAQ,CAAW,EAC7C,OAAO,EAAe,WAAW,CAAY,EAC7C,KAAM,CACN,MAAO,KAOX,SAAU,CAAC,KAAqB,IAA4B,CAC1D,IAAM,EAAS,EAAK,KAAK,EAAU,GAAG,CAAK,EAGrC,EAAa,EAAK,UAAU,CAAM,EAClC,EAAe,EAAK,QAAQ,CAAQ,EACpC,EAAiB,EAAK,QAAQ,CAAU,EAE9C,GAAI,CAAC,EAAe,WAAW,CAAY,EACzC,MAAU,MAAM,6CAA6C,EAG/D,OAAO,EAEX,EAiGO,IAAM,EAAW,CAItB,OAAQ,CAAC,EAAe,EAAY,OAAiB,CACnD,GAAI,OAAO,IAAU,SACnB,MAAU,MAAM,wBAAwB,EAQ1C,OAJkB,EACf,QAAQ,oCAAqC,EAAE,EAC/C,UAAU,EAAG,CAAS,GAQ3B,WAAY,CAAC,IAA0B,CACrC,OAAO,EACJ,QAAQ,UAAW,GAAG,EACtB,QAAQ,MAAO,GAAG,EAClB,UAAU,EAAG,GAAG,GAMrB,SAAU,CAAC,IAA0B,CACnC,OAAO,EACJ,QAAQ,mBAAoB,GAAG,EAC/B,QAAQ,SAAU,GAAG,EACrB,QAAQ,SAAU,EAAE,EACpB,YAAY,GAMjB,YAAa,CAAC,IAA0B,CAEtC,OAAO,EACJ,QAAQ,oCAAqC,EAAE,EAC/C,QAAQ,wBAAyB,EAAE,EACnC,QAAQ,sDAAuD,EAAE,EAExE,EASa,EAAc,CAIzB,eAAgB,CAAC,EAAc,IAAoD,CACjF,IAAM,EAAgB,EAAgB,WAAW,MAAM,CAAI,EAE3D,GAAI,IAAU,OACZ,MAAU,MAAM,wBAAwB,2BAAuC,EAIjF,GAAI,EAAc,SAAS,KAAK,GAAK,EAAc,SAAS,UAAU,EACpE,EAAgB,IAAI,MAAM,CAAK,EAC1B,QAAI,EAAc,SAAS,KAAK,GAAK,EAAc,SAAS,QAAQ,GAEzE,GAAI,EAAM,OAAS,GACjB,MAAU,MAAM,WAAW,gBAA4B,EAI3D,MAAO,CAAE,KAAM,EAAe,OAAM,GAMtC,UAAW,CAAC,EAAc,IAA8C,CACtE,GAAI,CACF,IAAM,EAAQ,QAAQ,IAAI,GAC1B,GAAI,IAAU,OAAW,CACvB,GAAI,IAAiB,OACnB,OAAO,EAET,MAAU,MAAM,wBAAwB,cAAiB,EAI3D,OADkB,EAAY,eAAe,EAAM,CAAK,EACvC,MACjB,MAAO,EAAO,CAEd,OADA,QAAQ,KAAK,8CAA8C,KAAS,CAAK,EAClE,IAOX,gBAAiB,CACf,IAC2B,CAC3B,IAAM,EAAiC,CAAC,EAExC,QAAY,EAAM,KAAW,OAAO,QAAQ,CAAI,EAAG,CACjD,IAAM,EAAQ,QAAQ,IAAI,GAE1B,GAAI,IAAU,OAAW,CACvB,GAAI,EAAO,SACT,MAAU,MAAM,iCAAiC,cAAiB,EAEpE,SAGF,GAAI,CAEF,GAAI,EAAO,OACT,EAAO,GAAQ,EAAO,OAAO,MAAM,CAAK,EACnC,KACL,IAAM,EAAY,EAAY,eAAe,EAAM,CAAK,EACxD,EAAO,GAAQ,EAAU,OAE3B,MAAO,EAAO,CACd,MAAU,MAAM,wBAAwB,wBAA2B,GAAO,GAI9E,OAAO,EAEX,EDxWO,SAAS,CAAe,CAAC,EAA0B,CACxD,IAAM,EAAa,EAAc,YAAY,GAAG,EAC5C,EAAa,EAAK,QAAQ,CAAU,EAGxC,QAAS,EAAI,EAAG,EAAI,GAAI,IAAK,CAC3B,IAAM,EAAkB,EAAK,KAAK,EAAY,cAAc,EAC5D,GAAI,EAAG,WAAW,CAAe,EAC/B,OAAO,EAGT,IAAM,EAAY,EAAK,QAAQ,CAAU,EACzC,GAAI,IAAc,EAAY,MAC9B,EAAa,EAGf,IAAM,EAAW,EACb,8BAA8B,qBAC9B,2BACJ,MAAU,MAAM,CAAQ,EAG1B,IAAM,EAAc,EAAK,KAAK,EAAgB,EAAG,QAAQ,EAKlD,SAAS,CAAY,EAAW,CACrC,OAAO,EAAK,KAAK,EAAa,QAAQ,EAajC,SAAS,CAAW,EAAW,CACpC,OAAO,EAAK,KAAK,EAAa,OAAO,EAMhC,SAAS,CAAe,EAAW,CACxC,OAAO,EAAK,KAAK,EAAa,WAAW,EAMpC,SAAS,CAAkB,EAAW,CAC3C,OAAO,EAAK,KAAK,EAAa,eAAe,EAMxC,SAAS,CAAmB,EAAW,CAC5C,OAAO,EAAK,KAAK,EAAa,gBAAgB,EAMzC,SAAS,CAAW,CAAC,EAA0B,CAEpD,GAAI,CAAC,GAAY,OAAO,IAAa,SACnC,MAAU,MAAM,qCAAqC,EAIvD,GAAI,EAAS,SAAS,IAAI,GAAK,EAAS,SAAS,GAAG,GAAK,EAAS,SAAS,IAAI,EAC7E,MAAU,MAAM,qBAAqB,gCAAuC,EAI9E,GAAI,CAAC,oBAAoB,KAAK,CAAQ,EACpC,MAAU,MAAM,yCAAyC,GAAU,EAIrE,IAAM,EAAW,EAAY,EACvB,EAAW,EAAa,SAAS,EAAU,CAAQ,EAEzD,GAAI,CAAC,EAAG,WAAW,CAAQ,EACzB,MAAU,MAAM,wBAAwB,gBAAuB,IAAW,EAG5E,OAAO",
|
|
9
|
+
"debugId": "B36B269C3826F9AF64756E2164756E21",
|
|
10
|
+
"names": []
|
|
11
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import{createRequire as k}from"node:module";var g=Object.create;var{getPrototypeOf:h,defineProperty:f,getOwnPropertyNames:i}=Object;var j=Object.prototype.hasOwnProperty;var l=(a,b,c)=>{c=a!=null?g(h(a)):{};let d=b||!a||!a.__esModule?f(c,"default",{value:a,enumerable:!0}):c;for(let e of i(a))if(!j.call(d,e))f(d,e,{get:()=>a[e],enumerable:!0});return d};var m=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports);var n=(a,b)=>{for(var c in b)f(a,c,{get:b[c],enumerable:!0,configurable:!0,set:(d)=>b[c]=()=>d})};var p=k(import.meta.url);
|
|
2
|
-
export{l as
|
|
2
|
+
export{l as Tb,m as Ub,n as Vb,p as Wb};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=1090B4E729FE0A2764756E2164756E21
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
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
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
3
|
|
|
4
4
|
Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
|
|
@@ -20,6 +20,6 @@ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the toke
|
|
|
20
20
|
|
|
21
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
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 O};
|
|
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
24
|
|
|
25
|
-
//# debugId=
|
|
25
|
+
//# debugId=ADBD0C590B8DDFAE64756E2164756E21
|