@didim365/agent-cli-core 0.2.4 → 0.2.6

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.
@@ -13,6 +13,21 @@ import type { AnyDeclarativeTool, AnyToolInvocation } from '../index.js';
13
13
  * @returns A suggestion string like " Did you mean 'tool'?" or " Did you mean one of: 'tool1', 'tool2'?", or an empty string if no suggestions are found.
14
14
  */
15
15
  export declare function getToolSuggestion(unknownToolName: string, allToolNames: string[], topN?: number): string;
16
+ /**
17
+ * Fuzzy-matches a tool name against registered tool names.
18
+ *
19
+ * If exact match exists, returns it immediately.
20
+ * Otherwise, finds the closest match using Levenshtein distance.
21
+ * Auto-corrects only when:
22
+ * - Distance ≤ 2 (typo threshold)
23
+ * - Single unique candidate at minimum distance
24
+ *
25
+ * Server boundary protection: qualified names (containing '__') are only
26
+ * matched against tools with the same server prefix.
27
+ *
28
+ * @returns The matched tool name, or null if no suitable match
29
+ */
30
+ export declare function fuzzyMatchToolName(name: string, allToolNames: string[]): string | null;
16
31
  /**
17
32
  * Checks if a tool invocation matches any of a list of patterns.
18
33
  *
@@ -26,3 +41,51 @@ export declare function getToolSuggestion(unknownToolName: string, allToolNames:
26
41
  * @returns True if the invocation matches any pattern, false otherwise.
27
42
  */
28
43
  export declare function doesToolInvocationMatch(toolOrToolName: AnyDeclarativeTool | string, invocation: AnyToolInvocation | string, patterns: string[]): boolean;
44
+ /**
45
+ * Coerces parameter values to match the types declared in the JSON schema.
46
+ *
47
+ * Handles common sLM type mismatches:
48
+ * - string "42" → number 42 (when schema expects 'number' or 'integer')
49
+ * - string "true"/"false" → boolean (when schema expects 'boolean')
50
+ * - number 42 → string "42" (when schema expects 'string')
51
+ *
52
+ * Rules:
53
+ * - Only converts when the target type is unambiguous (single type in schema)
54
+ * - Conversion failure (e.g., "abc" → number) → original value preserved
55
+ * - Original args never mutated (shallow copy)
56
+ * - No conversion for 'object' or 'array' types (too risky)
57
+ */
58
+ export declare function coerceParamTypes(args: Record<string, unknown>, schema: Record<string, unknown> | undefined): Record<string, unknown>;
59
+ /**
60
+ * Schema-based parameter normalization for MCP tools.
61
+ *
62
+ * Strategy (priority order):
63
+ * 1. Exact match: arg name exists in schema → no change
64
+ * 2. camelCase→snake_case: arg 'filePath' → schema 'file_path' → rename
65
+ * 3. Suffix match: arg 'path' → schema 'file_path' (required param preferred)
66
+ *
67
+ * Rules:
68
+ * - Canonical param already exists → no aliasing (protects correct calls)
69
+ * - Original args never mutated (shallow copy)
70
+ * - Ambiguous suffix matches skipped unless exactly one required candidate
71
+ * - Supports top-level properties and allOf composition
72
+ * - Gracefully handles malformed schema (non-array required, etc.)
73
+ */
74
+ export declare function normalizeToolParamsBySchema(args: Record<string, unknown>, schema: Record<string, unknown> | undefined): Record<string, unknown>;
75
+ /**
76
+ * Normalizes tool parameter names by applying known aliases.
77
+ *
78
+ * Rules:
79
+ * - If the canonical parameter already exists in args, no aliasing occurs
80
+ * (protects correct calls from Gemini or properly-learned non-Gemini models)
81
+ * - If an alias is found AND the canonical param is missing, the alias value
82
+ * is moved to the canonical key
83
+ * - The original alias key is removed to avoid AJV additionalProperties errors
84
+ * - If the tool has no alias rules, args are returned unchanged (reference identity)
85
+ * - Original args object is never mutated (shallow copy)
86
+ *
87
+ * @param toolName The API name of the tool (e.g., 'read_file')
88
+ * @param args The raw arguments from the LLM
89
+ * @returns A new args object with normalized parameter names, or the original if unchanged
90
+ */
91
+ export declare function normalizeToolParams(toolName: string, args: Record<string, unknown>): Record<string, unknown>;
@@ -34,6 +34,51 @@ export function getToolSuggestion(unknownToolName, allToolNames, topN = 3) {
34
34
  return ` Did you mean ${suggestedNames}?`;
35
35
  }
36
36
  }
37
+ /**
38
+ * Fuzzy-matches a tool name against registered tool names.
39
+ *
40
+ * If exact match exists, returns it immediately.
41
+ * Otherwise, finds the closest match using Levenshtein distance.
42
+ * Auto-corrects only when:
43
+ * - Distance ≤ 2 (typo threshold)
44
+ * - Single unique candidate at minimum distance
45
+ *
46
+ * Server boundary protection: qualified names (containing '__') are only
47
+ * matched against tools with the same server prefix.
48
+ *
49
+ * @returns The matched tool name, or null if no suitable match
50
+ */
51
+ export function fuzzyMatchToolName(name, allToolNames) {
52
+ if (!name || allToolNames.length === 0)
53
+ return null;
54
+ // Exact match — fast path
55
+ if (allToolNames.includes(name))
56
+ return name;
57
+ const MAX_DISTANCE = 2;
58
+ // Server boundary protection: qualified name → filter by same prefix
59
+ let candidates = allToolNames;
60
+ if (name.includes('__')) {
61
+ const separatorIndex = name.indexOf('__');
62
+ const prefix = name.slice(0, separatorIndex);
63
+ candidates = allToolNames.filter((t) => t.startsWith(prefix + '__'));
64
+ if (candidates.length === 0)
65
+ return null;
66
+ }
67
+ const matches = candidates
68
+ .map((toolName) => ({
69
+ name: toolName,
70
+ distance: levenshtein.get(name, toolName),
71
+ }))
72
+ .filter((m) => m.distance <= MAX_DISTANCE)
73
+ .sort((a, b) => a.distance - b.distance);
74
+ if (matches.length === 0)
75
+ return null;
76
+ // Ambiguity check: top candidate must be strictly closer than second
77
+ if (matches.length > 1 && matches[0].distance === matches[1].distance) {
78
+ return null;
79
+ }
80
+ return matches[0].name;
81
+ }
37
82
  /**
38
83
  * Checks if a tool invocation matches any of a list of patterns.
39
84
  *
@@ -93,4 +138,315 @@ export function doesToolInvocationMatch(toolOrToolName, invocation, patterns) {
93
138
  }
94
139
  return false;
95
140
  }
141
+ // ============================================================================
142
+ // Tool parameter alias normalization
143
+ // ============================================================================
144
+ /**
145
+ * Maps tool API names to their parameter alias normalization rules.
146
+ * Each entry maps an alias name (sent by non-Gemini LLMs) to the canonical
147
+ * parameter name expected by the tool's JSON schema.
148
+ *
149
+ * Non-Gemini models (OpenAI, Claude) may send alternative parameter names
150
+ * on their first tool call (e.g., 'path' instead of 'file_path') because
151
+ * of training data conventions. This map enables transparent normalization
152
+ * before AJV schema validation.
153
+ */
154
+ const TOOL_PARAM_ALIASES = {
155
+ read_file: {
156
+ path: 'file_path',
157
+ filepath: 'file_path',
158
+ filePath: 'file_path',
159
+ file: 'file_path',
160
+ },
161
+ search_file_content: {
162
+ query: 'pattern',
163
+ search_query: 'pattern',
164
+ regex: 'pattern',
165
+ search: 'pattern',
166
+ // dir_path aliases — optional param, silent failure if ignored
167
+ path: 'dir_path',
168
+ directory: 'dir_path',
169
+ dirPath: 'dir_path',
170
+ dir: 'dir_path',
171
+ },
172
+ list_directory: {
173
+ path: 'dir_path',
174
+ directory: 'dir_path',
175
+ dirPath: 'dir_path',
176
+ dir: 'dir_path',
177
+ },
178
+ glob: {
179
+ glob_pattern: 'pattern',
180
+ search_pattern: 'pattern',
181
+ // dir_path aliases — optional param, silent failure if ignored
182
+ path: 'dir_path',
183
+ directory: 'dir_path',
184
+ dirPath: 'dir_path',
185
+ dir: 'dir_path',
186
+ },
187
+ write_file: {
188
+ path: 'file_path',
189
+ filepath: 'file_path',
190
+ filePath: 'file_path',
191
+ },
192
+ replace: {
193
+ path: 'file_path',
194
+ filepath: 'file_path',
195
+ filePath: 'file_path',
196
+ // old_string / new_string aliases — required params
197
+ old_text: 'old_string',
198
+ oldText: 'old_string',
199
+ original: 'old_string',
200
+ original_string: 'old_string',
201
+ new_text: 'new_string',
202
+ newText: 'new_string',
203
+ replacement: 'new_string',
204
+ replacement_string: 'new_string',
205
+ // instruction aliases
206
+ description: 'instruction',
207
+ reason: 'instruction',
208
+ change_description: 'instruction',
209
+ },
210
+ run_shell_command: {
211
+ cmd: 'command',
212
+ shell_command: 'command',
213
+ },
214
+ google_web_search: {
215
+ search_query: 'query',
216
+ search: 'query',
217
+ q: 'query',
218
+ },
219
+ web_fetch: {
220
+ url: 'prompt',
221
+ input: 'prompt',
222
+ request: 'prompt',
223
+ },
224
+ read_many_files: {
225
+ files: 'include',
226
+ paths: 'include',
227
+ file_paths: 'include',
228
+ patterns: 'include',
229
+ glob_patterns: 'include',
230
+ },
231
+ get_internal_docs: {
232
+ file_path: 'path',
233
+ filepath: 'path',
234
+ filePath: 'path',
235
+ doc_path: 'path',
236
+ },
237
+ };
238
+ // ============================================================================
239
+ // Parameter type coercion (sLM fault tolerance — Phase 5)
240
+ // ============================================================================
241
+ /**
242
+ * Coerces parameter values to match the types declared in the JSON schema.
243
+ *
244
+ * Handles common sLM type mismatches:
245
+ * - string "42" → number 42 (when schema expects 'number' or 'integer')
246
+ * - string "true"/"false" → boolean (when schema expects 'boolean')
247
+ * - number 42 → string "42" (when schema expects 'string')
248
+ *
249
+ * Rules:
250
+ * - Only converts when the target type is unambiguous (single type in schema)
251
+ * - Conversion failure (e.g., "abc" → number) → original value preserved
252
+ * - Original args never mutated (shallow copy)
253
+ * - No conversion for 'object' or 'array' types (too risky)
254
+ */
255
+ export function coerceParamTypes(args, schema) {
256
+ if (!schema)
257
+ return args;
258
+ // Reuse extractSchemaInfo to support allOf merged properties (Issue #3)
259
+ const schemaInfo = extractSchemaInfo(schema);
260
+ const properties = schemaInfo?.properties;
261
+ if (!properties)
262
+ return args;
263
+ let changed = false;
264
+ const coerced = { ...args };
265
+ for (const [key, value] of Object.entries(coerced)) {
266
+ const propSchema = properties[key];
267
+ if (!propSchema?.type || value === undefined || value === null)
268
+ continue;
269
+ const targetType = propSchema.type;
270
+ const actualType = typeof value;
271
+ // string → number/integer
272
+ if (actualType === 'string' &&
273
+ (targetType === 'number' || targetType === 'integer')) {
274
+ const strValue = value;
275
+ if (strValue.trim() === '')
276
+ continue; // 빈/공백 문자열 → 0 변환 방지
277
+ const num = Number(strValue);
278
+ if (!Number.isNaN(num) &&
279
+ Number.isFinite(num) &&
280
+ (targetType === 'number' || Number.isInteger(num))) {
281
+ coerced[key] = num;
282
+ changed = true;
283
+ }
284
+ }
285
+ // string → boolean
286
+ else if (actualType === 'string' && targetType === 'boolean') {
287
+ if (value === 'true') {
288
+ coerced[key] = true;
289
+ changed = true;
290
+ }
291
+ else if (value === 'false') {
292
+ coerced[key] = false;
293
+ changed = true;
294
+ }
295
+ }
296
+ // number/boolean → string
297
+ else if ((actualType === 'number' || actualType === 'boolean') &&
298
+ targetType === 'string') {
299
+ coerced[key] = String(value);
300
+ changed = true;
301
+ }
302
+ }
303
+ return changed ? coerced : args;
304
+ }
305
+ // ============================================================================
306
+ // Schema-based parameter normalization (MCP tools)
307
+ // ============================================================================
308
+ /**
309
+ * Converts a camelCase string to snake_case.
310
+ * e.g., 'filePath' → 'file_path', 'lineNumber' → 'line_number'
311
+ */
312
+ function toSnakeCase(str) {
313
+ return str.replace(/[A-Z]/g, (letter, offset) => (offset === 0 ? '' : '_') + letter.toLowerCase());
314
+ }
315
+ /**
316
+ * Extracts merged properties and required keys from a JSON Schema.
317
+ * Supports top-level properties and allOf composition.
318
+ * Returns undefined if no properties are found.
319
+ */
320
+ function extractSchemaInfo(schema) {
321
+ const s = schema;
322
+ const mergedProperties = {};
323
+ const mergedRequired = [];
324
+ // Collect top-level properties
325
+ if (s.properties) {
326
+ Object.assign(mergedProperties, s.properties);
327
+ if (Array.isArray(s.required)) {
328
+ for (const r of s.required) {
329
+ if (typeof r === 'string')
330
+ mergedRequired.push(r);
331
+ }
332
+ }
333
+ }
334
+ // Collect allOf sub-schema properties (additive — merges with top-level)
335
+ if (Array.isArray(s.allOf) && s.allOf.length > 0) {
336
+ for (const sub of s.allOf) {
337
+ const subSchema = sub;
338
+ if (subSchema.properties) {
339
+ Object.assign(mergedProperties, subSchema.properties);
340
+ }
341
+ if (Array.isArray(subSchema.required)) {
342
+ for (const r of subSchema.required) {
343
+ if (typeof r === 'string')
344
+ mergedRequired.push(r);
345
+ }
346
+ }
347
+ }
348
+ }
349
+ if (Object.keys(mergedProperties).length > 0) {
350
+ return { properties: mergedProperties, required: mergedRequired };
351
+ }
352
+ return undefined;
353
+ }
354
+ /**
355
+ * Schema-based parameter normalization for MCP tools.
356
+ *
357
+ * Strategy (priority order):
358
+ * 1. Exact match: arg name exists in schema → no change
359
+ * 2. camelCase→snake_case: arg 'filePath' → schema 'file_path' → rename
360
+ * 3. Suffix match: arg 'path' → schema 'file_path' (required param preferred)
361
+ *
362
+ * Rules:
363
+ * - Canonical param already exists → no aliasing (protects correct calls)
364
+ * - Original args never mutated (shallow copy)
365
+ * - Ambiguous suffix matches skipped unless exactly one required candidate
366
+ * - Supports top-level properties and allOf composition
367
+ * - Gracefully handles malformed schema (non-array required, etc.)
368
+ */
369
+ export function normalizeToolParamsBySchema(args, schema) {
370
+ if (!schema)
371
+ return args;
372
+ const info = extractSchemaInfo(schema);
373
+ if (!info)
374
+ return args;
375
+ const schemaKeys = new Set(Object.keys(info.properties));
376
+ const requiredKeys = new Set(info.required);
377
+ // Check if any normalization is needed
378
+ const argKeys = Object.keys(args);
379
+ const unknownKeys = argKeys.filter((k) => !schemaKeys.has(k));
380
+ if (unknownKeys.length === 0)
381
+ return args;
382
+ const normalized = { ...args };
383
+ for (const argKey of unknownKeys) {
384
+ if (normalized[argKey] === undefined)
385
+ continue;
386
+ // Strategy 1: camelCase → snake_case exact match
387
+ const snakeKey = toSnakeCase(argKey);
388
+ if (snakeKey !== argKey &&
389
+ schemaKeys.has(snakeKey) &&
390
+ normalized[snakeKey] === undefined) {
391
+ normalized[snakeKey] = normalized[argKey];
392
+ delete normalized[argKey];
393
+ continue;
394
+ }
395
+ // Strategy 2: Suffix match (e.g., 'path' → 'file_path')
396
+ const suffix = argKey; // The arg key itself is the suffix
397
+ const candidates = [...schemaKeys].filter((sk) => sk !== argKey && sk.endsWith(`_${suffix}`));
398
+ if (candidates.length === 1 && normalized[candidates[0]] === undefined) {
399
+ // Unambiguous suffix match
400
+ normalized[candidates[0]] = normalized[argKey];
401
+ delete normalized[argKey];
402
+ }
403
+ else if (candidates.length > 1) {
404
+ // Ambiguous — resolve ONLY when exactly one required candidate
405
+ const requiredCandidates = candidates.filter((c) => requiredKeys.has(c));
406
+ if (requiredCandidates.length === 1 &&
407
+ normalized[requiredCandidates[0]] === undefined) {
408
+ normalized[requiredCandidates[0]] = normalized[argKey];
409
+ delete normalized[argKey];
410
+ }
411
+ // else: skip (ambiguous — required 0개 또는 2개 이상이면 매핑하지 않음)
412
+ }
413
+ }
414
+ return normalized;
415
+ }
416
+ // ============================================================================
417
+ // Static alias normalization (built-in tools)
418
+ // ============================================================================
419
+ /**
420
+ * Normalizes tool parameter names by applying known aliases.
421
+ *
422
+ * Rules:
423
+ * - If the canonical parameter already exists in args, no aliasing occurs
424
+ * (protects correct calls from Gemini or properly-learned non-Gemini models)
425
+ * - If an alias is found AND the canonical param is missing, the alias value
426
+ * is moved to the canonical key
427
+ * - The original alias key is removed to avoid AJV additionalProperties errors
428
+ * - If the tool has no alias rules, args are returned unchanged (reference identity)
429
+ * - Original args object is never mutated (shallow copy)
430
+ *
431
+ * @param toolName The API name of the tool (e.g., 'read_file')
432
+ * @param args The raw arguments from the LLM
433
+ * @returns A new args object with normalized parameter names, or the original if unchanged
434
+ */
435
+ export function normalizeToolParams(toolName, args) {
436
+ const aliasMap = TOOL_PARAM_ALIASES[toolName];
437
+ if (!aliasMap) {
438
+ return args;
439
+ }
440
+ let changed = false;
441
+ const normalized = { ...args };
442
+ for (const [alias, canonical] of Object.entries(aliasMap)) {
443
+ if (normalized[canonical] === undefined &&
444
+ normalized[alias] !== undefined) {
445
+ normalized[canonical] = normalized[alias];
446
+ delete normalized[alias];
447
+ changed = true;
448
+ }
449
+ }
450
+ return changed ? normalized : args;
451
+ }
96
452
  //# sourceMappingURL=tool-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-utils.js","sourceRoot":"","sources":["../../../src/utils/tool-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-utils.js","sourceRoot":"","sources":["../../../src/utils/tool-utils.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.4",
3
+ "version": "0.2.6",
4
4
  "description": "Gemini CLI Core",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {