Index signature required by ReactFlow's node data constraint.
Plugin configuration, serialized verbatim into the policy node's config on save.
OptionalconfigOptional name of a shared plugin config this node inherits from.
OptionalexpandedWhether this supernode instance is expanded to its inline preview.
Text shown in the node body (usually the node id; script nodes append the runtime).
OptionalonCalled with the node id when the node is clicked; used by GraphCanvas to open the inspector.
OptionalonCalled with the node id when the expand/fold chevron is clicked (supernode nodes only).
Gateway plugin type, e.g. listener, upstream, key-auth, script.
OptionalportsDeclared ports for this node's plugin type, from the GET /api/plugins
catalog (GraphCanvas looks this up by pluginType when building nodes).
Undefined for supernode boundary pseudo-nodes and any type missing from
the catalog; PluginNode resolves the effective outputs via
module:nodeKinds.resolveOutputs, which applies the entry/terminal
special cases and the default success+error fallback.
OptionalportCatalog port-spec lookup, threaded to the expanded preview's inner nodes (supernode nodes only).
OptionalshowWhen false, ports render as bare handles with hover tooltips; default true renders labeled rows.
OptionalsupernodeResolved supernode definition for supernode nodes; undefined = unresolved (stale/missing reference).
Data payload stored on every
pluginNodeReactFlow node. GraphCanvas writes it when converting a Policy to nodes and reads it back on save, so it must carry everything needed to reconstruct a policy node.