memory-journal-mcp 4.4.2 → 5.0.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 (291) hide show
  1. package/.github/workflows/codeql.yml +1 -6
  2. package/.github/workflows/docker-publish.yml +15 -49
  3. package/.github/workflows/lint-and-test.yml +1 -1
  4. package/.github/workflows/secrets-scanning.yml +4 -3
  5. package/.github/workflows/security-update.yml +3 -3
  6. package/CHANGELOG.md +213 -0
  7. package/CONTRIBUTING.md +132 -97
  8. package/DOCKER_README.md +184 -235
  9. package/Dockerfile +27 -24
  10. package/README.md +218 -190
  11. package/SECURITY.md +27 -35
  12. package/dist/cli.js +16 -1
  13. package/dist/cli.js.map +1 -1
  14. package/dist/constants/ServerInstructions.d.ts +5 -1
  15. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  16. package/dist/constants/ServerInstructions.js +133 -73
  17. package/dist/constants/ServerInstructions.js.map +1 -1
  18. package/dist/constants/icons.d.ts +2 -2
  19. package/dist/constants/icons.d.ts.map +1 -1
  20. package/dist/constants/icons.js +7 -6
  21. package/dist/constants/icons.js.map +1 -1
  22. package/dist/database/SqliteAdapter.d.ts +37 -24
  23. package/dist/database/SqliteAdapter.d.ts.map +1 -1
  24. package/dist/database/SqliteAdapter.js +319 -157
  25. package/dist/database/SqliteAdapter.js.map +1 -1
  26. package/dist/database/schema.d.ts +45 -0
  27. package/dist/database/schema.d.ts.map +1 -0
  28. package/dist/database/schema.js +92 -0
  29. package/dist/database/schema.js.map +1 -0
  30. package/dist/filtering/ToolFilter.d.ts +1 -1
  31. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  32. package/dist/filtering/ToolFilter.js +13 -2
  33. package/dist/filtering/ToolFilter.js.map +1 -1
  34. package/dist/github/GitHubIntegration.d.ts.map +1 -1
  35. package/dist/github/GitHubIntegration.js +1 -3
  36. package/dist/github/GitHubIntegration.js.map +1 -1
  37. package/dist/handlers/prompts/github.d.ts +12 -0
  38. package/dist/handlers/prompts/github.d.ts.map +1 -0
  39. package/dist/handlers/prompts/github.js +178 -0
  40. package/dist/handlers/prompts/github.js.map +1 -0
  41. package/dist/handlers/prompts/index.d.ts +23 -2
  42. package/dist/handlers/prompts/index.d.ts.map +1 -1
  43. package/dist/handlers/prompts/index.js +7 -432
  44. package/dist/handlers/prompts/index.js.map +1 -1
  45. package/dist/handlers/prompts/workflow.d.ts +12 -0
  46. package/dist/handlers/prompts/workflow.d.ts.map +1 -0
  47. package/dist/handlers/prompts/workflow.js +277 -0
  48. package/dist/handlers/prompts/workflow.js.map +1 -0
  49. package/dist/handlers/resources/core.d.ts +11 -0
  50. package/dist/handlers/resources/core.d.ts.map +1 -0
  51. package/dist/handlers/resources/core.js +433 -0
  52. package/dist/handlers/resources/core.js.map +1 -0
  53. package/dist/handlers/resources/github.d.ts +11 -0
  54. package/dist/handlers/resources/github.d.ts.map +1 -0
  55. package/dist/handlers/resources/github.js +314 -0
  56. package/dist/handlers/resources/github.js.map +1 -0
  57. package/dist/handlers/resources/graph.d.ts +11 -0
  58. package/dist/handlers/resources/graph.d.ts.map +1 -0
  59. package/dist/handlers/resources/graph.js +204 -0
  60. package/dist/handlers/resources/graph.js.map +1 -0
  61. package/dist/handlers/resources/index.d.ts +5 -20
  62. package/dist/handlers/resources/index.d.ts.map +1 -1
  63. package/dist/handlers/resources/index.js +16 -1278
  64. package/dist/handlers/resources/index.js.map +1 -1
  65. package/dist/handlers/resources/shared.d.ts +60 -0
  66. package/dist/handlers/resources/shared.d.ts.map +1 -0
  67. package/dist/handlers/resources/shared.js +49 -0
  68. package/dist/handlers/resources/shared.js.map +1 -0
  69. package/dist/handlers/resources/team.d.ts +13 -0
  70. package/dist/handlers/resources/team.d.ts.map +1 -0
  71. package/dist/handlers/resources/team.js +119 -0
  72. package/dist/handlers/resources/team.js.map +1 -0
  73. package/dist/handlers/resources/templates.d.ts +13 -0
  74. package/dist/handlers/resources/templates.d.ts.map +1 -0
  75. package/dist/handlers/resources/templates.js +310 -0
  76. package/dist/handlers/resources/templates.js.map +1 -0
  77. package/dist/handlers/tools/admin.d.ts +8 -0
  78. package/dist/handlers/tools/admin.d.ts.map +1 -0
  79. package/dist/handlers/tools/admin.js +270 -0
  80. package/dist/handlers/tools/admin.js.map +1 -0
  81. package/dist/handlers/tools/analytics.d.ts +8 -0
  82. package/dist/handlers/tools/analytics.d.ts.map +1 -0
  83. package/dist/handlers/tools/analytics.js +256 -0
  84. package/dist/handlers/tools/analytics.js.map +1 -0
  85. package/dist/handlers/tools/backup.d.ts +8 -0
  86. package/dist/handlers/tools/backup.d.ts.map +1 -0
  87. package/dist/handlers/tools/backup.js +224 -0
  88. package/dist/handlers/tools/backup.js.map +1 -0
  89. package/dist/handlers/tools/core.d.ts +9 -0
  90. package/dist/handlers/tools/core.d.ts.map +1 -0
  91. package/dist/handlers/tools/core.js +326 -0
  92. package/dist/handlers/tools/core.js.map +1 -0
  93. package/dist/handlers/tools/export.d.ts +8 -0
  94. package/dist/handlers/tools/export.d.ts.map +1 -0
  95. package/dist/handlers/tools/export.js +89 -0
  96. package/dist/handlers/tools/export.js.map +1 -0
  97. package/dist/handlers/tools/github/helpers.d.ts +34 -0
  98. package/dist/handlers/tools/github/helpers.d.ts.map +1 -0
  99. package/dist/handlers/tools/github/helpers.js +52 -0
  100. package/dist/handlers/tools/github/helpers.js.map +1 -0
  101. package/dist/handlers/tools/github/insights-tools.d.ts +8 -0
  102. package/dist/handlers/tools/github/insights-tools.d.ts.map +1 -0
  103. package/dist/handlers/tools/github/insights-tools.js +104 -0
  104. package/dist/handlers/tools/github/insights-tools.js.map +1 -0
  105. package/dist/handlers/tools/github/issue-tools.d.ts +8 -0
  106. package/dist/handlers/tools/github/issue-tools.d.ts.map +1 -0
  107. package/dist/handlers/tools/github/issue-tools.js +359 -0
  108. package/dist/handlers/tools/github/issue-tools.js.map +1 -0
  109. package/dist/handlers/tools/github/kanban-tools.d.ts +8 -0
  110. package/dist/handlers/tools/github/kanban-tools.d.ts.map +1 -0
  111. package/dist/handlers/tools/github/kanban-tools.js +108 -0
  112. package/dist/handlers/tools/github/kanban-tools.js.map +1 -0
  113. package/dist/handlers/tools/github/milestone-tools.d.ts +9 -0
  114. package/dist/handlers/tools/github/milestone-tools.d.ts.map +1 -0
  115. package/dist/handlers/tools/github/milestone-tools.js +302 -0
  116. package/dist/handlers/tools/github/milestone-tools.js.map +1 -0
  117. package/dist/handlers/tools/github/mutation-tools.d.ts +12 -0
  118. package/dist/handlers/tools/github/mutation-tools.d.ts.map +1 -0
  119. package/dist/handlers/tools/github/mutation-tools.js +15 -0
  120. package/dist/handlers/tools/github/mutation-tools.js.map +1 -0
  121. package/dist/handlers/tools/github/read-tools.d.ts +8 -0
  122. package/dist/handlers/tools/github/read-tools.d.ts.map +1 -0
  123. package/dist/handlers/tools/github/read-tools.js +260 -0
  124. package/dist/handlers/tools/github/read-tools.js.map +1 -0
  125. package/dist/handlers/tools/github/schemas.d.ts +467 -0
  126. package/dist/handlers/tools/github/schemas.d.ts.map +1 -0
  127. package/dist/handlers/tools/github/schemas.js +335 -0
  128. package/dist/handlers/tools/github/schemas.js.map +1 -0
  129. package/dist/handlers/tools/github.d.ts +14 -0
  130. package/dist/handlers/tools/github.d.ts.map +1 -0
  131. package/dist/handlers/tools/github.js +28 -0
  132. package/dist/handlers/tools/github.js.map +1 -0
  133. package/dist/handlers/tools/index.d.ts +15 -20
  134. package/dist/handlers/tools/index.d.ts.map +1 -1
  135. package/dist/handlers/tools/index.js +117 -2909
  136. package/dist/handlers/tools/index.js.map +1 -1
  137. package/dist/handlers/tools/relationships.d.ts +8 -0
  138. package/dist/handlers/tools/relationships.d.ts.map +1 -0
  139. package/dist/handlers/tools/relationships.js +308 -0
  140. package/dist/handlers/tools/relationships.js.map +1 -0
  141. package/dist/handlers/tools/schemas.d.ts +108 -0
  142. package/dist/handlers/tools/schemas.d.ts.map +1 -0
  143. package/dist/handlers/tools/schemas.js +122 -0
  144. package/dist/handlers/tools/schemas.js.map +1 -0
  145. package/dist/handlers/tools/search.d.ts +8 -0
  146. package/dist/handlers/tools/search.d.ts.map +1 -0
  147. package/dist/handlers/tools/search.js +282 -0
  148. package/dist/handlers/tools/search.js.map +1 -0
  149. package/dist/handlers/tools/team.d.ts +11 -0
  150. package/dist/handlers/tools/team.d.ts.map +1 -0
  151. package/dist/handlers/tools/team.js +239 -0
  152. package/dist/handlers/tools/team.js.map +1 -0
  153. package/dist/server/McpServer.d.ts +4 -0
  154. package/dist/server/McpServer.d.ts.map +1 -1
  155. package/dist/server/McpServer.js +48 -297
  156. package/dist/server/McpServer.js.map +1 -1
  157. package/dist/server/Scheduler.d.ts +91 -0
  158. package/dist/server/Scheduler.d.ts.map +1 -0
  159. package/dist/server/Scheduler.js +201 -0
  160. package/dist/server/Scheduler.js.map +1 -0
  161. package/dist/transports/http.d.ts +66 -0
  162. package/dist/transports/http.d.ts.map +1 -0
  163. package/dist/transports/http.js +519 -0
  164. package/dist/transports/http.js.map +1 -0
  165. package/dist/types/entities.d.ts +101 -0
  166. package/dist/types/entities.d.ts.map +1 -0
  167. package/dist/types/entities.js +5 -0
  168. package/dist/types/entities.js.map +1 -0
  169. package/dist/types/filtering.d.ts +34 -0
  170. package/dist/types/filtering.d.ts.map +1 -0
  171. package/dist/types/filtering.js +5 -0
  172. package/dist/types/filtering.js.map +1 -0
  173. package/dist/types/github.d.ts +166 -0
  174. package/dist/types/github.d.ts.map +1 -0
  175. package/dist/types/github.js +5 -0
  176. package/dist/types/github.js.map +1 -0
  177. package/dist/types/index.d.ts +35 -292
  178. package/dist/types/index.d.ts.map +1 -1
  179. package/dist/types/index.js +2 -2
  180. package/dist/types/index.js.map +1 -1
  181. package/dist/utils/error-helpers.d.ts +37 -0
  182. package/dist/utils/error-helpers.d.ts.map +1 -0
  183. package/dist/utils/error-helpers.js +47 -0
  184. package/dist/utils/error-helpers.js.map +1 -0
  185. package/dist/utils/logger.d.ts.map +1 -1
  186. package/dist/utils/logger.js +6 -3
  187. package/dist/utils/logger.js.map +1 -1
  188. package/dist/utils/security-utils.d.ts +0 -21
  189. package/dist/utils/security-utils.d.ts.map +1 -1
  190. package/dist/utils/security-utils.js +0 -47
  191. package/dist/utils/security-utils.js.map +1 -1
  192. package/dist/vector/VectorSearchManager.d.ts.map +1 -1
  193. package/dist/vector/VectorSearchManager.js +9 -32
  194. package/dist/vector/VectorSearchManager.js.map +1 -1
  195. package/docker-compose.yml +11 -2
  196. package/hooks/README.md +107 -0
  197. package/hooks/cursor/hooks.json +10 -0
  198. package/hooks/cursor/memory-journal.mdc +22 -0
  199. package/hooks/cursor/session-end.sh +19 -0
  200. package/hooks/kilo-code/session-end-mode.json +11 -0
  201. package/hooks/kiro/session-end.md +13 -0
  202. package/mcp-config-example.json +1 -0
  203. package/package.json +11 -9
  204. package/playwright.config.ts +29 -0
  205. package/releases/v4.5.0.md +116 -0
  206. package/releases/v5.0.0.md +105 -0
  207. package/scripts/generate-server-instructions.ts +176 -0
  208. package/scripts/server-instructions-function-body.ts +77 -0
  209. package/server.json +3 -3
  210. package/src/cli.ts +45 -1
  211. package/src/constants/ServerInstructions.ts +133 -73
  212. package/src/constants/icons.ts +8 -7
  213. package/src/constants/server-instructions.md +268 -0
  214. package/src/database/SqliteAdapter.ts +358 -192
  215. package/src/database/schema.ts +125 -0
  216. package/src/filtering/ToolFilter.ts +13 -2
  217. package/src/github/GitHubIntegration.ts +1 -3
  218. package/src/handlers/prompts/github.ts +209 -0
  219. package/src/handlers/prompts/index.ts +10 -499
  220. package/src/handlers/prompts/workflow.ts +314 -0
  221. package/src/handlers/resources/core.ts +528 -0
  222. package/src/handlers/resources/github.ts +358 -0
  223. package/src/handlers/resources/graph.ts +254 -0
  224. package/src/handlers/resources/index.ts +23 -1570
  225. package/src/handlers/resources/shared.ts +103 -0
  226. package/src/handlers/resources/team.ts +133 -0
  227. package/src/handlers/resources/templates.ts +374 -0
  228. package/src/handlers/tools/admin.ts +285 -0
  229. package/src/handlers/tools/analytics.ts +301 -0
  230. package/src/handlers/tools/backup.ts +242 -0
  231. package/src/handlers/tools/core.ts +350 -0
  232. package/src/handlers/tools/export.ts +115 -0
  233. package/src/handlers/tools/github/helpers.ts +86 -0
  234. package/src/handlers/tools/github/insights-tools.ts +119 -0
  235. package/src/handlers/tools/github/issue-tools.ts +439 -0
  236. package/src/handlers/tools/github/kanban-tools.ts +134 -0
  237. package/src/handlers/tools/github/milestone-tools.ts +392 -0
  238. package/src/handlers/tools/github/mutation-tools.ts +17 -0
  239. package/src/handlers/tools/github/read-tools.ts +328 -0
  240. package/src/handlers/tools/github/schemas.ts +369 -0
  241. package/src/handlers/tools/github.ts +36 -0
  242. package/src/handlers/tools/index.ts +144 -3325
  243. package/src/handlers/tools/relationships.ts +358 -0
  244. package/src/handlers/tools/schemas.ts +132 -0
  245. package/src/handlers/tools/search.ts +343 -0
  246. package/src/handlers/tools/team.ts +273 -0
  247. package/src/server/McpServer.ts +63 -358
  248. package/src/server/Scheduler.ts +278 -0
  249. package/src/transports/http.ts +635 -0
  250. package/src/types/entities.ts +145 -0
  251. package/src/types/filtering.ts +54 -0
  252. package/src/types/github.ts +180 -0
  253. package/src/types/index.ts +67 -375
  254. package/src/utils/error-helpers.ts +52 -0
  255. package/src/utils/logger.ts +6 -3
  256. package/src/utils/security-utils.ts +0 -52
  257. package/src/vector/VectorSearchManager.ts +9 -33
  258. package/tests/constants/icons.test.ts +1 -2
  259. package/tests/constants/server-instructions.test.ts +30 -4
  260. package/tests/database/sqlite-adapter.test.ts +91 -7
  261. package/tests/e2e/auth.spec.ts +154 -0
  262. package/tests/e2e/health.spec.ts +63 -0
  263. package/tests/e2e/protocols.spec.ts +134 -0
  264. package/tests/e2e/resources.spec.ts +103 -0
  265. package/tests/e2e/scheduler.spec.ts +79 -0
  266. package/tests/e2e/security.spec.ts +91 -0
  267. package/tests/e2e/sessions.spec.ts +95 -0
  268. package/tests/e2e/stateless.spec.ts +121 -0
  269. package/tests/e2e/tools.spec.ts +111 -0
  270. package/tests/filtering/tool-filter.test.ts +46 -0
  271. package/tests/handlers/error-path-coverage.test.ts +324 -0
  272. package/tests/handlers/github-resource-handlers.test.ts +453 -0
  273. package/tests/handlers/github-tool-handlers.test.ts +899 -0
  274. package/tests/handlers/prompt-handler-coverage.test.ts +106 -0
  275. package/tests/handlers/prompt-handlers.test.ts +40 -0
  276. package/tests/handlers/resource-handler-coverage.test.ts +181 -0
  277. package/tests/handlers/resource-handlers.test.ts +33 -9
  278. package/tests/handlers/search-tool-handlers.test.ts +272 -0
  279. package/tests/handlers/targeted-gap-closure.test.ts +387 -0
  280. package/tests/handlers/team-resource-handlers.test.ts +156 -0
  281. package/tests/handlers/team-tool-handlers.test.ts +301 -0
  282. package/tests/handlers/tool-handler-coverage.test.ts +469 -0
  283. package/tests/handlers/tool-handlers.test.ts +2 -2
  284. package/tests/security/sql-injection.test.ts +3 -54
  285. package/tests/server/mcp-server.test.ts +503 -8
  286. package/tests/server/scheduler.test.ts +400 -0
  287. package/tests/transports/http-transport.test.ts +620 -0
  288. package/tests/vector/vector-search-manager.test.ts +60 -0
  289. package/vitest.config.ts +4 -1
  290. package/.memory-journal-team.db +0 -0
  291. package/.vscode/settings.json +0 -84
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Memory Journal MCP Server - GitHub Prompt Definitions
3
+ *
4
+ * Prompts: project-status-summary, pr-summary, code-review-prep,
5
+ * pr-retrospective, actions-failure-digest, project-milestone-tracker
6
+ */
7
+ import { ICON_PROMPT } from '../../constants/icons.js';
8
+ import { execQuery } from './index.js';
9
+ /**
10
+ * Get GitHub prompt definitions
11
+ */
12
+ export function getGitHubPromptDefinitions() {
13
+ return [
14
+ {
15
+ name: 'project-status-summary',
16
+ description: 'GitHub Project status reports',
17
+ icons: [ICON_PROMPT],
18
+ arguments: [
19
+ { name: 'project_number', description: 'GitHub Project number', required: true },
20
+ ],
21
+ handler: (args, db) => {
22
+ const projectNumber = parseInt(args['project_number'] ?? '0', 10);
23
+ const entries = execQuery(db, `
24
+ SELECT * FROM memory_journal
25
+ WHERE project_number = ?
26
+ AND deleted_at IS NULL
27
+ ORDER BY timestamp DESC
28
+ LIMIT 20
29
+ `, [projectNumber]);
30
+ return {
31
+ messages: [
32
+ {
33
+ role: 'user',
34
+ content: {
35
+ type: 'text',
36
+ text: `Generate a status summary for Project #${String(projectNumber)}:\n\nEntries: ${JSON.stringify(entries, null, 2)}\n\nProvide: overview, recent activity, blockers, next steps.`,
37
+ },
38
+ },
39
+ ],
40
+ };
41
+ },
42
+ },
43
+ {
44
+ name: 'pr-summary',
45
+ description: 'Pull request journal activity summary',
46
+ icons: [ICON_PROMPT],
47
+ arguments: [{ name: 'pr_number', description: 'Pull request number', required: true }],
48
+ handler: (args, db) => {
49
+ const prNumber = parseInt(args['pr_number'] ?? '0', 10);
50
+ const entries = execQuery(db, `
51
+ SELECT * FROM memory_journal
52
+ WHERE pr_number = ?
53
+ AND deleted_at IS NULL
54
+ ORDER BY timestamp ASC
55
+ `, [prNumber]);
56
+ return {
57
+ messages: [
58
+ {
59
+ role: 'user',
60
+ content: {
61
+ type: 'text',
62
+ text: `Summarize PR #${String(prNumber)} activity:\n\nJournal entries: ${JSON.stringify(entries, null, 2)}\n\nProvide: summary of changes, decisions made, testing done.`,
63
+ },
64
+ },
65
+ ],
66
+ };
67
+ },
68
+ },
69
+ {
70
+ name: 'code-review-prep',
71
+ description: 'Comprehensive PR review preparation',
72
+ icons: [ICON_PROMPT],
73
+ arguments: [{ name: 'pr_number', description: 'Pull request number', required: true }],
74
+ handler: (args, db) => {
75
+ const prNumber = parseInt(args['pr_number'] ?? '0', 10);
76
+ const entries = execQuery(db, `
77
+ SELECT * FROM memory_journal
78
+ WHERE pr_number = ?
79
+ AND deleted_at IS NULL
80
+ ORDER BY timestamp ASC
81
+ `, [prNumber]);
82
+ return {
83
+ messages: [
84
+ {
85
+ role: 'user',
86
+ content: {
87
+ type: 'text',
88
+ text: `Prepare for code review of PR #${String(prNumber)}:\n\nContext entries: ${JSON.stringify(entries, null, 2)}\n\nProvide: review checklist, areas of concern, testing recommendations.`,
89
+ },
90
+ },
91
+ ],
92
+ };
93
+ },
94
+ },
95
+ {
96
+ name: 'pr-retrospective',
97
+ description: 'Completed PR analysis with learnings',
98
+ icons: [ICON_PROMPT],
99
+ arguments: [{ name: 'pr_number', description: 'Pull request number', required: true }],
100
+ handler: (args, db) => {
101
+ const prNumber = parseInt(args['pr_number'] ?? '0', 10);
102
+ const entries = execQuery(db, `
103
+ SELECT * FROM memory_journal
104
+ WHERE pr_number = ?
105
+ AND deleted_at IS NULL
106
+ ORDER BY timestamp ASC
107
+ `, [prNumber]);
108
+ return {
109
+ messages: [
110
+ {
111
+ role: 'user',
112
+ content: {
113
+ type: 'text',
114
+ text: `Retrospective for PR #${String(prNumber)}:\n\nJournal entries: ${JSON.stringify(entries, null, 2)}\n\nProvide: what went well, challenges, lessons learned.`,
115
+ },
116
+ },
117
+ ],
118
+ };
119
+ },
120
+ },
121
+ {
122
+ name: 'actions-failure-digest',
123
+ description: 'CI/CD failure analysis with root cause identification',
124
+ icons: [ICON_PROMPT],
125
+ arguments: [],
126
+ handler: (_args, db) => {
127
+ const entries = execQuery(db, `
128
+ SELECT * FROM memory_journal
129
+ WHERE workflow_run_id IS NOT NULL
130
+ AND deleted_at IS NULL
131
+ ORDER BY timestamp DESC
132
+ LIMIT 20
133
+ `);
134
+ return {
135
+ messages: [
136
+ {
137
+ role: 'user',
138
+ content: {
139
+ type: 'text',
140
+ text: `Analyze CI/CD failures from these workflow entries:\n\n${JSON.stringify(entries, null, 2)}\n\nProvide: failure patterns, root causes, remediation steps.`,
141
+ },
142
+ },
143
+ ],
144
+ };
145
+ },
146
+ },
147
+ {
148
+ name: 'project-milestone-tracker',
149
+ description: 'Milestone progress tracking',
150
+ icons: [ICON_PROMPT],
151
+ arguments: [
152
+ { name: 'project_number', description: 'GitHub Project number', required: true },
153
+ ],
154
+ handler: (args, db) => {
155
+ const projectNumber = parseInt(args['project_number'] ?? '0', 10);
156
+ const entries = execQuery(db, `
157
+ SELECT * FROM memory_journal
158
+ WHERE project_number = ?
159
+ AND significance_type IS NOT NULL
160
+ AND deleted_at IS NULL
161
+ ORDER BY timestamp DESC
162
+ `, [projectNumber]);
163
+ return {
164
+ messages: [
165
+ {
166
+ role: 'user',
167
+ content: {
168
+ type: 'text',
169
+ text: `Track milestones for Project #${String(projectNumber)}:\n\nMilestone entries: ${JSON.stringify(entries, null, 2)}\n\nProvide: progress summary, upcoming milestones, timeline.`,
170
+ },
171
+ },
172
+ ],
173
+ };
174
+ },
175
+ },
176
+ ];
177
+ }
178
+ //# sourceMappingURL=github.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/handlers/prompts/github.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,41 @@
1
1
  /**
2
2
  * Memory Journal MCP Server - Prompt Handlers
3
3
  *
4
+ * Barrel file composing prompt definitions from sub-modules.
4
5
  * Exports all MCP prompts for workflow guidance.
5
6
  */
6
7
  import type { SqliteAdapter } from '../../database/SqliteAdapter.js';
8
+ import type { McpIcon } from '../../types/index.js';
7
9
  /**
8
10
  * Message format for MCP prompts
9
11
  */
10
- interface PromptMessage {
12
+ export interface PromptMessage {
11
13
  role: string;
12
14
  content: {
13
15
  type: string;
14
16
  text: string;
15
17
  };
16
18
  }
19
+ /**
20
+ * Internal prompt definition with db handler
21
+ */
22
+ export interface InternalPromptDef {
23
+ name: string;
24
+ description: string;
25
+ arguments?: {
26
+ name: string;
27
+ description: string;
28
+ required?: boolean;
29
+ }[];
30
+ icons?: McpIcon[];
31
+ handler: (args: Record<string, string>, db: SqliteAdapter) => {
32
+ messages: PromptMessage[];
33
+ };
34
+ }
35
+ /**
36
+ * Execute a raw SQL query on the database
37
+ */
38
+ export declare function execQuery(db: SqliteAdapter, sql: string, params?: unknown[]): Record<string, unknown>[];
17
39
  /**
18
40
  * Get all prompt definitions for MCP list
19
41
  */
@@ -24,5 +46,4 @@ export declare function getPrompts(): object[];
24
46
  export declare function getPrompt(name: string, args: Record<string, string>, db: SqliteAdapter): {
25
47
  messages: PromptMessage[];
26
48
  };
27
- export {};
28
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAIpE;;GAEG;AACH,UAAU,aAAa;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE;QACL,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACf,CAAA;CACJ;AAuCD;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAQrC;AAED;;GAEG;AACH,wBAAgB,SAAS,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,EAAE,EAAE,aAAa,GAClB;IAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAS/B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/handlers/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAInD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE;QACL,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACf,CAAA;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACrB,EAAE,CAAA;IACH,KAAK,CAAC,EAAE,OAAO,EAAE,CAAA;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,aAAa,KAAK;QAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;KAAE,CAAA;CAC9F;AAED;;GAEG;AACH,wBAAgB,SAAS,CACrB,EAAE,EAAE,aAAa,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,OAAO,EAAO,GACvB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAa3B;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,EAAE,CAQrC;AAED;;GAEG;AACH,wBAAgB,SAAS,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,EAAE,EAAE,aAAa,GAClB;IAAE,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAS/B"}