wyrm-mcp 3.2.1 β†’ 3.4.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 (50) hide show
  1. package/README.md +50 -10
  2. package/dist/autoconfig.d.ts +11 -0
  3. package/dist/autoconfig.d.ts.map +1 -1
  4. package/dist/autoconfig.js +63 -0
  5. package/dist/autoconfig.js.map +1 -1
  6. package/dist/capture.d.ts +19 -0
  7. package/dist/capture.d.ts.map +1 -0
  8. package/dist/capture.js +56 -0
  9. package/dist/capture.js.map +1 -0
  10. package/dist/database.d.ts +0 -1
  11. package/dist/database.d.ts.map +1 -1
  12. package/dist/database.js +7 -203
  13. package/dist/database.js.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +1243 -40
  17. package/dist/index.js.map +1 -1
  18. package/dist/indexer.d.ts +84 -0
  19. package/dist/indexer.d.ts.map +1 -0
  20. package/dist/indexer.js +160 -0
  21. package/dist/indexer.js.map +1 -0
  22. package/dist/intelligence.d.ts +116 -0
  23. package/dist/intelligence.d.ts.map +1 -0
  24. package/dist/intelligence.js +278 -0
  25. package/dist/intelligence.js.map +1 -0
  26. package/dist/knowledge-graph.d.ts +113 -0
  27. package/dist/knowledge-graph.d.ts.map +1 -0
  28. package/dist/knowledge-graph.js +235 -0
  29. package/dist/knowledge-graph.js.map +1 -0
  30. package/dist/memory-artifacts.d.ts +106 -0
  31. package/dist/memory-artifacts.d.ts.map +1 -0
  32. package/dist/memory-artifacts.js +291 -0
  33. package/dist/memory-artifacts.js.map +1 -0
  34. package/dist/migrations.d.ts +31 -0
  35. package/dist/migrations.d.ts.map +1 -0
  36. package/dist/migrations.js +525 -0
  37. package/dist/migrations.js.map +1 -0
  38. package/dist/providers/embedding-provider.d.ts +81 -0
  39. package/dist/providers/embedding-provider.d.ts.map +1 -0
  40. package/dist/providers/embedding-provider.js +149 -0
  41. package/dist/providers/embedding-provider.js.map +1 -0
  42. package/dist/vectors.d.ts +32 -48
  43. package/dist/vectors.d.ts.map +1 -1
  44. package/dist/vectors.js +119 -225
  45. package/dist/vectors.js.map +1 -1
  46. package/dist/wyrm-cli.d.ts +11 -0
  47. package/dist/wyrm-cli.d.ts.map +1 -0
  48. package/dist/wyrm-cli.js +709 -0
  49. package/dist/wyrm-cli.js.map +1 -0
  50. package/package.json +3 -3
package/README.md CHANGED
@@ -3,8 +3,8 @@
3
3
  > Your AI forgets everything between sessions. Wyrm remembers.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/wyrm-mcp?color=22c55e&label=npm)](https://www.npmjs.com/package/wyrm-mcp)
6
- [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](LICENSE)
7
- [![Tests](https://img.shields.io/badge/tests-79%20passing-22c55e)](packages/mcp-server)
6
+ [![License: Proprietary](https://img.shields.io/badge/License-Proprietary%20Freeware-green.svg)](LICENSE)
7
+ [![Tests](https://img.shields.io/badge/tests-464%20passing-22c55e)](packages/mcp-server)
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.0-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
9
9
  [![MCP](https://img.shields.io/badge/MCP-compatible-purple)](https://modelcontextprotocol.io)
10
10
 
@@ -37,6 +37,12 @@ AI: *checks Wyrm* "We went with JWT + refresh tokens, stored in httpOnly cookie
37
37
  - πŸ“ˆ **Usage Analytics** β€” Token tracking, cost estimation, session metrics
38
38
  - πŸ”„ **Markdown Sync** β€” Bi-directional sync between database and `.wyrm/` project files
39
39
  - πŸš€ **Zero Config** β€” Install, connect, done. No databases to set up, no services to run.
40
+ - πŸ•ΈοΈ **Knowledge Graph** β€” Entity/relationship graph with neighborhood traversal and path finding
41
+ - 🧠 **Memory Artifacts** β€” Store lessons, patterns, anti-patterns, heuristics with confidence scoring and lifecycle tracking
42
+ - 🧱 **Ground Truths** β€” Versioned, validated project facts injected into every AI context build
43
+ - 🧭 **Reasoning Scaffolds** β€” Structured checklists surfaced automatically when task type matches
44
+ - πŸ”¬ **Distillation Queue** β€” Batch-extract session knowledge into reviewed, curated memory
45
+ - πŸ” **Hybrid Search** β€” Reciprocal Rank Fusion combining FTS5 + vector candidates
40
46
 
41
47
  ---
42
48
 
@@ -45,11 +51,7 @@ AI: *checks Wyrm* "We went with JWT + refresh tokens, stored in httpOnly cookie
45
51
  ### 1. Install
46
52
 
47
53
  ```bash
48
- # From source (recommended for now)
49
- git clone https://github.com/ghosts-lk/Wyrm.git
50
- cd Wyrm/packages/mcp-server
51
- npm install && npm run build
52
- npm link
54
+ npm install -g wyrm-mcp
53
55
  ```
54
56
 
55
57
  ### 2. Connect to Your AI
@@ -160,7 +162,7 @@ Once connected, your AI has access to all Wyrm tools. Try:
160
162
 
161
163
  ## MCP Tools Reference
162
164
 
163
- Wyrm exposes 31 tools via the Model Context Protocol:
165
+ Wyrm exposes 38 tools via the Model Context Protocol:
164
166
 
165
167
  ### Projects
166
168
 
@@ -227,6 +229,37 @@ Wyrm exposes 31 tools via the Model Context Protocol:
227
229
  | `wyrm_orchestration_config` | View or update orchestration settings |
228
230
  | `wyrm_orchestration_stats` | Orchestration effectiveness and task distribution |
229
231
 
232
+ ### Knowledge Graph
233
+
234
+ | Tool | Description |
235
+ |------|-------------|
236
+ | `wyrm_entity_add` | Add a named entity to the project's knowledge graph |
237
+ | `wyrm_entity_link` | Create a typed, directional relationship between two entities |
238
+ | `wyrm_entity_search` | Find entities by name or alias |
239
+ | `wyrm_entity_graph` | Get the neighborhood graph around an entity (recursive traversal) |
240
+ | `wyrm_entity_path` | Find shortest path between two entities |
241
+ | `wyrm_entity_merge` | Merge two duplicate entities, consolidating aliases and relationships |
242
+
243
+ ### Memory Artifacts
244
+
245
+ | Tool | Description |
246
+ |------|-------------|
247
+ | `wyrm_remember` | Store a distilled memory artifact β€” pattern, lesson, anti-pattern, heuristic, or reasoning trace |
248
+ | `wyrm_recall` | Retrieve relevant memory artifacts for a task using 2-stage FTS + tag retrieval with confidence scoring |
249
+ | `wyrm_feedback` | Record whether a recalled artifact was helpful (updates confidence via Bayesian adjustment) |
250
+ | `wyrm_context_build` | Assemble a task-specific context brief: ground truths + best scaffold + relevant memory artifacts |
251
+
252
+ ### Intelligence Amplification
253
+
254
+ | Tool | Description |
255
+ |------|-------------|
256
+ | `wyrm_truth_set` | Store a validated ground truth (architecture, constraints, decisions) β€” versioned, history preserved |
257
+ | `wyrm_truth_get` | Retrieve all current ground truths for a project, optionally filtered by category |
258
+ | `wyrm_scaffold_save` | Save a reasoning scaffold β€” structured step-by-step checklist for a problem type |
259
+ | `wyrm_scaffold_get` | Find the best matching reasoning scaffold for a task description |
260
+ | `wyrm_distill` | Queue candidate memory artifacts from a session for human review |
261
+ | `wyrm_review` | Approve (activate) or reject (delete) a queued distillation artifact |
262
+
230
263
  ---
231
264
 
232
265
  ## Configuration
@@ -283,12 +316,19 @@ These sync bi-directionally with the SQLite database via `wyrm_sync`.
283
316
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
284
317
  β”‚ Wyrm MCP Server β”‚
285
318
  β”‚ β”‚
319
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
320
+ β”‚ β”‚ Intelligence Layer β”‚ β”‚
321
+ β”‚ β”‚ Ground Truths Β· Reasoning Scaffolds Β· Distill β”‚ β”‚
322
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
323
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
324
+ β”‚ β”‚ Memory Artifacts Β· Knowledge Graph β”‚ β”‚
325
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
286
326
  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
287
327
  β”‚ β”‚ Projects β”‚ β”‚ Sessions β”‚ β”‚ Quests β”‚ β”‚ Skills β”‚ β”‚
288
328
  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
289
329
  β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
290
- β”‚ β”‚ DataLake β”‚ β”‚ Search β”‚ β”‚ Crypto β”‚ β”‚ Sync β”‚ β”‚
291
- β”‚ β”‚ β”‚ β”‚ (FTS5) β”‚ β”‚(AES-256) β”‚ β”‚ (.md) β”‚ β”‚
330
+ β”‚ β”‚ DataLake β”‚ β”‚ Hybrid β”‚ β”‚ Crypto β”‚ β”‚ Sync β”‚ β”‚
331
+ β”‚ β”‚ β”‚ β”‚ Search β”‚ β”‚(AES-256) β”‚ β”‚ (.md) β”‚ β”‚
292
332
  β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
293
333
  β”‚ β”‚
294
334
  β”‚ SQLite Database (WAL mode) β”‚
@@ -81,6 +81,17 @@ export declare function loadWyrmMeta(): WyrmMeta | null;
81
81
  * Re-configure all previously configured clients (for use after updates)
82
82
  */
83
83
  export declare function reconfAll(): SetupResult[];
84
+ export interface InjectResult {
85
+ injected: string[];
86
+ skipped: string[];
87
+ errors: string[];
88
+ }
89
+ /**
90
+ * Inject Wyrm's session-prime instruction block into AI client instruction files.
91
+ * Supports copilot (.github/copilot-instructions.md) and cursor (.cursor/rules).
92
+ * Uses marker comments to manage the block idempotently (safe to call multiple times).
93
+ */
94
+ export declare function injectSystemPrompt(projectPath: string, clients: string[]): InjectResult;
84
95
  /**
85
96
  * Get a friendly status summary of all AI clients
86
97
  */
@@ -1 +1 @@
1
- {"version":3,"file":"autoconfig.d.ts","sourceRoot":"","sources":["../src/autoconfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2HD;;GAEG;AACH,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CA0B1C;AAoDD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAwC3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AA2CD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,WAAW,CAyFrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,CAqD9D;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,EAAE,CAwBhF;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,WAAW,EAAE,CAS7C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,EAAE,CAmBtG;AAID,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAsBD;;GAEG;AACH,wBAAgB,YAAY,IAAI,QAAQ,GAAG,IAAI,CAS9C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,EAAE,CAWzC;AAkBD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAkCzC"}
1
+ {"version":3,"file":"autoconfig.d.ts","sourceRoot":"","sources":["../src/autoconfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AASH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2HD;;GAEG;AACH,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CA0B1C;AAoDD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAwC3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AA2CD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,WAAW,CAyFrF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,WAAW,CAqD9D;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,EAAE,CAwBhF;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,WAAW,EAAE,CAS7C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,WAAW,EAAE,CAmBtG;AAID,UAAU,QAAQ;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB;AAsBD;;GAEG;AACH,wBAAgB,YAAY,IAAI,QAAQ,GAAG,IAAI,CAS9C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,EAAE,CAWzC;AAWD,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,YAAY,CAmDd;AAkBD;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAkCzC"}
@@ -528,6 +528,69 @@ export function reconfAll() {
528
528
  httpPort: meta.httpPort,
529
529
  });
530
530
  }
531
+ // ==================== SYSTEM PROMPT INJECTION ====================
532
+ const WYRM_MARKER_START = '<!-- wyrm:start -->';
533
+ const WYRM_MARKER_END = '<!-- wyrm:end -->';
534
+ const WYRM_INJECT_BLOCK = `${WYRM_MARKER_START}
535
+ ## Wyrm Memory (Auto-managed β€” do not edit this section)
536
+ At the start of every new conversation about this project, call \`wyrm_session_prime\` to load project context before responding.
537
+ ${WYRM_MARKER_END}`;
538
+ /**
539
+ * Inject Wyrm's session-prime instruction block into AI client instruction files.
540
+ * Supports copilot (.github/copilot-instructions.md) and cursor (.cursor/rules).
541
+ * Uses marker comments to manage the block idempotently (safe to call multiple times).
542
+ */
543
+ export function injectSystemPrompt(projectPath, clients) {
544
+ const result = { injected: [], skipped: [], errors: [] };
545
+ const writeWithMarker = (filePath, label) => {
546
+ try {
547
+ const dir = dirname(filePath);
548
+ if (!existsSync(dir))
549
+ mkdirSync(dir, { recursive: true });
550
+ if (existsSync(filePath)) {
551
+ const existing = readFileSync(filePath, 'utf-8');
552
+ const startIdx = existing.indexOf(WYRM_MARKER_START);
553
+ const endIdx = existing.indexOf(WYRM_MARKER_END);
554
+ if (startIdx !== -1 && endIdx !== -1 && endIdx > startIdx) {
555
+ // Replace existing block
556
+ const before = existing.slice(0, startIdx);
557
+ const after = existing.slice(endIdx + WYRM_MARKER_END.length);
558
+ writeFileSync(filePath, `${before}${WYRM_INJECT_BLOCK}${after}`, 'utf-8');
559
+ }
560
+ else {
561
+ // Append block (ensure newline separation)
562
+ const sep = existing.endsWith('\n') ? '\n' : '\n\n';
563
+ writeFileSync(filePath, `${existing}${sep}${WYRM_INJECT_BLOCK}\n`, 'utf-8');
564
+ }
565
+ }
566
+ else {
567
+ writeFileSync(filePath, `${WYRM_INJECT_BLOCK}\n`, 'utf-8');
568
+ }
569
+ result.injected.push(label);
570
+ }
571
+ catch (e) {
572
+ result.errors.push(`${label}: ${e}`);
573
+ }
574
+ };
575
+ const allClients = clients.length === 0
576
+ ? ['copilot', 'cursor']
577
+ : clients;
578
+ for (const client of allClients) {
579
+ const lc = client.toLowerCase();
580
+ if (lc === 'copilot' || lc === 'vscode-copilot') {
581
+ const filePath = join(projectPath, '.github', 'copilot-instructions.md');
582
+ writeWithMarker(filePath, '.github/copilot-instructions.md');
583
+ }
584
+ else if (lc === 'cursor') {
585
+ const filePath = join(projectPath, '.cursor', 'rules');
586
+ writeWithMarker(filePath, '.cursor/rules');
587
+ }
588
+ else {
589
+ result.skipped.push(client);
590
+ }
591
+ }
592
+ return result;
593
+ }
531
594
  // ==================== UTILITIES ====================
532
595
  /**
533
596
  * Parse JSON with comments (JSONC) - handles VS Code settings files
@@ -1 +1 @@
1
- {"version":3,"file":"autoconfig.js","sourceRoot":"","sources":["../src/autoconfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoconfig.js","sourceRoot":"","sources":["../src/autoconfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Wyrm Capture Helpers β€” Classification logic for unified auto-capture.
3
+ *
4
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd. All Rights Reserved.
5
+ * @license Proprietary - See LICENSE file for details.
6
+ */
7
+ export type CaptureType = 'quest' | 'truth' | 'memory';
8
+ export interface ClassifyResult {
9
+ type: CaptureType;
10
+ subtype: string;
11
+ confidence: number;
12
+ reasoning: string;
13
+ }
14
+ /**
15
+ * Classify a piece of content into quest/truth/memory using heuristic patterns.
16
+ * Patterns are applied in priority order; first match wins.
17
+ */
18
+ export declare function classifyCapture(content: string): ClassifyResult;
19
+ //# sourceMappingURL=capture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAgD/D"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Wyrm Capture Helpers β€” Classification logic for unified auto-capture.
3
+ *
4
+ * @copyright 2026 Ghost Protocol (Pvt) Ltd. All Rights Reserved.
5
+ * @license Proprietary - See LICENSE file for details.
6
+ */
7
+ /**
8
+ * Classify a piece of content into quest/truth/memory using heuristic patterns.
9
+ * Patterns are applied in priority order; first match wins.
10
+ */
11
+ export function classifyCapture(content) {
12
+ // Pattern 1: quest β€” action-oriented task starters
13
+ if (/^(TODO|TASK|QUEST|implement|build|fix|add|create|refactor|migrate|update|remove)\b/i.test(content)) {
14
+ return {
15
+ type: 'quest',
16
+ subtype: 'quest',
17
+ confidence: 85,
18
+ reasoning: 'Starts with action/task keyword β€” classified as a quest',
19
+ };
20
+ }
21
+ // Pattern 2: truth β€” architectural decisions / constraints
22
+ if (/\b(always|never|must not|we use|we decided|architecture decision|constraint:|rule:|standard:)\b/i.test(content)) {
23
+ return {
24
+ type: 'truth',
25
+ subtype: 'decision',
26
+ confidence: 80,
27
+ reasoning: 'Contains ground-truth / decision marker β€” classified as truth',
28
+ };
29
+ }
30
+ // Pattern 3: lesson β€” retrospective / root-cause learning
31
+ if (/\b(learned|lesson|anti-pattern|mistake|bug was|root cause|turned out|retrospective)\b/i.test(content)) {
32
+ return {
33
+ type: 'memory',
34
+ subtype: 'lesson',
35
+ confidence: 80,
36
+ reasoning: 'Contains lesson / retrospective marker β€” classified as lesson',
37
+ };
38
+ }
39
+ // Pattern 4: heuristic β€” guidelines / conditional rules
40
+ if (/\b(when.*use|if.*then|prefer.*over|avoid|guideline|best practice)\b/i.test(content)) {
41
+ return {
42
+ type: 'memory',
43
+ subtype: 'heuristic',
44
+ confidence: 75,
45
+ reasoning: 'Contains guideline / heuristic marker β€” classified as heuristic',
46
+ };
47
+ }
48
+ // Pattern 5: pattern β€” default fallback
49
+ return {
50
+ type: 'memory',
51
+ subtype: 'pattern',
52
+ confidence: 60,
53
+ reasoning: 'No specific marker detected β€” stored as general pattern',
54
+ };
55
+ }
56
+ //# sourceMappingURL=capture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../src/capture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,mDAAmD;IACnD,IAAI,qFAAqF,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxG,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,yDAAyD;SACrE,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,IAAI,kGAAkG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrH,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,+DAA+D;SAC3E,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,IAAI,wFAAwF,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3G,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ;YACjB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,+DAA+D;SAC3E,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,IAAI,sEAAsE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACzF,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,iEAAiE;SAC7E,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,SAAS;QAClB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,yDAAyD;KACrE,CAAC;AACJ,CAAC"}
@@ -105,7 +105,6 @@ export declare class WyrmDB {
105
105
  * Recover incomplete operations from previous session
106
106
  */
107
107
  private recoverIncompleteOperations;
108
- private init;
109
108
  addWatchDir(path: string, recursive?: boolean): WatchDir;
110
109
  getWatchDirs(): WatchDir[];
111
110
  removeWatchDir(path: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAQtC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,WAAW,CAAC;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,MAAM;IA4B3B,uEAAuE;IACvE,WAAW,IAAI,QAAQ,CAAC,QAAQ;IAIhC,iCAAiC;IACjC,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAqBnC,OAAO,CAAC,IAAI;IA6MZ,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,QAAQ;IASrD,YAAY,IAAI,QAAQ,EAAE;IAI1B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMlC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,UAAO,GAAG,OAAO,EAAE;IAuC9D,gBAAgB,IAAI,OAAO,EAAE;IAY7B,OAAO,CAAC,uBAAuB;IA8E/B,eAAe,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO;IAgBV,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI7C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI/C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAInD,cAAc,CAAC,KAAK,SAAM,EAAE,MAAM,SAAI,GAAG,OAAO,EAAE;IAMlD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE;IAYxC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;IAkCjE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;IA+C1D,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI3C,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,EAAE;IAS1D,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAOvD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE;IAoB5D,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,MAAM;IAgB9D,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAU/C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAE,KAAK,CAAC,UAAU,CAAY,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK;IAQ9H,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK;IAOvD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,EAAE;IAe5C,mBAAmB,IAAI,KAAK,EAAE;IAgB9B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE;IAUpC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,KAAK,EAAE;IAW3D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAU/D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAO9D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAcxD,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAUlD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOjD,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAW7C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK;IA0B/I,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IASzC,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAwBzE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,KAAK,EAAE;IAUhD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,SAAS;IAyCrE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAKlC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAIhD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI9C,aAAa,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAkBtF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAiB1H;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,GAAG,MAAM;IAkF7I,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,SAAM,EAAE,MAAM,SAAI,GAAG,SAAS,EAAE;IAkBrF,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE;IAoB1D,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE;IAU3E,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAS9D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;IAUrD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC;IAcvE,QAAQ,IAAI;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB;IAoBD,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG;QAClC,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB;IAeD,OAAO,CAAC,cAAc;IAKtB,MAAM,IAAI,IAAI;IAId,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,mBAAmB,IAAI;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;KACvB;IAWD;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAI3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAqBb;;OAEG;IACH,cAAc,IAAI;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CA0BpD"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
package/dist/database.js CHANGED
@@ -19,6 +19,7 @@ import { join, basename, resolve, normalize } from 'path';
19
19
  import { spawnSync } from 'child_process';
20
20
  import { getResilienceManager } from './resilience.js';
21
21
  import { WyrmLogger } from './logger.js';
22
+ import { runMigrations, getSchemaVersion } from './migrations.js';
22
23
  export class WyrmDB {
23
24
  db;
24
25
  BATCH_SIZE = 1000;
@@ -43,7 +44,12 @@ export class WyrmDB {
43
44
  this.db.pragma('busy_timeout = 5000'); // Wait 5s for locks
44
45
  this.db.pragma('mmap_size = 268435456'); // 256MB memory-mapped I/O
45
46
  this.db.pragma('page_size = 4096'); // Optimal page size
46
- this.init();
47
+ this.db.pragma('foreign_keys = ON'); // Enforce referential integrity
48
+ // Run versioned migrations
49
+ const applied = runMigrations(this.db);
50
+ if (applied.length > 0) {
51
+ this.logger.info(`Applied ${applied.length} migration(s), now at v${getSchemaVersion(this.db)}`);
52
+ }
47
53
  // Recover any incomplete operations from previous session
48
54
  this.recoverIncompleteOperations();
49
55
  }
@@ -86,208 +92,6 @@ export class WyrmDB {
86
92
  this.resilience.completeCheckpoint(op.id);
87
93
  }
88
94
  }
89
- init() {
90
- this.db.exec(`
91
- -- Core tables
92
- CREATE TABLE IF NOT EXISTS projects (
93
- id INTEGER PRIMARY KEY AUTOINCREMENT,
94
- name TEXT NOT NULL,
95
- path TEXT UNIQUE NOT NULL,
96
- repo TEXT,
97
- stack TEXT,
98
- last_commit TEXT,
99
- branch TEXT,
100
- created_at TEXT DEFAULT (datetime('now')),
101
- updated_at TEXT DEFAULT (datetime('now'))
102
- );
103
-
104
- CREATE TABLE IF NOT EXISTS sessions (
105
- id INTEGER PRIMARY KEY AUTOINCREMENT,
106
- project_id INTEGER NOT NULL,
107
- date TEXT NOT NULL,
108
- objectives TEXT,
109
- completed TEXT,
110
- issues TEXT,
111
- commits TEXT,
112
- files_changed TEXT,
113
- notes TEXT,
114
- summary TEXT,
115
- tokens_estimate INTEGER DEFAULT 0,
116
- is_archived INTEGER DEFAULT 0,
117
- created_at TEXT DEFAULT (datetime('now')),
118
- FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
119
- );
120
-
121
- CREATE TABLE IF NOT EXISTS quests (
122
- id INTEGER PRIMARY KEY AUTOINCREMENT,
123
- project_id INTEGER NOT NULL,
124
- title TEXT NOT NULL,
125
- description TEXT,
126
- priority TEXT DEFAULT 'medium',
127
- status TEXT DEFAULT 'pending',
128
- tags TEXT,
129
- created_at TEXT DEFAULT (datetime('now')),
130
- completed_at TEXT,
131
- FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
132
- );
133
-
134
- CREATE TABLE IF NOT EXISTS context (
135
- id INTEGER PRIMARY KEY AUTOINCREMENT,
136
- project_id INTEGER NOT NULL,
137
- key TEXT NOT NULL,
138
- value TEXT,
139
- updated_at TEXT DEFAULT (datetime('now')),
140
- UNIQUE(project_id, key),
141
- FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
142
- );
143
-
144
- -- Data lake tables for large datasets
145
- CREATE TABLE IF NOT EXISTS data_lake (
146
- id INTEGER PRIMARY KEY AUTOINCREMENT,
147
- project_id INTEGER NOT NULL,
148
- category TEXT NOT NULL,
149
- key TEXT NOT NULL,
150
- value TEXT,
151
- metadata TEXT,
152
- created_at TEXT DEFAULT (datetime('now')),
153
- FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE
154
- );
155
-
156
- -- Watch directories for auto-discovery
157
- CREATE TABLE IF NOT EXISTS watch_dirs (
158
- id INTEGER PRIMARY KEY AUTOINCREMENT,
159
- path TEXT UNIQUE NOT NULL,
160
- recursive INTEGER DEFAULT 1,
161
- last_scan TEXT
162
- );
163
-
164
- -- Global context (cross-project)
165
- CREATE TABLE IF NOT EXISTS global_context (
166
- id INTEGER PRIMARY KEY AUTOINCREMENT,
167
- key TEXT UNIQUE NOT NULL,
168
- value TEXT,
169
- updated_at TEXT DEFAULT (datetime('now'))
170
- );
171
-
172
- -- Skills management for Copilot skill integration
173
- CREATE TABLE IF NOT EXISTS skills (
174
- id INTEGER PRIMARY KEY AUTOINCREMENT,
175
- name TEXT UNIQUE NOT NULL,
176
- description TEXT,
177
- skill_path TEXT NOT NULL,
178
- category TEXT,
179
- author TEXT,
180
- version TEXT,
181
- tags TEXT,
182
- is_active INTEGER DEFAULT 1,
183
- usage_count INTEGER DEFAULT 0,
184
- last_used TEXT,
185
- created_at TEXT DEFAULT (datetime('now')),
186
- updated_at TEXT DEFAULT (datetime('now'))
187
- );
188
-
189
- -- Indexes for performance
190
- CREATE INDEX IF NOT EXISTS idx_sessions_project ON sessions(project_id);
191
- CREATE INDEX IF NOT EXISTS idx_sessions_date ON sessions(date);
192
- CREATE INDEX IF NOT EXISTS idx_sessions_archived ON sessions(is_archived);
193
- CREATE INDEX IF NOT EXISTS idx_quests_project ON quests(project_id);
194
- CREATE INDEX IF NOT EXISTS idx_quests_status ON quests(status);
195
- CREATE INDEX IF NOT EXISTS idx_quests_priority ON quests(priority);
196
- CREATE INDEX IF NOT EXISTS idx_context_project ON context(project_id);
197
- CREATE INDEX IF NOT EXISTS idx_data_lake_project ON data_lake(project_id);
198
- CREATE INDEX IF NOT EXISTS idx_data_lake_category ON data_lake(category);
199
- CREATE INDEX IF NOT EXISTS idx_data_lake_key ON data_lake(key);
200
- CREATE INDEX IF NOT EXISTS idx_skills_name ON skills(name);
201
- CREATE INDEX IF NOT EXISTS idx_skills_category ON skills(category);
202
- CREATE INDEX IF NOT EXISTS idx_skills_active ON skills(is_active);
203
-
204
- -- Full-text search for fast queries
205
- CREATE VIRTUAL TABLE IF NOT EXISTS sessions_fts USING fts5(
206
- objectives, completed, issues, notes, summary,
207
- content='sessions', content_rowid='id'
208
- );
209
-
210
- CREATE VIRTUAL TABLE IF NOT EXISTS quests_fts USING fts5(
211
- title, description,
212
- content='quests', content_rowid='id'
213
- );
214
-
215
- CREATE VIRTUAL TABLE IF NOT EXISTS data_lake_fts USING fts5(
216
- key, value,
217
- content='data_lake', content_rowid='id'
218
- );
219
-
220
- CREATE VIRTUAL TABLE IF NOT EXISTS skills_fts USING fts5(
221
- name, description, tags,
222
- content='skills', content_rowid='id'
223
- );
224
-
225
- -- Triggers to keep FTS in sync
226
- CREATE TRIGGER IF NOT EXISTS sessions_ai AFTER INSERT ON sessions BEGIN
227
- INSERT INTO sessions_fts(rowid, objectives, completed, issues, notes, summary)
228
- VALUES (new.id, new.objectives, new.completed, new.issues, new.notes, new.summary);
229
- END;
230
-
231
- CREATE TRIGGER IF NOT EXISTS sessions_ad AFTER DELETE ON sessions BEGIN
232
- INSERT INTO sessions_fts(sessions_fts, rowid, objectives, completed, issues, notes, summary)
233
- VALUES('delete', old.id, old.objectives, old.completed, old.issues, old.notes, old.summary);
234
- END;
235
-
236
- CREATE TRIGGER IF NOT EXISTS quests_ai AFTER INSERT ON quests BEGIN
237
- INSERT INTO quests_fts(rowid, title, description) VALUES (new.id, new.title, new.description);
238
- END;
239
-
240
- CREATE TRIGGER IF NOT EXISTS quests_ad AFTER DELETE ON quests BEGIN
241
- INSERT INTO quests_fts(quests_fts, rowid, title, description)
242
- VALUES('delete', old.id, old.title, old.description);
243
- END;
244
-
245
- CREATE TRIGGER IF NOT EXISTS skills_ai AFTER INSERT ON skills BEGIN
246
- INSERT INTO skills_fts(rowid, name, description, tags) VALUES (new.id, new.name, new.description, new.tags);
247
- END;
248
-
249
- CREATE TRIGGER IF NOT EXISTS skills_ad AFTER DELETE ON skills BEGIN
250
- INSERT INTO skills_fts(skills_fts, rowid, name, description, tags)
251
- VALUES('delete', old.id, old.name, old.description, old.tags);
252
- END;
253
-
254
- -- UPDATE triggers to keep FTS in sync on updates
255
- CREATE TRIGGER IF NOT EXISTS sessions_au AFTER UPDATE ON sessions BEGIN
256
- INSERT INTO sessions_fts(sessions_fts, rowid, objectives, completed, issues, notes, summary)
257
- VALUES('delete', old.id, old.objectives, old.completed, old.issues, old.notes, old.summary);
258
- INSERT INTO sessions_fts(rowid, objectives, completed, issues, notes, summary)
259
- VALUES (new.id, new.objectives, new.completed, new.issues, new.notes, new.summary);
260
- END;
261
-
262
- CREATE TRIGGER IF NOT EXISTS quests_au AFTER UPDATE ON quests BEGIN
263
- INSERT INTO quests_fts(quests_fts, rowid, title, description)
264
- VALUES('delete', old.id, old.title, old.description);
265
- INSERT INTO quests_fts(rowid, title, description) VALUES (new.id, new.title, new.description);
266
- END;
267
-
268
- CREATE TRIGGER IF NOT EXISTS skills_au AFTER UPDATE ON skills BEGIN
269
- INSERT INTO skills_fts(skills_fts, rowid, name, description, tags)
270
- VALUES('delete', old.id, old.name, old.description, old.tags);
271
- INSERT INTO skills_fts(rowid, name, description, tags) VALUES (new.id, new.name, new.description, new.tags);
272
- END;
273
-
274
- -- data_lake FTS triggers (were missing entirely)
275
- CREATE TRIGGER IF NOT EXISTS data_lake_ai AFTER INSERT ON data_lake BEGIN
276
- INSERT INTO data_lake_fts(rowid, key, value) VALUES (new.id, new.key, new.value);
277
- END;
278
-
279
- CREATE TRIGGER IF NOT EXISTS data_lake_ad AFTER DELETE ON data_lake BEGIN
280
- INSERT INTO data_lake_fts(data_lake_fts, rowid, key, value)
281
- VALUES('delete', old.id, old.key, old.value);
282
- END;
283
-
284
- CREATE TRIGGER IF NOT EXISTS data_lake_au AFTER UPDATE ON data_lake BEGIN
285
- INSERT INTO data_lake_fts(data_lake_fts, rowid, key, value)
286
- VALUES('delete', old.id, old.key, old.value);
287
- INSERT INTO data_lake_fts(rowid, key, value) VALUES (new.id, new.key, new.value);
288
- END;
289
- `);
290
- }
291
95
  // ==================== WATCH DIRECTORIES ====================
292
96
  addWatchDir(path, recursive = true) {
293
97
  return this.db.prepare(`