Listen

Events surface

Five event types, two built-in emitters, seven source labels, one onEvent handler. Canvas gestures and list selections share the same shape.

TypeMeaningSourcesPayload
node.clickPointer click on a node body
canvasnode-list
{ nodeId }
node.inspectOpen the inspector for this node (double-click on canvas, configurable on list)
canvasnode-list
{ nodeId }
edge.clickClick on an edge polyline
canvas
{ edgeId }
selection.changeSelection set changed (single or multi-select)
canvasnode-list
{ selection: { nodeIds, edgeIds } }
pane.clickClick on empty canvas (clears selection)
canvas
{}
SourceStatusEmitted byNotes
canvasBuilt-inWireCanvasNode, edge, pane, and selection events from the interactive canvas.
node-listBuilt-inWireNodeListRow clicks plus configurable inspect/selection emissions.
node-cardReservedCustom app codeUse when an app-owned card wrapper emits events.
option-panelReservedCustom app codeUse for app-specific option panel interactions.
validation-panelReservedCustom app codeUse for app-specific validation panel interactions.
workspaceReservedCustom app codeUse for workspace-level events not tied to canvas/list.
apiReservedProgrammatic codeUse for non-pointer or integration-driven emissions.
tsx
<WireWorkspace
  onEvent={(event) => {
    if (event.type === "node.inspect") {
      router.push(`?node=${event.nodeId}`);
    } else if (event.type === "edge.click") {
      openEdgeInspector(event.edgeId);
    } else if (event.type === "selection.change") {
      setSelected(event.selection);
    } else if (event.type === "pane.click") {
      router.push(""); // deselect
    }
  }}
/>;
Input · WireCanvassource: canvas
Ticket webhook
Plan answer
gpt-5.4-mini
Send response
Input · WireNodeListsource: node-list
Output · onEvent log
0
Click a node, an edge, empty canvas, or a list row
NextSee it on the sample page