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.
- package/CHANGELOG.md +61 -0
- package/CODEBASE.md +115 -65
- package/README.md +45 -4
- package/bin/lib/cmd-explain.js +2 -2
- package/bin/lib/cmd-generate.js +44 -28
- package/bin/lib/cmd-run.js +2 -2
- package/bin/lib/shared.js +8 -2
- package/dist/cjs/cache.d.ts.map +1 -1
- package/dist/cjs/cache.js +22 -5
- package/dist/cjs/cache.js.map +1 -1
- package/dist/cjs/engine.d.ts +30 -0
- package/dist/cjs/engine.d.ts.map +1 -1
- package/dist/cjs/engine.js +87 -36
- package/dist/cjs/engine.js.map +1 -1
- package/dist/cjs/generator.d.ts.map +1 -1
- package/dist/cjs/generator.js +7 -1
- package/dist/cjs/generator.js.map +1 -1
- package/dist/cjs/learning.d.ts.map +1 -1
- package/dist/cjs/learning.js +39 -12
- package/dist/cjs/learning.js.map +1 -1
- package/dist/cjs/matcher.d.ts +18 -10
- package/dist/cjs/matcher.d.ts.map +1 -1
- package/dist/cjs/matcher.js +140 -29
- package/dist/cjs/matcher.js.map +1 -1
- package/dist/cjs/parser.d.ts.map +1 -1
- package/dist/cjs/parser.js +15 -8
- package/dist/cjs/parser.js.map +1 -1
- package/dist/cjs/resolver.d.ts +1 -0
- package/dist/cjs/resolver.d.ts.map +1 -1
- package/dist/cjs/resolver.js +16 -5
- package/dist/cjs/resolver.js.map +1 -1
- package/dist/cjs/schema.d.ts +18 -18
- package/dist/cjs/schema.js +1 -1
- package/dist/cjs/schema.js.map +1 -1
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/cache.js +22 -5
- package/dist/esm/engine.d.ts +30 -0
- package/dist/esm/engine.js +89 -38
- package/dist/esm/generator.js +7 -1
- package/dist/esm/learning.js +39 -12
- package/dist/esm/matcher.d.ts +18 -10
- package/dist/esm/matcher.js +137 -29
- package/dist/esm/parser.js +15 -8
- package/dist/esm/resolver.d.ts +1 -0
- package/dist/esm/resolver.js +16 -6
- package/dist/esm/schema.d.ts +18 -18
- package/dist/esm/schema.js +1 -1
- package/dist/esm/types.d.ts +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +11 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,4BAOC;AAED,gCAgFC;AAED,
|
|
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":"
|
|
1
|
+
{"version":3,"file":"learning.d.ts","sourceRoot":"","sources":["../../src/learning.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/learning.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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) {
|
package/dist/cjs/learning.js.map
CHANGED
|
@@ -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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"}
|
package/dist/cjs/matcher.d.ts
CHANGED
|
@@ -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
|
-
* -
|
|
15
|
-
*
|
|
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
|
|
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
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
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;
|
|
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"}
|
package/dist/cjs/matcher.js
CHANGED
|
@@ -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(
|
|
32
|
-
const q = query.toLowerCase();
|
|
35
|
+
function scoreCapability(qWordSet, cap) {
|
|
33
36
|
let score = 0;
|
|
34
|
-
|
|
35
|
-
//
|
|
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 =>
|
|
41
|
-
|
|
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
|
-
|
|
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 =>
|
|
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 =>
|
|
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
|
-
* -
|
|
75
|
-
*
|
|
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
|
|
167
|
-
|
|
168
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
208
|
-
*
|
|
209
|
-
*
|
|
210
|
-
*
|
|
211
|
-
*
|
|
212
|
-
*
|
|
213
|
-
*
|
|
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
|
|
221
|
-
? `\n examples: ${c.examples.slice(0, 2).map(e => e
|
|
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: ${
|
|
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: (
|
|
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
|
};
|
package/dist/cjs/matcher.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/matcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../src/matcher.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/parser.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/cjs/parser.js
CHANGED
|
@@ -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
|
-
'
|
|
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
|
-
|
|
242
|
-
|
|
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
|
|
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 (
|
|
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
|
|
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) {
|