Hz_
a7da78d0d7
refactor(go-agent): unify tool-backed canvas components (#16912)
## Summary
This PR consolidates Eino-backed Agent tools behind the shared
ToolBackedComponent implementation and aligns their Canvas
configuration,
runtime inputs, output conversion, validation, and registration.
## What changed
- Migrated these Canvas components to the unified tool-backed path:
- Tavily Search and Extract
- Execute SQL
- Google
- Yahoo Finance
- Email
- DuckDuckGo
- Wikipedia
- Google Scholar
- ArXiv
- PubMed
- BGPT
- GitHub
- WenCai
- SearXNG
- Keenable Search
- Removed superseded component wrappers and their duplicate tests.
- Added dedicated registry builders for node-level configuration and
validation.
- Kept model-emitted runtime inputs separate from Canvas node
configuration.
- Moved Email defaults, template resolution, recipient parsing, SMTP
execution, and output conversion into the owning tool.
- Added complete ToolComponent specifications for Canvas inputs,
outputs, and input forms.
- Preserved raw upstream fields where downstream workflows may depend on
them.
- Added workflow registration coverage for all migrated component names.
- Kept HTTP Request, Docs Generator, and Browser as standalone
components because they are not Eino-backed tools.
## Testing
Passed:
bash build.sh --test ./internal/agent/tool/...
bash build.sh --test ./internal/agent/component/...
bash build.sh --test ./internal/agent/runtime/...
<img width="2057" height="1111" alt="image"
src="https://github.com/user-attachments/assets/c728d7a3-9d15-4c5c-b0eb-6b77ad0e41ac"
/>
<img width="2057" height="1111" alt="image"
src="https://github.com/user-attachments/assets/ef13119a-ef92-4b43-9061-eee9511bf492"
/>
<img width="2057" height="1111" alt="image"
src="https://github.com/user-attachments/assets/f50f2c30-eab0-463c-b0b3-0a02523219f1"
/>
2026-07-15 21:42:08 +08:00
..
2026-07-14 13:17:30 +08:00
2026-06-17 13:24:03 +08:00
2026-07-05 20:53:43 +08:00
2026-07-06 13:29:10 +08:00
2026-07-03 13:25:14 +08:00
2026-07-15 10:58:59 +08:00
2026-06-17 13:24:03 +08:00
2026-06-30 16:28:48 +08:00
2026-06-30 16:28:48 +08:00
2026-06-29 09:45:16 +08:00
2026-06-29 09:45:16 +08:00
2026-07-13 16:57:56 +08:00
2026-07-13 16:57:56 +08:00
2026-06-17 13:24:03 +08:00
2026-07-14 21:06:11 +08:00
2026-06-22 11:58:29 +08:00
2026-06-17 13:24:03 +08:00
2026-06-17 13:24:03 +08:00
2026-06-17 13:24:03 +08:00
2026-07-15 20:32:59 +08:00
2026-07-15 20:32:59 +08:00
2026-07-14 13:17:30 +08:00
2026-07-14 13:17:30 +08:00
2026-06-17 13:24:03 +08:00
2026-06-12 22:58:28 +08:00
2026-06-17 13:24:03 +08:00
2026-06-17 13:24:03 +08:00
2026-06-17 13:24:03 +08:00
2026-07-15 21:42:08 +08:00
2026-06-17 13:24:03 +08:00
2026-06-17 13:24:03 +08:00
2026-07-13 15:48:07 +08:00
2026-07-13 15:48:07 +08:00
2026-06-12 22:58:28 +08:00
2026-06-22 11:58:29 +08:00
2026-06-22 11:58:29 +08:00
2026-07-15 10:58:59 +08:00
2026-06-22 11:58:29 +08:00
2026-07-02 10:56:38 +08:00
2026-06-17 13:24:03 +08:00
2026-07-07 11:12:38 +08:00
2026-07-06 10:58:40 +08:00
2026-06-17 13:24:03 +08:00
2026-06-22 11:58:29 +08:00
2026-06-17 13:24:03 +08:00
2026-06-17 13:24:03 +08:00
2026-06-17 13:24:03 +08:00
2026-07-14 13:17:30 +08:00
2026-07-14 14:57:22 +08:00
2026-07-14 14:57:22 +08:00
2026-07-07 11:12:38 +08:00
2026-06-12 22:58:28 +08:00
2026-07-15 21:42:08 +08:00
2026-07-05 20:43:52 +08:00
2026-07-14 13:17:30 +08:00
2026-07-14 13:17:30 +08:00
2026-06-22 11:58:29 +08:00
2026-07-05 20:43:52 +08:00
2026-06-17 13:24:03 +08:00
2026-06-17 13:24:03 +08:00
2026-07-10 11:58:32 +08:00
2026-07-13 16:57:56 +08:00
2026-07-13 16:57:56 +08:00
2026-06-17 13:24:03 +08:00
2026-07-15 10:54:18 +08:00
2026-07-15 10:54:18 +08:00
2026-06-17 13:24:03 +08:00
2026-06-17 13:24:03 +08:00
2026-06-30 16:28:48 +08:00
2026-06-30 16:28:48 +08:00
2026-06-17 13:24:03 +08:00
2026-07-15 21:42:08 +08:00
2026-07-15 21:42:08 +08:00
2026-07-15 21:42:08 +08:00
2026-07-15 21:42:08 +08:00
2026-06-17 13:24:03 +08:00
2026-07-10 20:30:00 +08:00
2026-06-12 22:58:28 +08:00
2026-06-22 11:58:29 +08:00
2026-07-15 10:47:49 +08:00
2026-07-15 10:47:49 +08:00
2026-07-13 10:19:50 +08:00
2026-06-17 13:24:03 +08:00