Skip to content

feat: implement core tool categories -- web, database, terminal/shell #1034

@Aureliolo

Description

@Aureliolo

Summary

Implement the three highest-priority tool categories for agent use. Consolidates #212 (web tools), #213 (database tools), and #214 (terminal/shell tools).

Tool categories

Web tools (formerly #212)

  • HTTP GET/POST/PUT/DELETE requests with configurable headers, auth, timeouts
  • Web search integration (abstracted provider)
  • HTML parsing and content extraction
  • URL validation and SSRF prevention (leverage existing allowlist infrastructure)

Database tools (formerly #213)

  • SQL query execution (read-only by default, write with explicit approval)
  • Schema inspection (list tables, describe columns)
  • Query result formatting
  • Connection pooling and timeout management

Terminal/shell tools (formerly #214)

  • Command execution in sandboxed environment
  • Working directory management
  • Output capture and streaming
  • Exit code and error handling
  • Integration with existing sandbox infrastructure

Design Reference

  • Tools design page: docs/design/operations.md (tool execution model)
  • Sandbox infrastructure: src/synthorg/tools/sandbox_factory.py
  • Tool registry: src/synthorg/tools/registry.py

Dependencies

Metadata

Metadata

Assignees

No one assigned

    Labels

    prio:mediumShould do, but not blockingscope:medium1-3 days of workspec:toolsDESIGN_SPEC Section 11 - Tool & Capability Systemtype:featureNew feature implementationv0.7Minor version v0.7v0.7.2Patch release v0.7.2

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions