@x-code-cli/core 0.2.9 → 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 +140 -9
- 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 +13 -2
- package/dist/permissions/session-store.d.ts.map +1 -1
- package/dist/permissions/session-store.js +264 -62
- 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/providers/cache-control.d.ts +9 -0
- package/dist/providers/cache-control.d.ts.map +1 -1
- package/dist/providers/cache-control.js +31 -4
- package/dist/providers/cache-control.js.map +1 -1
- 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
|
@@ -36,7 +36,7 @@ const MAX_MEMORIES_PER_PASS = 3;
|
|
|
36
36
|
let inflight = Promise.resolve();
|
|
37
37
|
const MemoryItemSchema = z.object({
|
|
38
38
|
category: z.enum(['user', 'feedback', 'project', 'reference']),
|
|
39
|
-
scope: z.enum(['project', '
|
|
39
|
+
scope: z.enum(['project', 'user']),
|
|
40
40
|
key: z.string().min(1).describe('Short slug. Same key under same category overwrites the previous fact.'),
|
|
41
41
|
fact: z.string().min(1).describe('The fact itself. Lead with the rule; for feedback include a one-line reason.'),
|
|
42
42
|
});
|
|
@@ -52,10 +52,10 @@ const MemorySchema = z.object({
|
|
|
52
52
|
* only catches exact key collisions, not semantic overlap, so the
|
|
53
53
|
* prevention has to happen in the extractor's prompt. */
|
|
54
54
|
function renderExistingMemory() {
|
|
55
|
-
const
|
|
55
|
+
const user = getAutoMemory('user').getPromptContent().trim();
|
|
56
56
|
const project = getAutoMemory('project').getPromptContent().trim();
|
|
57
57
|
const sections = [];
|
|
58
|
-
sections.push(`##
|
|
58
|
+
sections.push(`## User (~/.x-code/memory/auto.md)\n${user || '(empty)'}`);
|
|
59
59
|
sections.push(`## Project (.x-code/memory/auto.md)\n${project || '(empty)'}`);
|
|
60
60
|
return sections.join('\n\n');
|
|
61
61
|
}
|
|
@@ -119,7 +119,7 @@ The main agent has just finished replying to the user. Scan the recent transcrip
|
|
|
119
119
|
**user** — durable facts about who the human is, changing how you'd talk to them next session.
|
|
120
120
|
Trigger: role, expertise, working environment, language preferences, long-term constraints.
|
|
121
121
|
Example: User says "I've been writing Go for ten years but this is my first time touching the React side."
|
|
122
|
-
→ \`{ category: "user", scope: "
|
|
122
|
+
→ \`{ category: "user", scope: "user", key: "user-stack", fact: "Ten years of Go; first time touching React in this repo." }\`
|
|
123
123
|
(Note: the fact is a direct paraphrase. Do NOT add "explain by analogy" or any other prescriptive action — that's inference, not what the user said.)
|
|
124
124
|
|
|
125
125
|
**feedback** — corrections OR validated approaches. Both count. Lead with the rule, include a one-line reason.
|
|
@@ -151,7 +151,7 @@ The main agent has just finished replying to the user. Scan the recent transcrip
|
|
|
151
151
|
# Scope rule
|
|
152
152
|
|
|
153
153
|
- Project-specific facts (this repo / team / release): \`scope: "project"\`.
|
|
154
|
-
- Cross-project facts about the user themselves (stack expertise, OS, name): \`scope: "
|
|
154
|
+
- Cross-project facts about the user themselves (stack expertise, OS, name): \`scope: "user"\`.
|
|
155
155
|
|
|
156
156
|
When in doubt, prefer empty array. The user can always type the durable fact again next session if it really matters.`;
|
|
157
157
|
const USER_TEMPLATE = (transcript, existing) => `# Existing memory (already saved — DO NOT duplicate, see Hard rule 5)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-extractor.js","sourceRoot":"","sources":["../../src/agent/memory-extractor.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,sEAAsE;AACtE,EAAE;AACF,wEAAwE;AACxE,mEAAmE;AACnE,wEAAwE;AACxE,yEAAyE;AACzE,yEAAyE;AACzE,4CAA4C;AAC5C,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,wEAAwE;AACxE,8DAA8D;AAC9D,6BAA6B;AAC7B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAGzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGtC;;0EAE0E;AAC1E,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC;4CAC4C;AAC5C,MAAM,uBAAuB,GAAG,CAAC,CAAA;AAEjC;wDACwD;AACxD,MAAM,qBAAqB,GAAG,CAAC,CAAA;AAE/B;;gDAEgD;AAChD,IAAI,QAAQ,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;AAE/C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9D,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"memory-extractor.js","sourceRoot":"","sources":["../../src/agent/memory-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @x-code-cli/core — Plan-mode file storage
|
|
2
2
|
//
|
|
3
3
|
// Plans live in `.x-code/plans/<slug>-<YYYYMMDD-HHMMSS>.md` inside the
|
|
4
|
-
// user's project (NOT in the
|
|
4
|
+
// user's project (NOT in the user-scope `~/.x-code/`). This mirrors how
|
|
5
5
|
// `.x-code/sessions/` and `.x-code/memory/` are scoped: per-project,
|
|
6
6
|
// gitignored, never shared across repos. The slug-then-timestamp shape
|
|
7
7
|
// matches the legacy filenames already living under `.x-code/plans/`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-storage.js","sourceRoot":"","sources":["../../src/agent/plan-storage.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,EAAE;AACF,uEAAuE;AACvE,
|
|
1
|
+
{"version":3,"file":"plan-storage.js","sourceRoot":"","sources":["../../src/agent/plan-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export type { SubAgentDefinition, SubAgentTrace, SubAgentEvent } from './types.js';
|
|
2
2
|
export { builtInAgents } from './built-in.js';
|
|
3
3
|
export { loadCustomAgents } from './loader.js';
|
|
4
|
-
export { SubAgentRegistry, createSubAgentRegistry, createBuiltInRegistry } from './registry.js';
|
|
4
|
+
export { SubAgentRegistry, createSubAgentRegistry, createBuiltInRegistry, reloadSubAgentRegistry } from './registry.js';
|
|
5
|
+
export type { SubAgentReloadSummary } from './registry.js';
|
|
5
6
|
export { runSubAgent } from './runner.js';
|
|
6
7
|
export type { RunSubAgentArgs, RunSubAgentResult } from './runner.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACvH,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { builtInAgents } from './built-in.js';
|
|
2
2
|
export { loadCustomAgents } from './loader.js';
|
|
3
|
-
export { SubAgentRegistry, createSubAgentRegistry, createBuiltInRegistry } from './registry.js';
|
|
3
|
+
export { SubAgentRegistry, createSubAgentRegistry, createBuiltInRegistry, reloadSubAgentRegistry } from './registry.js';
|
|
4
4
|
export { runSubAgent } from './runner.js';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEvH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import type { SubAgentDefinition } from './types.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
export interface LoadCustomAgentsOptions {
|
|
3
|
+
/** Extra sub-agent directories to scan, with the owning plugin id.
|
|
4
|
+
* See packages/core/src/plugins/integration.ts for how plugin
|
|
5
|
+
* contributions get turned into this shape. */
|
|
6
|
+
extraDirs?: ReadonlyArray<{
|
|
7
|
+
dir: string;
|
|
8
|
+
pluginId: string;
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
11
|
+
/** Load custom sub-agents from user + project directories, plus any
|
|
12
|
+
* extra dirs (plugin-contributed). Environment variable `XC_AGENTS_DIR`
|
|
13
|
+
* overrides the built-in paths for testing (extras are still honoured). */
|
|
14
|
+
export declare function loadCustomAgents(opts?: LoadCustomAgentsOptions): Promise<SubAgentDefinition[]>;
|
|
5
15
|
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/loader.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/loader.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AA+HpD,MAAM,WAAW,uBAAuB;IACtC;;oDAEgD;IAChD,SAAS,CAAC,EAAE,aAAa,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC7D;AAED;;4EAE4E;AAC5E,wBAAsB,gBAAgB,CAAC,IAAI,GAAE,uBAA4B,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAiBxG"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import fs from 'node:fs/promises';
|
|
7
7
|
import path from 'node:path';
|
|
8
8
|
import { z } from 'zod';
|
|
9
|
-
import {
|
|
9
|
+
import { USER_XCODE_DIR, XCODE_DIR } from '../../utils.js';
|
|
10
10
|
const frontmatterSchema = z.object({
|
|
11
11
|
name: z.string().min(1),
|
|
12
12
|
description: z.string().min(1),
|
|
@@ -26,7 +26,19 @@ function parseFrontmatter(raw) {
|
|
|
26
26
|
const yamlBlock = match[1];
|
|
27
27
|
const body = match[2];
|
|
28
28
|
const data = {};
|
|
29
|
+
// Fold YAML continuation lines: an indented non-empty line is joined to
|
|
30
|
+
// the previous line with a single space. Matches the folded-scalar form
|
|
31
|
+
// commonly used for long `description:` values in agent frontmatter.
|
|
32
|
+
const foldedLines = [];
|
|
29
33
|
for (const line of yamlBlock.split(/\r?\n/)) {
|
|
34
|
+
if (/^\s/.test(line) && line.trim() && foldedLines.length > 0) {
|
|
35
|
+
foldedLines[foldedLines.length - 1] += ' ' + line.trim();
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
foldedLines.push(line);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
for (const line of foldedLines) {
|
|
30
42
|
const trimmed = line.trim();
|
|
31
43
|
if (!trimmed || trimmed.startsWith('#'))
|
|
32
44
|
continue;
|
|
@@ -57,7 +69,7 @@ function parseFrontmatter(raw) {
|
|
|
57
69
|
}
|
|
58
70
|
return { data, body };
|
|
59
71
|
}
|
|
60
|
-
async function loadAgentsFromDir(dir, source) {
|
|
72
|
+
async function loadAgentsFromDir(dir, source, pluginId) {
|
|
61
73
|
const agents = [];
|
|
62
74
|
let entries;
|
|
63
75
|
try {
|
|
@@ -93,6 +105,7 @@ async function loadAgentsFromDir(dir, source) {
|
|
|
93
105
|
maxTurns: fm.maxTurns ?? 30,
|
|
94
106
|
shellRestrictions: fm.shellRestrictions,
|
|
95
107
|
source,
|
|
108
|
+
...(pluginId ? { pluginId } : {}),
|
|
96
109
|
});
|
|
97
110
|
}
|
|
98
111
|
catch (err) {
|
|
@@ -101,17 +114,31 @@ async function loadAgentsFromDir(dir, source) {
|
|
|
101
114
|
}
|
|
102
115
|
return agents;
|
|
103
116
|
}
|
|
104
|
-
/** Load custom sub-agents from
|
|
105
|
-
* Environment variable `XC_AGENTS_DIR`
|
|
106
|
-
|
|
117
|
+
/** Load custom sub-agents from user + project directories, plus any
|
|
118
|
+
* extra dirs (plugin-contributed). Environment variable `XC_AGENTS_DIR`
|
|
119
|
+
* overrides the built-in paths for testing (extras are still honoured). */
|
|
120
|
+
export async function loadCustomAgents(opts = {}) {
|
|
107
121
|
const override = process.env.XC_AGENTS_DIR;
|
|
108
122
|
if (override) {
|
|
109
|
-
|
|
123
|
+
const overrideAgents = await loadAgentsFromDir(override, 'project');
|
|
124
|
+
return [...overrideAgents, ...(await loadAgentsFromExtras(opts.extraDirs))];
|
|
110
125
|
}
|
|
111
|
-
const
|
|
126
|
+
const userDir = path.join(USER_XCODE_DIR, 'agents');
|
|
112
127
|
const projectDir = path.join(process.cwd(), XCODE_DIR, 'agents');
|
|
113
|
-
const
|
|
128
|
+
const userAgents = await loadAgentsFromDir(userDir, 'user');
|
|
129
|
+
const pluginAgents = await loadAgentsFromExtras(opts.extraDirs);
|
|
114
130
|
const projectAgents = await loadAgentsFromDir(projectDir, 'project');
|
|
115
|
-
|
|
131
|
+
// user → plugin → project. SubAgentRegistry's Map.set overrides on
|
|
132
|
+
// duplicate names, so later entries win — same precedence as skills.
|
|
133
|
+
return [...userAgents, ...pluginAgents, ...projectAgents];
|
|
134
|
+
}
|
|
135
|
+
async function loadAgentsFromExtras(extras) {
|
|
136
|
+
if (!extras || extras.length === 0)
|
|
137
|
+
return [];
|
|
138
|
+
const out = [];
|
|
139
|
+
for (const { dir, pluginId } of extras) {
|
|
140
|
+
out.push(...(await loadAgentsFromDir(dir, 'user', pluginId)));
|
|
141
|
+
}
|
|
142
|
+
return out;
|
|
116
143
|
}
|
|
117
144
|
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/loader.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,6EAA6E;AAC7E,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,30 @@
|
|
|
1
|
+
import { type LoadCustomAgentsOptions } from './loader.js';
|
|
1
2
|
import type { SubAgentDefinition } from './types.js';
|
|
3
|
+
/** Diff summary returned by reload — drives the message surface for
|
|
4
|
+
* /plugin refresh. */
|
|
5
|
+
export interface SubAgentReloadSummary {
|
|
6
|
+
added: string[];
|
|
7
|
+
removed: string[];
|
|
8
|
+
changed: string[];
|
|
9
|
+
unchanged: string[];
|
|
10
|
+
}
|
|
2
11
|
export declare class SubAgentRegistry {
|
|
3
12
|
private agents;
|
|
4
13
|
constructor(agents: SubAgentDefinition[]);
|
|
5
14
|
get(name: string): SubAgentDefinition | undefined;
|
|
6
15
|
list(): SubAgentDefinition[];
|
|
7
16
|
names(): string[];
|
|
17
|
+
/** Replace the in-memory agent list with a fresh load. Used by
|
|
18
|
+
* /plugin refresh — keeps the same SubAgentRegistry object identity so
|
|
19
|
+
* every captured `options.subAgentRegistry` reference stays valid. */
|
|
20
|
+
reload(agents: SubAgentDefinition[]): SubAgentReloadSummary;
|
|
8
21
|
}
|
|
9
22
|
/** Build the registry: built-in first, then custom (later entries override). */
|
|
10
|
-
export declare function createSubAgentRegistry(): Promise<SubAgentRegistry>;
|
|
23
|
+
export declare function createSubAgentRegistry(opts?: LoadCustomAgentsOptions): Promise<SubAgentRegistry>;
|
|
24
|
+
/** Re-scan + rebuild the in-memory agent list in place. Same disk scan as
|
|
25
|
+
* startup; opts (notably extraDirs from plugins) carry over from the
|
|
26
|
+
* caller. Returns a diff summary for the /plugin refresh message. */
|
|
27
|
+
export declare function reloadSubAgentRegistry(registry: SubAgentRegistry, opts?: LoadCustomAgentsOptions): Promise<SubAgentReloadSummary>;
|
|
11
28
|
/** Synchronous registry with only built-in agents (for testing or when
|
|
12
29
|
* disk scan should be skipped). */
|
|
13
30
|
export declare function createBuiltInRegistry(): SubAgentRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAiC;gBAEnC,MAAM,EAAE,kBAAkB,EAAE;IAOxC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAIjD,IAAI,IAAI,kBAAkB,EAAE;IAI5B,KAAK,IAAI,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/registry.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,uBAAuB,EAAoB,MAAM,aAAa,CAAA;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAEpD;uBACuB;AACvB,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAiC;gBAEnC,MAAM,EAAE,kBAAkB,EAAE;IAOxC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAIjD,IAAI,IAAI,kBAAkB,EAAE;IAI5B,KAAK,IAAI,MAAM,EAAE;IAIjB;;2EAEuE;IACvE,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,qBAAqB;CAkB5D;AAED,gFAAgF;AAChF,wBAAsB,sBAAsB,CAAC,IAAI,GAAE,uBAA4B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAI1G;AAED;;sEAEsE;AACtE,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,qBAAqB,CAAC,CAGhC;AAED;oCACoC;AACpC,wBAAgB,qBAAqB,IAAI,gBAAgB,CAExD"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// @x-code-cli/core — Sub-agent registry
|
|
2
2
|
//
|
|
3
|
-
// Constructed once at startup
|
|
4
|
-
// Built-in agents load synchronously; custom
|
|
5
|
-
// Same-name custom agents override built-ins
|
|
3
|
+
// Constructed once at startup; can be hot-reloaded via reloadSubAgentRegistry
|
|
4
|
+
// when /plugin refresh fires. Built-in agents load synchronously; custom
|
|
5
|
+
// agents from disk are async. Same-name custom agents override built-ins
|
|
6
|
+
// (project > user > built-in).
|
|
6
7
|
import { builtInAgents } from './built-in.js';
|
|
7
8
|
import { loadCustomAgents } from './loader.js';
|
|
8
9
|
export class SubAgentRegistry {
|
|
@@ -22,13 +23,45 @@ export class SubAgentRegistry {
|
|
|
22
23
|
names() {
|
|
23
24
|
return [...this.agents.keys()];
|
|
24
25
|
}
|
|
26
|
+
/** Replace the in-memory agent list with a fresh load. Used by
|
|
27
|
+
* /plugin refresh — keeps the same SubAgentRegistry object identity so
|
|
28
|
+
* every captured `options.subAgentRegistry` reference stays valid. */
|
|
29
|
+
reload(agents) {
|
|
30
|
+
const previous = this.agents;
|
|
31
|
+
const next = new Map();
|
|
32
|
+
for (const a of agents)
|
|
33
|
+
next.set(a.name, a);
|
|
34
|
+
const summary = { added: [], removed: [], changed: [], unchanged: [] };
|
|
35
|
+
for (const [name, agent] of next) {
|
|
36
|
+
const prev = previous.get(name);
|
|
37
|
+
if (!prev)
|
|
38
|
+
summary.added.push(name);
|
|
39
|
+
else if (prev.prompt !== agent.prompt || prev.source !== agent.source || prev.pluginId !== agent.pluginId)
|
|
40
|
+
summary.changed.push(name);
|
|
41
|
+
else
|
|
42
|
+
summary.unchanged.push(name);
|
|
43
|
+
}
|
|
44
|
+
for (const name of previous.keys()) {
|
|
45
|
+
if (!next.has(name))
|
|
46
|
+
summary.removed.push(name);
|
|
47
|
+
}
|
|
48
|
+
this.agents = next;
|
|
49
|
+
return summary;
|
|
50
|
+
}
|
|
25
51
|
}
|
|
26
52
|
/** Build the registry: built-in first, then custom (later entries override). */
|
|
27
|
-
export async function createSubAgentRegistry() {
|
|
28
|
-
const custom = await loadCustomAgents();
|
|
53
|
+
export async function createSubAgentRegistry(opts = {}) {
|
|
54
|
+
const custom = await loadCustomAgents(opts);
|
|
29
55
|
// Load order: built-in → custom. Map insertion overwrites, so custom wins.
|
|
30
56
|
return new SubAgentRegistry([...builtInAgents, ...custom]);
|
|
31
57
|
}
|
|
58
|
+
/** Re-scan + rebuild the in-memory agent list in place. Same disk scan as
|
|
59
|
+
* startup; opts (notably extraDirs from plugins) carry over from the
|
|
60
|
+
* caller. Returns a diff summary for the /plugin refresh message. */
|
|
61
|
+
export async function reloadSubAgentRegistry(registry, opts = {}) {
|
|
62
|
+
const custom = await loadCustomAgents(opts);
|
|
63
|
+
return registry.reload([...builtInAgents, ...custom]);
|
|
64
|
+
}
|
|
32
65
|
/** Synchronous registry with only built-in agents (for testing or when
|
|
33
66
|
* disk scan should be skipped). */
|
|
34
67
|
export function createBuiltInRegistry() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/registry.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAKvC,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAkBjD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,SAAS,CAAA;IACtB,aAAa,EAAE,YAAY,CAAA;IAC3B,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB;AA4DD;8DAC8D;AAC9D,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwR/G"}
|
|
@@ -3,6 +3,14 @@ import { debugLog } from '../../utils.js';
|
|
|
3
3
|
import { createLoopState } from '../loop-state.js';
|
|
4
4
|
import { agentLoop } from '../loop.js';
|
|
5
5
|
import { buildSubAgentSystemPrompt } from '../system-prompt.js';
|
|
6
|
+
/** Fire a SubagentStart / SubagentStop hook. Best effort — sub-agent
|
|
7
|
+
* invocation is mandatory once the parent decides to delegate, so hook
|
|
8
|
+
* failures and aborts must never bubble. */
|
|
9
|
+
function emitSubAgentHook(bus, event, signal) {
|
|
10
|
+
if (!bus?.has(event.name))
|
|
11
|
+
return;
|
|
12
|
+
void bus.emit(event, { signal }).catch((err) => debugLog(`agent.hook-${event.name.toLowerCase()}-error`, String(err)));
|
|
13
|
+
}
|
|
6
14
|
/** Extract the last assistant text from a message array (skipping tool-call parts). */
|
|
7
15
|
function extractFinalText(messages) {
|
|
8
16
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
@@ -92,6 +100,13 @@ export async function runSubAgent(args, parentModel) {
|
|
|
92
100
|
description,
|
|
93
101
|
prompt,
|
|
94
102
|
});
|
|
103
|
+
// Plugin hook: SubagentStart — fires after the agent definition is
|
|
104
|
+
// resolved but before the nested agentLoop runs. Best-effort.
|
|
105
|
+
emitSubAgentHook(parentOptions.hookBus, {
|
|
106
|
+
name: 'SubagentStart',
|
|
107
|
+
session: { cwd: process.cwd(), modelId: parentOptions.modelId },
|
|
108
|
+
agent: { name: agentName, description, prompt },
|
|
109
|
+
}, parentOptions.abortSignal);
|
|
95
110
|
const subModel = resolveSubModel(agentDef, parentOptions, parentModel);
|
|
96
111
|
const subModelId = agentDef.model ? (resolveModelId(agentDef.model) ?? parentOptions.modelId) : parentOptions.modelId;
|
|
97
112
|
const subSystemPrompt = buildSubAgentSystemPrompt({
|
|
@@ -178,9 +193,24 @@ export async function runSubAgent(args, parentModel) {
|
|
|
178
193
|
durationMs,
|
|
179
194
|
aborted: false,
|
|
180
195
|
});
|
|
196
|
+
emitSubAgentHook(parentOptions.hookBus, {
|
|
197
|
+
name: 'SubagentStop',
|
|
198
|
+
session: { cwd: process.cwd(), modelId: parentOptions.modelId },
|
|
199
|
+
agent: { name: agentName, description },
|
|
200
|
+
durationMs,
|
|
201
|
+
outcome: 'completed',
|
|
202
|
+
tokenUsage: {
|
|
203
|
+
inputTokens: finalSubState.tokenUsage.inputTokens,
|
|
204
|
+
outputTokens: finalSubState.tokenUsage.outputTokens,
|
|
205
|
+
totalTokens: finalSubState.tokenUsage.totalTokens,
|
|
206
|
+
},
|
|
207
|
+
}, parentOptions.abortSignal);
|
|
181
208
|
if (turnCount >= agentDef.maxTurns && !finalText) {
|
|
209
|
+
// finalText is guaranteed empty here (the !finalText branch) and the
|
|
210
|
+
// messages array hasn't been mutated since line 246's call, so the
|
|
211
|
+
// partial-output value can only ever be 'none' on this path.
|
|
182
212
|
return {
|
|
183
|
-
resultText: `[Sub-agent reached max turns (${agentDef.maxTurns}) without finishing. Partial output:
|
|
213
|
+
resultText: `[Sub-agent reached max turns (${agentDef.maxTurns}) without finishing. Partial output: none]`,
|
|
184
214
|
tokenUsage: finalSubState.tokenUsage,
|
|
185
215
|
turnCount,
|
|
186
216
|
toolCallCount: toolUseCount,
|
|
@@ -220,6 +250,13 @@ export async function runSubAgent(args, parentModel) {
|
|
|
220
250
|
durationMs,
|
|
221
251
|
aborted: true,
|
|
222
252
|
});
|
|
253
|
+
emitSubAgentHook(parentOptions.hookBus, {
|
|
254
|
+
name: 'SubagentStop',
|
|
255
|
+
session: { cwd: process.cwd(), modelId: parentOptions.modelId },
|
|
256
|
+
agent: { name: agentName, description },
|
|
257
|
+
durationMs,
|
|
258
|
+
outcome: 'aborted',
|
|
259
|
+
}, parentOptions.abortSignal);
|
|
223
260
|
return {
|
|
224
261
|
resultText: text,
|
|
225
262
|
tokenUsage: subState.tokenUsage,
|
|
@@ -241,6 +278,13 @@ export async function runSubAgent(args, parentModel) {
|
|
|
241
278
|
durationMs,
|
|
242
279
|
aborted: false,
|
|
243
280
|
});
|
|
281
|
+
emitSubAgentHook(parentOptions.hookBus, {
|
|
282
|
+
name: 'SubagentStop',
|
|
283
|
+
session: { cwd: process.cwd(), modelId: parentOptions.modelId },
|
|
284
|
+
agent: { name: agentName, description },
|
|
285
|
+
durationMs,
|
|
286
|
+
outcome: 'failed',
|
|
287
|
+
}, parentOptions.abortSignal);
|
|
244
288
|
return {
|
|
245
289
|
resultText: `[Sub-agent failed: ${message}]`,
|
|
246
290
|
tokenUsage: subState.tokenUsage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/agent/sub-agents/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,10 @@ export interface SubAgentDefinition {
|
|
|
15
15
|
/** Shell commands to deny (keyword matching). Only relevant when shell is in tools */
|
|
16
16
|
shellRestrictions?: string[];
|
|
17
17
|
/** Where this definition came from */
|
|
18
|
-
source: 'built-in' | '
|
|
18
|
+
source: 'built-in' | 'user' | 'project';
|
|
19
|
+
/** When this sub-agent comes from a plugin contribution, the owning
|
|
20
|
+
* plugin's id (`name@marketplace`). */
|
|
21
|
+
pluginId?: string;
|
|
19
22
|
}
|
|
20
23
|
export interface SubAgentTrace {
|
|
21
24
|
toolCalls: Array<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,sCAAsC;IACtC,MAAM,EAAE,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/sub-agents/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAA;IACd,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;IAChB,sFAAsF;IACtF,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,sCAAsC;IACtC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAAA;IACvC;4CACwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,OAAO,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,OAAO,CAAA;KACjB,CAAC,CAAA;IACF,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7F;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACjF;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,GACD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzD;IACE,IAAI,EAAE,KAAK,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA"}
|
|
@@ -6,6 +6,15 @@ export declare function buildSubAgentSystemPrompt(options: {
|
|
|
6
6
|
knowledgeContext: string;
|
|
7
7
|
isGitRepo: boolean;
|
|
8
8
|
}): string;
|
|
9
|
+
/** Describes one MCP tool well enough for the system prompt. The
|
|
10
|
+
* description is truncated to ~200 chars upstream so it doesn't bloat
|
|
11
|
+
* the prompt — overly verbose server descriptions are a real problem
|
|
12
|
+
* in the wild. */
|
|
13
|
+
export interface SystemPromptMcpTool {
|
|
14
|
+
callableName: string;
|
|
15
|
+
serverName: string;
|
|
16
|
+
description: string;
|
|
17
|
+
}
|
|
9
18
|
/** Build the full system prompt with dynamic values and optional knowledge context */
|
|
10
19
|
export declare function buildSystemPrompt(options?: {
|
|
11
20
|
knowledgeContext?: string;
|
|
@@ -18,5 +27,17 @@ export declare function buildSystemPrompt(options?: {
|
|
|
18
27
|
/** Absolute path to the session's plan file. Required when
|
|
19
28
|
* `planMode === true`; ignored otherwise. */
|
|
20
29
|
planFilePath?: string;
|
|
30
|
+
/** Optional MCP tool surface. When provided, an additional
|
|
31
|
+
* `## MCP Tools` section is appended to `## Capabilities`. When
|
|
32
|
+
* absent or empty, the prompt body is byte-identical to the
|
|
33
|
+
* pre-MCP version. */
|
|
34
|
+
mcpTools?: readonly SystemPromptMcpTool[];
|
|
35
|
+
/** Optional skill surface. When provided, an `## Available Skills`
|
|
36
|
+
* section is appended listing each skill name + description. When
|
|
37
|
+
* absent or empty, the prompt is byte-identical to the no-skills shape. */
|
|
38
|
+
skills?: readonly {
|
|
39
|
+
name: string;
|
|
40
|
+
description: string;
|
|
41
|
+
}[];
|
|
21
42
|
}): string;
|
|
22
43
|
//# sourceMappingURL=system-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAoMA;;gFAEgF;AAChF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;CACnB,GAAG,MAAM,CAuBT;AAED;;;mBAGmB;AACnB,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;CACpB;AAsED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;4CAEwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;kDAC8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;2BAGuB;IACvB,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAA;IACzC;;gFAE4E;IAC5E,MAAM,CAAC,EAAE,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC1D,GAAG,MAAM,CAoBT"}
|