| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package common
- import (
- "time"
- "google.golang.org/grpc/health/grpc_health_v1"
- )
- // CoreInstanceInfo represents a discovered Cline instance
- // This is the canonical definition used across all CLI packages
- type CoreInstanceInfo struct {
- // Full core address including port
- Address string `json:"address"`
- // Host bridge service address that core holds (host is ALWAYS running on localhost FYI)
- HostServiceAddress string `json:"host_port"`
- Status grpc_health_v1.HealthCheckResponse_ServingStatus `json:"status"`
- LastSeen time.Time `json:"last_seen"`
- ProcessPID int `json:"process_pid,omitempty"`
- Version string `json:"version,omitempty"`
- }
- func (c *CoreInstanceInfo) CorePort() int {
- _, port, _ := ParseHostPort(c.Address)
- return port
- }
- func (c *CoreInstanceInfo) HostPort() int {
- _, port, _ := ParseHostPort(c.HostServiceAddress)
- return port
- }
- func (c *CoreInstanceInfo) StatusString() string {
- return c.Status.String()
- }
- // LockRow represents a row in the locks table
- type LockRow struct {
- ID int64 `json:"id"`
- HeldBy string `json:"held_by"`
- LockType string `json:"lock_type"`
- LockTarget string `json:"lock_target"`
- LockedAt int64 `json:"locked_at"`
- }
- // InstancesOutput represents the JSON output format for instance listing
- type InstancesOutput struct {
- DefaultInstance string `json:"default_instance"`
- CoreInstances []CoreInstanceInfo `json:"instances"`
- }
- type DefaultCoreInstance struct {
- Address string `json:"default_instance"`
- LastUpdated string `json:"last_updated"`
- }
|