@llumiverse/common 1.1.0 → 1.2.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 (56) hide show
  1. package/lib/cjs/index.js +1 -0
  2. package/lib/cjs/index.js.map +1 -1
  3. package/lib/cjs/options/bedrock.js +32 -76
  4. package/lib/cjs/options/bedrock.js.map +1 -1
  5. package/lib/cjs/options/context-windows.js +2 -0
  6. package/lib/cjs/options/context-windows.js.map +1 -1
  7. package/lib/cjs/options/openai.js +22 -3
  8. package/lib/cjs/options/openai.js.map +1 -1
  9. package/lib/cjs/options/shared-parsing.js +144 -0
  10. package/lib/cjs/options/shared-parsing.js.map +1 -0
  11. package/lib/cjs/options/version-parsing.js +326 -0
  12. package/lib/cjs/options/version-parsing.js.map +1 -0
  13. package/lib/cjs/options/vertexai.js +35 -199
  14. package/lib/cjs/options/vertexai.js.map +1 -1
  15. package/lib/cjs/types.js +2 -1
  16. package/lib/cjs/types.js.map +1 -1
  17. package/lib/esm/index.js +1 -0
  18. package/lib/esm/index.js.map +1 -1
  19. package/lib/esm/options/bedrock.js +32 -76
  20. package/lib/esm/options/bedrock.js.map +1 -1
  21. package/lib/esm/options/context-windows.js +2 -0
  22. package/lib/esm/options/context-windows.js.map +1 -1
  23. package/lib/esm/options/openai.js +22 -3
  24. package/lib/esm/options/openai.js.map +1 -1
  25. package/lib/esm/options/shared-parsing.js +135 -0
  26. package/lib/esm/options/shared-parsing.js.map +1 -0
  27. package/lib/esm/options/version-parsing.js +310 -0
  28. package/lib/esm/options/version-parsing.js.map +1 -0
  29. package/lib/esm/options/vertexai.js +28 -190
  30. package/lib/esm/options/vertexai.js.map +1 -1
  31. package/lib/esm/types.js +2 -1
  32. package/lib/esm/types.js.map +1 -1
  33. package/lib/types/index.d.ts +1 -0
  34. package/lib/types/index.d.ts.map +1 -1
  35. package/lib/types/options/bedrock.d.ts +2 -2
  36. package/lib/types/options/bedrock.d.ts.map +1 -1
  37. package/lib/types/options/context-windows.d.ts.map +1 -1
  38. package/lib/types/options/openai.d.ts +3 -2
  39. package/lib/types/options/openai.d.ts.map +1 -1
  40. package/lib/types/options/shared-parsing.d.ts +50 -0
  41. package/lib/types/options/shared-parsing.d.ts.map +1 -0
  42. package/lib/types/options/version-parsing.d.ts +184 -0
  43. package/lib/types/options/version-parsing.d.ts.map +1 -0
  44. package/lib/types/options/vertexai.d.ts +3 -11
  45. package/lib/types/options/vertexai.d.ts.map +1 -1
  46. package/lib/types/types.d.ts +2 -0
  47. package/lib/types/types.d.ts.map +1 -1
  48. package/package.json +2 -2
  49. package/src/index.ts +2 -1
  50. package/src/options/bedrock.ts +46 -80
  51. package/src/options/context-windows.ts +1 -0
  52. package/src/options/openai.ts +28 -6
  53. package/src/options/shared-parsing.ts +144 -0
  54. package/src/options/version-parsing.ts +360 -0
  55. package/src/options/vertexai.ts +46 -211
  56. package/src/types.ts +4 -1
@@ -0,0 +1,310 @@
1
+ /**
2
+ * Version parsing utilities for Claude and Gemini models.
3
+ *
4
+ * Provides version detection helpers that are forward-compatible with future
5
+ * model releases (e.g., Haiku 4.7, Sonnet 4.7, Opus 4.8, Opus 5).
6
+ *
7
+ * These helpers are used to:
8
+ * - Control option visibility in the UI
9
+ * - Construct appropriate API payloads for each model version
10
+ *
11
+ * Note: llumiverse does NOT validate options here. Errors from invalid
12
+ * parameters propagate to the provider side.
13
+ */
14
+ /**
15
+ * Parse Claude model version from a model string.
16
+ *
17
+ * Examples:
18
+ * - "claude-opus-4-7" -> { major: 4, minor: 7, variant: 'opus' }
19
+ * - "claude-sonnet-4-6" -> { major: 4, minor: 6, variant: 'sonnet' }
20
+ * - "claude-3-7-sonnet-20250219" -> { major: 3, minor: 7, variant: 'sonnet' }
21
+ * - "claude-opus-4-6" -> { major: 4, minor: 6, variant: 'opus' }
22
+ *
23
+ * @param modelString - The model identifier string
24
+ * @returns Parsed version info, or null if not parseable
25
+ */
26
+ export function parseClaudeVersion(modelString) {
27
+ // Match pattern: claude-[variant-]-{major}-[optional minor]
28
+ // The minor version is limited to 1-2 digits to avoid matching dates (YYYYMMDD format)
29
+ const match = modelString.match(/claude-(opus|sonnet|haiku)-?(\d+)(?:-(\d{1,2}))?(?:-|\b)/i);
30
+ if (match) {
31
+ const variant = match[1].toLowerCase();
32
+ const major = parseInt(match[2], 10);
33
+ const minor = match[3] ? parseInt(match[3], 10) : 0;
34
+ return { major, minor, variant };
35
+ }
36
+ // Fallback for older format: claude-3-7-sonnet-20250219
37
+ const fallbackMatch = modelString.match(/claude-(\d+)-(\d+)-(\w+)/i);
38
+ if (fallbackMatch) {
39
+ const major = parseInt(fallbackMatch[1], 10);
40
+ const minor = parseInt(fallbackMatch[2], 10);
41
+ const variant = fallbackMatch[3].toLowerCase();
42
+ return { major, minor, variant };
43
+ }
44
+ return null;
45
+ }
46
+ /**
47
+ * Check if a Claude model version is greater than or equal to a target version.
48
+ *
49
+ * @param modelString - The model identifier string
50
+ * @param targetMajor - Target major version
51
+ * @param targetMinor - Target minor version
52
+ * @returns true if the model version is >= target version, false otherwise
53
+ */
54
+ export function isClaudeVersionGTE(modelString, targetMajor, targetMinor) {
55
+ const version = parseClaudeVersion(modelString);
56
+ if (!version) {
57
+ return false;
58
+ }
59
+ if (version.major > targetMajor) {
60
+ return true;
61
+ }
62
+ if (version.major === targetMajor && version.minor >= targetMinor) {
63
+ return true;
64
+ }
65
+ return false;
66
+ }
67
+ /**
68
+ * Check if a Claude variant model version is greater than or equal to a target version.
69
+ *
70
+ * @param modelString - The model identifier string
71
+ * @param variant - Model variant: "opus" or "sonnet"
72
+ * @param targetMajor - Target major version
73
+ * @param targetMinor - Target minor version
74
+ * @returns true if the model matches the variant and version >= target
75
+ */
76
+ function isClaudeVariantVersionGTE(modelString, variant, targetMajor, targetMinor) {
77
+ const version = parseClaudeVersion(modelString);
78
+ if (!version)
79
+ return false;
80
+ if (version.variant.toLowerCase() !== variant)
81
+ return false;
82
+ return version.major > targetMajor || (version.major === targetMajor && version.minor >= targetMinor);
83
+ }
84
+ /**
85
+ * Check if a model requires sampling parameter removal (behavior: sampling params removed on Opus 4.7+).
86
+ *
87
+ * This includes:
88
+ * - claude-opus-4-7
89
+ * - Future Opus 4.x with minor >= 7
90
+ * - Future Opus 5.x+
91
+ *
92
+ * @param modelString - The model identifier string
93
+ * @returns true if Opus 4.7+ or equivalent future model
94
+ */
95
+ export function hasSamplingParameterRemoval(modelString) {
96
+ return isClaudeVariantVersionGTE(modelString, "opus", 4, 7);
97
+ }
98
+ /**
99
+ * Check if a model requires adaptive thinking (behavior: adaptive thinking required on Opus 4.6+).
100
+ *
101
+ * This includes:
102
+ * - claude-opus-4-6
103
+ * - claude-opus-4-7
104
+ * - Future Opus 4.x with minor >= 6
105
+ * - Future Opus 5.x+
106
+ *
107
+ * @param modelString - The model identifier string
108
+ * @returns true if Opus 4.6+ or equivalent future model
109
+ */
110
+ export function requiresAdaptiveThinking(modelString) {
111
+ return isClaudeVariantVersionGTE(modelString, "opus", 4, 6);
112
+ }
113
+ /**
114
+ * Check if a model supports adaptive thinking.
115
+ *
116
+ * Adaptive thinking was introduced in:
117
+ * - Claude Opus 4.6
118
+ * - Claude Sonnet 4.6
119
+ *
120
+ * @param modelString - The model identifier string
121
+ * @returns true if the model supports adaptive thinking
122
+ */
123
+ export function supportsAdaptiveThinking(modelString) {
124
+ return requiresAdaptiveThinking(modelString) || isClaudeVariantVersionGTE(modelString, "sonnet", 4, 6);
125
+ }
126
+ /**
127
+ * Check if extended thinking is deprecated for this model.
128
+ *
129
+ * Extended thinking (thinking.type: "enabled" with budget_tokens) is deprecated
130
+ * but still functional on:
131
+ * - Claude Opus 4.6+
132
+ * - Claude Sonnet 4.6+
133
+ *
134
+ * @param modelString - The model identifier string
135
+ * @returns true if extended thinking is deprecated (adaptive thinking recommended)
136
+ */
137
+ export function isExtendedThinkingDeprecated(modelString) {
138
+ return supportsAdaptiveThinking(modelString);
139
+ }
140
+ /**
141
+ * Check if a model requires adaptive thinking ONLY (extended thinking removed).
142
+ *
143
+ * On Opus 4.7+, extended thinking returns a 400 error. Only adaptive thinking is supported.
144
+ * Future models (Sonnet 4.7+, Haiku 4.7+, any 5.0+) follow the same pattern.
145
+ *
146
+ * @param modelString - The model identifier string
147
+ * @returns true if extended thinking is removed (returns 400 error)
148
+ */
149
+ export function requiresAdaptiveThinkingOnly(modelString) {
150
+ return hasSamplingParameterRestriction(modelString);
151
+ }
152
+ /**
153
+ * Check if a model has sampling parameter restrictions.
154
+ *
155
+ * On Opus 4.7+, setting temperature, top_p, or top_k to any non-default value
156
+ * returns a 400 error. Future models following the same pattern will also match:
157
+ * - Opus 4.7+ (current restriction)
158
+ * - Sonnet 4.7+, Haiku 4.7+ (future minor versions >= 7)
159
+ * - Sonnet 5.0+, Haiku 5.0+, Opus 5.0+ (future major versions)
160
+ *
161
+ * @param modelString - The model identifier string
162
+ * @returns true if sampling parameters are restricted
163
+ */
164
+ export function hasSamplingParameterRestriction(modelString) {
165
+ const version = parseClaudeVersion(modelString);
166
+ if (!version) {
167
+ return false;
168
+ }
169
+ // Future major versions (5.0+) follow the same pattern as 4.7
170
+ if (version.major > 4) {
171
+ return true;
172
+ }
173
+ // Version 4.7+ (Opus 4.7, Sonnet 4.7, Haiku 4.7, etc.)
174
+ if (version.major === 4 && version.minor >= 7) {
175
+ return true;
176
+ }
177
+ return false;
178
+ }
179
+ /**
180
+ * Check if a model supports the effort parameter.
181
+ *
182
+ * Effort is supported on:
183
+ * - Claude Opus 4.5+
184
+ * - Claude Opus 4.6+
185
+ * - Claude Sonnet 4.6+
186
+ * - All variants at 4.7+ (Opus, Sonnet, Haiku)
187
+ * - All variants at 5.0+
188
+ *
189
+ * @param modelString - The model identifier string
190
+ * @returns true if the model supports the effort parameter
191
+ */
192
+ export function supportsEffort(modelString) {
193
+ // All 4.7+ variants support effort (covers future Sonnet 4.7, Haiku 4.7, etc.)
194
+ if (hasSamplingParameterRestriction(modelString)) {
195
+ return true;
196
+ }
197
+ // Opus 4.5+ supports effort
198
+ if (isClaudeVariantVersionGTE(modelString, "opus", 4, 5)) {
199
+ return true;
200
+ }
201
+ // Sonnet 4.6+ supports effort
202
+ if (isClaudeVariantVersionGTE(modelString, "sonnet", 4, 6)) {
203
+ return true;
204
+ }
205
+ return false;
206
+ }
207
+ /**
208
+ * Check if a model supports the xhigh effort level.
209
+ *
210
+ * xhigh is only available on Opus 4.7+.
211
+ *
212
+ * @param modelString - The model identifier string
213
+ * @returns true if the model supports xhigh effort
214
+ */
215
+ export function supportsXHighEffort(modelString) {
216
+ return isClaudeVariantVersionGTE(modelString, "opus", 4, 7);
217
+ }
218
+ /**
219
+ * Get the available effort levels for a given Claude model.
220
+ *
221
+ * - Opus 4.7+: low, medium, high, xhigh, max
222
+ * - Opus 4.5+, Opus 4.6+, Sonnet 4.6+: low, medium, high, max
223
+ * - Other models: empty (effort not supported)
224
+ *
225
+ * @param modelString - The model identifier string
226
+ * @returns Record of display label to effort level value, or null if not supported
227
+ */
228
+ export function getAvailableEffortLevels(modelString) {
229
+ if (!supportsEffort(modelString)) {
230
+ return null;
231
+ }
232
+ const levels = {
233
+ "Low": "low",
234
+ "Medium": "medium",
235
+ "High (default)": "high",
236
+ "Max": "max",
237
+ };
238
+ if (supportsXHighEffort(modelString)) {
239
+ // Insert xhigh between high and max
240
+ return {
241
+ "Low": "low",
242
+ "Medium": "medium",
243
+ "High (default)": "high",
244
+ "Extra High": "xhigh",
245
+ "Max": "max",
246
+ };
247
+ }
248
+ return levels;
249
+ }
250
+ // ============================================================================
251
+ // Gemini Version Parsing
252
+ // ============================================================================
253
+ /**
254
+ * Extract Gemini version from a model ID.
255
+ *
256
+ * Examples:
257
+ * - "locations/global/publishers/google/models/gemini-2.5-flash" -> "2.5"
258
+ * - "publishers/google/models/gemini-3-pro-image-preview" -> "3"
259
+ * - "gemini-3.1-flash-lite-preview" -> "3.1"
260
+ *
261
+ * @param modelId - The model identifier string
262
+ * @returns Version string (e.g., "2.5", "3", "3.1"), or undefined if not parseable
263
+ */
264
+ export function getGeminiModelVersion(modelId) {
265
+ const modelName = modelId.split('/').pop() ?? modelId;
266
+ const match = modelName.match(/^gemini-(\d+(?:\.\d+)?)/i);
267
+ return match?.[1];
268
+ }
269
+ /**
270
+ * Parse a version string into major.minor components.
271
+ *
272
+ * @param version - Version string (e.g., "2.5", "3", "3.1")
273
+ * @returns Parsed version, or undefined if not parseable
274
+ */
275
+ export function parseGeminiVersion(version) {
276
+ const match = version.match(/^(\d+)(?:\.(\d+))?$/);
277
+ if (!match) {
278
+ return undefined;
279
+ }
280
+ return {
281
+ major: Number(match[1]),
282
+ minor: Number(match[2] ?? '0'),
283
+ };
284
+ }
285
+ /**
286
+ * Check if a Gemini model version is greater than or equal to a minimum version.
287
+ *
288
+ * @param modelId - The model identifier string
289
+ * @param minVersion - Minimum version string (e.g., "2.5", "3.0")
290
+ * @returns true if model version >= min version
291
+ */
292
+ export function isGeminiModelVersionGte(modelId, minVersion) {
293
+ const modelVersion = getGeminiModelVersion(modelId);
294
+ if (!modelVersion) {
295
+ return false;
296
+ }
297
+ const current = parseGeminiVersion(modelVersion);
298
+ const target = parseGeminiVersion(minVersion);
299
+ if (!current || !target) {
300
+ return false;
301
+ }
302
+ if (current.major > target.major) {
303
+ return true;
304
+ }
305
+ if (current.major < target.major) {
306
+ return false;
307
+ }
308
+ return current.minor >= target.minor;
309
+ }
310
+ //# sourceMappingURL=version-parsing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-parsing.js","sourceRoot":"","sources":["../../../src/options/version-parsing.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { OptionType, SharedOptions } from "../types.js";
2
- import { getMaxOutputTokens } from "./context-windows.js";
3
2
  import { textOptionsFallback } from "./fallback.js";
3
+ import { buildClaudeCacheOptions, buildClaudeCacheTtlOptions, buildClaudeEffortOptions, buildClaudeIncludeThoughtsOption, buildClaudeThinkingBudgetOption, getClaudeMaxTokensLimit, } from "./shared-parsing.js";
4
+ import { hasSamplingParameterRestriction, isGeminiModelVersionGte, } from "./version-parsing.js";
4
5
  export var ImagenTaskType;
5
6
  (function (ImagenTaskType) {
6
7
  ImagenTaskType["TEXT_IMAGE"] = "TEXT_IMAGE";
@@ -55,125 +56,6 @@ export function getVertexAiOptions(model, option) {
55
56
  }
56
57
  return textOptionsFallback;
57
58
  }
58
- /**
59
- * Extract Gemini version from a model ID.
60
- *
61
- * Examples:
62
- * - locations/global/publishers/google/models/gemini-2.5-flash -> 2.5
63
- * - publishers/google/models/gemini-3-pro-image-preview -> 3
64
- */
65
- export function getGeminiModelVersion(modelId) {
66
- const modelName = modelId.split('/').pop() ?? modelId;
67
- const match = modelName.match(/^gemini-(\d+(?:\.\d+)?)/i);
68
- return match?.[1];
69
- }
70
- function parseVersion(version) {
71
- const match = version.match(/^(\d+)(?:\.(\d+))?$/);
72
- if (!match) {
73
- return undefined;
74
- }
75
- return {
76
- major: Number(match[1]),
77
- minor: Number(match[2] ?? '0'),
78
- };
79
- }
80
- export function isGeminiModelVersionGte(modelId, minVersion) {
81
- const modelVersion = getGeminiModelVersion(modelId);
82
- if (!modelVersion) {
83
- return false;
84
- }
85
- const current = parseVersion(modelVersion);
86
- const target = parseVersion(minVersion);
87
- if (!current || !target) {
88
- return false;
89
- }
90
- if (current.major > target.major) {
91
- return true;
92
- }
93
- if (current.major < target.major) {
94
- return false;
95
- }
96
- return current.minor >= target.minor;
97
- }
98
- function getGeminiThinkingLevels(model) {
99
- const normalized = model.toLowerCase();
100
- const isGemini3OrLater = isGeminiModelVersionGte(model, "3.0");
101
- const isGemini31OrLater = isGeminiModelVersionGte(model, "3.1");
102
- const isFlashLite = normalized.includes("flash-lite");
103
- const isFlash = normalized.includes("flash") && !isFlashLite;
104
- const isPro = normalized.includes("pro");
105
- // Gemini 3 / 3.1 thinking_level support summary:
106
- // - MINIMAL: Gemini 3 Flash and Gemini 3.1 Flash-Lite only.
107
- // Gemini 3.1 Flash-Lite defaults to MINIMAL.
108
- // - LOW: Supported by Gemini 3+ models.
109
- // - MEDIUM: Gemini 3 Flash, Gemini 3.1 Pro, Gemini 3.1 Flash-Lite.
110
- // - HIGH: Supported by Gemini 3+ models.
111
- // - Thinking cannot be turned off for Gemini 3 Pro and Gemini 3.1 Pro.
112
- if (isFlashLite && isGemini31OrLater) {
113
- return {
114
- levels: {
115
- "Minimal": ThinkingLevel.MINIMAL,
116
- "Low": ThinkingLevel.LOW,
117
- "Medium": ThinkingLevel.MEDIUM,
118
- "High": ThinkingLevel.HIGH,
119
- },
120
- defaultLevel: ThinkingLevel.MINIMAL,
121
- };
122
- }
123
- // Gemini 3+ Flash supports MINIMAL and MEDIUM in addition to LOW/HIGH.
124
- if (isFlash) {
125
- return {
126
- levels: {
127
- "Minimal": ThinkingLevel.MINIMAL,
128
- "Low": ThinkingLevel.LOW,
129
- "Medium": ThinkingLevel.MEDIUM,
130
- "High": ThinkingLevel.HIGH,
131
- },
132
- defaultLevel: ThinkingLevel.MINIMAL,
133
- };
134
- }
135
- // Gemini 3.1 Pro adds MEDIUM, but does not support turning thinking off.
136
- if (isPro && isGemini31OrLater) {
137
- return {
138
- levels: {
139
- "Low": ThinkingLevel.LOW,
140
- "Medium": ThinkingLevel.MEDIUM,
141
- "High": ThinkingLevel.HIGH,
142
- },
143
- defaultLevel: ThinkingLevel.LOW,
144
- };
145
- }
146
- // Gemini 3 Pro supports LOW/HIGH. Thinking cannot be turned off.
147
- if (isPro) {
148
- return {
149
- levels: {
150
- "Low": ThinkingLevel.LOW,
151
- "High": ThinkingLevel.HIGH,
152
- },
153
- defaultLevel: ThinkingLevel.LOW,
154
- };
155
- }
156
- // Fallback for unknown Gemini 3+/4+ families:
157
- // prefer future-safe propagation by enabling the guaranteed baseline levels.
158
- if (isGemini3OrLater) {
159
- return {
160
- levels: {
161
- "Low": ThinkingLevel.LOW,
162
- "Medium": ThinkingLevel.MEDIUM,
163
- "High": ThinkingLevel.HIGH,
164
- },
165
- defaultLevel: ThinkingLevel.LOW,
166
- };
167
- }
168
- // Non-3.x models should not reach this helper in normal flow.
169
- return {
170
- levels: {
171
- "Low": ThinkingLevel.LOW,
172
- "High": ThinkingLevel.HIGH,
173
- },
174
- defaultLevel: ThinkingLevel.LOW,
175
- };
176
- }
177
59
  function getImagenOptions(model, option) {
178
60
  const commonOptions = [
179
61
  {
@@ -313,8 +195,16 @@ function getImagenOptions(model, option) {
313
195
  }
314
196
  return textOptionsFallback;
315
197
  }
198
+ function getGeminiEffortOptions(model) {
199
+ if (model.includes("gemini-3-pro-image")) {
200
+ return { "High": "high" };
201
+ }
202
+ if (model.includes("gemini-3.1-flash-image")) {
203
+ return { "Low": "low", "High": "high" };
204
+ }
205
+ return { "Low": "low", "Medium": "medium", "High": "high" };
206
+ }
316
207
  function getGeminiThinkingOptionItems(model) {
317
- const thinkingLevelConfig = getGeminiThinkingLevels(model);
318
208
  return [
319
209
  {
320
210
  name: "include_thoughts",
@@ -323,10 +213,9 @@ function getGeminiThinkingOptionItems(model) {
323
213
  description: "Include the model's reasoning process in the response"
324
214
  },
325
215
  {
326
- name: "thinking_level",
216
+ name: SharedOptions.effort,
327
217
  type: OptionType.enum,
328
- enum: thinkingLevelConfig.levels,
329
- default: thinkingLevelConfig.defaultLevel,
218
+ enum: getGeminiEffortOptions(model),
330
219
  description: "Higher thinking levels may improve quality, but increase response times and token costs"
331
220
  }
332
221
  ];
@@ -544,74 +433,30 @@ function getGeminiOptions(model, option) {
544
433
  function getClaudeOptions(model, option) {
545
434
  const max_tokens_limit = getClaudeMaxTokensLimit(model);
546
435
  const excludeOptions = ["max_tokens", "presence_penalty", "frequency_penalty"];
547
- const commonOptions = textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
436
+ let commonOptions = textOptionsFallback.options.filter((option) => !excludeOptions.includes(option.name));
437
+ // Opus 4.7+ models no longer support temperature, top_p, top_k (returns 400 error)
438
+ // Opus 4.6 and Sonnet 4.6 still support these parameters
439
+ const hasSamplingRestriction = hasSamplingParameterRestriction(model);
440
+ if (hasSamplingRestriction) {
441
+ commonOptions = commonOptions.filter((option) => option.name !== SharedOptions.temperature &&
442
+ option.name !== SharedOptions.top_p &&
443
+ option.name !== "top_k");
444
+ }
548
445
  const max_tokens = [{
549
446
  name: SharedOptions.max_tokens, type: OptionType.numeric, min: 1, max: max_tokens_limit,
550
447
  integer: true, step: 200, description: "The maximum number of tokens to generate"
551
448
  }];
552
- const claudeCacheOptions = [
553
- {
554
- name: "cache_enabled",
555
- type: OptionType.boolean,
556
- default: false,
557
- description: "Enable prompt caching. Injects cache breakpoints at the system prompt, tools, and conversation pivot.",
558
- },
559
- ];
560
- const claudeCacheTtlOptions = option?.cache_enabled ? [
561
- {
562
- name: "cache_ttl",
563
- type: OptionType.enum,
564
- enum: { "5 minutes (default)": "5m", "1 hour": "1h" },
565
- default: "5m",
566
- description: "TTL for cache breakpoints. '1h' requires extended caching to be enabled on your account.",
567
- }
568
- ] : [];
569
- if (model.includes("-3-7") || model.includes("-4")) {
570
- const claudeModeOptions = [
571
- {
572
- name: "thinking_mode",
573
- type: OptionType.boolean,
574
- default: false,
575
- description: "If true, use the extended reasoning mode"
576
- },
577
- ];
578
- const claudeThinkingOptions = option?.thinking_mode ? [
579
- {
580
- name: "thinking_budget_tokens",
581
- type: OptionType.numeric,
582
- min: 1024,
583
- default: 1024,
584
- integer: true,
585
- step: 100,
586
- description: "The target number of tokens to use for reasoning, not a hard limit."
587
- },
588
- {
589
- name: "include_thoughts",
590
- type: OptionType.boolean,
591
- default: false,
592
- description: "Include the model's reasoning process in the response"
593
- }
594
- ] : [];
595
- return {
596
- _option_id: "vertexai-claude",
597
- options: [
598
- ...max_tokens,
599
- ...commonOptions,
600
- ...claudeModeOptions,
601
- ...claudeThinkingOptions,
602
- ...claudeCacheOptions,
603
- ...claudeCacheTtlOptions,
604
- ]
605
- };
606
- }
607
449
  return {
608
450
  _option_id: "vertexai-claude",
609
451
  options: [
610
452
  ...max_tokens,
611
453
  ...commonOptions,
612
- ...claudeCacheOptions,
613
- ...claudeCacheTtlOptions,
614
- ]
454
+ ...buildClaudeEffortOptions(model),
455
+ ...buildClaudeThinkingBudgetOption(model),
456
+ ...buildClaudeIncludeThoughtsOption(model),
457
+ ...buildClaudeCacheOptions(),
458
+ ...buildClaudeCacheTtlOptions(option?.cache_enabled),
459
+ ],
615
460
  };
616
461
  }
617
462
  function getLlamaOptions(model) {
@@ -653,13 +498,6 @@ function getGeminiMaxTokensLimit(model) {
653
498
  }
654
499
  return 8192;
655
500
  }
656
- // Delegate to provider-agnostic limits,
657
- // override only where VertexAI supports extended output (128K for 3.7)
658
- function getClaudeMaxTokensLimit(model) {
659
- if (model.includes('-3-7'))
660
- return 128000;
661
- return getMaxOutputTokens(model);
662
- }
663
501
  function getLlamaMaxTokensLimit(_model) {
664
502
  return 8192;
665
503
  }
@@ -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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"}