starter

package
v0.1.0-preview.4 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package starter provides runtime starter contracts and compatibility aliases for portable integration metadata in annotation/sdk/starter.

Index

Constants

View Source
const (
	// Schema is the current starter manifest wire schema.
	Schema = startersdk.Schema
	// APIVersion is the compiler/runtime contract implemented by this Spice line.
	APIVersion = startersdk.APIVersion

	// ActivationExplicitConstructor requires application or generated code to
	// call a declared constructor.
	ActivationExplicitConstructor = startersdk.ActivationExplicitConstructor
	// ActivationExplicitAnnotation requires a declared qualified annotation and
	// compiler selection of its declared entrypoints.
	ActivationExplicitAnnotation = startersdk.ActivationExplicitAnnotation
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Activation

type Activation = startersdk.Activation

Portable starter metadata is owned by annotation/sdk/starter. These aliases preserve the pre-extraction runtime import path while starter packages move into independently versioned repositories.

type ActivationMode

type ActivationMode = startersdk.ActivationMode

Portable starter metadata is owned by annotation/sdk/starter. These aliases preserve the pre-extraction runtime import path while starter packages move into independently versioned repositories.

type AnnotationSpec

type AnnotationSpec = startersdk.AnnotationSpec

Portable starter metadata is owned by annotation/sdk/starter. These aliases preserve the pre-extraction runtime import path while starter packages move into independently versioned repositories.

type ArgumentSpec

type ArgumentSpec = startersdk.ArgumentSpec

Portable starter metadata is owned by annotation/sdk/starter. These aliases preserve the pre-extraction runtime import path while starter packages move into independently versioned repositories.

type AutoBean

type AutoBean struct {
	Factory    any
	Name       string
	Aliases    []string
	Qualifiers []string
	Primary    bool
	Fallback   bool
	Order      int64
}

AutoBean describes one direct-call default provider. Factory must be an exported package-level function in the same autoconfigure package and must use the ordinary Spice provider signature contract.

type AutoConfiguration

type AutoConfiguration struct {
	// Review identifies committed maintenance, licensing, and security review
	// material for the library integration.
	Review string
	// Beans lists exported factories owned by the descriptor package.
	Beans []AutoBean
}

AutoConfiguration describes library-owned default beans selected by an explicit blank import of a package whose final path element is "autoconfigure".

A descriptor package exposes exactly one function with this signature:

func SpiceAutoConfiguration() starter.AutoConfiguration {
	return starter.AutoConfiguration{
		Review: "docs/dependency-review.md",
		Beans: []starter.AutoBean{
			{Factory: DefaultClient, Fallback: true},
		},
	}
}

Spice statically decodes the returned composite literal. It never calls the function, evaluates package initializers, or scans packages at runtime.

type Dependency

type Dependency = startersdk.Dependency

Portable starter metadata is owned by annotation/sdk/starter. These aliases preserve the pre-extraction runtime import path while starter packages move into independently versioned repositories.

type EntryPoint

type EntryPoint = startersdk.EntryPoint

Portable starter metadata is owned by annotation/sdk/starter. These aliases preserve the pre-extraction runtime import path while starter packages move into independently versioned repositories.

type FeatureSpec

type FeatureSpec = startersdk.FeatureSpec

Portable starter metadata is owned by annotation/sdk/starter. These aliases preserve the pre-extraction runtime import path while starter packages move into independently versioned repositories.

type Manifest

type Manifest = startersdk.Manifest

Portable starter metadata is owned by annotation/sdk/starter. These aliases preserve the pre-extraction runtime import path while starter packages move into independently versioned repositories.

func Must

func Must(spec Spec) Manifest

Must constructs a manifest or panics for package-owned invalid metadata.

func New

func New(spec Spec) (Manifest, error)

New validates and deterministically normalizes a starter specification.

func Parse

func Parse(content []byte) (Manifest, error)

Parse strictly decodes and validates one starter manifest.

type OptionSpec

type OptionSpec = startersdk.OptionSpec

Portable starter metadata is owned by annotation/sdk/starter. These aliases preserve the pre-extraction runtime import path while starter packages move into independently versioned repositories.

type Spec

type Spec = startersdk.Spec

Portable starter metadata is owned by annotation/sdk/starter. These aliases preserve the pre-extraction runtime import path while starter packages move into independently versioned repositories.

Jump to

Keyboard shortcuts

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