@lannguyensi/harness 0.44.0 → 0.45.0
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/CHANGELOG.md +1213 -0
- package/dist/cli/adopt/derive.d.ts +16 -7
- package/dist/cli/adopt/derive.js +19 -2
- package/dist/cli/adopt/derive.js.map +1 -1
- package/dist/cli/adopt/index.js +18 -3
- package/dist/cli/adopt/index.js.map +1 -1
- package/dist/cli/apply/apply.d.ts +1 -0
- package/dist/cli/apply/apply.js +62 -6
- package/dist/cli/apply/apply.js.map +1 -1
- package/dist/cli/apply/generate-codex-config.js +5 -6
- package/dist/cli/apply/generate-codex-config.js.map +1 -1
- package/dist/cli/apply/generate-opencode-config.d.ts +58 -0
- package/dist/cli/apply/generate-opencode-config.js +210 -0
- package/dist/cli/apply/generate-opencode-config.js.map +1 -0
- package/dist/cli/apply/generate-settings.d.ts +90 -32
- package/dist/cli/apply/generate-settings.js +133 -10
- package/dist/cli/apply/generate-settings.js.map +1 -1
- package/dist/cli/apply/index.d.ts +2 -1
- package/dist/cli/apply/index.js +2 -1
- package/dist/cli/apply/index.js.map +1 -1
- package/dist/cli/approve/stdin-report.d.ts +15 -0
- package/dist/cli/approve/stdin-report.js +1 -1
- package/dist/cli/approve/stdin-report.js.map +1 -1
- package/dist/cli/approve/understanding.d.ts +75 -0
- package/dist/cli/approve/understanding.js +150 -2
- package/dist/cli/approve/understanding.js.map +1 -1
- package/dist/cli/audit.d.ts +1 -1
- package/dist/cli/audit.js +3 -2
- package/dist/cli/audit.js.map +1 -1
- package/dist/cli/doctor/claude-mcp.d.ts +19 -1
- package/dist/cli/doctor/claude-mcp.js +36 -10
- package/dist/cli/doctor/claude-mcp.js.map +1 -1
- package/dist/cli/doctor/codex.d.ts +3 -1
- package/dist/cli/doctor/codex.js +6 -9
- package/dist/cli/doctor/codex.js.map +1 -1
- package/dist/cli/doctor/format.js +94 -8
- package/dist/cli/doctor/format.js.map +1 -1
- package/dist/cli/doctor/index.d.ts +23 -0
- package/dist/cli/doctor/index.js +106 -2
- package/dist/cli/doctor/index.js.map +1 -1
- package/dist/cli/doctor/opencode.d.ts +24 -0
- package/dist/cli/doctor/opencode.js +107 -0
- package/dist/cli/doctor/opencode.js.map +1 -0
- package/dist/cli/doctor/target-checks.d.ts +11 -0
- package/dist/cli/doctor/target-checks.js +25 -0
- package/dist/cli/doctor/target-checks.js.map +1 -0
- package/dist/cli/doctor/toolchain-parity.d.ts +63 -0
- package/dist/cli/doctor/toolchain-parity.js +154 -0
- package/dist/cli/doctor/toolchain-parity.js.map +1 -0
- package/dist/cli/doctor/types.d.ts +85 -1
- package/dist/cli/doctor/types.js +1 -1
- package/dist/cli/doctor/types.js.map +1 -1
- package/dist/cli/doctor/understanding-mode-env.d.ts +39 -0
- package/dist/cli/doctor/understanding-mode-env.js +83 -0
- package/dist/cli/doctor/understanding-mode-env.js.map +1 -0
- package/dist/cli/dry-run.js +32 -17
- package/dist/cli/dry-run.js.map +1 -1
- package/dist/cli/explain.d.ts +1 -1
- package/dist/cli/explain.js +1 -1
- package/dist/cli/explain.js.map +1 -1
- package/dist/cli/index.js +58 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/composer.js +36 -13
- package/dist/cli/init/composer.js.map +1 -1
- package/dist/cli/init/interactive.d.ts +7 -4
- package/dist/cli/init/interactive.js +79 -27
- package/dist/cli/init/interactive.js.map +1 -1
- package/dist/cli/init/profiles.d.ts +2 -2
- package/dist/cli/init/profiles.js +32 -1
- package/dist/cli/init/profiles.js.map +1 -1
- package/dist/cli/init/templates.d.ts +2 -1
- package/dist/cli/init/templates.js +130 -20
- package/dist/cli/init/templates.js.map +1 -1
- package/dist/cli/pack/approve-escape.js +69 -8
- package/dist/cli/pack/approve-escape.js.map +1 -1
- package/dist/cli/pack/hook-branch-protection.js +1 -1
- package/dist/cli/pack/hook-branch-protection.js.map +1 -1
- package/dist/cli/pack/hook-codex-pre-tool-use.js +27 -1
- package/dist/cli/pack/hook-codex-pre-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-post-merge-gate.js +1 -1
- package/dist/cli/pack/hook-post-merge-gate.js.map +1 -1
- package/dist/cli/pack/hook-pre-tool-use.js +91 -4
- package/dist/cli/pack/hook-pre-tool-use.js.map +1 -1
- package/dist/cli/pack/hook-solution-acceptance.js +19 -2
- package/dist/cli/pack/hook-solution-acceptance.js.map +1 -1
- package/dist/cli/pack/understanding-report-schema-hint.d.ts +13 -0
- package/dist/cli/pack/understanding-report-schema-hint.js +52 -3
- package/dist/cli/pack/understanding-report-schema-hint.js.map +1 -1
- package/dist/cli/pause/index.js +1 -1
- package/dist/cli/pause/index.js.map +1 -1
- package/dist/cli/policy/intercept.d.ts +148 -0
- package/dist/cli/policy/intercept.js +379 -48
- package/dist/cli/policy/intercept.js.map +1 -1
- package/dist/cli/session-start/index.d.ts +12 -3
- package/dist/cli/session-start/index.js +67 -11
- package/dist/cli/session-start/index.js.map +1 -1
- package/dist/cli/session-start/stale-base-check.d.ts +71 -0
- package/dist/cli/session-start/stale-base-check.js +379 -0
- package/dist/cli/session-start/stale-base-check.js.map +1 -0
- package/dist/cli/session-start/toolchain-parity.d.ts +142 -8
- package/dist/cli/session-start/toolchain-parity.js +244 -36
- package/dist/cli/session-start/toolchain-parity.js.map +1 -1
- package/dist/cli/smoke/assertions.d.ts +9 -2
- package/dist/cli/smoke/assertions.js +9 -2
- package/dist/cli/smoke/assertions.js.map +1 -1
- package/dist/cli/uninstall/index.js +18 -2
- package/dist/cli/uninstall/index.js.map +1 -1
- package/dist/cli/validate/checks.d.ts +3 -1
- package/dist/cli/validate/checks.js +298 -3
- package/dist/cli/validate/checks.js.map +1 -1
- package/dist/io/claude-mcp.d.ts +122 -1
- package/dist/io/claude-mcp.js +214 -12
- package/dist/io/claude-mcp.js.map +1 -1
- package/dist/io/duration.js.map +1 -0
- package/dist/io/expand-home.js.map +1 -0
- package/dist/io/extract.js.map +1 -0
- package/dist/io/harness-lock.js +1 -1
- package/dist/io/harness-lock.js.map +1 -1
- package/dist/{runtime → io}/ledger-record.d.ts +1 -1
- package/dist/io/ledger-record.js.map +1 -0
- package/dist/policies/index.d.ts +2 -2
- package/dist/policies/index.js +2 -2
- package/dist/policies/index.js.map +1 -1
- package/dist/policies/ledger-client.js +10 -6
- package/dist/policies/ledger-client.js.map +1 -1
- package/dist/policies/producers.js +1 -1
- package/dist/policies/producers.js.map +1 -1
- package/dist/policies/requires.js +2 -2
- package/dist/policies/requires.js.map +1 -1
- package/dist/policy-packs/builtin/branch-protection.js +28 -3
- package/dist/policy-packs/builtin/branch-protection.js.map +1 -1
- package/dist/policy-packs/builtin/post-merge-gate.js +45 -9
- package/dist/policy-packs/builtin/post-merge-gate.js.map +1 -1
- package/dist/policy-packs/builtin/solution-acceptance-runtime.d.ts +139 -8
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js +246 -12
- package/dist/policy-packs/builtin/solution-acceptance-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/solution-acceptance.js +17 -3
- package/dist/policy-packs/builtin/solution-acceptance.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.d.ts +25 -0
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js +89 -0
- package/dist/policy-packs/builtin/understanding-before-execution/active-claim.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/index.d.ts +13 -0
- package/dist/policy-packs/builtin/understanding-before-execution/index.js +39 -0
- package/dist/policy-packs/builtin/understanding-before-execution/index.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.d.ts +25 -0
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.js +56 -0
- package/dist/policy-packs/builtin/understanding-before-execution/ledger.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.d.ts +20 -0
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js +79 -0
- package/dist/policy-packs/builtin/understanding-before-execution/lifecycle.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/markers.d.ts +103 -0
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js +203 -0
- package/dist/policy-packs/builtin/understanding-before-execution/markers.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.d.ts +177 -0
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js +309 -0
- package/dist/policy-packs/builtin/understanding-before-execution/persisted-reports.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.d.ts +106 -0
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js +209 -0
- package/dist/policy-packs/builtin/understanding-before-execution/post-tool-use-boundary.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.d.ts +78 -0
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js +185 -0
- package/dist/policy-packs/builtin/understanding-before-execution/task-markers.js.map +1 -0
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.d.ts +1 -536
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js +9 -1095
- package/dist/policy-packs/builtin/understanding-before-execution-runtime.js.map +1 -1
- package/dist/policy-packs/builtin/understanding-before-execution.d.ts +109 -1
- package/dist/policy-packs/builtin/understanding-before-execution.js +183 -15
- package/dist/policy-packs/builtin/understanding-before-execution.js.map +1 -1
- package/dist/policy-packs/registry.d.ts +11 -0
- package/dist/policy-packs/registry.js +1 -1
- package/dist/policy-packs/registry.js.map +1 -1
- package/dist/policy-packs/runtime.d.ts +1 -1
- package/dist/policy-packs/runtime.js +10 -1
- package/dist/policy-packs/runtime.js.map +1 -1
- package/dist/runtime/agent-facing.js +1 -1
- package/dist/runtime/agent-facing.js.map +1 -1
- package/dist/runtime/bash-match-facts.d.ts +9 -7
- package/dist/runtime/bash-match-facts.js +9 -7
- package/dist/runtime/bash-match-facts.js.map +1 -1
- package/dist/runtime/bash-match-registry.d.ts +75 -38
- package/dist/runtime/bash-match-registry.js +279 -232
- package/dist/runtime/bash-match-registry.js.map +1 -1
- package/dist/runtime/bash-prefix-parse.d.ts +7 -0
- package/dist/runtime/bash-prefix-parse.js +205 -17
- package/dist/runtime/bash-prefix-parse.js.map +1 -1
- package/dist/runtime/command-normalize.d.ts +112 -0
- package/dist/runtime/command-normalize.js +411 -38
- package/dist/runtime/command-normalize.js.map +1 -1
- package/dist/runtime/hermetic-spawn-guard.js +6 -0
- package/dist/runtime/hermetic-spawn-guard.js.map +1 -1
- package/dist/runtime/index.d.ts +2 -2
- package/dist/runtime/index.js +2 -2
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/intercept.d.ts +78 -3
- package/dist/runtime/intercept.js +151 -39
- package/dist/runtime/intercept.js.map +1 -1
- package/dist/runtime/ledger-add.js +1 -1
- package/dist/runtime/ledger-add.js.map +1 -1
- package/dist/runtime/read-only-bash.js +303 -24
- package/dist/runtime/read-only-bash.js.map +1 -1
- package/dist/schema/doctor.d.ts +25 -0
- package/dist/schema/doctor.js +23 -0
- package/dist/schema/doctor.js.map +1 -0
- package/dist/schema/extract.js +1 -1
- package/dist/schema/extract.js.map +1 -1
- package/dist/schema/index.d.ts +76 -0
- package/dist/schema/index.js +9 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/requires.js +2 -2
- package/dist/schema/requires.js.map +1 -1
- package/dist/schema/risk.d.ts +7 -0
- package/dist/schema/risk.js +23 -0
- package/dist/schema/risk.js.map +1 -1
- package/dist/schema/stale-base-check.d.ts +18 -0
- package/dist/schema/stale-base-check.js +37 -0
- package/dist/schema/stale-base-check.js.map +1 -0
- package/dist/schema/toolchain-parity.d.ts +3 -0
- package/dist/schema/toolchain-parity.js +13 -0
- package/dist/schema/toolchain-parity.js.map +1 -1
- package/package.json +3 -2
- package/dist/policies/duration.js.map +0 -1
- package/dist/policies/extract.js.map +0 -1
- package/dist/runtime/expand-home.js.map +0 -1
- package/dist/runtime/ledger-record.js.map +0 -1
- /package/dist/{policies → io}/duration.d.ts +0 -0
- /package/dist/{policies → io}/duration.js +0 -0
- /package/dist/{runtime → io}/expand-home.d.ts +0 -0
- /package/dist/{runtime → io}/expand-home.js +0 -0
- /package/dist/{policies → io}/extract.d.ts +0 -0
- /package/dist/{policies → io}/extract.js +0 -0
- /package/dist/{runtime → io}/ledger-record.js +0 -0
package/dist/io/claude-mcp.d.ts
CHANGED
|
@@ -9,13 +9,37 @@ export interface ClaudeMcpExecResult {
|
|
|
9
9
|
timedOut: boolean;
|
|
10
10
|
}
|
|
11
11
|
export interface ClaudeMcpExec {
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* `configDir`, when given (batch19/T-005, Finding 2), is the value the
|
|
14
|
+
* real spawn must expose as `CLAUDE_CONFIG_DIR` so it operates on
|
|
15
|
+
* exactly the registry file the caller resolved `registryPath` from. A
|
|
16
|
+
* fake `exec` injected by a test is free to ignore this third argument
|
|
17
|
+
* entirely — it never spawns for real, so there is no env to align.
|
|
18
|
+
*/
|
|
19
|
+
(args: string[], timeoutMs: number, configDir?: string): Promise<ClaudeMcpExecResult>;
|
|
13
20
|
}
|
|
14
21
|
export interface ClaudeMcpCallOptions {
|
|
15
22
|
/** Override the `claude` spawn. Tests inject a fake; default is the real CLI. */
|
|
16
23
|
exec?: ClaudeMcpExec;
|
|
17
24
|
/** Per-call timeout in ms. Default {@link DEFAULT_TIMEOUT_MS}. */
|
|
18
25
|
timeoutMs?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Value to expose as `CLAUDE_CONFIG_DIR` to a REAL `claude` spawn
|
|
28
|
+
* (batch19/T-005, Finding 2) — forwarded verbatim as `exec`'s third
|
|
29
|
+
* argument. `ensureMcpServers` derives this via
|
|
30
|
+
* {@link resolveMcpConfigDirOverride} — NOT unconditionally
|
|
31
|
+
* `path.dirname(registryPath)` (that was the R1 shape; see the module
|
|
32
|
+
* doc's "CORRECTION" note for why it was wrong on the default path) —
|
|
33
|
+
* so a real spawn and the drift-read it was compared against always
|
|
34
|
+
* target the same file, including under a non-default `homeDir`/
|
|
35
|
+
* `--home`, while the pure default path gets `undefined` (no override).
|
|
36
|
+
* `uninstall`'s `removeMcpServer` call threads the same helper's result
|
|
37
|
+
* (Fix 3, R2). Leave undefined for a bare verb call that has no
|
|
38
|
+
* registry-path resolution to align against at all (doctor's
|
|
39
|
+
* `listMcpServers`). Ignored by an injected test `exec` (no real spawn
|
|
40
|
+
* happens under test, so there is no env to align).
|
|
41
|
+
*/
|
|
42
|
+
configDir?: string;
|
|
19
43
|
}
|
|
20
44
|
/** Claude Code's `mcpServers` entry shape: command + optional args/env (matches SettingsMcpServer in generate-settings.ts). */
|
|
21
45
|
export interface ClaudeMcpServerSpec {
|
|
@@ -110,6 +134,45 @@ export interface ResolveRegistryPathOptions {
|
|
|
110
134
|
* `src/cli/uninstall/index.ts` (`probeProjectLocalClaudeJson`).
|
|
111
135
|
*/
|
|
112
136
|
export declare function resolveClaudeUserRegistryPath(opts?: ResolveRegistryPathOptions): string;
|
|
137
|
+
/**
|
|
138
|
+
* Decide the `CLAUDE_CONFIG_DIR` value (if any) a REAL `claude` spawn must
|
|
139
|
+
* be given so it resolves to the SAME registry file the caller already
|
|
140
|
+
* derived via `resolveClaudeUserRegistryPath`'s own precedence (batch19/
|
|
141
|
+
* T-005-R2, review round 2, Fix 2 — task fb3e4dce). This CORRECTS the R1
|
|
142
|
+
* shape (`configDir = path.dirname(registryPath)`, unconditionally): on
|
|
143
|
+
* the pure default resolution, `registryPath` is `~/.claude.json`
|
|
144
|
+
* (directly under HOME), so `path.dirname(registryPath)` is `~` itself —
|
|
145
|
+
* NOT `~/.claude`, the `claude` CLI's own actual default `CLAUDE_CONFIG_DIR`
|
|
146
|
+
* for everything OTHER than the registry file (settings.json, backups,
|
|
147
|
+
* ...). Forcing `CLAUDE_CONFIG_DIR=~` on every real spawn silently moved
|
|
148
|
+
* the CLI's own config-dir default away from `~/.claude` to `~` — see the
|
|
149
|
+
* module doc's "CORRECTION" note for the empirical symptom this produced.
|
|
150
|
+
*
|
|
151
|
+
* Only emits an override when the resolution actually used one:
|
|
152
|
+
* - an explicit `registryPath` override always needs one — there is no
|
|
153
|
+
* way the CLI's own default resolution lands there on its own;
|
|
154
|
+
* - an effective `CLAUDE_CONFIG_DIR` in `env` (the same branch
|
|
155
|
+
* `resolveClaudeUserRegistryPath` takes) is passed straight through —
|
|
156
|
+
* covers a caller whose `env` differs from the actual `process.env` a
|
|
157
|
+
* real spawn would otherwise inherit;
|
|
158
|
+
* - a `homeDir` whose resolved value differs from
|
|
159
|
+
* {@link defaultClaudeHomeDir} needs one too, for the same reason as
|
|
160
|
+
* the explicit-`registryPath` case.
|
|
161
|
+
* The PURE default (none of the above) returns `undefined`: the real
|
|
162
|
+
* spawn then gets no explicit `env` override at all (see
|
|
163
|
+
* `realClaudeMcpExec`), i.e. plain `process.env` inheritance — exactly
|
|
164
|
+
* what the CLI's own default resolution already does on its own, and a
|
|
165
|
+
* genuine no-op against pre-fix default-path behavior (unlike the R1
|
|
166
|
+
* shape, which was NOT a no-op there).
|
|
167
|
+
*/
|
|
168
|
+
export declare function resolveMcpConfigDirOverride(opts: {
|
|
169
|
+
/** Explicit registry-path override, if the caller gave one directly (mirrors `EnsureMcpServersOptions.registryPath`). */
|
|
170
|
+
registryPath?: string;
|
|
171
|
+
/** homeDir input exactly as the caller gave it — may be undefined (the OS default). */
|
|
172
|
+
homeDir?: string;
|
|
173
|
+
/** Override for process.env (CLAUDE_CONFIG_DIR lookup). Defaults to `process.env`. */
|
|
174
|
+
env?: NodeJS.ProcessEnv;
|
|
175
|
+
}): string | undefined;
|
|
113
176
|
export interface RegistryReadResult {
|
|
114
177
|
servers: Record<string, unknown>;
|
|
115
178
|
error: string | null;
|
|
@@ -128,6 +191,45 @@ export interface RegistryReadResult {
|
|
|
128
191
|
*/
|
|
129
192
|
export declare function readTopLevelMcpServers(registryPath: string): RegistryReadResult;
|
|
130
193
|
export type EnsureAction = "noop" | "add" | "replace" | "skipped";
|
|
194
|
+
/**
|
|
195
|
+
* Result of verifying an `add-json` "already exists" outcome (batch19/
|
|
196
|
+
* T-005, Finding 3) via `claude mcp get` + a fresh registry-file re-read.
|
|
197
|
+
* See the module doc's "Finding 3" note for why a re-read of the file (not
|
|
198
|
+
* `get`'s own stdout) is what supplies the spec comparison.
|
|
199
|
+
*
|
|
200
|
+
* R2 correction (Fix 4, task fb3e4dce, review round 2): `getStatus` has
|
|
201
|
+
* THREE meaningfully different shapes, not two — `"found"` (positive),
|
|
202
|
+
* `"not-found"` (a genuine negative: `get` exited its documented "absent"
|
|
203
|
+
* code), and `"timeout"`/`"cli-missing"` (INCONCLUSIVE: `get` never
|
|
204
|
+
* actually answered the question either way). The R1 code treated
|
|
205
|
+
* anything other than `"found"` as a reason to leave `matches: false`,
|
|
206
|
+
* which meant a `get` that merely couldn't run (a transient CLI timeout,
|
|
207
|
+
* or the CLI going missing between the `add-json` and `get` calls) could
|
|
208
|
+
* silently override a File-verified match and block the caller's
|
|
209
|
+
* migration gate on nothing more than bad luck. Fixed: only a genuine
|
|
210
|
+
* `"not-found"` (or a spec mismatch) keeps `matches: false` without
|
|
211
|
+
* consulting the file; `"found"` OR an inconclusive `getStatus` both fall
|
|
212
|
+
* through to the same file-based spec comparison — the file, not `get`'s
|
|
213
|
+
* own exit code, is what actually answers "is `desired[name]` genuinely
|
|
214
|
+
* already registered".
|
|
215
|
+
*/
|
|
216
|
+
export interface VerifiedAlreadyExistsResult {
|
|
217
|
+
/** Outcome of the `claude mcp get <name>` call used to confirm existence. */
|
|
218
|
+
getStatus: GetStatus;
|
|
219
|
+
/**
|
|
220
|
+
* `true` iff `getStatus !== "not-found"` (i.e. `get` either positively
|
|
221
|
+
* confirmed the name, or was merely inconclusive — see the R2 note
|
|
222
|
+
* above) AND a fresh re-read of the SAME registry file `ensureMcpServers`
|
|
223
|
+
* derived `registryPath` from shows a spec identical to `desired[name]`
|
|
224
|
+
* (same equality `specsEqual` already uses for drift detection). A
|
|
225
|
+
* verified match means the caller's target state already holds — treat
|
|
226
|
+
* this the same as a fresh "added" for gating purposes. `false`
|
|
227
|
+
* (`get` positively found nothing there, the re-read errored, or the
|
|
228
|
+
* spec genuinely differs) preserves the prior conservative behavior:
|
|
229
|
+
* the caller must keep treating the overall result as not-yet-successful.
|
|
230
|
+
*/
|
|
231
|
+
matches: boolean;
|
|
232
|
+
}
|
|
131
233
|
export interface EnsureServerResult {
|
|
132
234
|
name: string;
|
|
133
235
|
action: EnsureAction;
|
|
@@ -137,6 +239,8 @@ export interface EnsureServerResult {
|
|
|
137
239
|
add?: AddJsonResult;
|
|
138
240
|
/** Present when action === "skipped": the registry file could not be read safely, so drift cannot be determined. */
|
|
139
241
|
reason?: string;
|
|
242
|
+
/** Present iff `add?.status === "already-exists"` — see {@link VerifiedAlreadyExistsResult}. */
|
|
243
|
+
verifiedAlreadyExists?: VerifiedAlreadyExistsResult;
|
|
140
244
|
}
|
|
141
245
|
export interface EnsureMcpServersGcOptions {
|
|
142
246
|
/**
|
|
@@ -241,6 +345,23 @@ export interface EnsureMcpServersResult {
|
|
|
241
345
|
* registry couldn't be read safely, GC is skipped too, mirroring the main
|
|
242
346
|
* loop (`gc.registryReadError` set, `gc.results` empty) — same "never
|
|
243
347
|
* guess" rule.
|
|
348
|
+
*
|
|
349
|
+
* `configDir` (batch19/T-005, Finding 2; corrected R2 — see
|
|
350
|
+
* {@link resolveMcpConfigDirOverride}) is threaded to every CLI call this
|
|
351
|
+
* function makes, so a REAL `claude` spawn (`realClaudeMcpExec`, when the
|
|
352
|
+
* caller didn't inject `opts.exec`) mutates/reads exactly the registry
|
|
353
|
+
* file this function's own drift comparison just read — no divergence
|
|
354
|
+
* under a non-default `homeDir`/`--home`/`registryPath` override. On the
|
|
355
|
+
* PURE default resolution (no override anywhere), `configDir` is
|
|
356
|
+
* `undefined` instead — a real spawn there gets no explicit `env` at all,
|
|
357
|
+
* matching the CLI's own default resolution exactly (see that function's
|
|
358
|
+
* doc for why the R1 shape, an unconditional `path.dirname(registryPath)`,
|
|
359
|
+
* was wrong on this exact path).
|
|
360
|
+
*
|
|
361
|
+
* An `add-json` "already exists" outcome (Finding 3) is verified via
|
|
362
|
+
* `addAndVerifyAlreadyExists` before being reported: see
|
|
363
|
+
* {@link VerifiedAlreadyExistsResult} for what a caller does with the
|
|
364
|
+
* result.
|
|
244
365
|
*/
|
|
245
366
|
export declare function ensureMcpServers(opts: EnsureMcpServersOptions): Promise<EnsureMcpServersResult>;
|
|
246
367
|
export interface StripOwnedMcpServersResult {
|
package/dist/io/claude-mcp.js
CHANGED
|
@@ -49,6 +49,70 @@
|
|
|
49
49
|
// of "✔ Connected" | "✘ Failed to connect" | "! Needs authentication".
|
|
50
50
|
// Respects CLAUDE_CONFIG_DIR: the user-scope registry then lives at
|
|
51
51
|
// $CLAUDE_CONFIG_DIR/.claude.json instead of ~/.claude.json.
|
|
52
|
+
//
|
|
53
|
+
// Re-verified/extended (empirical probe, 2026-08-19, disposable
|
|
54
|
+
// CLAUDE_CONFIG_DIR, batch19/T-005 — task fb3e4dce): `claude mcp get
|
|
55
|
+
// <name>`'s stdout is human-readable prose (`<name>:\n Scope: ...\n
|
|
56
|
+
// Status: ...\n Issue: ...`) — it does NOT print the registered
|
|
57
|
+
// `command`/`args`/`env`, on Claude Code 2.1.235. This is why the
|
|
58
|
+
// already-exists verification below (`addAndVerifyAlreadyExists`)
|
|
59
|
+
// confirms EXISTENCE via `get`'s exit code, then compares the actual
|
|
60
|
+
// registered spec via a fresh re-read of the same registry file
|
|
61
|
+
// `ensureMcpServers` already trusts for drift comparison — `get`'s prose
|
|
62
|
+
// output has nothing machine-parseable to compare against.
|
|
63
|
+
// Two review findings fixed here (batch19/T-005, task fb3e4dce, follow-up
|
|
64
|
+
// to run 2026-07-18-init-mcp-wiring-claude-code):
|
|
65
|
+
// Finding 2 (CLAUDE_CONFIG_DIR drift): `realClaudeMcpExec` used to spawn
|
|
66
|
+
// `claude` with no explicit `env`, so it inherited `process.env`
|
|
67
|
+
// verbatim — identical to `ensureMcpServers`'s drift-read directory only
|
|
68
|
+
// when `homeDir`/`registryPath` happens to match the OS default. A
|
|
69
|
+
// non-default home (`--home`, or any `homeDir`/`registryPath` override)
|
|
70
|
+
// made the live CLI spawn mutate/read a DIFFERENT `.claude.json` than
|
|
71
|
+
// the one `ensureMcpServers` just compared against. Fixed by threading
|
|
72
|
+
// `ClaudeMcpCallOptions.configDir` (== `path.dirname(registryPath)`,
|
|
73
|
+
// always, both branches of `resolveClaudeUserRegistryPath`'s precedence)
|
|
74
|
+
// through every verb wrapper to `exec`'s new third argument;
|
|
75
|
+
// `realClaudeMcpExec` sets `CLAUDE_CONFIG_DIR` in the child's env from
|
|
76
|
+
// it. `configDir` undefined (every caller other than `ensureMcpServers`
|
|
77
|
+
// today) preserves the pre-existing behavior exactly: no explicit `env`
|
|
78
|
+
// passed to `spawn`, i.e. plain `process.env` inheritance.
|
|
79
|
+
// Finding 3 (already-exists treated as failure): `ensureMcpServers`
|
|
80
|
+
// used to report an `add-json` "already exists" outcome exactly like any
|
|
81
|
+
// other add failure, even though the actual condition — the desired
|
|
82
|
+
// server IS registered — is the target state the caller wanted.
|
|
83
|
+
// `addAndVerifyAlreadyExists` now verifies via `claude mcp get` (see the
|
|
84
|
+
// 2026-08-19 probe note above) + a fresh registry-file re-read whenever
|
|
85
|
+
// `addJsonMcpServer` reports "already-exists": a confirmed, spec-matching
|
|
86
|
+
// registration is surfaced via `EnsureServerResult.verifiedAlreadyExists
|
|
87
|
+
// .matches = true` so a caller (`wireClaudeMcp` in
|
|
88
|
+
// `cli/init/interactive.ts`) can treat it as an effective success (e.g.
|
|
89
|
+
// letting the dead-settings.json migration proceed); an unconfirmed or
|
|
90
|
+
// spec-mismatched registration preserves the PRIOR conservative
|
|
91
|
+
// behavior (`matches = false`, caller keeps treating the overall result
|
|
92
|
+
// as not-yet-successful).
|
|
93
|
+
//
|
|
94
|
+
// CORRECTION (batch19/T-005-R2, review round 2, task fb3e4dce): the
|
|
95
|
+
// "Finding 2" description above is WRONG about the DEFAULT path — it reads
|
|
96
|
+
// as though the default (no `homeDir`/`registryPath`/`CLAUDE_CONFIG_DIR`
|
|
97
|
+
// override) case was already unaffected pre-fix and stays unaffected,
|
|
98
|
+
// which is not what the code actually did. `configDir === path.dirname
|
|
99
|
+
// (registryPath)`, ALWAYS, is only correct on an override path; on the
|
|
100
|
+
// default path `registryPath` is `~/.claude.json` (directly under HOME),
|
|
101
|
+
// so `path.dirname(registryPath)` is `~` itself — NOT `~/.claude`, which
|
|
102
|
+
// is the `claude` CLI's own actual default `CLAUDE_CONFIG_DIR` for
|
|
103
|
+
// everything OTHER than the registry file. Setting `CLAUDE_CONFIG_DIR=~`
|
|
104
|
+
// on every real spawn (the unconditional R1 shape) silently moved the
|
|
105
|
+
// CLI's own config-dir default away from `~/.claude` to `~`, corrupting
|
|
106
|
+
// every OTHER config-dir-relative path it resolves for the lifetime of
|
|
107
|
+
// that spawn — empirically observed: registry backups landing in
|
|
108
|
+
// `<HOME>/backups` instead of `<HOME>/.claude/backups`. Fixed:
|
|
109
|
+
// `resolveMcpConfigDirOverride` (below) now emits `configDir` ONLY when
|
|
110
|
+
// the resolution actually used an override (`CLAUDE_CONFIG_DIR` present in
|
|
111
|
+
// the resolution `env`, or an explicit `registryPath`, or a `homeDir` whose
|
|
112
|
+
// resolved value differs from the OS default `~/.claude`); the pure
|
|
113
|
+
// default case gets `configDir: undefined`, i.e. the real spawn's
|
|
114
|
+
// `process.env` is left completely unmodified — a genuine no-op against
|
|
115
|
+
// pre-fix default-path behavior, unlike the R1 shape.
|
|
52
116
|
import { spawn } from "node:child_process";
|
|
53
117
|
import * as fs from "node:fs";
|
|
54
118
|
import * as os from "node:os";
|
|
@@ -91,8 +155,18 @@ export const DEFAULT_TIMEOUT_MS = 30_000;
|
|
|
91
155
|
* - uninstall's `removeRegisteredMcpServers` (src/cli/uninstall/
|
|
92
156
|
* index.ts) and `uninstall()` likewise have no try/catch around the
|
|
93
157
|
* `removeMcpServer` call.
|
|
158
|
+
*
|
|
159
|
+
* `configDir` (batch19/T-005, Finding 2): when given, exposed to the
|
|
160
|
+
* spawned `claude` process as `CLAUDE_CONFIG_DIR` (on top of an otherwise
|
|
161
|
+
* unmodified `process.env`), so the real CLI resolves the exact same
|
|
162
|
+
* `$CLAUDE_CONFIG_DIR/.claude.json` that `ensureMcpServers` already read
|
|
163
|
+
* for its drift comparison — see the module doc's "Finding 2" note.
|
|
164
|
+
* `undefined` (every caller other than `ensureMcpServers` today) keeps the
|
|
165
|
+
* pre-existing behavior byte-for-byte: no explicit `env` key is passed to
|
|
166
|
+
* `spawn` at all, i.e. plain `process.env` inheritance, exactly as before
|
|
167
|
+
* this parameter existed.
|
|
94
168
|
*/
|
|
95
|
-
function realClaudeMcpExec(args, timeoutMs) {
|
|
169
|
+
function realClaudeMcpExec(args, timeoutMs, configDir) {
|
|
96
170
|
// Every caller in this module passes >=2 elements (["mcp", <verb>, ...]),
|
|
97
171
|
// so the fallback below is unreached today — kept anyway so a future
|
|
98
172
|
// call site that passes fewer never degrades to a blank/truncated
|
|
@@ -102,7 +176,10 @@ function realClaudeMcpExec(args, timeoutMs) {
|
|
|
102
176
|
return new Promise((resolve) => {
|
|
103
177
|
let child;
|
|
104
178
|
try {
|
|
105
|
-
child = spawn("claude", args, {
|
|
179
|
+
child = spawn("claude", args, {
|
|
180
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
181
|
+
...(configDir !== undefined ? { env: { ...process.env, CLAUDE_CONFIG_DIR: configDir } } : {}),
|
|
182
|
+
});
|
|
106
183
|
}
|
|
107
184
|
catch (err) {
|
|
108
185
|
const e = err;
|
|
@@ -174,7 +251,7 @@ export async function addJsonMcpServer(name, spec, opts = {}) {
|
|
|
174
251
|
const exec = opts.exec ?? realClaudeMcpExec;
|
|
175
252
|
const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
176
253
|
const json = JSON.stringify(compactSpec(spec));
|
|
177
|
-
const r = await exec(["mcp", "add-json", "--scope", "user", name, json], timeoutMs);
|
|
254
|
+
const r = await exec(["mcp", "add-json", "--scope", "user", name, json], timeoutMs, opts.configDir);
|
|
178
255
|
if (r.timedOut) {
|
|
179
256
|
return { status: "timeout", message: `claude mcp add-json timed out after ${timeoutMs}ms`, code: r.code };
|
|
180
257
|
}
|
|
@@ -196,7 +273,7 @@ export async function addJsonMcpServer(name, spec, opts = {}) {
|
|
|
196
273
|
export async function removeMcpServer(name, opts = {}) {
|
|
197
274
|
const exec = opts.exec ?? realClaudeMcpExec;
|
|
198
275
|
const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
199
|
-
const r = await exec(["mcp", "remove", "--scope", "user", name], timeoutMs);
|
|
276
|
+
const r = await exec(["mcp", "remove", "--scope", "user", name], timeoutMs, opts.configDir);
|
|
200
277
|
if (r.timedOut) {
|
|
201
278
|
return { status: "timeout", message: `claude mcp remove timed out after ${timeoutMs}ms`, code: r.code };
|
|
202
279
|
}
|
|
@@ -230,7 +307,7 @@ export function manualRemoveLines(names) {
|
|
|
230
307
|
export async function getMcpServer(name, opts = {}) {
|
|
231
308
|
const exec = opts.exec ?? realClaudeMcpExec;
|
|
232
309
|
const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
233
|
-
const r = await exec(["mcp", "get", name], timeoutMs);
|
|
310
|
+
const r = await exec(["mcp", "get", name], timeoutMs, opts.configDir);
|
|
234
311
|
if (r.timedOut) {
|
|
235
312
|
return { status: "timeout", raw: "", code: r.code };
|
|
236
313
|
}
|
|
@@ -304,7 +381,7 @@ export function parseClaudeMcpListOutput(stdout) {
|
|
|
304
381
|
export async function listMcpServers(opts = {}) {
|
|
305
382
|
const exec = opts.exec ?? realClaudeMcpExec;
|
|
306
383
|
const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
307
|
-
const r = await exec(["mcp", "list"], timeoutMs);
|
|
384
|
+
const r = await exec(["mcp", "list"], timeoutMs, opts.configDir);
|
|
308
385
|
if (r.timedOut) {
|
|
309
386
|
return { status: "timeout", servers: [], message: `claude mcp list timed out after ${timeoutMs}ms` };
|
|
310
387
|
}
|
|
@@ -322,6 +399,17 @@ export async function listMcpServers(opts = {}) {
|
|
|
322
399
|
function isRecord(x) {
|
|
323
400
|
return typeof x === "object" && x !== null && !Array.isArray(x);
|
|
324
401
|
}
|
|
402
|
+
/**
|
|
403
|
+
* The OS-default Claude Code home (`~/.claude`) when neither `homeDir` nor
|
|
404
|
+
* an effective `CLAUDE_CONFIG_DIR` override is in play. A tiny shared
|
|
405
|
+
* helper (batch19/T-005-R2, review round 2, Fix 2) so
|
|
406
|
+
* `resolveClaudeUserRegistryPath` and `resolveMcpConfigDirOverride` can't
|
|
407
|
+
* independently drift on how "the default" is computed — that drift is
|
|
408
|
+
* exactly what would silently reopen the bug Fix 2 closes.
|
|
409
|
+
*/
|
|
410
|
+
function defaultClaudeHomeDir() {
|
|
411
|
+
return path.join(os.homedir(), ".claude");
|
|
412
|
+
}
|
|
325
413
|
/**
|
|
326
414
|
* Resolve the path to the user-scope registry file the `claude` CLI
|
|
327
415
|
* itself reads/writes — the same precedence the CLI applies: an explicit
|
|
@@ -336,9 +424,55 @@ export function resolveClaudeUserRegistryPath(opts = {}) {
|
|
|
336
424
|
if (typeof configDir === "string" && configDir.length > 0) {
|
|
337
425
|
return path.join(configDir, ".claude.json");
|
|
338
426
|
}
|
|
339
|
-
const homeDir = opts.homeDir ??
|
|
427
|
+
const homeDir = opts.homeDir ?? defaultClaudeHomeDir();
|
|
340
428
|
return path.join(path.dirname(homeDir), ".claude.json");
|
|
341
429
|
}
|
|
430
|
+
/**
|
|
431
|
+
* Decide the `CLAUDE_CONFIG_DIR` value (if any) a REAL `claude` spawn must
|
|
432
|
+
* be given so it resolves to the SAME registry file the caller already
|
|
433
|
+
* derived via `resolveClaudeUserRegistryPath`'s own precedence (batch19/
|
|
434
|
+
* T-005-R2, review round 2, Fix 2 — task fb3e4dce). This CORRECTS the R1
|
|
435
|
+
* shape (`configDir = path.dirname(registryPath)`, unconditionally): on
|
|
436
|
+
* the pure default resolution, `registryPath` is `~/.claude.json`
|
|
437
|
+
* (directly under HOME), so `path.dirname(registryPath)` is `~` itself —
|
|
438
|
+
* NOT `~/.claude`, the `claude` CLI's own actual default `CLAUDE_CONFIG_DIR`
|
|
439
|
+
* for everything OTHER than the registry file (settings.json, backups,
|
|
440
|
+
* ...). Forcing `CLAUDE_CONFIG_DIR=~` on every real spawn silently moved
|
|
441
|
+
* the CLI's own config-dir default away from `~/.claude` to `~` — see the
|
|
442
|
+
* module doc's "CORRECTION" note for the empirical symptom this produced.
|
|
443
|
+
*
|
|
444
|
+
* Only emits an override when the resolution actually used one:
|
|
445
|
+
* - an explicit `registryPath` override always needs one — there is no
|
|
446
|
+
* way the CLI's own default resolution lands there on its own;
|
|
447
|
+
* - an effective `CLAUDE_CONFIG_DIR` in `env` (the same branch
|
|
448
|
+
* `resolveClaudeUserRegistryPath` takes) is passed straight through —
|
|
449
|
+
* covers a caller whose `env` differs from the actual `process.env` a
|
|
450
|
+
* real spawn would otherwise inherit;
|
|
451
|
+
* - a `homeDir` whose resolved value differs from
|
|
452
|
+
* {@link defaultClaudeHomeDir} needs one too, for the same reason as
|
|
453
|
+
* the explicit-`registryPath` case.
|
|
454
|
+
* The PURE default (none of the above) returns `undefined`: the real
|
|
455
|
+
* spawn then gets no explicit `env` override at all (see
|
|
456
|
+
* `realClaudeMcpExec`), i.e. plain `process.env` inheritance — exactly
|
|
457
|
+
* what the CLI's own default resolution already does on its own, and a
|
|
458
|
+
* genuine no-op against pre-fix default-path behavior (unlike the R1
|
|
459
|
+
* shape, which was NOT a no-op there).
|
|
460
|
+
*/
|
|
461
|
+
export function resolveMcpConfigDirOverride(opts) {
|
|
462
|
+
if (opts.registryPath !== undefined) {
|
|
463
|
+
return path.dirname(opts.registryPath);
|
|
464
|
+
}
|
|
465
|
+
const env = opts.env ?? process.env;
|
|
466
|
+
const configDirEnv = env["CLAUDE_CONFIG_DIR"];
|
|
467
|
+
if (typeof configDirEnv === "string" && configDirEnv.length > 0) {
|
|
468
|
+
return configDirEnv;
|
|
469
|
+
}
|
|
470
|
+
const effectiveHomeDir = opts.homeDir ?? defaultClaudeHomeDir();
|
|
471
|
+
if (effectiveHomeDir !== defaultClaudeHomeDir()) {
|
|
472
|
+
return path.dirname(effectiveHomeDir);
|
|
473
|
+
}
|
|
474
|
+
return undefined;
|
|
475
|
+
}
|
|
342
476
|
/**
|
|
343
477
|
* Read strictly the top-level `mcpServers` key of the registry file. Never
|
|
344
478
|
* reads/interprets `projects.<path>.mcpServers` — that's project-local
|
|
@@ -411,6 +545,38 @@ function specsEqual(existing, desired) {
|
|
|
411
545
|
}
|
|
412
546
|
return true;
|
|
413
547
|
}
|
|
548
|
+
/**
|
|
549
|
+
* Wrap `addJsonMcpServer`: when the CLI reports `already-exists`
|
|
550
|
+
* (batch19/T-005, Finding 3), verify via `claude mcp get` that the server
|
|
551
|
+
* is genuinely registered, then re-read the SAME registry file
|
|
552
|
+
* `ensureMcpServers` derived `registryPath` from (the add-json call may
|
|
553
|
+
* have raced ahead of, or exposed a staleness in, the initial file read
|
|
554
|
+
* `ensureMcpServers` took its `current`/drift snapshot from) to compare
|
|
555
|
+
* the live spec against `desired`. Every other `add.status` passes
|
|
556
|
+
* through unchanged — no extra call, no `verifiedAlreadyExists`.
|
|
557
|
+
*
|
|
558
|
+
* R2 (Fix 4): the file-based spec comparison runs whenever `get` DIDN'T
|
|
559
|
+
* positively rule the name out — i.e. `getStatus === "found"` OR
|
|
560
|
+
* inconclusive (`"timeout"`/`"cli-missing"`) — not only on `"found"`. Only
|
|
561
|
+
* a genuine `"not-found"` skips the file check and keeps `matches: false`
|
|
562
|
+
* outright. See {@link VerifiedAlreadyExistsResult}'s R2 doc for why an
|
|
563
|
+
* inconclusive `get` must not silently override a File-verified match.
|
|
564
|
+
*/
|
|
565
|
+
async function addAndVerifyAlreadyExists(name, spec, callOpts, registryPath) {
|
|
566
|
+
const add = await addJsonMcpServer(name, spec, callOpts);
|
|
567
|
+
if (add.status !== "already-exists") {
|
|
568
|
+
return { add };
|
|
569
|
+
}
|
|
570
|
+
const verify = await getMcpServer(name, callOpts);
|
|
571
|
+
let matches = false;
|
|
572
|
+
if (verify.status !== "not-found") {
|
|
573
|
+
const fresh = readTopLevelMcpServers(registryPath);
|
|
574
|
+
if (fresh.error === null) {
|
|
575
|
+
matches = specsEqual(fresh.servers[name], spec);
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
return { add, verifiedAlreadyExists: { getStatus: verify.status, matches } };
|
|
579
|
+
}
|
|
414
580
|
/**
|
|
415
581
|
* Reconcile `desired` against the live user-scope registry:
|
|
416
582
|
* - name absent from the registry → `add-json`
|
|
@@ -437,11 +603,36 @@ function specsEqual(existing, desired) {
|
|
|
437
603
|
* registry couldn't be read safely, GC is skipped too, mirroring the main
|
|
438
604
|
* loop (`gc.registryReadError` set, `gc.results` empty) — same "never
|
|
439
605
|
* guess" rule.
|
|
606
|
+
*
|
|
607
|
+
* `configDir` (batch19/T-005, Finding 2; corrected R2 — see
|
|
608
|
+
* {@link resolveMcpConfigDirOverride}) is threaded to every CLI call this
|
|
609
|
+
* function makes, so a REAL `claude` spawn (`realClaudeMcpExec`, when the
|
|
610
|
+
* caller didn't inject `opts.exec`) mutates/reads exactly the registry
|
|
611
|
+
* file this function's own drift comparison just read — no divergence
|
|
612
|
+
* under a non-default `homeDir`/`--home`/`registryPath` override. On the
|
|
613
|
+
* PURE default resolution (no override anywhere), `configDir` is
|
|
614
|
+
* `undefined` instead — a real spawn there gets no explicit `env` at all,
|
|
615
|
+
* matching the CLI's own default resolution exactly (see that function's
|
|
616
|
+
* doc for why the R1 shape, an unconditional `path.dirname(registryPath)`,
|
|
617
|
+
* was wrong on this exact path).
|
|
618
|
+
*
|
|
619
|
+
* An `add-json` "already exists" outcome (Finding 3) is verified via
|
|
620
|
+
* `addAndVerifyAlreadyExists` before being reported: see
|
|
621
|
+
* {@link VerifiedAlreadyExistsResult} for what a caller does with the
|
|
622
|
+
* result.
|
|
440
623
|
*/
|
|
441
624
|
export async function ensureMcpServers(opts) {
|
|
442
625
|
const registryPath = opts.registryPath ?? resolveClaudeUserRegistryPath({ homeDir: opts.homeDir, env: opts.env });
|
|
443
626
|
const { servers: existing, error: readError } = readTopLevelMcpServers(registryPath);
|
|
444
|
-
const callOpts = {
|
|
627
|
+
const callOpts = {
|
|
628
|
+
exec: opts.exec,
|
|
629
|
+
timeoutMs: opts.timeoutMs,
|
|
630
|
+
configDir: resolveMcpConfigDirOverride({
|
|
631
|
+
registryPath: opts.registryPath,
|
|
632
|
+
homeDir: opts.homeDir,
|
|
633
|
+
env: opts.env,
|
|
634
|
+
}),
|
|
635
|
+
};
|
|
445
636
|
const results = [];
|
|
446
637
|
for (const name of Object.keys(opts.desired).sort()) {
|
|
447
638
|
const spec = opts.desired[name];
|
|
@@ -451,8 +642,13 @@ export async function ensureMcpServers(opts) {
|
|
|
451
642
|
}
|
|
452
643
|
const current = existing[name];
|
|
453
644
|
if (current === undefined) {
|
|
454
|
-
const add = await
|
|
455
|
-
results.push({
|
|
645
|
+
const { add, verifiedAlreadyExists } = await addAndVerifyAlreadyExists(name, spec, callOpts, registryPath);
|
|
646
|
+
results.push({
|
|
647
|
+
name,
|
|
648
|
+
action: "add",
|
|
649
|
+
add,
|
|
650
|
+
...(verifiedAlreadyExists !== undefined ? { verifiedAlreadyExists } : {}),
|
|
651
|
+
});
|
|
456
652
|
continue;
|
|
457
653
|
}
|
|
458
654
|
if (specsEqual(current, spec)) {
|
|
@@ -467,8 +663,14 @@ export async function ensureMcpServers(opts) {
|
|
|
467
663
|
results.push({ name, action: "replace", remove });
|
|
468
664
|
continue;
|
|
469
665
|
}
|
|
470
|
-
const add = await
|
|
471
|
-
results.push({
|
|
666
|
+
const { add, verifiedAlreadyExists } = await addAndVerifyAlreadyExists(name, spec, callOpts, registryPath);
|
|
667
|
+
results.push({
|
|
668
|
+
name,
|
|
669
|
+
action: "replace",
|
|
670
|
+
remove,
|
|
671
|
+
add,
|
|
672
|
+
...(verifiedAlreadyExists !== undefined ? { verifiedAlreadyExists } : {}),
|
|
673
|
+
});
|
|
472
674
|
}
|
|
473
675
|
let gc;
|
|
474
676
|
if (opts.gc) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../src/io/claude-mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-mcp.js","sourceRoot":"","sources":["../../src/io/claude-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../src/io/duration.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAC3C,MAAM,MAAM,GACV,6FAA6F,CAAC;AAEhG,MAAM,OAAO,GAAG;IACd,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE,GAAG,EAAE;IACV,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;CACP,CAAC;AAEX,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACxB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACxB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACtB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;IACjB,IAAI,EAAE,EAAE,GAAG,EAAE;IACb,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,CAAC;CACD,CAAC;AAEX,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACjB;IAA5B,YAA4B,KAAa;QACvC,KAAK,CACH,qBAAqB,KAAK,qGAAqG,CAChI,CAAC;QAHwB,UAAK,GAAL,KAAK,CAAQ;QAIvC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAyB,CAAC;QAC9C,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;QACtC,MAAM,KAAK,GACT,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;YACnC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;YACrC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;YACnC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC;YAClC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC;YACnC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;YACtC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,CAAC;YAAE,MAAM,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand-home.js","sourceRoot":"","sources":["../../src/io/expand-home.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,oDAAoD;AACpD,gEAAgE;AAChE,iEAAiE;AACjE,kEAAkE;AAClE,mEAAmE;AACnE,4CAA4C;AAC5C,EAAE;AACF,SAAS;AACT,kDAAkD;AAClD,iEAAiE;AACjE,mEAAmE;AACnE,gEAAgE;AAChE,sEAAsE;AACtE,sEAAsE;AACtE,+CAA+C;AAC/C,iEAAiE;AACjE,mEAAmE;AACnE,sEAAsE;AACtE,gBAAgB;AAEhB,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,OAAe,EAAE,CAAC,OAAO,EAAE;IACnE,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAuC,EACvC,OAAe,EAAE,CAAC,OAAO,EAAE;IAE3B,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IACrB,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/io/extract.ts"],"names":[],"mappings":"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"}
|
package/dist/io/harness-lock.js
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
import * as crypto from "node:crypto";
|
|
28
28
|
import * as fs from "node:fs";
|
|
29
29
|
import * as path from "node:path";
|
|
30
|
-
import { expandHome } from "
|
|
30
|
+
import { expandHome } from "./expand-home.js";
|
|
31
31
|
import { atomicWriteFile } from "./atomic-write.js";
|
|
32
32
|
export const LOCK_BASENAME = "harness.lock";
|
|
33
33
|
function sha256Hex(input) {
|