@ai-sdk/provider 4.0.15 → 4.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/index.d.ts +117 -8
- package/dist/index.js +126 -100
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/errors/evaluation-unsupported-question-type-error.ts +44 -0
- package/src/errors/index.ts +1 -0
- package/src/evaluation-model/v4/evaluation-model-v4-call-options.ts +14 -0
- package/src/evaluation-model/v4/evaluation-model-v4-question.ts +32 -0
- package/src/evaluation-model/v4/evaluation-model-v4-result.ts +56 -0
- package/src/evaluation-model/v4/evaluation-model-v4.ts +16 -0
- package/src/evaluation-model/v4/index.ts +10 -0
- package/src/index.ts +1 -0
- package/src/json-value/json-value.ts +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @ai-sdk/provider
|
|
2
2
|
|
|
3
|
+
## 4.0.16
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- d06bb2a: Allow readonly arrays and objects containing them to be used as JSON values.
|
|
8
|
+
- 123d71f: Add `experimental_evaluate` and the isolated experimental v4 evaluation model specification for Choice, Score, and Boolean questions against shared state. Includes typed answers, optional Choice/Score distributions, required Boolean probabilities, validation, retries, cancellation, and `Experimental_EvaluationUnsupportedQuestionTypeError` for unsupported questions.
|
|
9
|
+
|
|
3
10
|
## 4.0.15
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -84,7 +84,7 @@ type SharedV4Headers = Record<string, string>;
|
|
|
84
84
|
* A JSON value can be a string, number, boolean, object, array, or null.
|
|
85
85
|
* JSON values can be serialized and deserialized by the JSON.stringify and JSON.parse methods.
|
|
86
86
|
*/
|
|
87
|
-
type JSONValue = null | string | number | boolean | JSONObject |
|
|
87
|
+
type JSONValue = null | string | number | boolean | Readonly<JSONObject> | readonly JSONValue[];
|
|
88
88
|
type JSONObject = {
|
|
89
89
|
[key: string]: JSONValue | undefined;
|
|
90
90
|
};
|
|
@@ -1974,13 +1974,13 @@ type EmbeddingModelV2<VALUE> = {
|
|
|
1974
1974
|
}>;
|
|
1975
1975
|
};
|
|
1976
1976
|
|
|
1977
|
-
declare const symbol$
|
|
1977
|
+
declare const symbol$f: unique symbol;
|
|
1978
1978
|
/**
|
|
1979
1979
|
* Custom error class for AI SDK related errors.
|
|
1980
1980
|
* @extends Error
|
|
1981
1981
|
*/
|
|
1982
1982
|
declare class AISDKError extends Error {
|
|
1983
|
-
private readonly [symbol$
|
|
1983
|
+
private readonly [symbol$f];
|
|
1984
1984
|
/**
|
|
1985
1985
|
* The underlying cause of the error, if any.
|
|
1986
1986
|
*/
|
|
@@ -2007,9 +2007,9 @@ declare class AISDKError extends Error {
|
|
|
2007
2007
|
protected static hasMarker(error: unknown, marker: string): boolean;
|
|
2008
2008
|
}
|
|
2009
2009
|
|
|
2010
|
-
declare const symbol$
|
|
2010
|
+
declare const symbol$e: unique symbol;
|
|
2011
2011
|
declare class APICallError extends AISDKError {
|
|
2012
|
-
private readonly [symbol$
|
|
2012
|
+
private readonly [symbol$e];
|
|
2013
2013
|
readonly url: string;
|
|
2014
2014
|
readonly requestBodyValues: unknown;
|
|
2015
2015
|
readonly statusCode?: number;
|
|
@@ -2032,15 +2032,35 @@ declare class APICallError extends AISDKError {
|
|
|
2032
2032
|
static isInstance(error: unknown): error is APICallError;
|
|
2033
2033
|
}
|
|
2034
2034
|
|
|
2035
|
-
declare const symbol$
|
|
2035
|
+
declare const symbol$d: unique symbol;
|
|
2036
2036
|
declare class EmptyResponseBodyError extends AISDKError {
|
|
2037
|
-
private readonly [symbol$
|
|
2037
|
+
private readonly [symbol$d];
|
|
2038
2038
|
constructor({ message }?: {
|
|
2039
2039
|
message?: string;
|
|
2040
2040
|
});
|
|
2041
2041
|
static isInstance(error: unknown): error is EmptyResponseBodyError;
|
|
2042
2042
|
}
|
|
2043
2043
|
|
|
2044
|
+
declare const symbol$c: unique symbol;
|
|
2045
|
+
/**
|
|
2046
|
+
* An evaluation model does not support the type of a requested question.
|
|
2047
|
+
*/
|
|
2048
|
+
declare class EvaluationUnsupportedQuestionTypeError extends AISDKError {
|
|
2049
|
+
private readonly [symbol$c];
|
|
2050
|
+
readonly questionId: string;
|
|
2051
|
+
readonly questionType: string;
|
|
2052
|
+
readonly provider: string;
|
|
2053
|
+
readonly modelId: string;
|
|
2054
|
+
constructor({ questionId, questionType, provider, modelId, message, }: {
|
|
2055
|
+
questionId: string;
|
|
2056
|
+
questionType: string;
|
|
2057
|
+
provider: string;
|
|
2058
|
+
modelId: string;
|
|
2059
|
+
message?: string;
|
|
2060
|
+
});
|
|
2061
|
+
static isInstance(error: unknown): error is EvaluationUnsupportedQuestionTypeError;
|
|
2062
|
+
}
|
|
2063
|
+
|
|
2044
2064
|
declare function getErrorMessage(error: unknown | undefined): string;
|
|
2045
2065
|
|
|
2046
2066
|
declare const symbol$b: unique symbol;
|
|
@@ -2231,6 +2251,95 @@ declare class UnsupportedFunctionalityError extends AISDKError {
|
|
|
2231
2251
|
static isInstance(error: unknown): error is UnsupportedFunctionalityError;
|
|
2232
2252
|
}
|
|
2233
2253
|
|
|
2254
|
+
/** Shared state or structured instructions for an evaluation. */
|
|
2255
|
+
type EvaluationModelV4Input = string | Readonly<JSONObject> | readonly JSONValue[];
|
|
2256
|
+
/** A judgment to make about the shared state. */
|
|
2257
|
+
type EvaluationModelV4Question = {
|
|
2258
|
+
readonly type: 'choice';
|
|
2259
|
+
readonly instructions: EvaluationModelV4Input;
|
|
2260
|
+
/** Nonempty map of option names to descriptions. Null means no description. */
|
|
2261
|
+
readonly criteria: Readonly<Record<string, EvaluationModelV4Input | null>>;
|
|
2262
|
+
} | {
|
|
2263
|
+
readonly type: 'score';
|
|
2264
|
+
readonly instructions: EvaluationModelV4Input;
|
|
2265
|
+
/** At least two ordered levels, indexed from zero. */
|
|
2266
|
+
readonly criteria: readonly (EvaluationModelV4Input | null)[];
|
|
2267
|
+
} | {
|
|
2268
|
+
readonly type: 'boolean';
|
|
2269
|
+
readonly instructions: EvaluationModelV4Input;
|
|
2270
|
+
readonly criteria?: {
|
|
2271
|
+
readonly true?: EvaluationModelV4Input | null;
|
|
2272
|
+
readonly false?: EvaluationModelV4Input | null;
|
|
2273
|
+
};
|
|
2274
|
+
};
|
|
2275
|
+
|
|
2276
|
+
type EvaluationModelV4CallOptions = {
|
|
2277
|
+
/** One shared state, even when the value is an array. */
|
|
2278
|
+
state: EvaluationModelV4Input;
|
|
2279
|
+
questions: Readonly<Record<string, EvaluationModelV4Question>>;
|
|
2280
|
+
abortSignal?: AbortSignal;
|
|
2281
|
+
headers?: SharedV4Headers;
|
|
2282
|
+
providerOptions?: SharedV4ProviderOptions;
|
|
2283
|
+
};
|
|
2284
|
+
|
|
2285
|
+
type EvaluationModelV4Answer = {
|
|
2286
|
+
type: 'choice';
|
|
2287
|
+
/** The selected option, with maximal probability when a distribution exists. */
|
|
2288
|
+
choice: string;
|
|
2289
|
+
/** Complete distribution over the question's options, when available. */
|
|
2290
|
+
probabilities?: Record<string, number>;
|
|
2291
|
+
} | {
|
|
2292
|
+
type: 'score';
|
|
2293
|
+
/** Fractional position in [0, number of levels - 1]. */
|
|
2294
|
+
score: number;
|
|
2295
|
+
/**
|
|
2296
|
+
* Complete distribution, keyed by zero-based level indices as strings.
|
|
2297
|
+
* When supplied, score is its probability-weighted mean.
|
|
2298
|
+
*/
|
|
2299
|
+
probabilities?: Record<string, number>;
|
|
2300
|
+
} | {
|
|
2301
|
+
type: 'boolean';
|
|
2302
|
+
/** Model-estimated P(true), in [0, 1]. Not confidence in either outcome. */
|
|
2303
|
+
probability: number;
|
|
2304
|
+
};
|
|
2305
|
+
type EvaluationModelV4Result = {
|
|
2306
|
+
/** Exactly one answer per question, under the original question IDs. */
|
|
2307
|
+
answers: Record<string, EvaluationModelV4Answer>;
|
|
2308
|
+
/**
|
|
2309
|
+
* Decimal places used when the provider rounds its output. Omit for full
|
|
2310
|
+
* precision. Core allows half a unit in the last place per rounded value
|
|
2311
|
+
* when checking distribution sums and weighted scores, preserving the values.
|
|
2312
|
+
*/
|
|
2313
|
+
rounding?: {
|
|
2314
|
+
probabilityDecimals?: number;
|
|
2315
|
+
scoreDecimals?: number;
|
|
2316
|
+
};
|
|
2317
|
+
usage?: {
|
|
2318
|
+
inputTokens?: number;
|
|
2319
|
+
outputTokens?: number;
|
|
2320
|
+
};
|
|
2321
|
+
warnings: SharedV4Warning[];
|
|
2322
|
+
providerMetadata?: SharedV4ProviderMetadata;
|
|
2323
|
+
response?: {
|
|
2324
|
+
id?: string;
|
|
2325
|
+
timestamp?: Date;
|
|
2326
|
+
modelId?: string;
|
|
2327
|
+
headers?: SharedV4Headers;
|
|
2328
|
+
body?: unknown;
|
|
2329
|
+
};
|
|
2330
|
+
};
|
|
2331
|
+
|
|
2332
|
+
/** Experimental evaluation model contract. May change in patch releases. */
|
|
2333
|
+
type EvaluationModelV4 = {
|
|
2334
|
+
readonly specificationVersion: 'v4';
|
|
2335
|
+
readonly provider: string;
|
|
2336
|
+
readonly modelId: string;
|
|
2337
|
+
/** Supported question types, used to reject unsupported calls before any I/O. */
|
|
2338
|
+
readonly supportedQuestionTypes: readonly EvaluationModelV4Question['type'][];
|
|
2339
|
+
/** Evaluate every question against the same state. No partial results. */
|
|
2340
|
+
doEvaluate(options: EvaluationModelV4CallOptions): PromiseLike<EvaluationModelV4Result>;
|
|
2341
|
+
};
|
|
2342
|
+
|
|
2234
2343
|
/**
|
|
2235
2344
|
* Options for deleting a file via the files interface.
|
|
2236
2345
|
*/
|
|
@@ -8358,4 +8467,4 @@ type VideoModelV3 = {
|
|
|
8358
8467
|
}>;
|
|
8359
8468
|
};
|
|
8360
8469
|
|
|
8361
|
-
export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3CallOptions, type EmbeddingModelV3Embedding, type EmbeddingModelV3Middleware, type EmbeddingModelV3Result, type EmbeddingModelV4, type EmbeddingModelV4CallOptions, type EmbeddingModelV4Embedding, type EmbeddingModelV4Middleware, type EmbeddingModelV4Result, EmptyResponseBodyError, type BatchV4 as Experimental_BatchV4, type BatchV4CancelResult as Experimental_BatchV4CancelResult, type BatchV4Error as Experimental_BatchV4Error, type BatchV4ItemResult as Experimental_BatchV4ItemResult, type BatchV4ListItem as Experimental_BatchV4ListItem, type BatchV4ListOptions as Experimental_BatchV4ListOptions, type BatchV4ListResult as Experimental_BatchV4ListResult, type BatchV4ModelIds as Experimental_BatchV4ModelIds, type BatchV4OperationOptions as Experimental_BatchV4OperationOptions, type BatchV4Request as Experimental_BatchV4Request, type BatchV4RequestBase as Experimental_BatchV4RequestBase, type BatchV4StartOptions as Experimental_BatchV4StartOptions, type BatchV4StartResult as Experimental_BatchV4StartResult, type BatchV4Status as Experimental_BatchV4Status, type ImageBatchV4ItemResult as Experimental_ImageBatchV4ItemResult, type ImageBatchV4Request as Experimental_ImageBatchV4Request, type RealtimeFactoryV4 as Experimental_RealtimeFactoryV4, type RealtimeFactoryV4GetTokenOptions as Experimental_RealtimeFactoryV4GetTokenOptions, type RealtimeFactoryV4GetTokenResult as Experimental_RealtimeFactoryV4GetTokenResult, type RealtimeModelV4 as Experimental_RealtimeModelV4, type RealtimeModelV4AudioMessage as Experimental_RealtimeModelV4AudioMessage, type RealtimeModelV4ClientEvent as Experimental_RealtimeModelV4ClientEvent, type RealtimeModelV4ClientSecretOptions as Experimental_RealtimeModelV4ClientSecretOptions, type RealtimeModelV4ClientSecretResult as Experimental_RealtimeModelV4ClientSecretResult, type RealtimeModelV4ConversationItem as Experimental_RealtimeModelV4ConversationItem, type RealtimeModelV4FunctionCallOutput as Experimental_RealtimeModelV4FunctionCallOutput, type RealtimeModelV4ServerEvent as Experimental_RealtimeModelV4ServerEvent, type RealtimeModelV4SessionConfig as Experimental_RealtimeModelV4SessionConfig, type RealtimeModelV4TextMessage as Experimental_RealtimeModelV4TextMessage, type RealtimeModelV4ToolDefinition as Experimental_RealtimeModelV4ToolDefinition, type SpeechTranslationModelV4 as Experimental_SpeechTranslationModelV4, type SpeechTranslationModelV4StreamOptions as Experimental_SpeechTranslationModelV4StreamOptions, type SpeechTranslationModelV4StreamPart as Experimental_SpeechTranslationModelV4StreamPart, type SpeechTranslationModelV4StreamResult as Experimental_SpeechTranslationModelV4StreamResult, type SpeechTranslationModelV4Usage as Experimental_SpeechTranslationModelV4Usage, type TextBatchV4ItemResult as Experimental_TextBatchV4ItemResult, type TextBatchV4Request as Experimental_TextBatchV4Request, type TranscriptionModelV4StreamOptions as Experimental_TranscriptionModelV4StreamOptions, type TranscriptionModelV4StreamPart as Experimental_TranscriptionModelV4StreamPart, type TranscriptionModelV4StreamResult as Experimental_TranscriptionModelV4StreamResult, type VideoModelV3 as Experimental_VideoModelV3, type VideoModelV3CallOptions as Experimental_VideoModelV3CallOptions, type VideoModelV3File as Experimental_VideoModelV3File, type VideoModelV3FrameImage as Experimental_VideoModelV3FrameImage, type VideoModelV3FrameType as Experimental_VideoModelV3FrameType, type VideoModelV3VideoData as Experimental_VideoModelV3VideoData, type VideoModelV4 as Experimental_VideoModelV4, type VideoModelV4CallOptions as Experimental_VideoModelV4CallOptions, type VideoModelV4File as Experimental_VideoModelV4File, type VideoModelV4FrameImage as Experimental_VideoModelV4FrameImage, type VideoModelV4FrameType as Experimental_VideoModelV4FrameType, type VideoModelV4OperationStartResult as Experimental_VideoModelV4OperationStartResult, type VideoModelV4OperationStatusResult as Experimental_VideoModelV4OperationStatusResult, type VideoModelV4OperationWebhook as Experimental_VideoModelV4OperationWebhook, type VideoModelV4Result as Experimental_VideoModelV4Result, type VideoModelV4VideoData as Experimental_VideoModelV4VideoData, type FilesV4, type FilesV4DeleteFileCallOptions, type FilesV4DeleteFileResult, type FilesV4DownloadFileCallOptions, type FilesV4DownloadFileResult, type FilesV4GetFileMetadataCallOptions, type FilesV4GetFileMetadataResult, type FilesV4UploadFileCallOptions, type FilesV4UploadFileResult, type FilesV4UploadFileStreamData, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3File, type ImageModelV3Middleware, type ImageModelV3ProviderMetadata, type ImageModelV3Usage, type ImageModelV4, type ImageModelV4CallOptions, type ImageModelV4File, type ImageModelV4Middleware, type ImageModelV4ProviderMetadata, type ImageModelV4Result, type ImageModelV4Usage, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3GenerateResult, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3StreamResult, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolApprovalRequest, type LanguageModelV3ToolApprovalResponsePart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, type LanguageModelV4, type LanguageModelV4CallOptions, type LanguageModelV4Content, type LanguageModelV4CustomContent, type LanguageModelV4CustomPart, type LanguageModelV4File, type LanguageModelV4FilePart, type LanguageModelV4FinishReason, type LanguageModelV4FunctionTool, type LanguageModelV4GenerateResult, type LanguageModelV4Message, type LanguageModelV4Middleware, type LanguageModelV4Prompt, type LanguageModelV4ProviderTool, type LanguageModelV4Reasoning, type LanguageModelV4ReasoningFile, type LanguageModelV4ReasoningFilePart, type LanguageModelV4ReasoningPart, type LanguageModelV4ResponseMetadata, type LanguageModelV4Source, type LanguageModelV4StreamPart, type LanguageModelV4StreamResult, type LanguageModelV4Text, type LanguageModelV4TextPart, type LanguageModelV4ToolApprovalRequest, type LanguageModelV4ToolApprovalResponsePart, type LanguageModelV4ToolCall, type LanguageModelV4ToolCallPart, type LanguageModelV4ToolChoice, type LanguageModelV4ToolResult, type LanguageModelV4ToolResultOutput, type LanguageModelV4ToolResultPart, type LanguageModelV4Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, NoSuchProviderReferenceError, type ProviderV2, type ProviderV3, type ProviderV4, type RerankingModelV3, type RerankingModelV3CallOptions, type RerankingModelV4, type RerankingModelV4CallOptions, type RerankingModelV4Result, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SharedV3Warning, type SharedV4AudioFormat, type SharedV4FileData, type SharedV4FileDataData, type SharedV4FileDataReference, type SharedV4FileDataText, type SharedV4FileDataUrl, type SharedV4Headers, type SharedV4ProviderMetadata, type SharedV4ProviderOptions, type SharedV4ProviderReference, type SharedV4Warning, type SkillsV4, type SkillsV4File, type SkillsV4UploadSkillCallOptions, type SkillsV4UploadSkillResult, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, type SpeechModelV4, type SpeechModelV4CallOptions, type SpeechModelV4Result, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, type TranscriptionModelV4, type TranscriptionModelV4CallOptions, type TranscriptionModelV4Result, type TypeValidationContext, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
|
|
8470
|
+
export { AISDKError, APICallError, type EmbeddingModelV2, type EmbeddingModelV2Embedding, type EmbeddingModelV3, type EmbeddingModelV3CallOptions, type EmbeddingModelV3Embedding, type EmbeddingModelV3Middleware, type EmbeddingModelV3Result, type EmbeddingModelV4, type EmbeddingModelV4CallOptions, type EmbeddingModelV4Embedding, type EmbeddingModelV4Middleware, type EmbeddingModelV4Result, EmptyResponseBodyError, type BatchV4 as Experimental_BatchV4, type BatchV4CancelResult as Experimental_BatchV4CancelResult, type BatchV4Error as Experimental_BatchV4Error, type BatchV4ItemResult as Experimental_BatchV4ItemResult, type BatchV4ListItem as Experimental_BatchV4ListItem, type BatchV4ListOptions as Experimental_BatchV4ListOptions, type BatchV4ListResult as Experimental_BatchV4ListResult, type BatchV4ModelIds as Experimental_BatchV4ModelIds, type BatchV4OperationOptions as Experimental_BatchV4OperationOptions, type BatchV4Request as Experimental_BatchV4Request, type BatchV4RequestBase as Experimental_BatchV4RequestBase, type BatchV4StartOptions as Experimental_BatchV4StartOptions, type BatchV4StartResult as Experimental_BatchV4StartResult, type BatchV4Status as Experimental_BatchV4Status, type EvaluationModelV4 as Experimental_EvaluationModelV4, type EvaluationModelV4Answer as Experimental_EvaluationModelV4Answer, type EvaluationModelV4CallOptions as Experimental_EvaluationModelV4CallOptions, type EvaluationModelV4Input as Experimental_EvaluationModelV4Input, type EvaluationModelV4Question as Experimental_EvaluationModelV4Question, type EvaluationModelV4Result as Experimental_EvaluationModelV4Result, EvaluationUnsupportedQuestionTypeError as Experimental_EvaluationUnsupportedQuestionTypeError, type ImageBatchV4ItemResult as Experimental_ImageBatchV4ItemResult, type ImageBatchV4Request as Experimental_ImageBatchV4Request, type RealtimeFactoryV4 as Experimental_RealtimeFactoryV4, type RealtimeFactoryV4GetTokenOptions as Experimental_RealtimeFactoryV4GetTokenOptions, type RealtimeFactoryV4GetTokenResult as Experimental_RealtimeFactoryV4GetTokenResult, type RealtimeModelV4 as Experimental_RealtimeModelV4, type RealtimeModelV4AudioMessage as Experimental_RealtimeModelV4AudioMessage, type RealtimeModelV4ClientEvent as Experimental_RealtimeModelV4ClientEvent, type RealtimeModelV4ClientSecretOptions as Experimental_RealtimeModelV4ClientSecretOptions, type RealtimeModelV4ClientSecretResult as Experimental_RealtimeModelV4ClientSecretResult, type RealtimeModelV4ConversationItem as Experimental_RealtimeModelV4ConversationItem, type RealtimeModelV4FunctionCallOutput as Experimental_RealtimeModelV4FunctionCallOutput, type RealtimeModelV4ServerEvent as Experimental_RealtimeModelV4ServerEvent, type RealtimeModelV4SessionConfig as Experimental_RealtimeModelV4SessionConfig, type RealtimeModelV4TextMessage as Experimental_RealtimeModelV4TextMessage, type RealtimeModelV4ToolDefinition as Experimental_RealtimeModelV4ToolDefinition, type SpeechTranslationModelV4 as Experimental_SpeechTranslationModelV4, type SpeechTranslationModelV4StreamOptions as Experimental_SpeechTranslationModelV4StreamOptions, type SpeechTranslationModelV4StreamPart as Experimental_SpeechTranslationModelV4StreamPart, type SpeechTranslationModelV4StreamResult as Experimental_SpeechTranslationModelV4StreamResult, type SpeechTranslationModelV4Usage as Experimental_SpeechTranslationModelV4Usage, type TextBatchV4ItemResult as Experimental_TextBatchV4ItemResult, type TextBatchV4Request as Experimental_TextBatchV4Request, type TranscriptionModelV4StreamOptions as Experimental_TranscriptionModelV4StreamOptions, type TranscriptionModelV4StreamPart as Experimental_TranscriptionModelV4StreamPart, type TranscriptionModelV4StreamResult as Experimental_TranscriptionModelV4StreamResult, type VideoModelV3 as Experimental_VideoModelV3, type VideoModelV3CallOptions as Experimental_VideoModelV3CallOptions, type VideoModelV3File as Experimental_VideoModelV3File, type VideoModelV3FrameImage as Experimental_VideoModelV3FrameImage, type VideoModelV3FrameType as Experimental_VideoModelV3FrameType, type VideoModelV3VideoData as Experimental_VideoModelV3VideoData, type VideoModelV4 as Experimental_VideoModelV4, type VideoModelV4CallOptions as Experimental_VideoModelV4CallOptions, type VideoModelV4File as Experimental_VideoModelV4File, type VideoModelV4FrameImage as Experimental_VideoModelV4FrameImage, type VideoModelV4FrameType as Experimental_VideoModelV4FrameType, type VideoModelV4OperationStartResult as Experimental_VideoModelV4OperationStartResult, type VideoModelV4OperationStatusResult as Experimental_VideoModelV4OperationStatusResult, type VideoModelV4OperationWebhook as Experimental_VideoModelV4OperationWebhook, type VideoModelV4Result as Experimental_VideoModelV4Result, type VideoModelV4VideoData as Experimental_VideoModelV4VideoData, type FilesV4, type FilesV4DeleteFileCallOptions, type FilesV4DeleteFileResult, type FilesV4DownloadFileCallOptions, type FilesV4DownloadFileResult, type FilesV4GetFileMetadataCallOptions, type FilesV4GetFileMetadataResult, type FilesV4UploadFileCallOptions, type FilesV4UploadFileResult, type FilesV4UploadFileStreamData, type ImageModelV2, type ImageModelV2CallOptions, type ImageModelV2CallWarning, type ImageModelV2ProviderMetadata, type ImageModelV3, type ImageModelV3CallOptions, type ImageModelV3File, type ImageModelV3Middleware, type ImageModelV3ProviderMetadata, type ImageModelV3Usage, type ImageModelV4, type ImageModelV4CallOptions, type ImageModelV4File, type ImageModelV4Middleware, type ImageModelV4ProviderMetadata, type ImageModelV4Result, type ImageModelV4Usage, InvalidArgumentError, InvalidPromptError, InvalidResponseDataError, type JSONArray, type JSONObject, JSONParseError, type JSONValue, type LanguageModelV2, type LanguageModelV2CallOptions, type LanguageModelV2CallWarning, type LanguageModelV2Content, type LanguageModelV2DataContent, type LanguageModelV2File, type LanguageModelV2FilePart, type LanguageModelV2FinishReason, type LanguageModelV2FunctionTool, type LanguageModelV2Message, type LanguageModelV2Middleware, type LanguageModelV2Prompt, type LanguageModelV2ProviderDefinedTool, type LanguageModelV2Reasoning, type LanguageModelV2ReasoningPart, type LanguageModelV2ResponseMetadata, type LanguageModelV2Source, type LanguageModelV2StreamPart, type LanguageModelV2Text, type LanguageModelV2TextPart, type LanguageModelV2ToolCall, type LanguageModelV2ToolCallPart, type LanguageModelV2ToolChoice, type LanguageModelV2ToolResultOutput, type LanguageModelV2ToolResultPart, type LanguageModelV2Usage, type LanguageModelV3, type LanguageModelV3CallOptions, type LanguageModelV3Content, type LanguageModelV3DataContent, type LanguageModelV3File, type LanguageModelV3FilePart, type LanguageModelV3FinishReason, type LanguageModelV3FunctionTool, type LanguageModelV3GenerateResult, type LanguageModelV3Message, type LanguageModelV3Middleware, type LanguageModelV3Prompt, type LanguageModelV3ProviderTool, type LanguageModelV3Reasoning, type LanguageModelV3ReasoningPart, type LanguageModelV3ResponseMetadata, type LanguageModelV3Source, type LanguageModelV3StreamPart, type LanguageModelV3StreamResult, type LanguageModelV3Text, type LanguageModelV3TextPart, type LanguageModelV3ToolApprovalRequest, type LanguageModelV3ToolApprovalResponsePart, type LanguageModelV3ToolCall, type LanguageModelV3ToolCallPart, type LanguageModelV3ToolChoice, type LanguageModelV3ToolResult, type LanguageModelV3ToolResultOutput, type LanguageModelV3ToolResultPart, type LanguageModelV3Usage, type LanguageModelV4, type LanguageModelV4CallOptions, type LanguageModelV4Content, type LanguageModelV4CustomContent, type LanguageModelV4CustomPart, type LanguageModelV4File, type LanguageModelV4FilePart, type LanguageModelV4FinishReason, type LanguageModelV4FunctionTool, type LanguageModelV4GenerateResult, type LanguageModelV4Message, type LanguageModelV4Middleware, type LanguageModelV4Prompt, type LanguageModelV4ProviderTool, type LanguageModelV4Reasoning, type LanguageModelV4ReasoningFile, type LanguageModelV4ReasoningFilePart, type LanguageModelV4ReasoningPart, type LanguageModelV4ResponseMetadata, type LanguageModelV4Source, type LanguageModelV4StreamPart, type LanguageModelV4StreamResult, type LanguageModelV4Text, type LanguageModelV4TextPart, type LanguageModelV4ToolApprovalRequest, type LanguageModelV4ToolApprovalResponsePart, type LanguageModelV4ToolCall, type LanguageModelV4ToolCallPart, type LanguageModelV4ToolChoice, type LanguageModelV4ToolResult, type LanguageModelV4ToolResultOutput, type LanguageModelV4ToolResultPart, type LanguageModelV4Usage, LoadAPIKeyError, LoadSettingError, NoContentGeneratedError, NoSuchModelError, NoSuchProviderReferenceError, type ProviderV2, type ProviderV3, type ProviderV4, type RerankingModelV3, type RerankingModelV3CallOptions, type RerankingModelV4, type RerankingModelV4CallOptions, type RerankingModelV4Result, type SharedV2Headers, type SharedV2ProviderMetadata, type SharedV2ProviderOptions, type SharedV3Headers, type SharedV3ProviderMetadata, type SharedV3ProviderOptions, type SharedV3Warning, type SharedV4AudioFormat, type SharedV4FileData, type SharedV4FileDataData, type SharedV4FileDataReference, type SharedV4FileDataText, type SharedV4FileDataUrl, type SharedV4Headers, type SharedV4ProviderMetadata, type SharedV4ProviderOptions, type SharedV4ProviderReference, type SharedV4Warning, type SkillsV4, type SkillsV4File, type SkillsV4UploadSkillCallOptions, type SkillsV4UploadSkillResult, type SpeechModelV2, type SpeechModelV2CallOptions, type SpeechModelV2CallWarning, type SpeechModelV3, type SpeechModelV3CallOptions, type SpeechModelV4, type SpeechModelV4CallOptions, type SpeechModelV4Result, TooManyEmbeddingValuesForCallError, type TranscriptionModelV2, type TranscriptionModelV2CallOptions, type TranscriptionModelV2CallWarning, type TranscriptionModelV3, type TranscriptionModelV3CallOptions, type TranscriptionModelV4, type TranscriptionModelV4CallOptions, type TranscriptionModelV4Result, type TypeValidationContext, TypeValidationError, UnsupportedFunctionalityError, getErrorMessage, isJSONArray, isJSONObject, isJSONValue };
|
package/dist/index.js
CHANGED
|
@@ -12,13 +12,13 @@ var AISDKError = class _AISDKError extends (_b = Error, _a = symbol, _b) {
|
|
|
12
12
|
* @param {unknown} [params.cause] - The underlying cause of the error.
|
|
13
13
|
*/
|
|
14
14
|
constructor({
|
|
15
|
-
name:
|
|
15
|
+
name: name16,
|
|
16
16
|
message,
|
|
17
17
|
cause
|
|
18
18
|
}) {
|
|
19
19
|
super(message);
|
|
20
20
|
this[_a] = true;
|
|
21
|
-
this.name =
|
|
21
|
+
this.name = name16;
|
|
22
22
|
this.cause = cause;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
@@ -29,8 +29,8 @@ var AISDKError = class _AISDKError extends (_b = Error, _a = symbol, _b) {
|
|
|
29
29
|
static isInstance(error) {
|
|
30
30
|
return _AISDKError.hasMarker(error, marker);
|
|
31
31
|
}
|
|
32
|
-
static hasMarker(error,
|
|
33
|
-
const markerSymbol = Symbol.for(
|
|
32
|
+
static hasMarker(error, marker17) {
|
|
33
|
+
const markerSymbol = Symbol.for(marker17);
|
|
34
34
|
return error != null && typeof error === "object" && markerSymbol in error && typeof error[markerSymbol] === "boolean" && error[markerSymbol] === true;
|
|
35
35
|
}
|
|
36
36
|
};
|
|
@@ -87,6 +87,31 @@ var EmptyResponseBodyError = class extends (_b3 = AISDKError, _a3 = symbol3, _b3
|
|
|
87
87
|
}
|
|
88
88
|
};
|
|
89
89
|
|
|
90
|
+
// src/errors/evaluation-unsupported-question-type-error.ts
|
|
91
|
+
var name3 = "AI_EvaluationUnsupportedQuestionTypeError";
|
|
92
|
+
var marker4 = `vercel.ai.error.${name3}`;
|
|
93
|
+
var symbol4 = Symbol.for(marker4);
|
|
94
|
+
var _a4, _b4;
|
|
95
|
+
var EvaluationUnsupportedQuestionTypeError = class extends (_b4 = AISDKError, _a4 = symbol4, _b4) {
|
|
96
|
+
constructor({
|
|
97
|
+
questionId,
|
|
98
|
+
questionType,
|
|
99
|
+
provider,
|
|
100
|
+
modelId,
|
|
101
|
+
message = `Question "${questionId}" has type "${questionType}", which is not supported by provider "${provider}" and model "${modelId}".`
|
|
102
|
+
}) {
|
|
103
|
+
super({ name: name3, message });
|
|
104
|
+
this[_a4] = true;
|
|
105
|
+
this.questionId = questionId;
|
|
106
|
+
this.questionType = questionType;
|
|
107
|
+
this.provider = provider;
|
|
108
|
+
this.modelId = modelId;
|
|
109
|
+
}
|
|
110
|
+
static isInstance(error) {
|
|
111
|
+
return AISDKError.hasMarker(error, marker4);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
|
|
90
115
|
// src/errors/get-error-message.ts
|
|
91
116
|
function getErrorMessage(error) {
|
|
92
117
|
if (error == null) {
|
|
@@ -102,107 +127,91 @@ function getErrorMessage(error) {
|
|
|
102
127
|
}
|
|
103
128
|
|
|
104
129
|
// src/errors/invalid-argument-error.ts
|
|
105
|
-
var
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
109
|
-
var InvalidArgumentError = class extends (
|
|
130
|
+
var name4 = "AI_InvalidArgumentError";
|
|
131
|
+
var marker5 = `vercel.ai.error.${name4}`;
|
|
132
|
+
var symbol5 = Symbol.for(marker5);
|
|
133
|
+
var _a5, _b5;
|
|
134
|
+
var InvalidArgumentError = class extends (_b5 = AISDKError, _a5 = symbol5, _b5) {
|
|
110
135
|
constructor({
|
|
111
136
|
message,
|
|
112
137
|
cause,
|
|
113
138
|
argument
|
|
114
139
|
}) {
|
|
115
|
-
super({ name:
|
|
116
|
-
this[
|
|
140
|
+
super({ name: name4, message, cause });
|
|
141
|
+
this[_a5] = true;
|
|
117
142
|
this.argument = argument;
|
|
118
143
|
}
|
|
119
144
|
static isInstance(error) {
|
|
120
|
-
return AISDKError.hasMarker(error,
|
|
145
|
+
return AISDKError.hasMarker(error, marker5);
|
|
121
146
|
}
|
|
122
147
|
};
|
|
123
148
|
|
|
124
149
|
// src/errors/invalid-prompt-error.ts
|
|
125
|
-
var
|
|
126
|
-
var
|
|
127
|
-
var
|
|
128
|
-
var
|
|
129
|
-
var InvalidPromptError = class extends (
|
|
150
|
+
var name5 = "AI_InvalidPromptError";
|
|
151
|
+
var marker6 = `vercel.ai.error.${name5}`;
|
|
152
|
+
var symbol6 = Symbol.for(marker6);
|
|
153
|
+
var _a6, _b6;
|
|
154
|
+
var InvalidPromptError = class extends (_b6 = AISDKError, _a6 = symbol6, _b6) {
|
|
130
155
|
constructor({
|
|
131
156
|
prompt,
|
|
132
157
|
message,
|
|
133
158
|
cause
|
|
134
159
|
}) {
|
|
135
|
-
super({ name:
|
|
136
|
-
this[
|
|
160
|
+
super({ name: name5, message: `Invalid prompt: ${message}`, cause });
|
|
161
|
+
this[_a6] = true;
|
|
137
162
|
this.prompt = prompt;
|
|
138
163
|
}
|
|
139
164
|
static isInstance(error) {
|
|
140
|
-
return AISDKError.hasMarker(error,
|
|
165
|
+
return AISDKError.hasMarker(error, marker6);
|
|
141
166
|
}
|
|
142
167
|
};
|
|
143
168
|
|
|
144
169
|
// src/errors/invalid-response-data-error.ts
|
|
145
|
-
var
|
|
146
|
-
var
|
|
147
|
-
var
|
|
148
|
-
var
|
|
149
|
-
var InvalidResponseDataError = class extends (
|
|
170
|
+
var name6 = "AI_InvalidResponseDataError";
|
|
171
|
+
var marker7 = `vercel.ai.error.${name6}`;
|
|
172
|
+
var symbol7 = Symbol.for(marker7);
|
|
173
|
+
var _a7, _b7;
|
|
174
|
+
var InvalidResponseDataError = class extends (_b7 = AISDKError, _a7 = symbol7, _b7) {
|
|
150
175
|
constructor({
|
|
151
176
|
data,
|
|
152
177
|
message = `Invalid response data: ${JSON.stringify(data)}.`
|
|
153
178
|
}) {
|
|
154
|
-
super({ name:
|
|
155
|
-
this[
|
|
179
|
+
super({ name: name6, message });
|
|
180
|
+
this[_a7] = true;
|
|
156
181
|
this.data = data;
|
|
157
182
|
}
|
|
158
183
|
static isInstance(error) {
|
|
159
|
-
return AISDKError.hasMarker(error,
|
|
184
|
+
return AISDKError.hasMarker(error, marker7);
|
|
160
185
|
}
|
|
161
186
|
};
|
|
162
187
|
|
|
163
188
|
// src/errors/json-parse-error.ts
|
|
164
|
-
var
|
|
165
|
-
var
|
|
166
|
-
var
|
|
167
|
-
var
|
|
168
|
-
var JSONParseError = class extends (
|
|
189
|
+
var name7 = "AI_JSONParseError";
|
|
190
|
+
var marker8 = `vercel.ai.error.${name7}`;
|
|
191
|
+
var symbol8 = Symbol.for(marker8);
|
|
192
|
+
var _a8, _b8;
|
|
193
|
+
var JSONParseError = class extends (_b8 = AISDKError, _a8 = symbol8, _b8) {
|
|
169
194
|
constructor({ text, cause }) {
|
|
170
195
|
super({
|
|
171
|
-
name:
|
|
196
|
+
name: name7,
|
|
172
197
|
message: `JSON parsing failed: Text: ${text}.
|
|
173
198
|
Error message: ${getErrorMessage(cause)}`,
|
|
174
199
|
cause
|
|
175
200
|
});
|
|
176
|
-
this[_a7] = true;
|
|
177
|
-
this.text = text;
|
|
178
|
-
}
|
|
179
|
-
static isInstance(error) {
|
|
180
|
-
return AISDKError.hasMarker(error, marker7);
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
// src/errors/load-api-key-error.ts
|
|
185
|
-
var name7 = "AI_LoadAPIKeyError";
|
|
186
|
-
var marker8 = `vercel.ai.error.${name7}`;
|
|
187
|
-
var symbol8 = Symbol.for(marker8);
|
|
188
|
-
var _a8, _b8;
|
|
189
|
-
var LoadAPIKeyError = class extends (_b8 = AISDKError, _a8 = symbol8, _b8) {
|
|
190
|
-
// used in isInstance
|
|
191
|
-
constructor({ message }) {
|
|
192
|
-
super({ name: name7, message });
|
|
193
201
|
this[_a8] = true;
|
|
202
|
+
this.text = text;
|
|
194
203
|
}
|
|
195
204
|
static isInstance(error) {
|
|
196
205
|
return AISDKError.hasMarker(error, marker8);
|
|
197
206
|
}
|
|
198
207
|
};
|
|
199
208
|
|
|
200
|
-
// src/errors/load-
|
|
201
|
-
var name8 = "
|
|
209
|
+
// src/errors/load-api-key-error.ts
|
|
210
|
+
var name8 = "AI_LoadAPIKeyError";
|
|
202
211
|
var marker9 = `vercel.ai.error.${name8}`;
|
|
203
212
|
var symbol9 = Symbol.for(marker9);
|
|
204
213
|
var _a9, _b9;
|
|
205
|
-
var
|
|
214
|
+
var LoadAPIKeyError = class extends (_b9 = AISDKError, _a9 = symbol9, _b9) {
|
|
206
215
|
// used in isInstance
|
|
207
216
|
constructor({ message }) {
|
|
208
217
|
super({ name: name8, message });
|
|
@@ -213,16 +222,14 @@ var LoadSettingError = class extends (_b9 = AISDKError, _a9 = symbol9, _b9) {
|
|
|
213
222
|
}
|
|
214
223
|
};
|
|
215
224
|
|
|
216
|
-
// src/errors/
|
|
217
|
-
var name9 = "
|
|
225
|
+
// src/errors/load-setting-error.ts
|
|
226
|
+
var name9 = "AI_LoadSettingError";
|
|
218
227
|
var marker10 = `vercel.ai.error.${name9}`;
|
|
219
228
|
var symbol10 = Symbol.for(marker10);
|
|
220
229
|
var _a10, _b10;
|
|
221
|
-
var
|
|
230
|
+
var LoadSettingError = class extends (_b10 = AISDKError, _a10 = symbol10, _b10) {
|
|
222
231
|
// used in isInstance
|
|
223
|
-
constructor({
|
|
224
|
-
message = "No content generated."
|
|
225
|
-
} = {}) {
|
|
232
|
+
constructor({ message }) {
|
|
226
233
|
super({ name: name9, message });
|
|
227
234
|
this[_a10] = true;
|
|
228
235
|
}
|
|
@@ -231,77 +238,95 @@ var NoContentGeneratedError = class extends (_b10 = AISDKError, _a10 = symbol10,
|
|
|
231
238
|
}
|
|
232
239
|
};
|
|
233
240
|
|
|
234
|
-
// src/errors/no-
|
|
235
|
-
var name10 = "
|
|
241
|
+
// src/errors/no-content-generated-error.ts
|
|
242
|
+
var name10 = "AI_NoContentGeneratedError";
|
|
236
243
|
var marker11 = `vercel.ai.error.${name10}`;
|
|
237
244
|
var symbol11 = Symbol.for(marker11);
|
|
238
245
|
var _a11, _b11;
|
|
239
|
-
var
|
|
246
|
+
var NoContentGeneratedError = class extends (_b11 = AISDKError, _a11 = symbol11, _b11) {
|
|
247
|
+
// used in isInstance
|
|
240
248
|
constructor({
|
|
241
|
-
|
|
249
|
+
message = "No content generated."
|
|
250
|
+
} = {}) {
|
|
251
|
+
super({ name: name10, message });
|
|
252
|
+
this[_a11] = true;
|
|
253
|
+
}
|
|
254
|
+
static isInstance(error) {
|
|
255
|
+
return AISDKError.hasMarker(error, marker11);
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
// src/errors/no-such-model-error.ts
|
|
260
|
+
var name11 = "AI_NoSuchModelError";
|
|
261
|
+
var marker12 = `vercel.ai.error.${name11}`;
|
|
262
|
+
var symbol12 = Symbol.for(marker12);
|
|
263
|
+
var _a12, _b12;
|
|
264
|
+
var NoSuchModelError = class extends (_b12 = AISDKError, _a12 = symbol12, _b12) {
|
|
265
|
+
constructor({
|
|
266
|
+
errorName = name11,
|
|
242
267
|
modelId,
|
|
243
268
|
modelType,
|
|
244
269
|
message = `No such ${modelType}: ${modelId}`
|
|
245
270
|
}) {
|
|
246
271
|
super({ name: errorName, message });
|
|
247
|
-
this[
|
|
272
|
+
this[_a12] = true;
|
|
248
273
|
this.modelId = modelId;
|
|
249
274
|
this.modelType = modelType;
|
|
250
275
|
}
|
|
251
276
|
static isInstance(error) {
|
|
252
|
-
return AISDKError.hasMarker(error,
|
|
277
|
+
return AISDKError.hasMarker(error, marker12);
|
|
253
278
|
}
|
|
254
279
|
};
|
|
255
280
|
|
|
256
281
|
// src/errors/no-such-provider-reference-error.ts
|
|
257
|
-
var
|
|
258
|
-
var
|
|
259
|
-
var
|
|
260
|
-
var
|
|
261
|
-
var NoSuchProviderReferenceError = class extends (
|
|
282
|
+
var name12 = "AI_NoSuchProviderReferenceError";
|
|
283
|
+
var marker13 = `vercel.ai.error.${name12}`;
|
|
284
|
+
var symbol13 = Symbol.for(marker13);
|
|
285
|
+
var _a13, _b13;
|
|
286
|
+
var NoSuchProviderReferenceError = class extends (_b13 = AISDKError, _a13 = symbol13, _b13) {
|
|
262
287
|
constructor({
|
|
263
288
|
provider,
|
|
264
289
|
reference,
|
|
265
290
|
message = `No provider reference found for provider '${provider}'. Available providers: ${Object.keys(reference).join(", ")}`
|
|
266
291
|
}) {
|
|
267
|
-
super({ name:
|
|
268
|
-
this[
|
|
292
|
+
super({ name: name12, message });
|
|
293
|
+
this[_a13] = true;
|
|
269
294
|
this.provider = provider;
|
|
270
295
|
this.reference = reference;
|
|
271
296
|
}
|
|
272
297
|
static isInstance(error) {
|
|
273
|
-
return AISDKError.hasMarker(error,
|
|
298
|
+
return AISDKError.hasMarker(error, marker13);
|
|
274
299
|
}
|
|
275
300
|
};
|
|
276
301
|
|
|
277
302
|
// src/errors/too-many-embedding-values-for-call-error.ts
|
|
278
|
-
var
|
|
279
|
-
var
|
|
280
|
-
var
|
|
281
|
-
var
|
|
282
|
-
var TooManyEmbeddingValuesForCallError = class extends (
|
|
303
|
+
var name13 = "AI_TooManyEmbeddingValuesForCallError";
|
|
304
|
+
var marker14 = `vercel.ai.error.${name13}`;
|
|
305
|
+
var symbol14 = Symbol.for(marker14);
|
|
306
|
+
var _a14, _b14;
|
|
307
|
+
var TooManyEmbeddingValuesForCallError = class extends (_b14 = AISDKError, _a14 = symbol14, _b14) {
|
|
283
308
|
constructor(options) {
|
|
284
309
|
super({
|
|
285
|
-
name:
|
|
310
|
+
name: name13,
|
|
286
311
|
message: `Too many values for a single embedding call. The ${options.provider} model "${options.modelId}" can only embed up to ${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`
|
|
287
312
|
});
|
|
288
|
-
this[
|
|
313
|
+
this[_a14] = true;
|
|
289
314
|
this.provider = options.provider;
|
|
290
315
|
this.modelId = options.modelId;
|
|
291
316
|
this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;
|
|
292
317
|
this.values = options.values;
|
|
293
318
|
}
|
|
294
319
|
static isInstance(error) {
|
|
295
|
-
return AISDKError.hasMarker(error,
|
|
320
|
+
return AISDKError.hasMarker(error, marker14);
|
|
296
321
|
}
|
|
297
322
|
};
|
|
298
323
|
|
|
299
324
|
// src/errors/type-validation-error.ts
|
|
300
|
-
var
|
|
301
|
-
var
|
|
302
|
-
var
|
|
303
|
-
var
|
|
304
|
-
var TypeValidationError = class _TypeValidationError extends (
|
|
325
|
+
var name14 = "AI_TypeValidationError";
|
|
326
|
+
var marker15 = `vercel.ai.error.${name14}`;
|
|
327
|
+
var symbol15 = Symbol.for(marker15);
|
|
328
|
+
var _a15, _b15;
|
|
329
|
+
var TypeValidationError = class _TypeValidationError extends (_b15 = AISDKError, _a15 = symbol15, _b15) {
|
|
305
330
|
constructor({
|
|
306
331
|
value,
|
|
307
332
|
cause,
|
|
@@ -324,17 +349,17 @@ var TypeValidationError = class _TypeValidationError extends (_b14 = AISDKError,
|
|
|
324
349
|
contextPrefix += ")";
|
|
325
350
|
}
|
|
326
351
|
super({
|
|
327
|
-
name:
|
|
352
|
+
name: name14,
|
|
328
353
|
message: `${contextPrefix}: Value: ${JSON.stringify(value)}.
|
|
329
354
|
Error message: ${getErrorMessage(cause)}`,
|
|
330
355
|
cause
|
|
331
356
|
});
|
|
332
|
-
this[
|
|
357
|
+
this[_a15] = true;
|
|
333
358
|
this.value = value;
|
|
334
359
|
this.context = context;
|
|
335
360
|
}
|
|
336
361
|
static isInstance(error) {
|
|
337
|
-
return AISDKError.hasMarker(error,
|
|
362
|
+
return AISDKError.hasMarker(error, marker15);
|
|
338
363
|
}
|
|
339
364
|
/**
|
|
340
365
|
* Wraps an error into a TypeValidationError.
|
|
@@ -352,8 +377,8 @@ Error message: ${getErrorMessage(cause)}`,
|
|
|
352
377
|
cause,
|
|
353
378
|
context
|
|
354
379
|
}) {
|
|
355
|
-
var
|
|
356
|
-
if (_TypeValidationError.isInstance(cause) && cause.value === value && ((
|
|
380
|
+
var _a17, _b17, _c;
|
|
381
|
+
if (_TypeValidationError.isInstance(cause) && cause.value === value && ((_a17 = cause.context) == null ? void 0 : _a17.field) === (context == null ? void 0 : context.field) && ((_b17 = cause.context) == null ? void 0 : _b17.entityName) === (context == null ? void 0 : context.entityName) && ((_c = cause.context) == null ? void 0 : _c.entityId) === (context == null ? void 0 : context.entityId)) {
|
|
357
382
|
return cause;
|
|
358
383
|
}
|
|
359
384
|
return new _TypeValidationError({ value, cause, context });
|
|
@@ -361,21 +386,21 @@ Error message: ${getErrorMessage(cause)}`,
|
|
|
361
386
|
};
|
|
362
387
|
|
|
363
388
|
// src/errors/unsupported-functionality-error.ts
|
|
364
|
-
var
|
|
365
|
-
var
|
|
366
|
-
var
|
|
367
|
-
var
|
|
368
|
-
var UnsupportedFunctionalityError = class extends (
|
|
389
|
+
var name15 = "AI_UnsupportedFunctionalityError";
|
|
390
|
+
var marker16 = `vercel.ai.error.${name15}`;
|
|
391
|
+
var symbol16 = Symbol.for(marker16);
|
|
392
|
+
var _a16, _b16;
|
|
393
|
+
var UnsupportedFunctionalityError = class extends (_b16 = AISDKError, _a16 = symbol16, _b16) {
|
|
369
394
|
constructor({
|
|
370
395
|
functionality,
|
|
371
396
|
message = `'${functionality}' functionality not supported.`
|
|
372
397
|
}) {
|
|
373
|
-
super({ name:
|
|
374
|
-
this[
|
|
398
|
+
super({ name: name15, message });
|
|
399
|
+
this[_a16] = true;
|
|
375
400
|
this.functionality = functionality;
|
|
376
401
|
}
|
|
377
402
|
static isInstance(error) {
|
|
378
|
-
return AISDKError.hasMarker(error,
|
|
403
|
+
return AISDKError.hasMarker(error, marker16);
|
|
379
404
|
}
|
|
380
405
|
};
|
|
381
406
|
|
|
@@ -406,6 +431,7 @@ export {
|
|
|
406
431
|
AISDKError,
|
|
407
432
|
APICallError,
|
|
408
433
|
EmptyResponseBodyError,
|
|
434
|
+
EvaluationUnsupportedQuestionTypeError as Experimental_EvaluationUnsupportedQuestionTypeError,
|
|
409
435
|
InvalidArgumentError,
|
|
410
436
|
InvalidPromptError,
|
|
411
437
|
InvalidResponseDataError,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/errors/ai-sdk-error.ts","../src/errors/api-call-error.ts","../src/errors/empty-response-body-error.ts","../src/errors/get-error-message.ts","../src/errors/invalid-argument-error.ts","../src/errors/invalid-prompt-error.ts","../src/errors/invalid-response-data-error.ts","../src/errors/json-parse-error.ts","../src/errors/load-api-key-error.ts","../src/errors/load-setting-error.ts","../src/errors/no-content-generated-error.ts","../src/errors/no-such-model-error.ts","../src/errors/no-such-provider-reference-error.ts","../src/errors/too-many-embedding-values-for-call-error.ts","../src/errors/type-validation-error.ts","../src/errors/unsupported-functionality-error.ts","../src/json-value/is-json.ts"],"sourcesContent":["/**\n * Symbol used for identifying AI SDK Error instances.\n * Enables checking if an error is an instance of AISDKError across package versions.\n */\nconst marker = 'vercel.ai.error';\nconst symbol = Symbol.for(marker);\n\n/**\n * Custom error class for AI SDK related errors.\n * @extends Error\n */\nexport class AISDKError extends Error {\n private readonly [symbol] = true; // used in isInstance\n\n /**\n * The underlying cause of the error, if any.\n */\n readonly cause?: unknown;\n\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name,\n message,\n cause,\n }: {\n name: string;\n message: string;\n cause?: unknown;\n }) {\n super(message);\n\n this.name = name;\n this.cause = cause;\n }\n\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error: unknown): error is AISDKError {\n return AISDKError.hasMarker(error, marker);\n }\n\n protected static hasMarker(error: unknown, marker: string): boolean {\n const markerSymbol = Symbol.for(marker);\n return (\n error != null &&\n typeof error === 'object' &&\n markerSymbol in error &&\n typeof error[markerSymbol] === 'boolean' &&\n error[markerSymbol] === true\n );\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_APICallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class APICallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly url: string;\n readonly requestBodyValues: unknown;\n readonly statusCode?: number;\n\n readonly responseHeaders?: Record<string, string>;\n readonly responseBody?: string;\n\n readonly isRetryable: boolean;\n readonly data?: unknown;\n\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null &&\n (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500), // server error\n data,\n }: {\n message: string;\n url: string;\n requestBodyValues: unknown;\n statusCode?: number;\n responseHeaders?: Record<string, string>;\n responseBody?: string;\n cause?: unknown;\n isRetryable?: boolean;\n data?: unknown;\n }) {\n super({ name, message, cause });\n\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n\n static isInstance(error: unknown): error is APICallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_EmptyResponseBodyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class EmptyResponseBodyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message = 'Empty response body' }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is EmptyResponseBodyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","export function getErrorMessage(error: unknown | undefined) {\n if (error == null) {\n return 'unknown error';\n }\n\n if (typeof error === 'string') {\n return error;\n }\n\n if (error instanceof Error) {\n return error.toString();\n }\n\n return JSON.stringify(error);\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidArgumentError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A function argument is invalid.\n */\nexport class InvalidArgumentError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly argument: string;\n\n constructor({\n message,\n cause,\n argument,\n }: {\n argument: string;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message, cause });\n\n this.argument = argument;\n }\n\n static isInstance(error: unknown): error is InvalidArgumentError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidPromptError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A prompt is invalid. This error should be thrown by providers when they cannot\n * process a prompt.\n */\nexport class InvalidPromptError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly prompt: unknown;\n\n constructor({\n prompt,\n message,\n cause,\n }: {\n prompt: unknown;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message: `Invalid prompt: ${message}`, cause });\n\n this.prompt = prompt;\n }\n\n static isInstance(error: unknown): error is InvalidPromptError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidResponseDataError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Server returned a response with invalid data content.\n * This should be thrown by providers when they cannot parse the response from the API.\n */\nexport class InvalidResponseDataError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly data: unknown;\n\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`,\n }: {\n data: unknown;\n message?: string;\n }) {\n super({ name, message });\n\n this.data = data;\n }\n\n static isInstance(error: unknown): error is InvalidResponseDataError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_JSONParseError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class JSONParseError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly text: string;\n\n constructor({ text, cause }: { text: string; cause: unknown }) {\n super({\n name,\n message:\n `JSON parsing failed: ` +\n `Text: ${text}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.text = text;\n }\n\n static isInstance(error: unknown): error is JSONParseError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadAPIKeyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadAPIKeyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadAPIKeyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadSettingError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadSettingError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadSettingError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoContentGeneratedError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Thrown when the AI provider fails to generate any content.\n */\nexport class NoContentGeneratedError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({\n message = 'No content generated.',\n }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is NoContentGeneratedError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoSuchModelError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class NoSuchModelError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly modelId: string;\n readonly modelType:\n | 'languageModel'\n | 'embeddingModel'\n | 'imageModel'\n | 'transcriptionModel'\n | 'speechModel'\n | 'rerankingModel'\n | 'videoModel';\n\n constructor({\n errorName = name,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`,\n }: {\n errorName?: string;\n modelId: string;\n modelType:\n | 'languageModel'\n | 'embeddingModel'\n | 'imageModel'\n | 'transcriptionModel'\n | 'speechModel'\n | 'rerankingModel'\n | 'videoModel';\n message?: string;\n }) {\n super({ name: errorName, message });\n\n this.modelId = modelId;\n this.modelType = modelType;\n }\n\n static isInstance(error: unknown): error is NoSuchModelError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import type { SharedV4ProviderReference } from '../shared/v4/shared-v4-provider-reference';\nimport { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoSuchProviderReferenceError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Thrown when a provider reference cannot be resolved because the specified\n * provider is not found in the provider reference mapping.\n */\nexport class NoSuchProviderReferenceError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly provider: string;\n readonly reference: SharedV4ProviderReference;\n\n constructor({\n provider,\n reference,\n message = `No provider reference found for provider '${provider}'. Available providers: ${Object.keys(reference).join(', ')}`,\n }: {\n provider: string;\n reference: SharedV4ProviderReference;\n message?: string;\n }) {\n super({ name, message });\n this.provider = provider;\n this.reference = reference;\n }\n\n static isInstance(error: unknown): error is NoSuchProviderReferenceError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_TooManyEmbeddingValuesForCallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class TooManyEmbeddingValuesForCallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly provider: string;\n readonly modelId: string;\n readonly maxEmbeddingsPerCall: number;\n readonly values: Array<unknown>;\n\n constructor(options: {\n provider: string;\n modelId: string;\n maxEmbeddingsPerCall: number;\n values: Array<unknown>;\n }) {\n super({\n name,\n message:\n `Too many values for a single embedding call. ` +\n `The ${options.provider} model \"${options.modelId}\" can only embed up to ` +\n `${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`,\n });\n\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n\n static isInstance(\n error: unknown,\n ): error is TooManyEmbeddingValuesForCallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_TypeValidationError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport interface TypeValidationContext {\n /**\n * Field path in dot notation (e.g., \"message.metadata\", \"message.parts[3].data\")\n */\n field?: string;\n\n /**\n * Entity name (e.g., tool name, data type name)\n */\n entityName?: string;\n\n /**\n * Entity identifier (e.g., message ID, tool call ID)\n */\n entityId?: string;\n}\n\nexport class TypeValidationError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly value: unknown;\n readonly context?: TypeValidationContext;\n\n constructor({\n value,\n cause,\n context,\n }: {\n value: unknown;\n cause: unknown;\n context?: TypeValidationContext;\n }) {\n let contextPrefix = 'Type validation failed';\n\n if (context?.field) {\n contextPrefix += ` for ${context.field}`;\n }\n\n if (context?.entityName || context?.entityId) {\n contextPrefix += ' (';\n const parts: string[] = [];\n if (context.entityName) {\n parts.push(context.entityName);\n }\n if (context.entityId) {\n parts.push(`id: \"${context.entityId}\"`);\n }\n contextPrefix += parts.join(', ');\n contextPrefix += ')';\n }\n\n super({\n name,\n message:\n `${contextPrefix}: ` +\n `Value: ${JSON.stringify(value)}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.value = value;\n this.context = context;\n }\n\n static isInstance(error: unknown): error is TypeValidationError {\n return AISDKError.hasMarker(error, marker);\n }\n\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value and context, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @param {TypeValidationContext} params.context - Optional context about what is being validated.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause,\n context,\n }: {\n value: unknown;\n cause: unknown;\n context?: TypeValidationContext;\n }): TypeValidationError {\n if (\n TypeValidationError.isInstance(cause) &&\n cause.value === value &&\n cause.context?.field === context?.field &&\n cause.context?.entityName === context?.entityName &&\n cause.context?.entityId === context?.entityId\n ) {\n return cause;\n }\n\n return new TypeValidationError({ value, cause, context });\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_UnsupportedFunctionalityError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class UnsupportedFunctionalityError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly functionality: string;\n\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`,\n }: {\n functionality: string;\n message?: string;\n }) {\n super({ name, message });\n this.functionality = functionality;\n }\n\n static isInstance(error: unknown): error is UnsupportedFunctionalityError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import type { JSONArray, JSONObject, JSONValue } from './json-value';\n\nexport function isJSONValue(value: unknown): value is JSONValue {\n if (\n value === null ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return true;\n }\n\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n\n if (typeof value === 'object') {\n return Object.entries(value).every(\n ([key, val]) =>\n typeof key === 'string' && (val === undefined || isJSONValue(val)),\n );\n }\n\n return false;\n}\n\nexport function isJSONArray(value: unknown): value is JSONArray {\n return Array.isArray(value) && value.every(isJSONValue);\n}\n\nexport function isJSONObject(value: unknown): value is JSONObject {\n return (\n value != null &&\n typeof value === 'object' &&\n Object.entries(value).every(\n ([key, val]) =>\n typeof key === 'string' && (val === undefined || isJSONValue(val)),\n )\n );\n}\n"],"mappings":"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","names":["name","marker","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b"]}
|
|
1
|
+
{"version":3,"sources":["../src/errors/ai-sdk-error.ts","../src/errors/api-call-error.ts","../src/errors/empty-response-body-error.ts","../src/errors/evaluation-unsupported-question-type-error.ts","../src/errors/get-error-message.ts","../src/errors/invalid-argument-error.ts","../src/errors/invalid-prompt-error.ts","../src/errors/invalid-response-data-error.ts","../src/errors/json-parse-error.ts","../src/errors/load-api-key-error.ts","../src/errors/load-setting-error.ts","../src/errors/no-content-generated-error.ts","../src/errors/no-such-model-error.ts","../src/errors/no-such-provider-reference-error.ts","../src/errors/too-many-embedding-values-for-call-error.ts","../src/errors/type-validation-error.ts","../src/errors/unsupported-functionality-error.ts","../src/json-value/is-json.ts"],"sourcesContent":["/**\n * Symbol used for identifying AI SDK Error instances.\n * Enables checking if an error is an instance of AISDKError across package versions.\n */\nconst marker = 'vercel.ai.error';\nconst symbol = Symbol.for(marker);\n\n/**\n * Custom error class for AI SDK related errors.\n * @extends Error\n */\nexport class AISDKError extends Error {\n private readonly [symbol] = true; // used in isInstance\n\n /**\n * The underlying cause of the error, if any.\n */\n readonly cause?: unknown;\n\n /**\n * Creates an AI SDK Error.\n *\n * @param {Object} params - The parameters for creating the error.\n * @param {string} params.name - The name of the error.\n * @param {string} params.message - The error message.\n * @param {unknown} [params.cause] - The underlying cause of the error.\n */\n constructor({\n name,\n message,\n cause,\n }: {\n name: string;\n message: string;\n cause?: unknown;\n }) {\n super(message);\n\n this.name = name;\n this.cause = cause;\n }\n\n /**\n * Checks if the given error is an AI SDK Error.\n * @param {unknown} error - The error to check.\n * @returns {boolean} True if the error is an AI SDK Error, false otherwise.\n */\n static isInstance(error: unknown): error is AISDKError {\n return AISDKError.hasMarker(error, marker);\n }\n\n protected static hasMarker(error: unknown, marker: string): boolean {\n const markerSymbol = Symbol.for(marker);\n return (\n error != null &&\n typeof error === 'object' &&\n markerSymbol in error &&\n typeof error[markerSymbol] === 'boolean' &&\n error[markerSymbol] === true\n );\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_APICallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class APICallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly url: string;\n readonly requestBodyValues: unknown;\n readonly statusCode?: number;\n\n readonly responseHeaders?: Record<string, string>;\n readonly responseBody?: string;\n\n readonly isRetryable: boolean;\n readonly data?: unknown;\n\n constructor({\n message,\n url,\n requestBodyValues,\n statusCode,\n responseHeaders,\n responseBody,\n cause,\n isRetryable = statusCode != null &&\n (statusCode === 408 || // request timeout\n statusCode === 409 || // conflict\n statusCode === 429 || // too many requests\n statusCode >= 500), // server error\n data,\n }: {\n message: string;\n url: string;\n requestBodyValues: unknown;\n statusCode?: number;\n responseHeaders?: Record<string, string>;\n responseBody?: string;\n cause?: unknown;\n isRetryable?: boolean;\n data?: unknown;\n }) {\n super({ name, message, cause });\n\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n\n static isInstance(error: unknown): error is APICallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_EmptyResponseBodyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class EmptyResponseBodyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message = 'Empty response body' }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is EmptyResponseBodyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_EvaluationUnsupportedQuestionTypeError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * An evaluation model does not support the type of a requested question.\n */\nexport class EvaluationUnsupportedQuestionTypeError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly questionId: string;\n readonly questionType: string;\n readonly provider: string;\n readonly modelId: string;\n\n constructor({\n questionId,\n questionType,\n provider,\n modelId,\n message = `Question \"${questionId}\" has type \"${questionType}\", which is not supported by provider \"${provider}\" and model \"${modelId}\".`,\n }: {\n questionId: string;\n questionType: string;\n provider: string;\n modelId: string;\n message?: string;\n }) {\n super({ name, message });\n\n this.questionId = questionId;\n this.questionType = questionType;\n this.provider = provider;\n this.modelId = modelId;\n }\n\n static isInstance(\n error: unknown,\n ): error is EvaluationUnsupportedQuestionTypeError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","export function getErrorMessage(error: unknown | undefined) {\n if (error == null) {\n return 'unknown error';\n }\n\n if (typeof error === 'string') {\n return error;\n }\n\n if (error instanceof Error) {\n return error.toString();\n }\n\n return JSON.stringify(error);\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidArgumentError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A function argument is invalid.\n */\nexport class InvalidArgumentError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly argument: string;\n\n constructor({\n message,\n cause,\n argument,\n }: {\n argument: string;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message, cause });\n\n this.argument = argument;\n }\n\n static isInstance(error: unknown): error is InvalidArgumentError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidPromptError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * A prompt is invalid. This error should be thrown by providers when they cannot\n * process a prompt.\n */\nexport class InvalidPromptError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly prompt: unknown;\n\n constructor({\n prompt,\n message,\n cause,\n }: {\n prompt: unknown;\n message: string;\n cause?: unknown;\n }) {\n super({ name, message: `Invalid prompt: ${message}`, cause });\n\n this.prompt = prompt;\n }\n\n static isInstance(error: unknown): error is InvalidPromptError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_InvalidResponseDataError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Server returned a response with invalid data content.\n * This should be thrown by providers when they cannot parse the response from the API.\n */\nexport class InvalidResponseDataError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly data: unknown;\n\n constructor({\n data,\n message = `Invalid response data: ${JSON.stringify(data)}.`,\n }: {\n data: unknown;\n message?: string;\n }) {\n super({ name, message });\n\n this.data = data;\n }\n\n static isInstance(error: unknown): error is InvalidResponseDataError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_JSONParseError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class JSONParseError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly text: string;\n\n constructor({ text, cause }: { text: string; cause: unknown }) {\n super({\n name,\n message:\n `JSON parsing failed: ` +\n `Text: ${text}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.text = text;\n }\n\n static isInstance(error: unknown): error is JSONParseError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadAPIKeyError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadAPIKeyError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadAPIKeyError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_LoadSettingError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class LoadSettingError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({ message }: { message: string }) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is LoadSettingError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoContentGeneratedError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Thrown when the AI provider fails to generate any content.\n */\nexport class NoContentGeneratedError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n constructor({\n message = 'No content generated.',\n }: { message?: string } = {}) {\n super({ name, message });\n }\n\n static isInstance(error: unknown): error is NoContentGeneratedError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoSuchModelError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class NoSuchModelError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly modelId: string;\n readonly modelType:\n | 'languageModel'\n | 'embeddingModel'\n | 'imageModel'\n | 'transcriptionModel'\n | 'speechModel'\n | 'rerankingModel'\n | 'videoModel';\n\n constructor({\n errorName = name,\n modelId,\n modelType,\n message = `No such ${modelType}: ${modelId}`,\n }: {\n errorName?: string;\n modelId: string;\n modelType:\n | 'languageModel'\n | 'embeddingModel'\n | 'imageModel'\n | 'transcriptionModel'\n | 'speechModel'\n | 'rerankingModel'\n | 'videoModel';\n message?: string;\n }) {\n super({ name: errorName, message });\n\n this.modelId = modelId;\n this.modelType = modelType;\n }\n\n static isInstance(error: unknown): error is NoSuchModelError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import type { SharedV4ProviderReference } from '../shared/v4/shared-v4-provider-reference';\nimport { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_NoSuchProviderReferenceError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\n/**\n * Thrown when a provider reference cannot be resolved because the specified\n * provider is not found in the provider reference mapping.\n */\nexport class NoSuchProviderReferenceError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly provider: string;\n readonly reference: SharedV4ProviderReference;\n\n constructor({\n provider,\n reference,\n message = `No provider reference found for provider '${provider}'. Available providers: ${Object.keys(reference).join(', ')}`,\n }: {\n provider: string;\n reference: SharedV4ProviderReference;\n message?: string;\n }) {\n super({ name, message });\n this.provider = provider;\n this.reference = reference;\n }\n\n static isInstance(error: unknown): error is NoSuchProviderReferenceError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_TooManyEmbeddingValuesForCallError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class TooManyEmbeddingValuesForCallError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly provider: string;\n readonly modelId: string;\n readonly maxEmbeddingsPerCall: number;\n readonly values: Array<unknown>;\n\n constructor(options: {\n provider: string;\n modelId: string;\n maxEmbeddingsPerCall: number;\n values: Array<unknown>;\n }) {\n super({\n name,\n message:\n `Too many values for a single embedding call. ` +\n `The ${options.provider} model \"${options.modelId}\" can only embed up to ` +\n `${options.maxEmbeddingsPerCall} values per call, but ${options.values.length} values were provided.`,\n });\n\n this.provider = options.provider;\n this.modelId = options.modelId;\n this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;\n this.values = options.values;\n }\n\n static isInstance(\n error: unknown,\n ): error is TooManyEmbeddingValuesForCallError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import { AISDKError } from './ai-sdk-error';\nimport { getErrorMessage } from './get-error-message';\n\nconst name = 'AI_TypeValidationError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport interface TypeValidationContext {\n /**\n * Field path in dot notation (e.g., \"message.metadata\", \"message.parts[3].data\")\n */\n field?: string;\n\n /**\n * Entity name (e.g., tool name, data type name)\n */\n entityName?: string;\n\n /**\n * Entity identifier (e.g., message ID, tool call ID)\n */\n entityId?: string;\n}\n\nexport class TypeValidationError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly value: unknown;\n readonly context?: TypeValidationContext;\n\n constructor({\n value,\n cause,\n context,\n }: {\n value: unknown;\n cause: unknown;\n context?: TypeValidationContext;\n }) {\n let contextPrefix = 'Type validation failed';\n\n if (context?.field) {\n contextPrefix += ` for ${context.field}`;\n }\n\n if (context?.entityName || context?.entityId) {\n contextPrefix += ' (';\n const parts: string[] = [];\n if (context.entityName) {\n parts.push(context.entityName);\n }\n if (context.entityId) {\n parts.push(`id: \"${context.entityId}\"`);\n }\n contextPrefix += parts.join(', ');\n contextPrefix += ')';\n }\n\n super({\n name,\n message:\n `${contextPrefix}: ` +\n `Value: ${JSON.stringify(value)}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n cause,\n });\n\n this.value = value;\n this.context = context;\n }\n\n static isInstance(error: unknown): error is TypeValidationError {\n return AISDKError.hasMarker(error, marker);\n }\n\n /**\n * Wraps an error into a TypeValidationError.\n * If the cause is already a TypeValidationError with the same value and context, it returns the cause.\n * Otherwise, it creates a new TypeValidationError.\n *\n * @param {Object} params - The parameters for wrapping the error.\n * @param {unknown} params.value - The value that failed validation.\n * @param {unknown} params.cause - The original error or cause of the validation failure.\n * @param {TypeValidationContext} params.context - Optional context about what is being validated.\n * @returns {TypeValidationError} A TypeValidationError instance.\n */\n static wrap({\n value,\n cause,\n context,\n }: {\n value: unknown;\n cause: unknown;\n context?: TypeValidationContext;\n }): TypeValidationError {\n if (\n TypeValidationError.isInstance(cause) &&\n cause.value === value &&\n cause.context?.field === context?.field &&\n cause.context?.entityName === context?.entityName &&\n cause.context?.entityId === context?.entityId\n ) {\n return cause;\n }\n\n return new TypeValidationError({ value, cause, context });\n }\n}\n","import { AISDKError } from './ai-sdk-error';\n\nconst name = 'AI_UnsupportedFunctionalityError';\nconst marker = `vercel.ai.error.${name}`;\nconst symbol = Symbol.for(marker);\n\nexport class UnsupportedFunctionalityError extends AISDKError {\n private readonly [symbol] = true; // used in isInstance\n\n readonly functionality: string;\n\n constructor({\n functionality,\n message = `'${functionality}' functionality not supported.`,\n }: {\n functionality: string;\n message?: string;\n }) {\n super({ name, message });\n this.functionality = functionality;\n }\n\n static isInstance(error: unknown): error is UnsupportedFunctionalityError {\n return AISDKError.hasMarker(error, marker);\n }\n}\n","import type { JSONArray, JSONObject, JSONValue } from './json-value';\n\nexport function isJSONValue(value: unknown): value is JSONValue {\n if (\n value === null ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return true;\n }\n\n if (Array.isArray(value)) {\n return value.every(isJSONValue);\n }\n\n if (typeof value === 'object') {\n return Object.entries(value).every(\n ([key, val]) =>\n typeof key === 'string' && (val === undefined || isJSONValue(val)),\n );\n }\n\n return false;\n}\n\nexport function isJSONArray(value: unknown): value is JSONArray {\n return Array.isArray(value) && value.every(isJSONValue);\n}\n\nexport function isJSONObject(value: unknown): value is JSONObject {\n return (\n value != null &&\n typeof value === 'object' &&\n Object.entries(value).every(\n ([key, val]) =>\n typeof key === 'string' && (val === undefined || isJSONValue(val)),\n )\n );\n}\n"],"mappings":"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","names":["name","marker","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b","name","marker","symbol","_a","_b"]}
|
package/package.json
CHANGED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AISDKError } from './ai-sdk-error';
|
|
2
|
+
|
|
3
|
+
const name = 'AI_EvaluationUnsupportedQuestionTypeError';
|
|
4
|
+
const marker = `vercel.ai.error.${name}`;
|
|
5
|
+
const symbol = Symbol.for(marker);
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* An evaluation model does not support the type of a requested question.
|
|
9
|
+
*/
|
|
10
|
+
export class EvaluationUnsupportedQuestionTypeError extends AISDKError {
|
|
11
|
+
private readonly [symbol] = true; // used in isInstance
|
|
12
|
+
|
|
13
|
+
readonly questionId: string;
|
|
14
|
+
readonly questionType: string;
|
|
15
|
+
readonly provider: string;
|
|
16
|
+
readonly modelId: string;
|
|
17
|
+
|
|
18
|
+
constructor({
|
|
19
|
+
questionId,
|
|
20
|
+
questionType,
|
|
21
|
+
provider,
|
|
22
|
+
modelId,
|
|
23
|
+
message = `Question "${questionId}" has type "${questionType}", which is not supported by provider "${provider}" and model "${modelId}".`,
|
|
24
|
+
}: {
|
|
25
|
+
questionId: string;
|
|
26
|
+
questionType: string;
|
|
27
|
+
provider: string;
|
|
28
|
+
modelId: string;
|
|
29
|
+
message?: string;
|
|
30
|
+
}) {
|
|
31
|
+
super({ name, message });
|
|
32
|
+
|
|
33
|
+
this.questionId = questionId;
|
|
34
|
+
this.questionType = questionType;
|
|
35
|
+
this.provider = provider;
|
|
36
|
+
this.modelId = modelId;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static isInstance(
|
|
40
|
+
error: unknown,
|
|
41
|
+
): error is EvaluationUnsupportedQuestionTypeError {
|
|
42
|
+
return AISDKError.hasMarker(error, marker);
|
|
43
|
+
}
|
|
44
|
+
}
|
package/src/errors/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { AISDKError } from './ai-sdk-error';
|
|
2
2
|
export { APICallError } from './api-call-error';
|
|
3
3
|
export { EmptyResponseBodyError } from './empty-response-body-error';
|
|
4
|
+
export { EvaluationUnsupportedQuestionTypeError as Experimental_EvaluationUnsupportedQuestionTypeError } from './evaluation-unsupported-question-type-error';
|
|
4
5
|
export { getErrorMessage } from './get-error-message';
|
|
5
6
|
export { InvalidArgumentError } from './invalid-argument-error';
|
|
6
7
|
export { InvalidPromptError } from './invalid-prompt-error';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SharedV4Headers, SharedV4ProviderOptions } from '../../shared/v4';
|
|
2
|
+
import type {
|
|
3
|
+
EvaluationModelV4Input,
|
|
4
|
+
EvaluationModelV4Question,
|
|
5
|
+
} from './evaluation-model-v4-question';
|
|
6
|
+
|
|
7
|
+
export type EvaluationModelV4CallOptions = {
|
|
8
|
+
/** One shared state, even when the value is an array. */
|
|
9
|
+
state: EvaluationModelV4Input;
|
|
10
|
+
questions: Readonly<Record<string, EvaluationModelV4Question>>;
|
|
11
|
+
abortSignal?: AbortSignal;
|
|
12
|
+
headers?: SharedV4Headers;
|
|
13
|
+
providerOptions?: SharedV4ProviderOptions;
|
|
14
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { JSONObject, JSONValue } from '../../json-value';
|
|
2
|
+
|
|
3
|
+
/** Shared state or structured instructions for an evaluation. */
|
|
4
|
+
export type EvaluationModelV4Input =
|
|
5
|
+
| string
|
|
6
|
+
| Readonly<JSONObject>
|
|
7
|
+
| readonly JSONValue[];
|
|
8
|
+
|
|
9
|
+
/** A judgment to make about the shared state. */
|
|
10
|
+
export type EvaluationModelV4Question =
|
|
11
|
+
| {
|
|
12
|
+
readonly type: 'choice';
|
|
13
|
+
readonly instructions: EvaluationModelV4Input;
|
|
14
|
+
/** Nonempty map of option names to descriptions. Null means no description. */
|
|
15
|
+
readonly criteria: Readonly<
|
|
16
|
+
Record<string, EvaluationModelV4Input | null>
|
|
17
|
+
>;
|
|
18
|
+
}
|
|
19
|
+
| {
|
|
20
|
+
readonly type: 'score';
|
|
21
|
+
readonly instructions: EvaluationModelV4Input;
|
|
22
|
+
/** At least two ordered levels, indexed from zero. */
|
|
23
|
+
readonly criteria: readonly (EvaluationModelV4Input | null)[];
|
|
24
|
+
}
|
|
25
|
+
| {
|
|
26
|
+
readonly type: 'boolean';
|
|
27
|
+
readonly instructions: EvaluationModelV4Input;
|
|
28
|
+
readonly criteria?: {
|
|
29
|
+
readonly true?: EvaluationModelV4Input | null;
|
|
30
|
+
readonly false?: EvaluationModelV4Input | null;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
SharedV4Headers,
|
|
3
|
+
SharedV4ProviderMetadata,
|
|
4
|
+
SharedV4Warning,
|
|
5
|
+
} from '../../shared/v4';
|
|
6
|
+
|
|
7
|
+
export type EvaluationModelV4Answer =
|
|
8
|
+
| {
|
|
9
|
+
type: 'choice';
|
|
10
|
+
/** The selected option, with maximal probability when a distribution exists. */
|
|
11
|
+
choice: string;
|
|
12
|
+
/** Complete distribution over the question's options, when available. */
|
|
13
|
+
probabilities?: Record<string, number>;
|
|
14
|
+
}
|
|
15
|
+
| {
|
|
16
|
+
type: 'score';
|
|
17
|
+
/** Fractional position in [0, number of levels - 1]. */
|
|
18
|
+
score: number;
|
|
19
|
+
/**
|
|
20
|
+
* Complete distribution, keyed by zero-based level indices as strings.
|
|
21
|
+
* When supplied, score is its probability-weighted mean.
|
|
22
|
+
*/
|
|
23
|
+
probabilities?: Record<string, number>;
|
|
24
|
+
}
|
|
25
|
+
| {
|
|
26
|
+
type: 'boolean';
|
|
27
|
+
/** Model-estimated P(true), in [0, 1]. Not confidence in either outcome. */
|
|
28
|
+
probability: number;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type EvaluationModelV4Result = {
|
|
32
|
+
/** Exactly one answer per question, under the original question IDs. */
|
|
33
|
+
answers: Record<string, EvaluationModelV4Answer>;
|
|
34
|
+
/**
|
|
35
|
+
* Decimal places used when the provider rounds its output. Omit for full
|
|
36
|
+
* precision. Core allows half a unit in the last place per rounded value
|
|
37
|
+
* when checking distribution sums and weighted scores, preserving the values.
|
|
38
|
+
*/
|
|
39
|
+
rounding?: {
|
|
40
|
+
probabilityDecimals?: number;
|
|
41
|
+
scoreDecimals?: number;
|
|
42
|
+
};
|
|
43
|
+
usage?: {
|
|
44
|
+
inputTokens?: number;
|
|
45
|
+
outputTokens?: number;
|
|
46
|
+
};
|
|
47
|
+
warnings: SharedV4Warning[];
|
|
48
|
+
providerMetadata?: SharedV4ProviderMetadata;
|
|
49
|
+
response?: {
|
|
50
|
+
id?: string;
|
|
51
|
+
timestamp?: Date;
|
|
52
|
+
modelId?: string;
|
|
53
|
+
headers?: SharedV4Headers;
|
|
54
|
+
body?: unknown;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { EvaluationModelV4CallOptions } from './evaluation-model-v4-call-options';
|
|
2
|
+
import type { EvaluationModelV4Question } from './evaluation-model-v4-question';
|
|
3
|
+
import type { EvaluationModelV4Result } from './evaluation-model-v4-result';
|
|
4
|
+
|
|
5
|
+
/** Experimental evaluation model contract. May change in patch releases. */
|
|
6
|
+
export type EvaluationModelV4 = {
|
|
7
|
+
readonly specificationVersion: 'v4';
|
|
8
|
+
readonly provider: string;
|
|
9
|
+
readonly modelId: string;
|
|
10
|
+
/** Supported question types, used to reject unsupported calls before any I/O. */
|
|
11
|
+
readonly supportedQuestionTypes: readonly EvaluationModelV4Question['type'][];
|
|
12
|
+
/** Evaluate every question against the same state. No partial results. */
|
|
13
|
+
doEvaluate(
|
|
14
|
+
options: EvaluationModelV4CallOptions,
|
|
15
|
+
): PromiseLike<EvaluationModelV4Result>;
|
|
16
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type { EvaluationModelV4 as Experimental_EvaluationModelV4 } from './evaluation-model-v4';
|
|
2
|
+
export type { EvaluationModelV4CallOptions as Experimental_EvaluationModelV4CallOptions } from './evaluation-model-v4-call-options';
|
|
3
|
+
export type {
|
|
4
|
+
EvaluationModelV4Input as Experimental_EvaluationModelV4Input,
|
|
5
|
+
EvaluationModelV4Question as Experimental_EvaluationModelV4Question,
|
|
6
|
+
} from './evaluation-model-v4-question';
|
|
7
|
+
export type {
|
|
8
|
+
EvaluationModelV4Answer as Experimental_EvaluationModelV4Answer,
|
|
9
|
+
EvaluationModelV4Result as Experimental_EvaluationModelV4Result,
|
|
10
|
+
} from './evaluation-model-v4-result';
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './batch/index';
|
|
2
2
|
export * from './embedding-model/index';
|
|
3
3
|
export * from './errors/index';
|
|
4
|
+
export * from './evaluation-model/v4/index';
|
|
4
5
|
export * from './files/index';
|
|
5
6
|
export * from './image-model/index';
|
|
6
7
|
export * from './image-model-middleware/index';
|