models

package
v0.0.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2025 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Agent

type Agent struct {
	ID              string     `json:"id" db:"id"`
	Name            string     `json:"name" db:"name"`
	Status          string     `json:"status" db:"status"` // active|idle|waiting_feedback|error
	CurrentTask     *string    `json:"current_task" db:"current_task"`
	Worktree        string     `json:"worktree" db:"worktree"`
	FilesChanged    int        `json:"files_changed" db:"files_changed"`
	LinesAdded      int        `json:"lines_added" db:"lines_added"`
	LinesRemoved    int        `json:"lines_removed" db:"lines_removed"`
	LastCommit      *time.Time `json:"last_commit" db:"last_commit"`
	Progress        int        `json:"progress" db:"progress"` // 0-100
	PendingQuestion *string    `json:"pending_question" db:"pending_question"`
	CreatedAt       time.Time  `json:"created_at" db:"created_at"`
	UpdatedAt       time.Time  `json:"updated_at" db:"updated_at"`
}

Agent represents an AI coding agent

type AgentStatus

type AgentStatus string

AgentStatus represents valid agent status values

const (
	AgentStatusActive          AgentStatus = "active"
	AgentStatusIdle            AgentStatus = "idle"
	AgentStatusWaitingFeedback AgentStatus = "waiting_feedback"
	AgentStatusError           AgentStatus = "error"
)

type AgentsListResponse

type AgentsListResponse struct {
	Agents []Agent `json:"agents"`
	ListResponse
}

AgentsListResponse represents the response for listing agents

type Command

type Command struct {
	ID          string     `json:"id" db:"id"`
	AgentID     string     `json:"agent_id" db:"agent_id"`
	Content     string     `json:"content" db:"content"`
	Type        string     `json:"type" db:"type"` // instruction|feedback|question
	Response    *string    `json:"response" db:"response"`
	Status      string     `json:"status" db:"status"` // sent|acknowledged|completed
	SentAt      time.Time  `json:"sent_at" db:"sent_at"`
	RespondedAt *time.Time `json:"responded_at" db:"responded_at"`
}

Command represents a command sent to an agent

type CommandStatus

type CommandStatus string

CommandStatus represents valid command status values

const (
	CommandStatusSent         CommandStatus = "sent"
	CommandStatusAcknowledged CommandStatus = "acknowledged"
	CommandStatusCompleted    CommandStatus = "completed"
)

type CommandType

type CommandType string

CommandType represents valid command types

const (
	CommandTypeInstruction CommandType = "instruction"
	CommandTypeFeedback    CommandType = "feedback"
	CommandTypeQuestion    CommandType = "question"
)

type CommandsListResponse

type CommandsListResponse struct {
	Commands []Command `json:"commands"`
}

CommandsListResponse represents the response for listing commands

type CreateAgentRequest

type CreateAgentRequest struct {
	Name     string `json:"name" validate:"required"`
	Worktree string `json:"worktree" validate:"required"`
}

CreateAgentRequest represents the request body for creating an agent

type CreateCommandRequest

type CreateCommandRequest struct {
	Content string `json:"content" validate:"required"`
	Type    string `json:"type" validate:"required"`
}

CreateCommandRequest represents the request body for creating a command

type CreateEventRequest

type CreateEventRequest struct {
	Type     string                 `json:"type" validate:"required"`
	Message  string                 `json:"message" validate:"required"`
	Metadata map[string]interface{} `json:"metadata,omitempty"`
}

CreateEventRequest represents the request body for creating an event

type CreateTaskRequest

type CreateTaskRequest struct {
	Title           string  `json:"title" validate:"required"`
	Description     string  `json:"description" validate:"required"`
	Priority        string  `json:"priority" validate:"required"`
	AssignedAgentID *string `json:"assigned_agent_id,omitempty"`
}

CreateTaskRequest represents the request body for creating a task

type CreateTodoRequest

type CreateTodoRequest struct {
	Text  string `json:"text" validate:"required"`
	Order int    `json:"order,omitempty"`
}

CreateTodoRequest represents the request body for creating a todo item

type ErrorDetail

type ErrorDetail struct {
	Code    string      `json:"code"`
	Message string      `json:"message"`
	Details interface{} `json:"details,omitempty"`
}

ErrorDetail represents error details

type ErrorResponse

type ErrorResponse struct {
	Error ErrorDetail `json:"error"`
}

ErrorResponse represents an error response

type Event

type Event struct {
	ID        string                 `json:"id" db:"id"`
	AgentID   string                 `json:"agent_id" db:"agent_id"`
	Type      string                 `json:"type" db:"type"` // start|commit|question|success|error|info|command
	Message   string                 `json:"message" db:"message"`
	Metadata  map[string]interface{} `json:"metadata" db:"metadata"`
	Timestamp time.Time              `json:"timestamp" db:"timestamp"`
}

Event represents an event in the agent's activity log

type EventType

type EventType string

EventType represents valid event types

const (
	EventTypeStart    EventType = "start"
	EventTypeCommit   EventType = "commit"
	EventTypeQuestion EventType = "question"
	EventTypeSuccess  EventType = "success"
	EventTypeError    EventType = "error"
	EventTypeInfo     EventType = "info"
	EventTypeCommand  EventType = "command"
)

type EventsListResponse

type EventsListResponse struct {
	Events []Event `json:"events"`
	ListResponse
}

EventsListResponse represents the response for listing events

type FleetStatus

type FleetStatus struct {
	TotalAgents           int `json:"total_agents"`
	ActiveAgents          int `json:"active_agents"`
	PendingTasks          int `json:"pending_tasks"`
	AgentsNeedingFeedback int `json:"agents_needing_feedback"`
	TotalFilesChanged     int `json:"total_files_changed"`
	TotalCommitsToday     int `json:"total_commits_today"`
}

FleetStatus represents the overall status of the agent fleet

type ListResponse

type ListResponse struct {
	Total  int `json:"total"`
	Limit  int `json:"limit"`
	Offset int `json:"offset"`
}

ListResponse represents a paginated list response

type RecentUpdatesResponse

type RecentUpdatesResponse struct {
	Updates []Event `json:"updates"`
}

RecentUpdatesResponse represents the response for recent updates

type Task

type Task struct {
	ID              string     `json:"id" db:"id"`
	Title           string     `json:"title" db:"title"`
	Description     string     `json:"description" db:"description"`
	AssignedAgentID *string    `json:"assigned_agent_id" db:"assigned_agent_id"`
	Status          string     `json:"status" db:"status"`     // pending|assigned|in_progress|completed|failed
	Priority        string     `json:"priority" db:"priority"` // low|medium|high|urgent
	CreatedAt       time.Time  `json:"created_at" db:"created_at"`
	AssignedAt      *time.Time `json:"assigned_at" db:"assigned_at"`
	CompletedAt     *time.Time `json:"completed_at" db:"completed_at"`
}

Task represents a task that can be assigned to agents

type TaskPriority

type TaskPriority string

TaskPriority represents valid task priority values

const (
	TaskPriorityLow    TaskPriority = "low"
	TaskPriorityMedium TaskPriority = "medium"
	TaskPriorityHigh   TaskPriority = "high"
	TaskPriorityUrgent TaskPriority = "urgent"
)

type TaskStatus

type TaskStatus string

TaskStatus represents valid task status values

const (
	TaskStatusPending    TaskStatus = "pending"
	TaskStatusAssigned   TaskStatus = "assigned"
	TaskStatusInProgress TaskStatus = "in_progress"
	TaskStatusCompleted  TaskStatus = "completed"
	TaskStatusFailed     TaskStatus = "failed"
)

type TasksListResponse

type TasksListResponse struct {
	Tasks []Task `json:"tasks"`
	ListResponse
}

TasksListResponse represents the response for listing tasks

type TodoItem

type TodoItem struct {
	ID          string     `json:"id" db:"id"`
	AgentID     string     `json:"agent_id" db:"agent_id"`
	Text        string     `json:"text" db:"text"`
	Completed   bool       `json:"completed" db:"completed"`
	Current     bool       `json:"current" db:"current"`
	Order       int        `json:"order" db:"order_num"`
	CreatedAt   time.Time  `json:"created_at" db:"created_at"`
	CompletedAt *time.Time `json:"completed_at" db:"completed_at"`
}

TodoItem represents a task item in an agent's todo list

type TodosListResponse

type TodosListResponse struct {
	Todos []TodoItem `json:"todos"`
}

TodosListResponse represents the response for listing todos

type UpdateAgentRequest

type UpdateAgentRequest struct {
	Name            *string `json:"name,omitempty"`
	Status          *string `json:"status,omitempty"`
	CurrentTask     *string `json:"current_task,omitempty"`
	Worktree        *string `json:"worktree,omitempty"`
	FilesChanged    *int    `json:"files_changed,omitempty"`
	LinesAdded      *int    `json:"lines_added,omitempty"`
	LinesRemoved    *int    `json:"lines_removed,omitempty"`
	Progress        *int    `json:"progress,omitempty"`
	PendingQuestion *string `json:"pending_question,omitempty"`
}

UpdateAgentRequest represents the request body for updating an agent

type UpdateCommandRequest

type UpdateCommandRequest struct {
	Response *string `json:"response,omitempty"`
	Status   *string `json:"status,omitempty"`
}

UpdateCommandRequest represents the request body for updating a command

type UpdateTaskRequest

type UpdateTaskRequest struct {
	Title           *string `json:"title,omitempty"`
	Description     *string `json:"description,omitempty"`
	Status          *string `json:"status,omitempty"`
	Priority        *string `json:"priority,omitempty"`
	AssignedAgentID *string `json:"assigned_agent_id,omitempty"`
}

UpdateTaskRequest represents the request body for updating a task

type UpdateTodoRequest

type UpdateTodoRequest struct {
	Text      *string `json:"text,omitempty"`
	Completed *bool   `json:"completed,omitempty"`
	Current   *bool   `json:"current,omitempty"`
}

UpdateTodoRequest represents the request body for updating a todo item

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL