resolver

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Dec 29, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AliasResolver

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

AliasResolver resolves named aliases to agent bundles

func (*AliasResolver) CanResolve

func (r *AliasResolver) CanResolve(ref string) bool

func (*AliasResolver) Resolve

func (r *AliasResolver) Resolve(ctx context.Context, ref string) (string, error)

type BuiltinResolver

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

BuiltinResolver resolves the builtin default agent

func (*BuiltinResolver) CanResolve

func (r *BuiltinResolver) CanResolve(ref string) bool

func (*BuiltinResolver) Resolve

func (r *BuiltinResolver) Resolve(ctx context.Context, ref string) (string, error)

type Channel

type Channel string

Channel represents the agent resolution channel

const (
	// ChannelLatest uses the latest stable agent from cache or GitHub
	ChannelLatest Channel = "latest"
	// ChannelBuiltin forces the use of the embedded builtin agent
	ChannelBuiltin Channel = "builtin"
	// ChannelPinned is a prefix for pinned versions (e.g., "pinned:agent-claude-v0.3.0")
	ChannelPinned Channel = "pinned:"
)

type ChannelResolver

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

ChannelResolver resolves agent bundles based on the configured channel

func NewChannelResolver

func NewChannelResolver(cacheDir string, channel string, repo string) *ChannelResolver

NewChannelResolver creates a new channel-based agent resolver

func (*ChannelResolver) CanResolve

func (r *ChannelResolver) CanResolve(ref string) bool

CanResolve returns true if the reference is empty (no explicit agent specified) This resolver should only be used when no explicit agent reference is provided

func (*ChannelResolver) Resolve

func (r *ChannelResolver) Resolve(ctx context.Context, ref string) (string, error)

Resolve resolves an agent bundle based on the configured channel

type FileResolver

type FileResolver struct{}

FileResolver resolves local file paths

func (*FileResolver) CanResolve

func (r *FileResolver) CanResolve(ref string) bool

func (*FileResolver) Resolve

func (r *FileResolver) Resolve(ctx context.Context, ref string) (string, error)

type HTTPResolver

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

HTTPResolver resolves HTTPS URLs to agent bundles

func (*HTTPResolver) CanResolve

func (r *HTTPResolver) CanResolve(ref string) bool

func (*HTTPResolver) Resolve

func (r *HTTPResolver) Resolve(ctx context.Context, ref string) (string, error)

type Registry

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

Registry holds all registered resolvers

func NewRegistry

func NewRegistry(cacheDir string) *Registry

NewRegistry creates a new resolver registry with default resolvers

func (*Registry) Resolve

func (r *Registry) Resolve(ctx context.Context, ref string) (string, error)

Resolve resolves an agent reference to a local bundle path

type Resolver

type Resolver interface {
	Resolve(ctx context.Context, ref string) (string, error)
	CanResolve(ref string) bool
}

Resolver interface defines how agent references are resolved to local paths

Jump to

Keyboard shortcuts

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