/** * Plugin lifecycle system, barrel export and factory. * * Gated by the `plugin-lifecycle` capability gate (runtime.pluginLifecycle). Import and call * `createPluginLifecycleManager()` at startup after the gate * manager has been initialised. * * @example * ```ts * import { createPluginLifecycleManager } from './src/runtime/plugins/index.js'; * * const lcm = createPluginLifecycleManager({ sessionId: session.id, runtimeBus }); * lcm.scanAndRegister(); * ``` */ export type { PluginCapability, PluginCapabilityManifest, PluginManifestV2, PluginTransition, TransitionResult, PluginHealthCheckResult, PluginLifecycleRecord, PluginLifecycleManagerOptions, PluginLifecycleState, } from './types.js'; export { ALL_CAPABILITIES, HIGH_RISK_CAPABILITIES, MAX_TRANSITION_HISTORY } from './types.js'; export { VALID_TRANSITIONS, canTransition, applyTransition, isOperational, isReloadable, isTerminal, } from './lifecycle.js'; export { resolveCapabilityManifest, hasCapability, validateManifestV2, } from './manifest.js'; export { PluginLifecycleManager } from './manager.js'; import { PluginLifecycleManager } from './manager.js'; import type { FeatureFlagManager } from '../feature-flags/index.js'; export type { PluginTrustTier, PluginTrustRecord, SignatureValidationResult, } from './trust.js'; export { PluginTrustStore, validatePluginSignature, filterCapabilitiesByTrust, SAFE_CAPABILITIES, } from './trust.js'; export type { QuarantineRecord } from './quarantine.js'; export { PluginQuarantineEngine } from './quarantine.js'; export { isHighRiskCapability } from './manifest.js'; export type { HotReloadOptions, HotReloadResult } from './hot-reload.js'; export { runHotReload } from './hot-reload.js'; /** * createPluginLifecycleManager, Factory function for the PluginLifecycleManager. * * Intended as the primary entry point for consumers. Respects the * `plugin-lifecycle` capability gate, callers should check the gate before * invoking if they want to gate the entire system. * * @param options - Optional manager configuration. * @returns A new PluginLifecycleManager instance. */ export declare function createPluginLifecycleManager(options?: import('./types.js').PluginLifecycleManagerOptions, flagManager?: Pick | null): PluginLifecycleManager; //# sourceMappingURL=index.d.ts.map