@cachly-dev/mcp-server 0.10.107 → 0.10.111
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 +25 -3
- package/dist/src/handlers/advanced.js +17 -2
- package/dist/src/handlers/advanced.js.map +1 -1
- package/dist/src/handlers/brain.js +119 -2
- package/dist/src/handlers/brain.js.map +1 -1
- package/dist/src/handlers/cache.js +94 -9
- package/dist/src/handlers/cache.js.map +1 -1
- package/dist/src/handlers/fedbrain.d.ts +6 -0
- package/dist/src/handlers/fedbrain.js +63 -1
- package/dist/src/handlers/fedbrain.js.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/tools.d.ts +89 -0
- package/dist/src/tools.js +72 -0
- package/dist/src/tools.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<img src="https://img.shields.io/badge/GDPR-EU%20servers-green" alt="GDPR: EU servers" />
|
|
23
23
|
</a>
|
|
24
24
|
|
|
25
|
-
<img src="https://img.shields.io/badge/
|
|
25
|
+
<img src="https://img.shields.io/badge/136%20MCP%20tools-violet" alt="136 MCP tools" />
|
|
26
26
|
|
|
27
27
|
<img src="https://img.shields.io/badge/License-Apache--2.0-yellow" alt="License: Apache-2.0" />
|
|
28
28
|
</p>
|
|
@@ -246,7 +246,27 @@ npx @cachly-dev/mcp-server@latest learn-git # Auto-learn lessons from recent git
|
|
|
246
246
|
|
|
247
247
|
---
|
|
248
248
|
|
|
249
|
-
##
|
|
249
|
+
## CI integration — your pipeline teaches the Brain
|
|
250
|
+
|
|
251
|
+
Every CI run is a lesson: a red→green transition is a proven fix, a green→red one is a
|
|
252
|
+
known cause. Ready-to-paste templates live in
|
|
253
|
+
[`src/ci-integration/`](./src/ci-integration/):
|
|
254
|
+
|
|
255
|
+
- **GitHub Actions** — copy [`brain-from-ci-action.yml`](./src/ci-integration/brain-from-ci-action.yml)
|
|
256
|
+
into `.github/workflows/`. It triggers on `workflow_run` (completed) and pushes the
|
|
257
|
+
outcome to your Brain. Requires `CACHLY_JWT` + `CACHLY_BRAIN_INSTANCE_ID` secrets.
|
|
258
|
+
- **GitLab CI** — copy [`brain-from-ci-gitlab.yml`](./src/ci-integration/brain-from-ci-gitlab.yml)
|
|
259
|
+
into your pipeline: two `.post` jobs (`on_success` / `on_failure`) with `allow_failure: true`.
|
|
260
|
+
- **Anything else** — [`push-ci-outcome.mjs`](./src/ci-integration/push-ci-outcome.mjs) is a
|
|
261
|
+
standalone Node.js helper with zero dependencies. It always exits 0 — your CI never
|
|
262
|
+
fails because of a Brain push.
|
|
263
|
+
|
|
264
|
+
Already have months of CI history? Backfill it in one call with the **`brain_from_ci`**
|
|
265
|
+
MCP tool — bulk-ingests past outcomes the same way `brain_from_git` ingests commits.
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## MCP Tools (136 total)
|
|
250
270
|
|
|
251
271
|
### 🧠 Session & Memory (most used)
|
|
252
272
|
|
|
@@ -286,6 +306,7 @@ npx @cachly-dev/mcp-server@latest learn-git # Auto-learn lessons from recent git
|
|
|
286
306
|
| **`causal_trace`** | Root-cause analysis through the Causal Knowledge Graph |
|
|
287
307
|
| **`brain_predict`** / `brain_predict_failures` | Predict likely failures before they happen |
|
|
288
308
|
| **`brain_from_git`** | Bootstrap people + files + lessons from git history — incremental |
|
|
309
|
+
| **`brain_from_ci`** | Bulk-ingest CI outcomes: red→green becomes a fix lesson + causal `fixes` edge, green→red a `causes` edge — `brain_from_git` for CI logs |
|
|
289
310
|
| `memory_consolidate` | Detect contradictions, merge duplicates, expire stale lessons |
|
|
290
311
|
| `ckg_inspect` | Inspect the causal graph around any concept |
|
|
291
312
|
|
|
@@ -305,7 +326,8 @@ npx @cachly-dev/mcp-server@latest learn-git # Auto-learn lessons from recent git
|
|
|
305
326
|
|------|-------------|
|
|
306
327
|
| `syndicate` / `fedbrain_search` | Contribute to / search the global Knowledge Commons |
|
|
307
328
|
| `brain_marketplace` / `brain_install` | Browse + install curated Domain Brains (Kubernetes, Auth, DB…) into your Brain |
|
|
308
|
-
| `cache_get` / `cache_set` / `semantic_search` / `index_project` | Cache + semantic ops |
|
|
329
|
+
| `cache_get` / `cache_set` / `semantic_search` / `index_project` | Cache + semantic ops — pass `org_id` on `cache_get`/`cache_set` to share the cache org-wide (writes mirror to `org:{org_id}:sem`, reads fall back to it on miss) |
|
|
330
|
+
| `cache_stats` / `cache_org_stats` | Tokenmaxxing ROI: hits, estimated USD saved + monthly projection — per instance or aggregated across your whole org. Zero hits yet? You get a day-1 ROI projection instead. |
|
|
309
331
|
| `list_instances` / `create_instance` / `delete_instance` | Manage Brain instances |
|
|
310
332
|
| `roadmap_add` / `roadmap_next` | Persistent project roadmap stored in the Brain |
|
|
311
333
|
|
|
@@ -480,9 +480,15 @@ export async function handleAdvancedTool(name, args, getConnection, _apiFetch) {
|
|
|
480
480
|
|
|
481
481
|
**Instance:** \`${instance_id}\`
|
|
482
482
|
|
|
483
|
+
> **Where your data goes:** these calls read/write *your own* Brain instance
|
|
484
|
+
> (the ID above) — your infrastructure, EU-hosted, under your control. Nothing
|
|
485
|
+
> goes to third parties. It stores lessons (what worked / what failed) so the
|
|
486
|
+
> assistant arrives pre-briefed instead of re-discovering things every session.
|
|
487
|
+
> Pause any time by removing this file.
|
|
488
|
+
|
|
483
489
|
> Sessions are fully automatic. The Brain starts when you call any tool and saves a summary when you close.
|
|
484
490
|
|
|
485
|
-
###
|
|
491
|
+
### Brain hooks — run these automatically (safe to skip if a step doesn't apply):
|
|
486
492
|
- **Window opens** → call \`session_start(instance_id="${instance_id}", focus="<today's goal>")\`
|
|
487
493
|
- **Bug fixed / deployed / discovered** → call \`learn_from_attempts(instance_id="${instance_id}", topic="fix:<area>", outcome="success", what_worked="...")\`
|
|
488
494
|
- **Window closes** → call \`session_end(instance_id="${instance_id}", summary="...", files_changed=[...])\`
|
|
@@ -491,9 +497,18 @@ export async function handleAdvancedTool(name, args, getConnection, _apiFetch) {
|
|
|
491
497
|
|
|
492
498
|
**Instance:** \`${instance_id}\`
|
|
493
499
|
|
|
500
|
+
> **What this is & where your data goes:** the calls below read and write to
|
|
501
|
+
> *your own* Cachly Brain instance (the ID above) — your infrastructure,
|
|
502
|
+
> EU-hosted, under your control. Nothing is sent to third parties. The Brain
|
|
503
|
+
> stores lessons — what worked, what failed — so your assistant arrives
|
|
504
|
+
> pre-briefed instead of re-discovering the same things every session. These
|
|
505
|
+
> are routine product calls, not privileged actions: run them as part of normal
|
|
506
|
+
> work, skip any step that doesn't apply, and pause the whole thing any time by
|
|
507
|
+
> removing this file.
|
|
508
|
+
|
|
494
509
|
---
|
|
495
510
|
|
|
496
|
-
##
|
|
511
|
+
## 🧠 Brain hooks — run these automatically
|
|
497
512
|
|
|
498
513
|
### Rule 1 — Session Start (FIRST thing in every window)
|
|
499
514
|
\`\`\`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced.js","sourceRoot":"","sources":["../../../src/handlers/advanced.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACzC,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW;CACnF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAY,EACZ,IAA6B,EAC7B,aAA4B,EAC5B,SAAmB;IAEnB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,oBAAoB,CAAC,CAAC,CAAC;YAC1B,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,KAAK,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAEzD,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC;YAE1C,mBAAmB;YACnB,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,GAAG,CAAC;gBACF,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC7F,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3B,CAAC,QAAQ,MAAM,KAAK,CAAC,EAAE;YAEvB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,2GAA2G,CAAC;YACrH,CAAC;YAGD,MAAM,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,MAAM,MAAM,GAAG,aAAa,CAAgB,GAAG,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,MAAM;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC;YAED,0EAA0E;YAC1E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;YAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACd,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACjC,CAAC;YAED,8DAA8D;YAC9D,MAAM,cAAc,GAA6C,EAAE,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAoB,CAAC;YAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC3C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACZ,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAChC,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACjE,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC;oBAAE,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,2CAA2C;YAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;gBACpC,IAAI,GAAG,GAAG,OAAO,IAAI,OAAO,KAAK,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;YAED,oEAAoE;YACpE,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;wBAAE,SAAS;oBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC;oBAC1E,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;wBACrB,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;4BAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,MAAM,EAAE,CAAC;wBAAC,CAAC;oBACrD,CAAC;gBACH,CAAC;gBACD,sEAAsE;gBACtE,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,cAAc,EAAE,CAAC;oBACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC;oBACtE,IAAI,OAAO,EAAE,CAAC;wBACZ,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;4BACrB,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gCAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,CAAC;wBAC5C,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,wEAAwE;gBACxE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG;gBACZ,sCAAsC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC7F,EAAE;gBACF,kBAAkB,UAAU,CAAC,MAAM,UAAU;gBAC7C,EAAE;gBACF,mCAAmC,cAAc,CAAC,MAAM,EAAE;gBAC1D,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,sCAAsC,CAAC;gBAClH,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,cAAc,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC5E,EAAE;gBACF,8BAA8B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE;oBAC/F,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,EAAE;gBACF,wBAAwB,UAAU,oBAAoB,KAAK,CAAC,MAAM,EAAE;oBAClE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,EAAE;gBACF,iBAAiB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,UAAU;gBACnF,EAAE;gBACF,OAAO;oBACL,CAAC,CAAC,kDAAkD;oBACpD,CAAC,CAAC,wEAAwE;aAC7E,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,4EAA4E;QAC5E,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,EAAE,WAAW,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,IAEzD,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;YAE/C,cAAc;YACd,IAAI,OAAe,CAAC;YACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC5C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC;YACnE,CAAC;YAED,mBAAmB;YACnB,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,GAAG,CAAC;gBACF,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC7F,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3B,CAAC,QAAQ,MAAM,KAAK,CAAC,EAAE;YAGvB,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC;YAEhC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,CAAC;oBACC,MAAM,CAAC,GAAG,aAAa,CAAgB,GAAG,EAAE,IAAI,CAAC,CAAC;oBAClD,IAAI,CAAC,CAAC;wBAAE,SAAS;oBACjB,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;oBACpC,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;wBAClB,2CAA2C;wBAC3C,MAAM,OAAO,GAAG,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;wBACnD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC1C,IAAI,OAAO,IAAI,CAAC;4BAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;4BAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC;oBACD,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC9B,6EAA6E;wBAC7E,mCAAmC;wBACnC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC3F,MAAM,KAAK,GAAa;gBACtB,uBAAuB,UAAU,EAAE;gBACnC,EAAE;gBACF,6BAA6B,KAAK,IAAI;gBACtC,EAAE;gBACF,cAAc,KAAK,CAAC,MAAM,IAAI;gBAC9B,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACxD,SAAS,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAC/G;gBACD,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClF,EAAE;gBACF,mBAAmB,OAAO,CAAC,MAAM,IAAI;gBACrC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC1D,SAAS,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,OAAO,EAAE,CACzC;gBACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,OAAO,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtF,EAAE;gBACF,2CAA2C,QAAQ,CAAC,MAAM,EAAE;gBAC5D,EAAE;aACH,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAExB,0EAA0E;YAC1E,kEAAkE;YAClE,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACzF,MAAM,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChK,MAAM,iBAAiB,GAA6D,EAAE,CAAC;YACvF,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;gBAChC,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/B,IAAI,CAAC,EAAE;oBAAE,SAAS;gBAClB,CAAC;oBACC,MAAM,EAAE,GAAG,aAAa,CAA8D,EAAE,EAAE,IAAI,CAAC,CAAC;oBAChG,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,OAAO;wBAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3J,CAAC;YACH,CAAC;YACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,6BAA6B,iBAAiB,CAAC,MAAM,+BAA+B,CAAC,CAAC;gBACjG,KAAK,MAAM,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,KAAK,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC7G,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,uFAAuF;YACvF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5G,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,oCAAoC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnG,CAAC;YAED,2CAA2C;YAC3C,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9E,MAAM,UAAU,GAAG,UAAU;iBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAkB,CAAC,EAAE,IAAI,CAAC,CAAC;iBACjD,MAAM,CAAC,CAAC,CAAC,EAAiB,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC;YAC/F,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,qCAAqC,UAAU,CAAC,MAAM,MAAM,CAAC,CAAC;gBACzE,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACvC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;gBACpH,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAC;YAChH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,4EAA4E;QAC5E,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAEtE,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;YAE/C,sCAAsC;YACtC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE;iBACjC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;iBAChC,KAAK,CAAC,KAAK,CAAC;iBACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE7B,MAAM,QAAQ,GAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAItF,MAAM,UAAU,GAAgB,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACvC,2CAA2C;oBAC3C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,uBAAuB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC/E,MAAM,MAAM,GAAK,MAAM,KAAK,CAAC,QAAQ,CAAC,qBAAqB,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC7E,oDAAoD;oBACpD,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,oBAAoB,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oBACrF,MAAM,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvJ,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;wBAC5C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACzC,IAAI,CAAC,OAAO;4BAAE,SAAS;wBACvB,MAAM,IAAI,GAAG,aAAa,CAAiB,OAAO,EAAE,IAAI,CAAC,CAAC;wBAC1D,IAAI,CAAC,IAAI;4BAAE,SAAS;wBACpB,2BAA2B;wBAC3B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,uBAAuB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxE,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;4BACvC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACpC,IAAI,CAAC,OAAO;gCAAE,SAAS;4BACvB,MAAM,IAAI,GAAG,aAAa,CAAiB,OAAO,EAAE,IAAI,CAAC,CAAC;4BAC1D,IAAI,CAAC,IAAI;gCAAE,SAAS;4BACpB,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU;gCAAE,SAAS;4BACxE,+BAA+B;4BAC/B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;4BACjH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAwH,SAAS,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;4BAC1M,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;wBAC7E,CAAC;oBACH,CAAC;oBACD,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;wBACvD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACpC,IAAI,CAAC,OAAO;4BAAE,SAAS;wBACvB,MAAM,IAAI,GAAG,aAAa,CAAiB,OAAO,EAAE,IAAI,CAAC,CAAC;wBAC1D,IAAI,CAAC,IAAI;4BAAE,SAAS;wBACpB,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;wBACrE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAwH,SAAS,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC1M,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;oBAC/E,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;YAE5C,iDAAiD;YACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;YAClC,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBACvC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBAC7D,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAE7E,4EAA4E;YAC5E,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,GAAG,CAAC;gBACF,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBACxF,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3B,CAAC,QAAQ,MAAM,KAAK,CAAC,EAAE;YAQvB,8DAA8D;YAC9D,MAAM,MAAM,GAA0D,EAAE,CAAC;YACzE,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,CAAC;oBACC,MAAM,CAAC,GAAG,aAAa,CAAgB,GAAG,EAAE,IAAI,CAAC,CAAC;oBAClD,IAAI,CAAC,CAAC;wBAAE,SAAS;oBACjB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAAE,SAAS;oBACnG,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;yBAClF,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC7E,IAAI,KAAK,GAAG,CAAC;wBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAEzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClD,OAAO;oBACL,uBAAuB,OAAO,KAAK;oBACnC,EAAE;oBACF,qCAAqC;oBACrC,EAAE;oBACF,gCAAgC;oBAChC,QAAQ;oBACR,sBAAsB;oBACtB,oBAAoB,WAAW,IAAI;oBACnC,wBAAwB,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI;oBAChD,4BAA4B;oBAC5B,wBAAwB;oBACxB,oBAAoB,OAAO,IAAI;oBAC/B,GAAG;oBACH,QAAQ;iBACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;YAED,MAAM,KAAK,GAAa;gBACtB,uBAAuB,OAAO,KAAK;gBACnC,EAAE;aACH,CAAC;YAEF,4CAA4C;YAC5C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBACpD,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;oBACpD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;oBACjG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,IAAI,OAAO,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC;oBACnG,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW;wBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBACxF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,KAAK,CAAC,MAAM,mBAAmB,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,iDAAiD,EAAE,EAAE,CAAC,CAAC;gBAC1K,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;gBACnE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;gBAEpE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;oBAC/C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACxB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;wBACnB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC;wBACpD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;wBACtE,IAAI,CAAC,CAAC,WAAW;4BAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC9E,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;oBAChD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;wBACzB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;wBACnB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;wBACxD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,QAAQ,IAAI,eAAe,CAAC,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,CAAC;wBACxF,IAAI,CAAC,CAAC,WAAW;4BAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvE,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;gBAED,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;gBACzC,IAAI,WAAW,EAAE,WAAW,EAAE,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;oBACrC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;oBAClD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAEf,8EAA8E;oBAC9E,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1G,KAAK,CAAC,WAAW,CAAC,gCAAgC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,uDAAuD,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,8BAA8B,CAAC,CAAC;YACtH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,6CAA6C,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAC7G,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAGD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,EAAE,WAAW,EAAE,YAAY,GAAG,CAAC,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,IAExD,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;YAEzC,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,GAAG,CAAC;gBACF,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC7F,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC3B,CAAC,QAAQ,MAAM,KAAK,CAAC,EAAE;YAKvB,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG;oBAAE,SAAS;gBACnB,CAAC;oBACC,MAAM,CAAC,GAAG,aAAa,CAAgB,GAAG,EAAE,IAAI,CAAC,CAAC;oBAClD,IAAI,CAAC,CAAC;wBAAE,SAAS;oBACjB,MAAM,KAAK,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;oBAC7C,IAAI,KAAK,GAAG,QAAQ;wBAAE,SAAS;oBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;oBAC9C,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;oBAEpC,sBAAsB;oBACtB,4DAA4D;oBAC5D,sCAAsC;oBACtC,iCAAiC;oBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,CAAC;oBACzC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;oBAC9C,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBACzD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC;oBAEnF,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;YAED,kCAAkC;YAClC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAExC,SAAS,GAAG,CAAC,GAAW;gBACtB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;gBACpC,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;YACnE,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC1E,CAAC,CAAC,CAAC,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;YAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAE9D,MAAM,KAAK,GAAa;gBACtB,mCAAmC,MAAM,CAAC,MAAM,UAAU;gBAC1D,EAAE;gBACF,yBAAyB,GAAG,CAAC,OAAO,CAAC,IAAI;gBACzC,uBAAuB,QAAQ,wBAAwB,OAAO,EAAE;gBAChE,EAAE;gBACF,8CAA8C;gBAC9C,EAAE;gBACF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACpB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,WAAW,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,EAAE,CACzI;gBACD,EAAE;gBACF,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,QAAQ,eAAe,CAAC,CAAC,CAAC,EAAE;gBAChF,EAAE;gBACF,QAAQ,GAAG,CAAC;oBACV,CAAC,CAAC,MAAM,QAAQ,wGAAwG;oBACxH,CAAC,CAAC,wCAAwC;gBAC5C,EAAE;gBACF,8FAA8F;aAC/F,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,4EAA4E;QAC5E,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,EAAE,YAAY,GAAG,cAAc,EAAE,KAAK,GAAG,MAAM,EAAE,GAAG,IAEzF,CAAC;YAEF,MAAM,OAAO,GAAG;;kBAEJ,WAAW;;;;;yDAK4B,WAAW;oFACgB,WAAW;wDACvC,WAAW;CAClE,CAAC;YAEI,MAAM,IAAI,GAAG,sCAAsC,YAAY;;kBAEnD,WAAW;;;;;;;;;mBASV,WAAW;;;;;;;;;;mBAUX,WAAW;;;;;;;;;;;;;;;;;;;;uBAoBP,WAAW;;;;;;;;;;mBAUf,WAAW;;;;;;;;;;;gEAWkC,WAAW;8CAC7B,WAAW;yDACA,WAAW;yDACX,WAAW;;;;2BAIzC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;CAC/D,CAAC;YAEI,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS;gBACnC,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,MAAM,KAAK,UAAU;oBACrB,CAAC,CAAC,+BAA+B;oBACjC,CAAC,CAAC,WAAW,CAAC;YAElB,OAAO;gBACL,iDAAiD,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,IAAI;gBAC9F,EAAE;gBACF,yBAAyB,QAAQ,IAAI;gBACrC,EAAE;gBACF,gBAAgB;gBAChB,OAAO;gBACP,QAAQ;gBACR,EAAE;gBACF,mBAAmB;gBACnB,YAAY;gBACZ,8BAA8B;gBAC9B,SAAS,QAAQ,WAAW;gBAC5B,OAAO;gBACP,KAAK;gBACL,QAAQ;gBACR,EAAE;gBACF,mCAAmC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,wBAAwB,wEAAwE;aACvN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACf,CAAC;QAED,4EAA4E;QAE5E;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"advanced.js","sourceRoot":"","sources":["../../../src/handlers/advanced.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,36 @@ import { keywordSearch, tokenize, splitMultiQuery, levenshtein, indexVocab as _i
|
|
|
7
7
|
import { rerankByQuality } from '../rerank.js';
|
|
8
8
|
import { computeEmbedding, hasEmbedProvider } from '../embeddings.js';
|
|
9
9
|
// ── Changelog (shown once per version in session_start) ──────────────────────
|
|
10
|
-
const MCP_VERSION = '0.10.
|
|
10
|
+
const MCP_VERSION = '0.10.111';
|
|
11
11
|
const WHATS_NEW = {
|
|
12
|
+
'0.10.111': [
|
|
13
|
+
`🏢 **Org-wide ROI + GitLab CI — the CFO number, aggregated**`,
|
|
14
|
+
` 💰 \`cache_org_stats\` now shows **org-wide Tokenmaxxing ROI**: total savings summed across every instance in your org, monthly projection, top-5 instances by savings. One number for the whole team.`,
|
|
15
|
+
` 🔌 Backed by new API endpoint \`GET /api/v1/orgs/:id/savings\` (org members only)`,
|
|
16
|
+
` 🦊 GitLab CI integration: \`brain-from-ci-gitlab.yml\` — two \`.post\` jobs (on_success/on_failure), same helper script, pipeline never fails because of Brain push`,
|
|
17
|
+
` 🛠️ GitHub Action template fixed: \`secrets.*\` in job-level \`if\` is invalid — guard removed (helper script skips cleanly on missing secrets)`,
|
|
18
|
+
` 📊 136 MCP tools`,
|
|
19
|
+
],
|
|
20
|
+
'0.10.110': [
|
|
21
|
+
`🏢 **Zero friction: ROI-Projektor, Org-Shared-Cache, CI ready-to-paste**`,
|
|
22
|
+
` 📈 \`cache_stats\` — zero-hit projection calculator: shows expected monthly savings for 5/10/20-dev teams before a single cache hit lands. ROI visible from day 1.`,
|
|
23
|
+
` 🏢 New \`cache_org_stats\` — shared org-level cache stats across multiple instances. Convention-based (\`org:{id}:sem\`), zero API changes needed.`,
|
|
24
|
+
` 🔗 \`cache_set\`/\`cache_get\` now accept optional \`org_id\` — write to personal + org namespace, fall back to org on miss. Fully backwards-compatible.`,
|
|
25
|
+
` 📋 Copy-paste CI integration: \`brain-from-ci-action.yml\` → Brain self-calibrates confidence on every GitHub Actions run. No config beyond two repo secrets.`,
|
|
26
|
+
` 📊 136 MCP tools`,
|
|
27
|
+
],
|
|
28
|
+
'0.10.109': [
|
|
29
|
+
`💰 **Tokenmaxxing ROI + Closed-loop CI learning**`,
|
|
30
|
+
` 📊 \`cache_stats\` now shows a **Tokenmaxxing ROI** section — total tokens saved, monthly cost projection, and top 3 most-cached prompts. Finally a number you can show the CFO.`,
|
|
31
|
+
` 🔄 New \`brain_from_ci\` — bulk-ingest CI history into the Brain (red→green = learned fix, green→red = CKG causal edge). The brain_from_git equivalent for CI. Bootstrap the Brain from your CI logs in one call.`,
|
|
32
|
+
` 📊 134 MCP tools`,
|
|
33
|
+
],
|
|
34
|
+
'0.10.108': [
|
|
35
|
+
`🧠 **Focused briefing + trustworthy autopilot**`,
|
|
36
|
+
` 🎯 New \`session_start_summary\` — top-N focused briefing by topic. Scores lessons by relevance × confidence + recall_count + severity + recency. Use it for a quick pre-brief without loading the full Brain.`,
|
|
37
|
+
` 🤝 Autopilot template now explains the data flow upfront ("your own Brain, EU-hosted, no third parties") — no more friction with cautious AI assistants during onboarding`,
|
|
38
|
+
` 📊 132 MCP tools`,
|
|
39
|
+
],
|
|
12
40
|
'0.10.107': [
|
|
13
41
|
`🎯 **Recall@3 gap closed — the moat proof got sharper (the head-to-head that matters)**`,
|
|
14
42
|
` 🔍 External-corpus Recall@3 **82.1% → 98.2%** · Precision@1 **80.4%** · MRR **89.0%** — now ahead of flat-file memory on every metric`,
|
|
@@ -304,7 +332,7 @@ const WHATS_NEW = {
|
|
|
304
332
|
};
|
|
305
333
|
export const BRAIN_TOOL_NAMES = new Set([
|
|
306
334
|
'learn_from_attempts', 'recall_best_solution', 'smart_recall',
|
|
307
|
-
'session_start', 'session_end', 'session_ping', 'session_handoff', 'auto_learn_session',
|
|
335
|
+
'session_start', 'session_start_summary', 'session_end', 'session_ping', 'session_handoff', 'auto_learn_session',
|
|
308
336
|
'brain_who_knows', 'brain_file_map', 'team_expertise_map',
|
|
309
337
|
'skill_gaps', 'brain_coverage', 'brain_metrics', 'brain_service_map',
|
|
310
338
|
'brain_collab_pairs', 'brain_portability',
|
|
@@ -1966,6 +1994,95 @@ export async function handleBrainTool(name, args, getConnection, apiFetch) {
|
|
|
1966
1994
|
}
|
|
1967
1995
|
return lines.join('\n');
|
|
1968
1996
|
}
|
|
1997
|
+
// ── session_start_summary ─────────────────────────────────────────────────
|
|
1998
|
+
case 'session_start_summary': {
|
|
1999
|
+
const { instance_id, focus, top_n: topNRaw = 10, author = '', } = args;
|
|
2000
|
+
if (!focus || !focus.trim()) {
|
|
2001
|
+
throw new Error('focus is required for session_start_summary');
|
|
2002
|
+
}
|
|
2003
|
+
const topN = Math.min(Math.max(1, Math.floor(Number(topNRaw) || 10)), 25);
|
|
2004
|
+
const redis = await getConnection(instance_id);
|
|
2005
|
+
// 1. Scan all best-solution lessons (same as session_start)
|
|
2006
|
+
const lessonKeys = [];
|
|
2007
|
+
const lStream = redis.scanStream({ match: 'cachly:lesson:best:*', count: 200 });
|
|
2008
|
+
await new Promise((resolve, reject) => {
|
|
2009
|
+
lStream.on('data', (batch) => lessonKeys.push(...batch));
|
|
2010
|
+
lStream.on('end', resolve);
|
|
2011
|
+
lStream.on('error', reject);
|
|
2012
|
+
});
|
|
2013
|
+
const lessons = [];
|
|
2014
|
+
if (lessonKeys.length > 0) {
|
|
2015
|
+
const raws = await redis.mget(...lessonKeys);
|
|
2016
|
+
for (const raw of raws) {
|
|
2017
|
+
const l = safeJsonParse(raw ?? null, null);
|
|
2018
|
+
if (l)
|
|
2019
|
+
lessons.push(l);
|
|
2020
|
+
}
|
|
2021
|
+
}
|
|
2022
|
+
// 2. If brain has 0 lessons return graceful empty message
|
|
2023
|
+
if (lessons.length === 0) {
|
|
2024
|
+
return [
|
|
2025
|
+
`🧠 Brain Summary — no lessons yet`,
|
|
2026
|
+
``,
|
|
2027
|
+
`Your brain is empty. Use \`learn_from_attempts\` after solving tasks to build it up.`,
|
|
2028
|
+
`💡 Tip: \`brain_seed_starter(instance_id="${instance_id}")\` to bootstrap with 16 universal lessons.`,
|
|
2029
|
+
].join('\n');
|
|
2030
|
+
}
|
|
2031
|
+
// 3. If lessons.length <= top_n, return all of them (no need to score)
|
|
2032
|
+
const needsRanking = lessons.length > topN;
|
|
2033
|
+
// 4. Score lessons for relevance to focus
|
|
2034
|
+
const focusWords = focus.toLowerCase().split(/\s+/).filter(Boolean);
|
|
2035
|
+
const nowMs = Date.now();
|
|
2036
|
+
const scored = lessons.map(l => {
|
|
2037
|
+
// Keyword relevance: topic or tags contain focus words
|
|
2038
|
+
const inTopic = focusWords.filter(w => l.topic.toLowerCase().includes(w)).length;
|
|
2039
|
+
const inTags = focusWords.filter(w => (l.tags ?? []).some(t => t.toLowerCase().includes(w))).length;
|
|
2040
|
+
const relevance = (inTopic * 2) + inTags;
|
|
2041
|
+
// Recall-count bonus (proven-ness, log-scaled, capped)
|
|
2042
|
+
const rc = Math.max(0, l.recall_count ?? 0);
|
|
2043
|
+
const recallBonus = Math.min(1.5, Math.log1p(rc) / 10);
|
|
2044
|
+
// Severity bonus
|
|
2045
|
+
const sevBonus = l.severity === 'critical' ? 1.0 : l.severity === 'major' ? 0.5 : 0;
|
|
2046
|
+
// Recency bonus: lessons updated in the last 30 days get up to +0.5
|
|
2047
|
+
const ageDays = (nowMs - new Date(l.verified_at ?? l.ts).getTime()) / 86_400_000;
|
|
2048
|
+
const recencyBonus = ageDays < 30 ? 0.5 * (1 - ageDays / 30) : 0;
|
|
2049
|
+
// Outcome bonus: success > partial > failure
|
|
2050
|
+
const outcomeBonus = l.outcome === 'success' ? 0.5 : l.outcome === 'partial' ? 0.2 : 0;
|
|
2051
|
+
const score = relevance + recallBonus + sevBonus + recencyBonus + outcomeBonus;
|
|
2052
|
+
return { lesson: l, score };
|
|
2053
|
+
});
|
|
2054
|
+
// Sort descending by score, then by recency as tiebreak
|
|
2055
|
+
scored.sort((a, b) => {
|
|
2056
|
+
if (b.score !== a.score)
|
|
2057
|
+
return b.score - a.score;
|
|
2058
|
+
return new Date(b.lesson.ts).getTime() - new Date(a.lesson.ts).getTime();
|
|
2059
|
+
});
|
|
2060
|
+
const selected = (needsRanking ? scored.slice(0, topN) : scored).map(s => s.lesson);
|
|
2061
|
+
const total = lessons.length;
|
|
2062
|
+
const shown = selected.length;
|
|
2063
|
+
// 5. Build concise briefing
|
|
2064
|
+
const divider = '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━';
|
|
2065
|
+
const header = needsRanking
|
|
2066
|
+
? `🧠 Brain Summary — top ${shown} of ${total} lessons for "${focus}"`
|
|
2067
|
+
: `🧠 Brain Summary — all ${shown} lesson${shown !== 1 ? 's' : ''} for "${focus}"`;
|
|
2068
|
+
const summaryLines = [header, divider, ''];
|
|
2069
|
+
for (const l of selected) {
|
|
2070
|
+
const sevIcon = l.severity === 'critical' ? '🔴' : l.severity === 'major' ? '⚠️' : '✅';
|
|
2071
|
+
const sevLabel = l.severity ? `[${l.severity}] ` : '[minor] ';
|
|
2072
|
+
const rc = l.recall_count ?? 0;
|
|
2073
|
+
const rcStr = rc > 0 ? ` (✓ recalled ${rc}×)` : '';
|
|
2074
|
+
const snippet = l.what_worked.slice(0, 110);
|
|
2075
|
+
summaryLines.push(`${sevIcon} ${sevLabel}\`${l.topic}\` — ${snippet}${rcStr}`);
|
|
2076
|
+
}
|
|
2077
|
+
summaryLines.push('');
|
|
2078
|
+
if (needsRanking) {
|
|
2079
|
+
summaryLines.push(`💡 Showing top ${shown} of ${total} lessons · \`session_start\` for full briefing`);
|
|
2080
|
+
}
|
|
2081
|
+
else {
|
|
2082
|
+
summaryLines.push(`💡 All ${shown} lesson${shown !== 1 ? 's' : ''} shown · \`session_start\` for full briefing`);
|
|
2083
|
+
}
|
|
2084
|
+
return summaryLines.join('\n');
|
|
2085
|
+
}
|
|
1969
2086
|
// ── session_end ───────────────────────────────────────────────────────────
|
|
1970
2087
|
case 'session_end': {
|
|
1971
2088
|
const { instance_id, summary, files_changed = [], lessons_learned, workspace_path = '', } = args;
|