@padua/cli 2.0.22 → 2.0.24
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 +1 -1
- package/dist/commands/doctor/checks.d.ts +2 -2
- package/dist/commands/doctor/checks.d.ts.map +1 -1
- package/dist/commands/doctor/checks.js +31 -69
- package/dist/commands/doctor/checks.js.map +1 -1
- package/dist/commands/doctor/index.d.ts +1 -1
- package/dist/commands/doctor/index.d.ts.map +1 -1
- package/dist/commands/doctor/index.js +60 -65
- package/dist/commands/doctor/index.js.map +1 -1
- package/dist/commands/doctor/mcp-checks.d.ts +2 -2
- package/dist/commands/doctor/mcp-checks.d.ts.map +1 -1
- package/dist/commands/doctor/mcp-checks.js +13 -59
- package/dist/commands/doctor/mcp-checks.js.map +1 -1
- package/dist/commands/doctor/mcp-service-checks.d.ts +1 -1
- package/dist/commands/doctor/mcp-service-checks.d.ts.map +1 -1
- package/dist/commands/doctor/mcp-service-checks.js +6 -13
- package/dist/commands/doctor/mcp-service-checks.js.map +1 -1
- package/dist/commands/doctor/suggestions.js +3 -8
- package/dist/commands/doctor/suggestions.js.map +1 -1
- package/dist/commands/doctor/types.js +2 -5
- package/dist/commands/doctor/types.js.map +1 -1
- package/dist/commands/exec/aws.d.ts +1 -1
- package/dist/commands/exec/aws.d.ts.map +1 -1
- package/dist/commands/exec/aws.js +31 -37
- package/dist/commands/exec/aws.js.map +1 -1
- package/dist/commands/exec/index.d.ts +1 -1
- package/dist/commands/exec/index.d.ts.map +1 -1
- package/dist/commands/exec/index.js +41 -46
- package/dist/commands/exec/index.js.map +1 -1
- package/dist/commands/exec/types.js +1 -4
- package/dist/commands/exec/types.js.map +1 -1
- package/dist/commands/init/aws-config.js +7 -44
- package/dist/commands/init/aws-config.js.map +1 -1
- package/dist/commands/init/aws-profile.d.ts +2 -2
- package/dist/commands/init/aws-profile.d.ts.map +1 -1
- package/dist/commands/init/aws-profile.js +11 -54
- package/dist/commands/init/aws-profile.js.map +1 -1
- package/dist/commands/init/index.d.ts +2 -2
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +87 -97
- package/dist/commands/init/index.js.map +1 -1
- package/dist/commands/init/init.d.ts +1 -1
- package/dist/commands/init/init.d.ts.map +1 -1
- package/dist/commands/init/init.js +20 -65
- package/dist/commands/init/init.js.map +1 -1
- package/dist/commands/init/prerequisites.js +7 -14
- package/dist/commands/init/prerequisites.js.map +1 -1
- package/dist/commands/init/prompts.d.ts +1 -1
- package/dist/commands/init/prompts.d.ts.map +1 -1
- package/dist/commands/init/prompts.js +28 -55
- package/dist/commands/init/prompts.js.map +1 -1
- package/dist/commands/init/sso-discovery.js +22 -68
- package/dist/commands/init/sso-discovery.js.map +1 -1
- package/dist/commands/login/codeartifact.d.ts +1 -1
- package/dist/commands/login/codeartifact.d.ts.map +1 -1
- package/dist/commands/login/codeartifact.js +16 -19
- package/dist/commands/login/codeartifact.js.map +1 -1
- package/dist/commands/login/config.d.ts +1 -1
- package/dist/commands/login/config.d.ts.map +1 -1
- package/dist/commands/login/config.js +5 -42
- package/dist/commands/login/config.js.map +1 -1
- package/dist/commands/login/ecr.d.ts +1 -1
- package/dist/commands/login/ecr.d.ts.map +1 -1
- package/dist/commands/login/ecr.js +14 -17
- package/dist/commands/login/ecr.js.map +1 -1
- package/dist/commands/login/index.js +21 -27
- package/dist/commands/login/index.js.map +1 -1
- package/dist/commands/login/mcp-steps.d.ts +3 -3
- package/dist/commands/login/mcp-steps.d.ts.map +1 -1
- package/dist/commands/login/mcp-steps.js +30 -34
- package/dist/commands/login/mcp-steps.js.map +1 -1
- package/dist/commands/login/npmrc.d.ts +1 -1
- package/dist/commands/login/npmrc.d.ts.map +1 -1
- package/dist/commands/login/npmrc.js +12 -56
- package/dist/commands/login/npmrc.js.map +1 -1
- package/dist/commands/login/orchestrator.d.ts +1 -1
- package/dist/commands/login/orchestrator.d.ts.map +1 -1
- package/dist/commands/login/orchestrator.js +55 -62
- package/dist/commands/login/orchestrator.js.map +1 -1
- package/dist/commands/login/sso.d.ts +1 -1
- package/dist/commands/login/sso.d.ts.map +1 -1
- package/dist/commands/login/sso.js +17 -56
- package/dist/commands/login/sso.js.map +1 -1
- package/dist/commands/login/types.d.ts +1 -1
- package/dist/commands/login/types.d.ts.map +1 -1
- package/dist/commands/login/types.js +9 -20
- package/dist/commands/login/types.js.map +1 -1
- package/dist/commands/login/utils.js +7 -14
- package/dist/commands/login/utils.js.map +1 -1
- package/dist/commands/login/version-check.d.ts.map +1 -1
- package/dist/commands/login/version-check.js +15 -52
- package/dist/commands/login/version-check.js.map +1 -1
- package/dist/commands/profile/index.js +22 -32
- package/dist/commands/profile/index.js.map +1 -1
- package/dist/commands/status/aws-checks.d.ts +2 -2
- package/dist/commands/status/aws-checks.d.ts.map +1 -1
- package/dist/commands/status/aws-checks.js +5 -42
- package/dist/commands/status/aws-checks.js.map +1 -1
- package/dist/commands/status/checks.d.ts +3 -3
- package/dist/commands/status/checks.d.ts.map +1 -1
- package/dist/commands/status/checks.js +14 -59
- package/dist/commands/status/checks.js.map +1 -1
- package/dist/commands/status/index.d.ts +1 -1
- package/dist/commands/status/index.d.ts.map +1 -1
- package/dist/commands/status/index.js +25 -31
- package/dist/commands/status/index.js.map +1 -1
- package/dist/commands/status/mcp-checks.d.ts +2 -2
- package/dist/commands/status/mcp-checks.d.ts.map +1 -1
- package/dist/commands/status/mcp-checks.js +20 -61
- package/dist/commands/status/mcp-checks.js.map +1 -1
- package/dist/commands/status/types.js +1 -2
- package/dist/commands/status/types.js.map +1 -1
- package/dist/commands/tunnel/aws.js +21 -28
- package/dist/commands/tunnel/aws.js.map +1 -1
- package/dist/commands/tunnel/index.d.ts +1 -1
- package/dist/commands/tunnel/index.d.ts.map +1 -1
- package/dist/commands/tunnel/index.js +14 -19
- package/dist/commands/tunnel/index.js.map +1 -1
- package/dist/commands/tunnel/port.js +4 -42
- package/dist/commands/tunnel/port.js.map +1 -1
- package/dist/commands/tunnel/rds.d.ts +1 -1
- package/dist/commands/tunnel/rds.d.ts.map +1 -1
- package/dist/commands/tunnel/rds.js +42 -48
- package/dist/commands/tunnel/rds.js.map +1 -1
- package/dist/commands/tunnel/types.js +5 -10
- package/dist/commands/tunnel/types.js.map +1 -1
- package/dist/index.js +22 -21
- package/dist/index.js.map +1 -1
- package/dist/mcp/config/index.d.ts +3 -3
- package/dist/mcp/config/index.d.ts.map +1 -1
- package/dist/mcp/config/index.js +2 -13
- package/dist/mcp/config/index.js.map +1 -1
- package/dist/mcp/config/loaders.d.ts +1 -1
- package/dist/mcp/config/loaders.d.ts.map +1 -1
- package/dist/mcp/config/loaders.js +24 -30
- package/dist/mcp/config/loaders.js.map +1 -1
- package/dist/mcp/config/types.js +22 -25
- package/dist/mcp/config/types.js.map +1 -1
- package/dist/mcp/daemon/entry-logic.d.ts.map +1 -1
- package/dist/mcp/daemon/entry-logic.js +21 -22
- package/dist/mcp/daemon/entry-logic.js.map +1 -1
- package/dist/mcp/daemon/entry.js +36 -40
- package/dist/mcp/daemon/entry.js.map +1 -1
- package/dist/mcp/daemon/fork.d.ts +1 -1
- package/dist/mcp/daemon/fork.d.ts.map +1 -1
- package/dist/mcp/daemon/fork.js +44 -57
- package/dist/mcp/daemon/fork.js.map +1 -1
- package/dist/mcp/daemon/health.d.ts +1 -1
- package/dist/mcp/daemon/health.d.ts.map +1 -1
- package/dist/mcp/daemon/health.js +3 -6
- package/dist/mcp/daemon/health.js.map +1 -1
- package/dist/mcp/daemon/index.d.ts +5 -5
- package/dist/mcp/daemon/index.d.ts.map +1 -1
- package/dist/mcp/daemon/index.js +4 -21
- package/dist/mcp/daemon/index.js.map +1 -1
- package/dist/mcp/daemon/types.js +10 -13
- package/dist/mcp/daemon/types.js.map +1 -1
- package/dist/mcp/errors/index.d.ts +2 -2
- package/dist/mcp/errors/index.d.ts.map +1 -1
- package/dist/mcp/errors/index.js +1 -12
- package/dist/mcp/errors/index.js.map +1 -1
- package/dist/mcp/errors/types.js +8 -18
- package/dist/mcp/errors/types.js.map +1 -1
- package/dist/mcp/providers/atlassian/auth.d.ts +2 -2
- package/dist/mcp/providers/atlassian/auth.d.ts.map +1 -1
- package/dist/mcp/providers/atlassian/auth.js +8 -12
- package/dist/mcp/providers/atlassian/auth.js.map +1 -1
- package/dist/mcp/providers/atlassian/client.d.ts +1 -1
- package/dist/mcp/providers/atlassian/client.d.ts.map +1 -1
- package/dist/mcp/providers/atlassian/client.js +5 -8
- package/dist/mcp/providers/atlassian/client.js.map +1 -1
- package/dist/mcp/providers/atlassian/index.d.ts +5 -5
- package/dist/mcp/providers/atlassian/index.d.ts.map +1 -1
- package/dist/mcp/providers/atlassian/index.js +3 -10
- package/dist/mcp/providers/atlassian/index.js.map +1 -1
- package/dist/mcp/providers/atlassian/markdown-to-adf/index.d.ts +2 -2
- package/dist/mcp/providers/atlassian/markdown-to-adf/index.d.ts.map +1 -1
- package/dist/mcp/providers/atlassian/markdown-to-adf/index.js +7 -10
- package/dist/mcp/providers/atlassian/markdown-to-adf/index.js.map +1 -1
- package/dist/mcp/providers/atlassian/markdown-to-adf/nodes.js +19 -40
- package/dist/mcp/providers/atlassian/markdown-to-adf/nodes.js.map +1 -1
- package/dist/mcp/providers/atlassian/markdown-to-adf/parser.d.ts +1 -1
- package/dist/mcp/providers/atlassian/markdown-to-adf/parser.d.ts.map +1 -1
- package/dist/mcp/providers/atlassian/markdown-to-adf/parser.js +16 -40
- package/dist/mcp/providers/atlassian/markdown-to-adf/parser.js.map +1 -1
- package/dist/mcp/providers/atlassian/provider.d.ts +3 -3
- package/dist/mcp/providers/atlassian/provider.d.ts.map +1 -1
- package/dist/mcp/providers/atlassian/provider.js +14 -18
- package/dist/mcp/providers/atlassian/provider.js.map +1 -1
- package/dist/mcp/providers/atlassian/resources.d.ts +2 -2
- package/dist/mcp/providers/atlassian/resources.d.ts.map +1 -1
- package/dist/mcp/providers/atlassian/resources.js +1 -4
- package/dist/mcp/providers/atlassian/resources.js.map +1 -1
- package/dist/mcp/providers/atlassian/tools/confluence.d.ts +2 -2
- package/dist/mcp/providers/atlassian/tools/confluence.d.ts.map +1 -1
- package/dist/mcp/providers/atlassian/tools/confluence.js +39 -42
- package/dist/mcp/providers/atlassian/tools/confluence.js.map +1 -1
- package/dist/mcp/providers/atlassian/tools/jira.d.ts +2 -2
- package/dist/mcp/providers/atlassian/tools/jira.d.ts.map +1 -1
- package/dist/mcp/providers/atlassian/tools/jira.js +75 -77
- package/dist/mcp/providers/atlassian/tools/jira.js.map +1 -1
- package/dist/mcp/providers/gitlab/auth.d.ts +2 -2
- package/dist/mcp/providers/gitlab/auth.d.ts.map +1 -1
- package/dist/mcp/providers/gitlab/auth.js +1 -4
- package/dist/mcp/providers/gitlab/auth.js.map +1 -1
- package/dist/mcp/providers/gitlab/client.d.ts +1 -1
- package/dist/mcp/providers/gitlab/client.d.ts.map +1 -1
- package/dist/mcp/providers/gitlab/client.js +1 -4
- package/dist/mcp/providers/gitlab/client.js.map +1 -1
- package/dist/mcp/providers/gitlab/index.d.ts +4 -4
- package/dist/mcp/providers/gitlab/index.d.ts.map +1 -1
- package/dist/mcp/providers/gitlab/index.js +3 -9
- package/dist/mcp/providers/gitlab/index.js.map +1 -1
- package/dist/mcp/providers/gitlab/provider.d.ts +3 -3
- package/dist/mcp/providers/gitlab/provider.d.ts.map +1 -1
- package/dist/mcp/providers/gitlab/provider.js +15 -19
- package/dist/mcp/providers/gitlab/provider.js.map +1 -1
- package/dist/mcp/providers/gitlab/resources.d.ts +2 -2
- package/dist/mcp/providers/gitlab/resources.d.ts.map +1 -1
- package/dist/mcp/providers/gitlab/resources.js +1 -4
- package/dist/mcp/providers/gitlab/resources.js.map +1 -1
- package/dist/mcp/providers/gitlab/tools/issues.d.ts +2 -2
- package/dist/mcp/providers/gitlab/tools/issues.d.ts.map +1 -1
- package/dist/mcp/providers/gitlab/tools/issues.js +32 -35
- package/dist/mcp/providers/gitlab/tools/issues.js.map +1 -1
- package/dist/mcp/providers/gitlab/tools/merge-requests.d.ts +2 -2
- package/dist/mcp/providers/gitlab/tools/merge-requests.d.ts.map +1 -1
- package/dist/mcp/providers/gitlab/tools/merge-requests.js +48 -51
- package/dist/mcp/providers/gitlab/tools/merge-requests.js.map +1 -1
- package/dist/mcp/providers/gitlab/tools/pipelines.d.ts +2 -2
- package/dist/mcp/providers/gitlab/tools/pipelines.d.ts.map +1 -1
- package/dist/mcp/providers/gitlab/tools/pipelines.js +20 -23
- package/dist/mcp/providers/gitlab/tools/pipelines.js.map +1 -1
- package/dist/mcp/providers/gitlab/tools/repository.d.ts +2 -2
- package/dist/mcp/providers/gitlab/tools/repository.d.ts.map +1 -1
- package/dist/mcp/providers/gitlab/tools/repository.js +55 -58
- package/dist/mcp/providers/gitlab/tools/repository.js.map +1 -1
- package/dist/mcp/providers/index.d.ts +3 -3
- package/dist/mcp/providers/index.d.ts.map +1 -1
- package/dist/mcp/providers/index.js +1 -5
- package/dist/mcp/providers/index.js.map +1 -1
- package/dist/mcp/providers/registry.d.ts +1 -1
- package/dist/mcp/providers/registry.d.ts.map +1 -1
- package/dist/mcp/providers/registry.js +1 -5
- package/dist/mcp/providers/registry.js.map +1 -1
- package/dist/mcp/providers/tool-helpers.js +2 -6
- package/dist/mcp/providers/tool-helpers.js.map +1 -1
- package/dist/mcp/providers/types.js +1 -2
- package/dist/mcp/providers/types.js.map +1 -1
- package/dist/mcp/server/adapter.d.ts +2 -2
- package/dist/mcp/server/adapter.d.ts.map +1 -1
- package/dist/mcp/server/adapter.js +3 -7
- package/dist/mcp/server/adapter.js.map +1 -1
- package/dist/mcp/server/auth.js +5 -8
- package/dist/mcp/server/auth.js.map +1 -1
- package/dist/mcp/server/health.js +3 -6
- package/dist/mcp/server/health.js.map +1 -1
- package/dist/mcp/server/index.d.ts +10 -10
- package/dist/mcp/server/index.d.ts.map +1 -1
- package/dist/mcp/server/index.js +6 -26
- package/dist/mcp/server/index.js.map +1 -1
- package/dist/mcp/server/logging.js +13 -19
- package/dist/mcp/server/logging.js.map +1 -1
- package/dist/mcp/server/ratelimit.d.ts +1 -1
- package/dist/mcp/server/ratelimit.d.ts.map +1 -1
- package/dist/mcp/server/ratelimit.js +3 -6
- package/dist/mcp/server/ratelimit.js.map +1 -1
- package/dist/mcp/server/routes.js +1 -4
- package/dist/mcp/server/routes.js.map +1 -1
- package/dist/mcp/server/server.js +20 -23
- package/dist/mcp/server/server.js.map +1 -1
- package/dist/mcp/server/validation.js +13 -16
- package/dist/mcp/server/validation.js.map +1 -1
- package/dist/mcp/store/encrypt.d.ts +1 -1
- package/dist/mcp/store/encrypt.d.ts.map +1 -1
- package/dist/mcp/store/encrypt.js +9 -12
- package/dist/mcp/store/encrypt.js.map +1 -1
- package/dist/mcp/store/index.d.ts +3 -3
- package/dist/mcp/store/index.d.ts.map +1 -1
- package/dist/mcp/store/index.js +2 -7
- package/dist/mcp/store/index.js.map +1 -1
- package/dist/mcp/store/key.js +14 -18
- package/dist/mcp/store/key.js.map +1 -1
- package/dist/mcp/store/migrate.d.ts +1 -1
- package/dist/mcp/store/migrate.d.ts.map +1 -1
- package/dist/mcp/store/migrate.js +24 -35
- package/dist/mcp/store/migrate.js.map +1 -1
- package/dist/mcp/store/null-token-store.d.ts +1 -1
- package/dist/mcp/store/null-token-store.d.ts.map +1 -1
- package/dist/mcp/store/null-token-store.js +1 -5
- package/dist/mcp/store/null-token-store.js.map +1 -1
- package/dist/mcp/store/sqlite.d.ts +1 -1
- package/dist/mcp/store/sqlite.d.ts.map +1 -1
- package/dist/mcp/store/sqlite.js +18 -25
- package/dist/mcp/store/sqlite.js.map +1 -1
- package/dist/mcp/store/types.js +1 -2
- package/dist/mcp/store/types.js.map +1 -1
- package/dist/mcp/token/http-client.d.ts +1 -1
- package/dist/mcp/token/http-client.d.ts.map +1 -1
- package/dist/mcp/token/http-client.js +13 -16
- package/dist/mcp/token/http-client.js.map +1 -1
- package/dist/mcp/token/index.d.ts +4 -4
- package/dist/mcp/token/index.d.ts.map +1 -1
- package/dist/mcp/token/index.js +3 -14
- package/dist/mcp/token/index.js.map +1 -1
- package/dist/mcp/token/manager.d.ts +2 -2
- package/dist/mcp/token/manager.d.ts.map +1 -1
- package/dist/mcp/token/manager.js +16 -22
- package/dist/mcp/token/manager.js.map +1 -1
- package/dist/mcp/token/null-token-manager.d.ts +1 -1
- package/dist/mcp/token/null-token-manager.d.ts.map +1 -1
- package/dist/mcp/token/null-token-manager.js +1 -5
- package/dist/mcp/token/null-token-manager.js.map +1 -1
- package/dist/mcp/token/oauth.d.ts +1 -1
- package/dist/mcp/token/oauth.d.ts.map +1 -1
- package/dist/mcp/token/oauth.js +28 -36
- package/dist/mcp/token/oauth.js.map +1 -1
- package/dist/mcp/token/types.js +1 -2
- package/dist/mcp/token/types.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,27 +1,21 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* MCP config loader functions.
|
|
4
3
|
*
|
|
5
4
|
* Reads padua.config.json (mcp key) and mcp-providers.json,
|
|
6
5
|
* validates with Zod schemas from types.ts, and returns typed defaults.
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const fs_1 = require("fs");
|
|
15
|
-
const os_1 = require("os");
|
|
16
|
-
const path_1 = require("path");
|
|
17
|
-
const types_1 = require("./types");
|
|
18
|
-
const errors_1 = require("../errors");
|
|
7
|
+
import { spawnSync } from 'child_process';
|
|
8
|
+
import { readFileSync, existsSync, chmodSync } from 'fs';
|
|
9
|
+
import { homedir } from 'os';
|
|
10
|
+
import { join } from 'path';
|
|
11
|
+
import { McpLocalConfigSchema, McpProvidersConfigSchema, } from './types.js';
|
|
12
|
+
import { ValidationError, ErrorCodes } from '../errors/index.js';
|
|
19
13
|
// ---------------------------------------------------------------------------
|
|
20
14
|
// Path constants
|
|
21
15
|
// ---------------------------------------------------------------------------
|
|
22
|
-
const PADUA_DIR =
|
|
23
|
-
const LOCAL_CONFIG_PATH =
|
|
24
|
-
const PROVIDERS_CONFIG_PATH =
|
|
16
|
+
const PADUA_DIR = join(homedir(), '.padua');
|
|
17
|
+
const LOCAL_CONFIG_PATH = join(PADUA_DIR, 'padua.config.json');
|
|
18
|
+
const PROVIDERS_CONFIG_PATH = join(PADUA_DIR, 'mcp-providers.json');
|
|
25
19
|
const S3_PROVIDERS_URI = 's3://paduafg-developers/mcp-config.json';
|
|
26
20
|
// ---------------------------------------------------------------------------
|
|
27
21
|
// Defaults
|
|
@@ -30,11 +24,11 @@ const S3_PROVIDERS_URI = 's3://paduafg-developers/mcp-config.json';
|
|
|
30
24
|
* Returns a fresh McpLocalConfig object containing all default values.
|
|
31
25
|
* All fields are populated so callers can rely on the result being complete.
|
|
32
26
|
*/
|
|
33
|
-
function getDefaultMcpConfig() {
|
|
27
|
+
export function getDefaultMcpConfig() {
|
|
34
28
|
return {
|
|
35
29
|
port: 8919,
|
|
36
30
|
store: {
|
|
37
|
-
path:
|
|
31
|
+
path: join(PADUA_DIR, 'tokens.db'),
|
|
38
32
|
encryptionKeySource: 'keychain',
|
|
39
33
|
},
|
|
40
34
|
logging: {
|
|
@@ -57,16 +51,16 @@ function getDefaultMcpConfig() {
|
|
|
57
51
|
* - The `mcp` key is present but fails Zod validation.
|
|
58
52
|
* - The file contains invalid JSON.
|
|
59
53
|
*/
|
|
60
|
-
function loadMcpConfig(configPath) {
|
|
54
|
+
export function loadMcpConfig(configPath) {
|
|
61
55
|
const filePath = configPath ?? LOCAL_CONFIG_PATH;
|
|
62
|
-
if (!
|
|
56
|
+
if (!existsSync(filePath)) {
|
|
63
57
|
return getDefaultMcpConfig();
|
|
64
58
|
}
|
|
65
59
|
const raw = parseJsonFile(filePath);
|
|
66
60
|
const mcpRaw = raw.mcp ?? {};
|
|
67
|
-
const result =
|
|
61
|
+
const result = McpLocalConfigSchema.safeParse(mcpRaw);
|
|
68
62
|
if (!result.success) {
|
|
69
|
-
throw new
|
|
63
|
+
throw new ValidationError(`Invalid mcp config: ${result.error.message}`, ErrorCodes.INVALID_CONFIG);
|
|
70
64
|
}
|
|
71
65
|
return mergeWithDefaults(result.data);
|
|
72
66
|
}
|
|
@@ -84,15 +78,15 @@ function loadMcpConfig(configPath) {
|
|
|
84
78
|
* - The file exists but fails Zod validation.
|
|
85
79
|
* - The file contains invalid JSON.
|
|
86
80
|
*/
|
|
87
|
-
function loadProvidersConfig(configPath) {
|
|
81
|
+
export function loadProvidersConfig(configPath) {
|
|
88
82
|
const filePath = configPath ?? PROVIDERS_CONFIG_PATH;
|
|
89
|
-
if (!
|
|
83
|
+
if (!existsSync(filePath)) {
|
|
90
84
|
return null;
|
|
91
85
|
}
|
|
92
86
|
const raw = parseJsonFile(filePath);
|
|
93
|
-
const result =
|
|
87
|
+
const result = McpProvidersConfigSchema.safeParse(raw);
|
|
94
88
|
if (!result.success) {
|
|
95
|
-
throw new
|
|
89
|
+
throw new ValidationError(`Invalid mcp-providers.json: ${result.error.message}`, ErrorCodes.INVALID_CONFIG);
|
|
96
90
|
}
|
|
97
91
|
return result.data;
|
|
98
92
|
}
|
|
@@ -105,13 +99,13 @@ function loadProvidersConfig(configPath) {
|
|
|
105
99
|
*
|
|
106
100
|
* Throws an Error when the aws CLI exits with a non-zero status code.
|
|
107
101
|
*/
|
|
108
|
-
async function downloadProvidersConfig(profile) {
|
|
109
|
-
const result =
|
|
102
|
+
export async function downloadProvidersConfig(profile) {
|
|
103
|
+
const result = spawnSync('aws', ['s3', 'cp', S3_PROVIDERS_URI, PROVIDERS_CONFIG_PATH, '--profile', profile], { stdio: 'pipe' });
|
|
110
104
|
if (result.status !== 0) {
|
|
111
105
|
const stderr = result.stderr?.toString() ?? '';
|
|
112
106
|
throw new Error(`Failed to download mcp-providers.json: ${stderr}`);
|
|
113
107
|
}
|
|
114
|
-
|
|
108
|
+
chmodSync(PROVIDERS_CONFIG_PATH, 0o600);
|
|
115
109
|
}
|
|
116
110
|
// ---------------------------------------------------------------------------
|
|
117
111
|
// Internal helpers
|
|
@@ -121,12 +115,12 @@ async function downloadProvidersConfig(profile) {
|
|
|
121
115
|
* the file content is not valid JSON (SyntaxError from JSON.parse).
|
|
122
116
|
*/
|
|
123
117
|
function parseJsonFile(filePath) {
|
|
124
|
-
const content =
|
|
118
|
+
const content = readFileSync(filePath, 'utf8');
|
|
125
119
|
try {
|
|
126
120
|
return JSON.parse(content);
|
|
127
121
|
}
|
|
128
122
|
catch (err) {
|
|
129
|
-
throw new
|
|
123
|
+
throw new ValidationError(`Failed to parse JSON at ${filePath}: ${err.message}`, ErrorCodes.INVALID_CONFIG);
|
|
130
124
|
}
|
|
131
125
|
}
|
|
132
126
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loaders.js","sourceRoot":"","sources":["../../../src/mcp/config/loaders.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loaders.js","sourceRoot":"","sources":["../../../src/mcp/config/loaders.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAGL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEjE,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAC/D,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AACpE,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AAEnE,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,IAAI,EAAE,IAAI;QACV,KAAK,EAAE;YACL,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;YAClC,mBAAmB,EAAE,UAAU;SAChC;QACD,OAAO,EAAE;YACP,KAAK,EAAE,MAAM;SACd;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,UAAmB;IAC/C,MAAM,QAAQ,GAAG,UAAU,IAAI,iBAAiB,CAAC;IAEjD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,MAAM,GAAI,GAA+B,CAAC,GAAG,IAAI,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAEtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,eAAe,CACvB,uBAAuB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAC7C,UAAU,CAAC,cAAc,CAC1B,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAmB;IACrD,MAAM,QAAQ,GAAG,UAAU,IAAI,qBAAqB,CAAC;IAErD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAEvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,eAAe,CACvB,+BAA+B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EACrD,UAAU,CAAC,cAAc,CAC1B,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,IAA0B,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAe;IAC3D,MAAM,MAAM,GAAG,SAAS,CACtB,KAAK,EACL,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,WAAW,EAAE,OAAO,CAAC,EAC3E,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,0CAA0C,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,SAAS,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;GAGG;AACH,SAAS,aAAa,CAAC,QAAgB;IACrC,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,eAAe,CACvB,2BAA2B,QAAQ,KAAM,GAAa,CAAC,OAAO,EAAE,EAChE,UAAU,CAAC,cAAc,CAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,UAA0B;IACnD,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;IAEvC,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;QACtC,KAAK,EAAE,UAAU,CAAC,KAAK;YACrB,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE;YAC5C,CAAC,CAAC,QAAQ,CAAC,KAAK;QAClB,OAAO,EAAE,UAAU,CAAC,OAAO;YACzB,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE;YAChD,CAAC,CAAC,QAAQ,CAAC,OAAO;KACrB,CAAC;AACJ,CAAC"}
|
package/dist/mcp/config/types.js
CHANGED
|
@@ -1,45 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.McpProvidersConfigSchema = exports.AtlassianProviderConfigSchema = exports.GitLabProviderConfigSchema = exports.McpLocalConfigSchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
1
|
+
import { z } from 'zod';
|
|
5
2
|
// ---------------------------------------------------------------------------
|
|
6
3
|
// Shared primitive schemas
|
|
7
4
|
// ---------------------------------------------------------------------------
|
|
8
5
|
/** Non-reserved, non-privileged port range (1025-65535). */
|
|
9
|
-
const portSchema =
|
|
10
|
-
|
|
6
|
+
const portSchema = z.number().int().min(1025).max(65535).optional();
|
|
7
|
+
export const McpLocalConfigSchema = z.object({
|
|
11
8
|
port: portSchema,
|
|
12
|
-
store:
|
|
9
|
+
store: z
|
|
13
10
|
.object({
|
|
14
|
-
path:
|
|
15
|
-
encryptionKeySource:
|
|
11
|
+
path: z.string().optional(),
|
|
12
|
+
encryptionKeySource: z.enum(['keychain', 'env']).optional(),
|
|
16
13
|
})
|
|
17
14
|
.optional(),
|
|
18
|
-
logging:
|
|
15
|
+
logging: z
|
|
19
16
|
.object({
|
|
20
|
-
level:
|
|
21
|
-
path:
|
|
17
|
+
level: z.enum(['debug', 'info', 'warn', 'error']).optional(),
|
|
18
|
+
path: z.string().optional(),
|
|
22
19
|
})
|
|
23
20
|
.optional(),
|
|
24
21
|
});
|
|
25
|
-
|
|
22
|
+
export const GitLabProviderConfigSchema = z.object({
|
|
26
23
|
/** z.string().url() validates URL structure; startsWith enforces HTTPS. */
|
|
27
|
-
baseUrl:
|
|
28
|
-
clientId:
|
|
29
|
-
scopes:
|
|
24
|
+
baseUrl: z.string().url().startsWith('https://'),
|
|
25
|
+
clientId: z.string().min(1),
|
|
26
|
+
scopes: z.array(z.string().min(1)).min(1),
|
|
30
27
|
redirectPort: portSchema,
|
|
31
28
|
});
|
|
32
|
-
|
|
33
|
-
clientId:
|
|
34
|
-
clientSecret:
|
|
35
|
-
scopes:
|
|
29
|
+
export const AtlassianProviderConfigSchema = z.object({
|
|
30
|
+
clientId: z.string().min(1),
|
|
31
|
+
clientSecret: z.string().min(1),
|
|
32
|
+
scopes: z.array(z.string().min(1)).min(1),
|
|
36
33
|
redirectPort: portSchema,
|
|
37
34
|
});
|
|
38
|
-
|
|
39
|
-
version:
|
|
40
|
-
providers:
|
|
41
|
-
gitlab:
|
|
42
|
-
atlassian:
|
|
35
|
+
export const McpProvidersConfigSchema = z.object({
|
|
36
|
+
version: z.string(),
|
|
37
|
+
providers: z.object({
|
|
38
|
+
gitlab: GitLabProviderConfigSchema.optional(),
|
|
39
|
+
atlassian: AtlassianProviderConfigSchema.optional(),
|
|
43
40
|
}),
|
|
44
41
|
});
|
|
45
42
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/config/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,4DAA4D;AAC5D,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AA6BpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,mBAAmB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC5D,CAAC;SACD,QAAQ,EAAE;IACb,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAqBH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,2EAA2E;IAC3E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,YAAY,EAAE,UAAU;CACzB,CAAC,CAAC;AAqBH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,YAAY,EAAE,UAAU;CACzB,CAAC,CAAC;AAmBH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,MAAM,EAAE,0BAA0B,CAAC,QAAQ,EAAE;QAC7C,SAAS,EAAE,6BAA6B,CAAC,QAAQ,EAAE;KACpD,CAAC;CACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-logic.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/entry-logic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"entry-logic.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/entry-logic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUlE;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAanD;AA+BD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Daemon entry-point logic extracted for testability.
|
|
4
3
|
*
|
|
5
4
|
* All functions in this module are pure filesystem / process utilities that
|
|
6
5
|
* can be exercised in unit tests without forking a real daemon process.
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const
|
|
7
|
+
import { writeFileSync, readFileSync, unlinkSync, chmodSync, existsSync } from 'node:fs';
|
|
8
|
+
import { join, dirname } from 'node:path';
|
|
9
|
+
import { homedir, tmpdir } from 'node:os';
|
|
10
|
+
import { fileURLToPath } from 'node:url';
|
|
11
|
+
import { createRequire } from 'node:module';
|
|
12
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
13
|
+
const __dirname = dirname(__filename);
|
|
14
|
+
const _require = createRequire(import.meta.url);
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
16
|
// writeStartupFile
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
@@ -21,15 +21,15 @@ const node_os_1 = require("node:os");
|
|
|
21
21
|
* Returns the absolute path of the file written so the caller can log it
|
|
22
22
|
* or pass it to cleanupOnShutdown.
|
|
23
23
|
*/
|
|
24
|
-
function writeStartupFile(pid, port) {
|
|
25
|
-
const filePath =
|
|
24
|
+
export function writeStartupFile(pid, port) {
|
|
25
|
+
const filePath = join(tmpdir(), `padua-mcp-${pid}.ready`);
|
|
26
26
|
const data = {
|
|
27
27
|
pid,
|
|
28
28
|
port,
|
|
29
29
|
readyAt: new Date().toISOString(),
|
|
30
30
|
};
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
writeFileSync(filePath, JSON.stringify(data));
|
|
32
|
+
chmodSync(filePath, 0o600);
|
|
33
33
|
return filePath;
|
|
34
34
|
}
|
|
35
35
|
// ---------------------------------------------------------------------------
|
|
@@ -47,10 +47,10 @@ function writeStartupFile(pid, port) {
|
|
|
47
47
|
* Silently ignores ENOENT — any file that is already absent is fine.
|
|
48
48
|
* Any other filesystem error is re-thrown.
|
|
49
49
|
*/
|
|
50
|
-
function cleanupOnShutdown(pid) {
|
|
51
|
-
const pidFile =
|
|
52
|
-
const authFile =
|
|
53
|
-
const startupFile =
|
|
50
|
+
export function cleanupOnShutdown(pid) {
|
|
51
|
+
const pidFile = join(homedir(), '.padua', 'mcp-server.pid');
|
|
52
|
+
const authFile = join(homedir(), '.padua', 'mcp-auth.json');
|
|
53
|
+
const startupFile = join(tmpdir(), `padua-mcp-${pid}.ready`);
|
|
54
54
|
// Only delete PID/auth files if they still belong to this process.
|
|
55
55
|
if (isPidFileOwnedBy(pidFile, pid)) {
|
|
56
56
|
removeIfExists(pidFile);
|
|
@@ -66,9 +66,9 @@ function cleanupOnShutdown(pid) {
|
|
|
66
66
|
*/
|
|
67
67
|
function isPidFileOwnedBy(pidFile, pid) {
|
|
68
68
|
try {
|
|
69
|
-
if (!
|
|
69
|
+
if (!existsSync(pidFile))
|
|
70
70
|
return false;
|
|
71
|
-
const contents =
|
|
71
|
+
const contents = readFileSync(pidFile, 'utf8').trim();
|
|
72
72
|
return parseInt(contents, 10) === pid;
|
|
73
73
|
}
|
|
74
74
|
catch {
|
|
@@ -77,7 +77,7 @@ function isPidFileOwnedBy(pidFile, pid) {
|
|
|
77
77
|
}
|
|
78
78
|
function removeIfExists(filePath) {
|
|
79
79
|
try {
|
|
80
|
-
|
|
80
|
+
unlinkSync(filePath);
|
|
81
81
|
}
|
|
82
82
|
catch (err) {
|
|
83
83
|
if (err.code !== 'ENOENT') {
|
|
@@ -94,10 +94,9 @@ function removeIfExists(filePath) {
|
|
|
94
94
|
* Falls back to "0.0.0" when the file cannot be found or parsed — this keeps
|
|
95
95
|
* the daemon running even in unusual deploy layouts.
|
|
96
96
|
*/
|
|
97
|
-
function getPackageVersion() {
|
|
97
|
+
export function getPackageVersion() {
|
|
98
98
|
try {
|
|
99
|
-
|
|
100
|
-
const pkg = require((0, node_path_1.join)(__dirname, '..', '..', '..', 'package.json'));
|
|
99
|
+
const pkg = _require(join(__dirname, '..', '..', '..', 'package.json'));
|
|
101
100
|
return pkg.version ?? '0.0.0';
|
|
102
101
|
}
|
|
103
102
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-logic.js","sourceRoot":"","sources":["../../../src/mcp/daemon/entry-logic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entry-logic.js","sourceRoot":"","sources":["../../../src/mcp/daemon/entry-logic.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/daemon/entry.js
CHANGED
|
@@ -1,29 +1,27 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
2
|
/**
|
|
4
3
|
* Daemon process entry point.
|
|
5
4
|
* Runs in the forked child process via child_process.fork().
|
|
6
5
|
* Not imported by other modules — it is the entryScript passed to forkDaemon().
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const entry_logic_1 = require("./entry-logic");
|
|
7
|
+
import { join } from 'node:path';
|
|
8
|
+
import { homedir } from 'node:os';
|
|
9
|
+
import { createLogger } from '../server/logging.js';
|
|
10
|
+
import { createMcpServer } from '../server/server.js';
|
|
11
|
+
import { McpServerAdapter } from '../server/adapter.js';
|
|
12
|
+
import { resolveEncryptionKey } from '../store/key.js';
|
|
13
|
+
import { loadProvidersConfig } from '../config/loaders.js';
|
|
14
|
+
import { ProviderRegistry } from '../providers/registry.js';
|
|
15
|
+
import { GitLabProvider } from '../providers/gitlab/provider.js';
|
|
16
|
+
import { AtlassianProvider } from '../providers/atlassian/provider.js';
|
|
17
|
+
import { createGitLabOAuthConfig } from '../providers/gitlab/auth.js';
|
|
18
|
+
import { createAtlassianOAuthConfig } from '../providers/atlassian/auth.js';
|
|
19
|
+
import { OAuthTokenManager } from '../token/manager.js';
|
|
20
|
+
import { writeStartupFile, cleanupOnShutdown, getPackageVersion } from './entry-logic.js';
|
|
23
21
|
const port = parseInt(process.env.PADUA_MCP_PORT ?? '8919', 10);
|
|
24
22
|
const bearerToken = process.env.PADUA_MCP_BEARER_TOKEN ?? '';
|
|
25
23
|
const logLevel = (process.env.PADUA_MCP_LOG_LEVEL ?? 'info');
|
|
26
|
-
const logger =
|
|
24
|
+
const logger = createLogger(undefined, logLevel);
|
|
27
25
|
// Ignore SIGINT — the daemon must not respond to Ctrl-C from the parent terminal.
|
|
28
26
|
process.on('SIGINT', () => { });
|
|
29
27
|
// ---------------------------------------------------------------------------
|
|
@@ -31,16 +29,16 @@ process.on('SIGINT', () => { });
|
|
|
31
29
|
// ---------------------------------------------------------------------------
|
|
32
30
|
/** Token managers keyed by provider name, for health queries. */
|
|
33
31
|
const tokenManagers = new Map();
|
|
34
|
-
const registry = new
|
|
32
|
+
const registry = new ProviderRegistry();
|
|
35
33
|
/** Providers config — which providers are configured. */
|
|
36
34
|
const configuredProviders = new Set();
|
|
37
35
|
/**
|
|
38
36
|
* Build providers from mcp-providers.json config.
|
|
39
37
|
* Returns the TokenStore if one was opened (must be closed on shutdown).
|
|
40
38
|
*/
|
|
41
|
-
function wireProviders() {
|
|
39
|
+
async function wireProviders() {
|
|
42
40
|
logger.debug('Loading providers config...');
|
|
43
|
-
const providersConfig =
|
|
41
|
+
const providersConfig = loadProvidersConfig();
|
|
44
42
|
if (!providersConfig) {
|
|
45
43
|
logger.info('No mcp-providers.json found — no providers registered');
|
|
46
44
|
return null;
|
|
@@ -51,26 +49,24 @@ function wireProviders() {
|
|
|
51
49
|
hasAtlassian: !!providersConfig.providers.atlassian,
|
|
52
50
|
});
|
|
53
51
|
logger.debug('Resolving encryption key...');
|
|
54
|
-
const hexKey =
|
|
52
|
+
const hexKey = resolveEncryptionKey();
|
|
55
53
|
if (!hexKey) {
|
|
56
54
|
logger.warn('No encryption key available — cannot open token store');
|
|
57
55
|
return null;
|
|
58
56
|
}
|
|
59
57
|
logger.debug('Encryption key resolved');
|
|
60
|
-
const dbPath =
|
|
58
|
+
const dbPath = join(homedir(), '.padua', 'tokens.db');
|
|
61
59
|
logger.debug('Opening token store', { dbPath });
|
|
62
|
-
// Dynamic
|
|
63
|
-
|
|
64
|
-
const {
|
|
65
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
66
|
-
const { createEncryptor } = require('../store/encrypt');
|
|
60
|
+
// Dynamic import avoids pulling better-sqlite3 eagerly on import.
|
|
61
|
+
const { SqliteTokenStore } = await import('../store/sqlite.js');
|
|
62
|
+
const { createEncryptor } = await import('../store/encrypt.js');
|
|
67
63
|
const store = SqliteTokenStore.create(dbPath, createEncryptor(hexKey));
|
|
68
64
|
// GitLab
|
|
69
65
|
if (providersConfig.providers.gitlab) {
|
|
70
66
|
const gitlabConfig = providersConfig.providers.gitlab;
|
|
71
|
-
const oauthConfig =
|
|
72
|
-
const tm = new
|
|
73
|
-
const provider = new
|
|
67
|
+
const oauthConfig = createGitLabOAuthConfig(gitlabConfig);
|
|
68
|
+
const tm = new OAuthTokenManager(oauthConfig, store, 'gitlab', gitlabConfig.redirectPort ?? 18080, { logger });
|
|
69
|
+
const provider = new GitLabProvider(gitlabConfig, tm, { logger });
|
|
74
70
|
registry.register(provider);
|
|
75
71
|
tokenManagers.set('gitlab', tm);
|
|
76
72
|
configuredProviders.add('gitlab');
|
|
@@ -79,9 +75,9 @@ function wireProviders() {
|
|
|
79
75
|
// Atlassian
|
|
80
76
|
if (providersConfig.providers.atlassian) {
|
|
81
77
|
const atlassianConfig = providersConfig.providers.atlassian;
|
|
82
|
-
const oauthConfig =
|
|
83
|
-
const tm = new
|
|
84
|
-
const provider = new
|
|
78
|
+
const oauthConfig = createAtlassianOAuthConfig(atlassianConfig);
|
|
79
|
+
const tm = new OAuthTokenManager(oauthConfig, store, 'atlassian', atlassianConfig.redirectPort ?? 18080, { logger });
|
|
80
|
+
const provider = new AtlassianProvider(atlassianConfig, tm, { logger });
|
|
85
81
|
registry.register(provider);
|
|
86
82
|
tokenManagers.set('atlassian', tm);
|
|
87
83
|
configuredProviders.add('atlassian');
|
|
@@ -117,12 +113,12 @@ async function main() {
|
|
|
117
113
|
execPath: process.execPath,
|
|
118
114
|
cwd: process.cwd(),
|
|
119
115
|
});
|
|
120
|
-
const version =
|
|
116
|
+
const version = getPackageVersion();
|
|
121
117
|
logger.debug('Package version resolved', { version });
|
|
122
|
-
const tokenStore = wireProviders();
|
|
118
|
+
const tokenStore = await wireProviders();
|
|
123
119
|
logger.debug('Creating MCP server', { port, hasBearer: bearerToken.length > 0 });
|
|
124
|
-
const server =
|
|
125
|
-
const adapter = new
|
|
120
|
+
const server = createMcpServer({ port, bearerToken, version, logLevel }, getProviderStatuses, (mcpServer) => {
|
|
121
|
+
const adapter = new McpServerAdapter(mcpServer, logger);
|
|
126
122
|
registry.registerAll(adapter);
|
|
127
123
|
});
|
|
128
124
|
logger.debug('Provider tools registered via registerTools callback');
|
|
@@ -141,7 +137,7 @@ async function main() {
|
|
|
141
137
|
}
|
|
142
138
|
// Start proactive token refresh so tokens stay fresh even with zero tool calls.
|
|
143
139
|
for (const [name, tm] of tokenManagers) {
|
|
144
|
-
if (tm instanceof
|
|
140
|
+
if (tm instanceof OAuthTokenManager) {
|
|
145
141
|
tm.startProactiveRefresh();
|
|
146
142
|
logger.info(`Proactive token refresh started: ${name}`);
|
|
147
143
|
}
|
|
@@ -166,11 +162,11 @@ async function main() {
|
|
|
166
162
|
catch { /* already closed */ }
|
|
167
163
|
}
|
|
168
164
|
logger.debug('Cleaning up daemon files...', { pid: process.pid });
|
|
169
|
-
|
|
165
|
+
cleanupOnShutdown(process.pid);
|
|
170
166
|
logger.info('Daemon shutdown complete', { pid: process.pid });
|
|
171
167
|
process.exit(0);
|
|
172
168
|
});
|
|
173
|
-
const startupFilePath =
|
|
169
|
+
const startupFilePath = writeStartupFile(process.pid, port);
|
|
174
170
|
logger.info('Daemon ready', {
|
|
175
171
|
port,
|
|
176
172
|
startupFile: startupFilePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../src/mcp/daemon/entry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../../src/mcp/daemon/entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/fork.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/fork.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,YAAY,CAAC;AAO1D,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,MAAM,CAAC;IACvB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB;AASD,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAE9D;AAED,oDAAoD;AACpD,wBAAgB,iBAAiB,IAAI,IAAI,CAOxC;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAMD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOnD;AAMD,wBAAgB,kBAAkB,IAAI,UAAU,GAAG,IAAI,CAyBtD;AAMD,wBAAsB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CA4B1G;AAMD,wBAAgB,UAAU,IAAI,OAAO,CAgBpC;AAMD,wBAAgB,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAMrD"}
|