@zudojs/core 0.1.0 → 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 (485) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +141 -7
  3. package/dist/application/application.d.ts +43 -2
  4. package/dist/application/application.js +111 -13
  5. package/dist/application/applicationContext.context.d.ts +15 -0
  6. package/dist/application/applicationContext.context.js +12 -0
  7. package/dist/application/createApplication.d.ts +78 -0
  8. package/dist/application/createApplication.js +104 -0
  9. package/dist/application/index.d.ts +2 -1
  10. package/dist/application/index.js +2 -1
  11. package/dist/configuration/configurationManager.manager.d.ts +32 -0
  12. package/dist/configuration/configurationManager.manager.js +86 -7
  13. package/dist/configuration/core/configuration.d.ts +60 -15
  14. package/dist/configuration/core/configuration.js +248 -51
  15. package/dist/configuration/core/configurationKey.key.d.ts +4 -2
  16. package/dist/configuration/core/configurationKey.key.js +2 -13
  17. package/dist/configuration/core/configurationPath.path.d.ts +17 -0
  18. package/dist/configuration/core/configurationPath.path.js +33 -0
  19. package/dist/configuration/core/index.d.ts +7 -1
  20. package/dist/configuration/core/index.js +1 -0
  21. package/dist/configuration/error/configurationError.error.d.ts +11 -0
  22. package/dist/configuration/error/configurationError.error.js +29 -1
  23. package/dist/configuration/error/configurationRedactor.redactor.d.ts +16 -0
  24. package/dist/configuration/error/configurationRedactor.redactor.js +83 -5
  25. package/dist/configuration/error/index.d.ts +2 -1
  26. package/dist/configuration/error/index.js +2 -1
  27. package/dist/configuration/index.d.ts +1 -1
  28. package/dist/configuration/loader/configurationLoader.loader.d.ts +47 -9
  29. package/dist/configuration/loader/configurationLoader.loader.js +107 -26
  30. package/dist/configuration/loader/index.d.ts +1 -1
  31. package/dist/configuration/loader/index.js +1 -1
  32. package/dist/configuration/registry/configurationProvider.provider.d.ts +26 -1
  33. package/dist/configuration/registry/configurationProvider.provider.js +33 -7
  34. package/dist/configuration/registry/configurationRegistry.registry.js +2 -1
  35. package/dist/configuration/schema/configurationSchema.schema.d.ts +0 -4
  36. package/dist/configuration/schema/configurationSchema.schema.js +11 -32
  37. package/dist/configuration/schema/configurationValidation.validator.d.ts +14 -2
  38. package/dist/configuration/schema/configurationValidation.validator.js +55 -7
  39. package/dist/configuration/schema/index.d.ts +1 -1
  40. package/dist/configuration/schema/index.js +1 -1
  41. package/dist/container/container.d.ts +52 -5
  42. package/dist/container/container.js +110 -33
  43. package/dist/container/index.d.ts +1 -1
  44. package/dist/container/index.js +1 -1
  45. package/dist/container/scope.d.ts +7 -6
  46. package/dist/context/core/contextAliases.deprecated.d.ts +32 -0
  47. package/dist/context/core/contextAliases.deprecated.js +6 -0
  48. package/dist/context/core/executionContext.context.d.ts +8 -0
  49. package/dist/context/core/executionContext.context.js +38 -15
  50. package/dist/context/core/index.d.ts +2 -2
  51. package/dist/context/core/index.js +2 -2
  52. package/dist/context/index.d.ts +20 -0
  53. package/dist/context/index.js +20 -0
  54. package/dist/context/provider/contextProvider.provider.d.ts +7 -4
  55. package/dist/context/provider/contextProvider.provider.js +9 -6
  56. package/dist/context/provider/contextStorage.storage.d.ts +47 -7
  57. package/dist/context/provider/contextStorage.storage.js +54 -12
  58. package/dist/context/provider/defaultContextStorage.storage.d.ts +18 -0
  59. package/dist/context/provider/defaultContextStorage.storage.js +20 -0
  60. package/dist/context/provider/index.d.ts +2 -1
  61. package/dist/context/provider/index.js +1 -0
  62. package/dist/errors/exceptions.d.ts +22 -0
  63. package/dist/errors/exceptions.js +38 -1
  64. package/dist/errors/frameworkError.error.d.ts +6 -9
  65. package/dist/errors/index.d.ts +1 -1
  66. package/dist/errors/index.js +1 -1
  67. package/dist/index.d.ts +4 -0
  68. package/dist/index.js +14 -0
  69. package/dist/lifecycle/core/index.d.ts +1 -1
  70. package/dist/lifecycle/core/index.js +1 -1
  71. package/dist/lifecycle/core/lifecycle.d.ts +47 -2
  72. package/dist/lifecycle/core/lifecycle.js +251 -85
  73. package/dist/lifecycle/core/lifecycleRegistry.registry.d.ts +8 -0
  74. package/dist/lifecycle/core/lifecycleRegistry.registry.js +20 -1
  75. package/dist/lifecycle/manager/lifecycleManager.manager.d.ts +21 -2
  76. package/dist/lifecycle/manager/lifecycleManager.manager.js +62 -99
  77. package/dist/lifecycle/scope/lifecycleScope.scope.d.ts +22 -1
  78. package/dist/lifecycle/scope/lifecycleScope.scope.js +85 -17
  79. package/dist/logging/console/consoleLogger.logger.d.ts +20 -1
  80. package/dist/logging/console/consoleLogger.logger.js +77 -11
  81. package/dist/logging/console/loggerFactory.factory.d.ts +6 -5
  82. package/dist/logging/console/loggerFactory.factory.js +1 -7
  83. package/dist/logging/core/index.d.ts +4 -3
  84. package/dist/logging/core/index.js +4 -3
  85. package/dist/logging/core/logEntry.entry.d.ts +41 -3
  86. package/dist/logging/core/logEntry.entry.js +114 -4
  87. package/dist/logging/core/logLevel.level.d.ts +18 -0
  88. package/dist/logging/core/logLevel.level.js +25 -1
  89. package/dist/logging/core/logRedaction.redaction.d.ts +38 -0
  90. package/dist/logging/core/logRedaction.redaction.js +19 -0
  91. package/dist/logging/core/logger.d.ts +14 -11
  92. package/dist/logging/core/logger.js +31 -6
  93. package/dist/logging/core/loggerContext.context.d.ts +12 -0
  94. package/dist/logging/core/loggerContext.context.js +19 -0
  95. package/dist/logging/core/loggerOptions.options.d.ts +17 -0
  96. package/dist/modules/index.d.ts +0 -1
  97. package/dist/modules/index.js +0 -6
  98. package/dist/modules/module.d.ts +7 -1
  99. package/dist/modules/moduleContext.context.d.ts +41 -7
  100. package/dist/modules/moduleContext.context.js +31 -8
  101. package/dist/modules/moduleDefinition.definition.d.ts +11 -7
  102. package/dist/modules/moduleDefinition.definition.js +41 -8
  103. package/dist/modules/moduleDependency/index.d.ts +2 -2
  104. package/dist/modules/moduleDependency/index.js +1 -1
  105. package/dist/modules/moduleDependency/moduleDependency.graph.d.ts +19 -2
  106. package/dist/modules/moduleDependency/moduleDependency.graph.js +122 -8
  107. package/dist/modules/moduleDependency/moduleDependency.ordering.d.ts +8 -0
  108. package/dist/modules/moduleDependency/moduleDependency.ordering.js +85 -57
  109. package/dist/modules/moduleDependency/moduleDependency.type.d.ts +28 -1
  110. package/dist/modules/moduleError/index.d.ts +1 -1
  111. package/dist/modules/moduleError/index.js +1 -1
  112. package/dist/modules/moduleError/moduleError.dependency.d.ts +11 -0
  113. package/dist/modules/moduleError/moduleError.dependency.js +15 -0
  114. package/dist/modules/moduleLifecycle/index.d.ts +5 -2
  115. package/dist/modules/moduleLifecycle/index.js +4 -1
  116. package/dist/modules/moduleLifecycle/moduleLifecycle.lifecycle.d.ts +44 -6
  117. package/dist/modules/moduleLifecycle/moduleLifecycle.lifecycle.js +153 -9
  118. package/dist/modules/moduleLifecycle/moduleLifecycle.stateMachine.d.ts +30 -5
  119. package/dist/modules/moduleLifecycle/moduleLifecycle.stateMachine.js +130 -10
  120. package/dist/modules/moduleLifecycle/moduleLifecycle.type.d.ts +65 -28
  121. package/dist/modules/moduleLifecycle/moduleLifecycle.type.js +15 -4
  122. package/dist/modules/moduleLoader/moduleLoader.loader.d.ts +39 -5
  123. package/dist/modules/moduleLoader/moduleLoader.loader.js +123 -50
  124. package/dist/modules/moduleLoader/moduleLoader.type.d.ts +4 -2
  125. package/dist/modules/moduleLoader/moduleLoader.type.js +10 -3
  126. package/dist/modules/moduleMetadata.metadata.js +15 -5
  127. package/dist/modules/moduleRegistry/index.d.ts +1 -1
  128. package/dist/modules/moduleRegistry/moduleRegistry.registry.d.ts +2 -2
  129. package/dist/modules/moduleRegistry/moduleRegistry.registry.js +38 -6
  130. package/dist/modules/moduleRegistry/moduleRegistry.type.d.ts +18 -1
  131. package/dist/runtime/index.d.ts +17 -15
  132. package/dist/runtime/index.js +14 -10
  133. package/dist/runtime/runtime.d.ts +135 -33
  134. package/dist/runtime/runtime.js +344 -114
  135. package/dist/runtime/runtimeBootstrap/index.d.ts +2 -1
  136. package/dist/runtime/runtimeBootstrap/index.js +1 -1
  137. package/dist/runtime/runtimeBootstrap/pipeline/index.d.ts +2 -2
  138. package/dist/runtime/runtimeBootstrap/pipeline/index.js +1 -2
  139. package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.pipeline.d.ts +41 -15
  140. package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.pipeline.js +98 -76
  141. package/dist/runtime/runtimeBootstrap/runtimeBootstrap.core.d.ts +7 -4
  142. package/dist/runtime/runtimeBootstrap/runtimeBootstrap.core.js +87 -59
  143. package/dist/runtime/runtimeBootstrap/runtimeBootstrap.type.d.ts +10 -4
  144. package/dist/runtime/runtimeContext/index.d.ts +3 -5
  145. package/dist/runtime/runtimeContext/index.js +2 -4
  146. package/dist/runtime/runtimeContext/runtimeContext.factory.d.ts +10 -4
  147. package/dist/runtime/runtimeContext/runtimeContext.factory.js +30 -7
  148. package/dist/runtime/runtimeContext/runtimeContext.type.d.ts +36 -47
  149. package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.env.d.ts +5 -0
  150. package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.env.js +6 -4
  151. package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.os.d.ts +4 -0
  152. package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.os.js +7 -9
  153. package/dist/runtime/runtimeEnvironment/index.d.ts +2 -2
  154. package/dist/runtime/runtimeEnvironment/index.js +1 -1
  155. package/dist/runtime/runtimeEnvironment/runtimeEnvironment.core.d.ts +20 -17
  156. package/dist/runtime/runtimeEnvironment/runtimeEnvironment.core.js +20 -13
  157. package/dist/runtime/runtimeEnvironment/runtimeEnvironment.type.d.ts +12 -1
  158. package/dist/runtime/runtimeError/index.d.ts +3 -3
  159. package/dist/runtime/runtimeError/index.js +1 -1
  160. package/dist/runtime/runtimeError/runtimeError.base.d.ts +15 -18
  161. package/dist/runtime/runtimeError/runtimeError.base.js +38 -36
  162. package/dist/runtime/runtimeError/runtimeError.lifecycle.d.ts +23 -8
  163. package/dist/runtime/runtimeError/runtimeError.lifecycle.js +31 -7
  164. package/dist/runtime/runtimeError/runtimeError.specialized.d.ts +1 -1
  165. package/dist/runtime/runtimeError/runtimeError.specialized.js +1 -1
  166. package/dist/runtime/runtimeError/runtimeError.type.d.ts +5 -9
  167. package/dist/runtime/runtimeLogger.d.ts +2 -2
  168. package/dist/runtime/runtimeLogger.js +3 -3
  169. package/dist/runtime/runtimeOptions/index.d.ts +1 -1
  170. package/dist/runtime/runtimeOptions/runtimeOptions.defaults.d.ts +1 -1
  171. package/dist/runtime/runtimeOptions/runtimeOptions.defaults.js +2 -0
  172. package/dist/runtime/runtimeOptions/runtimeOptions.resolver.js +5 -2
  173. package/dist/runtime/runtimeOptions/runtimeOptions.type.d.ts +45 -16
  174. package/dist/runtime/runtimeOptions/runtimeOptions.validation.js +0 -1
  175. package/dist/runtime/runtimeShutdown/index.d.ts +3 -2
  176. package/dist/runtime/runtimeShutdown/index.js +2 -2
  177. package/dist/runtime/runtimeShutdown/pipeline/index.d.ts +2 -1
  178. package/dist/runtime/runtimeShutdown/pipeline/index.js +1 -1
  179. package/dist/runtime/runtimeShutdown/pipeline/runtimeShutdown.pipeline.d.ts +37 -7
  180. package/dist/runtime/runtimeShutdown/pipeline/runtimeShutdown.pipeline.js +77 -51
  181. package/dist/runtime/runtimeShutdown/runtimeShutdown.core.d.ts +8 -16
  182. package/dist/runtime/runtimeShutdown/runtimeShutdown.core.js +85 -87
  183. package/dist/runtime/runtimeShutdown/runtimeShutdown.type.d.ts +9 -5
  184. package/dist/runtime/runtimeSignals/index.d.ts +8 -0
  185. package/dist/runtime/runtimeSignals/index.js +7 -0
  186. package/dist/runtime/runtimeSignals/runtimeSignals.d.ts +93 -0
  187. package/dist/runtime/runtimeSignals/runtimeSignals.js +149 -0
  188. package/dist/runtime/runtimeState.state.d.ts +32 -14
  189. package/dist/runtime/runtimeState.state.js +34 -27
  190. package/dist/runtime/runtimeTimeout.d.ts +40 -0
  191. package/dist/runtime/runtimeTimeout.js +42 -0
  192. package/package.json +21 -15
  193. package/dist/.tsbuildinfo +0 -1
  194. package/dist/application/application.d.ts.map +0 -1
  195. package/dist/application/application.js.map +0 -1
  196. package/dist/application/applicationContext.context.d.ts.map +0 -1
  197. package/dist/application/applicationContext.context.js.map +0 -1
  198. package/dist/application/applicationState.state.d.ts.map +0 -1
  199. package/dist/application/applicationState.state.js.map +0 -1
  200. package/dist/application/index.d.ts.map +0 -1
  201. package/dist/application/index.js.map +0 -1
  202. package/dist/configuration/configurationManager.manager.d.ts.map +0 -1
  203. package/dist/configuration/configurationManager.manager.js.map +0 -1
  204. package/dist/configuration/core/configuration.d.ts.map +0 -1
  205. package/dist/configuration/core/configuration.js.map +0 -1
  206. package/dist/configuration/core/configurationKey.key.d.ts.map +0 -1
  207. package/dist/configuration/core/configurationKey.key.js.map +0 -1
  208. package/dist/configuration/core/configurationSource.source.d.ts.map +0 -1
  209. package/dist/configuration/core/configurationSource.source.js.map +0 -1
  210. package/dist/configuration/core/index.d.ts.map +0 -1
  211. package/dist/configuration/core/index.js.map +0 -1
  212. package/dist/configuration/error/configurationError.error.d.ts.map +0 -1
  213. package/dist/configuration/error/configurationError.error.js.map +0 -1
  214. package/dist/configuration/error/configurationRedactor.redactor.d.ts.map +0 -1
  215. package/dist/configuration/error/configurationRedactor.redactor.js.map +0 -1
  216. package/dist/configuration/error/index.d.ts.map +0 -1
  217. package/dist/configuration/error/index.js.map +0 -1
  218. package/dist/configuration/events/configurationEvents.events.d.ts.map +0 -1
  219. package/dist/configuration/events/configurationEvents.events.js.map +0 -1
  220. package/dist/configuration/events/index.d.ts.map +0 -1
  221. package/dist/configuration/events/index.js.map +0 -1
  222. package/dist/configuration/index.d.ts.map +0 -1
  223. package/dist/configuration/index.js.map +0 -1
  224. package/dist/configuration/loader/configurationLoader.loader.d.ts.map +0 -1
  225. package/dist/configuration/loader/configurationLoader.loader.js.map +0 -1
  226. package/dist/configuration/loader/index.d.ts.map +0 -1
  227. package/dist/configuration/loader/index.js.map +0 -1
  228. package/dist/configuration/registry/configurationProvider.provider.d.ts.map +0 -1
  229. package/dist/configuration/registry/configurationProvider.provider.js.map +0 -1
  230. package/dist/configuration/registry/configurationRegistry.registry.d.ts.map +0 -1
  231. package/dist/configuration/registry/configurationRegistry.registry.js.map +0 -1
  232. package/dist/configuration/registry/index.d.ts.map +0 -1
  233. package/dist/configuration/registry/index.js.map +0 -1
  234. package/dist/configuration/schema/configurationSchema.schema.d.ts.map +0 -1
  235. package/dist/configuration/schema/configurationSchema.schema.js.map +0 -1
  236. package/dist/configuration/schema/configurationValidation.validator.d.ts.map +0 -1
  237. package/dist/configuration/schema/configurationValidation.validator.js.map +0 -1
  238. package/dist/configuration/schema/index.d.ts.map +0 -1
  239. package/dist/configuration/schema/index.js.map +0 -1
  240. package/dist/container/container.d.ts.map +0 -1
  241. package/dist/container/container.js.map +0 -1
  242. package/dist/container/index.d.ts.map +0 -1
  243. package/dist/container/index.js.map +0 -1
  244. package/dist/container/provider.d.ts.map +0 -1
  245. package/dist/container/provider.js.map +0 -1
  246. package/dist/container/scope.d.ts.map +0 -1
  247. package/dist/container/scope.js.map +0 -1
  248. package/dist/container/token.d.ts.map +0 -1
  249. package/dist/container/token.js.map +0 -1
  250. package/dist/context/core/context.d.ts +0 -95
  251. package/dist/context/core/context.d.ts.map +0 -1
  252. package/dist/context/core/context.js +0 -103
  253. package/dist/context/core/context.js.map +0 -1
  254. package/dist/context/core/contextKey.key.d.ts.map +0 -1
  255. package/dist/context/core/contextKey.key.js.map +0 -1
  256. package/dist/context/core/executionContext.context.d.ts.map +0 -1
  257. package/dist/context/core/executionContext.context.js.map +0 -1
  258. package/dist/context/core/index.d.ts.map +0 -1
  259. package/dist/context/core/index.js.map +0 -1
  260. package/dist/context/index.d.ts.map +0 -1
  261. package/dist/context/index.js.map +0 -1
  262. package/dist/context/provider/contextProvider.provider.d.ts.map +0 -1
  263. package/dist/context/provider/contextProvider.provider.js.map +0 -1
  264. package/dist/context/provider/contextStorage.storage.d.ts.map +0 -1
  265. package/dist/context/provider/contextStorage.storage.js.map +0 -1
  266. package/dist/context/provider/index.d.ts.map +0 -1
  267. package/dist/context/provider/index.js.map +0 -1
  268. package/dist/context/snapshot/contextSnapshot.snapshot.d.ts.map +0 -1
  269. package/dist/context/snapshot/contextSnapshot.snapshot.js.map +0 -1
  270. package/dist/context/snapshot/index.d.ts.map +0 -1
  271. package/dist/context/snapshot/index.js.map +0 -1
  272. package/dist/context/values/contextValues.values.d.ts.map +0 -1
  273. package/dist/context/values/contextValues.values.js.map +0 -1
  274. package/dist/context/values/index.d.ts.map +0 -1
  275. package/dist/context/values/index.js.map +0 -1
  276. package/dist/contracts/adapter.d.ts.map +0 -1
  277. package/dist/contracts/adapter.js.map +0 -1
  278. package/dist/contracts/disposable.d.ts.map +0 -1
  279. package/dist/contracts/disposable.js.map +0 -1
  280. package/dist/contracts/handler.d.ts.map +0 -1
  281. package/dist/contracts/handler.js.map +0 -1
  282. package/dist/contracts/index.d.ts.map +0 -1
  283. package/dist/contracts/index.js.map +0 -1
  284. package/dist/errors/errorCode.code.d.ts.map +0 -1
  285. package/dist/errors/errorCode.code.js.map +0 -1
  286. package/dist/errors/exceptions.d.ts.map +0 -1
  287. package/dist/errors/exceptions.js.map +0 -1
  288. package/dist/errors/frameworkError.error.d.ts.map +0 -1
  289. package/dist/errors/frameworkError.error.js.map +0 -1
  290. package/dist/errors/index.d.ts.map +0 -1
  291. package/dist/errors/index.js.map +0 -1
  292. package/dist/index.d.ts.map +0 -1
  293. package/dist/index.js.map +0 -1
  294. package/dist/lifecycle/core/index.d.ts.map +0 -1
  295. package/dist/lifecycle/core/index.js.map +0 -1
  296. package/dist/lifecycle/core/lifecycle.d.ts.map +0 -1
  297. package/dist/lifecycle/core/lifecycle.js.map +0 -1
  298. package/dist/lifecycle/core/lifecycleHook.hook.d.ts.map +0 -1
  299. package/dist/lifecycle/core/lifecycleHook.hook.js.map +0 -1
  300. package/dist/lifecycle/core/lifecycleRegistry.registry.d.ts.map +0 -1
  301. package/dist/lifecycle/core/lifecycleRegistry.registry.js.map +0 -1
  302. package/dist/lifecycle/core/lifecycleState.state.d.ts +0 -2
  303. package/dist/lifecycle/core/lifecycleState.state.d.ts.map +0 -1
  304. package/dist/lifecycle/core/lifecycleState.state.js +0 -2
  305. package/dist/lifecycle/core/lifecycleState.state.js.map +0 -1
  306. package/dist/lifecycle/index.d.ts.map +0 -1
  307. package/dist/lifecycle/index.js.map +0 -1
  308. package/dist/lifecycle/manager/index.d.ts.map +0 -1
  309. package/dist/lifecycle/manager/index.js.map +0 -1
  310. package/dist/lifecycle/manager/lifecycleManager.manager.d.ts.map +0 -1
  311. package/dist/lifecycle/manager/lifecycleManager.manager.js.map +0 -1
  312. package/dist/lifecycle/scope/index.d.ts.map +0 -1
  313. package/dist/lifecycle/scope/index.js.map +0 -1
  314. package/dist/lifecycle/scope/lifecycleScope.scope.d.ts.map +0 -1
  315. package/dist/lifecycle/scope/lifecycleScope.scope.js.map +0 -1
  316. package/dist/logging/console/consoleLogger.logger.d.ts.map +0 -1
  317. package/dist/logging/console/consoleLogger.logger.js.map +0 -1
  318. package/dist/logging/console/index.d.ts.map +0 -1
  319. package/dist/logging/console/index.js.map +0 -1
  320. package/dist/logging/console/loggerFactory.factory.d.ts.map +0 -1
  321. package/dist/logging/console/loggerFactory.factory.js.map +0 -1
  322. package/dist/logging/core/index.d.ts.map +0 -1
  323. package/dist/logging/core/index.js.map +0 -1
  324. package/dist/logging/core/logEntry.entry.d.ts.map +0 -1
  325. package/dist/logging/core/logEntry.entry.js.map +0 -1
  326. package/dist/logging/core/logLevel.level.d.ts.map +0 -1
  327. package/dist/logging/core/logLevel.level.js.map +0 -1
  328. package/dist/logging/core/logger.d.ts.map +0 -1
  329. package/dist/logging/core/logger.js.map +0 -1
  330. package/dist/logging/core/loggerContext.context.d.ts.map +0 -1
  331. package/dist/logging/core/loggerContext.context.js.map +0 -1
  332. package/dist/logging/core/loggerOptions.options.d.ts.map +0 -1
  333. package/dist/logging/core/loggerOptions.options.js.map +0 -1
  334. package/dist/logging/index.d.ts.map +0 -1
  335. package/dist/logging/index.js.map +0 -1
  336. package/dist/modules/index.d.ts.map +0 -1
  337. package/dist/modules/index.js.map +0 -1
  338. package/dist/modules/module.d.ts.map +0 -1
  339. package/dist/modules/module.js.map +0 -1
  340. package/dist/modules/moduleContext.context.d.ts.map +0 -1
  341. package/dist/modules/moduleContext.context.js.map +0 -1
  342. package/dist/modules/moduleDefinition.definition.d.ts.map +0 -1
  343. package/dist/modules/moduleDefinition.definition.js.map +0 -1
  344. package/dist/modules/moduleDependency/index.d.ts.map +0 -1
  345. package/dist/modules/moduleDependency/index.js.map +0 -1
  346. package/dist/modules/moduleDependency/moduleDependency.graph.d.ts.map +0 -1
  347. package/dist/modules/moduleDependency/moduleDependency.graph.js.map +0 -1
  348. package/dist/modules/moduleDependency/moduleDependency.ordering.d.ts.map +0 -1
  349. package/dist/modules/moduleDependency/moduleDependency.ordering.js.map +0 -1
  350. package/dist/modules/moduleDependency/moduleDependency.type.d.ts.map +0 -1
  351. package/dist/modules/moduleDependency/moduleDependency.type.js.map +0 -1
  352. package/dist/modules/moduleError/index.d.ts.map +0 -1
  353. package/dist/modules/moduleError/index.js.map +0 -1
  354. package/dist/modules/moduleError/moduleError.base.d.ts.map +0 -1
  355. package/dist/modules/moduleError/moduleError.base.js.map +0 -1
  356. package/dist/modules/moduleError/moduleError.dependency.d.ts.map +0 -1
  357. package/dist/modules/moduleError/moduleError.dependency.js.map +0 -1
  358. package/dist/modules/moduleError/moduleError.helpers.d.ts.map +0 -1
  359. package/dist/modules/moduleError/moduleError.helpers.js.map +0 -1
  360. package/dist/modules/moduleError/moduleError.lifecycle.d.ts.map +0 -1
  361. package/dist/modules/moduleError/moduleError.lifecycle.js.map +0 -1
  362. package/dist/modules/moduleError/moduleError.registration.d.ts.map +0 -1
  363. package/dist/modules/moduleError/moduleError.registration.js.map +0 -1
  364. package/dist/modules/moduleLifecycle/index.d.ts.map +0 -1
  365. package/dist/modules/moduleLifecycle/index.js.map +0 -1
  366. package/dist/modules/moduleLifecycle/moduleLifecycle.lifecycle.d.ts.map +0 -1
  367. package/dist/modules/moduleLifecycle/moduleLifecycle.lifecycle.js.map +0 -1
  368. package/dist/modules/moduleLifecycle/moduleLifecycle.stateMachine.d.ts.map +0 -1
  369. package/dist/modules/moduleLifecycle/moduleLifecycle.stateMachine.js.map +0 -1
  370. package/dist/modules/moduleLifecycle/moduleLifecycle.type.d.ts.map +0 -1
  371. package/dist/modules/moduleLifecycle/moduleLifecycle.type.js.map +0 -1
  372. package/dist/modules/moduleLoader/index.d.ts.map +0 -1
  373. package/dist/modules/moduleLoader/index.js.map +0 -1
  374. package/dist/modules/moduleLoader/moduleLoader.loader.d.ts.map +0 -1
  375. package/dist/modules/moduleLoader/moduleLoader.loader.js.map +0 -1
  376. package/dist/modules/moduleLoader/moduleLoader.type.d.ts.map +0 -1
  377. package/dist/modules/moduleLoader/moduleLoader.type.js.map +0 -1
  378. package/dist/modules/moduleMetadata.metadata.d.ts.map +0 -1
  379. package/dist/modules/moduleMetadata.metadata.js.map +0 -1
  380. package/dist/modules/moduleRegistry/index.d.ts.map +0 -1
  381. package/dist/modules/moduleRegistry/index.js.map +0 -1
  382. package/dist/modules/moduleRegistry/moduleRegistry.registry.d.ts.map +0 -1
  383. package/dist/modules/moduleRegistry/moduleRegistry.registry.js.map +0 -1
  384. package/dist/modules/moduleRegistry/moduleRegistry.type.d.ts.map +0 -1
  385. package/dist/modules/moduleRegistry/moduleRegistry.type.js.map +0 -1
  386. package/dist/runtime/index.d.ts.map +0 -1
  387. package/dist/runtime/index.js.map +0 -1
  388. package/dist/runtime/runtime.d.ts.map +0 -1
  389. package/dist/runtime/runtime.js.map +0 -1
  390. package/dist/runtime/runtimeBootstrap/index.d.ts.map +0 -1
  391. package/dist/runtime/runtimeBootstrap/index.js.map +0 -1
  392. package/dist/runtime/runtimeBootstrap/pipeline/index.d.ts.map +0 -1
  393. package/dist/runtime/runtimeBootstrap/pipeline/index.js.map +0 -1
  394. package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.invoke.d.ts +0 -6
  395. package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.invoke.d.ts.map +0 -1
  396. package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.invoke.js +0 -27
  397. package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.invoke.js.map +0 -1
  398. package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.pipeline.d.ts.map +0 -1
  399. package/dist/runtime/runtimeBootstrap/pipeline/runtimeBootstrap.pipeline.js.map +0 -1
  400. package/dist/runtime/runtimeBootstrap/runtimeBootstrap.core.d.ts.map +0 -1
  401. package/dist/runtime/runtimeBootstrap/runtimeBootstrap.core.js.map +0 -1
  402. package/dist/runtime/runtimeBootstrap/runtimeBootstrap.type.d.ts.map +0 -1
  403. package/dist/runtime/runtimeBootstrap/runtimeBootstrap.type.js.map +0 -1
  404. package/dist/runtime/runtimeContext/index.d.ts.map +0 -1
  405. package/dist/runtime/runtimeContext/index.js.map +0 -1
  406. package/dist/runtime/runtimeContext/runtimeContext.core.d.ts +0 -38
  407. package/dist/runtime/runtimeContext/runtimeContext.core.d.ts.map +0 -1
  408. package/dist/runtime/runtimeContext/runtimeContext.core.js +0 -99
  409. package/dist/runtime/runtimeContext/runtimeContext.core.js.map +0 -1
  410. package/dist/runtime/runtimeContext/runtimeContext.factory.d.ts.map +0 -1
  411. package/dist/runtime/runtimeContext/runtimeContext.factory.js.map +0 -1
  412. package/dist/runtime/runtimeContext/runtimeContext.type.d.ts.map +0 -1
  413. package/dist/runtime/runtimeContext/runtimeContext.type.js.map +0 -1
  414. package/dist/runtime/runtimeEnvironment/detection/index.d.ts.map +0 -1
  415. package/dist/runtime/runtimeEnvironment/detection/index.js.map +0 -1
  416. package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.detection.d.ts.map +0 -1
  417. package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.detection.js.map +0 -1
  418. package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.env.d.ts.map +0 -1
  419. package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.env.js.map +0 -1
  420. package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.os.d.ts.map +0 -1
  421. package/dist/runtime/runtimeEnvironment/detection/runtimeEnvironment.os.js.map +0 -1
  422. package/dist/runtime/runtimeEnvironment/index.d.ts.map +0 -1
  423. package/dist/runtime/runtimeEnvironment/index.js.map +0 -1
  424. package/dist/runtime/runtimeEnvironment/runtimeEnvironment.core.d.ts.map +0 -1
  425. package/dist/runtime/runtimeEnvironment/runtimeEnvironment.core.js.map +0 -1
  426. package/dist/runtime/runtimeEnvironment/runtimeEnvironment.type.d.ts.map +0 -1
  427. package/dist/runtime/runtimeEnvironment/runtimeEnvironment.type.js.map +0 -1
  428. package/dist/runtime/runtimeError/index.d.ts.map +0 -1
  429. package/dist/runtime/runtimeError/index.js.map +0 -1
  430. package/dist/runtime/runtimeError/runtimeError.base.d.ts.map +0 -1
  431. package/dist/runtime/runtimeError/runtimeError.base.js.map +0 -1
  432. package/dist/runtime/runtimeError/runtimeError.lifecycle.d.ts.map +0 -1
  433. package/dist/runtime/runtimeError/runtimeError.lifecycle.js.map +0 -1
  434. package/dist/runtime/runtimeError/runtimeError.specialized.d.ts.map +0 -1
  435. package/dist/runtime/runtimeError/runtimeError.specialized.js.map +0 -1
  436. package/dist/runtime/runtimeError/runtimeError.type.d.ts.map +0 -1
  437. package/dist/runtime/runtimeError/runtimeError.type.js.map +0 -1
  438. package/dist/runtime/runtimeLogger.d.ts.map +0 -1
  439. package/dist/runtime/runtimeLogger.js.map +0 -1
  440. package/dist/runtime/runtimeManager/index.d.ts +0 -12
  441. package/dist/runtime/runtimeManager/index.d.ts.map +0 -1
  442. package/dist/runtime/runtimeManager/index.js +0 -11
  443. package/dist/runtime/runtimeManager/index.js.map +0 -1
  444. package/dist/runtime/runtimeManager/runtimeManager.core.d.ts +0 -31
  445. package/dist/runtime/runtimeManager/runtimeManager.core.d.ts.map +0 -1
  446. package/dist/runtime/runtimeManager/runtimeManager.core.js +0 -136
  447. package/dist/runtime/runtimeManager/runtimeManager.core.js.map +0 -1
  448. package/dist/runtime/runtimeManager/runtimeManager.error.d.ts +0 -14
  449. package/dist/runtime/runtimeManager/runtimeManager.error.d.ts.map +0 -1
  450. package/dist/runtime/runtimeManager/runtimeManager.error.js +0 -21
  451. package/dist/runtime/runtimeManager/runtimeManager.error.js.map +0 -1
  452. package/dist/runtime/runtimeManager/runtimeManager.factory.d.ts +0 -7
  453. package/dist/runtime/runtimeManager/runtimeManager.factory.d.ts.map +0 -1
  454. package/dist/runtime/runtimeManager/runtimeManager.factory.js +0 -8
  455. package/dist/runtime/runtimeManager/runtimeManager.factory.js.map +0 -1
  456. package/dist/runtime/runtimeManager/runtimeManager.lifecycle.d.ts +0 -16
  457. package/dist/runtime/runtimeManager/runtimeManager.lifecycle.d.ts.map +0 -1
  458. package/dist/runtime/runtimeManager/runtimeManager.lifecycle.js +0 -49
  459. package/dist/runtime/runtimeManager/runtimeManager.lifecycle.js.map +0 -1
  460. package/dist/runtime/runtimeManager/runtimeManager.type.d.ts +0 -54
  461. package/dist/runtime/runtimeManager/runtimeManager.type.d.ts.map +0 -1
  462. package/dist/runtime/runtimeManager/runtimeManager.type.js +0 -2
  463. package/dist/runtime/runtimeManager/runtimeManager.type.js.map +0 -1
  464. package/dist/runtime/runtimeOptions/index.d.ts.map +0 -1
  465. package/dist/runtime/runtimeOptions/index.js.map +0 -1
  466. package/dist/runtime/runtimeOptions/runtimeOptions.defaults.d.ts.map +0 -1
  467. package/dist/runtime/runtimeOptions/runtimeOptions.defaults.js.map +0 -1
  468. package/dist/runtime/runtimeOptions/runtimeOptions.resolver.d.ts.map +0 -1
  469. package/dist/runtime/runtimeOptions/runtimeOptions.resolver.js.map +0 -1
  470. package/dist/runtime/runtimeOptions/runtimeOptions.type.d.ts.map +0 -1
  471. package/dist/runtime/runtimeOptions/runtimeOptions.type.js.map +0 -1
  472. package/dist/runtime/runtimeOptions/runtimeOptions.validation.d.ts.map +0 -1
  473. package/dist/runtime/runtimeOptions/runtimeOptions.validation.js.map +0 -1
  474. package/dist/runtime/runtimeShutdown/index.d.ts.map +0 -1
  475. package/dist/runtime/runtimeShutdown/index.js.map +0 -1
  476. package/dist/runtime/runtimeShutdown/pipeline/index.d.ts.map +0 -1
  477. package/dist/runtime/runtimeShutdown/pipeline/index.js.map +0 -1
  478. package/dist/runtime/runtimeShutdown/pipeline/runtimeShutdown.pipeline.d.ts.map +0 -1
  479. package/dist/runtime/runtimeShutdown/pipeline/runtimeShutdown.pipeline.js.map +0 -1
  480. package/dist/runtime/runtimeShutdown/runtimeShutdown.core.d.ts.map +0 -1
  481. package/dist/runtime/runtimeShutdown/runtimeShutdown.core.js.map +0 -1
  482. package/dist/runtime/runtimeShutdown/runtimeShutdown.type.d.ts.map +0 -1
  483. package/dist/runtime/runtimeShutdown/runtimeShutdown.type.js.map +0 -1
  484. package/dist/runtime/runtimeState.state.d.ts.map +0 -1
  485. package/dist/runtime/runtimeState.state.js.map +0 -1
@@ -1,103 +1,125 @@
1
- import { invokeModuleLoader, invokeInitializeModules, invokeStartModules, } from "./runtimeBootstrap.invoke.js";
2
- import { RuntimeBootstrapError as BaseRuntimeBootstrapError } from "@zudojs/errors";
3
- export class RuntimeBootstrapError extends BaseRuntimeBootstrapError {
4
- bootstrapCode;
5
- constructor(message, code, cause) {
6
- super(message, { cause });
7
- this.bootstrapCode = code;
8
- }
1
+ import { RuntimeLoadError, RuntimeInitializationError, RuntimeStartError, } from "../../runtimeError/runtimeError.lifecycle.js";
2
+ import { RuntimeErrorCode } from "../../runtimeError/runtimeError.type.js";
3
+ export function createBootstrapPipelineState() {
4
+ return {
5
+ counters: { loadedModules: 0, initializedModules: 0, startedModules: 0 },
6
+ errors: [],
7
+ };
9
8
  }
10
- async function loadModules(errors, counters, moduleLoader, setPhase, log) {
11
- setPhase("loading");
12
- log("debug", "Loading runtime modules.");
13
- try {
14
- await invokeModuleLoader(moduleLoader);
15
- setPhase("loaded");
16
- counters.incrementLoaded();
17
- log("debug", "Runtime modules loaded.");
9
+ /**
10
+ * Executes the load → initialize → start pipeline.
11
+ *
12
+ * - Module-level failures reported by the ModuleLifecycleManager are
13
+ * recorded once per module (with `moduleName`).
14
+ * - When the phase's continueOn*Error flag is false the pipeline
15
+ * throws; the thrown error is NOT pushed to `errors` here — the
16
+ * caller records it exactly once.
17
+ * - Once `signal` is aborted (timeout) the pipeline stops publishing
18
+ * phase changes so an abandoned run cannot mutate the owner.
19
+ */
20
+ export async function executeBootstrapPipeline(options, services, state, signal, setPhase, log) {
21
+ const publish = (phase) => {
22
+ if (!signal.aborted)
23
+ setPhase(phase);
24
+ };
25
+ const identity = {
26
+ runtimeId: services.runtimeId,
27
+ runtimeName: services.runtimeName,
28
+ };
29
+ if (options.loadModules) {
30
+ await loadModules(services.moduleLoader, identity, state, publish, log);
18
31
  }
19
- catch (error) {
20
- errors.push({ phase: "loading", error });
21
- throw new RuntimeBootstrapError("Failed to load runtime modules.", "MODULE_LOAD_FAILED", error);
32
+ if (options.initializeModules) {
33
+ await runLifecyclePhase("initializing", "initialized", () => services.moduleLifecycle.initialize(), services.moduleLifecycle, options.continueOnInitializeError, (count) => {
34
+ state.counters.initializedModules = count;
35
+ }, (message, opts) => new RuntimeInitializationError(message, { ...identity, ...opts }), state, publish, log);
36
+ }
37
+ if (options.startModules) {
38
+ await runLifecyclePhase("starting", "started", () => services.moduleLifecycle.start(), services.moduleLifecycle, options.continueOnStartError, (count) => {
39
+ state.counters.startedModules = count;
40
+ }, (message, opts) => new RuntimeStartError(message, {
41
+ ...identity,
42
+ ...opts,
43
+ code: RuntimeErrorCode.MODULE_START_FAILED,
44
+ }), state, publish, log);
22
45
  }
23
46
  }
24
- async function initializeModules(errors, counters, continueOnError, moduleLifecycle, setPhase, log) {
25
- setPhase("initializing");
26
- log("debug", "Initializing runtime modules.");
47
+ async function loadModules(moduleLoader, identity, state, publish, log) {
48
+ publish("loading");
49
+ log("debug", "Loading runtime modules.");
27
50
  try {
28
- await invokeInitializeModules(moduleLifecycle);
29
- setPhase("initialized");
30
- counters.incrementInitialized();
31
- log("debug", "Runtime modules initialized.");
51
+ const result = await moduleLoader.loadAll();
52
+ state.counters.loadedModules =
53
+ result.loaded.length + result.alreadyLoaded.length;
54
+ publish("loaded");
55
+ log("debug", "Runtime modules loaded.", {
56
+ loaded: result.loaded.length,
57
+ alreadyLoaded: result.alreadyLoaded.length,
58
+ skipped: result.skipped.length,
59
+ });
32
60
  }
33
61
  catch (error) {
34
- errors.push({ phase: "initializing", error });
35
- if (!continueOnError) {
36
- throw new RuntimeBootstrapError("Failed to initialize runtime modules.", "MODULE_INITIALIZATION_FAILED", error);
37
- }
38
- log("warn", "Runtime module initialization reported an error. Continuing.", { error });
62
+ throw new RuntimeLoadError("Failed to load runtime modules.", {
63
+ ...identity,
64
+ phase: "loading",
65
+ cause: error,
66
+ });
39
67
  }
40
68
  }
41
- async function startModules(errors, counters, continueOnError, moduleLifecycle, setPhase, log) {
42
- setPhase("starting");
43
- log("debug", "Starting runtime modules.");
69
+ async function runLifecyclePhase(phase, donePhase, run, moduleLifecycle, continueOnError, setCount, createError, state, publish, log) {
70
+ publish(phase);
71
+ log("debug", `Runtime modules ${phase}.`);
72
+ let result;
44
73
  try {
45
- await invokeStartModules(moduleLifecycle);
46
- setPhase("started");
47
- counters.incrementStarted();
48
- log("debug", "Runtime modules started.");
74
+ result = await run();
49
75
  }
50
76
  catch (error) {
51
- errors.push({ phase: "starting", error });
52
77
  if (!continueOnError) {
53
- throw new RuntimeBootstrapError("Failed to start runtime modules.", "MODULE_START_FAILED", error);
78
+ throw createError(`Runtime module ${phase} failed.`, {
79
+ phase,
80
+ cause: error,
81
+ });
54
82
  }
55
- log("warn", "Runtime module startup reported an error. Continuing.", {
83
+ state.errors.push({ phase, error });
84
+ log("warn", `Runtime module ${phase} reported an error. Continuing.`, {
56
85
  error,
57
86
  });
58
- }
59
- }
60
- export async function executeBootstrapPipeline(options, errors, counters, moduleLoader, moduleLifecycle, setPhase, log) {
61
- if (options.loadModules) {
62
- await loadModules(errors, counters, moduleLoader, setPhase, log);
63
- }
64
- if (options.initializeModules) {
65
- await initializeModules(errors, counters, options.continueOnInitializeError, moduleLifecycle, setPhase, log);
66
- }
67
- if (options.startModules) {
68
- await startModules(errors, counters, options.continueOnStartError, moduleLifecycle, setPhase, log);
69
- }
70
- if (errors.length > 0 &&
71
- !options.continueOnInitializeError &&
72
- !options.continueOnStartError) {
73
- throw new RuntimeBootstrapError("Runtime bootstrap completed with module errors.", "BOOTSTRAP_MODULE_ERRORS", errors);
74
- }
75
- }
76
- export async function withTimeout(operation, timeoutMs) {
77
- if (timeoutMs <= 0) {
78
- await operation;
79
87
  return;
80
88
  }
81
- let timer;
82
- const timeout = new Promise((_resolve, reject) => {
83
- timer = setTimeout(() => {
84
- reject(new RuntimeBootstrapError(`Runtime bootstrap exceeded the configured timeout of ${timeoutMs}ms.`, "BOOTSTRAP_TIMEOUT"));
85
- }, timeoutMs);
86
- });
87
- try {
88
- await Promise.race([operation, timeout]);
89
+ setCount(result.completed.length);
90
+ for (const moduleId of result.failed) {
91
+ state.errors.push({
92
+ phase,
93
+ moduleName: moduleId,
94
+ error: moduleLifecycle.getState(moduleId)?.error ??
95
+ new Error(`Module "${moduleId}" failed during ${phase}.`),
96
+ });
89
97
  }
90
- finally {
91
- clearTimeout(timer);
98
+ if (result.failed.length > 0) {
99
+ if (!continueOnError) {
100
+ throw createError(`${result.failed.length} module(s) failed during ${phase}: ${result.failed.join(", ")}.`, {
101
+ phase,
102
+ metadata: { modules: result.failed.join(",") },
103
+ });
104
+ }
105
+ log("warn", `Runtime module ${phase} completed with failures. Continuing.`, {
106
+ failed: [...result.failed],
107
+ });
92
108
  }
109
+ publish(donePhase);
110
+ log("debug", `Runtime modules ${donePhase}.`, {
111
+ completed: result.completed.length,
112
+ failed: result.failed.length,
113
+ skipped: result.skipped.length,
114
+ });
93
115
  }
94
- export function createBootstrapResult(success, phase, loadedModules, initializedModules, startedModules, errors, startedAt, completedAt) {
116
+ export function createBootstrapResult(success, phase, counters, errors, startedAt, completedAt) {
95
117
  return Object.freeze({
96
118
  success,
97
119
  phase,
98
- loadedModules,
99
- initializedModules,
100
- startedModules,
120
+ loadedModules: counters.loadedModules,
121
+ initializedModules: counters.initializedModules,
122
+ startedModules: counters.startedModules,
101
123
  errors: Object.freeze([...errors]),
102
124
  startedAt,
103
125
  completedAt,
@@ -1,9 +1,12 @@
1
1
  import type { ResolvedRuntimeOptions } from "../runtimeOptions/index.js";
2
2
  import type { RuntimeBootstrapDependencies, RuntimeBootstrapOptions, RuntimeBootstrapPhase, RuntimeBootstrapResult, RuntimeBootstrap } from "./runtimeBootstrap.type.js";
3
+ /**
4
+ * Default bootstrap service: loads, initializes, and starts modules
5
+ * according to the runtime's startup options.
6
+ */
3
7
  export declare class DefaultRuntimeBootstrap implements RuntimeBootstrap {
4
- private readonly _context;
8
+ private readonly _identity;
5
9
  private readonly _environment;
6
- private readonly _application;
7
10
  private readonly _moduleLoader;
8
11
  private readonly _moduleRegistry;
9
12
  private readonly _moduleLifecycle;
@@ -12,14 +15,14 @@ export declare class DefaultRuntimeBootstrap implements RuntimeBootstrap {
12
15
  private _running;
13
16
  private _phase;
14
17
  private _lastResult;
15
- private _bootstrapContext?;
16
18
  constructor(dependencies: RuntimeBootstrapDependencies, runtimeOptions: ResolvedRuntimeOptions);
17
19
  get running(): boolean;
18
20
  get phase(): RuntimeBootstrapPhase;
19
21
  bootstrap(options?: RuntimeBootstrapOptions): Promise<RuntimeBootstrapResult>;
20
- private resolveOptions;
21
22
  getLastResult(): RuntimeBootstrapResult | undefined;
22
23
  reset(): void;
24
+ private resolveOptions;
25
+ private errorContext;
23
26
  private log;
24
27
  }
25
28
  //# sourceMappingURL=runtimeBootstrap.core.d.ts.map
@@ -1,10 +1,16 @@
1
- import { Context, createContext } from "../../context/core/context.js";
2
- import { executeBootstrapPipeline, RuntimeBootstrapError, withTimeout, createBootstrapResult, } from "./pipeline/index.js";
1
+ import { executeBootstrapPipeline, createBootstrapPipelineState, createBootstrapResult, } from "./pipeline/index.js";
3
2
  import { logRuntimeEvent } from "../runtimeLogger.js";
3
+ import { withRuntimeTimeout } from "../runtimeTimeout.js";
4
+ import { RuntimeError } from "../runtimeError/runtimeError.base.js";
5
+ import { InvalidRuntimeStateError, RuntimeStartError, } from "../runtimeError/runtimeError.lifecycle.js";
6
+ import { RuntimeErrorCode } from "../runtimeError/runtimeError.type.js";
7
+ /**
8
+ * Default bootstrap service: loads, initializes, and starts modules
9
+ * according to the runtime's startup options.
10
+ */
4
11
  export class DefaultRuntimeBootstrap {
5
- _context;
12
+ _identity;
6
13
  _environment;
7
- _application;
8
14
  _moduleLoader;
9
15
  _moduleRegistry;
10
16
  _moduleLifecycle;
@@ -13,11 +19,9 @@ export class DefaultRuntimeBootstrap {
13
19
  _running = false;
14
20
  _phase = "created";
15
21
  _lastResult;
16
- _bootstrapContext;
17
22
  constructor(dependencies, runtimeOptions) {
18
- this._context = dependencies.context;
23
+ this._identity = dependencies.identity;
19
24
  this._environment = dependencies.environment;
20
- this._application = dependencies.application;
21
25
  this._moduleLoader = dependencies.moduleLoader;
22
26
  this._moduleRegistry = dependencies.moduleRegistry;
23
27
  this._moduleLifecycle = dependencies.moduleLifecycle;
@@ -32,91 +36,115 @@ export class DefaultRuntimeBootstrap {
32
36
  }
33
37
  async bootstrap(options = {}) {
34
38
  if (this._running) {
35
- throw new RuntimeBootstrapError("Runtime bootstrap is already running.", "BOOTSTRAP_ALREADY_RUNNING");
39
+ throw new InvalidRuntimeStateError("Runtime bootstrap is already running.", this.errorContext({ state: this._phase }));
36
40
  }
37
41
  if (this._phase === "completed") {
38
- throw new RuntimeBootstrapError("Runtime has already been bootstrapped.", "BOOTSTRAP_ALREADY_COMPLETED");
42
+ throw new InvalidRuntimeStateError("Runtime has already been bootstrapped.", this.errorContext({ state: this._phase }));
39
43
  }
40
44
  this._running = true;
41
45
  this._phase = "created";
42
46
  const startedAt = new Date();
43
- const errors = [];
44
- let loadedModules = 0, initializedModules = 0, startedModules = 0;
45
47
  const configuration = this.resolveOptions(options);
46
- this._bootstrapContext = createContext({
47
- application: this._application,
48
- type: "worker",
49
- id: this._context.identity.id,
50
- });
48
+ const state = createBootstrapPipelineState();
49
+ const diagnostics = this._runtimeOptions.diagnostics;
51
50
  try {
52
- logRuntimeEvent(this._logger, this._context, this._environment, "info", "Runtime bootstrap started.");
53
- const operation = executeBootstrapPipeline(configuration, errors, {
54
- incrementLoaded: () => {
55
- loadedModules += 1;
56
- },
57
- incrementInitialized: () => {
58
- initializedModules += 1;
59
- },
60
- incrementStarted: () => {
61
- startedModules += 1;
62
- },
63
- }, this._moduleLoader, this._moduleLifecycle, (phase) => {
51
+ if (diagnostics.startupLogging) {
52
+ this.log("info", "Runtime bootstrap started.", {
53
+ ...(diagnostics.includeState && { phase: this._phase }),
54
+ });
55
+ }
56
+ await withRuntimeTimeout((signal) => executeBootstrapPipeline(configuration, {
57
+ moduleLoader: this._moduleLoader,
58
+ moduleLifecycle: this._moduleLifecycle,
59
+ runtimeId: this._identity.id,
60
+ runtimeName: this._identity.name,
61
+ }, state, signal, (phase) => {
64
62
  this._phase = phase;
65
- }, this.log.bind(this));
66
- await withTimeout(operation, configuration.timeoutMs);
63
+ }, this.log.bind(this)), configuration.timeoutMs, {
64
+ message: `Runtime bootstrap exceeded the configured timeout of ${configuration.timeoutMs}ms.`,
65
+ error: this.errorContext({
66
+ code: RuntimeErrorCode.BOOTSTRAP_TIMEOUT,
67
+ operation: "start",
68
+ phase: "bootstrapping",
69
+ }),
70
+ onLateRejection: (error) => {
71
+ this.log("warn", "Abandoned runtime bootstrap failed late.", {
72
+ error,
73
+ });
74
+ },
75
+ });
67
76
  this._phase = "completed";
68
- const completedAt = new Date();
69
- const result = createBootstrapResult(true, "completed", loadedModules, initializedModules, startedModules, errors, startedAt, completedAt);
77
+ const result = createBootstrapResult(state.errors.length === 0, "completed", state.counters, state.errors, startedAt, new Date());
70
78
  this._lastResult = result;
71
- logRuntimeEvent(this._logger, this._context, this._environment, "info", "Runtime bootstrap completed.", {
72
- durationMs: result.durationMs,
73
- loadedModules,
74
- initializedModules,
75
- startedModules,
76
- });
79
+ if (diagnostics.startupLogging) {
80
+ this.log(result.success ? "info" : "warn", result.success
81
+ ? "Runtime bootstrap completed."
82
+ : "Runtime bootstrap completed with errors.", {
83
+ durationMs: result.durationMs,
84
+ loadedModules: result.loadedModules,
85
+ initializedModules: result.initializedModules,
86
+ startedModules: result.startedModules,
87
+ errors: result.errors.length,
88
+ ...(diagnostics.includeState && { phase: result.phase }),
89
+ ...(diagnostics.includeModules && {
90
+ modules: this._moduleRegistry
91
+ .getLoadedModules()
92
+ .map((module) => module.id),
93
+ }),
94
+ });
95
+ }
77
96
  return result;
78
97
  }
79
98
  catch (error) {
99
+ const failedPhase = this._phase;
80
100
  this._phase = "failed";
81
- const bootstrapError = error instanceof RuntimeBootstrapError
101
+ const bootstrapError = error instanceof RuntimeError
82
102
  ? error
83
- : new RuntimeBootstrapError("Runtime bootstrap failed.", "BOOTSTRAP_FAILED", error);
84
- errors.push({ phase: this._phase, error: bootstrapError });
85
- const completedAt = new Date();
86
- const result = createBootstrapResult(false, "failed", loadedModules, initializedModules, startedModules, errors, startedAt, completedAt);
103
+ : new RuntimeStartError("Runtime bootstrap failed.", this.errorContext({ phase: "bootstrapping", cause: error }));
104
+ state.errors.push({ phase: failedPhase, error: bootstrapError });
105
+ const result = createBootstrapResult(false, "failed", state.counters, state.errors, startedAt, new Date());
87
106
  this._lastResult = result;
88
- logRuntimeEvent(this._logger, this._context, this._environment, "error", "Runtime bootstrap failed.", { error: bootstrapError });
107
+ this.log("error", "Runtime bootstrap failed.", {
108
+ error: bootstrapError,
109
+ failedPhase,
110
+ durationMs: result.durationMs,
111
+ });
89
112
  throw bootstrapError;
90
113
  }
91
114
  finally {
92
115
  this._running = false;
93
116
  }
94
117
  }
95
- resolveOptions(options) {
96
- return {
97
- loadModules: options.loadModules ?? this._runtimeOptions.startup.autoLoadModules,
98
- initializeModules: options.initializeModules ??
99
- this._runtimeOptions.startup.autoInitializeModules,
100
- startModules: options.startModules ?? this._runtimeOptions.startup.autoStartModules,
101
- continueOnInitializeError: options.continueOnInitializeError ??
102
- this._runtimeOptions.startup.continueOnInitializeError,
103
- continueOnStartError: options.continueOnStartError ??
104
- this._runtimeOptions.startup.continueOnStartError,
105
- timeoutMs: options.timeoutMs ?? this._runtimeOptions.startup.timeoutMs,
106
- };
107
- }
108
118
  getLastResult() {
109
119
  return this._lastResult;
110
120
  }
111
121
  reset() {
112
122
  if (this._running) {
113
- throw new RuntimeBootstrapError("Cannot reset runtime bootstrap while it is running.", "BOOTSTRAP_RESET_WHILE_RUNNING");
123
+ throw new InvalidRuntimeStateError("Cannot reset runtime bootstrap while it is running.", this.errorContext({ state: this._phase }));
114
124
  }
115
125
  this._phase = "created";
116
126
  this._lastResult = undefined;
117
127
  }
128
+ resolveOptions(options) {
129
+ const startup = this._runtimeOptions.startup;
130
+ return {
131
+ loadModules: options.loadModules ?? startup.autoLoadModules,
132
+ initializeModules: options.initializeModules ?? startup.autoInitializeModules,
133
+ startModules: options.startModules ?? startup.autoStartModules,
134
+ continueOnInitializeError: options.continueOnInitializeError ?? startup.continueOnInitializeError,
135
+ continueOnStartError: options.continueOnStartError ?? startup.continueOnStartError,
136
+ timeoutMs: options.timeoutMs ?? startup.timeoutMs,
137
+ };
138
+ }
139
+ errorContext(extra) {
140
+ return {
141
+ ...extra,
142
+ runtimeId: this._identity.id,
143
+ runtimeName: this._identity.name,
144
+ };
145
+ }
118
146
  log(level, message, metadata) {
119
- logRuntimeEvent(this._logger, this._context, this._environment, level, message, metadata);
147
+ logRuntimeEvent(this._logger, this._identity, this._environment, level, message, metadata);
120
148
  }
121
149
  }
122
150
  //# sourceMappingURL=runtimeBootstrap.core.js.map
@@ -1,17 +1,16 @@
1
1
  import type { Logger } from "../../logging/core/logger.js";
2
- import type { ApplicationContext } from "../../application/applicationContext.context.js";
3
2
  import type { ModuleLoader } from "../../modules/moduleLoader/index.js";
4
3
  import type { ModuleLifecycleManager } from "../../modules/moduleLifecycle/index.js";
5
4
  import type { ModuleRegistry } from "../../modules/moduleRegistry/index.js";
6
- import type { RuntimeContext } from "../runtimeContext/index.js";
5
+ import type { RuntimeIdentity } from "../runtimeContext/index.js";
7
6
  import type { RuntimeEnvironment } from "../runtimeEnvironment/index.js";
8
7
  /**
9
8
  * Dependencies required by RuntimeBootstrap.
10
9
  */
11
10
  export interface RuntimeBootstrapDependencies {
12
- readonly context: RuntimeContext;
11
+ /** Identity attached to errors and log entries. */
12
+ readonly identity: RuntimeIdentity;
13
13
  readonly environment: RuntimeEnvironment;
14
- readonly application: ApplicationContext;
15
14
  readonly moduleLoader: ModuleLoader;
16
15
  readonly moduleRegistry: ModuleRegistry;
17
16
  readonly moduleLifecycle: ModuleLifecycleManager;
@@ -34,6 +33,9 @@ export interface RuntimeBootstrapOptions {
34
33
  export type RuntimeBootstrapPhase = "created" | "loading" | "loaded" | "initializing" | "initialized" | "starting" | "started" | "completed" | "failed";
35
34
  /**
36
35
  * Represents an error produced by a bootstrap phase.
36
+ *
37
+ * Module-level failures carry the failing module id in `moduleName`;
38
+ * pipeline-level failures (timeouts, loader errors) do not.
37
39
  */
38
40
  export interface RuntimeBootstrapErrorInfo {
39
41
  readonly phase: RuntimeBootstrapPhase;
@@ -42,6 +44,10 @@ export interface RuntimeBootstrapErrorInfo {
42
44
  }
43
45
  /**
44
46
  * Result of a bootstrap operation.
47
+ *
48
+ * `success` is true only when no error was recorded. A bootstrap that
49
+ * continued past module failures (continueOn*Error) resolves with
50
+ * `success: false` and the failures listed in `errors`.
45
51
  */
46
52
  export interface RuntimeBootstrapResult {
47
53
  readonly success: boolean;
@@ -1,10 +1,8 @@
1
1
  /**
2
2
  * Runtime Context
3
3
  *
4
- * Provides read-only access to the runtime environment and
5
- * runtime-owned infrastructure.
4
+ * The runtime's identity and its immutable ExecutionContext.
6
5
  */
7
- export { DefaultRuntimeContext } from "./runtimeContext.core.js";
8
- export { createRuntimeId, createRuntimeIdentity, createRuntimeContext, } from "./runtimeContext.factory.js";
9
- export type { RuntimeIdentity, RuntimeTiming, RuntimeContextDependencies, RuntimeContext, RuntimeContextState, } from "./runtimeContext.type.js";
6
+ export { createRuntimeId, createRuntimeIdentity, createRuntimeExecutionContext, createRuntimeContext, } from "./runtimeContext.factory.js";
7
+ export type { RuntimeIdentity, RuntimeExecutionMetadata, RuntimeExecutionContext, RuntimeContext, } from "./runtimeContext.type.js";
10
8
  //# sourceMappingURL=index.d.ts.map
@@ -1,9 +1,7 @@
1
1
  /**
2
2
  * Runtime Context
3
3
  *
4
- * Provides read-only access to the runtime environment and
5
- * runtime-owned infrastructure.
4
+ * The runtime's identity and its immutable ExecutionContext.
6
5
  */
7
- export { DefaultRuntimeContext } from "./runtimeContext.core.js";
8
- export { createRuntimeId, createRuntimeIdentity, createRuntimeContext, } from "./runtimeContext.factory.js";
6
+ export { createRuntimeId, createRuntimeIdentity, createRuntimeExecutionContext, createRuntimeContext, } from "./runtimeContext.factory.js";
9
7
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,5 @@
1
1
  import type { RuntimeMode, RuntimeRole } from "../runtimeOptions/index.js";
2
- import type { RuntimeIdentity, RuntimeContextDependencies } from "./runtimeContext.type.js";
3
- import { DefaultRuntimeContext } from "./runtimeContext.core.js";
2
+ import type { RuntimeExecutionContext, RuntimeIdentity } from "./runtimeContext.type.js";
4
3
  /**
5
4
  * Creates a unique runtime identifier.
6
5
  */
@@ -16,7 +15,14 @@ export declare function createRuntimeIdentity(options: {
16
15
  readonly processId?: number;
17
16
  }): RuntimeIdentity;
18
17
  /**
19
- * Creates a RuntimeContext.
18
+ * Creates the execution context of a runtime from its identity.
19
+ *
20
+ * `metadata` (typically `RuntimeOptions.metadata`) is merged under
21
+ * the identity fields, which always win.
20
22
  */
21
- export declare function createRuntimeContext(identity: RuntimeIdentity, dependencies: RuntimeContextDependencies, metadata?: Readonly<Record<string, unknown>>): DefaultRuntimeContext;
23
+ export declare function createRuntimeExecutionContext(identity: RuntimeIdentity, metadata?: Readonly<Record<string, unknown>>): RuntimeExecutionContext;
24
+ /**
25
+ * @deprecated Use createRuntimeExecutionContext.
26
+ */
27
+ export declare const createRuntimeContext: typeof createRuntimeExecutionContext;
22
28
  //# sourceMappingURL=runtimeContext.factory.d.ts.map
@@ -1,17 +1,16 @@
1
- import { DefaultRuntimeContext } from "./runtimeContext.core.js";
1
+ import { randomUUID } from "node:crypto";
2
+ import { createExecutionContext } from "../../context/core/executionContext.context.js";
2
3
  /**
3
4
  * Creates a unique runtime identifier.
4
5
  */
5
6
  export function createRuntimeId(name) {
6
- const timestamp = Date.now().toString(36);
7
- const random = Math.random().toString(36).slice(2, 10);
8
7
  const normalizedName = name
9
8
  .slice(0, 100)
10
9
  .trim()
11
10
  .toLowerCase()
12
11
  .replace(/[^a-z0-9]+/g, "-")
13
12
  .replace(/^-+|-+$/g, "");
14
- return [normalizedName || "runtime", timestamp, random].join("-");
13
+ return `${normalizedName || "runtime"}-${randomUUID()}`;
15
14
  }
16
15
  /**
17
16
  * Creates a RuntimeIdentity.
@@ -28,11 +27,35 @@ export function createRuntimeIdentity(options) {
28
27
  });
29
28
  }
30
29
  /**
31
- * Creates a RuntimeContext.
30
+ * Creates the execution context of a runtime from its identity.
31
+ *
32
+ * `metadata` (typically `RuntimeOptions.metadata`) is merged under
33
+ * the identity fields, which always win.
32
34
  */
33
- export function createRuntimeContext(identity, dependencies, metadata = {}) {
34
- return new DefaultRuntimeContext(identity, dependencies, metadata);
35
+ export function createRuntimeExecutionContext(identity, metadata = {}) {
36
+ const runtimeMetadata = {
37
+ ...metadata,
38
+ runtimeId: identity.id,
39
+ runtimeName: identity.name,
40
+ runtimeMode: identity.mode,
41
+ runtimeRole: identity.role,
42
+ ...(identity.processId !== undefined
43
+ ? { processId: identity.processId }
44
+ : {}),
45
+ };
46
+ return createExecutionContext({
47
+ executionId: identity.id,
48
+ service: identity.name,
49
+ transport: "runtime",
50
+ operation: "runtime",
51
+ startedAt: identity.createdAt,
52
+ metadata: runtimeMetadata,
53
+ });
35
54
  }
55
+ /**
56
+ * @deprecated Use createRuntimeExecutionContext.
57
+ */
58
+ export const createRuntimeContext = createRuntimeExecutionContext;
36
59
  /**
37
60
  * Attempts to retrieve the current process ID.
38
61
  */