Skip to content

chore(DATAGO-122393): enhance workflows list view #856

Open
jessieli-ux wants to merge 57 commits intomainfrom
jessie/DATAGO-122393/enhance-workflows-list-view
Open

chore(DATAGO-122393): enhance workflows list view #856
jessieli-ux wants to merge 57 commits intomainfrom
jessie/DATAGO-122393/enhance-workflows-list-view

Conversation

@jessieli-ux
Copy link
Collaborator

Summary

Enhances the workflows list view with improved UI/UX including:

  • Updated WorkflowDetailPanel with better layout, tab navigation, and tooltip support
  • Refined WorkflowOnboardingBanner with consistent messaging and improved styling
  • Enhanced WorkflowList with smoother animations and better empty state handling
  • Improved side panel interactions with toggle behavior and fixed-width layout

Key Changes

WorkflowDetailPanel

  • Added Input/Output schema tabs with underline-style navigation matching page-level tabs
  • Implemented header with 20px font size, truncation support, and custom tooltip
  • Updated to 2-column grid layout for Version and Nodes fields
  • Removed icons from Version/Nodes fields for cleaner display
  • Repositioned copy button in YAML code view to top-right corner
  • Changed field labels from text-xs to text-sm for better readability
  • Added left border to panel for visual separation
  • Converted "Show More/Less" buttons to use link variant with proper styling

WorkflowOnboardingBanner

  • Extracted shared text constants (WORKFLOW_HEADER, WORKFLOW_DESCRIPTION, WORKFLOW_LEARN_MORE_TEXT)
  • Updated styling to use learning-w10/learning-w20 colors
  • Converted link to Button component with link variant and ExternalLink icon
  • Added tooltip support to close button

WorkflowList

  • Fixed side panel width to 400px (previously responsive)
  • Improved slide-in/out animations with staggered opacity transitions (300ms duration)
  • Added toggle behavior: clicking selected workflow row closes the panel
  • Updated workflow name links to use primary-w60 color in dark mode
  • Added 24px right padding to table container
  • Created 2-column empty state layout with workflow description and image placeholder
  • Implemented smooth panel opening/closing with proper state timing

Test Plan

  • Verify workflows list displays correctly with multiple workflows
  • Test clicking workflow rows to open/close detail panel
  • Confirm panel animations are smooth when opening and closing
  • Check that clicking the same row again closes the panel
  • Verify workflow name truncation works with tooltip
  • Test Input/Output tabs in detail panel
  • Confirm YAML code view displays with copy button in correct position
  • Test empty state layout appears correctly when no workflows exist
  • Verify onboarding banner displays with correct styling and can be dismissed
  • Test in both light and dark modes
  • [ ]
Screenshot 2026-01-21 at 4 42 49 PM Screenshot 2026-01-21 at 4 42 58 PM Screenshot 2026-01-21 at 5 09 47 PM Screenshot 2026-01-21 at 5 09 38 PM

efunneko and others added 30 commits December 21, 2025 08:42
Adds the foundational data models and utilities required by the
Prescriptive Workflows feature:
- StructuredInvocationRequest/Result data parts
- WorkflowExecution* data parts for visualization
- Extension URI constants
- Agent card schema utilities
Adds the Pydantic models that define the YAML schema for workflow
definitions with Argo Workflows-compatible syntax:
- Node types: AgentNode, ConditionalNode, SwitchNode, LoopNode, MapNode
- WorkflowDefinition with DAG validation
- RetryStrategy and ExitHandler models
Enables agents to be invoked with schema-validated input/output:
- StructuredInvocationHandler for schema validation and retry
- Integration with SamAgentComponent
- Result embed pattern for structured output
- A2A event handler integration for structured invocation detection
Adds ADK Tool that allows agents to invoke workflows:
- Dynamic tool generation from workflow schema
- Dual-mode invocation (parameters or artifact)
- Long-running execution with polling
- LLM callback integration for workflow tool instructions
Adds the WorkflowExecutorComponent that coordinates execution:
- Component lifecycle and message routing
- Agent card generation with schemas
- Event publishing for visualization
- A2A protocol message handlers
Adds the core DAG execution engine:
- Dependency graph building and validation
- Node execution dispatch
- Template resolution for data flow
- Conditional expression evaluation
- Execution context management
Adds the AgentCaller for invoking agents via A2A:
- Input template resolution
- A2A message construction
- Artifact creation for input data
Adds backend integration and comprehensive test coverage:
- Gateway workflow event forwarding
- Example workflows (all_node_types, jira_bug_triage)
- Unit tests for pure functions (~1,770 lines)
- Integration tests for error scenarios (~2,000 lines)
- Declarative test workflows (8 YAML files)
- Test fixtures for workflow apps
Adds all frontend changes for workflow visualization:
- Layout engine for positioning nodes
- FlowChart components (panel, renderer, edges)
- Node components for all node types
- NodeDetailsCard sidebar
- Task visualizer processor
- Provider updates
- Agent utilities for workflow detection
- Mermaid diagram modal
Remove legacy FlowChart visualization files that were replaced by the
new workflow activities visualization system. These files are no longer
needed with the new Activities-based architecture.

Files removed:
- FlowChart/customEdges/GenericFlowEdge.tsx
- FlowChart/customNodes/*.tsx (6 node types)
- FlowChart/edgeAnimationService.ts
- FlowChart/taskToFlowData.helpers.ts
- FlowChart/taskToFlowData.ts
- FlowChartPanel.tsx
Add tests to verify that workflow configurations are correctly
serialized to JSON for inclusion in agent card extensions.

Tests cover:
- Simple agent workflows
- Workflows with input/output schemas
- Switch nodes with cases and defaults
- Map nodes with items
- Loop nodes with conditions and max_iterations
- Agent nodes with explicit input mappings
- JSON serialization round-trip
- Rename sidebar navigation from "Agents" to "Agent Mesh"
- Add tabbed navigation with "Agents" and "Workflows" tabs
- Create WorkflowList component with table view, filtering, and pagination
- Create WorkflowDetailPanel with markdown description and JSON schema viewer
- Create WorkflowOnboardingBanner with dismissible intro and docs link
- Filter agents by type using isWorkflowAgent() helper
- Remove stale MermaidDiagramModal export
Add optional instruction field to AgentNode that allows workflow creators
to provide additional context/guidance to target agents. The instruction
supports template expressions (e.g., {{workflow.input.context}}) that are
resolved at runtime.

Changes:
- Add instruction field to AgentNode model in app.py
- Add _resolve_string_with_templates() to handle embedded templates
- Update workflow_schema.json with instruction property
- Add unit tests for instruction field
- Add integration test validating instruction appears in LLM requests
- Add example usage in all_node_types_workflow.yaml
- Fix deprecated conditional node type in test fixtures

DATAGO-121520
Resolved conflicts in:
- WorkflowVisualizationPage.tsx (kept handleBack function)
- LoopNode.tsx (whitespace)
- MapNode.tsx (whitespace)
- SwitchNode.tsx (whitespace)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
{/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}
<JSONViewer data={config.input_schema as any} maxDepth={2} className="border-none text-xs" />
{/* Tab buttons */}
<div className="mb-3 flex border-b" role="tablist">
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to add this kind of tabs component... we are using it several places so the pattern is being duplicated. I will create a Jira for that.


{/* Output Mapping */}
{config?.output_mapping && (
<div>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not for this PR, but we should update this area to not duplicate code if possible.

@solace-pjones solace-pjones changed the base branch from ed/DATAGO-121940/pr-review-fixes to feature/prescriptive-workflows January 26, 2026 21:42
@solace-pjones solace-pjones changed the base branch from feature/prescriptive-workflows to ed/DATAGO-121940/pr-review-fixes January 26, 2026 21:42
@solace-pjones solace-pjones changed the base branch from ed/DATAGO-121940/pr-review-fixes to feat/workflows January 27, 2026 23:09
@solace-pjones solace-pjones changed the base branch from feat/workflows to ed/DATAGO-121940/pr-review-fixes January 27, 2026 23:10
@solace-pjones solace-pjones changed the base branch from ed/DATAGO-121940/pr-review-fixes to feat/workflows January 27, 2026 23:14
Base automatically changed from feat/workflows to main January 30, 2026 20:28
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.

3 participants