capman 0.4.4 → 0.5.0

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 (44) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/CODEBASE.md +94 -156
  3. package/CONTRIBUTING.md +1 -1
  4. package/README.md +23 -0
  5. package/bin/lib/cmd-generate.js +20 -3
  6. package/dist/cjs/cache.d.ts +2 -0
  7. package/dist/cjs/cache.d.ts.map +1 -1
  8. package/dist/cjs/cache.js +16 -3
  9. package/dist/cjs/cache.js.map +1 -1
  10. package/dist/cjs/engine.d.ts +36 -0
  11. package/dist/cjs/engine.d.ts.map +1 -1
  12. package/dist/cjs/engine.js +123 -9
  13. package/dist/cjs/engine.js.map +1 -1
  14. package/dist/cjs/index.d.ts +1 -1
  15. package/dist/cjs/index.d.ts.map +1 -1
  16. package/dist/cjs/index.js +2 -1
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/learning.d.ts +14 -1
  19. package/dist/cjs/learning.d.ts.map +1 -1
  20. package/dist/cjs/learning.js +92 -8
  21. package/dist/cjs/learning.js.map +1 -1
  22. package/dist/cjs/matcher.d.ts +14 -1
  23. package/dist/cjs/matcher.d.ts.map +1 -1
  24. package/dist/cjs/matcher.js +43 -19
  25. package/dist/cjs/matcher.js.map +1 -1
  26. package/dist/cjs/resolver.d.ts.map +1 -1
  27. package/dist/cjs/resolver.js +15 -4
  28. package/dist/cjs/resolver.js.map +1 -1
  29. package/dist/cjs/version.d.ts +1 -1
  30. package/dist/cjs/version.js +1 -1
  31. package/dist/esm/cache.d.ts +2 -0
  32. package/dist/esm/cache.js +16 -3
  33. package/dist/esm/engine.d.ts +36 -0
  34. package/dist/esm/engine.js +124 -10
  35. package/dist/esm/index.d.ts +1 -1
  36. package/dist/esm/index.js +1 -1
  37. package/dist/esm/learning.d.ts +14 -1
  38. package/dist/esm/learning.js +92 -8
  39. package/dist/esm/matcher.d.ts +14 -1
  40. package/dist/esm/matcher.js +39 -18
  41. package/dist/esm/resolver.js +15 -4
  42. package/dist/esm/version.d.ts +1 -1
  43. package/dist/esm/version.js +1 -1
  44. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,wCAEC;AASD,sCAYC;AAhDD,uCAAwB;AACxB,2CAA4B;AAE5B,qCAAiC;AAoBjC,iFAAiF;AAEjF,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AACxD,CAAC;AAED;;;;;GAKG;AAEH,SAAgB,aAAa,CAC3B,KAAa,EACb,YAA2B,EAC3B,eAA8C;IAE9C,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,CAAA;IAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;SAC7B,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;SAC5B,IAAI,CAAC,GAAG,CAAC,CAAA;IACZ,OAAO,OAAO,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;AAC/D,CAAC;AAED,iFAAiF;AAEjF,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B,MAAa,WAAW;IAAxB;QACU,UAAK,GAAG,IAAI,GAAG,EAAsB,CAAA;IA6B/C,CAAC;IA3BC,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,EAAE,CAAA;YACZ,eAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAA;YAC5C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,MAAmB;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YAC7C,IAAI,MAAM,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YACnD,eAAM,CAAC,KAAK,CAAC,wCAAwC,gBAAgB,WAAW,CAAC,CAAA;QACnF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK,EAAE,GAAG;YACV,MAAM;YACN,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAClC,IAAI,EAAE,CAAC;SACR,CAAC,CAAA;QACF,eAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,KAAK,KAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,KAAsB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA,CAAC,CAAC;CACzD;AA9BD,kCA8BC;AAED,iFAAiF;AAEjF,MAAa,SAAS;IAKpB,YAAY,QAAQ,GAAG,oBAAoB;QAHnC,UAAK,GAA4B,IAAI,GAAG,EAAE,CAAA;QAC1C,WAAM,GAAG,KAAK,CAAA;QAGpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;QACrD,eAAM,CAAC,IAAI,CAAC,uCAAuC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IACrE,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAM,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC5C,eAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,CAAA;YAC/D,CAAC;iBAAM,CAAC;gBACN,eAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,QAAQ,+CAA+C,CAAC,CAAA;YAC5F,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACvC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACjD,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CACxD,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,eAAM,CAAC,IAAI,CAAC,gCAAgC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,EAAE,CAAA;YACZ,eAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAA;YAC1C,OAAO,KAAK,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,MAAmB;QACxC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAClB,KAAK,EAAE,GAAG;YACV,MAAM;YACN,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAClC,IAAI,EAAE,CAAC;SACR,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,eAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QAClB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;CACF;AAxED,8BAwEC;AAED,iFAAiF;AAEjF,MAAa,UAAU;IAIrB,YAAY,QAAQ,GAAG,oBAAoB;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,EAAE,CAAA;QAC/B,IAAI,CAAC,IAAI,GAAK,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAA;QACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC1C,eAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,GAAG,CAAC,CAAA;YAClD,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,MAAmB;QACxC,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;SAC3B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;SAClB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;IACzB,CAAC;CACF;AAtCD,gCAsCC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,25 @@ import type { ResolveOptions, AuthContext } from './resolver';
4
4
  import type { CacheStore } from './cache';
5
5
  import type { LearningStore } from './learning';
6
6
  import type { MatchMode } from './index';
7
+ /**
8
+ * Options for constructing a CapmanEngine instance.
9
+ *
10
+ * ⚠️ CONCURRENCY: CapmanEngine is not safe for sharing across concurrent
11
+ * async request handlers. The LLM rate limiter, circuit breaker, and
12
+ * learning index cache are all instance-level mutable state. In an
13
+ * Express/Fastify/etc. server, either:
14
+ * (a) Create one engine per request — safest, no shared state
15
+ * (b) Use a single instance only with cheap mode (no LLM calls)
16
+ * (c) Add an external mutex around LLM calls if sharing is required
17
+ *
18
+ * @example
19
+ * // Safe — per-request engine
20
+ * app.post('/ask', async (req, res) => {
21
+ * const engine = new CapmanEngine({ manifest, llm, mode: 'balanced' })
22
+ * const result = await engine.ask(req.body.query)
23
+ * res.json(result)
24
+ * })
25
+ */
7
26
  export interface EngineOptions {
8
27
  /** The capability manifest to use */
9
28
  manifest: Manifest;
@@ -113,6 +132,12 @@ export declare class CapmanEngine {
113
132
  * Shows matched capability, all candidate scores with reasoning,
114
133
  * and what action would be taken.
115
134
  *
135
+ * Note: explain() does not write to cache or learning store.
136
+ * However, if mode is 'balanced' or 'accurate' and an LLM call is made,
137
+ * it consumes LLM quota and affects the cooldown/rate limit state
138
+ * shared with ask(). This is by design — explain() is not free
139
+ * when LLM matching is involved.
140
+ *
116
141
  * @example
117
142
  * const explanation = await engine.explain('track order 1234')
118
143
  * console.log(explanation.matched.reasoning)
@@ -133,6 +158,17 @@ export declare class CapmanEngine {
133
158
  * Records a failed LLM call — may open the circuit breaker.
134
159
  */
135
160
  private recordLLMFailure;
161
+ /**
162
+ * Applies learning boost to a MatchResult and returns the updated result.
163
+ * Shared by ask() and explain() to avoid logic divergence.
164
+ */
165
+ private applyBoostToMatchResult;
166
+ /**
167
+ * Applies learning boost to match candidates based on historical usage.
168
+ * Capabilities that have previously matched similar keywords get a small
169
+ * score boost — capped at +15 to avoid overriding strong keyword matches.
170
+ */
171
+ private applyLearningBoost;
136
172
  private resolveOptions;
137
173
  private recordLearning;
138
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const resolver_1 = require("./resolver");
6
6
  const learning_1 = require("./learning");
7
7
  const logger_1 = require("./logger");
8
8
  const cache_1 = require("./cache");
9
+ const version_1 = require("./version");
9
10
  // ─── CapmanEngine ─────────────────────────────────────────────────────────────
10
11
  class CapmanEngine {
11
12
  constructor(options) {
@@ -37,6 +38,16 @@ class CapmanEngine {
37
38
  ? null
38
39
  : (options.learning ?? new learning_1.MemoryLearningStore());
39
40
  logger_1.logger.info(`CapmanEngine initialized — mode: ${this.mode}, cache: ${this.cache ? 'enabled' : 'disabled'}, learning: ${this.learning ? 'enabled' : 'disabled'}`);
41
+ // ── Manifest version compatibility check ─────────────────────────────────
42
+ const manifestMajorMinor = options.manifest.version?.split('.').slice(0, 2).join('.');
43
+ const engineMajorMinor = version_1.VERSION.split('.').slice(0, 2).join('.');
44
+ if (manifestMajorMinor && manifestMajorMinor !== engineMajorMinor) {
45
+ // Use console.warn directly — must be visible regardless of logger level
46
+ // Default log level is 'silent' so logger.warn would never be seen
47
+ console.warn(`[capman] Manifest version "${options.manifest.version}" was generated with a ` +
48
+ `different engine version than "${version_1.VERSION}". If you experience matching issues, ` +
49
+ `regenerate with: npx capman generate`);
50
+ }
40
51
  }
41
52
  /**
42
53
  * Ask the engine a natural language query.
@@ -112,7 +123,9 @@ class CapmanEngine {
112
123
  steps.push({ type: 'llm_match', status: 'pass', durationMs: Date.now() - t, detail: `confidence: ${matchResult.confidence}%` });
113
124
  }
114
125
  catch (err) {
115
- this.recordLLMFailure();
126
+ const isParseError = String(err).startsWith('LLM_PARSE_ERROR');
127
+ if (!isParseError)
128
+ this.recordLLMFailure();
116
129
  logger_1.logger.warn(`LLM call failed — falling back to keyword: ${err}`);
117
130
  const t2 = Date.now();
118
131
  matchResult = (0, matcher_1.match)(query, this.manifest);
@@ -154,7 +167,9 @@ class CapmanEngine {
154
167
  steps.push({ type: 'llm_match', status: 'pass', durationMs: Date.now() - t2, detail: `confidence: ${matchResult.confidence}%` });
155
168
  }
156
169
  catch (err) {
157
- this.recordLLMFailure();
170
+ const isParseError = String(err).startsWith('LLM_PARSE_ERROR');
171
+ if (!isParseError)
172
+ this.recordLLMFailure();
158
173
  logger_1.logger.warn(`LLM call failed — falling back to keyword: ${err}`);
159
174
  steps.push({ type: 'llm_match', status: 'fail', durationMs: Date.now() - t2, detail: String(err) });
160
175
  matchResult = keywordResult;
@@ -164,6 +179,9 @@ class CapmanEngine {
164
179
  break;
165
180
  }
166
181
  }
182
+ const preBoostMatchResult = matchResult; // kept for learning recording only — prevents feedback loop
183
+ // ── Step 2.5: Apply learning boost ───────────────────────────────────────
184
+ matchResult = await this.applyBoostToMatchResult(query, matchResult);
167
185
  // ── Step 3: Privacy check ────────────────────────────────────────────────
168
186
  if (matchResult.capability) {
169
187
  const privacyLevel = matchResult.capability.privacy.level;
@@ -174,8 +192,11 @@ class CapmanEngine {
174
192
  detail: `level: ${privacyLevel}`,
175
193
  });
176
194
  }
177
- // ── Step 4: Cache the match result ───────────────────────────────────────
178
- if (this.cache && matchResult.capability) {
195
+ // ── Step 4: Cache the match result (public capabilities only) ─────────────
196
+ // Non-public capabilities are never cached — prevents auth bypass where
197
+ // User A's cached match is served to User B without privacy enforcement.
198
+ if (this.cache && matchResult.capability
199
+ && matchResult.capability.privacy.level === 'public') {
179
200
  const queryKey = (0, cache_1.normalizeQuery)(query);
180
201
  await this.cache.set(queryKey, matchResult);
181
202
  }
@@ -214,7 +235,10 @@ class CapmanEngine {
214
235
  reasoning.push(matchResult.reasoning);
215
236
  }
216
237
  // ── Step 7: Record learning ──────────────────────────────────────────────
217
- await this.recordLearning(query, matchResult, resolvedVia);
238
+ // Record the pre-boost match result — not the boosted one.
239
+ // Recording the boosted winner would reinforce it further on every call,
240
+ // creating a feedback loop that permanently displaces keyword matches.
241
+ await this.recordLearning(query, preBoostMatchResult, resolvedVia);
218
242
  const trace = {
219
243
  query,
220
244
  candidates: matchResult.candidates,
@@ -260,6 +284,12 @@ class CapmanEngine {
260
284
  * Shows matched capability, all candidate scores with reasoning,
261
285
  * and what action would be taken.
262
286
  *
287
+ * Note: explain() does not write to cache or learning store.
288
+ * However, if mode is 'balanced' or 'accurate' and an LLM call is made,
289
+ * it consumes LLM quota and affects the cooldown/rate limit state
290
+ * shared with ask(). This is by design — explain() is not free
291
+ * when LLM matching is involved.
292
+ *
263
293
  * @example
264
294
  * const explanation = await engine.explain('track order 1234')
265
295
  * console.log(explanation.matched.reasoning)
@@ -285,8 +315,10 @@ class CapmanEngine {
285
315
  resolvedVia = 'llm';
286
316
  }
287
317
  catch (err) {
288
- this.recordLLMFailure();
289
- logger_1.logger.warn(`explain(): LLM call failed — falling back to keyword: ${err}`);
318
+ const isParseError = String(err).startsWith('LLM_PARSE_ERROR');
319
+ if (!isParseError)
320
+ this.recordLLMFailure();
321
+ logger_1.logger.warn(`LLM call failed — falling back to keyword: ${err}`);
290
322
  matchResult = (0, matcher_1.match)(query, this.manifest);
291
323
  }
292
324
  }
@@ -314,8 +346,10 @@ class CapmanEngine {
314
346
  resolvedVia = 'llm';
315
347
  }
316
348
  catch (err) {
317
- this.recordLLMFailure();
318
- logger_1.logger.warn(`explain(): LLM call failed — falling back to keyword: ${err}`);
349
+ const isParseError = String(err).startsWith('LLM_PARSE_ERROR');
350
+ if (!isParseError)
351
+ this.recordLLMFailure();
352
+ logger_1.logger.warn(`LLM call failed — falling back to keyword: ${err}`);
319
353
  matchResult = keywordResult;
320
354
  }
321
355
  }
@@ -325,6 +359,8 @@ class CapmanEngine {
325
359
  // cheap mode or no llm — keyword only
326
360
  matchResult = (0, matcher_1.match)(query, this.manifest);
327
361
  }
362
+ // ── Apply learning boost (same as ask()) ─────────────────────────────────
363
+ matchResult = await this.applyBoostToMatchResult(query, matchResult);
328
364
  // ── Build candidate explanations ─────────────────────────────────────────
329
365
  const candidates = matchResult.candidates
330
366
  .sort((a, b) => b.score - a.score)
@@ -508,6 +544,84 @@ class CapmanEngine {
508
544
  logger_1.logger.warn(`LLM circuit breaker opened after ${this.llmConsecutiveFails} consecutive failures — pausing for ${this.llmCircuitBreakerResetMs / 1000}s`);
509
545
  }
510
546
  }
547
+ /**
548
+ * Applies learning boost to a MatchResult and returns the updated result.
549
+ * Shared by ask() and explain() to avoid logic divergence.
550
+ */
551
+ async applyBoostToMatchResult(query, matchResult) {
552
+ const hasKeywordSignal = matchResult.candidates.some(c => c.score > 0);
553
+ if (!hasKeywordSignal || matchResult.candidates.length === 0 || !this.learning || this.mode === 'cheap') {
554
+ return matchResult;
555
+ }
556
+ const boosted = await this.applyLearningBoost(query, matchResult.candidates);
557
+ if (boosted.length === 0)
558
+ return matchResult;
559
+ const newWinner = boosted.reduce((a, b) => {
560
+ if (b.score > a.score)
561
+ return b;
562
+ if (b.score === a.score && b.matched)
563
+ return b; // original winner wins ties
564
+ return a;
565
+ });
566
+ const oldWinner = matchResult.candidates.find(c => c.matched);
567
+ if (newWinner.capabilityId !== oldWinner?.capabilityId && newWinner.score >= this.threshold) {
568
+ const newCap = this.manifest.capabilities.find(c => c.id === newWinner.capabilityId) ?? null;
569
+ const newParams = newCap ? (0, matcher_1.extractParams)(query, newCap) : {};
570
+ logger_1.logger.info(`Learning boost changed winner: "${oldWinner?.capabilityId ?? 'none'}" → "${newWinner.capabilityId}"`);
571
+ return {
572
+ ...matchResult,
573
+ capability: newCap,
574
+ confidence: newWinner.score,
575
+ intent: newCap ? (0, matcher_1.resolverToIntent)(newCap) : 'out_of_scope',
576
+ extractedParams: newParams,
577
+ candidates: boosted.map(c => ({ ...c, matched: c.capabilityId === newWinner.capabilityId })),
578
+ reasoning: `Matched "${newWinner.capabilityId}" via learning boost (score: ${newWinner.score})`,
579
+ };
580
+ }
581
+ return {
582
+ ...matchResult,
583
+ confidence: newWinner.score,
584
+ candidates: boosted.map(c => ({ ...c, matched: c.capabilityId === (oldWinner?.capabilityId ?? '') })),
585
+ };
586
+ }
587
+ /**
588
+ * Applies learning boost to match candidates based on historical usage.
589
+ * Capabilities that have previously matched similar keywords get a small
590
+ * score boost — capped at +15 to avoid overriding strong keyword matches.
591
+ */
592
+ async applyLearningBoost(query, candidates) {
593
+ if (!this.learning)
594
+ return candidates;
595
+ // Use cached stats — rebuilt only when new entries recorded
596
+ const stats = await this.learning.getStats();
597
+ if (!stats || Object.keys(stats.index).length === 0)
598
+ return candidates;
599
+ const qWords = query.toLowerCase().split(/\W+/).filter(w => w.length > 2 && !matcher_1.STOPWORDS.has(w));
600
+ if (qWords.length === 0)
601
+ return candidates;
602
+ return candidates.map(candidate => {
603
+ let boost = 0;
604
+ for (const word of qWords) {
605
+ const wordIndex = stats.index[word];
606
+ if (!wordIndex)
607
+ continue;
608
+ const hits = wordIndex[candidate.capabilityId] ?? 0;
609
+ if (hits > 0) {
610
+ // Logarithmic boost — diminishing returns after first few hits
611
+ boost += Math.min(5, Math.log2(hits + 1) * 2);
612
+ }
613
+ }
614
+ const cappedBoost = Math.min(15, Math.round(boost));
615
+ if (cappedBoost > 0) {
616
+ logger_1.logger.debug(`Learning boost: "${candidate.capabilityId}" +${cappedBoost} points ` +
617
+ `(was ${candidate.score}%)`);
618
+ }
619
+ return {
620
+ ...candidate,
621
+ score: Math.min(100, candidate.score + cappedBoost),
622
+ };
623
+ });
624
+ }
511
625
  // ── Private helpers ────────────────────────────────────────────────────────
512
626
  resolveOptions(overrides = {}) {
513
627
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export { setLogLevel } from './logger';
2
2
  export type { LogLevel } from './logger';
3
3
  export type { Capability, CapabilityParam, CapmanConfig, Manifest, MatchResult, ExecutionTrace, TraceStep, MatchCandidate, ResolveResult, ApiCallResult, ValidationResult, Resolver, ApiResolver, NavResolver, HybridResolver, PrivacyScope, ResolverType, HttpMethod, ExplainResult, ExplainCandidate, } from './types';
4
4
  export { generate, loadConfig, writeManifest, readManifest, validate, generateStarterConfig, } from './generator';
5
- export { match, matchWithLLM, } from './matcher';
5
+ export { match, matchWithLLM, extractParams, } from './matcher';
6
6
  export type { LLMMatcherOptions } from './matcher';
7
7
  export { resolve } from './resolver';
8
8
  export type { ResolveOptions, AuthContext } from './resolver';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,YAAY,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,KAAK,EACL,YAAY,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;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG3D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC3F,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACnE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAK3C,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAA;AAEzD,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,GAAG,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC9B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,aAAa,CAAA;CAC1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,GAAG,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,SAAS,CAAC,CAgBpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,YAAY,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,qBAAqB,GACtB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,KAAK,EACL,YAAY,EACZ,aAAa,GACd,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAG3D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC3F,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGrD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACnE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAK3C,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAA;AAEzD,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,GAAG,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAC9B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,UAAU,EAAE,aAAa,CAAA;CAC1B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,GAAG,CACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,UAAe,GACvB,OAAO,CAAC,SAAS,CAAC,CAgBpB"}
package/dist/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseOpenAPI = exports.MemoryLearningStore = exports.FileLearningStore = exports.normalizeQuery = exports.buildCacheKey = exports.ComboCache = exports.FileCache = exports.MemoryCache = exports.CapmanEngine = exports.resolve = exports.matchWithLLM = exports.match = exports.generateStarterConfig = exports.validate = exports.readManifest = exports.writeManifest = exports.loadConfig = exports.generate = exports.setLogLevel = void 0;
3
+ exports.parseOpenAPI = exports.MemoryLearningStore = exports.FileLearningStore = exports.normalizeQuery = exports.buildCacheKey = exports.ComboCache = exports.FileCache = exports.MemoryCache = exports.CapmanEngine = exports.resolve = exports.extractParams = exports.matchWithLLM = exports.match = exports.generateStarterConfig = exports.validate = exports.readManifest = exports.writeManifest = exports.loadConfig = exports.generate = exports.setLogLevel = void 0;
4
4
  exports.ask = ask;
5
5
  var logger_1 = require("./logger");
6
6
  Object.defineProperty(exports, "setLogLevel", { enumerable: true, get: function () { return logger_1.setLogLevel; } });
@@ -14,6 +14,7 @@ Object.defineProperty(exports, "generateStarterConfig", { enumerable: true, get:
14
14
  var matcher_1 = require("./matcher");
15
15
  Object.defineProperty(exports, "match", { enumerable: true, get: function () { return matcher_1.match; } });
16
16
  Object.defineProperty(exports, "matchWithLLM", { enumerable: true, get: function () { return matcher_1.matchWithLLM; } });
17
+ Object.defineProperty(exports, "extractParams", { enumerable: true, get: function () { return matcher_1.extractParams; } });
17
18
  var resolver_1 = require("./resolver");
18
19
  Object.defineProperty(exports, "resolve", { enumerable: true, get: function () { return resolver_1.resolve; } });
19
20
  // ─── Engine (recommended API) ─────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAgGA,kBAoBC;AApHD,mCAAsC;AAA7B,qGAAA,WAAW,OAAA;AA0BpB,yCAOoB;AANlB,qGAAA,QAAQ,OAAA;AACR,uGAAA,UAAU,OAAA;AACV,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,qGAAA,QAAQ,OAAA;AACR,kHAAA,qBAAqB,OAAA;AAGvB,qCAGkB;AAFhB,gGAAA,KAAK,OAAA;AACL,uGAAA,YAAY,OAAA;AAId,uCAAoC;AAA3B,mGAAA,OAAO,OAAA;AAGhB,iFAAiF;AACjF,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AAGrB,iFAAiF;AACjF,iCAA2F;AAAlF,oGAAA,WAAW,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,uGAAA,cAAc,OAAA;AAG1E,iFAAiF;AACjF,uCAAmE;AAA1D,6GAAA,iBAAiB,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAG/C,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AAGrB,iFAAiF;AAEjF,qCAAuC;AAwBvC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,GAAG,CACvB,KAAa,EACb,QAAkB,EAClB,UAAsB,EAAE;IAExB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAA;IAEhD,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC;QAC9B,QAAQ;QACR,GAAG;QACH,IAAI;QACJ,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,OAAO,EAAE,cAAc,CAAC,OAAO;KAChC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACtD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAA;AAC/D,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAiGA,kBAoBC;AArHD,mCAAsC;AAA7B,qGAAA,WAAW,OAAA;AA0BpB,yCAOoB;AANlB,qGAAA,QAAQ,OAAA;AACR,uGAAA,UAAU,OAAA;AACV,0GAAA,aAAa,OAAA;AACb,yGAAA,YAAY,OAAA;AACZ,qGAAA,QAAQ,OAAA;AACR,kHAAA,qBAAqB,OAAA;AAGvB,qCAIkB;AAHhB,gGAAA,KAAK,OAAA;AACL,uGAAA,YAAY,OAAA;AACZ,wGAAA,aAAa,OAAA;AAIf,uCAAoC;AAA3B,mGAAA,OAAO,OAAA;AAGhB,iFAAiF;AACjF,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AAGrB,iFAAiF;AACjF,iCAA2F;AAAlF,oGAAA,WAAW,OAAA;AAAE,kGAAA,SAAS,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,uGAAA,cAAc,OAAA;AAG1E,iFAAiF;AACjF,uCAAmE;AAA1D,6GAAA,iBAAiB,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAG/C,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AAGrB,iFAAiF;AAEjF,qCAAuC;AAwBvC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,GAAG,CACvB,KAAa,EACb,QAAkB,EAClB,UAAsB,EAAE;IAExB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAA;IAEhD,MAAM,MAAM,GAAG,IAAI,qBAAY,CAAC;QAC9B,QAAQ;QACR,GAAG;QACH,IAAI;QACJ,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,cAAc,CAAC,OAAO;QAC/B,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,OAAO,EAAE,cAAc,CAAC,OAAO;KAChC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;IACtD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAA;AAC/D,CAAC"}
@@ -26,17 +26,25 @@ export interface LearningStore {
26
26
  id: string;
27
27
  hits: number;
28
28
  }>>;
29
- clear(): Promise<void>;
29
+ /** Returns the live keyword index without rebuilding — O(1) */
30
+ getIndex(): Promise<Record<string, Record<string, number>>>;
30
31
  }
31
32
  export declare class FileLearningStore implements LearningStore {
32
33
  private filePath;
33
34
  private entries;
34
35
  private loaded;
36
+ private saveQueue;
37
+ private index;
38
+ private statsCounter;
35
39
  constructor(filePath?: string);
40
+ private updateIndex;
41
+ private rebuildIndex;
36
42
  private load;
37
43
  private save;
44
+ private _doSave;
38
45
  record(entry: LearningEntry): Promise<void>;
39
46
  getStats(): Promise<KeywordStats>;
47
+ getIndex(): Promise<Record<string, Record<string, number>>>;
40
48
  getTopCapabilities(limit?: number): Promise<Array<{
41
49
  id: string;
42
50
  hits: number;
@@ -45,8 +53,13 @@ export declare class FileLearningStore implements LearningStore {
45
53
  }
46
54
  export declare class MemoryLearningStore implements LearningStore {
47
55
  private entries;
56
+ private index;
57
+ private statsCounter;
48
58
  record(entry: LearningEntry): Promise<void>;
49
59
  getStats(): Promise<KeywordStats>;
60
+ getIndex(): Promise<Record<string, Record<string, number>>>;
61
+ private updateIndex;
62
+ private rebuildIndex;
50
63
  getTopCapabilities(limit?: number): Promise<Array<{
51
64
  id: string;
52
65
  hits: number;
@@ -1 +1 @@
1
- {"version":3,"file":"learning.d.ts","sourceRoot":"","sources":["../../src/learning.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IAC9C,WAAW,EAAE,SAAS,GAAG,KAAK,GAAG,OAAO,CAAA;IACxC,SAAS,EAAE,MAAM,CAAA;CAClB;AAID,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC7C,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAA;IACpB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAA;CACnB;AAID,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IACjC,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAChF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAmDD,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,MAAM,CAAQ;gBAEV,QAAQ,SAA0B;YAKhC,IAAI;YAiBJ,IAAI;IAgBZ,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAKjC,kBAAkB,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAK3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B;AAID,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,OAAO,CAAsB;IAE/B,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3C,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAIjC,kBAAkB,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAI3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
1
+ {"version":3,"file":"learning.d.ts","sourceRoot":"","sources":["../../src/learning.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;IAC9C,WAAW,EAAE,SAAS,GAAG,KAAK,GAAG,OAAO,CAAA;IACxC,SAAS,EAAE,MAAM,CAAA;CAClB;AAID,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC7C,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAA;IACpB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAA;CACnB;AAID,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IACjC,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAChF,+DAA+D;IAC/D,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;CAC5D;AAmDD,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,SAAS,CAAqC;IAGtD,OAAO,CAAC,KAAK,CAAoD;IACjE,OAAO,CAAC,YAAY,CAEnB;gBAEW,QAAQ,SAA0B;IAK9C,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,YAAY;YAQN,IAAI;IAkBlB,OAAO,CAAC,IAAI;YAKE,OAAO;IAgBf,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAKjC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAK3D,kBAAkB,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAK3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAM7B;AAIC,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,OAAO,CAAkD;IACjE,OAAO,CAAC,KAAK,CAAoD;IACjE,OAAO,CAAC,YAAY,CAEnB;IAEK,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3C,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAIjC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAIjE,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,YAAY;IAQhB,kBAAkB,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAI3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}