Versions in this module Expand all Collapse all v0 v0.1.0 Jan 24, 2026 Changes in this version + const KEM_MLKEM1024 + const SchemaName + func BranchVolumeSpec() blobcache.VolumeSpec + func DefaultVolumeSpec(useSchema bool) blobcache.VolumeSpec + func MarshalKEMPrivateKey(out []byte, tag string, kem kem.PrivateKey) []byte + func MarshalKEMPublicKey(out []byte, tag string, kem kem.PublicKey) []byte + func MemberGroup(gid GroupID) gotorgop.Member + func MemberUnit(id inet256.ID) gotorgop.Member + func PKI() inet256.PKI + func Parse(x []byte) (statetrace.Root[Root], error) + func ParseKEMPrivateKey(data []byte) (kem.PrivateKey, error) + func ParseKEMPublicKey(data []byte) (kem.PublicKey, error) + func SchemaConstructor(params json.RawMessage, mkSchema schema.Factory) (schema.Schema, error) + type CID = blobcache.CID + type ChangeSet = gotorgop.ChangeSet + type Client struct + ActAs IdenPrivate + Blobcache blobcache.Service + Machine Machine + func (c *Client) AddMember(ctx context.Context, volh blobcache.Handle, gid GroupID, mem Member) error + func (c *Client) CreateAlias(ctx context.Context, nsh blobcache.Handle, name string, aux []byte) error + func (c *Client) DeleteAlias(ctx context.Context, volh blobcache.Handle, name string) error + func (c *Client) Do(ctx context.Context, volh blobcache.Handle, fn func(txb *Txn) error) error + func (c *Client) EnsureInit(ctx context.Context, volh blobcache.Handle, admins []IdentityUnit) error + func (c *Client) GetAlias(ctx context.Context, volh blobcache.Handle, name string) (*VolumeAlias, error) + func (c *Client) GetIDUnit(ctx context.Context, volh blobcache.Handle, id inet256.ID) (*IdentityUnit, error) + func (c *Client) Inspect(ctx context.Context, volh blobcache.Handle, name string) (*marks.Info, error) + func (c *Client) IntroduceSelf() gotorgop.ChangeSet + func (c *Client) ListAliases(ctx context.Context, volh blobcache.Handle, span marks.Span, limit int) ([]string, error) + func (c *Client) LookupGroup(ctx context.Context, volh blobcache.Handle, name string) (*gotorgop.Group, error) + func (c *Client) OpenAt(ctx context.Context, nsh blobcache.Handle, name string, actAs IdenPrivate, ...) (marks.Volume, error) + func (c *Client) PutAlias(ctx context.Context, volh blobcache.Handle, bent VolumeAlias, ...) error + type Delta gotorgop.ChangeSet + func (d Delta) Marshal(out []byte) []byte + type Group = gotorgop.Group + type GroupID = gotorgop.GroupID + type IDSet = map[inet256.ID]struct + type IdenPrivate struct + KEMPrivateKey kem.PrivateKey + SigPrivateKey inet256.PrivateKey + func GenerateIden() IdenPrivate + func (iden *IdenPrivate) GetID() inet256.ID + func (iden *IdenPrivate) Public() IdentityUnit + type IdentityUnit = gotorgop.IdentityUnit + func NewIDUnit(pubKey inet256.PublicKey, kemPub kem.PublicKey) IdentityUnit + type Machine struct + func New() Machine + func (m *Machine) AddMember(ctx context.Context, s stores.RW, x State, gid GroupID, member Member, ...) (*State, error) + func (m *Machine) AddRule(ctx context.Context, s stores.RW, state State, r *gotorgop.Rule) (*State, error) + func (m *Machine) AddVolume(ctx context.Context, s stores.RW, state State, entry VolumeEntry) (*State, error) + func (m *Machine) CanAnyDo(ctx context.Context, s stores.Reading, state State, actors IDSet, verb Verb, ...) (bool, error) + func (m *Machine) CanDo(ctx context.Context, s stores.Reading, state State, actor inet256.ID, ...) (bool, error) + func (m *Machine) DeleteAlias(ctx context.Context, s stores.RW, State State, name string) (*State, error) + func (m *Machine) DropIDUnit(ctx context.Context, s stores.RW, state State, id inet256.ID) (*State, error) + func (m *Machine) DropRule(ctx context.Context, s stores.RW, state State, ruleID CID) (State, error) + func (m *Machine) DropVolume(ctx context.Context, s stores.RW, state State, volOID blobcache.OID) (*State, error) + func (m *Machine) FindGroupPath(ctx context.Context, s stores.Reading, x State, id inet256.ID, target GroupID) ([]GroupID, error) + func (m *Machine) FindSecret(ctx context.Context, s stores.Reading, x State, actAs IdenPrivate, ...) (*gotorgop.Secret, uint8, error) + func (m *Machine) ForEachGroup(ctx context.Context, s stores.Reading, state State, ...) error + func (m *Machine) ForEachIDUnit(ctx context.Context, s stores.Reading, state State, ...) error + func (m *Machine) ForEachMembership(ctx context.Context, s stores.Reading, state State, gid *GroupID, ...) error + func (m *Machine) ForEachObligation(ctx context.Context, s stores.Reading, x State, hos *[32]byte, ...) error + func (m *Machine) ForEachRule(ctx context.Context, s stores.Reading, state State, fn func(rule Rule) error) error + func (m *Machine) ForEachUnitInGroup(ctx context.Context, s stores.Reading, state State, gid GroupID, ...) error + func (m *Machine) ForEachVolume(ctx context.Context, s stores.Reading, x State, ...) error + func (m *Machine) FulfillObligations(ctx context.Context, s stores.RW, x State, name string, ...) (*State, error) + func (m *Machine) GetAlias(ctx context.Context, s stores.Reading, state State, name string) (*gotorgop.VolumeAlias, error) + func (m *Machine) GetGroup(ctx context.Context, s stores.Reading, State State, groupID GroupID) (*Group, error) + func (m *Machine) GetGroupName(ctx context.Context, s stores.Reading, x State, name string) (*gotorgop.GroupID, error) + func (m *Machine) GetGroupSecret(ctx context.Context, s stores.Reading, state State, priv IdenPrivate, ...) (*gotorgop.Secret, error) + func (m *Machine) GetIDUnit(ctx context.Context, s stores.Reading, state State, id inet256.ID) (*IdentityUnit, error) + func (m *Machine) GetMembership(ctx context.Context, s stores.Reading, state State, group GroupID, mem Member) (*Membership, error) + func (m *Machine) GetRule(ctx context.Context, s stores.Reading, state State, cid CID) (Rule, error) + func (m *Machine) GetVolume(ctx context.Context, s stores.Reading, state State, volOID blobcache.OID) (*VolumeEntry, error) + func (m *Machine) GroupContains(ctx context.Context, s stores.Reading, state State, group GroupID, ...) (bool, error) + func (m *Machine) ListBranches(ctx context.Context, s stores.Reading, state State, span marks.Span, limit int) ([]gotorgop.VolumeAlias, error) + func (m *Machine) LookupGroup(ctx context.Context, s stores.Reading, state State, name string) (*Group, error) + func (m *Machine) New(ctx context.Context, s stores.RW, admins []IdentityUnit) (*statetrace.Root[Root], error) + func (m *Machine) NewTxn(prev statetrace.Root[Root], s schema.RW, actAs []IdenPrivate) *Txn + func (m *Machine) Open(ctx context.Context, s stores.Reading, x State, actAs IdenPrivate, ...) (*blobcache.LinkToken, VolumeConstructor, error) + func (m *Machine) OpenAt(ctx context.Context, s stores.Reading, x State, actAs IdenPrivate, name string, ...) (*blobcache.LinkToken, VolumeConstructor, error) + func (m *Machine) PutAlias(ctx context.Context, s stores.RW, state State, entry gotorgop.VolumeAlias, ...) (*State, error) + func (m *Machine) PutGroup(ctx context.Context, s stores.RW, state State, group Group) (*State, error) + func (m *Machine) PutGroupName(ctx context.Context, s stores.RW, state State, name string, ...) (*State, error) + func (m *Machine) PutIDUnit(ctx context.Context, s stores.Writing, state State, leaf IdentityUnit) (*State, error) + func (m *Machine) PutObligation(ctx context.Context, s stores.RW, state State, o *Obligation) (*State, error) + func (m *Machine) RekeyGroup(ctx context.Context, s stores.RW, state State, gid GroupID, ...) (*State, error) + func (m *Machine) RemoveMember(ctx context.Context, s stores.RW, state State, gid GroupID, mem Member) (*State, error) + func (m *Machine) ValidateChange(ctx context.Context, src stores.Reading, prev, next State, delta Delta) error + func (m *Machine) ValidateState(ctx context.Context, src stores.Reading, x State) error + type Member = gotorgop.Member + type Membership struct + EncryptedKEM []byte + Group GroupID + Member Member + func ParseMembership(k, v []byte) (*Membership, error) + func (m *Membership) Key(out []byte) []byte + func (m *Membership) Value(out []byte) []byte + type ObjectType = gotorgop.ObjectType + type Obligation struct + EncryptedSecret []byte + GroupID GroupID + HashOfSecret [32]byte + Ratchet uint8 + func ParseObligation(key []byte, value []byte) (*Obligation, error) + func (o *Obligation) Key(out []byte) []byte + func (o *Obligation) Value(out []byte) []byte + type Op = gotorgop.Op + type Root struct + Current State + Recent Delta + Version uint8 + func ParseRoot(data []byte) (Root, error) + func (r *Root) Unmarshal(data []byte) error + func (r Root) Marshal(out []byte) []byte + type Rule = gotorgop.Rule + type RuleID = gotorgop.RuleID + type Schema struct + func (s Schema) ValidateChange(ctx context.Context, change schema.Change) error + type Space struct + func NewSpace(client *Client, volh blobcache.Handle) *Space + func (bs *Space) Create(ctx context.Context, name string, md marks.Metadata) (*marks.Info, error) + func (bs *Space) Delete(ctx context.Context, name string) error + func (bs *Space) Inspect(ctx context.Context, name string) (*marks.Info, error) + func (bs *Space) List(ctx context.Context, span marks.Span, limit int) ([]string, error) + func (bs *Space) Open(ctx context.Context, name string) (*marks.Mark, error) + func (bs *Space) Set(ctx context.Context, name string, config marks.Metadata) error + type State struct + GroupNames gotkv.Root + Groups gotkv.Root + IDUnits gotkv.Root + Memberships gotkv.Root + Obligations gotkv.Root + Rules gotkv.Root + VolumeNames gotkv.Root + Volumes gotkv.Root + func (s *State) Unmarshal(data []byte) error + func (s State) Marshal(out []byte) []byte + type Txn struct + func (tx *Txn) AddMember(ctx context.Context, gid gotorgop.GroupID, member gotorgop.Member) error + func (tx *Txn) AddVolume(ctx context.Context, vent gotorgop.VolumeEntry) error + func (tx *Txn) ChangeSet(ctx context.Context, cs gotorgop.ChangeSet) error + func (tx *Txn) CreateIDUnit(ctx context.Context, unit IdentityUnit) error + func (tx *Txn) DeleteAlias(ctx context.Context, name string) error + func (tx *Txn) DropVolume(ctx context.Context, volid blobcache.OID) error + func (tx *Txn) Finish(ctx context.Context) (statetrace.Root[Root], error) + func (tx *Txn) LookupGroup(ctx context.Context, gname string) (*Group, error) + func (tx *Txn) PutAlias(ctx context.Context, entry VolumeAlias, secret *gotorgop.Secret) error + type Verb = gotorgop.Verb + type Volume struct + func (v *Volume) BeginTx(ctx context.Context, txp blobcache.TxParams) (volumes.Tx, error) + type VolumeAlias = gotorgop.VolumeAlias + type VolumeConstructor = func(nsVol, innerVol marks.Volume) *Volume + type VolumeEntry = gotorgop.VolumeEntry