@llumiverse/core 0.21.0 → 0.22.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/lib/cjs/CompletionStream.js +124 -36
  2. package/lib/cjs/CompletionStream.js.map +1 -1
  3. package/lib/cjs/Driver.js +4 -1
  4. package/lib/cjs/Driver.js.map +1 -1
  5. package/lib/cjs/async.js.map +1 -1
  6. package/lib/cjs/stream.js +16 -10
  7. package/lib/cjs/stream.js.map +1 -1
  8. package/lib/cjs/validation.js +15 -7
  9. package/lib/cjs/validation.js.map +1 -1
  10. package/lib/esm/CompletionStream.js +124 -36
  11. package/lib/esm/CompletionStream.js.map +1 -1
  12. package/lib/esm/Driver.js +4 -1
  13. package/lib/esm/Driver.js.map +1 -1
  14. package/lib/esm/async.js.map +1 -1
  15. package/lib/esm/stream.js +16 -10
  16. package/lib/esm/stream.js.map +1 -1
  17. package/lib/esm/validation.js +15 -7
  18. package/lib/esm/validation.js.map +1 -1
  19. package/lib/tsconfig.tsbuildinfo +1 -1
  20. package/lib/types/CompletionStream.d.ts +2 -2
  21. package/lib/types/CompletionStream.d.ts.map +1 -1
  22. package/lib/types/Driver.d.ts +3 -3
  23. package/lib/types/Driver.d.ts.map +1 -1
  24. package/lib/types/async.d.ts +2 -2
  25. package/lib/types/async.d.ts.map +1 -1
  26. package/lib/types/stream.d.ts.map +1 -1
  27. package/lib/types/validation.d.ts +2 -2
  28. package/lib/types/validation.d.ts.map +1 -1
  29. package/package.json +8 -8
  30. package/src/CompletionStream.ts +121 -39
  31. package/src/Driver.ts +7 -5
  32. package/src/async.ts +4 -4
  33. package/src/stream.ts +19 -11
  34. package/src/validation.ts +15 -10
  35. package/lib/cjs/capability/bedrock.js +0 -186
  36. package/lib/cjs/capability/bedrock.js.map +0 -1
  37. package/lib/cjs/capability/openai.js +0 -122
  38. package/lib/cjs/capability/openai.js.map +0 -1
  39. package/lib/cjs/capability/vertexai.js +0 -90
  40. package/lib/cjs/capability/vertexai.js.map +0 -1
  41. package/lib/cjs/capability.js +0 -52
  42. package/lib/cjs/capability.js.map +0 -1
  43. package/lib/cjs/formatters/openai.js +0 -113
  44. package/lib/cjs/formatters/openai.js.map +0 -1
  45. package/lib/cjs/options/bedrock.js +0 -343
  46. package/lib/cjs/options/bedrock.js.map +0 -1
  47. package/lib/cjs/options/groq.js +0 -37
  48. package/lib/cjs/options/groq.js.map +0 -1
  49. package/lib/cjs/options/openai.js +0 -123
  50. package/lib/cjs/options/openai.js.map +0 -1
  51. package/lib/cjs/options/vertexai.js +0 -257
  52. package/lib/cjs/options/vertexai.js.map +0 -1
  53. package/lib/cjs/options.js +0 -19
  54. package/lib/cjs/options.js.map +0 -1
  55. package/lib/cjs/types.js +0 -80
  56. package/lib/cjs/types.js.map +0 -1
  57. package/lib/esm/capability/bedrock.js +0 -183
  58. package/lib/esm/capability/bedrock.js.map +0 -1
  59. package/lib/esm/capability/openai.js +0 -119
  60. package/lib/esm/capability/openai.js.map +0 -1
  61. package/lib/esm/capability/vertexai.js +0 -87
  62. package/lib/esm/capability/vertexai.js.map +0 -1
  63. package/lib/esm/capability.js +0 -47
  64. package/lib/esm/capability.js.map +0 -1
  65. package/lib/esm/formatters/openai.js +0 -109
  66. package/lib/esm/formatters/openai.js.map +0 -1
  67. package/lib/esm/options/bedrock.js +0 -340
  68. package/lib/esm/options/bedrock.js.map +0 -1
  69. package/lib/esm/options/groq.js +0 -34
  70. package/lib/esm/options/groq.js.map +0 -1
  71. package/lib/esm/options/openai.js +0 -120
  72. package/lib/esm/options/openai.js.map +0 -1
  73. package/lib/esm/options/vertexai.js +0 -253
  74. package/lib/esm/options/vertexai.js.map +0 -1
  75. package/lib/esm/options.js +0 -16
  76. package/lib/esm/options.js.map +0 -1
  77. package/lib/esm/types.js +0 -77
  78. package/lib/esm/types.js.map +0 -1
  79. package/lib/types/capability/bedrock.d.ts +0 -6
  80. package/lib/types/capability/bedrock.d.ts.map +0 -1
  81. package/lib/types/capability/openai.d.ts +0 -10
  82. package/lib/types/capability/openai.d.ts.map +0 -1
  83. package/lib/types/capability/vertexai.d.ts +0 -10
  84. package/lib/types/capability/vertexai.d.ts.map +0 -1
  85. package/lib/types/capability.d.ts +0 -4
  86. package/lib/types/capability.d.ts.map +0 -1
  87. package/lib/types/formatters/openai.d.ts +0 -41
  88. package/lib/types/formatters/openai.d.ts.map +0 -1
  89. package/lib/types/options/bedrock.d.ts +0 -31
  90. package/lib/types/options/bedrock.d.ts.map +0 -1
  91. package/lib/types/options/groq.d.ts +0 -11
  92. package/lib/types/options/groq.d.ts.map +0 -1
  93. package/lib/types/options/openai.d.ts +0 -20
  94. package/lib/types/options/openai.d.ts.map +0 -1
  95. package/lib/types/options/vertexai.d.ts +0 -51
  96. package/lib/types/options/vertexai.d.ts.map +0 -1
  97. package/lib/types/options.d.ts +0 -2
  98. package/lib/types/options.d.ts.map +0 -1
  99. package/lib/types/types.d.ts +0 -322
  100. package/lib/types/types.d.ts.map +0 -1
@@ -1,343 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBedrockOptions = getBedrockOptions;
4
- const types_js_1 = require("../types.js");
5
- const options_js_1 = require("../options.js");
6
- function getMaxTokensLimit(model, option) {
7
- // Claude models
8
- if (model.includes("claude")) {
9
- if (model.includes("3-7")) {
10
- if (option && option?.thinking_mode) {
11
- return 128000;
12
- }
13
- else {
14
- return 8192;
15
- }
16
- }
17
- else if (model.includes("3-5")) {
18
- if (model.includes("claude-3-5-sonnet")) {
19
- return 4096;
20
- }
21
- return 8192;
22
- }
23
- else {
24
- return 4096;
25
- }
26
- }
27
- // Amazon models
28
- else if (model.includes("amazon")) {
29
- if (model.includes("titan")) {
30
- if (model.includes("lite")) {
31
- return 4096;
32
- }
33
- else if (model.includes("express")) {
34
- return 8192;
35
- }
36
- else if (model.includes("premier")) {
37
- return 3072;
38
- }
39
- }
40
- else if (model.includes("nova")) {
41
- return 5000;
42
- }
43
- }
44
- // Mistral models
45
- else if (model.includes("mistral")) {
46
- if (model.includes("8x7b")) {
47
- return 4096;
48
- }
49
- return 8192;
50
- }
51
- // AI21 models
52
- else if (model.includes("ai21")) {
53
- if (model.includes("j2")) {
54
- if (model.includes("large") || model.includes("mid") || model.includes("ultra")) {
55
- return 8191;
56
- }
57
- return 2048;
58
- }
59
- if (model.includes("jamba")) {
60
- return 4096;
61
- }
62
- }
63
- // Cohere models
64
- else if (model.includes("cohere.command")) {
65
- if (model.includes("command-r")) {
66
- return 128000;
67
- }
68
- return 4096;
69
- }
70
- // Meta models
71
- else if (model.includes("llama")) {
72
- if (model.includes("3-70b") || model.includes("3-8b")) {
73
- return 2048;
74
- }
75
- return 8192;
76
- }
77
- // Default fallback
78
- return undefined;
79
- }
80
- function getBedrockOptions(model, option) {
81
- if (model.includes("canvas")) {
82
- const tasktypeList = {
83
- name: "taskType",
84
- type: types_js_1.OptionType.enum,
85
- enum: {
86
- "Text-To-Image": "TEXT_IMAGE",
87
- "Text-To-Image-with-Image-Conditioning": "TEXT_IMAGE_WITH_IMAGE_CONDITIONING",
88
- "Color-Guided-Generation": "COLOR_GUIDED_GENERATION",
89
- "Image-Variation": "IMAGE_VARIATION",
90
- "Inpainting": "INPAINTING",
91
- "Outpainting": "OUTPAINTING",
92
- "Background-Removal": "BACKGROUND_REMOVAL",
93
- },
94
- default: "TEXT_IMAGE",
95
- description: "The type of task to perform",
96
- refresh: true,
97
- };
98
- let otherOptions = [
99
- { name: "width", type: types_js_1.OptionType.numeric, min: 320, max: 4096, default: 512, step: 16, integer: true, description: "The width of the generated image" },
100
- { name: "height", type: types_js_1.OptionType.numeric, min: 320, max: 4096, default: 512, step: 16, integer: true, description: "The height of the generated image" },
101
- {
102
- name: "quality",
103
- type: types_js_1.OptionType.enum,
104
- enum: { "standard": "standard", "premium": "premium" },
105
- default: "standard",
106
- description: "The quality of the generated image"
107
- },
108
- { name: "cfgScale", type: types_js_1.OptionType.numeric, min: 1.1, max: 10.0, default: 6.5, step: 0.1, integer: false, description: "The scale of the generated image" },
109
- { name: "seed", type: types_js_1.OptionType.numeric, min: 0, max: 858993459, default: 12, integer: true, description: "The seed of the generated image" },
110
- { name: "numberOfImages", type: types_js_1.OptionType.numeric, min: 1, max: 5, default: 1, integer: true, description: "The number of images to generate" },
111
- ];
112
- let dependentOptions = [];
113
- switch (option?.taskType ?? "TEXT_IMAGE") {
114
- case "TEXT_IMAGE_WITH_IMAGE_CONDITIONING":
115
- dependentOptions.push({
116
- name: "controlMode", type: types_js_1.OptionType.enum, enum: { "CANNY_EDGE": "CANNY_EDGE", "SEGMENTATION": "SEGMENTATION" },
117
- default: "CANNY_EDGE", description: "The control mode of the generated image"
118
- }, { name: "controlStrength", type: types_js_1.OptionType.numeric, min: 0, max: 1, default: 0.7, description: "The control strength of the generated image" });
119
- break;
120
- case "COLOR_GUIDED_GENERATION":
121
- dependentOptions.push({ name: "colors", type: types_js_1.OptionType.string_list, value: [], description: "Hexadecimal color values to guide generation" });
122
- break;
123
- case "IMAGE_VARIATION":
124
- dependentOptions.push({ name: "similarityStrength", type: types_js_1.OptionType.numeric, min: 0.2, max: 1, default: 0.7, description: "The similarity strength of the generated image" });
125
- break;
126
- case "INPAINTING":
127
- //No changes
128
- break;
129
- case "OUTPAINTING":
130
- dependentOptions.push({
131
- name: "outPaintingMode", type: types_js_1.OptionType.enum, enum: { "DEFAULT": "DEFAULT", "PRECISE": "PRECISE" },
132
- default: "default", description: "The outpainting mode of the generated image"
133
- });
134
- break;
135
- case "BACKGROUND_REMOVAL":
136
- dependentOptions = [];
137
- otherOptions = [];
138
- break;
139
- }
140
- return {
141
- _option_id: "bedrock-nova-canvas",
142
- options: [
143
- tasktypeList,
144
- ...otherOptions,
145
- ...dependentOptions,
146
- ]
147
- };
148
- }
149
- else {
150
- const max_tokens_limit = getMaxTokensLimit(model, option);
151
- //Not canvas, i.e normal AWS bedrock converse
152
- const baseConverseOptions = [
153
- {
154
- name: "max_tokens",
155
- type: types_js_1.OptionType.numeric,
156
- min: 1,
157
- max: max_tokens_limit,
158
- integer: true,
159
- step: 200,
160
- description: "The maximum number of tokens to generate",
161
- },
162
- {
163
- name: "temperature",
164
- type: types_js_1.OptionType.numeric,
165
- min: 0.0,
166
- default: 0.7,
167
- step: 0.1,
168
- description: "A higher temperature biases toward less likely tokens, making the model more creative"
169
- },
170
- {
171
- name: "top_p",
172
- type: types_js_1.OptionType.numeric,
173
- min: 0,
174
- max: 1,
175
- step: 0.1,
176
- description: "Limits token sampling to the cumulative probability of the top p tokens"
177
- },
178
- {
179
- name: "stop_sequence",
180
- type: types_js_1.OptionType.string_list,
181
- value: [],
182
- description: "The generation will halt if one of the stop sequences is output"
183
- }
184
- ];
185
- if (model.includes("claude")) {
186
- const claudeConverseOptions = [
187
- {
188
- name: "top_k",
189
- type: types_js_1.OptionType.numeric,
190
- min: 1,
191
- integer: true,
192
- step: 1,
193
- description: "Limits token sampling to the top k tokens"
194
- },
195
- ];
196
- if (model.includes("3-7")) {
197
- const claudeModeOptions = [
198
- {
199
- name: "thinking_mode",
200
- type: types_js_1.OptionType.boolean,
201
- default: false,
202
- description: "If true, use the extended reasoning mode"
203
- },
204
- ];
205
- const claudeThinkingOptions = option?.thinking_mode ? [
206
- {
207
- name: "thinking_budget_tokens",
208
- type: types_js_1.OptionType.numeric,
209
- min: 1024,
210
- default: 4000,
211
- integer: true,
212
- step: 100,
213
- description: "The target number of tokens to use for reasoning, not a hard limit."
214
- },
215
- ] : [];
216
- return {
217
- _option_id: "bedrock-claude",
218
- options: [
219
- ...baseConverseOptions,
220
- ...claudeConverseOptions,
221
- ...claudeModeOptions,
222
- ...claudeThinkingOptions
223
- ]
224
- };
225
- }
226
- return {
227
- _option_id: "bedrock-claude",
228
- options: [...baseConverseOptions, ...claudeConverseOptions]
229
- };
230
- }
231
- else if (model.includes("amazon")) {
232
- //Titan models also exists but does not support any additional options
233
- if (model.includes("nova")) {
234
- const novaConverseOptions = [
235
- {
236
- name: "top_k",
237
- type: types_js_1.OptionType.numeric,
238
- min: 1,
239
- integer: true,
240
- step: 1,
241
- description: "Limits token sampling to the top k tokens"
242
- },
243
- ];
244
- return {
245
- _option_id: "bedrock-nova",
246
- options: [...baseConverseOptions, ...novaConverseOptions]
247
- };
248
- }
249
- }
250
- else if (model.includes("mistral")) {
251
- //7b and 8x7b instruct
252
- if (model.includes("7b")) {
253
- const mistralConverseOptions = [
254
- {
255
- name: "top_k",
256
- type: types_js_1.OptionType.numeric,
257
- min: 1,
258
- integer: true,
259
- step: 1,
260
- description: "Limits token sampling to the top k tokens"
261
- },
262
- ];
263
- return {
264
- _option_id: "bedrock-mistral",
265
- options: [...baseConverseOptions, ...mistralConverseOptions]
266
- };
267
- }
268
- //Other models such as Mistral Small, Large and Large 2
269
- //Support no additional options
270
- }
271
- else if (model.includes("ai21")) {
272
- const ai21ConverseOptions = [
273
- {
274
- name: "presence_penalty",
275
- type: types_js_1.OptionType.numeric,
276
- min: -2,
277
- max: 2,
278
- default: 0,
279
- step: 0.1,
280
- description: "A higher presence penalty encourages the model to talk about new topics"
281
- },
282
- {
283
- name: "frequency_penalty",
284
- type: types_js_1.OptionType.numeric,
285
- min: -2,
286
- max: 2,
287
- default: 0,
288
- step: 0.1,
289
- description: "A higher frequency penalty encourages the model to use less common words"
290
- },
291
- ];
292
- return {
293
- _option_id: "bedrock-ai21",
294
- options: [...baseConverseOptions, ...ai21ConverseOptions]
295
- };
296
- }
297
- else if (model.includes("cohere.command")) {
298
- const cohereCommandOptions = [
299
- {
300
- name: "top_k",
301
- type: types_js_1.OptionType.numeric,
302
- min: 1,
303
- integer: true,
304
- step: 1,
305
- description: "Limits token sampling to the top k tokens"
306
- },
307
- ];
308
- if (model.includes("command-r")) {
309
- const cohereCommandROptions = [
310
- {
311
- name: "frequency_penalty",
312
- type: types_js_1.OptionType.numeric,
313
- min: -2,
314
- max: 2,
315
- default: 0,
316
- step: 0.1,
317
- description: "A higher frequency penalty encourages the model to use less common words"
318
- },
319
- {
320
- name: "presence_penalty",
321
- type: types_js_1.OptionType.numeric,
322
- min: -2,
323
- max: 2,
324
- default: 0,
325
- step: 0.1,
326
- description: "A higher presence penalty encourages the model to talk about new topics"
327
- },
328
- ];
329
- return {
330
- _option_id: "bedrock-cohere-command",
331
- options: [...baseConverseOptions, ...cohereCommandOptions, ...cohereCommandROptions]
332
- };
333
- }
334
- }
335
- //Fallback to converse standard.
336
- return {
337
- _option_id: "bedrock-converse",
338
- options: baseConverseOptions
339
- };
340
- }
341
- return options_js_1.textOptionsFallback;
342
- }
343
- //# sourceMappingURL=bedrock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/options/bedrock.ts"],"names":[],"mappings":";;AA+GA,8CAoRC;AAnYD,0CAA8F;AAC9F,8CAAoD;AAoCpD,SAAS,iBAAiB,CAAC,KAAa,EAAE,MAAqB;IAC3D,gBAAgB;IAChB,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,MAAM,IAAK,MAA+B,EAAE,aAAa,EAAE,CAAC;gBAC5D,OAAO,MAAM,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;aACI,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,gBAAgB;SACX,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YAChB,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YAChB,CAAC;iBAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC;YAChB,CAAC;QAEL,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,iBAAiB;SACZ,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,cAAc;SACT,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9E,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,gBAAgB;SACX,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,cAAc;SACT,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,mBAAmB;IACnB,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAAa,EAAE,MAAqB;IAClE,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAwB;YACtC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,qBAAU,CAAC,IAAI;YACrB,IAAI,EAAE;gBACF,eAAe,EAAE,YAAY;gBAC7B,uCAAuC,EAAE,oCAAoC;gBAC7E,yBAAyB,EAAE,yBAAyB;gBACpD,iBAAiB,EAAE,iBAAiB;gBACpC,YAAY,EAAE,YAAY;gBAC1B,aAAa,EAAE,aAAa;gBAC5B,oBAAoB,EAAE,oBAAoB;aAC7C;YACD,OAAO,EAAE,YAAY;YACrB,WAAW,EAAE,6BAA6B;YAC1C,OAAO,EAAE,IAAI;SAChB,CAAC;QAEF,IAAI,YAAY,GAA0B;YACtC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,kCAAkC,EAAE;YACxJ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAC1J;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,qBAAU,CAAC,IAAI;gBACrB,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE;gBACtD,OAAO,EAAE,UAAU;gBACnB,WAAW,EAAE,oCAAoC;aACpD;YACD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,kCAAkC,EAAE;YAC7J,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,iCAAiC,EAAE;YAC9I,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,kCAAkC,EAAE;SACnJ,CAAC;QAEF,IAAI,gBAAgB,GAA0B,EAAE,CAAC;QAEjD,QAAS,MAA4B,EAAE,QAAQ,IAAI,YAAY,EAAE,CAAC;YAC9D,KAAK,oCAAoC;gBACrC,gBAAgB,CAAC,IAAI,CACjB;oBACI,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,qBAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE;oBAChH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,yCAAyC;iBAChF,EACD,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,6CAA6C,EAAE,CAClJ,CAAC;gBACF,MAAM;YACV,KAAK,yBAAyB;gBAC1B,gBAAgB,CAAC,IAAI,CACjB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAU,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAC3H,CAAA;gBACD,MAAM;YACV,KAAK,iBAAiB;gBAClB,gBAAgB,CAAC,IAAI,CACjB,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAC1J,CAAA;gBACD,MAAM;YACV,KAAK,YAAY;gBACb,YAAY;gBACZ,MAAM;YACV,KAAK,aAAa;gBACd,gBAAgB,CAAC,IAAI,CACjB;oBACI,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,qBAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;oBACpG,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,6CAA6C;iBACjF,CACJ,CAAA;gBACD,MAAM;YACV,KAAK,oBAAoB;gBACrB,gBAAgB,GAAG,EAAE,CAAC;gBACtB,YAAY,GAAG,EAAE,CAAC;gBAClB,MAAM;QACd,CAAC;QAED,OAAO;YACH,UAAU,EAAE,qBAAqB;YACjC,OAAO,EAAE;gBACL,YAAY;gBACZ,GAAG,YAAY;gBACf,GAAG,gBAAgB;aACtB;SACJ,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1D,6CAA6C;QAC7C,MAAM,mBAAmB,GAA0B;YAC/C;gBACI,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,qBAAU,CAAC,OAAO;gBACxB,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,gBAAgB;gBACrB,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,0CAA0C;aAC1D;YACD;gBACI,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,qBAAU,CAAC,OAAO;gBACxB,GAAG,EAAE,GAAG;gBACR,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,uFAAuF;aACvG;YACD;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,qBAAU,CAAC,OAAO;gBACxB,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,GAAG;gBACT,WAAW,EAAE,yEAAyE;aACzF;YACD;gBACI,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,qBAAU,CAAC,WAAW;gBAC5B,KAAK,EAAE,EAAE;gBACT,WAAW,EAAE,iEAAiE;aACjF;SAAC,CAAC;QAEP,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3B,MAAM,qBAAqB,GAA0B;gBACjD;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,qBAAU,CAAC,OAAO;oBACxB,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,CAAC;oBACP,WAAW,EAAE,2CAA2C;iBAC3D;aACJ,CAAC;YACF,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,iBAAiB,GAA0B;oBAC7C;wBACI,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,qBAAU,CAAC,OAAO;wBACxB,OAAO,EAAE,KAAK;wBACd,WAAW,EAAE,0CAA0C;qBAC1D;iBACJ,CAAC;gBACF,MAAM,qBAAqB,GAA2B,MAA+B,EAAE,aAAa,CAAC,CAAC,CAAC;oBACnG;wBACI,IAAI,EAAE,wBAAwB;wBAC9B,IAAI,EAAE,qBAAU,CAAC,OAAO;wBACxB,GAAG,EAAE,IAAI;wBACT,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,GAAG;wBACT,WAAW,EAAE,qEAAqE;qBACrF;iBACJ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEP,OAAO;oBACH,UAAU,EAAE,gBAAgB;oBAC5B,OAAO,EAAE;wBACL,GAAG,mBAAmB;wBACtB,GAAG,qBAAqB;wBACxB,GAAG,iBAAiB;wBACpB,GAAG,qBAAqB;qBAAC;iBAChC,CAAA;YACL,CAAC;YACD,OAAO;gBACH,UAAU,EAAE,gBAAgB;gBAC5B,OAAO,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,qBAAqB,CAAC;aAC9D,CAAA;QACL,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,sEAAsE;YACtE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzB,MAAM,mBAAmB,GAA0B;oBAC/C;wBACI,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,qBAAU,CAAC,OAAO;wBACxB,GAAG,EAAE,CAAC;wBACN,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,CAAC;wBACP,WAAW,EAAE,2CAA2C;qBAC3D;iBACJ,CAAC;gBACF,OAAO;oBACH,UAAU,EAAE,cAAc;oBAC1B,OAAO,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,mBAAmB,CAAC;iBAC5D,CAAA;YACL,CAAC;QACL,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,sBAAsB;YACtB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,sBAAsB,GAA0B;oBAClD;wBACI,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,qBAAU,CAAC,OAAO;wBACxB,GAAG,EAAE,CAAC;wBACN,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,CAAC;wBACP,WAAW,EAAE,2CAA2C;qBAC3D;iBACJ,CAAC;gBACF,OAAO;oBACH,UAAU,EAAE,iBAAiB;oBAC7B,OAAO,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,sBAAsB,CAAC;iBAC/D,CAAA;YACL,CAAC;YACD,uDAAuD;YACvD,+BAA+B;QACnC,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,mBAAmB,GAA0B;gBAC/C;oBACI,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,qBAAU,CAAC,OAAO;oBACxB,GAAG,EAAE,CAAC,CAAC;oBACP,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,CAAC;oBACV,IAAI,EAAE,GAAG;oBACT,WAAW,EAAE,yEAAyE;iBACzF;gBACD;oBACI,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,qBAAU,CAAC,OAAO;oBACxB,GAAG,EAAE,CAAC,CAAC;oBACP,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,CAAC;oBACV,IAAI,EAAE,GAAG;oBACT,WAAW,EAAE,0EAA0E;iBAC1F;aACJ,CAAC;YAEF,OAAO;gBACH,UAAU,EAAE,cAAc;gBAC1B,OAAO,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,mBAAmB,CAAC;aAC5D,CAAA;QACL,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACxC,MAAM,oBAAoB,GAA0B;gBAChD;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,qBAAU,CAAC,OAAO;oBACxB,GAAG,EAAE,CAAC;oBACN,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,CAAC;oBACP,WAAW,EAAE,2CAA2C;iBAC3D;aACJ,CAAC;YACF,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,MAAM,qBAAqB,GAA0B;oBACjD;wBACI,IAAI,EAAE,mBAAmB;wBACzB,IAAI,EAAE,qBAAU,CAAC,OAAO;wBACxB,GAAG,EAAE,CAAC,CAAC;wBACP,GAAG,EAAE,CAAC;wBACN,OAAO,EAAE,CAAC;wBACV,IAAI,EAAE,GAAG;wBACT,WAAW,EAAE,0EAA0E;qBAC1F;oBACD;wBACI,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,qBAAU,CAAC,OAAO;wBACxB,GAAG,EAAE,CAAC,CAAC;wBACP,GAAG,EAAE,CAAC;wBACN,OAAO,EAAE,CAAC;wBACV,IAAI,EAAE,GAAG;wBACT,WAAW,EAAE,yEAAyE;qBACzF;iBACJ,CAAC;gBACF,OAAO;oBACH,UAAU,EAAE,wBAAwB;oBACpC,OAAO,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,oBAAoB,EAAE,GAAG,qBAAqB,CAAC;iBACvF,CAAA;YACL,CAAC;QACL,CAAC;QAED,gCAAgC;QAChC,OAAO;YACH,UAAU,EAAE,kBAAkB;YAC9B,OAAO,EAAE,mBAAmB;SAC/B,CAAC;IACN,CAAC;IACD,OAAO,gCAAmB,CAAC;AAC/B,CAAC"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getGroqOptions = getGroqOptions;
4
- const types_js_1 = require("../types.js");
5
- const options_js_1 = require("../options.js");
6
- function getGroqOptions(model, _option) {
7
- if (model.includes("deepseek") && model.includes("r1")) {
8
- const commonOptions = [
9
- {
10
- name: types_js_1.SharedOptions.max_tokens, type: types_js_1.OptionType.numeric, min: 1, max: 131072,
11
- integer: true, description: "The maximum number of tokens to generate",
12
- },
13
- {
14
- name: types_js_1.SharedOptions.temperature, type: types_js_1.OptionType.numeric, min: 0.0, default: 0.7, max: 2.0,
15
- integer: false, step: 0.1, description: "A higher temperature biases toward less likely tokens, making the model more creative. A lower temperature than other models is recommended for deepseek R1, 0.3-0.7 approximately.",
16
- },
17
- {
18
- name: types_js_1.SharedOptions.top_p, type: types_js_1.OptionType.numeric, min: 0, max: 1,
19
- integer: false, step: 0.1, description: "Limits token sampling to the cumulative probability of the top p tokens",
20
- },
21
- {
22
- name: types_js_1.SharedOptions.stop_sequence, type: types_js_1.OptionType.string_list, value: [],
23
- description: "The generation will halt if one of the stop sequences is output",
24
- },
25
- {
26
- name: "reasoning_format", type: types_js_1.OptionType.enum, enum: { "Parsed": "parsed", "Raw": "raw", "Hidden": "hidden" },
27
- default: "parsed", description: "Controls how the reasoning is returned.",
28
- },
29
- ];
30
- return {
31
- _option_id: "groq-deepseek-thinking",
32
- options: commonOptions,
33
- };
34
- }
35
- return options_js_1.textOptionsFallback;
36
- }
37
- //# sourceMappingURL=groq.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"groq.js","sourceRoot":"","sources":["../../../src/options/groq.ts"],"names":[],"mappings":";;AAeA,wCA+BC;AA9CD,0CAA6G;AAC7G,8CAAoD;AAcpD,SAAgB,cAAc,CAAC,KAAa,EAAE,OAAsB;IAChE,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,aAAa,GAA0B;YACzC;gBACI,IAAI,EAAE,wBAAa,CAAC,UAAU,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM;gBAC7E,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,0CAA0C;aACzE;YACD;gBACI,IAAI,EAAE,wBAAa,CAAC,WAAW,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;gBAC3F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,qLAAqL;aAChO;YACD;gBACI,IAAI,EAAE,wBAAa,CAAC,KAAK,EAAE,IAAI,EAAE,qBAAU,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;gBACnE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,yEAAyE;aACpH;YACD;gBACI,IAAI,EAAE,wBAAa,CAAC,aAAa,EAAE,IAAI,EAAE,qBAAU,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;gBAC1E,WAAW,EAAE,iEAAiE;aACjF;YACD;gBACI,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,qBAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBAC/G,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC;aAC5E;SACJ,CAAC;QAEF,OAAO;YACH,UAAU,EAAE,wBAAwB;YACpC,OAAO,EAAE,aAAa;SACzB,CAAC;IACN,CAAC;IACD,OAAO,gCAAmB,CAAC;AAC/B,CAAC"}
@@ -1,123 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOpenAiOptions = getOpenAiOptions;
4
- const types_js_1 = require("../types.js");
5
- const options_js_1 = require("../options.js");
6
- function getOpenAiOptions(model, _option) {
7
- const visionOptions = isVisionModel(model) ? [
8
- {
9
- name: "image_detail", type: types_js_1.OptionType.enum, enum: { "Low": "low", "High": "high", "Auto": "auto" },
10
- default: "auto", description: "Controls how the model processes an input image."
11
- },
12
- ] : [];
13
- if (model.includes("o1") || model.includes("o3")) {
14
- //Is thinking text model
15
- let max_tokens_limit = 4096;
16
- if (model.includes("o1")) {
17
- if (model.includes("preview")) {
18
- max_tokens_limit = 32768;
19
- }
20
- else if (model.includes("mini")) {
21
- max_tokens_limit = 65536;
22
- }
23
- else {
24
- max_tokens_limit = 100000;
25
- }
26
- }
27
- else if (model.includes("o3")) {
28
- max_tokens_limit = 100000;
29
- }
30
- const commonOptions = [
31
- {
32
- name: types_js_1.SharedOptions.max_tokens, type: types_js_1.OptionType.numeric, min: 1, max: max_tokens_limit,
33
- integer: true, description: "The maximum number of tokens to generate",
34
- },
35
- {
36
- name: types_js_1.SharedOptions.stop_sequence, type: types_js_1.OptionType.string_list, value: [],
37
- description: "The stop sequence of the generated image",
38
- },
39
- ];
40
- const reasoningOptions = model.includes("o3") || isO1Full(model) ? [
41
- {
42
- name: "reasoning_effort", type: types_js_1.OptionType.enum, enum: { "Low": "low", "Medium": "medium", "High": "high" },
43
- default: "medium", description: "How much effort the model should put into reasoning, lower values result in faster responses and less tokens used."
44
- },
45
- ] : [];
46
- return {
47
- _option_id: "openai-thinking",
48
- options: [
49
- ...commonOptions,
50
- ...reasoningOptions,
51
- ...visionOptions,
52
- ],
53
- };
54
- }
55
- else {
56
- let max_tokens_limit = 4096;
57
- if (model.includes("gpt-4o")) {
58
- max_tokens_limit = 16384;
59
- if (model.includes("gpt-4o-2024-05-13") || model.includes("realtime")) {
60
- max_tokens_limit = 4096;
61
- }
62
- }
63
- else if (model.includes("gpt-4")) {
64
- if (model.includes("turbo")) {
65
- max_tokens_limit = 4096;
66
- }
67
- else {
68
- max_tokens_limit = 8192;
69
- }
70
- }
71
- else if (model.includes("gpt-3-5")) {
72
- max_tokens_limit = 4096;
73
- }
74
- //Is non-thinking text model
75
- const commonOptions = [
76
- {
77
- name: types_js_1.SharedOptions.max_tokens, type: types_js_1.OptionType.numeric, min: 1, max: max_tokens_limit,
78
- integer: true, step: 200, description: "The maximum number of tokens to generate",
79
- },
80
- {
81
- name: "temperature", type: types_js_1.OptionType.numeric, min: 0.0, max: 2.0, default: 0.7,
82
- integer: false, step: 0.1, description: "A higher temperature biases toward less likely tokens, making the model more creative"
83
- },
84
- {
85
- name: "top_p", type: types_js_1.OptionType.numeric, min: 0, max: 1,
86
- integer: false, step: 0.1, description: "Limits token sampling to the cumulative probability of the top p tokens"
87
- },
88
- {
89
- name: "presence_penalty", type: types_js_1.OptionType.numeric, min: -2.0, max: 2.0,
90
- integer: false, step: 0.1, description: "Penalise tokens if they appear at least once in the text"
91
- },
92
- {
93
- name: "frequency_penalty", type: types_js_1.OptionType.numeric, min: -2.0, max: 2.0,
94
- integer: false, step: 0.1, description: "Penalise tokens based on their frequency in the text"
95
- },
96
- {
97
- name: types_js_1.SharedOptions.stop_sequence, type: types_js_1.OptionType.string_list, value: [],
98
- description: "The generation will halt if one of the stop sequences is output",
99
- }
100
- ];
101
- return {
102
- _option_id: "openai-text",
103
- options: [
104
- ...commonOptions,
105
- ...visionOptions,
106
- ],
107
- };
108
- }
109
- return options_js_1.textOptionsFallback;
110
- }
111
- function isO1Full(model) {
112
- if (model.includes("o1")) {
113
- if (model.includes("mini") || model.includes("preview")) {
114
- return false;
115
- }
116
- return true;
117
- }
118
- return false;
119
- }
120
- function isVisionModel(model) {
121
- return model.includes("gpt-4o") || isO1Full(model) || model.includes("gpt-4-turbo");
122
- }
123
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/options/openai.ts"],"names":[],"mappings":"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"}