@vibesdotdev/logging 0.0.2 → 1.0.0-rc.4

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 (699) hide show
  1. package/LICENSE +18 -0
  2. package/README.md +101 -8
  3. package/dist/audit/audit-retention.job.descriptor.d.ts +60 -0
  4. package/dist/audit/audit-retention.job.descriptor.d.ts.map +1 -0
  5. package/dist/audit/audit-retention.job.descriptor.js +42 -0
  6. package/dist/audit/audit-retention.job.descriptor.js.map +1 -0
  7. package/dist/audit/audit-retention.job.impl.d.ts +23 -0
  8. package/dist/audit/audit-retention.job.impl.d.ts.map +1 -0
  9. package/dist/audit/audit-retention.job.impl.js +24 -0
  10. package/dist/audit/audit-retention.job.impl.js.map +1 -0
  11. package/dist/audit/audit.descriptor.d.ts +6 -0
  12. package/dist/audit/audit.descriptor.d.ts.map +1 -1
  13. package/dist/audit/audit.descriptor.js +72 -5
  14. package/dist/audit/audit.descriptor.js.map +1 -1
  15. package/dist/audit/audit.storage.schema.d.ts +3 -3
  16. package/dist/audit/index.d.ts +3 -1
  17. package/dist/audit/index.d.ts.map +1 -1
  18. package/dist/audit/index.js +4 -1
  19. package/dist/audit/index.js.map +1 -1
  20. package/dist/audit/scheduled-audit-retention.d.ts +39 -0
  21. package/dist/audit/scheduled-audit-retention.d.ts.map +1 -0
  22. package/dist/audit/scheduled-audit-retention.js +38 -0
  23. package/dist/audit/scheduled-audit-retention.js.map +1 -0
  24. package/dist/browser/capture-error.d.ts +66 -0
  25. package/dist/browser/capture-error.d.ts.map +1 -0
  26. package/dist/browser/capture-error.js +82 -0
  27. package/dist/browser/capture-error.js.map +1 -0
  28. package/dist/browser/index.d.ts +11 -0
  29. package/dist/browser/index.d.ts.map +1 -0
  30. package/dist/browser/index.js +16 -0
  31. package/dist/browser/index.js.map +1 -0
  32. package/dist/browser/logging-browser.plugin.d.ts +9 -0
  33. package/dist/browser/logging-browser.plugin.d.ts.map +1 -0
  34. package/dist/browser/logging-browser.plugin.js +26 -0
  35. package/dist/browser/logging-browser.plugin.js.map +1 -0
  36. package/dist/browser/plugin.d.ts +2 -0
  37. package/dist/browser/plugin.d.ts.map +1 -0
  38. package/dist/browser/plugin.js +2 -0
  39. package/dist/browser/plugin.js.map +1 -0
  40. package/dist/browser/read-errors.d.ts +26 -0
  41. package/dist/browser/read-errors.d.ts.map +1 -0
  42. package/dist/browser/read-errors.js +38 -0
  43. package/dist/browser/read-errors.js.map +1 -0
  44. package/dist/browser/sinks/browser/browser.browser.descriptor.d.ts +10 -0
  45. package/dist/browser/sinks/browser/browser.browser.descriptor.d.ts.map +1 -0
  46. package/dist/browser/sinks/browser/browser.browser.descriptor.js +23 -0
  47. package/dist/browser/sinks/browser/browser.browser.descriptor.js.map +1 -0
  48. package/dist/browser/sinks/browser/browser.impl.browser.d.ts +83 -0
  49. package/dist/browser/sinks/browser/browser.impl.browser.d.ts.map +1 -0
  50. package/dist/browser/sinks/browser/browser.impl.browser.js +247 -0
  51. package/dist/browser/sinks/browser/browser.impl.browser.js.map +1 -0
  52. package/dist/cli/failures.d.ts +29 -0
  53. package/dist/cli/failures.d.ts.map +1 -0
  54. package/dist/cli/failures.js +44 -0
  55. package/dist/cli/failures.js.map +1 -0
  56. package/dist/cli/flags.d.ts +24 -0
  57. package/dist/cli/flags.d.ts.map +1 -0
  58. package/dist/cli/flags.js +56 -0
  59. package/dist/cli/flags.js.map +1 -0
  60. package/dist/cli/log-line.d.ts +23 -0
  61. package/dist/cli/log-line.d.ts.map +1 -0
  62. package/dist/cli/log-line.js +39 -0
  63. package/dist/cli/log-line.js.map +1 -0
  64. package/dist/cli/logging.logs.descriptor.d.ts +9 -0
  65. package/dist/cli/logging.logs.descriptor.d.ts.map +1 -0
  66. package/dist/cli/logging.logs.descriptor.js +16 -0
  67. package/dist/cli/logging.logs.descriptor.js.map +1 -0
  68. package/dist/cli/logs.audit.cleanup.descriptor.d.ts +7 -0
  69. package/dist/cli/logs.audit.cleanup.descriptor.d.ts.map +1 -0
  70. package/dist/cli/logs.audit.cleanup.descriptor.js +21 -0
  71. package/dist/cli/logs.audit.cleanup.descriptor.js.map +1 -0
  72. package/dist/cli/logs.audit.cleanup.impl.d.ts +14 -0
  73. package/dist/cli/logs.audit.cleanup.impl.d.ts.map +1 -0
  74. package/dist/cli/logs.audit.cleanup.impl.js +60 -0
  75. package/dist/cli/logs.audit.cleanup.impl.js.map +1 -0
  76. package/dist/cli/logs.audit.descriptor.d.ts +9 -0
  77. package/dist/cli/logs.audit.descriptor.d.ts.map +1 -0
  78. package/dist/cli/logs.audit.descriptor.js +41 -0
  79. package/dist/cli/logs.audit.descriptor.js.map +1 -0
  80. package/dist/cli/logs.audit.group.descriptor.d.ts +7 -0
  81. package/dist/cli/logs.audit.group.descriptor.d.ts.map +1 -0
  82. package/dist/cli/logs.audit.group.descriptor.js +15 -0
  83. package/dist/cli/logs.audit.group.descriptor.js.map +1 -0
  84. package/dist/cli/logs.audit.impl.d.ts +19 -0
  85. package/dist/cli/logs.audit.impl.d.ts.map +1 -0
  86. package/dist/cli/logs.audit.impl.js +83 -0
  87. package/dist/cli/logs.audit.impl.js.map +1 -0
  88. package/dist/cli/logs.descriptor.d.ts +1 -8
  89. package/dist/cli/logs.descriptor.d.ts.map +1 -1
  90. package/dist/cli/logs.descriptor.js +1 -15
  91. package/dist/cli/logs.descriptor.js.map +1 -1
  92. package/dist/cli/logs.list.impl.d.ts +4 -1
  93. package/dist/cli/logs.list.impl.d.ts.map +1 -1
  94. package/dist/cli/logs.list.impl.js +60 -63
  95. package/dist/cli/logs.list.impl.js.map +1 -1
  96. package/dist/cli/logs.rotate.descriptor.d.ts.map +1 -1
  97. package/dist/cli/logs.rotate.descriptor.js +7 -3
  98. package/dist/cli/logs.rotate.descriptor.js.map +1 -1
  99. package/dist/cli/logs.rotate.impl.d.ts +3 -1
  100. package/dist/cli/logs.rotate.impl.d.ts.map +1 -1
  101. package/dist/cli/logs.rotate.impl.js +72 -33
  102. package/dist/cli/logs.rotate.impl.js.map +1 -1
  103. package/dist/cli/logs.search.descriptor.d.ts.map +1 -1
  104. package/dist/cli/logs.search.descriptor.js +4 -0
  105. package/dist/cli/logs.search.descriptor.js.map +1 -1
  106. package/dist/cli/logs.search.impl.d.ts +3 -1
  107. package/dist/cli/logs.search.impl.d.ts.map +1 -1
  108. package/dist/cli/logs.search.impl.js +114 -108
  109. package/dist/cli/logs.search.impl.js.map +1 -1
  110. package/dist/cli/logs.tail.descriptor.d.ts.map +1 -1
  111. package/dist/cli/logs.tail.descriptor.js +2 -1
  112. package/dist/cli/logs.tail.descriptor.js.map +1 -1
  113. package/dist/cli/logs.tail.impl.d.ts +4 -2
  114. package/dist/cli/logs.tail.impl.d.ts.map +1 -1
  115. package/dist/cli/logs.tail.impl.js +84 -57
  116. package/dist/cli/logs.tail.impl.js.map +1 -1
  117. package/dist/cli/logs.view.impl.d.ts +2 -6
  118. package/dist/cli/logs.view.impl.d.ts.map +1 -1
  119. package/dist/cli/logs.view.impl.js +32 -50
  120. package/dist/cli/logs.view.impl.js.map +1 -1
  121. package/dist/cli/output.d.ts +29 -0
  122. package/dist/cli/output.d.ts.map +1 -0
  123. package/dist/cli/output.js +29 -0
  124. package/dist/cli/output.js.map +1 -0
  125. package/dist/{logging.cli.plugin.d.ts → cli/plugin.d.ts} +3 -3
  126. package/dist/cli/plugin.d.ts.map +1 -0
  127. package/dist/cli/plugin.js +45 -0
  128. package/dist/cli/plugin.js.map +1 -0
  129. package/dist/cli/resolve-output.d.ts +25 -0
  130. package/dist/cli/resolve-output.d.ts.map +1 -0
  131. package/dist/cli/resolve-output.js +75 -0
  132. package/dist/cli/resolve-output.js.map +1 -0
  133. package/dist/cli/types.d.ts +13 -5
  134. package/dist/cli/types.d.ts.map +1 -1
  135. package/dist/cli/types.js +3 -3
  136. package/dist/client/logging-client.d.ts +31 -0
  137. package/dist/client/logging-client.d.ts.map +1 -0
  138. package/dist/client/logging-client.js +44 -0
  139. package/dist/client/logging-client.js.map +1 -0
  140. package/dist/config/file-rotation.d.ts +11 -0
  141. package/dist/config/file-rotation.d.ts.map +1 -0
  142. package/dist/config/file-rotation.js +18 -0
  143. package/dist/config/file-rotation.js.map +1 -0
  144. package/dist/config/load-config.d.ts +7 -0
  145. package/dist/config/load-config.d.ts.map +1 -0
  146. package/dist/config/load-config.js +68 -0
  147. package/dist/config/load-config.js.map +1 -0
  148. package/dist/config/logging.config.descriptor.d.ts +350 -0
  149. package/dist/config/logging.config.descriptor.d.ts.map +1 -0
  150. package/dist/config/logging.config.descriptor.js +208 -0
  151. package/dist/config/logging.config.descriptor.js.map +1 -0
  152. package/dist/config/otel-service.d.ts +9 -0
  153. package/dist/config/otel-service.d.ts.map +1 -0
  154. package/dist/config/otel-service.js +18 -0
  155. package/dist/config/otel-service.js.map +1 -0
  156. package/dist/contexts/bootstrap.plugin.d.ts +3 -0
  157. package/dist/contexts/bootstrap.plugin.d.ts.map +1 -0
  158. package/dist/contexts/bootstrap.plugin.js +13 -0
  159. package/dist/contexts/bootstrap.plugin.js.map +1 -0
  160. package/dist/contexts/fallback-logger.d.ts +7 -2
  161. package/dist/contexts/fallback-logger.d.ts.map +1 -1
  162. package/dist/contexts/fallback-logger.js +73 -46
  163. package/dist/contexts/fallback-logger.js.map +1 -1
  164. package/dist/contexts/index.d.ts +2 -2
  165. package/dist/contexts/index.d.ts.map +1 -1
  166. package/dist/contexts/index.js +2 -3
  167. package/dist/contexts/index.js.map +1 -1
  168. package/dist/contexts/logger.d.ts +38 -14
  169. package/dist/contexts/logger.d.ts.map +1 -1
  170. package/dist/contexts/logger.js +241 -62
  171. package/dist/contexts/logger.js.map +1 -1
  172. package/dist/core/attempt.d.ts +30 -0
  173. package/dist/core/attempt.d.ts.map +1 -0
  174. package/dist/core/attempt.js +44 -0
  175. package/dist/core/attempt.js.map +1 -0
  176. package/dist/core/emission-window.d.ts +34 -0
  177. package/dist/core/emission-window.d.ts.map +1 -0
  178. package/dist/core/emission-window.js +25 -0
  179. package/dist/core/emission-window.js.map +1 -0
  180. package/dist/core/endpoint.d.ts +54 -0
  181. package/dist/core/endpoint.d.ts.map +1 -0
  182. package/dist/core/endpoint.js +256 -0
  183. package/dist/core/endpoint.js.map +1 -0
  184. package/dist/core/entry-context.d.ts +106 -0
  185. package/dist/core/entry-context.d.ts.map +1 -0
  186. package/dist/core/entry-context.js +150 -0
  187. package/dist/core/entry-context.js.map +1 -0
  188. package/dist/core/index.d.ts +4 -0
  189. package/dist/core/index.d.ts.map +1 -1
  190. package/dist/core/index.js +5 -0
  191. package/dist/core/index.js.map +1 -1
  192. package/dist/core/logger.d.ts +6 -1
  193. package/dist/core/logger.d.ts.map +1 -1
  194. package/dist/core/logger.js +133 -67
  195. package/dist/core/logger.js.map +1 -1
  196. package/dist/core/namespace.d.ts +5 -2
  197. package/dist/core/namespace.d.ts.map +1 -1
  198. package/dist/core/namespace.js +15 -7
  199. package/dist/core/namespace.js.map +1 -1
  200. package/dist/core/normalize.d.ts +31 -0
  201. package/dist/core/normalize.d.ts.map +1 -0
  202. package/dist/core/normalize.js +67 -0
  203. package/dist/core/normalize.js.map +1 -0
  204. package/dist/core/otlp-headers.d.ts +53 -0
  205. package/dist/core/otlp-headers.d.ts.map +1 -0
  206. package/dist/core/otlp-headers.js +64 -0
  207. package/dist/core/otlp-headers.js.map +1 -0
  208. package/dist/core/otlp-partial-success.d.ts +48 -0
  209. package/dist/core/otlp-partial-success.d.ts.map +1 -0
  210. package/dist/core/otlp-partial-success.js +55 -0
  211. package/dist/core/otlp-partial-success.js.map +1 -0
  212. package/dist/core/outcome.d.ts +21 -0
  213. package/dist/core/outcome.d.ts.map +1 -0
  214. package/dist/core/outcome.js +24 -0
  215. package/dist/core/outcome.js.map +1 -0
  216. package/dist/core/output-resources.d.ts +15 -0
  217. package/dist/core/output-resources.d.ts.map +1 -0
  218. package/dist/core/output-resources.js +51 -0
  219. package/dist/core/output-resources.js.map +1 -0
  220. package/dist/core/parsing.d.ts.map +1 -1
  221. package/dist/core/parsing.js +13 -10
  222. package/dist/core/parsing.js.map +1 -1
  223. package/dist/core/redact.d.ts +161 -0
  224. package/dist/core/redact.d.ts.map +1 -0
  225. package/dist/core/redact.js +581 -0
  226. package/dist/core/redact.js.map +1 -0
  227. package/dist/core/root-identity.d.ts +13 -0
  228. package/dist/core/root-identity.d.ts.map +1 -0
  229. package/dist/core/root-identity.js +23 -0
  230. package/dist/core/root-identity.js.map +1 -0
  231. package/dist/core/types.d.ts +5 -4
  232. package/dist/core/types.d.ts.map +1 -1
  233. package/dist/docs/cli.docs.descriptor.d.ts +4 -0
  234. package/dist/docs/cli.docs.descriptor.d.ts.map +1 -0
  235. package/dist/docs/cli.docs.descriptor.js +97 -0
  236. package/dist/docs/cli.docs.descriptor.js.map +1 -0
  237. package/dist/docs/index.d.ts +7 -0
  238. package/dist/docs/index.d.ts.map +1 -0
  239. package/dist/docs/index.js +7 -0
  240. package/dist/docs/index.js.map +1 -0
  241. package/dist/docs/levels.docs.descriptor.d.ts +1 -1
  242. package/dist/docs/levels.docs.descriptor.d.ts.map +1 -1
  243. package/dist/docs/levels.docs.descriptor.js +112 -246
  244. package/dist/docs/levels.docs.descriptor.js.map +1 -1
  245. package/dist/docs/logging.docs.descriptor.d.ts +4 -0
  246. package/dist/docs/logging.docs.descriptor.d.ts.map +1 -0
  247. package/dist/docs/logging.docs.descriptor.js +105 -0
  248. package/dist/docs/logging.docs.descriptor.js.map +1 -0
  249. package/dist/docs/observability.docs.descriptor.d.ts +4 -0
  250. package/dist/docs/observability.docs.descriptor.d.ts.map +1 -0
  251. package/dist/docs/observability.docs.descriptor.js +152 -0
  252. package/dist/docs/observability.docs.descriptor.js.map +1 -0
  253. package/dist/docs/structured.docs.descriptor.d.ts +1 -1
  254. package/dist/docs/structured.docs.descriptor.d.ts.map +1 -1
  255. package/dist/docs/structured.docs.descriptor.js +111 -267
  256. package/dist/docs/structured.docs.descriptor.js.map +1 -1
  257. package/dist/docs/transports.docs.descriptor.d.ts +1 -1
  258. package/dist/docs/transports.docs.descriptor.d.ts.map +1 -1
  259. package/dist/docs/transports.docs.descriptor.js +129 -344
  260. package/dist/docs/transports.docs.descriptor.js.map +1 -1
  261. package/dist/formatters/json/json.impl.d.ts +1 -1
  262. package/dist/formatters/json/json.impl.d.ts.map +1 -1
  263. package/dist/formatters/json/json.impl.js +3 -2
  264. package/dist/formatters/json/json.impl.js.map +1 -1
  265. package/dist/formatters/json5/json5.impl.d.ts +1 -1
  266. package/dist/formatters/json5/json5.impl.d.ts.map +1 -1
  267. package/dist/formatters/json5/json5.impl.js +3 -2
  268. package/dist/formatters/json5/json5.impl.js.map +1 -1
  269. package/dist/formatters/jsonl/jsonl.impl.d.ts +1 -1
  270. package/dist/formatters/jsonl/jsonl.impl.d.ts.map +1 -1
  271. package/dist/formatters/jsonl/jsonl.impl.js +3 -2
  272. package/dist/formatters/jsonl/jsonl.impl.js.map +1 -1
  273. package/dist/formatters/pretty/{pretty.impl.cli.d.ts → pretty.impl.consumer.d.ts} +1 -1
  274. package/dist/formatters/pretty/pretty.impl.consumer.d.ts.map +1 -0
  275. package/dist/formatters/pretty/{pretty.impl.cli.js → pretty.impl.consumer.js} +1 -1
  276. package/dist/formatters/pretty/pretty.impl.consumer.js.map +1 -0
  277. package/dist/host-files/file-audit.base.d.ts +39 -0
  278. package/dist/host-files/file-audit.base.d.ts.map +1 -0
  279. package/dist/host-files/file-audit.base.js +255 -0
  280. package/dist/host-files/file-audit.base.js.map +1 -0
  281. package/dist/host-files/file-output.base.d.ts +84 -0
  282. package/dist/host-files/file-output.base.d.ts.map +1 -0
  283. package/dist/host-files/file-output.base.js +401 -0
  284. package/dist/host-files/file-output.base.js.map +1 -0
  285. package/dist/host-files/file-output.factory.base.d.ts +31 -0
  286. package/dist/host-files/file-output.factory.base.d.ts.map +1 -0
  287. package/dist/host-files/file-output.factory.base.js +82 -0
  288. package/dist/host-files/file-output.factory.base.js.map +1 -0
  289. package/dist/host-files/file-output.read.base.d.ts +7 -0
  290. package/dist/host-files/file-output.read.base.d.ts.map +1 -0
  291. package/dist/host-files/file-output.read.base.js +229 -0
  292. package/dist/host-files/file-output.read.base.js.map +1 -0
  293. package/dist/host-files/file-sink.base.d.ts +22 -0
  294. package/dist/host-files/file-sink.base.d.ts.map +1 -0
  295. package/dist/host-files/file-sink.base.js +56 -0
  296. package/dist/host-files/file-sink.base.js.map +1 -0
  297. package/dist/host-files/host-file-logging.plugin.d.ts +11 -0
  298. package/dist/host-files/host-file-logging.plugin.d.ts.map +1 -0
  299. package/dist/host-files/host-file-logging.plugin.js +63 -0
  300. package/dist/host-files/host-file-logging.plugin.js.map +1 -0
  301. package/dist/host-files/index.d.ts +19 -0
  302. package/dist/host-files/index.d.ts.map +1 -0
  303. package/dist/host-files/index.js +18 -0
  304. package/dist/host-files/index.js.map +1 -0
  305. package/dist/host-files/rotate-appended-file.base.d.ts +35 -0
  306. package/dist/host-files/rotate-appended-file.base.d.ts.map +1 -0
  307. package/dist/host-files/rotate-appended-file.base.js +104 -0
  308. package/dist/host-files/rotate-appended-file.base.js.map +1 -0
  309. package/dist/host.d.ts +38 -0
  310. package/dist/host.d.ts.map +1 -0
  311. package/dist/host.js +39 -0
  312. package/dist/host.js.map +1 -0
  313. package/dist/index.d.ts +24 -13
  314. package/dist/index.d.ts.map +1 -1
  315. package/dist/index.js +27 -23
  316. package/dist/index.js.map +1 -1
  317. package/dist/kinds/audit.d.ts +40 -8
  318. package/dist/kinds/audit.d.ts.map +1 -1
  319. package/dist/kinds/audit.js +82 -20
  320. package/dist/kinds/audit.js.map +1 -1
  321. package/dist/kinds/contexts.d.ts +4 -3
  322. package/dist/kinds/contexts.d.ts.map +1 -1
  323. package/dist/kinds/file-output.d.ts +56 -0
  324. package/dist/kinds/file-output.d.ts.map +1 -0
  325. package/dist/kinds/file-output.js +11 -0
  326. package/dist/kinds/file-output.js.map +1 -0
  327. package/dist/kinds/formatter.d.ts +4 -6
  328. package/dist/kinds/formatter.d.ts.map +1 -1
  329. package/dist/kinds/formatter.js +4 -3
  330. package/dist/kinds/formatter.js.map +1 -1
  331. package/dist/kinds/index.d.ts +3 -3
  332. package/dist/kinds/index.d.ts.map +1 -1
  333. package/dist/kinds/index.js +3 -3
  334. package/dist/kinds/index.js.map +1 -1
  335. package/dist/kinds/logger.d.ts +4 -4
  336. package/dist/kinds/logger.d.ts.map +1 -1
  337. package/dist/kinds/logger.impl.d.ts +40 -13
  338. package/dist/kinds/logger.impl.d.ts.map +1 -1
  339. package/dist/kinds/logger.impl.js +179 -87
  340. package/dist/kinds/logger.impl.js.map +1 -1
  341. package/dist/kinds/logger.js +21 -11
  342. package/dist/kinds/logger.js.map +1 -1
  343. package/dist/kinds/logger.utils.d.ts +31 -4
  344. package/dist/kinds/logger.utils.d.ts.map +1 -1
  345. package/dist/kinds/logger.utils.js +58 -18
  346. package/dist/kinds/logger.utils.js.map +1 -1
  347. package/dist/kinds/output.d.ts +5 -11
  348. package/dist/kinds/output.d.ts.map +1 -1
  349. package/dist/kinds/output.impl.d.ts +9 -7
  350. package/dist/kinds/output.impl.d.ts.map +1 -1
  351. package/dist/kinds/output.impl.js +51 -29
  352. package/dist/kinds/output.impl.js.map +1 -1
  353. package/dist/kinds/output.js +10 -5
  354. package/dist/kinds/output.js.map +1 -1
  355. package/dist/kinds/output.types.d.ts +26 -7
  356. package/dist/kinds/output.types.d.ts.map +1 -1
  357. package/dist/kinds/sink.d.ts +6 -5
  358. package/dist/kinds/sink.d.ts.map +1 -1
  359. package/dist/kinds/sink.js +14 -7
  360. package/dist/kinds/sink.js.map +1 -1
  361. package/dist/logger.context.descriptor.d.ts +15 -1
  362. package/dist/logger.context.descriptor.d.ts.map +1 -1
  363. package/dist/logger.context.descriptor.js +1 -1
  364. package/dist/logger.context.descriptor.js.map +1 -1
  365. package/dist/logging.consumer.plugin.d.ts +4 -0
  366. package/dist/logging.consumer.plugin.d.ts.map +1 -0
  367. package/dist/logging.consumer.plugin.js +17 -0
  368. package/dist/logging.consumer.plugin.js.map +1 -0
  369. package/dist/logging.plugin.d.ts +3 -3
  370. package/dist/logging.plugin.d.ts.map +1 -1
  371. package/dist/logging.plugin.js +81 -42
  372. package/dist/logging.plugin.js.map +1 -1
  373. package/dist/observability/building-host.d.ts +11 -0
  374. package/dist/observability/building-host.d.ts.map +1 -0
  375. package/dist/observability/building-host.js +11 -0
  376. package/dist/observability/building-host.js.map +1 -0
  377. package/dist/observability/config.d.ts +36 -0
  378. package/dist/observability/config.d.ts.map +1 -0
  379. package/dist/observability/config.js +46 -0
  380. package/dist/observability/config.js.map +1 -0
  381. package/dist/observability/http/instrumented-fetch.d.ts +19 -0
  382. package/dist/observability/http/instrumented-fetch.d.ts.map +1 -0
  383. package/dist/observability/http/instrumented-fetch.js +175 -0
  384. package/dist/observability/http/instrumented-fetch.js.map +1 -0
  385. package/dist/observability/index.d.ts +8 -0
  386. package/dist/observability/index.d.ts.map +1 -0
  387. package/dist/observability/index.js +10 -0
  388. package/dist/observability/index.js.map +1 -0
  389. package/dist/observability/lifecycle.d.ts +18 -0
  390. package/dist/observability/lifecycle.d.ts.map +1 -0
  391. package/dist/observability/lifecycle.js +44 -0
  392. package/dist/observability/lifecycle.js.map +1 -0
  393. package/dist/observability/observability/error-tracker.d.ts +43 -0
  394. package/dist/observability/observability/error-tracker.d.ts.map +1 -0
  395. package/dist/observability/observability/error-tracker.js +130 -0
  396. package/dist/observability/observability/error-tracker.js.map +1 -0
  397. package/dist/observability/should-keep-log.d.ts +8 -0
  398. package/dist/observability/should-keep-log.d.ts.map +1 -0
  399. package/dist/observability/should-keep-log.js +10 -0
  400. package/dist/observability/should-keep-log.js.map +1 -0
  401. package/dist/observability/telemetry/otel.d.ts +47 -0
  402. package/dist/observability/telemetry/otel.d.ts.map +1 -0
  403. package/dist/observability/telemetry/otel.js +542 -0
  404. package/dist/observability/telemetry/otel.js.map +1 -0
  405. package/dist/observability/telemetry/partial-success.d.ts +35 -0
  406. package/dist/observability/telemetry/partial-success.d.ts.map +1 -0
  407. package/dist/observability/telemetry/partial-success.js +94 -0
  408. package/dist/observability/telemetry/partial-success.js.map +1 -0
  409. package/dist/observability/telemetry/sdk-lifecycle.d.ts +37 -0
  410. package/dist/observability/telemetry/sdk-lifecycle.d.ts.map +1 -0
  411. package/dist/observability/telemetry/sdk-lifecycle.js +132 -0
  412. package/dist/observability/telemetry/sdk-lifecycle.js.map +1 -0
  413. package/dist/observability/telemetry/telemetry-root.d.ts +78 -0
  414. package/dist/observability/telemetry/telemetry-root.d.ts.map +1 -0
  415. package/dist/observability/telemetry/telemetry-root.js +79 -0
  416. package/dist/observability/telemetry/telemetry-root.js.map +1 -0
  417. package/dist/observability/telemetry-instrumentation.d.ts +76 -0
  418. package/dist/observability/telemetry-instrumentation.d.ts.map +1 -0
  419. package/dist/observability/telemetry-instrumentation.js +69 -0
  420. package/dist/observability/telemetry-instrumentation.js.map +1 -0
  421. package/dist/otel/index.d.ts +9 -0
  422. package/dist/otel/index.d.ts.map +1 -0
  423. package/dist/otel/index.js +12 -0
  424. package/dist/otel/index.js.map +1 -0
  425. package/dist/otel/logging-otel.plugin.d.ts +11 -0
  426. package/dist/otel/logging-otel.plugin.d.ts.map +1 -0
  427. package/dist/otel/logging-otel.plugin.js +27 -0
  428. package/dist/otel/logging-otel.plugin.js.map +1 -0
  429. package/dist/otel/sinks/otel/otel.descriptor.d.ts +10 -0
  430. package/dist/otel/sinks/otel/otel.descriptor.d.ts.map +1 -0
  431. package/dist/otel/sinks/otel/otel.descriptor.js +23 -0
  432. package/dist/otel/sinks/otel/otel.descriptor.js.map +1 -0
  433. package/dist/otel/sinks/otel/otel.impl.d.ts +47 -0
  434. package/dist/otel/sinks/otel/otel.impl.d.ts.map +1 -0
  435. package/dist/otel/sinks/otel/otel.impl.js +202 -0
  436. package/dist/otel/sinks/otel/otel.impl.js.map +1 -0
  437. package/dist/otel/sinks/otel/otlp-log-exporter.d.ts +76 -0
  438. package/dist/otel/sinks/otel/otlp-log-exporter.d.ts.map +1 -0
  439. package/dist/otel/sinks/otel/otlp-log-exporter.js +178 -0
  440. package/dist/otel/sinks/otel/otlp-log-exporter.js.map +1 -0
  441. package/dist/outputs/file/file.outputs.descriptor.d.ts +10 -0
  442. package/dist/outputs/file/file.outputs.descriptor.d.ts.map +1 -0
  443. package/dist/outputs/file/file.outputs.descriptor.js +32 -0
  444. package/dist/outputs/file/file.outputs.descriptor.js.map +1 -0
  445. package/dist/outputs/remote/remote.descriptor.d.ts +1 -1
  446. package/dist/outputs/remote/remote.descriptor.d.ts.map +1 -1
  447. package/dist/outputs/remote/remote.descriptor.js +1 -2
  448. package/dist/outputs/remote/remote.descriptor.js.map +1 -1
  449. package/dist/outputs/remote/remote.factory.d.ts +9 -0
  450. package/dist/outputs/remote/remote.factory.d.ts.map +1 -0
  451. package/dist/outputs/remote/remote.factory.js +16 -0
  452. package/dist/outputs/remote/remote.factory.js.map +1 -0
  453. package/dist/outputs/remote/remote.impl.d.ts +40 -4
  454. package/dist/outputs/remote/remote.impl.d.ts.map +1 -1
  455. package/dist/outputs/remote/remote.impl.js +224 -99
  456. package/dist/outputs/remote/remote.impl.js.map +1 -1
  457. package/dist/outputs.context.descriptor.d.ts +15 -1
  458. package/dist/outputs.context.descriptor.d.ts.map +1 -1
  459. package/dist/outputs.context.descriptor.js +1 -1
  460. package/dist/outputs.context.descriptor.js.map +1 -1
  461. package/dist/outputs.context.impl.d.ts +2 -1
  462. package/dist/outputs.context.impl.d.ts.map +1 -1
  463. package/dist/outputs.context.impl.js +17 -9
  464. package/dist/outputs.context.impl.js.map +1 -1
  465. package/dist/paths.d.ts +24 -3
  466. package/dist/paths.d.ts.map +1 -1
  467. package/dist/paths.js +63 -3
  468. package/dist/paths.js.map +1 -1
  469. package/dist/rotation/rotate-appended-file.d.ts +15 -0
  470. package/dist/rotation/rotate-appended-file.d.ts.map +1 -0
  471. package/dist/rotation/rotate-appended-file.js +20 -0
  472. package/dist/rotation/rotate-appended-file.js.map +1 -0
  473. package/dist/rotation/rotation-policy.d.ts +19 -0
  474. package/dist/rotation/rotation-policy.d.ts.map +1 -0
  475. package/dist/rotation/rotation-policy.js +37 -0
  476. package/dist/rotation/rotation-policy.js.map +1 -0
  477. package/dist/schemas/audit.d.ts +25 -7
  478. package/dist/schemas/audit.d.ts.map +1 -1
  479. package/dist/schemas/audit.js +10 -4
  480. package/dist/schemas/audit.js.map +1 -1
  481. package/dist/schemas/entry.d.ts +11 -5
  482. package/dist/schemas/entry.d.ts.map +1 -1
  483. package/dist/schemas/entry.js +3 -2
  484. package/dist/schemas/entry.js.map +1 -1
  485. package/dist/schemas/file-host.d.ts +86 -0
  486. package/dist/schemas/file-host.d.ts.map +1 -0
  487. package/dist/schemas/file-host.js +10 -0
  488. package/dist/schemas/file-host.js.map +1 -0
  489. package/dist/schemas/formatter.d.ts +11 -1
  490. package/dist/schemas/formatter.d.ts.map +1 -1
  491. package/dist/schemas/formatter.js +1 -1
  492. package/dist/schemas/formatter.js.map +1 -1
  493. package/dist/schemas/index.d.ts +3 -2
  494. package/dist/schemas/index.d.ts.map +1 -1
  495. package/dist/schemas/index.js +3 -2
  496. package/dist/schemas/index.js.map +1 -1
  497. package/dist/schemas/logger.d.ts +16 -1
  498. package/dist/schemas/logger.d.ts.map +1 -1
  499. package/dist/schemas/logger.js +6 -1
  500. package/dist/schemas/logger.js.map +1 -1
  501. package/dist/schemas/output-defaults.d.ts +44 -0
  502. package/dist/schemas/output-defaults.d.ts.map +1 -0
  503. package/dist/schemas/output-defaults.js +53 -0
  504. package/dist/schemas/output-defaults.js.map +1 -0
  505. package/dist/schemas/output.d.ts +25 -1
  506. package/dist/schemas/output.d.ts.map +1 -1
  507. package/dist/schemas/output.js +29 -2
  508. package/dist/schemas/output.js.map +1 -1
  509. package/dist/schemas/sink.d.ts +32 -1
  510. package/dist/schemas/sink.d.ts.map +1 -1
  511. package/dist/schemas/sink.js +17 -1
  512. package/dist/schemas/sink.js.map +1 -1
  513. package/dist/sinks/buffer/buffer.descriptor.js +1 -1
  514. package/dist/sinks/buffer/buffer.descriptor.js.map +1 -1
  515. package/dist/sinks/buffer/{buffer.impl.cli.d.ts → buffer.impl.d.ts} +3 -3
  516. package/dist/sinks/buffer/buffer.impl.d.ts.map +1 -0
  517. package/dist/sinks/buffer/buffer.impl.js +42 -0
  518. package/dist/sinks/buffer/buffer.impl.js.map +1 -0
  519. package/dist/sinks/console/console.descriptor.js +1 -1
  520. package/dist/sinks/console/console.descriptor.js.map +1 -1
  521. package/dist/sinks/console/console.impl.browser.d.ts +4 -3
  522. package/dist/sinks/console/console.impl.browser.d.ts.map +1 -1
  523. package/dist/sinks/console/console.impl.browser.js +11 -14
  524. package/dist/sinks/console/console.impl.browser.js.map +1 -1
  525. package/dist/sinks/console/{console.impl.cli.d.ts → console.impl.consumer.d.ts} +5 -4
  526. package/dist/sinks/console/console.impl.consumer.d.ts.map +1 -0
  527. package/dist/sinks/console/{console.impl.cli.js → console.impl.consumer.js} +16 -8
  528. package/dist/sinks/console/console.impl.consumer.js.map +1 -0
  529. package/dist/sinks/file/file.sinks.descriptor.d.ts +10 -0
  530. package/dist/sinks/file/file.sinks.descriptor.d.ts.map +1 -0
  531. package/dist/sinks/file/file.sinks.descriptor.js +23 -0
  532. package/dist/sinks/file/file.sinks.descriptor.js.map +1 -0
  533. package/dist/sinks/index.d.ts +1 -1
  534. package/dist/sinks/index.d.ts.map +1 -1
  535. package/dist/sinks/memory/memory.descriptor.d.ts +1 -1
  536. package/dist/sinks/memory/memory.descriptor.js +2 -2
  537. package/dist/sinks/memory/memory.descriptor.js.map +1 -1
  538. package/dist/sinks/memory/memory.impl.d.ts +5 -11
  539. package/dist/sinks/memory/memory.impl.d.ts.map +1 -1
  540. package/dist/sinks/memory/memory.impl.js +46 -21
  541. package/dist/sinks/memory/memory.impl.js.map +1 -1
  542. package/dist/sinks/stdout/stdout.descriptor.js +1 -1
  543. package/dist/sinks/stdout/stdout.descriptor.js.map +1 -1
  544. package/dist/sinks/stdout/{stdout.impl.cli.d.ts → stdout.impl.d.ts} +5 -4
  545. package/dist/sinks/stdout/stdout.impl.d.ts.map +1 -0
  546. package/dist/sinks/stdout/stdout.impl.js +29 -0
  547. package/dist/sinks/stdout/stdout.impl.js.map +1 -0
  548. package/dist/sinks.context.descriptor.d.ts +15 -1
  549. package/dist/sinks.context.descriptor.d.ts.map +1 -1
  550. package/dist/sinks.context.descriptor.js +1 -1
  551. package/dist/sinks.context.descriptor.js.map +1 -1
  552. package/dist/sinks.context.impl.d.ts +2 -1
  553. package/dist/sinks.context.impl.d.ts.map +1 -1
  554. package/dist/sinks.context.impl.js +17 -9
  555. package/dist/sinks.context.impl.js.map +1 -1
  556. package/dist/stdout-capture/mcp-frame.d.ts +23 -0
  557. package/dist/stdout-capture/mcp-frame.d.ts.map +1 -0
  558. package/dist/stdout-capture/mcp-frame.js +80 -0
  559. package/dist/stdout-capture/mcp-frame.js.map +1 -0
  560. package/dist/stdout-capture/stdout-capture.descriptor.d.ts +10 -0
  561. package/dist/stdout-capture/stdout-capture.descriptor.d.ts.map +1 -0
  562. package/dist/stdout-capture/stdout-capture.descriptor.js +17 -0
  563. package/dist/stdout-capture/stdout-capture.descriptor.js.map +1 -0
  564. package/dist/stdout-capture/stdout-capture.impl.d.ts +19 -0
  565. package/dist/stdout-capture/stdout-capture.impl.d.ts.map +1 -0
  566. package/dist/stdout-capture/stdout-capture.impl.js +49 -0
  567. package/dist/stdout-capture/stdout-capture.impl.js.map +1 -0
  568. package/dist/stdout-capture/stdout-capture.lease.d.ts +45 -0
  569. package/dist/stdout-capture/stdout-capture.lease.d.ts.map +1 -0
  570. package/dist/stdout-capture/stdout-capture.lease.js +338 -0
  571. package/dist/stdout-capture/stdout-capture.lease.js.map +1 -0
  572. package/dist/stdout-capture/stdout-capture.output.descriptor.d.ts +4 -0
  573. package/dist/stdout-capture/stdout-capture.output.descriptor.d.ts.map +1 -0
  574. package/dist/stdout-capture/stdout-capture.output.descriptor.js +18 -0
  575. package/dist/stdout-capture/stdout-capture.output.descriptor.js.map +1 -0
  576. package/dist/stdout-capture/stdout-capture.state.d.ts +29 -0
  577. package/dist/stdout-capture/stdout-capture.state.d.ts.map +1 -0
  578. package/dist/stdout-capture/stdout-capture.state.js +80 -0
  579. package/dist/stdout-capture/stdout-capture.state.js.map +1 -0
  580. package/dist/stdout-capture.d.ts +24 -0
  581. package/dist/stdout-capture.d.ts.map +1 -0
  582. package/dist/stdout-capture.js +28 -0
  583. package/dist/stdout-capture.js.map +1 -0
  584. package/dist/stdout-capture.plugin.d.ts +7 -0
  585. package/dist/stdout-capture.plugin.d.ts.map +1 -0
  586. package/dist/stdout-capture.plugin.js +28 -0
  587. package/dist/stdout-capture.plugin.js.map +1 -0
  588. package/package.json +308 -224
  589. package/dist/contexts/audit.d.ts +0 -34
  590. package/dist/contexts/audit.d.ts.map +0 -1
  591. package/dist/contexts/audit.js +0 -13
  592. package/dist/contexts/audit.js.map +0 -1
  593. package/dist/formatters/index.d.ts +0 -7
  594. package/dist/formatters/index.d.ts.map +0 -1
  595. package/dist/formatters/index.js +0 -8
  596. package/dist/formatters/index.js.map +0 -1
  597. package/dist/formatters/pretty/pretty.impl.cli.d.ts.map +0 -1
  598. package/dist/formatters/pretty/pretty.impl.cli.js.map +0 -1
  599. package/dist/kinds/logger.contracts.d.ts +0 -16
  600. package/dist/kinds/logger.contracts.d.ts.map +0 -1
  601. package/dist/kinds/logger.contracts.js +0 -9
  602. package/dist/kinds/logger.contracts.js.map +0 -1
  603. package/dist/kinds/output.contracts.d.ts +0 -50
  604. package/dist/kinds/output.contracts.d.ts.map +0 -1
  605. package/dist/kinds/output.contracts.js +0 -10
  606. package/dist/kinds/output.contracts.js.map +0 -1
  607. package/dist/logging.cli.plugin.d.ts.map +0 -1
  608. package/dist/logging.cli.plugin.js +0 -39
  609. package/dist/logging.cli.plugin.js.map +0 -1
  610. package/dist/outputs/index.d.ts +0 -7
  611. package/dist/outputs/index.d.ts.map +0 -1
  612. package/dist/outputs/index.js +0 -8
  613. package/dist/outputs/index.js.map +0 -1
  614. package/dist/sinks/buffer/buffer.impl.cli.d.ts.map +0 -1
  615. package/dist/sinks/buffer/buffer.impl.cli.js +0 -34
  616. package/dist/sinks/buffer/buffer.impl.cli.js.map +0 -1
  617. package/dist/sinks/console/console.impl.cli.d.ts.map +0 -1
  618. package/dist/sinks/console/console.impl.cli.js.map +0 -1
  619. package/dist/sinks/stdout/stdout.impl.cli.d.ts.map +0 -1
  620. package/dist/sinks/stdout/stdout.impl.cli.js +0 -21
  621. package/dist/sinks/stdout/stdout.impl.cli.js.map +0 -1
  622. package/src/audit/audit.descriptor.ts +0 -45
  623. package/src/audit/audit.storage.schema.ts +0 -57
  624. package/src/audit/index.ts +0 -8
  625. package/src/cli/logs.descriptor.ts +0 -19
  626. package/src/cli/logs.list.descriptor.ts +0 -28
  627. package/src/cli/logs.list.impl.ts +0 -93
  628. package/src/cli/logs.rotate.descriptor.ts +0 -40
  629. package/src/cli/logs.rotate.impl.ts +0 -61
  630. package/src/cli/logs.search.descriptor.ts +0 -61
  631. package/src/cli/logs.search.impl.ts +0 -173
  632. package/src/cli/logs.tail.descriptor.ts +0 -49
  633. package/src/cli/logs.tail.impl.ts +0 -105
  634. package/src/cli/logs.view.descriptor.ts +0 -57
  635. package/src/cli/logs.view.impl.ts +0 -108
  636. package/src/cli/types.ts +0 -59
  637. package/src/contexts/audit.ts +0 -36
  638. package/src/contexts/fallback-logger.ts +0 -80
  639. package/src/contexts/index.ts +0 -23
  640. package/src/contexts/logger.ts +0 -119
  641. package/src/core/index.ts +0 -32
  642. package/src/core/logger.ts +0 -150
  643. package/src/core/namespace.ts +0 -195
  644. package/src/core/parsing.ts +0 -21
  645. package/src/core/types.ts +0 -82
  646. package/src/docs/levels.docs.descriptor.ts +0 -344
  647. package/src/docs/structured.docs.descriptor.ts +0 -444
  648. package/src/docs/transports.docs.descriptor.ts +0 -428
  649. package/src/formatters/index.ts +0 -6
  650. package/src/formatters/json/json.formatters.descriptor.ts +0 -25
  651. package/src/formatters/json/json.impl.ts +0 -41
  652. package/src/formatters/json5/json5.descriptor.ts +0 -25
  653. package/src/formatters/json5/json5.impl.ts +0 -43
  654. package/src/formatters/jsonl/jsonl.descriptor.ts +0 -26
  655. package/src/formatters/jsonl/jsonl.impl.ts +0 -39
  656. package/src/formatters/pretty/pretty.descriptor.ts +0 -26
  657. package/src/formatters/pretty/pretty.impl.cli.ts +0 -101
  658. package/src/index.ts +0 -190
  659. package/src/kinds/audit.ts +0 -169
  660. package/src/kinds/contexts.ts +0 -22
  661. package/src/kinds/formatter.ts +0 -117
  662. package/src/kinds/index.ts +0 -25
  663. package/src/kinds/logger.contracts.ts +0 -17
  664. package/src/kinds/logger.impl.ts +0 -206
  665. package/src/kinds/logger.ts +0 -46
  666. package/src/kinds/logger.utils.ts +0 -91
  667. package/src/kinds/output.contracts.ts +0 -54
  668. package/src/kinds/output.impl.ts +0 -118
  669. package/src/kinds/output.ts +0 -59
  670. package/src/kinds/output.types.ts +0 -105
  671. package/src/kinds/sink.ts +0 -100
  672. package/src/logger.context.descriptor.ts +0 -13
  673. package/src/logging.cli.plugin.ts +0 -43
  674. package/src/logging.plugin.ts +0 -93
  675. package/src/outputs/index.ts +0 -6
  676. package/src/outputs/remote/remote.descriptor.ts +0 -27
  677. package/src/outputs/remote/remote.impl.ts +0 -218
  678. package/src/outputs.context.descriptor.ts +0 -10
  679. package/src/outputs.context.impl.ts +0 -30
  680. package/src/paths.ts +0 -10
  681. package/src/schemas/audit.ts +0 -98
  682. package/src/schemas/entry.ts +0 -88
  683. package/src/schemas/formatter.ts +0 -37
  684. package/src/schemas/index.ts +0 -80
  685. package/src/schemas/logger.ts +0 -38
  686. package/src/schemas/output.ts +0 -62
  687. package/src/schemas/sink.ts +0 -39
  688. package/src/sinks/buffer/buffer.descriptor.ts +0 -13
  689. package/src/sinks/buffer/buffer.impl.cli.ts +0 -49
  690. package/src/sinks/console/console.descriptor.ts +0 -20
  691. package/src/sinks/console/console.impl.browser.ts +0 -69
  692. package/src/sinks/console/console.impl.cli.ts +0 -71
  693. package/src/sinks/index.ts +0 -8
  694. package/src/sinks/memory/memory.descriptor.ts +0 -20
  695. package/src/sinks/memory/memory.impl.ts +0 -119
  696. package/src/sinks/stdout/stdout.descriptor.ts +0 -13
  697. package/src/sinks/stdout/stdout.impl.cli.ts +0 -27
  698. package/src/sinks.context.descriptor.ts +0 -10
  699. package/src/sinks.context.impl.ts +0 -30
@@ -3,86 +3,265 @@
3
3
  *
4
4
  * Provides logger instances to runtime assets via context injection.
5
5
  * Loggers are resolved from the runtime and cached for sync access.
6
+ *
7
+ * `getLogger(id)` expects `id` to match a registered `logging/logger` descriptor
8
+ * (not a dotted namespace). Use `descriptor.namespace` or `.child()` for namespacing.
9
+ */
10
+ import * as z from 'zod/v4';
11
+ import { CapabilityError, getVibesRuntime } from '@vibesdotdev/kernel';
12
+ import { childOptionsSnapshot, deriveChildConfig } from "../kinds/logger.utils.js";
13
+ import { ForwardedLogCallSchema } from "../core/entry-context.js";
14
+ import { LoggedErrorSchema } from "../core/redact.js";
15
+ import { settle } from "../core/outcome.js";
16
+ import { prepareFallbackLoggerFactory, prepareUndeclaredLoggerFactory } from "./fallback-logger.js";
17
+ import { isLoggingEmissionClosed } from "../core/emission-window.js";
18
+ import { loggingRootOf } from "../core/root-identity.js";
19
+ export const LoggerContextConfigSchema = z.object({
20
+ defaultNamespace: z.string().min(1),
21
+ defaultRuntime: z.enum(['server', 'cli', 'worker', 'browser', 'mcp'])
22
+ });
23
+ /**
24
+ * Lazy logger: created without touching any runtime, bound at emit time.
25
+ *
26
+ * Each emit requires a bound Runtime prepared by initializeLoggers(runtime).
27
+ * It re-resolves its base target: that Root's registered logger, then that
28
+ * Root's resolved logger, then its prepared fallback. Caches follow the Root's
29
+ * identity, so another Root never inherits the first host's console. Derivations
30
+ * (child/with*) are replayed onto the base and cached by base identity.
31
+ *
32
+ * `namespace`/`fullNamespace` read the last bound target (the descriptor
33
+ * logger's own semantics) and use the id-based derivation until first bound;
34
+ * they never read the runtime.
6
35
  */
7
- import { createFallbackLogger } from "./fallback-logger.js";
8
- const defaultConfig = {
36
+ class LazyLoggerImplementation {
37
+ source;
38
+ handedRuntime;
39
+ derivations;
40
+ unboundNamespace;
41
+ unboundFullNamespace;
42
+ derivedByBase = new WeakMap();
43
+ lastDerived = null;
44
+ constructor(source, unboundId, fullNamespace = unboundId, derivations = [], handedRuntime) {
45
+ this.source = source;
46
+ this.handedRuntime = handedRuntime;
47
+ this.unboundNamespace = unboundId;
48
+ this.unboundFullNamespace = fullNamespace;
49
+ this.derivations = derivations;
50
+ }
51
+ get namespace() {
52
+ return this.lastDerived?.namespace ?? this.unboundNamespace;
53
+ }
54
+ get fullNamespace() {
55
+ return this.lastDerived?.fullNamespace ?? this.unboundFullNamespace;
56
+ }
57
+ resolveBase() {
58
+ const runtime = this.handedRuntime ?? getVibesRuntime();
59
+ const lifecycle = runtime.lifecycle;
60
+ if (this.handedRuntime && isLoggingEmissionClosed(runtime))
61
+ throw new CapabilityError('The logger Runtime no longer accepts entries.', 'CANCELLED', {
62
+ reason: 'logger-runtime-disposed', cause: lifecycle.signal.reason
63
+ });
64
+ const id = this.source.idFor(runtime);
65
+ const state = existingState(runtime);
66
+ const prepared = state?.prepared;
67
+ if (!state || !prepared)
68
+ throw new CapabilityError('Logging has not been prepared on this Runtime.', 'UNAVAILABLE', {
69
+ reason: 'logger-not-initialized', retryable: false, details: { id }
70
+ });
71
+ const registered = state.registered.get(id);
72
+ if (registered)
73
+ return registered;
74
+ const resolved = prepared.resolved.get(id);
75
+ if (resolved)
76
+ return resolved;
77
+ let fallback = prepared.fallbacks.get(id);
78
+ if (!fallback) {
79
+ fallback = prepared.createFallback(id);
80
+ prepared.fallbacks.set(id, fallback);
81
+ }
82
+ return fallback;
83
+ }
84
+ resolveTarget() {
85
+ const base = this.resolveBase();
86
+ let derived = this.derivedByBase.get(base);
87
+ if (!derived) {
88
+ derived = this.derivations.reduce((logger, derive) => derive(logger), base);
89
+ this.derivedByBase.set(base, derived);
90
+ }
91
+ this.lastDerived = derived;
92
+ return derived;
93
+ }
94
+ debug = ForwardedLogCallSchema.implement((message, context, extraContext) => { this.resolveTarget().debug(message, context, extraContext); });
95
+ info = ForwardedLogCallSchema.implement((message, context, extraContext) => { this.resolveTarget().info(message, context, extraContext); });
96
+ warn = ForwardedLogCallSchema.implement((message, context, extraContext) => { this.resolveTarget().warn(message, context, extraContext); });
97
+ error = ForwardedLogCallSchema.implement((message, context, extraContext) => { this.resolveTarget().error(message, context, extraContext); });
98
+ derive(fullNamespace, derivation) {
99
+ return new LazyLoggerImplementation(this.source, this.unboundNamespace, fullNamespace, [...this.derivations, derivation], this.handedRuntime);
100
+ }
101
+ /**
102
+ * The options are read once, here, without throwing; the bound logger is
103
+ * handed the detached snapshot, never the caller's object, so no later log
104
+ * call reads it again. An unreadable one rides every entry as the
105
+ * `loggingError` and is reported once by the logger the snapshot binds to.
106
+ */
107
+ child(options) {
108
+ const config = deriveChildConfig(this.unboundFullNamespace, options);
109
+ const snapshot = childOptionsSnapshot(options, config);
110
+ return this.derive(config.nextNamespace, (logger) => logger.child(snapshot));
111
+ }
112
+ withContext(context) {
113
+ return this.derive(this.unboundFullNamespace, (logger) => logger.withContext(context));
114
+ }
115
+ withRequestContext(context) {
116
+ return this.derive(this.unboundFullNamespace, (logger) => logger.withRequestContext(context));
117
+ }
118
+ withJobContext(context) {
119
+ return this.derive(this.unboundFullNamespace, (logger) => logger.withJobContext(context));
120
+ }
121
+ performanceTracker(params) {
122
+ return this.resolveTarget().performanceTracker(params);
123
+ }
124
+ }
125
+ const defaultConfig = LoggerContextConfigSchema.parse({
9
126
  defaultNamespace: 'vibes',
10
127
  defaultRuntime: 'server'
11
- };
12
- let activeConfig = { ...defaultConfig };
13
- export function configureLoggerContext(config) {
14
- activeConfig = { ...activeConfig, ...config };
15
- }
16
- export function getLoggerContextConfig() {
17
- return { ...activeConfig };
18
- }
19
- const loggerCache = new Map();
20
- export function registerLogger(id, logger) {
21
- loggerCache.set(id, logger);
22
- }
23
- export async function initializeLoggers() {
24
- try {
25
- const { getVibesRuntime } = await import('@vibesdotdev/runtime');
26
- const runtime = getVibesRuntime();
27
- const loggerIds = runtime.query('logging/logger').ids();
28
- const errors = [];
29
- for (const id of loggerIds) {
30
- try {
31
- const logger = (await runtime.query('logging/logger').withId(id).resolve());
32
- loggerCache.set(id, logger);
33
- }
34
- catch (error) {
35
- // Collect errors for reporting but continue initializing other loggers
36
- errors.push({ id, error });
37
- }
38
- }
39
- // Log summary of initialization results
40
- if (errors.length > 0) {
41
- const fallbackLogger = createFallbackLogger('logging');
42
- fallbackLogger.warn(`Failed to initialize ${errors.length} logger(s):`, {
43
- loggerIds: errors.map((e) => e.id),
44
- errors: errors.map((e) => e.error instanceof Error ? e.error.message : String(e.error))
45
- });
128
+ });
129
+ const stateByRoot = new WeakMap();
130
+ /**
131
+ * In-flight `initializeLoggers` per lifecycle: one preparation reads one
132
+ * registry (a generation's may differ from its Root's), and its result is
133
+ * the Root's preparation.
134
+ */
135
+ const pendingByLifecycle = new WeakMap();
136
+ /** The provider bound to one handed runtime: its lazy loggers keep that runtime's emission window. */
137
+ const boundLoggerContexts = new WeakMap();
138
+ /** The state of this Runtime's Root, if any was recorded. */
139
+ function existingState(runtime) {
140
+ return stateByRoot.get(loggingRootOf(runtime));
141
+ }
142
+ /** The state this Runtime's Root owns, created on first use. */
143
+ function stateFor(runtime) {
144
+ const found = existingState(runtime);
145
+ if (found)
146
+ return found;
147
+ const state = { registered: new Map(), config: { ...defaultConfig }, provider: undefined, prepared: undefined };
148
+ stateByRoot.set(loggingRootOf(runtime), state);
149
+ return state;
150
+ }
151
+ /** The Runtime a call targets: the one handed, else the process's default binding (refuses when none is bootstrapped). */
152
+ function targetRuntime(runtime) {
153
+ return runtime ?? getVibesRuntime();
154
+ }
155
+ /** Configure this Runtime's logger-context defaults; they never reach another Runtime. */
156
+ export function configureLoggerContext(config, runtime) {
157
+ const state = stateFor(targetRuntime(runtime));
158
+ state.config = { ...state.config, ...LoggerContextConfigSchema.partial().parse(config) };
159
+ }
160
+ export function getLoggerContextConfig(runtime) {
161
+ return { ...(existingState(targetRuntime(runtime))?.config ?? defaultConfig) };
162
+ }
163
+ function withHostEnvironment(logger, runtime) {
164
+ const tier = runtime.scope.qualifiers.environmentTier;
165
+ return tier ? logger.withContext({ environment: tier }) : logger;
166
+ }
167
+ /** Register `logger` for `id` on this Runtime only; it takes precedence over the Runtime's resolved logger. */
168
+ export function registerLogger(id, logger, runtime) {
169
+ stateFor(targetRuntime(runtime)).registered.set(id, logger);
170
+ }
171
+ /** Prepare only host diagnostics; registration must never read stored settings. */
172
+ export async function prepareLoggerContext(runtime) {
173
+ const state = stateFor(runtime);
174
+ if (state.prepared)
175
+ return;
176
+ const createFallback = await prepareUndeclaredLoggerFactory(runtime);
177
+ state.prepared = { createFallback, resolved: new Map(), fallbacks: new Map() };
178
+ }
179
+ /** Explicit awaited host preparation; synchronous emits never start host work. */
180
+ export function initializeLoggers(runtime) {
181
+ if (!runtime)
182
+ return Promise.reject(new CapabilityError('Logger initialization requires a handed Runtime.', 'INVALID_INPUT', {
183
+ reason: 'logger-runtime-missing', retryable: false
184
+ }));
185
+ const lifecycle = runtime.lifecycle;
186
+ const pending = pendingByLifecycle.get(lifecycle);
187
+ if (pending)
188
+ return pending;
189
+ const operation = prepareLoggers(runtime).finally(() => pendingByLifecycle.delete(lifecycle));
190
+ pendingByLifecycle.set(lifecycle, operation);
191
+ return operation;
192
+ }
193
+ async function prepareLoggers(runtime) {
194
+ const createFallback = await prepareUndeclaredLoggerFactory(runtime);
195
+ const resolved = new Map();
196
+ const errors = [];
197
+ if (runtime.hasKind('logging/logger')) {
198
+ for (const descriptor of runtime.query('logging/logger').descriptors()) {
199
+ if (descriptor.runtime === 'mcp' && runtime.scope.surface !== 'mcp' && runtime.scope.purpose !== 'mcp')
200
+ continue;
201
+ const loaded = await settle(runtime.query('logging/logger').withId(descriptor.id).resolve()
202
+ .then(logger => withHostEnvironment(logger, runtime)));
203
+ if (loaded.failed)
204
+ errors.push({ id: descriptor.id, error: LoggedErrorSchema.parse(loaded.cause) });
205
+ else
206
+ resolved.set(descriptor.id, loaded.value);
46
207
  }
47
208
  }
48
- catch (error) {
49
- // Runtime not available - this is expected in some contexts, use fallback
50
- const fallbackLogger = createFallbackLogger('logging');
51
- fallbackLogger.debug('Runtime not available for logger initialization, using fallback loggers', {
52
- error: error instanceof Error ? error.message : String(error)
209
+ if (errors.length) {
210
+ (await prepareFallbackLoggerFactory(runtime))('logging').warn(`Failed to initialize ${errors.length} logger(s):`, {
211
+ loggerIds: errors.map(failure => failure.id), errors: errors.map(failure => failure.error)
53
212
  });
54
213
  }
214
+ stateFor(runtime).prepared = { createFallback, resolved, fallbacks: new Map() };
55
215
  }
56
- export function createLoggerContextProvider(config) {
57
- const mergedConfig = { ...activeConfig, ...config };
216
+ /** A provider's lazy loggers bind at emit to the Runtime handed here, else to the default binding. */
217
+ export function createLoggerContextProvider(config, runtime) {
218
+ const overrides = LoggerContextConfigSchema.partial().parse(config ?? {});
219
+ const defaultNamespaceFor = (target) => overrides.defaultNamespace ?? getLoggerContextConfig(target).defaultNamespace;
220
+ // Memoize lazy loggers per provider so getLogger('x') returns the same instance
221
+ const lazyLoggerCache = new Map();
222
+ let lazyDefault;
58
223
  return {
59
224
  getLogger(id) {
60
- let logger = loggerCache.get(id);
61
- if (logger)
62
- return logger;
63
- logger = createFallbackLogger(id);
64
- loggerCache.set(id, logger);
65
- return logger;
225
+ // Return a lazy logger that defers resolution to first emit
226
+ let lazy = lazyLoggerCache.get(id);
227
+ if (!lazy) {
228
+ lazy = new LazyLoggerImplementation({ idFor: () => id }, id, id, [], runtime);
229
+ lazyLoggerCache.set(id, lazy);
230
+ }
231
+ return lazy;
66
232
  },
67
233
  getDefaultLogger() {
68
- return this.getLogger(mergedConfig.defaultNamespace);
234
+ // The default namespace is the emitting Runtime's own configuration, read at emit.
235
+ lazyDefault ??= new LazyLoggerImplementation({ idFor: defaultNamespaceFor }, overrides.defaultNamespace ?? (runtime ? getLoggerContextConfig(runtime).defaultNamespace : defaultConfig.defaultNamespace), undefined, [], runtime);
236
+ return lazyDefault;
69
237
  }
70
238
  };
71
239
  }
72
- let globalLoggerContext = null;
73
- export function getLoggerContext() {
74
- if (!globalLoggerContext) {
75
- globalLoggerContext = createLoggerContextProvider();
240
+ /** The provider this Runtime serves: the one substituted with `setLoggerContext`, else the one bound to it. */
241
+ export function getLoggerContext(runtime) {
242
+ const target = targetRuntime(runtime);
243
+ const substituted = existingState(target)?.provider;
244
+ if (substituted)
245
+ return substituted;
246
+ let provider = boundLoggerContexts.get(target);
247
+ if (!provider) {
248
+ provider = createLoggerContextProvider(undefined, target);
249
+ boundLoggerContexts.set(target, provider);
76
250
  }
77
- return globalLoggerContext;
251
+ return provider;
78
252
  }
79
- export function setLoggerContext(provider) {
80
- globalLoggerContext = provider;
253
+ /** Substitute the provider that `getLogger(id, runtime)` and `getDefaultLogger(runtime)` serve for this Runtime only. */
254
+ export function setLoggerContext(provider, runtime) {
255
+ stateFor(targetRuntime(runtime)).provider = provider;
81
256
  }
82
- export function getLogger(id) {
83
- return getLoggerContext().getLogger(id);
257
+ /**
258
+ * A logger by id. With a Runtime it is that Runtime's logger through its
259
+ * provider; without one it is a lazy logger bound at emit to the default binding.
260
+ */
261
+ export function getLogger(id, runtime) {
262
+ return (runtime ? getLoggerContext(runtime) : createLoggerContextProvider()).getLogger(id);
84
263
  }
85
- export function getDefaultLogger() {
86
- return getLoggerContext().getDefaultLogger();
264
+ export function getDefaultLogger(runtime) {
265
+ return (runtime ? getLoggerContext(runtime) : createLoggerContextProvider()).getDefaultLogger();
87
266
  }
88
267
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/contexts/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/contexts/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Keep a raised failure as a value so the caller decides what it means.
3
+ *
4
+ * A host call (filesystem, stdio, a handed callback) answers with a value or
5
+ * raises. These helpers turn the raise into a `Failure` that carries the
6
+ * failure exactly as raised plus the errno category it names, parsed once
7
+ * here. A caller then handles only the categories it owns (a missing path is
8
+ * `ENOENT`) and rethrows, records or reports every other failure with its
9
+ * cause intact.
10
+ */
11
+ /** A failure an operation raised. */
12
+ export interface Failure {
13
+ /** The errno category (`ENOENT`, `EACCES`, …), or null when the failure names none. */
14
+ readonly code: string | null;
15
+ /** The failure as it was raised; a caller that does not handle it rethrows this value unchanged. */
16
+ readonly cause: unknown;
17
+ }
18
+ /** What an operation answered: its value, or the failure it raised, never both. */
19
+ export type Attempt<T> = {
20
+ readonly value: T;
21
+ } | {
22
+ readonly failure: Failure;
23
+ };
24
+ /** Run a synchronous operation and keep its failure as a value. */
25
+ export declare function attemptSync<T>(operation: () => T): Attempt<T>;
26
+ /** Run an asynchronous operation and keep its failure (a throw or a rejection) as a value. */
27
+ export declare function attempt<T>(operation: () => Promise<T>): Promise<Attempt<T>>;
28
+ /** The one confirmed-absence category: the path is not there. */
29
+ export declare function isMissingPath(failure: Failure): boolean;
30
+ //# sourceMappingURL=attempt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attempt.d.ts","sourceRoot":"","sources":["../../src/core/attempt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH,qCAAqC;AACrC,MAAM,WAAW,OAAO;IACvB,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,oGAAoG;IACpG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACxB;AAED,mFAAmF;AACnF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE/E,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAM7D;AAED,8FAA8F;AAC9F,wBAAsB,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAMjF;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEvD"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Keep a raised failure as a value so the caller decides what it means.
3
+ *
4
+ * A host call (filesystem, stdio, a handed callback) answers with a value or
5
+ * raises. These helpers turn the raise into a `Failure` that carries the
6
+ * failure exactly as raised plus the errno category it names, parsed once
7
+ * here. A caller then handles only the categories it owns (a missing path is
8
+ * `ENOENT`) and rethrows, records or reports every other failure with its
9
+ * cause intact.
10
+ */
11
+ import * as z from 'zod/v4';
12
+ import { attempt as attemptOutcome } from "./outcome.js";
13
+ const NativeCodeSchema = z.object({ code: z.string() });
14
+ /**
15
+ * The errno category a raised value names, or null. Reading it never throws: a
16
+ * value whose `code` read throws (a getter or Proxy trap) names no category.
17
+ */
18
+ const NativeCodeOfSchema = z.unknown().transform((cause) => {
19
+ const native = attemptOutcome(() => NativeCodeSchema.safeParse(cause));
20
+ return !native.failed && native.value.success ? native.value.data.code : null;
21
+ });
22
+ /** Run a synchronous operation and keep its failure as a value. */
23
+ export function attemptSync(operation) {
24
+ try {
25
+ return { value: operation() };
26
+ }
27
+ catch (cause) {
28
+ return { failure: { code: NativeCodeOfSchema.parse(cause), cause } };
29
+ }
30
+ }
31
+ /** Run an asynchronous operation and keep its failure (a throw or a rejection) as a value. */
32
+ export async function attempt(operation) {
33
+ try {
34
+ return { value: await operation() };
35
+ }
36
+ catch (cause) {
37
+ return { failure: { code: NativeCodeOfSchema.parse(cause), cause } };
38
+ }
39
+ }
40
+ /** The one confirmed-absence category: the path is not there. */
41
+ export function isMissingPath(failure) {
42
+ return failure.code === 'ENOENT';
43
+ }
44
+ //# sourceMappingURL=attempt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attempt.js","sourceRoot":"","sources":["../../src/core/attempt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAExD;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAiB,EAAE;IACzE,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC,CAAC,CAAC;AAaH,mEAAmE;AACnE,MAAM,UAAU,WAAW,CAAI,SAAkB;IAChD,IAAI,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IACtE,CAAC;AACF,CAAC;AAED,8FAA8F;AAC9F,MAAM,CAAC,KAAK,UAAU,OAAO,CAAI,SAA2B;IAC3D,IAAI,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,EAAE,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;IACtE,CAAC;AACF,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC7C,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * When a Runtime's loggers stop accepting entries.
3
+ *
4
+ * Disposal begins by aborting `lifecycle.signal`, then runs every plugin's
5
+ * `onDispose` in reverse dependency order, so a plugin that depends on Logging
6
+ * finalizes while Logging is still open and may log while it does. Emission
7
+ * therefore stays open through finalization and closes once Logging's own
8
+ * finalization ran on the Root (its plugin's or the host preparation plugin's
9
+ * `onDispose`), or once the handed runtime's own lifecycle phase is
10
+ * `disposed`.
11
+ *
12
+ * Two granularities, on purpose. The close Logging's finalization records is
13
+ * the Root's (`loggingRootOf(runtime)`): the Root, its views and every reload
14
+ * generation it still holds refuse from then on, because the services they
15
+ * borrow are being finalized. A runtime's own `disposed` phase is that
16
+ * lifecycle's: a retired generation refuses on its own, and its retirement
17
+ * never closes the Root or the generation now serving.
18
+ */
19
+ import type { RuntimeRef } from '@vibesdotdev/kernel';
20
+ /**
21
+ * Logging's finalization on `runtime` ran: its Root's loggers refuse every
22
+ * later entry. It closes only a finalizing lifecycle. On a live Runtime
23
+ * (Logging retracted by `retractPlugin`, or a replaced Logging retiring with
24
+ * its reload generation, while the Root keeps running) it records nothing, so
25
+ * the Root's later disposal opens a full finalization window again.
26
+ */
27
+ export declare function closeLoggingEmission(runtime: RuntimeRef): void;
28
+ /**
29
+ * True once `runtime` no longer accepts log entries: once Logging finalized
30
+ * its Root, and always once the runtime's own lifecycle is `disposed`; never
31
+ * otherwise, so a live or finalizing runtime of an open Root still emits.
32
+ */
33
+ export declare function isLoggingEmissionClosed(runtime: RuntimeRef): boolean;
34
+ //# sourceMappingURL=emission-window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emission-window.d.ts","sourceRoot":"","sources":["../../src/core/emission-window.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAGpE"}
@@ -0,0 +1,25 @@
1
+ import { loggingRootOf } from "./root-identity.js";
2
+ const closedRoots = new WeakSet();
3
+ /**
4
+ * Logging's finalization on `runtime` ran: its Root's loggers refuse every
5
+ * later entry. It closes only a finalizing lifecycle. On a live Runtime
6
+ * (Logging retracted by `retractPlugin`, or a replaced Logging retiring with
7
+ * its reload generation, while the Root keeps running) it records nothing, so
8
+ * the Root's later disposal opens a full finalization window again.
9
+ */
10
+ export function closeLoggingEmission(runtime) {
11
+ if (runtime.lifecycle.phase === 'live')
12
+ return;
13
+ closedRoots.add(loggingRootOf(runtime));
14
+ }
15
+ /**
16
+ * True once `runtime` no longer accepts log entries: once Logging finalized
17
+ * its Root, and always once the runtime's own lifecycle is `disposed`; never
18
+ * otherwise, so a live or finalizing runtime of an open Root still emits.
19
+ */
20
+ export function isLoggingEmissionClosed(runtime) {
21
+ if (closedRoots.has(loggingRootOf(runtime)))
22
+ return true;
23
+ return runtime.lifecycle.phase === 'disposed';
24
+ }
25
+ //# sourceMappingURL=emission-window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emission-window.js","sourceRoot":"","sources":["../../src/core/emission-window.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,WAAW,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAmB;IACvD,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM;QAAE,OAAO;IAC/C,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAmB;IAC1D,IAAI,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK,UAAU,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Endpoint echoes. A configured endpoint may carry credentials in its userinfo
3
+ * (`user:password@host`) or query (`?token=...`). Everything Logging logs,
4
+ * reports or returns about an endpoint passes through these schemas, so only
5
+ * scheme, host, port and path are ever echoed. Path segments are kept (they
6
+ * name the collector route); a secret does not belong in a path.
7
+ */
8
+ import * as z from 'zod/v4';
9
+ import { type LoggedError } from './redact.ts';
10
+ /** What an endpoint that is not a URL echoes as: its text could be anything, so none of it is shown. */
11
+ export declare const UNPARSEABLE_ENDPOINT = "[unparseable-endpoint]";
12
+ /** An endpoint reduced to the parts that are safe to echo: userinfo, query and fragment are dropped. Any other value refuses as a `ZodError`. */
13
+ export declare const RedactedEndpointSchema: z.ZodPipe<z.ZodCustom<string, string>, z.ZodTransform<string, string>>;
14
+ /**
15
+ * Query parameter names whose value is a credential (case-insensitive). The
16
+ * rule is the log redaction's own: every name `isSecretKey` calls secret (so
17
+ * the two share one credential-word list, `CREDENTIAL_KEY_WORDS`), plus
18
+ * the names a URL uses for a credential that a log key does not (`code`,
19
+ * `session`, `sid`, `sig`) and any name ending in `_key` or `-key`. This list
20
+ * names the common ones; every one of them is a credential under that rule.
21
+ * Other parameters (`format=json`, `v=1`) are not credentials, so their values
22
+ * are not matched on their own; the whole query still is.
23
+ */
24
+ export declare const CREDENTIAL_QUERY_PARAMETER_NAMES: readonly ["token", "key", "apikey", "api_key", "access_token", "secret", "sig", "signature", "password", "pass", "pwd", "auth", "authorization", "code", "session", "sessionid", "sid", "jwt", "bearer", "credential"];
25
+ /** Below this length a fragment is matched only as a whole token; at or above it, anywhere. */
26
+ export declare const SUBSTRING_FRAGMENT_MIN_LENGTH = 4;
27
+ /** What a response-derived text becomes when it cannot be scrubbed (not a string, or the scrubber cannot be built): none of it is shown. */
28
+ export declare const UNSCRUBBABLE_TEXT = "[unscrubbable-text]";
29
+ /**
30
+ * A text a peer of `endpoint` controls (a collector's HTTP reason phrase, a
31
+ * header or body excerpt), with the endpoint's credentials removed by the same
32
+ * one-pass scrubber as a failure description. A collector can echo the request
33
+ * line (`401 rejected POST /v1/logs?token=...`), so such text is never logged,
34
+ * reported or attributed raw. `secrets` are the secret values the request
35
+ * carried beside the endpoint (its header values); each is removed the same way.
36
+ * It never throws: a value that is not a string, or a scrubber that cannot be
37
+ * built, becomes {@link UNSCRUBBABLE_TEXT}.
38
+ */
39
+ export declare function createEndpointTextSchema(endpoint: string, secrets?: readonly string[]): z.ZodType<string>;
40
+ /** What a failure is described as when its description cannot be scrubbed: no value of it is shown. */
41
+ export declare const UNSCRUBBABLE_FAILURE_MESSAGE = "The failure could not be described without its endpoint credentials, so none of its text is shown.";
42
+ /**
43
+ * A schema describing any thrown value that failed while using `endpoint`, with the
44
+ * endpoint's credentials removed from every string value the description carries
45
+ * (message, stack, fields such as a runtime's request `path`, details, cause chain,
46
+ * aggregate members), and every value in `secrets` (the header values a request
47
+ * carried: a transport failure can echo one, e.g. `Header 'Authorization' has
48
+ * invalid value: 'Bearer ...'`) removed the same way, so a failure from a
49
+ * credentialed request carries none of its header values. It never throws: a value that cannot be described and
50
+ * scrubbed is described by name and a fixed message, so the caller's own failure
51
+ * (a fetch error, a write's re-buffering) is never replaced by a scrub failure.
52
+ */
53
+ export declare function createEndpointFailureSchema(endpoint: string, secrets?: readonly string[]): z.ZodType<LoggedError>;
54
+ //# sourceMappingURL=endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/core/endpoint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAgE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7G,wGAAwG;AACxG,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAE7D,iJAAiJ;AACjJ,eAAO,MAAM,sBAAsB,wEAUjC,CAAC;AAgCH;;;;;;;;;GASG;AACH,eAAO,MAAM,gCAAgC,wNAGnC,CAAC;AAsDX,+FAA+F;AAC/F,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAkC/C,4IAA4I;AAC5I,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,SAAS,MAAM,EAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAO7G;AA2CD,uGAAuG;AACvG,eAAO,MAAM,4BAA4B,uGAAuG,CAAC;AAmBjJ;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,SAAS,MAAM,EAAO,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAYrH"}