actions

package
v0.29.0 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2026 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Action

type Action interface {
	Name() string
	Execute(ctx context.Context, session agents.AgentSessionContext, input Input) (any, error)
}

Action executes one superplane_app action value.

type AutoLayoutInput

type AutoLayoutInput struct {
	Enabled *bool    `json:"enabled,omitempty"`
	Scope   string   `json:"scope,omitempty"`
	NodeIDs []string `json:"node_ids,omitempty"`
}

AutoLayoutInput configures optional backend auto-layout for draft updates.

type Dependencies

type Dependencies struct {
	Encryptor      crypto.Encryptor
	Registry       *componentregistry.Registry
	GitProvider    gitprovider.Provider
	WebhookBaseURL string
	AuthService    authorization.Authorization
	UsageService   usage.Service
}

Dependencies are backend services shared by canvas actions.

type Input

type Input struct {
	Action              string            `json:"action"`
	CanvasID            string            `json:"canvas_id,omitempty"`
	VersionID           string            `json:"version_id,omitempty"`
	DraftVersionID      string            `json:"draft_version_id,omitempty"`
	IncludeConsole      bool              `json:"include_console,omitempty"`
	IncludeIntegrations bool              `json:"include_integrations,omitempty"`
	IncludeCanvasYAML   bool              `json:"include_canvas_yaml,omitempty"`
	ConsoleYAML         string            `json:"console_yaml,omitempty"`
	PatchOperations     []PatchOperation  `json:"patch_operations,omitempty"`
	AutoLayout          *AutoLayoutInput  `json:"auto_layout,omitempty"`
	IntegrationID       string            `json:"integration_id,omitempty"`
	ResourceType        string            `json:"resource_type,omitempty"`
	Parameters          map[string]string `json:"parameters,omitempty"`
	Resource            string            `json:"resource,omitempty"`
	Namespace           string            `json:"namespace,omitempty"`
	NodeID              string            `json:"node_id,omitempty"`
	EventID             string            `json:"event_id,omitempty"`
	ExecutionID         string            `json:"execution_id,omitempty"`
	RunID               string            `json:"run_id,omitempty"`
	Limit               uint32            `json:"limit,omitempty"`
	Before              string            `json:"before,omitempty"`
	States              []string          `json:"states,omitempty"`
	Results             []string          `json:"results,omitempty"`
	Path                string            `json:"path,omitempty"`
	Paths               []string          `json:"paths,omitempty"`
	Content             string            `json:"content,omitempty"`
	Query               string            `json:"query,omitempty"`
}

Input is the top-level JSON payload accepted by the superplane_app tool.

type PatchEdge added in v0.27.0

type PatchEdge struct {
	SourceID string `json:"source_id,omitempty"`
	TargetID string `json:"target_id,omitempty"`
	Channel  string `json:"channel,omitempty"`
}

type PatchNode added in v0.27.0

type PatchNode struct {
	ID            string         `json:"id,omitempty"`
	Name          string         `json:"name,omitempty"`
	Component     string         `json:"component,omitempty"`
	Configuration map[string]any `json:"configuration,omitempty"`
	IntegrationID string         `json:"integration_id,omitempty"`
	Position      *PatchPosition `json:"position,omitempty"`
	IsCollapsed   *bool          `json:"is_collapsed,omitempty"`
}

type PatchOperation added in v0.27.0

type PatchOperation struct {
	Op       string         `json:"op"`
	NodeID   string         `json:"node_id,omitempty"`
	Node     *PatchNode     `json:"node,omitempty"`
	Position *PatchPosition `json:"position,omitempty"`
	Edge     *PatchEdge     `json:"edge,omitempty"`
}

PatchOperation describes one small graph edit for patch_staging.

type PatchPosition added in v0.27.0

type PatchPosition struct {
	X int `json:"x"`
	Y int `json:"y"`
}

type Registry

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

Registry dispatches superplane_app action calls by action name.

func NewDefaultRegistry

func NewDefaultRegistry(deps Dependencies) *Registry

NewDefaultRegistry creates the standard superplane_app action registry.

func NewRegistry

func NewRegistry(actions ...Action) *Registry

NewRegistry creates a registry from explicit actions.

func (*Registry) Execute

func (r *Registry) Execute(ctx context.Context, session agents.AgentSessionContext, input Input) (any, error)

Execute dispatches the typed action input to the matching action.

func (*Registry) Names

func (r *Registry) Names() []string

Names returns the registered action names in schema enum order.

Jump to

Keyboard shortcuts

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