capman 0.5.0 → 0.5.2

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 (53) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/bin/lib/cmd-demo.js +2 -2
  3. package/dist/cjs/cache.d.ts +6 -4
  4. package/dist/cjs/cache.d.ts.map +1 -1
  5. package/dist/cjs/cache.js +44 -13
  6. package/dist/cjs/cache.js.map +1 -1
  7. package/dist/cjs/engine.d.ts +23 -1
  8. package/dist/cjs/engine.d.ts.map +1 -1
  9. package/dist/cjs/engine.js +168 -165
  10. package/dist/cjs/engine.js.map +1 -1
  11. package/dist/cjs/index.d.ts +3 -2
  12. package/dist/cjs/index.d.ts.map +1 -1
  13. package/dist/cjs/index.js +3 -1
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/learning.d.ts +2 -1
  16. package/dist/cjs/learning.d.ts.map +1 -1
  17. package/dist/cjs/learning.js +104 -20
  18. package/dist/cjs/learning.js.map +1 -1
  19. package/dist/cjs/matcher.d.ts +15 -1
  20. package/dist/cjs/matcher.d.ts.map +1 -1
  21. package/dist/cjs/matcher.js +45 -14
  22. package/dist/cjs/matcher.js.map +1 -1
  23. package/dist/cjs/parser.js +16 -2
  24. package/dist/cjs/parser.js.map +1 -1
  25. package/dist/cjs/resolver.d.ts.map +1 -1
  26. package/dist/cjs/resolver.js +32 -6
  27. package/dist/cjs/resolver.js.map +1 -1
  28. package/dist/cjs/schema.d.ts +14 -14
  29. package/dist/cjs/schema.d.ts.map +1 -1
  30. package/dist/cjs/schema.js +4 -2
  31. package/dist/cjs/schema.js.map +1 -1
  32. package/dist/cjs/types.d.ts +1 -0
  33. package/dist/cjs/types.d.ts.map +1 -1
  34. package/dist/cjs/version.d.ts +1 -1
  35. package/dist/cjs/version.js +1 -1
  36. package/dist/esm/cache.d.ts +6 -4
  37. package/dist/esm/cache.js +44 -13
  38. package/dist/esm/engine.d.ts +23 -1
  39. package/dist/esm/engine.js +169 -166
  40. package/dist/esm/index.d.ts +3 -2
  41. package/dist/esm/index.js +1 -0
  42. package/dist/esm/learning.d.ts +2 -1
  43. package/dist/esm/learning.js +104 -20
  44. package/dist/esm/matcher.d.ts +15 -1
  45. package/dist/esm/matcher.js +43 -13
  46. package/dist/esm/parser.js +16 -2
  47. package/dist/esm/resolver.js +32 -6
  48. package/dist/esm/schema.d.ts +14 -14
  49. package/dist/esm/schema.js +4 -2
  50. package/dist/esm/types.d.ts +1 -0
  51. package/dist/esm/version.d.ts +1 -1
  52. package/dist/esm/version.js +1 -1
  53. package/package.json +1 -1
@@ -23,10 +23,11 @@ class CapmanEngine {
23
23
  this.auth = options.auth;
24
24
  this.headers = options.headers;
25
25
  this.threshold = options.threshold ?? 50;
26
+ this.cacheTtlMs = options.cacheTtlMs ?? null;
26
27
  this.maxLLMCallsPerMinute = options.maxLLMCallsPerMinute ?? 60;
27
28
  this.llmCooldownMs = options.llmCooldownMs ?? 0;
28
29
  this.llmCircuitBreakerThreshold = options.llmCircuitBreakerThreshold ?? 3;
29
- this.llmCircuitBreakerResetMs = options.llmCircuitBreakerResetMs ?? 60000;
30
+ this.llmCircuitBreakerResetMs = options.llmCircuitBreakerResetMs ?? 60_000;
30
31
  // Cache — default MemoryCache (no filesystem writes), or disabled with false
31
32
  // Use FileCache or ComboCache explicitly for persistence across restarts
32
33
  this.cache = options.cache === false
@@ -39,14 +40,14 @@ class CapmanEngine {
39
40
  : (options.learning ?? new learning_1.MemoryLearningStore());
40
41
  logger_1.logger.info(`CapmanEngine initialized — mode: ${this.mode}, cache: ${this.cache ? 'enabled' : 'disabled'}, learning: ${this.learning ? 'enabled' : 'disabled'}`);
41
42
  // ── Manifest version compatibility check ─────────────────────────────────
42
- const manifestMajorMinor = options.manifest.version?.split('.').slice(0, 2).join('.');
43
- const engineMajorMinor = version_1.VERSION.split('.').slice(0, 2).join('.');
44
- if (manifestMajorMinor && manifestMajorMinor !== engineMajorMinor) {
45
- // Use console.warn directly must be visible regardless of logger level
46
- // Default log level is 'silent' so logger.warn would never be seen
47
- console.warn(`[capman] Manifest version "${options.manifest.version}" was generated with a ` +
48
- `different engine version than "${version_1.VERSION}". If you experience matching issues, ` +
49
- `regenerate with: npx capman generate`);
43
+ if (options.manifest.version) {
44
+ const [mMaj, mMin] = options.manifest.version.split('.').map(Number);
45
+ const [eMaj, eMin] = version_1.VERSION.split('.').map(Number);
46
+ if (mMaj !== eMaj || mMin !== eMin) {
47
+ console.warn(`[capman] Manifest version "${options.manifest.version}" was generated with a ` +
48
+ `different engine version than "${version_1.VERSION}". This is usually fine across patch versions. ` +
49
+ `If you experience unexpected matching issues, regenerate with: npx capman generate`);
50
+ }
50
51
  }
51
52
  }
52
53
  /**
@@ -61,18 +62,34 @@ class CapmanEngine {
61
62
  * console.log(result.resolvedVia) // 'keyword' | 'llm' | 'cache'
62
63
  */
63
64
  async ask(query, overrides = {}) {
65
+ if (!query || typeof query !== 'string') {
66
+ throw new TypeError('query must be a non-empty string');
67
+ }
68
+ if (query.length > CapmanEngine.MAX_QUERY_LENGTH) {
69
+ throw new RangeError(`query exceeds maximum length of ${CapmanEngine.MAX_QUERY_LENGTH} characters`);
70
+ }
64
71
  const start = Date.now();
65
72
  const steps = [];
66
- let resolvedVia = 'keyword';
67
73
  // ── Step 1: Check cache ──────────────────────────────────────────────────
68
74
  const cacheStart = Date.now();
69
75
  if (this.cache) {
70
76
  const queryKey = (0, cache_1.normalizeQuery)(query);
71
- const cached = await this.cache.get(queryKey);
77
+ const cached = await this.cache.get(queryKey, this.cacheTtlMs ?? undefined);
72
78
  if (cached) {
73
79
  steps.push({ type: 'cache_check', status: 'hit', durationMs: Date.now() - cacheStart, detail: 'Served from cache' });
74
80
  logger_1.logger.info(`Cache hit for: "${query}"`);
75
- const resolution = await (0, resolver_1.resolve)(cached.result, cached.result.extractedParams, this.resolveOptions(overrides));
81
+ // Re-extract params from the current query — never re-use cached params.
82
+ // Cached params belong to the original query (potentially from a different user).
83
+ // e.g. User A: "show orders for john" → cached with { customer: 'john' }
84
+ // User B: "show orders for jane" → must get { customer: 'jane' }, not john's
85
+ const freshParams = cached.result.capability
86
+ ? (0, matcher_1.extractParams)(query, cached.result.capability)
87
+ : {};
88
+ const matchWithFreshParams = {
89
+ ...cached.result,
90
+ extractedParams: freshParams,
91
+ };
92
+ const resolution = await (0, resolver_1.resolve)(matchWithFreshParams, freshParams, this.resolveOptions(overrides));
76
93
  const trace = {
77
94
  query,
78
95
  candidates: cached.result.candidates,
@@ -82,13 +99,13 @@ class CapmanEngine {
82
99
  totalMs: Date.now() - start,
83
100
  };
84
101
  const result = {
85
- match: cached.result,
102
+ match: matchWithFreshParams,
86
103
  resolution,
87
104
  resolvedVia: 'cache',
88
105
  durationMs: Date.now() - start,
89
106
  trace,
90
107
  };
91
- await this.recordLearning(query, cached.result, 'cache');
108
+ await this.recordLearning(query, matchWithFreshParams, 'cache');
92
109
  return result;
93
110
  }
94
111
  steps.push({ type: 'cache_check', status: 'miss', durationMs: Date.now() - cacheStart });
@@ -97,88 +114,7 @@ class CapmanEngine {
97
114
  steps.push({ type: 'cache_check', status: 'skip', durationMs: 0, detail: 'Cache disabled' });
98
115
  }
99
116
  // ── Step 2: Match ────────────────────────────────────────────────────────
100
- let matchResult;
101
- switch (this.mode) {
102
- case 'cheap': {
103
- const t = Date.now();
104
- matchResult = (0, matcher_1.match)(query, this.manifest);
105
- steps.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t, detail: `confidence: ${matchResult.confidence}%` });
106
- break;
107
- }
108
- case 'accurate': {
109
- if (this.llm) {
110
- const skipReason = this.checkLLMAllowed();
111
- if (skipReason) {
112
- logger_1.logger.warn(`LLM skipped — ${skipReason} — falling back to keyword`);
113
- const t = Date.now();
114
- matchResult = (0, matcher_1.match)(query, this.manifest);
115
- steps.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t, detail: `llm skipped: ${skipReason}` });
116
- }
117
- else {
118
- const t = Date.now();
119
- try {
120
- matchResult = await (0, matcher_1.matchWithLLM)(query, this.manifest, { llm: this.llm });
121
- this.recordLLMSuccess();
122
- resolvedVia = 'llm';
123
- steps.push({ type: 'llm_match', status: 'pass', durationMs: Date.now() - t, detail: `confidence: ${matchResult.confidence}%` });
124
- }
125
- catch (err) {
126
- const isParseError = String(err).startsWith('LLM_PARSE_ERROR');
127
- if (!isParseError)
128
- this.recordLLMFailure();
129
- logger_1.logger.warn(`LLM call failed — falling back to keyword: ${err}`);
130
- const t2 = Date.now();
131
- matchResult = (0, matcher_1.match)(query, this.manifest);
132
- steps.push({ type: 'llm_match', status: 'fail', durationMs: Date.now() - t, detail: String(err) });
133
- steps.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t2, detail: 'fallback after llm failure' });
134
- }
135
- }
136
- }
137
- else {
138
- logger_1.logger.warn('accurate mode requires llm — falling back to keyword');
139
- const t = Date.now();
140
- matchResult = (0, matcher_1.match)(query, this.manifest);
141
- steps.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t, detail: 'llm not provided, used keyword' });
142
- }
143
- break;
144
- }
145
- case 'balanced':
146
- default: {
147
- const t1 = Date.now();
148
- const keywordResult = (0, matcher_1.match)(query, this.manifest);
149
- steps.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t1, detail: `confidence: ${keywordResult.confidence}%` });
150
- if (keywordResult.confidence >= this.threshold || !this.llm) {
151
- matchResult = keywordResult;
152
- }
153
- else {
154
- const skipReason = this.checkLLMAllowed();
155
- if (skipReason) {
156
- logger_1.logger.warn(`LLM skipped — ${skipReason}`);
157
- steps.push({ type: 'llm_match', status: 'skip', durationMs: 0, detail: skipReason });
158
- matchResult = keywordResult;
159
- }
160
- else {
161
- logger_1.logger.info(`Low confidence (${keywordResult.confidence}%) — escalating to LLM`);
162
- const t2 = Date.now();
163
- try {
164
- matchResult = await (0, matcher_1.matchWithLLM)(query, this.manifest, { llm: this.llm });
165
- this.recordLLMSuccess();
166
- resolvedVia = 'llm';
167
- steps.push({ type: 'llm_match', status: 'pass', durationMs: Date.now() - t2, detail: `confidence: ${matchResult.confidence}%` });
168
- }
169
- catch (err) {
170
- const isParseError = String(err).startsWith('LLM_PARSE_ERROR');
171
- if (!isParseError)
172
- this.recordLLMFailure();
173
- logger_1.logger.warn(`LLM call failed — falling back to keyword: ${err}`);
174
- steps.push({ type: 'llm_match', status: 'fail', durationMs: Date.now() - t2, detail: String(err) });
175
- matchResult = keywordResult;
176
- }
177
- }
178
- }
179
- break;
180
- }
181
- }
117
+ let { matchResult, resolvedVia } = await this._runMatch(query, steps);
182
118
  const preBoostMatchResult = matchResult; // kept for learning recording only — prevents feedback loop
183
119
  // ── Step 2.5: Apply learning boost ───────────────────────────────────────
184
120
  matchResult = await this.applyBoostToMatchResult(query, matchResult);
@@ -297,68 +233,16 @@ class CapmanEngine {
297
233
  * console.log(explanation.candidates)
298
234
  */
299
235
  async explain(query) {
300
- const start = Date.now();
301
- // ── Match — mirrors ask() logic including rate limiting ───────────────────
302
- let matchResult;
303
- let resolvedVia = 'keyword';
304
- if (this.mode === 'accurate') {
305
- if (this.llm) {
306
- const skipReason = this.checkLLMAllowed();
307
- if (skipReason) {
308
- logger_1.logger.warn(`explain(): LLM skipped — ${skipReason} — falling back to keyword`);
309
- matchResult = (0, matcher_1.match)(query, this.manifest);
310
- }
311
- else {
312
- try {
313
- matchResult = await (0, matcher_1.matchWithLLM)(query, this.manifest, { llm: this.llm });
314
- this.recordLLMSuccess();
315
- resolvedVia = 'llm';
316
- }
317
- catch (err) {
318
- const isParseError = String(err).startsWith('LLM_PARSE_ERROR');
319
- if (!isParseError)
320
- this.recordLLMFailure();
321
- logger_1.logger.warn(`LLM call failed — falling back to keyword: ${err}`);
322
- matchResult = (0, matcher_1.match)(query, this.manifest);
323
- }
324
- }
325
- }
326
- else {
327
- matchResult = (0, matcher_1.match)(query, this.manifest);
328
- }
236
+ if (!query || typeof query !== 'string') {
237
+ throw new TypeError('query must be a non-empty string');
329
238
  }
330
- else if (this.mode === 'balanced' && this.llm) {
331
- // Keyword first escalate to LLM if low confidence (same as ask())
332
- const keywordResult = (0, matcher_1.match)(query, this.manifest);
333
- if (keywordResult.confidence >= this.threshold) {
334
- matchResult = keywordResult;
335
- }
336
- else {
337
- const skipReason = this.checkLLMAllowed();
338
- if (skipReason) {
339
- logger_1.logger.warn(`explain(): LLM skipped — ${skipReason}`);
340
- matchResult = keywordResult;
341
- }
342
- else {
343
- try {
344
- matchResult = await (0, matcher_1.matchWithLLM)(query, this.manifest, { llm: this.llm });
345
- this.recordLLMSuccess();
346
- resolvedVia = 'llm';
347
- }
348
- catch (err) {
349
- const isParseError = String(err).startsWith('LLM_PARSE_ERROR');
350
- if (!isParseError)
351
- this.recordLLMFailure();
352
- logger_1.logger.warn(`LLM call failed — falling back to keyword: ${err}`);
353
- matchResult = keywordResult;
354
- }
355
- }
356
- }
357
- }
358
- else {
359
- // cheap mode or no llm — keyword only
360
- matchResult = (0, matcher_1.match)(query, this.manifest);
239
+ if (query.length > CapmanEngine.MAX_QUERY_LENGTH) {
240
+ throw new RangeError(`query exceeds maximum length of ${CapmanEngine.MAX_QUERY_LENGTH} characters`);
361
241
  }
242
+ const start = Date.now();
243
+ // ── Match — shared with ask() via _runMatch() ─────────────────────────────
244
+ let { matchResult, resolvedVia: _resolvedVia } = await this._runMatch(query);
245
+ let resolvedVia = _resolvedVia;
362
246
  // ── Apply learning boost (same as ask()) ─────────────────────────────────
363
247
  matchResult = await this.applyBoostToMatchResult(query, matchResult);
364
248
  // ── Build candidate explanations ─────────────────────────────────────────
@@ -403,12 +287,17 @@ class CapmanEngine {
403
287
  }
404
288
  reasoning.push(`Resolved via: ${resolvedVia}`);
405
289
  if (matchResult.extractedParams && Object.keys(matchResult.extractedParams).length) {
406
- const params = Object.entries(matchResult.extractedParams)
290
+ const extracted = Object.entries(matchResult.extractedParams)
407
291
  .filter(([, v]) => v !== null)
408
292
  .map(([k, v]) => `${k}=${v}`)
409
293
  .join(', ');
410
- if (params)
411
- reasoning.push(`Would extract params: ${params}`);
294
+ const session = matchResult.capability?.params
295
+ .filter(p => p.source === 'session')
296
+ .map(p => `${p.name}=[from auth]`)
297
+ .join(', ');
298
+ const parts = [extracted, session].filter(Boolean).join(', ');
299
+ if (parts)
300
+ reasoning.push(`Would extract params: ${parts}`);
412
301
  }
413
302
  // ── Build wouldExecute ───────────────────────────────────────────────────
414
303
  const cap = matchResult.capability;
@@ -441,7 +330,7 @@ class CapmanEngine {
441
330
  let path = endpoint.path;
442
331
  for (const [k, v] of Object.entries(params)) {
443
332
  if (v)
444
- path = path.replace(`{${k}}`, v);
333
+ path = path.replaceAll(`{${k}}`, v);
445
334
  }
446
335
  const base = this.baseUrl ?? '';
447
336
  action = `${endpoint.method} ${base}${path}`;
@@ -450,7 +339,7 @@ class CapmanEngine {
450
339
  let dest = cap.resolver.destination;
451
340
  for (const [k, v] of Object.entries(params)) {
452
341
  if (v)
453
- dest = dest.replace(`{${k}}`, v);
342
+ dest = dest.replaceAll(`{${k}}`, v);
454
343
  }
455
344
  action = `navigate → ${dest}`;
456
345
  }
@@ -460,12 +349,12 @@ class CapmanEngine {
460
349
  let path = endpoint.path;
461
350
  for (const [k, v] of Object.entries(params)) {
462
351
  if (v)
463
- path = path.replace(`{${k}}`, v);
352
+ path = path.replaceAll(`{${k}}`, v);
464
353
  }
465
354
  let dest = hybrid.nav.destination;
466
355
  for (const [k, v] of Object.entries(params)) {
467
356
  if (v)
468
- dest = dest.replace(`{${k}}`, v);
357
+ dest = dest.replaceAll(`{${k}}`, v);
469
358
  }
470
359
  const base = this.baseUrl ?? '';
471
360
  action = `${endpoint.method} ${base}${path} + navigate → ${dest}`;
@@ -514,13 +403,13 @@ class CapmanEngine {
514
403
  }
515
404
  // ── Per-minute rate limit ────────────────────────────────────────────────
516
405
  const windowElapsed = now - this.llmWindowStart;
517
- if (windowElapsed >= 60000) {
406
+ if (windowElapsed >= 60_000) {
518
407
  this.llmCallsThisMinute = 0;
519
408
  this.llmWindowStart = now;
520
409
  }
521
410
  if (this.llmCallsThisMinute >= this.maxLLMCallsPerMinute) {
522
411
  // Recalculate elapsed after possible window reset above
523
- const resetIn = Math.ceil((60000 - (now - this.llmWindowStart)) / 1000);
412
+ const resetIn = Math.ceil((60_000 - (now - this.llmWindowStart)) / 1000);
524
413
  return `rate limit reached (${this.maxLLMCallsPerMinute}/min) — resets in ${Math.max(0, resetIn)}s`;
525
414
  }
526
415
  // Reserve the slot atomically before the call happens
@@ -544,6 +433,118 @@ class CapmanEngine {
544
433
  logger_1.logger.warn(`LLM circuit breaker opened after ${this.llmConsecutiveFails} consecutive failures — pausing for ${this.llmCircuitBreakerResetMs / 1000}s`);
545
434
  }
546
435
  }
436
+ /**
437
+ * Runs the matching pipeline for a query — shared by ask() and explain().
438
+ * Handles cheap / balanced / accurate mode dispatch and LLM rate limiting.
439
+ * Returns the match result and which resolver was used.
440
+ */
441
+ async _runMatch(query, steps) {
442
+ let matchResult;
443
+ let resolvedVia = 'keyword';
444
+ switch (this.mode) {
445
+ case 'cheap': {
446
+ const t = Date.now();
447
+ matchResult = (0, matcher_1.match)(query, this.manifest);
448
+ steps?.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t, detail: `confidence: ${matchResult.confidence}%` });
449
+ break;
450
+ }
451
+ case 'accurate': {
452
+ if (this.llm) {
453
+ const skipReason = this.checkLLMAllowed();
454
+ if (skipReason) {
455
+ logger_1.logger.warn(`LLM skipped — ${skipReason} — falling back to keyword`);
456
+ const t = Date.now();
457
+ matchResult = (0, matcher_1.match)(query, this.manifest);
458
+ steps?.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t, detail: `llm skipped: ${skipReason}` });
459
+ }
460
+ else {
461
+ const t = Date.now();
462
+ try {
463
+ matchResult = await (0, matcher_1.matchWithLLM)(query, this.manifest, { llm: this.llm });
464
+ this.recordLLMSuccess();
465
+ resolvedVia = 'llm';
466
+ // Merge keyword scores into LLM candidates so boost has real signal for alternatives
467
+ const kwResult = (0, matcher_1.match)(query, this.manifest);
468
+ matchResult = {
469
+ ...matchResult,
470
+ candidates: matchResult.candidates.map(c => ({
471
+ ...c,
472
+ score: c.matched
473
+ ? c.score // keep LLM confidence for winner
474
+ : (kwResult.candidates.find(kc => kc.capabilityId === c.capabilityId)?.score ?? 0),
475
+ })),
476
+ };
477
+ steps?.push({ type: 'llm_match', status: 'pass', durationMs: Date.now() - t, detail: `confidence: ${matchResult.confidence}%` });
478
+ }
479
+ catch (err) {
480
+ const isParseError = err instanceof matcher_1.LLMParseError;
481
+ if (!isParseError)
482
+ this.recordLLMFailure();
483
+ logger_1.logger.warn(`LLM call failed — falling back to keyword: ${err instanceof Error ? err.message : String(err)}`);
484
+ const t2 = Date.now();
485
+ matchResult = (0, matcher_1.match)(query, this.manifest);
486
+ steps?.push({ type: 'llm_match', status: 'fail', durationMs: Date.now() - t, detail: String(err) });
487
+ steps?.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t2, detail: 'fallback after llm failure' });
488
+ }
489
+ }
490
+ }
491
+ else {
492
+ logger_1.logger.warn('accurate mode requires llm — falling back to keyword');
493
+ const t = Date.now();
494
+ matchResult = (0, matcher_1.match)(query, this.manifest);
495
+ steps?.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t, detail: 'llm not provided, used keyword' });
496
+ }
497
+ break;
498
+ }
499
+ case 'balanced':
500
+ default: {
501
+ const t1 = Date.now();
502
+ const keywordResult = (0, matcher_1.match)(query, this.manifest);
503
+ steps?.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t1, detail: `confidence: ${keywordResult.confidence}%` });
504
+ if (keywordResult.confidence >= this.threshold || !this.llm) {
505
+ matchResult = keywordResult;
506
+ }
507
+ else {
508
+ const skipReason = this.checkLLMAllowed();
509
+ if (skipReason) {
510
+ logger_1.logger.warn(`LLM skipped — ${skipReason}`);
511
+ steps?.push({ type: 'llm_match', status: 'skip', durationMs: 0, detail: skipReason });
512
+ matchResult = keywordResult;
513
+ }
514
+ else {
515
+ logger_1.logger.info(`Low confidence (${keywordResult.confidence}%) — escalating to LLM`);
516
+ const t2 = Date.now();
517
+ try {
518
+ matchResult = await (0, matcher_1.matchWithLLM)(query, this.manifest, { llm: this.llm });
519
+ this.recordLLMSuccess();
520
+ resolvedVia = 'llm';
521
+ // keywordResult already computed above in balanced mode — merge scores
522
+ matchResult = {
523
+ ...matchResult,
524
+ candidates: matchResult.candidates.map(c => ({
525
+ ...c,
526
+ score: c.matched
527
+ ? c.score
528
+ : (keywordResult.candidates.find(kc => kc.capabilityId === c.capabilityId)?.score ?? 0),
529
+ })),
530
+ };
531
+ steps?.push({ type: 'llm_match', status: 'pass', durationMs: Date.now() - t2, detail: `confidence: ${matchResult.confidence}%` });
532
+ }
533
+ catch (err) {
534
+ const isParseError = err instanceof matcher_1.LLMParseError;
535
+ if (!isParseError)
536
+ this.recordLLMFailure();
537
+ logger_1.logger.warn(`LLM call failed — falling back to keyword: ${err instanceof Error ? err.message : String(err)}`);
538
+ steps?.push({ type: 'llm_match', status: 'fail', durationMs: Date.now() - t2, detail: String(err) });
539
+ matchResult = keywordResult;
540
+ }
541
+ }
542
+ }
543
+ break;
544
+ }
545
+ }
546
+ return { matchResult: matchResult, resolvedVia };
547
+ }
547
548
  /**
548
549
  * Applies learning boost to a MatchResult and returns the updated result.
549
550
  * Shared by ask() and explain() to avoid logic divergence.
@@ -646,4 +647,6 @@ class CapmanEngine {
646
647
  }
647
648
  }
648
649
  exports.CapmanEngine = CapmanEngine;
650
+ /** Maximum allowed query length in characters. Queries exceeding this throw RangeError. */
651
+ CapmanEngine.MAX_QUERY_LENGTH = 1000;
649
652
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export type { LogLevel } from './logger';
3
3
  export type { Capability, CapabilityParam, CapmanConfig, Manifest, MatchResult, ExecutionTrace, TraceStep, MatchCandidate, ResolveResult, ApiCallResult, ValidationResult, Resolver, ApiResolver, NavResolver, HybridResolver, PrivacyScope, ResolverType, HttpMethod, ExplainResult, ExplainCandidate, } from './types';
4
4
  export { generate, loadConfig, writeManifest, readManifest, validate, generateStarterConfig, } from './generator';
5
5
  export { match, matchWithLLM, extractParams, } from './matcher';
6
+ export { LLMParseError } from './matcher';
6
7
  export type { LLMMatcherOptions } from './matcher';
7
8
  export { resolve } from './resolver';
8
9
  export type { ResolveOptions, AuthContext } from './resolver';
@@ -14,10 +15,10 @@ export { FileLearningStore, MemoryLearningStore } from './learning';
14
15
  export type { LearningStore, LearningEntry, KeywordStats } from './learning';
15
16
  export { parseOpenAPI } from './parser';
16
17
  export type { ParseResult } from './parser';
17
- import type { Manifest, MatchResult, ResolveResult } from './types';
18
+ import type { Manifest, MatchResult, ResolveResult, MatchMode } from './types';
18
19
  import type { LLMMatcherOptions } from './matcher';
19
20
  import type { ResolveOptions } from './resolver';
20
- export type MatchMode = 'cheap' | 'balanced' | 'accurate';
21
+ export type { MatchMode } from './types';
21
22
  export interface AskOptions extends ResolveOptions {
22
23
  llm?: LLMMatcherOptions['llm'];
23
24
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,YAAY,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,KAAK,EACL,YAAY,EACZ,aAAa,GACd,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG3D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC3F,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACnE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAK3C,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAA;AAEzD,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,GAAG,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC9B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,aAAa,CAAA;CAC1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,GAAG,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,SAAS,CAAC,CAgBpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,YAAY,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,KAAK,EACL,YAAY,EACZ,aAAa,GACd,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG3D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC3F,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACnE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAK3C,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,GAAG,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC9B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,aAAa,CAAA;CAC1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,GAAG,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,SAAS,CAAC,CAgBpB"}
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseOpenAPI = exports.MemoryLearningStore = exports.FileLearningStore = exports.normalizeQuery = exports.buildCacheKey = exports.ComboCache = exports.FileCache = exports.MemoryCache = exports.CapmanEngine = exports.resolve = exports.extractParams = exports.matchWithLLM = exports.match = exports.generateStarterConfig = exports.validate = exports.readManifest = exports.writeManifest = exports.loadConfig = exports.generate = exports.setLogLevel = void 0;
3
+ exports.parseOpenAPI = exports.MemoryLearningStore = exports.FileLearningStore = exports.normalizeQuery = exports.buildCacheKey = exports.ComboCache = exports.FileCache = exports.MemoryCache = exports.CapmanEngine = exports.resolve = exports.LLMParseError = exports.extractParams = exports.matchWithLLM = exports.match = exports.generateStarterConfig = exports.validate = exports.readManifest = exports.writeManifest = exports.loadConfig = exports.generate = exports.setLogLevel = void 0;
4
4
  exports.ask = ask;
5
5
  var logger_1 = require("./logger");
6
6
  Object.defineProperty(exports, "setLogLevel", { enumerable: true, get: function () { return logger_1.setLogLevel; } });
@@ -15,6 +15,8 @@ var matcher_1 = require("./matcher");
15
15
  Object.defineProperty(exports, "match", { enumerable: true, get: function () { return matcher_1.match; } });
16
16
  Object.defineProperty(exports, "matchWithLLM", { enumerable: true, get: function () { return matcher_1.matchWithLLM; } });
17
17
  Object.defineProperty(exports, "extractParams", { enumerable: true, get: function () { return matcher_1.extractParams; } });
18
+ var matcher_2 = require("./matcher");
19
+ Object.defineProperty(exports, "LLMParseError", { enumerable: true, get: function () { return matcher_2.LLMParseError; } });
18
20
  var resolver_1 = require("./resolver");
19
21
  Object.defineProperty(exports, "resolve", { enumerable: true, get: function () { return resolver_1.resolve; } });
20
22
  // ─── Engine (recommended API) ─────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAiGA,kBAoBC;AArHD,mCAAsC;AAA7B,qGAAA,WAAW,OAAA;AA0BpB,yCAOoB;AANlB,qGAAA,QAAQ,OAAA;AACR,uGAAA,UAAU,OAAA;AACV,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,qGAAA,QAAQ,OAAA;AACR,kHAAA,qBAAqB,OAAA;AAGvB,qCAIkB;AAHhB,gGAAA,KAAK,OAAA;AACL,uGAAA,YAAY,OAAA;AACZ,wGAAA,aAAa,OAAA;AAIf,uCAAoC;AAA3B,mGAAA,OAAO,OAAA;AAGhB,iFAAiF;AACjF,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AAGrB,iFAAiF;AACjF,iCAA2F;AAAlF,oGAAA,WAAW,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,uGAAA,cAAc,OAAA;AAG1E,iFAAiF;AACjF,uCAAmE;AAA1D,6GAAA,iBAAiB,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAG/C,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AAGrB,iFAAiF;AAEjF,qCAAuC;AAwBvC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,GAAG,CACvB,KAAa,EACb,QAAkB,EAClB,UAAsB,EAAE;IAExB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAA;IAEhD,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC;QAC9B,QAAQ;QACR,GAAG;QACH,IAAI;QACJ,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,OAAO,EAAE,cAAc,CAAC,OAAO;KAChC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACtD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAA;AAC/D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAkGA,kBAoBC;AAtHD,mCAAsC;AAA7B,qGAAA,WAAW,OAAA;AA0BpB,yCAOoB;AANlB,qGAAA,QAAQ,OAAA;AACR,uGAAA,UAAU,OAAA;AACV,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,qGAAA,QAAQ,OAAA;AACR,kHAAA,qBAAqB,OAAA;AAGvB,qCAIkB;AAHhB,gGAAA,KAAK,OAAA;AACL,uGAAA,YAAY,OAAA;AACZ,wGAAA,aAAa,OAAA;AAEf,qCAAyC;AAAhC,wGAAA,aAAa,OAAA;AAGtB,uCAAoC;AAA3B,mGAAA,OAAO,OAAA;AAGhB,iFAAiF;AACjF,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AAGrB,iFAAiF;AACjF,iCAA2F;AAAlF,oGAAA,WAAW,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,uGAAA,cAAc,OAAA;AAG1E,iFAAiF;AACjF,uCAAmE;AAA1D,6GAAA,iBAAiB,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAG/C,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AAGrB,iFAAiF;AAEjF,qCAAuC;AAwBvC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,GAAG,CACvB,KAAa,EACb,QAAkB,EAClB,UAAsB,EAAE;IAExB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAA;IAEhD,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC;QAC9B,QAAQ;QACR,GAAG;QACH,IAAI;QACJ,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,OAAO,EAAE,cAAc,CAAC,OAAO;KAChC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACtD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAA;AAC/D,CAAC"}