Documentation
¶
Overview ¶
Package souls discovers principal-owned lesser souls and manages local incorporation bindings.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrTrustNotConfigured indicates the instance trust base URL is unavailable. ErrTrustNotConfigured = errors.New("trust not configured") // ErrSoulNotAvailable indicates a soul is not available to the current authenticated principal. ErrSoulNotAvailable = errors.New("soul not available") // ErrSoulAlreadyBound indicates the target soul is already incorporated elsewhere. ErrSoulAlreadyBound = errors.New("soul already bound") // ErrBodyAlreadyHasSoul indicates the target local body already has a soul. ErrBodyAlreadyHasSoul = errors.New("body already has soul") )
Functions ¶
This section is empty.
Types ¶
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service resolves principal-bound souls for a Lesser instance and manages explicit incorporation bindings.
func NewService ¶
func NewService(accountRepo accountRepository, instanceRepo instanceRepository, cfg *config.Config, logger *zap.Logger) *Service
NewService creates a new soul service.
func (*Service) Incorporate ¶
Incorporate explicitly binds a soul to the authenticated local body.
type Soul ¶
type Soul struct {
AgentID string
Domain string
LocalID string
Wallet string
PrincipalAddress string
Status string
LifecycleStatus string
SelfDescriptionVersion *int
Capabilities []string
MintTxHash string
MintedAt *time.Time
UpdatedAt *time.Time
Bound bool
BoundUsername string
BoundPrincipalAddress string
BoundAt time.Time
BoundUpdatedAt time.Time
}
Soul represents a host-discovered soul plus local binding state.
Click to show internal directories.
Click to hide internal directories.