import type { DependencyManager } from './DependencyManager'; import type { AgentContext } from '../agent'; import type { FeatureRegistry } from '../agent/FeatureRegistry'; import type { Update } from '../storage/migration/updates'; import type { Constructor } from '../utils/mixins'; export interface Module { api?: Constructor; register(dependencyManager: DependencyManager, featureRegistry: FeatureRegistry): void; initialize?(agentContext: AgentContext): Promise; /** * List of updates that should be executed when the framework version is updated. */ updates?: Update[]; } export interface ApiModule extends Module { api: Constructor; }