plugins
Chive Plugin System.
Remarks
This module provides the complete plugin system for Chive, including:
- Plugin lifecycle management (loading, unloading, reloading)
- Event bus with permission-enforced hooks
- Security sandbox with resource limits
- Builtin plugins for external integrations
Example
import {
PluginManager,
PluginEventBus,
registerPluginSystem,
GitHubIntegrationPlugin,
} from './plugins';
// Register plugin system with DI container
registerPluginSystem();
// Get manager and load plugins
const manager = container.resolve(PluginManager);
await manager.loadBuiltinPlugin(new GitHubIntegrationPlugin(), {
githubToken: process.env.GITHUB_TOKEN,
});
Classes
- ArxivPlugin
- BasePlugin
- DoiRegistrationPlugin
- GitHubIntegrationPlugin
- ImportingPlugin
- ImportScheduler
- IsolatedVmSandbox
- LingBuzzPlugin
- OpenAlexPlugin
- OpenReviewPlugin
- OrcidLinkingPlugin
- PermissionEnforcer
- PluginContextFactory
- PluginEventBus
- PluginLoader
- PluginManager
- PsyArxivPlugin
- ResourceGovernor
- ScopedPluginEventBus
- SemanticsArchivePlugin
- SemanticScholarPlugin
Interfaces
- ArxivPaper
- CitationEdge
- DoiAuthor
- DoiMetadata
- GitHubRepoInfo
- ImportCycleResult
- ImportSchedulerOptions
- LingBuzzPaper
- OpenAlexAuthor
- OpenAlexAuthorship
- OpenAlexConcept
- OpenAlexKeyword
- OpenAlexLocation
- OpenAlexTopic
- OpenAlexWork
- OpenReviewPaper
- OrcidProfile
- PluginScheduleConfig
- PsyArxivPaper
- ScheduledPluginState
- SemanticsArchivePaper
- SemanticScholarAuthor
- SemanticScholarAuthorRef
- SemanticScholarPaper
- TextClassificationResult