"""Tool instance request/response schemas.""" from pydantic import BaseModel, Field class CreateInstanceRequest(BaseModel): """Request body for creating a tool instance.""" model_config = {"extra": "ignore"} tool_type_id: str = Field(description="UUID of the tool type to instantiate") display_name: str | None = Field( default=None, description="Optional display name for the instance" ) config_profile_id: str | None = Field( default=None, description="Optional config profile ID to apply to the instance" ) class SessionItemResponse(BaseModel): """Lightweight session summary for sidebar and dashboard.""" model_config = {"extra": "ignore"} id: str = Field(description="Session (tool instance) ID") display_name: str = Field(description="Display name of the session") tool_type_name: str = Field(description="Name of the tool type") tool_icon: str | None = Field(default=None, description="Icon URL for the tool type") tool_type_interfaces: list[str] = Field(default_factory=list, description="Supported interfaces") repository_name: str = Field(description="Name of the repository") repository_id: str = Field(description="Repository ID") project_name: str = Field(description="Name of the project") project_id: str = Field(description="Project ID") status: str = Field(description="Current status") url: str | None = Field(default=None, description="Access URL") class SessionListResponse(BaseModel): """Response wrapping a list of session summaries.""" sessions: list[SessionItemResponse]