@ai-sdk/provider 4.0.0-beta.13 → 4.0.0-beta.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.
Files changed (121) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/index.d.ts +103 -37
  3. package/dist/index.js.map +1 -1
  4. package/package.json +1 -1
  5. package/src/embedding-model/v2/embedding-model-v2.ts +2 -2
  6. package/src/embedding-model/v3/embedding-model-v3-call-options.ts +1 -1
  7. package/src/embedding-model/v3/embedding-model-v3-result.ts +2 -2
  8. package/src/embedding-model/v3/embedding-model-v3.ts +2 -2
  9. package/src/embedding-model/v4/embedding-model-v4-call-options.ts +1 -1
  10. package/src/embedding-model/v4/embedding-model-v4-result.ts +2 -2
  11. package/src/embedding-model/v4/embedding-model-v4.ts +2 -2
  12. package/src/embedding-model-middleware/v3/embedding-model-v3-middleware.ts +2 -2
  13. package/src/embedding-model-middleware/v4/embedding-model-v4-middleware.ts +2 -2
  14. package/src/errors/no-such-provider-reference-error.ts +1 -1
  15. package/src/files/v4/files-v4-upload-file-call-options.ts +10 -3
  16. package/src/files/v4/files-v4-upload-file-result.ts +3 -3
  17. package/src/files/v4/files-v4.ts +2 -2
  18. package/src/image-model/v2/image-model-v2-call-options.ts +1 -1
  19. package/src/image-model/v2/image-model-v2-call-warning.ts +1 -1
  20. package/src/image-model/v2/image-model-v2.ts +3 -3
  21. package/src/image-model/v3/image-model-v3-call-options.ts +2 -2
  22. package/src/image-model/v3/image-model-v3-file.ts +1 -1
  23. package/src/image-model/v3/image-model-v3.ts +4 -4
  24. package/src/image-model/v4/image-model-v4-call-options.ts +2 -2
  25. package/src/image-model/v4/image-model-v4-file.ts +1 -1
  26. package/src/image-model/v4/image-model-v4-result.ts +3 -3
  27. package/src/image-model/v4/image-model-v4.ts +2 -2
  28. package/src/image-model-middleware/v3/image-model-v3-middleware.ts +2 -2
  29. package/src/image-model-middleware/v4/image-model-v4-middleware.ts +2 -2
  30. package/src/json-value/is-json.ts +1 -1
  31. package/src/language-model/v2/language-model-v2-call-options.ts +6 -6
  32. package/src/language-model/v2/language-model-v2-call-warning.ts +3 -3
  33. package/src/language-model/v2/language-model-v2-content.ts +6 -6
  34. package/src/language-model/v2/language-model-v2-function-tool.ts +2 -2
  35. package/src/language-model/v2/language-model-v2-prompt.ts +3 -3
  36. package/src/language-model/v2/language-model-v2-reasoning.ts +1 -1
  37. package/src/language-model/v2/language-model-v2-source.ts +1 -1
  38. package/src/language-model/v2/language-model-v2-stream-part.ts +9 -9
  39. package/src/language-model/v2/language-model-v2-text.ts +1 -1
  40. package/src/language-model/v2/language-model-v2-tool-call.ts +1 -1
  41. package/src/language-model/v2/language-model-v2-tool-result.ts +1 -1
  42. package/src/language-model/v2/language-model-v2.ts +9 -9
  43. package/src/language-model/v3/language-model-v3-call-options.ts +6 -6
  44. package/src/language-model/v3/language-model-v3-content.ts +7 -7
  45. package/src/language-model/v3/language-model-v3-file.ts +1 -1
  46. package/src/language-model/v3/language-model-v3-function-tool.ts +3 -3
  47. package/src/language-model/v3/language-model-v3-generate-result.ts +6 -6
  48. package/src/language-model/v3/language-model-v3-prompt.ts +3 -3
  49. package/src/language-model/v3/language-model-v3-reasoning.ts +1 -1
  50. package/src/language-model/v3/language-model-v3-source.ts +1 -1
  51. package/src/language-model/v3/language-model-v3-stream-part.ts +10 -10
  52. package/src/language-model/v3/language-model-v3-stream-result.ts +2 -2
  53. package/src/language-model/v3/language-model-v3-text.ts +1 -1
  54. package/src/language-model/v3/language-model-v3-tool-approval-request.ts +1 -1
  55. package/src/language-model/v3/language-model-v3-tool-call.ts +1 -1
  56. package/src/language-model/v3/language-model-v3-tool-result.ts +2 -2
  57. package/src/language-model/v3/language-model-v3-usage.ts +1 -1
  58. package/src/language-model/v3/language-model-v3.ts +3 -3
  59. package/src/language-model/v4/index.ts +0 -1
  60. package/src/language-model/v4/language-model-v4-call-options.ts +6 -6
  61. package/src/language-model/v4/language-model-v4-content.ts +9 -9
  62. package/src/language-model/v4/language-model-v4-custom-content.ts +1 -1
  63. package/src/language-model/v4/language-model-v4-file.ts +10 -3
  64. package/src/language-model/v4/language-model-v4-function-tool.ts +3 -3
  65. package/src/language-model/v4/language-model-v4-generate-result.ts +6 -6
  66. package/src/language-model/v4/language-model-v4-prompt.ts +27 -11
  67. package/src/language-model/v4/language-model-v4-reasoning-file.ts +10 -3
  68. package/src/language-model/v4/language-model-v4-reasoning.ts +1 -1
  69. package/src/language-model/v4/language-model-v4-source.ts +1 -1
  70. package/src/language-model/v4/language-model-v4-stream-part.ts +12 -12
  71. package/src/language-model/v4/language-model-v4-stream-result.ts +2 -2
  72. package/src/language-model/v4/language-model-v4-text.ts +1 -1
  73. package/src/language-model/v4/language-model-v4-tool-approval-request.ts +1 -1
  74. package/src/language-model/v4/language-model-v4-tool-call.ts +1 -1
  75. package/src/language-model/v4/language-model-v4-tool-result.ts +2 -2
  76. package/src/language-model/v4/language-model-v4-usage.ts +1 -1
  77. package/src/language-model/v4/language-model-v4.ts +3 -3
  78. package/src/language-model-middleware/v2/language-model-v2-middleware.ts +2 -2
  79. package/src/language-model-middleware/v3/language-model-v3-middleware.ts +4 -4
  80. package/src/language-model-middleware/v4/language-model-v4-middleware.ts +4 -4
  81. package/src/provider/v2/provider-v2.ts +5 -5
  82. package/src/provider/v3/provider-v3.ts +6 -6
  83. package/src/provider/v4/provider-v4.ts +8 -8
  84. package/src/reranking-model/v3/reranking-model-v3-call-options.ts +2 -2
  85. package/src/reranking-model/v3/reranking-model-v3.ts +2 -2
  86. package/src/reranking-model/v4/reranking-model-v4-call-options.ts +2 -2
  87. package/src/reranking-model/v4/reranking-model-v4-result.ts +1 -1
  88. package/src/reranking-model/v4/reranking-model-v4.ts +2 -2
  89. package/src/shared/v2/shared-v2-provider-metadata.ts +1 -1
  90. package/src/shared/v2/shared-v2-provider-options.ts +1 -1
  91. package/src/shared/v3/shared-v3-provider-metadata.ts +1 -1
  92. package/src/shared/v3/shared-v3-provider-options.ts +1 -1
  93. package/src/shared/v4/index.ts +1 -0
  94. package/src/shared/v4/shared-v4-file-data.ts +49 -0
  95. package/src/shared/v4/shared-v4-provider-metadata.ts +1 -1
  96. package/src/shared/v4/shared-v4-provider-options.ts +1 -1
  97. package/src/shared/v4/shared-v4-provider-reference.ts +8 -1
  98. package/src/skills/v4/skills-v4-upload-skill-call-options.ts +10 -3
  99. package/src/skills/v4/skills-v4-upload-skill-result.ts +3 -3
  100. package/src/skills/v4/skills-v4.ts +2 -2
  101. package/src/speech-model/v2/speech-model-v2-call-options.ts +1 -1
  102. package/src/speech-model/v2/speech-model-v2-call-warning.ts +1 -1
  103. package/src/speech-model/v2/speech-model-v2.ts +4 -4
  104. package/src/speech-model/v3/speech-model-v3-call-options.ts +1 -1
  105. package/src/speech-model/v3/speech-model-v3.ts +4 -4
  106. package/src/speech-model/v4/speech-model-v4-call-options.ts +1 -1
  107. package/src/speech-model/v4/speech-model-v4-result.ts +3 -3
  108. package/src/speech-model/v4/speech-model-v4.ts +2 -2
  109. package/src/transcription-model/v2/transcription-model-v2-call-options.ts +1 -1
  110. package/src/transcription-model/v2/transcription-model-v2-call-warning.ts +1 -1
  111. package/src/transcription-model/v2/transcription-model-v2.ts +4 -4
  112. package/src/transcription-model/v3/transcription-model-v3-call-options.ts +1 -1
  113. package/src/transcription-model/v3/transcription-model-v3.ts +4 -4
  114. package/src/transcription-model/v4/transcription-model-v4-call-options.ts +1 -1
  115. package/src/transcription-model/v4/transcription-model-v4-result.ts +3 -3
  116. package/src/transcription-model/v4/transcription-model-v4.ts +2 -2
  117. package/src/video-model/v3/video-model-v3-call-options.ts +2 -2
  118. package/src/video-model/v3/video-model-v3-file.ts +1 -1
  119. package/src/video-model/v4/video-model-v4-call-options.ts +2 -2
  120. package/src/video-model/v4/video-model-v4-file.ts +1 -1
  121. package/src/language-model/v4/language-model-v4-data-content.ts +0 -4
@@ -1,15 +1,15 @@
1
- import { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
2
- import { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
3
- import { LanguageModelV4CustomContent } from './language-model-v4-custom-content';
4
- import { LanguageModelV4File } from './language-model-v4-file';
5
- import { LanguageModelV4FinishReason } from './language-model-v4-finish-reason';
6
- import { LanguageModelV4ReasoningFile } from './language-model-v4-reasoning-file';
7
- import { LanguageModelV4ResponseMetadata } from './language-model-v4-response-metadata';
8
- import { LanguageModelV4Source } from './language-model-v4-source';
9
- import { LanguageModelV4ToolApprovalRequest } from './language-model-v4-tool-approval-request';
10
- import { LanguageModelV4ToolCall } from './language-model-v4-tool-call';
11
- import { LanguageModelV4ToolResult } from './language-model-v4-tool-result';
12
- import { LanguageModelV4Usage } from './language-model-v4-usage';
1
+ import type { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
2
+ import type { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
3
+ import type { LanguageModelV4CustomContent } from './language-model-v4-custom-content';
4
+ import type { LanguageModelV4File } from './language-model-v4-file';
5
+ import type { LanguageModelV4FinishReason } from './language-model-v4-finish-reason';
6
+ import type { LanguageModelV4ReasoningFile } from './language-model-v4-reasoning-file';
7
+ import type { LanguageModelV4ResponseMetadata } from './language-model-v4-response-metadata';
8
+ import type { LanguageModelV4Source } from './language-model-v4-source';
9
+ import type { LanguageModelV4ToolApprovalRequest } from './language-model-v4-tool-approval-request';
10
+ import type { LanguageModelV4ToolCall } from './language-model-v4-tool-call';
11
+ import type { LanguageModelV4ToolResult } from './language-model-v4-tool-result';
12
+ import type { LanguageModelV4Usage } from './language-model-v4-usage';
13
13
 
14
14
  export type LanguageModelV4StreamPart =
15
15
  // Text blocks:
@@ -1,5 +1,5 @@
1
- import { SharedV4Headers } from '../../shared';
2
- import { LanguageModelV4StreamPart } from './language-model-v4-stream-part';
1
+ import type { SharedV4Headers } from '../../shared';
2
+ import type { LanguageModelV4StreamPart } from './language-model-v4-stream-part';
3
3
 
4
4
  /**
5
5
  * The result of a language model doStream call.
@@ -1,4 +1,4 @@
1
- import { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
1
+ import type { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
2
2
 
3
3
  /**
4
4
  * Text that the model has generated.
@@ -1,4 +1,4 @@
1
- import { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
1
+ import type { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
2
2
 
3
3
  /**
4
4
  * Tool approval request emitted by a provider for a provider-executed tool call.
@@ -1,4 +1,4 @@
1
- import { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
1
+ import type { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
2
2
 
3
3
  /**
4
4
  * Tool calls that the model has generated.
@@ -1,5 +1,5 @@
1
- import { JSONValue } from '../../json-value';
2
- import { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
1
+ import type { JSONValue } from '../../json-value';
2
+ import type { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
3
3
 
4
4
  /**
5
5
  * Result of a tool call that has been executed by the provider.
@@ -1,4 +1,4 @@
1
- import { JSONObject } from '../../json-value';
1
+ import type { JSONObject } from '../../json-value';
2
2
 
3
3
  /**
4
4
  * Usage information for a language model call.
@@ -1,6 +1,6 @@
1
- import { LanguageModelV4CallOptions } from './language-model-v4-call-options';
2
- import { LanguageModelV4GenerateResult } from './language-model-v4-generate-result';
3
- import { LanguageModelV4StreamResult } from './language-model-v4-stream-result';
1
+ import type { LanguageModelV4CallOptions } from './language-model-v4-call-options';
2
+ import type { LanguageModelV4GenerateResult } from './language-model-v4-generate-result';
3
+ import type { LanguageModelV4StreamResult } from './language-model-v4-stream-result';
4
4
 
5
5
  /**
6
6
  * Specification for a language model that implements the language model interface version 4.
@@ -1,5 +1,5 @@
1
- import { LanguageModelV2 } from '../../language-model/v2/language-model-v2';
2
- import { LanguageModelV2CallOptions } from '../../language-model/v2/language-model-v2-call-options';
1
+ import type { LanguageModelV2 } from '../../language-model/v2/language-model-v2';
2
+ import type { LanguageModelV2CallOptions } from '../../language-model/v2/language-model-v2-call-options';
3
3
 
4
4
  /**
5
5
  * Experimental middleware for LanguageModelV2.
@@ -1,7 +1,7 @@
1
- import { LanguageModelV3 } from '../../language-model/v3/language-model-v3';
2
- import { LanguageModelV3CallOptions } from '../../language-model/v3/language-model-v3-call-options';
3
- import { LanguageModelV3GenerateResult } from '../../language-model/v3/language-model-v3-generate-result';
4
- import { LanguageModelV3StreamResult } from '../../language-model/v3/language-model-v3-stream-result';
1
+ import type { LanguageModelV3 } from '../../language-model/v3/language-model-v3';
2
+ import type { LanguageModelV3CallOptions } from '../../language-model/v3/language-model-v3-call-options';
3
+ import type { LanguageModelV3GenerateResult } from '../../language-model/v3/language-model-v3-generate-result';
4
+ import type { LanguageModelV3StreamResult } from '../../language-model/v3/language-model-v3-stream-result';
5
5
 
6
6
  /**
7
7
  * Experimental middleware for LanguageModelV3.
@@ -1,7 +1,7 @@
1
- import { LanguageModelV4 } from '../../language-model/v4/language-model-v4';
2
- import { LanguageModelV4CallOptions } from '../../language-model/v4/language-model-v4-call-options';
3
- import { LanguageModelV4GenerateResult } from '../../language-model/v4/language-model-v4-generate-result';
4
- import { LanguageModelV4StreamResult } from '../../language-model/v4/language-model-v4-stream-result';
1
+ import type { LanguageModelV4 } from '../../language-model/v4/language-model-v4';
2
+ import type { LanguageModelV4CallOptions } from '../../language-model/v4/language-model-v4-call-options';
3
+ import type { LanguageModelV4GenerateResult } from '../../language-model/v4/language-model-v4-generate-result';
4
+ import type { LanguageModelV4StreamResult } from '../../language-model/v4/language-model-v4-stream-result';
5
5
 
6
6
  /**
7
7
  * Experimental middleware for LanguageModelV4.
@@ -1,8 +1,8 @@
1
- import { EmbeddingModelV2 } from '../../embedding-model/v2/embedding-model-v2';
2
- import { ImageModelV2 } from '../../image-model/v2/image-model-v2';
3
- import { LanguageModelV2 } from '../../language-model/v2/language-model-v2';
4
- import { SpeechModelV2 } from '../../speech-model/v2/speech-model-v2';
5
- import { TranscriptionModelV2 } from '../../transcription-model/v2/transcription-model-v2';
1
+ import type { EmbeddingModelV2 } from '../../embedding-model/v2/embedding-model-v2';
2
+ import type { ImageModelV2 } from '../../image-model/v2/image-model-v2';
3
+ import type { LanguageModelV2 } from '../../language-model/v2/language-model-v2';
4
+ import type { SpeechModelV2 } from '../../speech-model/v2/speech-model-v2';
5
+ import type { TranscriptionModelV2 } from '../../transcription-model/v2/transcription-model-v2';
6
6
 
7
7
  /**
8
8
  * Provider for language, text embedding, and image generation models.
@@ -1,9 +1,9 @@
1
- import { EmbeddingModelV3 } from '../../embedding-model/v3/embedding-model-v3';
2
- import { ImageModelV3 } from '../../image-model/v3/image-model-v3';
3
- import { LanguageModelV3 } from '../../language-model/v3/language-model-v3';
4
- import { RerankingModelV3 } from '../../reranking-model/v3/reranking-model-v3';
5
- import { SpeechModelV3 } from '../../speech-model/v3/speech-model-v3';
6
- import { TranscriptionModelV3 } from '../../transcription-model/v3/transcription-model-v3';
1
+ import type { EmbeddingModelV3 } from '../../embedding-model/v3/embedding-model-v3';
2
+ import type { ImageModelV3 } from '../../image-model/v3/image-model-v3';
3
+ import type { LanguageModelV3 } from '../../language-model/v3/language-model-v3';
4
+ import type { RerankingModelV3 } from '../../reranking-model/v3/reranking-model-v3';
5
+ import type { SpeechModelV3 } from '../../speech-model/v3/speech-model-v3';
6
+ import type { TranscriptionModelV3 } from '../../transcription-model/v3/transcription-model-v3';
7
7
 
8
8
  /**
9
9
  * Provider for language, text embedding, and image generation models.
@@ -1,11 +1,11 @@
1
- import { EmbeddingModelV4 } from '../../embedding-model/v4/embedding-model-v4';
2
- import { FilesV4 } from '../../files/v4/files-v4';
3
- import { ImageModelV4 } from '../../image-model/v4/image-model-v4';
4
- import { LanguageModelV4 } from '../../language-model/v4/language-model-v4';
5
- import { RerankingModelV4 } from '../../reranking-model/v4/reranking-model-v4';
6
- import { SpeechModelV4 } from '../../speech-model/v4/speech-model-v4';
7
- import { TranscriptionModelV4 } from '../../transcription-model/v4/transcription-model-v4';
8
- import { SkillsV4 } from '../../skills/v4/skills-v4';
1
+ import type { EmbeddingModelV4 } from '../../embedding-model/v4/embedding-model-v4';
2
+ import type { FilesV4 } from '../../files/v4/files-v4';
3
+ import type { ImageModelV4 } from '../../image-model/v4/image-model-v4';
4
+ import type { LanguageModelV4 } from '../../language-model/v4/language-model-v4';
5
+ import type { RerankingModelV4 } from '../../reranking-model/v4/reranking-model-v4';
6
+ import type { SpeechModelV4 } from '../../speech-model/v4/speech-model-v4';
7
+ import type { TranscriptionModelV4 } from '../../transcription-model/v4/transcription-model-v4';
8
+ import type { SkillsV4 } from '../../skills/v4/skills-v4';
9
9
 
10
10
  /**
11
11
  * Provider for language, text embedding, and image generation models.
@@ -1,5 +1,5 @@
1
- import { JSONObject } from '../../json-value';
2
- import { SharedV3Headers, SharedV3ProviderOptions } from '../../shared/v3';
1
+ import type { JSONObject } from '../../json-value';
2
+ import type { SharedV3Headers, SharedV3ProviderOptions } from '../../shared/v3';
3
3
 
4
4
  export type RerankingModelV3CallOptions = {
5
5
  /**
@@ -1,9 +1,9 @@
1
- import {
1
+ import type {
2
2
  SharedV3Headers,
3
3
  SharedV3ProviderMetadata,
4
4
  SharedV3Warning,
5
5
  } from '../../shared/v3/';
6
- import { RerankingModelV3CallOptions } from './reranking-model-v3-call-options';
6
+ import type { RerankingModelV3CallOptions } from './reranking-model-v3-call-options';
7
7
 
8
8
  /**
9
9
  * Specification for a reranking model that implements the reranking model interface version 3.
@@ -1,5 +1,5 @@
1
- import { JSONObject } from '../../json-value';
2
- import { SharedV4Headers, SharedV4ProviderOptions } from '../../shared/v4';
1
+ import type { JSONObject } from '../../json-value';
2
+ import type { SharedV4Headers, SharedV4ProviderOptions } from '../../shared/v4';
3
3
 
4
4
  export type RerankingModelV4CallOptions = {
5
5
  /**
@@ -1,4 +1,4 @@
1
- import {
1
+ import type {
2
2
  SharedV4Headers,
3
3
  SharedV4ProviderMetadata,
4
4
  SharedV4Warning,
@@ -1,5 +1,5 @@
1
- import { RerankingModelV4CallOptions } from './reranking-model-v4-call-options';
2
- import { RerankingModelV4Result } from './reranking-model-v4-result';
1
+ import type { RerankingModelV4CallOptions } from './reranking-model-v4-call-options';
2
+ import type { RerankingModelV4Result } from './reranking-model-v4-result';
3
3
 
4
4
  /**
5
5
  * Specification for a reranking model that implements the reranking model interface version 3.
@@ -1,4 +1,4 @@
1
- import { JSONValue } from '../../json-value/json-value';
1
+ import type { JSONValue } from '../../json-value/json-value';
2
2
 
3
3
  /**
4
4
  * Additional provider-specific metadata.
@@ -1,4 +1,4 @@
1
- import { JSONValue } from '../../json-value/json-value';
1
+ import type { JSONValue } from '../../json-value/json-value';
2
2
 
3
3
  /**
4
4
  * Additional provider-specific options.
@@ -1,4 +1,4 @@
1
- import { JSONObject } from '../../json-value/json-value';
1
+ import type { JSONObject } from '../../json-value/json-value';
2
2
 
3
3
  /**
4
4
  * Additional provider-specific metadata.
@@ -1,4 +1,4 @@
1
- import { JSONObject } from '../../json-value/json-value';
1
+ import type { JSONObject } from '../../json-value/json-value';
2
2
 
3
3
  /**
4
4
  * Additional provider-specific options.
@@ -1,3 +1,4 @@
1
+ export * from './shared-v4-file-data';
1
2
  export * from './shared-v4-headers';
2
3
  export * from './shared-v4-provider-metadata';
3
4
  export * from './shared-v4-provider-options';
@@ -0,0 +1,49 @@
1
+ import type { SharedV4ProviderReference } from './shared-v4-provider-reference';
2
+
3
+ /**
4
+ * File data variant containing raw bytes (`Uint8Array`) or a base64-encoded
5
+ * string.
6
+ */
7
+ export interface SharedV4FileDataData {
8
+ type: 'data';
9
+ data: Uint8Array | string;
10
+ }
11
+
12
+ /**
13
+ * File data variant containing a URL that points to the file.
14
+ */
15
+ export interface SharedV4FileDataUrl {
16
+ type: 'url';
17
+ url: URL;
18
+ }
19
+
20
+ /**
21
+ * File data variant containing a provider reference (`{ [provider]: id }`).
22
+ */
23
+ export interface SharedV4FileDataReference {
24
+ type: 'reference';
25
+ reference: SharedV4ProviderReference;
26
+ }
27
+
28
+ /**
29
+ * File data variant containing inline text content (e.g. an inline text
30
+ * document).
31
+ */
32
+ export interface SharedV4FileDataText {
33
+ type: 'text';
34
+ text: string;
35
+ }
36
+
37
+ /**
38
+ * File data as a tagged discriminated union:
39
+ *
40
+ * - `{ type: 'data', data }`: raw bytes (`Uint8Array`) or base64-encoded string.
41
+ * - `{ type: 'url', url }`: a URL that points to the file.
42
+ * - `{ type: 'reference', reference }`: a provider reference (`{ [provider]: id }`).
43
+ * - `{ type: 'text', text }`: inline text content (e.g. an inline text document).
44
+ */
45
+ export type SharedV4FileData =
46
+ | SharedV4FileDataData
47
+ | SharedV4FileDataUrl
48
+ | SharedV4FileDataReference
49
+ | SharedV4FileDataText;
@@ -1,4 +1,4 @@
1
- import { JSONObject } from '../../json-value/json-value';
1
+ import type { JSONObject } from '../../json-value/json-value';
2
2
 
3
3
  /**
4
4
  * Additional provider-specific metadata.
@@ -1,4 +1,4 @@
1
- import { JSONObject } from '../../json-value/json-value';
1
+ import type { JSONObject } from '../../json-value/json-value';
2
2
 
3
3
  /**
4
4
  * Additional provider-specific options.
@@ -11,5 +11,12 @@
11
11
  * "anthropic": "file-xyz789"
12
12
  * }
13
13
  * ```
14
+ *
15
+ * The `type?: never` constraint excludes any object that has a `type`
16
+ * property, so a `SharedV4ProviderReference` cannot be confused with a
17
+ * tagged file-data shape (e.g. `{ type: 'data', data }` or
18
+ * `{ type: 'reference', reference }`) when both appear in the same union.
14
19
  */
15
- export type SharedV4ProviderReference = Record<string, string>;
20
+ export type SharedV4ProviderReference = Record<string, string> & {
21
+ type?: never;
22
+ };
@@ -1,4 +1,8 @@
1
- import { SharedV4ProviderOptions } from '../../shared/v4/shared-v4-provider-options';
1
+ import type {
2
+ SharedV4FileDataData,
3
+ SharedV4FileDataText,
4
+ } from '../../shared/v4/shared-v4-file-data';
5
+ import type { SharedV4ProviderOptions } from '../../shared/v4/shared-v4-provider-options';
2
6
 
3
7
  export interface SkillsV4File {
4
8
  /**
@@ -7,9 +11,12 @@ export interface SkillsV4File {
7
11
  path: string;
8
12
 
9
13
  /**
10
- * The content of the file, either as a base64 string or binary data.
14
+ * The file data.
15
+ *
16
+ * - `{ type: 'data', data }`: raw bytes (`Uint8Array`) or a base64-encoded string.
17
+ * - `{ type: 'text', text }`: inline text (UTF-8).
11
18
  */
12
- content: string | Uint8Array;
19
+ data: SharedV4FileDataData | SharedV4FileDataText;
13
20
  }
14
21
 
15
22
  export interface SkillsV4UploadSkillCallOptions {
@@ -1,6 +1,6 @@
1
- import { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
2
- import { SharedV4ProviderReference } from '../../shared/v4/shared-v4-provider-reference';
3
- import { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
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
4
 
5
5
  export interface SkillsV4UploadSkillResult {
6
6
  /**
@@ -1,5 +1,5 @@
1
- import { SkillsV4UploadSkillCallOptions } from './skills-v4-upload-skill-call-options';
2
- import { SkillsV4UploadSkillResult } from './skills-v4-upload-skill-result';
1
+ import type { SkillsV4UploadSkillCallOptions } from './skills-v4-upload-skill-call-options';
2
+ import type { SkillsV4UploadSkillResult } from './skills-v4-upload-skill-result';
3
3
 
4
4
  /**
5
5
  * Skills specification version 4.
@@ -1,4 +1,4 @@
1
- import { JSONValue } from '../../json-value/json-value';
1
+ import type { JSONValue } from '../../json-value/json-value';
2
2
 
3
3
  type SpeechModelV2ProviderOptions = Record<string, Record<string, JSONValue>>;
4
4
 
@@ -1,4 +1,4 @@
1
- import { SpeechModelV2CallOptions } from './speech-model-v2-call-options';
1
+ import type { SpeechModelV2CallOptions } from './speech-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,7 +1,7 @@
1
- import { JSONValue } from '../../json-value';
2
- import { SharedV2Headers } from '../../shared';
3
- import { SpeechModelV2CallOptions } from './speech-model-v2-call-options';
4
- import { SpeechModelV2CallWarning } from './speech-model-v2-call-warning';
1
+ import type { JSONValue } from '../../json-value';
2
+ import type { SharedV2Headers } from '../../shared';
3
+ import type { SpeechModelV2CallOptions } from './speech-model-v2-call-options';
4
+ import type { SpeechModelV2CallWarning } from './speech-model-v2-call-warning';
5
5
 
6
6
  /**
7
7
  * Speech model specification version 2.
@@ -1,4 +1,4 @@
1
- import { JSONObject } from '../../json-value/json-value';
1
+ import type { JSONObject } from '../../json-value/json-value';
2
2
 
3
3
  type SpeechModelV3ProviderOptions = Record<string, JSONObject>;
4
4
 
@@ -1,7 +1,7 @@
1
- import { JSONObject } from '../../json-value';
2
- import { SharedV2Headers } from '../../shared';
3
- import { SharedV3Warning } from '../../shared/v3/shared-v3-warning';
4
- import { SpeechModelV3CallOptions } from './speech-model-v3-call-options';
1
+ import type { JSONObject } from '../../json-value';
2
+ import type { SharedV2Headers } from '../../shared';
3
+ import type { SharedV3Warning } from '../../shared/v3/shared-v3-warning';
4
+ import type { SpeechModelV3CallOptions } from './speech-model-v3-call-options';
5
5
 
6
6
  /**
7
7
  * Speech model specification version 3.
@@ -1,4 +1,4 @@
1
- import { JSONObject } from '../../json-value/json-value';
1
+ import type { JSONObject } from '../../json-value/json-value';
2
2
 
3
3
  type SpeechModelV4ProviderOptions = Record<string, JSONObject>;
4
4
 
@@ -1,6 +1,6 @@
1
- import { JSONObject } from '../../json-value';
2
- import { SharedV2Headers } from '../../shared';
3
- import { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
1
+ import type { JSONObject } from '../../json-value';
2
+ import type { SharedV2Headers } from '../../shared';
3
+ import type { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
4
4
 
5
5
  /**
6
6
  * The result of a speech model doGenerate call.
@@ -1,5 +1,5 @@
1
- import { SpeechModelV4CallOptions } from './speech-model-v4-call-options';
2
- import { SpeechModelV4Result } from './speech-model-v4-result';
1
+ import type { SpeechModelV4CallOptions } from './speech-model-v4-call-options';
2
+ import type { SpeechModelV4Result } from './speech-model-v4-result';
3
3
 
4
4
  /**
5
5
  * Speech model specification version 3.
@@ -1,4 +1,4 @@
1
- import { JSONValue } from '../../json-value/json-value';
1
+ import type { JSONValue } from '../../json-value/json-value';
2
2
 
3
3
  type TranscriptionModelV2ProviderOptions = Record<
4
4
  string,
@@ -1,4 +1,4 @@
1
- import { TranscriptionModelV2CallOptions } from './transcription-model-v2-call-options';
1
+ import type { TranscriptionModelV2CallOptions } from './transcription-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,7 +1,7 @@
1
- import { JSONValue } from '../../json-value';
2
- import { SharedV2Headers } from '../../shared';
3
- import { TranscriptionModelV2CallOptions } from './transcription-model-v2-call-options';
4
- import { TranscriptionModelV2CallWarning } from './transcription-model-v2-call-warning';
1
+ import type { JSONValue } from '../../json-value';
2
+ import type { SharedV2Headers } from '../../shared';
3
+ import type { TranscriptionModelV2CallOptions } from './transcription-model-v2-call-options';
4
+ import type { TranscriptionModelV2CallWarning } from './transcription-model-v2-call-warning';
5
5
 
6
6
  /**
7
7
  * Transcription model specification version 2.
@@ -1,4 +1,4 @@
1
- import { JSONObject } from '../../json-value/json-value';
1
+ import type { JSONObject } from '../../json-value/json-value';
2
2
 
3
3
  type TranscriptionModelV3ProviderOptions = Record<string, JSONObject>;
4
4
 
@@ -1,7 +1,7 @@
1
- import { JSONObject } from '../../json-value';
2
- import { SharedV3Headers } from '../../shared';
3
- import { SharedV3Warning } from '../../shared/v3/shared-v3-warning';
4
- import { TranscriptionModelV3CallOptions } from './transcription-model-v3-call-options';
1
+ import type { JSONObject } from '../../json-value';
2
+ import type { SharedV3Headers } from '../../shared';
3
+ import type { SharedV3Warning } from '../../shared/v3/shared-v3-warning';
4
+ import type { TranscriptionModelV3CallOptions } from './transcription-model-v3-call-options';
5
5
 
6
6
  /**
7
7
  * Transcription model specification version 3.
@@ -1,4 +1,4 @@
1
- import { JSONObject } from '../../json-value/json-value';
1
+ import type { JSONObject } from '../../json-value/json-value';
2
2
 
3
3
  type TranscriptionModelV4ProviderOptions = Record<string, JSONObject>;
4
4
 
@@ -1,6 +1,6 @@
1
- import { JSONObject } from '../../json-value';
2
- import { SharedV4Headers } from '../../shared';
3
- import { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
1
+ import type { JSONObject } from '../../json-value';
2
+ import type { SharedV4Headers } from '../../shared';
3
+ import type { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
4
4
 
5
5
  /**
6
6
  * The result of a transcription model doGenerate call.
@@ -1,5 +1,5 @@
1
- import { TranscriptionModelV4CallOptions } from './transcription-model-v4-call-options';
2
- import { TranscriptionModelV4Result } from './transcription-model-v4-result';
1
+ import type { TranscriptionModelV4CallOptions } from './transcription-model-v4-call-options';
2
+ import type { TranscriptionModelV4Result } from './transcription-model-v4-result';
3
3
 
4
4
  /**
5
5
  * Transcription model specification version 3.
@@ -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,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.
@@ -1,4 +0,0 @@
1
- /**
2
- * Data content. Can be a Uint8Array, base64 encoded data as a string or a URL.
3
- */
4
- export type LanguageModelV4DataContent = Uint8Array | string | URL;