@dsh-cc/subagent-task 0.5.0 → 0.6.1

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/lib/tool.js CHANGED
@@ -18,6 +18,10 @@
18
18
  * task text as the first user message, a routes-resolved `agentOptions`
19
19
  * override, and the definition's tool restriction (sanitized of tool names
20
20
  * this composition no longer registers).
21
+ * - A type matching a plugin agent's scoped id (`plugin:agent`, from the
22
+ * `subagents` seam's namespaced providers) → the identical fold: the
23
+ * provider's `AgentDefinition` is dispatched through the same `spawn`
24
+ * provider mechanics; no new start path exists for plugin agents.
21
25
  * - Any other type → an error result listing the available types.
22
26
  *
23
27
  * The seam's capability contract (`assertCapabilities`) is honoured
@@ -34,6 +38,7 @@
34
38
  import { defineTool } from '@dsh-cc/tools';
35
39
  import { cwdOf } from '@dsh-cc/memory';
36
40
  import { toAgentOptions } from '@dsh-cc/model-aliases';
41
+ import { PluginAgentIndex } from "./plugin-agents.js";
37
42
  import { preloadDeferredFilterTools, renderPreloadLines } from "./preload-tools.js";
38
43
  import { sanitizeToolFilter } from "./sanitize-filter.js";
39
44
  import { backgroundTasksDisabled, collectForeground, preparedBackground, startBackground, wantsBackground, } from "./background-start.js";
@@ -72,7 +77,7 @@ const RESERVED_TOOL_NAMES = ['subagent', 'workflow'];
72
77
  * no `resumePins` plugin config) writes no pins and runs no preflight.
73
78
  * @returns the registration disposer, or undefined when the tools seam is absent.
74
79
  */
75
- export function registerTaskTool(ctx, registry, capture) {
80
+ export function registerTaskTool(ctx, registry, capture, pluginIndex = new PluginAgentIndex(ctx)) {
76
81
  const tools = ctx.get('tools');
77
82
  if (tools === undefined)
78
83
  return undefined;
@@ -85,7 +90,8 @@ export function registerTaskTool(ctx, registry, capture) {
85
90
  name: TASK_TOOL,
86
91
  description: 'Delegate a well-scoped task to a subagent. The child starts with a fresh conversation: '
87
92
  + 'write a self-contained prompt (paths, constraints, what to return). Pass `subagent_type` '
88
- + 'to run a named agent from the session workspace (`.claude/agents`) see the "Available '
93
+ + 'to run a named agent from the session workspace (`.claude/agents`) or a plugin agent by '
94
+ + 'its scoped id (`plugin:agent`) — see the "Available '
89
95
  + 'subagents" section of the system prompt for the current list. Omit `subagent_type` (or '
90
96
  + 'use "general-purpose") for a plain spawn that inherits your tools but not your history. '
91
97
  + 'Pass `subagent_type: "fork"` to inherit completed parent turns (and the prompt cache, '
@@ -98,6 +104,12 @@ export function registerTaskTool(ctx, registry, capture) {
98
104
  + 'are told when it finishes via a waking message; synthesize on the wake, do not poll. '
99
105
  + 'A definition with `background: true` backgrounds on omit; pass `run_in_background: false` '
100
106
  + 'when this turn needs that child\u2019s result \u2014 explicit true/false always win over the pin. '
107
+ + 'One task, one instance: every new task is a fresh call to this tool (a plain spawn \u2014 '
108
+ + 'never `subagent_type: "fork"`, which inherits your context), even when an idle child of '
109
+ + 'the same type exists. `send_message` continues only an existing child\u2019s CURRENT '
110
+ + 'assignment (steer it in flight, same-task follow-ups); a continued child resumes inside '
111
+ + 'its full prior conversation with its original definition snapshot. (Reporting your own '
112
+ + 'result to your parent via `send_message` is always fine.) '
101
113
  + 'Continue a background child later with `send_message` addressed to its id; inspect it with '
102
114
  + '`list_agents` and stop its current turn with `interrupt_agent`. '
103
115
  + 'A foreground wait may be user-promoted to background while it runs: if a tool result '
@@ -107,9 +119,11 @@ export function registerTaskTool(ctx, registry, capture) {
107
119
  parameters: {
108
120
  subagent_type: {
109
121
  type: 'string',
110
- description: 'Named agent from `.claude/agents`, or the sentinels "general-purpose" (fresh spawn) '
122
+ description: 'Named agent from `.claude/agents`, a plugin agent by its scoped id ("plugin:agent"), '
123
+ + 'or the sentinels "general-purpose" (fresh spawn) '
111
124
  + 'and "fork" (inherit completed parent turns). "fork" is reserved and wins over a '
112
- + 'workspace file of the same name.',
125
+ + 'workspace file of the same name. Bare plugin agent names are not addressable — use '
126
+ + 'the full scoped id.',
113
127
  },
114
128
  description: {
115
129
  type: 'string',
@@ -181,48 +195,65 @@ export function registerTaskTool(ctx, registry, capture) {
181
195
  return settle(run);
182
196
  }
183
197
  const root = cwdOf(agent);
184
- const definition = await registry.resolve(root, type);
198
+ let definition = await registry.resolve(root, type);
185
199
  if (definition === undefined) {
186
- const available = (await registry.list(root)).map(def => def.agentType).join(', ');
200
+ // Fall through to the seam's plugin agents (exact scoped-id match).
201
+ // Builtin providers are excluded by the index's structural guard.
202
+ definition = pluginIndex.resolve(type);
203
+ }
204
+ if (definition === undefined) {
205
+ const fileTypes = (await registry.list(root)).map(def => def.agentType);
206
+ const pluginIds = pluginIndex.knownIds();
207
+ const available = [...fileTypes, ...pluginIds].join(', ');
187
208
  throw new Error(`unknown subagent_type "${type}"`
188
- + (available.length > 0 ? `; available in this workspace: ${available}` : '; this workspace defines no agents'));
209
+ + (available.length > 0
210
+ ? `; available in this workspace: ${available}`
211
+ : '; this workspace defines no agents')
212
+ // A colon in the requested type means a scoped plugin id was
213
+ // intended: name the unmount/renamed causes explicitly.
214
+ + (type.includes(':')
215
+ ? ' — plugin agent not found — the plugin may be unmounted or the agent renamed'
216
+ : ''));
189
217
  }
190
- const routes = ctx.get('ccModelRoutes');
191
- const agentOptions = toAgentOptions(routes?.resolve(definition.model));
192
- // LIVE known set, read at execute time so MCP tools mounted or deferred
193
- // after this plugin's apply (including hash-suffixed public names) are
194
- // all restrictable candidates for the child's filter. Pass the calling
195
- // agent: MCP tools live on the standing-scope layer, which the global
196
- // view (no scope) does not include.
197
- const knownNames = tools.view?.(agent).restrictableNames ?? new Set();
198
- const toolFilter = definition.toolRestriction !== undefined
199
- ? sanitizeToolFilter(definition.toolRestriction, message => ctx.logger.warn(message), knownNames)
200
- : undefined;
201
- // Spawn-time pre-activation (named definitions only): explicit deferred
202
- // MCP names in the raw `tools:` allow-list are activated through the
203
- // duck-typed toolSearch seam BEFORE the child starts, on BOTH dispatch
204
- // paths. Activation is process-global every admitting agent's schema
205
- // grows after the spawn.
206
- const preloadText = renderPreloadLines(preloadDeferredFilterTools({
207
- raw: definition.toolRestriction,
208
- sanitized: toolFilter,
209
- toolSearch: ctx.get('toolSearch'),
210
- agent,
211
- tools,
212
- warn: message => ctx.logger.warn(message),
213
- }));
214
- const folded = {
215
- ...base,
216
- persona: definition.systemPrompt,
217
- ...(toolFilter !== undefined ? { toolFilter } : {}),
218
- ...(agentOptions !== undefined ? { agentOptions } : {}),
219
- };
220
- if (wantsBackground(args, definition, disabled)) {
221
- const result = await startBackground(seam, preparedBackground(folded, capture, definition, routes), capture);
218
+ const dispatchDefinition = async (definition) => {
219
+ const routes = ctx.get('ccModelRoutes');
220
+ const agentOptions = toAgentOptions(routes?.resolve(definition.model));
221
+ // LIVE known set, read at execute time so MCP tools mounted or deferred
222
+ // after this plugin's apply (including hash-suffixed public names) are
223
+ // all restrictable candidates for the child's filter. Pass the calling
224
+ // agent: MCP tools live on the standing-scope layer, which the global
225
+ // view (no scope) does not include.
226
+ const knownNames = tools.view?.(agent).restrictableNames ?? new Set();
227
+ const toolFilter = definition.toolRestriction !== undefined
228
+ ? sanitizeToolFilter(definition.toolRestriction, message => ctx.logger.warn(message), knownNames)
229
+ : undefined;
230
+ // Spawn-time pre-activation (named definitions only): explicit deferred
231
+ // MCP names in the raw `tools:` allow-list are activated through the
232
+ // duck-typed toolSearch seam BEFORE the child starts, on BOTH dispatch
233
+ // paths. Activation is process-global — every admitting agent's schema
234
+ // grows after the spawn.
235
+ const preloadText = renderPreloadLines(preloadDeferredFilterTools({
236
+ raw: definition.toolRestriction,
237
+ sanitized: toolFilter,
238
+ toolSearch: ctx.get('toolSearch'),
239
+ agent,
240
+ tools,
241
+ warn: message => ctx.logger.warn(message),
242
+ }));
243
+ const folded = {
244
+ ...base,
245
+ persona: definition.systemPrompt,
246
+ ...(toolFilter !== undefined ? { toolFilter } : {}),
247
+ ...(agentOptions !== undefined ? { agentOptions } : {}),
248
+ };
249
+ if (wantsBackground(args, definition, disabled)) {
250
+ const result = await startBackground(seam, preparedBackground(folded, capture, definition, routes), capture);
251
+ return preloadText === '' ? result : { ...result, text: `${result.text}\n${preloadText}` };
252
+ }
253
+ const result = await collectForeground(ctx, seam, preparedBackground(folded, capture, definition, routes), capture, exec);
222
254
  return preloadText === '' ? result : { ...result, text: `${result.text}\n${preloadText}` };
223
- }
224
- const result = await collectForeground(ctx, seam, preparedBackground(folded, capture, definition, routes), capture, exec);
225
- return preloadText === '' ? result : { ...result, text: `${result.text}\n${preloadText}` };
255
+ };
256
+ return dispatchDefinition(definition);
226
257
  },
227
258
  }));
228
259
  }
package/lib/tool.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/tool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dsh-cc/subagent-task",
3
3
  "description": "Claude Code-compatible Task tool: subagent_type dispatch over per-workspace .claude/agents definitions for the DeepSeek Harness",
4
- "version": "0.5.0",
4
+ "version": "0.6.1",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/dsh-cc/dsh-cc.git",
@@ -33,30 +33,30 @@
33
33
  ],
34
34
  "license": "Apache-2.0",
35
35
  "peerDependencies": {
36
- "@deepseek-ai/cordis": ">=0.1.1-rc.2",
37
- "@deepseek-ai/dsh-agent": ">=0.1.1-rc.2",
38
- "@deepseek-ai/dsh-invariants": ">=0.1.1-rc.2",
39
- "@deepseek-ai/dsh-subagent": ">=0.1.1-rc.2",
40
- "@deepseek-ai/dsh-system-prompt": ">=0.1.1-rc.2",
36
+ "@deepseek-ai/cordis": ">=0.1.2-rc.1",
37
+ "@deepseek-ai/dsh-agent": ">=0.1.2-rc.1",
38
+ "@deepseek-ai/dsh-invariants": ">=0.1.2-rc.1",
39
+ "@deepseek-ai/dsh-subagent": ">=0.1.2-rc.1",
40
+ "@deepseek-ai/dsh-system-prompt": ">=0.1.2-rc.1",
41
41
  "@deepseek-ai/schemastery": "^3.18.1"
42
42
  },
43
43
  "dependencies": {
44
- "@dsh-cc/claude-code-agents": "^0.5.0",
45
- "@dsh-cc/memory": "^0.5.0",
46
- "@dsh-cc/subagent-resume-pins": "^0.5.0",
47
- "@dsh-cc/model-aliases": "^0.5.0",
48
- "@dsh-cc/tools": "^0.5.0"
44
+ "@dsh-cc/model-aliases": "^0.6.1",
45
+ "@dsh-cc/subagent-resume-pins": "^0.6.1",
46
+ "@dsh-cc/tools": "^0.6.1",
47
+ "@dsh-cc/memory": "^0.6.1",
48
+ "@dsh-cc/claude-code-agents": "^0.6.1"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@deepseek-ai/dsh-agent-loop": "link:../../../../deepseek-harness/packages/core/agent-loop",
52
52
  "@deepseek-ai/dsh-agent-loop-testkit": "link:../../../../deepseek-harness/packages/test-support/agent-loop-testkit",
53
53
  "@deepseek-ai/dsh-llm": "link:../../../../deepseek-harness/packages/llm/llm",
54
54
  "@deepseek-ai/dsh-session": "link:../../../../deepseek-harness/packages/core/session",
55
+ "@deepseek-ai/dsh-session-query": "link:../../../../deepseek-harness/packages/session-query/session-query",
55
56
  "@deepseek-ai/dsh-session-persistence-jsonl": "link:../../../../deepseek-harness/packages/session/session-persistence-jsonl",
56
57
  "@deepseek-ai/dsh-session-projection": "link:../../../../deepseek-harness/packages/session/session-projection",
57
58
  "@deepseek-ai/dsh-subagent-spawn-in-process": "link:../../../../deepseek-harness/packages/subagent/subagent-spawn-in-process",
58
59
  "@deepseek-ai/dsh-tool-subagent-control": "link:../../../../deepseek-harness/packages/subagent/tool-subagent-control",
59
- "@deepseek-ai/dsh-tool-subagent-report": "link:../../../../deepseek-harness/packages/subagent/tool-subagent-report",
60
60
  "@deepseek-ai/schemastery": "link:../../../../deepseek-harness/vendor/schemastery",
61
61
  "@deepseek-ai/cordis": "link:../../../../deepseek-harness/vendor/cordis",
62
62
  "@deepseek-ai/dsh-agent": "link:../../../../deepseek-harness/packages/core/agent",
@@ -64,13 +64,14 @@
64
64
  "@deepseek-ai/dsh-scope": "link:../../../../deepseek-harness/packages/core/scope",
65
65
  "@deepseek-ai/dsh-subagent": "link:../../../../deepseek-harness/packages/subagent/subagent",
66
66
  "@deepseek-ai/dsh-system-prompt": "link:../../../../deepseek-harness/packages/core/system-prompt",
67
- "@dsh-cc/memory": "^0.5.0",
68
- "@dsh-cc/claude-code-agents": "^0.5.0",
69
- "@dsh-cc/model-aliases": "^0.5.0",
70
- "@dsh-cc/subagent-resume-pins": "^0.5.0",
67
+ "@dsh-cc/claude-code-agents": "^0.6.1",
68
+ "@dsh-cc/memory": "^0.6.1",
69
+ "@dsh-cc/model-aliases": "^0.6.1",
70
+ "@dsh-cc/subagent-resume-pins": "^0.6.1",
71
+ "@dsh-cc/plugin-loader": "^0.6.1",
72
+ "@dsh-cc/tools": "^0.6.1",
71
73
  "@dsh-cc/agent-loop-mock": "^0.1.0",
72
- "@dsh-cc/tools": "^0.5.0",
73
- "@dsh-cc/tool-search": "0.5.0"
74
+ "@dsh-cc/tool-search": "0.6.1"
74
75
  },
75
76
  "publishConfig": {
76
77
  "access": "public"