capman 0.3.0 → 0.4.1
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/README.md +235 -98
- package/bin/capman.js +70 -0
- package/dist/cjs/cache.d.ts +16 -8
- package/dist/cjs/cache.d.ts.map +1 -1
- package/dist/cjs/cache.js +59 -47
- package/dist/cjs/cache.js.map +1 -1
- package/dist/cjs/engine.d.ts +5 -5
- package/dist/cjs/engine.d.ts.map +1 -1
- package/dist/cjs/engine.js +92 -11
- package/dist/cjs/engine.js.map +1 -1
- package/dist/cjs/generator.js +1 -1
- package/dist/cjs/generator.js.map +1 -1
- package/dist/cjs/index.d.ts +11 -4
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +19 -38
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/learning.d.ts.map +1 -1
- package/dist/cjs/learning.js +70 -89
- package/dist/cjs/learning.js.map +1 -1
- package/dist/cjs/matcher.d.ts.map +1 -1
- package/dist/cjs/matcher.js +29 -9
- package/dist/cjs/matcher.js.map +1 -1
- package/dist/cjs/resolver.d.ts +4 -1
- package/dist/cjs/resolver.d.ts.map +1 -1
- package/dist/cjs/resolver.js +43 -39
- package/dist/cjs/resolver.js.map +1 -1
- package/dist/cjs/types.d.ts +26 -0
- 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 +58 -48
- package/dist/esm/engine.js +93 -12
- package/dist/esm/generator.js +1 -1
- package/dist/esm/index.js +17 -36
- package/dist/esm/learning.js +70 -89
- package/dist/esm/matcher.js +29 -9
- package/dist/esm/resolver.js +43 -39
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
package/dist/cjs/cache.js
CHANGED
|
@@ -34,6 +34,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.ComboCache = exports.FileCache = exports.MemoryCache = void 0;
|
|
37
|
+
exports.normalizeQuery = normalizeQuery;
|
|
38
|
+
exports.buildCacheKey = buildCacheKey;
|
|
37
39
|
const fs = __importStar(require("fs"));
|
|
38
40
|
const path = __importStar(require("path"));
|
|
39
41
|
const logger_1 = require("./logger");
|
|
@@ -41,37 +43,54 @@ const logger_1 = require("./logger");
|
|
|
41
43
|
function normalizeQuery(query) {
|
|
42
44
|
return query.toLowerCase().trim().replace(/\s+/g, ' ');
|
|
43
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Build a smarter cache key based on matched capability + extracted params.
|
|
48
|
+
* Two different queries that resolve to the same capability with the same params
|
|
49
|
+
* will share a cache entry — dramatically improving hit rate.
|
|
50
|
+
* Falls back to normalized query if no capability matched.
|
|
51
|
+
*/
|
|
52
|
+
function buildCacheKey(query, capabilityId, extractedParams) {
|
|
53
|
+
if (!capabilityId)
|
|
54
|
+
return `query:${normalizeQuery(query)}`;
|
|
55
|
+
const paramStr = Object.entries(extractedParams)
|
|
56
|
+
.filter(([, v]) => v !== null)
|
|
57
|
+
.sort(([a], [b]) => a.localeCompare(b))
|
|
58
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
59
|
+
.join('&');
|
|
60
|
+
return `cap:${capabilityId}${paramStr ? `:${paramStr}` : ''}`;
|
|
61
|
+
}
|
|
44
62
|
// ─── Memory Cache ─────────────────────────────────────────────────────────────
|
|
63
|
+
const MEMORY_CACHE_MAX = 512;
|
|
45
64
|
class MemoryCache {
|
|
46
65
|
constructor() {
|
|
47
66
|
this.store = new Map();
|
|
48
67
|
}
|
|
49
|
-
async get(
|
|
50
|
-
const key = normalizeQuery(query);
|
|
68
|
+
async get(key) {
|
|
51
69
|
const entry = this.store.get(key);
|
|
52
70
|
if (entry) {
|
|
53
71
|
entry.hits++;
|
|
54
|
-
logger_1.logger.debug(`Cache hit (memory): "${
|
|
72
|
+
logger_1.logger.debug(`Cache hit (memory): "${key}"`);
|
|
55
73
|
return entry;
|
|
56
74
|
}
|
|
57
75
|
return null;
|
|
58
76
|
}
|
|
59
|
-
async set(
|
|
60
|
-
|
|
77
|
+
async set(key, result) {
|
|
78
|
+
if (this.store.size >= MEMORY_CACHE_MAX) {
|
|
79
|
+
const oldest = this.store.keys().next().value;
|
|
80
|
+
if (oldest !== undefined)
|
|
81
|
+
this.store.delete(oldest);
|
|
82
|
+
logger_1.logger.debug(`Cache evicted oldest entry (max size ${MEMORY_CACHE_MAX} reached)`);
|
|
83
|
+
}
|
|
61
84
|
this.store.set(key, {
|
|
62
|
-
query,
|
|
85
|
+
query: key,
|
|
63
86
|
result,
|
|
64
87
|
cachedAt: new Date().toISOString(),
|
|
65
88
|
hits: 0,
|
|
66
89
|
});
|
|
67
|
-
logger_1.logger.debug(`Cache set (memory): "${
|
|
68
|
-
}
|
|
69
|
-
async clear() {
|
|
70
|
-
this.store.clear();
|
|
71
|
-
}
|
|
72
|
-
async size() {
|
|
73
|
-
return this.store.size;
|
|
90
|
+
logger_1.logger.debug(`Cache set (memory): "${key}"`);
|
|
74
91
|
}
|
|
92
|
+
async clear() { this.store.clear(); }
|
|
93
|
+
async size() { return this.store.size; }
|
|
75
94
|
}
|
|
76
95
|
exports.MemoryCache = MemoryCache;
|
|
77
96
|
// ─── File Cache ───────────────────────────────────────────────────────────────
|
|
@@ -80,63 +99,58 @@ class FileCache {
|
|
|
80
99
|
this.store = new Map();
|
|
81
100
|
this.loaded = false;
|
|
82
101
|
this.filePath = path.resolve(process.cwd(), filePath);
|
|
102
|
+
logger_1.logger.info(`FileCache initialized — writing to: ${this.filePath}`);
|
|
83
103
|
}
|
|
84
|
-
load() {
|
|
104
|
+
async load() {
|
|
85
105
|
if (this.loaded)
|
|
86
106
|
return;
|
|
87
107
|
try {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
logger_1.logger.debug(`File cache loaded: ${this.store.size} entries`);
|
|
92
|
-
}
|
|
108
|
+
const raw = await fs.promises.readFile(this.filePath, 'utf-8');
|
|
109
|
+
this.store = new Map(Object.entries(JSON.parse(raw)));
|
|
110
|
+
logger_1.logger.debug(`File cache loaded: ${this.store.size} entries`);
|
|
93
111
|
}
|
|
94
112
|
catch {
|
|
95
|
-
|
|
113
|
+
// File doesn't exist yet — start fresh
|
|
96
114
|
}
|
|
97
115
|
this.loaded = true;
|
|
98
116
|
}
|
|
99
|
-
save() {
|
|
117
|
+
async save() {
|
|
100
118
|
try {
|
|
101
119
|
const dir = path.dirname(this.filePath);
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
const obj = Object.fromEntries(this.store);
|
|
105
|
-
fs.writeFileSync(this.filePath, JSON.stringify(obj, null, 2));
|
|
120
|
+
await fs.promises.mkdir(dir, { recursive: true });
|
|
121
|
+
await fs.promises.writeFile(this.filePath, JSON.stringify(Object.fromEntries(this.store), null, 2));
|
|
106
122
|
}
|
|
107
123
|
catch {
|
|
108
124
|
logger_1.logger.warn(`Failed to save file cache to ${this.filePath}`);
|
|
109
125
|
}
|
|
110
126
|
}
|
|
111
|
-
async get(
|
|
112
|
-
this.load();
|
|
113
|
-
const key = normalizeQuery(query);
|
|
127
|
+
async get(key) {
|
|
128
|
+
await this.load();
|
|
114
129
|
const entry = this.store.get(key);
|
|
115
130
|
if (entry) {
|
|
116
131
|
entry.hits++;
|
|
117
|
-
logger_1.logger.debug(`Cache hit (file): "${
|
|
132
|
+
logger_1.logger.debug(`Cache hit (file): "${key}"`);
|
|
118
133
|
return entry;
|
|
119
134
|
}
|
|
120
135
|
return null;
|
|
121
136
|
}
|
|
122
|
-
async set(
|
|
123
|
-
this.load();
|
|
124
|
-
const key = normalizeQuery(query);
|
|
137
|
+
async set(key, result) {
|
|
138
|
+
await this.load();
|
|
125
139
|
this.store.set(key, {
|
|
126
|
-
query,
|
|
140
|
+
query: key,
|
|
127
141
|
result,
|
|
128
142
|
cachedAt: new Date().toISOString(),
|
|
129
143
|
hits: 0,
|
|
130
144
|
});
|
|
131
|
-
this.save();
|
|
132
|
-
logger_1.logger.debug(`Cache set (file): "${
|
|
145
|
+
await this.save();
|
|
146
|
+
logger_1.logger.debug(`Cache set (file): "${key}"`);
|
|
133
147
|
}
|
|
134
148
|
async clear() {
|
|
135
149
|
this.store.clear();
|
|
136
|
-
this.save();
|
|
150
|
+
await this.save();
|
|
137
151
|
}
|
|
138
152
|
async size() {
|
|
139
|
-
this.load();
|
|
153
|
+
await this.load();
|
|
140
154
|
return this.store.size;
|
|
141
155
|
}
|
|
142
156
|
}
|
|
@@ -147,24 +161,22 @@ class ComboCache {
|
|
|
147
161
|
this.memory = new MemoryCache();
|
|
148
162
|
this.file = new FileCache(filePath);
|
|
149
163
|
}
|
|
150
|
-
async get(
|
|
151
|
-
|
|
152
|
-
const memHit = await this.memory.get(query);
|
|
164
|
+
async get(key) {
|
|
165
|
+
const memHit = await this.memory.get(key);
|
|
153
166
|
if (memHit)
|
|
154
167
|
return memHit;
|
|
155
|
-
|
|
156
|
-
const fileHit = await this.file.get(query);
|
|
168
|
+
const fileHit = await this.file.get(key);
|
|
157
169
|
if (fileHit) {
|
|
158
|
-
|
|
159
|
-
|
|
170
|
+
await this.memory.set(key, fileHit.result);
|
|
171
|
+
logger_1.logger.debug(`Cache promoted to memory: "${key}"`);
|
|
160
172
|
return fileHit;
|
|
161
173
|
}
|
|
162
174
|
return null;
|
|
163
175
|
}
|
|
164
|
-
async set(
|
|
176
|
+
async set(key, result) {
|
|
165
177
|
await Promise.all([
|
|
166
|
-
this.memory.set(
|
|
167
|
-
this.file.set(
|
|
178
|
+
this.memory.set(key, result),
|
|
179
|
+
this.file.set(key, result),
|
|
168
180
|
]);
|
|
169
181
|
}
|
|
170
182
|
async clear() {
|
package/dist/cjs/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/engine.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Manifest, MatchResult, ResolveResult } from './types';
|
|
1
|
+
import type { Manifest, MatchResult, ResolveResult, ExecutionTrace } from './types';
|
|
2
2
|
import type { LLMMatcherOptions } from './matcher';
|
|
3
3
|
import type { ResolveOptions, AuthContext } from './resolver';
|
|
4
4
|
import type { CacheStore } from './cache';
|
|
@@ -16,9 +16,9 @@ export interface EngineOptions {
|
|
|
16
16
|
mode?: MatchMode;
|
|
17
17
|
/** LLM function for accurate/balanced matching */
|
|
18
18
|
llm?: LLMMatcherOptions['llm'];
|
|
19
|
-
/** Cache store — defaults to ComboCache
|
|
19
|
+
/** Cache store — defaults to MemoryCache. Use FileCache or ComboCache for persistence. */
|
|
20
20
|
cache?: CacheStore | false;
|
|
21
|
-
/** Learning store — defaults to FileLearningStore */
|
|
21
|
+
/** Learning store — defaults to MemoryLearningStore. Use FileLearningStore for persistence. */
|
|
22
22
|
learning?: LearningStore | false;
|
|
23
23
|
/** Base URL for API resolvers */
|
|
24
24
|
baseUrl?: string;
|
|
@@ -32,10 +32,10 @@ export interface EngineOptions {
|
|
|
32
32
|
export interface EngineResult {
|
|
33
33
|
match: MatchResult;
|
|
34
34
|
resolution: ResolveResult;
|
|
35
|
-
/** How the match was resolved */
|
|
36
35
|
resolvedVia: 'cache' | 'keyword' | 'llm';
|
|
37
|
-
/** Total time in milliseconds */
|
|
38
36
|
durationMs: number;
|
|
37
|
+
/** Full execution trace — always present */
|
|
38
|
+
trace: ExecutionTrace;
|
|
39
39
|
}
|
|
40
40
|
export declare class CapmanEngine {
|
|
41
41
|
private manifest;
|
package/dist/cjs/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAa,MAAM,SAAS,CAAA;AAC9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,YAAY,CAAA;AAK9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAKxC,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,QAAQ,EAAE,QAAQ,CAAA;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,kDAAkD;IAClD,GAAG,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC9B,0FAA0F;IAC1F,KAAK,CAAC,EAAE,UAAU,GAAG,KAAK,CAAA;IAC1B,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,aAAa,GAAG,KAAK,CAAA;IAChC,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,aAAa,CAAA;IACzB,WAAW,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,CAAA;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,4CAA4C;IAC5C,KAAK,EAAE,cAAc,CAAA;CACtB;AAID,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,GAAG,CAAC,CAA+B;IAC3C,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,IAAI,CAAC,CAAiB;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,SAAS,CAAQ;gBAEb,OAAO,EAAE,aAAa;IAwBlC;;;;;;;;;;OAUG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAoKxF;;;OAGG;IACG,QAAQ;IAKd;;OAEG;IACG,kBAAkB,CAAC,KAAK,SAAI;;;;IAKlC;;OAEG;IACG,UAAU;IAMhB,OAAO,CAAC,cAAc;YASR,cAAc;CAgB7B"}
|
package/dist/cjs/engine.js
CHANGED
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CapmanEngine = void 0;
|
|
4
4
|
const matcher_1 = require("./matcher");
|
|
5
5
|
const resolver_1 = require("./resolver");
|
|
6
|
-
const cache_1 = require("./cache");
|
|
7
6
|
const learning_1 = require("./learning");
|
|
8
7
|
const logger_1 = require("./logger");
|
|
8
|
+
const cache_1 = require("./cache");
|
|
9
9
|
// ─── CapmanEngine ─────────────────────────────────────────────────────────────
|
|
10
10
|
class CapmanEngine {
|
|
11
11
|
constructor(options) {
|
|
@@ -16,14 +16,16 @@ class CapmanEngine {
|
|
|
16
16
|
this.auth = options.auth;
|
|
17
17
|
this.headers = options.headers;
|
|
18
18
|
this.threshold = options.threshold ?? 50;
|
|
19
|
-
// Cache — default
|
|
19
|
+
// Cache — default MemoryCache (no filesystem writes), or disabled with false
|
|
20
|
+
// Use FileCache or ComboCache explicitly for persistence across restarts
|
|
20
21
|
this.cache = options.cache === false
|
|
21
22
|
? null
|
|
22
|
-
: (options.cache ?? new cache_1.
|
|
23
|
-
// Learning — default
|
|
23
|
+
: (options.cache ?? new cache_1.MemoryCache());
|
|
24
|
+
// Learning — default MemoryLearningStore (no filesystem writes), or disabled with false
|
|
25
|
+
// Use FileLearningStore explicitly for persistence across restarts
|
|
24
26
|
this.learning = options.learning === false
|
|
25
27
|
? null
|
|
26
|
-
: (options.learning ?? new learning_1.
|
|
28
|
+
: (options.learning ?? new learning_1.MemoryLearningStore());
|
|
27
29
|
logger_1.logger.info(`CapmanEngine initialized — mode: ${this.mode}, cache: ${this.cache ? 'enabled' : 'disabled'}, learning: ${this.learning ? 'enabled' : 'disabled'}`);
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
@@ -39,68 +41,147 @@ class CapmanEngine {
|
|
|
39
41
|
*/
|
|
40
42
|
async ask(query, overrides = {}) {
|
|
41
43
|
const start = Date.now();
|
|
44
|
+
const steps = [];
|
|
45
|
+
let resolvedVia = 'keyword';
|
|
42
46
|
// ── Step 1: Check cache ──────────────────────────────────────────────────
|
|
47
|
+
const cacheStart = Date.now();
|
|
43
48
|
if (this.cache) {
|
|
44
|
-
const
|
|
49
|
+
const queryKey = (0, cache_1.normalizeQuery)(query);
|
|
50
|
+
const cached = await this.cache.get(queryKey);
|
|
45
51
|
if (cached) {
|
|
52
|
+
steps.push({ type: 'cache_check', status: 'hit', durationMs: Date.now() - cacheStart, detail: 'Served from cache' });
|
|
46
53
|
logger_1.logger.info(`Cache hit for: "${query}"`);
|
|
47
54
|
const resolution = await (0, resolver_1.resolve)(cached.result, cached.result.extractedParams, this.resolveOptions(overrides));
|
|
55
|
+
const trace = {
|
|
56
|
+
query,
|
|
57
|
+
candidates: cached.result.candidates ?? [],
|
|
58
|
+
reasoning: [`Served from cache (original: ${cached.result.reasoning})`],
|
|
59
|
+
steps,
|
|
60
|
+
resolvedVia: 'cache',
|
|
61
|
+
totalMs: Date.now() - start,
|
|
62
|
+
};
|
|
48
63
|
const result = {
|
|
49
64
|
match: cached.result,
|
|
50
65
|
resolution,
|
|
51
66
|
resolvedVia: 'cache',
|
|
52
67
|
durationMs: Date.now() - start,
|
|
68
|
+
trace,
|
|
53
69
|
};
|
|
54
70
|
await this.recordLearning(query, cached.result, 'cache');
|
|
55
71
|
return result;
|
|
56
72
|
}
|
|
73
|
+
steps.push({ type: 'cache_check', status: 'miss', durationMs: Date.now() - cacheStart });
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
steps.push({ type: 'cache_check', status: 'skip', durationMs: 0, detail: 'Cache disabled' });
|
|
57
77
|
}
|
|
58
78
|
// ── Step 2: Match ────────────────────────────────────────────────────────
|
|
59
79
|
let matchResult;
|
|
60
|
-
let resolvedVia = 'keyword';
|
|
61
80
|
switch (this.mode) {
|
|
62
81
|
case 'cheap': {
|
|
82
|
+
const t = Date.now();
|
|
63
83
|
matchResult = (0, matcher_1.match)(query, this.manifest);
|
|
84
|
+
steps.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t, detail: `confidence: ${matchResult.confidence}%` });
|
|
64
85
|
break;
|
|
65
86
|
}
|
|
66
87
|
case 'accurate': {
|
|
67
88
|
if (this.llm) {
|
|
89
|
+
const t = Date.now();
|
|
68
90
|
matchResult = await (0, matcher_1.matchWithLLM)(query, this.manifest, { llm: this.llm });
|
|
69
91
|
resolvedVia = 'llm';
|
|
92
|
+
steps.push({ type: 'llm_match', status: 'pass', durationMs: Date.now() - t, detail: `confidence: ${matchResult.confidence}%` });
|
|
70
93
|
}
|
|
71
94
|
else {
|
|
72
95
|
logger_1.logger.warn('accurate mode requires llm — falling back to keyword');
|
|
96
|
+
const t = Date.now();
|
|
73
97
|
matchResult = (0, matcher_1.match)(query, this.manifest);
|
|
98
|
+
steps.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t, detail: 'llm not provided, used keyword' });
|
|
74
99
|
}
|
|
75
100
|
break;
|
|
76
101
|
}
|
|
77
102
|
case 'balanced':
|
|
78
103
|
default: {
|
|
104
|
+
const t1 = Date.now();
|
|
79
105
|
const keywordResult = (0, matcher_1.match)(query, this.manifest);
|
|
106
|
+
steps.push({ type: 'keyword_match', status: 'pass', durationMs: Date.now() - t1, detail: `confidence: ${keywordResult.confidence}%` });
|
|
80
107
|
if (keywordResult.confidence >= this.threshold || !this.llm) {
|
|
81
108
|
matchResult = keywordResult;
|
|
82
109
|
}
|
|
83
110
|
else {
|
|
84
111
|
logger_1.logger.info(`Low confidence (${keywordResult.confidence}%) — escalating to LLM`);
|
|
112
|
+
const t2 = Date.now();
|
|
85
113
|
matchResult = await (0, matcher_1.matchWithLLM)(query, this.manifest, { llm: this.llm });
|
|
86
114
|
resolvedVia = 'llm';
|
|
115
|
+
steps.push({ type: 'llm_match', status: 'pass', durationMs: Date.now() - t2, detail: `confidence: ${matchResult.confidence}%` });
|
|
87
116
|
}
|
|
88
117
|
break;
|
|
89
118
|
}
|
|
90
119
|
}
|
|
91
|
-
// ── Step 3:
|
|
120
|
+
// ── Step 3: Privacy check ────────────────────────────────────────────────
|
|
121
|
+
if (matchResult.capability) {
|
|
122
|
+
const privacyLevel = matchResult.capability.privacy.level;
|
|
123
|
+
steps.push({
|
|
124
|
+
type: 'privacy_check',
|
|
125
|
+
status: 'pass',
|
|
126
|
+
durationMs: 0,
|
|
127
|
+
detail: `level: ${privacyLevel}`,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
// ── Step 4: Cache the match result ───────────────────────────────────────
|
|
92
131
|
if (this.cache && matchResult.capability) {
|
|
93
|
-
|
|
132
|
+
const queryKey = (0, cache_1.normalizeQuery)(query);
|
|
133
|
+
await this.cache.set(queryKey, matchResult);
|
|
94
134
|
}
|
|
95
|
-
// ── Step
|
|
135
|
+
// ── Step 5: Resolve ──────────────────────────────────────────────────────
|
|
136
|
+
const resolveStart = Date.now();
|
|
96
137
|
const resolution = await (0, resolver_1.resolve)(matchResult, matchResult.extractedParams, this.resolveOptions(overrides));
|
|
97
|
-
|
|
138
|
+
steps.push({
|
|
139
|
+
type: 'resolve',
|
|
140
|
+
status: resolution.success ? 'pass' : 'fail',
|
|
141
|
+
durationMs: Date.now() - resolveStart,
|
|
142
|
+
detail: resolution.error ?? `via ${resolution.resolverType}`,
|
|
143
|
+
});
|
|
144
|
+
// ── Step 6: Build reasoning array ────────────────────────────────────────
|
|
145
|
+
const reasoning = [];
|
|
146
|
+
if (matchResult.candidates?.length) {
|
|
147
|
+
const winner = matchResult.candidates.find(c => c.matched);
|
|
148
|
+
const rejected = matchResult.candidates
|
|
149
|
+
.filter(c => !c.matched && c.score > 0)
|
|
150
|
+
.sort((a, b) => b.score - a.score)
|
|
151
|
+
.slice(0, 3);
|
|
152
|
+
if (winner) {
|
|
153
|
+
reasoning.push(`Matched "${winner.capabilityId}" with ${winner.score}% confidence`);
|
|
154
|
+
}
|
|
155
|
+
if (rejected.length) {
|
|
156
|
+
reasoning.push(`Rejected: ${rejected.map(r => `${r.capabilityId} (${r.score}%)`).join(', ')}`);
|
|
157
|
+
}
|
|
158
|
+
reasoning.push(`Resolved via: ${resolvedVia}`);
|
|
159
|
+
if (matchResult.extractedParams && Object.keys(matchResult.extractedParams).length) {
|
|
160
|
+
const params = Object.entries(matchResult.extractedParams)
|
|
161
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
162
|
+
.join(', ');
|
|
163
|
+
reasoning.push(`Extracted params: ${params}`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
reasoning.push(matchResult.reasoning);
|
|
168
|
+
}
|
|
169
|
+
// ── Step 7: Record learning ──────────────────────────────────────────────
|
|
98
170
|
await this.recordLearning(query, matchResult, resolvedVia);
|
|
171
|
+
const trace = {
|
|
172
|
+
query,
|
|
173
|
+
candidates: matchResult.candidates ?? [],
|
|
174
|
+
reasoning,
|
|
175
|
+
steps,
|
|
176
|
+
resolvedVia,
|
|
177
|
+
totalMs: Date.now() - start,
|
|
178
|
+
};
|
|
99
179
|
return {
|
|
100
180
|
match: matchResult,
|
|
101
181
|
resolution,
|
|
102
182
|
resolvedVia,
|
|
103
183
|
durationMs: Date.now() - start,
|
|
184
|
+
trace,
|
|
104
185
|
};
|
|
105
186
|
}
|
|
106
187
|
/**
|
package/dist/cjs/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":";;;AAKA,uCAA0E;AAC1E,yCAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/generator.js
CHANGED
|
@@ -49,7 +49,7 @@ function generate(config) {
|
|
|
49
49
|
version: version_1.VERSION,
|
|
50
50
|
app: config.app,
|
|
51
51
|
generatedAt: new Date().toISOString(),
|
|
52
|
-
capabilities: config.capabilities,
|
|
52
|
+
capabilities: config.capabilities.map(cap => ({ ...cap, params: [...cap.params] })),
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
function loadConfig(configPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,4BAOC;AAED,gCAsDC;AAED,sCAIC;AAED,oCAgBC;AAED,4BA4BC;AACD,sDAoFC;AAjND,uCAAmC;AACnC,uCAAwB;AACxB,2CAA4B;AAE5B,qCAA2D;AAC3D,qCAAiC;AAEjC,SAAgB,QAAQ,CAAC,MAAoB;IAC3C,OAAO;QACL,OAAO,EAAE,iBAAO;QAChB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,YAAY,EAAE,MAAM,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/generator.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
export { setLogLevel } from './logger';
|
|
2
2
|
export type { LogLevel } from './logger';
|
|
3
|
-
|
|
3
|
+
import type { Manifest, MatchResult, ResolveResult } from './types';
|
|
4
|
+
import type { LLMMatcherOptions } from './matcher';
|
|
5
|
+
import type { ResolveOptions } from './resolver';
|
|
6
|
+
export type { Capability, CapabilityParam, CapmanConfig, Manifest, MatchResult, ExecutionTrace, TraceStep, MatchCandidate, ResolveResult, ApiCallResult, ValidationResult, Resolver, ApiResolver, NavResolver, HybridResolver, PrivacyScope, ResolverType, HttpMethod, } from './types';
|
|
4
7
|
export { generate, loadConfig, writeManifest, readManifest, validate, generateStarterConfig, } from './generator';
|
|
5
8
|
export { match, matchWithLLM, } from './matcher';
|
|
6
9
|
export type { LLMMatcherOptions } from './matcher';
|
|
7
10
|
export { resolve } from './resolver';
|
|
8
11
|
export type { ResolveOptions, AuthContext } from './resolver';
|
|
9
|
-
import type { Manifest, MatchResult, ResolveResult } from './types';
|
|
10
|
-
import type { LLMMatcherOptions } from './matcher';
|
|
11
|
-
import type { ResolveOptions } from './resolver';
|
|
12
12
|
export type MatchMode = 'cheap' | 'balanced' | 'accurate';
|
|
13
13
|
export { CapmanEngine } from './engine';
|
|
14
14
|
export type { EngineOptions, EngineResult } from './engine';
|
|
@@ -29,17 +29,24 @@ export interface AskOptions extends ResolveOptions {
|
|
|
29
29
|
*/
|
|
30
30
|
mode?: MatchMode;
|
|
31
31
|
}
|
|
32
|
+
export interface AskOptions extends ResolveOptions {
|
|
33
|
+
llm?: LLMMatcherOptions['llm'];
|
|
34
|
+
mode?: MatchMode;
|
|
35
|
+
}
|
|
32
36
|
export interface AskResult {
|
|
33
37
|
match: MatchResult;
|
|
34
38
|
resolution: ResolveResult;
|
|
35
39
|
}
|
|
36
40
|
/**
|
|
37
41
|
* One-shot convenience: match + resolve in a single call.
|
|
42
|
+
* Delegates to CapmanEngine internally.
|
|
38
43
|
*
|
|
39
44
|
* @example
|
|
40
45
|
* const result = await ask("show me the dashboard", manifest, {
|
|
41
46
|
* baseUrl: 'https://api.your-app.com',
|
|
42
47
|
* })
|
|
48
|
+
*
|
|
49
|
+
* @deprecated For full features including trace and caching, use CapmanEngine directly.
|
|
43
50
|
*/
|
|
44
51
|
export declare function ask(query: string, manifest: Manifest, options?: AskOptions): Promise<AskResult>;
|
|
45
52
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AAIxC,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,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,GACX,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,GACb,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;AAK7D,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAA;AAGzD,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,MAAM,SAAS,CAAA;AAC5D,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,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,GAAG,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC9B;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,GAAG,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,aAAa,CAAA;CAC1B;AAED;;;;;;;;;;GAUG;AAEH,wBAAsB,GAAG,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,SAAS,CAAC,CAgBpB"}
|