Skip to content

feat: show agent conversations in the desktop inbox - #916

Merged
leynier merged 1 commit into
mainfrom
feat/agent-conversations-desktop
Oct 6, 2026
Merged

leynier merged 1 commit into
mainfrom
feat/agent-conversations-desktop

Conversation

@leynier

@leynier leynier commented Oct 6, 2026

Copy link
Copy Markdown
Owner

Summary

A read-only Agent Conversations view in the desktop inbox page, next to Questions.

  • A workspace filter. Each row shows the subject, participants (as "tab title (agent)" from the sidebar, falling back to the handle), the message count, the workspace, the last activity and a Group badge.
  • The detail lists the messages in order (from -> to, type, time, body). It never calls markRead and has no write actions.
  • conversationsChanged is registered in runtimeHostEventNames. The view refreshes on that event and on host connect and disconnect.

Stacked on the phase 2 host PR.

Validation

  • New agent_conversations_view_test and conversation model tests. Line coverage of the inbox domain files is 100%.
  • flutter analyze reports no issues, and the full flutter test passes (4361 passed, 4 skipped).
  • The max-lines ratchet and git diff --check pass.

Risk

The list loads at most 100 conversations, and there is no participant filter in the UI yet.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Important

The reply hint pasted into an agent's terminal cannot be run, and the status filter only searches the newest page of threads.

Reviewed changes — the full stack on main, not only the Agent Conversations view in the title: persisted ext: questions, the desktop and mobile inbox, the CLI, and a read-only conversation list.

  • Inbox store. Questions and replies live in orchestrationMessages, with expiry, a pending cap, retention, and additive inboxV1. The host protocol version is not bumped.
  • Desktop inbox. A shell overlay beside Run Board and Automations. Ask, follow-up, cancel, and purge. Opening a question marks it read for every client. Notifications omit reply text.
  • Agent conversations. A second view lists what agents send each other and never calls markRead.
  • Phone and CLI. Paired phones can ask and read, but not inbox.wait. alera inbox and orchestration ask --no-wait use the same host verbs.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using grok-4.7 | 𝕏

Comment thread rust/alera-cli/src/terminal_host/orchestration/message_formatter.rs Outdated
Comment thread rust/alera-core/src/runtime/inbox_queries.rs Outdated
Comment thread lib/src/features/inbox/presentation/inbox_composer_dialog.dart
@leynier
leynier force-pushed the feat/agent-conversations-desktop branch from 43b0989 to dea7143 Compare October 6, 2026 16:17
@leynier
leynier changed the base branch from main to feat/agent-conversations October 6, 2026 16:17
@leynier
leynier added this pull request to stack #919 October 6, 2026 16:17
@leynier
leynier force-pushed the feat/agent-conversations-desktop branch from dea7143 to 2bd07b4 Compare October 6, 2026 17:03
@leynier
leynier force-pushed the feat/agent-conversations-desktop branch from 2bd07b4 to e875986 Compare October 6, 2026 17:15

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Important

The reply hint pasted into an agent terminal still cannot be run. This commit does not change that banner.

Reviewed changes — the rewritten desktop conversations commit since 43b0989, now based on feat/agent-conversations.

  • Questions after an ask. Selecting a thread, composing, or opening a reply notification shows Questions, so a question sent from Agent Conversations is visible.
  • Paged conversations. Load More continues from nextBefore and drops extra pages when the watched first page refreshes.
  • Coverage. Widget and navigation tests lock the view switch and the page request.

⚠️ Reply hint cannot be run

The external banner still tells the agent to run alera orchestration reply --id <id> --body-stdin <<'EOF' ... EOF. That form fails in PowerShell 5.1, cmd, and nushell, and a one-line heredoc does not close in bash, so --body-stdin waits for an EOF the PTY never sends. Agents that follow it fail or hang instead of answering.

Technical details
# Portable inbox reply hint

## Affected sites
- `rust/alera-cli/src/terminal_host/orchestration/message_formatter.rs:60` — external banner prescribes `--body-stdin <<'EOF' ... EOF`
- `rust/alera-cli/src/terminal_host/orchestration/message_formatter.rs:249` — the unit test locks that string in

## Required outcome
- The banner must name a reply command the user's interactive shell can run (PowerShell 5.1, cmd, nushell, and bash) without waiting for an EOF the PTY will not send.
- Non-inbox banners already use `--body`. Do not prescribe a bash heredoc or bare `--body-stdin`.

## Open questions for the human
- This file is on the base, not in this commit. Land the fix on `feat/agent-conversations` or here.

Pullfrog  | Fix it ➔ | View workflow run | Using grok-4.7 | 𝕏

@leynier
leynier force-pushed the feat/agent-conversations-desktop branch 7 times, most recently from b42b9b5 to eea6a5e Compare October 6, 2026 21:24
Base automatically changed from feat/agent-conversations to main October 6, 2026 21:49
@leynier
leynier force-pushed the feat/agent-conversations-desktop branch from eea6a5e to c7ea50a Compare October 6, 2026 21:49
@leynier
leynier merged commit bcb4c09 into main Oct 6, 2026
21 checks passed
@leynier
leynier deleted the feat/agent-conversations-desktop branch October 6, 2026 22:07
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