diff options
| author | Adam Malczewski <[email protected]> | 2026-05-29 15:38:35 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-05-29 15:38:35 +0900 |
| commit | 48194753eee9c6cb8995cf52afcbd615cf115491 (patch) | |
| tree | a4aa2c22ed0db272d6848c28f755ad9950418c54 /packages/core/src | |
| parent | aa230050f4edb7bfc8d3e4d59d95c68c36264b41 (diff) | |
| download | dispatch-48194753eee9c6cb8995cf52afcbd615cf115491.tar.gz dispatch-48194753eee9c6cb8995cf52afcbd615cf115491.zip | |
feat: subagent summon — catalog filter, error hints, system prompt, AgentBuilder default, SubAgent mode display
- Filter summon tool catalog to is_subagent-flagged agents only
- Return fresh subagent list in error when slug not found
- Add subagent hint to system prompt when summon tool available
- Default is_subagent checkbox to true in AgentBuilder
- Fix tab-created event to include agentSlug and agentModels
- Add SubAgent read-only mode to ModelSelector with model slider
Diffstat (limited to 'packages/core/src')
| -rw-r--r-- | packages/core/src/tools/summon.ts | 30 | ||||
| -rw-r--r-- | packages/core/src/types/index.ts | 2 |
2 files changed, 18 insertions, 14 deletions
diff --git a/packages/core/src/tools/summon.ts b/packages/core/src/tools/summon.ts index ed4b080..34109f3 100644 --- a/packages/core/src/tools/summon.ts +++ b/packages/core/src/tools/summon.ts @@ -215,18 +215,20 @@ export function toAvailableAgents( globalDir: string, projectDir: string | null, ): AvailableAgent[] { - return defs.map((d) => { - const baseDir = - d.scope === "global" - ? globalDir - : projectDir - ? `${projectDir.replace(/\/$/, "")}/.dispatch/agents` - : globalDir; - return { - slug: d.slug, - name: d.name, - description: d.description, - path: `${baseDir}/${d.slug}.toml`, - }; - }); + return defs + .filter((d) => d.is_subagent) + .map((d) => { + const baseDir = + d.scope === "global" + ? globalDir + : projectDir + ? `${projectDir.replace(/\/$/, "")}/.dispatch/agents` + : globalDir; + return { + slug: d.slug, + name: d.name, + description: d.description, + path: `${baseDir}/${d.slug}.toml`, + }; + }); } diff --git a/packages/core/src/types/index.ts b/packages/core/src/types/index.ts index 0df56ca..4148498 100644 --- a/packages/core/src/types/index.ts +++ b/packages/core/src/types/index.ts @@ -149,7 +149,9 @@ export type AgentEvent = keyId: string | null; modelId: string | null; parentTabId: string | null; + agentSlug?: string | null; workingDirectory: string | null; + agentModels?: Array<{ key_id: string; model_id: string }> | null; } | { type: "message-queued"; tabId: string; messageId: string; message: string } | { type: "message-consumed"; tabId: string; messageIds: string[] } |
