@llumiverse/common 0.25.0 → 0.25.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 (86) hide show
  1. package/lib/cjs/capability/azure_foundry.js +160 -0
  2. package/lib/cjs/capability/azure_foundry.js.map +1 -0
  3. package/lib/cjs/capability/bedrock.js +158 -0
  4. package/lib/cjs/capability/bedrock.js.map +1 -0
  5. package/lib/cjs/capability/openai.js +95 -0
  6. package/lib/cjs/capability/openai.js.map +1 -0
  7. package/lib/cjs/capability/vertexai.js +80 -0
  8. package/lib/cjs/capability/vertexai.js.map +1 -0
  9. package/lib/cjs/capability.js +82 -0
  10. package/lib/cjs/capability.js.map +1 -0
  11. package/lib/cjs/index.js +25 -0
  12. package/lib/cjs/index.js.map +1 -0
  13. package/lib/cjs/options/azure_foundry.js +428 -0
  14. package/lib/cjs/options/azure_foundry.js.map +1 -0
  15. package/lib/cjs/options/bedrock.js +462 -0
  16. package/lib/cjs/options/bedrock.js.map +1 -0
  17. package/lib/cjs/options/fallback.js +35 -0
  18. package/lib/cjs/options/fallback.js.map +1 -0
  19. package/lib/cjs/options/groq.js +37 -0
  20. package/lib/cjs/options/groq.js.map +1 -0
  21. package/lib/cjs/options/openai.js +126 -0
  22. package/lib/cjs/options/openai.js.map +1 -0
  23. package/lib/cjs/options/vertexai.js +503 -0
  24. package/lib/cjs/options/vertexai.js.map +1 -0
  25. package/lib/cjs/options.js +30 -0
  26. package/lib/cjs/options.js.map +1 -0
  27. package/lib/cjs/package.json +3 -0
  28. package/lib/cjs/types.js +195 -0
  29. package/lib/cjs/types.js.map +1 -0
  30. package/lib/esm/capability/azure_foundry.js +157 -0
  31. package/lib/esm/capability/azure_foundry.js.map +1 -0
  32. package/lib/esm/capability/bedrock.js +155 -0
  33. package/lib/esm/capability/bedrock.js.map +1 -0
  34. package/lib/esm/capability/openai.js +92 -0
  35. package/lib/esm/capability/openai.js.map +1 -0
  36. package/lib/esm/capability/vertexai.js +77 -0
  37. package/lib/esm/capability/vertexai.js.map +1 -0
  38. package/lib/esm/capability.js +77 -0
  39. package/lib/esm/capability.js.map +1 -0
  40. package/lib/esm/index.js +9 -0
  41. package/lib/esm/index.js.map +1 -0
  42. package/lib/esm/options/azure_foundry.js +424 -0
  43. package/lib/esm/options/azure_foundry.js.map +1 -0
  44. package/lib/esm/options/bedrock.js +458 -0
  45. package/lib/esm/options/bedrock.js.map +1 -0
  46. package/lib/esm/options/fallback.js +32 -0
  47. package/lib/esm/options/fallback.js.map +1 -0
  48. package/lib/esm/options/groq.js +34 -0
  49. package/lib/esm/options/groq.js.map +1 -0
  50. package/lib/esm/options/openai.js +123 -0
  51. package/lib/esm/options/openai.js.map +1 -0
  52. package/lib/esm/options/vertexai.js +498 -0
  53. package/lib/esm/options/vertexai.js.map +1 -0
  54. package/lib/esm/options.js +27 -0
  55. package/lib/esm/options.js.map +1 -0
  56. package/lib/esm/types.js +192 -0
  57. package/lib/esm/types.js.map +1 -0
  58. package/lib/types/capability/azure_foundry.d.ts +7 -0
  59. package/lib/types/capability/azure_foundry.d.ts.map +1 -0
  60. package/lib/types/capability/bedrock.d.ts +7 -0
  61. package/lib/types/capability/bedrock.d.ts.map +1 -0
  62. package/lib/types/capability/openai.d.ts +13 -0
  63. package/lib/types/capability/openai.d.ts.map +1 -0
  64. package/lib/types/capability/vertexai.d.ts +11 -0
  65. package/lib/types/capability/vertexai.d.ts.map +1 -0
  66. package/lib/types/capability.d.ts +5 -0
  67. package/lib/types/capability.d.ts.map +1 -0
  68. package/lib/types/index.d.ts +9 -0
  69. package/lib/types/index.d.ts.map +1 -0
  70. package/lib/types/options/azure_foundry.d.ts +52 -0
  71. package/lib/types/options/azure_foundry.d.ts.map +1 -0
  72. package/lib/types/options/bedrock.d.ts +52 -0
  73. package/lib/types/options/bedrock.d.ts.map +1 -0
  74. package/lib/types/options/fallback.d.ts +13 -0
  75. package/lib/types/options/fallback.d.ts.map +1 -0
  76. package/lib/types/options/groq.d.ts +12 -0
  77. package/lib/types/options/groq.d.ts.map +1 -0
  78. package/lib/types/options/openai.d.ts +21 -0
  79. package/lib/types/options/openai.d.ts.map +1 -0
  80. package/lib/types/options/vertexai.d.ts +74 -0
  81. package/lib/types/options/vertexai.d.ts.map +1 -0
  82. package/lib/types/options.d.ts +3 -0
  83. package/lib/types/options.d.ts.map +1 -0
  84. package/lib/types/types.d.ts +442 -0
  85. package/lib/types/types.d.ts.map +1 -0
  86. package/package.json +1 -1
@@ -0,0 +1,462 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxTokensLimitBedrock = getMaxTokensLimitBedrock;
4
+ exports.getBedrockOptions = getBedrockOptions;
5
+ const types_js_1 = require("../types.js");
6
+ const fallback_js_1 = require("./fallback.js");
7
+ function getMaxTokensLimitBedrock(model) {
8
+ // Claude models
9
+ if (model.includes("claude")) {
10
+ if (model.includes("-4-")) {
11
+ if (model.includes("opus-")) {
12
+ return 32768;
13
+ }
14
+ return 65536;
15
+ }
16
+ else if (model.includes("-3-7-")) {
17
+ return 131072;
18
+ }
19
+ else if (model.includes("-3-5-")) {
20
+ return 8192;
21
+ }
22
+ else {
23
+ return 4096;
24
+ }
25
+ }
26
+ // Amazon models
27
+ else if (model.includes("amazon")) {
28
+ if (model.includes("titan")) {
29
+ if (model.includes("lite")) {
30
+ return 4096;
31
+ }
32
+ else if (model.includes("express")) {
33
+ return 8192;
34
+ }
35
+ else if (model.includes("premier")) {
36
+ return 3072;
37
+ }
38
+ }
39
+ else if (model.includes("nova")) {
40
+ return 10000;
41
+ }
42
+ }
43
+ // Mistral models
44
+ else if (model.includes("mistral")) {
45
+ if (model.includes("8x7b")) {
46
+ return 4096;
47
+ }
48
+ if (model.includes("pixtral-large")) {
49
+ return 131072;
50
+ }
51
+ return 8192;
52
+ }
53
+ // AI21 models
54
+ else if (model.includes("ai21")) {
55
+ if (model.includes("j2")) {
56
+ if (model.includes("large") || model.includes("mid") || model.includes("ultra")) {
57
+ return 8191;
58
+ }
59
+ return 2048;
60
+ }
61
+ if (model.includes("jamba")) {
62
+ return 4096;
63
+ }
64
+ }
65
+ // Cohere models
66
+ else if (model.includes("cohere.command")) {
67
+ if (model.includes("command-a")) {
68
+ return 8192;
69
+ }
70
+ return 4096;
71
+ }
72
+ // Meta models
73
+ else if (model.includes("llama")) {
74
+ if (model.includes("3-70b") || model.includes("3-8b")) {
75
+ return 2048;
76
+ }
77
+ return 8192;
78
+ }
79
+ //Writer models
80
+ else if (model.includes("writer")) {
81
+ if (model.includes("palmyra-x5")) {
82
+ return 8192;
83
+ }
84
+ else if (model.includes("palmyra-x4")) {
85
+ return 8192;
86
+ }
87
+ }
88
+ // OpenAI gpt-oss models
89
+ if (model.includes("gpt-oss")) {
90
+ return 128000;
91
+ }
92
+ // TwelveLabs models
93
+ else if (model.includes("twelvelabs")) {
94
+ if (model.includes("pegasus")) {
95
+ return 4096; // Max output tokens for Pegasus
96
+ }
97
+ // Marengo is an embedding model, doesn't generate text
98
+ return undefined;
99
+ }
100
+ // Default fallback
101
+ return undefined;
102
+ }
103
+ function getBedrockOptions(model, option) {
104
+ if (model.includes("canvas")) {
105
+ const taskTypeList = {
106
+ name: "taskType",
107
+ type: types_js_1.OptionType.enum,
108
+ enum: {
109
+ "Text-To-Image": "TEXT_IMAGE",
110
+ "Text-To-Image-with-Image-Conditioning": "TEXT_IMAGE_WITH_IMAGE_CONDITIONING",
111
+ "Color-Guided-Generation": "COLOR_GUIDED_GENERATION",
112
+ "Image-Variation": "IMAGE_VARIATION",
113
+ "Inpainting": "INPAINTING",
114
+ "Outpainting": "OUTPAINTING",
115
+ "Background-Removal": "BACKGROUND_REMOVAL",
116
+ },
117
+ default: "TEXT_IMAGE",
118
+ description: "The type of task to perform",
119
+ refresh: true,
120
+ };
121
+ let otherOptions = [
122
+ { 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" },
123
+ { 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" },
124
+ {
125
+ name: "quality",
126
+ type: types_js_1.OptionType.enum,
127
+ enum: { "standard": "standard", "premium": "premium" },
128
+ default: "standard",
129
+ description: "The quality of the generated image"
130
+ },
131
+ { 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" },
132
+ { name: "seed", type: types_js_1.OptionType.numeric, min: 0, max: 858993459, default: 12, integer: true, description: "The seed of the generated image" },
133
+ { name: "numberOfImages", type: types_js_1.OptionType.numeric, min: 1, max: 5, default: 1, integer: true, description: "The number of images to generate" },
134
+ ];
135
+ let dependentOptions = [];
136
+ switch (option?.taskType ?? "TEXT_IMAGE") {
137
+ case "TEXT_IMAGE_WITH_IMAGE_CONDITIONING":
138
+ dependentOptions.push({
139
+ name: "controlMode", type: types_js_1.OptionType.enum, enum: { "CANNY_EDGE": "CANNY_EDGE", "SEGMENTATION": "SEGMENTATION" },
140
+ default: "CANNY_EDGE", description: "The control mode of the generated image"
141
+ }, { name: "controlStrength", type: types_js_1.OptionType.numeric, min: 0, max: 1, default: 0.7, description: "The control strength of the generated image" });
142
+ break;
143
+ case "COLOR_GUIDED_GENERATION":
144
+ dependentOptions.push({ name: "colors", type: types_js_1.OptionType.string_list, value: [], description: "Hexadecimal color values to guide generation" });
145
+ break;
146
+ case "IMAGE_VARIATION":
147
+ 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" });
148
+ break;
149
+ case "INPAINTING":
150
+ //No changes
151
+ break;
152
+ case "OUTPAINTING":
153
+ dependentOptions.push({
154
+ name: "outPaintingMode", type: types_js_1.OptionType.enum, enum: { "DEFAULT": "DEFAULT", "PRECISE": "PRECISE" },
155
+ default: "default", description: "The outpainting mode of the generated image"
156
+ });
157
+ break;
158
+ case "BACKGROUND_REMOVAL":
159
+ dependentOptions = [];
160
+ otherOptions = [];
161
+ break;
162
+ }
163
+ return {
164
+ _option_id: "bedrock-nova-canvas",
165
+ options: [
166
+ taskTypeList,
167
+ ...otherOptions,
168
+ ...dependentOptions,
169
+ ]
170
+ };
171
+ }
172
+ else {
173
+ const max_tokens_limit = getMaxTokensLimitBedrock(model);
174
+ //Not canvas, i.e normal AWS bedrock converse
175
+ const baseConverseOptions = [
176
+ {
177
+ name: "max_tokens",
178
+ type: types_js_1.OptionType.numeric,
179
+ min: 1,
180
+ max: max_tokens_limit,
181
+ integer: true,
182
+ step: 200,
183
+ description: "The maximum number of tokens to generate",
184
+ },
185
+ {
186
+ name: "temperature",
187
+ type: types_js_1.OptionType.numeric,
188
+ min: 0.0,
189
+ default: 0.7,
190
+ step: 0.1,
191
+ description: "A higher temperature biases toward less likely tokens, making the model more creative"
192
+ },
193
+ {
194
+ name: "top_p",
195
+ type: types_js_1.OptionType.numeric,
196
+ min: 0,
197
+ max: 1,
198
+ step: 0.1,
199
+ description: "Limits token sampling to the cumulative probability of the top p tokens"
200
+ },
201
+ {
202
+ name: "stop_sequence",
203
+ type: types_js_1.OptionType.string_list,
204
+ value: [],
205
+ description: "The generation will halt if one of the stop sequences is output"
206
+ }
207
+ ];
208
+ if (model.includes("claude")) {
209
+ const claudeConverseOptions = [
210
+ {
211
+ name: "top_k",
212
+ type: types_js_1.OptionType.numeric,
213
+ min: 1,
214
+ integer: true,
215
+ step: 1,
216
+ description: "Limits token sampling to the top k tokens"
217
+ },
218
+ ];
219
+ if (model.includes("-3-7-") || model.includes("-4-")) {
220
+ const claudeModeOptions = [
221
+ {
222
+ name: "thinking_mode",
223
+ type: types_js_1.OptionType.boolean,
224
+ default: false,
225
+ description: "If true, use the extended reasoning mode"
226
+ },
227
+ ];
228
+ const claudeThinkingOptions = option?.thinking_mode ? [
229
+ {
230
+ name: "thinking_budget_tokens",
231
+ type: types_js_1.OptionType.numeric,
232
+ min: 1024,
233
+ default: 1024,
234
+ integer: true,
235
+ step: 100,
236
+ description: "The target number of tokens to use for reasoning, not a hard limit."
237
+ },
238
+ {
239
+ name: "include_thoughts",
240
+ type: types_js_1.OptionType.boolean,
241
+ default: false,
242
+ description: "If true, include the reasoning in the response"
243
+ },
244
+ ] : [];
245
+ return {
246
+ _option_id: "bedrock-claude",
247
+ options: [
248
+ ...baseConverseOptions,
249
+ ...claudeConverseOptions,
250
+ ...claudeModeOptions,
251
+ ...claudeThinkingOptions
252
+ ]
253
+ };
254
+ }
255
+ return {
256
+ _option_id: "bedrock-claude",
257
+ options: [...baseConverseOptions, ...claudeConverseOptions]
258
+ };
259
+ }
260
+ else if (model.includes("amazon")) {
261
+ //Titan models also exists but does not support any additional options
262
+ if (model.includes("nova")) {
263
+ const novaConverseOptions = [
264
+ {
265
+ name: "top_k",
266
+ type: types_js_1.OptionType.numeric,
267
+ min: 1,
268
+ integer: true,
269
+ step: 1,
270
+ description: "Limits token sampling to the top k tokens"
271
+ },
272
+ ];
273
+ return {
274
+ _option_id: "bedrock-nova",
275
+ options: [...baseConverseOptions, ...novaConverseOptions]
276
+ };
277
+ }
278
+ }
279
+ else if (model.includes("mistral")) {
280
+ //7b and 8x7b instruct
281
+ if (model.includes("7b")) {
282
+ const mistralConverseOptions = [
283
+ {
284
+ name: "top_k",
285
+ type: types_js_1.OptionType.numeric,
286
+ min: 1,
287
+ integer: true,
288
+ step: 1,
289
+ description: "Limits token sampling to the top k tokens"
290
+ },
291
+ ];
292
+ return {
293
+ _option_id: "bedrock-mistral",
294
+ options: [...baseConverseOptions, ...mistralConverseOptions]
295
+ };
296
+ }
297
+ //Other models such as Mistral Small, Large and Large 2
298
+ //Support no additional options
299
+ }
300
+ else if (model.includes("ai21")) {
301
+ const ai21ConverseOptions = [
302
+ {
303
+ name: "presence_penalty",
304
+ type: types_js_1.OptionType.numeric,
305
+ min: -2,
306
+ max: 2,
307
+ default: 0,
308
+ step: 0.1,
309
+ description: "A higher presence penalty encourages the model to talk about new topics"
310
+ },
311
+ {
312
+ name: "frequency_penalty",
313
+ type: types_js_1.OptionType.numeric,
314
+ min: -2,
315
+ max: 2,
316
+ default: 0,
317
+ step: 0.1,
318
+ description: "A higher frequency penalty encourages the model to use less common words"
319
+ },
320
+ ];
321
+ return {
322
+ _option_id: "bedrock-ai21",
323
+ options: [...baseConverseOptions, ...ai21ConverseOptions]
324
+ };
325
+ }
326
+ else if (model.includes("cohere.command")) {
327
+ const cohereCommandOptions = [
328
+ {
329
+ name: "top_k",
330
+ type: types_js_1.OptionType.numeric,
331
+ min: 1,
332
+ integer: true,
333
+ step: 1,
334
+ description: "Limits token sampling to the top k tokens"
335
+ },
336
+ ];
337
+ if (model.includes("command-r")) {
338
+ const cohereCommandROptions = [
339
+ {
340
+ name: "frequency_penalty",
341
+ type: types_js_1.OptionType.numeric,
342
+ min: -2,
343
+ max: 2,
344
+ default: 0,
345
+ step: 0.1,
346
+ description: "A higher frequency penalty encourages the model to use less common words"
347
+ },
348
+ {
349
+ name: "presence_penalty",
350
+ type: types_js_1.OptionType.numeric,
351
+ min: -2,
352
+ max: 2,
353
+ default: 0,
354
+ step: 0.1,
355
+ description: "A higher presence penalty encourages the model to talk about new topics"
356
+ },
357
+ ];
358
+ return {
359
+ _option_id: "bedrock-cohere-command",
360
+ options: [...baseConverseOptions, ...cohereCommandOptions, ...cohereCommandROptions]
361
+ };
362
+ }
363
+ }
364
+ else if (model.includes("writer")) {
365
+ const palmyraConverseOptions = [
366
+ {
367
+ name: "min_tokens",
368
+ type: types_js_1.OptionType.numeric,
369
+ min: 1,
370
+ max: max_tokens_limit,
371
+ integer: false,
372
+ step: 100,
373
+ },
374
+ {
375
+ name: "seed",
376
+ type: types_js_1.OptionType.numeric,
377
+ integer: true,
378
+ description: "Random seed for generation"
379
+ },
380
+ {
381
+ name: "frequency_penalty",
382
+ type: types_js_1.OptionType.numeric,
383
+ min: -2,
384
+ max: 2,
385
+ default: 0,
386
+ step: 0.1,
387
+ description: "A higher frequency penalty encourages the model to use less common words"
388
+ },
389
+ {
390
+ name: "presence_penalty",
391
+ type: types_js_1.OptionType.numeric,
392
+ min: -2,
393
+ max: 2,
394
+ default: 0,
395
+ step: 0.1,
396
+ description: "A higher presence penalty encourages the model to talk about new topics"
397
+ },
398
+ ];
399
+ return {
400
+ _option_id: "bedrock-palmyra",
401
+ options: [...baseConverseOptions, ...palmyraConverseOptions]
402
+ };
403
+ }
404
+ else if (model.includes("gpt-oss")) {
405
+ const gptOssOptions = [
406
+ {
407
+ name: "reasoning_effort",
408
+ type: types_js_1.OptionType.enum,
409
+ enum: {
410
+ "low": "low",
411
+ "medium": "medium",
412
+ "high": "high"
413
+ },
414
+ default: "medium",
415
+ description: "The reasoning effort of the model, which affects the quality and speed of the response"
416
+ },
417
+ ];
418
+ const baseConverseOptionsNoStop = [...baseConverseOptions];
419
+ // Remove stop_sequence for gpt-oss
420
+ baseConverseOptionsNoStop.splice(baseConverseOptionsNoStop.findIndex(o => o.name === "stop_sequence"), 1);
421
+ return {
422
+ _option_id: "bedrock-gpt-oss",
423
+ options: [...baseConverseOptionsNoStop, ...gptOssOptions]
424
+ };
425
+ }
426
+ else if (model.includes("twelvelabs")) {
427
+ if (model.includes("pegasus")) {
428
+ const pegasusOptions = [
429
+ {
430
+ name: "temperature",
431
+ type: types_js_1.OptionType.numeric,
432
+ min: 0.0,
433
+ max: 1.0,
434
+ default: 0.2,
435
+ step: 0.1,
436
+ description: "Controls randomness in the output"
437
+ },
438
+ {
439
+ name: "max_tokens",
440
+ type: types_js_1.OptionType.numeric,
441
+ min: 1,
442
+ max: 4096,
443
+ integer: true,
444
+ step: 100,
445
+ description: "The maximum number of tokens to generate"
446
+ }
447
+ ];
448
+ return {
449
+ _option_id: "bedrock-twelvelabs-pegasus",
450
+ options: pegasusOptions
451
+ };
452
+ }
453
+ }
454
+ //Fallback to converse standard.
455
+ return {
456
+ _option_id: "bedrock-converse",
457
+ options: baseConverseOptions
458
+ };
459
+ }
460
+ return fallback_js_1.textOptionsFallback;
461
+ }
462
+ //# sourceMappingURL=bedrock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../src/options/bedrock.ts"],"names":[],"mappings":";;AA2DA,4DA+FC;AAED,8CAoXC;AAhhBD,0CAA8F;AAC9F,+CAAoD;AA0DpD,SAAgB,wBAAwB,CAAC,KAAa;IAClD,gBAAgB;IAChB,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAClB,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,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,KAAK,CAAC;QACjB,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,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAClB,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,IAAI,CAAC;QAChB,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;IACD,eAAe;SACV,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,wBAAwB;IACxB,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,oBAAoB;SACf,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,CAAC,gCAAgC;QACjD,CAAC;QACD,uDAAuD;QACvD,OAAO,SAAS,CAAC;IACrB,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,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACzD,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,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,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;oBACD;wBACI,IAAI,EAAE,kBAAkB;wBACxB,IAAI,EAAE,qBAAU,CAAC,OAAO;wBACxB,OAAO,EAAE,KAAK;wBACd,WAAW,EAAE,gDAAgD;qBAChE;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;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,sBAAsB,GAA0B;gBAClD;oBACI,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,qBAAU,CAAC,OAAO;oBACxB,GAAG,EAAE,CAAC;oBACN,GAAG,EAAE,gBAAgB;oBACrB,OAAO,EAAE,KAAK;oBACd,IAAI,EAAE,GAAG;iBACZ;gBACD;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qBAAU,CAAC,OAAO;oBACxB,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,4BAA4B;iBAC5C;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;gBACD;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;aACJ,CAAA;YACD,OAAO;gBACH,UAAU,EAAE,iBAAiB;gBAC7B,OAAO,EAAE,CAAC,GAAG,mBAAmB,EAAE,GAAG,sBAAsB,CAAC;aAC/D,CAAA;QACL,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,aAAa,GAA0B;gBACzC;oBACI,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,qBAAU,CAAC,IAAI;oBACrB,IAAI,EAAE;wBACF,KAAK,EAAE,KAAK;wBACZ,QAAQ,EAAE,QAAQ;wBAClB,MAAM,EAAE,MAAM;qBACjB;oBACD,OAAO,EAAE,QAAQ;oBACjB,WAAW,EAAE,wFAAwF;iBACxG;aACJ,CAAC;YAEF,MAAM,yBAAyB,GAA0B,CAAC,GAAG,mBAAmB,CAAC,CAAC;YAClF,mCAAmC;YACnC,yBAAyB,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1G,OAAO;gBACH,UAAU,EAAE,iBAAiB;gBAC7B,OAAO,EAAE,CAAC,GAAG,yBAAyB,EAAE,GAAG,aAAa,CAAC;aAC5D,CAAC;QACN,CAAC;aACI,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,MAAM,cAAc,GAA0B;oBAC1C;wBACI,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,qBAAU,CAAC,OAAO;wBACxB,GAAG,EAAE,GAAG;wBACR,GAAG,EAAE,GAAG;wBACR,OAAO,EAAE,GAAG;wBACZ,IAAI,EAAE,GAAG;wBACT,WAAW,EAAE,mCAAmC;qBACnD;oBACD;wBACI,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,qBAAU,CAAC,OAAO;wBACxB,GAAG,EAAE,CAAC;wBACN,GAAG,EAAE,IAAI;wBACT,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,GAAG;wBACT,WAAW,EAAE,0CAA0C;qBAC1D;iBACJ,CAAC;gBACF,OAAO;oBACH,UAAU,EAAE,4BAA4B;oBACxC,OAAO,EAAE,cAAc;iBAC1B,CAAC;YACN,CAAC;QACL,CAAC;QAED,gCAAgC;QAChC,OAAO;YACH,UAAU,EAAE,kBAAkB;YAC9B,OAAO,EAAE,mBAAmB;SAC/B,CAAC;IACN,CAAC;IACD,OAAO,iCAAmB,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.textOptionsFallback = void 0;
4
+ const types_js_1 = require("../types.js");
5
+ exports.textOptionsFallback = {
6
+ _option_id: "text-fallback",
7
+ options: [
8
+ {
9
+ name: types_js_1.SharedOptions.max_tokens, type: types_js_1.OptionType.numeric, min: 1,
10
+ integer: true, step: 200, description: "The maximum number of tokens to generate"
11
+ },
12
+ {
13
+ name: types_js_1.SharedOptions.temperature, type: types_js_1.OptionType.numeric, min: 0.0, default: 0.7,
14
+ integer: false, step: 0.1, description: "A higher temperature biases toward less likely tokens, making the model more creative"
15
+ },
16
+ {
17
+ name: types_js_1.SharedOptions.top_p, type: types_js_1.OptionType.numeric, min: 0, max: 1,
18
+ integer: false, step: 0.1, description: "Limits token sampling to the cumulative probability of the top p tokens"
19
+ },
20
+ {
21
+ name: types_js_1.SharedOptions.top_k, type: types_js_1.OptionType.numeric, min: 1,
22
+ integer: true, step: 1, description: "Limits token sampling to the top k tokens"
23
+ },
24
+ {
25
+ name: types_js_1.SharedOptions.presence_penalty, type: types_js_1.OptionType.numeric, min: -2.0, max: 2.0,
26
+ integer: false, step: 0.1, description: "Penalise tokens if they appear at least once in the text"
27
+ },
28
+ {
29
+ name: types_js_1.SharedOptions.frequency_penalty, type: types_js_1.OptionType.numeric, min: -2.0, max: 2.0,
30
+ integer: false, step: 0.1, description: "Penalise tokens based on their frequency in the text"
31
+ },
32
+ { 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" },
33
+ ]
34
+ };
35
+ //# sourceMappingURL=fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/options/fallback.ts"],"names":[],"mappings":";;;AAAA,0CAA0E;AAa7D,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"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGroqOptions = getGroqOptions;
4
+ const types_js_1 = require("../types.js");
5
+ const fallback_js_1 = require("./fallback.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 fallback_js_1.textOptionsFallback;
36
+ }
37
+ //# sourceMappingURL=groq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groq.js","sourceRoot":"","sources":["../../../src/options/groq.ts"],"names":[],"mappings":";;AAeA,wCA+BC;AA9CD,0CAA6G;AAC7G,+CAAoD;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,iCAAmB,CAAC;AAC/B,CAAC"}