Skip to content

feat: Rich banner, HITL interrupts, server deps & edge overlap fix#62

Merged
cristipufu merged 5 commits intomainfrom
feat/rich-banner
Feb 14, 2026
Merged

feat: Rich banner, HITL interrupts, server deps & edge overlap fix#62
cristipufu merged 5 commits intomainfrom
feat/rich-banner

Conversation

@cristipufu
Copy link
Member

Summary

  • Style server banner with Rich colors
  • Make fastapi/uvicorn core dependencies (remove optional-dependencies)
  • Add HITL (human-in-the-loop) interrupt support for chat mode
  • Fix ELK node height estimates to prevent edge overlap on ModelNode/ToolNode
  • Bump version to 0.0.43

Test plan

  • Verify server starts and Rich banner displays correctly
  • Test chat mode HITL interrupt flow
  • Confirm graph edges no longer overlap into ModelNode/ToolNode boundaries
  • Verify pip install uipath-dev installs fastapi/uvicorn without extras

🤖 Generated with Claude Code

cristipufu and others added 5 commits February 14, 2026 13:20
Use Rich console for the startup ASCII art banner - bold orange for
the art, cyan for the server URL, and clickable docs link.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ore deps

Move fastapi and uvicorn from optional [server] extras into core
dependencies. Remove HAS_EXTRAS guards, TYPE_CHECKING import hack,
and associated tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Human-In-The-Loop support to the dev server's chat UI. When a chat
agent suspends with API triggers (e.g. tool call confirmations), the
new WebChatBridge broadcasts interrupts to the frontend via WebSocket
and blocks until the user responds.

Backend: WebChatBridge (UiPathChatProtocol), InterruptData model,
WS protocol events, RunService integration with UiPathChatRuntime.
Frontend: ChatInterrupt component with tool call confirmation
(Approve/Reject) and generic interrupt (text input) variants.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ModelNode and ToolNode always render a type label above the main label
(~13px) that was unaccounted for in computeNodeHeight, causing ELK to
place edge endpoints inside the visible node boundaries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cristipufu cristipufu merged commit 49a7cc3 into main Feb 14, 2026
11 checks passed
@cristipufu cristipufu deleted the feat/rich-banner branch February 14, 2026 13:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant