registry

package
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewPanicableAction added in v0.18.0

func NewPanicableAction(a core.Action) core.Action

func NewPanicableIntegration added in v0.5.0

func NewPanicableIntegration(i core.Integration) core.Integration

func NewPanicableTrigger

func NewPanicableTrigger(t core.Trigger) core.Trigger

func RegisterAction added in v0.18.0

func RegisterAction(name string, a core.Action)

func RegisterIntegration added in v0.5.0

func RegisterIntegration(name string, i core.Integration)

func RegisterIntegrationWithWebhookHandler added in v0.7.0

func RegisterIntegrationWithWebhookHandler(name string, i core.Integration, h core.WebhookHandler)

func RegisterTrigger

func RegisterTrigger(name string, t core.Trigger)

func RegisterWidget added in v0.0.18

func RegisterWidget(name string, w core.Widget)

Types

type HTTPContext added in v0.7.0

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

func NewHTTPContext added in v0.7.0

func NewHTTPContext(options HTTPOptions) (*HTTPContext, error)

func (*HTTPContext) Do added in v0.7.0

func (c *HTTPContext) Do(request *http.Request) (*http.Response, error)

func (*HTTPContext) InvalidatePolicyCache added in v0.15.0

func (c *HTTPContext) InvalidatePolicyCache()

type HTTPOptions added in v0.7.0

type HTTPOptions struct {
	BlockedHosts     []string
	PrivateIPRanges  []string
	MaxResponseBytes int64
	PolicyResolver   func() (HTTPPolicy, error)
	PolicyCacheTTL   time.Duration
}

type HTTPPolicy added in v0.15.0

type HTTPPolicy struct {
	BlockedHosts    []string
	PrivateIPRanges []string
}

type IntegrationRegistration added in v0.7.0

type IntegrationRegistration struct {
	Name           string
	Integration    core.Integration
	WebhookHandler core.WebhookHandler
}

type LimitedReadCloser added in v0.7.0

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

func (*LimitedReadCloser) Close added in v0.7.0

func (r *LimitedReadCloser) Close() error

func (*LimitedReadCloser) Read added in v0.7.0

func (r *LimitedReadCloser) Read(p []byte) (int, error)

type PanicableAction added in v0.18.0

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

* PanicableAction wraps a Action implementation * around logic for handling panics.

func (*PanicableAction) Cancel added in v0.18.0

func (s *PanicableAction) Cancel(ctx core.ExecutionContext) (err error)

func (*PanicableAction) Cleanup added in v0.18.0

func (s *PanicableAction) Cleanup(ctx core.SetupContext) (err error)

func (*PanicableAction) Color added in v0.18.0

func (s *PanicableAction) Color() string

func (*PanicableAction) Configuration added in v0.18.0

func (s *PanicableAction) Configuration() []configuration.Field

func (*PanicableAction) Description added in v0.18.0

func (s *PanicableAction) Description() string

func (*PanicableAction) Documentation added in v0.18.0

func (s *PanicableAction) Documentation() string

func (*PanicableAction) ExampleOutput added in v0.18.0

func (s *PanicableAction) ExampleOutput() map[string]any

func (*PanicableAction) Execute added in v0.18.0

func (s *PanicableAction) Execute(ctx core.ExecutionContext) (err error)

func (*PanicableAction) HandleHook added in v0.18.0

func (s *PanicableAction) HandleHook(ctx core.ActionHookContext) (err error)

func (*PanicableAction) HandleWebhook added in v0.18.0

func (s *PanicableAction) HandleWebhook(ctx core.WebhookRequestContext) (status int, response *core.WebhookResponseBody, err error)

func (*PanicableAction) Hooks added in v0.18.0

func (s *PanicableAction) Hooks() []core.Hook

func (*PanicableAction) Icon added in v0.18.0

func (s *PanicableAction) Icon() string

func (*PanicableAction) Label added in v0.18.0

func (s *PanicableAction) Label() string

func (*PanicableAction) Name added in v0.18.0

func (s *PanicableAction) Name() string

* Non-panicking methods. * These are mostly definition methods, so they won't panic.

func (*PanicableAction) OnIntegrationMessage added in v0.18.0

func (s *PanicableAction) OnIntegrationMessage(ctx core.IntegrationMessageContext) (err error)

func (*PanicableAction) OutputChannels added in v0.18.0

func (s *PanicableAction) OutputChannels(config any) []core.OutputChannel

func (*PanicableAction) ProcessQueueItem added in v0.18.0

func (s *PanicableAction) ProcessQueueItem(ctx core.ProcessQueueContext) (id *uuid.UUID, err error)

func (*PanicableAction) Setup added in v0.18.0

func (s *PanicableAction) Setup(ctx core.SetupContext) (err error)

* Panicking methods. * These are where the action logic is implemented, * so they could panic, and if they do, the system shouldn't crash.

type PanicableIntegration added in v0.5.0

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

* PanicableIntegration wraps an Integration implementation * around logic for handling panics.

func (*PanicableIntegration) Actions added in v0.6.0

func (s *PanicableIntegration) Actions() []core.Action

func (*PanicableIntegration) Cleanup added in v0.6.0

func (*PanicableIntegration) Configuration added in v0.5.0

func (s *PanicableIntegration) Configuration() []configuration.Field

func (*PanicableIntegration) Description added in v0.5.0

func (s *PanicableIntegration) Description() string

func (*PanicableIntegration) HandleHook added in v0.18.0

func (s *PanicableIntegration) HandleHook(ctx core.IntegrationHookContext) (err error)

func (*PanicableIntegration) HandleRequest added in v0.5.0

func (s *PanicableIntegration) HandleRequest(ctx core.HTTPRequestContext)

func (*PanicableIntegration) Hooks added in v0.18.0

func (s *PanicableIntegration) Hooks() []core.Hook

func (*PanicableIntegration) Icon added in v0.5.0

func (s *PanicableIntegration) Icon() string

func (*PanicableIntegration) Instructions added in v0.5.0

func (s *PanicableIntegration) Instructions() string

func (*PanicableIntegration) Label added in v0.5.0

func (s *PanicableIntegration) Label() string

func (*PanicableIntegration) ListResources added in v0.5.0

func (s *PanicableIntegration) ListResources(resourceType string, ctx core.ListResourcesContext) (resources []core.IntegrationResource, err error)

func (*PanicableIntegration) Name added in v0.5.0

func (s *PanicableIntegration) Name() string

* Non-panicking methods. * These are mostly definition methods, so they won't panic.

func (*PanicableIntegration) Sync added in v0.5.0

func (s *PanicableIntegration) Sync(ctx core.SyncContext) (err error)

* Panicking methods. * These are where the integration logic is implemented, * so they could panic, and if they do, the system shouldn't crash.

func (*PanicableIntegration) Triggers added in v0.5.0

func (s *PanicableIntegration) Triggers() []core.Trigger

type PanicableTrigger

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

* PanicableTrigger wraps a Trigger implementation * around logic for handling panics.

func (*PanicableTrigger) Cleanup added in v0.7.0

func (s *PanicableTrigger) Cleanup(ctx core.TriggerContext) (err error)

func (*PanicableTrigger) Color

func (s *PanicableTrigger) Color() string

func (*PanicableTrigger) Configuration

func (s *PanicableTrigger) Configuration() []configuration.Field

func (*PanicableTrigger) Description

func (s *PanicableTrigger) Description() string

func (*PanicableTrigger) Documentation added in v0.1.6

func (s *PanicableTrigger) Documentation() string

func (*PanicableTrigger) ExampleData added in v0.0.45

func (s *PanicableTrigger) ExampleData() map[string]any

func (*PanicableTrigger) HandleHook added in v0.18.0

func (s *PanicableTrigger) HandleHook(ctx core.TriggerHookContext) (result map[string]any, err error)

func (*PanicableTrigger) HandleWebhook

func (s *PanicableTrigger) HandleWebhook(ctx core.WebhookRequestContext) (status int, response *core.WebhookResponseBody, err error)

func (*PanicableTrigger) Hooks added in v0.18.0

func (s *PanicableTrigger) Hooks() []core.Hook

func (*PanicableTrigger) Icon

func (s *PanicableTrigger) Icon() string

func (*PanicableTrigger) Label

func (s *PanicableTrigger) Label() string

func (*PanicableTrigger) Name

func (s *PanicableTrigger) Name() string

* Non-panicking methods. * These are mostly definition methods, so they won't panic.

func (*PanicableTrigger) OnIntegrationMessage added in v0.5.0

func (s *PanicableTrigger) OnIntegrationMessage(ctx core.IntegrationMessageContext) (err error)

func (*PanicableTrigger) Setup

func (s *PanicableTrigger) Setup(ctx core.TriggerContext) (err error)

* Panicking methods. * These are where the component logic is implemented, * so they could panic, and if they do, the system shouldn't crash.

type PanicableWebhookHandler added in v0.7.0

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

func NewPanicableWebhookHandler added in v0.7.0

func NewPanicableWebhookHandler(underlying core.WebhookHandler) *PanicableWebhookHandler

func (*PanicableWebhookHandler) Cleanup added in v0.7.0

func (*PanicableWebhookHandler) CompareConfig added in v0.7.0

func (h *PanicableWebhookHandler) CompareConfig(a, b any) (bool, error)

func (*PanicableWebhookHandler) Merge added in v0.8.0

func (h *PanicableWebhookHandler) Merge(current, requested any) (merged any, changed bool, err error)

func (*PanicableWebhookHandler) Setup added in v0.7.0

func (h *PanicableWebhookHandler) Setup(ctx core.WebhookHandlerContext) (metadata any, err error)

type Registry

type Registry struct {
	Encryptor       crypto.Encryptor
	Integrations    map[string]core.Integration
	WebhookHandlers map[string]core.WebhookHandler
	Actions         map[string]core.Action
	Triggers        map[string]core.Trigger
	Widgets         map[string]core.Widget
	// contains filtered or unexported fields
}

func NewRegistry

func NewRegistry(encryptor crypto.Encryptor, httpOptions HTTPOptions) (*Registry, error)

func (*Registry) ComponentType added in v0.18.0

func (r *Registry) ComponentType(name string) (string, error)

func (*Registry) FindActionHook added in v0.18.0

func (r *Registry) FindActionHook(actionName, hookName string) (core.Action, *core.Hook, error)

func (*Registry) FindConfigurableComponent added in v0.18.0

func (r *Registry) FindConfigurableComponent(name string) (core.Configurable, error)

func (*Registry) FindIntegrationHook added in v0.18.0

func (r *Registry) FindIntegrationHook(integrationName, hookName string) (core.Integration, *core.Hook, error)

func (*Registry) FindTriggerHook added in v0.18.0

func (r *Registry) FindTriggerHook(triggerName, hookName string) (core.Trigger, *core.Hook, error)

func (*Registry) GetAction added in v0.18.0

func (r *Registry) GetAction(name string) (core.Action, error)

func (*Registry) GetIntegration added in v0.5.0

func (r *Registry) GetIntegration(name string) (core.Integration, error)

func (*Registry) GetIntegrationAction added in v0.18.0

func (r *Registry) GetIntegrationAction(appName, actionName string) (core.Action, error)

func (*Registry) GetIntegrationTrigger added in v0.5.0

func (r *Registry) GetIntegrationTrigger(appName, triggerName string) (core.Trigger, error)

func (*Registry) GetTrigger

func (r *Registry) GetTrigger(name string) (core.Trigger, error)

func (*Registry) GetWebhookHandler added in v0.7.0

func (r *Registry) GetWebhookHandler(name string) (core.WebhookHandler, error)

func (*Registry) GetWidget added in v0.0.18

func (r *Registry) GetWidget(name string) (core.Widget, error)

func (*Registry) HTTPContext added in v0.7.0

func (r *Registry) HTTPContext() *HTTPContext

func (*Registry) Init

func (r *Registry) Init()

func (*Registry) IsCoreBlock added in v0.17.0

func (r *Registry) IsCoreBlock(name string) bool

func (*Registry) ListActions added in v0.18.0

func (r *Registry) ListActions() []core.Action

func (*Registry) ListIntegrations added in v0.5.0

func (r *Registry) ListIntegrations() []core.Integration

func (*Registry) ListTriggers

func (r *Registry) ListTriggers() []core.Trigger

func (*Registry) ListWidgets added in v0.0.18

func (r *Registry) ListWidgets() []core.Widget

Jump to

Keyboard shortcuts

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