#756 Agent tool catalog: wire http/db/email (+shell) into run_goal with framework-injected credentials

closed high Created 2026-06-21 00:52 · Updated 2026-06-21 00:52

Description

Edit
Added enterprise/tools/agent_catalog.py build_agent_tools(catalog, config): maps friendly keys (shell/http/email/db) to LLM-facing JSON schemas + {tool, fixed}, where fixed kwargs (connection_config, allow_internal) are framework-injected and NEVER exposed to the model. run_goal gained tool_catalog + tool_config params; dispatch resolves {tool, fixed} entries and calls func(ctx, **{**fixed, **llm_args}). db is omitted unless a connection_config is supplied. Templates + MCP embedded DSL now use tool_catalog=['shell','http','email'] with all three in approval_required_tools (HITL-gated). Validated end-to-end on demo via hw_k1_ key: http (GET api.github.com/zen -> real text), email (correct send_email call, gated, REJECTED -> no send), db (SELECT 1 -> 1, connection_config injected), shell. ENTERPRISE FOLLOW-UPS: (1) move DB connection_config to Vault (currently inline in the workflow def -> password visible); (2) scope/parameterize SQL (db_query currently accepts arbitrary SQL); (3) #750 at-least-once applies to side-effecting http POST/email. Relates #749.

Comments

Loading comments...

Context

Loading context...

Audit History

View All
Loading audit history...