services

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: May 14, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SchemaVersion     = "vango.runtime.services.v1.0"
	ArtifactKind      = "vango_runtime_services"
	DefaultOutputPath = ".vango/runtime/vango_runtime_services.json"
)

Variables

This section is empty.

Functions

func ApplyHostBindingValidation

func ApplyHostBindingValidation(a *Artifact, path string) error

func MarshalDeterministic

func MarshalDeterministic(a *Artifact) ([]byte, error)

func Write

func Write(path string, a *Artifact) error

Types

type Analysis

type Analysis struct {
	Mode              string                   `json:"mode"`
	Status            artifact.AnalysisStatus  `json:"status"`
	SupportLevel      artifact.SupportLevel    `json:"support_level"`
	ProofLevel        artifact.ProofLevel      `json:"proof_level"`
	RedactionStatus   artifact.RedactionStatus `json:"redaction_status,omitempty"`
	BindingValidation BindingValidation        `json:"binding_validation"`
	UnsupportedReason string                   `json:"unsupported_reason,omitempty"`
}

type App

type App struct {
	ID      string `json:"id,omitempty"`
	Name    string `json:"name,omitempty"`
	Module  string `json:"module,omitempty"`
	AppRoot string `json:"app_root"`
}

type Artifact

type Artifact struct {
	SchemaVersion         string                          `json:"schema_version"`
	ArtifactID            string                          `json:"artifact_id"`
	ArtifactKind          string                          `json:"artifact_kind"`
	Producer              artifact.Producer               `json:"producer"`
	Toolchain             Toolchain                       `json:"toolchain"`
	App                   App                             `json:"app"`
	Analysis              Analysis                        `json:"analysis"`
	Services              []Service                       `json:"services"`
	HostCapabilities      []HostCapability                `json:"host_capabilities_required"`
	OperationRequirements map[string]OperationRequirement `json:"operation_requirements"`
	OperationReadiness    []artifact.OperationReadiness   `json:"operation_readiness"`
	Inputs                []artifact.ArtifactRef          `json:"inputs"`
	Outputs               []artifact.ArtifactRef          `json:"outputs"`
	References            map[string]artifact.ArtifactRef `json:"references"`
	Diagnostics           []artifact.Diagnostic           `json:"diagnostics"`
}

func Build

func Build(opts BuildOptions) (*Artifact, error)

type BindingValidation

type BindingValidation struct {
	Supported           bool                `json:"supported"`
	Executed            bool                `json:"executed"`
	ProofLevel          artifact.ProofLevel `json:"proof_level"`
	MissingServices     []string            `json:"missing_services,omitempty"`
	MissingCapabilities []string            `json:"missing_capabilities,omitempty"`
	InvalidServices     []string            `json:"invalid_services,omitempty"`
	UnsupportedReason   string              `json:"unsupported_reason,omitempty"`
}

type BuildOptions

type BuildOptions struct {
	ProjectRoot         string
	Name                string
	Module              string
	AppVersion          string
	ToolVersion         string
	Commit              string
	BuildTags           []string
	GeneratorInputs     []string
	OutputPath          string
	SessionResumeWindow string
	BlobEnabled         bool
	BlobProvider        string
	DeclaredServices    []DeclaredService
	RouteContract       *routecontract.Contract
	RouteContractPath   string
}

type DeclaredService

type DeclaredService struct {
	ID                   string
	Name                 string
	Class                string
	Required             bool
	RequiredFor          []string
	Scopes               []string
	EnvRefs              []string
	ProviderProfile      string
	AcceptableProviders  []string
	RequiredCapabilities []string
	Degradation          []string
}

type HostCapability

type HostCapability struct {
	ID          string              `json:"id"`
	Name        string              `json:"name"`
	Required    bool                `json:"required"`
	RequiredFor []string            `json:"required_for"`
	Origin      artifact.Origin     `json:"origin"`
	ProofLevel  artifact.ProofLevel `json:"proof_level"`
	SourceRef   artifact.SourceRef  `json:"source_ref,omitempty"`
}

type OperationRequirement

type OperationRequirement struct {
	Services         []string `json:"services"`
	HostCapabilities []string `json:"host_capabilities"`
}

type Service

type Service struct {
	ID                   string              `json:"id"`
	Name                 string              `json:"name"`
	Class                string              `json:"class"`
	Required             bool                `json:"required"`
	RequiredFor          []string            `json:"required_for"`
	Scopes               []string            `json:"scopes"`
	EnvRefs              []string            `json:"env_refs"`
	ProviderProfile      string              `json:"provider_profile,omitempty"`
	AcceptableProviders  []string            `json:"acceptable_providers,omitempty"`
	RequiredCapabilities []string            `json:"required_capabilities,omitempty"`
	Degradation          []string            `json:"degradation"`
	Origin               artifact.Origin     `json:"origin"`
	ProofLevel           artifact.ProofLevel `json:"proof_level"`
	SourceRef            artifact.SourceRef  `json:"source_ref,omitempty"`
}

type Toolchain

type Toolchain struct {
	VangoVersion                 string `json:"vango_version"`
	ToolVersion                  string `json:"tool_version"`
	RuntimeServicesSchemaVersion string `json:"runtime_services_schema_version"`
}

type ValidationOptions

type ValidationOptions struct {
	ProjectRoot      string
	RequireArtifacts bool
}

type ValidationResult

type ValidationResult struct {
	Valid       bool                  `json:"valid"`
	Diagnostics []artifact.Diagnostic `json:"diagnostics"`
}

func Validate

func Validate(a *Artifact, opts ValidationOptions) ValidationResult

Jump to

Keyboard shortcuts

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