ai 5.0.27 → 5.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # ai
2
2
 
3
+ ## 5.0.28
4
+
5
+ ### Patch Changes
6
+
7
+ - 4b81e7d: fix(ai): remove vitest dependency from test exports
8
+ - d68a4f2: feat(ai): log warnings
9
+
3
10
  ## 5.0.27
4
11
 
5
12
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -3411,6 +3411,9 @@ declare function generateSpeech({ model, text, voice, outputFormat, instructions
3411
3411
  headers?: Record<string, string>;
3412
3412
  }): Promise<SpeechResult>;
3413
3413
 
3414
+ type Warning = LanguageModelV2CallWarning | ImageModelV2CallWarning | SpeechModelV2CallWarning | TranscriptionModelV2CallWarning;
3415
+ type LogWarningsFunction = (warnings: Warning[]) => void;
3416
+
3414
3417
  /**
3415
3418
  * Applies default settings for a language model.
3416
3419
  */
@@ -4421,7 +4424,23 @@ declare function validateUIMessages<UI_MESSAGE extends UIMessage>({ messages, me
4421
4424
  }): Promise<Array<UI_MESSAGE>>;
4422
4425
 
4423
4426
  declare global {
4427
+ /**
4428
+ * The default provider to use for the AI SDK.
4429
+ * String model ids are resolved to the default provider and model id.
4430
+ *
4431
+ * If not set, the default provider is the Vercel AI gateway provider.
4432
+ *
4433
+ * @see https://ai-sdk.dev/docs/ai-sdk-core/provider-management#global-provider-configuration
4434
+ */
4424
4435
  var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
4436
+ /**
4437
+ * The warning logger to use for the AI SDK.
4438
+ *
4439
+ * If not set, the default logger is the console.warn function.
4440
+ *
4441
+ * If set to false, no warnings are logged.
4442
+ */
4443
+ var AI_SDK_LOG_WARNINGS: LogWarningsFunction | undefined | false;
4425
4444
  }
4426
4445
 
4427
- export { AbstractChat, AsyncIterableStream, CallSettings, CallWarning, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, MCPClient as experimental_MCPClient, MCPClientConfig as experimental_MCPClientConfig, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDeepEqualData, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, validateUIMessages, wrapLanguageModel, wrapProvider };
4446
+ export { AbstractChat, AsyncIterableStream, CallSettings, CallWarning, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, Warning as Experimental_Warning, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, MCPClient as experimental_MCPClient, MCPClientConfig as experimental_MCPClientConfig, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDeepEqualData, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, validateUIMessages, wrapLanguageModel, wrapProvider };
package/dist/index.d.ts CHANGED
@@ -3411,6 +3411,9 @@ declare function generateSpeech({ model, text, voice, outputFormat, instructions
3411
3411
  headers?: Record<string, string>;
3412
3412
  }): Promise<SpeechResult>;
3413
3413
 
3414
+ type Warning = LanguageModelV2CallWarning | ImageModelV2CallWarning | SpeechModelV2CallWarning | TranscriptionModelV2CallWarning;
3415
+ type LogWarningsFunction = (warnings: Warning[]) => void;
3416
+
3414
3417
  /**
3415
3418
  * Applies default settings for a language model.
3416
3419
  */
@@ -4421,7 +4424,23 @@ declare function validateUIMessages<UI_MESSAGE extends UIMessage>({ messages, me
4421
4424
  }): Promise<Array<UI_MESSAGE>>;
4422
4425
 
4423
4426
  declare global {
4427
+ /**
4428
+ * The default provider to use for the AI SDK.
4429
+ * String model ids are resolved to the default provider and model id.
4430
+ *
4431
+ * If not set, the default provider is the Vercel AI gateway provider.
4432
+ *
4433
+ * @see https://ai-sdk.dev/docs/ai-sdk-core/provider-management#global-provider-configuration
4434
+ */
4424
4435
  var AI_SDK_DEFAULT_PROVIDER: ProviderV2 | undefined;
4436
+ /**
4437
+ * The warning logger to use for the AI SDK.
4438
+ *
4439
+ * If not set, the default logger is the console.warn function.
4440
+ *
4441
+ * If set to false, no warnings are logged.
4442
+ */
4443
+ var AI_SDK_LOG_WARNINGS: LogWarningsFunction | undefined | false;
4425
4444
  }
4426
4445
 
4427
- export { AbstractChat, AsyncIterableStream, CallSettings, CallWarning, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, MCPClient as experimental_MCPClient, MCPClientConfig as experimental_MCPClientConfig, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDeepEqualData, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, validateUIMessages, wrapLanguageModel, wrapProvider };
4446
+ export { AbstractChat, AsyncIterableStream, CallSettings, CallWarning, ChatInit, ChatOnDataCallback, ChatOnErrorCallback, ChatOnFinishCallback, ChatOnToolCallCallback, ChatRequestOptions, ChatState, ChatStatus, ChatTransport, ChunkDetector, CompletionRequestOptions, CoreAssistantMessage, CoreMessage, CoreSystemMessage, CoreToolMessage, CoreUserMessage, CreateUIMessage, DataUIPart, DeepPartial, DefaultChatTransport, DownloadError, DynamicToolCall, DynamicToolError, DynamicToolResult, DynamicToolUIPart, EmbedManyResult, EmbedResult, Embedding, EmbeddingModel, EmbeddingModelUsage, ErrorHandler, Agent as Experimental_Agent, AgentSettings as Experimental_AgentSettings, DownloadFunction as Experimental_DownloadFunction, GenerateImageResult as Experimental_GenerateImageResult, GeneratedFile as Experimental_GeneratedImage, LogWarningsFunction as Experimental_LogWarningsFunction, SpeechResult as Experimental_SpeechResult, TranscriptionResult as Experimental_TranscriptionResult, Warning as Experimental_Warning, FileUIPart, FinishReason, GenerateObjectResult, GenerateTextOnStepFinishCallback, GenerateTextResult, GeneratedAudioFile, GeneratedFile, HttpChatTransport, HttpChatTransportInitOptions, ImageModel, ImageGenerationWarning as ImageModelCallWarning, ImageModelProviderMetadata, ImageModelResponseMetadata, InferUIDataParts, InferUIMessageChunk, InferUITool, InferUITools, InvalidArgumentError, InvalidDataContentError, InvalidMessageRoleError, InvalidStreamPartError, InvalidToolInputError, JSONRPCError, JSONRPCMessage, JSONRPCNotification, JSONRPCRequest, JSONRPCResponse, JSONValue, JsonToSseTransformStream, LanguageModel, LanguageModelMiddleware, LanguageModelRequestMetadata, LanguageModelResponseMetadata, LanguageModelUsage, MCPClientError, MCPTransport, MessageConversionError, NoImageGeneratedError, NoObjectGeneratedError, NoOutputGeneratedError, NoOutputSpecifiedError, NoSuchProviderError, NoSuchToolError, ObjectStreamPart, output as Output, PrepareReconnectToStreamRequest, PrepareSendMessagesRequest, PrepareStepFunction, PrepareStepResult, Prompt, Provider, ProviderMetadata, ProviderRegistryProvider, ReasoningUIPart, RepairTextFunction, RetryError, SerialJobExecutor, SourceDocumentUIPart, SourceUrlUIPart, SpeechModel, SpeechModelResponseMetadata, SpeechWarning, StaticToolCall, StaticToolError, StaticToolResult, StepResult, StepStartUIPart, StopCondition, StreamObjectOnFinishCallback, StreamObjectResult, StreamTextOnChunkCallback, StreamTextOnErrorCallback, StreamTextOnFinishCallback, StreamTextOnStepFinishCallback, StreamTextResult, StreamTextTransform, TelemetrySettings, TextStreamChatTransport, TextStreamPart, TextUIPart, ToolCallRepairError, ToolCallRepairFunction, ToolChoice, ToolSet, ToolUIPart, TranscriptionModel, TranscriptionModelResponseMetadata, TranscriptionWarning, TypedToolCall, TypedToolError, TypedToolResult, UIDataPartSchemas, UIDataTypes, UIMessage, UIMessageChunk, UIMessagePart, UIMessageStreamOnFinishCallback, UIMessageStreamOptions, UIMessageStreamWriter, UITool, UITools, UI_MESSAGE_STREAM_HEADERS, UnsupportedModelVersionError, UseCompletionOptions, assistantModelMessageSchema, callCompletionApi, consumeStream, convertFileListToFileUIParts, convertToCoreMessages, convertToModelMessages, coreAssistantMessageSchema, coreMessageSchema, coreSystemMessageSchema, coreToolMessageSchema, coreUserMessageSchema, cosineSimilarity, createProviderRegistry, createTextStreamResponse, createUIMessageStream, createUIMessageStreamResponse, customProvider, defaultSettingsMiddleware, embed, embedMany, MCPClient as experimental_MCPClient, MCPClientConfig as experimental_MCPClientConfig, createMCPClient as experimental_createMCPClient, experimental_createProviderRegistry, experimental_customProvider, generateImage as experimental_generateImage, generateSpeech as experimental_generateSpeech, transcribe as experimental_transcribe, extractReasoningMiddleware, generateObject, generateText, getTextFromDataUrl, getToolName, getToolOrDynamicToolName, hasToolCall, isDeepEqualData, isToolOrDynamicToolUIPart, isToolUIPart, lastAssistantMessageIsCompleteWithToolCalls, modelMessageSchema, parsePartialJson, pipeTextStreamToResponse, pipeUIMessageStreamToResponse, readUIMessageStream, simulateReadableStream, simulateStreamingMiddleware, smoothStream, stepCountIs, streamObject, streamText, systemModelMessageSchema, toolModelMessageSchema, userModelMessageSchema, validateUIMessages, wrapLanguageModel, wrapProvider };
package/dist/index.js CHANGED
@@ -143,6 +143,56 @@ var NoOutputSpecifiedError = class extends import_provider.AISDKError {
143
143
  };
144
144
  _a = symbol;
145
145
 
146
+ // src/logger/log-warnings.ts
147
+ function formatWarning(warning) {
148
+ const prefix = "AI SDK Warning:";
149
+ switch (warning.type) {
150
+ case "unsupported-setting": {
151
+ let message = `${prefix} The "${warning.setting}" setting is not supported by this model`;
152
+ if (warning.details) {
153
+ message += ` - ${warning.details}`;
154
+ }
155
+ return message;
156
+ }
157
+ case "unsupported-tool": {
158
+ const toolName = "name" in warning.tool ? warning.tool.name : "unknown tool";
159
+ let message = `${prefix} The tool "${toolName}" is not supported by this model`;
160
+ if (warning.details) {
161
+ message += ` - ${warning.details}`;
162
+ }
163
+ return message;
164
+ }
165
+ case "other": {
166
+ return `${prefix} ${warning.message}`;
167
+ }
168
+ default: {
169
+ return `${prefix} ${JSON.stringify(warning, null, 2)}`;
170
+ }
171
+ }
172
+ }
173
+ var FIRST_WARNING_INFO_MESSAGE = "AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.";
174
+ var hasLoggedBefore = false;
175
+ var logWarnings = (warnings) => {
176
+ if (warnings.length === 0) {
177
+ return;
178
+ }
179
+ const logger = globalThis.AI_SDK_LOG_WARNINGS;
180
+ if (logger === false) {
181
+ return;
182
+ }
183
+ if (typeof logger === "function") {
184
+ logger(warnings);
185
+ return;
186
+ }
187
+ if (!hasLoggedBefore) {
188
+ hasLoggedBefore = true;
189
+ console.info(FIRST_WARNING_INFO_MESSAGE);
190
+ }
191
+ for (const warning of warnings) {
192
+ console.warn(formatWarning(warning));
193
+ }
194
+ };
195
+
146
196
  // src/model/resolve-model.ts
147
197
  var import_gateway = require("@ai-sdk/gateway");
148
198
 
@@ -2178,7 +2228,7 @@ async function generateText({
2178
2228
  }),
2179
2229
  tracer,
2180
2230
  fn: async (span) => {
2181
- var _a17, _b, _c, _d, _e, _f;
2231
+ var _a17, _b, _c, _d, _e, _f, _g;
2182
2232
  const callSettings2 = prepareCallSettings(settings);
2183
2233
  let currentModelResponse;
2184
2234
  let clientToolCalls = [];
@@ -2253,7 +2303,7 @@ async function generateText({
2253
2303
  }),
2254
2304
  tracer,
2255
2305
  fn: async (span2) => {
2256
- var _a19, _b2, _c2, _d2, _e2, _f2, _g, _h;
2306
+ var _a19, _b2, _c2, _d2, _e2, _f2, _g2, _h;
2257
2307
  const result = await stepModel.doGenerate({
2258
2308
  ...callSettings2,
2259
2309
  tools: stepTools,
@@ -2268,7 +2318,7 @@ async function generateText({
2268
2318
  id: (_b2 = (_a19 = result.response) == null ? void 0 : _a19.id) != null ? _b2 : generateId3(),
2269
2319
  timestamp: (_d2 = (_c2 = result.response) == null ? void 0 : _c2.timestamp) != null ? _d2 : currentDate(),
2270
2320
  modelId: (_f2 = (_e2 = result.response) == null ? void 0 : _e2.modelId) != null ? _f2 : stepModel.modelId,
2271
- headers: (_g = result.response) == null ? void 0 : _g.headers,
2321
+ headers: (_g2 = result.response) == null ? void 0 : _g2.headers,
2272
2322
  body: (_h = result.response) == null ? void 0 : _h.body
2273
2323
  };
2274
2324
  span2.setAttributes(
@@ -2392,6 +2442,7 @@ async function generateText({
2392
2442
  messages: structuredClone(responseMessages)
2393
2443
  }
2394
2444
  });
2445
+ logWarnings((_g = currentModelResponse.warnings) != null ? _g : []);
2395
2446
  steps.push(currentStepResult);
2396
2447
  await (onStepFinish == null ? void 0 : onStepFinish(currentStepResult));
2397
2448
  } while (
@@ -4675,6 +4726,7 @@ var DefaultStreamTextResult = class {
4675
4726
  providerMetadata: part.providerMetadata
4676
4727
  });
4677
4728
  await (onStepFinish == null ? void 0 : onStepFinish(currentStepResult));
4729
+ logWarnings(recordedWarnings);
4678
4730
  recordedSteps.push(currentStepResult);
4679
4731
  recordedContent = [];
4680
4732
  activeReasoningContent = {};
@@ -6142,6 +6194,7 @@ async function generateImage({
6142
6194
  }
6143
6195
  responses.push(result.response);
6144
6196
  }
6197
+ logWarnings(warnings);
6145
6198
  if (!images.length) {
6146
6199
  throw new NoImageGeneratedError({ responses });
6147
6200
  }
@@ -6811,6 +6864,7 @@ async function generateObject(options) {
6811
6864
  request = (_a17 = generateResult.request) != null ? _a17 : {};
6812
6865
  response = generateResult.responseData;
6813
6866
  reasoning = generateResult.reasoning;
6867
+ logWarnings(warnings);
6814
6868
  const object2 = await parseAndValidateObjectResultWithRepair(
6815
6869
  result,
6816
6870
  outputStrategy,
@@ -7323,6 +7377,7 @@ var DefaultStreamObjectResult = class {
7323
7377
  usage,
7324
7378
  response: fullResponse
7325
7379
  });
7380
+ logWarnings(warnings != null ? warnings : []);
7326
7381
  self._usage.resolve(usage);
7327
7382
  self._providerMetadata.resolve(providerMetadata);
7328
7383
  self._warnings.resolve(warnings);
@@ -7608,6 +7663,7 @@ async function generateSpeech({
7608
7663
  if (!result.audio || result.audio.length === 0) {
7609
7664
  throw new NoSpeechGeneratedError({ responses: [result.response] });
7610
7665
  }
7666
+ logWarnings(result.warnings);
7611
7667
  return new DefaultSpeechResult({
7612
7668
  audio: new DefaultGeneratedAudioFile({
7613
7669
  data: result.audio,
@@ -8926,6 +8982,7 @@ async function transcribe({
8926
8982
  });
8927
8983
  }
8928
8984
  );
8985
+ logWarnings(result.warnings);
8929
8986
  if (!result.text) {
8930
8987
  throw new NoTranscriptGeneratedError({ responses: [result.response] });
8931
8988
  }