engram-mcp-server 1.7.1 → 1.7.2

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 CHANGED
@@ -21,7 +21,8 @@
21
21
  - [Overview](#overview)
22
22
  - [Why Engram?](#why-engram)
23
23
  - [Installation (Auto & Manual)](#installation)
24
- - [✨ What's New in v1.7.0](#-whats-new-in-v170)
24
+ - [✨ What's New in v1.7.2](#-whats-new-in-v172)
25
+ - [What's New in v1.7.0](#-whats-new-in-v170)
25
26
  - [What's New in v1.6.0](#-whats-new-in-v160)
26
27
  - [Features](#features)
27
28
  - [Architecture](#architecture)
@@ -55,6 +56,45 @@ Engram solves this by providing a **persistent brain** using a native SQLite (WA
55
56
 
56
57
  ---
57
58
 
59
+ ## ✨ What's New in v1.7.2
60
+
61
+ **v1.7.2** is a hotfix release addressing 20 bugs found during a systematic functional audit of the v1.7.0 tool surface.
62
+
63
+ ### 🔒 Enum Validation for Change, Task, and Scope Fields
64
+
65
+ `record_change`, `create_task`, and related actions now enforce enum validation on `change_type`, `impact_scope`, and `priority`. Previously, arbitrary strings were silently accepted, corrupting query results and task filtering.
66
+
67
+ - `change_type`: `created | modified | deleted | refactored | renamed | moved | config_changed`
68
+ - `impact_scope`: `local | module | cross_module | global`
69
+ - `priority`: `critical | high | medium | low`
70
+
71
+ ### 📡 Directed Broadcasts — `target_agent` Now Works
72
+
73
+ `engram_memory(action:"broadcast", target_agent:"agent-name")` now correctly stores and filters directed messages. Previously the `target_agent` column was missing from the DB schema and the `agent_sync` query had no filter — all agents received all broadcasts regardless.
74
+
75
+ ### ⏱️ `what_changed { since: "session_start" }` Fixed
76
+
77
+ The `"session_start"` sentinel value is now resolved to the current session's `started_at` timestamp before the SQL query. Previously it was passed literally, always returning zero results.
78
+
79
+ ### 🔧 Universal Mode Array Coercion Fixed
80
+
81
+ `set_file_notes` with `dependencies` passed as a JSON string (e.g. `"[\"src/a.ts\"]"`) no longer crashes in Universal Mode. A `parseDepsField()` helper now handles both native arrays and JSON-encoded strings at the repository layer — compensating for the `HandlerCapturer` bypass of Zod preprocessing.
82
+
83
+ ### ✅ API Correctness Fixes (ISS-001 – ISS-015)
84
+
85
+ - `generate_report` and `get_global_knowledge` return real data
86
+ - `backup` no longer returns ENOENT
87
+ - `get_tasks { status:"all" }` returns all tasks
88
+ - `acknowledge_event { approved:false }` snoozes the event
89
+ - `config { op:"get", key:X }` returns only that key's value
90
+ - `record_milestone` version prefix no longer doubled
91
+ - `dump` no longer creates a spurious change record
92
+ - `NoActiveSessionError` message uses correct v1.7 syntax
93
+
94
+ > Full changelog: [RELEASE_NOTES.md](RELEASE_NOTES.md)
95
+
96
+ ---
97
+
58
98
  ## ✨ What's New in v1.7.0
59
99
 
60
100
  **v1.7.0** is a precision token-efficiency release — six improvement tracks with zero breaking changes to the 4-dispatcher API surface.
@@ -852,11 +892,12 @@ engram_session({
852
892
  action: "start",
853
893
  agent_name: "sub-agent-auth",
854
894
  agent_role: "sub",
855
- task_id: 42, // The task ID assigned by the orchestrator
895
+ task_id: 42, // The task ID assigned by the orchestrator
856
896
  });
857
897
  ```
858
898
 
859
899
  The response includes only:
900
+
860
901
  - The specified task's details (title, description, priority, tags)
861
902
  - File notes for files assigned to that task
862
903
  - Decisions matching the task's tags
@@ -1003,6 +1044,62 @@ engram_memory({
1003
1044
 
1004
1045
  ---
1005
1046
 
1047
+ ## Troubleshooting
1048
+
1049
+ ### Windows: `'engram' is not recognized` when using `npx`
1050
+
1051
+ If your Windows username contains special characters (tildes `~`, spaces, accented letters, etc.), `npx` may fail to resolve the binary:
1052
+
1053
+ ```
1054
+ 'engram' is not recognized as an internal or external command,
1055
+ operable program or batch file.
1056
+ ```
1057
+
1058
+ **Cause:** `npx` downloads packages to a temp directory under your user profile (e.g., `C:\Users\~ RG\AppData\Local\npm-cache\_npx\...`). Special characters — especially tildes — are misinterpreted as DOS 8.3 short-path prefixes, and spaces compound the issue. The generated `.cmd` shim fails to resolve its own path.
1059
+
1060
+ **Fix — use a global install instead of `npx`:**
1061
+
1062
+ ```bash
1063
+ npm install -g engram-mcp-server
1064
+ ```
1065
+
1066
+ Then update your MCP config to use the binary directly:
1067
+
1068
+ ```jsonc
1069
+ // .vscode/mcp.json (or equivalent for your IDE)
1070
+ {
1071
+ "servers": {
1072
+ "engram": {
1073
+ "type": "stdio",
1074
+ "command": "engram-mcp-server",
1075
+ "args": [
1076
+ "--mode=universal",
1077
+ "--project-root",
1078
+ "${workspaceFolder}",
1079
+ ],
1080
+ },
1081
+ },
1082
+ }
1083
+ ```
1084
+
1085
+ **Note:** With a global install, you won't get automatic version updates. After publishing a new version, update manually:
1086
+
1087
+ ```bash
1088
+ npm install -g engram-mcp-server@latest
1089
+ ```
1090
+
1091
+ ### Database locked or corrupted
1092
+
1093
+ If you see `SQLITE_BUSY` or corruption errors:
1094
+
1095
+ 1. Stop all IDE instances using Engram
1096
+ 2. Delete the project-local database: `rm -rf .engram/`
1097
+ 3. Restart — Engram will re-create the database and run all migrations automatically
1098
+
1099
+ The global database at `~/.engram/memory.db` can be reset the same way if needed.
1100
+
1101
+ ---
1102
+
1006
1103
  ## Contributing
1007
1104
 
1008
1105
  We welcome contributions!
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK/D,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG/I,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,kBAAkB,CAAC;IACzB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAwDD,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiC7E;AAED,wBAAgB,KAAK,IAAI,YAAY,CAGpC;AAED,wBAAgB,QAAQ,IAAI,YAAY,CAGvC;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAGtC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBxD;AAkBD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAIvF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAK5F;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAI/E;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,GAAG,IAAI,CAQvF;AAID,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAGnD;AAED,wBAAgB,uBAAuB,IAAI;IACzC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;CAC1E,GAAG,IAAI,CAWP;AAED,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,SAAS,GAAG,OAAmB,EACxC,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CAcN"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAK/D,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG/I,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,kBAAkB,CAAC;IACzB,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAwDD,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiC7E;AAED,wBAAgB,KAAK,IAAI,YAAY,CAGpC;AAED,wBAAgB,QAAQ,IAAI,YAAY,CAGvC;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAGtC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBxD;AAkBD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAIvF;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAK5F;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,EAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAI/E;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC,GAAG,IAAI,CAQvF;AAID,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAGnD;AAED,wBAAgB,uBAAuB,IAAI;IACzC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;CAC1E,GAAG,IAAI,CAWP;AAED,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,SAAS,GAAG,OAAmB,EACxC,KAAK,CAAC,EAAE,MAAM,GACb,IAAI,CAcN"}
package/dist/database.js CHANGED
@@ -133,8 +133,16 @@ export function backupDatabase(destPath) {
133
133
  // Ensure destination directory exists
134
134
  const destDir = path.dirname(destPath);
135
135
  fs.mkdirSync(destDir, { recursive: true });
136
- // Use SQLite backup API
137
- db.backup(destPath);
136
+ // Flush WAL to the main DB file so the copy is consistent (ISS-005 fix).
137
+ // better-sqlite3's db.backup() is async in v9+ and statSync immediately after
138
+ // it would throw ENOENT before the file is written. Using WAL checkpoint +
139
+ // synchronous file copy guarantees the backup file is fully written before
140
+ // we return the path to callers.
141
+ try {
142
+ db.pragma("wal_checkpoint(FULL)");
143
+ }
144
+ catch { /* WAL may not be in use */ }
145
+ fs.copyFileSync(getDbPath(), destPath);
138
146
  return destPath;
139
147
  }
140
148
  // ─── Gitignore ───────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -56,7 +56,7 @@ export class SafetyCheckError extends EngramError {
56
56
  */
57
57
  export class NoActiveSessionError extends EngramError {
58
58
  constructor() {
59
- super("No active session. Start one with engram_start_session first.", "NO_SESSION");
59
+ super('No active session. Call engram_session({ action: "start" }) first.', "NO_SESSION");
60
60
  this.name = "NoActiveSessionError";
61
61
  }
62
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACzB,IAAI,CAAS;IACb,OAAO,CAA2B;IAE3C,YAAY,OAAe,EAAE,OAAe,cAAc,EAAE,OAAiC;QACzF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC1C,YAAY,MAAc,EAAE,EAAmB;QAC3C,KAAK,CAAC,GAAG,MAAM,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC5C,YAAY,OAAe,EAAE,OAAiC;QAC1D,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAClC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC1C,YAAY,OAAe,EAAE,OAAiC;QAC1D,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC7C,YAAY,eAAuB;QAC/B,KAAK,CAAC,iCAAiC,eAAe,eAAe,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IACjD;QACI,KAAK,CAAC,+DAA+D,EAAE,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACvC,CAAC;CACJ"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACzB,IAAI,CAAS;IACb,OAAO,CAA2B;IAE3C,YAAY,OAAe,EAAE,OAAe,cAAc,EAAE,OAAiC;QACzF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC1C,YAAY,MAAc,EAAE,EAAmB;QAC3C,KAAK,CAAC,GAAG,MAAM,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC5C,YAAY,OAAe,EAAE,OAAiC;QAC1D,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAClC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC1C,YAAY,OAAe,EAAE,OAAiC;QAC1D,KAAK,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAChC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC7C,YAAY,eAAuB;QAC/B,KAAK,CAAC,iCAAiC,eAAe,eAAe,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;QAC5G,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACnC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,WAAW;IACjD;QACI,KAAK,CAAC,oEAAoE,EAAE,YAAY,CAAC,CAAC;QAC1F,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACvC,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAgiB/D,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAgCpD;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAOhE"}
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAyiB/D,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAgCpD;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,YAAY,GAAG,MAAM,CAOhE"}
@@ -517,6 +517,14 @@ const migrations = [
517
517
  db.exec(`ALTER TABLE agents ADD COLUMN specializations TEXT;`);
518
518
  },
519
519
  },
520
+ // ─── V16: Targeted Broadcasts ────────────────────────────────────
521
+ {
522
+ version: 16,
523
+ description: "Targeted broadcasts — target_agent TEXT on broadcasts for directed delivery",
524
+ up: (db) => {
525
+ db.exec(`ALTER TABLE broadcasts ADD COLUMN target_agent TEXT;`);
526
+ },
527
+ },
520
528
  ];
521
529
  // ─── Migration Runner ────────────────────────────────────────────────
522
530
  export function runMigrations(db) {
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../src/migrations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"universal.d.ts","sourceRoot":"","sources":["../../src/modes/universal.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2EpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoH7D"}
1
+ {"version":3,"file":"universal.d.ts","sourceRoot":"","sources":["../../src/modes/universal.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2EpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoJ7D"}
@@ -94,11 +94,28 @@ export function registerUniversalMode(server) {
94
94
  description: `Persistent memory for AI agents. Pass any action + relevant params. Examples: engram({action:"start", agent_name:"claude", verbosity:"summary"}) — engram({action:"record_change", changes:[{...}]}) — engram({action:"search", query:"auth"}).`,
95
95
  inputSchema: z.object({
96
96
  action: z.string().describe("Operation name. Examples: start, end, record_change, get_file_notes, set_file_notes, search, record_decision, create_task, backup. Use action:'discover' + query to look up any action."),
97
- query: z.string().optional().describe("For action:'discover' search the action catalog."),
97
+ query: z.string().optional().describe("For action:'discover' and 'search'. Also accepted as summary for action:'end'."),
98
+ params: z.record(z.unknown()).optional().describe("Additional parameters for the action. " +
99
+ "Example: engram({action:'set_file_notes', params:{file_path:'src/index.ts', purpose:'Entry point', executive_summary:'...'}}) — " +
100
+ "engram({action:'create_task', params:{title:'Review repos layer', priority:'high'}}) — " +
101
+ "engram({action:'record_change', params:{changes:[{file_path:'src/x.ts', change_type:'modified', description:'...', impact_scope:'local'}]}}) — " +
102
+ "engram({action:'record_decision', params:{decision:'Use X pattern', rationale:'Because Y', tags:['architecture']}}) — " +
103
+ "engram({action:'end', params:{summary:'What was done this session'}}). " +
104
+ "Use action:'discover' + query to find params for any action."),
98
105
  }).passthrough(),
99
106
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
100
107
  }, async (rawParams) => {
101
- const { action, ...rest } = rawParams;
108
+ const { action, query, params: explicitParams, ...inlineRest } = rawParams;
109
+ // Merge priority: explicit params object > inline extra fields > query (forwarded as-is)
110
+ const rest = {
111
+ ...(explicitParams ?? {}),
112
+ ...inlineRest,
113
+ ...(query !== undefined ? { query } : {}),
114
+ };
115
+ // For action:"end" — allow query to serve as summary fallback
116
+ if (String(action ?? "") === "end" && !rest.summary && query) {
117
+ rest.summary = query;
118
+ }
102
119
  const actionStr = String(action ?? "");
103
120
  // ── discover action: BM25 catalog search ───────────────────────────
104
121
  if (actionStr === "discover" || actionStr === "find" || !actionStr) {
@@ -125,10 +142,29 @@ export function registerUniversalMode(server) {
125
142
  }) }],
126
143
  };
127
144
  }
128
- const q = query.toLowerCase();
129
- const matches = allActions.filter(a => a.call.toLowerCase().includes(q) ||
130
- (a.desc ?? "").toLowerCase().includes(q) ||
131
- (a.params ?? "").toLowerCase().includes(q)).slice(0, 8);
145
+ // Word-by-word BM25-style scoring — each query word scored independently
146
+ // so "record change" matches "record_change" and related entries.
147
+ const words = query.toLowerCase().split(/\s+/).filter(w => w.length > 1);
148
+ const scored = allActions.map(a => {
149
+ const callLower = a.call.toLowerCase();
150
+ const descLower = (a.desc ?? "").toLowerCase();
151
+ const paramsLower = (a.params ?? "").toLowerCase();
152
+ // Expand underscores for word matching ("record_change" → "record change")
153
+ const callExpanded = callLower.replace(/_/g, " ");
154
+ let score = 0;
155
+ for (const w of words) {
156
+ if (callLower.includes(w))
157
+ score += 3;
158
+ else if (callExpanded.includes(w))
159
+ score += 2;
160
+ if (descLower.includes(w))
161
+ score += 2;
162
+ if (paramsLower.includes(w))
163
+ score += 1;
164
+ }
165
+ return { ...a, score };
166
+ });
167
+ const matches = scored.filter(a => a.score > 0).sort((a, b) => b.score - a.score).slice(0, 8);
132
168
  return {
133
169
  content: [{ type: "text", text: JSON.stringify({ query, matches, message: `Found ${matches.length} actions matching "${query}".` }) }],
134
170
  };
@@ -1 +1 @@
1
- {"version":3,"file":"universal.js","sourceRoot":"","sources":["../../src/modes/universal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"universal.js","sourceRoot":"","sources":["../../src/modes/universal.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ export declare class FileNotesRepo {
5
5
  constructor(db: DatabaseType);
6
6
  upsert(filePath: string, timestamp: string, sessionId: number | null, data: {
7
7
  purpose?: string | null;
8
- dependencies?: string[] | null;
9
- dependents?: string[] | null;
8
+ dependencies?: string[] | string | null;
9
+ dependents?: string[] | string | null;
10
10
  layer?: string | null;
11
11
  complexity?: string | null;
12
12
  notes?: string | null;
@@ -18,8 +18,8 @@ export declare class FileNotesRepo {
18
18
  upsertBatch(entries: Array<{
19
19
  file_path: string;
20
20
  purpose?: string | null;
21
- dependencies?: string[] | null;
22
- dependents?: string[] | null;
21
+ dependencies?: string[] | string | null;
22
+ dependents?: string[] | string | null;
23
23
  layer?: string | null;
24
24
  complexity?: string | null;
25
25
  notes?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"file-notes.repo.d.ts","sourceRoot":"","sources":["../../src/repositories/file-notes.repo.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,qBAAa,aAAa;IACV,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAEpC,MAAM,CACF,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE;QACF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACrC,GACF,IAAI;IAqCP,WAAW,CACP,OAAO,EAAE,KAAK,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACrC,CAAC,EAAS,SAAS,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,GACzB,MAAM;IAqBT,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAM/C,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,EAAE;IAW5E,MAAM,IAAI,WAAW,EAAE;IAIvB,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAKlE"}
1
+ {"version":3,"file":"file-notes.repo.d.ts","sourceRoot":"","sources":["../../src/repositories/file-notes.repo.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,qBAAa,aAAa;IACV,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAEpC,MAAM,CACF,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,IAAI,EAAE;QACF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;QACxC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;QACtC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACrC,GACF,IAAI;IA+CP,WAAW,CACP,OAAO,EAAE,KAAK,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;QACxC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAAC;QACtC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACrC,CAAC,EAAS,SAAS,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,GACzB,MAAM;IAqBT,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAM/C,WAAW,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW,EAAE;IAW5E,MAAM,IAAI,WAAW,EAAE;IAIvB,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,IAAI,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAKlE"}
@@ -9,8 +9,27 @@ export class FileNotesRepo {
9
9
  }
10
10
  upsert(filePath, timestamp, sessionId, data) {
11
11
  const normalizedPath = normalizePath(filePath);
12
- const deps = data.dependencies ? JSON.stringify(data.dependencies.map(d => normalizePath(d))) : null;
13
- const depnts = data.dependents ? JSON.stringify(data.dependents.map(d => normalizePath(d))) : null;
12
+ // Defensively parse dependencies/dependents may be a raw JSON string when called
13
+ // from Universal Mode (HandlerCapturer bypasses Zod coerceStringArray preprocessing).
14
+ const parseDepsField = (v) => {
15
+ if (!v)
16
+ return null;
17
+ if (Array.isArray(v))
18
+ return v;
19
+ if (typeof v === "string") {
20
+ try {
21
+ return JSON.parse(v);
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ }
27
+ return null;
28
+ };
29
+ const depsArr = parseDepsField(data.dependencies);
30
+ const depntsArr = parseDepsField(data.dependents);
31
+ const deps = depsArr ? JSON.stringify(depsArr.map((d) => normalizePath(d))) : null;
32
+ const depnts = depntsArr ? JSON.stringify(depntsArr.map((d) => normalizePath(d))) : null;
14
33
  const mtime = data.file_mtime ?? null;
15
34
  const branch = data.git_branch ?? null;
16
35
  const hash = data.content_hash ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"file-notes.repo.js","sourceRoot":"","sources":["../../src/repositories/file-notes.repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-notes.repo.js","sourceRoot":"","sources":["../../src/repositories/file-notes.repo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispatcher-admin.d.ts","sourceRoot":"","sources":["../../src/tools/dispatcher-admin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkBpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuP/D"}
1
+ {"version":3,"file":"dispatcher-admin.d.ts","sourceRoot":"","sources":["../../src/tools/dispatcher-admin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoBpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyS/D"}
@@ -6,6 +6,7 @@ import { z } from "zod";
6
6
  import { getDb, getDbSizeKb, getRepos, getServices, getProjectRoot, backupDatabase, getDbPath, now } from "../database.js";
7
7
  import { success, error } from "../response.js";
8
8
  import { SERVER_VERSION, DB_DIR_NAME, BACKUP_DIR_NAME, MAX_BACKUP_COUNT, CFG_AUTO_UPDATE_AVAILABLE, CFG_AUTO_UPDATE_LAST_CHECK, CFG_AUTO_UPDATE_CHECK, GITHUB_RELEASES_URL } from "../constants.js";
9
+ import { queryGlobalDecisions, queryGlobalConventions } from "../global-db.js";
9
10
  import path from "path";
10
11
  import fs from "fs";
11
12
  const ADMIN_ACTIONS = [
@@ -16,6 +17,7 @@ const ADMIN_ACTIONS = [
16
17
  "config",
17
18
  "scan_project",
18
19
  "install_hooks", "remove_hooks",
20
+ "generate_report", "get_global_knowledge",
19
21
  ];
20
22
  export function registerAdminDispatcher(server) {
21
23
  server.registerTool("engram_admin", {
@@ -276,6 +278,11 @@ Actions: backup, restore, list_backups, export, import, compact, clear, stats, h
276
278
  repos.config.set(params.key, params.value, now());
277
279
  return success({ message: `Config "${params.key}" set to "${params.value}".`, key: params.key, value: params.value });
278
280
  }
281
+ // ISS-015: When key is provided without value, return just that key's value.
282
+ if (params.key) {
283
+ const val = repos.config.get(params.key);
284
+ return success({ key: params.key, value: val ?? null });
285
+ }
279
286
  const config = repos.config.getAll();
280
287
  return success({ config });
281
288
  }
@@ -322,6 +329,54 @@ Actions: backup, restore, list_backups, export, import, compact, clear, stats, h
322
329
  }
323
330
  return success({ message: "Engram post-commit hook removed.", hook_path: hookPath2 });
324
331
  }
332
+ // ─── GENERATE REPORT ────────────────────────────────────────────
333
+ case "generate_report": {
334
+ const count = (table) => { try {
335
+ return db.prepare(`SELECT COUNT(*) as c FROM ${table}`).get().c;
336
+ }
337
+ catch {
338
+ return 0;
339
+ } };
340
+ const openTasks = db.prepare("SELECT * FROM tasks WHERE status NOT IN ('done','cancelled') ORDER BY CASE priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END LIMIT 30").all();
341
+ const activeDecisions = db.prepare("SELECT * FROM decisions WHERE status = 'active' ORDER BY timestamp DESC LIMIT 20").all();
342
+ const recentChanges = db.prepare("SELECT file_path, change_type, description, timestamp FROM changes ORDER BY timestamp DESC LIMIT 15").all();
343
+ const activeConventions = repos.conventions.getActive();
344
+ const milestones = db.prepare("SELECT * FROM milestones ORDER BY timestamp DESC LIMIT 10").all();
345
+ return success({
346
+ generated_at: new Date().toISOString(),
347
+ server_version: SERVER_VERSION,
348
+ summary: {
349
+ total_sessions: count("sessions"),
350
+ total_changes: count("changes"),
351
+ total_decisions: count("decisions"),
352
+ open_tasks: openTasks.length,
353
+ total_tasks: count("tasks"),
354
+ total_conventions: activeConventions.length,
355
+ total_milestones: count("milestones"),
356
+ database_size_kb: getDbSizeKb(),
357
+ },
358
+ open_tasks: openTasks,
359
+ active_decisions: activeDecisions,
360
+ recent_changes: recentChanges,
361
+ active_conventions: activeConventions,
362
+ milestones,
363
+ message: `Report generated: ${openTasks.length} open task(s), ${activeDecisions.length} active decision(s), ${recentChanges.length} recent change(s).`,
364
+ });
365
+ }
366
+ // ─── GET GLOBAL KNOWLEDGE ────────────────────────────────────────
367
+ case "get_global_knowledge": {
368
+ const globalDecisions = queryGlobalDecisions(params.key, 50);
369
+ const globalConventions = queryGlobalConventions(50);
370
+ return success({
371
+ global_decisions: globalDecisions,
372
+ global_conventions: globalConventions,
373
+ total_decisions: globalDecisions.length,
374
+ total_conventions: globalConventions.length,
375
+ message: globalDecisions.length === 0 && globalConventions.length === 0
376
+ ? "Global KB is empty. Use record_decision with export_global:true to populate."
377
+ : `Global KB: ${globalDecisions.length} decision(s), ${globalConventions.length} convention(s).`,
378
+ });
379
+ }
325
380
  default:
326
381
  return error(`Unknown admin action: ${params.action}`);
327
382
  }