@vlian/framework 1.2.62 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -141
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -9
- package/dist/index.js +1 -1
- package/dist/index.umd.js +10 -220
- package/dist/kernel/constants.cjs +1 -1
- package/dist/kernel/constants.d.ts +1 -3
- package/dist/kernel/constants.js +1 -1
- package/dist/kernel/custom-manager/i18n/constants.cjs +1 -0
- package/dist/kernel/custom-manager/i18n/constants.d.ts +4 -0
- package/dist/kernel/custom-manager/i18n/constants.js +1 -0
- package/dist/kernel/custom-manager/i18n/index.cjs +1 -0
- package/dist/kernel/custom-manager/i18n/index.d.ts +7 -0
- package/dist/kernel/custom-manager/i18n/index.js +1 -0
- package/dist/kernel/custom-manager/i18n/types.d.ts +10 -0
- package/dist/kernel/custom-manager/index.cjs +1 -0
- package/dist/kernel/custom-manager/index.d.ts +4 -0
- package/dist/kernel/custom-manager/index.js +1 -0
- package/dist/kernel/custom-manager/theme/constants.cjs +1 -0
- package/dist/kernel/custom-manager/theme/constants.d.ts +4 -0
- package/dist/kernel/custom-manager/theme/constants.js +1 -0
- package/dist/kernel/custom-manager/theme/index.cjs +1 -0
- package/dist/kernel/custom-manager/theme/index.d.ts +7 -0
- package/dist/kernel/custom-manager/theme/index.js +1 -0
- package/dist/kernel/custom-manager/theme/types.d.ts +14 -0
- package/dist/kernel/index.cjs +1 -1
- package/dist/kernel/index.d.ts +4 -2
- package/dist/kernel/index.js +1 -1
- package/dist/kernel/kernel.cjs +1 -1
- package/dist/kernel/kernel.d.ts +3 -7
- package/dist/kernel/kernel.js +1 -1
- package/dist/kernel/manager/i18n/I18nManager.cjs +1 -1
- package/dist/kernel/manager/i18n/I18nManager.d.ts +2 -1
- package/dist/kernel/manager/i18n/I18nManager.js +1 -1
- package/dist/kernel/manager/i18n/i18n.persistence.d.ts +2 -1
- package/dist/kernel/manager/i18n/i18n.runtime.cjs +1 -0
- package/dist/kernel/manager/i18n/i18n.runtime.d.ts +8 -0
- package/dist/kernel/manager/i18n/i18n.runtime.js +1 -0
- package/dist/kernel/manager/i18n/i18n.schema.d.ts +1 -1
- package/dist/kernel/manager/i18nManager.cjs +1 -1
- package/dist/kernel/manager/i18nManager.d.ts +1 -1
- package/dist/kernel/manager/i18nManager.js +1 -1
- package/dist/kernel/manager/index.cjs +1 -1
- package/dist/kernel/manager/index.d.ts +0 -2
- package/dist/kernel/manager/index.js +1 -1
- package/dist/kernel/manager/theme/ThemeManager.cjs +1 -1
- package/dist/kernel/manager/theme/ThemeManager.d.ts +8 -1
- package/dist/kernel/manager/theme/ThemeManager.js +1 -1
- package/dist/kernel/manager/theme/theme.dom.cjs +1 -1
- package/dist/kernel/manager/theme/theme.dom.d.ts +10 -3
- package/dist/kernel/manager/theme/theme.dom.js +1 -1
- package/dist/kernel/manager/theme/theme.persistence.d.ts +2 -1
- package/dist/kernel/manager/theme/theme.schema.cjs +1 -1
- package/dist/kernel/manager/theme/theme.schema.d.ts +3 -1
- package/dist/kernel/manager/theme/theme.schema.js +1 -1
- package/dist/kernel/manager/themeManager.cjs +1 -1
- package/dist/kernel/manager/themeManager.d.ts +1 -1
- package/dist/kernel/manager/themeManager.js +1 -1
- package/dist/kernel/types.d.ts +10 -39
- package/package.json +19 -127
- package/dist/analytics/index.cjs +0 -1
- package/dist/analytics/index.d.ts +0 -2
- package/dist/analytics/index.js +0 -1
- package/dist/analytics.umd.js +0 -19
- package/dist/components/LocaleSwitch.cjs +0 -1
- package/dist/components/LocaleSwitch.d.ts +0 -21
- package/dist/components/LocaleSwitch.js +0 -1
- package/dist/components/ThemeSwitch.cjs +0 -1
- package/dist/components/ThemeSwitch.d.ts +0 -20
- package/dist/components/ThemeSwitch.js +0 -1
- package/dist/components/index.cjs +0 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.js +0 -1
- package/dist/components/persistence.cjs +0 -1
- package/dist/components/persistence.d.ts +0 -12
- package/dist/components/persistence.js +0 -1
- package/dist/core/Test.cjs +0 -1
- package/dist/core/Test.d.ts +0 -5
- package/dist/core/Test.js +0 -1
- package/dist/core/app/AppContext.cjs +0 -1
- package/dist/core/app/AppContext.d.ts +0 -113
- package/dist/core/app/AppContext.js +0 -1
- package/dist/core/app/AppContext.types.cjs +0 -1
- package/dist/core/app/AppContext.types.d.ts +0 -146
- package/dist/core/app/AppContext.types.js +0 -1
- package/dist/core/app/BasicLayout.cjs +0 -1
- package/dist/core/app/BasicLayout.d.ts +0 -15
- package/dist/core/app/BasicLayout.js +0 -1
- package/dist/core/app/DefaultApp.cjs +0 -1
- package/dist/core/app/DefaultApp.d.ts +0 -10
- package/dist/core/app/DefaultApp.js +0 -1
- package/dist/core/app/index.cjs +0 -1
- package/dist/core/app/index.d.ts +0 -8
- package/dist/core/app/index.js +0 -1
- package/dist/core/config/AppConfig.cjs +0 -1
- package/dist/core/config/AppConfig.d.ts +0 -88
- package/dist/core/config/AppConfig.js +0 -1
- package/dist/core/config/ConfigLoader.cjs +0 -1
- package/dist/core/config/ConfigLoader.d.ts +0 -118
- package/dist/core/config/ConfigLoader.js +0 -1
- package/dist/core/config/ConfigValidator.cjs +0 -2
- package/dist/core/config/ConfigValidator.d.ts +0 -84
- package/dist/core/config/ConfigValidator.js +0 -2
- package/dist/core/config/index.cjs +0 -1
- package/dist/core/config/index.d.ts +0 -6
- package/dist/core/config/index.js +0 -1
- package/dist/core/dev/DevTools.cjs +0 -1
- package/dist/core/dev/DevTools.d.ts +0 -16
- package/dist/core/dev/DevTools.js +0 -1
- package/dist/core/error/ErrorBoundary.cjs +0 -1
- package/dist/core/error/ErrorBoundary.d.ts +0 -121
- package/dist/core/error/ErrorBoundary.js +0 -1
- package/dist/core/error/ErrorHandler.cjs +0 -1
- package/dist/core/error/ErrorHandler.d.ts +0 -171
- package/dist/core/error/ErrorHandler.js +0 -1
- package/dist/core/error/index.cjs +0 -1
- package/dist/core/error/index.d.ts +0 -7
- package/dist/core/error/index.js +0 -1
- package/dist/core/event/AppEventBus.cjs +0 -1
- package/dist/core/event/AppEventBus.d.ts +0 -178
- package/dist/core/event/AppEventBus.js +0 -1
- package/dist/core/event/frameworkEvents.cjs +0 -1
- package/dist/core/event/frameworkEvents.d.ts +0 -69
- package/dist/core/event/frameworkEvents.js +0 -1
- package/dist/core/event/hooks.cjs +0 -1
- package/dist/core/event/hooks.d.ts +0 -57
- package/dist/core/event/hooks.js +0 -1
- package/dist/core/event/index.cjs +0 -1
- package/dist/core/event/index.d.ts +0 -10
- package/dist/core/event/index.js +0 -1
- package/dist/core/event/types.cjs +0 -1
- package/dist/core/event/types.d.ts +0 -269
- package/dist/core/event/types.js +0 -1
- package/dist/core/event/useEventBus.cjs +0 -1
- package/dist/core/event/useEventBus.d.ts +0 -28
- package/dist/core/event/useEventBus.js +0 -1
- package/dist/core/index.cjs +0 -1
- package/dist/core/index.d.ts +0 -54
- package/dist/core/index.js +0 -1
- package/dist/core/initialization/InitializationErrorThrower.cjs +0 -1
- package/dist/core/initialization/InitializationErrorThrower.d.ts +0 -7
- package/dist/core/initialization/InitializationErrorThrower.js +0 -1
- package/dist/core/initialization/index.cjs +0 -1
- package/dist/core/initialization/index.d.ts +0 -7
- package/dist/core/initialization/index.js +0 -1
- package/dist/core/initialization/initialization.cjs +0 -1
- package/dist/core/initialization/initialization.d.ts +0 -69
- package/dist/core/initialization/initialization.js +0 -1
- package/dist/core/initialization/initializationErrorState.cjs +0 -1
- package/dist/core/initialization/initializationErrorState.d.ts +0 -35
- package/dist/core/initialization/initializationErrorState.js +0 -1
- package/dist/core/kernel/defaultAdapters.cjs +0 -1
- package/dist/core/kernel/defaultAdapters.d.ts +0 -2
- package/dist/core/kernel/defaultAdapters.js +0 -1
- package/dist/core/kernel/errors.cjs +0 -1
- package/dist/core/kernel/errors.d.ts +0 -18
- package/dist/core/kernel/errors.js +0 -1
- package/dist/core/kernel/index.cjs +0 -1
- package/dist/core/kernel/index.d.ts +0 -3
- package/dist/core/kernel/index.js +0 -1
- package/dist/core/kernel/startKernel.cjs +0 -1
- package/dist/core/kernel/startKernel.d.ts +0 -2
- package/dist/core/kernel/startKernel.js +0 -1
- package/dist/core/kernel/types.cjs +0 -1
- package/dist/core/kernel/types.d.ts +0 -114
- package/dist/core/kernel/types.js +0 -1
- package/dist/core/middleware.cjs +0 -1
- package/dist/core/middleware.d.ts +0 -36
- package/dist/core/middleware.js +0 -1
- package/dist/core/plugin/PluginEventBus.cjs +0 -1
- package/dist/core/plugin/PluginEventBus.d.ts +0 -169
- package/dist/core/plugin/PluginEventBus.js +0 -1
- package/dist/core/plugin/PluginSandbox.cjs +0 -1
- package/dist/core/plugin/PluginSandbox.d.ts +0 -101
- package/dist/core/plugin/PluginSandbox.js +0 -1
- package/dist/core/plugin.cjs +0 -1
- package/dist/core/plugin.d.ts +0 -224
- package/dist/core/plugin.js +0 -1
- package/dist/core/router/RouterManager.cjs +0 -1
- package/dist/core/router/RouterManager.d.ts +0 -87
- package/dist/core/router/RouterManager.js +0 -1
- package/dist/core/router/adapter/AdapterManager.cjs +0 -1
- package/dist/core/router/adapter/AdapterManager.d.ts +0 -94
- package/dist/core/router/adapter/AdapterManager.js +0 -1
- package/dist/core/router/adapter/index.cjs +0 -1
- package/dist/core/router/adapter/index.d.ts +0 -6
- package/dist/core/router/adapter/index.js +0 -1
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +0 -1
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.d.ts +0 -43
- package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +0 -1
- package/dist/core/router/adapter/react-router/index.cjs +0 -1
- package/dist/core/router/adapter/react-router/index.d.ts +0 -4
- package/dist/core/router/adapter/react-router/index.js +0 -1
- package/dist/core/router/adapter/types.cjs +0 -1
- package/dist/core/router/adapter/types.d.ts +0 -111
- package/dist/core/router/adapter/types.js +0 -1
- package/dist/core/router/dev/RouterDevTools.cjs +0 -1
- package/dist/core/router/dev/RouterDevTools.d.ts +0 -5
- package/dist/core/router/dev/RouterDevTools.js +0 -1
- package/dist/core/router/dev/index.cjs +0 -1
- package/dist/core/router/dev/index.d.ts +0 -4
- package/dist/core/router/dev/index.js +0 -1
- package/dist/core/router/dynamic/DynamicRouteManager.cjs +0 -1
- package/dist/core/router/dynamic/DynamicRouteManager.d.ts +0 -71
- package/dist/core/router/dynamic/DynamicRouteManager.js +0 -1
- package/dist/core/router/dynamic/index.cjs +0 -1
- package/dist/core/router/dynamic/index.d.ts +0 -4
- package/dist/core/router/dynamic/index.js +0 -1
- package/dist/core/router/errors/RouterError.cjs +0 -1
- package/dist/core/router/errors/RouterError.d.ts +0 -48
- package/dist/core/router/errors/RouterError.js +0 -1
- package/dist/core/router/errors/index.cjs +0 -1
- package/dist/core/router/errors/index.d.ts +0 -4
- package/dist/core/router/errors/index.js +0 -1
- package/dist/core/router/index.cjs +0 -1
- package/dist/core/router/index.d.ts +0 -16
- package/dist/core/router/index.js +0 -1
- package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +0 -1
- package/dist/core/router/lifecycle/RouterLifecycleManager.d.ts +0 -56
- package/dist/core/router/lifecycle/RouterLifecycleManager.js +0 -1
- package/dist/core/router/lifecycle/index.cjs +0 -1
- package/dist/core/router/lifecycle/index.d.ts +0 -4
- package/dist/core/router/lifecycle/index.js +0 -1
- package/dist/core/router/middleware/RouterMiddlewareManager.cjs +0 -1
- package/dist/core/router/middleware/RouterMiddlewareManager.d.ts +0 -61
- package/dist/core/router/middleware/RouterMiddlewareManager.js +0 -1
- package/dist/core/router/middleware/auth.cjs +0 -1
- package/dist/core/router/middleware/auth.d.ts +0 -54
- package/dist/core/router/middleware/auth.js +0 -1
- package/dist/core/router/middleware/index.cjs +0 -1
- package/dist/core/router/middleware/index.d.ts +0 -6
- package/dist/core/router/middleware/index.js +0 -1
- package/dist/core/router/middleware/types.cjs +0 -1
- package/dist/core/router/middleware/types.d.ts +0 -82
- package/dist/core/router/middleware/types.js +0 -1
- package/dist/core/router/monitoring/RouterMonitoring.cjs +0 -1
- package/dist/core/router/monitoring/RouterMonitoring.d.ts +0 -134
- package/dist/core/router/monitoring/RouterMonitoring.js +0 -1
- package/dist/core/router/monitoring/index.cjs +0 -1
- package/dist/core/router/monitoring/index.d.ts +0 -4
- package/dist/core/router/monitoring/index.js +0 -1
- package/dist/core/router/navigation/RouterNavigation.cjs +0 -1
- package/dist/core/router/navigation/RouterNavigation.d.ts +0 -43
- package/dist/core/router/navigation/RouterNavigation.js +0 -1
- package/dist/core/router/navigation/index.cjs +0 -1
- package/dist/core/router/navigation/index.d.ts +0 -4
- package/dist/core/router/navigation/index.js +0 -1
- package/dist/core/router/performance/RouteCache.cjs +0 -1
- package/dist/core/router/performance/RouteCache.d.ts +0 -113
- package/dist/core/router/performance/RouteCache.js +0 -1
- package/dist/core/router/performance/RoutePreloader.cjs +0 -1
- package/dist/core/router/performance/RoutePreloader.d.ts +0 -111
- package/dist/core/router/performance/RoutePreloader.js +0 -1
- package/dist/core/router/performance/index.cjs +0 -1
- package/dist/core/router/performance/index.d.ts +0 -5
- package/dist/core/router/performance/index.js +0 -1
- package/dist/core/router/plugin/RouterPluginManager.cjs +0 -1
- package/dist/core/router/plugin/RouterPluginManager.d.ts +0 -74
- package/dist/core/router/plugin/RouterPluginManager.js +0 -1
- package/dist/core/router/plugin/index.cjs +0 -1
- package/dist/core/router/plugin/index.d.ts +0 -5
- package/dist/core/router/plugin/index.js +0 -1
- package/dist/core/router/plugin/types.cjs +0 -1
- package/dist/core/router/plugin/types.d.ts +0 -153
- package/dist/core/router/plugin/types.js +0 -1
- package/dist/core/router/types.cjs +0 -1
- package/dist/core/router/types.d.ts +0 -464
- package/dist/core/router/types.js +0 -1
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +0 -1
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.d.ts +0 -2
- package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +0 -1
- package/dist/core/router/utils/adapters/react-router/transform.cjs +0 -1
- package/dist/core/router/utils/adapters/react-router/transform.d.ts +0 -5
- package/dist/core/router/utils/adapters/react-router/transform.js +0 -1
- package/dist/core/router/utils/transform.cjs +0 -1
- package/dist/core/router/utils/transform.d.ts +0 -348
- package/dist/core/router/utils/transform.js +0 -1
- package/dist/core/router/validation/RouterConfigValidator.cjs +0 -2
- package/dist/core/router/validation/RouterConfigValidator.d.ts +0 -121
- package/dist/core/router/validation/RouterConfigValidator.js +0 -2
- package/dist/core/router/validation/index.cjs +0 -1
- package/dist/core/router/validation/index.d.ts +0 -5
- package/dist/core/router/validation/index.js +0 -1
- package/dist/core/router/validation/schema.cjs +0 -1
- package/dist/core/router/validation/schema.d.ts +0 -180
- package/dist/core/router/validation/schema.js +0 -1
- package/dist/core/router/version/RouteVersionManager.cjs +0 -1
- package/dist/core/router/version/RouteVersionManager.d.ts +0 -124
- package/dist/core/router/version/RouteVersionManager.js +0 -1
- package/dist/core/router/version/index.cjs +0 -1
- package/dist/core/router/version/index.d.ts +0 -4
- package/dist/core/router/version/index.js +0 -1
- package/dist/core/splash/SplashScreen.cjs +0 -1
- package/dist/core/splash/SplashScreen.d.ts +0 -14
- package/dist/core/splash/SplashScreen.js +0 -1
- package/dist/core/splash/index.cjs +0 -1
- package/dist/core/splash/index.d.ts +0 -5
- package/dist/core/splash/index.js +0 -1
- package/dist/core/splash/splashScreenUtils.cjs +0 -1
- package/dist/core/splash/splashScreenUtils.d.ts +0 -7
- package/dist/core/splash/splashScreenUtils.js +0 -1
- package/dist/core/startup/AppInstance.cjs +0 -1
- package/dist/core/startup/AppInstance.d.ts +0 -138
- package/dist/core/startup/AppInstance.js +0 -1
- package/dist/core/startup/environment.cjs +0 -1
- package/dist/core/startup/environment.d.ts +0 -87
- package/dist/core/startup/environment.js +0 -1
- package/dist/core/startup/index.cjs +0 -1
- package/dist/core/startup/index.d.ts +0 -7
- package/dist/core/startup/index.js +0 -1
- package/dist/core/startup/initializeServices.cjs +0 -1
- package/dist/core/startup/initializeServices.d.ts +0 -68
- package/dist/core/startup/initializeServices.js +0 -1
- package/dist/core/startup/performanceTracker.cjs +0 -1
- package/dist/core/startup/performanceTracker.d.ts +0 -104
- package/dist/core/startup/performanceTracker.js +0 -1
- package/dist/core/startup/renderApp.cjs +0 -1
- package/dist/core/startup/renderApp.d.ts +0 -70
- package/dist/core/startup/renderApp.js +0 -1
- package/dist/core/startup/startApp.cjs +0 -1
- package/dist/core/startup/startApp.d.ts +0 -14
- package/dist/core/startup/startApp.js +0 -1
- package/dist/core/types.cjs +0 -1
- package/dist/core/types.d.ts +0 -501
- package/dist/core/types.js +0 -1
- package/dist/core-bak/Test.cjs +0 -1
- package/dist/core-bak/Test.d.ts +0 -5
- package/dist/core-bak/Test.js +0 -1
- package/dist/core-bak/app/AppContext.cjs +0 -1
- package/dist/core-bak/app/AppContext.d.ts +0 -113
- package/dist/core-bak/app/AppContext.js +0 -1
- package/dist/core-bak/app/AppContext.types.cjs +0 -1
- package/dist/core-bak/app/AppContext.types.d.ts +0 -146
- package/dist/core-bak/app/AppContext.types.js +0 -1
- package/dist/core-bak/app/BasicLayout.cjs +0 -1
- package/dist/core-bak/app/BasicLayout.d.ts +0 -15
- package/dist/core-bak/app/BasicLayout.js +0 -1
- package/dist/core-bak/app/DefaultApp.cjs +0 -1
- package/dist/core-bak/app/DefaultApp.d.ts +0 -10
- package/dist/core-bak/app/DefaultApp.js +0 -1
- package/dist/core-bak/app/index.cjs +0 -1
- package/dist/core-bak/app/index.d.ts +0 -8
- package/dist/core-bak/app/index.js +0 -1
- package/dist/core-bak/config/AppConfig.cjs +0 -1
- package/dist/core-bak/config/AppConfig.d.ts +0 -88
- package/dist/core-bak/config/AppConfig.js +0 -1
- package/dist/core-bak/config/ConfigLoader.cjs +0 -1
- package/dist/core-bak/config/ConfigLoader.d.ts +0 -118
- package/dist/core-bak/config/ConfigLoader.js +0 -1
- package/dist/core-bak/config/ConfigValidator.cjs +0 -2
- package/dist/core-bak/config/ConfigValidator.d.ts +0 -84
- package/dist/core-bak/config/ConfigValidator.js +0 -2
- package/dist/core-bak/config/index.cjs +0 -1
- package/dist/core-bak/config/index.d.ts +0 -6
- package/dist/core-bak/config/index.js +0 -1
- package/dist/core-bak/dev/DevTools.cjs +0 -1
- package/dist/core-bak/dev/DevTools.d.ts +0 -16
- package/dist/core-bak/dev/DevTools.js +0 -1
- package/dist/core-bak/error/ErrorBoundary.cjs +0 -1
- package/dist/core-bak/error/ErrorBoundary.d.ts +0 -121
- package/dist/core-bak/error/ErrorBoundary.js +0 -1
- package/dist/core-bak/error/ErrorHandler.cjs +0 -1
- package/dist/core-bak/error/ErrorHandler.d.ts +0 -171
- package/dist/core-bak/error/ErrorHandler.js +0 -1
- package/dist/core-bak/error/index.cjs +0 -1
- package/dist/core-bak/error/index.d.ts +0 -7
- package/dist/core-bak/error/index.js +0 -1
- package/dist/core-bak/event/AppEventBus.cjs +0 -1
- package/dist/core-bak/event/AppEventBus.d.ts +0 -178
- package/dist/core-bak/event/AppEventBus.js +0 -1
- package/dist/core-bak/event/frameworkEvents.cjs +0 -1
- package/dist/core-bak/event/frameworkEvents.d.ts +0 -69
- package/dist/core-bak/event/frameworkEvents.js +0 -1
- package/dist/core-bak/event/hooks.cjs +0 -1
- package/dist/core-bak/event/hooks.d.ts +0 -57
- package/dist/core-bak/event/hooks.js +0 -1
- package/dist/core-bak/event/index.cjs +0 -1
- package/dist/core-bak/event/index.d.ts +0 -10
- package/dist/core-bak/event/index.js +0 -1
- package/dist/core-bak/event/types.cjs +0 -1
- package/dist/core-bak/event/types.d.ts +0 -269
- package/dist/core-bak/event/types.js +0 -1
- package/dist/core-bak/event/useEventBus.cjs +0 -1
- package/dist/core-bak/event/useEventBus.d.ts +0 -28
- package/dist/core-bak/event/useEventBus.js +0 -1
- package/dist/core-bak/index.cjs +0 -1
- package/dist/core-bak/index.d.ts +0 -54
- package/dist/core-bak/index.js +0 -1
- package/dist/core-bak/initialization/InitializationErrorThrower.cjs +0 -1
- package/dist/core-bak/initialization/InitializationErrorThrower.d.ts +0 -7
- package/dist/core-bak/initialization/InitializationErrorThrower.js +0 -1
- package/dist/core-bak/initialization/index.cjs +0 -1
- package/dist/core-bak/initialization/index.d.ts +0 -7
- package/dist/core-bak/initialization/index.js +0 -1
- package/dist/core-bak/initialization/initialization.cjs +0 -1
- package/dist/core-bak/initialization/initialization.d.ts +0 -69
- package/dist/core-bak/initialization/initialization.js +0 -1
- package/dist/core-bak/initialization/initializationErrorState.cjs +0 -1
- package/dist/core-bak/initialization/initializationErrorState.d.ts +0 -35
- package/dist/core-bak/initialization/initializationErrorState.js +0 -1
- package/dist/core-bak/kernel/defaultAdapters.cjs +0 -1
- package/dist/core-bak/kernel/defaultAdapters.d.ts +0 -2
- package/dist/core-bak/kernel/defaultAdapters.js +0 -1
- package/dist/core-bak/kernel/errors.cjs +0 -1
- package/dist/core-bak/kernel/errors.d.ts +0 -18
- package/dist/core-bak/kernel/errors.js +0 -1
- package/dist/core-bak/kernel/index.cjs +0 -1
- package/dist/core-bak/kernel/index.d.ts +0 -3
- package/dist/core-bak/kernel/index.js +0 -1
- package/dist/core-bak/kernel/startKernel.cjs +0 -1
- package/dist/core-bak/kernel/startKernel.d.ts +0 -2
- package/dist/core-bak/kernel/startKernel.js +0 -1
- package/dist/core-bak/kernel/types.d.ts +0 -114
- package/dist/core-bak/middleware.cjs +0 -1
- package/dist/core-bak/middleware.d.ts +0 -36
- package/dist/core-bak/middleware.js +0 -1
- package/dist/core-bak/plugin/PluginEventBus.cjs +0 -1
- package/dist/core-bak/plugin/PluginEventBus.d.ts +0 -169
- package/dist/core-bak/plugin/PluginEventBus.js +0 -1
- package/dist/core-bak/plugin/PluginSandbox.cjs +0 -1
- package/dist/core-bak/plugin/PluginSandbox.d.ts +0 -101
- package/dist/core-bak/plugin/PluginSandbox.js +0 -1
- package/dist/core-bak/plugin.cjs +0 -1
- package/dist/core-bak/plugin.d.ts +0 -224
- package/dist/core-bak/plugin.js +0 -1
- package/dist/core-bak/router/RouterManager.cjs +0 -1
- package/dist/core-bak/router/RouterManager.d.ts +0 -87
- package/dist/core-bak/router/RouterManager.js +0 -1
- package/dist/core-bak/router/adapter/AdapterManager.cjs +0 -1
- package/dist/core-bak/router/adapter/AdapterManager.d.ts +0 -94
- package/dist/core-bak/router/adapter/AdapterManager.js +0 -1
- package/dist/core-bak/router/adapter/index.cjs +0 -1
- package/dist/core-bak/router/adapter/index.d.ts +0 -6
- package/dist/core-bak/router/adapter/index.js +0 -1
- package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.cjs +0 -1
- package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.d.ts +0 -43
- package/dist/core-bak/router/adapter/react-router/ReactRouterAdapter.js +0 -1
- package/dist/core-bak/router/adapter/react-router/index.cjs +0 -1
- package/dist/core-bak/router/adapter/react-router/index.d.ts +0 -4
- package/dist/core-bak/router/adapter/react-router/index.js +0 -1
- package/dist/core-bak/router/adapter/types.d.ts +0 -111
- package/dist/core-bak/router/dev/RouterDevTools.cjs +0 -1
- package/dist/core-bak/router/dev/RouterDevTools.d.ts +0 -5
- package/dist/core-bak/router/dev/RouterDevTools.js +0 -1
- package/dist/core-bak/router/dev/index.cjs +0 -1
- package/dist/core-bak/router/dev/index.d.ts +0 -4
- package/dist/core-bak/router/dev/index.js +0 -1
- package/dist/core-bak/router/dynamic/DynamicRouteManager.cjs +0 -1
- package/dist/core-bak/router/dynamic/DynamicRouteManager.d.ts +0 -71
- package/dist/core-bak/router/dynamic/DynamicRouteManager.js +0 -1
- package/dist/core-bak/router/dynamic/index.cjs +0 -1
- package/dist/core-bak/router/dynamic/index.d.ts +0 -4
- package/dist/core-bak/router/dynamic/index.js +0 -1
- package/dist/core-bak/router/errors/RouterError.cjs +0 -1
- package/dist/core-bak/router/errors/RouterError.d.ts +0 -48
- package/dist/core-bak/router/errors/RouterError.js +0 -1
- package/dist/core-bak/router/errors/index.cjs +0 -1
- package/dist/core-bak/router/errors/index.d.ts +0 -4
- package/dist/core-bak/router/errors/index.js +0 -1
- package/dist/core-bak/router/index.cjs +0 -1
- package/dist/core-bak/router/index.d.ts +0 -16
- package/dist/core-bak/router/index.js +0 -1
- package/dist/core-bak/router/lifecycle/RouterLifecycleManager.cjs +0 -1
- package/dist/core-bak/router/lifecycle/RouterLifecycleManager.d.ts +0 -56
- package/dist/core-bak/router/lifecycle/RouterLifecycleManager.js +0 -1
- package/dist/core-bak/router/lifecycle/index.cjs +0 -1
- package/dist/core-bak/router/lifecycle/index.d.ts +0 -4
- package/dist/core-bak/router/lifecycle/index.js +0 -1
- package/dist/core-bak/router/middleware/RouterMiddlewareManager.cjs +0 -1
- package/dist/core-bak/router/middleware/RouterMiddlewareManager.d.ts +0 -61
- package/dist/core-bak/router/middleware/RouterMiddlewareManager.js +0 -1
- package/dist/core-bak/router/middleware/auth.cjs +0 -1
- package/dist/core-bak/router/middleware/auth.d.ts +0 -54
- package/dist/core-bak/router/middleware/auth.js +0 -1
- package/dist/core-bak/router/middleware/index.cjs +0 -1
- package/dist/core-bak/router/middleware/index.d.ts +0 -6
- package/dist/core-bak/router/middleware/index.js +0 -1
- package/dist/core-bak/router/middleware/types.cjs +0 -1
- package/dist/core-bak/router/middleware/types.d.ts +0 -82
- package/dist/core-bak/router/middleware/types.js +0 -1
- package/dist/core-bak/router/monitoring/RouterMonitoring.cjs +0 -1
- package/dist/core-bak/router/monitoring/RouterMonitoring.d.ts +0 -134
- package/dist/core-bak/router/monitoring/RouterMonitoring.js +0 -1
- package/dist/core-bak/router/monitoring/index.cjs +0 -1
- package/dist/core-bak/router/monitoring/index.d.ts +0 -4
- package/dist/core-bak/router/monitoring/index.js +0 -1
- package/dist/core-bak/router/navigation/RouterNavigation.cjs +0 -1
- package/dist/core-bak/router/navigation/RouterNavigation.d.ts +0 -43
- package/dist/core-bak/router/navigation/RouterNavigation.js +0 -1
- package/dist/core-bak/router/navigation/index.cjs +0 -1
- package/dist/core-bak/router/navigation/index.d.ts +0 -4
- package/dist/core-bak/router/navigation/index.js +0 -1
- package/dist/core-bak/router/performance/RouteCache.cjs +0 -1
- package/dist/core-bak/router/performance/RouteCache.d.ts +0 -113
- package/dist/core-bak/router/performance/RouteCache.js +0 -1
- package/dist/core-bak/router/performance/RoutePreloader.cjs +0 -1
- package/dist/core-bak/router/performance/RoutePreloader.d.ts +0 -111
- package/dist/core-bak/router/performance/RoutePreloader.js +0 -1
- package/dist/core-bak/router/performance/index.cjs +0 -1
- package/dist/core-bak/router/performance/index.d.ts +0 -5
- package/dist/core-bak/router/performance/index.js +0 -1
- package/dist/core-bak/router/plugin/RouterPluginManager.cjs +0 -1
- package/dist/core-bak/router/plugin/RouterPluginManager.d.ts +0 -74
- package/dist/core-bak/router/plugin/RouterPluginManager.js +0 -1
- package/dist/core-bak/router/plugin/index.cjs +0 -1
- package/dist/core-bak/router/plugin/index.d.ts +0 -5
- package/dist/core-bak/router/plugin/index.js +0 -1
- package/dist/core-bak/router/plugin/types.cjs +0 -1
- package/dist/core-bak/router/plugin/types.d.ts +0 -153
- package/dist/core-bak/router/plugin/types.js +0 -1
- package/dist/core-bak/router/types.cjs +0 -1
- package/dist/core-bak/router/types.d.ts +0 -464
- package/dist/core-bak/router/types.js +0 -1
- package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.cjs +0 -1
- package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.d.ts +0 -2
- package/dist/core-bak/router/utils/adapters/react-router/RouteErrorBoundary.js +0 -1
- package/dist/core-bak/router/utils/adapters/react-router/transform.cjs +0 -1
- package/dist/core-bak/router/utils/adapters/react-router/transform.d.ts +0 -5
- package/dist/core-bak/router/utils/adapters/react-router/transform.js +0 -1
- package/dist/core-bak/router/utils/transform.cjs +0 -1
- package/dist/core-bak/router/utils/transform.d.ts +0 -348
- package/dist/core-bak/router/utils/transform.js +0 -1
- package/dist/core-bak/router/validation/RouterConfigValidator.cjs +0 -2
- package/dist/core-bak/router/validation/RouterConfigValidator.d.ts +0 -121
- package/dist/core-bak/router/validation/RouterConfigValidator.js +0 -2
- package/dist/core-bak/router/validation/index.cjs +0 -1
- package/dist/core-bak/router/validation/index.d.ts +0 -5
- package/dist/core-bak/router/validation/index.js +0 -1
- package/dist/core-bak/router/validation/schema.cjs +0 -1
- package/dist/core-bak/router/validation/schema.d.ts +0 -180
- package/dist/core-bak/router/validation/schema.js +0 -1
- package/dist/core-bak/router/version/RouteVersionManager.cjs +0 -1
- package/dist/core-bak/router/version/RouteVersionManager.d.ts +0 -124
- package/dist/core-bak/router/version/RouteVersionManager.js +0 -1
- package/dist/core-bak/router/version/index.cjs +0 -1
- package/dist/core-bak/router/version/index.d.ts +0 -4
- package/dist/core-bak/router/version/index.js +0 -1
- package/dist/core-bak/splash/SplashScreen.cjs +0 -1
- package/dist/core-bak/splash/SplashScreen.d.ts +0 -14
- package/dist/core-bak/splash/SplashScreen.js +0 -1
- package/dist/core-bak/splash/index.cjs +0 -1
- package/dist/core-bak/splash/index.d.ts +0 -5
- package/dist/core-bak/splash/index.js +0 -1
- package/dist/core-bak/splash/splashScreenUtils.cjs +0 -1
- package/dist/core-bak/splash/splashScreenUtils.d.ts +0 -7
- package/dist/core-bak/splash/splashScreenUtils.js +0 -1
- package/dist/core-bak/startup/AppInstance.cjs +0 -1
- package/dist/core-bak/startup/AppInstance.d.ts +0 -138
- package/dist/core-bak/startup/AppInstance.js +0 -1
- package/dist/core-bak/startup/environment.cjs +0 -1
- package/dist/core-bak/startup/environment.d.ts +0 -87
- package/dist/core-bak/startup/environment.js +0 -1
- package/dist/core-bak/startup/index.cjs +0 -1
- package/dist/core-bak/startup/index.d.ts +0 -7
- package/dist/core-bak/startup/index.js +0 -1
- package/dist/core-bak/startup/initializeServices.cjs +0 -1
- package/dist/core-bak/startup/initializeServices.d.ts +0 -68
- package/dist/core-bak/startup/initializeServices.js +0 -1
- package/dist/core-bak/startup/performanceTracker.cjs +0 -1
- package/dist/core-bak/startup/performanceTracker.d.ts +0 -104
- package/dist/core-bak/startup/performanceTracker.js +0 -1
- package/dist/core-bak/startup/renderApp.cjs +0 -1
- package/dist/core-bak/startup/renderApp.d.ts +0 -70
- package/dist/core-bak/startup/renderApp.js +0 -1
- package/dist/core-bak/startup/startApp.cjs +0 -1
- package/dist/core-bak/startup/startApp.d.ts +0 -14
- package/dist/core-bak/startup/startApp.js +0 -1
- package/dist/core-bak/types.cjs +0 -1
- package/dist/core-bak/types.d.ts +0 -501
- package/dist/core-bak/types.js +0 -1
- package/dist/index.umd.cjs +0 -1
- package/dist/index.umd.d.ts +0 -7
- package/dist/library/index.cjs +0 -1
- package/dist/library/index.d.ts +0 -2
- package/dist/library/index.js +0 -1
- package/dist/library/locale/index.cjs +0 -1
- package/dist/library/locale/index.d.ts +0 -6
- package/dist/library/locale/index.js +0 -1
- package/dist/library/locale/langs/en-us/index.cjs +0 -1
- package/dist/library/locale/langs/en-us/index.d.ts +0 -3
- package/dist/library/locale/langs/en-us/index.js +0 -1
- package/dist/library/locale/langs/zh-cn/index.cjs +0 -1
- package/dist/library/locale/langs/zh-cn/index.d.ts +0 -3
- package/dist/library/locale/langs/zh-cn/index.js +0 -1
- package/dist/library/locale/types.cjs +0 -1
- package/dist/library/locale/types.d.ts +0 -38
- package/dist/library/locale/types.js +0 -1
- package/dist/library/storage/cache.cjs +0 -1
- package/dist/library/storage/cache.d.ts +0 -57
- package/dist/library/storage/cache.js +0 -1
- package/dist/library/storage/encryption.cjs +0 -1
- package/dist/library/storage/encryption.d.ts +0 -45
- package/dist/library/storage/encryption.js +0 -1
- package/dist/library/storage/index.cjs +0 -1
- package/dist/library/storage/index.d.ts +0 -62
- package/dist/library/storage/index.js +0 -1
- package/dist/state/StateManager.cjs +0 -1
- package/dist/state/StateManager.d.ts +0 -120
- package/dist/state/StateManager.js +0 -1
- package/dist/state/adapters/AdapterFactory.cjs +0 -1
- package/dist/state/adapters/AdapterFactory.d.ts +0 -51
- package/dist/state/adapters/AdapterFactory.js +0 -1
- package/dist/state/adapters/DefaultAdapter.cjs +0 -1
- package/dist/state/adapters/DefaultAdapter.d.ts +0 -38
- package/dist/state/adapters/DefaultAdapter.js +0 -1
- package/dist/state/adapters/ReduxAdapter.cjs +0 -1
- package/dist/state/adapters/ReduxAdapter.d.ts +0 -129
- package/dist/state/adapters/ReduxAdapter.js +0 -1
- package/dist/state/adapters/ZustandAdapter.cjs +0 -1
- package/dist/state/adapters/ZustandAdapter.d.ts +0 -46
- package/dist/state/adapters/ZustandAdapter.js +0 -1
- package/dist/state/adapters/index.cjs +0 -1
- package/dist/state/adapters/index.d.ts +0 -8
- package/dist/state/adapters/index.js +0 -1
- package/dist/state/adapters/types.cjs +0 -1
- package/dist/state/adapters/types.d.ts +0 -4
- package/dist/state/adapters/types.js +0 -1
- package/dist/state/core/DerivedStateInstance.cjs +0 -1
- package/dist/state/core/DerivedStateInstance.d.ts +0 -100
- package/dist/state/core/DerivedStateInstance.js +0 -1
- package/dist/state/core/StateInstance.cjs +0 -1
- package/dist/state/core/StateInstance.d.ts +0 -85
- package/dist/state/core/StateInstance.js +0 -1
- package/dist/state/core/StateRegistry.cjs +0 -1
- package/dist/state/core/StateRegistry.d.ts +0 -55
- package/dist/state/core/StateRegistry.js +0 -1
- package/dist/state/core/StateScope.cjs +0 -1
- package/dist/state/core/StateScope.d.ts +0 -71
- package/dist/state/core/StateScope.js +0 -1
- package/dist/state/core/index.cjs +0 -1
- package/dist/state/core/index.d.ts +0 -7
- package/dist/state/core/index.js +0 -1
- package/dist/state/index.cjs +0 -1
- package/dist/state/index.d.ts +0 -8
- package/dist/state/index.js +0 -1
- package/dist/state/types.cjs +0 -1
- package/dist/state/types.d.ts +0 -230
- package/dist/state/types.js +0 -1
- package/dist/state.umd.js +0 -41
- package/dist/types.cjs +0 -1
- package/dist/types.d.ts +0 -7
- package/dist/types.js +0 -1
- package/dist/utils/analytics.cjs +0 -1
- package/dist/utils/analytics.d.ts +0 -127
- package/dist/utils/analytics.js +0 -1
- package/dist/utils/configSecurity.cjs +0 -3
- package/dist/utils/configSecurity.d.ts +0 -100
- package/dist/utils/configSecurity.js +0 -3
- package/dist/utils/csrf.cjs +0 -1
- package/dist/utils/csrf.d.ts +0 -1
- package/dist/utils/csrf.js +0 -1
- package/dist/utils/errors/ErrorCodes.cjs +0 -1
- package/dist/utils/errors/ErrorCodes.d.ts +0 -1
- package/dist/utils/errors/ErrorCodes.js +0 -1
- package/dist/utils/errors.cjs +0 -1
- package/dist/utils/errors.d.ts +0 -30
- package/dist/utils/errors.js +0 -1
- package/dist/utils/index.cjs +0 -1
- package/dist/utils/index.d.ts +0 -39
- package/dist/utils/index.js +0 -1
- package/dist/utils/logger.cjs +0 -1
- package/dist/utils/logger.d.ts +0 -2
- package/dist/utils/logger.js +0 -1
- package/dist/utils/logger.types.cjs +0 -1
- package/dist/utils/logger.types.d.ts +0 -2
- package/dist/utils/logger.types.js +0 -1
- package/dist/utils/monitoring.cjs +0 -1
- package/dist/utils/monitoring.d.ts +0 -1
- package/dist/utils/monitoring.js +0 -1
- package/dist/utils/performance.cjs +0 -1
- package/dist/utils/performance.d.ts +0 -2
- package/dist/utils/performance.js +0 -1
- package/dist/utils/resourceLoader.cjs +0 -1
- package/dist/utils/resourceLoader.d.ts +0 -2
- package/dist/utils/resourceLoader.js +0 -1
- package/dist/utils/runtimeSecurity.cjs +0 -1
- package/dist/utils/runtimeSecurity.d.ts +0 -2
- package/dist/utils/runtimeSecurity.js +0 -1
- package/dist/utils/security.cjs +0 -1
- package/dist/utils/security.d.ts +0 -2
- package/dist/utils/security.js +0 -1
- package/dist/utils/traceId.cjs +0 -1
- package/dist/utils/traceId.d.ts +0 -1
- package/dist/utils/traceId.js +0 -1
- package/dist/utils/validation.cjs +0 -1
- package/dist/utils/validation.d.ts +0 -2
- package/dist/utils/validation.js +0 -1
- /package/dist/{core-bak/kernel → kernel/custom-manager/i18n}/types.cjs +0 -0
- /package/dist/{core-bak/kernel → kernel/custom-manager/i18n}/types.js +0 -0
- /package/dist/{core-bak/router/adapter → kernel/custom-manager/theme}/types.cjs +0 -0
- /package/dist/{core-bak/router/adapter → kernel/custom-manager/theme}/types.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get KernelBootError(){return KernelBootError},get toKernelBootError(){return toKernelBootError}});function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function inferRetryable(error){if(error instanceof Error){const message=error.message.toLowerCase();return message.includes("timeout")||message.includes("network")}return false}let KernelBootError=class KernelBootError extends Error{constructor(message,options){super(message),_define_property(this,"code",void 0),_define_property(this,"phase",void 0),_define_property(this,"severity",void 0),_define_property(this,"retryable",void 0),_define_property(this,"traceId",void 0),_define_property(this,"cause",void 0);this.name="KernelBootError";this.code=options.code;this.phase=options.phase;this.traceId=options.traceId;this.severity=options.severity??"high";this.retryable=options.retryable??inferRetryable(options.cause);this.cause=options.cause}};function toKernelBootError(error,phase,traceId){if(error instanceof KernelBootError){return error}if(error instanceof Error){return new KernelBootError(error.message,{code:"KERNEL_BOOT_FAILURE",phase,traceId,cause:error})}return new KernelBootError(String(error),{code:"KERNEL_BOOT_FAILURE",phase,traceId,cause:error})}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { KernelBootErrorLike, KernelBootPhase } from './types';
|
|
2
|
-
export declare class KernelBootError extends Error implements KernelBootErrorLike {
|
|
3
|
-
readonly code: string;
|
|
4
|
-
readonly phase: KernelBootPhase;
|
|
5
|
-
readonly severity: 'low' | 'medium' | 'high' | 'critical';
|
|
6
|
-
readonly retryable: boolean;
|
|
7
|
-
readonly traceId: string;
|
|
8
|
-
readonly cause?: unknown;
|
|
9
|
-
constructor(message: string, options: {
|
|
10
|
-
code: string;
|
|
11
|
-
phase: KernelBootPhase;
|
|
12
|
-
traceId: string;
|
|
13
|
-
severity?: 'low' | 'medium' | 'high' | 'critical';
|
|
14
|
-
retryable?: boolean;
|
|
15
|
-
cause?: unknown;
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
export declare function toKernelBootError(error: unknown, phase: KernelBootPhase, traceId: string): KernelBootError;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function inferRetryable(error){if(error instanceof Error){const message=error.message.toLowerCase();return message.includes("timeout")||message.includes("network")}return false}export class KernelBootError extends Error{constructor(message,options){super(message),_define_property(this,"code",void 0),_define_property(this,"phase",void 0),_define_property(this,"severity",void 0),_define_property(this,"retryable",void 0),_define_property(this,"traceId",void 0),_define_property(this,"cause",void 0);this.name="KernelBootError";this.code=options.code;this.phase=options.phase;this.traceId=options.traceId;this.severity=options.severity??"high";this.retryable=options.retryable??inferRetryable(options.cause);this.cause=options.cause}}export function toKernelBootError(error,phase,traceId){if(error instanceof KernelBootError){return error}if(error instanceof Error){return new KernelBootError(error.message,{code:"KERNEL_BOOT_FAILURE",phase,traceId,cause:error})}return new KernelBootError(String(error),{code:"KERNEL_BOOT_FAILURE",phase,traceId,cause:error})}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get KernelBootError(){return _errors.KernelBootError},get startKernel(){return _startKernel.startKernel}});const _startKernel=require("./startKernel");const _errors=require("./errors");
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { startKernel } from './startKernel';
|
|
2
|
-
export { KernelBootError } from './errors';
|
|
3
|
-
export type { ThemeMode, ThemeSnapshot, I18nSnapshot, KernelBootPhase, KernelPhaseMetric, KernelBootErrorLike, KernelLoggerAdapter, KernelMonitoringAdapter, KernelStateAdapter, KernelEventBusAdapter, KernelI18nAdapter, KernelThemeAdapter, KernelErrorHandler, KernelErrorHandlerResult, KernelAdapters, KernelPerformanceOptions, KernelLifecycle, KernelStartOptions, KernelRuntime, } from './types';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{startKernel}from"./startKernel";export{KernelBootError}from"./errors";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"startKernel",{enumerable:true,get:function(){return startKernel}});const _initialization=require("../initialization");const _traceId=require("../../utils/traceId");const _errors=require("./errors");const _defaultAdapters=require("./defaultAdapters");const DEFAULT_THEME={mode:"light"};const DEFAULT_I18N={locale:"zh-CN"};async function withOptionalTimeout(task,timeoutMs,timeoutMessage="Kernel phase timeout"){if(!timeoutMs||timeoutMs<=0){return task()}return Promise.race([task(),new Promise((_,reject)=>{setTimeout(()=>reject(new Error(timeoutMessage)),timeoutMs)})])}async function startKernel(options={}){(0,_traceId.initTraceIdGenerator)("kernel");const traceId=(0,_traceId.generateTraceId)();(0,_traceId.setCurrentTraceId)(traceId);const adapters=(0,_defaultAdapters.resolveKernelAdapters)(options);const metrics=[];let config={};let theme={...DEFAULT_THEME,...options.theme||{}};let i18n={...DEFAULT_I18N,...options.locale||{}};const emitPhaseMetric=metric=>{metrics.push(metric);adapters.monitoring.reportPhase?.(metric);adapters.monitoring.reportMetric?.("kernel.phase.duration",metric.duration,{phase:metric.phase});adapters.eventBus.emit("kernel.phase.end",metric)};const runPhase=async(phase,fn)=>{const enabled=options.enabledPhases?.[phase];if(enabled===false){adapters.eventBus.emit("kernel.phase.skipped",{phase,traceId});return}const startTime=performance.now();adapters.eventBus.emit("kernel.phase.start",{phase,traceId,startTime});try{await withOptionalTimeout(fn,options.performance?.phaseTimeoutMs?.[phase],`Kernel phase "${phase}" timeout`);emitPhaseMetric({phase,startTime,endTime:performance.now(),duration:performance.now()-startTime})}catch(error){const bootError=(0,_errors.toKernelBootError)(error,phase,traceId);adapters.monitoring.captureError(bootError,{phase,traceId});adapters.eventBus.emit("kernel.phase.error",bootError);const result=await adapters.errorHandler.handle(bootError);if(result.shouldThrow){throw bootError}}};await runPhase("prepare",async()=>{adapters.logger.initialize?.(options);adapters.logger.info("Kernel 启动准备完成",{traceId})});await runPhase("services",async()=>{await Promise.all([Promise.resolve(adapters.monitoring.initialize?.(options)),Promise.resolve(adapters.state.initialize?.(options)),Promise.resolve(adapters.eventBus.initialize?.(options))])});await runPhase("config",async()=>{if(options.configLoader){try{config=await options.configLoader()}catch(error){config=options.configFallback||{}}}else{config=options.configFallback||{}}});await runPhase("i18n",async()=>{await adapters.i18n.initialize(i18n)});await runPhase("theme",async()=>{await Promise.resolve(adapters.theme.initialize?.(theme));await adapters.theme.apply(theme)});await runPhase("init",async()=>{await options.lifecycle?.beforeInitialization?.();const initContext=await (0,_initialization.initialization)({loggerLevel:options.loggerLevel,locale:i18n.resources,lifecycle:options.lifecycle});await options.lifecycle?.afterInitialization?.(initContext)});await runPhase("ready",async()=>{adapters.eventBus.emit("kernel.ready",{traceId,theme,locale:i18n.locale,config})});if(options.enablePostReady!==false){await runPhase("postReady",async()=>{adapters.eventBus.emit("kernel.postReady",{traceId})})}const setTheme=async partial=>{theme={...theme,...partial};await adapters.theme.apply(theme);adapters.eventBus.emit("kernel.theme.changed",{traceId,theme})};const setThemeMode=async mode=>{await setTheme({mode})};const setLocale=async locale=>{i18n={...i18n,locale};await adapters.i18n.setLocale(locale);adapters.eventBus.emit("kernel.i18n.changed",{traceId,locale})};return{traceId,getTheme:()=>({...theme}),setTheme,setThemeMode,getI18n:()=>({...i18n}),setLocale,getConfig:()=>({...config}),getStateManager:()=>adapters.state.getInstance(),getEventBus:()=>adapters.eventBus,getMetrics:()=>[...metrics],destroy:()=>{adapters.state.destroy?.();adapters.eventBus.destroy?.();adapters.eventBus.emit("kernel.destroyed",{traceId})}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{initialization}from"../initialization";import{generateTraceId,initTraceIdGenerator,setCurrentTraceId}from"../../utils/traceId";import{toKernelBootError}from"./errors";import{resolveKernelAdapters}from"./defaultAdapters";const DEFAULT_THEME={mode:"light"};const DEFAULT_I18N={locale:"zh-CN"};async function withOptionalTimeout(task,timeoutMs,timeoutMessage="Kernel phase timeout"){if(!timeoutMs||timeoutMs<=0){return task()}return Promise.race([task(),new Promise((_,reject)=>{setTimeout(()=>reject(new Error(timeoutMessage)),timeoutMs)})])}export async function startKernel(options={}){initTraceIdGenerator("kernel");const traceId=generateTraceId();setCurrentTraceId(traceId);const adapters=resolveKernelAdapters(options);const metrics=[];let config={};let theme={...DEFAULT_THEME,...options.theme||{}};let i18n={...DEFAULT_I18N,...options.locale||{}};const emitPhaseMetric=metric=>{metrics.push(metric);adapters.monitoring.reportPhase?.(metric);adapters.monitoring.reportMetric?.("kernel.phase.duration",metric.duration,{phase:metric.phase});adapters.eventBus.emit("kernel.phase.end",metric)};const runPhase=async(phase,fn)=>{const enabled=options.enabledPhases?.[phase];if(enabled===false){adapters.eventBus.emit("kernel.phase.skipped",{phase,traceId});return}const startTime=performance.now();adapters.eventBus.emit("kernel.phase.start",{phase,traceId,startTime});try{await withOptionalTimeout(fn,options.performance?.phaseTimeoutMs?.[phase],`Kernel phase "${phase}" timeout`);emitPhaseMetric({phase,startTime,endTime:performance.now(),duration:performance.now()-startTime})}catch(error){const bootError=toKernelBootError(error,phase,traceId);adapters.monitoring.captureError(bootError,{phase,traceId});adapters.eventBus.emit("kernel.phase.error",bootError);const result=await adapters.errorHandler.handle(bootError);if(result.shouldThrow){throw bootError}}};await runPhase("prepare",async()=>{adapters.logger.initialize?.(options);adapters.logger.info("Kernel 启动准备完成",{traceId})});await runPhase("services",async()=>{await Promise.all([Promise.resolve(adapters.monitoring.initialize?.(options)),Promise.resolve(adapters.state.initialize?.(options)),Promise.resolve(adapters.eventBus.initialize?.(options))])});await runPhase("config",async()=>{if(options.configLoader){try{config=await options.configLoader()}catch(error){config=options.configFallback||{}}}else{config=options.configFallback||{}}});await runPhase("i18n",async()=>{await adapters.i18n.initialize(i18n)});await runPhase("theme",async()=>{await Promise.resolve(adapters.theme.initialize?.(theme));await adapters.theme.apply(theme)});await runPhase("init",async()=>{await options.lifecycle?.beforeInitialization?.();const initContext=await initialization({loggerLevel:options.loggerLevel,locale:i18n.resources,lifecycle:options.lifecycle});await options.lifecycle?.afterInitialization?.(initContext)});await runPhase("ready",async()=>{adapters.eventBus.emit("kernel.ready",{traceId,theme,locale:i18n.locale,config})});if(options.enablePostReady!==false){await runPhase("postReady",async()=>{adapters.eventBus.emit("kernel.postReady",{traceId})})}const setTheme=async partial=>{theme={...theme,...partial};await adapters.theme.apply(theme);adapters.eventBus.emit("kernel.theme.changed",{traceId,theme})};const setThemeMode=async mode=>{await setTheme({mode})};const setLocale=async locale=>{i18n={...i18n,locale};await adapters.i18n.setLocale(locale);adapters.eventBus.emit("kernel.i18n.changed",{traceId,locale})};return{traceId,getTheme:()=>({...theme}),setTheme,setThemeMode,getI18n:()=>({...i18n}),setLocale,getConfig:()=>({...config}),getStateManager:()=>adapters.state.getInstance(),getEventBus:()=>adapters.eventBus,getMetrics:()=>[...metrics],destroy:()=>{adapters.state.destroy?.();adapters.eventBus.destroy?.();adapters.eventBus.emit("kernel.destroyed",{traceId})}}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import type { LogLevel } from '@vlian/logger';
|
|
2
|
-
import type { LangType } from '../../library/locale/types';
|
|
3
|
-
import type { InitializationContext } from '../initialization';
|
|
4
|
-
export type ThemeMode = 'light' | 'dark' | 'system';
|
|
5
|
-
export interface ThemeSnapshot {
|
|
6
|
-
mode: ThemeMode;
|
|
7
|
-
primaryColor?: string;
|
|
8
|
-
tokens?: Record<string, string | number>;
|
|
9
|
-
compatibility?: {
|
|
10
|
-
antd?: Record<string, unknown>;
|
|
11
|
-
shadcn?: Record<string, string | number>;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export interface I18nSnapshot {
|
|
15
|
-
locale: LangType;
|
|
16
|
-
resources?: Record<string, Record<string, unknown>>;
|
|
17
|
-
}
|
|
18
|
-
export type KernelBootPhase = 'prepare' | 'services' | 'config' | 'i18n' | 'theme' | 'init' | 'ready' | 'postReady';
|
|
19
|
-
export interface KernelPhaseMetric {
|
|
20
|
-
phase: KernelBootPhase;
|
|
21
|
-
startTime: number;
|
|
22
|
-
endTime: number;
|
|
23
|
-
duration: number;
|
|
24
|
-
}
|
|
25
|
-
export interface KernelBootErrorLike {
|
|
26
|
-
code: string;
|
|
27
|
-
phase: KernelBootPhase;
|
|
28
|
-
severity: 'low' | 'medium' | 'high' | 'critical';
|
|
29
|
-
retryable: boolean;
|
|
30
|
-
traceId: string;
|
|
31
|
-
cause?: unknown;
|
|
32
|
-
}
|
|
33
|
-
export interface KernelLoggerAdapter {
|
|
34
|
-
initialize?: (options: KernelStartOptions) => Promise<void> | void;
|
|
35
|
-
setLevel?: (level: LogLevel) => void;
|
|
36
|
-
debug: (message: string, ...args: unknown[]) => void;
|
|
37
|
-
info: (message: string, ...args: unknown[]) => void;
|
|
38
|
-
warn: (message: string, ...args: unknown[]) => void;
|
|
39
|
-
error: (message: string, ...args: unknown[]) => void;
|
|
40
|
-
}
|
|
41
|
-
export interface KernelMonitoringAdapter {
|
|
42
|
-
initialize?: (options: KernelStartOptions) => Promise<void> | void;
|
|
43
|
-
captureError: (error: unknown, metadata?: Record<string, unknown>) => void;
|
|
44
|
-
reportMetric?: (name: string, value: number, tags?: Record<string, string>) => void;
|
|
45
|
-
reportPhase?: (metric: KernelPhaseMetric) => void;
|
|
46
|
-
}
|
|
47
|
-
export interface KernelStateAdapter {
|
|
48
|
-
initialize?: (options: KernelStartOptions) => Promise<void> | void;
|
|
49
|
-
getInstance: () => unknown;
|
|
50
|
-
destroy?: () => void;
|
|
51
|
-
}
|
|
52
|
-
export interface KernelEventBusAdapter {
|
|
53
|
-
initialize?: (options: KernelStartOptions) => Promise<void> | void;
|
|
54
|
-
emit: (event: string, payload?: unknown) => void;
|
|
55
|
-
on?: (event: string, handler: (payload?: unknown) => void) => () => void;
|
|
56
|
-
destroy?: () => void;
|
|
57
|
-
}
|
|
58
|
-
export interface KernelI18nAdapter {
|
|
59
|
-
initialize: (snapshot: I18nSnapshot) => Promise<void> | void;
|
|
60
|
-
setLocale: (locale: LangType) => Promise<void> | void;
|
|
61
|
-
}
|
|
62
|
-
export interface KernelThemeAdapter {
|
|
63
|
-
initialize?: (snapshot: ThemeSnapshot) => Promise<void> | void;
|
|
64
|
-
apply: (snapshot: ThemeSnapshot) => Promise<void> | void;
|
|
65
|
-
}
|
|
66
|
-
export interface KernelErrorHandlerResult {
|
|
67
|
-
handled: boolean;
|
|
68
|
-
shouldThrow: boolean;
|
|
69
|
-
}
|
|
70
|
-
export interface KernelErrorHandler {
|
|
71
|
-
handle: (error: KernelBootErrorLike) => Promise<KernelErrorHandlerResult> | KernelErrorHandlerResult;
|
|
72
|
-
}
|
|
73
|
-
export interface KernelAdapters {
|
|
74
|
-
logger?: KernelLoggerAdapter;
|
|
75
|
-
monitoring?: KernelMonitoringAdapter;
|
|
76
|
-
state?: KernelStateAdapter;
|
|
77
|
-
eventBus?: KernelEventBusAdapter;
|
|
78
|
-
i18n?: KernelI18nAdapter;
|
|
79
|
-
theme?: KernelThemeAdapter;
|
|
80
|
-
errorHandler?: KernelErrorHandler;
|
|
81
|
-
}
|
|
82
|
-
export interface KernelPerformanceOptions {
|
|
83
|
-
phaseTimeoutMs?: Partial<Record<KernelBootPhase, number>>;
|
|
84
|
-
}
|
|
85
|
-
export interface KernelLifecycle {
|
|
86
|
-
beforeInitialization?: () => Promise<void> | void;
|
|
87
|
-
initialization?: () => Promise<void> | void;
|
|
88
|
-
afterInitialization?: (context: InitializationContext) => Promise<void> | void;
|
|
89
|
-
}
|
|
90
|
-
export interface KernelStartOptions {
|
|
91
|
-
loggerLevel?: LogLevel;
|
|
92
|
-
configLoader?: () => Promise<Record<string, unknown>>;
|
|
93
|
-
configFallback?: Record<string, unknown>;
|
|
94
|
-
lifecycle?: KernelLifecycle;
|
|
95
|
-
locale?: I18nSnapshot;
|
|
96
|
-
theme?: ThemeSnapshot;
|
|
97
|
-
adapters?: KernelAdapters;
|
|
98
|
-
performance?: KernelPerformanceOptions;
|
|
99
|
-
enablePostReady?: boolean;
|
|
100
|
-
enabledPhases?: Partial<Record<KernelBootPhase, boolean>>;
|
|
101
|
-
}
|
|
102
|
-
export interface KernelRuntime {
|
|
103
|
-
traceId: string;
|
|
104
|
-
getTheme: () => ThemeSnapshot;
|
|
105
|
-
setTheme: (partial: Partial<ThemeSnapshot>) => Promise<void>;
|
|
106
|
-
setThemeMode: (mode: ThemeMode) => Promise<void>;
|
|
107
|
-
getI18n: () => I18nSnapshot;
|
|
108
|
-
setLocale: (locale: LangType) => Promise<void>;
|
|
109
|
-
getConfig: () => Record<string, unknown>;
|
|
110
|
-
getStateManager: () => unknown;
|
|
111
|
-
getEventBus: () => KernelEventBusAdapter;
|
|
112
|
-
getMetrics: () => KernelPhaseMetric[];
|
|
113
|
-
destroy: () => void;
|
|
114
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{};
|
package/dist/core/middleware.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get MiddlewareManager(){return MiddlewareManager},get middlewareManager(){return middlewareManager}});function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}let MiddlewareManager=class MiddlewareManager{use(middleware){this.middlewares.push(middleware)}remove(middleware){const index=this.middlewares.indexOf(middleware);if(index>-1){this.middlewares.splice(index,1)}}clear(){this.middlewares=[]}async execute(options,finalHandler){let index=0;const next=async()=>{if(index>=this.middlewares.length){return finalHandler()}const middleware=this.middlewares[index++];return middleware(options,next)};return next()}get count(){return this.middlewares.length}constructor(){_define_property(this,"middlewares",[])}};const middlewareManager=new MiddlewareManager;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { StartOptions } from './types';
|
|
2
|
-
import type { InitializationContext } from './initialization';
|
|
3
|
-
/**
|
|
4
|
-
* 中间件类型
|
|
5
|
-
*/
|
|
6
|
-
export type Middleware = (options: StartOptions, next: () => Promise<InitializationContext>) => Promise<InitializationContext>;
|
|
7
|
-
/**
|
|
8
|
-
* 中间件管理器
|
|
9
|
-
*/
|
|
10
|
-
export declare class MiddlewareManager {
|
|
11
|
-
private middlewares;
|
|
12
|
-
/**
|
|
13
|
-
* 添加中间件
|
|
14
|
-
*/
|
|
15
|
-
use(middleware: Middleware): void;
|
|
16
|
-
/**
|
|
17
|
-
* 移除中间件
|
|
18
|
-
*/
|
|
19
|
-
remove(middleware: Middleware): void;
|
|
20
|
-
/**
|
|
21
|
-
* 清空所有中间件
|
|
22
|
-
*/
|
|
23
|
-
clear(): void;
|
|
24
|
-
/**
|
|
25
|
-
* 执行中间件链
|
|
26
|
-
*/
|
|
27
|
-
execute(options: StartOptions, finalHandler: () => Promise<InitializationContext>): Promise<InitializationContext>;
|
|
28
|
-
/**
|
|
29
|
-
* 获取中间件数量
|
|
30
|
-
*/
|
|
31
|
-
get count(): number;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* 默认中间件管理器
|
|
35
|
-
*/
|
|
36
|
-
export declare const middlewareManager: MiddlewareManager;
|
package/dist/core/middleware.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}export class MiddlewareManager{use(middleware){this.middlewares.push(middleware)}remove(middleware){const index=this.middlewares.indexOf(middleware);if(index>-1){this.middlewares.splice(index,1)}}clear(){this.middlewares=[]}async execute(options,finalHandler){let index=0;const next=async()=>{if(index>=this.middlewares.length){return finalHandler()}const middleware=this.middlewares[index++];return middleware(options,next)};return next()}get count(){return this.middlewares.length}constructor(){_define_property(this,"middlewares",[])}}export const middlewareManager=new MiddlewareManager;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get PluginEventBus(){return PluginEventBus},get pluginEventBus(){return pluginEventBus}});function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}let PluginEventBus=class PluginEventBus{on(event,listener){if(!this.listeners.has(event)){this.listeners.set(event,new Set)}const listeners=this.listeners.get(event);listeners.add(listener);return()=>{listeners.delete(listener);if(listeners.size===0){this.listeners.delete(event)}}}off(event,listener){const listeners=this.listeners.get(event);if(listeners){listeners.delete(listener);if(listeners.size===0){this.listeners.delete(event)}}}async emit(event,data,metadata){if(this.config.enableValidation&&!this.config.validator(event,data)){console.warn(`事件 ${event} 验证失败,已忽略`);return}const eventMetadata={source:metadata?.source,timestamp:metadata?.timestamp??Date.now(),eventId:metadata?.eventId??`event_${++this.eventCounter}`,priority:metadata?.priority??0};if(this.config.enableTracking){this.eventHistory.push({event,data,metadata:eventMetadata});if(this.eventHistory.length>this.config.maxHistorySize){this.eventHistory.shift()}}const listeners=this.listeners.get(event);if(!listeners||listeners.size===0){return}const eventWrapper={data:data,metadata:eventMetadata};const sortedListeners=Array.from(listeners);const promises=sortedListeners.map(listener=>{try{return Promise.resolve(listener(eventWrapper))}catch(error){console.error(`事件 ${event} 的监听器执行失败:`,error);return Promise.resolve()}});await Promise.allSettled(promises)}async emitData(event,data){return this.emit(event,data)}once(event,listener){const wrappedListener=async data=>{const actualData=data.data!==undefined?data.data:data;await listener(actualData);this.off(event,wrappedListener)};this.on(event,wrappedListener)}clear(){this.listeners.clear()}listenerCount(event){if(event){return this.listeners.get(event)?.size||0}let count=0;for(const listeners of this.listeners.values()){count+=listeners.size}return count}eventNames(){return Array.from(this.listeners.keys())}getEventHistory(event,limit){if(!this.config.enableTracking){return[]}let history=this.eventHistory;if(event){history=history.filter(h=>h.event===event)}if(limit){history=history.slice(-limit)}return[...history]}clearHistory(){this.eventHistory=[]}async request(event,data,timeout=5e3){return new Promise((resolve,reject)=>{const responseEvent=`${event}:response`;const requestId=`req_${Date.now()}_${Math.random()}`;const timeoutId=setTimeout(()=>{this.off(responseEvent,responseHandler);reject(new Error(`请求 ${event} 超时`))},timeout);const responseHandler=response=>{const actualResponse=response.data!==undefined?response.data:response;if(actualResponse.requestId===requestId){clearTimeout(timeoutId);this.off(responseEvent,responseHandler);resolve(actualResponse.data)}};this.on(responseEvent,responseHandler);this.emit(`${event}:request`,{requestId,data})})}onRequest(event,handler){const requestEvent=`${event}:request`;const responseEvent=`${event}:response`;return this.on(requestEvent,async wrapper=>{try{const actualWrapper=wrapper.data!==undefined?wrapper:{data:wrapper,metadata:{timestamp:Date.now()}};const response=await handler(actualWrapper.data.data,actualWrapper.metadata);this.emit(responseEvent,{requestId:actualWrapper.data.requestId,data:response})}catch(error){const actualWrapper=wrapper.data!==undefined?wrapper:{data:wrapper};this.emit(`${responseEvent}:error`,{requestId:actualWrapper.data.requestId,error:error instanceof Error?error.message:String(error)})}})}getConfig(){return{...this.config}}updateConfig(config){this.config={...this.config,...config}}constructor(config={}){_define_property(this,"listeners",new Map);_define_property(this,"eventHistory",[]);_define_property(this,"config",void 0);_define_property(this,"eventCounter",0);this.config={enableTracking:config.enableTracking??false,maxHistorySize:config.maxHistorySize??100,enableValidation:config.enableValidation??false,validator:config.validator??(()=>true)}}};const pluginEventBus=new PluginEventBus({enableTracking:process.env.NODE_ENV==="development",maxHistorySize:100,enableValidation:false});
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 插件事件总线
|
|
3
|
-
* 用于插件间通信
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* 事件监听器类型
|
|
7
|
-
*/
|
|
8
|
-
export type EventListener<T = unknown> = (data: T) => void | Promise<void>;
|
|
9
|
-
/**
|
|
10
|
-
* 事件元数据
|
|
11
|
-
*/
|
|
12
|
-
export interface EventMetadata {
|
|
13
|
-
/**
|
|
14
|
-
* 事件来源(插件名称)
|
|
15
|
-
*/
|
|
16
|
-
source?: string;
|
|
17
|
-
/**
|
|
18
|
-
* 事件时间戳
|
|
19
|
-
*/
|
|
20
|
-
timestamp: number;
|
|
21
|
-
/**
|
|
22
|
-
* 事件ID(用于追踪)
|
|
23
|
-
*/
|
|
24
|
-
eventId?: string;
|
|
25
|
-
/**
|
|
26
|
-
* 事件优先级
|
|
27
|
-
*/
|
|
28
|
-
priority?: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* 事件包装器
|
|
32
|
-
*/
|
|
33
|
-
export interface EventWrapper<T = unknown> {
|
|
34
|
-
/**
|
|
35
|
-
* 事件数据
|
|
36
|
-
*/
|
|
37
|
-
data: T;
|
|
38
|
-
/**
|
|
39
|
-
* 事件元数据
|
|
40
|
-
*/
|
|
41
|
-
metadata: EventMetadata;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* 事件总线配置
|
|
45
|
-
*/
|
|
46
|
-
export interface PluginEventBusConfig {
|
|
47
|
-
/**
|
|
48
|
-
* 是否启用事件追踪
|
|
49
|
-
*/
|
|
50
|
-
enableTracking?: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* 最大事件历史记录数
|
|
53
|
-
*/
|
|
54
|
-
maxHistorySize?: number;
|
|
55
|
-
/**
|
|
56
|
-
* 是否启用事件验证
|
|
57
|
-
*/
|
|
58
|
-
enableValidation?: boolean;
|
|
59
|
-
/**
|
|
60
|
-
* 事件验证函数
|
|
61
|
-
*/
|
|
62
|
-
validator?: (event: string, data: unknown) => boolean;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* 事件总线
|
|
66
|
-
*/
|
|
67
|
-
export declare class PluginEventBus {
|
|
68
|
-
private listeners;
|
|
69
|
-
private eventHistory;
|
|
70
|
-
private config;
|
|
71
|
-
private eventCounter;
|
|
72
|
-
/**
|
|
73
|
-
* 订阅事件
|
|
74
|
-
*
|
|
75
|
-
* @param event - 事件名称
|
|
76
|
-
* @param listener - 事件监听器(可以接收 EventWrapper 或直接数据)
|
|
77
|
-
* @returns 取消订阅函数
|
|
78
|
-
*/
|
|
79
|
-
on<T = unknown>(event: string, listener: EventListener<T | EventWrapper<T>>): () => void;
|
|
80
|
-
/**
|
|
81
|
-
* 取消订阅事件
|
|
82
|
-
*
|
|
83
|
-
* @param event - 事件名称
|
|
84
|
-
* @param listener - 事件监听器
|
|
85
|
-
*/
|
|
86
|
-
off<T = unknown>(event: string, listener: EventListener<T>): void;
|
|
87
|
-
constructor(config?: PluginEventBusConfig);
|
|
88
|
-
/**
|
|
89
|
-
* 发布事件
|
|
90
|
-
*
|
|
91
|
-
* @param event - 事件名称
|
|
92
|
-
* @param data - 事件数据
|
|
93
|
-
* @param metadata - 事件元数据(可选)
|
|
94
|
-
*/
|
|
95
|
-
emit<T = unknown>(event: string, data?: T, metadata?: Partial<EventMetadata>): Promise<void>;
|
|
96
|
-
/**
|
|
97
|
-
* 发布事件(仅数据,向后兼容)
|
|
98
|
-
*
|
|
99
|
-
* @param event - 事件名称
|
|
100
|
-
* @param data - 事件数据
|
|
101
|
-
*/
|
|
102
|
-
emitData<T = unknown>(event: string, data?: T): Promise<void>;
|
|
103
|
-
/**
|
|
104
|
-
* 一次性订阅事件
|
|
105
|
-
*
|
|
106
|
-
* @param event - 事件名称
|
|
107
|
-
* @param listener - 事件监听器
|
|
108
|
-
*/
|
|
109
|
-
once<T = unknown>(event: string, listener: EventListener<T>): void;
|
|
110
|
-
/**
|
|
111
|
-
* 清空所有事件监听器
|
|
112
|
-
*/
|
|
113
|
-
clear(): void;
|
|
114
|
-
/**
|
|
115
|
-
* 获取事件监听器数量
|
|
116
|
-
*
|
|
117
|
-
* @param event - 事件名称,如果不提供则返回所有事件的监听器总数
|
|
118
|
-
*/
|
|
119
|
-
listenerCount(event?: string): number;
|
|
120
|
-
/**
|
|
121
|
-
* 获取所有事件名称
|
|
122
|
-
*/
|
|
123
|
-
eventNames(): string[];
|
|
124
|
-
/**
|
|
125
|
-
* 获取事件历史记录
|
|
126
|
-
*
|
|
127
|
-
* @param event - 事件名称(可选,如果提供则只返回该事件的历史)
|
|
128
|
-
* @param limit - 限制返回的记录数
|
|
129
|
-
* @returns 事件历史记录
|
|
130
|
-
*/
|
|
131
|
-
getEventHistory(event?: string, limit?: number): Array<{
|
|
132
|
-
event: string;
|
|
133
|
-
data: unknown;
|
|
134
|
-
metadata: EventMetadata;
|
|
135
|
-
}>;
|
|
136
|
-
/**
|
|
137
|
-
* 清空事件历史记录
|
|
138
|
-
*/
|
|
139
|
-
clearHistory(): void;
|
|
140
|
-
/**
|
|
141
|
-
* 请求-响应模式:发送请求并等待响应
|
|
142
|
-
*
|
|
143
|
-
* @param event - 事件名称
|
|
144
|
-
* @param data - 请求数据
|
|
145
|
-
* @param timeout - 超时时间(毫秒)
|
|
146
|
-
* @returns 响应数据
|
|
147
|
-
*/
|
|
148
|
-
request<TRequest = unknown, TResponse = unknown>(event: string, data?: TRequest, timeout?: number): Promise<TResponse>;
|
|
149
|
-
/**
|
|
150
|
-
* 请求-响应模式:注册请求处理器
|
|
151
|
-
*
|
|
152
|
-
* @param event - 事件名称
|
|
153
|
-
* @param handler - 请求处理器
|
|
154
|
-
* @returns 取消注册函数
|
|
155
|
-
*/
|
|
156
|
-
onRequest<TRequest = unknown, TResponse = unknown>(event: string, handler: (data: TRequest, metadata: EventMetadata) => Promise<TResponse> | TResponse): () => void;
|
|
157
|
-
/**
|
|
158
|
-
* 获取配置
|
|
159
|
-
*/
|
|
160
|
-
getConfig(): PluginEventBusConfig;
|
|
161
|
-
/**
|
|
162
|
-
* 更新配置
|
|
163
|
-
*/
|
|
164
|
-
updateConfig(config: Partial<PluginEventBusConfig>): void;
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* 全局插件事件总线实例
|
|
168
|
-
*/
|
|
169
|
-
export declare const pluginEventBus: PluginEventBus;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}export class PluginEventBus{on(event,listener){if(!this.listeners.has(event)){this.listeners.set(event,new Set)}const listeners=this.listeners.get(event);listeners.add(listener);return()=>{listeners.delete(listener);if(listeners.size===0){this.listeners.delete(event)}}}off(event,listener){const listeners=this.listeners.get(event);if(listeners){listeners.delete(listener);if(listeners.size===0){this.listeners.delete(event)}}}async emit(event,data,metadata){if(this.config.enableValidation&&!this.config.validator(event,data)){console.warn(`事件 ${event} 验证失败,已忽略`);return}const eventMetadata={source:metadata?.source,timestamp:metadata?.timestamp??Date.now(),eventId:metadata?.eventId??`event_${++this.eventCounter}`,priority:metadata?.priority??0};if(this.config.enableTracking){this.eventHistory.push({event,data,metadata:eventMetadata});if(this.eventHistory.length>this.config.maxHistorySize){this.eventHistory.shift()}}const listeners=this.listeners.get(event);if(!listeners||listeners.size===0){return}const eventWrapper={data:data,metadata:eventMetadata};const sortedListeners=Array.from(listeners);const promises=sortedListeners.map(listener=>{try{return Promise.resolve(listener(eventWrapper))}catch(error){console.error(`事件 ${event} 的监听器执行失败:`,error);return Promise.resolve()}});await Promise.allSettled(promises)}async emitData(event,data){return this.emit(event,data)}once(event,listener){const wrappedListener=async data=>{const actualData=data.data!==undefined?data.data:data;await listener(actualData);this.off(event,wrappedListener)};this.on(event,wrappedListener)}clear(){this.listeners.clear()}listenerCount(event){if(event){return this.listeners.get(event)?.size||0}let count=0;for(const listeners of this.listeners.values()){count+=listeners.size}return count}eventNames(){return Array.from(this.listeners.keys())}getEventHistory(event,limit){if(!this.config.enableTracking){return[]}let history=this.eventHistory;if(event){history=history.filter(h=>h.event===event)}if(limit){history=history.slice(-limit)}return[...history]}clearHistory(){this.eventHistory=[]}async request(event,data,timeout=5e3){return new Promise((resolve,reject)=>{const responseEvent=`${event}:response`;const requestId=`req_${Date.now()}_${Math.random()}`;const timeoutId=setTimeout(()=>{this.off(responseEvent,responseHandler);reject(new Error(`请求 ${event} 超时`))},timeout);const responseHandler=response=>{const actualResponse=response.data!==undefined?response.data:response;if(actualResponse.requestId===requestId){clearTimeout(timeoutId);this.off(responseEvent,responseHandler);resolve(actualResponse.data)}};this.on(responseEvent,responseHandler);this.emit(`${event}:request`,{requestId,data})})}onRequest(event,handler){const requestEvent=`${event}:request`;const responseEvent=`${event}:response`;return this.on(requestEvent,async wrapper=>{try{const actualWrapper=wrapper.data!==undefined?wrapper:{data:wrapper,metadata:{timestamp:Date.now()}};const response=await handler(actualWrapper.data.data,actualWrapper.metadata);this.emit(responseEvent,{requestId:actualWrapper.data.requestId,data:response})}catch(error){const actualWrapper=wrapper.data!==undefined?wrapper:{data:wrapper};this.emit(`${responseEvent}:error`,{requestId:actualWrapper.data.requestId,error:error instanceof Error?error.message:String(error)})}})}getConfig(){return{...this.config}}updateConfig(config){this.config={...this.config,...config}}constructor(config={}){_define_property(this,"listeners",new Map);_define_property(this,"eventHistory",[]);_define_property(this,"config",void 0);_define_property(this,"eventCounter",0);this.config={enableTracking:config.enableTracking??false,maxHistorySize:config.maxHistorySize??100,enableValidation:config.enableValidation??false,validator:config.validator??(()=>true)}}}export const pluginEventBus=new PluginEventBus({enableTracking:process.env.NODE_ENV==="development",maxHistorySize:100,enableValidation:false});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get PluginPermission(){return PluginPermission},get PluginSandbox(){return PluginSandbox}});function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var PluginPermission=/*#__PURE__*/function(PluginPermission){PluginPermission["ACCESS_CONFIG"]="access_config";PluginPermission["ACCESS_STATE_MANAGER"]="access_state_manager";PluginPermission["ACCESS_STORAGE"]="access_storage";PluginPermission["EMIT_EVENTS"]="emit_events";PluginPermission["SUBSCRIBE_EVENTS"]="subscribe_events";return PluginPermission}({});let PluginSandbox=class PluginSandbox{hasPermission(permission){if(!this.config.strictMode){return true}return this.permissions.has(permission)}canAccessConfig(key){if(!this.hasPermission("access_config")){return false}if(this.config.configWhitelist&&this.config.configWhitelist.length>0){return this.config.configWhitelist.includes(key)}return true}canAccessStateScope(scope){if(!this.hasPermission("access_state_manager")){return false}if(this.config.stateScopeWhitelist&&this.config.stateScopeWhitelist.length>0){return this.config.stateScopeWhitelist.includes(scope)}return true}filterConfig(config){if(!this.hasPermission("access_config")){return{}}if(!this.config.configWhitelist||this.config.configWhitelist.length===0){return config}const filtered={};for(const key of this.config.configWhitelist){if(key in config){filtered[key]=config[key]}}return filtered}getConfig(){return{...this.config}}updatePermissions(permissions){this.permissions=new Set(permissions);this.config.permissions=permissions}constructor(config){_define_property(this,"config",void 0);_define_property(this,"permissions",void 0);this.config={strictMode:true,...config};this.permissions=new Set(config.permissions||[])}};
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 插件沙箱
|
|
3
|
-
* 用于插件隔离和权限控制
|
|
4
|
-
*/
|
|
5
|
-
import type { StartOptions } from '../types';
|
|
6
|
-
/**
|
|
7
|
-
* 插件权限
|
|
8
|
-
*/
|
|
9
|
-
export declare enum PluginPermission {
|
|
10
|
-
/**
|
|
11
|
-
* 访问配置
|
|
12
|
-
*/
|
|
13
|
-
ACCESS_CONFIG = "access_config",
|
|
14
|
-
/**
|
|
15
|
-
* 访问状态管理器
|
|
16
|
-
*/
|
|
17
|
-
ACCESS_STATE_MANAGER = "access_state_manager",
|
|
18
|
-
/**
|
|
19
|
-
* 访问存储
|
|
20
|
-
*/
|
|
21
|
-
ACCESS_STORAGE = "access_storage",
|
|
22
|
-
/**
|
|
23
|
-
* 发布事件
|
|
24
|
-
*/
|
|
25
|
-
EMIT_EVENTS = "emit_events",
|
|
26
|
-
/**
|
|
27
|
-
* 订阅事件
|
|
28
|
-
*/
|
|
29
|
-
SUBSCRIBE_EVENTS = "subscribe_events"
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* 插件沙箱配置
|
|
33
|
-
*/
|
|
34
|
-
export interface PluginSandboxConfig {
|
|
35
|
-
/**
|
|
36
|
-
* 插件名称
|
|
37
|
-
*/
|
|
38
|
-
name: string;
|
|
39
|
-
/**
|
|
40
|
-
* 允许的权限列表
|
|
41
|
-
*/
|
|
42
|
-
permissions?: PluginPermission[];
|
|
43
|
-
/**
|
|
44
|
-
* 允许访问的配置键(白名单)
|
|
45
|
-
*/
|
|
46
|
-
configWhitelist?: string[];
|
|
47
|
-
/**
|
|
48
|
-
* 允许访问的状态作用域(白名单)
|
|
49
|
-
*/
|
|
50
|
-
stateScopeWhitelist?: (string | symbol)[];
|
|
51
|
-
/**
|
|
52
|
-
* 是否启用严格模式(默认true)
|
|
53
|
-
*/
|
|
54
|
-
strictMode?: boolean;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* 插件沙箱
|
|
58
|
-
*/
|
|
59
|
-
export declare class PluginSandbox {
|
|
60
|
-
private config;
|
|
61
|
-
private permissions;
|
|
62
|
-
constructor(config: PluginSandboxConfig);
|
|
63
|
-
/**
|
|
64
|
-
* 检查权限
|
|
65
|
-
*
|
|
66
|
-
* @param permission - 权限
|
|
67
|
-
* @returns 是否有权限
|
|
68
|
-
*/
|
|
69
|
-
hasPermission(permission: PluginPermission): boolean;
|
|
70
|
-
/**
|
|
71
|
-
* 检查是否可以访问配置键
|
|
72
|
-
*
|
|
73
|
-
* @param key - 配置键
|
|
74
|
-
* @returns 是否可以访问
|
|
75
|
-
*/
|
|
76
|
-
canAccessConfig(key: string): boolean;
|
|
77
|
-
/**
|
|
78
|
-
* 检查是否可以访问状态作用域
|
|
79
|
-
*
|
|
80
|
-
* @param scope - 状态作用域
|
|
81
|
-
* @returns 是否可以访问
|
|
82
|
-
*/
|
|
83
|
-
canAccessStateScope(scope: string | symbol): boolean;
|
|
84
|
-
/**
|
|
85
|
-
* 过滤配置(根据白名单)
|
|
86
|
-
*
|
|
87
|
-
* @param config - 完整配置
|
|
88
|
-
* @returns 过滤后的配置
|
|
89
|
-
*/
|
|
90
|
-
filterConfig(config: StartOptions): Partial<StartOptions>;
|
|
91
|
-
/**
|
|
92
|
-
* 获取沙箱配置
|
|
93
|
-
*/
|
|
94
|
-
getConfig(): PluginSandboxConfig;
|
|
95
|
-
/**
|
|
96
|
-
* 更新权限
|
|
97
|
-
*
|
|
98
|
-
* @param permissions - 权限列表
|
|
99
|
-
*/
|
|
100
|
-
updatePermissions(permissions: PluginPermission[]): void;
|
|
101
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}export var PluginPermission=/*#__PURE__*/function(PluginPermission){PluginPermission["ACCESS_CONFIG"]="access_config";PluginPermission["ACCESS_STATE_MANAGER"]="access_state_manager";PluginPermission["ACCESS_STORAGE"]="access_storage";PluginPermission["EMIT_EVENTS"]="emit_events";PluginPermission["SUBSCRIBE_EVENTS"]="subscribe_events";return PluginPermission}({});export class PluginSandbox{hasPermission(permission){if(!this.config.strictMode){return true}return this.permissions.has(permission)}canAccessConfig(key){if(!this.hasPermission("access_config")){return false}if(this.config.configWhitelist&&this.config.configWhitelist.length>0){return this.config.configWhitelist.includes(key)}return true}canAccessStateScope(scope){if(!this.hasPermission("access_state_manager")){return false}if(this.config.stateScopeWhitelist&&this.config.stateScopeWhitelist.length>0){return this.config.stateScopeWhitelist.includes(scope)}return true}filterConfig(config){if(!this.hasPermission("access_config")){return{}}if(!this.config.configWhitelist||this.config.configWhitelist.length===0){return config}const filtered={};for(const key of this.config.configWhitelist){if(key in config){filtered[key]=config[key]}}return filtered}getConfig(){return{...this.config}}updatePermissions(permissions){this.permissions=new Set(permissions);this.config.permissions=permissions}constructor(config){_define_property(this,"config",void 0);_define_property(this,"permissions",void 0);this.config={strictMode:true,...config};this.permissions=new Set(config.permissions||[])}}
|
package/dist/core/plugin.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:Object.getOwnPropertyDescriptor(all,name).get})}_export(exports,{get PluginEventBus(){return _PluginEventBus.PluginEventBus},get PluginManager(){return PluginManager},get PluginPermission(){return _PluginSandbox.PluginPermission},get PluginSandbox(){return _PluginSandbox.PluginSandbox},get pluginEventBus(){return _PluginEventBus.pluginEventBus},get pluginManager(){return pluginManager}});const _PluginSandbox=require("./plugin/PluginSandbox");const _PluginEventBus=require("./plugin/PluginEventBus");function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj}if(obj===null||typeof obj!=="object"&&typeof obj!=="function"){return{default:obj}}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={__proto__:null};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj.default=obj;if(cache){cache.set(obj,newObj)}return newObj}let PluginManager=class PluginManager{register(plugin){if(this.plugins.has(plugin.name)){console.warn(`插件 ${plugin.name} 已存在,将被覆盖`)}if(plugin.dependencies&&plugin.dependencies.length>0){const missingDeps=plugin.dependencies.filter(dep=>!this.plugins.has(dep));if(missingDeps.length>0){console.warn(`插件 ${plugin.name} 的依赖未注册: ${missingDeps.join(", ")}`)}}this.plugins.set(plugin.name,plugin);this.pluginStatus.set(plugin.name,"registered");if(plugin.sandbox){const sandbox=new _PluginSandbox.PluginSandbox({...plugin.sandbox,name:plugin.name});this.sandboxes.set(plugin.name,sandbox)}else{const sandbox=new _PluginSandbox.PluginSandbox({strictMode:false,name:plugin.name});this.sandboxes.set(plugin.name,sandbox)}}getLoadOrder(){const plugins=Array.from(this.plugins.values());const sortedPlugins=plugins.sort((a,b)=>{const priorityA=a.priority??100;const priorityB=b.priority??100;return priorityA-priorityB});const visited=new Set;const visiting=new Set;const result=[];const visit=pluginName=>{if(visiting.has(pluginName)){console.warn(`检测到循环依赖,涉及插件: ${pluginName}`);return}if(visited.has(pluginName)){return}visiting.add(pluginName);const plugin=this.plugins.get(pluginName);if(plugin?.dependencies){for(const dep of plugin.dependencies){visit(dep)}}visiting.delete(pluginName);visited.add(pluginName);result.push(pluginName)};for(const plugin of sortedPlugins){visit(plugin.name)}return result}unregister(name){const plugin=this.plugins.get(name);if(plugin&&plugin.destroy){plugin.destroy()}this.plugins.delete(name);this.sandboxes.delete(name);this.pluginStatus.delete(name);this.pluginLoaders.delete(name)}async loadPlugin(options){let plugin;if(options.url){const response=await fetch(options.url);if(!response.ok){throw new Error(`无法加载插件: ${options.url} (${response.status})`)}const pluginModule=await response.json();plugin=pluginModule.default||pluginModule}else if(options.modulePath){const pluginModule=await Promise.resolve(options.modulePath).then(p=>/*#__PURE__*/_interop_require_wildcard(require(p)));plugin=pluginModule.default||pluginModule}else{throw new Error("必须提供 url 或 modulePath")}if(!plugin||!plugin.name){throw new Error("插件格式无效:必须包含 name 属性")}if(this.plugins.has(plugin.name)){throw new Error(`插件 ${plugin.name} 已加载`)}this.pluginStatus.set(plugin.name,"loading");try{this.register(plugin);if(options.initialize&&options.initContext&&options.startOptions){await this.initializePlugin(plugin.name,options.startOptions,options.initContext)}return plugin}catch(error){this.pluginStatus.delete(plugin.name);throw error}}async initializePlugin(name,options,context){const plugin=this.plugins.get(name);if(!plugin){throw new Error(`插件 ${name} 未注册`)}const status=this.pluginStatus.get(name);if(status==="initialized"){return}try{const sandbox=this.sandboxes.get(name);if(!sandbox){throw new Error(`插件 ${name} 的沙箱未找到`)}if(plugin.init){const filteredOptions=sandbox.filterConfig(options);await plugin.init(filteredOptions,context,sandbox,_PluginEventBus.pluginEventBus)}this.pluginStatus.set(name,"initialized")}catch(error){console.error(`插件 ${name} 初始化失败:`,error);throw error}}async unloadPlugin(name,force=false){const plugin=this.plugins.get(name);if(!plugin){throw new Error(`插件 ${name} 未加载`)}if(!force){const dependents=Array.from(this.plugins.values()).filter(p=>p.dependencies&&p.dependencies.includes(name));if(dependents.length>0){throw new Error(`无法卸载插件 ${name},以下插件依赖它: ${dependents.map(p=>p.name).join(", ")}`)}}if(plugin.destroy){try{await plugin.destroy()}catch(error){console.error(`插件 ${name} 的 destroy 钩子执行失败:`,error)}}this.unregister(name);this.pluginStatus.set(name,"destroyed")}canHotLoad(plugin){if(plugin.dependencies&&plugin.dependencies.length>0){const missingDeps=plugin.dependencies.filter(dep=>!this.plugins.has(dep));if(missingDeps.length>0){return false}}return true}registerLoader(name,loader){this.pluginLoaders.set(name,loader)}async loadPluginByLoader(name,options){const loader=this.pluginLoaders.get(name);if(!loader){throw new Error(`插件 ${name} 的加载器未注册`)}const plugin=await loader();if(!plugin||!plugin.name){throw new Error("插件格式无效:必须包含 name 属性")}if(plugin.name!==name){throw new Error(`插件名称不匹配: 期望 ${name},实际 ${plugin.name}`)}if(this.plugins.has(plugin.name)){return this.plugins.get(plugin.name)}this.pluginStatus.set(plugin.name,"loading");try{this.register(plugin);if(options?.initialize&&options.initContext&&options.startOptions){await this.initializePlugin(plugin.name,options.startOptions,options.initContext)}return plugin}catch(error){this.pluginStatus.delete(plugin.name);throw error}}get(name){return this.plugins.get(name)}getAll(){return Array.from(this.plugins.values())}async executeBeforeInit(options){const loadOrder=this.getLoadOrder();for(const pluginName of loadOrder){const plugin=this.plugins.get(pluginName);if(!plugin||!plugin.beforeInit){continue}try{const sandbox=this.sandboxes.get(plugin.name);if(!sandbox){console.warn(`插件 ${plugin.name} 的沙箱未找到`);continue}const filteredOptions=sandbox.filterConfig(options);await plugin.beforeInit(filteredOptions,sandbox,_PluginEventBus.pluginEventBus)}catch(error){console.error(`插件 ${plugin.name} 的 beforeInit 钩子执行失败:`,error)}}}async executeInit(options,context){const loadOrder=this.getLoadOrder();for(const pluginName of loadOrder){const plugin=this.plugins.get(pluginName);if(!plugin||!plugin.init){continue}try{const sandbox=this.sandboxes.get(plugin.name);if(!sandbox){console.warn(`插件 ${plugin.name} 的沙箱未找到`);continue}const filteredOptions=sandbox.filterConfig(options);await plugin.init(filteredOptions,context,sandbox,_PluginEventBus.pluginEventBus);this.pluginStatus.set(plugin.name,"initialized")}catch(error){console.error(`插件 ${plugin.name} 的 init 钩子执行失败:`,error)}}}async executeAfterInit(options,context){const loadOrder=this.getLoadOrder();const reverseOrder=[...loadOrder].reverse();for(const pluginName of reverseOrder){const plugin=this.plugins.get(pluginName);if(!plugin||!plugin.afterInit){continue}try{const sandbox=this.sandboxes.get(plugin.name);if(!sandbox){console.warn(`插件 ${plugin.name} 的沙箱未找到`);continue}const filteredOptions=sandbox.filterConfig(options);await plugin.afterInit(filteredOptions,context,sandbox,_PluginEventBus.pluginEventBus)}catch(error){console.error(`插件 ${plugin.name} 的 afterInit 钩子执行失败:`,error)}}}getPluginStatus(name){return this.pluginStatus.get(name)}isLoaded(name){return this.plugins.has(name)}getLoadedPlugins(){return Array.from(this.plugins.keys())}getAllPluginStatus(){return new Map(this.pluginStatus)}getSandbox(name){return this.sandboxes.get(name)}getEventBus(){return _PluginEventBus.pluginEventBus}async destroyAll(){for(const plugin of this.plugins.values()){if(plugin.destroy){try{await plugin.destroy()}catch(error){console.error(`插件 ${plugin.name} 的 destroy 钩子执行失败:`,error)}}}this.plugins.clear()}constructor(){_define_property(this,"plugins",new Map);_define_property(this,"sandboxes",new Map);_define_property(this,"pluginStatus",new Map);_define_property(this,"pluginLoaders",new Map)}};const pluginManager=new PluginManager;
|