import { NodeCodeFactory } from './node-code/node-code-factory.js'; import { Catalog } from './catalog/catalog.js'; import { EventDispatcher } from './events/event-dispatcher.js'; import { ProcessEngine } from './engine/process-engine.js'; import { ProcessFactory } from './process/process-factory.js'; import { Runner } from './runner/runner.js'; import { FeralToolRegistry } from './feral-tool-registry.js'; import type { ProcessSource } from './process/process-factory.js'; import type { Process } from './process/process.js'; /** * The assembled Feral runtime, ready to execute processes. */ export interface FeralRuntime { readonly nodeCodeFactory: NodeCodeFactory; readonly catalog: Catalog; readonly eventDispatcher: EventDispatcher; readonly engine: ProcessEngine; readonly processFactory: ProcessFactory; readonly runner: Runner; readonly toolRegistry: FeralToolRegistry; readonly vaultProcesses: Process[]; } export interface BootstrapOptions { processSources?: ProcessSource[]; /** 'node' (default) includes all node codes; 'mobile' excludes CLI, Slack, A2A, PAMP, Scheduler, raw file I/O */ platform?: 'node' | 'mobile'; } /** * Bootstrap the full Feral runtime: * 1. Creates NodeCodeFactory with all built-in node codes * 2. Loads user-defined catalog config from ~/.phaibel/feral-catalog.json * 3. Builds Catalog from built-in + user-defined sources * 4. Wires EventDispatcher, ProcessEngine, ProcessFactory, Runner */ export declare function bootstrapFeral(processSourcesOrOpts?: ProcessSource[] | BootstrapOptions): Promise; //# sourceMappingURL=bootstrap.d.ts.map