Skip to content

feat(web): Workflows lists only workflows; Agents is a roster with a Chat action (CL-8455) - #890

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-8455-workflows-agents
Sep 18, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-8455-workflows-agents

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • Workflows (/workflows) no longer lists Myra's own deploy source or any hand-authored agent — routines-api.ts now filters deployments whose backing workflow-kind asset name is MYRA_SOURCE_CONFIG.assetName or matches agent-<slug>-source (the exact naming agent-deploy.ts already owns, exported as isAgentDeploySourceAssetName). Both markers are asset-naming, not runtime state, so the list stays accurate without a live-run lookup.
  • Agents (/agents) is now a plain roster: display name, Live/Starting status, and a "Chat" action that opens /chats/<assetId> via the existing chat path helpers. It reads through listChatAgents (chat/threads-api.ts) — the same source the chat picker already uses — instead of the old workflow-definitions/instances model.
  • Create-agent stays in the sidebar's "+" menu; the roster picks up a newly created agent through the same chatKeys.agents query key, invalidated by useDeployAgentMutation.
  • Command palette's agent results now open a chat instead of the deleted agent-detail route.

Deleted

  • apps/web/src/pages/agent-detail-page.tsx and its route (AGENT_DETAIL_PATH) — health/events/approvals detail view had no remaining use once the roster stopped linking to it.
  • apps/web/src/agents-directory.ts — the workbench-host-filtering/display-name binding it provided was only consumed by the roster and detail pages just removed.
  • agentIdFromPath (path-ids.ts) and its test — no longer referenced once the detail route is gone.
  • Dead exports trimmed from agents-api.ts (useAgentDirectory, loadAgentDirectory, run health/events/approvals hooks, listAgentInstances, getAgentRun, listCatalogModels) — all were only used by the deleted pages.
  • The Agents-specific case in run-status-tone-parity.test.ts (AGENT_ROSTER_STATUS_TONE) — the roster's status vocabulary (Live/Starting, reachability) no longer overlaps with RunStatus, so the parity guard no longer applies.

Test plan

  • bunx tsc -p apps/web --noEmit
  • bun run fmt
  • bun run lint
  • cd apps/web && bun run build
  • bun test ./src (from apps/web) — 584 pass

@linear-code

linear-code Bot commented Sep 18, 2026

Copy link
Copy Markdown

CL-8455

@TheGreatAxios
TheGreatAxios merged commit ec48390 into main Sep 18, 2026
4 checks passed
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