web: deeplink fallback page for agent session links
Summary
Agent commits and PRs are getting an Agent-Session: link (manaflow-ai/cmuxterm-hq#2555). cmux:// links aren't clickable on GitHub, so the link points at https://cmux.com/deeplink/agent?harness=claude&session=<id>&host=<machine>&name=<callsign>. This adds that agent kind to the existing deeplink fallback page. The page validates the four params and offers "Open in cmux" with the path form cmux NEXT parses: cmux://agent/<harness>/<session>?host=&name=.
The page shows nothing beyond what the URL already contains. It does no lookup, and shows no cwd, no account, and no attach or message action. Any other param (cwd, account, message, …) makes the link invalid, and it's never echoed back. Opening the session is up to the app, which only reveals a session it can already reach. The link grants no access.
Testing
web/tests/deeplink-agent.test.ts(bun): native href building, charset and length limits for each param, rejection of invalid input, and the model exposing exactly harness/session/host/name/href with extra params rejected and never echoed. The test commit 738c7e54 has no implementation and fails; 9a73d717 passes. The tests weren't run on this Mac (no heavy node work here), so CI's web lane is what runs them.- Strings are in all 20
web/messageslocales.
Changelog
Added: cmux.com deeplink page for agent session links
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Adds an agent kind to the cmux.com deeplink fallback page so Agent-Session: links in commits and PRs are clickable on GitHub. The page validates the harness, session, host, and name URL params and offers "Open in cmux" via the path-form cmux://agent/<harness>/<session>?host=&name= URL that cmux NEXT parses.
The page shows only fields the URL already contains, grants no access, and rejects any extra param (like cwd or message) without echoing it. Values that are dots-only, such as .., are rejected as well because URL parsers would collapse them. Includes unit tests and copy in all 20 locales.
Summary by CodeRabbit
- New Features
- Added agent-session deep links that can open a session in cmux when the Mac already has access; links do not grant access.
- The page validates link details, displays the session name, host, and harness when provided, and offers fallback instructions if a link can’t be opened.
- Added translations for the new page across supported languages.