PRD-35: Technical Specification
Part 1: API Contracts
1.1 Automatos Credential Resolution API
Endpoint: POST /api/credentials/resolve
{
"tenant_id": "550e8400-e29b-41d4-a716-446655440000",
"tool_name": "github",
"credential_type": "github_api", // Optional, can resolve by tool_name
"service_name": "unified-adapter",
"environment": "production" // Optional, defaults to "production"
}1.2 Automatos Tool Enablement APIs
Endpoint: GET /api/tools/available
Endpoint: POST /api/tools/enable
Endpoint: DELETE /api/tools/{adapter_tool_id}/disable
1.3 Agent Tool Assignment APIs
Endpoint: GET /api/agents/{agent_id}/tools
Endpoint: POST /api/agents/{agent_id}/tools
Endpoint: DELETE /api/agents/{agent_id}/tools/{adapter_tool_id}
Endpoint: PUT /api/agents/{agent_id}/tools/batch
1.4 Adapter MCP Execution API
Endpoint: POST /mcp (on Adapter, via Context Forge)
Part 2: Agent-Tool Assignment Flow
2.1 UI Flow: Tools Settings Page
2.2 UI Flow: Agent Configuration
2.3 Runtime Flow: Tool Execution
2.4 Integration with UnifiedToolExecutor
2.5 Updated ToolRegistry
Part 3: Database Migrations
Migration: Add Tool Assignment Tables
Part 4: Summary Checklist
API Implementation
Database
Backend Services
Frontend
Adapter Updates
Testing
Part 5: Next Steps - Bulk Tool Registration
Phase 1: Tool Catalog Population (Priority: HIGH)
1.1 Tool Categories to Add:
Category
Example Tools
Credential Type
1.2 Bulk Registration Script
1.3 Registration Data Structure
Phase 2: Credential Type Expansion
Phase 3: Hosted Credential Mode
Phase 4: Tool Discovery & Recommendation
Appendix: Bugs Fixed in This Iteration
Bug 1: Operation Parameter Not Passed to Adapter
Bug 2: POST Parameters Sent as Query String
Bug 3: Slack API Errors Not Detected
Bug 4: Credential Update Creating Duplicates
Bug 5: Query Params Not Sent to Credentials API
Last updated

