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,47 @@
1
+ /**
2
+ * Centralized Error Helpers for Memory Journal MCP
3
+ *
4
+ * Provides consistent error formatting across all tool handlers.
5
+ * Follows the deterministic error handling standard from mysql-mcp:
6
+ * all errors return { success: false, error: "Human-readable message" }
7
+ * instead of throwing uncaught exceptions.
8
+ */
9
+ import { ZodError } from 'zod';
10
+ /**
11
+ * Extract human-readable messages from a ZodError instead of raw JSON array.
12
+ * Maps each Zod issue to its path + message for clear validation feedback.
13
+ */
14
+ export function formatZodError(error) {
15
+ return error.issues
16
+ .map((issue) => {
17
+ const path = issue.path.length > 0 ? `${issue.path.join('.')}: ` : '';
18
+ return `${path}${issue.message}`;
19
+ })
20
+ .join('; ');
21
+ }
22
+ /**
23
+ * Format any caught error into a structured handler error response.
24
+ *
25
+ * Handles ZodError (validation) and general errors (runtime).
26
+ * Use as the single catch block for all tool handlers:
27
+ *
28
+ * ```typescript
29
+ * handler: async (params) => {
30
+ * try {
31
+ * const parsed = Schema.parse(params);
32
+ * // ... domain logic ...
33
+ * return { success: true, ... };
34
+ * } catch (err) {
35
+ * return formatHandlerError(err);
36
+ * }
37
+ * }
38
+ * ```
39
+ */
40
+ export function formatHandlerError(err) {
41
+ if (err instanceof ZodError) {
42
+ return { success: false, error: formatZodError(err) };
43
+ }
44
+ const message = err instanceof Error ? err.message : String(err);
45
+ return { success: false, error: message };
46
+ }
47
+ //# sourceMappingURL=error-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-helpers.js","sourceRoot":"","sources":["../../src/utils/error-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAE9B;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAe;IAC1C,OAAO,KAAK,CAAC,MAAM;SACd,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QACrE,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAA;IACpC,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAA;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAI3C,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;IACzD,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAChE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;AAC7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;AAE9E,UAAU,UAAU;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB;AAWD,cAAM,MAAM;IACR,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,KAAK,GAAE,QAAiB;IAIpC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,GAAG;IAeX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAInD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIpD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIrD,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;CAGlC;AAKD,eAAO,MAAM,MAAM,QAAuB,CAAA"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;AAE9E,UAAU,UAAU;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACzB;AAWD,cAAM,MAAM;IACR,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,KAAK,GAAE,QAAiB;IAIpC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,GAAG;IAeX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIjD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAInD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIpD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIlD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAIrD,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;CAKlC;AAMD,eAAO,MAAM,MAAM,QAAuB,CAAA"}
@@ -68,10 +68,13 @@ class Logger {
68
68
  this.log('critical', message, context);
69
69
  }
70
70
  setLevel(level) {
71
- this.minLevel = LOG_LEVELS[level];
71
+ if (level in LOG_LEVELS) {
72
+ this.minLevel = LOG_LEVELS[level];
73
+ }
72
74
  }
73
75
  }
74
- // Get log level from environment
75
- const envLevel = (process.env['LOG_LEVEL'] ?? 'info');
76
+ // Get log level from environment (validated against known levels)
77
+ const rawLevel = process.env['LOG_LEVEL'] ?? 'info';
78
+ const envLevel = rawLevel in LOG_LEVELS ? rawLevel : 'info';
76
79
  export const logger = new Logger(envLevel);
77
80
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAW7D,MAAM,UAAU,GAA6B;IACzC,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,CAAC;CACd,CAAA;AAED,MAAM,MAAM;IACA,QAAQ,CAAQ;IAExB,YAAY,QAAkB,MAAM;QAChC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;IAEO,SAAS,CAAC,KAAe;QAC7B,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAA;IAC7C,CAAC;IAEO,aAAa,CAAC,KAAe,EAAE,OAAe,EAAE,OAAoB;QACxE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3D,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QAEpE,IAAI,SAAS,GAAG,IAAI,SAAS,MAAM,UAAU,KAAK,MAAM,GAAG,SAAS,IAAI,OAAO,EAAE,CAAA;QAEjF,qDAAqD;QACrD,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,CAAA;QAC7B,OAAO,MAAM,CAAC,MAAM,CAAA;QACpB,OAAO,MAAM,CAAC,SAAS,CAAA;QAEvB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,SAAS,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAA;QAC7C,CAAC;QAED,OAAO,SAAS,CAAA;IACpB,CAAC;IAEO,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,OAAoB;QAC9D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAM;QAElC,yDAAyD;QACzD,IAAI,gBAAgB,GAAG,OAAO,CAAA;QAC9B,IAAI,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACrE,gBAAgB,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAA;QACvF,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAEtE,+DAA+D;QAC/D,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAoB;QACvC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAoB;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,OAAe,EAAE,OAAoB;QACxC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,OAAoB;QACzC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAoB;QACvC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,OAAoB;QAC1C,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,QAAQ,CAAC,KAAe;QACpB,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;QACrC,CAAC;IACL,CAAC;CACJ;AAED,kEAAkE;AAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,MAAM,CAAA;AACnD,MAAM,QAAQ,GAAa,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAE,QAAqB,CAAC,CAAC,CAAC,MAAM,CAAA;AAEnF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAA"}
@@ -17,12 +17,6 @@ export declare class SecurityError extends Error {
17
17
  export declare class InvalidDateFormatError extends SecurityError {
18
18
  constructor(value: string);
19
19
  }
20
- /**
21
- * Thrown when SQL injection patterns are detected in input
22
- */
23
- export declare class SqlInjectionError extends SecurityError {
24
- constructor(pattern: string);
25
- }
26
20
  /**
27
21
  * Thrown when path traversal is detected in input
28
22
  */
@@ -58,21 +52,6 @@ export declare function validateDateFormatPattern(groupBy: string): string;
58
52
  * ```
59
53
  */
60
54
  export declare function sanitizeSearchQuery(query: string): string;
61
- /**
62
- * Checks if a string contains potential SQL injection patterns.
63
- * This is a secondary defense layer; parameterized queries are the primary defense.
64
- *
65
- * @param input - The string to check
66
- * @returns true if injection patterns are detected, false otherwise
67
- */
68
- export declare function containsSqlInjection(input: string): boolean;
69
- /**
70
- * Validates that input does not contain SQL injection patterns.
71
- *
72
- * @param input - The string to validate
73
- * @throws SqlInjectionError if injection patterns are detected
74
- */
75
- export declare function assertNoSqlInjection(input: string): void;
76
55
  /**
77
56
  * Validates that a filename does not contain path traversal characters.
78
57
  *
@@ -1 +1 @@
1
- {"version":3,"file":"security-utils.d.ts","sourceRoot":"","sources":["../../src/utils/security-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;gBAET,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAK5C;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,aAAa;gBACzC,KAAK,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;gBACpC,OAAO,EAAE,MAAM;CAI9B;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;gBACrC,IAAI,EAAE,MAAM;CAI3B;AAgBD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;AAElD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMjE;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzD;AAqBD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIxD;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI5D;AAoBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ/D"}
1
+ {"version":3,"file":"security-utils.d.ts","sourceRoot":"","sources":["../../src/utils/security-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;gBAET,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAK5C;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,aAAa;gBACzC,KAAK,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;gBACrC,IAAI,EAAE,MAAM;CAI3B;AAgBD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;AAElD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMjE;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGzD;AAMD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAI5D;AAoBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQ/D"}
@@ -27,15 +27,6 @@ export class InvalidDateFormatError extends SecurityError {
27
27
  this.name = 'InvalidDateFormatError';
28
28
  }
29
29
  }
30
- /**
31
- * Thrown when SQL injection patterns are detected in input
32
- */
33
- export class SqlInjectionError extends SecurityError {
34
- constructor(pattern) {
35
- super(`Potential SQL injection detected: '${pattern}'`, 'SQL_INJECTION');
36
- this.name = 'SqlInjectionError';
37
- }
38
- }
39
30
  /**
40
31
  * Thrown when path traversal is detected in input
41
32
  */
@@ -98,44 +89,6 @@ export function sanitizeSearchQuery(query) {
98
89
  return query.replace(/\\/g, '\\\\').replace(/%/g, '\\%').replace(/_/g, '\\_');
99
90
  }
100
91
  // ============================================================================
101
- // SQL Injection Detection
102
- // ============================================================================
103
- /**
104
- * Patterns that indicate SQL injection attempts.
105
- * Used for validation in edge cases where parameterized queries aren't possible.
106
- */
107
- const SQL_INJECTION_PATTERNS = [
108
- /;\s*(DROP|DELETE|INSERT|UPDATE|CREATE|ALTER|TRUNCATE)/i,
109
- /--\s*/,
110
- /\/\*[\s\S]*?\*\//,
111
- /UNION\s+(ALL\s+)?SELECT/i,
112
- /'\s*OR\s+['"]?1['"]?\s*=\s*['"]?1/i,
113
- /ATTACH\s+DATABASE/i,
114
- /DETACH\s+DATABASE/i,
115
- /load_extension\s*\(/i,
116
- ];
117
- /**
118
- * Checks if a string contains potential SQL injection patterns.
119
- * This is a secondary defense layer; parameterized queries are the primary defense.
120
- *
121
- * @param input - The string to check
122
- * @returns true if injection patterns are detected, false otherwise
123
- */
124
- export function containsSqlInjection(input) {
125
- return SQL_INJECTION_PATTERNS.some((pattern) => pattern.test(input));
126
- }
127
- /**
128
- * Validates that input does not contain SQL injection patterns.
129
- *
130
- * @param input - The string to validate
131
- * @throws SqlInjectionError if injection patterns are detected
132
- */
133
- export function assertNoSqlInjection(input) {
134
- if (containsSqlInjection(input)) {
135
- throw new SqlInjectionError(input.substring(0, 50));
136
- }
137
- }
138
- // ============================================================================
139
92
  // Path Validation
140
93
  // ============================================================================
141
94
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"security-utils.js","sourceRoot":"","sources":["../../src/utils/security-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security-utils.js","sourceRoot":"","sources":["../../src/utils/security-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC3B,IAAI,CAAQ;IAErB,YAAY,OAAe,EAAE,IAAY;QACrC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IACpB,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,aAAa;IACrD,YAAY,KAAa;QACrB,KAAK,CAAC,iCAAiC,KAAK,GAAG,EAAE,qBAAqB,CAAC,CAAA;QACvE,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAA;IACxC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,aAAa;IACjD,YAAY,IAAY;QACpB,KAAK,CAAC,6BAA6B,IAAI,GAAG,EAAE,gBAAgB,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IACpC,CAAC;CACJ;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,oBAAoB,GAA2B;IACjD,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,OAAO;CACR,CAAA;AAIV;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACrD,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC7C,gDAAgD;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACjF,CAAC;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAC1C,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,6BAA6B;AAC7B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,cAAc,GAAG;IACnB,2DAA2D;IAC3D,wBAAwB;IACxB,+BAA+B;IAC/B,uCAAuC;IACvC,2CAA2C;IAC3C,wBAAwB;IACxB,kCAAkC;CAC5B,CAAA;AAEV;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACnD,IAAI,SAAS,GAAG,OAAO,CAAA;IACvB,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACnC,4CAA4C;QAC5C,OAAO,CAAC,SAAS,GAAG,CAAC,CAAA;QACrB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IACxD,CAAC;IACD,OAAO,SAAS,CAAA;AACpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"VectorSearchManager.d.ts","sourceRoot":"","sources":["../../src/vector/VectorSearchManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAc/E,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAEC;IACjB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,YAAY,CAAQ;gBAEhB,MAAM,EAAE,MAAM,EAAE,SAAS,SAAgB;IAOrD;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CjC;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBxD;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2ClE;;OAEG;IACG,MAAM,CACR,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,EACV,mBAAmB,SAAM,GAC1B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmClC;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYpD;;;;;OAKG;IACG,YAAY,CAAC,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IA8IlF;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAkB1F"}
1
+ {"version":3,"file":"VectorSearchManager.d.ts","sourceRoot":"","sources":["../../src/vector/VectorSearchManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAc/E,0CAA0C;AAC1C,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAEC;IACjB,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,YAAY,CAAQ;gBAEhB,MAAM,EAAE,MAAM,EAAE,SAAS,SAAgB;IAOrD;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CjC;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBxD;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2ClE;;OAEG;IACG,MAAM,CACR,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,EACV,mBAAmB,SAAM,GAC1B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmClC;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYpD;;;;;OAKG;IACG,YAAY,CAAC,EAAE,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAsHlF;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAkB1F"}
@@ -202,48 +202,25 @@ export class VectorSearchManager {
202
202
  return 0;
203
203
  }
204
204
  logger.info('Rebuilding vector index from database...', { module: 'VectorSearch' });
205
- // Step 1: Get total entry count and build ID set for orphan detection
205
+ // Step 1: Get total entry count for progress reporting
206
206
  const totalEntries = db.getActiveEntryCount();
207
- const dbIds = new Set();
208
- // Collect all active entry IDs via pagination (avoids loading all content at once)
209
- for (let offset = 0; offset < totalEntries; offset += REBUILD_PAGE_SIZE) {
210
- const page = db.getEntriesPage(offset, REBUILD_PAGE_SIZE);
211
- for (const entry of page) {
212
- dbIds.add(String(entry.id));
213
- }
214
- }
215
- // Step 2: Clean up existing index items
216
- // If the index is corrupted (e.g., from a process kill), recreate it
207
+ // Step 2: Clean up existing index — delete all items for clean re-index
208
+ // (No orphan detection needed since everything is re-inserted from scratch)
217
209
  try {
218
210
  const indexItems = await this.index.listItems();
219
- let orphansRemoved = 0;
220
211
  for (const item of indexItems) {
221
- if (!dbIds.has(item.id)) {
222
- try {
223
- await this.index.deleteItem(item.id);
224
- orphansRemoved++;
225
- }
226
- catch {
227
- // Ignore errors during cleanup
228
- }
229
- }
230
- }
231
- if (orphansRemoved > 0) {
232
- logger.info(`Cleaned up ${String(orphansRemoved)} orphaned vector entries`, {
233
- module: 'VectorSearch',
234
- });
235
- }
236
- // Step 3: Delete all remaining items to prepare for clean re-index
237
- // This avoids the double-delete overhead of calling addEntry (upsert) per item
238
- const remainingItems = await this.index.listItems();
239
- for (const item of remainingItems) {
240
212
  try {
241
213
  await this.index.deleteItem(item.id);
242
214
  }
243
215
  catch {
244
- // Ignore
216
+ // Ignore individual deletion errors
245
217
  }
246
218
  }
219
+ if (indexItems.length > 0) {
220
+ logger.info(`Cleared ${String(indexItems.length)} items from vector index`, {
221
+ module: 'VectorSearch',
222
+ });
223
+ }
247
224
  }
248
225
  catch (indexError) {
249
226
  // Index files are corrupted — recreate from scratch
@@ -1 +1 @@
1
- {"version":3,"file":"VectorSearchManager.js","sourceRoot":"","sources":["../../src/vector/VectorSearchManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VectorSearchManager.js","sourceRoot":"","sources":["../../src/vector/VectorSearchManager.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,13 @@ services:
8
8
  environment:
9
9
  - DB_PATH=/app/data/memory_journal.db
10
10
  # Optional: GitHub integration
11
- # - GITHUB_TOKEN=ghp_your_token_here
11
+ # - GITHUB_TOKEN=<your-github-token>
12
12
  # - GITHUB_REPO_PATH=/app/repo
13
13
  # Optional: CORS origin (default: *)
14
14
  # - MCP_CORS_ORIGIN=http://localhost:3000
15
+ read_only: true
16
+ tmpfs:
17
+ - /tmp:noexec,nosuid,nodev
15
18
  stdin_open: true
16
19
  tty: true
17
20
  # MCP stdio communication (default transport)
@@ -25,13 +28,19 @@ services:
25
28
  volumes:
26
29
  - ./data:/app/data:rw,noexec,nosuid,nodev
27
30
  environment:
31
+ - NODE_ENV=production
28
32
  - DB_PATH=/app/data/memory_journal.db
29
33
  - MCP_HOST=0.0.0.0
34
+ # Optional: Bearer token authentication (recommended for production)
35
+ # - MCP_AUTH_TOKEN=your_secret_token_here
30
36
  # Optional: GitHub integration
31
- # - GITHUB_TOKEN=ghp_your_token_here
37
+ # - GITHUB_TOKEN=<your-github-token>
32
38
  # - GITHUB_REPO_PATH=/app/repo
33
39
  # Optional: CORS origin (default: *)
34
40
  # - MCP_CORS_ORIGIN=http://localhost:3000
41
+ read_only: true
42
+ tmpfs:
43
+ - /tmp:noexec,nosuid,nodev
35
44
  ports:
36
45
  - '3000:3000'
37
46
  command:
@@ -0,0 +1,107 @@
1
+ # IDE Hook & Rule Configurations
2
+
3
+ Ready-to-use configurations for automatic session management with memory-journal-mcp.
4
+
5
+ ## How It Works
6
+
7
+ Memory Journal bridges AI sessions with two behaviors:
8
+
9
+ - **Session start** — Agent reads `memory://briefing` and shows the user a project context summary
10
+ - **Session end** — Agent creates a `retrospective` entry tagged `session-summary` capturing what was done, what's pending, and context for the next session
11
+
12
+ The next session's briefing automatically includes the previous session's summary.
13
+
14
+ ## Progressive Enhancement
15
+
16
+ ```
17
+ ┌─────────────────────────────────────────────────────┐
18
+ │ Cursor Rule (most reliable for agent behavior) │
19
+ │ .cursor/rules/memory-journal.mdc │
20
+ │ ↓ always-apply rule instructs agent directly │
21
+ ├─────────────────────────────────────────────────────┤
22
+ │ Server Instructions (fallback for any MCP client) │
23
+ │ Embedded in MCP server initialization │
24
+ │ ↓ agent follows Session Start / Session End steps │
25
+ ├─────────────────────────────────────────────────────┤
26
+ │ IDE Hooks (audit & logging) │
27
+ │ Cursor sessionEnd · Kiro hooks · Kilo Code modes │
28
+ │ ↓ fire-and-forget observation on session close │
29
+ ├─────────────────────────────────────────────────────┤
30
+ │ User opt-out │
31
+ │ User says "skip the summary" → agent skips │
32
+ └─────────────────────────────────────────────────────┘
33
+ ```
34
+
35
+ ## Setup by IDE
36
+
37
+ ### Cursor
38
+
39
+ #### Step 1: Cursor Rule (handles session start + end behavior)
40
+
41
+ Copy `cursor/memory-journal.mdc` to your project's `.cursor/rules/`:
42
+
43
+ ```powershell
44
+ # From your project root
45
+ mkdir -p .cursor/rules
46
+ cp <path-to-memory-journal-mcp>/hooks/cursor/memory-journal.mdc .cursor/rules/memory-journal.mdc
47
+ ```
48
+
49
+ This `alwaysApply` rule instructs the agent to:
50
+
51
+ - Read `memory://briefing` and show project context at session start
52
+ - Create a session summary entry when the conversation wraps up
53
+
54
+ **Requirements**: Cursor with Rules support (`.cursor/rules/` directory).
55
+
56
+ #### Step 2: sessionEnd Hook (optional — audit logging)
57
+
58
+ Copy `cursor/hooks.json` and `cursor/session-end.sh` to your project's `.cursor/`:
59
+
60
+ ```powershell
61
+ cp <path-to-memory-journal-mcp>/hooks/cursor/hooks.json .cursor/hooks.json
62
+ mkdir -p .cursor/hooks
63
+ cp <path-to-memory-journal-mcp>/hooks/cursor/session-end.sh .cursor/hooks/session-end.sh
64
+ chmod +x .cursor/hooks/session-end.sh
65
+ ```
66
+
67
+ The `sessionEnd` hook is **fire-and-forget** — Cursor does not use its output. It logs session metadata to `/tmp/memory-journal-sessions.log`. Customize the script for your own auditing needs.
68
+
69
+ > **Note:** Cursor's `sessionEnd` hook cannot inject messages or trigger agent actions. Session summary creation is handled by the Cursor rule and server instructions, not the hook.
70
+
71
+ **Requirements**: Cursor v1.7+ with Hooks enabled.
72
+
73
+ ### Kiro (AWS)
74
+
75
+ Copy `kiro/session-end.md` to your project's `.kiro/hooks/` directory:
76
+
77
+ ```powershell
78
+ mkdir -p .kiro/hooks
79
+ cp <path-to-memory-journal-mcp>/hooks/kiro/session-end.md .kiro/hooks/
80
+ ```
81
+
82
+ Kiro hooks use markdown files with YAML frontmatter. The `manual` trigger means you activate it from the Kiro hook panel when ending a session.
83
+
84
+ ### Kilo Code
85
+
86
+ Copy `kilo-code/session-end-mode.json` to your Kilo Code settings:
87
+
88
+ ```powershell
89
+ # Import via Kilo Code settings UI, or add to your modes configuration
90
+ cp <path-to-memory-journal-mcp>/hooks/kilo-code/session-end-mode.json ~/.kilocode/modes/
91
+ ```
92
+
93
+ This creates a `session-end` custom mode. Switch to it at the end of a session and Kilo Code will create the summary entry using MCP tools.
94
+
95
+ ### VS Code + GitHub Copilot
96
+
97
+ Agent hooks are in **preview** (early 2026). When stabilized, a configuration will be added here. In the meantime, the server instructions fallback handles session management.
98
+
99
+ ### AntiGravity
100
+
101
+ Does not currently support hooks or rules. The server instructions fallback handles session management automatically. For session-start behavior, add to your user rules: "At session start, read `memory://briefing` from memory-journal-mcp."
102
+
103
+ ## No Rules or Hooks? No Problem
104
+
105
+ The `server-instructions.md` in this project includes **Session Start** and **Session End** behavior sections that instruct any MCP-connected agent to manage sessions automatically. This works in **every** MCP client, regardless of rule or hook support — though reliability varies by client.
106
+
107
+ To **disable** session-end entries, tell the agent: "Skip the session summary" or "Don't create an end-of-session entry."
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 1,
3
+ "hooks": {
4
+ "sessionEnd": [
5
+ {
6
+ "command": ".cursor/hooks/session-end.sh"
7
+ }
8
+ ]
9
+ }
10
+ }
@@ -0,0 +1,22 @@
1
+ ---
2
+ description: Memory Journal MCP - session start briefing and session end summary
3
+ alwaysApply: true
4
+ ---
5
+
6
+ # Memory Journal MCP
7
+
8
+ ## Session Start
9
+
10
+ Before responding to the first user message in every conversation:
11
+
12
+ 1. Fetch `memory://briefing` from the memory-journal-mcp server
13
+ 2. Show the `userMessage` field to the user (it contains a formatted project context summary)
14
+ 3. Then proceed with the user's request
15
+
16
+ ## Session End
17
+
18
+ When the conversation is wrapping up (user says "thanks," final deliverable complete, no more work planned):
19
+
20
+ 1. Create a journal entry summarizing: what was accomplished, what's unfinished, and context for the next session
21
+ 2. Use `entry_type: "retrospective"` and tag with `session-summary`
22
+ 3. This is opt-out — ALWAYS create the entry, even for short/trivial sessions, unless the user explicitly says to skip it
@@ -0,0 +1,19 @@
1
+ #!/bin/bash
2
+
3
+ # session-end.sh — Fire-and-forget sessionEnd hook for memory-journal-mcp
4
+ #
5
+ # Cursor's sessionEnd hook is observational only (output is not used).
6
+ # Session summary creation is handled by the Cursor rule + server instructions,
7
+ # not this hook. Customize this script for logging or cleanup.
8
+ #
9
+ # Input (JSON via stdin): session_id, reason, duration_ms, is_background_agent, etc.
10
+
11
+ input=$(cat)
12
+
13
+ timestamp=$(date '+%Y-%m-%d %H:%M:%S')
14
+ session_id=$(echo "$input" | grep -o '"session_id":"[^"]*"' | head -1 | cut -d'"' -f4)
15
+ reason=$(echo "$input" | grep -o '"reason":"[^"]*"' | head -1 | cut -d'"' -f4)
16
+
17
+ echo "[$timestamp] session=$session_id reason=$reason" >> /tmp/memory-journal-sessions.log 2>/dev/null
18
+
19
+ exit 0
@@ -0,0 +1,11 @@
1
+ {
2
+ "customModes": [
3
+ {
4
+ "slug": "session-end",
5
+ "name": "Session End",
6
+ "roleDefinition": "You are wrapping up a coding session. Create a memory-journal-mcp entry summarizing the session.",
7
+ "customInstructions": "Create a memory-journal-mcp entry summarizing this session:\n- What was accomplished (key changes, decisions, files modified)\n- What's unfinished or blocked (pending items, open questions)\n- Context for next session (relevant entry IDs, branch names, PR numbers)\n\nUse entry_type 'retrospective' and tag with 'session-summary'.",
8
+ "groups": ["mcp"]
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: Session End Journal Entry
3
+ description: Creates a session summary journal entry via memory-journal-mcp
4
+ trigger: manual
5
+ ---
6
+
7
+ Create a memory-journal-mcp entry summarizing this session:
8
+
9
+ - **What was accomplished** (key changes, decisions, files modified)
10
+ - **What's unfinished or blocked** (pending items, open questions)
11
+ - **Context for next session** (relevant entry IDs, branch names, PR numbers)
12
+
13
+ Use `entry_type: "retrospective"` and tag with `session-summary`.
@@ -11,6 +11,7 @@
11
11
  "writenotenow/memory-journal-mcp:latest"
12
12
  ],
13
13
  "env": {
14
+ "DB_PATH": "/path/to/data/memory_journal.db",
14
15
  "MEMORY_JOURNAL_MCP_TOOL_FILTER": "tool_group_name_here",
15
16
  "GITHUB_TOKEN": "your_github_token_here",
16
17
  "DEFAULT_PROJECT_NUMBER": "1"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memory-journal-mcp",
3
- "version": "4.4.2",
3
+ "version": "5.0.0",
4
4
  "description": "Project context management for AI-assisted development - Persistent knowledge graphs and intelligent context recall across fragmented AI threads",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,7 +18,9 @@
18
18
  "test": "vitest run",
19
19
  "test:watch": "vitest",
20
20
  "test:coverage": "vitest run --coverage",
21
- "bench": "vitest bench --run"
21
+ "bench": "vitest bench --run",
22
+ "test:e2e": "playwright test",
23
+ "generate:instructions": "node scripts/generate-server-instructions.ts"
22
24
  },
23
25
  "keywords": [
24
26
  "mcp",
@@ -55,21 +57,21 @@
55
57
  "@octokit/rest": "^22.0.1",
56
58
  "@xenova/transformers": "^2.17.2",
57
59
  "commander": "^14.0.3",
58
- "cors": "^2.8.6",
59
60
  "express": "^5.2.1",
61
+ "express-rate-limit": "^8.3.0",
60
62
  "simple-git": "^3.32.3",
61
- "sql.js": "^1.14.0",
63
+ "sql.js": "^1.14.1",
62
64
  "vectra": "^0.12.3",
63
65
  "zod": "^4.3.6"
64
66
  },
65
67
  "devDependencies": {
66
68
  "@eslint/js": "^10.0.1",
67
- "@types/cors": "^2.8.19",
69
+ "@playwright/test": "^1.58.2",
68
70
  "@types/express": "^5.0.6",
69
- "@types/node": "^25.3.2",
71
+ "@types/node": "^25.3.5",
70
72
  "@vitest/coverage-v8": "^4.0.18",
71
73
  "eslint": "^10.0.2",
72
- "globals": "^17.3.0",
74
+ "globals": "^17.4.0",
73
75
  "typescript": "^5.9.3",
74
76
  "typescript-eslint": "^8.56.1",
75
77
  "vitest": "^4.0.17"
@@ -78,8 +80,8 @@
78
80
  "axios": "^1.13.5",
79
81
  "brace-expansion": "^2.0.2",
80
82
  "glob": "^11.1.0",
81
- "minimatch": "^10.2.3",
82
- "tar": "^7.5.8",
83
+ "minimatch": "^10.2.4",
84
+ "tar": "^7.5.9",
83
85
  "tmp": "^0.2.4"
84
86
  }
85
87
  }