@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.
- package/dist/claude-harness.d.ts +20 -6
- package/dist/claude-harness.js +66 -7
- package/dist/claude-harness.js.map +1 -1
- package/dist/claude-query-options-builder.js +16 -1
- package/dist/claude-query-options-builder.js.map +1 -1
- package/dist/claude-skill-mcp-server.d.ts +36 -0
- package/dist/claude-skill-mcp-server.js +164 -0
- package/dist/claude-skill-mcp-server.js.map +1 -0
- package/dist/skill-loader.d.ts +61 -0
- package/dist/skill-loader.js +153 -0
- package/dist/skill-loader.js.map +1 -0
- package/dist/test/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
package/dist/claude-harness.d.ts
CHANGED
|
@@ -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
|
|
170
|
-
* host-owned `Client` in a fresh `McpServer` instance
|
|
171
|
-
* returns the cached catalog and whose `tools/call`
|
|
172
|
-
* client. Only `Connected` servers contribute
|
|
173
|
-
* servers are skipped so the model doesn't
|
|
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
|
/**
|
package/dist/claude-harness.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
785
|
-
* host-owned `Client` in a fresh `McpServer` instance
|
|
786
|
-
* returns the cached catalog and whose `tools/call`
|
|
787
|
-
* client. Only `Connected` servers contribute
|
|
788
|
-
* servers are skipped so the model doesn't
|
|
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 =
|
|
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;
|
|
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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"}
|