34 lines
1.1 KiB
Go
34 lines
1.1 KiB
Go
package protocol
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// MessageType represents the type of ACP message
|
|
type MessageType string
|
|
|
|
const (
|
|
// Agent → Backend message types
|
|
MessageTypeProgress MessageType = "progress"
|
|
MessageTypeLog MessageType = "log"
|
|
MessageTypeResult MessageType = "result"
|
|
MessageTypeError MessageType = "error"
|
|
MessageTypeStatus MessageType = "status"
|
|
MessageTypeHeartbeat MessageType = "heartbeat"
|
|
MessageTypeInputRequired MessageType = "input_required" // Agent requests input from user
|
|
|
|
// Backend → Agent message types
|
|
MessageTypeControl MessageType = "control" // Control commands (pause, resume, stop)
|
|
MessageTypeInputResponse MessageType = "input_response" // Response to input_required
|
|
)
|
|
|
|
// Message represents an ACP protocol message
|
|
type Message struct {
|
|
Type MessageType `json:"type"`
|
|
Timestamp time.Time `json:"timestamp"`
|
|
AgentID string `json:"agent_id"`
|
|
TaskID string `json:"task_id"`
|
|
SessionID string `json:"session_id"`
|
|
Data map[string]interface{} `json:"data"`
|
|
}
|