cmp-standards 2.7.0 → 2.8.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 (162) hide show
  1. package/README.md +633 -633
  2. package/dist/cache/EmbeddingCache.d.ts +110 -0
  3. package/dist/cache/EmbeddingCache.d.ts.map +1 -0
  4. package/dist/cache/EmbeddingCache.js +239 -0
  5. package/dist/cache/EmbeddingCache.js.map +1 -0
  6. package/dist/cache/index.d.ts +6 -0
  7. package/dist/cache/index.d.ts.map +1 -0
  8. package/dist/cache/index.js +6 -0
  9. package/dist/cache/index.js.map +1 -0
  10. package/dist/cli/index.js +0 -0
  11. package/dist/db/cloud.d.ts +1 -0
  12. package/dist/db/cloud.d.ts.map +1 -1
  13. package/dist/db/drizzle-client.d.ts +10 -1
  14. package/dist/db/drizzle-client.d.ts.map +1 -1
  15. package/dist/db/drizzle-client.js +57 -3
  16. package/dist/db/drizzle-client.js.map +1 -1
  17. package/dist/db/errors.d.ts +13 -1
  18. package/dist/db/errors.d.ts.map +1 -1
  19. package/dist/db/errors.js +49 -5
  20. package/dist/db/errors.js.map +1 -1
  21. package/dist/db/migrations.d.ts +42 -0
  22. package/dist/db/migrations.d.ts.map +1 -0
  23. package/dist/db/migrations.js +173 -0
  24. package/dist/db/migrations.js.map +1 -0
  25. package/dist/db/turso-client.d.ts +15 -3
  26. package/dist/db/turso-client.d.ts.map +1 -1
  27. package/dist/db/turso-client.js +50 -39
  28. package/dist/db/turso-client.js.map +1 -1
  29. package/dist/eslint/rules/no-async-useeffect.js +6 -6
  30. package/dist/events/EventBus.d.ts +97 -0
  31. package/dist/events/EventBus.d.ts.map +1 -0
  32. package/dist/events/EventBus.js +256 -0
  33. package/dist/events/EventBus.js.map +1 -0
  34. package/dist/events/index.d.ts +7 -0
  35. package/dist/events/index.d.ts.map +1 -0
  36. package/dist/events/index.js +9 -0
  37. package/dist/events/index.js.map +1 -0
  38. package/dist/events/types.d.ts +989 -0
  39. package/dist/events/types.d.ts.map +1 -0
  40. package/dist/events/types.js +136 -0
  41. package/dist/events/types.js.map +1 -0
  42. package/dist/experts/ConsensusEngine.d.ts +57 -0
  43. package/dist/experts/ConsensusEngine.d.ts.map +1 -0
  44. package/dist/experts/ConsensusEngine.js +146 -0
  45. package/dist/experts/ConsensusEngine.js.map +1 -0
  46. package/dist/experts/ExpertPanelService.d.ts +84 -0
  47. package/dist/experts/ExpertPanelService.d.ts.map +1 -0
  48. package/dist/experts/ExpertPanelService.js +204 -0
  49. package/dist/experts/ExpertPanelService.js.map +1 -0
  50. package/dist/experts/ExpertRouter.d.ts +68 -0
  51. package/dist/experts/ExpertRouter.d.ts.map +1 -0
  52. package/dist/experts/ExpertRouter.js +374 -0
  53. package/dist/experts/ExpertRouter.js.map +1 -0
  54. package/dist/experts/VoteCollector.d.ts +58 -0
  55. package/dist/experts/VoteCollector.d.ts.map +1 -0
  56. package/dist/experts/VoteCollector.js +146 -0
  57. package/dist/experts/VoteCollector.js.map +1 -0
  58. package/dist/experts/index.d.ts +9 -0
  59. package/dist/experts/index.d.ts.map +1 -0
  60. package/dist/experts/index.js +13 -0
  61. package/dist/experts/index.js.map +1 -0
  62. package/dist/hooks/cloud-pre-tool-use.js +20 -20
  63. package/dist/hooks/expert-review.d.ts +74 -0
  64. package/dist/hooks/expert-review.d.ts.map +1 -0
  65. package/dist/hooks/expert-review.js +220 -0
  66. package/dist/hooks/expert-review.js.map +1 -0
  67. package/dist/hooks/index.d.ts +1 -0
  68. package/dist/hooks/index.d.ts.map +1 -1
  69. package/dist/hooks/index.js +2 -0
  70. package/dist/hooks/index.js.map +1 -1
  71. package/dist/index.d.ts +13 -0
  72. package/dist/index.d.ts.map +1 -1
  73. package/dist/index.js +22 -0
  74. package/dist/index.js.map +1 -1
  75. package/dist/interfaces/index.d.ts +450 -0
  76. package/dist/interfaces/index.d.ts.map +1 -0
  77. package/dist/interfaces/index.js +50 -0
  78. package/dist/interfaces/index.js.map +1 -0
  79. package/dist/mcp/schemas.d.ts +278 -0
  80. package/dist/mcp/schemas.d.ts.map +1 -0
  81. package/dist/mcp/schemas.js +166 -0
  82. package/dist/mcp/schemas.js.map +1 -0
  83. package/dist/mcp/server.d.ts.map +1 -1
  84. package/dist/mcp/server.js +14 -3
  85. package/dist/mcp/server.js.map +1 -1
  86. package/dist/patterns/feedback-loop.d.ts +264 -0
  87. package/dist/patterns/feedback-loop.d.ts.map +1 -0
  88. package/dist/patterns/feedback-loop.js +329 -0
  89. package/dist/patterns/feedback-loop.js.map +1 -0
  90. package/dist/patterns/index.d.ts +9 -0
  91. package/dist/patterns/index.d.ts.map +1 -0
  92. package/dist/patterns/index.js +9 -0
  93. package/dist/patterns/index.js.map +1 -0
  94. package/dist/patterns/lifecycle.d.ts +88 -0
  95. package/dist/patterns/lifecycle.d.ts.map +1 -0
  96. package/dist/patterns/lifecycle.js +284 -0
  97. package/dist/patterns/lifecycle.js.map +1 -0
  98. package/dist/patterns/registry.d.ts +142 -0
  99. package/dist/patterns/registry.d.ts.map +1 -0
  100. package/dist/patterns/registry.js +442 -0
  101. package/dist/patterns/registry.js.map +1 -0
  102. package/dist/performance/Debouncer.d.ts +91 -0
  103. package/dist/performance/Debouncer.d.ts.map +1 -0
  104. package/dist/performance/Debouncer.js +198 -0
  105. package/dist/performance/Debouncer.js.map +1 -0
  106. package/dist/performance/MemoryDecay.d.ts +82 -0
  107. package/dist/performance/MemoryDecay.d.ts.map +1 -0
  108. package/dist/performance/MemoryDecay.js +153 -0
  109. package/dist/performance/MemoryDecay.js.map +1 -0
  110. package/dist/performance/index.d.ts +7 -0
  111. package/dist/performance/index.d.ts.map +1 -0
  112. package/dist/performance/index.js +9 -0
  113. package/dist/performance/index.js.map +1 -0
  114. package/dist/schema/expert-types.d.ts +395 -0
  115. package/dist/schema/expert-types.d.ts.map +1 -0
  116. package/dist/schema/expert-types.js +250 -0
  117. package/dist/schema/expert-types.js.map +1 -0
  118. package/dist/services/ContextGenerator.js +7 -7
  119. package/dist/services/PlanManager.d.ts +1 -1
  120. package/dist/services/PlanManager.d.ts.map +1 -1
  121. package/dist/services/PlanManager.js +26 -6
  122. package/dist/services/PlanManager.js.map +1 -1
  123. package/dist/services/ProjectScaffold.js +76 -76
  124. package/dist/services/memory-router.js +35 -35
  125. package/dist/services/pattern-tracker.js +90 -90
  126. package/dist/services/semantic-search.js +2 -2
  127. package/package.json +105 -104
  128. package/standards/README.md +50 -50
  129. package/standards/experts/expert-routing.md +215 -215
  130. package/standards/general/code-quality.md +86 -86
  131. package/standards/general/memory-usage.md +205 -205
  132. package/standards/general/sync-workflow.md +235 -235
  133. package/standards/general/workflow.md +82 -82
  134. package/standards/hooks/mandatory-tracking.md +446 -446
  135. package/standards/infrastructure/cloud-database.md +287 -287
  136. package/standards/mcp/server-design.md +243 -243
  137. package/standards/mcp/tool-patterns.md +354 -354
  138. package/standards/skills/skill-structure.md +286 -286
  139. package/standards/skills/workflow-design.md +323 -323
  140. package/standards/tools/tool-design.md +297 -297
  141. package/templates/agents/architecture-expert.md +61 -61
  142. package/templates/agents/database-expert.md +62 -62
  143. package/templates/agents/documentation-expert.md +57 -57
  144. package/templates/agents/memory-expert.md +88 -88
  145. package/templates/agents/performance-expert.md +61 -61
  146. package/templates/agents/security-expert.md +59 -59
  147. package/templates/agents/ux-expert.md +63 -63
  148. package/templates/agents/worker.md +75 -75
  149. package/templates/ai-skills/SKILL_TEMPLATE.md +55 -55
  150. package/templates/claude-settings.json +72 -72
  151. package/templates/commands/experts.md +138 -138
  152. package/templates/hooks/README.md +158 -158
  153. package/templates/hooks/project.config.json.template +77 -77
  154. package/templates/hooks/settings.local.json.template +57 -57
  155. package/templates/memory-config.json +56 -56
  156. package/templates/memory-config.schema.json +212 -212
  157. package/templates/settings.json +58 -58
  158. package/templates/skills/continue.md +205 -205
  159. package/templates/workflows/business-improvement.md +264 -264
  160. package/templates/workflows/expert-review.md +153 -153
  161. package/templates/workflows/internal-app.md +245 -245
  162. package/templates/workflows/sync-docs.md +187 -187
@@ -42,13 +42,13 @@ export class ContextGenerator {
42
42
  if (content.includes(splitMarker)) {
43
43
  content = content.split(splitMarker)[0];
44
44
  }
45
- const freshContext = `
46
- ${splitMarker}
47
- ### Active Tasks
48
- ${tasksMd || "- No active tasks."}
49
-
50
- ### Recent Memories
51
- ${memoriesMd || "- No recent memories."}
45
+ const freshContext = `
46
+ ${splitMarker}
47
+ ### Active Tasks
48
+ ${tasksMd || "- No active tasks."}
49
+
50
+ ### Recent Memories
51
+ ${memoriesMd || "- No recent memories."}
52
52
  `;
53
53
  await fs.writeFile(filePath, content + freshContext, "utf-8");
54
54
  return true;
@@ -78,7 +78,7 @@ export declare class PlanManager {
78
78
  */
79
79
  getLastCheckpoint(planId: string): Promise<PlanCheckpoint | null>;
80
80
  /**
81
- * Generar contexto de planes para session start
81
+ * Generar contexto de planes para session start (optimizado - sin N+1)
82
82
  */
83
83
  getSessionContext(currentPrompt?: string): Promise<string>;
84
84
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PlanManager.d.ts","sourceRoot":"","sources":["../../src/services/PlanManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanManager.d.ts","sourceRoot":"","sources":["../../src/services/PlanManager.ts"],"names":[],"mappings":"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"}
@@ -290,16 +290,36 @@ export class PlanManager {
290
290
  // CONTEXT FOR SESSION START
291
291
  // ===========================================================================
292
292
  /**
293
- * Generar contexto de planes para session start
293
+ * Generar contexto de planes para session start (optimizado - sin N+1)
294
294
  */
295
295
  async getSessionContext(currentPrompt) {
296
296
  let context = '';
297
- // Planes activos
298
- const activePlans = await this.getActive();
297
+ // Batch query: obtener planes activos Y todos sus checkpoints en paralelo
298
+ const [activePlans, allCheckpoints] = await Promise.all([
299
+ this.getActive(),
300
+ this.client.list({ type: 'plan_checkpoint', limit: 100 }),
301
+ ]);
302
+ // Pre-compute último checkpoint por planId (O(1) lookup en lugar de N queries)
303
+ const lastCheckpointByPlan = new Map();
304
+ for (const item of allCheckpoints) {
305
+ const parseResult = PlanCheckpointSchema.safeParse({
306
+ ...item.content,
307
+ id: item.id,
308
+ });
309
+ if (parseResult.success) {
310
+ const checkpoint = parseResult.data;
311
+ const existing = lastCheckpointByPlan.get(checkpoint.planId);
312
+ // Mantener solo el más reciente
313
+ if (!existing || checkpoint.createdAt > existing.createdAt) {
314
+ lastCheckpointByPlan.set(checkpoint.planId, checkpoint);
315
+ }
316
+ }
317
+ }
299
318
  if (activePlans.length > 0) {
300
- context += `## 🎯 Planes Activos (${activePlans.length})\n\n`;
319
+ context += `## Planes Activos (${activePlans.length})\n\n`;
301
320
  for (const plan of activePlans.slice(0, 3)) {
302
- const lastCheckpoint = await this.getLastCheckpoint(plan.id);
321
+ // O(1) lookup en lugar de query a BD
322
+ const lastCheckpoint = lastCheckpointByPlan.get(plan.id);
303
323
  context += `### ${plan.title}\n`;
304
324
  context += `- **Estado**: ${plan.status}\n`;
305
325
  if (lastCheckpoint) {
@@ -319,7 +339,7 @@ export class PlanManager {
319
339
  limit: 3,
320
340
  });
321
341
  if (similar.length > 0) {
322
- context += `## 🔍 Planes Relacionados Encontrados\n\n`;
342
+ context += `## Planes Relacionados Encontrados\n\n`;
323
343
  context += `Tu solicitud parece relacionarse con planes existentes:\n\n`;
324
344
  for (const match of similar) {
325
345
  const similarity = Math.round(match.similarity * 100);
@@ -1 +1 @@
1
- {"version":3,"file":"PlanManager.js","sourceRoot":"","sources":["../../src/services/PlanManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,mBAAmB,EAA4B,MAAM,yBAAyB,CAAA;AACvF,OAAO,EAML,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,0BAA0B,GAC3B,MAAM,oBAAoB,CAAA;AA8B3B,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF,MAAM,OAAO,WAAW;IACd,MAAM,CAAqB;IAC3B,MAAM,CAAW;IACjB,gBAAgB,CAAQ;IACxB,OAAO,CAAQ;IAEvB,YACE,MAAiB,EACjB,OAAkD;QAElD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,gBAAgB,GAAG,OAAO,EAAE,SAAS,IAAI,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;QACrE,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,QAAQ,CAAA;IAC7C,CAAC;IAED,8EAA8E;IAC9E,iBAAiB;IACjB,8EAA8E;IAE9E;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAA0B;QACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAEpC,MAAM,QAAQ,GAAG,UAAU,CAAC;YAC1B,GAAG,OAAO;YACV,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,QAA8C;YACvD,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACtE,CAAC,CAAA;QAEF,MAAM,IAAI,GAAS;YACjB,GAAG,QAAQ;YACX,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAA;QAED,2BAA2B;QAC3B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE;YAChC,cAAc,EAAE,UAAU;YAC1B,OAAO,EAAE,gBAAgB,OAAO,CAAC,KAAK,EAAE;YACxC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;SAC5D,CAAC,CAAA;QAEF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,MAAc;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAA;QAE9C,mCAAmC;QACnC,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC;YACvC,GAAG,IAAI,CAAC,OAAO;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC,CAAA;QAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC9E,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,WAAW,CAAC,IAAI,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACnC,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,EAAE;SACV,CAAC,CAAA;QAEF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,GAAI,IAAI,CAAC,OAA2B;YACpC,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAC,CAAC,CAAA;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAA2B;QAC3C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,aAAa,GAAG,GAAG,EAAE,GAAG,OAAO,CAAA;QAClE,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;QAE9C,wDAAwD;QACxD,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;SAC1D,CAAC,CAAA;QAEF,qEAAqE;QACrE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAA;QAClD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAkC,CAAA;YACvD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAgB,CAAA;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YACvE,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAgB,EAAE,CAAA;QAE/B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,OAA0B,CAAA;YAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;gBAAE,SAAQ;YAExE,qBAAqB;YACrB,MAAM,UAAU,GAAG,0BAA0B,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;YAElF,0BAA0B;YAC1B,MAAM,WAAW,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAE9D,6CAA6C;YAC7C,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,CAAA;YAC7D,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;YAC/E,MAAM,YAAY,GAAG,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAEnF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC,CAAA;YAEvE,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC;oBACX,MAAM,EAAE,IAAI,CAAC,EAAE;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,UAAU;oBACV,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBACjF,YAAY,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;oBAC9C,eAAe,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAG,cAAc;oBACpE,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,OAAO,OAAO;aACX,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAkB;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI;YAAE,OAAM;QAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAA0B,CAAA;QAC5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAEpC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;YAC/B,MAAM,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACpF,OAAO,EAAE;gBACP,GAAG,IAAI;gBACP,MAAM;gBACN,SAAS,EAAE,GAAG;gBACd,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACxD;SACF,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YAC/B,cAAc,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;YAChE,OAAO,EAAE,QAAQ,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE;SAC3G,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,YAAoB,EAAE,YAAoB;QACpD,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;SAC9B,CAAC,CAAA;QAEF,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAA0B,CAAA;QACpD,MAAM,MAAM,GAAG,UAAU,CAAC,OAA0B,CAAA;QACpD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAEpC,8BAA8B;QAC9B,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;QACzE,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;QACvD,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAA;QACtE,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;QACrD,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAA;QAErE,yBAAyB;QACzB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;YACrC,OAAO,EAAE;gBACP,GAAG,MAAM;gBACT,QAAQ,EAAE,cAAc;gBACxB,OAAO,EAAE,aAAa;gBACtB,aAAa;gBACb,SAAS,EAAE,GAAG;aACf;SACF,CAAC,CAAA;QAEF,4BAA4B;QAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,GAAG,MAAM;gBACT,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,YAAY;gBAC1B,SAAS,EAAE,GAAG;aACf;SACF,CAAC,CAAA;QAEF,+BAA+B;QAC/B,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;gBAC/B,cAAc,EAAE,UAAU;gBAC1B,OAAO,EAAE,uBAAuB,MAAM,CAAC,KAAK,EAAE;aAC/C,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;gBAC/B,cAAc,EAAE,UAAU;gBAC1B,OAAO,EAAE,iBAAiB,MAAM,CAAC,KAAK,EAAE;aACzC,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;IAED,8EAA8E;IAC9E,cAAc;IACd,8EAA8E;IAE9E;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,OAA6B;QAC/D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAEpC,MAAM,cAAc,GAAG,gBAAgB,CAAC;YACtC,MAAM;YACN,GAAG,OAAO;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,gBAAgB;SACjC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACtC,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,cAAoD;YAC7D,IAAI,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;SACrD,CAAC,CAAA;QAEF,uCAAuC;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,QAAQ,CAAC,OAA0B,CAAA;YAChD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC/B,OAAO,EAAE;oBACP,GAAG,IAAI;oBACP,gBAAgB,EAAE,MAAM,CAAC,EAAE;oBAC3B,qBAAqB,EAAE,OAAO,CAAC,OAAO;oBACtC,SAAS,EAAE,GAAG;iBACf;aACF,CAAC,CAAA;QACJ,CAAC;QAED,OAAO;YACL,GAAG,cAAc;YACjB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,SAAS,EAAE,GAAG;SACf,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,KAAK,GAAG,EAAE;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACnC,IAAI,EAAE,iBAAiB;YACvB,KAAK;SACN,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAqB,EAAE,CAAA;QAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC;gBACjD,GAAG,IAAI,CAAC,OAAO;gBACf,EAAE,EAAE,IAAI,CAAC,EAAE;aACZ,CAAC,CAAA;YAEF,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9D,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACxD,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC/B,CAAC;IAED,8EAA8E;IAC9E,4BAA4B;IAC5B,8EAA8E;IAE9E;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,aAAsB;QAC5C,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,iBAAiB;QACjB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;QAE1C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,yBAAyB,WAAW,CAAC,MAAM,OAAO,CAAA;YAE7D,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;gBAE5D,OAAO,IAAI,OAAO,IAAI,CAAC,KAAK,IAAI,CAAA;gBAChC,OAAO,IAAI,iBAAiB,IAAI,CAAC,MAAM,IAAI,CAAA;gBAC3C,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,IAAI,wBAAwB,cAAc,CAAC,OAAO,IAAI,CAAA;oBAC7D,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,OAAO,IAAI,yBAAyB,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;oBACrE,CAAC;gBACH,CAAC;gBACD,OAAO,IAAI,eAAe,IAAI,CAAC,EAAE,QAAQ,CAAA;YAC3C,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;gBACrC,MAAM,EAAE,aAAa;gBACrB,aAAa,EAAE,GAAG;gBAClB,KAAK,EAAE,CAAC;aACT,CAAC,CAAA;YAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,2CAA2C,CAAA;gBACtD,OAAO,IAAI,6DAA6D,CAAA;gBAExE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,CAAA;oBACrD,OAAO,IAAI,OAAO,KAAK,CAAC,KAAK,OAAO,UAAU,cAAc,KAAK,CAAC,eAAe,iBAAiB,CAAA;oBAClG,OAAO,IAAI,WAAW,KAAK,CAAC,MAAM,gBAAgB,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAA;gBACzF,CAAC;gBAED,OAAO,IAAI,wFAAwF,CAAA;YACrG,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAA;IAE3C,IAAI,QAAQ,GAAG,CAAC;QAAE,OAAO,OAAO,CAAA;IAChC,IAAI,QAAQ,GAAG,EAAE;QAAE,OAAO,QAAQ,QAAQ,GAAG,CAAA;IAC7C,IAAI,SAAS,GAAG,EAAE;QAAE,OAAO,QAAQ,SAAS,GAAG,CAAA;IAC/C,OAAO,QAAQ,QAAQ,GAAG,CAAA;AAC5B,CAAC;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF,IAAI,eAAe,GAAuB,IAAI,CAAA;AAE9C;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAiB,EACjB,OAAkD;IAElD,IAAI,CAAC,eAAe,IAAI,OAAO,EAAE,CAAC;QAChC,eAAe,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACpD,CAAC;IACD,OAAO,eAAe,CAAA;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAiB,EACjB,OAAkD;IAElD,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AACzC,CAAC"}
1
+ {"version":3,"file":"PlanManager.js","sourceRoot":"","sources":["../../src/services/PlanManager.ts"],"names":[],"mappings":"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"}
@@ -248,19 +248,19 @@ export class ProjectScaffold {
248
248
  generateClaudeMd(scan, options) {
249
249
  const system = options.system.toUpperCase();
250
250
  const projectName = options.projectName || scan.name;
251
- let content = `# CLAUDE.md - ${projectName}
252
-
253
- > **System**: ${system}
254
- > **Generated**: ${new Date().toISOString().split('T')[0]}
255
-
256
- ---
257
-
258
- ## Project Overview
259
-
260
- ${projectName} is part of the **MetaNautical Group** ecosystem.
261
-
262
- ### Tech Stack
263
-
251
+ let content = `# CLAUDE.md - ${projectName}
252
+
253
+ > **System**: ${system}
254
+ > **Generated**: ${new Date().toISOString().split('T')[0]}
255
+
256
+ ---
257
+
258
+ ## Project Overview
259
+
260
+ ${projectName} is part of the **MetaNautical Group** ecosystem.
261
+
262
+ ### Tech Stack
263
+
264
264
  `;
265
265
  // Framework
266
266
  if (scan.framework.name !== 'unknown') {
@@ -294,33 +294,33 @@ ${projectName} is part of the **MetaNautical Group** ecosystem.
294
294
  if (scan.api.type !== 'none') {
295
295
  content += `- **API**: ${scan.api.type.toUpperCase()}\n`;
296
296
  }
297
- content += `
298
- ---
299
-
300
- ## Core Rules (Non-Negotiable)
301
-
302
- ### Code Quality
303
- - NO \`any\`/\`unknown\` types - use proper typing
304
- - NO ESLint disable comments without justification
305
- - **Never Assume**: Verify files/constants exist before using
306
-
307
- ### Security
308
- - All inputs must be validated with Zod
309
- - Use \`protectedProcedure\` for authenticated routes
310
- - Never expose sensitive data in responses
311
-
312
- ---
313
-
314
- ## Structure
315
-
316
- \`\`\`
317
- ${scan.name}/
318
- ├── .claude/ # Claude Code configuration
319
- │ ├── agents/ # AI expert agents
320
- │ ├── commands/ # Slash commands (/experts, etc.)
321
- │ ├── hooks/ # Session hooks
322
- │ └── project.config.json
323
- ├── .ai-skills/ # Project-specific knowledge
297
+ content += `
298
+ ---
299
+
300
+ ## Core Rules (Non-Negotiable)
301
+
302
+ ### Code Quality
303
+ - NO \`any\`/\`unknown\` types - use proper typing
304
+ - NO ESLint disable comments without justification
305
+ - **Never Assume**: Verify files/constants exist before using
306
+
307
+ ### Security
308
+ - All inputs must be validated with Zod
309
+ - Use \`protectedProcedure\` for authenticated routes
310
+ - Never expose sensitive data in responses
311
+
312
+ ---
313
+
314
+ ## Structure
315
+
316
+ \`\`\`
317
+ ${scan.name}/
318
+ ├── .claude/ # Claude Code configuration
319
+ │ ├── agents/ # AI expert agents
320
+ │ ├── commands/ # Slash commands (/experts, etc.)
321
+ │ ├── hooks/ # Session hooks
322
+ │ └── project.config.json
323
+ ├── .ai-skills/ # Project-specific knowledge
324
324
  `;
325
325
  if (scan.structure.srcDir) {
326
326
  content += `├── src/\n`;
@@ -331,42 +331,42 @@ ${scan.name}/
331
331
  content += `│ ├── server/\n`;
332
332
  }
333
333
  }
334
- content += `└── CLAUDE.md # This file
335
- \`\`\`
336
-
337
- ---
338
-
339
- ## Commands
340
-
341
- ### Development
342
- \`\`\`bash
343
- npm run dev # Start dev server
344
- npm run build # Production build
345
- npm run lint # ESLint check
346
- npm run typecheck # TypeScript check
347
- \`\`\`
348
-
349
- ### Memory System
350
- \`\`\`bash
351
- cmp-memory status # Check memory system health
352
- cmp-memory validate # Validate project structure
353
- cmp-memory sync # Sync experts/hooks from npm
354
- \`\`\`
355
-
356
- ---
357
-
358
- ## Expert Review
359
-
360
- Use \`/experts\` for code review:
361
-
362
- \`\`\`bash
363
- /experts src/path/to/file.ts # Review specific file
364
- /experts src/server/api/ # Review directory
365
- \`\`\`
366
-
367
- ---
368
-
369
- *Part of MetaNautical Group ecosystem*
334
+ content += `└── CLAUDE.md # This file
335
+ \`\`\`
336
+
337
+ ---
338
+
339
+ ## Commands
340
+
341
+ ### Development
342
+ \`\`\`bash
343
+ npm run dev # Start dev server
344
+ npm run build # Production build
345
+ npm run lint # ESLint check
346
+ npm run typecheck # TypeScript check
347
+ \`\`\`
348
+
349
+ ### Memory System
350
+ \`\`\`bash
351
+ cmp-memory status # Check memory system health
352
+ cmp-memory validate # Validate project structure
353
+ cmp-memory sync # Sync experts/hooks from npm
354
+ \`\`\`
355
+
356
+ ---
357
+
358
+ ## Expert Review
359
+
360
+ Use \`/experts\` for code review:
361
+
362
+ \`\`\`bash
363
+ /experts src/path/to/file.ts # Review specific file
364
+ /experts src/server/api/ # Review directory
365
+ \`\`\`
366
+
367
+ ---
368
+
369
+ *Part of MetaNautical Group ecosystem*
370
370
  `;
371
371
  return content;
372
372
  }
@@ -116,11 +116,11 @@ class MemoryRouterService {
116
116
  try {
117
117
  const db = turso.getClient();
118
118
  const result = await db.execute({
119
- sql: `SELECT * FROM items
120
- WHERE system = ? AND type = 'memory'
121
- AND json_extract(content, '$.domain') = ?
122
- AND status != 'archived'
123
- ORDER BY updated_at DESC
119
+ sql: `SELECT * FROM items
120
+ WHERE system = ? AND type = 'memory'
121
+ AND json_extract(content, '$.domain') = ?
122
+ AND status != 'archived'
123
+ ORDER BY updated_at DESC
124
124
  LIMIT ?`,
125
125
  args: [system, domain, limit]
126
126
  });
@@ -138,16 +138,16 @@ class MemoryRouterService {
138
138
  await this.init();
139
139
  try {
140
140
  const db = turso.getClient();
141
- let sql = `
142
- SELECT * FROM items
143
- WHERE system = ? AND type = 'memory'
144
- AND status = 'active'
145
- AND (
146
- json_extract(content, '$.title') LIKE '%gotcha%'
147
- OR json_extract(content, '$.title') LIKE '%bug%'
148
- OR json_extract(content, '$.title') LIKE '%issue%'
149
- OR json_extract(content, '$.title') LIKE '%warning%'
150
- )
141
+ let sql = `
142
+ SELECT * FROM items
143
+ WHERE system = ? AND type = 'memory'
144
+ AND status = 'active'
145
+ AND (
146
+ json_extract(content, '$.title') LIKE '%gotcha%'
147
+ OR json_extract(content, '$.title') LIKE '%bug%'
148
+ OR json_extract(content, '$.title') LIKE '%issue%'
149
+ OR json_extract(content, '$.title') LIKE '%warning%'
150
+ )
151
151
  `;
152
152
  const args = [system];
153
153
  if (domain) {
@@ -171,10 +171,10 @@ class MemoryRouterService {
171
171
  try {
172
172
  const db = turso.getClient();
173
173
  const result = await db.execute({
174
- sql: `SELECT * FROM items
175
- WHERE system = ? AND type = 'memory'
176
- AND status != 'archived'
177
- ORDER BY updated_at DESC
174
+ sql: `SELECT * FROM items
175
+ WHERE system = ? AND type = 'memory'
176
+ AND status != 'archived'
177
+ ORDER BY updated_at DESC
178
178
  LIMIT ?`,
179
179
  args: [system, limit]
180
180
  });
@@ -193,9 +193,9 @@ class MemoryRouterService {
193
193
  try {
194
194
  const db = turso.getClient();
195
195
  const result = await db.execute({
196
- sql: `SELECT * FROM items
197
- WHERE system = ? AND type = 'pattern'
198
- AND status = 'triggered'
196
+ sql: `SELECT * FROM items
197
+ WHERE system = ? AND type = 'pattern'
198
+ AND status = 'triggered'
199
199
  ORDER BY updated_at DESC`,
200
200
  args: [system]
201
201
  });
@@ -245,12 +245,12 @@ class MemoryRouterService {
245
245
  // Build query
246
246
  const sinceEpoch = options?.sinceEpoch || (Date.now() - 7 * 24 * 60 * 60 * 1000); // Default: last 7 days
247
247
  const limit = options?.limit || 100;
248
- let sql = `
249
- SELECT id, sdk_session_id, project, type, title, subtitle,
250
- narrative, facts, concepts, files_read, files_modified,
251
- created_at, created_at_epoch
252
- FROM observations
253
- WHERE created_at_epoch > ?
248
+ let sql = `
249
+ SELECT id, sdk_session_id, project, type, title, subtitle,
250
+ narrative, facts, concepts, files_read, files_modified,
251
+ created_at, created_at_epoch
252
+ FROM observations
253
+ WHERE created_at_epoch > ?
254
254
  `;
255
255
  const args = [sinceEpoch];
256
256
  if (options?.project) {
@@ -329,8 +329,8 @@ class MemoryRouterService {
329
329
  try {
330
330
  const db = turso.getClient();
331
331
  const result = await db.execute({
332
- sql: `SELECT id FROM items
333
- WHERE system = ? AND type = 'memory'
332
+ sql: `SELECT id FROM items
333
+ WHERE system = ? AND type = 'memory'
334
334
  AND id LIKE 'claudemem_%'`,
335
335
  args: [system]
336
336
  });
@@ -383,11 +383,11 @@ class MemoryRouterService {
383
383
  for (const term of searchTerms) {
384
384
  args.push(`%${term}%`, `%${term}%`);
385
385
  }
386
- let sql = `
387
- SELECT * FROM items
388
- WHERE system = ? AND type = 'memory'
389
- AND status != 'archived'
390
- AND (${likeConditions})
386
+ let sql = `
387
+ SELECT * FROM items
388
+ WHERE system = ? AND type = 'memory'
389
+ AND status != 'archived'
390
+ AND (${likeConditions})
391
391
  `;
392
392
  if (domain) {
393
393
  sql += ` AND json_extract(content, '$.domain') = ?`;