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