@ai-sdk/provider 2.0.0-canary.12 → 2.0.0-canary.14

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,39 @@
1
1
  # @ai-sdk/provider
2
2
 
3
+ ## 2.0.0-canary.14
4
+
5
+ ### Major Changes
6
+
7
+ - 7979f7f: feat (provider): support reasoning tokens, cached input tokens, total token in usage information
8
+
9
+ ### Patch Changes
10
+
11
+ - a8c8bd5: feat(embed-many): respect supportsParallelCalls & concurrency
12
+
13
+ ## 2.0.0-canary.13
14
+
15
+ ### Patch Changes
16
+
17
+ - 9bd5ab5: feat (provider): add providerMetadata to ImageModelV2 interface (#5977)
18
+
19
+ The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models.
20
+
21
+ ```js
22
+ const prompt = 'Santa Claus driving a Cadillac';
23
+
24
+ const { providerMetadata } = await experimental_generateImage({
25
+ model: openai.image('dall-e-3'),
26
+ prompt,
27
+ });
28
+
29
+ const revisedPrompt = providerMetadata.openai.images[0]?.revisedPrompt;
30
+
31
+ console.log({
32
+ prompt,
33
+ revisedPrompt,
34
+ });
35
+ ```
36
+
3
37
  ## 2.0.0-canary.12
4
38
 
5
39
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -375,6 +375,10 @@ declare class UnsupportedFunctionalityError extends AISDKError {
375
375
  static isInstance(error: unknown): error is UnsupportedFunctionalityError;
376
376
  }
377
377
 
378
+ declare function isJSONValue(value: unknown): value is JSONValue;
379
+ declare function isJSONArray(value: unknown): value is JSONArray;
380
+ declare function isJSONObject(value: unknown): value is JSONObject;
381
+
378
382
  type ImageModelV2CallOptions = {
379
383
  /**
380
384
  Prompt for the image generation.
@@ -409,9 +413,9 @@ type ImageModelV2CallOptions = {
409
413
  record is keyed by the provider-specific metadata key.
410
414
  ```ts
411
415
  {
412
- "openai": {
413
- "style": "vivid"
414
- }
416
+ "openai": {
417
+ "style": "vivid"
418
+ }
415
419
  }
416
420
  ```
417
421
  */
@@ -440,6 +444,9 @@ type ImageModelV2CallWarning = {
440
444
  message: string;
441
445
  };
442
446
 
447
+ type ImageModelV2ProviderMetadata = Record<string, {
448
+ images: JSONArray;
449
+ } & JSONValue>;
443
450
  /**
444
451
  Image generation model specification version 2.
445
452
  */
@@ -482,6 +489,24 @@ type ImageModelV2 = {
482
489
  */
483
490
  warnings: Array<ImageModelV2CallWarning>;
484
491
  /**
492
+ Additional provider-specific metadata. They are passed through
493
+ from the provider to the AI SDK and enable provider-specific
494
+ results that can be fully encapsulated in the provider.
495
+
496
+ The outer record is keyed by the provider name, and the inner
497
+ record is provider-specific metadata. It always includes an
498
+ `images` key with image-specific metadata
499
+
500
+ ```ts
501
+ {
502
+ "openai": {
503
+ "images": ["revisedPrompt": "Revised prompt here."]
504
+ }
505
+ }
506
+ ```
507
+ */
508
+ providerMetadata?: ImageModelV2ProviderMetadata;
509
+ /**
485
510
  Response information for telemetry and debugging purposes.
486
511
  */
487
512
  response: {
@@ -501,10 +526,6 @@ type ImageModelV2 = {
501
526
  }>;
502
527
  };
503
528
 
504
- declare function isJSONValue(value: unknown): value is JSONValue;
505
- declare function isJSONArray(value: unknown): value is JSONArray;
506
- declare function isJSONObject(value: unknown): value is JSONObject;
507
-
508
529
  /**
509
530
  A tool has a name, a description, and a set of parameters.
510
531
 
@@ -983,17 +1004,34 @@ type LanguageModelV2ToolCallDelta = {
983
1004
  };
984
1005
 
985
1006
  /**
986
- * Usage information for a language model call.
1007
+ Usage information for a language model call.
1008
+
1009
+ If your API return additional usage information, you can add it to the
1010
+ provider metadata under your provider's key.
987
1011
  */
988
1012
  type LanguageModelV2Usage = {
989
1013
  /**
990
- * The number of input (prompt) tokens used.
1014
+ The number of input (prompt) tokens used.
991
1015
  */
992
1016
  inputTokens: number | undefined;
993
1017
  /**
994
- * The number of output (completion) tokens used.
1018
+ The number of output (completion) tokens used.
995
1019
  */
996
1020
  outputTokens: number | undefined;
1021
+ /**
1022
+ The total number of tokens as reported by the provider.
1023
+ This number might be different from the sum of `inputTokens` and `outputTokens`
1024
+ and e.g. include reasoning tokens or other overhead.
1025
+ */
1026
+ totalTokens: number | undefined;
1027
+ /**
1028
+ The number of reasoning tokens used.
1029
+ */
1030
+ reasoningTokens?: number | undefined;
1031
+ /**
1032
+ The number of cached input tokens.
1033
+ */
1034
+ cachedInputTokens?: number | undefined;
997
1035
  };
998
1036
 
999
1037
  type LanguageModelV2StreamPart = LanguageModelV2Content | {
@@ -1018,11 +1056,7 @@ Specification for a language model that implements the language model interface
1018
1056
  */
1019
1057
  type LanguageModelV2 = {
1020
1058
  /**
1021
- The language model must specify which language model interface
1022
- version it implements. This will allow us to evolve the language
1023
- model interface and retain backwards compatibility. The different
1024
- implementation versions can be handled as a discriminated union
1025
- on our side.
1059
+ The language model must specify which language model interface version it implements.
1026
1060
  */
1027
1061
  readonly specificationVersion: 'v2';
1028
1062
  /**
@@ -1034,15 +1068,16 @@ type LanguageModelV2 = {
1034
1068
  */
1035
1069
  readonly modelId: string;
1036
1070
  /**
1037
- * Returns a map of supported URL patterns for the model.
1038
- * The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
1039
- * and the values are arrays of regular expressions that match the URL paths.
1040
- *
1041
- * The matching should be against lower-case URLs.
1042
- *
1043
- * Matched URLs are supported natively by the model and are not downloaded.
1044
- *
1045
- * @returns A promise resolving to a map of supported URL patterns.
1071
+ Supported URL patterns by media type for the provider.
1072
+
1073
+ The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
1074
+ and the values are arrays of regular expressions that match the URL paths.
1075
+
1076
+ The matching should be against lower-case URLs.
1077
+
1078
+ Matched URLs are supported natively by the model and are not downloaded.
1079
+
1080
+ @returns A map of supported URL patterns by media type (as a promise or a plain object).
1046
1081
  */
1047
1082
  supportedUrls: PromiseLike<Record<string, RegExp[]>> | Record<string, RegExp[]>;
1048
1083
  /**
@@ -2364,4 +2399,4 @@ interface ProviderV2 {
2364
2399
  readonly imageModel: (modelId: string) => ImageModelV2;
2365
2400
  }
2366
2401
 
2367
- export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FilePart, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1ObjectGenerationMode, type LanguageModelV1Prompt, type LanguageModelV1ProviderDefinedTool, type LanguageModelV1ProviderMetadata, type LanguageModelV1ReasoningPart, type LanguageModelV1RedactedReasoningPart, type LanguageModelV1Source, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolChoice, type LanguageModelV1ToolResultPart, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallDelta, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV1, type ProviderV2, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SpeechModelV1, type SpeechModelV1CallOptions, type SpeechModelV1CallWarning, TooManyEmbeddingValuesForCallError, type TranscriptionModelV1, type TranscriptionModelV1CallOptions, type TranscriptionModelV1CallWarning, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
2402
+ export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FilePart, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1ObjectGenerationMode, type LanguageModelV1Prompt, type LanguageModelV1ProviderDefinedTool, type LanguageModelV1ProviderMetadata, type LanguageModelV1ReasoningPart, type LanguageModelV1RedactedReasoningPart, type LanguageModelV1Source, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolChoice, type LanguageModelV1ToolResultPart, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallDelta, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV1, type ProviderV2, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SpeechModelV1, type SpeechModelV1CallOptions, type SpeechModelV1CallWarning, TooManyEmbeddingValuesForCallError, type TranscriptionModelV1, type TranscriptionModelV1CallOptions, type TranscriptionModelV1CallWarning, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
package/dist/index.d.ts CHANGED
@@ -375,6 +375,10 @@ declare class UnsupportedFunctionalityError extends AISDKError {
375
375
  static isInstance(error: unknown): error is UnsupportedFunctionalityError;
376
376
  }
377
377
 
378
+ declare function isJSONValue(value: unknown): value is JSONValue;
379
+ declare function isJSONArray(value: unknown): value is JSONArray;
380
+ declare function isJSONObject(value: unknown): value is JSONObject;
381
+
378
382
  type ImageModelV2CallOptions = {
379
383
  /**
380
384
  Prompt for the image generation.
@@ -409,9 +413,9 @@ type ImageModelV2CallOptions = {
409
413
  record is keyed by the provider-specific metadata key.
410
414
  ```ts
411
415
  {
412
- "openai": {
413
- "style": "vivid"
414
- }
416
+ "openai": {
417
+ "style": "vivid"
418
+ }
415
419
  }
416
420
  ```
417
421
  */
@@ -440,6 +444,9 @@ type ImageModelV2CallWarning = {
440
444
  message: string;
441
445
  };
442
446
 
447
+ type ImageModelV2ProviderMetadata = Record<string, {
448
+ images: JSONArray;
449
+ } & JSONValue>;
443
450
  /**
444
451
  Image generation model specification version 2.
445
452
  */
@@ -482,6 +489,24 @@ type ImageModelV2 = {
482
489
  */
483
490
  warnings: Array<ImageModelV2CallWarning>;
484
491
  /**
492
+ Additional provider-specific metadata. They are passed through
493
+ from the provider to the AI SDK and enable provider-specific
494
+ results that can be fully encapsulated in the provider.
495
+
496
+ The outer record is keyed by the provider name, and the inner
497
+ record is provider-specific metadata. It always includes an
498
+ `images` key with image-specific metadata
499
+
500
+ ```ts
501
+ {
502
+ "openai": {
503
+ "images": ["revisedPrompt": "Revised prompt here."]
504
+ }
505
+ }
506
+ ```
507
+ */
508
+ providerMetadata?: ImageModelV2ProviderMetadata;
509
+ /**
485
510
  Response information for telemetry and debugging purposes.
486
511
  */
487
512
  response: {
@@ -501,10 +526,6 @@ type ImageModelV2 = {
501
526
  }>;
502
527
  };
503
528
 
504
- declare function isJSONValue(value: unknown): value is JSONValue;
505
- declare function isJSONArray(value: unknown): value is JSONArray;
506
- declare function isJSONObject(value: unknown): value is JSONObject;
507
-
508
529
  /**
509
530
  A tool has a name, a description, and a set of parameters.
510
531
 
@@ -983,17 +1004,34 @@ type LanguageModelV2ToolCallDelta = {
983
1004
  };
984
1005
 
985
1006
  /**
986
- * Usage information for a language model call.
1007
+ Usage information for a language model call.
1008
+
1009
+ If your API return additional usage information, you can add it to the
1010
+ provider metadata under your provider's key.
987
1011
  */
988
1012
  type LanguageModelV2Usage = {
989
1013
  /**
990
- * The number of input (prompt) tokens used.
1014
+ The number of input (prompt) tokens used.
991
1015
  */
992
1016
  inputTokens: number | undefined;
993
1017
  /**
994
- * The number of output (completion) tokens used.
1018
+ The number of output (completion) tokens used.
995
1019
  */
996
1020
  outputTokens: number | undefined;
1021
+ /**
1022
+ The total number of tokens as reported by the provider.
1023
+ This number might be different from the sum of `inputTokens` and `outputTokens`
1024
+ and e.g. include reasoning tokens or other overhead.
1025
+ */
1026
+ totalTokens: number | undefined;
1027
+ /**
1028
+ The number of reasoning tokens used.
1029
+ */
1030
+ reasoningTokens?: number | undefined;
1031
+ /**
1032
+ The number of cached input tokens.
1033
+ */
1034
+ cachedInputTokens?: number | undefined;
997
1035
  };
998
1036
 
999
1037
  type LanguageModelV2StreamPart = LanguageModelV2Content | {
@@ -1018,11 +1056,7 @@ Specification for a language model that implements the language model interface
1018
1056
  */
1019
1057
  type LanguageModelV2 = {
1020
1058
  /**
1021
- The language model must specify which language model interface
1022
- version it implements. This will allow us to evolve the language
1023
- model interface and retain backwards compatibility. The different
1024
- implementation versions can be handled as a discriminated union
1025
- on our side.
1059
+ The language model must specify which language model interface version it implements.
1026
1060
  */
1027
1061
  readonly specificationVersion: 'v2';
1028
1062
  /**
@@ -1034,15 +1068,16 @@ type LanguageModelV2 = {
1034
1068
  */
1035
1069
  readonly modelId: string;
1036
1070
  /**
1037
- * Returns a map of supported URL patterns for the model.
1038
- * The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
1039
- * and the values are arrays of regular expressions that match the URL paths.
1040
- *
1041
- * The matching should be against lower-case URLs.
1042
- *
1043
- * Matched URLs are supported natively by the model and are not downloaded.
1044
- *
1045
- * @returns A promise resolving to a map of supported URL patterns.
1071
+ Supported URL patterns by media type for the provider.
1072
+
1073
+ The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
1074
+ and the values are arrays of regular expressions that match the URL paths.
1075
+
1076
+ The matching should be against lower-case URLs.
1077
+
1078
+ Matched URLs are supported natively by the model and are not downloaded.
1079
+
1080
+ @returns A map of supported URL patterns by media type (as a promise or a plain object).
1046
1081
  */
1047
1082
  supportedUrls: PromiseLike<Record<string, RegExp[]>> | Record<string, RegExp[]>;
1048
1083
  /**
@@ -2364,4 +2399,4 @@ interface ProviderV2 {
2364
2399
  readonly imageModel: (modelId: string) => ImageModelV2;
2365
2400
  }
2366
2401
 
2367
- export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FilePart, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1ObjectGenerationMode, type LanguageModelV1Prompt, type LanguageModelV1ProviderDefinedTool, type LanguageModelV1ProviderMetadata, type LanguageModelV1ReasoningPart, type LanguageModelV1RedactedReasoningPart, type LanguageModelV1Source, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolChoice, type LanguageModelV1ToolResultPart, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallDelta, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV1, type ProviderV2, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SpeechModelV1, type SpeechModelV1CallOptions, type SpeechModelV1CallWarning, TooManyEmbeddingValuesForCallError, type TranscriptionModelV1, type TranscriptionModelV1CallOptions, type TranscriptionModelV1CallWarning, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
2402
+ export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, EmptyResponseBodyError, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FilePart, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1ObjectGenerationMode, type LanguageModelV1Prompt, type LanguageModelV1ProviderDefinedTool, type LanguageModelV1ProviderMetadata, type LanguageModelV1ReasoningPart, type LanguageModelV1RedactedReasoningPart, type LanguageModelV1Source, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolChoice, type LanguageModelV1ToolResultPart, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallDelta, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, type ProviderV1, type ProviderV2, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SpeechModelV1, type SpeechModelV1CallOptions, type SpeechModelV1CallWarning, TooManyEmbeddingValuesForCallError, type TranscriptionModelV1, type TranscriptionModelV1CallOptions, type TranscriptionModelV1CallWarning, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/provider",
3
- "version": "2.0.0-canary.12",
3
+ "version": "2.0.0-canary.14",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -34,7 +34,7 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "homepage": "https://sdk.vercel.ai/docs",
37
+ "homepage": "https://ai-sdk.dev/docs",
38
38
  "repository": {
39
39
  "type": "git",
40
40
  "url": "git+https://github.com/vercel/ai.git"