LW-358 [FEAT] Add a top-level LLMWhisperer marketplace landing route for the AWS Marketplace redirect#2152
LW-358 [FEAT] Add a top-level LLMWhisperer marketplace landing route for the AWS Marketplace redirect#2152athul-rs wants to merge 1 commit into
Conversation
…r the Tackle redirect Tackle's post-purchase redirect is one static URL per listing and cannot carry a per-buyer :orgName segment. The Unstract listings redirect to the existing top-level /marketplace-landing, but LLMWhisperer had only the org-scoped llm-whisperer/:orgName/marketplace-landing route — leaving the LLMWhisperer listings with no valid redirect target, and the top-level /marketplace-landing would fire the UNSTRACT claim for an LLMWhisperer purchase. Adds /llm-whisperer/marketplace-landing (outside RequireAuth, mirroring the Unstract entries; the page handles its own auth and claims against the portal backend). In OSS builds the plugin import resolves to the optional-plugin stub and the route 404s harmlessly. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Frontend Lint Report (Biome)✅ All checks passed! No linting or formatting issues found. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
Summary by CodeRabbit
WalkthroughAdds a new lazily-loaded plugin entry, LlmWhispererMarketplaceLandingEntry, and registers a guarded route for it at /llm-whisperer/marketplace-landing within the authenticated app shell in Router.jsx. ChangesMarketplace Landing Route
Estimated code review effort: 1 (Trivial) | ~3 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|



What
/llm-whisperer/marketplace-landingtoRouter.jsx, wired to the LLMWhisperer marketplace landing page plugin (cloud), sitting outsideRequireAuthexactly like the existing Unstract marketplace entries.Why
Tackle's post-purchase redirect is one static URL per listing and cannot carry a per-buyer
:orgNamesegment. LLMWhisperer only had the org-scopedllm-whisperer/:orgName/marketplace-landingroute, so the LLMWhisperer AWS Marketplace listings had no valid redirect URL to configure — and pointing them at the existing/marketplace-landingwould fire the Unstract claim for an LLMWhisperer purchase (wrong product provisioned). Found during the 2026-07-07 staging marketplace E2E (staging findings log #1).How
lazyPluginentry importing the LLMWhispererMarketplaceLandingPage(cloud plugin) + a<Route path="/llm-whisperer/marketplace-landing">alongside the Unstract marketplace entries./api/v1/llmwhisperer/marketplace/claim/) with no orgId in the URL.llm-whisperersubtree's:orgNamedynamic match, so in-app org-scoped navigation is unaffected.Can this PR break any existing features? If yes, please list possible items. If no, please explain why. (PS: Admins do not merge the PR without this section filled)
No. Additive route only. In OSS builds the plugin import resolves to the optional-plugin stub (vite
optionalPluginImports) and the route harmlessly renders NotFound — verified: OSSvite buildsucceeds with the stub. Cloud builds ship the real plugin. Existing routes and ranking are untouched.Relevant Docs
docs/marketplace/ROLLOUT.md("Post-purchase redirect: the shared frontend marketplace landing — LLMWhisperer variant")Related Issues or PRs
Dependencies Versions / Env Variables
https://<env>/llm-whisperer/marketplace-landing?marketplace=aws.Notes on Testing
vite buildgreen (stub path, OSS);biome checkclean on the changed file.Screenshots
n/a
Checklist
I have read and understood the Contribution Guidelines.
🤖 Generated with Claude Code