@didim365/agent-cli-core 0.2.19 → 0.2.20

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.
@@ -72,3 +72,14 @@ export declare function getDefaultModelFromRegistry(providerKey: string): string
72
72
  * @returns true if the model is valid for the provider
73
73
  */
74
74
  export declare function isModelValidForProvider(model: string, providerKey: string): boolean;
75
+ /**
76
+ * Check if a model is a registered model (preset or model ID) of a specific provider.
77
+ *
78
+ * Unlike `isModelValidForProvider`, this does NOT consider `allowCustomModels` or `freeformInput`.
79
+ * Returns true only if the model is an exact match in the provider's preset values or model IDs.
80
+ *
81
+ * @param model - Model ID to check
82
+ * @param providerKey - Target provider key
83
+ * @returns true if the model is explicitly registered for the provider
84
+ */
85
+ export declare function isRegisteredModelForProvider(model: string, providerKey: string): boolean;
@@ -173,12 +173,32 @@ export function isModelValidForProvider(model, providerKey) {
173
173
  }
174
174
  return false;
175
175
  }
176
+ /**
177
+ * Check if a model is a registered model (preset or model ID) of a specific provider.
178
+ *
179
+ * Unlike `isModelValidForProvider`, this does NOT consider `allowCustomModels` or `freeformInput`.
180
+ * Returns true only if the model is an exact match in the provider's preset values or model IDs.
181
+ *
182
+ * @param model - Model ID to check
183
+ * @param providerKey - Target provider key
184
+ * @returns true if the model is explicitly registered for the provider
185
+ */
186
+ export function isRegisteredModelForProvider(model, providerKey) {
187
+ const group = PROVIDER_MODEL_REGISTRY[providerKey];
188
+ if (!group)
189
+ return false;
190
+ if (group.freeformInput || group.modelSelectionDisabled)
191
+ return false;
192
+ const presetValues = group.presets.map((p) => p.value);
193
+ const modelIds = group.models.map((m) => m.id);
194
+ return presetValues.includes(model) || modelIds.includes(model);
195
+ }
176
196
  /**
177
197
  * Determine if a model clearly belongs to another provider based on prefix heuristics.
178
198
  *
179
199
  * Prefix rules:
180
200
  * - `claude-*` → claude
181
- * - `gpt-*`, `o[0-9]*` → openai
201
+ * - `gpt-[0-9]*`, `o[0-9]*` → openai
182
202
  * - `gemini-*`, `auto-gemini*` → gemini
183
203
  */
184
204
  function isModelOwnedByOtherProvider(model, currentProvider) {
@@ -186,7 +206,7 @@ function isModelOwnedByOtherProvider(model, currentProvider) {
186
206
  const normalized = model.toLowerCase();
187
207
  const providerPrefixes = {
188
208
  claude: [(m) => m.startsWith('claude-')],
189
- openai: [(m) => m.startsWith('gpt-'), (m) => /^o[0-9]/.test(m)],
209
+ openai: [(m) => /^gpt-[0-9]/.test(m), (m) => /^o[0-9]/.test(m)],
190
210
  gemini: [
191
211
  (m) => m.startsWith('gemini-'),
192
212
  (m) => m.startsWith('auto-gemini'),
@@ -1 +1 @@
1
- {"version":3,"file":"providerModels.js","sourceRoot":"","sources":["../../../src/config/providerModels.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providerModels.js","sourceRoot":"","sources":["../../../src/config/providerModels.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "3a76b5fed";
6
+ export declare const GIT_COMMIT_INFO = "987cc151f";
7
7
  export declare const CLI_VERSION = "0.30.0";
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = '3a76b5fed';
8
+ export const GIT_COMMIT_INFO = '987cc151f';
9
9
  export const CLI_VERSION = '0.30.0';
10
10
  //# sourceMappingURL=git-commit.js.map
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { ProviderType, getProviderForAuthType, } from './providerTypes.js';
7
7
  import { LlmError, LlmErrorType } from './errors.js';
8
- import { PROVIDER_MODEL_REGISTRY, getDefaultModelFromRegistry, isModelValidForProvider, } from '../config/providerModels.js';
8
+ import { PROVIDER_MODEL_REGISTRY, getDefaultModelFromRegistry, isModelValidForProvider, isRegisteredModelForProvider, } from '../config/providerModels.js';
9
9
  /**
10
10
  * Required environment variables per provider.
11
11
  */
@@ -189,29 +189,167 @@ export function isGeminiSpecificModel(model) {
189
189
  * @returns Resolved model name appropriate for the provider
190
190
  */
191
191
  export function resolveProviderModel(model, provider) {
192
+ // Normalize provider alias to canonical registry key (e.g., 'openai_compatible' → 'openai-compatible')
193
+ const normalizedProvider = normalizeProviderRegistryKey(provider);
192
194
  // modelSelectionDisabled providers always use their fixed default
193
- const group = PROVIDER_MODEL_REGISTRY[provider];
195
+ const group = PROVIDER_MODEL_REGISTRY[normalizedProvider];
194
196
  if (group?.modelSelectionDisabled) {
195
- return getDefaultModelFromRegistry(provider);
197
+ return getDefaultModelFromRegistry(normalizedProvider);
196
198
  }
197
199
  // Gemini-specific model handling
198
200
  if (isGeminiSpecificModel(model)) {
199
- if (provider === ProviderType.Gemini)
201
+ if (normalizedProvider === ProviderType.Gemini)
200
202
  return model;
201
203
  // LLM_MODEL env var: validate before use to prevent cross-provider leak
202
204
  const llmModel = process.env['LLM_MODEL'];
203
- if (llmModel && isModelValidForProvider(llmModel, provider)) {
205
+ if (llmModel && isModelValidForProvider(llmModel, normalizedProvider)) {
204
206
  return llmModel;
205
207
  }
206
208
  // Gemini-specific model + non-Gemini provider → provider default
207
- return getDefaultModelFromRegistry(provider);
209
+ return getDefaultModelFromRegistry(normalizedProvider);
208
210
  }
209
- // Non-Gemini model: validate against target provider
210
- if (!isModelValidForProvider(model, provider)) {
211
- return getDefaultModelFromRegistry(provider);
211
+ // Non-Gemini model handling
212
+ const llmModelEnv = process.env['LLM_MODEL'];
213
+ // Cross-provider stale model detection.
214
+ // Two detection strategies work in tandem:
215
+ //
216
+ // 1. Prefix/registry heuristic (isRegisteredModelOfOtherProvider):
217
+ // Catches well-known models like 'claude-sonnet-4-6' or 'gpt-4o'.
218
+ //
219
+ // 2. Non-registered model check (isRegisteredModelForProvider):
220
+ // For freeformInput providers, any model is "valid", so (1) is the only guard.
221
+ // For non-freeformInput providers (Claude/OpenAI), models unknown to ALL providers
222
+ // (e.g., 'gpt-oss-20b' from sLM) pass allowCustomModels validation.
223
+ // If LLM_MODEL differs from model AND model is not in target's registry,
224
+ // this is a provider-switch scenario → prefer LLM_MODEL or default.
225
+ if (llmModelEnv && llmModelEnv !== model) {
226
+ // Strategy 1: model is a known model of another provider (prefix or registry)
227
+ if (isRegisteredModelOfOtherProvider(model, normalizedProvider)) {
228
+ if (isModelValidForProvider(llmModelEnv, normalizedProvider)) {
229
+ return llmModelEnv;
230
+ }
231
+ return getDefaultModelFromRegistry(normalizedProvider);
232
+ }
233
+ // Strategy 2: model is not registered for target provider (non-freeformInput only)
234
+ // On freeformInput, unknown models may be user-specified (--model) → respect them.
235
+ // Exclude models with target provider's own prefix (e.g., 'claude-sonnet-4-20250514'
236
+ // on Claude) — these are legitimate custom versions of the provider's own models
237
+ // accepted via allowCustomModels, not cross-provider leaks.
238
+ const group = PROVIDER_MODEL_REGISTRY[normalizedProvider];
239
+ if (group &&
240
+ !group.freeformInput &&
241
+ !isRegisteredModelForProvider(model, normalizedProvider) &&
242
+ !isOwnProviderPrefix(model, normalizedProvider)) {
243
+ if (isModelValidForProvider(llmModelEnv, normalizedProvider)) {
244
+ return llmModelEnv;
245
+ }
246
+ return getDefaultModelFromRegistry(normalizedProvider);
247
+ }
248
+ }
249
+ // No LLM_MODEL: detect stale models using prefix/registry heuristic only.
250
+ // Without LLM_MODEL signal, we cannot distinguish user-specified custom models
251
+ // (e.g., --model my-custom-model) from stale cross-provider models. Delegate
252
+ // to isModelValidForProvider which respects allowCustomModels.
253
+ if (!llmModelEnv &&
254
+ isRegisteredModelOfOtherProvider(model, normalizedProvider)) {
255
+ return getDefaultModelFromRegistry(normalizedProvider);
256
+ }
257
+ if (!isModelValidForProvider(model, normalizedProvider)) {
258
+ return getDefaultModelFromRegistry(normalizedProvider);
212
259
  }
213
260
  return model;
214
261
  }
262
+ /**
263
+ * Normalize provider alias to canonical registry key.
264
+ *
265
+ * Maps common aliases (e.g., 'openai_compatible', 'anthropic') to registry keys
266
+ * used in PROVIDER_MODEL_REGISTRY. This prevents registry lookup misses when
267
+ * alias strings are passed from env vars or settings.
268
+ */
269
+ function normalizeProviderRegistryKey(provider) {
270
+ const normalized = (typeof provider === 'string' ? provider : provider)
271
+ .toLowerCase()
272
+ .trim();
273
+ switch (normalized) {
274
+ case 'openai_compatible':
275
+ case 'slm':
276
+ return 'openai-compatible';
277
+ case 'anthropic':
278
+ return 'claude';
279
+ case 'vertex-ai':
280
+ case 'vertex_ai':
281
+ return 'gemini';
282
+ case 'didim-studio':
283
+ case 'didim_studio':
284
+ return 'didim';
285
+ default:
286
+ return normalized;
287
+ }
288
+ }
289
+ /**
290
+ * Check if a model has the target provider's own naming prefix.
291
+ *
292
+ * E.g., 'claude-sonnet-4-20250514' has Claude's own prefix on Claude provider.
293
+ * These models are legitimate custom/unreleased versions, not cross-provider leaks.
294
+ */
295
+ function isOwnProviderPrefix(model, provider) {
296
+ const normalized = model.toLowerCase();
297
+ const prefixMap = {
298
+ claude: [(m) => m.startsWith('claude-')],
299
+ openai: [(m) => /^gpt-[0-9]/.test(m), (m) => /^o[0-9]/.test(m)],
300
+ gemini: [
301
+ (m) => m.startsWith('gemini-'),
302
+ (m) => m.startsWith('auto-gemini'),
303
+ ],
304
+ };
305
+ const checks = prefixMap[provider];
306
+ if (!checks)
307
+ return false;
308
+ return checks.some((check) => check(normalized));
309
+ }
310
+ /**
311
+ * Check if a model clearly belongs to another provider.
312
+ *
313
+ * Uses two detection methods:
314
+ * 1. Registry match: exact preset value or model ID in another provider's registry
315
+ * 2. Prefix heuristic: known provider prefixes (claude-*, gpt-[0-9]*, o[0-9]*, gemini-*)
316
+ *
317
+ * This avoids false positives from allowCustomModels/freeformInput, which would
318
+ * incorrectly flag user-specified models (e.g., 'my-custom-llama') as belonging
319
+ * to another provider.
320
+ */
321
+ function isRegisteredModelOfOtherProvider(model, currentProvider) {
322
+ const normalized = model.toLowerCase();
323
+ // Prefix heuristics for well-known provider model naming conventions
324
+ const providerPrefixes = {
325
+ claude: [(m) => m.startsWith('claude-')],
326
+ openai: [(m) => /^gpt-[0-9]/.test(m), (m) => /^o[0-9]/.test(m)],
327
+ gemini: [
328
+ (m) => m.startsWith('gemini-'),
329
+ (m) => m.startsWith('auto-gemini'),
330
+ ],
331
+ };
332
+ for (const [providerKey, checks] of Object.entries(providerPrefixes)) {
333
+ if (providerKey === currentProvider)
334
+ continue;
335
+ if (checks.some((check) => check(normalized)))
336
+ return true;
337
+ }
338
+ // Registry match: exact preset/model ID in another provider
339
+ for (const [key, g] of Object.entries(PROVIDER_MODEL_REGISTRY)) {
340
+ if (key === currentProvider ||
341
+ g.freeformInput ||
342
+ g.modelSelectionDisabled) {
343
+ continue;
344
+ }
345
+ const presetValues = g.presets.map((p) => p.value);
346
+ const modelIds = g.models.map((m) => m.id);
347
+ if (presetValues.includes(model) || modelIds.includes(model)) {
348
+ return true;
349
+ }
350
+ }
351
+ return false;
352
+ }
215
353
  /**
216
354
  * Get API key for a provider from environment.
217
355
  */
@@ -1 +1 @@
1
- {"version":3,"file":"providerSelector.js","sourceRoot":"","sources":["../../../src/providers/providerSelector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providerSelector.js","sourceRoot":"","sources":["../../../src/providers/providerSelector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@didim365/agent-cli-core",
3
- "version": "0.2.19",
3
+ "version": "0.2.20",
4
4
  "description": "Gemini CLI Core",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {