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,36 +0,0 @@
1
- # v6.0.1 — Docker Image Optimization & CI Updates
2
-
3
- ## Highlights
4
-
5
- - **Docker image reduced from ~733 MB to ~250 MB** on amd64 by stripping unused ONNX runtime binaries and moving npm to the builder stage
6
- - **5 GitHub Actions dependency bumps** merged from Dependabot
7
-
8
- ## Changed
9
-
10
- ### Docker Image Size Optimization
11
-
12
- Reduced amd64 image from ~733 MB to ~250 MB:
13
-
14
- - Moved npm global upgrade + CVE patches to builder stage only; removed npm/npx from production image
15
- - Production `npm ci --omit=dev` runs in builder; `node_modules` copied via `COPY --from=builder`
16
- - Stripped `onnxruntime-web` entirely (browser-only runtime, ~90 MB)
17
- - Stripped non-Linux `onnxruntime-node` platform binaries (darwin + win32, ~132 MB)
18
-
19
- ### CI Dependency Updates
20
-
21
- - `github/codeql-action` SHA update (#263)
22
- - `actions/download-artifact` 7.0.0 → 8.0.1 (#264)
23
- - `github/gh-aw` 0.57.2 → 0.58.1 (#265)
24
- - `trufflesecurity/trufflehog` 3.93.7 → 3.93.8 (#266)
25
- - `docker/scout-action` 1.18.2 → 1.20.2 (#267)
26
-
27
- ---
28
-
29
- **Full Changelog**: [v6.0.0...v6.0.1](https://github.com/neverinfamous/memory-journal-mcp/compare/v6.0.0...v6.0.1)
30
-
31
- **Install:**
32
-
33
- ```bash
34
- npm install memory-journal-mcp@6.0.1
35
- docker pull writenotenow/memory-journal-mcp:v6.0.1
36
- ```
@@ -1,68 +0,0 @@
1
- # v6.1.0 — Team Parity, Dynamic Help, Code Mode Auto-Return
2
-
3
- ## Highlights
4
-
5
- - **Team Tools Parity** → 17 new team tools (3 → 20) with full feature parity including vector search, relationships, export, and cross-project insights
6
- - **Dynamic Help Resources** → `memory://help` and `memory://help/{group}` auto-generated from live tool definitions — zero maintenance overhead
7
- - **Code Mode Auto-Return** → Bare expressions like `mj.help()` now correctly return values (REPL semantics)
8
- - **OAuth Scope Enforcement** → Per-tool HTTP-level scope gating now active (read/write/admin)
9
- - **46 New E2E Tests** → Template resources, Code Mode API, error contracts, tool filtering, OAuth scopes
10
-
11
- ## Added
12
-
13
- - 17 new team tools: CRUD, search, stats, relationships, export, backup, vector search, cross-project insights
14
- - `memory://rules`, `memory://workflows`, `memory://skills` resources with caching
15
- - Dynamic `memory://help` and `memory://help/{group}` runtime-generated tool reference
16
- - Error auto-refinement and `structuredContent` on error responses
17
- - Query helpers (`coerceNumber`, `coerceBoolean`, `coerceLimit`) and resource annotation presets
18
- - Per-tool OAuth scope enforcement middleware
19
- - Tool invariant tests (annotations, output schemas, titles)
20
- - Test coverage → 96.21% with Code Mode coverage mock
21
-
22
- ## Changed
23
-
24
- - Server instructions refactored: ~55% reduction, ~33% token savings, filter-aware sections
25
- - `essential` and `starter` shortcuts now include `codemode`
26
- - `memory://significant` batched importance (eliminates N+1 queries)
27
- - npm publish gated behind Docker Scout checks
28
- - Version SSoT via `src/version.ts`
29
- - `relaxedNumber()` upgraded from `z.any()` to `z.union([z.number(), z.string()])`
30
- - Compact JSON for tool responses (~15-20% payload reduction)
31
- - 27 npm dependency updates, 0 vulnerabilities
32
-
33
- ## Fixed
34
-
35
- - Code Mode auto-return for bare expressions (CM-1)
36
- - FTS5 phrase search with porter stemmer (rewrites quoted phrases to AND-joined terms)
37
- - Sandbox readonly `TypeError` → structured error proxy
38
- - `search_entries` filter regressions (pr_status, workflow_run_id)
39
- - `link_entries` self-loop prevention + directional-only duplicate detection
40
- - `team_get_cross_project_insights` scaling trap (SQLite 999 binding limit)
41
- - 27 ad-hoc error responses standardized across all handler files
42
- - `restore_backup(confirm: false)` raw MCP error leak
43
- - FTS5 ghost entry cleanup on startup
44
- - `team_export_entries` filter-then-limit ordering
45
-
46
- ## Security
47
-
48
- - SLSA Build L3 attestation (`--provenance` on npm publish)
49
- - CodeQL `security-extended,security-and-quality` query sets
50
- - CI action SHA pinning (codeql-action v4.33.0, gh-aw v0.58.3, upload-artifact v7)
51
- - `.gitleaks.toml` and `.trivyignore` configuration
52
- - `flatted` 3.4.2 prototype pollution resolved
53
-
54
- ## Tests
55
-
56
- - 46 new E2E tests across 5 spec files (templates, Code Mode API, error contracts, tool filtering, OAuth scopes)
57
-
58
- ---
59
-
60
- **Compare**: [`v6.0.1...v6.1.0`](https://github.com/neverinfamous/memory-journal-mcp/compare/v6.0.1...v6.1.0)
61
-
62
- **Install**:
63
-
64
- ```bash
65
- npm install -g memory-journal-mcp@6.1.0
66
- # or
67
- docker pull writenotenow/memory-journal-mcp:v6.1.0
68
- ```
@@ -1,30 +0,0 @@
1
- # v6.1.1 — CodeQL Security & Hygiene Patch
2
-
3
- Resolves 16 CodeQL alerts introduced with the v6.1.0 scan: 3 medium (Docker workflow), 1 warning (useless assignment), 12 notes (unused variables in tests).
4
-
5
- ## Highlights
6
-
7
- - **Docker Workflow Hardening** — Removed explicit `ref: ${{ github.event.workflow_run.head_sha }}` from checkout steps to resolve "untrusted checkout in trusted context" alerts
8
- - **Dead Code Removal** — Cleaned up 12 unused variables, imports, and constants across test files
9
- - **Source Hygiene** — Removed useless initial assignment in `github-section.ts`
10
-
11
- ## Security
12
-
13
- - Remove `ref:` from `docker-publish.yml` checkout steps (#145, #146, #147) — workflow only triggers on main via `workflow_run`, so default checkout is safe
14
-
15
- ## Fixed
16
-
17
- - Remove dead `= 'unknown'` initializer on `status` in `github-section.ts` (#148)
18
- - Remove 12 unused variables/imports across test and utility files (#149–#160)
19
-
20
- ---
21
-
22
- **Compare**: [`v6.1.0...v6.1.1`](https://github.com/neverinfamous/memory-journal-mcp/compare/v6.1.0...v6.1.1)
23
-
24
- ```bash
25
- npm install -g memory-journal-mcp@6.1.1
26
- ```
27
-
28
- ```bash
29
- docker pull writenotenow/memory-journal-mcp:v6.1.1
30
- ```
@@ -1,23 +0,0 @@
1
- # v6.1.2 — CodeQL Cleanup (Follow-up)
2
-
3
- Resolves 4 remaining CodeQL alerts from v6.1.1: 3 Docker workflow untrusted-checkout and 1 unused import.
4
-
5
- ## Security
6
-
7
- - Remove `ref: ${{ github.event.workflow_run.head_sha }}` from `docker-publish.yml` checkout steps — CodeQL does not accept `persist-credentials: false` as mitigation (#145, #146, #161)
8
-
9
- ## Fixed
10
-
11
- - Remove orphaned `jose` import from `entries-auth-branches.test.ts` (#162), cascading from v6.1.1 `err` variable removal
12
-
13
- ---
14
-
15
- **Compare**: [`v6.1.1...v6.1.2`](https://github.com/neverinfamous/memory-journal-mcp/compare/v6.1.1...v6.1.2)
16
-
17
- ```bash
18
- npm install -g memory-journal-mcp@6.1.2
19
- ```
20
-
21
- ```bash
22
- docker pull writenotenow/memory-journal-mcp:v6.1.2
23
- ```
@@ -1,306 +0,0 @@
1
- /**
2
- * Generates src/constants/server-instructions.ts from src/constants/server-instructions.md
3
- *
4
- * Reads the markdown source file, splits it by section delimiters,
5
- * escapes for template literals, and produces the full TypeScript module
6
- * with types, constants, and the generateInstructions function.
7
- *
8
- * Sections: CORE, COPILOT, CODE_MODE, GITHUB, HELP_POINTERS, SERVER_ACCESS
9
- * CORE is always included. COPILOT and CODE_MODE are conditionally included
10
- * based on enabled tool groups. GITHUB is conditional at standard+ level.
11
- *
12
- * Usage: node scripts/generate-server-instructions.ts
13
- */
14
-
15
- import { readFileSync, writeFileSync } from 'node:fs'
16
- import { dirname, resolve } from 'node:path'
17
- import { fileURLToPath } from 'node:url'
18
-
19
- const __dirname = dirname(fileURLToPath(import.meta.url))
20
- const projectRoot = resolve(__dirname, '..')
21
-
22
- const mdPath = resolve(projectRoot, 'src/constants/server-instructions.md')
23
- const tsPath = resolve(projectRoot, 'src/constants/server-instructions.ts')
24
-
25
- // Read plain markdown source
26
- const markdown = readFileSync(mdPath, 'utf-8')
27
-
28
- // Section names in order
29
- const SECTION_NAMES = ['CORE', 'COPILOT', 'CODE_MODE', 'GITHUB', 'HELP_POINTERS', 'SERVER_ACCESS']
30
-
31
- /**
32
- * Parse sections from markdown using <!-- SECTION:NAME --> delimiters
33
- */
34
- function parseSections(content) {
35
- const sections = {}
36
-
37
- for (let i = 0; i < SECTION_NAMES.length; i++) {
38
- const name = SECTION_NAMES[i]
39
- const startMarker = '<!-- SECTION:' + name + ' -->'
40
- const startIdx = content.indexOf(startMarker)
41
-
42
- if (startIdx === -1) {
43
- throw new Error('Missing section marker: ' + startMarker)
44
- }
45
-
46
- const contentStart = startIdx + startMarker.length
47
-
48
- // Find next section marker or end of file
49
- let contentEnd
50
- if (i + 1 < SECTION_NAMES.length) {
51
- const nextMarker = '<!-- SECTION:' + SECTION_NAMES[i + 1] + ' -->'
52
- contentEnd = content.indexOf(nextMarker)
53
- if (contentEnd === -1) {
54
- throw new Error('Missing section marker: ' + nextMarker)
55
- }
56
- } else {
57
- contentEnd = content.length
58
- }
59
-
60
- // Trim leading/trailing whitespace but preserve internal structure
61
- sections[name] = content.slice(contentStart, contentEnd).trim()
62
- }
63
-
64
- return sections
65
- }
66
-
67
- /**
68
- * Escape content for use inside a JS/TS template literal
69
- */
70
- function escapeForTemplateLiteral(content) {
71
- return content.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$\{/g, '\\${')
72
- }
73
-
74
- const sections = parseSections(markdown)
75
-
76
- // Read the function body template (static TypeScript code after the constants)
77
- const FUNCTION_BODY = readFileSync(
78
- resolve(projectRoot, 'scripts/server-instructions-function-body.ts'),
79
- 'utf-8'
80
- )
81
-
82
- // Read the gotchas content (kept as a separate const, not in .md sections)
83
- const GOTCHAS_BODY = readFileSync(
84
- resolve(projectRoot, 'scripts/server-instructions-gotchas.ts'),
85
- 'utf-8'
86
- )
87
-
88
- // Build the TypeScript file using string concatenation to avoid nested escaping
89
- const lines = []
90
-
91
- lines.push('/**')
92
- lines.push(' * Server instructions for Memory Journal MCP.')
93
- lines.push(' *')
94
- lines.push(' * ⚠️ AUTO-GENERATED — DO NOT EDIT THIS FILE DIRECTLY')
95
- lines.push(' * Edit src/constants/server-instructions.md instead,')
96
- lines.push(' * then run: npm run generate:instructions')
97
- lines.push(' *')
98
- lines.push(' * These instructions are automatically sent to MCP clients during initialization,')
99
- lines.push(' * providing guidance for AI agents on tool usage.')
100
- lines.push(' *')
101
- lines.push(' * Tool parameter reference is served dynamically via memory://help/{group}.')
102
- lines.push(' * Field notes and gotchas are served via memory://help/gotchas.')
103
- lines.push(' *')
104
- lines.push(' * Optimized for token efficiency with tiered instruction levels.')
105
- lines.push(' * Sections are conditionally included based on enabled tool groups.')
106
- lines.push(' */')
107
- lines.push('')
108
- lines.push("import type { ToolGroup } from '../types/index.js'")
109
- lines.push("import { TOOL_GROUPS, getEnabledGroups } from '../filtering/tool-filter.js'")
110
- lines.push('')
111
- lines.push('/**')
112
- lines.push(' * Resource definition for instruction generation')
113
- lines.push(' */')
114
- lines.push('export interface ResourceDefinition {')
115
- lines.push(' uri: string')
116
- lines.push(' name: string')
117
- lines.push(' description?: string')
118
- lines.push('}')
119
- lines.push('')
120
- lines.push('/**')
121
- lines.push(' * Prompt definition for instruction generation')
122
- lines.push(' */')
123
- lines.push('export interface PromptDefinition {')
124
- lines.push(' name: string')
125
- lines.push(' description?: string')
126
- lines.push('}')
127
- lines.push('')
128
- lines.push('/**')
129
- lines.push(' * Latest entry snapshot for initial briefing')
130
- lines.push(' */')
131
- lines.push('export interface LatestEntrySnapshot {')
132
- lines.push(' id: number')
133
- lines.push(' timestamp: string')
134
- lines.push(' entryType: string')
135
- lines.push(' content: string')
136
- lines.push('}')
137
- lines.push('')
138
- lines.push('/**')
139
- lines.push(' * Instruction detail level for token efficiency')
140
- lines.push(' * - essential: ~200 tokens - Core behaviors only (for token-constrained clients)')
141
- lines.push(' * - standard: ~350 tokens - + GitHub patterns + help pointers')
142
- lines.push(' * - full: ~400 tokens - + active tools/prompts summary')
143
- lines.push(' */')
144
- lines.push("export type InstructionLevel = 'essential' | 'standard' | 'full'")
145
- lines.push('')
146
-
147
- // ---- Composable Segments ----
148
-
149
- lines.push('// =============================================================================')
150
- lines.push('// Composable Instruction Segments')
151
- lines.push('// =============================================================================')
152
- lines.push('')
153
- lines.push('/**')
154
- lines.push(' * Core behavioral guidance — always included regardless of enabled groups.')
155
- lines.push(' * Session Start, Behaviors, Rule & Skill Suggestions.')
156
- lines.push(' */')
157
- lines.push('const CORE_INSTRUCTIONS = `' + escapeForTemplateLiteral(sections.CORE) + '\n`')
158
- lines.push('')
159
- lines.push('/**')
160
- lines.push(' * Copilot Review Patterns — only when `github` group is enabled.')
161
- lines.push(' * References `get_copilot_reviews` which is a GitHub tool.')
162
- lines.push(' */')
163
- lines.push(
164
- 'const COPILOT_REVIEW_INSTRUCTIONS = `\\n' + escapeForTemplateLiteral(sections.COPILOT) + '\n`'
165
- )
166
- lines.push('')
167
- lines.push('/**')
168
- lines.push(' * Quick Access table — always included.')
169
- lines.push(' * The semantic_search row is conditional on the `search` group.')
170
- lines.push(' */')
171
- lines.push('function buildQuickAccess(groups: Set<ToolGroup>): string {')
172
- lines.push(' let table = `')
173
- lines.push('## Quick Access')
174
- lines.push('')
175
- lines.push('| Purpose | Action |')
176
- lines.push('| --------------- | --------------------------- |')
177
- lines.push('| Session context | \\`memory://briefing\\` |')
178
- lines.push('| Recent entries | \\`memory://recent\\` |')
179
- lines.push('| Health/time | \\`memory://health\\` |')
180
- lines.push('`')
181
- lines.push(" if (groups.has('search')) {")
182
- lines.push(' table += `| Semantic search | \\`semantic_search(query)\\` |')
183
- lines.push('`')
184
- lines.push(' }')
185
- lines.push(' table += `| Full context | \\`get-context-bundle\\` prompt |')
186
- lines.push('`')
187
- lines.push(' return table')
188
- lines.push('}')
189
- lines.push('')
190
- lines.push('/**')
191
- lines.push(' * Code Mode namespace row definitions.')
192
- lines.push(' * Each maps a tool group to its Code Mode API namespace.')
193
- lines.push(' */')
194
- lines.push(
195
- 'const CODE_MODE_NAMESPACE_ROWS: { group: ToolGroup; label: string; namespace: string; example: string }[] = ['
196
- )
197
- lines.push(
198
- " { group: 'core', label: 'Core', namespace: '`mj.core.*`', example: '`mj.core.createEntry(\"Implemented feature X\")`' },"
199
- )
200
- lines.push(
201
- " { group: 'search', label: 'Search', namespace: '`mj.search.*`', example: '`mj.search.searchEntries(\"performance\")`' },"
202
- )
203
- lines.push(
204
- " { group: 'analytics', label: 'Analytics', namespace: '`mj.analytics.*`', example: '`mj.analytics.getStatistics()`' },"
205
- )
206
- lines.push(
207
- " { group: 'relationships', label: 'Relationships', namespace: '`mj.relationships.*`', example: '`mj.relationships.linkEntries(1, 2, \"implements\")`' },"
208
- )
209
- lines.push(
210
- " { group: 'export', label: 'Export', namespace: '`mj.export.*`', example: '`mj.export.exportEntries(\"json\")`' },"
211
- )
212
- lines.push(
213
- " { group: 'admin', label: 'Admin', namespace: '`mj.admin.*`', example: '`mj.admin.rebuildVectorIndex()`' },"
214
- )
215
- lines.push(
216
- " { group: 'github', label: 'GitHub', namespace: '`mj.github.*`', example: '`mj.github.getGithubIssues({ state: \"open\" })`' },"
217
- )
218
- lines.push(
219
- " { group: 'backup', label: 'Backup', namespace: '`mj.backup.*`', example: '`mj.backup.backupJournal()`' },"
220
- )
221
- lines.push(
222
- " { group: 'team', label: 'Team', namespace: '`mj.team.*`', example: '`mj.team.teamCreateEntry(\"Team update\")`' },"
223
- )
224
- lines.push(']')
225
- lines.push('')
226
- lines.push('/**')
227
- lines.push(' * Code Mode section — only when `codemode` group is enabled.')
228
- lines.push(' * The namespace table dynamically omits rows for disabled groups.')
229
- lines.push(
230
- ' * The behavioral text (await patterns, readonly, return shape) comes from the .md source.'
231
- )
232
- lines.push(' */')
233
- lines.push('function buildCodeModeInstructions(groups: Set<ToolGroup>): string {')
234
- lines.push(' // Build namespace table with only enabled groups')
235
- lines.push(' const rows = CODE_MODE_NAMESPACE_ROWS')
236
- lines.push(' .filter((r) => groups.has(r.group))')
237
- lines.push(
238
- ' .map((r) => `| ${r.label.padEnd(13)} | ${r.namespace.padEnd(20)} | ${r.example.padEnd(50)} |`)'
239
- )
240
- lines.push(" .join('\\n')")
241
- lines.push('')
242
- lines.push(' // Build the static behavioral text from the .md source,')
243
- lines.push(' // but replace the full namespace table with the filtered version')
244
- lines.push(' const fullSection = CODE_MODE_FULL_TEXT')
245
- lines.push(" const tableStart = fullSection.indexOf('| Group')")
246
- lines.push(" const tableEnd = fullSection.indexOf('\\n\\n**Features**')")
247
- lines.push(' if (tableStart === -1 || tableEnd === -1) {')
248
- lines.push(' // Fallback: return full section if markers not found')
249
- lines.push(" return '\\n' + fullSection")
250
- lines.push(' }')
251
- lines.push(' const beforeTable = fullSection.slice(0, tableStart)')
252
- lines.push(
253
- " const headerLine = '| Group | Namespace | Example |'"
254
- )
255
- lines.push(
256
- " const separatorLine = '| ------------- | -------------------- | -------------------------------------------------- |'"
257
- )
258
- lines.push(' const afterTable = fullSection.slice(tableEnd)')
259
- lines.push(
260
- " return '\\n' + beforeTable + headerLine + '\\n' + separatorLine + '\\n' + rows + afterTable"
261
- )
262
- lines.push('}')
263
- lines.push('')
264
- lines.push('/**')
265
- lines.push(' * Full Code Mode section text from .md source (used as template for filtered version)')
266
- lines.push(' */')
267
- lines.push('const CODE_MODE_FULL_TEXT = `' + escapeForTemplateLiteral(sections.CODE_MODE) + '\n`')
268
- lines.push('')
269
-
270
- // ---- Original static sections ----
271
- lines.push('/**')
272
- lines.push(' * GitHub integration patterns (~150 additional tokens)')
273
- lines.push(' * Only included when `github` group is enabled.')
274
- lines.push(' */')
275
- lines.push('const GITHUB_INSTRUCTIONS = `\\n' + escapeForTemplateLiteral(sections.GITHUB) + '\n`')
276
- lines.push('')
277
- lines.push('/**')
278
- lines.push(' * Help resource pointers — directs agents to pull-based reference')
279
- lines.push(' */')
280
- lines.push('const HELP_POINTERS = `\\n' + escapeForTemplateLiteral(sections.HELP_POINTERS) + '\n`')
281
- lines.push('')
282
- lines.push('/**')
283
- lines.push(' * Server access instructions - critical for AI agents to call tools correctly')
284
- lines.push(' */')
285
- lines.push(
286
- 'const SERVER_ACCESS_INSTRUCTIONS = `\\n' +
287
- escapeForTemplateLiteral(sections.SERVER_ACCESS) +
288
- '\n`'
289
- )
290
- lines.push('')
291
- lines.push(GOTCHAS_BODY)
292
- lines.push('')
293
- lines.push(FUNCTION_BODY)
294
- lines.push('')
295
-
296
- const tsContent = lines.join('\n')
297
-
298
- writeFileSync(tsPath, tsContent, 'utf-8')
299
-
300
- process.stderr.write(
301
- '✅ Generated server-instructions.ts (' +
302
- tsContent.length.toLocaleString() +
303
- ' bytes) from server-instructions.md (' +
304
- markdown.length.toLocaleString() +
305
- ' bytes)\n'
306
- )
@@ -1,107 +0,0 @@
1
- /**
2
- * Generate dynamic instructions based on enabled tools, resources, prompts, and latest entry.
3
- *
4
- * Sections are conditionally included based on which tool groups are enabled:
5
- * - Copilot Review Patterns → only with `github` group
6
- * - Code Mode → only with `codemode` group (namespace table only lists enabled groups)
7
- * - GitHub Integration → only with `github` group (standard+ level)
8
- * - Quick Access semantic_search row → only with `search` group
9
- *
10
- * @param enabledTools - Set of enabled tool names
11
- * @param prompts - Available prompt definitions
12
- * @param latestEntry - Optional latest entry for context snapshot
13
- * @param level - Instruction detail level (default: 'standard')
14
- * @param enabledGroups - Optional pre-computed enabled groups; derived from enabledTools if omitted
15
- */
16
- export function generateInstructions(
17
- enabledTools: Set<string>,
18
- prompts: PromptDefinition[],
19
- latestEntry?: LatestEntrySnapshot,
20
- level: InstructionLevel = 'standard',
21
- enabledGroups?: Set<ToolGroup>
22
- ): string {
23
- // Derive enabled groups from enabled tools if not provided (backward compat)
24
- const groups = enabledGroups ?? getEnabledGroups(enabledTools)
25
-
26
- // Always start with core behavioral guidance
27
- let instructions = CORE_INSTRUCTIONS
28
-
29
- // Copilot Review Patterns — only when github group is enabled
30
- if (groups.has('github')) {
31
- instructions += COPILOT_REVIEW_INSTRUCTIONS
32
- }
33
-
34
- // Quick Access — always, but semantic_search row conditional on search group
35
- instructions += buildQuickAccess(groups)
36
-
37
- // Code Mode — only when codemode group is enabled
38
- if (groups.has('codemode')) {
39
- instructions += buildCodeModeInstructions(groups)
40
- }
41
-
42
- // Add latest entry snapshot for immediate context (compact format)
43
- if (latestEntry) {
44
- const preview = latestEntry.content.slice(0, 120)
45
- instructions += `\n**Latest**: #${String(latestEntry.id)} (${latestEntry.timestamp}) ${latestEntry.entryType}\n> ${preview}${latestEntry.content.length > 120 ? '...' : ''}\n`
46
- }
47
-
48
- // Standard and full levels include GitHub patterns + help pointers
49
- if (level === 'standard' || level === 'full') {
50
- if (groups.has('github')) {
51
- instructions += GITHUB_INSTRUCTIONS
52
- }
53
- instructions += HELP_POINTERS
54
- }
55
-
56
- // Full level includes server access instructions + active tools/prompts summary
57
- if (level === 'full') {
58
- instructions += SERVER_ACCESS_INSTRUCTIONS
59
-
60
- // Add active tools summary
61
- const activeGroups = getActiveToolGroups(enabledTools)
62
- if (activeGroups.length > 0) {
63
- instructions += `\n## Active Tools (${String(enabledTools.size)})\n`
64
- for (const { group, tools } of activeGroups) {
65
- instructions += `**${group}**: ${tools.map((t) => `\`${t}\``).join(', ')}\n`
66
- }
67
- }
68
-
69
- // Add prompts section
70
- if (prompts.length > 0) {
71
- instructions += `\n## Prompts (${String(prompts.length)})\n`
72
- instructions += 'Pre-built templates and guided workflows:\n'
73
- for (const prompt of prompts) {
74
- instructions += `- \`${prompt.name}\` - ${prompt.description ?? ''}\n`
75
- }
76
- }
77
- }
78
-
79
- return instructions
80
- }
81
-
82
- /**
83
- * Get active tool groups with their enabled tools
84
- */
85
- function getActiveToolGroups(enabledTools: Set<string>): { group: ToolGroup; tools: string[] }[] {
86
- const activeGroups: { group: ToolGroup; tools: string[] }[] = []
87
-
88
- for (const [group, allTools] of Object.entries(TOOL_GROUPS) as [ToolGroup, string[]][]) {
89
- const enabledInGroup = allTools.filter((tool) => enabledTools.has(tool))
90
- if (enabledInGroup.length > 0) {
91
- activeGroups.push({ group, tools: enabledInGroup })
92
- }
93
- }
94
-
95
- return activeGroups
96
- }
97
-
98
- /**
99
- * Static instructions for backward compatibility
100
- * @deprecated Use generateInstructions() instead for dynamic content
101
- */
102
- export const SERVER_INSTRUCTIONS =
103
- CORE_INSTRUCTIONS +
104
- COPILOT_REVIEW_INSTRUCTIONS +
105
- buildQuickAccess(new Set(Object.keys(TOOL_GROUPS) as ToolGroup[])) +
106
- buildCodeModeInstructions(new Set(Object.keys(TOOL_GROUPS) as ToolGroup[])) +
107
- GITHUB_INSTRUCTIONS
@@ -1,45 +0,0 @@
1
- /**
2
- * Field notes and gotchas — served via memory://help/gotchas resource.
3
- * Exported so the help resource handler can access it.
4
- */
5
- export const GOTCHAS_CONTENT = `# memory-journal-mcp — Field Notes & Gotchas
6
-
7
- ## ⚠️ Critical Patterns
8
-
9
- - **\`autoContext\`**: Reserved for future automatic context capture. Currently always \`null\`.
10
- - **\`memory://tags\` vs \`list_tags\`**: Resource includes \`id\`, \`name\`, \`count\`; tool returns only \`name\`, \`count\`. Neither returns orphan tags with zero usage.
11
- - **Tag naming**: Use lowercase with dashes (e.g., \`bug-fix\`, \`phase-2\`). Use \`merge_tags\` to consolidate duplicates (e.g., merge \`phase2\` into \`phase-2\`).
12
- - **\`merge_tags\` behavior**: Only updates non-deleted entries. Deleted entries retain their original tags.
13
- - **\`prStatus\` in entries**: Reflects PR state at entry creation time, not current state. Use \`get_github_pr\` for live status.
14
- - **\`restore_backup\` behavior**: Restores entire database state. Any recent changes (new entries, tag merges via \`merge_tags\`, relationships) are reverted. A pre-restore backup is automatically created for safety.
15
-
16
- ## Semantic Search
17
-
18
- - **Indexing**: Entries are auto-indexed on creation (fire-and-forget). If index count drifts from DB count, use \`rebuild_vector_index\` or enable \`AUTO_REBUILD_INDEX=true\` for automatic reconciliation on server startup.
19
- - **Thresholds**: Default similarity threshold is 0.25. For broader matches, try 0.15-0.2. Higher values (0.4+) return only very close semantic matches. A quality floor of 0.5 is always enforced: if all results score below 0.5, a hint is included indicating results may be noise. The \`hint_on_empty\` flag (default true) only controls advisory hints for empty indexes and zero-match queries — the quality gate hint is always shown.
20
-
21
- ## Search
22
-
23
- - **\`search_entries\` FTS5 query syntax**: Uses FTS5 full-text search with Porter stemmer. Phrase queries: \`"error handling"\`. Prefix: \`auth*\`. Boolean: \`deploy OR release\`, \`error NOT warning\`. Word-boundary matching ("log" matches "log" but not "catalog"). Results ranked by BM25 relevance. Falls back to LIKE substring matching for queries with unbalanced quotes or special characters.
24
-
25
- ## Relationships & Analytics
26
-
27
- - **Causal relationship types**: Use \`blocked_by\` (A was blocked by B), \`resolved\` (A resolved B), \`caused\` (A caused B) for decision tracing and failure analysis. Visualizations use distinct arrow styles for causal types.
28
- - **Enhanced analytics**: \`get_statistics\` returns \`decisionDensity\` (significant entries per period), \`relationshipComplexity\` (avg relationships per entry), \`activityTrend\` (period-over-period growth %), and \`causalMetrics\` (counts for blocked_by/resolved/caused).
29
- - **Importance scores**: \`get_entry_by_id\` returns \`importance\` (0.0-1.0) and \`importanceBreakdown\` showing weighted components: significance (30%), relationships (35%), causal (20%), recency (15%). \`memory://significant\` sorts entries by importance.
30
- - **\`inactiveThresholdDays\`**: \`get_cross_project_insights\` includes \`inactiveThresholdDays: 7\` in output, documenting the inactive project classification cutoff.
31
-
32
- ## GitHub Metadata
33
-
34
- - **GitHub metadata in entries**: Entry output includes 10 GitHub fields (\`issueNumber\`, \`issueUrl\`, \`prNumber\`, \`prUrl\`, \`prStatus\`, \`projectNumber\`, \`projectOwner\`, \`workflowRunId\`, \`workflowName\`, \`workflowStatus\`) in all tool responses.
35
-
36
- ## Entry Operations
37
-
38
- - **\`delete_entry\` on soft-deleted**: \`delete_entry(id, permanent: true)\` works on previously soft-deleted entries. Returns \`success: false\` for nonexistent entries.
39
-
40
- ## Team Database
41
-
42
- - **Team cross-database search**: \`search_entries\` and \`search_by_date_range\` automatically merge team DB results when \`TEAM_DB_PATH\` is configured. Results include a \`source\` field ("personal" or "team").
43
- - **Team vector search**: Team has its own isolated vector index. Use \`team_rebuild_vector_index\` if the team index drifts. \`team_semantic_search\` works identically to personal \`semantic_search\`.
44
- - **Team tools without \`TEAM_DB_PATH\`**: All 20 team tools return \`{ success: false, error: "Team collaboration is not configured..." }\` — no crash, no partial results.
45
- `
package/server.json DELETED
@@ -1,42 +0,0 @@
1
- {
2
- "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
3
- "name": "io.github.neverinfamous/memory-journal-mcp",
4
- "title": "Memory Journal MCP",
5
- "description": "Persistent knowledge graphs and intelligent context recall across AI threads",
6
- "version": "6.1.2",
7
- "packages": [
8
- {
9
- "registryType": "oci",
10
- "identifier": "docker.io/writenotenow/memory-journal-mcp:v6.1.2",
11
- "version": "6.1.2",
12
- "transport": {
13
- "type": "stdio"
14
- }
15
- }
16
- ],
17
- "keywords": [
18
- "mcp",
19
- "model-context-protocol",
20
- "context-management",
21
- "project-management",
22
- "ai-assistant",
23
- "knowledge-graph",
24
- "developer-tools",
25
- "git",
26
- "github-projects",
27
- "persistent-memory",
28
- "thread-continuity",
29
- "semantic-search"
30
- ],
31
- "author": {
32
- "name": "Adamic.tech",
33
- "email": "writenotenow@gmail.com"
34
- },
35
- "homepage": "https://github.com/neverinfamous/memory-journal-mcp",
36
- "repository": {
37
- "type": "git",
38
- "url": "https://github.com/neverinfamous/memory-journal-mcp.git",
39
- "source": "github"
40
- },
41
- "license": "MIT"
42
- }
Binary file