Versions in this module Expand all Collapse all v0 v0.4.0 Oct 22, 2026 Changes in this version + const ArchiveRetention + const DefaultAgent + const DefaultRetention + const DirName + const LockFileName + const ManifestName + const ManifestVersion + var ErrIDExists = errors.New("artifact id already exists") + func ArchiveSessionArtifacts(sess *session.Session) (archiveDir string, count int, err error) + func ClearFocus(sess *session.Session) error + func DefaultDestination(artifactType, sourceName string) string + func DetectType(path string) string + func DirForSession(sess *session.Session) string + func DiscoverAssetBundle(sess *session.Session, primary string) []string + func EncodeManifest(m *Manifest, sessionName string) ([]byte, error) + func EnsureArtifactDir(base string) error + func EnsureTheme(sess *session.Session) error + func FocusedID(sess *session.Session) string + func GenerateID(artifactType, title string, t time.Time) string + func ManifestPath(sess *session.Session) string + func NormalizeFolderPath(folder string) (string, error) + func ParseReferencedAssets(file string, data []byte) []string + func ParseTags(s string) []string + func ReferencedAssets(sess *session.Session, a Artifact) []string + func SafeJoin(base, rel string) (string, error) + func SafeToOpenExternally(file string) bool + func SaveManifest(sess *session.Session, m *Manifest) error + func SecureExistingPath(base, rel string) (string, error) + func SecureNewPath(base, rel string) (string, error) + func Slugify(s string) string + func SortNewestFirst(items []Artifact) + func ValidateArtifact(a Artifact) error + func ValidateManifest(m *Manifest) error + func ValidateRelativePath(p string) error + func ValidateRetention(r string) error + func ValidateType(t string) error + func WebPath(sessionName, file string) string + type AddOptions struct + Agent string + Destination string + Focus bool + Folder string + ID string + Now time.Time + Reader io.Reader + Retention string + Source string + Summary string + Tags []string + Title string + Type string + type Artifact struct + Agent string + Assets []string + Created time.Time + File string + Focus bool + Folder string + ID string + Retention string + Summary *string + Tags []string + Title string + Type string + func Add(sess *session.Session, opts AddOptions) (out Artifact, err error) + func AppendRegistered(m *Manifest, a Artifact) (Artifact, error) + func Filter(artifacts []Artifact, opts FilterOptions) []Artifact + func Find(m *Manifest, id string) (*Artifact, int) + func Remove(sess *session.Session, id string) (out Artifact, err error) + func ResolveFile(sess *session.Session, id string) (string, *Artifact, error) + func SetRetention(sess *session.Session, id, retention string) (out Artifact, err error) + func UpdateMetadata(sess *session.Session, id string, update MetadataUpdate) (out Artifact, err error) + type FilterOptions struct + Agent string + Folder string + Search string + Tag string + Type string + type ListItem struct + Path string + URL string + func WithComputedFields(sessionName string, artifacts []Artifact) []ListItem + type Manifest struct + Artifacts []Artifact + Session string + Version int + func LoadManifest(sess *session.Session) (*Manifest, error) + func NewManifest(sessionName string) *Manifest + func ParseManifest(data []byte, sessionName string) (*Manifest, error) + type MetadataUpdate struct + Focus *bool + Retention *string + Summary *string + Tags []string + TagsSet bool + Title *string + Type *string