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.
- package/README.md +44 -28
- package/dist/{chunk-X4SWFATC.js → chunk-BI4ZNSKA.js} +38 -24
- package/dist/{chunk-HCEWINSB.js → chunk-N6EBIDN7.js} +99 -102
- package/dist/cli.js +2 -2
- package/dist/index.js +2 -2
- package/dist/tools-WPRY5MJ6.js +2 -0
- package/package.json +10 -1
- package/skills/github-commander/SKILL.md +151 -0
- package/skills/github-commander/config/project-config.example.md +125 -0
- package/skills/github-commander/workflows/code-quality-audit.md +80 -0
- package/skills/github-commander/workflows/full-audit.md +134 -0
- package/skills/github-commander/workflows/issue-triage.md +239 -0
- package/skills/github-commander/workflows/milestone-sprint.md +81 -0
- package/skills/github-commander/workflows/perf-audit.md +142 -0
- package/skills/github-commander/workflows/pr-review.md +123 -0
- package/skills/github-commander/workflows/security-audit.md +170 -0
- package/skills/github-commander/workflows/update-deps.md +109 -0
- package/.dockerignore +0 -139
- package/.gitattributes +0 -20
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -95
- package/.github/ISSUE_TEMPLATE/config.yml +0 -11
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -110
- package/.github/ISSUE_TEMPLATE/question.md +0 -78
- package/.github/aw/actions-lock.json +0 -14
- package/.github/copilot-instructions.md +0 -122
- package/.github/dependabot.yml +0 -93
- package/.github/pull_request_template.md +0 -135
- package/.github/workflows/README.md +0 -133
- package/.github/workflows/agentics-maintenance.yml +0 -141
- package/.github/workflows/auto-release.yml +0 -68
- package/.github/workflows/ci-health-monitor.lock.yml +0 -1121
- package/.github/workflows/ci-health-monitor.md +0 -87
- package/.github/workflows/codeql.yml +0 -41
- package/.github/workflows/dependabot-auto-merge.yml +0 -42
- package/.github/workflows/dependency-maintenance.lock.yml +0 -1182
- package/.github/workflows/dependency-maintenance.md +0 -147
- package/.github/workflows/docker-publish.yml +0 -254
- package/.github/workflows/docs-drift-detector.lock.yml +0 -1142
- package/.github/workflows/docs-drift-detector.md +0 -115
- package/.github/workflows/lint-and-test.yml +0 -60
- package/.github/workflows/publish-npm.yml +0 -85
- package/.github/workflows/secrets-scanning.yml +0 -32
- package/.github/workflows/security-update.yml +0 -127
- package/.gitleaks.toml +0 -9
- package/.prettierignore +0 -21
- package/.prettierrc +0 -33
- package/.scout-ignore +0 -12
- package/.trivyignore +0 -21
- package/CHANGELOG.md +0 -1814
- package/CODE_OF_CONDUCT.md +0 -133
- package/CONTRIBUTING.md +0 -263
- package/DOCKER_README.md +0 -331
- package/Dockerfile +0 -128
- package/SECURITY.md +0 -227
- package/UNRELEASED.md +0 -1
- package/dist/tools-T4U5A3X4.js +0 -2
- package/docker-compose.yml +0 -71
- package/docs/README.md +0 -18
- package/docs/agentic-journal-synergy.md +0 -175
- package/docs/copilot-setup.md +0 -72
- package/eslint.config.js +0 -110
- package/mcp-config-example.json +0 -21
- package/playwright.config.ts +0 -35
- package/releases/v2.1.0.md +0 -220
- package/releases/v2.2.0.md +0 -168
- package/releases/v3.0.0.md +0 -237
- package/releases/v3.1.0.md +0 -104
- package/releases/v3.1.1.md +0 -42
- package/releases/v3.1.2.md +0 -40
- package/releases/v3.1.3.md +0 -64
- package/releases/v3.1.4.md +0 -32
- package/releases/v3.1.5.md +0 -44
- package/releases/v4.0.0.md +0 -71
- package/releases/v4.1.0.md +0 -88
- package/releases/v4.2.0.md +0 -90
- package/releases/v4.3.0.md +0 -92
- package/releases/v4.3.1.md +0 -69
- package/releases/v4.4.0.md +0 -120
- package/releases/v4.4.1.md +0 -33
- package/releases/v4.4.2.md +0 -31
- package/releases/v4.5.0.md +0 -116
- package/releases/v5.0.0.md +0 -105
- package/releases/v5.0.1.md +0 -25
- package/releases/v5.1.0.md +0 -83
- package/releases/v5.1.1.md +0 -10
- package/releases/v6.0.0.md +0 -48
- package/releases/v6.0.1.md +0 -36
- package/releases/v6.1.0.md +0 -68
- package/releases/v6.1.1.md +0 -30
- package/releases/v6.1.2.md +0 -23
- package/scripts/generate-server-instructions.ts +0 -306
- package/scripts/server-instructions-function-body.ts +0 -107
- package/scripts/server-instructions-gotchas.ts +0 -45
- package/server.json +0 -42
- package/social-preview.png +0 -0
- package/src/auth/auth-context.ts +0 -78
- package/src/auth/authorization-server-discovery.ts +0 -263
- package/src/auth/errors.ts +0 -215
- package/src/auth/index.ts +0 -58
- package/src/auth/middleware.ts +0 -392
- package/src/auth/oauth-resource-server.ts +0 -170
- package/src/auth/scope-map.ts +0 -46
- package/src/auth/scopes.ts +0 -256
- package/src/auth/token-validator.ts +0 -293
- package/src/auth/transport-agnostic.ts +0 -164
- package/src/auth/types.ts +0 -372
- package/src/cli.ts +0 -279
- package/src/codemode/api-constants.ts +0 -263
- package/src/codemode/api.ts +0 -302
- package/src/codemode/auto-return.ts +0 -65
- package/src/codemode/index.ts +0 -47
- package/src/codemode/sandbox-factory.ts +0 -144
- package/src/codemode/sandbox.ts +0 -220
- package/src/codemode/security.ts +0 -155
- package/src/codemode/types.ts +0 -228
- package/src/codemode/worker-sandbox.ts +0 -277
- package/src/codemode/worker-script.ts +0 -239
- package/src/constants/icons.ts +0 -183
- package/src/constants/server-instructions.md +0 -166
- package/src/constants/server-instructions.ts +0 -514
- package/src/database/adapter-factory.ts +0 -16
- package/src/database/core/entry-columns.ts +0 -10
- package/src/database/core/interfaces.ts +0 -188
- package/src/database/core/schema.ts +0 -152
- package/src/database/sqlite-adapter/backup.ts +0 -167
- package/src/database/sqlite-adapter/entries/crud.ts +0 -233
- package/src/database/sqlite-adapter/entries/importance.ts +0 -76
- package/src/database/sqlite-adapter/entries/index.ts +0 -142
- package/src/database/sqlite-adapter/entries/search.ts +0 -294
- package/src/database/sqlite-adapter/entries/shared.ts +0 -102
- package/src/database/sqlite-adapter/entries/statistics.ts +0 -162
- package/src/database/sqlite-adapter/index.ts +0 -265
- package/src/database/sqlite-adapter/native-connection.ts +0 -301
- package/src/database/sqlite-adapter/relationships.ts +0 -70
- package/src/database/sqlite-adapter/tags.ts +0 -182
- package/src/filtering/tool-filter.ts +0 -312
- package/src/github/github-integration/client.ts +0 -114
- package/src/github/github-integration/index.ts +0 -297
- package/src/github/github-integration/insights.ts +0 -155
- package/src/github/github-integration/issues.ts +0 -213
- package/src/github/github-integration/milestones.ts +0 -262
- package/src/github/github-integration/projects.ts +0 -414
- package/src/github/github-integration/pull-requests.ts +0 -235
- package/src/github/github-integration/repository.ts +0 -110
- package/src/github/github-integration/types.ts +0 -43
- package/src/handlers/prompts/github.ts +0 -210
- package/src/handlers/prompts/index.ts +0 -97
- package/src/handlers/prompts/workflow.ts +0 -361
- package/src/handlers/resources/core/briefing/context-section.ts +0 -182
- package/src/handlers/resources/core/briefing/github-section.ts +0 -354
- package/src/handlers/resources/core/briefing/index.ts +0 -106
- package/src/handlers/resources/core/briefing/user-message.ts +0 -114
- package/src/handlers/resources/core/health.ts +0 -75
- package/src/handlers/resources/core/index.ts +0 -31
- package/src/handlers/resources/core/instructions.ts +0 -45
- package/src/handlers/resources/core/utilities.ts +0 -310
- package/src/handlers/resources/github.ts +0 -340
- package/src/handlers/resources/graph.ts +0 -218
- package/src/handlers/resources/help.ts +0 -410
- package/src/handlers/resources/index.ts +0 -143
- package/src/handlers/resources/shared.ts +0 -219
- package/src/handlers/resources/team.ts +0 -134
- package/src/handlers/resources/templates.ts +0 -334
- package/src/handlers/tools/admin.ts +0 -351
- package/src/handlers/tools/analytics.ts +0 -346
- package/src/handlers/tools/backup.ts +0 -272
- package/src/handlers/tools/codemode.ts +0 -188
- package/src/handlers/tools/core.ts +0 -359
- package/src/handlers/tools/error-fields-mixin.ts +0 -10
- package/src/handlers/tools/export.ts +0 -150
- package/src/handlers/tools/github/copilot-tools.ts +0 -72
- package/src/handlers/tools/github/helpers.ts +0 -125
- package/src/handlers/tools/github/insights-tools.ts +0 -112
- package/src/handlers/tools/github/issue-tools.ts +0 -442
- package/src/handlers/tools/github/kanban-tools.ts +0 -153
- package/src/handlers/tools/github/milestone-tools.ts +0 -371
- package/src/handlers/tools/github/mutation-tools.ts +0 -17
- package/src/handlers/tools/github/read-tools.ts +0 -302
- package/src/handlers/tools/github/schemas.ts +0 -435
- package/src/handlers/tools/github.ts +0 -39
- package/src/handlers/tools/index.ts +0 -255
- package/src/handlers/tools/relationships.ts +0 -390
- package/src/handlers/tools/schemas.ts +0 -165
- package/src/handlers/tools/search.ts +0 -448
- package/src/handlers/tools/team/admin-tools.ts +0 -164
- package/src/handlers/tools/team/analytics-tools.ts +0 -233
- package/src/handlers/tools/team/backup-tools.ts +0 -83
- package/src/handlers/tools/team/core-tools.ts +0 -197
- package/src/handlers/tools/team/export-tools.ts +0 -130
- package/src/handlers/tools/team/helpers.ts +0 -66
- package/src/handlers/tools/team/index.ts +0 -45
- package/src/handlers/tools/team/relationship-tools.ts +0 -219
- package/src/handlers/tools/team/schemas.ts +0 -558
- package/src/handlers/tools/team/search-tools.ts +0 -145
- package/src/handlers/tools/team/vector-tools.ts +0 -261
- package/src/index.ts +0 -57
- package/src/server/mcp-server.ts +0 -446
- package/src/server/registration.ts +0 -141
- package/src/server/scheduler.ts +0 -283
- package/src/transports/http/handlers.ts +0 -78
- package/src/transports/http/index.ts +0 -8
- package/src/transports/http/security.ts +0 -147
- package/src/transports/http/server/index.ts +0 -397
- package/src/transports/http/server/legacy-sse.ts +0 -87
- package/src/transports/http/server/stateful.ts +0 -222
- package/src/transports/http/server/stateless.ts +0 -42
- package/src/transports/http/types.ts +0 -132
- package/src/types/entities.ts +0 -145
- package/src/types/error-types.ts +0 -92
- package/src/types/errors.ts +0 -200
- package/src/types/filtering.ts +0 -55
- package/src/types/github.ts +0 -216
- package/src/types/index.ts +0 -348
- package/src/utils/error-helpers.ts +0 -78
- package/src/utils/errors/error-response-fields.ts +0 -29
- package/src/utils/errors/suggestions.ts +0 -94
- package/src/utils/github-helpers.ts +0 -33
- package/src/utils/logger.ts +0 -107
- package/src/utils/mcp-logger.ts +0 -155
- package/src/utils/progress-utils.ts +0 -100
- package/src/utils/query-helpers.ts +0 -78
- package/src/utils/resource-annotations.ts +0 -75
- package/src/utils/security-utils.ts +0 -198
- package/src/utils/vector-index-helpers.ts +0 -24
- package/src/vector/vector-search-manager.ts +0 -409
- package/src/version.ts +0 -15
- package/test-server/README.md +0 -193
- package/test-server/code-map.md +0 -399
- package/test-server/test-agent-experience.md +0 -213
- package/test-server/test-filter-instructions.mjs +0 -295
- package/test-server/test-instruction-levels.mjs +0 -102
- package/test-server/test-preflight.md +0 -55
- package/test-server/test-prompts.mjs +0 -185
- package/test-server/test-scheduler.mjs +0 -174
- package/test-server/test-tool-annotations.mjs +0 -115
- package/test-server/test-tools-codemode.md +0 -632
- package/test-server/test-tools-codemode2.md +0 -1218
- package/test-server/test-tools-team.md +0 -215
- package/test-server/test-tools.md +0 -429
- package/test-server/test-tools2.md +0 -361
- package/test-server/test-tools3.md +0 -396
- package/test-server/tool-reference.md +0 -231
- package/tests/README.md +0 -54
- package/tests/auth/auth-context.test.ts +0 -162
- package/tests/auth/authorization-server-discovery.test.ts +0 -265
- package/tests/auth/errors.test.ts +0 -170
- package/tests/auth/middleware.test.ts +0 -585
- package/tests/auth/oauth-resource-server.test.ts +0 -173
- package/tests/auth/scope-map.test.ts +0 -66
- package/tests/auth/scopes.test.ts +0 -347
- package/tests/auth/token-validator.test.ts +0 -271
- package/tests/codemode/api.test.ts +0 -396
- package/tests/codemode/auto-return.test.ts +0 -167
- package/tests/codemode/codemode-tool-handlers.test.ts +0 -197
- package/tests/codemode/sandbox-factory.test.ts +0 -152
- package/tests/codemode/sandbox.test.ts +0 -190
- package/tests/codemode/security.test.ts +0 -242
- package/tests/codemode/worker-sandbox.test.ts +0 -106
- package/tests/constants/icons.test.ts +0 -101
- package/tests/constants/server-instructions.test.ts +0 -514
- package/tests/database/crud-workflow-branches.test.ts +0 -418
- package/tests/database/database-branches.test.ts +0 -132
- package/tests/database/entries-auth-branches.test.ts +0 -390
- package/tests/database/native-connection.test.ts +0 -249
- package/tests/database/shared-helpers.test.ts +0 -103
- package/tests/database/sqlite-adapter.bench.ts +0 -63
- package/tests/database/sqlite-adapter.test.ts +0 -690
- package/tests/database/tags.test.ts +0 -134
- package/tests/e2e/README.md +0 -39
- package/tests/e2e/auth.spec.ts +0 -106
- package/tests/e2e/codemode-abuse.spec.ts +0 -75
- package/tests/e2e/health.spec.ts +0 -63
- package/tests/e2e/helpers.ts +0 -139
- package/tests/e2e/oauth-discovery.spec.ts +0 -102
- package/tests/e2e/oauth-scopes.spec.ts +0 -222
- package/tests/e2e/payloads-admin.spec.ts +0 -76
- package/tests/e2e/payloads-analytics.spec.ts +0 -37
- package/tests/e2e/payloads-backup-restore.spec.ts +0 -102
- package/tests/e2e/payloads-backup.spec.ts +0 -44
- package/tests/e2e/payloads-codemode-api.spec.ts +0 -131
- package/tests/e2e/payloads-codemode-readonly.spec.ts +0 -116
- package/tests/e2e/payloads-codemode.spec.ts +0 -116
- package/tests/e2e/payloads-core.spec.ts +0 -82
- package/tests/e2e/payloads-error-contracts.spec.ts +0 -159
- package/tests/e2e/payloads-export.spec.ts +0 -46
- package/tests/e2e/payloads-github-degradation.spec.ts +0 -73
- package/tests/e2e/payloads-github.spec.ts +0 -176
- package/tests/e2e/payloads-relationships.spec.ts +0 -56
- package/tests/e2e/payloads-search.spec.ts +0 -64
- package/tests/e2e/payloads-team-happy.spec.ts +0 -231
- package/tests/e2e/payloads-team.spec.ts +0 -174
- package/tests/e2e/prompts-expanded.spec.ts +0 -137
- package/tests/e2e/prompts.spec.ts +0 -62
- package/tests/e2e/protocols.spec.ts +0 -134
- package/tests/e2e/rate-limiting.spec.ts +0 -291
- package/tests/e2e/resources-briefing-env.spec.ts +0 -106
- package/tests/e2e/resources-complete.spec.ts +0 -180
- package/tests/e2e/resources-expanded.spec.ts +0 -83
- package/tests/e2e/resources-instructions-levels.spec.ts +0 -145
- package/tests/e2e/resources-templates.spec.ts +0 -123
- package/tests/e2e/resources.spec.ts +0 -103
- package/tests/e2e/scheduler.spec.ts +0 -79
- package/tests/e2e/security.spec.ts +0 -112
- package/tests/e2e/session-advanced.spec.ts +0 -152
- package/tests/e2e/sessions.spec.ts +0 -95
- package/tests/e2e/stateless.spec.ts +0 -79
- package/tests/e2e/streaming.spec.ts +0 -176
- package/tests/e2e/tool-filtering-presets.spec.ts +0 -192
- package/tests/e2e/tool-filtering.spec.ts +0 -77
- package/tests/e2e/tools.spec.ts +0 -111
- package/tests/filtering/tool-filter.test.ts +0 -314
- package/tests/github/client-issues-errors.test.ts +0 -433
- package/tests/github/github-integration-branches.test.ts +0 -490
- package/tests/github/github-integration.test.ts +0 -1015
- package/tests/github/github-managers-branches.test.ts +0 -907
- package/tests/github/pull-requests.test.ts +0 -334
- package/tests/handlers/analytics-branches.test.ts +0 -222
- package/tests/handlers/backup-branches.test.ts +0 -270
- package/tests/handlers/briefing-context-section.test.ts +0 -388
- package/tests/handlers/briefing-github-section.test.ts +0 -392
- package/tests/handlers/briefing-user-message.test.ts +0 -405
- package/tests/handlers/codemode-tools.test.ts +0 -85
- package/tests/handlers/copilot-tools.test.ts +0 -126
- package/tests/handlers/error-path-coverage.test.ts +0 -324
- package/tests/handlers/export-tools.test.ts +0 -203
- package/tests/handlers/github-resource-handlers.test.ts +0 -929
- package/tests/handlers/github-tool-handlers.test.ts +0 -1452
- package/tests/handlers/handler-error-branches.test.ts +0 -346
- package/tests/handlers/help-resource.test.ts +0 -92
- package/tests/handlers/prompt-handler-coverage.test.ts +0 -108
- package/tests/handlers/prompt-handlers.test.ts +0 -131
- package/tests/handlers/resource-handler-coverage.test.ts +0 -281
- package/tests/handlers/resource-handlers.test.ts +0 -357
- package/tests/handlers/resource-prompt-branches.test.ts +0 -495
- package/tests/handlers/search-tool-handlers.test.ts +0 -379
- package/tests/handlers/targeted-gap-closure.test.ts +0 -387
- package/tests/handlers/team-admin.test.ts +0 -291
- package/tests/handlers/team-analytics.test.ts +0 -220
- package/tests/handlers/team-core.test.ts +0 -148
- package/tests/handlers/team-data.test.ts +0 -198
- package/tests/handlers/team-relationships.test.ts +0 -271
- package/tests/handlers/team-resource-handlers.test.ts +0 -161
- package/tests/handlers/team-search.test.ts +0 -134
- package/tests/handlers/team-tool-handlers.test.ts +0 -301
- package/tests/handlers/team-vector.test.ts +0 -213
- package/tests/handlers/template-github-branches.test.ts +0 -676
- package/tests/handlers/tool-annotations.test.ts +0 -90
- package/tests/handlers/tool-handler-coverage.test.ts +0 -514
- package/tests/handlers/tool-handlers.test.ts +0 -510
- package/tests/handlers/tool-output-schemas.test.ts +0 -116
- package/tests/handlers/vector-tool-handlers.test.ts +0 -238
- package/tests/security/sql-injection.test.ts +0 -284
- package/tests/server/mcp-server.bench.ts +0 -55
- package/tests/server/mcp-server.test.ts +0 -1326
- package/tests/server/scheduler.test.ts +0 -400
- package/tests/transports/http-legacy-sse.test.ts +0 -275
- package/tests/transports/http-security.test.ts +0 -322
- package/tests/transports/http-stateful.test.ts +0 -487
- package/tests/transports/http-transport-server.test.ts +0 -301
- package/tests/transports/http-transport.test.ts +0 -771
- package/tests/utils/github-helpers.test.ts +0 -58
- package/tests/utils/logger.test.ts +0 -180
- package/tests/utils/mcp-logger.test.ts +0 -211
- package/tests/utils/progress-utils.test.ts +0 -156
- package/tests/utils/query-helpers.test.ts +0 -80
- package/tests/utils/security-utils.test.ts +0 -82
- package/tests/vector/vector-search-branches.test.ts +0 -111
- package/tests/vector/vector-search-manager.test.ts +0 -375
- package/tests/vector/vector-search.bench.ts +0 -48
- package/tsconfig.json +0 -42
- package/tsup.config.ts +0 -19
- 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()
|