@llumiverse/common 0.18.0 → 0.20.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.
Files changed (62) hide show
  1. package/lib/cjs/capability/bedrock.js +186 -0
  2. package/lib/cjs/capability/bedrock.js.map +1 -0
  3. package/lib/cjs/capability/openai.js +122 -0
  4. package/lib/cjs/capability/openai.js.map +1 -0
  5. package/lib/cjs/capability/vertexai.js +97 -0
  6. package/lib/cjs/capability/vertexai.js.map +1 -0
  7. package/lib/cjs/capability.js +52 -0
  8. package/lib/cjs/capability.js.map +1 -0
  9. package/lib/cjs/index.js +2 -0
  10. package/lib/cjs/index.js.map +1 -1
  11. package/lib/cjs/options/bedrock.js +25 -20
  12. package/lib/cjs/options/bedrock.js.map +1 -1
  13. package/lib/cjs/options/vertexai.js +308 -183
  14. package/lib/cjs/options/vertexai.js.map +1 -1
  15. package/lib/cjs/options.js +23 -0
  16. package/lib/cjs/options.js.map +1 -0
  17. package/lib/cjs/types.js.map +1 -1
  18. package/lib/esm/capability/bedrock.js +183 -0
  19. package/lib/esm/capability/bedrock.js.map +1 -0
  20. package/lib/esm/capability/openai.js +119 -0
  21. package/lib/esm/capability/openai.js.map +1 -0
  22. package/lib/esm/capability/vertexai.js +94 -0
  23. package/lib/esm/capability/vertexai.js.map +1 -0
  24. package/lib/esm/capability.js +47 -0
  25. package/lib/esm/capability.js.map +1 -0
  26. package/lib/esm/index.js +2 -0
  27. package/lib/esm/index.js.map +1 -1
  28. package/lib/esm/options/bedrock.js +24 -19
  29. package/lib/esm/options/bedrock.js.map +1 -1
  30. package/lib/esm/options/vertexai.js +307 -183
  31. package/lib/esm/options/vertexai.js.map +1 -1
  32. package/lib/esm/options.js +20 -0
  33. package/lib/esm/options.js.map +1 -0
  34. package/lib/esm/types.js.map +1 -1
  35. package/lib/types/capability/bedrock.d.ts +7 -0
  36. package/lib/types/capability/bedrock.d.ts.map +1 -0
  37. package/lib/types/capability/openai.d.ts +11 -0
  38. package/lib/types/capability/openai.d.ts.map +1 -0
  39. package/lib/types/capability/vertexai.d.ts +11 -0
  40. package/lib/types/capability/vertexai.d.ts.map +1 -0
  41. package/lib/types/capability.d.ts +5 -0
  42. package/lib/types/capability.d.ts.map +1 -0
  43. package/lib/types/index.d.ts +2 -0
  44. package/lib/types/index.d.ts.map +1 -1
  45. package/lib/types/options/bedrock.d.ts +2 -1
  46. package/lib/types/options/bedrock.d.ts.map +1 -1
  47. package/lib/types/options/vertexai.d.ts +18 -3
  48. package/lib/types/options/vertexai.d.ts.map +1 -1
  49. package/lib/types/options.d.ts +3 -0
  50. package/lib/types/options.d.ts.map +1 -0
  51. package/lib/types/types.d.ts +12 -6
  52. package/lib/types/types.d.ts.map +1 -1
  53. package/package.json +2 -2
  54. package/src/capability/bedrock.ts +190 -0
  55. package/src/capability/openai.ts +124 -0
  56. package/src/capability/vertexai.ts +99 -0
  57. package/src/capability.ts +49 -0
  58. package/src/index.ts +3 -1
  59. package/src/options/bedrock.ts +25 -18
  60. package/src/options/vertexai.ts +346 -196
  61. package/src/options.ts +21 -0
  62. package/src/types.ts +20 -6
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImagenMaskMode = exports.ImagenTaskType = void 0;
4
4
  exports.getVertexAiOptions = getVertexAiOptions;
5
+ exports.getMaxTokensLimitVertexAi = getMaxTokensLimitVertexAi;
5
6
  const types_js_1 = require("../types.js");
6
7
  const fallback_js_1 = require("./fallback.js");
7
8
  var ImagenTaskType;
@@ -24,213 +25,318 @@ var ImagenMaskMode;
24
25
  ImagenMaskMode["MASK_MODE_SEMANTIC"] = "MASK_MODE_SEMANTIC";
25
26
  })(ImagenMaskMode || (exports.ImagenMaskMode = ImagenMaskMode = {}));
26
27
  function getVertexAiOptions(model, option) {
27
- if (model.includes("imagen-3.0")) {
28
- const commonOptions = [
28
+ if (model.includes("imagen-")) {
29
+ return getImagenOptions(model, option);
30
+ }
31
+ else if (model.includes("gemini")) {
32
+ return getGeminiOptions(model, option);
33
+ }
34
+ else if (model.includes("claude")) {
35
+ return getClaudeOptions(model, option);
36
+ }
37
+ else if (model.includes("llama")) {
38
+ return getLlamaOptions(model);
39
+ }
40
+ return fallback_js_1.textOptionsFallback;
41
+ }
42
+ function getImagenOptions(model, option) {
43
+ const commonOptions = [
44
+ {
45
+ name: types_js_1.SharedOptions.number_of_images, type: types_js_1.OptionType.numeric, min: 1, max: 4, default: 1,
46
+ integer: true, description: "Number of Images to generate",
47
+ },
48
+ {
49
+ name: types_js_1.SharedOptions.seed, type: types_js_1.OptionType.numeric, min: 0, max: 4294967295, default: 12,
50
+ integer: true, description: "The seed of the generated image"
51
+ },
52
+ {
53
+ 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" },
54
+ default: "allow_adult", description: "The safety setting for allowing the generation of people in the image"
55
+ },
56
+ {
57
+ 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" },
58
+ default: "block_medium_and_above", description: "The overall safety setting"
59
+ },
60
+ ];
61
+ const outputOptions = [
62
+ {
63
+ name: "image_file_type", type: types_js_1.OptionType.enum, enum: { "JPEG": "image/jpeg", "PNG": "image/png" },
64
+ default: "image/png", description: "The file type of the generated image",
65
+ refresh: true,
66
+ },
67
+ ];
68
+ const jpegQuality = {
69
+ name: "jpeg_compression_quality", type: types_js_1.OptionType.numeric, min: 0, max: 100, default: 75,
70
+ integer: true, description: "The compression quality of the JPEG image",
71
+ };
72
+ if (option?.image_file_type === "image/jpeg") {
73
+ outputOptions.push(jpegQuality);
74
+ }
75
+ if (model.includes("generate")) {
76
+ // Generate models
77
+ const modeOptions = [
29
78
  {
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",
79
+ 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" },
80
+ default: "1:1", description: "The aspect ratio of the generated image"
32
81
  },
33
82
  {
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"
83
+ 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"
36
84
  },
85
+ ];
86
+ const enhanceOptions = !model.includes("generate-001") ? [
37
87
  {
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"
88
+ name: "enhance_prompt", type: types_js_1.OptionType.boolean, default: true, description: "VertexAI automatically rewrites the prompt to better reflect the prompt's intent."
40
89
  },
90
+ ] : [];
91
+ return {
92
+ _option_id: "vertexai-imagen",
93
+ options: [
94
+ ...commonOptions,
95
+ ...modeOptions,
96
+ ...outputOptions,
97
+ ...enhanceOptions,
98
+ ]
99
+ };
100
+ }
101
+ if (model.includes("capability")) {
102
+ // Edit models
103
+ let guidanceScaleDefault = 75;
104
+ if (option?.edit_mode === ImagenTaskType.EDIT_MODE_INPAINT_INSERTION) {
105
+ guidanceScaleDefault = 60;
106
+ }
107
+ const modeOptions = [
41
108
  {
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"
109
+ name: "edit_mode", type: types_js_1.OptionType.enum,
110
+ enum: {
111
+ "EDIT_MODE_INPAINT_REMOVAL": "EDIT_MODE_INPAINT_REMOVAL",
112
+ "EDIT_MODE_INPAINT_INSERTION": "EDIT_MODE_INPAINT_INSERTION",
113
+ "EDIT_MODE_BGSWAP": "EDIT_MODE_BGSWAP",
114
+ "EDIT_MODE_OUTPAINT": "EDIT_MODE_OUTPAINT",
115
+ "CUSTOMIZATION_SUBJECT": "CUSTOMIZATION_SUBJECT",
116
+ "CUSTOMIZATION_STYLE": "CUSTOMIZATION_STYLE",
117
+ "CUSTOMIZATION_CONTROLLED": "CUSTOMIZATION_CONTROLLED",
118
+ "CUSTOMIZATION_INSTRUCT": "CUSTOMIZATION_INSTRUCT",
119
+ },
120
+ description: "The editing mode. CUSTOMIZATION options use few-shot learning to generate images based on a few examples."
44
121
  },
122
+ {
123
+ name: "guidance_scale", type: types_js_1.OptionType.numeric, min: 0, max: 500, default: guidanceScaleDefault,
124
+ integer: true, description: "How closely the generation follows the prompt"
125
+ }
45
126
  ];
46
- const outputOptions = [
127
+ const maskOptions = (option?.edit_mode?.includes("EDIT")) ? [
47
128
  {
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,
129
+ name: "mask_mode", type: types_js_1.OptionType.enum,
130
+ enum: {
131
+ "MASK_MODE_USER_PROVIDED": "MASK_MODE_USER_PROVIDED",
132
+ "MASK_MODE_BACKGROUND": "MASK_MODE_BACKGROUND",
133
+ "MASK_MODE_FOREGROUND": "MASK_MODE_FOREGROUND",
134
+ "MASK_MODE_SEMANTIC": "MASK_MODE_SEMANTIC",
135
+ },
136
+ default: "MASK_MODE_USER_PROVIDED",
137
+ description: "How should the mask for the generation be provided"
51
138
  },
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",
139
+ {
140
+ name: "mask_dilation", type: types_js_1.OptionType.numeric, min: 0, max: 1,
141
+ integer: true, description: "The mask dilation, grows the mask by a percentage of image width to compensate for imprecise masks."
142
+ },
143
+ ] : [];
144
+ const maskClassOptions = (option?.mask_mode === ImagenMaskMode.MASK_MODE_SEMANTIC) ? [
145
+ {
146
+ name: "mask_class", type: types_js_1.OptionType.string_list, default: [],
147
+ 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"
148
+ }
149
+ ] : [];
150
+ const editOptions = option?.edit_mode?.includes("EDIT") ? [
151
+ {
152
+ name: "edit_steps", type: types_js_1.OptionType.numeric, default: 75,
153
+ integer: true, description: "The number of steps for the base image generation, more steps means more time and better quality"
154
+ },
155
+ ] : [];
156
+ const customizationOptions = option?.edit_mode === ImagenTaskType.CUSTOMIZATION_CONTROLLED
157
+ || option?.edit_mode === ImagenTaskType.CUSTOMIZATION_SUBJECT ? [
158
+ {
159
+ name: "controlType", type: types_js_1.OptionType.enum, enum: { "Face Mesh": "CONTROL_TYPE_FACE_MESH", "Canny": "CONTROL_TYPE_CANNY", "Scribble": "CONTROL_TYPE_SCRIBBLE" },
160
+ default: "CONTROL_TYPE_CANNY", description: "Method used to generate the control image"
161
+ },
162
+ {
163
+ 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"
164
+ }
165
+ ] : [];
166
+ return {
167
+ _option_id: "vertexai-imagen",
168
+ options: [
169
+ ...modeOptions,
170
+ ...commonOptions,
171
+ ...maskOptions,
172
+ ...maskClassOptions,
173
+ ...editOptions,
174
+ ...customizationOptions,
175
+ ...outputOptions,
176
+ ]
56
177
  };
57
- if (option?.image_file_type === "image/jpeg") {
58
- outputOptions.push(jpegQuality);
178
+ }
179
+ return fallback_js_1.textOptionsFallback;
180
+ }
181
+ function getGeminiOptions(model, _option) {
182
+ const max_tokens_limit = getGeminiMaxTokensLimit(model);
183
+ const excludeOptions = ["max_tokens"];
184
+ let commonOptions = fallback_js_1.textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
185
+ const max_tokens = [{
186
+ name: types_js_1.SharedOptions.max_tokens, type: types_js_1.OptionType.numeric, min: 1, max: max_tokens_limit,
187
+ integer: true, step: 200, description: "The maximum number of tokens to generate"
188
+ }];
189
+ const seedOption = {
190
+ name: types_js_1.SharedOptions.seed, type: types_js_1.OptionType.numeric, integer: true, description: "The seed for the generation, useful for reproducibility"
191
+ };
192
+ if (model.includes("-2.5-")) {
193
+ // Gemini 2.5 thinking models
194
+ // Set budget token ranges based on model variant
195
+ let budgetMin = -1;
196
+ let budgetMax = 24576;
197
+ let budgetDescription = "";
198
+ if (model.includes("flash-lite")) {
199
+ budgetMin = -1;
200
+ budgetMax = 24576;
201
+ budgetDescription = "The target number of tokens to use for reasoning. " +
202
+ "Flash Lite default: Model does not think. " +
203
+ "Range: 512-24576 tokens. " +
204
+ "Set to 0 to disable thinking, -1 for dynamic thinking.";
59
205
  }
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
- };
206
+ else if (model.includes("flash")) {
207
+ budgetMin = -1;
208
+ budgetMax = 24576;
209
+ budgetDescription = "The target number of tokens to use for reasoning. " +
210
+ "Flash default: Dynamic thinking (model decides when and how much to think). " +
211
+ "Range: 0-24576 tokens. " +
212
+ "Set to 0 to disable thinking, -1 for dynamic thinking.";
85
213
  }
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 percentage 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
- };
214
+ else if (model.includes("pro")) {
215
+ budgetMin = -1;
216
+ budgetMax = 32768;
217
+ budgetDescription = "The target number of tokens to use for reasoning. " +
218
+ "Pro default: Dynamic thinking (model decides when and how much to think). " +
219
+ "Range: 128-32768 tokens. " +
220
+ "Cannot disable thinking - minimum 128 tokens. Set to -1 for dynamic thinking.";
163
221
  }
164
- }
165
- else if (model.includes("gemini")) {
166
- const max_tokens_limit = getGeminiMaxTokensLimit(model);
167
- const excludeOptions = ["max_tokens", "presence_penalty"];
168
- let commonOptions = fallback_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
- }];
222
+ const geminiThinkingOptions = [
223
+ {
224
+ name: "include_thoughts",
225
+ type: types_js_1.OptionType.boolean,
226
+ default: false,
227
+ description: "Include the model's reasoning process in the response"
228
+ },
229
+ {
230
+ name: "thinking_budget_tokens",
231
+ type: types_js_1.OptionType.numeric,
232
+ min: budgetMin,
233
+ max: budgetMax,
234
+ default: undefined,
235
+ integer: true,
236
+ step: 100,
237
+ description: budgetDescription,
238
+ }
239
+ ];
176
240
  return {
177
- _option_id: "text-fallback",
241
+ _option_id: "vertexai-gemini",
178
242
  options: [
179
243
  ...max_tokens,
180
244
  ...commonOptions,
245
+ seedOption,
246
+ ...geminiThinkingOptions,
181
247
  ]
182
248
  };
183
249
  }
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 = fallback_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
- }
250
+ return {
251
+ _option_id: "vertexai-gemini",
252
+ options: [
253
+ ...max_tokens,
254
+ ...commonOptions,
255
+ seedOption,
256
+ ]
257
+ };
258
+ }
259
+ function getClaudeOptions(model, option) {
260
+ const max_tokens_limit = getClaudeMaxTokensLimit(model);
261
+ const excludeOptions = ["max_tokens", "presence_penalty", "frequency_penalty"];
262
+ let commonOptions = fallback_js_1.textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
263
+ const max_tokens = [{
264
+ name: types_js_1.SharedOptions.max_tokens, type: types_js_1.OptionType.numeric, min: 1, max: max_tokens_limit,
265
+ integer: true, step: 200, description: "The maximum number of tokens to generate"
266
+ }];
267
+ if (model.includes("-3-7") || model.includes("-4")) {
268
+ const claudeModeOptions = [
269
+ {
270
+ name: "thinking_mode",
271
+ type: types_js_1.OptionType.boolean,
272
+ default: false,
273
+ description: "If true, use the extended reasoning mode"
274
+ },
275
+ ];
276
+ const claudeThinkingOptions = option?.thinking_mode ? [
277
+ {
278
+ name: "thinking_budget_tokens",
279
+ type: types_js_1.OptionType.numeric,
280
+ min: 1024,
281
+ default: 1024,
282
+ integer: true,
283
+ step: 100,
284
+ description: "The target number of tokens to use for reasoning, not a hard limit."
285
+ },
286
+ {
287
+ name: "include_thoughts",
288
+ type: types_js_1.OptionType.boolean,
289
+ default: false,
290
+ description: "Include the model's reasoning process in the response"
291
+ }
292
+ ] : [];
222
293
  return {
223
294
  _option_id: "vertexai-claude",
224
295
  options: [
225
296
  ...max_tokens,
226
297
  ...commonOptions,
298
+ ...claudeModeOptions,
299
+ ...claudeThinkingOptions,
227
300
  ]
228
301
  };
229
302
  }
230
- return fallback_js_1.textOptionsFallback;
303
+ return {
304
+ _option_id: "vertexai-claude",
305
+ options: [
306
+ ...max_tokens,
307
+ ...commonOptions,
308
+ ]
309
+ };
310
+ }
311
+ function getLlamaOptions(model) {
312
+ const max_tokens_limit = getLlamaMaxTokensLimit(model);
313
+ const excludeOptions = ["max_tokens", "presence_penalty", "frequency_penalty", "stop_sequence"];
314
+ let commonOptions = fallback_js_1.textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
315
+ const max_tokens = [{
316
+ name: types_js_1.SharedOptions.max_tokens, type: types_js_1.OptionType.numeric, min: 1, max: max_tokens_limit,
317
+ integer: true, step: 200, description: "The maximum number of tokens to generate"
318
+ }];
319
+ // Set max temperature to 1.0 for Llama models
320
+ commonOptions = commonOptions.map((option) => {
321
+ if (option.name === types_js_1.SharedOptions.temperature &&
322
+ option.type === types_js_1.OptionType.numeric) {
323
+ return {
324
+ ...option,
325
+ max: 1.0,
326
+ };
327
+ }
328
+ return option;
329
+ });
330
+ return {
331
+ _option_id: "text-fallback",
332
+ options: [
333
+ ...max_tokens,
334
+ ...commonOptions,
335
+ ]
336
+ };
231
337
  }
232
338
  function getGeminiMaxTokensLimit(model) {
233
- if (model.includes("thinking")) {
339
+ if (model.includes("thinking") || model.includes("-2.5-")) {
234
340
  return 65536;
235
341
  }
236
342
  if (model.includes("ultra") || model.includes("vision")) {
@@ -238,20 +344,39 @@ function getGeminiMaxTokensLimit(model) {
238
344
  }
239
345
  return 8192;
240
346
  }
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;
347
+ function getClaudeMaxTokensLimit(model) {
348
+ if (model.includes("-4-")) {
349
+ if (model.includes("opus-")) {
350
+ return 32768;
248
351
  }
352
+ return 65536;
353
+ }
354
+ else if (model.includes("-3-7-")) {
355
+ return 128000;
249
356
  }
250
- else if (model.includes("3-5")) {
357
+ else if (model.includes("-3-5-")) {
251
358
  return 8192;
252
359
  }
253
360
  else {
254
361
  return 4096;
255
362
  }
256
363
  }
364
+ function getLlamaMaxTokensLimit(_model) {
365
+ return 8192;
366
+ }
367
+ function getMaxTokensLimitVertexAi(model) {
368
+ if (model.includes("imagen-")) {
369
+ return 0; // Imagen models do not have a max tokens limit in the same way as text models
370
+ }
371
+ else if (model.includes("claude")) {
372
+ return getClaudeMaxTokensLimit(model);
373
+ }
374
+ else if (model.includes("gemini")) {
375
+ return getGeminiMaxTokensLimit(model);
376
+ }
377
+ else if (model.includes("llama")) {
378
+ return getLlamaMaxTokensLimit(model);
379
+ }
380
+ return 8192; // Default fallback limit
381
+ }
257
382
  //# sourceMappingURL=vertexai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vertexai.js","sourceRoot":"","sources":["../../../src/options/vertexai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vertexai.js","sourceRoot":"","sources":["../../../src/options/vertexai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getOptions = getOptions;
4
+ const bedrock_js_1 = require("./options/bedrock.js");
5
+ const groq_js_1 = require("./options/groq.js");
6
+ const openai_js_1 = require("./options/openai.js");
7
+ const vertexai_js_1 = require("./options/vertexai.js");
8
+ const fallback_js_1 = require("./options/fallback.js");
9
+ function getOptions(model, provider, options) {
10
+ switch (provider?.toLowerCase()) {
11
+ case "bedrock":
12
+ return (0, bedrock_js_1.getBedrockOptions)(model ?? "", options);
13
+ case "vertexai":
14
+ return (0, vertexai_js_1.getVertexAiOptions)(model ?? "", options);
15
+ case "openai":
16
+ return (0, openai_js_1.getOpenAiOptions)(model ?? "", options);
17
+ case "groq":
18
+ return (0, groq_js_1.getGroqOptions)(model ?? "", options);
19
+ default:
20
+ return fallback_js_1.textOptionsFallback;
21
+ }
22
+ }
23
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/options.ts"],"names":[],"mappings":";;AAOA,gCAaC;AApBD,qDAAyD;AACzD,+CAAmD;AACnD,mDAAuD;AACvD,uDAA2D;AAC3D,uDAA4D;AAG5D,SAAgB,UAAU,CAAC,KAAa,EAAE,QAAiB,EAAE,OAAsB;IAC/E,QAAQ,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC;QAC9B,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,iCAAmB,CAAC;IACnC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAoMA,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;AAyCD,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;AACrB,CAAC,EAPW,aAAa,6BAAb,aAAa,QAOxB;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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAkNA,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;AAyCD,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,4CAA2B,CAAA;IAC3B,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;AACrB,CAAC,EAPW,aAAa,6BAAb,aAAa,QAOxB;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"}