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
package/src/auth/types.ts DELETED
@@ -1,372 +0,0 @@
1
- /**
2
- * memory-journal-mcp — OAuth Types
3
- *
4
- * Type definitions for OAuth 2.0 components including
5
- * RFC 9728, RFC 8414, and RFC 7591 compliance.
6
- */
7
-
8
- // =============================================================================
9
- // RFC 9728 - Protected Resource Metadata
10
- // =============================================================================
11
-
12
- /**
13
- * OAuth 2.0 Protected Resource Metadata (RFC 9728)
14
- *
15
- * @see https://datatracker.ietf.org/doc/html/rfc9728
16
- */
17
- export interface ProtectedResourceMetadata {
18
- /** Resource identifier (canonical URI) */
19
- resource: string
20
-
21
- /** Authorization servers that can issue tokens for this resource */
22
- authorization_servers?: string[]
23
-
24
- /** JWKS URI for token verification (optional, usually from auth server) */
25
- jwks_uri?: string
26
-
27
- /** Scopes supported by this resource */
28
- scopes_supported?: string[]
29
-
30
- /** Bearer token presentation methods supported */
31
- bearer_methods_supported?: ('header' | 'body' | 'query')[]
32
-
33
- /** Resource signing algorithms supported */
34
- resource_signing_alg_values_supported?: string[]
35
-
36
- /** Resource documentation URL */
37
- resource_documentation?: string
38
-
39
- /** Resource policy URI */
40
- resource_policy_uri?: string
41
-
42
- /** Resource terms of service URI */
43
- resource_tos_uri?: string
44
- }
45
-
46
- // =============================================================================
47
- // RFC 8414 - Authorization Server Metadata
48
- // =============================================================================
49
-
50
- /**
51
- * OAuth 2.0 Authorization Server Metadata (RFC 8414)
52
- *
53
- * @see https://datatracker.ietf.org/doc/html/rfc8414
54
- */
55
- export interface AuthorizationServerMetadata {
56
- /** Authorization server issuer identifier */
57
- issuer: string
58
-
59
- /** Authorization endpoint URL */
60
- authorization_endpoint?: string
61
-
62
- /** Token endpoint URL */
63
- token_endpoint: string
64
-
65
- /** JWKS URI */
66
- jwks_uri?: string
67
-
68
- /** Registration endpoint (RFC 7591) */
69
- registration_endpoint?: string
70
-
71
- /** Scopes supported */
72
- scopes_supported?: string[]
73
-
74
- /** Response types supported */
75
- response_types_supported?: string[]
76
-
77
- /** Response modes supported */
78
- response_modes_supported?: string[]
79
-
80
- /** Grant types supported */
81
- grant_types_supported?: string[]
82
-
83
- /** Token endpoint auth methods supported */
84
- token_endpoint_auth_methods_supported?: string[]
85
-
86
- /** Token endpoint auth signing algorithms */
87
- token_endpoint_auth_signing_alg_values_supported?: string[]
88
-
89
- /** Service documentation URL */
90
- service_documentation?: string
91
-
92
- /** UI locales supported */
93
- ui_locales_supported?: string[]
94
-
95
- /** OP policy URI */
96
- op_policy_uri?: string
97
-
98
- /** OP terms of service URI */
99
- op_tos_uri?: string
100
-
101
- /** Revocation endpoint */
102
- revocation_endpoint?: string
103
-
104
- /** Revocation endpoint auth methods */
105
- revocation_endpoint_auth_methods_supported?: string[]
106
-
107
- /** Introspection endpoint */
108
- introspection_endpoint?: string
109
-
110
- /** Introspection endpoint auth methods */
111
- introspection_endpoint_auth_methods_supported?: string[]
112
-
113
- /** Code challenge methods supported (PKCE) */
114
- code_challenge_methods_supported?: string[]
115
- }
116
-
117
- // =============================================================================
118
- // RFC 7591 - Dynamic Client Registration
119
- // =============================================================================
120
-
121
- /**
122
- * OAuth 2.0 Dynamic Client Registration Request (RFC 7591)
123
- *
124
- * @see https://datatracker.ietf.org/doc/html/rfc7591
125
- */
126
- export interface ClientRegistrationRequest {
127
- /** Redirect URIs */
128
- redirect_uris?: string[]
129
-
130
- /** Token endpoint auth method */
131
- token_endpoint_auth_method?: string
132
-
133
- /** Grant types requested */
134
- grant_types?: string[]
135
-
136
- /** Response types requested */
137
- response_types?: string[]
138
-
139
- /** Client name */
140
- client_name?: string
141
-
142
- /** Client URI */
143
- client_uri?: string
144
-
145
- /** Logo URI */
146
- logo_uri?: string
147
-
148
- /** Scopes requested */
149
- scope?: string
150
-
151
- /** Contacts */
152
- contacts?: string[]
153
-
154
- /** Terms of service URI */
155
- tos_uri?: string
156
-
157
- /** Policy URI */
158
- policy_uri?: string
159
-
160
- /** JWKS URI for client authentication */
161
- jwks_uri?: string
162
-
163
- /** JWKS document for client authentication */
164
- jwks?: JWKSDocument
165
-
166
- /** Software ID */
167
- software_id?: string
168
-
169
- /** Software version */
170
- software_version?: string
171
-
172
- /** Software statement (signed JWT) */
173
- software_statement?: string
174
- }
175
-
176
- /**
177
- * OAuth 2.0 Dynamic Client Registration Response (RFC 7591)
178
- */
179
- export interface ClientRegistrationResponse {
180
- /** Client identifier */
181
- client_id: string
182
-
183
- /** Client secret (for confidential clients) */
184
- client_secret?: string
185
-
186
- /** Client secret expiration timestamp */
187
- client_secret_expires_at?: number
188
-
189
- /** Registration access token */
190
- registration_access_token?: string
191
-
192
- /** Registration client URI */
193
- registration_client_uri?: string
194
-
195
- /** Client ID issued at timestamp */
196
- client_id_issued_at?: number
197
-
198
- /** All other fields from the request */
199
- [key: string]: unknown
200
- }
201
-
202
- // =============================================================================
203
- // JWKS Types
204
- // =============================================================================
205
-
206
- /**
207
- * JSON Web Key (JWK)
208
- */
209
- export interface JWK {
210
- /** Key type (e.g., 'RSA', 'EC') */
211
- kty: string
212
-
213
- /** Key use ('sig' for signature, 'enc' for encryption) */
214
- use?: string
215
-
216
- /** Key operations */
217
- key_ops?: string[]
218
-
219
- /** Algorithm */
220
- alg?: string
221
-
222
- /** Key ID */
223
- kid?: string
224
-
225
- /** X.509 URL */
226
- x5u?: string
227
-
228
- /** X.509 certificate chain */
229
- x5c?: string[]
230
-
231
- /** X.509 certificate SHA-1 thumbprint */
232
- x5t?: string
233
-
234
- /** X.509 certificate SHA-256 thumbprint */
235
- 'x5t#S256'?: string
236
-
237
- // RSA-specific fields
238
- /** RSA modulus */
239
- n?: string
240
- /** RSA public exponent */
241
- e?: string
242
-
243
- // EC-specific fields
244
- /** EC curve */
245
- crv?: string
246
- /** EC x coordinate */
247
- x?: string
248
- /** EC y coordinate */
249
- y?: string
250
- }
251
-
252
- /**
253
- * JSON Web Key Set (JWKS)
254
- */
255
- export interface JWKSDocument {
256
- /** Array of JWK keys */
257
- keys: JWK[]
258
- }
259
-
260
- // =============================================================================
261
- // Token Validation Types
262
- // =============================================================================
263
-
264
- /**
265
- * Result of token validation
266
- */
267
- export interface TokenValidationResult {
268
- /** Whether the token is valid */
269
- valid: boolean
270
-
271
- /** Validated claims (if valid) */
272
- claims?: TokenClaims
273
-
274
- /** Error message (if invalid) */
275
- error?: string
276
-
277
- /** Error code (if invalid) */
278
- errorCode?: string
279
- }
280
-
281
- /**
282
- * Validated token claims
283
- */
284
- export interface TokenClaims {
285
- /** Subject (user ID) */
286
- sub: string
287
-
288
- /** Granted scopes (parsed from space-delimited string) */
289
- scopes: string[]
290
-
291
- /** Token expiration time (Unix timestamp) */
292
- exp: number
293
-
294
- /** Token issued at time (Unix timestamp) */
295
- iat: number
296
-
297
- /** Token issuer */
298
- iss?: string | undefined
299
-
300
- /** Token audience */
301
- aud?: string | string[] | undefined
302
-
303
- /** Not before time (Unix timestamp) */
304
- nbf?: number | undefined
305
-
306
- /** JWT ID */
307
- jti?: string | undefined
308
-
309
- /** Client ID */
310
- client_id?: string | undefined
311
-
312
- /** Additional claims */
313
- [key: string]: unknown
314
- }
315
-
316
- // =============================================================================
317
- // Configuration Types
318
- // =============================================================================
319
-
320
- /**
321
- * Resource server configuration
322
- */
323
- export interface ResourceServerConfig {
324
- /** Resource identifier (canonical server URI) */
325
- resource: string
326
-
327
- /** Authorization servers that can issue tokens */
328
- authorizationServers: string[]
329
-
330
- /** Scopes supported by this resource */
331
- scopesSupported: string[]
332
-
333
- /** Bearer token methods accepted (default: ['header']) */
334
- bearerMethodsSupported?: ('header' | 'body' | 'query')[]
335
- }
336
-
337
- /**
338
- * Token validator configuration
339
- */
340
- export interface TokenValidatorConfig {
341
- /** JWKS URI for key discovery */
342
- jwksUri: string
343
-
344
- /** Expected issuer */
345
- issuer: string
346
-
347
- /** Expected audience */
348
- audience: string
349
-
350
- /** Clock tolerance in seconds (default: 60) */
351
- clockTolerance?: number | undefined
352
-
353
- /** JWKS cache TTL in seconds (default: 3600) */
354
- jwksCacheTtl?: number | undefined
355
-
356
- /** Supported algorithms (default: ['RS256', 'RS384', 'RS512', 'ES256', 'ES384', 'ES512']) */
357
- algorithms?: string[] | undefined
358
- }
359
-
360
- /**
361
- * Authorization server discovery configuration
362
- */
363
- export interface AuthServerDiscoveryConfig {
364
- /** Authorization server URL (issuer) */
365
- authServerUrl: string
366
-
367
- /** Cache TTL in seconds (default: 3600) */
368
- cacheTtl?: number | undefined
369
-
370
- /** Request timeout in milliseconds (default: 5000) */
371
- timeout?: number | undefined
372
- }
package/src/cli.ts DELETED
@@ -1,279 +0,0 @@
1
- import { Command } from 'commander'
2
- import * as fs from 'node:fs'
3
- import { createServer } from './server/mcp-server.js'
4
- import { logger } from './utils/logger.js'
5
- import { VERSION } from './version.js'
6
-
7
- // Smart Database Resolution: Check root, then test-server, then default to root
8
- function resolveDbPath(envPath: string | undefined, defaultName: string, testName: string): string {
9
- if (envPath) return envPath
10
- const rootPath = `./${defaultName}`
11
- const testPath = `./test-server/${testName}`
12
- if (fs.existsSync(rootPath)) return rootPath
13
- if (fs.existsSync(testPath)) return testPath
14
- return rootPath // fallback to creating root if neither exist
15
- }
16
-
17
- const defaultDbPath = resolveDbPath(
18
- process.env['DB_PATH'],
19
- 'memory_journal.db',
20
- 'test-memory-journal.db'
21
- )
22
- const defaultTeamDbPath = process.env['TEAM_DB_PATH'] ? process.env['TEAM_DB_PATH'] : undefined
23
-
24
- const program = new Command()
25
-
26
- program
27
- .name('memory-journal-mcp')
28
- .description('Project context management for AI-assisted development')
29
- .version(VERSION)
30
- .option('--transport <type>', 'Transport type: stdio or http', 'stdio')
31
- .option('--port <number>', 'HTTP port (for http transport)', '3000')
32
- .option('--server-host <host>', 'Server bind host for HTTP transport (default: localhost)')
33
- .option('--stateless', 'Use stateless HTTP mode (no session management)')
34
- .option('--db <path>', 'Database path (env: DB_PATH)', defaultDbPath)
35
- .option('--team-db <path>', 'Team database path (env: TEAM_DB_PATH)', defaultTeamDbPath)
36
- .option('--tool-filter <filter>', 'Tool filter string (e.g., "starter", "core,search")')
37
- .option('--default-project <number>', 'Default GitHub Project number')
38
- .option('--auto-rebuild-index', 'Rebuild vector index on server startup')
39
- .option('--cors-origin <origin>', 'CORS allowed origin for HTTP transport (default: *)')
40
- .option('--enable-hsts', 'Enable HSTS header for HTTP transport (use when behind HTTPS)')
41
- .option(
42
- '--auth-token <token>',
43
- 'Bearer token for HTTP transport authentication (env: MCP_AUTH_TOKEN)'
44
- )
45
- .option('--log-level <level>', 'Log level: debug, info, warning, error', 'info')
46
- .option(
47
- '--backup-interval <minutes>',
48
- 'Automated backup interval in minutes, HTTP only (0 = disabled)',
49
- '0'
50
- )
51
- .option('--keep-backups <count>', 'Max backups to retain during automated cleanup', '5')
52
- .option(
53
- '--vacuum-interval <minutes>',
54
- 'Database optimize interval in minutes, HTTP only (0 = disabled)',
55
- '0'
56
- )
57
- .option(
58
- '--rebuild-index-interval <minutes>',
59
- 'Vector index rebuild interval in minutes, HTTP only (0 = disabled)',
60
- '0'
61
- )
62
- .option(
63
- '--sandbox-mode <mode>',
64
- 'Code Mode sandbox: "worker" (production, default) or "vm" (lightweight)',
65
- 'worker'
66
- )
67
- .option('--oauth-enabled', 'Enable OAuth 2.1 authentication (env: OAUTH_ENABLED)')
68
- .option('--oauth-issuer <url>', 'OAuth issuer URL (env: OAUTH_ISSUER)')
69
- .option('--oauth-audience <audience>', 'OAuth audience (env: OAUTH_AUDIENCE)')
70
- .option('--oauth-jwks-uri <uri>', 'OAuth JWKS URI (env: OAUTH_JWKS_URI)')
71
- .option(
72
- '--oauth-clock-tolerance <seconds>',
73
- 'OAuth clock tolerance in seconds (default: 60)',
74
- '60'
75
- )
76
- .option(
77
- '--instruction-level <level>',
78
- 'Briefing depth: essential, standard, full (env: INSTRUCTION_LEVEL)',
79
- 'standard'
80
- )
81
- // Briefing configuration
82
- .option(
83
- '--briefing-entries <count>',
84
- 'Number of journal entries in briefing (env: BRIEFING_ENTRY_COUNT)',
85
- '3'
86
- )
87
- .option(
88
- '--briefing-include-team',
89
- 'Include team DB entries in briefing (env: BRIEFING_INCLUDE_TEAM)'
90
- )
91
- .option(
92
- '--briefing-issues <count>',
93
- 'Number of issues to list in briefing; 0 = count only (env: BRIEFING_ISSUE_COUNT)',
94
- '0'
95
- )
96
- .option(
97
- '--briefing-prs <count>',
98
- 'Number of PRs to list in briefing; 0 = count only (env: BRIEFING_PR_COUNT)',
99
- '0'
100
- )
101
- .option(
102
- '--briefing-pr-status',
103
- 'Show PR status breakdown in briefing (env: BRIEFING_PR_STATUS)'
104
- )
105
- .option(
106
- '--rules-file <path>',
107
- 'Path to user rules file for awareness in briefing (env: RULES_FILE_PATH)'
108
- )
109
- .option(
110
- '--skills-dir <path>',
111
- 'Path to skills directory for awareness in briefing (env: SKILLS_DIR_PATH)'
112
- )
113
- .option(
114
- '--briefing-workflows <count>',
115
- 'Number of workflow runs to list in briefing; 0 = status only (env: BRIEFING_WORKFLOW_COUNT)',
116
- '0'
117
- )
118
- .option(
119
- '--briefing-workflow-status',
120
- 'Show workflow run status breakdown in briefing (env: BRIEFING_WORKFLOW_STATUS)'
121
- )
122
- .option(
123
- '--briefing-copilot',
124
- 'Aggregate Copilot review state across recent PRs in briefing (env: BRIEFING_COPILOT_REVIEWS)'
125
- )
126
- .option(
127
- '--workflow-summary <text>',
128
- 'Workflow summary for memory://workflows resource (env: MEMORY_JOURNAL_WORKFLOW_SUMMARY)'
129
- )
130
- .action(
131
- async (options: {
132
- transport: string
133
- port: string
134
- serverHost?: string
135
- stateless?: boolean
136
- db: string
137
- teamDb?: string
138
- toolFilter?: string
139
- defaultProject: string
140
- autoRebuildIndex?: boolean
141
- corsOrigin?: string
142
- enableHsts?: boolean
143
- authToken?: string
144
- logLevel: string
145
- backupInterval: string
146
- keepBackups: string
147
- vacuumInterval: string
148
- rebuildIndexInterval: string
149
- sandboxMode: string
150
- oauthEnabled?: boolean
151
- oauthIssuer?: string
152
- oauthAudience?: string
153
- oauthJwksUri?: string
154
- oauthClockTolerance: string
155
- briefingEntries: string
156
- briefingIncludeTeam?: boolean
157
- briefingIssues: string
158
- briefingPrs: string
159
- briefingPrStatus?: boolean
160
- rulesFile?: string
161
- skillsDir?: string
162
- briefingWorkflows: string
163
- briefingWorkflowStatus?: boolean
164
- briefingCopilot?: boolean
165
- workflowSummary?: string
166
- instructionLevel: string
167
- }) => {
168
- // Set log level
169
- logger.setLevel(options.logLevel as 'debug' | 'info' | 'warning' | 'error')
170
-
171
- // Resolve host: CLI flag > env var > default (localhost)
172
- const host =
173
- options.serverHost ?? process.env['MCP_HOST'] ?? process.env['HOST'] ?? undefined
174
-
175
- logger.info('Starting Memory Journal MCP Server', {
176
- module: 'CLI',
177
- transport: options.transport,
178
- stateless: options.stateless ?? false,
179
- db: options.db,
180
- ...(options.teamDb ? { teamDb: options.teamDb } : {}),
181
- ...(host ? { host } : {}),
182
- })
183
-
184
- try {
185
- await createServer({
186
- transport: options.transport as 'stdio' | 'http',
187
- port: parseInt(options.port, 10),
188
- host,
189
- statelessHttp: options.stateless === true,
190
- dbPath: options.db,
191
- teamDbPath: options.teamDb,
192
- toolFilter: options.toolFilter,
193
- defaultProjectNumber: options.defaultProject
194
- ? parseInt(options.defaultProject, 10)
195
- : process.env['DEFAULT_PROJECT_NUMBER']
196
- ? parseInt(process.env['DEFAULT_PROJECT_NUMBER'], 10)
197
- : undefined,
198
- autoRebuildIndex:
199
- options.autoRebuildIndex ?? process.env['AUTO_REBUILD_INDEX'] === 'true',
200
- corsOrigins: options.corsOrigin
201
- ? options.corsOrigin.split(',').map((s) => s.trim())
202
- : undefined,
203
- enableHSTS: options.enableHsts ?? process.env['MCP_ENABLE_HSTS'] === 'true',
204
- authToken: options.authToken,
205
- scheduler: {
206
- backupIntervalMinutes: parseInt(options.backupInterval, 10),
207
- keepBackups: parseInt(options.keepBackups, 10),
208
- vacuumIntervalMinutes: parseInt(options.vacuumInterval, 10),
209
- rebuildIndexIntervalMinutes: parseInt(options.rebuildIndexInterval, 10),
210
- },
211
- sandboxMode: options.sandboxMode as 'vm' | 'worker',
212
- // OAuth 2.1
213
- oauthEnabled: options.oauthEnabled ?? process.env['OAUTH_ENABLED'] === 'true',
214
- oauthIssuer: options.oauthIssuer ?? process.env['OAUTH_ISSUER'],
215
- oauthAudience: options.oauthAudience ?? process.env['OAUTH_AUDIENCE'],
216
- oauthJwksUri: options.oauthJwksUri ?? process.env['OAUTH_JWKS_URI'],
217
- oauthClockTolerance: parseInt(options.oauthClockTolerance, 10),
218
- // Briefing configuration
219
- briefingConfig: {
220
- entryCount: parseInt(
221
- process.env['BRIEFING_ENTRY_COUNT'] ?? options.briefingEntries,
222
- 10
223
- ),
224
- includeTeam:
225
- options.briefingIncludeTeam ??
226
- process.env['BRIEFING_INCLUDE_TEAM'] === 'true',
227
- issueCount: parseInt(
228
- process.env['BRIEFING_ISSUE_COUNT'] ?? options.briefingIssues,
229
- 10
230
- ),
231
- prCount: parseInt(
232
- process.env['BRIEFING_PR_COUNT'] ?? options.briefingPrs,
233
- 10
234
- ),
235
- prStatusBreakdown:
236
- options.briefingPrStatus ??
237
- process.env['BRIEFING_PR_STATUS'] === 'true',
238
- rulesFilePath:
239
- options.rulesFile ?? process.env['RULES_FILE_PATH'] ?? undefined,
240
- skillsDirPath:
241
- options.skillsDir ?? process.env['SKILLS_DIR_PATH'] ?? undefined,
242
- workflowCount: parseInt(
243
- process.env['BRIEFING_WORKFLOW_COUNT'] ?? options.briefingWorkflows,
244
- 10
245
- ),
246
- workflowStatusBreakdown:
247
- options.briefingWorkflowStatus ??
248
- process.env['BRIEFING_WORKFLOW_STATUS'] === 'true',
249
- copilotReviews:
250
- options.briefingCopilot ??
251
- process.env['BRIEFING_COPILOT_REVIEWS'] === 'true',
252
- workflowSummary:
253
- options.workflowSummary ??
254
- process.env['MEMORY_JOURNAL_WORKFLOW_SUMMARY'] ??
255
- undefined,
256
- defaultProjectNumber: options.defaultProject
257
- ? parseInt(options.defaultProject, 10)
258
- : process.env['DEFAULT_PROJECT_NUMBER']
259
- ? parseInt(process.env['DEFAULT_PROJECT_NUMBER'], 10)
260
- : undefined,
261
- },
262
- instructionLevel: (options.instructionLevel !== 'standard'
263
- ? options.instructionLevel
264
- : (process.env['INSTRUCTION_LEVEL'] ?? 'standard')) as
265
- | 'essential'
266
- | 'standard'
267
- | 'full',
268
- })
269
- } catch (error) {
270
- logger.error('Failed to start server', {
271
- module: 'CLI',
272
- error: error instanceof Error ? error.message : String(error),
273
- })
274
- process.exit(1)
275
- }
276
- }
277
- )
278
-
279
- program.parse()