engram-mcp-server 1.9.2 → 1.11.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 (108) hide show
  1. package/README.md +319 -23
  2. package/dist/constants.d.ts +10 -1
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +29 -1
  5. package/dist/constants.js.map +1 -1
  6. package/dist/database.d.ts +3 -1
  7. package/dist/database.d.ts.map +1 -1
  8. package/dist/database.js +4 -1
  9. package/dist/database.js.map +1 -1
  10. package/dist/errors.d.ts +26 -0
  11. package/dist/errors.d.ts.map +1 -1
  12. package/dist/errors.js +42 -0
  13. package/dist/errors.js.map +1 -1
  14. package/dist/installer/ide-configs.d.ts.map +1 -1
  15. package/dist/installer/ide-configs.js +67 -18
  16. package/dist/installer/ide-configs.js.map +1 -1
  17. package/dist/installer/index.d.ts.map +1 -1
  18. package/dist/installer/index.js +155 -66
  19. package/dist/installer/index.js.map +1 -1
  20. package/dist/knowledge/checklists.d.ts +4 -0
  21. package/dist/knowledge/checklists.d.ts.map +1 -0
  22. package/dist/knowledge/checklists.js +84 -0
  23. package/dist/knowledge/checklists.js.map +1 -0
  24. package/dist/knowledge/conventions.d.ts +7 -0
  25. package/dist/knowledge/conventions.d.ts.map +1 -0
  26. package/dist/knowledge/conventions.js +57 -0
  27. package/dist/knowledge/conventions.js.map +1 -0
  28. package/dist/knowledge/estimation.d.ts +4 -0
  29. package/dist/knowledge/estimation.d.ts.map +1 -0
  30. package/dist/knowledge/estimation.js +72 -0
  31. package/dist/knowledge/estimation.js.map +1 -0
  32. package/dist/knowledge/index.d.ts +84 -0
  33. package/dist/knowledge/index.d.ts.map +1 -0
  34. package/dist/knowledge/index.js +187 -0
  35. package/dist/knowledge/index.js.map +1 -0
  36. package/dist/knowledge/instructions.d.ts +4 -0
  37. package/dist/knowledge/instructions.d.ts.map +1 -0
  38. package/dist/knowledge/instructions.js +33 -0
  39. package/dist/knowledge/instructions.js.map +1 -0
  40. package/dist/knowledge/phases.d.ts +4 -0
  41. package/dist/knowledge/phases.d.ts.map +1 -0
  42. package/dist/knowledge/phases.js +127 -0
  43. package/dist/knowledge/phases.js.map +1 -0
  44. package/dist/knowledge/principles.d.ts +4 -0
  45. package/dist/knowledge/principles.d.ts.map +1 -0
  46. package/dist/knowledge/principles.js +50 -0
  47. package/dist/knowledge/principles.js.map +1 -0
  48. package/dist/knowledge/types.d.ts +74 -0
  49. package/dist/knowledge/types.d.ts.map +1 -0
  50. package/dist/knowledge/types.js +5 -0
  51. package/dist/knowledge/types.js.map +1 -0
  52. package/dist/migrations.d.ts.map +1 -1
  53. package/dist/migrations.js +103 -0
  54. package/dist/migrations.js.map +1 -1
  55. package/dist/modes/universal.d.ts.map +1 -1
  56. package/dist/modes/universal.js +23 -1
  57. package/dist/modes/universal.js.map +1 -1
  58. package/dist/repositories/conventions.repo.d.ts +9 -1
  59. package/dist/repositories/conventions.repo.d.ts.map +1 -1
  60. package/dist/repositories/conventions.repo.js +31 -2
  61. package/dist/repositories/conventions.repo.js.map +1 -1
  62. package/dist/repositories/index.d.ts +3 -0
  63. package/dist/repositories/index.d.ts.map +1 -1
  64. package/dist/repositories/index.js +3 -0
  65. package/dist/repositories/index.js.map +1 -1
  66. package/dist/repositories/observations.repo.d.ts +15 -0
  67. package/dist/repositories/observations.repo.d.ts.map +1 -0
  68. package/dist/repositories/observations.repo.js +35 -0
  69. package/dist/repositories/observations.repo.js.map +1 -0
  70. package/dist/services/event-trigger.service.d.ts +15 -0
  71. package/dist/services/event-trigger.service.d.ts.map +1 -1
  72. package/dist/services/event-trigger.service.js +79 -0
  73. package/dist/services/event-trigger.service.js.map +1 -1
  74. package/dist/services/index.d.ts +3 -0
  75. package/dist/services/index.d.ts.map +1 -1
  76. package/dist/services/index.js +2 -0
  77. package/dist/services/index.js.map +1 -1
  78. package/dist/services/instance-registry.service.d.ts +29 -1
  79. package/dist/services/instance-registry.service.d.ts.map +1 -1
  80. package/dist/services/instance-registry.service.js +97 -2
  81. package/dist/services/instance-registry.service.js.map +1 -1
  82. package/dist/services/pm-diagnostics.d.ts +46 -0
  83. package/dist/services/pm-diagnostics.d.ts.map +1 -0
  84. package/dist/services/pm-diagnostics.js +88 -0
  85. package/dist/services/pm-diagnostics.js.map +1 -0
  86. package/dist/services/workflow-advisor.service.d.ts +70 -0
  87. package/dist/services/workflow-advisor.service.d.ts.map +1 -0
  88. package/dist/services/workflow-advisor.service.js +254 -0
  89. package/dist/services/workflow-advisor.service.js.map +1 -0
  90. package/dist/tools/dispatcher-admin.d.ts.map +1 -1
  91. package/dist/tools/dispatcher-admin.js +135 -18
  92. package/dist/tools/dispatcher-admin.js.map +1 -1
  93. package/dist/tools/dispatcher-memory.d.ts.map +1 -1
  94. package/dist/tools/dispatcher-memory.js +905 -826
  95. package/dist/tools/dispatcher-memory.js.map +1 -1
  96. package/dist/tools/find.d.ts.map +1 -1
  97. package/dist/tools/find.js +15 -1
  98. package/dist/tools/find.js.map +1 -1
  99. package/dist/tools/sessions.d.ts.map +1 -1
  100. package/dist/tools/sessions.js +125 -24
  101. package/dist/tools/sessions.js.map +1 -1
  102. package/dist/types.d.ts +30 -0
  103. package/dist/types.d.ts.map +1 -1
  104. package/dist/utils.d.ts +9 -0
  105. package/dist/utils.d.ts.map +1 -1
  106. package/dist/utils.js +21 -0
  107. package/dist/utils.js.map +1 -1
  108. package/package.json +2 -2
package/README.md CHANGED
@@ -194,7 +194,7 @@ npm install -g engram-mcp-server
194
194
  engram install --ide <your-ide>
195
195
  ```
196
196
 
197
- Available `--ide` values: `claudecode`, `claudedesktop`, `vscode`, `cursor`, `windsurf`, `antigravity`, `visualstudio`, `cline`, `trae`, `jetbrains`
197
+ Available `--ide` values: `vscode`, `cursor`, `windsurf`, `antigravity`, `claudecode`, `claudedesktop`, `visualstudio`, `cline`, `roocode`, `geminicli`, `firebasestudio`, `trae`, `jetbrains`
198
198
 
199
199
  > **Note:** During install you may see `npm warn deprecated prebuild-install@7.1.3`. This is a cosmetic warning from a transitive dependency used to download SQLite prebuilt binaries. It does not affect functionality and is safe to ignore.
200
200
 
@@ -271,54 +271,240 @@ The original separate proxy package for maximum token efficiency. Still works; p
271
271
 
272
272
  > The agent should call `engram({"action":"start"})` first. The response includes `tool_catalog` with all available actions.
273
273
 
274
+ ### Engram Database Location
275
+
276
+ Engram maintains a **SQLite database** — one per project — that stores all agent memory.
277
+
278
+ | How you run Engram | Database path |
279
+ |---|---|
280
+ | Project-local MCP config (default) | `<project-root>/.engram/memory.db` — auto-detected via git root, `.engram` marker, `package.json` walk-up |
281
+ | No project root found (non-project dir) | `~/.engram/global/memory.db` — global fallback, logged as a warning |
282
+ | `npm install -g engram-mcp-server` + global IDE config (no `--project-root`) | `~/.engram/global/memory.db` — global memory shared across all projects |
283
+
284
+ > **`--project-root` flag** — The most reliable way to pin the database. IDEs that support workspace variables (VS Code, Cursor, Visual Studio, Trae) inject this automatically. For IDEs without workspace variable support (Windsurf, Antigravity, Gemini CLI, Claude Desktop), add `"--project-root=/absolute/path/to/your/project"` to the `args` array manually.
285
+ >
286
+ > `npm install -g engram-mcp-server` makes the `engram` command available globally. When Engram is configured in a **user-level** (global) IDE config without `--project-root`, it cannot detect a specific project and initializes its database at the global fallback `~/.engram/global/memory.db`. This is intentional — a global config serves all projects simultaneously.
287
+
288
+ ---
289
+
274
290
  ### Option 5: Manual Configuration
275
291
 
276
- If you prefer to configure manually, find your IDE below:
292
+ If you prefer to configure manually, find your IDE below. Each entry shows the correct config file path and JSON format.
293
+
294
+ > **Config key note:** VS Code, Visual Studio, and JetBrains use `"servers"` as the top-level key. All other IDEs use `"mcpServers"`.
295
+
296
+ <details>
297
+ <summary><strong>VS Code (GitHub Copilot)</strong></summary>
298
+
299
+ **Local (recommended)** — create `.vscode/mcp.json` in your project root:
300
+
301
+ ```json
302
+ {
303
+ "servers": {
304
+ "engram": {
305
+ "type": "stdio",
306
+ "command": "npx",
307
+ "args": ["-y", "engram-mcp-server", "--project-root=${workspaceFolder}"]
308
+ }
309
+ }
310
+ }
311
+ ```
312
+
313
+ **Global** — `%APPDATA%\Code\User\mcp.json` (Windows) / `~/Library/Application Support/Code/User/mcp.json` (Mac) / `~/.config/Code/User/mcp.json` (Linux):
314
+
315
+ ```json
316
+ {
317
+ "servers": {
318
+ "engram": {
319
+ "type": "stdio",
320
+ "command": "npx",
321
+ "args": ["-y", "engram-mcp-server"]
322
+ }
323
+ }
324
+ }
325
+ ```
326
+
327
+ > `${workspaceFolder}` is expanded by VS Code at spawn time — the database is always placed at the correct project root automatically.
328
+
329
+ </details>
330
+
331
+ <details>
332
+ <summary><strong>Cursor</strong></summary>
333
+
334
+ **Local** — `.cursor/mcp.json` in your project root:
335
+
336
+ ```json
337
+ {
338
+ "mcpServers": {
339
+ "engram": {
340
+ "command": "npx",
341
+ "args": ["-y", "engram-mcp-server", "--project-root=${workspaceFolder}"]
342
+ }
343
+ }
344
+ }
345
+ ```
346
+
347
+ **Global** — `~/.cursor/mcp.json`:
348
+
349
+ ```json
350
+ {
351
+ "mcpServers": {
352
+ "engram": {
353
+ "command": "npx",
354
+ "args": ["-y", "engram-mcp-server"]
355
+ }
356
+ }
357
+ }
358
+ ```
359
+
360
+ > `${workspaceFolder}` is supported in Cursor's `args` field and is expanded at spawn time.
361
+
362
+ </details>
363
+
364
+ <details>
365
+ <summary><strong>Windsurf</strong></summary>
366
+
367
+ **Global** — `~/.codeium/windsurf/mcp_config.json` (Windsurf only supports a single global config):
368
+
369
+ ```json
370
+ {
371
+ "mcpServers": {
372
+ "engram": {
373
+ "command": "npx",
374
+ "args": ["-y", "engram-mcp-server", "--project-root=/absolute/path/to/your/project"]
375
+ }
376
+ }
377
+ }
378
+ ```
379
+
380
+ > Windsurf does not expand workspace-folder variables in MCP args. Replace `/absolute/path/to/your/project` with the actual path, or omit `--project-root` to let Engram auto-detect it (requires the IDE to spawn the process from within a project directory).
381
+
382
+ </details>
383
+
384
+ <details>
385
+ <summary><strong>Antigravity IDE (Gemini)</strong></summary>
386
+
387
+ **Global** — `~/.gemini/antigravity/mcp_config.json`:
388
+
389
+ ```json
390
+ {
391
+ "mcpServers": {
392
+ "engram": {
393
+ "command": "npx",
394
+ "args": ["-y", "engram-mcp-server", "--project-root=/absolute/path/to/your/project"]
395
+ }
396
+ }
397
+ }
398
+ ```
399
+
400
+ > Antigravity IDE (the desktop app) uses a separate config file from the Gemini CLI. Replace `/absolute/path/to/your/project` with your project path. Antigravity does not expand workspace-folder variables in MCP args.
401
+
402
+ </details>
277
403
 
278
404
  <details>
279
405
  <summary><strong>Claude Code (CLI)</strong></summary>
280
406
 
281
- Run this in your terminal:
407
+ **Via CLI (user-level, recommended):**
282
408
 
283
409
  ```bash
410
+ # Windows
284
411
  claude mcp add-json --scope=user engram '{"type":"stdio","command":"cmd","args":["/c","npx","-y","engram-mcp-server"]}'
412
+
413
+ # Mac / Linux
414
+ claude mcp add-json --scope=user engram '{"type":"stdio","command":"npx","args":["-y","engram-mcp-server"]}'
415
+ ```
416
+
417
+ **Project-level** — `.mcp.json` in your project root:
418
+
419
+ ```json
420
+ {
421
+ "mcpServers": {
422
+ "engram": {
423
+ "type": "stdio",
424
+ "command": "npx",
425
+ "args": ["-y", "engram-mcp-server"]
426
+ }
427
+ }
428
+ }
285
429
  ```
286
430
 
287
- _(Omit `"command":"cmd"` and `"args":["/c", ...]` on Mac/Linux, use just `"command":"npx"`)._
431
+ **User-level** `~/.claude.json`:
432
+
433
+ ```json
434
+ {
435
+ "mcpServers": {
436
+ "engram": {
437
+ "type": "stdio",
438
+ "command": "npx",
439
+ "args": ["-y", "engram-mcp-server"]
440
+ }
441
+ }
442
+ }
443
+ ```
444
+
445
+ > Claude Code auto-detects the project root from the working directory when the server is spawned. Add `"--project-root=/path/to/project"` to `args` to pin it explicitly.
288
446
 
289
447
  </details>
290
448
 
291
449
  <details>
292
450
  <summary><strong>Claude Desktop</strong></summary>
293
451
 
294
- Add to your `claude_desktop_config.json`:
452
+ Edit `claude_desktop_config.json`:
295
453
 
296
454
  - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
297
455
  - **Mac:** `~/Library/Application Support/Claude/claude_desktop_config.json`
456
+ - **Linux:** `~/.config/Claude/claude_desktop_config.json`
298
457
 
299
458
  ```json
300
459
  {
301
460
  "mcpServers": {
302
461
  "engram": {
303
462
  "command": "npx",
304
- "args": ["-y", "engram-mcp-server"]
463
+ "args": ["-y", "engram-mcp-server", "--project-root=/absolute/path/to/your/project"]
305
464
  }
306
465
  }
307
466
  }
308
467
  ```
309
468
 
469
+ **Windows** (use `cmd` wrapper — `npx` is a `.cmd` file on Windows):
470
+
471
+ ```json
472
+ {
473
+ "mcpServers": {
474
+ "engram": {
475
+ "command": "cmd",
476
+ "args": ["/c", "npx", "-y", "engram-mcp-server", "--project-root=C:\\path\\to\\your\\project"]
477
+ }
478
+ }
479
+ }
480
+ ```
481
+
482
+ > Claude Desktop is a global app with no concept of a current project. Always specify `--project-root` to direct Engram to the correct project database. Without it, Engram falls back to `~/.engram/global/memory.db`.
483
+
310
484
  </details>
311
485
 
312
486
  <details>
313
- <summary><strong>VS Code (GitHub Copilot)</strong></summary>
487
+ <summary><strong>Visual Studio 2022 / 2026</strong></summary>
314
488
 
315
- Create `.vscode/mcp.json` in your project root, or add to your global user `settings.json`:
489
+ **Local (recommended)** — `.vs/mcp.json` or `.mcp.json` in your solution root:
490
+
491
+ ```json
492
+ {
493
+ "servers": {
494
+ "engram": {
495
+ "command": "npx",
496
+ "args": ["-y", "engram-mcp-server", "--project-root=${SolutionDir}"]
497
+ }
498
+ }
499
+ }
500
+ ```
501
+
502
+ **Global** — `%USERPROFILE%\.mcp.json`:
316
503
 
317
504
  ```json
318
505
  {
319
506
  "servers": {
320
507
  "engram": {
321
- "type": "stdio",
322
508
  "command": "npx",
323
509
  "args": ["-y", "engram-mcp-server"]
324
510
  }
@@ -326,12 +512,18 @@ Create `.vscode/mcp.json` in your project root, or add to your global user `sett
326
512
  }
327
513
  ```
328
514
 
515
+ > Note: Visual Studio uses `"servers"` (not `"mcpServers"`) as the config key. `${SolutionDir}` is expanded by Visual Studio at spawn time.
516
+
329
517
  </details>
330
518
 
331
519
  <details>
332
- <summary><strong>Cursor & Windsurf</strong></summary>
520
+ <summary><strong>Cline</strong></summary>
521
+
522
+ Open the Cline extension settings → MCP Servers, or edit the settings file directly:
333
523
 
334
- For Cursor, edit `~/.cursor/mcp.json`. For Windsurf, edit `~/.codeium/windsurf/mcp_config.json`:
524
+ - **Windows:** `%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json`
525
+ - **Mac:** `~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
526
+ - **Linux:** `~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json`
335
527
 
336
528
  ```json
337
529
  {
@@ -344,12 +536,20 @@ For Cursor, edit `~/.cursor/mcp.json`. For Windsurf, edit `~/.codeium/windsurf/m
344
536
  }
345
537
  ```
346
538
 
539
+ > Cline spawns the MCP server with the VS Code workspace as CWD, so Engram auto-detects the correct project root in most cases.
540
+
347
541
  </details>
348
542
 
349
543
  <details>
350
- <summary><strong>Visual Studio 2022/2026</strong></summary>
544
+ <summary><strong>Roo Code</strong></summary>
545
+
546
+ **Global** — open Roo Code settings → MCP Servers, or edit:
547
+
548
+ - **Windows:** `%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.json`
549
+ - **Mac:** `~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json`
550
+ - **Linux:** `~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json`
351
551
 
352
- Create `.vs/mcp.json` in your solution root:
552
+ **Local (project-level)** — `.roo/mcp.json` in your project root:
353
553
 
354
554
  ```json
355
555
  {
@@ -362,18 +562,32 @@ Create `.vs/mcp.json` in your solution root:
362
562
  }
363
563
  ```
364
564
 
565
+ > Roo Code is the fork of Cline under a separate VS Code extension (`rooveterinaryinc.roo-cline`). The settings filename is `mcp_settings.json` — different from Cline's `cline_mcp_settings.json`.
566
+
365
567
  </details>
366
568
 
367
569
  <details>
368
- <summary><strong>Trae IDE</strong></summary>
570
+ <summary><strong>Gemini CLI</strong></summary>
369
571
 
370
- For Trae IDE, edit `.trae/mcp.json` in your project root:
572
+ **Global** `~/.gemini/settings.json`:
573
+
574
+ ```json
575
+ {
576
+ "mcpServers": {
577
+ "engram": {
578
+ "command": "npx",
579
+ "args": ["-y", "engram-mcp-server", "--project-root=/absolute/path/to/your/project"]
580
+ }
581
+ }
582
+ }
583
+ ```
584
+
585
+ **Local (project-level)** — `.gemini/settings.json` in your project root:
371
586
 
372
587
  ```json
373
588
  {
374
589
  "mcpServers": {
375
590
  "engram": {
376
- "type": "stdio",
377
591
  "command": "npx",
378
592
  "args": ["-y", "engram-mcp-server"]
379
593
  }
@@ -381,12 +595,14 @@ For Trae IDE, edit `.trae/mcp.json` in your project root:
381
595
  }
382
596
  ```
383
597
 
598
+ > Gemini CLI reads both `~/.gemini/settings.json` (global) and `.gemini/settings.json` (project-level). The project-level config is only read when Gemini CLI is invoked from within that directory. Gemini CLI expands `$VAR` and `${VAR}` OS environment variables only — not workspace-folder placeholders.
599
+
384
600
  </details>
385
601
 
386
602
  <details>
387
- <summary><strong>JetBrains (Copilot Plugin)</strong></summary>
603
+ <summary><strong>Firebase Studio (Project IDX)</strong></summary>
388
604
 
389
- Edit `~/.config/github-copilot/intellij/mcp.json` or use the built-in Settings MCP Server:
605
+ **Local** — `.idx/mcp.json` in your workspace root (Firebase Studio / Project IDX uses project-level config only):
390
606
 
391
607
  ```json
392
608
  {
@@ -399,24 +615,51 @@ Edit `~/.config/github-copilot/intellij/mcp.json` or use the built-in Settings
399
615
  }
400
616
  ```
401
617
 
618
+ > Create the file via **Explorer → `.idx` directory → New file → `mcp.json`**, or use the Command Palette: **Firebase Studio: Add MCP Server**. For Gemini CLI inside Firebase Studio, use `.gemini/settings.json` instead (see Gemini CLI above).
619
+
402
620
  </details>
403
621
 
404
622
  <details>
405
- <summary><strong>Cline / Roo Code</strong></summary>
623
+ <summary><strong>Trae IDE</strong></summary>
406
624
 
407
- In the extension settings MCP Servers:
625
+ **Local** `.trae/mcp.json` in your project root:
408
626
 
409
627
  ```json
410
628
  {
411
629
  "mcpServers": {
412
630
  "engram": {
631
+ "type": "stdio",
413
632
  "command": "npx",
414
- "args": ["-y", "engram-mcp-server"]
633
+ "args": ["-y", "engram-mcp-server", "--project-root=${workspaceFolder}"]
634
+ }
635
+ }
636
+ }
637
+ ```
638
+
639
+ > Trae IDE supports `${workspaceFolder}` in `args` and expands it at spawn time. Trae only supports project-level (local) MCP config — no user-level global config path is documented.
640
+
641
+ </details>
642
+
643
+ <details>
644
+ <summary><strong>JetBrains (GitHub Copilot Plugin)</strong></summary>
645
+
646
+ **Recommended:** configure via **Settings → Tools → AI Assistant → Model Context Protocol (MCP)**.
647
+
648
+ **Manual file** — `~/.config/github-copilot/intellij/mcp.json` (community-sourced path; not officially documented by JetBrains):
649
+
650
+ ```json
651
+ {
652
+ "servers": {
653
+ "engram": {
654
+ "command": "npx",
655
+ "args": ["-y", "engram-mcp-server", "--project-root=/absolute/path/to/your/project"]
415
656
  }
416
657
  }
417
658
  }
418
659
  ```
419
660
 
661
+ > Note: JetBrains uses `"servers"` (not `"mcpServers"`) as the config key — same as VS Code. The file-based path above is best-effort; use the Settings UI for a guaranteed configuration.
662
+
420
663
  </details>
421
664
 
422
665
  ### Verifying Your Installation
@@ -519,7 +762,19 @@ All capabilities route through **4 dispatcher tools** via an `action` parameter.
519
762
 
520
763
  ---
521
764
 
522
- ### 💾 Your Data, Your Machine
765
+ ### Built-in Project Management Framework
766
+
767
+ Engram ships a two-tier project management framework that runs inside the agent — no external PM tool needed.
768
+
769
+ **PM-Lite (always on):** Passive workflow nudges delivered at session start — reminders to record changes, check file notes before opening, log decisions, and end sessions cleanly. Zero configuration. Disable with `engram_admin({ action: "disable_pm_lite" })`.
770
+
771
+ **PM-Full (opt-in):** A full 6-phase execution framework with phase-aware task tagging, automated phase gate checklists, a built-in knowledge base (principles, phase instructions, PERT estimation), and extended discipline nudges for scope control and risk management. Engram offers PM-Full automatically when it detects structured project patterns. Activate manually with `engram_admin({ action: "enable_pm" })`.
772
+
773
+ PM errors are always isolated — they never block core Engram operations.
774
+
775
+ ---
776
+
777
+ ### �💾 Your Data, Your Machine
523
778
 
524
779
  No cloud. No telemetry. No authentication surface. Memory lives in a local SQLite WAL file at `.engram/memory.db`. `backup` creates a portable copy to any path. `export` serializes everything to JSON. You own it entirely.
525
780
 
@@ -670,6 +925,7 @@ Engram v1.7.0 exposes **4 dispatcher tools** (or 1 tool in `--mode=universal`).
670
925
  | `route_task` | Find the best-matched agent for a task based on specialization scoring. |
671
926
  | `broadcast` | Send a message to all agents. |
672
927
  | `dump` | Auto-classify unstructured text into decisions, tasks, conventions, findings. |
928
+ | `get_knowledge` | **v1.10** Query the PM knowledge base (PM-Full only). `knowledge_type`: `principles` \| `phase_info` \| `checklist` \| `estimation`. Pass `phase: N` for phase-specific content. |
673
929
 
674
930
  ### `engram_admin` — Maintenance & Git Hooks
675
931
 
@@ -688,6 +944,41 @@ Engram v1.7.0 exposes **4 dispatcher tools** (or 1 tool in `--mode=universal`).
688
944
  | `scan_project` | Scan and cache project filesystem structure. |
689
945
  | `install_hooks` | Write Engram post-commit git hook to `.git/hooks/`. |
690
946
  | `remove_hooks` | Remove Engram hook from `.git/hooks/post-commit`. |
947
+ | `enable_pm` | Activate PM-Full mode (phase gates, checklists, knowledge). |
948
+ | `disable_pm` | Deactivate PM-Full mode. |
949
+ | `disable_pm_lite` | Disable PM-Lite workflow nudges. |
950
+ | `decline_pm` | Permanently dismiss the PM-Full offer for this project. |
951
+ | `reset_pm_offer` | Clear the PM-Full offer/declined flags. |
952
+ | `pm_status` | Get PM health, active mode, advisor stats, and diagnostics. |
953
+
954
+ ### Project Management Mode
955
+
956
+ Engram includes a built-in Project Execution Framework with two levels:
957
+
958
+ **PM-Lite (ON by default):** Provides smart workflow nudges — reminders to record changes,
959
+ check file notes, and log decisions. Zero configuration needed. Disable with
960
+ `engram_admin({ action: "disable_pm_lite" })`.
961
+
962
+ **PM-Full (opt-in):** Activates the full 6-phase project management framework with:
963
+ - Phase-aware task tagging (`tags: ["phase:planning"]`)
964
+ - Phase gate checklists (auto-triggered when all tasks for a phase complete)
965
+ - Built-in knowledge base: principles, phase instructions, estimation guidance
966
+ - Extended workflow nudges for phase discipline, scope control, and risk management
967
+
968
+ Activate with `engram_admin({ action: "enable_pm" })`. Engram also offers PM-Full
969
+ automatically when it detects structured project work (3+ tasks, phase tags, or PM keywords).
970
+
971
+ **Knowledge Base (PM-Full only):**
972
+
973
+ | Query | Returns |
974
+ |-------|---------|
975
+ | `engram_memory({ action: "get_knowledge", knowledge_type: "principles" })` | 5 core PM principles |
976
+ | `engram_memory({ action: "get_knowledge", knowledge_type: "phase_info", phase: 3 })` | Phase 3 entry/exit criteria + instruction summaries |
977
+ | `engram_memory({ action: "get_knowledge", knowledge_type: "checklist", phase: 3 })` | Phase Gate 3→4 checklist |
978
+ | `engram_memory({ action: "get_knowledge", knowledge_type: "estimation" })` | PERT formula and estimation guidance |
979
+
980
+ **Diagnostics:** `engram_admin({ action: "pm_status" })` returns PM health, detected phase,
981
+ advisor nudge state, and recent failures. PM errors are always isolated — they never block core Engram operations.
691
982
 
692
983
  ### `engram_find` — Discovery & Linting
693
984
 
@@ -712,7 +1003,7 @@ engram_session({ action: "start", agent_name: "claude", verbosity: "summary", fo
712
1003
  ```
713
1004
  - `project_root` (optional): Pass the absolute path to the workspace when the IDE may not set cwd to the project directory (e.g. Antigravity, Windsurf, Claude Desktop). Engram will re-initialize its database at the correct location. Omit if the IDE already provides `${workspaceFolder}` (VS Code, Cursor).
714
1005
 
715
- Act on everything returned: `active_decisions` (binding), `active_conventions` (enforce), `open_tasks`, `agent_rules`, `triggered_events`.
1006
+ Act on everything returned: `active_decisions` (binding), `active_conventions` (enforce), `open_tasks`, `agent_rules` (binding), `pm_agent_rules` (binding when PM-Full active), `triggered_events`, `abandoned_work` (resume or discard).
716
1007
  Unknown action? → `engram_find({ query: "what I want to do" })`
717
1008
 
718
1009
  ### Before Opening Any File
@@ -878,6 +1169,11 @@ engram_memory({
878
1169
  {
879
1170
  "priority": "MEDIUM",
880
1171
  "rule": "Use verbosity:'nano' or 'minimal' for start_session when context is tight; use 'summary' (default) for normal sessions."
1172
+ },
1173
+ {
1174
+ "priority": "MEDIUM",
1175
+ "rule": "When PM-Full mode is active: tag tasks with phase:N, check phase gate checklists before advancing phases, use get_knowledge for PM guidance.",
1176
+ "condition": "pm_full_enabled"
881
1177
  }
882
1178
  ]
883
1179
  ```
@@ -3,7 +3,15 @@ export declare const SERVER_VERSION: string;
3
3
  export declare const TOOL_PREFIX = "engram";
4
4
  export declare const DB_DIR_NAME = ".engram";
5
5
  export declare const DB_FILE_NAME = "memory.db";
6
- export declare const DB_VERSION = 22;
6
+ export declare const DB_VERSION = 24;
7
+ /** Maps canonical phase name strings (from task tags like `phase:planning`) to phase numbers 1-6. */
8
+ export declare const PHASE_MAP: Record<string, number>;
9
+ /** Keywords in task titles that indicate PM-heavy work and may trigger PM-Full offer. */
10
+ export declare const PM_KEYWORDS: ReadonlyArray<string>;
11
+ /** Maximum number of PM nudges that can be surfaced within a single session. */
12
+ export declare const PM_MAX_NUDGES = 5;
13
+ /** Semantic version of the bundled PM knowledge base (principles, phases, checklists). */
14
+ export declare const KNOWLEDGE_BASE_VERSION = "1.0";
7
15
  export declare const MAX_FILE_TREE_DEPTH = 5;
8
16
  export declare const MAX_FILE_TREE_ENTRIES = 500;
9
17
  export declare const MAX_SEARCH_RESULTS = 50;
@@ -67,6 +75,7 @@ export declare const CFG_SHARING_MODE = "sharing_mode";
67
75
  export declare const CFG_SHARING_TYPES = "sharing_types";
68
76
  export declare const CFG_SENSITIVE_KEYS = "sensitive_keys";
69
77
  export declare const CFG_HTTP_TOKEN = "http_token";
78
+ export declare const CFG_INSTANCE_VISIBLE = "instance_visible";
70
79
  export declare const INSTANCE_REGISTRY_DIR = ".engram";
71
80
  export declare const INSTANCE_REGISTRY_FILE = "instances.json";
72
81
  export declare const HEARTBEAT_INTERVAL_MS = 60000;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,eAAO,MAAM,cAAc,EAAE,MAAqB,CAAC;AACnD,eAAO,MAAM,WAAW,WAAW,CAAC;AAGpC,eAAO,MAAM,WAAW,YAAY,CAAC;AACrC,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,UAAU,KAAK,CAAC;AAG7B,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,iCAAiC,KAAK,CAAC;AACpD,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAGnC,eAAO,MAAM,aAAa,aAqBxB,CAAC;AAKH;;;GAGG;AACH,eAAO,MAAM,sBAAsB,mBAQzB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,UAkBhC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,UAG3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAmBzC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGxD;AAGD,eAAO,MAAM,gBAAgB,wDAAwD,CAAC;AACtF,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,eAAO,MAAM,mBAAmB,kDAAkD,CAAC;AACnF,eAAO,MAAM,uBAAuB,mEAAmE,CAAC;AAGxG,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AACnE,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AACjE,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AACjE,eAAO,MAAM,4BAA4B,6BAA6B,CAAC;AACvE,eAAO,MAAM,4BAA4B,6BAA6B,CAAC;AACvE,eAAO,MAAM,4BAA4B,6BAA6B,CAAC;AAGvE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAC7D,eAAO,MAAM,cAAc,eAAe,CAAC;AAC3C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AACjD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,cAAc,eAAe,CAAC;AAG3C,eAAO,MAAM,qBAAqB,YAAY,CAAC;AAC/C,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAC5C,eAAO,MAAM,kBAAkB,QAAa,CAAC;AAC7C,eAAO,MAAM,kBAAkB,QAAuB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,qBAAqB,UAA+B,CAAC;AAGlE,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAYnD,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
package/dist/constants.js CHANGED
@@ -13,7 +13,34 @@ export const TOOL_PREFIX = "engram";
13
13
  // Database
14
14
  export const DB_DIR_NAME = ".engram";
15
15
  export const DB_FILE_NAME = "memory.db";
16
- export const DB_VERSION = 22; // V18 http-token, V19 soft-delete, V20 audit-log, V21 import-jobs, V22 annotations
16
+ export const DB_VERSION = 24; // V18 http-token, V19 soft-delete, V20 audit-log, V21 import-jobs, V22 annotations, V23 pm-convention-upgrade, V24 observations
17
+ // PM Framework — Phase / Keyword / Nudge constants
18
+ /** Maps canonical phase name strings (from task tags like `phase:planning`) to phase numbers 1-6. */
19
+ export const PHASE_MAP = {
20
+ initiation: 1,
21
+ planning: 2,
22
+ execution: 3,
23
+ quality: 4,
24
+ finalization: 5,
25
+ handover: 6,
26
+ documentation: 6,
27
+ };
28
+ /** Keywords in task titles that indicate PM-heavy work and may trigger PM-Full offer. */
29
+ export const PM_KEYWORDS = [
30
+ "milestone",
31
+ "phase gate",
32
+ "deliverable",
33
+ "wbs",
34
+ "risk register",
35
+ "sprint",
36
+ "iteration",
37
+ "kickoff",
38
+ "handover",
39
+ ];
40
+ /** Maximum number of PM nudges that can be surfaced within a single session. */
41
+ export const PM_MAX_NUDGES = 5;
42
+ /** Semantic version of the bundled PM knowledge base (principles, phases, checklists). */
43
+ export const KNOWLEDGE_BASE_VERSION = "1.0";
17
44
  // Limits
18
45
  export const MAX_FILE_TREE_DEPTH = 5;
19
46
  export const MAX_FILE_TREE_ENTRIES = 500;
@@ -156,6 +183,7 @@ export const CFG_SHARING_MODE = "sharing_mode"; // "none" | "read" | "full"
156
183
  export const CFG_SHARING_TYPES = "sharing_types"; // JSON array of table names
157
184
  export const CFG_SENSITIVE_KEYS = "sensitive_keys"; // JSON array of decision/convention IDs marked sensitive
158
185
  export const CFG_HTTP_TOKEN = "http_token"; // Bearer token for dashboard API (file fallback: .engram/token)
186
+ export const CFG_INSTANCE_VISIBLE = "instance_visible"; // "true" | "false" — controls permanent enrollment in registry
159
187
  // Instance registry
160
188
  export const INSTANCE_REGISTRY_DIR = ".engram";
161
189
  export const INSTANCE_REGISTRY_FILE = "instances.json";
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Database as DatabaseType } from "better-sqlite3";
2
2
  import { type Repositories } from "./repositories/index.js";
3
- import { CompactionService, ProjectScanService, GitService, EventTriggerService, UpdateService, AgentRulesService, InstanceRegistryService, CrossInstanceService, SensitiveDataService } from "./services/index.js";
3
+ import { CompactionService, ProjectScanService, GitService, EventTriggerService, UpdateService, AgentRulesService, InstanceRegistryService, CrossInstanceService, SensitiveDataService, WorkflowAdvisorService, PMDiagnosticsTracker } from "./services/index.js";
4
4
  export interface Services {
5
5
  compaction: CompactionService;
6
6
  scan: ProjectScanService;
@@ -11,6 +11,8 @@ export interface Services {
11
11
  registry: InstanceRegistryService;
12
12
  crossInstance: CrossInstanceService;
13
13
  sensitiveData: SensitiveDataService;
14
+ advisor: WorkflowAdvisorService;
15
+ diagnostics: PMDiagnosticsTracker;
14
16
  }
15
17
  export declare function initDatabase(projectRoot: string, ideKey?: string): DatabaseType;
16
18
  export declare function getDb(): DatabaseType;
@@ -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,uBAAuB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAKpN,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;IAC9B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,aAAa,EAAE,oBAAoB,CAAC;IACpC,aAAa,EAAE,oBAAoB,CAAC;CACrC;AA4ED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CA6D/E;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;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;IACvE,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CA4DA;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBxD;AAmCD,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,uBAAuB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAKlQ,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;IAC9B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,aAAa,EAAE,oBAAoB,CAAC;IACpC,aAAa,EAAE,oBAAoB,CAAC;IACpC,OAAO,EAAE,sBAAsB,CAAC;IAChC,WAAW,EAAE,oBAAoB,CAAC;CACnC;AA4ED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAgE/E;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;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;IACvE,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CA4DA;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAwBxD;AAmCD,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"}