/** * Built-in plugin bootstrap. * * Creates the kernel (registry + event bus + lifecycle) and registers all * first-party plugins. This is the canonical entry point for the microkernel * runtime. * * Intentionally does NOT depend on DeviceManager — the legacy facade reads * adapters from the kernel via a static factory (see DeviceManager.fromKernel). */ import type { Logger, SourcePlugin, ToolDefinition } from "@claude-in-mobile/plugin-api"; import { InMemoryEventBus } from "../kernel/eventbus.js"; import { type PluginRegistry } from "../kernel/registry.js"; import { LifecycleOrchestrator } from "../kernel/lifecycle.js"; import { CapabilityResolver } from "../kernel/resolver.js"; export interface KernelHandle { readonly registry: PluginRegistry; readonly eventBus: InMemoryEventBus; readonly resolver: CapabilityResolver; readonly lifecycle: LifecycleOrchestrator; readonly tools: ReadonlyMap; initAll(): Promise; disposeAll(): Promise; getPlugin(id: string): T | undefined; } export interface BootstrapOptions { logger?: Logger; configFor?: (pluginId: string) => Record; builtins?: ReadonlyArray<() => SourcePlugin>; /** * Discover third-party plugins from the filesystem. * - `true` → scan `~/.claude-in-mobile/plugins/` (default off — opt-in for now) * - object → forwarded to `ExternalPluginLoader` for custom roots/api versions */ externalPlugins?: boolean | { additionalRoots?: ReadonlyArray; supportedApiVersions?: ReadonlyArray; }; } export declare function bootstrapKernelAsync(options?: BootstrapOptions): Promise; export declare function bootstrapKernel(options?: BootstrapOptions): KernelHandle; //# sourceMappingURL=bootstrap.d.ts.map