memory-journal-mcp 6.1.2 → 6.2.1

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 (372) hide show
  1. package/README.md +44 -28
  2. package/dist/{chunk-X4SWFATC.js → chunk-BI4ZNSKA.js} +38 -24
  3. package/dist/{chunk-HCEWINSB.js → chunk-N6EBIDN7.js} +99 -102
  4. package/dist/cli.js +2 -2
  5. package/dist/index.js +2 -2
  6. package/dist/tools-WPRY5MJ6.js +2 -0
  7. package/package.json +10 -1
  8. package/skills/github-commander/SKILL.md +151 -0
  9. package/skills/github-commander/config/project-config.example.md +125 -0
  10. package/skills/github-commander/workflows/code-quality-audit.md +80 -0
  11. package/skills/github-commander/workflows/full-audit.md +134 -0
  12. package/skills/github-commander/workflows/issue-triage.md +239 -0
  13. package/skills/github-commander/workflows/milestone-sprint.md +81 -0
  14. package/skills/github-commander/workflows/perf-audit.md +142 -0
  15. package/skills/github-commander/workflows/pr-review.md +123 -0
  16. package/skills/github-commander/workflows/security-audit.md +170 -0
  17. package/skills/github-commander/workflows/update-deps.md +109 -0
  18. package/.dockerignore +0 -139
  19. package/.gitattributes +0 -20
  20. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -95
  21. package/.github/ISSUE_TEMPLATE/config.yml +0 -11
  22. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -110
  23. package/.github/ISSUE_TEMPLATE/question.md +0 -78
  24. package/.github/aw/actions-lock.json +0 -14
  25. package/.github/copilot-instructions.md +0 -122
  26. package/.github/dependabot.yml +0 -93
  27. package/.github/pull_request_template.md +0 -135
  28. package/.github/workflows/README.md +0 -133
  29. package/.github/workflows/agentics-maintenance.yml +0 -141
  30. package/.github/workflows/auto-release.yml +0 -68
  31. package/.github/workflows/ci-health-monitor.lock.yml +0 -1121
  32. package/.github/workflows/ci-health-monitor.md +0 -87
  33. package/.github/workflows/codeql.yml +0 -41
  34. package/.github/workflows/dependabot-auto-merge.yml +0 -42
  35. package/.github/workflows/dependency-maintenance.lock.yml +0 -1182
  36. package/.github/workflows/dependency-maintenance.md +0 -147
  37. package/.github/workflows/docker-publish.yml +0 -254
  38. package/.github/workflows/docs-drift-detector.lock.yml +0 -1142
  39. package/.github/workflows/docs-drift-detector.md +0 -115
  40. package/.github/workflows/lint-and-test.yml +0 -60
  41. package/.github/workflows/publish-npm.yml +0 -85
  42. package/.github/workflows/secrets-scanning.yml +0 -32
  43. package/.github/workflows/security-update.yml +0 -127
  44. package/.gitleaks.toml +0 -9
  45. package/.prettierignore +0 -21
  46. package/.prettierrc +0 -33
  47. package/.scout-ignore +0 -12
  48. package/.trivyignore +0 -21
  49. package/CHANGELOG.md +0 -1814
  50. package/CODE_OF_CONDUCT.md +0 -133
  51. package/CONTRIBUTING.md +0 -263
  52. package/DOCKER_README.md +0 -331
  53. package/Dockerfile +0 -128
  54. package/SECURITY.md +0 -227
  55. package/UNRELEASED.md +0 -1
  56. package/dist/tools-T4U5A3X4.js +0 -2
  57. package/docker-compose.yml +0 -71
  58. package/docs/README.md +0 -18
  59. package/docs/agentic-journal-synergy.md +0 -175
  60. package/docs/copilot-setup.md +0 -72
  61. package/eslint.config.js +0 -110
  62. package/mcp-config-example.json +0 -21
  63. package/playwright.config.ts +0 -35
  64. package/releases/v2.1.0.md +0 -220
  65. package/releases/v2.2.0.md +0 -168
  66. package/releases/v3.0.0.md +0 -237
  67. package/releases/v3.1.0.md +0 -104
  68. package/releases/v3.1.1.md +0 -42
  69. package/releases/v3.1.2.md +0 -40
  70. package/releases/v3.1.3.md +0 -64
  71. package/releases/v3.1.4.md +0 -32
  72. package/releases/v3.1.5.md +0 -44
  73. package/releases/v4.0.0.md +0 -71
  74. package/releases/v4.1.0.md +0 -88
  75. package/releases/v4.2.0.md +0 -90
  76. package/releases/v4.3.0.md +0 -92
  77. package/releases/v4.3.1.md +0 -69
  78. package/releases/v4.4.0.md +0 -120
  79. package/releases/v4.4.1.md +0 -33
  80. package/releases/v4.4.2.md +0 -31
  81. package/releases/v4.5.0.md +0 -116
  82. package/releases/v5.0.0.md +0 -105
  83. package/releases/v5.0.1.md +0 -25
  84. package/releases/v5.1.0.md +0 -83
  85. package/releases/v5.1.1.md +0 -10
  86. package/releases/v6.0.0.md +0 -48
  87. package/releases/v6.0.1.md +0 -36
  88. package/releases/v6.1.0.md +0 -68
  89. package/releases/v6.1.1.md +0 -30
  90. package/releases/v6.1.2.md +0 -23
  91. package/scripts/generate-server-instructions.ts +0 -306
  92. package/scripts/server-instructions-function-body.ts +0 -107
  93. package/scripts/server-instructions-gotchas.ts +0 -45
  94. package/server.json +0 -42
  95. package/social-preview.png +0 -0
  96. package/src/auth/auth-context.ts +0 -78
  97. package/src/auth/authorization-server-discovery.ts +0 -263
  98. package/src/auth/errors.ts +0 -215
  99. package/src/auth/index.ts +0 -58
  100. package/src/auth/middleware.ts +0 -392
  101. package/src/auth/oauth-resource-server.ts +0 -170
  102. package/src/auth/scope-map.ts +0 -46
  103. package/src/auth/scopes.ts +0 -256
  104. package/src/auth/token-validator.ts +0 -293
  105. package/src/auth/transport-agnostic.ts +0 -164
  106. package/src/auth/types.ts +0 -372
  107. package/src/cli.ts +0 -279
  108. package/src/codemode/api-constants.ts +0 -263
  109. package/src/codemode/api.ts +0 -302
  110. package/src/codemode/auto-return.ts +0 -65
  111. package/src/codemode/index.ts +0 -47
  112. package/src/codemode/sandbox-factory.ts +0 -144
  113. package/src/codemode/sandbox.ts +0 -220
  114. package/src/codemode/security.ts +0 -155
  115. package/src/codemode/types.ts +0 -228
  116. package/src/codemode/worker-sandbox.ts +0 -277
  117. package/src/codemode/worker-script.ts +0 -239
  118. package/src/constants/icons.ts +0 -183
  119. package/src/constants/server-instructions.md +0 -166
  120. package/src/constants/server-instructions.ts +0 -514
  121. package/src/database/adapter-factory.ts +0 -16
  122. package/src/database/core/entry-columns.ts +0 -10
  123. package/src/database/core/interfaces.ts +0 -188
  124. package/src/database/core/schema.ts +0 -152
  125. package/src/database/sqlite-adapter/backup.ts +0 -167
  126. package/src/database/sqlite-adapter/entries/crud.ts +0 -233
  127. package/src/database/sqlite-adapter/entries/importance.ts +0 -76
  128. package/src/database/sqlite-adapter/entries/index.ts +0 -142
  129. package/src/database/sqlite-adapter/entries/search.ts +0 -294
  130. package/src/database/sqlite-adapter/entries/shared.ts +0 -102
  131. package/src/database/sqlite-adapter/entries/statistics.ts +0 -162
  132. package/src/database/sqlite-adapter/index.ts +0 -265
  133. package/src/database/sqlite-adapter/native-connection.ts +0 -301
  134. package/src/database/sqlite-adapter/relationships.ts +0 -70
  135. package/src/database/sqlite-adapter/tags.ts +0 -182
  136. package/src/filtering/tool-filter.ts +0 -312
  137. package/src/github/github-integration/client.ts +0 -114
  138. package/src/github/github-integration/index.ts +0 -297
  139. package/src/github/github-integration/insights.ts +0 -155
  140. package/src/github/github-integration/issues.ts +0 -213
  141. package/src/github/github-integration/milestones.ts +0 -262
  142. package/src/github/github-integration/projects.ts +0 -414
  143. package/src/github/github-integration/pull-requests.ts +0 -235
  144. package/src/github/github-integration/repository.ts +0 -110
  145. package/src/github/github-integration/types.ts +0 -43
  146. package/src/handlers/prompts/github.ts +0 -210
  147. package/src/handlers/prompts/index.ts +0 -97
  148. package/src/handlers/prompts/workflow.ts +0 -361
  149. package/src/handlers/resources/core/briefing/context-section.ts +0 -182
  150. package/src/handlers/resources/core/briefing/github-section.ts +0 -354
  151. package/src/handlers/resources/core/briefing/index.ts +0 -106
  152. package/src/handlers/resources/core/briefing/user-message.ts +0 -114
  153. package/src/handlers/resources/core/health.ts +0 -75
  154. package/src/handlers/resources/core/index.ts +0 -31
  155. package/src/handlers/resources/core/instructions.ts +0 -45
  156. package/src/handlers/resources/core/utilities.ts +0 -310
  157. package/src/handlers/resources/github.ts +0 -340
  158. package/src/handlers/resources/graph.ts +0 -218
  159. package/src/handlers/resources/help.ts +0 -410
  160. package/src/handlers/resources/index.ts +0 -143
  161. package/src/handlers/resources/shared.ts +0 -219
  162. package/src/handlers/resources/team.ts +0 -134
  163. package/src/handlers/resources/templates.ts +0 -334
  164. package/src/handlers/tools/admin.ts +0 -351
  165. package/src/handlers/tools/analytics.ts +0 -346
  166. package/src/handlers/tools/backup.ts +0 -272
  167. package/src/handlers/tools/codemode.ts +0 -188
  168. package/src/handlers/tools/core.ts +0 -359
  169. package/src/handlers/tools/error-fields-mixin.ts +0 -10
  170. package/src/handlers/tools/export.ts +0 -150
  171. package/src/handlers/tools/github/copilot-tools.ts +0 -72
  172. package/src/handlers/tools/github/helpers.ts +0 -125
  173. package/src/handlers/tools/github/insights-tools.ts +0 -112
  174. package/src/handlers/tools/github/issue-tools.ts +0 -442
  175. package/src/handlers/tools/github/kanban-tools.ts +0 -153
  176. package/src/handlers/tools/github/milestone-tools.ts +0 -371
  177. package/src/handlers/tools/github/mutation-tools.ts +0 -17
  178. package/src/handlers/tools/github/read-tools.ts +0 -302
  179. package/src/handlers/tools/github/schemas.ts +0 -435
  180. package/src/handlers/tools/github.ts +0 -39
  181. package/src/handlers/tools/index.ts +0 -255
  182. package/src/handlers/tools/relationships.ts +0 -390
  183. package/src/handlers/tools/schemas.ts +0 -165
  184. package/src/handlers/tools/search.ts +0 -448
  185. package/src/handlers/tools/team/admin-tools.ts +0 -164
  186. package/src/handlers/tools/team/analytics-tools.ts +0 -233
  187. package/src/handlers/tools/team/backup-tools.ts +0 -83
  188. package/src/handlers/tools/team/core-tools.ts +0 -197
  189. package/src/handlers/tools/team/export-tools.ts +0 -130
  190. package/src/handlers/tools/team/helpers.ts +0 -66
  191. package/src/handlers/tools/team/index.ts +0 -45
  192. package/src/handlers/tools/team/relationship-tools.ts +0 -219
  193. package/src/handlers/tools/team/schemas.ts +0 -558
  194. package/src/handlers/tools/team/search-tools.ts +0 -145
  195. package/src/handlers/tools/team/vector-tools.ts +0 -261
  196. package/src/index.ts +0 -57
  197. package/src/server/mcp-server.ts +0 -446
  198. package/src/server/registration.ts +0 -141
  199. package/src/server/scheduler.ts +0 -283
  200. package/src/transports/http/handlers.ts +0 -78
  201. package/src/transports/http/index.ts +0 -8
  202. package/src/transports/http/security.ts +0 -147
  203. package/src/transports/http/server/index.ts +0 -397
  204. package/src/transports/http/server/legacy-sse.ts +0 -87
  205. package/src/transports/http/server/stateful.ts +0 -222
  206. package/src/transports/http/server/stateless.ts +0 -42
  207. package/src/transports/http/types.ts +0 -132
  208. package/src/types/entities.ts +0 -145
  209. package/src/types/error-types.ts +0 -92
  210. package/src/types/errors.ts +0 -200
  211. package/src/types/filtering.ts +0 -55
  212. package/src/types/github.ts +0 -216
  213. package/src/types/index.ts +0 -348
  214. package/src/utils/error-helpers.ts +0 -78
  215. package/src/utils/errors/error-response-fields.ts +0 -29
  216. package/src/utils/errors/suggestions.ts +0 -94
  217. package/src/utils/github-helpers.ts +0 -33
  218. package/src/utils/logger.ts +0 -107
  219. package/src/utils/mcp-logger.ts +0 -155
  220. package/src/utils/progress-utils.ts +0 -100
  221. package/src/utils/query-helpers.ts +0 -78
  222. package/src/utils/resource-annotations.ts +0 -75
  223. package/src/utils/security-utils.ts +0 -198
  224. package/src/utils/vector-index-helpers.ts +0 -24
  225. package/src/vector/vector-search-manager.ts +0 -409
  226. package/src/version.ts +0 -15
  227. package/test-server/README.md +0 -193
  228. package/test-server/code-map.md +0 -399
  229. package/test-server/test-agent-experience.md +0 -213
  230. package/test-server/test-filter-instructions.mjs +0 -295
  231. package/test-server/test-instruction-levels.mjs +0 -102
  232. package/test-server/test-preflight.md +0 -55
  233. package/test-server/test-prompts.mjs +0 -185
  234. package/test-server/test-scheduler.mjs +0 -174
  235. package/test-server/test-tool-annotations.mjs +0 -115
  236. package/test-server/test-tools-codemode.md +0 -632
  237. package/test-server/test-tools-codemode2.md +0 -1218
  238. package/test-server/test-tools-team.md +0 -215
  239. package/test-server/test-tools.md +0 -429
  240. package/test-server/test-tools2.md +0 -361
  241. package/test-server/test-tools3.md +0 -396
  242. package/test-server/tool-reference.md +0 -231
  243. package/tests/README.md +0 -54
  244. package/tests/auth/auth-context.test.ts +0 -162
  245. package/tests/auth/authorization-server-discovery.test.ts +0 -265
  246. package/tests/auth/errors.test.ts +0 -170
  247. package/tests/auth/middleware.test.ts +0 -585
  248. package/tests/auth/oauth-resource-server.test.ts +0 -173
  249. package/tests/auth/scope-map.test.ts +0 -66
  250. package/tests/auth/scopes.test.ts +0 -347
  251. package/tests/auth/token-validator.test.ts +0 -271
  252. package/tests/codemode/api.test.ts +0 -396
  253. package/tests/codemode/auto-return.test.ts +0 -167
  254. package/tests/codemode/codemode-tool-handlers.test.ts +0 -197
  255. package/tests/codemode/sandbox-factory.test.ts +0 -152
  256. package/tests/codemode/sandbox.test.ts +0 -190
  257. package/tests/codemode/security.test.ts +0 -242
  258. package/tests/codemode/worker-sandbox.test.ts +0 -106
  259. package/tests/constants/icons.test.ts +0 -101
  260. package/tests/constants/server-instructions.test.ts +0 -514
  261. package/tests/database/crud-workflow-branches.test.ts +0 -418
  262. package/tests/database/database-branches.test.ts +0 -132
  263. package/tests/database/entries-auth-branches.test.ts +0 -390
  264. package/tests/database/native-connection.test.ts +0 -249
  265. package/tests/database/shared-helpers.test.ts +0 -103
  266. package/tests/database/sqlite-adapter.bench.ts +0 -63
  267. package/tests/database/sqlite-adapter.test.ts +0 -690
  268. package/tests/database/tags.test.ts +0 -134
  269. package/tests/e2e/README.md +0 -39
  270. package/tests/e2e/auth.spec.ts +0 -106
  271. package/tests/e2e/codemode-abuse.spec.ts +0 -75
  272. package/tests/e2e/health.spec.ts +0 -63
  273. package/tests/e2e/helpers.ts +0 -139
  274. package/tests/e2e/oauth-discovery.spec.ts +0 -102
  275. package/tests/e2e/oauth-scopes.spec.ts +0 -222
  276. package/tests/e2e/payloads-admin.spec.ts +0 -76
  277. package/tests/e2e/payloads-analytics.spec.ts +0 -37
  278. package/tests/e2e/payloads-backup-restore.spec.ts +0 -102
  279. package/tests/e2e/payloads-backup.spec.ts +0 -44
  280. package/tests/e2e/payloads-codemode-api.spec.ts +0 -131
  281. package/tests/e2e/payloads-codemode-readonly.spec.ts +0 -116
  282. package/tests/e2e/payloads-codemode.spec.ts +0 -116
  283. package/tests/e2e/payloads-core.spec.ts +0 -82
  284. package/tests/e2e/payloads-error-contracts.spec.ts +0 -159
  285. package/tests/e2e/payloads-export.spec.ts +0 -46
  286. package/tests/e2e/payloads-github-degradation.spec.ts +0 -73
  287. package/tests/e2e/payloads-github.spec.ts +0 -176
  288. package/tests/e2e/payloads-relationships.spec.ts +0 -56
  289. package/tests/e2e/payloads-search.spec.ts +0 -64
  290. package/tests/e2e/payloads-team-happy.spec.ts +0 -231
  291. package/tests/e2e/payloads-team.spec.ts +0 -174
  292. package/tests/e2e/prompts-expanded.spec.ts +0 -137
  293. package/tests/e2e/prompts.spec.ts +0 -62
  294. package/tests/e2e/protocols.spec.ts +0 -134
  295. package/tests/e2e/rate-limiting.spec.ts +0 -291
  296. package/tests/e2e/resources-briefing-env.spec.ts +0 -106
  297. package/tests/e2e/resources-complete.spec.ts +0 -180
  298. package/tests/e2e/resources-expanded.spec.ts +0 -83
  299. package/tests/e2e/resources-instructions-levels.spec.ts +0 -145
  300. package/tests/e2e/resources-templates.spec.ts +0 -123
  301. package/tests/e2e/resources.spec.ts +0 -103
  302. package/tests/e2e/scheduler.spec.ts +0 -79
  303. package/tests/e2e/security.spec.ts +0 -112
  304. package/tests/e2e/session-advanced.spec.ts +0 -152
  305. package/tests/e2e/sessions.spec.ts +0 -95
  306. package/tests/e2e/stateless.spec.ts +0 -79
  307. package/tests/e2e/streaming.spec.ts +0 -176
  308. package/tests/e2e/tool-filtering-presets.spec.ts +0 -192
  309. package/tests/e2e/tool-filtering.spec.ts +0 -77
  310. package/tests/e2e/tools.spec.ts +0 -111
  311. package/tests/filtering/tool-filter.test.ts +0 -314
  312. package/tests/github/client-issues-errors.test.ts +0 -433
  313. package/tests/github/github-integration-branches.test.ts +0 -490
  314. package/tests/github/github-integration.test.ts +0 -1015
  315. package/tests/github/github-managers-branches.test.ts +0 -907
  316. package/tests/github/pull-requests.test.ts +0 -334
  317. package/tests/handlers/analytics-branches.test.ts +0 -222
  318. package/tests/handlers/backup-branches.test.ts +0 -270
  319. package/tests/handlers/briefing-context-section.test.ts +0 -388
  320. package/tests/handlers/briefing-github-section.test.ts +0 -392
  321. package/tests/handlers/briefing-user-message.test.ts +0 -405
  322. package/tests/handlers/codemode-tools.test.ts +0 -85
  323. package/tests/handlers/copilot-tools.test.ts +0 -126
  324. package/tests/handlers/error-path-coverage.test.ts +0 -324
  325. package/tests/handlers/export-tools.test.ts +0 -203
  326. package/tests/handlers/github-resource-handlers.test.ts +0 -929
  327. package/tests/handlers/github-tool-handlers.test.ts +0 -1452
  328. package/tests/handlers/handler-error-branches.test.ts +0 -346
  329. package/tests/handlers/help-resource.test.ts +0 -92
  330. package/tests/handlers/prompt-handler-coverage.test.ts +0 -108
  331. package/tests/handlers/prompt-handlers.test.ts +0 -131
  332. package/tests/handlers/resource-handler-coverage.test.ts +0 -281
  333. package/tests/handlers/resource-handlers.test.ts +0 -357
  334. package/tests/handlers/resource-prompt-branches.test.ts +0 -495
  335. package/tests/handlers/search-tool-handlers.test.ts +0 -379
  336. package/tests/handlers/targeted-gap-closure.test.ts +0 -387
  337. package/tests/handlers/team-admin.test.ts +0 -291
  338. package/tests/handlers/team-analytics.test.ts +0 -220
  339. package/tests/handlers/team-core.test.ts +0 -148
  340. package/tests/handlers/team-data.test.ts +0 -198
  341. package/tests/handlers/team-relationships.test.ts +0 -271
  342. package/tests/handlers/team-resource-handlers.test.ts +0 -161
  343. package/tests/handlers/team-search.test.ts +0 -134
  344. package/tests/handlers/team-tool-handlers.test.ts +0 -301
  345. package/tests/handlers/team-vector.test.ts +0 -213
  346. package/tests/handlers/template-github-branches.test.ts +0 -676
  347. package/tests/handlers/tool-annotations.test.ts +0 -90
  348. package/tests/handlers/tool-handler-coverage.test.ts +0 -514
  349. package/tests/handlers/tool-handlers.test.ts +0 -510
  350. package/tests/handlers/tool-output-schemas.test.ts +0 -116
  351. package/tests/handlers/vector-tool-handlers.test.ts +0 -238
  352. package/tests/security/sql-injection.test.ts +0 -284
  353. package/tests/server/mcp-server.bench.ts +0 -55
  354. package/tests/server/mcp-server.test.ts +0 -1326
  355. package/tests/server/scheduler.test.ts +0 -400
  356. package/tests/transports/http-legacy-sse.test.ts +0 -275
  357. package/tests/transports/http-security.test.ts +0 -322
  358. package/tests/transports/http-stateful.test.ts +0 -487
  359. package/tests/transports/http-transport-server.test.ts +0 -301
  360. package/tests/transports/http-transport.test.ts +0 -771
  361. package/tests/utils/github-helpers.test.ts +0 -58
  362. package/tests/utils/logger.test.ts +0 -180
  363. package/tests/utils/mcp-logger.test.ts +0 -211
  364. package/tests/utils/progress-utils.test.ts +0 -156
  365. package/tests/utils/query-helpers.test.ts +0 -80
  366. package/tests/utils/security-utils.test.ts +0 -82
  367. package/tests/vector/vector-search-branches.test.ts +0 -111
  368. package/tests/vector/vector-search-manager.test.ts +0 -375
  369. package/tests/vector/vector-search.bench.ts +0 -48
  370. package/tsconfig.json +0 -42
  371. package/tsup.config.ts +0 -19
  372. package/vitest.config.ts +0 -25
@@ -1,231 +0,0 @@
1
- # Tool Reference
2
-
3
- Complete reference of all **61 tools** organized by 10 tool groups + codemode. Each group automatically includes Code Mode (`mj_execute_code`) for token-efficient operations.
4
-
5
- > **3 tool shortcuts** (`starter`, `essential`, `readonly`) provide curated subsets for common use cases.
6
- >
7
- > Use [Tool Filtering](#️-tool-filtering) to select the groups you need. See [Code Mode](#-recommended-code-mode-maximum-token-savings) for the `mj.*` API that exposes every tool below through sandboxed JavaScript.
8
-
9
- ---
10
-
11
- ## codemode (1 tool)
12
-
13
- Sandboxed JavaScript execution that exposes all 10 tool groups through the `mj.*` API.
14
-
15
- | Tool | Description |
16
- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
17
- | `mj_execute_code` | Execute JavaScript in a sandboxed environment with access to all journal tools via the `mj.*` API. Enables multi-step workflows in a single call, reducing token usage by 70-90%. API groups: `mj.core.*`, `mj.search.*`, `mj.analytics.*`, `mj.relationships.*`, `mj.export.*`, `mj.admin.*`, `mj.github.*`, `mj.backup.*`, `mj.team.*`. Use `mj.help()` for method listing. Returns the last expression value. |
18
-
19
- ---
20
-
21
- ## core (6 tools + Code Mode)
22
-
23
- Entry lifecycle — create, retrieve, tags, and test.
24
-
25
- | Tool | Description |
26
- | ---------------------- | ---------------------------------------------------------------------------------- |
27
- | `create_entry` | Create a new journal entry with context and tags (v2.1.0: GitHub Actions support). |
28
- | `get_entry_by_id` | Get a specific journal entry by ID with full details. |
29
- | `get_recent_entries` | Get recent journal entries. |
30
- | `create_entry_minimal` | Minimal entry creation without context or tags. |
31
- | `test_simple` | Simple test tool that just returns a message. |
32
- | `list_tags` | List all available tags. |
33
-
34
- ---
35
-
36
- ## search (4 tools + Code Mode)
37
-
38
- Full-text, date-range, and semantic/vector search.
39
-
40
- | Tool | Description |
41
- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
42
- | `search_entries` | Full-text search journal entries using FTS5 (supports phrases `"exact match"`, prefix `auth*`, boolean `NOT`/`OR`/`AND`, ranked by relevance). Optional filters for GitHub Projects, Issues, PRs, and Actions. |
43
- | `search_by_date_range` | Search journal entries within a date range with optional filters. |
44
- | `semantic_search` | Perform semantic/vector search on journal entries using AI embeddings. |
45
- | `get_vector_index_stats` | Get statistics about the semantic search vector index. |
46
-
47
- ---
48
-
49
- ## analytics (2 tools + Code Mode)
50
-
51
- Statistics, cross-project insights, and analytics.
52
-
53
- | Tool | Description |
54
- | ---------------------------- | --------------------------------------------------------------------------- |
55
- | `get_statistics` | Get journal statistics and analytics (Phase 2: includes project breakdown). |
56
- | `get_cross_project_insights` | Analyze patterns across all GitHub Projects tracked in journal entries. |
57
-
58
- ---
59
-
60
- ## relationships (2 tools + Code Mode)
61
-
62
- Link entries and visualize knowledge graphs.
63
-
64
- | Tool | Description |
65
- | ------------------------- | ---------------------------------------------------------------- |
66
- | `link_entries` | Create a relationship between two journal entries. |
67
- | `visualize_relationships` | Generate a Mermaid diagram visualization of entry relationships. |
68
-
69
- ---
70
-
71
- ## export (1 tool + Code Mode)
72
-
73
- Export journal data in multiple formats.
74
-
75
- | Tool | Description |
76
- | ---------------- | -------------------------------------------------- |
77
- | `export_entries` | Export journal entries to JSON or Markdown format. |
78
-
79
- ---
80
-
81
- ## admin (5 tools + Code Mode)
82
-
83
- Entry mutations, vector index management, and tag maintenance.
84
-
85
- | Tool | Description |
86
- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
87
- | `update_entry` | Update an existing journal entry. |
88
- | `delete_entry` | Delete a journal entry (soft delete with timestamp). |
89
- | `merge_tags` | Merge one tag into another to consolidate similar tags (e.g., merge "phase-2" into "phase2"). The source tag is deleted after merge. |
90
- | `rebuild_vector_index` | Rebuild the semantic search vector index from all existing entries. |
91
- | `add_to_vector_index` | Add a specific entry to the semantic search vector index. |
92
-
93
- ---
94
-
95
- ## github (16 tools + Code Mode)
96
-
97
- GitHub integration — Issues, PRs, context, Kanban boards, Milestones, Insights, issue lifecycle, and Copilot Reviews.
98
-
99
- | Tool | Description |
100
- | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
101
- | `get_github_issues` | List issues from a GitHub repository. Leave `owner`/`repo` empty to auto-detect from the current git repository. |
102
- | `get_github_prs` | List pull requests from a GitHub repository. Leave `owner`/`repo` empty to auto-detect from the current git repository. |
103
- | `get_github_issue` | Get detailed information about a specific GitHub issue. Leave `owner`/`repo` empty to auto-detect from the current git repository. |
104
- | `get_github_pr` | Get detailed information about a specific GitHub pull request. Leave `owner`/`repo` empty to auto-detect from the current git repository. |
105
- | `get_github_context` | Get current repository context including branch, open issues, and open PRs. Only counts OPEN items (closed items excluded). |
106
- | `get_kanban_board` | View a GitHub Project v2 as a Kanban board with items grouped by Status column. Returns all columns with their items. |
107
- | `move_kanban_item` | Move a Kanban item to a different status column. Requires the project board to have a Status field. |
108
- | `create_github_issue_with_entry` | Create a GitHub issue AND automatically create a linked journal entry documenting the issue creation. |
109
- | `close_github_issue_with_entry` | Close a GitHub issue AND create a journal entry documenting the resolution. |
110
- | `get_github_milestones` | List GitHub milestones for the repository with completion percentages and due dates. |
111
- | `get_github_milestone` | Get detailed information about a specific GitHub milestone including progress and linked issue counts. |
112
- | `create_github_milestone` | Create a new GitHub milestone for tracking progress toward a project goal. |
113
- | `update_github_milestone` | Update a GitHub milestone (title, description, due date, or state). Use state "closed" to close a completed milestone. |
114
- | `delete_github_milestone` | Permanently delete a GitHub milestone. Issues assigned to the milestone will be un-assigned but not deleted. |
115
- | `get_repo_insights` | Get repository insights: stars, forks, traffic (clones/views), referrers, and popular paths. Use "sections" to control token usage. |
116
- | `get_copilot_reviews` | Get Copilot's code review findings for a pull request. Returns review state and file-level comments with paths and line numbers. |
117
-
118
- ---
119
-
120
- ## backup (4 tools + Code Mode)
121
-
122
- Database backup, restore, and retention management.
123
-
124
- | Tool | Description |
125
- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
126
- | `backup_journal` | Create a timestamped backup of the journal database. Backups are stored in the `backups/` directory. |
127
- | `list_backups` | List all available backup files with their sizes and creation dates. |
128
- | `restore_backup` | Restore the journal database from a backup file. WARNING: This replaces all current data. An automatic backup is created before restore. |
129
- | `cleanup_backups` | Delete old backup files, keeping only the most recent N backups. Use `list_backups` to preview before cleanup. |
130
-
131
- ---
132
-
133
- ## team (20 tools + Code Mode)
134
-
135
- Team collaboration with a separate shared database. Requires `TEAM_DB_PATH`.
136
-
137
- ### Core
138
-
139
- | Tool | Description |
140
- | ---------------------- | ----------------------------------------------------------------------------------------------- |
141
- | `team_create_entry` | Create an entry in the team database for sharing with collaborators. |
142
- | `team_get_entry_by_id` | Get a specific team entry by ID with full details including relationships and importance score. |
143
- | `team_get_recent` | Get recent entries from the team database. |
144
- | `team_list_tags` | List all tags used in the team database with usage counts. |
145
-
146
- ### Search
147
-
148
- | Tool | Description |
149
- | --------------------------- | -------------------------------------------------------------------------------------- |
150
- | `team_search` | Search entries in the team database by text and/or tags. |
151
- | `team_search_by_date_range` | Search team entries within a date range with optional filters for entry type and tags. |
152
-
153
- ### Admin
154
-
155
- | Tool | Description |
156
- | ------------------- | ---------------------------------------------------------- |
157
- | `team_update_entry` | Update a team entry (content, type, or tags). |
158
- | `team_delete_entry` | Soft-delete a team entry (marks as deleted, preservable). |
159
- | `team_merge_tags` | Merge a source tag into a target tag in the team database. |
160
-
161
- ### Analytics
162
-
163
- | Tool | Description |
164
- | --------------------------------- | -------------------------------------------------------------------------------------------------------- |
165
- | `team_get_statistics` | Get statistics for the team database including entry counts, types, top tags, and contributor breakdown. |
166
- | `team_get_cross_project_insights` | Analyze patterns across all GitHub Projects tracked in team entries. Requires TEAM_DB_PATH. |
167
-
168
- ### Relationships
169
-
170
- | Tool | Description |
171
- | ------------------------------ | ---------------------------------------------------------------------- |
172
- | `team_link_entries` | Create a relationship between two team entries. |
173
- | `team_visualize_relationships` | Generate a Mermaid diagram showing relationships between team entries. |
174
-
175
- ### Export
176
-
177
- | Tool | Description |
178
- | --------------------- | ----------------------------------------------------------------------------------------------- |
179
- | `team_export_entries` | Export team entries in JSON or Markdown format with optional date range, type, and tag filters. |
180
-
181
- ### Backup
182
-
183
- | Tool | Description |
184
- | ------------------- | ------------------------------------------------------ |
185
- | `team_backup` | Create a timestamped backup of the team database. |
186
- | `team_list_backups` | List all available backup files for the team database. |
187
-
188
- ### Vector
189
-
190
- | Tool | Description |
191
- | ----------------------------- | --------------------------------------------------------------------------------------------------------- |
192
- | `team_semantic_search` | Perform semantic/vector search on team entries using AI embeddings. Requires TEAM_DB_PATH. |
193
- | `team_get_vector_index_stats` | Get statistics about the team vector search index (item count, model, dimensions). Requires TEAM_DB_PATH. |
194
- | `team_rebuild_vector_index` | Rebuild the team semantic search vector index from all existing team entries. Requires TEAM_DB_PATH. |
195
- | `team_add_to_vector_index` | Add a specific team entry to the semantic search vector index. Requires TEAM_DB_PATH. |
196
-
197
- ---
198
-
199
- ## ⚙️ Tool Filtering
200
-
201
- Control which tools are exposed via `MEMORY_JOURNAL_MCP_TOOL_FILTER` (or CLI: `--tool-filter`):
202
-
203
- | Filter | Tools | Use Case |
204
- | -------------------- | ----- | ------------------------ |
205
- | `full` | 61 | All tools (default) |
206
- | `starter` | ~11 | Core + search + codemode |
207
- | `essential` | ~7 | Minimal footprint |
208
- | `readonly` | ~15 | Disable all mutations |
209
- | `-github` | 45 | Exclude a group |
210
- | `-github,-analytics` | 43 | Exclude multiple groups |
211
-
212
- **Filter Syntax:** `shortcut` or `group` or `tool_name` (whitelist mode) · `-group` (disable group) · `-tool` (disable tool) · `+tool` (re-enable after group disable)
213
-
214
- **Custom Selection:** List individual tool names to create your own whitelist: `--tool-filter "create_entry,search_entries,semantic_search"`
215
-
216
- **Groups:** `core`, `search`, `analytics`, `relationships`, `export`, `admin`, `github`, `backup`, `team`, `codemode`
217
-
218
- ---
219
-
220
- ## 🌟 Recommended: Code Mode (Maximum Token Savings)
221
-
222
- Code Mode (`mj_execute_code`) dramatically reduces token usage (70–90%) and is included by default in all presets.
223
-
224
- Code executes in a **sandboxed VM context** with:
225
-
226
- - **Static code validation** — blocked patterns include `require()`, `process`, `eval()`, and filesystem access
227
- - **Rate limiting** — 60 executions per minute per client
228
- - **Hard timeouts** — configurable execution limit (default 30s)
229
- - **Full API access** — all 10 tool groups available via `mj.*`
230
-
231
- **API Groups:** `mj.core.*`, `mj.search.*`, `mj.analytics.*`, `mj.relationships.*`, `mj.export.*`, `mj.admin.*`, `mj.github.*`, `mj.backup.*`, `mj.team.*`
package/tests/README.md DELETED
@@ -1,54 +0,0 @@
1
- # Memory Journal MCP - Vitest Suite (Unit/Integration)
2
-
3
- > **⚠️ AI AGENT INSTRUCTIONS:** Read these rules before creating, modifying, or running tests in this directory.
4
-
5
- ## 📌 Framework & Purpose
6
-
7
- - **Framework:** Vitest (`vitest.config.ts`)
8
- - **Execution Environment:** Node.js
9
- - **Purpose:** Fast, isolated unit testing and database/handler integration testing.
10
- - **Not for:** Core HTTP transport/SSE protocol testing (see `tests/e2e/README.md`).
11
-
12
- ## 🚨 AI Agent Testing Rules
13
-
14
- ### 1. Meaningful Tests ONLY
15
-
16
- - **DO NOT** write tests just to boost coverage metrics.
17
- - Focus on testing logic boundaries, error handling, input validation, and expected success paths.
18
- - We require high-quality, meaningful assertions. Never use `expect(true).toBe(true)` or `continue-on-error` patterns.
19
-
20
- ### 2. Execution Protocol
21
-
22
- - **Targeted Runs:** NEVER run the entire test suite when working on a specific file. Run targeted tests to save time and token context.
23
- - ✅ `npx vitest run path/to/file.test.ts`
24
- - ❌ `npx vitest` (Unless explicitly asked for a full suite run)
25
- - **Output Limits:** When running tests via standard terminal commands, use `OutputCharacterCount: ≥10000` to ensure you see the summary line.
26
- - **Assertion:** Never assume a test passed if the output is truncated. You MUST verify the final summary line (`✓ 1 passed`).
27
-
28
- ### 3. File Naming & Structure
29
-
30
- - Test files must mirror the source directory structure.
31
- - Naming convention: `<source-filename>.test.ts` (e.g., `src/foo/bar.ts` → `tests/foo/bar.test.ts`).
32
- - **Never** use PascalCase or camelCase. Use `kebab-case`.
33
-
34
- ### 4. Error Assertions (Structured Errors)
35
-
36
- - The Memory Journal MCP server uses a strict **Structured Error Pattern**. Tools NEVER throw raw exceptions to the client. They return:
37
- `{ success: false, error: '...', code: '...', category: '...', suggestion: '...' }`.
38
- - When testing tool handlers, **assert the structured response**, do not expect the tool to `.toThrow()`.
39
-
40
- ## 📂 Directory Structure Reference
41
-
42
- | Directory | Tests What |
43
- | ------------- | --------------------------------------------------------------- |
44
- | `auth/` | OAuth 2.1 middleware, token validation, scopes |
45
- | `codemode/` | Sandbox security, API bridge, worker lifecycle |
46
- | `database/` | SQLite adapter, entry CRUD, search, tags, backup |
47
- | `handlers/` | Tool handlers, resource handlers, prompt handlers (Integration) |
48
- | `security/` | Input validation, SQL injection, path traversal |
49
- | `transports/` | HTTP transport, rate limiting, session behavior |
50
- | `vector/` | Vector search manager, semantic embedding logic |
51
-
52
- ---
53
-
54
- _For a complete code map and directory breakdown, see `test-server/code-map.md`._
@@ -1,162 +0,0 @@
1
- /**
2
- * memory-journal-mcp — Auth Context Unit Tests
3
- *
4
- * Tests for AsyncLocalStorage-based per-request auth context.
5
- */
6
-
7
- import { describe, it, expect, vi, afterEach } from 'vitest'
8
- import {
9
- getAuthContext,
10
- setAuthContext,
11
- withAuthContext,
12
- isAuthenticated,
13
- getAuthenticatedScopes,
14
- } from '../../src/auth/auth-context.js'
15
-
16
- describe('auth-context', () => {
17
- afterEach(() => {
18
- vi.restoreAllMocks()
19
- })
20
-
21
- describe('getAuthContext', () => {
22
- it('should return undefined when no context is set', () => {
23
- // Outside of any AsyncLocalStorage run, should be undefined
24
- const ctx = getAuthContext()
25
- expect(ctx).toBeUndefined()
26
- })
27
- })
28
-
29
- describe('withAuthContext', () => {
30
- it('should run callback with context', () => {
31
- const context = {
32
- authenticated: true as const,
33
- claims: {
34
- sub: 'user-1',
35
- scopes: ['read', 'write'],
36
- exp: Math.floor(Date.now() / 1000) + 3600,
37
- iat: Math.floor(Date.now() / 1000),
38
- },
39
- token: 'test-token',
40
- }
41
-
42
- const result = withAuthContext(context, () => {
43
- const ctx = getAuthContext()
44
- return ctx?.claims?.sub
45
- })
46
-
47
- expect(result).toBe('user-1')
48
- })
49
-
50
- it('should isolate context between calls', () => {
51
- const context1 = {
52
- authenticated: true as const,
53
- claims: {
54
- sub: 'user-1',
55
- scopes: ['read'],
56
- exp: 0,
57
- iat: 0,
58
- },
59
- token: 'token-1',
60
- }
61
-
62
- const context2 = {
63
- authenticated: true as const,
64
- claims: {
65
- sub: 'user-2',
66
- scopes: ['admin'],
67
- exp: 0,
68
- iat: 0,
69
- },
70
- token: 'token-2',
71
- }
72
-
73
- withAuthContext(context1, () => {
74
- const ctx1 = getAuthContext()
75
- expect(ctx1?.claims?.sub).toBe('user-1')
76
-
77
- // Nested context should override
78
- withAuthContext(context2, () => {
79
- const ctx2 = getAuthContext()
80
- expect(ctx2?.claims?.sub).toBe('user-2')
81
- })
82
-
83
- // Back to original context
84
- const ctxAfter = getAuthContext()
85
- expect(ctxAfter?.claims?.sub).toBe('user-1')
86
- })
87
- })
88
- })
89
-
90
- describe('setAuthContext', () => {
91
- it('should set and return context', () => {
92
- const context = {
93
- authenticated: true as const,
94
- claims: {
95
- sub: 'user-1',
96
- scopes: ['read'],
97
- exp: 0,
98
- iat: 0,
99
- },
100
- token: 'test-token',
101
- }
102
-
103
- // setAuthContext sets the context for checking later
104
- // This function uses enterWith which replaces the current store
105
- setAuthContext(context)
106
-
107
- const ctx = getAuthContext()
108
- expect(ctx?.authenticated).toBe(true)
109
- expect(ctx?.claims?.sub).toBe('user-1')
110
- })
111
- })
112
-
113
- describe('isAuthenticated', () => {
114
- it('should return false when no context', () => {
115
- expect(isAuthenticated()).toBe(false)
116
- })
117
-
118
- it('should return true when authenticated context is set', () => {
119
- const context = {
120
- authenticated: true as const,
121
- claims: {
122
- sub: 'user-1',
123
- scopes: ['read'],
124
- exp: 0,
125
- iat: 0,
126
- },
127
- token: 'test-token',
128
- }
129
-
130
- const result = withAuthContext(context, () => {
131
- return isAuthenticated()
132
- })
133
-
134
- expect(result).toBe(true)
135
- })
136
- })
137
-
138
- describe('getAuthenticatedScopes', () => {
139
- it('should return empty array when no context', () => {
140
- expect(getAuthenticatedScopes()).toEqual([])
141
- })
142
-
143
- it('should return scopes from authenticated context', () => {
144
- const context = {
145
- authenticated: true as const,
146
- claims: {
147
- sub: 'user-1',
148
- scopes: ['read', 'write'],
149
- exp: 0,
150
- iat: 0,
151
- },
152
- token: 'test-token',
153
- }
154
-
155
- const result = withAuthContext(context, () => {
156
- return getAuthenticatedScopes()
157
- })
158
-
159
- expect(result).toEqual(['read', 'write'])
160
- })
161
- })
162
- })