@vlian/framework 1.0.0

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.
Files changed (795) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +130 -0
  3. package/dist/components/index.cjs +6 -0
  4. package/dist/components/index.cjs.map +1 -0
  5. package/dist/components/index.d.ts +2 -0
  6. package/dist/components/index.d.ts.map +1 -0
  7. package/dist/components/index.js +3 -0
  8. package/dist/components/index.js.map +1 -0
  9. package/dist/core/Test.cjs +66 -0
  10. package/dist/core/Test.cjs.map +1 -0
  11. package/dist/core/Test.d.ts +6 -0
  12. package/dist/core/Test.d.ts.map +1 -0
  13. package/dist/core/Test.js +15 -0
  14. package/dist/core/Test.js.map +1 -0
  15. package/dist/core/app/AppContext.cjs +344 -0
  16. package/dist/core/app/AppContext.cjs.map +1 -0
  17. package/dist/core/app/AppContext.d.ts +110 -0
  18. package/dist/core/app/AppContext.d.ts.map +1 -0
  19. package/dist/core/app/AppContext.js +333 -0
  20. package/dist/core/app/AppContext.js.map +1 -0
  21. package/dist/core/app/AppContext.types.cjs +6 -0
  22. package/dist/core/app/AppContext.types.cjs.map +1 -0
  23. package/dist/core/app/AppContext.types.d.ts +147 -0
  24. package/dist/core/app/AppContext.types.d.ts.map +1 -0
  25. package/dist/core/app/AppContext.types.js +5 -0
  26. package/dist/core/app/AppContext.types.js.map +1 -0
  27. package/dist/core/app/BasicLayout.cjs +89 -0
  28. package/dist/core/app/BasicLayout.cjs.map +1 -0
  29. package/dist/core/app/BasicLayout.d.ts +13 -0
  30. package/dist/core/app/BasicLayout.d.ts.map +1 -0
  31. package/dist/core/app/BasicLayout.js +39 -0
  32. package/dist/core/app/BasicLayout.js.map +1 -0
  33. package/dist/core/app/DefaultApp.cjs +201 -0
  34. package/dist/core/app/DefaultApp.cjs.map +1 -0
  35. package/dist/core/app/DefaultApp.d.ts +31 -0
  36. package/dist/core/app/DefaultApp.d.ts.map +1 -0
  37. package/dist/core/app/DefaultApp.js +192 -0
  38. package/dist/core/app/DefaultApp.js.map +1 -0
  39. package/dist/core/app/index.cjs +43 -0
  40. package/dist/core/app/index.cjs.map +1 -0
  41. package/dist/core/app/index.d.ts +9 -0
  42. package/dist/core/app/index.d.ts.map +1 -0
  43. package/dist/core/app/index.js +7 -0
  44. package/dist/core/app/index.js.map +1 -0
  45. package/dist/core/config/AppConfig.cjs +141 -0
  46. package/dist/core/config/AppConfig.cjs.map +1 -0
  47. package/dist/core/config/AppConfig.d.ts +89 -0
  48. package/dist/core/config/AppConfig.d.ts.map +1 -0
  49. package/dist/core/config/AppConfig.js +133 -0
  50. package/dist/core/config/AppConfig.js.map +1 -0
  51. package/dist/core/config/ConfigLoader.cjs +243 -0
  52. package/dist/core/config/ConfigLoader.cjs.map +1 -0
  53. package/dist/core/config/ConfigLoader.d.ts +103 -0
  54. package/dist/core/config/ConfigLoader.d.ts.map +1 -0
  55. package/dist/core/config/ConfigLoader.js +229 -0
  56. package/dist/core/config/ConfigLoader.js.map +1 -0
  57. package/dist/core/config/ConfigValidator.cjs +135 -0
  58. package/dist/core/config/ConfigValidator.cjs.map +1 -0
  59. package/dist/core/config/ConfigValidator.d.ts +85 -0
  60. package/dist/core/config/ConfigValidator.d.ts.map +1 -0
  61. package/dist/core/config/ConfigValidator.js +121 -0
  62. package/dist/core/config/ConfigValidator.js.map +1 -0
  63. package/dist/core/config/index.cjs +30 -0
  64. package/dist/core/config/index.cjs.map +1 -0
  65. package/dist/core/config/index.d.ts +7 -0
  66. package/dist/core/config/index.d.ts.map +1 -0
  67. package/dist/core/config/index.js +7 -0
  68. package/dist/core/config/index.js.map +1 -0
  69. package/dist/core/dev/DevTools.cjs +374 -0
  70. package/dist/core/dev/DevTools.cjs.map +1 -0
  71. package/dist/core/dev/DevTools.d.ts +47 -0
  72. package/dist/core/dev/DevTools.d.ts.map +1 -0
  73. package/dist/core/dev/DevTools.js +363 -0
  74. package/dist/core/dev/DevTools.js.map +1 -0
  75. package/dist/core/error/ErrorBoundary.cjs +331 -0
  76. package/dist/core/error/ErrorBoundary.cjs.map +1 -0
  77. package/dist/core/error/ErrorBoundary.d.ts +123 -0
  78. package/dist/core/error/ErrorBoundary.d.ts.map +1 -0
  79. package/dist/core/error/ErrorBoundary.js +327 -0
  80. package/dist/core/error/ErrorBoundary.js.map +1 -0
  81. package/dist/core/error/index.cjs +26 -0
  82. package/dist/core/error/index.cjs.map +1 -0
  83. package/dist/core/error/index.d.ts +6 -0
  84. package/dist/core/error/index.d.ts.map +1 -0
  85. package/dist/core/error/index.js +5 -0
  86. package/dist/core/error/index.js.map +1 -0
  87. package/dist/core/index.cjs +140 -0
  88. package/dist/core/index.cjs.map +1 -0
  89. package/dist/core/index.d.ts +53 -0
  90. package/dist/core/index.d.ts.map +1 -0
  91. package/dist/core/index.js +66 -0
  92. package/dist/core/index.js.map +1 -0
  93. package/dist/core/initialization/InitializationErrorThrower.cjs +77 -0
  94. package/dist/core/initialization/InitializationErrorThrower.cjs.map +1 -0
  95. package/dist/core/initialization/InitializationErrorThrower.d.ts +8 -0
  96. package/dist/core/initialization/InitializationErrorThrower.d.ts.map +1 -0
  97. package/dist/core/initialization/InitializationErrorThrower.js +30 -0
  98. package/dist/core/initialization/InitializationErrorThrower.js.map +1 -0
  99. package/dist/core/initialization/index.cjs +28 -0
  100. package/dist/core/initialization/index.cjs.map +1 -0
  101. package/dist/core/initialization/index.d.ts +8 -0
  102. package/dist/core/initialization/index.d.ts.map +1 -0
  103. package/dist/core/initialization/index.js +7 -0
  104. package/dist/core/initialization/index.js.map +1 -0
  105. package/dist/core/initialization/initialization.cjs +211 -0
  106. package/dist/core/initialization/initialization.cjs.map +1 -0
  107. package/dist/core/initialization/initialization.d.ts +127 -0
  108. package/dist/core/initialization/initialization.d.ts.map +1 -0
  109. package/dist/core/initialization/initialization.js +224 -0
  110. package/dist/core/initialization/initialization.js.map +1 -0
  111. package/dist/core/initialization/initializationErrorState.cjs +68 -0
  112. package/dist/core/initialization/initializationErrorState.cjs.map +1 -0
  113. package/dist/core/initialization/initializationErrorState.d.ts +36 -0
  114. package/dist/core/initialization/initializationErrorState.d.ts.map +1 -0
  115. package/dist/core/initialization/initializationErrorState.js +60 -0
  116. package/dist/core/initialization/initializationErrorState.js.map +1 -0
  117. package/dist/core/middleware.cjs +75 -0
  118. package/dist/core/middleware.cjs.map +1 -0
  119. package/dist/core/middleware.d.ts +37 -0
  120. package/dist/core/middleware.d.ts.map +1 -0
  121. package/dist/core/middleware.js +61 -0
  122. package/dist/core/middleware.js.map +1 -0
  123. package/dist/core/plugin/PluginEventBus.cjs +300 -0
  124. package/dist/core/plugin/PluginEventBus.cjs.map +1 -0
  125. package/dist/core/plugin/PluginEventBus.d.ts +170 -0
  126. package/dist/core/plugin/PluginEventBus.d.ts.map +1 -0
  127. package/dist/core/plugin/PluginEventBus.js +286 -0
  128. package/dist/core/plugin/PluginEventBus.js.map +1 -0
  129. package/dist/core/plugin/PluginSandbox.cjs +139 -0
  130. package/dist/core/plugin/PluginSandbox.cjs.map +1 -0
  131. package/dist/core/plugin/PluginSandbox.d.ts +102 -0
  132. package/dist/core/plugin/PluginSandbox.d.ts.map +1 -0
  133. package/dist/core/plugin/PluginSandbox.js +125 -0
  134. package/dist/core/plugin/PluginSandbox.js.map +1 -0
  135. package/dist/core/plugin.cjs +496 -0
  136. package/dist/core/plugin.cjs.map +1 -0
  137. package/dist/core/plugin.d.ts +221 -0
  138. package/dist/core/plugin.d.ts.map +1 -0
  139. package/dist/core/plugin.js +438 -0
  140. package/dist/core/plugin.js.map +1 -0
  141. package/dist/core/router/RouterManager.cjs +239 -0
  142. package/dist/core/router/RouterManager.cjs.map +1 -0
  143. package/dist/core/router/RouterManager.d.ts +83 -0
  144. package/dist/core/router/RouterManager.d.ts.map +1 -0
  145. package/dist/core/router/RouterManager.js +223 -0
  146. package/dist/core/router/RouterManager.js.map +1 -0
  147. package/dist/core/router/adapter/AdapterManager.cjs +237 -0
  148. package/dist/core/router/adapter/AdapterManager.cjs.map +1 -0
  149. package/dist/core/router/adapter/AdapterManager.d.ts +95 -0
  150. package/dist/core/router/adapter/AdapterManager.d.ts.map +1 -0
  151. package/dist/core/router/adapter/AdapterManager.js +221 -0
  152. package/dist/core/router/adapter/AdapterManager.js.map +1 -0
  153. package/dist/core/router/adapter/index.cjs +24 -0
  154. package/dist/core/router/adapter/index.cjs.map +1 -0
  155. package/dist/core/router/adapter/index.d.ts +7 -0
  156. package/dist/core/router/adapter/index.d.ts.map +1 -0
  157. package/dist/core/router/adapter/index.js +7 -0
  158. package/dist/core/router/adapter/index.js.map +1 -0
  159. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs +130 -0
  160. package/dist/core/router/adapter/react-router/ReactRouterAdapter.cjs.map +1 -0
  161. package/dist/core/router/adapter/react-router/ReactRouterAdapter.d.ts +44 -0
  162. package/dist/core/router/adapter/react-router/ReactRouterAdapter.d.ts.map +1 -0
  163. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js +116 -0
  164. package/dist/core/router/adapter/react-router/ReactRouterAdapter.js.map +1 -0
  165. package/dist/core/router/adapter/react-router/index.cjs +22 -0
  166. package/dist/core/router/adapter/react-router/index.cjs.map +1 -0
  167. package/dist/core/router/adapter/react-router/index.d.ts +5 -0
  168. package/dist/core/router/adapter/react-router/index.d.ts.map +1 -0
  169. package/dist/core/router/adapter/react-router/index.js +5 -0
  170. package/dist/core/router/adapter/react-router/index.js.map +1 -0
  171. package/dist/core/router/adapter/types.cjs +8 -0
  172. package/dist/core/router/adapter/types.cjs.map +1 -0
  173. package/dist/core/router/adapter/types.d.ts +112 -0
  174. package/dist/core/router/adapter/types.d.ts.map +1 -0
  175. package/dist/core/router/adapter/types.js +7 -0
  176. package/dist/core/router/adapter/types.js.map +1 -0
  177. package/dist/core/router/dev/RouterDevTools.cjs +410 -0
  178. package/dist/core/router/dev/RouterDevTools.cjs.map +1 -0
  179. package/dist/core/router/dev/RouterDevTools.d.ts +10 -0
  180. package/dist/core/router/dev/RouterDevTools.d.ts.map +1 -0
  181. package/dist/core/router/dev/RouterDevTools.js +363 -0
  182. package/dist/core/router/dev/RouterDevTools.js.map +1 -0
  183. package/dist/core/router/dev/index.cjs +22 -0
  184. package/dist/core/router/dev/index.cjs.map +1 -0
  185. package/dist/core/router/dev/index.d.ts +5 -0
  186. package/dist/core/router/dev/index.d.ts.map +1 -0
  187. package/dist/core/router/dev/index.js +5 -0
  188. package/dist/core/router/dev/index.js.map +1 -0
  189. package/dist/core/router/dynamic/DynamicRouteManager.cjs +195 -0
  190. package/dist/core/router/dynamic/DynamicRouteManager.cjs.map +1 -0
  191. package/dist/core/router/dynamic/DynamicRouteManager.d.ts +72 -0
  192. package/dist/core/router/dynamic/DynamicRouteManager.d.ts.map +1 -0
  193. package/dist/core/router/dynamic/DynamicRouteManager.js +179 -0
  194. package/dist/core/router/dynamic/DynamicRouteManager.js.map +1 -0
  195. package/dist/core/router/dynamic/index.cjs +22 -0
  196. package/dist/core/router/dynamic/index.cjs.map +1 -0
  197. package/dist/core/router/dynamic/index.d.ts +5 -0
  198. package/dist/core/router/dynamic/index.d.ts.map +1 -0
  199. package/dist/core/router/dynamic/index.js +5 -0
  200. package/dist/core/router/dynamic/index.js.map +1 -0
  201. package/dist/core/router/errors/RouterError.cjs +63 -0
  202. package/dist/core/router/errors/RouterError.cjs.map +1 -0
  203. package/dist/core/router/errors/RouterError.d.ts +48 -0
  204. package/dist/core/router/errors/RouterError.d.ts.map +1 -0
  205. package/dist/core/router/errors/RouterError.js +48 -0
  206. package/dist/core/router/errors/RouterError.js.map +1 -0
  207. package/dist/core/router/errors/index.cjs +22 -0
  208. package/dist/core/router/errors/index.cjs.map +1 -0
  209. package/dist/core/router/errors/index.d.ts +5 -0
  210. package/dist/core/router/errors/index.d.ts.map +1 -0
  211. package/dist/core/router/errors/index.js +5 -0
  212. package/dist/core/router/errors/index.js.map +1 -0
  213. package/dist/core/router/index.cjs +38 -0
  214. package/dist/core/router/index.cjs.map +1 -0
  215. package/dist/core/router/index.d.ts +17 -0
  216. package/dist/core/router/index.d.ts.map +1 -0
  217. package/dist/core/router/index.js +32 -0
  218. package/dist/core/router/index.js.map +1 -0
  219. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs +146 -0
  220. package/dist/core/router/lifecycle/RouterLifecycleManager.cjs.map +1 -0
  221. package/dist/core/router/lifecycle/RouterLifecycleManager.d.ts +57 -0
  222. package/dist/core/router/lifecycle/RouterLifecycleManager.d.ts.map +1 -0
  223. package/dist/core/router/lifecycle/RouterLifecycleManager.js +130 -0
  224. package/dist/core/router/lifecycle/RouterLifecycleManager.js.map +1 -0
  225. package/dist/core/router/lifecycle/index.cjs +22 -0
  226. package/dist/core/router/lifecycle/index.cjs.map +1 -0
  227. package/dist/core/router/lifecycle/index.d.ts +5 -0
  228. package/dist/core/router/lifecycle/index.d.ts.map +1 -0
  229. package/dist/core/router/lifecycle/index.js +5 -0
  230. package/dist/core/router/lifecycle/index.js.map +1 -0
  231. package/dist/core/router/middleware/RouterMiddlewareManager.cjs +175 -0
  232. package/dist/core/router/middleware/RouterMiddlewareManager.cjs.map +1 -0
  233. package/dist/core/router/middleware/RouterMiddlewareManager.d.ts +61 -0
  234. package/dist/core/router/middleware/RouterMiddlewareManager.d.ts.map +1 -0
  235. package/dist/core/router/middleware/RouterMiddlewareManager.js +159 -0
  236. package/dist/core/router/middleware/RouterMiddlewareManager.js.map +1 -0
  237. package/dist/core/router/middleware/auth.cjs +68 -0
  238. package/dist/core/router/middleware/auth.cjs.map +1 -0
  239. package/dist/core/router/middleware/auth.d.ts +55 -0
  240. package/dist/core/router/middleware/auth.d.ts.map +1 -0
  241. package/dist/core/router/middleware/auth.js +63 -0
  242. package/dist/core/router/middleware/auth.js.map +1 -0
  243. package/dist/core/router/middleware/index.cjs +24 -0
  244. package/dist/core/router/middleware/index.cjs.map +1 -0
  245. package/dist/core/router/middleware/index.d.ts +7 -0
  246. package/dist/core/router/middleware/index.d.ts.map +1 -0
  247. package/dist/core/router/middleware/index.js +7 -0
  248. package/dist/core/router/middleware/index.js.map +1 -0
  249. package/dist/core/router/middleware/types.cjs +8 -0
  250. package/dist/core/router/middleware/types.cjs.map +1 -0
  251. package/dist/core/router/middleware/types.d.ts +83 -0
  252. package/dist/core/router/middleware/types.d.ts.map +1 -0
  253. package/dist/core/router/middleware/types.js +7 -0
  254. package/dist/core/router/middleware/types.js.map +1 -0
  255. package/dist/core/router/monitoring/RouterMonitoring.cjs +229 -0
  256. package/dist/core/router/monitoring/RouterMonitoring.cjs.map +1 -0
  257. package/dist/core/router/monitoring/RouterMonitoring.d.ts +135 -0
  258. package/dist/core/router/monitoring/RouterMonitoring.d.ts.map +1 -0
  259. package/dist/core/router/monitoring/RouterMonitoring.js +213 -0
  260. package/dist/core/router/monitoring/RouterMonitoring.js.map +1 -0
  261. package/dist/core/router/monitoring/index.cjs +22 -0
  262. package/dist/core/router/monitoring/index.cjs.map +1 -0
  263. package/dist/core/router/monitoring/index.d.ts +5 -0
  264. package/dist/core/router/monitoring/index.d.ts.map +1 -0
  265. package/dist/core/router/monitoring/index.js +5 -0
  266. package/dist/core/router/monitoring/index.js.map +1 -0
  267. package/dist/core/router/navigation/RouterNavigation.cjs +186 -0
  268. package/dist/core/router/navigation/RouterNavigation.cjs.map +1 -0
  269. package/dist/core/router/navigation/RouterNavigation.d.ts +41 -0
  270. package/dist/core/router/navigation/RouterNavigation.d.ts.map +1 -0
  271. package/dist/core/router/navigation/RouterNavigation.js +137 -0
  272. package/dist/core/router/navigation/RouterNavigation.js.map +1 -0
  273. package/dist/core/router/navigation/index.cjs +22 -0
  274. package/dist/core/router/navigation/index.cjs.map +1 -0
  275. package/dist/core/router/navigation/index.d.ts +5 -0
  276. package/dist/core/router/navigation/index.d.ts.map +1 -0
  277. package/dist/core/router/navigation/index.js +5 -0
  278. package/dist/core/router/navigation/index.js.map +1 -0
  279. package/dist/core/router/performance/RouteCache.cjs +286 -0
  280. package/dist/core/router/performance/RouteCache.cjs.map +1 -0
  281. package/dist/core/router/performance/RouteCache.d.ts +108 -0
  282. package/dist/core/router/performance/RouteCache.d.ts.map +1 -0
  283. package/dist/core/router/performance/RouteCache.js +270 -0
  284. package/dist/core/router/performance/RouteCache.js.map +1 -0
  285. package/dist/core/router/performance/RoutePreloader.cjs +227 -0
  286. package/dist/core/router/performance/RoutePreloader.cjs.map +1 -0
  287. package/dist/core/router/performance/RoutePreloader.d.ts +104 -0
  288. package/dist/core/router/performance/RoutePreloader.d.ts.map +1 -0
  289. package/dist/core/router/performance/RoutePreloader.js +210 -0
  290. package/dist/core/router/performance/RoutePreloader.js.map +1 -0
  291. package/dist/core/router/performance/index.cjs +23 -0
  292. package/dist/core/router/performance/index.cjs.map +1 -0
  293. package/dist/core/router/performance/index.d.ts +6 -0
  294. package/dist/core/router/performance/index.d.ts.map +1 -0
  295. package/dist/core/router/performance/index.js +6 -0
  296. package/dist/core/router/performance/index.js.map +1 -0
  297. package/dist/core/router/plugin/RouterPluginManager.cjs +264 -0
  298. package/dist/core/router/plugin/RouterPluginManager.cjs.map +1 -0
  299. package/dist/core/router/plugin/RouterPluginManager.d.ts +75 -0
  300. package/dist/core/router/plugin/RouterPluginManager.d.ts.map +1 -0
  301. package/dist/core/router/plugin/RouterPluginManager.js +248 -0
  302. package/dist/core/router/plugin/RouterPluginManager.js.map +1 -0
  303. package/dist/core/router/plugin/index.cjs +23 -0
  304. package/dist/core/router/plugin/index.cjs.map +1 -0
  305. package/dist/core/router/plugin/index.d.ts +6 -0
  306. package/dist/core/router/plugin/index.d.ts.map +1 -0
  307. package/dist/core/router/plugin/index.js +6 -0
  308. package/dist/core/router/plugin/index.js.map +1 -0
  309. package/dist/core/router/plugin/types.cjs +41 -0
  310. package/dist/core/router/plugin/types.cjs.map +1 -0
  311. package/dist/core/router/plugin/types.d.ts +154 -0
  312. package/dist/core/router/plugin/types.d.ts.map +1 -0
  313. package/dist/core/router/plugin/types.js +33 -0
  314. package/dist/core/router/plugin/types.js.map +1 -0
  315. package/dist/core/router/types.cjs +6 -0
  316. package/dist/core/router/types.cjs.map +1 -0
  317. package/dist/core/router/types.d.ts +439 -0
  318. package/dist/core/router/types.d.ts.map +1 -0
  319. package/dist/core/router/types.js +5 -0
  320. package/dist/core/router/types.js.map +1 -0
  321. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs +139 -0
  322. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.cjs.map +1 -0
  323. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.d.ts +3 -0
  324. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.d.ts.map +1 -0
  325. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js +129 -0
  326. package/dist/core/router/utils/adapters/react-router/RouteErrorBoundary.js.map +1 -0
  327. package/dist/core/router/utils/adapters/react-router/transform.cjs +261 -0
  328. package/dist/core/router/utils/adapters/react-router/transform.cjs.map +1 -0
  329. package/dist/core/router/utils/adapters/react-router/transform.d.ts +6 -0
  330. package/dist/core/router/utils/adapters/react-router/transform.d.ts.map +1 -0
  331. package/dist/core/router/utils/adapters/react-router/transform.js +246 -0
  332. package/dist/core/router/utils/adapters/react-router/transform.js.map +1 -0
  333. package/dist/core/router/utils/transform.cjs +772 -0
  334. package/dist/core/router/utils/transform.cjs.map +1 -0
  335. package/dist/core/router/utils/transform.d.ts +349 -0
  336. package/dist/core/router/utils/transform.d.ts.map +1 -0
  337. package/dist/core/router/utils/transform.js +781 -0
  338. package/dist/core/router/utils/transform.js.map +1 -0
  339. package/dist/core/router/validation/RouterConfigValidator.cjs +85 -0
  340. package/dist/core/router/validation/RouterConfigValidator.cjs.map +1 -0
  341. package/dist/core/router/validation/RouterConfigValidator.d.ts +58 -0
  342. package/dist/core/router/validation/RouterConfigValidator.d.ts.map +1 -0
  343. package/dist/core/router/validation/RouterConfigValidator.js +77 -0
  344. package/dist/core/router/validation/RouterConfigValidator.js.map +1 -0
  345. package/dist/core/router/validation/index.cjs +23 -0
  346. package/dist/core/router/validation/index.cjs.map +1 -0
  347. package/dist/core/router/validation/index.d.ts +6 -0
  348. package/dist/core/router/validation/index.d.ts.map +1 -0
  349. package/dist/core/router/validation/index.js +6 -0
  350. package/dist/core/router/validation/index.js.map +1 -0
  351. package/dist/core/router/validation/schema.cjs +91 -0
  352. package/dist/core/router/validation/schema.cjs.map +1 -0
  353. package/dist/core/router/validation/schema.d.ts +82 -0
  354. package/dist/core/router/validation/schema.d.ts.map +1 -0
  355. package/dist/core/router/validation/schema.js +81 -0
  356. package/dist/core/router/validation/schema.js.map +1 -0
  357. package/dist/core/router/version/RouteVersionManager.cjs +207 -0
  358. package/dist/core/router/version/RouteVersionManager.cjs.map +1 -0
  359. package/dist/core/router/version/RouteVersionManager.d.ts +125 -0
  360. package/dist/core/router/version/RouteVersionManager.d.ts.map +1 -0
  361. package/dist/core/router/version/RouteVersionManager.js +191 -0
  362. package/dist/core/router/version/RouteVersionManager.js.map +1 -0
  363. package/dist/core/router/version/index.cjs +22 -0
  364. package/dist/core/router/version/index.cjs.map +1 -0
  365. package/dist/core/router/version/index.d.ts +5 -0
  366. package/dist/core/router/version/index.d.ts.map +1 -0
  367. package/dist/core/router/version/index.js +5 -0
  368. package/dist/core/router/version/index.js.map +1 -0
  369. package/dist/core/splash/SplashScreen.cjs +257 -0
  370. package/dist/core/splash/SplashScreen.cjs.map +1 -0
  371. package/dist/core/splash/SplashScreen.d.ts +15 -0
  372. package/dist/core/splash/SplashScreen.d.ts.map +1 -0
  373. package/dist/core/splash/SplashScreen.js +207 -0
  374. package/dist/core/splash/SplashScreen.js.map +1 -0
  375. package/dist/core/splash/index.cjs +24 -0
  376. package/dist/core/splash/index.cjs.map +1 -0
  377. package/dist/core/splash/index.d.ts +6 -0
  378. package/dist/core/splash/index.d.ts.map +1 -0
  379. package/dist/core/splash/index.js +6 -0
  380. package/dist/core/splash/index.js.map +1 -0
  381. package/dist/core/splash/splashScreenUtils.cjs +40 -0
  382. package/dist/core/splash/splashScreenUtils.cjs.map +1 -0
  383. package/dist/core/splash/splashScreenUtils.d.ts +8 -0
  384. package/dist/core/splash/splashScreenUtils.d.ts.map +1 -0
  385. package/dist/core/splash/splashScreenUtils.js +30 -0
  386. package/dist/core/splash/splashScreenUtils.js.map +1 -0
  387. package/dist/core/startup/AppInstance.cjs +233 -0
  388. package/dist/core/startup/AppInstance.cjs.map +1 -0
  389. package/dist/core/startup/AppInstance.d.ts +135 -0
  390. package/dist/core/startup/AppInstance.d.ts.map +1 -0
  391. package/dist/core/startup/AppInstance.js +218 -0
  392. package/dist/core/startup/AppInstance.js.map +1 -0
  393. package/dist/core/startup/environment.cjs +171 -0
  394. package/dist/core/startup/environment.cjs.map +1 -0
  395. package/dist/core/startup/environment.d.ts +88 -0
  396. package/dist/core/startup/environment.d.ts.map +1 -0
  397. package/dist/core/startup/environment.js +154 -0
  398. package/dist/core/startup/environment.js.map +1 -0
  399. package/dist/core/startup/index.cjs +25 -0
  400. package/dist/core/startup/index.cjs.map +1 -0
  401. package/dist/core/startup/index.d.ts +8 -0
  402. package/dist/core/startup/index.d.ts.map +1 -0
  403. package/dist/core/startup/index.js +8 -0
  404. package/dist/core/startup/index.js.map +1 -0
  405. package/dist/core/startup/initializeServices.cjs +166 -0
  406. package/dist/core/startup/initializeServices.cjs.map +1 -0
  407. package/dist/core/startup/initializeServices.d.ts +57 -0
  408. package/dist/core/startup/initializeServices.d.ts.map +1 -0
  409. package/dist/core/startup/initializeServices.js +124 -0
  410. package/dist/core/startup/initializeServices.js.map +1 -0
  411. package/dist/core/startup/performanceTracker.cjs +181 -0
  412. package/dist/core/startup/performanceTracker.cjs.map +1 -0
  413. package/dist/core/startup/performanceTracker.d.ts +105 -0
  414. package/dist/core/startup/performanceTracker.d.ts.map +1 -0
  415. package/dist/core/startup/performanceTracker.js +167 -0
  416. package/dist/core/startup/performanceTracker.js.map +1 -0
  417. package/dist/core/startup/renderApp.cjs +275 -0
  418. package/dist/core/startup/renderApp.cjs.map +1 -0
  419. package/dist/core/startup/renderApp.d.ts +71 -0
  420. package/dist/core/startup/renderApp.d.ts.map +1 -0
  421. package/dist/core/startup/renderApp.js +226 -0
  422. package/dist/core/startup/renderApp.js.map +1 -0
  423. package/dist/core/startup/startApp.cjs +151 -0
  424. package/dist/core/startup/startApp.cjs.map +1 -0
  425. package/dist/core/startup/startApp.d.ts +15 -0
  426. package/dist/core/startup/startApp.d.ts.map +1 -0
  427. package/dist/core/startup/startApp.js +147 -0
  428. package/dist/core/startup/startApp.js.map +1 -0
  429. package/dist/core/types.cjs +6 -0
  430. package/dist/core/types.cjs.map +1 -0
  431. package/dist/core/types.d.ts +461 -0
  432. package/dist/core/types.d.ts.map +1 -0
  433. package/dist/core/types.js +5 -0
  434. package/dist/core/types.js.map +1 -0
  435. package/dist/index.cjs +152 -0
  436. package/dist/index.cjs.map +1 -0
  437. package/dist/index.d.ts +13 -0
  438. package/dist/index.d.ts.map +1 -0
  439. package/dist/index.js +17 -0
  440. package/dist/index.js.map +1 -0
  441. package/dist/library/index.cjs +21 -0
  442. package/dist/library/index.cjs.map +1 -0
  443. package/dist/library/index.d.ts +3 -0
  444. package/dist/library/index.d.ts.map +1 -0
  445. package/dist/library/index.js +4 -0
  446. package/dist/library/index.js.map +1 -0
  447. package/dist/library/locale/index.cjs +56 -0
  448. package/dist/library/locale/index.cjs.map +1 -0
  449. package/dist/library/locale/index.d.ts +6 -0
  450. package/dist/library/locale/index.d.ts.map +1 -0
  451. package/dist/library/locale/index.js +30 -0
  452. package/dist/library/locale/index.js.map +1 -0
  453. package/dist/library/locale/langs/en-us/index.cjs +34 -0
  454. package/dist/library/locale/langs/en-us/index.cjs.map +1 -0
  455. package/dist/library/locale/langs/en-us/index.d.ts +4 -0
  456. package/dist/library/locale/langs/en-us/index.d.ts.map +1 -0
  457. package/dist/library/locale/langs/en-us/index.js +24 -0
  458. package/dist/library/locale/langs/en-us/index.js.map +1 -0
  459. package/dist/library/locale/langs/zh-cn/index.cjs +34 -0
  460. package/dist/library/locale/langs/zh-cn/index.cjs.map +1 -0
  461. package/dist/library/locale/langs/zh-cn/index.d.ts +4 -0
  462. package/dist/library/locale/langs/zh-cn/index.d.ts.map +1 -0
  463. package/dist/library/locale/langs/zh-cn/index.js +24 -0
  464. package/dist/library/locale/langs/zh-cn/index.js.map +1 -0
  465. package/dist/library/locale/types.cjs +6 -0
  466. package/dist/library/locale/types.cjs.map +1 -0
  467. package/dist/library/locale/types.d.ts +39 -0
  468. package/dist/library/locale/types.d.ts.map +1 -0
  469. package/dist/library/locale/types.js +3 -0
  470. package/dist/library/locale/types.js.map +1 -0
  471. package/dist/library/storage/cache.cjs +245 -0
  472. package/dist/library/storage/cache.cjs.map +1 -0
  473. package/dist/library/storage/cache.d.ts +58 -0
  474. package/dist/library/storage/cache.d.ts.map +1 -0
  475. package/dist/library/storage/cache.js +237 -0
  476. package/dist/library/storage/cache.js.map +1 -0
  477. package/dist/library/storage/encryption.cjs +150 -0
  478. package/dist/library/storage/encryption.cjs.map +1 -0
  479. package/dist/library/storage/encryption.d.ts +46 -0
  480. package/dist/library/storage/encryption.d.ts.map +1 -0
  481. package/dist/library/storage/encryption.js +142 -0
  482. package/dist/library/storage/encryption.js.map +1 -0
  483. package/dist/library/storage/index.cjs +126 -0
  484. package/dist/library/storage/index.cjs.map +1 -0
  485. package/dist/library/storage/index.d.ts +62 -0
  486. package/dist/library/storage/index.d.ts.map +1 -0
  487. package/dist/library/storage/index.js +106 -0
  488. package/dist/library/storage/index.js.map +1 -0
  489. package/dist/request/adapter/RequestAdapter.cjs +78 -0
  490. package/dist/request/adapter/RequestAdapter.cjs.map +1 -0
  491. package/dist/request/adapter/RequestAdapter.d.ts +86 -0
  492. package/dist/request/adapter/RequestAdapter.d.ts.map +1 -0
  493. package/dist/request/adapter/RequestAdapter.js +70 -0
  494. package/dist/request/adapter/RequestAdapter.js.map +1 -0
  495. package/dist/request/adapter/axiosAdapter.cjs +164 -0
  496. package/dist/request/adapter/axiosAdapter.cjs.map +1 -0
  497. package/dist/request/adapter/axiosAdapter.d.ts +11 -0
  498. package/dist/request/adapter/axiosAdapter.d.ts.map +1 -0
  499. package/dist/request/adapter/axiosAdapter.js +115 -0
  500. package/dist/request/adapter/axiosAdapter.js.map +1 -0
  501. package/dist/request/adapter/fetchAdapter.cjs +134 -0
  502. package/dist/request/adapter/fetchAdapter.cjs.map +1 -0
  503. package/dist/request/adapter/fetchAdapter.d.ts +11 -0
  504. package/dist/request/adapter/fetchAdapter.d.ts.map +1 -0
  505. package/dist/request/adapter/fetchAdapter.js +126 -0
  506. package/dist/request/adapter/fetchAdapter.js.map +1 -0
  507. package/dist/request/adapter/index.cjs +80 -0
  508. package/dist/request/adapter/index.cjs.map +1 -0
  509. package/dist/request/adapter/index.d.ts +10 -0
  510. package/dist/request/adapter/index.d.ts.map +1 -0
  511. package/dist/request/adapter/index.js +14 -0
  512. package/dist/request/adapter/index.js.map +1 -0
  513. package/dist/request/adapter/kyAdapter.cjs +191 -0
  514. package/dist/request/adapter/kyAdapter.cjs.map +1 -0
  515. package/dist/request/adapter/kyAdapter.d.ts +11 -0
  516. package/dist/request/adapter/kyAdapter.d.ts.map +1 -0
  517. package/dist/request/adapter/kyAdapter.js +142 -0
  518. package/dist/request/adapter/kyAdapter.js.map +1 -0
  519. package/dist/request/adapter/undiciAdapter.cjs +213 -0
  520. package/dist/request/adapter/undiciAdapter.cjs.map +1 -0
  521. package/dist/request/adapter/undiciAdapter.d.ts +11 -0
  522. package/dist/request/adapter/undiciAdapter.d.ts.map +1 -0
  523. package/dist/request/adapter/undiciAdapter.js +164 -0
  524. package/dist/request/adapter/undiciAdapter.js.map +1 -0
  525. package/dist/request/core/RequestClient.cjs +539 -0
  526. package/dist/request/core/RequestClient.cjs.map +1 -0
  527. package/dist/request/core/RequestClient.d.ts +127 -0
  528. package/dist/request/core/RequestClient.d.ts.map +1 -0
  529. package/dist/request/core/RequestClient.js +490 -0
  530. package/dist/request/core/RequestClient.js.map +1 -0
  531. package/dist/request/core/index.cjs +15 -0
  532. package/dist/request/core/index.cjs.map +1 -0
  533. package/dist/request/core/index.d.ts +6 -0
  534. package/dist/request/core/index.d.ts.map +1 -0
  535. package/dist/request/core/index.js +5 -0
  536. package/dist/request/core/index.js.map +1 -0
  537. package/dist/request/index.cjs +146 -0
  538. package/dist/request/index.cjs.map +1 -0
  539. package/dist/request/index.d.ts +43 -0
  540. package/dist/request/index.d.ts.map +1 -0
  541. package/dist/request/index.js +50 -0
  542. package/dist/request/index.js.map +1 -0
  543. package/dist/request/plugin/RequestPlugin.cjs +218 -0
  544. package/dist/request/plugin/RequestPlugin.cjs.map +1 -0
  545. package/dist/request/plugin/RequestPlugin.d.ts +171 -0
  546. package/dist/request/plugin/RequestPlugin.d.ts.map +1 -0
  547. package/dist/request/plugin/RequestPlugin.js +203 -0
  548. package/dist/request/plugin/RequestPlugin.js.map +1 -0
  549. package/dist/request/plugin/cache.cjs +269 -0
  550. package/dist/request/plugin/cache.cjs.map +1 -0
  551. package/dist/request/plugin/cache.d.ts +34 -0
  552. package/dist/request/plugin/cache.d.ts.map +1 -0
  553. package/dist/request/plugin/cache.js +264 -0
  554. package/dist/request/plugin/cache.js.map +1 -0
  555. package/dist/request/plugin/csrfPlugin.cjs +40 -0
  556. package/dist/request/plugin/csrfPlugin.cjs.map +1 -0
  557. package/dist/request/plugin/csrfPlugin.d.ts +22 -0
  558. package/dist/request/plugin/csrfPlugin.d.ts.map +1 -0
  559. package/dist/request/plugin/csrfPlugin.js +44 -0
  560. package/dist/request/plugin/csrfPlugin.js.map +1 -0
  561. package/dist/request/plugin/index.cjs +49 -0
  562. package/dist/request/plugin/index.cjs.map +1 -0
  563. package/dist/request/plugin/index.d.ts +11 -0
  564. package/dist/request/plugin/index.d.ts.map +1 -0
  565. package/dist/request/plugin/index.js +11 -0
  566. package/dist/request/plugin/index.js.map +1 -0
  567. package/dist/request/plugin/monitoring.cjs +216 -0
  568. package/dist/request/plugin/monitoring.cjs.map +1 -0
  569. package/dist/request/plugin/monitoring.d.ts +113 -0
  570. package/dist/request/plugin/monitoring.d.ts.map +1 -0
  571. package/dist/request/plugin/monitoring.js +205 -0
  572. package/dist/request/plugin/monitoring.js.map +1 -0
  573. package/dist/request/plugin/retry.cjs +98 -0
  574. package/dist/request/plugin/retry.cjs.map +1 -0
  575. package/dist/request/plugin/retry.d.ts +35 -0
  576. package/dist/request/plugin/retry.d.ts.map +1 -0
  577. package/dist/request/plugin/retry.js +93 -0
  578. package/dist/request/plugin/retry.js.map +1 -0
  579. package/dist/request/plugin/validation.cjs +121 -0
  580. package/dist/request/plugin/validation.cjs.map +1 -0
  581. package/dist/request/plugin/validation.d.ts +27 -0
  582. package/dist/request/plugin/validation.d.ts.map +1 -0
  583. package/dist/request/plugin/validation.js +116 -0
  584. package/dist/request/plugin/validation.js.map +1 -0
  585. package/dist/request/runtime/RequestContext.cjs +77 -0
  586. package/dist/request/runtime/RequestContext.cjs.map +1 -0
  587. package/dist/request/runtime/RequestContext.d.ts +51 -0
  588. package/dist/request/runtime/RequestContext.d.ts.map +1 -0
  589. package/dist/request/runtime/RequestContext.js +86 -0
  590. package/dist/request/runtime/RequestContext.js.map +1 -0
  591. package/dist/request/runtime/index.cjs +32 -0
  592. package/dist/request/runtime/index.cjs.map +1 -0
  593. package/dist/request/runtime/index.d.ts +5 -0
  594. package/dist/request/runtime/index.d.ts.map +1 -0
  595. package/dist/request/runtime/index.js +5 -0
  596. package/dist/request/runtime/index.js.map +1 -0
  597. package/dist/request/types.cjs +112 -0
  598. package/dist/request/types.cjs.map +1 -0
  599. package/dist/request/types.d.ts +395 -0
  600. package/dist/request/types.d.ts.map +1 -0
  601. package/dist/request/types.js +97 -0
  602. package/dist/request/types.js.map +1 -0
  603. package/dist/request/utils/dependencyCheck.cjs +237 -0
  604. package/dist/request/utils/dependencyCheck.cjs.map +1 -0
  605. package/dist/request/utils/dependencyCheck.d.ts +64 -0
  606. package/dist/request/utils/dependencyCheck.d.ts.map +1 -0
  607. package/dist/request/utils/dependencyCheck.js +192 -0
  608. package/dist/request/utils/dependencyCheck.js.map +1 -0
  609. package/dist/request/utils/index.cjs +26 -0
  610. package/dist/request/utils/index.cjs.map +1 -0
  611. package/dist/request/utils/index.d.ts +5 -0
  612. package/dist/request/utils/index.d.ts.map +1 -0
  613. package/dist/request/utils/index.js +5 -0
  614. package/dist/request/utils/index.js.map +1 -0
  615. package/dist/state/StateManager.cjs +168 -0
  616. package/dist/state/StateManager.cjs.map +1 -0
  617. package/dist/state/StateManager.d.ts +121 -0
  618. package/dist/state/StateManager.d.ts.map +1 -0
  619. package/dist/state/StateManager.js +160 -0
  620. package/dist/state/StateManager.js.map +1 -0
  621. package/dist/state/adapters/AdapterFactory.cjs +91 -0
  622. package/dist/state/adapters/AdapterFactory.cjs.map +1 -0
  623. package/dist/state/adapters/AdapterFactory.d.ts +52 -0
  624. package/dist/state/adapters/AdapterFactory.d.ts.map +1 -0
  625. package/dist/state/adapters/AdapterFactory.js +85 -0
  626. package/dist/state/adapters/AdapterFactory.js.map +1 -0
  627. package/dist/state/adapters/DefaultAdapter.cjs +77 -0
  628. package/dist/state/adapters/DefaultAdapter.cjs.map +1 -0
  629. package/dist/state/adapters/DefaultAdapter.d.ts +39 -0
  630. package/dist/state/adapters/DefaultAdapter.d.ts.map +1 -0
  631. package/dist/state/adapters/DefaultAdapter.js +71 -0
  632. package/dist/state/adapters/DefaultAdapter.js.map +1 -0
  633. package/dist/state/adapters/ReduxAdapter.cjs +445 -0
  634. package/dist/state/adapters/ReduxAdapter.cjs.map +1 -0
  635. package/dist/state/adapters/ReduxAdapter.d.ts +130 -0
  636. package/dist/state/adapters/ReduxAdapter.d.ts.map +1 -0
  637. package/dist/state/adapters/ReduxAdapter.js +439 -0
  638. package/dist/state/adapters/ReduxAdapter.js.map +1 -0
  639. package/dist/state/adapters/ZustandAdapter.cjs +71 -0
  640. package/dist/state/adapters/ZustandAdapter.cjs.map +1 -0
  641. package/dist/state/adapters/ZustandAdapter.d.ts +47 -0
  642. package/dist/state/adapters/ZustandAdapter.d.ts.map +1 -0
  643. package/dist/state/adapters/ZustandAdapter.js +70 -0
  644. package/dist/state/adapters/ZustandAdapter.js.map +1 -0
  645. package/dist/state/adapters/index.cjs +46 -0
  646. package/dist/state/adapters/index.cjs.map +1 -0
  647. package/dist/state/adapters/index.d.ts +9 -0
  648. package/dist/state/adapters/index.d.ts.map +1 -0
  649. package/dist/state/adapters/index.js +9 -0
  650. package/dist/state/adapters/index.js.map +1 -0
  651. package/dist/state/adapters/types.cjs +22 -0
  652. package/dist/state/adapters/types.cjs.map +1 -0
  653. package/dist/state/adapters/types.d.ts +5 -0
  654. package/dist/state/adapters/types.d.ts.map +1 -0
  655. package/dist/state/adapters/types.js +5 -0
  656. package/dist/state/adapters/types.js.map +1 -0
  657. package/dist/state/core/DerivedStateInstance.cjs +176 -0
  658. package/dist/state/core/DerivedStateInstance.cjs.map +1 -0
  659. package/dist/state/core/DerivedStateInstance.d.ts +101 -0
  660. package/dist/state/core/DerivedStateInstance.d.ts.map +1 -0
  661. package/dist/state/core/DerivedStateInstance.js +173 -0
  662. package/dist/state/core/DerivedStateInstance.js.map +1 -0
  663. package/dist/state/core/StateInstance.cjs +172 -0
  664. package/dist/state/core/StateInstance.cjs.map +1 -0
  665. package/dist/state/core/StateInstance.d.ts +86 -0
  666. package/dist/state/core/StateInstance.d.ts.map +1 -0
  667. package/dist/state/core/StateInstance.js +168 -0
  668. package/dist/state/core/StateInstance.js.map +1 -0
  669. package/dist/state/core/StateRegistry.cjs +112 -0
  670. package/dist/state/core/StateRegistry.cjs.map +1 -0
  671. package/dist/state/core/StateRegistry.d.ts +56 -0
  672. package/dist/state/core/StateRegistry.d.ts.map +1 -0
  673. package/dist/state/core/StateRegistry.js +106 -0
  674. package/dist/state/core/StateRegistry.js.map +1 -0
  675. package/dist/state/core/StateScope.cjs +139 -0
  676. package/dist/state/core/StateScope.cjs.map +1 -0
  677. package/dist/state/core/StateScope.d.ts +72 -0
  678. package/dist/state/core/StateScope.d.ts.map +1 -0
  679. package/dist/state/core/StateScope.js +133 -0
  680. package/dist/state/core/StateScope.js.map +1 -0
  681. package/dist/state/core/index.cjs +32 -0
  682. package/dist/state/core/index.cjs.map +1 -0
  683. package/dist/state/core/index.d.ts +8 -0
  684. package/dist/state/core/index.d.ts.map +1 -0
  685. package/dist/state/core/index.js +8 -0
  686. package/dist/state/core/index.js.map +1 -0
  687. package/dist/state/index.cjs +32 -0
  688. package/dist/state/index.cjs.map +1 -0
  689. package/dist/state/index.d.ts +9 -0
  690. package/dist/state/index.d.ts.map +1 -0
  691. package/dist/state/index.js +12 -0
  692. package/dist/state/index.js.map +1 -0
  693. package/dist/state/types.cjs +14 -0
  694. package/dist/state/types.cjs.map +1 -0
  695. package/dist/state/types.d.ts +231 -0
  696. package/dist/state/types.d.ts.map +1 -0
  697. package/dist/state/types.js +13 -0
  698. package/dist/state/types.js.map +1 -0
  699. package/dist/types.cjs +6 -0
  700. package/dist/types.cjs.map +1 -0
  701. package/dist/types.d.ts +6 -0
  702. package/dist/types.d.ts.map +1 -0
  703. package/dist/types.js +3 -0
  704. package/dist/types.js.map +1 -0
  705. package/dist/utils/analytics.cjs +219 -0
  706. package/dist/utils/analytics.cjs.map +1 -0
  707. package/dist/utils/analytics.d.ts +128 -0
  708. package/dist/utils/analytics.d.ts.map +1 -0
  709. package/dist/utils/analytics.js +204 -0
  710. package/dist/utils/analytics.js.map +1 -0
  711. package/dist/utils/configSecurity.cjs +184 -0
  712. package/dist/utils/configSecurity.cjs.map +1 -0
  713. package/dist/utils/configSecurity.d.ts +101 -0
  714. package/dist/utils/configSecurity.d.ts.map +1 -0
  715. package/dist/utils/configSecurity.js +176 -0
  716. package/dist/utils/configSecurity.js.map +1 -0
  717. package/dist/utils/csrf.cjs +159 -0
  718. package/dist/utils/csrf.cjs.map +1 -0
  719. package/dist/utils/csrf.d.ts +73 -0
  720. package/dist/utils/csrf.d.ts.map +1 -0
  721. package/dist/utils/csrf.js +144 -0
  722. package/dist/utils/csrf.js.map +1 -0
  723. package/dist/utils/errors/ErrorCodes.cjs +97 -0
  724. package/dist/utils/errors/ErrorCodes.cjs.map +1 -0
  725. package/dist/utils/errors/ErrorCodes.d.ts +46 -0
  726. package/dist/utils/errors/ErrorCodes.d.ts.map +1 -0
  727. package/dist/utils/errors/ErrorCodes.js +86 -0
  728. package/dist/utils/errors/ErrorCodes.js.map +1 -0
  729. package/dist/utils/errors.cjs +343 -0
  730. package/dist/utils/errors.cjs.map +1 -0
  731. package/dist/utils/errors.d.ts +179 -0
  732. package/dist/utils/errors.d.ts.map +1 -0
  733. package/dist/utils/errors.js +311 -0
  734. package/dist/utils/errors.js.map +1 -0
  735. package/dist/utils/index.cjs +137 -0
  736. package/dist/utils/index.cjs.map +1 -0
  737. package/dist/utils/index.d.ts +40 -0
  738. package/dist/utils/index.d.ts.map +1 -0
  739. package/dist/utils/index.js +48 -0
  740. package/dist/utils/index.js.map +1 -0
  741. package/dist/utils/logger.cjs +396 -0
  742. package/dist/utils/logger.cjs.map +1 -0
  743. package/dist/utils/logger.d.ts +190 -0
  744. package/dist/utils/logger.d.ts.map +1 -0
  745. package/dist/utils/logger.js +381 -0
  746. package/dist/utils/logger.js.map +1 -0
  747. package/dist/utils/logger.types.cjs +22 -0
  748. package/dist/utils/logger.types.cjs.map +1 -0
  749. package/dist/utils/logger.types.d.ts +58 -0
  750. package/dist/utils/logger.types.d.ts.map +1 -0
  751. package/dist/utils/logger.types.js +12 -0
  752. package/dist/utils/logger.types.js.map +1 -0
  753. package/dist/utils/monitoring.cjs +311 -0
  754. package/dist/utils/monitoring.cjs.map +1 -0
  755. package/dist/utils/monitoring.d.ts +164 -0
  756. package/dist/utils/monitoring.d.ts.map +1 -0
  757. package/dist/utils/monitoring.js +296 -0
  758. package/dist/utils/monitoring.js.map +1 -0
  759. package/dist/utils/performance.cjs +371 -0
  760. package/dist/utils/performance.cjs.map +1 -0
  761. package/dist/utils/performance.d.ts +247 -0
  762. package/dist/utils/performance.d.ts.map +1 -0
  763. package/dist/utils/performance.js +356 -0
  764. package/dist/utils/performance.js.map +1 -0
  765. package/dist/utils/resourceLoader.cjs +322 -0
  766. package/dist/utils/resourceLoader.cjs.map +1 -0
  767. package/dist/utils/resourceLoader.d.ts +131 -0
  768. package/dist/utils/resourceLoader.d.ts.map +1 -0
  769. package/dist/utils/resourceLoader.js +307 -0
  770. package/dist/utils/resourceLoader.js.map +1 -0
  771. package/dist/utils/runtimeSecurity.cjs +151 -0
  772. package/dist/utils/runtimeSecurity.cjs.map +1 -0
  773. package/dist/utils/runtimeSecurity.d.ts +105 -0
  774. package/dist/utils/runtimeSecurity.d.ts.map +1 -0
  775. package/dist/utils/runtimeSecurity.js +143 -0
  776. package/dist/utils/runtimeSecurity.js.map +1 -0
  777. package/dist/utils/security.cjs +332 -0
  778. package/dist/utils/security.cjs.map +1 -0
  779. package/dist/utils/security.d.ts +81 -0
  780. package/dist/utils/security.d.ts.map +1 -0
  781. package/dist/utils/security.js +313 -0
  782. package/dist/utils/security.js.map +1 -0
  783. package/dist/utils/traceId.cjs +140 -0
  784. package/dist/utils/traceId.cjs.map +1 -0
  785. package/dist/utils/traceId.d.ts +64 -0
  786. package/dist/utils/traceId.d.ts.map +1 -0
  787. package/dist/utils/traceId.js +118 -0
  788. package/dist/utils/traceId.js.map +1 -0
  789. package/dist/utils/validation.cjs +191 -0
  790. package/dist/utils/validation.cjs.map +1 -0
  791. package/dist/utils/validation.d.ts +111 -0
  792. package/dist/utils/validation.d.ts.map +1 -0
  793. package/dist/utils/validation.js +177 -0
  794. package/dist/utils/validation.js.map +1 -0
  795. package/package.json +98 -0
@@ -0,0 +1,438 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ import { PluginSandbox } from "./plugin/PluginSandbox";
15
+ import { pluginEventBus } from "./plugin/PluginEventBus";
16
+ /**
17
+ * 插件管理器
18
+ *
19
+ * 优化:
20
+ * 1. 支持插件依赖管理
21
+ * 2. 支持插件优先级控制
22
+ * 3. 支持插件生命周期管理
23
+ * 4. 支持插件热插拔(动态加载/卸载)
24
+ */ export class PluginManager {
25
+ /**
26
+ * 注册插件
27
+ *
28
+ * 优化:检查插件依赖是否已注册
29
+ */ register(plugin) {
30
+ if (this.plugins.has(plugin.name)) {
31
+ console.warn(`插件 ${plugin.name} 已存在,将被覆盖`);
32
+ }
33
+ // 检查依赖是否已注册
34
+ if (plugin.dependencies && plugin.dependencies.length > 0) {
35
+ const missingDeps = plugin.dependencies.filter((dep)=>!this.plugins.has(dep));
36
+ if (missingDeps.length > 0) {
37
+ console.warn(`插件 ${plugin.name} 的依赖未注册: ${missingDeps.join(', ')}`);
38
+ }
39
+ }
40
+ this.plugins.set(plugin.name, plugin);
41
+ this.pluginStatus.set(plugin.name, 'registered');
42
+ // 创建插件沙箱
43
+ if (plugin.sandbox) {
44
+ const sandbox = new PluginSandbox({
45
+ ...plugin.sandbox,
46
+ name: plugin.name
47
+ });
48
+ this.sandboxes.set(plugin.name, sandbox);
49
+ } else {
50
+ // 如果没有配置沙箱,创建默认沙箱(非严格模式)
51
+ const sandbox = new PluginSandbox({
52
+ strictMode: false,
53
+ name: plugin.name
54
+ });
55
+ this.sandboxes.set(plugin.name, sandbox);
56
+ }
57
+ }
58
+ /**
59
+ * 获取插件加载顺序(考虑依赖和优先级)
60
+ *
61
+ * @returns 插件名称数组,按加载顺序排列
62
+ */ getLoadOrder() {
63
+ const plugins = Array.from(this.plugins.values());
64
+ // 按优先级排序
65
+ const sortedPlugins = plugins.sort((a, b)=>{
66
+ const priorityA = a.priority ?? 100;
67
+ const priorityB = b.priority ?? 100;
68
+ return priorityA - priorityB;
69
+ });
70
+ // 构建依赖图并拓扑排序
71
+ const visited = new Set();
72
+ const visiting = new Set();
73
+ const result = [];
74
+ const visit = (pluginName)=>{
75
+ if (visiting.has(pluginName)) {
76
+ console.warn(`检测到循环依赖,涉及插件: ${pluginName}`);
77
+ return;
78
+ }
79
+ if (visited.has(pluginName)) {
80
+ return;
81
+ }
82
+ visiting.add(pluginName);
83
+ const plugin = this.plugins.get(pluginName);
84
+ if (plugin?.dependencies) {
85
+ for (const dep of plugin.dependencies){
86
+ visit(dep);
87
+ }
88
+ }
89
+ visiting.delete(pluginName);
90
+ visited.add(pluginName);
91
+ result.push(pluginName);
92
+ };
93
+ for (const plugin of sortedPlugins){
94
+ visit(plugin.name);
95
+ }
96
+ return result;
97
+ }
98
+ /**
99
+ * 注销插件
100
+ */ unregister(name) {
101
+ const plugin = this.plugins.get(name);
102
+ if (plugin && plugin.destroy) {
103
+ plugin.destroy();
104
+ }
105
+ this.plugins.delete(name);
106
+ this.sandboxes.delete(name);
107
+ this.pluginStatus.delete(name);
108
+ this.pluginLoaders.delete(name);
109
+ }
110
+ /**
111
+ * 动态加载插件(热插拔)
112
+ *
113
+ * @param options - 插件加载选项
114
+ * @returns 加载的插件
115
+ */ async loadPlugin(options) {
116
+ let plugin;
117
+ if (options.url) {
118
+ // 从URL加载插件
119
+ const response = await fetch(options.url);
120
+ if (!response.ok) {
121
+ throw new Error(`无法加载插件: ${options.url} (${response.status})`);
122
+ }
123
+ const pluginModule = await response.json();
124
+ plugin = pluginModule.default || pluginModule;
125
+ } else if (options.modulePath) {
126
+ // 从模块路径动态导入
127
+ const pluginModule = await import(options.modulePath);
128
+ plugin = pluginModule.default || pluginModule;
129
+ } else {
130
+ throw new Error('必须提供 url 或 modulePath');
131
+ }
132
+ if (!plugin || !plugin.name) {
133
+ throw new Error('插件格式无效:必须包含 name 属性');
134
+ }
135
+ // 检查插件是否已加载
136
+ if (this.plugins.has(plugin.name)) {
137
+ throw new Error(`插件 ${plugin.name} 已加载`);
138
+ }
139
+ // 设置加载状态
140
+ this.pluginStatus.set(plugin.name, 'loading');
141
+ try {
142
+ // 注册插件
143
+ this.register(plugin);
144
+ // 如果要求立即初始化
145
+ if (options.initialize && options.initContext && options.startOptions) {
146
+ await this.initializePlugin(plugin.name, options.startOptions, options.initContext);
147
+ }
148
+ return plugin;
149
+ } catch (error) {
150
+ this.pluginStatus.delete(plugin.name);
151
+ throw error;
152
+ }
153
+ }
154
+ /**
155
+ * 初始化单个插件
156
+ *
157
+ * @param name - 插件名称
158
+ * @param options - 启动选项
159
+ * @param context - 初始化上下文
160
+ */ async initializePlugin(name, options, context) {
161
+ const plugin = this.plugins.get(name);
162
+ if (!plugin) {
163
+ throw new Error(`插件 ${name} 未注册`);
164
+ }
165
+ const status = this.pluginStatus.get(name);
166
+ if (status === 'initialized') {
167
+ return; // 已经初始化
168
+ }
169
+ try {
170
+ const sandbox = this.sandboxes.get(name);
171
+ if (!sandbox) {
172
+ throw new Error(`插件 ${name} 的沙箱未找到`);
173
+ }
174
+ // 执行初始化钩子
175
+ if (plugin.init) {
176
+ const filteredOptions = sandbox.filterConfig(options);
177
+ await plugin.init(filteredOptions, context, sandbox, pluginEventBus);
178
+ }
179
+ this.pluginStatus.set(name, 'initialized');
180
+ } catch (error) {
181
+ console.error(`插件 ${name} 初始化失败:`, error);
182
+ throw error;
183
+ }
184
+ }
185
+ /**
186
+ * 卸载插件(热插拔)
187
+ *
188
+ * @param name - 插件名称
189
+ * @param force - 是否强制卸载(即使有依赖)
190
+ */ async unloadPlugin(name, force = false) {
191
+ const plugin = this.plugins.get(name);
192
+ if (!plugin) {
193
+ throw new Error(`插件 ${name} 未加载`);
194
+ }
195
+ // 检查是否有其他插件依赖此插件
196
+ if (!force) {
197
+ const dependents = Array.from(this.plugins.values()).filter((p)=>p.dependencies && p.dependencies.includes(name));
198
+ if (dependents.length > 0) {
199
+ throw new Error(`无法卸载插件 ${name},以下插件依赖它: ${dependents.map((p)=>p.name).join(', ')}`);
200
+ }
201
+ }
202
+ // 执行销毁钩子
203
+ if (plugin.destroy) {
204
+ try {
205
+ await plugin.destroy();
206
+ } catch (error) {
207
+ console.error(`插件 ${name} 的 destroy 钩子执行失败:`, error);
208
+ }
209
+ }
210
+ // 从事件总线移除相关监听器(如果有)
211
+ // 注意:事件总线是全局的,这里只移除插件相关的事件
212
+ // 实际实现可能需要更细粒度的控制
213
+ // 清理插件
214
+ this.unregister(name);
215
+ this.pluginStatus.set(name, 'destroyed');
216
+ }
217
+ /**
218
+ * 检查插件是否可以热加载
219
+ *
220
+ * @param plugin - 插件
221
+ * @returns 是否可以热加载
222
+ */ canHotLoad(plugin) {
223
+ // 检查依赖是否都已加载
224
+ if (plugin.dependencies && plugin.dependencies.length > 0) {
225
+ const missingDeps = plugin.dependencies.filter((dep)=>!this.plugins.has(dep));
226
+ if (missingDeps.length > 0) {
227
+ return false;
228
+ }
229
+ }
230
+ return true;
231
+ }
232
+ /**
233
+ * 注册插件加载器(用于延迟加载)
234
+ *
235
+ * @param name - 插件名称
236
+ * @param loader - 加载器函数
237
+ */ registerLoader(name, loader) {
238
+ this.pluginLoaders.set(name, loader);
239
+ }
240
+ /**
241
+ * 使用加载器加载插件
242
+ *
243
+ * @param name - 插件名称
244
+ * @param options - 加载选项
245
+ * @returns 加载的插件
246
+ */ async loadPluginByLoader(name, options) {
247
+ const loader = this.pluginLoaders.get(name);
248
+ if (!loader) {
249
+ throw new Error(`插件 ${name} 的加载器未注册`);
250
+ }
251
+ const plugin = await loader();
252
+ if (!plugin || !plugin.name) {
253
+ throw new Error('插件格式无效:必须包含 name 属性');
254
+ }
255
+ if (plugin.name !== name) {
256
+ throw new Error(`插件名称不匹配: 期望 ${name},实际 ${plugin.name}`);
257
+ }
258
+ // 检查插件是否已加载
259
+ if (this.plugins.has(plugin.name)) {
260
+ return this.plugins.get(plugin.name);
261
+ }
262
+ // 设置加载状态
263
+ this.pluginStatus.set(plugin.name, 'loading');
264
+ try {
265
+ // 注册插件
266
+ this.register(plugin);
267
+ // 如果要求立即初始化
268
+ if (options?.initialize && options.initContext && options.startOptions) {
269
+ await this.initializePlugin(plugin.name, options.startOptions, options.initContext);
270
+ }
271
+ return plugin;
272
+ } catch (error) {
273
+ this.pluginStatus.delete(plugin.name);
274
+ throw error;
275
+ }
276
+ }
277
+ /**
278
+ * 获取插件
279
+ */ get(name) {
280
+ return this.plugins.get(name);
281
+ }
282
+ /**
283
+ * 获取所有插件
284
+ */ getAll() {
285
+ return Array.from(this.plugins.values());
286
+ }
287
+ /**
288
+ * 执行初始化前钩子
289
+ *
290
+ * 优化:按依赖顺序执行
291
+ */ async executeBeforeInit(options) {
292
+ const loadOrder = this.getLoadOrder();
293
+ for (const pluginName of loadOrder){
294
+ const plugin = this.plugins.get(pluginName);
295
+ if (!plugin || !plugin.beforeInit) {
296
+ continue;
297
+ }
298
+ try {
299
+ const sandbox = this.sandboxes.get(plugin.name);
300
+ if (!sandbox) {
301
+ console.warn(`插件 ${plugin.name} 的沙箱未找到`);
302
+ continue;
303
+ }
304
+ // 根据沙箱配置过滤选项
305
+ const filteredOptions = sandbox.filterConfig(options);
306
+ await plugin.beforeInit(filteredOptions, sandbox, pluginEventBus);
307
+ } catch (error) {
308
+ console.error(`插件 ${plugin.name} 的 beforeInit 钩子执行失败:`, error);
309
+ }
310
+ }
311
+ }
312
+ /**
313
+ * 执行初始化钩子
314
+ *
315
+ * 优化:按依赖顺序执行,并更新插件状态
316
+ */ async executeInit(options, context) {
317
+ const loadOrder = this.getLoadOrder();
318
+ for (const pluginName of loadOrder){
319
+ const plugin = this.plugins.get(pluginName);
320
+ if (!plugin || !plugin.init) {
321
+ continue;
322
+ }
323
+ try {
324
+ const sandbox = this.sandboxes.get(plugin.name);
325
+ if (!sandbox) {
326
+ console.warn(`插件 ${plugin.name} 的沙箱未找到`);
327
+ continue;
328
+ }
329
+ // 根据沙箱配置过滤选项
330
+ const filteredOptions = sandbox.filterConfig(options);
331
+ await plugin.init(filteredOptions, context, sandbox, pluginEventBus);
332
+ this.pluginStatus.set(plugin.name, 'initialized');
333
+ } catch (error) {
334
+ console.error(`插件 ${plugin.name} 的 init 钩子执行失败:`, error);
335
+ }
336
+ }
337
+ }
338
+ /**
339
+ * 执行初始化后钩子
340
+ *
341
+ * 优化:按依赖顺序执行(逆序,确保依赖插件先执行)
342
+ */ async executeAfterInit(options, context) {
343
+ const loadOrder = this.getLoadOrder();
344
+ // 逆序执行,确保依赖插件先执行
345
+ const reverseOrder = [
346
+ ...loadOrder
347
+ ].reverse();
348
+ for (const pluginName of reverseOrder){
349
+ const plugin = this.plugins.get(pluginName);
350
+ if (!plugin || !plugin.afterInit) {
351
+ continue;
352
+ }
353
+ try {
354
+ const sandbox = this.sandboxes.get(plugin.name);
355
+ if (!sandbox) {
356
+ console.warn(`插件 ${plugin.name} 的沙箱未找到`);
357
+ continue;
358
+ }
359
+ // 根据沙箱配置过滤选项
360
+ const filteredOptions = sandbox.filterConfig(options);
361
+ await plugin.afterInit(filteredOptions, context, sandbox, pluginEventBus);
362
+ } catch (error) {
363
+ console.error(`插件 ${plugin.name} 的 afterInit 钩子执行失败:`, error);
364
+ }
365
+ }
366
+ }
367
+ /**
368
+ * 获取插件状态
369
+ *
370
+ * @param name - 插件名称
371
+ * @returns 插件状态
372
+ */ getPluginStatus(name) {
373
+ return this.pluginStatus.get(name);
374
+ }
375
+ /**
376
+ * 检查插件是否已加载
377
+ *
378
+ * @param name - 插件名称
379
+ * @returns 是否已加载
380
+ */ isLoaded(name) {
381
+ return this.plugins.has(name);
382
+ }
383
+ /**
384
+ * 获取已加载的插件列表
385
+ *
386
+ * @returns 插件名称数组
387
+ */ getLoadedPlugins() {
388
+ return Array.from(this.plugins.keys());
389
+ }
390
+ /**
391
+ * 获取所有插件状态
392
+ *
393
+ * @returns 插件状态映射
394
+ */ getAllPluginStatus() {
395
+ return new Map(this.pluginStatus);
396
+ }
397
+ /**
398
+ * 获取插件沙箱
399
+ *
400
+ * @param name - 插件名称
401
+ * @returns 插件沙箱或undefined
402
+ */ getSandbox(name) {
403
+ return this.sandboxes.get(name);
404
+ }
405
+ /**
406
+ * 获取事件总线
407
+ */ getEventBus() {
408
+ return pluginEventBus;
409
+ }
410
+ /**
411
+ * 销毁所有插件
412
+ */ async destroyAll() {
413
+ for (const plugin of this.plugins.values()){
414
+ if (plugin.destroy) {
415
+ try {
416
+ await plugin.destroy();
417
+ } catch (error) {
418
+ console.error(`插件 ${plugin.name} 的 destroy 钩子执行失败:`, error);
419
+ }
420
+ }
421
+ }
422
+ this.plugins.clear();
423
+ }
424
+ constructor(){
425
+ _define_property(this, "plugins", new Map());
426
+ _define_property(this, "sandboxes", new Map());
427
+ _define_property(this, "pluginStatus", new Map());
428
+ _define_property(this, "pluginLoaders", new Map());
429
+ }
430
+ }
431
+ /**
432
+ * 默认插件管理器
433
+ */ export const pluginManager = new PluginManager();
434
+ // 导出插件相关类型和工具
435
+ export { PluginSandbox, PluginPermission } from "./plugin/PluginSandbox";
436
+ export { PluginEventBus, pluginEventBus } from "./plugin/PluginEventBus";
437
+
438
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/core/plugin.ts"],"sourcesContent":["import type { StartOptions } from './types';\nimport type { InitializationContext } from './initialization';\nimport { PluginSandbox, type PluginSandboxConfig } from './plugin/PluginSandbox';\nimport { pluginEventBus, type PluginEventBus } from './plugin/PluginEventBus';\n\n/**\n * 插件接口\n */\nexport interface Plugin {\n /**\n * 插件名称\n */\n name: string;\n\n /**\n * 插件版本\n */\n version?: string;\n\n /**\n * 插件依赖列表(插件名称数组)\n * 优化:支持插件依赖管理\n */\n dependencies?: string[];\n\n /**\n * 插件优先级(数字越小优先级越高)\n * 优化:支持插件加载顺序控制\n */\n priority?: number;\n\n /**\n * 插件沙箱配置(用于权限控制)\n */\n sandbox?: PluginSandboxConfig;\n\n /**\n * 初始化前钩子\n */\n beforeInit?: (options: Partial<StartOptions>, sandbox: PluginSandbox, eventBus: PluginEventBus) => Promise<void> | void;\n\n /**\n * 初始化钩子\n */\n init?: (options: Partial<StartOptions>, context: InitializationContext, sandbox: PluginSandbox, eventBus: PluginEventBus) => Promise<void> | void;\n\n /**\n * 初始化后钩子\n */\n afterInit?: (options: Partial<StartOptions>, context: InitializationContext, sandbox: PluginSandbox, eventBus: PluginEventBus) => Promise<void> | void;\n\n /**\n * 销毁钩子\n */\n destroy?: () => Promise<void> | void;\n}\n\n/**\n * 插件加载选项\n */\nexport interface PluginLoadOptions {\n /**\n * 插件URL(用于动态加载)\n */\n url?: string;\n /**\n * 插件模块路径(用于动态导入)\n */\n modulePath?: string;\n /**\n * 是否立即初始化\n */\n initialize?: boolean;\n /**\n * 初始化上下文(如果立即初始化)\n */\n initContext?: InitializationContext;\n /**\n * 启动选项(如果立即初始化)\n */\n startOptions?: StartOptions;\n}\n\n/**\n * 插件管理器\n * \n * 优化:\n * 1. 支持插件依赖管理\n * 2. 支持插件优先级控制\n * 3. 支持插件生命周期管理\n * 4. 支持插件热插拔(动态加载/卸载)\n */\nexport class PluginManager {\n private plugins: Map<string, Plugin> = new Map();\n private sandboxes: Map<string, PluginSandbox> = new Map();\n private pluginStatus: Map<string, 'registered' | 'initialized' | 'destroyed' | 'loading'> = new Map();\n private pluginLoaders: Map<string, () => Promise<Plugin>> = new Map();\n\n /**\n * 注册插件\n * \n * 优化:检查插件依赖是否已注册\n */\n register(plugin: Plugin): void {\n if (this.plugins.has(plugin.name)) {\n console.warn(`插件 ${plugin.name} 已存在,将被覆盖`);\n }\n\n // 检查依赖是否已注册\n if (plugin.dependencies && plugin.dependencies.length > 0) {\n const missingDeps = plugin.dependencies.filter(\n (dep) => !this.plugins.has(dep)\n );\n if (missingDeps.length > 0) {\n console.warn(\n `插件 ${plugin.name} 的依赖未注册: ${missingDeps.join(', ')}`\n );\n }\n }\n\n this.plugins.set(plugin.name, plugin);\n this.pluginStatus.set(plugin.name, 'registered');\n\n // 创建插件沙箱\n if (plugin.sandbox) {\n const sandbox = new PluginSandbox({\n ...plugin.sandbox,\n name: plugin.name,\n });\n this.sandboxes.set(plugin.name, sandbox);\n } else {\n // 如果没有配置沙箱,创建默认沙箱(非严格模式)\n const sandbox = new PluginSandbox({\n strictMode: false,\n name: plugin.name,\n });\n this.sandboxes.set(plugin.name, sandbox);\n }\n }\n\n /**\n * 获取插件加载顺序(考虑依赖和优先级)\n * \n * @returns 插件名称数组,按加载顺序排列\n */\n private getLoadOrder(): string[] {\n const plugins = Array.from(this.plugins.values());\n \n // 按优先级排序\n const sortedPlugins = plugins.sort((a, b) => {\n const priorityA = a.priority ?? 100;\n const priorityB = b.priority ?? 100;\n return priorityA - priorityB;\n });\n\n // 构建依赖图并拓扑排序\n const visited = new Set<string>();\n const visiting = new Set<string>();\n const result: string[] = [];\n\n const visit = (pluginName: string): void => {\n if (visiting.has(pluginName)) {\n console.warn(`检测到循环依赖,涉及插件: ${pluginName}`);\n return;\n }\n if (visited.has(pluginName)) {\n return;\n }\n\n visiting.add(pluginName);\n const plugin = this.plugins.get(pluginName);\n if (plugin?.dependencies) {\n for (const dep of plugin.dependencies) {\n visit(dep);\n }\n }\n visiting.delete(pluginName);\n visited.add(pluginName);\n result.push(pluginName);\n };\n\n for (const plugin of sortedPlugins) {\n visit(plugin.name);\n }\n\n return result;\n }\n\n /**\n * 注销插件\n */\n unregister(name: string): void {\n const plugin = this.plugins.get(name);\n if (plugin && plugin.destroy) {\n plugin.destroy();\n }\n this.plugins.delete(name);\n this.sandboxes.delete(name);\n this.pluginStatus.delete(name);\n this.pluginLoaders.delete(name);\n }\n\n /**\n * 动态加载插件(热插拔)\n * \n * @param options - 插件加载选项\n * @returns 加载的插件\n */\n async loadPlugin(options: PluginLoadOptions): Promise<Plugin> {\n let plugin: Plugin;\n\n if (options.url) {\n // 从URL加载插件\n const response = await fetch(options.url);\n if (!response.ok) {\n throw new Error(`无法加载插件: ${options.url} (${response.status})`);\n }\n const pluginModule = await response.json();\n plugin = pluginModule.default || pluginModule;\n } else if (options.modulePath) {\n // 从模块路径动态导入\n const pluginModule = await import(options.modulePath);\n plugin = pluginModule.default || pluginModule;\n } else {\n throw new Error('必须提供 url 或 modulePath');\n }\n\n if (!plugin || !plugin.name) {\n throw new Error('插件格式无效:必须包含 name 属性');\n }\n\n // 检查插件是否已加载\n if (this.plugins.has(plugin.name)) {\n throw new Error(`插件 ${plugin.name} 已加载`);\n }\n\n // 设置加载状态\n this.pluginStatus.set(plugin.name, 'loading');\n\n try {\n // 注册插件\n this.register(plugin);\n\n // 如果要求立即初始化\n if (options.initialize && options.initContext && options.startOptions) {\n await this.initializePlugin(plugin.name, options.startOptions, options.initContext);\n }\n\n return plugin;\n } catch (error) {\n this.pluginStatus.delete(plugin.name);\n throw error;\n }\n }\n\n /**\n * 初始化单个插件\n * \n * @param name - 插件名称\n * @param options - 启动选项\n * @param context - 初始化上下文\n */\n async initializePlugin(\n name: string,\n options: StartOptions,\n context: InitializationContext\n ): Promise<void> {\n const plugin = this.plugins.get(name);\n if (!plugin) {\n throw new Error(`插件 ${name} 未注册`);\n }\n\n const status = this.pluginStatus.get(name);\n if (status === 'initialized') {\n return; // 已经初始化\n }\n\n try {\n const sandbox = this.sandboxes.get(name);\n if (!sandbox) {\n throw new Error(`插件 ${name} 的沙箱未找到`);\n }\n\n // 执行初始化钩子\n if (plugin.init) {\n const filteredOptions = sandbox.filterConfig(options);\n await plugin.init(filteredOptions, context, sandbox, pluginEventBus);\n }\n\n this.pluginStatus.set(name, 'initialized');\n } catch (error) {\n console.error(`插件 ${name} 初始化失败:`, error);\n throw error;\n }\n }\n\n /**\n * 卸载插件(热插拔)\n * \n * @param name - 插件名称\n * @param force - 是否强制卸载(即使有依赖)\n */\n async unloadPlugin(name: string, force: boolean = false): Promise<void> {\n const plugin = this.plugins.get(name);\n if (!plugin) {\n throw new Error(`插件 ${name} 未加载`);\n }\n\n // 检查是否有其他插件依赖此插件\n if (!force) {\n const dependents = Array.from(this.plugins.values()).filter(\n (p) => p.dependencies && p.dependencies.includes(name)\n );\n if (dependents.length > 0) {\n throw new Error(\n `无法卸载插件 ${name},以下插件依赖它: ${dependents.map((p) => p.name).join(', ')}`\n );\n }\n }\n\n // 执行销毁钩子\n if (plugin.destroy) {\n try {\n await plugin.destroy();\n } catch (error) {\n console.error(`插件 ${name} 的 destroy 钩子执行失败:`, error);\n }\n }\n\n // 从事件总线移除相关监听器(如果有)\n // 注意:事件总线是全局的,这里只移除插件相关的事件\n // 实际实现可能需要更细粒度的控制\n\n // 清理插件\n this.unregister(name);\n this.pluginStatus.set(name, 'destroyed');\n }\n\n /**\n * 检查插件是否可以热加载\n * \n * @param plugin - 插件\n * @returns 是否可以热加载\n */\n canHotLoad(plugin: Plugin): boolean {\n // 检查依赖是否都已加载\n if (plugin.dependencies && plugin.dependencies.length > 0) {\n const missingDeps = plugin.dependencies.filter(\n (dep) => !this.plugins.has(dep)\n );\n if (missingDeps.length > 0) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * 注册插件加载器(用于延迟加载)\n * \n * @param name - 插件名称\n * @param loader - 加载器函数\n */\n registerLoader(name: string, loader: () => Promise<Plugin>): void {\n this.pluginLoaders.set(name, loader);\n }\n\n /**\n * 使用加载器加载插件\n * \n * @param name - 插件名称\n * @param options - 加载选项\n * @returns 加载的插件\n */\n async loadPluginByLoader(\n name: string,\n options?: Omit<PluginLoadOptions, 'url' | 'modulePath'>\n ): Promise<Plugin> {\n const loader = this.pluginLoaders.get(name);\n if (!loader) {\n throw new Error(`插件 ${name} 的加载器未注册`);\n }\n\n const plugin = await loader();\n\n if (!plugin || !plugin.name) {\n throw new Error('插件格式无效:必须包含 name 属性');\n }\n\n if (plugin.name !== name) {\n throw new Error(`插件名称不匹配: 期望 ${name},实际 ${plugin.name}`);\n }\n\n // 检查插件是否已加载\n if (this.plugins.has(plugin.name)) {\n return this.plugins.get(plugin.name)!;\n }\n\n // 设置加载状态\n this.pluginStatus.set(plugin.name, 'loading');\n\n try {\n // 注册插件\n this.register(plugin);\n\n // 如果要求立即初始化\n if (options?.initialize && options.initContext && options.startOptions) {\n await this.initializePlugin(plugin.name, options.startOptions, options.initContext);\n }\n\n return plugin;\n } catch (error) {\n this.pluginStatus.delete(plugin.name);\n throw error;\n }\n }\n\n /**\n * 获取插件\n */\n get(name: string): Plugin | undefined {\n return this.plugins.get(name);\n }\n\n /**\n * 获取所有插件\n */\n getAll(): Plugin[] {\n return Array.from(this.plugins.values());\n }\n\n /**\n * 执行初始化前钩子\n * \n * 优化:按依赖顺序执行\n */\n async executeBeforeInit(options: StartOptions): Promise<void> {\n const loadOrder = this.getLoadOrder();\n \n for (const pluginName of loadOrder) {\n const plugin = this.plugins.get(pluginName);\n if (!plugin || !plugin.beforeInit) {\n continue;\n }\n\n try {\n const sandbox = this.sandboxes.get(plugin.name);\n if (!sandbox) {\n console.warn(`插件 ${plugin.name} 的沙箱未找到`);\n continue;\n }\n\n // 根据沙箱配置过滤选项\n const filteredOptions = sandbox.filterConfig(options);\n await plugin.beforeInit(filteredOptions, sandbox, pluginEventBus);\n } catch (error) {\n console.error(`插件 ${plugin.name} 的 beforeInit 钩子执行失败:`, error);\n }\n }\n }\n\n /**\n * 执行初始化钩子\n * \n * 优化:按依赖顺序执行,并更新插件状态\n */\n async executeInit(options: StartOptions, context: InitializationContext): Promise<void> {\n const loadOrder = this.getLoadOrder();\n \n for (const pluginName of loadOrder) {\n const plugin = this.plugins.get(pluginName);\n if (!plugin || !plugin.init) {\n continue;\n }\n\n try {\n const sandbox = this.sandboxes.get(plugin.name);\n if (!sandbox) {\n console.warn(`插件 ${plugin.name} 的沙箱未找到`);\n continue;\n }\n\n // 根据沙箱配置过滤选项\n const filteredOptions = sandbox.filterConfig(options);\n await plugin.init(filteredOptions, context, sandbox, pluginEventBus);\n this.pluginStatus.set(plugin.name, 'initialized');\n } catch (error) {\n console.error(`插件 ${plugin.name} 的 init 钩子执行失败:`, error);\n }\n }\n }\n\n /**\n * 执行初始化后钩子\n * \n * 优化:按依赖顺序执行(逆序,确保依赖插件先执行)\n */\n async executeAfterInit(options: StartOptions, context: InitializationContext): Promise<void> {\n const loadOrder = this.getLoadOrder();\n // 逆序执行,确保依赖插件先执行\n const reverseOrder = [...loadOrder].reverse();\n \n for (const pluginName of reverseOrder) {\n const plugin = this.plugins.get(pluginName);\n if (!plugin || !plugin.afterInit) {\n continue;\n }\n\n try {\n const sandbox = this.sandboxes.get(plugin.name);\n if (!sandbox) {\n console.warn(`插件 ${plugin.name} 的沙箱未找到`);\n continue;\n }\n\n // 根据沙箱配置过滤选项\n const filteredOptions = sandbox.filterConfig(options);\n await plugin.afterInit(filteredOptions, context, sandbox, pluginEventBus);\n } catch (error) {\n console.error(`插件 ${plugin.name} 的 afterInit 钩子执行失败:`, error);\n }\n }\n }\n\n /**\n * 获取插件状态\n * \n * @param name - 插件名称\n * @returns 插件状态\n */\n getPluginStatus(name: string): 'registered' | 'initialized' | 'destroyed' | 'loading' | undefined {\n return this.pluginStatus.get(name);\n }\n\n /**\n * 检查插件是否已加载\n * \n * @param name - 插件名称\n * @returns 是否已加载\n */\n isLoaded(name: string): boolean {\n return this.plugins.has(name);\n }\n\n /**\n * 获取已加载的插件列表\n * \n * @returns 插件名称数组\n */\n getLoadedPlugins(): string[] {\n return Array.from(this.plugins.keys());\n }\n\n /**\n * 获取所有插件状态\n * \n * @returns 插件状态映射\n */\n getAllPluginStatus(): Map<string, 'registered' | 'initialized' | 'destroyed' | 'loading'> {\n return new Map(this.pluginStatus);\n }\n\n /**\n * 获取插件沙箱\n * \n * @param name - 插件名称\n * @returns 插件沙箱或undefined\n */\n getSandbox(name: string): PluginSandbox | undefined {\n return this.sandboxes.get(name);\n }\n\n /**\n * 获取事件总线\n */\n getEventBus(): PluginEventBus {\n return pluginEventBus;\n }\n\n /**\n * 销毁所有插件\n */\n async destroyAll(): Promise<void> {\n for (const plugin of this.plugins.values()) {\n if (plugin.destroy) {\n try {\n await plugin.destroy();\n } catch (error) {\n console.error(`插件 ${plugin.name} 的 destroy 钩子执行失败:`, error);\n }\n }\n }\n this.plugins.clear();\n }\n}\n\n/**\n * 默认插件管理器\n */\nexport const pluginManager = new PluginManager();\n\n// 导出插件相关类型和工具\nexport { PluginSandbox, PluginPermission, type PluginSandboxConfig } from './plugin/PluginSandbox';\nexport { \n PluginEventBus, \n pluginEventBus, \n type EventListener,\n type EventMetadata,\n type EventWrapper,\n type PluginEventBusConfig,\n} from './plugin/PluginEventBus';\n"],"names":["PluginSandbox","pluginEventBus","PluginManager","register","plugin","plugins","has","name","console","warn","dependencies","length","missingDeps","filter","dep","join","set","pluginStatus","sandbox","sandboxes","strictMode","getLoadOrder","Array","from","values","sortedPlugins","sort","a","b","priorityA","priority","priorityB","visited","Set","visiting","result","visit","pluginName","add","get","delete","push","unregister","destroy","pluginLoaders","loadPlugin","options","url","response","fetch","ok","Error","status","pluginModule","json","default","modulePath","initialize","initContext","startOptions","initializePlugin","error","context","init","filteredOptions","filterConfig","unloadPlugin","force","dependents","p","includes","map","canHotLoad","registerLoader","loader","loadPluginByLoader","getAll","executeBeforeInit","loadOrder","beforeInit","executeInit","executeAfterInit","reverseOrder","reverse","afterInit","getPluginStatus","isLoaded","getLoadedPlugins","keys","getAllPluginStatus","Map","getSandbox","getEventBus","destroyAll","clear","pluginManager","PluginPermission","PluginEventBus"],"mappings":"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"}