Documentation
¶
Index ¶
- type ClaimRegisterer
- type ClaimRequest
- type DiscoverRequest
- type DiscoverResult
- type Discovery
- type EndpointReq
- type HeartbeatResponse
- type RegisterRequest
- type RegistryClient
- func (c *RegistryClient) ClaimRegister(ctx context.Context, req ClaimRequest) (*agentcard.Card, error)
- func (c *RegistryClient) Close() error
- func (c *RegistryClient) Deregister(ctx context.Context, agentID string) error
- func (c *RegistryClient) Discover(ctx context.Context, req DiscoverRequest) ([]*agentcard.Card, error)
- func (c *RegistryClient) Heartbeat(ctx context.Context, agentID string, status string) (*HeartbeatResponse, error)
- func (c *RegistryClient) Register(ctx context.Context, req RegisterRequest) (*agentcard.Card, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClaimRegisterer ¶
type ClaimRegisterer interface {
ClaimRegister(ctx context.Context, req ClaimRequest) (*agentcard.Card, error)
}
ClaimRegisterer is an optional interface for discovery backends that support claim-token-based registration.
type ClaimRequest ¶
type ClaimRequest struct {
Token string `json:"token"`
Name string `json:"name"`
PublicKey string `json:"public_key"`
Capabilities []string `json:"capabilities,omitempty"`
Protocols []string `json:"protocols"`
Endpoint EndpointReq `json:"endpoint"`
Signature string `json:"signature"`
Metadata map[string]string `json:"metadata,omitempty"`
}
ClaimRequest holds the parameters for claim-token-based agent registration.
type DiscoverRequest ¶
type DiscoverRequest struct {
Capabilities []string `json:"capabilities"`
Protocol string `json:"protocol,omitempty"`
MaxResults int `json:"max_results,omitempty"`
}
DiscoverRequest holds the parameters for agent discovery.
type DiscoverResult ¶
DiscoverResult is a simplified view of a discovered agent.
type Discovery ¶
type Discovery interface {
Register(ctx context.Context, req RegisterRequest) (*agentcard.Card, error)
Deregister(ctx context.Context, agentID string) error
Heartbeat(ctx context.Context, agentID, status string) (*HeartbeatResponse, error)
Discover(ctx context.Context, req DiscoverRequest) ([]*agentcard.Card, error)
Close() error
}
Discovery abstracts agent registration and discovery. Implementations include RegistryClient (centralized server), DHTDiscovery (decentralized), and CompositeDiscovery (hybrid).
type EndpointReq ¶
type EndpointReq struct {
URL string `json:"url"`
Host string `json:"host,omitempty"`
Port int `json:"port,omitempty"`
Transport string `json:"transport,omitempty"`
}
EndpointReq holds endpoint details for registration.
type HeartbeatResponse ¶
HeartbeatResponse holds the response from a heartbeat request.
type RegisterRequest ¶
type RegisterRequest struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Version string `json:"version,omitempty"`
PublicKey string `json:"public_key,omitempty"`
Capabilities []string `json:"capabilities,omitempty"`
Endpoint EndpointReq `json:"endpoint"`
Protocols []string `json:"protocols"`
Metadata map[string]string `json:"metadata,omitempty"`
}
RegisterRequest holds the parameters for agent registration.
type RegistryClient ¶
type RegistryClient struct {
// contains filtered or unexported fields
}
RegistryClient provides methods for interacting with the peerclaw-server registry API (register, deregister, heartbeat, discover).
func NewRegistryClient ¶
func NewRegistryClient(baseURL string, logger *slog.Logger) *RegistryClient
NewRegistryClient creates a new registry client.
func (*RegistryClient) ClaimRegister ¶
func (c *RegistryClient) ClaimRegister(ctx context.Context, req ClaimRequest) (*agentcard.Card, error)
ClaimRegister registers the agent using a claim token. The token itself serves as authentication — no API key or bearer token is needed.
func (*RegistryClient) Close ¶
func (c *RegistryClient) Close() error
Close is a no-op for RegistryClient (satisfies the Discovery interface).
func (*RegistryClient) Deregister ¶
func (c *RegistryClient) Deregister(ctx context.Context, agentID string) error
Deregister removes the agent from the platform.
func (*RegistryClient) Discover ¶
func (c *RegistryClient) Discover(ctx context.Context, req DiscoverRequest) ([]*agentcard.Card, error)
Discover finds agents by capabilities on the platform.
func (*RegistryClient) Heartbeat ¶
func (c *RegistryClient) Heartbeat(ctx context.Context, agentID string, status string) (*HeartbeatResponse, error)
Heartbeat sends a heartbeat to the platform.
func (*RegistryClient) Register ¶
func (c *RegistryClient) Register(ctx context.Context, req RegisterRequest) (*agentcard.Card, error)
Register registers the agent with the platform.