Skip to content

Bring the agent-core changes of desktop 0.0.1 to main - #608

Merged
sosidudku1 merged 1 commit into
mainfrom
feat/core-parity-desktop-001
Oct 5, 2026
Merged

sosidudku1 merged 1 commit into
mainfrom
feat/core-parity-desktop-001

Conversation

@sosidudku1

Copy link
Copy Markdown
Collaborator

The agent-core (src/) files that still differ between main and rel/xp-build, taken as they are in the desktop 0.0.1 build (rel/xp-build @ a283d48). After this PR, src/ on main is the same as on the desktop branch, so the terminal and the desktop app run the same agent.

#595 left these on rel/xp-build because the HTTP extensions they build on lived only there. This PR brings the extensions and everything built on them together.

What changes

  • HTTP extensions the desktop app talks to: coding mode over HTTP (route-coding-mode), the context preview before the first message (route-context-preview), the per-request context and the route table entries for both. Session rows carry their title.
  • SSE frames:
    • error / provider_waiting name the billing cause and the links that failed before;
    • a stopped turn's loop_failed frame reads as cancelled;
    • Fusion worker progress is a named frame;
    • a reply that never streamed still reaches a streaming client.
  • fix(http): keep idle SSE streams alive and stop replaying dead approvals #607: idle SSE streams get a : keepalive comment every 15 s, and dead approval requests are no longer replayed. If fix(http): keep idle SSE streams alive and stop replaying dead approvals #607 is merged first, this PR's diff shrinks by those files; the result is the same.
  • Runtime: previewPrompt in bootstrap.ts builds (never runs or stores) the prompt the next turn would open with, for the context preview; the approval gate answers isPending(id) for a host that mirrors requests.
  • Tests: frame tests for cancel, failure, Fusion worker and reply; provider-waiting stream; coding mode; context preview; the fallback billing integration test.

Nothing outside src/ changes. The TUI does not call the new routes. They are only reached by a client of atomic-agent serve, such as the desktop app.

Checks

  • On the MacBook Pro, with this branch: agent lint and build clean; the whole vitest suite 12 515 passed, 4 skipped, 1 failed. The failure is the known EACCES in local-models-orchestrator-auto-update.test.ts, which also fails on a clean main.
  • The same files are what the desktop 0.0.1 build runs. It passed the full desktop smoke (1214 passed; the 14 failures are the known bench ones), the e2e scenarios (8/8), and a signed 0.0.90 → 0.0.91 app update on macOS.

The src/ files that still differ between main and rel/xp-build, taken as
they are in the desktop 0.0.1 build (rel/xp-build a283d48): the HTTP
extensions the desktop talks to (coding mode, context preview, request
context, the route table), the SSE frames built on them (billing cause and
failed links, the cancelled loop_failed frame, Fusion worker frames, the
reply frame), the idle-stream keepalive and dead-approval fix of #607, and
their tests. After this, src/ on main equals src/ on rel/xp-build.
@sosidudku1
sosidudku1 merged commit 58075e4 into main Oct 5, 2026
2 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