bug(summon): unmatched extension filters silently spawn tool-less workers
- Vorherrschende Sprache
- Rust
- Sterne
- 54.2k
- Forks
- 6.2k
- Ø Merge
- 3 T. 2 Std.
- Gemergte PRs (30 T.)
- 262
Beschreibung
## Summary
An explicit delegate extensions filter compares strings only against ExtensionConfig.name and merely logs unmatched names. A config key such as exasearch therefore creates a child with zero tools when the extension name is Exa Search.
## Reproduction
With an enabled entry keyed exasearch and named Exa Search, extensions set to exasearch starts a child with zero tools while Exa Search exposes the tool. Platform names add another shape: developer works while Developer does not.
## Source evidence
build_task_config in crates/goose/src/agents/platform_extensions/summon.rs retains entries with filter.contains(ext.name()). Unmatched names produce only an internal warning. ExtensionConfig.key and name_to_key already define a normalized key shape.
## Expected
Accept normalized keys and names consistently. Any unmatched explicit extension should fail before provider or session work begins and list available names. An empty list should still mean no extensions.
## Verification
- display name and normalized key select the same extension
- unknown names return a visible error and spawn no child
- mixed valid and invalid filters fail
- empty disables all and omitted inherits
Beitragsleitfaden
Bewertung
Dieses Issue wurde noch nicht bewertet.