@ai-sdk/provider 4.0.0-beta.9 → 4.0.0-canary.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/index.d.ts +481 -439
  3. package/dist/index.js +2 -47
  4. package/dist/index.js.map +1 -1
  5. package/package.json +8 -6
  6. package/src/embedding-model/v2/embedding-model-v2.ts +2 -2
  7. package/src/embedding-model/v3/embedding-model-v3-call-options.ts +1 -1
  8. package/src/embedding-model/v3/embedding-model-v3-result.ts +2 -2
  9. package/src/embedding-model/v3/embedding-model-v3.ts +2 -2
  10. package/src/embedding-model/v4/embedding-model-v4-call-options.ts +1 -1
  11. package/src/embedding-model/v4/embedding-model-v4-result.ts +2 -2
  12. package/src/embedding-model/v4/embedding-model-v4.ts +2 -2
  13. package/src/embedding-model-middleware/v3/embedding-model-v3-middleware.ts +2 -2
  14. package/src/embedding-model-middleware/v4/embedding-model-v4-middleware.ts +2 -2
  15. package/src/errors/no-such-provider-reference-error.ts +1 -1
  16. package/src/files/v4/files-v4-upload-file-call-options.ts +35 -0
  17. package/src/files/v4/files-v4-upload-file-result.ts +35 -0
  18. package/src/files/v4/files-v4.ts +2 -63
  19. package/src/files/v4/index.ts +3 -5
  20. package/src/image-model/v2/image-model-v2-call-options.ts +1 -1
  21. package/src/image-model/v2/image-model-v2-call-warning.ts +1 -1
  22. package/src/image-model/v2/image-model-v2.ts +3 -3
  23. package/src/image-model/v3/image-model-v3-call-options.ts +2 -2
  24. package/src/image-model/v3/image-model-v3-file.ts +1 -1
  25. package/src/image-model/v3/image-model-v3.ts +4 -4
  26. package/src/image-model/v4/image-model-v4-call-options.ts +2 -2
  27. package/src/image-model/v4/image-model-v4-file.ts +1 -1
  28. package/src/image-model/v4/image-model-v4-result.ts +73 -0
  29. package/src/image-model/v4/image-model-v4.ts +3 -70
  30. package/src/image-model/v4/index.ts +4 -3
  31. package/src/image-model-middleware/v3/image-model-v3-middleware.ts +2 -2
  32. package/src/image-model-middleware/v4/image-model-v4-middleware.ts +2 -2
  33. package/src/json-value/is-json.ts +1 -1
  34. package/src/language-model/v2/language-model-v2-call-options.ts +6 -6
  35. package/src/language-model/v2/language-model-v2-call-warning.ts +3 -3
  36. package/src/language-model/v2/language-model-v2-content.ts +6 -6
  37. package/src/language-model/v2/language-model-v2-function-tool.ts +2 -2
  38. package/src/language-model/v2/language-model-v2-prompt.ts +3 -3
  39. package/src/language-model/v2/language-model-v2-reasoning.ts +1 -1
  40. package/src/language-model/v2/language-model-v2-source.ts +1 -1
  41. package/src/language-model/v2/language-model-v2-stream-part.ts +9 -9
  42. package/src/language-model/v2/language-model-v2-text.ts +1 -1
  43. package/src/language-model/v2/language-model-v2-tool-call.ts +1 -1
  44. package/src/language-model/v2/language-model-v2-tool-result.ts +1 -1
  45. package/src/language-model/v2/language-model-v2.ts +9 -9
  46. package/src/language-model/v3/language-model-v3-call-options.ts +6 -6
  47. package/src/language-model/v3/language-model-v3-content.ts +7 -7
  48. package/src/language-model/v3/language-model-v3-file.ts +1 -1
  49. package/src/language-model/v3/language-model-v3-function-tool.ts +3 -3
  50. package/src/language-model/v3/language-model-v3-generate-result.ts +6 -6
  51. package/src/language-model/v3/language-model-v3-prompt.ts +3 -3
  52. package/src/language-model/v3/language-model-v3-reasoning.ts +1 -1
  53. package/src/language-model/v3/language-model-v3-source.ts +1 -1
  54. package/src/language-model/v3/language-model-v3-stream-part.ts +10 -10
  55. package/src/language-model/v3/language-model-v3-stream-result.ts +2 -2
  56. package/src/language-model/v3/language-model-v3-text.ts +1 -1
  57. package/src/language-model/v3/language-model-v3-tool-approval-request.ts +1 -1
  58. package/src/language-model/v3/language-model-v3-tool-call.ts +1 -1
  59. package/src/language-model/v3/language-model-v3-tool-result.ts +2 -2
  60. package/src/language-model/v3/language-model-v3-usage.ts +1 -1
  61. package/src/language-model/v3/language-model-v3.ts +3 -3
  62. package/src/language-model/v4/index.ts +0 -1
  63. package/src/language-model/v4/language-model-v4-call-options.ts +6 -6
  64. package/src/language-model/v4/language-model-v4-content.ts +9 -9
  65. package/src/language-model/v4/language-model-v4-custom-content.ts +1 -1
  66. package/src/language-model/v4/language-model-v4-file.ts +10 -3
  67. package/src/language-model/v4/language-model-v4-function-tool.ts +3 -3
  68. package/src/language-model/v4/language-model-v4-generate-result.ts +6 -6
  69. package/src/language-model/v4/language-model-v4-prompt.ts +43 -97
  70. package/src/language-model/v4/language-model-v4-reasoning-file.ts +10 -3
  71. package/src/language-model/v4/language-model-v4-reasoning.ts +1 -1
  72. package/src/language-model/v4/language-model-v4-source.ts +1 -1
  73. package/src/language-model/v4/language-model-v4-stream-part.ts +12 -12
  74. package/src/language-model/v4/language-model-v4-stream-result.ts +2 -2
  75. package/src/language-model/v4/language-model-v4-text.ts +1 -1
  76. package/src/language-model/v4/language-model-v4-tool-approval-request.ts +1 -1
  77. package/src/language-model/v4/language-model-v4-tool-call.ts +1 -1
  78. package/src/language-model/v4/language-model-v4-tool-result.ts +2 -2
  79. package/src/language-model/v4/language-model-v4-usage.ts +1 -1
  80. package/src/language-model/v4/language-model-v4.ts +3 -3
  81. package/src/language-model-middleware/v2/language-model-v2-middleware.ts +2 -2
  82. package/src/language-model-middleware/v3/language-model-v3-middleware.ts +4 -4
  83. package/src/language-model-middleware/v4/language-model-v4-middleware.ts +4 -4
  84. package/src/provider/v2/provider-v2.ts +5 -5
  85. package/src/provider/v3/provider-v3.ts +6 -6
  86. package/src/provider/v4/provider-v4.ts +8 -8
  87. package/src/reranking-model/v3/reranking-model-v3-call-options.ts +2 -2
  88. package/src/reranking-model/v3/reranking-model-v3.ts +2 -2
  89. package/src/reranking-model/v4/index.ts +1 -0
  90. package/src/reranking-model/v4/reranking-model-v4-call-options.ts +2 -2
  91. package/src/reranking-model/v4/reranking-model-v4-result.ts +68 -0
  92. package/src/reranking-model/v4/reranking-model-v4.ts +5 -65
  93. package/src/shared/v2/shared-v2-provider-metadata.ts +1 -1
  94. package/src/shared/v2/shared-v2-provider-options.ts +1 -1
  95. package/src/shared/v3/shared-v3-provider-metadata.ts +1 -1
  96. package/src/shared/v3/shared-v3-provider-options.ts +1 -1
  97. package/src/shared/v4/index.ts +1 -0
  98. package/src/shared/v4/shared-v4-file-data.ts +49 -0
  99. package/src/shared/v4/shared-v4-provider-metadata.ts +1 -1
  100. package/src/shared/v4/shared-v4-provider-options.ts +1 -1
  101. package/src/shared/v4/shared-v4-provider-reference.ts +8 -1
  102. package/src/skills/v4/index.ts +4 -4
  103. package/src/skills/v4/skills-v4-upload-skill-call-options.ts +37 -0
  104. package/src/skills/v4/skills-v4-upload-skill-result.ts +40 -0
  105. package/src/skills/v4/skills-v4.ts +5 -71
  106. package/src/speech-model/v2/speech-model-v2-call-options.ts +1 -1
  107. package/src/speech-model/v2/speech-model-v2-call-warning.ts +1 -1
  108. package/src/speech-model/v2/speech-model-v2.ts +4 -4
  109. package/src/speech-model/v3/speech-model-v3-call-options.ts +1 -1
  110. package/src/speech-model/v3/speech-model-v3.ts +4 -4
  111. package/src/speech-model/v4/index.ts +1 -0
  112. package/src/speech-model/v4/speech-model-v4-call-options.ts +1 -1
  113. package/src/speech-model/v4/speech-model-v4-result.ts +64 -0
  114. package/src/speech-model/v4/speech-model-v4.ts +5 -61
  115. package/src/transcription-model/v2/transcription-model-v2-call-options.ts +1 -1
  116. package/src/transcription-model/v2/transcription-model-v2-call-warning.ts +1 -1
  117. package/src/transcription-model/v2/transcription-model-v2.ts +4 -4
  118. package/src/transcription-model/v3/transcription-model-v3-call-options.ts +1 -1
  119. package/src/transcription-model/v3/transcription-model-v3.ts +4 -4
  120. package/src/transcription-model/v4/index.ts +1 -0
  121. package/src/transcription-model/v4/transcription-model-v4-call-options.ts +1 -1
  122. package/src/transcription-model/v4/transcription-model-v4-result.ts +92 -0
  123. package/src/transcription-model/v4/transcription-model-v4.ts +5 -89
  124. package/src/video-model/v3/video-model-v3-call-options.ts +2 -2
  125. package/src/video-model/v3/video-model-v3-file.ts +1 -1
  126. package/src/video-model/v4/index.ts +4 -3
  127. package/src/video-model/v4/video-model-v4-call-options.ts +2 -2
  128. package/src/video-model/v4/video-model-v4-file.ts +1 -1
  129. package/src/video-model/v4/video-model-v4-result.ts +92 -0
  130. package/src/video-model/v4/video-model-v4.ts +2 -88
  131. package/dist/index.d.mts +0 -6590
  132. package/dist/index.mjs +0 -426
  133. package/dist/index.mjs.map +0 -1
  134. package/src/language-model/v4/language-model-v4-data-content.ts +0 -4
@@ -1,7 +1,5 @@
1
- import { JSONObject } from '../../json-value';
2
- import { SharedV4Headers } from '../../shared';
3
- import { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
4
- import { TranscriptionModelV4CallOptions } from './transcription-model-v4-call-options';
1
+ import type { TranscriptionModelV4CallOptions } from './transcription-model-v4-call-options';
2
+ import type { TranscriptionModelV4Result } from './transcription-model-v4-result';
5
3
 
6
4
  /**
7
5
  * Transcription model specification version 3.
@@ -29,89 +27,7 @@ export type TranscriptionModelV4 = {
29
27
  /**
30
28
  * Generates a transcript.
31
29
  */
32
- doGenerate(options: TranscriptionModelV4CallOptions): PromiseLike<{
33
- /**
34
- * The complete transcribed text from the audio.
35
- */
36
- text: string;
37
-
38
- /**
39
- * Array of transcript segments with timing information.
40
- * Each segment represents a portion of the transcribed text with start and end times.
41
- */
42
- segments: Array<{
43
- /**
44
- * The text content of this segment.
45
- */
46
- text: string;
47
- /**
48
- * The start time of this segment in seconds.
49
- */
50
- startSecond: number;
51
- /**
52
- * The end time of this segment in seconds.
53
- */
54
- endSecond: number;
55
- }>;
56
-
57
- /**
58
- * The detected language of the audio content, as an ISO-639-1 code (e.g., 'en' for English).
59
- * May be undefined if the language couldn't be detected.
60
- */
61
- language: string | undefined;
62
-
63
- /**
64
- * The total duration of the audio file in seconds.
65
- * May be undefined if the duration couldn't be determined.
66
- */
67
- durationInSeconds: number | undefined;
68
-
69
- /**
70
- * Warnings for the call, e.g. unsupported settings.
71
- */
72
- warnings: Array<SharedV4Warning>;
73
-
74
- /**
75
- * Optional request information for telemetry and debugging purposes.
76
- */
77
- request?: {
78
- /**
79
- * Raw request HTTP body that was sent to the provider API as a string (JSON should be stringified).
80
- * Non-HTTP(s) providers should not set this.
81
- */
82
- body?: string;
83
- };
84
-
85
- /**
86
- * Response information for telemetry and debugging purposes.
87
- */
88
- response: {
89
- /**
90
- * Timestamp for the start of the generated response.
91
- */
92
- timestamp: Date;
93
-
94
- /**
95
- * The ID of the response model that was used to generate the response.
96
- */
97
- modelId: string;
98
-
99
- /**
100
- * Response headers.
101
- */
102
- headers?: SharedV4Headers;
103
-
104
- /**
105
- * Response body.
106
- */
107
- body?: unknown;
108
- };
109
-
110
- /**
111
- * Additional provider-specific metadata. They are passed through
112
- * from the provider to the AI SDK and enable provider-specific
113
- * results that can be fully encapsulated in the provider.
114
- */
115
- providerMetadata?: Record<string, JSONObject>;
116
- }>;
30
+ doGenerate(
31
+ options: TranscriptionModelV4CallOptions,
32
+ ): PromiseLike<TranscriptionModelV4Result>;
117
33
  };
@@ -1,5 +1,5 @@
1
- import { SharedV3ProviderOptions } from '../../shared';
2
- import { VideoModelV3File } from './video-model-v3-file';
1
+ import type { SharedV3ProviderOptions } from '../../shared';
2
+ import type { VideoModelV3File } from './video-model-v3-file';
3
3
 
4
4
  export type VideoModelV3CallOptions = {
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { SharedV3ProviderMetadata } from '../../shared';
1
+ import type { SharedV3ProviderMetadata } from '../../shared';
2
2
 
3
3
  /**
4
4
  * A video or image file that can be used for video editing or image-to-video generation.
@@ -1,6 +1,7 @@
1
+ export type { VideoModelV4 as Experimental_VideoModelV4 } from './video-model-v4';
2
+ export type { VideoModelV4CallOptions as Experimental_VideoModelV4CallOptions } from './video-model-v4-call-options';
1
3
  export type {
2
- VideoModelV4 as Experimental_VideoModelV4,
4
+ VideoModelV4Result as Experimental_VideoModelV4Result,
3
5
  VideoModelV4VideoData as Experimental_VideoModelV4VideoData,
4
- } from './video-model-v4';
5
- export type { VideoModelV4CallOptions as Experimental_VideoModelV4CallOptions } from './video-model-v4-call-options';
6
+ } from './video-model-v4-result';
6
7
  export type { VideoModelV4File as Experimental_VideoModelV4File } from './video-model-v4-file';
@@ -1,5 +1,5 @@
1
- import { SharedV4ProviderOptions } from '../../shared';
2
- import { VideoModelV4File } from './video-model-v4-file';
1
+ import type { SharedV4ProviderOptions } from '../../shared';
2
+ import type { VideoModelV4File } from './video-model-v4-file';
3
3
 
4
4
  export type VideoModelV4CallOptions = {
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { SharedV4ProviderMetadata } from '../../shared';
1
+ import type { SharedV4ProviderMetadata } from '../../shared';
2
2
 
3
3
  /**
4
4
  * A video or image file that can be used for video editing or image-to-video generation.
@@ -0,0 +1,92 @@
1
+ import type { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
2
+ import type { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
3
+
4
+ /**
5
+ * Generated video data. Can be a URL, base64-encoded string, or binary data.
6
+ */
7
+ export type VideoModelV4VideoData =
8
+ | {
9
+ /**
10
+ * Video available as a URL (most common for video providers).
11
+ */
12
+ type: 'url';
13
+ url: string;
14
+ mediaType: string;
15
+ }
16
+ | {
17
+ /**
18
+ * Video as base64-encoded string.
19
+ */
20
+ type: 'base64';
21
+ data: string;
22
+ mediaType: string;
23
+ }
24
+ | {
25
+ /**
26
+ * Video as binary data.
27
+ */
28
+ type: 'binary';
29
+ data: Uint8Array;
30
+ mediaType: string;
31
+ };
32
+
33
+ /**
34
+ * The result of a video model doGenerate call.
35
+ */
36
+ export type VideoModelV4Result = {
37
+ /**
38
+ * Generated videos as URLs, base64 strings, or binary data.
39
+ *
40
+ * Most providers return URLs to video files (MP4, WebM) due to large file sizes.
41
+ * Use the discriminated union to indicate the type of video data being returned.
42
+ */
43
+ videos: Array<VideoModelV4VideoData>;
44
+
45
+ /**
46
+ * Warnings for the call, e.g. unsupported features.
47
+ */
48
+ warnings: Array<SharedV4Warning>;
49
+
50
+ /**
51
+ * Additional provider-specific metadata. They are passed through
52
+ * from the provider to the AI SDK and enable provider-specific
53
+ * results that can be fully encapsulated in the provider.
54
+ *
55
+ * The outer record is keyed by the provider name, and the inner
56
+ * record is provider-specific metadata.
57
+ *
58
+ * ```ts
59
+ * {
60
+ * "fal": {
61
+ * "videos": [{
62
+ * "duration": 5.0,
63
+ * "fps": 24,
64
+ * "width": 1280,
65
+ * "height": 720
66
+ * }]
67
+ * }
68
+ * }
69
+ * ```
70
+ */
71
+ providerMetadata?: SharedV4ProviderMetadata;
72
+
73
+ /**
74
+ * Response information for telemetry and debugging purposes.
75
+ */
76
+ response: {
77
+ /**
78
+ * Timestamp for the start of the generated response.
79
+ */
80
+ timestamp: Date;
81
+
82
+ /**
83
+ * The ID of the response model that was used to generate the response.
84
+ */
85
+ modelId: string;
86
+
87
+ /**
88
+ * Response headers.
89
+ */
90
+ headers: Record<string, string> | undefined;
91
+ };
92
+ };
@@ -1,40 +1,10 @@
1
1
  import type { VideoModelV4CallOptions } from './video-model-v4-call-options';
2
- import type { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
3
- import type { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
2
+ import type { VideoModelV4Result } from './video-model-v4-result';
4
3
 
5
4
  type GetMaxVideosPerCallFunction = (options: {
6
5
  modelId: string;
7
6
  }) => PromiseLike<number | undefined> | number | undefined;
8
7
 
9
- /**
10
- * Generated video data. Can be a URL, base64-encoded string, or binary data.
11
- */
12
- export type VideoModelV4VideoData =
13
- | {
14
- /**
15
- * Video available as a URL (most common for video providers).
16
- */
17
- type: 'url';
18
- url: string;
19
- mediaType: string;
20
- }
21
- | {
22
- /**
23
- * Video as base64-encoded string.
24
- */
25
- type: 'base64';
26
- data: string;
27
- mediaType: string;
28
- }
29
- | {
30
- /**
31
- * Video as binary data.
32
- */
33
- type: 'binary';
34
- data: Uint8Array;
35
- mediaType: string;
36
- };
37
-
38
8
  /**
39
9
  * Video generation model specification version 3.
40
10
  */
@@ -72,61 +42,5 @@ export type VideoModelV4 = {
72
42
  /**
73
43
  * Generates an array of videos.
74
44
  */
75
- doGenerate(options: VideoModelV4CallOptions): PromiseLike<{
76
- /**
77
- * Generated videos as URLs, base64 strings, or binary data.
78
- *
79
- * Most providers return URLs to video files (MP4, WebM) due to large file sizes.
80
- * Use the discriminated union to indicate the type of video data being returned.
81
- */
82
- videos: Array<VideoModelV4VideoData>;
83
-
84
- /**
85
- * Warnings for the call, e.g. unsupported features.
86
- */
87
- warnings: Array<SharedV4Warning>;
88
-
89
- /**
90
- * Additional provider-specific metadata. They are passed through
91
- * from the provider to the AI SDK and enable provider-specific
92
- * results that can be fully encapsulated in the provider.
93
- *
94
- * The outer record is keyed by the provider name, and the inner
95
- * record is provider-specific metadata.
96
- *
97
- * ```ts
98
- * {
99
- * "fal": {
100
- * "videos": [{
101
- * "duration": 5.0,
102
- * "fps": 24,
103
- * "width": 1280,
104
- * "height": 720
105
- * }]
106
- * }
107
- * }
108
- * ```
109
- */
110
- providerMetadata?: SharedV4ProviderMetadata;
111
-
112
- /**
113
- * Response information for telemetry and debugging purposes.
114
- */
115
- response: {
116
- /**
117
- * Timestamp for the start of the generated response.
118
- */
119
- timestamp: Date;
120
-
121
- /**
122
- * The ID of the response model that was used to generate the response.
123
- */
124
- modelId: string;
125
-
126
- /**
127
- * Response headers.
128
- */
129
- headers: Record<string, string> | undefined;
130
- };
131
- }>;
45
+ doGenerate(options: VideoModelV4CallOptions): PromiseLike<VideoModelV4Result>;
132
46
  };