capman 0.5.3 → 0.5.5

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 (54) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/CODEBASE.md +115 -65
  3. package/README.md +45 -4
  4. package/bin/lib/cmd-explain.js +2 -2
  5. package/bin/lib/cmd-generate.js +44 -28
  6. package/bin/lib/cmd-run.js +2 -2
  7. package/bin/lib/shared.js +8 -2
  8. package/dist/cjs/cache.d.ts.map +1 -1
  9. package/dist/cjs/cache.js +22 -5
  10. package/dist/cjs/cache.js.map +1 -1
  11. package/dist/cjs/engine.d.ts +30 -0
  12. package/dist/cjs/engine.d.ts.map +1 -1
  13. package/dist/cjs/engine.js +87 -36
  14. package/dist/cjs/engine.js.map +1 -1
  15. package/dist/cjs/generator.d.ts.map +1 -1
  16. package/dist/cjs/generator.js +7 -1
  17. package/dist/cjs/generator.js.map +1 -1
  18. package/dist/cjs/learning.d.ts.map +1 -1
  19. package/dist/cjs/learning.js +39 -12
  20. package/dist/cjs/learning.js.map +1 -1
  21. package/dist/cjs/matcher.d.ts +18 -10
  22. package/dist/cjs/matcher.d.ts.map +1 -1
  23. package/dist/cjs/matcher.js +140 -29
  24. package/dist/cjs/matcher.js.map +1 -1
  25. package/dist/cjs/parser.d.ts.map +1 -1
  26. package/dist/cjs/parser.js +15 -8
  27. package/dist/cjs/parser.js.map +1 -1
  28. package/dist/cjs/resolver.d.ts +1 -0
  29. package/dist/cjs/resolver.d.ts.map +1 -1
  30. package/dist/cjs/resolver.js +16 -5
  31. package/dist/cjs/resolver.js.map +1 -1
  32. package/dist/cjs/schema.d.ts +18 -18
  33. package/dist/cjs/schema.js +1 -1
  34. package/dist/cjs/schema.js.map +1 -1
  35. package/dist/cjs/types.d.ts +1 -1
  36. package/dist/cjs/types.d.ts.map +1 -1
  37. package/dist/cjs/version.d.ts +1 -1
  38. package/dist/cjs/version.js +1 -1
  39. package/dist/esm/cache.js +22 -5
  40. package/dist/esm/engine.d.ts +30 -0
  41. package/dist/esm/engine.js +89 -38
  42. package/dist/esm/generator.js +7 -1
  43. package/dist/esm/learning.js +39 -12
  44. package/dist/esm/matcher.d.ts +18 -10
  45. package/dist/esm/matcher.js +137 -29
  46. package/dist/esm/parser.js +15 -8
  47. package/dist/esm/resolver.d.ts +1 -0
  48. package/dist/esm/resolver.js +16 -6
  49. package/dist/esm/schema.d.ts +18 -18
  50. package/dist/esm/schema.js +1 -1
  51. package/dist/esm/types.d.ts +1 -1
  52. package/dist/esm/version.d.ts +1 -1
  53. package/dist/esm/version.js +1 -1
  54. package/package.json +11 -10
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"learning.d.ts","sourceRoot":"","sources":["../../src/learning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"learning.d.ts","sourceRoot":"","sources":["../../src/learning.ts"],"names":[],"mappings":"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"}
@@ -42,12 +42,38 @@ const matcher_1 = require("./matcher");
42
42
  // Module-level registry — tracks all active FileLearningStore instances
43
43
  // for process exit flushing. Handlers registered once to avoid accumulation.
44
44
  const activeStores = new Set();
45
- let exitHandlersRegistered = false;
45
+ // Module-level handler references — stored so they can be removed
46
+ // when all stores are destroyed. Never call process.exit() in a library.
47
+ let exitHandler = null;
48
+ let sigTermHandler = null;
49
+ let sigIntHandler = null;
46
50
  function flushAllStores() {
47
51
  for (const store of activeStores) {
48
52
  store.flushSync();
49
53
  }
50
54
  }
55
+ function registerExitHandlers() {
56
+ if (exitHandler)
57
+ return; // already registered
58
+ exitHandler = flushAllStores;
59
+ sigTermHandler = flushAllStores;
60
+ sigIntHandler = flushAllStores;
61
+ process.on('exit', exitHandler);
62
+ process.on('SIGTERM', sigTermHandler);
63
+ process.on('SIGINT', sigIntHandler);
64
+ }
65
+ function unregisterExitHandlers() {
66
+ if (!exitHandler)
67
+ return; // nothing registered
68
+ if (activeStores.size > 0)
69
+ return; // other stores still active
70
+ process.off('exit', exitHandler);
71
+ process.off('SIGTERM', sigTermHandler);
72
+ process.off('SIGINT', sigIntHandler);
73
+ exitHandler = null;
74
+ sigTermHandler = null;
75
+ sigIntHandler = null;
76
+ }
51
77
  // ─── Shared computation helpers ───────────────────────────────────────────────
52
78
  function computeTopCapabilities(entries, limit) {
53
79
  const counts = {};
@@ -156,12 +182,7 @@ class FileLearningStore {
156
182
  this.filePath = resolved;
157
183
  logger_1.logger.info(`FileLearningStore initialized — writing to: ${this.filePath}`);
158
184
  activeStores.add(this);
159
- if (!exitHandlersRegistered) {
160
- exitHandlersRegistered = true;
161
- process.on('exit', flushAllStores);
162
- process.on('SIGTERM', () => { flushAllStores(); process.exit(0); });
163
- process.on('SIGINT', () => { flushAllStores(); process.exit(0); });
164
- }
185
+ registerExitHandlers();
165
186
  }
166
187
  flushSync() {
167
188
  // Cancel pending timer — prevents scheduleSave firing after sync write
@@ -196,15 +217,17 @@ class FileLearningStore {
196
217
  }
197
218
  if (this.dirty) {
198
219
  this.dirty = false;
199
- // Await final flush before removing from registry —
200
- // ensures data is written before the store becomes unreachable
201
220
  await this.save();
202
221
  }
203
222
  activeStores.delete(this);
223
+ unregisterExitHandlers(); // remove handlers if no stores remain
204
224
  }
205
225
  load() {
206
226
  if (!this.loadPromise) {
207
- this.loadPromise = this._doLoad();
227
+ this.loadPromise = this._doLoad().catch(err => {
228
+ this.loadPromise = null; // allow retry on next call
229
+ throw err;
230
+ });
208
231
  }
209
232
  return this.loadPromise;
210
233
  }
@@ -221,8 +244,12 @@ class FileLearningStore {
221
244
  logger_1.logger.warn(`Learning store at ${this.filePath} contained unexpected format — starting fresh`);
222
245
  }
223
246
  }
224
- catch {
225
- // File doesn't exist yet — start fresh
247
+ catch (err) {
248
+ const code = err.code;
249
+ if (code !== 'ENOENT') {
250
+ logger_1.logger.warn(`Failed to load learning store from ${this.filePath} (${code ?? 'unknown error'}) — starting fresh`);
251
+ }
252
+ // ENOENT = file doesn't exist yet — expected on first run, no warning needed
226
253
  }
227
254
  }
228
255
  scheduleSave(urgencyMs = 5_000) {
@@ -1 +1 @@
1
- {"version":3,"file":"learning.js","sourceRoot":"","sources":["../../src/learning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"learning.js","sourceRoot":"","sources":["../../src/learning.ts"],"names":[],"mappings":"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"}
@@ -11,24 +11,32 @@ export declare function resolverToIntent(cap: Capability): MatchResult['intent']
11
11
  * - Extracts single tokens only — "jane smith" would extract "jane"
12
12
  * - Keyword matching is positional — "articles from authors I follow"
13
13
  * may extract "authors" instead of nothing, since "from" is a keyword
14
- * - For complex or ambiguous queries, use matchWithLLM() which handles
15
- * param extraction more accurately via the LLM prompt
14
+ * - Required param fallback grabs the last meaningful word — "list all
15
+ * recent orders" may extract "orders" even with the denylist extended.
16
+ * For precise extraction of complex queries, use matchWithLLM() which
17
+ * handles param extraction via structured LLM prompt.
18
+ * - To support richer extraction patterns, add a `pattern` field to
19
+ * CapabilityParam in a future version.
16
20
  */
17
21
  export declare function extractParams(query: string, cap: Capability): Record<string, string | null>;
18
- export declare function match(query: string, manifest: Manifest): MatchResult;
22
+ export interface MatchOptions {
23
+ fuzzyMatch?: boolean;
24
+ fuzzyThreshold?: number;
25
+ }
26
+ export declare function match(query: string, manifest: Manifest, options?: MatchOptions): MatchResult;
19
27
  export interface LLMMatcherOptions {
20
28
  llm: (prompt: string) => Promise<string>;
21
29
  }
22
30
  /**
23
31
  * Matches a query to a capability using an LLM.
24
32
  *
25
- * ⚠️ SECURITY NOTE: Capability `description` and `examples` fields from the
26
- * manifest are injected verbatim into the LLM prompt (system portion).
27
- * In a solo deployment with a developer-controlled manifest this is safe.
28
- * If your manifest is generated from third-party OpenAPI specs, user-controlled
29
- * sources, or any external input, sanitize `description` and `examples` fields
30
- * before passing the manifest to this function adversarial content in those
31
- * fields can influence LLM routing decisions.
33
+ * ⚠️ SECURITY NOTE: Capability fields are sanitized before injection into
34
+ * the LLM prompt (newlines stripped, delimiters neutralized, length capped).
35
+ * However, the current interface passes a single prompt string it cannot
36
+ * provide true system/user message separation that some LLM APIs support.
37
+ * For maximum injection resistance in high-security deployments, use an LLM
38
+ * wrapper that maps the prompt to a proper system message, keeping user query
39
+ * data in the user turn only.
32
40
  */
33
41
  export declare function matchWithLLM(query: string, manifest: Manifest, options: LLMMatcherOptions): Promise<MatchResult>;
34
42
  //# sourceMappingURL=matcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAA;AAKhF,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAEC,eAAO,MAAM,SAAS,aAUtB,CAAA;AAyCF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAMvE;AAGD;;;;;;;;;GASG;AAEH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAmF3F;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAgEpE;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACzC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAqFpB"}
1
+ {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAA;AAMhF,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED,eAAO,MAAM,SAAS,aAUpB,CAAA;AA8CF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAMvE;AAiBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAmF3F;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAM,OAAO,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAgB,KAAK,CACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,YAAiB,GACzB,WAAW,CAwHb;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACzC;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CA+GpB"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.STOPWORDS = exports.LLMParseError = void 0;
4
7
  exports.resolverToIntent = resolverToIntent;
@@ -6,6 +9,7 @@ exports.extractParams = extractParams;
6
9
  exports.match = match;
7
10
  exports.matchWithLLM = matchWithLLM;
8
11
  const logger_1 = require("./logger");
12
+ const fuse_js_1 = __importDefault(require("fuse.js"));
9
13
  // ─── Typed error for LLM parse failures ──────────────────────────────────────
10
14
  class LLMParseError extends Error {
11
15
  constructor(message) {
@@ -28,28 +32,34 @@ exports.STOPWORDS = new Set([
28
32
  function filterStopwords(words) {
29
33
  return words.filter(w => !exports.STOPWORDS.has(w.toLowerCase()) && w.length > 1);
30
34
  }
31
- function scoreCapability(query, cap) {
32
- const q = query.toLowerCase();
35
+ function scoreCapability(qWordSet, cap) {
33
36
  let score = 0;
34
- const qWords = filterStopwords(q.split(/\W+/).filter(Boolean));
35
- // Check examples exact substring match is a strong signal
37
+ // Check examples — take the best single example match, not the sum.
38
+ // Accumulating across examples rewards bloated example lists over precise ones:
39
+ // 10 examples at 50% overlap = 300 points (clamped to 60) beats 1 perfect example at 60.
40
+ // Taking Math.max means quality of examples matters, not quantity.
41
+ let bestExampleScore = 0;
36
42
  for (const example of cap.examples ?? []) {
37
43
  const exWords = filterStopwords(example.toLowerCase().split(/\s+/));
38
44
  if (exWords.length === 0)
39
45
  continue;
40
- const overlap = exWords.filter(w => qWords.includes(w)).length;
41
- score += (overlap / exWords.length) * 60;
46
+ const overlap = exWords.filter(w => qWordSet.has(w)).length;
47
+ const contribution = (overlap / exWords.length) * 60;
48
+ bestExampleScore = Math.max(bestExampleScore, contribution);
42
49
  }
43
- // Check description words
50
+ score += bestExampleScore;
51
+ // Check description words — normalize against min(length, 10) to avoid
52
+ // penalizing rich documentation (many words = lower ratio) while also
53
+ // preventing single-word descriptions from maxing out on any match.
44
54
  const descWords = filterStopwords(cap.description.toLowerCase().split(/\W+/).filter(Boolean));
45
55
  if (descWords.length > 0) {
46
- const descOverlap = descWords.filter(w => qWords.includes(w)).length;
47
- score += (descOverlap / descWords.length) * 30;
56
+ const descOverlap = descWords.filter(w => qWordSet.has(w)).length;
57
+ score += Math.min((descOverlap / Math.min(descWords.length, 10)) * 30, 30);
48
58
  }
49
59
  // Check name words
50
60
  const nameWords = filterStopwords(cap.name.toLowerCase().split(/\W+/).filter(Boolean));
51
61
  if (nameWords.length > 0) {
52
- const nameOverlap = nameWords.filter(w => qWords.includes(w)).length;
62
+ const nameOverlap = nameWords.filter(w => qWordSet.has(w)).length;
53
63
  score += (nameOverlap / nameWords.length) * 10;
54
64
  }
55
65
  return Math.min(Math.round(score), 100);
@@ -64,6 +74,20 @@ function resolverToIntent(cap) {
64
74
  return 'hybrid';
65
75
  return 'out_of_scope';
66
76
  }
77
+ /**
78
+ * Strips characters that could break LLM prompt structure from
79
+ * capability field values before injection into the system prompt.
80
+ * Removes control characters, newlines, and delimiter-like sequences.
81
+ */
82
+ function sanitizeForPrompt(value, maxLen) {
83
+ return value
84
+ .replace(/[\r\n\t]/g, ' ') // newlines → space
85
+ .replace(/---+/g, '—') // horizontal rules → em dash
86
+ .replace(/^\s*[{}\[\]]/gm, ' ') // leading braces/brackets → space
87
+ .replace(/\s+/g, ' ') // collapse whitespace
88
+ .trim()
89
+ .slice(0, maxLen);
90
+ }
67
91
  /**
68
92
  * Extracts parameter values from a user query using keyword heuristics.
69
93
  *
@@ -71,8 +95,12 @@ function resolverToIntent(cap) {
71
95
  * - Extracts single tokens only — "jane smith" would extract "jane"
72
96
  * - Keyword matching is positional — "articles from authors I follow"
73
97
  * may extract "authors" instead of nothing, since "from" is a keyword
74
- * - For complex or ambiguous queries, use matchWithLLM() which handles
75
- * param extraction more accurately via the LLM prompt
98
+ * - Required param fallback grabs the last meaningful word — "list all
99
+ * recent orders" may extract "orders" even with the denylist extended.
100
+ * For precise extraction of complex queries, use matchWithLLM() which
101
+ * handles param extraction via structured LLM prompt.
102
+ * - To support richer extraction patterns, add a `pattern` field to
103
+ * CapabilityParam in a future version.
76
104
  */
77
105
  function extractParams(query, cap) {
78
106
  const result = {};
@@ -144,7 +172,7 @@ function extractParams(query, cap) {
144
172
  }
145
173
  return result;
146
174
  }
147
- function match(query, manifest) {
175
+ function match(query, manifest, options = {}) {
148
176
  if (!query?.trim()) {
149
177
  logger_1.logger.warn('Empty query received');
150
178
  return {
@@ -161,11 +189,62 @@ function match(query, manifest) {
161
189
  logger_1.logger.debug(`Manifest has ${manifest.capabilities.length} capabilities`);
162
190
  let best = null;
163
191
  let bestScore = 0;
192
+ // ── Build Fuse index once per match() call ────────────────────────────────
193
+ // Flat corpus — each example/description/name is its own searchable record,
194
+ // tagged with the owning capability id. This avoids two pitfalls of using
195
+ // Fuse's multi-key mode here:
196
+ // (1) joining examples into one string dilutes single-example matches,
197
+ // (2) multi-key weighted aggregation mixes good and bad field matches
198
+ // when we actually want the best single match across all fields.
199
+ // After searching, we group hits by capability and take the BEST score.
200
+ // Field prioritization (examples > description > name) is already applied
201
+ // by the keyword scorer (60/30/10 weights in scoreCapability), so fuzzy
202
+ // here is a pure similarity signal.
203
+ const fuzzyScoreMap = new Map();
204
+ if (options.fuzzyMatch) {
205
+ const corpus = [];
206
+ for (const cap of manifest.capabilities) {
207
+ for (const ex of cap.examples ?? []) {
208
+ if (ex?.trim())
209
+ corpus.push({ capabilityId: cap.id, text: ex });
210
+ }
211
+ if (cap.description?.trim())
212
+ corpus.push({ capabilityId: cap.id, text: cap.description });
213
+ if (cap.name?.trim())
214
+ corpus.push({ capabilityId: cap.id, text: cap.name });
215
+ }
216
+ if (corpus.length > 0) {
217
+ const fuse = new fuse_js_1.default(corpus, {
218
+ keys: ['text'],
219
+ threshold: options.fuzzyThreshold ?? 0.4,
220
+ includeScore: true,
221
+ ignoreLocation: true,
222
+ minMatchCharLength: 3,
223
+ });
224
+ // Group hits by capability, keeping the best (lowest fuse score = highest similarity).
225
+ // Convert to 0-100 contribution: fuseScore 0.0 = 100%, fuseScore 1.0 = 0%.
226
+ // Multiplier 100 (not 60) lets a strong fuzzy match alone reach the standard
227
+ // 50% confidence cutoff for typo-only queries that have no keyword overlap.
228
+ for (const hit of fuse.search(query)) {
229
+ const capId = hit.item.capabilityId;
230
+ const contribution = (1 - (hit.score ?? 1)) * 100;
231
+ const existing = fuzzyScoreMap.get(capId) ?? 0;
232
+ if (contribution > existing)
233
+ fuzzyScoreMap.set(capId, contribution);
234
+ }
235
+ }
236
+ }
237
+ // ── Score all capabilities ────────────────────────────────────────────────
238
+ // Build qWordSet once — O(1) lookups instead of O(n) Array.includes per word
239
+ const qWordSet = new Set(filterStopwords(query.toLowerCase().split(/\W+/).filter(Boolean)));
164
240
  const allScores = [];
165
241
  for (const cap of manifest.capabilities) {
166
- const score = scoreCapability(query, cap);
167
- logger_1.logger.debug(` scored "${cap.id}": ${score}%`);
168
- allScores.push({ cap, score });
242
+ const keywordScore = scoreCapability(qWordSet, cap);
243
+ const fuzzyScore = fuzzyScoreMap.get(cap.id) ?? 0;
244
+ const via = fuzzyScore > keywordScore ? 'fuzzy' : 'keyword';
245
+ const score = Math.min(100, Math.round(Math.max(keywordScore, fuzzyScore)));
246
+ logger_1.logger.debug(` scored "${cap.id}": ${score}% (keyword: ${keywordScore}%, fuzzy: ${Math.round(fuzzyScore)}%)`);
247
+ allScores.push({ cap, score, via });
169
248
  if (score > bestScore) {
170
249
  bestScore = score;
171
250
  best = cap;
@@ -177,7 +256,8 @@ function match(query, manifest) {
177
256
  matched: cap.id === best?.id,
178
257
  }));
179
258
  if (!best || bestScore < 50) {
180
- logger_1.logger.info(`No match above threshold (best: ${bestScore}% for "${best?.id ?? 'none'}")`);
259
+ const bestId = best ? best.id : 'none';
260
+ logger_1.logger.info(`No match above threshold (best: ${bestScore}% for "${bestId}")`);
181
261
  // Out of scope return:
182
262
  return {
183
263
  capability: null,
@@ -191,38 +271,44 @@ function match(query, manifest) {
191
271
  const params = extractParams(query, best);
192
272
  logger_1.logger.info(`Matched "${best.id}" at ${bestScore}% confidence`);
193
273
  logger_1.logger.debug(`Extracted params: ${JSON.stringify(Object.fromEntries(Object.entries(params).map(([k, v]) => [k, v != null ? '[REDACTED]' : 'null'])))}`);
274
+ // Use the via tag tracked during scoring — avoids redundant scoreCapability call.
275
+ const bestEntry = allScores.find(s => s.cap.id === best.id);
276
+ const winner = bestEntry?.via === 'fuzzy' ? 'fuzzy match' : 'keyword scoring';
194
277
  // Matched return:
195
278
  return {
196
279
  capability: best,
197
280
  confidence: bestScore,
198
281
  intent: resolverToIntent(best),
199
282
  extractedParams: params,
200
- reasoning: `Matched "${best.id}" via keyword scoring (score: ${bestScore})`,
283
+ reasoning: `Matched "${best.id}" via ${winner} (score: ${bestScore})`,
201
284
  candidates,
202
285
  };
203
286
  }
204
287
  /**
205
288
  * Matches a query to a capability using an LLM.
206
289
  *
207
- * ⚠️ SECURITY NOTE: Capability `description` and `examples` fields from the
208
- * manifest are injected verbatim into the LLM prompt (system portion).
209
- * In a solo deployment with a developer-controlled manifest this is safe.
210
- * If your manifest is generated from third-party OpenAPI specs, user-controlled
211
- * sources, or any external input, sanitize `description` and `examples` fields
212
- * before passing the manifest to this function adversarial content in those
213
- * fields can influence LLM routing decisions.
290
+ * ⚠️ SECURITY NOTE: Capability fields are sanitized before injection into
291
+ * the LLM prompt (newlines stripped, delimiters neutralized, length capped).
292
+ * However, the current interface passes a single prompt string it cannot
293
+ * provide true system/user message separation that some LLM APIs support.
294
+ * For maximum injection resistance in high-security deployments, use an LLM
295
+ * wrapper that maps the prompt to a proper system message, keeping user query
296
+ * data in the user turn only.
214
297
  */
215
298
  async function matchWithLLM(query, manifest, options) {
216
299
  // Truncate description and examples — prevents context window overflow and
217
300
  // reduces prompt injection surface from third-party OpenAPI spec content.
218
301
  const MAX_DESC_LEN = 200;
219
302
  const MAX_EXAMPLE_LEN = 100;
220
- const manifestSummary = manifest.capabilities.map(c => `- ${c.id} (${c.resolver.type}): ${c.description.slice(0, MAX_DESC_LEN)}${c.description.length > MAX_DESC_LEN ? '…' : ''}${c.examples?.length
221
- ? `\n examples: ${c.examples.slice(0, 2).map(e => e.slice(0, MAX_EXAMPLE_LEN)).join(', ')}`
303
+ const manifestSummary = manifest.capabilities.map(c => `- ${c.id} (${c.resolver.type}): ${sanitizeForPrompt(c.description, MAX_DESC_LEN)}${c.examples?.length
304
+ ? `\n examples: ${c.examples.slice(0, 2).map(e => sanitizeForPrompt(e, MAX_EXAMPLE_LEN)).join(', ')}`
222
305
  : ''}`).join('\n');
306
+ // Sanitize app name — strip newlines and control characters that could
307
+ // break the prompt structure or inject additional instructions.
308
+ const safeApp = sanitizeForPrompt(manifest.app, 100);
223
309
  const prompt = `You are an intent matcher for an AI agent system.
224
310
 
225
- App: ${manifest.app}
311
+ App: ${safeApp}
226
312
 
227
313
  Available capabilities:
228
314
  ${manifestSummary}
@@ -280,7 +366,32 @@ ${JSON.stringify({ user_query: query })}
280
366
  capability,
281
367
  confidence: llmConfidence,
282
368
  intent: effectivelyOOS ? 'out_of_scope' : parsed.intent,
283
- extractedParams: (parsed.extracted_params ?? {}),
369
+ extractedParams: (() => {
370
+ // Validate extracted params against declared capability params.
371
+ // Rejects nested objects ("[object Object]" in URLs), unknown keys,
372
+ // and non-scalar values. For OOS results (capability === null),
373
+ // drops all params — correct since there's no capability to match against.
374
+ const rawParams = (parsed.extracted_params ?? {});
375
+ const validParams = {};
376
+ for (const param of capability?.params ?? []) {
377
+ const val = rawParams[param.name];
378
+ if (val === null || val === undefined) {
379
+ validParams[param.name] = null;
380
+ }
381
+ else if (typeof val === 'string') {
382
+ validParams[param.name] = val;
383
+ }
384
+ else if (typeof val === 'number' || typeof val === 'boolean') {
385
+ validParams[param.name] = String(val);
386
+ }
387
+ else {
388
+ // Reject complex types (objects, arrays) — would produce "[object Object]" in URLs
389
+ logger_1.logger.warn(`LLM returned non-scalar value for param "${param.name}" — dropping`);
390
+ validParams[param.name] = null;
391
+ }
392
+ }
393
+ return validParams;
394
+ })(),
284
395
  reasoning: parsed.reasoning ?? 'No reasoning provided',
285
396
  candidates: allCandidates,
286
397
  };
@@ -1 +1 @@
1
- {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/matcher.ts"],"names":[],"mappings":";;;AA+DA,4CAMC;AAcD,sCAmFC;AAED,sBAgEC;AAiBD,oCAyFG;AAjVH,qCAAiC;AAEjC,gFAAgF;AAEhF,MAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;IAC7B,CAAC;CACF;AALD,sCAKC;AAEc,QAAA,SAAS,GAAG,IAAI,GAAG,CAAC;IACjC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ;IAC7D,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM;IAC/D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO;IACzD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;IAC1D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IAC9D,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;IACjE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;IAC3D,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;IAC1D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;CACxD,CAAC,CAAA;AAEF,SAAS,eAAe,CAAC,KAAe;IACtC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,GAAe;IACrD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IAC7B,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAE9D,4DAA4D;IAC5D,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAC9D,KAAK,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAC1C,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,GAAG,eAAe,CAC/B,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC3D,CAAA;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACpE,KAAK,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAChD,CAAC;IAED,mBAAmB;IACnB,MAAM,SAAS,GAAG,eAAe,CAC/B,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACpD,CAAA;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QACpE,KAAK,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;IAChD,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;AACzC,CAAC;AAED,SAAgB,gBAAgB,CAAC,GAAe;IAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAA;IAC3B,IAAI,CAAC,KAAK,KAAK;QAAK,OAAO,WAAW,CAAA;IACtC,IAAI,CAAC,KAAK,KAAK;QAAK,OAAO,YAAY,CAAA;IACvC,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IACnC,OAAO,cAAc,CAAA;AACvB,CAAC;AAGD;;;;;;;;;GASG;AAEH,SAAgB,aAAa,CAAC,KAAa,EAAE,GAAe;IAC1D,MAAM,MAAM,GAAkC,EAAE,CAAA;IAChD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IAE7B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,mDAAmD;QACnD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA,CAAC,oEAAoE;YAC9F,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;YACzB,SAAQ;QACV,CAAC;QAED,4CAA4C;QAC5C,uCAAuC;QACvC,mCAAmC;QACnC,yCAAyC;QACzC,qCAAqC;QACrC,MAAM,QAAQ,GAAG;YACf,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS;YAC5C,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK;YAC1C,OAAO,EAAE,OAAO;SACjB,CAAA;QAED,+DAA+D;QAC/D,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,KAAK,aAAa;YAC7C,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAClD,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAElD,MAAM,cAAc,GAAG,UAAU;YAC/B,CAAC,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC;YAC/B,CAAC,CAAC,QAAQ,CAAA;QAEZ,IAAI,SAAS,GAAkB,IAAI,CAAA;QAEnC,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACzB,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;gBACjD,mEAAmE;gBACnE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;qBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;qBAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;gBAE/D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,gDAAgD;oBAChD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,IAAI;wBACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACzB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;wBACzC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;oBAElC,6DAA6D;oBAC7D,SAAS,GAAG,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;oBAClF,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QAED,uFAAuF;QACzF,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACvC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,iBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;YACrE,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAA;YAC3D,sFAAsF;YACtF,mFAAmF;YACnF,IACE,SAAS;gBACT,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrC,CAAC,yQAAyQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAC1R,CAAC;gBACD,SAAS,GAAG,SAAS,CAAA;YACvB,CAAC;QACH,CAAC;QAEC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAA;IAChC,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAgB,KAAK,CAAC,KAAa,EAAE,QAAkB;IACrD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;QACnB,eAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;QACnC,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,cAAc;YACtB,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE,EAAE;SACf,CAAA;IACH,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,mBAAmB,KAAK,CAAC,MAAM,SAAS,CAAC,CAAA;IACrD,eAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,GAAG,CAAC,CAAA;IACtC,eAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,CAAC,YAAY,CAAC,MAAM,eAAe,CAAC,CAAA;IAEzE,IAAI,IAAI,GAAsB,IAAI,CAAA;IAClC,IAAI,SAAS,GAAG,CAAC,CAAA;IAEjB,MAAM,SAAS,GAA8C,EAAE,CAAA;IAE/D,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACzC,eAAM,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC,CAAA;QAC/C,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAA;QAC9B,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,KAAK,CAAA;YACjB,IAAI,GAAG,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QACpD,YAAY,EAAE,GAAG,CAAC,EAAE;QACpB,KAAK;QACL,OAAO,EAAE,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE;KAC7B,CAAC,CAAC,CAAA;IAEH,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;QAC5B,eAAM,CAAC,IAAI,CAAC,mCAAmC,SAAS,UAAU,IAAI,EAAE,EAAE,IAAI,MAAM,IAAI,CAAC,CAAA;QACzF,uBAAuB;QACvB,OAAO;YACL,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,cAAc;YACtB,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,iEAAiE,SAAS,GAAG;YACxF,UAAU;SACX,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACzC,eAAM,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,QAAQ,SAAS,cAAc,CAAC,CAAA;IAC/D,eAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAEvJ,kBAAkB;IAClB,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC;QAC9B,eAAe,EAAE,MAAM;QACvB,SAAS,EAAE,YAAY,IAAI,CAAC,EAAE,iCAAiC,SAAS,GAAG;QAC3E,UAAU;KACX,CAAA;AACH,CAAC;AAMD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,YAAY,CAChC,KAAa,EACb,QAAkB,EAClB,OAA0B;IAE1B,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,YAAY,GAAM,GAAG,CAAA;IAC3B,MAAM,eAAe,GAAG,GAAG,CAAA;IAE3B,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACpD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GACtH,CAAC,CAAC,QAAQ,EAAE,MAAM;QAChB,CAAC,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5F,CAAC,CAAC,EACN,EAAE,CACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,MAAM,MAAM,GAAG;;OAEV,QAAQ,CAAC,GAAG;;;EAGjB,eAAe;;;;;;;;;;;;;;;;EAgBf,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;qBAClB,CAAA;IAEnB,MAAM,GAAG,GAAK,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAEpD,IAAI,MAA+B,CAAA;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,aAAa,CAAC,+CAA+C,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IAC/F,CAAC;IAED,IAAI,OAAO,MAAM,CAAC,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,aAAa,CAAC,gDAAgD,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,aAAa,CAAC,gDAAgD,CAAC,CAAA;IAC3E,CAAC;IAED,MAAM,KAAK,GAAQ,MAAM,CAAC,kBAAkB,KAAK,cAAc,CAAA;IAC/D,MAAM,UAAU,GAAG,KAAK;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAA;IAE/E,kEAAkE;IAClE,MAAM,cAAc,GAAG,KAAK,IAAI,UAAU,KAAK,IAAI,CAAA;IAEnD,IAAI,CAAC,KAAK,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAClC,eAAM,CAAC,IAAI,CAAC,wCAAwC,MAAM,CAAC,kBAAkB,8BAA8B,CAAC,CAAA;IAC9G,CAAC;IAED,qFAAqF;IACrF,iFAAiF;IACjF,wDAAwD;IACxD,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAoB,CAAA;IACtE,MAAM,aAAa,GAAqB,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtE,YAAY,EAAE,CAAC,CAAC,EAAE;QAClB,KAAK,EAAS,CAAC,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,EAAO,CAAC,CAAC,EAAE,KAAK,UAAU,EAAE,EAAE;KACtC,CAAC,CAAC,CAAA;IAEH,OAAO;QACL,UAAU;QACV,UAAU,EAAO,aAAa;QAC9B,MAAM,EAAW,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,MAA+B;QACzF,eAAe,EAAE,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAkC;QACjF,SAAS,EAAS,MAAM,CAAC,SAAoB,IAAI,uBAAuB;QACxE,UAAU,EAAO,aAAa;KAC/B,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/matcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAA2C,MAAM,SAAS,CAAA;AAmEpF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAK,YAAY,CAAA;IACvB,KAAK,EAAE;QACL,KAAK,EAAK,MAAM,CAAA;QAChB,OAAO,EAAG,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;CACF;AAED,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC,CAGtB"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAA2C,MAAM,SAAS,CAAA;AAsEpF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAK,YAAY,CAAA;IACvB,KAAK,EAAE;QACL,KAAK,EAAK,MAAM,CAAA;QAChB,OAAO,EAAG,MAAM,CAAA;QAChB,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB,CAAA;CACF;AAED,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,CAAC,CAGtB"}
@@ -202,7 +202,7 @@ function extractParams(op) {
202
202
  continue;
203
203
  const source = p.in === 'path' ? 'user_query' :
204
204
  p.in === 'query' ? 'user_query' :
205
- 'context';
205
+ 'user_query'; // body/formData (Swagger 2.x) — treat as user_query
206
206
  params.push({
207
207
  name: toSnakeCase(p.name),
208
208
  description: p.description ?? toHumanName(p.name),
@@ -237,13 +237,17 @@ function inferPrivacy(op, hasGlobalAuth, securitySchemes) {
237
237
  // Explicitly no security on this operation
238
238
  if (op.security !== undefined && op.security.length === 0)
239
239
  return 'public';
240
- // Check operation tags for admin hints
241
- const tags = (op.tags ?? []).map(t => t.toLowerCase());
242
- if (tags.some(t => t.includes('admin') || t.includes('internal')))
240
+ // Check operation tags for admin hints — word-boundary match only.
241
+ // Avoids false positives like 'manageWishlist', 'fileManager', 'managedService'
242
+ // being classified as admin when they are user-facing operations.
243
+ const ADMIN_PATTERN = /\b(admin|administrator|backoffice|back-office|internal|superuser)\b/i;
244
+ const tags = op.tags ?? [];
245
+ if (tags.some(t => ADMIN_PATTERN.test(t)))
243
246
  return 'admin';
244
- // Check operation ID / summary for admin hints
247
+ // Check operation ID / summary same word-boundary pattern.
248
+ // 'manage' alone is NOT an admin signal — too many user-facing ops use it.
245
249
  const hint = `${op.operationId ?? ''} ${op.summary ?? ''}`.toLowerCase();
246
- if (hint.includes('admin') || hint.includes('manage') || hint.includes('internal')) {
250
+ if (ADMIN_PATTERN.test(hint)) {
247
251
  return 'admin';
248
252
  }
249
253
  // If global auth exists or operation has security, it's user_owned
@@ -284,12 +288,15 @@ function extractBaseUrl(spec) {
284
288
  if (spec.servers?.length) {
285
289
  return spec.servers[0].url.replace(/\/$/, '');
286
290
  }
287
- // Swagger 2.x
291
+ // Swagger 2.x — respect declared schemes, prefer https over http
288
292
  if (spec.host) {
289
- const scheme = 'https';
293
+ const schemes = spec.schemes ?? ['https'];
294
+ const scheme = schemes.includes('https') ? 'https' : schemes[0] ?? 'https';
290
295
  const base = spec.basePath ?? '';
291
296
  return `${scheme}://${spec.host}${base}`.replace(/\/$/, '');
292
297
  }
298
+ logger_1.logger.warn(`No server URL found in spec — using placeholder "https://api.your-app.com". ` +
299
+ `Set baseUrl manually in the generated config before use.`);
293
300
  return 'https://api.your-app.com';
294
301
  }
295
302
  function sanitizeAppName(title) {