registry

package
v0.6.2 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultModelKey = "genkit/defaultModel"
	PromptDirKey    = "genkit/promptDir"
)

Variables

This section is empty.

Functions

func ParseActionKey added in v0.6.2

func ParseActionKey(key string) (actionType, provider, name string, err error)

ParseActionKey parses an action key in the format "/<action_type>/<provider>/<name>" or "/<action_type>/<name>". Returns the action type, provider (empty string if not present), and name. If the key format is invalid, returns an error.

Types

type ActionResolver added in v0.6.2

type ActionResolver = func(actionType, provider, name string) error

ActionResolver is a function type for resolving actions dynamically

type Environment

type Environment string

An Environment is the execution context in which the program is running.

const (
	EnvironmentDev  Environment = "dev"  // development: testing, debugging, etc.
	EnvironmentProd Environment = "prod" // production: user data, SLOs, etc.
)

func CurrentEnvironment

func CurrentEnvironment() Environment

CurentEnvironment returns the currently active environment.

type Registry

type Registry struct {
	ActionResolver ActionResolver // Function for resolving actions dynamically.
	Dotprompt      *dotprompt.Dotprompt
	// contains filtered or unexported fields
}

Registry holds all registered actions and associated types, and provides methods to register, query, and look up actions.

func New

func New() (*Registry, error)

New creates a new root registry.

func (*Registry) DefineHelper added in v0.5.0

func (r *Registry) DefineHelper(name string, fn any) error

DefineHelper adds a helper function to the dotprompt instance

func (*Registry) DefinePartial added in v0.5.0

func (r *Registry) DefinePartial(name string, source string) error

DefinePartial adds the partial to the list of partials to the dotprompt instance

func (*Registry) ListActions

func (r *Registry) ListActions() []any

ListActions returns a list of all registered actions. This includes actions from both the current registry and its parent hierarchy. Child registry actions take precedence over parent actions with the same key.

func (*Registry) ListPlugins added in v0.6.0

func (r *Registry) ListPlugins() []any

ListPlugins returns a list of all registered plugins.

func (*Registry) ListValues added in v0.5.0

func (r *Registry) ListValues() map[string]any

ListValues returns a list of values of all registered values. This includes values from both the current registry and its parent hierarchy. Child registry values take precedence over parent values with the same key.

func (*Registry) LookupAction

func (r *Registry) LookupAction(key string) any

LookupAction returns the action for the given key. It first checks the current registry, then falls back to the parent if not found.

func (*Registry) LookupPlugin added in v0.3.0

func (r *Registry) LookupPlugin(name string) any

LookupPlugin returns the plugin for the given name. It first checks the current registry, then falls back to the parent if not found. Returns nil if the plugin is not found in the registry hierarchy.

func (*Registry) LookupValue added in v0.3.0

func (r *Registry) LookupValue(name string) any

LookupValue returns the value for the given name. It first checks the current registry, then falls back to the parent if not found. Returns nil if the value is not found in the registry hierarchy.

func (*Registry) NewChild added in v0.6.0

func (r *Registry) NewChild() *Registry

NewChild creates a new child registry that inherits from this registry. Child registries are cheap to create and will fall back to the parent for lookups if a value is not found in the child.

func (*Registry) RegisterAction

func (r *Registry) RegisterAction(key string, action any)

RegisterAction records the action in the registry. It panics if an action with the same type, provider and name is already registered.

func (*Registry) RegisterPlugin added in v0.3.0

func (r *Registry) RegisterPlugin(name string, p any)

RegisterPlugin records the plugin in the registry. It panics if a plugin with the same name is already registered.

func (*Registry) RegisterSpanProcessor

func (r *Registry) RegisterSpanProcessor(sp sdktrace.SpanProcessor)

func (*Registry) RegisterValue added in v0.3.0

func (r *Registry) RegisterValue(name string, value any)

RegisterValue records an arbitrary value in the registry. It panics if a value with the same name is already registered.

func (*Registry) ResolveAction added in v0.6.2

func (r *Registry) ResolveAction(key string) any

ResolveAction looks up an action by key. If the action is not found, it attempts dynamic resolution. Returns the action if found, or nil if not found.

func (*Registry) TracingState

func (r *Registry) TracingState() *tracing.State

Jump to

Keyboard shortcuts

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