package app

import (
	"time"

	"github.com/tidbcloud/AgentTeam/internal/store/app/runtime"
)

// Machine is the machine shape expected by the web app client.
type Machine struct {
	ID              string
	Name            string
	Status          string
	APIKeyPrefix    string
	CanManage       bool
	Hostname        string
	OS              string
	DaemonVersion   string
	Runtimes        []string
	RuntimeDefaults map[string]runtime.RuntimeDefaults
	CreatedAt       time.Time
	CreatedByUserID string
}

// AgentInstance describes the current runtime instance of an app agent.
type AgentInstance struct {
	ID             string
	MachineID      string
	SessionID      string
	Status         string
	Activity       string
	ActivityDetail string
	SourceKind     string
	SourceRef      string
	StartedAt      time.Time
	LastSeenAt     time.Time
}
