acp

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2026 License: MIT Imports: 0 Imported by: 0

Documentation

Overview

Package acp defines shared ACP (Agent Communication Protocol) types used across server and CLI modules.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AgentManifest

type AgentManifest struct {
	Name               string           `json:"name"`
	Description        string           `json:"description,omitempty"`
	InputContentTypes  []string         `json:"input_content_types,omitempty"`
	OutputContentTypes []string         `json:"output_content_types,omitempty"`
	Metadata           ManifestMetadata `json:"metadata,omitempty"`
}

AgentManifest describes an ACP-compatible agent.

type CapabilityDef

type CapabilityDef struct {
	Name        string `json:"name"`
	Description string `json:"description,omitempty"`
}

CapabilityDef describes a capability.

type CreateRunRequest

type CreateRunRequest struct {
	AgentName string    `json:"agent_name"`
	SessionID string    `json:"session_id,omitempty"`
	Input     []Message `json:"input"`
	Mode      string    `json:"mode"` // sync, async, stream
}

CreateRunRequest is the request body for creating an ACP run.

type ManifestMetadata

type ManifestMetadata struct {
	Capabilities []CapabilityDef `json:"capabilities,omitempty"`
	Domains      []string        `json:"domains,omitempty"`
	Tags         []string        `json:"tags,omitempty"`
}

ManifestMetadata holds structured metadata for an agent manifest.

type Message

type Message struct {
	Role      string        `json:"role"` // user, agent, agent/{name}
	Parts     []MessagePart `json:"parts"`
	CreatedAt string        `json:"created_at,omitempty"`
}

Message represents an ACP message.

type MessagePart

type MessagePart struct {
	ContentType     string         `json:"content_type"`
	Content         string         `json:"content,omitempty"`
	ContentURL      string         `json:"content_url,omitempty"`
	ContentEncoding string         `json:"content_encoding,omitempty"`
	Metadata        map[string]any `json:"metadata,omitempty"`
}

MessagePart represents a part of an ACP message.

type Run

type Run struct {
	AgentName string    `json:"agent_name"`
	RunID     string    `json:"run_id"`
	SessionID string    `json:"session_id,omitempty"`
	Status    RunStatus `json:"status"`
	Input     []Message `json:"input,omitempty"`
	Output    []Message `json:"output,omitempty"`
	Error     *RunError `json:"error,omitempty"`
	CreatedAt string    `json:"created_at"`
	UpdatedAt string    `json:"updated_at"`
}

Run represents an ACP run.

type RunError

type RunError struct {
	Code    string         `json:"code"`
	Message string         `json:"message"`
	Data    map[string]any `json:"data,omitempty"`
}

RunError holds error details for a failed run.

type RunStatus

type RunStatus string

RunStatus represents the lifecycle status of an ACP run.

const (
	RunStatusCreated    RunStatus = "created"
	RunStatusInProgress RunStatus = "in-progress"
	RunStatusAwaiting   RunStatus = "awaiting"
	RunStatusCompleted  RunStatus = "completed"
	RunStatusFailed     RunStatus = "failed"
	RunStatusCancelling RunStatus = "cancelling"
	RunStatusCancelled  RunStatus = "cancelled"
)

Jump to

Keyboard shortcuts

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