fix: OpenCode instances fail with 'no port configured' error
For terminal-only tools like OpenCode, default_port is 0 which is falsy in Python. The code incorrectly treated port 0 as 'not configured' and marked the instance as error. Now we only check if tool_type exists, and default to port 0. Terminal tools skip tunnel creation anyway.
This commit is contained in:
@@ -736,17 +736,16 @@ async def start_instance(
|
||||
|
||||
# Get tool type for default port
|
||||
tool_type = await session.get(ToolType, instance.tool_type_id)
|
||||
if not tool_type or not tool_type.default_port:
|
||||
logger.error("Tool type %s has no default_port configured. Cannot create tunnel.",
|
||||
instance.tool_type_id)
|
||||
if not tool_type:
|
||||
logger.error("Tool type %s not found", instance.tool_type_id)
|
||||
instance.status = "error"
|
||||
await session.commit()
|
||||
return {
|
||||
"status": "error",
|
||||
"error": f"Tool type '{tool_type.name if tool_type else 'unknown'}' has no port configured",
|
||||
"error": f"Tool type '{instance.tool_type_id}' not found",
|
||||
}
|
||||
|
||||
instance_port = tool_type.default_port
|
||||
instance_port = tool_type.default_port or 0
|
||||
logger.info("Tool type for instance %s: name=%s, default_port=%s, interface_type=%s",
|
||||
instance.id, tool_type.name, instance_port, tool_type.interface_type)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user