Documentation
¶
Overview ¶
Package agent provides AI and autonomous agent authentication capabilities (reserved module).
Index ¶
Constants ¶
View Source
const ( ModelAgents = "agents" ModelAgentCredentials = "agent_credentials" )
View Source
const PluginID = "agent"
Variables ¶
View Source
var ( ErrNotFound = errors.New("agent: not found") ErrAgentInactive = errors.New("agent: agent is inactive") ErrInvalidToken = errors.New("agent: token is invalid or expired") ErrInvalidOwnerID = errors.New("agent: owner_id is required") ErrInvalidName = errors.New("agent: name is required") ErrInvalidTTL = errors.New("agent: credential ttl must be positive") )
Functions ¶
func RegisterSchema ¶
RegisterSchema registers agent and credential models into the unified schema.
Types ¶
type Agent ¶
type Agent struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
OwnerID string `json:"owner_id"`
Scopes []string `json:"scopes"`
Metadata map[string]string `json:"metadata,omitempty"`
Active bool `json:"active"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
Agent represents an autonomous AI agent or MCP client identity.
type AgentManager ¶
type AgentManager interface {
CreateAgent(ctx context.Context, ownerID, name, description string, scopes []string, metadata map[string]string) (*Agent, error)
GetAgent(ctx context.Context, id string) (*Agent, error)
ListAgents(ctx context.Context, ownerID string) ([]*Agent, error)
UpdateAgent(ctx context.Context, a *Agent) error
DeleteAgent(ctx context.Context, id string) error
IssueCredential(ctx context.Context, agentID string, ttl time.Duration) (string, *Credential, error)
ValidateCredential(ctx context.Context, token string) (*Agent, *Credential, error)
RevokeCredential(ctx context.Context, credentialID string) error
}
type Credential ¶
type Credential struct {
ID string `json:"id"`
AgentID string `json:"agent_id"`
TokenHash string `json:"token_hash"`
ExpiresAt time.Time `json:"expires_at"`
CreatedAt time.Time `json:"created_at"`
}
Credential represents a short-lived token issued to an agent.
Click to show internal directories.
Click to hide internal directories.