@namzu/cli 34.1.0 → 35.0.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 +58 -0
- package/README.md +21 -7
- package/dist/commands/mcp.d.ts +3 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +179 -6
- package/dist/commands/mcp.js.map +1 -1
- package/dist/doctor/checks/credentials.d.ts.map +1 -1
- package/dist/doctor/checks/credentials.js +19 -4
- package/dist/doctor/checks/credentials.js.map +1 -1
- package/dist/integrations/mcp/servers.d.ts.map +1 -1
- package/dist/integrations/mcp/servers.js +107 -15
- package/dist/integrations/mcp/servers.js.map +1 -1
- package/dist/integrations/providers/harness-credentials.d.ts +2 -0
- package/dist/integrations/providers/harness-credentials.d.ts.map +1 -1
- package/dist/integrations/providers/harness-credentials.js +8 -5
- package/dist/integrations/providers/harness-credentials.js.map +1 -1
- package/dist/integrations/providers/setup.d.ts.map +1 -1
- package/dist/integrations/providers/setup.js +3 -1
- package/dist/integrations/providers/setup.js.map +1 -1
- package/dist/integrations/resident/session-step.d.ts.map +1 -1
- package/dist/integrations/resident/session-step.js +13 -8
- package/dist/integrations/resident/session-step.js.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +385 -95
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/BackgroundJobsPanel.d.ts +26 -0
- package/dist/tui/BackgroundJobsPanel.d.ts.map +1 -0
- package/dist/tui/BackgroundJobsPanel.js +129 -0
- package/dist/tui/BackgroundJobsPanel.js.map +1 -0
- package/dist/tui/Composer.d.ts +7 -2
- package/dist/tui/Composer.d.ts.map +1 -1
- package/dist/tui/Composer.js +65 -34
- package/dist/tui/Composer.js.map +1 -1
- package/dist/tui/PendingInputPanel.d.ts +34 -0
- package/dist/tui/PendingInputPanel.d.ts.map +1 -0
- package/dist/tui/PendingInputPanel.js +108 -0
- package/dist/tui/PendingInputPanel.js.map +1 -0
- package/dist/tui/agent.d.ts +10 -3
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +78 -12
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/slashCommands.d.ts +5 -1
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +9 -8
- package/dist/tui/slashCommands.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,63 @@
|
|
|
1
1
|
# @namzu/cli
|
|
2
2
|
|
|
3
|
+
## 35.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- b7d83ec: An MCP server that finishes connecting or discovering tools after its startup deadline is now closed after that late result. The configured `connectTimeoutMs` applies to connection and discovery as one budget, rather than allowing each phase the full time separately. Servers whose combined handshake and discovery took longer than the configured deadline but whose individual phases each fit previously connected; raise that server's `connectTimeoutMs` if it needs more time. Timed-out servers remain named failures and cannot leave an unreported live connection behind. Values above Node's maximum timer delay of 2,147,483,647 ms are now refused by server name; lower any such value to that limit or less.
|
|
8
|
+
- b7d83ec: Plugin `user_prompt_submit` annotations now reach the model as user-role request context instead of system instructions. The CLI gives operator shell output and idle background-job exits the same request-context role. Hosts that used these observation channels to issue policy must move that policy to an explicit trusted instruction; the observations remain visible to the model on the current request.
|
|
9
|
+
|
|
10
|
+
The `namzu mcp test` HTTP 401 hint now uses a literal `<name>` placeholder instead of embedding the configured server name in a runnable shell command.
|
|
11
|
+
|
|
12
|
+
- b7d83ec: Memory and saved resident state now reach the model as request-only user-role context rather than system guidance. In the SDK, `createMemoryRecallStep` returns `PrepareStepResult.context` instead of `system`; hosts that read or compose the hook result must use `context` and pass it through the normal preparation chain. Resident continuation, wake evidence, skill catalogues and learned text also move from system `dynamic` or `turn` contributions to `context`; hosts that inspect placements must migrate. `context` contributions now render once before `prepareStep` so their estimated cost reduces preparation headroom; hosts relying on a contribution to observe preparation side effects in the same model step must move that logic to a later stage. The CLI moves file-backed `USER.md` and `MEMORY.md`, its stored-memory index, and automatic recall out of system prompts on new sends, resident turns and resumes. Interactive resident turns now place admitted data in the new `SendOptions.extraContext` request-only field; their fixed doctrine remains in `extraSystem`. Hosts that relied on memory files or resident data as system instructions must pass trusted guidance explicitly. This changes default provider-visible roles and may change model behavior and prompt-cache accounting; request-only context still uses input tokens on each request and the CLI bounds memory against estimated remaining request room.
|
|
13
|
+
- b7d83ec: Plugin MCP server declarations now reject fields they do not implement, including `url`, `headers`, `inheritEnv` and `requireApproval`. Those fields were previously accepted and silently removed while the declared stdio command still started. Remove unsupported fields from `plugin.json` or an in-code plugin; configure a remote server through the host's MCP settings and express approval in host source permissions. Plugin MCP startup now has a ten-second deadline across connection and discovery, configurable with `connectTimeoutMs` up to one hour, and cleans up a failed connection before rolling back the plugin.
|
|
14
|
+
|
|
15
|
+
Hosts supplying `ConfigRegistry` must move plugin reconnect-policy overrides from `mcp.<server-name>` to `mcp.plugin.<plugin-name>.<server-name>`; the old key was shared by unrelated plugins and is no longer read. A `ConfigScope` now has `dispose()` to release its live namespace and watchers while retaining saved overrides. Plugin disable and failed enable release their scopes, and overlapping enable, disable and uninstall calls for one plugin id now settle in call order.
|
|
16
|
+
|
|
17
|
+
Plugin MCP drift is now tracked by full plugin source id rather than bare server name: hosts that relied on a drift event between two unrelated plugins using the same local server label should compare those sources explicitly. The baseline now follows the one admitted listing actually mounted as tools, including reconnect and list-change refreshes; a second startup listing is gone.
|
|
18
|
+
|
|
19
|
+
### Minor Changes
|
|
20
|
+
|
|
21
|
+
- 2b1cbb5: Show running background shells beside the composer and let operators inspect their retained output or stop a shell in `/jobs`. Use `/jobs list` for the previous text summary.
|
|
22
|
+
- b7d83ec: Add `namzu mcp test <name>` to check the effective MCP server selected by the current profile and project. It connects only that server, reports the usable tool count or a safe failure reason, and closes the connection. The working directory must be trusted; pass `--trust` to accept it for this test only. After adding a server, run this command before starting an agent to find connection, authentication or tool discovery problems.
|
|
23
|
+
- 2b1cbb5: Show submitted steering and next-turn messages in the TUI with their text and attachments. Alt+Up recalls the latest authored queued message, and Esc preserves pending input when it interrupts a turn.
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- b7d83ec: Malformed `mcpServers` entries with invalid `args`, `env`, `headers`, `inheritEnv`, command, URL or working-directory types now fail by server name. One bad entry no longer aborts a session or prevents earlier successful connections from being closed.
|
|
28
|
+
- b7d83ec: The CLI test runner now uses at most four workers on many-core machines. This prevents healthy session and scheduled-run tests from hitting their wall-clock timeout under heavy test contention; CLI runtime behavior and APIs are unchanged.
|
|
29
|
+
- 2b1cbb5: Hosts can use `QueryParams.onJobNoticeDelivered(jobIds)` to distinguish background job exits recorded for the model from exits that still need delivery on a later turn. The CLI now keeps a late exit pending for the next turn, retains it after a failed or aborted send, and shows its transcript row once.
|
|
30
|
+
- Updated dependencies [b7d83ec]
|
|
31
|
+
- Updated dependencies [b7d83ec]
|
|
32
|
+
- Updated dependencies [2b1cbb5]
|
|
33
|
+
- Updated dependencies [b7d83ec]
|
|
34
|
+
- Updated dependencies [b7d83ec]
|
|
35
|
+
- Updated dependencies [b7d83ec]
|
|
36
|
+
- Updated dependencies [b7d83ec]
|
|
37
|
+
- Updated dependencies [b7d83ec]
|
|
38
|
+
- Updated dependencies [b7d83ec]
|
|
39
|
+
- @namzu/sdk@49.0.0
|
|
40
|
+
- @namzu/browser@2.0.0
|
|
41
|
+
- @namzu/computer-use@3.1.0
|
|
42
|
+
- @namzu/anthropic@6.2.2
|
|
43
|
+
- @namzu/ollama@2.2.5
|
|
44
|
+
- @namzu/openai@4.1.3
|
|
45
|
+
- @namzu/openrouter@3.0.3
|
|
46
|
+
|
|
47
|
+
## 34.1.1
|
|
48
|
+
|
|
49
|
+
### Patch Changes
|
|
50
|
+
|
|
51
|
+
- 57ae7c7: Background jobs whose process cannot start now emit one exit update after the child closes, without reporting the spawn error as a process exit code. An error on a process that already started no longer marks its job as exited while it is still running. SDK API signatures are unchanged.
|
|
52
|
+
|
|
53
|
+
Completed and aborted job or delegated-task waits release their polling timers instead of keeping them alive for the rest of a long session. Idle-stream, agent front-door, awaited-job and large-input lexer regression tests now avoid real-time races that could fail on a busy CI runner.
|
|
54
|
+
|
|
55
|
+
The CLI's background-child and scheduled-run integration tests now wait for the event they assert, leaving their normal process deadline to Vitest instead of letting a short poll or unrelated watchdog decide the outcome.
|
|
56
|
+
|
|
57
|
+
- b53bdb2: On Windows, the PowerShell installer now invokes npm and Namzu through their `.cmd` shims, so a Restricted execution policy does not block their `.ps1` wrappers. A successful npm install that writes a warning to stderr no longer aborts the installer. It requires the CLI's actual minimum, Node 22.13. Provider diagnostics now name the Claude Code credential files checked when no Claude session is available, and `/setup` explains that Desktop sign-in does not guarantee a reusable Code CLI session. Command Prompt installation instructions use `npm.cmd`.
|
|
58
|
+
- Updated dependencies [57ae7c7]
|
|
59
|
+
- @namzu/sdk@48.3.1
|
|
60
|
+
|
|
3
61
|
## 34.1.0
|
|
4
62
|
|
|
5
63
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -55,24 +55,38 @@ describe the checks and their limits.
|
|
|
55
55
|
|
|
56
56
|
## Install
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
On macOS, Linux, or WSL, npm is also available directly:
|
|
59
|
+
|
|
60
|
+
```sh
|
|
59
61
|
npm install -g @namzu/cli # the binary
|
|
60
62
|
npx @namzu/cli # or run it once without installing
|
|
61
63
|
```
|
|
62
64
|
|
|
63
65
|
Requires Node.js 22.13 or newer.
|
|
64
66
|
|
|
65
|
-
There
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
to your profile; it never re-runs itself with elevated privileges.
|
|
67
|
+
There are installers that check the Node version and verify the binary answers.
|
|
68
|
+
The POSIX installer retries an unwritable global prefix under `~/.namzu` and
|
|
69
|
+
names the line to add to your shell profile.
|
|
69
70
|
|
|
70
|
-
|
|
71
|
+
On macOS, Linux, or WSL:
|
|
72
|
+
|
|
73
|
+
```sh
|
|
71
74
|
curl -fsSL https://raw.githubusercontent.com/cogitave/namzu/main/install.sh | sh
|
|
72
|
-
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
In Windows PowerShell:
|
|
78
|
+
|
|
79
|
+
```powershell
|
|
73
80
|
irm https://raw.githubusercontent.com/cogitave/namzu/main/install.ps1 | iex
|
|
74
81
|
```
|
|
75
82
|
|
|
83
|
+
In Windows Command Prompt (`cmd.exe`):
|
|
84
|
+
|
|
85
|
+
```bat
|
|
86
|
+
npm.cmd install --global @namzu/cli
|
|
87
|
+
namzu.cmd --version
|
|
88
|
+
```
|
|
89
|
+
|
|
76
90
|
The CLI bundles provider drivers, plus `@namzu/files` and
|
|
77
91
|
`@namzu/computer-use`, as ordinary dependencies rather than peers. So a fresh
|
|
78
92
|
install can already reach those services and expose desktop control when the
|
package/dist/commands/mcp.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { type McpServerSpec } from '../integrations/mcp/servers.js';
|
|
1
2
|
import type { CommandDef } from './types.js';
|
|
2
3
|
export declare const mcpCommand: CommandDef;
|
|
4
|
+
/** Never print a transport's raw error: it can contain URLs, credentials or server stderr. */
|
|
5
|
+
export declare function safeTestReason(reason: string, spec: McpServerSpec): string;
|
|
3
6
|
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAIA,OAAO,EACN,KAAK,aAAa,EAIlB,MAAM,gCAAgC,CAAA;AAWvC,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,YAAY,CAAA;AAmC5D,eAAO,MAAM,UAAU,EAAE,UA+IxB,CAAA;AA2GD,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,CAyD1E"}
|
package/dist/commands/mcp.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { loadConfig } from '../config/load.js';
|
|
2
2
|
import { userConfigPath } from '../config/user-config.js';
|
|
3
|
-
import { EXIT_BAD_CONFIG, EXIT_FAIL, EXIT_OK, EXIT_USAGE } from '../exit-codes.js';
|
|
4
|
-
import { clearMcpOAuthCredentials } from '../integrations/mcp/oauth-store.js';
|
|
5
|
-
import { transportFor } from '../integrations/mcp/servers.js';
|
|
3
|
+
import { EXIT_BAD_CONFIG, EXIT_FAIL, EXIT_OK, EXIT_UNTRUSTED, EXIT_USAGE } from '../exit-codes.js';
|
|
4
|
+
import { clearMcpOAuthCredentials, isSecureMcpOAuthUrl } from '../integrations/mcp/oauth-store.js';
|
|
5
|
+
import { connectDeadlineFor, connectMcpServers, transportFor, } from '../integrations/mcp/servers.js';
|
|
6
6
|
import { addUserMcpServer, isUserMcpName, readUserMcpServers, removeUserMcpServer, summarizeUserMcpServer, } from '../integrations/mcp/user-config.js';
|
|
7
|
+
import { decideHeadlessTrust } from '../permissions/headless-trust.js';
|
|
7
8
|
import { terminalDisplayText } from '../tui/terminal-display.js';
|
|
8
9
|
import { loginMcpServer } from './mcp-oauth-login.js';
|
|
9
10
|
const HELP = [
|
|
10
|
-
'Usage: namzu mcp <list|get|add|remove|login|logout> [arguments]',
|
|
11
|
+
'Usage: namzu mcp <list|get|add|remove|test|login|logout> [arguments]',
|
|
11
12
|
'',
|
|
12
13
|
'Manage tool servers in your user config (~/.namzu/config.yaml).',
|
|
13
14
|
'Project and managed config can override these entries.',
|
|
@@ -17,11 +18,12 @@ const HELP = [
|
|
|
17
18
|
" namzu mcp add <name> --url <http-url> [--header 'NAME=Bearer \u0024{ENV_VAR}']",
|
|
18
19
|
' namzu mcp add <name> [--env ENV_VAR] -- <command> [arguments...]',
|
|
19
20
|
' namzu mcp remove <name>',
|
|
21
|
+
' namzu mcp test <name> [--trust] Check the effective server and its tools',
|
|
20
22
|
' namzu mcp login <name> [--no-browser] [--timeout <seconds>]',
|
|
21
23
|
' namzu mcp logout <name>',
|
|
22
24
|
'',
|
|
23
25
|
'Use --format json for structured output. Values of headers, environment',
|
|
24
|
-
'variables and command arguments are hidden in list/get output.',
|
|
26
|
+
'variables and command arguments are hidden in list/get/test output.',
|
|
25
27
|
].join('\n');
|
|
26
28
|
export const mcpCommand = {
|
|
27
29
|
name: 'mcp',
|
|
@@ -34,6 +36,9 @@ export const mcpCommand = {
|
|
|
34
36
|
ctx.formatter.error({ message: action.message });
|
|
35
37
|
return EXIT_USAGE;
|
|
36
38
|
}
|
|
39
|
+
if (action.kind === 'test') {
|
|
40
|
+
return testMcpServer(action.name, action.trust, ctx);
|
|
41
|
+
}
|
|
37
42
|
if (action.kind === 'login' || action.kind === 'logout') {
|
|
38
43
|
try {
|
|
39
44
|
// `mcp` uses a recovery context so list/add/remove can repair a
|
|
@@ -158,6 +163,169 @@ export const mcpCommand = {
|
|
|
158
163
|
}
|
|
159
164
|
},
|
|
160
165
|
};
|
|
166
|
+
/** Probe only the named effective server; a test must not start its siblings. */
|
|
167
|
+
async function testMcpServer(name, trustFlag, ctx) {
|
|
168
|
+
const displayName = oneLine(name);
|
|
169
|
+
const report = (status, transport, toolCount, reason, warning, resourceHelperCount = 0) => {
|
|
170
|
+
ctx.formatter.print({
|
|
171
|
+
name: displayName,
|
|
172
|
+
status,
|
|
173
|
+
transport,
|
|
174
|
+
toolCount,
|
|
175
|
+
...(resourceHelperCount > 0 ? { resourceHelperCount } : {}),
|
|
176
|
+
...(reason ? { reason } : {}),
|
|
177
|
+
...(warning ? { warning } : {}),
|
|
178
|
+
text: status === 'connected'
|
|
179
|
+
? `${displayName}: connected; ${toolCount} server ${toolCount === 1 ? 'tool or prompt' : 'tools or prompts'}.${resourceHelperCount > 0 ? ` ${resourceHelperCount} resource helpers available.` : ''}${warning ? ` ${warning}` : ''}`
|
|
180
|
+
: `${displayName}: unavailable; ${reason ?? 'the server did not become ready'}.`,
|
|
181
|
+
});
|
|
182
|
+
};
|
|
183
|
+
const trust = decideHeadlessTrust({ cwd: process.cwd(), trustFlag });
|
|
184
|
+
if (!trust.allowed) {
|
|
185
|
+
report('unavailable', 'invalid', 0, 'project is not trusted; open namzu here or pass --trust for this test');
|
|
186
|
+
return EXIT_UNTRUSTED;
|
|
187
|
+
}
|
|
188
|
+
let selected;
|
|
189
|
+
try {
|
|
190
|
+
// `mcp list/get` intentionally read the user file for repair. A test
|
|
191
|
+
// instead checks what a new session would run, including project,
|
|
192
|
+
// selected-profile and managed overrides.
|
|
193
|
+
selected = loadConfig({ profile: ctx.selectedProfile, cwd: trust.cwd }).mcpServers?.[name];
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
report('unavailable', 'invalid', 0, 'effective MCP configuration could not be loaded');
|
|
197
|
+
return EXIT_BAD_CONFIG;
|
|
198
|
+
}
|
|
199
|
+
if (selected === undefined) {
|
|
200
|
+
report('unavailable', 'invalid', 0, 'no server with this name in effective MCP configuration');
|
|
201
|
+
return EXIT_USAGE;
|
|
202
|
+
}
|
|
203
|
+
if (typeof selected !== 'object' || selected === null || Array.isArray(selected)) {
|
|
204
|
+
report('unavailable', 'invalid', 0, 'server specification must be a mapping');
|
|
205
|
+
return EXIT_BAD_CONFIG;
|
|
206
|
+
}
|
|
207
|
+
const spec = selected;
|
|
208
|
+
const hasCommand = typeof spec.command === 'string' && spec.command.trim().length > 0;
|
|
209
|
+
const hasUrl = typeof spec.url === 'string' && spec.url.trim().length > 0;
|
|
210
|
+
const transport = hasCommand && hasUrl ? 'invalid' : hasCommand ? 'stdio' : hasUrl ? 'http' : 'invalid';
|
|
211
|
+
let toolCount = 0;
|
|
212
|
+
let resourceHelperCount = 0;
|
|
213
|
+
let reason;
|
|
214
|
+
let warning;
|
|
215
|
+
let connection;
|
|
216
|
+
try {
|
|
217
|
+
connection = await connectMcpServers({ [name]: spec }, { cwd: trust.cwd });
|
|
218
|
+
const current = connection.current();
|
|
219
|
+
const failed = current.failed.find((server) => server.name === name);
|
|
220
|
+
if (failed) {
|
|
221
|
+
reason = safeTestReason(failed.reason, spec);
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
const connected = current.connected.find((server) => server.name === name);
|
|
225
|
+
// The MCP toolset's first entry contains server tools and prompts;
|
|
226
|
+
// its second entry contains deferred resource helpers. Counting both
|
|
227
|
+
// as server tools can turn an empty tools/list and resources/list into
|
|
228
|
+
// a misleading "2 usable tools" diagnosis.
|
|
229
|
+
toolCount = connected ? (connection.toolsets[0]?.tools().length ?? 0) : 0;
|
|
230
|
+
resourceHelperCount = connected ? (connection.toolsets[1]?.tools().length ?? 0) : 0;
|
|
231
|
+
if (!connected)
|
|
232
|
+
reason = 'server did not reach a connected state';
|
|
233
|
+
else if (toolCount === 0)
|
|
234
|
+
warning = 'No server tools or prompts were exposed.';
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
reason = 'MCP connection or tool discovery failed; inspect the server logs';
|
|
239
|
+
}
|
|
240
|
+
finally {
|
|
241
|
+
try {
|
|
242
|
+
await connection?.close();
|
|
243
|
+
}
|
|
244
|
+
catch {
|
|
245
|
+
reason = 'MCP connection shutdown failed; inspect the server process';
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
report(reason ? 'unavailable' : 'connected', transport, toolCount, reason, warning, resourceHelperCount);
|
|
249
|
+
return reason ? EXIT_FAIL : EXIT_OK;
|
|
250
|
+
}
|
|
251
|
+
/** Never print a transport's raw error: it can contain URLs, credentials or server stderr. */
|
|
252
|
+
export function safeTestReason(reason, spec) {
|
|
253
|
+
if (reason === 'server spec must be a mapping')
|
|
254
|
+
return reason;
|
|
255
|
+
if (reason.startsWith('it declares both a command and a url')) {
|
|
256
|
+
return 'server declares both a command and a URL; choose one';
|
|
257
|
+
}
|
|
258
|
+
if (reason.startsWith('it declares neither a command nor a url')) {
|
|
259
|
+
return 'server declares neither a command nor a URL';
|
|
260
|
+
}
|
|
261
|
+
const badShape = /^(command|url|cwd|args|inheritEnv|env|headers) must be\b/.exec(reason);
|
|
262
|
+
if (badShape)
|
|
263
|
+
return `invalid ${badShape[1]} setting`;
|
|
264
|
+
const unsetVariable = /^references \$\{([A-Za-z_][A-Za-z0-9_]*)\}, which is not set/.exec(reason);
|
|
265
|
+
if (unsetVariable)
|
|
266
|
+
return `environment variable ${unsetVariable[1]} is not set`;
|
|
267
|
+
for (const field of [
|
|
268
|
+
'connectTimeoutMs',
|
|
269
|
+
'eraProbeTimeoutMs',
|
|
270
|
+
'allow',
|
|
271
|
+
'deny',
|
|
272
|
+
'maxRetries',
|
|
273
|
+
'requireApproval',
|
|
274
|
+
'readOnlyHintTrusted',
|
|
275
|
+
'instructions',
|
|
276
|
+
]) {
|
|
277
|
+
if (reason.startsWith(`${field} `))
|
|
278
|
+
return `invalid ${field} setting`;
|
|
279
|
+
}
|
|
280
|
+
if (/HTTP 401\b|authorization required|authentication required/i.test(reason)) {
|
|
281
|
+
const hasAuthorizationHeader = Object.keys(spec.headers ?? {}).some((key) => key.toLowerCase() === 'authorization');
|
|
282
|
+
return hasAuthorizationHeader
|
|
283
|
+
? 'HTTP 401: check the configured Authorization header'
|
|
284
|
+
: canSignInToMcpUrl(spec.url)
|
|
285
|
+
? 'HTTP 401: sign in to this server with namzu mcp login <name>'
|
|
286
|
+
: 'HTTP 401: OAuth sign-in requires HTTPS or a loopback endpoint';
|
|
287
|
+
}
|
|
288
|
+
if (/HTTP 403\b/i.test(reason))
|
|
289
|
+
return 'HTTP 403: server refused access; check account permissions';
|
|
290
|
+
if (/HTTP 404\b/i.test(reason))
|
|
291
|
+
return 'HTTP 404: check the configured MCP endpoint';
|
|
292
|
+
const httpStatus = /HTTP ([45]\d\d)\b/i.exec(reason);
|
|
293
|
+
if (httpStatus)
|
|
294
|
+
return `HTTP ${httpStatus[1]}: server rejected the request`;
|
|
295
|
+
if (/did not answer within|timed out|timeout/i.test(reason)) {
|
|
296
|
+
const deadline = connectDeadlineFor(spec);
|
|
297
|
+
return typeof deadline === 'number'
|
|
298
|
+
? `connection or tool discovery timed out after ${deadline}ms; check server logs`
|
|
299
|
+
: 'connection or tool discovery timed out; check connectTimeoutMs and server logs';
|
|
300
|
+
}
|
|
301
|
+
if (/\bENOENT\b/i.test(reason))
|
|
302
|
+
return 'server command could not be found';
|
|
303
|
+
if (/\bEACCES\b|\bEPERM\b/i.test(reason))
|
|
304
|
+
return 'server command could not be executed';
|
|
305
|
+
if (/StdioTransport: not connected or stdin not writable/i.test(reason)) {
|
|
306
|
+
return 'stdio server did not start or closed before the handshake; check command, cwd and server logs';
|
|
307
|
+
}
|
|
308
|
+
if (/\bECONNREFUSED\b/i.test(reason))
|
|
309
|
+
return 'connection refused by the server';
|
|
310
|
+
if (/\bENOTFOUND\b|\bEAI_AGAIN\b/i.test(reason))
|
|
311
|
+
return 'server hostname could not be resolved';
|
|
312
|
+
if (/certificate|\bTLS\b/i.test(reason))
|
|
313
|
+
return 'TLS certificate validation failed';
|
|
314
|
+
if (/tools\/list|discovering its tools/i.test(reason)) {
|
|
315
|
+
return 'server connected but tool discovery failed; inspect the server logs';
|
|
316
|
+
}
|
|
317
|
+
return 'MCP connection or tool discovery failed; inspect the server logs';
|
|
318
|
+
}
|
|
319
|
+
function canSignInToMcpUrl(raw) {
|
|
320
|
+
if (!raw)
|
|
321
|
+
return false;
|
|
322
|
+
try {
|
|
323
|
+
return isSecureMcpOAuthUrl(new URL(raw));
|
|
324
|
+
}
|
|
325
|
+
catch {
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
161
329
|
function parseMcpAction(args) {
|
|
162
330
|
const [verb, name] = args;
|
|
163
331
|
if (verb === 'list' && args.length === 1)
|
|
@@ -190,10 +358,15 @@ function parseMcpAction(args) {
|
|
|
190
358
|
if ((verb === 'get' || verb === 'remove') && args.length === 2 && name !== undefined) {
|
|
191
359
|
return { kind: verb, name };
|
|
192
360
|
}
|
|
361
|
+
if (verb === 'test' &&
|
|
362
|
+
name &&
|
|
363
|
+
(args.length === 2 || (args.length === 3 && args[2] === '--trust'))) {
|
|
364
|
+
return { kind: 'test', name, trust: args[2] === '--trust' };
|
|
365
|
+
}
|
|
193
366
|
if (verb !== 'add' || !name || !isUserMcpName(name)) {
|
|
194
367
|
return {
|
|
195
368
|
kind: 'error',
|
|
196
|
-
message: 'Usage: namzu mcp <list|get|add|remove|login|logout>; new server names must start with a letter and use only letters, digits, _ or -.',
|
|
369
|
+
message: 'Usage: namzu mcp <list|get|add|remove|test|login|logout>; new server names must start with a letter and use only letters, digits, _ or -.',
|
|
197
370
|
};
|
|
198
371
|
}
|
|
199
372
|
let url;
|
package/dist/commands/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/doctor/checks/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAA;AAmBhE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAyEpC,CAAA"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { hasApiCredential } from '../../integrations/providers/access.js';
|
|
2
2
|
import { discoverProviders } from '../../integrations/providers/discover.js';
|
|
3
|
+
import { claudeCredentialSearchPaths as sessionSearchPaths, wslWindowsHome, } from '../../integrations/providers/harness-credentials.js';
|
|
4
|
+
import { KEYCHAIN_SERVICE } from '../../integrations/providers/keychain.js';
|
|
5
|
+
function missingClaudeSessionNote(env, windowsHome) {
|
|
6
|
+
const paths = sessionSearchPaths(undefined, env, windowsHome);
|
|
7
|
+
const keychain = process.platform === 'darwin' && !env.CLAUDE_CONFIG_DIR
|
|
8
|
+
? ` and macOS Keychain service ${KEYCHAIN_SERVICE}`
|
|
9
|
+
: '';
|
|
10
|
+
return `Claude Code session not detected; checked ${paths.join(', ')}${keychain}. Desktop sign-in does not guarantee a reusable Claude Code CLI session; Namzu does not read Desktop's credential store. Sign in to the standalone Claude Code CLI, or run \`namzu login claude\`.`;
|
|
11
|
+
}
|
|
3
12
|
/**
|
|
4
13
|
* Which credential sources namzu actually scanned, and what each yielded.
|
|
5
14
|
*
|
|
@@ -20,10 +29,14 @@ import { discoverProviders } from '../../integrations/providers/discover.js';
|
|
|
20
29
|
export const credentialSourcesCheck = {
|
|
21
30
|
id: 'providers.credentials',
|
|
22
31
|
category: 'providers',
|
|
23
|
-
run: async () => {
|
|
32
|
+
run: async (ctx) => {
|
|
33
|
+
const env = ctx.env;
|
|
34
|
+
// Use one paired Windows home for discovery and its diagnostic, so the
|
|
35
|
+
// reported paths are exactly the paths the credential readers checked.
|
|
36
|
+
const windowsHome = wslWindowsHome(env);
|
|
24
37
|
let detected;
|
|
25
38
|
try {
|
|
26
|
-
detected = await discoverProviders();
|
|
39
|
+
detected = await discoverProviders({ env, windowsHome });
|
|
27
40
|
}
|
|
28
41
|
catch (err) {
|
|
29
42
|
// Discovery is documented as non-throwing; if that ever stops being
|
|
@@ -33,10 +46,12 @@ export const credentialSourcesCheck = {
|
|
|
33
46
|
message: `credential discovery failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
34
47
|
};
|
|
35
48
|
}
|
|
49
|
+
const missingClaude = !detected.some((provider) => provider.entry.id === 'anthropic');
|
|
50
|
+
const missingNote = missingClaude ? missingClaudeSessionNote(env, windowsHome) : '';
|
|
36
51
|
if (detected.length === 0) {
|
|
37
52
|
return {
|
|
38
53
|
status: 'warn',
|
|
39
|
-
message:
|
|
54
|
+
message: `no LLM credential found\n${missingNote}`,
|
|
40
55
|
remediation: 'Namzu no longer reads the secrets file. It first reuses current Claude and Codex sessions on this device, then subscriptions signed in with `namzu login claude|codex`. API keys remain optional alternatives through ANTHROPIC_API_KEY or OPENAI_API_KEY; local Ollama and LM Studio servers are also detected.',
|
|
41
56
|
};
|
|
42
57
|
}
|
|
@@ -71,7 +86,7 @@ export const credentialSourcesCheck = {
|
|
|
71
86
|
const onlyAnonymousZen = detected.every((d) => d.entry.id === 'zen' && !hasApiCredential(d.entry, d.apiKey));
|
|
72
87
|
return {
|
|
73
88
|
status: onlyAnonymousZen ? 'warn' : 'pass',
|
|
74
|
-
message: `${detected.length} provider source(s) discovered: ${lines.join(', ')}`,
|
|
89
|
+
message: `${detected.length} provider source(s) discovered: ${lines.join(', ')}${missingNote ? `\n${missingNote}` : ''}`,
|
|
75
90
|
...(onlyAnonymousZen
|
|
76
91
|
? {
|
|
77
92
|
remediation: 'Zen free models are experimental; the gateway may refuse direct Namzu requests. OpenCode installation is recommended for its own client. If a turn is refused, configure OPENCODE_API_KEY or choose another provider.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/doctor/checks/credentials.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/doctor/checks/credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../../../src/integrations/mcp/servers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AASH,OAAO,EAIN,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,OAAO,EAGZ,MAAM,YAAY,CAAA;AAWnB;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"servers.d.ts","sourceRoot":"","sources":["../../../src/integrations/mcp/servers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AASH,OAAO,EAIN,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,OAAO,EAGZ,MAAM,YAAY,CAAA;AAWnB;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,QAAS,CAAA;AAIxC;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,OAAQ,CAAA;AAErC,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC7B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,gEAAgE;IAChE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,mCAAmC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACnD;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,wEAAwE;IACxE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,mEAAmE;IACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,oFAAoF;IACpF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,iGAAiG;IACjG,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAC/B;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAA;AA+CtE,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,wEAAwE;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;IAC7B,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS;QAC3B,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;QACvC,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,aAAa,GAAG,QAAQ,CAAA;KAChC,EAAE,CAAA;CACH;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC7B,oFAAoF;IACpF,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAA;IACzC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;IACrC,2FAA2F;IAC3F,OAAO,IAAI;QACV,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;QACjD,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;KAC3C,CAAA;IACD,mEAAmE;IACnE,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACjD,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;IAC3C;;;;;;;OAOG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAQD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACxC,GAAG,EAAE,MAAM,CAAC,UAAU,GACpB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAkB3C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC3B,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,GAClC,iBAAiB,GAAG,MAAM,CA4B5B;AAoMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,CAOvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAOnF;AAoCD,wBAAsB,iBAAiB,CACtC,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,OAAO,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC/B,OAAO,CAAC,aAAa,CAAC,CA6NxB"}
|