@x-code-cli/core 0.2.10 → 0.3.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/agent/compression.d.ts +12 -2
- package/dist/agent/compression.d.ts.map +1 -1
- package/dist/agent/compression.js +51 -2
- package/dist/agent/compression.js.map +1 -1
- package/dist/agent/file-ingest.js +2 -2
- package/dist/agent/file-ingest.js.map +1 -1
- package/dist/agent/loop-state.d.ts +3 -2
- package/dist/agent/loop-state.d.ts.map +1 -1
- package/dist/agent/loop-state.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +134 -5
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/memory-extractor.js +5 -5
- package/dist/agent/memory-extractor.js.map +1 -1
- package/dist/agent/plan-storage.js +1 -1
- package/dist/agent/plan-storage.js.map +1 -1
- package/dist/agent/sub-agents/index.d.ts +2 -1
- package/dist/agent/sub-agents/index.d.ts.map +1 -1
- package/dist/agent/sub-agents/index.js +1 -1
- package/dist/agent/sub-agents/index.js.map +1 -1
- package/dist/agent/sub-agents/loader.d.ts +13 -3
- package/dist/agent/sub-agents/loader.d.ts.map +1 -1
- package/dist/agent/sub-agents/loader.js +36 -9
- package/dist/agent/sub-agents/loader.js.map +1 -1
- package/dist/agent/sub-agents/registry.d.ts +18 -1
- package/dist/agent/sub-agents/registry.d.ts.map +1 -1
- package/dist/agent/sub-agents/registry.js +38 -5
- package/dist/agent/sub-agents/registry.js.map +1 -1
- package/dist/agent/sub-agents/runner.d.ts.map +1 -1
- package/dist/agent/sub-agents/runner.js +45 -1
- package/dist/agent/sub-agents/runner.js.map +1 -1
- package/dist/agent/sub-agents/types.d.ts +4 -1
- package/dist/agent/sub-agents/types.d.ts.map +1 -1
- package/dist/agent/system-prompt.d.ts +21 -0
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +68 -2
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/tool-execution.d.ts.map +1 -1
- package/dist/agent/tool-execution.js +220 -1
- package/dist/agent/tool-execution.js.map +1 -1
- package/dist/commands/index.d.ts +6 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +3 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/loader.d.ts +13 -0
- package/dist/commands/loader.d.ts.map +1 -0
- package/dist/commands/loader.js +93 -0
- package/dist/commands/loader.js.map +1 -0
- package/dist/commands/registry.d.ts +44 -0
- package/dist/commands/registry.d.ts.map +1 -0
- package/dist/commands/registry.js +102 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/commands/types.d.ts +23 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +26 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +12 -10
- package/dist/config/index.js.map +1 -1
- package/dist/hooks/bus.d.ts +54 -0
- package/dist/hooks/bus.d.ts.map +1 -0
- package/dist/hooks/bus.js +165 -0
- package/dist/hooks/bus.js.map +1 -0
- package/dist/hooks/config-schema.d.ts +854 -0
- package/dist/hooks/config-schema.d.ts.map +1 -0
- package/dist/hooks/config-schema.js +79 -0
- package/dist/hooks/config-schema.js.map +1 -0
- package/dist/hooks/executor.d.ts +16 -0
- package/dist/hooks/executor.d.ts.map +1 -0
- package/dist/hooks/executor.js +183 -0
- package/dist/hooks/executor.js.map +1 -0
- package/dist/hooks/index.d.ts +10 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +6 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/registry.d.ts +23 -0
- package/dist/hooks/registry.d.ts.map +1 -0
- package/dist/hooks/registry.js +49 -0
- package/dist/hooks/registry.js.map +1 -0
- package/dist/hooks/types.d.ts +165 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +25 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/hooks/variables.d.ts +22 -0
- package/dist/hooks/variables.d.ts.map +1 -0
- package/dist/hooks/variables.js +80 -0
- package/dist/hooks/variables.js.map +1 -0
- package/dist/index.d.ts +56 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -1
- package/dist/index.js.map +1 -1
- package/dist/knowledge/auto-memory.d.ts +1 -1
- package/dist/knowledge/auto-memory.d.ts.map +1 -1
- package/dist/knowledge/auto-memory.js +10 -10
- package/dist/knowledge/auto-memory.js.map +1 -1
- package/dist/knowledge/loader.js +12 -12
- package/dist/knowledge/loader.js.map +1 -1
- package/dist/mcp/arg-parser.d.ts +49 -0
- package/dist/mcp/arg-parser.d.ts.map +1 -0
- package/dist/mcp/arg-parser.js +357 -0
- package/dist/mcp/arg-parser.js.map +1 -0
- package/dist/mcp/client.d.ts +73 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +376 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/config-schema.d.ts +64 -0
- package/dist/mcp/config-schema.d.ts.map +1 -0
- package/dist/mcp/config-schema.js +86 -0
- package/dist/mcp/config-schema.js.map +1 -0
- package/dist/mcp/config-writer.d.ts +41 -0
- package/dist/mcp/config-writer.d.ts.map +1 -0
- package/dist/mcp/config-writer.js +138 -0
- package/dist/mcp/config-writer.js.map +1 -0
- package/dist/mcp/env-safety.d.ts +12 -0
- package/dist/mcp/env-safety.d.ts.map +1 -0
- package/dist/mcp/env-safety.js +80 -0
- package/dist/mcp/env-safety.js.map +1 -0
- package/dist/mcp/expand-env.d.ts +14 -0
- package/dist/mcp/expand-env.d.ts.map +1 -0
- package/dist/mcp/expand-env.js +52 -0
- package/dist/mcp/expand-env.js.map +1 -0
- package/dist/mcp/loader.d.ts +81 -0
- package/dist/mcp/loader.d.ts.map +1 -0
- package/dist/mcp/loader.js +223 -0
- package/dist/mcp/loader.js.map +1 -0
- package/dist/mcp/name-mangling.d.ts +11 -0
- package/dist/mcp/name-mangling.d.ts.map +1 -0
- package/dist/mcp/name-mangling.js +82 -0
- package/dist/mcp/name-mangling.js.map +1 -0
- package/dist/mcp/oauth/callback-server.d.ts +25 -0
- package/dist/mcp/oauth/callback-server.d.ts.map +1 -0
- package/dist/mcp/oauth/callback-server.js +118 -0
- package/dist/mcp/oauth/callback-server.js.map +1 -0
- package/dist/mcp/oauth/provider.d.ts +80 -0
- package/dist/mcp/oauth/provider.d.ts.map +1 -0
- package/dist/mcp/oauth/provider.js +292 -0
- package/dist/mcp/oauth/provider.js.map +1 -0
- package/dist/mcp/oauth/token-storage.d.ts +42 -0
- package/dist/mcp/oauth/token-storage.d.ts.map +1 -0
- package/dist/mcp/oauth/token-storage.js +121 -0
- package/dist/mcp/oauth/token-storage.js.map +1 -0
- package/dist/mcp/permissions.d.ts +28 -0
- package/dist/mcp/permissions.d.ts.map +1 -0
- package/dist/mcp/permissions.js +105 -0
- package/dist/mcp/permissions.js.map +1 -0
- package/dist/mcp/registry.d.ts +150 -0
- package/dist/mcp/registry.d.ts.map +1 -0
- package/dist/mcp/registry.js +334 -0
- package/dist/mcp/registry.js.map +1 -0
- package/dist/mcp/resources.d.ts +7 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +40 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/tool-bridge.d.ts +16 -0
- package/dist/mcp/tool-bridge.d.ts.map +1 -0
- package/dist/mcp/tool-bridge.js +56 -0
- package/dist/mcp/tool-bridge.js.map +1 -0
- package/dist/mcp/trust.d.ts +31 -0
- package/dist/mcp/trust.d.ts.map +1 -0
- package/dist/mcp/trust.js +103 -0
- package/dist/mcp/trust.js.map +1 -0
- package/dist/mcp/types.d.ts +73 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +13 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/permissions/session-store.d.ts +4 -1
- package/dist/permissions/session-store.d.ts.map +1 -1
- package/dist/permissions/session-store.js +6 -1
- package/dist/permissions/session-store.js.map +1 -1
- package/dist/plugins/consent.d.ts +87 -0
- package/dist/plugins/consent.d.ts.map +1 -0
- package/dist/plugins/consent.js +181 -0
- package/dist/plugins/consent.js.map +1 -0
- package/dist/plugins/enable-state.d.ts +34 -0
- package/dist/plugins/enable-state.d.ts.map +1 -0
- package/dist/plugins/enable-state.js +159 -0
- package/dist/plugins/enable-state.js.map +1 -0
- package/dist/plugins/installer.d.ts +64 -0
- package/dist/plugins/installer.d.ts.map +1 -0
- package/dist/plugins/installer.js +416 -0
- package/dist/plugins/installer.js.map +1 -0
- package/dist/plugins/integration.d.ts +91 -0
- package/dist/plugins/integration.d.ts.map +1 -0
- package/dist/plugins/integration.js +233 -0
- package/dist/plugins/integration.js.map +1 -0
- package/dist/plugins/loader.d.ts +69 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +243 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/plugins/manifest.d.ts +23 -0
- package/dist/plugins/manifest.d.ts.map +1 -0
- package/dist/plugins/manifest.js +143 -0
- package/dist/plugins/manifest.js.map +1 -0
- package/dist/plugins/marketplace.d.ts +100 -0
- package/dist/plugins/marketplace.d.ts.map +1 -0
- package/dist/plugins/marketplace.js +529 -0
- package/dist/plugins/marketplace.js.map +1 -0
- package/dist/plugins/paths.d.ts +44 -0
- package/dist/plugins/paths.d.ts.map +1 -0
- package/dist/plugins/paths.js +89 -0
- package/dist/plugins/paths.js.map +1 -0
- package/dist/plugins/refresh.d.ts +61 -0
- package/dist/plugins/refresh.d.ts.map +1 -0
- package/dist/plugins/refresh.js +98 -0
- package/dist/plugins/refresh.js.map +1 -0
- package/dist/plugins/registry.d.ts +40 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +80 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/types.d.ts +225 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +16 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/plugins/user-config.d.ts +22 -0
- package/dist/plugins/user-config.d.ts.map +1 -0
- package/dist/plugins/user-config.js +96 -0
- package/dist/plugins/user-config.js.map +1 -0
- package/dist/skills/loader.d.ts +19 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +197 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/registry.d.ts +74 -0
- package/dist/skills/registry.d.ts.map +1 -0
- package/dist/skills/registry.js +136 -0
- package/dist/skills/registry.js.map +1 -0
- package/dist/skills/settings.d.ts +13 -0
- package/dist/skills/settings.d.ts.map +1 -0
- package/dist/skills/settings.js +100 -0
- package/dist/skills/settings.js.map +1 -0
- package/dist/tools/activate-skill.d.ts +5 -0
- package/dist/tools/activate-skill.d.ts.map +1 -0
- package/dist/tools/activate-skill.js +33 -0
- package/dist/tools/activate-skill.js.map +1 -0
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/todo-write.d.ts +1 -1
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +2 -1
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/types/index.d.ts +46 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils.d.ts +23 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +76 -20
- package/dist/utils.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +47 -0
- package/dist/version.js.map +1 -0
- package/package.json +2 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// @x-code-cli/core — System Prompt management
|
|
2
|
+
import path from 'node:path';
|
|
2
3
|
import { getShellProvider } from '../tools/shell-provider.js';
|
|
4
|
+
import { USER_XCODE_DIR } from '../utils.js';
|
|
3
5
|
const BASE_SYSTEM_PROMPT = `You are X-Code, an AI coding assistant running in the user's terminal. You are powered by the {model} model.
|
|
4
6
|
|
|
5
7
|
When users ask about your identity, model, or version, you should tell them:
|
|
@@ -20,7 +22,7 @@ You have access to these tools:
|
|
|
20
22
|
- webFetch: Fetch and extract content from URLs
|
|
21
23
|
- askUser: Ask the user clarifying questions with choices
|
|
22
24
|
- todoWrite: Track multi-step tasks with a live checklist visible to the user
|
|
23
|
-
- task: Delegate a task to a specialized sub-agent (explore, plan, review, general-purpose)
|
|
25
|
+
- task: Delegate a task to a specialized sub-agent (explore, plan, review, general-purpose){mcpCapabilities}{skillCapabilities}
|
|
24
26
|
|
|
25
27
|
## Sub-agent Delegation
|
|
26
28
|
Use the task tool to delegate research, exploration, planning, or review tasks to a specialized sub-agent. Sub-agents run in isolated context — they don't see your conversation history and their intermediate tool calls never pollute your context window. Only the final conclusion comes back.
|
|
@@ -215,6 +217,68 @@ ${options.knowledgeContext || '(none)'}
|
|
|
215
217
|
- You CANNOT spawn further subagents.
|
|
216
218
|
- IMPORTANT: You MUST NOT use any emojis, icons, or special Unicode symbols in your responses.`;
|
|
217
219
|
}
|
|
220
|
+
/** Format the optional skills block. Returns "" when no skills are loaded
|
|
221
|
+
* so the prompt is byte-identical to the no-skills shape, preserving
|
|
222
|
+
* prefix-cache hits for sessions without any skills configured. */
|
|
223
|
+
function formatSkillCapabilities(skills) {
|
|
224
|
+
const userSkillsDir = path.join(USER_XCODE_DIR, 'skills', '<name>', 'SKILL.md');
|
|
225
|
+
const installHint = `To install a skill from a URL: use the shell tool to download the raw file directly (e.g. \`Invoke-WebRequest -Uri <url> -OutFile "${userSkillsDir}"\` on Windows, or \`curl -L <url> -o "${userSkillsDir}"\` on macOS/Linux), then confirm the path. Do NOT use webFetch + write — webFetch renders markdown and corrupts YAML frontmatter. Alternatively, use /skill install <url>. After installing, run /skill refresh to load the new skill in this session, or restart xc.`;
|
|
226
|
+
if (!skills || skills.length === 0) {
|
|
227
|
+
return `\n\n## Skills\n${installHint}`;
|
|
228
|
+
}
|
|
229
|
+
const lines = [
|
|
230
|
+
'',
|
|
231
|
+
'',
|
|
232
|
+
'## Available Skills',
|
|
233
|
+
"Use the activateSkill tool to inject a skill's instructions when the task matches its description:",
|
|
234
|
+
];
|
|
235
|
+
for (const s of skills) {
|
|
236
|
+
lines.push(`- ${s.name}: ${s.description}`);
|
|
237
|
+
}
|
|
238
|
+
lines.push('', installHint);
|
|
239
|
+
return lines.join('\n');
|
|
240
|
+
}
|
|
241
|
+
/** Format the optional MCP tools block. Returns "" when no tools AND
|
|
242
|
+
* no registry are passed, so the byte layout of BASE_SYSTEM_PROMPT
|
|
243
|
+
* after substitution exactly matches the pre-MCP version — preserves
|
|
244
|
+
* prefix-cache hits for sessions without any MCP configuration.
|
|
245
|
+
*
|
|
246
|
+
* When MCP is active the block always lists the two built-in
|
|
247
|
+
* resource tools (listMcpResources / readMcpResource) at the top
|
|
248
|
+
* even if no server-specific tools exist — because the resource
|
|
249
|
+
* tools only get registered when MCP is active, so their advertising
|
|
250
|
+
* must travel with this same block. */
|
|
251
|
+
function formatMcpCapabilities(mcpTools) {
|
|
252
|
+
if (mcpTools === undefined)
|
|
253
|
+
return '';
|
|
254
|
+
const lines = [
|
|
255
|
+
'',
|
|
256
|
+
'',
|
|
257
|
+
'## MCP Tools',
|
|
258
|
+
'These tools come from connected MCP servers. Prefer internal tools when both fit; use these for capabilities only the server provides.',
|
|
259
|
+
'- listMcpResources: List resources exposed by connected MCP servers (with optional `server` filter).',
|
|
260
|
+
'- readMcpResource: Read the contents of an MCP resource by URI (URIs come from listMcpResources).',
|
|
261
|
+
];
|
|
262
|
+
if (mcpTools.length === 0) {
|
|
263
|
+
return lines.join('\n');
|
|
264
|
+
}
|
|
265
|
+
// Group by server for readability. Within a group, preserve incoming
|
|
266
|
+
// order (the registry hands them out in a stable order).
|
|
267
|
+
const byServer = new Map();
|
|
268
|
+
for (const t of mcpTools) {
|
|
269
|
+
const list = byServer.get(t.serverName) ?? [];
|
|
270
|
+
list.push(t);
|
|
271
|
+
byServer.set(t.serverName, list);
|
|
272
|
+
}
|
|
273
|
+
for (const [server, tools] of byServer) {
|
|
274
|
+
lines.push('', `### Server: ${server}`);
|
|
275
|
+
for (const t of tools) {
|
|
276
|
+
const desc = t.description ? `: ${t.description}` : '';
|
|
277
|
+
lines.push(`- ${t.callableName}${desc}`);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return lines.join('\n');
|
|
281
|
+
}
|
|
218
282
|
/** Build the full system prompt with dynamic values and optional knowledge context */
|
|
219
283
|
export function buildSystemPrompt(options) {
|
|
220
284
|
const shellProvider = getShellProvider();
|
|
@@ -222,7 +286,9 @@ export function buildSystemPrompt(options) {
|
|
|
222
286
|
.replace(/\{shell\}/g, shellProvider.type)
|
|
223
287
|
.replace(/\{cwd\}/g, process.cwd())
|
|
224
288
|
.replace(/\{model\}/g, options?.modelId ?? 'unknown')
|
|
225
|
-
.replace(/\{isGitRepo\}/g, options?.isGitRepo ? 'yes' : 'no')
|
|
289
|
+
.replace(/\{isGitRepo\}/g, options?.isGitRepo ? 'yes' : 'no')
|
|
290
|
+
.replace(/\{mcpCapabilities\}/g, formatMcpCapabilities(options?.mcpTools))
|
|
291
|
+
.replace(/\{skillCapabilities\}/g, formatSkillCapabilities(options?.skills));
|
|
226
292
|
if (options?.knowledgeContext) {
|
|
227
293
|
prompt += '\n\n' + options.knowledgeContext;
|
|
228
294
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-execution.d.ts","sourceRoot":"","sources":["../../src/agent/tool-execution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-execution.d.ts","sourceRoot":"","sources":["../../src/agent/tool-execution.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAKpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAsMhD,KAAK,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAA;AAyhBxF;;;;;;;;;;;;;;;;;;;;;;;;+BAwB+B;AAC/B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE,CAclE;AAED;;;;;;;qBAOqB;AACrB,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,QAAQ,EAAE,EACrB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,aAAa,GACzB,OAAO,CAAC,IAAI,CAAC,CAqFf"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
// @x-code-cli/core — Tool execution & dispatch
|
|
2
2
|
import fs from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
+
import { aggregatePostToolUse, aggregatePreToolUse } from '../hooks/bus.js';
|
|
5
|
+
import { classifyDecision } from '../mcp/permissions.js';
|
|
4
6
|
import { checkPermission } from '../permissions/index.js';
|
|
5
7
|
import { truncateToolResult } from '../tools/index.js';
|
|
6
8
|
import { clearProgressReporter, reportProgress } from '../tools/progress.js';
|
|
@@ -12,6 +14,20 @@ import { checkForLoop, recordToolCall } from './loop-guard.js';
|
|
|
12
14
|
import { isToolErrorString, toolErrorFromUnknown, toolErrorString, toolResultMessage } from './messages.js';
|
|
13
15
|
import { handleEnterPlanMode, handleExitPlanMode, handleTodoWrite } from './plan-tools.js';
|
|
14
16
|
import { runSubAgent } from './sub-agents/runner.js';
|
|
17
|
+
/** Detect AbortError from any source. Kept local (duplicates the helper
|
|
18
|
+
* in loop.ts) because making it a shared utility would force a new
|
|
19
|
+
* module just for six lines. Same logic both places. */
|
|
20
|
+
function isAbortError(err, signal) {
|
|
21
|
+
if (signal?.aborted)
|
|
22
|
+
return true;
|
|
23
|
+
if (err instanceof Error) {
|
|
24
|
+
if (err.name === 'AbortError')
|
|
25
|
+
return true;
|
|
26
|
+
if (/aborted|AbortError/i.test(err.message))
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
15
31
|
/** Count occurrences of a substring without creating intermediate arrays. */
|
|
16
32
|
function countOccurrences(content, search) {
|
|
17
33
|
let count = 0;
|
|
@@ -158,6 +174,33 @@ function pushToolResult(state, callbacks, toolCallId, toolName, output, isError
|
|
|
158
174
|
clearProgressReporter(toolCallId);
|
|
159
175
|
callbacks.onToolResult(toolCallId, output, isError);
|
|
160
176
|
}
|
|
177
|
+
/** Wrap pushToolResult with a PostToolUse hook emission. Only the two
|
|
178
|
+
* "real" success-result call sites use this — error / interrupt /
|
|
179
|
+
* permission-denial paths still call pushToolResult directly because
|
|
180
|
+
* emitting PostToolUse on a synthetic deny would be confusing for hook
|
|
181
|
+
* authors. Bypass handlers (askUser / task / MCP resources) also push
|
|
182
|
+
* directly today; lifting them to this helper is a follow-up. */
|
|
183
|
+
async function pushSuccessfulToolResult(ctx, output, isError) {
|
|
184
|
+
let effectiveOutput = output;
|
|
185
|
+
if (ctx.options.hookBus?.has('PostToolUse')) {
|
|
186
|
+
try {
|
|
187
|
+
const decisions = await ctx.options.hookBus.emit({
|
|
188
|
+
name: 'PostToolUse',
|
|
189
|
+
session: { cwd: process.cwd(), modelId: ctx.options.modelId },
|
|
190
|
+
tool: { name: ctx.toolName, args: ctx.input, callId: ctx.toolCallId, output, isError },
|
|
191
|
+
}, { signal: ctx.options.abortSignal });
|
|
192
|
+
const effect = aggregatePostToolUse(decisions);
|
|
193
|
+
if (effect.output !== undefined)
|
|
194
|
+
effectiveOutput = effect.output;
|
|
195
|
+
}
|
|
196
|
+
catch (err) {
|
|
197
|
+
if (ctx.options.abortSignal?.aborted)
|
|
198
|
+
return;
|
|
199
|
+
debugLog('agent.hook-post-tool-error', String(err));
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
pushToolResult(ctx.state, ctx.callbacks, ctx.toolCallId, ctx.toolName, effectiveOutput, isError);
|
|
203
|
+
}
|
|
161
204
|
/** ── askUser ──
|
|
162
205
|
* Bypasses the loop guard intentionally. The model asking the user the same
|
|
163
206
|
* clarifying question twice is almost always deliberate (e.g. the user
|
|
@@ -190,6 +233,62 @@ async function handleTask(ctx) {
|
|
|
190
233
|
const statsLine = `<task_stats tool_calls="${result.toolCallCount}" tokens="${result.tokenUsage.totalTokens}" duration_ms="${result.durationMs}" />`;
|
|
191
234
|
pushToolResult(state, callbacks, toolCallId, toolName, `${result.resultText}\n${statsLine}`);
|
|
192
235
|
}
|
|
236
|
+
/** ── listMcpResources ──
|
|
237
|
+
* Pure read against the in-memory registry; no side effects, no need
|
|
238
|
+
* for loop-guard or permission. Server filter is optional. */
|
|
239
|
+
async function handleListMcpResources(ctx) {
|
|
240
|
+
const { input, toolCallId, toolName, state, options, callbacks } = ctx;
|
|
241
|
+
const registry = options.mcpRegistry;
|
|
242
|
+
if (!registry) {
|
|
243
|
+
pushToolResult(state, callbacks, toolCallId, toolName, toolErrorString('MCP not configured'), true);
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
const filter = input.server?.trim() || undefined;
|
|
247
|
+
const items = registry.listResources().filter((r) => !filter || r.serverName === filter);
|
|
248
|
+
if (items.length === 0) {
|
|
249
|
+
pushToolResult(state, callbacks, toolCallId, toolName, filter ? `No resources on server "${filter}".` : 'No resources from any connected MCP server.');
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
const lines = items.map((r) => {
|
|
253
|
+
const mime = r.mimeType ? ` (${r.mimeType})` : '';
|
|
254
|
+
const desc = r.description ? `\n ${r.description}` : '';
|
|
255
|
+
return `${r.uri}\t[${r.serverName}] ${r.name}${mime}${desc}`;
|
|
256
|
+
});
|
|
257
|
+
pushToolResult(state, callbacks, toolCallId, toolName, lines.join('\n'));
|
|
258
|
+
}
|
|
259
|
+
/** ── readMcpResource ──
|
|
260
|
+
* Forwards to the owning server's client. Errors / abort handled the
|
|
261
|
+
* same way as MCP tool calls. */
|
|
262
|
+
async function handleReadMcpResource(ctx) {
|
|
263
|
+
const { input, toolCallId, toolName, state, options, callbacks } = ctx;
|
|
264
|
+
const registry = options.mcpRegistry;
|
|
265
|
+
if (!registry) {
|
|
266
|
+
pushToolResult(state, callbacks, toolCallId, toolName, toolErrorString('MCP not configured'), true);
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
const uri = input.uri ?? '';
|
|
270
|
+
if (!uri) {
|
|
271
|
+
pushToolResult(state, callbacks, toolCallId, toolName, toolErrorString('Missing `uri` argument'), true);
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
const client = registry.resourceServer(uri);
|
|
275
|
+
if (!client) {
|
|
276
|
+
pushToolResult(state, callbacks, toolCallId, toolName, toolErrorString(`Resource URI not known: ${uri} — call listMcpResources first`), true);
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
reportProgress(toolCallId, `Reading ${uri}`);
|
|
280
|
+
try {
|
|
281
|
+
const result = await client.readResource(uri, options.abortSignal);
|
|
282
|
+
pushToolResult(state, callbacks, toolCallId, toolName, truncateToolResult(result.text));
|
|
283
|
+
}
|
|
284
|
+
catch (err) {
|
|
285
|
+
if (isAbortError(err, options.abortSignal)) {
|
|
286
|
+
pushToolResult(state, callbacks, toolCallId, toolName, '[Tool execution interrupted by user]', true);
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
pushToolResult(state, callbacks, toolCallId, toolName, toolErrorFromUnknown(err), true);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
193
292
|
/** Manual tools that bypass the loop guard and the writeFile/edit/shell
|
|
194
293
|
* permission + execution pipeline below. Each handler owns its own
|
|
195
294
|
* pushToolResult call. Adding a new bypass tool is a one-line entry here. */
|
|
@@ -199,6 +298,8 @@ const BYPASS_LOOP_GUARD_HANDLERS = {
|
|
|
199
298
|
todoWrite: ({ input, toolCallId, state, callbacks }) => handleTodoWrite(input, toolCallId, state, callbacks, pushToolResult),
|
|
200
299
|
enterPlanMode: ({ input, toolCallId, state, options, callbacks }) => handleEnterPlanMode(input, toolCallId, state, options, callbacks, pushToolResult),
|
|
201
300
|
exitPlanMode: ({ input, toolCallId, state, callbacks }) => handleExitPlanMode(input, toolCallId, state, callbacks, pushToolResult),
|
|
301
|
+
listMcpResources: handleListMcpResources,
|
|
302
|
+
readMcpResource: handleReadMcpResource,
|
|
202
303
|
};
|
|
203
304
|
/** Run the loop-guard machinery for a non-bypass tool. Returns true if the
|
|
204
305
|
* tool was blocked (caller should stop dispatching).
|
|
@@ -309,11 +410,53 @@ async function handleToolCall(tc, state, options, callbacks, parentModel, deferr
|
|
|
309
410
|
callbacks,
|
|
310
411
|
parentModel,
|
|
311
412
|
};
|
|
413
|
+
// ── Plugin hook: PreToolUse ──
|
|
414
|
+
// Fires before bypass-handler routing and before MCP dispatch so the
|
|
415
|
+
// hook sees EVERY tool the model attempts (including askUser, task,
|
|
416
|
+
// and MCP tools). A deny becomes a synthetic tool_result the model
|
|
417
|
+
// sees, keeping state.messages valid. A modify can rewrite the input
|
|
418
|
+
// record (mutated in-place on ctx.input so downstream handlers and
|
|
419
|
+
// the loop guard see the post-modification args).
|
|
420
|
+
if (ctx.options.hookBus?.has('PreToolUse')) {
|
|
421
|
+
try {
|
|
422
|
+
const decisions = await ctx.options.hookBus.emit({
|
|
423
|
+
name: 'PreToolUse',
|
|
424
|
+
session: { cwd: process.cwd(), modelId: ctx.options.modelId },
|
|
425
|
+
tool: { name: ctx.toolName, args: ctx.input, callId: ctx.toolCallId },
|
|
426
|
+
}, { signal: ctx.options.abortSignal });
|
|
427
|
+
const effect = aggregatePreToolUse(decisions);
|
|
428
|
+
if (effect.decision === 'deny') {
|
|
429
|
+
const reason = effect.reason ?? 'blocked by plugin hook';
|
|
430
|
+
pushToolResult(state, callbacks, ctx.toolCallId, ctx.toolName, toolErrorString(`Tool denied by plugin hook: ${reason}`), true);
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
if (effect.args && typeof effect.args === 'object' && !Array.isArray(effect.args)) {
|
|
434
|
+
ctx.input = effect.args;
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
catch (err) {
|
|
438
|
+
if (ctx.options.abortSignal?.aborted)
|
|
439
|
+
return;
|
|
440
|
+
debugLog('agent.hook-pre-tool-error', String(err));
|
|
441
|
+
}
|
|
442
|
+
}
|
|
312
443
|
const bypassHandler = BYPASS_LOOP_GUARD_HANDLERS[ctx.toolName];
|
|
313
444
|
if (bypassHandler) {
|
|
314
445
|
await bypassHandler(ctx);
|
|
315
446
|
return;
|
|
316
447
|
}
|
|
448
|
+
// MCP tools route through their own permission path (per-tool ask +
|
|
449
|
+
// always-allow file) rather than the writeFile/edit/shell rules. They
|
|
450
|
+
// still go through the loop-guard so the model can't spin on a
|
|
451
|
+
// failing MCP call indefinitely.
|
|
452
|
+
//
|
|
453
|
+
// Routing is by registry lookup, not name pattern: MCP tool names are
|
|
454
|
+
// `<server>__<tool>` (no special prefix), so the only authoritative
|
|
455
|
+
// "is this MCP?" answer is "is it registered with the MCP registry?".
|
|
456
|
+
if (ctx.options.mcpRegistry?.get(ctx.toolName)) {
|
|
457
|
+
await handleMcpToolCall(ctx, deferred);
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
317
460
|
if (await applyLoopGuard(ctx, deferred))
|
|
318
461
|
return;
|
|
319
462
|
if (!(await checkWriteOrShellPermission(ctx)))
|
|
@@ -321,7 +464,83 @@ async function handleToolCall(tc, state, options, callbacks, parentModel, deferr
|
|
|
321
464
|
const result = await executeWriteOrShell(ctx);
|
|
322
465
|
if (result == null)
|
|
323
466
|
return;
|
|
324
|
-
|
|
467
|
+
await pushSuccessfulToolResult(ctx, truncateToolResult(result.output), result.isError);
|
|
468
|
+
}
|
|
469
|
+
/** Dispatch an MCP tool call. Sits parallel to the writeFile/edit/shell
|
|
470
|
+
* pipeline above — same loop-guard, same abort handling, but using the
|
|
471
|
+
* per-tool permission store and the MCP registry's callTool. */
|
|
472
|
+
async function handleMcpToolCall(ctx, deferred) {
|
|
473
|
+
const { toolName, input, toolCallId, state, options, callbacks } = ctx;
|
|
474
|
+
const registry = options.mcpRegistry;
|
|
475
|
+
const permissions = options.mcpPermissionStore;
|
|
476
|
+
if (!registry) {
|
|
477
|
+
pushToolResult(state, callbacks, toolCallId, toolName, toolErrorString(`MCP not configured; tool ${toolName} unavailable`), true);
|
|
478
|
+
return;
|
|
479
|
+
}
|
|
480
|
+
const entry = registry.get(toolName);
|
|
481
|
+
if (!entry) {
|
|
482
|
+
pushToolResult(state, callbacks, toolCallId, toolName, toolErrorString(`MCP tool not found: ${toolName}`), true);
|
|
483
|
+
return;
|
|
484
|
+
}
|
|
485
|
+
// Loop-guard FIRST: even denied-by-mode calls count as the model
|
|
486
|
+
// "attempting" something, and we want to catch a loop of denials too.
|
|
487
|
+
if (await applyLoopGuard(ctx, deferred))
|
|
488
|
+
return;
|
|
489
|
+
// Plan mode: MCP tools are opaque (we don't know if they write or
|
|
490
|
+
// not), so the only safe stance is "no". The model will see the
|
|
491
|
+
// denial as a tool result and should call exitPlanMode if it really
|
|
492
|
+
// needs external tools to proceed.
|
|
493
|
+
if (state.permissionMode === 'plan') {
|
|
494
|
+
pushToolResult(state, callbacks, toolCallId, toolName, 'MCP tools are disabled in plan mode. Call exitPlanMode first if you need this tool.', true);
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
// Permission gate. trustMode bypasses everything; otherwise consult
|
|
498
|
+
// the store (session + persisted), and fall back to asking the user.
|
|
499
|
+
let approved = options.trustMode;
|
|
500
|
+
if (!approved && permissions)
|
|
501
|
+
approved = await permissions.isApproved(toolName);
|
|
502
|
+
if (!approved) {
|
|
503
|
+
let decision;
|
|
504
|
+
try {
|
|
505
|
+
decision = await callbacks.onAskPermission({ toolCallId, toolName, input });
|
|
506
|
+
}
|
|
507
|
+
catch (err) {
|
|
508
|
+
if (isAbortError(err, options.abortSignal)) {
|
|
509
|
+
pushToolResult(state, callbacks, toolCallId, toolName, '[Tool execution interrupted by user]', true);
|
|
510
|
+
return;
|
|
511
|
+
}
|
|
512
|
+
throw err;
|
|
513
|
+
}
|
|
514
|
+
if (options.abortSignal?.aborted) {
|
|
515
|
+
pushToolResult(state, callbacks, toolCallId, toolName, '[Tool execution interrupted by user]', true);
|
|
516
|
+
return;
|
|
517
|
+
}
|
|
518
|
+
const choice = classifyDecision(decision);
|
|
519
|
+
if (choice === 'deny') {
|
|
520
|
+
pushToolResult(state, callbacks, toolCallId, toolName, 'Permission denied by user.');
|
|
521
|
+
return;
|
|
522
|
+
}
|
|
523
|
+
if (permissions) {
|
|
524
|
+
if (choice === 'allow-always')
|
|
525
|
+
await permissions.approvePermanently(toolName);
|
|
526
|
+
else
|
|
527
|
+
permissions.approveForSession(toolName);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
// Execute. abortSignal threaded all the way down to the SDK request
|
|
531
|
+
// so Esc immediately cancels in-flight MCP calls.
|
|
532
|
+
reportProgress(toolCallId, `Calling ${entry.serverName}/${entry.rawName}`);
|
|
533
|
+
try {
|
|
534
|
+
const result = await registry.callTool(toolName, ctx.input, options.abortSignal);
|
|
535
|
+
await pushSuccessfulToolResult(ctx, truncateToolResult(result.text), result.isError);
|
|
536
|
+
}
|
|
537
|
+
catch (err) {
|
|
538
|
+
if (isAbortError(err, options.abortSignal)) {
|
|
539
|
+
pushToolResult(state, callbacks, toolCallId, toolName, '[Tool execution interrupted by user]', true);
|
|
540
|
+
return;
|
|
541
|
+
}
|
|
542
|
+
pushToolResult(state, callbacks, toolCallId, toolName, toolErrorFromUnknown(err), true);
|
|
543
|
+
}
|
|
325
544
|
}
|
|
326
545
|
/** Collect every toolCallId the AI SDK actually committed to the
|
|
327
546
|
* assistant message in this turn. The SDK's `result.toolCalls` promise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-execution.js","sourceRoot":"","sources":["../../src/agent/tool-execution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-execution.js","sourceRoot":"","sources":["../../src/agent/tool-execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type { CommandDefinition } from './types.js';
|
|
2
|
+
export { loadPluginCommands } from './loader.js';
|
|
3
|
+
export type { LoadCommandsOptions } from './loader.js';
|
|
4
|
+
export { CommandRegistry, createCommandRegistry, reloadCommandRegistry, expandCommandBody } from './registry.js';
|
|
5
|
+
export type { CommandReloadSummary } from './registry.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAChH,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CommandDefinition } from './types.js';
|
|
2
|
+
export interface LoadCommandsOptions {
|
|
3
|
+
/** Plugin-contributed command directories, each tagged with the
|
|
4
|
+
* owning plugin's id and root dir. Order determines registry
|
|
5
|
+
* insertion order (last-wins on name conflict). */
|
|
6
|
+
extraDirs?: ReadonlyArray<{
|
|
7
|
+
dir: string;
|
|
8
|
+
pluginId: string;
|
|
9
|
+
pluginRoot: string;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
export declare function loadPluginCommands(opts?: LoadCommandsOptions): Promise<CommandDefinition[]>;
|
|
13
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/commands/loader.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AA+EnD,MAAM,WAAW,mBAAmB;IAClC;;wDAEoD;IACpD,SAAS,CAAC,EAAE,aAAa,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACjF;AAED,wBAAsB,kBAAkB,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAOrG"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// @x-code-cli/core — File-based command loader
|
|
2
|
+
//
|
|
3
|
+
// Scans plugin-contributed `commands/` directories for `*.md` files and
|
|
4
|
+
// returns CommandDefinitions ready to register in CommandRegistry.
|
|
5
|
+
// Mirrors the sub-agents loader's structure — same minimal YAML
|
|
6
|
+
// frontmatter parser, same "one bad file logged + skipped, never
|
|
7
|
+
// crash the boot" error handling.
|
|
8
|
+
import fs from 'node:fs/promises';
|
|
9
|
+
import path from 'node:path';
|
|
10
|
+
/** Minimal YAML frontmatter parser. Same subset used by skills /
|
|
11
|
+
* sub-agents loaders — string scalars only, no dependency on
|
|
12
|
+
* gray-matter. Folds indented continuation lines into the previous
|
|
13
|
+
* line so the multi-line `allowed-tools` form that real Claude Code
|
|
14
|
+
* commands use parses without complaint (we ignore the value, but
|
|
15
|
+
* the parse mustn't choke). */
|
|
16
|
+
function parseFrontmatter(raw) {
|
|
17
|
+
const match = raw.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);
|
|
18
|
+
if (!match)
|
|
19
|
+
return null;
|
|
20
|
+
const yamlBlock = match[1];
|
|
21
|
+
const body = match[2];
|
|
22
|
+
const data = {};
|
|
23
|
+
const folded = [];
|
|
24
|
+
for (const line of yamlBlock.split(/\r?\n/)) {
|
|
25
|
+
if (/^\s/.test(line) && line.trim() && folded.length > 0) {
|
|
26
|
+
folded[folded.length - 1] += ' ' + line.trim();
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
folded.push(line);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
for (const line of folded) {
|
|
33
|
+
const trimmed = line.trim();
|
|
34
|
+
if (!trimmed || trimmed.startsWith('#'))
|
|
35
|
+
continue;
|
|
36
|
+
const colonIdx = trimmed.indexOf(':');
|
|
37
|
+
if (colonIdx < 1)
|
|
38
|
+
continue;
|
|
39
|
+
const key = trimmed.slice(0, colonIdx).trim();
|
|
40
|
+
let value = trimmed.slice(colonIdx + 1).trim();
|
|
41
|
+
if ((value.startsWith('"') && value.endsWith('"')) || (value.startsWith("'") && value.endsWith("'"))) {
|
|
42
|
+
value = value.slice(1, -1);
|
|
43
|
+
}
|
|
44
|
+
data[key] = value;
|
|
45
|
+
}
|
|
46
|
+
return { data, body };
|
|
47
|
+
}
|
|
48
|
+
async function loadCommandsFromDir(dir, pluginId, pluginRoot) {
|
|
49
|
+
const out = [];
|
|
50
|
+
let entries;
|
|
51
|
+
try {
|
|
52
|
+
entries = await fs.readdir(dir);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return out;
|
|
56
|
+
}
|
|
57
|
+
for (const entry of entries) {
|
|
58
|
+
if (!entry.endsWith('.md'))
|
|
59
|
+
continue;
|
|
60
|
+
const filePath = path.join(dir, entry);
|
|
61
|
+
const name = entry.slice(0, -3); // strip .md
|
|
62
|
+
try {
|
|
63
|
+
const raw = await fs.readFile(filePath, 'utf-8');
|
|
64
|
+
const parsed = parseFrontmatter(raw);
|
|
65
|
+
// Commands without frontmatter are still valid — the whole file
|
|
66
|
+
// becomes the body. Real Claude Code commands always have
|
|
67
|
+
// frontmatter, but be permissive.
|
|
68
|
+
const description = parsed?.data.description;
|
|
69
|
+
const body = (parsed ? parsed.body : raw).trim();
|
|
70
|
+
out.push({
|
|
71
|
+
name,
|
|
72
|
+
description,
|
|
73
|
+
body,
|
|
74
|
+
source: 'plugin',
|
|
75
|
+
pluginId,
|
|
76
|
+
pluginRoot,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
console.error(`[commands] Skipping ${filePath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return out;
|
|
84
|
+
}
|
|
85
|
+
export async function loadPluginCommands(opts = {}) {
|
|
86
|
+
const extras = opts.extraDirs ?? [];
|
|
87
|
+
const out = [];
|
|
88
|
+
for (const { dir, pluginId, pluginRoot } of extras) {
|
|
89
|
+
out.push(...(await loadCommandsFromDir(dir, pluginId, pluginRoot)));
|
|
90
|
+
}
|
|
91
|
+
return out;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/commands/loader.ts"],"names":[],"mappings":"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"}
|