Documentation
¶
Overview ¶
Package plugin provides domain entities for the plugin system.
Index ¶
Constants ¶
View Source
const ( CapabilityOperations = "operations" CapabilityStepTypes = "step_types" CapabilityValidators = "validators" )
View Source
const ( ConfigTypeString = "string" ConfigTypeInteger = "integer" ConfigTypeBoolean = "boolean" )
View Source
const ( InputTypeString = "string" InputTypeInteger = "integer" InputTypeBoolean = "boolean" InputTypeArray = "array" InputTypeObject = "object" )
Variables ¶
View Source
var ErrNotImplemented = errors.New("not implemented")
View Source
var ValidCapabilities = []string{ CapabilityOperations, CapabilityStepTypes, CapabilityValidators, }
View Source
var ValidConfigTypes = []string{ ConfigTypeString, ConfigTypeInteger, ConfigTypeBoolean, }
View Source
var ValidInputTypes = []string{ InputTypeString, InputTypeInteger, InputTypeBoolean, InputTypeArray, InputTypeObject, }
View Source
var ValidValidationRules = []string{
"url",
"email",
}
Functions ¶
This section is empty.
Types ¶
type ConfigField ¶
type InputSchema ¶
type InputSchema struct {
Type string
Required bool
Default any
Description string
Validation string
}
func (*InputSchema) IsValidType ¶
func (i *InputSchema) IsValidType() bool
func (*InputSchema) Validate ¶
func (i *InputSchema) Validate() error
type Manifest ¶
type Manifest struct {
Name string
Version string
Description string
AWFVersion string
Author string
License string
Homepage string
Capabilities []string
Config map[string]ConfigField
}
func (*Manifest) HasCapability ¶
HasCapability checks if the plugin declares a specific capability.
type OperationResult ¶
func (*OperationResult) HasError ¶
func (r *OperationResult) HasError() bool
func (*OperationResult) IsSuccess ¶
func (r *OperationResult) IsSuccess() bool
type OperationSchema ¶
type OperationSchema struct {
Name string
Description string
Inputs map[string]InputSchema
Outputs []string
PluginName string
}
func (*OperationSchema) GetRequiredInputs ¶
func (o *OperationSchema) GetRequiredInputs() []string
func (*OperationSchema) Validate ¶
func (o *OperationSchema) Validate() error
type PluginInfo ¶
type PluginInfo struct {
Manifest *Manifest
Status PluginStatus
Type PluginType
Path string
Error error
LoadedAt int64
InitializedAt int64
Operations []string
StepTypes []string
}
func (*PluginInfo) CanLoad ¶
func (p *PluginInfo) CanLoad() bool
func (*PluginInfo) IsActive ¶
func (p *PluginInfo) IsActive() bool
type PluginState ¶
type PluginState struct {
Enabled bool `json:"enabled"`
Config map[string]any `json:"config,omitempty"`
DisabledAt int64 `json:"disabled_at,omitempty"`
SourceData map[string]any `json:"source_data,omitempty"`
}
func NewPluginState ¶
func NewPluginState() *PluginState
type PluginStatus ¶
type PluginStatus string
PluginStatus represents the lifecycle state of a plugin.
const ( StatusDiscovered PluginStatus = "discovered" // Found in plugins/ directory StatusLoaded PluginStatus = "loaded" // Manifest parsed successfully StatusInitialized PluginStatus = "initialized" // Init() completed StatusRunning PluginStatus = "running" // Active and serving requests StatusStopped PluginStatus = "stopped" // Shutdown() completed StatusFailed PluginStatus = "failed" // Error occurred StatusDisabled PluginStatus = "disabled" // Manually disabled by user StatusBuiltin PluginStatus = "builtin" // Built-in provider registered at startup )
type PluginType ¶
type PluginType string
PluginType distinguishes built-in providers from external plugins.
const ( PluginTypeBuiltin PluginType = "builtin" PluginTypeExternal PluginType = "external" )
Click to show internal directories.
Click to hide internal directories.