artifact

package
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 25, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package artifact defines the runtime-safe schema for multimodal artifacts.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Artifact

type Artifact struct {
	ID   string       `json:"id"`
	Kind ArtifactKind `json:"kind"`
	Ref  ArtifactRef  `json:"ref"`
	Meta ArtifactMeta `json:"meta,omitempty"`
}

Artifact is the first-class runtime representation of a multimodal object.

type ArtifactKind

type ArtifactKind string

ArtifactKind classifies the logical type of an artifact.

const (
	ArtifactKindImage    ArtifactKind = "image"
	ArtifactKindDocument ArtifactKind = "document"
	ArtifactKindAudio    ArtifactKind = "audio"
	ArtifactKindVideo    ArtifactKind = "video"
	ArtifactKindText     ArtifactKind = "text"
	ArtifactKindJSON     ArtifactKind = "json"
	ArtifactKindBinary   ArtifactKind = "binary"
)

type ArtifactMeta

type ArtifactMeta struct {
	MediaType string `json:"media_type,omitempty"`
	SizeBytes int64  `json:"size_bytes,omitempty"`
	Checksum  string `json:"checksum,omitempty"`
	Origin    string `json:"origin,omitempty"`
}

ArtifactMeta stores transport-safe metadata about an artifact.

type ArtifactRef

type ArtifactRef struct {
	Source     ArtifactSource `json:"source"`
	Path       string         `json:"path,omitempty"`
	URL        string         `json:"url,omitempty"`
	ArtifactID string         `json:"artifact_id,omitempty"`
	Kind       ArtifactKind   `json:"kind,omitempty"`
}

ArtifactRef points at the physical or logical location of an artifact.

func NewGeneratedRef

func NewGeneratedRef(id string, kind ArtifactKind) ArtifactRef

NewGeneratedRef references an artifact produced during runtime execution.

func NewLocalFileRef

func NewLocalFileRef(path string, kind ArtifactKind) ArtifactRef

NewLocalFileRef references an artifact stored on the local filesystem.

func NewURLRef

func NewURLRef(rawURL string, kind ArtifactKind) ArtifactRef

NewURLRef references an artifact available at a remote URL.

type ArtifactSource

type ArtifactSource string

ArtifactSource identifies how an artifact is referenced.

const (
	ArtifactSourceLocal     ArtifactSource = "local"
	ArtifactSourceURL       ArtifactSource = "url"
	ArtifactSourceGenerated ArtifactSource = "generated"
)

type CacheKey

type CacheKey string

CacheKey identifies a deterministic artifact-processing result.

func NewCacheKey

func NewCacheKey(tool string, params map[string]any, refs []ArtifactRef) CacheKey

NewCacheKey derives a stable cache key from tool name, params, and input artifacts.

type LineageEdge

type LineageEdge struct {
	Parent    ArtifactRef `json:"parent"`
	Child     ArtifactRef `json:"child"`
	Operation string      `json:"operation,omitempty"`
}

LineageEdge captures a derivation relationship between two artifacts.

type LineageGraph

type LineageGraph struct {
	Edges []LineageEdge `json:"edges,omitempty"`
}

LineageGraph stores derivation edges between runtime artifacts.

func (*LineageGraph) AddEdge

func (g *LineageGraph) AddEdge(parent, child ArtifactRef, operation string)

AddEdge records a derivation from parent to child.

func (LineageGraph) AncestorsOf

func (g LineageGraph) AncestorsOf(child ArtifactRef) []ArtifactRef

AncestorsOf returns the provenance chain from the direct parent upward.

func (LineageGraph) ChildrenOf

func (g LineageGraph) ChildrenOf(parent ArtifactRef) []ArtifactRef

ChildrenOf returns the direct derived artifacts for a given parent.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL