feat(desktop): an item of an agent with no plan waits beside the plans', counts on the badge, and is announced with its click opening the agent's page

Merged
DA
4d ago
+295-33

Step 9 (part two) of the automations plan (docs/proposals/automations-scope.md): the desktop's account-wide Inbox read learns planless items. It builds on #2688 (the server's planless/automations keys) and #2720 (the agent page).

What changes

  • App state carries planless items. AppInboxSlice gains planless: each open item of an agent with no plan, with its agent as its row names it now and the automation and repository standing where a plan would. It also gains automations: each automation holding such items, as plans lists plans. Main writes both from the account Inbox read it already holds (agent-notices.ts), and a change in the automations alone is written as a change in plans is.
  • The Dock badge counts them. It now counts plans' open items and planless ones alike.
  • A planless item is announced.
    • When an item of a planless agent opens since the last answer, behind the window, it's posted as a notification titled by its automation's name, or its repository where the reader may not read the automation (#2717), over the agent and the item's title.
    • Clicking it opens the agent's own page. AgentPlace.planId may now be null, and the bridge's onShowAgent carries it.
    • In front of the window nothing is said. The window's own toast opens a plan, and the Inbox list (next PR) shows the item.
  • The renderer opens the page. app.tsx routes an onShowAgent with a null plan to agentView.onOpen.

Next is the Inbox list and pane for planless items (step 9's last part).

Tests

  • agent-notices.test.ts: a planless item in the read's answer counts on the badge beside a plan's (2), is announced by its automation's name, and its click opens { planId: null, agentId }.
  • The renderer and main suites pass.

pnpm check:affected passes. This touches the desktop: CI cannot verify the Mac UI, and ./scripts/verify.sh was not run (LUKE-159 stands in before the first release).

šŸ¤– Generated with Claude Code


Open workspace in Conductor


Devin Review


Summary by cubic

The desktop's account-wide Inbox now treats items from agents with no plan the same as planned ones. They appear in the app state beside plans, count on the Dock badge and the sidebar's Inbox row, and are announced as notifications titled by their automation (or repository if unreadable) when they open. A rename with nothing waiting moving — of the automation, or of the agent by its model — is written as the item's new name. Clicking such a notification opens the agent's own page instead of a plan tab.