@salesforce/sfdx-agent-harness-claude 0.6.0 → 0.7.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.
@@ -166,12 +166,26 @@ export declare class ClaudeHarness implements AgentHarness {
166
166
  stream(agentId: string, threadId: string, message: string, streamOptions?: StreamOptions): Promise<ChatStreamResult>;
167
167
  /**
168
168
  * Build the per-stream MCP bridge configs the Claude subprocess will
169
- * receive on `query({ options.mcpServers })`. Each entry wraps a
170
- * host-owned `Client` in a fresh `McpServer` instance whose `tools/list`
171
- * returns the cached catalog and whose `tools/call` forwards into the
172
- * client. Only `Connected` servers contribute — `Connecting` and `Error`
173
- * servers are skipped so the model doesn't see tools we can't actually
174
- * invoke yet (or at all).
169
+ * receive on `query({ options.mcpServers })`. Each external-server
170
+ * entry wraps a host-owned `Client` in a fresh `McpServer` instance
171
+ * whose `tools/list` returns the cached catalog and whose `tools/call`
172
+ * forwards into the client. Only `Connected` external servers contribute
173
+ * — `Connecting` and `Error` servers are skipped so the model doesn't
174
+ * see tools we can't actually invoke yet (or at all).
175
+ *
176
+ * When `config.skills` produced a non-empty skill catalog at
177
+ * `createAgent` time, the in-process `skill_bridge` SDK MCP server is
178
+ * appended to the map so `mcp__skill_bridge__load_skill` enters the
179
+ * model's tool surface. The skill server has no transport — it lives
180
+ * entirely in the harness process and is GC-collected when the
181
+ * `query()` invocation finishes. See `claude-skill-mcp-server.ts` for
182
+ * the rationale.
183
+ *
184
+ * When `consumerToolsBridge` is supplied (per-stream), it's appended
185
+ * under its own server name so consumer-declared `AgentConfig.tools`
186
+ * surface as `mcp__<consumer_tools>__<tool>` to the model. Built via
187
+ * `claude-consumer-tool-bridge.ts`; settled by the per-stream
188
+ * `ConsumerToolBroker` when `submitToolResult()` is called.
175
189
  */
176
190
  private buildBridgeConfigsForStream;
177
191
  /**
@@ -14,6 +14,8 @@ import { ConsumerToolBroker } from './consumer-tool-broker.js';
14
14
  import { buildMcpClients, hasEnabledServers } from './mcp-client-factory.js';
15
15
  import { buildMcpErrorDetail, sanitizeMcpErrorMessage } from './mcp-error-classifier.js';
16
16
  import { composeRulesAppend } from './rule-composer.js';
17
+ import { buildSkillMap } from './skill-loader.js';
18
+ import { buildSkillMcpServer } from './claude-skill-mcp-server.js';
17
19
  import { DiskBackedSessionStore } from './disk-backed-session-store.js';
18
20
  import { ThreadContextStore } from './thread-context-store.js';
19
21
  import { teeTextStream } from './text-stream.js';
@@ -121,6 +123,12 @@ export class ClaudeHarness {
121
123
  // `config` (not folded into it) so consumer-facing `getAgentConfig()`
122
124
  // keeps reflecting what was passed in.
123
125
  const rulesAppend = await composeRulesAppend(config.rules);
126
+ // Build the skill catalog eagerly for the same reason — a typo in
127
+ // `config.skills` should reject createAgent loud at registration
128
+ // time rather than silently dropping the skill on every turn. The
129
+ // logBus surfaces collision warnings (first-writer-wins is by
130
+ // design; silent drops would burn debugging time).
131
+ const skillMap = await buildSkillMap(config.skills, this.buses.getLogBus());
124
132
  // Resolve symlinks once at registration so the host-side projectRoot
125
133
  // matches whatever the Claude SDK realpath-resolves the subprocess cwd
126
134
  // to. Without this, macOS's `/var → /private/var` symlink causes the
@@ -201,6 +209,7 @@ export class ClaudeHarness {
201
209
  projectRoot: resolvedProjectRoot,
202
210
  config,
203
211
  rulesAppend,
212
+ skillMap,
204
213
  modelId: llmGatewayClient.getModel().name,
205
214
  threads,
206
215
  mcpServers,
@@ -750,13 +759,45 @@ export class ClaudeHarness {
750
759
  })();
751
760
  return teeTextStream(consumerToolBroker.initialSink().generator());
752
761
  }
762
+ const logBus = this.buses.getLogBus();
753
763
  async function* eventStream() {
764
+ let terminalEmitted = false;
754
765
  try {
755
766
  for await (const msg of queryResult) {
756
- yield* adapter.mapMessage(msg);
767
+ for (const event of adapter.mapMessage(msg)) {
768
+ if (event.type === 'finish') {
769
+ terminalEmitted = true;
770
+ }
771
+ yield event;
772
+ }
757
773
  }
758
774
  }
759
775
  catch (err) {
776
+ // The Salesforce LLM Gateway's Bedrock-Claude path
777
+ // (`/invoke-with-response-stream`) intermittently appends a
778
+ // JSON error envelope after the terminal eventstream frame
779
+ // on otherwise-successful responses. The Anthropic SDK's
780
+ // strict eventstream parser then reads the trailing bytes
781
+ // as a multi-GB frame length and throws "Truncated event
782
+ // message received" AFTER the success `result` message has
783
+ // been delivered and a terminal `finish` ChatEvent has
784
+ // already been yielded downstream. Re-yielding error +
785
+ // finish('error') here would violate the SDK invariant
786
+ // ("exactly one terminal FinishEvent per chat turn") and
787
+ // surface the turn as `chat-stream-error` instead of
788
+ // `chat-stream-completed`. Swallow tear-down noise that
789
+ // arrives after the terminal finish.
790
+ // See https://github.com/forcedotcom/agentic-dx/issues/396
791
+ // (originally fixed by #424, reverted in #448 when the
792
+ // gateway team declared the fix shipped, regressed again
793
+ // in late May 2026 with a trailing-JSON shape the original
794
+ // fix happens to also cover).
795
+ if (terminalEmitted) {
796
+ logBus?.warn('Claude harness swallowed post-finish stream error', {
797
+ error: err instanceof Error ? err.message : String(err),
798
+ });
799
+ return;
800
+ }
760
801
  if (controller.signal.aborted) {
761
802
  // When the consumer-supplied AbortSignal fires, the
762
803
  // harness forwards it onto its local controller and the
@@ -781,12 +822,26 @@ export class ClaudeHarness {
781
822
  }
782
823
  /**
783
824
  * Build the per-stream MCP bridge configs the Claude subprocess will
784
- * receive on `query({ options.mcpServers })`. Each entry wraps a
785
- * host-owned `Client` in a fresh `McpServer` instance whose `tools/list`
786
- * returns the cached catalog and whose `tools/call` forwards into the
787
- * client. Only `Connected` servers contribute — `Connecting` and `Error`
788
- * servers are skipped so the model doesn't see tools we can't actually
789
- * invoke yet (or at all).
825
+ * receive on `query({ options.mcpServers })`. Each external-server
826
+ * entry wraps a host-owned `Client` in a fresh `McpServer` instance
827
+ * whose `tools/list` returns the cached catalog and whose `tools/call`
828
+ * forwards into the client. Only `Connected` external servers contribute
829
+ * — `Connecting` and `Error` servers are skipped so the model doesn't
830
+ * see tools we can't actually invoke yet (or at all).
831
+ *
832
+ * When `config.skills` produced a non-empty skill catalog at
833
+ * `createAgent` time, the in-process `skill_bridge` SDK MCP server is
834
+ * appended to the map so `mcp__skill_bridge__load_skill` enters the
835
+ * model's tool surface. The skill server has no transport — it lives
836
+ * entirely in the harness process and is GC-collected when the
837
+ * `query()` invocation finishes. See `claude-skill-mcp-server.ts` for
838
+ * the rationale.
839
+ *
840
+ * When `consumerToolsBridge` is supplied (per-stream), it's appended
841
+ * under its own server name so consumer-declared `AgentConfig.tools`
842
+ * surface as `mcp__<consumer_tools>__<tool>` to the model. Built via
843
+ * `claude-consumer-tool-bridge.ts`; settled by the per-stream
844
+ * `ConsumerToolBroker` when `submitToolResult()` is called.
790
845
  */
791
846
  buildBridgeConfigsForStream(agent, consumerToolsBridge) {
792
847
  const out = {};
@@ -799,6 +854,10 @@ export class ClaudeHarness {
799
854
  if (consumerToolsBridge) {
800
855
  out[CONSUMER_TOOLS_BRIDGE_SERVER_NAME] = consumerToolsBridge;
801
856
  }
857
+ const skillServer = buildSkillMcpServer(agent.skillMap);
858
+ if (skillServer) {
859
+ out[skillServer.name] = skillServer;
860
+ }
802
861
  return Object.keys(out).length > 0 ? out : undefined;
803
862
  }
804
863
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"claude-harness.js","sourceRoot":"","sources":["../src/claude-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-harness.js","sourceRoot":"","sources":["../src/claude-harness.ts"],"names":[],"mappings":"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"}
@@ -23,21 +23,36 @@ export class ClaudeQueryOptionsBuilder {
23
23
  }
24
24
  build(projectRoot, config, streamOptions, env, sessionOptions, nativeModelId, brokerCanUseTool, mcpServers, rulesAppend) {
25
25
  const hasMcpServers = mcpServers !== undefined && Object.keys(mcpServers).length > 0;
26
+ const approvalGated = streamOptions?.requireToolApproval && brokerCanUseTool !== undefined;
26
27
  // See ARCHITECTURE.md → "Rule Composition" for the systemPrompt shape selection.
27
28
  const systemPrompt = buildSystemPrompt(config.instructions, rulesAppend);
29
+ // Auto-allow every MCP server's tool surface via the `mcp__<server>`
30
+ // wildcard. The Claude CLI's MDM/policy layer overrides
31
+ // `bypassPermissions` when `settingSources: []` is set
32
+ // ("bypassPermissions mode is disabled by settings" in the subprocess
33
+ // log), which causes the per-tool permission gate to deny
34
+ // model-initiated MCP tool calls. The per-server wildcard explicitly
35
+ // auto-allows every tool the harness surfaces (external bridges +
36
+ // in-process `consumer_tools` and `skill_bridge` MCP servers) without
37
+ // asking for user approval. Skipped when approval-gating is on for
38
+ // this turn — `allowedTools` would short-circuit `canUseTool`, so
39
+ // tool calls would never reach the broker for `tool-approval-request`
40
+ // emission.
41
+ const allowedTools = hasMcpServers && !approvalGated ? Object.keys(mcpServers).map((name) => `mcp__${name}`) : undefined;
28
42
  const perAgentOptions = {
29
43
  cwd: projectRoot,
30
44
  ...(nativeModelId ? { model: nativeModelId } : {}),
31
45
  ...(systemPrompt !== undefined ? { systemPrompt } : {}),
32
46
  ...(streamOptions?.maxSteps ? { maxTurns: streamOptions.maxSteps } : {}),
33
47
  ...(hasMcpServers && { mcpServers }),
48
+ ...(allowedTools !== undefined && { allowedTools }),
34
49
  };
35
50
  // When the consumer asks for approval gating, the broker's canUseTool
36
51
  // must actually be invoked — which only happens under permissionMode
37
52
  // 'default'. Override any factory-injected mode for this turn and strip
38
53
  // the bypass-permissions escape hatch so the SDK doesn't short-circuit
39
54
  // the callback.
40
- const approvalOverrides = streamOptions?.requireToolApproval && brokerCanUseTool
55
+ const approvalOverrides = approvalGated
41
56
  ? {
42
57
  canUseTool: brokerCanUseTool,
43
58
  permissionMode: 'default',
@@ -1 +1 @@
1
- {"version":3,"file":"claude-query-options-builder.js","sourceRoot":"","sources":["../src/claude-query-options-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH,MAAM,wBAAwB,GAAqB;IAC/C,sBAAsB,EAAE,IAAI;IAC5B,cAAc,EAAE,EAAE;IAClB,cAAc,EAAE,IAAI;CACvB,CAAC;AAIF;;;;;;;;GAQG;AACH,MAAM,OAAO,yBAAyB;IACL;IAA7B,YAA6B,gBAAqC,EAAE;QAAvC,kBAAa,GAAb,aAAa,CAA0B;IAAG,CAAC;IAExE,KAAK,CACD,WAAmB,EACnB,MAA0B,EAC1B,aAAwC,EACxC,GAAuC,EACvC,cAA+B,EAC/B,aAAsB,EACtB,gBAA6B,EAC7B,UAA4C,EAC5C,WAAoB;QAEpB,MAAM,aAAa,GAAG,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACrF,iFAAiF;QACjF,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACzE,MAAM,eAAe,GAAqB;YACtC,GAAG,EAAE,WAAW;YAChB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,aAAa,IAAI,EAAE,UAAU,EAAE,CAAC;SACvC,CAAC;QAEF,sEAAsE;QACtE,qEAAqE;QACrE,wEAAwE;QACxE,uEAAuE;QACvE,gBAAgB;QAChB,MAAM,iBAAiB,GACnB,aAAa,EAAE,mBAAmB,IAAI,gBAAgB;YAClD,CAAC,CAAC;gBACI,UAAU,EAAE,gBAAgB;gBAC5B,cAAc,EAAE,SAAS;gBACzB,+BAA+B,EAAE,KAAK;aACzC;YACH,CAAC,CAAC,EAAE,CAAC;QAEb,OAAO;YACH,GAAG,IAAI,CAAC,aAAa;YACrB,GAAG,eAAe;YAClB,GAAG,cAAc;YACjB,GAAG,wBAAwB;YAC3B,GAAG,iBAAiB;YACpB,GAAG;SACN,CAAC;IACN,CAAC;CACJ;AAED,SAAS,iBAAiB,CACtB,YAAgC,EAChC,WAA+B;IAE/B,MAAM,KAAK,GAAG,WAAW,IAAI,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,MAAM,eAAe,GAAG,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9E,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;IAC3F,CAAC;IACD,OAAO,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"claude-query-options-builder.js","sourceRoot":"","sources":["../src/claude-query-options-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { McpSdkServerConfigWithInstance } from '@anthropic-ai/claude-agent-sdk';
2
+ import type { SkillMap } from './skill-loader.js';
3
+ /**
4
+ * MCP server name surfaced to the Claude Agent SDK. The subprocess-side
5
+ * tool name the model sees is `mcp__${SKILL_SERVER_NAME}__load_skill`.
6
+ * Stable identifier — changing it is a breaking change for any
7
+ * `excludedTools` allowlist a consumer has pinned. The `_bridge`
8
+ * suffix mirrors the existing `claude-mcp-bridge.ts` naming pattern
9
+ * (host-side bridge that surfaces something the model can't natively
10
+ * reach as MCP tools the model can call).
11
+ */
12
+ export declare const SKILL_SERVER_NAME = "skill_bridge";
13
+ /**
14
+ * Build the in-process SDK MCP server config that exposes the agent's
15
+ * configured skills via a single `load_skill` tool. Returns `undefined`
16
+ * when `skillMap` is empty so callers can omit the entry from
17
+ * `Options.mcpServers` entirely (no zero-skill noise in the prompt
18
+ * catalog).
19
+ *
20
+ * Lifetime: the returned `McpServer` is meant to be handed verbatim to
21
+ * `query()` per stream. The Claude Agent SDK connects to it through
22
+ * the SDK transport, calls `tools/list` once during init (returning
23
+ * the static one-tool catalog), then forwards `tools/call` to the
24
+ * registered handler. There are no transport resources to tear down —
25
+ * the server lives entirely in-process and is GC-collected when the
26
+ * `query()` invocation finishes. Same pattern as `claude-mcp-bridge`'s
27
+ * `buildBridgeForServer`.
28
+ *
29
+ * Skill catalog freshness: the handler reads from the `skillMap`
30
+ * captured at construction time. Updates flow through
31
+ * `Agent.updateAgentConfig` → `harness.destroyAgent` →
32
+ * `harness.createAgent`, which rebuilds the map and constructs a fresh
33
+ * MCP server on the next `stream()`; mid-stream config changes are
34
+ * not supported in any harness for any field.
35
+ */
36
+ export declare function buildSkillMcpServer(skillMap: SkillMap): McpSdkServerConfigWithInstance | undefined;
@@ -0,0 +1,164 @@
1
+ /*
2
+ * Copyright 2026, Salesforce, Inc. All rights reserved.
3
+ * See LICENSE.txt for license terms.
4
+ */
5
+ /**
6
+ * In-process MCP server that exposes the agent's configured skills as
7
+ * a single `load_skill` tool. The server is composed alongside the
8
+ * external-server bridges in `claude-mcp-bridge.ts` and handed to the
9
+ * Claude Agent SDK via `query({ options: { mcpServers } })` so the
10
+ * subprocess-side model sees `mcp__skill_bridge__load_skill` in its
11
+ * tool catalog.
12
+ *
13
+ * Why an in-process MCP server instead of `Options.skills` / native
14
+ * Claude Agent SDK skill auto-discovery:
15
+ *
16
+ * - `Options.skills: 'all'` only walks `<projectRoot>/.claude/skills/`
17
+ * (and is gated on `settingSources` including `'project'`); the
18
+ * harness sets `settingSources: []` on purpose, and the SDK's
19
+ * `AgentConfig.skills` contract supports arbitrary paths anywhere on
20
+ * disk, not just the project directory. The native path doesn't
21
+ * honor the contract.
22
+ * - Inlining skill bodies into `systemPrompt` (the rules-style "eager"
23
+ * shape) costs O(N) tokens on every turn and rewrites the prompt on
24
+ * every `updateAgentConfig`; both characteristics get worse linearly
25
+ * with skill count. MCP tools sit outside the prompt budget — the
26
+ * model only pays for the `load_skill` tool descriptor, which is
27
+ * bounded.
28
+ *
29
+ * Why bypass `createSdkMcpServer` from the Claude Agent SDK: same
30
+ * rationale as `claude-mcp-bridge.ts` — the SDK helper requires a Zod
31
+ * raw shape (`Record<string, ZodTypeAny>`) for `inputSchema`, but the
32
+ * skill input is one required string field. Using the low-level
33
+ * `McpServer` class lets the harness stay JSON Schema-native and avoid
34
+ * adding zod as a runtime dependency just for this one tool.
35
+ *
36
+ * Skill body load is lazy — only `load_skill`'s descriptor (with the
37
+ * catalog enumerated in its description) is in the prompt at rest;
38
+ * the SKILL.md body returns from disk only when the model invokes the
39
+ * tool. Unknown skill names and missing arguments return structured
40
+ * errors (`isError: true`) so the model can recover.
41
+ */
42
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
43
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
44
+ import { readFile } from 'node:fs/promises';
45
+ import { getErrorMessage } from '@salesforce/agentic-common';
46
+ /**
47
+ * MCP server name surfaced to the Claude Agent SDK. The subprocess-side
48
+ * tool name the model sees is `mcp__${SKILL_SERVER_NAME}__load_skill`.
49
+ * Stable identifier — changing it is a breaking change for any
50
+ * `excludedTools` allowlist a consumer has pinned. The `_bridge`
51
+ * suffix mirrors the existing `claude-mcp-bridge.ts` naming pattern
52
+ * (host-side bridge that surfaces something the model can't natively
53
+ * reach as MCP tools the model can call).
54
+ */
55
+ export const SKILL_SERVER_NAME = 'skill_bridge';
56
+ const SKILL_TOOL_NAME = 'load_skill';
57
+ const SKILL_SERVER_VERSION = '1.0.0';
58
+ /**
59
+ * Build the in-process SDK MCP server config that exposes the agent's
60
+ * configured skills via a single `load_skill` tool. Returns `undefined`
61
+ * when `skillMap` is empty so callers can omit the entry from
62
+ * `Options.mcpServers` entirely (no zero-skill noise in the prompt
63
+ * catalog).
64
+ *
65
+ * Lifetime: the returned `McpServer` is meant to be handed verbatim to
66
+ * `query()` per stream. The Claude Agent SDK connects to it through
67
+ * the SDK transport, calls `tools/list` once during init (returning
68
+ * the static one-tool catalog), then forwards `tools/call` to the
69
+ * registered handler. There are no transport resources to tear down —
70
+ * the server lives entirely in-process and is GC-collected when the
71
+ * `query()` invocation finishes. Same pattern as `claude-mcp-bridge`'s
72
+ * `buildBridgeForServer`.
73
+ *
74
+ * Skill catalog freshness: the handler reads from the `skillMap`
75
+ * captured at construction time. Updates flow through
76
+ * `Agent.updateAgentConfig` → `harness.destroyAgent` →
77
+ * `harness.createAgent`, which rebuilds the map and constructs a fresh
78
+ * MCP server on the next `stream()`; mid-stream config changes are
79
+ * not supported in any harness for any field.
80
+ */
81
+ export function buildSkillMcpServer(skillMap) {
82
+ if (skillMap.size === 0)
83
+ return undefined;
84
+ const tool = {
85
+ name: SKILL_TOOL_NAME,
86
+ description: buildToolDescription(skillMap),
87
+ inputSchema: {
88
+ type: 'object',
89
+ properties: {
90
+ skill: {
91
+ type: 'string',
92
+ description: 'Exact name of the skill to load (required).',
93
+ },
94
+ },
95
+ required: ['skill'],
96
+ },
97
+ };
98
+ const instance = new McpServer({ name: SKILL_SERVER_NAME, version: SKILL_SERVER_VERSION }, { capabilities: { tools: {} } });
99
+ // `tools/list` — static one-tool catalog; the catalog of available
100
+ // *skills* lives inside the tool's description, not as separate
101
+ // tools. One tool keeps the model's tool-search surface flat
102
+ // regardless of skill count.
103
+ instance.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [tool] }));
104
+ // `tools/call` — read the requested SKILL.md on demand and return
105
+ // its body verbatim. Three failure modes are normalized to
106
+ // `{ isError: true, content: [...] }` so the Claude SDK's request
107
+ // dispatcher never sees a thrown error (which would tear down the
108
+ // bridge transport for the entire turn). Same convention as
109
+ // `claude-mcp-bridge.ts`.
110
+ instance.server.setRequestHandler(CallToolRequestSchema, async (request) => {
111
+ const { name, arguments: args } = request.params;
112
+ if (name !== SKILL_TOOL_NAME) {
113
+ return errorResult(`Unknown tool "${name}".`);
114
+ }
115
+ const requested = typeof args?.skill === 'string'
116
+ ? args.skill.trim()
117
+ : '';
118
+ if (!requested) {
119
+ return errorResult("Missing required 'skill' field.", skillMap);
120
+ }
121
+ const entry = skillMap.get(requested);
122
+ if (!entry) {
123
+ return errorResult(`Unknown skill "${requested}".`, skillMap);
124
+ }
125
+ try {
126
+ const body = await readFile(entry.path, 'utf8');
127
+ return { content: [{ type: 'text', text: body }] };
128
+ }
129
+ catch (err) {
130
+ return errorResult(`Failed to read skill "${requested}": ${getErrorMessage(err)}`);
131
+ }
132
+ });
133
+ return { type: 'sdk', name: SKILL_SERVER_NAME, instance };
134
+ }
135
+ function buildToolDescription(skillMap) {
136
+ // Keep the catalog deterministic — alphabetical names regardless
137
+ // of insertion order means a consumer who reorders `config.skills`
138
+ // doesn't churn the model's prompt cache.
139
+ const names = [...skillMap.keys()].sort();
140
+ const lines = [
141
+ "Load a project-specific skill's full instructions on demand. " +
142
+ 'Returns the SKILL.md body verbatim; pick the relevant skill from the catalog below ' +
143
+ 'before answering questions that depend on project conventions, internal procedures, ' +
144
+ 'or company-specific protocols.',
145
+ '',
146
+ 'Available skills:',
147
+ ];
148
+ for (const name of names) {
149
+ const description = skillMap.get(name)?.description ?? '';
150
+ lines.push(description.length > 0 ? `- ${name}: ${description}` : `- ${name}`);
151
+ }
152
+ return lines.join('\n');
153
+ }
154
+ function errorResult(message, skillMap) {
155
+ const payload = { error: message };
156
+ if (skillMap !== undefined) {
157
+ payload.availableSkills = [...skillMap.keys()].sort();
158
+ }
159
+ return {
160
+ content: [{ type: 'text', text: JSON.stringify(payload) }],
161
+ isError: true,
162
+ };
163
+ }
164
+ //# sourceMappingURL=claude-skill-mcp-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-skill-mcp-server.js","sourceRoot":"","sources":["../src/claude-skill-mcp-server.ts"],"names":[],"mappings":"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"}