ac6bd3304d
- Update OpenCode compose template with web server on port 3000 - Add default_port=3000 and interfaces=[terminal, web] to OpenCode seed data - Remove hardcoded 8080 fallback in tunnel creation - Fail gracefully when tool type has no default_port configured - Update frontend ToolType API to include default_port, category, interfaces - Add port, category, and interfaces fields to tool type creation form - Display port and interfaces in tool type cards - Create migration 0012 to make default_port non-nullable - Set default_port values for existing built-in tool types - Quality gates: typecheck ✓, build ✓, Python syntax ✓
1.7 KiB
1.7 KiB
1. Tool Type Port Configuration
- 1.1 Update ToolType model to make
default_portrequired (non-nullable) - 1.2 Add validation in tool type API to reject missing
default_port - 1.3 Add compose template validation to verify port is exposed in
portssection - 1.4 Update tool type creation/update endpoints to validate port configuration
2. OpenCode Web Server
- 2.1 Update OpenCode compose template to run a web server on port 3000
- 2.2 Add
default_port: 3000to OpenCode seed data - 2.3 Update OpenCode
interfacesto["terminal", "web"] - 2.4 Create a simple web terminal HTML page served by OpenCode container
3. Tunnel Port Fix
- 3.1 Update tunnel creation to use
tool_type.default_portinstead of hardcoded 8080 - 3.2 Ensure tunnel creation fails gracefully if port is not defined
- 3.3 Remove fallback to port 8080 in tunnel creation
4. Frontend Updates
- 4.1 Update instance list to show both "Open" and "Terminal" buttons for dual-interface tools
- 4.2 Update ToolType interface in frontend to include
default_port - 4.3 Update tool type creation form to require port input
5. Database Migration
- 5.1 Create Alembic migration to make
default_portnon-nullable - 5.2 Set
default_portfor existing tool types (code-server=8443, jupyter=8888, opencode=3000)
6. Testing & Quality Gates
- 6.1 Test creating tool type without port fails validation
- 6.2 Test creating tool type with port mismatch fails validation
- 6.3 Test OpenCode instance creates tunnel on port 3000
- 6.4 Run backend quality gates (ruff, mypy)
- 6.5 Run frontend quality gates (typecheck, lint, build)
- 6.6 Commit and push changes