/** * OpenKernel — Federation Plugin * * Thin wrapper so a harness can enable the mesh via kernel.registerPlugin(...). * The Federation manager already subscribes to events through the kernel it's * given; this plugin just owns its lifecycle (start on register, stop on * destroy) and exposes the running manager for callers that want it. */ import type { Logger, Plugin } from '../types.js'; import { Federation, type FederationOptions } from './federation.js'; import { type ManifestInputs } from './node-identity.js'; import type { NodeRole } from './types.js'; export interface FederationPluginOptions extends FederationOptions { role?: NodeRole; displayName?: string; storageDir?: string; logger?: Logger; /** Supplies the manifest inputs (caps/workers/commands/providers). */ describe: () => ManifestInputs; } export interface FederationPlugin extends Plugin { readonly federation: Federation; } export declare function createFederationPlugin(opts: FederationPluginOptions): FederationPlugin;