@padua/cli 2.0.22 → 2.0.23
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 +3 -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 +74 -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
package/dist/mcp/daemon/fork.js
CHANGED
|
@@ -1,21 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.getPidFilePath = getPidFilePath;
|
|
7
|
-
exports.getAuthFilePath = getAuthFilePath;
|
|
8
|
-
exports.getStartupFilePath = getStartupFilePath;
|
|
9
|
-
exports.isProcessAlive = isProcessAlive;
|
|
10
|
-
exports.readExistingDaemon = readExistingDaemon;
|
|
11
|
-
exports.forkDaemon = forkDaemon;
|
|
12
|
-
exports.stopDaemon = stopDaemon;
|
|
13
|
-
exports.cleanupDaemonFiles = cleanupDaemonFiles;
|
|
14
|
-
const node_child_process_1 = require("node:child_process");
|
|
15
|
-
const node_fs_1 = require("node:fs");
|
|
16
|
-
const node_path_1 = require("node:path");
|
|
17
|
-
const node_os_1 = require("node:os");
|
|
18
|
-
const errors_1 = require("../errors");
|
|
1
|
+
import { fork as cpFork, execFileSync } from 'node:child_process';
|
|
2
|
+
import { readFileSync, writeFileSync, unlinkSync, existsSync, chmodSync, mkdirSync, } from 'node:fs';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { homedir, tmpdir } from 'node:os';
|
|
5
|
+
import { DaemonError, ErrorCodes } from '../errors/index.js';
|
|
19
6
|
/**
|
|
20
7
|
* Fixed bearer token for the localhost-only MCP daemon.
|
|
21
8
|
* A random token is unnecessary — the server only binds to 127.0.0.1 and any
|
|
@@ -23,43 +10,43 @@ const errors_1 = require("../errors");
|
|
|
23
10
|
* Claude Code (and other MCP clients) use a static config that survives daemon
|
|
24
11
|
* restarts.
|
|
25
12
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
13
|
+
export const BEARER_TOKEN = 'padua-mcp-local';
|
|
14
|
+
import { McpAuthFileSchema } from './types.js';
|
|
28
15
|
let resolver = {
|
|
29
|
-
pidFile: () =>
|
|
30
|
-
authFile: () =>
|
|
31
|
-
startupFile: (pid) =>
|
|
32
|
-
paduaDir: () =>
|
|
16
|
+
pidFile: () => join(homedir(), '.padua', 'mcp-server.pid'),
|
|
17
|
+
authFile: () => join(homedir(), '.padua', 'mcp-auth.json'),
|
|
18
|
+
startupFile: (pid) => join(tmpdir(), `padua-mcp-${pid}.ready`),
|
|
19
|
+
paduaDir: () => join(homedir(), '.padua'),
|
|
33
20
|
};
|
|
34
21
|
/** Override path resolution — intended for tests only. */
|
|
35
|
-
function setPathResolver(r) {
|
|
22
|
+
export function setPathResolver(r) {
|
|
36
23
|
resolver = { ...resolver, ...r };
|
|
37
24
|
}
|
|
38
25
|
/** Reset path resolution to production defaults. */
|
|
39
|
-
function resetPathResolver() {
|
|
26
|
+
export function resetPathResolver() {
|
|
40
27
|
resolver = {
|
|
41
|
-
pidFile: () =>
|
|
42
|
-
authFile: () =>
|
|
43
|
-
startupFile: (pid) =>
|
|
44
|
-
paduaDir: () =>
|
|
28
|
+
pidFile: () => join(homedir(), '.padua', 'mcp-server.pid'),
|
|
29
|
+
authFile: () => join(homedir(), '.padua', 'mcp-auth.json'),
|
|
30
|
+
startupFile: (pid) => join(tmpdir(), `padua-mcp-${pid}.ready`),
|
|
31
|
+
paduaDir: () => join(homedir(), '.padua'),
|
|
45
32
|
};
|
|
46
33
|
}
|
|
47
34
|
// ---------------------------------------------------------------------------
|
|
48
35
|
// Public path accessors (delegates to resolver)
|
|
49
36
|
// ---------------------------------------------------------------------------
|
|
50
|
-
function getPidFilePath() {
|
|
37
|
+
export function getPidFilePath() {
|
|
51
38
|
return resolver.pidFile();
|
|
52
39
|
}
|
|
53
|
-
function getAuthFilePath() {
|
|
40
|
+
export function getAuthFilePath() {
|
|
54
41
|
return resolver.authFile();
|
|
55
42
|
}
|
|
56
|
-
function getStartupFilePath(pid) {
|
|
43
|
+
export function getStartupFilePath(pid) {
|
|
57
44
|
return resolver.startupFile(pid);
|
|
58
45
|
}
|
|
59
46
|
// ---------------------------------------------------------------------------
|
|
60
47
|
// Process liveness check
|
|
61
48
|
// ---------------------------------------------------------------------------
|
|
62
|
-
function isProcessAlive(pid) {
|
|
49
|
+
export function isProcessAlive(pid) {
|
|
63
50
|
try {
|
|
64
51
|
process.kill(pid, 0);
|
|
65
52
|
return true;
|
|
@@ -71,19 +58,19 @@ function isProcessAlive(pid) {
|
|
|
71
58
|
// ---------------------------------------------------------------------------
|
|
72
59
|
// Read existing daemon from PID + auth files
|
|
73
60
|
// ---------------------------------------------------------------------------
|
|
74
|
-
function readExistingDaemon() {
|
|
61
|
+
export function readExistingDaemon() {
|
|
75
62
|
const pidPath = resolver.pidFile();
|
|
76
|
-
if (!
|
|
63
|
+
if (!existsSync(pidPath)) {
|
|
77
64
|
return null;
|
|
78
65
|
}
|
|
79
|
-
const pid = parseInt(
|
|
66
|
+
const pid = parseInt(readFileSync(pidPath, 'utf8').trim(), 10);
|
|
80
67
|
if (!isProcessAlive(pid)) {
|
|
81
68
|
cleanupDaemonFiles(pid);
|
|
82
69
|
return null;
|
|
83
70
|
}
|
|
84
71
|
const authPath = resolver.authFile();
|
|
85
|
-
const raw = JSON.parse(
|
|
86
|
-
const parsed =
|
|
72
|
+
const raw = JSON.parse(readFileSync(authPath, 'utf8'));
|
|
73
|
+
const parsed = McpAuthFileSchema.safeParse(raw);
|
|
87
74
|
if (!parsed.success) {
|
|
88
75
|
cleanupDaemonFiles(pid);
|
|
89
76
|
return null;
|
|
@@ -94,7 +81,7 @@ function readExistingDaemon() {
|
|
|
94
81
|
// ---------------------------------------------------------------------------
|
|
95
82
|
// Fork a new daemon process
|
|
96
83
|
// ---------------------------------------------------------------------------
|
|
97
|
-
async function forkDaemon(entryScript, port, logLevel) {
|
|
84
|
+
export async function forkDaemon(entryScript, port, logLevel) {
|
|
98
85
|
const existing = readExistingDaemon();
|
|
99
86
|
if (existing !== null) {
|
|
100
87
|
return existing;
|
|
@@ -102,15 +89,15 @@ async function forkDaemon(entryScript, port, logLevel) {
|
|
|
102
89
|
// Kill any orphaned process holding the port (e.g. old daemon whose PID
|
|
103
90
|
// file was removed but process is still alive).
|
|
104
91
|
killPortHolder(port);
|
|
105
|
-
const bearerToken =
|
|
106
|
-
|
|
92
|
+
const bearerToken = BEARER_TOKEN;
|
|
93
|
+
mkdirSync(resolver.paduaDir(), { recursive: true });
|
|
107
94
|
const env = {
|
|
108
95
|
...process.env,
|
|
109
96
|
PADUA_MCP_PORT: String(port),
|
|
110
97
|
PADUA_MCP_BEARER_TOKEN: bearerToken,
|
|
111
98
|
...(logLevel ? { PADUA_MCP_LOG_LEVEL: logLevel } : {}),
|
|
112
99
|
};
|
|
113
|
-
const child = (
|
|
100
|
+
const child = cpFork(entryScript, [], { detached: true, stdio: 'ignore', env });
|
|
114
101
|
const childPid = child.pid;
|
|
115
102
|
child.unref();
|
|
116
103
|
writePidFile(childPid);
|
|
@@ -120,12 +107,12 @@ async function forkDaemon(entryScript, port, logLevel) {
|
|
|
120
107
|
// ---------------------------------------------------------------------------
|
|
121
108
|
// Stop daemon by SIGTERM
|
|
122
109
|
// ---------------------------------------------------------------------------
|
|
123
|
-
function stopDaemon() {
|
|
110
|
+
export function stopDaemon() {
|
|
124
111
|
const pidPath = resolver.pidFile();
|
|
125
|
-
if (!
|
|
112
|
+
if (!existsSync(pidPath)) {
|
|
126
113
|
return false;
|
|
127
114
|
}
|
|
128
|
-
const pid = parseInt(
|
|
115
|
+
const pid = parseInt(readFileSync(pidPath, 'utf8').trim(), 10);
|
|
129
116
|
try {
|
|
130
117
|
process.kill(pid, 'SIGTERM');
|
|
131
118
|
}
|
|
@@ -138,7 +125,7 @@ function stopDaemon() {
|
|
|
138
125
|
// ---------------------------------------------------------------------------
|
|
139
126
|
// Cleanup all daemon-related files silently
|
|
140
127
|
// ---------------------------------------------------------------------------
|
|
141
|
-
function cleanupDaemonFiles(pid) {
|
|
128
|
+
export function cleanupDaemonFiles(pid) {
|
|
142
129
|
removeFileSilently(resolver.pidFile());
|
|
143
130
|
removeFileSilently(resolver.authFile());
|
|
144
131
|
if (pid !== undefined) {
|
|
@@ -150,17 +137,17 @@ function cleanupDaemonFiles(pid) {
|
|
|
150
137
|
// ---------------------------------------------------------------------------
|
|
151
138
|
function writePidFile(pid) {
|
|
152
139
|
const pidPath = resolver.pidFile();
|
|
153
|
-
|
|
154
|
-
|
|
140
|
+
writeFileSync(pidPath, String(pid), 'utf8');
|
|
141
|
+
chmodSync(pidPath, 0o600);
|
|
155
142
|
}
|
|
156
143
|
function writeAuthFile(auth) {
|
|
157
144
|
const authPath = resolver.authFile();
|
|
158
|
-
|
|
159
|
-
|
|
145
|
+
writeFileSync(authPath, JSON.stringify(auth), 'utf8');
|
|
146
|
+
chmodSync(authPath, 0o600);
|
|
160
147
|
}
|
|
161
148
|
function removeFileSilently(filePath) {
|
|
162
149
|
try {
|
|
163
|
-
|
|
150
|
+
unlinkSync(filePath);
|
|
164
151
|
}
|
|
165
152
|
catch (err) {
|
|
166
153
|
if (err.code !== 'ENOENT') {
|
|
@@ -174,7 +161,7 @@ function removeFileSilently(filePath) {
|
|
|
174
161
|
*/
|
|
175
162
|
function killPortHolder(port) {
|
|
176
163
|
try {
|
|
177
|
-
const output =
|
|
164
|
+
const output = execFileSync('lsof', ['-ti', `:${port}`], { encoding: 'utf-8', timeout: 5_000 });
|
|
178
165
|
const pids = output.trim().split('\n').map(Number).filter(Boolean);
|
|
179
166
|
for (const pid of pids) {
|
|
180
167
|
try {
|
|
@@ -184,7 +171,7 @@ function killPortHolder(port) {
|
|
|
184
171
|
}
|
|
185
172
|
// Brief pause to let the OS release the port.
|
|
186
173
|
if (pids.length > 0) {
|
|
187
|
-
|
|
174
|
+
execFileSync('sleep', ['0.5'], { timeout: 2_000 });
|
|
188
175
|
}
|
|
189
176
|
}
|
|
190
177
|
catch {
|
|
@@ -198,11 +185,11 @@ function pollForStartup(pid, port, bearerToken) {
|
|
|
198
185
|
const deadline = Date.now() + timeoutMs;
|
|
199
186
|
return new Promise((resolve, reject) => {
|
|
200
187
|
const interval = setInterval(() => {
|
|
201
|
-
if (
|
|
188
|
+
if (existsSync(startupPath)) {
|
|
202
189
|
clearInterval(interval);
|
|
203
190
|
if (!isProcessAlive(pid)) {
|
|
204
191
|
cleanupDaemonFiles(pid);
|
|
205
|
-
reject(new
|
|
192
|
+
reject(new DaemonError('Daemon process died after startup file written', ErrorCodes.DAEMON_START_TIMEOUT));
|
|
206
193
|
return;
|
|
207
194
|
}
|
|
208
195
|
resolve({ pid, port, bearerToken, startedAt: new Date().toISOString() });
|
|
@@ -215,7 +202,7 @@ function pollForStartup(pid, port, bearerToken) {
|
|
|
215
202
|
}
|
|
216
203
|
catch { /* already dead */ }
|
|
217
204
|
cleanupDaemonFiles(pid);
|
|
218
|
-
reject(new
|
|
205
|
+
reject(new DaemonError(`Daemon did not become ready within ${timeoutMs}ms`, ErrorCodes.DAEMON_START_TIMEOUT));
|
|
219
206
|
}
|
|
220
207
|
}, intervalMs);
|
|
221
208
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../src/mcp/daemon/fork.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../../../src/mcp/daemon/fork.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/health.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/health.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4CvF"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.checkHealth = checkHealth;
|
|
4
|
-
const node_http_1 = require("node:http");
|
|
1
|
+
import { request } from 'node:http';
|
|
5
2
|
/**
|
|
6
3
|
* Check daemon health by calling GET /health.
|
|
7
4
|
* @param port - Daemon port
|
|
8
5
|
* @param timeoutMs - Request timeout (default 3000ms)
|
|
9
6
|
*/
|
|
10
|
-
function checkHealth(port, timeoutMs = 3000) {
|
|
7
|
+
export function checkHealth(port, timeoutMs = 3000) {
|
|
11
8
|
return new Promise((resolve, reject) => {
|
|
12
|
-
const req =
|
|
9
|
+
const req = request({
|
|
13
10
|
hostname: '127.0.0.1',
|
|
14
11
|
port,
|
|
15
12
|
path: '/health',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/mcp/daemon/health.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../../src/mcp/daemon/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,SAAS,GAAG,IAAI;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,OAAO,CACjB;YACE,QAAQ,EAAE,WAAW;YACrB,IAAI;YACJ,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,SAAS;SACnB,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;oBACzD,OAAO,CAAC;wBACN,OAAO,EAAE,GAAG,CAAC,UAAU,KAAK,GAAG;wBAC/B,MAAM,EAAG,IAAI,CAAC,MAAuC,IAAI,OAAO;wBAChE,SAAS,EAAG,IAAI,CAAC,SAA6C,IAAI,EAAE;wBACpE,MAAM,EAAG,IAAI,CAAC,MAAiB,IAAI,CAAC;wBACpC,OAAO,EAAG,IAAI,CAAC,OAAkB,IAAI,SAAS;wBAC9C,OAAO,EAAE,IAAI,CAAC,OAAwC;qBACvD,CAAC,CAAC;gBACL,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACrB,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,SAAS,IAAI,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACtB,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export type { DaemonInfo, DaemonHealthResult, McpAuthFile, DaemonStartupFile } from './types';
|
|
2
|
-
export { McpAuthFileSchema, DaemonStartupFileSchema } from './types';
|
|
3
|
-
export { checkHealth } from './health';
|
|
4
|
-
export { forkDaemon, stopDaemon, readExistingDaemon, isProcessAlive, cleanupDaemonFiles, getPidFilePath, getAuthFilePath, getStartupFilePath, } from './fork';
|
|
5
|
-
export { writeStartupFile, cleanupOnShutdown, getPackageVersion } from './entry-logic';
|
|
1
|
+
export type { DaemonInfo, DaemonHealthResult, McpAuthFile, DaemonStartupFile } from './types.js';
|
|
2
|
+
export { McpAuthFileSchema, DaemonStartupFileSchema } from './types.js';
|
|
3
|
+
export { checkHealth } from './health.js';
|
|
4
|
+
export { forkDaemon, stopDaemon, readExistingDaemon, isProcessAlive, cleanupDaemonFiles, getPidFilePath, getAuthFilePath, getStartupFilePath, } from './fork.js';
|
|
5
|
+
export { writeStartupFile, cleanupOnShutdown, getPackageVersion } from './entry-logic.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/daemon/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/mcp/daemon/index.js
CHANGED
|
@@ -1,22 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "McpAuthFileSchema", { enumerable: true, get: function () { return types_1.McpAuthFileSchema; } });
|
|
6
|
-
Object.defineProperty(exports, "DaemonStartupFileSchema", { enumerable: true, get: function () { return types_1.DaemonStartupFileSchema; } });
|
|
7
|
-
var health_1 = require("./health");
|
|
8
|
-
Object.defineProperty(exports, "checkHealth", { enumerable: true, get: function () { return health_1.checkHealth; } });
|
|
9
|
-
var fork_1 = require("./fork");
|
|
10
|
-
Object.defineProperty(exports, "forkDaemon", { enumerable: true, get: function () { return fork_1.forkDaemon; } });
|
|
11
|
-
Object.defineProperty(exports, "stopDaemon", { enumerable: true, get: function () { return fork_1.stopDaemon; } });
|
|
12
|
-
Object.defineProperty(exports, "readExistingDaemon", { enumerable: true, get: function () { return fork_1.readExistingDaemon; } });
|
|
13
|
-
Object.defineProperty(exports, "isProcessAlive", { enumerable: true, get: function () { return fork_1.isProcessAlive; } });
|
|
14
|
-
Object.defineProperty(exports, "cleanupDaemonFiles", { enumerable: true, get: function () { return fork_1.cleanupDaemonFiles; } });
|
|
15
|
-
Object.defineProperty(exports, "getPidFilePath", { enumerable: true, get: function () { return fork_1.getPidFilePath; } });
|
|
16
|
-
Object.defineProperty(exports, "getAuthFilePath", { enumerable: true, get: function () { return fork_1.getAuthFilePath; } });
|
|
17
|
-
Object.defineProperty(exports, "getStartupFilePath", { enumerable: true, get: function () { return fork_1.getStartupFilePath; } });
|
|
18
|
-
var entry_logic_1 = require("./entry-logic");
|
|
19
|
-
Object.defineProperty(exports, "writeStartupFile", { enumerable: true, get: function () { return entry_logic_1.writeStartupFile; } });
|
|
20
|
-
Object.defineProperty(exports, "cleanupOnShutdown", { enumerable: true, get: function () { return entry_logic_1.cleanupOnShutdown; } });
|
|
21
|
-
Object.defineProperty(exports, "getPackageVersion", { enumerable: true, get: function () { return entry_logic_1.getPackageVersion; } });
|
|
1
|
+
export { McpAuthFileSchema, DaemonStartupFileSchema } from './types.js';
|
|
2
|
+
export { checkHealth } from './health.js';
|
|
3
|
+
export { forkDaemon, stopDaemon, readExistingDaemon, isProcessAlive, cleanupDaemonFiles, getPidFilePath, getAuthFilePath, getStartupFilePath, } from './fork.js';
|
|
4
|
+
export { writeStartupFile, cleanupOnShutdown, getPackageVersion } from './entry-logic.js';
|
|
22
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/daemon/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/daemon/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/mcp/daemon/types.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DaemonStartupFileSchema = exports.McpAuthFileSchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
1
|
+
import { z } from 'zod';
|
|
5
2
|
/** Zod schema for mcp-auth.json validation on read */
|
|
6
|
-
|
|
7
|
-
bearerToken:
|
|
8
|
-
port:
|
|
9
|
-
pid:
|
|
10
|
-
startedAt:
|
|
3
|
+
export const McpAuthFileSchema = z.object({
|
|
4
|
+
bearerToken: z.string().min(1),
|
|
5
|
+
port: z.number().int().min(1025).max(65535),
|
|
6
|
+
pid: z.number().int().positive(),
|
|
7
|
+
startedAt: z.string(),
|
|
11
8
|
});
|
|
12
9
|
/** Zod schema for startup confirmation file */
|
|
13
|
-
|
|
14
|
-
pid:
|
|
15
|
-
port:
|
|
16
|
-
readyAt:
|
|
10
|
+
export const DaemonStartupFileSchema = z.object({
|
|
11
|
+
pid: z.number().int().positive(),
|
|
12
|
+
port: z.number().int().min(1025).max(65535),
|
|
13
|
+
readyAt: z.string(),
|
|
17
14
|
});
|
|
18
15
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/daemon/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/daemon/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoCxB,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { redactTokens, PaduaError, StoreError, AuthError, DaemonError, ValidationError, ProviderError, ErrorCodes, } from './types';
|
|
2
|
-
export type { ErrorCode } from './types';
|
|
1
|
+
export { redactTokens, PaduaError, StoreError, AuthError, DaemonError, ValidationError, ProviderError, ErrorCodes, } from './types.js';
|
|
2
|
+
export type { ErrorCode } from './types.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/mcp/errors/index.js
CHANGED
|
@@ -1,13 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ErrorCodes = exports.ProviderError = exports.ValidationError = exports.DaemonError = exports.AuthError = exports.StoreError = exports.PaduaError = exports.redactTokens = void 0;
|
|
4
|
-
var types_1 = require("./types");
|
|
5
|
-
Object.defineProperty(exports, "redactTokens", { enumerable: true, get: function () { return types_1.redactTokens; } });
|
|
6
|
-
Object.defineProperty(exports, "PaduaError", { enumerable: true, get: function () { return types_1.PaduaError; } });
|
|
7
|
-
Object.defineProperty(exports, "StoreError", { enumerable: true, get: function () { return types_1.StoreError; } });
|
|
8
|
-
Object.defineProperty(exports, "AuthError", { enumerable: true, get: function () { return types_1.AuthError; } });
|
|
9
|
-
Object.defineProperty(exports, "DaemonError", { enumerable: true, get: function () { return types_1.DaemonError; } });
|
|
10
|
-
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return types_1.ValidationError; } });
|
|
11
|
-
Object.defineProperty(exports, "ProviderError", { enumerable: true, get: function () { return types_1.ProviderError; } });
|
|
12
|
-
Object.defineProperty(exports, "ErrorCodes", { enumerable: true, get: function () { return types_1.ErrorCodes; } });
|
|
1
|
+
export { redactTokens, PaduaError, StoreError, AuthError, DaemonError, ValidationError, ProviderError, ErrorCodes, } from './types.js';
|
|
13
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/errors/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAC"}
|
package/dist/mcp/errors/types.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* Error hierarchy for the MCP server integration.
|
|
4
3
|
*
|
|
@@ -6,9 +5,6 @@
|
|
|
6
5
|
* Token redaction is applied to every message at construction time to prevent
|
|
7
6
|
* credential exposure in logs and error reporting pipelines.
|
|
8
7
|
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.ErrorCodes = exports.ProviderError = exports.ValidationError = exports.DaemonError = exports.AuthError = exports.StoreError = exports.PaduaError = void 0;
|
|
11
|
-
exports.redactTokens = redactTokens;
|
|
12
8
|
// ---------------------------------------------------------------------------
|
|
13
9
|
// Token redaction utility
|
|
14
10
|
// ---------------------------------------------------------------------------
|
|
@@ -21,7 +17,7 @@ exports.redactTokens = redactTokens;
|
|
|
21
17
|
* - Hex strings longer than 20 characters (encryption keys, nonces)
|
|
22
18
|
* - Base64-like strings longer than 30 characters (JWT segments, encoded secrets)
|
|
23
19
|
*/
|
|
24
|
-
function redactTokens(message) {
|
|
20
|
+
export function redactTokens(message) {
|
|
25
21
|
let result = message;
|
|
26
22
|
// Bearer tokens in Authorization headers
|
|
27
23
|
result = result.replace(/Bearer\s+[A-Za-z0-9\-._~+/]+=*/g, 'Bearer [REDACTED]');
|
|
@@ -43,7 +39,7 @@ function redactTokens(message) {
|
|
|
43
39
|
* Carries a machine-readable code alongside the human-readable message.
|
|
44
40
|
* Messages are token-redacted at construction time.
|
|
45
41
|
*/
|
|
46
|
-
class PaduaError extends Error {
|
|
42
|
+
export class PaduaError extends Error {
|
|
47
43
|
code;
|
|
48
44
|
constructor(message, code) {
|
|
49
45
|
super(redactTokens(message));
|
|
@@ -53,51 +49,46 @@ class PaduaError extends Error {
|
|
|
53
49
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
54
50
|
}
|
|
55
51
|
}
|
|
56
|
-
exports.PaduaError = PaduaError;
|
|
57
52
|
// ---------------------------------------------------------------------------
|
|
58
53
|
// Domain-specific subclasses
|
|
59
54
|
// ---------------------------------------------------------------------------
|
|
60
55
|
/** Errors originating from the encrypted SQLite token store. */
|
|
61
|
-
class StoreError extends PaduaError {
|
|
56
|
+
export class StoreError extends PaduaError {
|
|
62
57
|
constructor(message, code) {
|
|
63
58
|
super(message, code);
|
|
64
59
|
this.name = 'StoreError';
|
|
65
60
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
66
61
|
}
|
|
67
62
|
}
|
|
68
|
-
exports.StoreError = StoreError;
|
|
69
63
|
/** Errors originating from OAuth flows and token lifecycle management. */
|
|
70
|
-
class AuthError extends PaduaError {
|
|
64
|
+
export class AuthError extends PaduaError {
|
|
71
65
|
constructor(message, code) {
|
|
72
66
|
super(message, code);
|
|
73
67
|
this.name = 'AuthError';
|
|
74
68
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
75
69
|
}
|
|
76
70
|
}
|
|
77
|
-
exports.AuthError = AuthError;
|
|
78
71
|
/** Errors originating from the background daemon process lifecycle. */
|
|
79
|
-
class DaemonError extends PaduaError {
|
|
72
|
+
export class DaemonError extends PaduaError {
|
|
80
73
|
constructor(message, code) {
|
|
81
74
|
super(message, code);
|
|
82
75
|
this.name = 'DaemonError';
|
|
83
76
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
84
77
|
}
|
|
85
78
|
}
|
|
86
|
-
exports.DaemonError = DaemonError;
|
|
87
79
|
/** Errors originating from config or input validation failures. */
|
|
88
|
-
class ValidationError extends PaduaError {
|
|
80
|
+
export class ValidationError extends PaduaError {
|
|
89
81
|
constructor(message, code) {
|
|
90
82
|
super(message, code);
|
|
91
83
|
this.name = 'ValidationError';
|
|
92
84
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
93
85
|
}
|
|
94
86
|
}
|
|
95
|
-
exports.ValidationError = ValidationError;
|
|
96
87
|
/**
|
|
97
88
|
* Errors originating from a specific provider (GitLab, Atlassian).
|
|
98
89
|
* The `provider` property identifies which provider produced the error.
|
|
99
90
|
*/
|
|
100
|
-
class ProviderError extends PaduaError {
|
|
91
|
+
export class ProviderError extends PaduaError {
|
|
101
92
|
provider;
|
|
102
93
|
constructor(message, code, provider) {
|
|
103
94
|
super(message, code);
|
|
@@ -106,7 +97,6 @@ class ProviderError extends PaduaError {
|
|
|
106
97
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
107
98
|
}
|
|
108
99
|
}
|
|
109
|
-
exports.ProviderError = ProviderError;
|
|
110
100
|
// ---------------------------------------------------------------------------
|
|
111
101
|
// ErrorCodes catalog
|
|
112
102
|
// ---------------------------------------------------------------------------
|
|
@@ -116,7 +106,7 @@ exports.ProviderError = ProviderError;
|
|
|
116
106
|
*
|
|
117
107
|
* Grouped by the error subclass that typically throws them.
|
|
118
108
|
*/
|
|
119
|
-
|
|
109
|
+
export const ErrorCodes = {
|
|
120
110
|
// StoreError — encrypted SQLite token store
|
|
121
111
|
ENCRYPTION_KEY_UNAVAILABLE: 'ENCRYPTION_KEY_UNAVAILABLE',
|
|
122
112
|
TOKEN_DECRYPTION_FAILED: 'TOKEN_DECRYPTION_FAILED',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/errors/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/mcp/errors/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* PKCE is disabled. Cloud ID is resolved via the accessible-resources endpoint
|
|
6
6
|
* before the full token manager is wired.
|
|
7
7
|
*/
|
|
8
|
-
import type { OAuthConfig } from '../../token/types';
|
|
9
|
-
import type { AtlassianProviderConfig } from '../../config/types';
|
|
8
|
+
import type { OAuthConfig } from '../../token/types.js';
|
|
9
|
+
import type { AtlassianProviderConfig } from '../../config/types.js';
|
|
10
10
|
/**
|
|
11
11
|
* Build the OAuthConfig for an Atlassian provider.
|
|
12
12
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/mcp/providers/atlassian/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/mcp/providers/atlassian/auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAgBrE;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,CAevF;AAMD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqChF"}
|