@pleri/olam-cli 0.1.111 → 0.1.113
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/dist/commands/bootstrap.d.ts +2 -45
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +8 -101
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/mcp/index.d.ts +6 -3
- package/dist/commands/mcp/index.d.ts.map +1 -1
- package/dist/commands/mcp/index.js +13 -4
- package/dist/commands/mcp/index.js.map +1 -1
- package/dist/commands/mcp/install-shared.d.ts +22 -0
- package/dist/commands/mcp/install-shared.d.ts.map +1 -0
- package/dist/commands/mcp/install-shared.js +29 -0
- package/dist/commands/mcp/install-shared.js.map +1 -0
- package/dist/commands/mcp/install.d.ts +20 -0
- package/dist/commands/mcp/install.d.ts.map +1 -0
- package/dist/commands/mcp/install.js +59 -0
- package/dist/commands/mcp/install.js.map +1 -0
- package/dist/commands/mcp/serve.d.ts +12 -0
- package/dist/commands/mcp/serve.d.ts.map +1 -0
- package/dist/commands/mcp/serve.js +36 -0
- package/dist/commands/mcp/serve.js.map +1 -0
- package/dist/commands/mcp/uninstall.d.ts +20 -0
- package/dist/commands/mcp/uninstall.d.ts.map +1 -0
- package/dist/commands/mcp/uninstall.js +69 -0
- package/dist/commands/mcp/uninstall.js.map +1 -0
- package/dist/image-digests.json +4 -4
- package/dist/index.js +345 -144
- package/dist/index.js.map +1 -1
- package/dist/mcp-server.js +107 -7
- package/package.json +1 -1
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
* services healthy, prints a brief status table and exits 0 in ≤30s.
|
|
28
28
|
*/
|
|
29
29
|
import type { Command } from 'commander';
|
|
30
|
+
import { pullImageWithRetry, realDocker, type DockerImpl, type DockerCommandResult, type PullPolicy } from '@olam/adapters';
|
|
31
|
+
export { pullImageWithRetry, realDocker, type DockerImpl, type DockerCommandResult, type PullPolicy, };
|
|
30
32
|
export interface ImageDigests {
|
|
31
33
|
readonly 'host-cp': string;
|
|
32
34
|
readonly auth: string;
|
|
@@ -51,51 +53,6 @@ export interface BootstrapOpts {
|
|
|
51
53
|
}
|
|
52
54
|
/** Image-digests.json schema validation + load. */
|
|
53
55
|
export declare function loadImageDigests(installRootDir?: string): ImageDigests;
|
|
54
|
-
export type DockerCommandResult = {
|
|
55
|
-
readonly exitCode: number;
|
|
56
|
-
readonly stdout: string;
|
|
57
|
-
readonly stderr: string;
|
|
58
|
-
};
|
|
59
|
-
export interface DockerImpl {
|
|
60
|
-
/** `docker info` — used for daemon smoke. */
|
|
61
|
-
info(): Promise<DockerCommandResult>;
|
|
62
|
-
/**
|
|
63
|
-
* `docker pull <ref>`. Single attempt — retry/coalesce wrapping
|
|
64
|
-
* happens at a higher layer.
|
|
65
|
-
*/
|
|
66
|
-
pull(imageRef: string, opts?: {
|
|
67
|
-
signal?: AbortSignal;
|
|
68
|
-
}): Promise<DockerCommandResult>;
|
|
69
|
-
/**
|
|
70
|
-
* `docker inspect <ref> --format '{{ index .Config.Labels "<label>" }}'`.
|
|
71
|
-
* Returns the label value (empty string when absent / `<no value>`).
|
|
72
|
-
*/
|
|
73
|
-
inspectLabel(imageRef: string, label: string): Promise<DockerCommandResult>;
|
|
74
|
-
/**
|
|
75
|
-
* `docker tag <source> <target>` — re-tag an already-local image.
|
|
76
|
-
* Used after a digest-pinned pull to alias the verified image as
|
|
77
|
-
* `<image>:latest` so `compose up` (which reads tagged refs from
|
|
78
|
-
* compose.yaml, not digests) finds the same bytes we just pulled.
|
|
79
|
-
*/
|
|
80
|
-
tag(source: string, target: string): Promise<DockerCommandResult>;
|
|
81
|
-
}
|
|
82
|
-
/** Real docker shell-out impl. */
|
|
83
|
-
export declare const realDocker: DockerImpl;
|
|
84
|
-
export interface PullPolicy {
|
|
85
|
-
/** AbortSignal hard-cap per pull attempt. Default: 180s. */
|
|
86
|
-
readonly perAttemptTimeoutMs: number;
|
|
87
|
-
/**
|
|
88
|
-
* Retry once on transient failure (mirrors withCredential's exactly-
|
|
89
|
-
* one-retry). Default: true.
|
|
90
|
-
*/
|
|
91
|
-
readonly retryOnce: boolean;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Pull one image with bounded retry + coalesce.
|
|
95
|
-
*
|
|
96
|
-
* Test injection: pass `docker` to override the real shell-out.
|
|
97
|
-
*/
|
|
98
|
-
export declare function pullImageWithRetry(imageRef: string, docker?: DockerImpl, policy?: PullPolicy): Promise<DockerCommandResult>;
|
|
99
56
|
export interface BootstrapResult {
|
|
100
57
|
readonly exitCode: number;
|
|
101
58
|
readonly summary: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAexB,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,CAAC;AAIF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,mDAAmD;AACnD,wBAAgB,gBAAgB,CAAC,cAAc,GAAE,MAAsB,GAAG,YAAY,CA2BrF;AAID,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,mBAAmB,CAAC;CAC/E;AAiBD,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,eAAe,CAAC,CA8P1B;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyBxD"}
|
|
@@ -26,15 +26,22 @@
|
|
|
26
26
|
* Idempotent re-run: when all images present + matching digests +
|
|
27
27
|
* services healthy, prints a brief status table and exits 0 in ≤30s.
|
|
28
28
|
*/
|
|
29
|
-
import {
|
|
29
|
+
import { spawnSync } from 'node:child_process';
|
|
30
30
|
import { existsSync, readFileSync } from 'node:fs';
|
|
31
31
|
import { join } from 'node:path';
|
|
32
32
|
import ora, {} from 'ora';
|
|
33
33
|
import pc from 'picocolors';
|
|
34
|
+
import { pullImageWithRetry, realDocker, } from '@olam/adapters';
|
|
34
35
|
import { installRoot } from '../install-root.js';
|
|
35
36
|
import { EXIT_BOOTSTRAP_PULL_FAILED, EXIT_GENERIC_ERROR, EXIT_PROTOCOL_MISMATCH, } from '../exit-codes.js';
|
|
36
37
|
import { checkProtocolOverlap, parseProtocolVersionsLabel } from '../protocol-version.js';
|
|
37
38
|
import { printError, printSuccess, printInfo, printHeader } from '../output.js';
|
|
39
|
+
// Re-export so existing call sites (upgrade.ts, auth-upgrade.ts, tests)
|
|
40
|
+
// keep importing from `./bootstrap.js` unchanged. The implementation
|
|
41
|
+
// moved to @olam/adapters/docker/pull.ts so the adapter layer can
|
|
42
|
+
// pull-before-createContainer without inverting the cli↔adapters dep
|
|
43
|
+
// direction.
|
|
44
|
+
export { pullImageWithRetry, realDocker, };
|
|
38
45
|
/** Image-digests.json schema validation + load. */
|
|
39
46
|
export function loadImageDigests(installRootDir = installRoot()) {
|
|
40
47
|
const digestsPath = join(installRootDir, 'dist', 'image-digests.json');
|
|
@@ -61,106 +68,6 @@ export function loadImageDigests(installRootDir = installRoot()) {
|
|
|
61
68
|
}
|
|
62
69
|
return parsed;
|
|
63
70
|
}
|
|
64
|
-
/** Real docker shell-out impl. */
|
|
65
|
-
export const realDocker = {
|
|
66
|
-
async info() {
|
|
67
|
-
return spawnAsync('docker', ['info']);
|
|
68
|
-
},
|
|
69
|
-
async pull(imageRef, opts) {
|
|
70
|
-
return spawnAsync('docker', ['pull', imageRef], { signal: opts?.signal });
|
|
71
|
-
},
|
|
72
|
-
async inspectLabel(imageRef, label) {
|
|
73
|
-
return spawnAsync('docker', [
|
|
74
|
-
'inspect',
|
|
75
|
-
imageRef,
|
|
76
|
-
'--format',
|
|
77
|
-
`{{ index .Config.Labels "${label}" }}`,
|
|
78
|
-
]);
|
|
79
|
-
},
|
|
80
|
-
async tag(source, target) {
|
|
81
|
-
return spawnAsync('docker', ['tag', source, target]);
|
|
82
|
-
},
|
|
83
|
-
};
|
|
84
|
-
function spawnAsync(cmd, args, opts = {}) {
|
|
85
|
-
return new Promise((resolve) => {
|
|
86
|
-
const child = spawn(cmd, [...args], {
|
|
87
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
88
|
-
signal: opts.signal,
|
|
89
|
-
});
|
|
90
|
-
let stdout = '';
|
|
91
|
-
let stderr = '';
|
|
92
|
-
child.stdout?.on('data', (chunk) => {
|
|
93
|
-
stdout += chunk.toString();
|
|
94
|
-
});
|
|
95
|
-
child.stderr?.on('data', (chunk) => {
|
|
96
|
-
stderr += chunk.toString();
|
|
97
|
-
});
|
|
98
|
-
child.on('error', (err) => {
|
|
99
|
-
resolve({ exitCode: -1, stdout, stderr: stderr + err.message });
|
|
100
|
-
});
|
|
101
|
-
child.on('close', (code) => {
|
|
102
|
-
resolve({ exitCode: code ?? -1, stdout, stderr });
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
// ── Pull orchestration with retry-throttle-coalesce ───────────────
|
|
107
|
-
/**
|
|
108
|
-
* Mirrors packages/auth-client/src/coalesce.ts: deduplicates concurrent
|
|
109
|
-
* identical-key pulls behind a single in-flight promise. If two callers
|
|
110
|
-
* ask for the same digest reference at the same time, only one
|
|
111
|
-
* `docker pull` runs; both await the same result.
|
|
112
|
-
*/
|
|
113
|
-
const inflightPulls = new Map();
|
|
114
|
-
const DEFAULT_PULL_POLICY = {
|
|
115
|
-
perAttemptTimeoutMs: 180_000,
|
|
116
|
-
retryOnce: true,
|
|
117
|
-
};
|
|
118
|
-
function isTransientPullFailure(result) {
|
|
119
|
-
// Network / 5xx / rate-limit / timeout signals from docker pull's stderr.
|
|
120
|
-
// Conservative — most other failures (manifest unknown, auth required,
|
|
121
|
-
// disk full) won't recover on retry.
|
|
122
|
-
const s = result.stderr.toLowerCase();
|
|
123
|
-
return (result.exitCode !== 0 &&
|
|
124
|
-
(/timeout|connection|temporarily|429|503|tls handshake|network/.test(s) ||
|
|
125
|
-
result.exitCode === 124 /* command timed out */ ||
|
|
126
|
-
result.exitCode === -1 /* aborted by AbortController */));
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Pull one image with bounded retry + coalesce.
|
|
130
|
-
*
|
|
131
|
-
* Test injection: pass `docker` to override the real shell-out.
|
|
132
|
-
*/
|
|
133
|
-
export async function pullImageWithRetry(imageRef, docker = realDocker, policy = DEFAULT_PULL_POLICY) {
|
|
134
|
-
const existing = inflightPulls.get(imageRef);
|
|
135
|
-
if (existing)
|
|
136
|
-
return existing;
|
|
137
|
-
const promise = (async () => {
|
|
138
|
-
let result = await pullOnce(imageRef, docker, policy.perAttemptTimeoutMs);
|
|
139
|
-
if (result.exitCode !== 0 && policy.retryOnce && isTransientPullFailure(result)) {
|
|
140
|
-
// Single retry — bounded, NOT exponential infinity.
|
|
141
|
-
result = await pullOnce(imageRef, docker, policy.perAttemptTimeoutMs);
|
|
142
|
-
}
|
|
143
|
-
return result;
|
|
144
|
-
})();
|
|
145
|
-
inflightPulls.set(imageRef, promise);
|
|
146
|
-
try {
|
|
147
|
-
return await promise;
|
|
148
|
-
}
|
|
149
|
-
finally {
|
|
150
|
-
inflightPulls.delete(imageRef);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
async function pullOnce(imageRef, docker, timeoutMs) {
|
|
154
|
-
const ac = new AbortController();
|
|
155
|
-
const timer = setTimeout(() => ac.abort(), timeoutMs).unref?.();
|
|
156
|
-
try {
|
|
157
|
-
return await docker.pull(imageRef, { signal: ac.signal });
|
|
158
|
-
}
|
|
159
|
-
finally {
|
|
160
|
-
if (timer)
|
|
161
|
-
clearTimeout(timer);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
71
|
const REAL_OLAM_SUBCOMMAND = (args) => {
|
|
165
72
|
const result = spawnSync(process.execPath, [
|
|
166
73
|
process.argv[1] ?? 'olam',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/commands/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,GAAG,EAAE,EAAY,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,kBAAkB,EAClB,UAAU,GAIX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhF,wEAAwE;AACxE,qEAAqE;AACrE,kEAAkE;AAClE,qEAAqE;AACrE,aAAa;AACb,OAAO,EACL,kBAAkB,EAClB,UAAU,GAIX,CAAC;AA4BF,mDAAmD;AACnD,MAAM,UAAU,gBAAgB,CAAC,iBAAyB,WAAW,EAAE;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACvE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,IAAI;YAC9C,6EAA6E,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yCAA0C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;IACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,+CAA+C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACnE,8CAA8C,CACjD,CAAC;IACJ,CAAC;IACD,OAAO,MAAsB,CAAC;AAChC,CAAC;AAiBD,MAAM,oBAAoB,GAAG,CAAC,IAAuB,EAAuB,EAAE;IAC5E,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM;QACzB,GAAG,IAAI;KACR,EAAE;QACD,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;KAC5B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAmB,EACnB,OAAsB,EAAE;IAExB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,UAAU,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;IACnD,MAAM,QAAQ,GACZ,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,SAAS,IAAI,eAAe,CAAC;IAEzE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAE9B,+BAA+B;IAC/B,MAAM,WAAW,GAAG,GAAG,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACxB,WAAW,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAChD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,4BAA4B,IAAI,CAAC,QAAQ,KAAK;YAC9D,sEAAsE;YACtE,aAAa,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CACpD,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IAClF,CAAC;IACD,WAAW,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAE/C,8CAA8C;IAC9C,kEAAkE;IAClE,yDAAyD;IACzD,mEAAmE;IACnE,oEAAoE;IACpE,kEAAkE;IAClE,sCAAsC;IACtC,MAAM,SAAS,GAA6F;QAC1G,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,QAAQ,iBAAiB,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE;QAC1E,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,cAAc,OAAO,CAAC,IAAI,EAAE,EAAE;QAC9D,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,QAAQ,gBAAgB,OAAO,CAAC,MAAM,EAAE,EAAE;KACrE,CAAC;IACF,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,QAAQ,kBAAkB,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,sEAAsE;IACtE,2DAA2D;IAC3D,gEAAgE;IAChE,4DAA4D;IAC5D,+DAA+D;IAC/D,iEAAiE;IACjE,2DAA2D;IAC3D,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC;YACb,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,GAAG,QAAQ,gBAAgB,OAAO,CAAC,aAAa,CAAC,EAAE;SACzD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,mBAAmB,SAAS,CAAC,MAAM,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;IACjF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI;QACJ,GAAG;QACH,MAAM,EAAE,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC;KAC9C,CAAC,CAAC,CACJ,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;IAClE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5E,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM;gBACjC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI;gBACjC,eAAe,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,CACjE,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kEAAkE;YAChE,mEAAmE;YACnE,0EAA0E,CAC7E,CAAC;QACF,OAAO;YACL,QAAQ,EAAE,0BAA0B;YACpC,OAAO,EAAE,gBAAgB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAChE,CAAC;IACJ,CAAC;IACD,WAAW,CAAC,OAAO,CAAC,UAAU,SAAS,CAAC,MAAM,cAAc,WAAW,GAAG,CAAC,CAAC;IAE5E,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,GAAG,CAAC,4CAA4C,CAAC,CAAC,KAAK,EAAE,CAAC;IACnF,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,GAAG,YAAY,OAAO,CAAC,MAAM,IAAI,CACvE,CAAC;YACF,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,mBAAmB,IAAI,EAAE,EAAE,CAAC;QAC9E,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,0BAA0B,CACzC,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAC9C,CAAC;QACF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzB,gBAAgB,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YAChE,OAAO;gBACL,QAAQ,EAAE,sBAAsB;gBAChC,OAAO,EAAE,sBAAsB,IAAI,EAAE;aACtC,CAAC;QACJ,CAAC;IACH,CAAC;IACD,gBAAgB,CAAC,OAAO,CAAC,kCAAkC,SAAS,CAAC,MAAM,UAAU,CAAC,CAAC;IAEvF,2EAA2E;IAC3E,wEAAwE;IACxE,2EAA2E;IAC3E,wEAAwE;IACxE,qEAAqE;IACrE,0BAA0B;IAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,oCAAoC,CAAC,CAAC,KAAK,EAAE,CAAC;IACrE,mEAAmE;IACnE,8BAA8B;IAC9B,6EAA6E;IAC7E,2EAA2E;IAC3E,iEAAiE;IACjE,0EAA0E;IAC1E,yEAAyE;IACzE,0EAA0E;IAC1E,qEAAqE;IACrE,0EAA0E;IAC1E,oDAAoD;IACpD,iEAAiE;IACjE,MAAM,OAAO,GAAsD;QACjE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,sBAAsB,EAAE;QACnF,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,EAAE,EAAE,iBAAiB,EAAE;QAChE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,EAAE,EAAE,oBAAoB,EAAE;KACtE,CAAC;IACF,oEAAoE;IACpE,mDAAmD;IACnD,sEAAsE;IACtE,sDAAsD;IACtD,mEAAmE;IACnE,8DAA8D;IAC9D,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAChE,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,sDAAsD;IACtD,8CAA8C;IAC9C,qEAAqE;IACrE,iEAAiE;IACjE,qDAAqD;IACrD,2DAA2D;IAC3D,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;IACtE,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC9F,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,aAAa,CAAC,GAAG;YACvB,EAAE,EAAE,GAAG,QAAQ,mBAAmB;SACnC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,UAAU,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,EAAE,YAAY,MAAM,CAAC,MAAM,IAAI,CACzE,CAAC;YACF,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,eAAe,IAAI,EAAE,EAAE,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAElD,iFAAiF;IACjF,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,IAAI,oBAAoB,CAAC;IAE/D,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3F,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC3E,CAAC;IACD,aAAa,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAEzC,MAAM,aAAa,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACrC,mEAAmE;QACnE,+DAA+D;QAC/D,gEAAgE;QAChE,6DAA6D;QAC7D,+DAA+D;QAC/D,gEAAgE;QAChE,oCAAoC;QACpC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IACrE,CAAC;IACD,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE9C,wEAAwE;IACxE,uEAAuE;IACvE,6DAA6D;IAC7D,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,8BAA8B,KAAK,GAAG,EAAE,CAAC;QAC7E,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uEAAuE;YACrE,sEAAsE;YACtE,uCAAuC;YACvC,kEAAkE,CACrE,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACzB,UAAU,CAAC,sCAAsC,CAAC,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACvE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;QACxE,CAAC;QACD,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACtC,CAAC;IAED,8DAA8D;IAC9D,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,WAAW,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,OAAO,CAAC;YACpB,QAAQ;YACR,aAAa;YACb,OAAO;YACP,QAAQ;YACR,gCAAgC;SACjC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACzB,UAAU,CAAC,2BAA2B,CAAC,CAAC;YACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1F,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QAC1E,CAAC;QACD,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,aAAa,CAAC,CAAC;IAC3B,SAAS,CAAC,cAAc,EAAE,YAAY,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3E,SAAS,CAAC,WAAW,EAAE,YAAY,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAClE,SAAS,CAAC,aAAa,EAAE,WAAW,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACrE,SAAS,CAAC,MAAM,EAAE,mDAAmD,CAAC,CAAC;IAEvE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AACjD,CAAC;AAED,qEAAqE;AAErE,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CACV,qHAAqH,CACtH;SACA,MAAM,CAAC,cAAc,EAAE,iEAAiE,CAAC;SACzF,MAAM,CAAC,mBAAmB,EAAE,yDAAyD,CAAC;SACtF,MAAM,CACL,kBAAkB,EAClB,oGAAoG,CACrG;SACA,MAAM,CAAC,KAAK,EAAE,IAAyE,EAAE,EAAE;QAC1F,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;gBAChC,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;gBAClC,aAAa,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI;gBAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* olam mcp — MCP credential
|
|
2
|
+
* olam mcp — MCP server + credential + wiring verb namespace.
|
|
3
3
|
*
|
|
4
|
-
* Subcommands: login, add, list, remove, status, import
|
|
4
|
+
* Subcommands: serve, install, uninstall, login, add, list, remove, status, import, revoke
|
|
5
5
|
* Discoverable via: olam mcp --help
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* `serve` runs the local MCP server over stdio (consumed by Claude Code).
|
|
8
|
+
* `install` / `uninstall` shell to `claude mcp add` / `claude mcp remove`
|
|
9
|
+
* to wire olam in and out of Claude Code.
|
|
10
|
+
* The remaining subcommands manage MCP credentials used by worlds.
|
|
8
11
|
*/
|
|
9
12
|
import type { Command } from 'commander';
|
|
10
13
|
export declare function registerMcp(program: Command): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAelD"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* olam mcp — MCP credential
|
|
2
|
+
* olam mcp — MCP server + credential + wiring verb namespace.
|
|
3
3
|
*
|
|
4
|
-
* Subcommands: login, add, list, remove, status, import
|
|
4
|
+
* Subcommands: serve, install, uninstall, login, add, list, remove, status, import, revoke
|
|
5
5
|
* Discoverable via: olam mcp --help
|
|
6
6
|
*
|
|
7
|
-
*
|
|
7
|
+
* `serve` runs the local MCP server over stdio (consumed by Claude Code).
|
|
8
|
+
* `install` / `uninstall` shell to `claude mcp add` / `claude mcp remove`
|
|
9
|
+
* to wire olam in and out of Claude Code.
|
|
10
|
+
* The remaining subcommands manage MCP credentials used by worlds.
|
|
8
11
|
*/
|
|
12
|
+
import { registerMcpServe } from './serve.js';
|
|
13
|
+
import { registerMcpInstall } from './install.js';
|
|
14
|
+
import { registerMcpUninstall } from './uninstall.js';
|
|
9
15
|
import { registerMcpLogin } from './login.js';
|
|
10
16
|
import { registerMcpAdd } from './add.js';
|
|
11
17
|
import { registerMcpList } from './list.js';
|
|
@@ -16,7 +22,10 @@ import { registerMcpRevoke } from './revoke.js';
|
|
|
16
22
|
export function registerMcp(program) {
|
|
17
23
|
const mcp = program
|
|
18
24
|
.command('mcp')
|
|
19
|
-
.description('
|
|
25
|
+
.description('Run the olam MCP server, wire it into Claude Code, or manage MCP credentials (serve, install, uninstall, login, add, list, remove, import, revoke)');
|
|
26
|
+
registerMcpServe(mcp);
|
|
27
|
+
registerMcpInstall(mcp);
|
|
28
|
+
registerMcpUninstall(mcp);
|
|
20
29
|
registerMcpLogin(mcp);
|
|
21
30
|
registerMcpAdd(mcp);
|
|
22
31
|
registerMcpList(mcp);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,oJAAoJ,CAAC,CAAC;IAErK,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxB,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,cAAc,CAAC,GAAG,CAAC,CAAC;IACpB,eAAe,CAAC,GAAG,CAAC,CAAC;IACrB,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvB,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvB,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACvB,iBAAiB,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types + helpers for `olam mcp install` and `olam mcp uninstall`.
|
|
3
|
+
*
|
|
4
|
+
* Both subcommands shell out to `claude mcp add`/`claude mcp remove`, take
|
|
5
|
+
* a `--scope` flag with the same enum, and need a `which`-style PATH probe.
|
|
6
|
+
* Living in a sibling file keeps the seam injectable without spreading
|
|
7
|
+
* duplicate helpers across two files.
|
|
8
|
+
*/
|
|
9
|
+
import { type SpawnSyncReturns } from 'node:child_process';
|
|
10
|
+
export type McpScope = 'user' | 'project' | 'local';
|
|
11
|
+
export interface ClaudeShellDeps {
|
|
12
|
+
spawn: (cmd: string, args: string[], opts: {
|
|
13
|
+
encoding: 'utf8';
|
|
14
|
+
stdio: ['ignore', 'pipe', 'pipe' | 'ignore'];
|
|
15
|
+
}) => SpawnSyncReturns<string>;
|
|
16
|
+
log: (msg: string) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare const DEFAULT_CLAUDE_SHELL_DEPS: ClaudeShellDeps;
|
|
19
|
+
export declare function isOnPath(deps: ClaudeShellDeps, bin: string): boolean;
|
|
20
|
+
export declare function normaliseScope(raw: string | undefined): McpScope | null;
|
|
21
|
+
export declare const REMEDY_CLAUDE_MISSING: string;
|
|
22
|
+
//# sourceMappingURL=install-shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-shared.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/install-shared.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,CACL,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAA;KAAE,KACrE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B;AAED,eAAO,MAAM,yBAAyB,EAAE,eAGvC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAQpE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAGvE;AAED,eAAO,MAAM,qBAAqB,QAEwC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types + helpers for `olam mcp install` and `olam mcp uninstall`.
|
|
3
|
+
*
|
|
4
|
+
* Both subcommands shell out to `claude mcp add`/`claude mcp remove`, take
|
|
5
|
+
* a `--scope` flag with the same enum, and need a `which`-style PATH probe.
|
|
6
|
+
* Living in a sibling file keeps the seam injectable without spreading
|
|
7
|
+
* duplicate helpers across two files.
|
|
8
|
+
*/
|
|
9
|
+
import { spawnSync } from 'node:child_process';
|
|
10
|
+
export const DEFAULT_CLAUDE_SHELL_DEPS = {
|
|
11
|
+
spawn: spawnSync,
|
|
12
|
+
log: (msg) => console.log(msg),
|
|
13
|
+
};
|
|
14
|
+
export function isOnPath(deps, bin) {
|
|
15
|
+
// Mirror `auth.ts` / `login.ts` win32 handling: `where` is the Windows equivalent of `which`.
|
|
16
|
+
const probe = process.platform === 'win32' ? 'where' : 'which';
|
|
17
|
+
const result = deps.spawn(probe, [bin], {
|
|
18
|
+
encoding: 'utf8',
|
|
19
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
20
|
+
});
|
|
21
|
+
return result.status === 0;
|
|
22
|
+
}
|
|
23
|
+
export function normaliseScope(raw) {
|
|
24
|
+
const value = (raw ?? 'user').toLowerCase();
|
|
25
|
+
return value === 'user' || value === 'project' || value === 'local' ? value : null;
|
|
26
|
+
}
|
|
27
|
+
export const REMEDY_CLAUDE_MISSING = '`claude` not found on PATH. Install Claude Code (https://docs.claude.com/claude-code) ' +
|
|
28
|
+
'or paste the JSON snippet from docs/architecture/mcp-as-npx-served.md.';
|
|
29
|
+
//# sourceMappingURL=install-shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install-shared.js","sourceRoot":"","sources":["../../../src/commands/mcp/install-shared.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAyB,MAAM,oBAAoB,CAAC;AAatE,MAAM,CAAC,MAAM,yBAAyB,GAAoB;IACxD,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;CACvC,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,IAAqB,EAAE,GAAW;IACzD,8FAA8F;IAC9F,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;QACtC,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;KACpC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAuB;IACpD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAChC,wFAAwF;IACxF,wEAAwE,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* olam mcp install — Add olam to Claude Code's MCP servers via `claude mcp add`.
|
|
3
|
+
*
|
|
4
|
+
* Auto-detects whether `olam` is on PATH: prefers globally-installed olam
|
|
5
|
+
* (no npx cold-start cost) and falls back to `npx -y @pleri/olam-cli mcp serve`.
|
|
6
|
+
*
|
|
7
|
+
* Symmetric with `olam mcp uninstall` (B2 of this plan).
|
|
8
|
+
*/
|
|
9
|
+
import type { Command } from 'commander';
|
|
10
|
+
import { type ClaudeShellDeps, type McpScope } from './install-shared.js';
|
|
11
|
+
export interface InstallOpts {
|
|
12
|
+
scope: McpScope;
|
|
13
|
+
}
|
|
14
|
+
export declare function buildClaudeMcpAddArgs(scope: McpScope, useGlobal: boolean): {
|
|
15
|
+
command: string;
|
|
16
|
+
args: string[];
|
|
17
|
+
};
|
|
18
|
+
export declare function runInstall(opts: InstallOpts, deps?: ClaudeShellDeps): Promise<number>;
|
|
19
|
+
export declare function registerMcpInstall(cmd: Command): void;
|
|
20
|
+
//# sourceMappingURL=install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/install.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,QAAQ,CAAC;CACjB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,OAAO,GACjB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAQrC;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,WAAW,EACjB,IAAI,GAAE,eAA2C,GAChD,OAAO,CAAC,MAAM,CAAC,CAyBjB;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAmBrD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* olam mcp install — Add olam to Claude Code's MCP servers via `claude mcp add`.
|
|
3
|
+
*
|
|
4
|
+
* Auto-detects whether `olam` is on PATH: prefers globally-installed olam
|
|
5
|
+
* (no npx cold-start cost) and falls back to `npx -y @pleri/olam-cli mcp serve`.
|
|
6
|
+
*
|
|
7
|
+
* Symmetric with `olam mcp uninstall` (B2 of this plan).
|
|
8
|
+
*/
|
|
9
|
+
import { printError, printSuccess } from '../../output.js';
|
|
10
|
+
import { DEFAULT_CLAUDE_SHELL_DEPS, REMEDY_CLAUDE_MISSING, isOnPath, normaliseScope, } from './install-shared.js';
|
|
11
|
+
const NPM_PACKAGE_NAME = '@pleri/olam-cli';
|
|
12
|
+
export function buildClaudeMcpAddArgs(scope, useGlobal) {
|
|
13
|
+
const target = useGlobal
|
|
14
|
+
? { cmd: 'olam', args: ['mcp', 'serve'] }
|
|
15
|
+
: { cmd: 'npx', args: ['-y', NPM_PACKAGE_NAME, 'mcp', 'serve'] };
|
|
16
|
+
return {
|
|
17
|
+
command: 'claude',
|
|
18
|
+
args: ['mcp', 'add', 'olam', '--scope', scope, '--', target.cmd, ...target.args],
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export async function runInstall(opts, deps = DEFAULT_CLAUDE_SHELL_DEPS) {
|
|
22
|
+
if (!isOnPath(deps, 'claude')) {
|
|
23
|
+
printError(REMEDY_CLAUDE_MISSING);
|
|
24
|
+
return 1;
|
|
25
|
+
}
|
|
26
|
+
const useGlobal = isOnPath(deps, 'olam');
|
|
27
|
+
const { command, args } = buildClaudeMcpAddArgs(opts.scope, useGlobal);
|
|
28
|
+
deps.log(`Wiring: ${command} ${args.join(' ')}`);
|
|
29
|
+
const result = deps.spawn(command, args, {
|
|
30
|
+
encoding: 'utf8',
|
|
31
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
32
|
+
});
|
|
33
|
+
if (result.status !== 0) {
|
|
34
|
+
const detail = result.stderr?.trim() || result.stdout?.trim() || '(no output)';
|
|
35
|
+
printError(`claude mcp add failed (rc=${result.status ?? 'unknown'}): ${detail}`);
|
|
36
|
+
return result.status ?? 1;
|
|
37
|
+
}
|
|
38
|
+
printSuccess(`olam MCP registered with claude (--scope ${opts.scope}; command: ${useGlobal ? 'olam' : 'npx'}).`);
|
|
39
|
+
return 0;
|
|
40
|
+
}
|
|
41
|
+
export function registerMcpInstall(cmd) {
|
|
42
|
+
cmd
|
|
43
|
+
.command('install')
|
|
44
|
+
.description('Add olam to Claude Code as an MCP server (auto-detects whether `olam` is on PATH; shells to `claude mcp add`)')
|
|
45
|
+
.option('--scope <scope>', 'claude mcp scope: user | project | local', 'user')
|
|
46
|
+
.action(async (rawOpts) => {
|
|
47
|
+
const scope = normaliseScope(rawOpts.scope);
|
|
48
|
+
if (scope === null) {
|
|
49
|
+
printError(`--scope must be one of: user, project, local (got: ${rawOpts.scope})`);
|
|
50
|
+
process.exitCode = 1;
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
const rc = await runInstall({ scope });
|
|
54
|
+
if (rc !== 0) {
|
|
55
|
+
process.exitCode = rc;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/mcp/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* olam mcp serve — Run the olam MCP server (stdio transport).
|
|
3
|
+
*
|
|
4
|
+
* Claude Code wires this via `claude mcp add olam --scope user -- npx -y @pleri/olam-cli mcp serve`.
|
|
5
|
+
*
|
|
6
|
+
* Consumes the publish-time bundle at `packages/cli/dist/mcp-server.js` (Decision 27
|
|
7
|
+
* in `docs/plans/olam-continuous-distribution/`). The bundle's top-level
|
|
8
|
+
* `main().catch(...)` invocation auto-runs the stdio loop on import.
|
|
9
|
+
*/
|
|
10
|
+
import type { Command } from 'commander';
|
|
11
|
+
export declare function registerMcpServe(cmd: Command): void;
|
|
12
|
+
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAiBnD"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* olam mcp serve — Run the olam MCP server (stdio transport).
|
|
3
|
+
*
|
|
4
|
+
* Claude Code wires this via `claude mcp add olam --scope user -- npx -y @pleri/olam-cli mcp serve`.
|
|
5
|
+
*
|
|
6
|
+
* Consumes the publish-time bundle at `packages/cli/dist/mcp-server.js` (Decision 27
|
|
7
|
+
* in `docs/plans/olam-continuous-distribution/`). The bundle's top-level
|
|
8
|
+
* `main().catch(...)` invocation auto-runs the stdio loop on import.
|
|
9
|
+
*/
|
|
10
|
+
import { existsSync } from 'node:fs';
|
|
11
|
+
import { dirname, resolve } from 'node:path';
|
|
12
|
+
import { fileURLToPath } from 'node:url';
|
|
13
|
+
import { printError } from '../../output.js';
|
|
14
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
15
|
+
// dist/commands/mcp/serve.js → dist/mcp-server.js
|
|
16
|
+
const BUNDLE_PATH = resolve(here, '..', '..', 'mcp-server.js');
|
|
17
|
+
const MISSING_BUNDLE_REMEDY = 'olam mcp server bundle missing at dist/mcp-server.js. ' +
|
|
18
|
+
'For local dev, run: node packages/cli/scripts/bundle-mcp-server.mjs. ' +
|
|
19
|
+
'Published @pleri/olam-cli tarballs always include this bundle (per prepublishOnly).';
|
|
20
|
+
export function registerMcpServe(cmd) {
|
|
21
|
+
cmd
|
|
22
|
+
.command('serve')
|
|
23
|
+
.description('Run the olam MCP server (stdio transport). Claude Code wires this via `claude mcp add olam --scope user -- npx -y @pleri/olam-cli mcp serve`.')
|
|
24
|
+
.action(async () => {
|
|
25
|
+
if (!existsSync(BUNDLE_PATH)) {
|
|
26
|
+
printError(MISSING_BUNDLE_REMEDY);
|
|
27
|
+
process.exitCode = 1;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// The bundle's top-level `main().catch(...)` auto-runs the stdio loop on import.
|
|
31
|
+
// Awaiting the dynamic import resolves once the module is loaded; the StdioServerTransport
|
|
32
|
+
// keeps the event loop alive until the client closes stdin.
|
|
33
|
+
await import(BUNDLE_PATH);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=serve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/mcp/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrD,kDAAkD;AAClD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;AAE/D,MAAM,qBAAqB,GACzB,wDAAwD;IACxD,uEAAuE;IACvE,qFAAqF,CAAC;AAExF,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,GAAG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CACV,+IAA+I,CAChJ;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,UAAU,CAAC,qBAAqB,CAAC,CAAC;YAClC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,iFAAiF;QACjF,2FAA2F;QAC3F,4DAA4D;QAC5D,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* olam mcp uninstall — Remove olam from Claude Code's MCP servers via
|
|
3
|
+
* `claude mcp remove`. Symmetric with `olam mcp install` (B1).
|
|
4
|
+
*
|
|
5
|
+
* Handles "not installed" gracefully — claude reports a non-zero exit
|
|
6
|
+
* with an informative stderr; we parse that and return success-as-noop
|
|
7
|
+
* so the command is idempotent.
|
|
8
|
+
*/
|
|
9
|
+
import type { Command } from 'commander';
|
|
10
|
+
import { type ClaudeShellDeps, type McpScope } from './install-shared.js';
|
|
11
|
+
export interface UninstallOpts {
|
|
12
|
+
scope: McpScope;
|
|
13
|
+
}
|
|
14
|
+
export declare function buildClaudeMcpRemoveArgs(scope: McpScope): {
|
|
15
|
+
command: string;
|
|
16
|
+
args: string[];
|
|
17
|
+
};
|
|
18
|
+
export declare function runUninstall(opts: UninstallOpts, deps?: ClaudeShellDeps): Promise<number>;
|
|
19
|
+
export declare function registerMcpUninstall(cmd: Command): void;
|
|
20
|
+
//# sourceMappingURL=uninstall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/commands/mcp/uninstall.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,QAAQ,CAAC;CACjB;AAaD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,QAAQ,GAAG;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAKA;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,eAA2C,GAChD,OAAO,CAAC,MAAM,CAAC,CAkCjB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAmBvD"}
|