@vheins/local-memory-mcp 0.4.8 → 0.4.11

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 (164) hide show
  1. package/dist/capabilities.d.ts +7 -7
  2. package/dist/capabilities.d.ts.map +1 -1
  3. package/dist/capabilities.js +7 -7
  4. package/dist/capabilities.js.map +1 -1
  5. package/dist/completion.d.ts +25 -0
  6. package/dist/completion.d.ts.map +1 -0
  7. package/dist/completion.js +127 -0
  8. package/dist/completion.js.map +1 -0
  9. package/dist/mcp/client.d.ts.map +1 -1
  10. package/dist/mcp/client.js +8 -1
  11. package/dist/mcp/client.js.map +1 -1
  12. package/dist/mcp/elicitation.d.ts +24 -0
  13. package/dist/mcp/elicitation.d.ts.map +1 -0
  14. package/dist/mcp/elicitation.js +13 -0
  15. package/dist/mcp/elicitation.js.map +1 -0
  16. package/dist/mcp/sampling.d.ts +69 -0
  17. package/dist/mcp/sampling.d.ts.map +1 -0
  18. package/dist/mcp/sampling.js +13 -0
  19. package/dist/mcp/sampling.js.map +1 -0
  20. package/dist/mcp/session.d.ts +28 -0
  21. package/dist/mcp/session.d.ts.map +1 -0
  22. package/dist/mcp/session.js +106 -0
  23. package/dist/mcp/session.js.map +1 -0
  24. package/dist/prompts/registry.d.ts +55 -0
  25. package/dist/prompts/registry.d.ts.map +1 -1
  26. package/dist/prompts/registry.js +455 -7
  27. package/dist/prompts/registry.js.map +1 -1
  28. package/dist/resources/index.d.ts +55 -4
  29. package/dist/resources/index.d.ts.map +1 -1
  30. package/dist/resources/index.js +222 -52
  31. package/dist/resources/index.js.map +1 -1
  32. package/dist/router.d.ts +11 -1
  33. package/dist/router.d.ts.map +1 -1
  34. package/dist/router.js +151 -34
  35. package/dist/router.js.map +1 -1
  36. package/dist/server.js +212 -13
  37. package/dist/server.js.map +1 -1
  38. package/dist/tests/client.test.d.ts +2 -0
  39. package/dist/tests/client.test.d.ts.map +1 -0
  40. package/dist/tests/client.test.js +130 -0
  41. package/dist/tests/client.test.js.map +1 -0
  42. package/dist/tests/dashboard.test.d.ts +2 -0
  43. package/dist/tests/dashboard.test.d.ts.map +1 -0
  44. package/dist/tests/dashboard.test.js +370 -0
  45. package/dist/tests/dashboard.test.js.map +1 -0
  46. package/dist/tests/e2e.test.d.ts +2 -0
  47. package/dist/tests/e2e.test.d.ts.map +1 -0
  48. package/dist/tests/e2e.test.js +250 -0
  49. package/dist/tests/e2e.test.js.map +1 -0
  50. package/dist/tests/index.test.d.ts +2 -0
  51. package/dist/tests/index.test.d.ts.map +1 -0
  52. package/dist/tests/index.test.js +185 -0
  53. package/dist/tests/index.test.js.map +1 -0
  54. package/dist/tests/logger.test.d.ts +2 -0
  55. package/dist/tests/logger.test.d.ts.map +1 -0
  56. package/dist/tests/logger.test.js +104 -0
  57. package/dist/tests/logger.test.js.map +1 -0
  58. package/dist/tests/memory.bulk.test.d.ts +2 -0
  59. package/dist/tests/memory.bulk.test.d.ts.map +1 -0
  60. package/dist/tests/memory.bulk.test.js +52 -0
  61. package/dist/tests/memory.bulk.test.js.map +1 -0
  62. package/dist/tests/memory.search.test.d.ts +2 -0
  63. package/dist/tests/memory.search.test.d.ts.map +1 -0
  64. package/dist/tests/memory.search.test.js +181 -0
  65. package/dist/tests/memory.search.test.js.map +1 -0
  66. package/dist/tests/normalize.test.d.ts +2 -0
  67. package/dist/tests/normalize.test.d.ts.map +1 -0
  68. package/dist/tests/normalize.test.js +181 -0
  69. package/dist/tests/normalize.test.js.map +1 -0
  70. package/dist/tests/query-expander.test.d.ts +2 -0
  71. package/dist/tests/query-expander.test.d.ts.map +1 -0
  72. package/dist/tests/query-expander.test.js +33 -0
  73. package/dist/tests/query-expander.test.js.map +1 -0
  74. package/dist/tests/router.test.d.ts +2 -0
  75. package/dist/tests/router.test.d.ts.map +1 -0
  76. package/dist/tests/router.test.js +470 -0
  77. package/dist/tests/router.test.js.map +1 -0
  78. package/dist/tests/sqlite.test.d.ts +2 -0
  79. package/dist/tests/sqlite.test.d.ts.map +1 -0
  80. package/dist/tests/sqlite.test.js +367 -0
  81. package/dist/tests/sqlite.test.js.map +1 -0
  82. package/dist/tests/tasks-search.test.d.ts +2 -0
  83. package/dist/tests/tasks-search.test.d.ts.map +1 -0
  84. package/dist/tests/tasks-search.test.js +154 -0
  85. package/dist/tests/tasks-search.test.js.map +1 -0
  86. package/dist/tests/tasks-transition.test.d.ts +2 -0
  87. package/dist/tests/tasks-transition.test.d.ts.map +1 -0
  88. package/dist/tests/tasks-transition.test.js +174 -0
  89. package/dist/tests/tasks-transition.test.js.map +1 -0
  90. package/dist/tests/tasks.bulk.test.d.ts +2 -0
  91. package/dist/tests/tasks.bulk.test.d.ts.map +1 -0
  92. package/dist/tests/tasks.bulk.test.js +254 -0
  93. package/dist/tests/tasks.bulk.test.js.map +1 -0
  94. package/dist/tests/tasks.e2e.test.d.ts +2 -0
  95. package/dist/tests/tasks.e2e.test.d.ts.map +1 -0
  96. package/dist/tests/tasks.e2e.test.js +289 -0
  97. package/dist/tests/tasks.e2e.test.js.map +1 -0
  98. package/dist/tests/tasks.pending-limit-refined.test.d.ts +2 -0
  99. package/dist/tests/tasks.pending-limit-refined.test.d.ts.map +1 -0
  100. package/dist/tests/tasks.pending-limit-refined.test.js +72 -0
  101. package/dist/tests/tasks.pending-limit-refined.test.js.map +1 -0
  102. package/dist/tests/v2-features.test.d.ts +2 -0
  103. package/dist/tests/v2-features.test.d.ts.map +1 -0
  104. package/dist/tests/v2-features.test.js +209 -0
  105. package/dist/tests/v2-features.test.js.map +1 -0
  106. package/dist/tools/memory.bulk-delete.d.ts +1 -7
  107. package/dist/tools/memory.bulk-delete.d.ts.map +1 -1
  108. package/dist/tools/memory.bulk-delete.js +30 -8
  109. package/dist/tools/memory.bulk-delete.js.map +1 -1
  110. package/dist/tools/memory.delete.d.ts.map +1 -1
  111. package/dist/tools/memory.delete.js +18 -1
  112. package/dist/tools/memory.delete.js.map +1 -1
  113. package/dist/tools/memory.recap.d.ts.map +1 -1
  114. package/dist/tools/memory.recap.js +24 -1
  115. package/dist/tools/memory.recap.js.map +1 -1
  116. package/dist/tools/memory.search.d.ts.map +1 -1
  117. package/dist/tools/memory.search.js +16 -1
  118. package/dist/tools/memory.search.js.map +1 -1
  119. package/dist/tools/memory.store.d.ts.map +1 -1
  120. package/dist/tools/memory.store.js +31 -1
  121. package/dist/tools/memory.store.js.map +1 -1
  122. package/dist/tools/memory.summarize.d.ts.map +1 -1
  123. package/dist/tools/memory.summarize.js +19 -1
  124. package/dist/tools/memory.summarize.js.map +1 -1
  125. package/dist/tools/memory.synthesize.d.ts +14 -0
  126. package/dist/tools/memory.synthesize.d.ts.map +1 -0
  127. package/dist/tools/memory.synthesize.js +228 -0
  128. package/dist/tools/memory.synthesize.js.map +1 -0
  129. package/dist/tools/memory.update.d.ts.map +1 -1
  130. package/dist/tools/memory.update.js +19 -1
  131. package/dist/tools/memory.update.js.map +1 -1
  132. package/dist/tools/schemas.d.ts +1750 -263
  133. package/dist/tools/schemas.d.ts.map +1 -1
  134. package/dist/tools/schemas.js +482 -14
  135. package/dist/tools/schemas.js.map +1 -1
  136. package/dist/tools/task.bulk-manage.d.ts +1 -7
  137. package/dist/tools/task.bulk-manage.d.ts.map +1 -1
  138. package/dist/tools/task.bulk-manage.js +60 -15
  139. package/dist/tools/task.bulk-manage.js.map +1 -1
  140. package/dist/tools/task.manage.d.ts +12 -28
  141. package/dist/tools/task.manage.d.ts.map +1 -1
  142. package/dist/tools/task.manage.js +198 -31
  143. package/dist/tools/task.manage.js.map +1 -1
  144. package/dist/utils/completion.d.ts +2 -0
  145. package/dist/utils/completion.d.ts.map +1 -0
  146. package/dist/utils/completion.js +28 -0
  147. package/dist/utils/completion.js.map +1 -0
  148. package/dist/utils/logger.d.ts +18 -0
  149. package/dist/utils/logger.d.ts.map +1 -1
  150. package/dist/utils/logger.js +101 -29
  151. package/dist/utils/logger.js.map +1 -1
  152. package/dist/utils/mcp-response.d.ts +50 -0
  153. package/dist/utils/mcp-response.d.ts.map +1 -1
  154. package/dist/utils/mcp-response.js +54 -7
  155. package/dist/utils/mcp-response.js.map +1 -1
  156. package/dist/utils/normalize.d.ts +5 -0
  157. package/dist/utils/normalize.d.ts.map +1 -1
  158. package/dist/utils/normalize.js +11 -0
  159. package/dist/utils/normalize.js.map +1 -1
  160. package/dist/utils/pagination.d.ts +6 -0
  161. package/dist/utils/pagination.d.ts.map +1 -0
  162. package/dist/utils/pagination.js +32 -0
  163. package/dist/utils/pagination.js.map +1 -0
  164. package/package.json +1 -1
@@ -1,3 +1,5 @@
1
+ import { SQLiteStore } from "../storage/sqlite.js";
2
+ import { SessionContext } from "../mcp/session.js";
1
3
  export declare const PROMPTS: {
2
4
  "memory-agent-core": {
3
5
  name: string;
@@ -255,5 +257,58 @@ export declare const PROMPTS: {
255
257
  };
256
258
  }[];
257
259
  };
260
+ "create-task": {
261
+ name: string;
262
+ description: string;
263
+ arguments: never[];
264
+ messages: {
265
+ role: string;
266
+ content: {
267
+ type: string;
268
+ text: string;
269
+ };
270
+ }[];
271
+ };
272
+ };
273
+ export type PromptArgument = {
274
+ name: string;
275
+ title?: string;
276
+ description?: string;
277
+ required?: boolean;
278
+ };
279
+ export type PromptMessage = {
280
+ role: string;
281
+ content: any;
282
+ };
283
+ export type PromptDefinition = {
284
+ name: string;
285
+ title?: string;
286
+ description: string;
287
+ arguments: PromptArgument[];
288
+ messages: PromptMessage[];
289
+ icons?: Array<{
290
+ src: string;
291
+ mimeType?: string;
292
+ }>;
293
+ };
294
+ type PromptCatalogEntry = Omit<PromptDefinition, "messages">;
295
+ export declare function listPrompts(db: SQLiteStore, session?: SessionContext, params?: {
296
+ cursor?: string;
297
+ limit?: number;
298
+ }): {
299
+ prompts: PromptCatalogEntry[];
300
+ nextCursor: string | undefined;
258
301
  };
302
+ export declare function getPrompt(name: string, args: Record<string, unknown> | undefined, db: SQLiteStore, session?: SessionContext): PromptDefinition;
303
+ export declare function completePromptArgument(promptName: string, argumentName: string, argumentValue: string, contextArguments: Record<string, unknown>, dataSources: {
304
+ repos: string[];
305
+ tags: string[];
306
+ filePaths: string[];
307
+ tasks: Array<{
308
+ id: string;
309
+ task_code: string;
310
+ title: string;
311
+ }>;
312
+ }): string[];
313
+ export {};
259
314
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAifnB,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAIzE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAupBnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnD,CAAC;AAEF,KAAK,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;AAqD7D,wBAAgB,WAAW,CACzB,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;EAY7C;AAED,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE,cAAc,GACvB,gBAAgB,CAmBlB;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzC,WAAW,EAAE;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChE,YA+CF"}
@@ -1,3 +1,6 @@
1
+ import { inferRepoFromSession } from "../mcp/session.js";
2
+ import { rankCompletionValues } from "../utils/completion.js";
3
+ import { decodeCursor, encodeCursor } from "../utils/pagination.js";
1
4
  export const PROMPTS = {
2
5
  "memory-agent-core": {
3
6
  name: "memory-agent-core",
@@ -289,14 +292,24 @@ Steps:
289
292
  },
290
293
  "task-memory-executor": {
291
294
  name: "task-memory-executor",
292
- description: "Execute all pending tasks for the current repository, updating status and storing handoffs in memory",
295
+ description: "Execute all pending tasks for the current repository, updating status and storing handoffs in the task backlog.",
293
296
  arguments: [],
294
297
  messages: [
295
298
  {
296
299
  role: "user",
297
300
  content: {
298
301
  type: "text",
299
- text: `You are tasked with executing all available tasks for the current repository.
302
+ text: `# Skill: task-memory-executor
303
+
304
+ ## Purpose
305
+
306
+ You are tasked with executing all available tasks for the current repository.
307
+
308
+ ## Instructions
309
+
310
+ ---
311
+ description: Execute all pending tasks for the current repository
312
+ ---
300
313
 
301
314
  Please follow this strict execution flow:
302
315
 
@@ -304,16 +317,47 @@ Please follow this strict execution flow:
304
317
  2. **Fetch Tasks**: Call 'task-list' for the identified repository for statuses 'pending' and 'in_progress'.
305
318
  3. **Filter Stale**: Identify 'in_progress' tasks that are **stale** (stale is defined as > 30 Minutes without update, often because an agent stopped or crashed).
306
319
  4. **Process Sequentially**: For each task (all 'pending' + all 'stale in_progress') found:
307
- - **Start**: Call 'task-update' to set status='in_progress' and provide current agent/role information.
320
+ - **Start**: Call 'task-update' to set status='in_progress' and provide current agent/role information in the metadata.
308
321
  - **Execute**: Perform the work described in the task title and description.
309
322
  - **Validate**: Ensure the work is correct and follows project standards.
310
323
  - **Complete**: Call 'task-update' to set status='completed' with a summary of accomplishment in the 'comment' field.
311
324
  - **Compact Context**: Summarize key learnings, decisions, and patterns discovered during task execution. Store critical insights as memory entries (type: 'code_fact' or 'pattern') using 'memory-store' to preserve important context while reducing token usage. Clear transient working memory that is no longer needed.
312
325
  - **Commit**: Perform an atomic git commit and push for the changes made in the task.
313
- - **Handoff**: Always use 'memory-store' (type='agent_handoff') to document **detailed fix steps** and project-specific knowledge gained during execution. If the task was complex, decompose it into smaller sub-tasks and store them using 'task-create' (referencing the current task's ID as \`parent_id\`).
314
- 5. **Report**: After processing all tasks, provide a summary of your progress.
315
-
316
- If a task becomes blocked, update its status to 'blocked' with a **clear reason and recommended next steps for resolution** in the 'comment' field, then move to the next task.`
326
+ - **Handoff**: Use 'task-update' to document **detailed fix steps**, milestones, and project-specific knowledge gained during execution in the 'comment' or metadata fields. If the task was complex, decompose it into smaller sub-tasks and store them using 'task-create' (referencing the current task's ID as \`parent_id\`).
327
+ 5. **Backlog Migration**: Once all 'pending' and 'in_progress' tasks are completed or blocked, fetch tasks with status='backlog'. If any exist, select up to 5-20 tasks (prioritizing by priority field) and update their status to 'pending' using 'task-update' to ensure the next agent has work ready.
328
+ 6. **Report**: After processing all tasks, provide a summary of your progress.
329
+
330
+ ---
331
+
332
+ ## Mermaid Diagram
333
+
334
+ \`\`\`mermaid
335
+ flowchart TD
336
+ A([Start Task Execution]) --> B[Identify Repository]
337
+ B --> C[Fetch 'pending' & 'in_progress' Tasks]
338
+ C --> D[Identify Stale 'in_progress' Tasks]
339
+ D --> E{Tasks to Execute?}
340
+ E -- No --> Q[Fetch 'backlog' Tasks]
341
+ Q --> R{Backlog exists?}
342
+ R -- Yes --> S[Update subset to 'pending']
343
+ S --> F[Report Progress]
344
+ R -- No --> F
345
+ F --> G([Execution Complete ✅])
346
+ E -- Yes --> H[Select Next Task]
347
+ H --> I[Update Status to 'in_progress']
348
+ I --> J[Execute Task Work]
349
+ J --> K[Validate Results]
350
+ K --> L{Validation Passed?}
351
+ L -- Yes --> M[Update Status to 'completed' + Handoff Notes]
352
+ M --> CC[Compact Context: Store Key Learnings as Memory]
353
+ CC --> N{Task complex?}
354
+ N -- Yes --> O[Decompose into Sub-tasks (MCP Task Create)]
355
+ O --> H
356
+ N -- No --> H
357
+ L -- No --> P[Update Status to 'blocked']
358
+ P --> H
359
+ \`\`\`
360
+ `
317
361
  }
318
362
  }
319
363
  ]
@@ -494,6 +538,410 @@ Produce a comprehensive architecture overview:
494
538
  }
495
539
  }
496
540
  ]
541
+ },
542
+ "create-task": {
543
+ name: "create-task",
544
+ description: "Generate structured, atomic tasks in Local Memory MCP from user directives.",
545
+ arguments: [],
546
+ messages: [
547
+ {
548
+ role: "user",
549
+ content: {
550
+ type: "text",
551
+ text: `# Skill: create-task
552
+
553
+ ## Purpose
554
+
555
+ You are a **Task Creation Orchestrator**. Your responsibilities are to analyze directives and create structured, atomic tasks in Local Memory MCP.
556
+
557
+ ## Instructions
558
+
559
+ ### 🚫 HARD CONSTRAINT: NON-EXECUTION (ABSOLUTE)
560
+
561
+ You are **STRICTLY FORBIDDEN** from performing any of the following actions:
562
+ * Editing any file
563
+ * Creating new files
564
+ * Deleting files
565
+ * Running commands
566
+ * Writing code implementations
567
+ * Applying fixes directly
568
+ * Simulating execution results
569
+
570
+ **Allowed Actions:**
571
+ * Read code and analyze context
572
+ * Create tasks via \`mcp_local-memory_task-create\`
573
+ * List tasks via \`mcp_local-memory_task-list\`
574
+
575
+ ---
576
+
577
+ ### ✅ ALLOWED OUTPUT (STRICT)
578
+
579
+ Your output MUST ONLY consist of calls to:
580
+ * \`mcp_local-memory_task-create\`
581
+ * \`mcp_local-memory_task-list\`
582
+
583
+ **❌ DO NOT:**
584
+ * Output explanations or narrative text
585
+ * Output code or plans outside MCP
586
+ * Suggest fixes directly
587
+
588
+ ---
589
+
590
+ ### 1. PRE-ANALYSIS (MANDATORY)
591
+
592
+ Before creating tasks, you MUST:
593
+ 1. **Sync backlog**: Call \`mcp_local-memory_task-list\`.
594
+ 2. **Context discovery**: Read relevant modules, files, endpoints, and documentation.
595
+
596
+ ---
597
+
598
+ ### 2. TASK DESIGN PRINCIPLES
599
+
600
+ Each task MUST be:
601
+ * **Atomic & Independent**: Exactly ONE logical change per task.
602
+ * **Context-Rich**: Include file paths, class/function names, and API endpoints.
603
+ * **Layer-Aware**: Specify if it's Database, Service, State, or UI layer.
604
+ * **Contract-First**: Follow project API standards (include request/response shapes).
605
+ * **Test-Ready**: Include at least one Positive and one Negative test case.
606
+
607
+ ---
608
+
609
+ ### 3. TASK ATTRIBUTES (MANDATORY)
610
+
611
+ Each \`mcp_local-memory_task-create\` MUST include:
612
+ * \`task_code\`: (FEAT-XXX / FIX-XXX / REFACTOR-XXX)
613
+ * \`phase\`: (Discovery / Implementation / Testing)
614
+ * \`priority\`: (1–5)
615
+
616
+ #### 🔥 DESCRIPTION FORMAT (STRICT)
617
+ The \`description\` field MUST follow this structure EXACTLY:
618
+
619
+ #### 1. Objective
620
+ * Clear goal of the task.
621
+
622
+ #### 2. Scope
623
+ * What is INCLUDED and EXCLUDED.
624
+
625
+ #### 3. References
626
+ * File paths, modules, endpoints, or documentation.
627
+
628
+ #### 4. Implementation Steps
629
+ * Sequential, explicit instructions for the executor.
630
+
631
+ #### 5. Expected Result
632
+ * Final state after implementation.
633
+
634
+ #### 6. Acceptance Criteria
635
+ * Checklist format (e.g., \`[ ] Condition 1\`).
636
+
637
+ #### 7. Test Scenarios
638
+ * **Positive Case**: Valid input -> success.
639
+ * **Negative Case**: Invalid input -> failure.
640
+
641
+ ---
642
+
643
+ ### metadata (MANDATORY)
644
+ * Required agent role.
645
+ * Additional technical context.
646
+
647
+ ---
648
+
649
+ ### 4. MULTI-TASK HANDLING
650
+ If a directive is complex:
651
+ 1. Create a parent task.
652
+ 2. Create child tasks using \`parent_id\` and \`depends_on\`.
653
+
654
+ ---
655
+
656
+ ### 5. FINAL SELF-CHECK (MANDATORY)
657
+ Before finishing, validate:
658
+ * ❌ No code was written.
659
+ * ❌ No execution was performed.
660
+ * ✅ Only MCP task operations exist.
661
+
662
+ If this check fails → ABORT OUTPUT.`
663
+ }
664
+ }
665
+ ]
497
666
  }
498
667
  };
668
+ const DYNAMIC_PROMPTS = {
669
+ "workspace-briefing-rich": {
670
+ title: "Workspace Briefing Rich",
671
+ description: "Brief the model with active roots, project summary, task backlog, and memory index for the current repository.",
672
+ arguments: [
673
+ {
674
+ name: "repo",
675
+ title: "Repository",
676
+ description: "Repository name. Optional when it can be inferred from roots or the existing local memory store.",
677
+ required: false,
678
+ },
679
+ {
680
+ name: "focus",
681
+ title: "Focus",
682
+ description: "Optional focus area for the briefing, such as architecture, tasks, or onboarding.",
683
+ required: false,
684
+ },
685
+ ],
686
+ },
687
+ "repo-architecture-context": {
688
+ title: "Repo Architecture Context",
689
+ description: "Ground a model with summary and recent memory resources before architecture work or review.",
690
+ arguments: [
691
+ {
692
+ name: "repo",
693
+ title: "Repository",
694
+ description: "Repository name. Optional when it can be inferred from roots or the local memory store.",
695
+ required: false,
696
+ },
697
+ ],
698
+ },
699
+ "active-tasks-review-rich": {
700
+ title: "Active Tasks Review Rich",
701
+ description: "Review the current task queue and memory context for a repository using embedded MCP resources.",
702
+ arguments: [
703
+ {
704
+ name: "repo",
705
+ title: "Repository",
706
+ description: "Repository name. Optional when it can be inferred from roots or the local memory store.",
707
+ required: false,
708
+ },
709
+ {
710
+ name: "objective",
711
+ title: "Objective",
712
+ description: "Optional review objective, such as triage, execution planning, or blocker analysis.",
713
+ required: false,
714
+ },
715
+ ],
716
+ },
717
+ };
718
+ export function listPrompts(db, session, params) {
719
+ const allPrompts = getPromptCatalog(db, session);
720
+ const limit = normalizeLimit(params?.limit);
721
+ const offset = decodeCursor(params?.cursor);
722
+ const prompts = allPrompts.slice(offset, offset + limit);
723
+ const nextOffset = offset + prompts.length;
724
+ return {
725
+ prompts,
726
+ nextCursor: nextOffset < allPrompts.length ? encodeCursor(nextOffset) : undefined,
727
+ };
728
+ }
729
+ export function getPrompt(name, args, db, session) {
730
+ const promptName = String(name || "");
731
+ const promptArgs = args ?? {};
732
+ if (promptName in DYNAMIC_PROMPTS) {
733
+ return buildDynamicPrompt(promptName, promptArgs, db, session);
734
+ }
735
+ const prompt = PROMPTS[promptName];
736
+ if (!prompt) {
737
+ throw invalidPromptParams(`Unknown prompt: ${promptName}`);
738
+ }
739
+ validatePromptArguments(promptName, prompt.arguments ?? [], promptArgs);
740
+ const result = JSON.parse(JSON.stringify(prompt));
741
+ result.title = result.title || humanizePromptName(result.name);
742
+ result.messages = result.messages.map((message) => substitutePromptMessage(message, promptArgs));
743
+ return result;
744
+ }
745
+ export function completePromptArgument(promptName, argumentName, argumentValue, contextArguments, dataSources) {
746
+ const prompt = promptName in DYNAMIC_PROMPTS
747
+ ? {
748
+ name: promptName,
749
+ arguments: DYNAMIC_PROMPTS[promptName].arguments,
750
+ }
751
+ : PROMPTS[promptName];
752
+ if (!prompt) {
753
+ throw invalidPromptParams(`Unknown prompt: ${promptName}`);
754
+ }
755
+ const declaredArgument = (prompt.arguments ?? []).find((entry) => entry.name === argumentName);
756
+ if (!declaredArgument) {
757
+ throw invalidPromptParams(`Unknown prompt argument "${argumentName}" for prompt "${promptName}"`);
758
+ }
759
+ if (argumentName === "repo") {
760
+ return rankCompletionValues(dataSources.repos, argumentValue);
761
+ }
762
+ if (argumentName === "file_path") {
763
+ return rankCompletionValues(dataSources.filePaths, argumentValue);
764
+ }
765
+ if (argumentName === "task_id") {
766
+ return rankCompletionValues(dataSources.tasks.map((task) => task.id), argumentValue);
767
+ }
768
+ if (argumentName === "tech_stack") {
769
+ return rankCompletionValues(dataSources.tags, argumentValue);
770
+ }
771
+ if (argumentName === "tags") {
772
+ const parts = argumentValue.split(",");
773
+ const activePart = parts[parts.length - 1]?.trim() ?? "";
774
+ const suggestions = rankCompletionValues(dataSources.tags, activePart);
775
+ if (parts.length <= 1) {
776
+ return suggestions;
777
+ }
778
+ const prefix = parts.slice(0, -1).map((part) => part.trim()).filter(Boolean).join(", ");
779
+ return suggestions.map((value) => `${prefix}, ${value}`);
780
+ }
781
+ return rankCompletionValues([], argumentValue);
782
+ }
783
+ function getPromptCatalog(db, session) {
784
+ const staticPrompts = Object.values(PROMPTS).map((prompt) => ({
785
+ name: prompt.name,
786
+ title: humanizePromptName(prompt.name),
787
+ description: prompt.description,
788
+ arguments: prompt.arguments ?? [],
789
+ }));
790
+ const dynamicPrompts = Object.entries(DYNAMIC_PROMPTS).map(([name, prompt]) => ({
791
+ name,
792
+ ...prompt,
793
+ }));
794
+ return [...staticPrompts, ...dynamicPrompts];
795
+ }
796
+ function buildDynamicPrompt(name, args, db, session) {
797
+ validatePromptArguments(name, DYNAMIC_PROMPTS[name].arguments, args);
798
+ const repo = resolvePromptRepo(args, db, session);
799
+ const focus = typeof args.focus === "string" && args.focus.trim() ? args.focus.trim() : undefined;
800
+ const objective = typeof args.objective === "string" && args.objective.trim() ? args.objective.trim() : undefined;
801
+ switch (name) {
802
+ case "workspace-briefing-rich":
803
+ return {
804
+ name,
805
+ title: DYNAMIC_PROMPTS[name].title,
806
+ description: DYNAMIC_PROMPTS[name].description,
807
+ arguments: DYNAMIC_PROMPTS[name].arguments,
808
+ messages: [
809
+ {
810
+ role: "user",
811
+ content: {
812
+ type: "text",
813
+ text: [
814
+ `Create a grounded workspace briefing${repo ? ` for repository "${repo}"` : ""}.`,
815
+ focus ? `Prioritize focus area: ${focus}.` : "Prioritize architecture decisions, active tasks, and current workspace boundaries.",
816
+ "Use the attached MCP resources as primary evidence before using tools.",
817
+ ].join(" "),
818
+ },
819
+ },
820
+ createResourceMessage("session://roots", "application/json"),
821
+ ...(repo ? [
822
+ createResourceMessage(`memory://summary/${repo}`, "text/plain"),
823
+ createResourceMessage(`tasks://current?repo=${encodeURIComponent(repo)}`, "application/json"),
824
+ createResourceMessage(`memory://index?repo=${encodeURIComponent(repo)}`, "application/json"),
825
+ ] : []),
826
+ ],
827
+ };
828
+ case "repo-architecture-context":
829
+ return {
830
+ name,
831
+ title: DYNAMIC_PROMPTS[name].title,
832
+ description: DYNAMIC_PROMPTS[name].description,
833
+ arguments: DYNAMIC_PROMPTS[name].arguments,
834
+ messages: [
835
+ {
836
+ role: "user",
837
+ content: {
838
+ type: "text",
839
+ text: repo
840
+ ? `Review the attached summary and memory index for repository "${repo}" before proposing any architectural changes.`
841
+ : "Review the attached workspace roots and available repository context before proposing any architectural changes.",
842
+ },
843
+ },
844
+ createResourceMessage("session://roots", "application/json"),
845
+ ...(repo ? [
846
+ createResourceMessage(`memory://summary/${repo}`, "text/plain"),
847
+ createResourceMessage(`memory://index?repo=${encodeURIComponent(repo)}`, "application/json"),
848
+ ] : []),
849
+ ],
850
+ };
851
+ case "active-tasks-review-rich":
852
+ return {
853
+ name,
854
+ title: DYNAMIC_PROMPTS[name].title,
855
+ description: DYNAMIC_PROMPTS[name].description,
856
+ arguments: DYNAMIC_PROMPTS[name].arguments,
857
+ messages: [
858
+ {
859
+ role: "user",
860
+ content: {
861
+ type: "text",
862
+ text: [
863
+ `Review the active task queue${repo ? ` for repository "${repo}"` : ""}.`,
864
+ objective ? `Goal: ${objective}.` : "Identify the most important next actions, blockers, and stale work.",
865
+ "Base the review on the attached MCP resources.",
866
+ ].join(" "),
867
+ },
868
+ },
869
+ ...(repo ? [
870
+ createResourceMessage(`tasks://current?repo=${encodeURIComponent(repo)}`, "application/json"),
871
+ createResourceMessage(`memory://summary/${repo}`, "text/plain"),
872
+ ] : [createResourceMessage("session://roots", "application/json")]),
873
+ ],
874
+ };
875
+ default:
876
+ throw invalidPromptParams(`Unknown prompt: ${name}`);
877
+ }
878
+ }
879
+ function createResourceMessage(uri, mimeType) {
880
+ return {
881
+ role: "user",
882
+ content: {
883
+ type: "resource",
884
+ resource: {
885
+ uri,
886
+ mimeType,
887
+ },
888
+ },
889
+ };
890
+ }
891
+ function validatePromptArguments(promptName, definitions, args) {
892
+ const missing = definitions
893
+ .filter((entry) => entry.required)
894
+ .filter((entry) => {
895
+ const value = args[entry.name];
896
+ return value === undefined || value === null || (typeof value === "string" && value.trim() === "");
897
+ })
898
+ .map((entry) => entry.name);
899
+ if (missing.length > 0) {
900
+ throw invalidPromptParams(`Missing required prompt arguments for "${promptName}": ${missing.join(", ")}`);
901
+ }
902
+ }
903
+ function substitutePromptMessage(message, args) {
904
+ if (!message.content || message.content.type !== "text" || typeof message.content.text !== "string") {
905
+ return message;
906
+ }
907
+ let text = message.content.text;
908
+ for (const [key, value] of Object.entries(args)) {
909
+ const placeholder = new RegExp(`\\{\\{${key}\\}\\}`, "g");
910
+ text = text.replace(placeholder, String(value));
911
+ }
912
+ return {
913
+ ...message,
914
+ content: {
915
+ ...message.content,
916
+ text,
917
+ },
918
+ };
919
+ }
920
+ function resolvePromptRepo(args, db, session) {
921
+ const argRepo = typeof args.repo === "string" && args.repo.trim() ? args.repo.trim() : undefined;
922
+ if (argRepo)
923
+ return argRepo;
924
+ const inferredRepo = inferRepoFromSession(session);
925
+ if (inferredRepo)
926
+ return inferredRepo;
927
+ const repos = typeof db.listRepos === "function" ? db.listRepos() : [];
928
+ return repos[0];
929
+ }
930
+ function humanizePromptName(name) {
931
+ return name
932
+ .split("-")
933
+ .map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))
934
+ .join(" ");
935
+ }
936
+ function normalizeLimit(limit) {
937
+ if (typeof limit !== "number" || !Number.isFinite(limit)) {
938
+ return 25;
939
+ }
940
+ return Math.min(100, Math.max(1, Math.trunc(limit)));
941
+ }
942
+ function invalidPromptParams(message) {
943
+ const error = new Error(message);
944
+ error.code = -32602;
945
+ return error;
946
+ }
499
947
  //# sourceMappingURL=registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/prompts/registry.ts"],"names":[],"mappings":"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"}