@ai-sdk/provider 4.0.0-beta.2 → 4.0.0-beta.20

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 (150) hide show
  1. package/CHANGELOG.md +136 -13
  2. package/dist/index.d.ts +1241 -449
  3. package/dist/index.js +53 -75
  4. package/dist/index.js.map +1 -1
  5. package/package.json +12 -12
  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/get-error-message.ts +1 -1
  16. package/src/errors/index.ts +1 -0
  17. package/src/errors/no-such-provider-reference-error.ts +35 -0
  18. package/src/files/index.ts +1 -0
  19. package/src/files/v4/files-v4-upload-file-call-options.ts +35 -0
  20. package/src/files/v4/files-v4-upload-file-result.ts +35 -0
  21. package/src/files/v4/files-v4.ts +25 -0
  22. package/src/files/v4/index.ts +3 -0
  23. package/src/image-model/v2/image-model-v2-call-options.ts +1 -1
  24. package/src/image-model/v2/image-model-v2-call-warning.ts +1 -1
  25. package/src/image-model/v2/image-model-v2.ts +3 -3
  26. package/src/image-model/v3/image-model-v3-call-options.ts +2 -2
  27. package/src/image-model/v3/image-model-v3-file.ts +1 -1
  28. package/src/image-model/v3/image-model-v3.ts +4 -4
  29. package/src/image-model/v4/image-model-v4-call-options.ts +2 -2
  30. package/src/image-model/v4/image-model-v4-file.ts +1 -1
  31. package/src/image-model/v4/image-model-v4-result.ts +73 -0
  32. package/src/image-model/v4/image-model-v4.ts +3 -70
  33. package/src/image-model/v4/index.ts +4 -3
  34. package/src/image-model-middleware/v3/image-model-v3-middleware.ts +2 -2
  35. package/src/image-model-middleware/v4/image-model-v4-middleware.ts +2 -2
  36. package/src/index.ts +3 -0
  37. package/src/json-value/is-json.ts +1 -1
  38. package/src/language-model/v2/language-model-v2-call-options.ts +6 -6
  39. package/src/language-model/v2/language-model-v2-call-warning.ts +3 -3
  40. package/src/language-model/v2/language-model-v2-content.ts +6 -6
  41. package/src/language-model/v2/language-model-v2-function-tool.ts +2 -2
  42. package/src/language-model/v2/language-model-v2-prompt.ts +3 -3
  43. package/src/language-model/v2/language-model-v2-reasoning.ts +1 -1
  44. package/src/language-model/v2/language-model-v2-source.ts +1 -1
  45. package/src/language-model/v2/language-model-v2-stream-part.ts +9 -9
  46. package/src/language-model/v2/language-model-v2-text.ts +1 -1
  47. package/src/language-model/v2/language-model-v2-tool-call.ts +1 -1
  48. package/src/language-model/v2/language-model-v2-tool-result.ts +1 -1
  49. package/src/language-model/v2/language-model-v2.ts +9 -9
  50. package/src/language-model/v3/language-model-v3-call-options.ts +6 -6
  51. package/src/language-model/v3/language-model-v3-content.ts +7 -7
  52. package/src/language-model/v3/language-model-v3-file.ts +1 -1
  53. package/src/language-model/v3/language-model-v3-function-tool.ts +3 -3
  54. package/src/language-model/v3/language-model-v3-generate-result.ts +6 -6
  55. package/src/language-model/v3/language-model-v3-prompt.ts +3 -3
  56. package/src/language-model/v3/language-model-v3-reasoning.ts +1 -1
  57. package/src/language-model/v3/language-model-v3-source.ts +1 -1
  58. package/src/language-model/v3/language-model-v3-stream-part.ts +10 -10
  59. package/src/language-model/v3/language-model-v3-stream-result.ts +2 -2
  60. package/src/language-model/v3/language-model-v3-text.ts +1 -1
  61. package/src/language-model/v3/language-model-v3-tool-approval-request.ts +1 -1
  62. package/src/language-model/v3/language-model-v3-tool-call.ts +1 -1
  63. package/src/language-model/v3/language-model-v3-tool-result.ts +2 -2
  64. package/src/language-model/v3/language-model-v3-usage.ts +1 -1
  65. package/src/language-model/v3/language-model-v3.ts +3 -3
  66. package/src/language-model/v4/index.ts +1 -1
  67. package/src/language-model/v4/language-model-v4-call-options.ts +19 -6
  68. package/src/language-model/v4/language-model-v4-content.ts +10 -8
  69. package/src/language-model/v4/language-model-v4-custom-content.ts +21 -0
  70. package/src/language-model/v4/language-model-v4-file.ts +10 -3
  71. package/src/language-model/v4/language-model-v4-function-tool.ts +3 -3
  72. package/src/language-model/v4/language-model-v4-generate-result.ts +6 -6
  73. package/src/language-model/v4/language-model-v4-prompt.ts +64 -103
  74. package/src/language-model/v4/language-model-v4-reasoning-file.ts +10 -3
  75. package/src/language-model/v4/language-model-v4-reasoning.ts +1 -1
  76. package/src/language-model/v4/language-model-v4-source.ts +1 -1
  77. package/src/language-model/v4/language-model-v4-stream-part.ts +13 -11
  78. package/src/language-model/v4/language-model-v4-stream-result.ts +2 -2
  79. package/src/language-model/v4/language-model-v4-text.ts +1 -1
  80. package/src/language-model/v4/language-model-v4-tool-approval-request.ts +1 -1
  81. package/src/language-model/v4/language-model-v4-tool-call.ts +1 -1
  82. package/src/language-model/v4/language-model-v4-tool-result.ts +2 -2
  83. package/src/language-model/v4/language-model-v4-usage.ts +1 -1
  84. package/src/language-model/v4/language-model-v4.ts +3 -3
  85. package/src/language-model-middleware/v2/language-model-v2-middleware.ts +2 -2
  86. package/src/language-model-middleware/v3/language-model-v3-middleware.ts +4 -4
  87. package/src/language-model-middleware/v4/language-model-v4-middleware.ts +4 -4
  88. package/src/provider/v2/provider-v2.ts +5 -5
  89. package/src/provider/v3/provider-v3.ts +6 -6
  90. package/src/provider/v4/provider-v4.ts +22 -6
  91. package/src/realtime-model/index.ts +1 -0
  92. package/src/realtime-model/v4/index.ts +20 -0
  93. package/src/realtime-model/v4/realtime-factory-v4.ts +20 -0
  94. package/src/realtime-model/v4/realtime-model-v4-client-event.ts +68 -0
  95. package/src/realtime-model/v4/realtime-model-v4-client-secret.ts +40 -0
  96. package/src/realtime-model/v4/realtime-model-v4-conversation-item.ts +55 -0
  97. package/src/realtime-model/v4/realtime-model-v4-server-event.ts +199 -0
  98. package/src/realtime-model/v4/realtime-model-v4-session-config.ts +142 -0
  99. package/src/realtime-model/v4/realtime-model-v4-tool-definition.ts +28 -0
  100. package/src/realtime-model/v4/realtime-model-v4.ts +89 -0
  101. package/src/reranking-model/v3/reranking-model-v3-call-options.ts +2 -2
  102. package/src/reranking-model/v3/reranking-model-v3.ts +2 -2
  103. package/src/reranking-model/v4/index.ts +1 -0
  104. package/src/reranking-model/v4/reranking-model-v4-call-options.ts +2 -2
  105. package/src/reranking-model/v4/reranking-model-v4-result.ts +68 -0
  106. package/src/reranking-model/v4/reranking-model-v4.ts +5 -65
  107. package/src/shared/v2/shared-v2-provider-metadata.ts +1 -1
  108. package/src/shared/v2/shared-v2-provider-options.ts +1 -1
  109. package/src/shared/v3/shared-v3-provider-metadata.ts +1 -1
  110. package/src/shared/v3/shared-v3-provider-options.ts +1 -1
  111. package/src/shared/v4/index.ts +2 -0
  112. package/src/shared/v4/shared-v4-file-data.ts +49 -0
  113. package/src/shared/v4/shared-v4-provider-metadata.ts +1 -1
  114. package/src/shared/v4/shared-v4-provider-options.ts +1 -1
  115. package/src/shared/v4/shared-v4-provider-reference.ts +22 -0
  116. package/src/shared/v4/shared-v4-warning.ts +16 -0
  117. package/src/skills/index.ts +1 -0
  118. package/src/skills/v4/index.ts +6 -0
  119. package/src/skills/v4/skills-v4-upload-skill-call-options.ts +37 -0
  120. package/src/skills/v4/skills-v4-upload-skill-result.ts +40 -0
  121. package/src/skills/v4/skills-v4.ts +28 -0
  122. package/src/speech-model/v2/speech-model-v2-call-options.ts +1 -1
  123. package/src/speech-model/v2/speech-model-v2-call-warning.ts +1 -1
  124. package/src/speech-model/v2/speech-model-v2.ts +4 -4
  125. package/src/speech-model/v3/speech-model-v3-call-options.ts +1 -1
  126. package/src/speech-model/v3/speech-model-v3.ts +4 -4
  127. package/src/speech-model/v4/index.ts +1 -0
  128. package/src/speech-model/v4/speech-model-v4-call-options.ts +1 -1
  129. package/src/speech-model/v4/speech-model-v4-result.ts +64 -0
  130. package/src/speech-model/v4/speech-model-v4.ts +5 -61
  131. package/src/transcription-model/v2/transcription-model-v2-call-options.ts +1 -1
  132. package/src/transcription-model/v2/transcription-model-v2-call-warning.ts +1 -1
  133. package/src/transcription-model/v2/transcription-model-v2.ts +4 -4
  134. package/src/transcription-model/v3/transcription-model-v3-call-options.ts +1 -1
  135. package/src/transcription-model/v3/transcription-model-v3.ts +4 -4
  136. package/src/transcription-model/v4/index.ts +1 -0
  137. package/src/transcription-model/v4/transcription-model-v4-call-options.ts +1 -1
  138. package/src/transcription-model/v4/transcription-model-v4-result.ts +92 -0
  139. package/src/transcription-model/v4/transcription-model-v4.ts +5 -89
  140. package/src/video-model/v3/video-model-v3-call-options.ts +7 -2
  141. package/src/video-model/v3/video-model-v3-file.ts +1 -1
  142. package/src/video-model/v4/index.ts +4 -3
  143. package/src/video-model/v4/video-model-v4-call-options.ts +7 -2
  144. package/src/video-model/v4/video-model-v4-file.ts +1 -1
  145. package/src/video-model/v4/video-model-v4-result.ts +92 -0
  146. package/src/video-model/v4/video-model-v4.ts +2 -88
  147. package/dist/index.d.mts +0 -6354
  148. package/dist/index.mjs +0 -404
  149. package/dist/index.mjs.map +0 -1
  150. package/src/language-model/v4/language-model-v4-data-content.ts +0 -4
@@ -0,0 +1,35 @@
1
+ import type { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
2
+ import type { SharedV4ProviderReference } from '../../shared/v4/shared-v4-provider-reference';
3
+ import type { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
4
+
5
+ /**
6
+ * Result of uploading a file via the files interface.
7
+ */
8
+ export type FilesV4UploadFileResult = {
9
+ /**
10
+ * A provider reference mapping provider names to provider-specific file identifiers.
11
+ */
12
+ providerReference: SharedV4ProviderReference;
13
+
14
+ /**
15
+ * The IANA media type of the uploaded file, if available from the provider.
16
+ */
17
+ mediaType?: string;
18
+
19
+ /**
20
+ * The filename of the uploaded file, if available from the provider.
21
+ */
22
+ filename?: string;
23
+
24
+ /**
25
+ * Additional provider-specific metadata. They are passed through
26
+ * to the provider from the AI SDK and enable provider-specific
27
+ * functionality that can be fully encapsulated in the provider.
28
+ */
29
+ providerMetadata?: SharedV4ProviderMetadata;
30
+
31
+ /**
32
+ * Warnings from the provider.
33
+ */
34
+ warnings: Array<SharedV4Warning>;
35
+ };
@@ -0,0 +1,25 @@
1
+ import type { FilesV4UploadFileCallOptions } from './files-v4-upload-file-call-options';
2
+ import type { FilesV4UploadFileResult } from './files-v4-upload-file-result';
3
+
4
+ /**
5
+ * Specification for a file management interface that implements the files interface version 4.
6
+ */
7
+ export type FilesV4 = {
8
+ /**
9
+ * The files interface must specify which files interface version it implements.
10
+ */
11
+ readonly specificationVersion: 'v4';
12
+
13
+ /**
14
+ * Provider ID.
15
+ */
16
+ readonly provider: string;
17
+
18
+ /**
19
+ * Uploads a file to the provider and returns a provider reference
20
+ * that can be used in subsequent API calls.
21
+ */
22
+ uploadFile(
23
+ options: FilesV4UploadFileCallOptions,
24
+ ): PromiseLike<FilesV4UploadFileResult>;
25
+ };
@@ -0,0 +1,3 @@
1
+ export type { FilesV4 } from './files-v4';
2
+ export type { FilesV4UploadFileCallOptions } from './files-v4-upload-file-call-options';
3
+ export type { FilesV4UploadFileResult } from './files-v4-upload-file-result';
@@ -1,4 +1,4 @@
1
- import { SharedV2ProviderOptions } from '../../shared';
1
+ import type { SharedV2ProviderOptions } from '../../shared';
2
2
 
3
3
  export type ImageModelV2CallOptions = {
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { ImageModelV2CallOptions } from './image-model-v2-call-options';
1
+ import type { ImageModelV2CallOptions } from './image-model-v2-call-options';
2
2
 
3
3
  /**
4
4
  * Warning from the model provider for this call. The call will proceed, but e.g.
@@ -1,6 +1,6 @@
1
- import { JSONArray, JSONValue } from '../../json-value';
2
- import { ImageModelV2CallOptions } from './image-model-v2-call-options';
3
- import { ImageModelV2CallWarning } from './image-model-v2-call-warning';
1
+ import type { JSONArray, JSONValue } from '../../json-value';
2
+ import type { ImageModelV2CallOptions } from './image-model-v2-call-options';
3
+ import type { ImageModelV2CallWarning } from './image-model-v2-call-warning';
4
4
 
5
5
  export type ImageModelV2ProviderMetadata = Record<
6
6
  string,
@@ -1,5 +1,5 @@
1
- import { SharedV3ProviderOptions } from '../../shared';
2
- import { ImageModelV3File } from './image-model-v3-file';
1
+ import type { SharedV3ProviderOptions } from '../../shared';
2
+ import type { ImageModelV3File } from './image-model-v3-file';
3
3
 
4
4
  export type ImageModelV3CallOptions = {
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { SharedV3ProviderMetadata } from '../../shared';
1
+ import type { SharedV3ProviderMetadata } from '../../shared';
2
2
 
3
3
  /**
4
4
  * An image file that can be used for image editing or variation generation.
@@ -1,7 +1,7 @@
1
- import { JSONArray, JSONValue } from '../../json-value';
2
- import { ImageModelV3Usage } from './image-model-v3-usage';
3
- import { ImageModelV3CallOptions } from './image-model-v3-call-options';
4
- import { SharedV3Warning } from '../../shared/v3/shared-v3-warning';
1
+ import type { JSONArray, JSONValue } from '../../json-value';
2
+ import type { ImageModelV3Usage } from './image-model-v3-usage';
3
+ import type { ImageModelV3CallOptions } from './image-model-v3-call-options';
4
+ import type { SharedV3Warning } from '../../shared/v3/shared-v3-warning';
5
5
 
6
6
  export type ImageModelV3ProviderMetadata = Record<
7
7
  string,
@@ -1,5 +1,5 @@
1
- import { SharedV4ProviderOptions } from '../../shared';
2
- import { ImageModelV4File } from './image-model-v4-file';
1
+ import type { SharedV4ProviderOptions } from '../../shared';
2
+ import type { ImageModelV4File } from './image-model-v4-file';
3
3
 
4
4
  export type ImageModelV4CallOptions = {
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { SharedV4ProviderMetadata } from '../../shared';
1
+ import type { SharedV4ProviderMetadata } from '../../shared';
2
2
 
3
3
  /**
4
4
  * An image file that can be used for image editing or variation generation.
@@ -0,0 +1,73 @@
1
+ import type { JSONArray, JSONValue } from '../../json-value';
2
+ import type { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
3
+ import type { ImageModelV4Usage } from './image-model-v4-usage';
4
+
5
+ export type ImageModelV4ProviderMetadata = Record<
6
+ string,
7
+ {
8
+ images: JSONArray;
9
+ } & JSONValue
10
+ >;
11
+
12
+ /**
13
+ * The result of an image model doGenerate call.
14
+ */
15
+ export type ImageModelV4Result = {
16
+ /**
17
+ * Generated images as base64 encoded strings or binary data.
18
+ * The images should be returned without any unnecessary conversion.
19
+ * If the API returns base64 encoded strings, the images should be returned
20
+ * as base64 encoded strings. If the API returns binary data, the images should
21
+ * be returned as binary data.
22
+ */
23
+ images: Array<string> | Array<Uint8Array>;
24
+
25
+ /**
26
+ * Warnings for the call, e.g. unsupported features.
27
+ */
28
+ warnings: Array<SharedV4Warning>;
29
+
30
+ /**
31
+ * Additional provider-specific metadata. They are passed through
32
+ * from the provider to the AI SDK and enable provider-specific
33
+ * results that can be fully encapsulated in the provider.
34
+ *
35
+ * The outer record is keyed by the provider name, and the inner
36
+ * record is provider-specific metadata. It always includes an
37
+ * `images` key with image-specific metadata
38
+ *
39
+ * ```ts
40
+ * {
41
+ * "openai": {
42
+ * "images": ["revisedPrompt": "Revised prompt here."]
43
+ * }
44
+ * }
45
+ * ```
46
+ */
47
+ providerMetadata?: ImageModelV4ProviderMetadata;
48
+
49
+ /**
50
+ * Response information for telemetry and debugging purposes.
51
+ */
52
+ response: {
53
+ /**
54
+ * Timestamp for the start of the generated response.
55
+ */
56
+ timestamp: Date;
57
+
58
+ /**
59
+ * The ID of the response model that was used to generate the response.
60
+ */
61
+ modelId: string;
62
+
63
+ /**
64
+ * Response headers.
65
+ */
66
+ headers: Record<string, string> | undefined;
67
+ };
68
+
69
+ /**
70
+ * Optional token usage for the image generation call (if the provider reports it).
71
+ */
72
+ usage?: ImageModelV4Usage;
73
+ };
@@ -1,14 +1,5 @@
1
- import { JSONArray, JSONValue } from '../../json-value';
2
- import { ImageModelV4Usage } from './image-model-v4-usage';
3
- import { ImageModelV4CallOptions } from './image-model-v4-call-options';
4
- import { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
5
-
6
- export type ImageModelV4ProviderMetadata = Record<
7
- string,
8
- {
9
- images: JSONArray;
10
- } & JSONValue
11
- >;
1
+ import type { ImageModelV4CallOptions } from './image-model-v4-call-options';
2
+ import type { ImageModelV4Result } from './image-model-v4-result';
12
3
 
13
4
  type GetMaxImagesPerCallFunction = (options: {
14
5
  modelId: string;
@@ -48,63 +39,5 @@ export type ImageModelV4 = {
48
39
  /**
49
40
  * Generates an array of images.
50
41
  */
51
- doGenerate(options: ImageModelV4CallOptions): PromiseLike<{
52
- /**
53
- * Generated images as base64 encoded strings or binary data.
54
- * The images should be returned without any unnecessary conversion.
55
- * If the API returns base64 encoded strings, the images should be returned
56
- * as base64 encoded strings. If the API returns binary data, the images should
57
- * be returned as binary data.
58
- */
59
- images: Array<string> | Array<Uint8Array>;
60
-
61
- /**
62
- * Warnings for the call, e.g. unsupported features.
63
- */
64
- warnings: Array<SharedV4Warning>;
65
-
66
- /**
67
- * Additional provider-specific metadata. They are passed through
68
- * from the provider to the AI SDK and enable provider-specific
69
- * results that can be fully encapsulated in the provider.
70
- *
71
- * The outer record is keyed by the provider name, and the inner
72
- * record is provider-specific metadata. It always includes an
73
- * `images` key with image-specific metadata
74
- *
75
- * ```ts
76
- * {
77
- * "openai": {
78
- * "images": ["revisedPrompt": "Revised prompt here."]
79
- * }
80
- * }
81
- * ```
82
- */
83
- providerMetadata?: ImageModelV4ProviderMetadata;
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: Record<string, string> | undefined;
103
- };
104
-
105
- /**
106
- * Optional token usage for the image generation call (if the provider reports it).
107
- */
108
- usage?: ImageModelV4Usage;
109
- }>;
42
+ doGenerate(options: ImageModelV4CallOptions): PromiseLike<ImageModelV4Result>;
110
43
  };
@@ -1,7 +1,8 @@
1
+ export type { ImageModelV4 } from './image-model-v4';
2
+ export type { ImageModelV4CallOptions } from './image-model-v4-call-options';
1
3
  export type {
2
- ImageModelV4,
3
4
  ImageModelV4ProviderMetadata,
4
- } from './image-model-v4';
5
- export type { ImageModelV4CallOptions } from './image-model-v4-call-options';
5
+ ImageModelV4Result,
6
+ } from './image-model-v4-result';
6
7
  export type { ImageModelV4Usage } from './image-model-v4-usage';
7
8
  export type { ImageModelV4File } from './image-model-v4-file';
@@ -1,5 +1,5 @@
1
- import { ImageModelV3 } from '../../image-model/v3/image-model-v3';
2
- import { ImageModelV3CallOptions } from '../../image-model/v3/image-model-v3-call-options';
1
+ import type { ImageModelV3 } from '../../image-model/v3/image-model-v3';
2
+ import type { ImageModelV3CallOptions } from '../../image-model/v3/image-model-v3-call-options';
3
3
 
4
4
  /**
5
5
  * Middleware for ImageModelV3.
@@ -1,5 +1,5 @@
1
- import { ImageModelV4 } from '../../image-model/v4/image-model-v4';
2
- import { ImageModelV4CallOptions } from '../../image-model/v4/image-model-v4-call-options';
1
+ import type { ImageModelV4 } from '../../image-model/v4/image-model-v4';
2
+ import type { ImageModelV4CallOptions } from '../../image-model/v4/image-model-v4-call-options';
3
3
 
4
4
  /**
5
5
  * Middleware for ImageModelV4.
package/src/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './embedding-model/index';
2
2
  export * from './errors/index';
3
+ export * from './files/index';
3
4
  export * from './image-model/index';
4
5
  export * from './image-model-middleware/index';
5
6
  export * from './json-value/index';
@@ -7,8 +8,10 @@ export * from './language-model-middleware/index';
7
8
  export * from './embedding-model-middleware/index';
8
9
  export * from './language-model/index';
9
10
  export * from './provider/index';
11
+ export * from './realtime-model/v4/index';
10
12
  export * from './reranking-model/index';
11
13
  export * from './shared/index';
14
+ export * from './skills/index';
12
15
  export * from './speech-model/index';
13
16
  export * from './transcription-model/index';
14
17
  export * from './video-model/index';
@@ -1,4 +1,4 @@
1
- import { JSONArray, JSONObject, JSONValue } from './json-value';
1
+ import type { JSONArray, JSONObject, JSONValue } from './json-value';
2
2
 
3
3
  export function isJSONValue(value: unknown): value is JSONValue {
4
4
  if (
@@ -1,9 +1,9 @@
1
- import { JSONSchema7 } from 'json-schema';
2
- import { SharedV2ProviderOptions } from '../../shared/v2/shared-v2-provider-options';
3
- import { LanguageModelV2FunctionTool } from './language-model-v2-function-tool';
4
- import { LanguageModelV2Prompt } from './language-model-v2-prompt';
5
- import { LanguageModelV2ProviderDefinedTool } from './language-model-v2-provider-defined-tool';
6
- import { LanguageModelV2ToolChoice } from './language-model-v2-tool-choice';
1
+ import type { JSONSchema7 } from 'json-schema';
2
+ import type { SharedV2ProviderOptions } from '../../shared/v2/shared-v2-provider-options';
3
+ import type { LanguageModelV2FunctionTool } from './language-model-v2-function-tool';
4
+ import type { LanguageModelV2Prompt } from './language-model-v2-prompt';
5
+ import type { LanguageModelV2ProviderDefinedTool } from './language-model-v2-provider-defined-tool';
6
+ import type { LanguageModelV2ToolChoice } from './language-model-v2-tool-choice';
7
7
 
8
8
  export type LanguageModelV2CallOptions = {
9
9
  /**
@@ -1,6 +1,6 @@
1
- import { LanguageModelV2CallOptions } from './language-model-v2-call-options';
2
- import { LanguageModelV2FunctionTool } from './language-model-v2-function-tool';
3
- import { LanguageModelV2ProviderDefinedTool } from './language-model-v2-provider-defined-tool';
1
+ import type { LanguageModelV2CallOptions } from './language-model-v2-call-options';
2
+ import type { LanguageModelV2FunctionTool } from './language-model-v2-function-tool';
3
+ import type { LanguageModelV2ProviderDefinedTool } from './language-model-v2-provider-defined-tool';
4
4
 
5
5
  /**
6
6
  * Warning from the model provider for this call. The call will proceed, but e.g.
@@ -1,9 +1,9 @@
1
- import { LanguageModelV2File } from './language-model-v2-file';
2
- import { LanguageModelV2Reasoning } from './language-model-v2-reasoning';
3
- import { LanguageModelV2Source } from './language-model-v2-source';
4
- import { LanguageModelV2Text } from './language-model-v2-text';
5
- import { LanguageModelV2ToolCall } from './language-model-v2-tool-call';
6
- import { LanguageModelV2ToolResult } from './language-model-v2-tool-result';
1
+ import type { LanguageModelV2File } from './language-model-v2-file';
2
+ import type { LanguageModelV2Reasoning } from './language-model-v2-reasoning';
3
+ import type { LanguageModelV2Source } from './language-model-v2-source';
4
+ import type { LanguageModelV2Text } from './language-model-v2-text';
5
+ import type { LanguageModelV2ToolCall } from './language-model-v2-tool-call';
6
+ import type { LanguageModelV2ToolResult } from './language-model-v2-tool-result';
7
7
 
8
8
  export type LanguageModelV2Content =
9
9
  | LanguageModelV2Text
@@ -1,5 +1,5 @@
1
- import { JSONSchema7 } from 'json-schema';
2
- import { SharedV2ProviderOptions } from '../../shared';
1
+ import type { JSONSchema7 } from 'json-schema';
2
+ import type { SharedV2ProviderOptions } from '../../shared';
3
3
 
4
4
  /**
5
5
  * A tool has a name, a description, and a set of parameters.
@@ -1,6 +1,6 @@
1
- import { JSONValue } from '../../json-value/json-value';
2
- import { SharedV2ProviderOptions } from '../../shared/v2/shared-v2-provider-options';
3
- import { LanguageModelV2DataContent } from './language-model-v2-data-content';
1
+ import type { JSONValue } from '../../json-value/json-value';
2
+ import type { SharedV2ProviderOptions } from '../../shared/v2/shared-v2-provider-options';
3
+ import type { LanguageModelV2DataContent } from './language-model-v2-data-content';
4
4
 
5
5
  /**
6
6
  * A prompt is a list of messages.
@@ -1,4 +1,4 @@
1
- import { SharedV2ProviderMetadata } from '../../shared';
1
+ import type { SharedV2ProviderMetadata } from '../../shared';
2
2
 
3
3
  /**
4
4
  * Reasoning that the model has generated.
@@ -1,4 +1,4 @@
1
- import { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
1
+ import type { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
2
2
 
3
3
  /**
4
4
  * A source that has been used as input to generate the response.
@@ -1,12 +1,12 @@
1
- import { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
2
- import { LanguageModelV2CallWarning } from './language-model-v2-call-warning';
3
- import { LanguageModelV2File } from './language-model-v2-file';
4
- import { LanguageModelV2FinishReason } from './language-model-v2-finish-reason';
5
- import { LanguageModelV2ResponseMetadata } from './language-model-v2-response-metadata';
6
- import { LanguageModelV2Source } from './language-model-v2-source';
7
- import { LanguageModelV2ToolCall } from './language-model-v2-tool-call';
8
- import { LanguageModelV2ToolResult } from './language-model-v2-tool-result';
9
- import { LanguageModelV2Usage } from './language-model-v2-usage';
1
+ import type { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
2
+ import type { LanguageModelV2CallWarning } from './language-model-v2-call-warning';
3
+ import type { LanguageModelV2File } from './language-model-v2-file';
4
+ import type { LanguageModelV2FinishReason } from './language-model-v2-finish-reason';
5
+ import type { LanguageModelV2ResponseMetadata } from './language-model-v2-response-metadata';
6
+ import type { LanguageModelV2Source } from './language-model-v2-source';
7
+ import type { LanguageModelV2ToolCall } from './language-model-v2-tool-call';
8
+ import type { LanguageModelV2ToolResult } from './language-model-v2-tool-result';
9
+ import type { LanguageModelV2Usage } from './language-model-v2-usage';
10
10
 
11
11
  export type LanguageModelV2StreamPart =
12
12
  // Text blocks:
@@ -1,4 +1,4 @@
1
- import { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
1
+ import type { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
2
2
 
3
3
  /**
4
4
  * Text that the model has generated.
@@ -1,4 +1,4 @@
1
- import { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
1
+ import type { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
2
2
 
3
3
  /**
4
4
  * Tool calls that the model has generated.
@@ -1,4 +1,4 @@
1
- import { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
1
+ import type { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
2
2
 
3
3
  /**
4
4
  * Result of a tool call that has been executed by the provider.
@@ -1,12 +1,12 @@
1
- import { SharedV2Headers } from '../../shared';
2
- import { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
3
- import { LanguageModelV2CallOptions } from './language-model-v2-call-options';
4
- import { LanguageModelV2CallWarning } from './language-model-v2-call-warning';
5
- import { LanguageModelV2Content } from './language-model-v2-content';
6
- import { LanguageModelV2FinishReason } from './language-model-v2-finish-reason';
7
- import { LanguageModelV2ResponseMetadata } from './language-model-v2-response-metadata';
8
- import { LanguageModelV2StreamPart } from './language-model-v2-stream-part';
9
- import { LanguageModelV2Usage } from './language-model-v2-usage';
1
+ import type { SharedV2Headers } from '../../shared';
2
+ import type { SharedV2ProviderMetadata } from '../../shared/v2/shared-v2-provider-metadata';
3
+ import type { LanguageModelV2CallOptions } from './language-model-v2-call-options';
4
+ import type { LanguageModelV2CallWarning } from './language-model-v2-call-warning';
5
+ import type { LanguageModelV2Content } from './language-model-v2-content';
6
+ import type { LanguageModelV2FinishReason } from './language-model-v2-finish-reason';
7
+ import type { LanguageModelV2ResponseMetadata } from './language-model-v2-response-metadata';
8
+ import type { LanguageModelV2StreamPart } from './language-model-v2-stream-part';
9
+ import type { LanguageModelV2Usage } from './language-model-v2-usage';
10
10
 
11
11
  /**
12
12
  * Specification for a language model that implements the language model interface version 2.
@@ -1,9 +1,9 @@
1
- import { JSONSchema7 } from 'json-schema';
2
- import { SharedV3ProviderOptions } from '../../shared/v3/shared-v3-provider-options';
3
- import { LanguageModelV3FunctionTool } from './language-model-v3-function-tool';
4
- import { LanguageModelV3Prompt } from './language-model-v3-prompt';
5
- import { LanguageModelV3ProviderTool } from './language-model-v3-provider-tool';
6
- import { LanguageModelV3ToolChoice } from './language-model-v3-tool-choice';
1
+ import type { JSONSchema7 } from 'json-schema';
2
+ import type { SharedV3ProviderOptions } from '../../shared/v3/shared-v3-provider-options';
3
+ import type { LanguageModelV3FunctionTool } from './language-model-v3-function-tool';
4
+ import type { LanguageModelV3Prompt } from './language-model-v3-prompt';
5
+ import type { LanguageModelV3ProviderTool } from './language-model-v3-provider-tool';
6
+ import type { LanguageModelV3ToolChoice } from './language-model-v3-tool-choice';
7
7
 
8
8
  export type LanguageModelV3CallOptions = {
9
9
  /**
@@ -1,10 +1,10 @@
1
- import { LanguageModelV3File } from './language-model-v3-file';
2
- import { LanguageModelV3Reasoning } from './language-model-v3-reasoning';
3
- import { LanguageModelV3Source } from './language-model-v3-source';
4
- import { LanguageModelV3Text } from './language-model-v3-text';
5
- import { LanguageModelV3ToolApprovalRequest } from './language-model-v3-tool-approval-request';
6
- import { LanguageModelV3ToolCall } from './language-model-v3-tool-call';
7
- import { LanguageModelV3ToolResult } from './language-model-v3-tool-result';
1
+ import type { LanguageModelV3File } from './language-model-v3-file';
2
+ import type { LanguageModelV3Reasoning } from './language-model-v3-reasoning';
3
+ import type { LanguageModelV3Source } from './language-model-v3-source';
4
+ import type { LanguageModelV3Text } from './language-model-v3-text';
5
+ import type { LanguageModelV3ToolApprovalRequest } from './language-model-v3-tool-approval-request';
6
+ import type { LanguageModelV3ToolCall } from './language-model-v3-tool-call';
7
+ import type { LanguageModelV3ToolResult } from './language-model-v3-tool-result';
8
8
 
9
9
  export type LanguageModelV3Content =
10
10
  | LanguageModelV3Text
@@ -1,4 +1,4 @@
1
- import { SharedV3ProviderMetadata } from '../../shared';
1
+ import type { SharedV3ProviderMetadata } from '../../shared';
2
2
 
3
3
  /**
4
4
  * A file that has been generated by the model.
@@ -1,6 +1,6 @@
1
- import { JSONSchema7 } from 'json-schema';
2
- import { SharedV3ProviderOptions } from '../../shared';
3
- import { JSONObject } from '../../json-value';
1
+ import type { JSONSchema7 } from 'json-schema';
2
+ import type { SharedV3ProviderOptions } from '../../shared';
3
+ import type { JSONObject } from '../../json-value';
4
4
 
5
5
  /**
6
6
  * A tool has a name, a description, and a set of parameters.
@@ -1,9 +1,9 @@
1
- import { SharedV3Headers, SharedV3Warning } from '../../shared';
2
- import { SharedV3ProviderMetadata } from '../../shared/v3/shared-v3-provider-metadata';
3
- import { LanguageModelV3Content } from './language-model-v3-content';
4
- import { LanguageModelV3FinishReason } from './language-model-v3-finish-reason';
5
- import { LanguageModelV3ResponseMetadata } from './language-model-v3-response-metadata';
6
- import { LanguageModelV3Usage } from './language-model-v3-usage';
1
+ import type { SharedV3Headers, SharedV3Warning } from '../../shared';
2
+ import type { SharedV3ProviderMetadata } from '../../shared/v3/shared-v3-provider-metadata';
3
+ import type { LanguageModelV3Content } from './language-model-v3-content';
4
+ import type { LanguageModelV3FinishReason } from './language-model-v3-finish-reason';
5
+ import type { LanguageModelV3ResponseMetadata } from './language-model-v3-response-metadata';
6
+ import type { LanguageModelV3Usage } from './language-model-v3-usage';
7
7
 
8
8
  /**
9
9
  * The result of a language model doGenerate call.
@@ -1,6 +1,6 @@
1
- import { JSONValue } from '../../json-value/json-value';
2
- import { SharedV3ProviderOptions } from '../../shared/v3/shared-v3-provider-options';
3
- import { LanguageModelV3DataContent } from './language-model-v3-data-content';
1
+ import type { JSONValue } from '../../json-value/json-value';
2
+ import type { SharedV3ProviderOptions } from '../../shared/v3/shared-v3-provider-options';
3
+ import type { LanguageModelV3DataContent } from './language-model-v3-data-content';
4
4
 
5
5
  /**
6
6
  * A prompt is a list of messages.
@@ -1,4 +1,4 @@
1
- import { SharedV3ProviderMetadata } from '../../shared';
1
+ import type { SharedV3ProviderMetadata } from '../../shared';
2
2
 
3
3
  /**
4
4
  * Reasoning that the model has generated.
@@ -1,4 +1,4 @@
1
- import { SharedV3ProviderMetadata } from '../../shared/v3/shared-v3-provider-metadata';
1
+ import type { SharedV3ProviderMetadata } from '../../shared/v3/shared-v3-provider-metadata';
2
2
 
3
3
  /**
4
4
  * A source that has been used as input to generate the response.
@@ -1,13 +1,13 @@
1
- import { SharedV3ProviderMetadata } from '../../shared/v3/shared-v3-provider-metadata';
2
- import { SharedV3Warning } from '../../shared/v3/shared-v3-warning';
3
- import { LanguageModelV3File } from './language-model-v3-file';
4
- import { LanguageModelV3FinishReason } from './language-model-v3-finish-reason';
5
- import { LanguageModelV3ResponseMetadata } from './language-model-v3-response-metadata';
6
- import { LanguageModelV3Source } from './language-model-v3-source';
7
- import { LanguageModelV3ToolApprovalRequest } from './language-model-v3-tool-approval-request';
8
- import { LanguageModelV3ToolCall } from './language-model-v3-tool-call';
9
- import { LanguageModelV3ToolResult } from './language-model-v3-tool-result';
10
- import { LanguageModelV3Usage } from './language-model-v3-usage';
1
+ import type { SharedV3ProviderMetadata } from '../../shared/v3/shared-v3-provider-metadata';
2
+ import type { SharedV3Warning } from '../../shared/v3/shared-v3-warning';
3
+ import type { LanguageModelV3File } from './language-model-v3-file';
4
+ import type { LanguageModelV3FinishReason } from './language-model-v3-finish-reason';
5
+ import type { LanguageModelV3ResponseMetadata } from './language-model-v3-response-metadata';
6
+ import type { LanguageModelV3Source } from './language-model-v3-source';
7
+ import type { LanguageModelV3ToolApprovalRequest } from './language-model-v3-tool-approval-request';
8
+ import type { LanguageModelV3ToolCall } from './language-model-v3-tool-call';
9
+ import type { LanguageModelV3ToolResult } from './language-model-v3-tool-result';
10
+ import type { LanguageModelV3Usage } from './language-model-v3-usage';
11
11
 
12
12
  export type LanguageModelV3StreamPart =
13
13
  // Text blocks: