@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/README.md +17 -9
- package/README.zh.md +5 -4
- package/lib/background-start.d.ts +1 -1
- package/lib/background-start.d.ts.map +1 -1
- package/lib/background-start.js +7 -5
- package/lib/background-start.js.map +1 -1
- package/lib/catalog.d.ts +15 -2
- package/lib/catalog.d.ts.map +1 -1
- package/lib/catalog.js +67 -4
- package/lib/catalog.js.map +1 -1
- package/lib/epoch-collector.d.ts +1 -1
- package/lib/epoch-collector.js +1 -1
- package/lib/index.d.ts +14 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +38 -4
- package/lib/index.js.map +1 -1
- package/lib/one-shot-ledger.d.ts +99 -0
- package/lib/one-shot-ledger.d.ts.map +1 -0
- package/lib/one-shot-ledger.js +113 -0
- package/lib/one-shot-ledger.js.map +1 -0
- package/lib/one-shot-notice.d.ts +51 -0
- package/lib/one-shot-notice.d.ts.map +1 -0
- package/lib/one-shot-notice.js +71 -0
- package/lib/one-shot-notice.js.map +1 -0
- package/lib/plugin-agents.d.ts +77 -0
- package/lib/plugin-agents.d.ts.map +1 -0
- package/lib/plugin-agents.js +110 -0
- package/lib/plugin-agents.js.map +1 -0
- package/lib/suppress-settled.d.ts +1 -1
- package/lib/suppress-settled.js +1 -1
- package/lib/tool.d.ts +6 -1
- package/lib/tool.d.ts.map +1 -1
- package/lib/tool.js +73 -42
- package/lib/tool.js.map +1 -1
- package/package.json +19 -18
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`)
|
|
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`,
|
|
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
|
-
|
|
198
|
+
let definition = await registry.resolve(root, type);
|
|
185
199
|
if (definition === undefined) {
|
|
186
|
-
|
|
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
|
|
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
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
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
|
-
|
|
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":"AAAA
|
|
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.
|
|
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.
|
|
37
|
-
"@deepseek-ai/dsh-agent": ">=0.1.
|
|
38
|
-
"@deepseek-ai/dsh-invariants": ">=0.1.
|
|
39
|
-
"@deepseek-ai/dsh-subagent": ">=0.1.
|
|
40
|
-
"@deepseek-ai/dsh-system-prompt": ">=0.1.
|
|
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/
|
|
45
|
-
"@dsh-cc/
|
|
46
|
-
"@dsh-cc/
|
|
47
|
-
"@dsh-cc/
|
|
48
|
-
"@dsh-cc/
|
|
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/
|
|
68
|
-
"@dsh-cc/
|
|
69
|
-
"@dsh-cc/model-aliases": "^0.
|
|
70
|
-
"@dsh-cc/subagent-resume-pins": "^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/
|
|
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"
|