Skip to content

Conversation

@Abhi1992002
Copy link
Contributor

@Abhi1992002 Abhi1992002 commented Jan 25, 2026

Changes πŸ—οΈ

  • Refactored node execution results storage to maintain a history of executions instead of just the latest result
  • Added support for viewing accumulated output data across multiple executions
  • Implemented a cleaner UI for viewing historical execution results with proper grouping
  • Added functionality to clear execution results when starting a new run
  • Created helper functions to normalize and process execution data consistently
  • Updated the NodeDataViewer component to display both latest and historical execution data
  • Added ability to view input data alongside output data in the execution history

Checklist πŸ“‹

For code changes:

  • I have clearly listed my changes in the PR description
  • I have made a test plan
  • I have tested my changes according to the test plan:
    • Create and run a flow with multiple blocks that produce output
    • Verify that execution results are properly accumulated and displayed
    • Run the same flow multiple times and confirm historical data is preserved
    • Test the "View more data" functionality to ensure it displays all execution history
    • Verify that execution results are properly cleared when starting a new run

…rendering

### Changes
- Refactored `AgentOutputs` and `CustomNode` components to handle multiple execution results, ensuring the latest result is used for output rendering.
- Updated `useNodeOutput` to retrieve the latest input and output data from the node store.
- Enhanced `NodeDataRenderer` and `NodeDataViewer` to support grouped execution results, improving the display of output data.
- Introduced new methods in `nodeStore` for managing accumulated input and output data, along with clearing execution results.

### Impact
- Improves the accuracy of displayed outputs by using the most recent execution results.
- Enhances user experience by providing a clearer view of execution data across multiple runs.

### Testing
- Verified that the updated components render the correct output data based on the latest execution results.
- Ensured that all existing tests pass with the new data handling logic.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 25, 2026

Warning

Rate limit exceeded

@Abhi1992002 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 18 minutes and 12 seconds before requesting another review.

βŒ› How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 10cc347 and cb852a9.

πŸ“’ Files selected for processing (1)
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx

Walkthrough

Refactors node execution handling to store multiple execution results per node, tracks latest and accumulated input/output data in the store, adds helpers for normalizing/rendering execution items, updates UI components to use array-based executionResults and latest result, and clears execution state before manual runs.

Changes

Cohort / File(s) Summary
State management & types
frontend/src/app/(platform)/build/stores/nodeStore.ts, .../stores/helpers.ts, .../stores/types.ts
NodeStore now tracks arrays of NodeExecutionResult per node and maintains latest* and accumulated* input/output maps; adds getters (getNodeExecutionResults, getLatest*, getAccumulated*), clearAllNodeExecutionResults, cleanNodesStatuses, and accumulateExecutionData. Moved NodeResolutionData to types.ts.
Run flow reset
frontend/src/app/(platform)/build/components/BuilderActions/components/RunInputDialog/useRunInputDialog.ts
handleManualRun now calls clearAllNodeExecutionResults() and cleanNodesStatuses() before executing the graph.
Node data model
frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx
CustomNodeData field changed from nodeExecutionResult?: NodeExecutionResult to nodeExecutionResults?: NodeExecutionResult[]; logic now uses the latest entry for output_data and error checks.
Node output helpers & hooks
.../NodeOutput/helpers.ts, .../useNodeOutput.tsx
New helpers/types (NodeDataType, OutputItem, normalizeToArray, getExecutionData, createOutputItems, getExecutionEntries). useNodeOutput now returns latestOutputData and latestInputData using store getters.
Node output UI & viewer
.../NodeOutput/NodeOutput.tsx, .../NodeDataViewer/NodeDataViewer.tsx, .../useNodeDataViewer.ts, .../ViewMoreData.tsx
UI updated to show latest and grouped/accumulated executions. NodeDataViewer props exported/expanded (nodeId, executionResults, dataType). useNodeDataViewer now computes grouped executions and exposes per-exec copy/download handlers. ViewMoreData API changed to accept nodeId and dataType.
Agent outputs rendering
frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx
Reads nodeExecutionResults array from output nodes and derives display data from the latest result when multiple exist.

Sequence Diagram

sequenceDiagram
    participant UI as Flow Editor UI
    participant RunHook as useRunInputDialog
    participant Store as NodeStore
    participant Helpers as Output Helpers
    participant Renderer as Output Renderer

    UI->>RunHook: user triggers manual run
    RunHook->>Store: clearAllNodeExecutionResults()
    RunHook->>Store: cleanNodesStatuses()
    Note over RunHook,Store: graph execution starts

    loop for each node result
        Graph->>Store: updateNodeExecutionResult(nodeId, result)
        Store->>Helpers: accumulateExecutionData(accum, result.input/output)
        Helpers-->>Store: merged accumulated data
        Store->>Store: set latestNodeInput/OutputData[nodeId]
        Store->>Store: append/getNodeExecutionResults(nodeId)
    end

    UI->>Store: getLatestNodeExecutionResult(nodeId)
    Store-->>UI: latest result
    UI->>Store: getLatestNodeOutputData(nodeId)
    Store-->>UI: latestOutputData
    UI->>Renderer: render latestOutputData

    UI->>Store: getNodeExecutionResults(nodeId)
    Store-->>UI: NodeExecutionResult[]
    UI->>Helpers: createOutputItems / getExecutionEntries
    Helpers-->>UI: Output items grouped by exec
    UI->>Renderer: display grouped executions / ViewMoreData
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested labels

Review effort 4/5

Suggested reviewers

  • Swiftyos
  • 0ubbe

Poem

🐰 I hopped through nodes both old and new,

Many results now fit in my view,
Latest and gathered, tidy and bright,
Copied per-exec with twinkling delight,
A carrot-sized change β€” the flows feel light. πŸ₯•

πŸš₯ Pre-merge checks | βœ… 3
βœ… Passed checks (3 passed)
Check name Status Explanation
Title check βœ… Passed The title clearly and specifically describes the main change: adding support for multiple node execution results and accumulated data display, which aligns with the core refactoring across the changeset.
Description check βœ… Passed The description is directly related to the changeset, detailing specific refactoring work on node execution results storage, accumulated data support, UI improvements, and helper functionsβ€”all present in the code changes.
Docstring Coverage βœ… Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❀️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added the platform/frontend AutoGPT Platform - Front end label Jan 25, 2026
@Abhi1992002 Abhi1992002 changed the title refactor(frontend): update node execution result handling and output rendering feat(frontend): support multiple node execution results and accumulated data display Jan 25, 2026
Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@Abhi1992002 Abhi1992002 marked this pull request as ready for review January 25, 2026 06:14
@Abhi1992002 Abhi1992002 requested a review from a team as a code owner January 25, 2026 06:14
@Abhi1992002 Abhi1992002 requested review from Swiftyos and majdyz and removed request for a team January 25, 2026 06:14
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

πŸ€– Fix all issues with AI agents
In
`@autogpt_platform/frontend/src/app/`(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx:
- Around line 87-167: Two icon-only copy buttons lack accessible labels; add
descriptive aria-labels to the Button that calls
copyExecutionId(result.node_exec_id) (e.g., "Copy execution id
{result.node_exec_id}") and to the Button that calls
handleCopy(`${result.node_exec_id}-${key}`, normalizedValue) (e.g., "Copy data
for pin {beautifyString(key)} in execution {result.node_exec_id}"). Locate the
Buttons by the onClick handlers copyExecutionId and handleCopy in the
ViewMoreData component and add aria-label props with the described strings to
each button.

In
`@autogpt_platform/frontend/src/app/`(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/helpers.ts:
- Around line 32-70: The fallback that converts non-string values to JSON in
createOutputItems can throw (e.g., circular refs or BigInt) and crash the UI;
wrap the JSON.stringify call used when no renderer is found (the branch that
selects TextRenderer from globalRegistry and pushes into items) in a try/catch
and if stringify throws use a safe fallback like String(value) (or a
placeholder) for the value before pushing the OutputItem; ensure you keep the
same metadata/renderer and key generation (`item-${index}`).

In `@autogpt_platform/frontend/src/app/`(platform)/build/stores/nodeStore.ts:
- Around line 337-403: The handler updateNodeExecutionResult currently
overwrites latestNodeInputData/latestNodeOutputData and skips refreshing
accumulatedNodeInputData/Output when a duplicate node_exec_id is received, which
can corrupt "latest" and accumulated caches; fix by, when detecting a duplicate
(in updateNodeExecutionResult for the matching node), produce an updatedResults
array that replaces the matching result (existingResults.map(...) used already),
then recompute accumulatedNodeInputData[nodeId] and
accumulatedNodeOutputData[nodeId] by reducing over updatedResults with
accumulateExecutionData (instead of leaving accumulated unchanged), and set
latestNodeInputData[nodeId] / latestNodeOutputData[nodeId] from the most recent
entry in updatedResults (e.g., the last element) so duplicates don't incorrectly
become the latest unless they truly are the latest; keep the current accumulate
path for non-duplicates.
πŸ“œ Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

πŸ“₯ Commits

Reviewing files that changed from the base of the PR and between 9a6e17f and 2cd9ec5.

πŸ“’ Files selected for processing (12)
  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/RunInputDialog/useRunInputDialog.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/NodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/useNodeDataViewer.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/useNodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/stores/nodeStore.ts
  • autogpt_platform/frontend/src/app/(platform)/build/stores/types.ts
🧰 Additional context used
πŸ““ Path-based instructions (8)
autogpt_platform/frontend/**/*.{ts,tsx}

πŸ“„ CodeRabbit inference engine (.github/copilot-instructions.md)

autogpt_platform/frontend/**/*.{ts,tsx}: Always run pnpm install before frontend development, then use pnpm dev to start development server on port 3000
For frontend code formatting and linting, always run pnpm format

If adding protected frontend routes, update frontend/lib/supabase/middleware.ts

autogpt_platform/frontend/**/*.{ts,tsx}: Use generated API hooks from @/app/api/__generated__/endpoints/ for data fetching in frontend
Use function declarations (not arrow functions) for components and handlers in frontend
Only use Phosphor Icons in frontend; never use other icon libraries
Never use src/components/__legacy__/* or deprecated BackendAPI in frontend

Files:

  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/RunInputDialog/useRunInputDialog.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/stores/types.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/useNodeDataViewer.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/NodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/useNodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/nodeStore.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx
autogpt_platform/frontend/**/*.{ts,tsx,json}

πŸ“„ CodeRabbit inference engine (.github/copilot-instructions.md)

Use Node.js 21+ with pnpm package manager for frontend development

Files:

  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/RunInputDialog/useRunInputDialog.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/stores/types.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/useNodeDataViewer.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/NodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/useNodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/nodeStore.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx
autogpt_platform/frontend/src/**/*.{ts,tsx}

πŸ“„ CodeRabbit inference engine (.github/copilot-instructions.md)

autogpt_platform/frontend/src/**/*.{ts,tsx}: Use generated API hooks from @/app/api/__generated__/endpoints/ (generated via Orval from backend OpenAPI spec). Pattern: use{Method}{Version}{OperationName} (e.g., useGetV2ListLibraryAgents). Regenerate with: pnpm generate:api. Never use deprecated BackendAPI or src/lib/autogpt-server-api/*
Use function declarations for components and handlers (not arrow functions). Only arrow functions for small inline lambdas (map, filter, etc.)
Use PascalCase for components, camelCase with use prefix for hooks
No barrel files or index.ts re-exports in frontend
For frontend render errors, use component. For mutation errors, display with toast notifications. For manual exceptions, use Sentry.captureException()
Default to client components (use client). Use server components only for SEO or extreme TTFB needs. Use React Query for server state via generated hooks. Co-locate UI state in components/hooks

Files:

  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/RunInputDialog/useRunInputDialog.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/stores/types.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/useNodeDataViewer.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/NodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/useNodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/nodeStore.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx
autogpt_platform/frontend/**/*.{js,ts,jsx,tsx}

πŸ“„ CodeRabbit inference engine (AGENTS.md)

Format frontend code using pnpm format

Files:

  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/RunInputDialog/useRunInputDialog.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/stores/types.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/useNodeDataViewer.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/NodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/useNodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/nodeStore.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx
autogpt_platform/frontend/**

πŸ“„ CodeRabbit inference engine (autogpt_platform/CLAUDE.md)

autogpt_platform/frontend/**: Install frontend dependencies using pnpm i instead of npm
Generate API client from OpenAPI spec using pnpm generate:api
Regenerate API client hooks using pnpm generate:api when OpenAPI spec changes

Files:

  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/RunInputDialog/useRunInputDialog.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/stores/types.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/useNodeDataViewer.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/NodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/useNodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/nodeStore.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx
autogpt_platform/frontend/**/*.{ts,tsx,css}

πŸ“„ CodeRabbit inference engine (autogpt_platform/CLAUDE.md)

Use only Tailwind CSS for styling in frontend, with design tokens and Phosphor Icons

Files:

  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/RunInputDialog/useRunInputDialog.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/helpers.ts
  • autogpt_platform/frontend/src/app/(platform)/build/stores/types.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/useNodeDataViewer.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/NodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/useNodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/stores/nodeStore.ts
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx
autogpt_platform/frontend/src/**/*.tsx

πŸ“„ CodeRabbit inference engine (autogpt_platform/CLAUDE.md)

Use design system components from src/components/ (atoms, molecules, organisms) in frontend

Files:

  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/NodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/useNodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx
autogpt_platform/frontend/src/app/**/*.tsx

πŸ“„ CodeRabbit inference engine (autogpt_platform/CLAUDE.md)

Create frontend pages in src/app/(platform)/feature-name/page.tsx with corresponding usePageName.ts hook and local components/ subfolder

Files:

  • autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/NodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/useNodeOutput.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx
  • autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx
🧬 Code graph analysis (5)
autogpt_platform/frontend/src/app/(platform)/build/stores/types.ts (1)
autogpt_platform/frontend/src/app/(platform)/build/hooks/useSubAgentUpdate/types.ts (1)
  • IncompatibilityInfo (16-27)
autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/ViewMoreData.tsx (1)
autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/helpers.ts (3)
  • NodeDataType (6-6)
  • getExecutionEntries (77-83)
  • normalizeToArray (15-18)
autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx (7)
autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/helpers.ts (2)
  • NodeDataType (6-6)
  • OutputItem (8-13)
autogpt_platform/frontend/src/lib/utils.ts (1)
  • beautifyString (147-156)
autogpt_platform/frontend/src/components/atoms/Button/Button.tsx (1)
  • Button (12-152)
autogpt_platform/frontend/src/components/contextual/OutputRenderers/components/OutputItem.tsx (1)
  • OutputItem (13-30)
autogpt_platform/frontend/src/components/contextual/OutputRenderers/index.ts (1)
  • OutputItem (19-19)
autogpt_platform/frontend/src/app/(platform)/library/agents/[id]/components/NewAgentLibraryView/components/selected-views/OutputRenderers/components/OutputItem.tsx (1)
  • OutputItem (13-30)
autogpt_platform/frontend/src/app/(platform)/library/agents/[id]/components/NewAgentLibraryView/components/selected-views/OutputRenderers/index.ts (1)
  • OutputItem (19-19)
autogpt_platform/frontend/src/app/(platform)/build/stores/nodeStore.ts (2)
autogpt_platform/frontend/src/lib/autogpt-server-api/types.ts (1)
  • NodeExecutionResult (485-506)
autogpt_platform/frontend/src/app/(platform)/build/stores/helpers.ts (1)
  • accumulateExecutionData (1-16)
autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx (1)
autogpt_platform/frontend/src/lib/autogpt-server-api/types.ts (1)
  • NodeExecutionResult (485-506)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: types
  • GitHub Check: Seer Code Review
  • GitHub Check: e2e_test
  • GitHub Check: Check PR Status
πŸ”‡ Additional comments (11)
autogpt_platform/frontend/src/app/(platform)/build/stores/types.ts (1)

1-14: LGTM β€” centralized NodeResolutionData type looks consistent.

autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/RunInputDialog/useRunInputDialog.ts (1)

156-158: LGTM β€” pre-run reset aligns with new execution-history behavior.

autogpt_platform/frontend/src/app/(platform)/build/stores/helpers.ts (1)

1-15: LGTM β€” accumulation helper is clear and deterministic.

autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/CustomNode.tsx (2)

37-37: LGTM β€” data shape updated for execution history.


78-83: LGTM β€” latest-result derivation is consistent with history storage.

autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/useNodeOutput.tsx (2)

10-20: LGTM β€” latest execution data now sourced via store getters.


42-48: LGTM β€” updated return shape aligns with new data flow.

autogpt_platform/frontend/src/app/(platform)/build/components/BuilderActions/components/AgentOutputs/AgentOutputs.tsx (1)

41-46: No action needed. The code correctly handles execution result orderingβ€”nodeExecutionResults is always appended chronologically via the spread operator ([...existingResults, result]), and duplicate results (checked by node_exec_id) are updated in place rather than re-added, ensuring the last element is always the most recent result.

autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/NodeOutput.tsx (1)

19-148: LGTM β€” latest/accumulated wiring looks consistent.

The updated data flow and rendering logic align with the new execution-history model and keep the UI behavior coherent.

autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/useNodeDataViewer.ts (1)

19-166: LGTM β€” grouped execution support is clean and readable.

The grouping logic and new handlers integrate well with the helper utilities.

autogpt_platform/frontend/src/app/(platform)/build/components/FlowEditor/nodes/CustomNode/components/NodeOutput/components/NodeDataViewer/NodeDataViewer.tsx (1)

39-307: LGTM β€” grouped rendering and store-backed resolution are solid.

The new grouped view and data resolution logic are well-integrated with the updated store API.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Abhi1992002 and others added 5 commits January 25, 2026 11:54
### Changes
- Removed unused `useNodeStore` and `useShallow` imports from `NodeOutput.tsx`.
- Simplified the mapping of output data in `NodeDataRenderer` by directly using `latestOutputData` values.
- Updated the `handleCopy` function to use the simplified value variable.

### Impact
- Streamlines the output rendering logic, improving code readability and maintainability.
- Reduces unnecessary dependencies, enhancing performance.

### Testing
- Verified that the output rendering remains consistent with the latest execution results.
…omNode components

### Changes
- Updated import paths for `NodeResolutionData` to use the new `types` module.
- Simplified the data handling logic in `useNodeDataViewer` by removing unnecessary `useMemo` hooks, improving readability and performance.
- Cleaned up imports in `useSubAgentUpdateState` to align with the new structure.

### Impact
- Enhances code clarity and maintainability by reducing complexity in data processing.
- Ensures consistency in import paths across components.

### Testing
- Verified that the functionality of the affected components remains intact after the refactor.
### Changes
- Updated the logic for handling duplicate node execution results by using `findIndex` instead of `some`.
- Improved the update mechanism for existing results to ensure that input and output data changes are accurately reflected.
- Recomputed accumulated input and output data when duplicates are found, enhancing data integrity.

### Impact
- Increases the accuracy of node execution data management, ensuring that the latest results are used effectively.
- Enhances code clarity and maintainability by streamlining the update process for node execution results.

### Testing
- Verified that the updated logic correctly handles duplicate results and maintains the integrity of accumulated data.
… results handling

### Changes
- Removed unused `NodeExecutionResult` type and `executionResults` prop from `NodeDataViewerProps`.
- Simplified the logic for resolving execution results by directly using the `useNodeStore` hook.
- Updated the component to ensure consistent handling of data types and improved readability.

### Impact
- Enhances code clarity and maintainability by reducing unnecessary complexity in the component.
- Ensures that the latest execution results are effectively utilized in the data viewer.

### Testing
- Verified that the component functions correctly with the updated logic and maintains expected behavior.
Copy link
Contributor

@0ubbe 0ubbe left a comment

Choose a reason for hiding this comment

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

Awesome ❀️ πŸ’―

@github-project-automation github-project-automation bot moved this from πŸ†• Needs initial review to πŸ‘πŸΌ Mergeable in AutoGPT development kanban Jan 26, 2026
@Abhi1992002 Abhi1992002 added this pull request to the merge queue Jan 26, 2026
Merged via the queue into dev with commit f0c2503 Jan 26, 2026
26 checks passed
@Abhi1992002 Abhi1992002 deleted the abhi/show-all-execution-node branch January 26, 2026 12:55
@github-project-automation github-project-automation bot moved this to Done in Frontend Jan 26, 2026
@github-project-automation github-project-automation bot moved this from πŸ‘πŸΌ Mergeable to βœ… Done in AutoGPT development kanban Jan 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

platform/frontend AutoGPT Platform - Front end size/xl

Projects

Status: βœ… Done
Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants