capabilities

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package capabilities provides the core-owned capability negotiation boundary.

Package capabilities provides the core-owned capability negotiation boundary.

It wraps the canonical lipapi negotiation types with a package-level home for future capability expansion, cross-plugin capability aggregation, and capability-aware routing integration.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AdmitCandidate

AdmitCandidate evaluates one candidate against call requirements before upstream work.

func Require

Require derives required capabilities from a canonical call and negotiates against the given backend capabilities.

Types

type BackendCapsFunc

type BackendCapsFunc func(ctx context.Context, cand routing.AttemptCandidate, call lipapi.Call) lipapi.BackendCaps

BackendCapsFunc resolves caps for a single backend id; used to build MapResolver at composition.

type CandidateFacts

type CandidateFacts struct {
	Caps               lipapi.BackendCaps
	TransportCaps      lipapi.BackendTransportCaps
	ReplaySupport      lipapi.ReasoningReplaySupport
	DialectSupport     lipapi.DialectSupport
	ProjectionTarget   lipapi.LegacyProjectionTarget
	FrozenRequirements *lipapi.ProtocolRequirements
}

CandidateFacts carries resolved backend facts used for pre-network candidate admission.

type DefaultNegotiator

type DefaultNegotiator struct{}

DefaultNegotiator delegates to the canonical lipapi.Negotiate function.

func (DefaultNegotiator) Negotiate

type FailoverRequirementSet

type FailoverRequirementSet struct {
	Required lipapi.ProtocolRequirements
}

FailoverRequirementSet retains the complete requirement set that every failover candidate must satisfy.

func NewFailoverRequirementSet

func NewFailoverRequirementSet(call lipapi.Call) FailoverRequirementSet

NewFailoverRequirementSet derives the requirement set from the baseline call.

func NewFailoverRequirementSetFromRequirements

func NewFailoverRequirementSetFromRequirements(req lipapi.ProtocolRequirements) FailoverRequirementSet

NewFailoverRequirementSetFromRequirements constructs a FailoverRequirementSet directly from static metadata ProtocolRequirements without requiring a lipapi.Call (Requirements 7, 8, 19).

func (FailoverRequirementSet) CandidateMatchesFailoverRequirements

func (f FailoverRequirementSet) CandidateMatchesFailoverRequirements(supported lipapi.ProtocolRequirements, replay lipapi.ReasoningReplaySupport) bool

CandidateMatchesFailoverRequirements reports whether candidate support satisfies the baseline requirement set.

type MapResolver

type MapResolver map[string]BackendCapsFunc

MapResolver dispatches to a per-backend-id function (typically wrapping per-plugin ResolveCaps shims from the executor backend seam in internal/core/execbackend).

func (MapResolver) DescribeCandidate

func (m MapResolver) DescribeCandidate(ctx context.Context, cand routing.AttemptCandidate, call lipapi.Call) lipapi.BackendCaps

DescribeCandidate implements Resolver.

type Negotiator

type Negotiator interface {
	Negotiate(ctx context.Context, required []lipapi.Capability, backend lipapi.BackendCaps) lipapi.NegotiationResult
}

Negotiator compares required capabilities against a backend's declared set. The default implementation delegates to lipapi.Negotiate.

type Resolver

type Resolver interface {
	DescribeCandidate(ctx context.Context, cand routing.AttemptCandidate, call lipapi.Call) lipapi.BackendCaps
}

Resolver resolves effective backend capabilities for one routing candidate before upstream negotiation (requirement 7.1). Composition wires a registry-backed implementation without importing concrete backend plugins from core orchestration.

Jump to

Keyboard shortcuts

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