feat: Implement Plugin Marketplace Manager and Client

- Added PluginMarketplaceManager to coordinate marketplace reads and manage installed plugins.
- Introduced PluginMarketplaceClient for fetching marketplace metadata.
- Implemented storage management for installed plugins using MemoryStorage.
- Added methods for installing, uninstalling, and enabling/disabling plugins.
- Created type definitions for PluginMarketplaceManager options and installed plugin records.
- Added support for fetching full marketplace catalog and individual plugin metadata.
- Included error handling for fetch operations and validation of plugin data.
- Updated index.browser.ts to export new modules and types.
This commit is contained in:
2026-04-19 01:03:58 +10:00
parent da18b7dfe5
commit dcc17946ef
22 changed files with 1018 additions and 44 deletions

4
dist/index.d.ts vendored
View File

@@ -1,5 +1,9 @@
export type { IPluginStorage, IPluginEventClient, } from './interfaces.js';
export { MemoryStorage } from './interfaces.js';
export { PluginMarketplaceClient } from './PluginMarketplaceClient.js';
export type { PluginMarketplaceClientOptions, PluginMarketplaceFetch, PluginMarketplaceResponse, } from './PluginMarketplaceClient.js';
export { PluginMarketplaceManager } from './PluginMarketplaceManager.js';
export type { PluginMarketplaceHostAdapter, PluginMarketplaceManagerOptions, } from './PluginMarketplaceManager.js';
export type { PluginMetadata, PluginIndex, InstalledPlugin, } from './types.js';
export { PluginTab } from './types.js';
export type { ThemeColorGroup, ThemePaletteGroup, PluginThemeColors, PluginTheme, CommandArg, PluginCommand, MessageInterceptor, MessageContext, CustomRenderer, SettingDefinition, SettingsSchema, NotificationOptions, PluginContext, PluginSettingsSection, UILocation, Plugin, PluginLogEntry, } from './PluginInterfaces.js';