@llumiverse/common 0.25.0-dev.20260204.110528Z → 0.25.1-dev.20260210.145152Z

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,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getModelCapabilities = getModelCapabilities;
4
+ exports.supportsToolUse = supportsToolUse;
5
+ exports.modelModalitiesToArray = modelModalitiesToArray;
6
+ const azure_foundry_js_1 = require("./capability/azure_foundry.js");
7
+ const bedrock_js_1 = require("./capability/bedrock.js");
8
+ const openai_js_1 = require("./capability/openai.js");
9
+ const vertexai_js_1 = require("./capability/vertexai.js");
10
+ const types_js_1 = require("./types.js");
11
+ function getModelCapabilities(model, provider) {
12
+ //Check for locations/<location>/ prefix and remove it
13
+ if (model.startsWith("locations/")) {
14
+ const parts = model.split("/");
15
+ if (parts.length >= 3) {
16
+ model = parts.slice(2).join("/");
17
+ }
18
+ }
19
+ const capabilities = _getModelCapabilities(model, provider);
20
+ // Globally disable audio and video for all models, as we don't support them yet
21
+ // TODO: Remove this when we add support.
22
+ capabilities.input.audio = false;
23
+ capabilities.output.audio = false;
24
+ capabilities.output.video = false;
25
+ // Preserve tool_support_streaming from provider-specific capabilities if set,
26
+ // otherwise default to false for providers that haven't been verified
27
+ return capabilities;
28
+ }
29
+ function _getModelCapabilities(model, provider) {
30
+ switch (provider?.toLowerCase()) {
31
+ case types_js_1.Providers.vertexai:
32
+ return (0, vertexai_js_1.getModelCapabilitiesVertexAI)(model);
33
+ case types_js_1.Providers.openai:
34
+ case types_js_1.Providers.openai_compatible:
35
+ return (0, openai_js_1.getModelCapabilitiesOpenAI)(model);
36
+ case types_js_1.Providers.bedrock:
37
+ return (0, bedrock_js_1.getModelCapabilitiesBedrock)(model);
38
+ case types_js_1.Providers.azure_foundry:
39
+ // Azure Foundry uses OpenAI capabilities
40
+ return (0, azure_foundry_js_1.getModelCapabilitiesAzureFoundry)(model);
41
+ case types_js_1.Providers.xai:
42
+ // xAI (Grok) models support tool use and are text-based
43
+ return {
44
+ input: { text: true, image: model.includes("vision") },
45
+ output: { text: true },
46
+ tool_support: true,
47
+ tool_support_streaming: false, // Conservative - may work but not tested
48
+ };
49
+ default:
50
+ // Guess the provider based on the model name
51
+ if (model.startsWith("gpt")) {
52
+ return (0, openai_js_1.getModelCapabilitiesOpenAI)(model);
53
+ }
54
+ else if (model.startsWith("grok")) {
55
+ // xAI Grok models
56
+ return {
57
+ input: { text: true, image: model.includes("vision") },
58
+ output: { text: true },
59
+ tool_support: true,
60
+ tool_support_streaming: false,
61
+ };
62
+ }
63
+ else if (model.startsWith("publishers/")) {
64
+ return (0, vertexai_js_1.getModelCapabilitiesVertexAI)(model);
65
+ }
66
+ else if (model.startsWith("arn:aws")) {
67
+ return (0, bedrock_js_1.getModelCapabilitiesBedrock)(model);
68
+ }
69
+ // Fallback to a generic model with no capabilities
70
+ return { input: {}, output: {} };
71
+ }
72
+ }
73
+ function supportsToolUse(model, provider, streaming = false) {
74
+ const capabilities = getModelCapabilities(model, provider);
75
+ return streaming ? !!capabilities.tool_support_streaming : !!capabilities.tool_support;
76
+ }
77
+ function modelModalitiesToArray(modalities) {
78
+ return Object.entries(modalities)
79
+ .filter(([_, isSupported]) => isSupported)
80
+ .map(([modality]) => modality);
81
+ }
82
+ //# sourceMappingURL=capability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/capability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types.js"), exports);
18
+ __exportStar(require("./capability.js"), exports);
19
+ __exportStar(require("./options.js"), exports);
20
+ __exportStar(require("./options/bedrock.js"), exports);
21
+ __exportStar(require("./options/fallback.js"), exports);
22
+ __exportStar(require("./options/groq.js"), exports);
23
+ __exportStar(require("./options/openai.js"), exports);
24
+ __exportStar(require("./options/vertexai.js"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,kDAAgC;AAChC,+CAA6B;AAE7B,uDAAqC;AACrC,wDAAsC;AACtC,oDAAkC;AAClC,sDAAoC;AACpC,wDAAsC"}
@@ -0,0 +1,428 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxTokensLimitAzureFoundry = getMaxTokensLimitAzureFoundry;
4
+ exports.getAzureFoundryOptions = getAzureFoundryOptions;
5
+ const types_js_1 = require("../types.js");
6
+ // Helper function to parse composite model IDs
7
+ function parseAzureFoundryModelId(compositeId) {
8
+ const parts = compositeId.split('::');
9
+ if (parts.length === 2) {
10
+ return {
11
+ deploymentName: parts[0],
12
+ baseModel: parts[1]
13
+ };
14
+ }
15
+ // Backwards compatibility: if no delimiter found, treat as deployment name
16
+ return {
17
+ deploymentName: compositeId,
18
+ baseModel: compositeId
19
+ };
20
+ }
21
+ function getMaxTokensLimitAzureFoundry(model) {
22
+ // Extract base model from composite ID (deployment::baseModel)
23
+ const { baseModel } = parseAzureFoundryModelId(model);
24
+ const modelLower = baseModel.toLowerCase();
25
+ // GPT models
26
+ if (modelLower.includes("gpt-4o")) {
27
+ if (modelLower.includes("mini")) {
28
+ return 16384;
29
+ }
30
+ return 16384;
31
+ }
32
+ if (modelLower.includes("gpt-4")) {
33
+ if (modelLower.includes("turbo")) {
34
+ return 4096;
35
+ }
36
+ if (modelLower.includes("32k")) {
37
+ return 32768;
38
+ }
39
+ return 8192;
40
+ }
41
+ if (modelLower.includes("gpt-35") || modelLower.includes("gpt-3.5")) {
42
+ return 4096;
43
+ }
44
+ if (model.includes("gpt-5")) {
45
+ return 128000;
46
+ }
47
+ // O-series models
48
+ if (modelLower.includes("o1")) {
49
+ if (modelLower.includes("preview")) {
50
+ return 32768;
51
+ }
52
+ if (modelLower.includes("mini")) {
53
+ return 65536;
54
+ }
55
+ return 100000;
56
+ }
57
+ if (modelLower.includes("o3")) {
58
+ if (modelLower.includes("mini")) {
59
+ return 100000;
60
+ }
61
+ return 100000;
62
+ }
63
+ if (modelLower.includes("o4")) {
64
+ return 100000;
65
+ }
66
+ // DeepSeek models
67
+ if (modelLower.includes("deepseek")) {
68
+ if (modelLower.includes("r1")) {
69
+ return 163840;
70
+ }
71
+ if (modelLower.includes("v3")) {
72
+ return 131072;
73
+ }
74
+ }
75
+ // Claude models
76
+ if (modelLower.includes("claude")) {
77
+ if (modelLower.includes("3-5") || modelLower.includes("3-7")) {
78
+ return 8192;
79
+ }
80
+ if (modelLower.includes("3")) {
81
+ return 4096;
82
+ }
83
+ return 4096;
84
+ }
85
+ // Llama models
86
+ if (modelLower.includes("llama")) {
87
+ if (modelLower.includes("3.1") || modelLower.includes("3.3")) {
88
+ return 8192;
89
+ }
90
+ if (modelLower.includes("4")) {
91
+ return 1000000; // 1M context
92
+ }
93
+ return 8192;
94
+ }
95
+ // Mistral models
96
+ if (modelLower.includes("mistral")) {
97
+ if (modelLower.includes("large")) {
98
+ return 4096;
99
+ }
100
+ if (modelLower.includes("small")) {
101
+ return 4096;
102
+ }
103
+ return 4096;
104
+ }
105
+ // Phi models
106
+ if (modelLower.includes("phi")) {
107
+ return 4096;
108
+ }
109
+ // AI21 Jamba models
110
+ if (modelLower.includes("jamba")) {
111
+ return 4096;
112
+ }
113
+ // Cohere models
114
+ if (modelLower.includes("cohere")) {
115
+ if (modelLower.includes("command-a")) {
116
+ return 8000;
117
+ }
118
+ return 4096;
119
+ }
120
+ // Grok models
121
+ if (modelLower.includes("grok")) {
122
+ return 131072;
123
+ }
124
+ return undefined;
125
+ }
126
+ function getAzureFoundryOptions(model, _option) {
127
+ // Extract base model from composite ID (deployment::baseModel)
128
+ const { baseModel } = parseAzureFoundryModelId(model);
129
+ const modelLower = baseModel.toLowerCase();
130
+ const max_tokens_limit = getMaxTokensLimitAzureFoundry(model);
131
+ // Image generation models
132
+ if (modelLower.includes("dall-e") || modelLower.includes("gpt-image")) {
133
+ return {
134
+ _option_id: "azure-foundry-image",
135
+ options: [
136
+ {
137
+ name: "size",
138
+ type: types_js_1.OptionType.enum,
139
+ enum: {
140
+ "256x256": "256x256",
141
+ "512x512": "512x512",
142
+ "1024x1024": "1024x1024",
143
+ "1792x1024": "1792x1024",
144
+ "1024x1792": "1024x1792"
145
+ },
146
+ default: "1024x1024",
147
+ description: "The size of the generated image"
148
+ },
149
+ {
150
+ name: "quality",
151
+ type: types_js_1.OptionType.enum,
152
+ enum: { "Standard": "standard", "HD": "hd" },
153
+ default: "standard",
154
+ description: "The quality of the generated image"
155
+ },
156
+ {
157
+ name: "style",
158
+ type: types_js_1.OptionType.enum,
159
+ enum: { "Vivid": "vivid", "Natural": "natural" },
160
+ default: "vivid",
161
+ description: "The style of the generated image"
162
+ },
163
+ {
164
+ name: "response_format",
165
+ type: types_js_1.OptionType.enum,
166
+ enum: { "URL": "url", "Base64 JSON": "b64_json" },
167
+ default: "url",
168
+ description: "The format of the response"
169
+ }
170
+ ]
171
+ };
172
+ }
173
+ // Vision model options
174
+ const visionOptions = isVisionModel(modelLower) ? [
175
+ {
176
+ name: "image_detail",
177
+ type: types_js_1.OptionType.enum,
178
+ enum: { "Low": "low", "High": "high", "Auto": "auto" },
179
+ default: "auto",
180
+ description: "Controls how the model processes input images"
181
+ }
182
+ ] : [];
183
+ // O-series and thinking models
184
+ if (modelLower.includes("o1") || modelLower.includes("o3") || modelLower.includes("o4")) {
185
+ const reasoningOptions = (modelLower.includes("o3") || isO1Full(modelLower)) ? [
186
+ {
187
+ name: "reasoning_effort",
188
+ type: types_js_1.OptionType.enum,
189
+ enum: { "Low": "low", "Medium": "medium", "High": "high" },
190
+ default: "medium",
191
+ description: "How much effort the model should put into reasoning"
192
+ }
193
+ ] : [];
194
+ return {
195
+ _option_id: "azure-foundry-thinking",
196
+ options: [
197
+ {
198
+ name: types_js_1.SharedOptions.max_tokens,
199
+ type: types_js_1.OptionType.numeric,
200
+ min: 1,
201
+ max: max_tokens_limit,
202
+ integer: true,
203
+ description: "The maximum number of tokens to generate"
204
+ },
205
+ {
206
+ name: types_js_1.SharedOptions.temperature,
207
+ type: types_js_1.OptionType.numeric,
208
+ min: 0.0,
209
+ max: 2.0,
210
+ default: 1.0,
211
+ step: 0.1,
212
+ description: "Controls randomness in the output"
213
+ },
214
+ {
215
+ name: types_js_1.SharedOptions.top_p,
216
+ type: types_js_1.OptionType.numeric,
217
+ min: 0,
218
+ max: 1,
219
+ step: 0.1,
220
+ description: "Nucleus sampling parameter"
221
+ },
222
+ {
223
+ name: types_js_1.SharedOptions.stop_sequence,
224
+ type: types_js_1.OptionType.string_list,
225
+ value: [],
226
+ description: "Sequences where the model will stop generating"
227
+ },
228
+ ...reasoningOptions,
229
+ ...visionOptions
230
+ ]
231
+ };
232
+ }
233
+ // DeepSeek R1 models
234
+ if (modelLower.includes("deepseek") && modelLower.includes("r1")) {
235
+ return {
236
+ _option_id: "azure-foundry-deepseek",
237
+ options: [
238
+ {
239
+ name: types_js_1.SharedOptions.max_tokens,
240
+ type: types_js_1.OptionType.numeric,
241
+ min: 1,
242
+ max: max_tokens_limit,
243
+ integer: true,
244
+ description: "The maximum number of tokens to generate"
245
+ },
246
+ {
247
+ name: types_js_1.SharedOptions.temperature,
248
+ type: types_js_1.OptionType.numeric,
249
+ min: 0.0,
250
+ max: 2.0,
251
+ default: 0.7,
252
+ step: 0.1,
253
+ description: "Lower temperatures recommended for DeepSeek R1 (0.3-0.7)"
254
+ },
255
+ {
256
+ name: types_js_1.SharedOptions.top_p,
257
+ type: types_js_1.OptionType.numeric,
258
+ min: 0,
259
+ max: 1,
260
+ step: 0.1,
261
+ description: "Nucleus sampling parameter"
262
+ },
263
+ {
264
+ name: types_js_1.SharedOptions.stop_sequence,
265
+ type: types_js_1.OptionType.string_list,
266
+ value: [],
267
+ description: "Sequences where the model will stop generating"
268
+ }
269
+ ]
270
+ };
271
+ }
272
+ // OpenAI models (GPT-4, GPT-4o, GPT-3.5)
273
+ if (modelLower.includes("gpt-")) {
274
+ return {
275
+ _option_id: "azure-foundry-openai",
276
+ options: [
277
+ {
278
+ name: types_js_1.SharedOptions.max_tokens,
279
+ type: types_js_1.OptionType.numeric,
280
+ min: 1,
281
+ max: max_tokens_limit,
282
+ integer: true,
283
+ step: 200,
284
+ description: "The maximum number of tokens to generate"
285
+ },
286
+ {
287
+ name: types_js_1.SharedOptions.temperature,
288
+ type: types_js_1.OptionType.numeric,
289
+ min: 0.0,
290
+ max: 2.0,
291
+ default: 0.7,
292
+ step: 0.1,
293
+ description: "Controls randomness in the output"
294
+ },
295
+ {
296
+ name: types_js_1.SharedOptions.top_p,
297
+ type: types_js_1.OptionType.numeric,
298
+ min: 0,
299
+ max: 1,
300
+ step: 0.1,
301
+ description: "Nucleus sampling parameter"
302
+ },
303
+ {
304
+ name: types_js_1.SharedOptions.presence_penalty,
305
+ type: types_js_1.OptionType.numeric,
306
+ min: -2.0,
307
+ max: 2.0,
308
+ step: 0.1,
309
+ description: "Penalize new tokens based on their presence in the text"
310
+ },
311
+ {
312
+ name: types_js_1.SharedOptions.frequency_penalty,
313
+ type: types_js_1.OptionType.numeric,
314
+ min: -2.0,
315
+ max: 2.0,
316
+ step: 0.1,
317
+ description: "Penalize new tokens based on their frequency in the text"
318
+ },
319
+ {
320
+ name: types_js_1.SharedOptions.stop_sequence,
321
+ type: types_js_1.OptionType.string_list,
322
+ value: [],
323
+ description: "Sequences where the model will stop generating"
324
+ },
325
+ ...visionOptions
326
+ ]
327
+ };
328
+ }
329
+ // General text models (Claude, Llama, Mistral, Phi, etc.)
330
+ const baseOptions = [
331
+ {
332
+ name: types_js_1.SharedOptions.max_tokens,
333
+ type: types_js_1.OptionType.numeric,
334
+ min: 1,
335
+ max: max_tokens_limit,
336
+ integer: true,
337
+ step: 200,
338
+ description: "The maximum number of tokens to generate"
339
+ },
340
+ {
341
+ name: types_js_1.SharedOptions.temperature,
342
+ type: types_js_1.OptionType.numeric,
343
+ min: 0.0,
344
+ max: 2.0,
345
+ default: 0.7,
346
+ step: 0.1,
347
+ description: "Controls randomness in the output"
348
+ },
349
+ {
350
+ name: types_js_1.SharedOptions.top_p,
351
+ type: types_js_1.OptionType.numeric,
352
+ min: 0,
353
+ max: 1,
354
+ step: 0.1,
355
+ description: "Nucleus sampling parameter"
356
+ },
357
+ {
358
+ name: types_js_1.SharedOptions.stop_sequence,
359
+ type: types_js_1.OptionType.string_list,
360
+ value: [],
361
+ description: "Sequences where the model will stop generating"
362
+ }
363
+ ];
364
+ // Add model-specific options
365
+ const additionalOptions = [];
366
+ // Add top_k for certain models
367
+ if (modelLower.includes("claude") || modelLower.includes("mistral") || modelLower.includes("phi")) {
368
+ additionalOptions.push({
369
+ name: types_js_1.SharedOptions.top_k,
370
+ type: types_js_1.OptionType.numeric,
371
+ min: 1,
372
+ integer: true,
373
+ step: 1,
374
+ description: "Limits token sampling to the top k tokens"
375
+ });
376
+ }
377
+ // Add penalty options for certain models
378
+ if (modelLower.includes("claude") || modelLower.includes("jamba") || modelLower.includes("cohere")) {
379
+ additionalOptions.push({
380
+ name: types_js_1.SharedOptions.presence_penalty,
381
+ type: types_js_1.OptionType.numeric,
382
+ min: -2.0,
383
+ max: 2.0,
384
+ step: 0.1,
385
+ description: "Penalize new tokens based on their presence in the text"
386
+ }, {
387
+ name: types_js_1.SharedOptions.frequency_penalty,
388
+ type: types_js_1.OptionType.numeric,
389
+ min: -2.0,
390
+ max: 2.0,
391
+ step: 0.1,
392
+ description: "Penalize new tokens based on their frequency in the text"
393
+ });
394
+ }
395
+ // Add seed option for certain models
396
+ if (modelLower.includes("mistral") || modelLower.includes("phi") || modelLower.includes("gemini")) {
397
+ additionalOptions.push({
398
+ name: types_js_1.SharedOptions.seed,
399
+ type: types_js_1.OptionType.numeric,
400
+ integer: true,
401
+ description: "Random seed for reproducible generation"
402
+ });
403
+ }
404
+ return {
405
+ _option_id: "azure-foundry-text",
406
+ options: [
407
+ ...baseOptions,
408
+ ...additionalOptions,
409
+ ...visionOptions
410
+ ]
411
+ };
412
+ }
413
+ function isVisionModel(modelLower) {
414
+ return modelLower.includes("gpt-4o") ||
415
+ modelLower.includes("gpt-4-turbo") ||
416
+ modelLower.includes("claude-3") ||
417
+ modelLower.includes("llama-3.2") ||
418
+ modelLower.includes("llama-4") ||
419
+ modelLower.includes("gemini") ||
420
+ isO1Full(modelLower);
421
+ }
422
+ function isO1Full(modelLower) {
423
+ if (modelLower.includes("o1")) {
424
+ return !modelLower.includes("mini") && !modelLower.includes("preview");
425
+ }
426
+ return false;
427
+ }
428
+ //# sourceMappingURL=azure_foundry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"azure_foundry.js","sourceRoot":"","sources":["../../../src/options/azure_foundry.ts"],"names":[],"mappings":"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"}