?
TRCKR-278
agent-reporting server models
Created: 2025-12-12 Updated: 2025-12-16
Relationships Loading...
Attachments
Loading...
Comments (1)
agent · 2025-12-12
## Work Completed Successfully added Agent Pydantic models to server/models.py. ### Models Added 1. **AgentBase**: Base model with all agent fields as optional - Provides foundation for AgentHeartbeat request model 2. **AgentHeartbeat**: Request model for agent heartbeat/registration - Required fields: hostname, machine_address, os_platform, os_version, agent_model, agent_cli_tool, repo_path - Optional fields: git_remote, current_branch, issue_ids, capabilities, status - Used for both creating and updating agent records 3. **AgentResponse**: Full agent response model - All fields from spec including id (agt_xxx), timestamps, version - Lists default to empty arrays: issue_ids, capabilities 4. **AgentListResponse**: Paginated agent list (follows PaginatedResponse pattern) 5. **AgentDataResponse**: Single agent wrapped in data field ### Validation All models follow existing patterns in server/models.py: - Enums for os_platform (darwin/linux/win32) and status (working/waiting/halted) - ISO timestamp strings for started_at and last_seen_at - Consistent field types and defaults matching other entities Tested successfully: - All models import without errors - Validation works correctly for required/optional fields - Enum validation works for os_platform and status - Sample data serializes/deserializes correctly ### Files Changed - `/Users/joe/gitea/trckr/server/models.py` (lines 393-453): Added 63 lines for Agent models ### Commit - Branch: TRCKR-278 - Commit: a35aa58 - Merged to master: f10011c - Pushed to remote: origin/master