/** * Extension System - Loader Types * * Extension loading, manifest, and registry types. */ import type { ExtensionModule } from './core.js'; import type { ExtensionManifest } from './manifest.js'; export type { ExtensionManifest } from './manifest.js'; export interface ExtensionRecord { id: string; name: string; version?: string; path: string; module?: ExtensionModule; config?: Record; enabled: boolean; source: 'workspace' | 'global' | 'bundled' | 'config'; } export interface DiscoveredExtension { id: string; path: string; source: 'workspace' | 'global' | 'bundled' | 'config'; manifest: ExtensionManifest; } export interface ResolvedExtensionConfig { id: string; name: string; path: string; enabled: boolean; config?: Record; source: 'workspace' | 'global' | 'bundled' | 'config'; } export interface ExtensionLoaderConfig { extensions: ResolvedExtensionConfig[]; }