Versions in this module Expand all Collapse all v0 v0.12.1 Aug 2, 2026 Changes in this version + const MaxDownloadSize + const MaxInlineBinarySize + const MaxInlineTextSize + const MaxShareSize + var ErrTooLarge = errors.New("artifact is too large") + type Kind string + const KindAuto + const KindBinary + const KindCSV + const KindCode + const KindHTML + const KindImage + const KindMarkdown + const KindPDF + const KindText + type Loader func(sessionID string) ([]Record, error) + type Record struct + Focus bool + ID string + Kind Kind + MediaType string + RelativePath string + Revision int + SessionID string + Size int64 + Status Status + Title string + UpdatedAt time.Time + type Recorder interface + RecordArtifact func(Record) error + type RegisterRequest struct + Focus bool + Kind Kind + RelativePath string + SessionID string + Title string + Workspace string + type Service struct + func NewService(loader Loader, now func() time.Time) *Service + func (s *Service) List(ctx context.Context, sessionID, workspace string) ([]Record, error) + func (s *Service) Open(ctx context.Context, sessionID, workspace, artifactID string) (Record, *os.File, error) + func (s *Service) Register(ctx context.Context, req RegisterRequest, recorder Recorder) (Record, error) + func (s *Service) Resolve(ctx context.Context, sessionID, workspace, artifactID string) (Record, string, error) + type Status string + const StatusAvailable + const StatusError + const StatusMissing + const StatusTooLarge + const StatusUnsupported