Skip to content

int lane test#12

Closed
arul28 wants to merge 13 commits into
mainfrom
ade/integration-mlzrpyue-97ed4d5b
Closed

int lane test#12
arul28 wants to merge 13 commits into
mainfrom
ade/integration-mlzrpyue-97ed4d5b

Conversation

@arul28

@arul28 arul28 commented Feb 23, 2026

Copy link
Copy Markdown
Owner

test

Summary by CodeRabbit

Release Notes

  • New Features
    • Copy text to clipboard functionality
    • Open files in external editors (VS Code, Cursor, Zed, Finder)
    • Organize lanes into folders with collapsible grouping
    • Improved terminal session management with filtering and quick-launch options
    • Mission plan progress visualization and lane cleanup tools
    • Agent teams support in mission execution policies
    • Reasoning effort configuration for mission planning

@coderabbitai

coderabbitai Bot commented Feb 23, 2026

Copy link
Copy Markdown
ℹ️ Recent review info

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Free

📥 Commits

Reviewing files that changed from the base of the PR and between 4982b08 and 497b947.

⛔ Files ignored due to path filters (5)
  • .claude/plans/velvet-mixing-rabin.md is excluded by !.claude/**
  • apps/desktop/package-lock.json is excluded by !**/package-lock.json
  • assets/claude.svg is excluded by !**/*.svg
  • assets/codex.svg is excluded by !**/*.svg
  • assets/terminal.svg is excluded by !**/*.svg
📒 Files selected for processing (34)
  • apps/desktop/package.json
  • apps/desktop/src/main/services/ipc/registerIpc.ts
  • apps/desktop/src/main/services/lanes/laneService.ts
  • apps/desktop/src/main/services/missions/missionPlanningService.ts
  • apps/desktop/src/main/services/orchestrator/aiOrchestratorService.ts
  • apps/desktop/src/main/services/orchestrator/executionPolicy.test.ts
  • apps/desktop/src/main/services/orchestrator/executionPolicy.ts
  • apps/desktop/src/main/services/orchestrator/orchestratorService.ts
  • apps/desktop/src/main/services/pty/ptyService.ts
  • apps/desktop/src/main/services/state/kvDb.ts
  • apps/desktop/src/preload/global.d.ts
  • apps/desktop/src/preload/preload.ts
  • apps/desktop/src/renderer/components/files/FilesPage.tsx
  • apps/desktop/src/renderer/components/lanes/LaneList.tsx
  • apps/desktop/src/renderer/components/lanes/LaneTerminalsPanel.tsx
  • apps/desktop/src/renderer/components/lanes/MonacoDiffView.tsx
  • apps/desktop/src/renderer/components/missions/MissionsPage.tsx
  • apps/desktop/src/renderer/components/missions/OrchestratorDAG.tsx
  • apps/desktop/src/renderer/components/missions/PhaseProgressBar.tsx
  • apps/desktop/src/renderer/components/missions/PolicyEditor.tsx
  • apps/desktop/src/renderer/components/missions/UsageDashboard.tsx
  • apps/desktop/src/renderer/components/terminals/LaunchPanel.tsx
  • apps/desktop/src/renderer/components/terminals/SessionCard.tsx
  • apps/desktop/src/renderer/components/terminals/SessionContextMenu.tsx
  • apps/desktop/src/renderer/components/terminals/SessionInfoPopover.tsx
  • apps/desktop/src/renderer/components/terminals/SessionListPane.tsx
  • apps/desktop/src/renderer/components/terminals/TerminalSettingsDialog.tsx
  • apps/desktop/src/renderer/components/terminals/TerminalsPage.tsx
  • apps/desktop/src/renderer/components/terminals/ToolLogos.tsx
  • apps/desktop/src/renderer/components/terminals/WorkViewArea.tsx
  • apps/desktop/src/renderer/components/terminals/useSessionDelta.ts
  • apps/desktop/src/renderer/components/terminals/useWorkSessions.ts
  • apps/desktop/src/shared/ipc.ts
  • apps/desktop/src/shared/types.ts
💤 Files with no reviewable changes (1)
  • apps/desktop/src/main/services/orchestrator/executionPolicy.ts

📝 Walkthrough

Walkthrough

This PR extends desktop capabilities across multiple systems: adds clipboard and external editor integration via IPC, introduces folder-based lane grouping with database migrations, refactors the terminal UI with new components and session management hooks, enhances mission orchestration with DAG layout using dagre and timing adjustments, adds folder metadata to lanes, and refactors FilesPage with theme support and editor session state.

Changes

Cohort / File(s) Summary
Package & Infrastructure
apps/desktop/package.json, apps/desktop/src/shared/ipc.ts, apps/desktop/src/shared/types.ts
Added dagre dependency; introduced IPC.appWriteClipboardText and IPC.appOpenPathInEditor channels; extended LaneSummary, CreateChildLaneArgs with optional folder field and MissionExecutionPolicy with useAgentTeams flag.
Preload & IPC Handlers
apps/desktop/src/preload/global.d.ts, apps/desktop/src/preload/preload.ts, apps/desktop/src/main/services/ipc/registerIpc.ts
Added writeClipboardText and openPathInEditor methods to global ade.app interface; implemented IPC handlers for clipboard writing and opening paths in external editors (finder, vscode, cursor, zed) with platform-specific logic and error handling.
Lane Management
apps/desktop/src/main/services/lanes/laneService.ts, apps/desktop/src/main/services/state/kvDb.ts, apps/desktop/src/renderer/components/lanes/LaneList.tsx
Added folder field to LaneSummary and propagated through lane creation API; migrated lanes table schema with new folder column; implemented folder-based lane grouping UI with collapsible sections and toggle state.
Files UI Refactoring
apps/desktop/src/renderer/components/files/FilesPage.tsx
Major refactoring introducing EditorViewMode, EditorThemeMode, per-project session state caching, localStorage persistence of editor theme, external editor integration, layout panel reconfigurations, and Monaco theme switching.
Mission & Orchestration
apps/desktop/src/main/services/missions/missionPlanningService.ts, apps/desktop/src/main/services/orchestrator/aiOrchestratorService.ts, apps/desktop/src/main/services/orchestrator/orchestratorService.ts
Extended mission planning prompt with ADE Platform Capabilities block and test constraint notices; adjusted health sweep interval (15s → 5s), added ensureThreadForTarget creation, folder metadata for auto-lanes, dagMaxWidth calculation for parallelism, and delayed autopilot startup trigger; increased autopilot parallelism cap (16 → 32) and hardened ramp-up locking with 2s wait.
Execution & DAG Layout
apps/desktop/src/main/services/orchestrator/executionPolicy.ts, apps/desktop/src/main/services/orchestrator/executionPolicy.test.ts, apps/desktop/src/renderer/components/missions/OrchestratorDAG.tsx
Removed synthesizeTeam function and its test suite; replaced manual depth/column computation in OrchestratorDAG with dagre graph layout, computing node positions and edges from dependency graph.
Terminal System - Core Components
apps/desktop/src/renderer/components/terminals/ToolLogos.tsx, apps/desktop/src/renderer/components/terminals/LaunchPanel.tsx, apps/desktop/src/renderer/components/terminals/SessionCard.tsx, apps/desktop/src/renderer/components/terminals/SessionContextMenu.tsx
Introduced new terminal UI components: ToolLogo rendering system with Claude/Codex/Shell logos, LaunchPanel for terminal launcher with profile support, SessionCard for session list display with status and actions, SessionContextMenu for context-aware session actions.
Terminal System - Session Management
apps/desktop/src/renderer/components/terminals/SessionInfoPopover.tsx, apps/desktop/src/renderer/components/terminals/SessionListPane.tsx, apps/desktop/src/renderer/components/terminals/WorkViewArea.tsx, apps/desktop/src/renderer/components/terminals/useSessionDelta.ts, apps/desktop/src/renderer/components/terminals/useWorkSessions.ts
Added session info popover with metadata and actions, session list pane with filtering (lane/status/search), work view area with tabs and grid modes, useSessionDelta hook for caching delta summaries, and comprehensive useWorkSessions hook managing session lifecycle, filtering, tabs, and launch/resume logic.
Terminal Settings & Refactoring
apps/desktop/src/renderer/components/terminals/TerminalSettingsDialog.tsx, apps/desktop/src/renderer/components/lanes/LaneTerminalsPanel.tsx, apps/desktop/src/renderer/components/terminals/TerminalsPage.tsx
Introduced centralized TerminalSettingsDialog for profile management and tracked mode persistence; refactored LaneTerminalsPanel to delegate settings to dialog, removing inline profile UI; refactored TerminalsPage from two-pane inline layout to modularized component-based architecture (SessionListPane, WorkViewArea).
PTY Management
apps/desktop/src/main/services/pty/ptyService.ts
Added createdAt timestamp to PtyEntry; introduced auto-close logic for tool-type PTYs (CLAUDE, CODEX, Aider, Cursor, Continue) that auto-closes 1500ms after detecting transition to shell prompt (waiting-input state); integrated cleanup of auto-close timers on disposal.
Mission UI Enhancements
apps/desktop/src/renderer/components/missions/PhaseProgressBar.tsx, apps/desktop/src/renderer/components/missions/MissionsPage.tsx, apps/desktop/src/renderer/components/missions/UsageDashboard.tsx
Added overall progress percentage and indicator to PhaseProgressBar; introduced terminal mission state filtering, dynamic plan-change messaging with originalStepCount tracking, lane cleanup action for failed missions, and plan progress overlays; added error state and empty-state UI to UsageDashboard.
Policy & Editor UI
apps/desktop/src/renderer/components/missions/PolicyEditor.tsx, apps/desktop/src/renderer/components/lanes/MonacoDiffView.tsx
Introduced Codex model detection, reasoning effort concept per phase with dynamic thinking levels, expanded phase row UI with Claude/Codex model grouping and Thinking select, safe update merging in updatePhase, and Agent Teams UI block; added theme prop to MonacoDiffView with effect-based Monaco theme switching.

Sequence Diagram(s)

sequenceDiagram
    actor Renderer as Renderer Process
    participant IPC as IPC Main
    participant Electron as Electron APIs
    participant Filesystem as Filesystem/Child Process
    
    Renderer->>IPC: writeClipboardText(text)
    IPC->>Electron: clipboard.writeText(text)
    Electron-->>IPC: success
    IPC-->>Renderer: void
    
    Renderer->>IPC: openPathInEditor(rootPath, relativePath, target)
    IPC->>Filesystem: resolve targetPath
    alt target == "finder"
        IPC->>Electron: open -a Finder {targetPath}
    else target in [vscode, cursor, zed]
        IPC->>Filesystem: spawn({cmd, args})
        Filesystem-->>IPC: process started
    end
    Filesystem-->>IPC: success/error
    IPC-->>Renderer: void or error
Loading
sequenceDiagram
    participant TerminalsPage as TerminalsPage
    participant useWorkSessions as useWorkSessions Hook
    participant SessionListPane as SessionListPane
    participant WorkViewArea as WorkViewArea
    participant Backend as Backend APIs
    
    TerminalsPage->>useWorkSessions: initialize
    useWorkSessions->>Backend: fetch sessions
    Backend-->>useWorkSessions: TerminalSessionSummary[]
    useWorkSessions->>useWorkSessions: compute filtered/running/ended
    useWorkSessions-->>TerminalsPage: work object
    
    TerminalsPage->>SessionListPane: pass filtered sessions
    SessionListPane->>TerminalsPage: onLaunchPty(laneId, profile)
    TerminalsPage->>useWorkSessions: handleLaunchPty()
    useWorkSessions->>Backend: create PTY session
    Backend-->>useWorkSessions: sessionId
    useWorkSessions->>useWorkSessions: update openTabs, refresh
    
    TerminalsPage->>WorkViewArea: pass active session, view mode
    WorkViewArea->>TerminalsPage: onSelectTab/onCloseTab
    TerminalsPage->>useWorkSessions: close or select session
    useWorkSessions->>Backend: update session state
    Backend-->>useWorkSessions: success
    useWorkSessions-->>TerminalsPage: refresh sessions
Loading
sequenceDiagram
    participant OrchestratorDAG as OrchestratorDAG Component
    participant Dagre as Dagre Library
    participant Layout as Layout Computation
    
    OrchestratorDAG->>Layout: start layout computation
    Layout->>Dagre: create Graph()
    
    loop for each step
        Layout->>Dagre: graph.setNode(stepKey, {width, height})
    end
    
    loop for each step with dependencies
        Layout->>Dagre: graph.setEdge(depId, stepId)
    end
    
    Layout->>Dagre: layout(graph)
    Dagre-->>Layout: computed node positions
    
    Layout->>Layout: map dagre x,y to col, row
    Layout-->>OrchestratorDAG: LayoutNode[] with positions
    OrchestratorDAG->>OrchestratorDAG: render nodes and edges
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~50 minutes


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

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

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