Versions in this module Expand all Collapse all v0 v0.1.0 Sep 7, 2026 Changes in this version + const DefaultMaxPartitions + const MaxLogSnapshotBytes + const MaxOutputBytes + const MaxPartitionAttributes + const MaxPartitionKeyBytes + const MaxPartitionListBytes + const MaxPartitionObjectBytes + const OutputNamesIndexEnvPrefix + const PartitionEnv + const PartitionJSONEnv + var ErrFanInAggregateTooLarge = errors.New("task: fan-in aggregate exceeds the output size cap") + func AggregateFanInOutputs(producer string, byPartition map[string]map[string]string, ...) (map[string]string, error) + func BuildOutputEnv(predecessorOutputs map[string]map[string]string) (map[string]string, error) + func EncodeOutputNamesIndex(outputs map[string]string) (string, error) + func EncodePartitions(parts []Partition) ([]byte, error) + func IsOutputRef(value string) bool + func NormalizeDependsOn(key string, deps []string) ([]string, error) + func NormalizeStepName(name string) string + func OutputNamesIndexEnv(stepName string) string + func ParseBranches(logs io.Reader) ([]string, error) + func ParseOutput(logs io.Reader) (map[string]string, error) + type FanInAggregateTooLargeError struct + Cap int + Producer string + Size int + func (e *FanInAggregateTooLargeError) Error() string + func (e *FanInAggregateTooLargeError) Unwrap() error + type Markers struct + Branches []string + LogText string + LogTruncated bool + Output map[string]string + Partitions []Partition + func CaptureMarkers(logs io.Reader, maxSnapshotBytes int) (*Markers, error) + func CaptureMarkersWithLimits(logs io.Reader, maxSnapshotBytes int, maxRefBytes int64, maxPartitions int) (*Markers, error) + func CaptureMarkersWithRefLimit(logs io.Reader, maxSnapshotBytes int, maxRefBytes int64) (*Markers, error) + func ParseMarkers(logs io.Reader) (*Markers, error) + func ParseMarkersWithLimits(logs io.Reader, maxRefBytes int64, maxPartitions int) (*Markers, error) + type OutputRef struct + Digest string + Path string + Ref int + Size int64 + func DecodeOutputRef(value string) (OutputRef, bool) + func (r OutputRef) Encode() string + type Partition struct + Attributes map[string]string + DependsOn []string + Fingerprint string + Key string + func NormalizePartitions(parts []Partition) ([]Partition, error) + func (p Partition) CanonicalJSON() ([]byte, error) + func (p Partition) CanonicalObject() map[string]any + func (p Partition) EqualPayload(other Partition) bool + type PartitionError struct + Msg string + func (e *PartitionError) Error() string + type PartitionGraph struct + Dependents map[string][]string + Indegree map[string]int + MaxDepth int + Order []string + func ValidatePartitionGraph(parts []Partition) (*PartitionGraph, error) + type SchemaViolation struct + Key string + Message string + func ValidateOutput(output map[string]string, schemaRaw map[string]any) ([]SchemaViolation, error) + func ValidateOutputSchemaBytes(output map[string]string, schemaBytes []byte) ([]SchemaViolation, error)