mirror of
https://github.com/nexu-io/open-design.git
synced 2026-06-01 03:14:35 +07:00
Plan G4 / spec §11.6.
router.ts gains two new Route variants — 'marketplace' and
'marketplace-detail' — plus parsing for both /marketplace/<id> and
the /plugins/<id> alias the public site (§13) reserves. App.tsx
dispatches them outside the EntryView / ProjectView split so the
discovery surface stays independent of any active project.
New components:
- MarketplaceView (apps/web/src/components/MarketplaceView.tsx)
- Card grid of every installed plugin with trust-tier filters
(All / Trusted / Restricted).
- Secondary 'Configured catalogs' panel listing every row in
/api/marketplaces with id / url / trust / plugin count.
- Cards link to /marketplace/<id>.
- PluginDetailView (apps/web/src/components/PluginDetailView.tsx)
- Loads /api/plugins/:id, renders header (title, version, trust,
sourceKind, taskKind), description, capability checklist,
connector requirements (required + optional), and declared GenUI
surfaces.
- 'Use this plugin' button calls applyPlugin(id) and navigates
back to Home so the existing inline rail / NewProjectPanel
surface picks up the snapshot.
Web tests: 579 → 586 (added router-marketplace 5 cases +
MarketplaceView 2 cases). Typecheck clean.
Co-authored-by: Tom Huang <1043269994@qq.com>
|
||
|---|---|---|
| .. | ||
| AgentIcon.test.tsx | ||
| App.connectors.test.tsx | ||
| App.mediaProviders.test.tsx | ||
| assistant-message-unfinished-todos.test.tsx | ||
| AssistantMessage.test.ts | ||
| auto-open-file.test.ts | ||
| chat-scroll-preservation.test.tsx | ||
| ChatComposer.search.test.tsx | ||
| ConnectorsBrowser.test.tsx | ||
| conversation-timestamps.test.tsx | ||
| DesignsTab.test.ts | ||
| EntryView.test.ts | ||
| examples-tab-filter-counts.test.tsx | ||
| examples-tab-retry.test.tsx | ||
| file-viewer-markdown-copy.test.tsx | ||
| file-viewer-render-mode.test.ts | ||
| FileViewer.test.tsx | ||
| FileWorkspace.test.tsx | ||
| GenUISurfaceRenderer.test.tsx | ||
| InlinePluginsRail.test.tsx | ||
| ManualEditPanel.test.tsx | ||
| MarketplaceView.test.tsx | ||
| modelOptions.test.tsx | ||
| NewProjectPanel.test.ts | ||
| NewProjectPanel.test.tsx | ||
| PluginInputsForm.test.tsx | ||
| PluginsSection.test.tsx | ||
| preview-modal-error-state.test.tsx | ||
| preview-modal-fullscreen.test.tsx | ||
| PreviewModal.test.tsx | ||
| ProjectView.run-cleanup.test.tsx | ||
| QuestionForm.test.tsx | ||
| QuickSwitcher.test.tsx | ||
| SettingsDialog.execution.test.tsx | ||
| SettingsDialog.orbit.test.tsx | ||
| SettingsDialog.test.ts | ||