@gaunt-sloth/agent 2.0.0-alpha.10 → 2.0.0-alpha.11

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.
@@ -1,6 +1,7 @@
1
1
  import type { GthConfig } from '@gaunt-sloth/core/config.js';
2
2
  import { GthAbstractAgent } from '@gaunt-sloth/core/core/GthAbstractAgent.js';
3
3
  import { type GthCommand } from '@gaunt-sloth/core/core/types.js';
4
+ export { appendOsShellNote, appendCwdNote, OS_SHELL_GUIDANCE, } from '@gaunt-sloth/core/utils/systemPromptNotes.js';
4
5
  import type { StructuredToolInterface } from '@langchain/core/tools';
5
6
  import type { BaseCheckpointSaver } from '@langchain/langgraph';
6
7
  import { type InterruptOnConfig } from 'langchain';
@@ -132,40 +133,3 @@ export declare function appendVirtualCwdNote(systemPrompt: string | undefined):
132
133
  * middleware when no sink is attached).
133
134
  */
134
135
  export declare function createPathNamespaceCorrectionMiddleware(appendCorrection: boolean): import("langchain").AgentMiddleware<undefined, undefined, unknown, readonly (import("@langchain/core/tools").ClientTool | import("@langchain/core/tools").ServerTool)[], readonly []>;
135
- /**
136
- * EXT-13 (part b): append a real-cwd / path-model note to the composed code-mode system prompt.
137
- *
138
- * The default code-mode backend runs in REAL-path mode (no virtualMode), so the deepagents fs
139
- * tools and `run_shell_command` share one real-absolute-path namespace rooted at `cwd`. Neither
140
- * deepagents' base prompt nor `.gsloth.code.md` states the actual cwd, so without this the model
141
- * assumes `/` is cwd and hands `/`-rooted paths to the real-fs shell. The cwd is injected
142
- * dynamically (never baked into the .md). Returns the note alone when there is no base prompt.
143
- */
144
- export declare function appendCwdNote(systemPrompt: string | undefined, cwd: string): string;
145
- /**
146
- * EXT-26: the platform-agnostic tail shared by both {@link appendOsShellNote} branches.
147
- *
148
- * The recurring failure mode on non-POSIX hosts is not just wrong command NAMES but shell
149
- * REDIRECTION quoting: a grouped/multi-line `echo` redirect on cmd.exe reported success yet wrote
150
- * a 0-byte file. So on every platform we steer file creation/mutation to the deepagents built-in
151
- * `write_file`/`edit_file` tools (which never touch the shell's quoting) and keep each shell
152
- * command a single line. Kept short — this is prompt text an LLM reads, not documentation.
153
- */
154
- export declare const OS_SHELL_GUIDANCE: string;
155
- /**
156
- * EXT-26: append an OS + shell-dialect note to the composed code-mode system prompt.
157
- *
158
- * The deep-agent model was never told its host OS or which shell `run_shell_command` uses, so on
159
- * non-POSIX hosts it defaulted to POSIX idioms that fail (ran `ls` where cmd.exe has `dir`, a
160
- * multi-line echo-redirect that wrote 0 bytes, a PowerShell here-string, `python -c` multi-line).
161
- * This is ORTHOGONAL to the EXT-13/16/22 path-namespace notes: those say WHERE the model is (path
162
- * form); this says WHAT shell it speaks (dialect).
163
- *
164
- * The shell is derived from the SAME rule Node's `spawn(command, { shell: true })` uses — exactly
165
- * how `run_shell_command` spawns (GthDevToolkit spawn) — so on `win32` it is cmd.exe (via
166
- * `%ComSpec%`) and on POSIX it is `/bin/sh` (POSIX sh, NOT guaranteed bash). Computed from
167
- * `process.platform` at call time so the text is correct per host. Returns the note alone when
168
- * there is no base prompt. A single injection is authoritative (nothing in deepagents' base prompt
169
- * contradicts shell dialect), so unlike EXT-22 no correction middleware is needed.
170
- */
171
- export declare function appendOsShellNote(systemPrompt: string | undefined): string;
@@ -4,6 +4,12 @@ import { StatusLevel } from '@gaunt-sloth/core/core/types.js';
4
4
  import { debugLog, debugLogObject } from '@gaunt-sloth/core/utils/debugUtils.js';
5
5
  import { buildSystemMessages, formatToolCalls, readChatPrompt, readCodePrompt, readExecPrompt, } from '@gaunt-sloth/core/utils/llmUtils.js';
6
6
  import { getCurrentWorkDir } from '@gaunt-sloth/core/utils/systemUtils.js';
7
+ // GS2-27: the OS/shell-dialect and real-cwd notes are backend-agnostic (both backends expose
8
+ // run_shell_command and run on the real-fs cwd), so their canonical source moved to core so the
9
+ // lean backend composes them too. Imported here for GthDeepAgent.init()'s code-mode composition and
10
+ // re-exported so existing importers of this module keep working.
11
+ import { appendOsShellNote, appendCwdNote, appendMcpServerInstructionsNote, } from '@gaunt-sloth/core/utils/systemPromptNotes.js';
12
+ export { appendOsShellNote, appendCwdNote, OS_SHELL_GUIDANCE, } from '@gaunt-sloth/core/utils/systemPromptNotes.js';
7
13
  import { AIMessage, ToolMessage } from '@langchain/core/messages';
8
14
  import { GraphInterrupt } from '@langchain/langgraph';
9
15
  import { createMiddleware } from 'langchain';
@@ -168,11 +174,25 @@ export class GthDeepAgent extends GthAbstractAgent {
168
174
  // POSIX). This is ORTHOGONAL to the path-namespace notes above (those say WHERE it is; this
169
175
  // says WHAT shell it speaks) and applies in BOTH code-mode branches, independent of
170
176
  // virtualMode — the shell dialect matters on every platform. Non-code paths get nothing new.
171
- const systemPrompt = this.command === 'code'
177
+ const codeNotesPrompt = this.command === 'code'
172
178
  ? appendOsShellNote(useVirtualFs
173
179
  ? appendVirtualCwdNote(params.systemPrompt)
174
180
  : appendCwdNote(params.systemPrompt, getCurrentWorkDir()))
175
181
  : params.systemPrompt;
182
+ // EXT-32: inject the connected MCP servers' discovery `instructions` (captured by the resolver
183
+ // during buildDeepAgentParams' resolveTools call, above) into the prompt — fenced + per-server-
184
+ // labelled as untrusted server-provided context. Mode-independent (MCP tools load in every
185
+ // mode). This mirrors the lean backend's GthLangChainAgent seam so both backends compose the
186
+ // same shared note (GS2-27 shared-path parity). Lives in init() like the cwd note, so the ACP
187
+ // buildDeepAgentParams entry is intentionally unaffected. Empty capture adds nothing.
188
+ // When tools are disabled, buildDeepAgentParams skips resolveTools (no MCP contact), so a REUSED
189
+ // resolver could still hold a prior run's capture — gate on toolsDisabled (recomputed from the
190
+ // effective config buildDeepAgentParams set on `this.config`) so no stale instructions leak.
191
+ const deepToolsDisabled = Array.isArray(this.config?.allowedTools) && this.config.allowedTools.length === 0;
192
+ const mcpInstructions = deepToolsDisabled
193
+ ? []
194
+ : (this.resolvers?.getMcpServerInstructions?.() ?? []);
195
+ const systemPrompt = appendMcpServerInstructionsNote(codeNotesPrompt, mcpInstructions);
176
196
  this.agent = createDeepAgent({
177
197
  model: params.model,
178
198
  tools: params.tools,
@@ -528,71 +548,6 @@ export function createPathNamespaceCorrectionMiddleware(appendCorrection) {
528
548
  },
529
549
  });
530
550
  }
531
- /**
532
- * EXT-13 (part b): append a real-cwd / path-model note to the composed code-mode system prompt.
533
- *
534
- * The default code-mode backend runs in REAL-path mode (no virtualMode), so the deepagents fs
535
- * tools and `run_shell_command` share one real-absolute-path namespace rooted at `cwd`. Neither
536
- * deepagents' base prompt nor `.gsloth.code.md` states the actual cwd, so without this the model
537
- * assumes `/` is cwd and hands `/`-rooted paths to the real-fs shell. The cwd is injected
538
- * dynamically (never baked into the .md). Returns the note alone when there is no base prompt.
539
- */
540
- export function appendCwdNote(systemPrompt, cwd) {
541
- const cwdNote = `Working directory: ${cwd}\n` +
542
- 'Paths are real absolute filesystem paths (there is no virtual root). The working directory ' +
543
- 'above is where this session runs; relative paths resolve against it, and both the filesystem ' +
544
- 'tools (ls/glob/read_file/write_file/edit_file/grep) and run_shell_command operate on these ' +
545
- 'same real paths. Check the current directory before filesystem operations and prefer absolute ' +
546
- 'paths (or paths relative to the working directory); do not assume the current directory is "/".';
547
- return systemPrompt ? `${systemPrompt}\n\n${cwdNote}` : cwdNote;
548
- }
549
- /**
550
- * EXT-26: the platform-agnostic tail shared by both {@link appendOsShellNote} branches.
551
- *
552
- * The recurring failure mode on non-POSIX hosts is not just wrong command NAMES but shell
553
- * REDIRECTION quoting: a grouped/multi-line `echo` redirect on cmd.exe reported success yet wrote
554
- * a 0-byte file. So on every platform we steer file creation/mutation to the deepagents built-in
555
- * `write_file`/`edit_file` tools (which never touch the shell's quoting) and keep each shell
556
- * command a single line. Kept short — this is prompt text an LLM reads, not documentation.
557
- */
558
- export const OS_SHELL_GUIDANCE = 'Prefer the built-in write_file / edit_file tools over shell echo/redirection to create or ' +
559
- 'modify files: shell redirection quoting is unreliable and can silently write an empty ' +
560
- '(0-byte) file. Keep each run_shell_command a single line.';
561
- /**
562
- * EXT-26: append an OS + shell-dialect note to the composed code-mode system prompt.
563
- *
564
- * The deep-agent model was never told its host OS or which shell `run_shell_command` uses, so on
565
- * non-POSIX hosts it defaulted to POSIX idioms that fail (ran `ls` where cmd.exe has `dir`, a
566
- * multi-line echo-redirect that wrote 0 bytes, a PowerShell here-string, `python -c` multi-line).
567
- * This is ORTHOGONAL to the EXT-13/16/22 path-namespace notes: those say WHERE the model is (path
568
- * form); this says WHAT shell it speaks (dialect).
569
- *
570
- * The shell is derived from the SAME rule Node's `spawn(command, { shell: true })` uses — exactly
571
- * how `run_shell_command` spawns (GthDevToolkit spawn) — so on `win32` it is cmd.exe (via
572
- * `%ComSpec%`) and on POSIX it is `/bin/sh` (POSIX sh, NOT guaranteed bash). Computed from
573
- * `process.platform` at call time so the text is correct per host. Returns the note alone when
574
- * there is no base prompt. A single injection is authoritative (nothing in deepagents' base prompt
575
- * contradicts shell dialect), so unlike EXT-22 no correction middleware is needed.
576
- */
577
- export function appendOsShellNote(systemPrompt) {
578
- let note;
579
- if (process.platform === 'win32') {
580
- note =
581
- 'Host operating system: Windows. `run_shell_command` runs in cmd.exe. Use native cmd ' +
582
- 'syntax: `dir` (not `ls`), `type` (not `cat`), `copy` / `move` / `del`, `%VAR%` for ' +
583
- 'environment variables, and backslash paths. Do NOT use POSIX-only idioms: no sh/bash ' +
584
- 'heredocs (`<< EOF`), no here-strings (`<<<`), no multi-line quoted command blocks, and do ' +
585
- `not assume POSIX quoting. ${OS_SHELL_GUIDANCE}`;
586
- }
587
- else {
588
- const osName = process.platform === 'darwin' ? 'macOS' : 'Linux';
589
- note =
590
- `Host operating system: ${osName}. \`run_shell_command\` runs in /bin/sh (POSIX sh, not ` +
591
- 'necessarily bash). Stick to POSIX sh syntax and avoid bash-only constructs such as ' +
592
- `here-strings (\`<<<\`) and \`[[ ]]\` tests. ${OS_SHELL_GUIDANCE}`;
593
- }
594
- return systemPrompt ? `${systemPrompt}\n\n${note}` : note;
595
- }
596
551
  // The `/debug` request-extras extraction (extractDebugRequestExtras + its model-param / tool-def
597
552
  // allowlist helpers) now lives in @gaunt-sloth/core (`core/debugCapture.ts`) so the lean backend
598
553
  // shares it. Imported at the top of this module and re-exported for back-compat.
@@ -1 +1 @@
1
- {"version":3,"file":"GthDeepAgent.js","sourceRoot":"","sources":["../../src/core/GthDeepAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GthDeepAgent.js","sourceRoot":"","sources":["../../src/core/GthDeepAgent.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { initConfig } from '@gaunt-sloth/core/config.js';
2
2
  import { defaultStatusCallback, display, displayInfo, displayWarning, flushSessionLog, formatInputPrompt, initSessionLogging, stopSessionLogging, } from '@gaunt-sloth/core/utils/consoleUtils.js';
3
3
  import { GthAgentRunner } from '@gaunt-sloth/core/core/GthAgentRunner.js';
4
4
  import { appendToFile, getCommandOutputFilePath } from '@gaunt-sloth/core/utils/fileUtils.js';
5
- import { recordSessionSafe } from '@gaunt-sloth/core/history/recordSession.js';
5
+ import { openConversationSafe, recordSessionSafe, } from '@gaunt-sloth/core/history/recordSession.js';
6
6
  import { createInterface, error, exit, getProjectDir, refStdin, setRawMode, stdin as input, stdout as output, } from '@gaunt-sloth/core/utils/systemUtils.js';
7
7
  import { HumanMessage } from '@langchain/core/messages';
8
8
  import { MemorySaver } from '@langchain/langgraph';
@@ -11,6 +11,15 @@ import { resolveAgentFactory } from '#src/core/resolveAgentFactory.js';
11
11
  export async function createInteractiveSession(sessionConfig, commandLineConfigOverrides, message) {
12
12
  const config = { ...(await initConfig(commandLineConfigOverrides)) };
13
13
  const checkpointSaver = new MemorySaver();
14
+ // GS2-19: open ONE conversation for this interactive session up-front; every turn below is stamped
15
+ // with its id so a multi-turn chat groups under one conversation (not N unrelated rows). Opt-in /
16
+ // fail-soft: a no-op returning undefined unless `history.enabled`, in which case turns fall back to
17
+ // per-turn 1-turn conversations. Never affects a default run.
18
+ const conversationId = openConversationSafe(config, {
19
+ command: sessionConfig.mode,
20
+ project: getProjectDir(),
21
+ model: config.modelDisplayName,
22
+ }) ?? undefined;
14
23
  // Initialize Runner
15
24
  const logFileName = getCommandOutputFilePath(config, sessionConfig.mode);
16
25
  if (logFileName) {
@@ -114,6 +123,7 @@ export async function createInteractiveSession(sessionConfig, commandLineConfigO
114
123
  /* fail-soft: analytics must never affect the session */
115
124
  }
116
125
  recordSessionSafe(config, {
126
+ conversationId, // GS2-19: group every turn under this session's conversation
117
127
  command: sessionConfig.mode,
118
128
  project: getProjectDir(),
119
129
  model: config.modelDisplayName,
@@ -1 +1 @@
1
- {"version":3,"file":"interactiveSessionModule.js","sourceRoot":"","sources":["../../src/modules/interactiveSessionModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactiveSessionModule.js","sourceRoot":"","sources":["../../src/modules/interactiveSessionModule.ts"],"names":[],"mappings":"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"}
package/dist/resolvers.js CHANGED
@@ -9,11 +9,13 @@
9
9
  * agent middleware registry.
10
10
  */
11
11
  import { debugLog } from '@gaunt-sloth/core/utils/debugUtils.js';
12
- import { displayInfo } from '@gaunt-sloth/core/utils/consoleUtils.js';
12
+ import { displayInfo, displayWarning } from '@gaunt-sloth/core/utils/consoleUtils.js';
13
13
  import { createA2AAgentTool } from '#src/tools/A2AAgentTool.js';
14
14
  import { prepareMcpTools } from '#src/utils/mcpUtils.js';
15
+ import { formatMcpConnectFailureMessage } from '#src/utils/mcpAuthError.js';
15
16
  import { createAuthProviderAndAuthenticate } from '#src/mcp/OAuthClientProviderImpl.js';
16
17
  import { MultiServerMCPClient } from '@langchain/mcp-adapters';
18
+ import { MCP_TOOL_NAME_PREFIX } from '@gaunt-sloth/core/constants.js';
17
19
  /**
18
20
  * Create a full set of resolvers for the GthLangChainAgent.
19
21
  *
@@ -22,8 +24,14 @@ import { MultiServerMCPClient } from '@langchain/mcp-adapters';
22
24
  */
23
25
  export function createResolvers() {
24
26
  let mcpClientInstance = null;
27
+ // EXT-32: per-server MCP discovery `instructions` captured during the most recent resolveTools.
28
+ // Kept on the resolver so the composed system prompt (via getMcpServerInstructions) AND a future
29
+ // MCP debug tab ([[TUI-C20]]) can read the SAME captured text without re-querying the servers.
30
+ let mcpServerInstructions = [];
25
31
  const resolveTools = async (config, command) => {
26
32
  const tools = [];
33
+ // Fresh capture per resolution; a stale value must never leak across re-inits.
34
+ mcpServerInstructions = [];
27
35
  // 1. Get built-in tools (filesystem, devTools, customTools, etc.)
28
36
  try {
29
37
  const { getDefaultTools } = await import('#src/builtInToolsConfig.js');
@@ -50,6 +58,37 @@ export function createResolvers() {
50
58
  }
51
59
  catch (error) {
52
60
  debugLog(`MCP tools error: ${error}`);
61
+ // EXT-31: both connection-level failures (incl. expired/invalid auth) AND per-tool schema-load
62
+ // errors under throwOnLoadError are caught inside the adapter's _initializeConnection and
63
+ // routed to the function-form onConnectionError callback in getMcpClient (surface + skip, no
64
+ // re-throw), so they do NOT reach here. This backstop therefore only catches a wholesale
65
+ // getTools() throw (belt-and-braces) — surface it neutrally so MCP tool loading can never fail
66
+ // silently, while the session degrades gracefully (built-in and A2A tools below still load).
67
+ displayWarning(`MCP integration tools could not be fully loaded; continuing without them. ` +
68
+ `Underlying error: ${error}`);
69
+ }
70
+ // 2b. EXT-32: capture each connected MCP server's discovery `instructions` string (from its MCP
71
+ // `initialize` handshake, exposed by the SDK Client via getInstructions()). This is ISOLATED
72
+ // from the getTools() block above so a getClient/getInstructions failure can never discard
73
+ // successfully-loaded MCP tools nor log a misleading "MCP tools error". Per-server try/catch so
74
+ // one unreachable/instruction-less server does not abort the rest. Absent/empty/whitespace-only
75
+ // instructions contribute nothing (trimmed, then omitted). The captured value is injected —
76
+ // fenced + per-server-labelled — into the composed system prompt on BOTH backends.
77
+ if (mcpClientInstance) {
78
+ const serverNames = Object.keys(config.mcpServers || {});
79
+ for (const serverName of serverNames) {
80
+ try {
81
+ const client = await mcpClientInstance.getClient(serverName);
82
+ const instructions = client?.getInstructions()?.trim();
83
+ if (instructions) {
84
+ mcpServerInstructions.push({ server: serverName, instructions });
85
+ }
86
+ }
87
+ catch (error) {
88
+ debugLog(`MCP instructions capture error for '${serverName}': ${error}`);
89
+ }
90
+ }
91
+ debugLog(`MCP servers with instructions: ${mcpServerInstructions.length}`);
53
92
  }
54
93
  // 3. Get A2A tools
55
94
  const a2aTools = getA2ATools(config);
@@ -85,11 +124,16 @@ export function createResolvers() {
85
124
  const cleanupMiddleware = async () => {
86
125
  // No cleanup needed for middleware currently
87
126
  };
127
+ // EXT-32: expose the captured per-server MCP instructions for the shared prompt composition (and,
128
+ // later, the [[TUI-C20]] MCP debug tab). Returns a defensive copy so callers can't mutate the
129
+ // captured state. Empty until resolveTools has run (or when no server supplied instructions).
130
+ const getMcpServerInstructions = () => [...mcpServerInstructions];
88
131
  return {
89
132
  resolveTools,
90
133
  cleanupTools,
91
134
  resolveMiddleware,
92
135
  cleanupMiddleware,
136
+ getMcpServerInstructions,
93
137
  };
94
138
  }
95
139
  // --- Private helpers ---
@@ -103,11 +147,19 @@ async function getMcpClient(config) {
103
147
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
104
148
  if (server.url && server && server.authProvider === 'OAuth') {
105
149
  displayInfo(`Starting OAuth for ${server.url}`);
106
- const authProvider = await createAuthProviderAndAuthenticate(server);
107
- mcpServers[serverName] = {
108
- ...server,
109
- authProvider,
110
- };
150
+ try {
151
+ const authProvider = await createAuthProviderAndAuthenticate(server);
152
+ mcpServers[serverName] = {
153
+ ...server,
154
+ authProvider,
155
+ };
156
+ }
157
+ catch (error) {
158
+ // EXT-31: an OAuth handshake/refresh failure happens BEFORE the MCP client exists, so it
159
+ // can't reach the connect-time onConnectionError callback below. Surface it here (named +
160
+ // actionable) and skip only THIS server so the others still load — never a silent drop.
161
+ displayWarning(formatMcpConnectFailureMessage(serverName, error, { oauth: true }));
162
+ }
111
163
  }
112
164
  else {
113
165
  mcpServers[serverName] = server;
@@ -118,8 +170,19 @@ async function getMcpClient(config) {
118
170
  return new MultiServerMCPClient({
119
171
  throwOnLoadError: true,
120
172
  prefixToolNameWithServerName: true,
121
- additionalToolNamePrefix: 'mcp',
173
+ // TUI-C20: single-sourced so the MCP debug tab can regroup tools back by server prefix.
174
+ additionalToolNamePrefix: MCP_TOOL_NAME_PREFIX,
122
175
  mcpServers: mcpServers,
176
+ // EXT-31: per-server surfacing. The function form of onConnectionError lets a failed server be
177
+ // classified + surfaced and then SKIPPED (added to the client's failedServers set) rather than
178
+ // aborting getTools() — so one integration's expired auth no longer swallows every other
179
+ // server's tools. Auth failures (401/403/expired token/refused handshake) get a named re-auth
180
+ // message; other failures are surfaced plainly as non-auth. Degradation stays graceful.
181
+ onConnectionError: ({ serverName, error }) => {
182
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
183
+ const oauth = rawMcpServers[serverName]?.authProvider === 'OAuth';
184
+ displayWarning(formatMcpConnectFailureMessage(serverName, error, { oauth }));
185
+ },
123
186
  });
124
187
  }
125
188
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * EXT-31 — classify and format MCP integration connect/tool-load failures so an expired or invalid
4
+ * credential is SURFACED (named + actionable) instead of silently dropping the integration's tools.
5
+ *
6
+ * The `@langchain/mcp-adapters` client only tags a bare HTTP 401 as an authentication error; a 403
7
+ * (forbidden / expired scope) otherwise falls through as a generic "Failed to connect". This module
8
+ * classifies auth failures independently (401/403 + credential keywords) so a stale token is not
9
+ * mistaken for "this integration was never configured" or an unrelated transient error.
10
+ *
11
+ * Pure + side-effect free: callers do the surfacing (`displayWarning`) with the returned message.
12
+ */
13
+ /** Coarse classification of an MCP connect/tool-load failure. */
14
+ export type McpConnectErrorKind = 'auth' | 'other';
15
+ /** Options that tune the suggested fix path in the surfaced message. */
16
+ export interface McpConnectFailureOptions {
17
+ /** The server uses OAuth (`authProvider: 'OAuth'`) — suggest re-running the OAuth login. */
18
+ oauth?: boolean;
19
+ }
20
+ /**
21
+ * Classify an MCP connect/tool-load failure as a credential problem (`auth`) or anything else
22
+ * (`other`). Detection is independent of the adapter (which only tags 401), so a 403 or an
23
+ * "expired token" surfaced by the upstream server is still recognised as auth.
24
+ */
25
+ export declare function classifyMcpConnectError(error: unknown): McpConnectErrorKind;
26
+ /**
27
+ * Build the user-facing message for a failed MCP integration. For `auth` failures it names the
28
+ * integration, states the credential is expired/invalid, and points at the concrete fix path
29
+ * (OAuth login or the API token / authorization header, plus the `mcpServers` entry in gth config).
30
+ * For `other` failures it surfaces the failure plainly and explicitly says it is NOT an auth error,
31
+ * so an unrelated transient never triggers a spurious "re-authenticate" nudge.
32
+ *
33
+ * Either way the caller degrades gracefully AFTER surfacing this — the integration's tools are
34
+ * dropped for the session, but the user (and the log) now knows why.
35
+ */
36
+ export declare function formatMcpConnectFailureMessage(serverName: string | undefined, error: unknown, options?: McpConnectFailureOptions): string;
@@ -0,0 +1,89 @@
1
+ /**
2
+ * @packageDocumentation
3
+ * EXT-31 — classify and format MCP integration connect/tool-load failures so an expired or invalid
4
+ * credential is SURFACED (named + actionable) instead of silently dropping the integration's tools.
5
+ *
6
+ * The `@langchain/mcp-adapters` client only tags a bare HTTP 401 as an authentication error; a 403
7
+ * (forbidden / expired scope) otherwise falls through as a generic "Failed to connect". This module
8
+ * classifies auth failures independently (401/403 + credential keywords) so a stale token is not
9
+ * mistaken for "this integration was never configured" or an unrelated transient error.
10
+ *
11
+ * Pure + side-effect free: callers do the surfacing (`displayWarning`) with the returned message.
12
+ */
13
+ /** Extract a readable message from an unknown thrown value. */
14
+ function errorMessage(error) {
15
+ if (error instanceof Error)
16
+ return error.message;
17
+ if (typeof error === 'string')
18
+ return error;
19
+ try {
20
+ return String(error?.message ?? error);
21
+ }
22
+ catch {
23
+ return String(error);
24
+ }
25
+ }
26
+ /** Read a numeric HTTP status from an error object or a `(HTTP NNN)` / `HTTP NNN` / `status NNN` message. */
27
+ function httpStatusOf(error, message) {
28
+ const code = error?.code;
29
+ if (typeof code === 'number')
30
+ return code;
31
+ if (typeof code === 'string' && /^\d{3}$/.test(code))
32
+ return parseInt(code, 10);
33
+ // Only treat 4xx/5xx numbers as a status when they carry HTTP/status context — never a bare "401"
34
+ // substring (which could be a port, a byte count, an id, …) to avoid misclassifying transient errors.
35
+ const m = message.match(/\b(?:HTTP|status(?:\s*code)?)[\s:]*\(?(\d{3})\)?/i);
36
+ return m ? parseInt(m[1], 10) : undefined;
37
+ }
38
+ // Credential-failure phrasing across MCP adapter wrapping, transports, and common upstream servers.
39
+ // Includes the canonical OAuth error codes (`invalid_grant` = expired/revoked refresh token,
40
+ // `invalid_token`, `unauthorized_client`) and generic `oauth …` credential phrasing, so a keyword-
41
+ // bearing OAuth failure is classified as auth even when it does NOT arrive via the OAuth catch site.
42
+ const AUTH_KEYWORDS = /\b(unauthorized|forbidden|authentication failed|authenti[sc]ation (?:error|required)|authorization (?:error|failed|required)|invalid (?:token|credentials?|api[\s-]?key|authorization)|invalid_grant|invalid_token|unauthorized_client|oauth[\s_-]?(?:error|failed|failure|denied|token|authorization|handshake|login)|(?:token|credentials?|session|api[\s-]?key)s? (?:has |have )?(?:expired|is expired|are expired)|expired (?:token|credentials?|session)|access denied|401 unauthorized|403 forbidden)\b/i;
43
+ /**
44
+ * Classify an MCP connect/tool-load failure as a credential problem (`auth`) or anything else
45
+ * (`other`). Detection is independent of the adapter (which only tags 401), so a 403 or an
46
+ * "expired token" surfaced by the upstream server is still recognised as auth.
47
+ */
48
+ export function classifyMcpConnectError(error) {
49
+ const message = errorMessage(error);
50
+ const status = httpStatusOf(error, message);
51
+ if (status === 401 || status === 403)
52
+ return 'auth';
53
+ if (AUTH_KEYWORDS.test(message))
54
+ return 'auth';
55
+ return 'other';
56
+ }
57
+ /**
58
+ * Build the user-facing message for a failed MCP integration. For `auth` failures it names the
59
+ * integration, states the credential is expired/invalid, and points at the concrete fix path
60
+ * (OAuth login or the API token / authorization header, plus the `mcpServers` entry in gth config).
61
+ * For `other` failures it surfaces the failure plainly and explicitly says it is NOT an auth error,
62
+ * so an unrelated transient never triggers a spurious "re-authenticate" nudge.
63
+ *
64
+ * Either way the caller degrades gracefully AFTER surfacing this — the integration's tools are
65
+ * dropped for the session, but the user (and the log) now knows why.
66
+ */
67
+ export function formatMcpConnectFailureMessage(serverName, error, options = {}) {
68
+ // Reaching the OAuth surfacing site means createAuthProviderAndAuthenticate() threw, i.e. the
69
+ // OAuth handshake/refresh itself failed — that is inherently an auth failure regardless of the
70
+ // message text (e.g. a keyword-less `invalid_grant`). Force `auth` here rather than inferring it
71
+ // from keywords, so an OAuth credential failure never mis-surfaces as "not an authentication error".
72
+ const kind = options.oauth ? 'auth' : classifyMcpConnectError(error);
73
+ const name = serverName ? `"${serverName}"` : 'an MCP server';
74
+ const configHint = serverName
75
+ ? `check the ${name} entry under mcpServers in your gth config`
76
+ : 'check the mcpServers entries in your gth config';
77
+ if (kind === 'auth') {
78
+ const reAuth = options.oauth
79
+ ? 'complete the OAuth login flow again (clear the stored token first if needed)'
80
+ : 'refresh its API token or key (the apiKeyEnvironmentVariable or authorization header it uses)';
81
+ return (`Integration ${name} authentication failed: its credentials appear expired or invalid ` +
82
+ `(the MCP server rejected the connection with an authorization error). Its tools are ` +
83
+ `unavailable for this session. To restore them, re-authenticate this integration: ` +
84
+ `${reAuth} and ${configHint}, then restart.`);
85
+ }
86
+ return (`Integration ${name} could not connect to its MCP server (this is not an authentication ` +
87
+ `error). Its tools are unavailable for this session. Underlying error: ${errorMessage(error)}`);
88
+ }
89
+ //# sourceMappingURL=mcpAuthError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcpAuthError.js","sourceRoot":"","sources":["../../src/utils/mcpAuthError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,+DAA+D;AAC/D,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,MAAM,CAAE,KAA+B,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,6GAA6G;AAC7G,SAAS,YAAY,CAAC,KAAc,EAAE,OAAe;IACnD,MAAM,IAAI,GAAI,KAA4B,EAAE,IAAI,CAAC;IACjD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChF,kGAAkG;IAClG,sGAAsG;IACtG,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAC7E,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,oGAAoG;AACpG,6FAA6F;AAC7F,mGAAmG;AACnG,qGAAqG;AACrG,MAAM,aAAa,GACjB,gfAAgf,CAAC;AAEnf;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IACpD,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,8BAA8B,CAC5C,UAA8B,EAC9B,KAAc,EACd,UAAoC,EAAE;IAEtC,8FAA8F;IAC9F,+FAA+F;IAC/F,iGAAiG;IACjG,qGAAqG;IACrG,MAAM,IAAI,GAAwB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC;IAC9D,MAAM,UAAU,GAAG,UAAU;QAC3B,CAAC,CAAC,aAAa,IAAI,4CAA4C;QAC/D,CAAC,CAAC,iDAAiD,CAAC;IAEtD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK;YAC1B,CAAC,CAAC,8EAA8E;YAChF,CAAC,CAAC,8FAA8F,CAAC;QACnG,OAAO,CACL,eAAe,IAAI,oEAAoE;YACvF,sFAAsF;YACtF,mFAAmF;YACnF,GAAG,MAAM,QAAQ,UAAU,iBAAiB,CAC7C,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAe,IAAI,sEAAsE;QACzF,yEAAyE,YAAY,CAAC,KAAK,CAAC,EAAE,CAC/F,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gaunt-sloth/agent",
3
- "version": "2.0.0-alpha.10",
3
+ "version": "2.0.0-alpha.11",
4
4
  "description": "Deep agent runtime for Gaunt Sloth: tools, middleware, MCP/A2A clients and the AG-UI server",
5
5
  "license": "MIT",
6
6
  "author": "Andrew Kondratev",
@@ -52,7 +52,7 @@
52
52
  "langchain": "^1.5.2",
53
53
  "uuid": ">=11.1.1",
54
54
  "zod": "^4.0.0",
55
- "@gaunt-sloth/core": "2.0.0-alpha.10"
55
+ "@gaunt-sloth/core": "2.0.0-alpha.11"
56
56
  },
57
57
  "files": [
58
58
  "./dist/*",