Skip to content

feat(v2): wire marketplace discover → inspect → install loop#463

Merged
samxu01 merged 1 commit into
mainfrom
feat/marketplace-discover-install-loop
May 31, 2026
Merged

feat(v2): wire marketplace discover → inspect → install loop#463
samxu01 merged 1 commit into
mainfrom
feat/marketplace-discover-install-loop

Conversation

@samxu01
Copy link
Copy Markdown
Contributor

@samxu01 samxu01 commented May 31, 2026

Summary

The marketplace had three good pieces that weren't connected into a loop. This wires them — no new features, purely activating already-shipped work:

  • Browse → inspect: browse cards (featured + All Apps) now link to the v2-native detail page (V2MarketplaceDetailPage, feat(v2-marketplace): manifest detail page at /v2/marketplace/:installableId #439), which was previously orphaned (nothing linked to it). Gated on useV2Embedded — the detail route is v2-only, so the legacy /apps mount is unchanged.
  • Inspect → install: the detail page's "Install" already navigated to /v2/agents/browse?installable=<id>, but AgentsHub only read podId/agent/instanceId/view/tab — the param was dropped. AgentsHub now consumes ?installable=<id> and auto-opens its existing install dialog for the matching catalog agent (matches installableId/name/id; no-ops gracefully if the catalog doesn't carry it, so a miss just leaves the user on the browse list — no regression).

Result: discover → inspect → install → talk now flows end-to-end (talk-to was landed in #462).

Backend (#215/#230) + detail page (#439) were already shipped; this is ~48 lines of wiring. Publish/fork/My-Manifests UI intentionally deferred (creator-side, post-GTM).

Test plan

  • CI: lint + tsc + jest (incl. updated AppsMarketplacePage.test.tsx, now wrapped in MemoryRouter for the new useNavigate)
  • Local/dev browser: in v2, marketplace browse card → detail page renders → "Install" opens the install dialog pre-targeted to that listing
  • v1 /apps mount unchanged (cards not clickable-to-detail there)

The marketplace had three disconnected pieces: a (legacy-MUI) browse page,
a v2-native detail page (#439) nothing linked to, and a detail "Install"
button that bounced to /v2/agents/browse?installable=<id> — a param AgentsHub
never read, so nothing installed. This connects them:

- Browse cards (featured + All Apps) link to the v2 detail page in the v2
  shell (gated on useV2Embedded; the detail route has no v1 equivalent).
- AgentsHub consumes ?installable=<id> and auto-opens its existing install
  dialog for the matching catalog agent (matches installableId/name/id;
  no-ops gracefully if the catalog doesn't carry it — no regression).

Activates already-shipped backend (#215/#230) + detail page (#439) into a
working funnel. Publish/fork UI intentionally deferred.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@samxu01 samxu01 merged commit 1285ca9 into main May 31, 2026
10 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