discovery

package
v0.2.15 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2026 License: MPL-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MergeDiscoveryPreferences

func MergeDiscoveryPreferences(
	left,
	right spec.DiscoveryPreferences,
) (spec.DiscoveryPreferences, error)

func MergeDiscoveryProfile

func MergeDiscoveryProfile(
	base spec.DiscoveryProfile,
	additions spec.DiscoveryProfile,
) spec.DiscoveryProfile

MergeDiscoveryProfile merges feature-contributed conventions into a profile without creating duplicate locators or directory roots. An empty pattern list means all files and therefore dominates narrower include patterns.

func MergePatterns

func MergePatterns(left, right []string) []string

Types

type CollectionRefresher

type CollectionRefresher interface {
	PrepareRefresh(
		ctx context.Context,
		ref collection.CollectionRef,
	) (spec.Workspace, error)
}

type Descriptor

type Descriptor = definition.CollectionDefinition

Descriptor is the portable Collection Definition stored at .flexigpt/workspace.json. Its domain body contains Workspace discovery policy while its generic Members field contains relative or external member references.

type DescriptorLoader

type DescriptorLoader struct {
	// contains filtered or unexported fields
}

func NewDescriptorLoader

func NewDescriptorLoader(runtime source.Runtime) (*DescriptorLoader, error)

func (*DescriptorLoader) Load

func (l *DescriptorLoader) Load(
	ctx context.Context,
	value spec.Workspace,
) (observation DescriptorObservation, returnErr error)

type DescriptorObservation

type DescriptorObservation struct {
	Preferences            spec.DiscoveryPreferences
	SourceID               basespec.SourceID
	Generation             string
	ExpectedContentDigests map[basespec.Locator]cryptoutil.Digest
}

type Planner

type Planner struct {
	// contains filtered or unexported fields
}

func NewPlanner

func NewPlanner(
	profiles spec.DiscoveryProfiles,
	discoveryPolicyRevision string,
	decoderIDs ...basespec.DecoderID,
) (*Planner, error)

func (*Planner) Build

func (p *Planner) Build(
	value spec.Workspace,
	observation DescriptorObservation,
) (discovery.Plan, error)

type Refresher

type Refresher struct {
	// contains filtered or unexported fields
}

func NewRefresher

func NewRefresher(
	colRefresher CollectionRefresher,
	loader *DescriptorLoader,
	planner *Planner,
	runner refresh.Runner,
	policy artifact.Policy,
) (*Refresher, error)

func (*Refresher) Refresh

func (r *Refresher) Refresh(
	ctx context.Context,
	workspace collection.CollectionRef,
) (refresh.Result, error)

Jump to

Keyboard shortcuts

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