SIGN IN SIGN UP

feat(observe): NodeExecutionDetail component (#6310)

* feat(observe) FLOWISE-575: port NodeExecutionDetail with hooks, atoms, and tool surfaces

Ports legacy NodeExecutionDetails.jsx (~1,285 LOC) to the observe SDK as a
composed orchestrator. Adds atoms (CodeFenceBlock, JsonBlock, NodeIcon),
core utils (guards, resolveTool, extractToolCalls), feature hooks
(useNodeData, useHumanInput, useResizableSidebar), and tool / condition /
HITL surfaces. Establishes the type-location and tier-3 conventions in
ARCHITECTURE.md and TESTS.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(observe): use original index for fulfilled condition labels

Iterate the original conditions array and skip non-fulfilled entries so
"Condition N" matches the branch the user configured in the Condition
node editor. Legacy had the same filter-then-index pattern; this is a
deliberate deviation tagged with a // PARITY: comment.

Addresses review on #6310.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(observe): cap JSON viewer height at 400px to match legacy

Bake legacy JSONViewer.jsx's `maxHeight: '400px'` default into the
JsonBlock atom so all call sites (Tools list, fulfilled conditions,
chat message JSON content, NodeContentRenderer JSON paths) scroll
inside a bounded frame instead of pushing the rest of the panel
off-screen. Previously only NodeContentRenderer applied a cap;
ToolAccordionList and FulfilledConditionsBlock were unbounded.

Drops the now-redundant DEFAULT_JSON_MAX_HEIGHT in NodeContentRenderer
and MESSAGE_JSON_MAX_HEIGHT in ChatMessageBubble — three copies of the
same 400 collapsed to the atom's single source of truth. The
jsonMaxHeight override path in NodeContentRenderer remains for
consumers that need a non-default cap.

Adds regression tests that compare emotion classNames against an
explicit-value control (jsdom can't compute MUI sx-applied CSS).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
J
Jocelyn Lin committed
b32c4f6b05d2f458ec417e5838ae20f754cb1a9b
Parent: 80859b2
Committed by GitHub <noreply@github.com> on 4/30/2026, 6:48:56 PM