computer-host/internal/store/store.go
Hari e2f9e54970 host daemon (#2)
* feat: host daemon api scaffold

* fix: use sparse writes

* fix: unix socket length (<108 bytes)
2026-04-08 11:23:19 -04:00

30 lines
1.3 KiB
Go

package store
import (
"context"
"errors"
"github.com/getcompanion-ai/computer-host/internal/model"
contracthost "github.com/getcompanion-ai/computer-host/contract"
)
var ErrNotFound = errors.New("store: not found")
type Store interface {
PutArtifact(context.Context, model.ArtifactRecord) error
GetArtifact(context.Context, contracthost.ArtifactRef) (*model.ArtifactRecord, error)
ListArtifacts(context.Context) ([]model.ArtifactRecord, error)
CreateMachine(context.Context, model.MachineRecord) error
GetMachine(context.Context, contracthost.MachineID) (*model.MachineRecord, error)
ListMachines(context.Context) ([]model.MachineRecord, error)
UpdateMachine(context.Context, model.MachineRecord) error
DeleteMachine(context.Context, contracthost.MachineID) error
CreateVolume(context.Context, model.VolumeRecord) error
GetVolume(context.Context, contracthost.VolumeID) (*model.VolumeRecord, error)
ListVolumes(context.Context) ([]model.VolumeRecord, error)
UpdateVolume(context.Context, model.VolumeRecord) error
DeleteVolume(context.Context, contracthost.VolumeID) error
UpsertOperation(context.Context, model.OperationRecord) error
ListOperations(context.Context) ([]model.OperationRecord, error)
DeleteOperation(context.Context, contracthost.MachineID) error
}