diff options
| author | Adam Malczewski <[email protected]> | 2026-05-23 04:18:54 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-05-23 04:18:54 +0900 |
| commit | 80ce5960c479fe35ab72c822e3b67799d7e1491e (patch) | |
| tree | 2b58bb1cfbc458a70ad021adc1ce0ae6ed810d84 /packages/core/src/tools/summon.ts | |
| parent | c47346cc6237044ecb60ff22c4011d89744af581 (diff) | |
| download | dispatch-80ce5960c479fe35ab72c822e3b67799d7e1491e.tar.gz dispatch-80ce5960c479fe35ab72c822e3b67799d7e1491e.zip | |
feat: web_search + youtube_transcribe tools, shell interrupt backgrounding, fixes
- Add web_search tool (Firecrawl POST to /v1/search with query, limit, lang, country, scrapeOptions)
- Add youtube_transcribe tool (GET to transcriber service, handles completed/queued/failed statuses)
- Both tools registered for parent agents (always) and child agents (permission-gated)
- Added to summon enum, TOOL_DESCRIPTIONS, and core exports
- Shell interrupt: run_shell now races against user queue interrupt
- When interrupted, command continues in background with run_shell_<uuid> job ID
- BackgroundShellStore holds running processes, auto-cleans 10min after completion
- retrieve tool extended to handle both agent IDs and shell job IDs
- Tool error detection: results starting with 'Error:' now marked isError in UI
- Fix TS error: cast unavailMatch[1] regex capture group to string
- Docker: network_mode host for Tailscale/LAN access to external services
- Bun.serve idleTimeout set to 60s (was default 10s)
- KeyUsage: clearer message when OpenCode usage data unavailable
- Firecrawl: only send scrapeOptions when scrape=true (avoid 400 on instances without scrape support)
Diffstat (limited to 'packages/core/src/tools/summon.ts')
| -rw-r--r-- | packages/core/src/tools/summon.ts | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/packages/core/src/tools/summon.ts b/packages/core/src/tools/summon.ts index 582b871..29f27d1 100644 --- a/packages/core/src/tools/summon.ts +++ b/packages/core/src/tools/summon.ts @@ -29,6 +29,8 @@ export function createSummonTool( " - todo: Track work items", " - summon: Spawn its own child agents (enables nesting)", " - retrieve: Collect results from its children (required if summon is given)", + " - web_search: Search the web", + " - youtube_transcribe: Fetch YouTube video transcripts", "", "If tools is omitted, the child gets read_file, list_files, and todo only (read-only by default).", ].join("\n"), @@ -48,6 +50,8 @@ export function createSummonTool( "todo", "summon", "retrieve", + "web_search", + "youtube_transcribe", ]), ) .optional() |
