@llumiverse/common 1.0.0-dev.20260224.234313Z → 1.0.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 (41) hide show
  1. package/lib/cjs/capability/openai.js +4 -1
  2. package/lib/cjs/capability/openai.js.map +1 -1
  3. package/lib/cjs/capability.js +28 -1
  4. package/lib/cjs/capability.js.map +1 -1
  5. package/lib/cjs/options/context-windows.js +2 -1
  6. package/lib/cjs/options/context-windows.js.map +1 -1
  7. package/lib/cjs/options/openai.js +101 -0
  8. package/lib/cjs/options/openai.js.map +1 -1
  9. package/lib/cjs/options/vertexai.js +219 -65
  10. package/lib/cjs/options/vertexai.js.map +1 -1
  11. package/lib/cjs/types.js +104 -1
  12. package/lib/cjs/types.js.map +1 -1
  13. package/lib/esm/capability/openai.js +4 -1
  14. package/lib/esm/capability/openai.js.map +1 -1
  15. package/lib/esm/capability.js +28 -1
  16. package/lib/esm/capability.js.map +1 -1
  17. package/lib/esm/options/context-windows.js +2 -1
  18. package/lib/esm/options/context-windows.js.map +1 -1
  19. package/lib/esm/options/openai.js +101 -0
  20. package/lib/esm/options/openai.js.map +1 -1
  21. package/lib/esm/options/vertexai.js +217 -65
  22. package/lib/esm/options/vertexai.js.map +1 -1
  23. package/lib/esm/types.js +102 -0
  24. package/lib/esm/types.js.map +1 -1
  25. package/lib/types/capability/openai.d.ts.map +1 -1
  26. package/lib/types/capability.d.ts.map +1 -1
  27. package/lib/types/options/context-windows.d.ts.map +1 -1
  28. package/lib/types/options/openai.d.ts +17 -2
  29. package/lib/types/options/openai.d.ts.map +1 -1
  30. package/lib/types/options/vertexai.d.ts +17 -1
  31. package/lib/types/options/vertexai.d.ts.map +1 -1
  32. package/lib/types/types.d.ts +95 -0
  33. package/lib/types/types.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/src/LlumiverseError.test.ts +265 -0
  36. package/src/capability/openai.ts +21 -18
  37. package/src/capability.ts +30 -1
  38. package/src/options/context-windows.ts +2 -1
  39. package/src/options/openai.ts +126 -3
  40. package/src/options/vertexai.ts +262 -77
  41. package/src/types.ts +139 -0
@@ -15,7 +15,10 @@ const RECORD_FAMILY_CAPABILITIES = {
15
15
  "gpt-4o": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },
16
16
  "gpt-4.1": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },
17
17
  "gpt-4.5": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },
18
+ "gpt-5": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },
18
19
  "gpt-image": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: false, image: true, video: false, audio: false, embed: false }, tool_support: false },
20
+ "chatgpt-image": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: false, image: true, video: false, audio: false, embed: false }, tool_support: false },
21
+ "dall-e": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: false, image: true, video: false, audio: false, embed: false }, tool_support: false },
19
22
  "gpt-oss": { input: { text: true, image: false, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false },
20
23
  "o": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: true },
21
24
  "o1-mini": { input: { text: true, image: true, video: false, audio: false, embed: false }, output: { text: true, image: false, video: false, audio: false, embed: false }, tool_support: false },
@@ -36,7 +39,7 @@ const VIDEO_OUTPUT_MODELS = ["video"];
36
39
  const AUDIO_OUTPUT_MODELS = ["audio"];
37
40
  const TEXT_OUTPUT_MODELS = ["text"];
38
41
  const EMBEDDING_OUTPUT_MODELS = ["embed"];
39
- const TOOL_SUPPORT_MODELS = ["tool", "gpt", "o1", "o3", "o4"];
42
+ const TOOL_SUPPORT_MODELS = ["tool", "gpt", "gpt-5", "o1", "o3", "o4"];
40
43
  function modelMatches(modelName, patterns) {
41
44
  return patterns.some(pattern => modelName.includes(pattern));
42
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/capability/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/capability/openai.ts"],"names":[],"mappings":"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"}
@@ -31,13 +31,19 @@ function _getModelCapabilities(model, provider) {
31
31
  case types_js_1.Providers.vertexai:
32
32
  return (0, vertexai_js_1.getModelCapabilitiesVertexAI)(model);
33
33
  case types_js_1.Providers.openai:
34
- case types_js_1.Providers.openai_compatible:
35
34
  return (0, openai_js_1.getModelCapabilitiesOpenAI)(model);
35
+ case types_js_1.Providers.openai_compatible:
36
+ return getModelCapabilitiesOpenAICompatible(model);
36
37
  case types_js_1.Providers.bedrock:
37
38
  return (0, bedrock_js_1.getModelCapabilitiesBedrock)(model);
38
39
  case types_js_1.Providers.azure_foundry:
39
40
  // Azure Foundry uses OpenAI capabilities
40
41
  return (0, azure_foundry_js_1.getModelCapabilitiesAzureFoundry)(model);
42
+ case types_js_1.Providers.groq:
43
+ case types_js_1.Providers.togetherai:
44
+ case types_js_1.Providers.mistralai:
45
+ // These providers host text models that generally support tool use
46
+ return getModelCapabilitiesOpenAICompatible(model);
41
47
  case types_js_1.Providers.xai:
42
48
  // xAI (Grok) models support tool use and are text-based
43
49
  return {
@@ -70,6 +76,27 @@ function _getModelCapabilities(model, provider) {
70
76
  return { input: {}, output: {} };
71
77
  }
72
78
  }
79
+ // Patterns for models known NOT to support tool use on OpenAI-compatible endpoints
80
+ const NO_TOOL_SUPPORT_PATTERNS = ['image', 'embed', 'moderation', 'whisper', 'sora', 'dall-e', 'tts'];
81
+ /**
82
+ * For OpenAI-compatible endpoints (e.g., OpenRouter), try OpenAI capability lookup first.
83
+ * If no explicit match is found, default to tool_support: true since most models
84
+ * on these platforms support tool use. Blacklist known non-tool-supporting patterns.
85
+ */
86
+ function getModelCapabilitiesOpenAICompatible(model) {
87
+ const caps = (0, openai_js_1.getModelCapabilitiesOpenAI)(model);
88
+ if (caps.tool_support !== undefined) {
89
+ return caps;
90
+ }
91
+ const normalized = model.toLowerCase();
92
+ const isNonToolModel = NO_TOOL_SUPPORT_PATTERNS.some(p => normalized.includes(p));
93
+ return {
94
+ input: { text: true },
95
+ output: { text: true },
96
+ tool_support: !isNonToolModel,
97
+ tool_support_streaming: !isNonToolModel,
98
+ };
99
+ }
73
100
  function supportsToolUse(model, provider, streaming = false) {
74
101
  const capabilities = getModelCapabilities(model, provider);
75
102
  return streaming ? !!capabilities.tool_support_streaming : !!capabilities.tool_support;
@@ -1 +1 @@
1
- {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/capability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/capability.ts"],"names":[],"mappings":"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"}
@@ -78,8 +78,9 @@ function getMaxInputTokens(model) {
78
78
  * Returns the context window size (input + output) for a given model.
79
79
  */
80
80
  function getContextWindowSize(model) {
81
- // Claude models — all Claude 3+ have 200K context windows
81
+ // Claude models
82
82
  if (model.includes('claude')) {
83
+ // All Claude models use 200K (1M requires beta header, handled separately later)
83
84
  return 200_000;
84
85
  }
85
86
  // Gemini models
@@ -1 +1 @@
1
- {"version":3,"file":"context-windows.js","sourceRoot":"","sources":["../../../src/options/context-windows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-windows.js","sourceRoot":"","sources":["../../../src/options/context-windows.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,104 @@ function getOpenAiOptions(model, _option) {
10
10
  default: "auto", description: "Controls how the model processes an input image."
11
11
  },
12
12
  ] : [];
13
+ // Image generation models
14
+ if (isImageModel(model)) {
15
+ const isGPTImage = model.includes("gpt-image") || model.includes("chatgpt-image");
16
+ const isDallE2 = model.includes("dall-e-2");
17
+ const isDallE3 = model.includes("dall-e-3");
18
+ const sizeOptions = {};
19
+ if (isGPTImage) {
20
+ sizeOptions["1024x1024"] = "1024x1024";
21
+ sizeOptions["1024x1536"] = "1024x1536";
22
+ sizeOptions["1536x1024"] = "1536x1024";
23
+ sizeOptions["Auto"] = "auto";
24
+ }
25
+ else if (isDallE2) {
26
+ sizeOptions["256x256"] = "256x256";
27
+ sizeOptions["512x512"] = "512x512";
28
+ sizeOptions["1024x1024"] = "1024x1024";
29
+ }
30
+ else if (isDallE3) {
31
+ sizeOptions["1024x1024"] = "1024x1024";
32
+ sizeOptions["1792x1024"] = "1792x1024";
33
+ sizeOptions["1024x1792"] = "1024x1792";
34
+ }
35
+ const baseImageOptions = [
36
+ {
37
+ name: "size",
38
+ type: types_js_1.OptionType.enum,
39
+ enum: sizeOptions,
40
+ default: "1024x1024",
41
+ description: "The size of the generated image"
42
+ }
43
+ ];
44
+ const gptImageOptions = isGPTImage ? [
45
+ {
46
+ name: "image_quality",
47
+ type: types_js_1.OptionType.enum,
48
+ enum: { "Low": "low", "Medium": "medium", "High": "high", "Auto": "auto" },
49
+ default: "auto",
50
+ description: "The quality of the generated image"
51
+ },
52
+ {
53
+ name: "background",
54
+ type: types_js_1.OptionType.enum,
55
+ enum: { "Transparent": "transparent", "Opaque": "opaque", "Auto": "auto" },
56
+ default: "auto",
57
+ description: "The background setting for the image"
58
+ },
59
+ {
60
+ name: "output_format",
61
+ type: types_js_1.OptionType.enum,
62
+ enum: { "PNG": "png", "WebP": "webp", "JPEG": "jpeg" },
63
+ default: "png",
64
+ description: "The output format for the image"
65
+ }
66
+ ] : [];
67
+ const dalleOptions = (isDallE2 || isDallE3) ? [
68
+ {
69
+ name: "image_quality",
70
+ type: types_js_1.OptionType.enum,
71
+ enum: isDallE3 ? { "Standard": "standard", "HD": "hd" } : { "Standard": "standard" },
72
+ default: "standard",
73
+ description: "The quality of the generated image"
74
+ },
75
+ {
76
+ name: "style",
77
+ type: types_js_1.OptionType.enum,
78
+ enum: { "Vivid": "vivid", "Natural": "natural" },
79
+ default: "vivid",
80
+ description: "The style of the generated image (DALL-E 3 only)"
81
+ },
82
+ {
83
+ name: "response_format",
84
+ type: types_js_1.OptionType.enum,
85
+ enum: { "URL": "url", "Base64 JSON": "b64_json" },
86
+ default: "b64_json",
87
+ description: "The format of the response"
88
+ }
89
+ ] : [];
90
+ const nImagesOption = isDallE2 ? [
91
+ {
92
+ name: "n",
93
+ type: types_js_1.OptionType.numeric,
94
+ min: 1,
95
+ max: 10,
96
+ default: 1,
97
+ integer: true,
98
+ description: "Number of images to generate (DALL-E 2 only)"
99
+ }
100
+ ] : [];
101
+ return {
102
+ _option_id: isGPTImage ? "openai-gpt-image" : "openai-dalle",
103
+ options: [
104
+ ...baseImageOptions,
105
+ ...gptImageOptions,
106
+ ...dalleOptions,
107
+ ...nImagesOption,
108
+ ]
109
+ };
110
+ }
13
111
  if (model.includes("o1") || model.includes("o3")) {
14
112
  //Is thinking text model
15
113
  let max_tokens_limit = 4096;
@@ -123,4 +221,7 @@ function isO1Full(model) {
123
221
  function isVisionModel(model) {
124
222
  return model.includes("gpt-4o") || isO1Full(model) || model.includes("gpt-4-turbo");
125
223
  }
224
+ function isImageModel(model) {
225
+ return model.includes("dall-e") || model.includes("gpt-image") || model.includes("chatgpt-image");
226
+ }
126
227
  //# sourceMappingURL=openai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/options/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/options/openai.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ThinkingLevel = exports.ImagenMaskMode = exports.ImagenTaskType = void 0;
4
4
  exports.getVertexAiOptions = getVertexAiOptions;
5
+ exports.getGeminiModelVersion = getGeminiModelVersion;
6
+ exports.isGeminiModelVersionGte = isGeminiModelVersionGte;
5
7
  exports.getMaxTokensLimitVertexAi = getMaxTokensLimitVertexAi;
6
8
  const types_js_1 = require("../types.js");
7
9
  const context_windows_js_1 = require("./context-windows.js");
@@ -28,7 +30,9 @@ var ImagenMaskMode;
28
30
  var ThinkingLevel;
29
31
  (function (ThinkingLevel) {
30
32
  ThinkingLevel["HIGH"] = "HIGH";
33
+ ThinkingLevel["MEDIUM"] = "MEDIUM";
31
34
  ThinkingLevel["LOW"] = "LOW";
35
+ ThinkingLevel["MINIMAL"] = "MINIMAL";
32
36
  ThinkingLevel["THINKING_LEVEL_UNSPECIFIED"] = "THINKING_LEVEL_UNSPECIFIED";
33
37
  })(ThinkingLevel || (exports.ThinkingLevel = ThinkingLevel = {}));
34
38
  function getVertexAiOptions(model, option) {
@@ -46,6 +50,125 @@ function getVertexAiOptions(model, option) {
46
50
  }
47
51
  return fallback_js_1.textOptionsFallback;
48
52
  }
53
+ /**
54
+ * Extract Gemini version from a model ID.
55
+ *
56
+ * Examples:
57
+ * - locations/global/publishers/google/models/gemini-2.5-flash -> 2.5
58
+ * - publishers/google/models/gemini-3-pro-image-preview -> 3
59
+ */
60
+ function getGeminiModelVersion(modelId) {
61
+ const modelName = modelId.split('/').pop() ?? modelId;
62
+ const match = modelName.match(/^gemini-(\d+(?:\.\d+)?)/i);
63
+ return match?.[1];
64
+ }
65
+ function parseVersion(version) {
66
+ const match = version.match(/^(\d+)(?:\.(\d+))?$/);
67
+ if (!match) {
68
+ return undefined;
69
+ }
70
+ return {
71
+ major: Number(match[1]),
72
+ minor: Number(match[2] ?? '0'),
73
+ };
74
+ }
75
+ function isGeminiModelVersionGte(modelId, minVersion) {
76
+ const modelVersion = getGeminiModelVersion(modelId);
77
+ if (!modelVersion) {
78
+ return false;
79
+ }
80
+ const current = parseVersion(modelVersion);
81
+ const target = parseVersion(minVersion);
82
+ if (!current || !target) {
83
+ return false;
84
+ }
85
+ if (current.major > target.major) {
86
+ return true;
87
+ }
88
+ if (current.major < target.major) {
89
+ return false;
90
+ }
91
+ return current.minor >= target.minor;
92
+ }
93
+ function getGeminiThinkingLevels(model) {
94
+ const normalized = model.toLowerCase();
95
+ const isGemini3OrLater = isGeminiModelVersionGte(model, "3.0");
96
+ const isGemini31OrLater = isGeminiModelVersionGte(model, "3.1");
97
+ const isFlashLite = normalized.includes("flash-lite");
98
+ const isFlash = normalized.includes("flash") && !isFlashLite;
99
+ const isPro = normalized.includes("pro");
100
+ // Gemini 3 / 3.1 thinking_level support summary:
101
+ // - MINIMAL: Gemini 3 Flash and Gemini 3.1 Flash-Lite only.
102
+ // Gemini 3.1 Flash-Lite defaults to MINIMAL.
103
+ // - LOW: Supported by Gemini 3+ models.
104
+ // - MEDIUM: Gemini 3 Flash, Gemini 3.1 Pro, Gemini 3.1 Flash-Lite.
105
+ // - HIGH: Supported by Gemini 3+ models.
106
+ // - Thinking cannot be turned off for Gemini 3 Pro and Gemini 3.1 Pro.
107
+ if (isFlashLite && isGemini31OrLater) {
108
+ return {
109
+ levels: {
110
+ "Minimal": ThinkingLevel.MINIMAL,
111
+ "Low": ThinkingLevel.LOW,
112
+ "Medium": ThinkingLevel.MEDIUM,
113
+ "High": ThinkingLevel.HIGH,
114
+ },
115
+ defaultLevel: ThinkingLevel.MINIMAL,
116
+ };
117
+ }
118
+ // Gemini 3+ Flash supports MINIMAL and MEDIUM in addition to LOW/HIGH.
119
+ if (isFlash) {
120
+ return {
121
+ levels: {
122
+ "Minimal": ThinkingLevel.MINIMAL,
123
+ "Low": ThinkingLevel.LOW,
124
+ "Medium": ThinkingLevel.MEDIUM,
125
+ "High": ThinkingLevel.HIGH,
126
+ },
127
+ defaultLevel: ThinkingLevel.MINIMAL,
128
+ };
129
+ }
130
+ // Gemini 3.1 Pro adds MEDIUM, but does not support turning thinking off.
131
+ if (isPro && isGemini31OrLater) {
132
+ return {
133
+ levels: {
134
+ "Low": ThinkingLevel.LOW,
135
+ "Medium": ThinkingLevel.MEDIUM,
136
+ "High": ThinkingLevel.HIGH,
137
+ },
138
+ defaultLevel: ThinkingLevel.LOW,
139
+ };
140
+ }
141
+ // Gemini 3 Pro supports LOW/HIGH. Thinking cannot be turned off.
142
+ if (isPro) {
143
+ return {
144
+ levels: {
145
+ "Low": ThinkingLevel.LOW,
146
+ "High": ThinkingLevel.HIGH,
147
+ },
148
+ defaultLevel: ThinkingLevel.LOW,
149
+ };
150
+ }
151
+ // Fallback for unknown Gemini 3+/4+ families:
152
+ // prefer future-safe propagation by enabling the guaranteed baseline levels.
153
+ if (isGemini3OrLater) {
154
+ return {
155
+ levels: {
156
+ "Low": ThinkingLevel.LOW,
157
+ "Medium": ThinkingLevel.MEDIUM,
158
+ "High": ThinkingLevel.HIGH,
159
+ },
160
+ defaultLevel: ThinkingLevel.LOW,
161
+ };
162
+ }
163
+ // Non-3.x models should not reach this helper in normal flow.
164
+ return {
165
+ levels: {
166
+ "Low": ThinkingLevel.LOW,
167
+ "High": ThinkingLevel.HIGH,
168
+ },
169
+ defaultLevel: ThinkingLevel.LOW,
170
+ };
171
+ }
49
172
  function getImagenOptions(model, option) {
50
173
  const commonOptions = [
51
174
  {
@@ -185,57 +308,33 @@ function getImagenOptions(model, option) {
185
308
  }
186
309
  return fallback_js_1.textOptionsFallback;
187
310
  }
188
- function getGeminiOptions(model, _option) {
189
- // Special handling for gemini-2.5-flash-image
190
- if (model.includes("gemini-2.5-flash-image")) {
191
- const options = [
192
- {
193
- name: types_js_1.SharedOptions.temperature,
194
- type: types_js_1.OptionType.numeric,
195
- min: 0.0,
196
- max: 2.0,
197
- default: 0.7,
198
- step: 0.01,
199
- description: "Sampling temperature"
200
- },
201
- {
202
- name: types_js_1.SharedOptions.top_p,
203
- type: types_js_1.OptionType.numeric,
204
- min: 0.0,
205
- max: 1.0,
206
- step: 0.01,
207
- description: "Nucleus sampling probability"
208
- },
209
- {
210
- name: "candidate_count",
211
- type: types_js_1.OptionType.numeric,
212
- min: 1,
213
- max: 8,
214
- default: 1,
215
- integer: true,
216
- description: "Number of candidates to generate"
217
- },
218
- {
219
- name: types_js_1.SharedOptions.max_tokens,
220
- type: types_js_1.OptionType.numeric,
221
- min: 1,
222
- max: 32768,
223
- integer: true,
224
- step: 200,
225
- description: "Maximum output tokens"
226
- }
227
- ];
228
- return {
229
- _option_id: "vertexai-gemini",
230
- options
231
- };
232
- }
233
- // Special handling for gemini-2.5-flash-image and gemini-3-pro-image
234
- if (model.includes("gemini-2.5-flash-image") || model.includes("gemini-3-pro-image")) {
235
- const max_tokens_limit = 32768;
311
+ function getGeminiThinkingOptionItems(model) {
312
+ const thinkingLevelConfig = getGeminiThinkingLevels(model);
313
+ return [
314
+ {
315
+ name: "include_thoughts",
316
+ type: types_js_1.OptionType.boolean,
317
+ default: false,
318
+ description: "Include the model's reasoning process in the response"
319
+ },
320
+ {
321
+ name: "thinking_level",
322
+ type: types_js_1.OptionType.enum,
323
+ enum: thinkingLevelConfig.levels,
324
+ default: thinkingLevelConfig.defaultLevel,
325
+ description: "Higher thinking levels may improve quality, but increase response times and token costs"
326
+ }
327
+ ];
328
+ }
329
+ function getGeminiOptions(model, option) {
330
+ // Special handling for gemini image / nano banana models
331
+ if (model.includes("image")) {
332
+ const isGemini25OrLater = isGeminiModelVersionGte(model, "2.5");
333
+ const isGemini3OrLater = isGeminiModelVersionGte(model, "3.0");
334
+ const max_tokens_limit = getGeminiMaxTokensLimit(model);
236
335
  const excludeOptions = ["max_tokens", "presence_penalty", "frequency_penalty", "seed", "top_k"];
237
336
  let commonOptions = fallback_js_1.textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
238
- // Set max temperature to 2.0 for gemini-2.5-flash-image
337
+ // Set max temperature to 2.0
239
338
  commonOptions = commonOptions.map((option) => {
240
339
  if (option.name === types_js_1.SharedOptions.temperature &&
241
340
  option.type === types_js_1.OptionType.numeric) {
@@ -255,7 +354,10 @@ function getGeminiOptions(model, _option) {
255
354
  step: 200,
256
355
  description: "Maximum output tokens"
257
356
  }];
258
- const imageAspectRatio = [{
357
+ const imageOptions = [];
358
+ // Aspect ratio, person generation, prominent people: 2.5+
359
+ if (isGemini25OrLater) {
360
+ imageOptions.push({
259
361
  name: "image_aspect_ratio",
260
362
  type: types_js_1.OptionType.enum,
261
363
  enum: {
@@ -268,14 +370,74 @@ function getGeminiOptions(model, _option) {
268
370
  "16:9": "16:9",
269
371
  "21:9": "21:9"
270
372
  },
373
+ default: "1:1",
271
374
  description: "Aspect ratio of the generated images"
272
- }];
375
+ }, {
376
+ name: "person_generation",
377
+ type: types_js_1.OptionType.enum,
378
+ enum: {
379
+ "Allow all people": "ALLOW_ALL",
380
+ "Allow adults only": "ALLOW_ADULT",
381
+ "Do not generate people": "ALLOW_NONE"
382
+ },
383
+ default: "ALLOW_ALL",
384
+ description: "Controls the generation of people in images"
385
+ }, {
386
+ name: "prominent_people",
387
+ type: types_js_1.OptionType.enum,
388
+ enum: {
389
+ "Allow prominent people": "ALLOW_PROMINENT_PEOPLE",
390
+ "Block prominent people": "BLOCK_PROMINENT_PEOPLE"
391
+ },
392
+ description: "Controls whether prominent people (celebrities) can be generated"
393
+ });
394
+ }
395
+ // Resolution settings: 3.0+
396
+ if (isGemini3OrLater) {
397
+ imageOptions.push({
398
+ name: "image_size",
399
+ type: types_js_1.OptionType.enum,
400
+ enum: {
401
+ "1K": "1K",
402
+ "2K": "2K",
403
+ "4K": "4K"
404
+ },
405
+ default: "1K",
406
+ description: "Size of generated images"
407
+ });
408
+ }
409
+ // Output format: all image models
410
+ imageOptions.push({
411
+ name: "output_mime_type",
412
+ type: types_js_1.OptionType.enum,
413
+ enum: {
414
+ "PNG": "image/png",
415
+ "JPEG": "image/jpeg",
416
+ },
417
+ default: "image/png",
418
+ description: "MIME type of the generated image",
419
+ refresh: true,
420
+ });
421
+ if (option?.output_mime_type === "image/jpeg") {
422
+ imageOptions.push({
423
+ name: "output_compression_quality",
424
+ type: types_js_1.OptionType.numeric,
425
+ min: 0,
426
+ max: 100,
427
+ default: 90,
428
+ integer: true,
429
+ description: "Compression quality for JPEG images (0-100)"
430
+ });
431
+ }
432
+ // Thinking options: 3.0+ (same as non-image counterparts)
433
+ const thinkingOptions = isGemini3OrLater ? getGeminiThinkingOptionItems(model) : [];
273
434
  return {
274
435
  _option_id: "vertexai-gemini",
275
436
  options: [
276
437
  ...max_tokens,
277
438
  ...commonOptions,
278
- ...imageAspectRatio,
439
+ ...imageOptions,
440
+ ...thinkingOptions,
279
441
  ]
280
442
  };
281
443
  }
@@ -289,22 +451,14 @@ function getGeminiOptions(model, _option) {
289
451
  const seedOption = {
290
452
  name: types_js_1.SharedOptions.seed, type: types_js_1.OptionType.numeric, integer: true, description: "The seed for the generation, useful for reproducibility"
291
453
  };
292
- if (model.includes("-3-")) {
293
- const geminiThinkingOptions = [
294
- {
295
- name: "include_thoughts",
296
- type: types_js_1.OptionType.boolean,
297
- default: false,
298
- description: "Include the model's reasoning process in the response"
299
- }
300
- ];
454
+ if (isGeminiModelVersionGte(model, "3.0")) {
301
455
  return {
302
456
  _option_id: "vertexai-gemini",
303
457
  options: [
304
458
  ...max_tokens,
305
459
  ...commonOptions,
306
460
  seedOption,
307
- ...geminiThinkingOptions,
461
+ ...getGeminiThinkingOptionItems(model),
308
462
  ]
309
463
  };
310
464
  }
@@ -455,10 +609,10 @@ function getLlamaOptions(model) {
455
609
  };
456
610
  }
457
611
  function getGeminiMaxTokensLimit(model) {
458
- if (model.includes("gemini-2.5-flash-image") || model.includes("gemini-3-pro-image")) {
459
- return 32768;
612
+ if (model.includes("image")) {
613
+ return isGeminiModelVersionGte(model, "2.5") ? 32768 : 8192;
460
614
  }
461
- if (model.includes("thinking") || model.includes("-2.5-") || model.includes("-3-")) {
615
+ if (model.includes("thinking") || isGeminiModelVersionGte(model, "2.5")) {
462
616
  return 65535; // API upper bound is exclusive
463
617
  }
464
618
  if (model.includes("ultra") || model.includes("vision")) {