@zudojs/core 0.1.0 → 1.1.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 +27 -1
  6. package/dist/application/applicationContext.context.js +22 -2
  7. package/dist/application/createApplication.d.ts +78 -0
  8. package/dist/application/createApplication.js +109 -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 +42 -0
  12. package/dist/configuration/configurationManager.manager.js +104 -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 +51 -5
  42. package/dist/container/container.js +104 -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 +125 -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 +73 -10
  117. package/dist/modules/moduleLifecycle/moduleLifecycle.lifecycle.js +204 -19
  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 +78 -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 +168 -59
  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 +111 -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 +13 -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 +85 -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 +25 -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
@@ -16,8 +16,13 @@ export interface LoggerFactoryOptions extends LoggerOptions {
16
16
  * Logger implementation to use.
17
17
  *
18
18
  * Defaults to "console".
19
+ *
20
+ * The type is deliberately widened to accept arbitrary
21
+ * strings because this value frequently arrives from
22
+ * configuration files; unknown implementations fail with a
23
+ * descriptive error at creation time.
19
24
  */
20
- readonly implementation?: LoggerImplementation;
25
+ readonly implementation?: LoggerImplementation | (string & {});
21
26
  }
22
27
  /**
23
28
  * Creates and configures Zudojs logger instances.
@@ -37,9 +42,5 @@ export declare class LoggerFactory {
37
42
  * module-specific or operation-specific context.
38
43
  */
39
44
  child(logger: Logger, context: LoggerContext): Logger;
40
- /**
41
- * Handles unsupported logger implementations.
42
- */
43
- private unsupportedImplementation;
44
45
  }
45
46
  //# sourceMappingURL=loggerFactory.factory.d.ts.map
@@ -15,7 +15,7 @@ export class LoggerFactory {
15
15
  case "console":
16
16
  return new ConsoleLogger(options, context);
17
17
  default:
18
- return this.unsupportedImplementation(implementation);
18
+ throw new Error(`Unsupported logger implementation: ${String(implementation)}`);
19
19
  }
20
20
  }
21
21
  /**
@@ -27,11 +27,5 @@ export class LoggerFactory {
27
27
  child(logger, context) {
28
28
  return logger.child(context);
29
29
  }
30
- /**
31
- * Handles unsupported logger implementations.
32
- */
33
- unsupportedImplementation(implementation) {
34
- throw new Error(`Unsupported logger implementation: ${String(implementation)}`);
35
- }
36
30
  }
37
31
  //# sourceMappingURL=loggerFactory.factory.js.map
@@ -4,8 +4,9 @@
4
4
  * Core logger types, levels, entries, context, and options.
5
5
  */
6
6
  export { BaseLogger, type Logger, type LogContext } from "./logger.js";
7
- export { LogLevel, LogLevelPriority, shouldLog, type LogLevel as LogLevelType, } from "./logLevel.level.js";
8
- export { createLoggerContext, type LoggerContext, } from "./loggerContext.context.js";
9
- export { serializeLogError, type LogEntry, type LogError, } from "./logEntry.entry.js";
7
+ export { LogLevel, LogLevelPriority, DEFAULT_LOG_LEVEL, shouldLog, isLogLevel, resolveLogLevel, type LogLevel as LogLevelType, } from "./logLevel.level.js";
8
+ export { createLoggerContext, loggerContextFromExecution, type LoggerContext, } from "./loggerContext.context.js";
9
+ export { serializeLogError, sanitizeLogValue, safeLogStringify, type LogEntry, type LogError, type LogErrorSerializationOptions, } from "./logEntry.entry.js";
10
+ export { createLogRedactor, type LogRedactionHook, type LogRedactorOptions, } from "./logRedaction.redaction.js";
10
11
  export { DEFAULT_LOGGER_OPTIONS, type LoggerOptions, type LogLevelOption, } from "./loggerOptions.options.js";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -4,8 +4,9 @@
4
4
  * Core logger types, levels, entries, context, and options.
5
5
  */
6
6
  export { BaseLogger } from "./logger.js";
7
- export { LogLevel, LogLevelPriority, shouldLog, } from "./logLevel.level.js";
8
- export { createLoggerContext, } from "./loggerContext.context.js";
9
- export { serializeLogError, } from "./logEntry.entry.js";
7
+ export { LogLevel, LogLevelPriority, DEFAULT_LOG_LEVEL, shouldLog, isLogLevel, resolveLogLevel, } from "./logLevel.level.js";
8
+ export { createLoggerContext, loggerContextFromExecution, } from "./loggerContext.context.js";
9
+ export { serializeLogError, sanitizeLogValue, safeLogStringify, } from "./logEntry.entry.js";
10
+ export { createLogRedactor, } from "./logRedaction.redaction.js";
10
11
  export { DEFAULT_LOGGER_OPTIONS, } from "./loggerOptions.options.js";
11
12
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,6 @@
1
1
  import type { LogLevel } from "./logLevel.level.js";
2
2
  import type { LoggerContext } from "./loggerContext.context.js";
3
+ import type { LogContext } from "./logger.js";
3
4
  /**
4
5
  * Represents a single structured log entry.
5
6
  *
@@ -21,9 +22,12 @@ export interface LogEntry {
21
22
  */
22
23
  readonly timestamp: Date;
23
24
  /**
24
- * Structured framework context.
25
+ * Structured context attached to the entry.
26
+ *
27
+ * Either well-known framework context fields (LoggerContext)
28
+ * or arbitrary structured metadata supplied by the caller.
25
29
  */
26
- readonly context?: LoggerContext;
30
+ readonly context?: LoggerContext | LogContext;
27
31
  /**
28
32
  * Error associated with the log event.
29
33
  */
@@ -58,6 +62,16 @@ export interface LogError {
58
62
  */
59
63
  readonly cause?: unknown;
60
64
  }
65
+ /**
66
+ * Options controlling error serialization.
67
+ */
68
+ export interface LogErrorSerializationOptions {
69
+ /**
70
+ * Redaction hook applied to the sanitized details of every
71
+ * error in the cause chain.
72
+ */
73
+ readonly redact?: (value: unknown) => unknown;
74
+ }
61
75
  /**
62
76
  * Creates a structured LogError from an unknown thrown value.
63
77
  *
@@ -68,6 +82,30 @@ export interface LogError {
68
82
  * Strings
69
83
  * Objects
70
84
  * Unknown thrown values
85
+ *
86
+ * Nested causes are serialized recursively up to a bounded
87
+ * depth, and details pass through the safe sanitizer (and the
88
+ * optional redaction hook) so circular references and BigInt
89
+ * values cannot crash logging and secrets do not leak.
90
+ */
91
+ export declare function serializeLogError(error: unknown, options?: LogErrorSerializationOptions): LogError;
92
+ /**
93
+ * Converts an arbitrary value into a JSON-safe structure.
94
+ *
95
+ * Handles the cases that break JSON.stringify:
96
+ *
97
+ * circular references → "[Circular]"
98
+ * BigInt → decimal string
99
+ * throwing toJSON → "[Unserializable]"
100
+ * functions → "[Function name]"
101
+ * symbols → their string description
102
+ */
103
+ export declare function sanitizeLogValue(value: unknown, seen?: WeakSet<object>, depth?: number): unknown;
104
+ /**
105
+ * Safely serializes an arbitrary value to a JSON string.
106
+ *
107
+ * Never throws: values that resist serialization degrade to
108
+ * placeholder strings.
71
109
  */
72
- export declare function serializeLogError(error: unknown): LogError;
110
+ export declare function safeLogStringify(value: unknown): string;
73
111
  //# sourceMappingURL=logEntry.entry.d.ts.map
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Maximum depth to which nested error causes are serialized.
3
+ */
4
+ const MAX_ERROR_CAUSE_DEPTH = 5;
1
5
  /**
2
6
  * Creates a structured LogError from an unknown thrown value.
3
7
  *
@@ -8,8 +12,20 @@
8
12
  * Strings
9
13
  * Objects
10
14
  * Unknown thrown values
15
+ *
16
+ * Nested causes are serialized recursively up to a bounded
17
+ * depth, and details pass through the safe sanitizer (and the
18
+ * optional redaction hook) so circular references and BigInt
19
+ * values cannot crash logging and secrets do not leak.
11
20
  */
12
- export function serializeLogError(error) {
21
+ export function serializeLogError(error, options = {}) {
22
+ return serializeLogErrorAtDepth(error, options, 0);
23
+ }
24
+ function serializeDetails(value, options) {
25
+ const sanitized = sanitizeLogValue(value);
26
+ return options.redact ? options.redact(sanitized) : sanitized;
27
+ }
28
+ function serializeLogErrorAtDepth(error, options, depth) {
13
29
  if (error instanceof Error) {
14
30
  const candidate = error;
15
31
  return {
@@ -17,8 +33,14 @@ export function serializeLogError(error) {
17
33
  message: candidate.message,
18
34
  stack: candidate.stack,
19
35
  code: candidate.code,
20
- details: candidate.details,
21
- cause: candidate.cause,
36
+ details: candidate.details !== undefined
37
+ ? serializeDetails(candidate.details, options)
38
+ : undefined,
39
+ cause: candidate.cause !== undefined
40
+ ? depth < MAX_ERROR_CAUSE_DEPTH
41
+ ? serializeLogErrorAtDepth(candidate.cause, options, depth + 1)
42
+ : "[MaxDepth]"
43
+ : undefined,
22
44
  };
23
45
  }
24
46
  if (typeof error === "string") {
@@ -28,11 +50,110 @@ export function serializeLogError(error) {
28
50
  }
29
51
  if (error !== null && typeof error === "object") {
30
52
  return {
31
- details: error,
53
+ details: serializeDetails(error, options),
32
54
  };
33
55
  }
34
56
  return {
35
57
  message: String(error),
36
58
  };
37
59
  }
60
+ /**
61
+ * Maximum depth to which arbitrary values are sanitized.
62
+ */
63
+ const MAX_SANITIZE_DEPTH = 16;
64
+ /**
65
+ * Converts an arbitrary value into a JSON-safe structure.
66
+ *
67
+ * Handles the cases that break JSON.stringify:
68
+ *
69
+ * circular references → "[Circular]"
70
+ * BigInt → decimal string
71
+ * throwing toJSON → "[Unserializable]"
72
+ * functions → "[Function name]"
73
+ * symbols → their string description
74
+ */
75
+ export function sanitizeLogValue(value, seen = new WeakSet(), depth = 0) {
76
+ if (value === null || value === undefined)
77
+ return value;
78
+ const type = typeof value;
79
+ if (type === "bigint")
80
+ return value.toString();
81
+ if (type === "function")
82
+ return `[Function ${value.name || "anonymous"}]`;
83
+ if (type === "symbol")
84
+ return String(value);
85
+ if (type !== "object")
86
+ return value;
87
+ const objectValue = value;
88
+ if (seen.has(objectValue))
89
+ return "[Circular]";
90
+ if (depth >= MAX_SANITIZE_DEPTH)
91
+ return "[MaxDepth]";
92
+ if (objectValue instanceof Date)
93
+ return objectValue.toISOString();
94
+ if (objectValue instanceof Error)
95
+ return serializeLogErrorAtDepth(objectValue, {}, MAX_ERROR_CAUSE_DEPTH);
96
+ seen.add(objectValue);
97
+ try {
98
+ const withToJson = objectValue;
99
+ if (typeof withToJson.toJSON === "function") {
100
+ let converted;
101
+ try {
102
+ converted = withToJson.toJSON();
103
+ }
104
+ catch {
105
+ return "[Unserializable]";
106
+ }
107
+ if (converted !== objectValue) {
108
+ return sanitizeLogValue(converted, seen, depth + 1);
109
+ }
110
+ }
111
+ if (Array.isArray(objectValue)) {
112
+ return objectValue.map((item) => sanitizeLogValue(item, seen, depth + 1));
113
+ }
114
+ if (objectValue instanceof Map) {
115
+ const result = {};
116
+ for (const [key, item] of objectValue.entries()) {
117
+ result[String(key)] = sanitizeLogValue(item, seen, depth + 1);
118
+ }
119
+ return result;
120
+ }
121
+ if (objectValue instanceof Set) {
122
+ return [...objectValue].map((item) => sanitizeLogValue(item, seen, depth + 1));
123
+ }
124
+ const result = {};
125
+ for (const [key, item] of Object.entries(objectValue)) {
126
+ /*
127
+ * Assigning result["__proto__"] would replace the prototype
128
+ * (and drop the value from serialized output) instead of
129
+ * storing the key, so own "__proto__" keys — as produced by
130
+ * JSON.parse on untrusted input — are defined explicitly.
131
+ */
132
+ Object.defineProperty(result, key, {
133
+ value: sanitizeLogValue(item, seen, depth + 1),
134
+ enumerable: true,
135
+ writable: true,
136
+ configurable: true,
137
+ });
138
+ }
139
+ return result;
140
+ }
141
+ finally {
142
+ seen.delete(objectValue);
143
+ }
144
+ }
145
+ /**
146
+ * Safely serializes an arbitrary value to a JSON string.
147
+ *
148
+ * Never throws: values that resist serialization degrade to
149
+ * placeholder strings.
150
+ */
151
+ export function safeLogStringify(value) {
152
+ try {
153
+ return JSON.stringify(sanitizeLogValue(value));
154
+ }
155
+ catch {
156
+ return '"[Unserializable]"';
157
+ }
158
+ }
38
159
  //# sourceMappingURL=logEntry.entry.js.map
@@ -21,9 +21,27 @@ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
21
21
  * Higher values represent more severe events.
22
22
  */
23
23
  export declare const LogLevelPriority: Record<LogLevel, number>;
24
+ /**
25
+ * The level used when a configured level is unknown.
26
+ */
27
+ export declare const DEFAULT_LOG_LEVEL: LogLevel;
28
+ /**
29
+ * Checks whether a value is a known log level.
30
+ */
31
+ export declare function isLogLevel(value: unknown): value is LogLevel;
32
+ /**
33
+ * Resolves an arbitrary value to a known log level.
34
+ *
35
+ * Unknown values fall back to "info" so a configuration typo
36
+ * can never silently disable all logging.
37
+ */
38
+ export declare function resolveLogLevel(value: unknown): LogLevel;
24
39
  /**
25
40
  * Determines whether a log level should be emitted when
26
41
  * the configured minimum level is applied.
42
+ *
43
+ * Unknown minimum levels are treated as "info" instead of
44
+ * silently disabling all logging.
27
45
  */
28
46
  export declare function shouldLog(level: LogLevel, minimumLevel: LogLevel): boolean;
29
47
  //# sourceMappingURL=logLevel.level.d.ts.map
@@ -24,11 +24,35 @@ export const LogLevelPriority = {
24
24
  error: 50,
25
25
  fatal: 60,
26
26
  };
27
+ /**
28
+ * The level used when a configured level is unknown.
29
+ */
30
+ export const DEFAULT_LOG_LEVEL = LogLevel.INFO;
31
+ /**
32
+ * Checks whether a value is a known log level.
33
+ */
34
+ export function isLogLevel(value) {
35
+ return typeof value === "string" && Object.hasOwn(LogLevelPriority, value);
36
+ }
37
+ /**
38
+ * Resolves an arbitrary value to a known log level.
39
+ *
40
+ * Unknown values fall back to "info" so a configuration typo
41
+ * can never silently disable all logging.
42
+ */
43
+ export function resolveLogLevel(value) {
44
+ return isLogLevel(value) ? value : DEFAULT_LOG_LEVEL;
45
+ }
27
46
  /**
28
47
  * Determines whether a log level should be emitted when
29
48
  * the configured minimum level is applied.
49
+ *
50
+ * Unknown minimum levels are treated as "info" instead of
51
+ * silently disabling all logging.
30
52
  */
31
53
  export function shouldLog(level, minimumLevel) {
32
- return LogLevelPriority[level] >= LogLevelPriority[minimumLevel];
54
+ const levelPriority = LogLevelPriority[level] ?? LogLevelPriority[DEFAULT_LOG_LEVEL];
55
+ const minimumPriority = LogLevelPriority[minimumLevel] ?? LogLevelPriority[DEFAULT_LOG_LEVEL];
56
+ return levelPriority >= minimumPriority;
33
57
  }
34
58
  //# sourceMappingURL=logLevel.level.js.map
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Hook applied to structured log data before it is written.
3
+ *
4
+ * The hook receives already-sanitized (JSON-safe) values: the
5
+ * merged context object of an entry, and the details of each
6
+ * serialized error in an error's cause chain. It returns the
7
+ * value to emit instead.
8
+ */
9
+ export type LogRedactionHook = (value: unknown) => unknown;
10
+ /**
11
+ * Options for the built-in key-based log redactor.
12
+ */
13
+ export interface LogRedactorOptions {
14
+ /**
15
+ * Additional key patterns treated as sensitive, on top of the
16
+ * framework defaults (password, secret, token, api key, ...).
17
+ */
18
+ readonly patterns?: readonly string[];
19
+ /**
20
+ * Exact dot-paths (relative to the redacted value) treated as
21
+ * sensitive.
22
+ */
23
+ readonly paths?: readonly string[];
24
+ /**
25
+ * Replacement value. Defaults to "[REDACTED]".
26
+ */
27
+ readonly replacement?: string;
28
+ }
29
+ /**
30
+ * Creates a redaction hook that replaces values stored under
31
+ * sensitive-looking keys.
32
+ *
33
+ * Key matching is word-boundary aware (shared with the
34
+ * configuration redactor): "apiToken" and "db.password" are
35
+ * redacted, "tokenizer" is not.
36
+ */
37
+ export declare function createLogRedactor(options?: LogRedactorOptions): LogRedactionHook;
38
+ //# sourceMappingURL=logRedaction.redaction.d.ts.map
@@ -0,0 +1,19 @@
1
+ import { ConfigurationRedactor } from "../../configuration/error/configurationRedactor.redactor.js";
2
+ import { sanitizeLogValue } from "./logEntry.entry.js";
3
+ /**
4
+ * Creates a redaction hook that replaces values stored under
5
+ * sensitive-looking keys.
6
+ *
7
+ * Key matching is word-boundary aware (shared with the
8
+ * configuration redactor): "apiToken" and "db.password" are
9
+ * redacted, "tokenizer" is not.
10
+ */
11
+ export function createLogRedactor(options = {}) {
12
+ const redactor = new ConfigurationRedactor({
13
+ sensitivePatterns: options.patterns,
14
+ sensitivePaths: options.paths,
15
+ redactionValue: options.replacement,
16
+ });
17
+ return (value) => redactor.redactObject(sanitizeLogValue(value));
18
+ }
19
+ //# sourceMappingURL=logRedaction.redaction.js.map
@@ -1,18 +1,8 @@
1
- export type LogLevel = "trace" | "debug" | "info" | "warn" | "error" | "fatal";
1
+ import type { LogLevel } from "./logLevel.level.js";
2
2
  /**
3
3
  * Structured metadata attached to a log entry.
4
4
  */
5
5
  export type LogContext = Record<string, unknown>;
6
- /**
7
- * A structured log entry.
8
- */
9
- export interface LogEntry {
10
- readonly level: LogLevel;
11
- readonly message: string;
12
- readonly context?: LogContext;
13
- readonly timestamp: Date;
14
- readonly error?: unknown;
15
- }
16
6
  /**
17
7
  * Logger contract used throughout Zudojs.
18
8
  *
@@ -59,6 +49,19 @@ export interface Logger {
59
49
  export declare abstract class BaseLogger implements Logger {
60
50
  private readonly persistentContext;
61
51
  protected constructor(context?: LogContext);
52
+ /**
53
+ * Merges the persistent (constructor/child) context under the
54
+ * per-call context. Per-call values win on key conflicts.
55
+ *
56
+ * Returns undefined only when there is no context at all, so
57
+ * implementations can keep omitting empty context objects.
58
+ */
59
+ protected mergeCallContext(context?: LogContext): LogContext | undefined;
60
+ /**
61
+ * Returns a copy of the persistent context attached to this
62
+ * logger.
63
+ */
64
+ protected getPersistentContext(): LogContext;
62
65
  trace(message: string, context?: LogContext): void;
63
66
  debug(message: string, context?: LogContext): void;
64
67
  info(message: string, context?: LogContext): void;
@@ -11,23 +11,48 @@ export class BaseLogger {
11
11
  ...context,
12
12
  };
13
13
  }
14
+ /**
15
+ * Merges the persistent (constructor/child) context under the
16
+ * per-call context. Per-call values win on key conflicts.
17
+ *
18
+ * Returns undefined only when there is no context at all, so
19
+ * implementations can keep omitting empty context objects.
20
+ */
21
+ mergeCallContext(context) {
22
+ const hasPersistent = Object.keys(this.persistentContext).length > 0;
23
+ if (!hasPersistent)
24
+ return context;
25
+ if (context === undefined)
26
+ return { ...this.persistentContext };
27
+ return {
28
+ ...this.persistentContext,
29
+ ...context,
30
+ };
31
+ }
32
+ /**
33
+ * Returns a copy of the persistent context attached to this
34
+ * logger.
35
+ */
36
+ getPersistentContext() {
37
+ return { ...this.persistentContext };
38
+ }
14
39
  trace(message, context) {
15
- this.write("trace", message, context);
40
+ this.write("trace", message, this.mergeCallContext(context));
16
41
  }
17
42
  debug(message, context) {
18
- this.write("debug", message, context);
43
+ this.write("debug", message, this.mergeCallContext(context));
19
44
  }
20
45
  info(message, context) {
21
- this.write("info", message, context);
46
+ this.write("info", message, this.mergeCallContext(context));
22
47
  }
23
48
  warn(message, context) {
24
- this.write("warn", message, context);
49
+ this.write("warn", message, this.mergeCallContext(context));
25
50
  }
26
51
  error(message, error, context) {
27
- this.write("error", message, context, error);
52
+ this.write("error", message, this.mergeCallContext(context), error);
28
53
  }
29
54
  fatal(message, error, context) {
30
- this.write("fatal", message, context, error);
55
+ this.write("fatal", message, this.mergeCallContext(context), error);
31
56
  }
32
57
  child(context) {
33
58
  return this.createChild({
@@ -1,3 +1,4 @@
1
+ import type { ExecutionContext } from "../../context/core/executionContext.context.js";
1
2
  /**
2
3
  * Standard context fields that Zudojs can attach to log entries.
3
4
  *
@@ -17,6 +18,10 @@ export interface LoggerContext {
17
18
  * Unique identifier for the current execution.
18
19
  */
19
20
  readonly executionId?: string;
21
+ /**
22
+ * Identifier of the runtime the execution belongs to.
23
+ */
24
+ readonly runtimeId?: string;
20
25
  /**
21
26
  * Correlation identifier used to connect related operations.
22
27
  */
@@ -54,6 +59,13 @@ export interface LoggerContext {
54
59
  */
55
60
  readonly metadata?: Record<string, unknown>;
56
61
  }
62
+ /**
63
+ * Extracts the LoggerContext fields carried by an execution context.
64
+ *
65
+ * Only defined values are returned, so merging the result never
66
+ * overwrites explicit context with `undefined`.
67
+ */
68
+ export declare function loggerContextFromExecution(context: ExecutionContext): LoggerContext;
57
69
  /**
58
70
  * Creates a new logger context by merging existing context
59
71
  * with additional values.
@@ -1,3 +1,22 @@
1
+ /**
2
+ * Extracts the LoggerContext fields carried by an execution context.
3
+ *
4
+ * Only defined values are returned, so merging the result never
5
+ * overwrites explicit context with `undefined`.
6
+ */
7
+ export function loggerContextFromExecution(context) {
8
+ const fields = { executionId: context.executionId };
9
+ if (context.correlationId !== undefined)
10
+ fields.correlationId = context.correlationId;
11
+ if (context.traceId !== undefined)
12
+ fields.traceId = context.traceId;
13
+ if (context.spanId !== undefined)
14
+ fields.spanId = context.spanId;
15
+ const runtimeId = context.metadata.runtimeId;
16
+ if (typeof runtimeId === "string")
17
+ fields.runtimeId = runtimeId;
18
+ return fields;
19
+ }
1
20
  /**
2
21
  * Creates a new logger context by merging existing context
3
22
  * with additional values.
@@ -1,3 +1,5 @@
1
+ import type { LogRedactionHook } from "./logRedaction.redaction.js";
2
+ import type { ContextStorage } from "../../context/provider/contextStorage.storage.js";
1
3
  /**
2
4
  * Configuration options for the Zudojs logging system.
3
5
  *
@@ -54,6 +56,21 @@ export interface LoggerOptions {
54
56
  * Additional default context attached to every log entry.
55
57
  */
56
58
  readonly context?: Record<string, unknown>;
59
+ /**
60
+ * Redaction hook applied to structured log data (entry context
61
+ * and error details) before it is written.
62
+ *
63
+ * See createLogRedactor for a key-based implementation.
64
+ */
65
+ readonly redact?: LogRedactionHook;
66
+ /**
67
+ * ContextStorage consulted on every write. When an execution
68
+ * context is active, its `executionId`, `correlationId`,
69
+ * `traceId`, `spanId`, and `metadata.runtimeId` are merged into
70
+ * the entry context beneath the logger's persistent and per-call
71
+ * context (explicit values win). Child loggers inherit it.
72
+ */
73
+ readonly contextStorage?: ContextStorage;
57
74
  }
58
75
  /**
59
76
  * Logging levels accepted by LoggerOptions.
@@ -7,7 +7,6 @@
7
7
  * Module implementation logic belongs in the individual
8
8
  * module files.
9
9
  */
10
- export {} from "./module.js";
11
10
  export { type ModuleId, type ModuleOptions, type ModuleLifecycle, type Module, BaseModule, isModule, createModule, } from "./module.js";
12
11
  export * from "./moduleDefinition.definition.js";
13
12
  export * from "./moduleMetadata.metadata.js";
@@ -10,12 +10,6 @@
10
10
  /*
11
11
  * Module contract
12
12
  */
13
- export {} from // Export everything publicly exposed by module.ts.
14
-
15
- //
16
- // Using `export *` here keeps the barrel synchronized
17
- // with the module contract as it evolves.
18
- "./module.js";
19
13
  export { BaseModule, isModule, createModule, } from "./module.js";
20
14
  /*
21
15
  * Module definition
@@ -12,7 +12,13 @@ export type ModuleOptions = Readonly<Record<string, unknown>>;
12
12
  /**
13
13
  * Lifecycle hooks supported by a module.
14
14
  *
15
- * Modules can implement only the hooks they need.
15
+ * Modules can implement only the hooks they need. These are the
16
+ * only hook names the lifecycle engine invokes:
17
+ *
18
+ * initialize step → onInitialize
19
+ * start step → onReady
20
+ * stop step → onShutdown
21
+ * destroy step → onDestroy
16
22
  */
17
23
  export interface ModuleLifecycle {
18
24
  /**