@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.
- package/CHANGELOG.md +136 -13
- package/dist/index.d.ts +1241 -449
- package/dist/index.js +53 -75
- package/dist/index.js.map +1 -1
- package/package.json +12 -12
- package/src/embedding-model/v2/embedding-model-v2.ts +2 -2
- package/src/embedding-model/v3/embedding-model-v3-call-options.ts +1 -1
- package/src/embedding-model/v3/embedding-model-v3-result.ts +2 -2
- package/src/embedding-model/v3/embedding-model-v3.ts +2 -2
- package/src/embedding-model/v4/embedding-model-v4-call-options.ts +1 -1
- package/src/embedding-model/v4/embedding-model-v4-result.ts +2 -2
- package/src/embedding-model/v4/embedding-model-v4.ts +2 -2
- package/src/embedding-model-middleware/v3/embedding-model-v3-middleware.ts +2 -2
- package/src/embedding-model-middleware/v4/embedding-model-v4-middleware.ts +2 -2
- package/src/errors/get-error-message.ts +1 -1
- package/src/errors/index.ts +1 -0
- package/src/errors/no-such-provider-reference-error.ts +35 -0
- package/src/files/index.ts +1 -0
- package/src/files/v4/files-v4-upload-file-call-options.ts +35 -0
- package/src/files/v4/files-v4-upload-file-result.ts +35 -0
- package/src/files/v4/files-v4.ts +25 -0
- package/src/files/v4/index.ts +3 -0
- package/src/image-model/v2/image-model-v2-call-options.ts +1 -1
- package/src/image-model/v2/image-model-v2-call-warning.ts +1 -1
- package/src/image-model/v2/image-model-v2.ts +3 -3
- package/src/image-model/v3/image-model-v3-call-options.ts +2 -2
- package/src/image-model/v3/image-model-v3-file.ts +1 -1
- package/src/image-model/v3/image-model-v3.ts +4 -4
- package/src/image-model/v4/image-model-v4-call-options.ts +2 -2
- package/src/image-model/v4/image-model-v4-file.ts +1 -1
- package/src/image-model/v4/image-model-v4-result.ts +73 -0
- package/src/image-model/v4/image-model-v4.ts +3 -70
- package/src/image-model/v4/index.ts +4 -3
- package/src/image-model-middleware/v3/image-model-v3-middleware.ts +2 -2
- package/src/image-model-middleware/v4/image-model-v4-middleware.ts +2 -2
- package/src/index.ts +3 -0
- package/src/json-value/is-json.ts +1 -1
- package/src/language-model/v2/language-model-v2-call-options.ts +6 -6
- package/src/language-model/v2/language-model-v2-call-warning.ts +3 -3
- package/src/language-model/v2/language-model-v2-content.ts +6 -6
- package/src/language-model/v2/language-model-v2-function-tool.ts +2 -2
- package/src/language-model/v2/language-model-v2-prompt.ts +3 -3
- package/src/language-model/v2/language-model-v2-reasoning.ts +1 -1
- package/src/language-model/v2/language-model-v2-source.ts +1 -1
- package/src/language-model/v2/language-model-v2-stream-part.ts +9 -9
- package/src/language-model/v2/language-model-v2-text.ts +1 -1
- package/src/language-model/v2/language-model-v2-tool-call.ts +1 -1
- package/src/language-model/v2/language-model-v2-tool-result.ts +1 -1
- package/src/language-model/v2/language-model-v2.ts +9 -9
- package/src/language-model/v3/language-model-v3-call-options.ts +6 -6
- package/src/language-model/v3/language-model-v3-content.ts +7 -7
- package/src/language-model/v3/language-model-v3-file.ts +1 -1
- package/src/language-model/v3/language-model-v3-function-tool.ts +3 -3
- package/src/language-model/v3/language-model-v3-generate-result.ts +6 -6
- package/src/language-model/v3/language-model-v3-prompt.ts +3 -3
- package/src/language-model/v3/language-model-v3-reasoning.ts +1 -1
- package/src/language-model/v3/language-model-v3-source.ts +1 -1
- package/src/language-model/v3/language-model-v3-stream-part.ts +10 -10
- package/src/language-model/v3/language-model-v3-stream-result.ts +2 -2
- package/src/language-model/v3/language-model-v3-text.ts +1 -1
- package/src/language-model/v3/language-model-v3-tool-approval-request.ts +1 -1
- package/src/language-model/v3/language-model-v3-tool-call.ts +1 -1
- package/src/language-model/v3/language-model-v3-tool-result.ts +2 -2
- package/src/language-model/v3/language-model-v3-usage.ts +1 -1
- package/src/language-model/v3/language-model-v3.ts +3 -3
- package/src/language-model/v4/index.ts +1 -1
- package/src/language-model/v4/language-model-v4-call-options.ts +19 -6
- package/src/language-model/v4/language-model-v4-content.ts +10 -8
- package/src/language-model/v4/language-model-v4-custom-content.ts +21 -0
- package/src/language-model/v4/language-model-v4-file.ts +10 -3
- package/src/language-model/v4/language-model-v4-function-tool.ts +3 -3
- package/src/language-model/v4/language-model-v4-generate-result.ts +6 -6
- package/src/language-model/v4/language-model-v4-prompt.ts +64 -103
- package/src/language-model/v4/language-model-v4-reasoning-file.ts +10 -3
- package/src/language-model/v4/language-model-v4-reasoning.ts +1 -1
- package/src/language-model/v4/language-model-v4-source.ts +1 -1
- package/src/language-model/v4/language-model-v4-stream-part.ts +13 -11
- package/src/language-model/v4/language-model-v4-stream-result.ts +2 -2
- package/src/language-model/v4/language-model-v4-text.ts +1 -1
- package/src/language-model/v4/language-model-v4-tool-approval-request.ts +1 -1
- package/src/language-model/v4/language-model-v4-tool-call.ts +1 -1
- package/src/language-model/v4/language-model-v4-tool-result.ts +2 -2
- package/src/language-model/v4/language-model-v4-usage.ts +1 -1
- package/src/language-model/v4/language-model-v4.ts +3 -3
- package/src/language-model-middleware/v2/language-model-v2-middleware.ts +2 -2
- package/src/language-model-middleware/v3/language-model-v3-middleware.ts +4 -4
- package/src/language-model-middleware/v4/language-model-v4-middleware.ts +4 -4
- package/src/provider/v2/provider-v2.ts +5 -5
- package/src/provider/v3/provider-v3.ts +6 -6
- package/src/provider/v4/provider-v4.ts +22 -6
- package/src/realtime-model/index.ts +1 -0
- package/src/realtime-model/v4/index.ts +20 -0
- package/src/realtime-model/v4/realtime-factory-v4.ts +20 -0
- package/src/realtime-model/v4/realtime-model-v4-client-event.ts +68 -0
- package/src/realtime-model/v4/realtime-model-v4-client-secret.ts +40 -0
- package/src/realtime-model/v4/realtime-model-v4-conversation-item.ts +55 -0
- package/src/realtime-model/v4/realtime-model-v4-server-event.ts +199 -0
- package/src/realtime-model/v4/realtime-model-v4-session-config.ts +142 -0
- package/src/realtime-model/v4/realtime-model-v4-tool-definition.ts +28 -0
- package/src/realtime-model/v4/realtime-model-v4.ts +89 -0
- package/src/reranking-model/v3/reranking-model-v3-call-options.ts +2 -2
- package/src/reranking-model/v3/reranking-model-v3.ts +2 -2
- package/src/reranking-model/v4/index.ts +1 -0
- package/src/reranking-model/v4/reranking-model-v4-call-options.ts +2 -2
- package/src/reranking-model/v4/reranking-model-v4-result.ts +68 -0
- package/src/reranking-model/v4/reranking-model-v4.ts +5 -65
- package/src/shared/v2/shared-v2-provider-metadata.ts +1 -1
- package/src/shared/v2/shared-v2-provider-options.ts +1 -1
- package/src/shared/v3/shared-v3-provider-metadata.ts +1 -1
- package/src/shared/v3/shared-v3-provider-options.ts +1 -1
- package/src/shared/v4/index.ts +2 -0
- package/src/shared/v4/shared-v4-file-data.ts +49 -0
- package/src/shared/v4/shared-v4-provider-metadata.ts +1 -1
- package/src/shared/v4/shared-v4-provider-options.ts +1 -1
- package/src/shared/v4/shared-v4-provider-reference.ts +22 -0
- package/src/shared/v4/shared-v4-warning.ts +16 -0
- package/src/skills/index.ts +1 -0
- package/src/skills/v4/index.ts +6 -0
- package/src/skills/v4/skills-v4-upload-skill-call-options.ts +37 -0
- package/src/skills/v4/skills-v4-upload-skill-result.ts +40 -0
- package/src/skills/v4/skills-v4.ts +28 -0
- package/src/speech-model/v2/speech-model-v2-call-options.ts +1 -1
- package/src/speech-model/v2/speech-model-v2-call-warning.ts +1 -1
- package/src/speech-model/v2/speech-model-v2.ts +4 -4
- package/src/speech-model/v3/speech-model-v3-call-options.ts +1 -1
- package/src/speech-model/v3/speech-model-v3.ts +4 -4
- package/src/speech-model/v4/index.ts +1 -0
- package/src/speech-model/v4/speech-model-v4-call-options.ts +1 -1
- package/src/speech-model/v4/speech-model-v4-result.ts +64 -0
- package/src/speech-model/v4/speech-model-v4.ts +5 -61
- package/src/transcription-model/v2/transcription-model-v2-call-options.ts +1 -1
- package/src/transcription-model/v2/transcription-model-v2-call-warning.ts +1 -1
- package/src/transcription-model/v2/transcription-model-v2.ts +4 -4
- package/src/transcription-model/v3/transcription-model-v3-call-options.ts +1 -1
- package/src/transcription-model/v3/transcription-model-v3.ts +4 -4
- package/src/transcription-model/v4/index.ts +1 -0
- package/src/transcription-model/v4/transcription-model-v4-call-options.ts +1 -1
- package/src/transcription-model/v4/transcription-model-v4-result.ts +92 -0
- package/src/transcription-model/v4/transcription-model-v4.ts +5 -89
- package/src/video-model/v3/video-model-v3-call-options.ts +7 -2
- package/src/video-model/v3/video-model-v3-file.ts +1 -1
- package/src/video-model/v4/index.ts +4 -3
- package/src/video-model/v4/video-model-v4-call-options.ts +7 -2
- package/src/video-model/v4/video-model-v4-file.ts +1 -1
- package/src/video-model/v4/video-model-v4-result.ts +92 -0
- package/src/video-model/v4/video-model-v4.ts +2 -88
- package/dist/index.d.mts +0 -6354
- package/dist/index.mjs +0 -404
- package/dist/index.mjs.map +0 -1
- package/src/language-model/v4/language-model-v4-data-content.ts +0 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SharedV3Headers } from '../../shared';
|
|
2
|
-
import { LanguageModelV3StreamPart } from './language-model-v3-stream-part';
|
|
1
|
+
import type { SharedV3Headers } from '../../shared';
|
|
2
|
+
import type { LanguageModelV3StreamPart } from './language-model-v3-stream-part';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The result of a language model doStream call.
|
|
@@ -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
|
* Tool approval request emitted by a provider for a provider-executed tool call.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { JSONValue } from '../../json-value';
|
|
2
|
-
import { SharedV3ProviderMetadata } from '../../shared/v3/shared-v3-provider-metadata';
|
|
1
|
+
import type { JSONValue } from '../../json-value';
|
|
2
|
+
import type { SharedV3ProviderMetadata } from '../../shared/v3/shared-v3-provider-metadata';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Result of a tool call that has been executed by the provider.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LanguageModelV3CallOptions } from './language-model-v3-call-options';
|
|
2
|
-
import { LanguageModelV3GenerateResult } from './language-model-v3-generate-result';
|
|
3
|
-
import { LanguageModelV3StreamResult } from './language-model-v3-stream-result';
|
|
1
|
+
import type { LanguageModelV3CallOptions } from './language-model-v3-call-options';
|
|
2
|
+
import type { LanguageModelV3GenerateResult } from './language-model-v3-generate-result';
|
|
3
|
+
import type { LanguageModelV3StreamResult } from './language-model-v3-stream-result';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Specification for a language model that implements the language model interface version 3.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from './language-model-v4';
|
|
2
2
|
export * from './language-model-v4-call-options';
|
|
3
3
|
export * from './language-model-v4-content';
|
|
4
|
-
export * from './language-model-v4-
|
|
4
|
+
export * from './language-model-v4-custom-content';
|
|
5
5
|
export * from './language-model-v4-file';
|
|
6
6
|
export * from './language-model-v4-finish-reason';
|
|
7
7
|
export * from './language-model-v4-function-tool';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { JSONSchema7 } from 'json-schema';
|
|
2
|
-
import { SharedV4ProviderOptions } from '../../shared/v4/shared-v4-provider-options';
|
|
3
|
-
import { LanguageModelV4FunctionTool } from './language-model-v4-function-tool';
|
|
4
|
-
import { LanguageModelV4Prompt } from './language-model-v4-prompt';
|
|
5
|
-
import { LanguageModelV4ProviderTool } from './language-model-v4-provider-tool';
|
|
6
|
-
import { LanguageModelV4ToolChoice } from './language-model-v4-tool-choice';
|
|
1
|
+
import type { JSONSchema7 } from 'json-schema';
|
|
2
|
+
import type { SharedV4ProviderOptions } from '../../shared/v4/shared-v4-provider-options';
|
|
3
|
+
import type { LanguageModelV4FunctionTool } from './language-model-v4-function-tool';
|
|
4
|
+
import type { LanguageModelV4Prompt } from './language-model-v4-prompt';
|
|
5
|
+
import type { LanguageModelV4ProviderTool } from './language-model-v4-provider-tool';
|
|
6
|
+
import type { LanguageModelV4ToolChoice } from './language-model-v4-tool-choice';
|
|
7
7
|
|
|
8
8
|
export type LanguageModelV4CallOptions = {
|
|
9
9
|
/**
|
|
@@ -116,6 +116,19 @@ export type LanguageModelV4CallOptions = {
|
|
|
116
116
|
*/
|
|
117
117
|
headers?: Record<string, string | undefined>;
|
|
118
118
|
|
|
119
|
+
/**
|
|
120
|
+
* Reasoning effort level for the model. Controls how much reasoning
|
|
121
|
+
* the model performs before generating a response. Defaults to 'provider-default'.
|
|
122
|
+
*/
|
|
123
|
+
reasoning?:
|
|
124
|
+
| 'provider-default'
|
|
125
|
+
| 'none'
|
|
126
|
+
| 'minimal'
|
|
127
|
+
| 'low'
|
|
128
|
+
| 'medium'
|
|
129
|
+
| 'high'
|
|
130
|
+
| 'xhigh';
|
|
131
|
+
|
|
119
132
|
/**
|
|
120
133
|
* Additional provider-specific options. They are passed through
|
|
121
134
|
* to the provider from the AI SDK and enable provider-specific
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import type { LanguageModelV4CustomContent } from './language-model-v4-custom-content';
|
|
2
|
+
import type { LanguageModelV4File } from './language-model-v4-file';
|
|
3
|
+
import type { LanguageModelV4Reasoning } from './language-model-v4-reasoning';
|
|
4
|
+
import type { LanguageModelV4ReasoningFile } from './language-model-v4-reasoning-file';
|
|
5
|
+
import type { LanguageModelV4Source } from './language-model-v4-source';
|
|
6
|
+
import type { LanguageModelV4Text } from './language-model-v4-text';
|
|
7
|
+
import type { LanguageModelV4ToolApprovalRequest } from './language-model-v4-tool-approval-request';
|
|
8
|
+
import type { LanguageModelV4ToolCall } from './language-model-v4-tool-call';
|
|
9
|
+
import type { LanguageModelV4ToolResult } from './language-model-v4-tool-result';
|
|
9
10
|
|
|
10
11
|
export type LanguageModelV4Content =
|
|
11
12
|
| LanguageModelV4Text
|
|
12
13
|
| LanguageModelV4Reasoning
|
|
14
|
+
| LanguageModelV4CustomContent
|
|
13
15
|
| LanguageModelV4ReasoningFile
|
|
14
16
|
| LanguageModelV4File
|
|
15
17
|
| LanguageModelV4ToolApprovalRequest
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A provider-specific content block that does not map to another standardized
|
|
5
|
+
* content part type.
|
|
6
|
+
*/
|
|
7
|
+
export type LanguageModelV4CustomContent = {
|
|
8
|
+
type: 'custom';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The kind of custom content, in the format `{provider}.{provider-type}`.
|
|
12
|
+
*/
|
|
13
|
+
kind: `${string}.${string}`;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Additional provider-specific options. They are passed through
|
|
17
|
+
* to the provider from the AI SDK and enable provider-specific
|
|
18
|
+
* functionality that can be fully encapsulated in the provider.
|
|
19
|
+
*/
|
|
20
|
+
providerMetadata?: SharedV4ProviderMetadata;
|
|
21
|
+
};
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
|
+
SharedV4FileDataData,
|
|
3
|
+
SharedV4FileDataUrl,
|
|
4
|
+
SharedV4ProviderMetadata,
|
|
5
|
+
} from '../../shared';
|
|
2
6
|
|
|
3
7
|
/**
|
|
4
8
|
* A file that has been generated by the model.
|
|
@@ -16,14 +20,17 @@ export type LanguageModelV4File = {
|
|
|
16
20
|
mediaType: string;
|
|
17
21
|
|
|
18
22
|
/**
|
|
19
|
-
* Generated file data as
|
|
23
|
+
* Generated file data as a tagged discriminated union:
|
|
24
|
+
*
|
|
25
|
+
* - `{ type: 'data', data }`: raw bytes (Uint8Array) or base64-encoded string.
|
|
26
|
+
* - `{ type: 'url', url }`: a URL that points to the file.
|
|
20
27
|
*
|
|
21
28
|
* The file data should be returned without any unnecessary conversion.
|
|
22
29
|
* If the API returns base64 encoded strings, the file data should be returned
|
|
23
30
|
* as base64 encoded strings. If the API returns binary data, the file data should
|
|
24
31
|
* be returned as binary data.
|
|
25
32
|
*/
|
|
26
|
-
data:
|
|
33
|
+
data: SharedV4FileDataData | SharedV4FileDataUrl;
|
|
27
34
|
|
|
28
35
|
/**
|
|
29
36
|
* Optional provider-specific metadata for the file part.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { JSONSchema7 } from 'json-schema';
|
|
2
|
-
import { SharedV4ProviderOptions } from '../../shared';
|
|
3
|
-
import { JSONObject } from '../../json-value';
|
|
1
|
+
import type { JSONSchema7 } from 'json-schema';
|
|
2
|
+
import type { SharedV4ProviderOptions } 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 { SharedV4Headers, SharedV4Warning } from '../../shared';
|
|
2
|
-
import { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
|
|
3
|
-
import { LanguageModelV4Content } from './language-model-v4-content';
|
|
4
|
-
import { LanguageModelV4FinishReason } from './language-model-v4-finish-reason';
|
|
5
|
-
import { LanguageModelV4ResponseMetadata } from './language-model-v4-response-metadata';
|
|
6
|
-
import { LanguageModelV4Usage } from './language-model-v4-usage';
|
|
1
|
+
import type { SharedV4Headers, SharedV4Warning } from '../../shared';
|
|
2
|
+
import type { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
|
|
3
|
+
import type { LanguageModelV4Content } from './language-model-v4-content';
|
|
4
|
+
import type { LanguageModelV4FinishReason } from './language-model-v4-finish-reason';
|
|
5
|
+
import type { LanguageModelV4ResponseMetadata } from './language-model-v4-response-metadata';
|
|
6
|
+
import type { LanguageModelV4Usage } from './language-model-v4-usage';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* The result of a language model doGenerate call.
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import { JSONValue } from '../../json-value/json-value';
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import type { JSONValue } from '../../json-value/json-value';
|
|
2
|
+
import type {
|
|
3
|
+
SharedV4FileData,
|
|
4
|
+
SharedV4FileDataData,
|
|
5
|
+
SharedV4FileDataUrl,
|
|
6
|
+
} from '../../shared/v4/shared-v4-file-data';
|
|
7
|
+
import type { SharedV4ProviderOptions } from '../../shared/v4/shared-v4-provider-options';
|
|
4
8
|
|
|
5
9
|
/**
|
|
6
10
|
* A prompt is a list of messages.
|
|
@@ -31,6 +35,7 @@ export type LanguageModelV4Message =
|
|
|
31
35
|
content: Array<
|
|
32
36
|
| LanguageModelV4TextPart
|
|
33
37
|
| LanguageModelV4FilePart
|
|
38
|
+
| LanguageModelV4CustomPart
|
|
34
39
|
| LanguageModelV4ReasoningPart
|
|
35
40
|
| LanguageModelV4ReasoningFilePart
|
|
36
41
|
| LanguageModelV4ToolCallPart
|
|
@@ -98,9 +103,12 @@ export interface LanguageModelV4ReasoningFilePart {
|
|
|
98
103
|
type: 'reasoning-file';
|
|
99
104
|
|
|
100
105
|
/**
|
|
101
|
-
* File data
|
|
106
|
+
* File data as a tagged discriminated union:
|
|
107
|
+
*
|
|
108
|
+
* - `{ type: 'data', data }`: raw bytes (Uint8Array) or base64-encoded string.
|
|
109
|
+
* - `{ type: 'url', url }`: a URL that points to the file.
|
|
102
110
|
*/
|
|
103
|
-
data:
|
|
111
|
+
data: SharedV4FileDataData | SharedV4FileDataUrl;
|
|
104
112
|
|
|
105
113
|
/**
|
|
106
114
|
* IANA media type of the file.
|
|
@@ -117,6 +125,26 @@ export interface LanguageModelV4ReasoningFilePart {
|
|
|
117
125
|
providerOptions?: SharedV4ProviderOptions;
|
|
118
126
|
}
|
|
119
127
|
|
|
128
|
+
/**
|
|
129
|
+
* Provider-specific content part of a prompt. It contains no standardized
|
|
130
|
+
* payload beyond provider-specific options.
|
|
131
|
+
*/
|
|
132
|
+
export interface LanguageModelV4CustomPart {
|
|
133
|
+
type: 'custom';
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* The kind of custom content, in the format `{provider}.{provider-type}`.
|
|
137
|
+
*/
|
|
138
|
+
kind: `${string}.${string}`;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Additional provider-specific options. They are passed through
|
|
142
|
+
* to the provider from the AI SDK and enable provider-specific
|
|
143
|
+
* functionality that can be fully encapsulated in the provider.
|
|
144
|
+
*/
|
|
145
|
+
providerOptions?: SharedV4ProviderOptions;
|
|
146
|
+
}
|
|
147
|
+
|
|
120
148
|
/**
|
|
121
149
|
* File content part of a prompt. It contains a file.
|
|
122
150
|
*/
|
|
@@ -129,14 +157,24 @@ export interface LanguageModelV4FilePart {
|
|
|
129
157
|
filename?: string;
|
|
130
158
|
|
|
131
159
|
/**
|
|
132
|
-
* File data
|
|
160
|
+
* File data as a tagged discriminated union:
|
|
161
|
+
*
|
|
162
|
+
* - `{ type: 'data', data }`: raw bytes (Uint8Array) or base64-encoded string.
|
|
163
|
+
* - `{ type: 'url', url }`: a URL that points to the file.
|
|
164
|
+
* - `{ type: 'reference', reference }`: a provider reference (`{ [provider]: id }`).
|
|
165
|
+
* - `{ type: 'text', text }`: inline text content (e.g. an inline text document).
|
|
133
166
|
*/
|
|
134
|
-
data:
|
|
167
|
+
data: SharedV4FileData;
|
|
135
168
|
|
|
136
169
|
/**
|
|
137
|
-
* IANA media type
|
|
170
|
+
* Either a full IANA media type (`type/subtype`, e.g. `image/png`) or just
|
|
171
|
+
* the top-level IANA segment (e.g. `image`, `audio`, `video`, `text`).
|
|
138
172
|
*
|
|
139
|
-
*
|
|
173
|
+
* `*`-subtype wildcards (e.g. `image/*`) are normalized as equivalent to the
|
|
174
|
+
* top-level segment alone (e.g. `image`). Providers can use the helpers in
|
|
175
|
+
* `@ai-sdk/provider-utils` (`isFullMediaType`, `getTopLevelMediaType`,
|
|
176
|
+
* `detectMediaType`) to resolve the field according to their API
|
|
177
|
+
* requirements.
|
|
140
178
|
*
|
|
141
179
|
* @see https://www.iana.org/assignments/media-types/media-types.xhtml
|
|
142
180
|
*/
|
|
@@ -320,15 +358,28 @@ export type LanguageModelV4ToolResultOutput =
|
|
|
320
358
|
providerOptions?: SharedV4ProviderOptions;
|
|
321
359
|
}
|
|
322
360
|
| {
|
|
323
|
-
type: 'file
|
|
361
|
+
type: 'file';
|
|
324
362
|
|
|
325
363
|
/**
|
|
326
|
-
*
|
|
364
|
+
* File data as a tagged discriminated union:
|
|
365
|
+
*
|
|
366
|
+
* - `{ type: 'data', data }`: raw bytes (Uint8Array) or base64-encoded string.
|
|
367
|
+
* - `{ type: 'url', url }`: a URL that points to the file.
|
|
368
|
+
* - `{ type: 'reference', reference }`: a provider reference (`{ [provider]: id }`).
|
|
369
|
+
* - `{ type: 'text', text }`: inline text content (e.g. an inline text document).
|
|
327
370
|
*/
|
|
328
|
-
data:
|
|
371
|
+
data: SharedV4FileData;
|
|
329
372
|
|
|
330
373
|
/**
|
|
331
|
-
* IANA media type.
|
|
374
|
+
* Either a full IANA media type (`type/subtype`, e.g. `image/png`) or just
|
|
375
|
+
* the top-level IANA segment (e.g. `image`, `audio`, `video`, `text`).
|
|
376
|
+
*
|
|
377
|
+
* `*`-subtype wildcards (e.g. `image/*`) are normalized as equivalent to the
|
|
378
|
+
* top-level segment alone (e.g. `image`). Providers can use the helpers in
|
|
379
|
+
* `@ai-sdk/provider-utils` (`isFullMediaType`, `getTopLevelMediaType`,
|
|
380
|
+
* `detectMediaType`) to resolve the field according to their API
|
|
381
|
+
* requirements.
|
|
382
|
+
*
|
|
332
383
|
* @see https://www.iana.org/assignments/media-types/media-types.xhtml
|
|
333
384
|
*/
|
|
334
385
|
mediaType: string;
|
|
@@ -338,96 +389,6 @@ export type LanguageModelV4ToolResultOutput =
|
|
|
338
389
|
*/
|
|
339
390
|
filename?: string;
|
|
340
391
|
|
|
341
|
-
/**
|
|
342
|
-
* Provider-specific options.
|
|
343
|
-
*/
|
|
344
|
-
providerOptions?: SharedV4ProviderOptions;
|
|
345
|
-
}
|
|
346
|
-
| {
|
|
347
|
-
type: 'file-url';
|
|
348
|
-
|
|
349
|
-
/**
|
|
350
|
-
* URL of the file.
|
|
351
|
-
*/
|
|
352
|
-
url: string;
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
* Provider-specific options.
|
|
356
|
-
*/
|
|
357
|
-
providerOptions?: SharedV4ProviderOptions;
|
|
358
|
-
}
|
|
359
|
-
| {
|
|
360
|
-
type: 'file-id';
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* ID of the file.
|
|
364
|
-
*
|
|
365
|
-
* If you use multiple providers, you need to
|
|
366
|
-
* specify the provider specific ids using
|
|
367
|
-
* the Record option. The key is the provider
|
|
368
|
-
* name, e.g. 'openai' or 'anthropic'.
|
|
369
|
-
*/
|
|
370
|
-
fileId: string | Record<string, string>;
|
|
371
|
-
|
|
372
|
-
/**
|
|
373
|
-
* Provider-specific options.
|
|
374
|
-
*/
|
|
375
|
-
providerOptions?: SharedV4ProviderOptions;
|
|
376
|
-
}
|
|
377
|
-
| {
|
|
378
|
-
/**
|
|
379
|
-
* Images that are referenced using base64 encoded data.
|
|
380
|
-
*/
|
|
381
|
-
type: 'image-data';
|
|
382
|
-
|
|
383
|
-
/**
|
|
384
|
-
* Base-64 encoded image data.
|
|
385
|
-
*/
|
|
386
|
-
data: string;
|
|
387
|
-
|
|
388
|
-
/**
|
|
389
|
-
* IANA media type.
|
|
390
|
-
* @see https://www.iana.org/assignments/media-types/media-types.xhtml
|
|
391
|
-
*/
|
|
392
|
-
mediaType: string;
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* Provider-specific options.
|
|
396
|
-
*/
|
|
397
|
-
providerOptions?: SharedV4ProviderOptions;
|
|
398
|
-
}
|
|
399
|
-
| {
|
|
400
|
-
/**
|
|
401
|
-
* Images that are referenced using a URL.
|
|
402
|
-
*/
|
|
403
|
-
type: 'image-url';
|
|
404
|
-
|
|
405
|
-
/**
|
|
406
|
-
* URL of the image.
|
|
407
|
-
*/
|
|
408
|
-
url: string;
|
|
409
|
-
|
|
410
|
-
/**
|
|
411
|
-
* Provider-specific options.
|
|
412
|
-
*/
|
|
413
|
-
providerOptions?: SharedV4ProviderOptions;
|
|
414
|
-
}
|
|
415
|
-
| {
|
|
416
|
-
/**
|
|
417
|
-
* Images that are referenced using a provider file id.
|
|
418
|
-
*/
|
|
419
|
-
type: 'image-file-id';
|
|
420
|
-
|
|
421
|
-
/**
|
|
422
|
-
* Image that is referenced using a provider file id.
|
|
423
|
-
*
|
|
424
|
-
* If you use multiple providers, you need to
|
|
425
|
-
* specify the provider specific ids using
|
|
426
|
-
* the Record option. The key is the provider
|
|
427
|
-
* name, e.g. 'openai' or 'anthropic'.
|
|
428
|
-
*/
|
|
429
|
-
fileId: string | Record<string, string>;
|
|
430
|
-
|
|
431
392
|
/**
|
|
432
393
|
* Provider-specific options.
|
|
433
394
|
*/
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type {
|
|
2
|
+
SharedV4FileDataData,
|
|
3
|
+
SharedV4FileDataUrl,
|
|
4
|
+
SharedV4ProviderMetadata,
|
|
5
|
+
} from '../../shared';
|
|
2
6
|
|
|
3
7
|
/**
|
|
4
8
|
* A file that has been generated by the model as part of reasoning.
|
|
@@ -16,14 +20,17 @@ export type LanguageModelV4ReasoningFile = {
|
|
|
16
20
|
mediaType: string;
|
|
17
21
|
|
|
18
22
|
/**
|
|
19
|
-
* Generated file data as
|
|
23
|
+
* Generated file data as a tagged discriminated union:
|
|
24
|
+
*
|
|
25
|
+
* - `{ type: 'data', data }`: raw bytes (Uint8Array) or base64-encoded string.
|
|
26
|
+
* - `{ type: 'url', url }`: a URL that points to the file.
|
|
20
27
|
*
|
|
21
28
|
* The file data should be returned without any unnecessary conversion.
|
|
22
29
|
* If the API returns base64 encoded strings, the file data should be returned
|
|
23
30
|
* as base64 encoded strings. If the API returns binary data, the file data should
|
|
24
31
|
* be returned as binary data.
|
|
25
32
|
*/
|
|
26
|
-
data:
|
|
33
|
+
data: SharedV4FileDataData | SharedV4FileDataUrl;
|
|
27
34
|
|
|
28
35
|
/**
|
|
29
36
|
* Optional provider-specific metadata for the reasoning file part.
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { SharedV4ProviderMetadata } from '../../shared/v4/shared-v4-provider-metadata';
|
|
2
|
-
import { SharedV4Warning } from '../../shared/v4/shared-v4-warning';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
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';
|
|
12
13
|
|
|
13
14
|
export type LanguageModelV4StreamPart =
|
|
14
15
|
// Text blocks:
|
|
@@ -71,6 +72,7 @@ export type LanguageModelV4StreamPart =
|
|
|
71
72
|
| LanguageModelV4ToolApprovalRequest
|
|
72
73
|
| LanguageModelV4ToolCall
|
|
73
74
|
| LanguageModelV4ToolResult
|
|
75
|
+
| LanguageModelV4CustomContent
|
|
74
76
|
|
|
75
77
|
// Files and sources:
|
|
76
78
|
| LanguageModelV4File
|
|
@@ -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
|
* Tool approval request emitted by a provider for a provider-executed tool call.
|
|
@@ -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,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.
|