@llumiverse/core 0.15.0 → 0.16.0
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/README.md +3 -3
- package/lib/cjs/CompletionStream.js +31 -10
- package/lib/cjs/CompletionStream.js.map +1 -1
- package/lib/cjs/Driver.js +19 -21
- package/lib/cjs/Driver.js.map +1 -1
- package/lib/cjs/async.js +3 -2
- package/lib/cjs/async.js.map +1 -1
- package/lib/cjs/formatters/index.js +1 -3
- package/lib/cjs/formatters/index.js.map +1 -1
- package/lib/cjs/formatters/{claude.js → nova.js} +33 -37
- package/lib/cjs/formatters/nova.js.map +1 -0
- package/lib/cjs/formatters/openai.js +36 -6
- package/lib/cjs/formatters/openai.js.map +1 -1
- package/lib/cjs/index.js +1 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/options/bedrock.js +343 -0
- package/lib/cjs/options/bedrock.js.map +1 -0
- package/lib/cjs/options/groq.js +37 -0
- package/lib/cjs/options/groq.js.map +1 -0
- package/lib/cjs/options/openai.js +123 -0
- package/lib/cjs/options/openai.js.map +1 -0
- package/lib/cjs/options/vertexai.js +257 -0
- package/lib/cjs/options/vertexai.js.map +1 -0
- package/lib/cjs/options.js +54 -0
- package/lib/cjs/options.js.map +1 -0
- package/lib/cjs/types.js +34 -1
- package/lib/cjs/types.js.map +1 -1
- package/lib/esm/CompletionStream.js +31 -10
- package/lib/esm/CompletionStream.js.map +1 -1
- package/lib/esm/Driver.js +20 -22
- package/lib/esm/Driver.js.map +1 -1
- package/lib/esm/async.js +3 -2
- package/lib/esm/async.js.map +1 -1
- package/lib/esm/formatters/index.js +1 -3
- package/lib/esm/formatters/index.js.map +1 -1
- package/lib/esm/formatters/{claude.js → nova.js} +32 -36
- package/lib/esm/formatters/nova.js.map +1 -0
- package/lib/esm/formatters/openai.js +36 -6
- package/lib/esm/formatters/openai.js.map +1 -1
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/options/bedrock.js +340 -0
- package/lib/esm/options/bedrock.js.map +1 -0
- package/lib/esm/options/groq.js +34 -0
- package/lib/esm/options/groq.js.map +1 -0
- package/lib/esm/options/openai.js +120 -0
- package/lib/esm/options/openai.js.map +1 -0
- package/lib/esm/options/vertexai.js +253 -0
- package/lib/esm/options/vertexai.js.map +1 -0
- package/lib/esm/options.js +50 -0
- package/lib/esm/options.js.map +1 -0
- package/lib/esm/types.js +33 -0
- package/lib/esm/types.js.map +1 -1
- package/lib/types/CompletionStream.d.ts +1 -1
- package/lib/types/CompletionStream.d.ts.map +1 -1
- package/lib/types/Driver.d.ts +5 -4
- package/lib/types/Driver.d.ts.map +1 -1
- package/lib/types/async.d.ts +3 -2
- package/lib/types/async.d.ts.map +1 -1
- package/lib/types/formatters/generic.d.ts.map +1 -1
- package/lib/types/formatters/index.d.ts +1 -3
- package/lib/types/formatters/index.d.ts.map +1 -1
- package/lib/types/formatters/nova.d.ts +40 -0
- package/lib/types/formatters/nova.d.ts.map +1 -0
- package/lib/types/formatters/openai.d.ts +13 -1
- package/lib/types/formatters/openai.d.ts.map +1 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/options/bedrock.d.ts +32 -0
- package/lib/types/options/bedrock.d.ts.map +1 -0
- package/lib/types/options/groq.d.ts +12 -0
- package/lib/types/options/groq.d.ts.map +1 -0
- package/lib/types/options/openai.d.ts +21 -0
- package/lib/types/options/openai.d.ts.map +1 -0
- package/lib/types/options/vertexai.d.ts +52 -0
- package/lib/types/options/vertexai.d.ts.map +1 -0
- package/lib/types/options.d.ts +14 -0
- package/lib/types/options.d.ts.map +1 -0
- package/lib/types/types.d.ts +133 -49
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/CompletionStream.ts +31 -11
- package/src/Driver.ts +29 -25
- package/src/async.ts +7 -5
- package/src/formatters/index.ts +1 -3
- package/src/formatters/nova.ts +141 -0
- package/src/formatters/openai.ts +52 -12
- package/src/index.ts +2 -1
- package/src/options/bedrock.ts +388 -0
- package/src/options/groq.ts +47 -0
- package/src/options/openai.ts +148 -0
- package/src/options/vertexai.ts +312 -0
- package/src/options.ts +62 -0
- package/src/types.ts +167 -52
- package/lib/cjs/formatters/claude.js.map +0 -1
- package/lib/cjs/formatters/llama2.js +0 -48
- package/lib/cjs/formatters/llama2.js.map +0 -1
- package/lib/cjs/formatters/llama3.js +0 -42
- package/lib/cjs/formatters/llama3.js.map +0 -1
- package/lib/esm/formatters/claude.js.map +0 -1
- package/lib/esm/formatters/llama2.js +0 -45
- package/lib/esm/formatters/llama2.js.map +0 -1
- package/lib/esm/formatters/llama3.js +0 -39
- package/lib/esm/formatters/llama3.js.map +0 -1
- package/lib/types/formatters/claude.d.ts +0 -25
- package/lib/types/formatters/claude.d.ts.map +0 -1
- package/lib/types/formatters/llama2.d.ts +0 -4
- package/lib/types/formatters/llama2.d.ts.map +0 -1
- package/lib/types/formatters/llama3.d.ts +0 -7
- package/lib/types/formatters/llama3.d.ts.map +0 -1
- package/src/formatters/claude.ts +0 -131
- package/src/formatters/llama2.ts +0 -58
- package/src/formatters/llama3.ts +0 -55
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ImagenMaskMode = exports.ImagenTaskType = void 0;
|
|
4
|
+
exports.getVertexAiOptions = getVertexAiOptions;
|
|
5
|
+
const types_js_1 = require("../types.js");
|
|
6
|
+
const options_js_1 = require("../options.js");
|
|
7
|
+
var ImagenTaskType;
|
|
8
|
+
(function (ImagenTaskType) {
|
|
9
|
+
ImagenTaskType["TEXT_IMAGE"] = "TEXT_IMAGE";
|
|
10
|
+
ImagenTaskType["EDIT_MODE_INPAINT_REMOVAL"] = "EDIT_MODE_INPAINT_REMOVAL";
|
|
11
|
+
ImagenTaskType["EDIT_MODE_INPAINT_INSERTION"] = "EDIT_MODE_INPAINT_INSERTION";
|
|
12
|
+
ImagenTaskType["EDIT_MODE_BGSWAP"] = "EDIT_MODE_BGSWAP";
|
|
13
|
+
ImagenTaskType["EDIT_MODE_OUTPAINT"] = "EDIT_MODE_OUTPAINT";
|
|
14
|
+
ImagenTaskType["CUSTOMIZATION_SUBJECT"] = "CUSTOMIZATION_SUBJECT";
|
|
15
|
+
ImagenTaskType["CUSTOMIZATION_STYLE"] = "CUSTOMIZATION_STYLE";
|
|
16
|
+
ImagenTaskType["CUSTOMIZATION_CONTROLLED"] = "CUSTOMIZATION_CONTROLLED";
|
|
17
|
+
ImagenTaskType["CUSTOMIZATION_INSTRUCT"] = "CUSTOMIZATION_INSTRUCT";
|
|
18
|
+
})(ImagenTaskType || (exports.ImagenTaskType = ImagenTaskType = {}));
|
|
19
|
+
var ImagenMaskMode;
|
|
20
|
+
(function (ImagenMaskMode) {
|
|
21
|
+
ImagenMaskMode["MASK_MODE_USER_PROVIDED"] = "MASK_MODE_USER_PROVIDED";
|
|
22
|
+
ImagenMaskMode["MASK_MODE_BACKGROUND"] = "MASK_MODE_BACKGROUND";
|
|
23
|
+
ImagenMaskMode["MASK_MODE_FOREGROUND"] = "MASK_MODE_FOREGROUND";
|
|
24
|
+
ImagenMaskMode["MASK_MODE_SEMANTIC"] = "MASK_MODE_SEMANTIC";
|
|
25
|
+
})(ImagenMaskMode || (exports.ImagenMaskMode = ImagenMaskMode = {}));
|
|
26
|
+
function getVertexAiOptions(model, option) {
|
|
27
|
+
if (model.includes("imagen-3.0")) {
|
|
28
|
+
const commonOptions = [
|
|
29
|
+
{
|
|
30
|
+
name: types_js_1.SharedOptions.number_of_images, type: types_js_1.OptionType.numeric, min: 1, max: 4, default: 1,
|
|
31
|
+
integer: true, description: "Number of Images to generate",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: types_js_1.SharedOptions.seed, type: types_js_1.OptionType.numeric, min: 0, max: 4294967295, default: 12,
|
|
35
|
+
integer: true, description: "The seed of the generated image"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: "person_generation", type: types_js_1.OptionType.enum, enum: { "Disallow the inclusion of people or faces in images": "dont_allow", "Allow generation of adults only": "allow_adult", "Allow generation of people of all ages": "allow_all" },
|
|
39
|
+
default: "allow_adult", description: "The safety setting for allowing the generation of people in the image"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: "safety_setting", type: types_js_1.OptionType.enum, enum: { "Block very few problematic prompts and responses": "block_none", "Block only few problematic prompts and responses": "block_only_high", "Block some problematic prompts and responses": "block_medium_and_above", "Strictest filtering": "block_low_and_above" },
|
|
43
|
+
default: "block_medium_and_above", description: "The overall safety setting"
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
const outputOptions = [
|
|
47
|
+
{
|
|
48
|
+
name: "image_file_type", type: types_js_1.OptionType.enum, enum: { "JPEG": "image/jpeg", "PNG": "image/png" },
|
|
49
|
+
default: "image/png", description: "The file type of the generated image",
|
|
50
|
+
refresh: true,
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
const jpegQuality = {
|
|
54
|
+
name: "jpeg_compression_quality", type: types_js_1.OptionType.numeric, min: 0, max: 100, default: 75,
|
|
55
|
+
integer: true, description: "The compression quality of the JPEG image",
|
|
56
|
+
};
|
|
57
|
+
if (option?.image_file_type === "image/jpeg") {
|
|
58
|
+
outputOptions.push(jpegQuality);
|
|
59
|
+
}
|
|
60
|
+
if (model.includes("generate")) {
|
|
61
|
+
//Generate models
|
|
62
|
+
const modeOptions = [
|
|
63
|
+
{
|
|
64
|
+
name: "aspect_ratio", type: types_js_1.OptionType.enum, enum: { "1:1": "1:1", "4:3": "4:3", "3:4": "3:4", "16:9": "16:9", "9:16": "9:16" },
|
|
65
|
+
default: "1:1", description: "The aspect ratio of the generated image"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "add_watermark", type: types_js_1.OptionType.boolean, default: false, description: "Add an invisible watermark to the generated image, useful for detection of AI images"
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
const enhanceOptions = !model.includes("generate-001") ? [
|
|
72
|
+
{
|
|
73
|
+
name: "enhance_prompt", type: types_js_1.OptionType.boolean, default: true, description: "VertexAI automatically rewrites the prompt to better reflect the prompt's intent."
|
|
74
|
+
},
|
|
75
|
+
] : [];
|
|
76
|
+
return {
|
|
77
|
+
_option_id: "vertexai-imagen",
|
|
78
|
+
options: [
|
|
79
|
+
...commonOptions,
|
|
80
|
+
...modeOptions,
|
|
81
|
+
...outputOptions,
|
|
82
|
+
...enhanceOptions,
|
|
83
|
+
]
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (model.includes("capability")) {
|
|
87
|
+
//Edit models
|
|
88
|
+
let guidanceScaleDefault = 75;
|
|
89
|
+
if (option?.edit_mode === ImagenTaskType.EDIT_MODE_INPAINT_INSERTION) {
|
|
90
|
+
guidanceScaleDefault = 60;
|
|
91
|
+
}
|
|
92
|
+
const modeOptions = [
|
|
93
|
+
{
|
|
94
|
+
name: "edit_mode", type: types_js_1.OptionType.enum,
|
|
95
|
+
enum: {
|
|
96
|
+
"EDIT_MODE_INPAINT_REMOVAL": "EDIT_MODE_INPAINT_REMOVAL",
|
|
97
|
+
"EDIT_MODE_INPAINT_INSERTION": "EDIT_MODE_INPAINT_INSERTION",
|
|
98
|
+
"EDIT_MODE_BGSWAP": "EDIT_MODE_BGSWAP",
|
|
99
|
+
"EDIT_MODE_OUTPAINT": "EDIT_MODE_OUTPAINT",
|
|
100
|
+
"CUSTOMIZATION_SUBJECT": "CUSTOMIZATION_SUBJECT",
|
|
101
|
+
"CUSTOMIZATION_STYLE": "CUSTOMIZATION_STYLE",
|
|
102
|
+
"CUSTOMIZATION_CONTROLLED": "CUSTOMIZATION_CONTROLLED",
|
|
103
|
+
"CUSTOMIZATION_INSTRUCT": "CUSTOMIZATION_INSTRUCT",
|
|
104
|
+
},
|
|
105
|
+
description: "The editing mode. CUSTOMIZATION options use few-shot learning to generate images based on a few examples."
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
name: "guidance_scale", type: types_js_1.OptionType.numeric, min: 0, max: 500, default: guidanceScaleDefault,
|
|
109
|
+
integer: true, description: "How closely the generation follows the prompt"
|
|
110
|
+
}
|
|
111
|
+
];
|
|
112
|
+
const maskOptions = (option?.edit_mode?.includes("EDIT")) ? [
|
|
113
|
+
{
|
|
114
|
+
name: "mask_mode", type: types_js_1.OptionType.enum,
|
|
115
|
+
enum: {
|
|
116
|
+
"MASK_MODE_USER_PROVIDED": "MASK_MODE_USER_PROVIDED",
|
|
117
|
+
"MASK_MODE_BACKGROUND": "MASK_MODE_BACKGROUND",
|
|
118
|
+
"MASK_MODE_FOREGROUND": "MASK_MODE_FOREGROUND",
|
|
119
|
+
"MASK_MODE_SEMANTIC": "MASK_MODE_SEMANTIC",
|
|
120
|
+
},
|
|
121
|
+
default: "MASK_MODE_USER_PROVIDED",
|
|
122
|
+
description: "How should the mask for the generation be provided"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "mask_dilation", type: types_js_1.OptionType.numeric, min: 0, max: 1,
|
|
126
|
+
integer: true, description: "The mask dilation, grows the mask by a percetage of image width to compensate for imprecise masks."
|
|
127
|
+
},
|
|
128
|
+
] : [];
|
|
129
|
+
const maskClassOptions = (option?.mask_mode === ImagenMaskMode.MASK_MODE_SEMANTIC) ? [
|
|
130
|
+
{
|
|
131
|
+
name: "mask_class", type: types_js_1.OptionType.string_list, default: [],
|
|
132
|
+
description: "Input Class IDs. Create a mask based on image class, based on https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api-customization#segment-ids"
|
|
133
|
+
}
|
|
134
|
+
] : [];
|
|
135
|
+
const editOptions = option?.edit_mode?.includes("EDIT") ? [
|
|
136
|
+
{
|
|
137
|
+
name: "edit_steps", type: types_js_1.OptionType.numeric, default: 75,
|
|
138
|
+
integer: true, description: "The number of steps for the base image generation, more steps means more time and better quality"
|
|
139
|
+
},
|
|
140
|
+
] : [];
|
|
141
|
+
const customizationOptions = option?.edit_mode === ImagenTaskType.CUSTOMIZATION_CONTROLLED
|
|
142
|
+
|| option?.edit_mode === ImagenTaskType.CUSTOMIZATION_SUBJECT ? [
|
|
143
|
+
{
|
|
144
|
+
name: "controlType", type: types_js_1.OptionType.enum, enum: { "Face Mesh": "CONTROL_TYPE_FACE_MESH", "Canny": "CONTROL_TYPE_CANNY", "Scribble": "CONTROL_TYPE_SCRIBBLE" },
|
|
145
|
+
default: "CONTROL_TYPE_CANNY", description: "Method used to generate the control image"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
name: "controlImageComputation", type: types_js_1.OptionType.boolean, default: true, description: "Should the control image be computed from the input image, or is it provided"
|
|
149
|
+
}
|
|
150
|
+
] : [];
|
|
151
|
+
return {
|
|
152
|
+
_option_id: "vertexai-imagen",
|
|
153
|
+
options: [
|
|
154
|
+
...modeOptions,
|
|
155
|
+
...commonOptions,
|
|
156
|
+
...maskOptions,
|
|
157
|
+
...maskClassOptions,
|
|
158
|
+
...editOptions,
|
|
159
|
+
...customizationOptions,
|
|
160
|
+
...outputOptions,
|
|
161
|
+
]
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else if (model.includes("gemini")) {
|
|
166
|
+
const max_tokens_limit = getGeminiMaxTokensLimit(model);
|
|
167
|
+
const excludeOptions = ["max_tokens", "presence_penalty"];
|
|
168
|
+
let commonOptions = options_js_1.textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
|
|
169
|
+
if (model.includes("1.5")) {
|
|
170
|
+
commonOptions = commonOptions.filter((option) => option.name !== "frequency_penalty");
|
|
171
|
+
}
|
|
172
|
+
const max_tokens = [{
|
|
173
|
+
name: types_js_1.SharedOptions.max_tokens, type: types_js_1.OptionType.numeric, min: 1, max: max_tokens_limit,
|
|
174
|
+
integer: true, step: 200, description: "The maximum number of tokens to generate"
|
|
175
|
+
}];
|
|
176
|
+
return {
|
|
177
|
+
_option_id: "vertexai-gemini",
|
|
178
|
+
options: [
|
|
179
|
+
...max_tokens,
|
|
180
|
+
...commonOptions,
|
|
181
|
+
]
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
else if (model.includes("claude")) {
|
|
185
|
+
const max_tokens_limit = getClaudeMaxTokensLimit(model, option);
|
|
186
|
+
const excludeOptions = ["max_tokens", "presence_penalty", "frequency_penalty"];
|
|
187
|
+
let commonOptions = options_js_1.textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
|
|
188
|
+
const max_tokens = [{
|
|
189
|
+
name: types_js_1.SharedOptions.max_tokens, type: types_js_1.OptionType.numeric, min: 1, max: max_tokens_limit,
|
|
190
|
+
integer: true, step: 200, description: "The maximum number of tokens to generate"
|
|
191
|
+
}];
|
|
192
|
+
if (model.includes("3-7")) {
|
|
193
|
+
const claudeModeOptions = [
|
|
194
|
+
{
|
|
195
|
+
name: "thinking_mode",
|
|
196
|
+
type: types_js_1.OptionType.boolean,
|
|
197
|
+
default: false,
|
|
198
|
+
description: "If true, use the extended reasoning mode"
|
|
199
|
+
},
|
|
200
|
+
];
|
|
201
|
+
const claudeThinkingOptions = option?.thinking_mode ? [
|
|
202
|
+
{
|
|
203
|
+
name: "thinking_budget_tokens",
|
|
204
|
+
type: types_js_1.OptionType.numeric,
|
|
205
|
+
min: 1024,
|
|
206
|
+
default: 4000,
|
|
207
|
+
integer: true,
|
|
208
|
+
step: 100,
|
|
209
|
+
description: "The target number of tokens to use for reasoning, not a hard limit."
|
|
210
|
+
},
|
|
211
|
+
] : [];
|
|
212
|
+
return {
|
|
213
|
+
_option_id: "vertexai-claude",
|
|
214
|
+
options: [
|
|
215
|
+
...max_tokens,
|
|
216
|
+
...commonOptions,
|
|
217
|
+
...claudeModeOptions,
|
|
218
|
+
...claudeThinkingOptions,
|
|
219
|
+
]
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
return {
|
|
223
|
+
_option_id: "vertexai-claude",
|
|
224
|
+
options: [
|
|
225
|
+
...max_tokens,
|
|
226
|
+
...commonOptions,
|
|
227
|
+
]
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
return options_js_1.textOptionsFallback;
|
|
231
|
+
}
|
|
232
|
+
function getGeminiMaxTokensLimit(model) {
|
|
233
|
+
if (model.includes("thinking")) {
|
|
234
|
+
return 65536;
|
|
235
|
+
}
|
|
236
|
+
if (model.includes("ultra") || model.includes("vision")) {
|
|
237
|
+
return 2048;
|
|
238
|
+
}
|
|
239
|
+
return 8192;
|
|
240
|
+
}
|
|
241
|
+
function getClaudeMaxTokensLimit(model, option) {
|
|
242
|
+
if (model.includes("3-7")) {
|
|
243
|
+
if (option && option?.thinking_mode) {
|
|
244
|
+
return 128000;
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
return 8192;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
else if (model.includes("3-5")) {
|
|
251
|
+
return 8192;
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
return 4096;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=vertexai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vertexai.js","sourceRoot":"","sources":["../../../src/options/vertexai.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.textOptionsFallback = void 0;
|
|
4
|
+
exports.getOptions = getOptions;
|
|
5
|
+
const types_js_1 = require("./types.js");
|
|
6
|
+
const bedrock_js_1 = require("./options/bedrock.js");
|
|
7
|
+
const vertexai_js_1 = require("./options/vertexai.js");
|
|
8
|
+
const openai_js_1 = require("./options/openai.js");
|
|
9
|
+
const groq_js_1 = require("./options/groq.js");
|
|
10
|
+
exports.textOptionsFallback = {
|
|
11
|
+
_option_id: "text-fallback",
|
|
12
|
+
options: [
|
|
13
|
+
{
|
|
14
|
+
name: types_js_1.SharedOptions.max_tokens, type: types_js_1.OptionType.numeric, min: 1,
|
|
15
|
+
integer: true, step: 200, description: "The maximum number of tokens to generate"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: types_js_1.SharedOptions.temperature, type: types_js_1.OptionType.numeric, min: 0.0, default: 0.7,
|
|
19
|
+
integer: false, step: 0.1, description: "A higher temperature biases toward less likely tokens, making the model more creative"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
name: types_js_1.SharedOptions.top_p, type: types_js_1.OptionType.numeric, min: 0, max: 1,
|
|
23
|
+
integer: false, step: 0.1, description: "Limits token sampling to the cumulative probability of the top p tokens"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: types_js_1.SharedOptions.top_k, type: types_js_1.OptionType.numeric, min: 1,
|
|
27
|
+
integer: true, step: 1, description: "Limits token sampling to the top k tokens"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: types_js_1.SharedOptions.presence_penalty, type: types_js_1.OptionType.numeric, min: -2.0, max: 2.0,
|
|
31
|
+
integer: false, step: 0.1, description: "Penalise tokens if they appear at least once in the text"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: types_js_1.SharedOptions.frequency_penalty, type: types_js_1.OptionType.numeric, min: -2.0, max: 2.0,
|
|
35
|
+
integer: false, step: 0.1, description: "Penalise tokens based on their frequency in the text"
|
|
36
|
+
},
|
|
37
|
+
{ name: types_js_1.SharedOptions.stop_sequence, type: types_js_1.OptionType.string_list, value: [], description: "The generation will halt if one of the stop sequences is output" },
|
|
38
|
+
]
|
|
39
|
+
};
|
|
40
|
+
function getOptions(provider, model, options) {
|
|
41
|
+
switch (provider) {
|
|
42
|
+
case "bedrock":
|
|
43
|
+
return (0, bedrock_js_1.getBedrockOptions)(model ?? "", options);
|
|
44
|
+
case "vertexai":
|
|
45
|
+
return (0, vertexai_js_1.getVertexAiOptions)(model ?? "", options);
|
|
46
|
+
case "openai":
|
|
47
|
+
return (0, openai_js_1.getOpenAiOptions)(model ?? "", options);
|
|
48
|
+
case "groq":
|
|
49
|
+
return (0, groq_js_1.getGroqOptions)(model ?? "", options);
|
|
50
|
+
default:
|
|
51
|
+
return exports.textOptionsFallback;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":";;;AAgDA,gCAaC;AA7DD,yCAAuF;AACvF,qDAAyD;AACzD,uDAA2D;AAC3D,mDAAuD;AACvD,+CAAmD;AAatC,QAAA,mBAAmB,GAAqB;IACjD,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE;QACL;YACI,IAAI,EAAE,wBAAa,CAAC,UAAU,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YAChE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,0CAA0C;SACpF;QACD;YACI,IAAI,EAAE,wBAAa,CAAC,WAAW,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG;YACjF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,uFAAuF;SAClI;QACD;YACI,IAAI,EAAE,wBAAa,CAAC,KAAK,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;YACnE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,yEAAyE;SACpH;QACD;YACI,IAAI,EAAE,wBAAa,CAAC,KAAK,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,2CAA2C;SACnF;QACD;YACI,IAAI,EAAE,wBAAa,CAAC,gBAAgB,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;YACnF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,0DAA0D;SACrG;QACD;YACI,IAAI,EAAE,wBAAa,CAAC,iBAAiB,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;YACpF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,sDAAsD;SACjG;QACD,EAAE,IAAI,EAAE,wBAAa,CAAC,aAAa,EAAE,IAAI,EAAE,qBAAU,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,iEAAiE,EAAE;KACjK;CACJ,CAAC;AAEF,SAAgB,UAAU,CAAC,QAAiB,EAAE,KAAc,EAAE,OAAsB;IAChF,QAAQ,QAAQ,EAAE,CAAC;QACf,KAAK,SAAS;YACV,OAAO,IAAA,8BAAiB,EAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACnD,KAAK,UAAU;YACX,OAAO,IAAA,gCAAkB,EAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACpD,KAAK,QAAQ;YACT,OAAO,IAAA,4BAAgB,EAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAClD,KAAK,MAAM;YACP,OAAO,IAAA,wBAAc,EAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAChD;YACI,OAAO,2BAAmB,CAAC;IACnC,CAAC;AACL,CAAC"}
|
package/lib/cjs/types.js
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TrainingJobStatus = exports.ModelType = exports.AIModelStatus = exports.PromptRole = void 0;
|
|
3
|
+
exports.TrainingJobStatus = exports.ModelType = exports.AIModelStatus = exports.Modalities = exports.PromptRole = exports.OptionType = exports.SharedOptions = void 0;
|
|
4
|
+
//Common names to share between different models
|
|
5
|
+
var SharedOptions;
|
|
6
|
+
(function (SharedOptions) {
|
|
7
|
+
//Text
|
|
8
|
+
SharedOptions["max_tokens"] = "max_tokens";
|
|
9
|
+
SharedOptions["temperature"] = "temperature";
|
|
10
|
+
SharedOptions["top_p"] = "top_p";
|
|
11
|
+
SharedOptions["top_k"] = "top_k";
|
|
12
|
+
SharedOptions["presence_penalty"] = "presence_penalty";
|
|
13
|
+
SharedOptions["frequency_penalty"] = "frequency_penalty";
|
|
14
|
+
SharedOptions["stop_sequence"] = "stop_sequence";
|
|
15
|
+
//Image
|
|
16
|
+
SharedOptions["seed"] = "seed";
|
|
17
|
+
SharedOptions["number_of_images"] = "number_of_images";
|
|
18
|
+
})(SharedOptions || (exports.SharedOptions = SharedOptions = {}));
|
|
19
|
+
var OptionType;
|
|
20
|
+
(function (OptionType) {
|
|
21
|
+
OptionType["numeric"] = "numeric";
|
|
22
|
+
OptionType["enum"] = "enum";
|
|
23
|
+
OptionType["boolean"] = "boolean";
|
|
24
|
+
OptionType["string_list"] = "string_list";
|
|
25
|
+
})(OptionType || (exports.OptionType = OptionType = {}));
|
|
4
26
|
// ============== Prompts ===============
|
|
5
27
|
var PromptRole;
|
|
6
28
|
(function (PromptRole) {
|
|
@@ -8,7 +30,18 @@ var PromptRole;
|
|
|
8
30
|
PromptRole["system"] = "system";
|
|
9
31
|
PromptRole["user"] = "user";
|
|
10
32
|
PromptRole["assistant"] = "assistant";
|
|
33
|
+
PromptRole["negative"] = "negative";
|
|
34
|
+
PromptRole["mask"] = "mask";
|
|
35
|
+
/**
|
|
36
|
+
* Used to send the response of a tool
|
|
37
|
+
*/
|
|
38
|
+
PromptRole["tool"] = "tool";
|
|
11
39
|
})(PromptRole || (exports.PromptRole = PromptRole = {}));
|
|
40
|
+
var Modalities;
|
|
41
|
+
(function (Modalities) {
|
|
42
|
+
Modalities["text"] = "text";
|
|
43
|
+
Modalities["image"] = "image";
|
|
44
|
+
})(Modalities || (exports.Modalities = Modalities = {}));
|
|
12
45
|
var AIModelStatus;
|
|
13
46
|
(function (AIModelStatus) {
|
|
14
47
|
AIModelStatus["Available"] = "available";
|
package/lib/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA6KA,gDAAgD;AAChD,IAAY,aAaX;AAbD,WAAY,aAAa;IACrB,MAAM;IACN,0CAAyB,CAAA;IACzB,4CAA2B,CAAA;IAC3B,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,sDAAqC,CAAA;IACrC,wDAAuC,CAAA;IACvC,gDAA+B,CAAA;IAE/B,OAAO;IACP,8BAAa,CAAA;IACb,sDAAqC,CAAA;AACzC,CAAC,EAbW,aAAa,6BAAb,aAAa,QAaxB;AAED,IAAY,UAKX;AALD,WAAY,UAAU;IAClB,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,yCAA2B,CAAA;AAC/B,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB;AAqDD,yCAAyC;AACzC,IAAY,UAWX;AAXD,WAAY,UAAU;IAClB,+BAAiB,CAAA;IACjB,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,qCAAuB,CAAA;IACvB,mCAAqB,CAAA;IACrB,2BAAa,CAAA;IACb;;OAEG;IACH,2BAAa,CAAA;AACjB,CAAC,EAXW,UAAU,0BAAV,UAAU,QAWrB;AAkBD,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,6BAAe,CAAA;AACnB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAoBD,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;AACvB,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB;AAiBD,IAAY,SAkBX;AAlBD,WAAY,SAAS;IACjB,sCAAyB,CAAA;IACzB,oCAAuB,CAAA;IACvB,sCAAyB,CAAA;IACzB,mDAAsC,CAAA;IACtC,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,oCAAuB,CAAA;IACvB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,wBAAW,CAAA;IACX,uCAA0B,CAAA;IAC1B,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,gCAAmB,CAAA;AACvB,CAAC,EAlBW,SAAS,yBAAT,SAAS,QAkBpB;AA2BD,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,wCAAmB,CAAA;IACnB,4CAAuB,CAAA;IACvB,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;AAC3B,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B"}
|
|
@@ -19,25 +19,46 @@ export class DefaultCompletionStream {
|
|
|
19
19
|
const chunks = this.chunks;
|
|
20
20
|
this.driver.logger.debug(`[${this.driver.provider}] Streaming Execution of ${this.options.model} with prompt`, this.prompt);
|
|
21
21
|
const start = Date.now();
|
|
22
|
-
const stream = await this.driver.
|
|
22
|
+
const stream = await this.driver.requestTextCompletionStream(this.prompt, this.options);
|
|
23
|
+
let finish_reason = undefined;
|
|
24
|
+
let promptTokens = 0;
|
|
25
|
+
let resultTokens = undefined;
|
|
23
26
|
for await (const chunk of stream) {
|
|
24
27
|
if (chunk) {
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
if (typeof chunk === 'string') {
|
|
29
|
+
chunks.push(chunk);
|
|
30
|
+
yield chunk;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
if (chunk.finish_reason) { //Do not replace non-null values with null values
|
|
34
|
+
finish_reason = chunk.finish_reason; //Used to skip empty finish_reason chunks coming after "stop" or "length"
|
|
35
|
+
}
|
|
36
|
+
if (chunk.token_usage) {
|
|
37
|
+
//Tokens returned include prior parts of stream,
|
|
38
|
+
//so overwrite rather than accumulate
|
|
39
|
+
//Math.max used as some models report final token count at beginning of stream
|
|
40
|
+
promptTokens = Math.max(promptTokens, chunk.token_usage.prompt ?? 0);
|
|
41
|
+
resultTokens = Math.max(resultTokens ?? 0, chunk.token_usage.result ?? 0);
|
|
42
|
+
}
|
|
43
|
+
if (chunk.result) {
|
|
44
|
+
chunks.push(chunk.result);
|
|
45
|
+
yield chunk.result;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
27
48
|
}
|
|
28
49
|
}
|
|
29
50
|
const content = chunks.join('');
|
|
30
|
-
|
|
31
|
-
|
|
51
|
+
// Return undefined for the ExecutionTokenUsage object if there is nothing to fill it with.
|
|
52
|
+
// Allows for checking for truthyness on token_usage, rather than it's internals. For testing and downstream usage.
|
|
53
|
+
let tokens = resultTokens ?
|
|
54
|
+
{ prompt: promptTokens, result: resultTokens, total: resultTokens + promptTokens, } : undefined;
|
|
32
55
|
this.completion = {
|
|
33
56
|
result: content,
|
|
34
57
|
prompt: this.prompt,
|
|
35
58
|
execution_time: Date.now() - start,
|
|
36
|
-
token_usage:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
total: resultTokens + promptTokens,
|
|
40
|
-
}
|
|
59
|
+
token_usage: tokens,
|
|
60
|
+
finish_reason: finish_reason,
|
|
61
|
+
chunks: chunks.length,
|
|
41
62
|
};
|
|
42
63
|
this.driver.validateResult(this.completion, this.options);
|
|
43
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionStream.js","sourceRoot":"","sources":["../../src/CompletionStream.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,uBAAuB;IAKb;IACR;IACA;IALX,MAAM,CAAW;IACjB,UAAU,CAAyC;IAEnD,YAAmB,MAA8C,EACtD,MAAe,EACf,OAAyB;QAFjB,WAAM,GAAN,MAAM,CAAwC;QACtD,WAAM,GAAN,MAAM,CAAS;QACf,YAAO,GAAP,OAAO,CAAkB;QAChC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,cAAc;QACd,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CACpB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,4BAA4B,IAAI,CAAC,OAAO,CAAC,KAAK,cAAc,EAAE,IAAI,CAAC,MAAM,CACpG,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"CompletionStream.js","sourceRoot":"","sources":["../../src/CompletionStream.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/Driver.js
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* (eg: OpenAI, HuggingFace, etc.)
|
|
5
5
|
*/
|
|
6
6
|
import { DefaultCompletionStream, FallbackCompletionStream } from "./CompletionStream.js";
|
|
7
|
-
import {
|
|
7
|
+
import { formatTextPrompt } from "./formatters/index.js";
|
|
8
|
+
import { Modalities } from "./types.js";
|
|
8
9
|
import { validateResult } from "./validation.js";
|
|
9
10
|
const ConsoleLogger = {
|
|
10
11
|
debug: console.debug,
|
|
@@ -30,13 +31,6 @@ export function createLogger(logger) {
|
|
|
30
31
|
return NoopLogger;
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
|
-
function applyExecutionDefaults(options) {
|
|
34
|
-
return {
|
|
35
|
-
max_tokens: 2048,
|
|
36
|
-
temperature: 0.7,
|
|
37
|
-
...options
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
34
|
/**
|
|
41
35
|
* To be implemented by each driver
|
|
42
36
|
*/
|
|
@@ -79,7 +73,6 @@ export class AbstractDriver {
|
|
|
79
73
|
}
|
|
80
74
|
}
|
|
81
75
|
async execute(segments, options) {
|
|
82
|
-
options = applyExecutionDefaults(options);
|
|
83
76
|
const prompt = await this.createPrompt(segments, options);
|
|
84
77
|
return this._execute(prompt, options);
|
|
85
78
|
}
|
|
@@ -87,8 +80,18 @@ export class AbstractDriver {
|
|
|
87
80
|
this.logger.debug(`[${this.provider}] Executing prompt on ${options.model}`);
|
|
88
81
|
try {
|
|
89
82
|
const start = Date.now();
|
|
90
|
-
|
|
91
|
-
|
|
83
|
+
let result;
|
|
84
|
+
switch (options.output_modality) {
|
|
85
|
+
case Modalities.text:
|
|
86
|
+
result = await this.requestTextCompletion(prompt, options);
|
|
87
|
+
this.validateResult(result, options);
|
|
88
|
+
break;
|
|
89
|
+
case Modalities.image:
|
|
90
|
+
result = await this.requestImageGeneration(prompt, options);
|
|
91
|
+
break;
|
|
92
|
+
default:
|
|
93
|
+
throw new Error(`Unsupported modality: ${options['output_modality'] ?? "No modality specified"}`);
|
|
94
|
+
}
|
|
92
95
|
const execution_time = Date.now() - start;
|
|
93
96
|
return { ...result, prompt, execution_time };
|
|
94
97
|
}
|
|
@@ -99,10 +102,9 @@ export class AbstractDriver {
|
|
|
99
102
|
}
|
|
100
103
|
// by default no stream is supported. we block and we return all at once
|
|
101
104
|
async stream(segments, options) {
|
|
102
|
-
options = applyExecutionDefaults(options);
|
|
103
105
|
const prompt = await this.createPrompt(segments, options);
|
|
104
106
|
const canStream = await this.canStream(options);
|
|
105
|
-
if (canStream) {
|
|
107
|
+
if (options.output_modality === Modalities.text && canStream) {
|
|
106
108
|
return new DefaultCompletionStream(this, prompt, options);
|
|
107
109
|
}
|
|
108
110
|
else {
|
|
@@ -116,15 +118,7 @@ export class AbstractDriver {
|
|
|
116
118
|
* @returns
|
|
117
119
|
*/
|
|
118
120
|
async formatPrompt(segments, opts) {
|
|
119
|
-
|
|
120
|
-
return formatLlama2Prompt(segments, opts.result_schema);
|
|
121
|
-
}
|
|
122
|
-
else if (/\bllama.?3\b/i.test(opts.model)) {
|
|
123
|
-
return formatLlama3Prompt(segments, opts.result_schema);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
return formatTextPrompt(segments, opts.result_schema);
|
|
127
|
-
}
|
|
121
|
+
return formatTextPrompt(segments, opts.result_schema);
|
|
128
122
|
}
|
|
129
123
|
async createPrompt(segments, opts) {
|
|
130
124
|
return await (opts.format ? opts.format(segments, opts.result_schema) : this.formatPrompt(segments, opts));
|
|
@@ -149,5 +143,9 @@ export class AbstractDriver {
|
|
|
149
143
|
async listTrainableModels() {
|
|
150
144
|
return [];
|
|
151
145
|
}
|
|
146
|
+
async requestImageGeneration(_prompt, _options) {
|
|
147
|
+
throw new Error("Image generation not implemented.");
|
|
148
|
+
//Cannot be made abstract, as abstract methods are required in the derived class
|
|
149
|
+
}
|
|
152
150
|
}
|
|
153
151
|
//# sourceMappingURL=Driver.js.map
|
package/lib/esm/Driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Driver.js","sourceRoot":"","sources":["../../src/Driver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Driver.js","sourceRoot":"","sources":["../../src/Driver.ts"],"names":[],"mappings":"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"}
|
package/lib/esm/async.js
CHANGED
|
@@ -11,7 +11,7 @@ export function oneAsyncIterator(value) {
|
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
|
-
* Given a ReadableStream of server
|
|
14
|
+
* Given a ReadableStream of server sent events, tran
|
|
15
15
|
*/
|
|
16
16
|
export function transformSSEStream(stream, transform) {
|
|
17
17
|
// on node and bun the readablestream is an async iterable
|
|
@@ -19,7 +19,8 @@ export function transformSSEStream(stream, transform) {
|
|
|
19
19
|
transform(event, controller) {
|
|
20
20
|
if (event.type === 'event' && event.data && event.data !== '[DONE]') {
|
|
21
21
|
try {
|
|
22
|
-
|
|
22
|
+
const result = transform(event.data) ?? '';
|
|
23
|
+
controller.enqueue(result);
|
|
23
24
|
}
|
|
24
25
|
catch (err) {
|
|
25
26
|
// double check for the last event whicb is not a JSON - at this time togetherai and mistralai returrns the string [DONE]
|
package/lib/esm/async.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async.js","sourceRoot":"","sources":["../../src/async.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"async.js","sourceRoot":"","sources":["../../src/async.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAKA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatters/index.ts"],"names":[],"mappings":"AAKA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|