@ai-sdk/provider 0.0.3 → 0.0.5
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/dist/index.d.mts +187 -83
- package/dist/index.d.ts +187 -83
- package/dist/index.js +34 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +33 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
@@ -1,5 +1,76 @@
|
|
1
1
|
import { JSONSchema7 } from 'json-schema';
|
2
2
|
|
3
|
+
/**
|
4
|
+
An embedding is a vector, i.e. an array of numbers.
|
5
|
+
It is e.g. used to represent a text as a vector of word embeddings.
|
6
|
+
*/
|
7
|
+
type EmbeddingModelV1Embedding = Array<number>;
|
8
|
+
|
9
|
+
/**
|
10
|
+
Experimental: Specification for an embedding model that implements the embedding model
|
11
|
+
interface version 1.
|
12
|
+
|
13
|
+
VALUE is the type of the values that the model can embed.
|
14
|
+
This will allow us to go beyond text embeddings in the future,
|
15
|
+
e.g. to support image embeddings
|
16
|
+
*/
|
17
|
+
type EmbeddingModelV1<VALUE> = {
|
18
|
+
/**
|
19
|
+
The embedding model must specify which embedding model interface
|
20
|
+
version it implements. This will allow us to evolve the embedding
|
21
|
+
model interface and retain backwards compatibility. The different
|
22
|
+
implementation versions can be handled as a discriminated union
|
23
|
+
on our side.
|
24
|
+
*/
|
25
|
+
readonly specificationVersion: 'v1';
|
26
|
+
/**
|
27
|
+
Name of the provider for logging purposes.
|
28
|
+
*/
|
29
|
+
readonly provider: string;
|
30
|
+
/**
|
31
|
+
Provider-specific model ID for logging purposes.
|
32
|
+
*/
|
33
|
+
readonly modelId: string;
|
34
|
+
/**
|
35
|
+
Limit of how many embeddings can be generated in a single API call.
|
36
|
+
*/
|
37
|
+
readonly maxEmbeddingsPerCall: number | undefined;
|
38
|
+
/**
|
39
|
+
True if the model can handle multiple embedding calls in parallel.
|
40
|
+
*/
|
41
|
+
readonly supportsParallelCalls: boolean;
|
42
|
+
/**
|
43
|
+
Generates a list of embeddings for the given input text.
|
44
|
+
|
45
|
+
Naming: "do" prefix to prevent accidental direct usage of the method
|
46
|
+
by the user.
|
47
|
+
*/
|
48
|
+
doEmbed(options: {
|
49
|
+
/**
|
50
|
+
List of values to embed.
|
51
|
+
*/
|
52
|
+
values: Array<VALUE>;
|
53
|
+
/**
|
54
|
+
Abort signal for cancelling the operation.
|
55
|
+
*/
|
56
|
+
abortSignal?: AbortSignal;
|
57
|
+
}): PromiseLike<{
|
58
|
+
/**
|
59
|
+
Generated embeddings. They are in the same order as the input values.
|
60
|
+
*/
|
61
|
+
embeddings: Array<EmbeddingModelV1Embedding>;
|
62
|
+
/**
|
63
|
+
Optional raw response information for debugging purposes.
|
64
|
+
*/
|
65
|
+
rawResponse?: {
|
66
|
+
/**
|
67
|
+
Response headers.
|
68
|
+
*/
|
69
|
+
headers?: Record<string, string>;
|
70
|
+
};
|
71
|
+
}>;
|
72
|
+
};
|
73
|
+
|
3
74
|
declare class APICallError extends Error {
|
4
75
|
readonly url: string;
|
5
76
|
readonly requestBodyValues: unknown;
|
@@ -68,8 +139,10 @@ declare class InvalidArgumentError extends Error {
|
|
68
139
|
|
69
140
|
declare class InvalidDataContentError extends Error {
|
70
141
|
readonly content: unknown;
|
71
|
-
|
142
|
+
readonly cause?: unknown;
|
143
|
+
constructor({ content, cause, message, }: {
|
72
144
|
content: unknown;
|
145
|
+
cause?: unknown;
|
73
146
|
message?: string;
|
74
147
|
});
|
75
148
|
static isInvalidDataContentError(error: unknown): error is InvalidDataContentError;
|
@@ -77,6 +150,7 @@ declare class InvalidDataContentError extends Error {
|
|
77
150
|
name: string;
|
78
151
|
message: string;
|
79
152
|
stack: string | undefined;
|
153
|
+
cause: unknown;
|
80
154
|
content: unknown;
|
81
155
|
};
|
82
156
|
}
|
@@ -214,6 +288,29 @@ declare class RetryError extends Error {
|
|
214
288
|
};
|
215
289
|
}
|
216
290
|
|
291
|
+
declare class TooManyEmbeddingValuesForCallError extends Error {
|
292
|
+
readonly provider: string;
|
293
|
+
readonly modelId: string;
|
294
|
+
readonly maxEmbeddingsPerCall: number;
|
295
|
+
readonly values: Array<unknown>;
|
296
|
+
constructor(options: {
|
297
|
+
provider: string;
|
298
|
+
modelId: string;
|
299
|
+
maxEmbeddingsPerCall: number;
|
300
|
+
values: Array<unknown>;
|
301
|
+
});
|
302
|
+
static isInvalidPromptError(error: unknown): error is TooManyEmbeddingValuesForCallError;
|
303
|
+
toJSON(): {
|
304
|
+
name: string;
|
305
|
+
message: string;
|
306
|
+
stack: string | undefined;
|
307
|
+
provider: string;
|
308
|
+
modelId: string;
|
309
|
+
maxEmbeddingsPerCall: number;
|
310
|
+
values: unknown[];
|
311
|
+
};
|
312
|
+
}
|
313
|
+
|
217
314
|
/**
|
218
315
|
A tool has a name, a description, and a set of parameters.
|
219
316
|
|
@@ -230,7 +327,15 @@ type LanguageModelV1FunctionTool = {
|
|
230
327
|
The name of the tool. Unique within this model call.
|
231
328
|
*/
|
232
329
|
name: string;
|
330
|
+
/**
|
331
|
+
A description of the tool. The language model uses this to understand the
|
332
|
+
tool's purpose and to provide better completion suggestions.
|
333
|
+
*/
|
233
334
|
description?: string;
|
335
|
+
/**
|
336
|
+
The parameters that the tool expects. The language model uses this to
|
337
|
+
understand the tool's input requirements and to provide matching suggestions.
|
338
|
+
*/
|
234
339
|
parameters: JSONSchema7;
|
235
340
|
};
|
236
341
|
|
@@ -306,38 +411,38 @@ declare class UnsupportedJSONSchemaError extends Error {
|
|
306
411
|
|
307
412
|
type LanguageModelV1CallSettings = {
|
308
413
|
/**
|
309
|
-
|
414
|
+
Maximum number of tokens to generate.
|
310
415
|
*/
|
311
416
|
maxTokens?: number;
|
312
417
|
/**
|
313
|
-
|
314
|
-
|
315
|
-
|
418
|
+
Temperature setting.
|
419
|
+
|
420
|
+
It is recommended to set either `temperature` or `topP`, but not both.
|
316
421
|
*/
|
317
422
|
temperature?: number;
|
318
423
|
/**
|
319
|
-
|
320
|
-
|
321
|
-
|
424
|
+
Nucleus sampling.
|
425
|
+
|
426
|
+
It is recommended to set either `temperature` or `topP`, but not both.
|
322
427
|
*/
|
323
428
|
topP?: number;
|
324
429
|
/**
|
325
|
-
|
326
|
-
|
430
|
+
Presence penalty setting. It affects the likelihood of the model to
|
431
|
+
repeat information that is already in the prompt.
|
327
432
|
*/
|
328
433
|
presencePenalty?: number;
|
329
434
|
/**
|
330
|
-
|
331
|
-
|
435
|
+
Frequency penalty setting. It affects the likelihood of the model
|
436
|
+
to repeatedly use the same words or phrases.
|
332
437
|
*/
|
333
438
|
frequencyPenalty?: number;
|
334
439
|
/**
|
335
|
-
|
336
|
-
|
440
|
+
The seed (integer) to use for random sampling. If set and supported
|
441
|
+
by the model, calls will generate deterministic results.
|
337
442
|
*/
|
338
443
|
seed?: number;
|
339
444
|
/**
|
340
|
-
|
445
|
+
Abort signal for cancelling the operation.
|
341
446
|
*/
|
342
447
|
abortSignal?: AbortSignal;
|
343
448
|
};
|
@@ -432,19 +537,19 @@ interface LanguageModelV1ToolResultPart {
|
|
432
537
|
|
433
538
|
type LanguageModelV1CallOptions = LanguageModelV1CallSettings & {
|
434
539
|
/**
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
540
|
+
Whether the user provided the input as messages or as
|
541
|
+
a prompt. This can help guide non-chat models in the
|
542
|
+
expansion, bc different expansions can be needed for
|
543
|
+
chat/non-chat use cases.
|
439
544
|
*/
|
440
545
|
inputFormat: 'messages' | 'prompt';
|
441
546
|
/**
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
547
|
+
The mode affects the behavior of the language model. It is required to
|
548
|
+
support provider-independent streaming and generation of structured objects.
|
549
|
+
The model can take this information and e.g. configure json mode, the correct
|
550
|
+
low level grammar, etc. It can also be used to optimize the efficiency of the
|
551
|
+
streaming, e.g. tool-delta stream parts are only needed in the
|
552
|
+
object-tool mode.
|
448
553
|
*/
|
449
554
|
mode: {
|
450
555
|
type: 'regular';
|
@@ -459,19 +564,19 @@ type LanguageModelV1CallOptions = LanguageModelV1CallSettings & {
|
|
459
564
|
tool: LanguageModelV1FunctionTool;
|
460
565
|
};
|
461
566
|
/**
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
567
|
+
A language mode prompt is a standardized prompt type.
|
568
|
+
|
569
|
+
Note: This is **not** the user-facing prompt. The AI SDK methods will map the
|
570
|
+
user-facing prompt types such as chat or instruction prompts to this format.
|
571
|
+
That approach allows us to evolve the user facing prompts without breaking
|
572
|
+
the language model interface.
|
468
573
|
*/
|
469
574
|
prompt: LanguageModelV1Prompt;
|
470
575
|
};
|
471
576
|
|
472
577
|
/**
|
473
|
-
|
474
|
-
|
578
|
+
Warning from the model provider for this call. The call will proceed, but e.g.
|
579
|
+
some settings might not be supported, which can lead to suboptimal results.
|
475
580
|
*/
|
476
581
|
type LanguageModelV1CallWarning = {
|
477
582
|
type: 'unsupported-setting';
|
@@ -499,8 +604,8 @@ type LanguageModelV1FunctionToolCall = {
|
|
499
604
|
toolCallId: string;
|
500
605
|
toolName: string;
|
501
606
|
/**
|
502
|
-
|
503
|
-
|
607
|
+
Stringified JSON object with the tool call arguments. Must match the
|
608
|
+
parameters schema of the tool.
|
504
609
|
*/
|
505
610
|
args: string;
|
506
611
|
};
|
@@ -518,125 +623,124 @@ type LanguageModelV1LogProbs = Array<{
|
|
518
623
|
}>;
|
519
624
|
|
520
625
|
/**
|
521
|
-
|
522
|
-
* interface version 1.
|
626
|
+
Specification for a language model that implements the language model interface version 1.
|
523
627
|
*/
|
524
628
|
type LanguageModelV1 = {
|
525
629
|
/**
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
630
|
+
The language model must specify which language model interface
|
631
|
+
version it implements. This will allow us to evolve the language
|
632
|
+
model interface and retain backwards compatibility. The different
|
633
|
+
implementation versions can be handled as a discriminated union
|
634
|
+
on our side.
|
531
635
|
*/
|
532
636
|
readonly specificationVersion: 'v1';
|
533
637
|
/**
|
534
|
-
|
638
|
+
Name of the provider for logging purposes.
|
535
639
|
*/
|
536
640
|
readonly provider: string;
|
537
641
|
/**
|
538
|
-
|
642
|
+
Provider-specific model ID for logging purposes.
|
539
643
|
*/
|
540
644
|
readonly modelId: string;
|
541
645
|
/**
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
646
|
+
Default object generation mode that should be used with this model when
|
647
|
+
no mode is specified. Should be the mode with the best results for this
|
648
|
+
model. `undefined` can be returned if object generation is not supported.
|
649
|
+
|
650
|
+
This is needed to generate the best objects possible w/o requiring the
|
651
|
+
user to explicitly specify the object generation mode.
|
548
652
|
*/
|
549
653
|
readonly defaultObjectGenerationMode: 'json' | 'tool' | 'grammar' | undefined;
|
550
654
|
/**
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
655
|
+
Generates a language model output (non-streaming).
|
656
|
+
|
657
|
+
Naming: "do" prefix to prevent accidental direct usage of the method
|
658
|
+
by the user.
|
555
659
|
*/
|
556
660
|
doGenerate(options: LanguageModelV1CallOptions): PromiseLike<{
|
557
661
|
/**
|
558
|
-
|
559
|
-
|
662
|
+
Text that the model has generated. Can be undefined if the model
|
663
|
+
has only generated tool calls.
|
560
664
|
*/
|
561
665
|
text?: string;
|
562
666
|
/**
|
563
|
-
|
564
|
-
|
667
|
+
Tool calls that the model has generated. Can be undefined if the
|
668
|
+
model has only generated text.
|
565
669
|
*/
|
566
670
|
toolCalls?: Array<LanguageModelV1FunctionToolCall>;
|
567
671
|
/**
|
568
|
-
|
672
|
+
Finish reason.
|
569
673
|
*/
|
570
674
|
finishReason: LanguageModelV1FinishReason;
|
571
675
|
/**
|
572
|
-
|
676
|
+
Usage information.
|
573
677
|
*/
|
574
678
|
usage: {
|
575
679
|
promptTokens: number;
|
576
680
|
completionTokens: number;
|
577
681
|
};
|
578
682
|
/**
|
579
|
-
|
683
|
+
Raw prompt and setting information for observability provider integration.
|
580
684
|
*/
|
581
685
|
rawCall: {
|
582
686
|
/**
|
583
|
-
|
584
|
-
|
687
|
+
Raw prompt after expansion and conversion to the format that the
|
688
|
+
provider uses to send the information to their API.
|
585
689
|
*/
|
586
690
|
rawPrompt: unknown;
|
587
691
|
/**
|
588
|
-
|
589
|
-
|
692
|
+
Raw settings that are used for the API call. Includes provider-specific
|
693
|
+
settings.
|
590
694
|
*/
|
591
695
|
rawSettings: Record<string, unknown>;
|
592
696
|
};
|
593
697
|
/**
|
594
|
-
|
698
|
+
Optional raw response information for debugging purposes.
|
595
699
|
*/
|
596
700
|
rawResponse?: {
|
597
701
|
/**
|
598
|
-
|
599
|
-
|
702
|
+
Response headers.
|
703
|
+
*/
|
600
704
|
headers?: Record<string, string>;
|
601
705
|
};
|
602
706
|
warnings?: LanguageModelV1CallWarning[];
|
603
707
|
/**
|
604
|
-
|
605
|
-
|
708
|
+
Logprobs for the completion.
|
709
|
+
`undefined` if the mode does not support logprobs or if was not enabled
|
606
710
|
*/
|
607
711
|
logprobs?: LanguageModelV1LogProbs;
|
608
712
|
}>;
|
609
713
|
/**
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
714
|
+
Generates a language model output (streaming).
|
715
|
+
|
716
|
+
Naming: "do" prefix to prevent accidental direct usage of the method
|
717
|
+
by the user.
|
614
718
|
*
|
615
|
-
|
719
|
+
@return A stream of higher-level language model output parts.
|
616
720
|
*/
|
617
721
|
doStream(options: LanguageModelV1CallOptions): PromiseLike<{
|
618
722
|
stream: ReadableStream<LanguageModelV1StreamPart>;
|
619
723
|
/**
|
620
|
-
|
724
|
+
Raw prompt and setting information for observability provider integration.
|
621
725
|
*/
|
622
726
|
rawCall: {
|
623
727
|
/**
|
624
|
-
|
625
|
-
|
728
|
+
Raw prompt after expansion and conversion to the format that the
|
729
|
+
provider uses to send the information to their API.
|
626
730
|
*/
|
627
731
|
rawPrompt: unknown;
|
628
732
|
/**
|
629
|
-
|
630
|
-
|
733
|
+
Raw settings that are used for the API call. Includes provider-specific
|
734
|
+
settings.
|
631
735
|
*/
|
632
736
|
rawSettings: Record<string, unknown>;
|
633
737
|
};
|
634
738
|
/**
|
635
|
-
|
739
|
+
Optional raw response data.
|
636
740
|
*/
|
637
741
|
rawResponse?: {
|
638
742
|
/**
|
639
|
-
|
743
|
+
Response headers.
|
640
744
|
*/
|
641
745
|
headers?: Record<string, string>;
|
642
746
|
};
|
@@ -668,4 +772,4 @@ type LanguageModelV1StreamPart = {
|
|
668
772
|
};
|
669
773
|
type LanguageModelV1ResponseMetadata = {};
|
670
774
|
|
671
|
-
export { APICallError, EmptyResponseBodyError, InvalidArgumentError, InvalidDataContentError, InvalidPromptError, InvalidResponseDataError, InvalidToolArgumentsError, JSONParseError, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1Prompt, type LanguageModelV1ResponseMetadata, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolResultPart, LoadAPIKeyError, NoObjectGeneratedError, NoSuchToolError, RetryError, type RetryErrorReason, ToolCallParseError, TypeValidationError, UnsupportedFunctionalityError, UnsupportedJSONSchemaError };
|
775
|
+
export { APICallError, type EmbeddingModelV1, type EmbeddingModelV1Embedding, EmptyResponseBodyError, InvalidArgumentError, InvalidDataContentError, InvalidPromptError, InvalidResponseDataError, InvalidToolArgumentsError, JSONParseError, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1Prompt, type LanguageModelV1ResponseMetadata, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolResultPart, LoadAPIKeyError, NoObjectGeneratedError, NoSuchToolError, RetryError, type RetryErrorReason, TooManyEmbeddingValuesForCallError, ToolCallParseError, TypeValidationError, UnsupportedFunctionalityError, UnsupportedJSONSchemaError };
|
package/dist/index.d.ts
CHANGED
@@ -1,5 +1,76 @@
|
|
1
1
|
import { JSONSchema7 } from 'json-schema';
|
2
2
|
|
3
|
+
/**
|
4
|
+
An embedding is a vector, i.e. an array of numbers.
|
5
|
+
It is e.g. used to represent a text as a vector of word embeddings.
|
6
|
+
*/
|
7
|
+
type EmbeddingModelV1Embedding = Array<number>;
|
8
|
+
|
9
|
+
/**
|
10
|
+
Experimental: Specification for an embedding model that implements the embedding model
|
11
|
+
interface version 1.
|
12
|
+
|
13
|
+
VALUE is the type of the values that the model can embed.
|
14
|
+
This will allow us to go beyond text embeddings in the future,
|
15
|
+
e.g. to support image embeddings
|
16
|
+
*/
|
17
|
+
type EmbeddingModelV1<VALUE> = {
|
18
|
+
/**
|
19
|
+
The embedding model must specify which embedding model interface
|
20
|
+
version it implements. This will allow us to evolve the embedding
|
21
|
+
model interface and retain backwards compatibility. The different
|
22
|
+
implementation versions can be handled as a discriminated union
|
23
|
+
on our side.
|
24
|
+
*/
|
25
|
+
readonly specificationVersion: 'v1';
|
26
|
+
/**
|
27
|
+
Name of the provider for logging purposes.
|
28
|
+
*/
|
29
|
+
readonly provider: string;
|
30
|
+
/**
|
31
|
+
Provider-specific model ID for logging purposes.
|
32
|
+
*/
|
33
|
+
readonly modelId: string;
|
34
|
+
/**
|
35
|
+
Limit of how many embeddings can be generated in a single API call.
|
36
|
+
*/
|
37
|
+
readonly maxEmbeddingsPerCall: number | undefined;
|
38
|
+
/**
|
39
|
+
True if the model can handle multiple embedding calls in parallel.
|
40
|
+
*/
|
41
|
+
readonly supportsParallelCalls: boolean;
|
42
|
+
/**
|
43
|
+
Generates a list of embeddings for the given input text.
|
44
|
+
|
45
|
+
Naming: "do" prefix to prevent accidental direct usage of the method
|
46
|
+
by the user.
|
47
|
+
*/
|
48
|
+
doEmbed(options: {
|
49
|
+
/**
|
50
|
+
List of values to embed.
|
51
|
+
*/
|
52
|
+
values: Array<VALUE>;
|
53
|
+
/**
|
54
|
+
Abort signal for cancelling the operation.
|
55
|
+
*/
|
56
|
+
abortSignal?: AbortSignal;
|
57
|
+
}): PromiseLike<{
|
58
|
+
/**
|
59
|
+
Generated embeddings. They are in the same order as the input values.
|
60
|
+
*/
|
61
|
+
embeddings: Array<EmbeddingModelV1Embedding>;
|
62
|
+
/**
|
63
|
+
Optional raw response information for debugging purposes.
|
64
|
+
*/
|
65
|
+
rawResponse?: {
|
66
|
+
/**
|
67
|
+
Response headers.
|
68
|
+
*/
|
69
|
+
headers?: Record<string, string>;
|
70
|
+
};
|
71
|
+
}>;
|
72
|
+
};
|
73
|
+
|
3
74
|
declare class APICallError extends Error {
|
4
75
|
readonly url: string;
|
5
76
|
readonly requestBodyValues: unknown;
|
@@ -68,8 +139,10 @@ declare class InvalidArgumentError extends Error {
|
|
68
139
|
|
69
140
|
declare class InvalidDataContentError extends Error {
|
70
141
|
readonly content: unknown;
|
71
|
-
|
142
|
+
readonly cause?: unknown;
|
143
|
+
constructor({ content, cause, message, }: {
|
72
144
|
content: unknown;
|
145
|
+
cause?: unknown;
|
73
146
|
message?: string;
|
74
147
|
});
|
75
148
|
static isInvalidDataContentError(error: unknown): error is InvalidDataContentError;
|
@@ -77,6 +150,7 @@ declare class InvalidDataContentError extends Error {
|
|
77
150
|
name: string;
|
78
151
|
message: string;
|
79
152
|
stack: string | undefined;
|
153
|
+
cause: unknown;
|
80
154
|
content: unknown;
|
81
155
|
};
|
82
156
|
}
|
@@ -214,6 +288,29 @@ declare class RetryError extends Error {
|
|
214
288
|
};
|
215
289
|
}
|
216
290
|
|
291
|
+
declare class TooManyEmbeddingValuesForCallError extends Error {
|
292
|
+
readonly provider: string;
|
293
|
+
readonly modelId: string;
|
294
|
+
readonly maxEmbeddingsPerCall: number;
|
295
|
+
readonly values: Array<unknown>;
|
296
|
+
constructor(options: {
|
297
|
+
provider: string;
|
298
|
+
modelId: string;
|
299
|
+
maxEmbeddingsPerCall: number;
|
300
|
+
values: Array<unknown>;
|
301
|
+
});
|
302
|
+
static isInvalidPromptError(error: unknown): error is TooManyEmbeddingValuesForCallError;
|
303
|
+
toJSON(): {
|
304
|
+
name: string;
|
305
|
+
message: string;
|
306
|
+
stack: string | undefined;
|
307
|
+
provider: string;
|
308
|
+
modelId: string;
|
309
|
+
maxEmbeddingsPerCall: number;
|
310
|
+
values: unknown[];
|
311
|
+
};
|
312
|
+
}
|
313
|
+
|
217
314
|
/**
|
218
315
|
A tool has a name, a description, and a set of parameters.
|
219
316
|
|
@@ -230,7 +327,15 @@ type LanguageModelV1FunctionTool = {
|
|
230
327
|
The name of the tool. Unique within this model call.
|
231
328
|
*/
|
232
329
|
name: string;
|
330
|
+
/**
|
331
|
+
A description of the tool. The language model uses this to understand the
|
332
|
+
tool's purpose and to provide better completion suggestions.
|
333
|
+
*/
|
233
334
|
description?: string;
|
335
|
+
/**
|
336
|
+
The parameters that the tool expects. The language model uses this to
|
337
|
+
understand the tool's input requirements and to provide matching suggestions.
|
338
|
+
*/
|
234
339
|
parameters: JSONSchema7;
|
235
340
|
};
|
236
341
|
|
@@ -306,38 +411,38 @@ declare class UnsupportedJSONSchemaError extends Error {
|
|
306
411
|
|
307
412
|
type LanguageModelV1CallSettings = {
|
308
413
|
/**
|
309
|
-
|
414
|
+
Maximum number of tokens to generate.
|
310
415
|
*/
|
311
416
|
maxTokens?: number;
|
312
417
|
/**
|
313
|
-
|
314
|
-
|
315
|
-
|
418
|
+
Temperature setting.
|
419
|
+
|
420
|
+
It is recommended to set either `temperature` or `topP`, but not both.
|
316
421
|
*/
|
317
422
|
temperature?: number;
|
318
423
|
/**
|
319
|
-
|
320
|
-
|
321
|
-
|
424
|
+
Nucleus sampling.
|
425
|
+
|
426
|
+
It is recommended to set either `temperature` or `topP`, but not both.
|
322
427
|
*/
|
323
428
|
topP?: number;
|
324
429
|
/**
|
325
|
-
|
326
|
-
|
430
|
+
Presence penalty setting. It affects the likelihood of the model to
|
431
|
+
repeat information that is already in the prompt.
|
327
432
|
*/
|
328
433
|
presencePenalty?: number;
|
329
434
|
/**
|
330
|
-
|
331
|
-
|
435
|
+
Frequency penalty setting. It affects the likelihood of the model
|
436
|
+
to repeatedly use the same words or phrases.
|
332
437
|
*/
|
333
438
|
frequencyPenalty?: number;
|
334
439
|
/**
|
335
|
-
|
336
|
-
|
440
|
+
The seed (integer) to use for random sampling. If set and supported
|
441
|
+
by the model, calls will generate deterministic results.
|
337
442
|
*/
|
338
443
|
seed?: number;
|
339
444
|
/**
|
340
|
-
|
445
|
+
Abort signal for cancelling the operation.
|
341
446
|
*/
|
342
447
|
abortSignal?: AbortSignal;
|
343
448
|
};
|
@@ -432,19 +537,19 @@ interface LanguageModelV1ToolResultPart {
|
|
432
537
|
|
433
538
|
type LanguageModelV1CallOptions = LanguageModelV1CallSettings & {
|
434
539
|
/**
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
540
|
+
Whether the user provided the input as messages or as
|
541
|
+
a prompt. This can help guide non-chat models in the
|
542
|
+
expansion, bc different expansions can be needed for
|
543
|
+
chat/non-chat use cases.
|
439
544
|
*/
|
440
545
|
inputFormat: 'messages' | 'prompt';
|
441
546
|
/**
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
547
|
+
The mode affects the behavior of the language model. It is required to
|
548
|
+
support provider-independent streaming and generation of structured objects.
|
549
|
+
The model can take this information and e.g. configure json mode, the correct
|
550
|
+
low level grammar, etc. It can also be used to optimize the efficiency of the
|
551
|
+
streaming, e.g. tool-delta stream parts are only needed in the
|
552
|
+
object-tool mode.
|
448
553
|
*/
|
449
554
|
mode: {
|
450
555
|
type: 'regular';
|
@@ -459,19 +564,19 @@ type LanguageModelV1CallOptions = LanguageModelV1CallSettings & {
|
|
459
564
|
tool: LanguageModelV1FunctionTool;
|
460
565
|
};
|
461
566
|
/**
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
567
|
+
A language mode prompt is a standardized prompt type.
|
568
|
+
|
569
|
+
Note: This is **not** the user-facing prompt. The AI SDK methods will map the
|
570
|
+
user-facing prompt types such as chat or instruction prompts to this format.
|
571
|
+
That approach allows us to evolve the user facing prompts without breaking
|
572
|
+
the language model interface.
|
468
573
|
*/
|
469
574
|
prompt: LanguageModelV1Prompt;
|
470
575
|
};
|
471
576
|
|
472
577
|
/**
|
473
|
-
|
474
|
-
|
578
|
+
Warning from the model provider for this call. The call will proceed, but e.g.
|
579
|
+
some settings might not be supported, which can lead to suboptimal results.
|
475
580
|
*/
|
476
581
|
type LanguageModelV1CallWarning = {
|
477
582
|
type: 'unsupported-setting';
|
@@ -499,8 +604,8 @@ type LanguageModelV1FunctionToolCall = {
|
|
499
604
|
toolCallId: string;
|
500
605
|
toolName: string;
|
501
606
|
/**
|
502
|
-
|
503
|
-
|
607
|
+
Stringified JSON object with the tool call arguments. Must match the
|
608
|
+
parameters schema of the tool.
|
504
609
|
*/
|
505
610
|
args: string;
|
506
611
|
};
|
@@ -518,125 +623,124 @@ type LanguageModelV1LogProbs = Array<{
|
|
518
623
|
}>;
|
519
624
|
|
520
625
|
/**
|
521
|
-
|
522
|
-
* interface version 1.
|
626
|
+
Specification for a language model that implements the language model interface version 1.
|
523
627
|
*/
|
524
628
|
type LanguageModelV1 = {
|
525
629
|
/**
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
630
|
+
The language model must specify which language model interface
|
631
|
+
version it implements. This will allow us to evolve the language
|
632
|
+
model interface and retain backwards compatibility. The different
|
633
|
+
implementation versions can be handled as a discriminated union
|
634
|
+
on our side.
|
531
635
|
*/
|
532
636
|
readonly specificationVersion: 'v1';
|
533
637
|
/**
|
534
|
-
|
638
|
+
Name of the provider for logging purposes.
|
535
639
|
*/
|
536
640
|
readonly provider: string;
|
537
641
|
/**
|
538
|
-
|
642
|
+
Provider-specific model ID for logging purposes.
|
539
643
|
*/
|
540
644
|
readonly modelId: string;
|
541
645
|
/**
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
646
|
+
Default object generation mode that should be used with this model when
|
647
|
+
no mode is specified. Should be the mode with the best results for this
|
648
|
+
model. `undefined` can be returned if object generation is not supported.
|
649
|
+
|
650
|
+
This is needed to generate the best objects possible w/o requiring the
|
651
|
+
user to explicitly specify the object generation mode.
|
548
652
|
*/
|
549
653
|
readonly defaultObjectGenerationMode: 'json' | 'tool' | 'grammar' | undefined;
|
550
654
|
/**
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
655
|
+
Generates a language model output (non-streaming).
|
656
|
+
|
657
|
+
Naming: "do" prefix to prevent accidental direct usage of the method
|
658
|
+
by the user.
|
555
659
|
*/
|
556
660
|
doGenerate(options: LanguageModelV1CallOptions): PromiseLike<{
|
557
661
|
/**
|
558
|
-
|
559
|
-
|
662
|
+
Text that the model has generated. Can be undefined if the model
|
663
|
+
has only generated tool calls.
|
560
664
|
*/
|
561
665
|
text?: string;
|
562
666
|
/**
|
563
|
-
|
564
|
-
|
667
|
+
Tool calls that the model has generated. Can be undefined if the
|
668
|
+
model has only generated text.
|
565
669
|
*/
|
566
670
|
toolCalls?: Array<LanguageModelV1FunctionToolCall>;
|
567
671
|
/**
|
568
|
-
|
672
|
+
Finish reason.
|
569
673
|
*/
|
570
674
|
finishReason: LanguageModelV1FinishReason;
|
571
675
|
/**
|
572
|
-
|
676
|
+
Usage information.
|
573
677
|
*/
|
574
678
|
usage: {
|
575
679
|
promptTokens: number;
|
576
680
|
completionTokens: number;
|
577
681
|
};
|
578
682
|
/**
|
579
|
-
|
683
|
+
Raw prompt and setting information for observability provider integration.
|
580
684
|
*/
|
581
685
|
rawCall: {
|
582
686
|
/**
|
583
|
-
|
584
|
-
|
687
|
+
Raw prompt after expansion and conversion to the format that the
|
688
|
+
provider uses to send the information to their API.
|
585
689
|
*/
|
586
690
|
rawPrompt: unknown;
|
587
691
|
/**
|
588
|
-
|
589
|
-
|
692
|
+
Raw settings that are used for the API call. Includes provider-specific
|
693
|
+
settings.
|
590
694
|
*/
|
591
695
|
rawSettings: Record<string, unknown>;
|
592
696
|
};
|
593
697
|
/**
|
594
|
-
|
698
|
+
Optional raw response information for debugging purposes.
|
595
699
|
*/
|
596
700
|
rawResponse?: {
|
597
701
|
/**
|
598
|
-
|
599
|
-
|
702
|
+
Response headers.
|
703
|
+
*/
|
600
704
|
headers?: Record<string, string>;
|
601
705
|
};
|
602
706
|
warnings?: LanguageModelV1CallWarning[];
|
603
707
|
/**
|
604
|
-
|
605
|
-
|
708
|
+
Logprobs for the completion.
|
709
|
+
`undefined` if the mode does not support logprobs or if was not enabled
|
606
710
|
*/
|
607
711
|
logprobs?: LanguageModelV1LogProbs;
|
608
712
|
}>;
|
609
713
|
/**
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
714
|
+
Generates a language model output (streaming).
|
715
|
+
|
716
|
+
Naming: "do" prefix to prevent accidental direct usage of the method
|
717
|
+
by the user.
|
614
718
|
*
|
615
|
-
|
719
|
+
@return A stream of higher-level language model output parts.
|
616
720
|
*/
|
617
721
|
doStream(options: LanguageModelV1CallOptions): PromiseLike<{
|
618
722
|
stream: ReadableStream<LanguageModelV1StreamPart>;
|
619
723
|
/**
|
620
|
-
|
724
|
+
Raw prompt and setting information for observability provider integration.
|
621
725
|
*/
|
622
726
|
rawCall: {
|
623
727
|
/**
|
624
|
-
|
625
|
-
|
728
|
+
Raw prompt after expansion and conversion to the format that the
|
729
|
+
provider uses to send the information to their API.
|
626
730
|
*/
|
627
731
|
rawPrompt: unknown;
|
628
732
|
/**
|
629
|
-
|
630
|
-
|
733
|
+
Raw settings that are used for the API call. Includes provider-specific
|
734
|
+
settings.
|
631
735
|
*/
|
632
736
|
rawSettings: Record<string, unknown>;
|
633
737
|
};
|
634
738
|
/**
|
635
|
-
|
739
|
+
Optional raw response data.
|
636
740
|
*/
|
637
741
|
rawResponse?: {
|
638
742
|
/**
|
639
|
-
|
743
|
+
Response headers.
|
640
744
|
*/
|
641
745
|
headers?: Record<string, string>;
|
642
746
|
};
|
@@ -668,4 +772,4 @@ type LanguageModelV1StreamPart = {
|
|
668
772
|
};
|
669
773
|
type LanguageModelV1ResponseMetadata = {};
|
670
774
|
|
671
|
-
export { APICallError, EmptyResponseBodyError, InvalidArgumentError, InvalidDataContentError, InvalidPromptError, InvalidResponseDataError, InvalidToolArgumentsError, JSONParseError, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1Prompt, type LanguageModelV1ResponseMetadata, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolResultPart, LoadAPIKeyError, NoObjectGeneratedError, NoSuchToolError, RetryError, type RetryErrorReason, ToolCallParseError, TypeValidationError, UnsupportedFunctionalityError, UnsupportedJSONSchemaError };
|
775
|
+
export { APICallError, type EmbeddingModelV1, type EmbeddingModelV1Embedding, EmptyResponseBodyError, InvalidArgumentError, InvalidDataContentError, InvalidPromptError, InvalidResponseDataError, InvalidToolArgumentsError, JSONParseError, type LanguageModelV1, type LanguageModelV1CallOptions, type LanguageModelV1CallWarning, type LanguageModelV1FinishReason, type LanguageModelV1FunctionTool, type LanguageModelV1FunctionToolCall, type LanguageModelV1ImagePart, type LanguageModelV1LogProbs, type LanguageModelV1Message, type LanguageModelV1Prompt, type LanguageModelV1ResponseMetadata, type LanguageModelV1StreamPart, type LanguageModelV1TextPart, type LanguageModelV1ToolCallPart, type LanguageModelV1ToolResultPart, LoadAPIKeyError, NoObjectGeneratedError, NoSuchToolError, RetryError, type RetryErrorReason, TooManyEmbeddingValuesForCallError, ToolCallParseError, TypeValidationError, UnsupportedFunctionalityError, UnsupportedJSONSchemaError };
|
package/dist/index.js
CHANGED
@@ -32,6 +32,7 @@ __export(src_exports, {
|
|
32
32
|
NoObjectGeneratedError: () => NoObjectGeneratedError,
|
33
33
|
NoSuchToolError: () => NoSuchToolError,
|
34
34
|
RetryError: () => RetryError,
|
35
|
+
TooManyEmbeddingValuesForCallError: () => TooManyEmbeddingValuesForCallError,
|
35
36
|
ToolCallParseError: () => ToolCallParseError,
|
36
37
|
TypeValidationError: () => TypeValidationError,
|
37
38
|
UnsupportedFunctionalityError: () => UnsupportedFunctionalityError,
|
@@ -134,10 +135,12 @@ var InvalidArgumentError = class extends Error {
|
|
134
135
|
var InvalidDataContentError = class extends Error {
|
135
136
|
constructor({
|
136
137
|
content,
|
137
|
-
|
138
|
+
cause,
|
139
|
+
message = `Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`
|
138
140
|
}) {
|
139
141
|
super(message);
|
140
142
|
this.name = "AI_InvalidDataContentError";
|
143
|
+
this.cause = cause;
|
141
144
|
this.content = content;
|
142
145
|
}
|
143
146
|
static isInvalidDataContentError(error) {
|
@@ -148,6 +151,7 @@ var InvalidDataContentError = class extends Error {
|
|
148
151
|
name: this.name,
|
149
152
|
message: this.message,
|
150
153
|
stack: this.stack,
|
154
|
+
cause: this.cause,
|
151
155
|
content: this.content
|
152
156
|
};
|
153
157
|
}
|
@@ -355,6 +359,34 @@ var RetryError = class extends Error {
|
|
355
359
|
}
|
356
360
|
};
|
357
361
|
|
362
|
+
// src/errors/too-many-embedding-values-for-call-error.ts
|
363
|
+
var TooManyEmbeddingValuesForCallError = class extends Error {
|
364
|
+
constructor(options) {
|
365
|
+
super(
|
366
|
+
`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.`
|
367
|
+
);
|
368
|
+
this.name = "AI_TooManyEmbeddingValuesForCallError";
|
369
|
+
this.provider = options.provider;
|
370
|
+
this.modelId = options.modelId;
|
371
|
+
this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;
|
372
|
+
this.values = options.values;
|
373
|
+
}
|
374
|
+
static isInvalidPromptError(error) {
|
375
|
+
return error instanceof Error && error.name === "AI_TooManyEmbeddingValuesForCallError" && "provider" in error && typeof error.provider === "string" && "modelId" in error && typeof error.modelId === "string" && "maxEmbeddingsPerCall" in error && typeof error.maxEmbeddingsPerCall === "number" && "values" in error && Array.isArray(error.values);
|
376
|
+
}
|
377
|
+
toJSON() {
|
378
|
+
return {
|
379
|
+
name: this.name,
|
380
|
+
message: this.message,
|
381
|
+
stack: this.stack,
|
382
|
+
provider: this.provider,
|
383
|
+
modelId: this.modelId,
|
384
|
+
maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,
|
385
|
+
values: this.values
|
386
|
+
};
|
387
|
+
}
|
388
|
+
};
|
389
|
+
|
358
390
|
// src/errors/tool-call-parse-error.ts
|
359
391
|
var ToolCallParseError = class extends Error {
|
360
392
|
constructor({
|
@@ -468,6 +500,7 @@ var UnsupportedJSONSchemaError = class extends Error {
|
|
468
500
|
NoObjectGeneratedError,
|
469
501
|
NoSuchToolError,
|
470
502
|
RetryError,
|
503
|
+
TooManyEmbeddingValuesForCallError,
|
471
504
|
ToolCallParseError,
|
472
505
|
TypeValidationError,
|
473
506
|
UnsupportedFunctionalityError,
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/errors/api-call-error.ts","../src/errors/empty-response-body-error.ts","../src/errors/invalid-argument-error.ts","../src/errors/invalid-data-content-error.ts","../src/errors/invalid-prompt-error.ts","../src/errors/invalid-response-data-error.ts","../src/errors/get-error-message.ts","../src/errors/invalid-tool-arguments-error.ts","../src/errors/json-parse-error.ts","../src/errors/load-api-key-error.ts","../src/errors/no-object-generated-error.ts","../src/errors/no-such-tool-error.ts","../src/errors/retry-error.ts","../src/errors/tool-call-parse-error.ts","../src/errors/type-validation-error.ts","../src/errors/unsupported-functionality-error.ts","../src/errors/unsupported-json-schema-error.ts"],"sourcesContent":["export * from './errors/index';\nexport * from './language-model/index';\n","export class APICallError extends Error {\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 cause?: unknown;\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(message);\n\n this.name = 'AI_APICallError';\n\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.cause = cause;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n\n static isAPICallError(error: unknown): error is APICallError {\n return (\n error instanceof Error &&\n error.name === 'AI_APICallError' &&\n typeof (error as APICallError).url === 'string' &&\n typeof (error as APICallError).requestBodyValues === 'object' &&\n ((error as APICallError).statusCode == null ||\n typeof (error as APICallError).statusCode === 'number') &&\n ((error as APICallError).responseHeaders == null ||\n typeof (error as APICallError).responseHeaders === 'object') &&\n ((error as APICallError).responseBody == null ||\n typeof (error as APICallError).responseBody === 'string') &&\n ((error as APICallError).cause == null ||\n typeof (error as APICallError).cause === 'object') &&\n typeof (error as APICallError).isRetryable === 'boolean' &&\n ((error as APICallError).data == null ||\n typeof (error as APICallError).data === 'object')\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n url: this.url,\n requestBodyValues: this.requestBodyValues,\n statusCode: this.statusCode,\n responseHeaders: this.responseHeaders,\n responseBody: this.responseBody,\n cause: this.cause,\n isRetryable: this.isRetryable,\n data: this.data,\n };\n }\n}\n","export class EmptyResponseBodyError extends Error {\n constructor({ message = 'Empty response body' }: { message?: string } = {}) {\n super(message);\n\n this.name = 'AI_EmptyResponseBodyError';\n }\n\n static isEmptyResponseBodyError(\n error: unknown,\n ): error is EmptyResponseBodyError {\n return error instanceof Error && error.name === 'AI_EmptyResponseBodyError';\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n };\n }\n}\n","export class InvalidArgumentError extends Error {\n readonly parameter: string;\n readonly value: unknown;\n\n constructor({\n parameter,\n value,\n message,\n }: {\n parameter: string;\n value: unknown;\n message: string;\n }) {\n super(`Invalid argument for parameter ${parameter}: ${message}`);\n\n this.name = 'AI_InvalidArgumentError';\n\n this.parameter = parameter;\n this.value = value;\n }\n\n static isInvalidArgumentError(error: unknown): error is InvalidArgumentError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidArgumentError' &&\n typeof (error as InvalidArgumentError).parameter === 'string' &&\n typeof (error as InvalidArgumentError).value === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n parameter: this.parameter,\n value: this.value,\n };\n }\n}\n","export class InvalidDataContentError extends Error {\n readonly content: unknown;\n\n constructor({\n content,\n message = `Invalid data content. Expected a string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`,\n }: {\n content: unknown;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_InvalidDataContentError';\n\n this.content = content;\n }\n\n static isInvalidDataContentError(\n error: unknown,\n ): error is InvalidDataContentError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidDataContentError' &&\n (error as InvalidDataContentError).content != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n content: this.content,\n };\n }\n}\n","export class InvalidPromptError extends Error {\n readonly prompt: unknown;\n\n constructor({ prompt, message }: { prompt: unknown; message: string }) {\n super(`Invalid prompt: ${message}`);\n\n this.name = 'AI_InvalidPromptError';\n\n this.prompt = prompt;\n }\n\n static isInvalidPromptError(error: unknown): error is InvalidPromptError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidPromptError' &&\n prompt != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n prompt: this.prompt,\n };\n }\n}\n","/**\nServer returned a response with invalid data content. This should be thrown by providers when they\ncannot parse the response from the API.\n */\nexport class InvalidResponseDataError extends Error {\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(message);\n\n this.name = 'AI_InvalidResponseDataError';\n\n this.data = data;\n }\n\n static isInvalidResponseDataError(\n error: unknown,\n ): error is InvalidResponseDataError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidResponseDataError' &&\n (error as InvalidResponseDataError).data != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n data: this.data,\n };\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.message;\n }\n\n return JSON.stringify(error);\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class InvalidToolArgumentsError extends Error {\n readonly toolName: string;\n readonly toolArgs: string;\n readonly cause: unknown;\n\n constructor({\n toolArgs,\n toolName,\n cause,\n message = `Invalid arguments for tool ${toolName}: ${getErrorMessage(\n cause,\n )}`,\n }: {\n message?: string;\n toolArgs: string;\n toolName: string;\n cause: unknown;\n }) {\n super(message);\n\n this.name = 'AI_InvalidToolArgumentsError';\n\n this.toolArgs = toolArgs;\n this.toolName = toolName;\n this.cause = cause;\n }\n\n static isInvalidToolArgumentsError(\n error: unknown,\n ): error is InvalidToolArgumentsError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidToolArgumentsError' &&\n typeof (error as InvalidToolArgumentsError).toolName === 'string' &&\n typeof (error as InvalidToolArgumentsError).toolArgs === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n toolName: this.toolName,\n toolArgs: this.toolArgs,\n };\n }\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class JSONParseError extends Error {\n // note: property order determines debugging output\n readonly text: string;\n readonly cause: unknown;\n\n constructor({ text, cause }: { text: string; cause: unknown }) {\n super(\n `JSON parsing failed: ` +\n `Text: ${text}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n );\n\n this.name = 'AI_JSONParseError';\n\n this.cause = cause;\n this.text = text;\n }\n\n static isJSONParseError(error: unknown): error is JSONParseError {\n return (\n error instanceof Error &&\n error.name === 'AI_JSONParseError' &&\n typeof (error as JSONParseError).text === 'string' &&\n typeof (error as JSONParseError).cause === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n valueText: this.text,\n };\n }\n}\n","export class LoadAPIKeyError extends Error {\n constructor({ message }: { message: string }) {\n super(message);\n\n this.name = 'AI_LoadAPIKeyError';\n }\n\n static isLoadAPIKeyError(error: unknown): error is LoadAPIKeyError {\n return error instanceof Error && error.name === 'AI_LoadAPIKeyError';\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n };\n }\n}\n","export class NoObjectGeneratedError extends Error {\n readonly cause: unknown;\n\n constructor() {\n super(`No object generated.`);\n\n this.name = 'AI_NoObjectGeneratedError';\n }\n\n static isNoTextGeneratedError(\n error: unknown,\n ): error is NoObjectGeneratedError {\n return error instanceof Error && error.name === 'AI_NoObjectGeneratedError';\n }\n\n toJSON() {\n return {\n name: this.name,\n cause: this.cause,\n message: this.message,\n stack: this.stack,\n };\n }\n}\n","export class NoSuchToolError extends Error {\n readonly toolName: string;\n readonly availableTools: string[] | undefined;\n\n constructor({\n toolName,\n availableTools = undefined,\n message = `Model tried to call unavailable tool '${toolName}'. ${\n availableTools === undefined\n ? 'No tools are available.'\n : `Available tools: ${availableTools.join(', ')}.`\n }`,\n }: {\n toolName: string;\n availableTools?: string[] | undefined;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_NoSuchToolError';\n\n this.toolName = toolName;\n this.availableTools = availableTools;\n }\n\n static isNoSuchToolError(error: unknown): error is NoSuchToolError {\n return (\n error instanceof Error &&\n error.name === 'AI_NoSuchToolError' &&\n 'toolName' in error &&\n error.toolName != undefined &&\n typeof error.name === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n toolName: this.toolName,\n availableTools: this.availableTools,\n };\n }\n}\n","export type RetryErrorReason =\n | 'maxRetriesExceeded'\n | 'errorNotRetryable'\n | 'abort';\n\nexport class RetryError extends Error {\n // note: property order determines debugging output\n readonly reason: RetryErrorReason;\n readonly lastError: unknown;\n readonly errors: Array<unknown>;\n\n constructor({\n message,\n reason,\n errors,\n }: {\n message: string;\n reason: RetryErrorReason;\n errors: Array<unknown>;\n }) {\n super(message);\n\n this.name = 'AI_RetryError';\n this.reason = reason;\n this.errors = errors;\n\n // separate our last error to make debugging via log easier:\n this.lastError = errors[errors.length - 1];\n }\n\n static isRetryError(error: unknown): error is RetryError {\n return (\n error instanceof Error &&\n error.name === 'AI_RetryError' &&\n typeof (error as RetryError).reason === 'string' &&\n Array.isArray((error as RetryError).errors)\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n reason: this.reason,\n lastError: this.lastError,\n errors: this.errors,\n };\n }\n}\n","import { LanguageModelV1FunctionTool } from '../language-model/v1/language-model-v1-function-tool';\nimport { getErrorMessage } from './get-error-message';\n\nexport class ToolCallParseError extends Error {\n readonly cause: unknown;\n readonly text: string;\n readonly tools: LanguageModelV1FunctionTool[];\n\n constructor({\n cause,\n text,\n tools,\n message = `Failed to parse tool calls: ${getErrorMessage(cause)}`,\n }: {\n cause: unknown;\n text: string;\n tools: LanguageModelV1FunctionTool[];\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_ToolCallParseError';\n\n this.cause = cause;\n this.text = text;\n this.tools = tools;\n }\n\n static isToolCallParseError(error: unknown): error is ToolCallParseError {\n return (\n error instanceof Error &&\n error.name === 'AI_ToolCallParseError' &&\n 'cause' in error &&\n error.cause != undefined &&\n 'text' in error &&\n error.text != undefined &&\n typeof error.text === 'string' &&\n 'tools' in error &&\n error.tools != undefined\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n cause: this.cause,\n text: this.text,\n tools: this.tools,\n };\n }\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class TypeValidationError extends Error {\n readonly value: unknown;\n readonly cause: unknown;\n\n constructor({ value, cause }: { value: unknown; cause: unknown }) {\n super(\n `Type validation failed: ` +\n `Value: ${JSON.stringify(value)}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n );\n\n this.name = 'AI_TypeValidationError';\n\n this.cause = cause;\n this.value = value;\n }\n\n static isTypeValidationError(error: unknown): error is TypeValidationError {\n return (\n error instanceof Error &&\n error.name === 'AI_TypeValidationError' &&\n typeof (error as TypeValidationError).value === 'string' &&\n typeof (error as TypeValidationError).cause === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n value: this.value,\n };\n }\n}\n","export class UnsupportedFunctionalityError extends Error {\n readonly functionality: string;\n\n constructor({ functionality }: { functionality: string }) {\n super(`'${functionality}' functionality not supported.`);\n\n this.name = 'AI_UnsupportedFunctionalityError';\n\n this.functionality = functionality;\n }\n\n static isUnsupportedFunctionalityError(\n error: unknown,\n ): error is UnsupportedFunctionalityError {\n return (\n error instanceof Error &&\n error.name === 'AI_UnsupportedFunctionalityError' &&\n typeof (error as UnsupportedFunctionalityError).functionality === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n functionality: this.functionality,\n };\n }\n}\n","export class UnsupportedJSONSchemaError extends Error {\n readonly reason: string;\n readonly schema: unknown;\n\n constructor({\n schema,\n reason,\n message = `Unsupported JSON schema: ${reason}`,\n }: {\n schema: unknown;\n reason: string;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_UnsupportedJSONSchemaError';\n\n this.reason = reason;\n this.schema = schema;\n }\n\n static isUnsupportedJSONSchemaError(\n error: unknown,\n ): error is UnsupportedJSONSchemaError {\n return (\n error instanceof Error &&\n error.name === 'AI_UnsupportedJSONSchemaError' &&\n 'reason' in error &&\n error.reason != undefined &&\n 'schema' in error &&\n error.schema !== undefined\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n reason: this.reason,\n schema: this.schema,\n };\n }\n}\n"],"mappings":"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","names":["prompt"]}
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/errors/api-call-error.ts","../src/errors/empty-response-body-error.ts","../src/errors/invalid-argument-error.ts","../src/errors/invalid-data-content-error.ts","../src/errors/invalid-prompt-error.ts","../src/errors/invalid-response-data-error.ts","../src/errors/get-error-message.ts","../src/errors/invalid-tool-arguments-error.ts","../src/errors/json-parse-error.ts","../src/errors/load-api-key-error.ts","../src/errors/no-object-generated-error.ts","../src/errors/no-such-tool-error.ts","../src/errors/retry-error.ts","../src/errors/too-many-embedding-values-for-call-error.ts","../src/errors/tool-call-parse-error.ts","../src/errors/type-validation-error.ts","../src/errors/unsupported-functionality-error.ts","../src/errors/unsupported-json-schema-error.ts"],"sourcesContent":["export * from './embedding-model/index';\nexport * from './errors/index';\nexport * from './language-model/index';\n","export class APICallError extends Error {\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 cause?: unknown;\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(message);\n\n this.name = 'AI_APICallError';\n\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.cause = cause;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n\n static isAPICallError(error: unknown): error is APICallError {\n return (\n error instanceof Error &&\n error.name === 'AI_APICallError' &&\n typeof (error as APICallError).url === 'string' &&\n typeof (error as APICallError).requestBodyValues === 'object' &&\n ((error as APICallError).statusCode == null ||\n typeof (error as APICallError).statusCode === 'number') &&\n ((error as APICallError).responseHeaders == null ||\n typeof (error as APICallError).responseHeaders === 'object') &&\n ((error as APICallError).responseBody == null ||\n typeof (error as APICallError).responseBody === 'string') &&\n ((error as APICallError).cause == null ||\n typeof (error as APICallError).cause === 'object') &&\n typeof (error as APICallError).isRetryable === 'boolean' &&\n ((error as APICallError).data == null ||\n typeof (error as APICallError).data === 'object')\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n url: this.url,\n requestBodyValues: this.requestBodyValues,\n statusCode: this.statusCode,\n responseHeaders: this.responseHeaders,\n responseBody: this.responseBody,\n cause: this.cause,\n isRetryable: this.isRetryable,\n data: this.data,\n };\n }\n}\n","export class EmptyResponseBodyError extends Error {\n constructor({ message = 'Empty response body' }: { message?: string } = {}) {\n super(message);\n\n this.name = 'AI_EmptyResponseBodyError';\n }\n\n static isEmptyResponseBodyError(\n error: unknown,\n ): error is EmptyResponseBodyError {\n return error instanceof Error && error.name === 'AI_EmptyResponseBodyError';\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n };\n }\n}\n","export class InvalidArgumentError extends Error {\n readonly parameter: string;\n readonly value: unknown;\n\n constructor({\n parameter,\n value,\n message,\n }: {\n parameter: string;\n value: unknown;\n message: string;\n }) {\n super(`Invalid argument for parameter ${parameter}: ${message}`);\n\n this.name = 'AI_InvalidArgumentError';\n\n this.parameter = parameter;\n this.value = value;\n }\n\n static isInvalidArgumentError(error: unknown): error is InvalidArgumentError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidArgumentError' &&\n typeof (error as InvalidArgumentError).parameter === 'string' &&\n typeof (error as InvalidArgumentError).value === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n parameter: this.parameter,\n value: this.value,\n };\n }\n}\n","export class InvalidDataContentError extends Error {\n readonly content: unknown;\n readonly cause?: unknown;\n\n constructor({\n content,\n cause,\n message = `Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`,\n }: {\n content: unknown;\n cause?: unknown;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_InvalidDataContentError';\n\n this.cause = cause;\n this.content = content;\n }\n\n static isInvalidDataContentError(\n error: unknown,\n ): error is InvalidDataContentError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidDataContentError' &&\n (error as InvalidDataContentError).content != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n cause: this.cause,\n content: this.content,\n };\n }\n}\n","export class InvalidPromptError extends Error {\n readonly prompt: unknown;\n\n constructor({ prompt, message }: { prompt: unknown; message: string }) {\n super(`Invalid prompt: ${message}`);\n\n this.name = 'AI_InvalidPromptError';\n\n this.prompt = prompt;\n }\n\n static isInvalidPromptError(error: unknown): error is InvalidPromptError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidPromptError' &&\n prompt != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n prompt: this.prompt,\n };\n }\n}\n","/**\nServer returned a response with invalid data content. This should be thrown by providers when they\ncannot parse the response from the API.\n */\nexport class InvalidResponseDataError extends Error {\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(message);\n\n this.name = 'AI_InvalidResponseDataError';\n\n this.data = data;\n }\n\n static isInvalidResponseDataError(\n error: unknown,\n ): error is InvalidResponseDataError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidResponseDataError' &&\n (error as InvalidResponseDataError).data != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n data: this.data,\n };\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.message;\n }\n\n return JSON.stringify(error);\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class InvalidToolArgumentsError extends Error {\n readonly toolName: string;\n readonly toolArgs: string;\n readonly cause: unknown;\n\n constructor({\n toolArgs,\n toolName,\n cause,\n message = `Invalid arguments for tool ${toolName}: ${getErrorMessage(\n cause,\n )}`,\n }: {\n message?: string;\n toolArgs: string;\n toolName: string;\n cause: unknown;\n }) {\n super(message);\n\n this.name = 'AI_InvalidToolArgumentsError';\n\n this.toolArgs = toolArgs;\n this.toolName = toolName;\n this.cause = cause;\n }\n\n static isInvalidToolArgumentsError(\n error: unknown,\n ): error is InvalidToolArgumentsError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidToolArgumentsError' &&\n typeof (error as InvalidToolArgumentsError).toolName === 'string' &&\n typeof (error as InvalidToolArgumentsError).toolArgs === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n toolName: this.toolName,\n toolArgs: this.toolArgs,\n };\n }\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class JSONParseError extends Error {\n // note: property order determines debugging output\n readonly text: string;\n readonly cause: unknown;\n\n constructor({ text, cause }: { text: string; cause: unknown }) {\n super(\n `JSON parsing failed: ` +\n `Text: ${text}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n );\n\n this.name = 'AI_JSONParseError';\n\n this.cause = cause;\n this.text = text;\n }\n\n static isJSONParseError(error: unknown): error is JSONParseError {\n return (\n error instanceof Error &&\n error.name === 'AI_JSONParseError' &&\n typeof (error as JSONParseError).text === 'string' &&\n typeof (error as JSONParseError).cause === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n valueText: this.text,\n };\n }\n}\n","export class LoadAPIKeyError extends Error {\n constructor({ message }: { message: string }) {\n super(message);\n\n this.name = 'AI_LoadAPIKeyError';\n }\n\n static isLoadAPIKeyError(error: unknown): error is LoadAPIKeyError {\n return error instanceof Error && error.name === 'AI_LoadAPIKeyError';\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n };\n }\n}\n","export class NoObjectGeneratedError extends Error {\n readonly cause: unknown;\n\n constructor() {\n super(`No object generated.`);\n\n this.name = 'AI_NoObjectGeneratedError';\n }\n\n static isNoTextGeneratedError(\n error: unknown,\n ): error is NoObjectGeneratedError {\n return error instanceof Error && error.name === 'AI_NoObjectGeneratedError';\n }\n\n toJSON() {\n return {\n name: this.name,\n cause: this.cause,\n message: this.message,\n stack: this.stack,\n };\n }\n}\n","export class NoSuchToolError extends Error {\n readonly toolName: string;\n readonly availableTools: string[] | undefined;\n\n constructor({\n toolName,\n availableTools = undefined,\n message = `Model tried to call unavailable tool '${toolName}'. ${\n availableTools === undefined\n ? 'No tools are available.'\n : `Available tools: ${availableTools.join(', ')}.`\n }`,\n }: {\n toolName: string;\n availableTools?: string[] | undefined;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_NoSuchToolError';\n\n this.toolName = toolName;\n this.availableTools = availableTools;\n }\n\n static isNoSuchToolError(error: unknown): error is NoSuchToolError {\n return (\n error instanceof Error &&\n error.name === 'AI_NoSuchToolError' &&\n 'toolName' in error &&\n error.toolName != undefined &&\n typeof error.name === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n toolName: this.toolName,\n availableTools: this.availableTools,\n };\n }\n}\n","export type RetryErrorReason =\n | 'maxRetriesExceeded'\n | 'errorNotRetryable'\n | 'abort';\n\nexport class RetryError extends Error {\n // note: property order determines debugging output\n readonly reason: RetryErrorReason;\n readonly lastError: unknown;\n readonly errors: Array<unknown>;\n\n constructor({\n message,\n reason,\n errors,\n }: {\n message: string;\n reason: RetryErrorReason;\n errors: Array<unknown>;\n }) {\n super(message);\n\n this.name = 'AI_RetryError';\n this.reason = reason;\n this.errors = errors;\n\n // separate our last error to make debugging via log easier:\n this.lastError = errors[errors.length - 1];\n }\n\n static isRetryError(error: unknown): error is RetryError {\n return (\n error instanceof Error &&\n error.name === 'AI_RetryError' &&\n typeof (error as RetryError).reason === 'string' &&\n Array.isArray((error as RetryError).errors)\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n reason: this.reason,\n lastError: this.lastError,\n errors: this.errors,\n };\n }\n}\n","export class TooManyEmbeddingValuesForCallError extends Error {\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 `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.name = 'AI_TooManyEmbeddingValuesForCallError';\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 isInvalidPromptError(\n error: unknown,\n ): error is TooManyEmbeddingValuesForCallError {\n return (\n error instanceof Error &&\n error.name === 'AI_TooManyEmbeddingValuesForCallError' &&\n 'provider' in error &&\n typeof error.provider === 'string' &&\n 'modelId' in error &&\n typeof error.modelId === 'string' &&\n 'maxEmbeddingsPerCall' in error &&\n typeof error.maxEmbeddingsPerCall === 'number' &&\n 'values' in error &&\n Array.isArray(error.values)\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values: this.values,\n };\n }\n}\n","import { LanguageModelV1FunctionTool } from '../language-model/v1/language-model-v1-function-tool';\nimport { getErrorMessage } from './get-error-message';\n\nexport class ToolCallParseError extends Error {\n readonly cause: unknown;\n readonly text: string;\n readonly tools: LanguageModelV1FunctionTool[];\n\n constructor({\n cause,\n text,\n tools,\n message = `Failed to parse tool calls: ${getErrorMessage(cause)}`,\n }: {\n cause: unknown;\n text: string;\n tools: LanguageModelV1FunctionTool[];\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_ToolCallParseError';\n\n this.cause = cause;\n this.text = text;\n this.tools = tools;\n }\n\n static isToolCallParseError(error: unknown): error is ToolCallParseError {\n return (\n error instanceof Error &&\n error.name === 'AI_ToolCallParseError' &&\n 'cause' in error &&\n error.cause != undefined &&\n 'text' in error &&\n error.text != undefined &&\n typeof error.text === 'string' &&\n 'tools' in error &&\n error.tools != undefined\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n cause: this.cause,\n text: this.text,\n tools: this.tools,\n };\n }\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class TypeValidationError extends Error {\n readonly value: unknown;\n readonly cause: unknown;\n\n constructor({ value, cause }: { value: unknown; cause: unknown }) {\n super(\n `Type validation failed: ` +\n `Value: ${JSON.stringify(value)}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n );\n\n this.name = 'AI_TypeValidationError';\n\n this.cause = cause;\n this.value = value;\n }\n\n static isTypeValidationError(error: unknown): error is TypeValidationError {\n return (\n error instanceof Error &&\n error.name === 'AI_TypeValidationError' &&\n typeof (error as TypeValidationError).value === 'string' &&\n typeof (error as TypeValidationError).cause === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n value: this.value,\n };\n }\n}\n","export class UnsupportedFunctionalityError extends Error {\n readonly functionality: string;\n\n constructor({ functionality }: { functionality: string }) {\n super(`'${functionality}' functionality not supported.`);\n\n this.name = 'AI_UnsupportedFunctionalityError';\n\n this.functionality = functionality;\n }\n\n static isUnsupportedFunctionalityError(\n error: unknown,\n ): error is UnsupportedFunctionalityError {\n return (\n error instanceof Error &&\n error.name === 'AI_UnsupportedFunctionalityError' &&\n typeof (error as UnsupportedFunctionalityError).functionality === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n functionality: this.functionality,\n };\n }\n}\n","export class UnsupportedJSONSchemaError extends Error {\n readonly reason: string;\n readonly schema: unknown;\n\n constructor({\n schema,\n reason,\n message = `Unsupported JSON schema: ${reason}`,\n }: {\n schema: unknown;\n reason: string;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_UnsupportedJSONSchemaError';\n\n this.reason = reason;\n this.schema = schema;\n }\n\n static isUnsupportedJSONSchemaError(\n error: unknown,\n ): error is UnsupportedJSONSchemaError {\n return (\n error instanceof Error &&\n error.name === 'AI_UnsupportedJSONSchemaError' &&\n 'reason' in error &&\n error.reason != undefined &&\n 'schema' in error &&\n error.schema !== undefined\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n reason: this.reason,\n schema: this.schema,\n };\n }\n}\n"],"mappings":"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","names":["prompt"]}
|
package/dist/index.mjs
CHANGED
@@ -93,10 +93,12 @@ var InvalidArgumentError = class extends Error {
|
|
93
93
|
var InvalidDataContentError = class extends Error {
|
94
94
|
constructor({
|
95
95
|
content,
|
96
|
-
|
96
|
+
cause,
|
97
|
+
message = `Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`
|
97
98
|
}) {
|
98
99
|
super(message);
|
99
100
|
this.name = "AI_InvalidDataContentError";
|
101
|
+
this.cause = cause;
|
100
102
|
this.content = content;
|
101
103
|
}
|
102
104
|
static isInvalidDataContentError(error) {
|
@@ -107,6 +109,7 @@ var InvalidDataContentError = class extends Error {
|
|
107
109
|
name: this.name,
|
108
110
|
message: this.message,
|
109
111
|
stack: this.stack,
|
112
|
+
cause: this.cause,
|
110
113
|
content: this.content
|
111
114
|
};
|
112
115
|
}
|
@@ -314,6 +317,34 @@ var RetryError = class extends Error {
|
|
314
317
|
}
|
315
318
|
};
|
316
319
|
|
320
|
+
// src/errors/too-many-embedding-values-for-call-error.ts
|
321
|
+
var TooManyEmbeddingValuesForCallError = class extends Error {
|
322
|
+
constructor(options) {
|
323
|
+
super(
|
324
|
+
`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.`
|
325
|
+
);
|
326
|
+
this.name = "AI_TooManyEmbeddingValuesForCallError";
|
327
|
+
this.provider = options.provider;
|
328
|
+
this.modelId = options.modelId;
|
329
|
+
this.maxEmbeddingsPerCall = options.maxEmbeddingsPerCall;
|
330
|
+
this.values = options.values;
|
331
|
+
}
|
332
|
+
static isInvalidPromptError(error) {
|
333
|
+
return error instanceof Error && error.name === "AI_TooManyEmbeddingValuesForCallError" && "provider" in error && typeof error.provider === "string" && "modelId" in error && typeof error.modelId === "string" && "maxEmbeddingsPerCall" in error && typeof error.maxEmbeddingsPerCall === "number" && "values" in error && Array.isArray(error.values);
|
334
|
+
}
|
335
|
+
toJSON() {
|
336
|
+
return {
|
337
|
+
name: this.name,
|
338
|
+
message: this.message,
|
339
|
+
stack: this.stack,
|
340
|
+
provider: this.provider,
|
341
|
+
modelId: this.modelId,
|
342
|
+
maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,
|
343
|
+
values: this.values
|
344
|
+
};
|
345
|
+
}
|
346
|
+
};
|
347
|
+
|
317
348
|
// src/errors/tool-call-parse-error.ts
|
318
349
|
var ToolCallParseError = class extends Error {
|
319
350
|
constructor({
|
@@ -426,6 +457,7 @@ export {
|
|
426
457
|
NoObjectGeneratedError,
|
427
458
|
NoSuchToolError,
|
428
459
|
RetryError,
|
460
|
+
TooManyEmbeddingValuesForCallError,
|
429
461
|
ToolCallParseError,
|
430
462
|
TypeValidationError,
|
431
463
|
UnsupportedFunctionalityError,
|
package/dist/index.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/errors/api-call-error.ts","../src/errors/empty-response-body-error.ts","../src/errors/invalid-argument-error.ts","../src/errors/invalid-data-content-error.ts","../src/errors/invalid-prompt-error.ts","../src/errors/invalid-response-data-error.ts","../src/errors/get-error-message.ts","../src/errors/invalid-tool-arguments-error.ts","../src/errors/json-parse-error.ts","../src/errors/load-api-key-error.ts","../src/errors/no-object-generated-error.ts","../src/errors/no-such-tool-error.ts","../src/errors/retry-error.ts","../src/errors/tool-call-parse-error.ts","../src/errors/type-validation-error.ts","../src/errors/unsupported-functionality-error.ts","../src/errors/unsupported-json-schema-error.ts"],"sourcesContent":["export class APICallError extends Error {\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 cause?: unknown;\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(message);\n\n this.name = 'AI_APICallError';\n\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.cause = cause;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n\n static isAPICallError(error: unknown): error is APICallError {\n return (\n error instanceof Error &&\n error.name === 'AI_APICallError' &&\n typeof (error as APICallError).url === 'string' &&\n typeof (error as APICallError).requestBodyValues === 'object' &&\n ((error as APICallError).statusCode == null ||\n typeof (error as APICallError).statusCode === 'number') &&\n ((error as APICallError).responseHeaders == null ||\n typeof (error as APICallError).responseHeaders === 'object') &&\n ((error as APICallError).responseBody == null ||\n typeof (error as APICallError).responseBody === 'string') &&\n ((error as APICallError).cause == null ||\n typeof (error as APICallError).cause === 'object') &&\n typeof (error as APICallError).isRetryable === 'boolean' &&\n ((error as APICallError).data == null ||\n typeof (error as APICallError).data === 'object')\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n url: this.url,\n requestBodyValues: this.requestBodyValues,\n statusCode: this.statusCode,\n responseHeaders: this.responseHeaders,\n responseBody: this.responseBody,\n cause: this.cause,\n isRetryable: this.isRetryable,\n data: this.data,\n };\n }\n}\n","export class EmptyResponseBodyError extends Error {\n constructor({ message = 'Empty response body' }: { message?: string } = {}) {\n super(message);\n\n this.name = 'AI_EmptyResponseBodyError';\n }\n\n static isEmptyResponseBodyError(\n error: unknown,\n ): error is EmptyResponseBodyError {\n return error instanceof Error && error.name === 'AI_EmptyResponseBodyError';\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n };\n }\n}\n","export class InvalidArgumentError extends Error {\n readonly parameter: string;\n readonly value: unknown;\n\n constructor({\n parameter,\n value,\n message,\n }: {\n parameter: string;\n value: unknown;\n message: string;\n }) {\n super(`Invalid argument for parameter ${parameter}: ${message}`);\n\n this.name = 'AI_InvalidArgumentError';\n\n this.parameter = parameter;\n this.value = value;\n }\n\n static isInvalidArgumentError(error: unknown): error is InvalidArgumentError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidArgumentError' &&\n typeof (error as InvalidArgumentError).parameter === 'string' &&\n typeof (error as InvalidArgumentError).value === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n parameter: this.parameter,\n value: this.value,\n };\n }\n}\n","export class InvalidDataContentError extends Error {\n readonly content: unknown;\n\n constructor({\n content,\n message = `Invalid data content. Expected a string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`,\n }: {\n content: unknown;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_InvalidDataContentError';\n\n this.content = content;\n }\n\n static isInvalidDataContentError(\n error: unknown,\n ): error is InvalidDataContentError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidDataContentError' &&\n (error as InvalidDataContentError).content != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n content: this.content,\n };\n }\n}\n","export class InvalidPromptError extends Error {\n readonly prompt: unknown;\n\n constructor({ prompt, message }: { prompt: unknown; message: string }) {\n super(`Invalid prompt: ${message}`);\n\n this.name = 'AI_InvalidPromptError';\n\n this.prompt = prompt;\n }\n\n static isInvalidPromptError(error: unknown): error is InvalidPromptError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidPromptError' &&\n prompt != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n prompt: this.prompt,\n };\n }\n}\n","/**\nServer returned a response with invalid data content. This should be thrown by providers when they\ncannot parse the response from the API.\n */\nexport class InvalidResponseDataError extends Error {\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(message);\n\n this.name = 'AI_InvalidResponseDataError';\n\n this.data = data;\n }\n\n static isInvalidResponseDataError(\n error: unknown,\n ): error is InvalidResponseDataError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidResponseDataError' &&\n (error as InvalidResponseDataError).data != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n data: this.data,\n };\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.message;\n }\n\n return JSON.stringify(error);\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class InvalidToolArgumentsError extends Error {\n readonly toolName: string;\n readonly toolArgs: string;\n readonly cause: unknown;\n\n constructor({\n toolArgs,\n toolName,\n cause,\n message = `Invalid arguments for tool ${toolName}: ${getErrorMessage(\n cause,\n )}`,\n }: {\n message?: string;\n toolArgs: string;\n toolName: string;\n cause: unknown;\n }) {\n super(message);\n\n this.name = 'AI_InvalidToolArgumentsError';\n\n this.toolArgs = toolArgs;\n this.toolName = toolName;\n this.cause = cause;\n }\n\n static isInvalidToolArgumentsError(\n error: unknown,\n ): error is InvalidToolArgumentsError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidToolArgumentsError' &&\n typeof (error as InvalidToolArgumentsError).toolName === 'string' &&\n typeof (error as InvalidToolArgumentsError).toolArgs === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n toolName: this.toolName,\n toolArgs: this.toolArgs,\n };\n }\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class JSONParseError extends Error {\n // note: property order determines debugging output\n readonly text: string;\n readonly cause: unknown;\n\n constructor({ text, cause }: { text: string; cause: unknown }) {\n super(\n `JSON parsing failed: ` +\n `Text: ${text}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n );\n\n this.name = 'AI_JSONParseError';\n\n this.cause = cause;\n this.text = text;\n }\n\n static isJSONParseError(error: unknown): error is JSONParseError {\n return (\n error instanceof Error &&\n error.name === 'AI_JSONParseError' &&\n typeof (error as JSONParseError).text === 'string' &&\n typeof (error as JSONParseError).cause === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n valueText: this.text,\n };\n }\n}\n","export class LoadAPIKeyError extends Error {\n constructor({ message }: { message: string }) {\n super(message);\n\n this.name = 'AI_LoadAPIKeyError';\n }\n\n static isLoadAPIKeyError(error: unknown): error is LoadAPIKeyError {\n return error instanceof Error && error.name === 'AI_LoadAPIKeyError';\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n };\n }\n}\n","export class NoObjectGeneratedError extends Error {\n readonly cause: unknown;\n\n constructor() {\n super(`No object generated.`);\n\n this.name = 'AI_NoObjectGeneratedError';\n }\n\n static isNoTextGeneratedError(\n error: unknown,\n ): error is NoObjectGeneratedError {\n return error instanceof Error && error.name === 'AI_NoObjectGeneratedError';\n }\n\n toJSON() {\n return {\n name: this.name,\n cause: this.cause,\n message: this.message,\n stack: this.stack,\n };\n }\n}\n","export class NoSuchToolError extends Error {\n readonly toolName: string;\n readonly availableTools: string[] | undefined;\n\n constructor({\n toolName,\n availableTools = undefined,\n message = `Model tried to call unavailable tool '${toolName}'. ${\n availableTools === undefined\n ? 'No tools are available.'\n : `Available tools: ${availableTools.join(', ')}.`\n }`,\n }: {\n toolName: string;\n availableTools?: string[] | undefined;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_NoSuchToolError';\n\n this.toolName = toolName;\n this.availableTools = availableTools;\n }\n\n static isNoSuchToolError(error: unknown): error is NoSuchToolError {\n return (\n error instanceof Error &&\n error.name === 'AI_NoSuchToolError' &&\n 'toolName' in error &&\n error.toolName != undefined &&\n typeof error.name === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n toolName: this.toolName,\n availableTools: this.availableTools,\n };\n }\n}\n","export type RetryErrorReason =\n | 'maxRetriesExceeded'\n | 'errorNotRetryable'\n | 'abort';\n\nexport class RetryError extends Error {\n // note: property order determines debugging output\n readonly reason: RetryErrorReason;\n readonly lastError: unknown;\n readonly errors: Array<unknown>;\n\n constructor({\n message,\n reason,\n errors,\n }: {\n message: string;\n reason: RetryErrorReason;\n errors: Array<unknown>;\n }) {\n super(message);\n\n this.name = 'AI_RetryError';\n this.reason = reason;\n this.errors = errors;\n\n // separate our last error to make debugging via log easier:\n this.lastError = errors[errors.length - 1];\n }\n\n static isRetryError(error: unknown): error is RetryError {\n return (\n error instanceof Error &&\n error.name === 'AI_RetryError' &&\n typeof (error as RetryError).reason === 'string' &&\n Array.isArray((error as RetryError).errors)\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n reason: this.reason,\n lastError: this.lastError,\n errors: this.errors,\n };\n }\n}\n","import { LanguageModelV1FunctionTool } from '../language-model/v1/language-model-v1-function-tool';\nimport { getErrorMessage } from './get-error-message';\n\nexport class ToolCallParseError extends Error {\n readonly cause: unknown;\n readonly text: string;\n readonly tools: LanguageModelV1FunctionTool[];\n\n constructor({\n cause,\n text,\n tools,\n message = `Failed to parse tool calls: ${getErrorMessage(cause)}`,\n }: {\n cause: unknown;\n text: string;\n tools: LanguageModelV1FunctionTool[];\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_ToolCallParseError';\n\n this.cause = cause;\n this.text = text;\n this.tools = tools;\n }\n\n static isToolCallParseError(error: unknown): error is ToolCallParseError {\n return (\n error instanceof Error &&\n error.name === 'AI_ToolCallParseError' &&\n 'cause' in error &&\n error.cause != undefined &&\n 'text' in error &&\n error.text != undefined &&\n typeof error.text === 'string' &&\n 'tools' in error &&\n error.tools != undefined\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n cause: this.cause,\n text: this.text,\n tools: this.tools,\n };\n }\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class TypeValidationError extends Error {\n readonly value: unknown;\n readonly cause: unknown;\n\n constructor({ value, cause }: { value: unknown; cause: unknown }) {\n super(\n `Type validation failed: ` +\n `Value: ${JSON.stringify(value)}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n );\n\n this.name = 'AI_TypeValidationError';\n\n this.cause = cause;\n this.value = value;\n }\n\n static isTypeValidationError(error: unknown): error is TypeValidationError {\n return (\n error instanceof Error &&\n error.name === 'AI_TypeValidationError' &&\n typeof (error as TypeValidationError).value === 'string' &&\n typeof (error as TypeValidationError).cause === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n value: this.value,\n };\n }\n}\n","export class UnsupportedFunctionalityError extends Error {\n readonly functionality: string;\n\n constructor({ functionality }: { functionality: string }) {\n super(`'${functionality}' functionality not supported.`);\n\n this.name = 'AI_UnsupportedFunctionalityError';\n\n this.functionality = functionality;\n }\n\n static isUnsupportedFunctionalityError(\n error: unknown,\n ): error is UnsupportedFunctionalityError {\n return (\n error instanceof Error &&\n error.name === 'AI_UnsupportedFunctionalityError' &&\n typeof (error as UnsupportedFunctionalityError).functionality === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n functionality: this.functionality,\n };\n }\n}\n","export class UnsupportedJSONSchemaError extends Error {\n readonly reason: string;\n readonly schema: unknown;\n\n constructor({\n schema,\n reason,\n message = `Unsupported JSON schema: ${reason}`,\n }: {\n schema: unknown;\n reason: string;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_UnsupportedJSONSchemaError';\n\n this.reason = reason;\n this.schema = schema;\n }\n\n static isUnsupportedJSONSchemaError(\n error: unknown,\n ): error is UnsupportedJSONSchemaError {\n return (\n error instanceof Error &&\n error.name === 'AI_UnsupportedJSONSchemaError' &&\n 'reason' in error &&\n error.reason != undefined &&\n 'schema' in error &&\n error.schema !== undefined\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n reason: this.reason,\n schema: this.schema,\n };\n }\n}\n"],"mappings":"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","names":["prompt"]}
|
1
|
+
{"version":3,"sources":["../src/errors/api-call-error.ts","../src/errors/empty-response-body-error.ts","../src/errors/invalid-argument-error.ts","../src/errors/invalid-data-content-error.ts","../src/errors/invalid-prompt-error.ts","../src/errors/invalid-response-data-error.ts","../src/errors/get-error-message.ts","../src/errors/invalid-tool-arguments-error.ts","../src/errors/json-parse-error.ts","../src/errors/load-api-key-error.ts","../src/errors/no-object-generated-error.ts","../src/errors/no-such-tool-error.ts","../src/errors/retry-error.ts","../src/errors/too-many-embedding-values-for-call-error.ts","../src/errors/tool-call-parse-error.ts","../src/errors/type-validation-error.ts","../src/errors/unsupported-functionality-error.ts","../src/errors/unsupported-json-schema-error.ts"],"sourcesContent":["export class APICallError extends Error {\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 cause?: unknown;\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(message);\n\n this.name = 'AI_APICallError';\n\n this.url = url;\n this.requestBodyValues = requestBodyValues;\n this.statusCode = statusCode;\n this.responseHeaders = responseHeaders;\n this.responseBody = responseBody;\n this.cause = cause;\n this.isRetryable = isRetryable;\n this.data = data;\n }\n\n static isAPICallError(error: unknown): error is APICallError {\n return (\n error instanceof Error &&\n error.name === 'AI_APICallError' &&\n typeof (error as APICallError).url === 'string' &&\n typeof (error as APICallError).requestBodyValues === 'object' &&\n ((error as APICallError).statusCode == null ||\n typeof (error as APICallError).statusCode === 'number') &&\n ((error as APICallError).responseHeaders == null ||\n typeof (error as APICallError).responseHeaders === 'object') &&\n ((error as APICallError).responseBody == null ||\n typeof (error as APICallError).responseBody === 'string') &&\n ((error as APICallError).cause == null ||\n typeof (error as APICallError).cause === 'object') &&\n typeof (error as APICallError).isRetryable === 'boolean' &&\n ((error as APICallError).data == null ||\n typeof (error as APICallError).data === 'object')\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n url: this.url,\n requestBodyValues: this.requestBodyValues,\n statusCode: this.statusCode,\n responseHeaders: this.responseHeaders,\n responseBody: this.responseBody,\n cause: this.cause,\n isRetryable: this.isRetryable,\n data: this.data,\n };\n }\n}\n","export class EmptyResponseBodyError extends Error {\n constructor({ message = 'Empty response body' }: { message?: string } = {}) {\n super(message);\n\n this.name = 'AI_EmptyResponseBodyError';\n }\n\n static isEmptyResponseBodyError(\n error: unknown,\n ): error is EmptyResponseBodyError {\n return error instanceof Error && error.name === 'AI_EmptyResponseBodyError';\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n };\n }\n}\n","export class InvalidArgumentError extends Error {\n readonly parameter: string;\n readonly value: unknown;\n\n constructor({\n parameter,\n value,\n message,\n }: {\n parameter: string;\n value: unknown;\n message: string;\n }) {\n super(`Invalid argument for parameter ${parameter}: ${message}`);\n\n this.name = 'AI_InvalidArgumentError';\n\n this.parameter = parameter;\n this.value = value;\n }\n\n static isInvalidArgumentError(error: unknown): error is InvalidArgumentError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidArgumentError' &&\n typeof (error as InvalidArgumentError).parameter === 'string' &&\n typeof (error as InvalidArgumentError).value === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n parameter: this.parameter,\n value: this.value,\n };\n }\n}\n","export class InvalidDataContentError extends Error {\n readonly content: unknown;\n readonly cause?: unknown;\n\n constructor({\n content,\n cause,\n message = `Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof content}.`,\n }: {\n content: unknown;\n cause?: unknown;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_InvalidDataContentError';\n\n this.cause = cause;\n this.content = content;\n }\n\n static isInvalidDataContentError(\n error: unknown,\n ): error is InvalidDataContentError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidDataContentError' &&\n (error as InvalidDataContentError).content != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n cause: this.cause,\n content: this.content,\n };\n }\n}\n","export class InvalidPromptError extends Error {\n readonly prompt: unknown;\n\n constructor({ prompt, message }: { prompt: unknown; message: string }) {\n super(`Invalid prompt: ${message}`);\n\n this.name = 'AI_InvalidPromptError';\n\n this.prompt = prompt;\n }\n\n static isInvalidPromptError(error: unknown): error is InvalidPromptError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidPromptError' &&\n prompt != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n prompt: this.prompt,\n };\n }\n}\n","/**\nServer returned a response with invalid data content. This should be thrown by providers when they\ncannot parse the response from the API.\n */\nexport class InvalidResponseDataError extends Error {\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(message);\n\n this.name = 'AI_InvalidResponseDataError';\n\n this.data = data;\n }\n\n static isInvalidResponseDataError(\n error: unknown,\n ): error is InvalidResponseDataError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidResponseDataError' &&\n (error as InvalidResponseDataError).data != null\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n data: this.data,\n };\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.message;\n }\n\n return JSON.stringify(error);\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class InvalidToolArgumentsError extends Error {\n readonly toolName: string;\n readonly toolArgs: string;\n readonly cause: unknown;\n\n constructor({\n toolArgs,\n toolName,\n cause,\n message = `Invalid arguments for tool ${toolName}: ${getErrorMessage(\n cause,\n )}`,\n }: {\n message?: string;\n toolArgs: string;\n toolName: string;\n cause: unknown;\n }) {\n super(message);\n\n this.name = 'AI_InvalidToolArgumentsError';\n\n this.toolArgs = toolArgs;\n this.toolName = toolName;\n this.cause = cause;\n }\n\n static isInvalidToolArgumentsError(\n error: unknown,\n ): error is InvalidToolArgumentsError {\n return (\n error instanceof Error &&\n error.name === 'AI_InvalidToolArgumentsError' &&\n typeof (error as InvalidToolArgumentsError).toolName === 'string' &&\n typeof (error as InvalidToolArgumentsError).toolArgs === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n toolName: this.toolName,\n toolArgs: this.toolArgs,\n };\n }\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class JSONParseError extends Error {\n // note: property order determines debugging output\n readonly text: string;\n readonly cause: unknown;\n\n constructor({ text, cause }: { text: string; cause: unknown }) {\n super(\n `JSON parsing failed: ` +\n `Text: ${text}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n );\n\n this.name = 'AI_JSONParseError';\n\n this.cause = cause;\n this.text = text;\n }\n\n static isJSONParseError(error: unknown): error is JSONParseError {\n return (\n error instanceof Error &&\n error.name === 'AI_JSONParseError' &&\n typeof (error as JSONParseError).text === 'string' &&\n typeof (error as JSONParseError).cause === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n valueText: this.text,\n };\n }\n}\n","export class LoadAPIKeyError extends Error {\n constructor({ message }: { message: string }) {\n super(message);\n\n this.name = 'AI_LoadAPIKeyError';\n }\n\n static isLoadAPIKeyError(error: unknown): error is LoadAPIKeyError {\n return error instanceof Error && error.name === 'AI_LoadAPIKeyError';\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n };\n }\n}\n","export class NoObjectGeneratedError extends Error {\n readonly cause: unknown;\n\n constructor() {\n super(`No object generated.`);\n\n this.name = 'AI_NoObjectGeneratedError';\n }\n\n static isNoTextGeneratedError(\n error: unknown,\n ): error is NoObjectGeneratedError {\n return error instanceof Error && error.name === 'AI_NoObjectGeneratedError';\n }\n\n toJSON() {\n return {\n name: this.name,\n cause: this.cause,\n message: this.message,\n stack: this.stack,\n };\n }\n}\n","export class NoSuchToolError extends Error {\n readonly toolName: string;\n readonly availableTools: string[] | undefined;\n\n constructor({\n toolName,\n availableTools = undefined,\n message = `Model tried to call unavailable tool '${toolName}'. ${\n availableTools === undefined\n ? 'No tools are available.'\n : `Available tools: ${availableTools.join(', ')}.`\n }`,\n }: {\n toolName: string;\n availableTools?: string[] | undefined;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_NoSuchToolError';\n\n this.toolName = toolName;\n this.availableTools = availableTools;\n }\n\n static isNoSuchToolError(error: unknown): error is NoSuchToolError {\n return (\n error instanceof Error &&\n error.name === 'AI_NoSuchToolError' &&\n 'toolName' in error &&\n error.toolName != undefined &&\n typeof error.name === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n toolName: this.toolName,\n availableTools: this.availableTools,\n };\n }\n}\n","export type RetryErrorReason =\n | 'maxRetriesExceeded'\n | 'errorNotRetryable'\n | 'abort';\n\nexport class RetryError extends Error {\n // note: property order determines debugging output\n readonly reason: RetryErrorReason;\n readonly lastError: unknown;\n readonly errors: Array<unknown>;\n\n constructor({\n message,\n reason,\n errors,\n }: {\n message: string;\n reason: RetryErrorReason;\n errors: Array<unknown>;\n }) {\n super(message);\n\n this.name = 'AI_RetryError';\n this.reason = reason;\n this.errors = errors;\n\n // separate our last error to make debugging via log easier:\n this.lastError = errors[errors.length - 1];\n }\n\n static isRetryError(error: unknown): error is RetryError {\n return (\n error instanceof Error &&\n error.name === 'AI_RetryError' &&\n typeof (error as RetryError).reason === 'string' &&\n Array.isArray((error as RetryError).errors)\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n reason: this.reason,\n lastError: this.lastError,\n errors: this.errors,\n };\n }\n}\n","export class TooManyEmbeddingValuesForCallError extends Error {\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 `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.name = 'AI_TooManyEmbeddingValuesForCallError';\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 isInvalidPromptError(\n error: unknown,\n ): error is TooManyEmbeddingValuesForCallError {\n return (\n error instanceof Error &&\n error.name === 'AI_TooManyEmbeddingValuesForCallError' &&\n 'provider' in error &&\n typeof error.provider === 'string' &&\n 'modelId' in error &&\n typeof error.modelId === 'string' &&\n 'maxEmbeddingsPerCall' in error &&\n typeof error.maxEmbeddingsPerCall === 'number' &&\n 'values' in error &&\n Array.isArray(error.values)\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n provider: this.provider,\n modelId: this.modelId,\n maxEmbeddingsPerCall: this.maxEmbeddingsPerCall,\n values: this.values,\n };\n }\n}\n","import { LanguageModelV1FunctionTool } from '../language-model/v1/language-model-v1-function-tool';\nimport { getErrorMessage } from './get-error-message';\n\nexport class ToolCallParseError extends Error {\n readonly cause: unknown;\n readonly text: string;\n readonly tools: LanguageModelV1FunctionTool[];\n\n constructor({\n cause,\n text,\n tools,\n message = `Failed to parse tool calls: ${getErrorMessage(cause)}`,\n }: {\n cause: unknown;\n text: string;\n tools: LanguageModelV1FunctionTool[];\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_ToolCallParseError';\n\n this.cause = cause;\n this.text = text;\n this.tools = tools;\n }\n\n static isToolCallParseError(error: unknown): error is ToolCallParseError {\n return (\n error instanceof Error &&\n error.name === 'AI_ToolCallParseError' &&\n 'cause' in error &&\n error.cause != undefined &&\n 'text' in error &&\n error.text != undefined &&\n typeof error.text === 'string' &&\n 'tools' in error &&\n error.tools != undefined\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n cause: this.cause,\n text: this.text,\n tools: this.tools,\n };\n }\n}\n","import { getErrorMessage } from './get-error-message';\n\nexport class TypeValidationError extends Error {\n readonly value: unknown;\n readonly cause: unknown;\n\n constructor({ value, cause }: { value: unknown; cause: unknown }) {\n super(\n `Type validation failed: ` +\n `Value: ${JSON.stringify(value)}.\\n` +\n `Error message: ${getErrorMessage(cause)}`,\n );\n\n this.name = 'AI_TypeValidationError';\n\n this.cause = cause;\n this.value = value;\n }\n\n static isTypeValidationError(error: unknown): error is TypeValidationError {\n return (\n error instanceof Error &&\n error.name === 'AI_TypeValidationError' &&\n typeof (error as TypeValidationError).value === 'string' &&\n typeof (error as TypeValidationError).cause === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n cause: this.cause,\n stack: this.stack,\n\n value: this.value,\n };\n }\n}\n","export class UnsupportedFunctionalityError extends Error {\n readonly functionality: string;\n\n constructor({ functionality }: { functionality: string }) {\n super(`'${functionality}' functionality not supported.`);\n\n this.name = 'AI_UnsupportedFunctionalityError';\n\n this.functionality = functionality;\n }\n\n static isUnsupportedFunctionalityError(\n error: unknown,\n ): error is UnsupportedFunctionalityError {\n return (\n error instanceof Error &&\n error.name === 'AI_UnsupportedFunctionalityError' &&\n typeof (error as UnsupportedFunctionalityError).functionality === 'string'\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n functionality: this.functionality,\n };\n }\n}\n","export class UnsupportedJSONSchemaError extends Error {\n readonly reason: string;\n readonly schema: unknown;\n\n constructor({\n schema,\n reason,\n message = `Unsupported JSON schema: ${reason}`,\n }: {\n schema: unknown;\n reason: string;\n message?: string;\n }) {\n super(message);\n\n this.name = 'AI_UnsupportedJSONSchemaError';\n\n this.reason = reason;\n this.schema = schema;\n }\n\n static isUnsupportedJSONSchemaError(\n error: unknown,\n ): error is UnsupportedJSONSchemaError {\n return (\n error instanceof Error &&\n error.name === 'AI_UnsupportedJSONSchemaError' &&\n 'reason' in error &&\n error.reason != undefined &&\n 'schema' in error &&\n error.schema !== undefined\n );\n }\n\n toJSON() {\n return {\n name: this.name,\n message: this.message,\n stack: this.stack,\n\n reason: this.reason,\n schema: this.schema,\n };\n }\n}\n"],"mappings":";AAAO,IAAM,eAAN,cAA2B,MAAM;AAAA,EAYtC,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc,cAAc,SACzB,eAAe;AAAA,IACd,eAAe;AAAA,IACf,eAAe;AAAA,IACf,cAAc;AAAA;AAAA,IAClB;AAAA,EACF,GAUG;AACD,UAAM,OAAO;AAEb,SAAK,OAAO;AAEZ,SAAK,MAAM;AACX,SAAK,oBAAoB;AACzB,SAAK,aAAa;AAClB,SAAK,kBAAkB;AACvB,SAAK,eAAe;AACpB,SAAK,QAAQ;AACb,SAAK,cAAc;AACnB,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,OAAO,eAAe,OAAuC;AAC3D,WACE,iBAAiB,SACjB,MAAM,SAAS,qBACf,OAAQ,MAAuB,QAAQ,YACvC,OAAQ,MAAuB,sBAAsB,aACnD,MAAuB,cAAc,QACrC,OAAQ,MAAuB,eAAe,cAC9C,MAAuB,mBAAmB,QAC1C,OAAQ,MAAuB,oBAAoB,cACnD,MAAuB,gBAAgB,QACvC,OAAQ,MAAuB,iBAAiB,cAChD,MAAuB,SAAS,QAChC,OAAQ,MAAuB,UAAU,aAC3C,OAAQ,MAAuB,gBAAgB,cAC7C,MAAuB,QAAQ,QAC/B,OAAQ,MAAuB,SAAS;AAAA,EAE9C;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,KAAK,KAAK;AAAA,MACV,mBAAmB,KAAK;AAAA,MACxB,YAAY,KAAK;AAAA,MACjB,iBAAiB,KAAK;AAAA,MACtB,cAAc,KAAK;AAAA,MACnB,OAAO,KAAK;AAAA,MACZ,aAAa,KAAK;AAAA,MAClB,MAAM,KAAK;AAAA,IACb;AAAA,EACF;AACF;;;ACrFO,IAAM,yBAAN,cAAqC,MAAM;AAAA,EAChD,YAAY,EAAE,UAAU,sBAAsB,IAA0B,CAAC,GAAG;AAC1E,UAAM,OAAO;AAEb,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,OAAO,yBACL,OACiC;AACjC,WAAO,iBAAiB,SAAS,MAAM,SAAS;AAAA,EAClD;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AACF;;;ACpBO,IAAM,uBAAN,cAAmC,MAAM;AAAA,EAI9C,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIG;AACD,UAAM,kCAAkC,SAAS,KAAK,OAAO,EAAE;AAE/D,SAAK,OAAO;AAEZ,SAAK,YAAY;AACjB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,OAAO,uBAAuB,OAA+C;AAC3E,WACE,iBAAiB,SACjB,MAAM,SAAS,6BACf,OAAQ,MAA+B,cAAc,YACrD,OAAQ,MAA+B,UAAU;AAAA,EAErD;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MAEZ,WAAW,KAAK;AAAA,MAChB,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AACF;;;ACxCO,IAAM,0BAAN,cAAsC,MAAM;AAAA,EAIjD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,UAAU,+FAA+F,OAAO,OAAO;AAAA,EACzH,GAIG;AACD,UAAM,OAAO;AAEb,SAAK,OAAO;AAEZ,SAAK,QAAQ;AACb,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,OAAO,0BACL,OACkC;AAClC,WACE,iBAAiB,SACjB,MAAM,SAAS,gCACd,MAAkC,WAAW;AAAA,EAElD;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MACZ,SAAS,KAAK;AAAA,IAChB;AAAA,EACF;AACF;;;ACxCO,IAAM,qBAAN,cAAiC,MAAM;AAAA,EAG5C,YAAY,EAAE,QAAAA,SAAQ,QAAQ,GAAyC;AACrE,UAAM,mBAAmB,OAAO,EAAE;AAElC,SAAK,OAAO;AAEZ,SAAK,SAASA;AAAA,EAChB;AAAA,EAEA,OAAO,qBAAqB,OAA6C;AACvE,WACE,iBAAiB,SACjB,MAAM,SAAS,2BACf,UAAU;AAAA,EAEd;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MAEZ,QAAQ,KAAK;AAAA,IACf;AAAA,EACF;AACF;;;ACxBO,IAAM,2BAAN,cAAuC,MAAM;AAAA,EAGlD,YAAY;AAAA,IACV;AAAA,IACA,UAAU,0BAA0B,KAAK,UAAU,IAAI,CAAC;AAAA,EAC1D,GAGG;AACD,UAAM,OAAO;AAEb,SAAK,OAAO;AAEZ,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,OAAO,2BACL,OACmC;AACnC,WACE,iBAAiB,SACjB,MAAM,SAAS,iCACd,MAAmC,QAAQ;AAAA,EAEhD;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MAEZ,MAAM,KAAK;AAAA,IACb;AAAA,EACF;AACF;;;ACxCO,SAAS,gBAAgB,OAA4B;AAC1D,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACT;AAEA,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AAEA,MAAI,iBAAiB,OAAO;AAC1B,WAAO,MAAM;AAAA,EACf;AAEA,SAAO,KAAK,UAAU,KAAK;AAC7B;;;ACZO,IAAM,4BAAN,cAAwC,MAAM;AAAA,EAKnD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,8BAA8B,QAAQ,KAAK;AAAA,MACnD;AAAA,IACF,CAAC;AAAA,EACH,GAKG;AACD,UAAM,OAAO;AAEb,SAAK,OAAO;AAEZ,SAAK,WAAW;AAChB,SAAK,WAAW;AAChB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,OAAO,4BACL,OACoC;AACpC,WACE,iBAAiB,SACjB,MAAM,SAAS,kCACf,OAAQ,MAAoC,aAAa,YACzD,OAAQ,MAAoC,aAAa;AAAA,EAE7D;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MAEZ,UAAU,KAAK;AAAA,MACf,UAAU,KAAK;AAAA,IACjB;AAAA,EACF;AACF;;;ACjDO,IAAM,iBAAN,cAA6B,MAAM;AAAA,EAKxC,YAAY,EAAE,MAAM,MAAM,GAAqC;AAC7D;AAAA,MACE,8BACW,IAAI;AAAA,iBACK,gBAAgB,KAAK,CAAC;AAAA,IAC5C;AAEA,SAAK,OAAO;AAEZ,SAAK,QAAQ;AACb,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,OAAO,iBAAiB,OAAyC;AAC/D,WACE,iBAAiB,SACjB,MAAM,SAAS,uBACf,OAAQ,MAAyB,SAAS,YAC1C,OAAQ,MAAyB,UAAU;AAAA,EAE/C;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MAEZ,WAAW,KAAK;AAAA,IAClB;AAAA,EACF;AACF;;;ACvCO,IAAM,kBAAN,cAA8B,MAAM;AAAA,EACzC,YAAY,EAAE,QAAQ,GAAwB;AAC5C,UAAM,OAAO;AAEb,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,OAAO,kBAAkB,OAA0C;AACjE,WAAO,iBAAiB,SAAS,MAAM,SAAS;AAAA,EAClD;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,IAChB;AAAA,EACF;AACF;;;ACjBO,IAAM,yBAAN,cAAqC,MAAM;AAAA,EAGhD,cAAc;AACZ,UAAM,sBAAsB;AAE5B,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,OAAO,uBACL,OACiC;AACjC,WAAO,iBAAiB,SAAS,MAAM,SAAS;AAAA,EAClD;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,MACZ,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AACF;;;ACvBO,IAAM,kBAAN,cAA8B,MAAM;AAAA,EAIzC,YAAY;AAAA,IACV;AAAA,IACA,iBAAiB;AAAA,IACjB,UAAU,yCAAyC,QAAQ,MACzD,mBAAmB,SACf,4BACA,oBAAoB,eAAe,KAAK,IAAI,CAAC,GACnD;AAAA,EACF,GAIG;AACD,UAAM,OAAO;AAEb,SAAK,OAAO;AAEZ,SAAK,WAAW;AAChB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EAEA,OAAO,kBAAkB,OAA0C;AACjE,WACE,iBAAiB,SACjB,MAAM,SAAS,wBACf,cAAc,SACd,MAAM,YAAY,UAClB,OAAO,MAAM,SAAS;AAAA,EAE1B;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MAEZ,UAAU,KAAK;AAAA,MACf,gBAAgB,KAAK;AAAA,IACvB;AAAA,EACF;AACF;;;ACxCO,IAAM,aAAN,cAAyB,MAAM;AAAA,EAMpC,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAIG;AACD,UAAM,OAAO;AAEb,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,SAAK,SAAS;AAGd,SAAK,YAAY,OAAO,OAAO,SAAS,CAAC;AAAA,EAC3C;AAAA,EAEA,OAAO,aAAa,OAAqC;AACvD,WACE,iBAAiB,SACjB,MAAM,SAAS,mBACf,OAAQ,MAAqB,WAAW,YACxC,MAAM,QAAS,MAAqB,MAAM;AAAA,EAE9C;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,QAAQ,KAAK;AAAA,MACb,WAAW,KAAK;AAAA,MAChB,QAAQ,KAAK;AAAA,IACf;AAAA,EACF;AACF;;;AChDO,IAAM,qCAAN,cAAiD,MAAM;AAAA,EAM5D,YAAY,SAKT;AACD;AAAA,MACE,oDACS,QAAQ,QAAQ,WAAW,QAAQ,OAAO,0BAC9C,QAAQ,oBAAoB,yBAAyB,QAAQ,OAAO,MAAM;AAAA,IACjF;AAEA,SAAK,OAAO;AAEZ,SAAK,WAAW,QAAQ;AACxB,SAAK,UAAU,QAAQ;AACvB,SAAK,uBAAuB,QAAQ;AACpC,SAAK,SAAS,QAAQ;AAAA,EACxB;AAAA,EAEA,OAAO,qBACL,OAC6C;AAC7C,WACE,iBAAiB,SACjB,MAAM,SAAS,2CACf,cAAc,SACd,OAAO,MAAM,aAAa,YAC1B,aAAa,SACb,OAAO,MAAM,YAAY,YACzB,0BAA0B,SAC1B,OAAO,MAAM,yBAAyB,YACtC,YAAY,SACZ,MAAM,QAAQ,MAAM,MAAM;AAAA,EAE9B;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MAEZ,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,MACd,sBAAsB,KAAK;AAAA,MAC3B,QAAQ,KAAK;AAAA,IACf;AAAA,EACF;AACF;;;ACpDO,IAAM,qBAAN,cAAiC,MAAM;AAAA,EAK5C,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU,+BAA+B,gBAAgB,KAAK,CAAC;AAAA,EACjE,GAKG;AACD,UAAM,OAAO;AAEb,SAAK,OAAO;AAEZ,SAAK,QAAQ;AACb,SAAK,OAAO;AACZ,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,OAAO,qBAAqB,OAA6C;AACvE,WACE,iBAAiB,SACjB,MAAM,SAAS,2BACf,WAAW,SACX,MAAM,SAAS,UACf,UAAU,SACV,MAAM,QAAQ,UACd,OAAO,MAAM,SAAS,YACtB,WAAW,SACX,MAAM,SAAS;AAAA,EAEnB;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MAEZ,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AACF;;;ACnDO,IAAM,sBAAN,cAAkC,MAAM;AAAA,EAI7C,YAAY,EAAE,OAAO,MAAM,GAAuC;AAChE;AAAA,MACE,kCACY,KAAK,UAAU,KAAK,CAAC;AAAA,iBACb,gBAAgB,KAAK,CAAC;AAAA,IAC5C;AAEA,SAAK,OAAO;AAEZ,SAAK,QAAQ;AACb,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,OAAO,sBAAsB,OAA8C;AACzE,WACE,iBAAiB,SACjB,MAAM,SAAS,4BACf,OAAQ,MAA8B,UAAU,YAChD,OAAQ,MAA8B,UAAU;AAAA,EAEpD;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MACZ,OAAO,KAAK;AAAA,MAEZ,OAAO,KAAK;AAAA,IACd;AAAA,EACF;AACF;;;ACtCO,IAAM,gCAAN,cAA4C,MAAM;AAAA,EAGvD,YAAY,EAAE,cAAc,GAA8B;AACxD,UAAM,IAAI,aAAa,gCAAgC;AAEvD,SAAK,OAAO;AAEZ,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEA,OAAO,gCACL,OACwC;AACxC,WACE,iBAAiB,SACjB,MAAM,SAAS,sCACf,OAAQ,MAAwC,kBAAkB;AAAA,EAEtE;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MAEZ,eAAe,KAAK;AAAA,IACtB;AAAA,EACF;AACF;;;AC9BO,IAAM,6BAAN,cAAyC,MAAM;AAAA,EAIpD,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA,UAAU,4BAA4B,MAAM;AAAA,EAC9C,GAIG;AACD,UAAM,OAAO;AAEb,SAAK,OAAO;AAEZ,SAAK,SAAS;AACd,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,OAAO,6BACL,OACqC;AACrC,WACE,iBAAiB,SACjB,MAAM,SAAS,mCACf,YAAY,SACZ,MAAM,UAAU,UAChB,YAAY,SACZ,MAAM,WAAW;AAAA,EAErB;AAAA,EAEA,SAAS;AACP,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,SAAS,KAAK;AAAA,MACd,OAAO,KAAK;AAAA,MAEZ,QAAQ,KAAK;AAAA,MACb,QAAQ,KAAK;AAAA,IACf;AAAA,EACF;AACF;","names":["prompt"]}
|